/* Responsive product header styles.

   @file        product-header.es.css
   @author      marionm
   ========================================================================== */

/* ==========================================================================
   set variables
   ========================================================================== */

:root {
    /* heights */
    --product-header-height: 42px;
    --product-header-landing-height: 55px;

    /* colors */
    --product-header-red: #ba1c12;
    --product-header-orange: #ff7e00;
    --product-header-yellow: #ffcc51;
}

/* ==========================================================================
   product header wrappers
   ========================================================================== */

#_product-header {
    background: var(--product-header-red);
    color: #fff;
    font-family: 'Source Sans Pro', Arial, sans-serif;
    font-size: 1.125rem;
    font-weight: 400;
    height: var(--product-header-height);
    line-height: 1.3;
    min-width: 320px;
    position: sticky;
    top: var(--_header-height);
    width: 100%;
    z-index: 99999999;
}

html._no-header #_product-header { top: 0; }

html._header-no-sticky #_product-header {
    position: relative;
    top: 0;
}

#_product-header.sticky { height: var(--product-header-height); }

html._product-header-landing #_product-header:not(.sticky) { height: var(--product-header-landing-height); }

#_product-grid {
    align-content: center;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 1200px;
    padding: 0 1rem;
    white-space: nowrap;
}

html._product-header-landing #_product-header:not(.sticky) #_product-grid { justify-content: center; }

#_product-backdrop {
    background-color: rgba(0, 0, 0, .3);
    bottom: 0;
    display: none;
    height: 100%;
    left: 0;
    position: absolute;
    right: 0;
    top: 100px;
    width: 100%;
    z-index: 99999998;
}

html._header-thin-only #_product-backdrop,
html:not(._header-thick) #_product-backdrop { top: var(--product-header-height); }

/* ==========================================================================
   product name
   ========================================================================== */

#_product-name {
    -webkit-user-select: none;
    cursor: pointer;
    padding-right: 1rem;
    user-select: none;
}

html._product-header-landing #_product-header:not(.sticky) #_product-name { display: none; }

#_product-name h1 {
    -webkit-transition: all 0.3s ease;
    color: #fff;
    display: inline-block;
    font-size: 1.375rem;
    font-weight: 400;
    line-height: var(--product-header-height);
    text-transform: uppercase;
    transition: all 0.3s ease;
}

#_product-name:hover h1,
#_product-name.open h1,
#_product-name:hover #_product-mobile svg,
#_product-name.open #_product-mobile svg { color: var(--product-header-yellow); }

/* ==========================================================================
   product name mobile nav
   ========================================================================== */

#_product-mobile svg {
    -webkit-transition: all 0.3s ease;
    margin: -3px 0 0 .25rem;
    vertical-align: middle;
    transition: all 0.3s ease;
}

#_product-mobile ul {
    -webkit-user-select: auto;
    display: none;
    left: 0;
    position: absolute;
    right: 0;
    top: var(--product-header-height);
    user-select: auto;
    width: 100%;
    z-index: 999999;
}

#_product-name.open #_product-mobile ul { display: block; }

#_product-mobile li { display: block; }

#_product-mobile a {
    background: #f9f9f9;
    border: 1px solid #ddd;
    color: #444;
    display: block;
    font-size: 1.3rem;
    margin-bottom: -1px;
    padding: .75rem 1.25rem !important;
}

#_product-mobile a:hover {
    background: #eeeeee;
    color: #000 !important;
}

/* ==========================================================================
   product nav wrappers
   ========================================================================== */

#_product-nav-wrapper {
    align-items: center;
    display: inline-flex;
    justify-content: center;
}

#_product-nav { text-align: right; }

#_product-nav > ul {
    height: var(--product-header-height);
    overflow: hidden;
    white-space: normal;
}

html._product-header-landing #_product-header:not(.sticky) #_product-nav > ul { height: var(--product-header-landing-height); }

#_product-nav > ul > li {
    display: inline-block;
    height: 100%;
    vertical-align: top;
}

#_product-nav a {
    color: #fff;
    display: inline-block;
    font-size: 1.125rem;
    height: 100%;
    line-height: var(--product-header-height);
    padding: 0 1rem;
    text-align: center;
}

html._product-header-landing #_product-header:not(.sticky) #_product-nav > ul li a { line-height: var(--product-header-landing-height); }

#_product-nav a:hover { color: var(--product-header-yellow); }

#_product-nav a svg { margin: -2px 0 0 .25rem; }

/* ==========================================================================
   product subnavs
   ========================================================================== */

#_product-nav ._product-has-subnav { }

#_product-nav ._product-has-subnav.open > a { color: var(--product-header-yellow); }

#_product-nav ._product-is-subnav {
    position: absolute;
    top: var(--product-header-height);
    width: 220px;
}

