/*
Theme Name: Beaver Builder Child Theme
Theme URI: http://www.wpbeaverbuilder.com
Version: 1.0
Description: An example child theme that can be used as a starting point for custom development.
Author: The Beaver Builder Team
Author URI: http://www.fastlinemedia.com
template: bb-theme
*/

/*========================================
Global Styles
Basic resets, typography overrides, and anything affecting the entire site
========================================*/


/* Custom Variables
(Separate from the default --fl-global-... variables) */


/* Spacing Overrides
(Used for site-wide spacing overrides; potential to conflict with Beaver Builder settings) */


/*========================================
Utility Classes
Utility classes like .text-center, .mt-2, .hidden-desktop, etc.
========================================*/


/* Alignment Classes */

/* Horizontal Alignment
(Must be in Beaver Builder column module or other display:flex element) */

.self-align-end {
    align-self: flex-end;
}

.self-align-center {
    align-self: center;
}

.self-align-start {
    align-self: flex-start;
}


/* Accessibility */

/* Screen Reader Only Utility Class Force Absolute Position */

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/*
[contentEditable=true],
[href],
[tabindex],
iframe,
button,
input[type="submit"] {
	outline: 2px solid transparent !important;
	outline-offset: 12px !important;
	transition: all 0.2s ease-in-out !important;
	&:focus {
		outline: 2px solid var(--fl-global-2572de) !important;
		outline-offset: 6px !important;
	}
	&.is-active:focus {
		outline: 2px solid var(--fl-global-2572de) !important;
		outline-offset: 6px !important; 
	}
}
*/

/* Visibility */


/*========================================
Custom Modules
Targeted styles for Beaver Builder custom modules or reusable blocks
========================================*/


/* Button Styles */


/* Other Modules */

.fl-post-feed-post {
    display: flex;
    align-items: stretch !important;
    flex-direction: row-reverse;
    background-color: var(--fl-global-1b4641);
    border-radius: 20px !important;
    width: 100%;
    max-width: unset !important;
    margin-bottom: 40px !important;

    @media (max-width: 768px) {
        flex-direction: column;
    }

    .fl-post-feed-image {
        display: flex;
        align-items: stretch;

        & img {
            border-radius: 0;
            object-fit: cover;
            flex: 1;
            min-height: 100%;
            height: 100vh;
            width: 100%;

            & a {
                display: flex;
                height: 100vh;
                width: 100%;
            }
        }
    }

    .fl-post-feed-text {
        margin-left: unset !important;
        flex: 1;
        padding: 80px;
        display: flex;
        flex-direction: column;
        gap: 40px;

        @media (max-width: 1200px) {
            padding: 40px;
            gap: 20px;
        }

        @media (max-width: 768px) {
            padding: 20px;
            gap: 20px;
        }

        /* Font Color Override */
        & h2,
        & a,
        & .fl-post-feed-content,
        & .fl-post-feed-meta {
            color: var(--fl-global-ffffff);
        }

        & h2 {
            font: bold 32px Poppins;
        }

        & a.fl-post-feed-more {
            margin-top: 40px;
            margin-bottom: 20px;
        }

        & .fl-post-feed-header {
            margin-bottom: 0;
        }
    }
}


body.blog .fl-builder-pagination {
    & li span,
    & li a {
        border-radius: 50%;
        line-height: 1;
        aspect-ratio: 1;
        text-decoration: none;
        font-weight: bold;
        font-family: "Poppins", sans-serif;
        font-size: 16px;
        color: var(--fl-global-1b4641);
        background-color: var(--fl-global-ffd341);
        display: flex;
        align-items: center;
        height: 40px;
        width: 40px;
        justify-content: center;
    }

    & li a.page-numbers:hover,
    & li span.current {
        background-color: var(--fl-global-1b4641);
        color: var(--fl-global-ffd341);
        font-weight: bold;
        font-family: "Poppins", sans-serif;
    }

    & .next.page-numbers,
    .prev.page-numbers {
        display: none;
    }
}


/* Add Text Hover Effects to the Shop by Category Boxes */
.fl-module-box.shop-by-category-box {
    & a.fl-module-box:hover .fl-module-rich-text .fl-rich-text p {
        color: var(--fl-global-3b672e) !important;
    }
}


