/** Shopify CDN: Minification failed

Line 2043:1 Expected "}" to go with "{"

**/
/* Place any CSS overrides in this file. */
.product-bottom-price-cta {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: 15px 25px 0;
    border-top: 1px solid rgba(150, 150, 150, 0.50);
    background: linear-gradient(172deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 33%, rgba(245, 249, 252, 1) 66%);


    .product-grid--price:not(:last-child) {
        padding-bottom: 0;
    }

    .price--regular-price {
        font-weight: bold;
    }

    .quick-add-button {
        &.quick-add-button-desktop {
            font-weight: bold;
            background: none;
            text-transform: uppercase;
        }
    }
}

.cta-with-image-text__container .homepage-content--image .responsive-image-wrapper {
    mask-image: linear-gradient(
            to right,
            transparent 0%,
            rgba(0, 0, 0, 0.05) 5%,
            rgba(0, 0, 0, 0.2) 10%,
            rgba(0, 0, 0, 0.4) 15%,
            rgba(0, 0, 0, 0.6) 20%,
            rgba(0, 0, 0, 0.75) 25%,
            rgba(0, 0, 0, 0.85) 30%,
            rgba(0, 0, 0, 0.95) 35%,
            black 40%,
            black 60%,
            rgba(0, 0, 0, 0.95) 65%,
            rgba(0, 0, 0, 0.85) 70%,
            rgba(0, 0, 0, 0.75) 75%,
            rgba(0, 0, 0, 0.6) 80%,
            rgba(0, 0, 0, 0.4) 85%,
            rgba(0, 0, 0, 0.2) 90%,
            rgba(0, 0, 0, 0.05) 95%,
            transparent 100%
    );
}

.featured-products-wrapper, .related-products-wrapper {

    .grid__item.large--one-quarter {
        max-width: 320px;
    }

        product-card {
            padding: 0 40px;
            margin: 0 auto;

            .product-grid--title {
                font-weight: bold;
                font-size: 20px;
                text-transform: uppercase;
            }

            .grid-view-item-image {

                overflow: visible !important;

                .responsive-image-wrapper {
                    position: relative;
                    width: 100%;
                    max-width: 1200px;
                    overflow: hidden;
                    /* Create a clipping container with appropriate aspect ratio */
                    aspect-ratio: 3/3.1; /* Adjust this ratio to control visible area */
                    height: auto; /* Let the aspect ratio control height */
                    /* Scale up the entire component */
                    transform: scale(1.2);
                    transform-origin: center center;
                    /* Add margin to account for the scaling */
                    margin-top: 10%;
                    margin-bottom: 10%;
                }

                img.theme-img {
                    height: 460px;
                    position: absolute;
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                    /* Adjust vertical percentage to center on the subject and crop empty space */
                    object-position: center 40% !important; /* Override the inline style's !important */
                    transform: scale(1.1); /* Optional: slightly zoom in to further reduce empty space */
                    height: 100%; /* Override the fixed height */
                    max-height: none; /* Remove max-height restriction */

                    &.js {
                        /* Override any inline styles limiting dimensions */
                        max-height: none !important;
                    }
                }

            }
        }
    }

