/* Fonts */
@font-face {
  font-family: "Open Sans Regular";
  src: url(/media/governorvirginiagov/bootstrap-5-sites/fonts/OpenSans-Regular.ttf) format('truetype');
  font-weight: 400;
  font-style: regular;	
  font-display: swap;
}

@font-face {
  font-family: "Open Sans Medium";
  src: url(/media/governorvirginiagov/bootstrap-5-sites/fonts/OpenSans-Medium.ttf) format('truetype');
  font-weight: 500;
  font-style: medium;
  font-display: swap;
}

@font-face {
  font-family: "Open Sans Condensed";
  src: url(/media/governorvirginiagov/bootstrap-5-sites/fonts/OpenSans_Condensed-Regular.ttf) format('truetype');
  font-weight: 400;
  font-style: regular;	
  font-display: swap;
}

@font-face {
  font-family: "Inter Regular";
  src: url(/media/governorvirginiagov/bootstrap-5-sites/fonts/Inter-Regular.ttf) format('truetype');
  font-weight: 400;
  font-style: regular;	
  font-display: swap;
}

@font-face {
  font-family: "Inter Medium";
  src: url(/media/governorvirginiagov/bootstrap-5-sites/fonts/Inter-Medium.ttf) format('truetype');
  font-weight: 500;
  font-style: medium;
  font-display: swap;
}

@font-face {
  font-family: "Inter Bold";
  src: url(/media/governorvirginiagov/bootstrap-5-sites/fonts/Inter-Bold.ttf) format('truetype');
  font-weight: 700;
  font-style: medium;
  font-display: swap;
}


/* Colors */
:root {
  --primary-blue: #00174b;
  --secondary-blue: #20396f;
  --accent-red: #d43532;
  --light-grey: #f3f3f3;
  --middle-grey: #f9f9f9;
  --dark-grey: #555555;
  --link-blue: #20396f;
  --white: #ffffff;
/* Tint */
  --primary-blue-tint3: #4c5c81;
/* Table */
  --bg-table-stripe: #f6f6f5;
  --b-table: #e3e3e2;
  --caption: #242423;
}
  
h1 {font-size: 2em; margin: .67em 0 }
h2 {font-size: 1.5em; margin: .75em 0 }
h3 {font-size: 1.2em; margin: .83em 0 }
h4 {font-size: 1.1em; margin: .83em 0 } 
h5 {font-size: .83em; margin: 1.5em 0 }
h6 {font-size: .75em; margin: 1.67em 0 }  
  
.testt:has(.gray-bg > .card)  {
    background-color: var(--middle-grey);
}
  
/* Background */
/* Background for full-width containers */
  .gray-bg {
    background-color: var(--middle-grey);
  }
/* Other Backgrounds */  
  .primary-bg {
    background-color: var(--primary-blue);
  }
  .secondary-bg {
    background-color: var(--secondary-blue);
  }
/* Extends Bootstrap image class */
  .img-fluid{
     width: 100%;
}
/* Text */
  h3 {
       margin-top: 1.5rem;
       margin-bottom: 1.5rem;
  }
/* Links */
 a {
     text-decoration: underline;
     color: var(--primary-blue);
}
 .btn-primary a{
     color: #fff;
     text-decoration: none;
}
 a:focus, a:hover {
     color: #23527c;
     text-decoration: underline;
}
 h2.section-heading{
     border-bottom: 1px solid #d43532;
     padding: 0 0 0.3em 0;
     margin: 1.5rem 0;
}
 .no-border{
     border: none !important;
}
  
 .show-nav {
     display: block !important;
     z-index: 9;
  
}
blockquote {
    padding: 10px 20px;
    margin: 0 0 20px;
    font-size: 17.5px;
    border-left: 5px solid #eee;
}
  

/* Hide state seal on mobile */  
@media screen and (max-width: 991px) {
  .state-seal{display: none;}  
}
  
