/* KB Flexible - common accessibility, responsive and navigation refinements. */
html { scroll-behavior: smooth; }
*, *::before, *::after { box-sizing: border-box; }
img, video { max-width: 100%; }
iframe { max-width: 100%; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid #f0833a !important; outline-offset: 3px; }
.sr-only { position: absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.navbar-collapse { min-width: 0; }
.navbar-nav > .nav__item { min-width:0; }
.navbar-nav .dropdown-menu { max-width:min(95vw,390px); white-space:normal; }
.navbar-nav > .nav__item:last-child > a { white-space: nowrap; }
.navbar-nav > .nav__item:nth-last-child(-n+3) .dropdown-menu { left:auto; right:0; }
.navbar-nav .dropdown-menu .nav__item-link { overflow-wrap:break-word; white-space:normal; }
.navbar-brand img { width:auto; max-width: clamp(140px,23vw,255px); height:auto; object-fit:contain; }
.contact-panel__form .form-control { max-width:100%; min-width:0; }
.contact-panel__form textarea { min-height:145px; }
.kb-form-feedback { min-height: 1.4em; padding-top:12px; color:#174f5c; font-size:15px; }
.kb-form-feedback.is-error { color:#a71d2a; }
.kb-form-feedback.is-success { color:#12623f; }
.kb-honeypot { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip-path:inset(50%)!important; }
.g-recaptcha { max-width:100%; overflow:hidden; }
.footer-widget-nav a { overflow-wrap: anywhere; }
.faq-item { margin-bottom:16px; }
.kb-nav-backdrop { display:none; }
.kb-support-note { padding:28px 0; background:#f3f7f8; }
.kb-support-note .btn { margin-top:12px; }
@media (max-width:991px) {
 .navbar-brand img { max-width:210px; }
 .navbar-collapse.menu-opened { overflow-y:auto; overscroll-behavior:contain; max-height:100dvh; }
 .navbar-nav .dropdown-menu { position:static!important; width:100%!important; max-width:none!important; box-shadow:none!important; }
 .navbar-nav .has-dropdown > .dropdown-menu { display:none!important; }
 .navbar-nav .has-dropdown.kb-submenu-open > .dropdown-menu { display:block!important; }
 .navbar-nav .has-dropdown > .dropdown-toggle::after { display:inline-block; }
 .kb-nav-backdrop.is-visible { display:block; position:fixed; inset:0; z-index:1100; background:rgba(7,24,43,.42); }
 .header .navbar-collapse.menu-opened { z-index:1200!important; }
 .header .navbar-toggler { min-width:44px; min-height:44px; }
 .header .close-mobile-menu { min-width:44px; min-height:44px; }
 .contact-panel__form, .contact-panel__info { width:100%; }
 .contact-panel__info { padding:30px 20px; }
 .page-title { min-height:unset; }
 .page-title .pagetitle__heading, .hero-appointment h1 { overflow-wrap:break-word; }
 .footer-widget-nav { margin-bottom:20px; }
}
@media (max-width:480px) {
 .navbar-brand img { max-width:180px; }
 .contact-panel__form, .contact-panel__info { padding:24px 16px; }
 .contact-panel__form .form-control { font-size:16px; }
 .heading__title { overflow-wrap:break-word; }
 .g-recaptcha { transform:scale(.88); transform-origin:left top; margin-bottom:-20px; }
 .kb-services-arch .container-menu { width:calc(100% - 24px); }
 .footer { overflow-wrap:break-word; }
}
@media (prefers-reduced-motion:reduce){html {scroll-behavior:auto;} *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; }}

@media(max-width:991px){ .header.kb-menu-active { position:relative; z-index:1102; } .kb-nav-backdrop.is-visible {z-index:1100;} }
