:root {
  --navy-900:#08132C; --navy-800:#0B1D42; --navy-700:#0F2658;
  --navy-100:#E4EAF5; --navy-050:#F1F4FA;
  --cyan-900:#00587D; --cyan-700:#0095D3; --cyan-100:#D7F0FB;
  --orange-900:#8A3D18; --orange-700:#D86430; --orange-100:#FBE9DF;
  --green-900:#4F6A22; --green-700:#8CB442; --green-100:#EAF2DB;

  --ink:#16191c; --ink-2:#3d444b; --ink-3:#5f676e;
  --line:#dbe0e6; --line-2:#b6bfc8;
  --paper:#ffffff; --paper-2:#f7f8fa; --canvas:#F1F6F7;

  --ok:var(--green-900);      --ok-bg:var(--green-100);
  --warn:var(--orange-900);   --warn-bg:var(--orange-100);
  --danger:#96231d;           --danger-bg:#fdecea;
  --info:var(--cyan-900);     --info-bg:var(--cyan-100);
  --link:var(--cyan-900);
  --focus:#0b5cd5;

  --heading:#2d3a15;

  --jc-green:#709035; --jc-teal:#0081b6; --jc-orange:#b74f26;

  --jc-orange-dk:#2b140a;

  --contest-size:clamp(1.3rem,1.15rem + .6vw,1.55rem);

  --th-bg:var(--navy-100); --cand-bg:var(--navy-050);

  --total-bg:#edeef3;

  --lead-bg:#f8f7d4;  --lead-line:var(--green-900);
  --tied-bg:var(--orange-100); --tied-line:var(--orange-900);

  --p-d:#0b4f9e; --p-r:#a4231c; --p-l:#6a1f9c; --p-g:#15603b; --p-n:#3d444b;

  --font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto,
          "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --step--1:clamp(.82rem,.8rem + .1vw,.88rem);
  --step-0: clamp(1rem,.97rem + .15vw,1.06rem);
  --step-1: clamp(1.15rem,1.1rem + .3vw,1.3rem);
  --step-2: clamp(1.35rem,1.25rem + .5vw,1.6rem);
  --step-3: clamp(1.6rem,1.4rem + .9vw,2.1rem);

  --s1:.25rem; --s2:.5rem; --s3:.75rem; --s4:1rem;
  --s5:1.5rem; --s6:2rem; --s7:3rem;
  --r:8px; --r-sm:5px; --r-pill:999px;
  --sh-1:0 1px 2px rgba(8,19,44,.06);
  --sh-2:0 1px 3px rgba(8,19,44,.08), 0 6px 16px rgba(8,19,44,.06);
  --measure:68ch;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}

:target,.level,.contest{scroll-margin-top:var(--s5);}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}

body{
  margin:0;background:var(--canvas);color:var(--ink);
  font-family:var(--font);font-size:var(--step-0);line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

font{font-size:inherit !important;color:inherit !important;font-family:inherit !important;}

h1,h2,h3,h4{margin:0 0 var(--s4);line-height:1.15;font-weight:800;
  font-family:"Franklin Gothic Black","Franklin Gothic Heavy",
              "Franklin Gothic Medium","Arial Narrow",var(--font);
  letter-spacing:-.01em;color:var(--heading);}

h1{font-size:var(--step-3);letter-spacing:-.01em;}
h2{font-size:var(--step-2);margin-bottom:var(--s5);}

:is(.table-wrap,.notice,.panel-box,.status-card,.legend,table)
  + :is(h2,h3,.level__head){margin-top:var(--s7);}
h3{font-size:var(--step-1);}
h4{font-size:var(--step-0);}

p{margin:0 0 var(--s5);max-width:none;color:#000;
  font-size:clamp(1.06rem,1rem + .3vw,1.2rem);}
ul,ol{max-width:var(--measure);}
small,.small{font-size:var(--step--1);color:var(--ink-2);}
strong,b{font-weight:650;}

a{color:var(--info);text-decoration:underline;text-underline-offset:.15em;
  text-decoration-thickness:1px;transition:color .12s;}
a:hover{color:var(--navy-800);text-decoration-thickness:2px;}

:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid var(--focus);outline-offset:2px;border-radius:var(--r-sm);
}
hr{border:0;border-top:1px solid var(--line);margin:var(--s6) 0;}
img{max-width:100%;height:auto;}

.skip-link{position:absolute;left:-9999px;top:0;z-index:100;
  background:var(--navy-800);color:#fff;padding:var(--s3) var(--s5);
  text-decoration:none;font-weight:650;border-radius:0 0 var(--r) 0;}
.skip-link:focus{left:0;}

.wrap{width:100%;max-width:1200px;margin:0 auto;padding-inline:var(--s4);}
.wrap--narrow{max-width:860px;}

:root{--logo-w:320px;}

.site-head{background:var(--paper);border-bottom:1px solid var(--line);}
.site-head__inner{display:flex;align-items:flex-end;justify-content:space-between;
  gap:var(--s4);padding-block:var(--s4);flex-wrap:wrap;}
