.skip-link {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 1085;
  padding: 0.75rem 1rem;
  background: #163329;
  color: #ffffff;
  border-radius: 0.5rem;
  transform: translateY(-200%);
  transition: transform 0.2s ease-in-out;
  text-decoration: none;
}

.skip-link:focus,
.skip-link:focus-visible {
  transform: translateY(0);
  outline: 3px solid #d69e2e;
  outline-offset: 3px;
}

#a11y-skip-target,
#main-content:focus {
  outline: none;
}

#app-notification-region {
  position: sticky;
  top: 0;
  z-index: 1040;
}

#app-notification-region:empty {
  display: none;
}

:focus-visible {
  outline: 3px solid #2b6cb0;
  outline-offset: 3px;
}

.form-control[aria-invalid='true'],
.form-select[aria-invalid='true'],
.form-check-input[aria-invalid='true'],
.form-range[aria-invalid='true'] {
  border-color: #c53030;
  box-shadow: 0 0 0 0.2rem rgba(197, 48, 48, 0.2);
}

.validation-summary-errors,
.field-validation-error,
.input-validation-error + .field-validation-error,
.invalid-feedback,
.text-danger[data-valmsg-for] {
  display: block;
}

.map-panel[role='application'] {
  min-height: 20rem;
}
