a {
    color:#5C80BC;
}

a:hover {
    color: #5C80BC;
}

body {
    padding-top: 5rem;
}

body, p, main {
    font-family: "Manrope", sans-serif;
}

h1, h2 {
    font-family: "Bebas Neue", sans-serif;
}

h3, h4, .card-header {
    font-family: "Manrope", sans-serif;
    font-weight: bold;
}

h1 {
    float: left;
}

ul.pagination  li.active .page-link {
    color: white ;
    /* #5C80BC; */
    background-color : #00643b;
    border-color : #00643b;
}

ul.pagination  li.page-item a{
    background-color: white ;
    /* #5C80BC; */
    color : #00643b;
    border-color : #00643b;
}

ul.pagination  li.disabled .page-link{
    border-color : #00643b;
}

#headerImage {
    height: 30px;
}

#titleRight {
    max-width: 250px;
    text-align: right;
}

.alert-success {
    color: #ffffff;
    background-color: #00643b;
    border-color: #00643b;
}

.btn {
    font-weight: 500;
}

.btn-delete {
    color: #ffffff;
    background-color: #DC3545;
    border-color: #DC3545;
}

.btn-delete:hover {
    background-color: #bb2d3b !important;
    color: #ffffff !important;
}

.btn-edit {
    color: #ffffff;
    background-color: #00643b;
    border-color: #00643b;
}

.btn-edit:hover {
    background-color: #177d4f !important;
    color: #ffffff !important;
}

.btn-logout {
    margin-bottom : 0 !important;
}

.btn-success {
    color: #ffffff;
    background-color: #00643b;
    border-color: #00643b;
}

.btn-view {
    color: #ffffff;
    background-color: #6AB023;
    border-color: #6AB023;
}

.btn-view:hover {
    background-color: #5f9923 !important;
    color: white !important;
}

.card {
    border-color: #4d4d4d;
    margin-bottom: 1em;
}

.card-footer {
    background-color: #385e2c;
    border-top-color: #4d4d4d;
    color: white;
    font-size: .9rem;
}

.card-header {
    background-color: #28aa1e;
    border-bottom-color: #4d4d4d;
    font-size: 1.15rem;
    color: white;
}

.error-text {
    text-align: center;
}

.error-title {
    font-family: "Bebas Neue", sans-serif;
    text-align: center;
    font-size: 3rem;
}

.form-check-input, .form-control {
    border: 1px solid #00643b;
}

.form-check-input:focus, .form-control:focus {
    border-color: #00643b;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(255, 0, 0, 0.6);
}

.form-check-input:checked{
    background-color: #00643b;
}

.form-control {
    margin-bottom: .5rem;
}

.nav-item-admin {
    font-weight: bold;
    text-decoration: underline;
}

.nav-item-global-admin .nav-link {
    font-weight: bold;
    text-decoration: underline;
}

.row-header {
    font-weight: bold;
}

/*
 * CANVASSING UI:
 */
/*
@media (max-width: 768px) {
    .canvassing-ui #breadcrumbs {
        display: none;
    }
}
*/

body.canvassing-ui {
    padding-top: 3.5rem;
    /* FIXME we really should make the header not float over everything else so everything else correctly
        positions below so we don't need the crude body padding-top: 5rem in the main style.
     */
}

@media (min-width: 601px) {
    body.canvassing-ui {
        padding-top: 5.5rem;
    }
}

@media (max-width: 850px) {
    #printed_sheets {
        display: none;
    }
}

@media (max-width: 450px) {
    #party_picker {
        max-width: 300px;
    }
}

.canvassing-ui #titles {
    display: none;
}

.canvassing-ui.address_screen {
    max-width: 600px;
}

.canvassing-ui .container {
    padding-left: 0;
    padding-right: 0;
}

@media (min-width: 601px) {
    .canvassing-ui #content {
        border-left: 1px solid #6ab023;
        border-right: 1px solid #6ab023;
        border-bottom: 1px solid #6ab023;
    }
}

.canvassing-ui .card {
    border: none;
    border-radius: 0;
}

.canvassing-ui #breadcrumbs {
    display: none;
}

