/*
Custom CSS for colemanservices.org
Version: 1.0
Description: Used to establish the look and feel for colemanservices.org 2026 redesign
Author: Full Spectrum Marketing
Author URL: http://www.fsm.agency
*/

/* ============================================
   CSS VARIABLES
   ============================================ */

:root {
    /* Typography - Font Families */
    --font-family-heading: proxima-nova, sans-serif;
    --font-family-body: proxima-nova, sans-serif;
    --et_global_heading_font: proxima-nova, sans-serif !important;
    --et_global_body_font: proxima-nova, sans-serif !important;
    --gf-font-family-base: 'proxima-nova' !important;

    /* Typography - Font Weights */
    --font-weight-regular-400: 400;
    --font-weight-bold-700: 700;
    --font-weight-extrabold-800: 800;
    --font-weight-black-900: 900;

    /* Typography - Font Sizes */
    --Heading-Extra-Large: clamp(2.5rem, -0.4769rem + 7.9077vw, 7.8rem);
    --Heading-1-Size: clamp(1.825rem, round(1.432rem + 3.857cqi, 0.5em), 5.1rem);
    --Heading-2-Size: clamp(2rem, round(1.286rem + 2.286cqi, 0.5em), 3rem);
    --Heading-3-Size: clamp(1.5rem, round(1.143rem + 1.143cqi, 0.5em), 1.5rem);
    --Heading-4-Size: clamp(1.5rem, round(0.964rem + 1.714cqi, 0.5rem), 1.5rem);
    --Heading-5-Size: clamp(1.25rem, round(1.071rem + 0.571cqi, 0.5rem), 1.5rem);
    --Body-Size: clamp(1rem, round(0.786rem + 0.286cqi, 0.6rem), 1.5rem);
    --Body-Size-sm: clamp(0.875rem, round(0.786rem + 0.286cqi, 0.6rem), 1rem);

    /* Colors - Brand Palette */
    --Primary-Color: #3155a4;
    --Color-Chartreuse: #d4e458;
    --Color-Green: #a6b340;
    --Color-Warm-Red: #ff665e;
    --Color-Accessible-Red: #B30900;
    --Color-Orange: #ff9f37;
    --Color-Purple: #6857b2;
    --Color-Dark-Gray: #2a2a2a;
    --Color-Light-Purple: #ebeaf5;
    --Color-Light-Blue: #e4eaf5;
    --Color-Cream: #fbf7f3;

    /* Colors - Default/Neutral */
    --Default-Black: #2A2A2A;
    --Neutral-White: #fff;
    --Neutral-Gray: #fbfcfd;
    --Light-Gray: #eaeaea;
    --Neutral-Dark: #59595a;

    /* Global Styling */
    --border-radius-20: 20px;
    --border-radius-30: 30px;
    --box-shadow-200: 5px 5px 5px 0px rgba(49, 85, 164, 0.40);
}

/* ============================================
   GLOBAL BASE STYLES
   ============================================ */

#page-container {
    overflow: hidden;
}

.et_pb_section {
    background-color: var(--Neutral-Gray);
}

sup {
    bottom: .5em;
    font-size: .7em;
}

p:not(.has-background):last-of-type {
    padding-bottom: 1em;
}


/* Or use :focus-visible for a better user experience */
/* :focus-visible {
    outline: 2px solid var(--Color-Warm-Red) !important;
    outline-offset: 2px;
} */

/* For buttons */
:focus-visible,
button:focus-visible,
.et_pb_button:focus-visible,
li.fsm-post-item a:focus-visible {
    outline: 2px solid var(--Color-Warm-Red) !important;
    /* outline-offset: 2px; */
    border-radius: var(--border-radius-20) !important;
    box-shadow: 4px 7px 5px 0px rgba(0, 0, 0, 0.45) !important;
}



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

body:not(.et-vb-root-ancestor) #page-container {
    h1 {
        font-size: var(--Heading-1-Size);
        font-family: var(--font-family-heading);
        font-weight: var(--font-weight-black-900);
        text-transform: uppercase;
    }

    h2 {
        font-size: var(--Heading-2-Size);
        font-family: var(--font-family-heading);
        font-weight: var(--font-weight-extrabold-800);
        letter-spacing: -2.5px;
    }

    h3 {
        font-size: var(--Heading-3-Size);
        font-family: var(--font-family-heading);
        font-weight: var(--font-weight-extrabold-800);
    }

    h4 {
        font-size: var(--Heading-4-Size);
        font-family: var(--font-family-heading);
        font-weight: var(--font-weight-extrabold-800);
        letter-spacing: -.5px;
    }

    h5 {
        font-size: var(--Heading-5-Size);
        font-family: var(--font-family-heading);
    }

    h6 {
        font-size: var(--Heading-6-Size);
        font-family: var(--font-family-heading);
    }
}

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

    p,
    li {
        font-size: var(--Body-Size);
        font-family: var(--font-family-body);
    }

    li {
        line-height: 1.5em;
        margin-bottom: .5em;
    }

    .et_pb_text_inner a {
        text-decoration: underline !important;
    }

    /*This is the global link style for the site. '.site-content' is the global wrapper for the site. This avoids the admin bar links from being styled. */
    .site-content a:not(.et_pb_button, .et_pb_video_play, #available-positions a) {
        color: var(--Default-Black);
        text-decoration: underline !important;
        font-weight: var(--font-weight-regular-400);
    }
}

/* Typography - Size Modifiers */
.small .et_pb_text_inner p,
p.small,
.small div.et_pb_blurb_description p,
.event-detail .et_pb_text_inner p,
.event-detail div.et_pb_blurb_description p {
    font-size: var(--Body-Size-sm) !important;
}

.event-detail h2 {
    font-size: var(--Body-Size) !important;
    font-weight: var(--font-weight-regular-400) !important;
    letter-spacing: -1px !important;
    color: var(--Color-Purple);
}

/*'Coleman Helps People Thrive.' tagline styles */
.large .et_pb_text_inner p {
    font-size: clamp(2.75rem, round(1.432rem + 3.857cqi, 0.5em), 5rem);
    font-weight: var(--font-weight-black-900);
    line-height: 1em;
    padding-bottom: 0 !important;
}

/*'Make a visible difference today.' tagline styles */
.difference-solid .et_pb_text_inner h2 {
    font-size: var(--Heading-Extra-Large);
    font-weight: var(--font-weight-black-900);
    line-height: 1em;
    padding-bottom: 0 !important;
}

.difference-outline .et_pb_text_inner p {
    font-size: var(--Heading-Extra-Large);
    font-weight: var(--font-weight-black-900);
    color: transparent;
    -webkit-text-stroke: 1px var(--Color-Chartreuse);
    line-height: 1em;
    padding-bottom: 0 !important;
}

/*PSEUDO HEADER TREATMENTS  - for smaller headings and text that needs to be larger*/
.success-story-quote .et_pb_text_inner p {
    font-size: var(--Heading-3-Size);
    font-weight: var(--font-weight-extrabold-800);
    line-height: 1.2em;
}

/* Typography - Pseudo Header Treatments */
.h2-size h1 {
    font-size: var(--Heading-2-Size) !important;
    text-transform: capitalize;
}

.h1-size h2 {
    font-size: var(--Heading-1-Size) !important;
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-black-900);
    text-transform: uppercase;
}

.h2-size h3 {
    font-size: var(--Heading-2-Size) !important;
}

.h3-size h2 {
    font-size: var(--Heading-3-Size) !important;
    letter-spacing: 0px !important;
}

/* Typography - Blog Post Template */
body:not(.et-vb-root-ancestor).post-template-default {
    h1 {
        &.entry-title {
            font-size: clamp(1.75rem, round(1.125rem + 2cqi, 0.5em), 2.625rem) !important;
            text-transform: capitalize !important;
        }
    }

    h2 {
        font-size: clamp(1.5rem, round(0.875rem + 2cqi, 0.5em), 2.375rem) !important;
    }

    h3 {
        font-size: clamp(1.25rem, round(0.75rem + 2cqi, 0.5em), 2.125rem) !important;
    }

    h4 {
        font-size: clamp(1.125rem, round(0.625rem + 2cqi, 0.5em), 1.875rem) !important;
    }

    h5 {
        font-size: clamp(1rem, round(0.5rem + 2cqi, 0.5em), 1.625rem) !important;
    }

    h6 {
        font-size: clamp(0.875rem, round(0.375rem + 2cqi, 0.5em), 1.375rem) !important;
    }
}

/* ============================================
   BUTTONS
   ============================================ */

#page-container #main-content .et_pb_button,
#page-container footer .et_pb_button {
    font-family: var(--font-family-body);
    font-weight: var(--font-weight-bold-700);
}

.btn-underline {
    transition: .3s ease;
    border-bottom: 2px solid transparent !important;
}

.btn-underline::after {
    right: -.7em !important;
    position: absolute !important;
    top: 1.2em !important;
}

.btn-underline:hover {
    text-decoration: underline;
    transition: .3s ease;
    border-bottom: 2px solid var(--Primary-Color) !important;
}

.btn-underline:hover:after {
    right: -1em !important;
}

/* .btn-underline:focus-visible {
    outline: 2px solid red !important;
} */


body #page-container .et_pb_section .preset--module--divi-button--0zua0zs2a0 {
    font-family: var(--font-family-body) !important;
}

@media only screen and (max-width:980px) {
    body #page-container .et_pb_section .preset--module--divi-button--0zua0zs2a0 {
        padding-left: .5em;
        padding-right: .5em;
        font-weight: var(--font-weight-bold-700);
    }

    .et_pb_button {
        line-height: 1.3em !important;
    }

    .btn-underline::after {
        top: 1em !important;
    }
}

body #page-container .et_pb_section .preset--module--divi-button--j9rydkwmao:hover {
    text-decoration: none !important;
}

.chartreuse-btn {
    background-color: var(--Color-Chartreuse);
    color: var(--Color-Dark-Gray);
    border-radius: var(--border-radius-20);
    border: none;
}

.chartreuse-btn:hover {
    background-color: var(--Color-Chartreuse) !important;
    border-radius: var(--border-radius-20);
    border: none !important;
}

/* ============================================
   FOCUS
   ============================================ */



/* Focusing the button with a mouse or touch shows a drop shadow. */
button:focus {
    box-shadow: 1px 1px 6px rgba(255, 0, 0, 0.5);
}

/* ============================================
   LINKS
   ============================================ */

#main-content a:not(.et_pb_button, .icon, img, .fsm-post-list a, .card, .exclude-style, h3.entry-title a, .et_pb_video_play::before a, a.service-card-link) {
    border-radius: 4px;
    padding: 2px;
    transition: ease all .2s;
    display: inline;
    overflow: hidden;
    text-decoration: underline !important;
}

#main-content a:not(.et_pb_button, .icon, img, .fsm-post-list a, .card, h3.entry-title a, a.service-card-link, #annual-reports a):hover {
    border-radius: 3px;
    background-color: rgba(21, 43, 55, .2);
    transition: ease all .2s;
    text-decoration: underline !important;
}

