
:root {
    --tw-font-sans: Arial, Helvetica, sans-serif !important;
    --cassiopeia-font-family-headings: Arial, Helvetica, sans-serif !important;

    --background: #ffffff;
    --foreground: #171717;

    /* Design System Tokens */
    --spacing-section: 4rem;
    --spacing-item: 1.5rem;
    --color-divider: #E5E7EB;
    --shadow-focus: 0 0 0 2px rgba(30, 64, 175, 0.5);
}

html {
    --motion-reduce: none;
}

body {
    font-family: Arial, Helvetica, sans-serif !important;
    color: var(--foreground);
    background: var(--background);
}

a {
    text-decoration: none !important;
}

.card-body {
    padding: 0;
}

.container-header {
    z-index: 10;
    background-color: transparent;
    background-image: none;
    position: relative;
    box-shadow: inset 0 5px 5px #00000008;
}

.container-component > :first-child {
    margin-top: 0 !important;
}

.banner, .fade-text {
    opacity: 0;
    transition: opacity 0.8s ease-in-out;
    /*position: absolute;*/
}

.show {
    opacity: 1;
}

p {
    margin-bottom: 0;
}

.policy ul {
    list-style: disc;
    color: rgb(55 65 81 / 1);
    padding-left: 1.5rem;
}

.policy ul li {
    margin-top: 8px;
}

.policy ol {
    list-style: decimal;
    list-style-position: inside;
    padding-left: 0;
}

.policy h2 {
    color: rgb(30 58 138 / 1);
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 2rem;
    margin-bottom: 1rem;

}

.policy h3 {
    --tw-text-opacity: 1;
    color: rgb(30 58 138 / 1);
    font-weight: 600;
    font-size: 1.25rem;
    line-height: 1.75rem;
    margin-bottom: .5rem;
}

.policy p {
    color: rgb(55 65 81 / 1);
    line-height: 1.625;
}

.faqDesc ul {
    list-style: disc;
    list-style-position: inside;
    padding-left: 0;
}

.faqDesc ol {
    list-style: decimal;
    list-style-position: inside;
    padding-left: 0;
}

html.text-normal {
    font-size: 16px;
}

html.text-large {
    font-size: 18px;
}

html.text-extra-large {
    font-size: 20px;
}

html.contrast-high {
    --background: #000 !important;
    --foreground: #fff !important;
    filter: contrast(150%);
}

html.contrast-invert {
    filter: invert(1) hue-rotate(180deg);
}

html.reduce-motion *,
html.reduce-motion *::before,
html.reduce-motion *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
}

/* Remove Focus Outlines */
html.no-focus-outlines *:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* Underline Links */
html.underline-links a {
    text-decoration: underline !important;
}

/* Readable Font */
html.readable-font * {
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 400 !important;
    letter-spacing: 0.05em !important;
    line-height: 1.6 !important;
}

/* High Contrast Enhancements */
html.contrast-high {
    --background: #000000;
    --foreground: #ffffff;
}

html.contrast-high body {
    background: #000000;
    color: #ffffff;
}

html.contrast-high button {
    background: #ffffff !important;
    color: #000000 !important;
    border: 2px solid #ffffff !important;
}

html.contrast-high a {
    color: #00ffff !important;
}

.fb-page {
    width: 100%;
}

.fb-page iframe {
    width: 100% !important;
}