/* vietnamese */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/static/fonts/jizDREVItHgc8qDIbSTKq4XkRiUQ2zcLig.woff2?aec45469d843) format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }

/* latin-ext */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/static/fonts/jizDREVItHgc8qDIbSTKq4XkRiUR2zcLig.woff2?aec45469d843) format("woff2");
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* latin */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/static/fonts/jizDREVItHgc8qDIbSTKq4XkRiUf2zc.woff2?aec45469d843) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* vietnamese */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/static/fonts/jizDREVItHgc8qDIbSTKq4XkRiUQ2zcLig.woff2?aec45469d843) format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }

/* latin-ext */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/static/fonts/jizDREVItHgc8qDIbSTKq4XkRiUR2zcLig.woff2?aec45469d843) format("woff2");
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* latin */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/static/fonts/jizDREVItHgc8qDIbSTKq4XkRiUf2zc.woff2?aec45469d843) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* line 1, polls/static/css/_base.scss */
* {
  font-family: 'Libre Franklin', sans-serif;
  line-height: 1.5em; }

/* line 6, polls/static/css/_base.scss */
h1, h2, h3, h4 {
  margin: 1.5em 0 0.25em; }

/* line 10, polls/static/css/_base.scss */
p {
  margin: 0 0 1em; }

/* line 14, polls/static/css/_base.scss */
a {
  color: inherit; }

/* line 18, polls/static/css/_base.scss */
th {
  text-align: left;
  padding: 0 0.8em 0 0; }

/* line 23, polls/static/css/_base.scss */
.noscroll {
  overflow: hidden; }

/* line 1, polls/static/css/_layout.scss */
.page {
  width: 90%;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  background-color: white;
  padding: 1em; }

/* line 10, polls/static/css/_layout.scss */
.header {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  background-color: white;
  padding: 0.5em;
  z-index: 1; }
  /* line 19, polls/static/css/_layout.scss */
  .header .header--user {
    text-align: right;
    font-size: 0.8em; }
    /* line 23, polls/static/css/_layout.scss */
    .header .header--user em {
      font-weight: bold;
      font-style: normal; }

/* line 30, polls/static/css/_layout.scss */
.footer {
  margin-top: 2em;
  text-align: center; }

/* line 1, polls/static/css/_messages.scss */
.message {
  margin-top: 30px; }
  /* line 4, polls/static/css/_messages.scss */
  .message .alert {
    background: #bbccdd;
    padding: 10px;
    border-radius: 10px; }
  /* line 10, polls/static/css/_messages.scss */
  .message .close {
    float: right;
    font-weight: bold; }

