@charset "utf-8";
/* CSS Document */

/*==================================================
HEADER
==================================================*/

.site-header{
    background:#fff;
}

.network-bar{
    min-height:31px;
    background:#1c1c1c;
    color:#fff;
    font-size:12px;
}

.network-links{
    display:flex;
    gap:17px;
    width:min(1310px,calc(100% - 50px));
    padding:6px 0 7px;
    overflow-x:auto;
    white-space:nowrap;
}

.nav-toggle{
    position:absolute;
    opacity:0;
    pointer-events:none;
}


/*==================================================
MASTHEAD
==================================================*/

.election-masthead{
    background:#fff;
    border-bottom:1px solid var(--line);
    color:#111;
}

.masthead-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    min-height:52px;
    padding:8px 0;
}

.masthead-brand{
    display:flex;
    align-items:center;
    flex:1;
    min-width:0;
}

.brand-home{
    display:inline-flex;
    align-items:center;
    gap:18px;
    min-width:0;
}

.brand-prime{
    display:inline-flex;
    align-items:center;
    width:clamp(112px,11vw,150px);
    flex:0 0 auto;
}

.brand-logo{
    display:block;
    width:100%;
    height:auto;
}

.brand-mark{
    display:inline-flex;
    flex-direction:column;
    justify-content:center;
    min-height:34px;
    text-transform:uppercase;
    line-height:1.1;
    white-space:nowrap;
}

.brand-state{
    color:#4a4a4a;
    font-size:22px;
    font-weight:900;
}

.brand-year{
    font-size:14px;
    font-weight:900;
}


/*==================================================
HEADER TOOLS
==================================================*/

.masthead-tools{
    display:flex;
    align-items:center;
    gap:15px;
    flex-shrink:0;
}

.masthead-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
    color:#555;
}

.masthead-action .material-symbols-rounded{
    font-size:24px;
    line-height:1;
}

.masthead-search,
.masthead-share{
    transition:.2s ease;
}

.masthead-search:hover,
.masthead-share:hover{
    color:var(--brand-red);
}

.masthead-search{
    xopacity:0;
    xvisibility:hidden;
    xwidth:0;
    margin:0;
    overflow:hidden;
    transition:
        opacity .2s ease,
        width .2s ease,
        margin .2s ease;
}

.site-header.is-scrolled .masthead-search{
   xopacity:1;
   xvisibility:visible;
   xwidth:22px;
    xmargin-right:8px;
}

.has-sticky-proposal-header .site-header{
    xposition:sticky;
    xtop:var(--global-bar-height);
    xz-index:2000;
    xbackground:#fff;
}


.has-sticky-proposal-header .election-nav{
    position:relative;
    top:auto;
	position:sticky;
    top:var(--global-bar-height);
    z-index:2000;
    background:#fff;
}

.desktop-only{
    display:inline-flex;
}


.nav-tools .masthead-search{
    xopacity:0;
    xvisibility:hidden;
    xwidth:0;
    overflow:hidden;
    transform:translateX(8px);

    transition:
        opacity .25s ease,
        transform .25s ease,
        width .25s ease,
        margin .25s ease;
}

.site-header.is-scrolled .nav-tools .masthead-search{
    opacity:1;
    visibility:visible;
    width:24px;
    margin-right:8px;
    transform:none;
}

/*==================================================
THE STAR LINK
==================================================*/

.masthead-star-link,
.nav-star-link{
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:2px;
    color:#333;
    font-size:16px;
    font-weight:700;
    text-decoration:none;
}

.masthead-star-link::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-4px;
    height:1px;
    background:#d6d6d6;
    transform:scaleX(0);
    transform-origin:left;
    transition:.2s;
}

.masthead-star-link:hover::after{
    transform:scaleX(1);
}

.star-link-arrow{
    font-size:18px;
}


/*==================================================
LANGUAGE
==================================================*/

.language-switch{
    display:flex;
    align-items:center;
    gap:6px;
}

.language-switch a{
    color:#000;
    font-size:14px;
    font-weight:700;
}

.language-switch a+a::before{
    content:"";
    display:inline-block;
    width:1px;
    height:12px;
    margin-right:8px;
    background:#d6d6d6;
}

