/* Imports */
@import url("https://fonts.googleapis.com/css2?family=Montserrat&family=Roboto+Condensed:wght@700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Alata&family=Montserrat:ital@1&family=Satisfy&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Sofia+Sans+Condensed&display=swap");

:root {
  --brand-main-color: #012e5b;
  --brand-accent-color: #be0326;
  --brand-font-family:'Arial', sans-serif;
  --brand-font-size: 1rem;
  --brand-font-weight: 400;
  --brand-line-height: 1.5;
  --brand-text-color: #ffffff;
  --brand-background-color: #ffffff;
  --brand-border-color: #e9ecef;
  --brand-border-radius: 0.25rem;
  --brand-box-shadow:  0px 0px 8px 2px rgba(0, 0, 0, 0.8);


}

/* Generic Styling */

body {
  background: #ffffff;
  font-family: var(--brand-font-family);
  overflow-x: hidden;
}

:focus {
  outline: 1px solid black;
}

p,
.Normal {
font-family: var(--brand-font-family);
  font-size: 16px;
  color: black;
}

table {
  font-size: 1rem;
}

h1 {
  display: block;
  color: #c10000;
font-family: var(--brand-font-family);
}

h2 {
  color: #c10000;
  font-family: var(--brand-font-family);
font-family: var(--brand-font-family);
}

h3 {
  color: #082846;
  font-family: var(--brand-font-family);
}

h4 {
  margin: 0;
  font-family: var(--brand-font-family);
}

.footer-col span {
  color: #294b8a;
}

h2 {
font-family: var(--brand-font-family);
  margin: 0;
  text-align: start;
}

a.skip:active,
a.skip:focus,
a.skip:hover {
  width: auto;
  height: auto;
  overflow: visible;
}

a:link,
a:active,
a:visited {
  color: #011d42;
}

a:hover {
  text-decoration: none;
  color: #a4cbe9;
}

/* Structure */

#homelink {
  color: white;
}

#sitemaplink {
  color: white;
}

#skiplink a {
font-family: var(--brand-font-family);
  font-weight: bold;
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

#skiplink a:focus {
  position: static;
  width: auto;
  height: auto;
}

.alert-text {
  text-transform: capitalize;
  text-align: center;
  vertical-align: middle;
  font-weight: bold;
  color: black;
  font-family: var(--brand-font-family);
  font-size: 1.4rem;
  height: fit-content;
  border: 0;
  padding: 0;
  margin: 0;
}

#dnn_alertcontentpane > div {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
#dnn_alertcontentpane p,
#dnn_alertcontentpane a {
  color: #275a9a;
  font-size: large;
  margin: 0;
  padding: 0.5em 0;
font-family: var(--brand-font-family);
}
.top-alert {
  color: black;
  font-size: 1.4rem;
  padding: 1rem;
}

#wrapper
  > div.alert.alert-light.alert-dismissible.fade.show.alert-text
  > button {
  font-size: 0.7rem;
}

.small-menu-icon {
  margin: auto;
  background-color: #af0b26;
  color: white;
}

.navbar-toggler-icon {
  display: flex;
  justify-content: center;
}

.c-hamburger {
  display: block;
  position: relative;
  margin: auto;
  padding: 0px;
  width: 32px;
  height: 32px;
  font-size: 0;
  appearance: none;
  box-shadow: none;
  border-radius: none;
  border: none;
  cursor: pointer;
  transition: background 0.3s;
  top: 25%;
}
.c-hamburger:focus {
  outline: none;
}
.c-hamburger span {
  display: block;
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 0.2vw;
  background: white;
}
.c-hamburger span::after,
.c-hamburger span::before {
  position: absolute;
  display: block;
  left: 0;
  width: 100%;
  height: 0.2vw;
  background-color: white;
  content: "";
}
.c-hamburger span::before {
  top: -6px;
}
.c-hamburger span::after {
  bottom: -6px;
}

@media (max-width: 525px) {
  .c-hamburger span::before {
    top: -3px;
  }
  .c-hamburger span::after {
    bottom: -3px;
  }
}
.c-hamburger--htx {
  background-color: transparent;
}
.c-hamburger--htx span {
  transition: background 0s 0.3s;
}
.c-hamburger--htx span::before,
.c-hamburger--htx span::after {
  transition-duration: 0.3s, 0.3s;
  transition-delay: 0.3s, 0s;
}
.c-hamburger--htx span::before {
  transition-property: top, transform;
}
.c-hamburger--htx span::after {
  transition-property: bottom, transform;
}
.c-hamburger--htx.is-active span {
  background: none;
}
.c-hamburger--htx.is-active span::before {
  top: 0;
  transform: rotate(45deg);
}
.c-hamburger--htx.is-active span::after {
  bottom: 0;
  transform: rotate(-45deg);
}
.c-hamburger--htx.is-active span::before,
.c-hamburger--htx.is-active span::after {
  transition-delay: 0s, 0.3s;
}

.show {
  opacity: 1;
  transition: 3s;
}

#navbarNavDropdown {
  z-index: 999;
  z-index: 999;
  width: fit-content;

}

.nav-inner {
  margin: 0;
  background-color: #012e5b;
  color: #ffff;
  display: flex;
  justify-items: stretch;
  font-size: large;
  flex-direction: row;
  align-items: center;
  position: relative;

  @media(max-width: 990px){
    position: absolute;
    flex-direction: column;
    width: 100%;
    left: 0;
    top: 100%;
    z-index: 9;
    padding: 1em;
  }
}

#wrapper > nav > button > span > svg {
  transform: scale(2);
}

.navbar {
  padding: 0;
  z-index: 100;
  filter: drop-shadow(0px 5px 6px rgba(0, 0, 0, 0.29));
}

.navbar-collapse .show {
  position: absolute;
  width: fit-content;
  right: 0vw;
  top: 3em;
}

a.nav-link.sf-with-ul:after {
  content: " +";
}
a.nav-link.sf-with-ul:hover::after,
.nav-item:has(.submenu:focus-within) > .sf-with-ul:after,
.nav-item:has(.submenu > .nav-item:hover) > .sf-with-ul:after {
  content: " -";
}

.nav-inner li {
  display: inline-block;

  @media(min-width: 820px){
    position: relative;
  }
}

.nav-fill .nav-item .nav-link,
.nav-justified .nav-item .nav-link {
  color: #ffff;
}

.carousel {
  background-image: none;
}

.carousel-item > img {
  aspect-ratio: 250/45;
  object-fit: cover;
}

#header-overlay {
  position: absolute;
  height: 100%;
  width: 100%;
  bottom: 0;
  background-color: #02265b;
  opacity: 0.6;
}

.header-alignment {
  width: 100%;
  height: auto;
  margin: 0;
}

#header {
  background: rgb(7, 40, 80);
  background: linear-gradient(
    180deg,
    rgba(7, 40, 80, 1) 23%,
    rgba(202, 224, 241, 1) 89%
  );
  padding: 0;
  position: relative;
  z-index: 10;
  width: 100%;
  left: 0;
  margin: auto;
  right: 0;
}

