﻿.bg-darkblue {
    background: linear-gradient(90deg, rgba(64,92,142,1) 0%, rgba(34,44,97,1) 50%, rgba(64,92,142,1) 100%);
    color: white;
}

.btn-americared {
    background-color: #db1a4f;
    color: white;
}

.list-group-item:hover {
    background-color: #f5f5f5;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.list-group-item,
.btn,
.nav-link,
a {
    transition: all 0.3s ease;
}

.wrapper {
    animation: fadeInUp 0.8s ease-out;
    opacity: 0;
    animation-fill-mode: forwards;
    background-color: #ffffff !important;
    background: #ffffff !important;
    color: #000000 !important;
}

/* Ensure all headings in wrapper sections inherit properly */
.wrapper h2,
section.wrapper h2 {
    color: #000000 !important;
    background-color: inherit !important;
    background: inherit !important;
}

.wrapper h2 span,
section.wrapper h2 span {
    color: #000000 !important;
    background-color: inherit !important;
    background: inherit !important;
}

.wrapper:nth-child(1) { animation-delay: 0.1s; }
.wrapper:nth-child(2) { animation-delay: 0.2s; }
.wrapper:nth-child(3) { animation-delay: 0.3s; }
.wrapper:nth-child(4) { animation-delay: 0.4s; }
.wrapper:nth-child(5) { animation-delay: 0.5s; }

#header-container {
    animation: fadeInDown 0.6s ease-out;
}

#footer-container {
    animation: fadeInUp 0.6s ease-out;
}

#documents-container .row {
    animation: fadeInUp 0.5s ease-out;
    opacity: 0;
    animation-fill-mode: forwards;
}

#documents-container .row:nth-child(1) { animation-delay: 0.1s; }
#documents-container .row:nth-child(2) { animation-delay: 0.2s; }
#documents-container .row:nth-child(3) { animation-delay: 0.3s; }
#documents-container .row:nth-child(4) { animation-delay: 0.4s; }
#documents-container .row:nth-child(5) { animation-delay: 0.5s; }
#documents-container .row:nth-child(6) { animation-delay: 0.6s; }

#important-dates-container .row {
    animation: fadeInLeft 0.5s ease-out;
    opacity: 0;
    animation-fill-mode: forwards;
}

#important-dates-container .row:nth-child(1) { animation-delay: 0.1s; }
#important-dates-container .row:nth-child(2) { animation-delay: 0.2s; }
#important-dates-container .row:nth-child(3) { animation-delay: 0.3s; }
#important-dates-container .row:nth-child(4) { animation-delay: 0.4s; }

#location-container {
    animation: fadeInUp 0.5s ease-out;
    opacity: 0;
    animation-fill-mode: forwards;
    animation-delay: 0.2s;
}

#summary-detail-container {
    animation: fadeInUp 0.5s ease-out;
    opacity: 0;
    animation-fill-mode: forwards;
    animation-delay: 0.1s;
}

#summary-detail-container h3 {
    animation: fadeInUp 0.6s ease-out;
    opacity: 0;
    animation-fill-mode: forwards;
    animation-delay: 0.2s;
}

#summary-detail-container h4 {
    animation: fadeInUp 0.6s ease-out;
    opacity: 0;
    animation-fill-mode: forwards;
    animation-delay: 0.3s;
}

#summary-detail-container p {
    animation: fadeInUp 0.6s ease-out;
    opacity: 0;
    animation-fill-mode: forwards;
    animation-delay: 0.4s;
}

#summary-detail-container hr {
    animation: fadeInUp 0.6s ease-out;
    opacity: 0;
    animation-fill-mode: forwards;
    animation-delay: 0.5s;
}

.btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* Navigation links - WCAG AA 4.5:1 minimum */
.nav-link,
a.nav-link,
a[href$="#Dates"],
a[href$="#Docs"],
.navbar-nav .nav-link,
.navbar-nav a.nav-link,
.navbar-nav a[href$="#Dates"],
.navbar-nav a[href$="#Docs"],
ul.navbar-nav .nav-link,
ul.navbar-nav a[href$="#Dates"],
ul.navbar-nav a[href$="#Docs"] {
    color: #000000 !important;
}

.nav-link:hover,
a.nav-link:hover,
a[href$="#Dates"]:hover,
a[href$="#Docs"]:hover,
.navbar-nav .nav-link:hover {
    transform: translateY(-1px);
    color: #000000 !important;
}

.list-group-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    background-color: #f8f9fa;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

