/* Compatibility for the existing Bootstrap 5 markup, using the bundled base. */
html { scroll-behavior: smooth; }
.gap-3 { gap: 1rem; }
.pe-3 { padding-right: 1rem !important; }
.ms-lg-2 { margin-left: .5rem; }
.me-lg-3 { margin-right: 1rem; }
.btn-primary { background: var(--c-1); border-color: var(--c-1); color: var(--c-b); }
.btn-primary:hover, .btn-primary:focus { background: #bfa000; border-color: #bfa000; color: #000; }
.ratio { position: relative; width: 100%; }
.ratio-16x9::before { display: block; padding-top: 56.25%; content: ''; }
.ratio > * { position: absolute; inset: 0; width: 100%; height: 100%; }
.map-offline { display: flex; flex-direction: column; justify-content: center; padding: 1rem; background: #e9ecef; }
.offcanvas-header { display: flex; align-items: center; justify-content: space-between; padding: 1rem; }
.offcanvas-title { margin: 0; }
.btn-close { border: 0; background: transparent; font-size: 2rem; line-height: 1; padding: .5rem; }
.btn-close::after { content: '×'; }
.offcanvas-body { padding: 1rem; }
body.menu-open { overflow: hidden; }
@media (max-width: 991.98px) {
  .offcanvas { position: fixed; top: 0; bottom: 0; right: 0; width: min(400px, 90vw); z-index: 1050; visibility: hidden; transform: translateX(100%); transition: transform .2s ease, visibility .2s; background: var(--c-1); box-shadow: -20px 0 60px #0003; }
  .offcanvas.show { visibility: visible; transform: translateX(0); }
}
@media (min-width: 992px) {
  .offcanvas { display: flex; flex-grow: 1; }
  .offcanvas-header { display: none; }
  .offcanvas-body { display: flex; flex-grow: 1; padding: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .offcanvas { transition: none; }
}
.navbar-dark .navbar-nav .nav-link { color: var(--c-b); }
.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { color: #333; }
@media (min-width: 768px) { .d-md-none { display: none !important; } }
