/* Keep the original menu styling; expose the full available mobile height. */
.footer figure img { width: 137px; height: auto; max-width: 100%; object-fit: contain; }
.navbar .responsive-menu:focus-visible,
.navbar a:focus-visible { outline: 2px solid #fff !important; outline-offset: 3px; }
@media (max-width: 991px) {
  .navbar .navbar-collapse.in { max-height: calc(100vh - 65px); max-height: calc(100dvh - 65px); overflow-y: auto; overscroll-behavior: contain; }
  .navbar.fixed .navbar-collapse .navbar-nav { max-height: none !important; overflow-y: visible; }
}
.tparrows:focus-visible,.owl-prev:focus-visible,.owl-next:focus-visible,
a[data-toggle="collapse"]:focus-visible { outline: 3px solid #519fc0; outline-offset: 3px; }
@media (min-width: 768px) and (max-width: 1399px) {
  .fullscreenbanner li[data-transition]:nth-child(5) .tp-caption.large {
    font-size: 3.2vw !important;
  }
}
@media (max-width: 767px) {
  .tp-caption.small { max-width: calc(100vw - 48px) !important; white-space: normal !important; }
  .tp-caption a.btn { max-width: calc(100vw - 48px); white-space: normal !important; box-sizing: border-box; line-height: 1.5; }
  /* The original theme hid both arrows on phones, leaving no visible controls. */
  .tp-leftarrow.default,.tp-rightarrow.default {
    display: flex !important; align-items: center; justify-content: center;
    width: 44px; height: 44px; top: 70% !important; margin-top: 0 !important;
    background: rgba(0,0,0,.45); color: #fff; font-size: 28px;
    opacity: 1 !important; visibility: visible !important;
  }
}