.template-index {


    .header-section--wrapper {
        .mobile-grid--table {

            .grid__item.three-twelfths:first-child {
                width: 18%;
            }
        }
    }

    #top_links_wrapper {
        .site-nav--link-wrapper {
            font-size: 16px;
        }
    }

    .cta-with-image-text-wrapper, .cnlabs-image-with-text-slideshow-wrapper {
        .top-hero {
            .no-overlap-content-box {
                .homepage-sections--title {
                    font-size: 58px;
                }

                .cta-with-image-text__buttons {
                    display: flex;
                    flex-wrap: wrap;
                    justify-content: flex-start;
                    align-items: center;
                    gap: var(--grid-spacing);

                    a.btn {
                        width: auto;

                        &:nth-child(2) {
                            background: #ffffff;
                            color: #393939 !important;
                        }
                    }
                }
            }
        }
    }


    .slideshow-slider-container {
        .homepage-featured-content-box {
            .homepage-featured-content-box-inner {
                max-width: 40%;
            }
        }

        .slide-buttons {

            a.btn {
                font-weight: bold;
            }

            :nth-child(2 of .homepage-section-btn-container) {
                a.btn {
                    background-color: #ffffff;
                    color: #393939 !important;
                }
            }
        }
    }

    .homepage-section--logo-bar-wrapper {
        background: #e4e2e3;

        div[data-wetheme-section-type=image--logo-list] {
            background: #e4e2e3 !important;
        }
    }

    .home-icons-row {
        max-width: 1024px;
        margin-left: auto;
        margin-right: auto;
        margin-top: 40px;

        .info-cols--text {
            text-transform: uppercase;
            padding-left: 20px;
            padding-right: 20px;
        }
    }

    .home-testimonial-row {
        max-width: 1440px;
        margin-left: auto;
        margin-right: auto;

        .info-cols--image_and_text-column {
            display: flex;
            flex-wrap: wrap;
            align-items: center;

            .info-cols--image {
                width: 25%;
            }

            .info-cols--text {
                width: 75%;
            }

            .info-cols--link--wrapper {
                display: none;
            }
        }
    }

    .testimonial-slider-wrapper {

        .swiper-wrapper {
            column-gap: 0; /* Change from 30px to 0 */
        }

        /* Add proper slide width calculation and spacing */

        .testimonial-grid--slider-enabled .swiper-slide.testimonial--single-item {
            /* Make sure slides take up the correct width proportion based on grid-desktop setting */
            width: 100% !important; /* This will be overridden by Swiper's calculations */
            margin-right: 30px !important; /* Add margin instead of column-gap for proper Swiper calculations */
            box-sizing: border-box;
        }

        /* Fix for width calculations */

        .testimonial-grid--slider-enabled .swiper {
            width: calc(100% + 30px) !important; /* Add extra width to account for the right margin */
            margin-left: 0;
            margin-right: -30px; /* Compensate for the extra width */
            padding-right: 0; /* Ensure no additional padding affects calculations */
        }


        .testimonial--single-item {
            display: grid;
            grid-template-columns: 25% 75%;
            align-items: flex-start;
            border: 1px solid rgba(150, 150, 150, 0.78);
            border-radius: 20px;
            padding: 20px;
            text-align: left;

            .testimonial-section--image {
                grid-column: 1;
                grid-row: 1 / span 3;
                width: 100%;
            }

            .testimonials--star-wrapper {
                grid-column: 2;
                width: 100%;
                justify-content: flex-start;
                padding-left: 15%;
                color: #e68819;
                margin: 10px;
            }

            .testimonials--text-wrapper {
                grid-column: 2;
                width: 100%;
                padding-left: 15%;
                margin: 10px;
            }

            .testimonials--info {
                grid-column: 2;
                width: 100%;
                padding-left: 15%;

                .verified-mark {
                    display: inline-flex;
                    align-items: center;
                    justify-content: center;
                    font-size: 0.8rem;
                    color: #4d7bf3;
                    font-weight: bold;

                    .rounded-check {
                        display: inline-flex;
                        align-items: center;
                        justify-content: center;
                        margin: 0 5px 0 0;
                        border-radius: 50%;
                        background: #4d7bf3;
                        color: #ffffff;
                        width: 18px;
                        height: 18px;
                        padding: 0;
                    }

                    .checkmark-icon {
                        width: 10px;
                        height: 10px;
                        stroke: #ffffff;
                    }
                }
            }
        }

        /* Custom CSS to handle full width testimonial sliders */

        .width--full-minus-margin {
            width: 100%;
            padding-left: 30px;
            padding-right: 30px;
            box-sizing: border-box;
        }

        /* Make sure elements inside both width variants are properly displayed */

        .testimonial-grid--wrapper {
            width: 100%;
        }

        @media screen and (max-width: 767px) {
            .width--full-minus-margin {
                padding-left: 15px;
                padding-right: 15px;
            }
        }
    }

    .shopify-section.blog-posts {
        .homepage-blog--date {
            display: none;
        }

        .homepage-blog--title {
            margin-top: 15px;
            text-transform: capitalize;
        }
    }

    .section--extended-newsletter {
        .newsletter--section-wrapper {
            background: #e4e2e3;

            .image-newsletter-container {
                display: flex;
                flex-wrap: wrap;
                justify-content: center;


                .extended-newsletter__image-container, .newsletter-wrapper--outer {
                    width: 50%;
                }

                .extended-newsletter__image-container {
                    padding-right: 20px;

                    .responsive-image-wrapper {
                        justify-content: flex-end;

                        img {
                            max-width: 300px !important;
                        }
                    }
                }

                .newsletter-wrapper--outer {
                    display: block;

                    .newsletter-content--wrapper {
                        color: #1e529e;
                        width: 100%;

                        .newsletter-section--title {
                            text-transform: uppercase;
                            font-size: 32px;
                        }
                    }

                    .newsletter-form--wrapper #newsletter_section_form #newsletter-wrapper {
                        display: block;

                        #newsletter_text, #newsletter_first_name {
                            background: #ffffff;
                            border: 1px solid rgba(30, 82, 158, 0.35);
                            padding-left: 10px;
                            margin-top: 10px;

                            &:focus {
                                border: 1px solid rgba(30, 82, 158, 1);
                            }
                        }

                        button#newsletter_submit {
                            color: #ffffff;
                            background: #393939;
                            border-radius: 6px;
                            margin-top: 10px;
                        }
                    }
                }
            }
        }
    }

    .cnlabs-image-with-text-slideshow-wrapper {
        .swiper-wrapper {
            box-sizing: border-box;
        }

        /* Position navigation buttons at 50% height of the slide */
        .swiper-btn--wrapper {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            left: 0;
            right: 0;
            height: 0;
            pointer-events: none;
            z-index: 10;

            .swiper-button--prev,
            .swiper-button--next {
                position: absolute;
                top: 0;
                transform: translateY(-50%);
                pointer-events: auto;
            }

            .swiper-button--prev {
                left: 20px;
            }

            .swiper-button--next {
                right: 20px;
            }
        }

        /* Keep original button styling from theme */
        .swiper-button--prev,
        .swiper-button--next {
            z-index: 10;
            cursor: pointer;
        }
    }

    .cta-with-image-text-wrapper, .cnlabs-image-with-text-slideshow-wrapper{
        .no-overlap-content-box {
            width: 100%;
            padding-left: 30px;
            padding-right: 20px;

            .homepage-sections--title {
                font-size: 38px;
                line-height: 1.4;
            }

            .text-with-icon--content {
                align-items: center;

                .text-with-icon--icon {

                    > div:has(.responsive-image-wrapper) {
                        width: 80px !important;
                    }
                }

                .text-with-icon--text {
                    font-size: 22px;
                }
            }

            .cta-with-image-text__buttons {

                a.btn {
                    width: 100%;
                    text-align: center;
                    font-weight: bold;
                }
            }
        }

        .subscription-cta {
            .homepage-sections--title {
                font-size: 30px;
            }
            .text-with-icon--content {
                .text-with-icon--text {
                    font-size: 20px;
                }
            }

            .homepage-featured-content-box-inner {
                padding-bottom: 0;
                padding-left: 0;
                padding-right: 0;
            }

            .no-overlap-content-box {
                padding: 0;
            }
        }
    }


    .form-success {
        font-size: 16px;
        background: #ffffff;
        padding: 10px 15px;
    }
}


