/* The source Astra/Elementor visual design is retained. These additions repair
   the original overlap, keyboard navigation and narrow-screen layout. */
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{overflow-wrap:break-word}
img,svg,video{max-width:100%}
img{height:auto}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #e94a37;outline-offset:4px}
.skip-link:focus{z-index:999999}
.elementor-invisible{visibility:visible!important}
.elementor-section,.elementor-column,.elementor-widget,.elementor-widget-wrap{min-width:0}
.elementor-button{white-space:normal;line-height:1.35!important;max-width:100%}
.main-header-menu>.menu-item>.menu-link{white-space:nowrap}
.main-header-menu .sub-menu{z-index:9999;max-height:75vh;overflow-y:auto;min-width:285px}
.main-header-menu .sub-menu .menu-link{white-space:normal;line-height:1.5;padding-top:11px;padding-bottom:11px}
.main-header-menu .menu-item:focus-within>.sub-menu,.main-header-menu .menu-item.brh-sub-open>.sub-menu{visibility:visible;opacity:1;left:0;display:block}
.main-header-menu .ast-menu-toggle{cursor:pointer}
.elementor-97 .elementor-element-61d9bba>.elementor-container>.elementor-row{align-items:stretch}
.elementor-97 .elementor-element-61d9bba>.elementor-container>.elementor-row>.elementor-column{display:flex}
.elementor-97 .elementor-element-61d9bba>.elementor-container>.elementor-row>.elementor-column>.elementor-column-wrap{width:100%}
.elementor-97 .elementor-element-61d9bba .elementor-widget-wrap{display:flex!important;flex-direction:column;flex-wrap:nowrap;align-content:stretch!important;align-items:stretch!important}
.elementor-97 .elementor-element-61d9bba .elementor-widget-button{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;margin-top:auto!important;width:100%!important}
.elementor-97 .elementor-element-61d9bba .elementor-widget-text-editor{flex:1}
.elementor-97 .elementor-element-61d9bba .elementor-widget-button>.elementor-widget-container{padding:14px 12px 18px!important;margin:0!important}
.elementor-97 .elementor-element-61d9bba .elementor-button{padding:14px 25px}
.elementor-97 .elementor-element-61d9bba .elementor-widget-text-editor>.elementor-widget-container{padding:20px 16px 12px!important}
.elementor-97 .elementor-element-61d9bba .elementor-text-editor{hyphens:auto}
.swiper-container{overflow:visible!important}
.swiper-container>.swiper-wrapper{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;transform:none!important;gap:20px;scrollbar-width:thin;padding:10px 0 18px}
.swiper-container .swiper-slide{flex:0 0 calc((100% - 80px)/5);width:auto!important;scroll-snap-align:start}
.swiper-container .swiper-slide-image{max-height:150px;width:auto;object-fit:contain}
.swiper-pagination{display:none}
.elementor-swiper-button{cursor:pointer;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center;background:white;border-radius:50%;color:#005978!important;box-shadow:0 1px 5px #0002}
.elementor-swiper-button-prev{left:0!important}.elementor-swiper-button-next{right:0!important}
.elementor-tab-title{cursor:pointer}
.elementor-tab-content.brh-expanded{display:block!important}
.elementor-tab-content[hidden]{display:none!important}
.brh-demo-note{padding:8px 16px;text-align:center;font:12px/1.4 'PT Sans',sans-serif;background:#eef5f5;color:#4d6268}
.brh-demo-contact{padding:26px;background:#f3f8f9;border:1px solid #dbe7e9;border-radius:5px}
.brh-demo-contact h3{font-size:25px;margin-bottom:15px}
.brh-demo-contact p{margin-bottom:16px}
.brh-demo-contact a.elementor-button{background:#0ea6b5;color:white;padding:15px 22px}
.brh-demo-embed{min-height:220px;display:grid;place-items:center;padding:30px;text-align:center;background:linear-gradient(135deg,#eaf4f5,#d6e6e9);border:1px solid #c8dfe2;border-radius:5px}
.brh-demo-embed a{background:white;padding:16px 22px;border-radius:5px;color:#005978;font-weight:700}
.brh-lightbox{border:0;border-radius:8px;padding:44px 16px 16px;max-width:min(95vw,1100px);max-height:95vh;background:#fff}
.brh-lightbox::backdrop{background:#001528d9}
.brh-lightbox img{max-height:80vh;max-width:90vw;object-fit:contain}
.brh-lightbox button{position:absolute;right:8px;top:8px;padding:8px 14px}
.brh-search-results{max-width:900px;margin:auto;padding:40px 24px}
.brh-search-results article{padding:24px 0;border-bottom:1px solid #dae5e8}
.brh-search-results h2{font-size:25px}
@media(min-width:1101px){
 .main-header-menu{flex-wrap:wrap;justify-content:center}
 .main-header-menu>.menu-item>.menu-link{padding-right:.8em;padding-left:.8em}
}
@media(max-width:1100px){
 #masthead .main-header-bar{padding:12px 0}
 #masthead .main-header-container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}
 #masthead .site-branding{padding:0;text-align:left;flex:1;float:none;width:auto}
 #masthead .ast-site-identity{padding:0;text-align:left}
 #masthead .custom-logo{width:150px;height:auto}
 #masthead .ast-mobile-menu-buttons{display:block;float:none;margin:0}
 #masthead .menu-toggle{display:block;min-width:46px;min-height:46px;padding:12px;background:#0ea6b5;color:#fff}
 #masthead .ast-main-header-bar-alignment{width:100%;margin:0;flex:0 0 100%}
 #masthead .main-header-bar-navigation{display:none!important;max-height:calc(100vh - 150px);overflow:auto}
 #masthead.brh-menu-open .main-header-bar-navigation{display:block!important}
 #masthead #primary-menu{display:block;background:#fff;padding:16px 0 8px;margin:0;width:100%}
 #masthead .main-header-menu>.menu-item{display:block;width:100%;position:relative;border-bottom:1px solid #e7eeef;line-height:1.5}
 #masthead .main-header-menu>.menu-item>.menu-link{display:block;white-space:normal;line-height:1.4;padding:15px 52px 15px 12px}
 #masthead .ast-menu-toggle{display:block!important;position:absolute;right:4px;top:4px;width:44px;height:42px;padding:10px;border:0;background:transparent;color:#005978}
 #masthead .sub-menu{display:none!important;position:static!important;left:auto!important;top:auto!important;width:100%;min-width:0;max-height:none;visibility:visible;opacity:1;border:0;padding:0 0 8px 18px;box-shadow:none;background:#f6fafa}
 #masthead .brh-sub-open>.sub-menu{display:block!important}
 #masthead .sub-menu .menu-link{padding:12px;display:block}
 #masthead .button-custom-menu-item{padding:15px 12px}
 #masthead .button-custom-menu-item>.menu-link{display:none!important}
 #masthead .button-custom-menu-item>.ast-custom-button-link{display:inline-block!important}
 .elementor-97 .elementor-element-61d9bba>.elementor-container>.elementor-row{flex-wrap:wrap;gap:16px}
 .elementor-97 .elementor-element-61d9bba>.elementor-container>.elementor-row>.elementor-column{width:calc((100% - 32px)/3)}
}
@media(max-width:767px){
 .elementor-section.elementor-section-boxed>.elementor-container{max-width:100%}
 .elementor-section{padding-left:16px!important;padding-right:16px!important}
 .elementor-inner-section{padding-left:0!important;padding-right:0!important}
 .elementor-section>.elementor-container>.elementor-row{flex-wrap:wrap}
 .elementor-column:not(.elementor-hidden-mobile){max-width:100%}
 .elementor-widget-text-editor img.alignright,.elementor-widget-text-editor img.alignleft,.entry-content img.alignright,.entry-content img.alignleft{float:none;margin:10px auto 22px;display:block;max-width:100%}
 .elementor-97 .elementor-element-8312d72{padding-top:65px!important;padding-bottom:80px!important}
 .elementor-97 .elementor-element-61d9bba>.elementor-container>.elementor-row>.elementor-column{width:calc((100% - 16px)/2)}
 .elementor-97 .elementor-element-61d9bba .elementor-widget-wrap{padding:8px 0!important}
 h1,.entry-content h1,.entry-content h1 a{font-size:clamp(31px,7vw,40px);line-height:1.25}
 h2,.entry-content h2,.entry-content h2 a{font-size:28px;line-height:1.3}
 .swiper-container .swiper-slide{flex-basis:calc((100% - 20px)/2)}
 .easy-notification-bar{height:auto!important;min-height:0!important;padding:9px 12px!important;font-size:13px;line-height:1.6}
 .easy-notification-bar-container{display:flex!important;flex-wrap:wrap;gap:5px;justify-content:center}
}
@media(max-width:480px){
 .elementor-97 .elementor-element-61d9bba>.elementor-container>.elementor-row>.elementor-column{width:100%}
 .elementor-97 .elementor-element-61d9bba .elementor-column-wrap{min-height:310px}
 .elementor-widget-button .elementor-button{padding-left:22px;padding-right:22px}
 .elementor-widget-wrap{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){html,.swiper-wrapper{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}
