/* ----------------------------------------------------
   High-contrast accessible theme for Material MkDocs
   Designed for WCAG 2.1 AA compatibility
---------------------------------------------------- */

:root {

  /* Core colors */

  --md-primary-fg-color: #000000;
  --md-primary-fg-color--light: #111111;
  --md-primary-fg-color--dark: #000000;

  --md-accent-fg-color: #FF6A00;
  --md-accent-fg-color--transparent: rgba(255,106,0,0.15);

  --md-default-bg-color: #ffffff;

  --md-default-fg-color: #111111;
  --md-default-fg-color--light: #2a2a2a;
  --md-default-fg-color--lighter: #4a4a4a;
  --md-default-fg-color--lightest: #666666;

  --md-typeset-a-color: #0033cc;
}

/* ----------------------------------------------------
   Base layout
---------------------------------------------------- */

html {
  scroll-behavior: auto;
}

body {
  color: #111111;
  background-color: #ffffff;
}

/* ----------------------------------------------------
   Header / footer
---------------------------------------------------- */

.md-header,
.md-tabs,
.md-footer,
.md-footer-meta {
  background-color: #000000 !important;
  color: #ffffff !important;
}

.md-header__title,
.md-header__button,
.md-tabs__link,
.md-footer,
.md-footer a,
.md-footer-meta,
.md-footer-meta a,
.md-copyright {
  color: #ffffff !important;
}

/* ----------------------------------------------------
   Search box
---------------------------------------------------- */

.md-search__form {
  background-color: #ffffff;
}

.md-search__input,
.md-search__input::placeholder {
  color: #111111;
}

/* ----------------------------------------------------
   Links
---------------------------------------------------- */

.md-typeset a,
.md-nav__link,
.md-search-result__link,
.md-tabs__link,
.md-footer a {

  text-decoration: underline;
  text-underline-offset: 0.16em;
  text-decoration-thickness: 0.12em;
}

/* Hover feedback for mouse users */

.md-typeset a:hover,
.md-nav__link:hover,
.md-search-result__link:hover,
.md-tabs__link:hover,
.md-footer a:hover {

  text-decoration-thickness: 0.18em;
  background-color: rgba(255,106,0,0.08);
}

/* ----------------------------------------------------
   Accessibility focus indicator
---------------------------------------------------- */

/* Keyboard focus */

*:focus-visible {

  outline: 4px solid #FF6A00 !important;
  outline-offset: 4px;
  border-radius: 2px;
}

/* Mouse + keyboard fallback */

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus,
[tabindex]:focus {

  outline: 4px solid #FF6A00 !important;
  outline-offset: 4px;
}

/* Search focus */

.md-search__input:focus-visible,
.md-search__form:focus-within {

  outline: 4px solid #FF6A00 !important;
  outline-offset: 2px;
}

/* ----------------------------------------------------
   Tables
---------------------------------------------------- */

.md-typeset table:not([class]) {
  display: table;
}

.md-typeset th {

  background-color: #f1f1f1;
  color: #111111;
}

/* ----------------------------------------------------
   Code blocks
---------------------------------------------------- */

.md-typeset code,
.md-typeset pre code {
  font-size: 0.95em;
}

/* ----------------------------------------------------
   Images
---------------------------------------------------- */

img,
svg {

  max-width: 100%;
  height: auto;
}

/* ----------------------------------------------------
   Reduced motion support
---------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {

    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}