/* ============================================
   GRAVITY FORMS
   ============================================ */

/* Gravity Forms Orbital Theme - Adapted for Coleman Health Services
   Maps Gravity Forms CSS API variables to site's design system
   High specificity selectors ensure overrides of default Gravity Forms styles */
#page-container .gform-theme--foundation,
#page-container .gform-theme--orbital,
body #page-container .gform-theme--foundation,
body #page-container .gform-theme--orbital {
    /* Primary Colors - Using site's brand Primary Color */
    --gf-color-primary: var(--Primary-Color);
    --gf-color-primary-contrast: var(--Neutral-White);
    --gf-color-primary-darker: #254a8a;
    /* Darker shade of Primary Color #3155a4 */
    --gf-color-primary-lighter: #4d6fb8;
    /* Lighter shade of Primary Color */

    /* Secondary Colors - Using site's Purple accent color */
    --gf-color-secondary: var(--Color-Purple);
    --gf-color-secondary-contrast: var(--Neutral-White);
    --gf-color-secondary-darker: #4d3f8a;
    /* Darker shade of Purple */
    --gf-color-secondary-lighter: #7a6fc4;
    /* Lighter shade of Purple */

    /* Control Colors - Form input styling */
    --gf-control-bg-color: var(--Neutral-White);
    --gf-control-bg-color-focus: var(--Neutral-White);
    --gf-control-border-color: var(--Color-Green);
    --gf-control-border-color-focus: var(--Primary-Color);
    --gf-control-color: var(--Default-Black);
    --gf-control-color-focus: var(--Default-Black);
    --gf-control-color-placeholder: var(--Neutral-Dark);

    /* Framework Control Variables (gf-ctrl-* shorthand) */
    --gf-ctrl-bg-color: var(--gf-control-bg-color);
    --gf-ctrl-bg-color-focus: var(--gf-control-bg-color-focus);
    --gf-ctrl-border-color: var(--gf-control-border-color);
    --gf-ctrl-border-color-focus: var(--Primary-Color);
    --gf-ctrl-color: var(--gf-control-color);
    --gf-ctrl-color-focus: var(--gf-control-color-focus);

    /* Focus Outline Variables */
    --gf-ctrl-outline-color-focus: var(--Primary-Color);
    --gf-ctrl-outline-width-focus: 2px;

    /* Label Colors - Matching existing form label styles */
    --gf-label-color: var(--Default-Black);
    --gf-label-font-size: var(--Body-Size-sm);
    --gf-label-font-weight: var(--font-weight-bold-700);
    --gf-label-line-height: 1.5;

    /* Description Colors */
    --gf-description-color: var(--Neutral-Dark);
    --gf-description-font-size: var(--Body-Size-sm);
    --gf-description-line-height: 1.5;

    /* Button Colors - Matching existing button styles */
    --gf-button-primary-bg-color: var(--Primary-Color);
    --gf-button-primary-bg-color-hover: var(--Color-Chartreuse);
    --gf-button-primary-color: var(--Neutral-White);
    --gf-button-primary-color-hover: var(--Default-Black);

    /* Border & Radius - Using site's border radius values */
    --gf-control-border-radius: 30px;
    --gf-control-border-width: 1px;
    --gf-control-padding-x: 16px;
    --gf-control-padding-y: 12px;

    /* Spacing */
    --gf-field-margin-bottom: 24px;
    --gf-label-margin-bottom: 8px;
    --gf-description-margin-top: 4px;
    --gf-form-gap-x: 1rem;
    --gf-form-gap-y: 1.5rem;
    --gf-field-gap-x: 1rem;
    --gf-field-gap-y: 1rem;

    /* Typography - Using site's font variables */
    /* --gf-control-font-size: var(--Body-Size); */
    --gf-control-line-height: 1.5;
    --gf-control-font-family: var(--font-family-body);

    /* Error States - Using site's Warm Red */
    --gf-error-color: var(--Color-Accessible-Red);
    --gf-error-bg-color: #fff5f5;
    --gf-error-border-color: var(--Color-Accessible-Red);

    /* Success States - Using site's Green */
    --gf-success-color: var(--Color-Green);
    --gf-success-bg-color: #f0f9f4;
}

/* Gravity Forms Label Overrides - High specificity to override defaults */
#page-container .gform_wrapper label,
#page-container .gform_wrapper .gfield_label,
body #page-container .gform_wrapper label,
body #page-container .gform_wrapper .gfield_label {
    font-family: var(--font-family-body);
    font-size: var(--Body-Size-sm);
    color: var(--Default-Black);
}

label.gfield_label.gform-field-label,
.gfield--type-email,
legend.gfield_label.gform-field-label.gfield_label_before_complex,
legend.gfield_label.gform-field-label,
body #page-container label.gfield_label.gform-field-label,
body #page-container legend.gfield_label.gform-field-label {
    font-family: var(--font-family-body);
    font-size: var(--Body-Size);
    color: var(--Default-Black);
    font-weight: var(--font-weight-bold-700);
}

div.charleft.ginput_counter.gfield_description,
body #page-container div.charleft.ginput_counter.gfield_description {
    font-family: var(--font-family-body);
}

/* Gravity Forms Input & Control Overrides */
.gform-theme--foundation .gfield .textarea,
.gform-theme--foundation .gfield_select,
#page-container .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
body #page-container .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
body #page-container .gform_wrapper textarea,
body #page-container .gform_wrapper select {
    font-family: var(--font-family-body);
    font-size: var(--Body-Size);
}

/* Gravity Forms Confirmation Message Overrides */
.gform_confirmation_message,
body #page-container .gform_confirmation_message,
body .gform_confirmation_message {
    font-family: var(--font-family-body);
    color: var(--Primary-Color);
    /* font-size: var(--Body-Size); */
}

/* Gravity Forms Button Overrides - High specificity
   Keeping !important here as buttons often have strong defaults in Gravity Forms */
body #page-container .gform_button,
body #page-container .gform_wrapper .gform_button,
body #page-container .gform-theme--foundation .gform_button,
body #page-container .gform-theme--orbital .gform_button,
body #page-container .gform_wrapper input[type="submit"],
body #page-container .gform_wrapper button[type="submit"] {
    background-color: var(--Primary-Color);
    font-family: var(--font-family-body);
    font-weight: var(--font-weight-bold-700);
    border-radius: var(--border-radius-30);
    font-size: var(--Body-Size);
    transition: .3s ease;
    color: var(--Neutral-White);
    border: 2px solid var(--Primary-Color);
    padding: 12px 24px;
}

body #page-container .gform_button:hover,
body #page-container .gform_wrapper .gform_button:hover,
body #page-container .gform-theme--foundation .gform_button:hover,
body #page-container .gform-theme--orbital .gform_button:hover,
body #page-container .gform_wrapper input[type="submit"]:hover,
body #page-container .gform_wrapper button[type="submit"]:hover {
    background-color: var(--Color-Chartreuse);
    font-family: var(--font-family-body);
    font-weight: var(--font-weight-bold-700);
    border-radius: var(--border-radius-30);
    font-size: var(--Body-Size);
    color: var(--Default-Black);
    transition: .3s ease;
    border: 2px solid var(--Color-Chartreuse);
}

/*Forms on dark background -- supply alternate button colors for accessbility*/
body #page-container #coleman-can-help .gform_button,
body #page-container #coleman-can-help .gform_wrapper .gform_button,
body #page-container #coleman-can-help .gform-theme--foundation .gform_button,
body #page-container #coleman-can-help .gform-theme--orbital .gform_button,
body #page-container #coleman-can-help .gform_wrapper input[type="submit"],
body #page-container #coleman-can-help .gform_wrapper button[type="submit"] {
    background-color: var(--Color-Chartreuse);
    font-family: var(--font-family-body);
    font-weight: var(--font-weight-bold-700);
    border-radius: var(--border-radius-30);
    font-size: var(--Body-Size);
    transition: .3s ease;
    color: var(--Default-Black);
    border: 2px solid var(--Color-Chartreuse);
    padding: 12px 24px;
}

/*Forms on dark background -- alternate hover state*/
body #page-container #coleman-can-help .gform_button:hover,
body #page-container #coleman-can-help .gform_wrapper .gform_button:hover,
body #page-container #coleman-can-help .gform-theme--foundation .gform_button:hover,
body #page-container #coleman-can-help .gform-theme--orbital .gform_button:hover,
body #page-container #coleman-can-help .gform_wrapper input[type="submit"]:hover,
body #page-container #coleman-can-help .gform_wrapper button[type="submit"]:hover {
    background-color: var(--Color-Orange);
    font-family: var(--font-family-body);
    font-weight: var(--font-weight-bold-700);
    border-radius: var(--border-radius-30);
    font-size: var(--Body-Size);
    color: var(--Default-Black);
    transition: .3s ease;
    border: 2px solid var(--Color-Orange);
}


/* Gravity Forms Error Message Overrides */
h2.gform_submission_error.hide_summary,
h2.gform_submission_error,
body #page-container h2.gform_submission_error {
    font-size: 2em;
    letter-spacing: -1px;
    font-family: var(--font-family-body);
}

div.gfield_description.validation_message.gfield_validation_message,
body #page-container div.gfield_description.validation_message.gfield_validation_message {
    font-family: var(--font-family-body);
    color: var(--Color-Accessible-Red);
}

/* Gravity Forms Input Field Styling Overrides */
#page-container .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],
body #page-container .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
body #page-container .gform_wrapper textarea,
body #page-container .gform_wrapper textarea.textarea {
    border-radius: 30px;
    border: 1px solid var(--Color-Green);
    font-family: var(--font-family-body);
    font-size: var(--Body-Size);
    padding: 12px 16px;
}

/* Gravity Forms Select Dropdown Overrides */
.gform-theme--framework select:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):where(:not([multiple])),
body #page-container .gform_wrapper select,
body #page-container .gform-theme--foundation select,
body #page-container .gform-theme--orbital select,
body #page-container .gform_wrapper .gfield_select {
    border-radius: 30px;
    border: 1px solid var(--Color-Green);
    font-family: var(--font-family-body);
    font-size: var(--Body-Size);
    padding: 12px 16px;
    background-color: var(--Neutral-White);
}

/* Gravity Forms Focus States */
body #page-container .gform_wrapper input:focus,
body #page-container .gform_wrapper textarea:focus,
body #page-container .gform_wrapper select:focus {
    border-color: var(--Primary-Color);
    outline: 2px solid var(--Primary-Color);
    outline-offset: 2px;
}

/* Gravity Forms Error Field Styling */
body #page-container .gform_wrapper .gfield_error input,
body #page-container .gform_wrapper .gfield_error textarea,
body #page-container .gform_wrapper .gfield_error select {
    border-color: var(--Color-Accessible-Red);
    background-color: #fff5f5;
}

