@font-face {
    font-family: Chenyuluoyan;
    src: url(fonts/ChenYuluoyan-Thin.ttf);
}
@font-face {
    font-family: "jf open 粉圓";
    src: url(fonts/jf-openhuninn-2.1.ttf);
}
@font-face {
    font-family: "SmileySans"; /* 得意黑  */
    src: url(fonts/SmileySans-Oblique.ttf);
}
@font-face {
    font-family: "PangMenZhengDaoBiaoTiTiMianFeiBa"; /* 庞门正道  */
    src: url(fonts/PangMenZhengDaoBiaoTiTiMianFeiBan-2.ttf);
}
@font-face {
    font-family: "jinkai";
    src: url(fonts/jinkai.ttf);
}
@font-face {
    font-family: "SourceHanSansOLD-Light"; 
    src: url(fonts/SourceHanSansOLD-Light-2.otf);
}
@font-face {
    font-family: "Arimo"; 
    src: url(fonts/Arimo-VariableFont_wght.ttf);
}

.font-chenyuluoyan {
    font-family: Chenyuluoyan; 
}
.font-openhuninn {
    font-family: "jf open 粉圓";
}
:root{
    /*--cnvs-themecolor: #28447b;
    --cnvs-themecolor-rgb: 40, 68, 123;*/
    --cnvs-themecolor: #2878ac;
    --cnvs-themecolor-rgb: 40,120,172;
    --cnvs-themecolor-2: #EBDAC5;
    --cnvs-themecolor-2-rgb: 235, 218, 197;
    --cnvs-primary-font: Georgia,"PingFang SC", "Helvetica Neue","jf open 粉圓", serif;
    --cnvs-body-font: "Arimo","PingFang SC", "Helvetica Neue", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --cnvs-secondary-font: var(--cnvs-primary-font);
    --cnvs-body-bg: #fff/*#faf7f2*/;
    --cnvs-slider-arrows-bg-color: transparent;
    --cnvs-slider-arrows-bg-hover-color: transparent;
    --cnvs-secondary-color: #2878ac;
    --cnvs-header-height: 70px;
}
.color-2,
.h-color-2:hover {
    color: var(--cnvs-themecolor-2) !important;
}
.bg-color-2,
.h-bg-color-2:hover {
    background-color: var(--cnvs-themecolor-2) !important;
}
.zoom-on-hover img{
    transition: transform 300ms ease-out;
    -moz-transition: -moz-transform 300ms ease-out;
    -o-transition: -o-transform 300ms ease-out;
    -webkit-transition: -webkit-transform 300ms ease-out;
}
.zoom-on-hover:hover img{
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}
.aspect-ratio-3-2{aspect-ratio: 300 / 200; object-fit: cover;}
.video-overlay, .video-placeholder{background: none;}
.button-3d-border::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 2px solid var(--cnvs-themecolor);
    z-index: 0;
    transform: translate(7px, 7px);
    transition: .2s ease;
}
.button-3d-border.bg-color-2::after {
    border-color: var(--cnvs-themecolor-2);
}
.button-3d-border:hover::after {
    transform: translate(0px, 0px);
}
.button-3d-border span {
    position: relative;
    z-index: 1;
}
.destination-section .owl-carousel .owl-item img,
.entry-image img{
    aspect-ratio: 384 / 288;
    width: 100%;
    height: auto;
    object-fit: cover;
}
.entry .wp-block-separator{border-top: 1px solid;}
@media (min-width: 1024px) {
    .scroll-detect img.all-ts{
        --cnvs-transitions: .3s linear; width: calc(30% + calc(1% * var(--cnvs-scroll-percent))); top: 120px;
    }
}
.ticker-wrap {
    --cnvs-ticker-duration: 100s;
    position: absolute;
    top: 50%;
    left: -100%;
    z-index: auto;
    width: 100%;
    overflow: hidden;
    padding-left: 100%;
    box-sizing: content-box;
    opacity: .05;
    transform: translateY(-50%);
}
.ticker-wrap .ticker-item {
    display: inline-block;
    font-size: 15rem;
    font-weight: 900;

}
:root,
.not-dark{
    --cnvs-primary-menu-submenu-bg: var(--cnvs-themecolor);
}
#header {
    --cnvs-primary-menu-font-size: 1rem;
    --cnvs-primary-menu-ls: 1px;
    --cnvs-primary-menu-tt: uppercase;
    --cnvs-primary-menu-font-weight: 400;
    /*--cnvs-header-height: 70px;*/
    --cnvs-primary-menu-submenu-bg: var(--cnvs-themecolor);
}
#header.dark {
    --cnvs-primary-menu-hover-color: #FFF;
}
#header-wrap #logo img{ width: auto;}
@media only screen and (max-width: 480px) {
    #header-wrap #logo img{ width: auto; max-height: 56px;}
}
.is-expanded-menu .sub-menu-container .menu-item > .menu-link{
    text-transform: capitalize;
    font-weight: 400;
}
.is-expanded-menu .mega-menu-small .mega-menu-content {
    left: 0;
    width: 50rem;
    transform: none;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
}
@media (min-width: 992px) {
    .sub-menu-container {
        border-top: 0;
        border-radius: 5px;
        border: 0;
    }

    .sub-menu-container::before {
        --cnvs-menu-arrow-size: 5px;
        content: "";
        position: absolute;
        top: calc(-1 * var(--cnvs-menu-arrow-size, 5px));
        left: 20px;
        width: 0;
        height: 0;
        border-left:var(--cnvs-menu-arrow-size, 5px) solid transparent;
        border-right:var(--cnvs-menu-arrow-size, 5px) solid transparent;
        border-bottom:var(--cnvs-menu-arrow-size, 5px) solid var(--cnvs-themecolor, #264653);
    }

    .sub-menu-container .menu-item > .menu-link {
        font-size: 1rem;
        font-weight: 400;
        color: #FFF !important;
    }

    .menu-container > .menu-item:hover { background-color: rgba(var(--cnvs-secondary-color-rgb), 0.1) }

    .menu-container > .menu-item:hover::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        width: 100%;
        height: 5px;
        background-color: var(--cnvs-secondary-color);
    }

    .sub-menu-container .menu-item:not(:last-child) {
        padding-top: 4px;
        padding-bottom: 4px;
        border-bottom: 1px solid rgba(233, 196, 106, 0.1);
    }

    .sub-menu-container .menu-item:last-child {
        padding-top: 4px;
    }

    .sub-menu-container .menu-item:hover > .menu-link {
        background-color: inherit;
        font-weight: 400;
    }
}



