/*
Custom CSS for the Akron Urban League website theme
Version: 1.0
Description: Used to establish the look and feel for the custom website
Author: Full Spectrum Marketing
Author URL: http://www.fsm.agency
*/

/* Update variables in variables.css */

#page-container {
    overflow: hidden;
}

:focus-visible {
    outline: 3px solid var(--focus-outline-color);
    box-shadow: 0 0 0 2px var(--text-inverse);
    outline-offset: 2px;
    position: relative;
    z-index: 1;
}

/* WCAG 2.4.11: prevent sticky header from obscuring focused elements */
html {
    scroll-padding-top: var(--header-total-offset);
}

#main-content:focus {
    outline: none;
}

/* WCAG 2.4.1: skip link — visible on keyboard focus */
.skip-link.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    width: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    word-wrap: normal !important;
}

.skip-link.screen-reader-text:focus,
.skip-link.screen-reader-text:focus-visible {
    clip: auto;
    clip-path: none;
    display: block;
    height: auto;
    width: auto;
    margin: 0;
    overflow: visible;
    padding: 0.75rem 1.25rem;
    position: fixed;
    top: 0.5rem;
    left: 0.5rem;
    z-index: 100000;
    background-color: var(--background-inverse);
    color: var(--text-inverse);
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
    border-radius: var(--border-radius-200);
    outline: 3px solid var(--focus-outline-color);
    box-shadow: 0 0 0 2px var(--text-inverse);
}

/* WCAG 2.2.2: background/autoplay video pause control */
.fsm-video-control {
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    z-index: 10;
    width: 2.25rem;
    height: 2.25rem;
    min-width: 2.25rem;
    min-height: 2.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 2px solid var(--text-inverse);
    border-radius: var(--border-radius-full);
    background-color: rgba(0, 0, 0, 0.6);
    color: var(--text-inverse);
    cursor: pointer;
}

.fsm-video-control:hover,
.fsm-video-control:focus-visible {
    background-color: rgba(0, 0, 0, 0.85);
}

.fsm-video-control-hover {
    opacity: 0;
    transition: opacity 0.2s ease;
}

.fsm-video-control-hover.fsm-video-control-visible,
.fsm-video-control-hover:focus-visible {
    opacity: 1;
}

/* WCAG 2.4.7: restore focus ring on mega menu links (overrides plugin outline:none) */
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item > a.mega-menu-link:focus-visible,
#mega-menu-wrap-primary-menu .mega-menu-toggle:focus-visible,
#mega-menu-wrap-primary-menu .mega-toggle-block a:focus-visible {
    outline: 3px solid var(--focus-outline-color) !important;
    box-shadow: 0 0 0 2px var(--text-inverse) !important;
    outline-offset: 2px;
}

/* WCAG 2.5.8: social icon minimum touch target (footer) */
#page-container #main-footer a.icon {
    min-width: 2.75rem;
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* Typography - Font Family */
#page-container h1,
#page-container h2,
#page-container h3,
#page-container h4,
#page-container h5,
#page-container h6,
#page-container .h1,
#page-container .h2,
#page-container .h3,
#page-container .h4,
#page-container .h5,
#page-container .h6 {
    font-family: var(--font-family-sans);
}

html body,
body:not(.et-vb-root-ancestor),
#page-container input,
#page-container textarea,
#page-container select,
#page-container input[type="text"],
#page-container input[type="email"],
#page-container input[type="password"],
#page-container input[type="search"],
#page-container input[type="tel"],
#page-container input[type="url"],
#page-container input[type="number"],
#main-content input,
#main-content textarea,
#main-content select {
    font-family: var(--font-family-sans);
}

/* 
    GLOBAL BUTTON STYLES
*/

/* Button Primary */
.et-db #et-boc #main-content .et-l .et_pb_button,
.et-db #et-boc #main-content .et-l .et_pb_button.fsm-btn-primary,
.et-db #et-boc #main-content .et-l .et_pb_button.et_pb_button_one,
input#gform_submit_button_2 {
    border-radius: var(--border-radius-full);
    border-color: var(--action-primary);
    color: var(--action-primary-text);
    background-color: var(--action-primary);
    text-align: center;
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1 !important;
    transition: ease all .3s;
    padding: 1em 2.25em 1em 1.25em;
}

input#gform_submit_button_2 {
    padding: .5em 1.5em .5em 1.5em !important;
    font-weight: 700;
}

.et-db #et-boc #main-content .et-l .et_pb_button:hover,
.et-db #et-boc #main-content .et-l .et_pb_button.fsm-btn-primary:hover,
.et-db #et-boc #main-content .et-l .et_pb_button.et_pb_button_one:hover,
input#gform_submit_button_2:hover {
    background-color: var(--action-primary-hover);
    border-color: var(--action-primary-hover);
    text-decoration: underline;
    padding: 1em 2.5em 1em 1.25em;
}

input#gform_submit_button_2:hover {
    padding: .5em 1.5em .5em 1.5em;
}

.et-db #et-boc #main-content .et-l .fsm-txt-btn.black {
    color: var(--text-default);
    font-size: var(--font-size-200) !important;
    font-style: normal;
    font-weight: 700 !important;
    line-height: normal;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: 10%;
    text-underline-offset: auto;
    text-underline-position: from-font;
    text-transform: capitalize;
    padding-bottom: 0;
}

.et-db #et-boc #main-content .et-l .et_pb_button::after,
.et-db #et-boc #main-content .et-l .et_pb_button::before,
.et-db #et-boc #main-content .et-l a.fsm-txt-btn::after,
.et-db #et-boc #main-content .et-l p.fsm-txt-btn::after,
.program-cards-container .program-card .program-learn-more-link::after,
body.et-db #page-container #et-boc .et-l #psuedo-element-btn:after {
    font-size: 1rem !important;
    line-height: 1.5;
    content: "\f054" !important;
    opacity: 1;
    position: absolute;
    margin-left: -1em;
    transition: all .2s;
    text-transform: none;
    font-feature-settings: "kern" off;
    font-variant: none;
    font-style: normal;
    font-weight: 400;
    text-shadow: none;
    margin-left: .25rem;
    font-family: "Font Awesome 7 Pro" !important;
}

body.et-db #page-container #et-boc .et-l #psuedo-element-btn:hover {
    padding: 1em 2.5em 1em 1.25em;
}

.et-db #et-boc #main-content .et-l .et_pb_button:hover::after,
.et-db #et-boc #main-content .et-l .et_pb_button:hover::before,
.et-db #et-boc #main-content .et-l a.fsm-txt-btn:hover::after,
.et-db #et-boc #main-content .et-l p.fsm-txt-btn:hover::after,
body.et-db #page-container #et-boc .et-l #psuedo-element-btn:hover::after,
body.et-db #page-container #et-boc .et-l #psuedo-element-btn:hover:before {
    margin-left: .5rem !important;
}

/* Button Secondary */
.et-db #et-boc #main-content .et-l .et_pb_button.fsm-btn-secondary,
.et-db #et-boc #main-content .et-l .et_pb_button.et_pb_button_two {
    border: 2px solid var(--action-secondary);
    background: transparent;
    color: var(--action-secondary);
}

.et-db #et-boc #main-content .et-l .et_pb_button.fsm-btn-secondary:hover,
.et-db #et-boc #main-content .et-l .et_pb_button.et_pb_button_two:hover {
    border-color: var(--action-primary);
    background: var(--action-secondary);
    color: var(--action-primary);
    text-decoration: underline;
}

.et-db #et-boc #main-content .et-l .et_pb_button.fsm-btn-secondary.dark,
.et-db #et-boc #main-content .et-l .et_pb_button.et_pb_button_two.dark {
    border: 2px solid var(--action-primary);
    background: transparent;
    color: var(--action-primary);
}

.et-db #et-boc #main-content .et-l .et_pb_button.fsm-btn-secondary.dark:hover,
.et-db #et-boc #main-content .et-l .et_pb_button.et_pb_button_two.dark:hover {
    border-color: var(--action-primary-hover);
    background: var(--action-secondary);
    color: var(--action-primary-hover);
    text-decoration: underline;
}


/* Text Button */
.et-db #et-boc #main-content .et-l a.fsm-txt-btn,
.et-db #et-boc #main-content .et-l .fsm-txt-btn,
.et-db #et-boc #main-content .et-l .et_pb_button.fsm-txt-btn {
    color: var(--text-default);
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: 10%;
    text-underline-offset: auto;
    text-underline-position: from-font;
    border-radius: 0;
    border: none;
    background: none;
    text-align: left;
    padding: 0;
}

.et-db #et-boc #main-content .et-l a.fsm-txt-btn.red,
.et-db #et-boc #main-content .et-l .fsm-txt-btn.red,
.et-db #et-boc #main-content .et-l .et_pb_button.fsm-txt-btn.red {
    color: var(--action-primary-hover) !important;
}

/* LARGE BUTTON SIZING */
.et-db #et-boc #main-content .et-l .et_pb_button.large {
    padding: 1em 2em;
    font-size: 1rem;
}

/* SMALL BUTTON SIZING */
.et-db #et-boc #main-content .et-l .et_pb_button.small {
    padding: .7em 1.3em;
    font-size: 14px;
}


/* ACCESSIBILITY UNIVERSAL TEXT LINKS */
.et-db #et-boc #main-content .et-l a:not(.et_pb_button, .icon, img, .fsm-post-list a, .card, .exclude-style, .program-card, .facetwp-reset, .facet-card-link) {
    border-radius: 4px;
    color: var(--text-link);
    padding: 2px;
    transition: ease all .2s;
    display: inline;
    overflow: hidden;
    text-decoration: underline;
}

