/* -------------------------------------------------------------------------- */
/* Banner */
/* -------------------------------------------------------------------------- */

#banner {
    display: flex;
    justify-content: center;
    height: 100%;
    width: 100vw;
    position: absolute;
    overflow: hidden;
    z-index: -1;
}

#banner .banner-overlay {
    position: absolute;
    height: 100%;
    width: 100%;
    background-color: #707887;
    z-index: 1;
    opacity: .4;
}

#banner > img {
    position: absolute;
    top: -220px;
    width: max( 100vw, 1520px );
    max-width: unset;
}

@media ( max-width: 500px ) {

    #banner > img {
        top: 0;
    }

}

header .container.header-wrapper {
    margin: 0 auto;
    max-width: 1600px;
    align-items: flex-end;
    padding: 1em 5em 0 ;
    height: unset;
    transition: padding .5s;
}

header .container.header-wrapper #header-logo {
    height: auto;
    width: 100%;
    max-width: 375px;
    z-index: 0;
}

header .container.header-wrapper #header-logo img {
    max-height: 140px;
    min-width: 330px
}

/* -------------------------------------------------------------------------- */
/* Search */
/* -------------------------------------------------------------------------- */

.widget_product_search form input[type=text] {
    border: solid 1px rgba(0,0,0,0.2);
    box-shadow: none;
    border-radius: 3px;
    height: 50px;
    padding: 1em;
}

.widget_product_search form input[type=text]::placeholder {
    font-size: .9em;
}

/* -------------------------------------------------------------------------- */
/* Navigation */
/* -------------------------------------------------------------------------- */

nav#site-navigation.flexbox {
    display: flex;
}

nav#site-navigation ul.site-header-menu-items {
    position: sticky;
    position: -webkit-sticky;
    top: 0;
    background-color: #6da28f;
    overflow: unset;
    z-index: 3;
}

nav#site-navigation ul.site-header-menu-items:first-of-type {
    flex: 1;
    padding: 0 0 0 max(calc( ( (100vw - 1600px) / 2) + 4em),5em);
    max-height: unset;
}

nav#site-navigation ul.site-header-menu-items:last-of-type {
    padding: 0 max(calc( ( (100vw - 1600px) / 2) + 4em),5em) 0 0;
}

nav#site-navigation ul.site-header-menu-items li {
    cursor: pointer;
}

nav#site-navigation ul.site-header-menu-items a {
    font-size: 1.1em;
    color: #fff;
    border-bottom: none;
}
nav#site-navigation ul.site-header-menu-items > li > a {
    font-family: goudy-old-style, serif;
}
nav#site-navigation ul.site-header-menu-items > li > a:hover {
    color: #547f6f;
}


/* Mobile styling */
#mobile-nav-info-wrapper {
    margin: 1em;
}

    #mobile-nav-info-wrapper #icons {
        display: flex;
        justify-content: space-between;
        margin: 1em 0;
    }

        #mobile-nav-info-wrapper #icons a.contact-number {
            display: flex;
            margin: 1em 0;
            color: #4d7969;
            text-decoration: none;
            font-weight: 600;
        }

        #mobile-nav-info-wrapper #icons a.contact-number:hover {
            text-decoration: underline;
        }

            #mobile-nav-info-wrapper #icons a.contact-number img {
                width: 25px;
                margin-right: 1em;
            }


        #mobile-nav-info-wrapper #icons a.basket {
            background: url(/images/icons/bag.svg) 50% 50% no-repeat;
            background-size: 25px;
            display: flex;
            padding: 1em 0;
            width: 40px;
            position: relative;
        }

        #mobile-nav-info-wrapper #icons a.basket .cart-count {
            position: absolute;
            top: 0;
            left: -10px;
        }

        #mobile-nav-info-wrapper #icons a.basket .cart-count p {
            color: #4d7969;
            font-size: 1em;
            font-weight: 700;
        }

        #mobile-nav-info-wrapper #site-search > .container {
            padding: 0;
        }

            #mobile-nav-info-wrapper #site-search > .container input[type=text] {
                padding: 0.5em;
                font-size: 0.9em;
            }

    #mobile-nav-info-wrapper {
        display: none;
    }

@media ( max-width: 1200px ) {

    header .container.header-wrapper {
        padding: 0.5em 1em 0;
    }

    nav#site-navigation ul.site-header-menu-items {
        font-size: .9em;
    }

    nav#site-navigation ul.site-header-menu-items:first-of-type {
        padding: 0 0 0 1em;
    }       
}

@media ( min-width: 900px ) and ( max-width: 1100px ) {

    nav#site-navigation {
        height: calc( 100% - 220px );
    }

}

@media ( max-width: 1100px ) {

    nav#site-navigation {
        width: 100%;
    }

}

@media ( max-width: 900px ) {

    #mobile-nav-info-wrapper {
        display: flex;
        flex-direction: column;
    }

    #mobile-nav-info-wrapper > a {
        padding: 0 1em;
        max-width: 500px;
    }

    nav#site-navigation {
        margin-top: 0;
        z-index: 50;
        width: calc( 100% - 60px );
        flex-direction: column;
        background-color: rgb( 238, 238, 238 );
    }

    nav#site-navigation > ul {
            background-color: unset;
        }

    nav#site-navigation ul.site-header-menu-items:first-of-type {
        max-height: unset;
    }

    nav#site-navigation ul.site-header-menu-items:first-of-type,
    nav#site-navigation ul.site-header-menu-items:last-of-type {
        padding: 0;
        flex-direction: column;
        flex: unset;
        height: auto;
        background-color: unset;
    }

    nav#site-navigation ul.site-header-menu-items:last-of-type {
        flex: 1;
    }

    nav#site-navigation ul.site-header-menu-items a {
        color: #4d7969;
        font-weight: 600;
    }

    nav#site-navigation ul.site-header-menu-items > li:hover > a {
        color: #4d4d4d;
    }


}

@media ( max-width: 650px ) {

    #banner > img {
        top: 0;
        width: 800px;
    }

    header .container.header-wrapper {
        flex-direction: column-reverse;
        align-items: center;
    }

}

@media only screen and (max-width: 400px) {
    header .container.header-wrapper #header-logo img {
        width: 100%;
    }
}