.error404{font-size: 12px;}
.single-post .entry-content {/*font-family:"PingFangSC-light";*/}
.single-post .entry-content, .single-post .entry-content :is(h1, h2, h3, h4, h5, h6){} 

.single-post .entry-content .wp-block-table{background-color: #FFF; box-shadow: var(--cnvs-box-shadow-sm);}
.single-post .entry-content .wp-block-table table{margin-bottom: 0;}
.single-post .entry-content .wp-block-table td{border-color: var(--cnvs-themecolor-2);}

/* Hero Slider on Front Page */
.hero-slider .slider-arrow-left,
.hero-slider .slider-arrow-right {
    display: flex;
    align-items: center;
    width: auto;
    height: auto;
    top: auto;
    right: auto;
    left: 70px;
    bottom: 5px;
    transform: translateY(0);
    color: var(--t-color);
    background-color: transparent !important;
}

.hero-slider .slider-arrow-left span,
.hero-slider .slider-arrow-right span {
    margin: 0 10px;
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: 1px;
}

.hero-slider .slider-arrow-left:hover,
.hero-slider .slider-arrow-right:hover {
    background-color: transparent !important;
}

.hero-slider .slider-arrow-right {
    left: 170px;
}

.hero-slider .slider-arrow-left i,
.hero-slider .slider-arrow-right i {
    position: relative;
    color: var(--t-color);
    text-shadow: none;
    font-size: 20px;
}
.slider-caption, .flex-caption,
.slider-caption h2, .slider-caption .h2{
    color: #FFF;
}
/* real-estate-properties on Front Page */
.real-estate-properties [class^=col-] {
    position: relative;
    margin-bottom: 30px;
}
.real-estate-properties [class^=col-] > a {
    display: block;
    position: relative;
    height: 250px;
    background-color: #EEE;
}
.real-estate-properties [class^=col-] img { display: block; }
.real-estate-properties [class^=col-] > a::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0,0,0,0.4);
    opacity: 0.4;
    -webkit-transition: opacity .3s ease;
    -o-transition: opacity .3s ease;
    transition: opacity .3s ease;
}
.real-estate-properties [class^=col-] > a:hover::before { opacity: 1; }

