

/* ==============================
HEADER
============================== */

header {
    opacity: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 40;
    transition: 300ms opacity;
}

header p{
    font-family: "Proxima Nova", sans-serif;
    font-size:16px;
    font-weight: 100;
    letter-spacing: 0.5px;
    -webkit-font-smoothing:auto;
}

header .underline a:before{
    bottom:0%;
    border-bottom:1px solid #fff;
    content:"";
    left:0;
    opacity:0;
    position:absolute;
    transform:scaleX(0);
    transform-origin:0 0;
    transition:250ms transform, 250ms opacity;
    width:calc( 100% - 30px);
}

.no-touchevents header .underline a:hover:before{
    opacity:1;
    transform:scaleX(1);
}

header .container-fluid {
    max-width: 1440px;
    padding-left: 15px;
    padding-right: 15px;
    width: 88vw;
    z-index: 1;
}

body.active header {
    opacity: 1;
}

header .container-fullwidth {
    padding: 15px 0;
    pointer-events: none;
    position: absolute;
    z-index: 100;
    transform: translateY(-130%);
    transition: 500ms transform;
    width: 100%;
}

header .container-fullwidth.mid{
    background: #fff;
    height: 100vh;
    max-height: 83px;
    overflow: hidden;
    pointer-events: auto;
    transform: translateY(0);
}

header .container-fullwidth.mid.show {
    background: rgba(0, 0, 0, 1);
    max-height: 100vh;
    -webkit-animation: mobileNavOpen 500ms;
    -moz-animation: mobileNavOpen 500ms;
    -o-animation: mobileNavOpen 500ms;
    animation: mobileNavOpen 500ms;
}

header .container-fullwidth.top{
    display:none;
}

header .container-fullwidth.mid.visible{
    overflow:visible;
}

header .container-fullwidth.visible {
    pointer-events: auto;
    transform: translateY(0%);
}

header .container-fullwidth .logo {
    width: 170px;
}

header .container-fullwidth ul {
    margin-bottom: 0;
    margin-left: 0;
    margin-top: 13px;
    opacity: 0;
    padding: 0;
}

header .container-fullwidth ul li {
    display: inline-block;
    letter-spacing: 0.1em;
    margin-left: 30px;
}

header .container-fullwidth ul li:nth-child(1) {
    margin-left: 0;
}

header .container-fullwidth.dark ul li a.selected,
header .container-fullwidth.dark ul li a,
header .container-fullwidth.dark ul li a:link,
header .container-fullwidth.dark ul li a:focus {
    color: #494949;
}

header .container-fullwidth ul li a,
header .container-fullwidth ul li a:link,
header .container-fullwidth ul li a:focus {
    color: #fff;
}

header .container-fullwidth.mid ul li {
    display: block;
    margin-left: 0;
    margin-top: 1em;
}

header .nav-button a {
    display: inline-block;
    letter-spacing: 0.05em;
    position: relative;
    text-decoration: none;
}

header .nav-button.underline a:before {
    width: 100%;
}

header .container-fullwidth.dark .nav-button a:before,
header .container-fullwidth.mid .nav-button a:before {
    border-bottom: 1px solid #000;
}

header .container-fullwidth.mid.show .nav-button a p{
    font-size:1.75em;
}

header .container-fullwidth.mid.show .nav-button.small a p{
    font-size:1.5em;
}

.no-touchevents .nav-button.underline a:hover:before,
.nav-button.underline.selected a:before {
    opacity: 1;
    transform: scaleX(1);
}

/* TOP */

/* MIDDLE */

.container-fullwidth.mid .wave-canvas {
    display:none;
    height: 200%;
    pointer-events: none;
    position: absolute;
    top: 0;
    transform: scaleY(-1) translateY(100%);
    transition: 300ms transform;
    width: 100%;
}

.container-fullwidth.mid.show .wave-canvas{
    /*opacity:0;*/
}

.container-fullwidth.mid.visible .wave-canvas {
    transform: scaleY(-1) translateY(0%);
}

.container-fullwidth.mid .container-fluid.maxxed {}

header .container-fullwidth.mid .nav-row{
    display:block;
}

