.elementor-11374 .elementor-element.elementor-element-3156c83b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:0px 0px 0px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;box-shadow:0px 0px 20px -10px rgba(0,0,0,0.5);--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:300;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:767px){.elementor-11374 .elementor-element.elementor-element-3156c83b{--width:100%;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for container, class: .elementor-element-3156c83b */:root {
  --brand_orange: #fa824c;
  --brand_white: #fff8eb;
  --brand_black: #2e2824;
  --header_bg: #fff8eb;
  --brand_red: #f03030;
  --brand_blue: #3089f7;
  --brand_green: #08a283;
  --yea_color: #08a283;
  --nay_color: #c41c08;
  --lt_gray: #d6d2ca;
  --gray: #656565;
  --header_gray: #f5f5f5;
  --BLACK: #2e2824;
  --WHITE: #fff8eb;
  --purple: #f394f3;
  --toggle_background: var(--brand_black);
  --footer_background: #2e2824;
  --inline_container_w: 2px;
  --dropdown_bg:rgb(255, 255, 255);
  /* Rating colors */
  --rating-no-election-d: #033a5c;
  --rating-uncontested-d: #04457e;
  --rating-solid-d: #1c5eb2;
  --rating-very-likely-d: #297cca;
  --rating-likely-d: #5dade2;
  --rating-lean-d: #96d0f5;
  --rating-tilt-d: #def1ff;
  --rating-toss-up: #ffffff;
  --rating-tilt-r: #ffe2de;
  --rating-lean-r: #f9b3ac;
  --rating-likely-r: #ec7063;
  --rating-very-likely-r: #e74c3c;
  --rating-solid-r: #bb2314;
  --rating-uncontested-r: #810404;
  --rating-no-election-r: #560101;
  --rating-tilt-i: #bff7d7;
  --rating-lean-i: #7ff4b2;
  --rating-likely-i: #2dde7a;
  --rating-very-likely-i: #17b85d;
  --rating-solid-i: #099144;
  --rating-uncontested-i: #05672f;
  --rating-no-election-i: #013e1b;
  --rating-tilt-p: #fcf3cf;
  --rating-lean-p: #f9e79f;
  --rating-likely-p: #f7dc6f;
  --rating-very-likely-p: #f4d03f;
  --rating-solid-p: #f1c40f;
  --rating-uncontested-p: #b7950b;
  --rating-no-election-p: #7d6608;
  --rating-no-rating: #d9d9d9;
  --rating-none: #ffffff;
}

/* dark mode */
[data-theme="dark"] {
  --brand_orange: #f7ad8b;
  --brand_white: rgb(40, 40, 40);
  --header_bg: rgb(28, 28, 28);
  --brand_green: #56b4a1;
  --brand_black: rgb(240, 240, 240);
  --brand_red: #e05155;
  --brand_blue: #5384df;
  --e-global-color-secondary:red !important;
  --yea_color: #3e9685;
  --nay_color: #c55050;
  --lt_gray: #6f6f6f;
  --gray: #dddddb;
  --main_text: var(--brand_white);
  --main_background: rgb(51, 51, 51);
  --toggle_background: var(--gray);
  --footer_background: rgb(28, 28, 28);
  --inline_container_w: 1px;
  --WHITE: rgb(240, 240, 240);
  --purple: #f394f3;
  --dropdown_bg:rgb(240, 240, 240);
  /* Dark-mode rating colors (static, darker versions) */
  --rating-no-election-d: #03192f;
  --rating-uncontested-d: #04274b;
  --rating-solid-d: #163e89;
  --rating-very-likely-d: #2d5db5;
  --rating-likely-d: var(--brand_blue);
  --rating-lean-d: #86a8e8;
  --rating-tilt-d: #b1cbfa;
  --rating-toss-up: white;
  --rating-tilt-r: #f3a5a7;
  --rating-lean-r: #f18285;
  --rating-likely-r: var(--brand_red);
  --rating-very-likely-r: #bf3236;
  --rating-solid-r: #8a1c1c;
  --rating-uncontested-r: #580202;
  --rating-no-election-r: #2e0101;
  --rating-tilt-i: #bff7d7;
  --rating-lean-i: #7ff4b2;
  --rating-likely-i: #2dde7a;
  --rating-very-likely-i: #16af4d;
  --rating-solid-i: #0a5f2e;
  --rating-uncontested-i: #033b1d;
  --rating-no-election-i: #011f14;
  --rating-tilt-p: #fef5d2;
  --rating-lean-p: #fde8a6;
  --rating-likely-p: #fcd66f;
  --rating-very-likely-p: #f6c123;
  --rating-solid-p: #8f7b03;
  --rating-uncontested-p: #675701;
  --rating-no-election-p: #413501;
  --rating-no-rating: rgba(255, 255, 255, 0.3);
  --rating-none: rgba(255, 255, 255, 0.15);
  
  tr:nth-child(even) {
    background: rgba(255, 255, 255, 0.05);
  }
}

/* Hide only on normal frontend */
body:not(.elementor-editor-active):not(.elementor-preview) {
  visibility: hidden;
}

/* Show in Elementor editor + preview */
body.elementor-editor-active,
body.elementor-preview {
  visibility: visible !important;
}

body{
    background: var(--brand_white);
}

#theme-toggle {
  cursor: pointer;
  z-index: 10000;
  font-size: 12px;
  border-radius: 5px;
  font-weight: 700;
  padding: 4px 6px;
  background-color: var(--toggle_background);
  color: var(--brand_white);
  font-family: "JetBrains Mono" !important;
  visibility: hidden;
}

.search_emblem {
  display: inline-block;
  background-color: var(--brand_black);
  height: 30px !important;
  width: 30px !important;
  border-radius: 5px !important;
  margin-left: 5px;
  padding: 5px;
  cursor: pointer;
}

.utility-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 20px;
  padding-bottom: 0px;
  font-size: 13px;
  text-transform: none;
  background: var(--header_bg);
  /*border-bottom: 1px solid var(--lt_gray);*/
}

