/*
Theme Name: Wisconsin Vote
Author: PBS Wisconsin
Description:  The best WordPress starter theme based on the most powerful frameworks in the world: "_s" (by Automattic, the main people behind WordPress development), Twitter Bootstrap (the most popular HTML, CSS, and JS framework for developing responsive, mobile first projects on the web) and Font Awesome (or Fontawesome, a full suite of 675+ pictographic icons for easy scalable vector graphics on websites). This theme, like WordPress, is licensed under the GPL. You can use this theme as base for your next WordPress theme project and you are allowed to remove the link at the footer or do whatever you want. Your feedback on how we can continuously improve this WordPress Starter Theme Bootstrap will be highly appreciated. Page templates includes Right-sidebar (default page template), Left-Sidebar, Full-Width, Blank with container, Blank without container Page. Other features - Currently using Bootstrap v4.0.0 , Widgetized footer area, WooCommerce ready, Compatible with Contact Form 7, Compatible with Visual Composer, Compatible with Elementor Page Builder. This theme will be an active project which we will update from time to time. Check this page regularly for the updates.
Version: 3.3.3
Text Domain: wp-bootstrap-starter
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Posts and pages
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
# Woocommerce
# Footer
--------------------------------------------------------------*/

@font-face {
  font-family: 'PBSSans';
  src: url("fonts/EOT/PBSSans.eot");
  src: url("fonts/EOT/PBSSans.eot?#iefix") format("embedded-opentype"), url("fonts/WOFF2/PBSSans.woff2") format("woff2"), url("fonts/WOFF/PBSSans.woff") format("woff"), url("fonts/TTF/PBSSans.ttf") format("truetype"), url("fonts/SVG/PBSSans.svg#PBSSans") format("svg");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'PBSSans';
  src: url("fonts/EOT/PBSSans-Bold.eot");
  src: url("fonts/EOT/PBSSans-Bold.eot?#iefix") format("embedded-opentype"), url("fonts/WOFF2/PBSSans-Bold.woff2") format("woff2"), url("fonts/WOFF/PBSSans-Bold.woff") format("woff"), url("fonts/TTF/PBSSans-Bold.ttf") format("truetype"), url("fonts/SVG/PBSSans-Bold.svg#PBSSans") format("svg");
  font-weight: bold;
  font-style: normal;
}

@font-face {
  font-family: 'PBSSans-Black';
  src: url("fonts/EOT/PBSSans-Black.eot");
  src: url("fonts/EOT/PBSSans-Black.eot?#iefix") format("embedded-opentype"), url("fonts/WOFF2/PBSSans-Black.woff2") format("woff2"), url("fonts/WOFF/PBSSans-Black.woff") format("woff"), url("fonts/TTF/PBSSans-Black.ttf") format("truetype"), url("fonts/SVG/PBSSans-Black.svg#PBSSans") format("svg");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'PBSSans-Cond';
  src: url("fonts/EOT/PBSSans-Cond.eot");
  src: url("fonts/EOT/PBSSans-Cond.eot?#iefix") format("embedded-opentype"), url("fonts/WOFF2/PBSSans-Cond.woff2") format("woff2"), url("fonts/WOFF/PBSSans-Cond.woff") format("woff"), url("fonts/TTF/PBSSans-Cond.ttf") format("truetype"), url("fonts/SVG/PBSSans-Cond.svg#PBSSans") format("svg");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'PBSSans-Cond-Bold';
  src: url("fonts/EOT/PBSSans-Cond-Bold.eot");
  src: url("fonts/EOT/PBSSans-Cond-Bold.eot?#iefix") format("embedded-opentype"), url("fonts/WOFF2/PBSSans-Cond-Bold.woff2") format("woff2"), url("fonts/WOFF/PBSSans-Cond-Bold.woff") format("woff"), url("fonts/TTF/PBSSans-Cond-Bold.ttf") format("truetype"), url("fonts/SVG/PBSSans-Cond-Bold.svg#PBSSans") format("svg");
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: 'PBSSans';
  src: url("fonts/EOT/PBSSans-Light.eot");
  src: url("fonts/EOT/PBSSans-Light.eot?#iefix") format("embedded-opentype"), url("fonts/WOFF2/PBSSans-Light.woff2") format("woff2"), url("fonts/WOFF/PBSSans-Light.woff") format("woff"), url("fonts/TTF/PBSSans-Light.ttf") format("truetype"), url("fonts/SVG/PBSSans-Light.svg#PBSSans") format("svg");
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'PBSSans';
  src: url("fonts/EOT/PBSSans-Medium.eot");
  src: url("fonts/EOT/PBSSans-Medium.eot?#iefix") format("embedded-opentype"), url("fonts/WOFF2/PBSSans-Medium.woff2") format("woff2"), url("fonts/WOFF/PBSSans-Medium.woff") format("woff"), url("fonts/TTF/PBSSans-Medium.ttf") format("truetype"), url("fonts/SVG/PBSSans-Medium.svg#PBSSans") format("svg");
  font-weight: 600;
  font-style: normal;
}
/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
html {
  font-size: 1rem;
}

