html:has(.election-hub), 
body:has(.election-hub) {
  scroll-behavior: smooth;
}

.election-hub {
  padding: var(--gutter);
  background-color: #fff;
  border-radius: .313rem;
}

.election-hub .premium-underwriting {
  margin: 0 auto var(--line-height-md);
}

.election-hub-logo {
  max-width: min(36rem, 80vh);
  margin: 1rem auto 0 auto;
}

.election-hub-intro {
  max-width: 65rem;
  margin: var(--gutter) auto;
  font-size: var(--font-size-lg);
  line-height: var(--line-height-lg);
  text-wrap: pretty;
}

@media screen and (min-width: 30em) {
  .election-hub-intro {
    font-size: var(--font-size-xl);
    line-height: var(--line-height-xl);
    text-align: center;
    text-wrap: balance;
  }
}

.election-hub-hdg-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}

.election-hub .hdg-hub {
  display: inline-block;
  position: relative;
  margin: 2rem 0 1rem 0.75rem;
  padding: 0.25rem 1rem 0.25rem 1.5em;
  color: #ffffff;
  background-color: var(--color-mpr-charcoal);
}
.election-hub .hdg-hub::before {
  content: "";
  object-fit: contain;
  position: absolute;
  top: -0.25em;
  left: -0.75em;
  bottom: -0.25em;
  height: 2em;
  width: 2em;
  padding: 0.125em;
  border-radius: 2em;
  color: #ffffff;
  background-color: var(--color-mpr-lightgray);
}

.btn.election-hub-btn {
  padding: 0.5rem;
  text-transform: none;
  text-align: right;
  text-wrap: balance;
}

.election-hub-nav ul {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-block: 1rem;
  gap: 0.5rem;
  align-items: center;
  justify-content: stretch;
}

.election-hub-nav li {
  width: 100%;
}

.election-hub-nav li a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  color: #ffffff;
  background-color: var(--color-mpr-button-blue);
  border-radius: 0.188rem;
  text-transform: uppercase;
  font-weight: 600;
  padding: 1rem;
  gap: 1rem;
  width: 100%;
}
.election-hub-nav li a.link-external::after {
  content: "↗";
}
.election-hub-nav li a:active, .election-hub-nav li a:focus, .election-hub-nav li a:hover {
  background-color: var(--color-mpr-button-blue-dark);
}
.election-hub-nav li a:active::before, .election-hub-nav li a:focus::before, .election-hub-nav li a:hover::before {
  -webkit-transform-origin: 50% 62.5%;
          transform-origin: 50% 62.5%;
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
}

.election-hub-nav img {
  max-height: var(--font-size-3x);
  max-width: var(--font-size-3x);
  flex-grow: 0;
}

@media screen and (min-width: 43em) {
  .election-hub-nav ul {
    flex-direction: row;
    align-items: center;
    justify-content: center;
  }

  .election-hub-nav li {
    width: 10rem;
    gap: .5rem;
  }

  .election-hub-nav li a {
    justify-content: space-between;
    color: #fff;
  }
}

@media screen and (min-width: 65em) {
  .election-hub-nav ul {
    gap: var(--line-height-md);
  }

  .election-hub-nav li {
    width: fit-content;
    min-width: 12rem;
  }

  .election-hub-nav li span {
    text-align: center;
    text-wrap: nowrap;
    padding-right: .5rem;
  }
}

.election-hub-hdg-block {
  width: 100%;
  font-size: var(--font-size-lg);
  line-height: var(--line-height-lg);
  background-color: var(--color-mpr-charcoal);
  color: var(--color-white);
  border-radius: 0.188rem;
  text-transform: uppercase;
  padding: 0.625rem var(--gutter);
  border-radius: .188rem;
}

.election-hub .teaser_image, .election-hub .teaser_header {
  margin-bottom: .5rem;
}