.utility-bar.alt{
  position:sticky;
  top:0;
  z-index:9999;
  padding-bottom: 8px;
}

.utility-bar a,
.utility-bar button,
.utility-bar p,
.utility-bar span {
  color: var(--gray);
  background: none;
  border: none;
  font-family: "JetBrains Mono", monospace;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  text-decoration: none;
  font-size: 13px;
  display: inline;
  margin-bottom:0px;
  font-weight: 600 !important;
}
.utility-bar span {
  margin-right: 0px;
}

.utility-bar a:hover,
.utility-bar button:hover,
.utility-bar p:hover {
  color: var(--brand_black);
  background-color: var(--lt_gray);
}

.utility-right {
  display: flex;
  align-items: center;
}

.utility-donate {
  font-weight: 900;
  color: var(--brand_black) !important;
  margin-right: 0px !important;
  font-family: 'JetBrains Mono', monospace;
}

.utility-center{
  gap:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top: -3px;
}


/* =========================================================
   08) Selector Menus and Dropdown Systems
========================================================= */
/* ============================= */
/* STATE SELECTOR WRAPPER */
/* ============================= */

.state-.elementor-11374 .elementor-element.elementor-element-3156c83b-wrapper {
  position: relative;
  display: inline-block;
}
/* ============================= */
/* BUTTON */
/* ============================= */

.state-.elementor-11374 .elementor-element.elementor-element-3156c83b {
  background: none;
  border: none;
  padding: 4px 6px !important;

  font-family: "JetBrains Mono" !important;
  font-weight: 600 !important;
  border-radius: 0px;
  border-bottom: none !important;
  font-size: 12px !important;
  text-transform: none !important;

  cursor: pointer;
  white-space: nowrap;
}


/* ============================= */
/* DROPDOWN BASE (SHARED) */
/* ============================= */

.state-dropdown,
.more_div,
.dropdown_menu,
.page-dropdown {
  position: absolute;
  top: 35px;
  background: var(--dropdown_bg);
  border: 1px solid var(--BLACK);
  padding: 6px 8px;
  display: grid;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 2000;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
  border-radius: 5px;
  grid-template-columns: 1fr;
  text-align: right;
  text-transform: none;
}
.more_div{
    top:30px;
}


.state-dropdown {
  grid-auto-flow: column;
  grid-template-rows: repeat(25, auto);
  column-gap: 28px;
}

