html,
html a {
    -webkit-font-smoothing: antialiased !important;
}
* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
body{
    background-color: #F9F8F2;
    color:#101014;
    height:100vh;
    overflow:hidden;
    transition: background-color 600ms cubic-bezier(0.25, 0.1, 0.25, 1), cursor 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
    -o-transition: background-color 600ms cubic-bezier(0.25, 0.1, 0.25, 1), cursor 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
    -ms-transition: background-color 600ms cubic-bezier(0.25, 0.1, 0.25, 1), cursor 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
    -moz-transition: background-color 600ms cubic-bezier(0.25, 0.1, 0.25, 1), cursor 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
    -webkit-transition: background-color 600ms cubic-bezier(0.25, 0.1, 0.25, 1), cursor 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
    will-change: background-color, cursor;
    transition-delay: 500ms;
}

img, video {
   width: 100%; height: auto;
}

.splide__spinner{
    display:none !important;
}

.logo-path{
    transition: stroke 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
    -o-transition: stroke 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
    -ms-transition: stroke 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
    -moz-transition: stroke 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
    -webkit-transition: stroke 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
    will-change: stroke;
    transition-delay: 500ms;
    stroke:#000000;
    fill:none;
}

.text-path{
    transition: fill 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
    -o-transition: fill 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
    -ms-transition: fill 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
    -moz-transition: fill 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
    -webkit-transition: fill 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
    will-change: fill;
    transition-delay: 500ms;
    fill:#000000;
}

.menu-item, .menu-item a, a, h1, .mobile-header .menu-item a, .sub-menu-container .sub-menu a, #hideMenu a{
    transition: color 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
-o-transition: color 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
-ms-transition: color 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
-moz-transition: color 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
-webkit-transition: color 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
will-change: color;
transition-delay: 500ms;
}

#headerBackground, #mobileheaderBackground, .bottom-menu{
    transition: background 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
-o-transition: background 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
-ms-transition: background 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
-moz-transition: background 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
-webkit-transition: background 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
will-change: background;
}

#mobile-logo-bg {
   position: fixed;
   display: none;
   width: 100%; height: 140px;
   top: 0; left: 0;
   z-index: 4;
   background: rgb(239,237,228);
   background: linear-gradient(180deg, rgba(239,237,228,1) 0%, rgba(239,237,228,1) 45%, rgba(239,237,228,0.6) 70%, rgba(239,237,228,0) 100%);
   pointer-events: none;
}

@media only screen and (max-width:700px){
   #mobile-logo-bg {
      display: block;
   }
}

a{
    text-decoration: none;
}

.show-when-small{
    display:none;
}

.hide-when-small{
    display:block;
}

.fade-in-title{
    transition-delay: 500ms !important;
}

.fade-in-text{
    transition-delay: 750ms !important;
}

.fade-in-slider{
    transition-delay: 750ms !important;
}

.bottom-logo-container, .animation-container, .logo-container, .fade-in-credit{
    transition-delay: 1000ms !important;
}

.fade-in-overlay{
    transition: opacity 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
    -o-transition: opacity 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
    -ms-transition: opacity 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
    -moz-transition: opacity 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
    -webkit-transition: opacity 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
    will-change: opacity;
    transition-delay: 1000ms !important;
}

.fade-in-logo{
    transition-delay: 500ms !important;
    transition: opacity 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
    -o-transition: opacity 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
    -ms-transition: opacity 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
    -moz-transition: opacity 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
    -webkit-transition: opacity 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
    will-change: opacity;
}

.fullscreen{
    height:100vh;
}

.fade-in {
    pointer-events: none;
    transition: opacity 1000ms ease-in-out;
    -o-transition: opacity 1000ms ease-in-out;
    -ms-transition: opacity 1000ms ease-in-out;
    -moz-transition: opacity 1000ms ease-in-out;
    -webkit-transition: opacity 1000ms ease-in-out;
    will-change: opacity;
    opacity: 0;
}

.fade-in.visible {
    opacity: 1;
    pointer-events: all;
}

/* FONTS */

h1{
    font-family:'Orleans Roman';
    font-size: clamp(2.25rem, 1.2214rem + 1.1429vw, 1.5rem);
    font-weight:400;
    line-height: 2.625rem;
    padding-bottom:3rem;
    color:#000000;
}