.election-hub-scroll-wrapper {
  position: relative;
  margin: var(--line-height-md) 0;
  padding: 1rem 1rem 5rem;
  background-color: var(--color-bg-gray);
  border-radius: .313rem;
}

.election-hub-scroll-wrapper .react-horizontal-scrolling-menu--arrow-left,
.election-hub-scroll-wrapper .react-horizontal-scrolling-menu--arrow-right {
  background-color: transparent;
}

.election-hub-scroll-wrapper .react-horizontal-scrolling-menu--scroll-container {
  gap: var(--line-height-md);
  padding-bottom: .5rem;
}
.election-hub .react-horizontal-scrolling-menu--scroll-container {
  scrollbar-color: var(--color-mpr-button-blue) transparent;
}

.election-hub-scroll-wrapper .react-horizontal-scrolling-menu--item {
  padding:  .25rem 0.5rem;
  background-color: #fff;
  border-radius: .188rem;
  width: 60vw;
  max-width: 24rem;
}

.election-hub-scroll-wrapper .teaser_body {
  text-overflow: unset;
  display: block;
}

@media screen and (min-width: 48em) {
  .election-hub-scroll-wrapper {
    padding: 2rem 0 1.5rem;
  }


}

.election-hub-videos-heading {
  padding: 2rem 0 1.5rem;
  margin-bottom: 1.5rem;
  border-bottom: 1px #000 solid;
}
.election-hub-video-container {
  position: relative;
  padding-bottom: 5rem;
}

.election-hub-video-container .react-horizontal-scrolling-menu--item {
  max-width: 20rem !important;
}

.election-hub-blocks {
  margin-block: var(--gutter);
}

.election-hub-block {
  background: var(--color-bg-gray);
  padding: 2rem 1rem;
  border-radius: .313rem;
  display: flex;
  flex-direction: column;
  gap: .5rem;
  align-items: center;
  justify-content: flex-start;
}

.election-hub-sms-embed {
  min-height: 15rem;
  width: 100%;
  margin-top: 0;
}

@media screen and (min-width: 45rem) {
  .election-hub-blocks {
    display: grid;
    width: 100%;
    gap: var(--line-height-md);
    grid-template:
      'ballot question' auto
      'sms    question' 1fr
      / 1fr 1fr;
  }
  .election-hub-ballot {
    grid-area: ballot;
  }
  .election-hub-sms {
    grid-area: sms;
  }
  .election-hub-question {
    grid-area: question;
  }
}
@media screen and (min-width: 80rem) {
  .election-hub-blocks {
    grid-template:
      'ballot sms question' auto
      / 1fr 1fr 1fr;
  }
}

.election-hub-video-scroll-wrapper {
  margin-block: 1rem;
  padding-inline: 1rem;
  background-color: var(--color-bg-gray);
  border-radius: .313rem;
}

.election-hub .video-wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: flex-end;
  padding-block: .5rem;
}

.election-hub .video-label {
  display: flex;
  align-items: center;
  flex-grow: 1;
}

@media (min-width: 48em) {
  .election-hub-video-scroll-wrapper {
    margin-bottom: 0;
    padding: 0 0 1rem;
  }
}

.election-hub-video-scroll-wrapper h3 {
  margin-bottom: 1rem;
}

.election-hub .election-hub-video-desc {
  margin-bottom: 2rem;
  max-width: 40rem;
}

/* The following styles are from the old design and should 
probably eventually be pruned/revised/replaced (though they
have already been edited in various places). */


.election-hub-video .teaser {
  display: flex;
  flex-direction: column;
}
.election-hub-video .teaser .teaser_content {
  order: 1;
}

