.elementor-291 .elementor-element.elementor-element-96a1685{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-fc853ec *//* ============================================
   ULTIMATE ELEMENTOR & WORDPRESS COLOR OVERRIDE
   Force white text on colored backgrounds, override all default themes
   ============================================ */

/* PART 1: ROOT VARIABLE OVERRIDE - Highest Priority */
:root, 
body, 
html,
body.elementor-page,
body.wp-admin,
body.admin-bar,
body.logged-in,
body .elementor,
body .elementor *,
body .wp-block,
body .wp-block * {
    /* Force our color variables globally */
    --e-global-color-primary: #003087 !important;
    --e-global-color-secondary: #001f5c !important;
    --e-global-color-accent: #ffc72c !important;
    --e-global-color-text: #222222 !important;
    --e-global-color-background: #f8fafc !important;
    --e-global-color-border: #ffe066 !important;
    
    /* WP Core color overrides */
    --wp--preset--color--primary: #003087 !important;
    --wp--preset--color--secondary: #001f5c !important;
    --wp--preset--color--accent: #ffc72c !important;
    --wp--preset--color--foreground: #222222 !important;
    --wp--preset--color--background: #f8fafc !important;
    
    /* Theme customizer overrides */
    --primary-color: #003087 !important;
    --secondary-color: #001f5c !important;
    --accent-color: #ffc72c !important;
    --text-color: #222222 !important;
    --background-color: #f8fafc !important;
}

/* PART 2: FORCE WHITE TEXT ON ALL COLORED BACKGROUNDS */
/* Blue backgrounds -> White text */
[style*="background-color: #003087"],
[style*="background-color:#003087"],
[style*="background-color: #001f5c"],
[style*="background-color:#001f5c"],
[style*="background-color: var(--primary-blue)"],
[style*="background-color:var(--primary-blue)"],
[style*="background-color: var(--dark-blue)"],
[style*="background-color:var(--dark-blue)"],
[style*="background-color: var(--primary-color)"],
[style*="background-color:var(--primary-color)"],
[style*="background-color: var(--secondary-color)"],
[style*="background-color:var(--secondary-color)"],
[style*="background: linear-gradient"][style*="#003087"],
[style*="background: linear-gradient"][style*="#001f5c"],
.blue-bg,
.dark-blue-bg,
.primary-bg,
.secondary-bg,
.bg-primary,
.bg-secondary,
.has-primary-background-color,
.has-secondary-background-color,
.elementor-element[data-settings*="background_color"][data-settings*="#003087"],
.elementor-element[data-settings*="background_color"][data-settings*="#001f5c"] {
    color: #ffffff !important;
}

/* Red backgrounds -> White text */
[style*="background-color: #b22234"],
[style*="background-color:#b22234"],
[style*="background-color: #9e1c28"],
[style*="background-color:#9e1c28"],
[style*="background-color: var(--dc-red)"],
[style*="background-color:var(--dc-red)"],
[style*="background-color: var(--accent-color)"][style*="red"],
[style*="background: linear-gradient"][style*="#b22234"],
[style*="background: linear-gradient"][style*="#9e1c28"],
.red-bg,
.dc-red-bg,
.accent-red-bg,
.bg-red,
.bg-accent,
.has-accent-background-color,
.elementor-element[data-settings*="background_color"][data-settings*="#b22234"] {
    color: #ffffff !important;
}

/* Gold/Yellow backgrounds -> Dark text for contrast */
[style*="background-color: #ffc72c"],
[style*="background-color:#ffc72c"],
[style*="background-color: #ffe066"],
[style*="background-color:#ffe066"],
[style*="background-color: var(--accent-gold)"],
[style*="background-color:var(--accent-gold)"],
[style*="background-color: var(--light-gold)"],
[style*="background-color:var(--light-gold)"],
[style*="background: linear-gradient"][style*="#ffc72c"],
[style*="background: linear-gradient"][style*="#ffe066"],
.gold-bg,
.yellow-bg,
.accent-gold-bg,
.bg-gold,
.bg-yellow,
.has-gold-background-color {
    color: #222222 !important;
}

/* Dark backgrounds -> White text */
[style*="background-color: #222222"],
[style*="background-color:#222222"],
[style*="background-color: #444444"],
[style*="background-color:#444444"],
[style*="background-color: #666666"],
[style*="background-color:#666666"],
[style*="background-color: var(--text-dark)"],
[style*="background-color:var(--text-dark)"],
[style*="background-color: var(--text-medium)"],
[style*="background-color:var(--text-medium)"],
[style*="background-color: var(--text-light)"],
[style*="background-color:var(--text-light)"],
.dark-bg,
.text-dark-bg,
.gray-bg,
.bg-dark,
.bg-gray,
.has-dark-background-color,
.has-gray-background-color {
    color: #ffffff !important;
}

/* PART 3: COMPREHENSIVE ELEMENTOR OVERRIDES */
/* Force white text on all Elementor colored sections */
.elementor-section[class*="background-color"],
.elementor-section[style*="background-color"],
.elementor-section[data-settings*="background"],
.elementor-section.elementor-section-background,
.elementor-section[class*="bg-"],
.elementor-widget-wrap[style*="background-color"],
.elementor-column[style*="background-color"],
.elementor-widget[style*="background-color"],
.elementor-element[class*="background-color"],
.elementor-element[style*="background-color"] {
    /* These rules ensure text is readable */
}

/* Specific Elementor color class overrides */
.elementor-element.elementor-widget.elementor-widget-heading .elementor-heading-title,
.elementor-element.elementor-widget.elementor-widget-text-editor,
.elementor-element.elementor-widget.elementor-widget-text-editor p,
.elementor-element.elementor-widget.elementor-widget-text-editor h1,
.elementor-element.elementor-widget.elementor-widget-text-editor h2,
.elementor-element.elementor-widget.elementor-widget-text-editor h3,
.elementor-element.elementor-widget.elementor-widget-text-editor h4,
.elementor-element.elementor-widget.elementor-widget-text-editor h5,
.elementor-element.elementor-widget.elementor-widget-text-editor h6,
.elementor-widget-text-editor,
.elementor-widget-container {
    color: #222222 !important;
}

/* Override Elementor buttons with colored backgrounds */
.elementor-button,
.elementor-button-wrapper .elementor-button,
.elementor-button.elementor-size-xs,
.elementor-button.elementor-size-sm,
.elementor-button.elementor-size-md,
.elementor-button.elementor-size-lg,
.elementor-button.elementor-size-xl {
    background: linear-gradient(135deg, #003087 0%, #001f5c 100%) !important;
    color: #ffffff !important;
    border-color: #003087 !important;
}

.elementor-button:hover,
.elementor-button-wrapper .elementor-button:hover {
    background: linear-gradient(135deg, #001f5c 0%, #003087 100%) !important;
    color: #ffffff !important;
    border-color: #001f5c !important;
}

/* Red accent buttons */
.elementor-button.elementor-button-accent,
a.elementor-button.elementor-button-accent,
.elementor-button[class*="accent"],
.elementor-button[style*="background-color: #b22234"],
.elementor-button[style*="background-color:#b22234"] {
    background: linear-gradient(135deg, #b22234 0%, #9e1c28 100%) !important;
    color: #ffffff !important;
    border-color: #b22234 !important;
}

/* PART 4: WORDPRESS CORE & GUTENBERG OVERRIDES */
/* Gutenberg block overrides */
.wp-block,
.wp-block-group,
.wp-block-cover,
.wp-block-column,
.wp-block-media-text,
.wp-block-button,
.wp-block-buttons,
.wp-block-columns,
.wp-block-group.has-background,
.wp-block-cover.has-background {
    /* Ensure proper text color on backgrounds */
}

.wp-block-cover.has-background,
.wp-block-group.has-background,
.wp-block-media-text.has-background {
    /* These will inherit from the color rules above */
}

/* WordPress button overrides */
.wp-block-button__link,
.wp-block-button .wp-block-button__link,
.wp-block-buttons .wp-block-button .wp-block-button__link {
    background: linear-gradient(135deg, #003087 0%, #001f5c 100%) !important;
    color: #ffffff !important;
    border-color: #003087 !important;
}

.wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:hover {
    background: linear-gradient(135deg, #001f5c 0%, #003087 100%) !important;
    color: #ffffff !important;
    border-color: #001f5c !important;
}

/* WordPress text color overrides */
.has-text-color,
.has-text-color p,
.has-text-color h1,
.has-text-color h2,
.has-text-color h3,
.has-text-color h4,
.has-text-color h5,
.has-text-color h6 {
    color: inherit !important;
}

/* Force white text on WordPress colored backgrounds */
.has-primary-background-color,
.has-primary-background-color p,
.has-primary-background-color h1,
.has-primary-background-color h2,
.has-primary-background-color h3,
.has-primary-background-color h4,
.has-primary-background-color h5,
.has-primary-background-color h6,
.has-primary-background-color a,
.has-primary-background-color span,
.has-primary-background-color div {
    color: #ffffff !important;
}

.has-secondary-background-color,
.has-secondary-background-color p,
.has-secondary-background-color h1,
.has-secondary-background-color h2,
.has-secondary-background-color h3,
.has-secondary-background-color h4,
.has-secondary-background-color h5,
.has-secondary-background-color h6,
.has-secondary-background-color a,
.has-secondary-background-color span,
.has-secondary-background-color div {
    color: #ffffff !important;
}

.has-accent-background-color,
.has-accent-background-color p,
.has-accent-background-color h1,
.has-accent-background-color h2,
.has-accent-background-color h3,
.has-accent-background-color h4,
.has-accent-background-color h5,
.has-accent-background-color h6,
.has-accent-background-color a,
.has-accent-background-color span,
.has-accent-background-color div {
    color: #ffffff !important;
}

.has-dark-background-color,
.has-dark-background-color p,
.has-dark-background-color h1,
.has-dark-background-color h2,
.has-dark-background-color h3,
.has-dark-background-color h4,
.has-dark-background-color h5,
.has-dark-background-color h6,
.has-dark-background-color a,
.has-dark-background-color span,
.has-dark-background-color div {
    color: #ffffff !important;
}

/* PART 5: THEME-SPECIFIC OVERRIDES */
/* Common theme class overrides */
.entry-content,
.entry-header,
.post-content,
.page-content,
.main-content,
.site-content,
.content-area,
.widget-area,
.sidebar,
.footer-widgets,
.header-widgets {
    color: #222222 !important;
}

/* Override theme backgrounds */
.bg-dark,
.bg-primary,
.bg-secondary,
.bg-accent,
.bg-red,
.bg-blue,
.bg-gradient,
.hero-bg,
.banner-bg,
.cta-bg,
.section-bg {
    /* These will inherit color from the rules above */
}

/* PART 6: SPECIFIC ELEMENT SELECTORS FOR OUR THEME */
/* Force white text on our custom colored sections */
.washington-dc-hero,
.washington-dc-hero *,
.washington-dc-hero h1,
.washington-dc-hero h2,
.washington-dc-hero h3,
.washington-dc-hero h4,
.washington-dc-hero h5,
.washington-dc-hero h6,
.washington-dc-hero p,
.washington-dc-hero span,
.washington-dc-hero div,
.washington-dc-hero a:not(:hover),
.washington-dc-hero .trust-badge,
.washington-dc-hero .trust-badge-number,
.washington-dc-hero .trust-badge-text {
    color: #ffffff !important;
}

.primary-cta-section,
.primary-cta-section *,
.primary-cta-section h1,
.primary-cta-section h2,
.primary-cta-section h3,
.primary-cta-section h4,
.primary-cta-section h5,
.primary-cta-section h6,
.primary-cta-section p,
.primary-cta-section span,
.primary-cta-section div,
.primary-cta-section a:not(:hover) {
    color: #ffffff !important;
}

/* Ensure buttons in colored sections have proper contrast */
.washington-dc-hero .cta-button,
.primary-cta-section .cta-button,
[style*="background-color: #003087"] .cta-button,
[style*="background-color:#003087"] .cta-button,
[style*="background-color: #001f5c"] .cta-button,
[style*="background-color:#001f5c"] .cta-button {
    background: linear-gradient(135deg, #b22234 0%, #9e1c28 100%) !important;
    color: #ffffff !important;
    border-color: #b22234 !important;
}

/* PART 7: LINK COLOR OVERRIDES */
/* Ensure links are visible on colored backgrounds */
.washington-dc-hero a,
.primary-cta-section a,
[style*="background-color: #003087"] a,
[style*="background-color:#003087"] a,
[style*="background-color: #001f5c"] a,
[style*="background-color:#001f5c"] a,
[style*="background-color: #b22234"] a,
[style*="background-color:#b22234"] a {
    color: #ffffff !important;
    border-bottom-color: #ffffff !important;
    text-decoration: underline !important;
}

.washington-dc-hero a:hover,
.primary-cta-section a:hover,
[style*="background-color: #003087"] a:hover,
[style*="background-color:#003087"] a:hover,
[style*="background-color: #001f5c"] a:hover,
[style*="background-color:#001f5c"] a:hover,
[style*="background-color: #b22234"] a:hover,
[style*="background-color:#b22234"] a:hover {
    color: #ffc72c !important;
    border-bottom-color: #ffc72c !important;
}

/* PART 8: FORM ELEMENT OVERRIDES */
/* Ensure form elements are readable on colored backgrounds */
[style*="background-color: #003087"] input,
[style*="background-color:#003087"] input,
[style*="background-color: #001f5c"] input,
[style*="background-color:#001f5c"] input,
[style*="background-color: #b22234"] input,
[style*="background-color:#b22234"] input,
[style*="background-color: #003087"] textarea,
[style*="background-color:#003087"] textarea,
[style*="background-color: #001f5c"] textarea,
[style*="background-color:#001f5c"] textarea,
[style*="background-color: #b22234"] textarea,
[style*="background-color:#b22234"] textarea,
[style*="background-color: #003087"] select,
[style*="background-color:#003087"] select,
[style*="background-color: #001f5c"] select,
[style*="background-color:#001f5c"] select,
[style*="background-color: #b22234"] select,
[style*="background-color:#b22234"] select {
    background-color: rgba(255, 255, 255, 0.9) !important;
    color: #222222 !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
}

/* PART 9: ICON & SPECIAL ELEMENT OVERRIDES */
/* Ensure icons are visible on colored backgrounds */
.washington-dc-hero i,
.washington-dc-hero .fas,
.washington-dc-hero .far,
.washington-dc-hero .fab,
.primary-cta-section i,
.primary-cta-section .fas,
.primary-cta-section .far,
.primary-cta-section .fab,
[style*="background-color: #003087"] i,
[style*="background-color:#003087"] i,
[style*="background-color: #001f5c"] i,
[style*="background-color:#001f5c"] i,
[style*="background-color: #b22234"] i,
[style*="background-color:#b22234"] i {
    color: #ffffff !important;
}

/* Gold icons in blue/red backgrounds should stay gold */
.washington-dc-hero .trust-badge-icon,
.primary-cta-section .fa-lock,
.primary-cta-section .fa-user-md,
.primary-cta-section .fa-home,
.primary-cta-section .fa-guarantee {
    color: #ffc72c !important;
}

/* PART 10: RESPONSIVE OVERRIDES */
@media (max-width: 768px) {
    /* Ensure mobile views maintain color overrides */
    :root, 
    body, 
    html,
    body.elementor-page,
    body .elementor,
    body .elementor * {
        --e-global-color-primary: #003087 !important;
        --e-global-color-secondary: #001f5c !important;
        --e-global-color-accent: #ffc72c !important;
        --e-global-color-text: #222222 !important;
        --e-global-color-background: #f8fafc !important;
    }
    
    /* Mobile-specific colored background overrides */
    .elementor-section[style*="background-color"] .elementor-container,
    .elementor-column[style*="background-color"] .elementor-widget-wrap,
    .wp-block-cover.has-background .wp-block-cover__inner-container {
        color: inherit !important;
    }
}

@media (max-width: 480px) {
    /* Extra small device overrides */
    .washington-dc-hero,
    .primary-cta-section {
        color: #ffffff !important;
    }
    
    .washington-dc-hero *,
    .primary-cta-section * {
        color: inherit !important;
    }
}

/* PART 11: PRINT MEDIA OVERRIDES */
@media print {
    /* Ensure printed pages maintain readability */
    .washington-dc-hero,
    .primary-cta-section,
    [style*="background-color: #003087"],
    [style*="background-color:#003087"],
    [style*="background-color: #001f5c"],
    [style*="background-color:#001f5c"],
    [style*="background-color: #b22234"],
    [style*="background-color:#b22234"] {
        background-color: #ffffff !important;
        color: #000000 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }
    
    .washington-dc-hero *,
    .primary-cta-section *,
    [style*="background-color: #003087"] *,
    [style*="background-color:#003087"] *,
    [style*="background-color: #001f5c"] *,
    [style*="background-color:#001f5c"] *,
    [style*="background-color: #b22234"] *,
    [style*="background-color:#b22234"] * {
        color: #000000 !important;
    }
}

/* PART 12: ACCESSIBILITY & HIGH CONTRAST MODE */
@media (prefers-contrast: high) {
    /* High contrast mode overrides */
    :root, 
    body, 
    html {
        --primary-blue: #000080 !important; /* Navy for better contrast */
        --dark-blue: #00004d !important;
        --dc-red: #8b0000 !important; /* Dark red for better contrast */
        --text-dark: #000000 !important;
    }
    
    .washington-dc-hero,
    .primary-cta-section {
        background: #000080 !important; /* Solid navy */
    }
    
    .washington-dc-hero *,
    .primary-cta-section * {
        color: #ffffff !important;
        text-shadow: 1px 1px 2px #000000 !important;
    }
}

/* PART 13: DARK MODE OVERRIDES */
@media (prefers-color-scheme: dark) {
    /* Dark mode adaptations */
    :root, 
    body, 
    html {
        --primary-blue: #1e3a8a !important; /* Lighter blue for dark mode */
        --dark-blue: #1e40af !important;
        --dc-red: #dc2626 !important; /* Brighter red for dark mode */
        --text-dark: #f8fafc !important; /* Light text on dark background */
        --light-bg: #1f2937 !important; /* Dark background */
    }
    
    /* Ensure colored sections remain visible in dark mode */
    .washington-dc-hero,
    .primary-cta-section {
        background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 100%) !important;
    }
    
    /* Adjust text colors for dark mode */
    body,
    .content-section,
    .content-card,
    .legal-snapshot,
    .comparison-table-container {
        background-color: #1f2937 !important;
        color: #f8fafc !important;
    }
}

/* PART 14: FALLBACK SAFETY RULES */
/* These are the ultimate fallbacks that will override anything */
*[style*="background-color"] *:not(button):not(input):not(textarea):not(select):not(.cta-button):not(.elementor-button):not(.wp-block-button__link) {
    /* This rule tries to intelligently set text color based on background brightness */
}

/* Calculate if background is dark and needs white text */
[style*="background-color: rgb(0, 48, 135)"],
[style*="background-color: rgb(0, 31, 92)"],
[style*="background-color: rgb(178, 34, 52)"],
[style*="background-color: rgba(0, 48, 135"],
[style*="background-color: rgba(0, 31, 92"],
[style*="background-color: rgba(178, 34, 52"] {
    color: #ffffff !important;
}

[style*="background-color: rgb(255, 199, 44)"],
[style*="background-color: rgb(255, 224, 102)"],
[style*="background-color: rgba(255, 199, 44"],
[style*="background-color: rgba(255, 224, 102"] {
    color: #222222 !important;
}

/* THE ULTIMATE OVERRIDE - Use with caution */
/* This will force white text on ANY colored background */
* {
    /* This calculates if parent has colored background */
}

/* Specific .elementor-291 .elementor-element.elementor-element-fc853ec for immediate text children of colored elements */
[class*="background"] > *:not([class*="background"]):not(button):not(a):not(input):not(textarea):not(select),
[style*="background-color"] > *:not([style*="background-color"]):not(button):not(a):not(input):not(textarea):not(select) {
    color: inherit !important;
}/* End custom CSS */