/*
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
========================================*/

/* FONT UTILITY */

/* h1 styles - set in Beaver Builder global settings */
.u-h1 {
    --u-heading-font-family: var(--fl-global-h1-font-family, inherit);
    --u-heading-weight: var(--fl-global-h1-font-weight, 700);
    --u-heading-size: var(--fl-global-h1-font-size, 72px);
    --u-heading-line-height: var(--fl-global-h1-line-height, 1.2);

    @media (max-width: 1200px) { /* LG */
        --u-heading-size: var(--fl-global-h1-font-size-large, 64px);
    }

    @media (max-width: 992px) { /* MD */
        --u-heading-size: var(--fl-global-h1-font-size-medium, 64px);
    }

    @media (max-width: 768px) { /* SM */
        --u-heading-size: var(--fl-global-h1-font-size-responsive, 48px);
    }
}

/* h2 styles - set in Beaver Builder global settings */
.u-h2 {
    --u-heading-font-family: var(--fl-global-h2-font-family, inherit);
    --u-heading-weight: var(--fl-global-h2-font-weight, 700);
    --u-heading-size: var(--fl-global-h2-font-size, 64px);
    --u-heading-line-height: var(--fl-global-h2-line-height, 1.25);

    @media (max-width: 1200px) {
        --u-heading-size: var(--fl-global-h2-font-size-large, 48px);
    }

    @media (max-width: 992px) {
        --u-heading-size: var(--fl-global-h2-font-size-medium, 48px);
    }

    @media (max-width: 768px) {
        --u-heading-size: var(--fl-global-h2-font-size-responsive, 32px);
    }
}

/* h3 styles - set in Beaver Builder global settings */
.u-h3 {
    --u-heading-font-family: var(--fl-global-h3-font-family, inherit);
    --u-heading-weight: var(--fl-global-h3-font-weight, 700);
    --u-heading-size: var(--fl-global-h3-font-size, 32px);
    --u-heading-line-height: var(--fl-global-h3-line-height, 1.25);

    @media (max-width: 1200px) {
        --u-heading-size: var(--fl-global-h3-font-size-large, 32px);
    }

    @media (max-width: 992px) {
        --u-heading-size: var(--fl-global-h3-font-size-medium, 28px);
    }

    @media (max-width: 768px) {
        --u-heading-size: var(--fl-global-h3-font-size-responsive, 24px);
    }
}

