/* Headers via https://patorjk.com/software/taag/#p=display&f=Doh */

/* Variables */

:root {
    --zero-spacer: 0rem;
    --one-point-five-spacer: 0.95rem;
	  --one-spacer: 10px;
    --two-spacer: 1.25rem;
    --three-spacer: 1.875rem;
    --four-spacer: 2.5rem;
    --five-spacer: 3.125rem;
	--six-spacer: 3.75rem;
    --standard-horiz-spacer: var(var(--two-spacer));
    --standard-vert-spacer: var(var(--two-spacer));
    --global--font-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", Ubuntu, Cantarell, "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	  --global--font-secondary: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", Ubuntu, Cantarell, "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --global--font-bold: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", Ubuntu, Cantarell, "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --global--font-mono: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace;
    --color-white: #ffffff;
    --color-black: #FF0000;
    --color-transparent-gray: rgba(39,39,38,0.6);
    --color-gray: #272726;
    --color-lightergray: #F0F0F0;
    --color-lightgray: #D4D4D4;
    --color-lightestgray: #EFEFEF;
	--color-browngray: #A79C9C;
    --color-blue: #0042B8;
    --color-lightblue: #CBD8F1;
    --color-lightestblue: #CBD8F1;
	--color-off-black: #1A1A1A;
	--color-dark-gray: #6F6F6F;
	--color-medium-gray: #B8B8B8;
	--color-green: #2AC43C;
    --wp--preset--color--blue: var(--color-blue);
    --max-width: 1560px;
}

/* Colors */

.has-white-background-color {
  background-color: var(--wp--preset--color--white) !important;;
}

.has-white-color {
  color: var(--wp--preset--color--white) !important;;
}

.has-black-background-color {
  background-color: var(--wp--preset--color--black) !important;;
}

.has-black-color {
  color: var(--wp--preset--color--black) !important;;
}


/* Overflows */

.overflow-hidden {
    overflow: hidden;
}

/* Visibility */
.visibility-hidden {
	visibility: hidden;
}

.visibility-visible {
	visibility: visible;
}

/* Position/Positions/Positioning */

.top-0 {
  top: 0;
}

.right-0 {
  right: 0;
}

.bottom-0 {
  bottom: 0;
}

.left-0 {
  left: 0;
}

.p-relative {
  position: relative;
}

.p-absolute {
  position: absolute;
}

.p-sticky {
  position: sticky;
}

@media screen and (min-width: 992px) {

  .p-lg-relative {
    position: relative;
  }

  .p-lg-absolute {
    position: absolute;
  }

  .p-lg-sticky {
    position: sticky;
  }

  .sticky-col {
    position: sticky;
    bottom: 0;
    align-self: end;
  }

}

/* Ratio Wrappers
Use these for content that needs to always display at a specific ratio;
inner element then gets the classes 'p-absolute w-100 h-100 top-0 left-0' */
                                                                                                                                                                             

.wrapper-1x1 {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
}

.wrapper-4x3 {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 75%;
}

.wrapper-16x9 {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
}

.wrapper-2x1 {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 50%;
}

/* ============================================================================
   SPLIT LAYOUTS
   Full-bleed containers with percentage-based left/right columns.
   Columns stack vertically below 992px.
   ============================================================================ */

/* Left 10%, Right 90% */
.split-10-90 {
  display: flex;
  flex-direction: row;
}

.split-10-90 > .left-col {
  width: 10%;
}

.split-10-90 > .left-col.limited {
  max-width: calc(10vw - (-(var(--max-width)) + 100vw ) / 2);
  margin-left: auto;
}

.split-10-90 > .right-col {
  width: 90%;
}

.split-10-90 > .right-col.limited {
  max-width: calc(90vw - (-1600px + 100vw ) / 2);
  margin-right: auto;
}

/* Left 20%, Right 90% */
.split-20-80 {
  display: flex;
  flex-direction: row;
}

