@font-face {
    font-family: "El Messiri";
    src: url("../fonts/El_Messiri/ElMessiri-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Hero */
.page-header__inner>i:nth-child(1), .contact__bg>i:nth-child(1){
    background-image: url(../img/header-left.png);
    opacity: 0.8 !important;
}
.page-header__inner>i:nth-child(2), .contact__bg>i:nth-child(2){
    background-image: url(../img/header-right.png);
    opacity: 0.8 !important;
}


body, html {
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}

img, .container {
    max-width: 100%;
    overflow: hidden;
}

@media (max-width: 768px) {
    body, html {
        overflow-x: hidden;
    }

    img, .container {
        max-width: 100%;
    }

    /* Safari-specific fix */
    ::-webkit-scrollbar {
        display: none; /* Hide scrollbar (optional) */
    }
}

h1, h2, a, .page-header__content div, .page-header__date, .page-header__content{
    transition: all 0.25s ease-in-out;
}

@media (max-height: 760px){
    .page-header__content{
        min-height: 520px;
    }
}

@media (min-width: 768px) {
    .page-header__content{
        min-height: 760px;
    }
}

@media (min-width: 992px) {
    .page-header__content{
        min-height: 90vh;
    }

    .page-header__bg-img{
        object-position: 50% 20%;
    }

    .page-header__content {
        padding-bottom: 130px;
    }
}

@media (min-width: 1200px) {
    .page-header__content{
        padding-bottom: 140px;
    }
}

@media (min-width: 1400px) {
    .page-header__content{
        min-height: 100vh;
    }

    .page-header__content {
        padding-bottom: 8vw !important;
    }
}

@media (min-width: 1800px) {
    .page-header__content{
        min-height: 100vh;
    }

    /*.page-header__content {*/
    /*    padding-bottom: 8vw !important;*/
    /*}*/
}

@media (min-width: 2200px) {
    /*.page-header__content {*/
    /*    padding-bottom: 180px;*/
    /*}*/
}

@media (min-width: 2800px) {
    /*.page-header__content {*/
    /*    padding-bottom: 220px;*/
    /*}*/
}


@media (max-height: 900px) and (min-width: 1200px) {
    .page-header__content{
        min-height: 900px;
    }
}

/* Vector graphics */

.our-story{
    overflow:visible;
}

body{
    overflow-x: hidden;
}

footer{
    overflow: hidden;
}

.our-story{
    margin-bottom: 0px;
}

.our-story__text{
    padding: 0 20px;
}

@media (min-width: 768px){
    .our-story__text{
        padding: 0;
    }
}

@media (min-width: 1200px) {

    .our-story{
        margin-bottom: 60px;
    }

    .our-story__vector {
        height: 105%;
        top: -20px;
    }
}

@media (max-width: 768px){
    .our-story__content .subtitle{
        padding-top: 20px;
    }

    .our-story__text{
        max-width: 490px !important;
        margin: auto;
    }
}

/* Photo Gallery */

.pin-spacer:nth-child(2) .sec-img__photo img{
    object-position: center center;
}

/* Form */

textarea.form-control{
    max-height: 128px;
}

/* Footer */

.contact__logo{
    margin: 0px auto 14px;
}

.contact__cop{
    padding-right: 6px;
    font-size: 11px;
}

.hotel-card {
    background-color: #F5F1F0;
}

@media (max-width: 991px) {
    .contact__cop{
        font-size: 10px;
        padding-right: 10px;
    }
}

@media (min-width: 1200px){
    .contact__logo{
        width: 100px;
        height: 52px;
    }
}

/* Anchor autoscroll fix */
.anchor-div{
    position: relative;
    bottom: -120px;
}


.btn:disabled {
    background-color: #BCC0B1 !important;
    cursor: not-allowed;
    pointer-events: none;
}

/* Footer Decal */

@media (max-width: 768.9px) {
    .contact__bg i{
        display: none;
    }
}


/* FAQ */
.faq__inner h2.title{
    padding-bottom: 10px;
}

.faq__vector-1, .faq__vector-2, .faq__vector-3, .faq__vector-4{
    transition: all 1.25s ease-in-out;
}

.faq__vector-1, .faq__vector-3 {
    left: 0px;
}

.faq__vector-2, .faq__vector-4{
    right: 0px;
}

@media (max-width: 1300px){
    .faq__vector-1, .faq__vector-3{
        left: -100px;
    }

    .faq__vector-2, .faq__vector-4{
        right: -100px;
    }
}

@media (max-width: 1000px){
    .faq__vector-1, .faq__vector-3{
        left: -200px;
    }

    .faq__vector-2, .faq__vector-4{
        right: -200px;
    }
}

@media (max-width: 991px){
    .faq__vector-1{
        left: -70px;
    }

    .faq__vector-3{
        left: 0px;
    }

    .faq__vector-2{
        right: -70px;
    }

    .faq__vector-4{
        right: 0px;
    }

}

@media (max-width: 768px){
     .faq__vector-3{
        left: 0px;
    }

    .faq__vector-4{
        right: 0px;
    }
}

@media (max-width: 576px){
    .faq__vector-1{
        left: -30px;
    }

    .faq__vector-2{
        right: -30px;
    }
}

@media (max-width: 390px){
    .faq__vector-1{
        left: -48px;
    }

    .faq__vector-2{
        right: -48px;
    }
}

@media (max-width: 335px){
    .faq__vector-1, .faq__vector-3{
        left: 0px;
    }

    .faq__vector-2, .faq__vector-4{
        right: 0px;
    }
}

/*@media (min-width: 991px) {*/
/*    .faq__vector-1{*/
/*        background-image: url(../img/faq/left-top-desktop.png);*/
/*    }*/

/*    .faq__vector-2{*/
/*        background-image: url(../img/faq/right-top-desktop.png);*/
/*    }*/

/*    .faq__vector-3{*/
/*        background-image: url(../img/faq/left-bottom-desktop.png);*/
/*    }*/

/*    .faq__vector-4{*/
/*        background-image: url(../img/faq/right-bottom-desktop.png);*/
/*    }*/
/*}*/

@media (max-width: 407.9px){
    .page-header__date{
        font-size: 14px;
        gap: 8px;
    }

    .page-header__date i{
        width: 30px;
    }
}

@media (max-width: 360.9px){
    .page-header__date{
        font-size: 12px;
    }
}


.sec-img__photo.js-panel{
    /*transition: all 0.125s ease-out;*/
}


form label {
    width: 100%;
}

/* Center the entire password form */
form[action*="postpass"] {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 400px;
    width: 90%;
    padding: 2rem;
    background-color: #ffffff;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* Style the inputs */
form[action*="postpass"] input[type="password"],
form[action*="postpass"] input[type="submit"] {
    width: 100%;
    padding: 0.75rem;
    margin-top: 1rem;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1rem;
}

/* Style the label */
form[action*="postpass"] label {
    font-weight: bold;
    font-size: 1rem;
}

body {
    padding: 0px !important;
    padding-right: 0px !important;
}

/* RSVP Module */
.rsvp-survey,  #widget-oursvp, #rsvp-widget form.rsvp-form {
    padding: 0px !important;
}

#widget-oursvp .shadow, #widget-oursvp .shadow,  #widget-oursvp .shadow-all{
    box-shadow: none !important;
    border: 0px !important;
}

#rsvp-widget #widget-oursvp h3.rsvp-title, #rsvp-widget #widget-oursvp h4.rsvp-title{
    color: #5A7E61;
    text-align: center;
    font-family: "El Messiri", sans-serif;
    font-size: 24px;
    font-style: normal;
    font-weight: 600;
    line-height: 140%;
    letter-spacing: 1.32px;
    text-transform: uppercase;
    margin-bottom: 8px;
}