.election-hub-guides .hdg-hub::before {
  content: url("/img/icon-vguide.svg");
  background-color: var(--color-mpr-button-blue);
}
.election-hub-guides details,
.election-hub ul.related {
  margin: 1em 0;
  padding: 0 1em;
}
.election-hub-guides details h4 {
  margin-top: 0.5em;
}
.election-hub-guides details li,
.election-hub ul.related li {
  list-style: none;
  padding-left: 0;
  margin-left: 1.5rem;
  margin-block: 0.25rem;
  position: relative;
}
.election-hub-guides details li::before,
.election-hub ul.related li::before {
  content: "";
  display: block;
  height: .75em;
  width: .75em;
  position: absolute;
  left: -1.5rem;
  top: 0.25rem;
  background: linear-gradient(135deg, transparent 50%, var(--color-mpr-yellow) 50%);
}
.election-hub-guides summary {
  display: list-item;
  margin: 0 -1em 0.5em;
  cursor: pointer;
}
.election-hub-guides summary:focus, .election-hub-guides summary:hover {
  color: var(--color-mpr-button-blue);
}
.election-hub-guides summary::marker {
  width: 1em;
  margin: 0;
}
.election-hub-guides a,
.election-hub ul.related a {
  color: #00334e;
  fill: #00334e;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.06em;
  transition: color 0.175s, fill 0.175s;
}

.election-hub-guides a:hover,
.election-hub ul.related a:hover {
  color: #3f6275;
  fill: #3f6275;
}

.election-hub ul.related a {
  font-weight: 300 !important; /* override the default font-weight from related-teaser */
  font-size: var(--font-size-sm);
}

.election-hub-guides a .icon {
  vertical-align: -0.15em;
  width: 1em;
  height: 1em;
}

.election-hub-sms form {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 1rem 0 0.5rem;
}

.election-hub-phone-input {
  padding: 0.25rem 0.5rem;
  margin-right: 1rem;
  width: 15ch;
  border: 1px solid var(--color-mpr-lightgray);
  border-radius: 0.1875rem;
}

@media (min-width: 64em) {
  .election-hub-question .section-wrapper {
    display: flex;
    justify-content: space-between;
  }
}
.election-hub-question .section-child {
  padding-top: 1em;
}
.election-hub-question .hdg-hub::before {
  content: url("/img/icon-question.svg");
  background-color: var(--color-mpr-red);
}

.election-hub-ballot .hdg-hub::before {
  content: url("/img/icon-ballot.svg");
  background-color: var(--color-mpr-red);
}
.election-hub-ballot p a .icon {
  vertical-align: -0.15em;
  width: 1em;
  height: 1em;
}

.election-hub-sms .hdg-hub::before {
  content: url("/img/icon-sms.svg");
  background-color: var(--color-mpr-button-blue);
  padding: 0.375em;
}

.election-hub-grid {
  margin: 1em 0;
  display: grid;
  grid-gap: 3rem;
  gap: 3rem;
  grid-template-columns: repeat(auto-fill, minmax(min(18.75rem, 100%), 1fr));
}
.election-hub-grid .teaser:active .teaser_header, .election-hub-grid .teaser:focus .teaser_header, .election-hub-grid .teaser:hover .teaser_header {
  color: #00334e;
  fill: #00334e;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.06em;
  transition: color 0.175s, fill 0.175s;
}
.election-hub-grid .teaser:active .teaser_header:hover, .election-hub-grid .teaser:focus .teaser_header:hover, .election-hub-grid .teaser:hover .teaser_header:hover {
  color: #3f6275;
  fill: #3f6275;
}
.election-hub-grid .teaser:active .teaser_header .icon, .election-hub-grid .teaser:focus .teaser_header .icon, .election-hub-grid .teaser:hover .teaser_header .icon {
  vertical-align: -0.15em;
  width: 1em;
  height: 1em;
}