.menuBar {
  display: flex;
  background-color: #012e5b;
  justify-content: space-between;
  gap: 18px;
  position: relative;
  align-items: center;

  @media(max-width: 990px){
    & {
      justify-content: space-between;
  }
  }
}

.carousel-indicators {
  visibility: hidden;
}

.smallHeroImage {
  display: none;
}

.heroSections {
  display: grid;
  grid-template-columns: auto 7%;

  @media (max-width: 575px) {
    grid-template-columns: 1fr;
  }
}

.heroBanner {
  width: -webkit-fill-available;
}

#headerSocials{
  display: grid;
  background: #275a9a;
  padding: 10px;
  justify-content: center;
  gap: 10px;

  @media(max-width: 575px){
    & {
      grid-template-columns: repeat(4, clamp(30px, 20vw, 4em));
    }
  }
}


.footer-socials > div {
  flex: 1;
}

.headerSocialDiv:hover, .headerSocialDiv:focus-within {
  transform: scale(1.1);

}

#headerSocials img {
  width: clamp(40px, 3vw, 3em);
  margin: auto;
}

.heroImageLeft {
  margin-left: 2em;
}
.heroImageRight {
  align-self: end;
}
.heroCenterDiv {
  margin: 0 auto;
  flex-direction: column;
  justify-content: space-between;
  flex-wrap: nowrap;
}

.heroImageBackground{
  position: absolute;
  height: 100%;
  width: 100%;
  z-index: -1;
}

.heroSectionCentered {
  background-image: url(http://vrcdn.electionsfl.org/portals/charlotte/images2023/wf_bannerback_xxl.jpg);
  background-size: cover;
  background-position: right;
  height: 100%;
}

@media(max-width: 576px){
  .heroSectionCentered {
    display: none !important;
  }
}

.heroSection-inner {
  display: grid;
  grid-template-columns: 60% 25%;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}

.logo-image-small {
  background-color: #e6eaee;
  width: 100%;
  margin: auto;
  padding-bottom: 3rem;
}

.small-logo {
  width: 100%;
}

#header-menu-items {
  position: absolute;
  bottom: 10px;
  left: 43%;
  margin: auto;
  width: 10%;
  font-weight: bolder;
  display: flex;
  flex-direction: row;
  align-content: center;
  text-align: center;
  justify-content: space-evenly;
  align-items: flex-start;
}

#social {
  border: none;
  background: none;
}

#mobileitems2 > div {
  height: 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

#mobileitems2 > div + div {
  border-left: 1px solid white !important;
}

#mobileitems2 > div + button {
  border-left: 1px solid black !important;
}
#mobiletranslate {
  padding-left: 1rem;
  border-left: 1px solid black !important;
  border-right: 1px solid black !important;
  margin-left: 1rem;
  padding-right: 1rem;
  margin-right: 1rem;
}

.paneDrop {
  background: white;
  z-index: 99;
  left: 75% !important;
  height: 65px !important;
  width: 25% !important;
  margin-left: 0px;
  border-bottom-right-radius: 5px;
  text-align: center;
  line-height: 22px;
  color: white !important;
  transition: height 0.4s;
  animation-direction: reverse;
  border-bottom-left-radius: 5px;
  border: 2px solid #173b75;
}

.paneDrop2 {
  background: white;
  z-index: 99;
  position: fixed !important;
  top: 53px;
  right: 0% !important;
  height: 65px !important;
  width: 20% !important;
  margin-left: 0px;
  border-bottom-right-radius: 5px;
  text-align: center;
  line-height: 22px;
  color: white !important;
  transition: height 0.4s;
  animation-direction: reverse;
  border-bottom-left-radius: 5px;
  border: 2px solid #173b75;
}

#mobileitems,
#mobileitems2 {
  left: 0;
  right: 0;
  padding: 1em 0;
  background: transparent;
  display: flex;
  justify-content: center;
  height: fit-content;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
}

#mobilesearch2 > svg,
#mobiletranslate2 > svg {
  color: white;
  height: auto;
  width: 2vw;
}

.utility-button-label {
  margin: 0;
  padding: 0;
  color: white;
  font-size: 1em;
font-family: var(--brand-font-family);
}

.hamburger-div {
  flex: 1;
}

@media (max-width: 768px) {
  .utility-button-label {
    font-size: small;
  }
}

#translateContainer,
#searchContainer {
  position: absolute;
  background-color: #f8f8f8;
  color: #666;
  top: -15em;
  right: -50%;
  left: -50%;
  margin: auto;
  width: 20em;
  z-index: -1;
  padding: 1rem;
  font: 13px / normal  var(--brand-font-family);
  transition: all 1s ease-out;
}

.goog-te-gadget .goog-te-combo {
  width: 100%;
}

.goog-te-gadget {
  text-align: center;
}

@media (max-width: 420px) {

  #dnn_alertcontentpane p,
  #dnn_alertcontentpane a {
    font-size: small;
  }
  #translateContainer,
  #searchContainer {
    right: -30%;
    left: -30%;
    padding: 1em;
    width: fit-content;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
  }

  .c-hamburger span {
    display: block;
    position: absolute;
    top: 30%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 0.5vw;
    background: white;
  }

  .c-hamburger span::after,
  .c-hamburger span::before {
    position: absolute;
    display: block;
    left: 0;
    width: 100%;
    height: 0.5vw;
    background-color: white;
    content: "";
  }

  .c-hamburger span::after {
    bottom: -7px;
  }

  .c-hamburger span::before {
    top: 14px;
  }
}

.show-utility {
  animation: show-utility 0.75s ease-in-out forwards;
  -webkit-box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, 0.8);
  -moz-box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, 0.8);
  box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, 0.8);
}

.close-utility {
  animation: close-utility 0.75s ease-in-out reverse;
  -webkit-box-shadow: 0px 0px 31px 7px rgba(0, 0, 0, 0.8);
  -moz-box-shadow: 0px 0px 31px 7px rgba(0, 0, 0, 0.8);
  box-shadow: 0px 0px 31px 7px rgba(0, 0, 0, 0.8);
}

@keyframes show-utility {
  25% {
    z-index: -1;
  }
  100% {
    top: 6.1em;
    z-index: 999;
  }
}

@keyframes close-utility {
  25% {
    z-index: -1;
  }
  100% {
    top: 6.1em;
    z-index: 999;
  }
}

.bcs-container-searchbox {
  margin-top: 8px;
}

.bcs-modal {
  z-index: 999 !important;
}
svg.bi.bi-facebook {
  color: #3b5998;
  max-height: 5em;
}

svg.bi.bi-facebook:hover,
svg.bi.bi-facebook:focus {
  color: #0d6efd;
}

.mobilebuttons {
  background: transparent;
  border: none;
}

.mobilebuttons img {
  border: none;
  background: none;
  display: flex;
  flex-direction: column;
  font-size: medium;
  max-width: 30px;
  margin: auto;
  align-items: center;
  justify-content: center;
}

@media (max-width: 725px) {
  .mobilebuttons {
    font-size: xx-small;
  }
}

.mobilebuttons:hover,
.mobilebuttons:focus {
  color: rgb(31, 17, 230);
}

.glyphicon {
  color: white;
  font-size: 23px;

  display: block;

  text-align: center;
}

/* Google Translate */

