﻿body {
    background-color: whitesmoke;
    font-family: 'Open Sans', Verdana, Arial, sans-serif;
}

/* Set padding to keep content from hitting the edges */
.body-content {
    padding-left: 15px;
    padding-right: 15px;
}

/* Override the default bootstrap behavior where horizontal description lists 
   will truncate terms that are too long to fit in the left column 
*/
.dl-horizontal dt {
    white-space: normal;
}

/* Set width on the form input elements since they're 100% wide by default */
input,
select,
textarea {
    max-width: 100%;
}

.icon-social {
    height: 30px;
    width: 30px;
    background-color: #c9187e;
    color: #fff;
    padding: 6px;
}

.icon-social-img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 10;
    color: #fff;
    max-width: 100%;
    height: auto;
}

.no-padding-left {
    padding-left: 0 !important;
}

.no-padding-right {
    padding-right: 0 !important;
}



img.senedd-logo {
    text-align: center;
    padding: 40px 0px 20px 0px;
    max-width: 90%;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.form-control {
    font-size: 22px;
    padding: 25px 15px 25px 15px;
}

.feedback-form .WhereDoYouLive {
    font-size: 16px;
    padding: 5px 5px 5px 5px;
}

.feedback-form .form-control {
    font-size: 16px;
    padding: 5px 5px 5px 5px;
}




input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block {
    width: 100%;
    font-size: 25px;
}

input#GetPostcode, input#GetConstituency {
    padding: 14px 10px 14px 10px;
    border: 1px solid #000;
    font-size: 14px;
}

textarea#Comments {
    padding: 10px 20px 10px 20px;
}


body .loadingScreenIconContainer {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 10;
    display: flex;
    flex-direction: column;
    justify-content: center;
}


body .loadingElementIconContainer {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

body .loadingScreenIconContainer .loading-inner-container {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    padding: 30px;
    background-color: white;
    border-radius: 5px;
}

#sortable {
    list-style-type: none;
    margin: 0;
    padding: 0;
    width: 100%;
}


    #sortable li {
        padding: 5px;
        font-size: 20px;
        padding: 20px;
        cursor: grabbing;
        display: block;
        width: 32.34%;
        float: left;
        height: 170px;
        margin: 0px 10px 10px 0;
        position: relative;
    }

        #sortable li:nth-child(3n) {
            margin-right: 0;
        }

body {
    counter-reset: section;
}

#sortable li::before {
    counter-increment: section;
    content: counter(section, decimal);
    position: absolute;
    top: -5px;
    right: -5px;
    background-color: #c9187e;
    color: #fff;
    /* padding: 2px 0px 0px 2px; */
    font-size: 22px;
    border-radius: 40px;
    width: 40px;
    height: 40px;
    text-align: center;
    padding-top: 5px;
    box-shadow: 0px 0px 6px 0px #c9187e;
}





.ui-state-default {
    background-color: #fff;
}

.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-button, html .ui-button.ui-state-disabled:hover, html .ui-button.ui-state-disabled:active {
    border: 2px solid #787878;
    background: #fff;
    font-weight: normal;
    color: #454545;
}

.ui-sortable-placeholder {
    background-color: #c9187e;
    height: 80px;
}

.ui-state-highlight {
    margin: 0 5px 15px 5px;
    padding: 5px;
    font-size: 20px;
    padding: 20px;
}

.card-image {
    width: 45px;
    float: left;
}


.card-description {
    width: 100%;
    font-size: 13px;
    margin: 15px 0px 15px 0px;
    /* background-color: #f3f3f3; */
    /* padding: 3px; */
    color: #44423c;
}

h2.card-header {
    margin: 2px 17px 0 5px;
    font-size: 16px;
}


.ReadOnlyViewItem {
    border: 1px solid #ccc;
    padding: 15px 20px 15px 20px;
    background-color: #fff;
    /* margin-bottom: 10px; */
    min-height: 43px;
    font-size: 25px;
    border-radius: 5px;
}