.election-hub-stories {
  margin: 1em 0;
}
.election-hub-stories .hdg-hub::before {
  content: url("/img/icon-stories.svg");
  background-color: var(--color-mpr-red);
}
.election-hub-stories .teaser {
  margin: 1em 0;
}
.election-hub-stories .teaser:active .teaser_header, .election-hub-stories .teaser:focus .teaser_header, .election-hub-stories .teaser:hover .teaser_header {
  color: #00334e;
  fill: #00334e;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.06em;
  transition: color 0.175s, fill 0.175s;
}
.election-hub-stories .teaser:active .teaser_header:hover, .election-hub-stories .teaser:focus .teaser_header:hover, .election-hub-stories .teaser:hover .teaser_header:hover {
  color: #3f6275;
  fill: #3f6275;
}
.election-hub-stories .teaser:active .teaser_header .icon, .election-hub-stories .teaser:focus .teaser_header .icon, .election-hub-stories .teaser:hover .teaser_header .icon {
  vertical-align: -0.15em;
  width: 1em;
  height: 1em;
}

.election-hub-stories .next-page {
  grid-column-end: -1;
}
.election-hub-stories .next-page a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 1rem auto;
}
.election-hub-stories .next-page a::after {
  content: " →";
}

.blocks {
  margin-left: -5%;
}
.blocks > * {
  width: 95%;
  margin-left: 5%;
  margin-bottom: 0.9375rem;
  display: inline-block;
  vertical-align: top;
}

.blocks-compact {
  margin-bottom: -0.625rem;
}
.blocks-compact > * {
  margin-bottom: 0.625rem;
}

.blocks-1 > * {
  width: 95%;
}

.blocks-2 > * {
  width: 45%;
}

.blocks-3 > * {
  width: 28.3333333333%;
}

.blocks-4 > * {
  width: 20%;
}

@media (min-width: 28em) {
  .blocks-small-1 > * {
    width: 95%;
  }
  .blocks-small-2 > * {
    width: 45%;
  }
  .blocks-small-3 > * {
    width: 28.3333333333%;
  }
  .blocks-small-4 > * {
    width: 20%;
  }
}
@media (min-width: 40em) {
  .blocks-tablet-1 > * {
    width: 95%;
  }
  .blocks-tablet-2 > * {
    width: 45%;
  }
  .blocks-tablet-3 > * {
    width: 28.3333333333%;
  }
  .blocks-tablet-4 > * {
    width: 20%;
  }
}
@media (min-width: 52.5625em) {
  .blocks-desktop-1 > * {
    width: 95%;
  }
  .blocks-desktop-2 > * {
    width: 45%;
  }
  .blocks-desktop-3 > * {
    width: 28.3333333333%;
  }
  .blocks-desktop-4 > * {
    width: 20%;
  }
}
.candidate {
  display: none;
  position: relative;
  width: 50%;
  float: right;
}
.candidate::before, .candidate::after {
  content: " ";
  display: table;
}
.candidate::after {
  clear: both;
}
.candidate:first-child {
  display: block;
  float: left;
}
.candidate:nth-child(2) {
  display: block;
}
.candidate:nth-child(2) .candidate_pct_win::before {
  position: absolute;
  top: 2px;
  left: -1rem;
  text-transform: uppercase;
  color: var(--color-mpr-green-med);
}
.candidate:nth-child(2) .candidate_pct_win.ap::before {
  content: "AP";
}
.candidate:nth-child(2) .candidate_pct_win.mn_oss::before {
  left: -1.875rem;
  content: "Final";
}
.candidate:not(:first-child):not(:nth-child(2)).active {
  display: block;
  width: auto;
  padding: 0 0.625rem;
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  background: white;
}

.candidate_tag {
  margin-left: 0.375rem;
  float: right;
  font-size: var(--font-size-sm);
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
  color: #ffffff;
  background-color: #999999;
  border-radius: .188rem;
}
.candidate_tag.dem {
  background-color: #3584c2;
}
.candidate_tag.gop {
  background-color: #cc0000;
}
.candidate_tag.ind {
  background-color: #a048b0;
}
.candidate_tag.grn {
  background-color: #62a92f;
}
.candidate_tag.lib {
  background-color: #e9aa00;
}
.candidate_tag.lmn {
  background-color: #707634;
}
.candidate_tag.grp {
  background-color: #707634;
}
.candidate_tag.cst {
  background-color: #978054;
}
.candidate_tag.adp {
  background-color: #12515d;
}
.candidate_tag.swp {
  background-color: #6b0000;
}
.candidate_tag.yes {
  background-color: #62a92f;
}
.candidate_tag.no {
  background-color: #ca4224;
}
.candidate_tag.oth {
  background-color: #887777;
}
.candidate_tag.wi {
  background-color: #999999;
}

