/* @import url(../fonts/Hanken_Grotesk/stylesheet.css); */
@import url(https://use.typekit.net/aho2nho.css);

:root{
    --breakpoint-mobile: 768px;
    --breakpoint-tablet: 1024px;
    --breakpoint-desktop: 1440px;

    --my-font-1: "Hanken Grotesk";
    --my-font-2: "bodoni-urw", serif;

    --my-font-size-xs: 16px;
    --my-font-size-lg: 18px;

    /* --my-color-white: #FFF;
    --my-color-primary: #BEA487;
    --my-color-text: #4D5D6A;
    --my-color-battleship-grey: #857F74; */

    --my-color-white : #F7F6F4;
    --my-color-black : #000;
    --my-color-black-video : #010101;
    --my-color-text: #4E4D4C;
    --my-color-primary : #4E4D4C;
    --my-color-primary-2 : #676767;
    --my-color-tenue : #B5B5AB;
    --my-color-light-grey : #EBEBEB;
    --my-color-white-bg : #F7F7F3;
    --my-color-dark-white : #F7F6F4;


    --my-bs-gutter-x: 20px;
    --my-el-gutter-x: 20px;

    /* --gap: 20px;
    --padding-block-start: 20px;
    --padding-block-end: 20px;
    --padding-inline-start: 20px;
    --padding-inline-end: 20px; */
}

.font-1 { font-family: var(--my-font-1); }
.font-2 { font-family: var(--my-font-2) !important; }


html.lenis, html.lenis body {
    height: auto;
}
.lenis.lenis-smooth {
    scroll-behavior: auto !important;
}
.lenis.lenis-smooth [data-lenis-prevent] {
overscroll-behavior: contain;
}
.lenis.lenis-stopped {
    overflow: hidden;
}
.lenis.lenis-scrolling iframe {
    pointer-events: none;
}

/* Helpers  */
.w-auto { width: auto !important; min-width: auto !important; }
.position-relative { position: relative !important; }


/* Grid  */
.container,
.container-fluid {
    margin: auto;
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    width: 100% !important;
    gap: 0 !important;
}
.container > .e-child,
.container-fluid > .e-child{
    gap: 0 !important;
}
@media screen and (min-width: 1600px) {
    .container {
        max-width: 1536px !important;
    }
}
.row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    margin-left: -10px !important;
    margin-right: -10px !important;
    gap: 0 !important;
    width: calc(100% + 20px) !important;
}
.col {
    padding-left: 10px !important;
    padding-right: 10px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    gap: 0 !important;
}
.row.no-gutter {
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.row.no-gutter .col {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

@media screen and (max-width: 767px) {
    .col-1 { width: 8.33%; }
    .col-2 { width: 16.66%; }
    .col-3 { width: 25%; }
    .col-4 { width: 33.33%; }
    .col-5 { width: 41.66%; }
    .col-6 { width: 50%; }
    .col-7 { width: 58.33%; }
    .col-8 { width: 66.66%; }
    .col-9 { width: 75%; }
    .col-10 { width: 83.33%; }
    .col-11 { width: 91.66%; }
    .col-12 { width: 100%; }
}
@media screen and (min-width: 768px) {
    .col-md-1 { width: 8.33%; }
    .col-md-2 { width: 16.66%; }
    .col-md-3 { width: 25%; }
    .col-md-4 { width: 33.33%; }
    .col-md-5 { width: 41.66%; }
    .col-md-6 { width: 50%; }
    .col-md-7 { width: 58.33%; }
    .col-md-8 { width: 66.66%; }
    .col-md-9 { width: 75%; }
    .col-md-10 { width: 83.33%; }
    .col-md-11 { width: 91.66%; }
    .col-md-12 { width: 100%; }
}
@media screen and (min-width: 1024px) {
    .col-lg-1 { width: 8.33%; }
    .col-lg-2 { width: 16.66%; }
    .col-lg-3 { width: 25%; }
    .col-lg-4 { width: 33.33%; }
    .col-lg-5 { width: 41.66%; }
    .col-lg-6 { width: 50%; }
    .col-lg-7 { width: 58.33%; }
    .col-lg-8 { width: 66.66%; }
    .col-lg-9 { width: 75%; }
    .col-lg-10 { width: 83.33%; }
    .col-lg-11 { width: 91.66%; }
    .col-lg-12 { width: 100%; }
}
/* ./Grid */


/**
* Body
**/
body{
    font-family: var(--my-font-1);
    font-size: var(--my-font-size-lg);
    font-weight: 300;
    line-height: 160%;
    color: var(--my-color-darkblue);
    /* background-color: #F2EFEA; */
}
main{
    overflow: hidden;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--my-font-2);
    font-weight: 300;
}

/*h1, h2, h3 { line-height: 125% !important; }*/

p {
    text-wrap: balance;
}

b, strong { font-weight: 700; }

.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-heading h2.elementor-heading-title,
.elementor-widget-heading h3.elementor-heading-title,
.elementor-widget-heading h4.elementor-heading-title,
.elementor-widget-heading h5.elementor-heading-title,
.elementor-widget-heading h6.elementor-heading-title { font-family: var(--my-font-2) !important; /*font-size: 36px;*/ font-weight: 300; /*line-height: 110%; color: var(--my-color-primary);*/ }


/* Elementor */
.page-header{
    display: none !important;
}

/*
* Elementor With GSAP
*/
.e-con,
.elementor-element{
    transition: none; 
    scroll-behavior: auto;
}


/*
* Elementor
*/
[data-elementor-type="single-post"]{
    overflow-x: hidden;
}


/* New Elementor Buttons */
.e-button-base {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px 14px 20px;
    /*font-family: var(--my-font-1);*/
    font-size: 16px;
    font-weight: 300;
    line-height: 100%;
    color: var(--e-global-color-primary);
    border: solid 1px var(--e-global-color-primary);
    background-color: transparent;
    -webkit-border-radius: 60px;
    -moz-border-radius: 60px;
    border-radius: 60px;
    overflow: hidden;
    z-index: 1;
}
.e-button-base::before {
    content: "";
    position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    /*display: block; width: 100%; height: 100%;*/
    background-color: var(--e-global-color-primary);

    -webkit-transform: translateX(-100%) !important;
    -moz-transform: translateX(-100%) !important;
    transform: translateX(-100%) !important;
    
    -webkit-transition: all .35s ease-in-out;
    -moz-transition: all .35s ease-in-out;
    transition: all .35s ease-in-out;

    z-index: -1;
}
.e-button-base::after {
    content: "";
    width: 35px;
    height: 22px;
    order: 11;
    margin-left: 10px;
    background-color: var(--e-global-color-primary);
    
    -webkit-mask-image: url(../images/icons/arrow-next.svg);
    mask-image: url(../images/icons/arrow-next.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100%;
    mask-size: 100%;
    -webkit-mask-position: center;
    mask-position: center;

    -webkit-transform: translateX(0) !important;
    -moz-transform: translateX(0) !important;
    transform: translateX(0) !important;
    
    -webkit-transition: all .35s ease-in-out;
    -moz-transition: all .35s ease-in-out;
    transition: all .35s ease-in-out;
}
.e-button-base:hover {
    color: var(--my-color-white);
}
.e-button-base:hover::before {
    -webkit-transform: translateX(0) !important;
    -moz-transform: translateX(0) !important;
    transform: translateX(0) !important;
}
.e-button-base:hover::after {
    background-color: var(--my-color-white);
    -webkit-transform: translateX(5px) !important;
    -moz-transform: translateX(5px) !important;
    transform: translateX(5px) !important;
}


.e-button-base.btn-primary {
    color: var(--my-color-white);
    border: solid 1px var(--e-global-color-primary);
}
.e-button-base.btn-primary::before {
    content: "";
    position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    display: block; width: 100%; height: 100%;
    background-color: var(--e-global-color-primary);

    -webkit-transform: translateX(0) !important;
    -moz-transform: translateX(0) !important;
    transform: translateX(0) !important;
    
    -webkit-transition: all .35s ease-in-out;
    -moz-transition: all .35s ease-in-out;
    transition: all .35s ease-in-out;
}
.e-button-base.btn-primary::after {
    background-color: var(--my-color-white);
}
.e-button-base.btn-primary:hover {
    color: var(--e-global-color-primary);
    border: solid 1px var(--e-global-color-primary);
}
.e-button-base.btn-primary:hover::after {
    background-color: var(--e-global-color-primary);
}
.e-button-base.btn-primary:hover::before {
    background-color: var(--e-global-color-primary);

    -webkit-transform: translateX(-100%) !important;
    -moz-transform: translateX(-100%) !important;
    transform: translateX(-100%) !important;
}


.e-button-base.btn-white {
    color: var(--e-global-color-primary);
    border: solid 1px var(--my-color-white);
}
.e-button-base.btn-white::after {
    background-color: var(--e-global-color-primary);
}
.e-button-base.btn-white::before {
    background-color: var(--my-color-white);

    -webkit-transform: translateX(0) !important;
    -moz-transform: translateX(0) !important;
    transform: translateX(0) !important;
}
.e-button-base.btn-white:hover {
    color: var(--my-color-white);
    border: solid 1px var(--my-color-white);
}
.e-button-base.btn-white:hover::after {
    color: var(--e-global-color-text);
}
.e-button-base.btn-white:hover::before {
    background-color: var(--e-global-color-primary);

    -webkit-transform: translateX(-100%) !important;
    -moz-transform: translateX(-100%) !important;
    transform: translateX(-100%) !important;
}




/**
* Elementor Buttons
**/
.elementor-widget-button .elementor-button {
    font-family: var(--my-font-1);
    font-size: 16px;
    font-weight: 300;
    line-height: 100%;
}
.elementor-button{
    position: relative;
    background-color: transparent !important;
    border: solid 1px var(--e-global-color-primary);
    -webkit-border-radius: 60px;
    -moz-border-radius: 60px;
    border-radius: 60px;
    overflow: hidden;
    z-index: 1;
}
.elementor-button,
.elementor-button:visited{ 
    /* color: var(--my-color-text); */
    color: var(--my-color-white) !important;
}
.elementor-button::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--e-global-color-primary);
    z-index: -1;

    -webkit-border-radius: 60px;
    -moz-border-radius: 60px;
    border-radius: 60px;

    /* -webkit-transform: translateX(-110%) !important;
    -moz-transform: translateX(-110%) !important;
    transform: translateX(-110%) !important; */
    -webkit-transform: translateX(0) !important;
    -moz-transform: translateX(0) !important;
    transform: translateX(0) !important;

    -webkit-transition: all .35s ease-in-out;
    -moz-transition: all .35s ease-in-out;
    transition: all .35s ease-in-out;
}
.elementor-button::after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--my-color-text);  
    z-index: -1;

    -webkit-border-radius: 60px;
    -moz-border-radius: 60px;
    border-radius: 60px;

    -webkit-transform: translateX(110%) !important;
    -moz-transform: translateX(110%) !important;
    transform: translateX(110%) !important;

    -webkit-transition: all .35s ease-in-out;
    -moz-transition: all .35s ease-in-out;
    transition: all .35s ease-in-out;
}
.elementor-button-content-wrapper{ align-items: center; }
.elementor-button-content-wrapper::after{
    content: "";
    width: 35px;
    height: 22px;
    order: 11;
    margin-left: .75rem;
    /* background-color: var(--my-color-text); */
    background-color: var(--my-color-white);
    
    -webkit-mask-image: url(../images/icons/arrow-next.svg);
    mask-image: url(../images/icons/arrow-next.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100%;
    mask-size: 100%;
    -webkit-mask-position: center;
    mask-position: center;
    
    -webkit-transition: all .35s ease-in-out;
    -moz-transition: all .35s ease-in-out;
    transition: all .35s ease-in-out;
}
.elementor-button .elementor-button-icon svg path { fill: #fff !important; }
@media (hover: hover){
    .elementor-button:hover{ 
        /* color: #fff;  */
        color: var(--my-color-text) !important;
    }
    .elementor-button:hover::before{
        /* -webkit-transform: translateX(0) !important;
        -moz-transform: translateX(0) !important;
        transform: translateX(0) !important; */
        -webkit-transform: translateX(-110%) !important;
        -moz-transform: translateX(-110%) !important;
        transform: translateX(-110%) !important;
    }
    .elementor-button:hover .elementor-button-content-wrapper::after{
        -webkit-transform: translateX(12px);
        -moz-transform: translateX(12px);
        transform: translateX(12px);
        /* background-color: #fff; */
        background-color: var(--my-color-text);
    }
    .elementor-button:hover .elementor-button-icon svg path { fill: var(--e-global-color-primary) !important; }
}

.button-calendar .elementor-button-content-wrapper::after{
    width: 22px;
    height: 22px;
    -webkit-mask-image: url(../images/icons/calendar.svg);
    mask-image: url(../images/icons/calendar.svg);
}


/**
* Elementor Button Transparent
**/
.button-transparent .elementor-button{
    border-color: var(--e-global-color-primary);
    color: var(--e-global-color-primary);
}
.button-transparent .elementor-button,
.button-transparent .elementor-button:visited{ 
    color: var(--e-global-color-primary) !important;
}
.button-transparent .elementor-button::before{
    background-color: var(--e-global-color-primary);
    -webkit-transform: translateX(-110%) !important;
    -moz-transform: translateX(-110%) !important;
    transform: translateX(-110%) !important;
}
.button-transparent .elementor-button-content-wrapper::after{
    background-color: var(--e-global-color-primary);
}
.button-transparent .elementor-button .elementor-button-icon svg path { fill: var(--e-global-color-primary) !important; }
@media (hover: hover){
    .button-transparent .elementor-button:hover{ 
        color: var(--my-color-white) !important;
        border-color: var(--e-global-color-primary);
    }
    .button-transparent .elementor-button:hover::before{
        -webkit-transform: translateX(0) !important;
        -moz-transform: translateX(0) !important;
        transform: translateX(0) !important;
    }
    .button-transparent .elementor-button:hover .elementor-button-content-wrapper::after{
        background-color: var(--my-color-white);
    }
    .button-transparent .elementor-button:hover .elementor-button-icon svg path { fill: #fff !important; }
}

/**
* Elementor Button Info
**/
.elementor-button-info .elementor-button{
    border-color: var(--my-color-white);
    color: var(--e-global-color-primary);
}
.elementor-button-info .elementor-button,
.elementor-button-info .elementor-button:visited{ 
    color: var(--e-global-color-primary) !important;
}
.elementor-button-info .elementor-button::before{
    background-color: var(--my-color-white);
    -webkit-transform: translateX(0) !important;
    -moz-transform: translateX(0) !important;
    transform: translateX(0) !important;
}
.elementor-button-info .elementor-button-content-wrapper::after{
    background-color: var(--e-global-color-primary);
}
.elementor-button-info .elementor-button-icon svg path { fill: #fff !important; }
@media (hover: hover){
    .elementor-button-info .elementor-button:hover{ 
        color: var(--e-global-color-primary) !important;
        border-color: var(--my-color-white);
    }
    .elementor-button-info .elementor-button:hover::before{
        -webkit-transform: translateX(0) !important;
        -moz-transform: translateX(0) !important;
        transform: translateX(0) !important;
    }
    .elementor-button-info .elementor-button:hover .elementor-button-content-wrapper::after{
        background-color: var(--e-global-color-primary);
    }
    .elementor-button-info .elementor-button:hover .elementor-button-icon svg path { fill: var(--e-global-color-primary) !important; }
}

/**
* Elementor Button Info Transparent
**/
.elementor-button-info.button-transparent .elementor-button{
    border-color: var(--my-color-white);
    color: var(--my-color-white);
}
.elementor-button-info.button-transparent .elementor-button,
.elementor-button-info.button-transparent .elementor-button:visited{ 
    color: var(--my-color-white) !important;
}
.elementor-button-info.button-transparent .elementor-button::before{
    background-color: var(--my-color-white);
    -webkit-transform: translateX(-110%) !important;
    -moz-transform: translateX(-110%) !important;
    transform: translateX(-110%) !important;
}
.elementor-button-info.button-transparent .elementor-button-content-wrapper::after{
    background-color: var(--my-color-white);
}
@media (hover: hover){
    .elementor-button-info.button-transparent .elementor-button:hover{ 
        color: var(--e-global-color-primary) !important;
        border-color: var(--my-color-white);
    }
    .elementor-button-info.button-transparent .elementor-button:hover::before{
        -webkit-transform: translateX(0) !important;
        -moz-transform: translateX(0) !important;
        transform: translateX(0) !important;
    }
    .elementor-button-info.button-transparent .elementor-button:hover .elementor-button-content-wrapper::after{
        background-color: var(--e-global-color-primary);
    }
}

/**
* Elementor Button button-bottom
**/
.elementor-widget-button.button-bottom .elementor-button-content-wrapper::after{
    width: 14px;
    height: 18px;
    -webkit-mask-image: url(../images/icons/arrow-down-white.svg);
    mask-image: url(../images/icons/arrow-down-white.svg);
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    transform: translate(0, 0);
}
@media (hover: hover){
    .elementor-widget-button.button-bottom .elementor-button:hover .elementor-button-content-wrapper::after{
        -webkit-transform: translate(0, 6px);
        -moz-transform: translate(0, 6px);
        transform: translate(0, 6px);
    }
}

/**
* Elementor Button Success
**/
.elementor-button-success .elementor-button{
    /*border-color: var(--my-color-text);*/
    border: none !important;
    color: #fff
}
.elementor-button-success .elementor-button,
.elementor-button-success .elementor-button:visited{ 
    color: #fff !important;
}
.elementor-button-success .elementor-button::before{
    background-color: var(--my-color-text);
    opacity: 0.9;

    -webkit-transform: translateX(calc(-100% + 15px)) !important;
    -moz-transform: translateX(calc(-100% + 15px)) !important;
    transform: translateX(calc(-100% + 15px)) !important;
    
    /* -webkit-transition: all .35s ease-in-out .15s;
    -moz-transition: all .35s ease-in-out .15s;
    transition: all .35s ease-in-out .15s; */
}
.elementor-button-success .elementor-button::after{
    background-color: var(--my-color-text);
    
    -webkit-transform: translateX(0) !important;
    -moz-transform: translateX(0) !important;
    transform: translateX(0) !important;
}
.elementor-button-success .elementor-button::before,
.elementor-button-success .elementor-button::after {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}
.elementor-button-success .elementor-button-content-wrapper::after{
    background-color: #fff;
}
@media (hover: hover){
    .elementor-button-success .elementor-button:hover{
        border-color: #fff;
        color: var(--my-color-text) !important;
    }
    .elementor-button-success .elementor-button:hover::before{
        -webkit-transform: translateX(0) !important;
        -moz-transform: translateX(0) !important;
        transform: translateX(0) !important;
    }
    .elementor-button-success .elementor-button:hover::after{
        -webkit-transform: translateX(100%) !important;
        -moz-transform: translateX(100%) !important;
        transform: translateX(100%) !important;
    }
    .elementor-button-success .elementor-button:hover .elementor-button-content-wrapper::after{
        background-color: var(--my-color-white);
    }
}


/**
* Back To Top Button
* */
.back-to-top {
    position: fixed; bottom: 40px; right: 20px; z-index: 1000;
}
.back-to-top .elementor-button-text { display: none !important; }
.back-to-top .elementor-button {
    padding: 0; width: 60px; height: 60px;
}
.back-to-top .elementor-button .elementor-button-content-wrapper::after {
    width: 35px; height: 35px; margin: 0;
    transform: translateY(10px) rotate(-90deg);
}
.back-to-top .elementor-button:hover .elementor-button-content-wrapper::after {
    transform: translateY(5px) rotate(-90deg);
}



/**
* Elementor Dialog
* */
.dialog-close-button{
    display: inline-block;
    width: 30px;
    height: 30px;
    background-color: #fff;
    -webkit-mask-image: url(../images/icons/close.svg);
    mask-image: url(../images/icons/close.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100%;
    mask-size: 100%;
}
.dialog-close-button > svg{ display: none !important; }
/* #elementor-popup-modal-1169 .dialog-close-button{ top: 60px; } */
/* @media screen and (min-width: 1440px){
    .dialog-close-button{ right: calc(((100vw - 1440px) / 2) + 20px) !important; }
} */
@media screen and (min-width: 1440px){
    .dialog-close-button{ right: 20px !important; }
}




/** 
* Header Toggler
* */
.navbar-toggler{
    /* position: absolute;
    top: 20px;
    right: 20px; */
    position: relative;
    width: 66px;
    height: 16px;
    padding: 0;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    z-index: 1040;
}
@media (hover: hover){
    .navbar-toggler:hover{ cursor: pointer; }
}
.navbar-toggler:focus{
    box-shadow: none;
}
.navbar-toggler span{
    display: block;
    background-color: var(--my-color-white);
    height: 1px;
    width: 100%;
    position: relative;
    right: 0;
    opacity: 1;

    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
}
.navbar-toggler span:last-child{
    margin-bottom: 0;
}
.navbar-toggler span:nth-child(1),
.navbar-toggler span:nth-child(2){
    -webkit-transition: transform .35s ease-in-out;
    -moz-transition: transform .35s ease-in-out;
    -o-transition: transform .35s ease-in-out;
    transition: transform .35s ease-in-out;
}
.navbar-toggler.collapsed span{
    background-color: var(--e-global-color-primary);
}
.navbar-toggler.collapsed span:nth-child(1) {
    position: absolute;
    top: 10px;
    right: 0;
    -webkit-transform: rotate(155deg);
    -moz-transform: rotate(155deg);
    -o-transform: rotate(155deg);
    transform: rotate(155deg);
    opacity: 1;
}
.navbar-toggler.collapsed span:nth-child(2){
    position: absolute;
    top: 10px;
    left: 0;
    -webkit-transform: rotate(-155deg);
    -moz-transform: rotate(-155deg);
    -o-transform: rotate(-155deg);
    transform: rotate(-155deg);
    opacity: 1;
}

/**
* Menu-1
*/
#menu-1{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -100;
    opacity: 0;
    -webkit-transition: all .35s;
    -moz-transition: all .35s;
    transition: all .35s;
}
#menu-1-content{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1040;
    -webkit-transform: translateX(100vw);
    -moz-transform: translateX(100vw);
    transform: translateX(100vw);
    -webkit-transition: all .35s;
    -moz-transition: all .35s;
    transition: all .35s;
}
@media screen and (max-width: 767px){
    #menu-1-content{ overflow-y: scroll; -ms-overflow-style: none; scrollbar-width: none; }
    #menu-1-content::-webkit-scrollbar{ display: none; }
}
@media screen and (min-width: 768px){
    #menu-1-inner{ overflow-y: scroll; }
}
/* #menu-1-inner{ overflow: scroll; -ms-overflow-style: none; scrollbar-width: none; }
#menu-1-inner::-webkit-scrollbar{ display: none; } */

#menu-1 .nav-logo > .elementor-widget-container > a,
#menu-1 .nav-logo-full > .elementor-widget-container > a {
    display: block
}
#menu-1 .nav-logo.elementor-widget-image a img[src$=".svg"],
#menu-1 .nav-logo-full.elementor-widget-image a img[src$=".svg"]{
    width: 100%;
}

#menu-1 .gift-card-full path:first-child{ fill: var(--e-global-color-primary); }
#menu-1 .gift-card-full path:not(:first-child){ stroke: var(--e-global-color-primary); }

@keyframes menu-slide-in {
    100% {
        transform: translateY(0%);
    }
}
@keyframes menu-slide-out {
    0% {
        transform: translateY(0%);
    }
    100% {
        transform: translateY(-100%);
    }
}

/* @media screen and (max-width: 767px){ */
    #menu-1 .menu > li > a {
        position: relative
    }
    #menu-1 .menu > li > a:has(+ .sub-menu)::after {
        position: relative;
        right: -5px;
        content: "";
        display: inline-block;
        width: 20px;
        height: 14px;
        margin-right: 10px;
        -webkit-mask-image: url(../images/icons/arrow-select.svg);
        mask-image: url(../images/icons/arrow-select.svg);
        -webkit-mask-size: contain;
        mask-size: contain;
        -webkit-mask-position: center;
        mask-position: center;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        background-color: var(--e-global-color-primary);
    }
    #menu-1 .sub-menu{
        overflow: hidden;
        transition: max-height 0.5s ease-in-out;
        max-height: 0;
        /* opacity: 0; */
        /* -webkit-transition: height .35s ease-in-out opacity .35s ease-in-out;
        -moz-transition: height .35s ease-in-out; */
        /* transition: height .35s ease-in-out, opacity .35s ease-in-out .15s; */
        /* transform: translateX(-100%);
        animation: menu-slide-out 0.5s forwards; */
    }
    #menu-1 .sub-menu.show{
        height: auto;
        opacity: 1;
        /* animation: menu-slide-in 0.5s forwards; */
    }
