/* Visible on both light and dark backgrounds; never remove keyboard outlines. */
body :is(a,button,input,select,textarea,[tabindex]):focus-visible {
  outline: 3px solid #101038 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 6px #fff !important;
}
.cb-sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.cb-skip-link { position:fixed; top:8px; left:8px; z-index:2147483647; padding:12px 20px; background:#fff; color:#101038; font-weight:700; transform:translateY(-180%); }
.cb-skip-link:focus { transform:none; }
html { scroll-padding-top:150px; }
#main-content [id], #main-content a, input, button, textarea, select { scroll-margin-top:150px; }
#main-content :is(p,li,h1,h2,h3,h4,a) { overflow-wrap:break-word; }
#main-content .cb-was-h1 { font-size:30px; }
#main-content .cb-was-h2 { font-size:26px; }
/* Keep builder-authored heading sizes where selectors target h1/h2. */
.fl-heading.cb-was-h1, .fl-heading.cb-was-h2 { font-size:inherit; }
.cb-submenu-toggle { display:inline-flex; align-items:center; justify-content:center; min-width:32px; min-height:32px; margin-left:4px; padding:2px; border:1px solid currentColor; border-radius:3px; background:transparent; color:inherit; cursor:pointer; vertical-align:middle; }
.et-menu .menu-item-has-children > a:first-child { padding-right:0 !important; }
.et-menu .menu-item-has-children > a:first-child:after { display:none !important; }
.et-menu li.cb-menu-open > ul.sub-menu { opacity:1 !important; visibility:visible !important; display:block !important; }
.et-menu li.cb-menu-closed > ul.sub-menu { opacity:0 !important; visibility:hidden !important; pointer-events:none; }
.et-menu li.cb-menu-open > ul.sub-menu { pointer-events:auto; }
.mobile_menu_bar[role=button] { min-width:44px; min-height:44px; cursor:pointer; }
.et-menu .sub-menu { max-height:70vh; overflow-y:auto; }
/* Stable contrast rather than translucent inputs over the footer photograph. */
body .gform_wrapper :is(input:not([type=hidden]):not([type=submit]):not([type=checkbox]):not([type=radio]),textarea,select) {
  background:#fff !important; color:#101038 !important; border:2px solid #626278 !important; font-size:16px !important; max-width:100%;
}
body .gform_wrapper ::placeholder { color:#54546a !important; opacity:1; }
body .gform_wrapper .gfield_required { color:inherit !important; font-size:1em; }
body .gform_wrapper .gfield_validation_message, body .gform_wrapper .gform_validation_errors {
  background:#fff !important; color:#8b1424 !important; padding:12px !important;
}
body .gform_wrapper .gform_button { background:#fff !important; color:#101038 !important; min-height:44px; padding:12px 20px !important; }
#main-content p a, #main-content li:not(.menu-item) a { text-decoration:underline; text-underline-offset:0.15em; }
#main-content table { width:100%; }
#main-content th { text-align:left; font-weight:700; }
#main-content caption { text-align:left; font-weight:700; padding:8px 0; }
@media (max-width:980px) {
  .et_pb_row, .fl-row-content, .fl-col, .et_pb_column { min-width:0; }
  .et_mobile_menu { max-height:70vh; overflow-y:auto; }
  .et_pb_menu__wrap { flex-wrap:wrap; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto !important; }
  .et_pb_module, .fl-module { animation:none !important; transition:none !important; }
}
/* Preserve spacer dimensions but remove duplicate sticky navigation visually and from focus. */
.et_pb_sticky_placeholder { visibility:hidden !important; pointer-events:none !important; }
.mobile_menu_bar[role=button]::before { content:'☰'; font-family:Arial,sans-serif !important; font-size:32px; }
