/*
Custom CSS for 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

DEVELOPER NOTES:
- #page-container selector is intentionally used throughout for scoping to override
  Divi and WordPress core styles. This ensures proper specificity and prevents
  style conflicts with parent theme and plugin styles.
- Empty button style declarations (fsm-btn-*) are framework placeholders for
  custom website implementations. Fill these in per project requirements.
- Transition syntax: Property-specific transitions (e.g., "border-color 0.2s ease")
  are preferred for performance and clarity, but "ease all" is acceptable for
  simple cases where multiple properties need the same transition.
- Copy variables from theme.css to variables.css when ready to organize per project.
*/
:root {
    --font-family-sans: Inter, sans-serif !important;
    --font-family-serif: Inter, sans-serif !important;
    --et_global_heading_font: Inter, sans-serif !important;
    --et_global_body_font: Inter, sans-serif !important;
    --gf-font-family-base: Inter, sans-serif !important;

    --font-weight-extra-light: 100;
    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-bold: 700;

    /* Typography - Font Sizes */
    --Heading-Extra-Large: clamp(2.5rem, -0.4769rem + 7.9077vw, 7.8rem);
    --Heading-1-Size: clamp(2rem, 1.15rem + 4cqi, 3.1875rem);
    --Heading-2-Size: clamp(2rem, 1.6rem + 2cqi, 2.5rem);
    --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.125rem, 1.125rem + 0vw, 1.125rem);;
    --Body-Size: clamp(0.9rem, round(0.707rem + 0.257cqi, 0.54rem), 1.125rem);
    --Body-Size-sm: clamp(0.875rem, round(0.786rem + 0.286cqi, 0.6rem), 1rem);
    
    /*Line Heights*/
    --line-height-xs: 1.25;
    --line-height-sm: 1.5;

    /*PAG color palette*/
    --color-brand-red: #DB4438;
    --color-dark-red: #BB3F34;
    --color-new-green: #b8db15;
    --color-green: #3BB658;
    --color-dark-gray: #292928;
    --color-light-gray:#F2F2F2;
    --color-off-white: #F8F0EB;
    --color-white: #ffffff;
    --color-navy: #122E4D;
    --color-dusty-blue: #38618C;
    --color-bright-blue: #35A7FF;
    --color-light-blue: #E9F5FF;

    /*Border Radius*/
    --border-radius-12: 12px;

    /*Foundation color palette*/
    --gray-50: #f5faff;
    --gray-100: #F1F5F9FF;
    --gray-200: #E2E8F0FF;
    --gray-300: #CBD5E1FF;
    /* --gray-400: #94A3B8FF; */
    --gray-500: #64748BFF;
    /* --gray-600: #475569FF; */
    /* --gray-700: #334155FF; */
    --gray-800: #1F2937FF;
    --gray-900: #0F172AFF;

    --brand-primary-50: #EFF6FFFF;
    --brand-primary-100: #DBEAFEFF;
    --brand-primary-200: #BFDBFEFF;
    --brand-primary-300: #93C5FDFF;
    --brand-primary-400: #60A5FAFF;
    --brand-primary-500: #3B82F6FF;
    --brand-primary-600: #2563EBFF;
    --brand-primary-700: #1D4ED8FF;
    --brand-primary-800: #1E40AFFF;
    --brand-primary-900: #1E3A8AFF;

    --brand-secondary-50: #F0FDFAFF;
    --brand-secondary-100: #CCFBF1FF;
    --brand-secondary-200: #99F6E4FF;
    --brand-secondary-300: #5EEAD4FF;
    --brand-secondary-400: #2DD4BFFF;
    --brand-secondary-500: #14B8A6FF;
    --brand-secondary-600: #0D9488FF;
    --brand-secondary-700: #0F766EFF;
    --brand-secondary-800: #115E59FF;
    --brand-secondary-900: #134E4AFF;

    --accent-primary-50: #FFF7ED;
    --accent-primary-100: #FFEDD5;
    --accent-primary-400: #FB923C;
    --accent-primary-500: #F97316;
    --accent-primary-600: #EA580C;
    --accent-primary-700: #C2410C;

    --accent-secondary-50: #EEF2FF;
    --accent-secondary-100: #E0E7FF;
    --accent-secondary-400: #818CF8;
    --accent-secondary-500: #6366F1;
    --accent-secondary-600: #4F46E5;
    --accent-secondary-700: #4338CA;

    /*Gravity Forms variables*/
    --feedback-green-50: #F0FDF4;
    --feedback-green-100: #DCFCE7;
    --feedback-green-500: #22C55E;
    --feedback-green-700: #15803D;

    --feedback-red-50: #FEF2F2;
    --feedback-red-100: #FEE2E2;
    --feedback-red-500: #EF4444;
    --feedback-red-700: #B91C1C;

    --background-primary: var(--gray-50);
    --background-secondary: var(--gray-100);
    --background-tertiary: var(--gray-200);
   --background-inverse: var(--gray-800); 

    --text-default: var(--dark-gray);
    --text-heading: var(--color-navy);
    --text-muted: var(--gray-500);
    --text-link: var(--brand-primary-500);
    --text-on-action: var(--gray-50);
    --text-inverse: var(--gray-50);

    --border-default: var(--gray-200);
    --border-interactive: var(--brand-primary-500);

    --action-primary-default: var(--color-new-green);
    --action-primary-hover: var(--color-new-green);
    --action-primary-text: var(--color-dark-gray);
    --action-secondary-default: var(--brand-secondary-500);
    --action-secondary-hover: var(--brand-secondary-600);
    --action-secondary-text: var(--gray-50);
    --action-accent-default: var(--accent-primary-500);
    --action-accent-hover: var(--accent-primary-600);
    --action-accent-text: var(--gray-50);
    
    --feedback-success-bg: var(--feedback-green-50);
    --feedback-success-text: var(--feedback-green-700);
    --feedback-destructive-bg: var(--feedback-red-50);
    --feedback-destructive-text: var(--feedback-red-700);
}

:focus-visible {
    /* A 2px dark outer ring */
    outline: 2px solid #109cde;

    /* A 2px light inner ring (using box-shadow) */
    box-shadow: 0 0 0 2px #FFFFFF;

    /* Ensures the outline is on top of other elements */
    position: relative;
    z-index: 1;
}

/* GLOBAL BUTTON STYLES */
#page-container #main-content .et_pb_button {
    border-radius: var(--border-radius-12);
    text-align: center;
    font-style: normal;
    font-weight: regular;
    line-height: normal;
    letter-spacing: .32px;
    transition: ease all .3s;
    border: none;
}

/* Brand button backgrounds set in the builder: force readable text color */
#page-container #main-content .et_pb_button[style*="2a588d" i],
#page-container #main-content .et_pb_button[style*="42, 88, 141"],
#page-container #main-content .et_pb_button[style*="42,88,141"] {
    color: #ffffff !important;
}

#page-container #main-content .et_pb_button[style*="b8db15" i],
#page-container #main-content .et_pb_button[style*="184, 219, 21"],
#page-container #main-content .et_pb_button[style*="184,219,21"] {
    color: #282828 !important;
}

/* GHOST BUTTON*/
#page-container .et_pb_button.ghost-btn:hover{
    background-color: transparent !important;
    text-decoration: underline !important;
}
#page-container .et_pb_button.ghost-btn:hover::after {
    margin-left: 0.6em !important;
    transition: .3s ease;
}

#page-container .et_pb_button.ghost-btn:hover {}

#page-container .et_pb_button.ghost-btn:focus {}

/* LARGE BUTTON SIZING */
#page-container .et_pb_button.large {
    padding: 1em 2em;
    font-size: var(--font-size-200);
}

/* SMALL BUTTON SIZING */
#page-container .et_pb_button.small {
    padding: .7em 1.3em;
    font-size: 14px;
}

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

#main-content a:not(.et_pb_button, .icon, img, .fsm-post-list a, .card):hover {
    border-radius: 3px;
    background-color: rgba(21, 43, 55, .2);
    transition: ease all .2s;
}

/* 
    Font Sizing
*/

body:not(.et-vb-root-ancestor) #page-container {
    h1 {
        font-size: var(--Heading-1-Size);
        font-weight: var(--font-weight-bold);
    }

    h2 {
        font-size: var(--Heading-2-Size) !important;
        color: #2A588D;
        font-weight: var(--font-weight-bold);
        padding-bottom: 1rem;
    }

    h3 {
        font-size: var(--Heading-3-Size);
    }

    h4 {
        font-size: var(--Heading-4-Size);
    }

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

    h6 {
        font-size: var(--font-size-200);
    }
}

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

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

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

body .small {
    font-size: .75rem;
}

/*Blog Font Sizes*/
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;
        }
    }

    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;
    }
}

/* END FONT STYLE */


/* START HEADER STYLES */
#main-header {
    margin-top: 20px;
    margin-bottom: 20px;
}

.mega-menu li a {
    color: var(--color-dark-gray) !important;
    transition: ease all 0.3s !important;
}

#page-container .mega-menu li a:hover {
    opacity: .8 !important;
    text-decoration: underline !important;
}