.goog-te-gadget {
  color: white;
}

.goog-logo-link {
  color: white;
}

/*Quicklinks*/

#quicklinksHeaderDiv {
  border-right: 1px solid #c8ddef;
  display: flex;
  align-items: center;
  width: 16%;
}

#quicklinks-header {
  color: #c8ddef;
font-family: var(--brand-font-family);
  text-align: center;
  width: 80%;
}

#quicklinks {
  display: flex;
  flex-wrap: nowrap;
  padding: 2em 2em;
  background-image: url("//vrcdn.electionsfl.org/portals/charlotte/images2023/wf_qlbackground_xxl.jpg");
  background-size: cover;
  flex-direction: row;
  justify-content: space-around;
}

#quicklink-area {
  width: 80%;
  display: grid;
  grid-template-columns: repeat(6, clamp(50px, 10vw, 250px));
  justify-content: space-around;
  gap: 10px;

  @media(max-width: 920px){
    grid-template-columns: repeat(3, clamp(70px, 22vw, 140px));
  }
  @media(max-width: 525px){
    grid-template-columns: repeat(2, clamp(50px, 40vw, 140px));
  }
}

.quicklink-item {
  border-radius: 100%;
  height: fit-content;
  background: white;
  filter: drop-shadow(1px 2px 2px rgba(0, 0, 0, 0.68));
  padding: 5%;
  width: 70%;
  margin: 0 auto;
}

#quicklinks a {
  text-decoration: none;
  display: flex;
  flex-direction: column;
}

.qlicon {
  border-radius: 100%;
  border: 1px solid #072850;
  display: flex;
  justify-content: center;
  align-items: center;
}

.qlwords {
  font-size: clamp(13pt, 1.3vw, 32pt);
  font-family: var(--brand-font-family);
  color: white;
  text-align: center;
  max-width: 14ch;
  text-wrap: balance;
  margin: auto;
  font-weight: 600;

  & :focus, & :hover {
    color: #c8ddef;
  }
}

.quicklink-section:hover .quicklink-item,
.quicklink-section:focus .quicklink-item {
  background: #c8ddef;
}

.qlicon > img {
  height: auto;
  width: 100%;
  padding: 20%;
}

@media (max-width:550px){
  #quicklinks {
    flex-direction: column;
    align-content: center;
    align-items: center;
  }

  #quicklinksHeaderDiv {
    width: 100%;
    justify-content: center;
  }
}

/*------------------------------------------------*/

/* REGISTRATION TOTALS------------------------------------------------*/

.registration-shadow-container {
  filter: drop-shadow(0px 0px 7px #9a9a9a);
}

.voter-registration-container {
  background-image: url("//vrcdn.electionsfl.org/portals/charlotte/images2023/wf_totalsbackground_xxl.jpg");
  background-size: cover;
  padding: 1em 0;
}

.registrationTotalsList {
  list-style: none;
  margin: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: center;
  justify-content: space-around;
  padding: 0;
}

#regtotals-large {
  position: relative;
  color: #fff;
  background: rgb(255, 255, 255);
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 1) 15%,
    rgba(228, 235, 239, 1) 42%
  );

  clip-path: polygon(
    0% 0%,
    100% 0%,
    99.25% 15%,
    98.75% 30%,
    98.5% 45%,
    98.5% 55%,
    98.75% 70%,
    99.25% 85.01%,
    100% 100%,
    0% 100%,
    0.75% 85%,
    1.25% 70%,
    1.5% 55%,
    1.5% 45%,
    1.25% 30%,
    0.75% 15%
  );
}

/*.registrationTotalsList > li:nth-child(1) {
  width: 100%;
  margin: auto;
  text-align: center;
  display: flex;
  flex-direction: row;
  justify-content: center;
}*/

#regtotals-large > div > ul > li {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

.registrationTotalsList > li + li:before {
  content: "";
  background-color: #778ea7;
  position: absolute;
  width: 1px;
  height: 100%;
  top: -4%;
  left: calc((95vw / -1200) * 75);
  display: flex;
}

.registrationTotalsList > li > span {
font-family: var(--brand-font-family);
  color: #023e6b;
}

.registrationTotalsList > li > span:first-child {
  font-weight: bolder;
  font-size: large;
  color: --brand-accent-color;
}

.registrationTotalsList > li > span:last-child {
  font-weight: bolder;
  font-size: xx-large;
  line-height: 1em;
}

/*
.registrationTotalsList > li:nth-child(1) > span {
  font-weight: bolder;
  font-size: 16;
}*/

#regtotals-small > div > ul > :not(:first-child) {
  display: flex;
  padding: 10px;
  margin: auto;
  flex-wrap: nowrap;
  flex-direction: column;
  align-content: center;
  justify-content: center;
  align-items: center;
}

@media (max-width: 680px) {
  .voter-registration-container {
    padding: 1em 0.5em;
  }
  #regtotals-large {
    clip-path: polygon(
      0% 0%,
      100% 0%,
      98% 15%,
      96.75% 30%,
      95.5% 45%,
      95.5% 55%,
      96.75% 70%,
      98% 85.01%,
      100% 100%,
      0% 100%,
      2% 85%,
      4.25% 70%,
      5.5% 55%,
      5.5% 45%,
      4.25% 30%,
      2% 15%
    );
  }

  .registrationTotalsList > li:first-child {
    width: 100%;
  }
  .registrationTotalsList {
    list-style: none;
    padding: 0 0.5em;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    width: 90%;
    margin: auto;
  }

  .registrationTotalsList > li:not(:first-child) {
    padding-top: 0.5em;
  }
  .registrationTotalsList > li {
    width: 50%;
    padding-bottom: 0.5em;
  }

  .registrationTotalsList > li > span:last-child {
    font-size: x-large;
  }
  .registrationTotalsList > li:not(:last-child):not(:nth-last-child(2)) {
    border-bottom: 1px solid #778ea7;
  }
  .registrationTotalsList > li + li:before {
    display: none;
  }
}

@media (max-width: 320px) {
  .registrationTotalsList > li {
    width: 50%;
  }
}

.registrationTotalsBackground {
  width: 100% !important;
}

.voter-registration-totals-bar-lg {
  padding: 1em;
}

.voter-registration-totals-bar-sm {
  background: #a6c0d0;
  width: 100% !important;
}

#regtotals-large,
#regtotals-small {
  color: black;
  font-family: var(--brand-font-family);
  width: 97%;
  margin: auto;
}

span.totalsValue.dateValue::before {
  content: "";
}

span.totalsValue.dateValue::after {
  content: " ";
}

.dateValue,
.demField,
.repField,
.othField,
.totField {
  text-transform: uppercase;
  font-size: medium;
}

.demValue,
.repValue,
.othValue,
.totValue {
  text-transform: uppercase;
  font-size: larger;
}

.datePrelude,
.dateValue {
  font-size: 16;
}

/*Beginning of Content after Quicklinks and Registered Voters*/

body:has(.dnnEditState) {
  margin-bottom: 10rem;
}

#contentwrapper {
  background: #fff;
}

#contentwrapper > div {
  padding: 2rem 1rem;
}

#contentwrapper > .homeSectionBackground:not([style='display: none']):nth-child(even) {
  background: #cedce9;
}