/* Additional Gravity Forms Theme Overrides - Ensures all theme elements use site styles */
body #page-container .gform-theme--foundation .gfield,
body #page-container .gform-theme--orbital .gfield,
body #page-container .gform-theme--foundation .gfield_description,
body #page-container .gform-theme--orbital .gfield_description {
    font-family: var(--font-family-body);
}

/* Override any remaining Gravity Forms default colors */
body #page-container .gform_wrapper .gfield_required,
body #page-container .gform_wrapper .gfield_required_label {
    color: var(--Color-Accessible-Red);
}

/* Required asterisk font size */
body #page-container .gform_wrapper .gfield_required.gfield_required_asterisk {
    font-size: 1.25rem;
}

/* Gravity Forms - Coleman Can Help Section (Dark Blue Background) */
#page-container #coleman-can-help label.gfield_label.gform-field-label {
    color: var(--Neutral-White);
}

#page-container #coleman-can-help .help-me label.gfield_label.gform-field-label {
    color: var(--Color-Chartreuse) !important;
    font-weight: var(--font-weight-bold-700);
    font-size: 24px;
}

#page-container #coleman-can-help .help-me select {
    border: none;
    outline: 1px solid var(--Color-Chartreuse);
    outline-offset: .25rem;
}

/* Form fields in Coleman Can Help section - chartreuse border, light background */
#page-container #coleman-can-help .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
#page-container #coleman-can-help .gform_wrapper select,
#page-container #coleman-can-help .gform_wrapper textarea {
    background-color: var(--Neutral-White);
    border-color: var(--Color-Chartreuse);
    color: var(--Default-Black);
}

/* Select dropdown - ensure text is visible with high specificity */
#page-container #coleman-can-help .gform_wrapper select,
#page-container #coleman-can-help .gform_wrapper select.large,
#page-container #coleman-can-help .gform_wrapper select.gfield_select,
#page-container #coleman-can-help .help-me select,
#page-container #coleman-can-help .help-me select.large {
    background-color: var(--Neutral-White);
    color: var(--Default-Black);
    line-height: 1;
    height: auto;
    font-size: calc(var(--Body-Size) - .125rem);
}

/* Select dropdown options - ensure text is visible */
#page-container #coleman-can-help .gform_wrapper select option {
    background-color: var(--Neutral-White) !important;
    color: var(--Default-Black) !important;
}

/* Placeholder text in Coleman Can Help section */
#page-container #coleman-can-help .gform_wrapper input::placeholder,
#page-container #coleman-can-help .gform_wrapper textarea::placeholder {
    color: var(--Neutral-Dark);
}

/* Form descriptions and instructional text - white color */
#page-container #coleman-can-help .gfield_description,
#page-container #coleman-can-help .gform_wrapper .gfield_description {
    color: var(--Neutral-White);
}

/* Required asterisk in Coleman Can Help section - should be visible on dark background */
#page-container #coleman-can-help .gfield_required.gfield_required_asterisk {
    color: var(--Color-Chartreuse);
    font-size: 1.75em;
}

/* ============================================
   HEADER
   ============================================ */

#main-header {
    margin-top: 20px;
}

#header-row .et_flex_group {
    row-gap: 5px !important;
}

#logo img[src*=".svg"] {
    max-width: 300px !important;
}

@media only screen and (max-width:980px) {
    #logo img[src*=".svg"] {
        max-width: 135px !important;
    }
}

/* Header - Mega Menu */
.mega-menu-column.flex .textwidget.custom-html-widget {
    display: flex;
    flex-direction: row;
    gap: 1rem;
    align-items: center;
}

.mega-menu-item h3 a {
    text-decoration: none !important;
    font-weight: var(--font-weight-extrabold-800) !important;
}

.service-list ul li a {
    font-weight: var(--font-weight-regular-400) !important;
    transition: .2s ease;
}

.service-list ul li h3 a {
    font-weight: var(--font-weight-extrabold-800) !important;
    line-height: 1.2em;
}

.mega-menu-item h3 a:hover,
.service-list ul li a:hover {
    text-decoration: underline !important;
    transition: .2s ease;
}

.et-l--header ul {
    list-style-type: none;
}

.mega-menu-item ul li a {
    text-decoration: none !important;
    color: var(--Primary-Color) !important;
    font-weight: var(--font-weight-extrabold-800);
    letter-spacing: -1px;
}

.mega-menu-item ul li a:hover {
    text-decoration: underline !important;

}

.mega-menu ul li {
    margin-bottom: 0 !important;
}

.mega-menu li a {
    transition: ease all 0.3s !important;
}

.mega-menu li a:hover {
    opacity: .8 !important;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu>li.mega-menu-item>a.mega-menu-link,
#mega-menu-wrap-secondary-menu #mega-menu-secondary-menu>li.mega-menu-item>a.mega-menu-link,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-menu-item>ul.mega-sub-menu>li.mega-menu-item>a.mega-menu-link {
    font-family: var(--font-family-body);
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu>li.mega-menu-item>a.mega-menu-link {
    font-weight: var(--font-weight-bold-700);
    font-size: var(--Body-Size);
}

#mega-menu-wrap-secondary-menu #mega-menu-secondary-menu>li.mega-menu-item>a.mega-menu-link {
    font-size: var(--Body-Size-sm);
}

#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:hover {
    text-decoration: underline !important;
}

.mega-current-menu-item a.mega-menu-link {
    text-decoration: underline 2px inherit !important;
    text-underline-offset: 8px !important;
}

.services-btn {
    background-color: var(--Color-Orange) !important;
    border-radius: var(--border-radius-30) !important;
    padding: .25em .75em !important;
    transition: .2s ease;
    margin-right: 0 !important;
    font-weight: var(--font-weight-bold-700) !important;
    border: var(--Color-Orange) !important;
}

a.et_pb_button.services-btn {
    color: var(--Default-Black) !important;
}

.et_pb_button.services-btn:hover {
    background-color: var(--Color-Chartreuse) !important;
    transition: .2s ease;
    opacity: .9;
    text-decoration: underline;
}

.et_pb_button.services-btn:hover:after {
    display: none;
}


.feat-btn {
    background-color: var(--Color-Orange) !important;
    border-radius: var(--border-radius-30) !important;
    padding: 0 .5em !important;
    transition: .2s ease;
    margin-right: 0 !important;
}

.feat-btn a.mega-menu-link {
    color: var(--Color-Dark-Gray) !important;
}

.feat-btn:hover {
    background-color: var(--Color-Chartreuse) !important;
    transition: .2s ease;
}

/*mobile menu*/
li.mobile-menu-item {
    text-align: left !important;
    padding: 5px 10px;
}

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

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

@media screen and (max-width: 980px) {
    #mega-menu-wrap-primary-menu #mega-menu-primary-menu>li.mega-menu-item>a.mega-menu-link {
        font-weight: var(--font-weight-bold-700);
        font-size: 18px;
    }
}

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

    .mega-mobile-hide {
        width: 0 !important;
        display: none;
    }

}


/*mobile-hide classes*/
/* @media screen and (min-width: 981px) {
	#page-container #et-boc #main-header #et-top-navigation li.mega-menu-item.mobile-hide {
		display: none;
	}
}
@media screen and (max-width: 980px) {
	#page-container #et-boc #main-header #et-top-navigation li.mega-menu-item.mobile-hide .mega-menu-link .search-inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.5rem;
    }
    #mega-menu-item-1920 > a:first-child, .mobile-hide #mega-menu-wrap-secondary-menu > a.mega-menu-link, #mega-menu-primary-menu .mobile-hide > a.mega-menu-link {
		display: none !important;
	}
	.mobile-hide #mega-menu-secondary-menu {
		display: flex !important;
        flex-direction: column-reverse !important;
	}
	#page-container .mobile-hide #mega-menu-secondary-menu > a.mega-menu-link {
		margin-top: 1rem !important;
		padding-left: 10px;
	}
    #page-container #mega-menu-primary-menu .mobile-hide:hover {
		background-color: transparent !important;
	}
} */


/* ============================================
   FOOTER
   ============================================ */

#main-footer .et_pb_blurb_position_left .et_pb_blurb_container {
    padding-left: .5rem;
}

#main-footer .et_pb_blurb_description p {
    padding-bottom: 0 !important;
}

#main-footer a {
    color: var(--Primary-Color) !important;
    font-weight: var(--font-weight-regular-400);
}

#main-footer a:hover {
    color: var(--Default-Black) !important;
    transition: .2s ease;
}

#main-footer .footer-phone a {
    color: var(--Default-Black) !important;
    text-decoration: none !important;
}

#main-footer .footer-phone a:hover {
    color: var(--Primary-Color) !important;
    text-decoration: underline !important;
}

.footer-nav li.menu-item a {
    font-weight: var(--font-weight-bold-700) !important;
}

.footer-nav li.menu-item {
    line-height: 1.2em;
}

ul#menu-footer-menu-column-1.menu,
ul#menu-footer-menu-column-2.menu {
    list-style-type: none !important;
    padding: 0 0 23px 0 !important;
}

ul#menu-footer-menu-column-1.menu li a,
ul#menu-footer-menu-column-2.menu li a {
    text-decoration: none;
    color: var(--Primary-Color) !important;
}

ul#menu-footer-menu-column-1.menu li a:hover,
ul#menu-footer-menu-column-2.menu li a:hover {
    text-decoration: underline;
}

@media only screen and (max-width:980px) {
    #footer .et_pb_blurb_3_tb_footer .et_pb_main_blurb_image .et-pb-icon {
        padding-left: 0px !important;
    }
}

/* ============================================
   GLOBAL COMPONENTS
   ============================================ */

/* Icons */
#coleman-can-help {
    position: relative;
    background-color: var(--Neutral-Gray);
    /* fallback if image fails to load */
}

#coleman-can-help::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    /* Solid blue left, bleeding smoothly into heavily tinted image on right; no visible seam. Primary = #3155a4 */
    background-image: linear-gradient(to right, #3155a4 0%, #3155a4 35%, rgba(49, 85, 164, 0.9) 55%, rgba(49, 85, 164, 0.65) 75%, rgba(49, 85, 164, 0.4) 100%),
        url('../../../../uploads/comfort-friend.jpg');
    background-size: 100% 100%, cover;
    background-position: 0 0, 0% center;
    background-repeat: no-repeat, no-repeat;
}

#coleman-can-help>* {
    position: relative;
    z-index: 1;
}

@media only screen and (max-width: 980px) {
    #coleman-can-help::before {
        /* Image centered; heavy gradient (90%+ opacity) so image is very faint */
        background-image: linear-gradient(to right, rgba(49, 85, 164, 0.95) 0%, rgba(49, 85, 164, 0.92) 50%, rgba(49, 85, 164, 0.9) 100%),
            url('../../../../uploads/comfort-friend.jpg');
        background-position: 0 0, center center;
    }
}

#coleman-can-help .fa-solid {
    color: var(--Color-Orange);
}

#coleman-can-help a {
    color: var(--Neutral-White) !important;
    text-decoration: underline;
}

#coleman-can-help a.et_pb_button.chartreuse-btn {
    color: var(--Default-Black) !important;
}

