/* Presentation of Joomla's system accessibility plugin; no vendor files changed. */
body.gym-site {
  --gym-access-gap: max(1.25rem, env(safe-area-inset-bottom));
}
.gym-site ._access-icon._access {
  left: max(1.25rem, env(safe-area-inset-left)) !important;
  right: auto !important;
  bottom: var(--gym-access-gap) !important;
  top: auto !important;
  width: 3.25rem !important;
  height: 3.25rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 2px solid #fff !important;
  border-radius: 50% !important;
  background: var(--gym-purple) !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 1 !important;
  text-indent: 0 !important;
  transform: none !important;
  box-shadow: 0 4px 16px #25213d26 !important;
  transition: background-color .2s ease, box-shadow .2s ease !important;
}
.gym-site ._access-icon._access::before {
  content: "";
  width: 1.875rem;
  height: 1.875rem;
  background: #fff;
  mask: url('../icons/accessibility.svg') center / contain no-repeat;
}
.gym-site ._access-icon._access:hover,
.gym-site ._access-icon._access[aria-expanded="true"] {
  background: var(--gym-pink) !important;
  box-shadow: 0 4px 20px #25213d38 !important;
}
.gym-site ._access-menu._access {
  left: max(1.25rem, env(safe-area-inset-left)) !important;
  right: auto !important;
  top: auto !important;
  bottom: calc(var(--gym-access-gap) + 4rem) !important;
  width: min(23rem, calc(100vw - 2.5rem)) !important;
  min-width: 0 !important;
  max-height: calc(100dvh - var(--gym-access-gap) - 5rem) !important;
  border: 1px solid var(--gym-line) !important;
  border-radius: 1rem !important;
  background: var(--gym-paper) !important;
  color: var(--gym-ink) !important;
  font-family: 'Segoe UI', Arial, sans-serif !important;
  overflow: hidden !important;
  box-shadow: 0 10px 36px #25213d26 !important;
  transition: none !important;
}
.gym-site ._access-menu._access.close,
.gym-site.menu-is-open ._access-icon._access,
.gym-site.menu-is-open ._access-menu._access {
  display: none !important;
}
.gym-site ._access-menu._access h3 {
  margin: 0 !important;
  padding: 1.125rem 3.5rem !important;
  min-height: 4rem;
  background: var(--gym-purple) !important;
  color: #fff !important;
  font: 700 1rem/1.35 'Segoe UI', Arial, sans-serif !important;
  letter-spacing: normal !important;
}
.gym-site ._access-menu ._menu-btn {
  position: absolute !important;
  top: .625rem !important;
  width: 2.75rem !important;
  height: 2.75rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: #ffffff1f !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 1 !important;
  text-indent: 0 !important;
  transform: none !important;
  cursor: pointer;
}
.gym-site ._access-menu ._menu-close-btn { left: .5rem !important; }
.gym-site ._access-menu ._menu-reset-btn { right: .5rem !important; }
.gym-site ._access-menu ._menu-close-btn::before { content: "×"; }
.gym-site ._access-menu ._menu-reset-btn::before { content: "↺"; }
.gym-site ._access-menu ._menu-btn::before {
  color: #fff;
  font: 400 1.75rem/1 Arial, sans-serif;
}
.gym-site ._access-menu ._menu-btn:hover { background: #ffffff38 !important; }
.gym-site ._access-menu ._access-scrollbar {
  width: auto !important;
  max-height: min(28rem, calc(100dvh - var(--gym-access-gap) - 10.5rem)) !important;
  margin: 0 !important;
  padding: .75rem !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}
.gym-site ._access-menu ._access-scrollbar li {
  min-height: 2.75rem !important;
  margin: 0 0 .4rem !important;
  padding: .8rem .75rem .8rem 2.75rem !important;
  border: 1px solid var(--gym-line) !important;
  border-radius: .625rem !important;
  background: #fff !important;
  color: var(--gym-ink) !important;
  font: 400 .9375rem/1.4 'Segoe UI', Arial, sans-serif !important;
}
.gym-site ._access-menu ._access-scrollbar li:last-child { margin-bottom: 0 !important; }
.gym-site ._access-menu ._access-scrollbar li:hover,
.gym-site ._access-menu ._access-scrollbar li:focus-visible {
  border-color: var(--gym-purple) !important;
  background: var(--gym-lilac) !important;
}
.gym-site ._access-menu ._access-scrollbar li.active {
  border-color: var(--gym-purple) !important;
  background: var(--gym-purple) !important;
  color: #fff !important;
}
.gym-site ._access-menu ._access-scrollbar li::before { left: .8rem !important; }
.gym-site ._access-menu svg { fill: currentColor !important; }
@media (prefers-reduced-motion: reduce) {
  .gym-site ._access-icon._access { transition: none !important; }
}
@media (forced-colors: active) {
  .gym-site ._access-icon._access { border-color: ButtonText !important; }
  .gym-site ._access-icon._access::before { background: ButtonText; }
}
@media print {
  .gym-site ._access-icon._access,
  .gym-site ._access-menu._access { display: none !important; }
}