.footer-main {

        .image-footer {
            .responsive-image-wrapper {
                width: 80%;
                margin: 0 auto;
            }
        }

        .links-footer {
            li {
                font-weight: bold;
            }
        }

        .footer-header {
            margin-bottom: 20px;
            text-transform: uppercase;
        }

        .footer-email-input {
            border: 1px solid var(--color-scheme-border-color);
            padding: 5px 10px;
        }


    }
.footer-disclaimer {

    background: #000000;
    color: #ffffff;
    padding: 20px;

    .text {
        padding-top: 30px;
        font-size: 86%;
        width: 80%;
        margin-left: auto;
        margin-right: auto;
    }

    .copyright {
        text-align: center;
        padding: 40px 0;
    }

}

@media screen and (min-width: 768px) {
    .template-index {

        .logo-bar {
            row-gap: 1px;
            align-items: center;
            flex-wrap: nowrap;

            .logo-bar__image {
                opacity: 0.6;
            }
        }

        .testimonial-slider-wrapper {
            /* Custom CSS to fix testimonial slider display */

            .testimonial-grid--slider-enabled .swiper-slide.testimonial--single-item {
                /* Reset the flex behavior from the original CSS */
                /*flex: 0 0 auto !important;*/
                width: auto !important; /* Let Swiper control the width */
                max-width: none !important;
            }

            /* Make sure the grid slider's width calculation takes precedence */

            .testimonial-grid--slider-enabled .swiper {
                width: 100% !important;
            }

            /* Ensure the testimonials in grid view also respect the columns setting */

            .testimonial-grid--wrapper:not(.testimonial-grid--slider-enabled) .testimonial--single-item {
                /* Base styles for non-slider grid */
                flex: 0 0 auto;
            }

            /* Adjust width based on grid-desktop setting */
            /* For 1 per row */

            .grid-uniform .large--one-whole.testimonial--single-item {
                width: 100% !important;
            }

            /* For 2 per row */

            .grid-uniform .large--one-half.testimonial--single-item {
                width: calc(50% - 20px) !important;
            }

            /* For 3 per row */

            .grid-uniform .large--one-third.testimonial--single-item {
                width: calc(33.333% - 20px) !important;
            }

            /* For 4 per row */

            .grid-uniform .large--one-quarter.testimonial--single-item {
                width: calc(25% - 20px) !important;
            }

            /* For 5 per row */

            .grid-uniform .large--one-fifth.testimonial--single-item {
                width: calc(20% - 20px) !important;
            }
        }

        .featured-products-wrapper {
            .product-grid--wrapper {
                .grid__item.large--one-quarter {
                    width: 20% !important;
                }
            }
        }
    }
    .footer-main {

        .image-footer {
            .responsive-image-wrapper {
                width: 80%;
                margin: 0;
            }
        }
    }
}

@media screen and (max-width: 1440px) {
    .template-index {
        .cta-with-image-text-wrapper, .cnlabs-image-with-text-slideshow-wrapper {
            .top-hero {
                .no-overlap-content-box {
                    .homepage-sections--title {
                        font-size: 40px;
                    }
                }
            }

            .no-overlap-content-box {
                width: 100%;
                padding-right: 0;
            }
        }
        .homepage-section--logo-bar-wrapper {
            .logo-bar__item {
                flex: 1;
            }
        }

        .testimonial-slider-wrapper .testimonial--single-item {
            grid-template-columns: auto; /* only the padding-left of .testimonials--text-wrapper acts as separator in small screens, no need to explicitly set the width of each column */
            height: auto;

            .testimonials--text-wrapper {
                padding-left: 5%;
            }

            .testimonial-section--image img {
                max-width: 150px;
                min-width: 150px;
                max-height: 150px;
                min-height: 150px;
            }
        }

        :is(.featured-products-wrapper,.related-products-wrapper) product-card {
            padding: 0 10px;
        }
    }
}