.feat-btn {
    background-color: var(--color-new-green) !important;
    border-radius: var(--border-radius-12) !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: #009DDD !important;
    transition: .2s ease;
}

#page-container .feat-btn a.mega-menu-link:hover {
    text-decoration: none !important;
}

@media screen and (max-width: 980px) { 
    .feat-btn{
        width: 40% !important;
    }
}

@media (min-width: 981px) {
    .mega-sub-menu a.mega-menu-link {
        white-space: nowrap !important;
    }
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-menu-item.mega-menu-flyout ul.mega-sub-menu {
    width: fit-content;
}

/* ACTIVE LINK STYLES */

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


/*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-color: var(--red-400) !important;
    padding: 0 10px;
}

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

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

#page-container #et-boc li.mobile-menu-item {

    line-height: 3em;
    padding-top: 0;
    padding-bottom: 0;
}


#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-heading) !important;
}

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

#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, #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:focus {
    font-weight: bold;
}


/*END HEADER*/

/* START FOOTER STYLES */

footer a{
    color: var(--color-dark-gray) !important;
    transition: ease all 0.3s !important;
}

footer a:hover{
    opacity: .8 !important;
    transition: ease all 0.3s !important;
}

.social-follow a {
    text-decoration: underline;
}

#copyright-group a{
    color: #757575 !important;
}
#copyright-group a:hover{
    color: #888888 !important;
    text-decoration: underline !important;
}

#copyright-group p {
    color: #757575;
}

/*END FOOTER*/

/* START PAGE ORGANIZATION */

/*
HOMEPAGE
*/
/*END*/

/*
BLOG
*/
/*END*/

/*
BLOG LIST
*/
/*END*/

/* ============================================
   GRAVITY FORMS ORBITAL THEME STYLES
   ============================================ */

/* Global Orbital Theme Variables - Maps theme variables to Gravity Forms CSS API */
.gform-theme--orbital {
    /* Primary Colors */
    --gf-color-primary: var(--brand-primary-500);
    --gf-color-primary-contrast: var(--text-on-action);
    --gf-color-primary-darker: var(--brand-primary-600);
    --gf-color-primary-lighter: var(--brand-primary-400);

    /* Secondary Colors */
    --gf-color-secondary: var(--brand-secondary-500);
    --gf-color-secondary-contrast: var(--text-on-action);
    --gf-color-secondary-darker: var(--brand-secondary-600);
    --gf-color-secondary-lighter: var(--brand-secondary-400);

    /* Control Colors */
    --gf-control-bg-color: var(--background-primary);
    --gf-control-bg-color-focus: var(--background-primary);
    --gf-control-border-color: var(--border-default);
    --gf-control-border-color-focus: var(--gf-color-primary);
    --gf-control-color: var(--text-default);
    --gf-control-color-focus: var(--text-default);
    --gf-control-color-placeholder: var(--text-muted);
    
    /* 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(--gf-color-primary);
    --gf-ctrl-color: var(--gf-control-color);
    --gf-ctrl-color-focus: var(--gf-control-color-focus);
    
    /* Focus Outline Variables - Subtle shadow for depth, border provides main feedback */
    --gf-ctrl-outline-color-focus: var(--brand-primary-500);
    --gf-ctrl-outline-width-focus: 2px;

    /* Label Colors */
    --gf-label-color: var(--color-white);
    --gf-label-font-size: 16px;
    --gf-label-font-weight: var(--font-weight-bold);
    --gf-label-line-height: var(--line-height-sm);

    /* Description Colors */
    --gf-description-color: var(--text-muted);
    --gf-description-font-size: var(--font-size-100);
    --gf-description-line-height: var(--line-height-sm);

    /* Button Colors */
    --gf-button-primary-bg-color: var(--action-primary-default);
    --gf-button-primary-bg-color-hover: var(--action-primary-hover);
    --gf-button-primary-color: var(--action-primary-text);
    --gf-button-primary-color-hover: var(--action-primary-text);

    /* Border & Radius */
    --gf-control-border-radius: 4px;
    --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: 0px;
    --gf-description-margin-top: 4px;

    /* Typography */
    --gf-control-font-size: var(--font-size-200);
    --gf-control-line-height: var(--line-height-sm);
    --gf-control-font-family: var(--font-family-sans);

    /* Error States */
    --gf-error-color: var(--color-new-green);
    --gf-error-bg-color: var(--feedback-red-50);
    --gf-error-border-color: var(--feedback-red-500);

    /* Success States */
    --gf-success-color: var(--feedback-green-500);
    --gf-success-bg-color: var(--feedback-green-50);
}

/* Foundation Layer Variable Overrides - Override Foundation defaults */
#page-container .gform-theme--foundation,
#page-container .gform-theme--api {
    --gf-form-gap-x: 16px;
    --gf-form-gap-y: 20px;
    --gf-form-footer-margin-y-start: 24px;
    --gf-form-footer-gap: 8px;
    --gf-field-gap-x: 12px;
    --gf-field-gap-y: 12px;
    --gf-field-date-width: 168px;
    --gf-field-time-width: 110px;
    --gf-field-list-btns-gap: 8px;
    --gf-field-list-btns-width: calc(32px + var(--gf-field-list-btns-gap) + var(--gf-field-gap-x));
    --gf-field-pg-steps-gap-y: 8px;
    --gf-field-pg-steps-gap-x: 24px;
    --gf-label-width: 30%;
    --gf-label-req-gap: 6px;
}

/* Form Wrapper Base Styles */
#page-container .gform-theme--orbital {
    font-family: var(--font-family-sans);
    color: var(--text-default);
}

/* Form Field Container */
#page-container .gform-theme--orbital .gfield {
    /*margin-bottom: var(--gf-field-margin-bottom);*/
    margin-bottom: 0;
}

/* Labels */
#page-container .gform-theme--orbital .gfield_label,
#page-container .gform-theme--orbital label.gfield_label {
    color: var(--gf-label-color);
    font-size: var(--gf-label-font-size);
    font-weight: var(--gf-label-font-weight);
    line-height: var(--gf-label-line-height);
    margin-bottom: var(--gf-label-margin-bottom);
    font-family: var(--font-family-sans);
}

/* Required Label Indicator */
#page-container .gform-theme--orbital .gfield_required {
    color: var(--gf-error-color);
    margin-left: 0;
    font-size: 12px;
}
#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,  gfield_select{
    background: var(--color-white) !important;
    color: #000 !important;
}
/* Field Descriptions */
#page-container .gform-theme--orbital .gfield_description,
#page-container .gform-theme--orbital .gfield_description.validation_message {
    color: var(--gf-description-color);
    font-size: var(--gf-description-font-size);
    line-height: var(--gf-description-line-height);
    margin-top: var(--gf-description-margin-top);
}

/* Text Inputs, Textareas, Selects */
#page-container .gform-theme--orbital input[type="text"],
#page-container .gform-theme--orbital input[type="email"],
#page-container .gform-theme--orbital input[type="tel"],
#page-container .gform-theme--orbital input[type="url"],
#page-container .gform-theme--orbital input[type="number"],
#page-container .gform-theme--orbital input[type="password"],
#page-container .gform-theme--orbital input[type="date"],
#page-container .gform-theme--orbital input[type="time"],
#page-container .gform-theme--orbital textarea,
#page-container .gform-theme--orbital select {
    background-color: var(--gf-control-bg-color);
    border: var(--gf-control-border-width) solid var(--gf-control-border-color);
    border-radius: var(--gf-control-border-radius);
    color: #000;
    font-size: var(--gf-control-font-size);
    line-height: var(--gf-control-line-height);
    font-family: var(--gf-control-font-family);
    padding: var(--gf-control-padding-y) var(--gf-control-padding-x);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    width: 100%;
}

#page-container .gform-theme--orbital select {
    line-height: unset;
}

/* Input Focus States - Framework handles focus states via CSS variables */
/* Removed manual focus styles to allow framework variables to work properly */

/* Placeholder Text */
#page-container .gform-theme--orbital input::placeholder,
#page-container .gform-theme--orbital textarea::placeholder {
    color: var(--gf-control-color-placeholder);
    opacity: 1;
}

/* Submit Button */
#page-container .gform-theme--orbital .gform_button,
#page-container .gform-theme--orbital input[type="submit"],
#page-container .gform-theme--orbital button[type="submit"] {
    background-color: var(--gf-button-primary-bg-color);
    color: var(--gf-button-primary-color);
    border: none;
    border-radius: var(--gf-control-border-radius);
    padding: var(--gf-control-padding-y) var(--gf-control-padding-x);
    font-size: var(--gf-control-font-size);
    font-weight: var(--font-weight-bold);
    font-family: var(--font-family-sans);
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.1s ease;
    text-transform:none;
    letter-spacing: 0.32px;
}

#page-container .gform-theme--orbital .gform_button:hover,
#page-container .gform-theme--orbital input[type="submit"]:hover,
#page-container .gform-theme--orbital button[type="submit"]:hover {
    background-color: var(--gf-button-primary-bg-color-hover);
}

#page-container .gform-theme--orbital .gform_button:active,
#page-container .gform-theme--orbital input[type="submit"]:active,
#page-container .gform-theme--orbital button[type="submit"]:active {
    transform: translateY(1px);
}

