/*
Theme Name:   	Storefront Child Theme
Theme URI:    	https://github.com/stuartduff/storefront-child-theme
Author:       	Stuart Duff
Author URI:     http://stuartduff.com
Template:     	storefront
Description:  	This is a blank child theme for WooThemes StoreFront theme
Version:      	1.0.3
License:      	GNU General Public License v2 or later
License URI:  	http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  	storefront
Tags:         	black, white, light, two-columns, left-sidebar, right-sidebar, responsive-layout, custom-background, custom-colors, custom-header, custom-menu, featured-images, full-width-template, threaded-comments, accessibility-ready
This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
Storefront is based on Underscores http://underscores.me/, (C) 2012-2014 Automattic, Inc.
Resetting and rebuilding styles have been helped along thanks to the fine work of
Eric Meyer http://meyerweb.com/eric/tools/css/reset/index.html
along with Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
FontAwesome License: SIL Open Font License - http://scripts.sil.org/OFL
Images License: GNU General Public License v2 or later
*/


/* Items to remove */
.entry-header,
.stock.out-of-stock::before {
    content: "";
    display: none;
}



:root {
    --primary: #008081;
}


/* Containers */

.section--margin {
    margin-top: 5%;
    margin-bottom: 5%;
}

.container {
    padding-left: 5%;
    padding-right: 5%;
    margin-left: auto;
    margin-right: auto;
}

.container--xl {
    max-width: 98rem;
}