.candidate_tag_party {
  display: block;
  padding: 0.1875rem 0.375rem;
  text-align: center;
}

.candidate_tag_img {
  height: 2.5rem;
  width: 2.5rem;
  background: rgba(255, 255, 255, 0.85);
}
.candidate_tag_img + .candidate_tag_party {
  padding: 1px;
}

.candidate_stats {
  text-align: right;
  overflow: hidden;
}

.candidate:first-child .candidate_votes_inline {
  float: left;
  margin-right: 0.375rem;
  margin-left: 0;
}
.candidate:first-child .candidate_tag {
  float: left;
  margin-left: 0;
  margin-right: 0.375rem;
}
.candidate:first-child .candidate_stats {
  text-align: left;
}
.candidate:first-child .candidate_stats .candidate_pct_win {
  margin-right: 1.25rem;
}

.candidate-compact .candidate_stats > * {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
}
.candidate-compact .candidate_stats > img {
  float: right;
  margin: 0 0 0 .375rem;
}
.candidate-compact:first-child .candidate_stats > img {
  float: left;
  margin: 0 .375rem 0 0;
}

.candidate_pct {
  display: inline-block;
  padding: 0;
}

.candidate_pct_win {
  padding: .063rem .125rem;
  background-color: var(--color-mpr-green-med);
  font-size: var(--font-size-sm);
  font-weight: 600;
  line-height: 1;
  border-radius: .188rem;
  color: #ffffff;
  position: relative;
}
.candidate_pct_win::after {
  position: absolute;
  right: -1.25rem;
  text-transform: uppercase;
  color: var(--color-mpr-green-dark);
  background-color: transparent;
}
.candidate_pct_win.ap::after {
  content: "AP";
}
.candidate_pct_win.mn_oss::after {
  content: "Final";
  right: -1.875rem;
}
.candidate_pct_win svg {
  display: inline-block;
  height: 0.6875rem;
  width: 0.90625rem;
  vertical-align: -1px;
  fill: #ffffff;
}

.candidate_votes_em {
  font-weight: bold;
}

.candidate_votes_inline {
  float: right;
  margin-left: 0.375rem;
}

.candidate-compact:first-child .candidate_votes_inline,
.candidate-compact:not(:first-child) .candidate_votes_inline {
  margin: 2px 0.375rem 0;
}

.candidate_win {
  margin: -.25rem 0 0 3rem;
  text-wrap: nowrap;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-size: var(--font-size-sm);
  font-weight: 600;
  line-height: 1;
  color: var(--color-mpr-green-dark);
}
.candidate_win svg {
  height: 0.875rem;
  width: 0.875rem;
  fill: var(--color-mpr-green-dark);
  vertical-align: -2px;
}
@media screen and (min-width: 35rem) {
  .candidate_win {
    position: absolute;
    top: 0;
    bottom: 0;
    left: -1rem;
    margin: 0;
  }
  .candidate-compact:first-child .candidate_win {
    left: auto;
    right: -1rem;
    justify-content: flex-end;
  }
}
@media screen and (min-width: 70rem) {
  .candidate_win {
    left: 1rem;
  }
  .candidate-compact:first-child .candidate_win {
    left: auto;
    right: 1rem;
  }
}

.graph {
  display: block;
  width: 100%;
  height: 1.25rem;
  margin-bottom: 0.3125rem;
  position: relative;
  font-size: 0;
  white-space: nowrap;
  background: #eeeeee;
}