/* Hide dropdown on mobile, match the current site */
@media screen and (max-width: 991px) {
    /* ul.multilevel-linkul-0{
    display: none !important;
    } */
.navbar-nav li:hover ul {
    display: none !important;
} 
.navbar-nav > li {
    margin: 0.5rem;
    border-bottom: 1px solid #00174b;
    padding-bottom: 1rem;
}
  .navbar-nav li a{
  display: block;
  }
  
      .show-nav {
    display: block !important;
    z-index: 9;
   position: relative !important;
    box-shadow: none !important;
}
  
  
} 
  
/* Nav */
.navbar {
  background-color: var(--secondary-blue);
}
.navbar-title {
    text-decoration: none;
}
.navbar-title:hover {
    text-decoration: none;
}
#navbar .nav > li > a, #navbar .nav > li > span > a {
  font-size: 16px !important;
}
#navbar .nav > li > a, #navbar .nav > li > span > a {
  border-top: none;
  border-bottom: none;
  padding: 3px 0px 3px 0px;
  color: var(--white);
  transition: border .35s ease;
  text-decoration: none;
}
.navbar-nav > li{
  position: relative;
  padding-right: 1em;
  white-space: nowrap;
}
.navbar-nav li a{
  text-decoration: none;
  color: #fff;
  padding-right: 1em;
}
.navbar-nav li ul li a:hover {
    background: rgb(244, 249, 251);
}
#navbarNav li ul > li > a:before, #navbarNav li ul > li span.currentbranch1 a:before {
    content: "\F231";
    font-family: 'bootstrap-icons' !important;
    position: absolute;
    font-size: 9px;
    opacity: 0;
    left: 0px;
    top: 11px;
    transition: all .35s ease;
}
#navbarNav li ul > li > a:hover:before, #navbarNav li ul > li span.currentbranch1 > a:hover:before {
    opacity: 1;
    left: 7px;
}  

.navbar-nav li ul {
    position: absolute;
    display: none;
    list-style: none;
    padding: 5px;
    min-width: 215px;
    background: #fff;
    box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
    z-index: 5;
}
.navbar-nav li:hover ul{
  display: block;
} 
.navbar-nav li ul li a{
  color: #003c8c;
  padding: 5px 10px 6px 20px;
  display: block;
  position: relative;
}
.nav-link {
  font-size: .9rem;
}
  
li.nav-item:has(.multilevel-linkul-0) a:after {
  position: absolute;
  right: 16px;
  content: "\F229";
  top: 6px;
  font-family: 'bootstrap-icons' !important;
  color: #fff;
  opacity: 1;
  font-size: 10px;
}

/* Breadcrumbs */
.breadcrumb{
      font-style: italic;
  }
.breadcrumb a {
    font-style: normal;
}
.breadcrumb,
.breadcrumb a {
  font-size: .9rem;
  padding-bottom: 6px;
  font-family: "Open Sans Regular", sans-serif;

}
  
/* Body Fonts */
h1, h2, h3, h4, h5, h6 {
  font-family: "Inter Medium", sans-serif;
}
body, p {
  font-family: "Inter Regular", sans-serif;  
}
  
strong {
  font-family: "Inter Bold", sans-serif;  
}    

/* Top Banner and Nav */

.main-banner {
  background-color:var(--accent-red);
}

.state-seal {
  width: 115px;
  height: 115px;
  background: url('/media/governorvirginiagov/secretary-of-the-commonwealth/icons/Virginia-State-Seal-Blue.svg') top left no-repeat;
}

.secretary-title {
  font-size: 1.8rem;
  color: var(--white);
  text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.34);
  font-weight: 500;
  font-family: "Inter Medium", sans-serif;
  padding: 0 0 0 25px;
  margin: 0;
}  

@media screen and (max-width: 767px) {
.secretary-title {
    display: block;
    font-size: 12px;
    letter-spacing: 1px;
    margin-bottom: 2px;
    padding-bottom: 5px;
  	margin: 0 0 2px 0;
  	padding: 0 0 5px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .8);
    width: 100%;
}
}

.secretary-name {
  font-size: 1.6rem;
  color: var(--white);
  text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.34);
  font-weight: 400;
  white-space: nowrap;
  font-family: "Inter Regular", sans-serif;
  padding: 0 0 0 25px;  
}
  
@media screen and (max-width: 767px) {
.secretary-name {
  	padding: 0 0 5px 0;
}
}

