﻿@charset "UTF-8";

/* ===================== 1) Variables & Resets ===================== */
:root{
  /* Layout */
  --page-max: 1078px;
  --banner-max-width: var(--page-max);
  --gutter-desktop: 2px;
  --gutter-mobile: 10px;
  --nav-row-min: 2.75em;
  --dd-height: 56px;
  --dd-height-sm: 46px;
  --svc-caret-size: 10px;

  /* Palette */
  --brand-blue: #061C60;
  --nav-blue: #061C60;
  --link-blue: #0b31a8;
  --accent-blue: #37497f;
  --accent-orange: #e18700; /* ADDED: was referenced but undefined */
  --text: #000000;
  
   /* Backgrounds */
  --bg-gradient: linear-gradient(90deg, #e3eafc 0%, #f7faff 100%);

  /* Borders & Shadows */
  --border: 1px solid #e0e6ed;
  --card-shadow: 0 2px 8px rgba(6,28,96,0.04);
  --card-shadow-lg: 0 4px 12px rgba(6,28,96,0.06);
  --shadow: 0 8px 16px rgba(0,0,0,.12);
  --backdrop: rgba(0,0,0,.45);

  /* Type helpers */
  --small-text: .85rem;
}

*,*::before,*::after{ box-sizing:border-box; }

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  font-size:100%;
}
html[data-fs="large"]{ font-size:112.5%; }
html[data-fs="largest"]{ font-size:125%; }