.et-db #et-boc #main-content .et-l a:not(.et_pb_button, .icon, img, .fsm-post-list a, .card, .exclude-style, .program-card, .facetwp-reset, .facet-card-link):hover {
    border-radius: 3px;
    background-color: rgba(30, 26, 27, 0.2);
    transition: ease all .2s;
}

.blog #main-content a:not(.et_pb_button, .icon, img, .fsm-post-list a, .card, .exclude-style, .program-card, .facetwp-reset) {
    padding: 0px;
}

.blog #main-content .entry-featured-image-url img {
    padding: 19px 19px 0px 19px;
}

.et-db #et-boc .et-l .et_pb_button:after {
    right: 1.3em;
    left: auto;
}

/* 
    FONT SIZING
*/


.program h1 {
    font-family: "neue-haas-grotesk-text", sans-serif !important;
}

body:not(.et-vb-root-ancestor) #page-container {

    color: var(--text-default);

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        color: var(--text-heading);
    }

    h1,
    .h1 {
        font-size: var(--step-5);
        font-weight: 700;
    }

    h2,
    .h2 {
        font-size: var(--step-4);
        font-weight: 700;
    }

    h3,
    .h3 {
        font-size: var(--step-3);
        font-weight: 700;
    }

    h4,
    .h4 {
        font-size: var(--step-2);
        font-weight: 700;
    }

    h5,
    .h5 {
        font-size: var(--step-1);
        font-weight: 700;
    }

    h6,
    .h6 {
        font-size: var(--step-0);
        font-weight: 700;
    }

    p,
    li {
        font-size: var(--step-0);
        font-weight: 400;
    }

    .large-text,
    .large-text p,
    .large-text li {
        font-size: var(--step-1);
    }

    .small-text,
    .small-text p,
    .small-text li {
        font-size: var(--step--1);
    }
}

.text-container {
    max-width: 700px;
}

/*Blog Font Sizes*/
body:not(.et-vb-root-ancestor).post-template-default {
    h1 {
        &.entry-title {
            font-size: var(--step-4) !important;
        }
    }

    h2 {
        font-size: var(--step-3) !important;
    }

    h3 {
        font-size: var(--step-2) !important;
    }

    h4 {
        font-size: var(--step-1) !important;
    }

    h5 {
        font-size: var(--step-0) !important;
    }

    h6 {
        font-size: var(--step--1) !important;
    }
}

/* END BLOG FONT SIZES */

/* END FONT STYLE */

/*this is a home*/
/*
    HEADER STYLES
*/


/* --- Top Header --- */
#top-header .et_pb_row .et_pb_column,
#page-container #et-boc .et-l #top-header .et_pb_row .et_pb_column {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
}

#top-header,
#page-container #et-boc .et-l #top-header {
    padding: 0;
    min-height: var(--header-secondary-height);
    background-color: var(--background-inverse);
    display: flex;
    align-items: center;
}

#top-header .et_pb_row,
#page-container #et-boc .et-l #top-header .et_pb_row {
    min-height: var(--header-secondary-height);
}

#top-header a.mega-menu-link,
#page-container #et-boc .et-l #top-header a.mega-menu-link {
    color: var(--text-inverse);
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: 0.02rem;
}

#top-header #mega-menu-wrap-secondary-menu #mega-menu-secondary-menu > li.mega-menu-item {
    margin-right: var(--header-secondary-link-gap);
}

#top-header #mega-menu-wrap-secondary-menu #mega-menu-secondary-menu > li.mega-menu-item:last-child {
    margin-right: 0;
}

#top-header #mega-menu-wrap-secondary-menu #mega-menu-secondary-menu > li.mega-menu-item > a.mega-menu-link {
    line-height: var(--header-secondary-height);
    height: var(--header-secondary-height);
    padding: 0;
}

#top-header a.mega-menu-link:hover,
#page-container #et-boc .et-l #top-header a.mega-menu-link:hover {
    text-decoration: underline;
}

#top-header #et-secondary-menu,
#top-header .et_pb_code.et_pb_module {
    display: flex !important;
    align-items: center !important;
    height: var(--header-secondary-height);
    margin: 0 !important;
}

#top-header #mega-menu-wrap-secondary-menu {
    display: flex;
    align-items: center;
    height: 100%;
}

#top-header .et_pb_social_media_follow,
#page-container #et-boc .et-l #top-header .et_pb_social_media_follow {
    display: flex !important;
    align-items: center !important;
    height: var(--header-secondary-height);
    margin: 0 !important;
    padding: 0 !important;
    gap: 0.3125rem;
}

#top-header .et_pb_social_media_follow .et_pb_social_icon,
#page-container #et-boc .et-l #top-header .et_pb_social_media_follow .et_pb_social_icon {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    line-height: 1;
}

#top-header .et_pb_social_media_follow .et_pb_social_icon a.icon,
#page-container #et-boc .et-l #top-header .et_pb_social_media_follow .et_pb_social_icon a.icon {
    background-color: var(--background-primary) !important;
    min-width: 2rem;
    min-height: 2rem;
    width: 2rem;
    height: 2rem;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

#top-header .et_pb_social_media_follow .et_pb_social_icon a.icon:before,
#page-container #et-boc .et-l #top-header .et_pb_social_media_follow .et_pb_social_icon a.icon:before {
    color: var(--action-primary);
    transition: color 0.2s ease;
}

#top-header .et_pb_social_media_follow .et_pb_social_icon a.icon:hover,
#top-header .et_pb_social_media_follow .et_pb_social_icon a.icon:focus-visible,
#page-container #et-boc .et-l #top-header .et_pb_social_media_follow .et_pb_social_icon a.icon:hover,
#page-container #et-boc .et-l #top-header .et_pb_social_media_follow .et_pb_social_icon a.icon:focus-visible {
    background-color: var(--action-primary-hover) !important;
    transform: scale(1.1);
}

#top-header .et_pb_social_media_follow .et_pb_social_icon a.icon:hover:before,
#top-header .et_pb_social_media_follow .et_pb_social_icon a.icon:focus-visible:before,
#page-container #et-boc .et-l #top-header .et_pb_social_media_follow .et_pb_social_icon a.icon:hover:before,
#page-container #et-boc .et-l #top-header .et_pb_social_media_follow .et_pb_social_icon a.icon:focus-visible:before {
    color: var(--action-primary-text) !important;
}

/* --- Main Header --- */
.et_pb_row.et_menu_container::after {
    display: none !important;
}

/* Figma sticky header (node 4764:5371): compact white bar.
   position:fixed — not sticky — because Divi sets #page-container { overflow:hidden }. */
header.et-l--header.aul-header-is-sticky {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 100000;
    background: var(--background-primary);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
}

.aul-header-sticky-spacer {
    display: block;
    height: 0;
    pointer-events: none;
}

.aul-header-is-sticky #page-container #main-header {
    background: var(--background-primary) !important;
    min-height: var(--header-sticky-height);
}

.aul-header-is-sticky #main-header .et_menu_container.et_pb_row {
    min-height: var(--header-sticky-height);
}

.aul-header-is-sticky #main-header #logo,
.aul-header-is-sticky #main-header #logo img {
    max-width: var(--header-sticky-logo-max-width);
    max-height: var(--header-sticky-logo-height);
    width: auto;
    height: var(--header-sticky-logo-height);
    aspect-ratio: auto;
    object-fit: contain;
}

html.aul-header-is-sticky {
    scroll-padding-top: var(--header-sticky-height);
}

@media (prefers-reduced-motion: no-preference) {
    header.et-l--header,
    #page-container #main-header,
    #main-header #logo img {
        transition: background-color 0.25s ease, min-height 0.25s ease, opacity 0.2s ease;
    }
}

@media only screen and (min-width: 1153px) {
    #page-container #main-header .nav-btn {
        border-radius: 999px !important;
        background: var(--action-primary) !important;
    }

    #page-container #main-header .nav-btn > a.mega-menu-link {
        padding: 0.5rem 1rem !important;
        height: auto !important;
        line-height: 1.5 !important;
    }

    /* Figma: transparent main nav over hero backgrounds (all pages) */
    #page-container #main-header {
        background: transparent;
        padding: 0;
        min-height: var(--header-primary-min-height);
        display: flex;
        align-items: center;
    }

    #main-header .et_menu_container.et_pb_row {
        min-height: var(--header-primary-min-height);
    }

    #page-container #main-header #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item {
        margin-right: var(--header-nav-item-gap);
    }

    #page-container #main-header #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item.mega-item-align-right {
        margin-left: var(--header-nav-item-gap);
        margin-right: 0;
    }

    #page-container #main-header #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item.nav-btn {
        margin-right: 0;
    }

    #page-container #main-header #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item > a.mega-menu-link {
        padding-left: 0;
        padding-right: 0;
        height: auto;
        line-height: 1.5;
        letter-spacing: 0.025rem;
    }

    /* Pull first hero section under the transparent header row */
    #main-content .et_pb_section:first-of-type {
        margin-top: calc(-1 * var(--header-total-offset)) !important;
        padding-top: calc(var(--header-total-offset) + 1.25rem) !important;
    }
    

    .aul-header-is-sticky #top-header,
    .aul-header-is-sticky #page-container #et-boc .et-l #top-header {
        max-height: 0;
        min-height: 0;
        overflow: hidden;
        opacity: 0;
        visibility: hidden;
        padding: 0;
        margin: 0;
        border: 0;
    }

    .aul-header-is-sticky #page-container #main-header #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item:not(.nav-btn) > a.mega-menu-link {
        color: var(--text-default) !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        letter-spacing: 0.02rem !important;
    }

    .aul-header-is-sticky #page-container #main-header #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item:not(.nav-btn) > a.mega-menu-link:hover,
    .aul-header-is-sticky #page-container #main-header #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item:not(.nav-btn) > a.mega-menu-link:focus {
        color: var(--text-default) !important;
        text-decoration: underline;
    }

    .aul-header-is-sticky #page-container #main-header .nav-btn > a.mega-menu-link {
        color: var(--action-primary-text) !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        letter-spacing: 0.02rem !important;
    }

    .aul-header-is-sticky #page-container #main-header .nav-btn > a.mega-menu-link:hover,
    .aul-header-is-sticky #page-container #main-header .nav-btn > a.mega-menu-link:focus {
        color: var(--action-primary-text) !important;
        text-decoration: none;
    }

    @media (prefers-reduced-motion: no-preference) {
        #top-header {
            transition: background-color 0.25s ease, min-height 0.25s ease, max-height 0.25s ease, opacity 0.2s ease;
        }
    }
}