.split-20-80 > .left-col {
  width: 20%;
}

.split-20-80 > .left-col.limited {
  max-width: calc(20vw - (-1600px + 100vw ) / 2);
  margin-left: auto;
}

.split-20-80 > .right-col {
  width: 80%;
}

.split-20-80 > .right-col.limited {
  max-width: calc(80vw - (-1600px + 100vw ) / 2);
  margin-right: auto;
}

/* Left 30%, Right 70% */
.split-30-70 {
  display: flex;
  flex-direction: row;
}

.split-30-70 > .left-col {
  width: 30%;
}

.split-30-70 > .left-col.limited {
  max-width: calc(30vw - (-1600px + 100vw ) / 2);
  margin-right: auto;
}

.split-30-70 > .right-col {
  width: 70%;
}

.split-30-70 > .right-col.limited {
  max-width: calc(70vw - (-1600px + 100vw ) / 2);
  margin-right: auto;
}

/* Left 40%, Right 60% */
.split-40-60 {
  display: flex;
  flex-direction: row;
}

.split-40-60 > .left-col {
  width: 40%;
}

.split-40-60 > .left-col.limited {
  max-width: calc(40vw - (-1600px + 100vw ) / 2);
  margin-left: auto;
}

.split-40-60 > .right-col {
  width: 60%;
}

.split-40-60 > .right-col.limited {
  max-width: calc(60vw - (-1600px + 100vw ) / 2);
  margin-right: auto;
}

/* Left 50%, Right 50% */
.split-50-50 {
  display: flex;
  flex-direction: row;
}

.split-50-50 > .left-col {
  width: 50%;
}

.split-50-50 > .left-col.limited {
  max-width: calc(50vw - (-1600px + 100vw ) / 2);
  margin-left: auto;
}

.split-50-50 > .right-col {
  width: 50%;
}

.split-50-50 > .right-col.limited {
  max-width: calc(50vw - (-1600px + 100vw ) / 2);
  margin-right: auto;
}

/* Left 60%, Right 40% */
.split-60-40 {
  display: flex;
  flex-direction: row;
}

.split-60-40 > .left-col {
  width: 60%;
}

.split-60-40 > .left-col.limited {
  max-width: calc(60vw - (-1600px + 100vw ) / 2);
  margin-left: auto;
}

.split-60-40 > .right-col {
  width: 40%;
}

.split-60-40 > .right-col.limited {
  max-width: calc(40vw - (-1600px + 100vw ) / 2);
  margin-right: auto;
}

/* Left 70%, Right 30% */
.split-70-30 {
  display: flex;
  flex-direction: row;
}

.split-70-30 > .left-col {
  width: 70%;
}

.split-70-30 > .left-col.limited {
  max-width: calc(70vw - (-1600px + 100vw ) / 2);
  margin-left: auto;
}

.split-70-30 > .right-col {
  width: 30%;
}

.split-70-30 > .right-col.limited {
  max-width: calc(30vw - (-1600px + 100vw ) / 2);
  margin-right: auto;
}

/* Left 80%, Right 20% */
.split-80-20 {
  display: flex;
  flex-direction: row;
}

.split-80-20 > .left-col {
  width: 80%;
}

.split-80-20 > .left-col.limited {
  max-width: calc(80vw - (-1600px + 100vw ) / 2);
  margin-left: auto;
}

.split-80-20 > .right-col {
  width: 20%;
}

.split-80-20 > .right-col.limited {
  max-width: calc(20vw - (-1600px + 100vw ) / 2);
  margin-right: auto;
}

/* Left 90%, Right 10% */
.split-90-10 {
  display: flex;
  flex-direction: row;
}

.split-90-10 > .left-col {
  width: 90%;
}

.split-90-10 > .left-col.limited {
  max-width: calc(90vw - (-1600px + 100vw ) / 2);
  margin-left: auto;
}

.split-90-10 > .right-col {
  width: 10%;
}