body {
    animation: fadeIn 0.8s ease-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

#iframe-container {
    transition: all 0.3s ease;
}

.list-group-item:focus,
.btn:focus,
.nav-link:focus {
    outline: 2px solid #007bff;
    outline-offset: 2px;
    transition: outline 0.2s ease;
}

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

/* High contrast mode support */
@media (prefers-contrast: high) {
    .bg-darkblue {
        background: #000080;
    }
    
    .btn-americared {
        background-color: #cc0000;
        border: 2px solid #000;
    }
}

/* Focus visible for better keyboard navigation */
.btn:focus-visible,
.nav-link:focus-visible,
.list-group-item:focus-visible,
a:focus-visible {
    outline: 3px solid #007bff;
    outline-offset: 2px;
    border-radius: 2px;
}

/* Ensure all interactive elements are keyboard accessible */
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid #007bff;
    outline-offset: 2px;
}

/* Skip link styling - ensure high contrast (WCAG AAA 7:1 minimum) */
/* Use CSS only, no inline styles, so colors can be properly inherited */
/* Explicitly set background on html/body so absolutely positioned skip link has determinable background */
html {
    background-color: #ffffff !important;
    background: #ffffff !important;
}

a.skip-to-main-content,
.skip-to-main-content,
a[href="#main-content"].skip-to-main-content,
a[href="#main-content"].skip-to-main-content.skip-to-main-content,
body > a.skip-to-main-content,
body > a[href="#main-content"].skip-to-main-content,
body a.skip-to-main-content[href="#main-content"],
a.skip-to-main-content[href="#main-content"][aria-label="Skip to main content"],
a[href="#main-content"] {
    position: absolute !important;
    top: -40px !important;
    left: 0 !important;
    /* Explicit black background - can be determined because html has white background */
    background-color: #000000 !important;
    background: #000000 !important;
    background-image: none !important;
    background-size: auto !important;
    background-position: 0% 0% !important;
    background-repeat: repeat !important;
    background-attachment: scroll !important;
    background-origin: padding-box !important;
    background-clip: border-box !important;
    -webkit-background-clip: border-box !important;
    /* Explicit white text for contrast against black background */
    color: #ffffff !important;
    padding: 8px 16px !important;
    text-decoration: none !important;
    z-index: 1000 !important;
    border-radius: 0 0 4px 0 !important;
    font-weight: bold !important;
    border: none !important;
    box-shadow: none !important;
    filter: none !important;
    -webkit-filter: none !important;
    backdrop-filter: none !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
    transform: none !important;
    -webkit-transform: none !important;
    will-change: auto !important;
}

a.skip-to-main-content:focus,
.skip-to-main-content:focus,
a[href="#main-content"].skip-to-main-content:focus,
a[href="#main-content"].skip-to-main-content.skip-to-main-content:focus,
body > a.skip-to-main-content:focus,
body > a[href="#main-content"].skip-to-main-content:focus,
body a.skip-to-main-content[href="#main-content"]:focus,
a.skip-to-main-content[href="#main-content"][aria-label="Skip to main content"]:focus {
    top: 0 !important;
    background-color: #000000 !important;
    background: #000000 !important;
    background-image: none !important;
    background-size: auto !important;
    background-position: 0% 0% !important;
    background-repeat: repeat !important;
    background-attachment: scroll !important;
    background-origin: padding-box !important;
    background-clip: border-box !important;
    -webkit-background-clip: border-box !important;
    color: #ffffff !important;
    filter: none !important;
    -webkit-filter: none !important;
    backdrop-filter: none !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
    transform: none !important;
    -webkit-transform: none !important;
    will-change: auto !important;
    outline: 3px solid #ffffff !important;
    outline-offset: 2px !important;
}

