/*TEMP Party Toggle */

button#party-toggler {
    background: #9b1b31;
    border-color: #9b1b31;
}

button#party-toggler.rep-active {
    background: #071933;
    border-color: #071933;
}

/*Utilities */

/* Bootstrap-like z-index utility classes */
.z-n1 {
  z-index: -1 !important;
}

.z-0 {
  z-index: 0 !important;
}

.z-1 {
  z-index: 1 !important;
}

.z-2 {
  z-index: 2 !important;
}

.z-3 {
  z-index: 3 !important;
}



/* Global */
:root {
 --accent-color: #E02F4C;
 --light-color:#EEF5FD;
 --medium-color:#8AC7E6;
 --dark-color:#071933;
 --bs-border-color:#DEE2E6;
 --alt-dark-color:#09244B;
 --body-text:#3B3F42;
 --overlay-color: 7, 25, 51; /* RGB without alpha */
 --overlay-opacity-start: 0.65;
 --overlay-opacity-mid: 0.56;
 --overlay-opacity-end: 0.55;
 --bs-link-hover-color: #1f64c9; 
}
 
.bg-light {
  background-color: #EEF5FD !important;
}
 
/* gray background checkbox */  
.gray-bg {
    background: #fafafa;
    padding: 20px;
    border: 1px solid #eee;
}  


/* Fonts */
body {
    font-family: 'Source Sans Pro', sans-serif;
    color:var(--body-text);
}
  
h1 {
    font-weight: 700;
    font-size: 3em;
} 

  
h2 {
  font-size:2.25em;
  font-weight:700;
  color:var(--alt-dark-color);
}
  
.h3, h3 {
    font-size: calc(1.3rem + .6vw);
}  

h3 a {
    color: var(--dark-color);
}
  
a, .nav-link {
	color: var(--dark-color);
}
  
a.more-releases {
    font-weight: 600;
}  

/* Hide Skip To Main Nav */
a.skip-to-main-content-link {
    display: none;
}

  
  

/*Main Header */

header.main-banner {
    background: #434343;
}
  
#main.homepage section:first-child, #main.homepage .container:first-child {
  margin-top: 2em;
}
  
body[data-site-type="secretary-other"] header.main-banner:before {
    content: " ";
    width: 375px;
    height: 375px;
    background: url('/media/governorvirginiagov/secretary-of-the-commonwealth/icons/Virginia-State-Seal-White.svg') top left no-repeat;
    position: absolute;
    top: 10px;
    left: 0px;
    background-size: 75%;
    opacity: .15;
}  

a.site-branding {
    text-decoration: none;
    color: #FFF;
}
  
body[data-site-type="governor"] .main-banner a.site-branding:before, body[data-site-type="governor-elect"] .main-banner a.site-branding:before {
    content: "";
    height: 145px;
    width: 145px;
  background-image: url('/media/governorvirginiagov/governor-of-virginia/images/2026-Gov-Seal_op.png');
	background-size: cover;
  	position: absolute;
  	left: 0;
    z-index:2;
}
  
  
@media (max-width: 728px) {
  
  body[data-site-type="governor"] .main-banner a.site-branding:before, body[data-site-type="governor-elect"] .main-banner a.site-branding:before {
    margin: 0.25em auto;
    position: relative;
}
  
}
  
 body[data-site-type="governor"] .main-banner a.site-branding:before, body[data-site-type="governor-elect"] .main-banner a.site-branding:before {
    margin: 0.25em auto;
}   
  
body[data-site-type="lt-governor"] .main-banner a.site-branding:before, body[data-site-type="lt-governor-elect"] .main-banner a.site-branding:before, body[data-site-type="ag-elect"] .main-banner a.site-branding:before   {
    content: "";
    height: 105px;
    width: 105px;
  	background-image: url('/media/governorvirginiagov/shared-images/gray_white_seal.png');
	background-size: cover;
  	position: absolute;
  	left: 0;
}
  