/* } */

body.menu-opened #menu-1{
    z-index: 1040;
    opacity: 1;
}
body.menu-opened #menu-1-content{
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    transform: translateX(0);
}


/**
* Navbar
**/
#nav-1{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    /* padding: 20px 0; */
    height: 92px;
    background-color: transparent;
    z-index: 1028;

    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    transform: translateY(0);
    
    -webkit-transition: all 2.75s ease-in-out;
    -moz-transition: all 2.75s ease-in-out;
    transition: all 2.75s ease-in-out;
}
#nav-1::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: transparent;
    opacity: 0.8;
    z-index: -1;

    -webkit-transition: all .35s ease-in-out;
    -moz-transition: all .35s ease-in-out;
    transition: all .35s ease-in-out;
}
body:not(.nav-scroll) #nav-1::before{
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 200%;
    background: rgba(0,0,0,0.7);
    background: linear-gradient(180deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 50%);
    z-index: -1;
}

#nav-1 .elementor-widget:not(:last-child) { margin-bottom: 0 !important; }


#nav-1 .nav-logo {
    position: relative;
    display: inline-block;
    width: 94px;
    height: 212px;
    -webkit-transition: all .35s ease-in-out;
    -moz-transition: all .35s ease-in-out;
    transition: all .35s ease-in-out;
}
#nav-1 .nav-logo svg{
    position: absolute; top: 0; left: 0;
    width: 100% !important;
    height: auto !important;
    -webkit-transition: all .35s ease-in-out;
    -moz-transition: all .35s ease-in-out;
    transition: all .35s ease-in-out;
}
#nav-1 .nav-logo > svg:nth-child(1) {
    opacity: 1;
    z-index: 1;
}
#nav-1 .nav-logo > svg:nth-child(2) {
    opacity: 0;
    z-index: -1000;
}
#nav-1 .nav-logo > svg:nth-child(2) path{
    fill: var(--e-global-color-primary) !important;
}
@media screen and (max-width: 767px){
    .navbar-toggler{
        width: 38px;
    }
    #nav-1 .elementor-button-content-wrapper::after{
        display: none !important;
    }
}
@media screen and (min-width: 768px){
    #nav-1 .nav-logo {
        display: inline-block;
        /* width: 133px;
        height: 212px; */
        width: 95px;
        height: 151px;
    }
}

