a.spark-poll-option {
    display: block;
    text-align: center;
    padding: 1rem;
    margin: 0.25rem auto;
    width: 80%;
    font-weight: bold;
    cursor: pointer;
}

/* Unopened CSS Modal */
.spark_modal {
    display: flex;
    position: fixed;
    left: 0;
    top: -100%;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    opacity: 0;
    -webkit-transition: top 0s .5s, opacity .5s 0s;
    transition: top 0s .5s, opacity .5s 0s;
    z-index: 999;
}

/* Opened CSS Modal */
.spark_modal:target {
    top: 0;
    opacity: 1;
    -webkit-transition: none;
    transition: none;
}

.spark_modal_content {
    width: 95%;
    max-width: 800px;
    position: relative;
    padding: 1.5em;
    opacity: 0;
    background-color: white;
    -webkit-transition: opacity .5s;
    transition: opacity .5s;
    z-index: 1001;
}

/* CSS Modal content when opened */
.spark_modal:target .spark_modal_content {
    opacity: 1;
}

/* style for small x link inside dialog modal */
.spark_modal .spark_modal_close {
    text-decoration: none;
    position: absolute;
    font-size: 20px;
    cursor: pointer;
    right: -1rem;
    top: -1rem;
    background-color: #DC2366;
    color: white;
    border-radius: 50%;
    width: 2rem;
    height: 2rem;
    line-height: 1.75;
    text-align: center;
}

/* veil that covers page when CSS Modal is open */
.spark_modal .veil {
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    position: fixed;
    background-color: rgba(0,0,0,.7);
    content: "";
    cursor: pointer;
    visibility: hidden;
    -webkit-transition: all .5s;
    transition: all .5s;
    z-index: 1000;
}

/* big "x" at the upper right corner inside veil */
.spark_modal .veil::before, .spark_modal .veil::after {
    content: "";
    display: block;
    position: fixed;
    width: 50px;
    height: 6;
    background: white;
    cursor: pointer;
    text-indent: -1000px;
    z-index: 10;
    top: 30px;
    right: 5px;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    -webkit-transition: all .5s;
    transition: all .5s;
}

/* veil style when CSS Modal is open */
.spark_modal:target .veil {
    visibility: visible;
}

/* animate veil "x"  when CSS Modal is open */
.spark_modal:target .veil::before, .spark_modal:target .veil::after {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.spark_modal:target .veil::after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
    
div.spark-poll-results-option-bar {
    background-color: black;
    color: white;
}

@media only screen and (max-width: 639px) {
    .spark-poll-results-outer-wrapper-large {display: none;}
    
    .spark-poll-results-option-wrapper {position: relative; margin-bottom: 0.5rem;}
    .spark-poll-results-option-label-wrapper {display: flex; min-height: 2.5rem;}
    .spark-poll-results-option-label {flex-grow: 1; padding: 0.5rem;}
    .spark-poll-results-option-value {text-align: right; padding: 0.5rem;}
    .spark-poll-results-option-bar {position: absolute; left: 0; top: 0; height: 100%; z-index: -1;}
}

@media only screen and (max-width: 800px) {
    .spark_modal {
        left: 0;
        width: 100%;
    }
}

@media only screen and (min-width: 640px) {
    div.spark-poll-options-wrapper.spark-poll-options-horizontal {
        display: flex;
        align-items: stretch;
    }
    
    div.spark-poll-options-horizontal a.spark-poll-option {
        display: flex;
        flex: 1;
        align-items: center;
        width: auto;
        margin: 0.25rem;
    }
    
    .spark-poll-results-outer-wrapper-small {display: none;}
    
    div.spark-poll-results-wrapper {
        display: flex;
        align-items: flex-end;
    }
    
    div.spark-poll-results-labels-wrapper {
        display: flex;
        align-items: flex-start;
    }
    
    div.spark-poll-results-option-wrapper, div.spark-poll-results-option-label {
        flex: 1;
        text-align: center;
        align-items: center;
        padding: 0.25rem;
        margin: 0.25rem;
    }
}

/* NBCF-specific colours etc */

a.spark-poll-option {position: relative; width: 80%; background-color: #DE1C65; color: white; border-radius: 5px; border: 3px solid transparent;}
a.spark-poll-option:hover, a.spark-poll-option:focus {width: 85%; padding-left: 3rem; padding-right: 3rem; background-color: #1B3556; color: white;}
div.spark-poll-options-horizontal a.spark-poll-option {width: auto;}
div.spark-poll-options-horizontal a.spark-poll-option:hover, div.spark-poll-options-horizontal a.spark-poll-option:focus {background-color: #ABF2EC; color: #1B3556; border: 3px solid #1B3556;}
div.spark-poll-options-vertical a.spark-poll-option:hover::before, div.spark-poll-options-vertical a.spark-poll-option:focus::before {display: block; position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); content: "✓"; color: #DE1C65; font-size: 2rem;}

div.spark-poll-results-option-bar {border-radius: 5px;}
span.spark-poll-results-option-value {font-weight: bold; display: inline-block;}

div.spark-poll-results-option-bar {background-color: #F8CACA;}

@media only screen and (min-width: 640px) {
    div.spark-poll-results-option-wrapper:nth-child(1) div.spark-poll-results-option-bar {background-color: #1B3556;}
    div.spark-poll-results-option-wrapper:nth-child(2) div.spark-poll-results-option-bar {background-color: #DE1C65;}
    div.spark-poll-results-option-wrapper:nth-child(3) div.spark-poll-results-option-bar {background-color: #A5DBDB;}
    div.spark-poll-results-option-wrapper:nth-child(4) div.spark-poll-results-option-bar {background-color: #F8CACA;}
    div.spark-poll-results-option-wrapper:nth-child(5) div.spark-poll-results-option-bar {background-color: #FCAE1A;}
    span.spark-poll-results-option-value {font-size: 2rem; margin: 1.5rem 0; line-height: 1.4; border-top: 10px solid white; border-bottom: 10px solid white;}
}