.split-90-10 > .right-col.limited {
  max-width: calc(10vw - (-1600px + 100vw ) / 2);
  margin-right: auto;
}

@media screen and (max-width: 991px) {
  .split-10-90,
  .split-20-80,
  .split-30-70,
  .split-40-60,
  .split-50-50,
  .split-60-40,
  .split-70-30,
  .split-80-20,
  .split-90-10 {
    flex-direction: column;
  }

  .split-10-90 > *,
  .split-20-80 > *,
  .split-30-70 > *,
  .split-40-60 > *,
  .split-50-50 > *,
  .split-60-40 > *,
  .split-70-30 > *,
  .split-80-20 > *,
  .split-90-10 > * {
    width: 100% !important;
    margin-left: auto;
    margin-right: auto;
  }

  .split-10-90 > div:not(.limited),
  .split-20-80 > div:not(.limited),
  .split-30-70 > div:not(.limited),
  .split-40-60 > div:not(.limited),
  .split-50-50 > div:not(.limited),
  .split-60-40 > div:not(.limited),
  .split-70-30 > div:not(.limited),
  .split-80-20 > div:not(.limited),
  .split-90-10 > div:not(.limited) {
    padding-bottom: 100%;
  }

}

/* ============================================================================
   CHILDREN MARGIN UTILITIES
   Apply margin to all direct children via parent class.
   e.g. .mx-2-children > * { margin-left: --two-spacer; margin-right: --two-spacer; }
   ============================================================================ */

.mx-1-children > * {
  margin-left: var(--one-spacer);
  margin-right: var(--one-spacer);
}

.my-1-children > * {
  margin-top: var(--one-spacer);
  margin-bottom: var(--one-spacer);
}

.ml-1-children > * {
  margin-left: var(--one-spacer);
}

.mt-1-children > * {
  margin-top: var(--one-spacer);
}

.mr-1-children > * {
  margin-right: var(--one-spacer);
}

.mb-1-children > * {
  margin-bottom: var(--one-spacer);
}

.mx-2-children > * {
  margin-left: var(--two-spacer);
  margin-right: var(--two-spacer);
}

.my-2-children > * {
  margin-top: var(--two-spacer);
  margin-bottom: var(--two-spacer);
}

.ml-2-children > * {
  margin-left: var(--two-spacer);
}

.mt-2-children > * {
  margin-top: var(--two-spacer);
}

.mr-2-children > * {
  margin-right: var(--two-spacer);
}

.mb-2-children > * {
  margin-bottom: var(--two-spacer);
}

.mx-3-children > * {
  margin-left: var(--three-spacer);
  margin-right: var(--three-spacer);
}

.my-3-children > * {
  margin-top: var(--three-spacer);
  margin-bottom: var(--three-spacer);
}

.ml-3-children > * {
  margin-left: var(--three-spacer);
}

.mt-3-children > * {
  margin-top: var(--three-spacer);
}

.mr-3-children > * {
  margin-right: var(--three-spacer);
}

.mb-3-children > * {
  margin-bottom: var(--three-spacer);
}

.mx-4-children > * {
  margin-left: var(--four-spacer);
  margin-right: var(--four-spacer);
}

.my-4-children > * {
  margin-top: var(--four-spacer);
  margin-bottom: var(--four-spacer);
}

.ml-4-children > * {
  margin-left: var(--four-spacer);
}

.mt-4-children > * {
  margin-top: var(--four-spacer);
}

.mr-4-children > * {
  margin-right: var(--four-spacer);
}

.mb-4-children > * {
  margin-bottom: var(--four-spacer);
}

.mx-5-children > * {
  margin-left: var(--five-spacer);
  margin-right: var(--five-spacer);
}

.my-5-children > * {
  margin-top: var(--five-spacer);
  margin-bottom: var(--five-spacer);
}

.ml-5-children > * {
  margin-left: var(--five-spacer);
}