.site-head__logo{width:var(--logo-w);max-width:100%;height:auto;display:block;}

.site-head__context{text-align:right;color:var(--ink-2);margin:0;}
.site-head__election{display:block;
  font-family:"Franklin Gothic Heavy","Franklin Gothic Medium","Arial Narrow",
              "Helvetica Neue Condensed",var(--font);
  font-size:clamp(1.7rem,1.2rem + 2vw,2.6rem);
  font-weight:900;letter-spacing:-.012em;line-height:1;
  color:var(--navy-800);margin:0 0 .1rem;}
.site-head__date{display:block;
  font-family:"Franklin Gothic Heavy","Franklin Gothic Medium","Arial Narrow",
              "Helvetica Neue Condensed",var(--font);
  font-size:clamp(1.1rem,.9rem + .9vw,1.5rem);
  font-weight:800;color:var(--navy-800);line-height:1.15;}
.site-head__status{display:block;
  font-size:clamp(1rem,.85rem + .6vw,1.25rem);
  color:var(--jc-orange);line-height:1.05;margin-top:.5rem;font-style:italic;}

.site-head::after{content:"";display:block;height:4px;
  background:linear-gradient(to right,
    var(--green-700) 0 33.33%, var(--cyan-700) 33.33% 66.66%,
    var(--orange-700) 66.66% 100%);}

.nav{background:var(--navy-800);}
.nav ul{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0;max-width:none;}
.nav li{flex:0 1 auto;}
.nav a{display:flex;align-items:center;min-height:46px;
  padding:var(--s3) var(--s4);color:#d5dfef;text-decoration:none;
  font-size:var(--step--1);font-weight:600;
  border-bottom:3px solid transparent;}