@media (min-width: 728px) {

body[data-site-type="lt-governor"] .main-banner a.site-branding:before, body[data-site-type="lt-governor-elect"] .main-banner a.site-branding:before, body[data-site-type="ag-elect"] .main-banner a.site-branding:before   {
    height: 125px;
    width: 125px;
}
  
}

a.site-branding span{
    font-size: 20px;
    font-weight: 700;
    margin: 0;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #a3a3a3;
    display:block;
    margin-bottom: 5px;
}
  
  
  
header .site-branding {
  font-weight: 700;
  font-size: 1.25em;
  margin: 0;
  line-height: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  text-transform: uppercase;
  z-index:2;
}
  
@media (min-width: 728px) {
  header .site-branding {
    font-size:3em;
  }
}
  
  
  
body[data-site-type="governor"] header .site-branding, body[data-site-type="governor-elect"] header .site-branding {

  padding: 30px 0 30px 165px;
}
  
@media (max-width: 728px) {
  
  body[data-site-type="governor"] header .site-branding, body[data-site-type="governor-elect"] header .site-branding {
    padding: 0;
    align-items: center;
}
  
}  

  
body[data-site-type="lt-governor"] header .site-branding, body[data-site-type="lt-governor-elect"] header .site-branding, body[data-site-type="ag-elect"] header .site-branding,body[data-site-type="ag-elect-elect"] header .site-branding    {
  font-weight: 700;
  font-size: 1.75em;
  margin: 0;
  line-height: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  padding: 30px 0 30px 125px;
}
  

  
@media (min-width: 728px) {
body[data-site-type="lt-governor"] header .site-branding, body[data-site-type="lt-governor-elect"] header .site-branding, body[data-site-type="ag-elect"] header .site-branding,body[data-site-type="ag-elect-elect"] header .site-branding    { 
font-size:3em;
  padding: 30px 0 30px 145px;

}
}
  
header p.position-name {
    font-size: 1.5em;
    font-weight: 400;
    line-height: normal;
    margin-top: 5px;
}


header.main-banner > .container-fluid {
    margin: auto 0;
    display: initial;
}
  

body[data-site-type="governor"] #header-bg, body[data-site-type="governor-elect"] #header-bg {

  background-image:url('/media/vagov/assets/img/capitol_outline.svg');
  background-size: cover;
  position: relative;
  height: 200px;
  width: 100%;
  position: absolute;
  top: 6px;
  right: 0;
  opacity: 0.15;
}
  

  
@media(min-width:1024px) {
	body[data-site-type="governor"] #header-bg, body[data-site-type="governor-elect"] #header-bg  {
    width: 975px;
}
  
}
  

/*Main Navigation */

header.main-banner + nav
 {
    background: #c1c1c1;
}

header.main-banner + nav .navbar-nav li.nav-item a {
    text-decoration: none;
    font-weight: 600;
    color: #434343;
    line-height:1.75em;
}

header.main-banner + nav li a {
    padding: 0.5em 1em;
}
  
/*Page Header and Breadcrumb */
  
main > header:first-of-type {
    background: var(--dark-color);
    color: #fff;
    padding: 4em 1.25em 1.25em 2em;
}
  
main > header:first-of-type a {
  color: #fff;
}
  
header.main-banner + nav.navbar {
    padding: 0;
}
  
header.main-banner + nav.navbar li {
    padding: 0.5em;
}
 
ul.multilevel-linkul-0 {
    display: none;
}

main > header:first-of-type:before {
    content: " ";
    width: 500px;
    height: 500px;
    background: url(/media/governorvirginiagov/secretary-of-the-commonwealth/icons/Virginia-State-Seal-White.svg) top left no-repeat;
    position: absolute;
    top: 10px;
    right: -100px;
    background-size: 75%;
    opacity: .15;
}



/* Hide dropdowns by default */
.multilevel-linkul-0 {
    display: none;
    list-style: none;
    padding-left: 1rem;
    background-color: white;
    border: 1px solid #ccc;
    position: absolute;
    z-index: 1000;
  	left:0;
}