.canvassing-ui #address_row {
    display: flex;
}

.canvassing-ui #address_title {
    font-family: "Bebas Neue", sans-serif;
    font-weight: bold;
    font-size: 1.5em;
    padding-left: 5px;
    flex-grow: 100;
}

.canvassing-ui .address_heading {
    background-color: #6AB023;
}

.canvassing-ui #edit_notes {
    display: inline-flex;
    align-items: center;
}
.canvassing-ui .edit-address-notes {
    padding-top: 2px;
    padding-bottom: 2px;
    padding-left: 6px;
    padding-right: 6px;
    margin-top: 3px;
    font-size: 0.8em;
    margin-right: 5px;
    margin-bottom: 4px;
    display: inline-flex;
    align-items: center;
}

.canvassing-ui .edit-address-notes:hover {
    background-color: #c5e3c5;
}


.canvassing-ui #address_notes {
    /*background-color: #6AB023;*/
    font-style: italic;
    font-size: 0.9em;
    padding: 0 5px 0 8px;
    margin-top: -7px;

}

.canvassing-ui #last_knock_row {
    background-color: #6AB023;
    font-size: 0.9em;
    padding-top: 2px;
    padding-bottom: 5px;
    padding-left: 5px;
    padding-right: 5px;
}

.canvassing-ui #last_knock_box {
    border: 2px solid darkgreen;
    border-radius: 4px;
    padding: 0 4px;
    background-color: #8fbe60ff;
}

.canvassing-ui .voters {
    padding-left:4px;
    padding-right:4px;
    padding-top: 3px;
}

.canvassing-ui .voter {

    background-color: #d9e8d9;
    padding-top: 4px;
    padding-bottom: 6px;
    padding-left: 6px;
    padding-right: 6px;
    margin-top: 5px;
    margin-bottom: 5px;
    border-radius: 0.375rem;
}

.canvassing-ui .voter_heading {
    padding-left: 2px;
}

.canvassing-ui .voter_heading .voter_name {
    font-weight: bold;
    font-size: 1.1em;
    margin-right: 10px;
}

.canvassing-ui .voter_name {
    margin-bottom: 5px;
    display: inline-block;
}

.canvassing-ui .voter_tags {
    overflow: hidden;

}

.voter_score_widget, .voter_party_widget {
    display: flex;
}

.canvassing-ui .voter_party_widget {
    margin-top: 10px;
}

.canvassing-ui .election {
    border: 1px solid black;
    padding: 1px 4px 3px 4px;
    margin-bottom: 5px;
    background-color: #e6ebff;
    border-radius: 0.375rem;
}

.canvassing-ui .past_election {
    border: 1px solid black;
    padding: 1px 4px 3px 5px;
    margin-bottom: 5px;
    background-color: #e6ebff;
    border-radius: 0.375rem;
}

.canvassing-ui .past_election_detail {
    color: #5e5e5e;
}

.canvassing-ui .voted_count {
    margin-bottom: 4px;
}

.canvassing-ui .voter_score_widget_labels, .canvassing-ui .voter_party_widget_labels {
    padding-right: 15px;
}

.canvassing-ui .voter_score_widget_labels_hint {
    font-size: 0.7em;
    text-align: right;
}

.canvassing-ui .voter_score_widget_radios input {
    display: none;
}

.canvassing-ui .voter_score_widget_radios{
    position: relative;
    font-weight: bold;
    font-size: 1.3em;
}

.canvassing-ui .voter_score_widget_radios label {
    padding: 4px 14px 2px 15px;
    width: 45px;
    height: 40px;
    position: absolute;
    text-align: center;
    cursor: pointer;
}

.canvassing-ui .voter_score_widget_radios input[type="radio"]:checked + span {

    border: 4px solid black;
}

.canvassing-ui .voter_score_widget .score_box {
    padding: 1px 14px 2px 15px;
    width: 45px;
    height: 40px;
    box-sizing: border-box;
    position: absolute;
    border: 1px solid #bcbcbc;
    border-radius: 0.375rem;
}

.canvassing-ui .support_label {
    z-index: 100;
    position: relative;

}

