/*
    4 - Header and footer styling

    4.10 - header menu
    4.11 - header logo area
    4.12 - header menu links area
    4.13 - header contact us button

    4.20 - header mobile menu
    4.21 - mobile header nav menu
    4.22 - mobile header bottom

    4.30 - footer menu
    4.31 - footer social links
    4.32 - footer signup form
    4.33 - footer orange links
    4.34 - footer orange ribbon
    4.35 - footer privacy links
    4.36 - footer copyright
 */

/* 4.10 - header menu */
header {
    position: relative;
}
header.gri-header {
    background-color: var(--white);
    box-shadow: 0 0 12px rgb(0, 0, 0, .5);
    color: var(--color-alpha);
    margin: 0;
}
.gri-header-content {
    width: 100%;
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 var(--padding);
    --gap: 0;
}
.gri-header-content .header__menu {
    width: calc(100% - 400px);
    gap: 0;
}

/* 4.11 - header logo area */
.gri-header-content .header__logo {
    max-width: 260px;
    gap: 0;
}

/* 4.12 - header menu links area */
.gri-header-content .header__menu > div {
    padding: 0 65px 0 50px;
    width: calc(100% - 180px);
}
.gri-header-content ul {
    gap: 5px 0;
    margin: 0;
    padding: 0;
}
.gri-header-content li {
    list-style: none;
    display: block;
    line-height: 44px;
}
.gri-header-content .header__menu li a {
    padding: var(--padding) 0;
    display: block;
    height: 100%;
}
.gri-header-content li a {
    color: var(--color-alpha);
    font-family: var(--font-family-h);
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
}
.gri-header-content .header__menu li ul.sub-menu {
    background-color: var(--white);
    border-top: 1px solid var(--color-alpha);
    box-shadow: 0 8px 12px -12px rgb(0, 0, 0, .5);
    display: none;
    left: 0;
    padding: 1em 0;
    position: absolute;
    text-align: center;
    width: 100%;
    z-index: 100;
}
.gri-header-content .header__menu li ul.sub-menu li {
    display: inline-block;
}
.gri-header-content .header__menu li ul.sub-menu li:first-child {
    margin-top: 2.5px;
}
.gri-header-content .header__menu ul.sub-menu li a {
    padding: 3px 20px;
    min-width: 200px;
    text-align: center;
}
.gri-header-content .header__menu li:hover a {
    color: var(--color-bravo);
}
.gri-header-content .header__menu li:hover ul.sub-menu a{
    color: var(--color-alpha);
}

.gri-header-content .header__menu li ul.sub-menu a:hover{
    color: var(--color-bravo);
}
.gri-header-content .header__menu li:hover ul.sub-menu {
    display: block;
}


/* 4.13 - header WTB button */
.gri-header .header-wtb {
    flex-grow: 1;
    text-align: right;
}
.gri-header .header-wtb img {
    width: 160px;
}


/* 4.20 - mobile header styles */
.gri-header-mobile {
    background-color: var(--white);
    color: var(--color-link);
    line-height: 1;
}
.gri-header-mobile .logo-row {
    gap: 20px;
    padding: 13px 17px;
}
.gri-header-mobile .mobile-logo img {
    height: 70px;
    max-width: none;
    width: auto;
}
.gri-header-mobile .header-wtb {
    display: none;
}
.gri-header-mobile .header-wtb img {
    max-width: 180px;
}
@media (min-width: 600px) {
    .gri-header-mobile .header-wtb {
        display: block;
    }
}
#mobile-toggle {
    font-size: 1.5em;
    width: 24px;
}


/* 4.21 - mobile header nav menu */
body.mobile-nav-show {
    overflow: hidden;
}
.gri-header-mobile .mobile-header__nav {
    background-color: var(--white);
    padding: 0;
    min-width: 100vw;
}
.gri-header-mobile.mobile-nav-show {
    gap: 0;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    position: fixed;
    width: 100vw;
}