/* Post Grid Section */
.fl-page .ht-module-posts-ft-prods .fl-post-grid-post {
    position: relative;
    border: 0;
    text-align: left;
    display: flex;
    flex-direction: column;
    background-color: transparent;
	height: auto !important; /* woo gives dynamic fixed px value */

    & .post-image,
    .fl-post-grid-image {
        & img {
            border-top-left-radius: 20px;
            border-top-right-radius: 20px;
            width: 100%;
            height: auto;
        }
    }

    & .post-text,
    .fl-post-grid-text {
        height: 100%;
        display: flex;
        flex-direction: column;
        background-color: var(--fl-global-fff8e6) !important;
        border-radius: 0 0 20px 20px;

        & .post-title,
        .fl-post-grid-title {
            margin: 0;
            padding: 20px 20px 0 20px !important;
            font-family: "Poppins", sans-serif;
            font-size: var(--fl-global-h4-font-size) !important;

            @media (max-width: 993px) {
                font-size: var(--fl-global-h4-font-size-medium);
            }

            @media (max-width: 768px) {
                font-size: var(--fl-global-h4-font-size-responsive);
            }

            & a {
                color: var(--fl-global-151515) !important;
                text-decoration: none;

                &:hover {
                    color: var(--fl-global-3b672e) !important;
                }
            }
        }

        & .fl-post-grid-title {
            padding: unset !important;
            margin-bottom: 10px;
        }

        & .woocommerce-Price-amount * {
            font-family: var(--fl-global-h2-font-family), sans-serif;
            font-weight: 400;
            font-size: 20px;
        }

        & .add_to_cart_inline {
            display: flex;
            align-items: center;
            justify-content: flex-start;
            flex-direction: row;
            flex-wrap: wrap;
            flex-grow: 1;
            gap: 5px;
            background-color: var(--fl-global-fff8e6);
            text-align: left;
            border: 0 !important;
            padding: 10px 20px 20px 20px !important;
            border-bottom-left-radius: 20px;
            border-bottom-right-radius: 20px;
            margin: 0 0 0 0;
        }

        & .add_to_cart_button,
        .woocommerce.fl-post-grid-woo-button a {
            background-color: var(--fl-global-ffd341);
            text-align: center;
            font-weight: 400 !important;
            font-family: "Poppins", sans-serif !important;
            text-transform: capitalize !important;
            color: var(--fl-global-1b4641) !important;
            padding: 10px 24px;
            margin: auto 0 0 0 !important;
            width: 100%;

            &:hover,
            &:focus {
                background-color: #FFD95F !important;
            }

            &.added_to_cart {
                margin-top: 10px !important;
                background-color: var(--fl-global-3b672e) !important;
                color: var(--fl-global-ffffff) !important;
            }
        }

        & .fl-post-grid-woo-button {
            margin-top: auto;
        }
    }
}

body.search-results .filter-links-category,
body.post-type-archive-product .filter-links-category,
body.fl-theme-builder-archive-blog-archives-copy .filter-links-category {
    border-bottom: 1px solid #E0E0E0;
    padding-bottom: 30px;

    &:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }

    p:first-child {
        font-size: var(--fl-global-h4-font-size) !important;
        font-family: "Poppins", sans-serif;

        @media (max-width: 993px) {
            font-size: var(--fl-global-h4-font-size-medium);
        }
        @media (max-width: 768px) {
            font-size: var(--fl-global-h4-font-size-responsive);
        }
    }

    ul {
        padding-left: 10px;
    }

    li {
        margin-bottom: 10px;

        & a {
            text-decoration: none;
            color: var(--fl-global-151515);
            font-weight: normal;

            &:hover {
                color: var(--fl-global-3b672e);
            }
        }
    }

    li::marker {
        content: '- ';
        font-weight: bold;
    }
}


.fl-module-accordion.product-mobile-filter-links {
    & .fl-accordion-button-label {
        font-family: "Poppins", sans-serif;
        font-size: var(--fl-global-h4-font-size) !important;
        font-weight: bold;
        color: var(--fl-global-151515);
        text-decoration: none;

        @media (max-width: 993px) {
            font-size: var(--fl-global-h4-font-size-medium);
        }
        @media (max-width: 768px) {
            font-size: var(--fl-global-h4-font-size-responsive);
        }
    }

    & .fl-accordion-content {
        & details {
            & summary {
                font-family: "Poppins", sans-serif;
                font-size: var(--fl-global-h5-font-size) !important;
                font-weight: 500;
                color: var(--fl-global-151515);
                text-decoration: none;
                margin-bottom: 10px;

                &:hover {
                    color: var(--fl-global-3b672e);
                    cursor: pointer;
                }

                @media (max-width: 993px) {
                    font-size: var(--fl-global-h5-font-size-medium);
                }
                @media (max-width: 768px) {
                    font-size: var(--fl-global-h5-font-size-responsive);
                }

                &:before {
                    content: "\FF0B";
                    font-family: "Font Awesome 5 Free";
                    font-weight: 900;
                    font-size: 16px;
                    color: var(--fl-global-151515);
                    position: relative;
                }
            }

            & ul {
                padding-left: 20px;

                & li {
                    margin-bottom: 10px;
                    text-align: left !important;

                    & a {
                        text-decoration: none;
                        color: var(--fl-global-151515);
                        font-weight: normal;

                        &:hover {
                            color: var(--fl-global-3b672e);
                        }
                    }

                    &::marker {
                        content: '- ';
                        font-weight: bold;
                    }
                }
            }

            &[open] summary::before {
                content: "\FF0D";
            }
        }
    }
}


/*========================================
Header
Styles specific to the site's header and navigation
========================================*/


/*========================================
Footer
Styles specific to the footer section
========================================*/


/*========================================
Page-Specific Styles
Use IDs, body classes, or specific page slugs if necessary
========================================*/

