/*
Theme Name:   Kraken Framework Child
Theme URI:    https://www.splashmg.ca
Description:  Kraken Framework is a foundational theme designed to help create WordPress websites with a strong focus on speed, efficiency, and optimization.
Author:       Splash Media Group Inc.
Author URI:   https://www.splashmg.ca
Template:     kraken-framework
Version:      3.5.0
License URI: https://www.gnu.org/licenses/gpl-3.0.en.html
Copyright: (c) Splash Media Group
Tags: blog,accessibility-ready,custom-menu,featured-images,footer-widgets,theme-options,translation-ready
Text Domain: kraken-framework
*/

:root {
    /* -- Header -- */
    --kf-header-max-width: 100%;
    --kf-header-padding: 0;
    --kf-header-inner-max-width: 100%;
    --kf-header-inner-padding: 0;
    --kf-header-row-max-width: 100%;
   
    /* Main */
    --kf-main-inner-padding-top: var(--kf-page-padding-top);
    --kf-main-inner-padding-bottom: var(--kf-page-padding-bottom);
    --kf-main-inner-padding-left: var(--kf-global-padding-left);
    --kf-main-inner-padding-right: var(--kf-global-padding-right);
    --kf-entry-header-max-width: var(--kf-max-width);
    --kf-entry-content-max-width: var(--kf-max-width);
    --kf-entry-footer-max-width: var(--kf-max-width);

    /* Footer */
    --kf-footer-max-width: 100%;
    --kf-footer-padding: 0;
    --kf-footer-inner-max-width: 100%;
    --kf-footer-inner-padding: 0;
    --kf-footer-row-max-width: 100%;

    /* - Card - */
    --kf-post-padding: 1.5rem;
    --kf-post-border-radius: 0.5rem;

    /* - Post Image - */
    --kf-post-image-border-radius: 0.3rem;
    --kf-post-image-margin: 0 0 1.5rem 0;
    --kf-post-image-padding: 0;

    /* - Excerpt - */
    --kf-post-excerpt-margin: 0 0 1rem 0;
    --kf-post-excerpt-padding: 0;

    /* - Tags - */
    --kf-tag-label-font-size: 0.8rem;
    --kf-tag-label-font-weight: 700;
    --kf-tag-padding: 0.2rem 0.5rem;

    /* - Categories - */
    --kf-categories-padding: 0.2rem 0.5rem;
    --kf-categories-border: 1px solid var(--kf-border);
    --kf-categories-border-radius: 0.5rem;
    --kf-categories-font-size: 0.7rem;
    --kf-categories-line-height: 1.1;

    /* - Single Image - */
    --kf-single-post-image-aspect-ratio: 900 / 506;
    --kf-single-post-image-margin: 1.5rem 0 1.5rem 0;
    --kf-single-post-image-padding: 0;
    --kf-single-post-image-border-radius: 0.3rem;

    /* Post Navigation */
    --kf-post-navigation-padding: 0.3rem 0.9rem;
    --kf-post-navigation-border-radius: 0.3rem;

    /* Address */
    --kf-address-padding: 0.3rem 0;

    /* Phone */
    --kf-phone-padding: 0;

    /* Email */
    --kf-email-padding: 0;

    /* Splash Credit */
    --kf-splash-credit-font-size: 0.8rem;
}

.kf-navigation--mobile {
    /* Navigation */
    --kf-navigation-display: flex;
    --kf-navigation-flex-direction: column;
    --kf-navigation-flex-gap: 1rem;
    --kf-navigation-flex-justify: flex-start;
    --kf-navigation-link-align: flex-start;
    --kf-navigation-link-padding: 0.5rem 0.5rem;
    --kf-navigation-link-margin: 0;

    /* Sub Navigation */
    --kf-navigation-subnav-flex-direction: column;
    --kf-navigation-subnav-flex-justify: flex-start;
    --kf-navigation-subnav-link-align: flex-start;
    --kf-navigation-subnav-flex-gap: 1rem;
    --kf-navigation-subnav-position: relative;
    --kf-navigation-subnav-top: unset;
    --kf-navigation-subnav-left: unset;
    --kf-navigation-subnav-subnav-top: unset;
    --kf-navigation-subnav-subnav-left: unset;
    --kf-navigation-subnav-width: 100%;
    --kf-navigation-subnav-margin: 1rem 0 0 0;
    --kf-navigation-subnav-link-padding: 0.3rem 0.5rem;
    --kf-navigation-subnav-link-margin: 0;
    --kf-navigation-caret: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m8 10l4 4l4-4'/%3E%3C/svg%3E");
    --kf-navigation-caret-width: 25px;
    --kf-navigation-caret-height: 25px;
    --kf-navigation-caret-margin: auto;
}