.full-page-page-name-banner {
  box-shadow: 0 0px 6px rgb(0 0 0 / 50%);
  background: var(--primary-blue);
  margin: 0;
  padding: 5px;
}
  
.full-page-page-name-banner h1, .full-page-page-name-banner h2 {
  text-align: center;
  font-size: 1.75rem;
  font-family: "Open Sans Condensed", sans-serif;
  color: var(--white) !important;
  letter-spacing: 1px;
  font-weight: 500;
  margin: 5px 0;
}

/* Body Section */
main  {margin: 2.5rem 0;}

.hidden {
  display: none!important;
}
/* Force Next Line */
.next-line {
  display: block;
}
  
  
/* HR - Horizonal Line */
.hr-red {
  border:solid 1px var(--accent-red);
  opacity: 1!important;
}
  
/* Search */

#cse-search-box .searchField {
    background: var(--white);
    padding: 5px 35px 3px 15px;
    width: 235px;
    border: solid 1px var(--white);
    border-radius: 2rem;
    color: #444;
    box-sizing: border-box;
}

#cse-search-box .form-control {
    height: 30px;
}

#cse-search-box .searchButton {
    position: absolute;
    top: 0px;
    right: 8px;
    background: none;
    color: #000;
    height: 30px;
    width: 40px;
    border: 0;
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0);
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0);
    z-index: 11;
}

/* Search Icon */

.search-button-svg {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z'%3E%3C/path%3E%3C/svg%3E");
  width: 16px;
  height: 16px;
  display:block;
}

#cse-search-box .searchButton:focus {
    box-shadow: 0 0 0 0.2rem rgba(13,110,253,.25);
}

/* Banner and Header */

.page-title-and-desc {
  margin-top: 5vh;
  margin-bottom: 5vh;
}

.page-title-section {
  text-align: center;
  font-family: "Open Sans Condensed", sans-serif;
  font-weight: 400;
  color: var(--dark-grey);
  letter-spacing: 1.5px;
  font-size: 2.5rem;
  position: relative;
  border-bottom: 1px dotted #ccc;
}

.page-description-section {
  margin: 0 auto 20px; 
  text-align: center; 
  font-size: 1.2em; 
  color: var(--dark-grey);
}
/* Button */
  
 .btn-primary, .btn-primary a {
  --bs-btn-color: var(--white);
  --bs-btn-bg: var(--primary-blue);
  --bs-btn-border-color: var(--primary-blue);
  --bs-btn-hover-color: var(--white);
  --bs-btn-hover-bg: var(--primary-blue-tint3);
  --bs-btn-hover-border-color: var(--primary-blue-tint3);
  --bs-btn-focus-shadow-rgb: 49,132,253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #0a58ca;
  --bs-btn-active-border-color: #0a53be;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #20396f;
  --bs-btn-disabled-border-color: #20396f;
}
   
/* Button Visited Fix */   
 .btn-primary, .btn-primary a:focus, a:hover {
   color: #cccccc;
}
  
/* Accordion */
.accordion-button{
  background-color: #f5f5f5;
  color: #20396f;
  font-weight: bold;    
}
.accordion-button:not(.collapsed) {
  background-color: #f5f5f5;
  color: #20396f;
}

/* Alert */
.alert-primary{
  background: #20396f;
  color: #fff;
}   
.alert-warning{
  background: #d43532;
  color: #fff;
}
   
#alert-banner{
    background: #ffe69c;
    color: #212529;
    margin-bottom: 0;
    border: none;
    border-radius: 0;
  justify-content: center;
}   
#alert-banner p {
   margin-bottom: 0;
}
i.bi.bi-exclamation-triangle {
    margin-right: 1em;
}

/* Tabs */
   .nav-tabs .nav-link{
   color: #20396f;
   }

/* Child section links */
.sibling-links {
    list-style-type: none;
    padding: 0;
}
.sibling-links a, .sibling-links span {
    display: block;
    padding: 0 0 12px 0;
}

/* News */
#newshere .card {
  background: #f3f3f3;
  border-radius: 5px;
  margin-bottom: 1rem;
  border: none;
  padding: 0.5rem 1rem;
}
#newshere .card-title {
  color: #a70000;
  font-size: 1rem;
  margin-bottom: 0.75rem;
}
#newshere .card-subtitle {
  color: var(--link-blue);
  text-decoration: none;
  font-size: 1rem;  
}