.fa-solid {
    color: var(--Color-Green);
}

/* Pills/Badges */
.purple-pill-brow {
    font-weight: var(--font-weight-bold-700);
    line-height: normal;
    border-radius: 300px;
    color: var(--Neutral-White);
    background-color: var(--Color-Purple);
    padding: .5em 1em;
    margin-bottom: 2vh !important;
    display: inline-block;
}

/* Side Pills */
.side-pill-chartreuse:before,
.side-pill-purple:before,
.side-pill-warm-red:before,
.side-pill-orange:before {
    content: '';
    position: absolute;
    top: 0;
    left: -2rem;
    width: 1rem;
    height: 100%;
    border-radius: var(--border-radius-20);
}

.side-pill-chartreuse:before {
    background-color: var(--Color-Chartreuse);
}

.side-pill-purple:before {
    background-color: var(--Color-Purple);
}

.side-pill-warm-red:before {
    background-color: var(--Color-Warm-Red);
}

.side-pill-orange:before {
    background-color: var(--Color-Orange);
}

/* Blurbs */
.et_pb_blurb_content {
    max-width: none;
}

.et_pb_blurb_position_left .et_pb_blurb_container {
    padding-left: 1rem;
    padding-right: 1rem;
}

.et_pb_blurb_position_left .et_pb_main_blurb_image {
    width: 10px;
}

/* Flex/Grid Utilities */
.flex {
    display: flex;
    gap: 15px;
}

@media only screen and (max-width:980px) {
    .flex {
        display: grid;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 15px;
    }
}

.et_block_row:after {
    visibility: visible;
}

/* Toggles/Accordions */
.et_pb_toggle {
    border: 1px solid var(--Color-Purple);
    border-radius: var(--border-radius-20);
    margin: 1rem;
}

.et_pb_toggle_close {
    background-color: var(--Neutral-White) !important;
}

h3.et_pb_toggle_title {
    color: var(--Color-Purple) !important;
    font-weight: var(--font-weight-bold-700) !important;
}

.et_pb_toggle_title:before {
    color: var(--Color-Purple) !important;
    font-weight: var(--font-weight-bold-700);
}

.et_pb_toggle_content a {
    text-decoration: underline;
}

@media only screen and (max-width:980px) {
    .et_pb_toggle {
        margin: 0;
    }
}

/* Image Rotators - Base Pattern */
.absolute-image-rotator,
.about-lg-img,
.careers-lg-img {
    position: absolute;
    z-index: 10;
}

.absolute-image-rotator {
    width: 30rem;
    height: 20rem;
    top: 25px;
    left: 100px;
}

.about-lg-img {
    width: 30rem;
    height: 20rem;
    top: 6rem;
    left: -1rem;
}

.careers-lg-img {
    width: 30rem;
    height: 20rem;
    top: -2rem;
    left: -1rem;
}

.absolute-image-rotator img,
.about-lg-img img,
.careers-lg-img img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--border-radius-20);
    opacity: 0;
    transition: opacity 2s ease-in-out;
}

.absolute-image-rotator img.active-image,
.about-lg-img img.active-image,
.careers-lg-img img.active-image {
    opacity: 1;
}

.absolute-image-rotator::after,
.about-lg-img::after,
.careers-lg-img::after {
    content: '';
    border: 1px solid var(--Color-Chartreuse);
    position: absolute;
    right: 5%;
    top: 7%;
    width: 100%;
    height: 82%;
    border-radius: var(--border-radius-20);
    z-index: 5;
}

.absolute-image-rotator::after {
    top: -6%;
}

@media only screen and (max-width:980px) {
    .absolute-image-rotator {
        width: 15rem;
        height: 10rem;
        top: 10rem;
        left: 0;
    }

    .about-lg-img,
    .careers-lg-img {
        width: 18rem;
        height: 13rem;
        top: -1rem;
    }
}

/* Fade Image Patterns */
.about-fade-img:before,
.careers-fade-img:before {
    content: '';
    position: absolute;
    right: -6rem;
    width: 55%;
    height: 100%;
    background-color: var(--Neutral-Gray);
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9)),
        url(/wp-content/uploads/female-therapist-talks-with-male-client.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    border-radius: var(--border-radius-20);
}

.about-fade-img:before {
    top: 0;
}

/* .careers-fade-img:before {
    top: -4rem;
    height: 170%;

    .careers-fade-img:after {
        top: -4rem;
        height: 170%;
    }
} */

.about-fade-img:after,
.careers-fade-img:after {
    content: '';
    position: absolute;
    right: -6rem;
    width: 55%;
    height: 100%;
    background-color: var(--Primary-Color);
    mix-blend-mode: color;
    border-radius: var(--border-radius-20);
}

.about-fade-img:after {
    top: 0;
}


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

    .about-fade-img:before,
    .about-fade-img:after {
        width: 110%;
        height: 50%;
        top: 30rem;
        left: 0;
    }

    .careers-fade-img:before,
    .careers-fade-img:after {
        width: 110%;
        height: 50%;
        top: 16rem;
        left: 0;
    }
}

/* Hero Image Overlays */
.hero-img img {
    opacity: .1;
    border-radius: var(--border-radius-20);
}

.hero-img:after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: var(--Primary-Color);
    mix-blend-mode: color;
    border-radius: var(--border-radius-20);
}

.int-hero-blue:after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: var(--Primary-Color);
    mix-blend-mode: color;
}

/* Half Blue Backgrounds */
.half-blue-bg-55:after {
    content: '';
    background-color: var(--Primary-Color);
    position: absolute;
    top: 0;
    left: 0;
    height: 77%;
    width: 55%;
    border-radius: 0 var(--border-radius-20) var(--border-radius-20) 0;
}

.half-blue-bg-42:after {
    content: '';
    background-color: var(--Primary-Color);
    position: absolute;
    top: 1rem;
    left: 0;
    height: 77%;
    width: 42%;
    border-radius: 0 var(--border-radius-20) var(--border-radius-20) 0;
}

@media only screen and (max-width:980px) {
    .half-blue-bg-55:after {
        width: 97%;
    }

    .half-blue-bg-42:after {
        width: 97%;
        height: 30%;
        top: 1.5rem;
    }
}

/* Sponsor Loop Colors */
.et_pb_section .et_pb_row .sponsor-loop-color:nth-child(1):before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 1rem;
    background-color: var(--Color-Chartreuse);
}

.et_pb_section .et_pb_row .sponsor-loop-color:nth-child(2):before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 1rem;
    background-color: var(--Color-Purple);
}

/* ============================================
   HOMEPAGE
   ============================================ */

/* Hero Section */
.hero-blue-picture:before,
.hero-blue-picture:after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: 55%;
    height: 125%;
    transform: translateY(-50%);
    border-radius: var(--border-radius-20);
    clip-path: inset(1px round var(--border-radius-20));
}

.hero-blue-picture:before {
    background-color: var(--Neutral-Gray);
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9)),
        var(--hero-static-image);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.hero-blue-picture:after {
    background-color: var(--Primary-Color);
    mix-blend-mode: color;
}

#home-hero .et_pb_code_inner,
#interior-image-hero .et_pb_code_inner {
    height: 100%;
}

#home-hero .fsm-hero-rotator,
#interior-image-hero .fsm-hero-rotator {
    position: absolute;
    z-index: 20;
}

#home-hero .fsm-hero-rotator--left,
#interior-image-hero .fsm-hero-rotator--left {
    width: 24rem;
    height: 18rem;
    bottom: -6rem;
    right: 0;
}

#home-hero .fsm-hero-rotator--right,
#interior-image-hero .fsm-hero-rotator--right {
    width: 14rem;
    height: 10rem;
    top: -1rem;
    right: -6rem;
}

#home-hero .fsm-hero-rotator img,
#interior-image-hero .fsm-hero-rotator img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--border-radius-20);
    opacity: 0;
    transition: opacity 2s ease-in-out;
}

#home-hero .fsm-hero-rotator img.active-image,
#interior-image-hero .fsm-hero-rotator img.active-image {
    opacity: 1;
}

#home-hero .fsm-hero-rotator::after,
#interior-image-hero .fsm-hero-rotator::after {
    content: '';
    position: absolute;
    right: 5%;
    top: -6%;
    width: 100%;
    height: 100%;
    border-radius: var(--border-radius-20);
    border: 1px solid var(--Color-Chartreuse);
    z-index: 5;
}

@media only screen and (max-width:980px) {
    #hero-col-left-height {
        height: 300px;
    }

    #home-hero .et_pb_code_inner {
        height: 300px;
    }

    #interior-image-hero .et_pb_code_inner {
        height: 250px;
    }

    #home-hero .fsm-hero-rotator--left,
    #interior-image-hero .fsm-hero-rotator--left {
        width: 24rem;
        height: 18rem;
        bottom: 22rem;
        right: -4rem;
    }

    #home-hero .fsm-hero-rotator--right,
    #interior-image-hero .fsm-hero-rotator--right {
        width: 14rem;
        height: 10rem;
        top: -1rem;
        right: -6rem;
    }

    #home-hero .hero-blue-picture:before,
    #home-hero .hero-blue-picture:after {
        width: 100%;
        left: 0;
        top: 34rem;
        height: 30%;
    }

    #home-hero .fsm-hero-rotator img {
        position: absolute;
        width: 75%;
        height: 75%;
        object-fit: cover;
        border-radius: var(--border-radius-20);
        opacity: 0;
        transition: opacity 2s ease-in-out;
        bottom: 1rem;
    }

    #interior-image-hero .fsm-hero-rotator img {
        position: absolute;
        width: 75%;
        height: 75%;
        object-fit: cover;
        border-radius: var(--border-radius-20);
        opacity: 0;
        transition: opacity 2s ease-in-out;
        bottom: 1rem;
    }

    #interior-image-hero.fsm-hero-welcome .fsm-hero-rotator img {
        bottom: 10rem;
    }

    #home-hero .fsm-hero-rotator::after {
        content: '';
        position: absolute;
        left: -4%;
        top: 19%;
        width: 75%;
        height: 65%;
        border-radius: var(--border-radius-20);
        border: 1px solid var(--Color-Chartreuse);
        z-index: 5;
    }

    #interior-image-hero .fsm-hero-rotator::after {
        content: '';
        position: absolute;
        left: -4%;
        top: 19%;
        width: 75%;
        height: 65%;
        border-radius: var(--border-radius-20);
        border: 1px solid var(--Color-Chartreuse);
        z-index: 5;
    }

    #interior-image-hero.fsm-hero-welcome .fsm-hero-rotator--left::after {
        bottom: 11rem;
        top: auto;
    }

    #home-hero .fsm-hero-rotator--right,
    #interior-image-hero .fsm-hero-rotator--right {
        width: 14rem;
        height: 10rem;
        top: -25rem;
        right: -5rem;
    }

}