/* Fix color contrast for header case information - override Bootstrap navbar-light (WCAG AAA 7:1 minimum) */
.navbar-light .text-start[role="contentinfo"],
.navbar-light .text-start[role="contentinfo"] *,
.navbar-light .text-start[role="contentinfo"] em,
.navbar-light .text-start[role="contentinfo"] br,
.navbar-light .text-start[role="contentinfo"] #court-name,
.navbar-light .text-start[role="contentinfo"] #case-number,
.navbar.navbar-light .text-start[role="contentinfo"],
.navbar.navbar-light .text-start[role="contentinfo"] *,
.navbar.navbar-light .text-start[role="contentinfo"] em,
.text-start[role="contentinfo"],
.text-start[role="contentinfo"] *,
.text-start[role="contentinfo"] em,
.text-start[role="contentinfo"] br,
.text-start[role="contentinfo"] #court-name,
.text-start[role="contentinfo"] #case-number,
nav .text-start[role="contentinfo"],
nav .text-start[role="contentinfo"] *,
nav .text-start[role="contentinfo"] em,
nav .text-start[role="contentinfo"] #court-name,
nav .text-start[role="contentinfo"] #case-number,
header .text-start[role="contentinfo"],
header .text-start[role="contentinfo"] *,
header .text-start[role="contentinfo"] em,
header .text-start[role="contentinfo"] #court-name,
header .text-start[role="contentinfo"] #case-number,
div.text-start[role="contentinfo"],
div.text-start[role="contentinfo"] *,
div.text-start[role="contentinfo"] em,
.container-fluid .text-start[role="contentinfo"],
.container-fluid .text-start[role="contentinfo"] *,
.container-fluid .text-start[role="contentinfo"] em,
#court-name,
#case-number,
#court-name-mobile,
#case-number-mobile,
em#court-name,
em#case-number,
em#court-name-mobile,
em#case-number-mobile,
div#court-name,
div#case-number,
header #court-name,
header #case-number,
nav #court-name,
nav #case-number {
    color: #000000 !important;
    -webkit-text-fill-color: #000000 !important;
    text-fill-color: #000000 !important;
    filter: none !important;
    -webkit-filter: none !important;
    backdrop-filter: none !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
}

/* Screen reader only class */
/* Explicit background and foreground for absolutely positioned element */
/* Background can be determined because parent (main) has explicit white background */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
    background-color: #ffffff !important;
    background: #ffffff !important;
    background-image: none !important;
    color: #000000 !important;
}

/* Fix color contrast for all section headings (WCAG AA 3:1 minimum) - COMPREHENSIVE */
#legal-info-heading,
#location-heading,
#documents-heading,
#questions-heading,
#important-dates-heading,
h2#legal-info-heading,
h2#location-heading,
h2#documents-heading,
h2#questions-heading,
h2#important-dates-heading,
h2.text-left#legal-info-heading,
h2.text-left#location-heading,
h2.text-left#documents-heading,
h2.text-left#questions-heading,
h2.text-left#important-dates-heading,
h2.text-left.px-4#legal-info-heading,
h2.text-left.px-4#location-heading,
h2.text-left.px-4#documents-heading,
h2.text-left.px-4#questions-heading,
h2.text-left.px-4#important-dates-heading,
section h2#legal-info-heading,
section h2#location-heading,
section h2#documents-heading,
section h2#questions-heading,
section h2#important-dates-heading,
section[id="Dates"] h2#important-dates-heading,
.wrapper h2#legal-info-heading,
.wrapper h2#location-heading,
.wrapper h2#documents-heading,
.wrapper h2#questions-heading,
.wrapper h2#important-dates-heading,
section[aria-labelledby="legal-info-heading"] h2,
section[aria-labelledby="location-heading"] h2,
section[aria-labelledby="documents-heading"] h2,
section[aria-labelledby="questions-heading"] h2,
section[aria-labelledby="important-dates-heading"] h2,
section[id="Dates"][aria-labelledby="important-dates-heading"] h2 {
    color: #000000 !important;
    -webkit-text-fill-color: #000000 !important;
    text-fill-color: #000000 !important;
    filter: none !important;
    -webkit-filter: none !important;
    backdrop-filter: none !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
}

/* Force all text content within headings to be black */
h2#legal-info-heading,
h2#location-heading,
h2#documents-heading,
h2#questions-heading,
h2#important-dates-heading {
    color: #000000 !important;
    -webkit-text-fill-color: #000000 !important;
    text-fill-color: #000000 !important;
    filter: none !important;
    -webkit-filter: none !important;
    backdrop-filter: none !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
}

/* Override any computed styles on heading text nodes */
h2#legal-info-heading *:not(i),
h2#location-heading *:not(i),
h2#documents-heading *:not(i),
h2#questions-heading *:not(i),
h2#important-dates-heading *:not(i) {
    color: #000000 !important;
    -webkit-text-fill-color: #000000 !important;
    text-fill-color: #000000 !important;
    filter: none !important;
    -webkit-filter: none !important;
    backdrop-filter: none !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
}


/* ============================================
   ABSOLUTE FINAL OVERRIDE - MAXIMUM SPECIFICITY
   This MUST be the absolute last rule in the file
   Uses highest specificity to override everything
   ============================================ */