/* Bluebook buttons */
.bluebook {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.bluebook .btn.btn-primary {
    margin: 5px;
    width: 180px;
    max-width: 180px;
    padding: 10px 20px;
}
  
/* Main Card Settings */
.card {
    --bs-card-bg: transparent!important;
}
   
.card-title {
    color: var(--secondary-blue);
    margin-top: 1rem;
  	font-weight: 700;
}

.card-body {
    color: #424242;
  	padding: 0 1rem; 
} 

.card-header {
    background-color: transparent;
    border-bottom: none;
}    
  
.card-footer {
    background-color: transparent;
    border-top: none;
  	padding: 1rem;
}
   
/*  
.card-same-height {
    min-height: 80px;
}   
*/  
.smaller-image .card-img-top:first {
	max-width: 25rem;
    margin: 0 auto;
    padding-top: 5rem;
}
   
/* Universal BS - Card - When Image is an Icon */
/* When Icon is on Top */  
.card-icon-small-center .card-img-top {
    width: 45%;
  	max-width: 125px;
    margin: 1rem auto 0;
    display: block;
}
/* When Icon is on the Left */  
.col-md-3 .card-icon-small-center .card-img-top {
    width: 90%;
    max-width: 175px;
    margin: 1rem auto;
    display: block;
}
  
.horz-card .card-title {
    margin-top: 1.5rem;
} 
  
.vertical-space {
    padding-top: 5%;
} 
 
.card.horz-card {
    padding: 1.25em;
}

/* Card BG Blue */  
.primary-bg .card-title {
    color: var(--white);
}
.primary-bg .card-body {
    color: var(--white);
}
.primary-bg .card-footer {
    color: var(--white);
}
.primary-bg .card-footer .btn {
    background-color: var(--accent-red);
}
  
.row.gray .card {
    background: #fafafa;
}
  
  
/* Universal BS - Hero image */   
#hero-image {
  	padding: 0;
}  
.single-hero-image {
   height: 500px!important;
   display: block!important;
   background-size: cover!important;
   background-position: center center!important;
}
.single-hero-overlay {
   background-image: linear-gradient(rgba(70, 130, 180, .8), rgba(178, 34, 34, .8));
}
.single-hero-caption {
   font-size: 3rem;
   text-shadow: 0 0.05rem 0.1rem rgba(0, 0, 0, .7);
   font-weight: 600;
   bottom: 0;
   top: 14vh;
}
svg.three-d-text {
	font-family: 'Inter Medium', sans-serif;
	top: 10vh;
}
svg.three-d-text text {
	animation: stroke 10s;
	animation-fill-mode: forwards;
	stroke-width: 1.5;
	stroke: #000000;
	font-size: 3.5rem;
}
@keyframes stroke {
	0%   {
		fill: rgba(0,0,0,0); stroke: rgba(255,255,255,1);
		stroke-dashoffset: 25%; stroke-dasharray: 0 50%; stroke-width: 2;
	}
	70%  {fill: rgba(0,0,0,0); stroke: rgba(255,255,255,1); }
	80%  {fill: rgba(0,0,0,0); stroke: rgba(255,255,255,1); stroke-width: 3; }
	100% {
		fill: rgba(255,255,255,1); stroke: rgba(255,255,255,1); 
		stroke-dashoffset: -25%; stroke-dasharray: 50% 0; stroke-width: 0;
	}
}
  
/* carousel with Text */
.carousel-caption-secondary {
  position: absolute;
  bottom: 0px;
  width: 100%;
  background: #0b0b0b66;
  padding: 0.75em;
  transform: translateX(-50%);
  left: 50%;
  margin: 0px;
  color: #ffffffed;
  text-align: center;
  font-size: 1.125em;
}
  h3.carousel-text-size {
  text-shadow: 1px 1px 2px black;
  }
  .carousel-text-size {
  text-shadow: 1px 1px 2px black;
  }
  
  
