/*
 * Legacy media queries
 */
:root {
  --accent-dark: #4774CC;
  --accent-light: #bccae5;
  --sans: 'NPRSans', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
  --serif: 'NPRSerif', Georgia, "Times New Roman", Times, serif;
  --vh: 1vh;
}
.sr-only {
  opacity: 0;
  position: absolute;
  left: -1000px;
  clip: inset(0, 0, 0, 0);
  width: 1px;
  height: 1px;
}
.results-counties table.results-table {
  border-collapse: collapse;
  color: #666;
  font-size: 13px;
  table-layout: fixed;
  width: 100%;
}
.results-counties table.results-table tbody.collapsed :nth-child(n + 11) {
  opacity: 0;
  position: absolute;
  left: -1000px;
  clip: inset(0, 0, 0, 0);
  width: 1px;
  height: 1px;
}
.results-counties table.results-table .leading {
  color: #666;
  background-color: #FFE4AF;
}
.results-counties table.results-table .leading.Dem {
  background-color: #D5E5F2;
}
.results-counties table.results-table .leading.GOP {
  background-color: #F8D6D4;
}
.results-counties table.results-table .leading.Yes {
  background-color: #b1ddb3;
}
.results-counties table.results-table .leading.No {
  background-color: #fce9c5;
}
.results-counties table.results-table .leading.allin {
  color: #fff;
  background-color: #F1A513;
}
.results-counties table.results-table .leading.allin.Dem {
  background-color: #217BAE;
}
.results-counties table.results-table .leading.allin.GOP {
  background-color: #C72021;
}
.results-counties table.results-table .leading.allin.Yes {
  background-color: #469F4B;
}
.results-counties table.results-table .leading.allin.No {
  background-color: #F1A513;
}
.results-counties table.results-table .leading .icon {
  color: #fff;
}
.results-counties table.results-table .leading .icon:before {
  display: inline;
  padding-left: 3px;
}
.results-counties table.results-table td {
  position: relative;
  vertical-align: middle;
  padding: 8px;
  border-bottom: 1px solid #eee;
  border-right: 1px solid #eee;
}
.results-counties table.results-table td:last-child {
  border-right: none;
  text-align: center;
}
@media (min-width: 501px) {
  .results-counties table.results-table td:first-child {
    border-right: none;
  }
}
.results-counties table.results-table td span.precincts {
  display: none;
  font-size: 9px;
  font-style: italic;
  color: #999;
}
@media (max-width: 500px) {
  .results-counties table.results-table td {
    padding: 2px;
    word-wrap: break-word;
  }
  .results-counties table.results-table td span.precincts {
    display: block;
  }
}
.results-counties table.results-table thead th {
  vertical-align: bottom;
}
@media (max-width: 500px) {
  .results-counties table.results-table thead th {
    padding: 0 2px 5px 2px;
  }
}
.results-counties table.results-table thead th,
.results-counties table.results-table tbody th {
  border-bottom: 2px solid #eee;
  font-family: 'NPRSans', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
  font-weight: normal;
  letter-spacing: 0.05em;
  line-height: 1.2;
  text-transform: uppercase;
  -webkit-font-smoothing: antialiased;
  position: relative;
}
.results-counties table.results-table thead th.county.sortable,
.results-counties table.results-table tbody th.county.sortable {
  cursor: pointer;
}
.results-counties table.results-table thead th.vote,
.results-counties table.results-table tbody th.vote,
.results-counties table.results-table thead th.comparison,
.results-counties table.results-table tbody th.comparison {
  line-height: 1;
  padding: 0 0 5px 0;
}
@media (max-width: 500px) {
  .results-counties table.results-table thead th.vote div,
  .results-counties table.results-table tbody th.vote div,
  .results-counties table.results-table thead th.comparison div,
  .results-counties table.results-table tbody th.comparison div {
    position: relative;
    height: 70px;
    width: 100%;
  }
  .results-counties table.results-table thead th.vote span.title,
  .results-counties table.results-table tbody th.vote span.title,
  .results-counties table.results-table thead th.comparison span.title,
  .results-counties table.results-table tbody th.comparison span.title {
    position: absolute;
    bottom: 55%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(50%) rotate(-90deg);
    transform: translateX(-50%) translateY(50%) rotate(-90deg);
    width: 70px;
    text-align: left;
  }
}
.results-counties table.results-table thead th.vote.sortable,
.results-counties table.results-table tbody th.vote.sortable,
.results-counties table.results-table thead th.comparison.sortable,
.results-counties table.results-table tbody th.comparison.sortable {
  padding-right: 15px;
  cursor: pointer;
}
.results-counties table.results-table thead th.vote.sortable span:nth-child(2),
.results-counties table.results-table tbody th.vote.sortable span:nth-child(2),
.results-counties table.results-table thead th.comparison.sortable span:nth-child(2),
.results-counties table.results-table tbody th.comparison.sortable span:nth-child(2) {
  position: absolute;
  right: 0;
  bottom: 1px;
}
@media (max-width: 500px) {
  .results-counties table.results-table thead th.vote.sortable span:nth-child(2),
  .results-counties table.results-table tbody th.vote.sortable span:nth-child(2),
  .results-counties table.results-table thead th.comparison.sortable span:nth-child(2),
  .results-counties table.results-table tbody th.comparison.sortable span:nth-child(2) {
    display: none;
  }
}
@media (max-width: 500px) {
  .results-counties table.results-table thead th.vote.sortable,
  .results-counties table.results-table tbody th.vote.sortable,
  .results-counties table.results-table thead th.comparison.sortable,
  .results-counties table.results-table tbody th.comparison.sortable {
    padding-right: 0;
  }
}
.results-counties table.results-table th.county {
  padding: 0 0 5px;
}
.results-counties table.results-table th.amt.precincts {
  cursor: pointer;
}
.results-counties table.results-table th,
.results-counties table.results-table td {
  border-left: 1px solid #eee;
  text-align: center;
}
.results-counties table.results-table th.comparison,
.results-counties table.results-table td.comparison {
  width: 15%;
}
.results-counties table.results-table th.vote,
.results-counties table.results-table td.vote {
  width: 11%;
}
@media (max-width: 500px) {
  .results-counties table.results-table th,
  .results-counties table.results-table td {
    font-size: 11px;
    padding: 5px 2px;
  }
  .results-counties table.results-table th.comparison,
  .results-counties table.results-table td.comparison {
    width: 18%;
  }
  .results-counties table.results-table th.county span,
  .results-counties table.results-table td.county span {
    max-width: 60px;
  }
  .results-counties table.results-table th.vote,
  .results-counties table.results-table td.vote {
    width: 12%;
  }
}
@media (max-width: 400px) {
  .results-counties table.results-table th.vote,
  .results-counties table.results-table td.vote {
    width: 13%;
  }
}
.results-counties table.results-table th:first-child,
.results-counties table.results-table td:first-child {
  padding-left: 0;
}
.results-counties table.results-table th:last-child,
.results-counties table.results-table td:last-child {
  padding-right: 0;
}
.results-counties table.results-table th.county,
.results-counties table.results-table td.county {
  border-left: none;
  text-align: left;
}
.results-counties table.results-table th.precincts,
.results-counties table.results-table td.precincts {
  border-left: none;
  border-right: 1px solid #ccc;
  color: #999999;
  font-size: 10px;
  font-style: italic;
  text-align: right;
  white-space: nowrap;
}
@media (max-width: 500px) {
  .results-counties table.results-table th.precincts,
  .results-counties table.results-table td.precincts {
    display: none;
  }
}
.results-counties table.results-table th.margin.Dem,
.results-counties table.results-table td.margin.Dem,
.results-counties table.results-table th.comparison.Dem,
.results-counties table.results-table td.comparison.Dem {
  color: #217BAE;
}
.results-counties table.results-table th.margin.GOP,
.results-counties table.results-table td.margin.GOP,
.results-counties table.results-table th.comparison.GOP,
.results-counties table.results-table td.comparison.GOP {
  color: #C72021;
}
.results-counties table.results-table th.margin.Ind,
.results-counties table.results-table td.margin.Ind,
.results-counties table.results-table th.comparison.Ind,
.results-counties table.results-table td.comparison.Ind {
  color: #F1A513;
}
.results-counties table.results-table th.margin.Other,
.results-counties table.results-table td.margin.Other,
.results-counties table.results-table th.comparison.Other,
.results-counties table.results-table td.comparison.Other {
  color: #666;
}
.results-counties .label {
  color: #787878;
  display: block;
  font-size: 14px;
  font-family: 'NPRSans', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  padding-top: 0;
  line-height: 1.2;
  letter-spacing: 0.08em;
  margin: 0;
  -webkit-font-smoothing: antialiased;
}
.results-counties .sorter {
  font-family: 'NPRSans', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
  font-size: 14px;
  list-style-type: none;
  margin: 2px 0 20px;
  padding: 0;
}
.results-counties .sorter > li {
  color: #787878;
  font-weight: bold;
  white-space: nowrap;
  line-height: 1em;
  display: inline-block;
  margin: 4px 2px 0 0;
}
.results-counties .sorter > li.sortButton:first-child .metric {
  padding-left: 0;
}
.results-counties .sorter > li.sortButton .metric {
  color: #4774cc;
  padding: 0 7px;
}
.results-counties .sorter > li.sortButton .metric:hover {
  color: #bccae5;
  cursor: pointer;
}
@media (max-width: 500px) {
  .results-counties .sorter > li.sortButton .metric {
    padding: 0;
    padding-right: 7px;
  }
}
.results-counties .sorter > li.sortButton .pipe {
  color: #a0a0a0;
}
.results-counties .sorter > li.sortButton:last-child .pipe {
  display: none;
}
.results-counties .sorter > li.sortButton.selected .metric {
  color: #333333;
  font-weight: bold;
}
.results-counties .sorter > li.sortButton.selected .metric:hover {
  color: #333333;
}
.results-counties .sorter > li.sortButton:nth-child(2) .metric {
  padding-left: 0;
}
.results-counties button {
  background-color: #fff;
  border: none;
  box-shadow: none;
  box-sizing: border-box;
  color: #5076b8;
  display: block;
  font-family: 'NPRSans', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
  font-size: 14px;
  font-weight: bold;
  margin-top: 0;
  margin-bottom: 22px;
  padding: 12px 0;
}
.results-counties button:focus {
  color: #bccae5;
  outline: 1px solid #bccae5;
  cursor: pointer;
}
.results-counties button:hover {
  color: #bccae5;
  cursor: pointer;
}
.results-counties button.toggle-table.hidden {
  display: none;
}
results-board-display {
  position: relative;
}
.board-key {
  color: #666;
  font-size: 12px;
  padding: 10px 20px;
}
.board-key ul {
  list-style-type: none;
  margin: 0 auto;
  padding-left: 0;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  gap: 5px 20px;
  max-width: 1000px;
}
.board-key ul li {
  line-height: 16px;
  white-space: nowrap;
  display: block;
  max-width: 250px;
}
.board-key .dem .leading {
  background: #C3E0F0;
}
.board-key .dem .winner {
  background: #217BAE;
}
.board-key .gop .leading {
  background: #F8C8CA;
}
.board-key .gop .winner {
  background: #C72021;
}
.board-key .ind .leading {
  background: #FFE4AF;
}
.board-key .ind .winner {
  background: #F1A513;
}
.board-key .yes .leading {
  background: #b1ddb3;
}
.board-key .yes .winner {
  background: #469F4B;
}
.board-key .no .leading {
  background: #fce9c5;
}
.board-key .no .winner {
  background: #F1A513;
}
.board-key .early .leading {
  background: #b8b6b6;
  color: #000;
}
.board-key .early .empty {
  background: #e1e1e1;
}
.board-key .leading,
.board-key .winner,
.board-key .empty {
  padding: 1px 3px;
  border-radius: 1px;
}
.board-key .winner {
  color: white;
}
.board-key .pickup span,
.board-key .runoff span,
.board-key .rcv span {
  font-family: 'NPRSans', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
  font-weight: normal;
  letter-spacing: 0.01em;
  font-size: 8px;
  font-weight: bold;
}
.board-key .eevp span.perc {
  font-family: 'NPRSans', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
  font-weight: normal;
  letter-spacing: 0.01em;
  font-style: italic;
  font-size: 10px;
  color: #9a9a9a;
}
.board-key .eevp .link {
  font-style: italic;
}
.board-key .eevp a {
  text-decoration: none;
}
hr.divider {
  max-width: 300px;
  margin: 20px auto;
  border: 1px solid #eeeeee;
}
county-map {
  display: block;
}
county-map .container {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  position: relative;
}
county-map .container.horizontal {
  flex-direction: row;
}
@media (max-width: 500px) {
  county-map .container.horizontal {
    flex-direction: column;
  }
}
county-map .container.horizontal .key {
  order: 1;
  margin-left: 30px;
}
@media (max-width: 500px) {
  county-map .container.horizontal .key {
    order: 0;
    margin-left: 0;
    margin-bottom: 0;
  }
}
county-map .tooltip {
  position: absolute;
  border: 1px solid #eee;
  background-color: white;
  padding: 8px 8px 5px 8px;
  display: none;
  pointer-events: none;
  z-index: 1;
}
county-map .tooltip.shown {
  display: block;
}
county-map .tooltip .name {
  font-size: 11px;
  margin: 0 0 3px 0;
  font-family: 'NPRSans', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
  font-weight: normal;
  text-transform: uppercase;
  line-height: 1.2;
  letter-spacing: 0.05em;
  -webkit-font-smoothing: antialiased;
  color: #333;
}
county-map .tooltip .row {
  font-family: 'NPRSans', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
  font-weight: normal;
  letter-spacing: 0.01em;
  padding: 3px 0;
  min-width: 120px;
  font-size: 10px;
  color: #666;
  border-top: 1px solid #eee;
}
county-map .tooltip .row.reporting {
  font-family: 'NPRSans', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
  font-weight: normal;
  letter-spacing: 0.01em;
  margin: 0;
  padding-top: 3px;
  font-size: 10px;
  color: #9a9a9a;
  font-style: italic;
  text-transform: none;
}
county-map .tooltip .row .amt {
  text-align: right;
  float: right;
  padding-left: 5px;
}
county-map .tooltip .row span.party {
  height: 6px;
  width: 6px;
  margin-right: 4px;
  margin-top: 5px;
  background: #F1A513;
  float: left;
}
county-map .tooltip .row span.party.Dem {
  background: #217BAE;
}
county-map .tooltip .row span.party.GOP {
  background: #C72021;
}
county-map .tooltip .row span.party.Yes {
  background: #469F4B;
}
county-map .tooltip .row span.party.No {
  background: #F1A513;
}
county-map .tooltip .row span.party.i1 {
  background: #9999cb;
}
county-map .tooltip .row span.party.i2 {
  background: #e88c4e;
}
county-map .tooltip .row span.party.i3 {
  background: #b7ce59;
}
county-map .tooltip .row span.party.i4 {
  background: #cc6699;
}
county-map .tooltip .row:empty {
  display: none;
}
county-map .map-container {
  position: relative;
  max-width: 100%;
}
@media (min-width: 501px) {
  county-map .map-container {
    margin-bottom: 20px;
  }
}
county-map .key {
  margin-bottom: 10px;
}
county-map .map path {
  stroke: white;
  fill: #e1e1e1;
  stroke-width: 1;
}
county-map .map path.painted.leading {
  fill: #FFE4AF;
}
county-map .map path.painted.leading.allin {
  fill: #F1A513;
}
county-map .map path.painted.leading.tie {
  fill: #a0a0a0;
}
county-map .map path.painted.leading.tie.allin {
  fill: #666;
}
county-map .map path.painted.leading.GOP {
  fill: #F8D6D4;
}
county-map .map path.painted.leading.GOP.allin {
  fill: #C72021;
}
county-map .map path.painted.leading.Dem {
  fill: #D5E5F2;
}
county-map .map path.painted.leading.Dem.allin {
  fill: #217BAE;
}
county-map .map path.painted.leading.Yes {
  fill: #b1ddb3;
}
county-map .map path.painted.leading.Yes.allin {
  fill: #469F4B;
}
county-map .map path.painted.leading.No {
  fill: #fce9c5;
}
county-map .map path.painted.leading.No.allin {
  fill: #F1A513;
}
county-map .map path.painted.leading.i1 {
  fill: rgba(153, 153, 203, 0.5);
}
county-map .map path.painted.leading.i1.allin {
  fill: #9999cb;
}
county-map .map path.painted.leading.i2 {
  fill: rgba(232, 140, 78, 0.5);
}
county-map .map path.painted.leading.i2.allin {
  fill: #e88c4e;
}
county-map .map path.painted.leading.i3 {
  fill: rgba(183, 206, 89, 0.5);
}
county-map .map path.painted.leading.i3.allin {
  fill: #b7ce59;
}
county-map .map path.painted.leading.i4 {
  fill: rgba(204, 102, 153, 0.5);
}
county-map .map path.painted.leading.i4.allin {
  fill: #cc6699;
}
county-map .map path:hover {
  stroke: black;
  fill-opacity: 1;
  stroke-width: 2;
  /*transition-duration: 0s !important;*/
  paint-order: fill stroke;
}
county-map .map path.clicked {
  stroke: #787878;
  stroke-width: 2;
  paint-order: fill stroke;
  fill-opacity: 1;
}
county-map .key-row {
  display: inline-block;
  line-height: 1em;
}
county-map .key-row .name {
  font-family: 'NPRSans', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
  font-weight: normal;
  font-size: 0.9em;
  display: inline-block;
  vertical-align: top;
  margin: 1px 8px 0 1px;
  padding-left: 5px;
}
county-map .horizontal .key-row {
  display: block;
  white-space: nowrap;
  margin-bottom: 8px;
}
@media (max-width: 500px) {
  county-map .horizontal .key-row {
    display: inline-block;
  }
}
county-map .label {
  font-family: 'NPRSans', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
  font-weight: normal;
  color: #787878;
  letter-spacing: 0.025em;
  line-height: 1.2em;
}
county-map .swatch {
  display: inline-block;
  width: 1em;
  height: 1em;
  background: #F1A513;
  opacity: 1;
}
county-map .swatch.Dem {
  background: #217BAE;
}
county-map .swatch.GOP {
  background: #C72021;
}
county-map .swatch.Yes {
  background: #469F4B;
}
county-map .swatch.No {
  background: #F1A513;
}
county-map .swatch.i1 {
  background: #9999cb;
}
county-map .swatch.i2 {
  background: #e88c4e;
}
county-map .swatch.i3 {
  background: #b7ce59;
}
county-map .swatch.i4 {
  background: #cc6699;
}
.county-trend circle {
  fill-opacity: 0.3;
  stroke-opacity: 0.6;
  fill: #F1A513;
  stroke: #F1A513;
}
.county-trend circle.GOP {
  fill: rgba(199, 32, 33, 0.5);
  stroke: rgba(199, 32, 33, 0.5);
}
.county-trend circle.Dem {
  fill: rgba(33, 123, 174, 0.5);
  stroke: rgba(33, 123, 174, 0.5);
}
.county-trend circle.Yes {
  fill: rgba(70, 159, 75, 0.5);
  stroke: rgba(70, 159, 75, 0.5);
}
.county-trend circle.No {
  fill: rgba(241, 165, 19, 0.5);
  stroke: rgba(241, 165, 19, 0.5);
}
.county-trend div.description {
  font-family: 'NPRSans', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
  font-weight: normal;
  letter-spacing: 0.01em;
  letter-spacing: 0.05em;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  color: #777;
  font-size: 13px;
  line-height: 1.6;
  text-transform: uppercase;
  margin: auto;
  margin-left: 30px;
  text-align: center;
  display: block;
}
.county-trend div.description div.strength {
  color: #fff;
  font-weight: bold;
  display: inline-block;
  margin: auto;
  margin-top: 2px;
  padding: 0px 5px 1px;
  font-size: 10px;
  border-radius: 2px;
}
.county-trend div.description div.strength.almost-no {
  background-color: #efefef;
  color: #777;
}
.county-trend div.description div.strength.weak {
  background-color: #ddd;
  color: #777;
}
.county-trend div.description div.strength.moderate {
  background-color: #999;
}
.county-trend div.description div.strength.strong {
  background-color: #777;
}
.county-trend div.description div.strength.very-strong {
  background-color: #444;
}
.county-trend .graphic-wrapper {
  position: relative;
  max-height: 300px;
}
.county-trend text.axis-label {
  fill: #787878;
  font-size: 11px;
}
@media (max-width: 500px) {
  .county-trend text.axis-label {
    font-size: 12px;
  }
}
.county-trend .tooltip {
  position: absolute;
  border: 1px solid #eee;
  background-color: white;
  padding: 8px 8px 5px 8px;
  display: none;
  pointer-events: none;
  z-index: 1;
}
.county-trend .tooltip.shown {
  display: block;
}
.county-trend .tooltip .name {
  font-size: 11px;
  margin: 0 0 3px 0;
  font-family: 'NPRSans', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
  font-weight: normal;
  text-transform: uppercase;
  line-height: 1.2;
  letter-spacing: 0.05em;
  -webkit-font-smoothing: antialiased;
  color: #333;
}
.county-trend .tooltip .row {
  padding: 3px 0;
  font-family: 'NPRSans', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
  font-weight: normal;
  letter-spacing: 0.01em;
  max-width: 130px;
  font-size: 10px;
  color: #666;
  border-top: 1px solid #eee;
}
.county-trend .tooltip .row .amt {
  text-align: right;
  float: right;
}
.county-trend .tooltip .row .metric {
  padding-right: 5px;
}
.county-trend .tooltip .row:empty {
  display: none;
}
.trends {
  margin-bottom: 15px;
  display: block;
}
.trends .chart-wrapper {
  width: 33%;
  display: inline-grid;
  margin-bottom: 10px;
  margin-top: 20px;
  border: 2px solid #eeeeee;
  padding: 10px 10px 30px 10px;
}
@media (max-width: 768px) {
  .trends .chart-wrapper {
    width: 33%;
  }
}
@media (max-width: 500px) {
  .trends .chart-wrapper {
    width: 100%;
  }
}
@media (max-width: 400px) {
  .trends .chart-wrapper {
    width: 100%;
  }
}
.trends button {
  background-color: #fff;
  border: none;
  box-shadow: none;
  box-sizing: border-box;
  color: #4774cc;
  display: block;
  font-family: 'NPRSans', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
  font-size: 14px;
  font-weight: bold;
  margin-top: 0;
  padding: 10px 0;
}
.trends button:focus {
  color: #bccae5;
  outline: 1px solid #bccae5;
  cursor: pointer;
}
.trends button:hover {
  color: #bccae5;
  cursor: pointer;
}
.trends div.collapsed > :nth-child(n + 4) .chart-wrapper {
  display: none;
}
@media (max-width: 768px) {
  .trends div.collapsed > :nth-child(n + 4) .chart-wrapper {
    display: none;
  }
}
@media (max-width: 500px) {
  .trends div.collapsed > :nth-child(n + 3) .chart-wrapper {
    display: none;
  }
}
@media (max-width: 400px) {
  .trends div.collapsed > :nth-child(n + 2) .chart-wrapper {
    display: none;
  }
}
.trends .footnote {
  border-bottom: none;
  margin-top: 20px;
}