body {
  font-family: 'PBSSans', sans-serif;
  margin: 0;
  -webkit-font-smoothing: auto;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden],
template {
  display: none;
}

a {
  background-color: transparent;
  color: #2638C4;
}

a:active,
a:hover {
  color: #050c42;
  outline: 0;
}

dfn {
  font-style: italic;
}

mark {
  background: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 1em 2.5rem;
}

hr {
  box-sizing: content-box;
  height: 0;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
h1, h2, h3, h4, h5, h6 {
  clear: both;
  color: #24292e;
  font-weight: 600;
  margin-top: 1.5rem;
  margin-bottom: 1rem;
}
h1 {
  font-size: 2rem;
}
h2 {
  font-size: 1.5rem;
  line-height: 1.25;
}
h3 {
  font-size: 1.125rem;
  line-height: 1.5;
  margin-bottom: 0.25rem;
}
h4 {
  font-size: 1rem;
  line-height: 1.25;
}
h5 {
  font-size: 14px;
  line-height: 17.5px;
}

p {
  margin-bottom: 1.5em;
}
h1.entry-title {
  font-size: 2.25rem;
}
h2.entry-title {
  border-bottom: 1px solid #eaecef;
}
h3.widget-title {
  font-size: 1rem;
  color: #fff;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
body {
  background: #fff;
  /* Fallback for when there is no custom background color defined. */
}

img {
  height: auto;
  /* Make sure images are scaled correctly. */
  max-width: 100%;
  /* Adhere to container width. */
}

figure {
  margin: 1em 0;
  /* Extra wide images within figure tags don't overflow the content area. */
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

.desktop-only {
  display: none;
}

@media screen and (min-width: 1024px) {
  .desktop-only {
    display: block;
    display: initial;
  }

  .mobile-only {
    display: none;
  }
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
.search-form.mobile-only {
  display: flex;
  padding: 1rem 0;
  justify-content: center;
}

@media screen and (min-width: 1024px) {
  .search-form.desktop-only {
    display: flex;
    align-items: center;
  }
  .search-form.mobile-only {
    display: none;
  }
}

.search-form label {
  margin: 0;
}

body.search #main article {
  margin-bottom: 2rem;
}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/

.btn-primary {
  background-color: #2638C4;
  border-color: #2638C4;
}

.btn-primary:hover {
  background-color: #050c42;
  border-color: #050c42;
}

/* Main Nav - Above Mobile */

@media screen and (min-width: 768px) {

  #menu-main-menu {
    display: flex;
    list-style: none;
    height: 100%;
    margin: 0;
    padding: 0;
  }

  #menu-main-menu li {
    flex: 1;
  }

  #menu-main-menu a {
    border-bottom: 4px solid transparent;
    color: #333;
    height: 100%;
    padding: 0;
    line-height: 1;
    padding: 50px 1rem 0;
    font-weight: 600;
    transition: border-color .2s ease-in-out;
    display: flex;
    justify-content: center;
  }

  #menu-main-menu a:hover,
  #menu-main-menu .current-menu-item a {
    border-bottom-color: #AD2122;
  }

}

#main-nav {
  display: none;
}

#main-nav_mobile {
  background-color: #EEE;
  position: absolute;
  font-weight: 600;
  text-align: right;
  top: 120px;
  left: 0;
  right: 0;
}

#main-nav_mobile ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

#main-nav_mobile a {
  padding: 1rem;
  border-bottom: 1px solid #CCC;
  color: #000;
  position: relative;
  z-index: 100; /* touch target stays above logo, even though logo is visually on top */
}

.navbar-toggler-wrap {
  flex: 1;
}

@media screen and (min-width: 768px) {
  .navbar-toggler-wrap {
    display: none;
  }
}

