@import url("https://fonts.googleapis.com/css?family=Oswald:400,600,700|Roboto:300,300i,400,500,700,700i|Roboto+Mono:300,500,700");
html {
  overflow-x: hidden; }

.bust-out {
  margin: 0 calc(50% - 50vw); }

.roboto-black-bold-17 .rich-text p {
  text-align: left; }

.center-text {
  text-align: center; }

.center-row {
  margin: 0 auto; }

.grey-background {
  background-color: #f5f5f5; }

.italicize {
  font-style: italic; }

.h-1-oswald-bold-white-48, .home-header-large {
  font-family: "Oswald", sans-serif;
  font-size: 48px;
  font-weight: bold;
  line-height: 62px;
  text-transform: uppercase;
  color: #ffffff; }

.full-width-caption {
  color: #ffffff; }

.h-1-oswald-bold-black-48, .h-1-oswald-bold-black-48 p {
  font-family: "Oswald", sans-serif;
  font-size: 48px;
  font-weight: bold;
  line-height: 1.17;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #1d1d1d; }

.h-1-oswald-black-48 p, .h-2-oswald-black-mobile-adjust {
  font-family: "Oswald", sans-serif;
  font-size: 48px;
  font-weight: 300;
  line-height: 1.17;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #1d1d1d; }

.h-2-oswald-black-30 p {
  font-family: "Oswald", sans-serif;
  font-size: 30px;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #1d1d1d; }

.h-2-oswald-bold-black-30, .h-2-oswald-bold-black-30 .rich-text p, .h-2-oswald-bold-black-30 .rich-text p a {
  font-family: "Oswald", sans-serif;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #1d1d1d; }

.h-2-oswald-bold-white-30 {
  font-family: "Oswald", sans-serif;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.13;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #ffffff; }

.h-2-oswald-bold-blue-30 {
  font-family: "Oswald", sans-serif;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #2d64ec; }

.h-2-oswald-bold-grey-30 {
  font-family: "Oswald", sans-serif;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #979797; }

.h-3-oswald-bold-black-24 {
  font-family: "Oswald", sans-serif;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.17;
  letter-spacing: 0.5px;
  color: #1d1d1d; }

.h-3-oswald-bold-white {
  font-family: "Oswald", sans-serif;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.17;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #ffffff; }

.h-4-oswald-bold-black-18 {
  font-family: "Oswald", sans-serif;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.33;
  letter-spacing: 0.5px;
  color: #1d1d1d; }

.h-4-oswald-bold-blue-18 {
  font-family: "Oswald", sans-serif;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.5px;
  color: #2d64ec; }

.f-3-roboto-regular-white-13, div.blue-confirmation div.rich-text p, div.blue-confirmation {
  font-family: "Roboto", sans-serif;
  font-size: 13px;
  color: #ffffff; }

.h-4-oswald-bold-white-18, div.header-confirmation div.rich-text p, div.header-confirmation {
  font-family: "Oswald", sans-serif;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.5px;
  color: #ffffff; }

.f-1-roboto-bold-charcoal-18 {
  font-family: "Roboto", sans-serif;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.67;
  color: #5a5a5a; }

.p-1-roboto-light-charcoal-18 {
  font-family: "Roboto", sans-serif;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.5;
  color: #5a5a5a; }

.p-1-roboto-light-blue-18-links {
  font-family: "Roboto", sans-serif;
  font-size: 1.1em;
  font-weight: 300;
  line-height: 1.5;
  color: #2d64ec; }

.p-1-roboto-light-charcoal-18-bulleted-list {
  font-family: "Roboto", sans-serif;
  font-size: 1.1em;
  font-weight: 300;
  line-height: 1.5;
  color: #5a5a5a; }

.f-1-roboto-bold-charcoal-16 {
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.67;
  color: #5a5a5a; }

.f-1-roboto-medium-charcoal-16 {
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  line-height: 1.67;
  color: #5a5a5a; }

.h-5-oswald-bold-white-13 {
  font-family: "Oswald", sans-serif;
  font-size: 13px;
  font-weight: bold;
  line-height: 1.38;
  letter-spacing: 0.5px;
  color: #ffffff; }

.h-5-oswald-bold-black-13 {
  font-family: "Oswald", sans-serif;
  font-size: 13px;
  font-weight: bold;
  line-height: 1.38;
  letter-spacing: 0.5px;
  color: #1d1d1d; }

.p-2-body-roboto-bold-13 {
  font-family: "Roboto", sans-serif;
  font-size: 13px;
  font-weight: bold;
  line-height: 1.31;
  color: #1d1d1d; }

.p-2-body-roboto-regular-13 {
  font-family: "Roboto", sans-serif;
  font-size: 13px;
  font-weight: normal;
  line-height: 1.31;
  color: #5a5a5a; }

.f-3-roboto-regular-charcoal-13 {
  font-family: "Roboto", sans-serif;
  font-size: 13px;
  color: #5a5a5a; }

.h-6-roboto-mono-bold-11-captions-tags {
  font-family: "Roboto Mono", monospace;
  font-size: 11px;
  font-weight: bold;
  line-height: 1.36;
  letter-spacing: 0.3px;
  color: #5a5a5a; }

.p-3-roboto-medium-charcoal-11,
.p-3-roboto-medium-charcoal-11-force p, .p-3-roboto-medium-charcoal-11-force div {
  font-family: "Roboto", sans-serif;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.27;
  letter-spacing: 0.2px;
  color: #5a5a5a; }

.p-3-roboto-medium-charcoal-11-force p, .p-3-roboto-medium-charcoal-11-force div {
  margin: 0 0 5px; }

.p-3-roboto-medium-blue-11,
.p-3-roboto-medium-blue-11-force p, .p-3-roboto-medium-blue-11-force div {
  font-family: "Roboto", sans-serif;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.27;
  letter-spacing: 0.2px;
  color: #2d64ec; }

.p-3-roboto-medium-blue-11-force p, .p-3-roboto-medium-blue-11-force div {
  margin: 0 0 5px; }

*, *:before, *:after {
  box-sizing: border-box; }

.form {
  background: #2d64ec;
  padding: 75px 200px 75px 200px; }

.form-header {
  border-radius: 0; }

.text-center, .center {
  text-align: center; }

.signup-header {
  margin: 0 0 40px; }

.signup-header-mid {
  margin: 0 0 30px; }

label {
  position: absolute;
  transform: translateY(17px);
  left: 30px;
  color: rgba(255, 255, 255, 0.5);
  -webkit-backface-visibility: hidden;
  pointer-events: none;
  font-size: 15px; }
  label .req {
    margin: 2px;
    color: #2d64ec; }

label.active {
  display: none; }

label.highlight {
  color: #ffffff; }

input, textarea {
  display: block;
  height: 100%;
  background-image: none;
  border-top: 0px;
  border-left: 0px;
  border-right: 0px;
  color: #ffffff;
  border-radius: 0;
  padding-left: 10px;
  font-size: 15px; }
  input:focus, textarea:focus {
    outline: 0;
    border-color: #ffffff; }

input.orange-input {
  padding-left: 10px;
  color: #ED9300;
  font-family: "Roboto Mono", monospace;
  font-size: 13px;
  font-weight: bold; }
  input.orange-input:focus {
    outline: 0;
    border-color: #ED9300;
    border-right: 2px solid #ED9300 !important; }

input:not([type='submit']):not([type='button']), textarea {
  width: 100%; }

.background-none {
  background: none; }

textarea {
  border: 2px solid #979797;
  resize: vertical; }

.fill-in-right {
  border-right: 2px solid #ffffff; }

.field-wrap-home {
  position: relative; }

.field-wrap {
  position: relative;
  margin-bottom: 8%; }

.field-wrap-footer {
  position: relative; }

.large-header-text {
  font-family: "Oswald", sans-serif;
  font-size: 48px;
  font-weight: bold;
  letter-spacing: 1.3px;
  text-transform: uppercase;
  color: #ffffff; }

.large-header-text-mid, .large-header-text-mid p {
  font-family: "Oswald", sans-serif;
  font-size: 48px;
  font-weight: bold;
  letter-spacing: 1.3px;
  text-transform: uppercase;
  color: #ffffff; }

.header-form-row {
  margin: 0 auto; }

.footer-form-row {
  margin: 0 auto;
  height: 70px; }

.loading {
  font-size: 0 !important;
  width: 25px !important;
  height: 25px !important;
  margin-top: 0px !important;
  border-radius: 15px !important;
  padding: 0 !important;
  border: 3px solid #ffffff !important;
  border-bottom: 3px solid transparent !important;
  border-left: 3px solid transparent !important;
  background-color: transparent !important;
  animation-name: rotateAnimation;
  -webkit-animation-name: wk-rotateAnimation;
  animation-duration: 1s;
  -webkit-animation-duration: 1s;
  animation-delay: 0.2s;
  -webkit-animation-delay: 0.2s;
  animation-iteration-count: infinite;
  -webkit-animation-iteration-count: infinite; }

@keyframes rotateAnimation {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

@-webkit-keyframes wk-rotateAnimation {
  0% {
    -webkit-transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg); } }

.fa-check, .fa-times {
  color: #ffffff;
  font-size: 24px !important;
  position: absolute;
  left: 50%;
  margin-left: -13px;
  margin-top: -12px;
  -webkit-transform: scaleX(0) !important;
  transform: scaleX(0) !important; }

.finish {
  -webkit-transform: scaleX(1) !important;
  transform: scaleX(1) !important; }

.hide-loading {
  opacity: 0;
  -webkit-transform: rotate(0deg) !important;
  transform: rotate(0deg) !important;
  -webkit-transform: scale(0) !important;
  transform: scale(0) !important; }

.no-show {
  display: none; }

.section-height {
  height: 98px; }

.whitebox-top, .whitebox {
  border: 2px solid #ffffff;
  border-right: 0px; }

.whitebox-bottom {
  border: 2px solid #ffffff;
  border-right: 0px; }

.no-box-padding {
  padding: 0px !important;
  height: 36px; }

.signup-height {
  height: 50px !important; }

.join-margin-top {
  margin-top: 10px; }

.footer-signup-height {
  height: 42px !important; }

.email_address_footer {
  font-family: "Roboto Mono", monospace;
  font-weight: 500;
  letter-spacing: 1px;
  font-size: 13px;
  color: #ffffff;
  padding-left: 12.5%; }
  .email_address_footer::placeholder {
    color: white;
    opacity: 1; }

#email_address_footer_label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px); }

.text-overlay {
  position: relative;
  display: table; }

.overlay {
  z-index: 99;
  width: 70%;
  /* height: 100%; */
  /* margin-left: 15%; */
  /* vertical-align: middle; */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); }

.quotation_div {
  position: relative;
  display: table; }

.social-icons {
  margin-right: 15px;
  margin-top: 10px; }

.social-icons ul {
  list-style: none;
  padding: 0; }

.social-icons ul li {
  display: inline-block;
  zoom: 1;
  vertical-align: middle; }

.social-icons ul li a {
  display: block;
  margin: 0 5px;
  text-decoration: none;
  font-size: 1.4em;
  color: #1d1d1d;
  -webkit-transition: all 0.2s ease-in;
  -moz-transition: all 0.2s ease-in;
  -o-transition: all 0.2s ease-in;
  -ms-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in; }

.social-icons ul li a i {
  color: #1d1d1d;
  -webkit-transition: all 0.2s ease-in;
  -moz-transition: all 0.2s ease-in;
  -o-transition: all 0.2s ease-in;
  -ms-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in; }

.social-icons ul li a i.fa-facebook-f, .social-icons-white ul li a i.fa-facebook-f {
  position: relative;
  bottom: 1.5px; }

.social-icons ul li a i.fa-instagram, .social-icons ul li a i.fa-instagram {
  font-size: 20px; }

.social-icons ul li a:hover i {
  color: #979797; }

.social-icons ul li a:focus i, .social-icons ul li a:active i {
  transition: none;
  color: #979797; }

.social-icons-white {
  margin-left: -20px; }

.social-icons-white ul {
  list-style: none;
  padding: 0; }

.social-icons-white ul li {
  display: inline-block;
  zoom: 1;
  vertical-align: middle; }

.social-icons-white ul li a {
  display: block;
  margin: 0 5px;
  text-decoration: none;
  font-size: 1.4em;
  color: #ffffff;
  -webkit-transition: all 0.2s ease-in;
  -moz-transition: all 0.2s ease-in;
  -o-transition: all 0.2s ease-in;
  -ms-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in; }

.social-icons-white ul li a i {
  color: #ffffff;
  -webkit-transition: all 0.2s ease-in;
  -moz-transition: all 0.2s ease-in;
  -o-transition: all 0.2s ease-in;
  -ms-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in; }

.social-icons-white ul li a:hover i {
  color: #dddddd; }

.social-icons-white ul li a:focus i, .social-icons ul li a:active i {
  transition: none;
  color: #dddddd; }

.icon-adjust {
  margin-top: 10px; }

.icon-image {
  z-index: 1;
  position: absolute;
  top: 15%;
  left: 20%;
  width: 60%;
  max-width: 100%;
  height: auto;
  max-height: 100%; }
  .icon-image:hover {
    opacity: .5;
    cursor: pointer; }

.icon-image-left {
  z-index: 1;
  position: absolute;
  top: 30%;
  left: 10%;
  width: 40%;
  max-width: 100%;
  height: auto;
  max-height: 100%; }
  .icon-image-left:hover {
    opacity: .5;
    cursor: pointer; }

.icon-image-right {
  z-index: 1;
  position: absolute;
  top: 30%;
  left: 52%;
  width: 40%;
  max-width: 100%;
  height: auto;
  max-height: 100%; }
  .icon-image-right:hover {
    opacity: .5;
    cursor: pointer; }

i.vol-icon {
  color: #2d64ec !important;
  display: inline-block;
  border-radius: 60px;
  box-shadow: 0px 0px 2px #ffffff;
  background-color: #ffffff;
  padding: 0.5em 0.6em; }

i.vol-icon-fb {
  padding: 0.5em 0.7em !important; }

html {
  background-color: #ffffff; }

.body-container, .footer-container {
  margin-right: auto;
  margin-left: auto; }

.rich-text img {
  max-width: 100%;
  height: auto; }

.responsive-object {
  position: relative; }

.responsive-object iframe, .responsive-object object, .responsive-object embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.body-content {
  width: 100%;
  overflow: hidden;
  clear: both;
  margin-bottom: 1em; }
  .body-content img {
    margin-bottom: 2%;
    margin-top: 2%; }
  .body-content img.full-width {
    width: 100%; }
  .body-content img.left {
    width: 45%;
    margin-right: 5%;
    float: left; }
  .body-content img.right {
    width: 45%;
    margin-left: 5%;
    float: right; }
  .body-content h1, .body-content h2, .body-content h3, .body-content h4, .body-content h5, .body-content .elections-calendar .button-color-registration .button-text, .elections-calendar .button-color-registration .body-content .button-text, .body-content .elections-calendar .button-color-primary .button-text, .elections-calendar .button-color-primary .body-content .button-text, .body-content .elections-calendar .button-color-special .button-text, .elections-calendar .button-color-special .body-content .button-text, .body-content .elections-calendar .button-color-general .button-text, .elections-calendar .button-color-general .body-content .button-text {
    clear: both; }

.img-wrapper {
  margin-bottom: 1em;
  position: relative; }
  .img-wrapper img {
    display: block;
    width: 100%;
    margin-bottom: 0; }
  .img-wrapper.left {
    float: left;
    width: 45%;
    margin-right: 5%; }
  .img-wrapper.right {
    float: right;
    width: 45%;
    margin-left: 5%; }

.intro {
  font-size: 1.4em; }

.caption {
  padding: 0.2em 1em 0.2em 0.5em;
  margin: 0;
  font-weight: 400;
  background: #f5f5f5;
  font-style: italic;
  display: inline-block;
  z-index: 2;
  position: absolute;
  bottom: 5px;
  left: 5px;
  font-size: 0.9em;
  max-width: calc(100% - 10px); }
  .caption p {
    margin: 0 !important; }

blockquote {
  margin: 2em 0; }
  blockquote span {
    display: block;
    color: #979797;
    font-size: 0.8em; }

.col-sm-4.pages {
  text-align: center; }

.col-sm-4.next {
  text-align: right; }

.main {
  padding-top: 81px;
  min-height: 700px; }

.template-homepage .main {
  padding-bottom: 0px; }
  @media only screen and (min-width: 768px) {
    .template-homepage .main {
      padding-bottom: 25px; } }
p:last-child {
  margin-bottom: 0; }

.image {
  position: relative;
  width: 100%; }

.all-caps {
  text-transform: uppercase; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #dddddd;
  padding: 0; }

hr.menuhr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #dddddd;
  margin: 10px 30px -5px 4px; }

.extra-line {
  margin-right: 0px !important; }

.action-circle {
  position: relative;
  display: inline-block;
  width: 15.5%;
  height: 0;
  padding: 7% 0;
  border-radius: 50%;
  line-height: 0;
  background: #ffffff;
  color: #ffffff;
  font-size: 48px;
  margin: 0px 2% 0px 2%; }

.action-circle-small {
  position: relative;
  display: inline-block;
  width: 35%;
  height: 0;
  padding: 9% 0;
  border-radius: 50%;
  line-height: 0;
  background: #ffffff;
  color: #ffffff;
  font-size: 48px;
  margin: 0px 2% 0px 2%; }

.action-title-small {
  position: relative;
  display: inline-block;
  width: 35%;
  padding: 4% 0;
  margin: 1% 2% 2% 2%; }

.action-title {
  position: relative;
  display: inline-block;
  width: 15.5%;
  padding: 2% 0;
  margin: 0px 2% 0px 2%; }

.action-bar {
  width: 90%;
  margin: 0 auto; }

.navbar-right {
  margin-right: -15px !important; }

.navbar-default .navbar-toggle {
  border-color: transparent;
  border: 0px solid transparent; }

.navbar-default .navbar-toggle .icon-bar {
  background-color: #1d1d1d;
  width: 24px;
  height: 2px; }

.header-icon {
  margin-left: -10px; }

.navbar-nav {
  margin: 7.5px 0px; }

.menu-item {
  height: 15px;
  font-family: "Roboto", sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.9px;
  text-align: center; }

.navbar-default .navbar-nav > li > a {
  color: #1d1d1d; }

.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:focus, .navbar-default .navbar-nav > .active > a:hover {
  color: #2d64ec !important;
  background-color: #ffffff !important; }

.navbar-default {
  background-color: #ffffff;
  border-color: #ffffff;
  padding-top: 10px;
  padding-bottom: 10px; }

#nav-icon {
  width: 26px;
  height: 21px;
  position: relative;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  -o-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  cursor: pointer; }

#nav-icon span {
  display: block;
  position: absolute;
  height: 2px;
  width: 24px;
  background: #1d1d1d;
  border-radius: 1px;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out; }

.row.even-row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap; }

.row.even-row > [class*='col-'] {
  display: flex;
  flex-direction: column; }

#nav-icon span:nth-child(1) {
  top: 0px; }

#nav-icon span:nth-child(2) {
  top: 23px; }

#nav-icon span:nth-child(3) {
  top: 19px; }

#nav-icon.open span:nth-child(1) {
  top: 18px;
  width: 0%;
  left: 50%; }

#nav-icon.open span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 16px; }

#nav-icon.open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg); }

#nav-icon.open span:nth-child(4) {
  top: 18px;
  width: 0%;
  left: 50%; }

.navbar-default .navbar-toggle:focus, .navbar-default .navbar-toggle:hover {
  background-color: transparent; }

.navbar-toggle .icon-bar + .icon-bar {
  margin-top: -4px; }

.panel-image-3-x-3-narrow {
  object-fit: cover; }

.modal {
  text-align: center;
  padding: 0 !important; }

.modal:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -4px; }

.modal-dialog {
  display: inline-block;
  text-align: center;
  vertical-align: middle; }

.vol-confirm-modal {
  background-color: #f5f5f5; }

.center-text-vertical, .center-text-vertical .rich-text p {
  text-align: center;
  vertical-align: middle;
  line-height: 80px; }

.special-height {
  height: 80px; }

.special-height-60 {
  height: 60px; }

.modal-title {
  font-size: 38px;
  font-weight: 500; }

.modal-body-margin {
  width: 80%;
  margin: 0 auto; }

.modal-text-bold {
  font-weight: 500; }

input.vol-input {
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.2px;
  text-align: left;
  color: #5a5a5a;
  margin-bottom: 5%; }

input.vol-input::-webkit-input-placeholder {
  color: #979797;
  font-size: 13px;
  font-family: "Roboto", sans-serif;
  font-weight: 300; }

input.vol-input:-moz-placeholder {
  color: #979797;
  font-size: 13px;
  font-family: "Roboto", sans-serif;
  font-weight: 300; }

input.vol-input::-moz-placeholder {
  color: #979797;
  font-size: 13px;
  font-family: "Roboto", sans-serif;
  font-weight: 300; }

input.vol-input:-ms-input-placeholder {
  color: #979797;
  font-size: 13px;
  font-family: "Roboto", sans-serif;
  font-weight: 300; }

.modal-text {
  color: #2d64ec; }

.row.text-center > div {
  display: inline-block;
  float: none; }

.oswald-48-black {
  color: #1d1d1d;
  font-family: "Oswald", sans-serif;
  font-size: 48px;
  line-height: 71px; }

.cta-header {
  color: #ffffff;
  font-family: "Oswald", sans-serif;
  font-size: 45px;
  line-height: 71px;
  font-weight: 600;
  text-align: center; }

.oswald-36-black {
  color: #1d1d1d;
  font-family: "Oswald", sans-serif;
  font-size: 36px;
  line-height: 53px; }

.gold-section {
  background-color: #f9ce46; }

.red-section {
  background-color: #ff3421; }

.blue-section {
  background-color: #2d64ec; }

.grey-section {
  background-color: #f2f2f2; }

.commit-text {
  width: 63%;
  margin: 0 auto;
  padding-bottom: 10px; }

.social-icons ul li a i.commit-social-twitter {
  color: #f9ce46 !important;
  display: inline-block;
  border-radius: 60px;
  background: #ffffff;
  padding: 0.5em 0.6em; }

.social-icons ul li a i.commit-social-fb {
  color: #f9ce46 !important;
  display: inline-block;
  border-radius: 60px;
  background: #ffffff;
  padding: 0.5em 0.7em; }

.commit-social {
  color: #f9ce46; }

.oswald-36-white {
  color: #ffffff;
  font-family: "Oswald", sans-serif;
  font-size: 36px;
  line-height: 53px; }

.share-language {
  color: #ffffff;
  font-family: "Roboto", sans-serif;
  font-size: 18px;
  font-weight: 300;
  line-height: 23px; }

.commit-icons, .commit-icons-chev {
  text-align: center; }

.commit-icons span a, .commit-icons-chev span a {
  background: #1d1d1d;
  color: #ffffff;
  display: inline-block;
  margin: 10px 10px 0 0;
  padding: 5px 10px; }

.commit-icons-chev a span i {
  color: #ffffff; }

.number-circle {
  width: 40px;
  line-height: 40px;
  border-radius: 50%;
  background: #f9ce46;
  color: #ffffff;
  text-align: center;
  font-family: "Oswald", sans-serif;
  font-size: 18px;
  margin: 0 auto; }

.oswald-36-black {
  color: #1d1d1d;
  font-family: "Oswald", sans-serif;
  font-size: 36px;
  line-height: 53px; }

.roboto-18-black, .roboto-18-black div p {
  color: #1d1d1d;
  font-family: "Roboto", sans-serif;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.5; }

.bold-text {
  font-weight: 500; }

.oswald-24-black {
  color: #1d1d1d;
  font-family: "Oswald", sans-serif;
  font-size: 24px;
  line-height: 36px; }

.remove-underline {
  text-decoration: none !important; }

.fa-lg {
  font-size: 2.0em !important; }

.commit-text img {
  display: block;
  margin: auto; }

.hide-element {
  display: none; }

.disclaimer-text div p {
  color: #5a5a5a;
  font-family: "Roboto Mono", monospace;
  font-size: 8px;
  font-weight: 300;
  line-height: 16px;
  text-align: center;
  width: 75%;
  margin: 0 auto; }

.center-state {
  display: table;
  margin: 0 auto; }

div.state-icon-small {
  display: table;
  height: 50px;
  width: 50px;
  border-radius: 100%;
  text-align: center;
  font-size: 25px;
  font-weight: bold;
  color: blue;
  background-color: #b8e9f4; }

.state-outline {
  margin-right: 2px;
  margin-top: 5px;
  -webkit-filter: opacity(0.5) drop-shadow(0 0 0 blue);
  filter: opacity(0.5) drop-shadow(0 0 0 blue); }

div.generic-page section.streamfield div.rich-text {
  text-align: left; }

div.rich-text p {
  margin-bottom: 1em; }

div.rich-text ul li {
  margin-bottom: 0.5em; }

.full-width-override, .full-width-override-video {
  margin-left: calc(50% - 50vw);
  width: 100vw; }

.panel-image-2-x-2-large-full-width {
  margin-left: calc(50% - 50vw);
  width: 100vw;
  height: 100%; }

.panel-image-2-x-2-large-full-width-home {
  margin-left: calc(50% - 50vw);
  width: 101.2vw;
  height: 100%; }

.row.is-flex {
  flex-wrap: wrap; }

.row.is-flex > [class*='col-'] {
  display: flex;
  flex-direction: column; }

.menu-sub-item {
  font-family: "Roboto", sans-serif;
  font-size: 13px;
  font-weight: 500 !important;
  line-height: 1.67;
  color: #1d1d1d; }

.text-over-image {
  position: absolute;
  color: #ffffff; }

.text-over-image-centered {
  top: 50%;
  left: 50%;
  margin: 0;
  transform: translate(-50%, -50%);
  text-align: center; }

.image-float-left {
  float: left;
  padding-right: 30px; }

.image-float-right {
  float: right;
  padding-left: 30px; }

.image-float-container {
  margin: 20px 0 0 0;
  overflow: auto; }

.image-float-content {
  margin-left: 0px; }

.image-float-content-left {
  text-align: left; }

.image-float-content-right {
  text-align: right; }

.image-float-outer-div, .image-float-outer-div-cand-table {
  padding: 0px 50px 0px 50px;
  text-align: center; }

.image-float-inner-div {
  display: inline-block;
  padding: 0px;
  margin: auto;
  width: 100%; }

.black-shadow {
  -webkit-filter: brightness(50%); }

.bottom-space {
  margin-bottom: 3% !important; }

.bottom-space-5 {
  margin-bottom: 5% !important; }

.bottom-space-10 {
  margin-bottom: 10% !important; }

.footer-space {
  margin-bottom: 60px; }

.large-section-margin-bottom {
  margin-bottom: 100px; }

.section-margin-bottom {
  margin-bottom: 75px; }

.header-margin-bottom {
  margin-bottom: 50px; }

.h2-margin-bottom {
  margin-bottom: 60px; }

.image-item-margin-bottom {
  margin-bottom: 20px !important; }

.component-margin-bottom {
  margin-bottom: 25px; }

.component-margin-bottom-mobile {
  margin-bottom: 25px; }

.small-component-margin-bottom {
  margin-bottom: 10px; }

.header-button-space {
  margin-top: 120px; }

.force-header-margin-bottom {
  margin-bottom: 50px !important; }

.force-component-margin-bottom {
  margin-bottom: 25px !important; }

.force-no-margin-bottom, .force-no-margin-bottom p {
  margin-bottom: 0px !important; }

.top-space {
  margin-top: 5%; }

.bring-in-left-17 {
  margin-left: -17px; }

.section-padding-top {
  padding-top: 50px; }

.header-padding-top {
  padding-top: 50px; }

.video-padding-bottom {
  padding-bottom: 50px; }

.mobile-menu-padding {
  padding-bottom: 100px; }

.padding-top-2 {
  padding-top: 2%; }

.no-padding {
  padding-right: 0px; }

.remove-all-padding {
  padding-right: 0px;
  padding-left: 0px; }

.padding-bottom {
  padding-bottom: 2%; }

.menu-padding {
  padding-right: 20px; }

.menu-padding-left {
  padding-left: 20px; }

.padding-top-75 {
  padding-top: 75px; }

.padding-bottom-75 {
  padding-bottom: 75px; }

.component-padding-bottom {
  padding-bottom: 75px; }

.padding-bottom-50 {
  padding-bottom: 50px; }

.no-space-below {
  margin-bottom: -100px; }

.small-component-padding-bottom {
  padding-bottom: 25px; }

.section-margin-top {
  margin-top: 75px; }

.component-margin-top {
  margin-top: 25px; }

.small-component-margin-top {
  margin-top: 10px; }

.bring-up-footer-margin-top {
  margin-top: -10px; }

.title-width {
  width: 80%; }

.panel-image-2-x-2-med {
  width: 100%;
  height: 100%; }

.image-scale-down-reasons {
  width: 50%;
  margin: 0 auto; }

.title-margins {
  margin-bottom: 3%;
  margin-top: 3%; }

.all-header-margin {
  margin-bottom: 50px; }

.menu-blurb {
  margin-top: 10px;
  margin-left: 5px;
  margin-bottom: 10px; }

.width-90 {
  width: 90%;
  margin: 0 auto; }

.commit-header-margin {
  margin-bottom: 100px; }

.padding-sides {
  width: 90%;
  margin: 0 auto; }

.narrow-content {
  width: 70%;
  margin: 0 auto !important; }

.snippet-height {
  height: 175px; }

@media (min-width: 768px) {
  .show-this {
    display: block !important;
    color: #f9ce46; }
  .fa-check.header, .fa-times {
    margin-top: -20px; }
  .navbar-nav.navbar-center {
    position: absolute;
    left: 50%;
    transform: translatex(-50%); } }

@media (min-width: 992px) {
  .centered-row {
    width: 100%;
    margin: 0 auto; }
  .narrow-columns {
    width: 95%;
    margin: 0 auto !important; }
  .image-left {
    float: left;
    padding: 0 20px 20px 0; }
  .dropdown .dropdown-menu {
    right: -63%;
    left: auto; }
  .dropdown-menu {
    position: relative;
    width: 200px;
    margin: 0 auto;
    padding: 0px 10px 0px 10px;
    background: #ffffff;
    border-radius: 0px;
    border: 2px solid #2d64ec;
    border-bottom: 0px;
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
    cursor: pointer;
    outline: none;
    font-weight: 600;
    color: #2d64ec;
    font-family: "Roboto", sans-serif; }
  .dropdown-menu:before {
    content: "";
    position: absolute;
    right: 91px;
    top: -10px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 10px 10px 10px;
    border-color: transparent transparent #ffffff transparent;
    z-index: 9999; }
  .dropdown-menu:after {
    content: "";
    position: absolute;
    right: 90px;
    top: -13px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 11px 11px 11px;
    border-color: transparent transparent #2d64ec transparent;
    z-index: 9998; }
  .dropdown-menu .dropdown {
    position: absolute;
    top: 140%;
    left: 0;
    right: 0;
    background: white;
    border-radius: inherit;
    border: 1px solid rgba(0, 0, 0, 0.17);
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
    font-weight: normal;
    -webkit-transition: all 0.5s ease-in;
    -moz-transition: all 0.5s ease-in;
    -ms-transition: all 0.5s ease-in;
    -o-transition: all 0.5s ease-in;
    transition: all 0.5s ease-in;
    list-style: none;
    opacity: 0;
    pointer-events: none; }
  .dropdown-menu li {
    text-decoration: none;
    width: 111%;
    margin-left: -10px;
    color: #2d64ec;
    border-bottom: 2px solid #2d64ec;
    box-shadow: inset 0 1px 0 white;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out; }
  .dropdown-menu .dropdown li a {
    display: block;
    padding: 10px;
    text-decoration: none;
    color: #2d64ec;
    font-family: "Roboto", sans-serif;
    font-weight: 600;
    border-bottom: 1px solid #f5f5f5;
    box-shadow: inset 0 1px 0 white;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out; }
  .dropdown-menu > li > a {
    padding: 3px 30px;
    margin: 10px 0px 10px 0px;
    text-align: center; }
  .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:focus, .navbar-default .navbar-nav > .open > a:hover {
    background-color: #ffffff;
    color: #dddddd; }
  .noshow {
    display: none; }
  .dropdown-menu .dropdown li i {
    float: right;
    color: inherit; }
  .dropdown-menu .dropdown li:first-of-type a {
    border-radius: 7px 7px 0 0; }
  .dropdown-menu .dropdown li:last-of-type a {
    border: none;
    border-radius: 0 0 7px 7px; }
  .dropdown-menu li:hover a {
    background: #ffffff;
    color: #2d64ec; }
  .dropdown-menu.active .dropdown {
    opacity: 1;
    pointer-events: auto; }
  .no-opacity .dropdown-menu .dropdown, .no-pointerevents .dropdown-menu .dropdown {
    display: none;
    opacity: 1;
    pointer-events: auto; }
  .no-opacity .dropdown-menu.active .dropdown, .no-pointerevents .dropdown-menu.active .dropdown {
    display: block; }
  .dropdown-menu .sub-menu {
    visibility: hidden; }
  .dropdown-menu li:hover .sub-menu {
    visibility: visible; }
  .dropdown:hover .dropdown-menu {
    display: inline-block;
    position: absolute; }
  .navbar-default .navbar-nav > li > a:hover {
    color: #979797; } }

@media (min-width: 991px) and (max-width: 1400px) {
  #email_address_footer_label:after {
    content: 'Enter Email'; }
  .email_address_footer {
    padding-left: 10%; } }

@media (min-width: 991px) and (max-width: 1199px) {
  .side-header-image-content {
    position: relative;
    height: 365px; }
  .side-header-image-content .side-elements {
    position: absolute;
    bottom: 0; }
    .side-header-image-content .side-elements h1 {
      text-transform: uppercase; } }

@media (min-width: 992px) {
  .side-header-component-margin-bottom {
    margin-bottom: 0px !important; }
  .vert-center-icon-large {
    margin-top: -50px !important;
    margin-bottom: 20px; }
  .vert-center-icon-small {
    margin-top: -45px !important;
    margin-bottom: 20px; } }

@media (min-width: 1200px) {
  .side-header-image-content {
    position: relative;
    height: 441px;
    width: 95%; }
  .side-header-image-content .side-elements {
    position: absolute;
    bottom: 0; }
    .side-header-image-content .side-elements h1 {
      text-transform: uppercase; }
  .image-float-content {
    position: relative;
    transform: translateY(25%); }
  .panel-image-3-x-3 {
    width: 358px;
    height: 240px; }
  .panel-image-3-x-3-narrow {
    width: 340px;
    height: 226.5px; }
  .panel-image-2-x-2-large {
    width: 103%;
    height: 100%; }
  .remove-left-padding {
    padding-left: 0px; } }

@media (max-width: 321px) {
  .large-header-text-mid {
    font-size: 15px !important; }
  .h-4-oswald-bold-white-18 {
    font-size: 11px !important; }
  .section-height {
    height: 250px !important; } }

@media (max-width: 419px) {
  .two-cards-width {
    width: 100%; }
  .join-margin-top {
    margin-top: 0px; }
  .container {
    padding-right: 25px;
    padding-left: 25px; }
  .header-button-space {
    margin-top: 75px; }
  .vert-center-icon-large, .vert-center-icon-small {
    margin-top: -45px !important;
    margin-bottom: 20px; }
  .h-1-oswald-bold-white-48 {
    font-size: 28px !important;
    line-height: 1.27 !important; }
  .container-fluid > .navbar-collapse, .container-fluid > .navbar-header, .container > .navbar-collapse, .container > .navbar-header {
    margin-right: -23px;
    margin-left: -4px; }
  .header-form-row, .footer-form-row {
    width: 100%; }
  .signup-header {
    margin: 0px 0px 10px; }
  .signup-header-mid {
    margin: 0 0 10px; }
  input, textarea {
    font-size: 18px; }
  .field-wrap, .field-wrap-footer {
    margin-bottom: 5%; }
  .navbar-toggle {
    padding: 9px 0px;
    margin-right: 20px; }
  .header-icon {
    margin-left: -4px; }
  hr.menuhr {
    margin: 10px 30px 3px 3px !important; }
  .menu-items-left {
    padding: 10px 5px !important; }
  .panel-image-2-x-2-large {
    width: 104% !important;
    height: 100%; } }

@media (max-width: 767px) {
  .component-margin-bottom-mobile {
    margin-bottom: 10px; }
  .actions-section {
    height: 650px; }
  .actions-width {
    width: 75%; }
  .whitebox-top {
    border-right: 2px solid #ffffff;
    border-bottom: 0px; }
  .whitebox-bottom {
    border: 2px solid #ffffff;
    border-right: 0px; }
  .overlay {
    width: 85%; }
  .section-height {
    height: 210px; }
  .video-padding-bottom {
    margin-bottom: 50px; }
  .section-margin-bottom {
    margin-bottom: 50px; }
  .section-margin-top {
    margin-top: 50px; }
  .header-margin-bottom {
    margin-bottom: 40px; }
  .h2-margin-bottom, .block-h2 {
    margin-bottom: 30px; }
  .h5-height {
    height: auto; }
  .block-h5 {
    margin-bottom: 20px; }
  .image-item-margin-bottom {
    margin-bottom: 10px !important; }
  .xs-list-item-margin-bottom {
    margin-bottom: 50px; }
  .mobile-list-margin-top {
    margin-top: 40px; }
  .mobile-padding-bottom {
    padding-bottom: 25px; }
  hr {
    margin-top: 25px;
    margin-bottom: 25px; }
  hr.hr-adjust {
    margin-top: 0px;
    margin-bottom: 25px; }
  .videoWrapper {
    position: relative;
    padding-bottom: 56.25%;
    /* 16:9 */
    padding-top: 25px;
    height: 0; }
  .videoWrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .center-state {
    display: block;
    margin: 0 auto; }
  .noshow-mobile {
    display: none; }
  .panel-image-2-x-2-large {
    width: 102%;
    height: 100%; }
  .panel-image-2-x-2-med {
    width: 102.5% !important;
    height: 100%; }
  .panel-image-3-x-3, .panel-image-3-x-3-narrow {
    width: 100%;
    height: auto; }
  .special-height {
    height: 14rem; }
  .small-card-background {
    background-color: #f5f5f5;
    margin-top: -22px; }
  .small-card-background-cand {
    background-color: #f5f5f5;
    margin-top: -22px; }
  .large-image {
    margin-right: 2.5%; }
  .bottom-line {
    border-width: 0px 0px 2px 0px;
    border-color: #f5f5f5; }
  .navbar-nav > li > a {
    padding-bottom: 0px !important;
    padding-top: 7px !important; }
  .title-margin-small {
    margin-top: 7%; }
  .force-11 {
    font-size: 11px !important; }
  .sots-text {
    padding: 0px 23px 0px 28px; }
  .header-icon-image {
    width: 140px;
    height: 49px; }
  .header-donate-button {
    margin: 4px !important; }
  .menu-items-left {
    padding: 10px 5px !important; }
  hr.menuhr {
    margin: 10px 18px 3px 15px; }
  .menu-items-left {
    padding: 10px 15px !important; }
  .menu-blurb {
    margin-left: 15px; }
  .header-donate-button {
    margin: 15px !important; }
  .social-icons {
    margin-left: 10px; }
  .extra-line {
    margin-right: 0px !important; }
  .navbar-fixed-bottom .navbar-collapse, .navbar-fixed-top .navbar-collapse {
    max-height: 550px; }
  .menu-padding-left {
    padding-left: 0px !important; }
  .commit-text {
    width: 90% !important;
    margin: 0 auto; }
  .oswald-36-white {
    font-size: 24px !important;
    line-height: 36px !important; }
  .oswald-36-black {
    font-size: 24px !important;
    line-height: 36px !important; }
  .roboto-18-black, .roboto-18-black div p {
    font-size: 16px !important;
    line-height: 22px !important; }
  .oswald-24-black {
    font-size: 20px !important;
    line-height: 30px !important; }
  .padding-top-75 {
    padding-top: 40px !important; }
  .commit-header-margin {
    margin-bottom: 50px !important; }
  .padding-bottom-75 {
    padding-bottom: 40px !important; }
  .padding-top-2 {
    padding-top: 4% !important; }
  .disclaimer-text div p {
    font-size: 8px !important;
    line-height: 12px !important;
    width: 85% !important;
    margin-bottom: 3% !important;
    padding-top: 3% !important; } }

@media (max-width: 991px) {
  .main {
    padding-top: 71px; }
  .sm-list-item-margin-bottom {
    margin-bottom: 50px; }
  .large-section-margin-bottom {
    margin-bottom: 40px; }
  .image-float-content-left, .image-float-content-right {
    text-align: center; }
  .side-header-image-content .side-elements {
    text-align: center; }
  .vert-center-icon-large, .vert-center-icon-small {
    margin-top: -60px;
    margin-bottom: 20px; }
  .image-float-left {
    float: none;
    padding-right: 0px;
    padding-bottom: 30px; }
  .image-float-right {
    float: none;
    padding-left: 0px;
    padding-bottom: 30px; }
  .image-float-container {
    overflow: auto; }
  .image-float-content {
    margin-left: 0px; }
  .image-float-outer-div {
    padding: 0px 10px 0px 10px;
    text-align: center; }
  .image-float-outer-div-cand-table {
    padding: 0px 10px 0px 5px;
    text-align: center; }
  .image-float-inner-div {
    display: inline-block;
    padding: 0px;
    margin: auto;
    width: 100%; }
  .panel-image-2-x-2-large-full-width-home {
    margin-left: calc(50% - 50vw);
    width: 102vw;
    height: 100%; }
  .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:focus, .navbar-default .navbar-nav > .open > a:hover {
    color: #5a5a5a;
    background-color: #ffffff; }
  .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:focus, .navbar-default .navbar-nav > .open > a:hover {
    background-color: #ffffff;
    color: #1d1d1d; }
  .dropdown-menu > li > a {
    font-weight: 600; }
  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: #979797; }
  .navbar-nav .open .dropdown-menu .dropdown-header, .navbar-nav .open .dropdown-menu > li > a {
    padding: 8px 0px 8px 40px; }
  .navbar-nav .open .dropdown-menu {
    position: static;
    float: none;
    width: auto;
    margin-top: 0;
    background-color: transparent;
    border: 0;
    -webkit-box-shadow: none;
    box-shadow: none; }
  .menu-sub-item {
    font-size: 16px !important; }
  .navbar-header {
    float: none; }
  .navbar-toggle {
    display: block; }
  .navbar-collapse.collapse {
    display: none !important; }
  .navbar-nav {
    float: none !important;
    margin: 7.5px -15px; }
  .navbar-nav > li {
    float: none; }
  .navbar-nav > li > a {
    padding-top: 10px;
    padding-bottom: 10px; }
  .navbar-text {
    float: none;
    margin: 15px 0; }
  .navbar-collapse.collapse.in {
    display: block !important; }
  .collapsing {
    overflow: hidden !important; }
  .navbar-default .navbar-collapse, .navbar-default .navbar-form {
    border-color: transparent; }
  .header-icon-image {
    width: 140px;
    height: 49px; }
  .header-donate-button {
    margin: 4px !important; }
  .menu-items-left {
    padding: 10px 5px !important; }
  hr.menuhr {
    margin: 10px 18px 3px 15px; }
  .menu-items-left {
    padding: 10px 15px !important; }
  .menu-blurb {
    margin-left: 15px; }
  .header-donate-button {
    margin: 15px !important; }
  .social-icons {
    margin-left: 10px; }
  .extra-line {
    margin-right: 0px !important; } }

@media (min-width: 321px) and (max-width: 375px) {
  .large-header-text-mid {
    font-size: 18px !important; }
  .h-4-oswald-bold-white-18 {
    font-size: 12px !important; } }

@media (min-width: 376px) and (max-width: 419px) {
  .large-header-text-mid {
    font-size: 24px !important; }
  .h-4-oswald-bold-white-18 {
    font-size: 16px !important; } }

@media (min-width: 420px) and (max-width: 500px) {
  .field-wrap, .field-wrap-footer {
    width: 100%; }
  .large-header-text-mid {
    font-size: 24px !important; }
  .h-1-oswald-bold-white-48 {
    font-size: 32px !important;
    line-height: 1.27 !important; }
  .signup-header {
    margin: 0 0 10px; } }

@media (min-width: 420px) and (max-width: 766px) {
  .two-cards-width {
    width: 90%; }
  .navbar-toggle {
    padding: 9px 0px;
    margin-right: 20px; }
  .header-icon {
    margin-left: 7px; } }

@media (min-width: 501px) and (max-width: 767px) {
  .large-header-text {
    font-size: 28px !important; }
  .field-wrap, .field-wrap-footer {
    width: 100%; }
  .large-header-text-mid {
    font-size: 32px !important; }
  .actions-section {
    height: 575px; }
  .actions-width {
    width: 75%; } }

@media (min-width: 636px) and (max-width: 667px) {
  .xs-adjust {
    padding-right: 24px !important;
    padding-left: 22px !important; } }

@media (min-width: 992px) and (max-width: 1200px) {
  .panel-image-2-x-2-large {
    width: 103%;
    height: 100%; }
  .panel-image-3-x-3 {
    width: 291px;
    height: 192px; }
  .panel-image-3-x-3-narrow {
    width: 270px;
    height: 180px; }
  .remove-left-padding {
    padding-left: 0px; }
  .commit-text {
    width: 61% !important;
    margin: 0 auto; }
  .navbar-right {
    margin-right: -10px !important; } }

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .actions-section {
    height: 175px; }
  .large-header-text {
    font-size: 48px !important; }
  .large-header-text-mid {
    font-size: 34px !important; }
  .nav-line {
    border-bottom: 1px solid #dddddd;
    margin-right: 2%;
    margin-left: 2%; }
  .navbar-nav > li > a {
    padding-top: 0px !important;
    padding-bottom: 0px !important; }
  .menu-item {
    text-align: left; }
  .navbar-left {
    text-align: left; }
  .panel-image-2-x-2-large {
    width: 103%;
    height: 100%; }
  .panel-image-3-x-3 {
    width: 205px;
    height: 136px; }
  .panel-image-3-x-3-narrow {
    width: 230px;
    height: 153px; }
  .remove-left-padding {
    padding-left: 0px; }
  .navbar-toggle {
    padding: 9px 0px;
    margin-right: -10px; }
  .header-icon-image {
    width: 140px;
    height: 49px; }
  .header-donate-button {
    margin: 4px !important; }
  .menu-items-left {
    padding: 10px 5px !important; }
  hr.menuhr {
    margin: 10px 18px 3px 15px; }
  .menu-items-left {
    padding: 10px 15px !important; }
  .menu-blurb {
    margin-left: 15px; }
  .header-donate-button {
    margin: 15px !important; }
  .social-icons {
    margin-left: 10px; }
  .extra-line {
    margin-right: 0px !important; }
  .bottom-line {
    border-width: 0px 0px 2px 0px;
    border-color: #f5f5f5; }
  .navbar-fixed-bottom .navbar-collapse, .navbar-fixed-top .navbar-collapse {
    max-height: 500px; }
  .sots-text {
    padding: 0px 23px 0px 28px; }
  .menu-padding-left {
    padding-left: 0px !important; }
  .cand-info {
    margin: 2% 0% 0% 0% !important; } }

path:hover {
  fill-opacity: .7; }

header {
  padding: 24px; }

table {
  width: 100%;
  border-collapse: collapse;
  font-family: "Roboto", sans-serif; }

th {
  font-family: "Roboto", sans-serif;
  font-size: 17px;
  text-align: left;
  font-weight: bold;
  color: #1d1d1d; }

td,
th {
  padding: 12px;
  border: 1px solid #ffffff;
  text-align: left; }

th:hover {
  cursor: pointer;
  color: #979797; }

table tr:hover td {
  background: #2d64ec;
  cursor: pointer;
  color: #ffffff; }

table td,
table th {
  border-bottom: 1px solid black;
  border-right: 0px;
  border-left: 0px; }

table th {
  border-top: 1px solid black; }

table td {
  font-family: "Roboto", sans-serif;
  font-size: 15px;
  text-align: left;
  font-weight: 300;
  color: #1d1d1d; }

.priorityRow {
  color: #2d64ec; }

.lossRow {
  color: #ff3421; }

.results tr[visible='false'],
.no-result {
  display: none; }

.results tr[visible='true'] {
  display: table-row; }

.container-2 {
  margin: 0 auto !important;
  width: 100%; }

#mapSvg {
  border-width: 0;
  overflow: visible; }

.legend-title {
  font-family: "avenir", "Helvetica Neue", sans-serif;
  margin-bottom: 0;
  margin-top: 0;
  color: #262626;
  text-align: center; }

ul.legend-tabs {
  margin: 0px;
  margin-left: 15px;
  padding: 0px;
  list-style: none; }

ul.legend-tabs li {
  background: none;
  color: #1d1d1d;
  display: inline-block;
  border-radius: 20px; }

ul.legend-tabs li.legend-first {
  background: #2d64ec;
  color: #ffffff;
  margin-bottom: -4px;
  width: 15px;
  height: 15px; }

ul.legend-tabs li.legend-second {
  background: #ff3421;
  color: #ffffff;
  margin-bottom: -4px;
  width: 15px;
  height: 15px; }

ul.legend-tabs li.legend-third {
  background: #9100e5;
  color: #ffffff;
  margin-bottom: -4px;
  width: 15px;
  height: 15px; }

.tab-line {
  display: inline-block;
  width: 100%;
  margin-bottom: 5px; }

@media (min-width: 768px) {
  .desktop-line {
    display: block;
    margin-left: auto;
    width: 85%; } }

@media (max-width: 768px) {
  th {
    font-size: 16px; }
  #d-line, #d-line-nra {
    width: 85%; }
  ul.legend-tabs {
    width: 113%;
    font-size: 9px;
    margin-left: -10px; }
  .legend-text {
    font-size: 9px !important; } }

#d-line, #d-line-nra {
  margin: 0 auto; }

#myLegend, #myLegend-nra {
  margin-top: 10px; }

.legend-text {
  font-family: "Roboto Mono", monospace;
  font-size: 11px;
  font-weight: bold;
  line-height: 1.36;
  letter-spacing: 0.3px;
  text-align: left;
  color: #5a5a5a;
  padding-right: 2%;
  padding-left: 2%;
  vertical-align: middle;
  width: 25%; }

a.boxclose {
  float: right;
  margin-top: 0px;
  cursor: pointer;
  color: #979797;
  font-size: 35px;
  font-weight: lighter;
  display: inline-block;
  line-height: 0px;
  padding: 0px 3px; }

.boxclose:hover {
  opacity: .5;
  cursor: pointer; }

.box {
  width: 20px;
  height: 20px;
  font-family: "Oswald", sans-serif;
  font-size: 13px;
  font-weight: bold;
  line-height: 1.38;
  letter-spacing: 0.3px;
  text-align: center;
  color: #ffffff; }

.map-info-text {
  font-family: "avenir", "Helvetica Neue", sans-serif; }

.red {
  color: #ff3421; }

.grey {
  color: #5a5a5a; }

.blue {
  color: #2d64ec; }

.silver {
  font-family: "Roboto Mono", monospace;
  font-size: 13px;
  font-weight: bold;
  letter-spacing: 0.5px;
  color: #979797; }

.align-center {
  text-align: center; }

.governor {
  font-family: "Roboto Mono", monospace;
  font-size: 13px;
  font-weight: bold;
  letter-spacing: 0.5px;
  text-align: left;
  color: #979797; }

.gov-name {
  font-family: "Roboto", sans-serif;
  font-size: 13px;
  line-height: 1.38;
  letter-spacing: 0.2px;
  text-align: left;
  color: #5a5a5a; }

select#dropdown, select#dropdown-nra {
  -webkit-appearance: button;
  -webkit-border-radius: 2px;
  -webkit-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.1);
  -webkit-padding-end: 20px;
  -webkit-padding-start: 2px;
  -webkit-user-select: none;
  background-image: url(https://s3-us-west-2.amazonaws.com/flippable/images/assets/dropdown-arrow.png), -webkit-linear-gradient(#FAFAFA, #F4F4F4 40%, #E5E5E5);
  background-size: 20px;
  background-position: 97% center;
  background-repeat: no-repeat;
  border: 1px solid #979797;
  color: #5a5a5a;
  font-size: inherit;
  margin: 0 auto;
  overflow: hidden;
  padding: 5px 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 85%; }

.wrapper {
  padding: 0 30px; }
  @media only screen and (min-width: 1084px) {
    .wrapper {
      max-width: calc((12 * 67px) + (20px * (12 - 1)));
      margin-left: auto;
      margin-right: auto;
      padding: 0; } }
  @media only screen and (min-width: 768px) {
    .wrapper--10 {
      max-width: calc((10 * 67px) + (20px * (10 - 1)));
      margin-left: auto;
      margin-right: auto; } }
.action-items {
  padding-bottom: 50px;
  position: relative; }
  @media only screen and (min-width: 768px) {
    .action-items {
      display: flex;
      justify-content: space-between;
      padding-top: 75px; } }
  .action-items::after {
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: "";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-top-color: #ffffff;
    border-width: 15px;
    margin-left: -15px; }
  .action-items * {
    transition: all 500ms ease; }
  .action-items__item {
    width: 100%;
    position: relative; }
    @media only screen and (min-width: 768px) {
      .action-items__item {
        max-width: calc((3 * 67px) + (20px * (3 - 1)));
        margin-right: 20px;
        padding-right: 20px;
        overflow: hidden; }
        .action-items__item:last-child {
          margin-right: 0; } }
    @media only screen and (min-width: 992px) {
      .action-items__item {
        margin-right: 0;
        padding-right: 0; } }
  .action-items__number, .action-items__title {
    display: block;
    vertical-align: top; }
    @media only screen and (min-width: 992px) {
      .action-items__number, .action-items__title {
        display: inline-block; } }
  .action-items__number {
    font-family: "Oswald", sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 30px;
    margin-right: 8px;
    margin-bottom: 5px; }
    .action-items__item--learn .action-items__number {
      color: #49D9D7; }
    .action-items__item--donate .action-items__number {
      color: #F25369; }
    .action-items__item--volunteer .action-items__number {
      color: #B8E9F4; }
  .action-items__title {
    font-family: "Oswald", sans-serif;
    font-size: 40px;
    line-height: 42px;
    color: #1d1d1d;
    font-weight: 600;
    margin: 0;
    margin-bottom: 15px; }
  .action-items__text {
    font-family: "Roboto", sans-serif;
    font-size: 17px;
    line-height: 24px;
    letter-spacing: 0.5px;
    color: #1d1d1d;
    font-weight: bold; }
    @media only screen and (min-width: 768px) {
      .action-items__text {
        opacity: 0;
        overflow: hidden; } }
    .action-items__text::after {
      font-family: "Font Awesome 5 Pro";
      content: " \f178";
      color: #2d64ec;
      font-weight: lighter; }
  .action-items__link {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    transform: translateY(0);
    padding-top: 60px; }
    .action-items__link:hover {
      text-decoration: none; }
      @media only screen and (min-width: 768px) {
        .action-items__link:hover {
          transform: translateY(-45%); } }
      @media only screen and (min-width: 768px) {
        .action-items__link:hover .action-items__title-line {
          opacity: 0; } }
      @media only screen and (min-width: 768px) {
        .action-items__link:hover .action-items__text {
          opacity: 1; } }
  @media only screen and (max-width: 991px) {
    .action-items__grid {
      max-width: calc((9 * 67px) + (20px * (9 - 1)));
      margin-left: auto;
      margin-right: auto; } }
  @media only screen and (max-width: 767px) {
    .action-items__grid {
      width: 75%;
      padding: 0; } }
/* TODO: reduce complexity of legacy button-base class */
.button-base {
  display: inline-block;
  font-family: "Roboto Mono", monospace;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 1px;
  margin: 0 auto;
  min-width: 50px;
  padding: 10px 25px;
  text-transform: uppercase;
  transition: all 0.2s ease;
  -webkit-appearance: none; }

/* Button colors */
.button-blue, a.navigation-menu-button[role="button"] {
  border: solid 2px #2d64ec;
  color: #2d64ec;
  background: transparent; }
  .button-blue:hover, a.navigation-menu-button[role="button"]:hover {
    color: #ffffff;
    background: #2d64ec;
    text-decoration: none; }
  .button-blue:focus, a.navigation-menu-button[role="button"]:focus, .button-blue:disabled, a.navigation-menu-button[role="button"]:disabled, .button-blue:active, a.navigation-menu-button[role="button"]:active {
    color: #2d64ec;
    background: transparent;
    border: solid 2px #2d64ec;
    text-decoration: none; }

.button-white {
  border: solid 2px #ffffff;
  color: #ffffff;
  background: transparent; }
  .button-white:hover {
    color: #2d64ec;
    background: #ffffff;
    text-decoration: none; }
  .button-white:focus, .button-white:disabled, .button-white:active {
    color: #ffffff;
    background: transparent;
    border: solid 2px #ffffff;
    text-decoration: none; }

.button-white-inverted-bg {
  border: solid 2px #ffffff;
  color: #2d64ec;
  background: #ffffff; }
  .button-white-inverted-bg:hover {
    color: #ffffff;
    background: transparent;
    text-decoration: none; }
  .button-white-inverted-bg:focus, .button-white-inverted-bg:disabled, .button-white-inverted-bg:active {
    color: #2d64ec;
    background: #ffffff;
    border: solid 2px #ffffff;
    text-decoration: none; }

/* Button alignment and size */
.button-side-by-side {
  margin: 0 8px 0 8px; }

.button-center {
  display: block;
  margin: 0 auto; }

/* Component buttons */
.signup-button {
  outline: none;
  height: 50px;
  padding: 0;
  width: 100%; }

.button-block {
  display: block;
  text-align: center; }
  .button-block .show-more-button {
    margin-top: 50px; }

a.navigation-menu-button[role="button"] {
  display: inline-block !important;
  color: #2d64ec !important;
  padding: 10px 25px !important; }
  a.navigation-menu-button[role="button"]:hover {
    color: #ffffff !important;
    background-color: #2d64ec !important; }

#candidates-feed {
  /* Sticky Navigation positioning */
  /*
  Calculates the position from the center of the screen
  minus half the parent container (candidate cards) width

  This positions the scroll up button some distance away from the right side
  while not having to worry about the parent container margins, which are dynamic (margin: auto)
  */
  /* Special styles for targeting IE 11 and Opera
    for when position sticky is not supported */ }
  #candidates-feed .dropdown-container {
    margin-bottom: 40px; }
  #candidates-feed a.black-underline,
  #candidates-feed a.black-underline:hover,
  #candidates-feed a.black-underline:visited,
  #candidates-feed a.black-underline:active {
    color: black; }
  #candidates-feed a.learn-more-link {
    color: #2d64ec;
    text-decoration: none;
    cursor: pointer;
    font-family: "Roboto", sans-serif;
    font-size: 15px;
    font-weight: 300;
    line-height: 18px; }
  #candidates-feed .button-block > .show-more-button {
    margin-top: 25px; }
  #candidates-feed .button-block > .show-more-button {
    margin-top: 25px; }
  #candidates-feed .candidate-card-body,
  #candidates-feed .candidate-portrait {
    width: 100%; }
  #candidates-feed .candidate-card-body {
    background-color: #f5f5f5;
    padding-top: 40px;
    padding-left: 60px;
    padding-bottom: 30px;
    padding-right: 60px; }
  #candidates-feed .state-icon-container {
    margin: -25px auto;
    z-index: 1; }
  #candidates-feed .big-candidate-card .candidate-card-body {
    height: 285px; }
  #candidates-feed .small-candidate-card .candidate-card-body {
    height: 330px;
    padding-left: 30px;
    padding-right: 30px; }
  #candidates-feed .small-candidate-card > a,
  #candidates-feed .big-candidate-card > a {
    height: 100%; }
  #candidates-feed .flag {
    position: absolute;
    width: 0;
    height: 0;
    border-left: 60px solid #2d64ec;
    border-top: 60px solid #2d64ec;
    border-right: 60px solid transparent;
    border-bottom: 60px solid transparent; }
  #candidates-feed .flag > .flag-text {
    position: absolute;
    top: -25px;
    left: -65px;
    width: 100px;
    color: #ffffff;
    font-family: "Roboto", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 24px;
    letter-spacing: 2px;
    text-align: center;
    text-transform: uppercase;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg); }
  #candidates-feed .postelection-copy {
    font-style: italic; }
  #candidates-feed .align-bottom {
    position: absolute;
    bottom: 40px; }
  #candidates-feed .candidate-endorsements {
    display: inline-flex; }
    #candidates-feed .candidate-endorsements .candidate-endorsement-icon {
      display: flex;
      height: 30px;
      width: 30px;
      margin-right: 15px; }
      #candidates-feed .candidate-endorsements .candidate-endorsement-icon:last-child {
        margin-right: 20px; }
  #candidates-feed .candidate-website {
    display: inline-block;
    vertical-align: top;
    margin-top: 5px;
    margin-bottom: 5px; }
    #candidates-feed .candidate-website i.fal.fa-long-arrow-right {
      font-weight: 500; }
      #candidates-feed .candidate-website i.fal.fa-long-arrow-right:hover {
        text-decoration: none; }
    #candidates-feed .candidate-website .link-text {
      margin-right: 10px; }
      #candidates-feed .candidate-website .link-text:hover {
        text-decoration: underline; }
  #candidates-feed .headline {
    background-color: #2d64ec;
    color: white;
    text-align: center;
    line-height: 70px;
    height: 70px;
    width: 100%; }
  #candidates-feed .scroll-up-button.js-is-sticky[style*="position: fixed"] {
    top: unset !important;
    bottom: 50px !important;
    right: 0;
    margin-right: calc(50vw - ((360px * 3) / 2)); }
  #candidates-feed .scroll-up-button.js-is-stuck[style*="position: absolute"] {
    bottom: unset !important;
    right: 0;
    margin-right: calc(50vw - ((360px * 3) / 2)); }
  #candidates-feed .scroll-up-button.js-is-sticky,
  #candidates-feed .scroll-up-button.js-is-sticky--change,
  #candidates-feed .scroll-up-button.js-is-stuck {
    margin-right: 50px;
    bottom: 50px;
    margin-top: -115px; }
  @media screen and (min-width: 992px) and (max-width: 1200px) {
    #candidates-feed .scroll-up-button.js-is-stuck[style*="position: absolute"],
    #candidates-feed .scroll-up-button.js-is-sticky[style*="position: fixed"] {
      margin-right: calc(50vw - ((300px * 3) / 2)); } }
  @media screen and (max-width: 991px) {
    #candidates-feed .scroll-up-button.js-is-stuck[style*="position: absolute"],
    #candidates-feed .scroll-up-button.js-is-sticky[style*="position: fixed"] {
      /* There is almost no external margin to account for at small device sizes
        because the candidate card takes up almost the entire screen */
      margin-right: 40px; }
    #candidates-feed .scroll-up-button.js-is-stuck {
      margin-top: -95px; }
    #candidates-feed .dropdown-container {
      margin-bottom: 20px; }
    #candidates-feed .candidate-card-body {
      padding-top: 40px;
      padding-left: 30px;
      padding-bottom: 90px;
      padding-right: 30px; }
    #candidates-feed .small-candidate-card .candidate-card-body,
    #candidates-feed .big-candidate-card .candidate-card-body {
      height: auto; }
    #candidates-feed .button-block > .show-more-button {
      margin-top: 5px; } }
.background-light-mint {
  background-color: #b8e9f4; }

.background-red {
  background-color: #f25369; }

.background-gold {
  background-color: #f9ce46; }

.text-white {
  color: #ffffff; }

.dropdown-container {
  margin-top: 40px;
  margin-bottom: 25px; }

.dropdown-container .dropdown {
  scrollbar-face-color: #2d64ec;
  scrollbar-track-color: #96b2f6;
  display: inline-block;
  position: relative;
  width: 100%;
  text-align: center;
  text-transform: uppercase;
  font-family: "Roboto Mono", monospace;
  font-weight: 500;
  color: #2d64ec;
  background-color: #f5f5f5; }
  .dropdown-container .dropdown ::-webkit-scrollbar {
    width: 1.2em;
    height: 1.2em; }
  .dropdown-container .dropdown ::-webkit-scrollbar-thumb {
    background: #2d64ec; }
  .dropdown-container .dropdown ::-webkit-scrollbar-track {
    background: #96b2f6; }
  .dropdown-container .dropdown .dropdown-button {
    border: 2px solid #3268ed;
    padding: 15px; }
    .dropdown-container .dropdown .dropdown-button::after {
      font-family: "Font Awesome 5 Pro";
      content: '\f078';
      float: right;
      margin-right: 15px; }
  .dropdown-container .dropdown .dropdown-button.selected {
    background-color: #2d64ec;
    color: white; }
    .dropdown-container .dropdown .dropdown-button.selected::after {
      content: '\f077'; }
  .dropdown-container .dropdown ul.dropdown-selection {
    position: absolute;
    width: 100%;
    list-style-type: none;
    padding: 0;
    z-index: 2;
    border: 2px solid #2d64ec;
    max-height: 360px;
    overflow-y: scroll;
    background-color: #f5f5f5; }
    .dropdown-container .dropdown ul.dropdown-selection li {
      border-bottom: 2px solid #2d64ec;
      padding: 25px 0; }
      .dropdown-container .dropdown ul.dropdown-selection li:last-child {
        border-bottom: none; }
    .dropdown-container .dropdown ul.dropdown-selection li:hover {
      background-color: #2d64ec;
      color: white; }

@media screen and (max-width: 991px) {
  .dropdown-container {
    margin-top: 30px;
    margin-bottom: 0; }
    .dropdown-container .dropdown > .dropdown-button::after {
      margin-left: 10px;
      margin-right: 0; } }

.feed-dropdown {
  max-width: calc((10 * 67px) + (20px * (10 - 1)));
  margin-left: auto;
  margin-right: auto; }
  @media screen and (min-width: 992px) {
    .feed-dropdown {
      max-width: calc((4 * 67px) + (20px * (4 - 1)));
      margin-left: auto;
      margin-right: auto; } }
.footer {
  background: #2d64ec;
  padding: 75px 0;
  display: none; }
  @media only screen and (min-width: 992px) {
    .footer {
      display: block; } }
  .footer__inner {
    display: flex;
    justify-content: space-between; }
  .footer__column--links {
    max-width: calc((2 * 67px) + (20px * (2 - 1))); }
  .footer__column--signup {
    max-width: calc((4 * 67px) + (20px * (4 - 1))); }
  .footer__column--tweets {
    max-width: calc((4 * 67px) + (20px * (4 - 1))); }
  .footer__nav {
    list-style: none;
    padding: 0;
    margin: 0; }
  .footer__nav-item {
    padding-bottom: 25px; }
  .footer__link-text, .footer__signup-title, .footer__signup-text {
    color: #ffffff;
    line-height: 15px;
    font-size: 13px;
    font-family: "Roboto", sans-serif;
    margin: 0;
    margin-bottom: 20px; }
  .footer__signup-title {
    font-weight: 500;
    text-transform: none; }
  .footer__form-container {
    display: flex;
    width: 100%; }
  .footer__form-field {
    position: relative;
    width: 100%; }
  .footer__form-button {
    width: auto;
    margin: 0; }
  .footer__social-bar {
    margin: 0;
    margin-top: 20px; }

form.form-footer-email-subscription {
  font-family: "Roboto", sans-serif;
  font-size: 13px;
  color: #ffffff; }
  form.form-footer-email-subscription .sign-up {
    font-weight: 600;
    margin-bottom: 10px; }
  form.form-footer-email-subscription .signup-button {
    height: 42px; }

header.bust-out {
  margin-bottom: 75px;
  position: relative; }
  header.bust-out .content {
    position: absolute;
    text-align: center;
    top: 50%;
    left: 50%;
    width: 80%;
    transform: translate(-50%, -50%); }
    header.bust-out .content .title {
      color: #ffffff;
      margin-bottom: 25px;
      text-align: center; }

@media screen and (max-width: 991px) {
  header.bust-out {
    margin-bottom: 50px !important; } }

h1 {
  font-family: "Oswald", sans-serif;
  font-size: 48px;
  line-height: 62px;
  color: #1d1d1d;
  font-weight: 600;
  text-transform: uppercase; }

h2,
.block-h2 {
  font-family: "Oswald", sans-serif;
  font-size: 30px;
  line-height: 42px;
  color: #1d1d1d;
  font-weight: 600;
  text-transform: uppercase; }

h3 {
  font-family: "Oswald", sans-serif;
  font-size: 24px;
  line-height: 34px;
  color: #1d1d1d;
  font-weight: 600;
  text-transform: uppercase; }

h4 {
  font-family: "Oswald", sans-serif;
  font-size: 18px;
  line-height: 26px;
  color: #1d1d1d;
  font-weight: 600;
  text-transform: uppercase; }

h5, .elections-calendar .button-color-registration.button-active .button-text, .elections-calendar .button-color-registration .button-text, .elections-calendar .button-color-primary.button-active .button-text, .elections-calendar .button-color-primary .button-text, .elections-calendar .button-color-special.button-active .button-text, .elections-calendar .button-color-special .button-text, .elections-calendar .button-color-general.button-active .button-text, .elections-calendar .button-color-general .button-text,
.block-h5 {
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  line-height: 24px;
  color: #1d1d1d;
  font-weight: bold; }

@media screen and (max-width: 991px) {
  h1 {
    font-size: 30px;
    line-height: 42px; }
  h2,
  .block-h2 {
    font-size: 24px;
    line-height: 34px; }
  h3 {
    font-size: 20px;
    line-height: 30px; }
  h4 {
    font-size: 16px;
    line-height: 24px; }
  h5, .elections-calendar .button-color-registration.button-active .button-text, .elections-calendar .button-color-registration .button-text, .elections-calendar .button-color-primary.button-active .button-text, .elections-calendar .button-color-primary .button-text, .elections-calendar .button-color-special.button-active .button-text, .elections-calendar .button-color-special .button-text, .elections-calendar .button-color-general.button-active .button-text, .elections-calendar .button-color-general .button-text,
  .block-h5 {
    font-size: 16px;
    line-height: 23px; } }

/* Alignment */
.block-h2 {
  margin-bottom: 50px; }

.block-h5 {
  margin-bottom: 25px; }

@media screen and (max-width: 767px) {
  .block-h2 {
    margin-bottom: 30px; }
  .block-h5 {
    margin-bottom: 15px; } }

.state-icon-container {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #b8e9f4;
  border-radius: 50%;
  height: 50px;
  width: 50px; }
  .state-icon-container svg.state-icon {
    height: 25px;
    width: 25px;
    fill: #2d64ec; }

.icon {
  width: 20px;
  height: 20px;
  display: inline-block;
  vertical-align: middle; }

/* Default link color */
a:not([role="button"]) {
  color: #2d64ec;
  transition: 0.5s ease; }
  a:not([role="button"]):hover {
    color: #1653ea; }

a.link-white {
  color: #ffffff;
  text-decoration: none; }
  a.link-white:hover {
    text-decoration: underline; }

a.link-white-underline {
  color: #ffffff;
  text-decoration: underline; }
  a.link-white-underline:hover {
    color: #ffffff;
    text-decoration: none; }

a.footer-link {
  color: #ffffff;
  text-decoration: none;
  font-family: "Roboto", sans-serif;
  font-size: 13px;
  line-height: 15px; }
  a.footer-link:hover {
    color: #ffffff !important;
    text-decoration: underline !important;
    transition: 0.5s ease;
    background-color: transparent !important; }
  a.footer-link:focus, a.footer-link:disabled, a.footer-link:active, a.footer-link:visited {
    color: #ffffff !important;
    transition: inherit;
    background-color: transparent !important; }

a.white-underline:hover {
  color: #ffffff !important;
  text-decoration: underline !important; }

.page-back-link {
  display: block;
  margin-top: 40px;
  margin-bottom: 20px; }
  @media only screen and (min-width: 768px) {
    .page-back-link {
      margin-top: 60px; } }
  .page-back-link span {
    text-decoration: underline; }
  .page-back-link:hover, .page-back-link:focus, .page-back-link:active {
    text-decoration: none; }
    .page-back-link:hover span, .page-back-link:focus span, .page-back-link:active span {
      text-decoration: none; }
  .page-back-link::before {
    content: '\f060';
    font-family: "Font Awesome 5 Pro";
    margin-right: 10px; }

.page-section--grey {
  background: #f5f5f5; }

.page-section__title {
  text-align: center;
  margin: 0px auto 30px; }
  @media only screen and (min-width: 768px) {
    .page-section__title {
      margin-top: 0px;
      margin-bottom: 50px; } }
.page-section__sub-heading {
  text-align: center;
  margin: 0px auto 15px; }
  @media only screen and (min-width: 768px) {
    .page-section__sub-heading {
      margin-top: 0px;
      margin-bottom: 25px; } }
.page-section__button-container {
  margin-top: 50px;
  text-align: center; }

.page-section__paragraph {
  text-align: center; }
  .page-section__title + .page-section__paragraph {
    margin-top: -10px; }
    @media only screen and (min-width: 768px) {
      .page-section__title + .page-section__paragraph {
        margin-top: -20px; } }
.page-section__divider {
  margin: 50px 0; }
  @media only screen and (min-width: 768px) {
    .page-section__divider {
      margin: 75px auto;
      max-width: 1024px; } }
  @media only screen and (min-width: 768px) {
    .page-section__divider--mobile-only {
      margin-top: 75px; } }
  @media only screen and (min-width: 992px) {
    .page-section__divider--mobile-only {
      border: 0;
      margin-bottom: 0; } }
  .wrapper .page-section__divider {
    margin: 50px -30px; }
    @media only screen and (min-width: 992px) {
      .wrapper .page-section__divider {
        margin: 75px auto; } }
body, p, .block-paragraph, .roboto-15-normal, .rich-text p {
  font-family: "Roboto", sans-serif;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.5;
  color: #1d1d1d; }

.block-paragraph {
  margin-bottom: 25px; }

.press-feed {
  background: #2d64ec;
  padding: 50px 0;
  margin-bottom: 50px; }
  @media only screen and (min-width: 768px) {
    .press-feed {
      padding: 75px 0;
      margin-bottom: 75px; } }
  .press-feed__grid {
    display: flex;
    flex-wrap: wrap; }
  .press-feed__card {
    width: 100%;
    margin-bottom: 50px; }
    @media only screen and (min-width: 768px) {
      .press-feed__card {
        flex-basis: calc(50% - 10px);
        margin-right: 20px; }
        .press-feed__card:nth-child(2n) {
          margin-right: 0; } }
    @media only screen and (min-width: 1084px) {
      .press-feed__card {
        max-width: calc((4 * 67px) + (20px * (4 - 1))); }
        .press-feed__card:nth-child(2n) {
          margin-right: 20px; }
        .press-feed__card:nth-child(3n) {
          margin-right: 0; } }
  .press-feed__image {
    margin-bottom: 25px; }

.related-posts {
  margin-bottom: 50px; }
  @media only screen and (min-width: 768px) {
    .related-posts {
      margin-bottom: 100px; } }
  .related-posts--homepage {
    padding-top: 50px;
    padding-bottom: 50px; }
    @media only screen and (min-width: 768px) {
      .related-posts--homepage {
        padding-top: 75px;
        padding-bottom: 75px; } }
  .related-posts__container {
    display: flex;
    flex-direction: column;
    align-items: center; }
    @media only screen and (min-width: 768px) {
      .related-posts__container {
        flex-direction: row; } }
  .related-posts__item {
    position: relative;
    margin-bottom: 20px;
    width: 100%; }
    @media only screen and (min-width: 768px) {
      .related-posts__item {
        max-width: calc((4 * 67px) + (20px * (4 - 1)));
        margin-bottom: 0;
        margin-right: 20px; }
        .related-posts__item:last-child {
          margin-right: 0; } }
    .related-posts__item:last-child {
      margin-bottom: 0; }
    @media only screen and (min-width: 768px) {
      .related-posts__item--homepage {
        max-width: calc((6 * 67px) + (20px * (6 - 1))); } }
  .related-posts__link {
    width: 100%;
    height: 0;
    display: block;
    padding-top: 70%;
    overflow: hidden;
    position: relative; }
  .related-posts__image {
    -webkit-filter: brightness(50%);
    filter: brightness(50%);
    height: 100%;
    width: auto;
    min-width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
  .related-posts__text {
    width: 80%;
    color: #ffffff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    text-align: center; }
  .related-posts__title {
    text-align: center;
    margin: 0px auto 30px; }
    @media only screen and (min-width: 768px) {
      .related-posts__title {
        margin-top: 0px;
        margin-bottom: 50px; } }
    .related-posts--homepage .related-posts__title a {
      color: inherit;
      text-decoration: underline; }
      .related-posts--homepage .related-posts__title a:hover {
        text-decoration: none; }

.result-banner {
  background: #2d64ec;
  padding: 20px 0;
  text-align: center;
  margin-bottom: 15px; }
  .result-banner--nof, .result-banner--los {
    background: #979797; }
  .result-banner--pen, .result-banner--gold {
    background: #f9ce46; }
  .result-banner--red {
    background: #f25369; }
  .result-banner--homepage {
    padding: 20px 0;
    margin-bottom: 0px; }
    .result-banner--homepage a:hover {
      text-decoration: none; }
    @media only screen and (min-width: 768px) {
      .result-banner--homepage {
        padding: 30px 0; } }
  .result-banner__title, .result-banner__text {
    color: #ffffff; }
  .result-banner__title {
    margin-top: 0; }
    .result-banner--homepage .result-banner__title {
      margin-bottom: 0; }
      .result-banner--homepage .result-banner__title::after {
        display: inline-block;
        font-family: "Font Awesome 5 Pro";
        content: " \f178";
        font-weight: lighter;
        margin-left: 10px; }
        @media only screen and (min-width: 768px) {
          .result-banner--homepage .result-banner__title::after {
            margin-left: 15px; } }
    .result-banner--homepage a:hover .result-banner__title {
      text-decoration: underline; }

.scroll-up-button {
  display: none;
  float: right;
  height: 42px;
  width: 42px;
  border: 2px solid #2d64ec;
  cursor: pointer; }
  .scroll-up-button .up-pointing-caret {
    color: #2d64ec;
    font-size: 24px;
    text-align: center; }

section.bust-out {
  margin-bottom: 75px;
  position: relative; }
  section.bust-out .content {
    position: absolute;
    text-align: center;
    top: 50%;
    left: 50%;
    width: 80%;
    transform: translate(-50%, -50%); }
    section.bust-out .content .title {
      color: #ffffff;
      margin-bottom: 25px;
      text-align: center; }

@media screen and (max-width: 991px) {
  section.bust-out {
    margin-bottom: 50px !important; } }

.signup-section {
  position: relative; }
  .signup-section:after, .signup-section:before {
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none; }
  .signup-section:after {
    border-top-color: #f9ce46;
    border-width: 15px;
    margin-left: -15px; }
  .signup-section:before {
    border-top-color: #f9ce46;
    border-width: 18px;
    margin-left: -18px; }
  .signup-section__t2_t3 {
    margin-bottom: 50px; }
    @media only screen and (min-width: 768px) {
      .signup-section__t2_t3 {
        margin-bottom: 75px; } }
.state-governor {
  text-align: center;
  margin-bottom: 50px; }
  @media only screen and (min-width: 768px) {
    .state-governor {
      margin-bottom: 75px; } }
  .state-governor__title {
    margin-bottom: 20px; }
  .state-governor__description {
    max-width: 500px;
    margin: 0 auto; }

.state-infographic {
  text-align: center;
  margin-bottom: 50px; }
  .state-infographic__intro {
    margin-bottom: 50px; }
  .state-infographic__title {
    margin-bottom: 40px; }
  @media only screen and (min-width: 768px) {
    .state-infographic__wrapper-inner {
      display: flex;
      justify-content: space-around; } }
  .state-infographic__update {
    display: block; }
    .state-infographic__update--flipped, .state-infographic__update--progress {
      color: #2d64ec; }
  .state-infographic--house {
    margin-bottom: 40px; }
    @media only screen and (min-width: 768px) {
      .state-infographic--house {
        margin-bottom: 0; } }
.pill {
  display: flex;
  justify-content: stretch;
  width: 100%;
  max-width: 325px; }
  @media only screen and (min-width: 768px) {
    .pill {
      width: 325px; } }
  .pill__wrapper {
    position: relative;
    padding-top: 40px;
    padding-bottom: 30px;
    display: flex;
    justify-content: center; }
    @media only screen and (min-width: 768px) {
      .pill__wrapper {
        display: inline-block; } }
  .pill__section {
    height: 50px;
    display: flex;
    align-items: center;
    min-width: 12px;
    color: #ffffff;
    border-left: 1px solid #ffffff;
    font-family: "Roboto", sans-serif;
    font-size: 13px;
    position: relative; }
    .pill__section--dem {
      border-top-left-radius: 25px;
      border-bottom-left-radius: 25px;
      border-left: 0;
      background: #4a90e2;
      padding-left: 25px; }
    .pill__section--rep {
      border-top-right-radius: 25px;
      border-bottom-right-radius: 25px;
      background: #d0021b;
      justify-content: flex-end;
      padding-right: 25px; }
    .pill__section--vacant, .pill__section--other {
      justify-content: center; }
    .pill__section--vacant {
      background: #979797; }
    .pill__section--other {
      background: #f9ce46; }
  .pill__majority-marker, .pill__label {
    font-size: 13px;
    font-family: "Roboto", sans-serif;
    font-weight: 300;
    color: #979797; }
  .pill__majority-marker {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1; }
    .pill__majority-marker::before, .pill__majority-marker::after {
      position: absolute;
      left: 50%;
      transform: translateX(-50%); }
    .pill__majority-marker::before {
      content: '';
      border: 6px solid transparent;
      border-top-color: #1d1d1d;
      bottom: -20px; }
    .pill__majority-marker::after {
      content: '';
      height: 14px;
      width: 1px;
      background: #1d1d1d;
      bottom: -36px; }
  .pill__key {
    text-align: left;
    max-width: 270px;
    margin: 0 auto; }
  .pill__label {
    display: block;
    padding-bottom: 8px; }
    .pill__label::before {
      content: '';
      width: 10px;
      height: 10px;
      border-radius: 100%;
      display: inline-block;
      margin-right: 10px; }
    .pill__label--dem::before {
      background: #4a90e2; }
    .pill__label--rep::before {
      background: #d0021b; }
    .pill__label--vacant::before {
      background: #979797; }
    .pill__label--other::before {
      background: #f9ce46; }
  .pill__label-details--dem {
    color: #2d64ec; }
  .pill__label-details--rep {
    color: #d0021b; }

.elections-calendar {
  margin-top: 30px;
  margin-bottom: 50px; }
  @media only screen and (min-width: 768px) {
    .elections-calendar {
      margin-top: 40px;
      margin-bottom: 75px; } }
  .elections-calendar__nav {
    max-width: calc((6 * 67px) + (20px * (6 - 1)));
    margin-left: auto;
    margin-right: auto;
    text-align: center; }
  .elections-calendar__no-results {
    margin-top: 65px;
    margin-bottom: 25px;
    text-align: center; }

.embed-block {
  background: #f5f5f5;
  padding: 50px 0; }
  @media only screen and (min-width: 768px) {
    .embed-block {
      padding: 75px 0; } }
  .embed-block--tier-3 {
    background: transparent;
    padding: 0;
    margin: 50px auto; }
    @media only screen and (min-width: 768px) {
      .embed-block--tier-3 {
        margin: 75px auto; } }
  .embed-block__video-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0; }
  .embed-block__video {
    position: absolute;
    top: 0;
    left: 0; }
  .embed-block__button-container {
    text-align: center;
    padding-top: 50px; }

.hero {
  position: relative; }
  .hero__image {
    width: 100%;
    object-fit: cover; }
    .hero--header .hero__image {
      height: 250px; }
      @media only screen and (min-width: 768px) {
        .hero--header .hero__image {
          height: 350px; } }
    .hero--section .hero__image {
      min-height: 250px; }
      @media only screen and (min-width: 992px) {
        .hero--section .hero__image {
          max-height: 430px; } }
    @media only screen and (min-width: 992px) {
      .hero--homepage .hero__image {
        max-height: 500px; } }
  .hero__content {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 100%; }
  .hero__content-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
    height: 100%; }
    .hero--header .hero__content-inner--no_title {
      justify-content: flex-end; }
  .hero__title {
    color: #ffffff;
    margin: 0; }
  .hero__text {
    font-family: "Roboto", sans-serif;
    font-weight: bold;
    color: #ffffff;
    margin: 20px 0 0 0; }
    .hero__text--mobile {
      font-size: 17px;
      line-height: 22px; }
      @media only screen and (min-width: 768px) {
        .hero__text--mobile {
          display: none; } }
    .hero__text--desktop {
      max-width: calc((8 * 67px) + (20px * (8 - 1)));
      margin-left: auto;
      margin-right: auto;
      display: none; }
      @media only screen and (min-width: 768px) {
        .hero__text--desktop {
          font-size: 17px;
          line-height: 22px;
          display: block; } }
      @media only screen and (min-width: 992px) {
        .hero__text--desktop {
          font-size: 22px;
          line-height: 28px; } }
  .hero__button {
    margin-top: 25px; }
    .hero__content-inner--no_title .hero__button {
      margin-bottom: 50px; }
      @media only screen and (min-width: 992px) {
        .hero__content-inner--no_title .hero__button {
          margin-bottom: 75px; } }
    .hero--section .hero__button:only-child {
      margin-top: auto;
      margin-bottom: 50px; }
      @media only screen and (min-width: 992px) {
        .hero--section .hero__button:only-child {
          margin-bottom: 75px; } }
  .hero--header {
    margin-bottom: 50px;
    max-height: 350px;
    overflow: hidden;
    display: flex;
    align-items: center; }
    @media only screen and (min-width: 768px) {
      .hero--header {
        margin-bottom: 75px; } }
  .hero--sectionmargin {
    margin: 50px auto; }
    .hero--sectionmargin:last-child {
      margin-bottom: 0px; }
    @media only screen and (min-width: 768px) {
      .hero--sectionmargin {
        margin: 75px auto; } }
    .hero--sectionmargin + .hero--sectionmargin {
      margin-top: -75px; }

.horizontal-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: 30px; }
  @media only screen and (min-width: 768px) {
    .horizontal-block {
      flex-direction: row;
      justify-content: space-between;
      align-items: stretch;
      margin-bottom: 50px; } }
  @media only screen and (min-width: 768px) {
    .horizontal-block--four-item {
      flex-wrap: wrap;
      justify-content: space-around; } }
  @media only screen and (min-width: 992px) {
    .horizontal-block--four-item {
      flex-wrap: nowrap;
      justify-content: space-between; } }
  .horizontal-block__item {
    margin-bottom: 50px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center; }
    @media only screen and (min-width: 768px) {
      .horizontal-block__item {
        max-width: calc((4 * 67px) + (20px * (4 - 1)));
        margin-right: 20px;
        margin-bottom: 0;
        padding: 0 5px;
        flex-basis: 328px; } }
    .horizontal-block__item:last-child {
      margin-bottom: 0;
      margin-right: 0; }
    @media only screen and (min-width: 768px) {
      .horizontal-block--four-item .horizontal-block__item {
        flex-basis: 50%;
        margin-bottom: 50px; }
        .horizontal-block--four-item .horizontal-block__item:last-child, .horizontal-block--four-item .horizontal-block__item:nth-last-child(2) {
          margin-bottom: 0; } }
    @media only screen and (min-width: 992px) {
      .horizontal-block--four-item .horizontal-block__item {
        max-width: calc((3 * 67px) + (20px * (3 - 1)));
        flex-basis: 328px;
        margin-bottom: 0; } }
  .horizontal-block__headline, .horizontal-block__description, .horizontal-block__image, .horizontal-block__large-text {
    max-width: 100%; }
  .horizontal-block__headline {
    margin: 20px 0; }
  .horizontal-block__description {
    display: flex;
    align-items: flex-start;
    flex-grow: 1; }
    .horizontal-block__description .rich-text p {
      margin-bottom: 0; }
  .horizontal-block__image {
    justify-self: center; }
  .horizontal-block__large-text {
    margin: 0; }
  .horizontal-block--large-text .horizontal-block__headline {
    margin: 15px 0; }
  .horizontal-block--no-description {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
    margin-bottom: 10px; }
    @media only screen and (min-width: 768px) {
      .horizontal-block--no-description {
        flex-wrap: nowrap;
        justify-content: center;
        margin-bottom: 30px; } }
    .horizontal-block--no-description .horizontal-block__item {
      flex-basis: 50%;
      margin-bottom: 20px; }
      @media only screen and (min-width: 768px) {
        .horizontal-block--no-description .horizontal-block__item {
          flex-basis: 33%; } }
    .horizontal-block--no-description .horizontal-block__headline {
      margin-bottom: 0px; }

@media only screen and (min-width: 992px) {
  .split-block {
    display: flex;
    align-items: center; } }

.split-block__container {
  margin-top: 40px;
  margin-bottom: 40px; }

.split-block__image-container {
  margin-bottom: 30px; }
  @media only screen and (min-width: 992px) {
    .split-block__image-container {
      max-width: calc((6 * 67px) + (20px * (6 - 1)));
      margin-right: 30px;
      margin-bottom: 0; } }
  @media only screen and (min-width: 992px) {
    .split-block__image-container--image-right {
      margin-right: 0;
      margin-left: 30px; } }
.split-block__content {
  text-align: center; }
  @media only screen and (min-width: 992px) {
    .split-block__content {
      max-width: calc((4 * 67px) + (20px * (4 - 1)));
      text-align: left; } }
  @media only screen and (min-width: 992px) {
    .split-block__content--image-right {
      order: -1;
      text-align: right; } }
.split-block__title {
  margin: 0;
  margin-bottom: 20px; }

.split-block__button-container {
  margin-top: 25px; }

@media only screen and (min-width: 992px) {
  .page-intro {
    display: flex;
    align-items: flex-start;
    margin-top: 30px; } }

@media only screen and (min-width: 1200px) {
  .page-intro {
    align-items: flex-end;
    margin-top: 0; } }

.page-intro__image-container {
  overflow: hidden;
  margin-bottom: 30px; }
  @media only screen and (min-width: 992px) {
    .page-intro__image-container {
      max-width: calc((8 * 67px) + (20px * (8 - 1)));
      margin-right: 20px;
      margin-bottom: 0;
      margin-top: 10px; } }
  @media only screen and (min-width: 1200px) {
    .page-intro__image-container {
      margin-top: 0; } }
.page-intro__image {
  width: 100%;
  height: auto; }

.page-intro__content {
  text-align: center; }
  @media only screen and (min-width: 992px) {
    .page-intro__content {
      max-width: calc((4 * 67px) + (20px * (4 - 1)));
      display: flex;
      flex-direction: column;
      justify-content: center;
      height: 100%;
      text-align: left;
      padding-left: 20px; } }
.page-intro__title {
  margin-bottom: 30px;
  margin-top: 0; }
  @media only screen and (min-width: 1200px) {
    .page-intro__title {
      margin-top: 20px; } }
.page-intro__body {
  margin: 0; }

.page-intro__buttons {
  display: flex;
  justify-content: center;
  min-height: 0; }
  .page-intro__buttons .button-base {
    margin-left: 8px;
    margin-right: 8px; }
  .page-intro__buttons .button-base:first-child {
    margin-left: auto; }
  .page-intro__buttons .button-base:last-child {
    margin-right: auto; }
  @media only screen and (min-width: 992px) {
    .page-intro__buttons {
      justify-content: flex-start;
      min-height: 40px; }
      .page-intro__buttons .button-base:first-child {
        margin-left: 0px; } }
.page-intro__button {
  margin: 0;
  margin-top: 25px;
  margin-right: 10px; }
  .page-intro__button:last-child {
    margin-right: 0; }
  .page-intro__button:hover, .page-intro__button:active, .page-intro__button:focus {
    text-decoration: none; }

.paragraph-button-block {
  padding: 50px 0; }
  @media only screen and (min-width: 768px) {
    .paragraph-button-block {
      padding: 75px 0; } }
  .paragraph-button-block__text {
    font-size: 30px;
    font-family: "Oswald", sans-serif;
    font-weight: 300;
    line-height: 1.17;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #1d1d1d;
    text-align: center; }
    @media only screen and (min-width: 992px) {
      .paragraph-button-block__text {
        font-size: 48px; } }
  .paragraph-button-block__button-container {
    text-align: center;
    margin-top: 25px; }
    @media only screen and (min-width: 768px) {
      .paragraph-button-block__button-container {
        margin-top: 50px; } }
.stats-section-block {
  padding: 50px 0; }
  @media only screen and (min-width: 768px) {
    .stats-section-block {
      padding: 75px 0; } }
  .stats-section-block__headline, .stats-section-block__large-text {
    max-width: 100%; }
  .stats-section-block__headline {
    margin: 0; }
  .stats-section-block__large-text {
    margin-top: 0;
    margin-bottom: 15px; }
  .stats-section-block__button-container {
    margin-top: 50px;
    text-align: center; }
    @media only screen and (min-width: 768px) {
      .stats-section-block__button-container {
        margin-top: 75px; } }
  .stats-section-block--large-text {
    display: flex;
    text-align: center;
    flex-direction: row;
    justify-content: space-around;
    align-items: stretch;
    flex-wrap: wrap; }
    @media only screen and (min-width: 768px) {
      .stats-section-block--large-text {
        flex-wrap: nowrap;
        justify-content: space-between; } }
    .stats-section-block--large-text .stats-section-block__item {
      display: flex;
      flex-direction: column;
      margin-bottom: 40px;
      padding: 0 5px;
      flex-basis: 50%; }
      @media only screen and (min-width: 768px) {
        .stats-section-block--large-text .stats-section-block__item:last-child {
          margin-right: 0; } }
      .stats-section-block--large-text .stats-section-block__item:last-child, .stats-section-block--large-text .stats-section-block__item:nth-last-child(2) {
        margin-bottom: 0; }
      @media only screen and (min-width: 768px) {
        .stats-section-block--large-text .stats-section-block__item {
          max-width: calc((4 * 67px) + (20px * (4 - 1)));
          flex-basis: 328px;
          margin-right: 20px;
          margin-bottom: 0; } }
    .stats-section-block--large-text h1 {
      font-size: 72px;
      line-height: 108px; }
      @media only screen and (max-width: 991px) {
        .stats-section-block--large-text h1 {
          font-size: 40px;
          line-height: 60px; } }
    .stats-section-block--large-text h5, .stats-section-block--large-text .elections-calendar .button-color-registration .button-text, .elections-calendar .button-color-registration .stats-section-block--large-text .button-text, .stats-section-block--large-text .elections-calendar .button-color-primary .button-text, .elections-calendar .button-color-primary .stats-section-block--large-text .button-text, .stats-section-block--large-text .elections-calendar .button-color-special .button-text, .elections-calendar .button-color-special .stats-section-block--large-text .button-text, .stats-section-block--large-text .elections-calendar .button-color-general .button-text, .elections-calendar .button-color-general .stats-section-block--large-text .button-text {
      font-size: 22px;
      line-height: 28px; }
      @media only screen and (max-width: 991px) {
        .stats-section-block--large-text h5, .stats-section-block--large-text .elections-calendar .button-color-registration .button-text, .elections-calendar .button-color-registration .stats-section-block--large-text .button-text, .stats-section-block--large-text .elections-calendar .button-color-primary .button-text, .elections-calendar .button-color-primary .stats-section-block--large-text .button-text, .stats-section-block--large-text .elections-calendar .button-color-special .button-text, .elections-calendar .button-color-special .stats-section-block--large-text .button-text, .stats-section-block--large-text .elections-calendar .button-color-general .button-text, .elections-calendar .button-color-general .stats-section-block--large-text .button-text {
          font-size: 17px;
          line-height: 23px; } }
.sub-header {
  text-align: center; }

@media only screen and (min-width: 768px) {
  .two-cards-block {
    display: flex; } }

.two-cards-block--homepage {
  padding-top: 50px;
  padding-bottom: 50px; }
  @media only screen and (min-width: 768px) {
    .two-cards-block--homepage {
      padding-top: 75px;
      padding-bottom: 75px; } }
.two-cards-block__card {
  position: relative; }
  @media only screen and (min-width: 768px) {
    .two-cards-block__card {
      max-width: calc((6 * 67px) + (20px * (6 - 1))); } }
  .two-cards-block__card:first-child {
    margin-bottom: 20px; }
    @media only screen and (min-width: 768px) {
      .two-cards-block__card:first-child {
        margin-bottom: 0;
        margin-right: 20px; } }
  .two-cards-block__card--homepage:first-child {
    margin-bottom: 30px; }
  .two-cards-block__card--homepage a:hover {
    text-decoration: none; }

.two-cards-block__image-container {
  position: relative; }

.two-cards-block__image {
  width: 100%;
  height: auto; }

.two-cards-block__text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  margin: 0;
  color: #ffffff; }
  .two-cards-block__text--homepage {
    color: #1d1d1d;
    position: static;
    transform: none;
    text-align: left;
    margin-top: 15px; }
    @media only screen and (min-width: 768px) {
      .two-cards-block__text--homepage {
        margin-top: 30px; } }
    a:hover .two-cards-block__text--homepage {
      text-decoration: underline; }
    .two-cards-block__text--homepage::after {
      display: inline-block;
      font-family: "Font Awesome 5 Pro";
      content: " \f178";
      color: #2d64ec;
      font-weight: lighter;
      margin-left: 5px;
      width: 16px;
      margin-right: -16px; }
      @media only screen and (min-width: 768px) {
        .two-cards-block__text--homepage::after {
          margin-left: 10px;
          width: 18px;
          margin-right: -18px; } }
:root {
  --map-breakpoint: 768px; }

.map {
  position: relative;
  width: 100%;
  height: 200px;
  height: calc(50vw + 40px);
  margin-top: 50px;
  margin-bottom: 50px; }
  @media only screen and (min-width: 768px) {
    .map {
      margin-bottom: 75px; } }
  @media only screen and (min-width: 1084px) {
    .map {
      height: 582px; } }
  .map__key {
    position: absolute;
    bottom: 35px;
    left: 9px;
    font-family: "Roboto", sans-serif;
    font-size: 17px;
    font-weight: bold;
    line-height: 24px;
    padding-left: 25px;
    color: #3778CF;
    z-index: 1; }
    @media only screen and (min-width: 768px) {
      .map__key {
        bottom: 50px;
        left: 7px; } }
    .map__key::before {
      content: '';
      width: 15px;
      height: 15px;
      border-radius: 50%;
      background-color: #3778CF;
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      margin: auto 0; }

.map-popup {
  max-width: 270px; }
  .map-popup__heading {
    margin-top: 0;
    margin-bottom: 12px;
    font-size: 12px;
    line-height: 14px;
    text-transform: none; }
  .map-popup__text {
    margin-top: 0;
    font-size: 12px;
    line-height: 19px; }
  .map-popup__link {
    position: relative; }
    .map-popup__link::after {
      content: '\f178';
      position: absolute;
      right: -20px;
      top: -2px;
      bottom: 0;
      font-family: "Font Awesome 5 Pro";
      color: #2d64ec;
      font-weight: lighter; }
  .map-popup .mapboxgl-popup-content {
    background-color: rgba(255, 255, 255, 0.9);
    padding: 30px;
    border-radius: 0; }
  .map-popup .mapboxgl-popup-close-button {
    color: #2d64ec;
    font-size: 17px;
    top: 11px;
    right: 11px;
    border-radius: 0;
    transition: color 0.2s ease-in, background-color 0.2s ease-in; }
    .map-popup .mapboxgl-popup-close-button:hover {
      background-color: #2d64ec;
      color: #fff; }

.mapboxgl-popup-anchor-left .mapboxgl-popup-tip {
  border-right-color: rgba(255, 255, 255, 0.9) !important; }

.mapboxgl-popup-anchor-right .mapboxgl-popup-tip {
  border-left-color: rgba(255, 255, 255, 0.9) !important; }

.mapboxgl-popup-anchor-top .mapboxgl-popup-tip {
  border-bottom-color: rgba(255, 255, 255, 0.9) !important; }

.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip {
  border-top-color: rgba(255, 255, 255, 0.9) !important; }

.mapboxgl-marker.marker {
  display: block;
  border: none;
  border-radius: 50%;
  padding: 0;
  opacity: 0;
  transition: opacity 0.3s ease-in, top 0.3s ease-in;
  top: -15px;
  width: 25px;
  height: 25px;
  background-size: 25px;
  cursor: pointer;
  pointer-events: none; }
  .mapboxgl-marker.marker--voting-rights {
    background-image: url("/static/images/map/marker-voting-rights.svg?71c1b8ef97a6"); }
    .show-markers--voting-rights .mapboxgl-marker.marker--voting-rights {
      opacity: 1;
      top: 0;
      pointer-events: auto; }
  .mapboxgl-marker.marker--2019-elections {
    background-image: url("/static/images/map/marker-2019-elections.svg?71c1b8ef97a6"); }
    .show-markers--2019-elections .mapboxgl-marker.marker--2019-elections {
      opacity: 1;
      top: 0;
      pointer-events: auto; }
  .mapboxgl-marker.marker--gerrymandering {
    background-image: url("/static/images/map/marker-gerrymandering.svg?71c1b8ef97a6"); }
    .show-markers--gerrymandering .mapboxgl-marker.marker--gerrymandering {
      opacity: 1;
      top: 0;
      pointer-events: auto; }
  .mapboxgl-marker.marker--medicaid-expansion {
    background-image: url("/static/images/map/marker-medicaid-expansion.svg?71c1b8ef97a6"); }
    .show-markers--medicaid-expansion .mapboxgl-marker.marker--medicaid-expansion {
      opacity: 1;
      top: 0;
      pointer-events: auto; }

.map-controls {
  max-width: 450px;
  margin: 50px auto 0;
  display: none; }
  @media only screen and (min-width: 768px) {
    .map-controls {
      display: flex;
      flex-wrap: wrap;
      justify-content: center; } }
.map-button {
  border: 2px solid;
  border-radius: 20px;
  font-size: 17px;
  font-family: "Roboto", sans-serif;
  font-weight: bold;
  padding: 5px 30px;
  margin: 0px 7.5px 15px;
  background-color: #fff;
  transition: color 0.2s ease-in, background-color 0.2s ease-in; }
  .map-button--voting-rights {
    border-color: #D4BCFF;
    color: #D4BCFF; }
    .map-button--voting-rights.active, .map-button--voting-rights:hover, .map-button--voting-rights:focus {
      background-color: #D4BCFF;
      color: #fff;
      outline: 0; }
  .map-button--2019-elections {
    border-color: #F25369;
    color: #F25369; }
    .map-button--2019-elections.active, .map-button--2019-elections:hover, .map-button--2019-elections:focus {
      background-color: #F25369;
      color: #fff;
      outline: 0; }
  .map-button--gerrymandering {
    border-color: #1BCFCD;
    color: #1BCFCD; }
    .map-button--gerrymandering.active, .map-button--gerrymandering:hover, .map-button--gerrymandering:focus {
      background-color: #1BCFCD;
      color: #fff;
      outline: 0; }
  .map-button--medicaid-expansion {
    border-color: #F9CE46;
    color: #F9CE46; }
    .map-button--medicaid-expansion.active, .map-button--medicaid-expansion:hover, .map-button--medicaid-expansion:focus {
      background-color: #F9CE46;
      color: #fff;
      outline: 0; }

.map-accordion {
  margin-top: 50px; }
  @media only screen and (min-width: 768px) {
    .map-accordion {
      display: none; } }
  .map-accordion__introduction {
    text-align: center;
    margin: 30px 0 25px;
    font-size: 16px;
    font-weight: bold; }
  .map-accordion__controls {
    display: grid;
    grid-gap: 13px;
    margin: 0px auto 20px;
    max-width: 450px;
    grid-template-columns: repeat(1, 1fr);
    justify-items: center; }
    @media only screen and (min-width: 480px) {
      .map-accordion__controls {
        grid-template-columns: repeat(2, 1fr); } }
  .map-accordion__button {
    border: 2px solid;
    border-radius: 20px;
    font-size: 17px;
    font-family: "Roboto", sans-serif;
    font-weight: bold;
    padding: 7px 20px;
    background-color: #fff;
    min-width: 180px;
    transition: color 0.2s ease-in, background-color 0.2s ease-in; }
    .map-accordion__button--voting-rights {
      border-color: #D4BCFF;
      color: #D4BCFF; }
      .map-accordion__button--voting-rights.active, .map-accordion__button--voting-rights:hover, .map-accordion__button--voting-rights:focus {
        background-color: #D4BCFF;
        color: #fff;
        outline: 0; }
    .map-accordion__button--2019-elections {
      border-color: #F25369;
      color: #F25369; }
      .map-accordion__button--2019-elections.active, .map-accordion__button--2019-elections:hover, .map-accordion__button--2019-elections:focus {
        background-color: #F25369;
        color: #fff;
        outline: 0; }
    .map-accordion__button--gerrymandering {
      border-color: #1BCFCD;
      color: #1BCFCD; }
      .map-accordion__button--gerrymandering.active, .map-accordion__button--gerrymandering:hover, .map-accordion__button--gerrymandering:focus {
        background-color: #1BCFCD;
        color: #fff;
        outline: 0; }
    .map-accordion__button--medicaid-expansion {
      border-color: #F9CE46;
      color: #F9CE46; }
      .map-accordion__button--medicaid-expansion.active, .map-accordion__button--medicaid-expansion:hover, .map-accordion__button--medicaid-expansion:focus {
        background-color: #F9CE46;
        color: #fff;
        outline: 0; }
  .map-accordion__item {
    background-color: #F8F8F8;
    padding: 20px 30px;
    margin-bottom: 10px;
    display: none; }
    .map-accordion__data--voting-rights .map-accordion__item--voting-rights {
      display: block; }
    .map-accordion__data--2019-elections .map-accordion__item--2019-elections {
      display: block; }
    .map-accordion__data--gerrymandering .map-accordion__item--gerrymandering {
      display: block; }
    .map-accordion__data--medicaid-expansion .map-accordion__item--medicaid-expansion {
      display: block; }
  .map-accordion__data {
    position: relative; }
    .map-accordion__data::before {
      position: absolute;
      top: 15px;
      left: 0;
      right: 0;
      font-weight: bold;
      font-size: 16px;
      text-align: center; }
    .map-accordion__data--voting-rights {
      padding-top: 50px; }
      .map-accordion__data--voting-rights::before {
        content: "Voting Rights";
        color: #D4BCFF; }
    .map-accordion__data--2019-elections {
      padding-top: 50px; }
      .map-accordion__data--2019-elections::before {
        content: "2019 Elections";
        color: #F25369; }
    .map-accordion__data--gerrymandering {
      padding-top: 50px; }
      .map-accordion__data--gerrymandering::before {
        content: "Gerrymandering";
        color: #1BCFCD; }
    .map-accordion__data--medicaid-expansion {
      padding-top: 50px; }
      .map-accordion__data--medicaid-expansion::before {
        content: "Medicaid Expansion";
        color: #F9CE46; }
  .map-accordion__title {
    position: relative;
    margin: 0;
    cursor: pointer; }
    .map-accordion__title::after {
      content: '';
      position: absolute;
      right: 0;
      top: 0;
      bottom: 0;
      margin: auto 0;
      background-image: url("/static/images/map/chevron.svg?71c1b8ef97a6");
      background-size: cover;
      width: 15px;
      height: 15px; }
    .map-accordion__title.active::after {
      transform: rotate(180deg); }
    .map-accordion__title.active + .map-accordion__content {
      max-height: 500px;
      transition: max-height 0.3s ease-out; }
  .map-accordion__link {
    position: relative; }
    .map-accordion__link::after {
      content: '\f178';
      position: absolute;
      right: -20px;
      top: -1px;
      font-family: "Font Awesome 5 Pro";
      color: #2d64ec;
      font-weight: lighter; }
  .map-accordion__content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-in; }
    .map-accordion__content p {
      margin-top: 10px; }

.candidate__section {
  border-bottom: 1px solid #dddddd;
  padding-bottom: 50px;
  margin-bottom: 50px; }
  @media only screen and (min-width: 992px) {
    .candidate__section {
      padding-bottom: 75px;
      margin-bottom: 75px; } }
  .candidate__section h2 {
    margin-bottom: 40px; }

.candidate__button-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center; }
  @media only screen and (min-width: 768px) {
    .candidate__button-wrapper {
      flex-direction: row; } }
  .candidate__button-wrapper .button-base:hover, .candidate__button-wrapper .button-base:focus, .candidate__button-wrapper .button-base:active {
    text-decoration: none;
    color: #ffffff; }

.candidate-intro h1 {
  margin: 15px 0; }

.candidate-intro__state-link {
  font-size: 17px;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  text-decoration: underline;
  display: block;
  text-align: center; }
  @media only screen and (min-width: 992px) {
    .candidate-intro__state-link {
      text-align: left; } }
  .candidate-intro__state-link:hover, .candidate-intro__state-link:active, .candidate-intro__state-link:focus {
    text-decoration: none; }

.candidate-intro__buttons {
  display: flex;
  justify-content: center; }
  @media only screen and (min-width: 992px) {
    .candidate-intro__buttons {
      justify-content: flex-start; } }
.candidate-intro__social-button {
  width: 30px;
  height: 30px;
  margin: 0;
  margin-top: 25px;
  margin-right: 10px;
  background: #b8e9f4;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.25s ease-out;
  font-size: 12px; }
  @media only screen and (min-width: 480px) {
    .candidate-intro__social-button {
      width: 40px;
      height: 40px;
      font-size: 14px; } }
  .candidate-intro__social-button::after {
    display: block;
    color: #ffffff;
    font-family: "Font Awesome 5 Brands";
    font-weight: 300; }
  .candidate-intro__social-button:hover, .candidate-intro__social-button:active, .candidate-intro__social-button:focus {
    background: #2d64ec;
    text-decoration: none; }
  .candidate-intro__social-button:last-child {
    margin-right: 0; }
  .candidate-intro__social-button--website::after {
    content: '\F0C1';
    font-family: "Font Awesome 5 Pro"; }
  .candidate-intro__social-button--twitter::after {
    content: '\F099'; }
  .candidate-intro__social-button--facebook::after {
    content: '\F39E'; }

.candidate-tagline-section {
  text-align: center; }
  .candidate-tagline-section__text-wrapper {
    max-width: 850px;
    margin-left: auto;
    margin-right: auto; }
  .candidate-tagline-section__button-wrapper {
    margin-top: 40px; }
  .candidate-tagline-section__button {
    margin-bottom: 10px; }
    @media only screen and (min-width: 768px) {
      .candidate-tagline-section__button {
        margin: 0 25px 0 0; } }
    @media only screen and (min-width: 768px) {
      .candidate-tagline-section__button:last-child {
        margin: 0; } }
  .candidate-tagline-section__title {
    margin-bottom: 30px; }
    @media only screen and (min-width: 992px) {
      .candidate-tagline-section__title {
        margin-bottom: 40px; } }
  .candidate-tagline-section__subtitle {
    margin-bottom: 20px; }

.candidate-qa-section {
  text-align: center; }
  .candidate-qa-section h5, .candidate-qa-section .elections-calendar .button-color-registration .button-text, .elections-calendar .button-color-registration .candidate-qa-section .button-text, .candidate-qa-section .elections-calendar .button-color-primary .button-text, .elections-calendar .button-color-primary .candidate-qa-section .button-text, .candidate-qa-section .elections-calendar .button-color-special .button-text, .elections-calendar .button-color-special .candidate-qa-section .button-text, .candidate-qa-section .elections-calendar .button-color-general .button-text, .elections-calendar .button-color-general .candidate-qa-section .button-text {
    margin-bottom: 20px; }
    @media only screen and (min-width: 992px) {
      .candidate-qa-section h5, .candidate-qa-section .elections-calendar .button-color-registration .button-text, .elections-calendar .button-color-registration .candidate-qa-section .button-text, .candidate-qa-section .elections-calendar .button-color-primary .button-text, .elections-calendar .button-color-primary .candidate-qa-section .button-text, .candidate-qa-section .elections-calendar .button-color-special .button-text, .elections-calendar .button-color-special .candidate-qa-section .button-text, .candidate-qa-section .elections-calendar .button-color-general .button-text, .elections-calendar .button-color-general .candidate-qa-section .button-text {
        margin-bottom: 25px; } }
  .candidate-qa-section__answer {
    margin-bottom: 50px; }
    .candidate-qa-section__answer:last-child {
      margin-bottom: 0; }

.meet-the-candidate {
  text-align: center; }

.candidate-endorsements h2 {
  margin-bottom: 40px; }

.elections-calendar button.button-round {
  padding: 10px 20px;
  border-width: 2px;
  border-style: solid;
  border-radius: 25px;
  margin: 5px; }

.elections-calendar .button-color-general {
  background-color: white;
  border-color: #1bcfcd; }
  .elections-calendar .button-color-general .button-text {
    color: #1bcfcd; }
  .elections-calendar .button-color-general.button-active {
    border-color: #1bcfcd;
    background-color: #1bcfcd; }
    .elections-calendar .button-color-general.button-active .button-text {
      color: white; }

.elections-calendar .button-color-special {
  background-color: white;
  border-color: #f25369; }
  .elections-calendar .button-color-special .button-text {
    color: #f25369; }
  .elections-calendar .button-color-special.button-active {
    border-color: #f25369;
    background-color: #f25369; }
    .elections-calendar .button-color-special.button-active .button-text {
      color: white; }

.elections-calendar .button-color-primary {
  background-color: white;
  border-color: #f9ce46; }
  .elections-calendar .button-color-primary .button-text {
    color: #f9ce46; }
  .elections-calendar .button-color-primary.button-active {
    border-color: #f9ce46;
    background-color: #f9ce46; }
    .elections-calendar .button-color-primary.button-active .button-text {
      color: white; }

.elections-calendar .button-color-registration {
  background-color: white;
  border-color: #D4BCFF; }
  .elections-calendar .button-color-registration .button-text {
    color: #D4BCFF; }
  .elections-calendar .button-color-registration.button-active {
    border-color: #D4BCFF;
    background-color: #D4BCFF; }
    .elections-calendar .button-color-registration.button-active .button-text {
      color: white; }

.elections-calendar p.no-elections-text {
  margin-top: 65px;
  margin-bottom: 25px;
  text-align: center; }

.elections-calendar div.accordion {
  padding: 10px;
  margin-top: 25px; }
  .elections-calendar div.accordion .election-date {
    padding-left: 30px; }
  .elections-calendar div.accordion .accordion-icon {
    margin-top: 10px;
    font-family: "Font Awesome 5 Pro";
    color: #2d64ec; }
    .elections-calendar div.accordion .accordion-icon:after {
      content: '\f078'; }
  .elections-calendar div.accordion .accordion-icon.selected:after {
    content: '\f077'; }
  .elections-calendar div.accordion .accordion-heading.accordion-type-general > .dot {
    background-color: #1bcfcd;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    display: inline-block;
    margin-bottom: -2px;
    margin-right: 15px;
    margin-left: 5px; }
  .elections-calendar div.accordion .accordion-heading.accordion-type-special > .dot {
    background-color: #f25369;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    display: inline-block;
    margin-bottom: -2px;
    margin-right: 15px;
    margin-left: 5px; }
  .elections-calendar div.accordion .accordion-heading.accordion-type-primary > .dot {
    background-color: #f9ce46;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    display: inline-block;
    margin-bottom: -2px;
    margin-right: 15px;
    margin-left: 5px; }
  .elections-calendar div.accordion .accordion-heading.accordion-type-registration > .dot {
    background-color: #D4BCFF;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    display: inline-block;
    margin-bottom: -2px;
    margin-right: 15px;
    margin-left: 5px; }
  .elections-calendar div.accordion .accordion-heading h5, .elections-calendar div.accordion .accordion-heading .button-color-general .button-text, .elections-calendar .button-color-general div.accordion .accordion-heading .button-text, .elections-calendar div.accordion .accordion-heading .button-color-special .button-text, .elections-calendar .button-color-special div.accordion .accordion-heading .button-text, .elections-calendar div.accordion .accordion-heading .button-color-primary .button-text, .elections-calendar .button-color-primary div.accordion .accordion-heading .button-text, .elections-calendar div.accordion .accordion-heading .button-color-registration .button-text, .elections-calendar .button-color-registration div.accordion .accordion-heading .button-text {
    display: inline-block;
    margin-bottom: 0; }
  .elections-calendar div.accordion .state-text {
    margin: 10px 0;
    color: #1d1d1d;
    font-family: "Roboto", sans-serif;
    font-size: 17px;
    font-weight: 300;
    line-height: 24px; }
  .elections-calendar div.accordion .accordion-body {
    margin-top: 20px;
    margin-left: 40px;
    margin-bottom: 25px;
    max-width: 80%; }
    .elections-calendar div.accordion .accordion-body .external-link {
      display: inline-block;
      margin-right: 10px; }

.elections-calendar .no-padding {
  padding: 0; }

.elections-calendar .dropdown-container {
  margin-top: 40px;
  margin-bottom: 25px; }
  .elections-calendar .dropdown-container .dropdown {
    scrollbar-face-color: #2d64ec;
    scrollbar-track-color: #96b2f6;
    display: inline-block;
    position: relative;
    width: 100%;
    text-transform: uppercase;
    font-family: "Roboto Mono", monospace;
    color: #2d64ec; }
    .elections-calendar .dropdown-container .dropdown ::-webkit-scrollbar {
      width: 1.2em;
      height: 1.2em; }
    .elections-calendar .dropdown-container .dropdown ::-webkit-scrollbar-thumb {
      background: #2d64ec; }
    .elections-calendar .dropdown-container .dropdown ::-webkit-scrollbar-track {
      background: #96b2f6; }
    .elections-calendar .dropdown-container .dropdown .dropdown-button {
      border: 2px solid #3268ED;
      padding: 15px; }
      .elections-calendar .dropdown-container .dropdown .dropdown-button:after {
        font-family: "Font Awesome 5 Pro";
        content: '\f078';
        float: right;
        margin-right: 15px; }
    .elections-calendar .dropdown-container .dropdown .dropdown-button.selected {
      background-color: #2d64ec;
      color: white; }
      .elections-calendar .dropdown-container .dropdown .dropdown-button.selected:after {
        content: '\f077'; }
    .elections-calendar .dropdown-container .dropdown ul.dropdown-selection {
      position: absolute;
      width: 100%;
      list-style-type: none;
      padding: 0;
      z-index: 2;
      border: 2px solid #2d64ec;
      max-height: 360px;
      overflow-y: scroll; }
      .elections-calendar .dropdown-container .dropdown ul.dropdown-selection li {
        border-bottom: 2px solid #2d64ec;
        padding: 25px 0; }
        .elections-calendar .dropdown-container .dropdown ul.dropdown-selection li:last-child {
          border-bottom: none; }
      .elections-calendar .dropdown-container .dropdown ul.dropdown-selection li:hover {
        background-color: #2d64ec;
        color: white; }

.elections-calendar hr {
  margin-top: 75px; }

@media screen and (max-width: 991px) {
  .elections-calendar nav {
    margin-top: 20px;
    margin-bottom: 0; }
    .elections-calendar nav button.button-round {
      padding: 5px 15px; }
      .elections-calendar nav button.button-round .button-text {
        font-size: 16px; }
  .elections-calendar div.dropdown-container {
    margin-top: 30px;
    margin-bottom: 0; }
    .elections-calendar div.dropdown-container .dropdown > .dropdown-button:after {
      margin-left: 10px;
      margin-right: 0; }
  .elections-calendar .elections-feed {
    margin-top: 20px; }
    .elections-calendar .elections-feed p.no-elections-text {
      margin-top: 35px;
      margin-bottom: 0; }
    .elections-calendar .elections-feed div.accordion {
      padding: 20px 30px 30px 30px;
      margin-top: 20px; }
      .elections-calendar .elections-feed div.accordion .election-date {
        padding-left: 15px; }
      .elections-calendar .elections-feed div.accordion .state-text {
        font-size: 16px; }
      .elections-calendar .elections-feed div.accordion .accordion-heading {
        display: inline-flex; }
        .elections-calendar .elections-feed div.accordion .accordion-heading div.dot {
          margin-top: 13px;
          margin-bottom: 0;
          margin-left: 0; }
        .elections-calendar .elections-feed div.accordion .accordion-heading h5, .elections-calendar .elections-feed div.accordion .accordion-heading .button-color-general .button-text, .elections-calendar .button-color-general .elections-feed div.accordion .accordion-heading .button-text, .elections-calendar .elections-feed div.accordion .accordion-heading .button-color-special .button-text, .elections-calendar .button-color-special .elections-feed div.accordion .accordion-heading .button-text, .elections-calendar .elections-feed div.accordion .accordion-heading .button-color-primary .button-text, .elections-calendar .button-color-primary .elections-feed div.accordion .accordion-heading .button-text, .elections-calendar .elections-feed div.accordion .accordion-heading .button-color-registration .button-text, .elections-calendar .button-color-registration .elections-feed div.accordion .accordion-heading .button-text {
          flex: 1; }
      .elections-calendar .elections-feed div.accordion .accordion-icon {
        float: right; }
      .elections-calendar .elections-feed div.accordion .accordion-body {
        max-width: none;
        margin-left: 30px; }
  .elections-calendar div.button-block button.button-blue {
    margin-top: 30px;
    margin-bottom: 0; }
  .elections-calendar hr {
    margin-top: 50px; } }

header {
  padding: 0; }

section.navigation .nav-heading {
  margin: 75px 0;
  text-transform: uppercase;
  text-align: center; }

section.navigation .nav-list {
  display: flex;
  justify-content: center; }

section.navigation ul {
  list-style: none;
  margin: 0;
  padding: 0; }
  section.navigation ul li > a > h4 {
    color: #2d64ec;
    text-transform: uppercase; }
  section.navigation ul li {
    margin-right: 60px; }
  section.navigation ul li:last-child {
    margin-right: 0; }

div.qa-sections-container section {
  text-align: left;
  margin-bottom: 75px; }
  div.qa-sections-container section hr {
    margin: 75px 0; }
  div.qa-sections-container section h2.qa-heading {
    margin-bottom: 50px;
    text-transform: uppercase; }
  div.qa-sections-container section .qa-item {
    margin-bottom: 35px; }
    div.qa-sections-container section .qa-item span.question {
      cursor: pointer; }
      div.qa-sections-container section .qa-item span.question h5, div.qa-sections-container section .qa-item span.question .elections-calendar .button-color-general .button-text, .elections-calendar .button-color-general div.qa-sections-container section .qa-item span.question .button-text, div.qa-sections-container section .qa-item span.question .elections-calendar .button-color-special .button-text, .elections-calendar .button-color-special div.qa-sections-container section .qa-item span.question .button-text, div.qa-sections-container section .qa-item span.question .elections-calendar .button-color-primary .button-text, .elections-calendar .button-color-primary div.qa-sections-container section .qa-item span.question .button-text, div.qa-sections-container section .qa-item span.question .elections-calendar .button-color-registration .button-text, .elections-calendar .button-color-registration div.qa-sections-container section .qa-item span.question .button-text {
        margin: 0; }
      div.qa-sections-container section .qa-item span.question h5::after, div.qa-sections-container section .qa-item span.question .elections-calendar .button-color-general .button-text::after, .elections-calendar .button-color-general div.qa-sections-container section .qa-item span.question .button-text::after, div.qa-sections-container section .qa-item span.question .elections-calendar .button-color-special .button-text::after, .elections-calendar .button-color-special div.qa-sections-container section .qa-item span.question .button-text::after, div.qa-sections-container section .qa-item span.question .elections-calendar .button-color-primary .button-text::after, .elections-calendar .button-color-primary div.qa-sections-container section .qa-item span.question .button-text::after, div.qa-sections-container section .qa-item span.question .elections-calendar .button-color-registration .button-text::after, .elections-calendar .button-color-registration div.qa-sections-container section .qa-item span.question .button-text::after {
        font-family: "Font Awesome 5 Pro";
        font-weight: 600;
        content: "\f078";
        margin-left: 10px;
        color: #2d64ec; }
      div.qa-sections-container section .qa-item span.question h5.arrow-up::after, div.qa-sections-container section .qa-item span.question .elections-calendar .button-color-general .arrow-up.button-text::after, .elections-calendar .button-color-general div.qa-sections-container section .qa-item span.question .arrow-up.button-text::after, div.qa-sections-container section .qa-item span.question .elections-calendar .button-color-special .arrow-up.button-text::after, .elections-calendar .button-color-special div.qa-sections-container section .qa-item span.question .arrow-up.button-text::after, div.qa-sections-container section .qa-item span.question .elections-calendar .button-color-primary .arrow-up.button-text::after, .elections-calendar .button-color-primary div.qa-sections-container section .qa-item span.question .arrow-up.button-text::after, div.qa-sections-container section .qa-item span.question .elections-calendar .button-color-registration .arrow-up.button-text::after, .elections-calendar .button-color-registration div.qa-sections-container section .qa-item span.question .arrow-up.button-text::after {
        content: "\f077"; }
    div.qa-sections-container section .qa-item .answer {
      margin-top: 25px; }
      div.qa-sections-container section .qa-item .answer div.rich-text > p {
        text-align: left; }

section.contact-us {
  padding: 100px 0; }
  section.contact-us h2 {
    margin-top: 0;
    margin-bottom: 50px; }
  section.contact-us div.rich-text > p {
    margin-bottom: 0; }

@media screen and (max-width: 991px) {
  section.navigation .nav-heading {
    margin: 30px 0; }
  section.navigation .nav-list {
    flex-direction: column;
    text-align: center; }
    section.navigation .nav-list li {
      margin-right: 0; }
  div.qa-sections-container section hr {
    margin: 50px 0; }
  div.qa-sections-container section h2.qa-heading {
    margin-bottom: 30px; }
  div.qa-sections-container section .qa-item {
    margin-bottom: 25px; }
  section.contact-us {
    padding: 50px 0; }
    section.contact-us h2 {
      margin-top: 0;
      margin-bottom: 30px; } }

.twitter-box {
  border: 2px solid #2150C6;
  padding: 40px;
  width: 100%; }

.twitter-box ul {
  list-style: none;
  padding: 0; }

.twitter-timestamp-line {
  margin-left: 5px;
  margin-right: 4px; }

div.twitter-box > ul > li:nth-child(3) > a > div {
  border-bottom: 0px; }

.actions-width {
  width: 90%;
  padding-left: 10%;
  margin: 0 auto; }

.two-cards-width, .stats-width {
  width: 80%;
  margin: 0 auto; }

.add-right-arrow .rich-text p:after, .add-right-arrow-link:after {
  font-family: "Font Awesome 5 Pro";
  content: " \f178";
  color: #2d64ec;
  font-weight: lighter; }

.first-item-number:before, .first-item-number-mobile:before {
  content: "01. ";
  font-family: "Oswald", sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 30px;
  vertical-align: top;
  color: #49D9D7; }

.second-item-number:before, .second-item-number-mobile:before {
  content: "02. ";
  font-family: "Oswald", sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 30px;
  vertical-align: top;
  color: #F25369; }

.third-item-number:before, .third-item-number-mobile:before {
  content: "03. ";
  font-family: "Oswald", sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 30px;
  vertical-align: top;
  color: #B8E9F4; }

.blue-bottom-line {
  border-bottom: 1px solid #2150C6; }

.press-link {
  font-family: "Roboto Mono", monospace;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.7px;
  line-height: 18px;
  color: #ffffff; }

.home-input {
  color: #ED9300;
  font-family: "Roboto Mono", monospace;
  font-size: 13px;
  font-weight: 500;
  line-height: 18px; }

.twitter-feed-text {
  color: #FFFFFF;
  font-family: "Roboto", sans-serif;
  font-size: 11px;
  line-height: 15px;
  font-weight: normal; }

.twitter-feed-handle {
  color: #FFFFFF;
  font-family: "Roboto", sans-serif;
  font-size: 10px;
  font-weight: bold;
  line-height: 15px; }

.twitter-timestamp, .twitter-timestamp-line {
  color: #979797;
  font-family: "Roboto", sans-serif;
  font-size: 10px;
  line-height: 15px; }

.volunteer-link-large {
  font-family: "Oswald", sans-serif;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #2d64ec;
  display: inline-block; }

.volunteer-link-small {
  font-family: "Roboto", sans-serif;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.33;
  letter-spacing: 0.2px;
  color: #2d64ec;
  display: inline-block; }

.roboto-white-bold-22, .home-sub-header {
  font-family: "Roboto", sans-serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 28px;
  color: #ffffff; }

.roboto-black-bold-22, .roboto-black-bold-22 .rich-text p {
  font-family: "Roboto", sans-serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 28px;
  color: #1d1d1d; }

.stat-number {
  font-family: "Oswald", sans-serif;
  font-size: 72px;
  line-height: 107px;
  color: #1d1d1d;
  font-weight: 600;
  margin-bottom: 20px; }

.stat-caption {
  font-family: "Roboto", sans-serif;
  font-size: 22px;
  line-height: 28px;
  color: #1d1d1d;
  font-weight: 600; }

.oswald-black-bold-40 {
  font-family: "Oswald", sans-serif;
  font-size: 40px;
  line-height: 42px;
  color: #1d1d1d;
  font-weight: 600; }

.sign-up-text {
  font-weight: 500; }

.error-message {
  font-family: "Roboto Mono", monospace;
  font-size: 11px;
  font-weight: bold;
  line-height: 1.36;
  letter-spacing: 0.3px;
  color: #ff3421; }

.error-message-white {
  font-family: "Roboto Mono", monospace;
  font-size: 11px;
  font-weight: bold;
  line-height: 1.36;
  letter-spacing: 0.3px;
  color: #ffffff; }

div.blue-confirmation div.rich-text p a, div.blue-confirmation p a, div.blue-confirmation a, div.header-confirmation div.rich-text p a, div.header-confirmation p a, div.header-confirmation a {
  color: #ffffff;
  text-decoration: underline;
  text-transform: uppercase; }
  div.blue-confirmation div.rich-text p a:hover, div.blue-confirmation p a:hover, div.blue-confirmation a:hover, div.header-confirmation div.rich-text p a:hover, div.header-confirmation p a:hover, div.header-confirmation a:hover {
    text-decoration: underline; }

div.header-confirmation div.rich-text p {
  margin-bottom: 0; }

div.blue-confirmation a {
  text-transform: capitalize; }

@media screen and (max-width: 991px) {
  .home-header-large {
    font-family: "Oswald", sans-serif;
    font-size: 30px;
    font-weight: bold;
    line-height: 42px;
    text-transform: uppercase;
    color: #ffffff; }
  .home-sub-header {
    font-family: "Roboto", sans-serif;
    font-size: 17px;
    font-weight: bold;
    line-height: 22px;
    color: #ffffff; }
  .signup-height {
    margin-top: 0 !important; }
  .actions-width {
    width: 85%;
    padding-left: 0;
    margin: 0 auto; }
  .first-item-number-mobile:before, .second-item-number-mobile:before, .third-item-number-mobile:before {
    display: none; }
  .h-2-oswald-black-mobile-adjust {
    font-size: 30px; }
  .stat-number {
    font-size: 52px;
    line-height: 60px;
    margin-bottom: 15px; }
  .stat-caption {
    font-size: 17px;
    line-height: 23px; } }

.state-page__signup {
  margin-bottom: 50px; }
  @media only screen and (min-width: 768px) {
    .state-page__signup {
      margin-bottom: 75px; } }
.state-card {
  padding: 15px 0;
  display: flex;
  flex-direction: column;
  flex-basis: 100%;
  min-width: 260px; }
  .state-card:first-child {
    padding-top: 0; }
  @media only screen and (min-width: 768px) {
    .state-card {
      flex-basis: calc(50% - 10px);
      margin-right: 20px; }
      .state-card:nth-child(2n) {
        margin-right: 0; }
      .state-card:nth-child(2) {
        padding-top: 0; } }
  @media only screen and (min-width: 992px) {
    .state-card {
      flex-basis: calc(33.3% - 13.3px); }
      .state-card:nth-child(2n) {
        margin-right: 20px; }
      .state-card:nth-child(3n) {
        margin-right: 0; }
      .state-card:nth-child(3) {
        padding-top: 0; } }
  @media only screen and (min-width: 1084px) {
    .state-card {
      max-width: calc((4 * 67px) + (20px * (4 - 1))); } }
  .state-card__grid {
    display: flex;
    flex-wrap: wrap;
    margin-top: 30px;
    margin-bottom: 50px; }
    @media only screen and (min-width: 768px) {
      .state-card__grid {
        margin-top: 75px;
        margin-bottom: 75px; } }
  .state-card__header {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background: #2d64ec;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 90px; }
    .state-card__header a:hover, .state-card__header a:focus {
      text-decoration: none; }
    .state-card__header h3 {
      color: #ffffff; }
  .state-card__state-name {
    margin: 0; }
  .state-card__body {
    background: #f5f5f5;
    padding: 30px;
    flex-grow: 1;
    min-height: 250px; }
  .state-card__title {
    margin-bottom: 25px; }
  .state-card__description {
    margin-bottom: 30px; }
  .state-card__more-link {
    color: #2d64ec;
    text-decoration: none;
    cursor: pointer;
    font-family: "Roboto", sans-serif;
    font-size: 15px;
    font-weight: 300;
    line-height: 18px; }
    .state-card__more-link:hover {
      text-decoration: none; }
    .state-card__more-link .link-text {
      margin-right: 10px; }
      .state-card__more-link .link-text:hover {
        text-decoration: underline; }
    .state-card__more-link i.fal.fa-long-arrow-right {
      font-weight: 500; }
  .state-card__footer {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    text-transform: uppercase;
    font-family: "Roboto", sans-serif;
    font-size: 15px;
    line-height: 23px;
    font-weight: 600; }
    .state-card__footer--change-the-game {
      background: #f9ce46; }
    .state-card__footer--tip-the-balance {
      background: #1bcfcd; }
    .state-card__footer--turn-the-tide {
      background: #D4BCFF; }
  .state-card__icon {
    margin-right: 10px; }