/* ============================= */
/* OPEN STATE (SHARED) */
/* ============================= */

.state-dropdown.open,
.more_div.open,
.dropdown_menu.open,
.page-dropdown.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* ============================= */
/* OPTION BASE (SHARED) */
/* ============================= */

.state-option,
.more_div a,
.dropdown_menu a,
.page-option {
  font-family: "JetBrains Mono", monospace;
  white-space: nowrap;
  cursor: pointer;
  display: block;
  text-transform: none;
  text-align: right;
  color: var(--BLACK) !important;
  font-size: 12px !important;
  padding: 5px 10px !important;
  font-weight: 400 !important;
  border-radius: 0px;
  border-bottom: 2px solid transparent !important;
}

/* ============================= */
/* OPTION HOVER (SHARED) */
/* ============================= */

.state-option:hover,
.more_div a:hover,
.dropdown_menu a:hover,
.page-option:hover {
  background: var(--lt_gray) !important;
  color: var(--brand_black) !important;
  border-bottom:2px solid var(--brand_black) !important;
  font-weight: 800 !important;
}

/* =========================
   BRAND + SEARCH
========================= */

.brand-bar {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  padding: 0px 20px;
  position: relative;
  height: 80px;
  background-color: var(--header_bg);
  z-index: 899;
}

.brand-bar::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: min(1000px, calc(100% - 40px));
  border-bottom: 1px solid var(--brand_black);
  transform: translateX(-50%);
  pointer-events: none;
}

.brand-bar-alt {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  padding: 30px 20px;
  position: relative;
  height: 90px;
  background-color: var(--header_bg);
  border-bottom: 1px solid var(--brand_black);
  margin-bottom:20px;
}

.logo-alt img {
  height: 70px;
  z-index: 1;
}

.brand-bar.phone.alt {
  border-bottom: 2px solid var(--brand_black);
}

.brand-bar.phone {
  padding: 14px 10px;
  height: 80px;
}

.logo img {
  height: 55px;
  z-index: 9000;
}

.logo-alt img {
  height: 55px;
}

.brand-bar.phone .logo img {
  height: 45px;
}


.brand-center {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9000;
}
.brand-left {
  display: flex;
  align-items: center;
}

.brand-right {
  display: flex;
  align-items: center;
  justify-self: end;
}

.brand-center-alt {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
}
.brand-left-alt {
  display: flex;
  align-items: center;
}

.brand-right-alt {
  display: flex;
  align-items: center;
  justify-self: end;
  margin-right: 5px;
  margin-bottom: 5px;
}
.donate_link {
  text-decoration: none;
  background-color: var(--brand_black) !important;
  color: var(--brand_white) !important;
  font-family:'JetBrains Mono', monospace;
  font-size: 14px !important;
  font-weight: 800;
  padding: 4px 20px !important;
  border-radius: 5px;
  margin-right: 0px !important;
}

.donate_link:hover {
  background-color: var(--brand_white) !important;
  border: 2px solid var(--brand_black) !important;
  color: var(--brand_black) !important;
  font-weight: 900;
  padding: 2px 18px !important;
}

/* =========================
   SECTION NAV
========================= */

.section-nav {
  position: sticky;
  top: -0.5px;
  z-index: 100;

  display: flex;
  justify-content: center;
  vertical-align: center;
  gap: 28px;
  padding: 10px 20px;

  background: var(--brand_white);
  border-bottom: 1px solid var(--brand_black);
}

.section-nav.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
}

#logo_section_nav {
  position: absolute;
  left: 20px;
  height: 35px;
  display: none;
}

.section-nav a,
.section-nav p,
.section-nav button,
.section-nav span {
  font-family: "JetBrains Mono" !important;
  text-transform: none;
  color: var(--gray);
  padding: 4px;
  padding-top: 4px;
  margin: 0px;
  font-size: 14px;
  border-bottom: 2px solid transparent;
  text-decoration: none;
  margin-bottom: 0px;
  margin-top: 0px;
  cursor: pointer;
  font-weight: 400;
  white-space: nowrap;
}

.section-nav a:hover,
.section-nav p:hover,
.section-nav button:hover,
.section-nav span:hover {
  color: var(--brand_black);
  border-bottom: 2px solid var(--brand_black);
  font-weight: 800;
}

