/**
 * Header CSS
 * 
 * This file contains all styling for the theme header and navigation:
 * - Header navigation container (.theme-header-navigation-container)
 * - Logo positioning and sizing
 * - Hamburger menu animation
 * - Desktop navigation menu (.header-menu-list)
 * - Dropdown menus and sub-menus
 * - Mega menu styling (.item-mega-menu)
 * - Mobile navigation drawer (.header-dropdown-container)
 * - Search menu functionality
 * - Login container styling
 * 
 * Extracted from main.css lines 4189-4850
 */

.theme-header-navigation-container {
    --vertical-padding: 10px;
    --horizontal-padding: 20px;
    --nav-side-menu: 20px;
    --nav-menu-spacing: 8px;
    --mobile-visibility: flex;
    --desktop-visibility: none;
    background-color: #fff;
    background-color: var(--theme-white-color);
    color: #6d6e6e;
    color: var(--theme-black-color);
    flex-flow: row nowrap;
    position: sticky;
    top: 0;
    z-index: 999
}

@media screen and (min-width:396px) {
    .theme-header-navigation-container {
        --nav-menu-spacing: 16px
    }
}

@media screen and (min-width:991px) {
    .theme-header-navigation-container {
        --nav-menu-spacing: 36px;
        --mobile-visibility: none;
        --desktop-visibility: flex
    }
}

@media screen and (min-width:1280px) {
    .theme-header-navigation-container {
        --nav-side-menu: calc(50% - 640px);
        --horizontal-padding: 0
    }
}

.theme-header-navigation-container p {
    margin: 0
}

.theme-header-navigation-container .header-navigation-wrapper {
    padding-top: 20px;
    padding-bottom: 20px;
    align-items: center;
    display: flex;
    justify-content: space-evenly;
    margin: 0 auto;
    max-width: 80rem;
    max-width: var(--theme-large-section-size);
    padding: 20px;
    width: 100%
}

@media screen and (min-width:991px) {
    .theme-header-navigation-container .header-navigation-wrapper {
        flex-flow: row nowrap
    }
}

.theme-header-navigation-container .header-navigation-wrapper>:not(:last-child) {
    margin-right: var(--nav-menu-spacing)
}

.theme-header-navigation-container .header-navigation-wrapper>.header-burger-stack-wrapper {
    margin-right: 0
}

.theme-header-navigation-container .header-navigation-wrapper .header-logo-wrapper {
    width: 7.5rem
}

@media screen and (min-width:991px) {
    .theme-header-navigation-container .header-navigation-wrapper .header-logo-wrapper {
        width: 10rem
    }
}

.theme-header-navigation-container .header-navigation-wrapper>a:hover+.nav-menu-dropdown-element {
    max-height: 80vh
}

.theme-header-navigation-container .header-navigation-wrapper .header-burger-stack-wrapper {
    background-color: transparent;
    border: 0;
    color: inherit;
    cursor: pointer;
    font: inherit;
    overflow: visible;
    text-transform: none;
    transition-duration: .15s;
    transition-property: opacity, filter;
    transition-timing-function: linear
}

@media screen and (min-width: 991px) {
    .theme-header-navigation-container .header-navigation-wrapper .header-burger-stack-wrapper {
        display: none;
    }
}

.theme-header-navigation-container .header-navigation-wrapper .header-burger-stack-wrapper.open:hover,
.theme-header-navigation-container .header-navigation-wrapper .header-burger-stack-wrapper:hover {
    opacity: .7
}

.theme-header-navigation-container .header-navigation-wrapper .header-burger-stack-wrapper.open .hamburger-inner,
.theme-header-navigation-container .header-navigation-wrapper .header-burger-stack-wrapper.open .hamburger-inner:after,
.theme-header-navigation-container .header-navigation-wrapper .header-burger-stack-wrapper.open .hamburger-inner:before {
    background-color: #c2c2c2;
    background-color: var(--theme-grey-color)
}

.theme-header-navigation-container .header-navigation-wrapper .hamburger-box {
    display: inline-block;
    height: 22px;
    position: relative;
    width: 26px
}

.theme-header-navigation-container .header-navigation-wrapper .hamburger-inner {
    display: block;
    margin-top: -1px;
    top: 50%
}

.theme-header-navigation-container .header-navigation-wrapper .hamburger-inner,
.theme-header-navigation-container .header-navigation-wrapper .hamburger-inner:after,
.theme-header-navigation-container .header-navigation-wrapper .hamburger-inner:before {
    background-color: #c2c2c2;
    background-color: var(--theme-grey-color);
    border-radius: 0;
    height: 2px;
    position: absolute;
    transition-duration: .15s;
    transition-property: transform;
    transition-timing-function: ease;
    width: 26px
}