.navbar-toggler {
  text-transform: uppercase;
  font-size: 1em;
  font-weight: 700;
  float: right;
  margin-top: 45px;
}

.navbar-toggler-icon {
  top: -1px;
  position: relative;
  margin-left: 5px;
}

/* set active section appearance for race and candiate pages */
.tax-race #menu-item-155 a,
.single-candidate #menu-item-155 a {
  border-bottom-color: #AD2122;
}

@media screen and (min-width: 768px) {
  #main-nav {
    display: block;
    height: 100%;
  }
  #main-nav_mobile {
    display: none;
  }
  .navbar-toggler {
    display: none;
  }
}

header#masthead {
  margin-bottom: 0;
  background-color: #FFF ;
  box-shadow: 0 0.5rem 1rem rgba(0,0,0,.05), inset 0 -1px 0 rgba(0,0,0,.1);
  height: 120px;
  padding: 0;
  position: relative;
  z-index: 10;
}

header#masthead .container-fluid {
  height: 120px;
}

@media screen and (max-width: 768px) {
  header#masthead .container-fluid {
    display: flex;
  }
}

@media screen and (min-width: 768px) {
  header#masthead .container-fluid {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    display: flex;
  }

  .logo {
    left: 0;
  }
}

.logo > a {
  color: rgba(0, 0, 0, 0.9);
  font-size: 1.1rem;
  outline: medium none;
  text-decoration: none;
  font-weight: 700;
}

.logo > a:visited, .logo > a:hover {
  text-decoration: none;
}

#page-sub-header {
  position: relative;
  padding-top: 5rem;
  padding-bottom: 0;
  text-align: center;
  font-size: 1.25rem;
  background-size: cover !important;
}

body:not(.theme-preset-active) #page-sub-header h1 {
  line-height: 1.6;
  font-size: 4rem;
  margin: 0 0 1rem;
  border: 0;
  padding: 0;
}

#page-sub-header p {
  margin-bottom: 0;
  line-height: 1.4;
  font-size: 1.25rem;
  font-weight: 300;
}

body:not(.theme-preset-active) #page-sub-header p {
color: #212529;
}

a.page-scroller {
  color: #333;
  font-size: 2.6rem;
  display: inline-block;
  margin-top: 2rem;
}

@media screen and (min-width: 768px) {
  body:not(.theme-preset-active) #page-sub-header h1 {
    font-size: 3.750rem;
  }
  body:not(.theme-preset-active) #page-sub-header {
    font-size: 1.25rem;
  }
}

@media screen and (min-width: 992px) {
  #page-sub-header p {
    max-width: 43rem;
    margin: 0 auto;
  }
}

/* pagination */

.races-pagination-mobile {
  justify-content: space-between;
}

.races-pagination-mobile select {
  width: auto;
  display: inline-block;
}

.page-item.active .page-link {
  background-color: #2638C4;
  border-color: #2638C4;
}

.page-link {
  color: #2638C4;
}

.page-link:hover {
  color: #2638C4;
}

/* Bottom Menu */

#bottom-menu {
  background-color: #e5e5e5;
  padding: 0.5rem 0;
}

#menu-footer-menu {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: 700;
}

#menu-footer-menu li {
  padding: 0 0.5rem;
}

#menu-footer-menu a {
  color: inherit;
}

/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
#masthead nav {
  padding-left: 0;
  padding-right: 0;
}

@media screen and (min-width: 768px) {
  #main-nav-wrapper {
    flex: 1;
  }
}

body:not(.theme-preset-active) #masthead .navbar-nav > li > a {
  color: #cdbfe3;
  padding: 0.5rem;
  font-weight: 500;
  font-size: 0.875rem;
}

body:not(.theme-preset-active) #masthead .navbar-nav > li > a:hover,
body:not(.theme-preset-active) #masthead .navbar-nav > li.current_page_item > a {
  color: #fff;
  font-weight: 600;
}

.logo {
  height: auto;
  top: 0;
}

.navbar-toggle .icon-bar {
  background: #000 none repeat scroll 0 0;
}

.dropdown-menu .dropdown-toggle::after {
  border-bottom: 0.3em solid transparent;
  border-left: 0.3em solid;
  border-top: 0.3em solid transparent;
}

.dropdown.menu-item-has-children .dropdown.menu-item-has-children {
    position: relative;
}

