/* CUSTOM CSS */



html.lenis {
  height: auto;
}
.lenis.lenis-smooth {
  scroll-behavior: auto;
}
.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}
.lenis.lenis-stopped {
  overflow: hidden;
}

html, body{
    overflow : visible;
    overflow-x: hidden;
}

/* RECAPTCHA */
.grecaptcha-badge{
	display : none!important;
	opacity : 0;
	z-index : -99999;
}

:root {
    --max-width: 1340px;
    --min-margin: 3rem;
    --dynamic-width: min(var(--max-width), calc(100% -(2* var(--min-margin))));
    --dynamic-margin: max(calc(50% - 0.5* var(--max-width)), var(--min-margin));
} 

.offset-left-wrapper{
    position: relative!important;
    padding-left: var(--dynamic-margin)!important;
} 

.offset-right-wrapper{
    position: relative!important;
    padding-right: var(--dynamic-margin)!important;
}


@media screen and (max-width:992px){
    .offset-left-wrapper{
        padding-left: inherit!important;
    } 

    .offset-right-wrapper{
        padding-right: inherit!important;
    }

    .mobile-hidden{
        display: none!important;
    }
}

/*
 *
 * HEADER 
 *
 */

 .home #menu-logo{
    opacity: 0;
    transition: all .3s ease;
 }

 .home #burger-menu-wrapper.active + #menu-logo{
    opacity: 1;
 }

 div.elementor-location-header{
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
 } 

 #main-header{
    position: fixed;
    transition: all .3s ease;
    z-index: 10;
 }

 #main-header .elementor-widget-image{
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    transition: all .3s ease;
 }

 #main-header #main-menu{
    padding-top: 0rem;
    transition: all .3s ease;
    z-index: 2;
 }

 #main-header #main-menu ul{
    justify-content: space-between;
    width: 100%;
    border-bottom: 1px solid rgba(255,255,255,0.3);
 }

 #main-header #main-menu ul > li:not(.home){
    flex-grow: 1;
    max-width: 330px;
 }

 #main-header #main-menu ul > li:not(:last-child){
    border-right : 1px solid rgba(255,255,255,0.3)
 }

 #main-header #main-menu ul > li.home{
    flex-grow: 2;
 }


 #main-header #main-menu ul > li a{
    position: relative;
    display: flex;
    padding: 2rem;
    justify-content: center;
    max-width: 100%;
    text-wrap: wrap;
    text-align: center;
    font-weight: 400;
 }

 #main-header #main-menu ul > li.emphasized-menu-item a{
    background-color: var(--e-global-color-accent);
    border-radius: 50px;
    box-shadow: 0 0 1rem rgba(0,0,0,.1);
 }

 #main-header #main-menu ul > li:not(.emphasized-menu-item) a:hover:before, #main-header #main-menu ul > li:not(.emphasized-menu-item) a:focus:before, #main-header #main-menu ul > li.current-menu-item:not(.emphasized-menu-item) a:before{
    opacity : 1;
 }

 #main-header #main-menu ul > li a:hover, #main-header #main-menu ul > li a:focus, #main-header #main-menu ul > li.current-menu-item a{
    color: #ffffff;
 }

 #main-header #main-menu ul > li.emphasized-menu-item:hover a, #main-header #main-menu ul > li.emphasized-menu-item:focus a, #main-header #main-menu ul > li.emphasized-menu-item.current-menu-item a{
    background-color: var(--e-global-color-primary);
 }

 /* MENU */
 #main-header #main-menu nav > ul > li > a:hover, #main-header #main-menu nav > ul > li > a:focus{
    background-color : rgba(255,255,255,.2);
    transition: all .3s ease; 
 }

 /* STICKED */

#main-header .elementor-widget-image {
	z-index: 3;
}

#main-header.sticked{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 5;
	transform : translateY(-100%);
	transition : transform .3s ease;
}

#main-header.sticked.active{
	transform : translateY(0);
}


@media screen and (min-width:2300px) and (max-width:2500px) {
    #main-header #main-menu ul > li:not(.home){
        max-width: 300px;
    }
} 

@media screen and (min-width:2000px) and (max-width:2299px) {
    #main-header #main-menu ul > li:not(.home){
        max-width: 260px;
    }
} 

@media screen and (min-width:1700px) and (max-width:1999px) {
    #main-header #main-menu ul > li:not(.home){
        max-width: 230px;
    }
} 

@media screen and (min-width:1600px) and (max-width:1699px) {
    #main-header #main-menu ul > li:not(.home){
        max-width: 220px;
    }
} 

@media screen and (min-width:1500px) and (max-width:1599px) {
    #main-header #main-menu ul > li:not(.home){
        max-width: 200px;
    }
} 