h2{
    font-family:'Orleans Light';
    font-size: 1.25rem;
    line-height:clamp(1.75rem, 1.9214rem + -0.1905vw, 1.875rem);
    font-weight:400;
}

h3{
    font-family:'Orleans Roman';  
    font-weight:400;
    font-size:1rem;
    line-height:1.5rem;
}

h4{
    font-family:'Orleans Roman'; 
    font-weight:400; 
    font-size:0.75rem;
}

body{
    font-family:'Orleans Light';
    font-size: 0.875rem;
    line-height:clamp(1.375rem, 1.5464rem + -0.1905vw, 1.5rem);
    font-weight:400;
}

p{
    font-family:'Orleans Light';
    font-size: 0.875rem;
    line-height:clamp(1.375rem, 1.5464rem + -0.1905vw, 1.5rem);
    margin-bottom:1rem;
    font-weight:400;
}

p:last-child{
    margin-bottom:0px;
}


/* MENU */

.header{
    display:flex;
    justify-content:space-between;
    align-items: center;
    padding:2.5rem;
    position:fixed;
    width:100%;
    top:0;
    left:0;
    z-index:3;
}

.menu, .sub-menu{
    list-style:none;
}

.sub-menu li{
    opacity:0;
    transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1);
    -o-transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1);
    -ms-transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1);
    -moz-transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1);
    -webkit-transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1);
    will-change: opacity;
    white-space: nowrap;
}

.sub-menu{
    display:none;
    position:absolute;
    width: fit-content;
    right: 0;
    padding-bottom:100px;
    transition: opacity 600ms ease-in-out;
    -o-transition: opacity 600ms ease-in-out;
    -ms-transition: opacity 600ms ease-in-out;
    -moz-transition: opacity 600ms ease-in-out;
    -webkit-transition: opacity 600ms ease-in-out;
    will-change: opacity;
}

.sub-menu-container, .mobile-header{
    transition: opacity 600ms ease-in-out;
    -o-transition: opacity 600ms ease-in-out;
    -ms-transition: opacity 600ms ease-in-out;
    -moz-transition: opacity 600ms ease-in-out;
    -webkit-transition: opacity 600ms ease-in-out;
    will-change: opacity;
}

#menu-item-103{
    position:relative;
}

.inner-header{
    width:50%;
}

.inner-header-left svg {
    max-width: 350px;
    width: 100%;
    height: auto;
}

.inner-header-center{
    display:flex;
    justify-content: center;
}

#menu-main-menu{
    display:flex;
    justify-content: flex-end;
    gap:3.75rem;
}

.logo{
    width:12.875rem;
    height:auto;
    object-fit:contain;
}

.menu-item{
    font-family:'Orleans Roman';  
    color:#bcb5ac;
    text-decoration:none;
    line-height:1;
}

.menu-item a{
    font-family:'Orleans Roman';  
    color:#bcb5ac;
    text-decoration:none;
    font-size: 0.875rem;
}

.bottom-menu{
    position:fixed;
    bottom:0;
    left:0;
    width:100%;
    z-index:5;
}

.bottom-menu .menu-item{
    position:fixed;
    bottom:1.75rem;
    text-align:center;
    width:100%;
}

.sub-menu .menu-item{
    padding-top:23px;
    line-height:1;
    text-align:right;
}

.mobile-header{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    display: flex;
    align-items: center;
    height: 100vh;
    justify-content: center;
    flex-direction: column;
    display:none;
    opacity:0;
}

.mobile-header .menu-item{
    text-align:center;
    padding-bottom:2.5rem;
}

.mobile-header .menu-item a{
    color:#bcb5ac !important;
    font-size: 1.375rem;
font-style: normal;
font-weight: 400;
line-height: normal;
}

.menu-item a {
	position: relative;
	display: inline-block;
	text-decoration: none;	
}

.menu-item a:after {
	content: "";
	display: block;
	position: absolute;
	width: 0px;
	height: 1px;
	left: 0;
	background-color: #bcb5ac;
	will-change: width;
	transition: width 250ms cubic-bezier(0.25,0.1,0.25,1);
}

.credit-link{
    position: relative;
	display: inline-block;
	text-decoration: none;	
}

.credit-link:after{
    content: "";
	display: block;
	position: absolute;
    bottom:0.2rem;
	width: 0px;
	height: 1px;
	left: 0;
	background-color: #EFEDE4;
	will-change: width;
	transition: width 250ms cubic-bezier(0.25,0.1,0.25,1);
}

