﻿/********************************************************* HEADER AND NAVIGATION ***************************************************/
.fixed {
    position: fixed;
}

#header-main {
    visibility: hidden;
    position: fixed;
    z-index: 1000;
    background: rgba(0, 0, 0, 0.9);
    height: 60px;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    transition: height 0.2s ease-in-out, font 0.2s ease-in-out, top 0.2s ease-in-out, background 0.2s .2s ease-in-out;
    padding: 0 20px;
    font: 400 1rem/1.2 'Lato', sans-serif;
}

    #header-main .header-inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        height: 100%;
    }

        #header-main .header-inner ul {
            margin: 0;
            list-style: none;
            display: flex;
            align-items: center;
        }

            #header-main .header-inner ul > li > a {
                display: block;
                padding: 18px 1.2rem;
                position: relative;
            }

                #header-main .header-inner ul > li > a:focus {
                    outline: none;
                }

    #header-main.top .header-inner ul > li > a .fas {
        font-size: .8em;
        margin-left: 8px;
    }

    #header-main.tucked {
        visibility: hidden !important;
    }

    #header-main.top {
        height: 75px;
    }

        #header-main.top.tucked {
            top: -75px;
        }

        #header-main.top .header-inner ul > li > a {
            padding: 26px 1.2rem 25px;
        }

    #header-main:hover {
        background: #000 !important
    }

.nav-open #header-main {
    top: 0;
}

#header-main a {
    color: #fff;
    text-decoration: none;
}

#header-main .logo {
    height: 100%;
    display: flex;
    align-items: center;
    opacity: .95;
}

@media (min-width:1200) {
    #header-main .logo {
        z-index: 999;
    }
}

#header-main .logo span {
    position: absolute;
    left: -999em;
}

#header-main .logo img {
    height: 43px;
    transition: all 0.2s ease-in-out;
    position: relative;
    top: 0;
}

#header-main.top .logo img {
    height: 54px;
}
/*first 4 links*/
#header-main .header-inner ul ul {
    display: none;
}

@media (max-width: 1023px) {
    #header-main .header-inner nav {
        display: none;
    }
}

@media (max-width: 768px) {
    #header-main.top {
        height: 60px;
        font-size: 16px;
    }

        #header-main.top.tucked {
            top: -60px;
        }

        #header-main.top .logo img {
            height: 43px;
        }
}
/* trans header */
@media (min-width: 768px) {
    #header-main.header-main-featured.top {
        background: rgba(0,0,0,.001);
        transition: height 0.2s ease-in-out, font 0.2s ease-in-out, top 0.2s ease-in-out, background 0.2s ease-in-out;
    }
}

/* burger menu button*/
#nav-burger {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 30px;
    height: 22px;
    z-index: 1010;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    transition: .2s ease-in-out;
    cursor: pointer;
}

    #nav-burger span {
        display: block;
        position: absolute;
        height: 3px;
        width: 100%;
        background: #fff;
        opacity: 1;
        left: 0;
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        transition: .25s ease-in-out;
    }

        #nav-burger span:nth-child(1) {
            top: 0px;
        }

        #nav-burger span:nth-child(2), #nav-burger span:nth-child(3) {
            top: 9px;
        }

        #nav-burger span:nth-child(4) {
            top: 18px;
        }

.nav-open #nav-burger span:nth-child(1), .nav-open #nav-burger span:nth-child(4) {
    width: 0%;
    left: 50%;
}

.nav-open #nav-burger span:nth-child(2) {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.nav-open #nav-burger span:nth-child(3) {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.top #nav-burger {
    top: 20px;
}

@media (min-width:769px) and (max-width: 1199px) {
    .top #nav-burger {
        top: 28px;
    }
}
/* nav overlay (drawer)*/
#nav-drawer {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
}

.nav-open #nav-drawer {
    position: fixed;
    bottom: 0;
}

#nav-drawer .drawer-inner {
    position: fixed;
    z-index: 1000;
    max-width: 400px;
    width: 90%;
    right: -400px;
    bottom: 0px;
    top: 0;
    background: #212121;
    text-align: center;
    color: #fff;
    overflow: auto;
    padding: 50px 0 20px;
    transition: right .2s ease-in-out;
}

.nav-open #nav-drawer .drawer-inner {
    right: 0;
    transition: right .2s ease-in-out;
}

.top #nav-drawer .drawer-inner {
    padding: 55px 0 20px;
}

#nav-drawer nav {
    text-align: left;
    display: flex;
    flex-flow: column;
    position: relative;
}

.nav-open #nav-drawer nav {
    top: 10px;
    height: 100%;
}