/**
* Nav White
*/
body.nav-white:not(.nav-scroll) #nav-1 .nav-logo-full{ opacity: 0; }
body.nav-white:not(.nav-scroll) #nav-1 .nav-logo-full-white{ opacity: 1; }
body.nav-white:not(.nav-scroll) #nav-1 .navbar-toggler span{ background-color: var(--my-color-white); }
body.nav-white:not(.nav-scroll) #nav-1 .navbar-toggler span{ background-color: var(--my-color-white); }
body.nav-white:not(.nav-scroll) #nav-1 .elementor-button { border: solid 1px var(--my-color-white); }
body.nav-white:not(.nav-scroll) #nav-1 .elementor-button,
body.nav-white:not(.nav-scroll) #nav-1 .elementor-button:visited{ color: var(--my-color-white) !important; }
body.nav-white:not(.nav-scroll) #nav-1 .elementor-button::before { background-color: var(--my-color-white); }
body.nav-white:not(.nav-scroll) #nav-1 .elementor-button::after { background-color: var(--my-color-white); }
body.nav-white:not(.nav-scroll) #nav-1 .elementor-button-content-wrapper::after { background-color: var(--my-color-white); }
body.nav-white:not(.nav-scroll) #nav-1 .gift-card-full path:first-child{ fill: var(--my-color-white); }
body.nav-white:not(.nav-scroll) #nav-1 .gift-card-full path:not(:first-child){ stroke: var(--my-color-white); }
@media (hover: hover){
    body.nav-white:not(.nav-scroll) #nav-1 .elementor-button:hover{ color: var(--e-global-color-primary) !important; }
    body.nav-white:not(.nav-scroll) #nav-1 .elementor-button:hover .elementor-button-content-wrapper::after{ background-color: var(--e-global-color-primary); }
    body.nav-white:not(.nav-scroll) #nav-1 .gift-card-full:hover path:first-child{ fill: var(--e-global-color-primary); }
    body.nav-white:not(.nav-scroll) #nav-1 .gift-card-full:hover path:not(:first-child){ stroke: var(--e-global-color-primary); }
}