.theme-header-navigation-container .header-navigation-wrapper .hamburger-inner:after,
.theme-header-navigation-container .header-navigation-wrapper .hamburger-inner:before {
    content: "";
    display: block
}

.theme-header-navigation-container .header-navigation-wrapper .hamburger-inner:before {
    top: -8px
}

.theme-header-navigation-container .header-navigation-wrapper .hamburger-inner:after {
    bottom: -8px
}

.theme-header-navigation-container .header-navigation-wrapper .header-burger-stack-wrapper .hamburger-inner {
    transition-duration: 75ms;
    transition-timing-function: cubic-bezier(.55, .055, .675, .19)
}

.theme-header-navigation-container .header-navigation-wrapper .header-burger-stack-wrapper .hamburger-inner:before {
    transition: top 75ms ease .12s, opacity 75ms ease
}

.theme-header-navigation-container .header-navigation-wrapper .header-burger-stack-wrapper .hamburger-inner:after {
    transition: bottom 75ms ease .12s, transform 75ms cubic-bezier(.55, .055, .675, .19)
}

.theme-header-navigation-container .header-navigation-wrapper .header-burger-stack-wrapper.open .hamburger-inner {
    transform: rotate(45deg);
    transition-delay: .12s;
    transition-timing-function: cubic-bezier(.215, .61, .355, 1)
}

.theme-header-navigation-container .header-navigation-wrapper .header-burger-stack-wrapper.open .hamburger-inner:before {
    opacity: 0;
    top: 0;
    transition: top 75ms ease, opacity 75ms ease .12s
}

.theme-header-navigation-container .header-navigation-wrapper .header-burger-stack-wrapper.open .hamburger-inner:after {
    bottom: 0;
    transform: rotate(-90deg);
    transition: bottom 75ms ease, transform 75ms cubic-bezier(.215, .61, .355, 1) .12s
}

@media screen and (max-width:367px) {
    .theme-header-navigation-container .header-navigation-wrapper .header-menu-container {
        white-space: nowrap
    }
}

@media screen and (max-width:412px) {
    .theme-header-navigation-container .header-navigation-wrapper .header-menu-container {
        white-space: nowrap
    }

    .theme-header-navigation-container .header-navigation-wrapper .login-container {
        margin-left: 8px
    }
}

.theme-header-navigation-container .header-menu-container {
    display: flex
}

.theme-header-navigation-container .header-menu-container .header-menu-list {
    font-weight: 500;
    text-transform: uppercase;
    color: #F07E24;
    list-style-type: none !important;
    align-items: center;
    display: flex;
    flex-flow: row nowrap;
    font-size: .9rem;
    line-height: 1.25rem
}

.theme-header-navigation-container .header-menu-container .header-menu-list>li:not(:last-of-type) {
    margin-right: var(--nav-menu-spacing)
}

.theme-header-navigation-container .header-menu-container .header-menu-list>li:hover .sub-menu {
    max-height: 90vh
}

.theme-header-navigation-container .header-menu-container .header-menu-list>li:hover.has-children>a:after {
    transform: rotate(180deg)
}

.theme-header-navigation-container .header-menu-container .header-menu-list>li.has-children>a:after {
    color: #7ab5b0;
    color: var(--theme-primary-color);
    content: "\e900";
    font-family: icomoon !important;
    font-size: .8rem;
    margin-left: 5px;
    transform: rotate(0deg);
    transition: transform .3s ease-in-out
}

@media screen and (max-width:990px) {
    .theme-header-navigation-container .header-menu-container .header-menu-list>li:not(.login-container) {
        display: none
    }
}

.theme-header-navigation-container .header-menu-container .sub-menu {
    font-size: 1rem;
    line-height: 2.25rem;
    max-height: 0;
    overflow: hidden;
    position: absolute;
    top: 100%;
    transition: max-height .3s ease-in-out
}