@media (min-width: 992px) {
.img-overlap img {
    width: calc(100% + 30%);
    max-width: none;
  }
  .order-reverse .img-overlap img{margin-left: -30%;}
  .img-overlap + div {
    border-radius: 0.3rem;
    padding: 60px;
  }
}

.hero-wine-img,
.hero-bg {
    position: relative;
    z-index: 1;
    height: 100%;
}
@media (min-width: 991px) {
    .hero-wine-img {
        max-width: 60%;
        position: absolute;
        top: 0;
        right:0;
        z-index: auto;
    }
    .hero-bg {
        max-width: 47%;
        z-index: 1;
        height: 90%;
    }
}
/* Destination Swipe On Page Itinerary */
.destination-section .swiper-slide {
    width: 33.3333%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: start;
    border-right: 1px solid rgba(var(--cnvs-contrast-rgb), .1);
    border-left: 0;
    padding: 40px;
}
.destination-section .swiper-slide:not(.d-none):hover {
    background-color: rgba(var(--cnvs-themecolor-rgb), .07);
}
.destination-section .swiper_wrapper {
    border-top: 1px solid rgba(var(--cnvs-contrast-rgb), .1);
    border-bottom: 1px solid rgba(var(--cnvs-contrast-rgb), .1);
}
.destination-section .slider-arrow-left,
.destination-section .slider-arrow-right {
    --cnvs-slider-arrows-size: 50px;
    --cnvs-slider-arrows-offset: 30px;
    left: var(--cnvs-slider-arrows-offset);
    transform: translateY(-50%);
    border: 2px solid var(--cnvs-themecolor);
    border-radius: 50%;
    line-height: 42px;
    text-align: center;
}
.destination-section .slider-arrow-left img,
.destination-section .slider-arrow-right img {
    width: 24px;
    height: 24px;
    text-align: center;
}
.destination-section .slider-arrow-left:hover,
.destination-section .slider-arrow-right:hover {
    --cnvs-slider-arrows-bg-hover-color: #FFF;
}
.destination-section .slider-arrow-right {
    left: auto;
    right: var(--cnvs-slider-arrows-offset);
}
.destination-section .swiper-button-disabled {
    display: none;
}

/* Page Itinerary */
.block-sticky-cards .content-wrap,
.block-sticky-cards .section { overflow: visible; }
.block-sticky-cards .sticky-section + .sticky-section {
    margin-top: 5vh;
}
@media (min-width: 992px) {
    .block-sticky-cards .sticky-section {
        --sticky-top-gap: 30px;
        position: -webkit-sticky;
        position: sticky;
        z-index: 2;
        top: calc(80px + var(--sticky-top-gap));
    }

    .block-sticky-cards .sticky-section + .sticky-section {
        margin-top: 20vh;
    }
}

/* Hotels Page */
.box-img {
    position: relative;
    box-shadow: 14px -14px 0 0 rgba(var(--cnvs-themecolor-rgb,253,92,99), 0.15);
}

.box-img.shadow-left {
    box-shadow: -14px -14px 0 0 rgba(var(--cnvs-themecolor-rgb,253,92,99), 0.15);
}


/* Contact Form */
.contact-form .form-control {
    --cnvs-input-btn-padding-x: 0;
    --cnvs-input-btn-padding-y: 0;
    --cnvs-input-btn-input-bg: transparent;
    --cnvs-input-focus-bg: transparent;
    --cnvs-input-btn-border-width: 0px;
    --cnvs-input-btn-border-color: var(--cnvs-contrast-1000);
    --cnvs-input-btn-input-color: var(--cnvs-contrast-1000);
    --cnvs-input-focus-color: var(--cnvs-input-btn-input-color);
    --cnvs-input-focus-box-shadow: none;
    --cnvs-form-control-radius: 0;
    --cnvs-input-btn-font-size: 2.75rem;
    border-bottom: 1px solid var(--cnvs-input-btn-border-color);
    font-weight: 300;
    min-height: 4.5rem;
    letter-spacing: -1px;
}
.contact-form .form-control::placeholder {
    opacity: .3;
}
.contact-form textarea {
    min-height: 4.5rem;
    transition: min-height .3s ease;
}
.contact-form textarea:focus,
.contact-form textarea:not(:placeholder-shown) {
    min-height: 12rem;
}
.contact-form .form-select {
    padding: 0.875rem 1rem;
    border-color: var(--cnvs-contrast-1000);
    border-radius: 0.875rem;
}
.contact-form .input-group-text{
    border: 0 none;
    border-bottom: 1px solid #000;
    border-radius: 0;
    background-color: transparent;
}

