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

button,
header,
section,
footer,
nav,
li,
div,
html,
body {
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin: 0;
    padding: 0;
    -ms-flex-align: stretch;
    align-items: stretch;
}
html, body, #root {
    height: 100%;
}

.main-body {
    padding: 2em;
    min-height: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    overflow-y: scroll;
}

.main-box.no-active-session {
    min-width: 300px;
    text-align: center;
}

.main-box.active-session {
    min-width: 300px;
    width: 70%;
}

.voting-components .vote-header {
    text-align: center;
    margin: 0.5em;
}
.voting-components > div {
    margin: 1em 0 0;
}
.vote-header .right {
    -ms-flex-pack: end;
    justify-content: flex-end;
}
.vote-header .center {
    -ms-flex-pack: center;
    justify-content: center;
}

.vote-header .right span, .vote-header .center span {
    margin-left: 0.3em;
}

.vote-header {
    -ms-flex-direction: row;
    flex-direction: row;
    font-size: 2em;
}

.code-header {
    -ms-flex-direction: column;
    flex-direction: column;
}

.code-header h1 {
    text-align: center;
}

@media screen and (max-width: 800px) {
    .vote-header { -ms-flex-direction: column; flex-direction: column; }
    .vote-header > div, .vote-header .right { -ms-flex-pack: center; justify-content: center; }
}

.vote-header > div {
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex: 1;
    flex: 1;
}

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

.candidate .status {
    padding-left: 0.5em;
    color: #fff;
    -ms-flex-pack: center;
    justify-content: center;

    -ms-flex: 1 1 1em;

    flex: 1 1 1em;
}

.candidate .name {
    text-align: center;
    -ms-flex: 2 1 1em;
    flex: 2 1 1em;
    padding: 0.8em 0;
}

.candidate .filler {
    -ms-flex: 1 1 1em;
    flex: 1 1 1em;
}

.candidate.active {
    background: #ab7dad;
}

.candidate.active:hover {
    background: #a371a5;
}

.candidate {
    color: #ecf0f1;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-align: center;
    align-items: center;
    padding: 0.3em;
    font-size: 1.5em;
    margin: 0.5em;
    cursor: pointer;
    background: #a6a6a6;
    box-shadow: 2px 2px 3px #888;

    transition: background 0.2s ease-out;

    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}
.candidate:hover {
     background: #9c9c9c;
}

.candidate.disabled {
    background: #757575;
}

.button.large {
    margin: 0.5em;
    padding: 1em;
    font-size: 2em;
}

.button.small {
    margin: 1em;
}

.button {
    padding: 0.2em;
    color: #fff;
    background: #99619C;
    text-align: center;
    box-shadow: 2px 2px 3px #888;
    cursor: pointer;

    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

.button.red {
    background: #D32F2F;
}

.button:hover {
    background: #8d5990;
}
.button.red:hover {
    background: #C62828;
}

.button:active {
    background: #754a78;
    box-shadow: 0 0 3px #888;
}

.button.red:active {
    background: #B71C1C;
}

.multi-input {
    -ms-flex-direction: row;
    flex-direction: row;
    margin: 0.5em;
    font-size: 2em;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
}
.multi-input input {
    font-family: monospace;
    padding: 0.3em 0;
    font-size: 1em;
    text-align: center;
}
.multi-input .dash {
    line-height: 2em;
    text-align: center;

    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

.form-group {
    margin: 0.5em 0;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-align: center;
    align-items: center;
}
.winners h1 {
    text-align: center;
    margin-bottom: 0;
}
.winners h5 {
    text-align: center;
    margin-top: 0;
}
.winners ul {
    list-style-type: none;
    padding: 0;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-direction: row;
    flex-direction: row;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
}
.winners li {
    text-align: center;
    font-size: 2em;
    margin: 1em;
    padding: 1em;
    background: #4CAF50;
    color: #fff;
    -ms-flex-preferred-size: 300px;
    flex-basis: 300px;
}

.form-group input, .form-group label {
    -ms-flex: 1;
    flex: 1;
    font-size: 1.3em;
}

.options .form-group {
    margin: 1em 0;
}
.options .form-group .button {
    width: 30px;
    height: 30px;
}

body {
    font-family: 'EB Garamond', serif;
    background: #ecf0f1;
    color: #2c3e50;
}

.dist {
    margin-top: 1em;
}

h1 {
    color: #2c3e50;
}

.danger {
    color: #e74c3c;
}

.success {
    color: #4CAF50;
}

.errors {
    list-style-type: none;
    padding: 0;
    margin: 3em 2em 0;
}

.errors li {
    text-align: center;
    padding: 1em;
    background: #e74c3c;
    color: #fff;
}

.vote-summary .header {
    background: #ab7dad;
    padding: 0 1em;
}

.vote-summary .header h1 {
    color: #fff;
}

.vote-summary .body {
    padding: 1em;
}

.voting-components .vote-summary {
    margin: 0.5em;
    background: #fff;
    color: #000;
    border: 4px solid #ab7dad;
    border-top: 0;
}

.summary-result-wrapper {
    margin: 1em 1em;
}

.summary-result-candidate {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
}

.summary-result-candidate span {
  margin-left: 1em;
}

.summary-result-winner {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
}

.summary-result-winner span {
  margin-left: 1em;
}

.summary-result-winner-container {
  margin-top: 2em;
}

.raw-results-wrapper {
    margin-top: 1em;
}

.name {
    font-family: Roboto, sans-serif;
}

.raw-results-explaination {
    margin-bottom: 1em;
}

/*# sourceMappingURL=style.css.map */
