/* Newly written behavior and accessibility styles, layered over recovered presentation. */
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
.viz-skip-link { position: fixed; left: 16px; top: -100px; z-index: 100000; padding: 12px 18px; background: #17335a; color: #fff; }
.viz-skip-link:focus { top: 12px; }
[hidden] { display: none !important; }
img,video { max-width: 100%; }
.et_animated { opacity: 1 !important; }
#header-video-set,#home-hero-video-set,#home-banks-video-set,#home-footer-video-set { opacity: 1; visibility: visible; }
body.viz-intro-playing header.et-l--header { display:none; }
html:has(body.viz-intro-playing) { overflow:hidden; overscroll-behavior:none; }
body.viz-intro-playing { position:fixed; inset:0; width:100%; height:100%; overflow:hidden; overscroll-behavior:none; }
body.viz-intro-playing .et_pb_section:has(#myVideoContainer, #myVideoContainerMobile) { position:fixed; inset:0; z-index:100001; margin:0!important; padding:0!important; }
/* Fill the visible screen while preserving the video's proportions. */
.home .et_pb_section:has(#myVideoContainer, #myVideoContainerMobile) { padding:0; }
#myVideoContainer,#myVideoContainerMobile { height:100vh; height:100dvh; background:#17335a; }
#myVideoContainer video,#myVideoContainerMobile video { display:block; width:100%; height:100%; object-fit:cover; }
#dd-hamburger,#dd-close { cursor: pointer; }
body.viz-menu-open { overflow: hidden; }
body.viz-menu-open #et-boc .et-l #dd-section { left: 0 !important; }
.et-menu .menu-item-has-children:focus-within>.sub-menu { visibility: visible; opacity: 1; }
header .mobile_nav.opened>.et_mobile_menu { display:block; }
a:focus-visible,button:focus-visible,[role=button]:focus-visible { outline: 3px solid #7da7d9; outline-offset: 5px; }
.viz-video-dialog { border: 0; border-radius: 16px; padding: 36px 12px 12px; background: #17335a; width: min(1100px,94vw); max-height: 90vh; }
.viz-video-dialog::backdrop { background: #071525d9; }
.viz-video-dialog video { display: block; width: 100%; max-height: 80vh; }
.viz-video-close { position: absolute; top: 1px; right: 10px; color: white; background: transparent; border: 0; font-size: 30px; cursor: pointer; }
.viz-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; left: -10000px !important; }
.viz-form-status { font-size: 14px !important; line-height: 1.5 !important; margin: 10px 0 !important; }
.viz-form-status:empty { display:none; }
.contact-form-footer .et_pb_contact_submit { color:#fff!important; background:#17335a!important; font-size:16px!important; font-weight:700; border:0!important; border-radius:8px!important; }
.contact-form-footer .et_pb_contact_submit::after { display:none!important; }
.viz-fallback { width: 90%; max-width: 1280px; margin: 90px auto; min-height: 40vh; }
.viz-fallback h1 { font-size: 42px; color: #17335a; margin-bottom: 28px; }
.viz-single-post { width:80%; max-width:1080px; margin:0 auto; padding-top:48px; }
.viz-single-post .et_post_meta_wrapper { margin:48px 0 0; }
.viz-single-post .entry-title { margin-bottom:32px; }
.viz-single-post .viz-post-featured { display:block; width:100%; height:auto; }
.viz-single-post .et_pb_row { width:100%; }
.viz-single-post .et_pb_section { padding:32px 0; }
.viz-single-post .viz-recovered-button { margin:32px 0; }
@media(max-width:767px) { .viz-single-post { width:90%; padding-top:12px; } .viz-single-post .entry-title { font-size:28px; line-height:1.4; } }
.viz-global-footer .footer { padding:0!important; margin:64px auto 40px; }
.viz-global-footer .footer>.et_pb_row { width:90%; max-width:1600px; background:#f3f6fc; border-radius:24px; padding:64px; }
.viz-global-footer .footer .et_pb_text { margin-bottom:0; }
@media(max-width:980px) { .viz-global-footer .footer>.et_pb_row { padding:24px; } }
@media(min-width:981px) { .et_pb_hidden_desktop { display:none!important; } }
@media(min-width:768px) and (max-width:980px) { .et_pb_hidden_tablet { display:none!important; } }
@media(max-width:767px) { .et_pb_hidden_phone { display:none!important; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }
