/*
 Theme Name:   StoreFront copart
 Template:     storefront 
*/

@import url('includes/bootstrap-grid.min.css');

/* Define CSS variables for HTML element dimensions to be used in multiple places */
:root {
    --content-area-margin: 10px;
    --woocommerce-widget-layered-nav-margin: 6px;
  }

.col-full {
    max-width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
}

/* Grey background for search filters*/
#main > div.header-widget-region > div {
    background-color: #FAFAFA;
    border-top: 1px solid #CCC;
    margin-bottom: 10px;
}

.col-full > .woocommerce {
    flex-grow: 2;
    width: 100%;
}

.site-content > .col-full > .woocommerce > .woocommerce-message:first-child,
.site-content > .col-full > .woocommerce > .woocommerce-info:first-child,
.site-content > .col-full > .woocommerce > .woocommerce-error:first-child {
    margin-top: 0;
    margin-bottom: 10px;
}

html, body, button, input, textarea, select {
    font-family: "Open Sans", sans-serif;
}

form {
    margin: 0;
}

#page {
    position: relative;
}

.text-left {
    text-align: left !important;
}

.text-right {
    text-align: right !important;
}

.site-header {
    padding: 20px 0 0 0;
    position: relative;
    margin: 0 !important;
}

.woocommerce-active .site-header .site-branding {
    width: 14%;
    float: left;
    padding-left: 15px;
    margin-right: 15px;
    min-width: 140px;
}

.woocommerce-active .site-header .site-search {
    width: 50%;
    float: left;
    margin-right: 0;
    clear: none;
}

.site-header .custom-logo-link img {
    width: 140px;
}

.woocommerce-active .site-header .main-navigation {
    display: block;
    width: 100%;
    float: none;
    margin-right: 0;
}

/* ********* */

.site-header .widget_product_search {
    margin: 7px 0 0 0;
}

.site-header .woocommerce-product-search {
    margin: 0;
    display: flex;
    padding-left: 10px;
}

    .site-header .woocommerce-product-search .search-field {
        border: 2px solid #c0c8d1;
        border-radius: 4px;
        box-shadow: none;
        height: 38px;
        line-height: 38px;
        background: #fff;
    }

input[type='search']::placeholder {
    color: #949da8;
    font-size: 12px;
    font-weight: normal;
}

.site-header .widget_product_search form:before {
    content: "";
    width: 17px;
    height: 17px;
    top: 11px;
    left: 19px;
    background: url(includes/icon_Search_Desktop.svg) no-repeat 0 0;
}

.site-header .widget_product_search form button[type="submit"] {
    border: 0;
    clip: unset;
    clip-path: none;
    height: 38px;
    margin: 0 0 0 15px;
    overflow: visible;
    position: relative;
    width: auto;
    padding: 0 16px;
    border-radius: 4px;
    font-weight: bold;
    font-size: 14px;
}

/* ********* */

.lang {
    position: absolute;
    top: 5px;
    right: 5px;
    z-index: 999;
}

    .lang a {
        display: inline-block;
        width: 24px;
        height: 15px;
        background: url(includes/fi.gif) no-repeat 0 0;
        font-size: 0;
    }

    .lang .lang-en {
        background: url(includes/en.gif) no-repeat 0 0;
        margin-left: 5px;
    }

    .main-navigation ul.menu, .main-navigation ul.nav-menu {
        margin-left: 0;
    }

.main-navigation ul > li > a {
            padding: 5px 10px 5px 10px;
            color: #fff;
            font-weight: bold;
            font-size: 14px;
        }

/* ************** */

.woocommerce-active .site-header .site-header-cart {
    position: absolute;
    top: 0;
    right: 100px;
    padding: 20px;
    background: #fff;
    border-radius: 0 0 5px 5px;
    width: auto;
}

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

    .site-header-cart .cart-contents .amount {
        font-size: 14px;
    }

    .site-header-cart .cart-contents .count {
        opacity: 1;
        font-size: 14px;
        margin-right: 5px;
    }