#nav-drawer nav ul {
    margin: 0 auto;
}

    #nav-drawer nav ul ul {
        display: none;
    }

#nav-drawer nav li {
    list-style: none;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #474747;
}

    #nav-drawer nav li a {
        display: block;
        padding: 20px 20px;
        width: 100%;
        position: relative;
        font-size: 20px;
    }

        #nav-drawer nav li a:focus {
            outline: none;
        }

#nav-drawer nav .primary {
    font-size: 1.2rem;
}

#nav-drawer nav .secondary {
    margin-bottom: 30px;
}

#nav-drawer .skin-search-go {
    display: none;
}

#nav-drawer nav .social {
    width: 100%;
    position: relative;
    bottom: 10px;
    padding: 30px;
    margin-top: auto;
}

    #nav-drawer nav .social ul {
        width: 100%;
        display: flex;
        justify-content: space-between;
        font-size: 1.6rem;
    }

    #nav-drawer nav .social a {
        font-size: 2rem;
        border-radius: 50%;
        width: 50px;
        height: 50px;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #fff;
        transition: all .2s;
    }

        #nav-drawer nav .social a .fa-youtube {
            font-size: .9em;
        }

        #nav-drawer nav .social a:hover {
            text-decoration: none;
            color: #000;
            background: #fff;
        }

        #nav-drawer nav .social a:after {
            display: none;
        }

/* search */
#nav-drawer .search-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    border-bottom: 3px solid #355e93;
    height: 65px;
    
}

#nav-drawer input[type=search] {
    color: #fff;
    padding: 1rem 1rem .5rem 2.7rem;
    background: rgba(255, 255, 255, 0.001);
    transition: all .2s;
    border: none;
    font-family: Lato, sans-serif;
    font-size: 20px;
    width: 100%;
    top: 1rem;
    position: relative;
    z-index: 2;
}

    #nav-drawer input[type=search]:focus {
        box-shadow: none;
    }

#nav-drawer input::-webkit-input-placeholder {
    color: rgba(207,207,207,1);
}

#nav-drawer input:focus::-webkit-input-placeholder {
    color: rgba(255,255,255,.001);
}

#nav-drawer input:-moz-placeholder {
    color: rgba(207,207,207,1);
}

#nav-drawer input:focus:-moz-placeholder {
    color: rgba(255,255,255,.001);
}

#nav-drawer input::-moz-placeholder {
    color: rgba(207,207,207,1);
}

#nav-drawer input:focus::-moz-placeholder {
    color: rgba(255,255,255,.001);
}

#nav-drawer input:-ms-input-placeholder {
    color: rgba(207,207,207,1);
}

#nav-drawer input:focus:-ms-input-placeholder {
    color: rgba(255,255,255,.001);
}

#nav-drawer .search-wrap span {
    color: rgba(207,207,207,1);
    position: absolute;
    left: 0;
    top: 0;
    padding: 20px;
    padding-top: 15px !important;
    margin: 0;
    font-family: Lato, sans-serif;
    font-size: 1.6rem;
    z-index: 999;
    cursor: pointer;
    transition: all .2s;
}

    #nav-drawer .search-wrap label span {
        color: rgba(207,207,207,1);
    }

#nav-drawer .search-wrap.focus label i {
    color: rgba(255,255,255,1);
}

#nav-drawer .search-wrap.focus label span {
    color: rgba(207,207,207,.001)
}

#nav-drawer .search-wrap .underline-animation {
    transition: all 0.3s;
    display: inline-block;
    bottom: 0;
    left: 2.7rem;
    position: absolute;
    width: 0;
    height: 2px;
    background-color: #fff;
}

#nav-drawer .search-wrap.focus .underline-animation {
    width: 20%;
}

@media (max-width: 1200px) {
    #nav-drawer .search-wrap.focus .underline-animation {
        width: 30%;
    }
}

@media (max-width: 992px) {
    #nav-drawer .search-wrap.focus .underline-animation {
        width: 40%;
    }
}

/********************************************************* end header and navigation ***************************************************/

/*new*/
#header-main .header-inner nav {
    padding-right: 55px;
}

#header-main .top-level.hover {
    background: #355e93;
}

/* top level */
nav.main .top-level > a .fas {
    font-size: .8em;
    margin-left: 8px;
}

#header-main.top .header-inner ul > li.top-level > a:hover {
    background: #355e93;
}

/* top level down arrow*/
.arrow-down {
    display: none;
    width: 85%;
    text-align: center;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .arrow-down {
        margin-left: 43%;
    }
}

.top-level.hover.parent .arrow-down {
    display: block;
}