@media screen and (max-width: 767px) {
    .template-product {
        .cnlabs-icons-wrapper {
            gap: 20px;
        }

        .cnlabs-icon-item {
            width: 100px;
        }

        .cnlabs-icon-title {
            font-size: 14px;
        }
    }

    .template-index {
        .cta-with-image-text__container .homepage-content--image .responsive-image-wrapper {
            mask-image: none;
        }

        .cta-with-image-text-wrapper, .cnlabs-image-with-text-slideshow-wrapper {
            .top-hero {

                .no-overlap-content-box {
                    .homepage-sections--title {
                        font-size: 36px;
                    }
                }

                .homepage-featured-content-wrapper {
                    .grid__item:first-child {
                        padding-left: 0;
                    }
                }
            }

            .no-overlap-content-box {
                width: 100%;
                padding-right: 0;
                padding-left: 0;

                .cta-with-image-text__buttons {
                    justify-content: center !important;

                    a.btn {
                        width: auto;
                    }
                }
            }
        }

        .featured-products-wrapper {
            product-card {
                .responsive-image-wrapper {
                    aspect-ratio: 3/3; /* More square aspect ratio on mobile */
                }

                .responsive-image-wrapper .theme-img {
                    object-position: center 35% !important; /* Adjust for mobile if needed */
                }
            }
        }

        .homepage-section--logo-bar-wrapper {
            .logo-bar {
                padding-top: 1px;
                padding-bottom: 1px;
                justify-content: space-around;

                .logo-bar__item {
                    flex: 1;
                }

                .logo-bar__item, .logo-bar__item img {
                    width: 100px !important;
                    height: 50px !important;
                }
            }
        }

        .product-section--info-columns {
            info-columns {
                padding-bottom: 30px;
            }
        }

        .testimonial-slider-wrapper {

            .grid--full.homepage-featured-content-wrapper {
                margin-left: 0;
                margin-right: 0;
            }

            .grid-uniform {
                margin-left: 0;
                margin-right: 0;
            }

            /* Reset swiper wrapper and container styles for mobile */
            .testimonial-grid--slider-enabled .swiper {
                width: 100% !important;
                margin-left: 0;
                margin-right: 0;
                overflow: hidden;
            }

            .swiper-wrapper {
                width: 100%;
                margin: 0;
            }

            /* Ensure slides take full width on mobile */
            .testimonial-grid--slider-enabled .swiper-slide.testimonial--single-item {
                width: 100% !important;
                margin-right: 0 !important;
                padding: 0 15px;
                box-sizing: border-box;
            }

            .testimonial--single-item {
                display: flex;
                align-items: center;
                flex-wrap: wrap;
                justify-content: center;
                text-align: center;
                width: 100% !important;
                grid-template-columns: 1fr !important;
            }

            .testimonial-section--image {
                grid-column: unset;
                grid-row: unset;
                max-width: 250px;
                margin-bottom: 20px;
                width: 100%;

                /* Revert the sizes overriden on max-width 1440px */
                img {
                    max-width: 200px;
                    min-width: 200px;
                    max-height: 200px;
                    min-height: 200px;
                }
            }

            .testimonials--star-wrapper {
                grid-column: unset;
                display: flex;
                justify-content: center;
                padding-left: 0;
                margin: 15px 0;
                width: 100%;
            }

            .testimonials--text-wrapper {
                grid-column: unset;
                padding-left: 0;
                margin: 10px 0;
                width: 100%;
            }

            .testimonials--info {
                grid-column: unset;
                padding-left: 0;
                width: 100%;
            }

            /* Hide pagination dots that might be showing partial slides */
            .swiper-pagination {
                margin-top: 20px;
            }

            /* Ensure navigation buttons work correctly */
            .swiper-btn--wrapper {
                display: none; /* Hide desktop navigation on mobile */
            }
        }

        /* Additional mobile-specific rules for grid-slider with data-slides-per-view-mobile="1" */
        grid-slider[data-slides-per-view-mobile="1"] {
            .swiper-wrapper {
                /* Ensure no gaps between slides */
                gap: 0 !important;
            }

            .swiper-slide {
                /* Make each slide take full viewport width */
                width: 100% !important;
                max-width: 100% !important;
                flex-shrink: 0;
            }

            /* Ensure proper centering when fewer slides than viewport */
            &[data-slides-per-view-mobile="1"] .swiper-wrapper {
                justify-content: center;
            }
        }

        .product-grid--wrapper {
            grid-slider {
                .grid__item.small--one-whole {
                    /*width: 100% !important;
                    margin-right: 0 !important;*/


                    product-card {
                        justify-content: flex-start;

                        .product-grid--title-font-heading a {
                            text-transform: uppercase;
                        }
                    }
                }
            }
        }

        .subscription-cta {
            .homepage-featured-content-wrapper {
                display: flex;
                flex-wrap: wrap;

                .homepage-content--image {
                    padding-top: 30px;
                }

                .homepage-featured-content-box-inner {
                    padding: 30px 10px;

                    .text-with-icon, .cta-with-image-text__buttons {
                        width: 90%;
                        margin: 0 auto;
                    }

                    .text-with-icon--content {

                        justify-content: center;

                        .text-with-icon--text {
                            text-align: left;
                        }
                    }

                    .cta-with-image-text__buttons a.btn {
                        width: 100%;
                    }
                }
            }
        }

        .section--extended-newsletter {
            .newsletter--section-wrapper .image-newsletter-container {
                .extended-newsletter__image-container, .newsletter-wrapper--outer {
                    width: 100%;
                    text-align: center;
                }

                .extended-newsletter__image-container {
                    padding-right: 0;

                    .responsive-image-wrapper {
                        justify-content: center;
                    }
                }

                .newsletter-form--wrapper #newsletter_section_form #newsletter-wrapper {
                    button#newsletter_submit {
                        margin-left: auto;
                        margin-right: auto;
                    }
                }
            }
        }
    }
}