.international-section {
    display: none;
}


img.huechange {
    filter: hue-rotate(120deg);
}

img.huechange-new-marker {
    filter: hue-rotate(158deg);
}


h2.PopupHeader {
    font-size: 18px;
}

span.field-validation-error.text-danger {
    display: block;
    padding: 0 0 5px 0;
}

#pinmessage {
    color: black;
    font-size: 20px;
}

#errormessage {
    color: red;
    font-size: 20px;
}

button#confirm-add-marker {
    font-size: 20px;
}

.welcome-text {
    background-color: #fff;
    padding: 10px 15px 10px 15px;
    text-align: center;
    font-size: 16px;
    margin-bottom: 20px;
    border: 1px solid #ccc;
    border-radius: 5px;
}


.top-left-buttons {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 10;
    width: 600px;
}

.dashboard-link {
    font-size: 20px;
    color: #fff;
    margin-left: 5px;
}

.map-language-switch {
    font-size: 20px;
}

.welcome-text h1 {
    padding: 5px 20px 5px 20px;
    margin: 0px;
    font-size: 28px;
}

.counter-container {
    font-size: 20px;
    background-color: #c9187e;
    color: #fff;
    text-align: center;
    border: 1px solid transparent;
    padding: 6px 12px;
    z-index: 10;
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 280px;
    margin-left: -140px;
}


.fixed-top-right {
    position: absolute;
    z-index: 1000;
    top: 10px;
    right: 0;
    overflow: auto;
}

.fixed-logo {
    position: absolute;
    z-index: 1000;
    top: 5px;
    left: 10px;
    background-color: #fff;
    border-radius: 4px;
}

.btn-add-marker {
    font-size: 20px;
    margin-bottom: 20px;
}

.btn-language {
    font-size: 20px;
}

.back-to-map {
    font-size: 20px;
}

.back-to-map-PO {
    font-size: 20px;
}

.total-submissions {
    padding: 0 0 20px 0;
}

.top-submission-container {
    border: 1px solid #ccc;
    border-radius: 5px;
    text-align: left;
    padding: 10px;
    margin-bottom: 10px;
}

    .top-submission-container .card-image {
        width: 80px;
        float: left;
        padding-top: 8px;
    }



    .top-submission-container h2.card-header {
        margin: 5px 17px 12px 0;
        font-size: 18px;
        color: #c9187e;
        text-align: center;
        font-weight: bold;
    }

.card-total-text {
    text-align: center;
    font-weight: bold;
}

.top-submission-container .card-description {
    margin: 10px 0px 5px 0px;
    font-size: 14px;
}

.priority-dashboard-header {
    margin: 10px 0 10px 0;
    font-size: 24px;
}

/* Error case Dashboard screen items */

.dashboard-error-container {
    margin: 10px auto;
    width: 40%;
    box-shadow: 0px 0px 15px 0px;
}

.dashboard-error-message {
    font-size: 40px;
    text-align: center;
    padding: 10px;
}

img.dashboard-senedd-logo {
    text-align: center;
    padding: 20px 20px 40px 0px;
    margin: auto;
    display: block;
}

/* The switch - the box around the slider */
.switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 34px;
}

    /* Hide default HTML checkbox */
    .switch input {
        opacity: 0;
        width: 0;
        height: 0;
    }

/* The slider */
.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .4s;
    transition: .4s;
}

    .slider:before {
        position: absolute;
        content: "";
        height: 26px;
        width: 26px;
        left: 4px;
        bottom: 4px;
        background-color: white;
        -webkit-transition: .4s;
        transition: .4s;
    }

input:checked + .slider {
    background-color: #2196F3;
}

input:focus + .slider {
    box-shadow: 0 0 1px #2196F3;
}

input:checked + .slider:before {
    -webkit-transform: translateX(26px);
    -ms-transform: translateX(26px);
    transform: translateX(26px);
}