/* h4 styles - set in Beaver Builder global settings */
.u-h4 {
    --u-heading-font-family: var(--fl-global-h4-font-family, inherit);
    --u-heading-weight: var(--fl-global-h4-font-weight, 700);
    --u-heading-size: var(--fl-global-h4-font-size, 24px);
    --u-heading-line-height: var(--fl-global-h4-line-height, 1.25);

    @media (max-width: 1200px) {
        --u-heading-size: var(--fl-global-h4-font-size-large, 24px);
    }

    @media (max-width: 992px) {
        --u-heading-size: var(--fl-global-h4-font-size-medium, 24px);
    }

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

/* h5 styles - set in Beaver Builder global settings */
.u-h5 {
    --u-heading-font-family: var(--fl-global-h5-font-family, inherit);
    --u-heading-weight: var(--fl-global-h5-font-weight, 700);
    --u-heading-size: var(--fl-global-h5-font-size, 18px);
    --u-heading-line-height: var(--fl-global-h5-line-height, 1.25);

    @media (max-width: 1200px) {
        --u-heading-size: var(--fl-global-h5-font-size-large, 18px);
    }

    @media (max-width: 992px) {
        --u-heading-size: var(--fl-global-h5-font-size-medium, 18px);
    }

    @media (max-width: 768px) {
        --u-heading-size: var(--fl-global-h5-font-size-responsive, 16px);
    }
}

/* h6 styles - set in Beaver Builder global settings */
.u-h6 {
    --u-heading-font-family: var(--fl-global-h6-font-family, inherit);
    --u-heading-weight: var(--fl-global-h6-font-weight, 700);
    --u-heading-size: var(--fl-global-h6-font-size, 14px);
    --u-heading-line-height: var(--fl-global-h6-line-height, 1.25);

    @media (max-width: 1200px) {
        --u-heading-size: var(--fl-global-h6-font-size-large, 14px);
    }

    @media (max-width: 992px) {
        --u-heading-size: var(--fl-global-h6-font-size-medium, 14px);
    }

    @media (max-width: 768px) {
        --u-heading-size: var(--fl-global-h6-font-size-responsive, 14px);
    }
}

.u-heading p, .u-heading.u-h3, .u-heading.u-h1, .u-heading.u-h2, .u-heading.u-h4, .u-heading.u-h5, .u-heading.u-h6 {
    font-family: var(--u-heading-font-family);
    font-weight: var(--u-heading-weight);
    line-height: var(--u-heading-line-height);
    font-size: var(--u-heading-size);
}

/* ACCESSIBILITY */

/* screen reader only utility class force absolute position */

.sr-only {
    position: absolute !important;
}

/* FULL GRID COLUMN SPAN */
.full-col-span {
    grid-column: 1 / -1;
}

/*========================================
CUSTOM MODULES
Targeted styles for Beaver Builder custom modules or reusable blocks
========================================*/

/* BUTTON STYLES */

.fl-module-button {

    /* primary button */
    a.fl-button {
        padding: 16px 32px !important;
    }

    &.alt-button {

        display: grid;
        place-items: center;

        a.fl-button {
            padding: 0!important;
            background-color: transparent!important;
            display: flex;
            align-items: center;
            gap: 10px!important;

            & span {
                color: #477F83!important;
            }

            &:after {
                content: "";
                width: 20px;
                height: 20px;
                flex: 0 0 20px;
                background: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.16675 10H15.8334M15.8334 10L10.0001 4.16667M15.8334 10L10.0001 15.8333' stroke='%23477F83' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
            }

            &:hover {

                & span {
                    color: #105B7A!important;
                }


                &:after {
                    background: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.16675 10H15.8334M15.8334 10L10.0001 4.16667M15.8334 10L10.0001 15.8333' stroke='%23105B7A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
                }
            }
        }

        &.accessible a.fl-button {
            & span {
                color: #407579!important;
            }
            &:after {
                background: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.16675 10H15.8334M15.8334 10L10.0001 4.16667M15.8334 10L10.0001 15.8333' stroke='%23407579' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
            }
            &:hover {
                & span {
                    color: #105B7A!important;
                }
                &:after {
                    background: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.16675 10H15.8334M15.8334 10L10.0001 4.16667M15.8334 10L10.0001 15.8333' stroke='%23105B7A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
                }
            }
        }
    }
}

/* OTHER MODULES */

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

header {
    .fl-module-menu .fl-menu {
        .menu-item.get-started {
            color: #477F83!important;
            font-weight: 600;
            display: flex;
            flex-grow: 1;
            align-items: center;

            & a {
                color: #477F83;
                display: flex;
                align-items: center;
                gap: 10px;

                &:after {
                    content: "";
                    width: 20px;
                    height: 20px;
                    flex: 0 0 20px;
                    background: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.16675 10H15.8334M15.8334 10L10.0001 4.16667M15.8334 10L10.0001 15.8333' stroke='%23477F83' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
                    display: inline-block;
                }

                &:hover {
                    color: #2C4A2E!important;

                    &:after {
                        background: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.16675 10H15.8334M15.8334 10L10.0001 4.16667M15.8334 10L10.0001 15.8333' stroke='%232C4A2E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
                    }
                }
            }
        }
    }
}

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

/*========================================
PAGE-SPECIFIC STYLES
Use IDs, body classes, or specific page slugs if necessary
========================================*/

/*========================================
ARCHIVED STYLES
Unused styles from the base import (clear on launch)
========================================*/
/* update paragraph spacing */

body .fl-page p {
    margin: 0 0 20px 0;
}

body .fl-page .no-p-margin p {
    margin: 0;
}

/* button hover icon animation fix */

.fl-button.fl-button-icon-animation:hover i {
    transition: all 0.2s ease-out !important;
    -webkit-transition: all 0.2s ease-out !important;
    width: auto !important;
    opacity: 1 !important;
    margin-left: 5px !important;
}

/* header mega menu class */

.mega-menu > .sub-menu > li:first-of-type {
    width: 40% !important;
}

.mega-menu .mega-menu-image a {
    min-height: 150px;
}

.mega-menu .mega-menu-image {
    box-sizing: border-box;
    float: left;
    width: 40%;
}

.mega-menu .mega-menu-image-1 a:hover,
.mega-menu .mega-menu-image-1 a:focus {
    background-color: #000000AA !important;
}

.mega-menu .mega-menu-image-1 {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url(https://michaelslandscaping.hd5.hd-dev.com/wp-content/uploads/2022/02/product-shoe3.jpg);
    min-height: 150px;
    object-fit: cover;
    margin: 20px;
}

.mega-menu .mega-menu-image-2 a:hover,
.mega-menu .mega-menu-image-2 a:focus {
    background-color: #000000AA !important;
}

.mega-menu .mega-menu-image-2 {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url(https://michaelslandscaping.hd5.hd-dev.com/wp-content/uploads/2022/02/product-shoe3.jpg);
    min-height: 150px;
    object-fit: cover;
    margin: 20px;
}

.mega-menu-hide .fl-has-submenu-container {
    display: none !important;
}


#menu-header-menu-1 {
    box-shadow: 0 5px 15px -3px rgba(0,0,0,0.3);
    background-color: #fff;
    padding: 1rem;
    margin-top: 1rem;
    color: #000;
}

#menu-header-menu-1 ul.sub-menu a:before {
    content: '\2022\0020'; /* middot */
}


.fl-menu .fl-menu-mobile-toggle.hamburger .svg-container,
.fl-menu .fl-menu-mobile-toggle.hamburger-label .svg-container {
    height: 1em;
    width: 1em;
}


header .fl-menu-mobile-toggle.fl-active {
    background-color: #000 !important;
}

header .fl-menu-mobile-toggle.fl-active .hamburger-menu {
    overflow: visible;
}


/* row blog post content heading styles */

.ht-row-post-content .fl-module-content h2,
.ht-row-post-content .fl-module-content h3,
.ht-row-post-content .fl-module-content h4,
.ht-row-post-content .fl-module-content h5,
.ht-row-post-content .fl-module-content h6 {
    margin-top: 3rem;
    margin-bottom: 1rem;
}

.ht-row-post-content .fl-module-content h2:first-child {
    margin-top: 0;
}


/* row blog post content paragraph styles */

.ht-row-post-content .fl-module-content p {
    margin: 10px 0 20px;
}