:root,
:root[data-bs-theme="light"],
[data-bs-theme="light"] {
  --bs-primary: var(--color-primary);
  --bs-primary-rgb: 0, 90, 156;
  --bs-secondary: var(--color-secondary);
  --bs-secondary-rgb: 111, 215, 227;
  --bs-body-font-family: var(--font-sans);
  --bs-body-bg: var(--color-page);
  --bs-body-color: var(--color-strong);
  --bs-border-color: var(--color-border);
  --bs-link-color: var(--color-primary);
  --bs-link-hover-color: var(--color-primary-strong);
  --bs-link-decoration: none;
  --bs-link-hover-decoration: underline;
  --bs-dropdown-bg: var(--color-navy);
  --bs-dropdown-color: var(--color-header-text);
  --bs-dropdown-link-color: var(--color-header-text);
  --bs-dropdown-link-hover-color: var(--color-underline);
  --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.08);
  --bs-dropdown-link-active-color: var(--color-on-primary);
  --bs-dropdown-link-active-bg: rgba(0, 90, 156, 0.2);
  --bs-dropdown-border-color: var(--color-header-border);
  --bs-dropdown-border-radius: var(--radius-md);
  --bs-border-radius: var(--radius-md);
  --bs-border-radius-sm: var(--radius-sm);
  --bs-border-radius-lg: calc(var(--radius-md) + 3px);
  --bs-border-radius-xl: calc(var(--radius-md) + 6px);
  --bs-spacer: var(--space-sm);
  --bs-spacer-1: var(--space-3xs);
  --bs-spacer-2: var(--space-2xs);
  --bs-spacer-3: var(--space-xs);
  --bs-spacer-4: var(--space-sm);
  --bs-spacer-5: var(--space-md);
}

[data-bs-theme="dark"],
:root[data-theme="dark"][data-bs-theme],
:root[data-theme="dark"] [data-bs-theme="dark"] {
  --bs-primary: var(--color-primary);
  --bs-primary-rgb: 0, 90, 156;
  --bs-secondary: var(--color-secondary);
  --bs-secondary-rgb: 111, 215, 227;
  --bs-body-font-family: var(--font-sans);
  --bs-body-bg: var(--color-page);
  --bs-body-color: var(--color-strong);
  --bs-border-color: var(--color-border);
  --bs-link-color: var(--color-primary);
  --bs-link-hover-color: var(--color-primary-strong);
  --bs-link-decoration: none;
  --bs-link-hover-decoration: underline;
  --bs-dropdown-bg: var(--color-navy);
  --bs-dropdown-color: var(--color-header-text);
  --bs-dropdown-link-color: var(--color-header-text);
  --bs-dropdown-link-hover-color: var(--color-underline);
  --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.08);
  --bs-dropdown-link-active-color: var(--color-on-primary);
  --bs-dropdown-link-active-bg: rgba(0, 90, 156, 0.2);
  --bs-dropdown-border-color: var(--color-header-border);
  --bs-dropdown-border-radius: var(--radius-md);
  --bs-border-radius: var(--radius-md);
  --bs-border-radius-sm: var(--radius-sm);
  --bs-border-radius-lg: calc(var(--radius-md) + 3px);
  --bs-border-radius-xl: calc(var(--radius-md) + 6px);
  --bs-spacer: var(--space-sm);
  --bs-spacer-1: var(--space-3xs);
  --bs-spacer-2: var(--space-2xs);
  --bs-spacer-3: var(--space-xs);
  --bs-spacer-4: var(--space-sm);
  --bs-spacer-5: var(--space-md);
}

[data-contrast="high"],
[data-bs-theme="contrast"] {
  --bs-primary: var(--color-primary);
  --bs-primary-rgb: 255, 191, 0;
  --bs-secondary: var(--color-secondary);
  --bs-secondary-rgb: 111, 215, 227;
  --bs-body-font-family: var(--font-sans);
  --bs-body-bg: var(--color-page);
  --bs-body-color: var(--color-strong);
  --bs-border-color: var(--color-border);
  --bs-link-color: var(--color-primary);
  --bs-link-hover-color: var(--color-primary-strong);
  --bs-link-decoration: none;
  --bs-link-hover-decoration: underline;
  --bs-dropdown-bg: var(--color-navy);
  --bs-dropdown-color: var(--color-header-text);
  --bs-dropdown-link-color: var(--color-header-text);
  --bs-dropdown-link-hover-color: var(--color-underline);
  --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.08);
  --bs-dropdown-link-active-color: var(--color-on-primary);
  --bs-dropdown-link-active-bg: rgba(0, 90, 156, 0.2);
  --bs-dropdown-border-color: var(--color-header-border);
  --bs-dropdown-border-radius: var(--radius-md);
  --bs-border-radius: var(--radius-md);
  --bs-border-radius-sm: var(--radius-sm);
  --bs-border-radius-lg: calc(var(--radius-md) + 3px);
  --bs-border-radius-xl: calc(var(--radius-md) + 6px);
  --bs-spacer: var(--space-sm);
  --bs-spacer-1: var(--space-3xs);
  --bs-spacer-2: var(--space-2xs);
  --bs-spacer-3: var(--space-xs);
  --bs-spacer-4: var(--space-sm);
  --bs-spacer-5: var(--space-md);
}