/* Show dropdown when toggled */
.multilevel-linkul-0.show-dropdown {
    display: block;
    padding: 0.75em 1.25em 0.5em 0.25em;
}

/* Style for dropdown items */
.multilevel-linkul-0 li a {
    display: block;
    padding: 0.5rem 1rem;
    color: #000;
    text-decoration: none;
}

.multilevel-linkul-0 li a:hover {
    background-color: #f0f0f0;
}

/* Visual cue for dropdowns */
.nav-item.has-dropdown > a::after, .nav-item.has-dropdown > span a::after {
    content: " ▼";
    font-size: 0.7em;
    margin-left: 0.3em;
}
  
.main-banner + nav > .navbar.navbar-expand-lg.navbar-dark {
  padding: 0;
}
 
.nav-item.has-dropdown.nav-item-selected {
  background: white;
}

#navbarNav > ul > li > a, #navbarNav > ul > li > span a {
  display: block;
}
  
#navbarNav .nav-item {
  position: relative;
  border-bottom: 2px solid transparent;
}
  
#navbarNav .nav-item:hover {
   border-bottom: 2px solid var(--dark-color);
}
  
header + nav ul.multilevel-linkul-0 li:first-of-type {
    font-size: 1.35em;
    white-space: nowrap;
    padding: 0.5em;
}
  
header + nav ul.multilevel-linkul-0 li:first-of-type a {
    padding: 0;
    border-bottom: 2px solid #dbdbdb;
}
  

  
  
/*Nav Toggler */
  
button.navbar-toggler {
    margin: 0.5em;
}
  

  

/*Footer*/
  
footer a {
    color: #fff;
    text-decoration: none;
}
  
footer a:hover {
    color:#fff;
    text-decoration: underline
}


a.footer-title {
    text-decoration: none;
    color: #FFF;
      text-transform: uppercase;

}

a.footer-title p:not(.office-position) {
    font-size: 20px;
    font-weight: 700;
    margin: 0;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #a3a3a3;
}

footer {
    background: #434343;
    color: #fff;
}

footer .footer-title {
    text-align: center;
}

footer .footer-title p.office-position{
    font-weight: 700;
    font-size: 3em;
    margin: 0;
    line-height: 1;
}
  
/*Modules*/

.gov-module {
    margin: 0.75em;
}


/* Card */
  
.card {
    border-radius: 0;
    padding: 1.5em 1em;
}
  
.card-title {
    /*font-size: 2.15em;*/
    font-weight: 600;
}

@media (min-width: 1024px) {
  .bg-card:not(.text-center) .card-title {
    max-width: 45%;
  }
}


.bg-card.text-center .card-bg-overlay {
  /*background: linear-gradient(
    90deg,
    rgba(var(--overlay-color), var(--overlay-opacity-start)) 0%,
    rgba(var(--overlay-color), var(--overlay-opacity-mid)) 55%,
    rgba(var(--overlay-color), var(--overlay-opacity-end)) 100%
  );*/
  background: #071933d4;
}

  
.card-body {
    padding-bottom: 0;
}
  
.card-body h3 {
	color:var(--alt-dark-color) 
}
  
.card-body p {
 color:var(--body-text); 
}

.card-footer {
    background: none;
    border: 0;
}
  
.card-bg {
    position: absolute;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    inset:0;
}
  

.card-bg-light {
  background: var(--light-color);
}
  

  
.card-bg-medium {
    background: var(--medium-color);
    color: var(--dark-color);
}
  
.card-bg-dark {
  background: var(--dark-color);
  color: white;
}

.card-bg-dark .card-body p,.card-bg-dark .card-body h3, .card-bg-dark .card-body h2, .bg-card .card-title, .bg-card h3, .bg-card h2, .bg-card .card-label  {
	color:white;
}