/**
* Nav Scroll
*/
body.nav-scroll .navbar-toggler span{ background-color: var(--e-global-color-primary); }
body.nav-scroll #nav-1 { height: 92px; }
body.nav-scroll #nav-1 .nav-logo svg:nth-child(1){ opacity: 0; z-index: -1000; }
body.nav-scroll #nav-1 .nav-logo svg:nth-child(2){ opacity: 1; z-index: 1; }
body.nav-scroll #nav-1 .gift-card-full path:first-child{ fill: var(--e-global-color-primary); }
body.nav-scroll #nav-1 .gift-card-full path:not(:first-child){ stroke: var(--e-global-color-primary); }
body.nav-scroll #nav-1::before{
    background-color: #fff;
}
body.nav-hide #nav-1{
    -webkit-transform: translateY(-100vh);
    -moz-transform: translateY(-100vh);
    transform: translateY(-100vh);
}
@media screen and (min-width: 768px){
    body.nav-scroll #nav-1 .nav-logo {
        display: inline-block;
        width: 95px;
        height: 56px;
    }
}


/**
* Menu
*/
.menu, .sub-menu { padding: 0; margin: 0; }
.menu li, .sub-menu li { padding: .375rem 0; margin: 0; list-style: none; }
.sub-menu li:first-child { padding: .75rem 0 .375rem 0; }
.menu li a { color: #4E4D4C; font-size: 24px; font-weight: 500; }
.sub-menu li a { color: #716D62; font-size: 20px; font-weight: 300; }
@media screen and (min-width: 992px) and (max-width: 1439px){
    .menu li, .sub-menu li { padding: 0; }
    .sub-menu li:first-child { padding: 0; }
    .menu li a,
    .sub-menu li a { font-size: 24px; line-height: 180%; }
}





/**
* Figure
*/
.figure-1-1{
    aspect-ratio: 1/1; position: relative; overflow: hidden;
}
.figure-3-2{
    aspect-ratio: 3/2; position: relative; overflow: hidden;
}
.figure-2-3{
    aspect-ratio: 2/3;  position: relative; overflow: hidden;
}
.figure-4-3{
    aspect-ratio: 4/3; position: relative; overflow: hidden;
}
.figure-3-4{
    aspect-ratio: 3/4; position: relative; overflow: hidden;
}
.figure-16-9{
    aspect-ratio: 16/9; position: relative; overflow: hidden;
}
.figure-9-16{
    aspect-ratio: 9/16; position: relative; overflow: hidden;
}
.figure-full{
    padding: 0 !important;
    /* width: 100vw !important; */
    height: 100vh !important;
    position: relative;
}

.figure-1-1 > img,
.figure-2-3 > img,
.figure-3-2 > img,
.figure-4-3 > img,
.figure-3-4 > img,
.figure-16-9 > img,
.figure-9-16 > img,
.figure-full > img,
.figure-100vh > img {
    object-fit: cover;
    width: 100%;
    height: 100%;

}





/**
* Aspect Ratio Custom
* */
.elementor-widget-image.aspect-ratio-custom{
  aspect-ratio: 39 / 44 !important;
  overflow: hidden !important;
}
.elementor-widget-image.aspect-ratio-4-3{
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
}
.elementor-widget-image.aspect-ratio-custom img,
.elementor-widget-image.aspect-ratio-4-3 img {
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
}

.elementor-widget-media-carousel.aspect-ratio-custom .elementor-main-swiper {
    height: calc(112.82vw - 80px) !important; /* Se a tutto schermo */
}
@media (min-width: 1025px) {
    /* Se su desktop il carosello si trova dentro una colonna che occupa, ad esempio, 400px */
    .elementor-widget-media-carousel.aspect-ratio-custom .elementor-main-swiper {
        height: 44vw !important; /* (400 * 44) / 39 */
    }
}
@media (min-width: 1600px) {
    /* Se su desktop il carosello si trova dentro una colonna che occupa, ad esempio, 400px */
    .elementor-widget-media-carousel.aspect-ratio-custom .elementor-main-swiper {
        height: 720px !important; /* (400 * 44) / 39 */
    }
}

/**
* Swiper Pagination
*/
.elementor-element.elementor-pagination-position-outside .swiper, 
.elementor-lightbox.elementor-pagination-position-outside .swiper {
    padding-bottom: 0 !important;
}
.swiper-pagination {
    display: flex;
    align-items: center;
    gap: 10px;
    bottom: 30px !important;
    padding: 0 20px !important;
}
.swiper-pagination-bullet {
    margin: 0 !important;
    width: 100% !important;
    height: 5px !important;
    border-radius: 100px !important;
    background-color: var(--my-color-white) !important;
    opacity: 1 !important;
}

.swiper-pagination-bullet-active {
    background-color: var(--e-global-color-primary) !important;
}

/**
* Swiper Pagination Thumbnails
*/
.e-widget-swiper { overflow: hidden !important; }
.elementor-thumbnails-swiper {
    width: 115% !important;
}
@media screen and (min-width: 768px){
    .elementor-thumbnails-swiper {
        width: 110% !important;
    }   
}

/**
* Swiper Navigation
*/
.elementor-swiper-button {
    position: absolute !important;
    top: auto !important;
    bottom: calc(-48px - 40px) !important;
    width: 48px !important;
    height: 48px !important;
    border: solid 1px var(--e-global-color-primary) !important;
    border-radius: 50% !important;
    overflow: hidden;
    transition: all .35s ease-in-out;
}
.elementor-swiper-button-prev {
    left: 0 !important;
}
.elementor-swiper-button-next {
    left: calc(48px + 20px) !important;
}
.elementor-swiper-button svg { display: none !important; }
.elementor-swiper-button::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--e-global-color-primary);
    transform: translateX(-110%);
    transition: all .35s ease-in-out;
}
.elementor-swiper-button::after {
    content: "";
    position: absolute;
    inset: 0;
    mask-image: url(../images/icons/arrow-next.svg);
    mask-size: 30px 16px !important;
    mask-position: center;
    mask-repeat: no-repeat;
    background-color: var(--e-global-color-primary);
    transition: all .35s ease-in-out;
}
.elementor-swiper-button-prev::after {
    transform: rotate(180deg);
}