/*INTERIOR-IMAGE HERO*/

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

    #interior-image-hero .fsm-hero-rotator--left {
        width: 24rem;
        height: 18rem;
        bottom: 6rem;
        right: 0rem;
    }

    #interior-image-hero .fsm-hero-rotator--right {
        width: 14rem;
        height: 10rem;
        top: -7rem;
        right: -6rem;
    }

    /* Move texture up on interior hero to reduce gap below first column */
    #interior-image-hero .hero-blue-picture:before,
    #interior-image-hero .hero-blue-picture:after {
        width: 100%;
        left: 0;
        top: 16rem;
        height: 30%;
    }

    /*Careers page - 'Join Our Growing Team' section (class "team" on section) */
    #interior-image-hero.team .hero-blue-picture:after {
        width: 100%;
        left: 0;
        top: 24rem;
        height: 30%;
    }

    #interior-image-hero.team .fsm-hero-rotator img {}


}

/* Welcome to CHS – unique hero layout (add class fsm-hero-welcome to section) */
@media only screen and (max-width: 980px) {

    #interior-image-hero.fsm-hero-welcome .hero-blue-picture:before,
    #interior-image-hero.fsm-hero-welcome .hero-blue-picture:after {
        width: 100%;
        left: 0;
        top: 19rem;
        height: 30%;
    }

    #interior-image-hero.fsm-hero-welcome .fsm-hero-rotator--left {
        width: 16.8rem;
        height: 12.6rem;
        bottom: 4rem;
        left: 0;
        right: auto;
    }

    #interior-image-hero.fsm-hero-welcome .fsm-hero-rotator--right {
        width: 14rem;
        height: 10rem;
        top: -6rem;
        right: -4rem;
    }

    #interior-image-hero.fsm-hero-welcome .fsm-hero-rotator--right::after {
        top: -6rem;
        right: -4rem;
    }
}

/* Careers – Join Our Growing Team (same layout as fsm-hero-welcome; add class "team" to section with ID interior-image-hero) */
@media only screen and (max-width: 980px) {

    #interior-image-hero.team .hero-blue-picture:before,
    #interior-image-hero.team .hero-blue-picture:after {
        width: 100%;
        left: 0;
        top: 22rem;
        height: 30%;
    }

    #interior-image-hero.team .fsm-hero-rotator--left {
        width: 16.8rem;
        height: 12.6rem;
        bottom: 4rem;
        left: 0;
        right: auto;
    }

    #interior-image-hero.team .fsm-hero-rotator--right {
        width: 14rem;
        height: 10rem;
        top: -6rem;
        right: -4rem;
    }

    #interior-image-hero.team .fsm-hero-rotator--right::after {
        top: -6rem;
        right: -4rem;
    }

    #interior-image-hero.team .fsm-hero-rotator img {
        bottom: 9rem;
    }

    #interior-image-hero.team .fsm-hero-rotator--left::after {
        bottom: 10rem;
        top: auto;
    }
}

/* For mobile -- from 1-on-1 w/Caleb
#interior-image-hero .fsm-hero-rotator--left {
        width: 24rem;
        height: 18rem;
        bottom: 22rem;
        right: -4rem;
  }

#interior-image-hero .fsm-hero-rotator--right {
        width: 14rem;
        height: 10rem;
        top: -1rem;
        right: -6rem;
   }

#interior-image-hero .hero-blue-picture:before,
#interior-image-hero .hero-blue-picture:after {
        width: 100%;
        left: 0;
        top: 16rem;
        height: 30%;
} */


/* Homepage - Our Services */
#our-services {
    padding-bottom: 7rem;
}

#our-services .et_pb_group_carousel_slide:hover h3 {
    text-decoration: underline;
    transition: .2s ease;
}

#our-services .et_pb_group_carousel_dots_disabled .et_pb_group_carousel_arrow.et_pb_group_carousel_arrow {
    top: 112%;
}

#our-services .et_pb_group_carousel_dots_disabled .et_pb_group_carousel_arrow.et_pb_group_carousel_arrow_next {
    left: 48px;
    right: auto;
    width: auto;
}

@media only screen and (max-width:980px) {
    #our-services .et_pb_group_carousel_arrow {
        top: 124%;
        z-index: 100;
    }

    #our-services .et_pb_group_carousel_dots_disabled .et_pb_group_carousel_arrow.et_pb_group_carousel_arrow_next {
        right: 63%;
        z-index: 100;
    }

    #our-services {
        padding-bottom: 2rem;
    }
}

/* Homepage - Upcoming Event */
#upcoming-event .et_pb_blurb_position_left .et-pb-icon {
    font-size: 1.25rem;
}

/* Homepage - About Us */
#about-us .stats p {
    padding-bottom: 0;
}

.stat-number {
    font-size: var(--Heading-2-Size);
    font-weight: var(--font-weight-extrabold-800);
    color: var(--Primary-Color);
}

#about-us .about-sm-img img {
    border-radius: var(--border-radius-20);
    box-shadow: var(--box-shadow-200);

}

/* .about-sm-img {
    position: absolute !important;
    bottom: -10rem;
    right: -170%;
    top: auto;
    left: auto;
    transform: scale(1);
    z-index: 20;
    width: max-content;
    max-width: 100%;
    text-align: left;
    margin-left: 0;
} */

#about-us .about-sm-img:after {
    content: '';
    border: 1px solid var(--Color-Chartreuse);
    position: absolute !important;
    top: 4%;
    right: -17%;
    bottom: auto;
    left: auto;
    width: 110%;
    height: 90%;
    margin-left: 0;
    border-radius: var(--border-radius-20);
    z-index: 20;
}

@media only screen and (max-width:980px) {
    #about-us .about-sm-img {
        top: 7rem;
        right: -6rem;
        transform: scale(.5);
    }
}

/* Homepage - Blog */
#homepage-blog a {
    text-decoration: none !important;
}

.blog-card article:hover {
    border: 2px solid var(--Color-Purple) !important;
    box-shadow: var(--box-shadow-200);
    transition: .3s ease;
}

/* Homepage - Main CTA Section */
#main-cta {
    position: relative;
    padding-top: 15rem;
    --cta-image-opacity: 0.05;
    --cta-overlay-color: rgba(49, 85, 164, 0.63);
    --cta-border-radius: var(--border-radius-20);
    --cta-top-offset: -7.5rem;
}

/* Row 1: Image columns - ensure columns are positioned for pseudo-elements (back layer) */
#main-cta .et_pb_row:first-child {
    position: relative;
    z-index: 1;
}

#main-cta .et_pb_column.visible-difference-left,
#main-cta .et_pb_column.visible-difference-right {
    position: relative;
}

/* Background images - Left side (positioned relative to section) - Match hero pattern */
#main-cta .et_pb_column.visible-difference-left::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: var(--cta-top-offset);
    aspect-ratio: 4 / 3;
    background-color: var(--Neutral-Gray);
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.95)),
        url(/wp-content/uploads/visible-difference-left.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    filter: blur(1px);
    border-radius: var(--cta-border-radius);
    clip-path: inset(1px round var(--cta-border-radius));
    /* Clip 1px from all sides with rounded corners */
    pointer-events: none;
    z-index: 1;
}

#main-cta .et_pb_column.visible-difference-left::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: var(--cta-top-offset);
    aspect-ratio: 4 / 3;
    background-color: var(--Primary-Color);
    mix-blend-mode: color;
    filter: blur(1px);
    /* Apply blur to both images */
    border-radius: var(--cta-border-radius);
    clip-path: inset(1px round var(--cta-border-radius));
    /* Clip 1px from all sides with rounded corners */
    pointer-events: none;
    z-index: 2;
}

/* Background images - Right side (positioned relative to section) - Match hero pattern */
#main-cta .et_pb_column.visible-difference-right::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: var(--cta-top-offset);
    aspect-ratio: 4 / 3;
    background-color: var(--Neutral-Gray);
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.95)),
        url(/wp-content/uploads/female-therapist-talks-with-male-client.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    filter: blur(1px);
    /* Apply blur to both images */
    border-radius: var(--cta-border-radius);
    clip-path: inset(1px round var(--cta-border-radius));
    /* Clip 1px from all sides with rounded corners */
    pointer-events: none;
    z-index: 1;
}

#main-cta .et_pb_column.visible-difference-right::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: var(--cta-top-offset);
    aspect-ratio: 4 / 3;
    background-color: var(--Primary-Color);
    mix-blend-mode: color;
    filter: blur(1px);
    /* Apply blur to prevent blue outline */
    border-radius: var(--cta-border-radius);
    clip-path: inset(1px round var(--cta-border-radius));
    /* Clip 1px from all sides with rounded corners */
    pointer-events: none;
    z-index: 2;
}

/* Row 2: Text styling - outlined text via pseudo-element (middle layer) */
#main-cta .et_pb_row:nth-child(2) {
    position: relative;
    z-index: 2;
}

#main-cta .difference-solid {
    position: relative;
}

#main-cta .difference-solid .et_pb_text_inner {
    position: relative;
}

/* Create outlined version as pseudo-element ABOVE solid text */
#main-cta .difference-solid .et_pb_text_inner::before {
    content: 'MAKE A VISIBLE DIFFERENCE TODAY.';
    position: absolute;
    top: -1.92em;
    /* Position above H2 (two line-heights for wrapping) */
    left: 0;
    width: 100%;
    font-size: var(--Heading-Extra-Large);
    font-weight: var(--font-weight-black-900);
    font-family: var(--font-family-heading);
    line-height: 0.96;
    letter-spacing: -2.88px;
    text-transform: uppercase;
    color: transparent;
    -webkit-text-stroke: 1px var(--Color-Chartreuse);
    z-index: 1;
    pointer-events: none;
    padding-bottom: 0;
    /* Allow wrapping like the H2 - match H2 width and wrapping behavior */
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* Solid text styling - positioned below outlined version */
#main-cta .difference-solid .et_pb_text_inner h2 {
    font-size: var(--Heading-Extra-Large);
    font-weight: var(--font-weight-black-900);
    line-height: 0.96;
    letter-spacing: -2.88px;
    text-transform: uppercase;
    color: var(--Primary-Color);
    padding-bottom: 0 !important;
    margin-top: 0;
    position: relative;
    z-index: 2;
    /* Ensure H2 wraps the same way */
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* Row 3: Donation box (top layer) */
#main-cta .et_pb_row:nth-child(3) {
    position: relative;
    z-index: 3;
}