.site-header-cart .widget_shopping_cart {
    position: absolute;
    width: 250px;
    font-size: 12px;
    background: #fff;
    left: auto;
    right: 0;
    margin-top: -5px;
    display: none;
}

.site-header-cart:hover .widget_shopping_cart, .site-header-cart.focus .widget_shopping_cart {
    left: auto;
    display: block;
}

/* ************** */

.site-content {
    padding: 0;
}

.storefront-breadcrumb {
    display: none !important;
}

.content-area {
    width: auto;
    float: none;
    margin-right: 0
}

#secondary {
    flex-shrink: 1;
    background: #EEEEEE;
    box-shadow: 0 1px 2px 1px #333,0 3px 6px rgba(0,0,0,0.08);
    order: 1;
    margin: 30px 0 30px 0;
}

#primary {
    flex-shrink: 1;
    margin: 30px;
    order: 2;
    /*width: 1000px;*/ 
    float: none !important;
}

#tertiary {
    flex-grow: 2;
    margin: 0 0 0 0;
    background: #eee;
    order: 3;
}

.search-results #tertiary,
.archive #tertiary,
.home #tertiary {
    display: none;
}

.search-results #primary,
.archive #primary,
.home #primary {
    /*flex-shrink: unset;*/
    flex-grow: 1;
    /*max-width: 100%;*/
    /*width: auto;*/
}

.woocommerce-message {
    width: 100%;
    box-sizing: border-box;
}

.entry-content .woocommerce-message {
    margin-bottom: 15px;
}

/* ********** */

#secondary .widget {
    border-bottom: 1px solid #000;
    padding: 5px 10px 5px 10px;
    margin: 0;
}

    #secondary .widget .widget-title {
        padding: 0 0 0 0;
        margin: 0;
        border: 0;
        font-size: 14px;
        color: #1D1D1D;
        font-weight: bold;
        line-height: 22px;
        cursor: pointer;
    }

        #secondary .widget .widget-title:before {
            content: "\f0fe";
            font-family: 'Font Awesome 5 Free';
            display: inline-block;
            font-size: 16px;
            position: relative;
            top: 1px;
            margin: 0 7px 0 0;
        }

.select2-container--default {
    height: 30px;
}

#secondary .widget.expanded .widget-title:before {
    content: "\f146";
}

/* ********** */

#secondary .widget_product_search .search-field:focus,
#secondary .widget_product_search .search-field {
    background: #fff;
    height: 26px;
    outline: none;
}

#secondary .widget_product_search form {
    padding: 5px 0;
}

    #secondary .widget_product_search form:before {
        top: 11px;
        left: 6px;
    }

/* ********** */

#secondary .woocommerce-widget-layered-nav-list {
    padding: 2px 0 0 2px;
    display: none;
}

#secondary .expanded .woocommerce-widget-layered-nav-list {
    display: block;
}

#secondary .widget_layered_nav ul li {
    margin: 0 0 2px 0;
    padding: 0;
}

    #secondary .widget_layered_nav ul li:before {
        display: none !important;
    }

    #secondary .widget_layered_nav ul li a:before {
        content: "";
        display: inline-block;
        width: 12px;
        height: 12px;
        border: 1px solid #000;
        margin-right: 5px;
        background: #fff;
        margin: 0 7px 0 0;
        font-family: 'Font Awesome 5 Free';
        line-height: 10px;
        font-size: 8px;
        text-align: center;
        vertical-align: middle;
        position: relative;
        top: -2px;
    }

    #secondary .widget_layered_nav ul li.chosen a:before {
        content: "\f00c";
    }

#secondary .widget-area .widget_layered_nav ul li a {
    font-size: 12px;
    font-weight: normal !important;
    text-decoration: none !important;
    color: #1D1D1D;
    position: relative;
    outline: none;
}

#secondary .widget.woocommerce li .count {
    font-size: 12px;
    float: none;
}

/* ******** */

.storefront-sorting {
    margin: 0;
    padding: 10px;
    border: 1px solid #ddd;
}