body:not(.dnnEditState) .visibility-dependant:has(.DNNEmptyPane) {
  display: none !important;
  visibility: hidden !important;
}

div.home-divider {
  height: 5px;
  padding: 0 !important;
}

.submenu:not(.submenu .submenu) {
  position: absolute;
  margin: 0px;
  padding: 10px;
  list-style: none;
  background-color: #275a9a !important;
  z-index: 99;
  left: 0;
  right: 0;
  width: 200%;
  top: 100%;
  text-wrap: balance;

  @media(max-width: 990px){
    & {
      position: relative;
      width: 100vw;
    }
  }
}

.navbar-expand-lg {
  width: 100%;
  padding-left: 1em;

  @media(max-width: 990px){
    width: auto;
  }
}

.nav-item:nth-last-child(-n + 3) .submenu {
  right: 0;
  left: auto !important;
}

.sf-sub-indicator {
  display: none !important;
}

.nav-item:hover, .nav-item:focus {
  background-color: #275a9a;
}

.submenu > li.nav-item {
  border: none;
  display: flex;
  flex-wrap: wrap;
}

.submenu > li.nav-item:hover, .submenu > li.nav-item:focus {
  background-color: #012e5b;
}

.submenu:first-child > .nav-item:hover {
  border-bottom: 1em solid #eef3f7;
}

.home {
  color: #ffffff;
}

#icons {
  padding: 10px;
}

#middlecontent {
  display: flex;
  flex-direction: row;
  background-color: #023e6b;
  padding: 3em 2em;
}

.homecontentpane {
  position: relative;
}

#welcomeMessageTitle, .newsMessageTitle {
  width: 15%;
}

.titleDivider {
  width: 1px;
  background: #778ea7;
  margin: 0 1rem;
}

.contentWithDivider {
  width: 80%;
}

#welcomeTextLabel, .newsTextLabel {
  font-family: var(--brand-font-family);
  text-align: center;
}

#welcomeTextLabel {
  color: --brand-accent-color;
}

body:not(.dnnEditState) .visibility-dependant-multi:has(.DNNEmptyPane:nth-child(4):last-child) {
  display: none !important;
}

.newsTextLabel {
color: --brand-accent-color;
}

.welcomeMessageArea, .newsMessageArea {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: stretch;
  background-color: #fff;
}

@media(max-width: 680px){
  .newsMessageArea {
    display: flex;
    flex-direction: column;
  }

  .newsMessageTitle {
    width: 100%;
  }
}

#right-welcome-pane {
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  padding: 0 2em;
  flex-direction: column;
  align-items: flex-start;
  flex: 0 1 auto;
}

#date-block-pane > div {
  width: 45%;
}

#date-block-pane {

  display: flex;
  flex-wrap: wrap;
  padding: 0 2em;
  flex-direction: row;
  align-items: flex-start;
  flex: 0 1 auto;
  justify-content: space-around;
  gap: 15px;
}

#right-welcome-pane {
  padding: 0 4em;
}

#dnn_welcomeMessagepane_SyncPanel, #dnn_newsMessagepane_SyncPanel {
  width: 100%;
}

.customButtonDNNDiv {
  background: transparent;
  border: none;
  width: 100%;
  padding-bottom: 2em;
}

.DNNModuleContent .ModDNNHTMLC {
font-family: var(--brand-font-family);
  font-size: medium;
  font-weight: 600;
}

#right-welcome-pane > div {
  margin: 0;
}

.rightPaneWelcomeMessage {
  display: flex;
  flex-direction: column;
  align-items: baseline;
  justify-content: space-between;
  padding: 0.5em;
  width: 90%;
}

.top-right-pane-welcome-message {
  padding: 0 0.5rem;
}

div.headshotWelcomeMessageArea p {
  font-size: 18;
  font-family: var(--brand-font-family);
  margin: 0.5rem;
}

.right-pane-welcome-message > div > div > div > div > div > div > p {
  font-size: 18;
  font-family: var(--brand-font-family);
}

.headshot-image-div {
  width: auto;
  display: flex;
  align-items: flex-end;
  flex-direction: row-reverse;
}

.headshot-image {
  max-height: 20rem;
}

.electionScheduleDiv {
  background-color: #294b8a;
  padding-bottom: 3rem;
}

.electionScheduleDivHeader {
  font-size: xx-large;
  color: #ffffff;
  display: flex;
  align-items: center;
  flex-direction: row;
  justify-content: space-around;
  padding: 2rem;
  margin: 0;
}

.electionScheduleInnerContainer {
  display: flex;
  padding: 1rem;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-evenly;
}

.electionScheduleInnerDiv {
  width: 100%;
  font-family: var(--brand-font-family);
  padding: 1em 3em 1em 0.5em;
  border-radius: 3px;
}

.electionScheduleInnerDiv:nth-child(1):has(#dnn_electionScheduleTitle1:empty) {
  display: none;
}

.electionScheduleInnerDiv:nth-child(2):has(#dnn_electionScheduleTitle2:empty) {
  display: none;
}

.electionScheduleInnerContainer:has(.enrDiv:empty) {
  display: flex;
  padding: 1rem;
  flex-direction: row;
  justify-content: center;
  margin: auto;
}

.electionScheduleInnerDiv:nth-child(3):has(#dnn_electionScheduleInnerContainer3:empty) {
  display: none;
}

.electionScheduleInnerDivHeader {
  background-color: #132f62;
  color: #ffffff;
  font-size: large;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
}

.electionScheduleInnerDivHeader > div {
  width: 100%;
  background: none;
  padding: 0;
}

.electionScheduleInnerDivHeader > div > div {
  margin: auto;
}

.electionScheduleInnerDivHeader > div > div > div > div > h3 {
  background-color: #132f62;
  color: #ffffff;
  font-size: large;
  padding: 1rem;
  margin: 0;
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
  text-align: center;
}

.electionScheduleInnerDivBody {
  background-color: #737377;
  display: flex;
  min-height: 70%;
  flex-direction: row;

  align-items: center;
}

.electionScheduleInnerDivIconContainer {
  max-width: 6rem;
}

#dnn_electionScheduleDate1 > div > div > div > h4 {
  color: white;
  font-size: larger;
}

#dnn_electionScheduleDate2 > div > div > div > h4 {
  color: white;
  font-size: larger;
}

.electionScheduleInnerDivDate {
  font-size: larger;
}

#dnn_electionScheduleInnerContainer1 > div > div > div > div > div > p {
  font-size: small;
  color: white;
}

#dnn_electionScheduleInnerContainer2 > div > div > div > div > div > p {
  font-size: small;
  color: white;
}

#dnn_electionScheduleInnerContainer3 {
  height: 100%;
  padding: 0;
  background-color: transparent;
}

#dnn_electionScheduleInnerContainer3 > div {
  width: 100%;
}

#dnn_electionScheduleInnerContainer3 > div > div > h1 {
  display: none;
  visibility: hidden;
}

.schedule-detail {
  color: white;
}

