/* Accessibility: skip link, toolbar, focus, low-vision modes */

.a11y-skip-link {
  position: absolute;
  left: 8px;
  top: -100px;
  z-index: 100000;
  padding: 12px 20px;
  background: #000;
  color: #fff;
  font-size: 16px;
  text-decoration: underline; }
.a11y-skip-link:focus {
  top: 8px; }

.a11y-bar {
  background: #152035;
  color: #fff;
  font-size: 16px;
  line-height: 1.4; }
.a11y-toggle {
  display: block;
  width: 100%;
  padding: 8px 16px;
  background: transparent;
  color: inherit;
  border: 0;
  font: inherit;
  text-align: center;
  cursor: pointer; }
.a11y-panel {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 32px;
  padding: 16px;
  background: #fff;
  color: #000;
  border-bottom: 3px solid #152035; }
.a11y-panel[hidden] {
  display: none; }
.a11y-group {
  margin: 0;
  padding: 0;
  border: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center; }
.a11y-group legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 4px;
  font-weight: 700; }
.a11y-option, .a11y-reset {
  padding: 6px 12px;
  background: #fff;
  color: #000;
  border: 2px solid #152035;
  border-radius: 4px;
  font: inherit;
  cursor: pointer; }
.a11y-option[aria-pressed="true"] {
  background: #152035;
  color: #fff; }
.a11y-reset {
  align-self: flex-end;
  margin-left: auto; }

/* Visible keyboard focus */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
select:focus-visible,
[tabindex]:focus-visible,
.wp-block-navigation-item__content:focus-visible {
  outline: 3px solid #ffbf00;
  outline-offset: 2px;
  box-shadow: 0 0 0 5px #000; }
#main-content:focus {
  outline: none; }

/* Open submenus for keyboard users (desktop) */
@media screen and (min-width: 64em) {
  .wp-block-navigation .has-child:focus-within > .wp-block-navigation__submenu-container {
    opacity: 1;
    visibility: visible;
    display: flex;
    transform: translateY(0); } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important; }
  .wow {
    visibility: visible !important; } }

/* Font size */
html.a11y-font-1 body { zoom: 1.25; }
html.a11y-font-2 body { zoom: 1.5; }

/* Spacing and font family */
html.a11y-spacing body,
html.a11y-spacing body * {
  letter-spacing: 0.08em !important;
  word-spacing: 0.16em !important;
  line-height: 1.8 !important; }
html.a11y-family body,
html.a11y-family body * {
  font-family: Arial, Helvetica, sans-serif !important; }

/* Images */
html.a11y-images-gray img,
html.a11y-images-gray video,
html.a11y-images-gray .wp-block-cover__image-background {
  filter: grayscale(1); }
html.a11y-images-off img,
html.a11y-images-off video,
html.a11y-images-off .wp-block-cover__image-background {
  visibility: hidden; }
html.a11y-images-off .has-background-dim,
html.a11y-images-off [style*="background-image"] {
  background-image: none !important; }

/* Colour schemes */
html[class*="a11y-scheme-"] body,
html[class*="a11y-scheme-"] body *:not(img):not(video):not(svg):not(path):not(#a11y) {
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important; }
html[class*="a11y-scheme-"] .a11y-bar,
html[class*="a11y-scheme-"] .a11y-panel {
  border-color: currentColor; }