.post-template-default.single-post {

    & .blog-hero-section .blog-featured-image .fl-photo-content {
        width: 100%;
        max-height: 700px !important;

        @media (max-width: 768px) {
            max-height: 400px;
        }

        & img {
            max-height: 700px !important;
            object-fit: cover;

            @media (max-width: 768px) {
                max-height: 400px;
            }
        }
    }

    & .blog-content {

        & h2 {
            font: normal 24px Poppins;
            margin: 40px 0 20px 0;

            @media (max-width: 992px) {
                font-size: 18px;
            }
        }

        & h3 {
            font: normal 18px Poppins;
            margin: 20px 0;

            @media (max-width: 992px) {
                font-size: 16px;
            }
        }

        & h4 {
            font: bold 16px Poppins;
            margin: 20px 0 10px 0;
        }

        & h5,
        h6 {
            font: italic 16px Poppins;
            margin: 20px 0 10px 0;
        }

        & blockquote.wp-block-quote {
            width: 100%;
            text-align: center;
            padding: 40px 10px;
            border-top: 1px solid var(--fl-global-3b672e);
            border-bottom: 1px solid var(--fl-global-3b672e);
            font-style: italic;
            font-size: 32px;
            font-family: "Poppins", sans-serif;
            font-weight: 500;

            @media (max-width: 1200px) {
                font-size: 26px;
            }
            @media (max-width: 992px) {
                font-size: 22px;
            }
        }

        & li:has(h1)::marker,
        & li:has(h2)::marker {
            font: bold 24px Poppins;
        }

        & li:has(h3)::marker {
            font: bold 18px Poppins;
        }

        & li:has(h4)::marker {
            font: bold 16px Poppins;
        }

        & li:has(h5)::marker,
        & li:has(h6)::marker {
            font: italic 16px Poppins;
        }

        & img {
            max-height: 500px !important;
            object-fit: cover;
            width: 100%;
            border-radius: 10px;
            margin: 40px 0;
        }

        & .pp-share-button-twitter {
            background-color: var(--fl-global-000000);

            &:hover {
                background-color: #2f2f2f;
            }
        }
    }
}


/* Search Page */
body.page-id-2945 {
    @media (max-width: 768px) {
        .fl-search-form-fields {
            flex-direction: column;
            align-items: stretch;

            & .fl-button {
                margin-top: 20px;
                width: 100%;
            }
        }
    }
}


/*========================================
WooCommerce Styles
Grouped for clarity and adjacency
========================================*/

/* Product Page */
body.product-template-default .fl-page-content {

    /* Breadcrumbs */
    & .fl-module-content .fl-html nav.rank-math-breadcrumb {
        font-family: 'Roboto', sans-serif;
        font-size: 12px;
        text-decoration: none !important;

        & a {
            text-decoration: none !important;
            color: var(--fl-global-151515) !important;
            font-weight: normal;
            font-family: 'Roboto', sans-serif;

            &:hover {
                color: var(--fl-global-3b672e) !important;
            }
        }
    }

    /* Image Gallery */
    & .woocommerce-product-gallery__image img {
        border-radius: 20px;
        aspect-ratio: 1;
        object-fit: cover;
        width: 100%;
        height: 100%;
    }

    & .woocommerce-product-gallery .flex-viewport {
        border-radius: 20px;

        @media (max-width: 768px) {
            max-height: 300px;
        }
    }

    ol.flex-control-thumbs.flex-control-nav {

        & li {
            padding-right: 10px !important;
            padding-top: 10px !important;
        }

        & img {
            aspect-ratio: 1;
            object-fit: cover;
            border-radius: 20px;
            border: none;
        }
    }

    /* Typography */
    h1.product_title {
        font-family: 'Poppins', sans-serif;
        font-size: 32px;
        font-weight: bold;

        @media (max-width: 1200px) {
            font-size: 26px;
        }
        @media (max-width: 992px) {
            font-size: 22px;
        }
    }

    p.price,
    bdi {
        font-family: 'Poppins', sans-serif;
        font-size: 24px;
        font-weight: 400;

        @media (max-width: 1200px) {
            font-size: 20px;
        }
        @media (max-width: 992px) {
            font-size: 18px;
        }
    }

    h2 {
        font-family: 'Poppins', sans-serif;
        font-size: 32px;
        font-weight: bold;

        @media (max-width: 1200px) {
            font-size: 26px;
        }
        @media (max-width: 992px) {
            font-size: 22px;
        }

        text-transform: capitalize;
    }

    /* Selections */
    .ht-variation-hidden {
        display: none !important;
    }

    table.variations {

        & select {
            border: 1px solid #E0E0E0;
            border-radius: 4px;
            padding-left: 20px;
        }
    }

    & .woocommerce-variation-add-to-cart .quantity input.input-text {
        background-color: #E0E0E0 !important;
        border-radius: 4px;
        /*         margin-top: 20px; */
    }

    & .single_add_to_cart_button.button.alt {
        /* margin-top: 20px; */

        &:hover {
            color: var(--fl-global-1b4641) !important;
        }
    }

    & .related.products ul.products {
        & li.product {
            background-color: var(--fl-global-fff8e6) !important;
            padding-bottom: 20px;
            border-radius: 20px;
            text-align: left;
            display: flex;
            flex-direction: column;

            & h2 {
                margin: 0;
                margin-bottom: 10px;
                padding: 0 20px 0 20px !important;
                font-family: "Poppins", sans-serif;
                font-size: var(--fl-global-h4-font-size) !important;

                @media (max-width: 993px) {
                    font-size: var(--fl-global-h4-font-size-medium);
                }

                @media (max-width: 768px) {
                    font-size: var(--fl-global-h4-font-size-responsive);
                }

                &:hover {
                    color: var(--fl-global-3b672e) !important;
                }
            }

            & span.price {
                font-family: var(--fl-global-h2-font-family), sans-serif;
                font-weight: 400;
                padding: 0 20px 10px 20px !important;

                & .amount bdi {
                    font-size: 20px !important;
                }
            }

            & a.add_to_cart_button,
            a.button.product_type_variable,
            a.button.product_type_simple {
                background-color: var(--fl-global-ffd341);
                text-align: center;
                font-weight: 400 !important;
                font-family: "Poppins", sans-serif !important;
                text-transform: capitalize !important;
                color: var(--fl-global-1b4641) !important;
                padding: 10px 24px;
                margin: auto 10px 10px 10px !important;

                &:hover,
                &:focus {
                    background-color: #FFD95F !important;
                }
            }

            & img {
                border-radius: 20px 20px 0 0;
                aspect-ratio: 1;
                object-fit: cover;
                width: 100%;
                height: 100%;
            }
        }
    }

    & bdi {
        font-size: 20px !important;
    }
}