.kf-navigation--hamburger {
    /* Navigation */
    --kf-navigation-display: flex;
    --kf-navigation-flex-direction: column;
    --kf-navigation-flex-gap: 1rem;
    --kf-navigation-flex-justify: flex-start;
    --kf-navigation-link-align: flex-start;
    --kf-navigation-link-padding: 0.5rem 0.5rem;
    --kf-navigation-link-margin: 0;

    /* Sub Navigation */
    --kf-navigation-subnav-flex-direction: column;
    --kf-navigation-subnav-flex-justify: flex-start;
    --kf-navigation-subnav-link-align: flex-start;
    --kf-navigation-subnav-flex-gap: 1rem;
    --kf-navigation-subnav-position: relative;
    --kf-navigation-subnav-top: unset;
    --kf-navigation-subnav-left: unset;
    --kf-navigation-subnav-subnav-top: unset;
    --kf-navigation-subnav-subnav-left: unset;
    --kf-navigation-subnav-width: 100%;
    --kf-navigation-subnav-margin: 1rem 0 0 0;
    --kf-navigation-subnav-link-padding: 0.3rem 0.5rem;
    --kf-navigation-subnav-link-margin: 0;
    --kf-navigation-caret: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m8 10l4 4l4-4'/%3E%3C/svg%3E");
    --kf-navigation-caret-width: 25px;
    --kf-navigation-caret-height: 25px;
    --kf-navigation-caret-margin: auto;
}

.kf-navigation--primary {
    /* Navigation */
    --kf-navigation-display: flex;
    --kf-navigation-flex-direction: row;
    --kf-navigation-flex-gap: 1rem;
    --kf-navigation-flex-justify: flex-start;
    --kf-navigation-link-align: center;
    --kf-navigation-link-padding: 0.5rem 0.5rem;
    --kf-navigation-link-margin: 0;

    /* Sub Navigation */
    --kf-navigation-subnav-flex-direction: column;
    --kf-navigation-subnav-flex-justify: flex-start;
    --kf-navigation-subnav-link-align: flex-start;
    --kf-navigation-subnav-flex-gap: 0.5rem;
    --kf-navigation-subnav-position: absolute;
    --kf-navigation-subnav-top: 100%;
    --kf-navigation-subnav-left: 0;
    --kf-navigation-subnav-subnav-top: 0;
    --kf-navigation-subnav-subnav-left: 100%;
    --kf-navigation-subnav-width: 200px;
    --kf-navigation-subnav-margin: 0;
    --kf-navigation-subnav-link-padding: 0.3rem 0.5rem;
    --kf-navigation-subnav-link-margin: 0;
    --kf-navigation-caret: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m8 10l4 4l4-4'/%3E%3C/svg%3E");
    --kf-navigation-caret-width: 16px;
    --kf-navigation-caret-height: 16px;
    --kf-navigation-caret-margin: auto;
}

.kf-navigation--secondary {
    /* Navigation */
    --kf-navigation-display: flex;
    --kf-navigation-flex-direction: row;
    --kf-navigation-flex-gap: 1rem;
    --kf-navigation-flex-justify: flex-start;
    --kf-navigation-link-align: center;
    --kf-navigation-link-padding: 0.5rem 0.5rem;
    --kf-navigation-link-margin: 0;

    /* Sub Navigation */
    --kf-navigation-subnav-flex-direction: column;
    --kf-navigation-subnav-flex-justify: flex-start;
    --kf-navigation-subnav-link-align: flex-start;
    --kf-navigation-subnav-flex-gap: 0.5rem;
    --kf-navigation-subnav-position: absolute;
    --kf-navigation-subnav-top: 100%;
    --kf-navigation-subnav-left: 0;
    --kf-navigation-subnav-subnav-top: 0;
    --kf-navigation-subnav-subnav-left: 100%;
    --kf-navigation-subnav-width: 200px;
    --kf-navigation-subnav-margin: 0;
    --kf-navigation-subnav-link-padding: 0.3rem 0.5rem;
    --kf-navigation-subnav-link-margin: 0;
    --kf-navigation-caret: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m8 10l4 4l4-4'/%3E%3C/svg%3E");
    --kf-navigation-caret-width: 16px;
    --kf-navigation-caret-height: 16px;
    --kf-navigation-caret-margin: auto;
}