@media screen and (min-width:1400px) and (max-width:1499px) {
    #main-header #main-menu ul > li:not(.home){
        max-width: 180px;
    }
} 

@media screen and (min-width:1200px) and (max-width:1399px) {
    #main-header #main-menu ul > li:not(.home){
        max-width: 150px;
    }

    #main-header #main-menu ul > li a{
        font-size : .9rem;
        line-height: 1.2;
    }
} 

@media screen and (min-width:1025px) and (max-width:1200px) {
    #main-header #main-menu ul > li:not(.home){
        max-width: 130px;
    }

    #main-header #main-menu ul > li a{
        font-size : .8rem;
        line-height: 1.2;
    }
} 
 

 /*@media screen and (min-width:1025px) and (max-width:1200px) {

   #main-header #main-menu ul > li:nth-child(2){
      margin-right: 14rem;
   }
 }*/

@media screen and (min-width:1025px){
    #main-header #main-menu ul > li.home > a{
        color: transparent;
    }
}

 @media screen and (max-width:1024px){

    .d-mobile{
        display: flex!important;
    }

    #main-header{
        padding : 1rem var(--dynamic-margin);
        align-items: center;
        flex-wrap: nowrap;
        justify-content: space-between;
    }

   #main-menu{
        width: 10%;
   }

   #main-header.sticked #main-menu .elementor-menu-toggle > svg{
      fill : var( --e-global-color-secondary );
   }

    #main-header #main-menu ul > li a {
        padding: .25rem;
    }

    #main-header #main-menu .elementor-nav-menu > li:not(.menu-item-home){
        order : 2;
    }

    #main-header #main-menu .elementor-nav-menu > li.menu-item-home{
        order : 1;
    }

   #main-header #main-menu nav.elementor-nav-menu--dropdown{
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100vh;
      display: flex;
      flex-direction: row;
      justify-content: center;
      align-items: center;
      z-index: 5;
   }

   #main-header #main-menu .elementor-menu-toggle{
    z-index: 1;
   }

   #main-header #main-menu .elementor-menu-toggle.elementor-active{
      z-index: 6;
   }

   #main-header #main-menu .elementor-menu-toggle.elementor-active > svg{
      fill : var( --e-global-color-secondary );
   }

   #main-header #main-menu nav.elementor-nav-menu--dropdown > ul{
      display: inline-flex;
      flex-direction: column;
      gap: 1rem;
      justify-content: center;
      align-items: center;
   }

   #main-header #main-menu nav.elementor-nav-menu--dropdown > ul li:nth-child(3){
      margin: auto;
   }

   #main-header #main-menu nav.elementor-nav-menu--dropdown > ul li.emphasized-menu-item a{
    color : #fff;
   }

   #main-header #main-menu nav.elementor-nav-menu--dropdown > ul li:not(.emphasized-menu-item) a.elementor-item.elementor-item-active,
   #main-header #main-menu nav.elementor-nav-menu--dropdown > ul li:not(.emphasized-menu-item) a.elementor-item:hover,
   #main-header #main-menu nav.elementor-nav-menu--dropdown > ul li:not(.emphasized-menu-item) a.elementor-item:focus{
    background-color: transparent;
    color : var(--e-global-color-secondary);
   }

   #main-header #main-menu nav.elementor-nav-menu--dropdown > ul li:not(.emphasized-menu-item) a.elementor-item.elementor-item-active:before{
    background-color: var(--e-global-color-secondary);
   }

   #main-header .elementor-widget-image{
        position: relative;
        top: auto;
        left: auto;
        transform: translateX(0) translateY(0);
        transition: all .3s ease;
        z-index: 1;
    }
   
 }

/*
 *
 * MENU 
 *
 */

header.elementor-location-header{
    position: relative;
    z-index: 10;
}

@media screen and (max-width:1024px){
    #burger-menu-wrapper.active #burger-menu{
        overflow: scroll;
    }

    .elementor-nav-menu--main .elementor-nav-menu ul.sub-menu{
        margin: 0!important;
        position: relative!important;
        align-items: flex-start;
    }

    .elementor-nav-menu--main .elementor-nav-menu ul.sub-menu li a{
        justify-content: center!important;
    }

    #burger-menu-wrapper .menu-separator{
        padding-top: 1rem;
        margin-top: 1rem;
        border-top: 1px solid #cccccc;
    }
}

/* Burger menu icon */
#burger-menu-wrapper, #burger-menu-wrapper *{
    cursor: pointer;
    pointer-events: all;
}

#burger-menu-icon, #burger-menu-icon *{
    pointer-events: none;
}

.elementor-icon-wrapper {
    pointer-events: auto;
}

#burger-menu-icon #top-line,
#burger-menu-icon #middle-line,
#burger-menu-icon #bottom-line{
    transition: all .3s ease;
}