.dropdown.menu-item-has-children .dropdown.menu-item-has-children>.dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -6px;
    margin-left: -1px;
    -webkit-border-radius: 0 6px 6px 6px;
    -moz-border-radius: 0 6px 6px;
    border-radius: 0 6px 6px 6px;
}
.dropdown.menu-item-has-children .dropdown.menu-item-has-children:hover>.dropdown-menu {
    display: block;
}

.dropdown.menu-item-has-children .dropdown.menu-item-has-children>a:after {
    display: block;
    content: " ";
    float: right;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
    border-width: 5px 0 5px 5px;
    border-left-color: #ccc;
    margin-top: 5px;
    margin-right: -10px;
}

.dropdown.menu-item-has-children .dropdown.menu-item-has-children:hover>a:after {
    border-left-color: #fff;
}

.dropdown.menu-item-has-children .dropdown.menu-item-has-children.pull-left {
    float: none;
}

.dropdown.menu-item-has-children .dropdown.menu-item-has-children.pull-left>.dropdown-menu {
    left: -100%;
    margin-left: 10px;
    -webkit-border-radius: 6px 0 6px 6px;
    -moz-border-radius: 6px 0 6px 6px;
    border-radius: 6px 0 6px 6px;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
  display: block;
}

.dropdown-item {
  line-height: 1.2;
  padding-bottom: 0.313rem;
  padding-top: 0.313rem;
}

.dropdown-menu {
  min-width: 12.500rem;
}

.dropdown .open .dropdown-menu {
  display: block;
  left: 12.250em;
  top: 0;
}

.dropdown-menu .dropdown-item {
  white-space: normal;
  background: transparent;
  line-height: 1.6;
}
.dropdown-menu .dropdown-item:hover {
  background: transparent;
}

@media screen and (min-width: 37.5em) {
  .menu-toggle {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .dropdown-menu li > .dropdown-menu {
    right: -9.875rem;
    top: 1.375rem;
  }
}
@media screen and (max-width: 991px) {
  .navbar-nav .dropdown-menu {
    border: medium none;
    margin-left: 1.250rem;
    padding: 0;
  }

  .dropdown-menu li a {
    padding: 0;
  }

  #masthead .navbar-nav > li > a {
    padding-bottom: 0.625rem;
    padding-top: 0.313rem;
  }

  .navbar-light .navbar-toggler {
    outline: none;
  }
}
.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
  margin: 0 0 1.5em;
  overflow: hidden;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
  float: left;
  width: 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  float: right;
  text-align: right;
  width: 50%;
}
.comment-content.card-block {
  padding: 20px;
}

.navigation.post-navigation {
  padding-top: 1.875rem;
}

.post-navigation .nav-previous a,
.post-navigation .nav-next a {
  border: 1px solid #ddd;
  border-radius: 0.938rem;
  display: inline-block;
  padding: 0.313rem 0.875rem;
  text-decoration: none;
}

.post-navigation .nav-next a::after {
  content: " \2192";
}

.post-navigation .nav-previous a::before {
  content: "\2190 ";
}

.post-navigation .nav-previous a:hover,
.post-navigation .nav-next a:hover {
  background: #eee none repeat scroll 0 0;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 0.313rem;
  line-height: normal;
  padding: 0.938rem 1.438rem 0.875rem;
  text-decoration: none;
  top: 0.313rem;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
  outline: 0;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
  float: left;
  margin-right: 1.5em;
}

.alignright {
  float: right;
  margin-left: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

a img.alignright {
  float: right;
  margin: 0.313rem 0 1.25rem 1.25rem;
}

a img.alignnone {
  margin: 0.313rem 1.25rem 1.25rem 0;
}

a img.alignleft {
  float: left;
  margin: 0.313rem 1.25rem 1.25rem 0;
}

a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption.alignnone {
  margin: 0.313rem 1.25rem 1.25rem 0;
}

.wp-caption.alignleft {
  margin: 0.313rem 1.25rem 1.25rem 0;
}

.wp-caption.alignright {
  margin: 0.313rem 0 1.25rem 1.25rem;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
  content: "";
  display: table;
  table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
  clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
  margin: 0 0 1.5em;
  font-size: 0.875rem;
  /* Make sure select elements fit in widgets. */
}
.widget select {
  max-width: 100%;
}

.nav > li > a:focus,
.nav > li > a:hover {
  background-color: #eee;
  text-decoration: none;
}
.half-rule {
  width: 6rem;
  margin: 2.5rem 0;
}
.widget_categories .nav-link {
  display: inline-block;
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.logo {
	position: relative;
  z-index: 10;
  margin-right: 20px;
}
.site-title {
	background-image: url('images/button.png');
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	display: block;
	height: 160px;
	text-indent: 100%;
	overflow: hidden;
	white-space: nowrap;
	width: 160px;
}


/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
body.home #content.site-content {
  padding-top: 0;
}

.homepage-section {
  padding: 2rem 0;
}

.intro-highlight {
  color: #48D3CD;
  text-align: center;
}

.top-line {
  margin-bottom: 1.75rem;
}

.top-line a {
  color: inherit;
  text-decoration: underline;
}

.top-line a:hover,
.top-line a:focus {
  color: #FFF;
}

#section__intro {
  background-color: #2638C4;
  color: #fff;
  padding-top: 3rem;
  padding-bottom: 3rem;
}