/* Woo Cart Action Buttons */

.woocommerce table.cart td.actions .button,
.woocommerce-page table.cart td.actions .button {
    font-family: Poppins, sans-serif;
    font-weight: 700;
    text-transform: capitalize;
    line-height: 1.45;
    background-color: var(--fl-global-2572de);
    padding: 10px 20px !important;

    &:hover,
    &:focus {
        background-color: var(--fl-global-ffd341);
        color: var(--fl-global-1b4641);
    }
}


/* Woo Cart Action Input */

.woocommerce table.cart td.actions .coupon .input-text,
.woocommerce-page table.cart td.actions .coupon .input-text {
    border: 1px solid var(--fl-global-151515);
    padding: 20px;

    &:hover,
    &:focus {
        box-shadow: -2px 2px 10px 5px color-mix(in srgb, var(--fl-global-2572de) 20%, transparent);
    }
}

.woocommerce form .form-row input.input-text,
.woocommerce-page form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-page form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row select,
.woocommerce table.cart td.actions .coupon .input-text,
.woocommerce-page table.cart td.actions .coupon .input-text {
    border: 1px solid var(--fl-global-151515);
    padding: 20px;

    &:hover,
    &:focus {
        border: 1px solid var(--fl-global-2572de);
        box-shadow: -2px 2px 10px 5px color-mix(in srgb, var(--fl-global-2572de) 20%, transparent);
    }
}

.woocommerce .cart-collaterals .cart_totals table th,
.woocommerce-page .cart-collaterals .cart_totals table th,
.woocommerce .cart-collaterals .cart_totals table td,
.woocommerce-page .cart-collaterals .cart_totals table td {
    padding: 10px;
}

.select2-container .select2-selection--single .select2-selection__rendered {
    @media (max-width: 767px) {
        text-align: left;
    }
}


/* Woo Cart Shop Table */

.woocommerce table.shop_table thead th,
.woocommerce-page table.shop_table thead th {
    border-bottom: 2px solid var(--fl-global-151515) !important;
}


/* Woo Cart Disabled Button */

.woocommerce table.cart td.actions .button:disabled,
.woocommerce-page table.cart td.actions .button:disabled {
    border: 1px solid var(--fl-global-151515) !important;
    background-color: var(--fl-global-ffffff);

    &:hover,
    &:focus {
        background-color: var(--fl-global-ffd341);
        color: var(--fl-global-1b4641);
    }
}


/* Woo Cart Page */

body.woocommerce-cart .fl-page-content {
    background-color: var(--fl-global-fff8e6);
}


/* Woo Cart */

.woocommerce a.remove {
    display: flex;
    font-size: 1.1em;
    align-items: center;
    justify-content: center;
    height: 1.5em;
    width: 1.5em;
    line-height: 0;
}


/* Woo Cart Checkout Proceed Button */

.woocommerce-page ul.products li.product a.button,
.woocommerce-page .woocommerce-message a.button,
.woocommerce-page .woocommerce-message a.button.wc-forward,
.woocommerce-page .woocommerce a.button.wc-forward,
.woocommerce-page button.button,
.woocommerce-page button.button.alt,
.woocommerce-page a.button,
.woocommerce-page a.button.alt,
.woocommerce-page .woocommerce button[type=submit],
.woocommerce-page button[type=submit].alt.disabled {
    font-family: Poppins, sans-serif;
    font-weight: 700;
    text-transform: capitalize;
    line-height: 1.45;
    background-color: var(--fl-global-2572de);
    padding: 10px 20px !important;

    &:hover,
    &:focus {
/*         background-color: transparent; */
/*         color: initial; */
/* commented out 9/22/25 for Woo account order button RN */
    }

    &.wc-forward:hover,
    &.wc-forward:focus {
        background-color: var(--fl-global-ffd341) !important;
        color: var(--fl-global-1b4641) !important;
    }
}

.woocommerce .wc-proceed-to-checkout a.button {
    float: right;
}


/* Woo Singular Product Page */

body.theme-bb-theme.woocommerce-page .fl-page .product button.button {
    font-size: 0.8em !important;
    padding: 10px 40px 9px 40px;
    line-height: 1.45em !important;
    letter-spacing: 1px;
}