.mt-5-children > * {
  margin-top: var(--five-spacer);
}

.mr-5-children > * {
  margin-right: var(--five-spacer);
}

.mb-5-children > * {
  margin-bottom: var(--five-spacer);
}

/* ============================================================================
   BORDER UTILITIES
   ============================================================================ */

.border-left-none {
  border-left: none;
}

.border-top-none {
  border-top: none;
}

.border-right-none {
  border-right: none;
}

.border-left-1 {
  border-left: 1px solid;
}

.border-top-1 {
  border-top: 1px solid;
}

.border-right-1 {
  border-right: 1px solid;
}

.border-bottom-1 {
  border-bottom: 1px solid;
}

.border-top-2 {
  border-top: 2px solid;
}

.border-bottom-2 {
  border-bottom: 2px solid;
}

.border-bottom-1-dashed {
  border-bottom: 1px dashed var(--wp--preset--color--light-gray);
}

.border-darkgray {
	border-color: var(--color-darkgray);
}
.border-mediumgray { 
	border-color: var(--color-medium-gray);
}
.border-lightgray {
	border-color: var(--color-lightgray);
}
.border-lightergray {
	border-color: var(--color-lightergray);
}
.border-browngray {
	border-color: var(--color-browngray);
}

@media screen and (min-width: 992px) {
  .border-left-lg-none {
    border-left: none;
  }
  
  .border-top-lg-none {
    border-top: none;
  }
  
  .border-right-lg-none {
    border-right: none;
  }
  
  .border-left-lg-1 {
    border-left: 1px solid;
  }
  
  .border-top-lg-1 {
    border-top: 1px solid;
  }
  
  .border-right-lg-1 {
    border-right: 1px solid;
  }
  
  .border-bottom-lg-1 {
    border-bottom: 1px solid;
  }
}

/*
PPPPPPPP                         tt                    BBBBBBBB                         dd
PP     PP                        tt                    BB     BB                        dd
PP     PP                        tt                    BB     BB                        dd
PPPPPPPP    aaaa   rr rr   ttttttt yy   yy            BBBBBBBBaaa    ddd    gggg   eee  dd      sss
PP         aa  aa  rrr  r    tt     yy yy             BB     BB  aa  dd dd gg  gg ee  e dd ddsss
PP         aa  aa  rr       tt      yyy               BB     BB  aa  dd dd gg     eeeee dd dd  ss
PP          aaa aa rr        tttt    yy               BBBBBBB  aaa aa ddd d  gggg  eee  ddd dsss
                                    yy                                   gg
                                yyyy                               ggggg
*/

/* Party badges - reusable across blocks */
.party-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 5px;
    color: var(--wp--preset--color--white);
    font-weight: 500;
    font-size: var(--wp--preset--font-size--small);
}

.party-badge.party-d {
    background-color: var(--wp--preset--color--democrat-blue);
}

.party-badge.party-r {
    background-color: var(--wp--preset--color--republican-red);
}

.party-badge.party-i,
.party-badge.party-other {
    background-color: #8a7500;
}

/*
  SSSSS   tt                 tt                     BBBBBBBB                         dd
SS   SS  tt                 tt                     BB     BB                        dd
SS       tt                 tt                     BB     BB                        dd
 SSSSS ttttttt  aaaa   ttttttt uu   uu  sss        BBBBBBBBaaa    ddd    gggg   eee  dd      sss
     SS  tt    aa  aa    tt    uu   uusss           BB     BB  aa  dd dd gg  gg ee  e dd ddsss
SS   SS  tt    aa  aa    tt    uu   uu  ss         BB     BB  aa  dd dd gg     eeeee dd dd  ss
 SSSSS    tttt  aaa aa    tttt  uuuu usss           BBBBBBB  aaa aa ddd d  gggg  eee  ddd dsss
                                                                       gg
                                                                  ggggg
*/