#burger-menu-icon #top-line, #burger-menu-icon #bottom-line{
    transform-origin: top left;
}

#burger-menu-wrapper.active > .elementor-widget-icon,
#burger-menu-wrapper.active + #menu-logo{
    z-index: 25;
}

#menu-contact{
    position: relative;
    z-index: 25;
}

#burger-menu-wrapper.active + #menu-logo svg{
    fill: #ffffff;
}

#burger-menu-wrapper.active #burger-menu-icon{
    z-index: 10;
}

#burger-menu-wrapper.active #burger-menu-icon #top-line{
    transform: rotate(45deg) scale(1.2) translateX(0.2rem) translateY(-0.7rem);
}

#burger-menu-wrapper.active #burger-menu-icon #bottom-line{
    transform: rotate(-45deg) scale(1.2) translateX(-1.2rem) translateY(-0.6rem);
}

#burger-menu-wrapper.active #burger-menu-icon #middle-line{
    opacity: 0;
}

/* menu-burger */
#burger-menu{
    position: fixed;
    top: 0;
    right: auto; 
    left: 0;
    bottom: 0;
    padding: 8rem 2rem 2rem 2rem;
    z-index: -1;
    opacity: 0;
    pointer-events: none;
    width: 100%;
    height: 100vh;
    transform: translateX(-100%);
    transition: transform 0.3s cubic-bezier(0.77, 0, 0.175, 1), opacity 0.5s cubic-bezier(0.77, 0, 0.175, 1);
}

#burger-menu:before{
    content : "";
    position: absolute;
    top: 0;
    right : 100%;
    left: auto;
    background-color: #ffffff20;
    width: 100vw;
    height: 100vh;
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
}

#burger-menu-wrapper.active #burger-menu{
    z-index: 6;
    opacity: 1;
    pointer-events: all;
    transform: translateX(0);
}

#burger-menu-wrapper #burger-menu nav > ul{
    overflow: clip;
}

#burger-menu-wrapper #burger-menu nav > ul > li{
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: flex-start;
}
    
#burger-menu-wrapper #burger-menu nav > ul > li a{
    line-height: 1.2;
}

#burger-menu-wrapper #burger-menu nav > ul > li > a{
    position: relative;
    font-family: "dashiell-fine";
    font-size: 2rem;
    padding-left: 2rem;
}

#burger-menu-wrapper #burger-menu nav > ul > li > a:after{
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 33.8 15"><path d="M33.8,6.6c-.3,0-7.3-.2-7.3-6.6h-1c0,3.8,2.2,5.7,4.3,6.7H0v1h30c-2.1,1.1-4.4,3.1-4.5,7.3h1c0-7,7-7.4,7.3-7.4v-1Z" fill="%23ffffff"/></svg>');
    opacity: 1;
    background-color: rgba(0,0,0,0);
    position: absolute;
    left: 0;
    top : 50%;
    transform: translateY(-50%);
    width: 1.5rem;
}

#burger-menu-wrapper #burger-menu nav > ul > li > a:hover:after,
#burger-menu-wrapper #burger-menu nav > ul > li > a.elementor-item-active:after{
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 33.8 15"><path d="M33.8,6.6c-.3,0-7.3-.2-7.3-6.6h-1c0,3.8,2.2,5.7,4.3,6.7H0v1h30c-2.1,1.1-4.4,3.1-4.5,7.3h1c0-7,7-7.4,7.3-7.4v-1Z" fill="%23433128"/></svg>');
}


#burger-menu-wrapper #burger-menu nav > ul > li > ul{
    display: flex!important;
    flex-direction: column;
    position: relative;
    width: 100%;
    padding: 0;
}

#burger-menu-wrapper #burger-menu nav > ul > li > ul > li:not(:last-child){
    margin-bottom: .25rem;
}

#burger-menu-wrapper #burger-menu nav > ul > li > ul > li > a{
    font-size: 1.5rem;
    font-weight: 300;
    padding: 0;
    font-family: "dashiell-fine";
    position: relative;
    padding-right: 2rem;
    margin: 0;
}

#burger-menu-wrapper #burger-menu nav > ul > li > ul > li > a:after{
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 5.5 10.5"><path d="M0,10.5c-.1-2.4,1.3-4.5,3.3-5.5C1.8,4.4,0,3.1,0,0h1c0,4.3,4.3,4.5,4.5,4.5v1c-2.6.1-4.6,2.4-4.5,5H0Z" fill="%23ffffff"/></svg>');
    position: absolute;
    right: 0;
    top : 50%;
    transform: translateY(-50%);
    width: .3rem;
}

