/* ========================================
   HERO RESPONSIVE STYLES
   ======================================== */


/* ----------------------------------------
   1735px
   ---------------------------------------- */
@media screen and (max-width: 1735px) {

    .hero-top-container .hero-left-col {
        flex: 0 0 55% !important;
        max-width: 55% !important;
        margin-top: -45px !important;
    }

    .hero-top-container,
    .hero-top-container .stk-block-hero__content {
        max-height: 1240px;
    }

}


/* ----------------------------------------
   1607px
   ---------------------------------------- */
@media screen and (max-width: 1607px) {

    .hero-top-container .hero-left-col {
        flex: 0 0 95% !important;
        max-width: 95% !important;
        margin-top: -220px !important;
        padding: 0 !important;
    }

    .hero-top-container,
    .hero-top-container .stk-block-hero__content {
        max-height: 1072px;
    }

}


/* ----------------------------------------
   1245px
   ---------------------------------------- */
@media screen and (max-width: 1245px) {

    .hero-top-container .hero-left-col {
        flex: 0 0 94% !important;
        max-width: 94% !important;
        margin-top: -330px !important;
        padding: 0 !important;
        height: fit-content;
    }

    .hero-top-container,
    .hero-top-container .stk-block-hero__content {
        max-height: 1060px;
    }

    .hero-top-container .has-text-align-left.stk--column-flex.stk-block-content.stk-inner-blocks.stk-37e8b8e-inner-blocks h1 {
        font-size: 35px !important;
    }

    .hero-top-container .has-text-align-left.stk--column-flex.stk-block-content.stk-inner-blocks.stk-37e8b8e-inner-blocks h2 {
        font-size: 30px !important;
    }

    .hero-top-container .has-text-align-left.stk--column-flex.stk-block-content.stk-inner-blocks.stk-37e8b8e-inner-blocks p {
        font-size: 20px !important;
    }

    .hero-top-container.stk-bbbf1c0 {
        margin-top: -400px !important;
        margin-bottom: -297px !important;
    }

}


/* ----------------------------------------
   999px
   ---------------------------------------- */
@media screen and (max-width: 999px) {

    .hero-top-container.stk-bbbf1c0 {
        margin-top: -265px !important;
        margin-bottom: -180px !important;
    }

    .hero-top-container .hero-left-col {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        margin-top: -220px !important;
    }

}


/* ----------------------------------------
   740px
   ---------------------------------------- */
@media screen and (max-width: 740px) {

    .hero-top-container.stk-bbbf1c0 {
        margin-top: -265px !important;
        margin-bottom: 0 !important;
    }

    .hero-top-container .hero-left-col {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        margin-top: -25px !important;
    }

}


/* ----------------------------------------
   590px
   ---------------------------------------- */