/* Rounded sliders */
.slider.round {
    border-radius: 34px;
}

    .slider.round:before {
        border-radius: 50%;
    }




/*SIMPLE TABLE LAYOUT*/
table.simple-table {
    width: 100%;
    border: 1px solid #c1c1c1;
    border-collapse: collapse !important;
    border-spacing: 0;
    background-color: #ffffff;
}

    table.simple-table th {
        border: 1px solid #c1c1c1;
        border-right: none;
        text-align: left;
        padding: 10px 15px;
        color: #464646;
        vertical-align: top;
        font-size: 14px;
        font-weight: 600;
    }

    table.simple-table thead {
        background-color: #f4f9fc;
    }


table.simple-table-issue thead {
    background-color: #fdf4fb;
}


table.simple-table th {
}


table.simple-table td {
    padding: 10px 15px;
    border: 1px solid #c1c1c1;
    border-top: none;
    border-right: none;
    -webkit-transition: all 0.25s ease-out;
    -moz-transition: all 0.25s ease-out;
    -o-transition: all 0.25s ease-out;
    -ms-transition: all 0.25s ease-out;
    transition: all 0.25s ease-out;
    vertical-align: middle;
    font-size: 20px;
}


#LargeModalPopupContent h2 {
    padding: 0;
    margin: 10px 10px 30px 10px;
}

select.form-control.input-sm {
    padding: 10px;
    font-size: 18px;
    line-height: 22px;
    height: 50px;
}

input.form-control.input-sm {
    padding: 10px;
    font-size: 18px;
    line-height: 22px;
    height: 50px;
}

.member-container-details {
    padding: 10px;
    background-color: #e9e9e9;
}

.member-container hr {
    border-color: #c9187e;
    padding: 0;
    margin: 10px 0 10px 0;
}


a.member-profile-link {
    color: #000 !important;
}

/* Default sizes that are then override by the min-widths when they are hit*/

/*Media queries for responsive pages*/

.col-xs-5ths,
.col-sm-5ths,
.col-md-5ths,
.col-lg-5ths {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

.col-xs-5ths {
    width: 20%;
    float: left;
}

img.senedd-logo {
    padding: 10px 0px 10px 0px;
    max-width: 175px;
    display: block;
    margin-left: unset;
    margin-right: 5px;
} 

.revised-fixed-container-postcode {
    position: absolute;
    z-index: 1000;
    width: 295px;
    border: 1px solid #ccc;
    background-color: #fff;
    padding: 10px;
    border-radius: 5px;
    top: 60px;
    left: 10px;
    overflow:auto;
}



.revised-fixed-container-filter {
    position: absolute;
    z-index: 1000;
    width: 220px;
    bottom: 40px;
    left: 5%;
    width:90%;
}

.check-container .form-control {
    width: 48%;
    margin-right: 1%;
    margin-left: 1%;
    float: left;
    padding: 0px 10px 0px 10px;
    height: 60px;
}

.fixed-container-member-viewer {
    position: absolute;
    z-index: 1000;
    width: 95%;
    height: auto;
    border: 1px solid #ccc;
    background-color: #fff;
    padding: 5px;
    border-radius: 5px;
    left: 10px;
    bottom:110px;
}

.member-container {
    border: 1px solid #ccc;
    display: block;
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10px;
    border-radius: 4px;
    text-align: center;
    background-color: #e9e9e9;
}

    .member-container img {
        max-width: 100%;
    }

.member-image-container {
    width: 100%;
    background-color:#fff;
}


.member-container-item a:link, .member-container-item a:visited {
    text-decoration: underline;
    color: #000;
}


.member-container-item a:hover {
    text-decoration: underline;
    color: #c9187e;
}




.fixed-container-member-viewer h2 {
    font-size: 14px;
    margin: 10px 10px 5px 10px;
    text-align: left;
    width: 50%;
}

div#member-viewer-current-constituency {
    text-align: left;
    overflow-wrap: break-word;
    margin: 0 10px 5px 10px;
    font-size: 20px;
    color: #000000;
    width: 50%;
}