#burger-menu-wrapper #burger-menu nav > ul > li > ul > li > a:hover:after{
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 5.5 10.5"><path d="M0,10.5c-.1-2.4,1.3-4.5,3.3-5.5C1.8,4.4,0,3.1,0,0h1c0,4.3,4.3,4.5,4.5,4.5v1c-2.6.1-4.6,2.4-4.5,5H0Z" fill="%23433128"/></svg>');
}

@media screen and (max-width: 1024px){
    #burger-menu-wrapper #burger-menu nav > ul > li > ul > li > a{
        font-size: 1rem;
        font-weight: 300;
        padding: 0;
        margin-left : 0;
    }
}

@media screen and (max-width: 880px){
    #burger-menu {
        padding: 7rem 2rem 2rem 2rem;
    }

    #burger-menu-wrapper #burger-menu nav > ul > li > a:before {
        width: 3rem;
    }

    #burger-menu-wrapper #burger-menu nav > ul > li > ul {
        padding-left: 1rem;
    }
}

@media screen and (max-width: 768px){
    #burger-menu {
        width: 100%;
        padding: 7rem 2rem 2rem 2rem;
    }

    #burger-menu-wrapper #burger-menu nav > ul > li > ul > li > a{
        font-size: 1rem;
        font-weight: 300;
        padding: 0;
    }
}


.page-id-265 #menu-logo svg,
.page-id-263 #menu-logo svg {
    fill: #ffffff;
}

body:not(.page-id-263, .page-id-265, .home) #burger-menu-icon{
    fill : var(--e-global-color-primary);
}

body:not(.page-id-263, .page-id-265, .home) #menu-contact > a{
    color : var(--e-global-color-primary);
}

body:not(.page-id-263, .page-id-265, .home) #menu-contact{
    border-color : var(--e-global-color-primary);
}

body:not(.page-id-263, .page-id-265, .home) #burger-menu-wrapper.active #burger-menu-icon{
    fill : #ffffff;
}

body:not(.page-id-263, .page-id-265, .home) #burger-menu-wrapper.active ~ #menu-contact > a{
    color : #ffffff;
}

body:not(.page-id-263, .page-id-265, .home) #burger-menu-wrapper.active ~ #menu-contact{
    border-color : #ffffff;
}


.smooth-slider .swiper-wrapper{
    -webkit-transition-timing-function: linear !important;
    transition-timing-function: linear !important;
}


/* HOME */
#home-slider .swiper-slide:nth-child(2n+2){
    margin-top: 5rem!important;
}

.activity-wrapper:not(:last-child){
    position: relative;
}

.activity-wrapper:not(:last-child):after{
    content: "";
    position: absolute;
    width : 2px;
    height: 100%;
    top: 0;
    right: 0;
    background: linear-gradient(0deg,rgba(63, 75, 53, 1) 0%, rgba(63, 75, 53, 0) 100%);
}

@media screen and (max-width:768px){
    .activity-wrapper:nth-child(n+2):after{
        width : 0;
        height: 0;
    }

    .activity-wrapper:nth-child(n+2):after{
        content: "";
        position: absolute;
        width : 2px;
        height: 100%;
        top: 0;
        right: 0;
        background: linear-gradient(0deg,rgba(63, 75, 53, 1) 0%, rgba(63, 75, 53, 0) 100%);
    }
}

.deco-menu{
    opacity: .2!important;
    pointer-events: none!important;
}

/* Button */
.btn{
    position: relative;
}

.btn:after{
    content: "";
    position: absolute;
    width: 0;
    height: 100%;
    top: 0;
    left: 0;
    transition: width 0.3s ease;
    z-index: 0;
}

.btn *{
    z-index: 1;
}

.btn:hover:after {
    width: 100%;
}

.btn svg,
.btn span{
    transition: all .3s ease;
}

.btn.btn-ocre:after{
    background-color : var(--ocre);
}

.btn.btn-white:after{
    background-color : #ffffff;
}

.btn.btn-white.green:hover span,
.btn.btn-white.green:focus span{
    color : var(--vert);
}

.btn.btn-white.ocre:hover span,
.btn.btn-white.ocre:focus span{
    color : var(--ocre);
}

.btn.btn-white.green:hover svg,
.btn.btn-white.green:focus svg{
    fill: var(--vert);
}

.btn.btn-white.ocre:hover svg,
.btn.btn-white.ocre:focus svg{
    fill: var(--ocre);
}


.btn.btn-ocre:hover span,
.btn.btn-ocre:focus span{
    color: #fff;
}

.btn.btn-ocre:hover svg,
.btn.btn-ocre:focus svg{
    fill: #fff;
}

/* Tab Title */
.tab-title.e--selected, .tab-title[aria-selected="true"]{
    background-color: var(--ocre)!important;
    border-color: var(--ocre)!important;
}

.tab-title:hover span, 
.tab-title.e--selected span{
    color: #fff;
}