:root{
    --width-site: 850px;
    --width-site-wide: 1920px;
    --side-margin: 8rem;
    --scrollbar-width: 0px;
    --wp-blocks-margin-bottom: 1.5rem;

    --swiper-theme-color: var(--bs-primary) !important;
    --swiper-navigation-sides-offset: 3rem;
    --swiper-navigation-size: 1rem;
}

@media (max-width: 991px) {
    :root{
        --side-margin: 1.5rem;
        --swiper-navigation-sides-offset: 1.5rem;
    }
    
  }

.transition,
.navbar-toggler_line {
    transition: all 400ms ease-in-out;
}

a {text-decoration: none;}


/* NAVBAR */

.wpml-floating-language-switcher {
    z-index: 9999;
    position: relative;
    display: inline-block;
  }


.logo {
    z-index: 9999;
  }


nav.navbar_custom {
    background-color: white;
    height: 70px;
    position: fixed;
    width: 100%;
    z-index: 99;
}
.navbar_custom_wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 70px;
}

.ul-nav-right-links {
    list-style: none;
}

@media (min-width: 991px) {
    .navbar_custom_wrap {
        height: 70px;
    }
  }
.logo img {
    height: 25px;
    width: auto;
}
.hamburger, .navbar_mob_cta {
    width: 50px;
    height: 50px;
    border: transparent;
    background-color: transparent;
    position: relative;
}
.navbar_mob_cta {
    padding: 0;
    text-align: center;
}
.navbar-toggler_line {
    position: absolute;
    width: 50px;
    height: 1px;
    background-color: var(--bs-dark);
    left: 0;
}
.nav-link:hover, .nav-link:focus {
    color: grey;
  }
.line_01 {top: 16px;right: 0;left: auto;width:25px} 
.line_03 {top: 34px;width:25px} 
.hamburger, .main_menu_nav_mob, .navbar_mob_cta {display: none;}
.main_menu_nav_mob ul, .main_menu_nav ul {padding-left: 0;}
.main_menu_nav {width: 100%;display: flex;justify-content: space-between;align-items: center;}
.main_menu_nav ul, .ul-nav-right-links {width: auto;display: block;float: right;text-align: right;}
.main_menu_nav li {list-style: none;display: inline-block;padding: 15px 20px;}
.main_menu_nav li a {color: var(--bs-dark);}

.ul-nav-right-links li {padding: 0;}
.cta_book, .cta_order {
    padding: 0;
}
.cta_book a, .cta_order a {
    padding: .7rem 1.35rem;
    border-radius: 4rem;
    display: inline-block;
    text-align: center;
  }

.cta_book a {
    background-color: var(--bs-primary);
    color: white !important;
}

.cta_order a {
    border: 1px solid var(--bs-primary);
}

@media (max-width: 1280px) {
    body.menuOpen {overflow-y: hidden;} 
    nav.navbar_custom {height: 70px;}
    .main_menu_nav {display: none;}
    .hamburger, .navbar_mob_cta {display: inline-block;z-index: 99;} 
    .menuOpen .line_01 {width:50px; transform: rotate(45deg);top: 23px;} 
    .menuOpen .line_02 {opacity: 0;} 
    .menuOpen .line_03 {width:50px; transform: rotate(-45deg);top: 23px;} 
    .menuOpen .main_menu_nav li {width: 100%;}
    .main_menu_nav_mob ul { margin-top:75px} 
    .main_menu_nav_mob {
        display: flex;
        opacity: 0;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        pointer-events: none;
        padding: 70px var(--side-margin) 0;
        overflow-y: scroll;
        justify-content: space-between;
        flex-direction: column;
      }
      .main_menu_nav_mob li.menu-item {
        border-bottom: 1px solid #dee2e6;
        list-style: none;
      }
    .menuOpen .main_menu_nav_mob {
        opacity: 1;
        background-color: white;
        pointer-events: all;
    }
    .mob_a_link {
        font-size: 3rem;
        padding: 1.5rem 0;
        color: var(--bs-dark);
        letter-spacing: -.02rem;
        font-weight: 100;
    }

    .cta_book, .cta_order {
        border-bottom: 0px transparent !important;
        padding: .4rem 0 !important;
    }

    .cta_book a, .cta_order a {
        width: 100%;
    }
  }





/* HELPERS */
.min-vh-50 {
    height: 50vh;
}

.p-absolute {
    position: absolute;
}

/* DEFAULT */
.container-flx {
    max-width: 1920px;
    padding: 0 var(--side-margin);
    margin: 0 auto;
}


.sticky-bottom {
    position: sticky;
    position: -webkit-sticky;
    bottom: 0;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none;
}

ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none;
}
mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold;
}
del {
    text-decoration: line-through;
}
abbr[title],
dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

hr {display: block;height: 1px;border: 0;padding: 0;}
hr.wp-block-separator {max-width: 90px;margin: 2rem auto;opacity: 1;}
hr.wp-block-separator.me-auto {margin-left: 0 !important;  }
hr.wp-block-separator.ms-auto {margin-left: auto !important;margin-right: 0 !important;}

input,
select {
    vertical-align: middle;
}
.clearfix:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
}
* html .clearfix {
    zoom: 1;
}
*:first-child + html .clearfix {
    zoom: 1;
}

