/* Shared front-end corrections for the 2026-09-04 accessibility review. */
a:focus, button:focus, input:focus, select:focus, textarea:focus,
[tabindex]:focus, [contenteditable="true"]:focus {
  outline: 3px solid #173f71 !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 2px #fff !important;
}
.skip-link:focus {
  display: block;
  position: relative;
  z-index: 1100;
  padding: .75rem;
  background: #fff;
  color: #173f71;
}
.header-wrap .sub p { margin-bottom: 0; line-height: 1.2; font-weight: 500; }
header.header .top-link .navbar { background: #356332; }
header.header .top-link a:hover, header.header .top-link a:focus { color: #fff !important; text-decoration: underline; }
.main-nav .main-item .quick-link-title {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 500;
  color: #666;
}
a.more_link { color: #52634f; }
.index-wrapper .news-link .date,
.index-wrapper .news-link:hover .news-title { color: #356332; }
footer.footer { background: #356332; color: #fff; }
footer.footer .menu-item.link a { color: #fff933; }
footer.footer .menu-item.link a:hover,
footer.footer .menu-item.link a:focus { color: #fff; text-decoration: underline; }
#accordian_nav .nav-title, #accordian_nav .current,
#accordian_nav ul ul li a { color: #525252; }
#accordian_nav .side-menu-heading a.current { color: #525252 !important; text-decoration: underline; }
.page-article .post-head .post-date { color: #666; }
.post-content a { color: #356332; text-decoration: underline; }
.post-content a:hover, .post-content a:focus { color: #234621; }
.rotation-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 10px;
  border: 1px solid #356332;
  border-radius: 50%;
  background: #fff;
  color: #234621;
  cursor: pointer;
}
.rotation-toggle svg { flex-shrink: 0; }
.banner-carousel { position: relative; }
.banner-carousel > .rotation-toggle {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
}
.sites-section-title { flex-wrap: wrap; gap: .5rem; }
.sites-section-actions { display: flex; align-items: center; gap: .75rem; margin-left: auto; }
#carouselCaptions .carousel-control-prev,
#carouselCaptions .carousel-control-next {
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border: 1px solid #356332;
  border-radius: 50%;
  background: #fff;
  color: #234621;
  opacity: 1;
}
#carouselCaptions .carousel-control-prev { left: 12px; }
#carouselCaptions .carousel-control-next { right: 12px; }
/* Keep keyboard focus visible without drawing a frame after a mouse click. */
.rotation-toggle:focus:not(:focus-visible),
#carouselCaptions .carousel-control-prev:focus:not(:focus-visible),
#carouselCaptions .carousel-control-next:focus:not(:focus-visible),
.slick-slider .slick-arrow:focus:not(:focus-visible),
.slick-slider .slick-dots button:focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none !important;
}
.carousel-caption p { background: #234621; color: #fff; padding: .5rem; }
.slick-slider .slick-arrow:focus { outline-offset: -3px !important; }
.slick-slider .slick-slide a:focus { outline-offset: -3px !important; }
.slick-slider .slick-dots { padding: .25rem; }
.slick-slider .slick-dots button:focus { outline-offset: 0 !important; }
.slick-slide[aria-hidden="true"] { visibility: hidden; }
@media (prefers-reduced-motion: reduce) {
  .carousel-item, .slick-track, .slick-slide { transition: none !important; }
}