.language-switch .is-active{
    color:var(--brand-red);
}

.nav-language-switch{
    display:none;
}


/*==================================================
NAVIGATION
==================================================*/

.election-nav{
    position:sticky;
    top:0;
    z-index:20;
    background:#fff;
    border-bottom:1px solid var(--line);
}

.nav-bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    min-height:var(--election-nav-height);
}

.nav-scroll{
    display:flex;
    align-items:center;
    white-space:nowrap;
}

.nav-scroll>a,
.nav-dropdown summary{
    position:relative;
    display:inline-flex;
    align-items:center;
    min-height:var(--election-nav-height);
    padding:0 10px;
    color:#4a4a4a;
    font-size:16px;
    font-weight:700;
}

.nav-scroll>a:first-child{
    padding-left:0;
}

.nav-scroll>a::after{
    content:"";
    position:absolute;
    left:10px;
    right:10px;
    bottom:0;
    height:2px;
    background:#d6d6d6;
    transform:scaleX(0);
    transition:.2s;
}

.nav-scroll>a:first-child::after{
    left:0;
}

.nav-scroll>a:hover::after{
    transform:scaleX(1);
}

.nav-scroll>a.is-active::after{
    background:var(--brand-red);
    transform:scaleX(1);
}

.nav-scroll>a:hover,
.nav-scroll>a.is-active{
    color:#111;
}


/*==================================================
NAV DROPDOWN
==================================================*/

.nav-dropdown{
    position:relative;
    display:inline-flex;
    align-items:center;
}

.nav-dropdown summary{
    display:flex;
    align-items:center;
    gap:4px;
    cursor:pointer;
    list-style:none;
}

.nav-dropdown summary::-webkit-details-marker{
    display:none;
}

.nav-dropdown summary::after{
    content:"expand_more";
    font-family:"Material Symbols Rounded";
    font-size:16px;
}

.nav-dropdown[open] summary::after{
    content:"expand_less";
}

.nav-dropdown-menu{
    position:absolute;
    top:100%;
    left:0;
    display:grid;
    min-width:130px;
    background:#fff;
    border:1px solid var(--line);
    box-shadow:0 8px 18px rgba(0,0,0,.08);
}

.nav-dropdown:not([open]) .nav-dropdown-menu{
    display:none;
}