/* line 1, polls/static/css/_forms.scss */
.input-field {
  display: block;
  margin: 0.5em 0 1.5em; }
  /* line 5, polls/static/css/_forms.scss */
  .input-field * {
    margin: 0; }
  /* line 9, polls/static/css/_forms.scss */
  .input-field input {
    display: block;
    border: 1px solid #888;
    border-radius: 0.3em;
    padding: 0.6em;
    margin: 0.3em 0;
    width: 90%;
    font-size: 1.1em; }
    /* line 18, polls/static/css/_forms.scss */
    .input-field input[disabled] {
      color: #888;
      border-color: #eee; }

/* line 25, polls/static/css/_forms.scss */
.form-submit-info {
  font-size: 0.8em; }
  /* line 28, polls/static/css/_forms.scss */
  .form-submit-info em {
    font-weight: bold;
    font-style: normal; }

/* line 34, polls/static/css/_forms.scss */
.submit-button {
  display: block;
  padding: 1.3em;
  border-radius: 0.6em;
  border-width: 0;
  background-color: #ccc;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  color: black; }
  /* line 13, polls/static/css/_mixins.scss */
  .submit-button.disabled {
    background-color: #eee;
    color: #888;
    font-weight: normal; }

/* line 1, polls/static/css/_context.scss */
.poll-list {
  margin: 0;
  padding: 0; }

/* line 6, polls/static/css/_context.scss */
.poll-list-item {
  list-style-type: none;
  margin: 1em 0 3em; }
  /* line 10, polls/static/css/_context.scss */
  .poll-list-item h3, .poll-list-item div {
    padding: 0 10px; }
  /* line 14, polls/static/css/_context.scss */
  .poll-list-item div {
    font-size: 0.9em;
    margin: 0.8em 0; }
  /* line 19, polls/static/css/_context.scss */
  .poll-list-item .button {
    margin: 0.5em 0;
    display: block;
    padding: 1.3em;
    border-radius: 0.6em;
    border-width: 0;
    background-color: #ccc;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    color: black; }
    /* line 13, polls/static/css/_mixins.scss */
    .poll-list-item .button.disabled {
      background-color: #eee;
      color: #888;
      font-weight: normal; }

/* line 25, polls/static/css/_context.scss */
.poll-list-item--status {
  color: #888; }

/* line 1, polls/static/css/_candidate.scss */
.candidate-list {
  border-top: 1px solid #888;
  margin: 1em 0;
  padding: 0; }

/* line 7, polls/static/css/_candidate.scss */
.candidate-list-item {
  list-style-type: none;
  margin: 0;
  border-bottom: 1px solid #888; }
  /* line 12, polls/static/css/_candidate.scss */
  .candidate-list-item .candidate-link {
    display: flex;
    text-decoration: none;
    color: black; }
  /* line 19, polls/static/css/_candidate.scss */
  .candidate-list-item:hover a {
    color: #888; }
  /* line 24, polls/static/css/_candidate.scss */
  .candidate-list-item .candidate-list-item--image {
    width: 80px;
    height: 80px;
    flex-shrink: 0;
    margin-right: 1em;
    background-color: #eee; }
    /* line 31, polls/static/css/_candidate.scss */
    .candidate-list-item .candidate-list-item--image img {
      width: 100%;
      height: 100%; }
      /* line 35, polls/static/css/_candidate.scss */
      .candidate-list-item .candidate-list-item--image img.candidate-no-image {
        opacity: 0.05; }
  /* line 41, polls/static/css/_candidate.scss */
  .candidate-list-item .candidate-list-item--label {
    display: flex;
    align-items: center; }
    /* line 45, polls/static/css/_candidate.scss */
    .candidate-list-item .candidate-list-item--label h3 {
      margin: 0 1.5em 0 0.5em; }

/* line 52, polls/static/css/_candidate.scss */
.candidate-details--image img {
  max-width: 100%;
  height: auto; }

/* line 59, polls/static/css/_candidate.scss */
.candidate-details--info dt {
  font-weight: bold;
  margin: 1.5em 0 0.2em; }

/* line 64, polls/static/css/_candidate.scss */
.candidate-details--info dd {
  margin: 0; }

/* line 69, polls/static/css/_candidate.scss */
.candidate-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999;
  background-color: white;
  overflow-y: scroll; }

/* line 80, polls/static/css/_candidate.scss */
.candidate-modal--content {
  padding: 3.5em 0 6em;
  margin-left: auto;
  margin-right: auto;
  max-width: 640px; }
  /* line 86, polls/static/css/_candidate.scss */
  .candidate-modal--content .candidate-details--info {
    padding: 0 1em; }

/* line 91, polls/static/css/_candidate.scss */
.candidate-modal--loading {
  position: fixed;
  top: 40%;
  left: 0;
  right: 0;
  text-align: center;
  font-style: italic; }

/* line 100, polls/static/css/_candidate.scss */
.candidate-modal--close {
  position: fixed;
  bottom: 2em;
  left: 50%;
  display: block;
  width: 1em;
  height: 1em;
  margin-left: -1em;
  text-align: center;
  padding: 1em;
  box-shadow: 0 0.3em 0.5em rgba(0, 0, 0, 0.2);
  border-radius: 2em;
  background-color: white; }

/* line 115, polls/static/css/_candidate.scss */
.candidate-modal--header {
  display: flex;
  box-shadow: 0 0.3em 0.5em rgba(0, 0, 0, 0.1);
  background-color: white;
  position: fixed;
  top: 0;
  left: 0;
  right: 0; }
  /* line 124, polls/static/css/_candidate.scss */
  .candidate-modal--header .candidate-modal--prev,
  .candidate-modal--header .candidate-modal--next {
    width: 18%;
    font-size: 1.4em; }
    /* line 130, polls/static/css/_candidate.scss */
    .candidate-modal--header .candidate-modal--prev button,
    .candidate-modal--header .candidate-modal--next button {
      width: 100%;
      height: 100%;
      border-width: 0;
      background-color: white;
      cursor: pointer;
      font-size: inherit; }
  /* line 140, polls/static/css/_candidate.scss */
  .candidate-modal--header .candidate-modal--select {
    width: 64%;
    padding: 1em 0.5em;
    font-size: 1.1em; }
    /* line 145, polls/static/css/_candidate.scss */
    .candidate-modal--header .candidate-modal--select select {
      width: 100%;
      font-size: inherit; }

/* line 1, polls/static/css/_ballot.scss */
.poll {
  margin: 3em 0 6em; }

/* line 5, polls/static/css/_ballot.scss */
.poll-options {
  padding: 0;
  margin: 1em 0 2em 0.5em; }

/* line 10, polls/static/css/_ballot.scss */
.poll-option {
  list-style-type: none;
  margin: 0;
  padding: 0.4em 0; }
  /* line 15, polls/static/css/_ballot.scss */
  .poll-option .poll-option--label {
    transition: opacity 0.25s; }
  /* line 19, polls/static/css/_ballot.scss */
  .poll-option .candidate-link {
    float: right;
    text-decoration: none; }
  /* line 25, polls/static/css/_ballot.scss */
  .poll-option.disabled .poll-option--number,
  .poll-option.disabled .poll-option--label {
    opacity: 0.2; }

/* line 32, polls/static/css/_ballot.scss */
.poll-meta {
  position: fixed;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 999;
  display: flex;
  background-color: white;
  box-shadow: 0 0 0.5em rgba(0, 0, 0, 0.1); }

/* line 45, polls/static/css/_ballot.scss */
.poll-suggestion-shortcut {
  background-color: #f8f8f8;
  color: #888;
  font-size: 0.8em;
  margin: 2em 0 0;
  padding: 0.5em;
  transition: opacity 0.2s; }
  /* line 53, polls/static/css/_ballot.scss */
  .poll-suggestion-shortcut .poll-suggestion-shortcut--button {
    display: block;
    padding: 1.3em;
    border-radius: 0.6em;
    border-width: 0;
    background-color: #ccc;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    color: black; }
    /* line 13, polls/static/css/_mixins.scss */
    .poll-suggestion-shortcut .poll-suggestion-shortcut--button.disabled {
      background-color: #eee;
      color: #888;
      font-weight: normal; }
  /* line 57, polls/static/css/_ballot.scss */
  .poll-suggestion-shortcut .poll-suggestion-shortcut--done {
    display: block;
    padding: 1.3em;
    border-radius: 0.6em;
    border-width: 0;
    background-color: #ccc;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    color: black;
    display: none;
    color: #888;
    background-color: #eee; }
    /* line 13, polls/static/css/_mixins.scss */
    .poll-suggestion-shortcut .poll-suggestion-shortcut--done.disabled {
      background-color: #eee;
      color: #888;
      font-weight: normal; }
  /* line 65, polls/static/css/_ballot.scss */
  .poll-suggestion-shortcut.used .poll-suggestion-shortcut--button {
    display: none; }
  /* line 69, polls/static/css/_ballot.scss */
  .poll-suggestion-shortcut.used .poll-suggestion-shortcut--done {
    display: block; }

/* line 75, polls/static/css/_ballot.scss */
.poll-status {
  width: 36%;
  padding: 1em 2%;
  font-size: 1.5em;
  text-align: center; }

/* line 82, polls/static/css/_ballot.scss */
.poll-submit {
  width: 56%;
  padding: 2%; }
  /* line 86, polls/static/css/_ballot.scss */
  .poll-submit input {
    display: block;
    padding: 1.3em;
    border-radius: 0.6em;
    border-width: 0;
    background-color: #ccc;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    color: black;
    font-size: 1.1em;
    width: 100%; }
    /* line 13, polls/static/css/_mixins.scss */
    .poll-submit input.disabled {
      background-color: #eee;
      color: #888;
      font-weight: normal; }

/* line 1, polls/static/css/_tally.scss */
.tally-ballot {
  margin: 2em 0.5em;
  padding: 1em;
  background-color: white;
  box-shadow: 0 0 1em rgba(0, 0, 0, 0.1); }
  /* line 7, polls/static/css/_tally.scss */
  .tally-ballot h2 {
    margin: 0 0 1em; }

/* line 12, polls/static/css/_tally.scss */
.tally-ballot--controls {
  display: flex;
  margin: 0 0 2em;
  padding: 0; }
  /* line 17, polls/static/css/_tally.scss */
  .tally-ballot--controls .tally-ballot--prev,
  .tally-ballot--controls .tally-ballot--next {
    list-style-type: none;
    margin: 0;
    padding: 0;
    width: 50%; }
  /* line 25, polls/static/css/_tally.scss */
  .tally-ballot--controls .tally-ballot--prev {
    text-align: left; }
  /* line 29, polls/static/css/_tally.scss */
  .tally-ballot--controls .tally-ballot--next {
    text-align: right; }

/* line 2, polls/static/css/_voter-info.scss */
.voter-info label {
  display: block;
  margin: 1em 0; }

/* line 1, polls/static/css/_footer.scss */
.footer-logo img {
  width: 150px; }

@media print {
  @page {
    size: landscape;
    margin: 2.5em 0;
    padding: 0; }
  /* line 8, polls/static/css/_print.scss */
  .page {
    columns: 3;
    column-gap: 2em;
    max-width: none; }
  /* line 14, polls/static/css/_print.scss */
  .header, .footer {
    display: none; }
  /* line 19, polls/static/css/_print.scss */
  .candidates-printout .candidate-details {
    clear: both;
    border-top: 4px solid black;
    padding-top: 1em;
    margin-bottom: 2em;
    font-size: 0.8em; }
    /* line 27, polls/static/css/_print.scss */
    .candidates-printout .candidate-details .candidate-details--header {
      page-break-inside: avoid;
      page-break-after: avoid; }
    /* line 32, polls/static/css/_print.scss */
    .candidates-printout .candidate-details .candidate-details--info {
      page-break-before: avoid;
      page-break-inside: always; }
    /* line 37, polls/static/css/_print.scss */
    .candidates-printout .candidate-details h3 {
      font-size: 1.5em;
      margin: 0 0 0.5em;
      page-break-after: avoid; }
    /* line 43, polls/static/css/_print.scss */
    .candidates-printout .candidate-details h4 {
      margin-top: 1em; }
    /* line 47, polls/static/css/_print.scss */
    .candidates-printout .candidate-details p {
      margin-bottom: 0.5em; } }