html._product-header-landing #_product-header:not(.sticky) #_product-nav ._product-is-subnav { top: var(--product-header-landing-height); }

#_product-nav ._product-is-subnav li { display: block; }

#_product-nav ._product-is-subnav a {
    background: #f9f9f9;
    border: 1px solid #ddd;
    color: #444;
    display: block;
    font-size: 1rem;
    line-height: 1.3 !important;
    margin-bottom: -1px;
    padding: .5rem 1rem;
    text-align: left;
}

#_product-nav ._product-is-subnav a:hover {
    background: #eee;
    color: #000;
}

/* ==========================================================================
   product more nav
   ========================================================================== */

#_product-end { }

#_product-more {
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-size: 1.125rem;
    line-height: var(--product-header-height);
    padding: 0 1rem;
    position: relative;
    text-align: center;
}

html._product-header-landing #_product-header:not(.sticky) #_product-more { line-height: var(--product-header-landing-height); }

#_product-more.open,
#_product-more:hover { color: var(--product-header-yellow); }

#_product-more svg {
    margin: -2px 0 0 .25rem;
    vertical-align: middle;
}

#_product-more-nav {
    display: none;
    position: absolute;
    right: 0;
    text-align: left;
    top: var(--product-header-height);
    width: 220px;
}

#_product-more.open #_product-more-nav { display: inline-block; }

html._product-header-landing #_product-header:not(.sticky) #_product-more-nav { top: var(--product-header-landing-height); }

#_product-more-nav li { display: block; }

#_product-more-nav a {
    background: #f9f9f9;
    border: 1px solid #ddd;
    color: #444;
    display: block;
    font-size: 1rem;
    line-height: 1.3 !important;
    margin-bottom: -1px;
    padding: .5rem 1rem;
}

#_product-more-nav a:hover {
    background: #eee;
    color: #000;
}

/* ==========================================================================
   product try button
   ========================================================================== */

#_product-try-button {
    display: inline-block;
    vertical-align: baseline;
}

#_product-try-button a {
    background: var(--product-header-orange);
    border-radius: 5px;
    color: #fff;
    display: inline-block;
    font-size: 1.125rem;
    line-height: 32px;
    margin-left: 1rem;
    padding: 0 .75rem;
    white-space: nowrap;
}

#_product-try-button a:hover {
    background: #fff;
    color: var(--product-header-red);
}

/* ==========================================================================
   responsive breakpoint styles
   ========================================================================== */

/* styles for large screens (1200px)
   ========================================================================== */

@media all and (max-width: 1200px) {
    #_product-header,
    html._product-header-landing #_product-header:not(.sticky),
    html._product-header-landing #_product-header:not(.sticky) #_product-nav > ul { height: var(--product-header-height); }

    #_product-name h1 {
        font-size: 1.27rem;
        line-height: var(--product-header-height);
    }

    #_product-nav a,
    #_product-more { font-size: 1rem; }

    html._product-header-landing #_product-header:not(.sticky) #_product-nav > ul > li > a,
    html._product-header-landing #_product-header:not(.sticky) #_product-more { line-height: var(--product-header-height); }

    html._product-header-landing #_product-header:not(.sticky) #_product-nav ._product-is-subnav,
    html._product-header-landing #_product-header:not(.sticky) #_product-more-nav { top: var(--product-header-height); }

    #_product-try-button a {
        font-size: 1rem;
        line-height: 26px;
        padding: 0 .5rem;
    }
}

/* styles for medium screens (900px)
   ========================================================================== */

@media all and (max-width: 900px) {
    #_product-name h1 { font-size: 1.15rem; }

    #_product-nav a,
    #_product-more { font-size: 1.1rem; }

    #_product-more-nav li a,
    #_product-nav ._product-is-subnav a { font-size: 1.15rem; }

    html._product-header-landing #_product-header:not(.sticky) #_product-nav > ul > li > a,
    html._product-header-landing #_product-header:not(.sticky) #_product-more { padding: 0 .75rem !important; }
}

/* styles for small screens (600px)
   ========================================================================== */

@media all and (max-width: 600px) {
    html._product-header-landing #_product-header:not(.sticky) #_product-grid { justify-content: space-between; }

    html._product-header-landing #_product-header:not(.sticky) #_product-name { display: inline-block; }

    #_product-name h1 { font-size: 1.38rem; }

    #_product-nav,
    #_product-more { display: none !important; }

    #_product-try-button a {
        font-size: 1.16rem;
        line-height: 26px;
        margin-left: 0;
    }
}

/* styles for minimum supported screen width (320px)
   ========================================================================== */

@media all and (max-width: 320px) {
}

/* printer styles
   ========================================================================== */

@media print {
    #_product-header { position: static !important; }
}