@media (hover: hover) {
    .elementor-swiper-button {
        border-color: var(--my-color-white);
    }
    .elementor-swiper-button:hover::before {
        transform: translateX(0);
    }
    .elementor-swiper-button:hover::after {
        background-color: var(--my-color-white);
    }
}

@media screen and (min-width: 768px) {
    .elementor-swiper-button {
        bottom: calc(-68px - 60px) !important;
        width: 68px !important;
        height: 68px !important;
    }
    .elementor-swiper-button-next {
        left: calc(68px + 30px) !important;
    }
    .elementor-swiper-button::after {
        mask-size: 40px 24px !important;
    }
}


/**
* Swiper Full
*/
.el-swiper-full .swiper-slide .elementor-carousel-image{
    transform: scale(0.8);
    transition: transform .55s ease-in-out;
}
.el-swiper-full .swiper-slide-active .elementor-carousel-image{
    transform: scale(1);
}


/**
* Swiper Drag
*/
.el-swiper-drag,
.el-swiper-drag > .swiper {
    overflow: visible !important;
}
.swiper-drag {
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 50%;
    overflow: hidden;
    background: transparent;
    backdrop-filter: blur(10px);
    z-index: 1;
    transform: scale(0);
    cursor: none !important;
    pointer-events: none !important;
    width: 90px;
    height: 90px;
}
.swiper-drag::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: #F7F6F4;
    opacity: .7;
    z-index: -1;
    transform: translate(0, 0);
    transition: all .35s ease-in-out;
    /* pointer-events: none !important; */
}
.swiper-drag::after{
    content: "DRAG";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    color: var(--e-global-color-primary);
    font-size: 20px;
    font-weight: 300;
    transform: translateX(0);
    transition: all .35s ease-in-out;
    position: absolute;
    /* pointer-events: none !important; */
}
@media (hover: none){
    .swiper-drag{ display: none !important; }
}
@media (hover: hover){
    .swiper-button-next:hover::after,
    .swiper-button-prev:hover::after,
    .elementor-swiper-button-next:hover::after,
    .elementor-swiper-button-prev:hover::after {
        -webkit-mask-size: calc(100% - 15px);
        mask-size: calc(100% - 15px);
        background-color: var(--my-color-white);
    }
    .swiper-button-next:hover::before,
    .swiper-button-prev:hover::before,
    .elementor-swiper-button-next:hover::before,
    .elementor-swiper-button-prev:hover::before {
        -webkit-transform: translateX(0);
        -moz-transform: translateX(0);
        transform: translateX(0);
    }
}