.woocommerce-page ul.products li.product a.button {
    font-size: 0.8em !important;
    padding: 10px 40px 9px 40px;
    line-height: 1.45em !important;
    letter-spacing: 1px;
}

.woocommerce-Price-amount {
    font-size: 1em !important;
}

.ht-product-archive .add_to_cart_button {
    display: block;
    font-size: 0.9em !important;
    padding: 10px 30px !important;
}

.woocommerce table.shop_table,
.woocommerce-page table.shop_table {
    background-color: var(--fl-global-ffffff);
    border: 1px solid var(--fl-global-151515);
}

.woocommerce .woocommerce-variation-add-to-cart {
    margin-top: 20px;
}

.woocommerce .quantity input.qty,
.woocommerce-page .quantity input.qty {
    border: 1px solid var(--fl-global-151515);
    font-size: 1.1em;

    &:hover,
    &:focus {
        box-shadow: -2px 2px 10px 5px color-mix(in srgb, var(--fl-global-2572de) 20%, transparent);
    }

    @media (max-width: 767px) {
        position: relative;
        display: block;
    }
}

.woocommerce .order-total bdi {
    font-size: 1.2em;
}

.ht-product-archive img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 14;
    overflow: hidden;
    object-fit: cover;
    padding-top: 0px;
    box-sizing: border-box;
}

.ht-product-title h1 {
    font-size: 2em !important;
}

.fl-accordion-button-icon {
    text-decoration: none !important;
}

.ht-home-featured .add_to_cart_button {
    font-size: 14px !important;
    padding: 12px 35px !important;
}

.ht-home-categories .fl-button {
    font-size: 14px !important;
    padding: 12px 35px !important;
}

@media (max-width: 768px) {
    .fl-col-small:not(.fl-col-small-full-width) {
        max-width: 800px;
    }
}

.ht-product-archive .woocommerce-ordering .orderby {
    padding: 4px;
    border-radius: 4px;
}

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

    .variations_form {
        margin-top: 0 !important;
    }

    .select2-container--default .select2-selection--single {
        border-radius: 50px !important;
        height: 40px !important;
        line-height: 40px !important;
        padding-top: 5px;
        padding-left: 10px;
    }

    .select2-selection__arrow {
        padding-top: 35px !important;
    }

    .ht-product-archive .woocommerce-ordering {
        display: block;
        width: 100%;
    }

    .ht-product-archive .orderby {
        display: block;
        overflow: hidden;
        position: relative;
        width: 100% !important;
        padding: 10px;
        border: 1px solid #bbbbbb !important;
        border-radius: 50px;
        margin-top: 20px;
    }

    .ht-product-archive .fl-post-grid-text {
        text-align: center;
    }
}


/* Woo Notices */

body .fl-page .fl-theme-builder-woo-notices {
	padding: 20px !important;
	& :after {
		display: none !important;
	}
}

.fl-theme-builder-woo-notices .button.wc-forward {
    font-size: 13px !important;
    padding: 10px 30px !important;
    letter-spacing: 1px !important;
	margin-bottom: 0 !important;
}

.ht-cart-container button {
    font-size: 14px !important;
    padding: 5px 30px !important;
}


/* Woo Cart */

.ht-cart-container .checkout-button.button {
    font-size: 14px !important;
    padding: 10px 30px !important;
    max-width: 400px;
    margin: 0 auto;
}

.wc-block-checkout__actions_row button {
    border-radius: 50px;
    background-color: #222222 !important;
    text-transform: uppercase !important;
    font-size: 14px !important;
    font-weight: 800;
}


/* Woo Shop Sidebar */

.widgettitle {
    font-weight: 800;
}

ul.children li.cat-item:before {
    content: "- ";
}

ul.children li.cat-item {
    margin-top: 10px !important;
    margin-left: 20px;
}


/* Woo Search */

.ht-product-search .search-field {
    width: 100% !important;
    border-radius: 50px;
    margin-bottom: 10px;
}

.ht-product-search button {
    border-radius: 50px;
    background-color: #222222 !important;
    text-transform: uppercase !important;
    font-size: 14px !important;
    font-weight: 800;
}


/* Woo My Account */

.ht-my-account .button {
    border-radius: 50px;
    background-color: #222222 !important;
    text-transform: uppercase !important;
    font-size: 14px !important;
    font-weight: 800;
    padding: 10px 35px !important;
}

.ht-search-page .search-field {
    width: 100% !important;
    border-radius: 50px;
    margin-bottom: 10px;
    padding: 15px 20px;
}

.ht-search-page button {
    border-radius: 50px;
    background-color: #222222 !important;
    text-transform: uppercase !important;
    font-size: 14px !important;
    font-weight: 800;
    padding: 10px 40px;
    margin-top: 10px;
}


/* Woo Woo Notice */

.woocommerce .woocommerce-message,
.woocommerce-page .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce-page .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-error {
    background-color: var(--fl-global-fff8e6);
    color: var(--fl-global-151515);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    border: 0;
    border-radius: 40px;
}


/* Woo Product Search Widget */