/* Skip link - Force pure black background with maximum specificity */
html body > a.skip-to-main-content[href="#main-content"][class="skip-to-main-content"][aria-label="Skip to main content"],
html body a.skip-to-main-content[href="#main-content"],
html body a[href="#main-content"].skip-to-main-content,
html body a.skip-to-main-content,
html body a[href="#main-content"],
a.skip-to-main-content[href="#main-content"][class="skip-to-main-content"][aria-label="Skip to main content"],
a[href="#main-content"].skip-to-main-content {
    background: #000000 !important;
    background-color: #000000 !important;
    background-image: none !important;
    background-size: auto !important;
    background-position: 0% 0% !important;
    background-repeat: repeat !important;
    background-attachment: scroll !important;
    background-origin: padding-box !important;
    background-clip: border-box !important;
    -webkit-background-clip: border-box !important;
    color: #ffffff !important;
    filter: none !important;
    -webkit-filter: none !important;
    backdrop-filter: none !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
    transform: none !important;
    -webkit-transform: none !important;
    will-change: auto !important;
    /* Force override any computed initial values */
    background-size: auto !important;
    background-position: 0% 0% !important;
    background-repeat: repeat !important;
    background-attachment: scroll !important;
    background-origin: padding-box !important;
    background-clip: border-box !important;
}

/* Ensure html and body have explicit background and foreground for skip link contrast */
/* This is critical for absolutely positioned skip link to have determinable background */
/* Both background AND foreground must be in CSS (not inline) to satisfy F24 rule */
html {
    background-color: #ffffff !important;
    background: #ffffff !important;
    background-image: none !important;
}

html body,
body {
    background-color: #ffffff !important;
    background: #ffffff !important;
    background-image: none !important;
    color: #000000 !important;
    position: relative !important;
}

/* Ensure main element has explicit background for sr-only h1 */
/* Both background AND foreground must be in CSS (not inline) to satisfy F24 rule */
main#main-content,
main {
    background-color: #ffffff !important;
    background: #ffffff !important;
    background-image: none !important;
    color: #000000 !important;
    position: relative !important;
}

/* Ensure all sections inherit background and foreground */
.wrapper,
section.wrapper,
.bg-white,
section.bg-white {
    background-color: #ffffff !important;
    background: #ffffff !important;
    color: #000000 !important;
}

/* Ensure all headings inherit colors from parent sections - NO INLINE STYLES */
.wrapper h2,
section.wrapper h2,
.bg-white h2,
section.bg-white h2,
h2#legal-info-heading,
h2#important-dates-heading,
h2#location-heading,
h2#documents-heading,
h2#questions-heading,
section h2#legal-info-heading,
section h2#important-dates-heading,
section h2#location-heading,
section h2#documents-heading,
section h2#questions-heading {
    color: #000000 !important;
    background-color: #ffffff !important;
    background: #ffffff !important;
}

/* Ensure all heading spans inherit colors - NO INLINE STYLES */
.wrapper h2 span,
section.wrapper h2 span,
.bg-white h2 span,
section.bg-white h2 span,
h2#legal-info-heading span,
h2#important-dates-heading span,
h2#location-heading span,
h2#documents-heading span,
h2#questions-heading span,
section h2#legal-info-heading span,
section h2#important-dates-heading span,
section h2#location-heading span,
section h2#documents-heading span,
section h2#questions-heading span {
    color: #000000 !important;
    background-color: #ffffff !important;
    background: #ffffff !important;
}

/* Header text - Force pure black with maximum specificity */
html body .navbar-light .text-start[role="contentinfo"],
html body .navbar-light .text-start[role="contentinfo"] *,
html body .navbar-light .text-start[role="contentinfo"] em,
html body .navbar-light .text-start[role="contentinfo"] #court-name,
html body .navbar-light .text-start[role="contentinfo"] #case-number,
html body #court-name,
html body #case-number,
html body em#court-name,
html body em#case-number,
html body .text-start[role="contentinfo"],
html body .text-start[role="contentinfo"] *,
html body .text-start[role="contentinfo"] em {
    color: #000000 !important;
    background-color: #ffffff !important;
    -webkit-text-fill-color: #000000 !important;
    text-fill-color: #000000 !important;
    filter: none !important;
    -webkit-filter: none !important;
    backdrop-filter: none !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
}

