/* Local interaction styles; original theme CSS remains in assets/original. */
[hidden]{display:none!important}.site-form-status{display:block!important;white-space:pre-line;padding:1rem 0;color:#142b47}.site-honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.wpcf7-form [aria-required=true]{scroll-margin-top:5rem}.wpcf7-form :disabled{cursor:wait}.elementor-tab-content.elementor-active{display:block}.elementor-tab-title{cursor:pointer}.elementor-search-form--full-screen-open input{max-width:75vw}.elementor-search-form--full-screen-open .dialog-close-button{position:absolute;right:2rem;top:2rem;cursor:pointer}.swiper-container{overflow:auto;scroll-snap-type:x mandatory}.swiper-slide{scroll-snap-align:start}.elementor-gallery__container{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.rev_slider>ul>li{display:none}.rev_slider>ul>li:first-child{display:block!important;visibility:visible!important;opacity:1!important}.rev_slider,.rev_slider_wrapper{height:auto!important;visibility:visible!important}.rev-slidebg{max-width:100%;height:auto}.site-search-page{margin:0;background:#f6f7f9;color:#142b47;font:16px/1.6 'Open Sans',Arial,sans-serif}.site-search-page main{max-width:920px;margin:3rem auto;padding:1.5rem}.site-search-page form{display:flex;gap:.5rem}.site-search-page input{flex:1;min-width:0;padding:.8rem;border:1px solid #abb8c5}.site-search-page button{padding:.8rem 1.2rem;background:#142b47;color:white;border:0}.site-search-page article{background:white;padding:1rem 1.5rem;margin:1rem 0}.site-search-page a{color:#173c65}.site-search-page h2{font-size:1.25rem}

/* Shared vertical navigation, including program lists and page side menus. */
.elementor-widget-nav-menu {min-width:0;max-width:100%;}
.elementor-widget-nav-menu .elementor-nav-menu--main.elementor-nav-menu--layout-vertical {
 display:block!important;width:100%;max-width:100%;text-align:left;
}
.elementor-nav-menu--main.elementor-nav-menu--layout-vertical > .elementor-nav-menu {
 display:block!important;width:100%;margin:0!important;padding:0;list-style:none;
}
.elementor-nav-menu--main.elementor-nav-menu--layout-vertical .menu-item {
 display:block!important;float:none!important;width:100%;max-width:100%;margin:0!important;
}
.elementor-nav-menu--main.elementor-nav-menu--layout-vertical a {
 display:block!important;text-align:left!important;justify-content:flex-start;
 white-space:normal!important;overflow-wrap:anywhere;box-sizing:border-box;max-width:100%;
}
/* Keep these lists visible on mobile instead of duplicating them in a dropdown. */
.elementor-nav-menu--layout-vertical ~ .elementor-menu-toggle,
.elementor-nav-menu--layout-vertical ~ nav.elementor-nav-menu--dropdown {display:none!important;}
.elementor-nav-menu--main.elementor-nav-menu--layout-vertical .sub-menu {
 display:none!important;position:static!important;width:100%!important;min-width:0!important;
 margin:0!important;padding:0 0 0 16px!important;box-sizing:border-box;
}
.elementor-nav-menu--main.elementor-nav-menu--layout-vertical .menu-item:hover > .sub-menu,
.elementor-nav-menu--main.elementor-nav-menu--layout-vertical .menu-item:focus-within > .sub-menu {display:block!important;}

/* Footer navigation: left-aligned vertical lists contained by each column. */
.elementor-location-footer .elementor-column,
.elementor-location-footer .elementor-widget-wrap,
.elementor-location-footer .elementor-widget-nav-menu {min-width:0;}
.elementor-location-footer .elementor-nav-menu--main {display:block!important;width:100%;}
.elementor-location-footer .elementor-nav-menu--main .elementor-nav-menu {
 display:block!important;width:100%;margin:0!important;padding:0;list-style:none;text-align:left;
}
.elementor-location-footer .elementor-nav-menu--main .menu-item {
 display:block!important;float:none!important;width:100%;margin:0!important;
}
.elementor-location-footer .elementor-nav-menu--main a {
 display:block!important;justify-content:flex-start;text-align:left!important;
 white-space:normal!important;overflow-wrap:anywhere;padding:8px 0!important;line-height:1.5;
}
.elementor-location-footer .elementor-widget-nav-menu .elementor-menu-toggle,
.elementor-location-footer .elementor-widget-nav-menu nav.elementor-nav-menu--dropdown {display:none!important;}
.elementor-location-footer .elementor-nav-menu--main .sub-menu {
 display:none!important;position:static!important;width:100%!important;min-width:0!important;
 margin:0!important;padding:0 0 0 16px!important;box-sizing:border-box;
}
.elementor-location-footer .elementor-nav-menu--main .menu-item:hover > .sub-menu,
.elementor-location-footer .elementor-nav-menu--main .menu-item:focus-within > .sub-menu {display:block!important;}

/* Persistent header and a viewport-contained mobile navigation. */
.elementor-location-header{position:sticky!important;top:0;z-index:1000;background:#fff;width:100%;}
.site-ui-icon{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:middle;}
.elementor-search-form__submit .site-ui-icon{width:22px;height:22px;}
.site-mobile-header{display:none;}
html{scroll-padding-top:var(--site-header-height,160px);}
@media(max-width:767px){
 .site-responsive-header > .elementor-section-wrap{display:none!important;}
 .site-mobile-header{display:block;position:relative;background:#fff;color:#1b3058;}
 .site-mobile-bar{display:flex;align-items:center;gap:2px;min-height:76px;padding:8px 12px;box-sizing:border-box;width:100%;}
 .site-mobile-bar .site-mobile-logo{margin-right:auto;width:62px;height:62px;min-width:62px;padding:0;}
 .site-mobile-logo img{display:block;width:62px!important;height:62px!important;object-fit:contain;}
 .site-mobile-bar > button,.site-mobile-bar > a:not(.site-mobile-logo){display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;padding:10px;border:0;border-radius:4px;background:transparent;color:#1b3058;cursor:pointer;box-sizing:border-box;}
 .site-mobile-bar .site-ui-icon{width:24px;height:24px;}
 .site-mobile-bar :focus-visible,.site-mobile-navigation :focus-visible{outline:2px solid #3089b5;outline-offset:-2px;}
 .site-contact-panel,.site-mobile-navigation{position:absolute!important;top:100%;left:0!important;right:0!important;width:100%!important;max-width:100vw!important;box-sizing:border-box;transform:none!important;margin:0!important;background:#1b3058;color:white;box-shadow:0 8px 16px #0003;}
 .site-contact-panel{padding:18px;text-align:center;}
 .site-contact-panel a{color:white;font-size:18px;overflow-wrap:anywhere;}
 .site-mobile-navigation{max-height:calc(100vh - var(--site-header-height,92px));max-height:calc(100dvh - var(--site-header-height,92px));overflow-y:auto;overscroll-behavior:contain;padding:8px 0;}
 .site-mobile-navigation ul{display:block!important;position:static!important;width:100%!important;min-width:0!important;max-width:100%!important;transform:none!important;margin:0!important;padding:0!important;list-style:none;background:transparent!important;box-sizing:border-box;}
 .site-mobile-navigation li{display:block!important;float:none!important;position:relative;width:100%;margin:0!important;}
 .site-mobile-navigation a{display:block!important;white-space:normal!important;overflow-wrap:anywhere;text-align:left!important;color:white!important;background:transparent!important;padding:14px 58px 14px 20px!important;font-size:16px;line-height:1.4;}
 .site-mobile-navigation ul ul a{padding-left:36px!important;font-size:15px;}
 .site-mobile-navigation ul ul ul a{padding-left:50px!important;}
 .site-mobile-navigation .site-submenu-toggle{position:absolute;right:8px;top:2px;width:44px;height:44px;border:0;background:transparent;color:white;font-size:25px;cursor:pointer;padding:0;}
 .site-mobile-navigation [hidden],.site-mobile-navigation[hidden],.site-contact-panel[hidden]{display:none!important;}
}
