/* Compatibility, accessibility and responsive corrections after the original design. */
img { height: auto; }
iframe, video { max-width: 100%; }
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; white-space: nowrap; }
footer.pro-widget .widget-nav img { width: 100%; max-width: 180px; }
main:focus { outline: none; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 3px solid #d18a00 !important; outline-offset: 4px;
}
.skip-link:focus { position: fixed; top: 10px; left: 10px; z-index: 100000; padding: 12px; background: #fff; color: #023d8e; clip: auto; clip-path: none; width: auto; height: auto; }
.admin-bar .navbar-fixed-top { top: 32px; }
.tab-pane[hidden] { display: none !important; }
.speople-reveal { animation: speople-reveal .5s ease-out both; }
.speople-reveal.speople-visible { opacity: 1; transform: none; }
@keyframes speople-reveal { from { transform: translateY(12px); } to { transform: none; } }
.speople-form-unavailable { padding: 24px; border: 1px solid #ccc; background: #f6f8fb; }
.wpcf7 input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), .wpcf7 select, .wpcf7 textarea {
    max-width: 100%; min-height: 44px; padding: 8px; border: 1px solid #999; border-radius: 2px; font-size: 16px; box-sizing: border-box;
}
.wpcf7 textarea { width: 100%; min-height: 150px; }
.wpcf7 input[type="checkbox"], .wpcf7 input[type="radio"] { min-width: 18px; min-height: 18px; }
.wpcf7-not-valid-tip { display: block; margin-top: 6px; }
.wpcf7 form .wpcf7-response-output { margin: 20px 0; padding: 12px; }
.wpcf7-spinner { vertical-align: middle; }
.site-content-wrapper > article > :last-child { margin-bottom: 0; }
.pro-section p, .pro-table td { overflow-wrap: anywhere; }
@media (min-width: 801px) {
    .navbar-toggle { display: none !important; }
    #mobilemenu-collapse { display: block !important; height: auto !important; }
}
@media (max-width: 800px) {
    .navbar-header { float: none; }
    .navbar-toggle { display: block !important; float: right; margin: 8px 5px; }
    .navbar-brand { height: 72px; }
    .site-wrapper { margin-top: 73px; }
    #mobilemenu-collapse { clear: both; width: 100%; border: 0; max-height: calc(100dvh - 110px); overflow-y: auto; }
    #mobilemenu-collapse:not(.in) { display: none !important; }
    #mobilemenu-collapse.in { display: block !important; }
    .navbar-pro .navbar-nav { float: none; margin: 0; }
    .navbar-pro .navbar-nav > li { float: none; width: 100%; margin: 0; border: 0; border-bottom: 1px solid #ddd; }
    .navbar-pro .navbar-nav > li > a { padding: 14px; }
    header.parallax { padding: 65px 0; overflow: hidden; }
    header.parallax.home { padding: 130px 0; }
    header.parallax img { min-width: 0; width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; transform: none; z-index: -1; }
    header.parallax { position: relative; isolation: isolate; }
    .page-title { min-width: 0; max-width: 100%; width: fit-content; padding: 15px; }
    .page-title .title-en { overflow-wrap: anywhere; }
    .pro-table.entry table th { width: 100%; }
    .pro-table .nav.nav-tabs li > a { font-size: 16px; padding: 14px 8px; }
    .pro-widget .col-sm-2, .pro-widget .col-sm-3 { margin-bottom: 20px; }
    .bg-parallax { background-attachment: scroll !important; }
    .bottom-tel { font-size: 24px; }
    .wpcf7 input[type="submit"] { width: 100%; max-width: 320px; }
}
@media (max-width: 782px) { .admin-bar .navbar-fixed-top { top: 46px; } }
@media (max-width: 600px) { .admin-bar .navbar-fixed-top { position: absolute; } }
@media (max-width: 380px) { header.parallax.home h1 { font-size: 26px; } .bottom-tel { font-size: 21px; } }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