.credit-link:hover:after {
	width: 100%;
}

.contact-links{
    position: relative;
	display: inline-block;
	text-decoration: none;	
    border-bottom: solid 1px #000000;
    color: #000000;
}

.contact-links:after {
    content: "";
	display: block;
	position: absolute;
	width: 0px;
	height: 0.063rem;
	left: 0;
    bottom:0.2rem;
	background-color: #EFEDE4;
	will-change: width;
	transition: width 250ms cubic-bezier(0.25,0.1,0.25,1);
}

.contact-links:hover:after {
	width: 100%;
}

.social-links a {
    margin-right: 1rem;
    display: inline-block;
}

.menu-item a:hover:after {
	width: 100%;
}

/* FRONT PAGE */

.logo-container{
    position:fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index:2;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.page-logo{
    width:10.875rem;
    height:auto;
    object-fit:contain;
}

#menu-main-menu-1 li{
    opacity:0;
}

/* ABOUT PAGE */

.bottom-logo-container{
    position: fixed;
    bottom: -5.25rem;
    right: -6.25rem;
    z-index: 2;
    width: fit-content;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
}

.bottom-logo{
    width:29.375rem;
    height:auto;
    object-fit:contain;
}

.about-page{
    gap:13.125rem;
    display:flex;
    justify-content: center;
    align-items:center;
    padding-left:2.5rem;
    padding-right:2.5rem;
    padding-top:2.5rem;
}

.about-splide{
   width:30.875rem;
}

.about-splide.mobile {
   display: none;
}

.about-text{
    max-width:27.5rem;
}

/* SHOP PAGE */

.animation-container{
position: fixed;
bottom: 0;
left: 1.25rem;
z-index: 2;
width: 100%;
display: flex;
align-items: flex-end;
justify-content: flex-start;
}

.animation{
    width:14rem;
}

/* CONTACT PAGE */

.illustration{
    max-width:34.563rem;
}

.contact-page{
    gap:8.5rem;
    display:flex;
    justify-content: center;
    align-items:center;
    padding-left:2.5rem;
    padding-right:2.5rem;
    padding-top:2.5rem;
}

.contact-text{
    max-width:25.75rem;
}

.credit{
    position:fixed;
    bottom:2.5rem;
    left:0;
    width:100%;
    text-align:center;
}


@media only screen and (max-width:1024px){

    /* MENU */

    #menu-main-menu{
        gap: 2.75rem;
    }




    /* ABOUT PAGE */
    
    .about-page{
        gap: 5rem;
        display: flex;
        justify-content: center;
        align-items: center;
        padding-left: 2.5rem;
        padding-right: 2.5rem;
    }

    .about-text, .about-splide{
        width:50%;
    }

    /* CONTACT PAGE */

    .contact-page{
        gap: 5rem;
        display: flex;
        justify-content: center;
        align-items: center;
        padding-left: 2.5rem;
        padding-right: 2.5rem;
    }

    .illustration, .contact-text{
        width:50%;
    }

    .bottom-logo{
        width: 24.375rem;
    }

    .bottom-logo-container {
        bottom: -4.25rem;
        right: -4.25rem;
    }
}

@media (max-width:750px) {

    #menu-main-menu {
        gap: 1.75rem;
    }

    .logo {
        width: 7rem;
    }
}