#section__intro .ctas {
  margin-top: 2rem;
}

@media screen and (min-width: 992px) {
  #section__intro .ctas {
    margin-top: 0;
  }
}

#section__intro a.cta {
  background-color: #0A145A;
  border-color:  #48D3CD !important;
  color: #48D3CD;
  display: flex;
  align-items: center;
  padding: 1rem;
}

a.cta.middle {
  border-top: 1px solid;
  border-bottom: 1px solid;
}

@media screen and (min-width: 992px) {
  a.cta.middle {
    border-top: 0;
    border-bottom: 0;
  }  
}

@media screen and (min-width: 992px) {
  #section__intro a.cta {
    flex-direction: column;
    text-align: center;
  }
}

#section__intro a.cta svg {
  width: 40px;
  height: 40px;
  margin-right: 2rem;
}

@media screen and (min-width: 992px) {
  #section__intro a.cta svg {
    width: 80px;
    height: 80px;
    margin-right: 0;
    margin-bottom: 1rem;
  }

  svg#icon-profile {
    padding: 6px;
  }
}

#section__intro a.cta span {
  flex: 1;
  font-weight: bold;
}

@media screen and (min-width: 992px) {
  #section__intro a.cta span {
    margin-bottom: 1rem;
  }
}

#section__intro a.cta i.fas {
  color: #FE704E;
  font-size: 2rem;
}

#section__intro a.cta:hover,
#section__intro a.cta:focus {
  border-color: #48D3CD;
  color: #FFF;
  text-decoration: none;
}

#pbswi-logo {
  width: 46%;
}

#wpr-logo {
width: 34%;
}

#section__candidates-races {
  background-color: #f0f0f0;
}

.candidate-name {
  margin-bottom: 0.25rem;
  padding-bottom: 0;
}

.candidate-photo {
  max-width: 200px;
  width: 100%;
}

#news .btn .fa-external-link-alt {
  position: relative;
  top: -4px;
  font-size: 0.6875rem;
  opacity: 0.5;
}

.attribution p {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.btn-primary .fa-angle-right {
  opacity: 0.5;
  padding-left: 4px;
  position: relative;
  top: 1px;
}

#section__voter-faq {
  background-color: #fff;
}

.homepage-section h2 {
  color: #333;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
}
.homepage-section h2 a {
  color: inherit;
}

#question {
  background-image: url("/wp-content/uploads/2020/07/voter-faq.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  color: #2638C4;
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1.35;
  padding: 5rem 1rem 5rem;
  text-align: center;
  margin-bottom: 1rem;
}

.col > h3 {
  margin-top: 0;
}

.single-news_item .entry-title {
  text-align: center;
}

.single-news_item .entry-meta {
  text-align: center;
}

.news-item-date {
  color: #666;
  font-size: 0.875rem;
  font-weight: 600;
}

.video_code {
  position: relative;
  padding-bottom: 56.25%;
  margin-bottom: 1rem;
}

.video_title {
  display: none;
}

iframe#partnerPlayer,
#candidate-statement iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.candidate-image {
  position: relative;
}

.incumbent {
  background-color: #555;
  color: #FFF;
  padding: 0.25rem 0.75rem;
  position: absolute;
  bottom: 0;
  left: 0;
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 500;
}

.related-websites ul {
  margin-left: 1rem;
  padding-left: 0;
}

.related-websites li {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.edu-resource {
  margin-bottom: 1rem;
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .edu-resource {
    width: 49%;
  }
  .edu-resource:nth-child(odd) {
    margin-right: 2%;
  }  
}

@media screen and (min-width: 992px) {
  .edu-resource {
    width: 32.33%;
    margin-right: 1.5%;
    margin-bottom: 1.5%;
  }
  .edu-resource:nth-child(3n) {
    margin-right: 0;
  }
}

#faq-nav {
  display: none;
}

