/* Accessibility fixes layered over the original design (WCAG 2.2 AA). */

/* Skip link: hidden until it gets keyboard focus */
.skip-link.sr-only-focusable:focus {
  position: fixed; top: 8px; left: 8px; z-index: 2000;
  width: auto; height: auto; margin: 0; clip: auto;
  padding: 12px 18px; background: #fff; color: #111350;
  font-weight: 700; border: 3px solid #111350; border-radius: 4px;
}

/* Visible keyboard focus everywhere (the old theme removed outlines) */
a:focus-visible, button:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid #1a6fd8 !important;
  outline-offset: 2px;
  box-shadow: 0 0 0 5px #fff;
}
#contact a:focus-visible { outline-color: #fff !important; box-shadow: 0 0 0 5px #111350; }

/* Links inside running text are underlined, not shown by colour alone */
.box p a:not(.btn):not(.request), .box li a, .box address a { text-decoration: underline; }
.box p a:not(.btn):not(.request):hover, .box li a:hover { text-decoration-thickness: 2px; }

/* Button hover colour keeps 4.5:1 contrast with white text */
.btn.btn-primary:hover, .btn.btn-primary:focus, .btn.btn-primary.active { background-color: #5c5104; color: #fff; }

/* Spacing that used to come from <br> inside lists */
.spaced > li { margin-bottom: 20px; }

/* Slider: bigger arrows on phones, plus a pause/play button */
#main-slider .slider-toggle {
  position: absolute; right: 10px; bottom: 10px; z-index: 6;
  width: 44px; height: 44px; border: 0; border-radius: 4px;
  background: rgba(0, 0, 0, 0.55); color: #fff; font-size: 18px; line-height: 44px; padding: 0;
}
#main-slider .slider-toggle:hover { background: rgba(0, 0, 0, 0.75); }
@media (max-width: 767px) {
  #main-slider .prev, #main-slider .next {
    width: 44px !important; height: 44px !important; line-height: 44px !important; font-size: 20px !important;
  }
  #main-slider .prev i, #main-slider .next i { margin-top: 0 !important; }
}

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* Home icon keeps 3:1 contrast on the dark "current section" background */
.navbar-default .navbar-nav > li.active .fa-home { color: #cdbf6e !important; }

/* Images carry width/height to stop the page jumping while they load; keep their shape when CSS resizes them */
img[width][height] { height: auto; max-width: 100%; }

/* Copyright and logo at the bottom of the address box */
#contact .contact-legal { margin-top: 40px; padding-top: 24px; border-top: 1px solid #3a3a3a; }
#contact .contact-legal img { display: block; margin: 0 auto 10px; }
#contact .contact-legal p { margin: 0; font-size: 13px; color: #bbb; }
#contact { padding-bottom: 30px; }

/* The contact box greys its links; keep the button text white on gold */
#contact .box a.btn-primary, #contact .box a.btn-primary:hover, #contact .box a.btn-primary:focus { color: #fff; text-decoration: none; }
#contact .contact-legal p + p { margin-top: 8px; }
#contact .contact-legal a { color: #ccc; text-decoration: underline; }