@media (min-width: 48rem) {

    .section--margin {
        margin-top: 4rem;
        margin-bottom: 4rem;
    }

    .container {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}



/***************************************************************
# Header
***************************************************************/

.site-header {
    padding: 1rem 0;
    position: relative;
    z-index: 9999;
}

.site-header__row {
    display: flex;
    align-items: center;
    margin: 0 -1rem;
    flex-flow: wrap;
}

.site-header__col {
    padding: 0 1rem;
}

/* Logo */

.site-header__logo {
    max-width: clamp(6rem, 16vw, 8rem);
}

.site-header__logo .logo {
    margin: 0;
}

/* Navigation */

.site-header__navigation {
    order: 1;
    color: var(--primary);
    font-size: 1.15rem;
    font-family: Crimson Text;
    display: none;
    margin-top: 1rem;
}

.site-header__navigation .menu {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

.site-header__navigation .menu a {
    display: block;
    color: inherit;
}

.site-header .menu>.menu-item-has-children>a::after {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: inherit;
    vertical-align: baseline;
    content: "";
    margin-left: .5em;
}

.site-header__navigation .menu>.menu-item {
    display: inline-block;
    margin: .15rem 0;
    margin-right: 1em;
    position: relative;
}

.site-header__navigation .menu>.menu-item>a {
    color: inherit;
}

.site-header__navigation .menu .sub-menu {
    visibility: hidden;
    opacity: 0;
    transform: translate(0%, -5%);
    transition: all .4s ease;
}

.site-header__navigation .menu .sub-menu .menu-item {
    position: relative;
}

.site-header__navigation .menu .sub-menu .menu-item:hover {
    background: rgba(0, 0, 0, 0.05);
}

.site-header__navigation .menu .sub-menu a {
    padding: .5rem 1rem;
}

.site-header__navigation .menu-item>.sub-menu {
    position: absolute;
    background: #f0f0f0;
    left: 0;
    top: 100%;
    margin: 0;
    list-style-type: none;
    min-width: 14rem;
    z-index: 10;
}

.site-header__navigation .sub-menu .sub-menu {
    position: absolute;
    transform: translate(-5%, 0%);
    left: 100%;
    top: 0;
}

.site-header .sub-menu>.menu-item-has-children>a::after {
    font-family: "Font Awesome 5 Free";
    content: "";
    position: absolute;
    top: 50%;
    right: 0.5em;
    transform: translateY(-50%);
}

.site-header__navigation .menu-item:hover>.sub-menu {
    visibility: visible;
    opacity: 1;
    transform: translate(0%, 0%);
}



/* Search */

.site-header__search {
    margin-left: auto;
    display: none;
}

.woocommerce-active .site-header .site-search {
    float: none;
    width: auto;
    margin: 0;
}

/* Cart */

.site-header__cart {
    display: none;
}

.woocommerce-active .site-header .site-header-cart {
    width: auto;
    min-width: 14rem;
}

.site-header-cart .cart-contents {
    padding: 0;
}


/* Button */

.site-header__col--button {
    margin-left: auto;
}

.site-header__button {
    color: var(--primary);
    text-transform: uppercase;
    font-weight: bold;
    cursor: pointer;
}

.site-header__button i {
    margin-right: .5em;
}


/* Responsive */

@media(min-width: 48rem) {

    .site-header__navigation,
    .site-header__search,
    .site-header__cart {
        display: block;
    }



    .site-header__col--button,
    .mobile-menu {
        display: none;
    }

}

@media(min-width: 88rem) {
    .site-header__navigation {
        order: initial;
        flex: 1;
    }
}



/***************************************************************
# Mobile menu
***************************************************************/


.mobile-menu {
    position: fixed;
    z-index: 100000;
    width: 26rem;
    height: 100%;
    top: 0;
    left: 100%;
    background: var(--primary);
    color: white;
    transition: transform .5s ease;
    max-width: 100%;
    overflow: auto;
}

.mobile-menu--open {
    transform: translateX(-100%);
    box-shadow: -1rem 0rem 3rem rgba(0, 0, 0, 0.5);
}

.mobile-menu__close {
    background: #f0f0f0;
    color: var(--primary);
    font-weight: bold;
    text-align: center;
    padding: 3%;
    font-size: 1.2rem;
    cursor: pointer;
}


.mobile-menu .menu {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.mobile-menu .menu a {
    display: block;
    padding: 1em 2em;
    color: inherit;
}

.mobile-menu .menu-item {
    position: relative;
}

.mobile-menu .sub-menu {
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: none;
    background: rgba(255, 255, 255, 0.1);
    border-left: 0.2rem solid white;
}

.mobile-menu .menu>.menu-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.mobile-menu .menu .menu-item-has-children button {
    font-family: "Font Awesome 5 Free";
    content: "";
    display: block;
    position: absolute;
    top: .3rem;
    right: .3rem;
    width: 3rem;
    height: 3rem;
    padding: 0;
    background: none;
    color: inherit;
    text-align: center;
    transition: transform .4s ease;
}

.mobile-menu .menu-item--open>button {
    transform: rotate(180deg);
}

.mobile-menu .menu-item--open>.sub-menu {
    display: block;
}



.quote-request {
    background: #2c7478;
    color: white;
    border-radius: 0.6rem;
    padding: 0.2em 0.6em;
    font-weight: bold;
    font-size: 1rem;
}

.quote-request a {
    color: inherit !important;
}


/***************************************************************
# Forms / Input
***************************************************************/

.form-group {
    margin: 1rem 0;
}

.form-group input[type="text"],
.form-group input[type="email"] {
    width: 100%;
}

select#quantity {
    font-size: inherit !important;
}


/***************************************************************
# Knowledgebase articles
***************************************************************/


.knowledge-article svg {
    vertical-align: sub;
}



/***************************************************************
# Search results
***************************************************************/

.search-result {
    margin: 1rem 0;
}

.search-result__row {
    display: flex;
    flex-flow: column;
    gap: 2rem;
}

.search-result__col img {
    aspect-ratio: 1;
    object-fit: cover;
    width: 100%;
}

.search-result__title {
    font-size: clamp(1.2rem, 3vw, 1.8rem);
    margin: 0;
}

.search-result__type {
    text-transform: uppercase;
    font-size: 0.875rem;
    font-family: sans-serif;
    font-weight: bold;
    margin-bottom: 0.2em;
}

@media(min-width: 48rem) {
    .search-result__row {
        flex-flow: wrap;
    }

    .search-result__col:nth-child(1) {
        width: 10rem;
    }

    .search-result__col:nth-child(2) {
        flex: 1;
    }
}

/* END OF FILE */