span.choice-label {
    font-size: 16px;
}

/*.leaflet-control-container {
    visibility: hidden;
}
*/



.information-container-viewer {
    position: absolute;
    top: 140px;
    left: -300px;
    width: 300px;
    background: white;
    z-index: 99999;
    margin-left: 0;
    -webkit-transition: 1s;
    transition: 1s;
    padding: 20px;
    border: 1px solid #999;
    border-radius: 4px;
}

.information-container-viewer h3 {
        margin: 0 0 20px 0;
        font-size: 22px;
}

.information-icon {
    position: absolute;
    top: 140px;
    left: 0px;
    width: 35px;
    height: 35px;
    z-index: 1000;
    margin-left: 0;
    -webkit-transition: 1s;
    transition: 1s;
    background-color: #fff;
    border-radius: 20px;
}

.icon:hover {
    cursor: pointer;
}



.leaflet-control-zoom.leaflet-bar.leaflet-control {
    display: none;
}


@media (min-width: 576px) {


    .information-container-viewer {
        top: 320px;
    }

    .information-icon {
        top: 320px;
    }


 /*   .leaflet-control-container {
        position: absolute;
        left: 10px;
        bottom: 100px;
    }*/

    .fixed-logo {
        left: 0;
        margin-left: 10px;
        width: 340px;
        padding:2px 10px 2px 10px;
    }

    img.senedd-logo {
        max-width: 100%;
    }

    span.choice-label {
        font-size: 18px;
    }

    .revised-fixed-container-postcode {
        width: 400px;
        left: 10px;
        top: 85px;
        right: unset;
    }

    .fixed-container-member-viewer {
        width: 400px;
        top: 165px;
        left: 10px;
        bottom:unset;
    }

    .check-container .form-control {
        height: 80px;
    }

}


     
/*Tablet size min*/
@media (min-width: 768px) {

/*    .leaflet-control-container {
        visibility: visible;
        position: absolute;
        right: 56px;
        bottom: 150px;
    }*/

    .leaflet-control-zoom.leaflet-bar.leaflet-control {
        display: block;
    }

    .check-container .form-control {
        padding: 0px 10px 0px 10px;
        height:80px;
        width:100%;
    }

    .revised-fixed-container-filter {
        left: unset;
        top: 60px;
        right: 20px;
        width: 220px;
        bottom: unset;
    }

    .member-container {
        border: 1px solid #ccc;
        display: block;
        float: left;
        margin-left: unset;
        margin-right: unset;
    }


    .fixed-logo {
      
        margin-left: 50px;

    }

}

/*Laptop size*/
@media (min-width: 992px) {

    .revised-fixed-container-postcode .form-control {
        margin-bottom: 0px;
    }

}


/* new class added to modal-lg container to make it bigger on the largest size */
@media (min-width: 1200px) {

    .custom-modal-width {
        width: 1000px; 
    } 
}



/* Start of 5th Column styles */


/* Default - No Width on the columns*/

.col-md-5ths {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}


/* Then from 576 have 3 columns*/

@media (min-width: 576px) {
    .col-md-5ths {
        width: 33.33%;
        float: left;
        padding-left: 7px;
        padding-right: 7px;
    }

        /* Add 15px left padding to the first one*/

        .col-md-5ths:first-child {
            clear: none;
        }

        /* THen 15px right padding to the third one*/
        .col-md-5ths:nth-child(3n) {
        }

        /* So then on the fourth this is on a new row so needs a clear and the padding left again */
        .col-md-5ths:nth-child(3n+1) {
            clear: both;
        }

        /* Add 15px to the last one here, this will work then on all sizes up */
        .col-md-5ths:last-child {
        }

}