.section-nav a.active,
.section-nav p.active,
.section-nav button.active {
    border:none;
  color: var(--brand_black);
  border-bottom: 2px solid var(--brand_black);
  font-weight: 800;
}

.section-nav.phone {
  display: flex;
  justify-content: center;
  text-align: center;
  margin-top: -5px;
  overflow: visible; /* 🔑 REQUIRED */
}
.section-nav.phone p {
  display: inline-block;
  margin: 0px;
  margin-right: 10px;
  font-size: 14px;
}
.section-nav.phone a {
  font-size: 14px;
  margin-right: 15px;
}

.state-badge {
  font-family: "JetBrains Mono", monospace;
  font-size: 14px !important;
  padding: 4px 6px !important;
  text-transform: none;
  background-color: none;
  color: var(--brand_black) !important;
  border-left: 2px solid var(--brand_black) !important;
  border-bottom: none !important;
  font-weight: 800 !important;
  transition: all 0.1s ease;
}

.state-badge:hover {
  background-color: var(--brand_white);
  color: var(--brand_black) !important;
  font-weight: 800 !important;
  padding: 4px 5px !important;
  border-left: 4px solid var(--brand_black) !important;
}

.base_nav {
  cursor: pointer;
}

.non_base:hover {
  background-color: var(--lt_gray);
  cursor: pointer;
  font-weight: 800;
  border-radius: 3px;
}
.more_wrapper,
.dropdown_wrapper {
  position: relative;
  display: inline-block;
  z-index: 9999;
}

.state-badge_wrapper {
  position: relative;
  display: inline-block;
}

.more_button {
  cursor: pointer;
  margin: 0;
}

.base_mb.active {
  background-color: var(--BLACK);
  color: var(--WHITE) !important;
  pointer-events: none;
}

.more_wrapper:hover .more_div,
.more_div:hover,
.dropdown_wrapper:hover .dropdown_menu,
.dropdown_menu:hover {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 10000;
}


/* =========================================================
   Phone section nav
========================================================= */
/* ============================= */
/* PAGE SELECTOR WRAPPER */
/* ============================= */

.page-.elementor-11374 .elementor-element.elementor-element-3156c83b-wrapper,
.page-.elementor-11374 .elementor-element.elementor-element-3156c83b {
  background: var(--brand_white);
  color: var(--brand_black) !important;
  border-radius: 0px;
  display: inline-block;
}

.page-.elementor-11374 .elementor-element.elementor-element-3156c83b-wrapper {
  position: relative;
}

/* ============================= */
/* BUTTON */
/* ============================= */

.page-.elementor-11374 .elementor-element.elementor-element-3156c83b {
  background: none;
  border: none;
  padding: 6px 8px !important;

  font-family: "JetBrains Mono", monospace;
  font-size: 14px !important;
  font-weight: 600;
  color: var(--brand_black);

  cursor: pointer;
  white-space: nowrap;
}

/* =========================================================
   Navigation bar (computer)
========================================================= */
#navigation_computer {
  position: fixed;
  top: 60px;
  background-color: var(--lt_gray);
  z-index: 1000;
  border-bottom: 1px solid var(--brand_black);
  width: 100%;
  display: none;
}

#navigation_phone {
  position: fixed;
  background-color: var(--brand_white);
  z-index: 9000;
  border-bottom: 1px solid var(--brand_black);
  border-left: 1px solid var(--brand_black);
  width: 80%;
  left: 20%;
  height: 100%;
  display: none;
  padding: 10px 0px;
  text-align: right;
}

.nav_computer_link {
  text-decoration: none;
  color: var(--brand_black);
  font-weight: 500;
  text-align: right;
}

.nav_phone_cat h3 {
  margin: 10px;
  background-color: var(--brand_black);
  color: var(--brand_white);
  padding: 5px 10px;
  font-weight: 700;
  font-family: "JetBrains Mono";
  font-size: 16px;
  text-align: right;
}

.nav_phone_cat a {
  margin: 10px 20px;
  font-family: "JetBrains Mono";
  font-size: 16px;
  cursor: pointer;
  text-align: right;
  display: block;
  color:var(--brand_black);
}

.menu_button_open {
  background-color: var(--brand_black);
  color: var(--brand_black);
}