/**
* Swiper Inverse
*/
@media screen and (min-width: 1024px) {
    .el-swiper-inverse .swiper-wrapper{
        flex-direction: row-reverse !important;
        justify-content: flex-end !important;
    }
    .el-swiper-inverse .swiper-slide {
        direction: ltr !important;
    }
}


/**
* Appbar
*/
.appbar {
    position: fixed;
    bottom: 10px;
    right: 20px;
    z-index: 1039;
    display: inline-flex !important;
    width: auto !important;
}
.appbar .elementor-button { background-color: var(--my-color-white) !important; border-color: #C8D9E6 !important; color: var(--e-global-color-primary) !important; }
.appbar .elementor-button::before { background-color: #C8D9E6 !important; }
.appbar .elementor-button-content-wrapper::after { background-color: var(--e-global-color-primary) !important; }
/* @media screen and (min-width: 1600px) {
    .appbar {
        right: calc((100vw - 1536px) / 2);
    }
} */

.appbar .button-booking { display: block; }
.appbar .button-buy { display: none; }

.bluh-christmas-page .appbar .button-booking { display: none; }
@media screen and (max-width: 767px){
    .bluh-christmas-page .appbar .button-buy:not(.elementor-hidden-mobile) { display: block; }
}
@media screen and (min-width: 768px) and (max-width: 1023px){
    .bluh-christmas-page .appbar .button-buy:not(.elementor-hidden-tablet) { display: block; }
}
@media screen and (min-width: 1024px){
    .bluh-christmas-page .appbar .button-buy:not(.elementor-hidden-desktop) { display: block; }
}



/**
* icons
*/
.ico { 
    display: inline-flex; 
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    background-color: var(--e-global-color-primary);
}
.ico-instagram {
    width: 30px;
    height: 30px;
    mask-image: url(/wp-content/uploads/2026/06/instagram.svg);
}
.ico-facebook {
    width: 15px;
    height: 30px;
    mask-image: url(/wp-content/uploads/2026/06/facebook.svg)
}
footer .ico { background-color: var(--my-color-white); }


/**
* home
*/

.section-hero {
    position: relative !important;
    /* z-index: 1 !important; */
    --hero-scale: 1;
}
.section-hero::before {
    transform: scale(var(--hero-scale));
}
.section-hero::after {
    content: "";
    position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    /* z-index: 0; */
    background-color: rgba(0,0,0,0.3);
}
.section-hero > .e-child {
    z-index: 1;
}

#homeHero {
    overflow: hidden;
    --home-hero-scale: 1;
    --home-hero-x: 0;
    --home-hero-y: 0;
    --home-hero-opacity: 1;
}
#homeHero::before{
    transform: translate(var(--home-hero-x), var(--home-hero-y)) scale(var(--home-hero-scale));
}


#degustazione-degustazione {
    /* position: sticky !important;
    top: 0 !important; */
    z-index: 1 !important;
    height: 100vh !important;
    overflow: hidden !important;
}
#degustazione-degustazione #gallery{
    height: calc(100vh - 140px);
    overflow: hidden !important;
    padding: 0 !important;
}
#degustazione-filosofia {
    position: relative;
    z-index: 2;
    margin-top: -100vh;
}


@media screen and (max-width: 1023px){
    .home-preludio-video.elementor-widget-video .elementor-wrapper{
        aspect-ratio: 1/1 !important;
    }
}



/**
* Form
*/
::-webkit-input-placeholder {
    color: var(--e-global-color-primary) !important;
}
::-moz-placeholder{
    color: var(--e-global-color-primary) !important;
}
input:-ms-input-placeholder{
    color: var(--e-global-color-primary) !important;
}
input:-moz-placeholder{
    color: var(--e-global-color-primary) !important;
}

.elementor-field-group .elementor-field-textual:focus{ box-shadow: none !important; }
textarea{ border: solid 1px var(--e-global-color-primary) !important; }

input[type="radio"],
input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: inline-block;
    width: 16px;
    height: 16px;
    background-color: transparent;
    border: solid 1px var(--e-global-color-primary) !important;
    /* background-image: url(../images/icons/radio-bg.svg); */
    background-repeat: no-repeat;
    background-size: 100%;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
    -webkit-border-radius: 0%;
    -moz-border-radius: 0%;
    border-radius: 0%;
}
select {
    appearance: none;       /* Rimuove lo stile di default nei browser moderni */
    -webkit-appearance: none; /* Per Safari e vecchi browser Chrome */
    -moz-appearance: none;    /* Per vecchi browser Firefox */
    
    /* Stile del select */
    width: 100%;
    padding: 10px 40px 10px 15px; /* Lascia spazio a destra per la nuova freccia */
    font-size: 16px;
    border: 2px solid #ccc;
    border-radius: 6px;
    background-color: white;
    cursor: pointer;

    /* Inseriamo la nuova freccia come immagine di sfondo */
    background-image: url(../images/icons/arrow-select.svg);
    background-repeat: no-repeat;
    background-position: right 20px center; /* Posiziona la freccia a 15px dal bordo destro */
    background-size: 12px; /* Dimensione della freccia */
}
input[type="radio"]:checked,
input[type="checkbox"]:checked {
    background-image: url(../images/icons/radio-checked-bg.svg);
}
.elementor-form button { 
    border: solid 1px var(--my-color-text) !important;
    -webkit-border-radius: 60px !important;
    -moz-border-radius: 60px !important;
    border-radius: 60px !important;
}