@media screen and (min-width: 768px) {
  /*.carousel-text-block-size {*/
  /*  right: 35%;*/
  /*  left: 35%;*/
  /*}*/
  .btn-primary.carousel-text-size {
  	border: 1px solid #fff;
  }
  .carousel-text-block-size {
    right: 10%;
    left: 60%;
  }
  h3 {
    line-height: 1.5;
  }
}
@media screen and (min-width: 1025px) {
  h3.carousel-text-size {
    font-size: 2rem;
  }
  .carousel-text-size {
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .carousel-text-block-size.carousel-caption {
    padding-bottom: 0rem !important;
    bottom: 0.3rem !important;
  }
}
@media screen and (max-width: 767px) {
  h3 .carousel-text-size {
    font-size: 0.7rem;
  }
  .carousel-text-size {
    font-size: 0.5rem;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }
}

/* @media screen and (max-width: 425px) {
  h3 .carousel-text-size {
    font-size: 0.5rem;
  }
  .carousel-text-size {
    font-size: 0.4rem;
  }
}   */

 
     
/* Universal BS - Hero Image - Responsive Fixes */    
@media screen and (max-width: 767px) {
.single-hero-caption {
   font-size: 1.5rem;
   text-shadow: 0 0.05rem 0.1rem rgba(0, 0, 0, .7);
}
 svg.three-d-text {
	font-family: 'Inter Medium', sans-serif;
	top: 26vh;
}  
}
   
@media screen and (min-width: 1800px) {
.single-hero-image {
   height: 750px!important;
   background-position: center center!important;
}
.single-hero-caption {
   top: 20vh;
}
 svg.three-d-text {
	top: 14vh;
}
}
  
/* Row with Left Image and Right Text */  
  
.left-image-text-grid {
  display: grid;
  grid-template-columns: auto 1fr; /* Two columns: image and text */
  gap: 20px; /* Space between the image and text */
  align-items: start; /* Align items at the top */
}

.left-image-text-grid-image img {
  width: 300px; /* Set the width of the image */
  height: auto; /* Maintain the aspect ratio */
}

.left-image-text-grid-content {
  display: block; /* Ensure the text content flows normally */
}

/* Mobile Styles */
@media screen and (max-width: 767px) {
  .left-image-text-grid {
    grid-template-columns: 1fr; /* Single column layout */
    grid-template-rows: auto auto; /* Two rows: image first, text second */
  }

  .left-image-text-grid-image {
    order: 1; /* Ensure the image appears first */
    text-align: center; /* Center the image horizontally */
  }

  .left-image-text-grid-content {
    order: 2; /* Ensure the text appears second */
  }

  .left-image-text-grid-image img {
    width: 100%; /* Make the image responsive */
    max-width: 400px; /* Limit the maximum width */
    margin: 0 auto; /* Center the image */
  }
}




/* Text In Box - Sticky */  
/* Blue - Sticky */    
.blueBox {
    padding: 20px;
    margin-bottom: 20px;
    background: #daebf2;
    position: relative;
}
  
/* Orange - Sticky */  
.orangeBox {
    padding: 20px;
    margin-bottom: 20px;
    background: #fff1dd;
    position: relative;
}
  
/* Extras */

/* Hide and Show Buttons (No JS) */
  
#readmoreContent {
    display: none;
}
   

.org-chart-button {
   --bs-btn-padding-y: .25rem; --bs-btn-padding-x: .5rem; --bs-btn-font-size: .75rem;
}
  
/* Finance Table */
  .fin-table {
    width: 100%
}  

.fin-table tr:nth-child(even) {
    background-color: #f5f5f5;
}


/* Org Chart */
.orgchart {
    padding: 0px;
}   

.entity {
    font-family: "Open Sans Regular", sans-serif;
    font-size: 12px;
    line-height: 12px;
    text-align: center;
    border: 1px solid #000;
    padding: 8px 10px 0px;
    border-radius: 3px;
    background: #fff;
    margin-bottom: 3px;
}

.entity:hover .hidable, .agency:hover .hidable, .secretary:hover .hidable {
    height: 60px;
}
.hidable {
    height: 0;
    overflow: hidden;
    transition: .5s;
    padding-top: 10px;
}

