@import url("https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000&display=swap");@import url("https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");.sidebar{background-color:var(--blue-grey-050);width:280px;border-right:1px solid var(--blue-grey-100)}.side-nav-link{text-decoration:none;color:var(--blue-grey-700);padding:10px 15px;border-radius:6px;transition:all 0.2s ease;margin:2px 0}.side-nav-link:hover{background-color:var(--blue-grey-100);color:var(--blue-grey-800)}.side-nav-link.active{background-color:var(--light-blue-vivid-700);color:white;font-weight:500;box-shadow:0 2px 4px rgba(0,0,0,0.08)}.collapse .side-nav-link{color:var(--blue-grey-600);padding-left:2rem}.collapse .side-nav-link:hover{background-color:var(--blue-grey-100);color:var(--blue-grey-800)}.collapse .side-nav-link.active{background-color:var(--light-blue-vivid-600);color:white;font-weight:500}.sidebar-logo{max-width:200px}.sidebar-footer{position:fixed;bottom:0;width:280px;background-color:var(--blue-grey-050);border-top:1px solid var(--blue-grey-100);padding:1rem}.sidebar{position:fixed;top:0;left:0;width:250px;height:100vh;overflow:hidden;display:flex;flex-direction:column;background-color:#f8f9fa;border-right:1px solid #ddd;z-index:1000}.sidebar-content{flex-grow:1;overflow-y:auto}.content{margin-left:250px;padding:0;flex-grow:1;overflow-x:auto}#jurisdictionSearchInput:focus{outline:none;box-shadow:none;border-bottom-color:var(--blue-grey-600)}#jurisdictionSearchInput::placeholder{color:var(--blue-grey-400)}.district-tooltip{background:white;border:none;box-shadow:0 1px 3px rgba(0,0,0,0.4);padding:5px 10px;font-size:12px;border-radius:4px}#map-locked{display:flex;justify-content:center;align-items:center;border:1px solid #dee2e6;border-radius:4px}.hero-stats-header h1{font-size:1.75rem}.hero-stats-header .breadcrumb-item a{color:rgba(255,255,255,0.8)}.hero-stats-header .breadcrumb-item a:hover{color:#ffffff}.jurisdiction-link{color:var(--light-blue-vivid-600);transition:color 0.2s ease}.jurisdiction-link:hover{color:var(--light-blue-vivid-700)}.jurisdiction-contest .contestant-row,.jurisdiction-contest .recall-row{position:relative}.jurisdiction-contest .contestant-swatch,.jurisdiction-contest .recall-swatch{width:8px;position:absolute;left:0;top:0;bottom:0}.jurisdiction-contest .contestant-name,.jurisdiction-contest .total-reported,.jurisdiction-contest .recall-option{position:relative;padding-left:16px}.jurisdiction-contest .contestant-col,.jurisdiction-contest .proposition-col{width:50%}.jurisdiction-contest .recall-col{width:40%}.jurisdiction-contest .party-col,.jurisdiction-contest .votes-col,.jurisdiction-contest .percent-col,.jurisdiction-contest .proposition-votes-col,.jurisdiction-contest .proposition-percent-col{width:10%}.jurisdiction-contest .progress-col,.jurisdiction-contest .proposition-progress-col{width:20%}.jurisdiction-contest .recall-progress-col{width:30%}.jurisdiction-contest .party-col{padding-left:1rem !important}.jurisdiction-contest .progress-wrapper{display:flex;align-items:center;height:100%}.jurisdiction-contest .checkmark{margin-left:6px;display:inline-block;vertical-align:middle}.jurisdiction-contest td{vertical-align:middle !important}.partisan-analysis .lean-meter,.partisan-analysis .margin-bar{position:relative;height:30px;background-color:#e9ecef;margin:10px 0}.partisan-analysis .performance-range{position:relative;height:60px;background-color:#e9ecef;margin:10px 0}.partisan-analysis .lean-bar,.partisan-analysis .margin-indicator{position:absolute;top:0;height:100%}.partisan-analysis .dem-range,.partisan-analysis .rep-range{position:absolute;height:25px}.partisan-analysis .dem-range{top:0}.partisan-analysis .rep-range{bottom:0}.partisan-analysis .lean-scale,.partisan-analysis .range-scale{display:flex;justify-content:space-between;font-size:0.8em;color:#666}.partisan-analysis .lean-label,.partisan-analysis .range-label,.partisan-analysis .margin-label{position:absolute;white-space:nowrap;font-size:0.9em;transform:translateX(-50%)}.partisan-analysis .lean-label,.partisan-analysis .margin-label{top:-20px}.partisan-analysis .range-label{top:100%;margin-top:5px}.partisan-analysis .year-margin{display:flex;align-items:center;margin-bottom:10px}.partisan-analysis .year{width:50px;text-align:right;margin-right:10px}.partisan-analysis .margin-bar{flex-grow:1}.partisan-analysis .dem{background-color:#1375b7}.partisan-analysis .rep{background-color:#c93135}.partisan-analysis .dem-range{background-color:rgba(19,117,183,0.3)}.partisan-analysis .rep-range{background-color:rgba(201,49,53,0.3)}.measure-details{display:flex;align-items:center;flex-wrap:wrap}.measure-description{font-size:0.9rem;line-height:1.4}.badge{font-weight:normal}.contest-details{display:flex;align-items:center;flex-wrap:wrap}.table-success{--bs-table-bg: rgba(25, 135, 84, 0.1)}.table-sm td{vertical-align:middle}.jurisdiction-hierarchy{margin-bottom:1rem}.jurisdiction-hierarchy a{color:inherit;text-decoration:none}.jurisdiction-hierarchy a:hover{text-decoration:underline}.jurisdiction-hierarchy .jurisdiction-level-1{font-size:1rem;margin-bottom:0.25rem}.jurisdiction-hierarchy .jurisdiction-level-2{font-size:1.25rem;margin-bottom:0.5rem}.jurisdiction-hierarchy .jurisdiction-level-3{font-size:1.5rem;margin-bottom:0.75rem}.jurisdiction-hierarchy .jurisdiction-level-4{font-size:1.75rem;margin-bottom:1rem}.sample-btn{border-color:var(--light-blue-vivid-600) !important;color:var(--light-blue-vivid-600) !important;transition:all 0.2s ease-in-out !important}.sample-btn:hover{background-color:var(--light-blue-vivid-600) !important;color:white !important}.subscribe-btn{background-color:var(--light-blue-vivid-600) !important;border:none !important;transition:all 0.2s ease-in-out !important}.subscribe-btn:hover{background-color:var(--light-blue-vivid-700) !important}@media (max-width: 767.98px){.sample-preview-container{order:2}.key-metrics-container{order:1}}:root{--blue-grey-050: #F0F4F8;--blue-grey-100: #D9E2EC;--blue-grey-200: #BCCCDC;--blue-grey-300: #9FB3C8;--blue-grey-400: #829AB1;--blue-grey-500: #627D98;--blue-grey-600: #486581;--blue-grey-700: #334E68;--blue-grey-800: #243B53;--blue-grey-900: #102A43;--light-blue-vivid-050: #E3F8FF;--light-blue-vivid-100: #B3ECFF;--light-blue-vivid-200: #81DEFD;--light-blue-vivid-300: #5ED0FA;--light-blue-vivid-400: #40C3F7;--light-blue-vivid-500: #2BB0ED;--light-blue-vivid-600: #1992D4;--light-blue-vivid-700: #127FBF;--light-blue-vivid-800: #0B69A3;--light-blue-vivid-900: #035388;--cyan-050: #E0FCFF;--cyan-100: #BEF8FD;--cyan-200: #87EAF2;--cyan-300: #54D1DB;--cyan-400: #38BEC9;--cyan-500: #2CB1BC;--cyan-600: #14919B;--cyan-700: #0E7C86;--cyan-800: #0A6C74;--cyan-900: #044E54;--pink-vivid-050: #FFE3EC;--pink-vivid-100: #FFB8D2;--pink-vivid-200: #FF8CBA;--pink-vivid-300: #F364A2;--pink-vivid-400: #E8368F;--pink-vivid-500: #DA127D;--pink-vivid-600: #BC0A6F;--pink-vivid-700: #A30664;--pink-vivid-800: #870557;--pink-vivid-900: #620042;--red-vivid-050: #FFE3E3;--red-vivid-100: #FFBDBD;--red-vivid-200: #FF9B9B;--red-vivid-300: #F86A6A;--red-vivid-400: #EF4E4E;--red-vivid-500: #E12D39;--red-vivid-600: #CF1124;--red-vivid-700: #AB091E;--red-vivid-800: #8A041A;--red-vivid-900: #610316;--yellow-vivid-050: #FFFBEA;--yellow-vivid-100: #FFF3C4;--yellow-vivid-200: #FCE588;--yellow-vivid-300: #FADB5F;--yellow-vivid-400: #F7C948;--yellow-vivid-500: #F0B429;--yellow-vivid-600: #DE911D;--yellow-vivid-700: #CB6E17;--yellow-vivid-800: #B44D12;--yellow-vivid-900: #8D2B0B;--teal-050: #EFFCF6;--teal-100: #C6F7E2;--teal-200: #8EEDC7;--teal-300: #65D6AD;--teal-400: #3EBD93;--teal-500: #27AB83;--teal-600: #199473;--teal-700: #147D64;--teal-800: #0C6B58;--teal-900: #014D40}:root{--primary-color: var(--blue-grey-600);--secondary-color: var(--light-blue-vivid-500);--danger-color: var(--red-vivid-500);--warning-color: var(--yellow-vivid-500);--success-color: var(--teal-500);--info-color: var(--cyan-500);--text-primary: var(--blue-grey-900);--text-secondary: var(--blue-grey-600);--text-muted: var(--blue-grey-400);--bg-primary: var(--blue-grey-050);--bg-secondary: var(--blue-grey-100)}.nav-tabs .nav-link{color:var(--blue-grey-700);border-radius:0.375rem;margin-right:0.5rem;margin-bottom:0.5rem;transition:all 0.2s ease-in-out}.nav-tabs .nav-link:hover{color:var(--light-blue-vivid-700);background-color:var(--light-blue-vivid-050);border-color:var(--light-blue-vivid-200)}.nav-tabs .nav-link.active{background-color:var(--light-blue-vivid-600);color:white;border-color:var(--light-blue-vivid-600)}.nav-tabs{border-bottom:none}.blog-card:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,0,0,0.1) !important;transition:all 0.3s ease}.newsletter-hero{background:linear-gradient(135deg, var(--light-blue-vivid-050) 0%, var(--cyan-050) 100%);border-radius:0.5rem;padding:1.5rem;margin-bottom:2rem}.newsletter-cta{background:linear-gradient(135deg, var(--blue-grey-050) 0%, var(--light-blue-vivid-050) 100%);border:1px solid var(--blue-grey-200);border-radius:0.5rem;padding:2rem;margin:2rem 0}.blog-content h1,.blog-content h2,.blog-content h3,.blog-content h4,.blog-content h5,.blog-content h6{color:var(--blue-grey-800);font-weight:600;margin-top:2rem;margin-bottom:1rem;line-height:1.3}.blog-content h1{font-size:2.2rem}.blog-content h2{font-size:1.8rem}.blog-content h3{font-size:1.5rem}.blog-content h4{font-size:1.3rem}.blog-content p{margin-bottom:1.5rem;line-height:1.7;color:var(--blue-grey-700)}.blog-content blockquote{border-left:4px solid var(--light-blue-vivid-500);padding-left:1.5rem;margin:2rem 0;font-style:italic;color:var(--blue-grey-700);background-color:var(--blue-grey-050);padding:1rem 1rem 1rem 1.5rem;border-radius:0 0.25rem 0.25rem 0}.blog-content ul,.blog-content ol{margin-bottom:1.5rem;padding-left:2rem}.blog-content ul li,.blog-content ol li{margin-bottom:0.5rem;line-height:1.6;color:var(--blue-grey-700)}.blog-content table{width:100%;border-collapse:collapse;margin:2rem 0;font-size:0.95rem}.blog-content table th,.blog-content table td{padding:0.75rem;text-align:left;border-bottom:1px solid var(--blue-grey-200)}.blog-content table th{background-color:var(--blue-grey-100);font-weight:600;color:var(--blue-grey-800)}.blog-content table tr:hover{background-color:var(--blue-grey-050)}.blog-content pre,.blog-content code{background-color:var(--blue-grey-100);border-radius:0.25rem;font-family:'Monaco', 'Menlo', 'Ubuntu Mono', monospace}.blog-content code{padding:0.2rem 0.4rem;font-size:0.9em;color:var(--blue-grey-800)}.blog-content pre{padding:1rem;overflow-x:auto;margin:1.5rem 0}.blog-content pre code{padding:0;background:none}.blog-content img{max-width:100%;height:auto;border-radius:0.5rem;box-shadow:0 2px 10px rgba(0,0,0,0.1);margin:1.5rem 0}.featured-image-container{position:relative;overflow:hidden;border-radius:0.5rem}.featured-image-container img{transition:transform 0.3s ease}.featured-image-container:hover img{transform:scale(1.05)}.badge{font-weight:500;font-size:0.8rem;padding:0.5rem 0.75rem}.badge.badge-category{background-color:var(--light-blue-vivid-100);color:var(--light-blue-vivid-700)}.badge.badge-tag{background-color:var(--cyan-100);color:var(--cyan-700)}.social-share .btn{margin-right:0.5rem;margin-bottom:0.5rem}.social-share .btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,0.15)}.article-meta{font-size:0.9rem;color:var(--blue-grey-500)}.article-meta .meta-item{display:inline-flex;align-items:center;margin-right:1rem}.article-meta .meta-item i{margin-right:0.25rem}.blog-sidebar .sticky-top{top:2rem}@media (max-width: 768px){.blog-content{font-size:1rem !important}.blog-content h1{font-size:1.8rem}.blog-content h2{font-size:1.5rem}.blog-content h3{font-size:1.3rem}.blog-content h4{font-size:1.1rem}.blog-content table{font-size:0.85rem}.blog-content table th,.blog-content table td{padding:0.5rem}.newsletter-hero{padding:1rem}.newsletter-hero .d-flex{flex-direction:column !important;gap:1rem}.newsletter-hero .d-flex .form-control{min-width:100% !important}.newsletter-cta{padding:1.5rem}.newsletter-cta .row .col-md-8,.newsletter-cta .row .col-md-4{width:100%;margin-bottom:1rem}.newsletter-cta .row .d-flex{flex-direction:column;gap:0.5rem}.sticky-top{position:static !important}.social-share .btn{font-size:0.8rem;padding:0.375rem 0.75rem}}@media (max-width: 576px){.container{padding-left:1rem;padding-right:1rem}.blog-content h1{font-size:1.6rem}.blog-content h2{font-size:1.4rem}.blog-content h3{font-size:1.2rem}.blog-content h4{font-size:1.1rem}.card-body{padding:1rem !important}.newsletter-hero,.newsletter-cta{padding:1rem}}.hover-underline:hover{text-decoration:underline !important}.hover-underline:focus{outline:2px solid var(--light-blue-vivid-500);outline-offset:2px}html{scroll-behavior:smooth}.loading-shimmer{background:linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}100%{background-position:-200% 0}}@media print{.blog-sidebar,.social-share,.newsletter-cta,.newsletter-hero{display:none !important}.blog-content{font-size:12pt;line-height:1.5;color:black}.container{max-width:none;margin:0;padding:0}}.candidate-dem{color:#1375b7;font-weight:500}.candidate-rep{color:#c93135;font-weight:500}.ou-positive{color:green;font-weight:500}.ou-negative{color:red;font-weight:500}.blog-sticky-sidebar{top:90px;z-index:1019}@media (min-width: 992px){.sidebar-scroll-container{max-height:calc(100vh - 120px);overflow-y:auto;padding-right:15px;padding-bottom:2rem}}html{scrollbar-gutter:stable}h1,h2,h3{font-family:'Poppins', sans-serif}body{font-family:'Nunito', sans-serif;font-optical-sizing:auto;margin:0;padding:0}.has-fixed-nav .content-wrapper{margin-top:80px}@media (min-width: 992px){#sidebarNav{border-right:1px solid var(--blue-grey-100);background-color:var(--blue-grey-050);position:fixed;top:0;left:0;width:280px;height:100vh;z-index:1030;display:flex;flex-direction:column}main{margin-left:280px}}.logo-image{height:40px}.pricing-btn-outline{color:var(--light-blue-vivid-600) !important;border-color:var(--light-blue-vivid-600) !important;transition:all 0.15s ease-in-out}.pricing-btn-outline:hover{background-color:var(--light-blue-vivid-600) !important;color:white !important}.sample-districts-btn{background-color:var(--light-blue-vivid-600) !important;color:white !important;border:none !important;transition:all 0.15s ease-in-out}.sample-districts-btn:hover{background-color:var(--light-blue-vivid-700) !important}.navbar.bg-white.border-bottom{border-bottom:none !important}.navbar{padding-top:0.75rem;padding-bottom:0.75rem}#flash-container{transition:all 0.3s ease-in-out;overflow:hidden}.flash-message{transition:all 0.3s ease-in-out;overflow:hidden}.flash-message.closing{margin-top:-100%;opacity:0}