/* Error States */
#page-container .gform-theme--orbital .gfield_error input,
#page-container .gform-theme--orbital .gfield_error textarea,
#page-container .gform-theme--orbital .gfield_error select {
    border-color: var(--gf-error-border-color);
    background-color: var(--gf-error-bg-color);
}

#page-container .gform-theme--orbital .gfield_error .validation_message {
    color: var(--gf-error-color);
    font-size: var(--gf-description-font-size);
    margin-top: var(--gf-description-margin-top);
}

/* Success Message */
#page-container .gform-theme--orbital .gform_confirmation_message {
    background-color: var(--gf-success-bg-color);
    color: var(--gf-success-color);
    padding: 16px;
    border-radius: var(--gf-control-border-radius);
    border-left: 4px solid var(--gf-success-color);
    margin-bottom: var(--gf-field-margin-bottom);
}

/* Checkbox and Radio Styles */
#page-container .gform-theme--orbital .gchoice label {
    font-weight: var(--font-weight-regular);
    color: var(--text-default);
    cursor: pointer;
}

#page-container .gform-theme--orbital input[type="checkbox"],
#page-container .gform-theme--orbital input[type="radio"] {
    width: auto;
    margin-right: 8px;
    cursor: pointer;
}

/* File Upload Field */
#page-container .gform-theme--orbital .ginput_container_fileupload input[type="file"] {
    padding: var(--gf-control-padding-y);
}

/* Hidden Fields */
#page-container .gform-theme--orbital .gform_hidden {
    display: none;
}

/* Page Break Navigation */
#page-container .gform-theme--orbital .gform_page_footer {
    margin-top: 32px;
}

#page-container .gform-theme--orbital .gform_page_footer .gform_previous_button {
    background-color: var(--gray-200);
    color: var(--text-default);
}

#page-container .gform-theme--orbital .gform_page_footer .gform_previous_button:hover {
    background-color: var(--gray-300);
}

/* Progress Bar (if using progress indicators) */
#page-container .gform-theme--orbital .gf_progressbar {
    background-color: var(--gray-200);
    border-radius: var(--gf-control-border-radius);
    height: 8px;
    margin-bottom: var(--gf-field-margin-bottom);
}

#page-container .gform-theme--orbital .gf_progressbar_percentage {
    background-color: var(--gf-color-primary);
    border-radius: var(--gf-control-border-radius);
    height: 100%;
    transition: width 0.3s ease;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    #page-container .gform-theme--orbital {
        --gf-control-padding-x: 14px;
        --gf-control-padding-y: 10px;
        --gf-field-margin-bottom: 20px;
    }
}

/* END GRAVITY FORMS ORBITAL THEME STYLES */

/* ============================================
   SITEWIDE REUSEABLE STYLES
   ============================================ */
.font-blue {
    color: #009DDD;
}

/* ============================================
   HOME / #home-hero – Group carousel: 2 full + partial 3rd slide
   ============================================ */
/* Override 3-slides setting so viewport shows 2.5 slides (2 full + peek of next). */
#home-hero .et_pb_group_carousel.et_pb_group_carousel_slides_3 .et_pb_group_carousel_slide,
#home-hero .et_pb_group_carousel.et_pb_group_carousel_slides_3 .et_pb_group {
    flex: 0 0 40%;
}

/* --- Swiper carousel (row: .custom-carousel-container; column: .custom-carousel-group; data-carousel-mode="peek-40" = 2 full + peek, same as #home-hero) --- */
#page-container #home-hero .custom-carousel-group.swiper,
#page-container #home-hero .custom-carousel-group.pag-swiper-root,
#page-container [data-carousel-mode="peek-40"] .custom-carousel-group.swiper,
#page-container [data-carousel-mode="peek-40"] .custom-carousel-group.pag-swiper-root {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    box-sizing: border-box;
}

#page-container #home-hero .custom-carousel-group .custom-carousel-item,
#page-container [data-carousel-mode="peek-40"] .custom-carousel-group .custom-carousel-item {
    width: 40%;
    flex-shrink: 0;
    box-sizing: border-box;
}

@media (max-width: 980px) {
    #page-container #home-hero .custom-carousel-group .custom-carousel-item,
    #page-container [data-carousel-mode="peek-40"] .custom-carousel-group .custom-carousel-item {
        width: 88%;
    }
}

/* Above ~1300px, 40% slide width grows too large (wide gaps vs design); cap to artboard width. */
@media (min-width: 1301px) {
    #page-container #home-hero .custom-carousel-group .custom-carousel-item,
    #page-container [data-carousel-mode="peek-40"] .custom-carousel-group .custom-carousel-item {
        width: 460px;
    }
}

#page-container #home-hero .custom-carousel-item img,
#page-container [data-carousel-mode="peek-40"] .custom-carousel-item img {
    border-radius: 0 10px 10px 0;
    width: 100%;
    height: auto;
    display: block;
}

#page-container .custom-carousel-group.swiper .custom-carousel-item img,
#page-container .custom-carousel-group.pag-swiper-root .custom-carousel-item img {
    width: 100%;
    height: auto;
    display: block;
}

/* Keyboard: Swiper root is tabindex=0 because <img> slides are not tab stops; show focus when using Tab + arrows */
#page-container .custom-carousel-group.swiper:focus-visible,
#page-container .custom-carousel-group.pag-swiper-root:focus-visible {
    outline: 3px solid var(--color-bright-blue, #35a7ff);
    outline-offset: 4px;
}

/* --- Swiper product slider: row .product-slider-container; pagination lives in .slide-text-group (JS) --- */
#page-container .product-slider-container {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-x: clip;
}

#page-container .product-slider-container > .et_pb_column {
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

#page-container .product-slider-group.swiper,
#page-container .product-slider-group.pag-swiper-root {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    position: relative;
    overflow: hidden !important;
}

/* Divi et_flex_group applies flex-grow; without this, all slides sit in one row and Swiper width/loop break. */
#page-container .product-slider-group.swiper > .swiper-wrapper {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

#page-container .product-slider-group.swiper .swiper-wrapper > .product-slider-elements {
    box-sizing: border-box;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    height: auto;
    min-width: 0;
    max-width: 100%;
    /* Match Divi carousel row: image + text side by side, vertically centered */
    display: flex !important;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: clamp(18px, 3vw, 36px);
}

#page-container .product-slider-elements > .et_pb_image {
    flex: 0 1 50%;
    max-width: 50%;
    min-width: 0;
    align-self: center;
}

#page-container .product-slider-elements > .slide-text-group {
    flex: 1 1 45%;
    min-width: 0;
    align-self: center;
    position: relative;
    padding: 1rem 1.5rem 2.75rem clamp(0.5rem, 1.5vw, 1.25rem);
}

#page-container .product-slider-elements > .slide-text-group > .et_pb_group:last-child {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1.25rem;
}

#page-container .product-slider-elements img {
    border-radius: 0 10px 10px 0;
    width: 100%;
    height: auto;
    display: block;
}

/*
 * Pagination: last child of .slide-text-group (below buttons). In-flow + overrides Swiper absolute defaults.
 */
#page-container .product-slider-elements .slide-text-group > .product-slider-pagination,
#page-container .product-slider-elements .slide-text-group > .product-slider-pagination.swiper-pagination-horizontal {
    position: relative !important;
    bottom: auto !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
    margin-top: 3rem !important;
    margin-bottom: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 12px;
    z-index: 2;
}

/* Legacy: row-level pagination from earlier builds (until cache refresh) */
#page-container .product-slider-container > .product-slider-pagination--outer,
#page-container .product-slider-container > .product-slider-pagination.product-slider-pagination--outer {
    position: relative !important;
    flex: 1 0 100%;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    order: 99;
    bottom: auto !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    margin-top: 0.75rem;
    margin-bottom: 0;
    padding-top: 0.25rem;
    padding-left: calc(50% + clamp(18px, 3vw, 36px));
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 12px;
    z-index: 2;
}

#page-container .product-slider-pagination .swiper-pagination-bullet {
    margin: 0 !important;
    width: 15px;
    height: 15px;
    opacity: 1;
    background-color: transparent;
    border: 2px solid #009DDD;
    border-radius: 50%;
    cursor: pointer;
    padding: 0;
}

#page-container .product-slider-pagination .swiper-pagination-bullet-active {
    background-color: #009DDD;
    border: none;
}

/* Ghost “All Polymers” chevron: thin angle bracket vs default icon weight */
#page-container .product-slider-elements a.et_pb_button.ghost-btn::after {
    content: "\203a" !important;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    font-weight: 300;
    font-size: 1.15em;
    line-height: 1;
    margin-left: 0.3em;
}

#page-container .product-slider-group.swiper:focus-visible,
#page-container .product-slider-group.pag-swiper-root:focus-visible {
    outline: 3px solid var(--color-bright-blue, #35a7ff);
    outline-offset: 4px;
}




/* ============================================
   HOME / #performance
   ============================================ */

#performance .slide-text-group {
    padding: 2rem 10rem 2rem 2rem;
}

#performance .slide-text-group {
    max-width: 70ch;
}


