﻿/*listing page style */
.product-header-panel {
    display: flex;
    justify-content: space-between;
    padding: 5px 15px;
    align-items: center;
    box-shadow: 0px 3px 6px #00000029;
}

.product-list-header {
    background: transparent linear-gradient(90deg, #A9C9E2 0%, #F0F8FC 67%, #F8FBFD 100%, #FCFDFD 100%) 0% 0% no-repeat padding-box;
    box-shadow: 0px 3px 6px #00000029;
    border-radius: 25px 0px 0px 0px;
    padding: 10px 15px;
}

.product-list .product-header-panel {
    background: #f4f9fd 0% 0% no-repeat padding-box;
    position: relative;
}

.product-list.expanded .header-seperator {
    background: rgb(104, 202, 225);
    background: linear-gradient(90deg, rgba(104, 202, 225, 1) 0%, rgba(67, 146, 184, 1) 40%, rgba(0, 47, 109, 1) 80%);
    height: 3px;
}

.product-type-image-label img {
    max-height: 50px;
    margin-right: 15px;
}

.product-category-title {
    font-size: 20px;
    font-weight: 500;
    padding-left: 20px;
}

    .product-category-title label {
        margin-bottom: 0px;
    }

.category-label-seperator {
    width: 1px;
    margin: 0px 5px;
    background: #002F6D;
    display: inline-block;
    align-self: stretch;
    margin-bottom: 5px;
    margin-top: 5px;
}

.ready-pack-info-section {
    display: flex;
    align-items: center;
}

    .ready-pack-info-section span,
    .single-product .is-readypack {
        display: block;
        margin-right: 10px;
    }

    .ready-pack-info-section img {
        max-width: 125px;
        height: auto;
    }

.product-type-image-label {
    display: flex;
    align-items: center;
}

.product-type-label a {
    font: normal normal 600 18px / 18px Open Sans, serif;
    letter-spacing: 0px;
    color: #155A60;
    text-decoration: underline;
}

.pallet-info-icon .fas {
    color: #015697;
    cursor: pointer;
    margin-left: 8px;
}

.view-details, .view-details:hover {
    box-shadow: 0px 3px 6px #00000029;
    padding: 5px 10px;
    color: #017A35;
    font-weight: 600;
    background: #fff;
    border: 0;
    outline: 0;
    text-decoration: none;
    display: flex;
    align-items: center;
    white-space: nowrap;
}

    .view-details:focus-visible {
        outline: -webkit-focus-ring-color auto thin;
        outline: revert;
    }

.view-details-icon svg {
    width: 1em;
    height: 1em;
    vertical-align: -0.125em;
    color: #017A35;
}

    .view-details-icon svg path {
        color: #017A35;
    }

.click-to-buy {
    padding: 5px 15px;
    display: flex;
    align-items: center;
    border: 2px solid #68cae1;
    background: #fff;
    border-radius: 20px;
}

    .click-to-buy label {
        font-weight: 600;
        margin: 0;
        margin-right: 5px;
        white-space: nowrap;
    }

.product-list .click-to-buy .fas {
    display: none;
    color: #017A35;
    font-size: 20px;
}

.product-list:not(.expanded) .click-to-buy .fa-chevron-down {
    display: inline-block;
    animation: bounce-chevron 0.5s infinite ease-in-out;
}

.product-list.expanded .click-to-buy .fa-chevron-up {
    display: inline-block;
}

@keyframes bounce-chevron {
    0%, 50%, 100% {
        transform: translateY(0);
    }

    25% {
        transform: translateY(-3px);
    }

    75% {
        transform: translateY(3px);
    }
}

.single-product .image-and-name img {
    max-height: 45px;
    margin-right: 15px;
}

span.is-readypack {
    margin-top: 5px;
}

.name-section {
    display: flex;
    align-items: flex-start;
}

.image-and-name {
    display: flex;
    align-items: center;
}

.product-quantity input {
    width: 50px;
    max-width: 50px;
    text-align: center;
}

.single-product {
    box-shadow: 0px 3px 6px #00000029;
    padding: 10px;
    margin: 15px 0;
    display: grid;
    grid-template-columns: 3fr 1fr 100px minmax(275px, max-content);
    align-items: center;
    gap: 10px;
    font-size: 14px;
}

.cart-section {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-width: 275px;
}

.name-qty {
    display: grid;
}

.quantity {
    border: 1px solid #bababa;
    border-radius: 2px;
    padding: 3px 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: fit-content;
}

    .quantity .fas {
        font-size: 10px;
        line-height: 20px;
        cursor: pointer;
    }

input.qty-input {
    border: none;
    outline: none;
    max-width: 100px;
    text-align: center;
    font-size: 15px;
    font-weight: 600;
}

    input.qty-input::-webkit-outer-spin-button,
    input.qty-input::-webkit-inner-spin-button {
        /* display: none; <- Crashes Chrome on hover */
        -webkit-appearance: none;
        margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
    }

input.qty-input {
    -moz-appearance: textfield; /* Firefox */
}

.add-to-cart .add-to-cart-icon path {
    color: #fff;
}

button.add-to-cart {
    background: #017A35;
    border: 1px solid #017A35;
    box-shadow: 0px 3px 6px #00000029;
    padding: 3px 10px;
    color: #fff;
    font-weight: 600;
    min-width: 135px;
}

label.product-name {
    font-weight: 500;
    margin-bottom: 0px;
    display:flex;
}

label.product-qty {
    font-size: 13px;
    margin-bottom: 0px;
}

.back-in-stock {
    text-transform: initial;
    color: #026601 !important;
    font-size: 14px;
    font-style: italic;
}

.out-of-stock,
.out-of-stock span {
    color: #9e2629;
    font-weight: 600;
    text-transform: uppercase;
}

.back-in-stock:before {
    content: "("
}

.back-in-stock:after {
    content: ")"
}

label.product-price {
    color: #002F6D;
    font-weight: 600;
    margin-bottom: 0px;
    white-space: nowrap;
}

label.product-size {
    font-weight: 600;
    margin-bottom: 0px;
    white-space: nowrap;
}

.size-price .seperator {
    border-right: 1px solid #707070;
    margin: 0px 5px;
    align-self: stretch;
}

.size-price {
    display: flex;
    align-items: center;
}

.product-quantity input[type="number"]::-webkit-inner-spin-button {
    opacity: 1
}

.request-more-info-section {
    background: linear-gradient(270deg, #87B188 0%, #6E9FC9 100%) 0% 0% no-repeat padding-box;
    border-radius: 20px 0px;
    color: #fff;
    padding: 10px 20px;
    grid-gap: 30px;
    margin-top: 35px;
}

.req-mor-info-text {
    color: #fff;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 16px;
}

.req-more-info-button, .req-more-info-button:hover {
    background: #FFFFFF 0% 0% no-repeat padding-box;
    border-radius: 4px;
    color: #017A35;
    font-size: 16px;
    font-weight: 600;
    border: #fff;
    padding: 5px 20px;
    text-decoration: none;
}

.soldto-skeletal {
    margin-bottom: 20px;
}

    .soldto-skeletal .one, .soldto-skeletal .two, .soldto-skeletal .three {
        background-color: #ccc;
        height: 16px;
        animation-name: animate-template;
        animation-duration: 2s;
        animation-iteration-count: infinite;
        animation-timing-function: linear;
        background: -webkit-gradient(linear, left top, right top, color-stop(8%, #eee), color-stop(18%, #ddd), color-stop(33%, #eee));
        background: -webkit-linear-gradient(left, #eee 8%, #ddd 18%, #eee 33%);
        background: linear-gradient(to right, #eee 8%, #ddd 18%, #eee 33%);
        -webkit-background-size: 800px 104px;
        min-width: 200px;
        margin: 10px;
        max-width: 100%;
    }

@keyframes animate-template {
    0% {
        background-position: -468px 0
    }

    100% {
        background-position: 468px 0
    }
}

.soldto-container {
    background: transparent linear-gradient(90deg, #F7F7F7 0%, #FDFDFD 100%) 0% 0% no-repeat padding-box;
    box-shadow: 0px 3px 6px #9F9F9F29;
    padding: 15px 50px;
    row-gap: 15px;
}

@media(max-width:1500px) {
    .product-type-label a {
        font-size: 18px;
    }

    .product-category-title {
        font-size: 20px;
    }

    .product-type-image-label img {
        max-height: 55px;
    }
}

@media screen and (max-width:1440px) {

    .single-product {
        grid-template-columns: 2fr 1fr 80px minmax(200px, max-content);
    }
}

@media screen and (max-width:1200px) {
    .product-category-title {
        font-size: 18px;
    }

    .product-type-label a {
        font-size: 18px;
    }

    .product-type-image-label img {
        max-height: 50px;
    }

    .single-product {
        grid-template-areas:
            "image image image"
            "price qty cart";
        grid-template-columns: 1fr 1fr 1fr;
    }

    .image-and-name {
        grid-area: image;
    }

    .cart-section {
        grid-area: cart;
        justify-content: center;
    }


    .product-quantity {
        grid-area: qty;
    }

        .product-quantity input {
        }

    .size-price {
        grid-area: price;
        padding-left: 5px;
    }
}

@media screen and (max-width: 992px) {
    .single-product {
        grid-template-areas:
            "image image"
            "price qty"
            "cart cart";
        grid-template-columns: 1fr 1fr;
    }

    .group-list-products .single-product {
        grid-template-areas:
            "image image image"
            "price qty cart";
        grid-template-columns: 1fr 1fr 1fr;
    }

    .size-price {
        grid-area: price;
        /* justify-self: flex-end; */
    }

    .image-and-name {
        grid-area: image;
    }

    .cart-section {
        grid-area: cart;
        justify-content: center;
        padding-top: 10px;
        border-top: 1px solid #ccc;
    }


    .product-quantity {
        grid-area: qty;
    }

    .product-type-label a {
        font-size: 16px;
    }

    .click-to-buy label {
        font-size: 14px;
    }

    .product-type-image-label img {
        margin-right: 10px;
    }

    .click-to-buy {
        border: none;
        background: unset;
    }

        .click-to-buy label {
            display: none
        }
}

@media screen and (max-width: 767.95px) {
    .single-product {
        grid-template-areas:
            "image image image"
            "price qty cart";
        grid-template-columns: 1fr 1fr 1fr;
    }

    .cart-section {
        padding-top: 0px;
        border-top: 0px solid #ccc;
    }
}

@media screen and (max-width: 575.98px) {
    .single-product {
        grid-template-areas:
            "image image"
            "price qty"
            "cart cart";
        grid-template-columns: 1fr 1fr;
    }

    .group-list-products .single-product {
        grid-template-areas:
            "image image"
            "price qty"
            "cart cart";
        grid-template-columns: 1fr 1fr;
    }

    .size-price {
        /* justify-content: center; */
    }

    .product-quantity {
        /* text-align:center; */
    }

    .product-header-panel {
        gap: 10px;
        padding: 5px;
    }

    .product-type-image-label {
        width: 100%;
    }

    .cart-section {
        /* justify-content:space-between; */
        padding-top: 10px;
        border-top: 1px solid #ccc;
    }

    .product-header-right-section {
        /* width: 100%; */
        justify-content: space-between;
    }

    .click-to-buy {
        border: none;
        background: unset;
    }

        .click-to-buy label {
            display: none
        }
}