.graph-bop {
  display: block;
  height: 1.25rem;
}
.graph-bop .graph_segment {
  display: block;
  float: right;
  border-left: 0;
}
.graph-bop .graph_segment:first-child {
  float: left;
}

.graph-ev {
  height: 1.75rem;
  margin-bottom: 0.375rem;
}
@media (max-width: 22.499em) {
  .graph-ev {
    margin-top: 1.25rem;
  }
}

.graph_segment {
  display: inline-block;
  position: relative;
  height: 100%;
  box-shadow: 0 0 0 1px #ffffff;
  background-color: transparent;
}
.graph_segment::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #999999;
  transition: opacity 0.25s;
}
.graph_segment::after {
  border-top-color: #999999;
}
.graph_segment:first-child::after, .graph_segment:nth-child(2)::after, .graph_segment.active::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -0.25rem;
  border-top: 0.3125rem solid #999999;
  border-left: 0.375rem solid transparent;
  border-right: 0.375rem solid transparent;
  border-bottom: 0;
}
.race-full .graph_segment::before {
  opacity: 0.5;
}
.race-full.has-winner .graph_segment::before {
  opacity: 1;
}
.has-winner .graph_segment:not(:first-child)::before {
  opacity: 0;
}
.graph_segment.is-hover:not(.is-selected)::before {
  opacity: 0;
}
.graph_segment.is-hover.is-selected::before {
  opacity: 1;
}
.graph_segment.left {
  float: left;
}
.graph_segment.right {
  float: right;
}
.graph_segment.leading::before {
  opacity: 0.3;
}
.graph_segment[style="width: 0%;"]::after {
  content: normal;
}
.graph_segment.noPointer::after {
  content: normal;
}
.graph_segment.active::after {
  right: 0;
}
.graph_segment:first-child::after {
  left: 0.5rem;
  right: auto;
}
.graph_segment:nth-child(2)::after, .graph_segment.right::after {
  right: 0.5rem;
}
.graph_segment.dem::before {
  background-color: #3584c2;
}
.graph_segment.dem::after {
  border-top-color: #3584c2;
}
.graph_segment.gop::before {
  background-color: #cc0000;
}
.graph_segment.gop::after {
  border-top-color: #cc0000;
}
.graph_segment.ind::before {
  background-color: #a048b0;
}
.graph_segment.ind::after {
  border-top-color: #a048b0;
}
.graph_segment.grn::before {
  background-color: #62a92f;
}
.graph_segment.grn::after {
  border-top-color: #62a92f;
}
.graph_segment.lib::before {
  background-color: #e9aa00;
}
.graph_segment.lib::after {
  border-top-color: #e9aa00;
}
.graph_segment.lmn::before {
  background-color: #707634;
}
.graph_segment.lmn::after {
  border-top-color: #707634;
}
.graph_segment.grp::before {
  background-color: #707634;
}
.graph_segment.grp::after {
  border-top-color: #707634;
}
.graph_segment.adp::before {
  background-color: #12515d;
}
.graph_segment.adp::after {
  border-top-color: #12515d;
}
.graph_segment.cst::before {
  background-color: #978054;
}
.graph_segment.cst::after {
  border-top-color: #978054;
}
.graph_segment.swp::before {
  background-color: #6b0000;
}
.graph_segment.swp::after {
  border-top-color: #6b0000;
}
.graph_segment.yes::before {
  background-color: #62a92f;
}
.graph_segment.yes::after {
  border-top-color: #62a92f;
}
.graph_segment.no::before {
  background-color: #ca4224;
}
.graph_segment.no::after {
  border-top-color: #ca4224;
}
.graph_segment.oth::before {
  background-color: #887777;
}
.graph_segment.oth::after {
  border-top-color: #887777;
}
.graph_segment.wi::before {
  background-color: #999999;
}
.graph_segment.wi::after {
  border-top-color: #999999;
}