.woocommerce-notices-wrapper:empty {
    display: none;
}

.woocommerce-ordering {
    padding: 0;
}

.woocommerce-ordering .orderby {
    padding: 4px;
    border-radius: 4px;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
}

.woocommerce-result-count {
    padding: 5px 0 0 0;
}

.woocommerce-pagination .page-numbers {
    font-size: 0;
}

    .woocommerce-pagination .page-numbers li {
        margin-right: -1px;
    }

        .woocommerce-pagination .page-numbers li .page-numbers {
            background-color: #fff;
            color: #0D5DB8;
            border: 1px solid #ddd;
            font-size: 12px;
            font-weight: normal;
        }

            .woocommerce-pagination .page-numbers li .page-numbers:not(.current) {
                color: #0D5DB8;
            }

            .woocommerce-pagination .page-numbers li .page-numbers.current {
                background-color: #1254ff;
                color: #fff;
                border: 1px solid #ddd;
            }


/* ******** */

.products {
    list-style: none;
}

    .products-header .row .row > div {
        border-right: 1px solid #fff;
        text-align: center;
        padding-top: 5px;
        padding-bottom: 5px;
        font-weight: bold;
        box-sizing: border-box;
    }

.products .product:nth-child(odd) {
    background: #eee;
}

.products .product .row .row > div {
    font-weight: bold;
    box-sizing: border-box;
}

.products li .row .row > div {
    padding-top: 5px;
    padding-bottom: 5px;
    font-size: 14px;
    text-align: center;
    text-transform: capitalize;
}

.site-main ul.products li.product {
    margin: 0;
    border-bottom: 1px solid #ddd;
    position: relative;
    width: 100% !important;
}

    .site-main ul.products li.product a {
        display: block;
        text-align: center;
        font-weight: bold;
        color: #1D1D1D;
        padding: 0 5px;
    }

    .site-main ul.products li.product img {
        max-width: 120px;
        max-height: 120px;
        width: 100%;
        margin: 0;
    }

    .site-main ul.products li.product > .product_type_simple {
        display: none;
    }

    .site-main ul.products li.product > .added_to_cart,
    .site-main ul.products li.product > .add_to_cart_button {
        position: absolute;
        top: 10px;
        right: 0px;
        min-width: 130px;
        padding: 5px;
        display: block;
    }

    .site-main ul.products li.product > .added_to_cart {
        top: 60px;
        background: #2F3942;
    }

/* *********** */

.site-main > .product,
.cart-collaterals,
.woocommerce-cart-form {
    padding-left: 0px;
}

.single-product div.product .woocommerce-product-gallery {
    width: 40%;
    float: left;
    margin: 0;
    background: #FAFAFA;
    padding: 30px;
    box-sizing: border-box;
}

.woocommerce-product-gallery__image > a {
    display: block;
}

    .woocommerce-product-gallery__image > a > img {
        width: 100%;
    }

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
    top: 0;
    right: 0;
    height: 30px;
    width: 30px;
    border-radius: 0;
    background: none;
}

.single-product div.product .summary {
    width: 55%;
    float: left;
    margin: 0 0 0 0;
    box-sizing: border-box;
}

    .single-product div.product .summary .product_title {
        font-size: 16px;
        font-weight: bold;
        margin: -15px -15px 0 -15px;
        padding: 10px 15px;
    }


.woocommerce-checkout-payment,
.woocommerce-additional-fields,
.woocommerce-billing-fields,
.product-type-simple .entry-summary {
    background: #fff;
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 4px 4px 0 0;
    font-size: 13px;
}

.woocommerce-product-attributes .woocommerce-product-attributes-item__value {
    text-align: right;
}

.single-product div.product .product_meta {
    padding: 0 0 30px 0;
    margin: 0;
    font-size: 13px;
    border: 0;
    display: none;
}

.product_meta .sku_wrapper {
    display: none !important;
}

.product_meta .posted_in a {
    color: #0D5DB8;
}

.woocommerce-product-attributes {
    margin: 0 0 0 0;
    /*width: calc(100% + 20px);*/
}

