/* ==========================================================================
   Icons & Titles
   ========================================================================== */

.elecicon { font-size: 28px; }

.line {
  width: 100%;
  background-color: #000;
  margin: 25px 0;
  height: 1px;
}

.electitle {
  top: 7px;
  position: absolute;
  left: 38px;
  line-height: 18px;
}

.apitoggle.et_pb_toggle_title.black:before { color: #000 !important; }

/* ==========================================================================
   Utility Classes
   ========================================================================== */

.text-center { text-align: center; }
.text-white { color: #fff; }
.pt-20 { padding-top: 20px; padding-bottom: 0; }
.m-30 { margin-bottom: 30px; }
.bold { font-weight: bold; }
.large { font-size: 120%; }
.italic { font-style: italic; }
.description { margin-top: 20px; }

/* ==========================================================================
   Election Center — Base & Layout
   ========================================================================== */

.election-center,
.election-center .et_pb_section {
  background: #000;
}

.election-center .et_pb_bg_layout_light { background: #fff; }
.election-center .et_pb_bg_layout_yellow { background: #fad449; }
.election-center .et_pb_fullwidth_header { padding-bottom: 0; }

.et_pb_fullwidth_header { padding: 0 0; }

.et_pb_fullwidth_header .et_pb_fullwidth_header_container.center .header-content {
  margin: 20px auto 60px auto;
}

/* ==========================================================================
   Typography — Headings
   ========================================================================== */

h1, h2, h3, h4, h5, h6 { color: #fff; }

h3 { font-size: 37px; }
h3 { line-height: 1; }
h5 {
    font-family: 'Work Sans', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 600;
    font-size: 18px !important;
}
.et_pb_bg_layout_light h1, .et_pb_bg_layout_yellow h1,
.et_pb_bg_layout_light h2, .et_pb_bg_layout_yellow h2,
.et_pb_bg_layout_light h3, .et_pb_bg_layout_yellow h3,
.et_pb_bg_layout_light h4, .et_pb_bg_layout_yellow h4,
.et_pb_bg_layout_light h5, .et_pb_bg_layout_yellow h5,
.et_pb_bg_layout_light h6, .et_pb_bg_layout_yellow h6 {
  color: #000;
}

#state-election-result h1,
#state-election-result h2,
#state-election-result h3,
#state-election-result h4,
#state-election-result h5 {
  color: #000 !important;
}

/* ==========================================================================
   Voting Options List
   ========================================================================== */

.options { margin: 30px auto; }

.voting-options-list {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: space-between;
}

.voting-options-list li {
  font-size: 1.6rem;
  line-height: 1.3em;
  flex-basis: 22%;
  padding: 25px;
  text-align: center;
  margin-bottom: 0;
  font-family: 'Work Sans', Helvetica, Arial, Lucida, sans-serif;
  background: #000;
  border-bottom: 5px solid #fad449;
  display: flex;
  justify-content: stretch;
}

.voting-options-list li:hover {
  background: #fad449;
  border-bottom-color: #000;
}

.voting-options-list li a {
  text-decoration: none;
  color: #fff !important;
  width: 100%;
}

.voting-options-list li a .divider {
  margin: 20px auto;
  border-bottom: 2px solid #fad449;
  display: block;
  width: 75%;
  opacity: .5;
}

.voting-options-list li a .summary {
  font-size: 1.1rem;
  line-height: 1.5;
  display: block;
}

.voting-options-list li:hover a { color: #000 !important; }
.voting-options-list li:hover .divider { border-bottom-color: #000; }

.voting-options-list li .et-pb-icon {
  display: block !important;
  margin-bottom: 30px;
}

.voting-options-list li a .et-pb-icon { color: #fff; }

/* ==========================================================================
   Dates, Deadlines & Labels
   ========================================================================== */

p.label { margin-top: 20px; }

.date-list {
  list-style: disc;
  padding: 8px 0 0 20px;
  margin-left: 20px;
}

.date-list li { margin-bottom: 8px; }
.date-list li:last-child { margin-bottom: 0; }

#datesanddeadlines h3 { color: #000; }

#datesanddeadlines #election-result-title h3 { color: #000; }

#deadline-results h4,
#deadline-results h5 {
  color: #000;
}

/* ==========================================================================
   Registration Options
   ========================================================================== */

.register {
  margin: 30px auto 0;
  padding-top: 30px;
}

.reg-options {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
}

.reg-options li {
  font-size: 1.4rem;
  flex-basis: 50%;
  padding: 20px;
  text-align: center;
}

/* ==========================================================================
   Toggles (Accordion)
   ========================================================================== */

.et_pb_toggle { margin-bottom: 30px; }

.vote-item {
  font-size: 17px !important;
  line-height: 1.3em;
}

/* Open state */
.et_pb_toggle_open { color: #000; }
.et_pb_toggle_open h5 { color: #000 !important; }
.et_pb_toggle_open a { color: #000 !important; text-decoration: underline !important; }

/* Closed state */
.et_pb_module.et_pb_toggle.et_pb_toggle_0.et_pb_toggle_item.et_pb_toggle_close {
  background-color: #000;
  border: 3px solid #fff;
}

/* Toggle title — closed */
.et_pb_toggle_close .et_pb_toggle_title,
.et_pb_toggle_close h5.et_pb_toggle_title {
  color: #fff;
  font-family: 'Work Sans';
}
.et_pb_bg_layout_light .et_pb_module.et_pb_toggle.et_pb_toggle_0.et_pb_toggle_item.et_pb_toggle_close {
  background-color: #000;
  border: 3px solid #000;
}

#datesanddeadlines .et_pb_toggle_close .et_pb_toggle_title,
#datesanddeadlines .et_pb_toggle_close h5.et_pb_toggle_title {
  color: #000;
}

/* Toggle title — open */
.et_pb_toggle_open .et_pb_toggle_title,
.et_pb_toggle_open h5.et_pb_toggle_title {
  color: #000;
  font-family: 'Work Sans';
}

/* Toggle icons */
.et_pb_toggle_title:before {
  color: #fff;
  content: "\e050";
}

.et_pb_toggle_open .et_pb_toggle_title:before {
  content: "\e04f";
  color: #000;
}

/* ==========================================================================
   Tabs
   ========================================================================== */

.et_pb_tabs,
.et_pb_wc_tabs {
  border: 3px solid #000;
}

ul.et_pb_tabs_controls { background-color: #000; }
ul.et_pb_tabs_controls:after { border-top: none; }

.et_pb_tabs_controls li a {
  padding: 15px 30px 15px;
  color: #fff;
}

.et_pb_tab_active a { color: #000 !important; }

/* ==========================================================================
   Election Results
   ========================================================================== */

#election-results a {
  color: #000 !important;
  text-decoration: underline;
}

#election-result-title h3,
#election-result-election-date h4,
#election-result-registration-deadline h4 {
  font-family: 'Work Sans';
}

#election-result-election-date h4 {
  font-weight: 700;
  font-size: 31px;
  margin-bottom: 20px;
}

/* ==========================================================================
   Voter Registration & Absentee
   ========================================================================== */

.voter-registration {
  padding: 30px 0;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc !important;
  margin: 30px 0 !important;
}

.voter-registration h4,
.absentee-deadline h4 {
  font-family: 'Work Sans';
  font-size: 31px;
  font-weight: 500;
}

.absentee-return { margin-top: 15px; }

/* ==========================================================================
   Mail Section
   ========================================================================== */

div#mail { padding: 40px 0; }

/* ==========================================================================
   Media Queries
   ========================================================================== */

@media all and (min-width: 1350px) {
  #mail { padding: 54px 0 0 0; }
}

@media all and (max-width: 767px) {
  .voting-options-list { flex-wrap: wrap; }

  .voting-options-list li {
    flex-basis: 49%;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: stretch;
  }

  .et_pb_fullwidth_header { padding: 0 0 10px 0; }

  .et_pb_row.et_pb_row_0:first-of-type { padding: 0 0 20px 0; }

  .et_pb_with_border.et_pb_section.et_pb_section_1.et_pb_with_background.et_section_regular {
    border-width: 25px;
  }

  #election-result-title h3 { font-size: 26px; }

  .et_pb_tabs_controls li a { padding: 8px 30px 8px; }

  .et_pb_toggle_close .et_pb_toggle_title,
  .et_pb_toggle_close h5.et_pb_toggle_title,
  .et_pb_toggle_open .et_pb_toggle_title,
  .et_pb_toggle_open h5.et_pb_toggle_title {
    padding-left: 0;
  }

  .vote-item { padding-left: 0; }

  .et_pb_with_border.et_pb_section.et_pb_section_1.et_pb_with_background.et_section_regular {
    border-width: 0;
  }

  .et_pb_fullwidth_header_container.center { padding-top: 20px; }
  .et_pb_fullwidth_header_container.center.top { padding-top: 0px; }

  .options { margin: 30px auto -20px auto; }

  div#mail { padding: 20px 0; }
}

@media all and (max-width: 479px) {
  .voting-options-list li {
    flex-basis: 100%;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: stretch;
  }

  .et_pb_fullwidth_header { padding: 0 0 10px 0; }

  .et_pb_row.et_pb_row_0:first-of-type { padding: 0 0 20px 0; }

  .et_pb_with_border.et_pb_section.et_pb_section_1.et_pb_with_background.et_section_regular {
    border-width: 0;
  }

  .et_pb_tabs_controls li a { padding: 10px 20px; }

  .et_pb_tabs_controls li {
    float: left !important;
    border-right: none;
    border-bottom: none !important;
  }

  .et_pb_tab { padding: 15px 20px; }

  h3 { font-size: 30px; }

  #election-result-title h3 { font-size: 21px; }

  .et_pb_toggle_title h5 { font-size: 16px !important; }

  .et_pb_toggle_close,
  .et_pb_toggle_open {
    padding: 15px;
  }

  .voter-registration h4,
  .absentee-deadline h4 {
    font-size: 21px;
  }

  .et_pb_section_1,
  .et_pb_section_3 {
    border-width: 0px !important;
  }

  #datesanddeadlines { margin-top: 30px; }

  #election-result-election-date h4 {
    font-size: 21px;
    margin-bottom: 5px;
  }

  .voter-registration {
    padding: 20px 0;
    margin: 20px 0 !important;
  }
}