/* Vermont's multi-candidate ballot, within the shared live-poll layout. */
.iv-support-labels { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); }
.iv-support-labels > div:last-child { text-align:left; }
.iv-support-labels > div > span { font-size:18px; }
.iv-support-voted,.iv-support-definitely { background:var(--iv-support-party); }
.iv-support-voted { background-image:repeating-linear-gradient(135deg,transparent 0 4px,#ffffff40 4px 6px); }
/* Keep one horizontal table row per municipality at every viewport size. */
.iv-county-table-wrap #iv-county-table { width:100%; min-width:0; table-layout:fixed; }
.iv-county-table-wrap #iv-county-table thead { display:table-header-group; position:static; width:auto; height:auto; padding:0; margin:0; overflow:visible; clip:auto; white-space:normal; }
.iv-county-table-wrap #iv-county-table tbody { display:table-row-group; }
.iv-county-table-wrap #iv-county-table tbody tr { display:table-row; }
.iv-county-table-wrap #iv-county-table th:first-child { width:24%; }
.iv-county-table-wrap #iv-county-table th:nth-child(2) { width:9%; }
.iv-county-table-wrap #iv-county-table th:nth-child(n+3) { width:auto; }
.iv-county-table-wrap #iv-county-table thead th { color:var(--brand_black); font-weight:600; padding-left:4px; padding-right:4px; }
.iv-poll-candidate-heading { display:inline-flex; align-items:center; gap:4px; white-space:nowrap; }
.iv-poll-candidate-heading::before { content:""; display:block; flex:none; width:8px; height:8px; background:var(--iv-candidate-color); }
.iv-poll-table-short { display:none; }
@media(max-width:600px) {
  .iv-support-labels { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
}
@media(max-width:720px) {
  .iv-county-table-wrap #iv-county-table { font-size:11px; }
  .iv-county-table-wrap #iv-county-table thead th,
  .iv-county-table-wrap #iv-county-table tbody th,
  .iv-county-table-wrap #iv-county-table tbody td { display:table-cell; padding:6px 2px; border-bottom:1px solid var(--lt_gray); vertical-align:middle; text-align:right; }
  .iv-county-table-wrap #iv-county-table tbody th:first-child { width:24%; font:500 12px/1.25 'IBM Plex Sans',sans-serif; text-align:left; overflow-wrap:anywhere; }
  .iv-county-table-wrap #iv-county-table thead th:first-child { text-align:left; }
  .iv-county-table-wrap #iv-county-table tbody td::before { content:none; display:none; }
  .iv-county-table-wrap #iv-county-table .iv-county-count { display:block; font-size:11px; line-height:1.25; }
  .iv-county-table-wrap #iv-county-table .iv-county-share { font-size:9px; line-height:1.25; white-space:nowrap; }
  .iv-poll-table-full { display:none; }
  .iv-poll-table-short { display:inline; }
  .iv-poll-candidate-heading { gap:3px; }
  .iv-poll-candidate-heading::before { width:6px; height:6px; }
}
@media(max-width:360px) {
  .iv-county-table-wrap #iv-county-table { font-size:10px; }
  .iv-county-table-wrap #iv-county-table tbody th:first-child { font-size:11px; }
  .iv-county-table-wrap #iv-county-table .iv-county-count { font-size:10px; }
  .iv-county-table-wrap #iv-county-table .iv-county-share { font-size:8px; }
}

.iv-support-labels > div > span { display:flex; align-items:center; gap:7px; font-size:16px; }
.iv-support-swatch { display:inline-block; flex:none; width:10px; height:10px; }
@media (min-width:601px) and (max-width:1000px) {
  .iv-support-labels { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