.nav-dropdown-menu a{
    padding:10px 14px;
	display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.nav-dropdown-menu a:hover{
    background:#f8f8f8;
}


.nav-dropdown-menu.sub-menu-list a {
	font-size: 14px;
    font-weight: 900;
    letter-spacing: .02em;
    text-transform: uppercase;
    text-decoration: none;
	color: #777;
}

.nav-dropdown-menu.sub-menu-list a::after {
content: "open_in_new";
    font-family: "Material Symbols Rounded";
    font-size: 13px;
    line-height: 1;
    text-transform: none;
	
}

/*==================================================
NAV RIGHT
==================================================*/

.nav-right{
    display:flex;
    align-items:center;
    gap:18px;
}

.nav-tools{
    display:flex;
    align-items:center;
    gap:15px;
}

.mobile-more,
.mobile-menu-panel{
    display:none;
}


/*==================================================
STATE NAV
==================================================*/

.state-nav{
    background:#FFF0DB;
}

.state-nav-inner{
    display:flex;
    align-items:center;
    min-height:41px;
}

.state-nav-label{
    margin:0;
    color:#333;
    font-weight:900;
}

.state-nav-scroll{
    display:flex;
    align-items:center;
    overflow-x:auto;
    white-space:nowrap;
    scrollbar-width:none;
}

.state-nav-scroll::-webkit-scrollbar{
    display:none;
}

.state-nav-scroll a{
    padding:0 14px;
    border-right:1px solid var(--line);
    color:#555;
    font-size:16px;
}

.state-nav-scroll a:last-child{
    border-right:0;
}

.state-nav-scroll a.is-active{
    color:var(--brand-red);
    font-weight:900;
}


/*==================================================
DESKTOP RESPONSIVE
==================================================*/



.site-header{
    
}

.election-nav{
    position:sticky;
    top:var(--global-bar-height);
    z-index:1000;
    background:#fff;
}

.nav-tools{
    display:flex;
}

.nav-language-switch{
    display:inline-flex;
}

.nav-star-link{
    display:none;
}

/*==================================================
TABLET NAV
==================================================*/

@media (min-width:768px) and (max-width:991px){

.desktop-only{
    display:none!important;
}

.election-nav{
    position:relative;
    top:auto;
    border-top:1px solid #ececec;
    z-index:2;
    background:#fff;
}

.nav-bar,
.nav-scroll{
    min-width:0;
}

.nav-bar{
    display:flex;
}

.nav-scroll{
    display:flex;
    align-items:stretch;
    width:100%;
}

.nav-scroll > a{
    flex:0 0 auto;
}

.nav-scroll>a,
.nav-dropdown summary{
    position:relative;
    display:inline-flex;
    align-items:center;
    min-height:var(--election-nav-height);
    padding:0 10px;
    color:#4a4a4a;
    font-size:13px;
    font-weight:700;
}

.mobile-more{
    position:relative;
    display:inline-flex;
    align-items:stretch;
}

.mobile-more summary{
    list-style:none;
}

.mobile-more summary::-webkit-details-marker{
    display:none;
}

.mobile-more[open] .mobile-menu-panel{
    display:block;
}

.mobile-more .mobile-menu-panel{
    position:absolute;
    top:100%;
    left:auto;
    right:0;
    width:300px;
    max-width:calc(100vw - 20px);
    transform:none;
    background:#fff;
    border:1px solid var(--line);
    box-shadow:0 8px 18px rgba(0,0,0,.08);
    overflow:hidden;
    z-index:999;
}

.mobile-more .mobile-menu-panel .nav-dropdown-menu{
    position:static;
    width:100%;
    min-width:0;
    border:0;
    border-radius:0;
    box-shadow:none;
}

.mobile-more .mobile-menu-panel > a,
.mobile-more .mobile-menu-panel > .mobile-past-elections > summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:0;
    padding:16px 20px;
    color:#4a4a4a;
    font-size:14px;
    font-weight:800;
    text-decoration:none;
}

.mobile-more .mobile-menu-panel > .mobile-past-elections{
    display:block;
    width:100%;
}

.mobile-more .mobile-menu-panel > .mobile-past-elections > summary{
    cursor:pointer;
}

.mobile-more .mobile-menu-panel > .mobile-past-elections > summary::after{
    content:"expand_more";
    font-family:"Material Symbols Rounded";
    font-size:16px;
    line-height:1;
    margin-left:auto;
}

.mobile-more .mobile-menu-panel > .mobile-past-elections[open] > summary::after{
    content:"expand_less";
}

.mobile-more .mobile-menu-panel > .mobile-past-elections > .nav-dropdown-menu{
    display:block;
    padding:0 0 8px;
}

.mobile-more .mobile-menu-panel > .mobile-past-elections > .nav-dropdown-menu a{
    display:flex;
    align-items:center;
    gap:6px;
    width:100%;
    padding:7px 10px 7px 30px;
    color:#777;
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
}

.mobile-more .mobile-menu-panel > .mobile-past-elections > .nav-dropdown-menu a[target="_blank"]::after{
    content:"open_in_new";
    font-family:"Material Symbols Rounded";
    font-size:13px;
    line-height:1;
    text-transform:none;
}

.mobile-more .mobile-language{
    display:flex;
    align-items:center;
    gap:0;
    margin:8px 0 0;
    padding:14px 20px;
    border-top:1px solid #efefef;
}

.mobile-more .mobile-language a{
    color:#666;
    font-size:14px;
    font-weight:800;
    line-height:1;
}

.mobile-more .mobile-language a.is-active{
    color:var(--brand-red);
}

.mobile-more .mobile-language a + a{
    position:relative;
    margin-left:16px;
    padding-left:16px;
}

.mobile-more .mobile-language a + a::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:1px;
    height:18px;
    background:#ddd;
    transform:translateY(-50%);
}

}



/*==================================================
MOBILE
==================================================*/