/* Swiper product slider in #performance: drop huge right padding (was for old absolute dots) */
#performance .product-slider-container .product-slider-elements > .slide-text-group {
    position: relative;
    padding: 1.5rem 1.5rem 2.75rem clamp(0.5rem, 1.5vw, 1.25rem);
}

.et_pb_group_carousel_slide h3,
#page-container .product-slider-elements h3 {
    font-weight: var(--font-weight-bold) !important;
    font-size: var(--Heading-2-Size) !important;
    color: #2A588D;
}

.et_pb_group_carousel_slide img {
    border-radius: 0 10px 10px 0;
}

/* Dots: appear inside the carousel at the bottom of the slide area (just under the buttons). */
#performance .et_pb_group_carousel {
    position: relative;
    display: block;
}
#performance .product-slider-container {
    position: relative;
}
#performance .et_pb_group_carousel_container {
    position: relative;
}

#performance div.et_pb_group_carousel_dots {
    position: absolute !important;
    bottom: 4rem !important;
    left: 29rem !important;
    right: 0 !important;
    top: auto !important;
    margin-top: 0 !important;
}

#performance .et_pb_group_carousel_dot_active {
    background-color: var(--color-brand-red) !important;
    border: none;
}

#performance .et_pb_group_carousel_dot {
    background-color: transparent;
    border: 2px solid var(--color-brand-red);
    height: 15px;
    width: 15px;
    opacity: 1;
}

/* #performance: Swiper dots inside .slide-text-group */
#performance .product-slider-elements .slide-text-group > .product-slider-pagination,
#performance .product-slider-container > .product-slider-pagination--outer,
#performance .product-slider-container > .product-slider-pagination {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    margin-top: 1rem !important;
    width: 100% !important;
    max-width: 100% !important;
    justify-content: flex-start;
    padding-left: 0;
}

@media (max-width: 980px) {
    .et_pb_group_carousel_slide img,
    #page-container .product-slider-elements img {
        max-width: 95%;
    }
    #performance .slide-text-group {
        padding: 1rem;
    }
    #performance div.et_pb_group_carousel_dots {
        justify-content: start;
        left: 1rem;
    }

    #page-container .product-slider-group.swiper .swiper-wrapper > .product-slider-elements {
        flex-direction: column;
        align-items: stretch;
        gap: 1.25rem;
    }

    #page-container .product-slider-elements > .et_pb_image {
        flex: none;
        max-width: 100%;
        width: 100%;
    }

    #page-container .product-slider-elements > .slide-text-group {
        padding: 0 0 2.5rem;
    }

    #page-container .product-slider-elements .slide-text-group > .product-slider-pagination {
        justify-content: center;
    }

    #page-container .product-slider-container > .product-slider-pagination--outer {
        justify-content: center;
        padding-left: 0;
    }

    #performance .product-slider-elements .slide-text-group > .product-slider-pagination,
    #performance .product-slider-container > .product-slider-pagination--outer,
    #performance .product-slider-container > .product-slider-pagination {
        justify-content: center !important;
        padding-left: 0 !important;
    }
}


/* ============================================
   HOME / #trust-pag
   ============================================ */

#trust-pag h3.et_pb_module_header{
    font-weight: var(--font-weight-bold) !important;
    font-size: var(--Heading-4-Size) !important;
    text-decoration: underline;
    color: #282828;
}


#trust-pag span.et_pb_image_wrap.et_pb_only_image_mode_wrap,
#trust-pag span.et_pb_image_wrap.et_pb_only_image_mode_wrap img {
    width: 4.5rem ! IMPORTANT;
}

#trust-pag h2 {
    max-width: 20ch;
}
/* Override Divi's display:table so image and blurb_container can be vertically centered
   (single horizontal line through center of image and center of heading). */
#trust-pag .et_pb_blurb_content {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    gap: 0rem;
}

#trust-pag div.et_pb_main_blurb_image{
    width: 100px !important;
    flex-shrink: 0;
    flex-grow: 0;
    max-width: 100px;
}

/* Blurb description hidden by default; shown on hover (desktop) or focus (mobile). */
#trust-pag .et_pb_blurb .et_pb_blurb_description {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.45s ease-in-out, visibility 0.45s ease-in-out, max-height 0.45s ease-in-out;
}

/* Desktop: show description on hover */
@media (hover: hover) {
    #trust-pag .et_pb_blurb:hover .et_pb_blurb_description {
        max-height: 20em;
        opacity: 1;
        visibility: visible;
    }
}

/* Touch: show description when blurb has .blurb-expanded (set by JS on tap). */
@media (hover: none) {
    #trust-pag .et_pb_blurb.blurb-expanded .et_pb_blurb_description {
        max-height: 20em;
        opacity: 1;
        visibility: visible;
    }
}

/* Keyboard: show description when any focusable element inside blurb has focus. */
#trust-pag .et_pb_blurb:focus-within .et_pb_blurb_description {
    max-height: 20em;
    opacity: 1;
    visibility: visible;
}

/* ============================================
   HOME / #industries
   ============================================ */
#industries h3.et_pb_module_header{
    font-weight: var(--font-weight-bold) !important;
    font-size: var(--Heading-5-Size) !important;
}

#industries .et_pb_blurb{
    border-bottom: 1px solid transparent;
}

/* #industries .et_pb_blurb:hover{
    border-bottom: 1px solid var(--color-dusty-blue);
    transition: .1s ease;
} */

#industries .et_pb_blurb.et_clickable {
    cursor: pointer;
}

#industries a.ghost-btn {
    font-size: 1rem;
}

#industries img {
    width: 6rem ! IMPORTANT;
}

#industries h3 {
    color: #282828 !important;
}

@media (min-width: 981px) {
    #industries h2 {
        max-width: 24ch;
        margin: auto;
        line-height: 125%;
    }

    #industries p {
        max-width: 80ch;
        margin: 0 auto;
    }
}

/* ============================================
   HOME / #home-about 
   ============================================ */
   #home-about h2.et_pb_toggle_title:before{
    font-weight: 500 !important;
}
   
/* ============================================
   FAQ SECTION STYLES
   ============================================ */

/* FAQ Section Container */
#page-container .faq-section {
    padding: 60px 0;
}

/* FAQ Accordion Container */
#page-container .faq-section .et_pb_accordion {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.faq-section h2 {
    max-width: 14ch;
}

/* Individual FAQ Toggle Item */
#page-container .faq-section .et_pb_toggle {
    background-color: #EBF9FF;
    border: none;
    border-radius: 0;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    overflow: hidden;
    border-bottom: 1px solid #2A588D;
}

/* Toggle Title (Question) */
#page-container .faq-section .et_pb_toggle_title {
    position: relative;
    /* padding: 20px 24px 20px 56px; */
    margin: 0;
    font-size: var(--Heading-3-Size);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-sm);
    color: var(--text-heading);
    cursor: pointer;
    transition: color 0.2s ease;
    /* font-family: var(--font-family-sans); */

}


.et_pb_toggle.et_pb_module.et_pb_accordion_item.et_pb_toggle_open h3 {
    color: #2A588D !important;
}

/* Toggle Title Hover State */
/* #page-container .faq-section .et_pb_toggle_title:hover {
    color: var(--brand-red);
} */

/* Toggle Title Focus State (Accessibility) */
/* #page-container .faq-section .et_pb_toggle_title:focus {
    outline: 2px solid var(--brand-primary-500);
    outline-offset: -2px;
    border-radius: 8px;
} */

/* Expand/Collapse Icon - Using Font Awesome 7 Pro (loaded via Divi Integrations) */
#page-container .faq-section .et_pb_toggle_title::before {
    content: '\f078'; /* Plus icon */
    font-family: "Font Awesome 7 Pro", "Font Awesome 7 Free" !important;
    display: flex;
    align-items: center;
    justify-content: center;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    font-size: 18px;
    color: var(--brand-red);
    border-radius: 50%;
    transition: background-color 0.2s ease, color 0.2s ease;
    line-height: 1;
    margin: 0;
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 6px;
    box-sizing: border-box;
}

/* Open State - Font Awesome minus icon */
#page-container .faq-section .et_pb_toggle_open .et_pb_toggle_title::before {
    content: '\f077'; /* Minus icon (mathematical minus sign) */
    color: var(--color-navy);
    transition: background-color 0.2s ease, color 0.2s ease;
}

/* Toggle Content (Answer) */
#page-container .faq-section .et_pb_toggle_close{
    padding: 1rem;
}

/* Open Toggle State - Enhanced Visual Feedback */
#page-container .faq-section .et_pb_toggle_open {
    border-color: var(--brand-primary-300);
    background-color: transparent;
    /* box-shadow: 0 2px 8px rgba(59, 130, 246, 0.08); */
    border: none;
    border-bottom: 1px solid #2A588D;
    padding: 1rem;
}

#page-container .faq-section .et_pb_toggle_content {
    /* padding: 10px; */
    color: var(--text-default);
    font-size: var(--font-size-200);
    line-height: var(--line-height-sm);
    /* font-family: var(--font-family-sans); */
    transition: opacity 0.3s ease, max-height 0.3s ease;
}