table.woocommerce-product-attributes tbody td,
table.woocommerce-product-attributes th {
    background: none !important;
}

.woocommerce-product-attributes .woocommerce-product-attributes-item__value,
.woocommerce-product-attributes .woocommerce-product-attributes-item__label {
    padding: 10px 0;
    width: 30%;
    border-top: 1px solid #ddd;
}

.woocommerce-product-attributes .woocommerce-product-attributes-item__value {
    width: 70%;
}

#order_review_heading, #order_review {
    width: auto;
    float: none;
}

#order_review_heading, #order_review {
    width: auto;
    float: none;
}

.woocommerce-info, .woocommerce-noreviews, p.no-comments {
    background-color: #0D5DB8;
    border: 0;
}

/* ************* */

.wheelsize-widget select {
    width: 100%;
    margin-top: 10px;
    height: 30px;
    border-radius: 5px;
    border: 1px solid #aaa;
    padding: 0 5px;
    line-height: 30px;
    box-sizing: border-box;
}

.wheelsize-widget [disabled] {
    opacity: 0.75;
    cursor: not-allowed;
    color: #ccc;
}

.wheelsize-widget button {
    width: 100%;
    text-align: center;
    height: 38px;
    border-radius: 4px;
    font-weight: bold;
    font-size: 14px;
    margin: 10px 0 0 0;
    box-sizing: border-box;
}

/* ************* */

.woocommerce-cart-form table {
    border-collapse: collapse;
}

    .woocommerce-cart-form table:not(.has-background) th {
        background: #0D5DB8;
        padding: 10px;
        color: #fff;
        font-size: 16px;
        border: 1px solid #fff;
    }

    .woocommerce-cart-form table:not(.has-background) td {
        background: #fff;
        padding: 10px;
        font-size: 13px;
        border: 1px solid #ddd;
    }

    .woocommerce-cart-form table .product-remove {
        text-align: center;
        vertical-align: middle;
    }

        .woocommerce-cart-form table .product-remove a {
            margin: auto;
        }

    .woocommerce-cart-form table td.actions {
        background: #fff !important;
    }

.cart-collaterals h2 {
    background: #0D5DB8;
    padding: 10px;
    color: #fff;
    font-size: 16px;
    margin: 0;
}

.cart-collaterals table th,
.cart-collaterals table tbody tr td {
    background: #fff !important;
    border: 1px solid #ddd;
}

/* ********** */

.woocommerce-checkout h3 {
    background: #0D5DB8;
    padding: 10px;
    color: #fff;
    font-size: 16px;
    padding: 10px;
    margin: 0;
}

.woocommerce-checkout .woocommerce-billing-fields h3 {
    margin: -15px -15px 15px -15px;
}

.woocommerce-checkout textarea,
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="text"] {
    padding: 3px 5px;
    border-radius: 4px;
    border: 1px solid #999;
    background: #fff;
}

.woocommerce-checkout table:not(.has-background) tfoot td,
.woocommerce-checkout table:not(.has-background) tbody td,
.woocommerce-checkout table:not(.has-background) th {
    background: #fff;
    border: 1px solid #ddd;
}

.woocommerce-additional-fields {
    margin-bottom: 30px;
}

/* ************* */

.selected-filters {
    display: inline-block;
    font-size: 13px;
    text-transform: capitalize;
    vertical-align: middle;
    padding-top: 5px;
    margin-left: 30px;
}

    .selected-filters span {
        display: inline-block;
        margin-left: 15px;
    }

/* ********* */

.page-template-default .site-main {
    max-width: 1000px;
}

/* ************************* */

.storefront-product-pagination {
    display: none;
}

#customer_details {
    display: flex;
    width: auto;
    margin: 0 -15px;
    flex-wrap: wrap;
}

    #customer_details > div {
        width: 50%;
        padding: 0 15px;
        box-sizing: border-box;
        flex: unset;
        max-width: none;
    }

    #customer_details > .col-1 {
        width: 40%;
    }

    #customer_details > .col-2 {
        width: 60%;
    }