@media (max-width:767px){

/*----------------------------------
Hero
----------------------------------*/

.election-hero-grid{
    display:flex;
    flex-direction:column;
}

.election-hero-main{
    order:1;
}

.newsletter-sidebar{
    order:2;
}

/*----------------------------------
Header
----------------------------------*/

.desktop-only{
    display:none!important;
}

.site-header{
    position:sticky;
    top:var(--global-bar-height);
    z-index:1000;
    background:#fff;
}

.election-masthead{
    border-bottom:1px solid var(--line);
}

.masthead-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    height:60px;
    min-height:60px;
    padding:0;
    gap:16px;
}

.has-sticky-proposal-header .masthead-inner{
    height:54px;
    min-height:54px;
}

.has-sticky-proposal-header .brand-logo{
    height:34px;
}

.has-sticky-proposal-header .brand-state{
    font-size:16px;
}

.has-sticky-proposal-header .brand-year{
    font-size:11px;
}

.masthead-brand{
    flex:1;
    min-width:0;
}

.brand-home{
    gap:10px;
}

.brand-logo{
    height:40px;
    width:auto;
}

.brand-mark{
    min-height:auto;
}

.brand-state{
    font-size:18px;
    line-height:1;
}

.brand-year{
    margin-top:2px;
    font-size:12px;
}

.masthead-tools{
    display:flex;
    align-items:center;
    gap:10px;
    flex-shrink:0;
}

.masthead-action{
    width:24px;
    height:24px;
}

.masthead-action .material-symbols-rounded{
    font-size:22px;
}

	.no-header-search .masthead-search {
		xdisplay: none;
	}
/*----------------------------------
Navigation
----------------------------------*/

.election-nav{
    position:relative;
    top:auto;
    border-top:1px solid #ececec;
    z-index:2;
    background:#fff;
}

/* Navigation */

.nav-bar{
    display:flex;
}

.nav-scroll{
    display:flex;
    align-items:stretch;
    width:100%;
}

.nav-scroll > a{
    flex:0 0 auto;
}

.mobile-more{
    position:relative;
    display:inline-flex;
}

.mobile-more-btn{
    display:inline-flex;
    align-items:center;
    gap:4px;
    min-height:var(--election-nav-height);
    padding:0 10px;
    background:none;
    border:0;
    color:#4a4a4a;
    font-size:14px;
    font-weight:700;
    cursor:pointer;
    list-style:none;
}

.mobile-more-btn::-webkit-details-marker{
    display:none;
}

.mobile-menu-panel{
    position:absolute;
    top:100%;
    right:0;
    display:none;
    width:280px;
    background:#fff;
    border:1px solid var(--line);
    box-shadow:0 8px 18px rgba(0,0,0,.08);
    z-index:999;
}

.mobile-more[open]>.mobile-menu-panel{
    display:block;
}

.nav-scroll>a,
.nav-dropdown summary{
    position:relative;
    display:inline-flex;
    align-items:center;
    min-height:var(--election-nav-height);
    padding:0 10px;
    color:#4a4a4a;
    font-size: 15px;
    font-weight:700;
}
	
/*----------------------------------
Dropdown
----------------------------------*/

.mobile-menu-panel{
    position:absolute;
    top:calc(100% + 0px);
    right:12px;
    width:300px;
    background:#fff;
    border:1px solid var(--line);
    box-shadow:0 12px 30px rgba(0,0,0,.15);
    overflow:hidden;
    display:none;
    z-index:999;
}

.mobile-menu-panel.show{
    display:block;
}

.mobile-menu-inner{
    display:flex;
    flex-direction:column;
}

.mobile-menu-inner>a,
.mobile-dropdown-group summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px 20px;
    color:#4a4a4a;
    font-size:15px;
    font-weight:600;
    text-decoration:none;
    xborder-bottom:1px solid #efefef;
}

.mobile-dropdown-group{
    xborder-bottom:1px solid #efefef;
}

.mobile-dropdown-group summary{
    list-style:none;
    cursor:pointer;
}

.mobile-dropdown-group summary::-webkit-details-marker{
    display:none;
}

.mobile-submenu{
    padding:8px 20px 16px;
}

.mobile-submenu a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:10px 0;
    color:#555;
    font-size:14px;
}

.mobile-submenu .material-symbols-rounded{
    font-size:18px;
}