.enrDiv > div > div > div > div > div > a {
  display: flex;
  height: 100%;
  width: 100%;
  padding: 1em;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.enrDiv > div > div > div > div > div > a > div.HomePageENRElection {
  padding-bottom: 0.4rem;
}

.enrDiv > div > div > div > div > div > a > div.HomePageENRStatus {
  padding-top: 0.4rem;
}

#dnn_electionScheduleInnerContainer > div > div > h1 {
  margin: 0;
}
.enrDiv > div > div > div > div > a > div.HomePageENRElection > span {
  font-size: large;
}

.enrDiv > div > div > div > div > div > a > hr {
  display: none;
}

.HomePageENRLinkContainer {
  display: flex;
  height: 100%;
  width: 100%;
  flex-direction: column;
  justify-content: center;
  align-items: center;
font-family: var(--brand-font-family);
}

.HomePageENRLinkHighlight {
  padding: 1px;
  font-size: medium;
  outline: 1px dashed transparent;
}
.HomePageENRStatus {
  font-size: small;
font-family: var(--brand-font-family);
  font-weight: bold;
  line-height: 1.2;
  color: #bf3946;
}

/*Charlotte ENR adn Veteran Button */

.customButtonGroup {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 100%;
}

.bothButtons {
  background-size: cover;
  width: 48%;
  height: 5em;
  filter: drop-shadow(0px 4px 6px #9a9a9a);
  border: none;
  position: relative;
  text-align: center;
  text-decoration: none;
  display: flex;
  margin: auto;
}
.charENRButton {
  background-image: url(//vrcdn.electionsfl.org/portals/charlotte/images2023/wf_electionresultsbuttonback_xxl.jpg);
}
.voteVetButton {
  background-image: url(//vrcdn.electionsfl.org/portals/charlotte/images2023/wf_voteforavetbuttonback_xxl.jpg);
}

.customButtonText {
  position: relative;
  z-index: 1;
  color: white;
  width: 90%;
font-family: var(--brand-font-family);
  margin: auto;
}

.enrButtonOverlay {
  width: 100%;
  height: 100%;
  background-color: #c02533;
  opacity: 0.85;
  position: absolute;
  top: 0;
  left: 0;
}

.vetButtonOverlay {
  width: 100%;
  height: 100%;
  background-color: #184870;
  opacity: 0.8;
  position: absolute;
  top: 0;
  left: 0;
}

.bothButtons:hover,
.bothButtons:focus {
  text-decoration: underline;
  color: white;
}

.charENRButton:hover > .enrButtonOverlay,
.charENRButton:focus > .enrButtonOverlay {
  background-color: #a31320;
}
.voteVetButton:hover > .vetButtonOverlay,
.voteVetButton:focus > .vetButtonOverlay {
  background-color: #073256;
}

.right-pane-welcome-message {
  padding-top: 1em;
}

@media (max-width: 750px) {
  .welcomeMessageArea {
    padding: 1em;
    display: block;
  }

  #welcomeMessageTitle, .newsMessageTitle {
    border-right: none;
    width: 100%;
  }

  #welcomeTextLabel, .newsTextLabel {
    margin: auto;
    text-align: center;
    font-size: x-large;
  }

  #right-welcome-pane {
    padding: 0;
  }
  .customButtonGroup {
    flex-direction: column;
  }
  .bothButtons {
    width: 100%;
    margin: 1em 0;
    height: fit-content;
    padding: 1em;
  }
  div[class*="_article_list_wrapper"] {
    margin: 1em 0;
  }
}

.backpagecontentpane {
  width: 100%;
  padding: 2em;
}

.backpage-divider {
  height: 20px;
  width: 100%;
}

#sxsContent {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  padding: 0 6rem;
  padding-bottom: 2em;
  flex-wrap: wrap;
}

#aboutContent, 
#faqPane {
  display: flex;
  flex-direction: row;
  justify-content: center;
  padding: 0 4rem;
  padding-bottom: 2em;
  flex-wrap: wrap;
}

#faqPane {
  justify-content: space-between;
  padding: 0 4em;
}

#verticalQuicklinks {
  width: 12%;
}

#dnn_faqSection_SyncPanel, #dnn_faqSection {
  width: 85%;
  padding-bottom: 2em;
}

#dnn_rightSxSContent,
#dnn_leftSxSContent,
#aboutDescription {
  padding: 1em;
}

#aboutRightContainer {
  width: 25%;
  padding-top: 0;
  margin-right: 1em;
}

#dnn_rightSxSContent,
#dnn_aboutDescription {
  padding-left: 1em;
}

#dnn_leftSxSContent, #dnn_rightSxSContent, #dnn_leftSxSContent_SyncPanel, #dnn_rightSxSContent_SyncPanel {
  width: 50%;
}

#dnn_leftSxSContent {
  padding-right: 2em;
}

#dnn_aboutDescription {
  width: 70%;
}

#dnn_aboutPhoto {
  margin-top: 1em;
}

#dnn_aboutPhotoTitle p {
font-family: var(--brand-font-family);
  font-size: xx-large;
  color: --brand-accent-color;
  text-align: center;
  width: 80%;
  margin: auto;
  text-transform: uppercase;
  line-height: 1em;
}

#aboutRightContainer img {
  width: 80%;
  margin: auto;
  display: flex;
}

#dnn_aboutName p, .HeaderLine  {
font-family: var(--brand-font-family);
  color: #072850;
  font-size: larger;
  text-transform: capitalize;
  text-align: center;
}

.HeaderLine {
  font-size: xx-large;
  text-align: left;
}

#dnn_faqSection .accordion {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.accordion-item {
  margin: 0.5em 0;
  width: 95%;
}

.accordion-button {
  border: 0;
  background-color: #dce5ee;
}

.accordion-header {
  margin-bottom: 0;
  color: #072850;
font-family: var(--brand-font-family);
}

.accordion-body {
  margin-bottom: 0;
  color: #000;
font-family: var(--brand-font-family);
  font-size: large;

}

#verticalQuicklinks  > a {
  text-decoration: none;
}

#verticalQuicklinks  > a:hover .quicklink-item2, #verticalQuicklinks  > a:focus .quicklink-item2 {
  background: #c8ddef;
  color: #072850;
}

.quicklink-item2 {
  display: flex;
  border-radius: 100%;
  height: fit-content;
  width: 8em;
  height: 8em;
  border: 2px solid --brand-accent-color;
  background: white;
  filter: drop-shadow(1px 2px 2px rgba(0, 0, 0, 0.68));
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 5px;
  margin: 1em 0;
}

.ql-container2 {
  height: 100%;
  width: 100%;
}

.qlicon2 {
  height: 100%;
  border-radius: 100%;
  border: 1px solid #072850;
  display: flex;
  justify-content: center;
  align-items: center;
}


.ql2words {
  text-align: center;
  text-transform: capitalize;
  width: 80%;
}

@media(max-width: 920px){
  #dnn_aboutPhotoTitle p {
    font-size: 1.5em;
  }

  #verticalQuicklinks {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
  }

  #faqPane {
    flex-direction: column;
  }

  #dnn_faqSection {
    width: 100%;
  }

  .accordion-item {
  width: 100%;
  }
}