.woocommerce-checkout-review-order-table tr > :first-child {
    width: 30%;
}

.woocommerce-shipping-fields {
    margin: 0 0 30px 0;
}

#ship-to-different-address {
    margin-bottom: 15px;
}

    #ship-to-different-address .woocommerce-form__input-checkbox {
        right: 5px;
    }

    #ship-to-different-address .input-helptext {
        position: absolute;
        right: 25px;
        font-size: 14px;
        top: 12px;
    }

.stock.in-stock {
    display: none;
}

/* ************** */
.site-info:empty {
    display: none;
}

.prod-description {
    margin-top: 15px;
}

.woocommerce-order .woocommerce-columns--addresses .woocommerce-column {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-product-attributes-item--attribute_pa_bolt-pitch,
.woocommerce-product-attributes-item--attribute_pa_boltpitch,
.woocommerce-product-attributes-item--attribute_pa_bolts {
    display: none;
}

.cart-collaterals .cart_totals {
    width: 65%;
}

.woocommerce-shipping-methods li label {
    font-size: 13px;
}

label[for="payment_method_checkout_finland"] {
    font-size: 0;
}

    label[for="payment_method_checkout_finland"]:before {
        font-size: 13px;
        display: inline-block;
        padding: 15px;
        margin: 0 !important;
    }

    label[for="payment_method_checkout_finland"]:after {
        content: "Online payment";
        font-size: 15px;
        display: inline-block;
        padding: 15px 15px 15px 0;
    }

html[lang="fi"] label[for="payment_method_checkout_finland"]:after {
    content: "Verkkomaksu";
}

.woocommerce-product-attributes-item--attribute_pa_quality .woocommerce-product-attributes-item__value p {
    margin: 0;
}

.woocommerce-product-attributes-item--attribute_pa_quality .woocommerce-product-attributes-item__value i {
    display: inline-block;
    background: #0D5DB8;
    width: 16px;
    height: 16px;
    border-radius: 16px;
    color: #fff;
    text-align: center;
    line-height: 16px;
    margin: 0 0 0 5px;
    cursor: pointer;
}

.user-functions {
    position: absolute;
    bottom: 0;
    right: 0;
    font-size: 0;
    padding: 5px 0;
    background: black;
}

    .user-functions a {
        display: inline-block;
        line-height: 22px;
        color: #fff;
        padding: 0 20px;
        font-size: 14px;
        font-weight: bold;
        border-left: 2px solid #7f8b95;
    }

    .user-functions .user-account {
        position: absolute;
        bottom: 100%;
        width: 400px;
        right: 0;
        text-align: right;
        padding-bottom: 5px;
    }

    .user-functions a.no-border {
        border: 0;
    }

.woocommerce-product-details__short-description {
    display: none !important;
}

.site-main .error-404 ul.products.columns-2 li.product {
    width: 100% !important;
    margin-right: 0 !important;
}

/* Hide search button always */
#doSearch {
    display: none;
}

#showAll {
    display: none;
}

/* ******************************************* */
/* ********** Responsive styles ********** */
/* ******************************************* */

@media screen and (max-width: 1420px) {

    #primary {
        flex-shrink: unset;
        flex-grow: 1;
    }

    #tertiary {
        display: none;
    }
}

/* ******* 

@media (max-width: 1200px) {

    #secondary {
        position: absolute;
        left: -300px;
        width: 300px;
        z-index: 2;
        transition: 0.5s;
    }

    #secondary.open {
        left: 0;
        transition: 0.5s;
    }

    .main-navigation .menu {
        position: relative;
        padding-left: 5px;
    }

    .main-navigation .menu .toggle-search {
        position: absolute;
        top: -43px;
        left: 0;
        display: none !important;
        width: 32px;
        height: 32px;
        padding: 0;
        color: #fff;
        background: #2F3942;
    }
}
*/

/* ******* */