.kf-navigation--footer {
    /* Navigation */
    --kf-navigation-display: flex;
    --kf-navigation-flex-direction: column;
    --kf-navigation-flex-gap: 0.5rem;
    --kf-navigation-flex-justify: center;
    --kf-navigation-link-align: center;
    --kf-navigation-link-padding: 0.3rem 0;
    --kf-navigation-link-margin: 0;

    /* Sub Navigation */
    --kf-navigation-subnav-flex-direction: column;
    --kf-navigation-subnav-flex-justify: flex-start;
    --kf-navigation-subnav-link-align: flex-start;
    --kf-navigation-subnav-flex-gap: 0.5rem;
    --kf-navigation-subnav-position: absolute;
    --kf-navigation-subnav-top: 100%;
    --kf-navigation-subnav-left: 0;
    --kf-navigation-subnav-subnav-top: 0;
    --kf-navigation-subnav-subnav-left: 100%;
    --kf-navigation-subnav-width: 200px;
    --kf-navigation-subnav-margin: 0;
    --kf-navigation-subnav-link-padding: 0.3rem 0.5rem;
    --kf-navigation-subnav-link-margin: 0;
    --kf-navigation-caret: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m8 10l4 4l4-4'/%3E%3C/svg%3E");
    --kf-navigation-caret-width: 16px;
    --kf-navigation-caret-height: 16px;
    --kf-navigation-caret-margin: auto;
}

.kf-navigation--legal {
    /* Navigation */
    --kf-navigation-display: flex;
    --kf-navigation-flex-direction: column;
    --kf-navigation-flex-gap: 0.5rem;
    --kf-navigation-flex-justify: center;
    --kf-navigation-link-align: center;
    --kf-navigation-link-padding: 0.3rem 0.5rem;
    --kf-navigation-link-margin: 0;

    /* Sub Navigation */
    --kf-navigation-subnav-flex-direction: column;
    --kf-navigation-subnav-flex-justify: flex-start;
    --kf-navigation-subnav-link-align: flex-start;
    --kf-navigation-subnav-flex-gap: 0.5rem;
    --kf-navigation-subnav-position: absolute;
    --kf-navigation-subnav-top: 100%;
    --kf-navigation-subnav-left: 0;
    --kf-navigation-subnav-subnav-top: 0;
    --kf-navigation-subnav-subnav-left: 100%;
    --kf-navigation-subnav-width: 200px;
    --kf-navigation-subnav-margin: 0;
    --kf-navigation-subnav-link-padding: 0.3rem 0.5rem;
    --kf-navigation-subnav-link-margin: 0;
    --kf-navigation-caret: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m8 10l4 4l4-4'/%3E%3C/svg%3E");
    --kf-navigation-caret-width: 16px;
    --kf-navigation-caret-height: 16px;
    --kf-navigation-caret-margin: auto;
}

.kf-header {
    /* Phone */
    --kf-phone-padding: 0 0.3rem 0 0;

    /* Email */
    --kf-email-padding: 0 0 0 0.3rem;
}

.kf-footer {
    /* Address */
    --kf-address-padding: 0.3rem 0;

    /* Phone */
    --kf-phone-padding: 0.3rem 0;

    /* Email */
    --kf-email-padding: 0.3rem 0;
}


/*-------------------------*/
/*----- Custom Styles -----*/
/*-------------------------*/

.no-btm-margin {margin-bottom: 0 !important;}

@media only screen and (max-width: 768px) {
    p.has-xlarge-font-size {font-size: 1.2rem !important;}
}

/* Home - Hero */

.home-hero {
    position: relative;
    z-index: 5;

    .wp-block-columns {
        gap: 0;

        .hero-text-light {
            font-size: clamp(1.6rem, 1.3333vw + 1.3333rem, 2.4rem);
            margin-bottom: 0;
        }

        .hero-text-heavy {
            font-size: clamp(2.6rem, 3.3333vw + 1.9333rem, 4.6rem);
            letter-spacing: -1px;
            font-weight: 800;
            margin-bottom: 2.5rem;
            line-height: 1.1;
            margin-top: 0;
        }
    }

    .circle-dozer--container .circle-dozer img {
        @media (max-width: 991px) {
            min-width: 110%;
            margin-left: -77px;
        }
        @media (max-width: 650px) {
            min-width: 130%;
            margin-left: -65px;
        }
    }
}