/* Mobile Design - Match Figma (1078-4300) */
@media only screen and (max-width: 980px) {
    #main-cta {
        --cta-top-offset: 1.75rem;
        padding-top: 10rem;
        /* 60.01px */
    }

    /* Hide left image column on mobile */
    #main-cta .et_pb_column.visible-difference-left::before,
    #main-cta .et_pb_column.visible-difference-left::after {
        display: none;
    }

    /* Right image - single image layout for mobile */
    #main-cta .et_pb_column.visible-difference-right::before {
        left: 0rem;
        /* 16.12px */
        right: auto;
        width: calc(100%);
        /* 359.024px equivalent */
        height: 275.679px;
        top: var(--cta-top-offset);
        aspect-ratio: auto;
    }

    .et_pb_column.et_pb_column_empty {
        display: contents;
    }

    #main-cta .et_pb_column.visible-difference-right::after {
        left: 0rem;
        right: auto;
        width: calc(100%);
        height: 275.679px;
        top: var(--cta-top-offset);
        aspect-ratio: auto;
    }

    /* Adjust text sizing for mobile */
    #main-cta .difference-solid .et_pb_text_inner h2,
    #main-cta .difference-solid .et_pb_text_inner::before {
        font-size: clamp(2.5rem, -0.4769rem + 7.9077vw, 7.8rem);
        letter-spacing: -1.44px;
    }

    /* Adjust spacing for outlined text above on mobile */
    #main-cta .difference-solid .et_pb_text_inner::before {
        top: -2.92em;
        /* Maintain 2 line-heights spacing for mobile wrapping */
    }
}

#feat-font-1 {
    font-family: "Shadows Into Light", sans-serif;
    font-weight: var(--font-weight-regular-400);
    font-size: var(--Heading-3-Size);
}

#feat-font-2 {
    font-family: "Coming Soon", sans-serif;
    font-weight: var(--font-weight-regular-400);
    font-size: var(--Heading-3-Size);
}

#feat-font-3 {
    font-family: "Short Stack", sans-serif;
    font-weight: var(--font-weight-regular-400);
    font-size: var(--Heading-3-Size);
}

#feat-font-4 {
    font-family: "Caveat Brush", sans-serif;
    font-weight: var(--font-weight-regular-400);
    font-size: var(--Heading-3-Size);
}

/* ============================================
   SERVICES
   ============================================ */

#service-content.et_pb_section .et_pb_row:nth-child(even):before {
    content: '';
    position: absolute;
    width: 109%;
    height: 105%;
    left: -5%;
    top: -1%;
    background-color: var(--Color-Cream);
    border-radius: var(--border-radius-20);
}

#service-content.et_pb_section .et_pb_row {
    padding: 2rem 0;
}

div.wys-btn a.et_pb_button.gform_button {
    padding: 5px 10px !important;
}

div.wys-btn a.et_pb_button.gform_button:hover {
    padding: 5px 35px 5px 12px !important;
}

@media only screen and (max-width:980px) {
    #service-content.et_pb_section .et_pb_row {
        padding: 0rem 0;
    }

    #service-content.et_pb_section .et_pb_row:nth-child(even):before {
        left: -9%;
        top: -3rem;
        width: 118%;
        height: 100%;
        padding: 2rem 0;
    }

    #service-content .et_flex_section {
        row-gap: 10px;
    }

    #service-content .et_flex_column {
        row-gap: 10px;
    }

    #service-content .et_flex_row {
        row-gap: 10px;
    }
}

#one-coleman:after {
    content: '';
    position: absolute;
    left: -6rem;
    top: 5rem;
    width: 95%;
    height: 65%;
    border: 1px solid var(--Color-Chartreuse);
    border-radius: var(--border-radius-20);
    z-index: 50;
}

@media only screen and (max-width:980px) {
    #one-coleman:after {
        display: none;
    }
}

/* Services - Search Bar */
.fcomplete-wrap {
    z-index: 100;
}

.fcomplete-status,
.fcomplete-result {
    font-style: normal;
    font-family: var(--font-family-body);
    font-size: var(--Body-Size);
}

#search-bar label {
    font-size: var(--Heading-3-Size);
    font-weight: var(--font-weight-bold-700);
    font-family: var(--font-family-body);
    color: var(--Primary-Color);
}

#search-bar .facetwp-facet.facetwp-facet-zip_county_search.facetwp-type-autocomplete,
.search-input-group {
    border: 1px solid var(--Color-Green);
    border-radius: var(--border-radius-30);
    width: 23rem;
    padding: .25rem;
}

.search-input-group-nav {
    border: 1px solid var(--Color-Green);
    border-radius: var(--border-radius-30);
    width: 35rem;
    padding: .25rem;
}

.search-input-group-nav input[type=text] {
    color: var(--Default-Black);
    padding: .5rem 1rem;
    border-radius: var(--border-radius-20);
    font-size: 1em;
    font-family: var(--font-family-body);
    background-color: var(--Neutral-White);
    width: 29rem;
    border: none;
}

#search-bar input[type=text] {
    color: var(--Default-Black);
    padding: .5rem 1rem;
    border-radius: var(--border-radius-20);
    font-size: 1em;
    font-family: var(--font-family-body);
    background-color: var(--Light-Gray);
    width: 17rem;
    border: none;
}

#search-bar input.facetwp-autocomplete-update,
#search-bar .search-input-group button,
.search-input-group-nav button {
    font-size: 1em;
    font-family: var(--font-family-body);
    padding: .5rem 1rem;
    background-color: var(--Primary-Color);
    color: var(--Neutral-White);
    font-weight: var(--font-weight-bold-700);
    border-radius: var(--border-radius-20);
    border: none;
    transition: .2s ease;
    cursor: pointer;
    margin-left: 5px;
}

#search-bar .facetwp-facet {
    margin-bottom: 0 !important;
}

#search-bar input.facetwp-autocomplete-update:hover,
#search-bar .search-input-group button:hover,
.search-input-group-nav button:hover {
    background-color: var(--Color-Chartreuse);
    transition: .2s ease;
    color: var(--Default-Black);
}

@media only screen and (max-width:980px) {
    .search-input-group-nav {
        border: 1px solid var(--Color-Green);
        border-radius: var(--border-radius-30);
        width: 19rem;
        padding: .25rem;
    }

    .search-input-group-nav input[type=text] {
        color: var(--Default-Black);
        padding: .5rem;
        border-radius: var(--border-radius-20);
        font-size: 1em;
        font-family: var(--font-family-body);
        background-color: var(--Neutral-White);
        width: 13rem;
        border: none;
    }

    #search-bar input[type=text] {
        width: 13rem;
    }

    #search-bar .facetwp-facet.facetwp-facet-zip_county_search.facetwp-type-autocomplete,
    .search-input-group {
        width: 19rem;
    }
}

/* Services - Service Grid */
.service-grid {
    list-style-type: none;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    grid-gap: 1.5rem;
}

.service-card-link {
    display: flex;
    align-items: center;
    border: 1px solid var(--Primary-Color);
    padding: 3rem 2rem;
    min-height: 10rem;
    border-radius: var(--border-radius-20);
    text-decoration: none !important;
    transition: .2s ease;
}

.service-card-link:hover {
    box-shadow: inset 0 0 0 4px var(--Primary-Color);
    transition: .2s ease;
}

@media only screen and (max-width:980px) {
    .service-card-link {
        min-height: 7rem;
    }
}

h3.service-name {
    text-decoration: none !important;
}

.chartreuse-outline {
    border: 1px solid var(--Color-Chartreuse);
    position: absolute;
    left: -1rem;
    border-radius: var(--border-radius-20);
}

/* Services - Detail Pages */
#county-list p {
    padding-bottom: 0 !important;
}

.hotline-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr) !important;
    grid-gap: 1rem !important;
    align-items: start;
}

a.hotline-card {
    display: flex !important;
    flex-direction: column !important;
    padding: 20px;
    border-radius: var(--border-radius-20);
    text-decoration: none !important;
    color: inherit;
    background: var(--Color-Light-Blue);
    height: 100%;
    font-family: var(--font-family-body) !important;
    font-size: 1.2em;
}

a.hotline-card:hover {
    background: var(--Color-Chartreuse) !important;
    border-radius: var(--border-radius-20) !important;
}

.hotline-county {
    color: var(--Primary-Color);
    font-size: 1.5em;
}

.clinic-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr) !important;
    grid-gap: 1rem !important;
    align-items: start;
}

.clinic-card {
    display: flex !important;
    flex-direction: column !important;
    padding: 20px;
    border-radius: var(--border-radius-20);
    text-decoration: none !important;
    color: inherit;
    background: var(--Color-Light-Blue);
    height: 100%;
    font-family: var(--font-family-body) !important;
    font-size: 1.2em;
}

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

    .hotline-grid,
    .clinic-grid {
        grid-template-columns: repeat(1, 1fr) !important;
    }
}

/* ============================================
   IMPACT
   ============================================ */

#our-impact-hero-bg .et_pb_group_carousel_slide .et_pb_group {
    height: 100%;
}

#our-impact:before {
    content: 'Our Impact';
    font-size: var(--Heading-1-Size);
    font-family: var(--font-family-heading);
    text-transform: uppercase;
    font-weight: var(--font-weight-extrabold-800);
    -webkit-text-stroke: 1px var(--Color-Chartreuse);
    opacity: .2;
    position: absolute;
    color: transparent;
    left: -1rem;
    top: -1rem;
    width: 100%;
    height: 100%;
}

/* ============================================
   IMPACT / OVERVIEW
   ============================================ */

#success-story-slider-section .et_pb_group_carousel_dots_disabled .et_pb_group_carousel_arrow.et_pb_group_carousel_arrow_prev {
    top: 80%;
    left: -54%;
}

#success-story-slider-section .et_pb_group_carousel_dots_disabled .et_pb_group_carousel_arrow.et_pb_group_carousel_arrow_next {
    top: 80%;
    left: calc(-54% + 48px);
    right: auto;
    width: auto;

}

#success-story-slider-section .et_pb_group_carousel_slide .et_pb_group {
    height: 100%;
}

@media only screen and (max-width:980px) {
    #success-story-slider-section .et_pb_group_carousel_dots_disabled .et_pb_group_carousel_arrow.et_pb_group_carousel_arrow_prev {
        left: 0%;
        top: 125%;
    }

    #success-story-slider-section .et_pb_group_carousel_dots_disabled .et_pb_group_carousel_arrow.et_pb_group_carousel_arrow_next {
        left: 15%;
        top: 125%;
    }
}

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

    #success-story-slider-section,
    #success-story-slider-section .et_pb_group_carousel,
    #success-story-slider-section .et_pb_group_carousel_container {
        overflow: visible;
    }

    /*  #success-story-slider-section{
        margin-top: -15rem;
    } */
}

#success-story-post-content h1,
#success-story-post-content h2,
#success-story-post-content h3,
#success-story-post-content h4 {
    color: var(--Color-Purple) !important;
}

#success-story-post-content .et_flex_module.et_pb_posts {
    row-gap: 10px;
}

.success-story-link:hover {
    box-shadow: inset 0 0 0 4px var(--Color-Purple);
    transition: .2s ease;
}

/* ============================================
   IMPACT / SUCCESS STORIES
   ============================================ */