.theme-header-navigation-container .header-menu-container .sub-menu>.sub-menu-container {
    background: linear-gradient(90deg, #f9f9f9, hsla(0, 0%, 98%, .9) 50%, hsla(0, 0%, 98%, 0));
    position: relative;
    padding: 10px;
}

.theme-header-navigation-container .header-menu-container .sub-menu>.sub-menu-container.has-solid-background {
    background: #fef9f2;
    width: 200px;
    text-align: center;
    border-bottom-left-radius: 10px 10px;
    border-bottom-right-radius: 10px 10px;
}

.theme-header-navigation-container .header-menu-container .sub-menu>.sub-menu-container>.sub-menu-wrapper {
    margin: 0 auto;
    max-width: 64rem;
    max-width: var(--theme-size-medium-large);
    padding: 1rem 0;
    position: relative
}

.theme-header-navigation-container .header-menu-container .sub-menu>.sub-menu-container>.sub-menu-wrapper>*+* {
    margin-top: 16px
}

.theme-header-navigation-container .header-menu-container .sub-menu>.sub-menu-container>.sub-menu-wrapper li:hover .nav-item-image {
    display: block
}

.theme-header-navigation-container .header-menu-container .sub-menu>.sub-menu-container>.sub-menu-wrapper li:hover h4 {
    color: #7ab5b0;
    color: var(--theme-primary-color)
}

.theme-header-navigation-container .header-menu-container .sub-menu>.sub-menu-container>.sub-menu-wrapper li:hover p {
    font-weight: 700
}

.theme-header-navigation-container .header-menu-container .sub-menu>li {
    margin-bottom: 18px
}

.theme-header-navigation-container .header-menu-container .sub-menu>li:first-child {
    margin-top: 28px
}

.theme-header-navigation-container .header-menu-container .sub-menu>li:last-child {
    margin-bottom: 28px
}

.theme-header-navigation-container .header-burger-stack-wrapper {
    align-items: center;
    cursor: pointer;
    display: flex;
    flex-flow: column nowrap;
    padding: 2px;
    width: 30px
}

.theme-header-navigation-container .header-burger-stack-wrapper>.burger-stack-element {
    background-color: #c2c2c2;
    background-color: var(--theme-grey-color);
    height: 2px;
    max-width: 100%;
    transition: max-width .1s linear;
    width: 100%
}

.theme-header-navigation-container .header-burger-stack-wrapper>.burger-stack-element:not(:last-of-type) {
    margin-bottom: 6px
}

.theme-header-navigation-container .header-burger-stack-wrapper.open .burger-stack-element:first-of-type {
    max-width: 50%
}

.theme-header-navigation-container .header-burger-stack-wrapper.open .burger-stack-element:nth-of-type(2) {
    max-width: 70%
}

.theme-header-navigation-container .header-burger-stack-wrapper.open+.header-dropdown-container {
    max-height: 80vh
}

.theme-header-navigation-container .header-dropdown-container {
    background: #fff;
    background: var(--theme-white-color);
    font-size: 1.75rem;
    left: 0;
    line-height: 2.25rem;
    max-height: 0;
    overflow-y: auto;
    position: absolute;
    right: 0;
    top: 100%;
    transition: max-height .3s ease-in-out
}

.theme-header-navigation-container .header-dropdown-container>li {
    display: flex;
    flex-flow: column nowrap
}

.theme-header-navigation-container .header-dropdown-container .header-dropdown-wrapper {
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    max-width: 64rem;
    max-width: var(--theme-size-medium-large);
    padding: 2.5rem 0;
    width: 100%
}

@media screen and (min-width:991px) {
    .theme-header-navigation-container .header-dropdown-container .header-dropdown-wrapper {
        flex-direction: row
    }
}

.theme-header-navigation-container .header-dropdown-container .header-dropdown-wrapper .header-dropdown-main {
    margin-bottom: 1rem
}

@media screen and (min-width:991px) {
    .theme-header-navigation-container .header-dropdown-container .header-dropdown-wrapper .header-dropdown-main {
        border-right: 1px solid #c2c2c2;
        border-right: 1px solid var(--theme-color-lines);
        margin-right: 5rem;
        max-width: -moz-fit-content;
        max-width: fit-content;
        padding-right: 5rem
    }
}

.theme-header-navigation-container .header-dropdown-container .header-dropdown-wrapper .header-dropdown-list {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    font-size: 1.25rem;
    overflow-y: auto;
    padding: 0 3rem
}

@media screen and (min-width:991px) {
    .theme-header-navigation-container .header-dropdown-container .header-dropdown-wrapper .header-dropdown-list {
        font-size: 1.5rem;
        line-height: 2rem;
        max-height: -moz-fit-content;
        max-height: fit-content;
        padding: 0
    }
}

.theme-header-navigation-container .header-dropdown-container .header-dropdown-wrapper .header-dropdown-list>.menu-item.menu-item-has-children>a {
    font-size: .75rem;
    line-height: 1.25rem
}

.theme-header-navigation-container .header-dropdown-container .header-dropdown-wrapper .header-dropdown-list .login-container.header {
    display: none
}

.theme-header-navigation-container .header-dropdown-container .header-dropdown-wrapper .has-children>a {
    font-size: .75rem;
    font-weight: 200;
    line-height: 1rem;
    margin-bottom: 20px
}

.theme-header-navigation-container .header-dropdown-container .header-dropdown-wrapper .has-children>.sub-menu {
    position: relative
}

.theme-header-navigation-container .header-dropdown-container .header-dropdown-wrapper .has-children>.sub-menu>li:not(:last-of-type) {
    margin-bottom: 18px
}

.theme-header-navigation-container .icon-search {
    font-size: 1.5rem
}

.item-mega-menu {
    align-items: center;
    color: #F07E24;
    flex-flow: row nowrap;
    max-width: 32rem;
    font-weight: 500;
}

.item-mega-menu>h4 {
    font-size: 16px;
    width: auto
}

.item-mega-menu>p {
    font-size: .75rem;
    font-style: italic;
    line-height: 1.25rem;
    margin-left: 16px;
    white-space: nowrap
}

.item-mega-menu .nav-item-image {
    border-radius: 1rem;
    bottom: 1rem;
    display: none;
    max-width: 22rem;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 1rem
}

.item-mega-menu .nav-item-image img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.nav-menu-dropdown-element {
    font-size: 1.75rem;
    left: 0;
    line-height: 2.25rem;
    max-height: 0;
    overflow: hidden;
    padding: 0 var(--nav-side-menu);
    position: absolute;
    right: 0;
    top: 100%;
    transition: max-height .3s ease-in-out
}

.nav-menu-search-container>.icon-search {
    cursor: pointer
}

.nav-menu-search-container>.icon-search.open+.nav-menu-dropdown-element {
    max-height: 100%
}

.nav-menu-search-container>.icon-search+.nav-menu-dropdown-element {
    background-color: #f9f9f9;
    background-color: var(--theme-light-grey-color)
}

.nav-menu-search-container>.nav-menu-dropdown-element {
    align-items: center;
    display: flex;
    flex-flow: row nowrap;
    height: 100%;
    top: 0;
    z-index: 1
}

.nav-menu-search-container>.nav-menu-dropdown-element>.nav-menu-dropdown-element-wrapper {
    align-items: center;
    color: #c2c2c2;
    color: var(--theme-grey-color);
    display: flex;
    flex-flow: row nowrap;
    width: 100%
}

.nav-menu-search-container>.nav-menu-dropdown-element>.nav-menu-dropdown-element-wrapper>.search-form {
    align-items: center;
    display: flex;
    max-width: 100%
}

@media screen and (min-width:991px) {
    .nav-menu-search-container>.nav-menu-dropdown-element>.nav-menu-dropdown-element-wrapper>.search-form {
        flex: 1
    }
}

.nav-menu-search-container>.nav-menu-dropdown-element>.nav-menu-dropdown-element-wrapper>.search-form>input[type=search] {
    background-color: transparent;
    border: none;
    box-shadow: none;
    font-size: 1.5rem;
    line-height: 2rem;
    outline: none;
    width: 100%
}

.nav-menu-search-container>.nav-menu-dropdown-element>.nav-menu-dropdown-element-wrapper>.icon-close {
    cursor: pointer;
    flex: 0 1 auto;
    font-size: 1rem;
    margin-left: 20px
}

.login-container {
    align-items: center;
    background-color: #fff;
    background-color: var(--theme-white-color);
    flex-flow: row nowrap;
    padding: 0
}

.login-container>:not(:last-of-type) {
    margin-right: var(--nav-menu-spacing)
}

.login-container.header {
    display: flex;
}

@media screen and (min-width: 800px) {
    .login-container.header {
        display: flex;
    }
}

.login-container.dropdown {
    display: var(--desktop-visibility);
    padding: 1.5rem 0
}

.login-container a:not([class]) {
    color: #f07e24;
    color: var(--theme-highlight-color)
}

@media screen and (min-width:991px) {
    .login-container {
        padding: 0
    }

    .login-container a:first-child {
        position: relative;
        color: #7AB5B0;
    }

    .login-container a:first-child:after {
        border-right: solid 1px #c2c2c2;
        border-right: solid 1px var(--theme-color-lines);
        bottom: 0;
        content: "";
        height: 1.5rem;
        margin: auto;
        position: absolute;
        right: -1.1rem;
        top: 0
    }
}

@media screen and (max-width:990px) {
    .login-container a.theme-button {
        padding: .75rem .825rem
    }
}

.header-min {
    padding: 1rem 0
}

.header-min .theme-logo {
    line-height: 0
}

.header-min .theme-logo img {
    height: 3.5rem
}

@media screen and (min-width:991px) {
    .header-min .theme-logo img {
        height: 5rem
    }
}

.theme-archive-container {
    display: flex;
    flex-flow: column nowrap;
    padding-bottom: 40px
}

.theme-archive-container>article {
    background-color: #eff8e9;
    background-color: var(--theme-lime-color);
    border-radius: 8px;
    color: #6d6e6e;
    color: var(--theme-black-color);
    padding: 12px 22px
}

.theme-archive-container>article:not(:last-of-type) {
    margin-bottom: 10px
}

.theme-archive-container>article>h3 {
    margin-bottom: 5px
}

.theme-archive-container>article>p {
    font-size: 1rem;
    line-height: 1.25rem
}

.theme-archive-container>h2 {
    color: #f07e24;
    color: var(--theme-highlight-color)
}