.woocommerce.widget_product_search {
    position: relative;
    display: block;
    width: 100%;

    & h2 {
        margin: 0 0 10px 0;
        text-transform: capitalize;
    }

    & input {
        display: block;
        border: 1px solid var(--fl-global-000000);
        border-radius: 3px;
        background-color: transparent;
        padding: 10px 20px;
    }

    & button[type="submit"] {
        background-color: var(--fl-global-ffd341) !important;
        text-align: center;
        font-weight: 500;
        text-transform: capitalize;
        color: var(--fl-global-2572de) !important;
        padding: 12px 24px;
        margin: 10px 0 0 0;
        width: 100%;

        &:hover,
        &:focus {
            background-color: var(--fl-global-2572de) !important;
            color: var(--fl-global-ffffff) !important;
        }
    }
}


/* Woo Widget Sidebar Product Categories */

body .fl-col-content .ht-product-categories-desktop {
    & h2 {
        margin: 10px 0 20px 0 !important;
    }
    & li {
        padding: 2.5px 0;
    }
    & li a {
        color: var(--fl-global-151515);
    }
    & li a::before {
        content: '–';
        display: inline;
        margin-right: 15px;
        font-weight: 600;
    }
}


/* Woo Product Categories Sidebar Menu */

.woocommerce.widget_product_categories {
    position: relative;
    display: block;
    width: 100%;

    & h2 {
        margin: 20px 0 10px 0;
        text-transform: capitalize;
    }

    & li a {
        text-decoration: none;
        font-weight: 400;
    }
}


/* Woo Widget Price Filter Range */

.woocommerce .widget_price_filter h2 {
    margin: 20px 0 10px 0;
    text-transform: capitalize;
}

.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content {
    background-color: var(--fl-global-fff8e6);
    border: 1px solid var(--fl-global-000000);
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-range {
    background-color: var(--fl-global-2572de);
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
    background-color: var(--fl-global-ffd341) !important;
}

.woocommerce .widget_price_filter .price_slider_amount .button {
    background-color: var(--fl-global-ffd341) !important;
    text-align: center;
    font-weight: 500;
    text-transform: uppercase !important;
    color: var(--fl-global-2572de) !important;
    padding: 12px 24px;
    margin: 10px 0 0 0;
    width: 100%;

    &:hover,
    &:focus {
        background-color: var(--fl-global-2572de) !important;
        color: var(--fl-global-ffffff) !important;
    }
}


/* Woo Product Order Select */

.woocommerce-ordering select {
    display: block;
    border: 1px solid var(--fl-global-000000);
    border-radius: 3px;
    background-color: var(--fl-global-ffffff);
    padding: 10px 20px;
}


/* Woo Products List Module */

.fl-page .fl-post-module-woo-button a.button {
    background-color: var(--fl-global-ffd341) !important;
    text-align: center;
    font-weight: 500;
    text-transform: uppercase !important;
    color: var(--fl-global-2572de) !important;
    padding: 12px 24px;
    margin: 10px 0 0 0;
    width: 100%;
    font-size: 1em !important;

    &:hover,
    &:focus {
        background-color: var(--fl-global-2572de) !important;
        color: var(--fl-global-ffffff) !important;
    }
}


/* Woo Products List Post Item */

.fl-page .fl-post-grid-post {
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}


/* Woo Products List Pagination */

body.woocommerce-shop .fl-builder-pagination,
body.search .fl-builder-pagination,
body.archive .fl-builder-pagination {
    & li span,
    & li a {
        border-radius: 50%;
        line-height: 1;
        aspect-ratio: 1;
        text-decoration: none;
        font-weight: bold;
        font-family: Poppins;
        font-size: 16px;
        background-color: var(--fl-global-ffd341);
        color: var(--fl-global-1b4641);
        display: flex;
        align-items: center;
        height: 40px;
        width: 40px;
        justify-content: center;
    }

    & li a.page-numbers:hover,
    & li span.current {
        background-color: var(--fl-global-1b4641);
        color: var(--fl-global-ffd341);
        font-weight: bold;
        font-family: Poppins;
    }

    & .next.page-numbers,
    .prev.page-numbers {
        display: none;
    }
}


/* Woo Related Products */

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce .related ul.products li.product,
.woocommerce-page .related ul.products li.product,
.woocommerce .upsells.products ul.products li.product,
.woocommerce-page .upsells.products ul.products li.product,
.woocommerce[class*=columns-] ul.products li.product,
.woocommerce-page[class*=columns-] ul.products li.product {
    max-width: 100%;
}

.woocommerce .related h2,
.woocommerce-page .related h2,
.woocommerce .upsells.products h2,
.woocommerce-page .upsells.products h2 {
    max-width: 100%;
}


/*========================================
End WooCommerce Styles
========================================*/


/* Global Hyperlinks */

a:hover,
a:focus {
    text-decoration: none;
}


/* Global Email Link Styles */

.fl-page a[href^="mailto:"] {
    word-break: break-word;
}


/* Inline Link Style */

.fl-page .fl-builder-content .ht-mod-button-group-alt-arrow a.fl-button,
.fl-page .fl-module-rich-text p a,
footer .fl-module-html a,
footer .fl-icon-text a {
    position: relative;
    display: inline-block;
    text-decoration: none !important;
    font-weight: 600 !important;
}

.fl-page .fl-builder-content .ht-mod-button-group-alt-arrow a.fl-button::before,
.fl-page .fl-module-rich-text p a:before,
footer .fl-module-html a:before,
.fl-icon-text a:before {
    content: '';
    position: absolute;
    display: block;
    width: 95%;
    height: 1px;
    bottom: -2px;
    left: 50%;
    opacity: 0;
    transform: translateX(-50%);
    background-color: var(--fl-global-2572de);
}

.fl-page .fl-builder-content .ht-mod-button-group-alt-arrow a.fl-button:hover::before,
.fl-page .fl-builder-content .ht-mod-button-group-alt-arrow a.fl-button:focus::before,
.fl-page .fl-module-rich-text p a:hover:before,
.fl-page .fl-module-rich-text p a:focus:before,
.fl-page footer .fl-module-html a:hover:before,
.fl-page footer .fl-module-html a:focus:before,
.fl-page footer p a:hover:before,
.fl-page footer p a:focus:before,
.fl-icon-text a:hover::before,
.fl-icon-text a:focus::before {
    transition: .4s all ease-in-out;
    opacity: 1;
    width: 100%;
    background-color: var(--fl-global-ffd341);
}


/* Full Height G Map Column */

.ht-col-full-height-gmap {

    & .fl-module-map,
    & .fl-module-content,
    & .fl-map,
    & iframe {
        height: 100% !important;
    }

    /* & iframe {
    height: 100% !important;
    }  */
}


/* Module Button Group Second Button Alternative Style */

.fl-page .fl-builder-content .ht-mod-button-group-alt-second .fl-button-group-button:nth-child(2) a {
    background-color: var(--fl-global-ffd341);

    & span {
        color: var(--fl-global-2572de);
    }

    &:hover,
    &:focus {
        background-color: var(--fl-global-2572de);

        & span {
            color: var(--fl-global-ffffff);
        }
    }
}


/* Module Header */

.ht-mod-icon-group-header-menu:after,
.ht-mod-icon-group-header-menu .fl-module-content:after {
    display: none !important;
}


/* Desktop Header Menu */

.menu-item a,
.menu-item:hover a,
.menu-item:active a,
.menu-item a:focus {
    border-radius: 0px;
}

.menu .sub-menu a:hover,
.menu .sub-menu a:active,
.menu .sub-menu a:focus {
    border-radius: 0px;
}

.menu > li.current-menu-item > a {
    border-radius: 0px;
}

#menu-main-menu li,
#menu-main-menu li > ul {

    & a {
        font-weight: 400;
        padding: 5px 14px;
    }

    & a::before {
        content: '';
        position: absolute;
        display: block;
        width: 55%;
        height: 2px;
        bottom: -2px;
        left: 50%;
        opacity: 0;
        transform: translateX(-50%);
        background-color: var(--fl-global-2572de);
    }

    & a:hover::before,
    & a:focus::before {
        transition: .4s all ease-in-out;
        opacity: 1;
        width: 70%;
        background-color: var(--fl-global-ffd341);
    }

    &.sub-menu a {
        padding: 10px 20px;
    }

    &.sub-menu a::before {
        left: 10px;
        bottom: 0;
        transform: unset;
    }

    &.sub-menu a:hover::before,
    &.sub-menu a:focus::before {
        width: calc(100% - 20px);
    }
}

