/* ==========================================================
   K9TIME / ELEMENTOR OVERRIDES
   ========================================================== */


/* ==========================================================
   GENERAL FORM FIXES
   These are safe on all screen sizes
   ========================================================== */

#form-message,
.elementor-element-e04e0ec,
.elementor-element-2cba7bb {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

#form-message {
    overflow: hidden !important;
}

#form-message textarea.k9time-form-field,
.elementor-element-2cba7bb textarea {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}


/* ==========================================================
   HEADING / TYPOGRAPHY
   ========================================================== */

.elementor-167
.elementor-element.elementor-element-8767517 {
    font-size: 1.25rem;
    line-height: 31px;
}

.elementor-167
.elementor-element.elementor-element-2622646
.elementor-heading-title {
    font-size: 31px;
    line-height: 40px;
    letter-spacing: -0.72px;
}

.elementor-167
.elementor-element.elementor-element-2443292
.elementor-heading-title span {
    color: #608730;
}


/* ==========================================================
   MOBILE
   Elementor breakpoint: <= 767px
   ========================================================== */

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


    /* ------------------------------------------------------
       K9 Time Difference feature grid
       ------------------------------------------------------ */

    .elementor-element-236f699 {
        grid-template-columns: 1fr !important;
        --e-con-grid-template-columns: 1fr !important;
    }

    .elementor-element-236f699 > div {
        width: 100% !important;
        max-width: 100% !important;
    }


    /* ------------------------------------------------------
       Reiki Benefits Grid
       ------------------------------------------------------ */

    .elementor-element-6159e25 {
        grid-template-columns: 1fr !important;
        --e-con-grid-template-columns: 1fr !important;

        width: 100% !important;
        max-width: 100% !important;
    }

    .elementor-element-6159e25 > div {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Parent wrappers */
    .elementor-element-80471cc,
    .elementor-element-33e7932 {
        width: 100% !important;
        max-width: 100% !important;
    }


    /* ------------------------------------------------------
       Feature Comparison Grids
       K9 Time Solo vs Pack Walkers
       ------------------------------------------------------ */

    .elementor-element-24b8d43,
    .elementor-element-8ec4551,
    .elementor-element-0c997a0,
    .elementor-element-662a59a,
    .elementor-element-88d419e,
    .elementor-element-e6ffcde,
    .elementor-element-3b97332 {
        grid-template-columns: 1fr !important;
        --e-con-grid-template-columns: 1fr !important;
    }


    /* ------------------------------------------------------
       Pricing Grid
       ------------------------------------------------------ */

    .elementor-element-d47153f {
        grid-template-columns: 1fr !important;
        --e-con-grid-template-columns: 1fr !important;
    }


    /* ------------------------------------------------------
       Services Grid
       2 columns desktop -> 1 column mobile
       ------------------------------------------------------ */

    body .elementor-167
    .elementor-element.elementor-element-9c38fc5 {
        grid-template-columns: 1fr !important;
        --e-con-grid-template-columns: 1fr !important;

        grid-template-rows: auto !important;
        --e-con-grid-template-rows: auto !important;

        grid-auto-flow: row !important;
        --grid-auto-flow: row !important;

        gap: 24px 0 !important;
        --gap: 24px 0 !important;
        --row-gap: 24px !important;
        --column-gap: 0 !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body .elementor-167
    .elementor-element.elementor-element-9c38fc5
    > article {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        grid-column: 1 / -1 !important;
    }


    /* ------------------------------------------------------
       Contact Form
       ------------------------------------------------------ */

    .elementor-element-0e662fc {
        grid-template-columns: 1fr !important;
        --e-con-grid-template-columns: 1fr !important;

        width: 100% !important;
        max-width: 100% !important;
    }

    .elementor-element-0e662fc > div {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .elementor-element-b564977 {
        width: 100% !important;
        max-width: 100% !important;

        padding-left: 16px !important;
        padding-right: 16px !important;

        box-sizing: border-box !important;
    }

    .elementor-element-b564977 input,
    .elementor-element-b564977 textarea,
    .k9time-form-field {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        box-sizing: border-box !important;
    }


    /* ------------------------------------------------------
       General Elementor grid fallback
       ------------------------------------------------------ */

    .e-grid.e-con-boxed {
        grid-template-columns: 1fr !important;
        --e-con-grid-template-columns: 1fr !important;
    }


    /* ------------------------------------------------------
       Mobile Section Padding
       ------------------------------------------------------ */

    .elementor-167
    .elementor-element.elementor-element-224b125 {
        padding: 6px 16px !important;
    }


    /* ------------------------------------------------------
       Mobile Main Heading
       ------------------------------------------------------ */

    .elementor-167
    .elementor-element.elementor-element-2443292
    .elementor-heading-title {
        font-size: 2.25rem !important;
    }

    .elementor-167
    .elementor-element.elementor-element-2443292
    .elementor-heading-title span {
        font-size: 2.25rem !important;
        line-height: 25px !important;

        color: #608730;

        height: 30px !important;
    }


    /* ------------------------------------------------------
       Feature Tags
       Fully Insured / DBS Checked / Reiki Master etc.
       ------------------------------------------------------ */

    .elementor-167
    .elementor-element.elementor-element-c25e943 {
        display: flex !important;

        flex-direction: row !important;
        flex-wrap: wrap !important;

        justify-content: flex-start !important;
        align-items: center !important;

        gap: 12px 24px !important;

        width: 100% !important;
        max-width: 100% !important;
    }

    .elementor-167
    .elementor-element.elementor-element-c25e943
    > .elementor-element {
        width: auto !important;
        max-width: none !important;

        flex: 0 0 auto !important;

        margin: 0 !important;
    }

}


/* ==========================================================
   MOBILE + TABLET NAVIGATION
   < 1024px
   ========================================================== */

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


    /* ------------------------------------------------------
       Sticky Header
       ------------------------------------------------------ */

    body header.sticky {
        position: -webkit-sticky !important;
        position: sticky !important;

        top: 0 !important;

        width: 100% !important;

        z-index: 99999 !important;
    }


    /* ------------------------------------------------------
       Navigation - Closed
       ------------------------------------------------------ */

    body header .k9-primary-nav {
        display: none !important;
    }


    /* ------------------------------------------------------
       Navigation - Open
       ------------------------------------------------------ */

    body header .k9-primary-nav.k9-menu-open {
        display: flex !important;

        position: absolute !important;

        top: 100% !important;
        left: 0 !important;
        right: 0 !important;

        width: 100% !important;

        max-height: calc(100vh - 72px) !important;
        overflow-y: auto !important;

        flex-direction: column !important;
        align-items: stretch !important;

        gap: 0 !important;

        padding: 16px 20px 24px !important;

        background: #f8f8f3 !important;

        border-bottom:
            1px solid rgba(0, 0, 0, 0.10) !important;

        box-shadow:
            0 15px 30px rgba(0, 0, 0, 0.08) !important;

        z-index: 99998 !important;
    }


    /* ------------------------------------------------------
       WordPress Menu Items
       ------------------------------------------------------ */

    body header .k9-primary-nav > li {
        display: block !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        list-style: none !important;
    }

    body header .k9-primary-nav > li::marker {
        content: "" !important;
    }


    /* ------------------------------------------------------
       WordPress Menu Links
       ------------------------------------------------------ */

    body header .k9-primary-nav > li > a {
        display: block !important;

        width: 100% !important;

        padding: 13px 4px !important;

        font-size: 16px !important;
        font-weight: 600 !important;

        text-decoration: none !important;
    }

}


/* ==========================================================
   HAMBURGER BUTTON
   ========================================================== */

#k9-mobile-toggle span {
    transition:
        transform 0.25s ease,
        opacity 0.20s ease,
        width 0.25s ease;

    transform-origin: center;
}