@media (min-width: 1200px) {
    #rsvp-widget #widget-oursvp h3.rsvp-title,  #rsvp-widget #widget-oursvp h4.rsvp-title {
        font-size: 28px;
    }
}

#widget-oursvp .text-sm{
    font-size: 16px !important;
    line-height: 1.5rem;
}

#widget-oursvp .pb-1{
    padding: 0px !important;
}

#rsvp-widget label{
    margin: 0px !important;
}

#rsvp-widget .my-2.pt-4{
    padding-top: 0px !important;
}

#rsvp-widget input[type="text"]{
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
}


.rsvp-date, #popup-update .popup-block__title, #popup-update .popup-block__text {
    display: none;
}

#rsvp-widget p, #rsvp-widget label, #rsvp-widget span, #rsvp-widget {
    color: #51525c !important;
}

#widget-oursvp .text-red-400{
    color: #a3252b !important;
}

.s-about-popup-block .popup-block__overlay {
    background: linear-gradient(0deg, rgba(81, 82, 92, 0.6) 0%, rgba(81, 82, 92, 0.6) 100%), rgba(245, 241, 240, 0.6);
}

#rsvp-widget button.text-sm {
    border-radius: 0px 8px !important;
    border: 0px !important;
    background-color: #B68F3F !important;
    color: #FFFFFF !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    padding-top: 0.8rem !important;
    padding-bottom: 0.8rem !important;
}