@media (min-width: 768px) {
    .member-container
    {
        min-height: 357px;
        background-color: #e9e9e9;
    }
    /* No changes to the columns needed at this break, continue with the three columns */   
}


/* From this point change the widths to 20% to have 5 in a row */
@media (min-width: 992px) {

    .col-md-5ths {
        width: 20%;
        float: left;
        padding-left: 10px;
        padding-right: 10px;
    }


        /* remove this clear rule as we no longer want the 4th item to go onto a new row */
        .col-md-5ths:nth-child(3n+1) {
            clear: none;
            padding-left: 10px;
        }

        .col-md-5ths:nth-child(3n) {
            padding-right: 10px;
        }

}

@media (min-width: 1200px) {
    /* No new rules here*/ 
}


/* End of 5th Column styles */


.fade-scale {
    transform: scale(0);
    opacity: 0;
    -webkit-transition: all .35s ease-in-out;
    -o-transition: all .35s ease-in-out;
    transition: all .35s ease-in-out;
}

    .fade-scale.in {
        opacity: 1;
        transform: scale(1);
    }

form#LogOnForm .control-label {
    text-align: left;
}

input#ChooseConstituency {
    padding-left: 0;
    padding-top: 0;
    padding-bottom: 12px;
}

img.leaflet-tile {
    margin: 0px !important;
    border: 0px solid white;
}

.welcome-text p {
    margin: 0;
}

.welcome-text-instructions {
    font-weight: bold;
}



.DevSiteContainer {
    position: fixed;
    bottom: 0;
    width: 100%;
    background-color: #ffd19b;
    height: 50px;
    text-align: center;
    border-top: 1px solid;
    line-height: 50px;
    font-size: 13px;
}



.privacy-notice-button {
    position: absolute;
    top: 0;
    left: 0;
    width: 180px;
    z-index: 1000;
}

.privacy-content h2 {
    margin: 20px 10px 20px 0 !important;
    font-size: 24px;
}

.labelContainer {
    font-size: 20px;
}

.valueContainer {
    font-size: 20px;
    padding-bottom: 10px;
}

.custom-btn-size {
    font-size: 20px;
}


/* Override label alignment in feedback form */

.feedback-form {
    background-color: whitesmoke;
    margin-bottom: 20px;
}



    .feedback-form .control-label {
        text-align: left;
        padding-bottom: 5px;
    }





form {
    /*display: grid;*/
    place-content: center;
    /*min-height: 100vh;*/
}

.form-control {
    font-size: 18px;
    /*    font-weight: bold;*/
    line-height: 1.1;
    display: grid;
    grid-template-columns: 1em auto;
    gap: 0.5em;
}

    .form-control + .form-control {
        margin-top: 1em;
    }

.form-control--disabled {
    color: var(--form-control-disabled);
    cursor: not-allowed;
}

input[type="checkbox"] {
    /* Add if not using autoprefixer */
    -webkit-appearance: none;
    /* Remove most all native input styles */
    appearance: none;
    /* For iOS < 15 */
    background-color: var(--form-background);
    /* Not removed via appearance */
    margin: 0;
    font: inherit;
    color: currentColor;
    width: 1.15em;
    height: 1.15em;
    border: 0.15em solid currentColor;
    border-radius: 0.15em;
    transform: translateY(-0.075em);
    display: grid;
    place-content: center;
    background-color: #fff;
}

    input[type="checkbox"]::before {
        content: "";
        width: 0.65em;
        height: 0.65em;
        clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
        transform: scale(0);
        transform-origin: bottom left;
        transition: 120ms transform ease-in-out;
        box-shadow: inset 1em 1em var(--form-control-color);
        /* Windows High Contrast Mode */
        background-color: CanvasText;
    }

    input[type="checkbox"]:checked::before {
        transform: scale(1);
    }

    input[type="checkbox"]:focus {
        outline: max(2px, 0.15em) solid currentColor;
        outline-offset: max(2px, 0.15em);
    }

    input[type="checkbox"]:disabled {
        --form-control-color: var(--form-control-disabled);
        color: var(--form-control-disabled);
        cursor: not-allowed;
    }