/* Toggle Content Paragraphs */
#page-container .faq-section .et_pb_toggle_content p {
    margin-bottom: 16px;
    color: var(--text-default);
}

#page-container .faq-section .et_pb_toggle_content p:last-child {
    margin-bottom: 0;
}

/* Closed Toggle Hover State */
/* #page-container .faq-section .et_pb_toggle_close:hover {
    border-bottom: 1px solid var(--color-navy);
    background-color: var(--light-blue);
} */

/* Closed Toggle Hover - Icon Animation */
/* #page-container .faq-section .et_pb_toggle_close:hover .et_pb_toggle_title::before {
    background-color: var(--brand-primary-100);
    color: var(--brand-primary-600);
} */

/* Open Toggle Hover State */
/* #page-container .faq-section .et_pb_toggle_open:hover {
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.12);
} */

/* Responsive Adjustments */
@media (max-width: 768px) {
    #page-container .faq-section {
        padding: 40px 0;
    }
    #page-container .faq-section .et_pb_column .et_pb_module{
        margin-bottom: 15px;
    }

    #page-container .faq-section .et_pb_toggle_close{
        padding: .5rem;
    }
    #page-container .faq-section .et_pb_toggle_open {
        padding: .5rem;
    }
    #page-container .faq-section .et_pb_accordion {
        gap: 0;
    }

    #page-container .faq-section .et_pb_toggle_title {
        /* padding: 16px 20px 16px 48px; */
        font-size: var(--font-size-200);
    }

    #page-container .faq-section .et_pb_toggle_title::before {
        right: 0px;
        width: 20px;
        height: 20px;
        font-size: var(--font-size-300);
    }

    #page-container .faq-section .et_pb_toggle_content {
        /* padding: 0 20px 20px 48px; */
        font-size: var(--font-size-100);
    }
}

/* END FAQ SECTION STYLES */

/* End Applications Blurbs */
.applications-hover-blurb .et_pb_blurb_description {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(10px);
  transition: max-height 0.35s ease, opacity 0.25s ease, transform 0.3s ease;
  padding-top: .5rem;
}

/* Show on hover */
.applications-hover-blurb:hover .et_pb_module_header span{
    text-decoration: underline;
    text-decoration-color: var(--color-bright-blue);
    text-decoration-thickness: 13%;
} 
.applications-hover-blurb:hover .et_pb_blurb_description {
  max-height: 300px; /* big enough to fit content */
  opacity: 1;
  transform: translateY(0);
}

.end-application-icon-row h3 {
    color: #000;
}


/* START BLURB STYLES */
/* Equal-height blurb thumbnails: fixed-ratio frame + object-fit crop.
   Scoped to custom module class (not Divi numbered classes). Adjust ratio if needed. */
.applications-hover-blurb .et_pb_main_blurb_image {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    width: 100%;
    border-radius: 0.625rem;
}

.applications-hover-blurb .et_pb_main_blurb_image .et_pb_image_wrap {
    position: absolute;
    inset: 0;
    display: block;
}

.applications-hover-blurb .et_pb_main_blurb_image .et_pb_image_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: 0.625rem;
}

/* Product band: image frame ~40% height of the default 1:1 blurb tile (same width). */
#product-area .applications-hover-blurb .et_pb_main_blurb_image {
    aspect-ratio: 5 / 2;
}

#applications-area .et_pb_blurb_container .et_pb_module_header,
#product-area .et_pb_blurb_container .et_pb_module_header {
    font-size: 38px !important;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
    #applications-area .et_pb_blurb_container .et_pb_module_header::after,
    #product-area .et_pb_blurb_container .et_pb_module_header::after {
        font-family: "Font Awesome 7 Pro", "Font Awesome 7 Free" !important;
        font-weight: 900; 
        content: "\f067"!important; 
        font-size: 24px;
        transition: all 0.3s ease-in-out;
        display: inline-block;
        flex-shrink: 0;
    }
    #applications-area .et_pb_blurb_container .et_pb_module_header a,
    #product-area .et_pb_blurb_container .et_pb_module_header a {
        text-decoration: none !important;
    }
        #applications-area .et_pb_blurb_container a:hover, #applications-area .et_pb_blurb_content a:hover,
        #product-area .et_pb_blurb_container a:hover, #product-area .et_pb_blurb_content a:hover {
            background: none !important;
        }

/* END BLURB STYLES */

/* Custom Icon Area */
.custom-icon .et_pb_image_wrap {
    min-height: 65px;
}

.applications-filters,.product-filters {
  display: grid;
  grid-template-columns: 88px 12px minmax(0, 1fr) 18px minmax(0, 1fr) 18px minmax(0, 1fr);
  row-gap: 10px;
  align-items: end;
 /* margin: 40px 0; */
 margin: 20px 0;
}

/* .applications-filters::before { */
.product-filters::before {
  content: "Sort By";
  grid-column: 1;
  grid-row: 1;
  align-self: start;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 700;
  color: var(--gray-800);
  margin-top:-2px;
}

.applications-filters__group, .product-filters__group {
  min-width: 0;
  position: relative;
}

.applications-filters__group:nth-of-type(1), .product-filters__group:nth-of-type(1) {
  grid-column: 3;
  grid-row: 1;
}

.applications-filters__group:nth-of-type(2), .product-filters__group:nth-of-type(2) {
  grid-column: 5;
  grid-row: 1;
}

.applications-filters__group:nth-of-type(3), .product-filters__group:nth-of-type(3) {
  grid-column: 7;
  grid-row: 1;
}

.applications-filters__group label, .product-filters__group label {
  display: block;
  margin-bottom: 8px;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 700;
  color: var(--gray-800);
}

.applications-filters__group select,
.product-filters__group select,
.product-filters--facetwp .facetwp-dropdown,
#page-container .pag-list-products-facetwp .et_pb_code_inner .facetwp-dropdown,
#page-container .pag-application-products-facetwp .et_pb_code_inner .facetwp-dropdown {
    appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  width: 100%;
  height: 42px;
  padding: 0 40px 0 14px;
  border: 1px solid #292928;
  border-radius: 4px;
  background: var(--color-white);
  color: var(--gray-800);
  font-size: 14px;
  box-shadow: none;
}

.applications-filters__actions, .product-filters__actions {
  display: none;
}

/*
 * FacetWP + Divi Code module: add class pag-list-products-facetwp (or legacy pag-application-products-facetwp)
 * on the Code module; facets + template
 * are siblings in .et_pb_code_inner (no .product-filters). Mirrors legacy .product-filters grid + labels.
 * Alternative: [list_products_facet_filters] + template when a single grid for filters + results is not needed.
 */
#page-container .pag-list-products-facetwp .et_pb_code_inner,
#page-container .pag-application-products-facetwp .et_pb_code_inner {
    display: grid;
    grid-template-columns: 88px 12px minmax(0, 1fr) 18px minmax(0, 1fr) 18px minmax(0, 1fr);
    row-gap: 10px;
    align-items: end;
    margin: 20px 0;
    min-width: 0;
}

#page-container .pag-list-products-facetwp .et_pb_code_inner::before,
#page-container .pag-application-products-facetwp .et_pb_code_inner::before {
    content: "Sort By";
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    font-size: 18px;
    line-height: 1.2;
    font-weight: 700;
    color: var(--gray-800);
    margin-top: -2px;
}

#page-container .pag-list-products-facetwp .et_pb_code_inner > .facetwp-facet[data-name="product_polymer"],
#page-container .pag-application-products-facetwp .et_pb_code_inner > .facetwp-facet[data-name="product_polymer"] {
    grid-column: 3;
    grid-row: 1;
}

#page-container .pag-list-products-facetwp .et_pb_code_inner > .facetwp-facet[data-name="product_end_application"],
#page-container .pag-application-products-facetwp .et_pb_code_inner > .facetwp-facet[data-name="product_end_application"] {
    grid-column: 5;
    grid-row: 1;
}

#page-container .pag-list-products-facetwp .et_pb_code_inner > .facetwp-facet[data-name="product_type_filter"],
#page-container .pag-application-products-facetwp .et_pb_code_inner > .facetwp-facet[data-name="product_type_filter"] {
    grid-column: 7;
    grid-row: 1;
}

#page-container .pag-list-products-facetwp .et_pb_code_inner > .facetwp-template[data-name="list_products"],
#page-container .pag-list-products-facetwp .et_pb_code_inner > .facetwp-template[data-name="application_products"],
#page-container .pag-list-products-facetwp .et_pb_code_inner > .facetwp-template[data-name="all_products"],
#page-container .pag-application-products-facetwp .et_pb_code_inner > .facetwp-template[data-name="list_products"],
#page-container .pag-application-products-facetwp .et_pb_code_inner > .facetwp-template[data-name="application_products"],
#page-container .pag-application-products-facetwp .et_pb_code_inner > .facetwp-template[data-name="all_products"] {
    grid-column: 1 / -1;
    grid-row: 2;
}

#page-container .pag-list-products-facetwp .et_pb_code_inner > .facetwp-facet[data-name="product_polymer"]::before,
#page-container .pag-application-products-facetwp .et_pb_code_inner > .facetwp-facet[data-name="product_polymer"]::before {
    content: "Polymers";
    display: block;
    margin-bottom: 8px;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 700;
    color: var(--gray-800);
}