.arrow-down i {
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #355e93;
    position: absolute;
    margin: auto;
    z-index: 3;
}

/* second level */
nav.main .desktop-blank {
    width: 100%;
    height: 75px;
    position: absolute;
    left: 0;
    top: 0;
    background: transparent;
    padding: 0;
    margin: 0;
    line-height: 1.2;
    list-style: none;
}

/* second level */
nav.main > ul > li > ul.level2 {
    position: absolute;
    top: -999em;
    border-top: 3px #355e93 solid;
    z-index: 2;
    padding: 0 45px;
    background: #000;
    display: flex !important;
    align-items: flex-start !important;
    opacity: 0;
    transition: transform 0.4s ease 0s, opacity 0.4s ease 0s, top 0s ease 5.4s;
    transform: rotateX(90deg);
    transform-origin: top center;
    max-width: 100vw;
}

    nav.main > ul > li > ul.level2.pin-right {
        left: auto;
        right: 0;
    }

nav.main > ul > li.hover > ul.level2 {
    top: 100%;
    opacity: .95;
    transform: rotateX(0deg);
    transition: transform 0.4s ease 0s, opacity 0.4s ease 0s, top 0s;
}

nav.main.already-open.hover > ul > li > ul.level2 {
    transition: none;
}

nav.main .level2 > li {
    width: 300px;
    display: block;
    padding: 0 0 40px;
    margin: 0 !important;
}

nav.main .level2 a {
    text-transform: uppercase;
}

nav.main .level2 span.sub:hover {
    text-transform: initial !important;
}

nav.main .level2 > li > a {
    margin: 0 20px 0 0;
    padding: 26px 0 13px 0 !important;
}

nav.main .top-level .level2 > li > a {
    pointer-events: none;
    color: #fff;
    text-transform: uppercase;
    font-weight: 500;
    font-size: 24px;
    letter-spacing: 1px;
    font-family: Oswald, sans-serif;
    height: 70px;
    padding: 30px 0 13px 0;
}

/* third level */
nav.main .level2 ul {
    z-index: 2;
    display: list-item !important;
}

nav.main .level2 > ul > li {
    display: list-item !important;
    width: 240px;
}

nav.main .level2 ul > li a {
    padding: 8px 3px !important;
    margin: 0 30px 0 0 !important;
    display: inline-block !important;
    width: 220px;
    text-transform: none;
    font-size: 0.9em;
    color: #adadad !important;
}

    nav.main .level2 ul > li a:hover {
        color: #fff !important;
    }
/* 4+ level */
nav.main .level2 ul > li ul {
    display: none !important;
}

nav.main > ul > li.hover > ul > li > ul {
    /*position: absolute;*/
    display: inline !important;
}
/* desktop nav */
.header-inner .main {
    display: none;
}

@media (min-width: 1200px) {
    .header-inner .main {
        display: block;
    }
}
/* desktop search*/
.nav-search-icon {
    color: #fff;
    position: absolute;
    right: 0px;
    top: 0px;
    font-size: 1.2rem;
    cursor: pointer;
    padding: 16px;
    text-align: center;
    width: 75px;
}

#header-main.top .nav-search-icon {
    padding: 24px 24px 23px;
}

.nav-search-icon:hover {
    background: #355e93;
}

.nav-search-icon:focus {
    background: #355e93;
}

.nav-search {
    color: #fff;
    position: absolute;
    right: -550px;
    top: 0px;
    font-size: 1.2rem;
    background: #355e93;
    padding: 14px 15px 15px 34px;
    width: 850px;
    height: 60px;
    display: none;
}

#header-main.top .nav-search {
    padding: 21px 15px 22px 34px;
    height: 75px;
}

.nav-search input {
    background: transparent;
    border: none;
    font-size: 20px;
    width: 100%;
    box-shadow: none;
}

    .nav-search input:focus::placeholder {
        color: transparent;
    }

    .nav-search input:focus {
        background: transparent;
        box-shadow: none;
    }

.nav-search .search-icon {
    font-size: 28px;
    position: absolute;
    cursor: pointer;
    right: 75px;
    top: 0;
    padding: 14px 21px;
    width: 75px;
}

#header-main.top .nav-search .search-icon {
    padding: 21px;
    height: 75px;
}

.nav-search input::placeholder {
    /* Most modern browsers support this now. */
    color: #aebfd4;
}

.nav-search .close-icon {
    position: absolute;
    cursor: pointer;
    right: 0;
    top: 0;
    border-left: 1px solid #aebfd4;
    width: 75px;
    height: 60px;
    padding: 14px 0 0;
}