/* Top bar -> \ */
#k9-mobile-toggle.k9-open span:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}


/* Middle bar disappears */
#k9-mobile-toggle.k9-open span:nth-child(2) {
    opacity: 0;
}


/* Bottom bar -> / */
#k9-mobile-toggle.k9-open span:nth-child(3) {
    width: 20px !important;

    transform: translateY(-8px) rotate(-45deg);
}

/* ==========================================================
   K9 TIME SERVICE AREA MAP
   ========================================================== */

.k9-service-map {
    width: 100%;
    height: 520px;

    overflow: hidden;

    border-radius: 20px;

    box-shadow:
        0 10px 35px rgba(31, 45, 24, 0.10);

    background: #f3f5ef;
}

.k9-service-map iframe {
    display: block;

    width: 100%;
    height: 100%;

    border: 0;
}


/* Mobile */
@media only screen and (max-width: 767px) {

    .k9-service-map {
        height: 430px;
        border-radius: 16px;
    }

}


/* ========================================
   K9 TIME FAQ ACCORDION
   ======================================== */

/* Hide the answer (2nd child of each FAQ item) */
.elementor-element-3c3021f
> .e-con
> .elementor-widget-text-editor {
    display: none;
}

/* But DO NOT hide text widgets inside the question row */
.elementor-element-3c3021f
> .e-con
> .e-con
> .elementor-widget-text-editor {
    display: block;
}

/* Question row */
.elementor-element-3c3021f
> .e-con
> .e-con:first-child {
    cursor: pointer;
}

/* Show answer when FAQ item is open */
.elementor-element-3c3021f
> .e-con.faq-open
> .elementor-widget-text-editor {
    display: block;
}

#spacerwajicdggg {
    padding-top: 70px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}


.elementor-element-71543a9 {
    width: calc(100% - 40px) !important;
    max-width: 1280px !important;
    min-width: 0 !important;

    margin: 60px auto 0 !important;

    flex: none !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
}

.elementor-element-71543a9 .elementor-element-8956631,
.elementor-element-71543a9 .elementor-widget-container,
.k9-service-map {
    width: 100% !important;
    max-width: 100% !important;
}

.k9-service-map {
    height: 520px !important;
    overflow: hidden;
    border-radius: 20px;
}

.k9-service-map iframe {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
}

@media (max-width: 767px) {
    .elementor-element-71543a9 {
        width: calc(100% - 30px) !important;
        margin-top: 40px !important;
    }

    .k9-service-map {
        height: 450px !important;
    }
}