.hidable a {
    border: 1px solid #000;
    padding: 2px 5px;
    border-radius: 3px;
    color: #000;
    display: block;
    margin: 0 auto 3px;
    transition: .2s 0s;
    left: calc(50% - 35px);
    width: 70px;
    text-shadow: 0 1px 0 #fff;
    background-image: -webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);
    background-image: -o-linear-gradient(top,#fff 0,#e0e0e0 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));
    background-image: linear-gradient(to bottom,#fff 0,#e0e0e0 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
    background-repeat: repeat-x;
    border-color: #dbdbdb;
    border-color: #ccc;
    font-size: 12px;
    font-weight: normal;
    text-decoration: none;
}

.secretary {
    margin-bottom: 0;
    border-radius: 3px 3px 0px 0px;
    background: #ccc;
    transform: .25s;
    border-bottom: 0;
    margin-top: 20px;
    position: relative;
    transition: .35s .35s;
    top: 0px;
    font: 12px/14px "Crimson Text";
    font-weight: bold;
    padding: 5px 5px 5px 5px;
}
.agency, .secretary {
    font-family: "Open Sans Regular", sans-serif;
    font-size: 12px;
    line-height: 12px;
    text-align: center;
    max-width: 100%;
    border: 1px solid #000;
    padding: 8px 0px 0px;
    border-bottom: 0;
    margin-bottom: 0px;
    word-wrap: break-word;
}

.orgchart .secretary:before {
    position: absolute;
    top: -22px;
    content: " ";
    width: 1px;
    left: calc(50% - 1px);
    background: #000;
    height: 19px;
    z-index: 1;
}

.secretary:hover, .entity:hover {
    background: #0099ff;
    color: #fff;
}

.orgchart .admin::before {
    top: 32px;
    content: " ";
    width: calc(95% - 3px);
    left: 3.84%;
    margin: auto;
    background: rgb(0, 0, 0);
    height: 1px;
    z-index: 1;
}


.orgchart .toprow {
    text-align: center;
}
  
/* Table - use https://ianrmedia.unl.edu/responsive-table-generator-tool */

.dcf-txt-center {
      text-align: center!important
    }

    .dcf-txt-left {
      text-align: left!important
    }

    .dcf-txt-right {
      text-align: right!important
    }
    
.dcf-table caption {
      color: var(--caption);
      font-size: 1.13em;
      font-weight: 700;
      padding-bottom: .56rem
    }

    .dcf-table thead {
      font-size: .84em
    }

    .dcf-table tbody {
      border-bottom: 1px solid var(--b-table);
      border-top: 1px solid var(--b-table);
      font-size: .84em
    }

    .dcf-table tfoot {
      font-size: .84em
    }

    .dcf-table td, .dcf-table th {
      padding-right: 1.78em
    }

    .dcf-table-bordered, .dcf-table-bordered td, .dcf-table-bordered th {
      border: 1px solid var(--b-table)
    }

    .dcf-table-bordered td, .dcf-table-bordered th, .dcf-table-striped td, .dcf-table-striped th {
      padding-left: 1em;
      padding-right: 1em
    }

    .dcf-table-bordered tr:not(:last-child), .dcf-table-striped tr:not(:last-child) {
      border-bottom: 1px solid var(--b-table)
    }

    .dcf-table-striped tbody tr:nth-of-type(2n) {
      background-color: var(--bg-table-stripe)
    }

    .dcf-table thead td, .dcf-table thead th {
      padding-bottom: .75em;
      vertical-align: bottom
    }

    .dcf-table tbody td, .dcf-table tbody th, .dcf-table tfoot td, .dcf-table tfoot th {
      padding-top: .75em;
      vertical-align: top
    }

    .dcf-table tbody td, .dcf-table tbody th {
      padding-bottom: .75em
    }

    .dcf-table-bordered thead th {
      padding-top: 1.33em
    }

    .dcf-wrapper-table-scroll {
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      left: 50%;
      margin-left: -50vw;
      margin-right: -50vw;
      padding-bottom: 1em;
      position: relative;
      right: 50%;
      width: 100vw
    }

    @media only screen and (max-width:42.09em) {
      .dcf-table-responsive thead {
        clip: rect(0 0 0 0);
        -webkit-clip-path: inset(50%);
        clip-path: inset(50%);
        height: 1px;
        overflow: hidden;
        position: absolute;
        width: 1px;
        white-space: nowrap
      }
      .dcf-table-responsive tr {
        display: block
      }
      .dcf-table-responsive td {
        -webkit-column-gap: 3.16vw;
        -moz-column-gap: 3.16vw;
        column-gap: 3.16vw;
        display: grid;
        grid-template-columns: 1fr 2fr;
        text-align: left!important
      }
      .dcf-table-responsive.dcf-table-bordered, .dcf-table-responsive.dcf-table-bordered thead th {
        border-width: 0
      }
      .dcf-table-responsive.dcf-table-bordered tbody td {
        border-top-width: 0
      }
      .dcf-table-responsive:not(.dcf-table-bordered) tbody tr {
        padding-bottom: .75em
      }
      .dcf-table-responsive:not(.dcf-table-bordered) tbody td {
        padding-bottom: 0
      }
      .dcf-table-responsive:not(.dcf-table-bordered):not(.dcf-table-striped) tbody td {
        padding-right: 0
      }
      .dcf-table-responsive.dcf-table-bordered tbody tr:last-child td:last-child {
        border-bottom-width: 0
      }
      .dcf-table-responsive tbody td:before {
        content: attr(data-label);
        float: left;
        font-weight: 700;
        padding-right: 1.78em
      }
    }

.dcf-overflow-x-auto {
      overflow-x: auto!important;
      -webkit-overflow-scrolling: touch
    }
    
.dcf-w-100\% {
  width: 100%!important;
		}
  

/* Footer */
#footer: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: -43px;
  left: -93px;
  background-size: 75%;
  opacity: .1;
}