/* Hero overlay for readable white nav + H1 over background images (Figma program detail) */
.single-program #main-content .et_pb_section:first-of-type,
.blog #main-content .et_pb_section:first-of-type {
    position: relative;
}

.single-program #main-content .et_pb_section:first-of-type::before,
.blog #main-content .et_pb_section:first-of-type::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.4) 100%);
    z-index: 1;
    pointer-events: none;
}

.single-program #main-content .et_pb_section:first-of-type > .et_pb_row,
.blog #main-content .et_pb_section:first-of-type > .et_pb_row {
    position: relative;
    z-index: 2;
}

/*END HEADER*/

/* START FOOTER STYLES */
div#main-footer {
    position: relative !important;
}

div#main-footer:after {
    content: "" !important;
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    bottom: 0 !important;
    right: 0 !important;
    background: var(--background-inverse) url(/wp-content/uploads/AUL-Lines-Footer.png) right / contain no-repeat;
}


@media only screen and (max-width:980px) {
    #page-container #et-boc #main-footer:after {
        top: 0px;
        background: var(--background-inverse) url(/wp-content/uploads/AUL-Lines-Footer.png) right / cover no-repeat;
    }

#page-container #et-main-area .footer-logo {
    margin-right: 0;
    margin-bottom: 1.5rem;
}

#page-container #et-main-area #main-footer .et_pb_column {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin: 0 auto;
}

#page-container #et-main-area #main-footer .footer-contact {
    text-align: center;
        padding-top: 1rem;
        padding-bottom: 1rem;
}

#page-container #et-main-area #main-footer .menu-footer-menu-container li.menu-item.menu-item-type-post_type.menu-item-object-page {
    padding-bottom: 1rem !important;
}

#page-container #et-main-area #main-footer .et_pb_row_0_tb_footer.et_pb_row.et_pb_gutters3.et_block_row.preset--module--divi-row--default {
    padding-bottom: 0;
}

.footer-newsletter h3 {
    text-align: center;
}

ul#menu-footer-menu {
    padding-bottom: 0;
}

.et_pb_row_1_tb_footer.et_pb_row.et_flex_row.preset--module--divi-row--default {
    padding-bottom: 2rem;
}

.et_pb_column_5_tb_footer.et_pb_column.et-last-child.et_flex_column.et_pb_css_mix_blend_mode_passthrough.et_flex_column_8_24.et_flex_column_8_24_tablet.et_flex_column_24_24_phone {
    padding-bottom: 2rem;
}

.footer-copyright p {
    text-align: center;
}


#page-container #et-main-area #main-footer .et_pb_row_2_tb_footer {
    display: flex;
    align-items: center;
    flex-direction: column-reverse;
            gap: 1rem;
}

.program-card-content .program-info {
    display: flex;
    gap: .5rem;
    flex-direction: column;
}

.core-values .et_pb_row {
    display: flex;
    flex-direction: column-reverse;
}

.core-values .et_pb_row .et_pb_column {
    display: flex;
    align-items: baseline;
            gap: 1rem;
}

#main-content .cta-blurb p {
    padding-bottom: 1rem;
}

#main-content .flex-reverse-mobile .et_pb_row_1 {
    gap: 2rem;
}

#main-content #cta {
   padding-top: 2rem;
}

#page-container #main-content .timeline-container {
        margin-top: 0;
        margin-bottom: 1rem;
    }

#page-container #main-header #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-flyout ul.mega-sub-menu {
    background: var(--text-default);
}


}

img.timeline-image {
    border-radius: var(--border-radius-200);
}


.annual-reports-container img,
.annual-reports-container .et_pb_image {
        max-height: 300px;
    min-height: 300px;
    max-width: 200px;
    min-width: 200px;
    }

@media only screen and (min-width:981px) {
    .footer-logo {
        padding-bottom: 1.3rem !important;
    }
}


.footer-contact a,
.footer-contact p {
    color: var(--text-inverse) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 150% !important;
}

.footer-contact a:hover {
    text-decoration: underline;
    text-decoration-color: var(--red-400) !important;
}

.menu-footer-menu-container a {
    color: var(--text-inverse) !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    text-decoration-line: underline !important;
    text-decoration-color: var(--red-400) !important;
    text-underline-position: from-font !important;
}

/* Match #cta overlap offset; logo row (.et_pb_row_0_tb_footer) supplies the 3.5rem gap. */
div#main-footer {
    padding-top: 11rem !important;
}

.page-id-160 div#main-footer {
    padding-top: 2rem !important;
}


ul.et_pb_social_media_follow_0_tb_footer.et_pb_social_media_follow.clearfix.et_pb_bg_layout_light.et_pb_module.et_block_module.footer-socials {
    display: flex;
}

.menu-footer-menu-container li.menu-item.menu-item-type-post_type.menu-item-object-page {
    list-style-type: none !important;
    padding-bottom: .5rem !important;
}

.menu-footer-menu-container a:hover {
    text-decoration: none !important;
}

.footer-search .et_pb_searchsubmit {
    /* Set positioning context for the ::after icon */
    position: relative !important;

    /* Hide the default "Search" text */
    color: transparent !important;

    /* Adjust button size to be appropriate for the icon */
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    /* Remove default padding */

    /* If you see a border, you might need: */
    /* border: none !important; */
}

/* .footer-search .et_pb_searchsubmit::after {
    content: url('/wp-content/uploads/search.svg') !important;
    font-family: 'ETmodules' !important; 
    width: 20px !important; 
    height: 20px !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 999;
    opacity: 1 !important;
} */

#page-container #et-main-area #main-footer .footer-newsletter h3 {
    color: var(--text-inverse);
    font-family: var(--font-family-sans);
    font-size: 20px !important;
    font-style: normal;
    font-weight: 500 !important;
    line-height: 125%;
    padding-bottom: .5rem !important;
}

#page-container .footer-newsletter .gform_wrapper label {
    color: var(--text-inverse);
    font-weight: 700 !important;
}

#page-container .footer-newsletter .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
#page-container .gform_wrapper textarea.textarea,
#page-container div.form_saved_message div.form_saved_message_emailform form input[type=text] {
    border: 1px solid var(--border-strong);
    font-size: 1em;
    padding: 1em 1em;
    min-height: auto;
    max-height: none;
    background: var(--text-heading);
    border-radius: 5px;
    color: var(--gray-400);
    font-weight: 500;
}

#page-container .footer-newsletter form#gform_2 {
    display: flex;
    gap: .5rem;
    width: 100% !important;
    flex-direction: row;
}

#page-container .footer-newsletter .gform-body.gform_body {
    width: 65%;
}

#page-container .et_pb_row_0_tb_footer.et_pb_row.et_pb_gutters3.et_block_row {
    padding-bottom: 3.37rem;
}

.et_pb_row_1_tb_footer.et_pb_row.et_flex_row {
    padding-bottom: 3.5rem;
}

.et-db #et-boc .et-l .footer-copyright p,
.et-db #et-boc .et-l .footer-copyright a {
    color: var(--gray-400);
    font-size: var(--font-size-sm);
}

.et-db #et-boc .et-l .footer-copyright a:hover {
    text-decoration: underline;
}

.et_pb_row_2_tb_footer.et_pb_row.et_flex_row {
    display: flex;
    align-items: center;
}

/*END FOOTER*/

/* ==========================================================
   Base Grid Setup (Same as before)
   Ensure the column is a grid container on desktop.
   ========================================================== */
.et_pb_column.grid-cols-4,
.et_pb_column.grid-cols-3,
.et_pb_column.grid-cols-2 {
    display: grid !important;
    padding: 0 !important;
    grid-gap: 20px;
    align-items: start;
}

.et_pb_column.grid-cols-4 {
    grid-template-columns: repeat(4, 1fr) !important;
}

.et_pb_column.grid-cols-3 {
    grid-template-columns: repeat(3, 1fr) !important;
}

.et_pb_column.grid-cols-2 {
    grid-template-columns: repeat(2, 1fr) !important;
}

/* ==========================================================
   TABLET COLUMN OVERRIDES (980px to 768px)
   These classes are used to manually set the column count on tablet.
   ========================================================== */