@media screen and (max-width: 590px) {

    .hero-top-container.stk-bbbf1c0 {
        margin-top: -265px !important;
        margin-bottom: 0 !important;
    }

    .hero-top-container .hero-left-col {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        margin-top: -25px !important;
    }

    .hero-top-container .hero-left-col h1.stk-block-heading__text,
    .hero-top-container .hero-left-col h2.stk-block-heading__text {
        line-height: 0.9em !important;
    }

    .hero-top-container .has-text-align-left.stk--column-flex.stk-block-content.stk-inner-blocks.stk-37e8b8e-inner-blocks h1 {
        margin-bottom: 20px !important;
    }

    body .entry-content .stk-3b380d8 {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

}


/* ========================================
   HERO BOTTOM RESPONSIVE
   ======================================== */

/* ========================================
   FEATURE STRIP FIX: 1220px - 999px
======================================== */

@media screen and (max-width: 1220px) and (min-width: 1000px) {

    body .entry-content .stk-8480e67 .wp-block-stackable-column {
        flex: 0 0 25% !important;
        max-width: 25% !important;
        width: 25% !important;
    }

    body .entry-content .stk-8480e67 .stk-block-content {
        gap: 14px !important;
    }

    body .entry-content .stk-8480e67 .stk-block-heading__text {
        font-size: 21px !important;
        line-height: 1.25 !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    body .entry-content .stk-8480e67 .stk-block-icon {
        max-width: 42px !important;
        min-width: 42px !important;
    }

}


/* ========================================
   HOVER BOX
======================================== */

body .entry-content .wp-block-stackable-column.hover-box {
    position: relative !important;
    cursor: pointer !important;
}

body .entry-content .wp-block-stackable-column.hover-box .hover-box__default,
body .entry-content .wp-block-stackable-column.hover-box .hover-box__hover {
    transition:
        opacity 0.8s ease-in-out,
        transform 0.8s ease-in-out !important;
}

body .entry-content .wp-block-stackable-column.hover-box .hover-box__default {
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
    transform: translateY(0) !important;
}

body .entry-content .wp-block-stackable-column.hover-box .hover-box__hover {
    opacity: 0 !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
    transform: translateY(8px) !important;
}

body .entry-content .wp-block-stackable-column.hover-box:hover .hover-box__default {
    opacity: 0 !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
    transform: translateY(-8px) !important;
}

body .entry-content .wp-block-stackable-column.hover-box:hover .hover-box__hover {
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}


/* ========================================
   MOBILE FEATURE STRIP
======================================== */

@media screen and (max-width: 689px) {

    body .entry-content .stk-8480e67 {
        display: flex !important;
        flex-direction: column !important;
        padding: 0 28px !important;
        gap: 0 !important;
        position: relative !important;
        background: #287ec2 !important;
    }

    /* Top Divider */
    body .entry-content .stk-8480e67::before {
        content: '' !important;
        display: block !important;

        width: calc(100% + 56px) !important;
        height: 18px !important;

        background: #fff9f1 !important;

        position: relative !important;
        left: -28px !important;
    }

    /* Bottom Divider */
    body .entry-content .stk-8480e67::after {
        content: '' !important;
        display: block !important;

        width: calc(100% + 56px) !important;
        height: 18px !important;

        background: #fff9f1 !important;

        position: relative !important;
        left: -28px !important;
    }

    body .entry-content .stk-8480e67 > .stk-column-wrapper,
    body .entry-content .stk-8480e67 > .stk-container,
    body .entry-content .stk-8480e67 .stk-container,
    body .entry-content .stk-8480e67 .stk-inner-blocks {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
    }

    body .entry-content .stk-8480e67 .wp-block-stackable-column.hover-box {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 auto !important;
        min-height: auto !important;
        height: auto !important;

        padding: 34px 22px !important;

        text-align: center !important;

        position: relative !important;

        cursor: default !important;
    }

    /* Cream Divider Between Sections */
    body .entry-content .stk-8480e67 .wp-block-stackable-column.hover-box:not(:first-child)::before {
        content: '' !important;

        display: block !important;

        width: calc(100% + 56px) !important;
        height: 18px !important;

        background: #fff9f1 !important;

        position: absolute !important;

        top: -9px !important;
        left: -28px !important;

        z-index: 2 !important;
    }

    body .entry-content .stk-8480e67 .wp-block-stackable-column.hover-box:last-child {
        border-bottom: none !important;
    }

    /* Show BOTH content areas */
    body .entry-content .stk-8480e67 .hover-box__default,
    body .entry-content .stk-8480e67 .hover-box__hover,
    body .entry-content .stk-8480e67 .wp-block-stackable-text.hover-box__hover {
        display: block !important;

        position: static !important;

        opacity: 1 !important;
        visibility: visible !important;

        height: auto !important;
        max-height: none !important;
        min-height: 0 !important;

        overflow: visible !important;

        transform: none !important;

        pointer-events: auto !important;
    }

    /* Disable hover transitions on mobile */
    body .entry-content .stk-8480e67 .hover-box:hover .hover-box__default,
    body .entry-content .stk-8480e67 .hover-box:hover .hover-box__hover {
        opacity: 1 !important;
        visibility: visible !important;

        height: auto !important;
        max-height: none !important;

        overflow: visible !important;

        transform: none !important;
    }

    /* Space Between Title + Description */
    body .entry-content .stk-8480e67 .hover-box__default {
        margin-bottom: 18px !important;
    }

    body .entry-content .stk-8480e67 .hover-box__hover {
        margin-top: 10px !important;
    }

    /* Icons */
    body .entry-content .stk-8480e67 .stk-block-icon {
        margin: 0 auto 14px auto !important;
    }

    /* Headings */
    body .entry-content .stk-8480e67 .stk-block-heading__text {
        font-size: 28px !important;
        line-height: 1.2 !important;
        text-align: center !important;
    }

    /* Description Text */
    body .entry-content .stk-8480e67 .hover-box__hover p,
    body .entry-content .stk-8480e67 .hover-box__hover .stk-block-text__text {
        font-size: 17px !important;
        line-height: 1.45 !important;
        max-width: 560px !important;
        margin: 0 auto !important;
        text-align: center !important;
    }

    body .entry-content .stk-8480e67 .stk-block-image img {
        width: 40px !important;
        height: auto !important;
    }

}


/* ========================================
   GHOST BUTTON HOVER
======================================== */

body .entry-content .ghost-blue-hover:hover {
    background: #287ec2 !important;
    border-radius: 50px !important;
}

body .entry-content .ghost-blue-hover:hover .stk-button__inner-text {
    color: #fff !important;
}


/* ========================================
   FOOTER TWEAKS
======================================== */

body #footer .ct-container {
    background: #fff9f1 !important;
    padding: 40px !important;
    margin-top: -85px !important;
}


/* ========================================
   CORNER BRACKET
======================================== */

body .entry-content .wp-block-stackable-column.corner-bracket {
    overflow: visible !important;
    position: relative !important;
}

body .entry-content .wp-block-stackable-column.corner-bracket::before {
    content: '';
    position: absolute !important;
    top: -15px !important;
    left: -15px !important;
    width: 30px !important;
    height: 30px !important;
    border-top: 3px solid #96d054 !important;
    border-left: 3px solid #96d054 !important;
    z-index: 10 !important;
}


/* ========================================
   FOOTER MENU
======================================== */

body #footer ul#menu-footer-menu {
    position: relative !important;
    z-index: 10 !important;
    margin-bottom: 35px !important;
}