@media (max-width: 675px) {
  #sxsContent, #aboutContent {
    padding: 0 8%;

}
  #sxsContent,
  #aboutRightContainer {
    flex-direction: column;
  }

  #dnn_leftSxSContent, #dnn_rightSxSContent, #dnn_leftSxSContent_SyncPanel, #dnn_rightSxSContent_SyncPanel {
    width: 100%;
  }

  #aboutRightContainer,
  #dnn_aboutDescription {
    width: 100%;
    padding: 0;
    margin: 0;
  }

  #dnn_aboutPhotoTitle p {
    width: 100%;
  }
  #faqPane {
    padding: 0 .8em;
  }
  .quicklink-item2 {
    width: 6em;
    height: 6em;
  }
  .ql2words {
    font-size: small;
  }
  .accordion-item {
    margin: .5em 0;
  }
}

@media(max-width: 415px){
  .quicklink-item2 {
    width: 9em;
    height: 9em;
  }
  .ql2words {
    font-size: large;
  }
}

@media (min-width: 768px) {
	.navbar-collapse .collapse {
		display: revert !important;
	}
}
.editcontentpane {
  position: relative;
  width: 900px;
  margin-left: 40px;
  min-height: 700px;
  float: left;
}

#dnn_rightcontentpane {
  margin-top: 55px;
}

.columnWrapper {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 81%;
  margin: auto;
}

.columnWrapper > #verticalQuicklinks{
  width: 15%;
}

.columnWrapper > #dnn_ContentPane, .columnWrapper > #dnn_ContentPane_SyncPanel {
  min-width: 60%;
  max-width: 64%;
}

.columnWrapper > #dnn_rightPane, .columnWrapper > #dnn_rightPane_SyncPanel {
  width: 20%;
}

/*Right Sidebar items*/

#rightsidebar {
  width: 221px;
  float: right;
  margin-top: 20px;
}

.news-container,
.dates-container {
  width: 50%;
}

.eds_news_BlogOne.eds_subCollection_calendar .archive_list {
  margin: 0 !important;
  padding: 3em !important;
}

.eds_news_Firefly.eds_subCollection_calendar .archive_list.events > ul {
  background-color: #e1ebf1 !important;
  margin: 0 !important;
}

.eds_news_Firefly.eds_subCollection_calendar .archive_list.events > ul li {
  padding: 1em !important;
  text-align: center;
}
.eds_news_Firefly.eds_subCollection_calendar
  .archive_list.events
  > ul
  li:not(:last-child) {
  border-bottom: 0.8em solid #a6c0d0;
}

.eds_news_Firefly.eds_subCollection_calendar .archive_list.events > ul li a {
  color: #023e6b !important;
  font-family:  var(--brand-font-family) !important;
  font-size: 1.4em !important;
  font-weight: 600 !important;
}

.eds_news_Firefly.eds_subCollection_calendar
  .archive_list.events
  > ul
  li
  a
  span {
  background-color: transparent !important;
  padding: 4px !important;
  color: #b10313 !important;
  font-weight: normal !important;
  border-radius: 3px !important;
  display: block !important;
  font-size: 1.2em !important;
  font-family:  var(--brand-font-family) !important;
  text-decoration: none !important;
  line-height: 15px !important;
  display: block !important;
}

#news,
#dates {
  height: auto;
font-family: var(--brand-font-family);
}

#news h2,
#dates h2 {
  color: white;
  font-size: 38;
}

.edn_articlesRssWrapper {
  display: none;
}

.eds_news_Vision.eds_subCollection_news .EDN_article .articleTitle {
  font-family:  var(--brand-font-family) !important;
  font-size: 16 !important;
}

.EDN_article a, .edn_article a{
  color: #072850 !important;
  text-align: start !important;
  font-size: x-large !important;
}

.edn_article p{
  text-align: start !important;
}

.edn_27165_article_list_wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(7rem, 3fr));
  padding: 1vw;
}
div[class*="_article_list_wrapper"] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: auto;
  grid-gap: 1em 6em;
}

.eds_news_Ozone.eds_subCollection_news .edn_article .edn_articleSummary {
  padding: 0 !important;
}

@media (max-width: 420px) {
  .utility-button-label {
    font-size: small;
  }
  div[class*="_article_list_wrapper"] {
    /* --bs-gutter-x: 1.5rem; */
    --bs-gutter-y: 0;
    flex-wrap: wrap;
    margin-top: calc(var(--bs-gutter-y) * -1);
    margin-right: calc(var(--bs-gutter-x) * -0.5);
    margin-left: calc(var(--bs-gutter-x) * -0.5);
    flex-direction: column;
    display: flex;
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: auto;
    grid-gap: 5px;
    align-content: stretch;
  }
  #middlecontent {
    display: flex;
    flex-direction: column;
    background-color: #023e6b;
    padding: 3em 2em;
  }

  #regtotals-small > div > ul > :not(:first-child) {
    width: 50%;
    display: flex;
    padding: 10px;
    margin: auto;
    flex-wrap: nowrap;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    align-items: center;
  }
}

.edn_article {
  position: relative;
  background: transparent;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.edn_metaDetails {
  display: none;
}

 .EDN_readMoreButtonWrapper {
  display: none !important;
}

.EDN_article_rss_wrapper {
  display: none !important;
}

.archive_list.events {
  margin: none !important;
  box-shadow: none !important;
  background: none !important;
}

@media (max-width: 768px) {


  .news-container,
  .dates-container {
    width: 100%;
  }

  #middlecontent {
    display: flex;
    flex-direction: column;
  }

  .electionScheduleInnerContainer {
    display: grid;
    padding: 1rem;
  }

  #datesmiddle {
    padding: 0;
  }
}

/*Footer*/

footer {
  display: flex;
  justify-content: space-evenly;
  background-image: url(//vrcdn.electionsfl.org/portals/charlotte/images2023/wf_footerback_xxl.jpg);
  background-size: cover;
  flex-direction: column;
  align-items: stretch;
  padding: 2em;
  width: 100%;
}

.footer-top {
  display: flex;
  justify-content: space-between;
}

.footer-contact-top h2 {
  color: #072850;
  font-size: 1.6em;
}

.footer-contact-bottom > h3 {
  color: black;
  font-size: 1.3em;
}

.footer-contact-bottom > h3 > a {
  color: #265a99;
}

.footer-contact-bottom > h3 > a:hover {
  color: #033a7e !important;
}

.footer-contact-bottom > h3 > a:focus {
  border: 1px solid black;
}

.footerLink {
  margin: auto;
  text-align: center;

}

.footerLink a {
  color: #265a99;
  font-size: 1.6em;
}

@media (max-width: 992px) {
  .footer-contact-bottom > h3 {
    font-size: 1.2em;
  }
}

.footer-bottom-locations p {
  margin: 0;
}

.footer-socials,
.footer-socials > div > a {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-end;
}

.footer-socials img {
  width: 40%;
}

.footer-socials img:hover {
  scale: 1.2;
}

.footer-socials a:focus {
  outline: 1px solid black;
}

.footer-bottom-locations{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.footer-bottom-locations-single {
  display: flex;
  margin: 1em 0;
  flex-direction: column;
  width: 32%;
}

.locationCardLeft {
  width: 100%;
  background: rgb(38, 89, 152, 0.13);
  display: flex;
  align-items: center;
  justify-content: center;
}

.locationCardLeft h2 {
  color: --brand-accent-color;
  text-align: center;
  margin: auto;
font-family: var(--brand-font-family);
  font-size: x-large;
  text-transform: capitalize;
}

.locationCardLeft p {
  color: --brand-accent-color;
  text-align: center;
  margin: auto;
font-family: var(--brand-font-family);
  font-size: x-large;
  text-transform: capitalize;
}

.footer-bottom-locations-single img {
  height: 100%;
}

.locationCardRight {
  width: 100%;
  background-color: white;
  padding: 1em 0.7em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

.locationCardRightTop h3,
.locationCardRightBottom h3 {
  color: black;
font-family: var(--brand-font-family);
  padding: 0.3em;
  margin: auto;
  font-size: medium;
  font-weight: 600;
}

.contact-container {
  padding-left: 2rem;
  padding-right: 2rem;
}

.footer-col {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-content: space-around;
  align-items: center;
  padding: 1rem;
}

.footer-inner-col {
  display: flex;
  flex-direction: column;
  align-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}

#dnn_footercontentpane {
  width: inherit;

  padding: 2px;
  color: white;
}

#dnn_disclaimerMessage {
  padding: 2em 1em;
  background-color: rgba(255, 255, 243, 0.3);
  border-radius: 5px;
}

div#dnn_disclaimerMessage P {
  padding: 2em 0;
  font-family: var(--brand-font-family);
  color: black;
  font-size: 1.05em;
}