@media only screen and (min-width: 768px) and (max-width: 980px) {

    /* 3 Columns on Tablet */
    .et_pb_column.tablet-cols-3 {
        grid-template-columns: repeat(3, 1fr) !important;
    }

    /* 2 Columns on Tablet */
    .et_pb_column.tablet-cols-2 {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    /* 1 Column on Tablet */
    .et_pb_column.tablet-cols-1 {
        grid-template-columns: repeat(1, 1fr) !important;
    }
}

/* ==========================================================
   MOBILE COLUMN OVERRIDES (767px and below)
   These classes are used to manually set the column count on mobile.
   ========================================================== */
@media only screen and (max-width: 767px) {

    /* 2 Columns on Mobile */
    .et_pb_column.mobile-cols-2 {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    /* 1 Column on Mobile */
    .et_pb_column.mobile-cols-1 {
        grid-template-columns: repeat(1, 1fr) !important;
    }
}

img.wide-image {
    aspect-ratio: 2/1;
    object-fit: cover;
}

img.align-top {
    object-position: top;
}

img.align-bottom {
    object-position: bottom;
}

img.corner-radius {
    border-radius: var(--border-radius-200);
}

.et_pb_image:has(img.red-border)::before {
    content: "";
    position: absolute;
    width: calc(100% + 16px);
    height: calc(100% + 16px);
    top: -8px;
    left: -8px;
    background-color: var(--action-primary-hover);
    border-radius: calc(var(--border-radius-200) + 8px);
}

/* START PAGE ORGANIZATION */

/*
HOMEPAGE
*/
div#home-hero .et-pb-background-video::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.4) 100%);
    z-index: 1;
}

#home-hero h1>span,
h2>span,
.mbac h3>span {
    position: relative;
    display: inline-block;
}

.mbac h3>span::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.5rem;
    width: 100%;
    height: 42px;
    background-image: url("/wp-content/uploads/underline.svg");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    z-index: -1;
}

#home-hero h1>span::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.5rem;
    width: 100%;
    height: 42px;
    background-image: url("/wp-content/uploads/underline.svg");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    z-index: -1;
}

h2>span::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1.5rem;
    width: 100%;
    height: 42px;
    background-image: url("/wp-content/uploads/h2_underline.svg");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    z-index: -1;
}

#home-hero p {
    font-weight: 500;
}

/* Poster-only hero when Save-Data, slow connection, or reduced motion is detected */
html.aul-hero-poster-only #home-hero .et-pb-background-video,
html.aul-hero-poster-only #home-hero .et_pb_section_video_bg {
    display: none !important;
}

@media (prefers-reduced-data: reduce) {
    #home-hero .et-pb-background-video,
    #home-hero .et_pb_section_video_bg {
        display: none !important;
    }
}

#home-hero .large-text p {
    line-height: 1.25;
}

/* NEWS CAROUSEL SECTION */
#news .et_pb_group_carousel_slide .et_flex_group {
    gap: .75rem;
    height: 100%;
}

#news .et_pb_group.news-card img {
    aspect-ratio: 2/1;
    object-fit: cover;
    object-position: center top;
}

#news .et_pb_group.news-card {
    transition: transform .2s ease, background-color .2s ease;
    will-change: transform, background-color;

    .et_pb_text {
        flex-grow: 1;
    }

    .et_pb_button {
        margin-bottom: .25rem;

        &:after {
            right: -0.75rem;
        }
    }

    &:hover,
    &:focus-within {
        transform: translateY(-2px);
        cursor: pointer;
        background-color: var(--background-tertiary);

        .et_pb_button:after {
            right: -1rem;
        }
    }
}


@media only screen and (max-width: 980px) {
#page-container #et-boc #main-content .news-card {
        gap: 1rem;
        padding-bottom: 2rem ! IMPORTANT;
    }

    div#news {
    gap: 0;
}

#et-boc #main-content .event-hero-text a {
    font-weight: 700;
    color: #fff ! IMPORTANT;
}

.share-event {
    padding-bottom: 1rem;
}

img.attachment-post-thumbnail.size-post-thumbnail.wp-post-image {
    border-radius: var(--border-radius-200);
}

article.et_pb_post {
    border-radius: var(--border-radius-200);
}

article.et_pb_post h2.entry-title {
    padding-bottom: 1rem ! IMPORTANT;
}

article.et_pb_post .post-content-inner {
    padding-bottom: 1rem;
}

}

/* #news .et_pb_group_carousel .et_pb_group_carousel_slide {
    transition: transform .2s ease;
    will-change: transform;

    .et_pb_group {
        transition: all .2s ease;

        .et_pb_text {
            flex-grow: 1;
        }

        .et_pb_button {
            margin-bottom: .25rem;

            &:after {
                right: -0.75rem;
            }
        }
    }

    &:hover,
    &:focus-visible {
        transform: translateY(-2px);
        cursor: pointer;
        outline: none;

        .et_pb_group {
            background-color: var(--background-tertiary);
        }

        .et_pb_button:after {
            right: -1rem;
        }
    }
} */

.aul-lines-background:after {
    content: "" !important;
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    bottom: 0 !important;
    right: 0 !important;
    background: url(/wp-content/uploads/AUL-Lines-Footer.png) right / contain no-repeat !important;
}

/* FEATURED EVENT SECTION — desktop/tablet layout comes from Divi builder CSS */
#featured-event .et_pb_row {
    border-radius: var(--border-radius-400);
}

/* Figma node 5983:3827 — full-bleed image row with bottom-right event card */
@media only screen and (min-width: 981px) {
    #featured-event .et_pb_row {
        min-height: 38.875rem;
        flex-direction: row !important;
        justify-content: flex-end !important;
        align-items: flex-end !important;
        background-size: cover !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
        overflow: hidden;
    }

    #featured-event .et_pb_row > .et_pb_column {
        width: 100% !important;
        flex: 1 1 auto !important;
        display: flex !important;
        justify-content: flex-end !important;
        align-items: flex-end !important;
    }

    #featured-event .et_pb_group {
        box-sizing: border-box;
        max-width: 37.1875rem !important;
        width: 100%;
        align-self: flex-end !important;
        margin-right: 0 !important;
        margin-bottom: 0 !important;
        background-color: var(--background-secondary) !important;
        border: 2px solid var(--gray-300) !important;
        border-radius: var(--border-radius-200) !important;
        padding: 2rem 1.5rem !important;
    }

    #featured-event .et_pb_text_inner > p:first-child {
        font-size: 1rem;
        font-weight: 700;
        line-height: 1.25;
    }

    #featured-event .et_pb_text_inner h2 {
        font-size: 3rem;
        line-height: 1.25;
    }
}

#page-container .programs-row {
    .program-card {
        display: flex;
        padding: 1rem;
        flex-direction: column;
        align-items: flex-start;
        gap: 1.5rem;
        flex: 1 0 0;
        border-radius: var(--border-radius-100);
        background: var(--background-primary);
        transition: all .3s ease;

        @media only screen and (max-width: 980px) {
            padding: 0 !important;
        }

        img {
            aspect-ratio: 5/4;
            object-fit: cover;
            border-radius: var(--border-radius-200)
        }

        h3 {
            font-size: 1.375rem;
        }

        &.et_clickable:hover {
            background: var(--background-tertiary);

            .et_pb_button::after {
                margin-left: .5rem !important;
            }
        }
    }
}

#page-container .program-area-row {
    .program-card {
        display: flex;
        padding: 1rem;
        flex-direction: column;
        align-items: baseline;
        gap: 1.5rem;
        border-radius: var(--border-radius-100);
        transition: all .3s ease;
        justify-content: space-between;
        min-height: 100% !important;

        img {
            aspect-ratio: 5/4;
            object-fit: cover;
            border-radius: var(--border-radius-200)
        }

        h3 {
            font-size: 1.375rem;
        }

        &.et_clickable:hover {
            background: var(--background-tertiary);

            .et_pb_button::after {
                margin-left: .5rem !important;
            }
        }

        /* &.et_clickable:not(:first-of-type):hover {
            background: var(--background-tertiary);

            .et_pb_button::after {
                margin-left: .5rem !important;
            }
        } */
    }

    @media only screen and (min-width: 981px) {
        .program-card .program-area-heading {
            padding-top: 4.25rem !important;
        }
    }

    .et_pb_button:after {
        right: -0.8em;
        left: auto;
    }
}

/* IMPACT SECTION */
#page-container #impact .et_pb_number_counter {

    border-top: 1px solid var(--border-default);
    border-bottom: 1px solid var(--border-default);
    padding: 1rem 0.75rem;
    min-height: 7.5rem;


    .percent,
    .percent p {
        min-height: 1.2em;
    }


    .h2 {

        margin-bottom: 0.125rem;
        line-height: 1;
        height: auto;

        p {
            line-height: 1;

            span {
                font-size: var(--step-4);
                font-weight: 700;
                line-height: 1;
            }

        }
    }

    h3.title.small {
        font-size: 0.875rem;
        font-weight: var(--font-weight-regular);
        line-height: 1.25;
        margin-bottom: 0;
    }

    .dollar .percent-value::before {
        content: "$"
    }
}

/* CTA SECTION */
.cta-blurb {
    padding: 1.5rem;
    border-radius: var(--border-radius-200);
    border: 2px solid var(--border-default);
}

/* Replace Divi icons with Font Awesome 7 Pro icons in cta-blurb modules */
#et-boc .et-l .cta-blurb.circle-equal .et_pb_image_wrap::before,
#et-boc .et-l .cta-blurb.circle-equals .et_pb_image_wrap::before,
#et-boc .et-l .cta-blurb.message-arrow .et_pb_image_wrap::before {
    color: var(--action-primary);
    font-family: "Font Awesome 7 Pro" !important;
    font-weight: 400;
    font-size: 60px;
    display: inline-block;
    width: 68px;
    height: 60px;
    line-height: 60px;
    text-align: center;
    vertical-align: middle;
}

