/*
 * Party badges, one look everywhere (the Early Vote tracker's candidate badge):
 * a 19x20 tile in the party color at 80% with a solid 1px edge and white
 * lettering. Any color works: set --vh-party-color inline for a candidate's
 * own color, or use a party modifier. Loaded site-wide, rollout or not.
 */
.vh-party-badge[class] {
  --vh-party-color: #737386;
  box-sizing: border-box;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-width: 19px;
  width: auto;
  height: 20px;
  margin: 0;
  padding: 0 5px;
  border: 1px solid var(--vh-party-color);
  border-radius: 6px;
  background: color-mix(in srgb, var(--vh-party-color) 80%, transparent);
  color: #ffffff;
  font-family: "TT Norms Pro", "Avenir Next", Avenir, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 9px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
  white-space: nowrap;
  vertical-align: middle;
}
.vh-party-badge--d[class], .vh-party-badge.party-d, .vh-party-badge[data-party="D"] { --vh-party-color: #287eae; }
.vh-party-badge--r[class], .vh-party-badge.party-r, .vh-party-badge[data-party="R"] { --vh-party-color: #d63333; }
.vh-party-badge--i[class], .vh-party-badge.party-i, .vh-party-badge[data-party="I"] { --vh-party-color: #7308c7; }
.vh-party-badge--l[class], .vh-party-badge.party-l, .vh-party-badge[data-party="L"] { --vh-party-color: #d97706; }
.vh-party-badge--g[class], .vh-party-badge.party-g, .vh-party-badge[data-party="G"] { --vh-party-color: #059669; }
/* Dense tables and tooltips. */
.vh-party-badge--sm[class] {
  min-width: 15px;
  height: 16px;
  padding: 0 4px;
  border-radius: 5px;
  font-size: 8px;
}
