/* Search form */
.newspack-electionkit .address-form {
  background: #eee;
  padding: 1em 1.5em 1.5em;
  margin-bottom: 16px; }

.newspack-electionkit .address-form label {
  display: block;
  font-size: 90%;
  margin-bottom: 0.5em; }

.newspack-electionkit .address-form #ek-address {
  flex-grow: 1;
  width: 100%; }

.newspack-electionkit .address-form input[type='submit'] {
  margin: 0.25em 0 0;
  width: 100%; }

@media (min-width: 400px) {
  .newspack-electionkit .address-form span {
    display: flex;
    justify-content: space-between; }
  .newspack-electionkit .address-form input[type='submit'] {
    width: auto;
    margin: 0 0 0 0.5em; } }

/* Sample ballot */
.newspack-electionkit .sample-ballot {
  margin-top: 2rem; }

.newspack-electionkit .race-name {
  color: #515151;
  font-size: 1rem; }

.newspack-electionkit .race-name em {
  font-style: normal;
  font-size: 70%; }

.newspack-electionkit .district {
  border-top: 1px solid #ccc;
  padding: 0.5em 0 1em; }

.newspack-electionkit .district-type {
  font-weight: bold;
  font-size: 1.25rem;
  margin-bottom: 16px; }

/* Candidates */
.newspack-electionkit .candidates {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

.newspack-electionkit .candidate {
  display: flex;
  font-size: 80%;
  margin-bottom: 24px;
  width: 100%; }

@media (min-width: 782px) {
  .newspack-electionkit .candidate {
    min-width: 350px;
    width: calc( 50% - 2rem); } }

.newspack-electionkit .candidate-image {
  flex-shrink: 0;
  height: 80px;
  margin-right: 16px;
  width: 80px; }

.candidate-content {
  display: flex;
  flex-direction: column;
  justify-content: center; }

.newspack-electionkit .candidate-name {
  margin: 0; }

.newspack-electionkit .candidate-name em {
  background: #eee;
  border-radius: 5px;
  display: inline-block;
  font-size: 70%;
  font-style: normal;
  padding: 2px 6px; }

.newspack-electionkit .candidate-party {
  color: #515151; }

.newspack-electionkit .social a {
  display: inline-block;
  margin-right: 0.25em;
  text-decoration: none; }

.newspack-electionkit .social a:hover {
  opacity: 0.8; }

.newspack-electionkit .icon-facebook,
.newspack-electionkit .icon-facebook:hover,
.newspack-electionkit .icon-facebook:visited {
  color: #4267b2; }

.newspack-electionkit .icon-twitter,
.newspack-electionkit .icon-twitter:hover,
.newspack-electionkit .icon-twitter:visited {
  color: #1da1f2; }

.newspack-electionkit .candidate svg {
  height: 20px;
  width: 20px; }

/* Spinner */
.newspack-electionkit .spinner {
  display: none; }

.newspack-electionkit .spinner.is-active {
  align-items: center;
  display: flex;
  height: 100px;
  justify-content: center; }

/* Credit */
.newspack-electionkit .ek-credit {
  font-size: 0.8em; }

/* Error */
.newspack-electionkit .ek-error {
  color: red;
  display: none; }

.newspack-electionkit .ek-error.is-active {
  display: block; }