.canvassing-ui .voter_score_widget .support_1 {

}
.canvassing-ui .voter_score_widget .support_1.score_box {
    background-color: #46e84e;
}

.canvassing-ui .voter_score_widget .support_2 {
    margin-left: 50px;
}
.canvassing-ui .voter_score_widget .support_2.score_box {
    background-color: #a0d6a2;
}

.canvassing-ui .voter_score_widget .support_3 {
    margin-left: 100px;
}
.canvassing-ui .voter_score_widget .support_3.score_box {
    background-color: #a9caab;
}

.canvassing-ui .voter_score_widget .support_4 {
    margin-left: 150px;
}
.canvassing-ui .voter_score_widget .support_4.score_box {
    background-color: #bfc5bb;
}

.canvassing-ui .voter_score_widget .support_5 {
    margin-left: 200px;
}
.canvassing-ui .voter_score_widget .support_5.score_box {
    background-color: #ced4d2;
}

.canvassing-ui .voter_score_widget .score_label {
    width: 50px;
    text-align: center;
    position: relative;
    margin-left: 15px;
    background: none;
}

/* compress total horizontal width for screens below 355px width, wisdom seems to be support min of 320px
   355px or less is when the normal score widget hits the side of the containing box
   this works for screens down to about 317px
*/
@media (max-width: 355px) {
    .canvassing-ui .voter_score_widget_labels {
        padding-right: 5px;
    }
    .canvassing-ui .voter {
        padding-left: 2px;
        padding-right: 2px;
    }

    .canvassing-ui .election {
        padding-left: 2px;
        padding-right: 2px;
    }
    .canvassing-ui .score_box, .canvassing-ui .voter_score_widget_radios label {
        width: 42px !important;
    }
    .canvassing-ui .voter_score_widget .support_2 {
        margin-left: 47px !important;
    }
    .canvassing-ui .voter_score_widget .support_3 {
        margin-left: 94px !important;
    }
    .canvassing-ui .voter_score_widget .support_4 {
        margin-left: 141px !important;
    }
    .canvassing-ui .voter_score_widget .support_5 {
        margin-left: 188px !important;
    }

}

.canvassing-ui .notes_heading {
    font-weight: bold;
    font-size: 0.9em;
}

.canvassing-ui .voter_notes li {
    list-style-type: square;
    font-size: 0.9em;
    text-indent: -4px;

}
.canvassing-ui .voter_notes ul {
    padding-left: 15px;
}

.canvassing-ui .tag {
    border: 1px solid grey;
    padding-left: 4px;
    padding-right: 4px;
    margin-right: 4px;
    margin-bottom: 5px;
    font-size: 0.95em;
    border-radius: 0.25rem;
    background-color: #eff1ea;
    display: inline-block;
}

.canvassing-ui .tag.postal_voter {
    background-color: #f3f3de;
    border: 1px solid grey;
    color: #575757;
    font-weight: normal;
}

.canvassing-ui .member_tag_logo {
    padding-top: 2px;
    height: 22px;
    padding-bottom: 2px;
    vertical-align: middle;
}

.canvassing-ui .form-select {
    line-height: 1.1em;
}

.canvassing-ui .voter .form-control {
    margin-bottom: 0;
}

.canvassing-ui .voter_party_widget_labels {
    position: relative;
    width:120px;
}

.voter_party_widget_label {
    font-size: 1em;
    position: absolute;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.canvassing-ui .button_edit_tags_notes {
    width: initial;
    background-color: #437c3d;
}

.canvassing-ui .bottom_nav {
    margin-left: 4px;
    margin-right: 4px;
    margin-top: 10px;
    /* initially visiblity: hidden until know result selected */
    display: none;
}

.canvassing-ui .knock_result {
    text-align: center;
    padding-left: 4px;
    padding-right: 4px;
    margin-bottom: 10px;
}

.canvassing-ui .knock_result label {
    background-color: #c9e3da;
    color: #00643b;
}

.canvassing-ui .election_reset {
    margin-top: 2px;
    margin-right:2px;
    float: right;
    cursor: pointer;
}

.canvassing-ui .modal-dialog .form-group.row div {
    display: inline-block;
}

.canvassing-ui .past_elections {
    padding: 5px;
    padding-left: 7px;
}

.canvassing-ui .past_intention_1 {
    background-color: #46e84e;
}

.canvassing-ui .past_intention_2 {
    background-color: #a0d6a2;
}

.canvassing-ui .past_intention_3 {
    background-color: #a9caab;
}

.canvassing-ui .past_intention_4 {
    background-color: #bfc5bb;
}

.canvassing-ui .past_intention_5 {
    background-color: #ced4d2;
}

.instructions {
    background-color: #def9fbff;
}

.map_columns #column_mappings_section, .map_columns #party_abbreviations_section {
    display: none;
}