.control-group{margin-bottom: 15px;}
.control {
    font-family: arial;
    display: block;
    position: relative;
    padding-left: 30px;
    margin-bottom: 5px;
    padding-top: 3px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 300; 
    /* color: #fff; */
}
.control input {
    position: absolute;
    z-index: -1;
    opacity: 0;
}
.control-checkbox{ font-size: 12px; }
.control-checkbox a { color: var(--my-color-text); text-decoration: underline; }
.control_indicator {
    position: absolute;
    top: 2px;
    left: 0;
    height: 20px;
    width: 20px;
    background: #e9e0de;
    border: 1px solid #4d5d6a;
    border-radius: 2px;
}
.control:hover input ~ .control_indicator,
.control input:focus ~ .control_indicator {
    background: #e9e0de;
}

.control input:checked ~ .control_indicator {
    background: #e9e0de;
}
.control:hover input:not([disabled]):checked ~ .control_indicator,
.control input:checked:focus ~ .control_indicator {
    background: #e9e0de;
}
.control input:disabled ~ .control_indicator {
    background: #e6e6e6;
    opacity: 0.6;
    pointer-events: none;
}
.control_indicator:after {
    box-sizing: unset;
    content: '';
    position: absolute;
    display: none;
}
.control input:checked ~ .control_indicator:after {
    display: block;
}
.control-checkbox .control_indicator:after {
    left: 8px;
    top: 4px;
    width: 3px;
    height: 8px;
    border: solid 1px var(--e-global-color-primary);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.control-checkbox input:disabled ~ .control_indicator:after {
    border-color: #7b7b7b;
}
.control-checkbox .control_indicator::before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 4.5rem;
    height: 4.5rem;
    margin-left: -1.3rem;
    margin-top: -1.3rem;
    background: #e9e0de;
    border-radius: 3rem;
    opacity: 0.6;
    z-index: 99999;
    transform: scale(0);
}
@keyframes s-ripple {
    0% {
        transform: scale(0);
    }
    20% {
        transform: scale(1);
    }
    100% {
        opacity: 0;
        transform: scale(1);
    }
}
@keyframes s-ripple-dup {
    0% {
        transform: scale(0);
    }
    30% {
        transform: scale(1);
    }
    60% {
        transform: scale(1);
    }
    100% {
        opacity: 0;
        transform: scale(1);
    }
}

.wpcf7-spinner { display: block; }



.wpcf7-form input[type="radio"],
.wpcf7-form input[type="checkbox"]{
    position: relative;
    opacity: 1;
    z-index: 1;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: inline-block;
    width: 14px;
    height: 14px;
    background-color: transparent;
    border: solid 1px var(--e-global-color-primary);
    /* background-image: url(../images/icons/radio-bg.svg); */
    background-repeat: no-repeat;
    background-size: 100%;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
}
.wpcf7-form input[type="radio"]:checked,
.wpcf7-form input[type="checkbox"]:checked,
form #accettazione input[type="checkbox"]:checked {
   /* background-image: url(../images/icons/radio-checked-bg.svg); */
   background-image: url(https://www.furoregrandhotel.com/wp-content/uploads/2026/03/form_checked.svg);
   background-size: contain;
   background-position: center;
   background-repeat: no-repeat;
}

.wpcf7-form .wpcf7-radio,
.wpcf7-form .wpcf7-checkbox {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 20px;
}
.wpcf7-form .wpcf7-radio .wpcf7-list-item,
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item{
    margin: 0;
}
.wpcf7-form .wpcf7-radio .wpcf7-list-item label,
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item label {
    display: inline-flex;
    align-items: center;
    gap: 0 20px;
}
@media screen and (max-width: 1024px){
    .wpcf7-form .wpcf7-radio,
    .wpcf7-form .wpcf7-checkbox {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
    }
}
.control-group-acceptance { display: flex; flex-direction: row; align-items: center; }
.wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.wpcf7-acceptance input[type="checkbox"] { width: 14px; height: 14px; }