#et-boc .et-l .cta-blurb.circle-equal span.et-waypoint.et_pb_animation_top.et_pb_animation_top_tablet.et_pb_animation_top_phone.et-pb-icon.et-animated,
#et-boc .et-l .cta-blurb.circle-equals span.et-waypoint.et_pb_animation_top.et_pb_animation_top_tablet.et_pb_animation_top_phone.et-pb-icon.et-animated,
#et-boc .et-l .cta-blurb.message-arrow span.et-waypoint.et_pb_animation_top.et_pb_animation_top_tablet.et_pb_animation_top_phone.et-pb-icon.et-animated {
    display: none;
}

/* fa-circle-equals icon */
#et-boc .et-l .cta-blurb.circle-equal .et_pb_image_wrap::before,
#et-boc .et-l .cta-blurb.circle-equals .et_pb_image_wrap::before {
    content: "\e6b1";
    /* fa-circle-equals unicode */
}

/* fa-message-arrow-up-right icon */
#et-boc .et-l .cta-blurb.message-arrow .et_pb_image_wrap::before {
    content: "\e1dd";
    /* fa-message-arrow-up-right unicode - adjust if needed */
}

/*
 * Pre-footer CTA overlaps the footer per Figma. #cta lives inside
 * #main-content; the Theme Builder footer is its sibling in #et-main-area.
 * Raise #main-content above the footer, keep its background transparent so
 * the footer surface shows through the overlap zone, and paint the card on
 * #cta .et_pb_row only.
 */
#et-main-area {
    position: relative;
}

#main-content {
    position: relative;
    z-index: 2;
    background: transparent !important;
}

footer.et-l--footer {
    position: relative;
    z-index: 1;
}

#cta {
    margin-bottom: -11rem !important;
    padding-bottom: 0 !important;
    z-index: 2;
    background-color: transparent !important;
    position: relative;

    h2 {
        color: var(--action-primary-hover) !important;
    }

    .et_pb_row {
        padding: 3rem;
        border-radius: var(--border-radius-200);
        border: 2px solid var(--border-default);
        background-color: var(--background-primary);

        .et_pb_image img {
            border-radius: var(--border-radius-200);
        }
    }
}

/* Hide CTA section on program CPT pages - users should focus on program information */
.single-program #cta {
    display: none !important;
}

/* Use Divi 5 default section padding on footer for program CPT pages (instead of extra padding for CTA overlap) */
@media only screen and (min-width: 1350px) {
    .single-program div#main-footer {
        padding-top: 54px !important;
    }
}

@media (min-width: 981px) {
    .single-program div#main-footer {
        padding-top: 4% !important;
    }

    .reports-row .et_pb_column {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}
}

@media (max-width: 980px) {
    /* Taller stacked CTA card; overlap aligns to paragraph line 2 (Figma 4959:5615). */
    #cta {
        margin-bottom: -13rem !important;
    }

    /* Match #cta overlap offset; logo row supplies the 3.5rem gap. */
    div#main-footer {
        padding-top: 13rem !important;
    }

    .single-program div#main-footer {
        padding-top: 50px !important;
    }

    .page-id-160 div#main-footer {
        padding-top: 2rem !important;
    }

    .reports-row .et_pb_image {
    margin: 0 auto;
}
}


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

    #home-hero .et_pb_row {
        width: 90%;
    }

    /* Reset news section pull-up; prevent featured-event overlap */
    #news.et_pb_section {
        margin-top: 0 !important;
        padding-bottom: 2rem !important;
    }

    #news .news-card .et_pb_text_inner p {
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
        line-height: 1.35;
        margin: 0;
    }

    #news .et_pb_group_carousel_container {
        min-height: 18rem;
    }

    #news .et_pb_group_carousel_slide .et_flex_group {
        height: 100%;
    }

    #featured-event .et_pb_row {
        aspect-ratio: auto;
        min-height: 0;
        flex-direction: column !important;
        justify-content: flex-end !important;
        align-items: stretch !important;
        background-size: cover !important;
        background-position: center 20% !important;
        background-repeat: no-repeat !important;
        padding-top: 11rem !important;
        padding-right: 1.25rem !important;
        padding-bottom: 1.25rem !important;
        padding-left: 1.25rem !important;
        overflow: hidden;
    }

    #featured-event .et_pb_row > .et_pb_column {
        width: 100% !important;
        flex: 0 0 auto !important;
    }

    #featured-event .et_pb_group {
        max-width: 100% !important;
        margin-right: 0 !important;
        margin-bottom: 0 !important;
        align-self: stretch !important;
    }

    #featured-event {
        margin-top: 1.5rem;
        overflow: visible;
    }

    #page-container #impact .et_pb_number_counter {
        border-top: none;
    }

    #cta .et_pb_row {
        padding: 1.5rem 1rem;
    }

}

@media only screen and (min-width: 981px) {
    .no-button-hero {
        min-height: 635px;
    }
}

/*END HOMEPAGE*/

/*
    START PAGE-SPECIFIC STYLES
*/

/*What We Do*/

.program-cards-container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1.5rem;
}

.program-card {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

/* FacetWP Program Cards - Full Card Link with Hover Effects */
.program-cards-container .program-card {
    padding: 1rem;
    border-radius: var(--border-radius-100);
    /* background: var(--background-primary); */
    transition: all .3s ease;
    text-decoration: none;
    color: inherit;
    align-items: flex-start;
}

.program-cards-container .program-card:hover {
    background: var(--background-tertiary);
    text-decoration: none;
    color: inherit;
}

.program-cards-container .program-card:hover .program-learn-more-link::after {
    margin-left: .5rem !important;
}

.program-cards-container .program-card .program-title {
    font-size: 1.375rem;
}

.program-cards-container .program-card .program-learn-more-link {
    position: relative;
    display: inline-block;
}

@media (max-width: 767px) {
    .program-cards-container .program-card {
        padding: 1rem 0;
    }
}

div#program-areas:after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: 543px;
    left: -1064px;
    background: url(/wp-content/uploads/AUL-Lines-scaled.png) right / contain no-repeat;
    transform: rotate(56.129deg);
}



div#program-areas p.program-excerpt {
    padding-bottom: 1rem !important;
}

@media (max-width: 992px) {
    .program-cards-container {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 600px) {
    .program-cards-container {
        grid-template-columns: 1fr;
    }
}

.facetwp-facet.facetwp-facet-programs.facetwp-type-checkboxes {
    display: contents;
    margin-bottom: 0;

    .facetwp-checkbox {
        cursor: pointer;
        background: 0 0 !important;
        padding: 0 !important;
        margin-bottom: 0 !important;
        display: flex;
    }

    span.facetwp-display-value {
        border: 1px solid transparent;
        border-radius: var(--border-radius-full);
        padding: .5rem 1rem;
    }

    span.facetwp-display-value,
    .facet-filter .et_pb_blurb_description {
        color: var(--text-heading);
        font-weight: 400;
    }

    span.facetwp-counter {
        display: none !important;
    }

    .facetwp-checkbox .facetwp-display-value {
        border: 1px solid var(--text-heading);
        border-radius: var(--border-radius-full);
    }

    .facetwp-checkbox.checked .facetwp-display-value {
        text-decoration: none;
        border: 1px solid var(--action-primary-hover);
        transition: all .3s ease 0ms;
        border-radius: var(--border-radius-full);
        background: var(--action-primary-hover);
        color: var(--text-inverse);
    }

}

.facet-filter .et_pb_text_inner {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 10px;
    align-items: baseline;
    padding-bottom: 0px;
}


@media (max-width: 980px) {
        .facet-filter .et_pb_text_inner {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
        align-items: center;
        text-align: center;
    }

    #page-container #et-boc #main-content .work-force-development-hero
 {
        background-position: 0% 0% !important;
    }

    #page-container #et-boc #main-content .success-stories-hero {
    background-position: 50% 70% !important;
    background-size: auto;
}

#page-container #et-boc #main-content .program-cards-container {
    gap: unset;
}

#page-container #et-boc #main-content h3.program-title {
    font-size: 22px;
}
    
}





.facetwp-facet-programs_reset {
    display: contents;
}

#page-container .what-we-do-hero {
    background-position: center 30% !important;
}

#page-container .what-we-do-hero.advocacy {
    background-position: center 40% !important;
}

.facetwp-facet-programs_reset a.facetwp-reset {
    border: 1px solid var(--text-heading);
    border-radius: var(--border-radius-full);
    padding: .5rem 1rem;
    text-decoration: none;
    color: var(--text-inverse);
    background: var(--text-heading);
}

.facetwp-facet.facetwp-facet-programs.facetwp-type-checkboxes .facetwp-checkbox .facetwp-display-value:hover,
.facetwp-facet-programs_reset a.facetwp-reset:hover {
    text-decoration: underline;
}

/*programs*/
#page-container .services-offered a {
    color: var(--text-default) !important;
}

.contact-us-sidebar a {
    color: var(--text-default);
    text-decoration-color: var(--action-primary-hover) !important;
}

.back-text-btn a {
    color: var(--text-default) !important;
}

.back-text-btn.red a {
    color: var(--action-primary-hover) !important;
}

.program-cta .et_pb_blurb_content {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.program-cta a.et_pb_button {
    padding: .5em 2.5em .5em 1.5em !important;
}




/* Our Impact */
.success-story-column {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    height: 100% !important;
}

@media only screen and (max-width: 980px) {
    .success-story-column {
        grid-template-columns: 1fr;
    }

    #page-container #main-content .program-cta {
    padding-bottom: 2rem !important;
}


#page-container #main-content .program .et_pb_section {
    padding-bottom: 0;
    padding-top: 2rem;
}

}