/* Navigation links - Force pure black with maximum specificity */
html body .navbar-nav a[href$="#Dates"],
html body .navbar-nav a[href$="#Docs"],
html body a.nav-link[href$="#Dates"],
html body a.nav-link[href$="#Docs"],
html body a[href$="#Dates"],
html body a[href$="#Docs"],
html body .nav-link[href$="#Dates"],
html body .nav-link[href$="#Docs"] {
    color: #000000 !important;
    -webkit-text-fill-color: #000000 !important;
    text-fill-color: #000000 !important;
    filter: none !important;
    -webkit-filter: none !important;
    backdrop-filter: none !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
}

/* All heading spans - Force pure black with maximum specificity */
html body #legal-info-heading > span,
html body h2#legal-info-heading > span,
html body #legal-info-heading span,
html body h2#legal-info-heading span,
html body section h2#legal-info-heading > span,
html body .wrapper h2#legal-info-heading > span,
html body #important-dates-heading > span,
html body h2#important-dates-heading > span,
html body #important-dates-heading span,
html body h2#important-dates-heading span,
html body section h2#important-dates-heading > span,
html body .wrapper h2#important-dates-heading > span,
html body #location-heading > span,
html body h2#location-heading > span,
html body #documents-heading > span,
html body h2#documents-heading > span,
html body #questions-heading > span,
html body h2#questions-heading > span {
    color: #000000 !important;
    background-color: #ffffff !important;
    background: #ffffff !important;
    -webkit-text-fill-color: #000000 !important;
    text-fill-color: #000000 !important;
    filter: none !important;
    -webkit-filter: none !important;
    backdrop-filter: none !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
    transform: none !important;
    -webkit-transform: none !important;
    will-change: auto !important;
    text-shadow: none !important;
    -webkit-text-stroke: 0 !important;
    text-stroke: 0 !important;
}

/* ABSOLUTE FINAL OVERRIDE for heading spans - highest specificity possible */
html body h2#legal-info-heading.text-left.px-4 > span,
html body h2.text-left.px-4#legal-info-heading > span,
html body section h2#legal-info-heading.text-left.px-4 > span,
html body .wrapper h2#legal-info-heading.text-left.px-4 > span,
html body h2#important-dates-heading.text-left.px-4 > span,
html body h2.text-left.px-4#important-dates-heading > span,
html body section h2#important-dates-heading.text-left.px-4 > span,
html body .wrapper h2#important-dates-heading.text-left.px-4 > span,
html body section[id="Dates"] h2#important-dates-heading.text-left.px-4 > span {
    color: #000000 !important;
    background-color: #ffffff !important;
    background: #ffffff !important;
    -webkit-text-fill-color: #000000 !important;
    text-fill-color: #000000 !important;
    filter: none !important;
    -webkit-filter: none !important;
    backdrop-filter: none !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
    transform: none !important;
    -webkit-transform: none !important;
    will-change: auto !important;
    text-shadow: none !important;
    -webkit-text-stroke: 0 !important;
    text-stroke: 0 !important;
}

/* All headings - Force pure black with maximum specificity */
html body h2#legal-info-heading,
html body h2#important-dates-heading,
html body h2#location-heading,
html body h2#documents-heading,
html body h2#questions-heading,
html body #legal-info-heading,
html body #important-dates-heading,
html body #location-heading,
html body #documents-heading,
html body #questions-heading {
    color: #000000 !important;
    background-color: #ffffff !important;
    background: #ffffff !important;
    -webkit-text-fill-color: #000000 !important;
    text-fill-color: #000000 !important;
    filter: none !important;
    -webkit-filter: none !important;
    backdrop-filter: none !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
}

/* ============================================
   ABSOLUTE FINAL FINAL OVERRIDE - HIGHEST PRIORITY
   This is the absolute last rule - nothing comes after this
   Simple selectors to catch everything
   ============================================ */
a.skip-to-main-content,
a[href="#main-content"],
.skip-to-main-content {
    background: #000000 !important;
    background-color: #000000 !important;
    background-image: none !important;
    background-size: auto !important;
    background-position: 0% 0% !important;
    background-repeat: repeat !important;
    background-attachment: scroll !important;
    background-origin: padding-box !important;
    background-clip: border-box !important;
    -webkit-background-clip: border-box !important;
    color: #ffffff !important;
    filter: none !important;
    -webkit-filter: none !important;
    backdrop-filter: none !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
    transform: none !important;
    -webkit-transform: none !important;
    will-change: auto !important;
}