/*----------------------------------
Language
----------------------------------*/

.mobile-language{
    display:flex;
    align-items:center;
    gap:12px;
    padding: 10px 20px;
    border-top: 1px solid #efefef;
}

.mobile-language a{
    color:#666;
    font-size:14px;
    font-weight:700;
}

.mobile-language a.is-active{
    color:var(--brand-red);
}

.mobile-language a+a{
    position:relative;
    padding-left:12px;
}

.mobile-language a+a::before{
    content:"";
    position:absolute;
    left: -6px;
    top: 15px;
    width:1px;
    height:16px;
    background:#ddd;
}

/*----------------------------------
State Navigation
----------------------------------*/

.state-nav{
    position:sticky;
    top:calc(var(--global-bar-height) + 60px + var(--election-nav-height));
    z-index:95;
}

.state-nav-inner{
    min-height:var(--state-nav-height);
}

.state-nav-label{
    margin:0;
}
	
	.mobile-more{
    position:relative;
    display:inline-flex;
    align-items:stretch;
}

.mobile-more summary{
    list-style:none;
}

.mobile-more summary::-webkit-details-marker{
    display:none;
}

.mobile-more[open] .mobile-menu-panel{
    display:block;
}

.mobile-more[open] .mobile-more-btn .material-symbols-rounded{
    transform:rotate(180deg);
}

.mobile-more-btn .material-symbols-rounded{
    transition:transform .2s ease;
}
	
.nav-bar,
.nav-scroll{
    min-width:0;
}

.mobile-more{
    position:static;
}

.mobile-more .mobile-menu-panel{
    position:absolute;
    top:100%;
    left:auto;
    right:10px;
    width: 100%;
    max-width:calc(100vw - 20px);
    transform:none;
}

.mobile-more .mobile-menu-panel .nav-dropdown-menu{
    position:static;
    width:100%;
    min-width:0;
    border:0;
    border-radius:0;
    box-shadow:none;
}

.mobile-more .mobile-menu-panel > a,
.mobile-more .mobile-menu-panel > .mobile-past-elections > summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:0;
    padding: 25px 20px 15px 20px;
    color:#4a4a4a;
    font-size: 14px;
    font-weight:800;
    text-decoration:none;
}

.mobile-more .mobile-menu-panel > .mobile-past-elections{
    display:block;
    width:100%;
}

.mobile-more .mobile-menu-panel > .mobile-past-elections > summary{
    cursor:pointer;
}

.mobile-more .mobile-menu-panel > .mobile-past-elections > summary::after{
    content:"expand_more";
    font-family:"Material Symbols Rounded";
    font-size:16px;
    line-height:1;
    margin-left:auto;
    transition:transform .2s ease;
}

.mobile-more .mobile-menu-panel > .mobile-past-elections[open] > summary::after{
    content:"expand_less";
}

.mobile-more .mobile-menu-panel > .mobile-past-elections > .nav-dropdown-menu{
    display:block;
    padding:0 0 8px;
}

.mobile-more .mobile-menu-panel > .mobile-past-elections > .nav-dropdown-menu a{
    display:flex;
    align-items:center;
    gap:6px;
    width:100%;
    padding: 7px 20px 7px 30px;
    color:#777;
    font-size: 13px;
    font-weight:900;
    letter-spacing:.02em;
    text-transform:uppercase;
    text-decoration:none;
}

.mobile-more .mobile-menu-panel > .mobile-past-elections > .nav-dropdown-menu a[target="_blank"]::after{
    content:"open_in_new";
    font-family:"Material Symbols Rounded";
    font-size:13px;
    line-height:1;
    text-transform:none;
}

.mobile-more .mobile-language{
    margin:8px -8px -8px;
}

.state-polls-status{
    clear:both;
}

.state-polls-status .wrap{
    padding-top:14px;
}

.state-polls-search{
    position:relative;
    z-index:1;
}

}

/* Mobile only */
@media (max-width:767px){

    .masthead-tools .masthead-search{
        xdisplay:none;
    }

    .site-header.is-scrolled .masthead-tools .masthead-search{
        display:inline-flex;
    }

}

a.johorlink::after {
    display: none;
}