.swiper_wrapper:is(.xxxl\:min-h-\[398px\]){
    min-height: 398px;
}
.swiper_wrapper :is(.xxxl\:h-full) {
    height: 100%;
}
.swiper_wrapper :is(.xxxl\:max-h-\[398px\]) {
    max-height: 398px;
}
.swiper_wrapper :is(.xxxl\:w-auto){
    width: auto;
}
@media (min-width: 993px) and (max-width: 1280px) {
    .swiper_wrapper:is(.xxxl\:min-h-\[398px\]){
        min-height: 298px;
    }
    .swiper_wrapper :is(.xxxl\:max-h-\[398px\]) {
        max-height: 298px;
    }
}
@media (max-width: 768px) {
    .swiper_wrapper:is(.xxxl\:min-h-\[398px\]){
        min-height: 240px;
    }
    .swiper_wrapper :is(.xxxl\:max-h-\[398px\]) {
        max-height: 240;
    }
}
/*
.swiper_wrapper:is(.aspect-\[708\/398\]) {
    aspect-ratio: 708 / 398;
}
.swiper_wrapper :is(.w-full) {
    width: 100%;
}
@media (min-width: 1500px) {

}
@media (min-width: 992px){
    .swiper_wrapper:is(.lg\:w-\[49\.16dvw\]){
        height: auto;
        overflow: hidden;
      }
}
*/
/* Misc */
.floating-btn-wrap {
    --cnvs-floating-btn-size: 4rem;
    --cnvs-floating-btn-pos-right: var(--cnvs-floating-btn-size);
    --cnvs-floating-btn-pos-bottom: var(--cnvs-floating-btn-size);
    --cnvs-floating-btn-transition: .3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
    --cnvs-floating-btn-bg-color: var(--cnvs-themecolor);
    --cnvs-floating-btn-icon-color: #FFF;
    --cnvs-floating-btn-bg-active-color: var(--bs-dark);
    --cnvs-floating-btn-box-width: 25rem;
    --cnvs-floating-btn-box-padding: 2rem;
    --cnvs-floating-btn-box-radius: .3rem;
    --cnvs-floating-btn-box-bg: #FFF;
    --cnvs-floating-btn-box-shadow: 0px 0px 13px 3px rgba(0,0,0,0.07);
    position: fixed;
    right: 3rem /*var(--cnvs-floating-btn-pos-right)*/;
    bottom: var(--cnvs-floating-btn-pos-bottom);
    z-index: 199;
}
.floating-btn-wrap .floating-btn {
    position: absolute;
    left: 0;
    top: 0;
    width: var(--cnvs-floating-btn-size);
    height: var(--cnvs-floating-btn-size);
    border-radius: var(--cnvs-floating-btn-size);
    color: var(--cnvs-floating-btn-icon-color);
    cursor: pointer;
    z-index: 3;
    transform: translate(-50%, -50%);
    transition: transform .3s ease;
}
.floating-btn-wrap .floating-btn:hover,
.floating-btn-open .floating-btn-wrap .floating-btn {
    transform: translate(-50%, -50%) scale(1.1);
    /*background-color: var(--cnvs-floating-btn-bg-active-color);*/
}
.floating-btn-wrap .floating-btn .floating-btn-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    font-size: calc(var(--cnvs-floating-btn-size) * .5);
    -webkit-transition: var(--cnvs-floating-btn-transition);
    transition: var(--cnvs-floating-btn-transition);
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-backface-visibility: hidden;
}
.floating-btn-wrap .floating-btn .floating-btn-icon.btn-active,
.floating-btn-open .floating-btn-wrap .floating-btn .floating-btn-icon {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.floating-btn-open .floating-btn-wrap .floating-btn .floating-btn-icon.btn-active {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
}

.stretched #gotoTop,#gotoTop {
    --cnvs-gotoTop-stroke-color: var(--cnvs-themecolor);
    --cnvs-gotoTop-stroke-width: 4px;
    --cnvs-gotoTop-scroll: 260;
    background-color: transparent; !important;
    bottom: 6rem;
}
#gotoTop::before {
    /* font-icons.css */
    content: "\F286";
    font-family: 'bootstrap-icons';

    position: absolute;
    left: 50%;
    top: 50%;
    width: calc(32px + calc(var(--cnvs-gotoTop-stroke-width) * .5));
    height: calc(32px + calc(var(--cnvs-gotoTop-stroke-width) * .5));
    line-height: calc(32px - 1px);
    font-size: 1rem;
    color: #b99055;
    transform: translate(-50%, -50%);
    border: 2px solid rgba(185,144,85,0.5);
    border-radius: 50%;
    z-index: -1;
    background-color: #FFF;
    box-shadow: rgba(0, 0, 0, 0.15) 0px 4px 8px 0px;
}
#gotoTop circle {
    stroke: var(--cnvs-gotoTop-stroke-color);
    stroke-width: var(--cnvs-gotoTop-stroke-width);
    transform: rotate(-90deg);
    transform-origin: center;
    stroke-dashoffset: var(--cnvs-gotoTop-scroll);
    stroke-dasharray: 255 255;
    z-index: 1;
}


