/* ******************************************** */
/** COMPONENTS: HEADER
/* ******************************************** */

/* HEADER */

.c-header__btn{
    width: 38px;
    height: 38px;
    margin-right: -6px;
    z-index: 99;
}

/* Fixed */

.is-fixed .c-header__holder{
    height: var(--header-xs);
    position: fixed;
    left: 0;
    top: 0;
    background-color: var(--color-lightest);
    box-shadow: 0 -12px 20px 4px var(--color-darker-30);
}

.is-fixed .c-header__holder{
    animation: headerFixed 650ms cubic-bezier(0.22, 0.61, 0.36, 1);
    box-shadow: rgba(0,0,0,.15) 0px 4px 12px;
}

.is-fixed .c-header__brand{
    width: 170px;
}

@keyframes headerFixed{
    0%{
        -webkit-transform: translate3d(0,-100%,0);
        -moz-transform: translate3d(0,-100%,0);
        transform: translate3d(0,-100%,0);
        /* opacity: 0; */
    }
    100%{
        -webkit-transform: translate3d(0,0,0);
        -moz-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
        /* opacity: 1; */
    }
}


/* Not Desktop */

@media (max-width: 979px){    

    /* Nav */

    .c-nav{
        width: 100%;
        height: 100%;
        padding: calc(var(--header)*1.8) calc(var(--space-x)*2) 0;
        position: fixed;
        left: 0;
        top: 0;
        z-index: 5;
        background-color: var(--color-lightest); ;
        overflow: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }

    .c-nav__holder{
        width: 100%;
    }

    .c-nav__item{
        margin-top: 1.8em;
        font-size: 2rem;
    }
    .c-nav__item:first-child{
        margin-top: 0;
    }
    .c-nav__link{
        display: inline-block;
        font-size: 1em;
        color: var(--color-darkest);
    }
    


    /* INTERACTION */
    
    .nav-visible{
        overflow: hidden; /* Prevent body's scrolling underneath */
    }

    /* Header */

    .nav-visible .c-header__holder{
        height: var(--header);
        position: fixed;
        left: 0;
        top: 0;
    }
    .nav-visible .is-fixed .c-header__holder{
        height: var(--header-xs);
    }
  
    .c-header__btn-bar{
        --barDuration: 800ms;
        transition:
            background-color var(--barDuration) ease-out,
            transform var(--barDuration) var(--easeOutCubic);
    }
    .c-header__btn-bar:before,
    .c-header__btn-bar:after{
        transition: transform var(--barDuration) var(--easeOutCubic) 100ms;
    }
    .nav-visible .c-header__btn-bar{
        background-color: transparent;
        -webkit-transform: rotate(360deg) rotateZ(0);
        -moz-transform: rotate(360deg) rotateZ(0);
        transform: rotate(360deg) rotateZ(0);
    }
    .nav-visible .c-header__btn-bar:before{
        -webkit-transform: translate3d(0, 0%, 0) rotate(45deg);
        -moz-transform: translate3d(0, 0%, 0) rotate(45deg);
        transform: translate3d(0, 0%, 0) rotate(45deg);
    }
    .nav-visible .c-header__btn-bar:after{
        -webkit-transform: translate3d(0, 0%, 0) rotate(-45deg);
        -moz-transform: translate3d(0, 0%, 0) rotate(-45deg);
        transform: translate3d(0, 0%, 0) rotate(-45deg);
    }


    /* Nav */

    .c-nav{
        --navDelay: 500ms;
        --navItemDelay: 80ms;
    }
    .nav-visible .c-nav{
        animation: showNav var(--navDelay) ease-out;
    }
    .nav-closing .c-nav{
        animation: hideNav var(--navDelay) ease-out forwards;
    }

}



/* ********************** de Mobile a TABLET ********************** */

@media (min-width: 768px) and (max-width: 979px) and (min-height: 668px){

    .c-nav__item{
        font-size: 2.6rem;
    }


}



/* ********************** de Tablet a DESKTOP ********************** */

@media (min-width: 980px) {

    .is-fixed .c-header__brand{
        width: 260px;
    }

    /* NAV */
    
    .c-nav__link:hover{
        color: var(--color-hover);
    }


}


@keyframes showNav{
    0%{
        opacity: 0;
    }
    100%{
        opacity: 1;
    }
}
@keyframes showNavItem{
    0%{
        opacity: 0;
        transform: translate3d(0,30px,0);
    }
    100%{
        opacity: 1;
        transform: translate3d(0,0,0);
    }
}
@keyframes hideNav{
    0%{
        opacity: 1;
    }
    100%{
        opacity: 0;
    }
}