/* Success Stories – interior hero (add class "success" to section with ID interior-image-hero) */
@media only screen and (max-width: 980px) {

    #interior-image-hero.success .hero-blue-picture:before,
    #interior-image-hero.success .hero-blue-picture:after {
        width: 100%;
        left: 0;
        top: 21rem;
        height: 30%;
    }

    #interior-image-hero.success .fsm-hero-rotator--left {
        width: 16.8rem;
        height: 12.6rem;
        bottom: 2rem;
        left: 0;
        right: auto;
    }

    #interior-image-hero.success .fsm-hero-rotator--right {
        width: 14rem;
        height: 10rem;
        top: -4rem;
        right: -4rem;
    }

    #interior-image-hero.success .fsm-hero-rotator--right::after {
        top: -4rem;
        right: -4rem;
    }

    #interior-image-hero.success .fsm-hero-rotator img {
        bottom: 7rem;
    }

    #interior-image-hero.success .fsm-hero-rotator--left::after {
        bottom: 8rem;
        top: auto;
    }
}

/* ============================================
   IMPACT / NEWSLETTER
   ============================================ */

.df-ui .df-ui-page label {
    color: var(--Default-Black) !important;
}

/* ============================================
   IMPACT / ANNUAL REPORTS
   ============================================ */


#annual-reports a:hover {
    box-shadow: 0 0 0 4px var(--Color-Warm-Red) !important;
    transition: .2s ease;
    border-radius: var(--border-radius-20);
}


/* ============================================
   GET INVOLVED / overview
   ============================================ */

/* Get Involved – interior hero (add class "get-involved" to section with ID interior-image-hero) */
@media only screen and (max-width: 980px) {

    #interior-image-hero.get-involved .hero-blue-picture:before,
    #interior-image-hero.get-involved .hero-blue-picture:after {
        width: 100%;
        left: 0;
        top: 32rem;
        height: 30%;
    }

    #interior-image-hero.get-involved .fsm-hero-rotator--left {
        width: 16.8rem;
        height: 12.6rem;
        bottom: -3rem;
        left: 0;
        right: auto;
    }

    #interior-image-hero.get-involved .fsm-hero-rotator--right {
        width: 14rem;
        height: 10rem;
        top: 0;
        right: -4rem;
    }

    #interior-image-hero.get-involved .fsm-hero-rotator--right::after {
        top: 0;
        right: -4rem;
    }

    #interior-image-hero.get-involved .fsm-hero-rotator img {
        bottom: 3rem;
    }

    #interior-image-hero.get-involved .fsm-hero-rotator--left::after {
        bottom: 2rem;
        top: auto;
    }
}

/* ============================================
   GET INVOLVED / EVENTS
   ============================================ */

/* Event Detail Page */
@media only screen and (max-width:980px) {
    #keynote-order-1 {
        order: 1;
    }

    #keynote-order-2 {
        order: 2;
    }
}

#keynote-speaker .et_flex_column {
    row-gap: 5px !important;
}

/* Sponsorship Layout */
.custom-sponsorship-container {
    padding: 20px 0;
}

.custom-sponsorship-row {
    display: flex;
    margin-bottom: 30px;
    overflow: hidden;
}

.sponsorship-col-left {
    flex: 0 0 40%;
    padding: 25px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    text-align: left;
}

.sponsorship-col-left h3 {
    font-size: var(--Heading-2-Size) !important;
    color: var(--Color-Dark-Gray);
    margin-bottom: 10px;
}

.sponsor-button-wrap {
    margin-top: 2rem;
}

.sponsorship-col-right {
    flex: 1;
    padding: 2rem 0 1rem 2rem;
    position: relative;
}

.sponsorship-col-right::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 13px;
    height: 100%;
    border-radius: var(--border-radius-20);
    background-color: var(--level-color);
    z-index: 10;
}

.sponsor-details-content ul {
    padding: 1rem !important;
}

.sponsor-details-content ul li {
    line-height: 1em !important;
}

.sponsor-details-content p {
    padding-bottom: 0 !important;
}

@media (max-width: 768px) {
    .custom-sponsorship-row {
        flex-direction: column;
    }

    .sponsorship-col-left {
        flex: 0 0 100%;
        padding: 15px;
    }

    .sponsorship-col-right {
        flex: 0 0 100%;
        padding: 15px 15px 15px 30px;
    }

    .sponsorship-col-right::before {
        width: 5px;
    }
}

#event-sponsors ul li {
    list-style-type: none;
}

#event-sponsors ul {
    padding: 0 0 23px 0 !important;
}

/* ============================================
   CAREERS
   ============================================ */

#careers-sm-img img {
    border-radius: var(--border-radius-20);
    box-shadow: var(--box-shadow-200);
}

#careers-sm-img {
    position: absolute !important;
    bottom: -16rem;
    right: -170%;
    top: auto;
    left: auto;
    transform: scale(1);
    z-index: 20;
    width: max-content;
    max-width: 100%;
    text-align: left;
    margin-left: 0;
}

#careers-sm-img:after {
    content: '';
    border: 1px solid var(--Color-Chartreuse);
    position: absolute !important;
    top: 4%;
    right: -17%;
    bottom: auto;
    left: auto;
    width: 110%;
    height: 90%;
    margin-left: 0;
    border-radius: var(--border-radius-20);
    z-index: 20;
}

@media only screen and (max-width:980px) {
    #careers-sm-img {
        bottom: -21rem;
        right: -6rem;
        transform: scale(.4);
    }
}

#careers-img-1:before,
#careers-img-2:before,
#careers-img-3:before,
#careers-img-4:before {
    content: '';
    position: absolute;
    border: 1px solid var(--Color-Chartreuse);
    border-radius: var(--border-radius-20);
    z-index: 100;
}

#careers-img-1:before {
    left: 1rem;
    top: 1rem;
    width: 80%;
    height: 70%;
}

#careers-img-2:before {
    left: 3rem;
    top: 2rem;
    width: 70%;
    height: 50%;
}

#careers-img-3:before {
    left: 1rem;
    top: 1rem;
    width: 95%;
    height: 50%;
}

#careers-img-4:before {
    left: 1rem;
    top: -1rem;
    width: 60%;
    height: 70%;
}

#career-images img {
    height: 20rem;
    object-fit: cover;
}

.growing-team:before {
    content: '';
    position: absolute;
    left: 0;
    top: 25%;
    width: 100%;
    height: 50%;
    background: url(/wp-content/uploads/presentation-certificate-group.jpg);
    background-repeat: no-repeat;
    background-position: center;
    opacity: .1;
    border-radius: var(--border-radius-20);
}

@media only screen and (max-width:980px) {
    .growing-team:before {
        width: 100%;
        left: 0;
        top: 19rem;
        height: 80%;
    }
}

/* Available Positions – career columns (h3, p, button) prevent overflow on mobile */
@media only screen and (max-width: 980px) {
    #available-positions .et_pb_row {
        flex-wrap: wrap;
    }

    #available-positions .et_pb_column {
        min-width: 0;
        flex: 1 1 auto;
        max-width: 100%;
    }

    #available-positions .et_pb_column .et_pb_module {
        min-width: 0;
        overflow-wrap: break-word;
    }

    #available-positions .et_pb_column h3,
    #available-positions .et_pb_column p {
        overflow-wrap: break-word;
        word-wrap: break-word;
    }

    #available-positions .et_pb_column .et_pb_button_module_wrapper,
    #available-positions .et_pb_column .et_pb_button {
        max-width: 100%;
    }
}

/* ============================================
   ABOUT
   ============================================ */

#about-question-slider .et_pb_group_carousel_dot {
    width: 20px;
    height: 15px;
    border-radius: 40%;
    border: 1px solid var(--Primary-Color);
    background-color: transparent;
    opacity: 1;
}

#about-question-slider .et_pb_group_carousel_dot_active {
    background-color: var(--Primary-Color);
}

/* ============================================
   WELCOME TO CHS
   ============================================ */

.welcome-visit-top:after {
    content: '';
    position: absolute;
    right: 6rem;
    top: -1rem;
    width: 60%;
    height: 90%;
    border: 1px solid var(--Color-Chartreuse);
    border-radius: var(--border-radius-20);
}

.welcome-visit-bottom:after {
    content: '';
    position: absolute;
    right: 2rem;
    top: -1rem;
    width: 100%;
    height: 100%;
    border: 1px solid var(--Color-Chartreuse);
    border-radius: var(--border-radius-20);
}

@media only screen and (max-width:980px) {
    .welcome-visit-bottom:after {
        top: 3rem;
        right: 1rem;
        height: 70%;
    }
}

/* ============================================
   OUR PEOPLE
   ============================================ */

#staff-photos img {
    border-radius: var(--border-radius-20);
}

.et_pb_team_member_description {
    margin-top: 10px;
}

.et_pb_member_position {
    color: var(--Default-Black);
}

/* ============================================
   PARTNERS
   ============================================ */

#partner-logos img {
    max-width: 250px;
    max-height: 150px;
    object-fit: contain;
}

@media only screen and (max-width:980px) {
    #partner-logos img {
        max-width: 100%;
        max-height: 150px;
        object-fit: contain;
    }
}

/* ============================================
   BLOG
   ============================================ */

/* Blog - Filter Buttons */
#filter-buttons .facetwp-radio,
#filter-buttons .facetwp-checkbox {
    background: none;
}

#filter-buttons .facetwp-facet-blog_categories,
#filter-buttons .facetwp-facet-news_categories,
#filter-buttons .facetwp-facet-service_categories,
#filter-buttons .facetwp-facet-service_agegroup {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    width: 100%;
}

#filter-buttons .facetwp-radio,
#filter-buttons .facetwp-checkbox {
    text-align: center;
    border: 2px solid var(--Primary-Color) !important;
    color: var(--Primary-Color);
    padding: 5px 15px;
    cursor: pointer;
    border-radius: var(--border-radius-20);
    transition: all 0.2s ease;
    user-select: none;
    margin-bottom: 0 !important;
    font-family: var(--font-family-body) !important;
    font-weight: var(--font-weight-regular-400);
}

#filter-buttons .facetwp-radio:hover,
#filter-buttons .facetwp-checkbox:hover {
    box-shadow: inset 0 0 0 3px var(--Primary-Color);
    transition: .2s ease;
}

#filter-buttons .facetwp-radio:before {
    display: none !important;
}

#filter-buttons .facetwp-radio.checked,
#filter-buttons .facetwp-checkbox.checked {
    background-color: var(--Primary-Color) !important;
    color: var(--Neutral-White);
    font-family: var(--font-family-body);
}

#filter-buttons .facetwp-display-value {
    display: block;
    font-weight: var(--font-weight-regular-400);
    padding-right: 0 !important;
}

.facetwp-counter {
    display: none;
}

a.facetwp-page {
    font-family: var(--font-family-body);
    color: var(--Primary-Color) !important;
    text-decoration: none !important;
    font-size: var(--Body-Size);
}

a.facetwp-page.active {
    border: 1px solid var(--Color-Green);
    border-radius: var(--border-radius-20);
}

/* Blog - Detail Page */
#blog-post-content {

    h1,
    h2,
    h3,
    h4 {
        color: var(--Primary-Color);
    }
}

#blog-post-content a:not(.et_pb_button),
#success-story-post-content a:not(.et_pb_button) {
    text-decoration: underline !important;
}

/* #blog-post-content:hover a,
#success-story-post-content:hover a {
    text-decoration: underline !important;
    transform: translateY(-5px) !important;
} */

