:root { --dr-notice-height: 0px; }
html { scroll-padding-top: calc(var(--dr-notice-height) + 110px); }
body { padding-top: var(--dr-notice-height); }
.dr-notice { position: fixed; inset: 0 0 auto; z-index: 1051; padding: 10px 24px; background: #004c45; color: #fff; text-align: center; font-family: inherit; font-size: 13px; line-height: 1.5; }
.navbar { top: var(--dr-notice-height); transition-property: background, box-shadow, padding, height, opacity, transform, color, border-color; }
.dr-notice a { color: #fff; text-decoration: underline; white-space: nowrap; }
.dr-notice small { display: block; font-size: 11px; opacity: .85; }
.dr-contact { padding: 20px; margin-block: 16px; border: 1px solid #008878; border-radius: 4px; background: #f5f9f6; color: #004c45; font-family: inherit; line-height: 1.6; }
.dr-contact p { margin: 0 0 8px; font-size: inherit; }
.dr-contact a { color: #006d5f; text-decoration: underline; }
.dr-script-error .letterByLetter h2 { opacity: 1; }
@media (max-width: 767px) { .dr-notice { padding: 8px 14px; font-size: 12px; } }
@media (prefers-reduced-motion: reduce) { .dr-notice, .dr-contact { scroll-behavior: auto; } }

/* The recovery notice consumes viewport space above the original navigation. */
@media (max-width: 991.9px) {
  .navbar .navbar-collapse.show, .navbar .collapsing {
    max-height: calc(100vh - var(--dr-notice-height) - 84px);
    max-height: calc(100dvh - var(--dr-notice-height) - 84px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}
@media (min-width: 992px) and (max-width: 1365px) {
  .navbar-expand-lg .navbar-collapse.show { top: var(--dr-notice-height); }
}