#rsvp-widget #widget-oursvp button.text-sm{
    font-size: 15px !important;
}

#rsvp-widget button:hover:not(:disabled){
    background-color: #bcc0b1 !important;
    color: #2f2f2f !important;
}

#rsvp-widget button:disabled{
    opacity: 0.4 !important;
}

.hidden{
    display: none;
}


/* Swiper Adjustments */

@media (min-width: 1663px) {
    .home .s-about .swiper-wrapper{
        justify-content: center;
    }

    .home .s-about  .s-about__nav{
        display: none;
    }
}


/* Home Vector */
.welc__vector{
    background-image: url(../img/welc/bg-2.svg);
}

@media (min-width: 1900px){
    .welc__vector{
        background-image:
                linear-gradient(to bottom, rgba(255,255,255,0) 0%, #ffffff 80% , #ffffff 100%),
                url(../img/welc/bg-2.svg);
    }
}

@media (min-width: 768px){
    .welc__vector {
        width: 2464px;
    }
}


@media (min-width: 992px) {
    .welc__vector {
        width: 2530px;
    }
}


@media (min-width: 1200px) {
    .welc__vector {
        width: 3460px;
    }
}


/* Swiper */
.swiper a{
    text-decoration: none;
}


.p-header__inner:after{
    max-height: 960px;
    transition: all 0.2s ease-in-out;
}

@media (min-width: 1400px) {
    .p-header__inner:after {
        width: 1820px;
        top: -260px;
    }

}

@media (min-width: 1470px) {
    .p-header__inner:after {
        top: -350px;
    }
}


@media (min-width: 1500px) {
    .p-header__inner:after {
        width: 2200px;
    }
}

@media (min-width: 1700px) {
    .p-header__inner:after {
        width: 2597px;
    }
}

.info-cols__row{
    max-width: 1500px;
    margin: auto;
}

.transport__box{
    max-width: 900px;
}

.b-stay__section, .page-faq__items{
    max-width: 1100px;
    margin: auto;
}

@media (min-width: 1200px) {
    .p-header__content {
        max-width: 580px;
    }
}

body{
    background-color: #fff;
}

.s-about{
    background: none;
}

.page-header:after{
    background-image: url(../img/header-vector-white.svg);
}

@media (min-width: 768px) {
    .page-header:after {
        background-image: url(../img/header-vector768-white.svg);
    }
}

@media (min-width: 992px) {
    .page-header:after {
        background-image: url(../img/header-vector992-white.svg);
    }
}

@media (min-width: 1200px) {
    .page-header:after {
        background-image: url(../img/header-vector1200-white.svg);
    }
}

.page-nav__menu .menu-item a:hover{
    text-decoration: none !important;
}

.page-nav__menu li.menu-item a:hover:after{
    display: none;
}

.page-nav__menu li.menu-item:hover{
    border-bottom: 1px solid #fff;
    margin-bottom: -1px;
    cursor: pointer;
}

.page-nav__menu .menu-item.active{
    border-bottom: 1px solid #fff;
    margin-bottom: -1px;
}

body.scrolled .page-nav__menu li.menu-item:hover{
    border-bottom: 1px solid #b68f3f;
    margin-bottom: -1px;
}

body.scrolled .page-nav__menu .menu-item.active{
    border-bottom: 1px solid #2f2f2f;
    margin-bottom: -1px;
}

.p-header__bg.p-header__bg_video:after{
    background: linear-gradient(3deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.8) 100%);
}