#page-container .pag-list-products-facetwp .et_pb_code_inner > .facetwp-facet[data-name="product_end_application"]::before,
#page-container .pag-application-products-facetwp .et_pb_code_inner > .facetwp-facet[data-name="product_end_application"]::before {
    content: "End Application";
    display: block;
    margin-bottom: 8px;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 700;
    color: var(--gray-800);
}

#page-container .pag-list-products-facetwp .et_pb_code_inner > .facetwp-facet[data-name="product_type_filter"]::before,
#page-container .pag-application-products-facetwp .et_pb_code_inner > .facetwp-facet[data-name="product_type_filter"]::before {
    content: "Product Type";
    display: block;
    margin-bottom: 8px;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 700;
    color: var(--gray-800);
}

/* FacetWP inside shortcode wrapper: select is .facetwp-dropdown inside .facetwp-facet */
.product-filters--facetwp .facetwp-facet,
#page-container .pag-list-products-facetwp .et_pb_code_inner > .facetwp-facet,
#page-container .pag-application-products-facetwp .et_pb_code_inner > .facetwp-facet {
    min-width: 0;
    position: relative;
}

.applications-filters__group::after,
.product-filters__group::after,
.product-filters--facetwp .facetwp-facet::after,
#page-container .pag-list-products-facetwp .et_pb_code_inner > .facetwp-facet::after,
#page-container .pag-application-products-facetwp .et_pb_code_inner > .facetwp-facet::after {
    content: "";
    position: absolute;
    right: 14px;
    bottom: 16px;
    width: 0;
    height: 0;
    pointer-events: none;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 8px solid var(--gray-800);
}

/* Pager facet is not a dropdown; suppress caret from shared .facetwp-facet::after rules */
.product-filters--facetwp .facetwp-facet[data-name="product_pagination"]::after,
#page-container .pag-list-products-facetwp .facetwp-facet[data-name="product_pagination"]::after,
#page-container .pag-application-products-facetwp .facetwp-facet[data-name="product_pagination"]::after,
#page-container .facetwp-facet.facetwp-type-pager[data-name="product_pagination"]::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
}

/*
 * FacetWP "Load more" — match Divi TB preset .preset--module--divi-button--dyjvohy02t
 * (solid brand fill, light text, darker fill on hover; same transitions as deferred et-cache).
 */
#page-container .pag-list-products-facetwp .facetwp-facet[data-name="product_pagination"].facetwp-type-pager,
#page-container .pag-application-products-facetwp .facetwp-facet[data-name="product_pagination"].facetwp-type-pager,
#page-container .facetwp-facet[data-name="product_pagination"].facetwp-type-pager {
    text-align: center;
    margin-top: 3rem;
}

#page-container .pag-list-products-facetwp .facetwp-facet[data-name="product_pagination"] .facetwp-load-more,
#page-container .pag-application-products-facetwp .facetwp-facet[data-name="product_pagination"] .facetwp-load-more,
#page-container .facetwp-facet[data-name="product_pagination"].facetwp-type-pager .facetwp-load-more {
    box-sizing: border-box;
    display: inline-block;
    margin: 0;
    appearance: none;
    cursor: pointer;
    border: none;
    border-radius: var(--border-radius-12);
    padding: 0.75em 1.75em;
    font-family: var(--font-family-sans);
    font-size: var(--font-size-200, 1rem);
    font-style: normal;
    font-weight: var(--font-weight-bold);
    line-height: normal;
    letter-spacing: 0.32px;
    text-align: center;
    text-decoration: none;
    text-underline-offset: 0.15em;
    background-color: var(--gcid-p7m4lq23l6);
    color: var(--gcid-wq1zyqfjdo) !important;
    transition: background-color 0.3s ease, color 0.3s ease;
}

#page-container .pag-list-products-facetwp .facetwp-facet[data-name="product_pagination"] .facetwp-load-more:hover,
#page-container .pag-application-products-facetwp .facetwp-facet[data-name="product_pagination"] .facetwp-load-more:hover,
#page-container .facetwp-facet[data-name="product_pagination"].facetwp-type-pager .facetwp-load-more:hover {
    background-color: var(--gcid-0tttyrfoc5);
    color: var(--gcid-wq1zyqfjdo) !important;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-decoration-color: currentColor;
    text-underline-offset: 0.2em;
}

#page-container .pag-list-products-facetwp .facetwp-facet[data-name="product_pagination"] .facetwp-load-more:focus-visible,
#page-container .pag-application-products-facetwp .facetwp-facet[data-name="product_pagination"] .facetwp-load-more:focus-visible,
#page-container .facetwp-facet[data-name="product_pagination"].facetwp-type-pager .facetwp-load-more:focus-visible {
    outline: 2px solid #109cde;
    outline-offset: 2px;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-decoration-color: currentColor;
    text-underline-offset: 0.2em;
}

/* list_products FacetWP template: same card grid as legacy .applications-grid wrapper */
.applications-grid,
#page-container .facetwp-template[data-name="list_products"],
#page-container .facetwp-template[data-name="application_products"],
#page-container .facetwp-template[data-name="all_products"] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 70px;
}

.application-card {
  display: flex !important;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
}

/* Old anchor-specific rules can stay if other cards still use links, but they won't affect the button accordion */
#main-content a.application-card {
  text-decoration: none !important;
}

/* Need this for the products */
.single-application.et-db #et-boc .et-l a,
.tax-product_category.et-db #et-boc .et-l a {
  color: inherit;
}

#main-content a.application-card:hover {
  background: none !important;
}

/* NEW: toggle button reset */
.application-card__toggle {
  display: block;
  width: 100%;
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  text-align: left;
  cursor: pointer;
  color: inherit;
  font: inherit;
}

/* NEW: prevent default button styles in browsers */
.application-card__toggle:focus {
  outline: none;
}

.application-card__image-wrap {
  width: 100%;
  height: 170px;
  overflow: hidden;
  border-radius: 10px;
}

.application-card__image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.application-card__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
  font-size: 12px;
  font-weight: 600;
  max-width: 400px;
}

.application-card__chip {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border: 1px solid #cfcfcf;
  border-radius: 999px;
  font-size: 14px;
  line-height: 1;
}

.application-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 18px;
  width: 100%;
}

/* changed from h3 selector since title is now a span/button-safe element */
.application-card__title {
  display: block;
  margin: 0;
  font-size: clamp(32px, 4vw, 34px) !important;
  line-height: 0.95;
  font-weight: 700;
}

.application-card__arrow {
  flex-shrink: 0;
  font-size: clamp(24px, 4vw, 32px) !important;
  line-height: 1;
}

.application-card__arrow.application-card__arrow--alt {
  color: var(--color-dusty-blue);
}

.applications-icon {
  color: var(--dark-gray);
  font-size: 48px;
  font-weight: 100;
}

/* NEW: accordion content */
.application-card__content {
  display: none;
  margin-top: 16px;
  font-family: var(--font-family-sans);
  font-size: var(--Body-Size);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-sm);
  color: var(--color-dark-gray);
}

.application-card__content p {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
}

/* optional open state hook */
.application-card.is-open .application-card__toggle {
  margin-bottom: 0;
}

.application-card__specs {
  display: grid;
  gap: 12px;
  margin: 16px 0 0;
}

.application-card__spec {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35em 0.5em;
}

.application-card__spec-label,
.application-card__spec-value {
  display: inline;
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
}

.application-card__spec-label {
  color: var(--color-dusty-blue);
  font-size: var(--Body-Size-sm);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.02em;
  text-transform: uppercase;
  flex-shrink: 0;
}

.application-card__spec-label::after {
  content: ":";
  margin-left: 0.15em;
}

.application-card__spec-value {
  font-weight: var(--font-weight-regular);
}

.application-card__file {
    padding-top: .5rem;
}

#main-content a.application-card__file-link {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: var(--color-dark-gray);
  display: inline-block;
  margin-top: 10px;
  text-decoration: none !important;
}
    #main-content a.application-card__file-link:hover{
        text-decoration: underline !important;
        background: none !important;
    }

    #main-content a.application-card__file-link:before{
    content: "\f1c1";
    font-family: "Font Awesome 7 Pro", "Font Awesome 7 Free" !important;
    font-weight: 400;
    display: inline-block;
    margin-right: 4px;
    font-size: 16px;
    color: var(--color-dusty-blue);
    }

