/* Canonical Vote Files masthead, navigation, and footer. Loaded by vf_head() on every page. */

.newsroom-home,
.newsroom-detail,
.newsroom-status-card {
  /* Compatibility aliases while older page modules are retired. These map every
     Reading Room token onto the canonical action-newsroom palette. */
  --max: 1536px;
  --blue: #4fa3ff;
  --red: #ef3340;
  --muted: #aab8c3;
  --ink: #f4f7f9;
  --ink-soft: #b5c1ca;
  --ink-faint: #7f919e;
  --paper: #00070d;
  --paper-deep: #020b13;
  --card: #071827;
  --rule: #314a5e;
  --green: #4fa3ff;
  --green-deep: #73baff;
  --green-tint: #0c3528;
  --stamp: #ef3340;
  --stamp-tint: #3a1118;
  --rule-soft: rgba(93, 122, 144, .18);
  --shadow: 0 1px 2px rgba(0, 0, 0, .24), 0 14px 36px rgba(0, 0, 0, .3);
  --cream: #071827;
  font-family: "Segoe UI", Arial, sans-serif;
}

.newsroom-home::after,
.newsroom-detail::after,
.newsroom-status-card::after { display: none; }

.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;
}

.topbar.nr-site-header {
  min-height: 0;
  max-width: none;
  overflow: visible;
  border: 0;
  border-bottom: 1px solid #2b4052;
  background: #01070c;
  color: #f7f3ea;
}

.nr-site-header a { text-decoration: none; }

.nr-skip-link {
  position: fixed;
  z-index: 1000;
  top: 10px;
  left: 10px;
  transform: translateY(-160%);
  padding: 10px 14px;
  border-radius: 3px;
  background: #fff;
  color: #06111a;
  font-size: .8rem;
  font-weight: 900;
}
.nr-skip-link:focus { transform: translateY(0); }
.nr-content-anchor { display: block; width: 1px; height: 0; overflow: hidden; }

.nr-site-header a:focus-visible,
.nr-site-header button:focus-visible,
.nr-site-header input:focus-visible,
.nr-site-footer a:focus-visible {
  outline: 3px solid #72b7ff;
  outline-offset: 3px;
}

:where(.newsroom-home, .newsroom-detail, .newsroom-status-card)
  :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid #72b7ff !important;
  outline-offset: 3px !important;
}

.nr-masthead,
.nr-primary-row,
.nr-site-footer-inner {
  width: min(1536px, 100%);
  min-width: 0;
  margin-inline: auto;
}

.nr-masthead {
  min-height: 66px;
  display: grid;
  grid-template-columns: minmax(250px, auto) minmax(250px, 540px) auto;
  align-items: center;
  gap: clamp(18px, 2.6vw, 42px);
  padding: 12px clamp(18px, 2.2vw, 34px);
}

.nr-site-header .nr-brand {
  width: auto;
  min-width: 0;
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 9px;
  color: #fff;
}

.nr-site-header .nr-brand-main {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 5px;
  color: #fff;
  font-family: Impact, "Arial Black", sans-serif;
  font-size: clamp(24px, 2vw, 31px);
  letter-spacing: .035em;
  line-height: 1;
  white-space: nowrap;
}

.nr-site-header .nr-brand-star {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  clip-path: polygon(50% 0,61% 34%,98% 35%,68% 57%,79% 94%,50% 72%,21% 94%,32% 57%,2% 35%,39% 34%);
  background: #fff;
  color: #06111a;
  font-size: 10px;
}

.nr-site-header .nr-flag-bars {
  width: 24px;
  display: grid;
  gap: 3px;
}

.nr-site-header .nr-flag-bars i { display: block; height: 3px; background: #ef3340; }
.nr-site-header .nr-flag-bars i:nth-child(2) { width: 76%; }
.nr-site-header .nr-flag-bars i:nth-child(3) { width: 52%; }

.nr-site-header .nr-edition {
  color: #aeb9c2;
  font-size: .7rem;
  line-height: 1.15;
  white-space: nowrap;
}

.nr-site-header .nr-edition small {
  display: block;
  margin-top: 3px;
  color: #ef3340;
  font-size: .48rem;
  letter-spacing: .18em;
}

.nr-site-header .nr-nav-search {
  display: block;
  width: 100%;
  position: relative;
  margin: 0;
}

.nr-site-header .nr-nav-search input {
  width: 100%;
  height: 40px;
  padding: 0 46px 0 15px;
  border: 1px solid #3b5266;
  border-radius: 3px;
  outline: none;
  background: #06111a;
  color: #fff;
  font-size: .78rem;
}

.nr-site-header .nr-nav-search input:focus {
  border-color: #6eb7ff;
  box-shadow: 0 0 0 3px rgba(54, 145, 237, .18);
}

.nr-site-header .nr-nav-search button {
  position: absolute;
  top: 1px;
  right: 1px;
  width: 42px;
  height: 38px;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 1.2rem;
  cursor: pointer;
}

.nr-site-header .nr-search-suggest { top: 47px; width: min(540px, calc(100vw - 30px)); }

.nr-header-actions {
  display: flex;
  align-items: center;
  justify-content: end;
  gap: 10px;
  white-space: nowrap;
}

.nr-header-actions a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 0 14px;
  border: 1px solid #3a5062;
  border-radius: 3px;
  color: #dce4ea;
  font-size: .75rem;
  font-weight: 800;
}