.nav a:hover{background:var(--navy-700);color:#fff;}
.nav a:focus-visible{outline-offset:-3px;}
.nav a[aria-current="page"]{color:#fff;background:var(--navy-700);
  border-bottom-color:var(--cyan-700);}
.nav__short{display:none;}

@media (max-width:768px){
  .nav{padding:var(--s3) 0;}

  .nav ul{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2);
          grid-auto-rows:1fr;align-items:stretch;}
  .nav li{display:flex;}

  .nav li:first-child{grid-column:1 / -1;}
  .nav li:last-child:nth-child(even){grid-column:1 / -1;}

  .nav a{
    justify-content:center;text-align:center;
    min-height:54px;padding:var(--s3);
    background:rgba(255,255,255,.10);
    border:2px solid rgba(255,255,255,.62);
    border-bottom:2px solid rgba(255,255,255,.62);
    border-radius:var(--r-sm);
    font-family:"Franklin Gothic Black","Franklin Gothic Heavy",
                "Franklin Gothic Medium","Arial Narrow",var(--font);
    font-size:var(--step-1);font-weight:800;letter-spacing:.005em;
    color:#fff;

    line-height:1.15;text-wrap:balance;
    width:100%;
    hyphens:none;
  }
  .nav a:hover{background:rgba(255,255,255,.18);border-color:#fff;}
  .nav a[aria-current="page"]{
    background:var(--paper);color:var(--navy-800);
    border-color:var(--paper);font-weight:800;}
  .nav__full{display:none;}
  .nav__short{display:inline;}
}

main{display:block;padding-block:var(--s6) var(--s7);}

.page-head{margin-bottom:var(--s4);}
.page-head h1{margin-bottom:var(--s2);}
.page-head__meta{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);
  font-size:var(--step--1);color:#000;margin:0;max-width:none;}
.page-head__meta strong{color:var(--ink);}

.tag{display:inline-block;font-size:var(--step--1);font-weight:650;
  padding:.1rem .55rem;border-radius:var(--r-pill);border:1px solid;}

.tag--unofficial{background:var(--orange-100);color:var(--jc-orange);
  border-color:var(--jc-orange);}

.site-foot{background:var(--navy-900);color:#f4e9e5;
  margin-top:var(--s7);
  padding-block:clamp(1.5rem,3.5vw,3rem);
  font-size:var(--step--1);

  background-image:url("../images/LgLeavesNavyBackground.gif");
  background-repeat:no-repeat;

  background-position:right 8% center;
  background-size:auto 118%;}

.site-foot__grid{display:grid;align-items:center;
  grid-template-columns:40% minmax(0,25%) minmax(0,35%);
  max-width:1646px;margin:0 auto;
  padding-inline:clamp(1rem,6%,7rem);
  text-align:left;}

.site-foot__id{text-align:center;}

.site-foot__logo{display:inline-block;text-decoration:none;}
.site-foot__logo:focus-visible{outline:3px solid #feccb5;outline-offset:4px;}
.site-foot__id img{width:min(290px,80%);height:auto;display:block;margin:0 auto;}

.site-foot__addr{margin:var(--s4) 0 0;text-align:center;color:#f4e9e5;
  font-size:clamp(.85rem,1.05vw,1rem);line-height:1.6;}
.site-foot__addr a{color:#f4e9e5;text-decoration:underline;}

.site-foot__nav ul{list-style:none;margin:0;padding:0;max-width:none;}
.site-foot__nav li{margin-bottom:.5rem;}
.site-foot__nav li:last-child{margin-bottom:0;}
.site-foot__nav a{color:#feccb5;text-decoration:none;white-space:nowrap;
  font-size:clamp(1rem,1.25vw,1.25rem);line-height:1.45;}
.site-foot__nav a:hover,.site-foot__nav a:focus-visible{
  color:#f4e9e5;text-decoration:underline;text-decoration-thickness:2px;}

@media (max-width:900px){
  .site-foot{background-image:none;}
  .site-foot__grid{grid-template-columns:45% minmax(0,55%);}
}
@media (max-width:700px){
  .site-foot__grid{grid-template-columns:1fr;justify-items:center;
    text-align:center;gap:var(--s5);}
  .site-foot__nav ul{text-align:center;}
}

.site-foot a{color:#f4e9e5;}

.site-foot p{max-width:none;margin-bottom:var(--s2);color:#f4e9e5;}
.site-foot strong{color:#f4e9e5;}
.site-foot .muted{color:#f4e9e5;}

.panel-box{background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r);box-shadow:var(--sh-1);padding:var(--s5);
  margin-bottom:var(--s5);}

.welcome{margin:0 0 var(--s3);}
.welcome__title{color:var(--jc-orange);text-transform:none;
  letter-spacing:.02em;font-size:var(--step-1);margin:0 0 var(--s3);}
.welcome p{color:#000;margin:0;}
.welcome__em{color:var(--orange-900);font-weight:600;}

.notice{border-left:5px solid;border-radius:var(--r-sm);
  padding:var(--s4) var(--s5);margin-bottom:var(--s5);}
.notice p:last-child{margin-bottom:0;}
.notice--info{background:var(--info-bg);border-color:var(--info);}
.notice--warn{background:var(--warn-bg);border-color:var(--warn);}
.notice--danger{background:var(--danger-bg);border-color:var(--danger);color:#6d1a15;}
.notice--ok{background:var(--ok-bg);border-color:var(--ok);}
.notice__title{font-weight:700;margin-bottom:var(--s1);}

.notice ul{margin:0;padding-left:1.35rem;max-width:none;}
.notice li{margin-bottom:.3rem;}
.notice li:last-child{margin-bottom:0;}

.status-card{background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r);box-shadow:var(--sh-1);padding:var(--s5);
  margin-bottom:var(--s5);}
.status-card__figure{display:flex;align-items:baseline;gap:var(--s2);
  flex-wrap:wrap;margin-bottom:var(--s3);}

.status-card__count{font-size:clamp(2rem,1.6rem + 1.6vw,2.9rem);
  font-weight:800;color:var(--jc-orange);line-height:1;
  font-variant-numeric:tabular-nums;}
.status-card--done .status-card__count{color:var(--jc-green);}
.status-card__of{font-size:var(--step-1);color:var(--ink-2);}
.status-card__of strong{font-weight:800;font-size:1.15em;color:var(--jc-green);
  font-variant-numeric:tabular-nums;}
.progress{height:12px;background:var(--canvas);border-radius:var(--r-pill);
  overflow:hidden;border:1px solid var(--line);}
.progress__bar{height:100%;background:var(--jc-teal);
  border-radius:var(--r-pill);transition:width .4s ease;}
.progress__bar--done{background:var(--jc-green);}
@media (prefers-reduced-motion:reduce){.progress__bar{transition:none;}}

.status-card__note{font-size:var(--step-0);color:#595959;margin:var(--s3) 0 0;
  display:flex;flex-wrap:wrap;justify-content:space-between;
  align-items:baseline;gap:var(--s2) var(--s4);}
.status-card__note a{white-space:nowrap;}

.status-asof{font-weight:700;color:#000;text-align:left;
  font-size:var(--step-1);margin:0 0 var(--s2);}

.actions{list-style:none;margin:0 0 var(--s5);padding:0;display:grid;
  gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  max-width:none;align-items:stretch;}

.actions li{display:flex;}
.actions a{display:flex;flex-direction:column;gap:var(--s1);
  flex:1 1 auto;min-height:5.5rem;padding:var(--s4);background:var(--paper);
  border:1px solid var(--line);border-left:4px solid var(--navy-700);
  border-radius:var(--r-sm);text-decoration:none;color:var(--ink);
  box-shadow:var(--sh-1);transition:box-shadow .12s,border-color .12s;}
.actions a span{margin-top:auto;}

.status-lead{text-align:left;font-weight:400;
  font-size:clamp(1.35rem,1.15rem + .8vw,1.75rem);
  margin:var(--s6) 0 var(--s2);}
.status-lead:first-of-type{margin-top:0;}

.actions__lead{text-align:center;font-weight:400;
  font-size:clamp(1.35rem,1.15rem + .8vw,1.75rem);
  margin:var(--s6) 0 var(--s3);}
.actions__lead:first-of-type{margin-top:0;}
.actions--primary{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));
  gap:var(--s4);}
.actions--primary a{align-items:center;justify-content:center;
  text-align:center;gap:0;min-height:6rem;
  border-left-width:8px;padding:var(--s4);}

.actions--primary a b{
  font-family:"Franklin Gothic Black","Franklin Gothic Heavy",
              "Franklin Gothic Medium","Arial Narrow",var(--font);
  font-size:clamp(1.15rem,1rem + .55vw,2.9rem);
  font-weight:800;line-height:1.2;margin-top:0;
  color:var(--navy-800);}

.actions--primary a span{margin-top:.25rem;font-size:var(--step--1);
  font-weight:400;color:var(--ink-3);font-family:var(--font);}

.actions--primary li:nth-child(1) a{border-left-color:var(--orange-700);}
.actions--primary li:nth-child(2) a{border-left-color:var(--cyan-700);}
.actions--primary li:nth-child(3) a{border-left-color:var(--green-700);}
.actions--primary li:nth-child(1) a:hover{border-left-color:var(--orange-900);}
.actions--primary li:nth-child(2) a:hover{border-left-color:var(--cyan-900);}
.actions--primary li:nth-child(3) a:hover{border-left-color:var(--green-900);}

@media (max-width:768px){
  .actions--primary{grid-template-columns:1fr;}

  .actions--primary a{min-height:5rem;}
  .actions--primary a b{font-size:1.45rem;}
}
.actions a:hover{box-shadow:var(--sh-2);border-left-color:var(--cyan-700);}
.actions b{color:var(--navy-800);font-size:var(--step-0);}
.actions span{font-size:var(--step--1);color:var(--ink-2);}

.level{margin-bottom:var(--s7);}

.level__head{display:flex;align-items:baseline;gap:var(--s3);
  border-top:2px solid var(--navy-700);
  border-bottom:2px solid var(--navy-700);
  padding-block:var(--s2);
  margin:var(--s7) 0 var(--s5);}
.level__head:first-child{margin-top:0;}

.level__head :is(h2,h3){margin:0;color:var(--heading);
  font-size:clamp(1.45rem,1.2rem + 1vw,1.95rem);
  line-height:1.15;letter-spacing:-.01em;}

.level__count{font-size:var(--step--1);color:var(--ink-3);}

.ballot-intro{margin:0 0 var(--s4);}

.contest{margin-bottom:var(--s7);}
.contest__head{display:flex;align-items:baseline;justify-content:space-between;
  gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s3);}

.contest__head h3{margin:0;color:var(--navy-700);
  font-family:var(--font);font-weight:650;letter-spacing:normal;
  font-size:var(--contest-size);line-height:1.3;}
.contest__seats{font-size:var(--step--1);color:var(--ink-2);
  background:var(--navy-050);border:1px solid var(--line);
  padding:.1rem .55rem;border-radius:var(--r-pill);white-space:nowrap;}

.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;
  border:1px solid var(--line);border-radius:var(--r);background:var(--paper);
  box-shadow:var(--sh-1);}
.table-wrap:focus-visible{outline:3px solid var(--focus);outline-offset:2px;}

/* Wide contest tables (includes/contestSection.cfm + script in pageFoot.cfm):
   a plain-language note above the table, a faded right edge while there is
   more to the right, and the precinct column pinned while the rest scrolls. */
.scroll-hint{display:flex;gap:var(--s2);align-items:flex-start;
  margin:0 0 var(--s3);padding:var(--s2) var(--s3);
  font-size:var(--step--1);line-height:1.4;color:var(--ink-2);
  background:var(--navy-050);border:1px dashed var(--line-2);border-radius:var(--r-sm);}
.scroll-hint[hidden]{display:none;}
.scroll-hint__arrow{font-size:1.25em;line-height:1;font-weight:800;color:var(--navy-700);}
.scroller{position:relative;}
.scroller::after{content:"";position:absolute;top:0;right:0;bottom:0;width:3.5rem;
  pointer-events:none;border-radius:0 var(--r) var(--r) 0;opacity:0;transition:opacity .15s;
  background:linear-gradient(to right,rgba(255,255,255,0),rgba(8,19,44,.22));}
.scroller.is-overflowing:not(.at-end)::after{opacity:1;}
.dview thead th:first-child{position:sticky;left:0;z-index:3;}
.dview tbody th[scope="row"],.dview tfoot th[scope="row"]{position:sticky;left:0;z-index:1;
  background:var(--paper);box-shadow:inset -1px 0 0 var(--line);}
.dview tbody tr:nth-child(even) th[scope="row"]{background:var(--paper-2);}
.dview tbody tr:hover th[scope="row"]{background:var(--navy-050);}
.dview tfoot th[scope="row"]{background:var(--total-bg);}
@media print{.scroll-hint,.scroller::after{display:none !important;}
  .dview thead th:first-child,.dview tbody th[scope="row"],.dview tfoot th[scope="row"]{position:static;}}

table{border-collapse:collapse;width:100%;}

.summary-table{table-layout:fixed;}
.summary-table th:nth-child(1),.summary-table td:nth-child(1){width:44%;}
.summary-table th:nth-child(2),.summary-table td:nth-child(2){width:17%;}
.summary-table th:nth-child(3),.summary-table td:nth-child(3){width:18%;}
.summary-table th:nth-child(4),.summary-table td:nth-child(4){width:21%;}
.summary-table th[scope="row"]{white-space:normal;hyphens:auto;}

@media (max-width:768px){
  .summary-table{table-layout:auto;}
  .summary-table th:nth-child(1),.summary-table td:nth-child(1),
  .summary-table th:nth-child(2),.summary-table td:nth-child(2),
  .summary-table th:nth-child(3),.summary-table td:nth-child(3),
  .summary-table th:nth-child(4),.summary-table td:nth-child(4){width:auto;}
  .summary-table .status-col{width:1%;white-space:nowrap;}
  .summary-table .flag{margin-right:0;font-size:.66rem;padding:.1rem .4rem;}
}
caption{caption-side:top;text-align:left;padding:var(--s3) var(--s4);
  font-weight:650;color:var(--jc-orange-dk);font-size:var(--step-0);}

th,td{padding:.68rem .85rem;text-align:left;
  font-size:clamp(1rem,.95rem + .25vw,1.1rem);
  border-bottom:1px solid var(--line);}

thead th{background:var(--th-bg);color:var(--jc-orange-dk);font-weight:650;
  font-size:clamp(1.06rem,1rem + .3vw,1.2rem);
  position:sticky;top:0;z-index:2;border-bottom:2px solid var(--line-2);
  vertical-align:bottom;}

th.cand{text-align:right;white-space:normal;min-width:8.5rem;max-width:12rem;
  line-height:1.25;padding-top:.8rem;padding-bottom:.6rem;}
.cand__name{display:block;font-weight:650;hyphens:auto;}

.cand__meta{display:flex;flex-wrap:wrap;justify-content:flex-end;
  align-items:center;gap:.3rem;min-height:1.35em;
  margin-top:.2rem;font-weight:400;
  font-size:.78rem;color:var(--ink-2);}
.cand__meta .party::before{content:"(";}
.cand__meta .party::after{content:")";}

.incumbent{font-style:normal;font-size:.66rem;font-weight:700;
  letter-spacing:.045em;text-transform:uppercase;white-space:nowrap;
  color:var(--navy-700);background:var(--navy-050);
  border:1px solid var(--navy-100);border-radius:var(--r-pill);
  padding:.06rem .42rem;line-height:1.45;}

th.cand.is-lead{background:var(--lead-bg);box-shadow:inset 0 -3px 0 var(--lead-line);}
th.cand.is-tied{background:var(--tied-bg);box-shadow:inset 0 -3px 0 var(--tied-line);}
tfoot td.is-lead{background:var(--lead-bg);}
tfoot td.is-tied{background:var(--tied-bg);}
tfoot td .flag{display:block;margin:.25rem 0 0;font-size:.66rem;}
tbody tr:nth-child(even) td,tbody tr:nth-child(even) th{background:var(--paper-2);}
tbody tr:hover td,tbody tr:hover th{background:var(--navy-050);}
tbody th[scope="row"]{font-weight:600;white-space:nowrap;color:var(--jc-orange-dk);}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;}
tfoot th{color:var(--jc-orange-dk);}
tfoot th,tfoot td{background:var(--total-bg);font-weight:700;
  font-size:clamp(1.06rem,1rem + .3vw,1.2rem);
  border-top:2px solid var(--line-2);border-bottom:0;}
.table-empty{padding:var(--s5);color:var(--ink-2);font-style:italic;}

.tbb,.tbb2{background:var(--th-bg);font-weight:650;}
.tcandidate,.tcandidate2{background:var(--cand-bg);}
.tprecinctinfo,.tprecinctinfo2{background:transparent;}
.ttotals{background:var(--total-bg);font-weight:700;}
.noprecinctinfo{display:none;}

.flag{display:inline-block;font-size:.72rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.03em;padding:.12rem .5rem;
  border-radius:var(--r-pill);border:1px solid;white-space:nowrap;
  margin-right:var(--s2);vertical-align:middle;}
.flag--lead{background:var(--lead-bg);border-color:var(--lead-line);color:#4a3a08;}
.flag--tied{background:var(--tied-bg);border-color:var(--tied-line);color:#5a2f08;}
.status-col{width:1%;white-space:nowrap;}
.status-col:empty::after{content:"\2014";color:var(--ink-3);}
.tprecinctinfo3{background:var(--lead-bg);border:1px solid var(--lead-line);
  color:#4a3a08;font-size:.72rem;font-weight:700;text-transform:uppercase;
  padding:.12rem .5rem;border-radius:var(--r-pill);}

tr.is-lead td,tr.is-lead th{background:var(--lead-bg) !important;}
tr.is-tied td,tr.is-tied th{background:var(--tied-bg) !important;}
.summarywin{background:var(--lead-bg) !important;}
.sumtied{background:var(--tied-bg) !important;}

.legend{margin:var(--s6) 0 0;padding:var(--s4);
  background:#fdf9f7;border:1px solid var(--line);
  border-radius:var(--r);box-shadow:var(--sh-1);}
.legend__title{font-size:var(--step-0);font-weight:700;margin:0 0 var(--s3);
  font-family:var(--font);color:var(--ink);}

.legend ul{list-style:none;display:grid;gap:.4rem;
  margin:0;padding:0;max-width:none;}
.legend li{display:grid;grid-template-columns:1.5rem auto;
  align-items:baseline;gap:.5rem;font-size:var(--step-0);}
.legend .party{font-size:1.05em;}

.party{font-weight:600;font-size:var(--step--1);}
.party-D{color:var(--p-d);} .party-R{color:var(--p-r);}
.party-L{color:var(--p-l);} .party-G{color:var(--p-g);}
.party-N,.party-{color:var(--p-n);}

.disclosure{background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r);box-shadow:var(--sh-1);margin-bottom:var(--s3);
  overflow:hidden;}
.disclosure > summary{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .6rem;
  min-height:44px;padding:var(--s3) 2.75rem var(--s3) var(--s4);
  cursor:pointer;position:relative;list-style:none;
  font-weight:650;color:var(--navy-800);}
.disclosure > summary::-webkit-details-marker{display:none;}
.disclosure > summary::after{
  content:"";position:absolute;right:1.1rem;top:1.35rem;
  width:.55rem;height:.55rem;border-right:2px solid var(--navy-700);
  border-bottom:2px solid var(--navy-700);
  transform:rotate(45deg);transition:transform .18s;}
.disclosure[open] > summary::after{transform:rotate(225deg);top:1.5rem;}
@media (prefers-reduced-motion:reduce){.disclosure > summary::after{transition:none;}}
.disclosure > summary:hover{background:var(--navy-050);}
.disclosure > summary:focus-visible{outline:3px solid var(--focus);outline-offset:-3px;}

.disclosure__title{flex:1 1 12rem;min-width:0;
  font-family:var(--font);font-weight:650;letter-spacing:normal;
  font-size:var(--contest-size);line-height:1.25;}
.disclosure__note{font-size:.75rem;font-weight:600;color:var(--ink-2);
  background:var(--navy-050);border:1px solid var(--line);
  padding:.05rem .45rem;border-radius:var(--r-pill);white-space:nowrap;}
.disclosure__lead{flex-basis:100%;font-size:var(--step--1);font-weight:400;
  color:var(--ink-2);}
.disclosure__lead::before{content:"Leading: ";font-weight:600;color:var(--ink);}
.disclosure__body{padding:0 var(--s4) var(--s4);border-top:1px solid var(--line);}
.disclosure__body .table-wrap{border:0;box-shadow:none;margin-top:var(--s3);}
.disclosure__body caption{padding-left:0;font-size:var(--step-0);color:var(--ink);}

button.accordion{display:block;width:100%;min-height:44px;text-align:left;
  font:inherit;font-weight:650;color:var(--navy-800);cursor:pointer;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:var(--s3) var(--s4);margin-top:var(--s2);box-shadow:var(--sh-1);}
div.panel{max-height:0;overflow:hidden;transition:max-height .25s ease-out;}
@media (prefers-reduced-motion:reduce){div.panel{transition:none;}}

fieldset{border:1px solid var(--line);border-radius:var(--r);
  padding:var(--s4);margin:0 0 var(--s5);}
legend{font-weight:650;padding-inline:var(--s2);color:var(--navy-800);}
label{display:block;font-weight:600;margin-bottom:var(--s1);}
.hint{font-size:var(--step--1);color:#000;margin:0 0 var(--s2);}

input[type=text],input[type=number],select,textarea{
  font:inherit;min-height:44px;width:100%;max-width:100%;
  padding:.5rem .7rem;color:var(--ink);background:var(--paper);
  border:1px solid var(--line-2);border-radius:var(--r-sm);}
input[type=text]{text-align:right;font-variant-numeric:tabular-nums;max-width:8rem;}
input:invalid,input[aria-invalid=true]{border-color:var(--danger);border-width:2px;}
.field-error{color:var(--danger);font-size:var(--step--1);font-weight:600;
  display:block;margin-top:var(--s1);}

/* Data entry pages (precinctrpt1b) - compact panels, name and field side by side */
.entry-page fieldset{width:100%;max-width:28rem;
  padding:var(--s3) var(--s4) var(--s4);}
.entry-page .entry-table{width:100%;}
.entry-page .entry-table th,.entry-page .entry-table td{padding:.35rem .6rem;}
.entry-page .entry-table tbody th[scope="row"]{white-space:normal;font-weight:600;padding-right:var(--s5);}
.entry-page .entry-table label{margin:0;font-weight:inherit;display:inline;}
.entry-page .entry-table td.num{white-space:nowrap;}
.entry-page .entry-table td.num input[type=text]{width:6.5rem;min-height:40px;padding:.35rem .5rem;}

.btn,input[type=submit],input[type=button],button.btn{
  font:inherit;font-weight:650;min-height:44px;cursor:pointer;
  display:inline-flex;align-items:center;gap:var(--s2);
  padding:.6rem 1.4rem;border-radius:var(--r-sm);text-decoration:none;
  background:var(--navy-700);color:#fff;border:1px solid var(--navy-800);
  transition:background .12s;}
.btn:hover,input[type=submit]:hover,input[type=button]:hover{background:var(--navy-800);color:#fff;}
.btn--ghost{background:var(--paper);color:var(--navy-800);border-color:var(--line-2);}
.btn--ghost:hover{background:var(--navy-050);color:var(--navy-900);}
/* Test-only buttons on the entry page (Randomize / Reset) - visibly not the Submit button */
.entry-tools{margin-top:var(--s4);padding-top:var(--s4);border-top:1px dashed var(--line-2);}
.entry-tools p:last-child{margin-bottom:0;}
input[type=button].btn--test,input[type=submit].btn--test{background:var(--paper);color:var(--jc-orange);
  border:2px solid var(--jc-orange);}
input[type=button].btn--test:hover,input[type=submit].btn--test:hover{background:#fdf1ea;color:var(--jc-orange);}
@media (prefers-reduced-motion:reduce){.btn,input[type=submit]{transition:none;}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;}
.stack>*+*{margin-top:var(--s4);}
.text-center{text-align:center;}
.nowrap{white-space:nowrap;}
.muted{color:var(--ink-2);}
.mono{font-family:var(--mono);font-size:.9em;}

.dblue,.wblue{color:var(--navy-800);}
.dred,.wred,.red{color:var(--danger);}
.dgreen,.green{color:var(--ok);}
.purple{color:#4a2a80;} .brown,.ttally{color:#6b4423;}
.dview{display:block;} .mobile{display:none;} .desktop{display:none;}
.fadedseal{background-image:none;}
.nolinky a{text-decoration:none;}

@media (max-width:768px){
  :root{--logo-w:250px;}
  .site-head__inner{justify-content:center;text-align:center;}
  .site-head__context{text-align:center;width:100%;}
  .dview{display:none;} .mobile{display:block;}
  .clickoncontestm{display:none;}
  .wrap{padding-inline:var(--s3);}
  .panel-box,.status-card{padding:var(--s4);}
  .site-head__inner{gap:var(--s3);}

  th,td{padding:.6rem .7rem;}
  main{padding-block:var(--s5);}
}
@media (min-width:769px){.clickoncontest,.clickoncontestb{display:none;}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;
    transition-duration:.01ms !important;}
}
@media (prefers-contrast:more){
  :root{--line:#000;--line-2:#000;--ink-2:#000;--ink-3:#000;--paper-2:#fff;}
  th,td{border-bottom-width:2px;}
  a{text-decoration-thickness:2px;}
}
@media (forced-colors:active){
  .flag,.summarywin,.sumtied,tr.is-lead td,tr.is-tied td{
    border:2px solid CanvasText;forced-color-adjust:none;}
  .progress__bar{background:CanvasText;}
}

/* Back-to-top button (includes/pageFoot.cfm). Hidden until the page has
   scrolled ~600px; visibility:hidden keeps it out of the tab order too. */
.to-top{position:fixed;z-index:50;
  right:max(var(--s4),env(safe-area-inset-right));
  bottom:max(var(--s4),env(safe-area-inset-bottom));
  display:inline-flex;align-items:center;gap:var(--s2);min-height:44px;
  padding:.55rem 1.1rem;border-radius:var(--r-pill);
  background:var(--navy-700);color:#fff;border:1px solid var(--navy-800);
  font-weight:650;text-decoration:none;box-shadow:0 4px 14px rgba(8,19,44,.28);
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .15s,transform .15s,visibility 0s linear .15s;}
.to-top.is-visible{opacity:1;visibility:visible;transform:none;transition-delay:0s;}
.to-top:hover{background:var(--navy-800);color:#fff;}

/* Precinct picker (precinctrpt1a.cfm): submitted precincts sit in their own
   group; the tint only shows where the browser lets options be styled
   (desktop Chrome, Edge, Firefox) - phones draw their own picker. */
#precinct optgroup{font-style:normal;font-weight:700;color:var(--ink-2);}
#precinct option.opt-done{background:var(--green-100);color:var(--green-900);}
.precinct-note{min-height:1.5em;margin-top:var(--s2);}
.precinct-note--done{color:var(--orange-900);font-weight:600;}

@media print{
  body{background:#fff;font-size:10.5pt;}

  .nav,.site-foot,.skip-link,.actions,button.accordion,.to-top,
  .notice--danger,.mobile{display:none !important;}
  .disclosure__body{display:block !important;}
  .dview{display:block !important;}
  div.panel{max-height:none !important;overflow:visible !important;}
  .table-wrap{overflow:visible !important;border:0;box-shadow:none;}
  .panel-box,.status-card{border:0;box-shadow:none;padding:0;}
  thead{display:table-header-group;}
  thead th{position:static;}
  tr{page-break-inside:avoid;}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;color:#000;}
}

.audit{margin:var(--s5) 0 var(--s6);}
.audit__head{display:flex;align-items:baseline;gap:var(--s3);
  flex-wrap:wrap;border-bottom:2px solid var(--navy-700);
  padding-bottom:var(--s2);margin-bottom:var(--s3);}
.audit__head h2{margin:0;}
.audit__count{margin:0;font-size:var(--step--1);color:var(--ink-2);}
.audit__build{font-size:var(--step--1);color:var(--ink-2);
  margin:0 0 var(--s4);max-width:none;}
.audit__build code{background:var(--navy-050);border:1px solid var(--line);
  padding:.05rem .35rem;border-radius:var(--r-sm);font-size:.9em;}

.audit__group{background:var(--paper);border:1px solid var(--line);
  border-left:5px solid var(--line-2);border-radius:var(--r);
  margin-bottom:var(--s2);overflow:hidden;}
.audit__group--error{border-left-color:var(--danger);}
.audit__group--warn {border-left-color:var(--orange-700);}
.audit__group--info {border-left-color:var(--cyan-700);}

.audit__group > summary{display:flex;align-items:center;gap:var(--s3);
  flex-wrap:wrap;min-height:48px;padding:var(--s3) var(--s4);
  cursor:pointer;list-style:none;font-weight:650;color:var(--navy-800);}
.audit__group > summary::-webkit-details-marker{display:none;}
.audit__group > summary:hover{background:var(--navy-050);}
.audit__group > summary:focus-visible{outline:3px solid var(--focus);outline-offset:-3px;}

.audit__badge{font-size:.68rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.04em;padding:.1rem .45rem;border-radius:var(--r-pill);
  border:1px solid;flex:none;}
.audit__badge--error{background:var(--danger-bg);color:var(--danger);border-color:var(--danger);}
.audit__badge--warn {background:var(--orange-100);color:var(--orange-900);border-color:var(--orange-900);}
.audit__badge--info {background:var(--cyan-100);color:var(--cyan-900);border-color:var(--cyan-900);}

.audit__type{flex:1 1 10rem;min-width:0;}
.audit__n{flex:none;min-width:2.2rem;text-align:center;
  background:var(--navy-100);border-radius:var(--r-pill);
  padding:.1rem .5rem;font-size:var(--step--1);
  font-variant-numeric:tabular-nums;color:var(--navy-800);}

.audit__body{padding:0 var(--s4) var(--s4);border-top:1px solid var(--line);}
.audit__hint{margin:var(--s3) 0;padding:var(--s3);background:var(--navy-050);
  border-radius:var(--r-sm);font-size:var(--step--1);color:var(--ink-2);
  max-width:none;}
.audit__hint::before{content:"Fix: ";font-weight:700;color:var(--ink);}
.audit__list{margin:0;padding-left:1.1rem;font-size:var(--step--1);
  line-height:1.5;max-width:none;}
.audit__list li{margin-bottom:.35rem;overflow-wrap:anywhere;}

@media (max-width:768px){
  .audit__group > summary{padding:var(--s3);}
  .audit__type{flex-basis:100%;order:3;}
  .audit__list{padding-left:1rem;}
}

.ballot{list-style:none;margin:0 0 var(--s5);padding:0;max-width:none;
  border:1px solid var(--line);border-radius:var(--r);
  background:var(--paper);box-shadow:var(--sh-1);overflow:hidden;}
.ballot__item{padding:var(--s4);border-top:1px solid var(--line);}
.ballot__item:first-child{border-top:0;}
.ballot__item:nth-child(even){background:var(--paper-2);}

.ballot__contest{margin:0 0 var(--s3);
  font-size:var(--contest-size);
  font-weight:650;line-height:1.3;max-width:none;}
.ballot__contest a{color:var(--navy-700);text-decoration:none;}
.ballot__contest a:hover{text-decoration:underline;text-decoration-thickness:2px;}

.ballot__cands{list-style:disc;margin:0;padding:0 0 0 2rem;
  max-width:none;}

.chip{display:list-item;padding:.3rem 0;
  font-size:clamp(1.05rem,.98rem + .3vw,1.2rem);line-height:1.4;}
.chip::marker{color:var(--navy-700);}
.chip__name{font-weight:500;color:var(--ink);}
.chip__party{font-weight:700;font-size:.9rem;letter-spacing:.03em;
  margin-left:.5rem;}

.chip__inc{margin-left:.75rem;
  font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;
  font-weight:700;white-space:nowrap;flex:none;
  color:var(--navy-700);background:var(--navy-050);
  border:1px solid var(--navy-100);border-radius:var(--r-pill);
  padding:.02rem .4rem;}

@media (max-width:768px){
  .ballot__item{padding:var(--s3);}

  .chip{font-size:1.08rem;padding:.3rem 0;}
}