#menu-main-menu li.fl-has-submenu > div.fl-has-submenu-container > a {
    padding: 5px 30px 5px 14px;
}


/* Mobile Menu */

#menu-main-menu-1 {
    box-shadow: 0 5px 15px -3px rgba(0, 0, 0, 0.3);
    background-color: var(--fl-global-ffffff);
    padding: 1rem;
    margin-top: 1rem;
    max-width: 300px;
    margin-left: auto;
}

.fl-page #menu-main-menu-1 li a {
    font-weight: 400;
}

#menu-main-menu-1 ul.sub-menu {
    padding-left: 0;

    & a:before {
        content: '\2022\0020';
    }
}


/* Mobile Menu Toggle */

body.fl-page .fl-menu-mobile-toggle {
    padding: 1rem !important;
    background-color: var(--fl-global-ffd341) !important;
    border: 0 !important;
    color: var(--fl-global-1b4641) !important;
}

@media (max-width: 768px) {
    .fl-node-1qfnwb8zl03v.fl-module > .fl-module-content {
        margin-right: 0;
    }
}


/* Module Button */

.fl-builder-content a.fl-button {
    padding: 15px 35px;
}

.fl-button-group-buttons {
    display: flex;
    gap: 20px;

    &::before {
        display: none !important;
    }
}

.fl-button-group-buttons .fl-button-group-button {
    padding: 0;
}


/* Home Slider Dots */

@media (max-width: 768px) {
    .fl-content-slider,
    .fl-content-slider .fl-slide {
        min-height: clamp(500px, 70vh, 100vh);
    }
}

.ht-mod-slider-home {
    position: relative;
    overflow: hidden;

    & .fl-module-content,
    & .fl-module-content,
    & .fl-slide,
    & .fl-slide-content {
        min-height: clamp(500px, 70vh, 100vh) !important;

        @media (max-width: 768px) {
            min-height: clamp(500px, 50vh, 100vh) !important;
        }
    }

    & .fl-slide-content {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;

        @media (max-width: 768px) {
            padding-top: 50px !important;
            padding-bottom: 50px !important;
            padding-left: 20px !important;
            padding-right: 20px !important;
        }
    }
}