/* book-wraps */
.book-image {
    display: block;
    position: relative;
}

.book-image img {
    width: 100%;
    max-width: 100%;
    display: block;
}

.book-image::after {
    content: " ";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.3));
    transition: opacity .3s ease;
    opacity: 0;
}

.book-card {
    position: relative;
    will-change: transform;
    transition: box-shadow .3s ease;
    box-shadow: 0 10px 40px transparent;
}

.book-card.hover-in {
    transition: -webkit-transform .2s ease-out;
    transition: transform .2s ease-out;
    transition: transform .2s ease-out, -webkit-transform .2s ease-out;
}

.book-card.hover-out {
    transition: -webkit-transform .2s ease-in;
    transition: transform .2s ease-in;
    transition: transform .2s ease-in, -webkit-transform .2s ease-in;
}

.book-wrap:hover .book-card { box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4); }

.book-wrap:hover .book-image::after { opacity: 1; }

.book-wrap:hover .book-title,
.book-wrap:hover .book-category,
/* .book-wrap:hover .book-border, */
.book-wrap:hover .button {
    -webkit-transform: translateY(0) scale(1);
    -ms-transform: translateY(0) scale(1);
    transform: translateY(0) scale(1);
    opacity: 1;
}

.book-wrap { -moz-transform-style: flat !important; }

.book-detail {
    position: absolute;
    left: 40px;
    right: 40px;
    top: 40px;
    bottom: 40px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    pointer-events: none;
    -webkit-transform: translateZ(40px);
    transform: translateZ(40px);
}

.book-title {
    margin: 0 0 10px;
    font-size: 24px;
    font-weight: 700;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
    transition: .4s ease;
    opacity: 0;
    -webkit-transform: translateY(40px) scale(0);
    -ms-transform: translateY(40px) scale(0);
    transform: translateY(40px) scale(0);
    will-change: transform;
}

.book-title a { color: white; }

.book-category {
    opacity: 0;
    margin: 0 0 18px;
    font-family: var(--cnvs-body-font);
    transition: .4s ease;
    transition-delay: .1s;
    -webkit-transform: translateY(40px) scale(0);
    -ms-transform: translateY(40px) scale(0);
    transform: translateY(40px) scale(0);
    will-change: transform;
}

.book-category a {
  color: rgba(255, 255, 255, 0.8);
  font-size: 1.3em;
}

.book-wrap .button {
    opacity: 0;
    margin: 0 auto;
    transition: .4s ease !important;
    transition-delay: .15s !important;
    -webkit-transform: translateY(40px) scale(0);
    -ms-transform: translateY(40px) scale(0);
    transform: translateY(40px) scale(0);
    will-change: transform;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}
