/* Version for visually impaired */

body.a11y-on {
  --green: #000000;
  --green-dark: #000000;
  --green-soft: #ffff00;
  --blue: #0000ee;
  --blue-soft: #ffff00;
  --bg: #ffffff;
  --ink: #000000;
  --muted: #000000;
  --line: #000000;
  --white: #ffffff;
  --shadow: none;
  --hover-bg: #ffff00;
  font-size: 20px !important;
  line-height: 1.7 !important;
  letter-spacing: 0.02em;
  word-spacing: 0.04em;
}

body.a11y-on * {
  animation: none !important;
  transition: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  backdrop-filter: none !important;
}

body.a11y-on:not(.a11y-images-on) img,
body.a11y-on:not(.a11y-images-on) video,
body.a11y-on:not(.a11y-images-on) .hero__media,
body.a11y-on:not(.a11y-images-on) .page-hero__bg,
body.a11y-on:not(.a11y-images-on) .mosaic__item img,
body.a11y-on:not(.a11y-images-on) .news-card__img img,
body.a11y-on:not(.a11y-images-on) .service-card__img img,
body.a11y-on:not(.a11y-images-on) .about-media img,
body.a11y-on:not(.a11y-images-on) .content-figure img,
body.a11y-on:not(.a11y-images-on) .map-embed {
  display: none !important;
}

body.a11y-on .hero,
body.a11y-on .page-hero,
body.a11y-on .site-footer,
body.a11y-on .contact-teaser,
body.a11y-on .side-rail,
body.a11y-on .nav-mega,
body.a11y-on .brand__logo,
body.a11y-on .mosaic__item,
body.a11y-on .proc-card__icon {
  background: #000000 !important;
  color: #ffffff !important;
  border-color: #ffffff !important;
}

body.a11y-on .site-header,
body.a11y-on .section--soft,
body.a11y-on .stat-card,
body.a11y-on .news-card,
body.a11y-on .proc-card,
body.a11y-on .service-card,
body.a11y-on .contact-box,
body.a11y-on .banner-item,
body.a11y-on .side-nav,
body.a11y-on .doc-links a,
body.a11y-on .search-dialog__panel,
body.a11y-on .info-panel,
body.a11y-on .a11y-map-fallback,
body.a11y-on .contact-intro {
  background: #ffffff !important;
  color: #000000 !important;
  border: 2px solid #000000 !important;
}