.success-story-column img {
    height: 100% !important;
    max-height: 459px !important;
    min-height: 242px;
}



/* --- Grid Layout --- */
.facet-grid-container {
    display: grid;
    /* Creates columns that fit automatically. Approx 4 columns on desktop */
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 24px;
    margin: 30px 0 0 0;
}

/* --- Card Styles --- */
.facet-card {
    background-color: var(--background-primary);
    /* Light grey background match */
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border-radius: var(--border-radius-200);
    position: relative;
    transition: transform 0.2s ease, background-color 0.2s ease;
    border: 1px solid #383838;
}

.facet-card-overlay-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    /* Sits on top of image and text */
    cursor: pointer;
}

.facet-card:hover {
    transform: translateY(-.25rem);
    background-color: var(--background-tertiary);
}

/* --- Image Styles --- */
.facet-card-image {
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.facet-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block;
    border-radius: var(--border-radius-100) var(--border-radius-100) 0 0;
    aspect-ratio: 16 / 10;
}

/* --- Content Styles --- */
.facet-card-content {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

/* Name (Title) */
.facet-title {
    margin: 0 0 5px 0;
    color: var(--text-default) !important;
    font-size: var(--font-size-300) !important;
    font-style: normal;
    font-weight: 500 !important;
    line-height: 125%;
}

.facet-title a {
    color: var(--text-heading);
    text-decoration: none;
}

/* Program (ACF Field) */
.facet-program {
    color: var(--text-default);
    font-size: var(--font-size-100) !important;
    font-style: normal;
    font-weight: 400 !important;
    line-height: 125%;
}

/* Read Link */
.facet-read-more {
    color: var(--text-default);
    font-size: var(--font-size-200) !important;
    font-style: normal;
    font-weight: 700 !important;
    line-height: normal;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: 10%;
    text-underline-offset: auto;
    text-underline-position: from-font;
    text-transform: capitalize;
    padding-bottom: 0;
}

.facet-read-more svg {
    margin-left: 4px;
}

.facet-read-more:hover {
    text-decoration: none;
}

.success-item p {
    font-size: 22px !important;
}

.success-stories-impact {
    position: relative;
}

/* Ensure the overlay is always on top and covers the full viewport */
.mbac-modal-overlay {
    position: fixed !important;
    z-index: 99999 !important;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    overflow-y: auto;
    /* Allows scrolling inside the modal if screen is short */
    background-color: rgba(0, 0, 0, 0.6);
    display: flex;
    /* Flex is set by JS, but good to have here */
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
}


.et_pb_blurb span.et-pb-icon {
    display: none ! IMPORTANT;
}


@media (max-width: 980px) {
    .mbac-modal-overlay {
        padding-top: 12vh;
    }
}

.mbac-modal-container {
    background-color: var(--background-primary);
    width: 100%;
    max-width: 690px;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    position: relative;
    /* Reset text align in case parent grid is centered */
    text-align: left;
    margin: auto;
    animation: fadeIn 0.3s;
}

/* Red Header styling */
.mbac-modal-header {
    background-color: var(--action-primary);
    color: var(--text-inverse);
    padding-bottom: 10px;
    padding-left: 210px;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    min-height: 80px;
    display: flex;
    align-items: flex-end;
    position: relative;
}

.mbac-modal-header h2 {
    margin: 0;
    font-weight: 700;
    color: var(--text-inverse);
    font-size: var(--font-size-500);
}

/* Close button styling */
.mbac-modal-close {
    position: absolute;
    top: 10px;
    right: 15px;
    color: var(--text-inverse);
    font-size: 1.5rem;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 100;
    line-height: 1;
}

/* Body Layout */
.mbac-modal-body {
    display: flex;
    padding: 30px;
    padding-top: 10px;
    gap: 30px;
}

.mbac-col-left {
    flex: 0 0 150px;
}

.mbac-col-right {
    flex: 1;
    font-size: 15px;
    line-height: 1.6;
    color: var(--text-muted);
}

/* Image Overlap Logic */
.mbac-modal-image img {
    width: 150px;
    height: 150px;
    border-radius: 10px;
    margin-top: -50px;
    display: block;
    z-index: 1;
    position: relative;
}

.mbac-name {
    margin-top: 15px;
    font-size: 18px;
    font-weight: bold;
    color: var(--text-heading);
}

.mbac-position {
    font-size: 14px;
    color: var(--text-muted);
    margin-top: 5px;
}

/* Mobile Adjustments */
@media (max-width: 980px) {
    .mbac-modal-body {
        flex-direction: column;
    }

    .mbac-modal-header {
        padding-left: 1rem;
        padding-right: 1rem;
        padding-top: 3rem;
        justify-content: center;
        text-align: center;
    }

    .mbac-col-left {
        text-align: center;
    }

    .mbac-modal-image img {
        margin: -60px auto 20px auto;
    }

    .mbac-modal-header h2 {
        padding-bottom: 4rem;
    }

}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


p:has(+ .mbac-modal-header) {
    padding: 0;
}

.mbac-col-right p,
.mbac-col-left p {
    color: var(--text-default);
    font-size: var(--font-size-200);
    font-weight: 400 !important;
    line-height: 150%;
}

.mbac-modal-close i {
    pointer-events: none;
}


.get-involved-cta h2 {
    font-size: 28px !important;
}

/* Figma (node 5241:4137): card icons are 80×80px. Override Divi's max-width: 45%
   on .et_pb_image_wrap, which otherwise squashes SVGs when height is constrained. */
.get-involved-cta .et_pb_main_blurb_image .et_pb_image_wrap {
    max-width: none !important;
    width: 80px !important;
    height: 80px !important;
}

.get-involved-cta .et_pb_main_blurb_image .et_pb_image_wrap img {
    width: 80px !important;
    height: 80px !important;
    max-width: none !important;
}

/* Section backgrounds are set on .et_pb_section; keep #main-content transparent
   so the pre-footer CTA overlap reveals the footer surface underneath.
   Page surface color (#fcfcfc) is set on html/body in core.css; Divi's global
   color token handles default section backgrounds without clobbering transparent
   hero/overlap sections. */
div#main-content {
    background: transparent !important;
}

div#input_3_27 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: var(--gf-form-gap-x);
}

#page-container .gform_wrapper textarea.textarea {
    background: rgba(255, 255, 255, 0.5);
}

.gform-theme--foundation #field_submit,
.gform-theme--foundation .gform_footer,
.gform-theme--foundation .gform_page_footer {
    display: block !important;
}

.gform-footer.gform_footer.top_label {
    max-height: 4rem;
}

body #page-container .gform_button,
body #page-container .gform_previous_button,
body #page-container .gform_next_button {
    border-radius: var(--border-radius-full);
    border-color: var(--action-primary);
    color: var(--action-primary-text);
    background-color: var(--action-primary);
    text-align: center;
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1 !important;
    transition: ease all .3s;
    padding: 1em 2em;
    font-family: var(--font-family-sans) !important;
}

input.et_pb_s {
    font-family: var(--font-family-sans) !important;
}

body #page-container .gform_button:hover,
body #page-container .gform_previous_button:hover,
body #page-container .gform_next_button:hover {
    background-color: var(--action-primary-hover);
    border-color: var(--action-primary-hover);
    text-decoration: underline;
}

/*Events and Workshops Detail Pages*/

.sponsorship-body {
    margin-bottom: 20px;
}

.sponsorship-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: center;
}

.sponsor-item img {
    max-width: 100%;
    height: auto;
    display: block;
}

@media (max-width: 600px) {
    .sponsorship-grid {
        grid-template-columns: 1fr;
    }
}

.event-hero-text p {
    padding-bottom: 0;
}

.main-event-body-text strong {
    color: var(--text-default);
    font-size: var(--font-size-300);
    font-style: normal;
    font-weight: 500;
    line-height: 125%;
}

.share-group .et_pb_row {
    align-items: flex-end;
}

.share-group .et_pb_row .et_pb_column {
    gap: 1rem;
}

.share-group {
    padding-top: 1rem;
}

.share-event p {
    color: var(--action-primary);
    font-size: var(--font-size-300) !important;
    font-style: normal;
    font-weight: 500 !important;
}

#page-container #et-boc .et-l a.icon {
    background-color: var(--action-primary) !important;
}

#page-container #et-boc .et-l a.icon:hover {
    background-color: var(--action-primary-hover) !important;
    border-color: var(--action-primary-hover) !important;
}

/* Event * Workshop Page*/
.event-card {
    position: relative;
    background: var(--background-secondary);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    display: flex;
    flex-direction: column;
    padding: 1.20rem;
}

.event-card h3.event-title {
    margin-bottom: 0;
}


.event-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
    cursor: pointer;
}


.read-more-btn {
    color: var(--action-primary-hover);
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    text-decoration: underline;
}

.event-card:hover .read-more-btn {
    color: var(--red-400);
}


.stretched-link::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}


.events-grid-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin: 20px 0;
}

.event-card-image {
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background-color: var(--background-tertiary);
}

