img, video, svg { max-width: 100%; }
img, video { height: auto; }
body { overflow-wrap: break-word; }
html { scroll-padding-top: 140px; }
.preloader { display: none !important; }
.form-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.table-responsive { overflow-x: auto; }
.table-responsive table { min-width: 540px; }
.gallery-dialog { max-width: 94vw; max-height: 94vh; padding: 12px; border: 0; border-radius: 6px; }
.gallery-dialog::backdrop { background: rgb(0 0 0 / 80%); }
.gallery-dialog img { display: block; max-height: 80vh; width: auto; margin: 10px auto 0; }
.gallery-dialog button, .carousel-pause { padding: 8px 14px; border: 1px solid #777; background: #fff; color: #222; border-radius: 4px; }
.carousel-pause { position: absolute; z-index: 10; bottom: 50px; right: 15px; }
#home .carousel-inner .item { height: 100vh; height: 100svh; min-height: 480px; }
#main-carousel .carousel-caption { left: 8%; right: 8%; }
#main-carousel .carousel-caption .heading { font-size: clamp(22px, 4vw, 44px) !important; line-height: 1.3; }
.contact-help { margin-top: 12px; }
[hidden] { display: none !important; }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible { outline: 3px solid #d77800; outline-offset: 3px; }
@media (max-width: 991px) {
  #navigation .navbar-header { float: none; }
  #navigation .navbar-toggle { display: block; }
  #navigation .navbar-collapse.collapse { display: none !important; }
  #navigation .navbar-collapse.in { display: block !important; max-height: 65vh; overflow-y: auto !important; }
  #navigation .navbar-nav { float: none !important; margin: 0; }
  #navigation .navbar-nav > li { float: none; }
  #navigation .navbar-nav > li > a { padding: 12px 15px !important; }
  #navigation .navbar-brand { max-width: calc(100% - 70px); }
  #navigation .navbar-brand img { max-height: 60px; width: auto; }
}
@media (max-width: 767px) {
  .contact-details .pattern { height: 100%; }
  .contact-address { overflow-wrap: anywhere; }
  #main-carousel .carousel-caption { top: 35%; }
  #footer .row > div { margin-bottom: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

#main-carousel .carousel-caption { display: flex; align-items: center; justify-content: center; top: 110px; bottom: 70px; height: auto; min-height: 0; width: auto; pointer-events: none; }
#main-carousel .carousel-caption > div { display: block; }
.carousel-pause { z-index: 12; }