/* ===================== 2) Fonts ===================== */
@font-face {
  font-family: "Franklin Gothic Book";
  src: url("/fonts/FranklinGothicBook.woff2") format("woff2"),
       url("/fonts/FranklinGothicBook.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* ===================== 3) Base Elements ===================== */
html, body, button, input, select, textarea { font-family: "Franklin Gothic Book", Arial, sans-serif; }
html { margin:0; padding:0; color:var(--text); }
body{ width:100%; margin:0; padding:0 0 5px; color:var(--text); }

img{ border:0; max-width:100%; height:auto; }
ul{ margin:0; padding-left: 1.25em; }
td{ font-size: 1rem; }
.smallcontent{ font-size: 0.6875rem; }

p{ margin:0 0 10px; font-size:1rem; line-height:1.5; }
a{ color: var(--link-blue); }

:focus-visible:not(.gradient-dropdown) { outline: 2px solid var(--link-blue); outline-offset: 2px; }
.sr-only{ position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* ===================== 4) Typography ===================== */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.h7, .h8, .h9 {
  line-height: 1.25; color: var(--nav-blue); margin: 0 0 0.4em;
}

h1, .h1 { font-size: clamp(1rem, 1.5vw + .5rem, 1.6rem); font-weight: 700; }
h2, .h2 { font-size: clamp(0.95rem, 1.3vw + .4rem, 1.45rem); font-weight: 700; }
h3, .h3 { font-size: clamp(0.9rem, 1vw + .35rem, 1.25rem); font-weight: 600; }
h4, .h4 { font-size: clamp(0.85rem, 0.9vw + .3rem, 1.1rem); font-weight: 500; }
h5, .h5 { font-size: clamp(0.8rem, 0.8vw + .25rem, 1rem); }
h6, .h6 { font-size: clamp(0.75rem, 0.7vw + .2rem, 0.95rem); text-decoration: underline; }

.h7 { font-size: clamp(0.9rem, 0.9vw + .25rem, 1.1rem); color: var(--accent-blue); text-decoration: underline; font-weight: 600; }
.h8 { font-size: clamp(0.85rem, 0.8vw + .25rem, 1rem); color: #000; font-weight: 500; }
.h9 { font-size: clamp(0.85rem, 0.8vw + .25rem, 1rem); color: var(--accent-blue); font-weight: 700; }

/* Global title link styling */
.globalNavGrey{ font-size:1.85rem; padding:0; margin:0; font-weight:700; color:var(--brand-blue); }
h1.globalNavGrey{ margin:0; }
.globalNavGrey a{ color:var(--brand-blue); text-decoration:none; font-weight:700; font-size:1.85rem; }
.globalNavGrey a:hover{ color: var(--link-blue); text-decoration:underline; }
.globalNavGrey a:active{ color:#082378; }

/* Top nav link styling */
.globalNavBlue{ margin-top:0; padding:0; font-size:.875rem; font-weight:700; text-decoration:underline; text-align:center; vertical-align:bottom; color:#fff; }
.globalNavBlue a{ color:#fff; text-decoration:none; }
.globalNavBlue a:hover{ text-decoration:underline; }

/* Secondary nav */
.globalNav{ font-size:.75rem; padding:0; margin:0; font-weight:700; color:#0A1F62; }
.globalNav a{ color:#0A1F62; text-decoration:none; }
.globalNav a:hover{ color:#b2c7dd; text-decoration:underline; }
.globalNav a:active{ color:#c97962; font-size:.8125rem; }

/* Special link */
.globalNavBlue a[href*="SpanishForms.htm"]{ background:none; border:none; color:#fff; padding:0 10px; text-decoration:none; }
.globalNavBlue a[href*="SpanishForms.htm"]:hover,
.globalNavBlue a[href*="SpanishForms.htm"]:focus{ color:#fff; text-decoration:underline; }
.globalNavBlue a[href*="SpanishForms.htm"]:focus-visible{ outline:2px solid #fff; outline-offset:2px; text-decoration:underline; }

/* Utility nav */
.utilityNav{ margin:0; padding:2px; font-size:.625rem; font-weight:700; text-align:right; color:#687983; }
.utilityNav a{ color:#687983; text-decoration:none; }
.utilityNav a:hover{ text-decoration:underline; }

/* JSSOR bullets/arrows (image coords retained) */
.jssorb05{ position:absolute; }
.jssorb05 .av,.jssorb05 div:hover,.jssorb05 div{ position:absolute; width:16px; height:16px; background:url('/images/slide/b05.png') no-repeat; overflow:hidden; cursor:pointer; }
.jssorb05 div{ background-position:-7px -7px; }
.jssorb05 .av:hover{ background-position:-37px -7px; }
.jssorb05 div:hover{ background-position:-37px -7px; }
.jssorb05 .av{ background-position:-97px -7px; }
.jssorb05 .dn:hover,.jssorb05 .dn{ background-position:-97px -7px; }

.jssora12r,.jssora12l{ display:block; position:absolute; width:30px; height:46px; cursor:pointer; background:url('/images/slide/a12.png') no-repeat; overflow:hidden; }
.jssora12l{ background-position:-16px -37px; }
.jssora12r{ background-position:-75px -37px; }
.jssora12l:hover{ background-position:-136px -37px; }
.jssora12r:hover{ background-position:-195px -37px; }
.jssora12l.jssora12ldn{ background-position:-256px -37px; }
.jssora12r.jssora12rdn{ background-position:-315px -37px; }

/* ===================== 6) Layout Containers ===================== */
.container{ width:100%; max-width:var(--page-max); margin:0 auto; padding:0 var(--gutter-desktop); }
.container-edge{ max-width:var(--banner-max-width); margin:0 auto; padding:0 var(--gutter-desktop); }
#main .container{ width:100%; max-width:var(--page-max); margin:0 auto; padding:0 var(--gutter-desktop); }

/* Make the case dropdown row full-width inside the card */
.gradientcontainer{
  width: 100%;                 /* <— was 20rem */
  max-width: var(--page-max);
  margin: 0;
  padding: 0;                  /* let the card handle padding */
}

.gradientcontainer-edge{
  width: 100%;                 /* ensure it fills the parent */
  max-width: var(--banner-max-width);
  margin: 0.75rem 0 0;         /* optional: small gap above */
  padding: 0 var(--gutter-desktop);
}


@media (max-width:900px){ .container-edge{ padding-left:3px; padding-right:3px; } }
@media (max-width:640px){
  #main .container{ padding:0 var(--gutter-mobile); }
  .container-edge{ padding:0 var(--gutter-mobile); }
}

/* ===================== 7) Header Rows ===================== */
.topRow{ border-bottom:1px solid #e0e0e0; background:#fff; }
.topRowUnified{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; min-height:36px; padding:6px 0; font-size:.8125rem; }
.colTranslate{ display:flex; align-items:center; gap:8px; }

.divRight{ display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; column-gap:6px; row-gap:4px; font-size:.8125rem; line-height:1.2; }
.divRight a[aria-current="true"]{ text-decoration:underline; }
.divRight a#fs1{ font-size:.75rem; }
.divRight a#fs2{ font-size:.875rem; }
.divRight a#fs3{ font-size:1rem; }
.divRight .social{ flex-basis:100%; display:flex; justify-content:flex-end; align-items:center; gap:4px; margin-top:2px; }

/* Global Grey Row */
.globalGrey{ background:#fff; }
.globalGreyRow{ display:grid; align-items:center; gap:12px; padding:10px 0; grid-template-columns:auto 1fr auto auto; }
.logoWrapper{ min-width:96px; }
.siteTitle h1{ margin:0; font-size:1.4rem; }
.siteTitle a{ color:inherit; text-decoration:none; }
.searchBox form{ display:flex; align-items:center; gap:6px; }
.searchBox input[type="search"],
.searchBox input[type="text"]{ height:36px; line-height:36px; padding:0 10px; border:1px solid #ccc; border-radius:8px; min-width:200px; }
.googleSearchButton{ background:url('DHSPTheme/SearchIcon.jpg') no-repeat center / 18px 18px; border:0; width:36px; height:36px; text-indent:-9999px; cursor:pointer; border-radius:8px; }
.social{ justify-self:end; display:flex; align-items:center; gap:4px; }

@media (max-width:900px){
  .globalGreyRow{ grid-template-columns:auto 1fr auto; grid-template-areas:'logo title social' 'logo search search'; }
  .logoWrapper{ grid-area:logo; }
  .siteTitle{ grid-area:title; }
  .searchBox{ grid-area:search; }
  .social{ grid-area:social; justify-self:end; }
}
@media (max-width:640px){
  .globalGreyRow{ grid-template-columns:1fr auto; grid-template-areas:'logo social' 'title title' 'search search'; }
  .siteTitle h1{ font-size:1.2rem; }
  .searchBox input[type="search"],
  .searchBox input[type="text"]{ min-width:100%; }
}

/* ===================== 8) Blue Nav Bar & Dropdowns ===================== */
.blueNav{ background:var(--nav-blue); color:#fff; max-width:var(--page-max); margin:0 auto; }
@media (min-width:641px){ .blueNav{ padding:0 var(--gutter-desktop); } }
@media (max-width:640px){ .blueNav{ padding:0 var(--gutter-mobile); } }

.blueNavRow{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; padding:6px 0; position:relative; }
.blueNavRow .item a{ display:flex; align-items:center; justify-content:center; text-align:center; width:100%; height:44px; color:#fff; text-decoration:none; white-space:nowrap; }
.blueNavRow .item a:focus{ outline:2px solid #fff; outline-offset:2px; }
.blueNavRow > .item > .globalNavBlue > a{ min-height:var(--nav-row-min); padding:0 .875em; }
.globalNavBlue a{ font-size:1rem; line-height:1.2; }

/* Mobile toggles */
.nav-toggle{ display:none; background:transparent; border:0; width:44px; height:44px; cursor:pointer; }
.nav-toggle span{ display:block; width:22px; height:2px; margin:5px auto; background:#fff; }
.nav-toggle:focus-visible,
.contact-close:focus-visible{ outline:2px solid #fff; outline-offset:2px; }

@media (max-width:900px){
  .nav-toggle{ display:block; }
  .blueNavRow{ gap:0; }
  .blueNavRow .item{ width:100%; border-top:1px solid rgba(255,255,255,.15); display:none; justify-content:center; text-align:center; text-decoration:underline;  }
  .blueNavRow.open .item{ display:flex; }
  #blue-search-col{ order:99; width:100%; display:none; border-top:1px solid rgba(255,255,255,.15); padding:6px 0; }
  .blueNavRow.open #blue-search-col{ display:block; }
}

/* Desktop search in nav */
@media (min-width:901px){
  .blueNav .blueNavRow #blue-search-col{ margin-left:auto !important; padding:6px; display:flex; align-items:center; height:44px; line-height:44px;}
  .blueNav .blueNavRow #blue-search-col form{ display:flex; align-items:stretch; min-height:var(--nav-row-min); margin:0; }
  .blueNav .blueNavRow #blue-search-col input[type="text"],
  .blueNav .blueNavRow #blue-search-col input[type="search"]{ height:36px; line-height:36px; padding:0 10px; border:1px solid #ccc; border-radius:8px; min-width:250px; background:#fff; }
}
@media (max-width: 900px){
  .blueNav #blue-search-col input[type="search"],
  .blueNav #blue-search-col input[type="text"],
  .searchBox input[type="search"],
  .searchBox input[type="text"]{
    height: 44px;           /* or 48px */
    line-height: 44px;
    border-radius: 10px;
  }
  .blueNav #blue-search-col .googleSearchButton,
  .googleSearchButton{
    width: 44px;
    height: 44px;
  }
}

/* Mobile: make the nav search bar full width */
@media (max-width: 900px){
  .blueNav #blue-search-col{ width:100%; }
  .blueNav #blue-search-col form{
    display:flex;
    align-items:center;
    width:100%;
    gap:6px;                 /* optional */
    margin:0;
  }
  .blueNav #blue-search-col input[type="search"],
  .blueNav #blue-search-col input[type="text"]{
    flex:1 1 auto;           /* <-- fills remaining space */
    width:100%;
    min-width:0;             /* prevents overflow */
  }
  .blueNav #blue-search-col .googleSearchButton{
    flex:0 0 44px;           /* keep button a fixed touch-friendly width */
    width:44px;
    height:44px;             /* match whatever height you chose */
  }
}

/* (Optional) Header search box full width on small screens, too */
@media (max-width: 640px){
  .globalGreyRow .searchBox{ width:100%; }
  .globalGreyRow .searchBox form{ display:flex; gap:6px; }
  .globalGreyRow .searchBox input[type="search"],
  .globalGreyRow .searchBox input[type="text"]{
    flex:1 1 auto;
    width:100%;
    min-width:0;
  }
}

/* Mobile header row within nav */
.mobile-home-label{ display:none; color:#fff; font-weight:600; font-size:1.1rem; background:none; border:0; padding:0; cursor:pointer; }
.mobile-home-label:hover{ text-decoration:underline; }
.mobile-nav-header{ position:relative; }
.nav-header-overlay{ position:absolute; inset:0; background:transparent; border:0; cursor:pointer; }
@media (min-width:901px){ .nav-header-overlay{ display:none !important; } }
@media (max-width:900px){
  .mobile-nav-header{ display:grid; grid-template-columns:44px 1fr 44px; align-items:center; justify-items:center; }
  .mobile-nav-header .nav-toggle{ justify-self:start; }
  .mobile-home-label{ display:inline-block; }
  .mobile-nav-header::after{ content:""; width:44px; height:44px; }
  .blueNavRow{ position:relative; }
  .mobile-nav-header{ flex:0 0 100%; width:100%; min-height:var(--nav-row-min); display:grid; grid-template-columns:44px 1fr 44px; align-items:center; justify-items:center; }
  .mobile-home-label{ grid-column:2; justify-self:center; text-align:center; }
  .mobile-nav-header .nav-toggle{ grid-column:1; justify-self:start; }
}

/* Services dropdown */
@media (min-width:901px){
  .services-dropdown{ position:relative; }
  .services-dropdown > .globalNavBlue > a{ position:relative; z-index:1000; }
  .services-dropdown .services-menu{ display:none; position:absolute; top:100%; left:0; width:100%; background:var(--brand-blue); color:#fff; border-top:0; box-shadow:0 4px 12px rgba(0,0,0,0.15); z-index:1000; }
  .services-dropdown:focus-within > .services-menu,
  .services-dropdown:hover > .services-menu{ display:block; }
  .services-dropdown .services-menu li a{ display:flex; align-items:center; justify-content:flex-start; min-height:44px; padding:0 14px; color:#fff; text-decoration:none; font-size:.95rem; }
  .services-dropdown .services-menu li a:hover,
  .services-dropdown .services-menu li a:focus-visible{ background:#082378; color:#fff; outline:2px solid #fff; outline-offset:2px; }

  .services-menu .has-submenu{ position:relative; }
  .services-menu .has-submenu > a{ position:relative; padding-right:28px; }
  .services-menu .submenu-right{ display:none; position:absolute; top:0; left:calc(100% - 1px); min-width:160px; margin:0; padding:0; background:#082378; border:1px solid rgba(255,255,255,0.15); box-shadow:0 4px 12px rgba(0,0,0,0.18); z-index:1000; }
  .services-menu .has-submenu:hover > .submenu-right,
  .services-menu .has-submenu:focus-within > .submenu-right{ display:block; }
  .services-menu .submenu-right li a{ display:flex; align-items:center; min-height:44px; padding:0 8px; white-space:nowrap; color:#fff; text-decoration:none; }
  .services-menu .submenu-right li a:hover,
  .services-menu .submenu-right li a:focus-visible{ background:#092a90; color:#e5efff; outline:none; }

  .services-menu .has-submenu > a[aria-haspopup="true"]::after{ content:"\2B9E"; position:absolute; right:10px; top:50%; transform: translateY(-50%) rotate(-90deg); transition: transform .2s ease; opacity:.85; }
  .services-menu .has-submenu:hover > a[aria-haspopup="true"]::after,
  .services-menu .has-submenu:focus-within > a[aria-haspopup="true"]::after{ transform: translateY(-50%) rotate(0deg); }
  .services-menu .has-submenu > a[aria-expanded="true"]::after{ transform: translateY(-50%) rotate(90deg); }
}

@media (max-width:900px){
  .blueNav .services-dropdown > .globalNavBlue, .blueNav .report-dropdown > .globalNavBlue { display:block; padding:0px 12px;}
  .blueNav .services-dropdown .services-menu, .blueNav .report-dropdown .services-menu { display:block !important; max-height:0; overflow:hidden; transition:max-height 200ms ease; padding:0; margin:0; position:static; box-shadow:none; }
  .blueNav .services-dropdown.open .services-menu, .blueNav .report-dropdown.open .services-menu{ max-height:500px; padding:8px 0; }
  .services-menu .submenu-right{ display:none; position:static; width:100%; color:#e5efff !important; border:0; box-shadow:none; padding:0; margin:0; }
  .services-menu .has-submenu > a[aria-haspopup="true"][aria-expanded="true"] + .submenu-right{ display:block; }
  .services-menu .submenu-right li a{ display:block; width:100%; min-height:44px; padding:10px 10px; color:#fff; text-align:center; text-decoration:underline; }

  .blueNav .services-dropdown > .globalNavBlue > a[aria-haspopup="true"], .blueNav .report-dropdown > .globalNavBlue > a[aria-haspopup="true"]{ position:relative; display:inline-flex; width:100%; justify-content:center; align-items:center; text-align:center; padding-right:32px; }
  .blueNav .services-dropdown > .globalNavBlue > a[aria-haspopup="true"]::after, .blueNav .report-dropdown > .globalNavBlue > a[aria-haspopup="true"]::after{ content:"\2B9E"; position:absolute; right:10px; top:50%; transform: translateY(-50%) rotate(-90deg); transition: transform .25s ease; }
  .blueNav .services-dropdown.open > .globalNavBlue > a[aria-haspopup="true"]::after, .blueNav .report-dropdown.open > .globalNavBlue > a[aria-haspopup="true"]::after{ transform: translateY(-50%) rotate(0deg); }

  .services-menu .has-submenu > a{ width:100%; display:inline-flex; justify-content:center; text-align:center; align-items:center; padding:0 30px; position:relative; transition: justify-content .2s ease, text-align .2s ease; }
  .services-menu .has-submenu > a[aria-expanded="true"]{ justify-content:flex-start; text-align:left; }
  .services-menu .has-submenu > a[aria-haspopup="true"]::after{ content:"\2B9E"; position:absolute; right:12px; top:50%; transform: translateY(-50%) rotate(-90deg); transition: transform .25s ease; opacity:.8; }
  .services-menu .has-submenu > a[aria-expanded="true"]::after{ transform: translateY(-50%) rotate(90deg); }
}
/* add to the existing rule (mobile) */
@media (max-width:900px){
  .blueNav .services-dropdown > .globalNavBlue > a[aria-haspopup="true"],
  .blueNav .report-dropdown   > .globalNavBlue > a[aria-haspopup="true"]{
    transition: justify-content .25s ease, text-align .25s ease, padding .25s ease !important;
  }

  /* when the submenu is open, shift the label left */
  .blueNav .services-dropdown.open > .globalNavBlue > a[aria-haspopup="true"],
  .blueNav .report-dropdown.open   > .globalNavBlue > a[aria-haspopup="true"]{
    justify-content: flex-start;  /* left-align within the full-width flex box */
    text-align: left;
  }
}

/* Report dropdown (parity with Services) */
.blueNav .report-dropdown .services-menu{ display:none; }
.blueNav .report-dropdown.open .services-menu{ display:block; }
@media (min-width:901px){
  .report-dropdown{ position:relative; }
  .report-dropdown .services-menu{ display:none; position:absolute; top:100%; left:0; min-width:220px; width:max-content; z-index:1000; margin:0; padding:0; background:var(--brand-blue); color:#fff; box-shadow:0 4px 12px rgba(0,0,0,0.15); }
  .report-dropdown:hover > .services-menu,
  .report-dropdown:focus-within > .services-menu{ display:block; }
  .report-dropdown .services-menu li{ list-style:none; }
  .report-dropdown .services-menu li a{ display:flex; align-items:center; justify-content:flex-start; min-height:44px; padding:0 14px; color:#fff; text-decoration:none; white-space:nowrap; text-decoration:underline;  }
  .report-dropdown .services-menu li a:hover,
  .report-dropdown .services-menu li a:focus-visible{ background:#082378; color:#fff; outline:2px solid #fff; outline-offset:2px; }
}

/* Kill bullets in dropdowns */
.blueNav .services-dropdown .services-menu,
.blueNav .services-dropdown .services-menu ul{ list-style:none !important; margin:0 !important; padding:0 !important; }
.blueNav .services-dropdown .services-menu li{ list-style:none !important; }
.blueNav .services-dropdown .services-menu li::marker{ content:"" !important; }
.blueNav .services-dropdown .services-menu li::before{ content:none !important; }

/* Hide mobile nav header on desktop */
@media (min-width:901px){ .mobile-nav-header{ display:none !important; } }

/* ===================== 9) Dropdown Row (Page Title) ===================== */
.dropdownRow{ display:flex; align-items:stretch; justify-content:space-between; gap:clamp(.4px, 2vw, 8px); padding:10px 0; flex-wrap:nowrap; }
.title-dropdown{ flex:1 1 auto; min-width:0; }
.quick-dropdown{ flex:0 0 clamp(120px,22vw,220px); max-width:220px; }

.pretty-dropdown{ font-weight:700; letter-spacing:.02em; color:var(--nav-blue); background: linear-gradient(to bottom right, #fff 0%, #f4f7fb 100%); border:0; border-radius:12px; box-shadow: 0 2px 6px rgba(0,0,0,0.08); transition: background .25s, box-shadow .25s; width:100%; font-size:clamp(1rem,1.5vw + .5rem,1.6rem); line-height:1.25; min-height:var(--dd-height); padding:.2em 1em .2em .3em; appearance:none; background-image:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; height:auto !important; }
.pretty-dropdown:hover,
.pretty-dropdown:focus{ background: linear-gradient(to bottom right, #fff, #f4f7fb) !important; box-shadow: 0 3px 10px rgba(0,0,0,0.1); }
.pretty-dropdown option{ background:#fff; color:var(--text); font-size:inherit; line-height:1.25; }

.dropdown-wrapper { position:relative; }

/* Only for the top title/quick-links dropdowns */
.dropdownRow .ellipsis-trigger,
.dropdownRow .dropdown-wrapper:focus-within .ellipsis-trigger {
  position:absolute;
  right:.4em;
  top:0;
  bottom:0;
  width:3em;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:.3em;
  background:transparent !important;
  border:0;
  outline:none;
  cursor:pointer;
}

.ellipsis-trigger span{
  width:.28em;
  height:.28em;
  border-radius:50%;
  background:#061C60;
}
.ellipsis-trigger:hover span{ opacity:.8; }
.ellipsis-trigger:active span{ transform:scale(.92); }
.dropdownRow .dropdown-wrapper:focus-within .ellipsis-trigger{ flex-direction:row; }

#site-nav-select.pretty-dropdown,
#site-nav-select-2.pretty-dropdown,
html[data-fs] #site-nav-select.pretty-dropdown,
html[data-fs] #site-nav-select-2.pretty-dropdown{ height:auto !important; min-height:var(--dd-height) !important; line-height:1.3; white-space:normal; background: var(--bg-gradient); overflow:visible !important; text-overflow:unset !important; padding-top:.6em !important; padding-bottom:.6em !important; }

@media (min-width:901px){
  .dropdownRow{ flex-wrap:nowrap; }
  .title-dropdown{ flex:0 1 80%; }
  .quick-dropdown{ flex:0 0 clamp(120px,22vw,220px); max-width:220px; }
  .dropdownRow .dropdown-wrapper{ display:flex; align-items:stretch; flex:1 1 auto; }
  .dropdownRow .dropdown-wrapper .pretty-dropdown{ height:100% !important; min-height:var(--dd-height) !important; display:flex; align-items:center; justify-content:center; line-height:1.3; white-space:normal; padding-top:.6em !important; padding-bottom:.6em !important; width:100%; }
}
@media (max-width:900px){
  .dropdownRow{ flex-wrap:wrap; }
  #site-nav-select.pretty-dropdown,
  #site-nav-select-2.pretty-dropdown{ white-space:normal; height:auto !important; line-height:1.3; padding-top:.5em !important; padding-bottom:.5em !important; font-size:clamp(.85rem,2.6vw,1rem); }
}
@media (max-width:600px){
  #site-nav-select.pretty-dropdown,
  #site-nav-select-2.pretty-dropdown{ height:auto !important; min-height:var(--dd-height-sm); white-space:normal; line-height:1.3; padding:.42em 2.6em .42em .75em; appearance:none; -webkit-appearance:none; box-sizing:border-box; }
}
@media (max-width:900px){
  .quick-dropdown,.title-dropdown{ flex:1 1 100%; min-width:0 !important; max-width:100% !important; }
  .dropdown-wrapper select.pretty-dropdown,
  .quick-dropdown .pretty-dropdown,
  .title-dropdown .pretty-dropdown{ width:100% !important; max-width:100% !important; box-sizing:border-box; white-space:normal; }
}
html[data-fs="largest"] .pretty-dropdown{ white-space:normal !important; overflow:visible; text-overflow:clip; }
.title-dropdown .pretty-dropdown{ white-space:nowrap !important; overflow:hidden; text-overflow:ellipsis; }
html[data-fs="large"] .title-dropdown .pretty-dropdown,
html[data-fs="largest"] .title-dropdown .pretty-dropdown{ white-space:normal !important; overflow:visible; text-overflow:clip; }

/* ===================== 10) Contact Dropdown ===================== */
.contact-dropdown{ position:relative; }
.contact-panel{ display:none; min-width:330px; max-width:380px; background:var(--brand-blue); color:#fff; text-align:left; padding:18px; border-bottom:3px solid var(--brand-blue); box-shadow:0 4px 12px rgba(0,0,0,.18); z-index:1000; }
.contact-panel a{ color:#fff; text-decoration:underline; background:transparent; }
.contact-heading{ margin:0 0 12px; font-weight:700; font-size:1.05rem; text-align:center; color:#fff; }
.contact-details{ display:grid; grid-auto-rows:min-content; gap:10px; font-size:.95rem; line-height:1.5; }
.contact-lines div{ margin:2px 0; line-height:1.5; white-space:normal; }
.contact-lines strong{ display:inline-block; min-width:90px; font-weight:700; color:#fff; }
.contact-lines a[href^="mailto:"]{ display:inline; margin-left:2px; white-space:nowrap; }

@media (min-width:901px){
  .contact-panel{ position:absolute; left:0; top:calc(100% - 1px); }
  .contact-dropdown:focus-within > .contact-panel,
  .contact-dropdown:hover > .contact-panel{ display:block; }
}

.contact-backdrop{ display:none; position:fixed; inset:0; background: var(--backdrop); z-index:3000; }
@media (max-width:900px){
  .contact-dropdown.open > .contact-panel{ display:block; position:fixed; left:50%; top:12vh; transform:translateX(-50%); width:92vw; max-width:520px; max-height:76vh; overflow:auto; border-radius:14px; padding-right:56px; z-index:3001; }
  .contact-backdrop.show{ display:block; }
}

.contact-close{ display:none; }
@media (max-width:900px){
  .contact-close{ display:inline-flex; align-items:center; justify-content:center; position:absolute; right:10px; top:10px; width:36px; height:36px; border-radius:8px; border:1px solid #d6d6d6; background:#f7f7f7; cursor:pointer; }
  .contact-close:focus{ outline:2px solid var(--brand-blue); outline-offset:2px; }
  .contact-close-icon{ display:block; width:16px; height:16px; position:relative; }
  .contact-close-icon::after{ content:""; position:absolute; inset:0; margin:auto; width:16px; height:2px; background:#333; transform: rotate(-45deg); }
  .contact-close-icon::before{ content:""; position:absolute; inset:0; margin:auto; width:16px; height:2px; background:#333; transform: rotate(45deg); }
}

/* ===================== 11) Collapsibles & Cards ===================== */
.dhsp-collapsible summary{ list-style:none; cursor:pointer; margin:0; padding:0; display:block; max-width: var(--page-max);}
.dhsp-collapsible summary::-webkit-details-marker{ display:none; }
.dhsp-collapsible .summary-row{ display:flex; align-items:center; gap:12px; background:#e5efff; border-radius:8px; padding:12px 8px; box-shadow:var(--card-shadow); }
.dhsp-collapsible .summary-title{ color:var(--nav-blue); font-size:clamp(1rem, 2.2vw, 1.25rem); }
.dhsp-collapsible .summary-indicator{ margin-left:auto; width:18px; height:18px; transform:rotate(0deg); transition:transform .18s ease; }
.dhsp-collapsible[open] .summary-indicator{ transform:rotate(90deg); }
.dhsp-collapsible{ margin-bottom:12px; max-width: var(--page-max);margin:0 auto; padding-bottom:20px;}

.card{  max-width: var(--page-max); background: rgba(229,239,255,0.5); border-radius:8px; padding:12px 8px; box-shadow:var(--card-shadow); text-align:left; border:0; margin-top:-8px; }
.card--elevated{ box-shadow:var(--card-shadow-lg); padding:16px; max-width: var(--page-max);margin:0 auto; }
.card-white{ background:#fff; border-radius:8px; padding:12px 5px; text-align:left; border:0; }
.card-white-elevated{ box-shadow:var(--card-shadow-lg); padding:16px; max-width: var(--page-max);margin:0 auto;  }
.card-dd{max-width: var(--page-max); background: rgba(229,239,255,0.5); border-radius:8px; padding:12px 8px; box-shadow:var(--card-shadow); text-align:left; border:0; margin-top:-8px;}
.card-dd-elevated{box-shadow:var(--card-shadow-lg); max-width: var(--page-max);margin-top:-160px; }

/* ====== Gradient Dropdown ====== */
/* Wrapper now owns the visible border */
.dropdown-wrapper.dd-gradient {
  position: relative;
  display: flex;
  align-items: stretch;
  width: 100%;
  border-radius: 8px;
  border: 1px solid var(--border);
}

/* Select sits inside, no border, so we don’t get a “double” frame */
.dropdown-wrapper.dd-gradient select.gradient-dropdown {
  letter-spacing:.02em;
  color:var(--nav-blue);
  background: linear-gradient(to bottom right, #fff 0%, #f4f7fb 100%);
  border: none;                   /* was: 1px solid var(--border); */
  border-radius: 8px;
  box-shadow: none;
  transition: border-color .25s, background .25s;
  width: 100%;
  max-width: 100%;
  padding-right: 2.8em;
  font-size:clamp(1rem,1.5vw + .5rem,1.6rem);
  line-height:1.25;
  min-height:var(--dd-height);
  padding:.2em 1em .2em .3em;
  appearance:none;
  background-image:none;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  height:auto !important;
}


/* Three-dot (ellipsis) button pinned right */
.dropdown-wrapper.dd-gradient .ellipsis-trigger {
  position:absolute;
  right:0;
  top: 50%;
  transform: translateY(-50%)rotate(90deg);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  width: 2rem;
  height: 2rem;
  border: none;
  background: transparent;
  cursor: pointer;
  z-index: 2;
  transition: transform .25s ease;
}

/* NEW: rotate ellipsis when active (but keep vertical centering) */
.dropdown-wrapper.dd-gradient .ellipsis-trigger.active {
  transform: translateY(-50%);
}

.dropdown-wrapper.dd-gradient .ellipsis-trigger span {
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: currentColor;
}

.dropdown-wrapper.dd-gradient .ellipsis-trigger:focus-visible {
  outline: 2px solid #0057b8;
  outline-offset: 2px;
}

.dropdown-wrapper.dd-gradient .ellipsis-trigger.active span {
  opacity: 0.7;
}

@media (max-width:640px) {
  .dropdown-wrapper.dd-gradient select.gradient-dropdown { padding-right: 40px; }
  .dropdown-wrapper.dd-gradient .ellipsis-trigger { right: 0.35rem; }
}
/* When anything inside is focused (the select), highlight the WHOLE wrapper */
.gradientcontainer .dropdown-wrapper.dd-gradient:focus-within {
  border-color: #003b86;              /* your blue */
  box-shadow: 0 0 0 2px rgba(0, 59, 134, 0.25); /* optional glow */
}

/* ===================== 12) PowerBI ===================== */
.powerbi-section{ width:var(--page-max); margin:16px auto; max-width:100%; box-sizing:border-box; }
.pbi-shell{ background:#f4f7fb; border-radius:8px; padding:16px; box-shadow:var(--card-shadow-lg); text-align:left; }
.pbi-responsive{ position:relative; width:100%; border-radius:8px; overflow:hidden; border:var(--border); background:#f4f7fb; height:600px; }
.pbi-responsive iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; display:block; }
.pbi-caption{ margin:8px 0 0; color:#666; font-size:.9rem; font-style:italic; }
@media (max-width:768px){ .powerbi-section iframe{ height:500px; } }
@media (max-width:480px){ .powerbi-section iframe{ height:400px; } }

/* ===================== 13) Report: Mail & Fax card ===================== */
.report-contact-table{ display:flex; flex-wrap:wrap; gap:1rem; max-width:500px; width:100%; border:var(--border); border-radius:8px; padding:.6em .5em; box-shadow:0 2px 6px rgba(0,0,0,0.05); background:#fff; box-sizing:border-box; }
.report-column{ display:flex; flex-direction:column; justify-content:flex-start; text-align:left; }
.report-column.left{ flex:1 1 80%; align-items:flex-start; text-align:left; word-break: keep-all; white-space:normal; min-width:320px; }
.report-column.right{ flex:0 0 20%; align-items:flex-start; text-align:left; min-width:150px; }
.report-column > :is(strong, a){ display:block; color: var(--accent-blue); font-size:1rem; font-weight:700; text-decoration: underline; margin:0 0 .25em 0; }
.report-column.left > :is(strong, a){ width:100%; text-align:center; }
.report-column.right > :is(strong, a){ width:100%; text-align:left; margin-bottom:.25em; }
.report-column span{ display:block; line-height:1.4; color:#000; margin-left:0; white-space:nowrap; }
@media (min-width:760px){ .report-contact-table{ flex-wrap:nowrap; } }
@media (max-width:640px){ .report-contact-table{ flex-direction:column; gap:.75rem; max-width:100%; padding:1em; } .report-column{ flex:1 1 100%; min-width:100%; align-items:flex-start !important; text-align:left !important; } .report-column span{ white-space:normal; } }

address{ font-style:normal; }

/* ===================== 14) Reporting Assistance table ===================== */
.contact-table{ width:100%; max-width:400px; border:1px solid #ccc; border-radius:8px; border-collapse:separate; border-spacing:0; margin-top:5rem; overflow:hidden; }
.contact-table caption{ text-align:left; font-weight:600; padding:.45rem .5rem; background:#f8fafc; border-bottom:1px solid #ccc; margin:0; }
.contact-table td{ padding:.4rem .5rem; vertical-align:middle; border:0; }
.contact-table td + td{ border-left:1px solid #ccc; white-space:nowrap; }
.contact-table a{ text-decoration:none; border-bottom:1px dotted currentColor; }
.contact-table a:hover{ text-decoration:underline; }
.contact-table .sr-only{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip: rect(0,0,0,0); white-space:nowrap; border:0; }

/* ===================== 15) Subtitle link bullets ===================== */
.subtitle{ font-weight:700; font-size:.6rem; margin-top:12px; }
.subtitle-bullet{ margin-top:6px; margin-left:6px; }
.subtitle-linkbullet{ position:relative; display:flex; align-items:flex-start; margin-left:.8em; margin-bottom:.35em; line-height:1.4; flex-wrap:wrap; }
.subtitle-linkbullet::before{ content:"\2B9E"; flex:0 0 auto; margin-right:.5em; color:currentColor; font-family:"Segoe UI Symbol","Noto Sans Symbols","Noto Sans Symbols 2","Apple Symbols","Helvetica Neue","Arial Unicode MS","Noto Sans",sans-serif; font-weight:400 !important; font-size:1.1em; line-height:1; position:relative; top:.05em; transition: transform .25s, color .25s; }
@supports not (content: "\2B9E"){ .subtitle-linkbullet::before{ content:"\25B8"; } }
@supports not (content: "\25B8"){ .subtitle-linkbullet::before{ content:"\203A"; } }
.subtitle-linkbullet a:hover{ text-decoration:underline; }
.subtitle-linkbullet:hover::before,
.subtitle-linkbullet a:hover::before{ transform: translateX(3px); color: var(--accent-blue); }
@media (max-width:640px){ .subtitle-linkbullet{ margin-left:.6em; margin-bottom:.25em; font-size:.95em; } .subtitle-linkbullet::before{ font-size:1em; margin-right:.4em; } }
@media (min-width:1024px){ .subtitle-linkbullet{ margin-left:1em; margin-bottom:.45em; } }
.subtitle-linkbullet a + *{ font-size:.85em; font-style: italic; color:#666; margin-left:.25em; }

/* ===================== 16) Footer ===================== */
#footer{ font-size:.75rem; line-height:1.4; padding-top:20px; padding-bottom:6em; }
#footer .links-list{ list-style:none; display:flex; flex-wrap:wrap; gap:0 12px; justify-content:center; align-items:center; margin:2px 0 0; }
#footer .links-list > li{ position:relative; display:flex; align-items:center; }
#footer .links-list > li > a,
#footer .links-list > li > button{ font-size:var(--small-text); padding:6px; border-radius:6px; white-space:nowrap; background:none; border:0; cursor:pointer; color:var(--text); transition:background .15s,color .15s; -webkit-tap-highlight-color: transparent; }
#footer .links-list > li > a:hover,
#footer .links-list > li > button:hover{ background:#f7faff; color:var(--nav-blue); }
#footer .links-list > li > a:focus-visible,
#footer .links-list > li > button:focus-visible{ outline:2px solid var(--nav-blue); outline-offset:2px; border-radius:6px; }

#footer .menu{ position:relative; }
#footer .menu [role="menu"]{ position:absolute; top:100%; margin-top:4px; left:50%; transform:translateX(-50%); list-style:none; padding:4px; inline-size:max-content; min-inline-size:6rem; max-inline-size:80vw; background:#fff; border:1px solid #ccc; border-radius:8px; box-shadow:var(--shadow); display:none; z-index:3; }
#footer .menu.open [role="menu"]{ display:block; }
#footer .menu [role="menu"]::before{ content:""; position:absolute; left:0; right:0; top:-8px; height:8px; }
.register-row{ display:flex; justify-content:center; align-items:center; padding:.5em 0; }
.register-row a{ font-weight:600; text-decoration:underline; }

@media (min-width:901px){
  #footer .menu-home [role="menu"]{ left:0; transform:none; }
  #footer .menu-privacy [role="menu"]{ left:10% !important; right:0; transform:none; width:90% !important; }
  #footer .menu-employee [role="menu"]{ left:auto !important; transform:none; }
  #footer .links-list { flex-wrap: nowrap; justify-content:center; gap: 2px; }
  #footer .links-list > li + li::before{ content:"|"; margin:0 6px; opacity:.6; }
}
@media (max-width:680px){
  #footer .menu [role="menu"]{ inline-size:auto; max-inline-size:92vw; }
  #footer .menu [role="menuitem"]{ white-space:normal; }
  #footer .links-list > li > button,
  #footer .links-list > li > a{ padding:12px; }
  #footer .menu-home [role="menu"],
  #footer .menu-privacy [role="menu"],
  #footer .menu-employee [role="menu"]{ left:0 !important; right:0; transform:none; width:90% !important; }
}

#footer .menu [role="menuitem"]{ display:flex; align-items:center; min-height:32px; line-height:1.3; padding:4px 5px; font-size:.75rem; text-decoration:underline; color:var(--text); border-radius:6px; white-space:nowrap; }
#footer .menu [role="menuitem"]:hover,
#footer .menu [role="menuitem"]:focus-visible{ background:#f7faff; color:var(--nav-blue); }
#footer .menu [role="menuitem"]:focus{ outline:none; }
#footer .menu [role="none"]{ border-bottom:1px solid #eee; }
#footer .menu [role="none"]:last-child{ border-bottom:none; }

#footer .bottom-row{ position:relative; z-index:1; display:flex; justify-content:space-between; align-items:center; gap:0; padding-top:1em; }
#footer .bottom-row .disclaimer{ flex:1; font-size:.75rem; line-height:1.4; max-width:800px; }
#footer .bottom-row .seal img{ max-width:400px; height:auto; }
@media (max-width:640px){
  #footer .bottom-row{ flex-direction:column; text-align:center; }
  #footer .bottom-row .seal{ margin-top:.5em; }
}

/* ===================== 17) Google Translate ===================== */
.goog-tooltip,.goog-tooltip:hover{ display:none !important; }
.goog-text-highlight{ background-color:transparent !important; border:none !important; box-shadow:none !important; }
#google_translate_wrapper{ width:200px; position:relative; }
#google_translate_wrapper h3{ color:#4881c2; font-size:1.2em; margin-bottom:10px; }
#google_translate_wrapper #google_translate_element{ text-align:left; }
#google_translate_wrapper #google_translate_element select{ width:100%; padding:5px; }
.opentranslate{ display:none; z-index:2000; position:absolute; left:0; top:0; background:#fff; padding:0 10px 10px; font-weight:700; border:1px solid #000; width:200px; }
.translateBtn{ display:inline-flex; align-items:center; gap:6px; text-decoration:none; color:var(--brand-blue); font-weight:700; font-size:.95rem; vertical-align:middle; }
.translateBtn img{ display:inline-block; vertical-align:middle; }

/* ===================== 18) Misc Small Fixes ===================== */
.hidden{ display:none !important; }

/* Form controls */
.progdrop,select{ font-size:.6875rem; color:var(--text); }


/* Responsive alignment tweaks */
@media (min-width:901px){
  .globalGreyRow{ grid-template-columns:auto 1fr auto; grid-template-areas: "logo title right" "search title right"; align-items:start; }
  .logoWrapper{ grid-area:logo; }
  .siteTitle{ grid-area:title; }
  .searchBox{ grid-area:search; }
  .divRight{ grid-area:right; }
}

/* Keep these at end for easy overrides */
.topRowUnified .colTranslate{ margin-right:auto; }
.topRowUnified .divRight{ margin-left:auto; }