@media (max-width: 980px) {
  .applications-filters,
  .product-filters,
  #page-container .pag-list-products-facetwp .et_pb_code_inner,
  #page-container .pag-application-products-facetwp .et_pb_code_inner {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  #page-container .pag-list-products-facetwp .et_pb_code_inner::before,
  #page-container .pag-application-products-facetwp .et_pb_code_inner::before {
    grid-column: 1;
    grid-row: 1;
  }

  #page-container .pag-list-products-facetwp .et_pb_code_inner > .facetwp-facet[data-name="product_polymer"],
  #page-container .pag-application-products-facetwp .et_pb_code_inner > .facetwp-facet[data-name="product_polymer"] {
    grid-column: 1;
    grid-row: 2;
  }

  #page-container .pag-list-products-facetwp .et_pb_code_inner > .facetwp-facet[data-name="product_end_application"],
  #page-container .pag-application-products-facetwp .et_pb_code_inner > .facetwp-facet[data-name="product_end_application"] {
    grid-column: 1;
    grid-row: 3;
  }

  #page-container .pag-list-products-facetwp .et_pb_code_inner > .facetwp-facet[data-name="product_type_filter"],
  #page-container .pag-application-products-facetwp .et_pb_code_inner > .facetwp-facet[data-name="product_type_filter"] {
    grid-column: 1;
    grid-row: 4;
  }

  #page-container .pag-list-products-facetwp .et_pb_code_inner > .facetwp-template[data-name="list_products"],
  #page-container .pag-list-products-facetwp .et_pb_code_inner > .facetwp-template[data-name="application_products"],
  #page-container .pag-list-products-facetwp .et_pb_code_inner > .facetwp-template[data-name="all_products"],
  #page-container .pag-application-products-facetwp .et_pb_code_inner > .facetwp-template[data-name="list_products"],
  #page-container .pag-application-products-facetwp .et_pb_code_inner > .facetwp-template[data-name="application_products"],
  #page-container .pag-application-products-facetwp .et_pb_code_inner > .facetwp-template[data-name="all_products"] {
    grid-column: 1;
    grid-row: 5;
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .applications-grid,
  #page-container .facetwp-template[data-name="list_products"],
  #page-container .facetwp-template[data-name="application_products"],
  #page-container .facetwp-template[data-name="all_products"] {
    grid-template-columns: 1fr;
  }

  .application-card__image-wrap,
  .application-card__image-wrap img {
    height: auto;
  }
}
@media (max-width: 675px) {
    .applications-filters__group:nth-of-type(1),
    .product-filters__group:nth-of-type(1) {
        grid-row: 3;
        grid-column: 1;
    }
    .applications-filters__group:nth-of-type(2),
    .product-filters__group:nth-of-type(2) {
        grid-row: 5;
        grid-column: 1;
    }
    .applications-filters__group:nth-of-type(3),
    .product-filters__group:nth-of-type(3) {
        grid-row: 7;
        grid-column: 1;
    }
}

/**** Stay Informed ****/
#page-container .gform-theme--orbital #gform_submit_button_2{
  display: inline-flex;
  align-items: center;
  justify-content: center;
    text-transform: none;
  min-height: 44px;
  padding: 12px;

  background: #38618C;
  color: #fff;

  border: none;
  border-radius: 12px;

  font-size: 16px;
  font-weight: 700;
  line-height: 1;

  cursor: pointer;
  text-decoration: none;

  appearance: none;
  -webkit-appearance: none;

  box-shadow: none;
  transition: background 0.2s ease, transform 0.1s ease;
}
#page-container .gform-theme--orbital #gform_submit_button_2:hover {
  background: color-mix(in srgb, #38618C 85%, white);
}
#page-container #gform_fields_2 .gfield{
    margin-bottom: 0 !important;
}
#page-container #gform_2 .gform_footer{
    margin-top: 10px !important;
}

body #page-container h2.gform_submission_error{
    font-size: 32px !important;
    line-height: 2rem;
}
#main-content a.gform_validation_error_link{
    text-decoration: none !important;
}
#main-content a.gform_validation_error_link:hover{
    background: transparent !important;
}

/* Single Application Setup to look and work like the other pages */
.single-application.et-db #et-boc .et-l .et_pb_section#main-header{
    padding: 0 !important;
    margin-top: 20px !important;
}
.single-application.et-db #et-boc .et-l .et_pb_section#main-header .et_menu_container.et_pb_row{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.single-application.et-db #et-boc .et-l .et_pb_section#main-header>.et_menu_container>.et_pb_column{
    width: auto !important;
    margin: auto 0;
}
.single-application.et-db #et-boc .et-l .et_pb_row.et_menu_container::after{
    display:none !important;
}
.single-application #main-content .container {
  width: 100%;
  max-width: 100%;
  padding: 0 !important;
}

.single-application #main-content {
  padding-left: 0;
  padding-right: 0;
}
.single-application .et_post_meta_wrapper{
    display:none !important;
}


/* About Polymer Group */
.about-polymer-title .et_pb_text_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.about-polymer-title .et_pb_text_inner::after {
  content: "\2b";
  font-family: "Font Awesome 7 Pro", "Font Awesome 7 Free" !important;
  font-weight: 900;
  display: inline-block;
  margin-left: 16px;
  flex-shrink: 0;
  font-size: 32px;
  color: var(--color-dusty-blue);
}
#main-content a.about-polymer-link-btn{
    font-size: 16px;
    color: var(--color-dark-gray);
    font-weight: 900;
    display: inline !important;
    text-decoration: none !important;
}
#main-content a.about-polymer-link-btn:hover{
    background: none !important;
}
#main-content a.about-polymer-link-btn::after {
  content: "\f054";
  font-family: "Font Awesome 7 Pro", "Font Awesome 7 Free" !important;
  font-weight: 900;
  flex-shrink: 0;
  font-size: 16px;
  color: var(--color-dark-gray);
  margin-left: 3px;
}

/***** Short Contact Form *****/
.gform-theme--foundation #gform_1  .gfield--width-full{
    grid-column: span 10;
}
.gform-theme--foundation #gform_2  .gform-field-label{
    color: var(--gray-800) !important;
}
.gform-theme--foundation #gform_2  .gfield_required{
    color: var(--feedback-red-700) !important;
}

/* Override Divi's display:table so image and blurb_container can be vertically centered
   (single horizontal line through center of image and center of heading). */
#icon-switcher .et_pb_blurb_content {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    gap: 0 !important;
}

#icon-switcher div.et_pb_main_blurb_image{
    width: 100px !important;
    flex-shrink: 0;
    flex-grow: 0;
    max-width: 100px;
}
#icon-switcher .et_pb_blurb_content{
    flex-direction: row !important;
}
/* Blurb description hidden by default; shown on hover (desktop) or focus (mobile). */
#icon-switcher .et_pb_blurb .et_pb_blurb_description {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.45s ease-in-out, visibility 0.45s ease-in-out, max-height 0.45s ease-in-out;
}

/* Desktop: show description on hover */
@media (hover: hover) {
    #icon-switcher .et_pb_blurb:hover .et_pb_blurb_description {
        max-height: 20em;
        opacity: 1;
        visibility: visible;
    }
}

/* Touch: show description when blurb has .blurb-expanded (set by JS on tap). */
@media (hover: none) {
    #icon-switcher .et_pb_blurb.blurb-expanded .et_pb_blurb_description {
        max-height: 20em;
        opacity: 1;
        visibility: visible;
    }
}




i.fa-solid.fa-xs.fa-arrow-up-right {
    display: inline;
}

a.arrow {
    text-underline-offset: 0.2em;
    color: rgb(42, 88, 141);
    display: inline-block ! IMPORTANT;
}