.map_columns .upload_info {
    background-color: #cff6caff;
}

.map_columns .suggestion {
    color: #6d13e1;
}

.map_columns .remaining_choices {
    background-color: lightyellow;
}

.map_columns .mandatory_choice_item {
    border: 1px solid darkgrey;
    border-radius: 3px;
    background-color: #d4d1ea;
    padding: 0 4px;
    display: inline-block;
    margin-left: 3px;
    margin-bottom: 5px;
}
.map_columns .alternatives {
    border: 1px solid #7d8e7d;
    border-radius: 3px;
    padding: 4px 4px 0 1px;
    display: inline-block;
    margin-bottom: 5px;
}

.map_columns #column_mappings_table {
    overflow-x: scroll;
}

.map_columns #column_mappings_table table {
    font-size: 0.9em;
    width: max-content;
}

.map_columns .ready-check {
    color: #42b029;
    margin-right: 7px;
}

.map_columns .ready_to_import {
    display: none;
    background-color: lightyellow;
}

.map_columns #import {
    padding-left: 30px;
    padding-right: 30px;
    margin-right: 4px;
}

.map_columns #elections_info_section, .map_columns #column_mappings_section {
    display: none;
}

.bg-success-light {
    background-color: #6cd2a3;
}

.district_picker .district {
    padding: 5px 20px;
    border-radius: 5px;
    border: 1px solid black;
    background-color: #dbd7f7ff;
    margin-right:5px;
    cursor: pointer;
}

.create_area #polity_area_section, .create_area .districts_section, .create_area #submit_section, .election_create .districts_section {
    display: none;
}

.district_picker .district_check:checked + label {

    outline: 2px solid #017001 ;
    background-color: #afefbdff;
}
.district_picker .district_check {
    display: none;
}

.create_area label.unavailable, .edit_area label.unavailable {
    background-color: #9d99a4;
    color: #f5f4f4;
}

.district_picker {
    background-color: #f7fad0ff;
    width: fit-content;
}

.shared_districts .district_picker {
    background-color: #e0fad0ff;
}
.areas-title {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
}

.list_areas .district {
    padding: 5px 15px;
    border-radius: 5px;
    border: 1px solid black;
    background-color: #dbd7f7ff;
    margin-right:5px;
}

.share_data .districts_section {
    display: none;
}
.share_data #submit_section {
    display: none;
}

.info_box {
    margin-top: 30px;
    padding: 15px;
    background-color: #e3f4fa;
    border-radius: 5px;
    border: 1px solid #9cb6cc;
    width: max-content;
}

.election_create #submit_section, .election_create #date_section {
    display: none;
}

.party_picker {
    width: fit-content;
    background-color: #d2f0da;
}

.csv_data {
    font-family: "Source Code Pro", "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.fit-content {
    width: fit-content;
}

:root {
    --round-editor-active: #017001;
    --panes-background: #dbf3dd;
    --gp-bright-green: #00b460;
}

.edit_round_profile #add_round_number {
   width: 40px !important;
}

.edit_round_profile #round_editor_pane {
    background-color: white;
    border: 4px solid var(--round-editor-active);
}

.edit_round_profile div#left_rounds_list_pane > * {
    padding-left: 8px;
    padding-right: 8px;
}

.edit_round_profile .round_list_row.in_editor {
    background-color: var(--round-editor-active);
    color: white;
    margin-right: -10px;
}