.main-home .container:has(> .race) {
  margin-block: var(--gutter);
}

.race {
  margin-block: 2rem;
  font-size: var(--font-size-sm);
  line-height: var(--line-height-md);
}

.race-ev {
  margin-bottom: 1.25rem;
}

.race_header {
  margin: 0.5rem 0;
}

.race_graph {
  position: relative;
}

.race_graph-bop::before {
  content: "";
  display: block;
  height: 110%;
  position: absolute;
  top: -5%;
  left: 50%;
  margin-left: -0.09375rem;
  border-radius: 6.25rem;
  z-index: 510;
  border: 1px solid #004d71;
  background: #ffffff;
  width: 0.1875rem;
}
.race_graph-bop::after {
  content: normal;
}

.race_graph_legend {
  position: absolute;
  right: 0;
  top: -1.375rem;
}

.race_body-pad {
  margin-bottom: 0.625rem;
}

.race_graph_overlay,
.race_graph_val {
  text-transform: uppercase;
}

.race_graph_overlay {
  color: #004d71;
  margin-bottom: 1.25rem;
}

.race_graph_val {
  position: absolute;
  color: #ffffff;
  bottom: 0;
  z-index: 510;
}

.race_graph_val-left {
  left: 2px;
}

.race_graph_val-right {
  right: 2px;
}

.race_candidates {
  position: relative;
}
.race_candidates::before, .race_candidates::after {
  content: " ";
  display: table;
}
.race_candidates::after {
  clear: both;
}

.race_homepage .btn {
  margin: 0.9375rem 0 0 5%;
  width: auto;
}
.race_homepage::after {
  content: "";
  display: block;
  height: 1px;
  width: 80%;
  margin: 3rem auto;
  background: #dae9f1;
}

.results {
  display: flex;
}
.results.results-compact {
  gap: max(0.9375rem, 5%);
}