.cnlabs-product-template { /*the standard shopify product sections: product image, description, add to cart */

    .product-details-product-title {
        font-size: 54px;
        padding-right: 50px;
        line-height: 1.05;
        margin-bottom: 20px;
    }

    .product-form-block:has(h1) + .product-form-block h6 {
        font-family: var(--body-font-stack);
        font-weight: var(--body-font-weight);
        font-size: 24px;
    }

    .product-form-block:has(.product-price-group) {
        .product-price-group {

        }
    }

    .product-description {
        font-size: 20px;
    }

    product-media .thumbnail-media--main-media {
        img.theme-img[alt*="label" i] {
            width: 80%;
          margin: 0 auto;
        }
    }

    .bsub-widget__groups-container input[type="radio"] {
        display: revert;
    }

    .bsub-widget__wrapper {
        border: none;
        background: transparent;
        padding: 0;

        .bsub-widget__groups-container {
            column-gap: 15px;

            .bsub-widget__group {
                border-radius: 12px;
                border-width: 1px;
                border-style: solid;
                overflow: hidden;
                border-color: #949494;
                color: #000000;

                header {
                    color: #000000;
                    background: #e1e1e1;
                }

                &:has(input[type="radio"]:checked) {
                    border-color: #10b86b;
                    color: #000000;

                    header {
                        color: #ffffff;
                        background: #10b86b;
                        border-radius: 0;
                    }
                }

                header {
                    text-transform: uppercase;
                    font-weight: bold;
                    text-align: center;
                    padding: 6px 0;
                    font-size: 18px;
                }

                .bsub-widget__group-header {
                    flex-direction: row;
                    height: auto;
                    border: none;
                    border-radius: 0 0 12px 12px;
                    cursor: pointer;
                    padding: .5rem .5rem 0;

                    &:hover {
                        box-shadow: none;
                    }

                    input[type=radio] {
                        transform: translateY(5px);
                    }

                    .bsub-widget__text, .bsub-widget__group-discount-summary {
                        font-size: 24px;
                        font-weight: bold;
                        text-transform: uppercase;
                    }
                }

                .bsub-widget__discount-per-unit {
                    text-align: center;
                    font-style: italic;
                    font-size: 18px;
                    padding-bottom: 10px;
                }

                &:not([data-bsub-selling-plan-group]) {
                    .bsub-widget__group-header-wrapper {
                        margin: 3px 20px;
                        background: #f3f3f3;

                        .bsub-widget__group-header {
                            background: none;
                            border-radius: 0;
                        }

                        .bsub-widget__standard-pricing {
                            text-align: center;
                            font-style: italic;
                            font-size: 18px;
                            padding-bottom: 10px;
                            text-transform: none;
                        }
                    }

                    &:has(input[type="radio"]:not(:checked)) {
                        .bsub-widget__group-header-wrapper {
                            background: #ffffff;
                        }
                    }
                }
            }
        }

        .bsub-widget__plans-switcher {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            margin: 15px 0;

            &.bsub__hidden {
                display: none;
            }

            .refresh-icon {
                flex: 0 1 30px;
            }

            .bsub-widget__plan-description {
                flex: 1 1 60%;
                padding: 0 0 0 15px;

                .bsub-widget__plan-name {
                    font-weight: bold;
                    font-size: 24px;
                }

                .bsub-widget__plan-policy {
                    font-style: italic;
                    font-weight: bold;
                }
            }

            .bsub__widget__plan-switcher-button {
                flex: 0 1 30%;

                .bsub-change-frequency-btn {
                    padding: 10px 20px;
                    font-weight: bold;
                    background: #f9fafc;
                    border: 1px solid #edeef2;
                    border-radius: 12px;
                }
            }
        }
    }

    .quantity-wrapper {
        display: flex;
        flex-wrap: wrap;
        align-items: center;

        quantity-input {
            border: 1px solid #949494;
            border-radius: 12px;
            flex: 0 1 150px;

            label {
                padding: 2px 5px;
                text-align: center;
                margin-bottom: 0;
            }

            .js-qty {
                border: none;
                justify-content: center;
                width: 100%;
            }
        }

        .quantity-shipping-separator {
            height: 1px;
            background: #949494;
            flex: 0 1 30px;
        }

        .free-shipping-offer {
            font-weight: 600;
            font-size: 24px;
            text-transform: uppercase;
            padding: 5px 35px;
            text-align: center;
            flex: 1 0 150px;
            border: 1px solid #949494;
            border-radius: 12px;

            .free-shipping-highlight {
                color: #10b86b;
            }
        }
    }
}

@media screen and (max-width: 1440px) {
    .cnlabs-product-template {
        .product-details-product-title {
            font-size: 36px;
        }

        .product-form-block:has(h1) + .product-form-block h6 {
            font-size: 20px;
        }

        .product-description {
            font-size: 17px;
        }
    }
}

@media screen and (max-width: 1280px) {
    .cnlabs-product-template {
        .quantity-wrapper {
            quantity-input {
                max-width: 130px;
                label {
                    font-size: 16px;
                }

            }
            .free-shipping-offer {
                font-size: 20px;
            }
        }
    }
}

@media screen and (max-width: 960px) {
    .cnlabs-product-template {
        .quantity-wrapper {
            .free-shipping-offer {
                font-size: 18px;
            }
        }
    }
}

@media screen and (max-width: 767px) {
    .cnlabs-product-template {
        .product-details-product-title {
            font-size: 26px;
            margin-bottom: 10px;
        }

        .product-form-block:has(h1) + .product-form-block h6 {
            font-size: 18px;
        }

        .product-description {
            font-size: 18px;
        }

        .bsub-widget__wrapper {

            .bsub-widget__groups-container {
                flex-wrap: wrap;
                gap: 15px 0;

                .bsub-widget__group + .bsub-widget__group {
                    margin-left: 0;
                }
            }

            .bsub-widget__plans-switcher {
                .refresh-icon {
                    flex: 0 1 15%;
                }

                .bsub-widget__plan-description {
                    flex: 1 1 60%;
                }

                .bsub__widget__plan-switcher-button {
                    flex: 1 1 60%;
                    display: flex;
                    flex-wrap: wrap;
                    justify-content: center;
                    margin-top: 15px;
                }
            }
        }

        .quantity-wrapper {
            quantity-input {
                flex: 0 0 20%;
            }

            .quantity-shipping-separator {
                width: 10%;
            }

            .free-shipping-offer {
                flex: 1 1 50%;
                padding: 5px 15px;
                font-size: 20px;
            }
        }

        .product-form-block:has(.product-price-group) {
            #ProductPrice {
                width: 100%;

                .money {
                    display: block;
                    text-align: center;
                    font-size: 40px;
                }
            }
        }
    }
}