.edit_round_profile .round_list_row.in_editor .round_households_count {
    margin-right: 10px;
}

.edit_round_profile .round_list_row.in_editor:hover {
    background-color: #068306;
}

.edit_round_profile #rounds_list_rows {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.edit_round_profile .round_list_row {
    padding-left: 8px;
    padding-right: 8px;
    padding-top: 4px;
    padding-bottom: 4px;
}

.edit_round_profile .round_list_row:nth-child(odd):not(.in_editor):not(:hover)  {
    background-color: #9adc9a;
}
.edit_round_profile .round_list_row:nth-child(odd):not(.in_editor):hover  {
    background-color: #c9e7c9;
}

.edit_round_profile .round_list_row:nth-child(even):not(.in_editor):not(:hover) {
    background-color: #b4e7b4;
}
.edit_round_profile .round_list_row:nth-child(even):not(.in_editor):hover {
    background-color: #cfe6cf;
}

.edit_round_profile #rounds_list_add_round_widget, #missing_households_widget {
    margin-left: 8px;
    margin-right: 8px;
}

.edit_round_profile #stages_table .form-select {

}
.edit_round_profile .stage_row_vertical_padding {
    padding-top: 7px;
    padding-bottom: 7px;
}

.edit_round_profile #existing_rounds_heading {

}

.edit_round_profile .round_preview_list_row {
    font-size: 0.8em;
}
.edit_round_profile .round_preview_list_row:nth-child(odd) {
    background-color: #e2f3dd;
}
.edit_round_profile .round_preview_list_row:nth-child(odd) .household_voters_count {
    background-color: #d1e2cd;
}
.edit_round_profile .round_preview_list_row:nth-child(even) {
    background-color: #c8ead4;
}
.edit_round_profile .round_preview_list_row:nth-child(even) .household_voters_count {
    background-color: #b9d8c4;
}
.edit_round_profile #round_preview_addresses {
    background-color: #9cc6b2;
    height: 580px;
}
.edit_round_profile #round_preview_addresses_list {
    overflow: scroll;
    max-height: 560px;
}
.edit_round_profile .household_voters_count {
    flex-shrink: 0;
    width: 16px;
    text-align: center;
    padding-right: 4px;
    padding-left: 4px;
}

.edit_round_profile .round_preview_addresses_heading {
    font-size: 0.9em;
    background-color: green;
    color: #ccf8cc;
}
.edit_round_profile #round_preview_title {
    font-size: 1.3em;
    text-align: center;
}

.edit_round_profile #right_round_overview_pane {
    min-width: 248px;
    background-color: var(--panes-background);
}

.edit_round_profile #left_rounds_list_pane {
    background-color: var(--panes-background);
    flex-basis: 294px;
    flex-grow: 0;
    flex-shrink: 0;
}

.edit_round_profile #round_editor_pane {
    background-color: #edeffbff;
    flex-basis: 1006px;
    flex-grow: 0;
    flex-shrink: 0;
}

.edit_round_profile #round_attributes_box {
    background-color: var(--panes-background);
}

.edit_round_profile #round_stages_box {
    background-color: var(--panes-background);
    min-width: 726px;
}

.edit_round_profile #stages_table th {
    line-height: 1.2em;
    vertical-align: bottom;
}

.edit_round_profile #stages_table tr {
    height: 38px;
}

.fa-square-check, .fa-square {
    font-size: 1.3em;
}

.edit_round_profile #stages_table select, #stages_table input[type='text']{
    padding-top: 2px;
    padding-bottom: 2px;
}
.edit_round_profile #txt_street_no_start, #txt_street_no_end {
    width: 58px;
}

/*
 * stage row action buttons
 */
.edit_round_profile #stages_table .btn.border-primary:hover {
    background-color: rgba(13, 110, 253, 0.18);
}

.edit_round_profile #stages_table .btn.border-success:hover {
    background-color: rgba(25, 135, 84, 0.18);
}