.gri-header-mobile .mobile-header-content-wrapper {
    display: none;
}
.gri-header-mobile.mobile-nav-show .mobile-header-content-wrapper {
    display: block;
    height: auto;
    /* height: calc(100vh - 54px); */
}
.gri-header-mobile.mobile-nav-show .mobile-header-content-wrapper > div.flex {
    flex-wrap:nowrap;
    height: 100%;
}
.gri-header-mobile .mobile-header-content-wrapper a.header-wtb {
    display: block;
    margin: 1em;
    text-align: center;
}
@media (min-width: 600px) {
    .gri-header-mobile .mobile-header-content-wrapper a.header-wtb {
        display: none;
    }
}
.gri-header-mobile .mobile-header-content-wrapper a.header-wtb img {
    width: 200px; 
}
.gri-header-mobile .mobile-header__nav li {
    list-style: none;
}
.gri-header-mobile li a {
    color: var(--black);
    font-family: var(--font-family-h);
    font-size: var(--font-size-lg);
    text-align: left;
    text-decoration: none;
    text-transform: uppercase;
    width: 100%;
    align-items: center;
}
.gri-header-mobile ul.mobile-header__nav > li a {
    display: block;
    margin: 0;
    padding: 0.5em var(--padding);
}
.gri-header-mobile ul.sub-menu {
    align-items: stretch;
    border-bottom: 1px solid var(--color-alpha);
    display: grid;
    gap: 0.5em;
    grid-template-columns: 1fr 1fr;
    justify-items: stretch;
    padding: 0 0 1em;    
}
.gri-header-mobile ul.sub-menu li {
    padding: 0 var(--padding);
}
.gri-header-mobile ul.sub-menu li a {
    color: var(--color-alpha);
    font-size: var(--font-size);
    padding-left: 0;
}

/* 4.22 - mobile header bottom */
.mobile-header__bottom {
    flex: 1;
    gap: 1em;
    background-size: 36vw;
    background-repeat: no-repeat;
    background-position: -10px calc(100% + 10px);
}
.header-social {
    padding: 0;
    margin: 0;
}
.header-social li {
    list-style: none;
    display: inline-block;
    margin: 0 2em;
}
.header-social li a {
    color: var(--color-alpha);
    font-size: 2.5em;
}
.header-coupon {
    align-items: center;
    justify-content: center;
}
.header-coupon img {
    max-width: 150px;
}
.header-coupon p {
    color: var(--color-alpha);
    margin: 0;
}
.header-signup {
    margin-bottom: 5em;
    max-width: 600px;
}



/* 4.30 - footer */
footer {
    background-color: var(--white);
    border-top: 1px solid var(--color-alpha);
    margin-top: 2em;
}
.footer-wrapper {
    margin: 0 auto;
    padding-top: 2em;
    padding-bottom: 2em;
}
.footer-social {
    --gap: 55px;
}
.footer-social a {
    font-size: 40px;
}
.footer-coupon {
    align-items: center;
    justify-content: center;
}
.footer-coupon img {
    max-width: 150px;
}
.footer-coupon p {
    color: var(--color-alpha);
    margin: 0;
}
.footer-logo {
    justify-content: center;
    align-items: center;
}
.footer-logo img {
    max-width: 150px;
}
.footer__menu {
    align-items: center;
}
.footer-legal {
    border-top: 1px solid var(--color-alpha);
    padding: 2em 0;
}
.footer-legal .copyright {
    color: var(--color-alpha);
    font-size: var(--font-size-sm);
}


@media all and (max-width: 1064px) {
    .footer-wrapper > * {
        display: block;
        flex: 1 100% !important;
    }
    .footer-logo {
        display: none;
    }
    .footer__menu {
        text-align: center;
    }

}

/* Footer Menus */
ul.footer__nav,
ul.footer__legal {
    list-style: none;
    padding: 0;
}
ul.footer__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    justify-content: stretch;
    width: 100%;
}
ul.footer__nav > * {
    --gap: 1em;
    flex: 0 1 calc((100% - (var(--gap) * 1)) / 2);
}
ul.footer__nav a,
ul.footer__legal a {
    font-family: var(--font-family-h);
    text-decoration: none;
    text-transform: uppercase;
}
ul.footer__nav a:hover,
ul.footer__legal a:hover {
    color: var(--color-bravo);
}
ul.footer__legal li {
    display: inline-block;
    margin: 0 3em;
    padding: 0.5em 0;
}
ul.footer__legal li a {
    font-size: var(--font-size-sm);
}

/* Klaviyo Signup */
.klaviyo-form input,
.klaviyo-form.klaviyo-form-YzqSFm input.needsclick:hover {
    border: 2px solid var(--color-alpha) !important;
    border-radius: 1em 0 0 1em !important;
}
.klaviyo-form.klaviyo-form-YzqSFm input.needsclick:focus-visible {
    outline-color: var(--color-bravo) !important;
}
.klaviyo-form button {
    background-color: var(--color-alpha) !important;
    border-radius: 0 1em 1em 0 !important;
    padding: 0 1.5em !important;
    text-transform: uppercase !important;
}