#footer {
  -webkit-box-shadow: inset 0 1px 20px rgba(0,0,0,.35);
  box-shadow: inset 0 1px 20px rgba(0,0,0,.35);
  padding-top: 20px;
  padding-bottom: 50px;
  color: var(--white);
  position: relative;
  background: var(--dark-grey);
  overflow: hidden;
  padding-left: 40px;
  padding-right: 40px;
}
  
p.footer-header {
    font-size: 1.2rem;
    border-bottom: 1px solid #d43532!important;
    padding-bottom: 6px;
    font-family: "Open Sans Regular", sans-serif;
}   
#footer{
  font-size: 14px;   
}
footer ul {
    padding: 0;
}
footer li{
	list-style: none;  
}
  
footer a {
    color: var(--light-grey);
    display: block;
    transition: all .25s ease;
    padding: 2px 0;
    font-size: 14px;
    text-decoration: none!important;
    position:relative;
}
  
footer a:hover {
    color: var(--white);
    padding-left: 5px;
    text-decoration: underline!important;
}
  
footer a:active, footer a:focus {
    color: var(--light-grey);
    padding-left: 5px;
    text-decoration: underline!important;
} 
  
/* Accessibility Skip Menu */
  
.skip-to-main-content-link {
  position: absolute;
  left: -9999px;
  z-index: 999;
  padding: 1rem;
  background-color: var(--white);
  border: 1px solid var(--dark-grey);  
  color: white;
  opacity: 0;
}
.skip-to-main-content-link:focus {
  left: 50%;
  transform: translateX(-50%);
  opacity: 1;
}



/* News Article Styles */
 
 #newshere article {
    background: #f3f3f3;
    border-radius: 5px;
    padding: 1em 2em;
    margin-bottom: 1em;
}

#newshere .date {
    color: #a70000 !important;
}

#newshere article h3 {
    font-size: 16px;
    font-weight: 900;
    font-family: 'Inter', sans-serif;
}
  #newshere article h3 a{
  text-decoration: none;
}
    #newshere article h3 a:hover{
  text-decoration: underline;
}



/* Two column layout styles */

#sidebar{
  margin: 2.5rem 0;  
}
@media screen and (min-width: 990px) {  
  .twoCol #main-wrapper {
      display: flex;
      flex-direction: row;
      gap: 5%;
	}
	.twoCol #main {
    	width: 70%;
	}
	.twoCol #sidebar {
    	width: 30%;
	}
}
  
  
/* Elasticsearch bar styles */
  
