.bfs-skip-link,
.bfs-visually-hidden {
  block-size: 1px;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  inline-size: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
}

.bfs-skip-link:focus {
  block-size: auto;
  clip: auto;
  clip-path: none;
  inline-size: auto;
  inset-block-start: 0.75rem;
  inset-inline-start: 0.75rem;
  margin: 0;
  overflow: visible;
  padding: 0.75rem 1rem;
  position: fixed;
  white-space: normal;
  z-index: 100000;
}

:where(.bfs-site) :focus-visible {
  outline: 3px solid var(--bfs-color-focus, #176b87);
  outline-offset: 3px;
}

:where(.bfs-site) [aria-invalid="true"] {
  border-color: var(--bfs-color-error, #9f2f28);
}

:where(.bfs-site) [role="alert"],
:where(.bfs-site) [role="status"] {
  scroll-margin-block-start: var(--bfs-anchor-offset, 7rem);
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  :where(.bfs-site) *,
  :where(.bfs-site) *::before,
  :where(.bfs-site) *::after {
    animation-duration: 0.01ms;
    animation-iteration-count: 1;
    scroll-behavior: auto;
    transition-duration: 0.01ms;
  }
}