/* Blog - List */
ol.fsm-post-list {
    list-style-type: none;
    display: grid;
    grid-template-columns: repeat(3, 1fr) !important;
    grid-gap: 3vh !important;
}

.fsm-post-list h2,
.fsm-post-list h3 {
    font-size: clamp(1.2rem, 2.5cqw, 1.8rem) !important;
}

li.fsm-post-item {
    display: flex;
    flex-wrap: wrap;
    height: 100%;
    border-radius: var(--border-radius-20);
    transition: ease all 0.3s;
    border: 1px solid var(--Color-Warm-Red);
    padding: 1.5rem;
}

li.fsm-post-item img {
    min-height: 215px;
    max-height: 215px !important;
    object-fit: cover;
    object-position: center;
    min-width: 100%;
    padding: 0;
}

li.fsm-post-item a.wrapping-link {
    display: block;
    height: auto;
    width: 100%;
    padding: 2em 1em;
}

li.fsm-post-item a.text-link-style {
    display: block;
    margin-top: auto;
}

li.fsm-post-item a {
    text-decoration: none !important;
}

li.fsm-post-item time {
    color: var(--Primary-Color);
}

li.fsm-post-item:hover {
    box-shadow: inset 0 0 0 4px var(--Color-Warm-Red);
    transition: .2s ease;
}

li.fsm-post-item:focus-visible {
    box-shadow: inset 0 0 0 4px green;
    transition: .2s ease;
}





div#imagewrapper {
    height: 100%;
    display: flex;
}

span#date-published {
    color: var(--Default-Black) !important;
    font-size: 10px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

div#post-info {
    padding: 5vh 0;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    margin-bottom: 20px;
}

div#post-info p,
div#post-info span,
div#post-info h2 {
    width: 100%;
}

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

    ol.fsm-post-list,
    ol.fsm-post-list li:first-child {
        display: block !important;
    }

    ol.fsm-post-list li {
        margin-bottom: 10px;
    }

    div#imagewrapper {
        max-height: 400px;
        margin: 0;
    }
}

/* ============================================
   DONOR ROLL
   ============================================ */

.donor-lists ul {
    column-count: 3;
}

/* ============================================
   ADDITIONAL UTILITIES
   ============================================ */

.int-hero-top {
    position: absolute;
    transform: scale(.5);
    right: 0;
    top: 0;
    border-radius: var(--border-radius-20);
}

.int-hero-bottom {
    position: absolute;
    transform: scale(.7);
    left: 25%;
    border-radius: var(--border-radius-20);
}

/* ============================================
   LOCATION FINDER
   ============================================ */

.fsm-location-finder {
    width: 100%;
    margin: 2em 0;
}

.fsm-location-error {
    padding: 1em;
    background-color: var(--Color-Warm-Red);
    color: var(--Neutral-White);
    border-radius: var(--border-radius-20);
    text-align: center;
}

.fsm-location-finder-wrapper {
    display: flex;
    flex-direction: column;
    gap: 2em;
}

.fsm-location-finder-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    padding: 1.5em;
    background-color: var(--Neutral-White);
    border-radius: var(--border-radius-20);
    box-shadow: var(--box-shadow-200);
}

.fsm-location-finder-filters .facetwp-facet {
    flex: 1 1 250px;
    min-width: 200px;
}

.fsm-location-finder-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2em;
}

.fsm-location-sidebar {
    position: relative;
    min-height: 400px;
}

.fsm-location-list {
    max-height: 600px;
    overflow-y: auto;
    padding-right: 1em;
    transition: opacity 0.2s ease;
}

.fsm-location-list.fade-out {
    opacity: 0;
    pointer-events: none;
}

.fsm-location-list::-webkit-scrollbar {
    width: 8px;
}

.fsm-location-list::-webkit-scrollbar-track {
    background: var(--Neutral-Gray);
    border-radius: 10px;
}

.fsm-location-list::-webkit-scrollbar-thumb {
    background: var(--Primary-Color);
    border-radius: 10px;
}

.fsm-location-item {
    padding: 1.5em;
    margin-bottom: 1em;
    background-color: var(--Neutral-White);
    border: 2px solid var(--Light-Gray);
    border-radius: var(--border-radius-20);
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
}

.fsm-location-item:hover {
    border-color: var(--Primary-Color);
    background-color: var(--Color-Light-Blue);
    box-shadow: 0 2px 8px rgba(49, 85, 164, 0.15);
    transform: translateY(-2px);
}

.fsm-location-item.active {
    border-color: var(--Primary-Color);
    border-width: 3px;
    background-color: var(--Color-Light-Blue);
    box-shadow: var(--box-shadow-200);
    transform: translateY(-2px);
}

.fsm-location-item.active::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background-color: var(--Primary-Color);
    border-radius: var(--border-radius-20) 0 0 var(--border-radius-20);
}

.fsm-location-item .location-title {
    font-size: var(--Heading-4-Size);
    font-weight: var(--font-weight-bold-700);
    color: var(--Primary-Color);
    margin-bottom: 0.5em;
}

.fsm-location-item .location-address {
    font-size: var(--Body-Size);
    color: var(--Neutral-Dark);
    margin-bottom: 0.5em;
    line-height: 1.6;
}

.fsm-location-item .location-phone {
    font-size: var(--Body-Size);
    color: var(--Neutral-Dark);
    margin-bottom: 0.5em;
}

.fsm-location-item .location-phone a {
    color: var(--Primary-Color);
    text-decoration: none;
}

.fsm-location-item .location-phone a:hover {
    text-decoration: underline;
}

.fsm-location-map-container {
    position: sticky;
    top: 20px;
    width: 100%;
    border-radius: var(--border-radius-20);
    overflow: hidden;
    box-shadow: var(--box-shadow-200);
}

.fsm-location-map {
    width: 100%;
    height: 100%;
    min-height: 400px;
}

/* Google Maps Info Window Styling */
.fsm-location-info-window {
    padding: 1em;
    max-width: 300px;
}

.fsm-location-info-window .location-info-title {
    font-size: var(--Heading-5-Size);
    font-weight: var(--font-weight-bold-700);
    color: var(--Primary-Color);
    margin-bottom: 0.5em;
}

.fsm-location-info-window .location-info-address {
    font-size: var(--Body-Size-sm);
    color: var(--Neutral-Dark);
    margin-bottom: 0.5em;
    line-height: 1.5;
}

.fsm-location-info-window .location-info-phone {
    font-size: var(--Body-Size-sm);
    margin-bottom: 0.5em;
}

.fsm-location-info-window .location-info-phone a {
    color: var(--Primary-Color);
    text-decoration: none;
}

.fsm-location-info-window .location-info-link {
    margin-top: 0.5em;
}

.fsm-location-info-window .location-info-link a {
    display: inline-block;
    padding: 0.5em 1em;
    background-color: var(--Primary-Color);
    color: var(--Neutral-White);
    text-decoration: none;
    border-radius: var(--border-radius-20);
    font-size: var(--Body-Size-sm);
    font-weight: var(--font-weight-bold-700);
}

.fsm-location-info-window .location-info-link a:hover {
    background-color: var(--Color-Green);
}

/* Detail View Styles */
.fsm-location-detail-view {
    max-height: 600px;
    overflow-y: auto;
    padding-right: 1em;
    animation: fadeIn 0.2s ease;
}

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

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

.fsm-location-detail-back {
    display: flex;
    align-items: center;
    gap: 0.5em;
    padding: 0.75em 1em;
    margin-bottom: 1.5em;
    background-color: var(--Neutral-White);
    border: 2px solid var(--Light-Gray);
    border-radius: var(--border-radius-20);
    color: var(--Primary-Color);
    font-size: var(--Body-Size);
    font-weight: var(--font-weight-bold-700);
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: var(--font-family-body);
}

.fsm-location-detail-back:hover {
    border-color: var(--Primary-Color);
    background-color: var(--Color-Light-Blue);
    transform: translateX(-3px);
}

.fsm-location-detail-back-icon {
    font-size: 1.2em;
    line-height: 1;
}

.fsm-location-detail-back-text {
    line-height: 1;
}

.fsm-location-detail-content {
    background-color: var(--Neutral-White);
    border-radius: var(--border-radius-20);
    padding: 2em;
    box-shadow: var(--box-shadow-200);
}

.fsm-location-detail-header {
    margin-bottom: 1.5em;
    padding-bottom: 1em;
    border-bottom: 2px solid var(--Light-Gray);
}

.fsm-location-detail-title {
    font-size: var(--Heading-2-Size);
    font-weight: var(--font-weight-extrabold-800);
    color: var(--Primary-Color);
    margin: 0;
    line-height: 1.2;
}

.fsm-location-detail-body {
    display: flex;
    flex-direction: column;
    gap: 1.5em;
}

.fsm-location-detail-section {
    display: flex;
    flex-direction: column;
    gap: 0.5em;
}

.fsm-location-detail-section-title {
    font-size: var(--Heading-5-Size);
    font-weight: var(--font-weight-bold-700);
    color: var(--Color-Dark-Gray);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.fsm-location-detail-address,
.fsm-location-detail-phone,
.fsm-location-detail-email,
.fsm-location-detail-hours {
    font-size: var(--Body-Size);
    color: var(--Neutral-Dark);
    margin: 0;
    line-height: 1.6;
}

.fsm-location-detail-phone a,
.fsm-location-detail-email a {
    color: var(--Primary-Color);
    text-decoration: none;
    transition: color 0.3s ease;
}

.fsm-location-detail-phone a:hover,
.fsm-location-detail-email a:hover {
    color: var(--Color-Green);
    text-decoration: underline;
}

.fsm-location-detail-description {
    font-size: var(--Body-Size);
    color: var(--Neutral-Dark);
    line-height: 1.8;
}

/* Responsive Design */
@media screen and (max-width: 980px) {
    .fsm-location-finder-content {
        grid-template-columns: 1fr;
    }

    .fsm-location-map-container {
        position: relative;
        top: 0;
        order: -1;
        /* Show map first on mobile */
    }

    .fsm-location-list,
    .fsm-location-detail-view {
        max-height: 400px;
    }

    .fsm-location-finder-filters {
        flex-direction: column;
    }

    .fsm-location-finder-filters .facetwp-facet {
        flex: 1 1 auto;
        min-width: 100%;
    }

    .fsm-location-detail-content {
        padding: 1.5em;
    }

    .fsm-location-detail-title {
        font-size: var(--Heading-3-Size);
    }
}

/*contact us - location finder card styling*/
#wpsl-result-list li p {
    margin: 0 0 0px 0 !important;
}

.wpsl-info-window p span,
.wpsl-info-window p strong,
.wpsl-info-window span {
    font-size: 1.2em !important;
}

.wpsl-info-window {
    font-weight: var(--font-weight-regular-400) !important;
}

#page-container .reduced-line-height a {
    line-height: 1.5 !important;
}

.single-event #page-container #et-boc h1 {
    font-size: var(--Heading-2-Size);
}