.dnnEditState .DnnModule {
  opacity: 1;
}

@media print {
  body {
    background-color: white;
    color: black;
    background-image: none;
  }
  #dnn_ContentPane,
  #contentwrapper,
  #wrapper {
    width: 100%;
    border: 0;
    margin: 0;
    padding: 0;
    background: none;
    float: none !important;
    top: 0;
    position: absolute;
  }
  #logo,
  #footer,
  #swoosh {
    display: none;
  }
  #controls,
  #maintop {
    display: none;
  }
  #backwrap,
  #staticbanner {
    background-image: none;
  }
  #leftsidebar,
  #rightsidebar,
  #registeredvoters,
  #quicklinks,
  #rotatordiv {
    display: none;
  }
}

/* Popup Message and Transparent Bar */

#dnn_popup {
  background: #0073b7;
  height: 54px;
  display: none;
}

#dnn_popup a {
  color: #fef795;
}

#dnn_ctr33026_ModuleContent {
  display: table-cell;
  vertical-align: middle;
  min-height: 54px;
  height: 54px;
  width: 52%;
}

#dnn_popup p {
font-family: var(--brand-font-family);
  font-size: 1.2em;
  color: white;
  text-align: center;
  line-height: 1;
}

#dnn_popup h3 {
font-family: var(--brand-font-family);
  font-weight: bold;
  text-transform: uppercase;
  font-size: 1.3em;
  color: #fef795;
  text-align: center;
  line-height: 1;
  margin-top: 10px;
  margin-bottom: 5px;
}

#popupexit {
  padding-top: 15px;
  z-index: 9;
}

#popupexit:hover,
#popupexit:focus {
  color: white;
}

#transparentbar {
  position: absolute;
  z-index: 9;
  background: rgba(2, 47, 99, 0.65);
}

#transparentbarback {
  position: absolute;
  top: 0px;
  z-index: 9;
  background: rgba(2, 47, 99, 0.65);
}

.dnnSortable {
  min-height: 54px !important;
}

.removePopup {
  position: absolute;
  height: 1px;
  width: 1px;
  left: 5000px;
}

.tbarUp {
  top: 0px !important;
}

@media (max-width: 2050px) {
  #dnn_ctr33026_ModuleContent {
    width: 24%;
  }
}

@media (max-width: 1950px) {
  #dnn_ctr33026_ModuleContent {
    width: 25%;
  }
}

@media (max-width: 1850px) {
  #dnn_ctr33026_ModuleContent {
    width: 27%;
  }
}

@media (max-width: 1750px) {
  #dnn_ctr33026_ModuleContent {
    width: 28%;
  }
}

@media (max-width: 1650px) {
  #dnn_ctr33026_ModuleContent {
    width: 30%;
  }
}

@media (max-width: 1550px) {
  #dnn_ctr33026_ModuleContent {
    width: 32%;
  }
}

@media (max-width: 1450px) {
  #dnn_ctr33026_ModuleContent {
    width: 34%;
  }
}

@media (max-width: 1350px) {
  #dnn_ctr33026_ModuleContent {
    width: 37%;
  }
}

@media (max-width: 1250px) {
  #dnn_ctr33026_ModuleContent {
    width: 40%;
  }
}

@media (max-width: 1150px) {
  #dnn_ctr33026_ModuleContent {
    width: 44%;
  }
}

@media (max-width: 1050px) {
  #dnn_ctr33026_ModuleContent {
    width: 48%;
  }
}

@media (max-width: 800px) {
  #popuptext {
    position: relative;
    right: 7%;
  }
  .customButtonText {
    font-size: large;
  }

  .customButtonGroup {
    display: flex;
    flex-direction: column;
    width: 100%;
  }


}

@media (max-width: 680px) {
  #popuptext {
    position: relative;
    right: 8%;
  }
}

@media (max-width: 680px) {
  #quicklinks {
    flex-wrap: wrap;
  }
  #quicklinksHeaderDiv {
    border-right: none;
  }

  .welcomeMessageArea {
    flex-direction: column;
    padding: 2em;
  }
  .welcome-message-text {
    width: 100%;
    padding: 0em 2em;
    line-height: 1.5;
    margin: 0;
  }

  .headshot-image-div {
    margin: auto;
    padding: 0;
  }

  .right-pane-welcome-message {
    width: 100%;
    padding: 1em 0;
  }

  .electionScheduleInnerDiv {
    padding: 0;
  }
}

@media (max-width: 420px) {
  #quicklinks-header {
    font-size: xx-large;
  }
  #quicklinks {
    padding: 2em 0.5em;
  }

}

@media (max-width: 587px) {
  #dnn_popup {
    height: 71px;
  }
}

@media (max-width: 469px) {
  #dnn_popup {
    height: 85px;
  }
  #popuptext {
    right: 0%;
    width: 90%;
  }
}