/** The entire product template */
.template-product {

    .cnlabs-icons-container {
        width: 100%;
        padding: 20px 0;
        container-type: inline-size;
        container-name: icons-container;
    }

    .cnlabs-icons-wrapper {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 30px;
    }
    
    /* Main benefits section styling */
    .cnlabs-main-benefits-wrapper .cnlabs-main-benefits__container .homepage-content--image .blended-background .responsive-image-wrapper {
        mask-image: linear-gradient(
                to right,
                transparent 0%,
                rgba(0, 0, 0, 0.05) 5%,
                rgba(0, 0, 0, 0.2) 10%,
                rgba(0, 0, 0, 0.4) 15%,
                rgba(0, 0, 0, 0.6) 20%,
                rgba(0, 0, 0, 0.75) 25%,
                rgba(0, 0, 0, 0.85) 30%,
                rgba(0, 0, 0, 0.95) 35%,
                black 40%,
                black 64%,
                rgba(0, 0, 0, 0.90) 66%,
                rgba(0, 0, 0, 0.85) 70%,
                rgba(0, 0, 0, 0.75) 75%,
                rgba(0, 0, 0, 0.6) 80%,
                rgba(0, 0, 0, 0.3) 85%,
                rgba(0, 0, 0, 0.1) 90%,
                rgba(0, 0, 0, 0.02) 95%,
                transparent 100%
        );
    }

    .cnlabs-icon-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 120px;
    }

    .cnlabs-icon-image {

    }

    .cnlabs-icon-image img {
        width: 100%;
        height: auto;
        max-width: 120px;
        max-height: 120px;
        object-fit: contain;
    }

    .cnlabs-icon-title {
        font-size: 16px;
        font-weight: 500;
        text-align: center;
        margin-top: 5px;
        text-transform: uppercase;
    }


    product-card {
        /*justify-content: flex-start;*/

        .product-grid--title-font-heading a {
            text-transform: uppercase;
        }
    }


    @container icons-container (max-width: 500px) {
        .cnlabs-icons-wrapper {
            column-gap: 0;
        }

        .cnlabs-icon-item {
            width: 20%;
            max-width: 80px;
        }

        .cnlabs-icon-title {
            font-size: 12px;
        }
    }

    .cnlabs-text-image-wrapper, .cnlabs-main-benefits-wrapper, .cnlabs-why-it-works {
        /* image fade to background effect */

        .cnlabs-text-image__container .homepage-content--image .blended-background .responsive-image-wrapper {
            mask-image: linear-gradient(
                    to right,
                    transparent 0%,
                    rgba(0, 0, 0, 0.05) 5%,
                    rgba(0, 0, 0, 0.2) 10%,
                    rgba(0, 0, 0, 0.4) 15%,
                    rgba(0, 0, 0, 0.6) 20%,
                    rgba(0, 0, 0, 0.75) 25%,
                    rgba(0, 0, 0, 0.85) 30%,
                    rgba(0, 0, 0, 0.95) 35%,
                    black 40%,
                    black 60%,
                    rgba(0, 0, 0, 0.95) 65%,
                    rgba(0, 0, 0, 0.85) 70%,
                    rgba(0, 0, 0, 0.75) 75%,
                    rgba(0, 0, 0, 0.6) 80%,
                    rgba(0, 0, 0, 0.4) 85%,
                    rgba(0, 0, 0, 0.2) 90%,
                    rgba(0, 0, 0, 0.05) 95%,
                    transparent 100%
            );
        }

        .homepage-featured-content-box-inner {

            h2 {
                font-size: 52px;
                margin-bottom: 30px;
            }

            h3 {
                font-size: 36px;
            }
        }
    }

    .testimonial-slider-wrapper {
        .swiper-wrapper {
        }

        .testimonial--single-item {
            background: #ffffff;
            border: 1px solid rgba(150, 150, 150, 0.78);
            border-radius: 20px;
            padding: 20px;
            height: auto;
            margin-top: 1px;
            margin-bottom: 1px;
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            flex: 0 0 24%;


            .verified-mark {
                color: #4d7bf3;
                font-weight: bold;


                .rounded-check {
                    display: inline-flex;
                    align-items: center;
                    justify-content: center;
                    margin: 0 5px 0 0;
                    border-radius: 50%;
                    background: #4d7bf3;
                    color: #ffffff;
                    width: 18px;
                    height: 18px;
                    padding: 0;
                }

                .checkmark-icon {
                    width: 10px;
                    height: 10px;
                    stroke: #ffffff;
                }
            }

            .testimonials--star-wrapper {
                color: #e68819;
            }

            .testimonials--info {
                align-self: flex-end;
            }
        }
    }

    div[data-wetheme-section-type=cnlabs--section-with-text-and-image] {
        .sitewide--title-wrapper {
            padding: 30px 0;

            &.title-alignment--left .homepage-sections--title {
                text-align: left;
            }

            &.title-alignment--center .homepage-sections--title {
                text-align: center;
            }

            &.title-alignment--right .homepage-sections--title {
                text-align: right;
            }
        }
    }

    .payment-buttons-group-wrapper {
        display: flex;
        flex-wrap: wrap;
        align-items: center;

        margin-top: 20px;

        .payment-buttons {
            flex: 1 1 70%;

            .product--add-to-cart-button {
                background: #e36a27;
                color: #ffffff;
                font-size: 26px;
                font-weight: bold;
                text-align: center;
                border-radius: 12px;
            }
        }

        .with-icons {
            flex: 1 1 15%;
            text-align: center;
            padding: 10px 15px;
            margin-bottom: 30px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            align-self: flex-start;

            .text {
                text-transform: uppercase;
            }

            .guarantee-icon,
            .secure-icon {
                margin-bottom: 8px;
                background: #eaeaea;
                border-radius: 50%;
                padding: 5px;
                box-sizing: content-box;
            }

            .guarantee-text,
            .secure-text {
                font-size: 14px;
                font-weight: 500;
            }
        }
    }

    .free-shipping-notice {
        text-align: center;
        margin-top: 30px;

        strong::before {
            content: "";
            display: inline-block;
            width: 1.5em;
            height: 1.2em;
            margin-right: 0.5em;
            vertical-align: middle;
            background-color: transparent;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-truck'%3E%3Crect x='1' y='3' width='15' height='13'%3E%3C/rect%3E%3Cpolygon points='16 8 20 8 23 11 23 16 16 16 16 8'%3E%3C/polygon%3E%3Ccircle cx='5.5' cy='18.5' r='2.5'%3E%3C/circle%3E%3Ccircle cx='18.5' cy='18.5' r='2.5'%3E%3C/circle%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-size: 85% 85%;
            background-position: center center;
            border-radius: 3px;
        }
    }

    .product-section--benefits-columns {
        .info-cols--text {
            padding-left: 20px;
            padding-right: 20px;
        }
    }

    /* The buy with SHop Pay and more payment options added by Shopify */

    .shopify-payment-button {
        shopify-accelerated-checkout {
            --shopify-accelerated-checkout-button-border-radius: 12px;
        }
    }

    .related-products-wrapper {

    }

    .product-expert {
        .image-with-text-slideshow__slide:not(.swiper-slide-active) .image-with-text-slideshow__text-content-inner {
            display: block;
        }

        .image-with-text-slideshow__media-content {
            display: flex;
            align-content: center;
        }

        .responsive-image-wrapper {
            max-width: 70%;
            margin: 0 auto;
        }

        .image-with-text-slideshow__aspect-ratio--square img {
            aspect-ratio: unset;
        }
    }

    .cnlabs-why-it-works-wrapper {
        padding: 40px 15px;

        .homepage-content--image {
            padding: 20px 0;
        }
    }
}