.status-badge {
    display: inline-block;
    font-size: var(--wp--preset--font-size--small);
    font-weight: 500;
    text-transform: uppercase;
}

.status-badge.status-open {
    display: block;
    width: fit-content;
    color: var(--wp--preset--color--green);
    font-family: var(--global--font-mono);
    font-size: var(--wp--preset--font-size--small);
    font-weight: 600;
    background-color: transparent;
    position: relative;
    padding-left: 1rem;
}

.status-badge.status-open::before {
    display: inline-block;
    content: " ";
    margin-right: 5px;
    background-color: var(--wp--preset--color--green);
    width: 8px;
    height: 8px;
    position: absolute;
    top: 5px;
    left: 2px;
    border-radius: 50%;
}

.status-badge.status-special {
    background-color: transparent;
    font-family: var(--global--font-mono);
    font-size: var(--wp--preset--font-size--small);
    font-weight: 600;
    color: var(--wp--preset--color--black);
}

/*
RRRRRRR                      tt     ii                         BBBBBBBB                         dd
RR    RR                     tt                                BB     BB                        dd
RR    RR                     tt                                BB     BB                        dd
RRRRRRR    aaaa   ttttttt  iiii nn nnn    gggg                 BBBBBBBBaaa    ddd    gggg   eee  dd      sss
RR  RR    aa  aa    tt      ii  nnn  nn gg  gg                BB     BB  aa  dd dd gg  gg ee  e dd ddsss
RR   RR   aa  aa    tt      ii  nn   nn gg                    BB     BB  aa  dd dd gg     eeeee dd dd  ss
RR    RR   aaa aa    tttt iiiii nn   nn  gggg                 BBBBBBB  aaa aa ddd d  gggg  eee  ddd dsss
                                              gg                                   gg
                                         ggggg                                ggggg
*/

/* Rating badges - reusable color patterns */
.rating-badge {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 5px;
    font-weight: 500;
    font-size: var(--wp--preset--font-size--small);
    color: var(--wp--preset--color--white);
    text-align: center;
}

.rating-badge.rating-solid-republican,
.rating-name.solid-republican {
    background-color: var(--wp--preset--color--republican-red);
    color: var(--wp--preset--color--white);
}

.rating-badge.rating-likely-republican,
.rating-name.likely-republican {
    background-color: var(--wp--preset--color--likely-red);
    color: var(--wp--preset--color--black);
}

.rating-badge.rating-lean-republican,
.rating-name.lean-republican {
    background-color: var(--wp--preset--color--lean-red);
    color: var(--wp--preset--color--black);
}

.rating-badge.rating-tilt-republican,
.rating-name.tilt-republican,
.rating-name.battleground-republican {
    background-color: var(--wp--preset--color--tilt-red);
    color: var(--wp--preset--color--black);
}

.rating-badge.rating-toss-up,
.rating-name.toss-up,
.rating-name.tossup {
    background-color: var(--wp--preset--color--yellow);
    color: var(--wp--preset--color--black);
}

.rating-badge.rating-tilt-democrat,
.rating-name.tilt-democrat,
.rating-name.battleground-democrat {
    background-color: var(--wp--preset--color--tilt-blue);
    color: var(--wp--preset--color--black);
}

.rating-badge.rating-lean-democrat,
.rating-name.lean-democrat {
    background-color: var(--wp--preset--color--lean-blue);
    color: var(--wp--preset--color--black);
}

.rating-badge.rating-likely-democrat,
.rating-name.likely-democrat {
    background-color: var(--wp--preset--color--likely-blue);
    color: var(--wp--preset--color--black);
}

.rating-badge.rating-solid-democrat,
.rating-name.solid-democrat,
.rating-badge.rating-battleground-democrat {
    background-color: var(--wp--preset--color--democrat-blue);
    color: var(--wp--preset--color--white);
}

.rating-badge.rating-not-up-this-cycle {
    background-color: var(--wp--preset--color--light-gray);
    color: var(--wp--preset--color--dark-gray);
}