.home-hero::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    height: 200px;
    background-image: url("https://www.dirtyjobs.ca/wp-content/uploads/2026/04/dirty-grunge-border.svg");
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: 50% 101%;
}

@media (max-width: 781px) {
    .home-hero {
        .hero-text-heavy {text-align: center !important;}
        .hero-text-light {
            text-align: center !important;
            margin-top: 2.5rem !important;
        }

        .wp-block-buttons {
            justify-content: space-evenly !important;
            margin-bottom: 3rem !important;
        }
    }

}

@media (max-width: 991px) {
    .home-hero {padding-top: 0.5rem !important;}
}


/* Home - Services */

.services-section {

    .commercial {
        @media (max-width: 991px) {
            flex-direction: column-reverse;
            padding-top: 5rem !important;
        }
    }

    .commercial, .industrial {
        @media (max-width: 991px) {flex-direction: column-reverse;}
    }

    .residential {
        @media (max-width: 991px) {flex-direction: column;}
    }

    .industrial {
        @media (max-width: 991px) {padding-bottom: 6rem !important;}
    }

}

.services-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 200px;
    background-image: url("https://www.dirtyjobs.ca/wp-content/uploads/2026/04/dirty-grunge-border-grey-btm.svg");
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: 50% -1%;
    z-index: 10;
}


/* Home - Service Area */

.service-area {
    position: relative;
    z-index: 5;
}

.service-area::before  {
    content: "";
    position: absolute;
    top: -200px;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    max-width: 900px;
    height: 282px;
    background-image: url("https://www.dirtyjobs.ca/wp-content/uploads/2026/04/equipment-graphic.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 10;

    @media (max-width: 991px) {
        top: -150px;
    }
}


/* Site - Footer */

.kf-footer {

    .kf-email__link:hover, .kf-phone-number__link:hover {color: #ffc72e !important;}

    .kf-address__list li {
        color: #ffffff;

        span.kf-address__heading {font-weight: 700;color: #ffc72e !important;}
    }

    .kf-footer__inner {
        position: relative;
        z-index: 5;

        .kf-footer__row-inner {

            .kf-footer__column--start {
                padding-right: 3rem;

                @media (max-width: 991px) {padding-right: 0;}
                
            }

            .kf-footer__column--middle {
                padding: 1.5rem;
                border-radius: 1.5rem;
                background-color: #282828;

                /* Contact Form */
                .footer-form {
                    .gform-theme--foundation {
                        --gf-form-gap-y: 8px !important;

                        input, textarea {
                            background-color: transparent !important; 
                            color: #ffffff !important;
                        }

                        .gfield_label, .gform-field-label {
                            color: #ffffff !important;
                            font-size: 0.8rem !important;
                        }

                        textarea.small {
                            max-height: 40px!important;
                            min-block-size: 4rem !important;
                        }

                        .gform_button {
                            background-color: #ffffff !important;
                            color: #000000 !important; 
                            padding: 0px 15px !important;
                        }

                    }
                }

                @media (min-width: 991px) {min-width: 40% !important;}
                
            }

            .kf-footer__column--end {
                padding: 0rem 3rem;

                a{color: #ffffff;}

                .kf-social-media__list {
                    flex-wrap: wrap;
                    gap:0;
                    max-width: 100px;

                    .kf-social-media__item {width: 50%;}

                    @media (max-width: 991px) {margin: 0 auto !important;}
                }

                @media (max-width: 991px) {padding: 0rem;}
            }

            @media (min-width: 991px) {gap: 0rem !important;}
        }
    }

    .kf-footer__inner::before {
        content: "";
        position: absolute;
        top: -300px;
        left: 0;
        z-index: 50;
        width: 100%;
        height: 300px;
        background-image: url("https://www.dirtyjobs.ca/wp-content/uploads/2026/04/dirty-grunge-border.svg");
        background-size: 100% auto;
        background-repeat: no-repeat;
        background-position: 50% 101%;
    }

}


/* Privacy, Terms, Accessibility and Sitemap */

.post-12, .post-13, .post-14, .post-15, .post-226 {
    padding-bottom: 200px;
}