.nr-header-actions a:hover,
.nr-header-actions a[aria-current="page"] { border-color: #76baff; color: #fff; background: #0a2134; }
.nr-header-actions .nr-desk-link { border-color: #b31622; background: #a90f19; color: #fff; }
.nr-header-actions .nr-desk-link:hover,
.nr-header-actions .nr-desk-link[aria-current="page"] { border-color: #ef5c66; background: #c41522; }

.nr-primary-row {
  min-height: 41px;
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 0 clamp(18px, 2.2vw, 34px);
  border-top: 1px solid #182938;
}

.nr-site-header .nr-nav {
  width: auto;
  min-width: 0;
  max-width: none;
  display: flex;
  flex: 1 1 auto;
  align-items: stretch;
  gap: clamp(17px, 2vw, 31px);
  margin: 0;
  overflow-x: auto;
  scrollbar-width: none;
  white-space: nowrap;
}

.nr-site-header .nr-nav::-webkit-scrollbar { display: none; }

.nr-site-header .nr-nav a {
  min-height: 41px;
  display: inline-flex;
  align-items: center;
  position: relative;
  padding: 1px 0 0;
  color: #b8c3cc;
  font-size: .77rem;
  font-weight: 750;
}

.nr-site-header .nr-nav a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  transform: scaleX(0);
  background: #ef3340;
  transition: transform .16s ease;
}

.nr-site-header .nr-nav a:hover,
.nr-site-header .nr-nav a[aria-current="page"] { color: #fff; }
.nr-site-header .nr-nav a:hover::after,
.nr-site-header .nr-nav a[aria-current="page"]::after { transform: scaleX(1); }

.nr-record-note {
  flex: 0 0 auto;
  color: #7f909d;
  font-size: .66rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.tabstrip:empty { display: none; }

.tabstrip.has-tabs {
  border-color: #2b4052;
  background: #020b13;
}

.tabstrip .ftab-wrap { flex: 0 0 auto; position: relative; display: flex; }
.tabstrip .ftab {
  min-width: 150px;
  padding-right: 34px;
  border-color: #365066;
  background: #071522;
  color: #aebbc4;
  clip-path: none;
}
.tabstrip .ftab:hover,
.tabstrip .ftab.on { border-color: #5b7890; background: #0b2234; color: #fff; }
.tabstrip .ftab .kind,
.tabstrip .ftab.on .kind { color: #6db5ff; }
.tabstrip .ftab-close {
  width: 28px;
  height: 28px;
  position: absolute;
  z-index: 2;
  top: 50%;
  right: 4px;
  transform: translateY(-50%);
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #7e909d;
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
}
.tabstrip .ftab-close:hover,
.tabstrip .ftab-close:focus-visible { outline: 2px solid #6eb7ff; outline-offset: -2px; background: #162f42; color: #fff; }

.footer.nr-site-footer {
  max-width: none;
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-top: 1px solid #2b4052;
  background: #02080e;
  color: #9eacb7;
}

.nr-site-footer-inner {
  display: grid;
  grid-template-columns: minmax(270px, 1.4fr) repeat(3, minmax(130px, .65fr));
  gap: clamp(28px, 4vw, 64px);
  padding: 38px clamp(20px, 3.4vw, 52px) 25px;
}

.nr-footer-brand > a {
  display: block;
  color: #fff;
  font-family: Impact, "Arial Black", sans-serif;
  font-size: 1.55rem;
  letter-spacing: .1em;
  text-decoration: none;
}

.nr-footer-brand > span {
  display: block;
  margin-top: 4px;
  color: #d3dbe1;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.nr-footer-brand p { max-width: 370px; margin: 20px 0 0; color: #9eacb7; font-size: .88rem; line-height: 1.55; }

.nr-site-footer nav { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.nr-site-footer nav strong { margin-bottom: 4px; color: #fff; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.nr-site-footer nav a { color: #aebbc4; font-size: .78rem; text-decoration: none; }
.nr-site-footer nav a:hover { color: #fff; text-decoration: underline; }
.nr-site-footer-inner > small {
  grid-column: 1 / -1;
  padding-top: 18px;
  border-top: 1px solid #203443;
  color: #72838f;
  font-size: .7rem;
}

@media (max-width: 980px) {
  .nr-masthead { grid-template-columns: minmax(230px, auto) minmax(210px, 1fr) auto; gap: 14px; }
  .nr-site-header .nr-edition { display: none; }
  .nr-header-actions a:first-child { display: inline-flex; }
  .nr-record-note { display: none; }
  .nr-site-footer-inner { grid-template-columns: 1.2fr repeat(3, .7fr); gap: 25px; }
}

@media (max-width: 700px) {
  .nr-masthead {
    grid-template-columns: 1fr auto;
    gap: 11px 14px;
    padding: 11px 14px 12px;
  }
  .nr-site-header .nr-brand-main { font-size: 23px; }
  .nr-site-header .nr-flag-bars { display: none; }
  .nr-site-header .nr-nav-search { grid-column: 1 / -1; grid-row: 2; }
  .nr-header-actions a { min-height: 34px; padding-inline: 11px; font-size: .69rem; }
  .nr-primary-row { padding: 0 14px; }
  .nr-site-header .nr-nav { gap: 22px; }
  .nr-site-header .nr-nav a { font-size: .76rem; }
  .nr-site-footer-inner { grid-template-columns: 1fr 1fr; gap: 28px 22px; padding: 32px 20px 23px; }
  .nr-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 430px) {
  .nr-site-header .nr-brand-main { font-size: 21px; }
  .nr-site-header .nr-brand-star { width: 19px; height: 19px; }
  .nr-header-actions a { padding-inline: 9px; }
  .nr-site-footer-inner { grid-template-columns: 1fr 1fr; }
  .nr-site-footer nav:first-of-type { grid-column: 1 / -1; }
}

/* Retire the last light inserts that survived earlier page-module passes. */
.newsroom-tracker .nr-signal-method { border-color: #314a5e; background: #020b13; color: #f4f7f9; }
.newsroom-tracker .nr-signal-method header p,
.newsroom-tracker .nr-signal-method article p,
.newsroom-tracker .nr-signal-method footer { color: #aebbc4; }
.newsroom-tracker .nr-signal-method > .shell > div { border-color: #314a5e; background: #314a5e; }
.newsroom-tracker .nr-signal-method article { background: #071827; }
.newsroom-tracker .nr-signal-method article p strong { color: #fff; }
.newsroom-tracker .nr-signal-method footer a { color: #ff6571; }
.newsroom-state .nr-state-zip { border-top: 1px solid #31495c; background: #020b13; color: #f4f7f9; }
.newsroom-state .nr-state-zip h2 { color: #fff; }
.newsroom-state .nr-state-zip p { color: #aebbc4; }
.newsroom-state .nr-state-zip input { border-color: #536b7d; background: #0b2233; color: #fff; }
.newsroom-state .nr-state-zip input::placeholder { color: #90a2af; }
.newsroom-home .nr-visual-brief img { filter: none; }
.newsroom-home .nr-visual-brief i { top: 10px; right: 10px; left: auto; transform: none; border-color: rgba(255,255,255,.75); background: rgba(1,8,14,.66); }
.newsroom-home .nr-visual-brief > div > a { height: auto; aspect-ratio: 16 / 10; }
.newsroom-home .nr-visual-brief > div > a::after { inset: 38% 0 0; }
.newsroom-home .nr-visual-brief strong { bottom: 40px; }
.newsroom-home .nr-visual-brief small { bottom: 14px; }
.pos--YEA { color: #8ee1bb; background: #0c3528; }
.pos--NAY { color: #ff9ba2; background: #3a1118; }
.pos--NV { color: #c0ccd4; background: #162938; }
.nr-search-suggest [role="option"][aria-selected="true"],
.nr-search-suggest [role="option"]:focus-visible { background: #0f2b41 !important; color: #fff; }
.newsroom-state .nr-state-hero > img { filter: saturate(.96) contrast(1.04) brightness(.78); }
.newsroom-history .nr-history-latest-grid header img { filter: brightness(.76) saturate(.9); }
.newsroom-project .nr-p25-areas img,
.newsroom-project .nr-p25-scope-grid img { filter: brightness(.78) saturate(.9); }
.newsroom-member .nr-member-latest-grid img { filter: brightness(.68) saturate(.85); }
.newsroom-eo .nr-eo-hero > img { filter: brightness(.74) saturate(.86); }
.newsroom-history .nr-history-method,
.newsroom-presidential .nr-pres-status-explainer,
.newsroom-eo-archive .nr-eoa-status { border-color: #31495b; background: #020b13; color: #f4f7f9; }
.newsroom-history .nr-history-method h2,
.newsroom-presidential .nr-pres-status-explainer h2,
.newsroom-presidential .nr-pres-status-explainer strong,
.newsroom-eo-archive .nr-eoa-status h2,
.newsroom-eo-archive .nr-eoa-status article > strong { color: #fff; }
.newsroom-history .nr-history-method p,
.newsroom-presidential .nr-pres-status-explainer .nr-detail-section-head p,
.newsroom-presidential .nr-pres-status-explainer p,
.newsroom-eo-archive .nr-eoa-status article > p { color: #aebbc4; }
.newsroom-history .nr-history-method a { color: #72b9ff; }
.newsroom-presidential .nr-pres-status-explainer > .shell > div:last-child,
.newsroom-eo-archive .nr-eoa-status .shell > div:last-child { border-color: #40586a; }
.newsroom-presidential .nr-pres-status-explainer article,
.newsroom-eo-archive .nr-eoa-status article { border-color: #40586a; background: #071827; }
.newsroom-eo .js-eo-text { border-color: #40586a; background: #071827; color: #e2e8ec; }
.newsroom-eo .js-eo-text h2,
.newsroom-eo .js-eo-text h3 { color: #fff; }
.newsroom-eo .js-eo-text a { color: #72b9ff; }
.nr-court-collage > a { position: relative; height: 145px; overflow: hidden; border: 1px solid #3a5267; color: #fff; }
.nr-court-collage > a::after { content: ""; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent,#04111a); }
.nr-court-collage > a > i { position: absolute; z-index: 3; right: 14px; bottom: 12px; color: #72b9ff; font-style: normal; }
.nr-court-collage > a:hover,.nr-court-collage > a:focus-visible { border-color: #72b9ff; }
@media(max-width:900px){.nr-court-collage > a:first-child{grid-column:1/-1}}
@media(max-width:620px){.nr-court-collage > a{height:165px}.nr-court-collage > a:first-child{grid-column:auto}}
.newsroom-watchlist .nr-watch-hero,
.newsroom-search .nr-search-hero { background: radial-gradient(circle at 78% 18%,rgba(218,29,44,.15),transparent 26%),radial-gradient(circle at 18% 10%,rgba(39,132,239,.2),transparent 30%),#030c15; }
.newsroom-watchlist .nr-watch-hero > img,
.newsroom-search .nr-search-hero > img { object-position: 62% 44%; }

/* Keep the accepted v6 focal points on the live consumers reviewed in the crop sheet. */
.nr-bill-v2-hero > img { object-position: 65% 43%; }
.nr-case-v2-hero > img { object-position: 62% 43%; }
.newsroom-scotus-case .nr-case-v2-hero > img,
.newsroom-scotus-hub .nr-scotus-hero > img { object-position: 67% 38%; }
.newsroom-presidential .nr-pres-hero > img,
.newsroom-eo .nr-eo-hero > img,
.newsroom-eo-archive .nr-eoa-hero > img { object-position: 60% 43%; }
.newsroom-project .nr-p25-hero > img { object-position: 63% 45%; }
.newsroom-courts .nr-courts-hero { background-position: center, 54% 40%; }
.newsroom-home .nr-action-tracker article:nth-child(1) img,
.newsroom-member .nr-member-latest-grid > :nth-child(1) img { object-position: 60% 43%; }
.newsroom-home .nr-action-tracker article:nth-child(2) img,
.newsroom-project .nr-p25-scope-grid > :nth-child(1) img { object-position: 60% 43%; }
.newsroom-home .nr-action-tracker article:nth-child(3) img,
.newsroom-vote-card .vc-regional > figure img { object-position: 62% 43%; }
.newsroom-history .nr-history-mosaic > :nth-child(1) img,
.newsroom-member .nr-member-latest-grid > :nth-child(2) img { object-position: 65% 43%; }
.newsroom-history .nr-history-mosaic > :nth-child(2) img { object-position: 60% 43%; }
.newsroom-history .nr-history-mosaic > :nth-child(3) img,
.newsroom-tracker .nr-tracker-watch a:nth-child(1) img,
.newsroom-watchlist .nr-watch-starters a:nth-child(2) img { object-position: 67% 38%; }
.newsroom-tracker .nr-tracker-watch a:nth-child(2) img,
.newsroom-watchlist .nr-watch-starters a:nth-child(3) img { object-position: 63% 45%; }
.newsroom-watchlist .nr-watch-starters a:nth-child(4) img { object-position: 60% 43%; }