#header-main.top .nav-search .close-icon {
    padding: 21px 0 0;
    height: 75px;
}
/* mobile nav*/
#nav-drawer,
#nav-burger,
.mobile-arrow,
.mobile-home,
#header-main nav li.mobile-back,
#extended-nav .mobile-back,
#extended-nav .mobile-level1-placeholder,
#header-main nav li.mobile-level1-placeholder,
#mobile-overlay {
    display: none;
}

header .drawer-inner .primary .desktop-blank {
    display: none !important;
}

nav .top-level a:focus {
    border: 1px solid #355e93;
}

nav .level2 a:focus {
    border: none;
}

@media (max-width: 1199px) {
    #nav-burger {
        /*position: relative;
        margin-left: auto;
        top:unset !important;*/
    }

    #nav-drawer,
    #nav-burger,
    .mobile-arrow,
    .mobile-home {
        display: block;
    }

    .mobile-arrow {
        display: inline-block;
        position: absolute;
        right: 20px;
    }

    .drawer-inner .show-child {
        display: block !important;
        position: absolute;
        width: 400px;
        margin: 55px 0 0 !important;
    }

        .drawer-inner .show-child ul {
            display: list-item !important;
        }

    .drawer-inner .top-level {
        right: 300px;
    }

    #nav-drawer nav li:not(.mobile-level1-placeholder):not(.mobile-back) {
        display: list-item;
    }

    .mobile-back i {
        margin: 0 6px 0;
    }

    .drawer-inner .show-active > li > ul > li {
        color: #adadad !important;
        font-size: 20px;
        border: none !important;
    }

        .drawer-inner .show-active > li > ul > li > ul {
            display: none !important;
        }

        .drawer-inner .show-active > li > ul > li a {
            color: #adadad !important;
            font-size: 17px;
            height: auto;
            padding: 17px 20px 17px 44px !important;
        }

            .drawer-inner .show-active > li > ul > li a:hover {
                color: #fff !important;
            }

    .mobile-back {
        background: #0e0e0e;
        display: none;
        height: auto;
    }

        .mobile-back a {
            padding: 15px 20px !important;
            color: #adadad !important;
            font-size: 0.9em;
        }

    .mobile-level1-placeholder {
        font-weight: normal;
    }

    .show-active {
        background: #2c2c2c;
    }

        .show-active > li {
            padding: 0 0 10px 0;
        }

            .show-active > li > a {
                padding: 17px 20px 9px 30px !important;
            }

    .drawer-inner .show-active > li > a {
        padding: 20px 20px 10px 30px !important;
    }

    .show-active li span.sub {
        color: #adadad;
        font-style: italic;
        font-size: 0.8em;
        margin: 0 0 0 8px;
    }

    .drawer-inner #search-main {
        padding: 5px 55px 0 66px !important;
    }

    #mobile-overlay {
        height: 100%;
        width: 100%;
        position: fixed;
        z-index: 0;
        left: 0;
        top: 0;
        background-color: rgba(0, 0, 0, 0.9);
        overflow-x: hidden;
        transition: background-color 5s;
        display: none;
    }

    .drawer-inner .social li {
        border-bottom: none !important;
    }

    .nav-open .hide-on-mobile-nav-open {
        display: none !important;
    }
}
/* mobile search */
#nav-drawer .search-wrap.focus {
    background: #355e93;
}


/* desktop search close*/
.desktop-search-close {
    width: 75px;
    height: 75px;
    opacity: 1;
}

    .desktop-search-close:before,
    .desktop-search-close:after {
        position: absolute;
        left: 34px;
        content: " ";
        height: 33px;
        width: 3px;
        background-color: #fff;
    }

    .desktop-search-close:before {
        transform: rotate(45deg);
    }

    .desktop-search-close:after {
        transform: rotate(-45deg);
    }
/*link underlink animation*/
nav.main .level2 a span.main,
.underline a {
    text-decoration: none;
    background-image: linear-gradient(currentColor, currentColor);
    background-position: 0% 100%;
    background-repeat: no-repeat;
    background-size: 0% 3px;
    transition: background-size 0.2s;
    width: fit-content;
    display: inline;
    padding-bottom: 1px;
}

    nav.main .level2 a:hover span.main,
    nav.main .level2 a:focus span.main,
    .underline a:hover {
        background-size: 100% 2px;
        padding-bottom: 1px;
    }

@media (max-width: 1420px) {
    #header-main.top .header-inner ul > li > a {
        padding-bottom: 27px;
    }

    #header-main.top .nav-search-icon {
        padding-bottom: 24px;
    }
}