.btn-cast-vote {
    height: 60px;
    font-weight: normal;
    font-size: 20px;
    text-transform: uppercase;
    font-style: normal;
}

span.choice-label {
    padding: 10px;
}

.col-md-4.check-container {
    margin-bottom: 5px;
    padding-left: 5px;
    padding-right: 5px;
}

.submit-vote-alert {
    text-align: center;
}

.voting-buttons label,
input#cast-vote {
    border: 2px solid #444;
    border-radius: 4px;
    max-width: 100%;
    width: 100%;
    font-weight: bold;
}

input#cast-vote {
}

.voting-buttons label {
    /*display: flex;*/
    align-items: center;
    cursor: pointer;
    height: auto;
}

.custom-vote-alert {
    text-align: left;
    padding: 2px 4px 2px 6px;
    margin-bottom: 0px;
}

.activity-selector {
    margin-bottom: 10px;
    padding: 12px;
    font-size: 18px;
}

input#cast-vote {
    height: 70px;
}


.position-center {
    display: grid;
    place-items: center; /* Centers both horizontally and vertically */
    height: 100vh;
}


button.btn.btn-primary.btn-block.activity-selector {
    white-space: normal;
}

div#map-container {
    height: 100%;
}



#simplevoting-form img {
    animation: fadeIn 600ms;
    -webkit-animation: fadeIn 600ms;
    -moz-animation: fadeIn 600ms;
    -o-animation: fadeIn 600ms;
    -ms-animation: fadeIn 600ms;
}


div#simplevoting-form-thanks {
    background-color: #455581;
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-moz-keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-o-keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-ms-keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}


.modal {
    z-index: 2000 !important;
}

.modal-backdrop {
    z-index: 1900 !important;
}



.map-loader-box {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    padding: 10px 10px 10px 10px;
    border-radius: 8px;
    box-shadow: 0 0 20px rgba(0,0,0,0.2);
    text-align: center;
    z-index: 10;
}




/*

.information-container-viewer {
    position: absolute;
    top: 250px;
    left: -280px;
    width: 300px;
    height: 300px;
    background: red;
    transition: width 2s, height 2s, transform 2s;
    z-index: 999;
    animation: linear;
    animation-name: hide;
    animation-duration: 2s;
}

.information-container-viewer {
    position: absolute;
    top: 250px;
    left: 0;
    animation: linear;
    animation-name: show;
    animation-duration: 2s;
}

@keyframes show {
    0% {
        left: -280px;
    }

    50% {
        left: 0;
    }

    100% {
        left: 0;
    }
}

@keyframes hide {
    0% {
        left: 0;
    }

    50% {
        left: 0;
    }

    100% {
        left: -280px;
    }
}*/




.modal-body {

    overflow: auto;
}

#alert-overlay {
    /* These will be set dynamically in JS */
    background: rgba(0,0,0,0.5);
    border-radius: 10px;
    pointer-events: none; /* Prevents overlay from blocking clicks unless you want it to */
}

#custom-alert {
    pointer-events: auto; /* Allows interaction with the alert */
}

.custom-close {
    font-size: 2.5em !important;
    font-weight: bold;
    color: #d9534f !important;
    opacity: 1 !important;
    right: 10px;
    top: 5px;
    z-index: 10000;
    line-height: 28px;
}
    .custom-close:hover, .custom-close:focus {
        color: #b52b27 !important;
        text-decoration: none;
        opacity: 1 !important;
        cursor: pointer;
    }


button.close {
    font-size: 30px;
    color: #000;
    opacity: 1;
}

.leaflet-control-attribution.leaflet-control {
    width: 160px;
    font-size: 12px;
}