@media only screen and (max-width:700px){
    body{
        height:fit-content;
        overflow:scroll;
    }

    .show-when-small{
        display:block;
    }
    
    .hide-when-small{
        display:none;
    }

    /* MENU */

    .header{
        justify-content:center;
        z-index:5;
    }

    .inner-header-right{
        display:none !important;
    }

    .logo{
        width:8.75rem;
    }

    .content-wrapper{
        margin-left:1rem;
        margin-right:1rem;
    }

    .fullscreen{
        height:fit-content !important;
        min-height:100vh;
    }

    .sub-menu-container{
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        height: 100vh;
        display: none;
        opacity:0;
        align-items: center;
        justify-content: center;
        padding-top:1.5rem;
    }

    .sub-menu-container .menu-item-has-children{
        display:block !important;
    }

    .sub-menu-container .menu-item{
        display:none;
        padding-bottom:0px;
    }

    .sub-menu-container .sub-menu{
        position: static;
        display: block;
        opacity: 1;
        width: fit-content;
        padding-top:.5rem;
    }
    .sub-menu-container .sub-menu .menu-item{
        display:block !important;
        padding-bottom: 0.35rem;
        padding-top:0.35rem;
    }

    .sub-menu-container .sub-menu .menu-item:last-child{
        padding-bottom: 0px !important;
    }

    .menu-item-66{
        padding-bottom:0px !important;
    }

    .sub-menu-container .sub-menu a{
    color: #bcb5ac !important;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.75rem; 
    }

    .sub-menu li{
        white-space: normal;
    }

    .menu-item a:hover:after {
        width: 0%;
    }

    .sub-menu{
        padding-bottom:0px;
    }

    .sub-menu li, .menu-item-shop, .menu-item-75, .menu-item-103, .menu-item-66{
        opacity:0;
        transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1);
        -o-transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1);
        -ms-transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1);
        -moz-transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1);
        -webkit-transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1);
        will-change: opacity;
        white-space: nowrap;
    }

    /* SHOP PAGE */

    .animation-container{
        left: 0.563rem;
    }

    .animation{
        width:7rem;
    }

    /* ABOUT PAGE */
    
    .about-page{
        flex-direction:column;
        padding-left:0px;
        padding-right:0px;
        padding-top:11.25rem;
        margin-bottom:6.5rem;
        gap:5rem;
    }

    .about-splide{
        width:100%;
    }
    
    .about-splide.desktop {
       display: none;
    }
    
    .about-splide.mobile {
       display: block;
       margin-bottom: 3rem;
    }

    .about-text{
        max-width:calc(100% - 1rem);
        z-index:2;
    }

    .bottom-logo{
        width:16.794rem;
    }

    .bottom-logo-container{
        bottom:0px;
        right:-3.125rem;
        z-index:1;
    }

    .about-text, .about-splide{
        width:100%;
    }

    /* CONTACT PAGE */

    .contact-page{
        flex-direction:column;
        padding-left:0px;
        padding-right:0px;
        padding-top:11.25rem;
        margin-bottom:5.125rem;
        gap:5rem;
    }

    .contact-text{
        order:1;
    }

    .illustration{
        order:2;
    }

    .credit{
        position:static;
        margin-bottom:3.125rem;
    }

    .illustration, .contact-text{
        width:100%;
    }

    /* 404 PAGE */

    .screen-404{
        gap:2.5rem !important;
    }

    /* SERVICES PAGE */

    .services-navigation{
        bottom: 1.75rem !important;
    }

    .services-navigation-arrow{
        max-height:0.875rem !important;
    }

    .services-navigation.previous{
        padding-left: 1rem !important;
    }

    .services-navigation.previous p{
        left: 2.5rem !important;
    }

    .services-navigation.next{
        padding-right: 1rem !important;
    }

    .services-navigation.next p{
        right: 2.5rem !important;
    }
}

@media only screen and (min-width:1920px){
    .about-splide {
        width: 25.729vw;
    }

    .about-text{
        max-width:22.917vw;
    }

    .illustration{
        max-width:28.802vw;
    }
    
    .contact-text {
        max-width: 21.458vw;
    }

    h1{
        font-size: 1.875vw;
        line-height:2.188vw;
    }
    
    h2{
        font-size: 1.042vw;
        line-height:1.458vw;
    }
    
    h3{
        font-size:0.833vw;
        line-height:1.458vw;
    }
    
    h4{
        font-size:0.625vw;
    }
    
    body{
        font-size:0.729vw;
        line-height:1.146vw;
    }
    
    p{
        font-family:'Orleans Light';
        font-size: 0.729vw;
        line-height:1.146vw;
    }

    .menu-item a{
        font-size: 0.729vw;
    }
}

.copyright-footer {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 2.5rem;
    text-align: center;
    width: 100%;
    align-items: center;
    justify-content: center;
    display: flex;
    gap: 2rem;
    font-size: 0.9rem;
    color: #bcb5ac;
}

.copyright-footer a {
    color: #bcb5ac;
    text-decoration: none;

}

.copyright-footer a:hover {
    text-decoration: underline;
    font-weight: 500;
}

@media(max-width: 700px) {
    .copyright-footer {
        display: none;
    }
}