.msnow-elections-sidebar-wrapper{max-width:1360px;margin:0 auto;padding-inline:30px}.wp-block-column.msnow-election-sidebar-column{max-width:335px}@media (max-width: 780px){.msnow-election-layout.has-sidebar{grid-template-columns:1fr}}.msnow-elections-app__races{display:grid;grid-template-columns:50% 50%;gap:1rem}.msnow-elections-sidebar-wrapper{justify-content:space-between}.single-election-sidebar-column{padding-top:var(--wp--preset--spacing--400);max-width:335px;@media (max-width: 780px){padding-top:0;max-width:100%}}.single-election-live-video-wrapper{@media (min-width: 781px){position:sticky;top:6rem}admin-bar &{top:7rem}}.single-elections-columns{& *{overflow-wrap:normal;word-break:normal}&.no-sidebar .single-election-app-column{margin:0 auto}@media (min-width: 781px){overflow-x:visible!important}@media (max-width: 1050px){flex-wrap:wrap!important;>.wp-block-column{flex-basis:100%!important}}}.single-election-app-column{padding-top:var(--wp--preset--spacing--400);max-width:905px}.msnow-elections-app__container{margin:0 auto;width:100%;.msnow-elections-app__container-grid{grid-template-columns:minmax(0,905px);grid-template-areas:"body" "footer"}}.msnow-elections-app__container-grid{display:grid;gap:60px;align-items:start;>main{grid-area:body}>aside{grid-area:sidebar}.msnow-elections-app__state-recirc{grid-area:footer}@media (max-width: 780px){grid-template-columns:1fr;grid-template-areas:"body" "sidebar" "footer"}}.msnow-elections-app__state-recirc{width:100%;margin-bottom:5rem;h2{border-top:1px solid #cccccc;font-size:1.25rem;text-transform:uppercase;padding-top:1rem;position:relative;margin-bottom:2rem;&:before{content:"";display:block;width:100px;height:8px;background:var(--wp--preset--color--blue-40);position:absolute;top:0;left:0}}}.msnow-elections-app__state-recirc-list{--states-count: 50;list-style:none;padding:0;margin:0;display:grid;grid-template-columns:20% 20% 20% 20% 20%;gap:1rem;@media (max-width: 1240px){grid-template-columns:25% 25% 25% 25%}@media (max-width: 960px){grid-template-columns:33.33% 33.33% 33.33%}@media (max-width: 780px){grid-template-columns:50% 50%}}.msnow-elections-app__state-recirc-list.column-by-column{grid-auto-flow:column;grid-template-rows:repeat(round(up,calc(var(--states-count) / 5),1),auto);@media (max-width: 1240px){grid-template-rows:repeat(round(up,calc(var(--states-count) / 4),1),auto)}@media (max-width: 960px){grid-template-rows:repeat(round(up,calc(var(--states-count) / 3),1),auto)}@media (max-width: 780px){grid-template-rows:repeat(round(up,calc(var(--states-count) / 2),1),auto)}}.msnow-elections-app__state-recirc-list li{margin:0}.msnow-elections-app__state-recirc-list{font-family:Cooper Hewitt,sans-serif;font-weight:200;font-size:1rem;& li{& a{color:unset;opacity:1;transition:opacity .3s ease;&:hover{opacity:.7}& span{border-bottom:2px solid currentColor;font-weight:500;&.live-badge:before{content:"\25cf";position:relative;color:#dd2929;left:-1rem;margin-right:-.725rem;font-size:.725rem}}}}.text-color-red{border-bottom:none;color:#dd2929}.state-recirc-item__disabled{opacity:.7}.state-recirc-item__live{& span:nth-child(2){border-bottom:1px solid currentColor}}}body:not(.wp-admin) header.msnow-elections__header{display:block;& p{margin-top:0}}.msnow-elections-app__intrastate-nav{display:flex;font-family:var(--wp--preset--font-family--cooper-hewitt);gap:.5rem;margin-block:.725rem;color:#555;& a{transition:opacity .2s ease;&:hover{opacity:.6}}& a span:not(.msnow-elections-app__intrastate-nav-separator){text-decoration:underline}.msnow-elections-app__intrastate-nav-statename{font-weight:600;text-transform:uppercase}.msnow-elections-app__intrastate-nav-race-list{display:flex;row-gap:.5rem;list-style:none;padding:0;margin:0;font-weight:200;& li{margin-right:.5rem}}.msnow-elections-app__intrastate-nav-separator{font-size:.75rem;margin:.25rem;text-decoration:none}}.msnow-elections-app__source{font-size:13px;color:#555;margin-top:1rem;p{margin:0}}.msnow-elections-app__source-link{color:inherit;text-decoration:underline;&:hover{opacity:.7}}@font-face{font-family:Cooper Hewitt;font-style:normal;font-weight:100;src:url(/wp-content/themes/msnow/assets/fonts/cooper-hewitt/CooperHewitt-Thin.woff) format("woff")}@font-face{font-family:Cooper Hewitt;font-style:italic;font-weight:100;src:url(/wp-content/themes/msnow/assets/fonts/cooper-hewitt/CooperHewitt-ThinItalic.woff) format("woff")}@font-face{font-family:Cooper Hewitt;font-style:normal;font-weight:300;src:url(/wp-content/themes/msnow/assets/fonts/cooper-hewitt/CooperHewitt-Light.woff) format("woff")}@font-face{font-family:Cooper Hewitt;font-style:italic;font-weight:300;src:url(/wp-content/themes/msnow/assets/fonts/cooper-hewitt/CooperHewitt-LightItalic.woff) format("woff")}@font-face{font-family:Cooper Hewitt;font-style:normal;font-weight:400;src:url(/wp-content/themes/msnow/assets/fonts/cooper-hewitt/CooperHewitt-Book.woff) format("woff")}@font-face{font-family:Cooper Hewitt;font-style:italic;font-weight:400;src:url(/wp-content/themes/msnow/assets/fonts/cooper-hewitt/CooperHewitt-BookItalic.woff) format("woff")}@font-face{font-family:Cooper Hewitt;font-style:normal;font-weight:500;src:url(/wp-content/themes/msnow/assets/fonts/cooper-hewitt/CooperHewitt-Medium.woff) format("woff")}@font-face{font-family:Cooper Hewitt;font-style:italic;font-weight:500;src:url(/wp-content/themes/msnow/assets/fonts/cooper-hewitt/CooperHewitt-MediumItalic.woff) format("woff")}@font-face{font-family:Cooper Hewitt;font-style:normal;font-weight:600;src:url(/wp-content/themes/msnow/assets/fonts/cooper-hewitt/CooperHewitt-Semibold.woff) format("woff")}@font-face{font-family:Cooper Hewitt;font-style:italic;font-weight:600;src:url(/wp-content/themes/msnow/assets/fonts/cooper-hewitt/CooperHewitt-SemiboldItalic.woff) format("woff")}@font-face{font-family:Cooper Hewitt;font-style:normal;font-weight:700;src:url(/wp-content/themes/msnow/assets/fonts/cooper-hewitt/CooperHewitt-Bold.woff) format("woff")}@font-face{font-family:Cooper Hewitt;font-style:italic;font-weight:700;src:url(/wp-content/themes/msnow/assets/fonts/cooper-hewitt/CooperHewitt-BoldItalic.woff) format("woff")}@font-face{font-family:Cooper Hewitt;font-style:normal;font-weight:900;src:url(/wp-content/themes/msnow/assets/fonts/cooper-hewitt/CooperHewitt-Heavy.woff) format("woff")}@font-face{font-family:Cooper Hewitt;font-style:italic;font-weight:900;src:url(/wp-content/themes/msnow/assets/fonts/cooper-hewitt/CooperHewitt-HeavyItalic.woff) format("woff")}:root{--color-primary: #102039;--color-primary-dark: #2563eb;--color-success: #10b981;--color-warning: #FFD60C;--color-danger: #ef4444;--color-text-primary: #111827;--color-text-secondary: #555555;--color-text-tertiary: #9ca3af;--color-bg-primary: #ffffff;--color-bg-secondary: #f9fafb;--color-bg-tertiary: #f3f4f6;--color-bg-page: #f5f5f5;--color-border-light: #f3f4f6;--color-border-medium: #e5e7eb;--color-border-dark: #d1d5db;--color-progress-bg: #e5e7eb;--color-progress-fill: #111827;--color-banner-bg: #FFD60C;--color-banner-text: #000000;--color-button-primary: #3b82f6;--color-button-primary-hover: #2563eb;--color-button-warning: #f59e0b;--color-button-warning-hover: #d97706;--color-button-danger: #dc2626;--color-button-danger-hover: #b91c1c;--color-test-bg: #fef3c7;--color-test-border: #fbbf24;--color-test-text: #78350f;--color-test-heading: #92400e}.house-party-results-block{font-family:Cooper Hewitt,sans-serif}*{margin:0;padding:0;box-sizing:border-box}.app{max-width:1400px;margin:0 auto;background:var(--color-bg-primary)}.data-source-toggle{display:flex;align-items:center;gap:1rem;padding:1rem 2rem;background:var(--color-bg-secondary);border-bottom:2px solid var(--color-border-medium)}.toggle-button{padding:.5rem 1rem;background:var(--color-button-primary);color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s}.toggle-button:hover{background:var(--color-button-primary-hover)}.error-badge{background:#fef2f2;color:var(--color-button-danger);padding:.25rem .75rem;border-radius:4px;font-size:.875rem;font-weight:500}.loading-badge{background:#fffbeb;color:#d97706;padding:.25rem .75rem;border-radius:4px;font-size:.875rem;font-weight:500}.test-controls{padding:1.5rem 2rem;background:var(--color-test-bg);border-bottom:2px solid var(--color-test-border)}.test-controls h3{margin-bottom:1rem;color:var(--color-test-heading);font-size:1.125rem}.control-group{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.control-group label{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;font-weight:600;color:var(--color-test-text)}.control-group input{padding:.5rem;border:2px solid var(--color-test-border);border-radius:4px;font-size:.875rem;width:120px}.control-group button{padding:.5rem 1rem;background:var(--color-button-warning);color:#fff;border:none;border-radius:4px;font-weight:600;cursor:pointer;margin-top:auto;transition:background .2s}.control-group button:hover{background:var(--color-button-warning-hover)}.control-group small{color:var(--color-test-heading);font-size:.75rem;margin-top:.25rem;font-weight:400}.reset-button{padding:.75rem 1.5rem;background:var(--color-button-danger);color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:1rem;margin-top:.5rem;transition:background .2s}.reset-button:hover{background:var(--color-button-danger-hover)}.race-controls{display:flex;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:2px solid var(--color-test-border)}.start-button{padding:.75rem 1.5rem;background:var(--color-success);color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:1rem;transition:all .2s}.start-button:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.start-button:disabled{opacity:.5;cursor:not-allowed}.stop-button{padding:.75rem 1.5rem;background:var(--color-button-warning);color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:1rem;transition:all .2s}.stop-button:hover:not(:disabled){background:var(--color-button-warning-hover);transform:translateY(-1px)}.stop-button:disabled{opacity:.5;cursor:not-allowed}.reset-button-inline{padding:.75rem 1.5rem;background:var(--color-button-danger);color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:1rem;transition:all .2s}.reset-button-inline:hover{background:var(--color-button-danger-hover);transform:translateY(-1px)}.page-header{padding:2rem}.last-update{font-size:.75rem;color:var(--color-text-secondary);letter-spacing:.05em;margin-bottom:.5rem}.page-title{font-size:2.5rem;font-weight:700;color:var(--color-text-primary);margin-bottom:1rem}.breadcrumbs{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:.875rem}.breadcrumb-label{font-weight:600;color:var(--color-text-secondary)}.breadcrumb-link{color:#2563eb;text-decoration:none;font-weight:500}.breadcrumb-link:hover{text-decoration:underline}.breadcrumb-separator{color:var(--color-text-tertiary)}.description{color:var(--color-text-secondary);line-height:1.6;max-width:1200px}.results-container{display:grid;grid-template-columns:1fr auto 1fr;gap:40px;padding:2rem}.house-district-left{grid-column:1 / 5}.house-district-right{grid-column:6 / 10}.house-candidate-results{display:grid;grid-template-columns:2fr 3fr 1fr 1.7fr 40px 2fr 3fr 1fr 1.7fr}@media (max-width: 754px){.house-district-left,.house-district-right{grid-column:1 / -1;border-bottom:1px solid #cccccc}.house-candidate-results{grid-template-columns:1fr 2fr 60px 60px;grid-column-gap:32px}}.party-title{font-size:1.25rem;font-weight:700;padding:1rem 0;background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-medium)}.poll-close-banner{background:var(--color-banner-bg);color:var(--color-banner-text);padding:.5rem 1.5rem;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.poll-banner{padding:0 .6rem;margin:0 0 14px;height:24px;font-size:14px;line-height:24px;font-weight:200;letter-spacing:.2px;text-transform:uppercase;transition:all .3s ease}.coopper-hewitt-lineheight-fix{font-family:Cooper Hewitt;position:relative;top:3px}.poll-open{background:var(--color-primary);color:#fff}.two-race-display{display:grid;align-items:top;justify-content:flex-start;grid-template-columns:1fr 60px 1fr}@media (max-width: 960px){.two-race-display{grid-template-columns:1fr;grid-row-gap:30px}}.poll-close{background:var(--color-banner-bg);color:var(--color-banner-text)}.results-header{display:grid;grid-template-columns:2fr 1fr 2fr;gap:1rem;padding:.75rem 0 0;background:var(--color-bg-primary);font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:capitalize}.results-table-container{display:grid;grid-column-gap:10px;grid-template-rows:22px;grid-auto-rows:48px;grid-template-columns:minmax(150px,max-content) 0px minmax(140px,1fr)}.candidates-list{background:var(--color-bg-primary)}.candidate-row{border-bottom:1px solid #cccccc;align-items:center;font-family:Cooper Hewitt,sans-serif;font-weight:300;display:grid;grid-template-columns:subgrid;grid-column:1 / -1}.candidate-row:last-child{border-bottom:none}.candidate-row-last{border-bottom:1px solid var(--color-border-medium)}.candidate-row-dotted{border-bottom-style:dotted;border-bottom-width:2px}.separator{height:100%;width:1px;margin:0 20px;justify-self:center;background:#ccc}.candidate-bar-container{display:grid;grid-template-columns:1fr 1fr;grid-column-gap:4px;grid-column-start:2;grid-column-end:4}.candidate-info{display:flex;align-items:center;grid-column-gap:.5rem;padding:0 10px 0 0;height:100%}.candidate-info-winner{font-weight:400}.candidate-info-winner .candidate-name{color:#fff}.candidate-row-winner{padding:0}.winner-banner{background:#f2f2f2;padding:0 .5rem;margin:0 0 14px;font-size:.875rem;font-weight:700;text-align:left;vertical-align:middle;height:48px}.candidate-color-bar{width:5px;height:32px;border-radius:0;flex-shrink:0}.candidate-name{color:var(--color-text-primary);font-size:.9375rem;display:flex;align-items:center;gap:.5rem;font-weight:400}.winner-checkmark{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--color-success);color:#fff;border-radius:50%;font-size:.75rem;font-weight:700;flex-shrink:0}.candidate-votes{color:var(--color-text-primary);font-weight:400;font-size:14px}.candidate-percentage-container{display:flex;align-items:center;gap:.75rem;grid-column-start:1;grid-column-end:3}.percentage-bar{flex:1;background:var(--color-progress-bg);border-radius:0;overflow:hidden;position:relative}.percentage-fill{height:100%;transition:width .5s ease;position:absolute;top:0;left:0}.candidate-row:nth-child(1) .percentage-fill{background:currentColor}.percentage-text{color:var(--color-text-primary);min-width:50px;text-align:right;font-size:14px;font-weight:600}.header-percentage{text-align:end}.total-row{display:grid;color:var(--color-text-secondary);font-size:14px;font-family:Cooper Hewitt,sans-serif;grid-template-columns:subgrid;align-self:center;grid-column:1 / -1}.eevp-bar-container{grid-column:1 / -1}.vote-progress-bar{height:4px;background:#d9d9d9;border-radius:0;overflow:hidden;margin:4px 0 0;position:relative}.vote-progress-fill{height:100%;background:#2a2a2a;transition:width .5s ease;position:absolute;top:0;left:0}.expected-votes{font-size:14px;font-family:Cooper Hewitt,sans-serif;font-weight:200;color:var(--color-text-secondary)}.house-candidate-header{display:grid;grid-template-columns:2fr 2fr 1fr 3fr;gap:1rem;padding:.75rem 0 0;font-weight:300;text-transform:capitalize}.house-candidate-row{display:grid;grid-template-columns:subgrid;grid-column-start:2;grid-column-end:5;align-items:center;align-self:center}.house-candidate-row>div:nth-child(2),.house-candidate-row>div:last-child{text-align:right;font-weight:600}.house-results-heading-right{text-align:right}.top-candidate-row{grid-row-start:1}.break{grid-column:1 / -1;border-bottom:1px solid var(--color-border-medium);margin:8px 0}.break-dotted{border-bottom-style:dotted;border-bottom-width:1px}@media (max-width: 754px){.house-district-scorecard{grid-column:1 / -1}.separator,.break{display:none}.house-results-heading>div:nth-child(5),.house-results-heading>div:nth-child(6),.house-results-heading>div:nth-child(7),.house-results-heading>div:nth-child(8),.house-results-heading>div:nth-child(9){display:none}.house-party-results-block{padding-bottom:2rem;margin-bottom:2rem}.house-party-results-block:last-child{border-bottom:none}}.house-district-eevp{grid-column-start:1;grid-column-end:2;height:12px;align-items:center;display:flex;font-weight:400}.house-candidate-rows-container{grid-column-start:2;grid-column-end:5;grid-row-start:2}.house-district-title{display:flex;align-items:center;font-weight:600;gap:.2rem;height:12px}.district-name-mobile{display:none}.house-district-scorecard{display:grid;margin:16px 0;align-content:start;align-self:flex-start;font-size:14px;grid-template-columns:subgrid;grid-column:1 / -1;grid-auto-rows:12px;grid-row-gap:12px}.house-candidate-name{font-weight:600}.chart-header{display:grid;grid-column:1 / -1;grid-template-columns:subgrid;font-size:14px;font-weight:300;color:var(--color-text-secondary);text-transform:capitalize;height:22px;align-items:start}.chart-header span{font-family:Cooper Hewitt,sans-serif;font-weight:400}.chart-header span:last-child{text-align:right}.results-footer{font-family:Cooper Hewitt,sans-serif;font-weight:100}.house-results-heading{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;font-family:Cooper Hewitt,sans-serif;font-size:14px;font-weight:400;color:var(--color-text-secondary);text-transform:capitalize}.show-all-candidates-link{grid-column:2 / 5;color:#3061ff;font-size:14px;font-weight:600;cursor:pointer;text-decoration:underline}.show-all-candidates-link-senate{grid-column:1 / -1}.show-more-races-container{width:100%;margin:1rem auto;text-align:left;font-size:14px}.show-more-races-link{color:#2563eb;font-size:.875rem;font-weight:600;cursor:pointer;text-decoration:underline;display:inline-block}.show-more-races-link:hover{color:#1d4ed8}.house-too-early-text{width:100%;grid-column-start:1;grid-column-end:3;text-align:left!important}.candidate-name{font-family:Cooper Hewitt,sans-serif;font-weight:100;font-size:14px}.district-name-desktop{position:relative;top:2px}@media (max-width: 505px){.house-candidate-results{display:grid;grid-template-columns:55px 1fr 80px 60px;grid-column-gap:8px}.district-name-desktop{display:none}.district-name-mobile{display:block;position:relative;top:2px}.house-district-eevp,.house-district-title{height:auto}.house-district-scorecard{grid-auto-rows:auto}}@media (max-width: 450px){.house-candidate-results{grid-template-columns:55px 1fr auto auto}}.wp-block-group .header-menu p,#msnow-announcement{font-weight:700}