.alux-arrow--disable {
    opacity: 0.3;
}



blockquote {
    font-weight: 200;
    font-size: 20px;
    font-style: italic;
    margin: 0.25em 0;
    padding: 0 30px;
    line-height: 1.45;
    position: relative;
    color: #383838;
    border-left: 5px solid #eee;
}

input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
    padding: 10px 15px;
    background-color: white;
    border: 1px solid #d1d1d1;
    box-shadow: none;
    box-sizing: border-box;
    width: 100%;
}
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.row-data input, .row-data select {
    vertical-align: middle;
    width: 100%;
    height: 55px;
    padding: 15px 10px;
}

input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
    border: 1px solid var(--bs-dark);
    outline: 0;
}
label, legend {
    display: block;
    margin: 12px 0 10px 0;
    font-weight: revert;
    font-size: .9rem;
    color: gray;
  }
fieldset {
    padding: 0;
    border-width: 0;
}
input[type="checkbox"], input[type="radio"] {
    display: inline;
    margin-right: 8px;
  }
label > .label-body {
    display: inline-block;
    margin-left: 10px;
    font-weight: normal;
}


body,
html {
    height: 100%;
}
*,
*:after,
*:before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}


.animate {
    -webkit-transition: all 800ms cubic-bezier(0.45, 0.05, 0.55, 0.95);
    -moz-transition: all 800ms cubic-bezier(0.45, 0.05, 0.55, 0.95);
    transition: all 800ms cubic-bezier(0.45, 0.05, 0.55, 0.95);
}

.logged-in.admin-bar > .fixed-top,
.logged-in.admin-bar > .sticky-top {
    top: 32px !important;
}



/* IMAGE STYLE */

figure.figure--portrait {
    width: 100%;
    height: 0;
    padding-top: calc(100% * 1.666);
    padding-top: calc(100% * 1.25);
    position: relative;
  }
  
  figure.figure--landscape {
    width: 100%;
    height: 0;
    padding-top: calc(100% / 1.666);
    position: relative;
  }
  
  figure.figure--landscape.huge {
    width: 100%;
    height: 0;
    padding-top: calc(100% / 2.8);
    position: relative;
  }
  
  figure.figure--square {
    width: 100%;
    height: 0;
    padding-top: 100%;
    position: relative;
  }
  
  figure.figure--square:after {
    content: "";
    display: block;
    padding-top: 100%;
  }
  
  
  figure.figure--portrait img,
  figure.figure--landscape.huge img,
  figure.figure--landscape img,
  figure.figure--square img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .obj-fit-cover {
    object-fit: cover;
  }
  
  
  .bg-img {
    background: no-repeat center center;
    background: no-repeat center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
  }


  .fixed-top--spacer {
    height: 100px;
    width: 100%;
  }


/* Gsap */


.text_reveal .split-line {
    overflow: hidden;
    opacity: 0;
    transform: translateY(10) rotateZ('10deg');
    transform-origin: 0 -100%;
  }

/* Gutenberg Template & Blog Posts */

.gutenberg-container { max-width: var(--width-site); }
.full, .alignfull {position: relative; max-width: none; width: 100%; margin-left: 0; margin-right: 0;}
.wide, .alignwide { max-width: var(--width-site-wide); width: 100%; margin-left: auto; margin-right: auto;}
.gutenberg-container {padding-left: var(--side-margin);padding-right: var(--side-margin);clear: both; }
.gutenberg-container .alignwide {
    width: auto;margin-left: -635px;
    margin-right: -635px;
    max-width: calc(var(--width-site) + 1270px);}
.gutenberg-container .alignfull {
    width: calc(100vw - var(--scrollbar-width));
    margin-left: calc(-100vw / 2 + 100% / 2 + var(--scrollbar-width) / 2);
    margin-right: calc(-100vw / 2 + 100% / 2);
    max-width: calc(100vw - var(--scrollbar-width));
    padding-left: 0;
    padding-right: 0;
}
.gutenberg-container .alignfull > img {width: 100vw;}

@media(max-width: 1920px){
    .gutenberg-container .alignwide {
        width: calc(100vw - var(--scrollbar-width));
        margin-left: calc(-100vw / 2 + 100% / 2 + var(--scrollbar-width) / 2);
        margin-right: calc(-100vw / 2 + 100% / 2);max-width: calc(100vw - var(--scrollbar-width));
        padding-left: var(--side-margin);
        padding-right: var(--side-margin);}
}

.wp-block-cover,
.wp-block-image,
.gutenberg-container h1,
.gutenberg-container h2,
.gutenberg-container h3,
.gutenberg-container h4,
.gutenberg-container h5,
.gutenberg-container h6,
.gutenberg-container p,
.gutenberg-container blockquote {
    margin-bottom: var(--wp-blocks-margin-bottom);
}

figcaption {font-size: .85rem; text-align: center;color: var(--bs-gray-600);}


/* --------------------------------------------------------------------------------------------------------------------------- */
/* ! CAROUSEL */
/* --------------------------------------------------------------------------------------------------------------------------- */

:root {
    --swiper-theme-color: var(--bs-primary)
}
