.p-header__inner{
    position: relative;
    -webkit-clip-path: ellipse(120% 100% at 50% 100%);
    clip-path: ellipse(120% 100% at 50% 100%);
    top: -110px;
    z-index: 3;
    background: #fff;
}

/* STAY, ACTIVITES */
.page-id-581 .p-header__bg_video video, .page-id-581 .p-header__bg_video .plyr,
.page-id-808 .p-header__bg_video video, .page-id-808 .p-header__bg_video .plyr{
    object-position: 100% 90%;
}


/* TRAVEL */
.page-id-804 .p-header__bg_video video, .page-id-804 .p-header__bg_video .plyr{
    object-position: 100% 61%;
}


body {
    position: relative;
    overflow: hidden;
}

.bg-lines{
    display: none;
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
    left: 50%;
    transform: translate(-50%, 0);
}

/* Left background SVG */
.bg-lines::before {
    content: "";
    position: absolute;
    top: 0%;
    left: -100vw;
    width: 800px; /* adjust as needed */
    height: 100%;
    background-image: url('../img/body/bg_Illo_left.svg');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: 0px 39%;
    z-index: -1;
    pointer-events: none;
    opacity: 0.5;
    transition: left ease-in-out 0.2s;
}

.page-id-808 .bg-lines::before{
    background-image: url('../img/body/bg_Illo_left.svg'), url('../img/body/bg_Illo_left.svg');
    background-repeat: no-repeat, no-repeat;
    background-size: contain, contain;
    background-position: 0px 28%, 0px 90%;
}

.page-id-524 .bg-lines::before{
    background-image: url('../img/body/bg_Illo_left.svg'), url('../img/body/bg_Illo_left.svg');
    background-repeat: no-repeat, no-repeat;
    background-size: contain, contain;
    background-position: 0px 38%, 0px 90%;
}

.page-id-811 .bg-lines::before{
    background-image: url('../img/body/bg_Illo_left.svg');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: 0px 64%;
}

/* Right background SVG */
.bg-lines::after {
    content: "";
    position: absolute;
    top: 0%;
    right: -100vw;
    width: 800px; /* adjust as needed */
    height: 100%;
    background: url('../img/body/bg_Illo_right.svg') no-repeat left 81%;
    background-size: contain;
    z-index: -1;
    pointer-events: none;
    opacity: 0.5;
    transition: right ease-in-out 0.2s;
}

.page-id-524 .bg-lines::after, .page-id-808 .bg-lines::after{
    background: url('../img/body/bg_Illo_right.svg') no-repeat left 60%;
}

.page-id-811 .bg-lines::after{
    background: url('../img/body/bg_Illo_right.svg') no-repeat left 107%;
}

@media (min-width: 768px) {
    .bg-lines{
        max-width: 636px;
        display: block;
    }

    .bg-lines::before {
        left: -96vw;
    }

    .bg-lines::after {
        right: -96vw;
    }
}

body.home .bg-lines{
    display: none !important;
}

@media (min-width: 992px) {
    .bg-lines{
        max-width: 848px;
    }

    .bg-lines::before {
        left: -80vw;
    }

    .bg-lines::after {
        right: -80vw;
    }
}

@media (min-width: 1200px) {
    .bg-lines::before {
        left: -67vw;
    }

    .bg-lines::after {
        right: -67vw;
    }
}

@media (min-width: 1400px) {
    .bg-lines{
        max-width: 1194px;
    }

    .bg-lines::before {
        left: -56vw;
    }

    .bg-lines::after {
        right: -56vw;
    }
}

@media (min-width: 1600px) {
    .bg-lines::before {
        left: -50vw;
    }

    .bg-lines::after {
        right: -50vw;
    }
}

@media (min-width: 1900px) {
    .bg-lines::before {
        left: -43vw;
    }

    .bg-lines::after {
        right: -43vw;
    }
}

@media (min-width: 2500px) {
    .bg-lines::before {
        left: -33vw;
    }

    .bg-lines::after {
        right: -33vw;
    }
}

@media (min-width: 2800px) {
    .bg-lines::before {
        left: -29vw;
    }

    .bg-lines::after {
        right: -29vw;
    }
}

@media (min-width: 3500px) {
    .bg-lines::before {
        left: -24vw;
    }

    .bg-lines::after {
        right: -24vw;
    }
}