.rating-name.lean-independent,
.rating-name.battleground-independent {
    background-color: var(--wp--preset--color--light-yellow);
    color: var(--wp--preset--color--black);
}

/*
VV     VV    AAA     RRRRRRR    BBBBBBBB                         dd
VV     VV   AAAAA    RR    RR   BB     BB                        dd
VV     VV  AA   AA   RR    RR   BB     BB                        dd
VV     VV AA     AA  RRRRRRR    BBBBBBBBaaa    ddd    gggg   eee  dd      sss
 VV   VV  AAAAAAAAA  RR  RR     BB     BB  aa  dd dd gg  gg ee  e dd ddsss
  VV VV   AA     AA  RR   RR    BB     BB  aa  dd dd gg     eeeee dd dd  ss
   VVV    AA     AA  RR    RR   BBBBBBB  aaa aa ddd d  gggg  eee  ddd dsss
                                                   gg
                                              ggggg
*/

/* VAR badge - reusable color patterns */
.var-badge {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: var(--wp--preset--font-size--small);
    margin-top: 0.5rem;
    background-color: rgba(200, 200, 200, 0.2);
}

.var-badge.party-d {
    background-color: rgba(53, 109, 183, 0.15);
    color: #356DB7;
}

.var-badge.party-r {
    background-color: rgba(212, 45, 53, 0.15);
    color: #D42D35;
}

.var-badge.party-i,
.var-badge.party-other {
    background-color: rgba(218, 165, 32, 0.15);
    color: #8a7500;
}

.var-label {
    font-weight: bold;
}

.var-number {
    font-weight: bold;
}

.var-help-icon {
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-left: 4px;
    vertical-align: middle;
}

/*
BBBBBBBB                         dd                    RRRRRRR                         dd     ii
BB     BB                        dd                    RR    RR                        dd
BB     BB                        dd                    RR    RR                        dd
BBBBBBBBaaa    ddd    gggg   eee  dd      sss          RRRRRRR    aaaa    ddd  iii uu   uuu  sss
BB     BB  aa  dd dd gg  gg ee  e dd ddsss             RR  RR    aa  aa  dd dd  ii  uu   uusss
BB     BB  aa  dd dd gg     eeeee dd dd  ss            RR   RR   aa  aa  dd dd  ii  uu   uu  ss
BBBBBBB  aaa aa ddd d  gggg  eee  ddd dsss             RR    RR   aaa aa  ddd diiiii uuuu usss
              gg
         ggggg
*/

/* Border radius utilities */
.border-radius-2 {
    border-radius: 2px;
}
.border-radius-4 {
    border-radius: 4px;
}

.border-radius-5 {
    border-radius: 5px;
}

.border-radius-8 {
    border-radius: 8px;
}

.border-radius-10 {
    border-radius: 10px;
}

.border-radius-20 {
    border-radius: 20px;
}

/*
LL      ii                   kk
LL                           kk
LL                           kk
LL      iii nn nnn   kk  kk  sss
LL       ii  nnn  nn kk kk  sss
LL       ii  nn   nn kkk      ss
LLLLLLiiiii nn   nn kk     sss
                    kk
                    kk
*/

/* Link resets - for making clickable areas without link styling */
.link-unstyled {
    text-decoration: none;
    color: inherit;
}

.link-contents {
    display: contents;
}

.link-unstyled-contents {
    text-decoration: none;
    color: inherit;
    display: contents;
}

/* Back link with icon */
.back-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    color: var(--wp--preset--color--black);
    font-family: var(--wp--preset--font-family--centra-mono), monospace;
    font-size: var(--wp--preset--font-size--medium);
}

.back-link-icon {
    margin-right: 0.5rem;
}



