
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

main {
    display: block
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

details {
    display: block
}

summary {
    display: list-item
}

template {
    display: none
}

[hidden] {
    display: none
}
.glide{position:relative;width:100%;box-sizing:border-box}.glide *{box-sizing:inherit}.glide__track{overflow:hidden}.glide__slides{position:relative;width:100%;list-style:none;backface-visibility:hidden;transform-style:preserve-3d;touch-action:pan-Y;overflow:hidden;padding:0;white-space:nowrap;display:flex;flex-wrap:nowrap;will-change:transform}.glide__slides--dragging{user-select:none}.glide__slide{width:100%;height:100%;flex-shrink:0;white-space:normal;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.glide__slide a{user-select:none;-webkit-user-drag:none;-moz-user-select:none;-ms-user-select:none}.glide__arrows{-webkit-touch-callout:none;user-select:none}.glide__bullets{-webkit-touch-callout:none;user-select:none}.glide--rtl{direction:rtl}

/* RESET */

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    border: 0;
    outline: 0;
}

body {
    font-weight: normal;
    line-height: 1;
    direction: ltr;
}

nav ul {
    list-style: none;
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

table {
    border-spacing: 0;
    border-collapse: collapse;
}

hr {
    display: block;
    height: 1px;
    margin: 1em 0;
    padding: 0;
    border: 0;
    border-top: 1px solid #ccc;
}

input,
select {
    vertical-align: middle;
}

/* DEFAULT WP ALIGNMENT CLASSES */

.aligncenter,
.alignleft,
.alignright {
    display: block;
    padding: 0;
}

.aligncenter {
    float: none;
    margin: .5em auto 1em;
}

.alignright {
    float: right;
    margin: .5em 0 1em 1em;
}

.alignleft {
    float: left;
    margin: .5em 1em 1em 0;
}

.wp-block-image figure.alignleft {
    width: 100%;
}

.wp-block-image figure.alignleft a {
    display: inline-block;
}

.wp-block-image figure.alignleft img {
    width: auto;
    height: auto;
}

.wp-caption {
    text-align: center;
}

.wp-caption img {
    display: inline;
}

.wp-caption p.wp-caption-text {
    margin: 5px 0 0;
    padding: 0;
    font-size: 75%;
    font-weight: 100;
    font-style: italic;
    color: #ddd;
    text-align: center;
}

/* GLOBAL */

:root {
    --tpt-light-blue: #21afe4;
    --tpt-text-color: #151209;
    --tpt-text-font: "HK Grotesk", sans-serif;
    --tpt-title-font: "bebas-neue-pro-expanded", sans-serif;
}

:focus {
    outline: none;
}

::-moz-focus-inner {
    border: 0;
}

strong {
    font-weight: bold;
}

.hide-text {
    overflow: hidden;
    text-indent: 100%;
    text-wrap: nowrap;
    white-space: nowrap;
}

a,
a:active,
a:focus,
a:hover,
a:visited {
    color: inherit;
    text-decoration: none;
}

html {
    scroll-behavior: smooth;
    height: 100%;
}

body {
    font-family: var(--tpt-text-font);
    font-size: 16px;
    font-weight: normal;
    line-height: 20px;
    color: var(--tpt-text-color);
    background-color: var(--tpt-background-color);
}

body.no-scroll {
    overflow-y: hidden;
}

body .wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main {
    position: relative;
    flex: 1;
    min-height: 80vh;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="search"] {
    border-radius: 0;
    -webkit-appearance: none;
            appearance: none;
}

iframe {
    width: 100%;
}

.mobile-only {
    display: none;
}

/* TYPOGRAPHY */

@font-face {
    font-family: "HK Grotesk";
    src: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../fonts/HKGrotesk-Bold.woff2) format("woff2"), url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../fonts/HKGrotesk-Bold.woff) format("woff");
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "HK Grotesk";
    src: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../fonts/HKGrotesk-Italic.woff2) format("woff2"), url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../fonts/HKGrotesk-Italic.woff) format("woff");
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "HK Grotesk";
    src: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../fonts/HKGrotesk-BoldItalic.woff2) format("woff2"), url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../fonts/HKGrotesk-BoldItalic.woff) format("woff");
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "HK Grotesk";
    src: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../fonts/HKGrotesk-Medium.woff2) format("woff2"), url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../fonts/HKGrotesk-Medium.woff) format("woff");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "HK Grotesk";
    src: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../fonts/HKGrotesk-MediumItalic.woff2) format("woff2"), url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../fonts/HKGrotesk-MediumItalic.woff) format("woff");
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "HK Grotesk";
    src: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../fonts/HKGrotesk-Light.woff2) format("woff2"), url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../fonts/HKGrotesk-Light.woff) format("woff");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "HK Grotesk";
    src: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../fonts/HKGrotesk-SemiBold.woff2) format("woff2"), url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../fonts/HKGrotesk-SemiBold.woff) format("woff");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "HK Grotesk";
    src: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../fonts/HKGrotesk-LightItalic.woff2) format("woff2"), url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../fonts/HKGrotesk-LightItalic.woff) format("woff");
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "HK Grotesk";
    src: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../fonts/HKGrotesk-Regular.woff2) format("woff2"), url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../fonts/HKGrotesk-Regular.woff) format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "HK Grotesk";
    src: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../fonts/HKGrotesk-SemiBoldItalic.woff2) format("woff2"), url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../fonts/HKGrotesk-SemiBoldItalic.woff) format("woff");
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

/* HEADER */

.gcp-wrap {
    position: relative;
}

.gcp {
    position: relative;
    display: block;
    padding: 8px 50px 8px 20px;
    color: white;
    background-color: var(--tpt-global-coupon-promo-color);
}

.gcp .gcp-content {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    font-family: var(--tpt-title-font);
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .2px;
    text-transform: uppercase;
}

.gcp .gcp-content .gcp-title {
    margin-right: 4px;
}

.gcp .gcp-content .gcp-icon {
    margin-right: 2px;
    transform: translateY(2px);
}

.gcp .gcp-content .gcp-details {
    font-family: var(--tpt-text-font);
    font-size: 18px;
    font-weight: 500;
    text-transform: none;
}

.gcp .gcp-content .gcp-code {
    padding: 3px 9px;
    font-family: var(--tpt-title-font);
    text-align: center;
    background-color: rgba(0, 0, 0, .1);
    border-radius: 4px;
    transition: background-color .1s ease-in-out;
}

.gcp .gcp-content > svg {
    transform: translateX(2px);
    transition: transform .1s ease-in-out;
}

.gcp-close {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0 20px;
    cursor: pointer;
}

.top-bar {
    display: block;
    height: 40px;
    padding: 0 8.33%;
    color: #362812;
    text-align: right;
    background-color: var(--tpt-background-color);
}

.top-bar .menu-pre-header-links-container {
    display: inline;
}

.top-bar .menu-pre-header-links-container ul {
    display: inline-block;
    padding: 9px 0;
}

.top-bar .menu-pre-header-links-container ul li {
    display: inline-block;
    margin-top: 1px;
    padding: 0 12px 0 8px;
    vertical-align: middle;
    list-style: none;
    border-right: 1px solid #b1b1b1;
}

.top-bar .menu-pre-header-links-container ul li:last-of-type {
    padding-right: 0;
    border: none;
}

.top-bar .menu-pre-header-links-container ul li a {
    font-size: 14px;
    line-height: 16px;
    color: var(--tpt-text-color);
    text-transform: capitalize;
}

.currency-selector {
    position: relative;
    display: inline-block;
    font-size: 14px;
    line-height: 16px;
    color: var(--tpt-text-color);
    text-transform: capitalize;
}

.currency-selector .dropdown-checkbox {
    display: none;
}

.currency-selector .dropdown-label {
    display: inline-block;
    margin-top: 1px;
    padding-right: 24px;
    line-height: 20px;
    vertical-align: middle;
    list-style: none;
    background-image: url("https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/chev-down-151209.svg");
    background-repeat: no-repeat;
    background-position: calc(100% - 6px) center;
    background-size: 12px;
    border-right: 1px solid #b1b1b1;
    cursor: pointer;
}

.currency-selector .dropdown-content {
    position: absolute;
    z-index: 999999;
    display: none;
    margin-top: 8px;
    background-color: white;
    box-shadow: 0 7px 12px 0 rgba(86, 72, 58, .15);
}

.currency-selector.open .dropdown-content {
    display: block;
}

.currency-selector .dropdown-option {
    display: block;
    padding: 12px;
    color: black;
    text-align: left;
    text-decoration: none;
    text-wrap: nowrap;
    white-space: nowrap;
    transition: background-color .1s ease-in-out;
    cursor: pointer;
}

.currency-selector .dropdown-label > span,
.currency-selector .dropdown-option > span {
    margin-right: 8px;
    font-size: 20px;
    vertical-align: bottom;
}

.currency-selector .dropdown-checkbox:checked + .dropdown-label + .dropdown-content {
    display: block;
}

.currency-selector-mobile {
    margin-bottom: 60px;
}

.currency-selector-mobile .currency-selector .dropdown-label {
    display: inline-block;
    padding: 10px 24px 10px 4px;
    border: none;
}

.currency-selector-mobile .currency-selector {
    display: block;
    width: 100%;
    font-family: var(--tpt-text-font);
    font-size: 16px;
    font-weight: normal;
    line-height: 24px;
}

.currency-selector-mobile .currency-selector .dropdown-content {
    position: relative;
    background-color: unset;
    box-shadow: unset;
}

.currency-selector img {
    width: auto;
    height: 16px;
    margin-right: 4px;
    vertical-align: text-bottom;
    border: 1px solid rgba(0, 0, 0, .1);
    border-radius: 3px;
}

.mobile-header {
    position: fixed;
    z-index: 1000000;
    top: 0;
    display: none;
    align-content: space-between;
    box-sizing: border-box;
    width: 100%;
    min-height: 64px;
    padding: 10px 5% 10px calc(8.33% - 6px - 7px + 4px);
    background-color: var(--tpt-secondary-color);
}

.mobile-header .back-title {
    position: absolute;
    top: 50%;
    display: none;
    padding-right: 25px;
    font-family: var(--tpt-title-font);
    font-size: 25px;
    font-weight: bold;
    font-style: normal;
    line-height: 28px;
    letter-spacing: .01em;
    color: #292500;
    text-transform: uppercase;
    transform: translateY(-50%);
    cursor: pointer;
}

.mobile-header .back-title::before {
    margin-right: 20px;
    font-size: 44px;
    font-weight: bold;
    color: var(--tpt-text-color);
    vertical-align: sub;
    content: "\02039";
}

.mobile-header ul {
    display: flex;
    flex-direction: row-reverse;
    align-content: space-between;
    align-items: center;
    height: 44px;
    list-style: none;
}

.mobile-header ul li {
    flex: 1;
    text-align: center;
}

.mobile-header ul li:first-of-type {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.mobile-header ul li a img,
.mobile-header ul li > div {
    width: 22px;
    height: auto;
}

.mobile-header ul li a.mob-wishlist {
    margin-left: 15px;
}

.mobile-header ul li a.mob-header-logo {
    display: block;
    width: 130px;
    height: 64px;
    margin: 0 auto;
    background-color: var(--tpt-logo-color);
}

.mobile-header ul li a.mob-header-logo img {
    display: block;
    width: auto;
    height: 92px;
    margin: 0 auto;
    transform: translateY(-9px);
}

.mobile-header ul li .mob-hamburger {
    height: 22px;
    max-height: 22px;
    padding: 20px 0 20px 20px;
    cursor: pointer;
}

.mobile-header ul li.mob-close {
    position: absolute;
    top: 0;
    right: calc(5% - 5px);
    display: none;
    padding: 20px 0 20px 20px;
    font-size: 24px;
    cursor: pointer;
}

.mobile-header ul li .mob-user {
    display: none;
    height: 24px;
    padding: 20px 20px 20px 0;
    cursor: pointer;
}

header {
    position: relative;
    z-index: 140000;
    display: flex;
    justify-content: space-between;
    padding: 10px 8.33% 10px 8.33%;
    background-color: var(--tpt-secondary-color);
}

header nav {
    margin: auto 0;
}

header nav.mobile-only {
    display: none;
}

header .left-pane {
    display: flex;
    min-height: 68px;
}

header .left-pane .header-logo {
    margin-right: 7px;
}

header .left-pane .header-logo img {
    position: absolute;
    top: -43px;
    width: 180px;
    height: auto;
    padding: 5px 0;
}

header h1 {
    font-size: 54px;
}

header .tgpm-logo {
    position: absolute;
    z-index: 1000000;
    top: -40px;
    display: block;
    overflow: hidden;
    width: 198px;
    height: 183px;
    background-color: var(--tpt-logo-color);
}

header .tgpm-logo img {
    position: absolute;
    top: 12px;
}

header .tgpm-logo p {
    position: absolute;
    bottom: 0;
    padding: 10px 18px;
    font-family: var(--tpt-title-font);
    font-size: 24px;
    font-weight: 600;
    line-height: 36px;
    color: var(--tpt-logo-tagline-color);
    text-transform: uppercase;
}

.gradiant-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient( 357.1deg, rgba(0, 0, 0, .5) .04%, rgba(0, 0, 0, 0) 97.79%);
}

/* HEADER MENU */


/* Header Menu >> Level 1 */

header nav .nav-menu a[href="#"] {
    cursor: default;
}

header nav .nav-menu > div > ul > li {
    display: inline-block;
    margin: 0 0 0 30px;
    font-family: var(--tpt-title-font);
    font-size: 25px;
    font-weight: 700;
    line-height: 28px;
    letter-spacing: .01em;
    color: #292500;
    text-transform: uppercase;
    list-style: none;
}

header nav .nav-menu > div > ul > li.desktop-only {
    display: inline-block;
}

header nav .nav-menu > div > ul > li.mobile-only {
    display: none;
}

header nav .nav-menu > div > ul > li > a {
    position: relative;
}

header nav .nav-menu > div > ul > li.menu-item-has-children::after {
    display: inline-block;
    margin-left: 10px;
    color: #21afe4;
    transform: rotate(90deg);
    transform-origin: 45%;
    content: " \0203a";
    cursor: pointer;
}

header nav .nav-menu .menu-global-header-menu-container > ul > li > a::before {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background-color: #21afe4;
    transition: width .1s ease-in-out, left .1s ease-in-out;
    content: "";
}

header .menu-item.menu-item-object-destination.current-menu-item a::before {
    width: 100%;
}

/* Header Menu >> Level 2 */

header nav .nav-menu > div > ul > li > ul {
    position: absolute;
    z-index: 111000;
    top: 88px;
    left: 0;
    display: flex;
    justify-content: space-between;
    gap: 36px;
    box-sizing: border-box;
    width: 100%;
    margin-bottom: 14px;
    padding: 136px 8.33% 50px 8.33%;
    font-family: var(--tpt-text-font);
    color: #292500;
    text-transform: none;
    background-color: var(--tpt-background-color);
    box-shadow: 0 4px 6px -6px rgba(0, 0, 0, .32);
    transform: translateX(-100%);
    transition: transform .15s ease-in-out;
}

header nav .nav-menu > div > ul > li > ul > li {
    flex: 1;
}

header nav .nav-menu > div > ul > li > ul > li > a {
    display: block;
    margin-bottom: 8px;
    font-size: 18px;
    font-weight: 600;
    font-style: normal;
    line-height: 24px;
}

header nav .nav-menu > div > ul > li > ul > li.menu-page-title {
    position: absolute;
    top: 80px;
}

header nav .nav-menu > div > ul > li > ul > li.menu-page-title > a {
    font-family: var(--tpt-title-font);
    font-size: 26px;
    font-weight: 700;
    font-style: normal;
    line-height: 32px;
    letter-spacing: .26px;
    text-transform: uppercase;
}

header nav .nav-menu > div > ul > li > ul > li.menu-page-title > a > span {
    margin-left: 2px;
    color: #21afe4;
}

header nav .nav-menu > div > ul > li.active > ul {
    transform: translateX(0);
}

header nav .nav-menu > div > ul > li > ul > li.menu-right-col {
    margin-right: 0;
    padding-left: 30px;
    border-left: 1px solid #e0dede;
}

header nav .nav-menu > div > ul > li > ul > li.hide-label > a:first-of-type,
header nav .nav-menu > div > ul > li > ul > li.mobile-only-label > a:first-of-type {
    display: none;
}

/* Header Menu >> Level 3 */

header nav .nav-menu > div > ul > li > ul > li > ul > li {
    margin-bottom: 8px;
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    line-height: 24px;
}

header nav .nav-menu > div > ul > li > ul > li > ul > li.more-button {
    margin-top: 10px;
}

/* Menu Images */

header nav .nav-menu ul li a.menu-image {
    margin-bottom: 5px;
    font-size: 18px;
    line-height: 26px;
    text-align: left;
}

header nav .nav-menu ul li a img,
header nav .nav-menu ul li a.menu-image img {
    position: relative;
    display: block;
    object-fit: cover;
    width: 100%;
    max-width: 90vw;
    height: 140px;
    margin-bottom: 18px;
    border-radius: 3px;
}

header nav .nav-menu ul li a.menu-image .menu-image-title {
    margin-bottom: 8px;
}

header nav .nav-menu ul li a.menu-image span {
    position: relative;
    display: inline-block;
    padding-left: 0;
    text-align: left;
}

header nav .nav-menu ul li a.menu-image span:not(.description)::before {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background-color: #21afe4;
    transition: width .1s ease-in-out, left .1s ease-in-out;
    content: "";
}

header nav .nav-menu ul li a span.description {
    display: block;
    font-size: 14px;
    font-weight: normal;
    line-height: 20px;
}

header nav .nav-menu > div > ul > li > ul > li.menu-left-col.col-3 ul li a:not(.menu-image) span.description {
    margin-top: 16px;
}

header nav .nav-menu > div > ul > li > ul > li.flex {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* Header Link Buttons */

header nav .nav-menu li.menu-link-button {
    margin-top: 24px;
    padding: 0;
}

header nav .nav-menu ul li.menu-link-button a {
    display: inline-block;
    padding: 13px 16px 11px 16px;
    text-align: center;
    background-color: #21afe4;
}

header nav .nav-menu ul li.menu-link-button a::before {
    content: none;
}

header nav .nav-menu ul li.menu-link-button a span {
    font-family: var(--tpt-title-font);
    font-size: 22px;
    font-weight: 700;
    font-style: normal;
    line-height: 24px;
    letter-spacing: .44px;
    color: white;
    text-align: center;
    text-transform: uppercase;
    text-wrap: nowrap;
}

header nav .nav-menu ul li.menu-link-button a span::after {
    display: inline-block;
    margin-left: 5px;
    padding-right: 5px;
    transition: margin .1s ease-in-out, padding .1s ease-in-out;
    content: " \0203a";
}

/* DESTINATION MENU */

.sticky-menu {
    position: sticky;
    z-index: 130000;
    top: 0;
    background: white;
}

.sticky-menu.sticky {
    box-shadow: 0 5px 15px -15px black;
}

.destination-menu {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    box-sizing: border-box;
    width: auto;
    max-height: 56px;
    padding-right: 8.33%;
    padding-left: 8.33%;
    background-color: white;
    border: 1px solid #dad9c5;
}

.destination-menu ul li {
    display: inline-block;
    padding: 15px 12px;
    font-size: 20px;
    font-weight: 700;
    font-style: normal;
    line-height: 24px;
    color: #3b2707;
    text-align: center;
    text-transform: uppercase;
    border-left: 1px solid #dad9c5;
}

.destination-menu ul li a {
    position: relative;
    margin: 0;
    font-family: var(--tpt-title-font);
    font-size: 20px;
    font-weight: 700;
    font-style: normal;
    line-height: 24px;
    text-transform: uppercase;
}

.destination-menu ul li a::after {
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 0;
    height: 2px;
    background-color: #21afe4;
    transition: width .1s ease-in-out, left .1s ease-in-out;
    content: "";
}

.destination-menu ul li:last-of-type {
    padding-right: 0;
}

.destination-menu ul li:last-of-type a {
    margin-right: 0;
}

.destination-menu .menu-touring-platform-tours-container,
.destination-menu .menu-touring-platform-hotels-container {
    overflow-x: scroll;
    -ms-overflow-style: none;

    scrollbar-width: none;
}

.destination-menu .menu-touring-platform-tours-container::-webkit-scrollbar,
.destination-menu .menu-touring-platform-hotels-container::-webkit-scrollbar {
    display: none;
}

.destination-menu .menu-touring-platform-tours-container ul#menu-touring-platform-tours,
.destination-menu .menu-touring-platform-hotels-container ul#menu-touring-platform-hotels {
    text-wrap: nowrap;
    white-space: nowrap;
}

/* BREADCRUMBS */

.breadcrumbs {
    width: 83.34%;
    margin-top: 16px;
    margin-bottom: 16px;
    padding-right: 8.33%;
    padding-left: 8.33%;
    font-size: 16px;
    font-weight: 500;
    font-style: italic;
    line-height: 24px;
    color: #3d3700;
}

.breadcrumbs > a {
    position: relative;
    margin-right: 6px;
    margin-left: 6px;
}

.breadcrumbs > a:first-of-type {
    margin-left: 0;
}

.breadcrumbs.no-dest-menu {
    margin-top: 72px;
}

.breadcrumbs > a::after {
    content: "";
}

/* PAGINATION */

nav.pagination,
.paginationjs-pages {
    position: relative;
    display: block;
    margin-top: 20px;
    margin-bottom: 100px;
    font-family: var(--tpt-title-font);
    font-size: 20px;
    font-weight: 600;
    line-height: 24px;
    text-align: center;
    text-transform: uppercase;
}

nav.pagination li a,
nav.pagination li.active a,
nav.pagination li.disabled,
.paginationjs-pages li a,
.paginationjs-pages.paginatio li.active a {
    color: white;
    text-decoration: none;
}

.paginationjs-pages li.disabled,
.paginationjs-pages li.disabled a {
    padding: 0;
    color: var(--tpt-text-color);
    text-decoration: none;
    background: none;
    cursor: default;
}

nav.pagination li,
.paginationjs-pages li {
    display: inline;
}

nav.pagination li a,
nav.pagination li.active a,
nav.pagination li.disabled,
.paginationjs-pages li a,
.paginationjs-pages li.active a {
    display: inline-block;
    margin: 8px 4px;
    padding: 13px 10px 11px 13px;
    color: white;
    text-align: center;
    text-transform: uppercase;
    background-color: #21afe4;
    border: none;
    transition: background-color .1s ease-in-out;
    cursor: pointer;
}

nav.pagination li.active a,
.paginationjs-pages li.active a {
    text-decoration: underline;
    background-color: #0ba5d2;
}

nav.pagination li.pagination-prev a::before,
.paginationjs-pages li.pagination-prev a::before {
    display: inline-block;
    margin-right: 5px;
    padding-left: 5px;
    transition: margin .1s ease-in-out, padding .1s ease-in-out;
    content: "\02039 ";
}

nav.pagination li.pagination-next a::after,
.paginationjs-pages li.pagination-next a::after {
    display: inline-block;
    margin-left: 5px;
    padding-right: 5px;
    transition: margin .1s ease-in-out, padding .1s ease-in-out;
    content: " \0203a";
}

/* HOMEPAGE */


/* HOMEPAGE >> Travel Style Selector */

.travel-style-selector-search {
    padding-right: 40px;
    background-color: var(--tpt-secondary-color);
}

.travel-style-selector-search .search-header {
    position: relative;
    display: block;
    box-sizing: border-box;
    height: 640px;
    min-height: 540px;
    padding: 15vh 45px 40px 60px;
}

.travel-style-selector-search .search-header > .video-wrap,
.travel-style-selector-search .search-header > .video-wrap video {
    position: absolute;
    top: 0;
    right: 0;
}

.travel-style-selector-search .search-header > img {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    object-fit: cover;
    object-position: bottom;
    height: 100%;
    max-height: none;
    margin-bottom: 0;
}

.travel-style-selector-search .search-header > .no-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    max-width: unset;
}

.travel-style-selector-search .search-header h4 {
    position: relative;
    max-width: 28vw;
    margin-bottom: 50px;
    font-size: 30px;
    line-height: 33px;
}

.travel-style-selector-search .search-header .search-header-decoration {
    position: absolute;
    top: -1px;
    left: 0;
    width: 0;
    height: 0;
    padding-left: 30vw;
    border-right: 235px solid transparent;
    border-bottom-width: calc(640px + 1px);
    border-bottom-style: solid;
    border-bottom-color: var(--tpt-secondary-color);
}

.travel-style-selector-search .search-header .search-header-decoration::before {
    position: absolute;
    bottom: calc(-640px - 1px);
    left: 0;
    width: 0;
    height: 0;
    border-width: 4vh 0 0 30vw;
    border-style: solid;
    border-color: transparent transparent transparent #71d1fe;
    content: "";
}

.travel-style-selector-search .search-header .search-header-decoration::after {
    position: absolute;
    right: -236px;
    bottom: calc(-640px - 1px);
    width: 0;
    height: 0;
    border-width: 0 24px 6.85vh 30vw;
    border-style: solid;
    border-color: transparent transparent #21afe4 transparent;
    content: "";
}

.travel-style-selector-search .search-forms {
    box-sizing: border-box;
    max-width: 800px;
    font-size: 20px;
    line-height: 28px;
}

.travel-style-selector-search .search-header h1 {
    display: block;
    max-width: 550px;
    margin-top: 5vh;
    margin-bottom: 18px;
    padding: 0;
    font-size: 54px;
    line-height: 64px;
    color: var(--tpt-text-color);
    text-align: left;
    background: none;
}

.travel-style-selector-search .search-header h1::after {
    content: none;
}

.travel-style-selector-search .search-header > div {
    position: relative;
    width: 32vw;
    max-width: 600px;
    font-size: 20px;
    line-height: 24px;
    color: var(--tpt-text-color);
}

.travel-style-selector-search .search-header > div:first-of-type {
    margin-bottom: 40px;
}

.travel-style-selector-search .search-header .room-search {
    padding: 0;
    background-color: transparent;
    border: 0;
}

.travel-style-selector-search .search-header .room-search h6,
.travel-style-selector-search .search-header .room-search .guest-selector {
    display: none;
}

.travel-style-selector-search .search-forms form {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 10px;
    width: 100%;
    margin-bottom: 10px;
}

.travel-style-selector-search .search-forms .search-box.search-hotels form {
    flex-wrap: wrap;
}

.travel-style-selector-search .search-forms .radio-selector {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.travel-style-selector-search .search-forms .radio-selector .form-select {
    position: relative;
    display: inline-block;
    margin-left: 5px;
    font-size: 18px;
    line-height: 24px;
    text-transform: capitalize;
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 16px;
    cursor: pointer;
}

.travel-style-selector-search .search-forms .radio-selector .form-select::before {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 3px;
    background-color: #21afe4;
    transition: width .1s ease-in-out, left .1s ease-in-out;
    content: "";
}

.travel-style-selector-search .search-forms .radio-selector input[type="radio"]:checked + .form-select::before {
    width: 100%;
}

.travel-style-selector-search .search-forms form .daterange-selector-wrap {
    display: flex;
    align-items: stretch;
    gap: 10px;
    width: 100%;
}

.travel-style-selector-search .search-forms form .daterange-selector-wrap > .daterange-selector {
    display: flex;
    width: 100%;
}

.travel-style-selector-search .search-forms form input,
.travel-style-selector-search .search-forms form .daterange-selector .field-box {
    position: relative;
    overflow: hidden;
    flex-grow: 8;
    box-sizing: border-box;
    max-width: 100%;
    padding: 10px 11px;
    font-family: var(--tpt-text-font);
    font-size: 18px;
    line-height: 26px;
    color: var(--tpt-text-color);
    text-overflow: ellipsis;
    text-wrap: nowrap;
    white-space: nowrap;
    background-color: white;
    border: 1px solid #bebebe;
}

.travel-style-selector-search .search-forms form .daterange-selector .field-box {
    flex: 1 1 100%;
}

.travel-style-selector-search .search-forms .search-box {
    display: none;
    margin-top: 20px;
}

.travel-style-selector-search .search-forms .search-box.active {
    display: block;
}

.travel-style-selector-search .search-forms .search-box .room-search > p {
    display: none;
}

.travel-style-selector-search .search-forms .not-ready-message {
    display: none;
    margin-bottom: 20px;
    padding: 6px 12px;
    font-size: 16px;
    color: white;
    background: rgba(0, 0, 0, .75);
    border-radius: 5px;
}

/***/

.travel-style-selector-search .room-search .hotel-fields .field-box {
    margin-right: 10px;
    margin-bottom: 0;
    padding: 10px 11px;
}

.travel-style-selector-search .room-search .hotel-fields .field-box:not(.td-selector) {
    width: calc(30vw - 10px - 20px - 4px - 126px);
    margin-top: 10px;
}

.search-box.search-tours > form > div > button {
    position: relative;
    z-index: 1;
    margin-bottom: 14px;
}

.travel-style-selector-search .search-forms form select option {
    font-family: var(--tpt-text-font);
    font-size: 18px;
    color: var(--tpt-text-color);
}

.travel-style-selector-search .search-forms form select:invalid,
.travel-style-selector-search .search-forms form select option[value=""] {
    color: #bebebe;
}

.travel-style-selector-search .search-forms form input[type="submit"] {
    flex-grow: 1;
    padding: 15px 25px;
    font-family: var(--tpt-title-font);
    font-size: 20px;
    font-weight: 600;
    line-height: 24px;
    color: white;
    text-transform: uppercase;
    background-color: #21afe4;
    border: none;
    cursor: pointer;
}

.travel-style-selector-search .room-search .hotel-fields .tj-button1.choose-dates {
    margin-top: 10px;
    margin-bottom: 0;
    padding-top: 12px;
    padding-bottom: 12px;
}

.travel-style-selector-search .room-search .hotel-fields .destination-selector .field-box {
    width: 30vw;
}

.home .featured-articles-glide h4 {
    width: fit-content;
    font-size: 40px;
    line-height: 50px;
}

.home .decorated-content-box .decorated-content > h4 {
    width: fit-content;
}

.home p.pb-subtitle {
    margin-right: unset;
    margin-left: unset;
    text-align: left;
}

.tos-list {
    margin-left: 30px;
}

.tos-table table {
    background-color: white;
}

.tos-table table tr td {
    padding: 20px;
}

/* HOMEPAGE >> Travel Dashboard */

.travel-dashboard {
    margin-top: 60px;
    margin-bottom: 120px;
}

.travel-dashboard > h1 {
    display: inline-block;
    margin-bottom: 35px;
    padding: 0;
    font-size: 40px;
    line-height: 50px;
    color: #21afe4;
    background: none;
}

.travel-dashboard > p {
    max-width: 1066px;
    margin-bottom: 30px;
    font-family: var(--tpt-text-font);
    font-size: 29px;
    line-height: 36px;
    letter-spacing: .75px;
    color: var(--tpt-text-color);
}

.travel-dashboard > p a {
    text-decoration: underline;
}

.travel-dashboard .info-blocks .row {
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
    width: calc(100% + 34px);
    margin-left: -17px;
}

.travel-dashboard .info-blocks .row .column {
    display: inline-block;
    flex: 1 0 30%;
    box-sizing: border-box;
    width: 30%;
    margin: 17px;
    padding: 20px;
    text-align: right;
    background-color: #f5f5f5;
}

.travel-dashboard .info-blocks .row .column img {
    float: left;
    width: 24px;
    height: 24px;
    margin-right: 8px;
}

.travel-dashboard .info-blocks .row .column h6 {
    margin-bottom: 8px;
    font-size: 20px;
    line-height: 27px;
    text-align: left;
    text-transform: uppercase;
}

.travel-dashboard .info-blocks .row .column p {
    font-size: 18px;
    line-height: 26px;
    text-align: left;
}

.travel-dashboard a ::after {
    color: #a7d1df;
}

.travel-dashboard a h3 {
    display: inline;
    font-family: var(--tpt-text-font);
    font-size: 19px;
    font-weight: bold;
    line-height: 26px;
    text-transform: capitalize;
}

.travel-dashboard a h3::after {
    content: unset;
}

.travel-dashboard ul,
.travel-dashboard ul li {
    margin-bottom: 0;
}

/* Featured Items Repeater */

.featured-items-block {
    margin-top: 40px;
    margin-bottom: 40px;
}

.featured-items-block h4 {
    margin-bottom: 16px;
    font-size: 36px;
    font-weight: 700;
    font-style: normal;
    line-height: 36px;
    color: #21afe4;
}

/* CONTENT */

h1,
h2,
h3,
h4,
h5,
h6 {
    word-wrap: break-word;
    font-family: var(--tpt-title-font);
    font-weight: 600;
    text-decoration: none;
    text-transform: uppercase;
}

h1 {
    position: relative;
    display: block;
    margin-bottom: 45px;
    font-size: 54px;
    line-height: 60px;
    color: var(--tpt-text-color);
    text-align: left;
}

.tax-type h1 {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    max-width: 410px;
    font-size: 54px;
    line-height: 60px;
    color: white;
    text-align: left;
    text-shadow: rgba(0, 0, 0, .16) 0 3px 3px;
    background: none;
}

h2 {
    position: relative;
    display: block;
    margin-bottom: 40px;
    font-size: 42px;
    line-height: 52px;
    color: var(--tpt-text-color);
    text-align: left;
}

h3 {
    position: relative;
    display: inline-block;
    margin-bottom: 20px;
    font-size: 32px;
    line-height: 40px;
    color: var(--tpt-text-color);
    text-align: left;
}

h3::after {
    position: absolute;
    right: 13%;
    bottom: -7px;
    left: 0;
    width: 30%;
    height: 3px;
    background-color: #21afe4;
    transition: width .1s ease-in-out, left .1s ease-in-out;
    content: "";
}

.featured-item-wrap.travel-style h3::after {
    background-color: #21afe4;
}

h4 {
    margin-bottom: 20px;
    font-size: 32px;
    line-height: 34px;
    color: var(--tpt-text-color);
    text-align: left;
}

h5 {
    margin-bottom: 10px;
    font-size: 32px;
    line-height: 34px;
    color: var(--tpt-text-color);
}

h6 {
    margin-bottom: 10px;
    font-size: 22px;
    line-height: 24px;
    color: var(--tpt-text-color);
}

.double-dotted {
    display: inline-block;
    border-bottom: 2px dotted;
}

.double-dotted::after {
    display: block;
    width: 100%;
    margin-bottom: 5px;
    border-bottom: 2px dotted;
    content: "";
}

.single-tours h2,
.single-hotels h2,
.single-tours h4,
.single-hotels h4 {
    margin-bottom: 50px;
    padding: 0;
    font-size: 36px;
    font-weight: 700;
    font-style: normal;
    line-height: 50px;
    letter-spacing: .02em;
    color: #21afe4;
    text-decoration: underline 2px;
    text-transform: uppercase;
    border: none;

    text-underline-offset: 7px;
}

.single-tours h2,
.single-tours h4 {
    text-align: center;
}

article:not(.homepage-template),
.editorial {
    position: relative;
    padding-top: 40px;
    font-size: 20px;
    line-height: 28px;
}

body.page-template-default article {
    padding-top: 0;
}

article:not(.homepage-template) p a:not(.tj-button1),
article.post ul a,
.editorial p a {
    color: #21afe4;
    text-decoration: underline;
    transition: color .1s ease-in-out;
}

article img,
article p img {
    display: block;
    object-fit: cover;
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: 60vh;
}

article figure,
article p figure {
    margin-bottom: 24px;
}

article img.aligncenter,
article p img.aligncenter {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: none;
    margin: 0 auto;
}

figure.wp-block-image.contain img {
    object-fit: contain;
}

figure.wp-block-image.cover img {
    object-fit: cover;
}

article img.blowout {
    /* We want this type of image to escape the container: <article> width is 7.72%, and it's padded 14.64% on both directions. */
    /* So we need to set the size relative to the container, and also set relative negative marigns for alignment */
    /*
    width: calc(100% * (1 / .7072) - 3% * (1 / .7072));
    margin-bottom: 40px;
    margin-left: calc(-14.64% * (1 / .7072) + 1.5% * (1 / .7072));
    */
    width: calc(100% * (1 / .852) - 6% * (1 / .852));
    margin-left: calc(-8.33% * (1 / .852) + 3% * (1 / .852));
}

.single-post article figure img {
    min-height: 480px;
}

article.type-post h1 {
    display: inline-block;
    max-width: 1200px;
    margin-bottom: 24px;
    font-family: var(--tpt-title-font);
    font-size: 55px;
    font-weight: 700;
    line-height: 60px;
    color: #21afe4;
}

article.type-post .no-related-tours h1 {
    width: calc(100% - 516px);
    max-width: 690px;
}

article.type-post h2,
body:not(.home) article.type-page:not(.page-about) h2 {
    position: relative;
    display: inline-block;
    margin-bottom: 30px;
    font-size: 36px;
    line-height: 36px;
    color: #21afe4;
    text-align: left;
}

article.type-post h3,
article.type-page h3 {
    position: relative;
    display: block;
    margin-bottom: 30px;
    font-size: 30px;
    line-height: 32px;
    letter-spacing: .01em;
    text-align: left;
    text-transform: uppercase;
}

article.type-post h3 {
    color: #21afe4;
}

article.type-post h3::after,
article.type-page h3::after {
    content: none;
}

article.type-post h4,
article.type-page h4 {
    position: relative;
    margin-bottom: 30px;
    font-size: 26px;
    line-height: 32px;
    letter-spacing: .01em;
    text-align: left;
    text-transform: uppercase;
}

article.type-post h4 {
    display: block;
    color: #21afe4;
}

article.type-page h4 {
    display: inline-block;
}

article.type-post p:not(:last-of-type),
article.type-page p {
    margin-bottom: 45px;
}

article.list-tax {
    display: flex;
    justify-content: left;
    align-items: flex-start;
    padding-top: 40px;
}

article.list-tax > .category-description {
    flex: 1;
}

.archive article.tax-desc {
    margin-top: 80px;
    padding-top: 0;
}

.narrow-padding {
    width: calc(100% - 80px);
    padding-right: 40px;
    padding-left: 40px;
}

.narrow-margin {
    width: calc(100% - 80px);
    margin-right: 40px;
    margin-left: 40px;
}

.standard-padding {
    width: 83.34%;
    padding-right: 8.33%;
    padding-left: 8.33%;
}

.standard-margin {
    width: 83.34%;
    margin-right: 8.33%;
    margin-left: 8.33%;
}

.standard-spacing {
    margin-top: 64px;
    margin-bottom: 64px;
}

.bottom-spacing {
    margin-bottom: 64px;
}

.home .standard-spacing {
    margin-top: 120px;
    margin-bottom: 120px;
}

.home .bottom-spacing {
    margin-bottom: 120px;
}

.narrow-spacing {
    margin-top: 40px;
    margin-bottom: 40px;
}

article figcaption {
    margin-bottom: 28px;
    font-family: var(--tpt-text-font);
    font-size: 17px;
    font-weight: 400;
    font-style: italic;
    line-height: 24px;
    letter-spacing: -.01em;
    color: #3d3700;
    text-align: center;
}

.wp-block-image figcaption {
    margin-bottom: 28px;
}

article ul {
    margin-bottom: 40px;
    list-style: none;
}

article ul li {
    position: relative;
    margin-bottom: 10px;
    padding-left: 12px;
}

article.post ul li::before {
    display: inline-block;
    height: 10px;
    margin-right: 5px;
    margin-bottom: 6px;
    margin-left: -12px;
    font-size: 18px;
    line-height: 10px;
    color: var(--tpt-text-color);
    text-align: center;
    background: none;
    border-radius: 50%;
    content: "\2022\fe0e";
}

article > ul li::before,
article > p > ul li::before {
    position: absolute;
    top: 10px;
    left: 3px;
    display: inline-block;
    width: 4px;
    height: 4px;
    background-color: black;
    border-radius: 50%;
    content: "";
}

.page-template-default article > ul li::before,
.page-template-default article > p > ul li::before {
    top: 12px;
}

.single-post article ul {
    margin-bottom: 40px;
    margin-left: 43px;
    line-height: 28px;
    list-style: disc;
}

.single-post article ol {
    margin-left: 45px;
}

.single-post article ul li {
    margin: 0;
    padding: 0;
}

.single-post article.post ul li::before {
    content: none;
}

article hr {
    margin-top: 30px;
    margin-bottom: 40px;
    border-top: 1px solid #575757;
}

.featured-articles-glide h2 {
    margin-bottom: 32px;
    font-size: 36px;
    line-height: 36px;
}

.featured-articles-glide ul,
.featured-articles-glide ul li {
    margin-bottom: 0;
}

.category-description p {
    max-width: 92%;
    margin-bottom: 50px;
    line-height: 28px;
}

.category-description p:first-of-type {
    display: -webkit-box;
    overflow: hidden;
    font-size: 22px;
    -webkit-line-clamp: 3;
            line-clamp: 3;
    -webkit-box-orient: vertical;
            box-orient: vertical;
}

.category-description p:not(first-of-type) {
    display: none;
}

.category-description p.active {
    display: block;
}

.category-description figure {
    margin-bottom: 32px;
}

blockquote {
    margin: 30px 0;
    margin-bottom: 26px;
    font-family: var(--tpt-text-font);
    font-size: 24px;
    line-height: 32px;
    color: var(--tpt-text-color);
    text-align: left;
}

.video-responsive {
    position: relative;
    display: block;
    width: 100%;
    padding-bottom: 60%;
}

.video-responsive iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}

.featured-items {
    width: calc(100% + 26px);
    margin-left: -13px;
}

.featured-items.scrollable-4 {
    width: 100%;
    margin-left: 0;
}

.featured-items .row .column {
    margin-right: 17px;
    margin-bottom: 20px;
    margin-left: 17px;
}

.featured-items.scrollable-3 .row.slick-initialized.slick-slider .slick-list,
.featured-items.scrollable-4 .row.slick-initialized.slick-slider .slick-list,
.featured-items.scrollable-3 .row.slick-initialized.slick-slider .slick-list .slick-track,
.featured-items.scrollable-4 .row.slick-initialized.slick-slider .slick-list .slick-track {
    width: 100%;
}

.featured-item {
    position: relative;
}

.featured-item.fixed-height {
    height: auto;
}

.featured-articles .featured-item .excerpt {
    display: -webkit-box;
    overflow: hidden;
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 22px;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
            line-clamp: 3;
    -webkit-box-orient: vertical;
            box-orient: vertical;
}

.mark-fav {
    position: absolute;
    z-index: 10;
    cursor: pointer;
}

.mark-fav.mark-fav-var1 {
    top: 16px;
    left: 16px;
    height: auto;
}

.mark-fav.mark-fav-var2 {
    top: 23px;
    left: 22px;
    width: 20px;
    height: 18px;
}

.mark-fav #svg-heart,
.mark-fav.mark-fav-var2 svg path {
    transition: fill .1s linear;
}

.mark-fav svg circle {
    transition: .3s ease;
}

.mark-fav.liked svg circle {
    fill-opacity: .9;
}

.mark-fav.liked #svg-heart {
    fill: #dd2e1b;
}

.mark-fav.liked svg path {
    fill: white;
}

body .more-button {
    display: inline-block;
    margin-top: 40px;
    font-family: var(--tpt-text-font);
    font-size: 20px;
    font-weight: bold;
    line-height: 24px;
    color: #21afe4;
    text-transform: capitalize;
    cursor: pointer;
}

body .more-button::after {
    display: inline-block;
    padding-left: 5px;
    transition: transform .1s ease-in-out;
    content: " \0203a";
}

body .tj-button1,
header .tj-button1 {
    display: inline-block;
    padding: 12px 16px;
    font-family: var(--tpt-title-font);
    font-size: 22px;
    font-weight: 700;
    line-height: 24px;
    letter-spacing: .02em;
    color: white;
    text-align: center;
    text-transform: uppercase;
    text-wrap: nowrap;
    white-space: nowrap;
    background-color: #21afe4;
    border: none;
    transition: background-color .1s ease-in-out;
    cursor: pointer;
}

body .tj-button1:not(.no-arrow)::after,
header .tj-button1:not(.no-arrow)::after {
    display: inline-block;
    box-sizing: content-box;
    width: 11px;
    height: 11px;
    margin-left: 8px;
    padding-right: 5px;
    text-wrap: nowrap;
    white-space: nowrap;
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/chev-white.svg);
    background-repeat: no-repeat;
    transform: translateY(-2px);
    transition: margin .1s ease-in-out, padding .1s ease-in-out;
    content: "";
}

body .tj-button2 {
    display: inline-block;
    min-width: 182px;
    padding: 12px 16px;
    font-family: var(--tpt-title-font);
    font-size: 22px;
    font-weight: 700;
    line-height: 24px;
    letter-spacing: .02em;
    color: var(--tpt-text-color);
    text-align: center;
    text-transform: uppercase;
    text-wrap: nowrap;
    background-color: white;
    border: 1px solid var(--tpt-text-color);
    transition: background-color .1s ease-in-out;
    cursor: pointer;
}

body .tj-button2:not(.no-arrow)::after,
header .tj-button2:not(.no-arrow)::after {
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-left: 8px;
    padding-right: 5px;
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/chev-151209.svg);
    background-repeat: no-repeat;
    transform: translateY(-2px);
    transition: margin .1s ease-in-out, padding .1s ease-in-out;
    content: "";
}

body .tj-button3 {
    padding: 10px 10px 10px 10px;
    font-family: var(--tpt-title-font);
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
    text-transform: uppercase;
    text-wrap: nowrap;
    background-color: white;
    border: 1px solid rgba(0, 0, 0, .29);
    box-shadow: 0 3px 6px rgba(0, 0, 0, .29);
    transition: box-shadow .1s ease-in-out;
    cursor: pointer;
}

body .tj-button4 {
    display: inline-block;
    padding: 6px 8px 6px 12px;
    font-family: var(--tpt-title-font);
    font-size: 16px;
    font-weight: 700;
    font-style: normal;
    line-height: 24px;
    letter-spacing: .32px;
    color: white;
    text-align: center;
    text-transform: uppercase;
    text-wrap: nowrap;
    white-space: nowrap;
    background-color: #21afe4;
    border: none;
    border-radius: 4px;
    transition: background-color .1s ease-in-out;
    cursor: pointer;
}

body .tj-button4 svg {
    width: 16px;
    height: 16px;
    margin-left: 2px;
    padding-right: 2px;
    transform: translateY(2px);
    transition: transform .1s ease-in-out;
}

body .tj-button4 svg path {
    stroke: inherit;
}

body .buttons-area .call-us > a {
    margin-right: 0;
    padding: 10px;
    font-family: var(--tpt-title-font);
    font-weight: 600;
    text-align: center;
    text-transform: uppercase;
    border: 2px solid var(--tpt-text-color);
}

body .read-more {
    display: none;
    margin-bottom: 13px;
    font-size: 22px;
    line-height: 28px;
    color: #21afe4;
    text-transform: lowercase;
    cursor: pointer;
}

.single.single-tours body .read-more {
    font-family: var(--tpt-title-font);
    font-size: 16px;
    font-weight: 700;
    font-style: normal;
    line-height: 24px;
    letter-spacing: .05em;
    color: var(--tpt-text-color);
    text-transform: uppercase;
}

.single.single-tours body .left-column:not(.expandable) .read-more {
    display: none;
}

body .truncated ~ div.read-more,
body .active + .read-more {
    display: block;
}

body .read-more::first-letter {
    text-transform: uppercase;
}

body .read-more::before {
    content: "Read More";
}

body .read-more.active::before {
    content: "Read Less";
}

body .read-more:not(.active)::after {
    display: inline-block;
    padding-left: 5px;
    font-weight: normal;
    color: #75979c;
    transition: padding .1s ease-in-out;
    content: " \0203a";
}

.single.single-tours body .read-more:not(.active)::after {
    display: inline-block;
    width: 9px;
    height: 12px;
    margin-left: 8px;
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/chev-151209.svg);
    background-repeat: no-repeat;
    transition: margin .1s ease-in-out;
    content: "";
}

.svg-button.active {
    cursor: pointer;
}

.svg-button path {
    opacity: .5;
    fill: #21afe4;
}

.svg-button.active path {
    opacity: 1;
}

.pair-sections {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    gap: 24px;
}

.pair-sections > div {
    width: 100%;
}

.calendly-link-widget {
    display: none;
    justify-content: center;
    align-items: center;
    align-self: stretch;
    gap: 16px;
    margin-top: 16px;
    padding: 10px 24px;
    font-family: var(--tpt-text-font);
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    color: var(--tpt-text-color);
    background: white;
    border: 1px solid  #cacacc;
    border-radius: 2px;
}

.calendly-link-widget.active {
    display: flex;
}

.calendly-link-widget svg {
    flex-shrink: 0;
    box-sizing: content-box;
    width: 20px;
    height: 20px;
    padding: 8px;
    background-color: #60d6a1;
    border-radius: 50%;
}

.calendly-link-widget a {
    margin-right: 8px;
    margin-left: 8px;
}

/* GLIDE SLIDER */


/* GLIDE TYPE 0 */

.glide-type0 {
    overflow: hidden;
}

.glide-type0 .glide__arrows {
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: row;
    gap: 32px;
    margin: 0;
}

.glide-type0 ul li {
    height: unset;
    margin-right: 20px;
    padding: 0;
    white-space: normal;
}

.press-quotes.glide-type0 .glide__arrows .glide__arrow {
    background-color: var(--tpt-background-color);
}

/* GLIDE TYPE 1 */

.glide-type1 ul li {
    height: auto;
    padding: 0;
}

.glide-type1 .glide__arrows {
    position: absolute;
    top: 102px;
    width: 100%;
    padding: 0 20px;
}

.glide-type1 .glide__arrows .glide__arrow {
    position: absolute;
    width: 36px;
    height: 36px;
    background-color: white;
    background-position: center;
    border: none;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(128, 128, 128, .4);
    transform: translateY(-50%);
    transition: box-shadow .1s ease-in-out, opacity .1s ease-in-out;
    cursor: pointer;
}

.glide-type1 .glide__arrows .glide__arrow::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 36px;
    height: 36px;
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/chev-151209.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 9px 12px;
    content: "";
    cursor: pointer;
}

.glide-type1 .glide__arrows .glide__arrow:disabled {
    opacity: 0;
    cursor: default;
}

.glide-type1 .glide__arrows .glide__arrow--left {
    left: 20px;
    transform: translateY(-50%) rotate(180deg);
}

.glide-type1 .glide__arrows .glide__arrow--right {
    right: 20px;
}

.glide-type1 .featured-item {
    text-align: left;
    background-color: white;
    border: 1px solid #e5dcdc;
}

.glide-type1 .featured-item > a > span.image-wrap {
    display: block;
    overflow: hidden;
    height: 204px;
}

.glide-type1 .featured-item > a > span > img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    margin-bottom: 12px;
    transition: transform .1s ease-in-out;
}

.glide-type1 .featured-item > a > h6 {
    width: calc(100% - 16px - 16px - 10px);
    margin: 16px;
    font-family: var(--tpt-text-font);
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;
    text-transform: uppercase;
}

.glide-type1 .featured-item > a > h6::after {
    display: inline-block;
    margin-right: -10px;
    padding-left: 5px;
    font-weight: normal;
    transition: transform .1s ease-in-out;
    content: " \0203a";
}

/* GLIDE TYPE 2 */

.glide-type2 ul li {
    padding: 0;
}

.glide-type2 .glide__arrows {
    position: absolute;
    top: 102px;
    width: 100%;
    padding: 0 20px;
}

.glide-type2 .glide__arrows .glide__arrow {
    position: absolute;
    width: 40px;
    height: 40px;
    background-color: white;
    background-position: center;
    border: none;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(128, 128, 128, .4);
    transform: translateY(-50%);
    transition: box-shadow .1s ease-in-out, opacity .1s ease-in-out;
    cursor: pointer;
}

.glide-type2 .glide__arrows .glide__arrow::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 40px;
    height: 40px;
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/chev-151209.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 9px 12px;
    content: "";
    cursor: pointer;
}

.glide-type2 .glide__arrows .glide__arrow:disabled {
    opacity: 0;
    cursor: default;
}

.glide-type2 .glide__arrows .glide__arrow--left {
    left: 20px;
}

.glide-type2 .glide__arrows .glide__arrow--right {
    right: 20px;
}

.glide-type2 .glide__arrows .glide__arrow--left::after {
    transform: rotate(180deg);
}

.glide-type2 .featured-item {
    height: auto;
    text-align: left;
    background-color: white;
    border: .5px solid #e5dcdc;
}

.glide-type2 .featured-item a > div {
    padding: 16px;
}

.glide-type2 .featured-item > a > span.image-wrap {
    display: block;
    overflow: hidden;
    height: 204px;
}

.glide-type2 .featured-item > a > span > img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    margin-bottom: 12px;
    transition: transform .1s ease-in-out;
}

.glide-type2 .featured-item > a > div .tour-info,
.glide-type2 .featured-item > a > div .hotel-info {
    display: block;
    font-family: var(--tpt-text-font);
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
    line-height: 16px;
    color: #434345;
}

.glide-type2 .featured-item > a > div .tour-info {
    margin-bottom: 8px;
}

.glide-type2 .featured-item > a > div h6 {
    font-family: var(--tpt-text-font);
    font-size: 16px;
    font-weight: 600;
    font-style: normal;
    line-height: 20px;
    text-transform: capitalize;
}

.glide-type2 .featured-item > a > div .read-more-link {
    display: block;
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
    line-height: 16px;
    color: #434345;
    text-transform: capitalize;
}

.glide-type2 .featured-item > a > div .read-more-link::after {
    display: inline-block;
    transition: transform .1s ease-in-out;
    content: " \0203a";
}

/* GLIDE TYPE 3 */

.glide-type3 ul li {
    padding: 0;
}

.glide-type3 .glide__arrows {
    position: absolute;
    top: 102px;
    width: 100%;
    padding: 0 20px;
}

.glide-type3 .glide__arrows .glide__arrow {
    position: absolute;
    width: 36px;
    height: 36px;
    background-color: white;
    background-position: center;
    border: none;
    border-radius: 50%;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .26);
    transform: translateY(-50%);
    transition: box-shadow .1s ease-in-out, opacity .1s ease-in-out;
    cursor: pointer;
}

.glide-type3 .glide__arrows .glide__arrow:disabled {
    opacity: 0;
    cursor: default;
}

.glide-type3 .glide__arrows .glide__arrow--left::after,
.glide-type3 .glide__arrows .glide__arrow--right::after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-block;
    padding: 4px;
    border-width: 0 3px 3px 0;
    border-style: solid;
    content: "";
}

.glide-type3 .glide__arrows .glide__arrow--left {
    left: 20px;
}

.glide-type3 .glide__arrows .glide__arrow--right {
    right: 20px;
}

.glide-type3 .glide__arrows .glide__arrow--left::after {
    transform: translate(-35%, -50%) rotate(135deg);
}

.glide-type3 .glide__arrows .glide__arrow--right::after {
    transform: translate(-65%, -50%) rotate(-45deg);
}

.glide-type3 .featured-item {
    text-align: left;
}

.glide-type3 .featured-item > a > span.image-wrap {
    display: block;
    overflow: hidden;
    height: 204px;
}

.glide-type3 .featured-item > a > span > img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    margin-bottom: 12px;
    transition: transform .1s ease-in-out;
}

.glide-type3 .featured-item > a > .tour-info {
    display: block;
    margin-top: 13px;
    font-size: 15px;
    line-height: 19px;
}

.glide-type3 .featured-item > a > h6 {
    margin-top: 12px;
    font-family: var(--tpt-text-font);
    font-size: 20px;
    font-weight: 600;
    line-height: 25px;
    text-transform: capitalize;
}

.glide-type3 .featured-item > a > h6 {
    position: relative;
    display: inline-block;
    margin-bottom: 20px;
    font-family: var(--tpt-text-font);
    font-size: 20px;
    font-weight: 600;
    line-height: 25px;
    color: var(--tpt-text-color);
    text-align: left;
    text-decoration: none;
    text-transform: capitalize;
}

.glide-type3 .featured-item > a > h6::after {
    position: absolute;
    right: 13%;
    bottom: -7px;
    left: 0;
    width: 30%;
    height: 3px;
    background-color: #21afe4;
    transition: width .1s ease-in-out, left .1s ease-in-out;
    content: "";
}

.glide-type3 .featured-item > a > .read-more-link {
    display: block;
    font-size: 15px;
    line-height: 20px;
    text-transform: capitalize;
}

.glide-type3 .featured-item > a > .read-more-link::after {
    display: inline-block;
    padding-left: 5px;
    color: #75979c;
    transition: transform .1s ease-in-out;
    content: " \0203a";
}

/* GLIDE TYPE 4 */

.glide-type4 ul li {
    padding: 0;
}

.glide-type4 .glide__arrows {
    position: absolute;
    top: 55px;
    width: 100%;
    padding: 0 20px;
}

.glide-type4 .glide__arrows .glide__arrow {
    position: absolute;
    width: 36px;
    height: 36px;
    background-color: white;
    background-position: center;
    border: none;
    border-radius: 50%;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .26);
    transform: translateY(-50%);
    transition: box-shadow .1s ease-in-out, opacity .1s ease-in-out;
    cursor: pointer;
}

.glide-type4 .glide__arrows .glide__arrow:disabled {
    opacity: 0;
    cursor: default;
}

.glide-type4 .glide__arrows .glide__arrow--left::after,
.glide-type4 .glide__arrows .glide__arrow--right::after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-block;
    padding: 4px;
    border-width: 0 3px 3px 0;
    border-style: solid;
    content: "";
}

.glide-type4 .glide__arrows .glide__arrow--left {
    left: 20px;
}

.glide-type4 .glide__arrows .glide__arrow--right {
    right: 20px;
}

.glide-type4 .glide__arrows .glide__arrow--left::after {
    transform: translate(-35%, -50%) rotate(135deg);
}

.glide-type4 .glide__arrows .glide__arrow--right::after {
    transform: translate(-65%, -50%) rotate(-45deg);
}

.glide-type4 .featured-item {
    text-align: left;
}

.glide-type4 .featured-item > a > span.image-wrap {
    display: block;
    overflow: hidden;
    max-width: 200px;
    height: 110px;
}

.glide-type4 .featured-item > a > span > img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    margin-bottom: 12px;
    transition: transform .1s ease-in-out;
}

.glide-type4 .featured-item > a > .tour-info {
    display: block;
    margin-top: 13px;
    font-size: 15px;
    line-height: 19px;
}

.glide-type4 .featured-item > a > h3 {
    margin-top: 12px;
    font-family: var(--tpt-text-font);
    font-size: 20px;
    font-weight: 600;
    line-height: 25px;
    text-transform: capitalize;
}

.glide-type4 .featured-item > a > h3 {
    position: relative;
    display: inline-block;
    margin-bottom: 30px;
    font-family: var(--tpt-text-font);
    font-size: 19px;
    font-weight: 700;
    line-height: 26px;
    color: var(--tpt-text-color);
    text-align: left;
    text-decoration: none;
    text-transform: capitalize;
}

.glide-type4 .featured-item > a > h3::after {
    position: absolute;
    right: 13%;
    bottom: -7px;
    left: 0;
    width: 30%;
    height: 3px;
    background-color: var(--tpt-text-color);
    transition: width .1s ease-in-out, left .1s ease-in-out;
    content: "";
}

/* GLIDE TYPE 5 */

.glide-type5 ul li {
    padding: 0;
}

.glide-type5 .glide__arrows {
    position: absolute;
    top: 245px;
    width: 100%;
    padding: 0 20px;
}

.glide-type5 .glide__arrows .glide__arrow {
    position: absolute;
    width: 36px;
    height: 36px;
    background-color: white;
    background-position: center;
    border: none;
    border-radius: 50%;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .26);
    transform: translateY(-50%);
    transition: box-shadow .1s ease-in-out, opacity .1s ease-in-out;
    cursor: pointer;
}

.glide-type5 .glide__arrows .glide__arrow:disabled {
    opacity: 0;
    cursor: default;
}

.glide-type5 .glide__arrows .glide__arrow--left::after,
.glide-type5 .glide__arrows .glide__arrow--right::after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-block;
    padding: 4px;
    border-width: 0 3px 3px 0;
    border-style: solid;
    content: "";
}

.glide-type5 .glide__arrows .glide__arrow--left {
    left: 20px;
}

.glide-type5 .glide__arrows .glide__arrow--right {
    right: 77px;
}

.glide-type5 .glide__arrows .glide__arrow--left::after {
    transform: translate(-35%, -50%) rotate(135deg);
}

.glide-type5 .glide__arrows .glide__arrow--right::after {
    transform: translate(-65%, -50%) rotate(-45deg);
}

.glide-type5 .featured-item {
    text-align: left;
}

.glide-type5 .featured-item > a > span.image-wrap {
    display: block;
    overflow: hidden;
    height: 490px;
}

.glide-type5 .featured-item > a > span > img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    max-height: unset;
    margin-bottom: 12px;
    transition: transform .1s ease-in-out;
}

.glide-type5 .featured-item > a > .tour-info {
    display: block;
    margin-top: 13px;
    font-size: 15px;
    line-height: 19px;
}

.glide-type5 .featured-item > a > h4 {
    position: relative;
    display: inline-block;
    margin-top: 12px;
    margin-bottom: 0;
    font-family: var(--tpt-text-font);
    font-size: 25px;
    font-weight: 700;
    line-height: 33px;
    color: var(--tpt-text-color);
    text-transform: capitalize;
}

.glide-type5 .featured-item > a > h4::after {
    position: absolute;
    right: 13%;
    bottom: -7px;
    left: 0;
    width: 30%;
    height: 3px;
    background-color: #21afe4;
    transition: width .1s ease-in-out, left .1s ease-in-out;
    content: "";
}

.glide-type5 .featured-item > a > .read-more-link {
    display: block;
    font-size: 15px;
    line-height: 20px;
    text-transform: capitalize;
}

.glide-type5 .featured-item > a > .read-more-link::after {
    display: inline-block;
    padding-left: 5px;
    color: #75979c;
    transition: transform .1s ease-in-out;
    content: " \0203a";
}

/* GLIDE TYPE 6 */

.glide-type6 ul li {
    box-sizing: border-box;
    height: auto;
}

.glide-type6 .glide__arrows {
    position: absolute;
    top: 50%;
    width: 100%;
    padding: 0 20px;
}

.glide-type6 .glide__arrows .glide__arrow {
    position: absolute;
    width: 36px;
    height: 36px;
    background-color: white;
    background-position: center;
    border: none;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(128, 128, 128, .4);
    transform: translateY(-50%);
    transition: box-shadow .1s ease-in-out, opacity .1s ease-in-out;
    cursor: pointer;
}

.glide-type6 .glide__arrows .glide__arrow::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 36px;
    height: 36px;
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/chev-151209.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 9px 12px;
    content: "";
    cursor: pointer;
}

.glide-type6 .glide__arrows .glide__arrow:disabled {
    opacity: 0;
    cursor: default;
}

.glide-type6 .glide__arrows .glide__arrow--left {
    left: 20px;
    transform: translateY(-50%) rotate(180deg);
}

.glide-type6 .glide__arrows .glide__arrow--right {
    right: 20px;
}

/* GLIDE TYPE 7 */

.glide-type7 ul li {
    min-width: 300px;
    padding: 0;
}

.glide-type7 .glide__arrows {
    position: absolute;
    top: -50px;
    right: 0;
    width: auto;
}

.glide-type7 .glide__arrows .glide__arrow {
    position: absolute;
    width: 36px;
    height: 36px;
    background-color: white;
    background-position: center;
    border: none;
    border-radius: 50%;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .26);
    transform: translateY(-50%);
    transition: box-shadow .1s ease-in-out, opacity .1s ease-in-out;
    cursor: pointer;
}

.glide-type7 .glide__arrows .glide__arrow:disabled {
    opacity: 0;
    cursor: default;
}

.glide-type7 .glide__arrows .glide__arrow--left::after,
.glide-type7 .glide__arrows .glide__arrow--right::after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-block;
    padding: 4px;
    border-width: 0 3px 3px 0;
    border-style: solid;
    content: "";
}

.glide-type7 .glide__arrows .glide__arrow--left {
    right: 56px;
}

.glide-type7 .glide__arrows .glide__arrow--right {
    right: 0;
}

.glide-type7 .glide__arrows .glide__arrow--left::after {
    transform: translate(-35%, -50%) rotate(135deg);
}

.glide-type7 .glide__arrows .glide__arrow--right::after {
    transform: translate(-65%, -50%) rotate(-45deg);
}

/* GLIDE TYPE 8 */

.glide-type8 {
    padding-bottom: 114px;
}

.glide-type8 ul li {
    box-sizing: border-box;
    height: auto;
}

.glide-type8 .glide__arrows {
    position: absolute;
    bottom: 32px;
    left: 50%;
    display: flex;
    flex-direction: row;
    gap: 32px;
    margin: 0;
    transform: translateX(-50%);
}

.glide-type8 .glide__arrows .glide__arrow {
    position: relative;
    display: block;
    box-sizing: border-box;
    width: 50px;
    height: 50px;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px;
    border: 2px solid #e4e4e3;
    border-radius: 50%;
    cursor: pointer;
}

.glide-type8 .glide__arrows .glide__arrow:disabled {
    opacity: 0;
    cursor: default;
}

.glide-type8 .glide__arrows .glide__arrow--left {
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/mobile-glide-left.svg);
}

.glide-type8 .glide__arrows .glide__arrow--right {
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/mobile-glide-right.svg);
}

/* MOBILE GLIDE */

.mobile-glide .glide__arrows {
    position: absolute;
    bottom: 32px;
    left: 50%;
    display: none;
    flex-direction: row;
    gap: 32px;
    margin: 0;
    transform: translateX(-50%);
}

.mobile-glide .glide__arrows .glide__arrow,
.glide-type0 .glide__arrows .glide__arrow {
    position: relative;
    display: block;
    width: 50px;
    height: 50px;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px;
    border: 2px solid #e4e4e3;
    border-radius: 50%;
    cursor: pointer;
}

.info-bar.color .mobile-glide .glide__arrows .glide__arrow,
.info-bar.image .mobile-glide .glide__arrows .glide__arrow {
    background-color: rgba(255, 255, 255, .8);
}

.mobile-glide .glide__arrows .glide__arrow--left,
.glide-type0 .glide__arrows .glide__arrow--left {
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/mobile-glide-left.svg);
}

.mobile-glide .glide__arrows .glide__arrow--right,
.glide-type0 .glide__arrows .glide__arrow--right {
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/mobile-glide-right.svg);
}

/* SLIDER */

button.slick-arrow {
    position: absolute;
    z-index: 100000;
    display: block;
    background-repeat: no-repeat;
    border: none;
    cursor: pointer;
}

button.slick-arrow.start-hidden {
    display: none !important;
}

.slick-dots {
    display: none;
}

/* Type 1 */

button.slick-arrow.slick-next1,
button.slick-arrow.slick-prev1 {
    top: 50%;
    width: 80px;
    height: 30px;
    background-color: transparent;
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/icon-arrow.svg);
    background-position-x: left;
    background-position-y: center;
    transition: background-position-x .1s ease-in-out;
}

button.slick-arrow.slick-next1 {
    right: -50px;
    transform: translateY(-50%);
}

button.slick-arrow.slick-prev1 {
    left: -50px;
    transform: translateY(-50%) rotate(180deg);
}

/* Type 2 */

button.slick-arrow.slick-next2,
button.slick-arrow.slick-prev2 {
    top: 30px;
    width: 36px;
    height: 36px;
    background-color: white;
    background-position: center;
    border-radius: 50%;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .26);
    transition: box-shadow .1s ease-in-out;
}

button.slick-arrow.slick-next2 {
    right: 30px;
}

button.slick-arrow.slick-prev2 {
    right: 78px;
}

button.slick-arrow.slick-next2::after,
button.slick-arrow.slick-prev2::after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-block;
    padding: 4px;
    border-width: 0 3px 3px 0;
    border-style: solid;
    content: "";
}

button.slick-arrow.slick-next2::after {
    transform: translate(-65%, -50%) rotate(-45deg);
}

button.slick-arrow.slick-prev2::after {
    transform: translate(-35%, -50%) rotate(135deg);
}

/* Type 3 */

button.slick-arrow.slick-next3,
button.slick-arrow.slick-prev3,
.hotelCard_gallery_slider button.slick-arrow.slick-next,
.hotelCard_gallery_slider button.slick-arrow.slick-prev {
    bottom: 20px;
    display: block;
    width: 40px;
    height: 40px;
    background-color: white;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(128, 128, 128, .4);
    transition: box-shadow .1s ease-in-out;
}

button.slick-arrow.slick-next3::after,
button.slick-arrow.slick-prev3::after,
.hotelCard_gallery_slider button.slick-arrow.slick-next::after,
.hotelCard_gallery_slider button.slick-arrow.slick-prev::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 40px;
    height: 40px;
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/chev-151209.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 9px 12px;
    content: "";
    cursor: pointer;
}

.hotelCard_gallery_slider button.slick-arrow.slick-next::after {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.hotelCard_gallery_slider button.slick-arrow.slick-prev::after {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(180deg);
}

button.slick-arrow.slick-next3,
.hotelCard_gallery_slider button.slick-arrow.slick-next {
    right: 20px;
}

button.slick-arrow.slick-prev3,
.hotelCard_gallery_slider button.slick-arrow.slick-prev {
    right: 76px;
}

.hotelCard_gallery_slider button.slick-arrow {
    z-index: 1;
}

button.slick-arrow.slick-prev3::after {
    transform: rotate(180deg);
}

/* Type 4 */

button.slick-arrow.slick-next4,
button.slick-arrow.slick-prev4 {
    top: 50%;
    width: 36px;
    height: 36px;
    font-size: 0;
    background-color: white;
    background-position: center;
    border-radius: 50%;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .26);
    transform: translateY(-50%);
    transition: box-shadow .1s ease-in-out;
}

button.slick-arrow.slick-next4 {
    right: 20px;
}

button.slick-arrow.slick-prev4 {
    left: 20px;
}

button.slick-arrow.slick-next4::after,
button.slick-arrow.slick-prev4::after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-block;
    padding: 4px;
    border-width: 0 3px 3px 0;
    border-style: solid;
    content: "";
}

button.slick-arrow.slick-next4::before {
    bottom: 20px;
    width: 36px;
    height: 36px;
    background-position: center;
    border-radius: 50%;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .26);
    transition: box-shadow .1s ease-in-out;
    content: "";
}

button.slick-arrow.slick-next4::after {
    transform: translate(-65%, -50%) rotate(-45deg);
}

button.slick-arrow.slick-prev4::after {
    transform: translate(-35%, -50%) rotate(135deg);
}

/* Type 5 */

button.slick-arrow.slick-next5,
button.slick-arrow.slick-prev5 {
    top: 50%;
    width: 32px;
    height: 32px;
    padding: 0;
    font-size: 0;
    background-color: white;
    background-position: center;
    border-radius: 50%;
    opacity: .7;
    transform: translateY(-50%);
    transition: opacity .1s ease-in-out;
}

button.slick-arrow.slick-next5 {
    right: 12px;
}

button.slick-arrow.slick-prev5 {
    left: 12px;
}

button.slick-arrow.slick-next5::after,
button.slick-arrow.slick-prev5::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 32px;
    height: 32px;
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/chev-151209.svg);
    background-repeat: no-repeat;
    background-position: calc(50% + 1px) 50%;
    background-size: 10px 12px;
    content: "";
    cursor: pointer;
}

button.slick-arrow.slick-prev5 {
    transform: translateY(-50%) rotate(180deg);
}

/* STATIC PAGES */

.static-page-header {
    position: relative;
}

.static-page-header .sph-image {
    position: relative;
    width: auto;
    height: 460px;
}

.static-page-header .sph-image img,
.static-page-header .sph-image .no-image {
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.page-tours .static-page-header .sph-content {
    display: flex;
    align-items: flex-start;
}

.static-page-header .sph-content h2,
.category-description.sph-content h2 {
    margin-top: 35px;
    font-size: 32px;
    line-height: 34px;
    background: none;
}

.static-page-header .sph-content p,
.category-description.sph-content p,
.header-hotel-finder .hotel-page-description p {
    width: 92%;
    max-width: 80%;
    margin-top: 20px;
    margin-bottom: 35px;
    font-family: var(--tpt-text-font);
    font-size: 20px;
    font-weight: 400;
    line-height: 28px;
}

.static-page-header .sph-content p > a,
.category-description.sph-content p > a {
    color: #21afe4;
    text-decoration: underline;
}

.static-page-header .sph-content > a.tj-button2,
.category-description.sph-content > a.tj-button2 {
    margin-top: 18px;
}

/* CONTACT PAGE */

.contact-page {
    margin-bottom: 100px;
}

.contact-page .contact-title {
    display: block;
    max-width: 600px;
    margin-bottom: 30px;
    font-family: var(--tpt-title-font);
    font-size: 32px;
    font-weight: 600;
    line-height: 40px;
    text-transform: uppercase;
}

.contact-page .flex-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.contact-page .details-column {
    flex: 1 0 40%;
    box-sizing: border-box;
    padding-left: 8.33%;
    font-size: 20px;
    line-height: 28px;
}

.contact-page .details-column .dt-title,
.contact-page .details-column > ul > li {
    margin-bottom: 12px;
    padding-left: 0;
    font-family: var(--tpt-title-font);
    font-size: 20px;
    font-weight: 600;
    line-height: 20px;
    text-transform: uppercase;
}

.contact-page .details-column .dt-title:first-letter {
    text-transform: capitalize;
}

.contact-page .details-column > ul > li svg path {
    fill: var(--tpt-text-color);
}

.contact-page .details-column .dt-title:not(:first-of-type),
.contact-page .details-column > ul > li:first-of-type {
    margin-top: 35px;
}

.contact-page .details-column .dt-title:not(:last-of-type)::before {
    display: inline-block;
    width: 21px;
    height: 25px;
    margin-right: 5px;
    vertical-align: middle;
    background-repeat: no-repeat;
    content: "";
}

.contact-page .details-column .dt-title.phone-title::before {
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/icon-phone-black.svg);
}

.contact-page .details-column .dt-title.whatsapp-title::before {
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/icon-whatsapp.svg);
}

.contact-page .details-column .dt-title.email-title::before {
    height: 19px;
    margin-right: 5px;
    vertical-align: middle;
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/icon-mail.svg);
}

.contact-page .details-column .dt-title.map-title::before {
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/icon-map.svg);
}

.contact-page .details-column .phone-number {
    font-weight: bold;
}

.contact-page .details-column .email-address {
    display: block;
}

.contact-page .details-column .map-details {
    margin-bottom: 12px;
}

.contact-page .details-column .map iframe {
    width: 100%;
    max-height: 200px;
}

.contact-page .form-column {
    flex: 1 0 60%;
}

.contact-page .contact-banner {
    box-sizing: border-box;
    width: 100%;
    margin-top: 35px;
    padding: 15px;
    background-color: #71d1fe;
}

.contact-page .contact-banner .dt-title {
    line-height: 28px;
}

.contact-page .contact-banner > div {
    padding-right: 5%;
}

.contact-page .contact-banner > div > div {
    margin-bottom: 10px;
    font-family: var(--tpt-title-font);
    font-size: 20px;
    font-weight: 600;
    line-height: 27px;
    text-transform: uppercase;
}

.contact-page .contact-banner > div > p {
    margin-bottom: 20px;
    font-size: 18px;
    line-height: 26px;
}

.contact-page .contact-banner > div > p > a {
    display: inline-block;
    color: var(--tpt-text-color);
    text-decoration: none;
}

.contact-page .contact-banner > div > p > a.phone::before {
    display: inline-block;
    width: 21px;
    height: 25px;
    margin-right: 5px;
    vertical-align: middle;
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/icon-phone-black.svg);
    background-repeat: no-repeat;
    content: "";
}

.contact-page .contact-banner > div > p > a.whatsapp::before {
    display: inline-block;
    width: 21px;
    height: 25px;
    margin-right: 5px;
    vertical-align: middle;
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/icon-whatsapp.svg);
    background-repeat: no-repeat;
    content: "";
}

.contact-page .form-advice,
.pb-contact-form .form-advice {
    display: block;
    font-size: 20px;
    font-weight: 400;
    line-height: 28px;
}

.pb-contact-form h2 {
    position: relative;
    display: block;
    margin-bottom: 40px;
    font-size: 36px;
    line-height: 36px;
    color: #21afe4;
    text-align: center;
}

.pb-contact-form.hybrid {
    display: none;
}

.pb-contact-form.cfs-color,
.pb-contact-form.cfs-image {
    display: block;
    width: 100%;
    padding-top: 67px;
    padding-bottom: 67px;
    background-repeat: no-repeat;
    background-size: cover;
}

.pb-contact-form .form-wrap {
    display: block;
    box-sizing: border-box;
    max-width: 640px;
    margin: 0 auto;
    padding: 40px;
    background: white;
    border: 1px solid #dad9c5;
}

.pb-contact-form .contact-options {
    display: none;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin-top: 30px;
    margin-bottom: 30px;
    font-size: 16px;
}

.pb-contact-form .contact-options.active {
    display: flex;
}

.pb-contact-form .contact-options .contact-option {
    font-size: 18px;
}

.pb-contact-form .contact-options .contact-option input,
.pb-contact-form .contact-options .contact-option label {
    cursor: pointer;
}

.pb-contact-form .contact-options,
.tint-package-proposal {
    display: none;
    margin-top: 50px;
}

.form-advice a.tj-button2 {
    display: block;
    margin-top: 20px;
}

form.contact-form ._form_element {
    margin-bottom: 24px;
}

form.contact-form ._form_element._full_width {
    width: 100%;
}

form.contact-form .field-pair {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

form.contact-form .field-pair-inverse {
    display: block;
}

form.contact-form input,
form.contact-form textarea,
form.contact-form select {
    box-sizing: border-box;
    width: 100%;
    height: 44px;
    margin-bottom: 0;
    padding: 0 .625em;
    font-size: 18px;
    color: var(--tpt-text-color);
    background-color: white;
    border: 1px solid #999;
    border-radius: 4px;
    box-shadow: none;
    transition: border-color .1s ease-in-out;
}

form.contact-form input:disabled,
form.contact-form textarea:disabled,
form.contact-form select:disabled {
    color: #999;
    background: #eee;
}

form.contact-form ._error {
    float: right;
    padding: 0;
    font-size: 12px;
    color: #f23a3c;
}

form.contact-form ._form_error {
    margin-bottom: 10px;
    color: #f23a3c;
}

form.contact-form input:focus,
form.contact-form textarea:focus,
form.contact-form select:focus {
    border-color: #ffcea0;
}

form.contact-form textarea {
    resize: vertical;
    max-width: 100%;
    height: 160px;
    min-height: 2.5em;
    padding: .625em;
    font-family: inherit;
}

form.contact-form select {
    padding: 0 1.875em 0 .625em;
    background-image: url("https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/select-8f8f90.svg");
    background-repeat: no-repeat;
    background-position: right 5px bottom 50%;
    background-size: 24px;
    appearance: none;
}

form.contact-form .date_field {
    padding-right: 39px;
    background-image: url("https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/calendar-8f8f90.svg");
    background-repeat: no-repeat;
    background-position: right 10px bottom 50%;
    background-size: 24px;
}

form.contact-form input::placeholder,
form.contact-form textarea::placeholder,
form.contact-form select::placeholder {
    color: #cacaca;
}

form.contact-form label {
    display: block;
    order: -1;
    margin-left: 2px;
    font-size: 15px;
    font-weight: normal;
    line-height: 28px;
    color: #434345;
    word-break: break-word;
}

form.contact-form {
    max-width: 1000px;
}

form.contact-form .inquiry-type-toggle {
    display: none;
}

form.contact-form .thank-you {
    max-width: 400px;
    padding-top: 50px;
    font-size: 24px;
    line-height: 38px;
}

/* ABOUT PAGE */

.page-about h2 {
    margin-bottom: 24px;
    padding-bottom: 0;
    font-family: var(--tpt-text-font);
    font-size: 32px;
    line-height: 34px;
    text-transform: Capitalize;
    background: none;
}

/* SITE SEARCH */

.site-search {
    position: relative;
    margin-top: 100px;
}

.site-search #searchform {
    display: flex;
    align-items: stretch;
    margin-bottom: 100px;
}

.site-search #searchform input.field {
    display: block;
    box-sizing: border-box;
    width: 100%;
    padding: 10px 10px 10px 17px;
    font-family: var(--tpt-text-font);
    font-size: 18px;
    font-weight: 400;
    font-style: normal;
    line-height: 28px;
    color: var(--tpt-text-color);
    background: white;
    border-top: 1px solid #757579;
    border-right: none;
    border-bottom: 1px solid #757579;
    border-left: none;
}

.site-search #searchform select {
    flex: 1;
    width: 148px;
    padding: 12px 54px 12px 10px;
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    line-height: 24px;
    color: var(--tpt-text-color);
    background: none;
    background-color: white;
    background-image: url("https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/chev3-151209.svg");
    background-repeat: no-repeat;
    background-position: calc(100% - 11px) center;
    background-size: 21px;
    border: 1px solid #757579;
    border-right: none;
    outline: none;
    appearance: none;
    cursor: pointer;
}

.site-search::before {
    position: absolute;
    top: 15px;
    left: 132px;
    display: block;
    height: 20px;
    border-right: 1px solid #757579;
    content: "";
    cursor: pointer;
    pointer-events: auto;
}

.site-search #searchform input.submit {
    display: block;
    box-sizing: border-box;
    width: 64px;
    padding: 12px 20px;
    color: white;
    background-color: #21afe4;
    background-image: url("https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/icon-search-thin-white.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px 24px;
    border: none;
    cursor: pointer;
}

/* PAGE BUILDER FLEXIBLE ELEMENTS */

p.pb-subtitle {
    max-width: 800px;
    margin-right: auto;
    margin-left: auto;
    font-family: var(--tpt-text-font);
    font-size: 16px;
    font-weight: 600;
    font-style: normal;
    line-height: 18px;
    color: #3d3700;
    text-align: center;
}

p.pb-subtitle a {
    color: #21afe4;
}

/* Featured Pages */

.featured-pages {
    box-sizing: border-box;
    padding: 35px 30px 0 70px;
    background: white;
    border: 1px solid #dad9c5;
}

.featured-pages h2 {
    font-size: 40px;
    line-height: 50px;
    color: #21afe4;
}

.featured-pages .featured-item-wrap {
    position: relative;
    text-align: left;
}

.featured-pages .featured-item-wrap p a {
    font-size: 25px;
    font-weight: bold;
    line-height: 42px;
}

.featured-pages .featured-item {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 440px;
    margin-bottom: 11px;
    padding: 25px 30px;
    text-align: center;
    transition: background-color .4s ease-in-out;
}

.featured-pages .featured-item img,
.featured-pages .featured-item .no-image {
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
    margin-bottom: 0;
}

.featured-pages button.slick-arrow {
    top: 268px;
}

.featured-pages .featured-item > div {
    margin-top: auto;
    color: white;
}

.featured-pages .featured-item p {
    align-self: flex-end;
    padding: 7px 14px 10px 14px;
    font-size: 18px;
    line-height: 22px;
}

.featured-pages .featured-items.layout-c .row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
}

.featured-pages .featured-items.layout-c .column {
    flex: 1 0 20%;
    margin-right: 5px;
    margin-bottom: 20px;
    margin-left: 5px;
}

body .featured-pages .featured-items button.slick-arrow.slick-next3 {
    right: 15px;
}

body .featured-items .more-button {
    margin-left: 13px;
}

body .featured-items button.slick-arrow {
    transform: translateY(-50%);
}

body .featured-items button.slick-arrow.slick-next3 {
    right: -55px;
}

body .featured-items button.slick-arrow.slick-prev3 {
    left: -55px;
}

body .featured-pages .featured-items button.slick-arrow {
    top: calc(490px / 2);
}

body .featured-tours .featured-items button.slick-arrow {
    top: calc(406px / 2);
}

.featured-pages-glide {
    box-sizing: border-box;
    padding: 35px 35px 0 35px;
    background: white;
    border: 1px solid #dad9c5;
}

.featured-pages-glide h2 {
    font-size: 40px;
    line-height: 50px;
    color: #21afe4;
}

/* Curated Content */

.curated-content .featured-item-wrap {
    width: 25vw;
}

.curated-content a.image-link {
    position: relative;
    display: block;
    overflow: hidden;
    width: 25vw;
    height: 25vh;
    margin-bottom: 16px;
}

.curated-content a.image-link img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: transform .1s ease-in-out;
}

.curated-content .featured-item-wrap {
    position: relative;
    text-align: left;
}

.curated-content .featured-item {
    position: relative;
    height: 440px;
    margin-bottom: 10px;
    padding: 25px 30px;
}

.curated-content p.tagline {
    font-size: 18px;
    line-height: 26px;
}

.curated-content .featured-item > div {
    margin-top: auto;
    color: white;
}

.curated-content .featured-item p {
    align-self: flex-end;
    padding: 7px 14px 10px 14px;
    font-size: 18px;
    line-height: 22px;
}

.curated-content .featured-items.layout-c .row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
}

/* Featured Tours */

.featured-tours .featured-items .featured-item {
    display: flex;
    flex-direction: column;
    font-size: 18px;
    color: var(--tpt-text-color);
    text-align: left;
}

.featured-tours .featured-items .featured-item h6 {
    margin-bottom: 20px;
    font-size: 32px;
    line-height: 34px;
}

.featured-tours .featured-item div {
    padding: 16px;
}

.featured-tours .featured-item div .tour-info {
    margin-bottom: 8px;
    font-family: var(--tpt-text-font);
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
    line-height: 16px;

/* identical to box height, or 114% */
    /* gray - 70 */
    color: #434345;
}

.featured-tours .row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
}

.featured-tours .column {
    display: flex;
    flex: 1 0 30%;
    flex-basis: 100%;
    flex-direction: column;
    margin-bottom: 20px;
}

.featured-tours .featured-item > a.image-link {
    overflow: hidden;
    width: 100%;
    height: 265px;
}

.featured-tours .featured-item > a img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    margin-bottom: 12px;
    transition: transform .1s ease-in-out;
}

.featured-tours button.slick-arrow {
    top: 133px;
}

.featured-tours .featured-item a.tour-link {
    display: block;
    font-size: 20px;
    line-height: 28px;
    text-transform: capitalize;
}

.featured-tours .featured-item a.tour-link::after {
    display: inline-block;
    padding-left: 5px;
    color: #75979c;
    transition: padding .1s ease-in-out;
    content: " \0203a";
}

/* Featured Tours Glide */

.featured-tours-glide {
    text-align: center;
}

.featured-tours-glide h4 {
    margin-bottom: 48px;
    font-size: 36px;
    font-weight: 700;
    font-style: normal;
    line-height: 52px;
    text-decoration: underline;

    text-underline-offset: 8px;
}

.featured-tours-glide a.tj-button1 {
    margin-top: 48px;
}

/* Featured Tours (Extended) */

.featured-tours.featured-tours-extended {
    text-align: right;
}

.featured-tours.featured-tours-extended .tour-segment {
    margin-bottom: 50px;
}

.featured-tours.featured-tours-extended .tour-segment .tour-segment-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px;
}

.featured-tours.featured-tours-extended h2 {
    position: relative;
    display: block;
    color: #21afe4;
    text-align: center;
}

.featured-tours.featured-tours-extended h2::before {
    position: absolute;
    z-index: -2;
    top: 45%;
    left: 0;
    width: 100%;
    height: 10%;
    border-top: 1px solid #21afe4;
    border-bottom: 1px solid #21afe4;
    content: "";
}

.featured-tours.featured-tours-extended .subtitle {
    display: block;
    width: 100%;
    margin-top: 40px;
    margin-bottom: 20px;
    padding: 10px 0;
    font-family: var(--tpt-text-font);
    font-size: 20px;
    font-weight: 600;
    line-height: 25px;
    text-align: left;
    text-transform: none;
}

.featured-tours.featured-tours-extended .subtitle::after {
    content: none;
}

.featured-tours.featured-tours-extended .tj-button1 {
    margin-bottom: 30px;
}

body .featured-tours.featured-tours-extended .slick-arrow {
    top: 12.5vh;
    width: 45px;
    height: 45px;
    transform: translateY(-50%);
}

.featured-tours.featured-tours-extended .tour-segment .tour-segment-header a:last-of-type {
    position: relative;
}

.featured-tours.featured-tours-extended .tour-segment .tour-segment-header a:last-of-type::after {
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 0;
    height: 2px;
    background-color: #21afe4;
    transition: width .1s ease-in-out, left .1s ease-in-out;
    content: "";
}

.featured-tours.featured-tours-extended .tour-segment a.image-link {
    position: relative;
    display: block;
    overflow: hidden;
    height: 25vh;
    margin-bottom: 16px;
}

.featured-tours.featured-tours-extended .tour-segment .item-title {
    position: relative;
    display: inline-block;
    word-wrap: break-word;
    margin-bottom: 20px;
    font-family: var(--tpt-text-font);
    font-size: 20px;
    font-weight: 600;
    line-height: 25px;
    color: var(--tpt-text-color);
    text-align: left;
    text-decoration: none;
    text-transform: none;
}

.featured-tours.featured-tours-extended .tour-segment .item-title::after {
    position: absolute;
    right: 13%;
    bottom: -7px;
    left: 0;
    width: 30%;
    height: 3px;
    background-color: #21afe4;
    transition: width .1s ease-in-out, left .1s ease-in-out;
    content: "";
}

body .featured-tours.featured-tours-extended .tour-segment button.slick-arrow {
    top: 12.5vh;
    width: 45px;
    height: 45px;
    transform: translateY(-50%);
}

body .featured-tours.featured-tours-extended .tour-segment .featured-items button.slick-arrow.slick-next3 {
    right: -22.5px;
}

body .featured-tours.featured-tours-extended .tour-segment .featured-items button.slick-arrow.slick-prev3 {
    left: -22.5px;
}

.featured-tours-glide.featured-tours-extended-glide {
    text-align: right;
}

.featured-tours-glide.featured-tours-extended-glide .tour-segment {
    margin-bottom: 50px;
}

.featured-tours-glide.featured-tours-extended-glide .tour-segment .tour-segment-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px;
}

.featured-tours-glide.featured-tours-extended-glide h2,
.hotels-page h4 {
    position: relative;
    display: block;
    width: 100%;
    color: #21afe4;
    text-align: left;
    border-bottom: 3px solid #21afe4;
}

.hotels-page h4 {
    margin-bottom: 40px;
    font-size: 42px;
    line-height: 52px;
}

.featured-tours-glide.featured-tours-extended-glide .subtitle {
    display: block;
    width: 100%;
    margin-top: 40px;
    margin-bottom: 20px;
    padding: 10px 0;
    font-family: var(--tpt-text-font);
    font-size: 20px;
    font-weight: 600;
    line-height: 25px;
    text-align: left;
    text-transform: none;
}

.featured-tours-glide.featured-tours-extended-glide .subtitle::after {
    content: none;
}

.featured-tours-glide.featured-tours-extended-glide .tj-button1 {
    margin-bottom: 30px;
}

.featured-tours-extended-glide .more-button {
    margin-right: 9.09%;
}

/* Featured Articles */


/* legacy */

.featured-articles .row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
}

.featured-articles .column {
    flex: 1 0 20%;
}

.featured-articles .featured-item > a {
    display: block;
    overflow: hidden;
    width: 100%;
    height: 204px;
}

.featured-articles .featured-item > a img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    margin-bottom: 12px;
    transition: transform .1s ease-in-out;
}

.featured-articles .featured-item h6 {
    margin-top: 12px;
}

.featured-articles .featured-item a.article-link {
    display: block;
    margin-bottom: 13px;
    font-size: 18px;
    line-height: 26px;
    text-transform: lowercase;
}

.featured-articles .featured-item a::first-letter {
    text-transform: uppercase;
}

.featured-articles .featured-item a.article-link::after {
    display: inline-block;
    padding-left: 5px;
    font-weight: normal;
    color: #75979c;
    transition: padding .1s ease-in-out;
    content: " \0203a";
}

.featured-articles .slick-arrow {
    top: 102px;
}

body.home .featured-articles h4 {
    font-size: 40px;
    line-height: 54px;
    color: #21afe4;
}

body.home .featured-articles .featured-item h6 {
    margin-top: 12px;
    font-family: var(--tpt-text-font);
    font-size: 20px;
    font-weight: 600;
    line-height: 25px;
    text-transform: capitalize;
}

/* /legacy */

body.home .featured-articles h4 {
    font-size: 40px;
    line-height: 54px;
    color: #21afe4;
}

/* Info Bar */

.info-bar {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: normal;
    padding: 50px 8.33%;
}

.info-bar.color,
.info-bar.image {
    align-items: center;
    margin-top: 30px;
    padding: 90px 5% 70px 5%;
    background-repeat: no-repeat;
    background-size: cover;
}

.info-bar.color::before,
.info-bar.image::before {
    position: absolute;
    top: 0;
    left: 0;
    clip-path: polygon(0 0, 100% 0, 100% 40px);
    width: 100%;
    height: 100%;
    background-color: var(--tpt-background-color);
    content: "";
}

.info-bar.color::after,
.info-bar.image::after {
    position: absolute;
    top: calc(100% - 20px);
    left: 0;
    clip-path: polygon(0 20px, 100% 0, 100% 20px);
    width: 100%;
    height: 100%;
    background-color: var(--tpt-background-color);
    content: "";
}

body .info-bar h4 {
    font-size: 36px;
    font-weight: 700;
    font-style: normal;
    line-height: 52px;
    text-decoration: underline;

    text-underline-offset: 8px;
}

.info-bar.color h4,
.info-bar.image h4 {
    max-width: 1000px;
    text-align: center;
    text-decoration: none;
}

.info-bar .ib-content {
    max-width: 840px;
    margin-bottom: 20px;
    font-size: 18px;
    line-height: 24px;
}

.info-bar.color .ib-content,
.info-bar.image .ib-content {
    text-align: center;
}

.info-bar .info-cards {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 24px;
    margin-top: 32px;
}

.info-bar.color .info-cards,
.info-bar.image .info-cards {
    justify-content: center;
    max-width: 1200px;
    margin: 0 auto;
}

.info-bar .info-cards .info-card {
    box-sizing: border-box;
    width: calc(20% - 19.2px);
    height: auto;
    padding: 16px;
    color: var(--tpt-text-color);
}

.info-bar.cpr1 .info-cards .info-card {
    width: 100%;
}

.info-bar.cpr2 .info-cards .info-card {
    width: calc((100% - 24px) / 2);
}

.info-bar.cpr3 .info-cards .info-card {
    width: calc((100% - 24px * 2) / 3);
}

.info-bar.cpr4 .info-cards .info-card {
    width: calc((100% - 24px * 3) / 4);
}

.info-bar.cpr5 .info-cards .info-card {
    width: calc((100% - 24px * 4) / 5);
}

.info-bar.cpr6 .info-cards .info-card {
    width: calc((100% - 24px * 5) / 6);
}

.info-bar.card-border .info-cards .info-card {
    border: 1px solid #dad9c5;
}

.info-bar.cpr2 .info-cards .info-card:nth-of-type(2n) {
    width: calc((100% - 24px) / 2 - 1px);
}

.info-bar.cpr3 .info-cards .info-card:nth-of-type(3n) {
    width: calc((100% - 24px * 2) / 3 - 1px);
}

.info-bar.cpr4 .info-cards .info-card:nth-of-type(4n) {
    width: calc((100% - 24px * 3) / 4 - 1px);
}

.info-bar.cpr5 .info-cards .info-card:nth-of-type(5n) {
    width: calc((100% - 24px * 4) / 5 - 1px);
}

.info-bar.cpr6 .info-cards .info-card:nth-of-type(6n) {
    width: calc((100% - 24px * 5) / 6 - 1px);
}

.info-bar .info-card .icon-wrap {
    position: relative;
    width: 72px;
    height: 72px;
    margin: 0 auto 16px auto;
    background-color: white;
    border-radius: 50%;
}

.info-bar.color .info-card .icon-wrap,
.info-bar.image .info-card .icon-wrap {
    margin-bottom: 8px;
}

.info-bar.white-cards .info-card {
    background-color: white;
}

.info-bar.white-cards .info-card .icon-wrap {
    margin-bottom: 0;
}

.info-bar .info-card .icon-wrap img {
    position: absolute;
    top: 50%;
    left: 50%;
    object-fit: contain;
    width: 40px;
    height: 40px;
    transform: translate(-50%, -50%);
}

.info-bar .info-card h6 {
    margin-bottom: 2px;
    font-size: 20px;
    font-weight: 700;
    font-style: normal;
    line-height: 24px;
    text-align: center;
    text-transform: uppercase;
}

.info-bar .info-card p {
    margin-bottom: 0;
    font-family: var(--tpt-text-font);
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    line-height: 24px;
    text-align: center;
}

.menu-inline-menu-container {
    padding-top: 24px;
    padding-bottom: 24px;
    font-size: 20px;
    line-height: 24px;
    background-color: #21afe4;
}

.menu-inline-menu-container > ul:first-of-type {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    text-align: center;
}

.menu-inline-menu-container ul {
    list-style-type: none;
}

.menu-inline-menu-container > ul > .menu-item {
    display: inline-block;
    max-width: 13%;
    margin-bottom: 20px;
    padding: 10px 20px;
    border: 2px solid var(--tpt-text-color);
}

.menu-inline-menu-container > ul > .menu-item > a:first-of-type {
    display: block;
    font-weight: bold;
}

.menu-inline-menu-container li.menu-item-has-children > a {
    cursor: pointer;
}

.menu-inline-menu-container li.menu-item-has-children > ul {
    overflow: hidden;
    box-sizing: border-box;
    max-height: 0;
    transition: max-height .5s ease-in-out;
}

.menu-inline-menu-container li.menu-item-has-children > ul li:first-child {
    padding-top: 16px;
}

.menu-inline-menu-container li.menu-item-has-children.active > ul {
    max-height: 2000px;
}

.menu-inline-menu-container > ul > .menu-item-has-children > a .plusminus {
    position: relative;
    display: inline-block;
    width: 10px;
    height: 10px;
    background-color: transparent;
    border: none;
    cursor: pointer;
}

.menu-inline-menu-container .menu-item-has-children > a .plusminus::before,
.menu-inline-menu-container .menu-item-has-children > a .plusminus::after {
    position: absolute;
    top: 50%;
    right: -4px;
    width: 100%;
    height: 20%;
    margin-top: -10%;
    background-color: var(--tpt-text-color);
    transition: all .5s ease-in-out;
    content: "";
}

.menu-inline-menu-container .menu-item-has-children > a .plusminus::before {
    transform: rotate(90deg);
}

.menu-inline-menu-container li.menu-item-has-children.active > a .plusminus::before {
    transform: rotate(0);
}

#menu-inline-menu > li ul.sub-menu {
    text-align: left;
}

#menu-inline-menu > li ul.sub-menu li a {
    margin-bottom: 5px;
    font-size: 18px;
    line-height: 26px;
    text-align: left;
}

/* Banner */

.message {
    position: relative;
    box-sizing: border-box;
    padding-top: 60px;
    padding-right: 50px;
    padding-bottom: 60px;
    padding-left: 50px;
}

.message img,
.message .no-image {
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.message .message-content {
    position: relative;
    max-width: 442px;
    margin-left: 14.31%;
}

.message .message-content h5 {
    margin-bottom: 24px;
    font-size: 42px;
    line-height: 42px;
}

.message .message-content p {
    padding-bottom: 24px;
    font-size: 18px;
    line-height: 26px;
}

/* Content Cards Slider */

.content-cards-slider .content-cards {
    background-color: #f0f0f0;
}

.content-cards-slider .content-card {
    display: flex;
}

.content-cards-slider .content-card img {
    object-fit: cover;
    width: 65%;
}

.content-cards-slider .content-card.image-only img {
    width: 100%;
}

.content-cards-slider .content-card > div {
    box-sizing: border-box;
    width: 35%;
    padding: 106px 30px 60px 34px;
    font-size: 18px;
    line-height: 26px;
}

.content-cards-slider .content-card.image-only > div {
    display: none;
}

.content-cards-slider .content-card > div h6 {
    display: inline-block;
    margin-bottom: 18px;
    font-size: 32px;
    line-height: 34px;
    border-bottom: solid 6px #21afe4;
}

.content-cards-slider .content-card > div p {
    margin-bottom: 30px;
    padding-bottom: 60px;
}

.content-cards-slider .content-card > div a.tj-button1 {
    position: absolute;
    bottom: 60px;
}

/* Customize Banner */

.customize-banner {
    position: relative;
    display: flex;
    flex-direction: row-reverse;
    box-sizing: border-box;
}

.customize-banner:nth-child(even) {
    flex-direction: row;
}

.customize-banner img,
.customize-banner .no-image {
    position: relative;
    display: block;
    object-fit: cover;
    width: 50%;
    height: auto;
    max-height: unset;
}

.customize-banner .banner-content {
    width: calc(50% - 260px);
    padding: 160px 130px;
}

.customize-banner .banner-content h5 {
    margin-bottom: 38px;
    font-family: "Cormorant", serif;
    font-size: 45px;
    font-weight: 600;
    font-style: italic;
    line-height: 55px;
}

.customize-banner .banner-content p {
    margin-bottom: 28px;
    font-family: "proxima-nova";
    font-size: 18px;
    font-weight: normal;
    font-style: normal;
    line-height: 27px;
    letter-spacing: .02em;
}

/* Decoration Image Layout */

.decorated-content-box:not(.no-decoration) {
    box-sizing: border-box;
    padding-right: 20%;
}

.decorated-content-box.layout-tile {
    background-repeat: repeat;
    background-position: right;
    background-size: 120px;
}

.decorated-content-box.layout-cover {
    background-repeat: no-repeat;
    background-position: right;
    background-size: cover;
}

.decorated-content-box .decorated-content {
    padding-bottom: 35px;
}

.decorated-content-box.bg-color .decorated-content {
    padding-top: 35px;
}

.decorated-content-box .decorated-content > p {
    font-size: 20px;
    font-weight: 400;
    line-height: 26px;
}

.decorated-content-box .decorated-content > h4 {
    font-size: 40px;
    line-height: 50px;
}

.decorated-content-box .decorated-content > h4::after {
    margin-top: 0;
}

.decorated-content-box .decorated-content blockquote p {
    font-size: 30px;
    font-weight: bold;
    line-height: 29px;
}

.decorated-content-box:not(.standard-padding) .decorated-content {
    padding-right: 65px;
    padding-left: 40px;
}

.decorated-content-box.no-decoration .decorated-content {
    margin: 0 auto;
}

.decorated-content-box p.action-link {
    text-align: right;
}

.decorated-content-box p.action-link > a {
    font-size: 22px;
    font-weight: bold;
    line-height: 32px;
    text-transform: uppercase;
}

.decorated-content-box p.action-link > a > span {
    text-decoration: underline;
}

.decorated-content-box p.action-link > a::after {
    display: inline-block;
    margin-left: 7px;
    vertical-align: text-bottom;
    transition: .1s transform ease-in-out;
    content: "\2192";
}

.decorated-content-box p.press-logos {
    text-align: center;
}

.decorated-content-box p.press-logos img {
    display: inline-block;
    width: 10vw;
    min-width: 150px;
    height: auto;
    margin-right: 30px;
    margin-bottom: 22px;
    vertical-align: top;
}

/* Tiny Customer Reviews */

.tiny-customer-reviews:not(.active) {
    display: none;
}

.tiny-customer-reviews h2 {
    text-align: left;
}

.tiny-customer-reviews > p {
    margin: 0 0 30px 0;
    text-align: left;
}

.tiny-customer-reviews .tiny-reviews .review-card {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    width: 100%;
    margin-bottom: 10px;
    padding: 20px;
    font-family: var(--tpt-text-font);
    color: #151209;
    background: white;
    border: 1px solid  #e5dcdc;
    border-radius: 3px;
    box-shadow: 0 8px 16px 0 rgba(170, 168, 145, .12);
}

.tiny-customer-reviews .tiny-reviews .review-card .review-header {
    margin-bottom: 25px;
}

.tiny-customer-reviews .tiny-reviews .review-card .review-header > div {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.tiny-customer-reviews .tiny-reviews .review-card .review-header > div span {
    font-size: 14px;
    font-weight: 500;
    font-style: italic;
    line-height: 120%; /* 16.8px */
    color: #757579;
}

.tiny-customer-reviews .tiny-reviews .review-card .review-header h6 {
    margin-top: 7px;
    font-size: 18px;
    font-weight: 700;
    line-height: 120%;
}

.tiny-customer-reviews .tiny-reviews .review-card .review-title {
    font-size: 16px;
    font-weight: 600;
    font-style: normal;
    line-height: 125%;
}

.tiny-customer-reviews .tiny-reviews .review-card .review-content {
    font-size: 16px;
    font-weight: 400;
    font-style: italic;
    line-height: 140%;
}

.tiny-customer-reviews .tiny-reviews .review-card .review-content p:not(.active) {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 7;
            line-clamp: 7;
    -webkit-box-orient: vertical;
            box-orient: vertical;
}

.tiny-customer-reviews .tiny-reviews .review-card .read-more {
    margin-top: 8px;
    font-size: 16px;
    font-weight: 600;
    font-style: normal;
    line-height: 125%;
    color: #21afe4;
}

.tiny-customer-reviews .tiny-reviews .review-card .read-more::before {
    content: "Show More";
}

.tiny-customer-reviews .tiny-reviews .review-card .read-more.active::before {
    content: "Show Less";
}

/* Press Qoutes */

.press-quotes {
    position: relative;
    display: flex;
}

.press-quotes .img-wrap {
    z-index: 1;
    display: block;
    flex: 1 0 400px;
    width: 100%;
    min-height: 40vh;
    max-height: 100%;
    margin-right: 140px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.press-quotes .img-wrap img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    max-height: unset;
}

.press-quotes .publications {
    padding-top: 80px;
    padding-bottom: 80px;
    border-top: 1px solid rgba(0, 0, 0, .25);
}

.press-quotes .publications .publication {
    display: flex;
    flex-direction: column;
    align-content: space-between;
}

.press-quotes .publications .publication img {
    display: block;
    max-width: 300px;
    height: auto;
}

.press-quotes .publications .publication blockquote {
    max-width: 530px;
    font-family: "Cormorant", serif;
    font-size: 36px;
    font-weight: 500;
    font-style: italic;
    line-height: 50px;
}

.press-quotes .publications .publication ul {
    list-style: none;
}

.press-quotes .publications .publication ul li {
    font-family: "proxima-nova";
    font-size: 18px;
    font-weight: normal;
    line-height: 32px;
}

/* Itinerary */

.itinerary {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 5%;
}

.itinerary h2 {
    margin-bottom: 52px;
    padding: 0;
    font-size: 36px;
    font-weight: 700;
    font-style: normal;
    line-height: 50px;
    letter-spacing: .02em;
    text-decoration: underline 2px;
    text-transform: uppercase;
    border: none;

    text-underline-offset: 7px;
}

.itinerary .itinerary-video {
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: flex-start;
    gap: 50px;
}

.itinerary .itinerary-video video {
    max-width: 400px;
    margin-top: 10px;
    border-radius: 5px;
}

.itinerary.simplified .itinerary-video {
    gap: 2px;
}

.highlights .itinerary h2 {
    text-align: center;
}

.itinerary .itinerary-items {
    position: relative;
    max-width: 800px;
}

.itinerary > .itinerary-items {
    margin-right: auto;
    margin-left: auto;
}

.itinerary .itinerary-items::before {
    position: absolute;
    top: 30px;
    bottom: 30px;
    left: 20px;
    border-left: 2px dashed #b9b9bf;
    content: "";
}

.itinerary .itinerary-item {
    position: relative;
    padding: 18px 0;
    cursor: pointer;
}

.itinerary .itinerary-item.empty {
    cursor: default;
}

.itinerary .itinerary-item::after {
    position: absolute;
    bottom: 0;
    left: 30px;
    width: calc(100% - 30px);
    border-bottom: dashed 1px #999;
    content: "";
}

.itinerary .itinerary-item:last-of-type .itinerary-content {
    background-color: var(--tpt-background-color);
}

.itinerary .itinerary-item .itinerary-item-title {
    position: relative;
    display: flex;
    align-items: center;
    margin-bottom: 0;
    padding-right: 48px;
    padding-left: 52px;
    font-family: var(--tpt-text-font);
    font-size: 18px;
    font-weight: 600;
    font-style: normal;
    line-height: 24px;
    color: var(--tpt-text-color);
    text-transform: none;
}

.itinerary .itinerary-item .itinerary-item-title::before {
    position: absolute;
    left: 0;
    display: block;
    width: 40px;
    height: 40px;
    background-color: #21afe4;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px;
    border-radius: 50%;
    transition: .1s all ease-in-out;
    content: "";
}

.itinerary .itinerary-item.active .itinerary-item-title::before {
    transform: scale(1.15);
}

.itinerary .itinerary-item:not(:first-of-type):not(:last-of-type).active .itinerary-item-title::after {
    transform: translateY(-50%) scale(1.25);
}

.itinerary .itinerary-item:not(:first-of-type):not(:last-of-type) .itinerary-item-title::before {
    box-sizing: content-box;
    width: 16px;
    height: 16px;
    background: white;
    background-image: unset;
    border: #21afe4 solid 12px;
    transition: transform .1s ease-in-out;
}

.itinerary .itinerary-item:not(:first-of-type):not(:last-of-type) .itinerary-item-title::after {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 16px;
    width: 8px;
    height: 8px;
    background-color: #21afe4;
    border-radius: 50%;
    transform: translateY(-50%);
    transition: transform .1s ease-in-out;
    content: "";
}

.itinerary .itinerary-item:not(.empty) .itinerary-content::after {
    position: absolute;
    top: 28px;
    right: 4px;
    display: inline-block;
    padding: 4px;
    border-width: 0 2.5px 2.5px 0;
    border-style: solid;
    transform: rotate(45deg);
    transition: transform .1s ease-in-out;
    content: "";
}

.itinerary .itinerary-item:not(.empty).active .itinerary-content::after {
    transform: rotate(225deg);
}

.itinerary .itinerary-item .right-block {
    width: 100%;
    max-width: 266px;
    height: auto;
    margin: 25px 50px 20px 40px;
}

.itinerary .itinerary-item .right-block img {
    display: block;
    object-fit: cover;
    width: 100%;
    height: auto;
}

.itinerary .itinerary-item .right-block > p {
    padding: 16px 20px 24px 20px;
    font-size: 16px;
    line-height: 28px;
    background-color: #f5f5f5;
}

.itinerary .itinerary-item .right-block > p > strong {
    display: block;
    margin-bottom: 8px;
}

.itinerary .itinerary-item .itinerary-content > ul {
    width: calc(100% - 410px);
    margin-top: 25px;
    padding-left: 74px;
    font-size: 18px;
    line-height: 28px;
}

.itinerary .itinerary-item .itinerary-content > ul.no-image {
    width: 100%;
    background: none;
}

.itinerary .itinerary-item .itinerary-content > ul > li {
    width: 100%;
    margin-bottom: 10px;
    vertical-align: top;
}

.itinerary .itinerary-item .itinerary-content > ul > li > span {
    display: inline-block;
    width: calc(100% - 15px);
    vertical-align: top;
}

.itinerary .itinerary-item .itinerary-content {
    display: flex;
    overflow-y: hidden;
    justify-content: space-between;
    max-height: 0;
    font-size: 18px;
    line-height: 28px;
    transition: max-height .4s ease-in-out;
}

.itinerary .itinerary-item.active .itinerary-content {
    max-height: 1080px;
}

.itinerary .itinerary-disclaimer-notice {
    width: 100%;
    max-width: 800px;
    margin: 32px auto;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: #757579;
    text-align: left;
}

.itinerary.simplified .itinerary-item .itinerary-item-title {
    margin-left: 48px;
    padding-right: 48px;
    padding-left: 48px;
    font-family: var(--tpt-text-font);
    font-size: 18px;
    font-weight: 600;
    font-style: normal;
    line-height: 24px;
    color: var(--tpt-text-color);
    text-transform: none;
}

.itinerary.simplified .itinerary-items::before {
    left: 63px;
}

.itinerary.simplified .itinerary-item {
    padding: 16px 0;
}

.itinerary.simplified .itinerary-item::after {
    content: none;
}

.itinerary.simplified .itinerary-disclaimer-notice {
    text-align: center;
}

.itinerary.simplified .itinerary-item .itinerary-item-title::before {
    top: 50%;
    width: 32px;
    height: 32px;
    background-size: 16px;
    transform: translateY(-50%);
}

.itinerary.simplified .itinerary-item:not(:first-of-type):not(:last-of-type) .itinerary-item-title::before {
    width: 16px;
    height: 16px;
    border-width: 8px;
}

.itinerary.simplified .itinerary-item:not(:first-of-type):not(:last-of-type) .itinerary-item-title::after {
    left: 12px;
}

.itinerary .package-customization {
    box-sizing: border-box;
    width: 340px;
    min-width: 340px;
    padding: 24px;
    text-align: center;
    background: white;
    border: 1px solid #e5dcdc;
}

.itinerary .package-customization h3 {
    margin-bottom: 16px;
    font-family: var(--tpt-title-font);
    font-size: 24px;
    font-weight: 700;
    font-style: normal;
    line-height: 30px;
    letter-spacing: .24px;
    color: #21afe4;
    text-align: center;
}

.itinerary .package-customization h3::after {
    content: unset;
}

.itinerary .package-customization ul {
    display: flex;
    flex-direction: column;
    gap: 24px;
    text-align: center;
    list-style: none;
}

.itinerary .package-customization ul li {
    font-family: var(--tpt-text-font);
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
    line-height: 20px;
    color: var(--tpt-text-color);
}

.itinerary .package-customization ul li a,
.itinerary .package-customization ul li .contact-popup {
    display: inline-block;
    margin-top: 8px;
    font-size: 16px;
    font-weight: 600;
    font-style: normal;
    line-height: 20px;
    color: #21afe4;
    text-transform: capitalize;
    cursor: pointer;
}

.itinerary .package-customization ul li a::after,
.itinerary .package-customization ul li .contact-popup::after {
    display: inline-block;
    width: 9px;
    height: 9px;
    margin-left: 4px;
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/chev-21afe4.svg);
    background-repeat: no-repeat;
    background-position: center center;
    transition: transform .1s ease-in-out;
    content: "";
}

/* Mobile Question */

.mobile-question {
    display: none;
    box-sizing: border-box;
    width: 100%;
    margin-top: 64px;
    padding: 25px 5%;
    background-color: #71d1fe;
}

.mobile-question > div {
    padding-right: 5%;
}

.mobile-question > div > div {
    margin-bottom: 10px;
    font-family: var(--tpt-title-font);
    font-size: 20px;
    font-weight: 600;
    line-height: 27px;
    text-transform: uppercase;
}

.mobile-question > div > p {
    font-size: 18px;
    line-height: 26px;
}

.mobile-question > a {
    position: relative;
    display: inline-block;
    flex: 0 1 auto;
    margin-right: 0;
    padding: 10px;
    font-size: 18px;
    font-weight: normal;
    line-height: 26px;
    text-align: center;
    text-transform: uppercase;
    border: 2px solid var(--tpt-text-color);
}

/* Pickup / Dropoff */

.pickup-dropoff {
    display: flex;
    margin-bottom: 100px;
    padding-bottom: 40px;
    border-bottom: 1px #bebebe solid;
}

.pickup-dropoff > div {
    width: 45%;
    padding-right: 5%;
}

.pickup-dropoff > div p {
    font-size: 20px;
    line-height: 28px;
}

/* Two Columns Promotion (Why Choose This Trip) */

.two-columns-promotion {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 5%;
}

.two-columns-promotion h4 {
    margin-bottom: 20px;
    font-family: var(--tpt-title-font);
    font-size: 26px;
    font-weight: 700;
    font-style: normal;
    line-height: 32px;
    letter-spacing: .01em;
    color: #292500;
    text-align: left;
    text-decoration: none;
    text-transform: uppercase;
}

.two-columns-promotion .left-column > div {
    font-family: var(--tpt-text-font);
    font-size: 20px;
    font-weight: 400;
    line-height: 34px;
    letter-spacing: -.01em;
    color: #292500;
}

.two-columns-promotion .left-column.expandable > div p {
    display: none;
}

/*
.two-columns-promotion .left-column>div p:first-of-type {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    box-orient: vertical;
}
.single.single-tours .two-columns-promotion .left-column>div p:first-of-type {
    -webkit-line-clamp: 8;
    line-clamp: 8;
}
*/

.two-columns-promotion .left-column > div p.active {
    display: block;
}

.two-columns-promotion .left-column ul {
    margin-bottom: 30px;
}

.two-columns-promotion .left-column ul li {
    display: inline-block;
    width: 100%;
    max-width: calc(100% - 30px);
    margin: 10px 0;
    padding-left: 15px;
    font-size: 18px;
    line-height: 24px;
    vertical-align: top;
}

.two-columns-promotion .left-column ul li::before {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 4px;
    margin-bottom: 6px;
    margin-left: -20px;
    padding: 3px;
    font-size: 12px;
    font-weight: 700;
    line-height: 10px;
    color: var(--tpt-text-color);
    text-align: center;
    vertical-align: middle;
    background: 0 0;
    border-radius: 50%;
    content: "\2022\fe0e";
}

.two-columns-promotion a {
    color: #21afe4;
}

.reviews-block {
    display: block;
    object-fit: cover;
    width: 340px;
    min-width: 340px;
    height: 280px;
}

.reviews-block img {
    width: 100%;
    max-width: 340px;
    height: auto;
    margin: 0 auto;
}

.why-us {
    overflow-x: clip;
    box-sizing: border-box;
    width: 340px;
    min-width: 340px;
    max-width: 340px;
    font-size: 20px;
    line-height: 28px;
    background-color: white;
    border: 1px solid #e5dcdc;
}

.why-us .rc-title {
    position: relative;
    margin-bottom: 26px;
    padding: 10px 20px 0 20px;
    font-family: var(--tpt-title-font);
    font-size: 26px;
    font-weight: 700;
    line-height: 32px;
    text-align: center;
    text-transform: uppercase;
    background-color: var(--tpt-secondary-color);
}

.why-us .rc-title::before {
    position: absolute;
    bottom: -18px;
    left: -4px;
    width: 0;
    height: 0;
    border-width: 0 27px 22px 0;
    border-style: solid;
    border-color: transparent var(--tpt-secondary-color) transparent transparent;
    content: "";
}

.why-us .rc-title::after {
    position: absolute;
    bottom: -18px;
    left: 22px;
    height: 0;
    border-width: 19px 530px 0 0;
    border-style: solid;
    border-color: var(--tpt-secondary-color) transparent transparent transparent;
    content: "";
}

.why-us .rc-content {
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    width: 336px;
    padding: 0 18px 36px;
    color: var(--tpt-text-color);
}

.why-us .rc-content > svg {
    width: 17px;
    height: 16px;
    transform: translateY(1px);
}

.why-us > div:last-of-type::before {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 0;
    height: 0;
    border-width: 0 0 36px 159px;
    border-style: solid;
    border-color: transparent transparent #b0e8f9 transparent;
    content: "";
}

.why-us > div:last-of-type::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    border-width: 22px 0 0 296px;
    border-style: solid;
    border-color: transparent transparent transparent #0bafe6;
    content: "";
}

.why-us > div > span.check {
    display: inline-block;
    margin-bottom: 14px;
}

.why-us > div > span:not(.check) {
    display: inline-block;
    width: calc(100% - 25px);
    padding: 4px 0 12px 8px;
    font-family: var(--tpt-text-font);
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    color: #2e1702;
    vertical-align: top;
}

.two-columns-promotion h6,
.why-us .rc-content h6 {
    display: inline-block;
    margin-top: 10px;
    padding: 1px 3px 1px 5px;
    font-size: 18px;
    line-height: 24px;
    text-transform: capitalize;
    background-color: var(--tpt-secondary-color);
}

.two-columns-promotion p {
    margin-bottom: 26px;
    font-size: 20px;
    line-height: 34px;
}

.two-columns-promotion p:last-of-type {
    margin-bottom: 0;
}

.testimonials-static h6 {
    margin-bottom: 16px;
    font-family: var(--tpt-text-font);
    font-size: 24px;
    font-weight: 600;
    font-style: normal;
    line-height: 32px;
    color: #292500;
    text-transform: capitalize;
}

.testimonials-static ul li {
    height: 250px;

/*
        width: 500px;
    min-width: 500px;
    max-width: 500px;
    max-height: 300px;
    */
    margin: 4px 6px;
    padding: 10px;
    text-align: center;
    background-color: white;
    border: none;
    border-radius: 2px;
    box-shadow: 0 0 4px rgba(117, 117, 117, .46);
}

.testimonials-static ul li img {
    object-fit: contain;

/* width: 500px; */
    width: 100%;
    height: 250px;
}

/* Highlights */

.highlights h2 {
    text-align: center;
}

.highlights .highlights-list {
    list-style: none;
    counter-reset: item;
}

.highlights .highlights-list .highlight {
    position: relative;
    margin-bottom: 28px;
    padding-left: 48px;
    font-family: var(--tpt-text-font);
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    line-height: 24px;
    color: #292500;
    counter-increment: item;
}

.highlights .highlights-list .highlight::before {
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    width: 32px;
    height: 32px;
    font-family: var(--tpt-title-font);
    font-size: 20px;
    font-weight: 700;
    font-style: normal;
    line-height: 32px;
    color: var(--tpt-text-color);
    text-align: center;
    background: var(--tpt-secondary-color);
    border-radius: 50%;
    transform: translateY(-50%);
    content: counter(item);
}

.highlights .highlights-list .highlight:last-of-type {
    margin-bottom: 0;
}

.highlights .highlights-content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 5%;
    margin-top: 41px;
}

/* Masonry Photo Links */

.masonry-photo-links {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.masonry-photo-links h4 {
    max-width: 950px;
    margin-bottom: 16px;
    padding-right: 5%;
    padding-left: 5%;
    font-size: 36px;
    font-weight: 700;
    font-style: normal;
    line-height: 36px;
    text-align: center;
}

.masonry-photo-links > p {
    max-width: 840px;
    padding-right: 5%;
    padding-left: 5%;
    font-size: 20px;
    font-weight: 400;
    font-style: normal;
    line-height: 28px;
    text-align: center;
}

.masonry-photo-links .mpl-flex-container {
    display: flex;
    flex-wrap: wrap;
    gap: 1px;
    width: 100%;
    margin-top: 40px;
}

.masonry-photo-links .odd-row {
    flex: 0 0 calc((100% - 2px) / 3);
}

.masonry-photo-links .even-row {
    flex: 0 0 calc((100% - 3px) / 4);
}

.masonry-photo-links .last-row {
    flex: 1 1 0;
    margin-right: 1px;
}

.masonry-photo-links .last-row:last-child {
    margin-right: 0;
}

.masonry-photo-links .masonry-photo-link {
    display: flex;
    justify-content: center;
    align-items: center;
}

.masonry-photo-links a {
    position: relative;
    display: block;
    width: 100%;
}

.masonry-photo-links a > div {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    padding: 10px;
    text-align: center;
    transition: all .1s ease-in-out;
}

.masonry-photo-links a img {
    display: block;
    object-fit: cover;
    width: 100%;
    height: 380px;
}

.masonry-photo-links a > div h6 {
    font-size: 36px;
    font-weight: 700;
    font-style: normal;
    line-height: 32px;
    letter-spacing: .36px;
    color: white;
}

.masonry-photo-links a > div span {
    display: none;
    font-size: 18px;
    font-weight: 400;
    font-style: normal;
    line-height: 26px;
    color: white;
}

.masonry-photo-links a > div span svg {
    width: 8px;
    height: 8px;
    margin-left: 8px;
}

.masonry-photo-links a > div span svg path {
    fill: white;
}

.meet-our-people ul li {
    cursor: pointer;
}

.meet-our-people ul li .mop-photos {
    position: relative;
    overflow: hidden;
    width: 100%;
    min-width: 300px;
    height: 300px;
    margin-bottom: 20px;
}

.meet-our-people ul li .mop-photos img {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 300px;
}

.meet-our-people ul li .mop-photos img:first-of-type {
    transition: transform .3s ease;
}

.meet-our-people ul li .mop-plus {
    position: relative;
    width: 24px;
    height: 24px;
    margin-bottom: 6px;
    opacity: 0;
    transition: opacity .3s ease-in-out;
}

.meet-our-people ul li .mop-plus .plus-line {
    display: block;
    width: 100%;
    height: 3px;
    background: var(--tpt-text-color);
    border-radius: 40px;
    transition: .3s;
}

.meet-our-people ul li .mop-plus .plus-line:nth-child(1) {
    position: absolute;
    top: 50%;
    height: 3px;
    transform: translateY(-50%);
}

.meet-our-people ul li .mop-plus .plus-line:nth-child(2) {
    position: absolute;
    top: 50%;
    bottom: 0;
    left: 50%;
    width: 3px;
    height: 100%;
    transform: translate(-50%, -50%);
    transition: height .3s ease-in-out;
}

.meet-our-people ul li.active .mop-plus .plus-line:nth-child(2) {
    height: 0;
}

.meet-our-people ul li:hover .mop-photos img:first-of-type {
    transform: scale(1.1);
}

.meet-our-people ul li:hover .mop-plus,
.meet-our-people ul li.active .mop-plus {
    opacity: 1;
}

.meet-our-people ul li .mop-photos img:last-of-type {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transform: rotate(5deg) scale(1.1);
    transition: opacity .4s ease, transform .4s ease;
}

.meet-our-people ul li {
    width: 300px;
}

.meet-our-people ul li h6 {
    margin-bottom: 6px;
    font-size: 22px;
    font-weight: 700;
    text-transform: uppercase;
}

.meet-our-people ul li .mop-position {
    margin-bottom: 6px;
    font-size: 16px;
}

.meet-our-people ul li .mop-description {
    font-size: 14px;
    line-height: 20px;
    opacity: 0;
    transition: opacity .3s ease;
}

.meet-our-people ul li.active .mop-description {
    opacity: 1;
}

.meet-our-people ul li.active .mop-photos img:last-of-type {
    opacity: 1;
    transform: rotate(0) scale(1);
}

/* Photo Gallery */

.photo-gallery .gallery {
    margin-bottom: 30px;
}

.photo-gallery h2 {
    line-height: 42px;
}

.photo-gallery .gallery .gallery-item {
    display: inline-block;
    overflow: hidden;
    width: calc((100% - 64px) / 3);
    margin: 0 16px;
    vertical-align: top;
}

.photo-gallery .gallery img {
    object-fit: cover;
    width: 100%;
    height: 300px;
}

.photo-gallery .gallery figcaption {
    padding: 10px;
}

.photo-gallery .gallery .gallery-item:first-of-type {
    margin-left: 0;
}

.photo-gallery .gallery .gallery-item:nth-of-type(3) {
    margin-right: 0;
}

.photo-gallery .gallery .gallery-item:nth-child(n+4) {
    display: none;
}

.photo-gallery .expand-gallery {
    font-family: var(--tpt-title-font);
    font-size: 20px;
    font-weight: 600;
    line-height: 24px;
    color: #21afe4;
    text-transform: uppercase;
    cursor: pointer;
}

.photo-gallery .expand-gallery::after {
    content: " >";
}

/* Detail Lists */

.detail-lists {
    max-width: 870px;
    margin-right: auto;
    margin-left: auto;
}

.detail-lists .detail-list {
    position: relative;
    cursor: pointer;
}

.detail-lists .detail-list::before {
    position: absolute;
    top: 14px;
    left: 0;
    display: block;
    width: 40px;
    height: 40px;
    background-color: #21afe4;
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/icon-exclamation-white.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px;
    border-radius: 50%;
    transition: .1s all ease-in-out;
    content: "";
}

.detail-lists .detail-list.includes::before {
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/icon-check-round-v-white.svg);
}

.detail-lists .detail-list.excludes::before {
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/icon-check-round-x-white.svg);
}

.detail-lists .detail-list.essential-information::before {
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/icon-infobook-white.svg);
}

.detail-lists .detail-list.cancellation-policy::before {
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/icon-cancel-white.svg);
}

.detail-lists .detail-list .list-title {
    position: relative;
    margin-bottom: 0;
    padding: 18px 30px 18px 56px;
    font-family: var(--tpt-title-font);
    font-size: 26px;
    font-weight: 700;
    font-style: normal;
    line-height: 32px;
    letter-spacing: .01em;
    text-transform: uppercase;
}

.detail-lists .detail-list .list-title::before {
    position: absolute;
    top: 28px;
    right: 4px;
    display: inline-block;
    padding: 4px;
    border-width: 0 2.5px 2.5px 0;
    border-style: solid;
    transform: rotate(45deg);
    transition: transform .1s ease-in-out;
    content: "";
}

.detail-lists .detail-list.active .list-title::before {
    transform: rotate(225deg);
}

.detail-lists .detail-list .list-title::after {
    position: absolute;
    right: 30px;
    bottom: 0;
    left: 56px;
    height: 1px;
    background: #bebebe;
    content: "";
}

.detail-lists .detail-list:last-of-type,
.detail-lists .detail-list:last-of-type .list-content .detail:last-of-type,
.detail-lists .detail-list:last-of-type .list-content .detail:last-of-type span {
    margin-bottom: 0;
}

.detail-lists .detail-list .list-content {
    overflow: hidden;
    max-height: 0;
    padding-left: 56px;
    transition: max-height .4s ease-in-out;
}

.detail-lists .detail-list.active .list-content {
    max-height: 1000px;
}

.detail-lists .detail-list .list-content .detail {
    margin-bottom: 12px;
}

.detail-lists .detail-list .list-content .detail:first-of-type {
    margin-top: 25px;
}

.detail-lists .detail-list:not(.includes):not(.excludes) .list-content .detail::before {
    display: inline-block;
    width: 5px;
    height: 5px;
    margin: 0 13px 4px 6px;
    vertical-align: middle;
    background-color: var(--tpt-text-color);
    border-radius: 50%;
    content: "";
}

.detail-lists .detail-list.includes .list-content .detail::before {
    display: inline-block;
    width: 17px;
    height: 16px;
    margin: 0 8px 0 0;
    padding: 0;
    padding-bottom: 2px;
    vertical-align: middle;
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/icon-check-round-v-219653.svg);
    background-repeat: no-repeat;
    content: "";
}

.detail-lists .detail-list.excludes .list-content .detail::before {
    display: inline-block;
    width: 17px;
    height: 16px;
    margin: 0 7px 0 0;
    padding-bottom: 2px;
    vertical-align: middle;
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/icon-check-round-x-938a82.svg);
    background-repeat: no-repeat;
    content: "";
}

.detail-lists .detail-list .list-content .detail span {
    display: inline-block;
    max-width: calc(100% - 30px);
    font-size: 16px;
    line-height: 20px;
    vertical-align: top;
}

.availability-and-pricing:not(.legacy) .availability-and-pricing-availability,
.availability-and-pricing .availability-and-pricing-pricing {
    box-sizing: border-box;
    max-width: 860px;
    margin-right: auto;
    margin-left: auto;
    padding: 32px 40px 48px 40px;
    background: white;
    border: 1px solid #e5dcdc;
    border-radius: 8px;
}

.availability-and-pricing .availability-and-pricing-pricing .pb-subtitle {
    max-width: none;
    margin-bottom: 28px;
    font-family: var(--tpt-text-font);
    font-size: 18px;
    font-weight: 700;
    font-style: normal;
    line-height: 24px;
    color: #3d3700;
    text-align: center;
}

.availability-and-pricing:not(.legacy) .availability-and-pricing-availability .pb-subtitle {
    margin-top: 50px;
}

.availability-and-pricing:not(.legacy) .availability-and-pricing-availability h4 {
    margin-bottom: 0;
}

.availability-and-pricing .availability-and-pricing-pricing h4 {
    margin-bottom: 20px;
}

.availability-and-pricing .availability-and-pricing-availability.activity {
    box-sizing: border-box;
    max-width: 860px;
    margin-right: auto;
    margin-left: auto;
}

.availability-and-pricing .availability-and-pricing-availability .pb-subtitle {
    margin-bottom: 20px;
}

.customize-tour > div {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    margin-bottom: 24px;
    padding: 16px 32px;
}

.customize-tour > div.private-tour-banner {
    display: flex;
    margin-bottom: 24px;
    background-color: #f0f5fc;
}

.customize-tour > div.customized-tour-banner {
    display: flex;
    background-color: #fcf5b4;
}

.customize-tour > div.private-tour-banner > div:first-of-type {
    display: inline-block;
    min-height: 88px;
    padding-left: calc(76px + 38px);
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/private-tour-banner-icon.svg);
    background-repeat: no-repeat;
    background-size: 76px 88px;
}

.customize-tour > div.customized-tour-banner > div:first-of-type {
    display: inline-block;
    min-height: 88px;
    margin-right: 30px;
    padding-left: calc(76px + 38px);
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/customized-tour-banner-icon.svg);
    background-repeat: no-repeat;
    background-size: 76px 88px;
}

.customize-tour > div > div {
    flex: 1 1;
    padding-right: 5%;
}

.customize-tour > div > div > div {
    margin-bottom: 8px;
    font-family: var(--tpt-title-font);
    font-size: 20px;
    font-weight: 700;
    font-style: normal;
    line-height: 24px;
    text-transform: uppercase;
}

.customize-tour > div > div > p {
    font-size: 16px;
    font-weight: 600;
    font-style: normal;
    line-height: 20px;
}

.customize-tour > div > a {
    position: relative;
    display: inline-block;
    flex: 0 1 auto;
    margin-right: 0;
    padding: 10px 30px;
    font-family: var(--tpt-title-font);
    font-size: 22px;
    font-weight: 700;
    font-style: normal;
    line-height: 24px;
    letter-spacing: .02em;
    text-align: center;
    text-transform: uppercase;
    border: 2px solid var(--tpt-text-color);
}

/* Content AND Image Pair */

.content-image-pair {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
}

.content-image-pair:nth-of-type(even) {
    flex-direction: row-reverse;
}

.content-image-pair .left-pane {
    display: inline-block;
    vertical-align: middle;
}

.content-image-pair:not(.text-only) .left-pane {
    width: calc(50% - 100px);
}

.content-image-pair:not(.text-only):nth-of-type(odd) .left-pane {
    padding-right: 100px;
}

.content-image-pair:not(.text-only):nth-of-type(even) .left-pane {
    padding-left: 100px;
}

.content-image-pair img {
    display: inline-block;
    object-fit: cover;
    width: 50%;
    vertical-align: middle;
}

.content-image-pair:nth-of-type(odd) img {
    width: calc(50% - 100px);
    margin-left: 100px;
}

/* Internal Links Block */

.internal-links-block {
    padding-top: 78px;
    padding-bottom: 90px;
    background-color: #f0f0f0;
}

.internal-links-block > p {
    max-width: 80%;
    margin-bottom: 40px;
    font-size: 18px;
    line-height: 26px;
}

.internal-links-block .internal-links {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    width: calc(100% + 34px);
    margin-left: -17px;
}

.internal-links-block .internal-links .internal-link {
    flex: 1 0 25%;
    margin-right: 17px;
    margin-bottom: 50px;
    margin-left: 17px;
}

.internal-links-block .internal-links .internal-link > img {
    object-fit: cover;
    height: 186px;
    margin-bottom: 12px;
}

.internal-links-block .internal-links .internal-link > a {
    font-size: 18px;
    line-height: 26px;
}

.internal-links-block .internal-links .internal-link > a::after {
    content: " \0203A";
}

/* Info Columns */

.info-columns > div {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    width: calc(100% + 34px);
    margin-left: -17px;
}

.info-columns > div .info-column {
    flex: 1 0 20%;
    margin-right: 17px;
    margin-bottom: 50px;
    margin-left: 17px;
}

.info-columns > div .info-column img {
    object-fit: cover;
    height: 183px;
    margin-bottom: 20px;
}

/* About Ticker */

.about-ticker {
    display: flex;
    overflow: hidden;
    flex-direction: row;
}

.about-ticker .left-pane {
    position: relative;
    width: 100%;
    padding: 180px 60px 50px 60px;
}

.about-ticker .left-pane > p {
    display: block;
    margin-bottom: 27px;
    font-family: "Cormorant", serif;
    font-size: 36px;
    font-weight: 400;
    line-height: 46px;
}

.about-ticker .left-pane > a {
    display: inline-block;
    margin-top: 100px;
    padding-bottom: 5px;
    font-family: "proxima-nova";
    font-size: 14px;
    font-weight: bold;
    font-style: normal;
    line-height: 33px;
    letter-spacing: .15em;
    text-transform: uppercase;
    border-bottom: 1px solid white;
}

.about-ticker .decoration {
    z-index: 1;
    display: block;
    flex: 1 0 50%;
    width: 100%;
    min-height: 40vh;
    max-height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.about-ticker .decoration img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    max-height: unset;
}

.about-ticker .marquee {
    position: absolute;
    z-index: 2;
    top: 77px;
    left: 0;
    overflow: hidden;
    margin: 0 auto;
    padding: 5px 0;
    font-size: 24px;
    line-height: 40px;
    color: black;
    text-transform: uppercase;
    text-wrap: nowrap;
    white-space: nowrap;
    background-color: white;
}

.about-ticker .marquee-content {
    display: inline-block;
    animation: marquee 60s linear infinite;
}

.about-ticker .item-collection-1 {
    position: relative;
    left: 0;
    animation: swap 60s linear infinite;
}

.about-ticker .item1,
.about-ticker .item2 {
    display: inline-block;
    vertical-align: top;
}

@keyframes swap {
    0%,
    50% {
        left: 0;
    }

    50.01%,
    100% {
        left: 100%;
    }
}

@keyframes marquee {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-100%);
    }
}

/* Book Hotels */

.book-hotels {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
    gap: 0;
    margin-bottom: 20px;
}

.book-hotels:nth-of-type(odd) {
    flex-direction: row;
}

.book-hotels .content {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 48px;
    background-color: white;
    border: 1px solid #dad9c5;
}

.book-hotels:nth-of-type(odd) .content {
    margin-right: -40px;
}

.book-hotels:nth-of-type(even) .content {
    margin-left: -40px;
}

.book-hotels .content h2 {
    display: inline-block;
    margin-bottom: 16px;
    font-size: 36px;
    font-weight: 700;
    font-style: normal;
    line-height: 120%;
    color: #21afe4;
}

.book-hotels .content > p {
    display: block;
    margin-bottom: 16px;
    font-size: 18px;
    line-height: 160%;
}

.book-hotels .content ul {
    margin-bottom: 24px;
    list-style: none;
}

.book-hotels .content ul li {
    position: relative;
    display: block;
    margin-bottom: 4px;
    padding-left: 0;
    font-size: 18px;
    line-height: 26px;
}

.book-hotels .content ul li.checkmark {
    padding-left: 24px;
}

.book-hotels .content ul li.checkmark::before {
    position: absolute;
    top: 5px;
    left: 0;
    width: 17px;
    height: 16px;
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/icon-check-round-v-219653.svg);
    background-repeat: no-repeat;
    content: "";
}

.book-hotels .content ul li a {
    text-decoration: underline;
}

.book-hotels .decoration {
    z-index: 1;
    display: flex;
    overflow: hidden;
    flex: 1 0 50%;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.book-hotels .decoration img {
    object-fit: cover;
    width: 100%;
    height: 600px;
    max-height: unset;
    margin-bottom: 0;
}

.book-hotels .decoration.no-image {
    flex: 1 0 calc(50% - 2px);
    padding: 300px 1px;
}

/* Destination Category Block */

.destination-category-block {
    text-align: right;
}

.destination-category-block .featured-item-wrap {
    width: 25vw;
}

.destination-category-block a.image-link {
    position: relative;
    display: block;
    overflow: hidden;
    height: 25vh;
    margin-bottom: 16px;
}

.destination-category-block a.image-link img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: transform .1s ease-in-out;
}

.destination-category-block .featured-item {
    position: relative;
    margin-bottom: 10px;
    text-align: left;
}

.destination-category-block p.tagline {
    font-size: 18px;
    line-height: 26px;
}

.destination-category-block .featured-item > div {
    margin-top: auto;
    color: white;
}

.destination-category-block .featured-item p {
    align-self: flex-end;
    padding: 7px 14px 10px 14px;
    font-size: 18px;
    line-height: 22px;
    background-color: #0511f2;
}

.destination-category-block .featured-items.layout-c .row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
}

.destination-category-block h2 {
    position: relative;
    display: block;
    color: #21afe4;
    text-align: center;
}

.destination-category-block h2::before {
    position: absolute;
    z-index: -2;
    top: 45%;
    left: 0;
    width: 100%;
    height: 10%;
    border-top: 1px solid #21afe4;
    border-bottom: 1px solid #21afe4;
    content: "";
}

.destination-category-block .subtitle {
    display: block;
    width: 100%;
    margin-top: 40px;
    margin-bottom: 20px;
    padding: 10px 0;
    font-family: var(--tpt-text-font);
    font-size: 26px;
    font-weight: 800;
    text-transform: none;
}

.destination-category-block .subtitle::after {
    content: none;
}

.destination-category-block .tj-button1 {
    margin-bottom: 30px;
}

body .destination-category-block .slick-arrow {
    top: 12.5vh;
    width: 45px;
    height: 45px;
    transform: translateY(-50%);
}

body .destination-category-block .featured-items button.slick-arrow.slick-next3 {
    right: -22.5px;
}

body .destination-category-block .featured-items button.slick-arrow.slick-prev3 {
    left: -22.5px;
}

.destination-category-block-glide {
    text-align: right;
}

.destination-category-block-glide h2 {
    position: relative;
    display: block;
    width: 100%;
    color: #21afe4;
    text-align: left;
    border-bottom: 3px solid #21afe4;
}

.destination-category-block-glide .subtitle {
    display: block;
    width: 100%;
    margin-top: 40px;
    margin-bottom: 20px;
    padding: 10px 0;
    font-family: var(--tpt-text-font);
    font-size: 20px;
    font-weight: 600;
    line-height: 25px;
    text-align: left;
    text-transform: none;
}

.destination-category-block-glide .subtitle::after {
    content: none;
}

.destination-category-block-glide .tj-button1 {
    margin-bottom: 30px;
}

.archive.category .featured-articles .featured-items.list-page-items .row .column h4 {
    display: inline-block;
    font-family: var(--tpt-text-font);
    font-size: 20px;
    font-weight: 600;
    line-height: 25px;
    color: var(--tpt-text-color);
    text-transform: capitalize;
}

.archive.category .featured-articles .featured-items.list-page-items .row .column a.article-link {
    font-size: 20px;
    line-height: 25px;
}

/* Event Lists */

.events .event-lists .subtitle {
    display: block;
    width: 100%;
    margin-top: 40px;
    margin-bottom: 40px;
    padding: 10px 0;
    font-size: 26px;
    font-weight: normal;
    text-align: center;
    background-color: var(--tpt-secondary-color);
}

.events .event-lists .subtitle::after {
    content: none;
}

.events .event-lists {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
}

.events .event-lists .column {
    flex: 1 1 30%;
}

.events .event-lists .column:not(:last-of-type) {
    margin-right: 32px;
}

.events .event-lists ul {
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 30px;
    list-style-type: none;
}

.events .event-lists ul li a {
    position: relative;
}

.events .event-lists ul li a::before {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background-color: #21afe4;
    transition: width .1s ease-in-out, left .1s ease-in-out;
    content: "";
}

/* END OF PAGE BUILDER */


/* HOTELS */

.product-page-header .tph-hotel-info .tph-info .hotel-address {
    font-size: 14px;
    line-height: 20px;
}

.product-page-header .tph-hotel-info .tph-info .hotel-address a {
    color: #21afe4;
    text-decoration: underline;
}

.map-marker,
.map-marker-white {
    margin-right: 8px;
    font-family: var(--tpt-text-font);
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
    line-height: 20px;
    color: var(--tpt-text-color);
    text-transform: capitalize;
}

.map-marker-white::before {
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-right: 5px;
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/icon-map-marker-white.svg);
    background-repeat: no-repeat;
    background-position: center;
    content: "";
}

.map-marker svg {
    display: inline-block;
    height: 18px;
    margin-right: 5px;
    vertical-align: middle;
    content: "";
}

.whats-nearby .map-marker {
    font-size: 18px;
    line-height: 28px;
}

.whats-nearby .map-marker svg {
    width: 24px;
    height: 24px;
    vertical-align: text-top;
}

/*  Hotels > Room Choices */

.travel-style-selector-search .room-search {
    margin-bottom: 20px;
}

.hotel-finder .room-search {
    padding: 24px;
    background-color: rgba(25, 25, 25, .8);
    border: 1px solid rgba(25, 25, 25, .8);
}

.hotel-finder .room-search.no-dates {
    border: 1px solid rgba(25, 25, 25, .8);
}

.hotel-finder .room-search > h6 {
    margin-top: 20px;
    margin-bottom: 15px;
    font-size: 20px;
    line-height: 27px;
    color: white;
}

.room-search {
    position: relative;
}

.room-search .hotel-fields {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
}

.room-choices .room-search .hotel-fields {
    padding-right: 165px;
}

.hotel-finder .hotel-fields {
    justify-content: space-around;
}

.hotel-finder .hotel-fields > div {
    flex: 1 1 auto;
}

body:not(.single-hotels) .room-search .hotel-fields > div:first-of-type {
    flex: 1 auto;
}

.room-search .hotel-fields .field-box {
    display: flex;
    align-items: center;
    margin-right: 8px;
    margin-bottom: 16px;
    padding: 13px 16px;
    font-size: 18px;
    font-weight: 400;
    line-height: 28px;
    color: var(--tpt-text-color);
    background-color: white;
    border: 1px solid #bebebe;
    cursor: pointer;
}

.room-search .hotel-fields .daterange-selector .field-box svg {
    width: 18px;
    height: 18px;
    margin-right: 9px;
}

.room-search .hotel-fields .guest-selector .field-box svg {
    width: 20px;
    height: 20px;
    margin-right: 8px;
}

.room-search .hotel-fields .destination-selector .field-box {
    box-sizing: border-box;
    width: calc(100% - 20px);
    font-family: var(--tpt-text-font);
    font-size: 18px;
}

.hotel-finder .hotel-fields .field-box {
    width: auto;
}

.room-search .hotel-fields .daterange-selector,
.room-search .hotel-fields .guest-selector {
    display: inline-block;
}

.room-search .hotel-fields .guest-selector .field-box > span {
    position: relative;
    display: block;
    padding-right: 26px;
}

.room-search .hotel-fields .guest-selector .field-box > span::after {
    position: absolute;
    top: 8px;
    right: 10px;
    display: inline-block;
    margin-left: 100px;
    padding: 4px;
    border-width: 0 2.5px 2.5px 0;
    border-style: solid;
    transform: rotate(45deg);
    transform-origin: center center;
    transition: transform .1s ease-in-out;
    content: "";
}

.room-search .hotel-fields .guest-selector.active .field-box > span::after {
    transform: rotate(225deg);
}

.room-search .hotel-fields .guest-selector .guest-calc {
    position: absolute;
    right: 0;
    display: none;
    padding: 10px 14px 28px 14px;
    font-size: 18px;
    line-height: 26px;
    background-color: white;
    border: 1px solid #4b6468;
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, .4);
}

.room-search .hotel-fields .guest-selector.active .guest-calc {
    z-index: 3000;
    display: block;
    width: 450px;
}

.room-search .hotel-fields .guest-selector .guest-calc-wrap {
    display: none;
}

.room-search .hotel-fields .guest-selector.active .guest-calc-wrap {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
}

.room-search .hotel-fields .guest-selector .guest-calc > p {
    font-size: 14px;
    line-height: 20px;
    color: #757579;
}

.room-search .hotel-fields .guest-selector .guest-calc .rooms-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 8px;
    margin-bottom: 16px;
}

.room-search .hotel-fields .guest-selector .guest-calc .rooms-header .rooms-title {
    font-size: 20px;
    font-weight: 600;
    line-height: 24px;
}

.room-search .hotel-fields .guest-selector .guest-calc .rooms-header .add-room {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 36px;
    padding: 0 16px 0 12px;
    font-size: 16px;
    line-height: 20px;
    color: white;
    text-wrap: nowrap;
    white-space: nowrap;
    background-color: #21afe4;
    border: 1px solid #21afe4;
    border-radius: 24px;
    transition: background-color .3s ease-in-out, border-color .3s ease-in-out;
    cursor: pointer;
}

.room-search .hotel-fields .guest-selector .guest-calc .room .room-header .room-title svg,
.room-search .hotel-fields .guest-selector .guest-calc .rooms-header .add-room svg,
.room-search .hotel-fields .guest-selector .guest-calc .remove-room svg {
    margin-right: 8px;
}

.room-search .hotel-fields .guest-selector .guest-calc .room .room-header .room-title span {
    font-size: 20px;
    font-weight: 600;
    line-height: 38px;
}

.room-search .hotel-fields .guest-selector .guest-calc .room .room-header .room-title span::before {
    display: inline-block;
    width: 24px;
    height: 24px;
    margin-right: 13px;
    vertical-align: sub;
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/icon-room.svg);
    content: "";
}

.room-search .hotel-fields .guest-selector .guest-calc .room {
    position: relative;
    padding: 12px 24px 24px 24px;
    border: 1px solid #7fd5f4;
}

.room-search .hotel-fields .guest-selector .guest-calc .room .accommodation_notice {
    position: relative;
    padding-left: 32px;
    font-size: 14px;
    font-weight: 600;
    line-height: 16px;
    color: #21afe4;
}

.room-search .hotel-fields .guest-selector .guest-calc .room .accommodation_notice::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 24px;
    height: 24px;
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/icon-notice-21afe4.svg);
    content: "";
}

.room-search .hotel-fields .guest-selector .guest-calc .room:not(:first-of-type) {
    margin-top: 30px;
}

.room-search .hotel-fields .guest-selector .guest-calc .room .room-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
}

.room-search .hotel-fields .guest-selector .guest-calc .room .select-field {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-right: 3px;
    margin-bottom: 20px;
}

.room-search .hotel-fields .guest-selector .guest-calc .room .select-field-kids .select-field {
    margin-right: 0;
    margin-bottom: 8px;
}

.room-search .hotel-fields .guest-selector .guest-calc .room .select-field svg.svg-button {
    width: 24px;
    height: 24px;
}

.room-search .hotel-fields .guest-selector .guest-calc .room .select-field-kids {
    display: none;
    width: 100%;
    margin-bottom: 20px;
}

.room-search .hotel-fields .guest-selector .guest-calc .room .select-field > div {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    font-weight: 600;
    line-height: 24px;
    color: var(--tpt-text-color);
}

.room-search .hotel-fields .guest-selector .guest-calc .room .select-field-kids .select-field > div {
    display: inline-block;
    font-weight: 400;
    color: #434345;
}

.room-search .hotel-fields .guest-selector .guest-calc .room .select-field-kids .select-field > div:first-letter {
    text-transform: uppercase;
}

.room-search .hotel-fields .guest-selector .guest-calc .room .select-field > div svg:first-of-type,
.room-search .hotel-fields .guest-selector .guest-calc .room .select-field-kids > div svg:first-of-type {
    margin-right: 12px;
}

.room-search .hotel-fields .guest-selector .guest-calc .room .select-field > div svg:last-of-type,
.room-search .hotel-fields .guest-selector .guest-calc .room .select-field-kids > div svg:last-of-type {
    margin-left: 12px;
}

.room-search .hotel-fields .guest-selector .guest-calc .room .select-field-kids > div svg:first-of-type,
.room-search .hotel-fields .guest-selector .guest-calc .room .select-field-kids > div svg:last-of-type {
    display: none;
}

.room-search .hotel-fields .guest-selector .guest-calc .room .remove-room {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 36px;
    padding: 0 16px 0 12px;
    font-size: 16px;
    font-weight: 600;
    line-height: 20px;
    color: var(--tpt-text-color);
    text-wrap: nowrap;
    white-space: nowrap;
    background-color: #fbf0e6;
    border: 1px solid #fbf0e6;
    border-radius: 24px;
    transition: background-color .3s ease-in-out, border-color .3s ease-in-out;
    cursor: pointer;
}

.room-search .hotel-fields .guest-selector .guest-calc select {
    position: relative;
    width: 32px;
    font-family: var(--tpt-title-font);
    font-size: 22px;
    font-weight: 600;
    line-height: 24px;
    color: var(--tpt-text-color);
    text-align: center;
    background-color: white;
    border: none;
    -webkit-appearance: none;
            appearance: none;
    cursor: pointer;

       -moz-appearance: none;
}

.room-search .hotel-fields .guest-selector .guest-calc select option {
    padding: 0;
    font-family: var(--tpt-title-font);
    font-size: 20px;
    font-weight: normal;
    color: var(--tpt-text-color);
    text-align: center;
}

.room-search .hotel-fields .guest-selector .guest-calc select.kid-age {
    display: block;
}

.room-search .hotel-fields .guest-selector .guest-calc .select-field-kids select {
    box-sizing: content-box;
    width: 88px;
    padding: 10px;
    font-family: var(--tpt-text-font);
    font-size: 18px;
    font-weight: 400;
    line-height: 24px;
    text-align: left;
    text-align-last: left;
    border: 1px solid #e4e4e4;
}

.room-search .hotel-fields .guest-selector .guest-calc .select-field-kids .select-field {
    position: relative;
}

.room-search .hotel-fields .guest-selector .guest-calc .select-field-kids .select-field div::after {
    position: absolute;
    top: 18px;
    right: 14px;
    display: inline-block;
    padding: 3px;
    border-width: 0 2.5px 2.5px 0;
    border-style: solid;
    border-color: var(--tpt-text-color);
    transform: rotate(45deg);
    transform-origin: center center;
    transition: transform .1s ease-in-out;
    content: "";
    cursor: pointer;
}

.header-hotel-finder .hotel-finder .room-search .hotel-fields .guest-selector .field-box > span::after,
.homepage-header .homepage-search .room-search .hotel-fields .guest-selector .field-box > span::after {
    position: absolute;
    top: 35%;
    right: 0;
    transform: rotate(45deg) translate(-50%);
}

.header-hotel-finder .hotel-finder .room-search .hotel-fields .guest-selector.active .field-box > span::after,
.homepage-header .homepage-search .room-search .hotel-fields .guest-selector.active .field-box > span::after {
    transform: rotate(225deg);
}

.room-search .hotel-fields .tj-button1.choose-dates {
    z-index: 2;
    margin-bottom: 17px;
    padding-top: 16px;
    padding-bottom: 16px;
}

.hotel-finder .hotel-fields .tj-button1.choose-dates {
    margin-right: 0;
}

.room-search > p {
    display: block;
    overflow: hidden;
    max-height: 0;
    font-size: 18px;
    font-weight: bold;
    transition: max-height .1s ease-in-out;
}

.room-search.no-dates > p.no-dates,
.room-search.no-destination > p.no-destination {
    max-height: 100px;
}

.room-search > p {
    line-height: 50px;
    color: #f48d2e;
}

.room-search > p svg {
    width: 24px;
    height: 24px;
    margin-right: 10px;
    vertical-align: text-bottom;
}

.room-search.no-dates .hotel-fields .daterange-selector .field-box,
.room-search.no-destination .hotel-fields .destination-selector .field-box {
    padding: 11px 14px;
    border: 3px solid #21afe4;
}

form.room-filter input[type="checkbox"] {
    width: 24px;
    height: 24px;
    margin-right: 5px;
    cursor: pointer;
}

form.room-filter label {
    font-size: 18px;
    font-weight: 400;
    font-style: normal;
    line-height: 28px;
    vertical-align: middle;
}

#single-hotels-room-reults-anchor {
    position: relative;
    top: -170px;
    display: block;
    visibility: hidden;
}

#room-search-date-selector-anchor {
    position: relative;
    top: -150px;
    display: block;
    visibility: hidden;
}

.hotel-taxonomy #room-search-date-selector-anchor {
    top: -60px;
}

.hotel-archive #room-search-date-selector-anchor {
    top: -20px;
}

/* Date Range Picker (Calendar) */

.daterangepicker {
    position: absolute;
    z-index: 100000;
    top: 100px;
    left: 20px;
    display: none;
    width: auto;
    max-width: none;
    margin-top: 7px;
    padding: 0;
    font-family: var(--tpt-text-font);
    font-size: 14px;
    color: inherit;
    background-color: white;
    border: 1px solid #4b6468;
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, .4);
}

.daterangepicker::after {
    top: -6px;
    border-right: 6px solid transparent;
    border-bottom: 6px solid white;
    border-left: 6px solid transparent;
}

.daterangepicker.opensleft::after {
    right: 10px;
}

.daterangepicker.openscenter::before {
    right: 0;
    left: 0;
    width: 0;
    margin-right: auto;
    margin-left: auto;
}

.daterangepicker.openscenter::after {
    right: 0;
    left: 0;
    width: 0;
    margin-right: auto;
    margin-left: auto;
}

.daterangepicker.opensright::before {
    left: 9px;
}

.daterangepicker.opensright::after {
    left: 10px;
}

.daterangepicker.drop-up {
    margin-top: -7px;
}

.daterangepicker.drop-up::before {
    top: initial;
    bottom: -7px;
    border-top: 7px solid #ccc;
    border-bottom: initial;
}

.daterangepicker.drop-up::after {
    top: initial;
    bottom: -6px;
    border-top: 6px solid white;
    border-bottom: initial;
}

.daterangepicker .calendar-table thead tr:last-of-type th {
    border-bottom: #4b6468 1px solid;
}

.daterangepicker.single .daterangepicker .ranges,
.daterangepicker.single .drp-calendar {
    float: none;
}

.daterangepicker.single .drp-selected {
    display: none;
}

.daterangepicker.show-calendar .drp-calendar {
    display: block;
}

.daterangepicker.show-calendar .drp-buttons {
    display: block;
}

.daterangepicker.auto-apply .drp-buttons {
    text-align: left;
}

.daterangepicker.auto-apply .drp-buttons .drp-selected,
.daterangepicker.auto-apply .drp-buttons .btn {
    display: none;
}

.daterangepicker .drp-calendar {
    display: none;
}

.daterangepicker .drp-calendar.left {
    padding: 10px 5px 0 20px;
}

.daterangepicker .drp-calendar.right {
    padding: 10px 20px 0 5px;
}

.daterangepicker .drp-calendar.single .calendar-table {
    border: none;
}

.daterangepicker .calendar-table .next,
.daterangepicker .calendar-table .prev {
    vertical-align: bottom;
}

.daterangepicker .calendar-table .next span,
.daterangepicker .calendar-table .prev span {
    position: relative;
    bottom: 20px;
    display: block;
    width: 30px;
    height: 30px;
    margin-bottom: -10px;
    margin-left: 10px;
    background-color: white;
    background-position: center;
    border-radius: 50%;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .26);
    transition: box-shadow .1s ease-in-out;
}

.daterangepicker .calendar-table .next span::after,
.daterangepicker .calendar-table .prev span::after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-block;
    padding: 4px;
    border-width: 0 3px 3px 0;
    border-style: solid;
    content: "";
}

.daterangepicker .calendar-table .next span::after {
    transform: translate(-65%, -50%) rotate(-45deg);
}

.daterangepicker .calendar-table .prev span::after {
    transform: translate(-35%, -50%) rotate(135deg);
}

.daterangepicker .calendar-table th,
.daterangepicker .calendar-table td {
    width: 32px;
    min-width: 32px;
    height: 24px;
    font-size: 12px;
    font-weight: normal;
    line-height: 24px;
    text-align: center;
    text-wrap: nowrap;
    white-space: nowrap;
    vertical-align: middle;
    border: 1px solid transparent;
    cursor: pointer;
}

.daterangepicker .calendar-table {
    background-color: white;
    border: 1px solid white;
}

.daterangepicker .calendar-table table {
    width: 100%;
    margin: 0;
    border-spacing: 0;
    border-collapse: collapse;
}

.daterangepicker td.week,
.daterangepicker th.week {
    font-size: 80%;
    color: #ccc;
}

.daterangepicker td.off,
.daterangepicker td.off.in-range {
    color: #bebebe;
    background-color: white;
    border-color: transparent;
}

.daterangepicker td.off.start-date,
.daterangepicker td.off.end-date {
    background-color: #e17e4c;
    border-color: transparent;
}

.daterangepicker td.in-range {
    color: var(--tpt-text-color);
    background-color: #f0f0f0;
    border-color: transparent;
    border-radius: 0;
}

.daterangepicker td.active {
    color: white;
    background-color: #0ba5d2;
}

.daterangepicker td.today {
    color: var(--tpt-text-color);
    background-color: white;
}

.daterangepicker td.today.start-date:not(.in-range) {
    color: white;
    background-color: #e17e4c;
}

.daterangepicker th.month {
    width: auto;
}

.daterangepicker td.disabled,
.daterangepicker option.disabled {
    color: #999;
    cursor: not-allowed;
}

.daterangepicker select.monthselect,
.daterangepicker select.yearselect {
    height: auto;
    margin: 0;
    padding: 1px;
    font-size: 12px;
    cursor: default;
}

.daterangepicker select.monthselect {
    width: 56%;
    margin-right: 2%;
}

.daterangepicker select.yearselect {
    width: 40%;
}

.daterangepicker select.hourselect,
.daterangepicker select.minuteselect,
.daterangepicker select.secondselect,
.daterangepicker select.ampmselect {
    width: 50px;
    margin: 0 auto;
    padding: 2px;
    font-size: 12px;
    background: #eee;
    border: 1px solid #eee;
    outline: 0;
}

.daterangepicker .calendar-time {
    position: relative;
    margin: 4px auto 0 auto;
    line-height: 30px;
    text-align: center;
}

.daterangepicker .calendar-time select.disabled {
    color: #ccc;
    cursor: not-allowed;
}

.daterangepicker .drp-buttons {
    display: none;
    clear: both;
    margin: 0 20px;
    padding: 12px 0 17px 0;
    line-height: 18px;
    text-align: right;
    vertical-align: middle;
    border-top: 1px solid #707070;
}

.daterangepicker .drp-selected {
    display: inline-block;
    padding-right: 8px;
    font-size: 12px;
}

.daterangepicker .drp-buttons .btn {
    margin-left: 8px;
    padding: 4px 8px;
    font-size: 12px;
    font-weight: bold;
}

.daterangepicker.show-ranges.single.rtl .drp-calendar.left,
.daterangepicker.show-ranges.rtl .drp-calendar.right {
    border-right: 1px solid #ddd;
}

.daterangepicker.show-ranges.single.ltr .drp-calendar.left,
.daterangepicker.show-ranges.ltr .drp-calendar.left {
    border-left: 1px solid #ddd;
}

.daterangepicker .ranges {
    float: none;
    margin: 0;
    text-align: left;
}

.daterangepicker.show-calendar .ranges {
    margin-top: 8px;
}

.daterangepicker .ranges ul {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}

.daterangepicker .ranges li {
    padding: 8px 12px;
    font-size: 12px;
    cursor: pointer;
}

.daterangepicker .ranges li.active {
    color: white;
    background-color: #0ba5d2;
}

@media (max-width: 640px) {
    .daterangepicker {
        width: 90%;
    }

    /* Remove Second Calendar on mobile */
    .daterangepicker .drp-calendar.right {
        position: absolute;
        top: 8px;
        right: 0;
    }

    .daterangepicker .drp-calendar.right tbody {
        display: none;
    }

    .daterangepicker .drp-calendar.right thead > tr:nth-child(2) {
        display: none;
    }

    .daterangepicker .drp-calendar.right th.month {
        display: none;
    }

    .daterangepicker .drp-calendar.right .calendar-table {
        background: transparent;
        border: none;
    }

    .daterangepicker .daterangepicker.ltr .ranges,
    .daterangepicker.ltr .drp-calendar {
        float: none;
    }

    .daterangepicker .drp-calendar.right .daterangepicker_input {
        position: absolute;
    }

    /* End Remove Second Calendar on mobile */
    form.contact-form .field-pair {
        display: block;
    }

    form.contact-form .field-pair-inverse {
        display: flex;
        align-items: flex-start;
        gap: 16px;
    }
}

@media (min-width: 2000px) {
    .travel-style-selector-search .search-header,
    .travel-style-selector-search .search-header > .video-wrap,
    .travel-style-selector-search .search-header > .video-wrap video {
        height: 34vw;
    }

    .travel-style-selector-search .search-header .search-header-decoration {
        border-bottom-width: calc(34vw + 1px);
    }

    .travel-style-selector-search .search-header .search-header-decoration::before,
    .travel-style-selector-search .search-header .search-header-decoration::after {
        bottom: calc(-34vw - 1px);
    }

    .travel-style-selector-search .search-header h4 {
        margin-top: 120px;
    }
}

@media (min-width: 564px) {
    .daterangepicker {
        width: 400px;
    }

    .daterangepicker .ranges ul {
        width: 140px;
    }

    .daterangepicker.single .ranges ul {
        width: 100%;
    }

    .daterangepicker.single .drp-calendar.left {
        clear: none;
    }

    .daterangepicker.single .ranges,
    .daterangepicker.single .drp-calendar {
        float: left;
    }

    .daterangepicker {
        text-align: left;
        direction: ltr;
    }

    .daterangepicker .drp-calendar.left {
        clear: left;
        margin-right: 0;
    }

    .daterangepicker .drp-calendar.left .calendar-table {
        border-right: none;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }

    .daterangepicker .drp-calendar.right {
        margin-left: 0;
    }

    .daterangepicker .drp-calendar.right .calendar-table {
        border: none;
        border-radius: 0;
    }

    .daterangepicker .drp-calendar.left .calendar-table {
        border: none;
    }

    .daterangepicker .ranges,
    .daterangepicker .drp-calendar {
        float: left;
    }
}

@media (min-width: 730px) {
    .daterangepicker {
        width: 400px;
    }

    .daterangepicker .ranges {
        width: auto;
    }

    .daterangepicker .ranges {
        float: left;
    }

    .daterangepicker.rtl .ranges {
        float: right;
    }

    .daterangepicker .drp-calendar.left {
        clear: none !important;
    }
}

@media (min-width: 780px) {
    .daterangepicker {
        width: auto;
    }
}

body .daterangepicker td {
    transition: color .1s ease-in-out, background-color .1s ease-in-out;
}

body .daterangepicker td:not(.available) {
    color: #999;
    cursor: not-allowed;
}

body .daterangepicker th.month {
    font-size: 18px;
    font-weight: bold;
    line-height: 24px;
}

body .daterangepicker .calendar-table th,
body .daterangepicker .calendar-table td {
    font-size: 14px;
}

.daterangepicker .calendar-table th,
.daterangepicker .calendar-table td {
    width: 50px;
    height: 50px;
}

/* (Hotel) Room Filters */

.room-filter legend {
    display: block;
    margin-bottom: 17px;
    font-size: 18px;
    font-weight: bold;
    line-height: 24px;
}

.room-filter label {
    margin-right: 20px;
    font-weight: 14px;
    line-height: 24px;
}

.room-filter input[type="checkbox"] {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin: 0;
    -webkit-appearance: checkbox;
            appearance: checkbox;
}

/* Hotel Amenities and Services */

.amenities-and-services h6 {
    margin-bottom: 20px;
}

.amenities-and-services .amenities-and-services-col {
    column-count: 2;
    column-gap: 24px;
}

.amenities-and-services .amenities-and-services-col .facility-group {
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
}

.amenities-and-services ul {
    margin-bottom: 40px;
}

.amenities-and-services ul li {
    font-size: 18px;
    line-height: 26px;
}

.amenities-and-services ul li::first-letter {
    text-transform: uppercase;
}

.amenities-and-services ul.facts li {
    list-style: none;
}

.amenities-and-services ul:not(.facts) li {
    margin-left: 20px;
}

.amenities-and-services ul li a {
    text-decoration: underline;
}

/* Hotel Policies */

hotel-policies h6 {
    font-family: var(--tpt-title-font);
    font-size: 24px;
    font-weight: 700;
    line-height: 30px;
    letter-spacing: .24px;
    text-transform: uppercase;
}

.hotel-policies p {
    margin-bottom: 32px;
    font-family: var(--tpt-text-font);
    font-size: 18px;
    line-height: 24px;
}

.hotel-policies ul {
    margin-bottom: 32px;
}

.hotel-policies ul.check-in-out {
    margin-bottom: 24px;
}

.hotel-policies ul li {
    font-size: 18px;
    line-height: 26px;
}

.hotel-policies ul:not(.check-in-out) {
    margin-left: 20px;
}

.hotel-policies ul li a {
    text-decoration: underline;
}

.hotel-policies .hotel-policy-notes {
    margin-top: 40px;
    font-size: 18px;
    line-height: 26px;
}

.hotel-policies ul.check-in-out {
    list-style: none;
}

/* Newsletter Subscription Form */

.newsletter-subscription-form p b {
    display: block;
    margin-top: 10px;
    margin-bottom: 10px;
}

.newsletter-subscription-form .zoho-about {
    background: #f0f0f0;
}

/* HOTEL ARCHIVE */

.hotel-finder {
    position: relative;
    box-sizing: border-box;
    padding: 155px 60px 50px 60px;
}

.header-hotel-finder .hotel-finder img,
.header-hotel-finder .hotel-finder .no-image {
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.header-hotel-finder .hotel-finder h1 {
    position: relative;
    display: block;
    font-size: 54px;
    line-height: 60px;
    color: white;
    text-align: left;
    text-shadow: rgba(0, 0, 0, .16) 0 3px 3px;
    background: none;
}

.header-hotel-finder .hotel-finder h1::after {
    position: absolute;
    right: 7%;
    bottom: -4px;
    left: 0;
    width: 150px;
    height: 6px;
    background-color: #21afe4;
    transition: width .1s ease-in-out, left .1s ease-in-out;
    content: "";
}

.header-hotel-finder .hotel-finder .room-search {
    position: relative;
    margin-top: 50px;
}

.header-hotel-finder .hotel-finder .room-search .hotel-fields .field-box {
    box-sizing: border-box;
    width: calc(100% - 20px);
}

.header-hotel-finder .hotel-finder .room-search .hotel-fields > div:first-of-type {
    flex-grow: 2;
}

.header-hotel-finder .hotel-finder .room-search .hotel-fields .guest-selector .field-box > span::after {
    position: absolute;
    top: 40%;
    right: 0;
    transform: rotate(45deg) translate(-50%);
}

.header-hotel-finder .hotel-finder .room-search .hotel-fields .guest-selector.active .field-box > span::after {
    transform: rotate(225deg);
}

.header-hotel-finder article {
    padding-top: 0;
}

.header-hotel-finder article .category-description {
    margin-top: 40px;
}

.header-hotel-finder .hotel-page-description {
    font-size: 24px;
    line-height: 32px;
}

.header-hotel-finder .hotel-page-description .read-more {
    margin-top: 11px;
}

.popular-destinations {
    margin-bottom: 60px;
}

.popular-destinations h4 {
    margin-bottom: 30px;
    font-size: 32px;
    line-height: 38px;
}

.popular-destinations .scroll-container {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 142px;
}

.popular-destinations .scroll-container .scroller {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    overflow-x: scroll;
    overflow-y: hidden;
    width: 100%;
    height: 160px;
}

.popular-destinations .scroller.desktop-version {
    display: block;
}

.popular-destinations .scroller.desktop-version .slick-arrow.slick-next2 {
    right: -55px;
}

.popular-destinations .scroller.desktop-version .slick-arrow.slick-prev2 {
    left: -55px;
}

.popular-destinations .scroll-container.mobile-version {
    display: none;
}

.popular-destinations a {
    display: inline-block;
    flex: 0 0 auto;
    width: 170px;
    margin-right: 26px;
    margin-bottom: 13px;
    font-size: 18px;
    line-height: 26px;
    text-transform: capitalize;
    vertical-align: top;
    cursor: pointer;
}

.popular-destinations a::after {
    display: inline-block;
    padding-left: 5px;
    font-weight: normal;
    color: #75979c;
    transition: padding .1s ease-in-out;
    content: " \0203a";
}

.popular-destinations a img {
    object-fit: cover;
    width: 100%;
    height: 110px;
    margin-bottom: 6px;
}

.popular-destinations a .no-image {
    width: 170px;
    height: 110px;
    margin-bottom: 6px;
    background: linear-gradient( 23deg, rgba(34, 193, 195, 1) 0%, rgba(255, 174, 0, .8) 100%);
    background: linear-gradient( 23deg, rgb(11, 174, 230) 10%, rgb(254, 239, 67) 80%);
}

body .popular-destinations button.slick-arrow {
    top: 55px;
    transform: translateY(-50%);
}

/* HOTEL TAXONOMY (LOCATIONS) */

#hotels-in-results-header-anchor {
    position: relative;
    top: -100px;
    display: block;
    visibility: hidden;
}

/* TOURS AND HOTELS LISTING */

.tour-result {
    position: relative;
    display: flex;
    align-items: stretch;
    margin-bottom: 30px;
    background-color: white;
    border: solid 1px #dad9c5;
}

.tour-result[data-availability="false"] {
    opacity: .5;
}

.tour-result .tour-info {
    position: relative;
    width: 100%;
    padding: 22px;
}

.tour-result .tour-info .tph-details {
    display: block;
    max-width: calc(100% - 180px);
    font-size: 18px;
    line-height: 24px;
}

.tour-result .tour-info .tph-details > div {
    font-size: 18px;
    line-height: 24px;
}

.tph-details .star-rating svg {
    display: inline-block;
    width: 16px;
    height: 16px;
}

.preferred-hotel {
    display: block;
}

.preferred-hotel svg {
    width: 60px;
    height: 60px;
}

.preferred-hotel-mobile {
    display: none;
    margin-top: 16px;
    margin-right: 11px;
}

.preferred-hotel-mobile svg {
    width: 40px;
    height: 40px;
}

.tour-result .tour-info h2 {
    display: inline-block;
    max-width: calc(100% - 122px);
    margin-bottom: 12px;
    font-size: 30px;
    line-height: 35px;
    background: none;
}

.tour-badges .tour-badge {
    position: relative;
    display: inline-block;
    margin-right: 10px;
    margin-bottom: 12px;
    padding: 4px 7px;
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
    line-height: 16px;
    color: white;
}

.tour-badges .tour-badge::before,
.tour-badges .tour-badge::after {
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
}

.tour-badges .tour-badge:not(:first-of-type)::before {
    bottom: 0;
    left: -7px;
    padding-left: 1px;
    border-width: 0 0 24px 7px;
    border-color: transparent;
    border-bottom-color: inherit;
    content: "";
}

.tour-badges .tour-badge:not(:last-of-type)::after,
.tour-badges .tour-badge:only-child::after {
    top: 0;
    right: -7px;
    padding-right: 1px;
    border-width: 24px 7px 0 0;
    border-color: transparent;
    border-top-color: inherit;
    content: "";
}

.tour-result .tour-info .no-tour-badges {
    margin-bottom: 28px;
}

.discounted-tour-badge {
    position: relative;
    display: inline-block;
    max-width: 250px;
    margin-top: 8px;
    padding: 4px 7px;
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
    line-height: 16px;
    color: white;
    text-align: center;
    background-color: #d81f1f;
}

.stars-thumbs {
    display: flex;
}

.stars-thumbs .star-rating {
    display: inline-block;
}

.stars-thumbs .star-rating svg {
    width: 20px;
    height: 20px;
}

.stars-thumbs .thumbsup {
    display: inline-block;
}

.stars-thumbs .thumbsup.inline {
    height: 20px;
    margin-left: 6px;
    padding-left: 10px;
    vertical-align: sub;
    border-left: 1px solid #d9d9d9;
}

.stars-thumbs .thumbsup .thumbup-empty,
.stars-thumbs .thumbsup .thumbup-full {
    display: inline-block;
    width: 16px;
    height: 20px;
    margin-right: 1px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px 15px;
}

.stars-thumbs .thumbsup .thumbup-empty {
    background-image: url("https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/thumbsup-empty-21afe4.svg");
}

.stars-thumbs .thumbsup .thumbup-full {
    background-image: url("https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/thumbsup-full-21afe4.svg");
}

.stars-thumbs .thumbsup .label {
    display: inline-block;
    height: 20px;
    margin-left: 8px;
    font-family: var(--tpt-text-font);
    font-size: 12px;
    font-weight: 400;
    font-style: normal;
    line-height: 20px;
    letter-spacing: .12px;
    vertical-align: 4px;
}

.tour-result .tour-info .tour-description {
    display: -webkit-box;
    overflow: hidden;
    width: 70%;
    margin-top: 15px;
    margin-bottom: 15px;
    font-size: 14px;
    line-height: 20px;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
            line-clamp: 3;
    -webkit-box-orient: vertical;
            box-orient: vertical;
}

.tour-result .tour-info .price-info {
    float: right;
    font-family: var(--tpt-text-font);
    font-size: 14px;
    line-height: 25px;
    text-align: right;
}

.tour-result .tour-info .price-info .price {
    display: block;
    font-family: var(--tpt-title-font);
    font-size: 32px;
    font-weight: 600;
    line-height: 27px;
    text-transform: uppercase;
}

.tour-result .tour-info a.tj-button1,
.tour-result .tour-info a.tj-button2 {
    position: absolute;
    right: 22px;
    bottom: 22px;
}

.tour-result .tour-info a.tj-button2 {
    padding: 10px 8px 8px 11px;
    font-size: 20px;
    text-transform: uppercase;
    background: no-repeat;
}

.tour-result .tour-gallery {
    position: relative;
    overflow: hidden;
    flex: 1 0 auto;
    width: 30%;
}

.tour-result .tour-gallery img {
    display: block;
    object-fit: cover;
    width: 100%;
    height: 100%;
    min-height: 280px;
    max-height: 280px;
    transition: transform .1s ease-in-out;
}

.tour-result .tour-gallery .no-image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 280px;
    max-height: 280px;
}

.tour-result .tour-gallery a::after,
.search-result .product-gallery a::after,
.hotel-results .hotelCard_gallery::after,
.featured-articles-glide .featured-item .image-wrap::after,
.featured-tours-glide .featured-item .image-wrap::after {
    position: absolute;
    top: 0;
    right: 35px;
    display: block;
    width: 67px;
    height: 54px;
    background-image: var(--tpt-listing-badge);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: var(--tpt-listing-badge-content);
    cursor: pointer;
}

.tour-results .no-results {
    position: relative;
    margin-bottom: 30px;
    padding: 58.75px 22px;
    text-align: center;
    background: white;
    border: solid 1px #dad9c5;
}

.tour-results .no-results.hidden {
    display: none;
}

.tour-results .no-results svg {
    margin-bottom: 22px;
}

.hotelCard_gallery_slider button.slick-arrow {
    top: 50%;
    font-size: 0;
    transform: translateY(-50%);
}

.hotelCard_gallery_slider button.slick-arrow.slick-next {
    right: 20px;
}

.hotelCard_gallery_slider button.slick-arrow.slick-prev {
    left: 20px;
}

.page-tours-deluxe .tour-results {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 50px;
}

.page-tours-deluxe .tour-result {
    position: relative;
    display: block;
    flex: 1;
    min-width: 400px;
}

.page-tours-deluxe .tour-result .tour-gallery {
    width: 100%;
}

.page-tours-deluxe .tour-result .tour-info {
    box-sizing: border-box;
    min-height: 200px;
}

.page-tours-deluxe .tour-result .tour-info .no-tour-badges {
    margin-bottom: 0;
}

.header-wrap {
    position: relative;
}

.header-wrap h1 {
    position: absolute;
    top: 50%;
    left: 100px;
    display: block;
    max-width: 410px;
    font-size: 54px;
    line-height: 60px;
    color: white;
    text-align: left;
    text-shadow: rgba(0, 0, 0, .16) 0 3px 3px;
    background: none;
    transform: translateY(-50%);
}

.header-wrap h1::after {
    position: absolute;
    right: 7%;
    bottom: -4px;
    left: 0;
    width: 150px;
    height: 6px;
    background-color: #21afe4;
    transition: width .1s ease-in-out, left .1s ease-in-out;
    content: "";
}

.destination-header {
    position: relative;
    display: block;
    width: calc(100% - 80px);
    height: 460px;
    min-height: 40vh;
    background-position: center;
    background-size: cover;
}

.destination-header img,
.destination-header .no-image {
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.no-image {
    display: block;
    height: 100%;
    background: linear-gradient( 23deg, rgba(34, 193, 195, 1) 0%, rgba(255, 174, 0, .8) 100%);
    background: linear-gradient( 23deg, rgb(11, 174, 230) 10%, rgb(254, 239, 67) 80%);
}

.destination-header .destination-header-buttons {
    margin-top: 192px;
}

.destination-header .destination-header-buttons > a {
    margin-right: 10px;
}

.destination-header a.destination-header-button > span::after {
    content: " >";
}

.destination-header a.destination-header-button:focus {
    color: black;
    box-shadow: inset 0 0 0 2em white;
}

.destination-header h1::after {
    position: absolute;
    right: 7%;
    bottom: -4px;
    left: 0;
    width: 150px;
    height: 6px;
    background-color: #21afe4;
    transition: width .1s ease-in-out, left .1s ease-in-out;
    content: "";
}

/* LIST PAGES */

.listing-area h3 {
    display: block;
    align-self: center;
    margin-bottom: 0;
    font-family: var(--tpt-text-font);
    font-size: 16px;
    line-height: 20px;
    text-transform: capitalize;
}

.listing-area h3::after {
    content: none;
}

.featured-tours .featured-items.list-page-items .row .column a:not(.img-link),
.featured-articles .featured-items.list-page-items .row .column a:not(.img-link) {
    height: auto;
}

.featured-tours .featured-items.list-page-items .row .column h4,
.featured-articles .featured-items.list-page-items .row .column h4 {
    margin-top: 8px;
}

.featured-tours .featured-items.list-page-items .featured-item,
.featured-articles .featured-items.list-page-items .featured-item {
    margin-bottom: 50px;
}

.featured-tours .featured-items.list-page-items .featured-item .tour-link,
.featured-articles .featured-items.list-page-items .featured-item .article-link {
    display: block;
    font-size: 20px;
    line-height: 28px;
    text-transform: capitalize;
    transform-origin: left center;
    transition: transform .1s ease-in-out;
}

.featured-tours .featured-item > a.img-link,
.featured-articles .featured-item > a.img-link {
    height: 256px;
}

.list-bar {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 40px;
    padding-bottom: 5px;
    font-size: 18px;
    line-height: 24px;
    color: var(--tpt-text-color);
    border-bottom: 1px #bebebe solid;
}

.list-bar div {
    display: flex;
}

.list-bar svg {
    transform: translateY(-2px);
}

.list-bar h3 {
    justify-content: space-between;
    margin: 0;
    margin-left: 10px;
    font-family: var(--tpt-text-font);
    font-size: 18px;
    font-weight: bold;
    line-height: 24px;
    color: var(--tpt-text-color);
    background: none;
}

.list-bar h3::after {
    content: none;
}

.list-bar h3 p {
    display: inline;
}

.list-bar .active-filters {
    visibility: visible;
    opacity: 1;
    transition: opacity .1s ease-in-out, visibility ease-in-out .1s;
}

.list-bar .active-filters[data-active-filters="0"],
.list-bar .active-filters[data-active-filters=""] {
    visibility: hidden;
    opacity: 0;
}

.list-bar .active-filters::before {
    content: attr(data-active-filters);
}

.list-bar .mobile-filters-toggle {
    z-index: 100;
    display: none;
    justify-content: center;
    align-items: center;
    gap: 10px;
    box-sizing: content-box;
    width: 100%;
    height: 40px;
    margin-bottom: 30px;
    padding: 5px 20px;
    font-size: 16px;
    font-weight: 600;
    background: white;
    background-color: #fbf0e6;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

/* ARTICLES (POSTS) */

section.post-content.no-related-tours {
    text-align: center;
}

section.post-content .content {
    display: inline-block;
    width: calc(100% - 516px);
    max-width: 690px;
    text-align: left;
}

section.post-content .related-tours {
    position:         sticky;
    position: -webkit-sticky;
    top: 0;
    display: inline-block;
    width: 400px;
    margin-top: -40px;
    margin-left: 110px;
    padding-top: 40px;
    text-align: left;
    vertical-align: top;
}

section.post-content h3,
article.page h3 {
    margin-bottom: 30px;
}

article.page > p {
    max-width: calc(100% - 301px);
}

section.post-content .related-tours h3 {
    margin-bottom: 32px;
    font-family: var(--tpt-title-font);
    font-size: 30px;
    font-weight: 700;
    font-style: normal;
    line-height: 32px;
    letter-spacing: .01em;
    color: #3d3700;
    text-transform: uppercase;
}

section.post-content .related-tours h3::after {
    content: none;
}

section.post-content .related-tours .related-item {
    display: flex;
    align-items: center;
    min-height: 112px;
    margin-bottom: 24px;
}

section.post-content .related-tours .related-item:not(:last-child) {
    margin-bottom: 16px;
}

section.post-content .related-tours .related-item img {
    flex-shrink: 0;
    width: 112px;
    height: 112px;
    margin-right: 24px;
    margin-bottom: 0;
}

section.post-content .related-tours .related-item .related-item-title {
    display: block;
    font-family: var(--tpt-title-font);
    font-size: 20px;
    font-weight: 400;
    font-style: normal;
    line-height: 26px;
    letter-spacing: .04em;
    color: var(--tpt-text-color);
    text-transform: uppercase;
}

section.post-content .related-tours .related-item .related-item-detail {
    font-size: 14px;
    line-height: 18px;
    text-transform: capitalize;
}

section.post-content .related-tours .related-item .related-item-detail::after {
    color: #75979c;
    content: " \0203a";
}

section.post-content .related-tours .related-item .related-item-detail strike {
    margin-right: 6px;
    letter-spacing: .2px;
    color: #d81f1f;
}

section.post-meta {
    margin-bottom: 24px;
    font-family: var(--tpt-text-font);
    font-size: 16px;
    line-height: 25px;
}

section.post-meta address {
    font-weight: 700;
    font-style: normal;
    color: #315687;
}

section.post-meta address::before {
    color: var(--tpt-text-color);
    content: "By ";
}

section.post-meta p::before {
    content: "Updated ";
}

.related-articles {
    margin-bottom: 80px;
}

img.article-feat-img {
    object-fit: cover;
    max-height: 50vh;
}

.article-form-thanks {
    margin: 31px 0 45px 0;
}

.form-subscribe-article {
    margin-bottom: 40px;
}

.form-subscribe-article input[type="email"] {
    display: inline;
    margin: 0;
    padding: 9px;
    font-family: var(--tpt-text-font);
    font-size: 18px;
    line-height: 24px;
    color: var(--tpt-text-color);
    background: top;
    border: 1px solid var(--tpt-text-color);
}

.form-subscribe-article button[type="submit"] {
    position: relative;
    display: inline-block;
    margin: 0;
    margin-left: -6px;
    padding: 10px;
    font-family: var(--tpt-title-font);
    font-size: 20px;
    font-weight: 600;
    line-height: 24px;
    color: white;
    text-transform: uppercase;
    vertical-align: middle;
    background: #21afe4;
    border: none;
    transition: background-color .1s ease-in-out;
    cursor: pointer;
}

.form-subscribe-article .float-label-pattern label {
    background-color: var(--tpt-background-color);
}

/* USEFUL INFORMATION BLOCK */

.useful-info {
    display: block;
    margin-bottom: 60px;
    padding-top: 20px;
    padding-bottom: 30px;
}

.useful-info h3 {
    margin-top: 40px;
    margin-bottom: 60px;
}

.useful-info > section {
    margin-bottom: 30px;
}

.useful-info svg {
    display: inline-block;
    width: 16px;
    height: auto;
    margin-right: 2px;
}

.useful-info section a {
    display: inline-block;
}

.useful-info section.map p {
    margin-top: 20px;
}

.useful-info section.post-content .content {
    display: inline-block;
    width: calc(100% - 301px);
    padding-top: 40px;
}

.useful-info section.related-tours {
    display: block;
    width: 100%;
    padding-top: 40px;
}

.useful-info section.related-tours > div {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.useful-info section.related-tours .related-item {
    display: block;
    width: 30%;
    min-height: 72px;
}

.useful-info section.related-tours .related-item:not(:last-child) {
    margin-bottom: 46px;
}

.useful-info section.related-tours .related-item img {
    float: left;
    width: 72px;
    height: 72px;
    margin-right: 12px;
    margin-bottom: 46px;
}

.useful-info section.related-tours .related-item .related-item-title {
    display: block;
    font-family: var(--tpt-title-font);
    font-size: 20px;
    font-weight: 600;
    line-height: 22px;
    text-transform: uppercase;
}

.useful-info section.related-tours .related-item .related-item-detail {
    font-size: 14px;
    line-height: 18px;
    text-transform: capitalize;
}

.useful-info section.related-tours .related-item .related-item-detail::after {
    color: #75979c;
    content: " \0203a";
}

/* TOURS AND TOUR PAGES */

.product-page-pre-header {
    position: relative;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 24px;
}

.product-page-pre-header h1 {
    /*
    text-decoration: underline;
    text-underline-offset: 10px;
    */
    display: inline-block;
    margin-bottom: 0;
    font-size: 48px;
    font-weight: 700;
    font-style: normal;
    line-height: 54px;
    color: #21afe4;
}

.product-page-header {
    position: relative;
}

.product-page-header .mark-fav {
    top: 24px;
    left: 24px;
}

.product-page-header .tph-gallery.desktop-version {
    position: relative;
    display: flex;
    height: 575px;
    max-height: 60vh;
    margin-top: 16px;
    margin-bottom: -1px;
    background: linear-gradient( 23deg, rgba(34, 193, 195, 1) 0%, rgba(255, 174, 0, .8) 100%);
    background: linear-gradient( 23deg, rgb(11, 174, 230) 10%, rgb(254, 239, 67) 80%);
    border-top: 1px solid #dad9c5;
    border-right: 1px solid #dad9c5;
    border-left: 1px solid #dad9c5;
}

.product-page-header .tph-gallery.desktop-version .open-gallery {
    position: absolute;
    top: 24px;
    right: 24px;
    padding: 6px 16px;
    font-family: var(--tpt-title-font);
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    letter-spacing: .05em;
    text-transform: uppercase;
    background-color: rgba(255, 255, 255, .8);
    transition: background-color .1s ease-in-out;
    cursor: pointer;
}

.product-page-header .tph-gallery.desktop-version:not(.image-count-1):not(.image-count-2) > .image-slide {
    flex: 2 1 0;
    max-width: calc(70%);
    border-right: 3px solid white;
}

.product-page-header .tph-gallery.desktop-version > .right-pane {
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    border-left: 3px solid white;
}

.product-page-header .tph-gallery.desktop-version > .right-pane > .image-slide {
    height: calc(50% - 3px);
}

.product-page-header .tph-gallery.desktop-version > .right-pane > .image-slide:first-of-type {
    border-bottom: 3px solid white;
}

.product-page-header .tph-gallery.desktop-version > .right-pane > .image-slide:last-of-type {
    border-top: 3px solid white;
}

.product-page-header .tph-gallery.desktop-version .image-slide {
    display: block;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.product-page-header .tph-gallery.desktop-version:not(.image-count-1) .image-slide {
    cursor: pointer;
}

.product-page-header .tph-gallery.desktop-version .image-slide.no-image {
    background-color: #f0f0f0;
}

.product-page-header .tph-gallery.mobile-version {
    position: relative;
    display: none;
    height: 50vh;
    margin-top: 40px;
}

.product-page-header .tph-gallery.mobile-version .image-slide {
    display: block;
    object-fit: cover;
    width: 100%;
    height: 50vh;
}

.tph-gallery.mobile-version {
    overflow-y: hidden;
    max-height: 50vh;
}

.product-page-header .tph-gallery.mobile-version .mobile-gallery-numerator {
    position: absolute;
    right: 15px;
    bottom: 16px;
    padding: 8px;
    font-size: 16px;
    font-weight: 700;
    font-style: normal;
    line-height: 24px;
    letter-spacing: .05em;
    color: var(--tpt-text-color);
    text-transform: uppercase;
    background-color: rgba(255, 255, 255, .8);
    border: none;
}

.product-page-header .tph-gallery.desktop-version h1 {
    position: absolute;
    top: 50%;
    left: calc(8.33% - 40px + (80px * .0833));
    display: block;
    max-width: 50%;
    font-size: 54px;
    line-height: 60px;
    color: white;
    text-align: left;
    text-shadow: rgba(0, 0, 0, 29) 0 3px 3px;
    background: none;
    transform: translateY(-50%);
}

.product-page-header .tph-gallery.desktop-version h1::after {
    position: absolute;
    right: 7%;
    bottom: -4px;
    left: 0;
    width: 150px;
    height: 6px;
    background-color: #21afe4;
    transition: width .1s ease-in-out, left .1s ease-in-out;
    content: "";
}

.product-page-header .tph-tour-info {
    display: flex;
    justify-content: space-between;
    margin-bottom: 18px;
    padding: 26px 40px 20px 30px;
    font-size: 14px;
    font-weight: 600;
    font-style: normal;
    line-height: 16px;
    color: var(--tpt-text-color);
    background-color: white;
    border-right: 1px solid #dad9c5;
    border-bottom: 1px solid #dad9c5;
    border-left: 1px solid #dad9c5;
}

.product-page-header .tph-tour-info .tph-details {
    font-size: 18px;
    font-weight: 400;
    font-style: normal;
    line-height: 24px;
}

.product-page-header .tph-tour-info .tph-details .tph-detail {
    display: inline-block;
    margin-top: 8px;
    margin-right: 16px;
    padding-right: 16px;
    border-right: 1px solid #938a82;
}

.product-page-header .tph-tour-info .tph-details .tph-detail > span {
    position: relative;
    font-weight: bold;
}

.product-page-header .tph-tour-info .tph-details .tph-detail > span.has-tooltip {
    text-decoration: underline;
    cursor: help;
}

.product-page-header .tph-tour-info .tph-details.trim-last .tph-detail:last-of-type {
    border-right: none;
}

.product-page-header .tph-tour-info .tph-details .tph-detail > span .tph-detail-tooltip {
    position: absolute;
    z-index: 10;
    top: 0;
    left: 50%;
    display: none;
    box-sizing: border-box;
    width: 220px;
    height: auto;
    padding: 6px 10px;
    font-family: var(--tpt-text-font);
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
    line-height: 16px;
    color: #434345;
    background-color: white;
    border-radius: 2px;
    filter: drop-shadow(0 0 1px rgba(86, 72, 58, .6)) drop-shadow(0 4px 10px rgba(67, 67, 69, .1));
    transform: translate(-50%, calc(-100% - 10px));
    transition: all .1s ease-in-out;
}

.product-page-header .tph-tour-info .tph-details .tph-detail > span .tph-detail-tooltip::after {
    position: absolute;
    bottom: -5px;
    left: 50%;
    width: 0;
    margin-left: -5px;
    font-size: 0;
    line-height: 0;
    border-top: 5px solid white;
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    transform: translateX(-50%);
    content: "";
}

.product-page-header .tph-tour-info .note-tag {
    display: inline-block;
    margin-top: 8px;
    padding: 6px 8px;
    font-family: var(--tpt-text-font);
    font-size: 14px;
    font-weight: 700;
    font-style: normal;
    line-height: 16px;
    letter-spacing: .02em;
    color: #312d04;
    text-align: center;
    text-transform: uppercase;
    background: var(--tpt-secondary-color);
    border: 1px solid #eae5a3;
    cursor: default;
}

.product-page-header .tph-tour-info .tph-details strong {
    font-weight: 600;
}

.product-page-header .tph-tour-info .tph-info {
    display: flex;
    flex-wrap: wrap;
    margin-top: 16px;
}

.product-page-header .tph-tour-info .tph-info > div {
    display: inline-block;
    margin-right: 10px;
    margin-bottom: 14px;
    padding-right: 10px;
    font-family: var(--tpt-text-font);
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
    line-height: 20px;
    text-transform: capitalize;
    border-right: 1px solid #938a82;
}

.product-page-header .tph-tour-info .tph-info > div:last-of-type {
    border-right: none;
}

.product-page-header .tph-tour-info .tph-info > div::before {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 4px;
    vertical-align: sub;
    content: "";
}

.product-page-header .tph-tour-info .tph-info01::before {
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/tph-icon01.svg);
}

.product-page-header .tph-tour-info .tph-info02::before {
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/tph-icon02.svg);
}

.product-page-header .tph-tour-info .tph-info03::before {
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/tph-icon03.svg);
}

.product-page-header .tph-tour-info .tph-info04::before {
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/tph-icon04.svg);
}

.product-page-header .tph-tour-info .tph-info05::before {
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/tph-icon05.svg);
}

.product-page-header .tph-tour-info .tph-info06::before {
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/tph-icon06.svg);
}

.product-page-header .tph-tour-info .tph-info07::before {
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/tph-icon07.svg);
}

.product-page-header .tph-tour-info .tph-booknow {
    display: flex;
    flex: 0 0 auto;
    align-self: baseline;
    gap: 32px;
    min-width: 206px;
    margin-top: 8px;
    padding-left: 40px;
    text-align: right;
}

.product-page-header .tph-tour-info .tph-booknow .tph-price {
    display: inline-block;
    align-self: baseline;
    font-size: 14px;
    line-height: 16px;
    text-align: right;
    vertical-align: top;
}

.product-page-header .tph-tour-info .tph-booknow .tph-price > div {
    display: inline;
}

.product-page-header .tph-tour-info .tph-booknow .tph-price > div > span {
    display: block;
    font-family: var(--tpt-title-font);
    font-size: 26px;
    font-weight: 700;
    font-style: normal;
    line-height: 32px;
    text-transform: uppercase;
}

.product-page-header .tph-tour-info .tph-booknow .tph-price strike,
.tph-booknow-mobile-footer .tph-price strike,
.tour-result .tour-info .price-info strike {
    display: inline;
    margin-right: 6px;
    font-family: var(--tpt-title-font);
    font-size: 77%;
    font-weight: 400;
    font-style: normal;
    line-height: 24px;
    letter-spacing: .2px;
    color: #d81f1f;
    text-transform: uppercase;
}

.tour-result .tour-info .price-info strike {
    font-size: 20px;
}

.product-page-header .tph-tour-info .tph-booknow > a {
    margin-top: 8px;
    padding: 12px 16px 12px 32px;
    font-size: 22px;
    font-weight: 700;
    font-style: normal;
    line-height: 24px;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.product-page-header .tph-tour-info .booking-block {
    display: flex;
    flex-direction: column;
    align-self: center;
    gap: 8px;
    margin-top: 6px;
}

.product-page-header .tph-tour-info .booking-block .booking-button-aux {
    display: block;
    margin-right: 0;
    padding: 12px 32px;
    font-family: var(--tpt-title-font);
    font-size: 20px;
    font-weight: 700;
    font-style: normal;
    line-height: 24px;
    letter-spacing: .02em;
    color: #3b2813;
    text-align: center;
    text-transform: uppercase;
    background-color: white;
    border: 1px solid #8f8f90;
}

.product-page-header .tph-tour-info .booking-block .booking-button-message {
    display: block;
    font-family: var(--tpt-text-font);
    font-size: 12px;
    font-weight: 400;
    font-style: normal;
    line-height: 16px;
    letter-spacing: .01em;
    color: var(--tpt-text-color);
    text-align: center;
}

.product-page-header .tph-tour-info .booking-block .booking-button-message::before {
    display: inline-block;
    width: 17px;
    height: 16px;
    margin: 0 6px 0 0;
    padding: 0;
    vertical-align: bottom;
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/icon-check-round-v-219653.svg);
    background-repeat: no-repeat;
    content: "";
}

.tour-page-content {
    position: relative;
}

.tour-page-content .featured-tours {
    margin-top: 50px;
}

.tour-page-content .featured-tours .destination-pattern {
    margin-bottom: 50px;
}

.tour-page-content .tour-nav-menu {
    position: fixed;
    z-index: 130000;
    top: -150px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    padding-top: 15px;
    padding-bottom: 15px;
    background-color: white;
    box-shadow: 0 5px 15px -15px black;
    transition: top .5s ease-in-out;
}

.tour-page-content .tour-nav-menu ul {
    width: max-content;
}

.tour-page-content .tour-nav-menu ul li {
    display: inline-block;
    list-style: none;
}

.tour-page-content .tour-nav-menu a {
    position: relative;
    display: inline-block;
    font-size: 18px;
    line-height: 24px;
}

.tour-page-content .tour-nav-menu ul li a {
    margin-right: 36px;
    font-weight: bold;
    line-height: 40px;
}

.tour-page-content .tour-nav-menu ul li a::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 6px;
    background-color: #21afe4;
    transition: width .1s ease-in-out, left .1s ease-in-out;
    content: "";
}

.tour-page-content .tour-nav-menu .buttons-area {
    flex: 0 0 50%;
    font-family: var(--tpt-title-font);
    font-weight: 600;
    text-align: right;
    text-transform: uppercase;
}

.tour-page-content .tour-nav-menu .buttons-area .call-us {
    display: inline-flex;
    flex-direction: column;
    text-align: center;
}

.tour-page-content .tour-nav-menu .buttons-area .call-us > span {
    margin-top: 4px;
    font-size: 14px;
    line-height: 18px;
}

.tour-page-content .tour-nav-menu .buttons-area .call-us > span > a {
    font-size: 14px;
    line-height: 18px;
}

.tour-page-content .tour-nav-menu .buttons-area a.tj-button1 {
    margin-left: 15px;
    padding: 12px 28px 12px 33px;
}

/* Tour Gallery */

.tour-gallery-wrap {
    position: fixed;
    z-index: 2000000;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: none;
    background-color: white;
}

.tour-gallery-wrap .tour-gallery-header {
    display: flex;
    justify-content: space-between;
    padding: 14px 50px 13px 22px;
    font-family: var(--tpt-text-font);
    font-size: 18px;
    line-height: 26px;
    border-bottom: 1px solid #bebebe;
}

.tour-gallery-wrap .tour-gallery-header span.tg-title {
    flex: 0 0 45%;
    font-weight: bold;
    text-align: left;
}

.tour-gallery-wrap .tour-gallery-header span.tg-counter {
    flex: 0 0 10%;
    text-align: center;
}

.tour-gallery-wrap .tour-gallery-header span.tg-close {
    flex: 0 0 45%;
    text-align: right;
    cursor: pointer;
}

.tour-gallery-wrap .tour-gallery-view {
    width: 60vw;
    margin-top: 45px;
    margin-left: 20vw;
}

.tour-gallery-wrap .tour-gallery-view img,
.tour-gallery-wrap .tour-gallery-view video {
    object-fit: cover;
    height: calc(100vh - 240px);
}

.tour-gallery-wrap .tour-gallery-view .slick-arrow {
    top: calc((100vh - 240px) / 2);
    transform: translateY(-50%);
}

.tour-gallery-wrap .tour-gallery-view .slick-arrow.slick-prev3 {
    left: -30px;
    transform: translateX(-100%);
}

.tour-gallery-wrap .tour-gallery-view .slick-arrow.slick-next3 {
    right: -30px;
    transform: translateX(100%);
}

.tour-gallery-wrap ul.slick-dots {
    display: flex;
    overflow-x: hidden;
    overflow-y: visible;
    flex-wrap: nowrap;
    width: 150%;
    max-width: 80vw;
    margin-top: 25px;
    margin-left: 50%;
    padding-right: 20px;
    padding-left: 20px;
    text-align: center;
    list-style: none;
    transform: translateX(-50%);
}

.tour-gallery-wrap ul.slick-dots li {
    display: inline-block;
    flex: 0 0 auto;
    width: 60px;
    height: 60px;
    margin: 20px 10px 40px 10px;
    background: linear-gradient( 23deg, rgba(34, 193, 195, 1) 0%, rgba(255, 174, 0, .8) 100%);
    background: linear-gradient( 23deg, rgb(11, 174, 230) 10%, rgb(254, 239, 67) 80%);
    background-position: center center;
    background-size: contain;
    border-radius: 5px;
    transition: filter .1s linear;
}

.tour-gallery-wrap ul.slick-dots li:first-of-type {
    margin-left: auto;
}

.tour-gallery-wrap ul.slick-dots li:last-of-type {
    margin-right: auto;
}

.tour-gallery-wrap ul.slick-dots li:first-of-type button {
    margin-left: 20px;
}

.tour-gallery-wrap ul.slick-dots li:last-of-type button {
    margin-right: 20px;
}

.tour-gallery-wrap ul.slick-dots li.slick-active {
    filter: drop-shadow(2px 2px 10px rgba(25, 25, 25, .4));
}

.tour-gallery-wrap ul.slick-dots li button {
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.tph-booknow-mobile-footer {
    display: none;
}

/* HOTELS PAGE - HOTEL PORTAL */


/* SINGLE HOTELS */

.api-unavailable pre.apiresult {
    display: block;
}

.api-unavailable h2 {
    margin-bottom: 45px;
    font-size: 54px;
    line-height: 60px;
    color: var(--tpt-text-color);
    text-decoration: none;
}

.api-unavailable h6 {
    text-transform: none;
}

.api-unavailable p a {
    display: inline-block;
}

.api-unavailable p a.tj-button1 {
    margin: 20px 10px 20px 0;
}

.api-unavailable p a.more-button {
    margin: 20px 0 20px 10px;
}

.product-page-header .tph-hotel-info {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 18px;

/* padding: 53px calc(8.33% - 40px + (80px * .0833)) 16px calc(8.33% - 40px + (80px * .0833)); */
    padding: 24px 32px 20px 32px;
    font-size: 20px;
    line-height: 28px;
    color: var(--tpt-text-color);
    background-color: white;
    border-right: 1px solid #dad9c5;
    border-bottom: 1px solid #dad9c5;
    border-left: 1px solid #dad9c5;
}

.product-page-header .tph-hotel-info .tph-details-wrap {
    display: flex;
    flex-grow: 1;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.product-page-header .tph-hotel-info .tph-info {
    display: flex;
    flex-wrap: wrap;
    margin-left: -20px;
}

.product-page-header .tph-hotel-info .tph-info > div {
    display: inline-block;
    margin-bottom: 14px;
    padding-left: 20px;
    font-size: 16px;
    text-transform: capitalize;
    border-right: 2px solid var(--tpt-text-color);
}

.product-page-header .tph-hotel-info .tph-info > div:last-of-type {
    border-right: none;
}

.product-page-header .tph-hotel-info .tph-info01::before {
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/tph-icon01.svg);
}

.product-page-header .tph-hotel-info .tph-info02::before {
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/tph-icon02.svg);
}

.product-page-header .tph-hotel-info .tph-info03::before {
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/tph-icon03.svg);
}

.product-page-header .tph-hotel-info .tph-info04::before {
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/tph-icon04.svg);
}

.product-page-header .tph-hotel-info .tph-info05::before {
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/tph-icon05.svg);
}

.product-page-header .tph-hotel-info .tph-info06::before {
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/tph-icon06.svg);
}

.product-page-header .tph-hotel-info .tph-info07::before {
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/tph-icon06.svg);
}

.product-page-header .tph-hotel-info .tph-booknow {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    min-width: 206px;
}

.product-page-header .tph-hotel-info .tph-booknow .tph-price {
    display: inline-block;
    align-self: center;
    margin-right: 40px;
    font-family: var(--tpt-text-font);
    font-size: 14px;
    font-weight: 600;
    font-style: normal;
    line-height: 16px;
    color: #56483a;
    text-align: left;
    vertical-align: top;
}

.product-page-header .tph-hotel-info .tph-booknow .tph-price > div {
    display: inline;
}

.product-page-header .tph-hotel-info .tph-booknow .tph-price > div > span {
    display: block;
    font-size: 24px;
    font-weight: 700;
    font-style: normal;
    line-height: 32px;
    color: #2e1702;
    text-transform: uppercase;
}

.product-page-header .tph-utils {
    font-family: var(--tpt-text-font);
    font-size: 15px;
    font-weight: 700;
    font-style: normal;
    line-height: 20px;
    color: var(--tpt-text-color);
}

.product-page-header .tph-utils {
    margin-top: 20px;
}

.product-page-header .tph-utils svg {
    width: 20px;
    height: 20px;
    margin-right: 8px;
    vertical-align: bottom;
}

.product-page-header .tph-utils span {
    display: inline-block;
    margin-right: 8px;
    margin-bottom: 8px;
    padding-right: 12px;
    text-decoration-line: underline;
    cursor: pointer;
}

.product-page-header .tph-utils span.save-fav svg {
    transition: fill .1s ease-in-out;
}

.product-page-header .tph-utils span.save-fav.liked svg {
    fill: black;
}

.product-page-header .tph-utils span:not(:last-of-type) {
    border-right: 1px solid #938a82;
}

.hotel-page-content {
    position: relative;
}

.featured-hotels-glide,
.featured-articles-glide,
.testimonials-static {
    width: 91.67%;
    margin-left: 8.33%;
}

.featured-tours .featured-items.list-page-items .row .column,
.featured-articles .featured-items.list-page-items .row .column,
.featured-tours .column {
    flex: 1 0 30%;
}

.featured-pages .featured-items.layout-c .column,
.featured-articles .column {
    flex: 1 0 20%;
}

body:not(.home) .featured-hotels-glide h2,
body:not(.home) .featured-articles-glide h4 {
    width: 100%;

/* 100 - 8.33 - 8.33 = 83.34 || 100 - 8.33 = 91.67 || 83.34 * 100 / 91.67 = 9.91 */
    padding-bottom: 2px;
    text-align: left;
    text-decoration: none;
    border-bottom: 2px solid #21afe4;
}

.hotel-page-content .featured-hotels button.slick-arrow {
    top: 50%;
}

.hotel-page-content .featured-hotels .destination-pattern {
    margin-bottom: 50px;
}

.hotel-page-content .featured-hotels .featured-items .featured-item h6 {
    margin-bottom: 20px;
    font-size: 32px;
    line-height: 34px;
}

.hotel-page-content .featured-hotels .featured-item > a {
    display: block;
    overflow: hidden;
    width: 100%;
    height: 265px;
    margin-bottom: 10px;
}

.hotel-page-content .featured-hotels .featured-item a.hotel-link {
    line-height: 18px;
}

.hotel-page-content .featured-hotels .featured-item img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    margin-bottom: 12px;
    transition: transform .1s ease-in-out;
}

.hotel-page-content .featured-hotels .featured-item .no-image {
    width: 100%;
    height: 100%;
}

.hotel-page-content .hotel-nav-menu {
    position: fixed;
    z-index: 130000;
    top: -150px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    padding-top: 15px;
    padding-bottom: 15px;
    background-color: white;
    box-shadow: 0 5px 15px -15px black;
    transition: top .5s ease-in-out;
}

.hotel-page-content .hotel-nav-menu ul {
    width: max-content;
}

.hotel-page-content .hotel-nav-menu ul li {
    display: inline-block;
    list-style: none;
}

.hotel-page-content .hotel-nav-menu a {
    position: relative;
    display: inline-block;
    font-size: 18px;
    line-height: 24px;
}

.hotel-page-content .hotel-nav-menu ul li a {
    margin-right: 36px;
    font-weight: bold;
    line-height: 40px;
}

.hotel-page-content .hotel-nav-menu ul li a::after {
    position: absolute;
    bottom: 2px;
    left: 0;
    width: 0;
    height: 4px;
    background-color: #21afe4;
    transition: width .1s ease-in-out, left .1s ease-in-out;
    content: "";
}

.hotel-page-content .hotel-nav-menu .buttons-area {
    flex: 0 1 50%;
    text-align: right;
}

.hotel-page-content .hotel-nav-menu .buttons-area .call-us {
    display: inline-flex;
    flex-direction: column;
    text-align: center;
}

.hotel-page-content .hotel-nav-menu .buttons-area .call-us > span {
    margin-top: 4px;
    font-size: 14px;
    line-height: 18px;
}

.hotel-page-content .hotel-nav-menu .buttons-area .call-us > span > a {
    font-size: 14px;
    line-height: 18px;
}

.hotel-page-content .hotel-nav-menu .buttons-area a.tj-button1 {
    margin-left: 15px;
    padding: 12px 28px 12px 33px;
}

.hotel-page-content .room-choices .room-search > svg {
    position: absolute;
    top: -16px;
    right: 68px;
    display: none;
    width: 158px;
    height: auto;
}

/* Hotel Gallery */

.hotel-gallery-wrap {
    position: fixed;
    z-index: 2000000;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: none;
    background-color: white;
}

.hotel-gallery-wrap .hotel-gallery-header {
    display: flex;
    justify-content: space-between;
    padding: 14px 50px 13px 22px;
    font-family: var(--tpt-text-font);
    font-size: 18px;
    line-height: 26px;
    border-bottom: 1px solid #bebebe;
}

.hotel-gallery-wrap .hotel-gallery-header span.tg-title {
    flex: 0 0 45%;
    font-weight: bold;
    text-align: left;
}

.hotel-gallery-wrap .hotel-gallery-header span.tg-counter {
    flex: 0 0 10%;
    text-align: center;
}

.hotel-gallery-wrap .hotel-gallery-header span.tg-close {
    flex: 0 0 45%;
    text-align: right;
    cursor: pointer;
}

.hotel-gallery-wrap .hotel-gallery-view {
    width: 60vw;
    margin-top: 45px;
    margin-left: 20vw;
}

.hotel-gallery-wrap .hotel-gallery-view img,
.hotel-gallery-wrap .hotel-gallery-view video {
    object-fit: cover;
    height: calc(100vh - 240px);
}

.hotel-gallery-wrap .hotel-gallery-view .slick-arrow {
    top: calc((100vh - 240px) / 2);
    transform: translateY(-50%);
}

.hotel-gallery-wrap .hotel-gallery-view .slick-arrow.slick-prev3 {
    left: -30px;
    transform: translateX(-100%);
}

.hotel-gallery-wrap .hotel-gallery-view .slick-arrow.slick-next3 {
    right: -30px;
    transform: translateX(100%);
}

.hotel-gallery-wrap ul.slick-dots {
    display: flex;
    overflow-x: scroll;
    overflow-y: visible;
    flex-wrap: nowrap;
    width: 150%;
    max-width: 80vw;
    margin-top: 25px;
    margin-left: 50%;
    padding-right: 20px;
    padding-left: 20px;
    text-align: center;
    list-style: none;
    transform: translateX(-50%);
}

.hotel-gallery-wrap ul.slick-dots li {
    display: inline-block;
    flex: 0 0 auto;
    width: 60px;
    height: 60px;
    margin: 20px 10px 40px 10px;
    background: linear-gradient( 23deg, rgba(34, 193, 195, 1) 0%, rgba(255, 174, 0, .8) 100%);
    background: linear-gradient( 23deg, rgb(11, 174, 230) 10%, rgb(254, 239, 67) 80%);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    border-radius: 5px;
    transition: filter .1s linear;
}

.hotel-gallery-wrap ul.slick-dots li:first-of-type {
    margin-left: auto;
}

.hotel-gallery-wrap ul.slick-dots li:last-of-type {
    margin-right: auto;
}

.hotel-gallery-wrap ul.slick-dots li:first-of-type button {
    margin-left: 20px;
}

.hotel-gallery-wrap ul.slick-dots li:last-of-type button {
    margin-right: 20px;
}

.hotel-gallery-wrap ul.slick-dots li.slick-active {
    filter: drop-shadow(2px 2px 10px rgba(25, 25, 25, .4));
}

.hotel-gallery-wrap ul.slick-dots li button {
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.tph-booknow-mobile-footer {
    display: none;
}

/* Larger clickable area */

.tour-gallery-wrap .tour-gallery-view button.slick-arrow.slick-next3,
.hotel-gallery-wrap .hotel-gallery-view button.slick-arrow.slick-next3,
.tour-gallery-wrap .tour-gallery-view button.slick-arrow.slick-prev3,
.hotel-gallery-wrap .hotel-gallery-view button.slick-arrow.slick-prev3 {
    position: absolute;
    top: 0;
    display: block;
    width: 20%;
    height: calc(100vh - 240px);
    background: transparent;
    border-radius: 0;
    box-shadow: none;
}

.tour-gallery-wrap .tour-gallery-view button.slick-arrow.slick-next3,
.hotel-gallery-wrap .hotel-gallery-view button.slick-arrow.slick-next3 {
    right: 0;
}

.tour-gallery-wrap .tour-gallery-view button.slick-arrow.slick-prev3,
.hotel-gallery-wrap .hotel-gallery-view button.slick-arrow.slick-prev3 {
    left: 0;
}

.tour-gallery-wrap .tour-gallery-view button.slick-arrow.slick-next3::before,
.hotel-gallery-wrap .hotel-gallery-view button.slick-arrow.slick-next3::before,
.tour-gallery-wrap .tour-gallery-view button.slick-arrow.slick-prev3::before,
.hotel-gallery-wrap .hotel-gallery-view button.slick-arrow.slick-prev3::before {
    position: absolute;
    top: 50%;
    bottom: 20px;
    left: 50%;
    width: 36px;
    height: 36px;
    background-color: white;
    background-position: center;
    border-radius: 50%;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .26);
    transform: translate(-50%, -50%);
    transition: box-shadow .1s ease-in-out;
    content: "";
}

.tour-gallery-wrap .tour-gallery-view button.slick-arrow.slick-next3::after,
.hotel-gallery-wrap .hotel-gallery-view button.slick-arrow.slick-next3::after,
.tour-gallery-wrap .tour-gallery-view button.slick-arrow.slick-prev3::after,
.hotel-gallery-wrap .hotel-gallery-view button.slick-arrow.slick-prev3::after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 36px;
    height: 36px;
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/chev-151209.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 9px 12px;
    transform: translate(-50%, -50%);
    content: "";
    cursor: pointer;
}

.tour-gallery-wrap .tour-gallery-view button.slick-arrow.slick-prev3::after,
.hotel-gallery-wrap .hotel-gallery-view button.slick-arrow.slick-prev3::after {
    transform: translate(-50%, -50%) rotate(180deg);
}

/* PRESS COVERAGE PAGE */

.press-coverage {
    margin-bottom: 100px;
}

.press-coverage h2 {
    position: relative;
    display: inline-block;
    margin-bottom: 38px;
    font-size: 36px;
    font-weight: 700;
    font-style: normal;
    line-height: 36px;
    color: #21afe4;
}

.press-coverage h2::after {
    position: absolute;
    right: 0;
    bottom: -4px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #21afe4;
    content: "";
}

.press-coverage .press-coverage-items {
    columns: 3;
    column-gap: 15px;
}

.press-coverage .press-coverage-item {
    width: 100%;
    margin-bottom: 15px;
    background-color: white;
    border: 1px solid #e5dcdc;
    cursor: zoom-in;

    break-inside: avoid;
}

.press-coverage .press-coverage-item.no-screenshot {
    cursor: default;
}

.press-coverage .press-coverage-item .press-coverage-item-header {
    padding: 12px;
    background-color: #fffef7;
}

.press-coverage .press-coverage-item .press-coverage-item-header > h4 {
    margin: 0;
    font-family: var(--tpt-title-font);
    font-size: 24px;
    font-weight: 700;
    font-style: normal;
    font-variant-numeric: lining-nums proportional-nums;
    line-height: 30px;
    letter-spacing: .24px;
    color: #434345;
}

.press-coverage .press-coverage-item .press-coverage-item-header > div {
    font-family: var(--tpt-title-font);
    font-size: 16px;
    font-weight: 700;
    font-style: normal;
    line-height: 20px;
    color: #757579;
    text-transform: uppercase;
}

.press-coverage .press-coverage-item .press-coverage-item-header > div::before {
    content: "(";
}

.press-coverage .press-coverage-item .press-coverage-item-header > div::after {
    content: ")";
}

.press-coverage .press-coverage-item > img {
    display: block;
    width: 100%;
    height: auto;
}

.press-coverage .press-coverage-item > p {
    display: block;
    padding: 12px;
    font-family: var(--tpt-text-font);
    font-size: 15px;
    font-weight: 500;
    font-style: italic;
    line-height: 18px;
    letter-spacing: -.15px;
    color: #434345;
    text-align: center;
}

.press-coverage .popup-overlay {
    position: fixed;
    z-index: 9999999;
    top: 0;
    left: 0;
    display: none;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, .8);
}

.press-coverage .popup-overlay .popup-modal {
    position: fixed;
    z-index: 1000;
    top: 50%;
    left: 50%;
    overflow: auto;
    box-sizing: border-box;
    width: 100%;
    max-width: 1000px;
    max-height: 90vh;
    padding: 40px 10px 10px 10px;
    background-color: white;
    border: 1px solid #e4e4e3;
    box-shadow: 0 5px 20px 0 rgba(12, 49, 100, .07);
    transform: translate(-50%, -50%);
}

.press-coverage .popup-overlay .popup-modal img {
    display: block;
    width: 100%;
    height: auto;
}

.press-coverage .popup-overlay .popup-modal svg.popup-close-btn {
    position: absolute;
    top: 2px;
    right: 0;
    width: 16px;
    height: 16px;
    padding: 10px;
    color: white;
    opacity: .7;
    transition: opacity .1s ease-in-out;
    cursor: pointer;
}

/* SHORTCODES */


/* [book-now] */

body .book-now-shortcode {
    display: block;
    width: 100%;
    text-align: left;
}

body .book-now-shortcode a {
    color: white;
}

/* [subscribe-form] */

.inline-subscribe-form {
    position: relative;
    padding: 24px 150px 32px 32px;
    background: white;
    border: 1px solid  #e5dcdc;
}

.inline-subscribe-form > svg {
    position: absolute;
    right: 0;
}

.inline-subscribe-form > svg #plane {
    fill: var(--tpt-secondary-color);
}

.inline-subscribe-form .isf-title {
    display: block;
    margin-bottom: 8px;
    font-family: var(--tpt-title-font);
    font-size: 24px;
    font-weight: 700;
    font-style: normal;
    line-height: 30px;
    letter-spacing: .24px;
    color: #21afe4;
    text-transform: uppercase;
}

.inline-subscribe-form .isf-content {
    display: block;
    margin-bottom: 16px;
    font-family: var(--tpt-text-font);
    font-size: 14px;
    font-style: normal;
    line-height: 20px;
    color: var(--tpt-text-color);
}

.inline-subscribe-form .isf-form {
    position: relative;
    display: flex;
    width: 100%;
    max-width: 430px;
}

.inline-subscribe-form .isf-form .float-label-pattern {
    flex: 1;
}

.inline-subscribe-form .isf-form .float-label-pattern input {
    box-sizing: border-box;
    width: 100%;
}

.inline-subscribe-form .isf-form .float-label-pattern input:placeholder-shown + label {
    top: 14px;
    font-size: 10.67px;
}

.inline-subscribe-form .isf-form .float-label-pattern input:not(:placeholder-shown) + label,
.inline-subscribe-form .isf-form .float-label-pattern input:focus + label {
    top: -6px;
    font-size: 10.67px;
}

.form-subscribe-shortcode {
    margin-top: 34px;
    margin-bottom: 24px;
}

.form-subscribe-shortcode input[type="email"] {
    display: inline;
    margin: 0;
    padding: 11px;
    font-family: var(--tpt-text-font);
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: var(--tpt-text-color);
    border: 1px solid #cacacc;
}

.form-subscribe-shortcode button[type="submit"] {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 12px 16px;
    font-family: var(--tpt-title-font);
    font-size: 22px;
    font-weight: 700;
    font-style: normal;
    line-height: 24px;
    letter-spacing: .44px;
    color: white;
    text-align: center;
    text-transform: uppercase;
    background: #21afe4;
    border: none;
    transition: background-color .1s ease-in-out;
    cursor: pointer;
}

.form-subscribe-shortcode .float-label-pattern label {
    background-color: white;
}

.inline-subscribe-form::before {
    position: absolute;
    top: 0;
    right: 0;
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 0%);
    width: 74px;
    height: 13px;
    background-color: #f5854d;
    content: "";
}

.inline-subscribe-form::after {
    position: absolute;
    right: 0;
    bottom: 0;
    clip-path: polygon(0% 100%, 100% 0%, 100% 100%, 0% 100%);
    width: 234px;
    height: 19px;
    background-color: #7fd5f4;
    content: "";
}

/* [tokyo-marathon-banner] */

.tokyo-marathon-banner {
    display: block;
    width: 100%;
    margin-bottom: 45px;
    cursor: pointer;
}

.tokyo-marathon-banner .tokyo-marathon-banner-mobile {
    display: none;
}

/* QUICK LINKS */

.quick-links {
    margin: 50px 0;
}

.quick-links span {
    display: inline-block;
    margin-right: 10px;
    margin-bottom: 10px;
    font-size: 20px;
    font-weight: bold;
}

.quick-links a {
    display: inline-block;
    margin-right: 10px;
    margin-bottom: 10px;
    padding: 5px 10px;
    color: var(--tpt-text-color);
    background-color: white;
    border: 1px solid #bebebe;
    border-radius: 10px;
    transition: color .1s ease-in-out, background-color .1s ease-in-out;
}

/* TOUR FILTERS */

.tour-filters {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 12px;
    margin-bottom: 50px;
    padding-right: 117px;
}

.tour-filters .tour-filter {
    position: relative;
}

.tour-filters .tour-filter .tour-filter-button {
    display: flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    height: 40px;
    padding: 0 12px 0 12px;
    text-transform: capitalize;
    background: #fbf0e6;
    border-radius: 5px;
    transition: background-color .1s ease-in-out, width .1s ease-in-out;
    cursor: pointer;
}

.tour-filters .tour-filter .tour-filter-button.active {
    background-color: #eee7e1;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.tour-filters .tour-filter .tour-filter-button > span {
    flex-basis: auto;
    flex-grow: inherit;
    flex-shrink: 0;
    min-width: 12px;
    height: 18px;
    margin-right: auto;
    padding: 0 3px;
    font-size: 14px;
    font-weight: 600;
    font-style: normal;
    line-height: 20px;
    letter-spacing: .02em;
    color: #f48d2e;
    text-align: center;
    background-color: var(--tpt-background-color);
    border: 2px solid #f48d2e;
    border-radius: 18px;
    transition: all .1s ease-in-out;
}

.tour-filters .tour-filter .tour-filter-button > span[data-count="0"],
.tour-filters .tour-filter .tour-filter-button > span[data-count=""] {
    display: block;
    visibility: hidden;
    overflow: hidden;
    width: 0;
    min-width: unset;
    height: 0;
    padding: 0;
    opacity: 0;
}

.tour-filters .tour-filter .tour-filter-button > span::before {
    content: attr(data-count);
}

.tour-filters .tour-filter .tour-filter-button > span[data-count="0"]::before {
    content: "1";
}

.tour-filters .tour-filter .tour-filter-button > svg {
    position: relative;
    flex-shrink: 0;
    width: 12px;
    transition: transform .1s ease-in-out;
}

.tour-filters .tour-filter.availability .tour-filter-button::before {
    width: 20px;
    height: 20px;
    background-image: url("https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/icon-calendar-black.svg");
    content: "";
}

.tour-filters .tour-filter .tour-filter-button.active > svg {
    transform: rotate(-90deg);
}

.tour-filters .tour-filter.sort {
    position: absolute;
    top: 0;
    right: 0;
}

.tour-filters .tour-filter.sort .tour-filter-button {
    background-color: #eef2f8;
}

.tour-filters .tour-filter.sort .tour-filter-button > svg {
    transition: transform .3s ease-in-out;
}

.tour-filters .tour-filter.sort .tour-filter-button.active {
    background-color: #dde8f3;
}

.tour-filters .tour-filter.sort .tour-filter-button.active > svg {
    transform: rotate(-180deg);
}

.tour-filters .tour-filter .tour-filter-items {
    position: absolute;
    z-index: 15;
    top: 40px;
    left: 0;
    display: none;
    box-sizing: border-box;
    min-width: 280px;
    max-width: 280px;
    background-color: white;
    border: 1px solid #e5dcdc;
    box-shadow: 0 6px 12px rgba(0, 0, 0, .08);
}

.tour-filters .tour-filter.sort .tour-filter-items {
    right: 0;
    left: unset;
}

.tour-filters .tour-filter .tour-filter-items {
    list-style: none;
}

.tour-filters .tour-filter .tour-filter-items .filter-items-block-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 16px;
}

.tour-filters .tour-filter .tour-filter-items .filter-items-block-top > div {
    font-size: 18px;
    font-weight: 600;
    line-height: 1;
    text-transform: capitalize;
}

.tour-filters .tour-filter .tour-filter-items .filter-items-block-top .close-list {
    cursor: pointer;
}

.tour-filters .tour-filter .tour-filter-items .filter-items-block-top .close-list svg path {
    transition: fill .2s ease-in-out;
}

.tour-filters .tour-filter .tour-filter-items ul {
    overflow-y: auto;
    max-height: 300px;
}

.tour-filters .tour-filter .tour-filter-items ul li {
    list-style: none;
}

.tour-filters .tour-filter .tour-filter-items ul li label {
    position: relative;
    display: flex;
    align-items: center;
    padding: 9px 16px;
    font-size: 16px;
    text-transform: capitalize;
    transition: background-color .2s ease-in-out;
    cursor: pointer;
}

.tour-filters .tour-filter .tour-filter-items ul li input[type="checkbox"] + label::before {
    position: relative;
    display: block;
    box-sizing: border-box;
    width: 24px;
    min-width: 24px;
    height: 24px;
    margin-right: 10px;
    border: 1px solid #717175;
    border-radius: 5px;
    transition: border .2s ease-in-out, background-color .2s ease-in-out, content .2s ease-in-out;
    content: "";
}

.tour-filters .tour-filter .tour-filter-items ul li input[type="checkbox"]:checked + label::before {
    font-size: 20px;
    font-weight: bold;
    line-height: 22px;
    color: white;
    text-align: center;
    background: black;
    border: 1px solid black;
    content: "\2713";
}

.tour-filters .tour-filter .tour-filter-items ul li input[type="radio"] + label::before {
    position: relative;
    display: block;
    box-sizing: border-box;
    width: 24px;
    min-width: 24px;
    height: 24px;
    margin-right: 10px;
    border: 1px solid #717175;
    border-radius: 50%;
    transition: border-color .2s ease-in-out;
    content: "";
}

.tour-filters .tour-filter .tour-filter-items ul li input[type="radio"]:checked + label::before {
    border-color: black;
}

.tour-filters .tour-filter .tour-filter-items ul li input[type="radio"]:checked + label::after {
    position: absolute;
    top: 13px;
    left: 20px;
    display: block;
    width: 16px;
    height: 16px;
    background: linear-gradient(45deg, #1d1d1d, #666);
    background-color: black;
    border-radius: 50%;
    content: "";
}

.tour-filters .tour-filter .tour-filter-items ul li input[type="checkbox"],
.tour-filters .tour-filter .tour-filter-items ul li input[type="radio"] {
    display: none;
}

.tour-filter.availability ul li {
    position: relative;
    display: flex;
    align-items: center;
    padding: 9px 16px;
    font-size: 16px;
    text-transform: capitalize;
    transition: background-color .2s ease-in-out;
    cursor: pointer;
}

.tour-filter.availability ul li .daterange-selector {
    position: relative;
    display: flex;
    align-items: center;
    font-size: 16px;
    text-transform: capitalize;
    cursor: pointer;
}

body.archive .daterangepicker {
    margin-top: 0;
}

/* SEARCH RESULTS */

.search-results .search-result {
    position: relative;
    display: flex;
    align-items: stretch;
    min-height: 280px;
    margin-bottom: 30px;
    background-color: white;
    border: solid 1px #dad9c5;
}

.search-results .search-result .product-gallery {
    position: relative;
    overflow: hidden;
    flex: 1 0 auto;
    width: 30%;
}

.search-results .search-result .product-gallery img {
    display: block;
    object-fit: cover;
    width: 100%;
    height: 100%;
    min-height: 280px;
    max-height: 280px;
    transition: transform .1s ease-in-out;
}

.search-results .search-result .product-gallery .no-image {
    min-height: 280px;
}

.search-results .search-result .product-info {
    position: relative;
    width: 100%;
    padding: 22px;
}

.search-results .search-result .product-info h2,
.search-results .search-result .product-info h3 {
    display: inline-block;
    max-width: calc(100% - 122px);
    margin-bottom: 12px;
    font-size: 30px;
    line-height: 35px;
    background: 0 0;
}

.search-results .search-result .product-info .tph-details {
    display: -webkit-box;
    overflow: hidden;
    font-size: 18px;
    line-height: 24px;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
            line-clamp: 3;
    -webkit-box-orient: vertical;
}

.search-results .search-result .product-info a.tj-button1,
.search-results .search-result .product-info a.tj-button2 {
    position: absolute;
    right: 22px;
    bottom: 22px;
}

.search-results .search-result .product-info .hotel-desc {
    display: -webkit-box;
    overflow: hidden;
    margin-top: 16px;
    margin-bottom: 16px;
    font-size: 14px;
    line-height: 20px;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1;
            line-clamp: 1;
    -webkit-box-orient: vertical;
            box-orient: vertical;
}

.search-results .search-result .product-info .hotel-location {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    margin-bottom: 16px;
    font-size: 16px;
    text-transform: capitalize;
}

.search-results .search-result .product-info .hotel-location svg {
    width: 16px;
    height: 16px;
}

/* DISCOUNT BANNER */

.disban-svg img.disban-narrow {
    display: none;
}

.disban-svg img.disban-wide {
    display: block;
    width: 100%;
    height: calc(83.34vw / 9.95455);
}

.tour-results .disban-svg {
    margin-bottom: 30px;
}

.featured-tours-extended-glide .disban-svg img.disban-wide {
    width: 9.91%;
}

.disban-static {
    position: relative;
    display: block;
    margin-left: 50px;
}

.disban-static img {
    width: 100%;
    min-width: 270px;
    max-width: 294px;
    max-height: 200px;
}

.page-tours .disban-static {
    max-width: 294px;
    margin-top: 20px;
    margin-left: 50px;
}

/* PAGE BUILDER INLINE IMAGE BANNER */

.pb-inline-image-banner {
    margin-right: auto;
    margin-left: auto;
}

.pb-inline-image-banner img {
    max-height: unset;
}

.pb-inline-image-banner img.pb-iiban-narrow {
    display: none;
}

.pb-inline-image-banner img.pb-iiban-wide {
    display: block;
    width: 100%;
    height: auto;
}

/* HOTELS BANNER */

.hotban-svg {
    margin-bottom: 30px;
}

.hotban-svg img.hotban-narrow {
    display: none;
}

.hotban-svg img.hotban-wide {
    display: block;
    width: 100%;
}

/* CONTACT POPUP (FRESHCHAT WIDGET) */

.fc-disabled {
    position: fixed;
    z-index: 120000;
    right: 20px;
    bottom: 21px;
    display: none;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    background-color: #25d366;
    border-radius: 34px 8px 34px 34px;
    box-shadow: 0 5px 4px 0 rgba(0, 0, 0, .26);
    cursor: pointer;
}

.fc-disabled > span {
    position: absolute;
    top: 37%;
    left: 32%;
    width: 38%;
    height: 17px;
    background-color: #3a4b67;
    border-radius: 6px 6px 6px 2px;
}

.fc-disabled > span::before {
    position: absolute;
    top: 5px;
    left: 4px;
    width: 65%;
    height: 2px;
    background-color: #25d366;
    border-color: white;
    border-top: 5px;
    border-radius: 2px 2px 2px 2px;
    content: "";
}

.fc-disabled > span::after {
    position: absolute;
    top: 10px;
    left: 4px;
    width: 44%;
    height: 2px;
    background-color: #25d366;
    border-color: white;
    border-top: 5px;
    border-radius: 2px 2px 2px 2px;
    content: "";
}

.contact-menu-wrap {
    position: fixed;
    z-index: 9999999;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: none;
    background: rgba(0, 0, 0, .2);
}

.contact-menu {
    position: fixed;
    top: 50%;
    left: 50%;
    overflow-y: auto;
    box-sizing: border-box;
    width: 90%;
    max-width: 800px;
    max-height: 90vh;
    padding: 70px 50px;
    background: white;
    border: 1px solid #e4e4e3;
    box-shadow: 0 5px 20px rgba(12, 49, 100, .07);
    transform: translate(-50%, -50%);
}

body .calendly-overlay {
    z-index: 1000000;
}

/* PROACTIVE CHAT */

.pac-pop {
    position: fixed;
    z-index: 10000;
    right: 20px;
    bottom: 100px;
    display: none;
    flex-direction: column;
    box-sizing: border-box;
    background: white;
    background-color: white;
    border: 1px solid #e5e4e2;
    border-radius: 16px;
    box-shadow: 0 5px 4px 0 rgba(0, 0, 0, .26);
}

.pac-pop .pac-pop-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 13px;
    box-sizing: border-box;
    width: 100%;
    padding: 8px 24px;
    background: #fef8e9;
    border-top-right-radius: 16px;
    border-top-left-radius: 16px;
}

.pac-pop .pac-pop-header > div {
    display: flex;
    align-items: center;
    gap: 13px;
}

.pac-pop .pac-pop-header .pac-avatar {
    position: relative;
    width: 40px;
    height: 40px;
}

.pac-pop .pac-pop-header .pac-avatar img,
.pac-pop .pac-pop-header .pac-avatar span {
    width: 100%;
    height: 100%;
    border-radius: 50%;
}

.pac-pop .pac-pop-header .pac-avatar .online {
    position: absolute;
    right: 1px;
    bottom: 1px;
    box-sizing: content-box;
    width: 7px;
    height: 7px;
    background-color: #4ed434;
    border: #fef8e9 2px solid;
    border-radius: 50%;
}

.pac-pop .pac-pop-header .pac-avatar .online::after {
    position: absolute;
    top: -3px;
    left: -3px;
    box-sizing: border-box;
    width: 13px;
    height: 13px;
    border: 2px solid #4ed434;
    border-radius: 50%;
    opacity: 0;
    animation: pulsate .8s ease-out infinite;
    content: "";
}

@keyframes pulsate {
    0% {
        opacity: 0;
        transform: scale(.1);
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: scale(1.2);
    }
}

.pac-pop .pac-pop-header .pac-name {
    font-family: var(--tpt-text-font);
    font-size: 16px;
    font-weight: 600;
    font-style: normal;
    line-height: 120%;
    color: #15120a;
}

.pac-pop .pac-pop-header .pac-close {
    box-sizing: border-box;
    width: 20px;
    height: 20px;
    padding: 10px 0 10px 10px;
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/icon-xclose.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px 20px;
    transition: transform .1s ease-in-out;
    cursor: pointer;
}

.pac-pop .pac-pop-body {
    box-sizing: border-box;
    width: 100%;
    max-width: 314px;
    padding: 16px;
    font-family: var(--tpt-text-font);
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
    line-height: 18px;
    color: #15120a;
    background: #f8f8f5;
    border: white 16px solid;
    border-radius: 0 16px 16px 16px;
}

.pac-pop .pac-pop-body p,
.pac-pop .pac-pop-body div {
    margin-bottom: 10px;
}

.pac-pop .pac-pop-body div:first-of-type {
    margin-bottom: 4px;
}

.pac-pop .pac-pop-body ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
    margin-top: 10px;
    list-style: none;
}

.pac-pop .pac-pop-body ul li {
    flex: 0 0 calc(50% - 5px);
    box-sizing: border-box;
    padding: 4px 13px 4px 4px;
    font-size: 13px;
    font-weight: 500;
    font-style: normal;
    line-height: 120%;
    letter-spacing: .13px;
    color: #1e1e1e;
    background: white;
    border: 2px solid white;
    border-radius: 130px;
    box-shadow: 0 8px 12px 0 rgba(0, 0, 0, .05);
    transition: border-color .1s ease-in-out;
}

.pac-pop .pac-pop-body ul li a {
    display: flex;
    align-items: center;
    gap: 6px;
}

.pac-pop .pac-pop-body ul li a svg {
    width: 26px;
    height: 26px;
}

.pac-badge {
    position: fixed;
    right: 40px;
    bottom: 40px;
    width: 80px;
    height: 80px;
    background-color: #f48654;
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/pac-open.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 38px 38px;
    border-radius: 40%;
    box-shadow: 19px 20px 60px 0 rgba(72, 74, 77, .34);
    transition: background-size .1s ease-in-out, background-color .1s ease-in-out;
    cursor: pointer;
}

/* INACTIVITY POPUP */

.inactivity-popup-wrap {
    position: fixed;
    z-index: 9999999;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: none;
    background: rgba(255, 255, 255, .7);
}

.inactivity-popup {
    position: fixed;
    top: 50%;
    left: 50%;
    display: flex;
    justify-content: space-between;
    gap: 32px;
    box-sizing: border-box;
    width: 90%;
    max-width: 800px;
    max-height: 90vh;
    padding-top: 24px;
    padding-left: 40px;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 0;
    border-radius: 8px;
    box-shadow: 0 5px 20px rgba(12, 49, 100, .07);
    transform: translate(-50%, -50%);
}

.inactivity-popup.no-right-pane {
    display: block;
    padding-right: 40px;
    padding-bottom: 32px;
    background-size: auto;
}

.inactivity-popup form.contact-form {
    padding-bottom: 0;
}

.inactivity-popup form.contact-form .field-pair-inverse {
    display: flex;
    gap: 16px;
}

.inactivity-popup form.contact-form label {
    margin-bottom: 4px;
    font-size: 14px;
    line-height: 16px;
    color: black;
}

.inactivity-popup form.contact-form input,
.inactivity-popup form.contact-form textarea {
    box-sizing: border-box;
    width: 100%;
    height: 44px;
    margin-bottom: 0;
    padding: 10px 8px 10px 10px;
    font-size: 18px;
    color: var(--tpt-text-color);
    background-color: white;
    border: 1px solid #e1d9cd;
    border-radius: 4px;
    box-shadow: none;
    transition: border-color .1s ease-in-out;
}

.inactivity-popup form.contact-form input::placeholder,
.inactivity-popup form.contact-form textarea::placeholder {
    font-size: 16px;
}

.contact-menu form.contact-form textarea,
.inactivity-popup form.contact-form textarea {
    height: 88px;
    max-height: 20vh;
}

body .inactivity-popup button.tj-button4 {
    width: 100%;
    padding: 12px;
}

.inactivity-popup .additional-contact-options {
    display: none;
}

.inactivity-popup .additional-contact-options.active {
    display: block;
}

.inactivity-popup .additional-contact-options p {
    margin-top: 16px;
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 18px;
    text-align: center;
}

.inactivity-popup .additional-contact-options ul {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 10px;
    list-style: none;
}

.inactivity-popup .additional-contact-options li a,
.inactivity-popup .additional-contact-options li span {
    display: flex;
    gap: 6px;
    padding: 10px;
    color: white;
    background-color: var(--tpt-secondary-color);
    border-radius: 24px;
    cursor: pointer;
}

.inactivity-popup .additional-contact-options li.with-label a,
.inactivity-popup .additional-contact-options li.with-label span {
    padding-right: 20px;
    padding-left: 20px;
}

.inactivity-popup .additional-contact-options li.whatsapp a,
.inactivity-popup .additional-contact-options li.whatsapp span {
    display: flex;
    align-items: center;
    background-color: #25d366;
}

.inactivity-popup .additional-contact-options li svg {
    width: auto;
    height: 28px;
}

.contact-menu .xclose {
    position: absolute;
    top: 28px;
    right: 28px;
    display: block;
    width: 32px;
    height: 32px;
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/icon-xclose.svg);
    background-repeat: no-repeat;
    background-position: center;
    transition: transform .1s ease-in-out;
    cursor: pointer;
}

.inactivity-popup .xclose {
    position: absolute;
    top: -8px;
    right: 0;
    display: block;
    width: 24px;
    height: 24px;
    padding: 6px;
    background-color: rgba(40, 40, 40, .3);
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/icon-xclose-white.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px;
    border-radius: 4px;
    transform: translateY(-100%);
    transition: background-color .1s ease-in-out;
    cursor: pointer;
}

.contact-menu .contact-menu-title {
    margin-bottom: 16px;
    font-family: var(--tpt-title-font);
    font-size: 32px;
    font-weight: bold;
    font-style: normal;
    line-height: 32px;
    color: var(--tpt-text-color);
    text-align: center;
    text-transform: uppercase;
}

.inactivity-popup .inactivity-popup-title {
    margin-bottom: 8px;
    font-family: var(--tpt-title-font);
    font-size: 32px;
    font-weight: bold;
    font-style: normal;
    line-height: 120%;
    color: var(--tpt-text-color);
    text-align: left;
    text-transform: uppercase;
}

.inactivity-popup .iplc {
    flex: 1;
    padding-bottom: 32px;
}

.inactivity-popup .iprc {
    position: relative;
    flex: 1;
    padding-right: 24px;
    padding-bottom: 32px;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: cover;
    border-bottom-right-radius: 8px;
}

.inactivity-popup .iprc .iprc-title {
    margin-bottom: 16px;
    font-family: var(--tpt-title-font);
    font-size: 26px;
    font-weight: 700;
    font-style: normal;
    line-height: 32px;
    letter-spacing: .26px;
    color: var(--tpt-text-color);
    text-transform: uppercase;
}

.inactivity-popup .iprc .iprc-content > div {
    display: flex;
    gap: 8px;
    margin-bottom: 10px;
}

.inactivity-popup .iprc .iprc-content > div > svg {
    flex-shrink: 0;
    width: 19px;
    height: 18px;
}

.inactivity-popup .iprc .iprc-content > div > span {
    font-family: var(--tpt-text-font);
    font-size: 14px;
    line-height: 120%;
    color: var(--tpt-text-color);
}

.inactivity-popup .iprc > img {
    position: absolute;
    bottom: 60px;
    left: 17px;
    width: 150px;
    height: 150px;
}

.contact-menu .contact-menu-subtitle {
    font-family: var(--tpt-text-font);
    font-size: 14px;
    font-weight: normal;
    font-style: normal;
    line-height: 16px;
    color: #757579;
    text-align: center;
}

.inactivity-popup .inactivity-popup-subtitle {
    font-family: var(--tpt-text-font);
    font-size: 14px;
    font-weight: 500;
    font-style: normal;
    line-height: 20px;
    color: var(--tpt-text-color);
}

.inactivity-popup form.contact-form ._form_element {
    margin-bottom: 16px;
}

.contact-menu ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 24px;
    padding: 6px;
    list-style: none;
}

.contact-menu ul li {
    display: flex;
    flex-basis: 0;
    flex-grow: 1;
    justify-content: center;
    align-items: center;
    width: auto;
    margin: 6px;
    font-family: var(--tpt-title-font);
    font-size: 25px;
    font-weight: 350;
    font-style: normal;
    line-height: 32px;
    letter-spacing: .05em;
    color: var(--tpt-text-color);
    text-align: center;
    text-transform: uppercase;
    border: 1px solid var(--tpt-text-color);
    transition: color .1s ease-in-out, border-color .1s ease-in-out;
    cursor: pointer;
}

.contact-menu ul li.pub-whatsapp {
    color: white;
    background-color: #25d366;
    border-color: #075e54;
}

.contact-menu ul li.pub-calendly svg {
    transform: translateY(1px);
}

.contact-menu ul li a {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    padding: 16px 40px;
    text-wrap: nowrap;
}

.contact-menu ul li a svg {
    width: 24px;
    height: 24px;
}

.contact-menu ul li.pub-whatsapp a svg path {
    fill: white;
}

.contact-menu .contact-form {
    margin-top: 50px;
}

.inactivity-popup .contact-form {
    margin-top: 24px;
}

.contact-menu .contact-form .thank-you,
.contact-menu .contact-form .thank-you h4 {
    max-width: unset;
    font-size: 32px;
    line-height: 34px;
    letter-spacing: .02em;
    color: var(--tpt-text-color);
    text-align: center;
    text-decoration: none;
}

.inactivity-popup .contact-form .thank-you,
.inactivity-popup .contact-form .thank-you h4 {
    max-width: unset;
    font-size: 32px;
    line-height: 34px;
    letter-spacing: .02em;
    color: var(--tpt-text-color);
    text-decoration: none;
}

.inactivity-popup .contact-form .thank-you {
    min-height: 380px;
    padding-top: 0;
}

.inactivity-popup .contact-form .thank-you h4 {
    margin-bottom: 0;
    padding-top: 20px;
}

.contact-form .thank-you h4 {
    display: block;
    text-align: left;
}

.contact-menu ._button-wrapper {
    text-align: right;
}

/* TINT WIDGET */

.tint-signin,
.tint-signup {
    cursor: pointer;
}

#tint-authorization {
    width: 128px;
}

/* FOOTER */

footer {
    display: block;
    width: 100%;
    font-size: 18px;
    line-height: 22px;
    color: white;
}

footer .flex-footer {
    padding-top: 50px;
    padding-bottom: 20px;
    background-color: #312f2c;
}

footer .flex-footer .menu-footer-container > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    box-sizing: border-box;
    width: calc(100% + 20px);
    margin-left: -10px;
    list-style: none;
}

footer .flex-footer .menu-footer-container > ul > li {
    display: inline-block;
    flex: 1 0 30%;
    margin: 0 10px 30px 10px;
    font-family: var(--tpt-title-font);
    font-size: 20px;
    font-weight: 600;
    line-height: 24px;
    text-transform: uppercase;
    vertical-align: top;
}

footer .flex-footer .menu-footer-container > ul > li img.menu-image {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 200px;
    height: auto;
    max-height: 200px;
    margin-bottom: 10px;
    border-radius: 3px;
}

footer .flex-footer .menu-footer-container > ul > li ul {
    margin-top: 20px;
    list-style: none;
}

footer .flex-footer .menu-footer-container > ul > li a[href="#"] {
    cursor: default;
}

footer .flex-footer .menu-footer-container > ul > li ul li {
    margin-bottom: 10px;
    font-family: var(--tpt-text-font);
    font-size: 20px;
    font-weight: normal;
    line-height: 28px;
    text-transform: capitalize;
}

footer .flex-footer .menu-footer-container > ul > li:last-of-type {
    min-width: 380px;
}

footer .flex-footer .menu-footer-container #form-subscribe-footer {
    margin: 32px 0;
}

.footer-form-thanks {
    margin: 31px 0 45px 0;
}

footer .flex-footer .menu-footer-container #form-subscribe-footer input[type="email"] {
    display: inline;
    margin: 0;
    padding: 9px;
    font-family: var(--tpt-text-font);
    font-size: 18px;
    line-height: 24px;
    color: white;
    background: top;
    border: 1px solid white;
}

footer .flex-footer .menu-footer-container #form-subscribe-footer button[type="submit"] {
    position: relative;
    display: inline-block;
    margin: 0;
    margin-left: -6px;
    padding: 10px;
    font-family: var(--tpt-title-font);
    font-size: 20px;
    font-weight: 600;
    line-height: 24px;
    color: white;
    text-transform: uppercase;
    vertical-align: middle;
    background: #21afe4;
    border: none;
    transition: background-color .1s ease-in-out;
    cursor: pointer;
}

footer .flex-footer .menu-footer-container #form-subscribe-footer .float-label-pattern label {
    background: #312f2c;
}

footer .flex-footer .menu-footer-container .soc-strip {
    margin-bottom: 32px;
    text-align: left;
}

.soc-strip a svg {
    width: auto;
    height: 24px;
    margin-right: 16px;
    transition: transform .1s ease-in-out;
}

footer .flex-footer.no-padding {
    margin-top: 50px;
    padding-top: 0;
    padding-bottom: 0;
}

footer .as-seen-in {
    margin-bottom: 50px;
    padding-bottom: 50px;
    border-bottom: 1px solid #8a8378;
}

footer .as-seen-in h4 {
    padding-bottom: 6px;
    font-size: 20px;
    line-height: 24px;
    letter-spacing: .4px;
    color: white;
    text-align: center;
    text-decoration: underline;
    text-decoration-color: white;
    text-decoration-thickness: 2px;

    text-underline-offset: 6px;
}

footer .as-seen-in .asi-logos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 64px;
    margin-top: 32px;
}

footer .as-seen-in .asi-logos img {
    width: 110px;
    height: auto;
}

footer .footer-badges {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 25px;
}

footer .footer-badges > img {
    width: 120px;
    height: auto;
}

footer .footer-badges > img:first-of-type {
    width: 130px;
}

footer .accepted-payment-types {
    margin-top: 32px;
    font-family: var(--tpt-text-font);
    font-size: 20px;
    font-weight: 400;
    font-style: normal;
    line-height: 28px;
    color: white;
    text-transform: capitalize;
}

footer .accepted-payment-types img {
    display: block;
    margin: 8px 0;
}

footer .accepted-payment-types div {
    font-family: var(--tpt-text-font);
    font-size: 12px;
    font-weight: 400;
    font-style: normal;
    line-height: 16px;
    letter-spacing: .01em;
    text-transform: uppercase;
}

footer .accepted-payment-types div svg {
    height: 16px;
    margin-right: 9px;
    vertical-align: bottom;
}

@-webkit-keyframes mymove {
    50% {
        background-position: left;
    }
}

@keyframes mymove {
    50% {
        background-position: right;
    }
}

footer .copyright {
    padding-top: 19px;
    padding-bottom: 16px;
    font-size: 14px;
    line-height: 18px;
    color: white;
    text-align: left;
    background-color: #312f2c;
}

/* FLOAT LABEL PATTERN */

.float-label-pattern {
    position: relative;
    display: inline;
}

.float-label-pattern label,
.float-label-pattern input {
    transition: all .2s;
    touch-action: manipulation;
}

.float-label-pattern input {
    padding: 0;
    font-family: inherit;
    border-radius: 0;
    -webkit-appearance: none;
            appearance: none;
    cursor: text;
}

.float-label-pattern input:focus {
    outline: 0;
}

.float-label-pattern label {
    position: absolute;
    padding: 0 4px;
    font-family: var(--tpt-text-font);
    font-size: 14px;
    line-height: 14px;
    text-transform: capitalize;
}

.float-label-pattern input:placeholder-shown + label {
    top: 6px;
    left: 14px;
    overflow: hidden;
    max-width: 66.66%;
    text-overflow: ellipsis;
    text-wrap: nowrap;
    white-space: nowrap;
    transform: scale(1.5);
    cursor: text;
}

.float-label-pattern input::-webkit-input-placeholder {
    opacity: 0;
    transition: inherit;
}

.float-label-pattern input:focus::-webkit-input-placeholder {
    opacity: 1;
}

.float-label-pattern input:not(:placeholder-shown) + label,
.float-label-pattern input:focus + label {
    top: -16px;
    left: 6px;
    transform: scale(1);
    cursor: pointer;
}

/* NOTIFICATION BAR */

.notebar {
    display: none;
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 16px;
    line-height: 22px;
}

.notebar .close-notebar {
    display: inline-block;
    padding: 0 4px;
    border-width: 2px;
    border-style: solid;
    border-radius: 4px;
    transition: color .1s ease-in-out, background-color .1s ease-in-out;
    cursor: pointer;
}

/* EDIT LINK */

body a.post-edit-link {
    position: absolute;
    z-index: 5;
    top: 10px;
    right: 10px;
    padding: 4px;
    font-family: var(--tpt-title-font);
    font-size: 16px;
    font-weight: 600;
    line-height: 20px;
    color: white;
    text-decoration: none;
    text-transform: uppercase;
    background-color: #21afe4;
    border-radius: 3px;
    opacity: .7;
    transition: opacity .1s ease-in-out;
}

.admin-template-tag {
    position: absolute;
    z-index: 5;
    top: 10px;
    right: 10px;
    padding: 4px;
    font-family: var(--tpt-title-font);
    font-size: 16px;
    font-weight: 600;
    line-height: 20px;
    color: white;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    background-color: var(--tpt-text-color);
    border-radius: 3px;
    opacity: .7;
    pointer-events: none;
}

.admin-template-tag .post-status.publish {
    color: green;
}

.admin-template-tag .post-status.future {
    color: blue;
}

.admin-template-tag .post-status.draft {
    color: orange;
}

.admin-template-tag .post-status.pending {
    color: yellow;
}

.admin-template-tag .post-status.private {
    color: violet;
}

.admin-template-tag .post-status.trash {
    color: red;
}

.admin-template-tag .post-status.auto-draft {
    color: lightpink;
}

.admin-template-tag .post-status.inherit {
    color: indigo;
}

.admin-info {
    position: absolute;
    z-index: 5;
    top: 10px;
    left: 10px;
    display: inline-block;
    max-width: 80%;
    padding: 4px;
    font-family: var(--tpt-title-font);
    font-size: 16px;
    font-weight: 600;
    line-height: 20px;
    color: white;
    text-decoration: none;
    text-transform: uppercase;
    background-color: var(--tpt-text-color);
    border-radius: 3px;
    opacity: .7;
    pointer-events: none;
}

body .sticky-menu a.post-edit-link {
    top: 50%;
}

.hotel-rating,
.hmp-hotel-rating {
    display: block;
    margin-bottom: 8px;
    padding-right: 8px;
    font-family: var(--tpt-text-font);
    font-size: 16px;
    font-weight: 600;
    font-style: normal;
    line-height: 18px;
    text-transform: capitalize;
}

.hotel-rating {
    margin-top: 16px;
    margin-bottom: 0;
}

.hotel-rating::before,
.hmp-hotel-rating::before {
    display: inline-block;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin-right: 8px;
    padding: 6px;
    font-family: var(--tpt-text-font);
    font-size: 16px;
    font-weight: 600;
    font-style: normal;
    line-height: 20px;
    color: white;
    text-align: center;
    background-color: #0ba5d2;
    content: attr(data-rating);
}

/* STAGING */

.tint-staging {
    position: fixed;
    z-index: 200000;
    right: 50px;
    bottom: 50px;
    display: block;
    padding: 30px;
    font-size: 40px;
    line-height: 40px;
    color: white;
    text-transform: uppercase;
    background: black;
    opacity: .7;
    pointer-events: none;
}

/* CSS LOADER */

.css-loader {
    position: fixed;
    z-index: 9999;
    top: calc(50% - 55px);
    left: calc(50% - 55px);
    display: none;
    width: 110px;
    height: 110px;
    background: conic-gradient(transparent 180deg, #f5854c 330deg);
    border-radius: 50%;
            mask: var(--mask);
            --mask: radial-gradient(farthest-side, transparent 75%, black 75%);
    animation: loader-spin 1s linear infinite;

    -webkit-mask: var(--mask);
}

.css-loader.force {
    display: block;
}

@keyframes loader-spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* SOCIAL BUTTONS ADDTOANY */

body .addtoany_content_top {
    margin-top: 35px;
    margin-bottom: 35px;
}

body .addtoany_content_bottom {
    margin-top: 20px;
}

body .addtoany_list a {
    padding-right: 5px;
    padding-left: 5px;
}

body .addtoany_list a img {
    transition: opacity .1s ease-in-out;
}

.addtoany_list a:first-child {
    padding-left: 0;
}

/* AUTOCOMPLETE */

.autocomplete-suggestions {
    overflow: auto;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
    font-family: var(--tpt-text-font);
    font-size: 18px;
    line-height: 28px;
    color: var(--tpt-text-color);
    background: white;
    border: 1px solid #bebebe;
    box-shadow: 1px 4px 3px rgba(50, 50, 50, .64);
    cursor: default;
}

.autocomplete-suggestion {
    overflow: hidden;
    padding: 16px 10px;
    text-wrap: nowrap;
    white-space: nowrap;
}

.autocomplete-no-suggestion {
    padding: 2px 5px;
}

.autocomplete-selected {
    background-color: #f0f0f0;
    cursor: pointer;
}

.autocomplete-suggestions strong {
    font-weight: bold;
    color: var(--tpt-text-color);
}

/* GOOGLE MAPS */

#g-map {
    width: 100%;
    height: 440px;
}

/* PLACEHOLDERS */

::-webkit-input-placeholder {
    visibility: visible;
    color: var(--tpt-text-color);
    opacity: 1;
}

:-moz-placeholder {
    visibility: visible;
    color: var(--tpt-text-color);
    opacity: 1;
}

::-moz-placeholder {
    visibility: visible;
    color: var(--tpt-text-color);
    opacity: 1;
}

:-ms-input-placeholder {
    visibility: visible;
    color: var(--tpt-text-color);
    opacity: 1;
}

::placeholder {
    visibility: visible;
    color: var(--tpt-text-color);
    opacity: 1;
}

/* API TEST */

pre.apiresult {
    position: relative;
    display: none;
    word-wrap: break-word;
    padding: 5%;
    font-size: 20px;
    line-height: 30px;
    white-space:      pre-wrap;
    white-space: -moz-pre-wrap;
    white-space: -pre-wrap;
    white-space:   -o-pre-wrap;
    background-color: #f0f0f0;
    border-radius: 30px;
}

.closeapi {
    position: sticky;
    top: 50px;
    float: right;
    color: #0477bf;
    cursor: pointer;
}

/* LOCALIZATION */


/* font-family: 'Karantina', cursive; */


/* font-family: 'Rubik', sans-serif;  */

body.he-hebrew .tour-page-content .tour-nav-menu {
    direction: ltr;
}

body.he-hebrew .product-page-header .tph-gallery.desktop-version,
body.he-hebrew .product-page-header .tph-gallery.desktop-version {
    direction: rtl;
}

body.he-hebrew .product-page-header .tph-gallery.desktop-version .open-gallery,
body.he-hebrew .product-page-header .tph-gallery.desktop-version .open-gallery {
    right: unset;
    left: 33px;
}

body.he-hebrew .product-page-header .tph-gallery.desktop-version > .right-pane,
body.he-hebrew .product-page-header .tph-gallery.desktop-version > .right-pane {
    border-right: 3px solid white;
    border-left: none;
}

body.he-hebrew .product-page-header .tph-gallery.desktop-version > .image-slide,
body.he-hebrew .product-page-header .tph-gallery.desktop-version > .image-slide {
    border-right: none;
    border-left: 3px solid white;
}

body.he-hebrew .product-page-header .tph-gallery.desktop-version h1 {
    right: calc(8.33% - 40px + (80px * .0833));
    left: unset;
    font-family: "Karantina";
    font-weight: normal;
    letter-spacing: 3px;
    text-align: right;
}

body.he-hebrew .two-columns-promotion p {
    direction: rtl;
}

body.he-hebrew .tour-page-content {
    font-family: "Rubik", sans-serif;
    text-align: right;
    direction: rtl;
}

body.he-hebrew .tour-page-content h1,
body.he-hebrew .tour-page-content h2,
body.he-hebrew .tour-page-content h3,
body.he-hebrew .tour-page-content h4,
body.he-hebrew .tour-page-content h5,
body.he-hebrew .tour-page-content h6 {
    font-family: "Karantina", cursive;
    font-weight: normal;
    letter-spacing: 2px;
    text-align: right;
    direction: rtl;
}

body.he-hebrew .product-page-header .tph-gallery.desktop-version h1::after {
    right: 0;
    left: 7%;
}

body.he-hebrew .two-columns-promotion .right-column > div:last-of-type {
    direction: ltr;
}

body.he-hebrew .two-columns-promotion .right-column {
    margin-right: 5%;
    margin-left: unset;
    text-align: left;
    direction: ltr;
}

body.he-hebrew .availability-and-pricing,
body.he-hebrew .availability-and-pricing h1,
body.he-hebrew .availability-and-pricing h2,
body.he-hebrew .availability-and-pricing h3,
body.he-hebrew .availability-and-pricing h4,
body.he-hebrew .availability-and-pricing h5,
body.he-hebrew .availability-and-pricing h6,
body.he-hebrew .detail-lists,
body.he-hebrew .detail-lists h1,
body.he-hebrew .detail-lists h2,
body.he-hebrew .detail-lists h3,
body.he-hebrew .detail-lists h4,
body.he-hebrew .detail-lists h5,
body.he-hebrew .detail-lists h6 {
    text-align: left;
    direction: ltr;
}

body.he-hebrew .detail-lists .detail.essential-information {
    text-align: right;
    direction: rtl;
}

/* Hotel Map Popup: */

.hotel-map-popup-wrap {
    position: fixed;
    z-index: 1000000;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, .8);
    opacity: 0;
    transform: translateY(100vh);
    transition: transform .5s ease-in-out, opacity .5s linear;
}

.hotel-map-popup-wrap.active {
    opacity: 1;
    transform: translateY(0);
}

.hotel-map-popup {
    position: absolute;
    top: 100px;
    overflow: scroll;
    width: 60%;
    height: calc(100vh - 100px);
    padding: 24px 20%;
    background-color: var(--tpt-background-color);
    border-top: #e4e4e3 1px solid;
    border-radius: 0;
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
}

.hotel-map-popup .hmp-content {
    position: relative;
    width: 100%;
    padding-bottom: 100px;
}

.hotel-map-popup .hmp-content h3 {
    margin-right: 16px;
}

.hotel-map-popup .hmp-content .hmp-star-rating {
    display: inline;
}

.hotel-map-popup .hmp-content .hmp-star-rating svg {
    width: 22px;
    height: 22px;
}

.hotel-map-popup .hmp-content .hmp-hotel-rating {
    display: block;
}

.hotel-map-popup .hmp-content .hmp-address {
    display: inline-block;
    font-family: var(--tpt-text-font);
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    color: #292500;
    text-transform: capitalize;
}

.hotel-map-popup .hmp-content .hmp-address svg {
    width: 24px;
    height: 24px;
    vertical-align: bottom;
}

.hotel-map-popup .hmp-content .hmp-map-toggle {
    display: inline;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    align-self: flex-start;
    box-sizing: border-box;
    height: 32px;
    margin-bottom: 16px;
    margin-left: 16px;
    padding: 6px 12px;
    font-family: var(--tpt-text-font);
    font-size: 16px;
    font-weight: 700;
    line-height: 20px;
    letter-spacing: .64px;
    color: white;
    text-transform: capitalize;
    text-wrap: nowrap;
    white-space: nowrap;
    background-color: rgb(245, 133, 77);
    background-clip: border-box;
    border: #f5854d 1px solid;
    border-radius: 24px;
    outline-width: 0;
    outline-style: none;
    transition: color .3s ease-in-out, background-color .3s ease-in-out;
    cursor: pointer;
}

.hotel-map-popup .hmp-content .hmp-map-toggle.hide {
    color: #f5854d;
    background-color: white;
}

.hotel-map-popup .hmp-content .hmp-map-toggle svg .fill {
    transition: all .3s ease-in-out;
}

.hotel-map-popup .hmp-content .hmp-map-toggle.hide svg .empty {
    stroke: #f5854d;
}

.hotel-map-popup .hmp-content .hmp-map-toggle.hide svg .full {
    fill: #f5854d;
    stroke: #f5854d;
}

.hotel-map-popup .hmp-content .hmp-map-toggle svg {
    margin-right: 8px;
}

.hotel-map-popup .hmp-content #hmp-map {
    height: 260px;
    margin-bottom: 16px;
}

.hotel-map-popup .hmp-content .hmp-description {
    order: 2;
    margin-bottom: 16px;
    font-family: var(--tpt-text-font);
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: #292500;
}

.hotel-map-popup .hmp-content .hmp-close {
    position: absolute;
    top: 0;
    right: 0;
    padding: 0;
    background: none;
    border: none;
    outline: none;
    cursor: pointer;
}

.hotel-map-popup .hmp-gallery {
    order: 3;
    width: auto;
    margin-bottom: 16px;
}

.hotel-map-popup .hmp-gallery .slick-slide {
    object-fit: cover;
    overflow: hidden;
    width: 100%;
    height: 240px;
    margin-right: 4px;
    margin-left: 4px;
}

/* End Hotel Map Popup */


/* Easy Table of Contents Plugin */

#ez-toc-container {
    box-sizing: border-box;
    max-width: 690px;
    padding: 20px;
}

#ez-toc-container .ez-toc-title-container {
    display: inline-block;
    margin-bottom: 20px;
    font-family: var(--tpt-title-font);
    line-height: 26px;
    text-transform: uppercase;
}

/* End Easy Table of Contents Plugin */


/* RESPONSIVE */

@media only screen and (max-width: 1400px) {
    .hide1400 {
        display: none;
    }

    header {
        padding: 0 40px;
    }

    header .tgpm-logo {
        transform: scale(.89) translateY(-11px);
    }

    header .tgpm-logo p {
        padding: 8px 16px;
    }

    .featured-pages .featured-items.layout-c .column,
    .featured-articles .column {
        flex: 1 0 30%;
    }

    img.article-feat-img,
    .wp-block-image img {
        object-fit: cover;
        height: 50vh;
    }

    .featured-item {
        overflow: hidden;
    }

    section.post-content .related-tours .related-tour:last-of-type {
        margin-bottom: 50px;
    }

    .post-content.standard-padding {
        width: 100%;
        padding: 0;
    }

    .info-columns > div .info-column {
        flex: 1 0 40%;
        margin-bottom: 30px;
    }

    .content-image-pair.text-only .left-pane {
        width: 100%;
    }

    .content-image-pair:not(.text-only) .left-pane {
        width: calc(68% - 20px);
    }

    .content-image-pair:not(.text-only):nth-of-type(odd) .left-pane {
        padding-right: 20px;
    }

    .content-image-pair:not(.text-only):nth-of-type(even) .left-pane {
        padding-left: 20px;
    }

    .content-image-pair img {
        width: 30%;
        margin-top: 67px;
    }

    .destination-menu {
        padding-right: 40px;
        padding-left: 40px;
    }

    header nav .nav-menu > div > ul > li > ul {
        padding-right: 51px;
        padding-left: 51px;
    }

    .customize-banner .banner-content {
        width: calc(50% - 140px);
        padding: 80px 70px;
    }
}

@media only screen and (max-width: 1200px) {
    .hide1200 {
        display: none;
    }

    .admin-template-tag {
        top: 75px;
    }

    header nav .nav-menu > div > ul > li > ul > li.mobile-only-label > a:first-of-type {
        display: block;
    }

    .static-page-header .sph-image,
    .destination-header {
        margin: 0;
    }

    .destination-header {
        width: 100%;
        height: 460px;
    }

    .mobile-header {
        display: block;
        padding: 10px 50px 10px 40px;
    }

    .single-travel-style .travel-style-header {
        width: 90%;
        padding: 80px 5% 5% 5%;
    }

    .single-travel-style .travel-style-header h1 {
        font-size: 39px;
    }

    header nav .nav-menu > div > ul > li.desktop-only,
    header nav .nav-menu > div > ul > li > ul > li.menu-page-title {
        display: none;
    }

    header nav .nav-menu > div > ul > li.mobile-only {
        display: block;
    }

    .not-sticky-menu,
    .page-template-page-your-booking #widget,
    article.page,
    .gcp-wrap {
        margin-top: 64px;
    }

    .gcp-wrap {
        margin-bottom: -64px;
    }

    .top-bar,
    header nav,
    header .left-pane {
        display: none;
    }

    .destination-menu {
        padding-right: 50px;
    }

    header nav .nav-menu {
        position: fixed;
        top: 0;
        left: 0;
        overflow-y: auto;
        box-sizing: border-box;
        width: 100%;
        height: calc(100vh - 64px);
        margin-top: 64px;
        padding: 0 0 40px 5%;
        background: var(--tpt-background-color);
    }

    header nav .nav-menu > div > ul > li {
        width: 100%;
        margin-left: 0;
    }

    header nav .nav-menu > div > ul > li > ul {
        display: block;
        padding: 0 0 0 5%;
    }

    header nav .nav-menu > div > ul > li a,
    header nav .nav-menu > div > ul > li div button.logout-btn,
    header nav .nav-menu > div > ul > li > ul > li.menu-left-col > ul > li > a {
        display: block;
        box-sizing: border-box;
        width: 100%;
        margin-left: 0;
        padding: 20px 0;
        font-family: var(--tpt-text-font);
        font-size: 16px;
        line-height: 24px;
        color: var(--tpt-text-color);
        text-transform: capitalize;
    }

    header nav .nav-menu ul li a span:not(.description) {
        display: block;
        box-sizing: border-box;
        width: 100%;
        margin-left: 0;
        font-family: var(--tpt-text-font);
        font-size: 16px;
        line-height: 24px;
        color: var(--tpt-text-color);
        text-transform: capitalize;
    }

    header nav .nav-menu ul li.menu-link-button a {
        width: 95%;
        margin-top: 25px;
    }

    header nav .nav-menu > div > ul > li.active > a::before,
    header nav .nav-menu > div > ul > li.menu-item-has-children::after {
        content: none;
    }

    header nav .nav-menu > div > ul > li > ul > li.menu-left-col > a,
    header nav .nav-menu > div > ul > li.menu-item-has-children > a,
    header nav .nav-menu > div > ul > li.menu-search > a {
        font-family: var(--tpt-title-font);
        font-size: 25px;
        font-weight: bold;
        font-style: normal;
        line-height: 28px;
        letter-spacing: .01em;
        color: #292500;
        text-transform: uppercase;
    }

    header nav .nav-menu > div > ul > li:not(.menu-item-has-children) > a {
        padding: 10px 0;
        font-weight: normal;
    }

    .authorization-widget.ti .logout-btn {
        padding: 4px;
        color: var(--tpt-text-color);
    }

    header nav .nav-menu > div > ul > li > ul > li.menu-left-col > a::after,
    header nav .nav-menu > div > ul > li.menu-item-has-children > a::after {
        font-size: 44px;
        font-weight: normal;
        color: #21afe4;
        transform: none;
        transition: transform .1s ease-in-out;
        content: " \0203a";
        cursor: pointer;
    }

    header nav .nav-menu > div > ul > li > ul > li.menu-left-col > a::after {
        transform: rotate(90deg);
    }

    header nav .nav-menu > div > ul > li.expand > ul {
        min-height: 90vh;
        box-shadow: none;
        transform: translateX(0);
    }

    header nav .nav-menu > div > ul > li > ul > li ul li,
    header nav .nav-menu > div > ul > li > ul > li.menu-left-col,
    header nav .nav-menu > div > ul > li > ul > li.menu-left-col ul li,
    header nav .nav-menu > div > ul > li > ul > li.menu-right-col {
        top: unset;
        bottom: unset;
        display: block;
        width: 100%;
        max-width: unset;
        margin: 0;
        padding-left: 0;
        border-left: none;
    }

    header nav .nav-menu > div > ul > li > ul > li > ul > li {
        padding: 0;
    }

    header nav .nav-menu > div > ul > li > ul > li.menu-right-col > ul > li {
        margin-bottom: 0;
    }

    header nav .nav-menu ul li a span:not(.description),
    header nav .nav-menu > div > ul > li > ul > li.menu-left-col > ul > li > a,
    header nav .nav-menu > div > ul > li > ul > li > a {
        margin-bottom: 0;
        font-weight: normal;
    }

    header nav .nav-menu > div > ul > li > ul > li.menu-right-col > ul > li > ul > li > a {
        padding: 0 4px;
    }

    header nav .nav-menu > div > ul > li > ul > li > ul > li:not(.menu-item-has-children,
    .menu-link-button) > a {
        padding: 10px 0;
    }

    header nav .nav-menu > div > ul > li > ul > li > a[href="#"],
    header nav .nav-menu a[href="#"] {
        display: flex;
        justify-content: space-between;
        padding-right: 5%;
        border-bottom: solid #cacaca 1px;
        cursor: pointer;
    }

    header nav .nav-menu > div > ul > li > ul > li.menu-left-col.expand > a,
    header nav .nav-menu > div > ul > li > ul > li.menu-right-col > ul > li.expand > a {
        font-weight: bold;
        border-bottom: none;
    }

    header nav .nav-menu > div > ul > li > ul > li.menu-left-col.expand > ul,
    header nav .nav-menu > div > ul > li > ul > li.menu-right-col > ul > li.expand > ul,
    header nav .nav-menu > div > ul > li > ul > li > ul > li.expand > ul,
    header nav .nav-menu > div > ul > li > ul > li.menu-left-col.expand > ul {
        padding-bottom: 20px;
        border-bottom: solid #cacaca 1px;
    }

    header nav .nav-menu > div > ul > li > ul > li.menu-left-col.expand > a::after,
    header nav .nav-menu > div > ul > li > ul > li.menu-right-col > ul > li.expand > a::after {
        transform: rotate(-90deg) translate(2px, -7px);
    }

    header nav .nav-menu > div > ul > li > ul > li.menu-left-col > ul,
    header nav .nav-menu > div > ul > li > ul > li.menu-right-col > ul > li > ul {
        position: relative;
        top: unset !important;
        left: 0;
        display: block;
        overflow: hidden;
        box-sizing: border-box;
        max-height: 0;
        padding: 0;
        transition: max-height .1s linear;
    }

    header nav .nav-menu > div > ul > li.no-col > ul > li > ul {
        overflow: unset;
        max-height: unset;
    }

    header nav .nav-menu > div > ul > li > ul > li > ul > li.more-button > a {
        display: inline;
        margin-bottom: 8px;
        padding: 10px 0;
        font-size: 16px;
        font-weight: 400;
        font-style: normal;
        line-height: 24px;
        color: #21afe4;
        text-transform: capitalize;
        cursor: pointer;
    }

    header nav .nav-menu > div > ul > li > ul > li.menu-left-col.expand > ul,
    header nav .nav-menu > div > ul > li > ul > li.menu-right-col > ul > li.expand > ul {
        max-height: 1000px;
    }

    header nav .nav-menu > div > ul > li > ul > li.menu-right-col > ul > li > ul.sub-menu,
    header nav .nav-menu > div > ul > li > ul > li.menu-right-col > ul > li {
        margin-top: 0;
        line-height: 0;
    }

    header nav .nav-menu > div > ul > li > ul > li.menu-right-col > ul > li.tj-button1 {
        margin-top: 40px;
        padding: 20px;
    }

    header nav .nav-menu > div > ul > li > ul > li.menu-right-col > ul > li.tj-button1 a {
        display: inline;
        border: none;
    }

    header nav .nav-menu ul li a img,
    header nav .nav-menu ul li a.menu-image::after {
        display: none;
    }

    header nav .nav-menu > div > ul > li > ul > li.menu-left-col > a.menu-image {
        padding-bottom: 0;
    }

    .menu-inline-menu-container {
        display: block;
    }

    .menu-inline-menu-container > ul > .menu-item {
        display: block;
        box-sizing: border-box;
        width: 100%;
        max-width: unset;
    }

    .menu-inline-menu-container li.menu-item-has-children > ul li {
        text-align: center;
    }

    header nav .nav-menu .mobile-menu-search.mobile-only a {
        padding-top: 20px;
        padding-bottom: 20px;
        font-family: var(--tpt-title-font);
        font-size: 25px;
        font-weight: 700;
        font-style: normal;
        line-height: 28px;
        letter-spacing: .01em;
        color: #292500;
        text-transform: uppercase;
        border-bottom: solid #cacaca 1px;
        cursor: pointer;
    }

    header nav .nav-menu ul li.menu-link-button a {
        display: inline-block;
        width: auto;
        padding: 12px 24px;
        text-align: center;
        background-color: #21afe4;
    }

    header nav .nav-menu ul li.menu-link-button a span {
        font-family: var(--tpt-title-font);
        font-size: 22px;
        font-weight: bold;
        line-height: 24px;
        letter-spacing: .02em;
        color: white;
        text-transform: uppercase;
    }

    header nav .nav-menu ul li.menu-link-button a span::after {
        content: none;
    }

    .mobile-menu-search.mobile-only a svg {
        margin-right: 8px;
        vertical-align: top;
    }

    .sticky-menu {
        top: 64px;
    }

    .breadcrumbs.no-dest-menu {
        margin-top: 12px;
    }

    .customize-tour,
    .customize-tour > div {
        display: block;
    }

    .customize-tour > div > div {
        padding-right: 0;
    }

    .customize-tour > div > div > p {
        margin-bottom: 20px;
    }

    .travel-style-selector-search {
        padding-right: 0;
    }

    .travel-style-selector-search .search-header {
        padding-left: 45px;
    }

    .travel-style-selector-search .search-header h4 {
        max-width: 30vw;
    }

    .travel-style-selector-search .search-header > div,
    .travel-style-selector-search .room-search .hotel-fields .destination-selector .field-box {
        width: 35vw;
    }

    .travel-style-selector-search .room-search .hotel-fields .field-box:not(.td-selector) {
        width: calc(35vw - 10px - 150px);
    }

    .glide-type5 .glide__arrows .glide__arrow--right {
        right: 0;
        transform: translate(50%, -50%);
    }

    .glide-type5 .glide__arrows .glide__arrow--left {
        left: 0;
        transform: translate(-50%, -50%);
    }

    .tour-page-content .tour-nav-menu a,
    .hotel-page-content .hotel-nav-menu a {
        font-size: 17px;
    }

    .tour-page-content .tour-nav-menu ul li a,
    .hotel-page-content .hotel-nav-menu ul li a {
        margin-right: 22px;
    }

    section.post-content .related-tours {
        top: 64px;
    }

    .hotel-map-popup {
        width: 90%;
        padding-right: 5%;
        padding-left: 5%;
    }

    .inline-subscribe-form {
        padding: 24px 24px 32px 24px;
    }

    .inline-subscribe-form > svg {
        display: none;
    }

    .inline-subscribe-form .isf-form {
        flex-direction: column;
        gap: 16px;
        max-width: none;
    }

    .hotel-page-content .room-choices .room-search > svg {
        right: 0;
    }

    .page-template-default .breadcrumbs {
        margin-top: 16px;
    }

    .pb-iiban img.pb-iiban-narrow {
        display: block;
        max-height: 800px;
    }

    .itinerary .itinerary-video video {
        max-width: 300px;
    }

    .info-bar.cpr5 .info-cards .info-card,
    .info-bar.cpr6 .info-cards .info-card,
    .info-bar.cpr5 .info-cards .info-card:nth-of-type(5n),
    .info-bar.cpr6 .info-cards .info-card:nth-of-type(6n) {
        width: calc((100% - 24px * 3) / 4);
    }

    .info-bar.cpr5 .info-cards .info-card:nth-of-type(4n),
    .info-bar.cpr6 .info-cards .info-card:nth-of-type(4n) {
        width: calc((100% - 24px * 3) / 4 - 1px);
    }

    .press-quotes .img-wrap {
        margin-right: 80px;
    }

    .press-quotes .publications .publication blockquote {
        max-width: 500px;
    }

    header nav .nav-menu ul li a img,
    header nav .nav-menu ul li a.menu-image img {
        display: none;
    }

    header nav .nav-menu ul li a.menu-image .menu-image-title,
    header nav .nav-menu ul li.no-col > ul > li.menu-left-col > a {
        font-family: var(--tpt-title-font);
        font-size: 20px;
        font-weight: bold;
        text-transform: unset;
    }

    header nav .nav-menu ul li a span.description {
        max-width: 90vw;
        font-family: var(--tpt-text-font);
        font-size: 14px;
        text-transform: none;
    }

    header nav .nav-menu > div > ul > li.no-col > ul > li.menu-left-col > a::after {
        content: none;
    }

    .header-wrap h1 {
        left: 8.33%;
    }
}

@media only screen and (max-width: 1024px) {
    .hide1024 {
        display: none;
    }

    :root {
        --img-max-height-m: 600px;
    }

    body img,
    body.page .sph-image,
    .destination-header.show-on-mobile,
    .tph-gallery.mobile-version,
    .single-post article figure img,
    img.article-feat-img,
    .wp-block-image img,
    .wp-block-image img,
    article img,
    article p img {
        max-height: var(--img-max-height-m);
    }

    .header-hotel-finder .hotel-finder img {
        max-height: unset;
    }

    .tint-staging {
        right: 50%;
        bottom: 0;
        display: block;
        text-align: center;
        transform: scale(.5) translateX(100%);
    }

    .itinerary {
        flex-direction: column;
        gap: 80px;
    }

    .itinerary .package-customization {
        width: 100%;
    }

    .itinerary .itinerary-items {
        max-width: unset;
    }

    /* Content Cards Slider */
    .content-cards-slider .content-card {
        display: block;
    }

    .content-cards-slider .content-card img {
        width: 100%;
        max-height: var(--img-max-height-m);
    }

    .content-cards-slider .content-card > div {
        width: 100%;
        padding: 30px;
    }

    .content-cards-slider .content-card > div p {
        padding-bottom: 0;
    }

    .content-cards-slider .content-card > div a.tj-button1 {
        position: relative;
        bottom: unset;
    }

    button.slick-arrow.slick-next1 {
        right: -35px;
    }

    button.slick-arrow.slick-prev1 {
        left: -35px;
    }

    footer .flex-footer .left-pane {
        padding-right: 8.33%;
        padding-left: 8.33%;
    }

    footer .flex-footer .footer-form {
        width: 83.34%;
        max-width: unset;
        padding: 30px 8.33% 30px 8.33%;
    }

    .contact-page .flex-row {
        display: block;
    }

    .contact-page .form-column {
        width: 100%;
        margin-bottom: 40px;
    }

    .contact-page .details-column {
        width: 100%;
        padding-left: 0;
    }

    section.post-content .content {
        width: 100%;
        font-size: 19px;
        font-weight: 400;
        line-height: 30px;
        letter-spacing: -.01em;
    }

    section.post-content .wp-block-image figcaption {
        margin-bottom: 20px;
        font-family: var(--tpt-text-font);
        font-size: 15px;
        font-weight: 400;
        font-style: italic;
        line-height: 20px;
        letter-spacing: -.01em;
        color: #3d3700;
    }

    section.post-content .related-tours {
        position: relative;
        top: unset;
        display: block;
        width: 100%;
        margin-left: 0;
    }

    section.post-content .related-tours .related-item {
        min-height: unset;
    }

    .inline-subscribe-form {
        padding: 24px 150px 32px 32px;
    }

    .inline-subscribe-form > svg {
        display: block;
    }

    .inline-subscribe-form .isf-form {
        flex-direction: row;
        gap: 0;
    }

    .inline-subscribe-form .isf-title {
        font-size: 28px;
    }

    section.post-content .related-tours .related-item img {
        width: 80px;
        height: 80px;
        margin-right: 16px;
    }

    .single-post .related-articles {
        margin-top: 32px;
    }

    article hr {
        display: none;
    }

    .book-hotels {
        flex-wrap: wrap-reverse;
    }

    .book-hotels:nth-of-type(odd) .content,
    .book-hotels:nth-of-type(even) .content {
        margin: 0;
    }

    .book-hotels .decoration.no-image {
        display: none;
    }

    body .featured-items button.slick-arrow.slick-next3 {
        right: 0;
    }

    body .featured-items button.slick-arrow.slick-prev3 {
        left: 0;
    }

    .header-hotel-finder .hotel-finder .room-search .hotel-fields > div {
        width: 100%;
    }

    .header-hotel-finder .hotel-finder .room-search .hotel-fields > div .field-box {
        box-sizing: border-box;
        width: 100%;
    }

    article:not(.homepage-template) {
        font-size: 19px;
        line-height: 26px;
    }

    .single-tours #fc_frame,
    .single-hotels #fc_frame,
    .single-tours .fc-disabled,
    .single-hotels .fc-disabled {
        bottom: 87px !important;
    }

    .tph-booknow-mobile-footer {
        position: fixed;
        z-index: 120000;
        bottom: 0;
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
        align-items: center;
        box-sizing: border-box;
        width: 100%;
        padding: 10px 5%;
        background: white;
        border-top: 1px solid #e5dcdc;
        box-shadow: 0 -4px 6px rgba(213, 211, 183, .4);
    }

    .tph-booknow-mobile-footer .tph-price {
        display: inline-block;
        font-size: 18px;
        line-height: 24px;
        text-align: left;
    }

    .tph-booknow-mobile-footer .tph-price > div {
        display: block;
    }

    .tph-booknow-mobile-footer .tph-price > div > span {
        font-family: var(--tpt-title-font);
        font-size: 20px;
        font-weight: 600;
        line-height: 27px;
        text-transform: uppercase;
    }

    .tph-booknow-mobile-footer > a {
        display: inline-block;
        word-wrap: unset;
        flex: 0 0 auto;
        padding: 10px 3%;
        font-family: var(--tpt-title-font);
        font-size: 20px;
        font-weight: 700;
        line-height: 24px;
        letter-spacing: .02em;
        color: white;
        text-align: center;
        text-transform: uppercase;
        background-color: #21afe4;
        border: none;
        transition: background-color .1s ease-in-out;
        cursor: pointer;
    }

    .tph-booknow-mobile-footer .tj-button1 {
        width: auto;
    }

    .product-page-header .tph-tour-info {
        display: block;
    }

    .product-page-header .tph-tour-info .tph-booknow {
        display: flex;
        justify-content: space-between;
        width: 100%;
        min-width: unset;
        max-width: unset;
        margin-top: 34px;
        padding-left: 0;
        text-align: left;
    }

    .product-page-header .tph-tour-info .booking-block {
        flex: 2;
    }

    .product-page-header .tph-tour-info .booking-block .booking-button-message {
        text-align: right;
    }

    .popular-destinations .scroller.desktop-version {
        display: none;
    }

    .popular-destinations .scroll-container.mobile-version {
        display: block;
    }

    .useful-info {
        margin-top: 40px;
    }

    .useful-info section.related-tours > div {
        display: block;
    }

    .useful-info section.related-tours .related-item {
        width: 100%;
    }

    .tour-gallery-wrap .tour-gallery-view,
    .hotel-gallery-wrap .hotel-gallery-view {
        width: 80vw;
        margin-top: 45px;
        margin-left: 10vw;
    }

    .travel-style-selector-search .search-header {
        height: auto;
        padding: 0;
    }

    .travel-style-selector-search .search-header > img {
        position: relative;
        width: 100vw;
        height: 60vh;
        max-height: var(--img-max-height-m);
    }

    .travel-style-selector-search .search-header > .video-wrap {
        position: relative;
        overflow: hidden;
        width: 100%;
        max-height: 470px;
        padding: 0;
    }

    .travel-style-selector-search .search-header > .video-wrap > video {
        position: relative;
        box-sizing: border-box;
        width: 100%;
        height: auto;
    }

    .travel-style-selector-search .search-header h4 {
        position: absolute;
        left: 35px;
        width: calc(100% - 70px);
        max-width: unset;
        color: white;
        text-shadow: rgb(0 0 0 / 30%) 0 3px 3px;
        transform: translateY(calc(-100% - 15px));
    }

    .travel-style-selector-search .search-header .search-header-decoration {
        position: relative;
        top: unset;
        left: unset;
        width: 100%;
        max-width: unset;
        padding: 0;
        border: none;
    }

    .travel-style-selector-search .search-header > div,
    .travel-style-selector-search .room-search .hotel-fields .destination-selector .field-box {
        width: 100%;
        max-width: unset;
    }

    .travel-style-selector-search .search-header > div {
        padding: 35px 35px 65px 35px;
    }

    .travel-style-selector-search .room-search .hotel-fields .destination-selector .field-box {
        margin-bottom: 10px;
    }

    .travel-style-selector-search .search-forms form input.td-selector {
        margin-right: 0;
    }

    .travel-style-selector-search .search-header > div:first-of-type {
        margin-bottom: 0;
    }

    .travel-style-selector-search .room-search .hotel-fields .tj-button1.choose-dates {
        margin-top: 0;
    }

    .travel-style-selector-search .room-search .hotel-fields .field-box:not(.td-selector) {
        width: calc(100vw - 90px - 148px);
        margin: 0;
    }

    .room-search .hotel-fields .daterange-selector {
        display: block;
    }

    .travel-style-selector-search .search-header .search-header-decoration::before,
    .travel-style-selector-search .search-header .search-header-decoration::after {
        content: none;
    }

    .travel-style-selector-search .search-forms::before {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 0;
        height: 0;
        border-width: 4vh 0 0 60vw;
        border-style: solid;
        border-color: transparent transparent transparent #71d1fe;
        content: "";
    }

    .travel-style-selector-search .search-forms::after {
        position: absolute;
        right: 0;
        bottom: 0;
        width: 0;
        height: 0;
        border-width: 0 0 5.85vh 59vw;
        border-style: solid;
        border-color: transparent transparent #21afe4 transparent;
        content: "";
    }

    .two-columns-promotion p,
    .two-columns-promotion p:first-of-type,
    .two-columns-promotion .left-column > div p,
    article .category-description p,
    article .category-description p:first-of-type {
        font-size: 19px;
        line-height: 25px;
    }

    article.page p {
        max-width: unset;
        font-size: 16px;
        line-height: 26px;
    }

    article.type-post h1 {
        width: auto;
    }

    .two-columns-promotion,
    .highlights .highlights-content {
        display: block;
        justify-content: unset;
    }

    .two-columns-promotion .left-column,
    .highlights .highlights-content .left-column {
        flex: unset;
        margin-bottom: 30px;
        font-size: 18px;
        line-height: 24px;
    }

    .two-columns-promotion .right-column > div:last-of-type,
    .highlights .highlights-content .right-column > div:last-of-type {
        box-sizing: border-box;
        width: 100%;
    }

    .two-columns-promotion .right-column .rc-title::after,
    .highlights .highlights-content .right-column .rc-title::after {
        border-right-width: 1200px;
    }

    .itinerary .itinerary-item .itinerary-content .right-block {
        width: calc(100% - 50px);
        max-width: 70%;
        margin: 20px 20px 10px 74px;
    }

    .itinerary .itinerary-item .itinerary-content > ul {
        width: 90%;
    }

    article.type-post .no-related-tours h1 {
        width: 100%;
        max-width: 690px;
    }

    .pair-sections {
        display: block;
    }

    .whats-nearby {
        margin-bottom: 40px;
    }

    .disban-svg img.disban-narrow {
        display: block;
        object-fit: unset;
        width: 100%;
        height: calc((100vw - 16px - 16px) / 2.05873);
        max-height: 200px;
    }

    .disban-svg img.disban-wide {
        display: none;
    }

    .hotban-svg img.hotban-narrow {
        display: block;
        width: 100%;
        max-height: 320px;
    }

    .hotban-svg img.hotban-wide {
        display: none;
    }

    .reviews-block {
        width: 100%;
        text-align: center;
    }

    .destination-menu {
        justify-content: flex-start;
        padding-right: 0;
        padding-left: 0;
    }

    .destination-menu ul li {
        padding: 8px 12px;
        font-size: 16px;
        font-weight: 700;
        font-style: normal;
        line-height: 24px;
        letter-spacing: .05em;
    }

    .destination-menu ul li:last-of-type {
        padding-right: 12px;
    }

    .product-page-header .tph-tour-info .note-tag {
        margin-top: 12px;
    }

    .why-us {
        margin-right: auto;
        margin-left: auto;
    }

    .press-coverage .press-coverage-items {
        columns: 2;
    }

    .press-coverage .popup-overlay .popup-modal {
        max-width: 96%;
    }

    .discounted-tour-badge {
        max-width: 100px;
    }

    .info-bar.cpr4 .info-cards .info-card,
    .info-bar.cpr5 .info-cards .info-card,
    .info-bar.cpr6 .info-cards .info-card,
    .info-bar.cpr4 .info-cards .info-card:nth-of-type(4n),
    .info-bar.cpr5 .info-cards .info-card:nth-of-type(5n) {
        width: calc((100% - 24px * 2) / 3);
    }

    .info-bar.cpr4 .info-cards .info-card:nth-of-type(3n),
    .info-bar.cpr5 .info-cards .info-card:nth-of-type(3n),
    .info-bar.cpr6 .info-cards .info-card:nth-of-type(3n) {
        width: calc((100% - 24px * 2) / 3 - 1px);
    }

    .press-quotes {
        display: block;
    }

    .press-quotes .img-wrap {
        min-height: unset;
        margin: 0;
    }

    .press-quotes .img-wrap img {
        height: 310px;
    }

    .press-quotes .publications {
        padding-bottom: 0;
    }

    .customize-banner .banner-content {
        width: calc(50% - 100px);
        padding: 50px;
    }

    .about-ticker {
        flex-wrap: wrap-reverse;
        margin-top: 0;
    }
}

@media only screen and (max-width: 768px) {
    .hide768 {
        display: none;
    }

    body .read-more {
        font-size: 19px;
        line-height: 25px;
    }

    .featured-tours .featured-item img,
    .featured-pages .featured-item,
    .curated-content a.image-link img,
    .featured-articles .featured-item img {
        transition: none;
    }

    .mobile-header {
        padding: 10px 5% 10px 5%;
    }

    .static-page-header .sph-image {
        height: calc(50vh - 160px);
    }

    .featured-pages .featured-items,
    .featured-pages .featured-tours {
        overflow-x: hidden;
    }

    .featured-tours .featured-items.list-page-items .row .column,
    .featured-articles .featured-items.list-page-items .row .column,
    .featured-pages .featured-items.layout-c .column,
    .featured-tours .column,
    .featured-articles .column {
        flex: 1 0 50%;
    }

    .narrow-padding {
        width: 90%;
        padding-right: 5%;
        padding-left: 5%;
    }

    .narrow-margin {
        width: 90%;
        margin-right: 5%;
        margin-left: 5%;
    }

    .standard-margin {
        width: 90%;
        margin-right: 5%;
        margin-left: 5%;
    }

    .standard-padding,
    .decorated-content-box:not(.standard-padding) .decorated-content {
        width: 90%;
        padding-right: 5%;
        padding-left: 5%;
    }

    .featured-hotels-glide,
    .featured-articles-glide,
    .testimonials-static {
        width: 95%;
        margin-left: 5%;
    }

    .standard-spacing,
    .home .standard-spacing {
        margin-top: 40px;
        margin-bottom: 40px;
    }

    .bottom-spacing {
        margin-bottom: 40px;
    }

    .tour-page-content .tour-nav-menu {
        position: sticky;
        z-index: 120000;
        top: 151px;
        transition: none;
    }

    .destination-header {
        width: 100%;
        height: 50vh;
        margin: 0;
    }

    .destination-header.show-on-mobile {
        height: 35vh;
        min-height: unset;
    }

    article.type-post h1 {
        margin-top: 40px;
        padding-bottom: 0;
        font-size: 40px;
        line-height: 44px;
    }

    .product-page-header h1 {
        top: 80px;
        max-width: 300px;
        font-size: 49px;
        line-height: 55px;
    }

    .header-wrap h1 {
        font-size: 49px;
        line-height: 55px;
    }

    .header-wrap h1 {
        left: 5%;
    }

    h2 {
        font-size: 32px;
        line-height: 42px;
    }

    .static-page-header .sph-content h2,
    .category-description.sph-content h2 {
        font-size: 22px;
        line-height: 24px;
    }

    .detail-lists h3 {
        display: block;
        margin-bottom: 40px;
        font-size: 32px;
        line-height: 42px;
    }

    .two-columns-promotion .left-column h3 {
        background: none;
    }

    h4 {
        font-size: 22px;
        line-height: 24px;
    }

    h5 {
        font-size: 22px;
        line-height: 24px;
    }

    h6 {
        margin-bottom: 10px;
        font-size: 20px;
        line-height: 24px;
        color: var(--tpt-text-color);
        text-transform: uppercase;
    }

    article.type-post h2,
    article.type-page h2,
    .home .decorated-content-box .decorated-content > h4 {
        font-size: 32px;
        line-height: 36px;
    }

    article.type-post h3,
    article.type-page h3 {
        font-size: 28px;
        line-height: 32px;
    }

    button.slick-arrow.slick-next1 {
        right: 15px;
    }

    button.slick-arrow.slick-prev1 {
        left: 15px;
    }

    .editorial {
        font-size: 18px;
        line-height: 28px;
    }

    article:not(.homepage-template) ol,
    .editorial ol {
        padding-left: 20px;
    }

    .notebar {
        font-size: 12px;
        line-height: 16px;
    }

    .notebar .close-notebar {
        display: block;
        margin-top: 10px;
        padding: 4px;
        text-align: center;
    }

    .decorated-content-box:not(.no-decoration) {
        padding-right: 0;
        padding-bottom: 20%;
    }

    .product-page-header .tph-hotel-info .tph-booknow {
        display: flex;
    }

    .product-page-header .tph-tour-info .tph-booknow > a,
    .product-page-header .tph-hotel-info .tph-booknow > a {
        box-sizing: border-box;
        width: auto;
    }

    .message {
        padding: 5%;
    }

    .message .message-content {
        max-width: unset;
        margin-left: 0;
    }

    .message .message-content h5 {
        font-size: 30px;
        line-height: 34px;
    }

    .templateWidth {
        padding: 0 !important;
    }

    .static-page-header .sph-image {
        padding: 80px 5%;
    }

    .static-page-header .sph-content p,
    .category-description.sph-content p,
    .header-hotel-finder .hotel-page-description p {
        width: 100%;
        max-width: unset;
        font-size: 16px;
        line-height: 24px;
    }

    .info-columns > div {
        display: block;
        width: 100%;
        margin-left: 0;
    }

    .info-columns > div .info-column {
        margin-right: 0;
        margin-left: 0;
    }

    .content-image-pair:nth-of-type(n),
    .content-image-pair {
        flex-direction: column;
    }

    .content-image-pair .left-pane,
    .content-image-pair:not(.text-only) .left-pane {
        width: 100%;
        margin-bottom: 20px;
    }

    .content-image-pair:not(.text-only):nth-of-type(even) .left-pane,
    .content-image-pair:not(.text-only):nth-of-type(odd) .left-pann {
        padding: 0;
    }

    .content-image-pair:nth-of-type(n) img,
    .content-image-pair img {
        width: 100%;
        max-height: var(--img-max-height-m);
        margin: 0;
    }

    article.type-post .content-image-pair p,
    article.type-page .content-image-pair p {
        margin-bottom: 20px;
    }

    article.type-post .content-image-pair h2,
    article.type-page .content-image-pair h2 {
        margin-bottom: 20px;
        font-size: 26px;
        line-height: 28px;
    }

    footer .flex-footer .left-pane {
        padding-right: 5%;
        padding-left: 5%;
    }

    footer .flex-footer .footer-form {
        width: 90%;
        max-width: unset;
        padding: 30px 5% 30px 5%;
    }

    body .featured-tours .featured-items button.slick-arrow {
        top: calc(50vh / 2);
    }

    .travel-style-selector-search .search-header {
        background-position-x: right;
    }

    /* Single Tour 768px */
    .product-page-header .tph-gallery.desktop-version h1,
    .product-page-header .tph-gallery.desktop-version h1 {
        display: none;
    }

    .product-page-header .tph-tour-info {
        display: flex;
        flex-direction: column;
        padding-right: 16px;
        padding-left: 16px;
    }

    .tour-page-content .tour-nav-menu .buttons-area {
        display: none;
    }

    .product-page-header .tph-tour-info .tph-booknow .tph-price > div {
        display: block;
    }

    .mobile-question {
        display: block;
    }

    .mobile-question > div {
        padding-right: 0;
    }

    .mobile-question > div > p {
        margin-bottom: 20px;
    }

    /* Single Hotel  768px */
    .product-page-header h1 {
        display: none;
    }

    .tour-result .tour-gallery {
        width: 40%;
    }

    .photo-gallery .gallery img {
        height: 100px;
    }

    .events .event-lists {
        display: block;
    }

    .events .event-lists .column:not(:last-of-type) {
        margin-right: 0;
    }

    .glide-type5 .glide__arrows .glide__arrow--right {
        right: 77px;
        transform: translateY(-50%);
    }

    .glide-type5 .glide__arrows .glide__arrow--left {
        left: 20px;
        transform: translateY(-50%);
    }

    article .category-description p:first-of-type {
        -webkit-line-clamp: 5;
                line-clamp: 5;
        -webkit-box-orient: vertical;
                box-orient: vertical;
    }

    article .category-description p {
        margin-bottom: 30px;
    }

    .product-page-header .tph-hotel-info .tph-info {
        margin-top: 0;
    }

    body.page .sph-image {
        height: 35vh;
        padding: 0;
    }

    body.page .sph-image img {
        height: 100%;
    }

    article.type-post .no-related-tours h1 {
        width: 100%;
        max-width: unset;
    }

    .customize-tour > div.private-tour-banner,
    .customize-tour > div.customized-tour-banner {
        display: block;
    }

    .customize-tour a,
    .mobile-question a {
        box-sizing: border-box;
        width: 100%;
    }

    .product-page-pre-header h1 {
        font-size: 34px;
        line-height: 40px;
    }

    .breadcrumbs {
        margin-bottom: 12px;
        padding-right: 5%;
        padding-left: 5%;
    }

    .availability-and-pricing .availability-and-pricing-pricing {
        padding-bottom: 0;
    }

    .press-coverage .press-coverage-items {
        columns: 1;
    }

    .press-coverage .press-coverage-items .press-coverage-item {
        cursor: default;
    }

    .press-coverage .popup-overlay .popup-modal {
        padding: 40px 0 0 0;
    }

    .tour-results {
        width: 100%;
        margin-right: 0;
        margin-left: 0;
    }

    .tour-result {
        display: block;
    }

    .tour-result .tour-info {
        display: block;
        box-sizing: border-box;
        width: 100%;
    }

    .tour-result .tour-gallery {
        display: block;
        width: 100%;
    }

    .tour-result .tour-info a.tj-button1,
    .tour-result .tour-info a.tj-button2 {
        position: relative;
        display: inline-block;
        width: 100%;
        margin: 50px 5% 0 5%;
    }

    .tour-result .tour-info .tour-description {
        display: none;
    }

    .tour-result .tour-info a.tj-button1 {
        position: relative;
        right: unset;
        bottom: unset;
        left: unset;
        display: block;
        width: auto;
        margin: 30px 0 10px 0;
    }

    .tour-result .tour-info h2 {
        display: block;
    }

    .tour-result .tour-info h2,
    .tour-result .tour-info .tour-badge {
        margin-bottom: 8px;
    }

    .tour-result .tour-info .no-tour-badge {
        margin-bottom: 20px;
    }

    .tour-result .tour-info .tph-details {
        max-width: unset;
    }

    .search-results .search-result {
        display: block;
    }

    .search-results .search-result .product-gallery {
        display: block;
        width: 100%;
    }

    .search-results .search-result .product-info {
        display: block;
        box-sizing: border-box;
        width: 100%;
    }

    .search-results .search-result .product-info a.tj-button1,
    .search-results .search-result .product-info a.tj-button2 {
        position: relative;
        right: unset;
        bottom: unset;
        left: unset;
        display: block;
        width: auto;
        margin: 30px 0 10px 0;
    }

    .pb-inline-image-banner img.pb-iiban-narrow {
        display: block;
    }

    .pb-inline-image-banner img.pb-iiban-wide {
        display: none;
    }

    .gcp .gcp-content > svg {
        display: none;
    }

    .itinerary .itinerary-video {
        flex-direction: column-reverse;
        flex-wrap: wrap;
        align-items: center;
    }

    .itinerary .itinerary-video video {
        width: 100%;
        max-width: 400px;
    }

    .info-bar {
        width: 90%;
        padding-right: 5%;
        padding-left: 5%;
    }

    .customize-banner {
        display: block;
    }

    .customize-banner img {
        width: 100%;
        max-height: 30vh;
    }

    .customize-banner .banner-content {
        width: 90%;
        padding: 5%;
    }

    .customize-banner .banner-content h5 {
        font-size: 30px;
        line-height: 34px;
    }
}

@media only screen and (max-width: 640px) {
    .hide640,
    .desktop-only {
        display: none;
    }

    .mobile-only {
        display: block;
    }

    .standard-padding {
        width: auto;
        padding-right: 16px;
        padding-left: 16px;
    }

    .standard-margin {
        width: auto;
        margin-right: 16px;
        margin-left: 16px;
    }

    .featured-pages .featured-items,
    .featured-pages .featured-tours {
        overflow-x: hidden;
    }

    header .left-pane,
    header .left-pane .header-logo {
        display: none;
    }

    .static-page-header .sph-image img,
    .static-page-header .sph-image .no-image {
        height: 50vh;
        min-height: unset;
    }

    .destination-header:not(.show-on-mobile) {
        display: none;
    }

    article .category-description p:first-of-type {
        width: auto;
    }

    .tour-filters .tour-filter.sort {
        position: relative;
    }

    .header-wrap {
        padding-top: 80px;
    }

    .static-page-header .header-wrap {
        padding-top: 120px;
    }

    .header-wrap h1 {
        top: 60px;
        left: 0;
        display: block;
        width: 100%;
        max-width: unset;
        margin: 0;
        font-size: 34px;
        line-height: 40px;
        color: #21afe4;
        text-align: center;
        text-shadow: none;
    }

    .header-wrap h1::after {
        content: unset;
    }

    .product-page-header,
    .product-page-header {
        width: 100%;
        margin: 0;
    }

    .product-page-header h1 {
        left: 5%;
        max-width: 90%;
        font-size: 34px;
        line-height: 40px;
    }

    .product-page-header .tph-tour-info {
        flex-direction: column-reverse;
        padding-top: 8px;
        font-size: 14px;
    }

    .product-page-header .tph-tour-info .tph-info {
        margin-top: 18px;
    }

    .product-page-header .tph-tour-info .tph-info > div {
        flex: 1 1 50%;
        margin-bottom: 10px;
        font-size: 14px;
        border: none;
    }

    .product-page-header .tph-tour-info .tph-info > div::before {
        width: 20px;
        height: 20px;
    }

    button.slick-arrow.slick-next2,
    button.slick-arrow.slick-prev2 {
        top: 16px;
        width: 40px;
        height: 40px;
    }

    button.slick-arrow.slick-next3,
    button.slick-arrow.slick-prev3,
    .hotelCard_gallery_slider button.slick-arrow,
    .hotelCard_gallery_slider button.slick-arrow {
        width: 40px;
        height: 40px;
    }

    button.slick-arrow.slick-next2 {
        right: 15px;
    }

    button.slick-arrow.slick-prev2 {
        right: 70px;
    }

    button.slick-arrow.slick-prev3 {
        right: 75px;
    }

    .product-page-header .tph-tour-info .tph-booknow {
        align-items: baseline;
        gap: 16px;
        margin-top: 10px;
        margin-bottom: 18px;
        padding-bottom: 8px;
        border-bottom: solid 1px #cacacc;
    }

    .highlights .highlights-list .highlight {
        flex: unset;
    }

    .tour-page-content .tour-nav-menu a {
        display: block;
        margin: 5px 30% 5px 0;
    }

    .itinerary .itinerary-item p.no-image {
        width: 90%;
    }

    .destination-header .destination-header-buttons {
        position: absolute;
        bottom: 30px;
    }

    .destination-header .destination-header-buttons > a {
        width: 94%;
        margin-top: 10px;
        margin-bottom: 10px;
    }

    .tj-button1,
    a .tj-button1,
    .tj-button2,
    a .tj-button2 {
        box-sizing: border-box;
        width: 100%;
    }

    .travel-style-selector-search .search-forms form > div {
        display: block;
    }

    .travel-style-selector-search .search-forms form input.td-selector {
        width: 100%;
    }

    .travel-style-selector-search .room-search .hotel-fields .field-box:not(.td-selector) {
        width: 100%;
        margin-bottom: 10px;
    }

    footer .flex-footer .left-pane .top-strip {
        display: block;
    }

    footer .copyright {
        font-size: 10px;
    }

    .contact-page .details-column {
        font-size: 14px;
    }

    .contact-page .details-column .dt-title {
        margin-bottom: 4px;
        font-size: 16px;
    }

    .tour-page-content .tour-nav-menu {
        overflow-x: scroll;
        padding-top: 5px;
        padding-bottom: 5px;
    }

    /* Homepage */
    .travel-dashboard {
        margin-bottom: 60px;
    }

    header nav .nav-menu .travel-dashboard .info-blocks .row .column {
        flex: 0 1 100%;
    }

    .book-hotels .content {
        padding: 5%;
    }

    .book-hotels .content h2 {
        font-size: 32px;
    }

    .book-hotels .content > p {
        font-size: 16px;
    }

    .book-hotels .decoration img {
        max-height: var(--img-max-height-m);
    }

    .curated-content .featured-item-wrap,
    .featured-items .row .column,
    .curated-content a.image-link {
        width: 100%;
    }

    .travel-style-selector-search .search-forms form .daterange-selector-wrap,
    .travel-style-selector-search .search-forms form {
        flex-wrap: wrap;
    }

    /* Tour Page */
    .destination-menu {
        width: 100%;
        padding-right: 0;
        padding-left: 0;
    }

    .single-tours .sticky-menu {
        position: absolute;
        display: block;
        width: 100%;
    }

    .product-page-header .tph-gallery.desktop-version > .image-slide {
        flex: 1 0 100%;
    }

    .tour-gallery-wrap .tour-gallery-view {
        width: 100%;
        margin-left: 0;
    }

    .tour-gallery-wrap .tour-gallery-view .slick-arrow.slick-next3 {
        top: 120%;
        right: 45%;
    }

    .tour-gallery-wrap .tour-gallery-view .slick-arrow.slick-prev3 {
        top: 120%;
        left: 45%;
    }

    .tour-gallery-wrap .tour-gallery-view img {
        height: calc((9 / 16) * 100vw);
    }

    .tour-gallery-wrap .tour-gallery-header {
        padding: 15px;
    }

    .product-page-header .tph-tour-info .tph-booknow > a,
    .product-page-header .tph-hotel-info .tph-booknow > a {
        padding: 10px 15px;
    }

    .tour-gallery-wrap .tour-gallery-header span.tg-title {
        overflow: hidden;
        color: transparent;
        text-wrap: nowrap;
        white-space: nowrap;
    }

    .detail-lists .detail-list .list-content {
        padding-left: 8px;
    }

    .detail-lists .detail-list .list-title::after {
        right: 0;
    }

    .product-page-header .tph-gallery.desktop-version,
    .product-page-header .tph-gallery.desktop-version {
        display: none;
    }

    .product-page-header .tph-gallery.mobile-version,
    .product-page-header .tph-gallery.mobile-version {
        display: block;
        margin-top: 0;
    }

    .itinerary .itinerary-item .itinerary-content > ul > li > span {
        width: 100%;
    }

    .itinerary .itinerary-item .itinerary-content > ul.no-image {
        width: 90%;
    }

    .itinerary.simplified .itinerary-item .itinerary-item-title {
        margin-left: 0;
        padding-right: 0;
    }

    .itinerary.simplified .itinerary-items::before {
        left: 16px;
    }

    .itinerary.simplified .itinerary-item:not(:first-of-type):not(:last-of-type)::before {
        left: 12px;
    }

    .two-columns-promotion .right-column {
        font-size: 16px;
        line-height: 22px;
    }

    .why-us {
        width: 100%;
        min-width: unset;
        max-width: 340px;
    }

    .availability-and-pricing:not(.legacy) .availability-and-pricing-availability,
    .availability-and-pricing .availability-and-pricing-pricing {
        padding: 30px 20px;
    }

    /* Footer Form */
    footer .flex-footer .menu-footer-container > ul {
        display: block;
    }

    footer .flex-footer .menu-footer-container > ul > li:last-of-type {
        min-width: unset;
    }

    footer .flex-footer .menu-footer-container #form-subscribe-footer input[type="email"] {
        box-sizing: border-box;
        width: 100%;
        max-width: unset;
    }

    footer .flex-footer .menu-footer-container #form-subscribe-footer button[type="submit"] {
        box-sizing: border-box;
        width: 100%;
        margin-top: 20px;
        margin-left: 0;
    }

    /* Hotels Search */
    .header-hotel-finder .hotel-finder {
        width: 100%;
        margin: 0;
        padding: 40px 10px;
    }

    .header-hotel-finder .room-search {
        padding: 14px;
    }

    .room-search .hotel-fields .guest-selector.active .guest-calc {
        left: 5%;
        box-sizing: border-box;
        width: 90%;
    }

    .room-search .hotel-fields .guest-selector .guest-calc .room .select-field-kids select {
        margin-bottom: 20px;
    }

    /* Single Hotel Page */
    .product-page-header .tph-hotel-info {
        padding: 0 5% 15px 5%;
    }

    .room-search .hotel-fields .tj-button1.choose-dates {
        margin-right: 0;
    }

    .room-search .hotel-fields {
        display: block;
    }

    .room-search .hotel-fields .field-box {
        box-sizing: border-box;
        width: 100%;
        margin-right: 0;
    }

    .room-search .hotel-fields .destination-selector .field-box {
        width: 100%;
    }

    .room-search .hotel-fields .daterange-selector,
    .room-search .hotel-fields .guest-selector {
        position: relative;
        display: block;
        width: 100%;
    }

    .product-page-header .tph-hotel-info .tph-booknow {
        width: 100%;
        padding: 0;
    }

    .tour-results .results-header {
        padding: 0 5%;
    }

    body.single-hotels .sticky-menu .destination-menu,
    body.single-hotels .destination-menu > ul {
        display: none;
    }

    .hotel-page-content .hotel-nav-menu {
        overflow-x: scroll;
    }

    #hotels-in-results-header-anchor {
        top: -170px;
    }

    article .category-description {
        display: none;
    }

    article:not(.homepage-template.page),
    article.list-tax {
        padding-top: 0;
    }

    article.list-tax .disban-svg {
        display: none;
    }

    .all-through {
        width: 100%;
        margin: 0;
    }

    .list-bar {
        width: 90%;
        margin-left: 5%;
    }

    .tour-result .tour-gallery img {
        height: 280px;
    }

    .archive.category .featured-articles .featured-items.list-page-items .row .column a.excerpt,
    .archive.category .featured-articles .featured-items.list-page-items .row .column a.article-link {
        display: none;
    }

    .archive.category .featured-articles .featured-items.list-page-items .featured-item {
        margin-bottom: 0;
    }

    .glide-type5 .featured-item > a > span.image-wrap {
        max-height: var(--img-max-height-m);
    }

    .glide-type5 .glide__arrows .glide__arrow--right {
        display: none;
    }

    .glide-type5 .glide__arrows .glide__arrow--left {
        display: none;
    }

    .glide-type7 ul li {
        min-width: unset;
    }

    .archive:not(.category) article.tax-desc {
        padding: 0 22px;
        font-size: 18px;
    }

    .tos-table table tr td {
        padding: 10px;
        font-size: 12px;
        line-height: 14px;
        text-align: center;
    }

    article.list-tax,
    .page-tours .static-page-header .sph-content,
    .highlights.with-disban {
        display: block;
    }

    .page-template-page-your-booking #fc_frame.fc-widget-normal,
    .page-template-page-your-booking #fc_frame.fc-widget-small,
    .page-template-page-your-booking-staging #fc_frame.fc-widget-normal,
    .page-template-page-your-booking-staging #fc_frame.fc-widget-small {
        top: 70px;
        bottom: unset;
    }

    .page-template-page-your-booking #fc_frame.fc-mobile-view.h-open-container,
    .page-template-page-your-booking #fc_frame.fc-widget-fullscreen.fc-widget-normal,
    .page-template-page-your-booking #fc_frame.fc-widget-fullscreen.fc-widget-smal,
    .page-template-page-your-booking-staging #fc_frame.fc-mobile-view.h-open-container,
    .page-template-page-your-booking-staging #fc_frame.fc-widget-fullscreen.fc-widget-normal,
    .page-template-page-your-booking-staging #fc_frame.fc-widget-fullscreen.fc-widget-smal {
        top: unset;
    }

    .single-tours #fc_frame.fc-widget-normal,
    .single-tours #fc_frame.fc-widget-small {
        bottom: 85px;
    }

    .inline-subscribe-form {
        padding: 24px 24px 32px 24px;
    }

    .inline-subscribe-form > svg {
        display: none;
    }

    .inline-subscribe-form .isf-form {
        flex-direction: column;
        gap: 16px;
        max-width: none;
    }

    .two-columns-promotion .left-column {
        max-width: unset;
        margin-bottom: 32px;
    }

    .two-columns-promotion .right-column .rc-title::after {
        border-right-width: 530px;
    }

    .hotel-page-content .room-choices .room-search > svg {
        display: none;
    }

    .room-search .hotel-fields {
        padding-right: 0;
    }

    .product-page-header .mark-fav svg circle {
        opacity: 1;
        fill: white;
        stroke: white;
    }

    .product-page-header .mark-fav svg path {
        fill: white;
        stroke: var(--tpt-text-color);
    }

    .product-page-header .mark-fav.liked svg path {
        fill: #21afe4;
        stroke: #21afe4;
    }

    .product-page-header .tph-hotel-info .tph-details-wrap {
        display: block;
    }

    .amenities-and-services div:first-of-type {
        column-count: 1;
        column-gap: unset;
    }

    .preferred-hotel {
        display: none;
    }

    .preferred-hotel-mobile {
        display: inline-block;
    }

    .hotel-rating,
    .hmp-hotel-rating {
        vertical-align: text-bottom;
    }

    .product-page-header .tph-hotel-info .tph-booknow .tph-price > div {
        display: block;
        margin-bottom: 14px;
    }

    .product-page-header .tph-hotel-info .tph-booknow .tph-price > div > span {
        display: inline;
        font-family: var(--tpt-title-font);
        font-size: 30px;
        font-weight: 700;
        font-style: normal;
        line-height: 32px;
        letter-spacing: .01em;
        text-transform: uppercase;
    }

    .two-columns-promotion h4 {
        margin-bottom: 16px;
        font-size: 22px;
        font-weight: 700;
        font-style: normal;
        line-height: 28px;
        letter-spacing: .01em;
    }

    .two-columns-promotion .left-column > div {
        font-size: 19px;
        font-weight: 400;
        font-style: normal;
        line-height: 30px;
    }

    .room-search .hotel-fields .field-box {
        margin-bottom: 12px;
        padding: 8px 16px;
    }

    .room-search .hotel-fields .tj-button1.choose-dates {
        margin-bottom: 24px;
        padding-top: 18px;
        padding-bottom: 18px;
    }

    form.room-filter label {
        margin-right: 16px;
        font-size: 16px;
        font-weight: 400;
        font-style: normal;
        line-height: 24px;
    }

    .room-search .hotel-fields .guest-selector.active .guest-calc {
        left: 0;
        width: 100%;
    }

    #g-map {
        height: 240px;
    }

    .product-page-header .mark-fav {
        top: 16px;
        left: 15px;
    }

    .product-page-header .mark-fav svg {
        width: 40px;
        height: 40px;
    }

    .hmp-hotel-rating {
        display: inline-block;
        margin-top: 20px;
        border: 1px solid #0ba5d2;
    }

    .hotel-map-popup .hmp-content .hmp-hotel-rating {
        display: inline-block;
    }

    .hotel-map-popup .hmp-content .hmp-star-rating {
        display: block;
    }

    .hotel-map-popup .hmp-content .hmp-map-toggle {
        display: block;
        margin: 20px 0 20px auto;
    }

    .product-page-header .tph-hotel-info .tph-booknow {
        display: block;
    }

    .product-page-header .tph-tour-info .tph-booknow > a,
    .product-page-header .tph-hotel-info .tph-booknow > a {
        display: block;
        width: 100%;
    }

    .amenities-and-services ul {
        margin-bottom: 0;
    }

    .mobile-question {
        margin-top: 40px;
    }

    .product-page-header .tph-hotel-info,
    .tph-booknow-mobile-footer {
        padding-right: 16px;
        padding-left: 16px;
    }

    .featured-hotels-glide,
    .featured-articles-glide {
        width: auto;
        margin-right: 0;
        margin-left: 16px;
    }

    .featured-hotels-glide h2,
    .featured-articles-glide h2 {
        width: 95%;
    }

    .amenities-and-services h6 {
        margin-top: 26px;
        margin-bottom: 26px;
    }

    .tph-booknow-mobile-footer .tph-price {
        font-size: 16px;
        font-weight: 400;
        font-style: normal;
        line-height: 24px;
        color: var(--tpt-text-color);
    }

    .tph-booknow-mobile-footer .tph-price .total-price {
        font-family: var(--tpt-text-font);
        font-size: 20px;
        font-weight: 700;
        font-style: normal;
        line-height: 24px;
    }

    .breadcrumbs {
        padding-right: 16px;
        padding-left: 16px;
    }

    .product-page-header .tph-tour-info .tph-details {
        display: flex;
        flex-direction: column-reverse;
    }

    .product-page-header .tph-utils {
        margin-top: 0;
        margin-bottom: 13px;
    }

    .product-page-header .tph-utils > span {
        margin-bottom: 12px;
        text-decoration: none;
    }

    .destination-menu ul li a {
        font-size: 16px;
    }

    header .tj-button1,
    .product-page-header .tph-tour-info .booking-block .booking-button-aux {
        padding: 8px;
    }

    .product-page-header .tph-utils span:nth-last-child(2) {
        border-right: none;
    }

    .room-choices .room-search .hotel-fields {
        padding-right: 0;
    }

    .product-page-header .tph-tour-info .tph-details .tph-detail {
        display: block;
        margin-right: 0;
        padding-right: 0;
        border-right: none;
    }

    .single-tours h2,
    .single-hotels h2,
    .single-tours h4,
    .single-hotels h4 {
        margin-bottom: 30px;
        font-size: 32px;
        line-height: 46px;
        text-align: center;
    }

    body:not(.home) .featured-hotels-glide h2,
    body:not(.home) .featured-articles-glide h4,
    .home .featured-articles-glide h4 {
        font-size: 32px;
        line-height: 36px;
    }

    .decorated-content-box .decorated-content blockquote p {
        margin-bottom: 10px;
        font-size: 20px;
    }

    .decorated-content-box .decorated-content > p {
        font-size: 18px;
    }

    .disban-svg img.disban-narrow {
        height: auto;
        max-height: unset;
    }

    /* Tour filters */
    .archive:not(.tax-hotels-in) .list-bar {
        margin-top: 20px;
    }

    .list-bar {
        position: relative;
        justify-content: flex-start;
        width: auto;
        margin: 0 0 10px 0;
        padding: 10px 22px;
        background-color: var(--tpt-background-color);
    }

    .tour-filters {
        overflow: hidden;
        height: 0;
        padding: 0 22px;
        transition: all .1s ease-in-out;
    }

    .tour-filters .tour-filter .tour-filter-items ul {
        padding-bottom: 50px;
    }

    .tour-filters.mobile-filters-open {
        position: relative;
        overflow: visible;
        justify-content: flex-start;
        align-content: baseline;
        align-items: flex-start;
        height: auto;
        margin-top: 40px;
        padding: 40px 22px;
        padding-top: 60px;
        background: rgb(255, 255, 255);
    }

    .tour-filters .tour-filter.sort {
        order: 1;
    }

    .listing-area.standard-spacing {
        margin-top: 0;
    }

    .list-bar .active-filters {
        margin-bottom: 10px;
    }

    .list-bar .mobile-filters-toggle {
        display: flex;
    }

    .list-bar .mobile-filters-toggle::after {
        content: "Show Filters";
    }

    .list-bar.mobile-filters-open .mobile-filters-toggle::after {
        content: "Hide Filters";
    }

    .tour-filters .tour-filter {
        position: relative;
        display: block;
        width: 100%;
    }

    .tour-filters .tour-filter .tour-filter-button {
        justify-content: space-between;
        box-sizing: content-box;
        width: auto;
        padding: 5px 20px;
    }

    .tour-filters .tour-filter .tour-filter-items {
        top: 50px;
        width: 100%;
        max-width: unset;
    }

    .tour-filters .tour-filter .tour-filter-items ul {
        max-height: none;
    }

    .tour-results .disban-svg {
        display: none;
    }

    .hotel-map-popup .hmp-content h3 {
        display: block;
    }

    .featured-items-block {
        margin-top: 20px;
        margin-bottom: 20px;
    }

    .featured-items-block h4 {
        font-size: 26px;
        line-height: 26px;
    }

    .site-search {
        margin-top: 0;
    }

    .site-search #searchform {
        flex-direction: column;
        gap: 16px;
    }

    .site-search #searchform select,
    .site-search #searchform input.field {
        width: 100%;
        padding-left: 10px;
        font-size: 18px;
        border: 1px solid #757579;
        border-radius: 3px;
    }

    .site-search::before {
        top: 31px;
        right: 0;
        left: unset;
        border: none;
    }

    .site-search #searchform input.submit {
        width: 100%;
        height: 50px;
        border-radius: 3px;
    }

    footer .as-seen-in .asi-logos {
        gap: 32px;
    }

    .gcp {
        padding: 8px 40px 8px 8px;
    }

    .gcp .gcp-content > span {
        max-width: 300px;
    }

    .gcp .gcp-content .gcp-title,
    .gcp .gcp-content .gcp-details {
        font-size: 14px;
        line-height: 15px;
    }

    .gcp .gcp-content .gcp-title {
        font-weight: 800;
    }

    .gcp .gcp-content .gcp-code {
        padding: 6px 7px;
    }

    .gcp-close {
        padding-right: 12px;
        padding-left: 12px;
    }

    .contact-menu {
        padding: 48px 20px 20px 20px;
    }

    .inactivity-popup {
        overflow-y: auto;
    }

    .inactivity-popup,
    .inactivity-popup.no-right-pane {
        display: block;
        padding: 24px 20px 32px 20px;
        background-size: contain;
    }

    .inactivity-popup.no-right-pane {
        background-size: contain;
    }

    .inactivity-popup .iprc {
        display: none;
    }

    .inactivity-popup .inactivity-popup-title {
        font-size: 24px;
        font-weight: 700;
        font-style: normal;
        line-height: 30px;
        letter-spacing: .24px;
    }

    body .inactivity-popup .tj-button4 {
        width: 100%;
        padding: 12px 14px;
        font-size: 22px;
    }

    body .inactivity-popup .tj-button4 svg {
        width: 20px;
        height: 20px;
        padding-left: 4px;
    }

    .contact-menu .xclose {
        top: 9px;
        right: 6px;
        width: 25px;
        height: 25px;
    }

    .inactivity-popup .xclose {
        top: 15px;
        right: 15px;
        transform: none;
    }

    .contact-menu form.contact-form textarea {
        height: 80px;
    }

    .info-bar .info-cards .info-card,
    .info-bar.color .info-cards .info-card,
    .info-bar.image .info-cards .info-car,
    .info-bar.cpr1 .info-cards .info-card,
    .info-bar.cpr2 .info-cards .info-card,
    .info-bar.cpr3 .info-cards .info-card,
    .info-bar.cpr4 .info-cards .info-card,
    .info-bar.cpr5 .info-cards .info-card,
    .info-bar.cpr5 .info-cards .info-card {
        width: 100%;
        max-width: unset;
    }

    .featured-tours-glide {
        margin-right: 0;
        text-align: left;
    }

    .featured-tours-glide .tj-button1 {
        width: calc(100% - 16px);
    }

    .pb-contact-form .form-wrap {
        max-width: 90%;
    }

    .masonry-photo-links a img {
        width: 100%;
        height: 320px;
    }

    .masonry-photo-links .mpl-flex-container,
    .info-bar .info-cards {
        flex-wrap: nowrap;
        gap: 0;
        margin-bottom: 1px;
    }

    .info-bar.color .info-cards,
    .info-bar.image .info-cards {
        max-width: unset;
    }

    body .info-bar h4 {
        font-size: 32px;
    }

    .masonry-photo-links h4,
    .featured-tours-glide h4 {
        font-size: 32px;
    }

    .masonry-photo-links .odd-row,
    .masonry-photo-links .even-row {
        flex: none;
    }

    .masonry-photo-links a > div span {
        display: block;
        text-shadow: rgba(0, 0, 0, 10) 0 1px 2px;
    }

    .masonry-photo-links a > div h6 {
        text-shadow: rgba(0, 0, 0, 10) 0 1px 2px;
    }

    .glide-type0 .glide__arrows {
        right: 50%;
        bottom: 32px;
        transform: translateX(50%);
    }

    .mobile-glide,
    .glide-type0 {
        padding-bottom: 114px;
    }

    .mobile-glide .glide__arrows {
        display: flex;
    }

    .page-tours-deluxe .tour-result {
        min-width: 300px;
    }

    .tour-badges {
        margin-top: 8px;
    }

    .press-quotes {
        width: 90%;
        margin-right: 5%;
        margin-left: 5%;
    }

    .press-quotes .publications {
        margin-right: 5%;
        margin-left: 5%;
    }

    .press-quotes .publications .publication img {
        max-width: 200px;
    }

    .press-quotes .publications .publication blockquote {
        max-width: 300px;
        font-size: 28px;
        line-height: 30px;
    }

    .press-quotes .publications .publication ul li {
        font-size: 16px;
        line-height: 26px;
    }

    .about-ticker {
        width: 100%;
        margin-right: 0;
        margin-left: 0;
    }

    .about-ticker .left-pane {
        padding: 100px 5% 50px 5%;
    }

    .about-ticker .marquee {
        top: 20px;
    }

    .about-ticker .left-pane > p {
        font-size: 28px;
        line-height: 38px;
    }

    .about-ticker .left-pane > a {
        margin-top: 30px;
    }

    .contact-menu ul li a {
        padding: 20px;
    }

    .pac-pop {
        z-index: 200000;
        right: 5%;
        width: 90%;
    }

    .single-tours .pac-pop,
    .single-hotels .pac-pop {
        bottom: 172px;
    }

    .pac-pop .pac-pop-body {
        max-width: unset;
    }

    .decorated-content-box p.action-link {
        text-align: left;
    }

    .pb-contact-form .contact-options {
        flex-direction: column;
        justify-content: left;
    }

    .inactivity-popup form.contact-form label,
    .pb-contact-form form.contact-form label {
        display: none;
    }

    .inactivity-popup form.contact-form input::placeholder,
    .inactivity-popup form.contact-form textarea::placeholder,
    .inactivity-popup form.contact-form select::placeholder,
    .pb-contact-form form.contact-form input::placeholder,
    .pb-contact-form form.contact-form textarea::placeholder,
    .pb-contact-form form.contact-form select::placeholder {
        color: #999;
    }

    .tokyo-marathon-banner .tokyo-marathon-banner-mobile {
        display: block;
    }

    .tokyo-marathon-banner .tokyo-marathon-banner-desktop {
        display: none;
    }

    .calendly-link-widget {
        margin-top: 32px;
        margin-bottom: 64px;
        padding: 16px;
    }

    .calendly-link-widget a {
        margin: 0;
    }

    .tiny-customer-reviews .tiny-reviews .review-card {
        padding: 16px 12px;
    }
}

/* MOUSE HOVER */

@media (min-width: 640px) {
    .daterangepicker .ranges li:hover,
    .form-subscribe-article button[type="submit"]:hover,
    .form-subscribe-shortcode button[type="submit"]:hover,
    footer .flex-footer .menu-footer-container #form-subscribe-footer button[type="submit"]:hover,
    header nav .nav-menu ul li.menu-link-button a:hover {
        background-color: #0ba5d2;
    }

    .press-coverage .popup-overlay .popup-modal svg.popup-close-btn:hover,
    a.post-edit-link:hover,
    button.slick-arrow.slick-next5:hover,
    button.slick-arrow.slick-prev5:hover {
        opacity: 1;
    }

    a:hover h3::after {
        left: 0;
        width: 100%;
    }

    button.slick-arrow.slick-next1:hover,
    button.slick-arrow.slick-prev1:hover {
        background-position-x: right;
    }

    .breadcrumbs a:hover::after,
    .breadcrumbs > a:hover::after,
    .destination-menu ul li a:hover::after,
    .events .event-lists ul li a:hover::before,
    .featured-tours.featured-tours-extended .tour-segment .item-title:hover::after,
    .featured-tours.featured-tours-extended .tour-segment .tour-segment-header a:last-of-type:hover::after,
    .glide-type3 .featured-item > a:hover > h6::after,
    .glide-type4 .featured-item > a:hover > h3::after,
    .glide-type5 .featured-item > a:hover > h4::after,
    .hotel-page-content .hotel-nav-menu ul li a:hover::after,
    .tour-page-content .tour-nav-menu ul li a:hover::after,
    .tour-result .tour-info h2:hover::after,
    .travel-style-selector-search .search-forms .radio-selector .form-select:hover::before,
    article.post-40x h3:hover::after,
    header nav .nav-menu ul li a:hover::before {
        width: 100%;
    }

    header nav .nav-menu ul li.menu-link-button a:hover span::after {
        margin-left: 10px;
        padding-right: 0;
    }

    #menu-inline-menu > li ul.sub-menu li a:hover,
    .closeapi:hover,
    .contact-page .contact-banner > div > p > a:hover,
    .contact-page .details-column > a:hover,
    .customize-tour > div > a:hover,
    .featured-articles .featured-item a.article-link:hover,
    .featured-tours .featured-item .tour-info a:hover,
    .featured-tours .featured-item a.tour-link:hover,
    .glide-type1 .featured-item > a:hover,
    .glide-type2 .featured-item > a:hover > .read-more-link,
    .hotel-page-content .featured-hotels .featured-item a.hotel-link:hover,
    .internal-links-block .internal-links .internal-link > a:hover,
    .mobile-question > a:hover,
    .popular-destinations a:hover,
    .product-page-header .tph-tour-info .booking-block .booking-button-aux:hover,
    .room-search .hotel-fields .guest-selector .guest-calc .room .remove-room:hover span,
    .tint-signin:hover,
    .tint-signup:hover,
    .tos-list a:hover,
    .two-columns-promotion a:hover,
    footer .copyright a:hover,
    footer .flex-footer .menu-footer-container ul li ul li:not(.soc-strip) a:not([href="#"]):hover,
    header .tj-button2:hover,
    header nav .nav-menu ul li.menu-link-button a:hover span,
    body .buttons-area .call-us > a:first-of-type:hover,
    body .more-button:hover,
    body .read-more:hover,
    body .tj-button2:hover,
    body .tj-button4:hover,
    p.pb-subtitle a:hover,
    section.post-content .related-tours .related-item:hover .related-item-title,
    .useful-info a:hover,
    .press-quotes .publications .publication ul li a:hover,
    .itinerary .package-customization ul li a:hover,
    .itinerary .package-customization ul li .contact-popup:hover {
        text-decoration: underline;
    }

    .decorated-content-box p.action-link > a:hover::after,
    .glide-type1 .featured-item > a:hover h6::after,
    .glide-type2 .featured-item > a:hover .read-more-link::after,
    .glide-type3 .featured-item > a:hover .read-more-link::after,
    .glide-type5 .featured-item > a:hover .read-more-link::after,
    body .more-button:hover::after {
        transform: translateX(5px);
    }

    .featured-articles .featured-item a.article-link:hover::after,
    .featured-tours .featured-item a.tour-link:hover::after,
    body .read-more:hover::after {
        padding-left: 10px;
    }

    header .tj-button1:not(.no-arrow):hover::after,
    header .tj-button2:not(.no-arrow):hover::after,
    body .tj-button1:not(.no-arrow):hover::after,
    body .tj-button2:not(.no-arrow):hover::after {
        margin-left: 13px;
        padding-right: 0;
    }

    body .tj-button4:hover svg {
        transform: translate(3px, 2px);
    }

    .daterangepicker .calendar-table .next span:hover,
    .daterangepicker .calendar-table .prev span:hover,
    .glide-type1 .glide__arrows .glide__arrow--left:hover,
    .glide-type1 .glide__arrows .glide__arrow--right:hover,
    .glide-type2 .glide__arrows .glide__arrow--left:hover,
    .glide-type2 .glide__arrows .glide__arrow--right:hover,
    .glide-type3 .glide__arrows .glide__arrow--left:hover,
    .glide-type3 .glide__arrows .glide__arrow--right:hover,
    .glide-type4 .glide__arrows .glide__arrow--left:hover,
    .glide-type4 .glide__arrows .glide__arrow--right:hover,
    .glide-type5 .glide__arrows .glide__arrow--left:hover,
    .glide-type5 .glide__arrows .glide__arrow--right:hover,
    .hotel-gallery-wrap .hotel-gallery-view button.slick-arrow.slick-next3:hover::before,
    .hotel-gallery-wrap .hotel-gallery-view button.slick-arrow.slick-prev3:hover::before,
    .hotelCard_gallery_slider button.slick-arrow:hover,
    .tour-gallery-wrap .tour-gallery-view button.slick-arrow.slick-next3:hover::before,
    .tour-gallery-wrap .tour-gallery-view button.slick-arrow.slick-prev3:hover::before,
    button.slick-arrow.slick-next2:hover,
    button.slick-arrow.slick-next3:hover,
    button.slick-arrow.slick-prev2:hover,
    button.slick-arrow.slick-prev3:hover,
    body .tj-button3:hover {
        box-shadow: none;
    }

    header .tj-button1:hover,
    body .tj-button1:hover {
        text-decoration: underline;
        background-color: #0ba5d2;
    }

    .paginationjs-pages li,
    nav.pagination li {
        display: inline;
    }

    .product-page-header .tph-tour-info .tph-details .tph-detail > span:hover .tph-detail-tooltip,
    .masonry-photo-links a:hover > div span {
        display: block;
    }

    .paginationjs-pages li.pagination-next:hover a::after,
    nav.pagination li.pagination-next:hover a::after {
        margin-left: 10px;
        padding-right: 0;
    }

    .itinerary .package-customization ul li a:hover::after,
    .itinerary .package-customization ul li .contact-popup:hover::after {
        transform: translateX(3px);
    }

    .paginationjs-pages li.pagination-prev:hover a::before,
    nav.pagination li.pagination-prev:hover a::before {
        margin-right: 10px;
        padding-left: 0;
    }

    .breadcrumbs > a::after {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 0;
        height: 2px;
        background-color: #21afe4;
        transition: width .1s ease-in-out, left .1s ease-in-out;
        content: "";
    }

    .contact-menu .xclose:hover {
        transform: scale(1.05);
    }

    .inactivity-popup .xclose:hover {
        background-color: rgba(40, 40, 40, .6);
    }

    .contact-menu-button:hover {
        border-top-right-radius: 50%;
    }

    .curated-content .featured-item:hover,
    .featured-pages .featured-item:hover {
        background-color: rgba(255, 255, 255, .5);
    }

    .daterangepicker td.active .daterangepicker td.active:hover {
        color: white;
        background-color: #0ba5d2;
    }

    .daterangepicker td.available:hover,
    .daterangepicker th.available:hover {
        color: white;
        background-color: #0ba5d2;
        border-color: transparent;
    }

    .daterangepicker td.off:hover,
    .daterangepicker th.off:hover {
        color: #bebebe;
    }

    .destination-header a.destination-header-button:hover {
        color: black;
        box-shadow: inset 0 0 0 2em white;
    }

    .curated-content a.image-link img:hover,
    .destination-category-block a.image-link img:hover,
    .featured-articles .featured-item img:hover,
    .featured-tours .featured-item img:hover,
    .glide-type1 .featured-item > a:hover > span > img,
    .glide-type2 .featured-item > a:hover > span > img,
    .glide-type3 .featured-item > a:hover > span > img,
    .glide-type4 .featured-item > a:hover > span > img,
    .glide-type5 .featured-item > a:hover > span > img,
    .hotel-page-content .featured-hotels .featured-item img:hover,
    .tour-result .tour-gallery img:hover,
    .search-results .search-result .product-gallery img:hover,
    .soc-strip a svg:hover {
        transform: scale(1.1);
    }

    .mark-fav.mark-fav-var2:hover svg path {
        fill: white;
    }

    .mark-fav:hover svg circle {
        fill-opacity: .9;
    }

    .menu-inline-menu-container li.menu-item-has-children:hover > a .plusminus::before {
        transform: rotate(0);
    }

    .menu-inline-menu-container li.menu-item-has-children:hover > ul {
        max-height: 2000px;
    }

    .daterangepicker .calendar-table .next:hover,
    .daterangepicker .calendar-table .prev:hover,
    .internal-links-block .internal-links .internal-link > a:hover {
        color: var(--tpt-text-color);
        background-color: white;
    }

    .popular-destinations a:hover::after {
        padding-left: 10px;
    }

    .product-page-header .tph-gallery.desktop-version .open-gallery:hover {
        background-color: white;
    }

    .quick-links a:hover {
        color: white;
        background-color: #0ba5d2;
    }

    .room-search .hotel-fields .guest-selector .guest-calc .rooms-header .add-room:hover {
        text-decoration: underline;
        background-color: #0ba5d2;
        border-color: #0ba5d2;
    }

    .single.single-tours body .read-more:hover::after {
        margin-left: 12px;
    }

    .category-description.sph-content p > a:hover,
    .editorial p a:hover,
    .featured-tours .featured-item a:hover,
    .static-page-header .sph-content p > a:hover,
    .useful-info section.related-tours a:hover,
    article.post ul a:hover,
    article:not(.homepage-template) p a:hover {
        text-decoration: none;
    }

    .list-bar .active-filters span:hover,
    .top-bar .menu-pre-header-links-container ul li a:hover {
        text-decoration: underline;
        cursor: pointer;
    }

    .tour-filters .tour-filter .tour-filter-button:hover {
        background-color: #eee7e1;
    }

    .tour-filters .tour-filter .tour-filter-items .filter-items-block-top .close-list:hover svg path {
        fill: black;
    }

    .tour-filter.availability .tour-filter-items ul li:hover,
    .tour-filters .tour-filter .tour-filter-items ul li label:hover {
        background-color: rgba(255, 240, 230, .6);
    }

    .tour-filters .tour-filter.sort .tour-filter-button:hover {
        background-color: #dde8f3;
    }

    .tour-filters .tour-filter.sort .tour-filter-items ul li label:hover {
        background-color: rgba(230, 240, 255, .6);
    }

    .hotel-gallery-wrap .hotel-gallery-header span.tg-close:hover,
    .tour-gallery-wrap .tour-gallery-header span.tg-close:hover {
        font-weight: 700;
    }

    .useful-info a:hover {
        text-decoration-thickness: 2px;
    }

    .paginationjs-pages li a:hover,
    nav.pagination li a:hover {
        display: inline-block;
        margin: 8px 4px;
        padding: 13px 10px 11px 13px;
        color: white;
        text-align: center;
        text-decoration: none;
        text-transform: uppercase;
        background-color: #21afe4;
        border: 0;
        transition: background-color .1s ease-in-out;
        cursor: pointer;
    }

    .paginationjs-pages li.disabled a:hover,
    .paginationjs-pages li.disabled:hover a {
        padding: 0;
        color: var(--tpt-text-color);
        text-decoration: none;
        background: 0 0;
        cursor: default;
    }

    .currency-selector .dropdown-option:hover {
        background-color: #f7f3b7;
    }

    header nav .nav-menu > div > ul > li > ul > li > ul > li:hover {
        color: #21afe4;
        text-decoration: underline;
    }

    .gcp:hover .gcp-content > svg {
        transform: translateX(6px);
    }

    a > .gcp:hover .gcp-code {
        background-color: rgba(0, 0, 0, .2);
    }

    .masonry-photo-links a:hover > div {
        background: linear-gradient( 180deg, rgba(49, 47, 45, .4) 0%, rgba(33, 30, 27, .87) 100%);
    }

    .pac-badge:hover {
        background-color: #f16424;
        background-size: 44px 44px;
    }

    .pac-pop .pac-pop-body ul li:hover {
        border-color: #ccc;
    }

    .pac-pop .pac-pop-header .pac-close:hover {
        transform: scale(1.1);
    }

    @media only screen and (max-width: 1200px) {
        header nav .nav-menu ul li a:hover::before {
            content: none;
        }

        header nav .nav-menu ul li a span:not(.description):hover,
        header nav .nav-menu > div > ul > li:not(.menu-item-has-children) > a:hover,
        header nav .nav-menu > div > ul > li > ul > li.menu-left-col > ul > li > a:hover,
        header nav .nav-menu > div > ul > li > ul > li.menu-right-col > ul > li > ul > li > a:hover,
        section.post-content .related-tours .related-item:hover .related-item-title {
            text-decoration: underline;
        }

        header nav .nav-menu .mobile-menu-search.mobile-only a:hover {
            text-decoration: none;
        }
    }

    @media only screen and (max-width: 768px) {
        .curated-content a.image-link img:hover,
        .featured-articles .featured-item img:hover,
        .featured-tours .featured-item img:hover {
            transform: none;
        }

        .featured-pages .featured-item:hover {
            background-color: transparent;
        }
    }
}
/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

@-webkit-keyframes rotating {
    0% {
        -webkit-transform: rotate(0deg);
             -o-transform: rotate(0deg);
                transform: rotate(0deg);
    }

    to {
        -webkit-transform: rotate(360deg);
             -o-transform: rotate(360deg);
                transform: rotate(360deg);
    }
}

@keyframes rotating {
    0% {
        -webkit-transform: rotate(0deg);
           -moz-transform: rotate(0deg);
            -ms-transform: rotate(0deg);
             -o-transform: rotate(0deg);
                transform: rotate(0deg);
    }

    to {
        -webkit-transform: rotate(360deg);
           -moz-transform: rotate(360deg);
            -ms-transform: rotate(360deg);
             -o-transform: rotate(360deg);
                transform: rotate(360deg);
    }
}

.body-hidden {
    overflow: hidden;
    min-height: initial!important;
    margin-right: 17px;
}

.container {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

.small-title {
    display: block;
    width: fit-content;
    font-size: 14px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.sectionCards {
    position: relative;
    box-sizing: border-box;
    margin-bottom: 70px;
}

.sectionCards .list-bar {
    margin-bottom: 25px;
}

.autocomplete-suggestions.active:before,
.btnShowAllTours,
.mob-search,
.slick-dots li button {
    display: none;
}

.autocomplete-suggestion {
    box-sizing: border-box;
    padding: 8px 12px;
    line-height: 1.6;
    white-space: nowrap;
}

.nameCity,
.nameCountry {
    display: block;
    margin: 0;
    padding: 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
}

.nameCountry {
    position: relative;
    font-weight: 400;
    line-height: 1;
    color: black;
}

.title-no-category {
    display: none;
    margin-top: 120px;
    padding: 0 20px;
    font-family: "Cormorant", serif;
    font-size: 24px;
    font-weight: 700;
    font-style: italic;
    text-align: center;
}

.title-no-category_wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.title-no-category svg {
    display: block;
    margin-bottom: 22px;
}

.listing-area {
    overflow: visible!important;
}

.resultsHeader {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-sizing: border-box;
    margin: 0 auto 10px;
}

@media (max-width:1199px) {
    .container {
        max-width: 960px;
    }
}

@media (max-width:1025px) {
    .single-hotels {
        padding-bottom: 66px;
    }

    .resultsHeader {
        z-index: 110;
        margin-bottom: 40px;
        ;
    }
}

@media (max-width:991px) {
    .container {
        max-width: 718px;
    }
}

@media (max-width:767px) {
    .container {
        max-width: 579px;
        padding: 0 20px;
    }

    .title-no-category {
        margin-top: 60px;
        font-size: 32px;
    }

    main .more-button {
        margin-top: 30px;
        font-size: 13px;
        line-height: 1.3;
        letter-spacing: 0;
    }

    .site-content {
        margin-top: 40px;
    }
}

.btnBlack,
.btnDefault {
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    width: fit-content;
    height: 60px;
    margin-top: 10px;
    padding: 0 30px;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    border: 1px solid black;
    transition: .3s;
}

.btnDefault {
    color: black;
    background: 0 0;
}

.btnBlack {
    color: white;
    background: black;
}

.slick-dots {
    display: flex!important;
    align-items: center;
}

.slick-dots li {
    width: 15px;
    height: 15px;
    margin-right: 15px;
    list-style: none;
    background: #f3d3b9;
    border-radius: 100%;
    cursor: pointer;
}

.slick-dots li.slick-active {
    background: white;
}

.slider_arrow {
    position: relative;
    transition: .2s;
    cursor: pointer;
}

.slider_arrow_next {
    margin-left: 30px;
}

.allPackagesPage .homepage-header {
    min-height: auto;
    margin: 30px 0 0;
    padding: 0;
}

[data-tooltip] {
    position: relative;
    z-index: 2;
    cursor: pointer;
}

[data-tooltip]:after,
[data-tooltip]:before {
    position: absolute;
    top: 0;
    left: 50%;
    display: none;
    transform: translate(-50%, -100%);
}

[data-tooltip]:before {
    box-sizing: border-box;
    width: 200px;
    margin-top: -12px;
    padding: 7px;
    font-size: 14px;
    line-height: 1.2;
    letter-spacing: .2px;
    color: white;
    text-align: center;
    text-transform: none;
    background-color: black;
    border-radius: 3px;
    content: attr(data-tooltip);
}

[data-tooltip]:after {
    width: 0;
    margin-top: -7px;
    font-size: 0;
    line-height: 0;
    border-top: 5px solid black;
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    content: " ";
}

.filters {
    position: relative;
    z-index: 50;
    width: 100%;
    margin: 0 auto 50px;
    padding-top: 25px;
    border-top: 1px #bebebe solid;
}

.filters_mobile_top {
    display: none;
    justify-content: space-between;
    align-items: center;
    height: 56px;
    margin-bottom: 15px;
    padding: 0 16px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, .08);
}

.filters_mobile_top-title {
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
}

.filters_mobile_top-close {
    cursor: pointer;
}

.filters_item_block-close path,
.filters_mobile_top-close path,
.sorting_block-close path {
    transition: .3s;
}

.filters_item.filtersItemMultiple .filters_item_block .filtersItemMultiple_wrap,
.filters_wrap {
    display: flex;
}

.filters_item {
    position: relative;
    z-index: 20;
    margin-right: 12px;
}

.filters_item_button {
    display: flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    height: 40px;
    padding: 0 12px;
    text-transform: capitalize;
    background: #fbf0e6;
    border-radius: 5px;
    transition: background-color .15s ease-in-out, width .15s ease-in-out;
    cursor: pointer;
}

.filters_item_button-title {
    font-size: 16px;
    font-weight: 400;
    font-feature-settings: "pnum"on, "lnum"on;
    white-space: nowrap;
}

.filters_item_button-number {
    display: none;
    flex-basis: auto;
    flex-grow: inherit;
    flex-shrink: 0;
    justify-content: center;
    min-width: 12px;
    height: 18px;
    margin-right: auto;
    padding: 0 3px;
    font-size: 14px;
    font-weight: 600;
    font-style: normal;
    line-height: 20px;
    letter-spacing: .02em;
    color: #f48d2e;
    text-align: center;
    background-color: #fdfced;
    border: 2px solid #f48d2e;
    border-radius: 18px;
    transition: all .15s ease-in-out;
}

.filters_item_button svg {
    position: relative;
    margin-left: 10px;
}

.filters_item_button.active {
    background-color: #eee7e1;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.filters_item_button > svg {
    position: relative;
    flex-shrink: 0;
    width: 12px;
    transition: transform .15s ease-in-out;
}

.filters_item_button.active > svg {
    transform: rotate(-90deg);
}

.filters_item_block {
    position: absolute;
    z-index: 10;
    top: 40px;
    left: 0;
    display: none;
    overflow: hidden;
    box-sizing: border-box;
    min-width: 280px;
    max-width: 280px;
    background: white;
    border: .5px solid #e5dcdc;
    box-shadow: 0 6px 12px rgba(0, 0, 0, .08);
}

.filters_item_block.active {
    display: block;
}

.filters_item_block_top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 50px;
    padding: 0 16px;
}

.filters_item_block-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1;
}

.filters_item_block-subtitle {
    display: none;
    align-items: center;
    margin-left: 6px;
    line-height: 1;
    color: black;
    opacity: 0;
}

.filters_item_block-close {
    cursor: pointer;
}

.filters_item_block-arrow,
.filters_item_range .irs--flat .irs-from::before,
.filters_item_range .irs--flat .irs-handle i,
.filters_item_range .irs--flat .irs-single::before,
.filters_item_range .irs--flat .irs-to::before {
    display: none;
}

.filters_item_block-apply,
.filters_item_block-clear {
    z-index: 10;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 120px;
    height: 36px;
    font-family: var(--tpt-title-font);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 1px;
    text-align: center;
    text-transform: uppercase;
    cursor: pointer;
}

.filters_item_block-apply {
    color: white;
    background: black;
    border: 0;
    transition: background-color .3s ease;
}

.filters_item_block-clear {
    box-sizing: border-box;
    color: black;
    background: 0 0;
    border: 1px solid black;
    transition: background-color .3s ease, color .3s ease;
}

.filters_item_block_bottom {
    display: none;
    padding: 13px 10px;
    background: white;
    box-shadow: 0-1px 12px rgba(0, 0, 0, .08);
}

.filters_item_block_bottom.active {
    display: flex;
    justify-content: space-between;
}

.filters_item_list {
    display: flex;
    overflow-y: auto;
    flex-direction: column;
    height: 260px;
    padding-bottom: 20px;
}

.filters_item_list::-webkit-scrollbar {
    width: 10px;
}

.filters_item_list::-webkit-scrollbar-track {
    height: 100%;
    background-color: #f4f4f4;
    border-radius: 40px;
}

.filters_item_list::-webkit-scrollbar-thumb {
    background-color: #dadada;
    background-clip: padding-box;
    border-radius: 40px;
}

.filters_item_list::-webkit-scrollbar-button {
    display: none;
}

.filters_item_range {
    position: relative;
    padding: 16px;
}

.filters_item_range .irs--flat .irs-from,
.filters_item_range .irs--flat .irs-single,
.filters_item_range .irs--flat .irs-to {
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    height: 32px;
    margin-top: -13px!important;
    padding: 0 6px;
    font-family: var(--tpt-title-font);
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    background: black;
    border-radius: 6px;
    ;
}

.filters_item_range .irs--flat .irs-line {
    top: 29px;
    height: 2px;
    background-color: black;
}

.filters_item_range .irs--flat .irs-handle {
    width: 16px;
    height: 16px;
    background: black;
    border-radius: 100%!important;
}

.filters_item label input[type=checkbox],
.filters_item_range .irs--flat .irs-bar {
    display: none;
}

.filters_item label,
.sorting label {
    display: flex;
    align-items: center;
    padding: 9px 16px!important;
    font-size: 13px;
    transition: .2s;
    cursor: pointer;
}

.filters_item label.checked {
    order: -1;
}

.filters_item label p,
.sorting label p {
    font-size: 16px;
    color: black;
}

.filters_item label input[type=checkbox]:checked ~ span {
    background: black;
    border: 1px solid black;
}

.filters_item label input[type=checkbox]:checked ~ span::after,
.sorting label input[type=radio]:checked ~ span::after {
    display: block;
}

.filters_item label span,
.sorting label span {
    position: relative;
    box-sizing: border-box;
    width: 24px;
    height: 24px;
    margin-right: 10px;
}

.filters_item label span {
    display: block;
    min-width: 24px;
    border: 1px solid #717175;
    border-radius: 5px;
}

.filters_item label span::after {
    position: absolute;
    top: 7px;
    left: 6px;
    display: none;
    width: 10px;
    height: 4px;
    border-top: 2px solid white;
    border-right: 2px solid white;
    transform: rotate(135deg);
    content: "";
}

.filters_item.filtersItemMultiple {
    position: relative;
}

.filters_item.filtersItemMultiple .filters_item_block {
    overflow-y: auto;
    min-width: auto;
    max-width: none;
    max-height: 70vh;
    ;
}

.filters_item.filtersItemMultiple .filters_item_block .filtersItemMultiple_item {
    min-width: 280px;
    max-width: 280px;
}

.filters_item.filtersItemMultiple .filters_item_block .filters_item_block_bottom.active {
    justify-content: flex-end;
}

.filters_item.filtersItemMultiple .filters_item_block .filters_item_block-apply {
    margin-right: 10px;
}

.filters_item.filtersItemMultiple-mobile,
.sorting label input[type=radio] {
    display: none;
}

.filters_item.filtersItemMultiple .filters_item_block_top {
    margin-bottom: 10px;
}

.filters_item.filtersItemMultiple .filtersItemMultiple-title {
    display: block;
    margin-bottom: 9px;
    padding: 0 16px;
    font-size: 18px;
    font-weight: 600;
    color: black;
}

.filters_item.filtersItemMultiple .filters_item_list {
    height: auto;
    margin-bottom: 5px;
}

.filters_item_noInputs {
    display: block;
    padding: 20px 26px;
    line-height: 1.4;
    text-align: center;
}

.filters_mobile_bottom {
    position: fixed;
    z-index: 100;
    bottom: 0;
    left: 0;
    display: none;
    box-sizing: border-box;
    width: 100%;
    padding: 16px;
    background: white;
    box-shadow: 0-1px 12px rgba(0, 0, 0, .08);
}

.filters_mobile_bottom .filters_item_block-apply {
    width: 100%;
    margin-right: 10px;
}

.filters_mobile_bottom .filters_item_block-clear {
    width: 100%;
    margin-left: 10px;
}

.filters.filterShowMobile .filters_mobile_bottom.active {
    display: flex;
    justify-content: space-between;
}

.sorting {
    position: relative;
    z-index: 100;
}

.sorting-button,
.sorting-button p {
    font-size: 16px;
    text-transform: capitalize;
}

.sorting-button {
    position: relative;
    display: flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    height: 40px;
    padding: 0 12px;
    color: var(--tpt-text-color);
    white-space: nowrap;
    background-color: #eef2f8;
    border-radius: 5px;
    transition: background-color .15s ease-in-out, width .15s ease-in-out;
    cursor: pointer;
}

.sorting-button svg {
    transition: transform .3s ease-in-out;
}

.sorting-button.active {
    background-color: #dde8f3;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.sorting-button.active svg {
    transform: rotate(-180deg);
}

.sorting-button p {
    display: block;
}

.sorting_block {
    position: absolute;
    z-index: 10;
    top: 40px;
    right: 0;
    display: none;
    overflow: hidden;
    box-sizing: border-box;
    min-width: 250px;
    max-width: 250px;
    padding-bottom: 10px;
    background: white;
    border: .5px solid #e5dcdc;
    box-shadow: 0 6px 12px rgba(0, 0, 0, .08);
}

.sorting_block.active {
    display: block;
}

.sorting_block_top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 50px;
    padding: 0 16px;
}

.sorting_block-title {
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
}

.sorting_block-close {
    cursor: pointer;
}

.sorting label span {
    border: 2px solid black;
    border-radius: 100%;
}

.sorting label span::after {
    position: absolute;
    display: none;
    width: 14px;
    height: 14px;
    background: black;
    border-radius: 100%;
    content: "";
}

.btnFilters,
.btnFilters span {
    font-size: 16px;
    font-weight: 600;
}

.btnFilters,
.sorting label span {
    display: flex;
    justify-content: center;
    align-items: center;
}

.btnFilters {
    z-index: 100;
    left: 16px;
    gap: 10px;
    box-sizing: content-box;
    width: 100%;
    max-width: 400px;
    height: 40px;
    margin-bottom: 30px;
    padding: 5px 20px;
    text-transform: capitalize;
    background: #fbf0e6;
    background-color: #fbf0e6;
    border: 0;
    border-radius: 5px;
    cursor: pointer;
}

.btnFilters span {
    display: block;
    margin-left: 8px;
    font-feature-settings: "pnum"on, "lnum"on;
    color: black;
}

.rotating {
    -webkit-animation: rotating 2s linear infinite;
            animation: rotating 2s linear infinite;
}

.title-no-category-hotel {
    display: none;
}

@media (max-width:1025px) {
    .filters,
    .filters_mobile_top {
        position: fixed;
        top: 0;
        left: 0;
        box-sizing: border-box;
        width: 100%;
        background: white;
    }

    .filters {
        z-index: 10000000;
        display: none;
        overflow-y: scroll;
        height: 100%;
        margin-top: 0;
        padding-top: 70px;
        padding-bottom: 150px;
    }

    .filters_mobile_top {
        z-index: 40;
        display: flex;
    }

    .filters_wrap {
        display: flex;
        flex-direction: column;
    }

    .filters_item {
        margin-right: 0;
        border-bottom: 1px solid rgba(0, 0, 0, .2);
    }

    .filters_item_button {
        display: none;
    }

    .filters_item_block {
        position: relative;
        top: 0;
        display: block;
        min-width: 100%;
        max-width: none;
        border: 0;
        box-shadow: none;
    }

    .filters_item_block_top.active .filters_item_block-arrow {
        transform: rotate(-180deg);
    }

    .filters_item_block-arrow {
        display: block;
    }

    .filters_item_block_bottom {
        display: none!important;
    }

    .filters_item_block-subtitle {
        opacity: 1;
    }

    .filters_item.filtersItemMultiple,
    .filters_item_block-close {
        display: none;
    }

    .filters_item.filtersItemMultiple .filters_item_list {
        height: 100%;
        max-height: 260px;
    }

    .filters_item.filtersItemMultiple .filters_item_block_top {
        margin-bottom: 0;
    }

    .filters_item.filtersItemMultiple-mobile {
        display: block;
    }

    .filters_item_list {
        display: none;
        height: auto;
        max-height: 260px;
        margin-bottom: 10px;
        padding-bottom: 10px;
    }

    .filters_item_range {
        display: none;
    }

    .filters_item:last-child {
        margin-bottom: 0;
    }

    .sorting {
        margin: auto -4px auto auto;
    }

    .sorting_block {
        right: 0;
        left: auto;
    }

    .sorting-button {
        min-width: auto;
    }
}

.hotelCard,
.hotelPage {
    position: relative;
}

.hotelPage .list-bar {
    justify-content: flex-start;
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.hotelCard {
    align-items: stretch;
    margin-bottom: 30px;
    background-color: white;
    border: solid 1px #dad9c5;
}

.hotelCard .trj-tag {
    z-index: 1;
}

.hotelCard_wrap {
    position: relative;
    display: flex;
    height: 280px;
}

.hotelCard_preferred {
    position: absolute;
    z-index: 1;
    top: 22px;
    right: 22px;
    display: block;
    width: 60px;
    height: 60px;
    background-image: url(https://www.touristjapan.com/wp-content/themes/touringplatform/css/../images/preferred-151209.svg);
}

.hotelCard_gallery {
    position: relative;
    overflow: hidden;
    flex: 1 0 auto;
    width: 30%;
    background: linear-gradient(23deg, #22c1c3 0, rgba(255, 174, 0, .8) 100%);
}

.hotelCard_gallery div {
    height: 100%;
}

.hotelCard_gallery img {
    object-fit: cover;
    height: 100%;
}

.hotelCard_gallery_slider,
.hotelCard_gallery_slider .slick-list,
.hotelCard_gallery_slider .slick-track {
    height: 100%;
}

.hotelCard_gallery_slider .slick-slide {
    object-fit: cover;
    width: 100%;
    height: 100%;
    min-height: 260px;
    max-height: 333px;
}

.hotelCard_gallery_slider_arrow {
    position: absolute;
    z-index: 10;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
}

.hotelCard_gallery_slider_arrow ellipse {
    transition: .3s ease;
}

.hotelCard_gallery_slider_arrow.prev {
    left: 15px;
}

.hotelCard_gallery_slider_arrow.next {
    right: 15px;
    transform: translateY(-50%) rotate(180deg);
}

.hotelCard_content {
    position: relative;
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
    width: 100%;
    padding: 22px;
}

.hotelCard_content_info {
    margin-top: 16px;
    margin-bottom: 16px;
}

.hotelCard_content_info_items {
    display: flex;
    align-items: center;
    margin-bottom: 11px;
}

.hotelCard_content_info_item {
    display: flex;
    align-items: center;
    margin-right: 16px;
}

.hotelCard_content_info_item span {
    display: block;
    margin-left: 8px;
    text-transform: capitalize;
}

.hotelCard_content_info-map {
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    width: 78px;
    height: 32px;
    font-family: var(--tpt-text-font);
    background: white;
    border: 1px solid #f48d2e;
    border-radius: 24px;
    cursor: pointer;
}

.hotelCard_content_info-map span {
    display: block;
    margin-left: 6px;
    font-size: 16px;
    font-weight: 600;
    color: #f48d2e;
}

.hotelCard_content_left {
    width: 100%;
    max-width: 700px;
}

.hotelCard_content_right {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    justify-content: space-between;
    align-items: flex-end;
    min-width: 150px;
    margin-left: 30px;
    ;
}

.hotelCard_content_desc {
    display: -webkit-box;
    overflow: hidden;
    margin-top: 16px;
    margin-bottom: 16px;
    font-size: 14px;
    line-height: 20px;
    text-overflow: ellipsis;

    -webkit-box-orient: vertical;
            box-orient: vertical;
    -webkit-line-clamp: 1;
            line-clamp: 1;
}

.hotelCard-title {
    display: block;
    width: fit-content;
}

.hotelCard-title h3 {
    display: inline-block;
    margin-bottom: 16px;
    padding-right: 70px;
    font-size: 30px;
    line-height: 35px;
    background: 0 0;
}

.hotelCard-title h3::after {
    position: absolute;
    right: 13%;
    bottom: -7px;
    left: 0;
    width: 0;
    height: 3px;
    background-color: #0baee6;
    transition: width .15s ease-in-out, left .15s ease-in-out;
    content: "";
}

.hotelCard_price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.hotelCard_price-number {
    display: inline-block;
    font-family: var(--tpt-title-font);
    font-size: 32px;
    font-weight: 600;
    line-height: 27px;
    text-transform: uppercase;
}

.hotelCard_price-text {
    float: right;
    font-family: var(--tpt-text-font);
    font-size: 14px;
    font-weight: 400;
    line-height: 25px;
    text-align: right;
}

.hotelCard_price strike {
    display: inline;
    margin-right: 6px;
    font-family: var(--tpt-title-font);
    font-size: 20px;
    font-weight: 400;
    font-style: normal;
    line-height: 24px;
    letter-spacing: .2px;
    color: #d81f1f;
    text-transform: uppercase;
}

.hotelCard_bonus {
    position: absolute;
    z-index: 4;
    bottom: 0;
    left: 0;
    box-sizing: border-box;
    width: 100%;
    padding: 9px 5px;
    font-size: 16px;
    color: white;
    text-align: center;
    background: black;
}

.hotelResults_mobile_filters {
    display: none;
    margin: 0 auto 30px;
    padding: 0 22px;
}

.hotelModalMap {
    position: fixed;
    z-index: 5000000;
    top: 50%;
    left: 50%;
    display: none;
    width: 100%;
    height: 100vh;
    background: #fbf0e6;
    transform: translate(-50%, -50%);
}

.hotelModalMap-close,
.hotelModalMap_wrap {
    display: flex;
    justify-content: center;
    box-sizing: border-box;
}

.hotelModalMap-close {
    position: absolute;
    z-index: 10;
    top: 30px;
    right: 30px;
    align-items: center;
    width: 40px;
    height: 40px;
    background: white;
    border-radius: 100%;
    transition: .2s ease;
    cursor: pointer;
}

.hotelModalMap-close svg {
    width: 15px;
    height: 15px;
}

.hotelModalMap-close svg path {
    fill: #717175;
}

.hotelModalMap_wrap {
    align-items: flex-start;
    width: 100%;
    height: inherit;
    padding: 20px;
}

.hotelModalMap_info {
    min-width: 400px;
    max-width: 400px;
    margin-right: 20px;
}

.hotelModalMap_list {
    margin-bottom: 12px;
}

.hotelModalMap_list_item {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
}

.hotelModalMap_list_item span {
    display: block;
    margin-left: 12px;
}

.hotelModalMap_list_item:last-child {
    margin-bottom: 0;
}

.hotelModalMap_map {
    position: relative;
    display: block;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.hotelModalMap_img {
    overflow: hidden;
    width: 100%;
    height: 200px;
    margin-bottom: 16px;
}

.hotelModalMap .hotelCard-btn,
.hotelModalMap_img img {
    width: 100%;
}

.hotelModalMap-title {
    display: block;
    margin-bottom: 16px;
    font-family: "Cormorant", serif;
    font-size: 24px;
    font-weight: 700;
    font-feature-settings: "pnum"on, "lnum"on;
    text-transform: capitalize;
}

.hotel-results .hotel-result .hotel-info .tph-details > span,
.hotelModalMap_desc {
    display: -webkit-box;
    overflow: hidden;
    font-size: 16px;
    color: black;
    text-overflow: ellipsis;

    -webkit-box-orient: vertical;
}

.hotelModalMap_desc {
    position: relative;
    margin-bottom: 24px;
    line-height: 26px;

    -webkit-line-clamp: 3;
            line-clamp: 3;
}

.hotelModalMap_price {
    display: flex;
    align-items: flex-end;
    margin-bottom: 16px;
}

.hotelModalMap_price-number {
    display: block;
    margin-right: 10px;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    color: #2e1702;
}

.hotelModalMap_price-text {
    margin-bottom: 3px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    color: #56483a;
}

@media (max-width:1199px) {
    .hotelCard {
        height: auto;
    }

    .hotelCard_wrap {
        flex-direction: column;
        height: 100%;
    }

    .hotelCard_gallery {
        min-width: 100%;
        max-width: none;
        height: 240px;
    }

    .hotelCard_content_desc,
    .hotelCard_evaluation {
        display: none;
    }

    .hotelCard_content_bottom {
        justify-content: space-between;
    }

    .hotelCard_content_info_items:first-child {
        margin-bottom: 10px;
    }

    .hotelModalMap_info {
        min-width: 330px;
        max-width: 330px;
    }
}

@media (max-width:1025px) {
    .hotelResults_mobile_filters {
        display: flex;
        justify-content: center;
        align-items: center;
    }
}

@media (max-width:767px) {
    .hotelCard {
        border: 0;
        border-bottom: .5px solid #e5dcdc;
    }

    .hotelCard_content {
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
        padding: 16px 16px 24px;
    }

    .hotelCard_preferred {
        top: 16px;
        right: 16px;
    }

    .hotelCard_content_info_items {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 0;
    }

    .hotelCard_content_info_items:first-child {
        flex-direction: row;
        align-items: center;
        margin-bottom: 10px;
    }

    .hotelCard_content_info_items:first-child .hotelCard_content_info_item {
        margin-right: 15px;
        margin-bottom: 0;
    }

    .hotelCard_content_info_item {
        margin-right: 0;
        margin-bottom: 10px;
    }

    .hotelCard_content_right {
        display: block;
        flex-direction: row;
        justify-content: space-between;
        width: 100%;
        margin-left: 0;
    }

    .hotelCard_content_right a {
        box-sizing: border-box;
        width: 100%;
        margin-top: 30px;
    }

    .hotelCard_showMoreInformation {
        display: none;
    }

    .hotelCard_price {
        align-items: flex-start;
    }

    .hotelCard_price > div {
        display: flex;
        flex-direction: row-reverse;
        align-items: flex-end;
    }

    .hotelCard_price > div strike {
        margin-left: 6px;
        transform: translateY(2px);
    }

    .hotelModalMap-close {
        top: 16px;
        right: 16px;
    }

    .hotelModalMap_wrap {
        flex-direction: column;
        padding: 0;
    }

    .hotelModalMap_img {
        height: 150px;
    }

    .hotelModalMap_info {
        order: 2;
        box-sizing: border-box;
        min-width: 100%;
        max-width: none;
        padding: 12px;
        background: #fbf0e6;
    }

    .hotelModalMap_info_bottom {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        margin-top: 20px;
    }

    .hotelModalMap_map {
        position: relative;
    }

    .hotelModalMap_desc {
        display: none;
    }

    .hotelModalMap .hotelCard-btn {
        order: -1;
        max-width: 200px;
    }

    .hotelModalMap_price {
        flex-direction: column;
        align-items: flex-end;
        margin-bottom: 0;
    }

    .hotelModalMap_price-number {
        margin-right: 0;
    }

    .resultsHeader {
        flex-direction: column;
    }
}

.quick-links {
    position: relative;
    box-sizing: border-box;
    width: auto;
    max-width: 1566px;
    margin: 50px auto 0;
    padding: 0 40px;
}

.quick-links-overScroll {
    display: flex;
    align-items: flex-start;
}

.hotel-results .hotel-result,
.quick-links_wrap {
    position: relative;
    display: flex;
    align-items: flex-start;
}

.quick-links-title {
    z-index: 2;
    display: block;
    margin-right: 15px;
    font-size: 16px;
    font-weight: 600;
    line-height: 28px;
    color: black;
    white-space: nowrap;
}

.quick-links-container {
    display: flex;
    flex-wrap: wrap;
}

.quick-links-item {
    position: relative;
    display: flex!important;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    width: fit-content;
    height: 28px;
    margin-right: 8px;
    margin-bottom: 8px;
    padding: 0 12px;
    font-size: 16px;
    color: #2e1702;
    white-space: nowrap;
    background: #faf6f2;
    border-radius: 40px;
    transition: .2s ease;
}

@media (max-width:1024px) {
    .quick-links {
        width: 90%;
        margin-right: 5%;
        margin-left: 5%;
        padding: 0;
    }
}

@media (max-width:991px) {
    .quick-links {
        overflow: hidden;
        width: 100%;
        margin-right: 0;
        margin-left: 0;
        padding-right: 12px;
        padding-left: 12px;
    }

    .quick-links_wrap {
        flex-direction: column;
        margin-right: -12px;
    }

    .quick-links-title {
        position: relative;
    }

    .quick-links-item {
        margin-bottom: 8px;
        line-height: 1.2;
        white-space: nowrap;
    }

    .quick-links-overScroll {
        overflow-x: scroll;
        width: 100%;
        margin-left: -12px;
        padding-left: 12px;
    }

    .quick-links-overScroll::-webkit-scrollbar {
        display: none;
    }

    .quick-links-container {
        flex-wrap: nowrap;
        width: 100%;
    }
}

.hotel-results .hotel-result {
    align-items: stretch;
    min-height: 260px;
    margin-bottom: 16px;
    background-color: #fbf0e6;
    border: 1px solid #e5dcdc;
    ;
}

.hotel-results .hotel-result .hotel-info {
    position: relative;
    width: 100%;
    padding: 22px;
}

.hotel-results .hotel-result .hotel-info .tph-details {
    width: calc(100% - 220px);
    margin-top: 10px;
    font-size: 18px;
    font-style: normal;
    line-height: 30px;
    letter-spacing: .05em;
    text-transform: capitalize;
}

.hotel-results .hotel-result .hotel-info .tph-details > span {
    -webkit-line-clamp: 2;
            line-clamp: 2;
}

.hotel-results .hotel-result .hotel-info .star-rating {
    margin-top: 20px 0;
}

.hotel-results .hotel-result .hotel-info .price-info {
    position: absolute;
    top: 20px;
    right: 16px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    font-family: var(--tpt-title-font);
    font-size: 18px;
    line-height: 27px;
    text-align: right;
    text-transform: uppercase;
}

.hotel-results .hotel-result .hotel-info .price-info .price {
    font-size: 24px;
    font-weight: 700;
    font-style: normal;
    line-height: 1;
    color: black;
}

.hotel-results .hotel-result .hotel-info .price-info .price span {
    font-size: 16px;
}

.hotel-results .hotel-result .hotel-info .price-info p {
    display: block;
    margin-top: 4px;
    font-family: var(--tpt-title-font);
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    color: #56483a;
    text-transform: uppercase;
}

.hotel-results .hotel-result .hotel-info .hotel-description {
    display: -webkit-box;
    overflow: hidden;
    width: calc(100% - 220px);
    margin-top: 35px;
    margin-right: 15px;
    font-size: 18px;
    font-weight: 400;
    font-style: normal;
    line-height: 30px;
    letter-spacing: .05em;
    text-overflow: ellipsis;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
            line-clamp: 5;
}

.hotel-results .hotel-result .hotel-gallery {
    position: relative;
    flex: 1 0 auto;
    width: 30.5%;
}

.hotel-results .hotel-result .hotel-gallery img {
    display: block;
    object-fit: cover;
    width: 100%;
    height: 260px;
    text-indent: -100000px;
    ;
}

.hotel-results .hotel-result .hotel-gallery .slick-arrow {
    top: 50%;
    transform: translateY(-50%);
}

.hotel-results .hotel-result .hotel-gallery .slick-arrow.slick-next3 {
    right: 20px;
}

.hotel-results .hotel-result .hotel-gallery .slick-arrow.slick-prev3 {
    left: 20px;
}

.hotel-results .disban-svg {
    margin-bottom: 30px;
}

.hotel-results > .disban-svg {
    display: none;
}

@media only screen and (max-width:1024px) {
    .hotel-results .hotel-result {
        display: block;
    }

    .hotel-results .hotel-result .hotel-gallery {
        display: block;
        width: 100%;
    }

    .hotel-results .hotel-result .hotel-info .price-info {
        top: auto!important;
        right: 5%!important;
        bottom: 20px!important;
    }
}

@media only screen and (max-width:768px) {
    .hotel-results .hotel-result .hotel-info .tph-details {
        width: auto;
    }

    .hotel-results .hotel-result .hotel-info {
        padding: 15px 15px 24px!important;
    }

    .hotel-results .hotel-result .hotel-info .hotel-description {
        display: none;
    }

    .hotel-results .hotel-result .hotel-info .price-info {
        position: absolute;
        right: 15px!important;
        bottom: 26px!important;
        float: right;
    }
}

@media (min-width:640px) {
    .hotelCard_gallery_slider_arrow:hover ellipse {
        opacity: 1;
    }

    .slider_arrow:hover {
        opacity: .5;
    }

    .activeTooltip:hover[data-tooltip]:after,
    .activeTooltip:hover[data-tooltip]:before {
        display: block;
    }

    .filters_item_block-close:hover path,
    .filters_mobile_top-close:hover path,
    .sorting_block-close:hover path {
        fill: black;
    }

    .filters_item_block-apply:hover {
        background: #252525;
    }

    .btnBlack:hover {
        background: #282828;
    }

    .btnDefault:hover {
        background: #ededed;
    }

    .filters_item_button:hover {
        background-color: #eee7e1;
    }

    .sorting-button:hover {
        background-color: #dde8f3;
    }

    .quick-links-item:hover {
        background: #f9e6d5;
    }

    .filters_item_block-clear:hover {
        color: white;
        background: black;
    }

    .hotelCard_content_info-map:hover {
        background: rgba(255, 255, 255, .5);
    }

    .filters_item label:hover,
    .sorting label:hover {
        background: rgba(255, 240, 230, .6);
    }

    .hotelModalMap-close:hover {
        background: rgba(255, 255, 255, .7);
    }

    a.hotelCard-title h3::after {
        max-width: calc(100% - 70px);
    }
}
/*
Theme Name: Touring Platform
Theme URI: https://touringplatform.com/
Description: Touring Platform Template Theme
Text Domain: touringplatform
Version: 1.20.15.2
Tested up to: 6.8
Requires PHP: 8.0
Author: Hillel Stoler
Author URI: https://hillelstoler.com/
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/