.event-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.event-card-content {
    padding-top: .75rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.event-title {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 10px 0;
    line-height: 1.3;
    color: var(--text-heading);
}

.event-date {
    color: var(--text-muted);
}

.event-footer {
    margin-top: auto;
    text-align: right;
}

@media (max-width: 1024px) {
    .events-grid-container {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .events-grid-container {
        grid-template-columns: 1fr;
    }
}

a.fsm-txt-btn.red.stretched-link {
    margin-right: 12px;
}

.workshop-rows-container {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.workshop-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    position: relative;
    transition: transform 0.2s ease;
}


.workshop-row-image {
    flex: 0 0 50%;
    max-width: 50%;
}

.workshop-row-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 12px;
    border: 5px solid var(--text-inverse);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    transition: border-color 0.3s ease;
}

.workshop-row-content {
    flex: 1;
}

.workshop-title {
    font-size: 24px;
    font-weight: 800;
    margin-bottom: 15px;
    color: var(--text-heading);
    line-height: 1.2;
}

.workshop-desc {
    font-size: 16px;
    line-height: 1.5;
    color: var(--text-default);
    margin-bottom: 20px;
}

.workshop-link {
    color: var(--action-primary-hover);
    font-weight: 700;
    font-size: 16px;
    text-decoration: underline;
    text-underline-offset: 4px;
}

@media (max-width: 768px) {
    .workshop-row {
        flex-direction: column;
        gap: 20px;
    }

    .workshop-row-image {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .workshop-rows-container {
        padding: 20px;
    }

}

@media (min-width: 981px) {
    .workshop-row-content {
        padding-left: 40px;
    }
}

.workshop-event:after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: 0;
    left: 0px;
    background: url(/wp-content/uploads/workshops-after-final.png) left / contain no-repeat;
}

@media (max-width: 980px) {
    .workshop-event:after {
        background: url(/wp-content/uploads/workshops-after-final.png) left / cover no-repeat;
    }
}


/* About Page */

.about-grid img {
    width: 50px !important;
}

.about-grid .flex {
    gap: 30px !important;
}


/* Basic Reset and Container Styling (No Change) */
.timeline-container {

    margin: 50px auto;
    font-family: Arial, sans-serif;

}

/* Timeline List Reset - FIX: Remove list bullets and ensure no extra padding/margin */
.timeline {
    list-style: none;
    /* FIX 1: Removes the list item bullets */
    padding: 0;
    margin: 0;
    position: relative;
}

/* Styling for each event item - FIX: Adjusted padding for better line fit */
.timeline-event {
    margin-bottom: 30px;
    position: relative;
    width: 50%;
}

/* Alternate positioning for the events - FIX: Use a lighter padding value if the line seems to go too far */
.timeline-event:nth-child(odd) {
    clear: both;
    float: left;
    padding-right: 40px;
    text-align: left;
}

.timeline-event:nth-child(even) {
    clear: both;
    float: right;
    padding-left: 40px;
    text-align: left;
}

/* Clear the floats after the timeline (No Change) */
.timeline::after {
    content: '';
    display: table;
    clear: both;
}

/* Circle Marker on the Line - FIX: Ensure correct color and proper positioning */
.timeline-event::before {
    content: '';
    position: absolute;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background-color: var(--action-primary);
    top: 50%;
    z-index: 2;
}

/* Position the circle for odd items (left side) (No Change) */
.timeline-event:nth-child(odd)::before {
    right: -8px;
}

/* Position the circle for even items (right side) (No Change) */
.timeline-event:nth-child(even)::before {
    left: -7px;
}

/* Event Content Box Styling (No Change) */
.timeline-content {
    background-color: var(--background-primary);
    border: 1px solid var(--border-interactive);
    border-radius: .5rem;
    padding: 1.25rem;
    position: relative;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* Styling the Year/Heading (No Change) */
.timeline-year {
    font-weight: bold;
    color: var(--text-muted);
    margin-top: 0;
    margin-bottom: 5px;
}

ul.timeline {
    list-style-type: none;
}


.core-values {
    position: relative;
}

.core-values:after {
    content: "" !important;
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    bottom: 0 !important;
    right: 0 !important;
    background: url(/wp-content/uploads/about-psuedo.svg) right / contain no-repeat !important;
}

.timeline-container:before {
    content: '';
    position: absolute;
    top: 0px;
    bottom: 0;
    left: 50%;
    width: 0.125rem;
    background-color: var(--background-inverse);
    height: 93%;
    margin-top: 6rem;
}

.timeline-container.program:before {
    height: 84% !important;
}

.timeline {
    gap: 0;
}

ul.timeline {
    list-style-type: none;
    padding: 0 0 0 0;
}

@media (max-width: 980px) {

    .timeline-container:before {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: 0.125rem;
        background-color: var(--background-inverse);
        height: 93%;
        margin-top: 6rem;
    }

    .timeline-container.program:before {
        height: 82% !important;
        margin-top: 7rem;
    }


    .timeline-event:nth-child(odd)::before {
        left: -7px;
    }

    .timeline-event:nth-child(even)::before {
        left: -7px;
    }

    .timeline-event:nth-child(even),
    .timeline-event:nth-child(odd) {
        clear: both;
        float: left;
        padding-right: 0px;
        text-align: left;
        padding-left: 20px;
    }

    .timeline-event {
        margin-bottom: 30px;
        position: relative;
        width: 100%;
    }

}


/* Meet the team */
.team .facet-card-image {
    aspect-ratio: 1 / 1;
}

.team .facet-card-image img {
    object-position: center top;
    aspect-ratio: 1 / 1;
}

a.facet-card-link.open-modal-btn {
    display: block;
    height: 100%;
    width: 100%;
    min-height: 100%;
}

.facet-card-content p.mbac-position {
    color: var(--text-default);
    font-size: var(--font-size-100) !important;
    font-style: normal;
    font-weight: 400 !important;
    line-height: 125%;
}

.white,
.back-text-btn.white a,
.back-text-btn.white .fa-chevron-left:before {
    color: var(--text-inverse) !important;
}


/*Ways to Give Page */
.ways-to-give ol li {
    padding-left: 1rem;
}

.ways-to-give ol li::marker {
    font-weight: 700;
    ;
}

.ways-to-give-after ul {
    margin-left: 1rem;
}

/* Volunteer Page */
.volunteer-application {

    #gform_fields_4 {
        row-gap: 1rem;
    }

    .gform-grid-row {
        row-gap: 1 ;
    }

    .gform_fields {
        gap: 1rem !important;
    }



    #field_4_32 {
        /* label {
            margin-top: 0;
            line-height: .5em !important;
        } */

        legend.gfield_label.gform-field-label.gfield_label_before_complex {
            margin-bottom: 0;
        }
    }

}

div#input_4_33 {
    display: flex;
    flex-direction: row;
    gap: 2rem;
}

div#input_4_39 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}

div#input_4_43 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    row-gap: 1rem;
}

div#gform_fields_4_2 {
    gap: 1rem;
}

div#gform_fields_4_3 {
    gap: 1rem;
}

div#gform_fields_4_4 {
    gap: 1rem;
}

.gform-theme--framework input[type=checkbox]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *))::before {
    color: var(--action-primary) !important;
}


.gform-theme--framework input[type=radio]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *))::before {
    background-color: var(--action-primary) !important;
}

/* AUL Guild */
.guild-item p {
    font-size: var(--font-size-300);
    line-height: 125%;
}


/* Contact Us */
@media only screen and (max-width: 980px) {
    .flex-reverse-mobile {
        .et_pb_row_13.et_pb_row.et_flex_row.preset--module--divi-row--default {
            flex-direction: column-reverse;
        }
    }
}



/* Blog */
.blog #news {
    padding-bottom: 2rem;
}

#page-container #news .grid {
    display: grid;
}

.nav-next {
    float: right;
    width: fit-content;
}

.blog #main-content h2.entry-title a {
    text-decoration: none;
}

.blog #main-content h2.entry-title a:hover {
    text-decoration: underline;
}

.blog article {
    border-radius: 8px;
    border: 1px solid var(--border-strong);
    /* background: var(--color-background-primary); */
}

a.entry-featured-image-url {
    display: block !important;
    height: 100%;
}

.post-content a.more-link {
    color: var(--action-primary-hover) !important;
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: 10%;
    text-underline-offset: auto;
    text-underline-position: from-font;
    border-radius: 0;
    border: none;
    background: none;
    text-align: left;
}

.post-content a.more-link:after {
    font-size: 1rem !important;
    line-height: 1.5;
    content: "\f054" !important;
    opacity: 1;
    position: absolute;
    margin-left: -1em;
    transition: all .2s;
    text-transform: none;
    font-feature-settings: "kern" off;
    font-variant: none;
    font-style: normal;
    font-weight: 400;
    text-shadow: none;
    margin-left: .25rem;
    font-family: "Font Awesome 7 Pro" !important;
}

#page-container #main-content .post-content a.more-link:hover::after {
    margin-left: .5rem !important;
}

.blog article .post-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.blog article {
    padding: 20px 19px 30px 19px !important;

}

.nav-previous a,
.nav-next a {
    color: var(--text-heading);
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none !important;
}

.single-post h1 {
    max-width: 22ch;
}

.event-hero-text a {
    pointer-events: none;
    cursor: default;
    text-decoration: none !important;
    color: var(--text-default);
    font-size: var(--font-size-200);
    font-weight: 400;
    line-height: 150%;
    /* 1.5rem */
}

@media only screen and (max-width: 980px) {
    .et_pb_blog_0_tb_body .et_pb_posts {
        --column-count: 1 !important;
        grid-template-columns: repeat(var(--column-count), 1fr);
        grid-template-rows: none;
        grid-auto-rows: auto;
        grid-auto-flow: row;
    }
}


.et_pb_search input.et_pb_searchsubmit {
    min-height: 100% !important;
    background-color: var(--gray-600) !important;
    cursor: pointer;
    opacity: 0.9;
    background-image: url(/wp-content/uploads/search.svg) !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 20px 20px !important;
    border: none !important;
}