.ht-mod-slider-home a.fl-button {
    margin-top: 20px;
}

.ht-mod-slider-home .bx-wrapper .bx-pager {
    padding-top: 0;
    bottom: 30px;

    & a {
        color: rgba(255, 255, 255, 0.5);
        background: rgba(255, 255, 255, 0.5);
        border: 2px solid rgba(255, 255, 255, 0.5);
    }

    & a:hover,
    & a:focus,
    & a.active {
        color: var(--fl-global-ffffff);
        background: var(--fl-global-ffffff);
        border: 2px solid var(--fl-global-ffffff);
    }
}

.ht-mod-slider-home .bx-wrapper {
    position: relative;
    margin: -30px auto 0;

    @media (max-width: 768px) {
        min-height: clamp(500px, 70vh, 100vh) !important;
        bottom: 0;
        background-color: var(--fl-global-1b4641);
    }
}

.ht-mod-slider-home .fl-slide-text p:first-child {
    font-size: 32px;
    line-height: 170%;

    @media (max-width: 767px) {
        font-size: 22px;
    }

    @media (max-width: 420px) {
        font-size: 16px;
    }
}


/* Global BB Slider Dots Styles */

.bx-wrapper .bx-pager.bx-default-pager a {
    width: 20px;
    height: 20px;
    border-radius: 50%;
}


/* Faux H3 */

.ht-txt-h3 p {
    font-family: Poppins, sans-serif;
    font-weight: 700;
    font-size: 22px;

    @media (min-width: 769px) {
        font-size: 32px;
    }
}


/* Posts Slider Blog */

.ht-mod-posts-slider-blogs {
    & .fl-post-slider-feed-meta {
        margin-bottom: 40px;
        display: block;
    }

    & .fl-post-slider-feed-more {
        margin-top: 40px;
        display: block;
        color: var(--fl-global-ffffff) !important;
    }
}

@media (max-width: 768px) {

    .ht-mod-posts-slider-blogs {
        border-radius: 30px;
    }

    .ht-mod-posts-slider-blogs .fl-post-slider-content {
        border-top-right-radius: 0;
        border-top-left-radius: 0;
        border-bottom-left-radius: 15px !important;
        border-bottom-right-radius: 15px !important;
        margin-top: -20px;
        padding: 30px !important;
    }

    .ht-mod-posts-slider-blogs .fl-post-slider-content-bg {
        border-top-right-radius: 0;
        border-top-left-radius: 0;
        border-bottom-left-radius: 15px !important;
        border-bottom-right-radius: 15px !important;
    }

    .ht-mod-posts-slider-blogs .fl-photo-content {
        border-top-right-radius: 15px;
        border-top-left-radius: 15px;
        border-bottom-left-radius: 0 !important;
        border-bottom-right-radius: 0 !important;

        & img {
            border-top-right-radius: 15px;
            border-top-left-radius: 15px;
        }
    }
}

@media (min-width: 768px) {

    .ht-mod-posts-slider-blogs,
    .ht-mod-posts-slider-blogs *:not(.fl-post-slider-content-bg) {
        border-radius: 30px;
    }

    .ht-mod-posts-slider-blogs .fl-post-slider-content-bg {
        border-top-left-radius: 30px;
        border-bottom-left-radius: 30px;
    }

    .ht-mod-posts-slider-blogs .fl-slide-bg-photo {
        border-top-right-radius: 30px;
        border-top-left-radius: 30px;
        border-bottom-left-radius: 30px;
        border-bottom-right-radius: 30px;
    }
}


/* Posts Slider Blog Dots */

.ht-mod-posts-slider-blogs .bx-controls .bx-pager {
    padding-top: 0;

    & a {
        color: rgba(59, 103, 46, 0.4);
        background: rgba(59, 103, 46, 0.4);
        border: 2px solid rgba(59, 103, 46, 0.4);
    }

    & a:hover,
    & a:focus,
    & a.active {
        color: var(--fl-global-1b4641);
        background: var(--fl-global-1b4641);
        border: 2px solid var(--fl-global-1b4641);
    }
}


/* Footer Links */

.fl-page footer .ht-module-txt-footer-links p a {
    font-weight: 400 !important;
}


/* Footer Links Mobile Accordion */

.ht-module-accordion-footer-mobile-links {
    & a {
        color: var(--fl-global-ffffff) !important;
        text-decoration: none !important;
        font-weight: 400 !important;
    }
    & .fl-accordion-button-icon {
        opacity: 1 !important;
        color: var(--fl-global-ffd341) !important;
    }
}

.ht-module-txt-footer-links a {
    color: var(--fl-global-ffffff);
}


/* Shipping & Returns Sidebar Menu */

body.wp-singular .fl-module.ht-mod-txt-side-menu-links {

    ul {
        padding: 0 10px 0 0;
    }

    li {
        margin-bottom: 10px;

        & a {
            text-decoration: none;
            color: var(--fl-global-151515);
            font-weight: normal;

            &:hover {
                color: var(--fl-global-3b672e);
            }
        }
    }

    li::marker {
        content: '- ';
        font-weight: bold;
    }
}


/*========================================
Archived Styles
Unused styles from the base import (clear on launch)
========================================*/