header .container-fullwidth.mid .logo {
    height: 56px;
    width: 150px;
}

header .container-fullwidth.mid .logo.mobile, header .container-fullwidth.mid.show .logo{
    display:none;
}

header .container-fullwidth.mid .logo.mobile {
    /*display: block;*/
}

header .container-fullwidth.mid ul {
    margin-top: 7px;
}

header .container-fullwidth.mid.show ul{
    margin-top: 4em;
    opacity: 1;
    transition: 500ms opacity;
}

header .container-fullwidth.mid ul li a, 
header .container-fullwidth.mid ul li a:link, 
header .container-fullwidth.mid ul li a:focus {
    color: #fff;
}

header .container-fullwidth.mid.show .nav-button a {
    transform: translateY(0);
    -webkit-animation: mobileNavOpenItems 1000ms;
    -moz-animation: mobileNavOpenItems 1000ms;
    -o-animation: mobileNavOpenItems 1000ms;
    animation: mobileNavOpenItems 1000ms;
}

.no-touchevents header .container-fullwidth.mid.show .nav-button a:hover {
    color: #807e7e;
}

@-webkit-keyframes mobileNavOpenItems {
    0% {
        transform: translateY(10px);
    }
    100% {
        transform: translateY(0);
    }
}
@-moz-keyframes mobileNavOpenItems {
    0% {
        transform: translateY(10px);
    }
    100% {
        transform: translateY(0);
    }
}
@-o-keyframes mobileNavOpenItems {
    0% {
        transform: translateY(10px);
    }
    100% {
        transform: translateY(0);
    }
}
@keyframes mobileNavOpenItems {
    0% {
        transform: translateY(10px);
    }
    100% {
        transform: translateY(0);
    }
}

header .container-fullwidth.mid .hamburger-btn {
    cursor: pointer;
    display: block !important;
    height: 24px;
    position: absolute;
    right: 20px;
    top: 9px;
    transition: 200ms;
    width: 24px;
}

header .container-fullwidth.mid.show .hamburger-btn{
    transform: rotate(135deg);
}

header .container-fullwidth.mid.show .hamburger-btn svg.ham-close{
    opacity:0;
}

header .container-fullwidth.mid .hamburger-btn svg.ham-open {
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0px;
}

header .container-fullwidth.mid.show .hamburger-btn svg.ham-open{
    opacity: 1;
}

header .container-fullwidth.mid.show .hamburger-btn svg rect{
    fill:#fff;
}



@media (min-width: 769px) {
    .row{
        display:flex;
        flex-wrap:wrap;
        margin-left:0;
        margin-right:0;
    }

    .site-content .desc{
        padding-right:40px;
    }

    header .container-fullwidth ul,
    header .container-fullwidth.mid ul {
        margin-top: 0px;
    }

    header .container-fullwidth.top{
        display:block;
    }

    header .container-fullwidth.mid{
        transform:translateY(-130%);
    }

    header .container-fullwidth.mid .logo.mobile{
        display:none;
    }

    header .container-fullwidth.mid .hamburger-btn{
        display:none !important;
    }

    header .container-fullwidth, 
    header .container-fullwidth.mid{
        padding:20px 0;
    }

    header .container-fullwidth.mid.visible{
        transform:translateY(0%);
    }

    header .container-fluid{
        padding-left:15px;
        padding-right:15px;
    }

    header .container-fullwidth ul{
        margin-left:auto;
        opacity:1;
    }

    header .container-fullwidth ul li,
    header .container-fullwidth.mid ul li{
        margin-left:57px;
    }

    header .container-fullwidth.mid .nav-row{
        display:flex;
    }

    header .container-fullwidth.mid ul li{
        display:inline-block;
        padding-top:0.6em;
        margin-top:0;
    }

    header .container-fullwidth.mid ul li a, 
    header .container-fullwidth.mid ul li a:link, 
    header .container-fullwidth.mid ul li a:focus{
        color:#000;
    }

    header .container-fullwidth ul li:nth-child(1),
    header .container-fullwidth.mid ul li:nth-child(1){
        margin-left:0;
    }
}

