body #footer ul#menu-footer-menu li {
    margin: 0 !important;
    font-size: 18px !important;
}


/* ========================================
   HOW TO CHOOSE WORKSHOPS
======================================== */

body .entry-content .stk-41bd7fc .choose-workshops-header {
    color: #287ec2 !important;
    margin: 0 !important;
}

body .entry-content .stk-41bd7fc .choose-workshops-header:hover {
    color: #f99b30 !important;
}


/* ========================================
   ICON LIST STYLES
======================================== */

body .entry-content .stk-41bd7fc 
.stk-block-icon-list-item:not(:last-child) 
.stk--svg-wrapper {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #287ec2 !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
    padding: 8px !important;
}

body .entry-content .stk-41bd7fc 
.stk-block-icon-list-item:last-child 
.stk--svg-wrapper {
    padding: 8px !important;
}

body .entry-content .stk-41bd7fc 
.stk-block-icon-list-item:not(:last-child) 
.stk--svg-wrapper svg {
    fill: #ffffff !important;
}

body .entry-content .stk-41bd7fc 
.stk-block-icon-list-item:last-child 
.stk--svg-wrapper svg {
    fill: #287ec2 !important;
}


/* ========================================
   WORKSHOP LINKS
======================================== */

body .entry-content .stk-41bd7fc .choose-workshops-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-decoration: none !important;
    color: inherit !important;
    transition: color 0.2s ease !important;
}

body .entry-content .stk-41bd7fc .choose-workshops-link:hover {
    color: #f99b30 !important;
}

body .entry-content .stk-41bd7fc .choose-workshops-link:hover * {
    color: #f99b30 !important;
}


/* ========================================
   WORKSHOP ARROW
======================================== */

body .entry-content .stk-41bd7fc .choose-workshops-arrow {
    width: 32px !important;
    height: 32px !important;
    fill: currentColor !important;
    transition: transform 0.2s ease !important;
}

body .entry-content .stk-41bd7fc .choose-workshops-link:hover .choose-workshops-arrow {
    transform: translateX(4px) !important;
}


/* ========================================
   MY ACCOUNT
======================================== */

.woocommerce.ct-woo-account {
    background: #fff9f1;
    padding: 40px !important;
}

body.page-id-99 header.ct-header .ct-container {
    background: #fff9f1 !important;
}




/* ========================================
   A CITY THAT INSPIRES
======================================== */

@media (max-width: 1300px) {

    .stk-1981f92-column {
        display: flex !important;
        flex-direction: column !important;
    }

    .stk-1981f92-column > .wp-block-stackable-column {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }

}


/* ========================================
   WOOCOMMERCE STYLES
======================================== */

/* Woo content wrappers */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce,
.post-type-archive-product .woocommerce,
.single-product .woocommerce,
.tax-product_cat .woocommerce,
.tax-product_tag .woocommerce {
	background: #fff9f1;
	padding: 80px 5% 40px 5% !important;
	margin-top: -60px;
    margin-bottom: -10px;
}

/* Woo header containers */
.woocommerce-cart header.ct-header .ct-container,
.woocommerce-checkout header.ct-header .ct-container,
.woocommerce-account header.ct-header .ct-container,
.post-type-archive-product header.ct-header .ct-container,
.single-product header.ct-header .ct-container,
.tax-product_cat header.ct-header .ct-container,
.tax-product_tag header.ct-header .ct-container {
	background: #fff9f1 !important;
}


.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="password"],
.woocommerce input[type="number"],
.woocommerce input[type="search"],
.woocommerce textarea,
.woocommerce select,
.woocommerce .select2-selection,
.woocommerce-page input[type="text"],
.woocommerce-page input[type="email"],
.woocommerce-page input[type="tel"],
.woocommerce-page input[type="password"],
.woocommerce-page input[type="number"],
.woocommerce-page input[type="search"],
.woocommerce-page textarea,
.woocommerce-page select,
.woocommerce-page .select2-selection {
	background: #fff !important;
	border-color: #e5e7eb !important;
}