#faq-nav .nav-link {
  color: #2638C4;
}

#faq-nav .nav-link:hover,
#faq-nav .nav-link:focus {
  background-color: #DFDFDF;
}

#faq-nav .nav-link.active {
  background-color: #2638C4;
  border: none;
  color: #FFF;
}

@media screen and (min-width: 768px) {
  #faq-select {
    display: none;
  }
  #faq-nav {
    display: block;
  }
}

/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
#content.site-content {
  background-color: #f7f7f7;
  padding-bottom: 3.5rem;
  padding-top: 2.5rem;
}

.sticky .entry-title::before {
  content: '\f08d';
  font-family: "Font Awesome\ 5 Free";
  font-size: 1.563rem;
  left: -2.5rem;
  position: absolute;
  top: 0.375rem;
  font-weight: 900;
}

.sticky .entry-title {
  position: relative;
}

.single .byline,
.group-blog .byline {
  display: inline;
}

.page-content,
.entry-content,
.entry-summary {
  margin: 1.5em 0 0;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

.page-template-blank-page .entry-content,
.blank-page-with-container .entry-content {
  margin-top: 0;
}

.post.hentry {
  margin-bottom: 4rem;
}

.posted-on, .byline, .comments-link {
  color: #9a9a9a;
}

.entry-title > a {
  color: inherit;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  /* Theme Footer (when set to scrolling) */
  display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
  display: block;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
  background: #f1f1f1 none repeat scroll 0 0;
  border: 1px solid #f0f0f0;
  max-width: 96%;
  padding: 0.313rem 0.313rem 0;
  text-align: center;
}
.wp-caption img[class*="wp-image-"] {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 100%;
  padding: 0;
  width: auto;
}
.wp-caption .wp-caption-text {
  font-size: 0.688rem;
  line-height: 1.063rem;
  margin: 0;
  padding: 0.625rem;
}

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

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
  margin-bottom: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%;
}
.gallery-item .gallery-columns-2 {
  max-width: 50%;
}
.gallery-item .gallery-columns-3 {
  max-width: 33.33333%;
}
.gallery-item .gallery-columns-4 {
  max-width: 25%;
}
.gallery-item .gallery-columns-5 {
  max-width: 20%;
}
.gallery-item .gallery-columns-6 {
  max-width: 16.66667%;
}
.gallery-item .gallery-columns-7 {
  max-width: 14.28571%;
}
.gallery-item .gallery-columns-8 {
  max-width: 12.5%;
}
.gallery-item .gallery-columns-9 {
  max-width: 11.11111%;
}

.gallery-caption {
  display: block;
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
footer#colophon {
  font-size: 85%;
}

body:not(.theme-preset-active) footer#colophon {
  color: #99979c;
  background-color: #ffffff;
}
.navbar-dark .site-info {
  color: #fff;
}

#footer-widget {
  background-color: #666;
  color: #fff;
}

#footer-widget a {
  color: inherit;
}

#page-bottom {
  text-align: center;
  background-color: #050c42;
  color: #bbb;
  font-size: 0.75rem;
  padding-top: 1rem;
  padding-bottom: 0.5rem;
}

#page-bottom a {
  color: inherit;
  font-weight: 700;
}

#page-bottom p {
  margin-bottom: 0.5rem;
}

@media screen and (max-width: 767px) {
  #masthead .navbar-nav > li > a {
    padding-bottom: 0.938rem;
    padding-top: 0.938rem;
  }
}
/*--------------------------------------------------------------
## Notebook
--------------------------------------------------------------*/

@media screen and (max-width: 1199px) {
  .navbar-dark .dropdown-item {
    color: #fff;
  }
  .navbar-nav .dropdown-menu {
    background: transparent;
    box-shadow: none;
    border: none;
  }
}

/*--------------------------------------------------------------
## Election Results 2020
--------------------------------------------------------------*/

#electionTabContent {
  background-color: #FFF;
  border-left: 1px solid #dee2e6;
  border-right: 1px solid #dee2e6;
  border-bottom: 1px solid #dee2e6;
  border-top: 1px solid #dee2e6;
}

@media screen and (min-width: 1024px) {
  #electionTabContent {
    border-top: none;
  }
}

#election-results-select {
  margin-bottom: 1rem;
}