input#va-esearch-input {
    padding: 0.5em 0.5em 0.5em 1em;
    border-radius: 2em 0 0 2em;
    border: 0;
}
  
  
div.va-esearch button {
    border-radius: 0em 2em 2em 0em;
}
  
  div.va-esearch button.va-esearch-moreresults {
    border-radius: 0.5em;
}
  
   /* New Carousel Text Positions */
.text-and-button-container {
  position: absolute;
  padding: 10%;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

/* Text styles */
.text-wrapper {
  min-height: 5rem;
}

.text-and-button-container .single-hero-caption {
  font-size: 1.5rem;
}

/* Button wrapper */
.button-wrapper {
    position: relative;
  z-index: 20;
}

/* Top Positions */
.top-right-txt-location {
  top: 10%;
  right: 10%;
}

.top-center-txt-location {
  top: 10%;
  left: 50%;
  transform: translateX(-50%);
}

.top-left-txt-location {
  top: 10%;
  left: 10%;
}

/* Center Positions */
.center-right-txt-location {
  top: 75%;
  right: 10%;
  transform: translateY(-50%);
}

.center-center-txt-location {
  top: 75%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.center-left-txt-location {
  top: 75%;
  left: 10%;
  transform: translateY(-50%);
}

/* Button styles */
.hero-carousel-cta-button {
  display: inline-block;
}

/* Timeline Style */
.timeline {
  list-style: none;
  padding: 20px 0 20px;
  position: relative;
}
.timeline:before {
  top: 0;
  bottom: 0;
  position: absolute;
  content: " ";
  width: 3px;
  background-color: #eeeeee;
  left: 50%;
  margin-left: -1.5px;
}
.timeline > li {
  margin-bottom: 20px;
  position: relative;
}
.timeline > li:before,
.timeline > li:after {
  content: " ";
  display: table;
}
.timeline > li:after {
  clear: both;
}
.timeline > li > .timeline-panel {
  width: 46%;
  float: left;
  border: 1px solid #d4d4d4;
  border-radius: 2px;
  padding: 5px 20px;
  position: relative;
  -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175);
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175);
}
.timeline > li > .timeline-panel:before {
  position: absolute;
  top: 26px;
  right: -15px;
  display: inline-block;
  border-top: 15px solid transparent;
  border-left: 15px solid #ccc;
  border-right: 0 solid #ccc;
  border-bottom: 15px solid transparent;
  content: " ";
}
.timeline > li > .timeline-panel:after {
  position: absolute;
  top: 27px;
  right: -14px;
  display: inline-block;
  border-top: 14px solid transparent;
  border-left: 14px solid #fff;
  border-right: 0 solid #fff;
  border-bottom: 14px solid transparent;
  content: " ";
}
.timeline > li > .timeline-badge {
  color: #fff;
  width: 50px;
  height: 50px;
  line-height: 50px;
  font-size: 1.4em;
  text-align: center;
  position: absolute;
  top: 16px;
  left: 50%;
  margin-left: -25px;
  background-color: #4d2583;
  z-index: 100;
  border-top-right-radius: 50%;
  border-top-left-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
}
.timeline > li.timeline-inverted > .timeline-panel {
  float: right;
}
.timeline > li.timeline-inverted > .timeline-panel:before {
  border-left-width: 0;
  border-right-width: 15px;
  left: -15px;
  right: auto;
}
.timeline > li.timeline-inverted > .timeline-panel:after {
  border-left-width: 0;
  border-right-width: 14px;
  left: -14px;
  right: auto;
}
.timeline-title {
  margin-top: 0;
  color: inherit;
}
.timeline-body > p,
.timeline-body > ul {
  margin-bottom: 0;
}
.timeline-body > p + p {
  margin-top: 5px;
}
h4.timeline-title {
    color: #4d2483;
    border-bottom: none;
    border-bottom: 1px solid #dadada;
    font-family: 'Raleway', sans-serif;
    font-size: 20px;
}

/* Translate Dropdown */  
#bbarTranslate-menu.bbarTranslate-menu-on {
    z-index: 10;
}