.wpcf7-form label { display: inline-block; font-size: 14px; font-weight: 300; margin-left: 15px; color: #4E4D4C}
.wpcf7-form label a { color: #4E4D4C; text-decoration: underline; font-weight: 500; transition-duration: .3s;}
.wpcf7-form label a:hover { color: #716D62}
/* .control-checkbox input + .control_indicator::before {
    animation: s-ripple 250ms ease-out;
}
.control-checkbox input:checked + .control_indicator::before {
    animation-name: s-ripple-dup;
}

.ck-checkbox{
    margin: 10px 0;
    display: flex;
}
.ck-checkbox input{ margin-right: 20px; }
.ck-checkbox label{
    font-size: 14px;
    color: #fff;
} */
:focus,
:focus-visible{ outline: none !important; }
input[type=date], input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea{
    border: 1px solid var(--e-global-color-primary);
    color: var(--e-global-color-primary);
    background-color: transparent;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px;
}

input[type=date]:focus, input[type=email]:focus, input[type=number]:focus, input[type=password]:focus, input[type=search]:focus, input[type=tel]:focus, input[type=text]:focus, input[type=url]:focus, select:focus, textarea:focus{
    border-color: var(--e-global-color-primary);
}

[type=button], [type=submit]{
    font-size: 20px;
    font-weight: 300;
    line-height: 100%;

    position: relative;
    background-color: transparent !important;
    border: none;
    -webkit-border-radius: 60px;
    -moz-border-radius: 60px;
    border-radius: 60px;
    overflow: hidden;
    z-index: 1;
}
[type=button], 
[type=submit],
[type=button]:visited, 
[type=submit]:visited{ 
    color: var(--my-color-white);
}
.input-submit-container [type=button], 
.input-submit-container [type=submit]{ 
    padding: 0 !important;
}

.input-submit-container{ 
    position: relative; 
    display: inline-flex; 
    align-items: center;
    overflow: hidden;
    border: solid 1px var(--e-global-color-primary);
    -webkit-border-radius: 60px;
    -moz-border-radius: 60px;
    border-radius: 60px;
    padding: 12px 24px;
    /* height: 60px; */
}
@media (max-width: 767px){
    .input-submit-container {
        justify-content: space-between;
        width: 100%;
    }
}
.input-submit-container::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--e-global-color-primary);  
    z-index: 0;

    -webkit-border-radius: 60px;
    -moz-border-radius: 60px;
    border-radius: 60px;

    -webkit-transform: translateX(0) !important;
    -moz-transform: translateX(0) !important;
    transform: translateX(0) !important;

    -webkit-transition: all .35s ease-in-out;
    -moz-transition: all .35s ease-in-out;
    transition: all .35s ease-in-out;
}
.input-submit-container::after{
    content: "";
    width: 35px;
    height: 22px;
    order: 11;
    margin-left: 10px;
    margin-right: 20px;
    background-color: var(--my-color-white);
    
    -webkit-mask-image: url(../images/icons/arrow-next.svg);
    mask-image: url(../images/icons/arrow-next.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100%;
    mask-size: 100%;
    -webkit-mask-position: center;
    mask-position: center;
    
    -webkit-transition: all .35s ease-in-out;
    -moz-transition: all .35s ease-in-out;
    transition: all .35s ease-in-out;
}
.wpcf7-spinner{
    position: absolute;
    right: calc(-100% - 20px);
}
@media (hover: hover){
    .input-submit-container:hover::before {
        -webkit-transform: translateX(-110%) !important;
        -moz-transform: translateX(-110%) !important;
        transform: translateX(-110%) !important;
    }
    .input-submit-container:hover::after{
        background-color: var(--e-global-color-primary);
        -webkit-transform: translateX(10px);
        -moz-transform: translateX(10px);
        transform: translateX(10px);
    }
    .input-submit-container:hover [type=button],
    .input-submit-container:hover [type=submit]{
        color: var(--e-global-color-primary);
    }
}

[data-class="wpcf7cf_group"] { width: 100%; }

.frm-newsletter [data-name="your-email"]{
    position: relative;
}
/* .frm-newsletter [data-name="your-email"]::before,
.frm-newsletter [data-name="your-email"]::after{
    content: "";
    position: absolute;
    top: 5px;
    display: inline-block;
    width: 15px;
    height: 15px;
    background-color: var(--e-global-color-primary);

    -webkit-mask-image: url(../images/icons/rombo-white.svg);
    mask-image: url(../images/icons/rombo-white.svg);
    -webkit-mask-size: 100%;
    mask-size: 100%;
} 
.frm-newsletter [data-name="your-email"]::before{ left: -40px; }
.frm-newsletter [data-name="your-email"]::after{ right: -40px; } */





/**
* TranslatePress - Language Switcher
*/
.trp-language-item-name { color: #fff; }
.trp-shortcode-arrow path { stroke: #fff;}

.nav-white .trp-language-item-name,
.nav-scroll .trp-language-item-name,
#menu-1 .trp-language-item-name { color: var(--e-global-color-primary); }

.nav-white .trp-shortcode-arrow path,
.nav-scroll .trp-shortcode-arrow path,
#menu-1 .trp-shortcode-arrow path { stroke: var(--e-global-color-primary); }

.trp-current-language-item__wrapper:not(.trp-hide-arrow) {
    gap: 5px;
}

.elementor-shortcode .trp-ls-shortcode-current-language, .elementor-shortcode .trp-ls-shortcode-language{
    width: 35px !important;
}
.trp-language-switcher{
    margin-top: 10px;
    width: 35px !important;
}
.trp-language-switcher > div {
    position: relative;
    padding: 0 !important;
    border: none !important;
    background-image: none; 
    background-color: transparent;
}
/* .trp-language-switcher > div::before {  
    content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    -webkit-mask-image: url(../images/icons/arrow-select.svg);
    mask-image: url(../images/icons/arrow-select.svg);
    -webkit-mask-position: right center;
    mask-position: right center;
    -webkit-mask-size: 16px 8px;
    mask-size: 16px 8px;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: #fff;
} */
.trp-language-switcher > div:hover{

}
.trp-language-item__current,
.trp-language-switcher > div > a{ 
    display: flex;
    align-items: center;
    height: 30px;
    font-weight: 300;
    text-transform: uppercase;
    font-size: 14px;
    color: var(--e-global-color-primary);
    padding: 0; 
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}
.trp-language-item__current:hover,
.trp-language-switcher > div > a:hover{
    background: transparent !important;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.trp-language-item__current,
.trp-ls-shortcode-current-language{position: relative;}

/* .trp-shortcode-arrow{ display: none !important; } */

/* .trp-language-item__current::before, */
.trp-ls-shortcode-current-language::before{
    content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    -webkit-mask-image: url(../images/icons/arrow-select.svg);
    mask-image: url(../images/icons/arrow-select.svg);
    -webkit-mask-position: right center;
    mask-position: right center;
    -webkit-mask-size: 16px 8px;
    mask-size: 16px 8px;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: var(--e-global-color-primary);

}

.nav-white .trp-language-switcher > div > a{ color: #fff; }
.nav-white .trp-ls-shortcode-current-language::before{ background-color: #fff; }
.nav-scroll .trp-language-switcher > div > a{ color: var(--e-global-color-primary); }
.nav-scroll .trp-ls-shortcode-current-language::before{ background-color: var(--e-global-color-primary); }

#trp-floater-ls{ display: none !important; }

.fixed-button-container{
    position: fixed;
    right: 10px;
    bottom: 0;
    z-index: 100000;
}




.swiper-gift-cards,
.swiper-gift-cards .swiper {
    overflow: visible !important;
}

/* .swiper-gift-cards .elementor-swiper-button {
    position: absolute !important;
    top: auto !important;
    bottom: calc(-68px - 60px) !important;
    width: 68px !important;
    height: 68px !important;
    border: solid 1px var(--e-global-color-primary) !important;
    border-radius: 50% !important;
    overflow: hidden;
    transition: all .35s ease-in-out;
}
.swiper-gift-cards .elementor-swiper-button-prev {
    left: 0 !important;
}
.swiper-gift-cards .elementor-swiper-button-next {
    left: calc(68px + 20px) !important;
}
.swiper-gift-cards .elementor-swiper-button svg { display: none !important; }
.swiper-gift-cards .elementor-swiper-button::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--e-global-color-primary);
    transform: translateX(-110%);
    transition: all .35s ease-in-out;
}
.swiper-gift-cards .elementor-swiper-button::after {
    content: "";
    position: absolute;
    inset: 0;
    mask-image: url(../images/icons/arrow-next.svg);
    mask-size: 40px 24px;
    mask-position: center;
    mask-repeat: no-repeat;
    background-color: var(--e-global-color-primary);
    transition: all .35s ease-in-out;
}
.swiper-gift-cards .elementor-swiper-button-prev::after {
    transform: rotate(180deg);
}

@media (hover: hover) {
    .swiper-gift-cards .elementor-swiper-button {
        border-color: var(--my-color-white);
    }
    .swiper-gift-cards .elementor-swiper-button:hover::before {
        transform: translateX(0);
    }
    .swiper-gift-cards .elementor-swiper-button:hover::after {
        background-color: var(--my-color-white);
    }
} */


.gift-card .card-header {
    position: relative;
    overflow: visible !important;
    z-index: 2;
    aspect-ratio: 16/10;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.gift-card .card-header::before {
    z-index: 1
}
.gift-card .card-header::after{
    content: "";
    position: absolute;
    inset: 0;
    transform: rotate(7deg) scale(0.9);
    z-index: 0;
    transform-origin: bottom right;
    border-radius: 10px;
    background-color: #AFB2B4;

}