/* =========================================================
   Hub nav
========================================================= */
.hub-nav {
  padding: 20px;
  text-align: center;
  background-color: var(--lt_gray);
  border-top: var(--brand_black) 2px solid;
}

.hub-nav h4 {
  margin: 5px;
  margin-bottom: 10px;
  font-family: JetBrains Mono;
}

.hub-item {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  vertical-align: middle;
  width: 200px;
  margin-right: 20px;
  margin-top: 10px;
  text-align: center;
  border: var(--brand_black) 2px solid;
  border-radius: 10px;
  padding: 10px;
  height: 150px;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
}

.hub-item:hover {
  background-color: var(--brand_black);
}
.hub-item:hover a {
  color: var(--brand_white);
  font-weight: 700;
}

.hub-item img {
  width: 60px;
  display: block;
}

.hub-item a {
  display: inline-block;
  padding: 6px 12px;
  text-decoration: none;
  font-weight: 600;
  font-family: JetBrains Mono;
  color: var(--brand_black);
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  border: 0;
}



.search_container {
  width: min(200px, 100%);
  margin: 0 auto;
  text-align: left;
  border-radius: 3px;
  background-color: var(--brand_white);
  z-index: 9999;
  right: 30px;
  display: inline-block;
  visibility: hidden;
}
.search_input {
  width: 200px;
  height: 30px;
  font-size: 14px;
  padding: 5px;
  font-family: JetBrains Mono;
  background-color: var(--brand_black);
  margin-right: 10px;
  color: var(--brand_white);
  border-radius: 5px;
  border: 1px solid var(--brand_white);
}

/* placeholder color (with vendor fallbacks) */
.search_input::placeholder {
  color: var(--lt_gray);
  opacity: 1; /* ensure visibility in Firefox */
}
.search_input::-webkit-input-placeholder {
  color: var(--lt_gray);
}
.search_input:-ms-input-placeholder {
  color: var(--lt_gray);
}
.search_input::-ms-input-placeholder {
  color: var(--lt_gray);
}

.search_input:focus {
  outline: none;
  border: 1px solid var(--brand_orange);
}

#search_results_header {
  margin: 0 auto;
  text-align: left;
  border: 1px solid var(--brand_black);
  display: none;
  border-radius: 3px;
  position: absolute;
  background-color: white;
  z-index: 9999;
  margin-top: 5px;
  right: 65px;
}

#search_results_header_phone {
  width: 95%;
  margin-left: 2.5%;
  border-bottom: 2px solid var(--brand_black);
}
#search_input_header_phone {
  width: calc(100% - 20px);
  font-size: 16px;
  border-radius: 0px;
  display: inline-block;
  padding: 10px;
  margin: 10px;
}

.result_div {
  border-bottom: 1px solid var(--lt_gray);
  padding: 0px;
}

.result_div h3 {
  font-family:
    JetBrains Mono,
    monospace;
  font-size: 13px;
  text-decoration: none;
  background-color: var(--BLACK);
  color: white;
  display: inline-block;
  padding: 2px 6px;
  margin: 2px;
}

.result_div p {
  font-family:
    JetBrains Mono,
    monospace;
  font-size: 11px;
  text-decoration: none;
  display: inline-block;
  padding: 2px 0px;
  margin: 2px;
  color: var(--BLACK);
}

.result_div span {
  font-family:
    JetBrains Mono,
    monospace;
  font-size: 12px;
  text-decoration: none;
  display: inline-block;
  margin-right: 10px;
  padding: 2px 6px;
  margin-left: 0px;
}

.search_emblem {
  display: inline-block;
  background-color: var(--brand_black);
  height: 30px !important;
  width: 30px !important;
  border-radius: 5px;
  margin-left: 5px;
  padding: 5px;
  cursor: pointer;
}


@media only screen and (max-width: 800px) {
  
  .state-badge {
    padding: 7px 8px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    border-left: 4px solid var(--brand_black) !important;
  }
  .state-badge:hover {
    background-color: var(--brand_white);
    color: var(--brand_black) !important;
    font-weight: 800 !important;
    padding: 8px 6px !important;
    border-left: 4px solid var(--brand_black) !important;
  }

}/* End custom CSS */