body.a11y-on a,
body.a11y-on .btn,
body.a11y-on .section__link,
body.a11y-on .news-card__more,
body.a11y-on .header-phone,
body.a11y-on .nav-mega__link,
body.a11y-on .nav-mega__sub a,
body.a11y-on .nav-acc__link {
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

body.a11y-on a:hover,
body.a11y-on .btn:hover,
body.a11y-on button:hover {
  background: #ffff00 !important;
  color: #000000 !important;
  border-color: #000000 !important;
}

body.a11y-on .btn--primary,
body.a11y-on .icon-btn.is-active,
body.a11y-on .lang button.is-active {
  background: #000000 !important;
  color: #ffffff !important;
  border: 2px solid #000000 !important;
}

body.a11y-on .btn--primary:hover,
body.a11y-on .icon-btn.is-active:hover {
  background: #ffff00 !important;
  color: #000000 !important;
}

body.a11y-on .hero h1,
body.a11y-on .hero__lead,
body.a11y-on .hero__eyebrow,
body.a11y-on .page-hero h1,
body.a11y-on .breadcrumbs,
body.a11y-on .breadcrumbs a,
body.a11y-on .contact-teaser a,
body.a11y-on .site-footer a,
body.a11y-on .nav-mega a,
body.a11y-on .side-rail__word,
body.a11y-on .side-rail__mark {
  color: #ffffff !important;
}

body.a11y-on .hero {
  min-height: auto;
  padding: 48px 0;
}

body.a11y-on .hero__overlay,
body.a11y-on .hero__scroll::after,
body.a11y-on .reveal {
  opacity: 1 !important;
  transform: none !important;
  background: none !important;
}

body.a11y-on .icon-btn,
body.a11y-on .social-btn,
body.a11y-on .slider__nav button,
body.a11y-on .nav-mega__close,
body.a11y-on .side-rail__menu-btn {
  border: 2px solid currentColor !important;
  background: transparent !important;
  min-width: 44px;
  min-height: 44px;
}

body.a11y-on :focus-visible {
  outline: 3px solid #0000ee !important;
  outline-offset: 3px !important;
}

body.a11y-on.a11y-theme-wb {
  --bg: #000000;
  --ink: #ffffff;
  --muted: #ffffff;
  --line: #ffffff;
  --white: #000000;
  --green-soft: #ffff00;
  --hover-bg: #ffff00;
  background: #000 !important;
  color: #fff !important;
}

body.a11y-on.a11y-theme-wb .site-header,
body.a11y-on.a11y-theme-wb .section--soft,
body.a11y-on.a11y-theme-wb .stat-card,
body.a11y-on.a11y-theme-wb .news-card,
body.a11y-on.a11y-theme-wb .proc-card,
body.a11y-on.a11y-theme-wb .service-card,
body.a11y-on.a11y-theme-wb .contact-box,
body.a11y-on.a11y-theme-wb .side-nav,
body.a11y-on.a11y-theme-wb .doc-links a,
body.a11y-on.a11y-theme-wb .search-dialog__panel,
body.a11y-on.a11y-theme-wb .contact-intro,
body.a11y-on.a11y-theme-wb .content-card,
body.a11y-on.a11y-theme-wb main {
  background: #000000 !important;
  color: #ffffff !important;
  border-color: #ffffff !important;
}

body.a11y-on.a11y-theme-wb a,
body.a11y-on.a11y-theme-wb p,
body.a11y-on.a11y-theme-wb h1,
body.a11y-on.a11y-theme-wb h2,
body.a11y-on.a11y-theme-wb h3,
body.a11y-on.a11y-theme-wb li,
body.a11y-on.a11y-theme-wb span {
  color: #ffffff !important;
}

body.a11y-on.a11y-theme-by {
  --bg: #000000;
  --ink: #ffff00;
  --muted: #ffff00;
  --line: #ffff00;
  background: #000 !important;
  color: #ffff00 !important;
}

body.a11y-on.a11y-theme-by .site-header,
body.a11y-on.a11y-theme-by .section--soft,
body.a11y-on.a11y-theme-by .stat-card,
body.a11y-on.a11y-theme-by .news-card,
body.a11y-on.a11y-theme-by .proc-card,
body.a11y-on.a11y-theme-by .service-card,
body.a11y-on.a11y-theme-by .contact-box,
body.a11y-on.a11y-theme-by .side-nav,
body.a11y-on.a11y-theme-by .doc-links a,
body.a11y-on.a11y-theme-by .search-dialog__panel,
body.a11y-on.a11y-theme-by .contact-intro,
body.a11y-on.a11y-theme-by .content-card,
body.a11y-on.a11y-theme-by main {
  background: #000000 !important;
  color: #ffff00 !important;
  border-color: #ffff00 !important;
}

body.a11y-on.a11y-theme-by a,
body.a11y-on.a11y-theme-by p,
body.a11y-on.a11y-theme-by h1,
body.a11y-on.a11y-theme-by h2,
body.a11y-on.a11y-theme-by h3,
body.a11y-on.a11y-theme-by li,
body.a11y-on.a11y-theme-by span {
  color: #ffff00 !important;
}

body.a11y-on.a11y-theme-by a:hover,
body.a11y-on.a11y-theme-by button:hover {
  background: #ffff00 !important;
  color: #000000 !important;
}

.a11y-bar {
  display: none;
  position: sticky;
  top: var(--header-h, 72px);
  z-index: 880;
  background: #000;
  color: #fff;
  border-bottom: 2px solid #fff;
  padding: 10px 0;
}

body.a11y-on .a11y-bar { display: block; }
body.has-hero.a11y-on .a11y-bar { position: sticky; top: 0; }

.a11y-bar__inner {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.a11y-bar__label {
  font-weight: 700;
  margin-right: 4px;
}

.a11y-bar__group {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.a11y-bar button {
  border: 2px solid #fff;
  background: #000;
  color: #fff;
  padding: 10px 12px;
  min-height: 44px;
  cursor: pointer;
  font-weight: 700;
  font-size: 0.95rem;
  line-height: 1.2;
}

.a11y-bar button:hover,
.a11y-bar button.is-active {
  background: #ffff00;
  color: #000;
  border-color: #000;
}

.a11y-bar [data-a11y-theme="bw"] { color: #fff; background: #000; }
.a11y-bar [data-a11y-theme="wb"] { color: #000; background: #fff; border-color: #fff; }
.a11y-bar [data-a11y-theme="by"] { color: #ffff00; background: #000; border-color: #ffff00; }

body.a11y-on.a11y-size-lg { font-size: 24px !important; }
body.a11y-on.a11y-size-xl { font-size: 28px !important; }

body.a11y-on .a11y-map-fallback {
  display: block !important;
  padding: 20px;
  margin-top: 12px;
}

body.a11y-on:not(.a11y-images-on) .brand__logo-img {
  display: block !important;
}

@media (max-width: 900px) {
  body.a11y-on {
    font-size: 18px !important;
    padding-bottom: 72px !important;
  }

  body.a11y-on.a11y-size-lg { font-size: 21px !important; }
  body.a11y-on.a11y-size-xl { font-size: 24px !important; }

  .a11y-bar {
    position: sticky;
    top: 0;
    z-index: 1200;
  }

  body.a11y-on .site-header {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background: #fff !important;
    border-bottom: 2px solid #000 !important;
  }

  body.has-hero.a11y-on:not(.is-scrolled) .site-header {
    background: #fff !important;
  }

  body.has-hero.a11y-on:not(.is-scrolled) .header-lang button,
  body.has-hero.a11y-on:not(.is-scrolled) .header-search.icon-btn,
  body.has-hero.a11y-on:not(.is-scrolled) .header-a11y.icon-btn {
    color: #000 !important;
    border-color: #000 !important;
    background: #fff !important;
  }

  .a11y-bar__label {
    width: 100%;
    margin: 0 0 4px;
    font-size: 0.95rem;
  }

  .a11y-bar button {
    flex: 1 1 auto;
    min-width: calc(33.33% - 8px);
    padding: 12px 8px;
    font-size: 0.85rem;
  }

  .a11y-bar [data-a11y-toggle] {
    flex: 1 1 100%;
    min-width: 100%;
  }

  body.a11y-on .side-rail {
    background: #000 !important;
    border-top: 2px solid #fff !important;
  }

  body.a11y-on .nav-mega {
    grid-template-columns: 1fr !important;
  }

  body.a11y-on .header-a11y.icon-btn,
  body.a11y-on .header-search.icon-btn {
    width: 44px !important;
    height: 44px !important;
    border: 2px solid #000 !important;
  }

  body.a11y-on .contact-intro,
  body.a11y-on .footer-grid,
  body.a11y-on .contact-grid {
    display: block !important;
  }

  body.a11y-on:not(.a11y-images-on) .contact-intro img {
    display: none !important;
  }

  body.a11y-on .side-nav {
    display: flex !important;
    flex-wrap: wrap !important;
    overflow: visible !important;
  }

  body.a11y-on .side-nav a {
    white-space: normal !important;
    border: 2px solid #000 !important;
  }

  body.a11y-on .brand__logo-img {
    max-height: 40px !important;
  }
}

@media (max-width: 420px) {
  body.a11y-on .header-lang.lang {
    display: none !important;
  }

  body.a11y-on .a11y-bar__group {
    width: 100%;
  }

  body.a11y-on .a11y-bar__group button {
    flex: 1;
  }
}