html.a11y-scheme-bw body,
html.a11y-scheme-bw body *:not(img):not(video):not(svg):not(path):not(#a11y) {
  background-color: #fff !important; color: #000 !important; border-color: #000 !important; }
html.a11y-scheme-wb body,
html.a11y-scheme-wb body *:not(img):not(video):not(svg):not(path):not(#a11y) {
  background-color: #000 !important; color: #fff !important; border-color: #fff !important; }
html.a11y-scheme-yb body,
html.a11y-scheme-yb body *:not(img):not(video):not(svg):not(path):not(#a11y) {
  background-color: #000 !important; color: #ffeb3b !important; border-color: #ffeb3b !important; }
html.a11y-scheme-bb body,
html.a11y-scheme-bb body *:not(img):not(video):not(svg):not(path):not(#a11y) {
  background-color: #9dd1ff !important; color: #063462 !important; border-color: #063462 !important; }

html.a11y-scheme-bw a, html.a11y-scheme-wb a, html.a11y-scheme-yb a, html.a11y-scheme-bb a {
  text-decoration: underline !important; }
html.a11y-scheme-bw svg, html.a11y-scheme-bw svg path { fill: #000 !important; }
html.a11y-scheme-wb svg, html.a11y-scheme-wb svg path { fill: #fff !important; }
html.a11y-scheme-yb svg, html.a11y-scheme-yb svg path { fill: #ffeb3b !important; }
html.a11y-scheme-bb svg, html.a11y-scheme-bb svg path { fill: #063462 !important; }
html[class*="a11y-scheme-"] .a11y-option[aria-pressed="true"] {
  outline: 3px solid currentColor; }

/* Hero banner: only the text column gets the scheme colour, the rest shows the photo */
html[class*="a11y-scheme-"] body .slider .wp-block-cover__background:not(#a11y),
html[class*="a11y-scheme-"] body .slider .wp-block-cover__inner-container:not(#a11y),
html[class*="a11y-scheme-"] body .slider .wp-block-columns:not(#a11y),
html[class*="a11y-scheme-"] body .slider .wp-block-columns > .wp-block-column:last-child:not(#a11y) {
  background-color: transparent !important; }
html[class*="a11y-scheme-"] body .slider .wp-block-columns > .wp-block-column:first-child:not(#a11y) {
  flex: 0 1 auto !important;
  width: fit-content;
  max-width: 56%;
  padding: 24px 32px; }
@media (max-width: 781px) {
  html[class*="a11y-scheme-"] body .slider .wp-block-columns > .wp-block-column:first-child:not(#a11y) {
    max-width: 100%; } }

/* Page banner (e.g. "Новини"): only the title gets the scheme colour, centred, sized to the text */
html[class*="a11y-scheme-"] body .banner .wp-block-cover__background:not(#a11y),
html[class*="a11y-scheme-"] body .banner .wp-block-cover__inner-container:not(#a11y),
html[class*="a11y-scheme-"] body .banner .wp-block-cover__inner-container .wp-block-group:not(#a11y) {
  background-color: transparent !important; }
html[class*="a11y-scheme-"] body .banner .wp-block-cover__inner-container .wp-block-group:not(#a11y) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important; }
html[class*="a11y-scheme-"] body .banner h1:not(#a11y) {
  width: fit-content;
  max-width: 100%;
  margin: 0 auto !important;
  padding: 12px 32px; }

/* Mobile burger: three bars drawn with gradients in mu-plugin; redraw in the scheme colour */
@media (max-width: 1199px) {
  html[class*="a11y-scheme-"] body .college-navigation-bar .wp-block-navigation__responsive-container-open:not(#a11y) {
    background-image:
      linear-gradient(currentColor, currentColor),
      linear-gradient(currentColor, currentColor),
      linear-gradient(currentColor, currentColor) !important;
    background-position: 50% 6px, 50% 14px, 50% 22px !important;
    background-size: 26px 2.5px !important;
    background-repeat: no-repeat !important; } }
html[class*="a11y-scheme-"] body .college-navigation-bar .wp-block-navigation__responsive-container-close svg:not(#a11y),
html[class*="a11y-scheme-"] body .college-navigation-bar .wp-block-navigation__responsive-container-close svg path:not(#a11y) {
  color: inherit !important;
  fill: currentColor !important; }

/* Cookie banner is position:fixed inside the zoomed body: keep it and its content within the viewport */
html.a11y-font-1 .cmplz-cookiebanner,
html.a11y-font-2 .cmplz-cookiebanner {
  box-sizing: border-box;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
html.a11y-font-1 .cmplz-cookiebanner > *,
html.a11y-font-2 .cmplz-cookiebanner > * {
  box-sizing: border-box;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100%; }