@media screen and (max-width: 1659px) {
    .template-product {
        .product-expert {
            .responsive-image-wrapper {
                max-width: 96%;
            }
        }
    }
}
@media screen and (max-width: 1440px) {
    .template-product {
        .cnlabs-text-image-wrapper, .cnlabs-main-benefits-wrapper, .cnlabs-why-it-works {
            .homepage-featured-content-box-inner {
                h2 {
                    font-size: 36px;
                }
            }
        }
    }
}
@media screen and (max-width: 1279px) {
    .template-product {
        .cnlabs-main-benefits-wrapper .cnlabs-main-benefits__container .homepage-content--image .blended-background {
            .responsive-image-wrapper {
                mask-image: linear-gradient(
                        to right,
                        transparent 0%,
                        rgba(0, 0, 0, 0.05) 5%,
                        rgba(0, 0, 0, 0.2) 10%,
                        rgba(0, 0, 0, 0.4) 15%,
                        rgba(0, 0, 0, 0.6) 20%,
                        rgba(0, 0, 0, 0.75) 25%,
                        rgba(0, 0, 0, 0.85) 30%,
                        rgba(0, 0, 0, 0.95) 35%,
                        black 40%,
                        black 60%,
                        rgba(0, 0, 0, 0.95) 65%,
                        rgba(0, 0, 0, 0.85) 70%,
                        rgba(0, 0, 0, 0.75) 75%,
                        rgba(0, 0, 0, 0.6) 80%,
                        rgba(0, 0, 0, 0.4) 85%,
                        rgba(0, 0, 0, 0.2) 90%,
                        rgba(0, 0, 0, 0.05) 95%,
                        transparent 100%
                ),
                linear-gradient(
                        to bottom,
                        transparent 0%,
                        rgba(0, 0, 0, 0.05) 2%,
                        rgba(0, 0, 0, 0.2) 4%,
                        rgba(0, 0, 0, 0.4) 6%,
                        rgba(0, 0, 0, 0.6) 8%,
                        rgba(0, 0, 0, 0.85) 10%,
                        black 12%,
                        black 90%,
                        rgba(0, 0, 0, 0.85) 92%,
                        rgba(0, 0, 0, 0.6) 94%,
                        rgba(0, 0, 0, 0.4) 96%,
                        rgba(0, 0, 0, 0.2) 97%,
                        rgba(0, 0, 0, 0.05) 98%,
                        transparent 100%
                );
                mask-composite: intersect;
            }
        }
        .cnlabs-text-image-wrapper, .cnlabs-main-benefits-wrapper, .cnlabs-why-it-works {
            .homepage-featured-content-box-inner {
                padding-bottom: 0 !important;

                h2 {
                    font-size: 22px;
                    margin-bottom: 15px;

                    br {
                        display: none;
                    }
                }

                h3 {
                    font-size: 22px;
                }
            }

            .large--one-half:first-of-type {
                width: 40%;
                display: flex;
                align-items: center;
            }
            .large--one-half:last-of-type {
                width: 60%;
            }
        }

        .cnlabs-why-it-works-wrapper {
            padding:  15px;
        }
    }

    /* make this much smaller on small screens */
    .wrapper-spacing--h {
        padding-left: 20px;
        padding-right: 20px;
    }

}