/* Background Color Classes By Rating */
.bg-solid-democrat {
	background-color: var(--wp--preset--color--democrat-blue);
}
.bg-likely-democrat {
	background-color: var(--wp--preset--color--likely-blue);
}
.bg-lean-democrat {
	background-color: var(--wp--preset--color--lean-blue);
}
.bg-tilt-democrat {
	background-color: var(--wp--preset--color--tilt-blue);
}
.bg-battleground-d,
.bg-battleground-democrat {
	background-color: var(--wp--preset--color--tilt-blue);
}

.bg-solid-republican {
	background-color: var(--wp--preset--color--republican-red);
}
.bg-solid-independent {
	background-color: #8a7500;
}
.bg-likely-republican {
	background-color: var(--wp--preset--color--likely-red);
}
.bg-lean-republican {
	background-color: var(--wp--preset--color--lean-red);
}
.bg-tilt-republican {
	background-color: var(--wp--preset--color--tilt-red);
}
.bg-battleground-r,
.bg-battleground-republican {
	background-color: var(--wp--preset--color--tilt-red);
}

.bg-tossup {
	background-color: var(--wp--preset--color--yellow);
}

.bg-toss-up {
	background-color: var(--wp--preset--color--yellow);
}

.bg-independent {
	background-color: #8a7500;
}

/* Other Background Color Classes */
.bg-light-yellow {
	background-color: var(--wp--preset--color--light-yellow);
}

.bg-medium-gray {
	background-color: var(--color-medium-gray);
}

.border-gray {
	border-color: var(--color-medium-gray) !important;
}


/* Common Borders, Etc */
.border-top-solid {
	border-top: 2px solid var(--wp--preset--color--dark-gray);
}

.border-top-1-solid {
	border-top: 1px solid var(--wp--preset--color--gray);
}

.border-top-dashed {
	border-top: 2px dashed var(--wp--preset--color--light-gray);
}

.border-top-dashed-1 {
	border-top: 1px dashed var(--wp--preset--color--light-gray);
}

.block-spacer-top {
	margin-top: var(--six-spacer) !important;
}



/*
 OOOOO                       dd
OO   OO                      dd
OO   OO                      dd
OO   OO rr rr    ddd   eee   rr rr
OO   OO rrr  r  dd dd ee  e  rrr  r
OO   OO rr     dd dd eeeee  rr
 OOOOO  rr      ddd d  eee   rr
*/

/* Flex order utilities - mobile first */
.order-0 { order: 0; }
.order-1 { order: 1; }
.order-2 { order: 2; }
.order-3 { order: 3; }
.order-4 { order: 4; }
.order-5 { order: 5; }
.order-first { order: -1; }
.order-last { order: 99; }

/* Reset order at medium breakpoint (768px) */
@media screen and (min-width: 768px) {
	.order-md-0 { order: 0; }
	.order-md-1 { order: 1; }
	.order-md-2 { order: 2; }
	.order-md-3 { order: 3; }
	.order-md-4 { order: 4; }
	.order-md-5 { order: 5; }
	.order-md-first { order: -1; }
	.order-md-last { order: 99; }
}

/* Reset order at large breakpoint (992px) */
@media screen and (min-width: 992px) {
	.order-lg-0 { order: 0; }
	.order-lg-1 { order: 1; }
	.order-lg-2 { order: 2; }
	.order-lg-3 { order: 3; }
	.order-lg-4 { order: 4; }
	.order-lg-5 { order: 5; }
	.order-lg-first { order: -1; }
	.order-lg-last { order: 99; }
}

/* Reset order at XL breakpoint (1200px) */
@media screen and (min-width: 1200px) {
	.order-xl-0 { order: 0; }
	.order-xl-1 { order: 1; }
	.order-xl-2 { order: 2; }
	.order-xl-3 { order: 3; }
	.order-xl-4 { order: 4; }
	.order-xl-5 { order: 5; }
	.order-xl-first { order: -1; }
	.order-xl-last { order: 99; }
}


/* Person keyword metadata block — indexed by WP search, never rendered */
.person-search-meta { display: none; }