.edit_round_profile #stages_table .btn.border-danger:hover {
    background-color: rgba(220, 53, 69, 0.18);
}
.edit_round_profile #stages_table .btn.border-warning:hover {
    background-color: rgba(255, 193, 7, 0.18);
}
.edit_round_profile #stages_table .btn.border-secondary:hover {
    background-color: rgba(108, 117, 125, 0.18);
}

.edit_round_profile #stages_table .form-check:not(:checked):hover {
    background-color: rgba(13, 110, 253, 0.18);
}

.edit_round_profile #missing_households_widget.some_missing {
    background-color: rgb(255, 198, 198);
}

.edit_round_profile #missing_households_widget.none_missing {
    background-color: rgb(255, 233, 115);
}

#map_upload_success {
    background-color: var(--panes-background);
}

.canvassing-ui .round_overview .round_number {
    background-color: var(--gp-bright-green);
    font-weight: bold;
    font-size: 1.2em;
    color: white;
}

.canvassing-ui .round_overview .column_titles {
    background-color: green;
    font-weight: bold;
    font-size: 1.0em;
    color: white;
}

.canvassing-ui .round_overview .voters_col {
    width: 52px;
}
.canvassing-ui .round_overview .last_col {
    width: 68px;
}

.canvassing-ui .round_overview .household_row:nth-child(even), .canvassing-ui .mobile_rounds_list .round_row:nth-child(even) {
    background-color: #c3eacc;
    cursor: pointer;
}

.canvassing-ui .round_overview .household_row:nth-child(odd), .canvassing-ui .mobile_rounds_list .round_row:nth-child(odd) {
    background-color: #f0fff0;
    cursor: pointer;
}

.mobile_rounds_list .round_number {
    width: 30px;
}

.canvassing-ui .mobile_rounds_list .list_title, .canvassing-ui .list_areas.list_title {
    background-color: var(--gp-bright-green);
    color: white;
    font-weight: bold;
    font-size: 1.2em;
}


@media (max-width: 850px) {
    .desktop_rounds_list {
        display: none;
    }
    .mobile_rounds_list{
        display: block;
    }
}
@media (min-width: 851px) {
    .desktop_rounds_list {
        display: block;
    }
    .mobile_rounds_list{
        display: none;
    }
}

@media (max-width: 1399px) {
    /* logout button should only show user name if the screen is wide enough */
    #navUserName {
        display: none;
    }
    /* logo without text when short on space */
    #headerImage {
        content:url("/img/ttw-digital-no-text-g4.svg");
    }
}

@media (max-width: 768px) {
    /* show full logo on mobile as no menu items in header */
    #headerImage {
        content:url("/img/ttw-digital-paul-g4.svg");
        height: 28px;
    }
}

.canvassing-ui .round_overview .household_row.last_viewed {
    border-left: 5px solid green;
}

.canvassing-ui .round_overview .household_row.last_viewed {
    animation-duration: 1s;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    -webkit-animation-duration: 1s;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-direction: alternate;
}

.canvassing-ui .round_overview .household_row:nth-child(odd).last_viewed {
    animation-name: flash_current_position_odd;
    -webkit-animation-name: flash_current_position_odd;
}

.canvassing-ui .round_overview .household_row:nth-child(even).last_viewed {
    animation-name: flash_current_position_even;
    -webkit-animation-name: flash_current_position_even;
}

@keyframes flash_current_position_odd {
    from { background-color: #f0fff0; }
    to { background-color: #c2cec2; }

}

@keyframes flash_current_position_even {
    from { background-color: #c3eacc; }
    to { background-color: #91ad97; }
}

.canvassing-ui .round_overview .is_postal {
    color: #575757;
}

.mobile_rounds_list .round_number_row {
    background-color: var(--bs-success);
    color: white;
    font-weight: bold;
    min-width: 26px;
    display: inline-block;
    text-align: center;
}

.list_profiles .badge {
    font-size: 0.9em;
}

.list_profiles .form-control {
    margin-bottom: 0;
}

.canvassing-ui .list_areas.list_row:nth-child(even) {
    background-color: #c3eacc;
}

.canvassing-ui .list_areas.list_row:nth-child(odd) {
    background-color: #f0fff0;
}

.canvassing-ui .house_count {
    width: 70px;
}