@media screen and (max-width: 767px) {
    .template-product {

        .payment-buttons-group-wrapper {
            .payment-buttons {
                flex: 0 1 100%;
            }

            .product--add-to-cart-button, .paymentButtonsWrapper .shopify-payment-button {
                max-width: 100%;
            }
        }

        .blended-background {
            .responsive-image-wrapper {
                mask-image: none !important;
            }
        }

        .cnlabs-main-benefits-wrapper {
            .grid__item {
                padding-left: 0;
                margin-top: 0;
            }

            .homepage-featured-content-box-inner {
                h2 {
                    font-size: 26px;
                }

                li {
                    text-align: left;
                }
            }
        }

        .testimonial-slider-wrapper {
            h2 {
                font-size: 26px;
            }

            .testimonial--single-item {
                flex: 0 0 100%;
            }
        }

        .product-columns-section {
            .payment-buttons-group-wrapper {

            }
        }

        .cnlabs-text-image-wrapper, .cnlabs-main-benefits-wrapper, .cnlabs-why-it-works {
            .large--one-half:first-of-type {
                width: 100%;
                align-items: center;
            }
            .large--one-half:last-of-type {
                width: 100%;
            }

            .homepage-featured-content-box-inner {
                padding-left: 0;
                padding-right: 0;
            }
        }
    }
}


.template-page {
    .width--content {
        max-width: 1100px;
    }

    .grid {
        .rte {

            p {
                margin: 0 0 15px 0 !important;
            }

            h2 {
                font-size: 30px !important;
                padding-bottom: 40px !important;
            }

            h5 {
                padding-bottom: 20px !important;
                padding-top: 40px !important;
            }

            hr:empty {
                display: revert;
            }

            a {
                color: rgb(35, 119, 210);
            }
        }

        .team-member {
            position: relative;
            padding-bottom: 1em;
            margin-bottom: 1em !important;
        }

        .team-member:not(:last-child)::after {
            content: "";
            position: absolute;
            left: 50%;
            bottom: 0;
            transform: translateX(-50%);
            width: 500px;
            max-width: 80%;
            border-bottom: 1px solid #eee;
        }

        .floated-block {
            display: flex;
            flex-wrap: wrap;
            align-content: center;
            justify-content: center;
            margin: 50px 0 !important;

            &.align-left .team-member-picture {
                flex: 0 1 45%;
                max-width: 45%;

                & + .bio {
                    flex: 0 0 55%;
                    max-width: 55%;
                    padding-left: 40px;
                    align-self: center;
                }
            }



            &.align-right .team-member-picture {
                flex: 0 1 45%;
                max-width: 45%;
                order: 1;

                & + .bio {
                    flex: 0 0 55%;
                    max-width: 55%;
                    padding-right: 40px;
                    align-self: center;
                }
            }
        }

        .personal-info {
            margin: 30px 0;
        }
    }

    &.template-page-why {
        .template-title--wrapper {

            display: none;
        }

        .grid {
            .rte {
                img {
                    margin-left: 25px;
                }
            }
        }
    }

    .section--image-with-text-overlay {

    }

    .image-with-text-overlay__grid--foreground {
      padding-top: 20px !important;
      align-items: flex-start;
  }

  .image-with-text-overlay__text--position-desktop-center {
      align-items: flex-start;
  }
}

@media screen and (min-width: 1100px) {
  /* Constrain height and position image for image-with-text-overlay when desktop height is 'original' */
  .image-with-text-overlay__desktop-image--original {
    height: 45vh; /* Set container height to 45% of viewport height */
    overflow: hidden; /* Prevent image overflow */
  }

  .image-with-text-overlay__desktop-image--original .theme-img {
    width: 100%;
    height: 100%; /* Make image fill the new container height */
    object-fit: cover; /* Cover the container */
    object-position: center bottom; /* Show the bottom part of the image */
  }

}

@media screen and (max-width: 1200px) {
    .template-page-why {
        .image-with-text-overlay__caption {
            max-width: 100%;
        }
    }
}

@media screen and (max-width: 767px) {
    .template-page {

        .section--image-with-text-overlay {
            h2.image-with-text-overlay__heading:before {
                width: 60px;
                height: 60px;
                margin-right: 10px;
            }
        }

        .grid {
            .floated-block {
            &.align-left .team-member-picture, &.align-right .team-member-picture {
                flex: 0 1 100%;
                max-width: 100%;
                order: 0;

                & +.bio {
                flex: 0 1 100%;
                 max-width: 100%;
                    padding: 20px 30px;
                }
            }
        }
    }
}

/** iPad mini & air */
@media only screen
  and (min-device-width: 768px)
  and (max-device-width: 1024px)
  and (orientation: portrait) {
    .template-index {
        .homepage-section--logo-bar-wrapper .logo-bar__item {
            flex: 0 1 120px;
        }

        .testimonial-slider-wrapper {
            .swiper-wrapper {
                align-items: stretch;
            }

            .testimonial--single-item {
                display: flex;
                flex-wrap: wrap;

                .testimonial-section--image {
                    max-height: 150px;
                }
            }

            /* Ensure proper slide width on tablets */
            .testimonial-grid--slider-enabled .swiper-slide.testimonial--single-item {
                width: auto !important;
                margin-right: 0 !important;
            }
        }
    }

    .template-blog {
        .blog-main--article-title {
            font-size: 26px;
        }
    }
}

.template-article {
    p:empty {
        display: none;
    }
}

/** Default font-size for lower resolutions **/
@media screen and (max-width: 1440px) and (min-width: 768px) {
    body, button, input, select, textarea {
        --base-font-size-int: 17;
        --base-font-size: 17px;
    }
}