.reedy-history-timeline {
    --reedy-timeline-blue: #009DDD;
    --reedy-timeline-rail: #d7d7d7;
    --reedy-timeline-text: #1a1a1a;
    --reedy-timeline-max: 960px;
    --reedy-timeline-pad-top: 2.5rem;
    --reedy-timeline-pad-bottom: 1rem;
    /* Match .reedy-history-timeline__node padding-top (fallback rail lines up with badge stack). */
    --reedy-timeline-node-pad-top: 0.15rem;
    /*
     * SVG path starts ~5px below the top of the 69×69 viewBox (reference for asset authors).
     */
    --reedy-timeline-badge-fill-inset-top: 14px;
    /* Reference for asset authors; segment layout uses badge boxes directly. */
    --reedy-timeline-badge-fill-inset-bottom: 4px;
    /*
     * Flat horizontal fills at the very top/bottom of the badge viewBox read as blue “caps”
     * on connector segments. Clip a few px; set to 0px if a future SVG has no flat edges.
     */
    --reedy-timeline-badge-clip-y: 4px;
    /* Pixels each segment extends into the badge above/below (hides subpixel seams). */
    --reedy-timeline-segment-nudge: 2px;
    position: relative;
    max-width: var(--reedy-timeline-max);
    margin: 0 auto;
    padding: var(--reedy-timeline-pad-top) 1.25rem var(--reedy-timeline-pad-bottom);
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: var(--reedy-timeline-text);
    background: #fff;
  }

  /* Segment host: full-height spine column; JS appends .reedy-history-timeline__rail-segment. */
 #page-container #et-boc #main-content .reedy-history-timeline__rail {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 2px;
    transform: translateX(-50%);
    background: transparent;
    z-index: 0;
    pointer-events: none;
  }

  #page-container #et-boc #main-content .reedy-history-timeline__rail-segment {
    position: absolute;
    left: 0;
    width: 100%;
    background: var(--reedy-timeline-rail);
    border-radius: 1px;
  }

  .reedy-history-timeline__row {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: start;
    column-gap: clamp(0.75rem, 3vw, 2rem);
    row-gap: 0.5rem;
    margin-bottom: clamp(2rem, 5vw, 3.25rem);
  }

  .reedy-history-timeline__row:last-child {
    margin-bottom: 0;
  }

  .reedy-history-timeline__copy {
    max-width: 38ch;
  }

  .reedy-history-timeline__row--left .reedy-history-timeline__copy {
    grid-column: 1;
    justify-self: end;
    text-align: right;
  }

  .reedy-history-timeline__row--left .reedy-history-timeline__node {
    grid-column: 2;
  }

  .reedy-history-timeline__row--left .reedy-history-timeline__gap {
    grid-column: 3;
  }

  .reedy-history-timeline__row--right .reedy-history-timeline__gap {
    grid-column: 1;
  }

  .reedy-history-timeline__row--right .reedy-history-timeline__node {
    grid-column: 2;
  }

  .reedy-history-timeline__row--right .reedy-history-timeline__copy {
    grid-column: 3;
    justify-self: start;
    text-align: left;
  }

  .reedy-history-timeline__subheading {
    font-size: clamp(0.9rem, 1.9vw, 1rem);
    font-weight: 700;
    line-height: 1.2;
    color: var(--reedy-timeline-blue);
    letter-spacing: 0.02em;
    padding-bottom: 0;
  }

  .reedy-history-timeline__title {
    margin: 0 0 0.65rem;
    font-size: clamp(1.05rem, 2.2vw, 1.2rem);
    font-weight: 700;
    line-height: 1.25;
  }

  .reedy-history-timeline__text {
    margin: 0;
    font-size: clamp(0.95rem, 1.8vw, 1.05rem);
    font-weight: 400;
    line-height: 1.55;
    color: #333;
  }

  .reedy-history-timeline__node {
    display: flex;
    justify-content: center;
    padding-top: var(--reedy-timeline-node-pad-top);
  }

  .reedy-history-timeline__badge {
    position: relative;
    width: 74px;
    height: 69px;
    flex-shrink: 0;
  }

  .reedy-history-timeline__badge-shape {
    display: block;
    width: 74px;
    height: 69px;
    clip-path: inset(
      var(--reedy-timeline-badge-clip-y, 4px) 0 var(--reedy-timeline-badge-clip-y, 4px) 0
    );
  }

  .reedy-history-timeline__row--left .reedy-history-timeline__badge-shape {
    transform: scaleX(-1);
  }

  @media (max-width: 700px) {
    #page-container #et-boc #main-content .reedy-history-timeline__rail {
      left: 36px;
      transform: none;
    }

    .reedy-history-timeline__row {
      grid-template-columns: auto 1fr;
      column-gap: 1rem;
    }

    .reedy-history-timeline__row--left .reedy-history-timeline__copy,
    .reedy-history-timeline__row--right .reedy-history-timeline__copy {
      grid-column: 2;
      grid-row: 1;
      justify-self: start;
      text-align: left;
      max-width: none;
    }

    .reedy-history-timeline__row--left .reedy-history-timeline__node,
    .reedy-history-timeline__row--right .reedy-history-timeline__node {
      grid-column: 1;
      grid-row: 1;
      justify-content: flex-start;
    }

    .reedy-history-timeline__row--left .reedy-history-timeline__gap,
    .reedy-history-timeline__row--right .reedy-history-timeline__gap {
      display: none;
    }

    .reedy-history-timeline__row--right .reedy-history-timeline__badge-shape {
      transform: none;
    }
  }



  .reedy-history-timeline {
    --reedy-timeline-blue: #009DDD;
    --reedy-timeline-rail: #d7d7d7;
    --reedy-timeline-text: #1a1a1a;
    --reedy-timeline-max: 960px;
    --reedy-timeline-pad-top: 2.5rem;
    --reedy-timeline-pad-bottom: 1rem;
    /* Match .reedy-history-timeline__node padding-top (fallback rail lines up with badge stack). */
    --reedy-timeline-node-pad-top: 0.15rem;
    /*
     * SVG path starts ~5px below the top of the 69×69 viewBox (reference for asset authors).
     */
    --reedy-timeline-badge-fill-inset-top: 14px;
    /* Reference for asset authors; segment layout uses badge boxes directly. */
    --reedy-timeline-badge-fill-inset-bottom: 4px;
    /*
     * Flat horizontal fills at the very top/bottom of the badge viewBox read as blue “caps”
     * on connector segments. Clip a few px; set to 0px if a future SVG has no flat edges.
     */
    --reedy-timeline-badge-clip-y: 4px;
    /* Pixels each segment extends into the badge above/below (hides subpixel seams). */
    --reedy-timeline-segment-nudge: 2px;
    position: relative;
    max-width: var(--reedy-timeline-max);
    margin: 0 auto;
    padding: var(--reedy-timeline-pad-top) 1.25rem var(--reedy-timeline-pad-bottom);
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: var(--reedy-timeline-text);
    background: #fff;
  }

  /* Segment host: full-height spine column; JS appends .reedy-history-timeline__rail-segment. */
 #page-container #et-boc #main-content .reedy-history-timeline__rail {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 2px;
    transform: translateX(-50%);
    background: transparent;
    z-index: 0;
    pointer-events: none;
  }

  #page-container #et-boc #main-content .reedy-history-timeline__rail-segment {
    position: absolute;
    left: 0;
    width: 100%;
    background: var(--reedy-timeline-rail);
    border-radius: 1px;
  }

  .reedy-history-timeline__row {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: start;
    column-gap: clamp(0.75rem, 3vw, 2rem);
    row-gap: 0.5rem;
    margin-bottom: clamp(2rem, 5vw, 3.25rem);
  }

  .reedy-history-timeline__row:last-child {
    margin-bottom: 0;
  }

  .reedy-history-timeline__copy {
    max-width: 38ch;
  }

  .reedy-history-timeline__row--left .reedy-history-timeline__copy {
    grid-column: 1;
    justify-self: end;
    text-align: right;
  }

  .reedy-history-timeline__row--left .reedy-history-timeline__node {
    grid-column: 2;
  }

  .reedy-history-timeline__row--left .reedy-history-timeline__gap {
    grid-column: 3;
  }

  .reedy-history-timeline__row--right .reedy-history-timeline__gap {
    grid-column: 1;
  }

  .reedy-history-timeline__row--right .reedy-history-timeline__node {
    grid-column: 2;
  }

  .reedy-history-timeline__row--right .reedy-history-timeline__copy {
    grid-column: 3;
    justify-self: start;
    text-align: left;
  }

  .reedy-history-timeline__subheading {
    font-size: clamp(0.9rem, 1.9vw, 1rem);
    font-weight: 700;
    line-height: 1.2;
    color: var(--reedy-timeline-blue);
    letter-spacing: 0.02em;
    padding-bottom: 0;
  }

  .reedy-history-timeline__title {
    margin: 0 0 0.65rem;
    font-size: clamp(1.05rem, 2.2vw, 1.2rem);
    font-weight: 700;
    line-height: 1.25;
  }

  .reedy-history-timeline__text {
    margin: 0;
    font-size: clamp(0.95rem, 1.8vw, 1.05rem);
    font-weight: 400;
    line-height: 1.55;
    color: #333;
  }

  .reedy-history-timeline__node {
    display: flex;
    justify-content: center;
    padding-top: var(--reedy-timeline-node-pad-top);
  }

  .reedy-history-timeline__badge {
    position: relative;
    width: 74px;
    height: 69px;
    flex-shrink: 0;
  }

  .reedy-history-timeline__badge-shape {
    display: block;
    width: 74px;
    height: 69px;
    clip-path: inset(
      var(--reedy-timeline-badge-clip-y, 4px) 0 var(--reedy-timeline-badge-clip-y, 4px) 0
    );
  }

  .reedy-history-timeline__row--left .reedy-history-timeline__badge-shape {
    transform: scaleX(-1);
  }

  @media (max-width: 700px) {
    #page-container #et-boc #main-content .reedy-history-timeline__rail {
      left: 36px;
      transform: none;
    }

    .reedy-history-timeline__row {
      grid-template-columns: auto 1fr;
      column-gap: 1rem;
    }

    .reedy-history-timeline__row--left .reedy-history-timeline__copy,
    .reedy-history-timeline__row--right .reedy-history-timeline__copy {
      grid-column: 2;
      grid-row: 1;
      justify-self: start;
      text-align: left;
      max-width: none;
    }

    .reedy-history-timeline__row--left .reedy-history-timeline__node,
    .reedy-history-timeline__row--right .reedy-history-timeline__node {
      grid-column: 1;
      grid-row: 1;
      justify-content: flex-start;
    }

    .reedy-history-timeline__row--left .reedy-history-timeline__gap,
    .reedy-history-timeline__row--right .reedy-history-timeline__gap {
      display: none;
    }

    .reedy-history-timeline__row--right .reedy-history-timeline__badge-shape {
      transform: none;
    }
  }

  .safoam-docs-row a.arrow:empty {
    display: none !important;
  }
  /* Remove arrow pseudo-icons if class exists on non-empty links */
  .safoam-docs-row a.arrow::before,
  .safoam-docs-row a.arrow::after {
    content: none !important;
    display: none !important;
  }


.display-none {
    display: none;
}