.results_item:first-child {
  padding-right: 0.9375rem;
}
.results-compact .results_item:first-child {
  padding-right: 0;
  background: linear-gradient(to bottom, #eee, #fff);
}
.race.has-winner .results-compact .results_item:first-child {
  background: linear-gradient(to top, var(--color-mpr-green-light), transparent);
  border-radius: .188rem;
}

.results_item {
  display: flex;
  justify-content: space-between;
  width: calc(100% + 0.625rem);
  padding: 0.3125rem;
  margin-left: -0.3125rem;
  margin-right: -0.3125rem;
  transition: background-color 0.25s;
}
.results_item.is-selected {
  background: #eeeeee;
}
.results-compact .results_item {
  width: 100%;
  padding: 0;
  margin: 0;
}
.results-compact .results_item.is-selected {
  background: transparent;
}

.results-compact > .results_item {
  margin-bottom: 0;
}

.results_item_tag {
  display: table-cell;
  width: 2.6875rem;
  vertical-align: top;
  border-radius: .188rem;
  overflow: hidden;
}

.results_tag {
  display: block;
  line-height: 1;
  text-transform: uppercase;
  color: #ffffff;
  background-color: #999999;
  transition: -webkit-transform 0.4s;
  transition: transform 0.4s;
  transition: transform 0.4s, -webkit-transform 0.4s;
}
.is-selected .results_tag {
  -webkit-transform: translateX(0.3125rem);
          transform: translateX(0.3125rem);
}
.results-compact .is-selected .results_tag {
  -webkit-transform: none;
          transform: none;
}
.results_tag.dem {
  background-color: #3584c2;
}
.results_tag.gop {
  background-color: #cc0000;
}
.results_tag.ind {
  background-color: #a048b0;
}
.results_tag.grn {
  background-color: #62a92f;
}
.results_tag.lib {
  background-color: #e9aa00;
}
.results_tag.lmn {
  background-color: #707634;
}
.results_tag.grp {
  background-color: #707634;
}
.results_tag.cst {
  background-color: #978054;
}
.results_tag.adp {
  background-color: #12515d;
}
.results_tag.swp {
  background-color: #6b0000;
}
.results_tag.yes {
  background-color: #62a92f;
}
.results_tag.no {
  background-color: #ca4224;
}
.results_tag.oth {
  background-color: #887777;
}
.results_tag.wi {
  background-color: #999999;
}

.results_tag_party {
  display: block;
  padding: 0.1875rem 0.375rem;
  text-align: center;
}

.results_tag_img {
  display: block;
  height: 2.5rem;
  width: 2.5rem;
  background: rgba(255, 255, 255, 0.85);
  margin-left: 0.1875rem;
  transition: background-color 0.4s;
}
.is-selected .results_tag_img {
  background-color: rgba(255, 255, 255, 0.6);
}
.results_tag_img + .results_tag_party {
  display: none;
  padding: 1px;
}

.results_stats_left {
  display: table-cell;
  padding-left: 0.375rem;
  vertical-align: top;
  transition: -webkit-transform 0.4s;
  transition: transform 0.4s;
  transition: transform 0.4s, -webkit-transform 0.4s;
}
.is-selected .results_stats_left {
  -webkit-transform: translateX(0.3125rem);
          transform: translateX(0.3125rem);
}
.results-compact .is-selected .results_stats_left {
  -webkit-transform: none;
          transform: none;
}

.results_stats_right {
  display: table-cell;
  text-align: right;
  vertical-align: top;
}

.results_pct {
  display: inline-block;
  padding: 0;
  line-height: 1;
}

.results_pct_win {
  min-width: 3.125rem;
  margin-left: 1.25rem;
  padding: .063rem .125rem;
  background-color: var(--color-mpr-green-med);
  font-size: var(--font-size-sm);
  font-weight: 600;
  line-height: 1;
  border-radius: .188rem;
  color: #ffffff;
  position: relative;
}
.results_pct_win::after {
  position: absolute;
  left: -1.25rem;
  text-transform: uppercase;
  color: var(--color-mpr-green-dark);
  background-color: transparent;
}
.results_pct_win.ap::after {
  content: "AP";
}
.results_pct_win.mn_oss::after {
  content: "Final";
  left: -1.875rem;
}
.results_pct_win svg {
  display: inline-block;
  height: 0.6875rem;
  width: 0.90625rem;
  vertical-align: -1px;
  fill: #ffffff;
}

.split {
  display: flex;
  width: 100%;
  justify-content: space-between;
}
.split > * {
  vertical-align: middle;
}

.split_right {
  text-align: right;
}

@media (min-width: 75em) {
  .electionResults {
    display: grid;
    grid-gap: 2rem;
    gap: 2rem;
    grid-template-columns: 1fr 1fr;
  }
  .election-hub-scroll-wrapper {
    padding-bottom: 2rem;
  }
}

.electionResultsTable {
  width: 100%;
  margin: 1.5rem 0 0;
  padding: 0;
}

.electionResultsTable tr:nth-of-type(2n) {
  background-color: #dae9f1;
}

.electionResultsTable tr.winner td {
  color: #38551B;
  background-color: #DDF0CC;
}

.electionResultsTable tr.winner ~ tr td {
  color: hsl(195, 3%, 50%);
}

.electionResultsTable th {
  color: #00334e;
  text-align: left;
  padding-bottom: 0.5rem;
}

.electionResultsTable td {
  padding: 0.25rem 0.5rem;
  line-height: 1;
  vertical-align: middle;
}

.electionParty,
.electionReporting,
.electionLabel,
.electionNumbers,
.electionIncumbent {
  color: var(--color-mpr-charcoal);
  line-height: 1.5rem;
}

.electionIncumbent {
  color: #4298b5;
}

.electionTotal,
.electionNumbers {
  text-align: right;
}

.electionInline {
  display: inline-block;
  vertical-align: baseline;
}