@media (max-width: 575px) {
  .top-alert {
    font-size: 5vw;
    margin: 5px 14px;
    padding: 0.2em 0.5em;
  }

  .top-alert > ol {
    margin: 0.5rem;
    padding: 0.5rem;
  }

  .top-alert > li {
    font-size: 5vw;
  }

  .heroCenterDi {
    width: 90%;
  }

  .right-pane-welcome-message {
    padding: 2em 0;
  }

  #regtotals-small > .registrationTotals > .registrationTotalsList > {
    padding: 0;
  }

  #regtotals-small
    > .registrationTotals
    > .registrationTotalsList
    > :not(:first-child) {
    padding: 1vw;
  }

  #dnn_homepageMessagepane {
    padding: 0;
  }

  #dnn_homepageMessagepane > div > div > div > div > div > P {
    font-size: 5vw;
    padding: 0.5rem;
    margin: 0;
  }

  .electionScheduleInnerContainer {
    display: flex;
    flex-direction: column;
    padding: 0;
  }
  .electionScheduleInnerDivBody {
    padding: 0.5rem;
  }
  .electionScheduleInnerDivHeader {
    background-color: #132f62;
    color: #ffffff;
    padding: 0.6rem;
    font-size: larger;
    margin: 0;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
  }
  .electionScheduleInnerDivText {
    font-size: 3vw;
  }

  .electionScheduleInnerDivDate {
    font-size: large;
    margin: 0;
  }

  .electionScheduleInnerDivInfo {
    font-size: 3vw;
    margin: 0;
  }

  .HomePageENRLinkHighlight {
    padding: 1px;
    font-size: medium;
    outline: 1px dashed transparent;
  }
  .HomePageENRStatus {
    font-size: small;
  font-family: var(--brand-font-family);
    font-weight: bold;
    line-height: 1.2;
    color: #bf3946;
  }

  .customButtonText {
    font-size: x-large;
    margin: 10% auto;
  }
  footer {
    text-align: center;
    padding: 1em;
  }
  .footer-top {
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: wrap;
  }

  .footer-socials {
    margin: auto;
    margin-top: 1em;
  }
  .footer-socials, .footer-socials > div > a {
    justify-content: center;
  }

  .footer-contact-top h2 {
    font-size: 1.4em;
    padding: .2em;
    text-align: center;
  }

  .footer-contact {
    padding: 1em;
    background-color: rgba(255, 255, 243, 0.3);
    border-radius: 5px;
  }

  .locationCardRightTop h3,
  .locationCardRightBottom h3 {
    font-size: small;
    width: 100%;
  }

  .footer-bottom-locations-single {
    display: flex;
    margin: 1em 0;
    flex-direction: column;
  }

  .footer-contact-bottom > h3 {
    font-size: 1em;
  }

  .locationCardLeft {
    width: 100%;
  }

  .locationCardLeft > h2 {
    padding: 0.5em 1em;
  }

  .locationCardRight {
    width: 100%;
    padding: 1em 0.7em;
    text-align: center;
    display: flex;
    align-items: center;
  }
}

/* Content Pane Area */

.grayBack {
  background-color: #e2e2e2;
}

#dnn_newsarea {
  padding: 0 40px;
}

/* Getting rid of weird category about calendar */
#spacertop {
  padding: 15px;
}

#spacerbottom {
  padding: 0px;
}

#contentarea {
  background: #e2e2e2;
  display: flex;
}

@media (max-width: 991px) {
  #contentarea {
    display: inherit;
  }
}

#dnn_middlearea {
  border-right: 2px solid #707070;

  padding: 20px 20px;
  background: white;
}

#rightareaContainer {
  padding: 20px 15px;
  background: #e2e2e2;
}

@media (max-width: 991px) {
  #dnn_middlearea {
    padding: 30px;
    padding-top: 20px;
    padding-bottom: 40px;
  }
  #dnn_middlearea:after {
    border-bottom: 2px solid #707070;
    width: 100%;
    content: "";
    display: block;
    margin: 0 auto;
  }
  #dnn_contentpane:after {
    border-top: 2px solid #707070;
    width: 100%;
    content: "";
    display: block;
    margin: 0 auto;
  }

  #rightarea {
    padding-top: 20px;
  }

}

@media (max-width: 320px) {
  #rightarea {
    padding: 0 0px;
  }

  .electionScheduleInnerContainer {
    display: flex;
    padding: 1rem;
    flex-direction: column !important;
    flex-wrap: wrap !important;
    justify-content: space-evenly;
  }
}

#dnn_rightpane,
#dnn_leftpane,
#dnn_rightpaneTop,
#dnn_leftpaneTop {
  padding-top: 20px;
}

#dnn_rightpane h3,
#dnn_leftpane h3,
#dnn_rightpaneTop h3,
#dnn_leftpaneTop h3 {
font-family: var(--brand-font-family);
  font-size: 1.4em;
  color: #023b7a;
  text-align: left;
  margin: 0px 0 5px;
  font-weight: bold;
  text-transform: uppercase;
}

#dnn_rightpane h2,
#dnn_leftpane h2,
#dnn_rightpaneTop h2,
#dnn_leftpaneTop h2 {
font-family: var(--brand-font-family);
  font-size: 1.5em;
  font-weight: normal;
  color: #007ac3;
  text-align: left;
  margin: 10px 0px;
}

#dnn_rightpane p,
#dnn_leftpane p,
#dnn_rightpaneTop p,
#dnn_leftpaneTop p {
font-family: var(--brand-font-family);
  font-size: 1.3em;
  font-style: normal;
  color: #022f63;
  text-align: left;
}

/* News Section Edits */

/* Article Title */

.edn_metaDetails {
  text-align: center !important;
}

.eds_news_Ozone {
  margin-bottom: 0 !important;
}



/* Read More Button */


.eds_news_Ozone.eds_subCollection_news .edn_readMore.edn_readMoreButton,
.eds_news_Ozone.eds_subCollection_news
  .article_comments
  .add_comment
  .add_article_box
  .submit {
  font-family:  var(--brand-font-family) !important;
  -webkit-transition: all 200ms linear;
  -khtml-transition: all 200ms linear;
  -moz-transition: all 200ms linear;
  -ms-transition: all 200ms linear;
  -o-transition: all 200ms linear;
  transition: all 200ms linear;
  border: none !important;
  border-radius: none !important;
  font-size: 16px !important;
  padding: 12px !important;
}

/* Notices Section Edits */

/* Events Calendar */

#dnn_ctr33025_ModuleContent {
  width: 90% !important;
  padding-left: 10% !important;
}

.eds_news_Ozone.eds_subCollection_calendar .archive_list.events {
  margin-top: 0px !important;
  box-shadow: 0px 0px 6px grey;
  background: #d1d1d1;
}

.eds_news_Ozone.eds_subCollection_calendar .archive_list {
  padding: 0 !important;
}

.eds_news_Ozone .edn_module_title {
  display: none;
}

.eds_news_Ozone.eds_subCollection_calendar .archive_list.events ul li:before {
  display: none !important;
}

.eds_news_Ozone.eds_subCollection_calendar .archive_list.events ul li {
  padding: 15px !important;
  background: white;
  margin-bottom: 10px !important;
}

.eds_news_Ozone.eds_subCollection_calendar .archive_list.events ul li > a {
  font-size: 13pt !important;
  font-family:  var(--brand-font-family) !important;
  color: #023b7a !important;
  font-weight: bold;
}

.eds_news_Ozone h3 {
  padding: 0 15px !important;
}

/* Search Box & Translate Dropdown Spacing in PaneDrop & Mobile Menu*/

#dnn_mobilemenu {
  position: absolute;
  right: -150%;
  z-index: 15;
  background: white;
}

.bcs-container-searchbox {
  margin-top: 7px;
}

#google_translate_element {
  margin-top: 6px;
}

/* Gets rid of persona bar for dev purposes */
/*
body {
  margin-left: 0px !important;
}

iframe#personaBar-iframe,
.personalBarContainer.evoq .personabar-placeholder {
  display: none;
}