.et_pb_search input.et_pb_searchsubmit:hover {
    opacity: 1;
}

input.et_pb_s:focus-visible {
    outline: 3px solid var(--focus-outline-color);
    box-shadow: 0 0 0 2px var(--text-inverse);
    outline-offset: 2px;
    position: relative;
    z-index: 1;
    background-color: var(--background-primary);
    color: var(--text-heading);
}

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

    html {
        scroll-padding-top: var(--header-mobile-offset);
    }

    html.aul-header-is-sticky {
        scroll-padding-top: var(--header-sticky-height);
    }

    /* Hide secondary navigation (top header) */
    #top-header,
    #page-container #et-boc .et-l #top-header {
        display: none !important;
    }

    #page-container #main-header {
        background: transparent !important;
        min-height: 0;
        padding: 0 !important;
    }

    header.et-l--header:not(.aul-header-is-sticky) {
        background: transparent;
    }

    #main-header .logo_container,
    #main-header .logo_container.et_pb_column,
    #main-header #logo {
        max-width: var(--header-mobile-logo-max-width);
    }

    #main-header #logo img {
        max-width: var(--header-mobile-logo-max-width);
        max-height: var(--header-mobile-logo-height);
        width: auto;
        height: auto;
        aspect-ratio: 151 / 98;
        object-fit: contain;
    }

    #main-header .et_menu_container.et_pb_row {
        min-height: 0;
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
    }

    .aul-header-is-sticky #main-header #logo,
    .aul-header-is-sticky #main-header #logo img {
        max-width: var(--header-mobile-sticky-logo-max-width);
        max-height: var(--header-mobile-sticky-logo-height);
        height: var(--header-mobile-sticky-logo-height);
    }

    /* Pull first hero section under the transparent mobile header row */
    #main-content .et_pb_section:first-of-type {
        margin-top: calc(-1 * var(--header-mobile-offset)) !important;
        padding-top: calc(var(--header-mobile-offset) + 1.25rem) !important;
    }

    /* Light hamburger over dark hero; dark bars on sticky white bar */
    #page-container #main-header .mega-toggle-animated-inner,
    #page-container #main-header .mega-toggle-animated-inner::before,
    #page-container #main-header .mega-toggle-animated-inner::after {
        background-color: #fff !important;
    }

    html.aul-header-is-sticky #page-container #main-header .mega-toggle-animated-inner,
    html.aul-header-is-sticky #page-container #main-header .mega-toggle-animated-inner::before,
    html.aul-header-is-sticky #page-container #main-header .mega-toggle-animated-inner::after {
        background-color: var(--text-default) !important;
    }

    html.aul-header-is-sticky #mega-menu-wrap-primary-menu .mega-menu-toggle {
        border-color: var(--text-default);
    }

    #page-container #et-boc li.mobile-menu-item {
        font-size: 1.25rem;
        font-weight: 500;
        letter-spacing: 0.025rem;
        font-weight: 500;
        line-height: 3em;
        padding-top: 0;
        padding-bottom: 0;
}

    a.mega-menu-link,
    .mega-current-menu-item a.mega-menu-link,
    #page-container #et-boc li.mobile-menu-item,
    #page-container #et-boc li.mobile-menu-item a:hover {
        text-decoration: none !important;
    }

    #mega-menu-wrap-primary-menu #mega-menu-primary-menu>li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link,
    li.mobile-menu-item {
        color: var(--text-inverse) !important;
    }

    #mega-menu-wrap-primary-menu #mega-menu-primary-menu>li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link,
    li.mobile-menu-item {
        background: var(--background-inverse) !important;
    }

    .et_pb_row_1_tb_footer.et_pb_row.et_flex_row {
        padding-bottom: 0;
    }

    .page-id-160 div#main-footer {
        padding-top: 2rem !important;
    }

    .et_flex_row.preset--module--divi-row--default {
        gap: 1rem;
    }

}

.entry {
    border: 1px solid var(--border-default);
    padding: 19px;
    background-color: var(--background-primary);
    word-wrap: break-word;
    margin-bottom: 0;
}

h1.not-found-title {
    font-size: 20px !important;
}

.entry p,
h1.not-found-title {
    text-align: center;
}

.blog #page-container h2.entry-title {
    font-size: var(--font-size-500);
}

.blog #page-container h2.entry-title a {
    color: var(--text-heading) !important;
}

/* FAQ Accordion Styling */
.faq-accordion-section .et_pb_accordion {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    /* 16px gap between accordion items */
}

.faq-accordion-section .et_pb_toggle {
    background-color: var(--background-secondary);
    border: 1px solid var(--border-default);
    border-radius: var(--border-radius-200);
    /* 8px */
    padding: 1rem;
    /* 16px */
    transition: background-color 0.2s ease;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    /* 8px gap between title and content when open */
}

.faq-accordion-section .et_pb_toggle.et_pb_toggle_open {
    background-color: var(--background-primary);
    /* white for open state */
}

/* Title styling - h3 but smaller text as requested */
.faq-accordion-section .et_pb_toggle_title {
    font-size: var(--font-size-300) !important;
    /* 22px */
    font-weight: var(--font-weight-bold) !important;
    /* 700 */
    line-height: 1.4;
    color: var(--text-default);
    margin: 0 !important;
    padding: 0 !important;
    padding-right: 1.5rem !important;
    /* Space for chevron icon */
    cursor: pointer;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: 1 0 0;
    min-width: 0;
}

/* Remove any default Divi accordion icon */
.faq-accordion-section .et_pb_toggle_title::before {
    display: none !important;
}

/* Chevron icon using Font Awesome */
.faq-accordion-section .et_pb_toggle_title::after {
    content: "\f078";
    /* chevron-down */
    font-family: "Font Awesome 7 Pro" !important;
    font-weight: 400;
    font-size: var(--font-size-200);
    /* 16px */
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    transition: transform 0.2s ease;
    color: var(--text-default);
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.faq-accordion-section .et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title::after {
    content: "\f077";
    /* chevron-up */
    transform: translateY(-50%);
}

/* Content styling */
.faq-accordion-section .et_pb_toggle_content {
    font-size: var(--font-size-200) !important;
    /* 16px */
    font-weight: var(--font-weight-regular) !important;
    /* 400 */
    line-height: 1.5;
    color: var(--text-default);
    margin: 0 !important;
    padding: 0 !important;
}

.faq-accordion-section .et_pb_toggle_content p {
    font-size: var(--font-size-200) !important;
    line-height: 1.5;
    margin-bottom: 0.5rem;
}

.faq-accordion-section .et_pb_toggle_content p:last-child {
    margin-bottom: 0;
}

.core-service-blurbs p {
    padding-bottom: 0;
}




/*mobile menu*/
#page-container #et-boc #mega-menu-wrap-primary-menu li#mobile-menu-item {
    text-align: left !important;
    
}

#page-container #et-boc #mega-menu-wrap-primary-menu li#mobile-menu-item a{
    color: var(--Primary-Color) !important;
    text-decoration: none !important;
    padding: 0 10px;
}

li.mobile-menu-item a:hover{
    color: var(--Primary-Color) !important;
    text-decoration: none !important;
}

#page-container #et-boc .mega-mobile-hide {
    display: none !important;
}

@media screen and (min-width: 980px) {
    li.mobile-menu-item{
        display: none;
    }



}

/* Service image Swiper slider */
.service-image-slider {
    width: 100%;
}

.service-image-slider__swiper {
    overflow: hidden;
    width: 100%;
}

.service-image-slider .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    height: auto;
}

.service-image-slider .swiper-slide .et_pb_image_wrap,
.service-image-slider .swiper-slide img {
    display: block;
    width: 100%;
    height: auto;
}

.service-image-slider__nav-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-top: 1rem;
}

.service-image-slider .service-image-slider__nav {
    --swiper-navigation-size: 1.25rem;
    --swiper-navigation-color: var(--text-inverse);
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    width: 2.75rem;
    height: 2.75rem;
    margin: 0;
    transform: none;
    border: 0;
    border-radius: var(--border-radius-full);
    background-color: var(--action-primary);
    box-shadow: 0 2px 8px rgb(0 0 0 / 15%);
    transition: background-color 0.2s ease, opacity 0.2s ease;
}

.service-image-slider .service-image-slider__nav::after {
    font-size: var(--swiper-navigation-size);
    font-weight: 700;
}

.service-image-slider .service-image-slider__nav:hover,
.service-image-slider .service-image-slider__nav:focus-visible {
    background-color: var(--action-primary-hover);
    outline: 2px solid var(--focus-outline-color);
    outline-offset: 2px;
}

.service-image-slider .service-image-slider__nav.swiper-button-disabled {
    opacity: 0.35;
    pointer-events: none;
}

@media only screen and (max-width: 767px) {
    .service-image-slider .service-image-slider__nav {
        width: 2.25rem;
        height: 2.25rem;
    }

    .service-image-slider__nav-bar {
        margin-top: 0.75rem;
    }
}


#main-content .et_pb_post_content .et_pb_section_0.et_pb_section.et_section_regular.et_block_section {
    margin-top: 0 !IMPORTANT;
    padding-top: 0 !IMPORTANT;
    background: transparent;
 }

/* aul_news_grid shortcode: enforce 3-column desktop layout */
@media screen and (min-width: 981px) {
    .aul-news-grid-shortcode .et_pb_blog_posts.et_grid_module {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 2rem;
    }

    .aul-news-grid-shortcode .et_pb_blog_posts.et_grid_module .et_pb_post {
        width: 100%;
        margin: 0;
        float: none;
    }
}