.btn_gold-outline:hover {
    background-color: #bcc0b1;
    border: 1px solid #bcc0b1;
}

.wp-block-preformatted{
    display: none;
}

body.scrolled .page-nav{
    background: linear-gradient(0deg, rgba(221, 202, 163, 0.15) 0%, rgba(221, 202, 163, 0.35) 100%), rgba(255, 255, 255, .8);
}

.bottom-curve{
    overflow: hidden;
    margin-bottom: 142px;
    margin-top: -120px;
}

.bottom-curve .sec-img__photo{
    position: relative;
}

.curve-overlay{
    -webkit-clip-path: ellipse(140% 100% at 50% 100%);
    clip-path: ellipse(140% 100% at 50% 100%);
    /* top: -110px; */
    z-index: 3;
    background: #fff;
    bottom: -90%;
    height: 100%;
    width: 100%;
    position: absolute;
}

@media (max-width: 991px) {
    .bottom-curve{
        margin-bottom: 128px;
    }
}

@media (max-width: 768px) {
    .curve-overlay {
        -webkit-clip-path: ellipse(160% 100% at 50% 100%);
        clip-path: ellipse(160% 100% at 50% 100%);
    }
}


.page-id-524 #p-header-video {
    height: 170%;
}

@media (min-width: 1700px) {
    .page-id-524 #p-header-video {
        height: 210%;
    }
}


@media (max-width: 1200px) {
    .info-cols__row {
        gap: 88px 0;
    }
}

.rsvp-note{
    color: #fff;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    max-width: 210px;
    margin: 24px auto 0px;
}

#widget-oursvp #back-btn{
    top: -1.8rem;
    left: 0.5rem;
}

#widget-oursvp #back-btn:hover{
    background: none !important;
}

form input{
    border-radius: 8px !important;
}

@media (max-width: 1200px) {
    .page-nav__menu{
        gap: 48px;
    }
}

@media (max-width: 991px) {
    .page-nav__menu{
        gap: 32px;
    }

    .page-nav .col-auto:first-child{
        margin-right: -40px;
    }
}

@media (max-width: 832px) {
    .page-nav__menu{
        gap: 26px;
    }

    .lng{
        margin-left: -12px;
    }

    .page-nav__menu .d-none.d-md-block{
        margin-left: -8px;
    }
}

.form__btn input {
    border-radius: 0px 8px !important;
}

.sec-img.bottom-curve{
    height: initial;
    display: block;
}

.sec-img.bottom-curve img{
    position: relative;
}

.sec-img.bottom-curve .sec-img__photo{
    min-height: initial;
}

@media (max-width: 767.98px) {
    .hotel-section{
        height: initial !important;
    }

    .page-id-804 iframe.map{
        height: 300px !important;
    }

    .sec-img.bottom-curve img{
        min-height: 82vw;
    }

    .wpcf7-response-output{
        text-align: center !important;
    }

    .p-header__text{
        max-width: 324px;
        margin: auto;
    }

    .sec-img.bottom-curve{
        margin-top: 0px;
    }

    .p-header__inner{
        padding: 160px 0 124px;
        margin-bottom: -110px;
    }

    .page-id-524 #p-header-video{
        height: 100% !important;
    }

}


@media (max-width: 400px) {
    .welc__buttons .row_gap24 .col-6{
        padding-right: 4px;
        padding-left: 4px;
    }

    .welc__buttons .btn_gold-outline{
        padding: 8px 2px;
    }

    .mob-nav__inner{
        padding: 100px 0;
    }
}

#mob-nav{
    height: 100%;
}

.mob-nav__inner{
    overflow-y: auto;
    height: 100%;
}


@media (min-width: 1200px) {
    .page-header__title {
        letter-spacing: 5px;
    }
}


@media (min-width: 992px) and (max-width: 1400px) {
    .events__items {
        max-width: 900px;
    }
}


@media (max-width: 550px) {
    .mob-nav__inner{
        padding: 74px 0;
    }

    .mob-nav__menu{
        gap: 26px;
    }

    .mob-nav__menu li.menu-item a{
        font-size: 32px;
        line-height: 52px;
    }
}

.page-nav__menu .lng{
    display: none;
}