.card-bg-overlay {
  position: absolute;
  inset: 0;
  background: #071933;
  background: linear-gradient(90deg,rgba(7, 25, 51, 1) 0%, rgba(7, 25, 51, 0.46) 75%, rgba(7, 25, 51, 0.25) 100%); 
  z-index:1;
}
  
.featured-card .card-title {
    margin-bottom: var(--bs-card-title-spacer-y);
    max-width: 60%;
    font-size: 3em;
    font-weight: 600;
}
  
.card .card-label {
  text-transform:uppercase;
  font-weight:600;
}
  
.card.bg-card {
    padding: 2em 2em 2.5em;
}
  
.card-icon-small-center .card-img-top {
    max-width: 125px;
    margin: 1rem auto 0;
    display: block;
}  
  
/*Temp Fix for Homepage Card */
  
#main.homepage > div .card.bg-card {
    padding-top: 6em;
}


@media (min-width: 728px) {
#main.homepage > div .card.bg-card .card-title {
    max-width: 45%;
}
}
  
#main.homepage > div .card.bg-card {
    padding-top: 6em;
    text-align: left !important;
}
  
#main.homepage > div .card.bg-card .card-bg {
    background-position:right;
}
  
#main.homepage > div .card.bg-card h1.card-title {
    font-size: 2em;
}  

  
/* Quarter Cards */
  
.col-xs-12.col-lg-3.pb-3 h3 {
    font-size: 1.35em;
}
  
  
/* Button */
  
.btn {
    padding: 0.6em 1.25em;
}  
  
a.btn {
    border-radius: 0;
    font-weight: 600;
    background: var(--accent-color);
    border-color: var(--accent-color);
}
  
.card-bg-dark a.btn.btn-primary.btn-outline {
    background: none;
    border-color: white;
    color:white;
}  
  
a.btn.btn-primary.btn-outline {
    background: none;
    border-color: var(--dark-color);
    color: var(--dark-color);
}  

/*News */
  
#newshere article h3 {
 font-size:1.5em; 
}
  
#newshere article a {
  color: var(--dark-color);
  font-weight:600;
  display: inline-block;
  text-decoration: none;
}
  
#newshere article a:hover {
    color: var(--bs-link-hover-color);
    text-decoration: underline;
}  

#newshere article .date {
  color:var(--dark-color);
  font-weight: 700;
  text-transform:uppercase;
}


#newshere a div {
    background: var(--dark-color);
    padding: 0.75em;
    display: table;
    margin-left: auto;
    position: absolute;
    right: 0;
    bottom: 0.25em;
    background-image: url(/media/governorvirginiagov/shared-images/icons/arrow-right.png);
    background-position: center;
}
  

#newshere a:hover {
  color: var(--bs-link-hover-color);
}
  
  
#newshere a:hover img {
    background: var(--bs-link-hover-color);
}
  
  
#newshere article:hover {
    background-color: var(--dark-color) !important;
    color: #fff;
}
  
#newshere article:hover a, #newshere article:hover span {
   color: #fff;
}
  
  #newshere a.btn.btn-primary:hover {
    background: #86182a;
    color: #fff;
    border: 1px solid #86182a;
}


/*Events*/
  
  
.govevent h3 {
    font-size: 1.25em;
}  

.govevent p {
    color: var(--dark-color);
}

  
.govevent {
    border: 1px solid var(--bs-border-color);
    border-left: 5px solid var(--accent-color);
}

/*Accordions */
  
.accordion-item button {
    background: #e9e9e9;
    padding: 1.5em 3em;
    font-weight: 600;
    margin-bottom: 1.25em;
}

  .accordion-button:not(.collapsed) {
    background-color: var(--light-color);
    color: var(--dark-color);
  }

.accordion-flush .accordion-collapse.show {
    margin-top: -1.25em;
}

/* Columns and Column Elements */

.container + .container {
    /*padding-top: 2.75em;*/
}


/*Elasticsearch */
  
div.va-esearch button {
    background: var(--accent-color) !important;
}

/*Documentation */
  
.main-heading {
  background: var(--dark-color);
  color: white;
}





































































































