@media screen and (max-width: 767px) {

    .main-navigation {
        min-height: 80px;
    }

    .main-navigation .menu .toggle-search {
        width: 42px;
        height: 42px;
        display: none !important;
    }

    .user-functions .user-account {
        position: static;
        bottom: 100%;
        width: auto;
        padding-bottom: 0;
        border-left: 2px solid #7f8b95;
    }

    .site-header {
        padding-top: 10px;
    }

        .site-header > .col-full {
            padding-bottom: 10px;
        }

        .site-header .custom-logo-link img {
            width: 80px;
        }

    .site-header-cart {
        display: none;
    }

    .storefront-handheld-footer-bar .my-account {
        display: none;
    }

    .storefront-handheld-footer-bar ul.columns-3 li {
        width: 50% !important;
    }

    .footer-widgets.col-4 .block {
        float: left;
        width: 33.333% !important;
    }

    table.cart td.product-remove {
        padding: 0;
    }

    #customer_details > div {
        width: 100% !important;
    }

    .hidden-sm {
        display: none !important;
    }

    /* Hide extra buttons from product list*/
    .selected-filters,
    .products-header {
        display: none;
    }

    .site-main ul.products {
        display: flex;
        flex-wrap: wrap;
        padding: 10px 0;
    }

        .site-main ul.products li.product {
            width: 33.333%;
            background: none;
            border: 1px solid #ddd;
            margin: 0 -1px -1px 0;
            padding: 10px;
        }

    .products .product .row .row > div {
        border: 0;
    }

    .site-main ul.products li.product a {
        display: block;
        text-align: center;
    }

    .site-main ul.products.columns-1 li.product img {
        width: auto;
        max-width: 100%;
        max-height: none;
        display: inline;
    }

    .site-main ul.products li.product > .added_to_cart, .site-main ul.products li.product > .add_to_cart_button {
        position: static;
        min-width: unset;
    }

    .woocommerce-result-count {
        margin: 0;
    }

    .site-footer {
        padding: 20px 20px 60px 20px !important;
    }

    #ship-to-different-address .input-helptext {
        display: none;
    }

    .cart-collaterals .cart_totals {
        width: 100%;
    }
}
/* 767 */

/* ******* */

@media screen and (max-width: 600px) {

    .site-main ul.products li.product {
        width: 50%;
    }

    .footer-widgets.col-4 .block {
        float: none;
        width: auto !important;
        padding: 0 0 15px 0 !important;
    }

    .footer-widgets .block .widget-title {
        margin: 0 0 10px 0 !important;
    }

    .single-product div.product .woocommerce-product-gallery {
        width: 100%;
    }

    .single-product div.product .summary {
        width: 100%;
        margin: 30px 0 0 0;
    }
}

/* ******* */

@media screen and (max-width: 479px) {

    .site-main ul.products li.product {
        width: 100%;
    }

    #primary {
        margin: var(--content-area-margin);
        /* Prevents the element from overflowing its container due to margins */
        max-width: calc(100% - (2 * var(--content-area-margin))) !important;
    }

    /* Spacing for the widgets*/
    .header-widget-region .widget {
        /* Prevents the element from overflowing its container due to margins */
        max-width: calc(100% - (2 * var(--woocommerce-widget-layered-nav-margin)));
    }
}

.woocommerce-widget-layered-nav-dropdown__submit {
    visibility: collapse;
}

/* Spacing for the widgets*/
.header-widget-region .widget {
    margin: var(--woocommerce-widget-layered-nav-margin);
    padding: 0;
    font-size: 0.875em;
}

.widget .widget-title, .widget .widgettitle {
    padding: 0 0 2px;
    margin-bottom: 2px;
}

#main > article > header.entry-header {
    padding: 0 0 2em;
}

span.lowest_price {
    font-style: italic;
    font-weight: bold;
}

.woof .woof_redraw_zone label.woof_section_tab_label {
	float: none;
	padding: 5px;
	margin: 0;
	width: auto;
	font-size: 14 px
}

.woof .woof_redraw_zone .woof_section_tab {
	background-color: inherit;	
}
