*,::before,::after{box-sizing:border-box}
body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}
ul[role='list'],ol[role='list']{list-style:none}
html:focus-within{scroll-behavior:smooth}
body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5}
a:not([class]){text-decoration-skip-ink:auto}
img,picture{max-width:100%;display:block}
input,button,textarea,select{font:inherit}
@media (prefers-reduced-motion: reduce) {
html:focus-within{scroll-behavior:auto}
*,::before,::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* **************************************** */
/* SETUP */
/* **************************************** */
body,
html {
    font-family: sans-serif;
    min-width: 320px;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    overflow-x: hidden;
    color: #525f7f;
    font-family: Camphor, Open Sans, Segoe UI, sans-serif;
    font-variant-numeric: proportional-nums;
    max-width: 100vw;
}

:root {
    --brand-purple: #5c51a3;
    --yellow: #F5CB5C;
    --yellowhover: #d4a20d;
    --dark-black: #242423;
    --light-black: #333533;
    --light-gray: #f7f8f9;
    --mid-gray: #CFDBD5;
    --mid-blue: #0466c8;
    --pastel-blue: #5171a5;
    --blue: #007bff;
    --indigo: #6610f2;
    --purple: #6f42c1;
    --pink: #e83e8c;
    --red: #dc3545;
    --dark-red: #ad2a37;
    --orange: #fd7e14;
    --brand-blue: #005365;
    --brand-blue-light: #005a9e;
    --amber: orange;
    --brand-green: #28a745;
    --dark-green: #2c733c;
    --teal: #20c997;
    --cyan: #17a2b8;
    --white: #fff;
    --gray: #6c757d;
    --gray-dark: #343a40;
    --primary: #007bff;
    --secondary: #6c757d;
    --success: #28a745;
    --info: #17a2b8;
    --warning: #ffc107;
    --danger: #dc3545;
    --light: #f8f9fa;
    --dark: #343a40;
    --green: #076633;
}

*,
:after,
:before {
    box-sizing: inherit
}

h1,
h2,
h3 {
    color: #32325d;
    font-weight: 500
}

a {
    text-decoration: none
}

a.link {
    text-decoration: none;
    color: #01579b;
    font-weight: 700
}

a.link:hover {
    background: #01579b;
    transition: .5s;
    color: #fff;
    cursor: pointer
}

.mn {
    margin: 0
}

.di {
    display: inline
}

.tar {
    text-align: right;
}

.pr {
    position: relative
}

.fr {
    float: right
}

.displayBlock {
    display: block
}

.displayNone {
    display: none
}

.clear {
    clear: both
}

.left {
    float: left;
    width: 49%
}

.right {
    float: right;
    width: 49%
}

.subtle-hr {
    height: 1.75px;
    background: #9a9a9a54;
    margin: 10px 0;
}

.no-dot-list {
    list-style: none;
    padding-left: 0;
}
/* **************************************** */





/* **************************************** */
/* * Page */
/* **************************************** */
.map-width {
    height: calc(100vh - 10px);
    width: 100vw;
    display: inline-block;
}

#map {
    height: 100%;
    width: 100%;
}

.map-controls {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 300px;
    background: white;
    border-radius: 6px;
    z-index: 999;
    padding: 15px;
    box-shadow: 0 2px 15px 0 rgba(0, 0, 0, 0.1);
}

.map-controls-inner {
    position: relative;
}

h3.output-title {
    font-weight: bold;
    font-size: 16px;
    margin: 15px 0 12px 0;
}

.area-box {
    background: black;
    font-size: 16px;
    font-weight: bold;
    padding: 7px 0;
    border-radius: 6px;
    text-align: center;
    color: white;
    margin-top: 10px;
}

#outputBox {
    display: none;
}

.reset-zoom-btn {
    position: absolute;
    z-index: 999;
    left: 10px;
    color: black;
    background: white;
    border: 1.7px solid black;
    top: 80px;
    outline: none;
    display: inline-block;
    line-height: 0;
    padding: 5px 7px;
    box-shadow: 0 4px 6px rgb(50 50 93 / 11%), 0 1px 3px rgb(0 0 0 / 8%);
    border-radius: 4px;
    text-align: center;
}

.circle-btn,
.isochrone-btn {
    padding: 6px 8px;
    border-radius: 4px;
    position: absolute;
    z-index: 999;
    color: black;
    line-height: 0;
    background: white;
    border: 1.7px solid black;
    top: 15px;
}

.isochrone-btn {
    right: 15px;
}

.circle-btn {
    right: 150px;
    padding: 7px 8px;
}

.circle-btn svg,
.isochrone-btn svg {
    width: 15px;
    display: inline-block;
    vertical-align: middle;
}

.circle-btn:hover,
.isochrone-btn:hover,
.reset-zoom-btn:hover {
    cursor: pointer;
    transition: all .15s ease;
    transform: translateY(-1px);
    box-shadow: 0 7px 14px rgba(50, 50, 93, .1), 0 3px 6px rgba(0, 0, 0, .08);
}

.floating-outer {
    position: absolute;
    top: 10px;
    left: 55px;
    z-index: 999;
    width: 310px;
    /* max-height: calc(100% - 30px);
    overflow-y: auto;
    overflow-x: hidden; */
}

.logo-area {
    border-radius: 6px;
    z-index: 999;
    padding: 10px;
    box-shadow: 0 2px 15px 0 rgba(0, 0, 0, 0.1);
    background: #fff;
    width: 100%;
    max-width: 305px;
    margin-bottom: 15px;
}

.logo-area img {
    width: 100%;
}

.bottom-right-details {
    position: absolute;
    bottom: 35px;
    right: 15px;
    z-index: 999;
}

.area-info-outer {
    border-radius: 6px;
    z-index: 999;
    padding: 10px;
    box-shadow: 0 2px 15px 0 rgb(0 0 0 / 10%);
    background: #fff;
    max-width: 320px;
}

.search-inputs-box .postcode-area {
    display: flex;
    justify-content: start;
    gap: 15px;
    align-items: flex-end;
}

.postcode-area img {
    margin: 0 auto;
    width: 200px;
    display: flex;
    padding-top: 6px;
    margin-bottom: 12px;
}

.reset-search-btn {
    position: absolute;
    top: 0;
    right: 0;
    width: 15px;
}

.reset-search-btn:hover {
    transition: .3s;
    cursor: pointer;
    opacity: .4;
}

.dot-icon {
    width: 15px;
    height: 15px;
    border-radius: 100px;
    display: inline-block;
    vertical-align: middle;
    border: 2px solid white;
}

.labels {
    display: none
}

.toggles-container {
    position: absolute;
    z-index: 999;
    left: 55px;
    top: 135px;
    padding: 10px;
    border-radius: 4px;
    border: 1.5px solid black;
    background: #ffffff;
    color: black;
}

.teaching-check label span {
    background: #ff5454;
    padding: 2px 10px;
}

.non-teaching-check label span {
    background: #249af0;
    padding: 2px 10px;
}

.trusts-check label span {
    background: yellow;
    padding: 2px 10px;
}

.minimise-marker-info {
    overflow-y: hidden;
    height: 40px;
}

.minimise-btn {
    width: 15px;
    margin-left: 12px;
}

.minimise-btn:hover {
    cursor: pointer;
    transition: .3s;
    opacity: .6;
}

.dual-buttons {
    display: flex;
    justify-content: start;
    margin: 0 auto;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 20px;
}

button.sbtn {
    letter-spacing: .2px;
    text-decoration: none;
    padding: 0 18px;
    border-radius: 16.5px;
    outline: none;
    box-sizing: border-box;
    white-space: nowrap;
    transition-property: background-color, opacity;
    justify-self: flex-start;
    line-height: 30px;
    font-weight: 500;
    font-size: 18px;
    display: flex
;
    align-items: center;
    fill: white;
    color: white;
    background: #5c52a3;
    border: none;
    gap: 10px;
}

button.sbtn svg {
    height: 10px;
    margin-top: 2px;
}

button.sbtn:hover {
    cursor: pointer;
    transition: .3s;
}

button.sbtn-primary:hover {
    background: #393366;
}

button.sbtn-danger {
    background: #e44141 !important;
}

button.sbtn-danger:hover {
    background: #942b2b !important;
}

button.sbtn-secondary {
    letter-spacing: .2px;
    text-decoration: none;
    display: inline-block;
    padding: 3px 0 6px;
    border-radius: 16.5px;
    color: #5c52a3;
    fill: #5c52a3;
    outline: none;
    box-sizing: border-box;
    font-weight: 500;
    line-height: 24px;
    font-size: 15px;
    transition-property: color, opacity;
    background: none;
    border: none;
    display: flex;
    align-items: center;
    gap: 8px;
}

button.sbtn-secondary:hover {
    cursor: pointer;
    transition: .3s;
    color: #393366;
    fill: #393366;
}

button.sbtn-tertiary svg,
button.sbtn-secondary svg {
    height: 10px;
}

button.sbtn-tertiary {
    letter-spacing: .2px;
    text-decoration: none;
    padding: 2px 10px 2px 10px;
    border-radius: 100px;
    outline: none;
    box-sizing: border-box;
    white-space: nowrap;
    transition-property: background-color, opacity;
    justify-self: flex-start;
    line-height: 18px;
    font-weight: 600;
    font-size: 12px;
    display: flex;
    align-items: center;
    fill: #5c52a3;
    color: #5c52a3;
    background: #fff;
    border: 2px solid #5c52a3;
    gap: 10px;
}

button.sbtn-tertiary:hover {
    cursor: pointer;
    transition: .3s;
    color: #fff;
    fill: #fff;
    background: #393366;
    border-color: #393366;
}

.marker-popup p {
    font-size: 15px;
    margin: 5px 0;
}

.marker-popup h3 {
    margin-bottom: 0;
}

.input-grid {
    display: flex;
    margin-bottom: 12px;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
}

.input-grid .field {
    flex: 48%;
}

.rating {
    display: inline-flex;
    cursor: pointer;
}

.star {
    font-size: 2rem;
    padding: 0 5px;
    color: lightgray;
}

.star.hover,
.star.selected {
    color: gold;
}



.star-rating-box {
    /* position: absolute; */
    /* right: 15px; */
    /* bottom: 390px; */
    border-radius: 4px;
    background: #ffffff !important;
    color: black;
    box-shadow: 0 2px 15px 0 rgb(0 0 0 / 10%);
    padding: 15px;
    margin-bottom: 12px;
}

.star-rating-box h4 {
    text-align: center;
    font-size: 16px;
    margin-bottom: 10px;
    font-weight: bold;
}

.rating-definition {
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: 11px;
}
.rating-definition .rating-row {
    justify-content: end;
    width: 100px;
}

.user {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 5px;
    padding-bottom: 5px;
    border-bottom: 1px solid lightgray;
    width: 100%;
    justify-content: space-between;
}

.user .dual-buttons {
    margin: 0 !important;
}
/* **************************************** */





/* **************************************** */
/* * Key */
/* **************************************** */
.map-key {
    position: absolute;
    z-index: 999;
    left: 15px;
    top: 12px;
    border-radius: 4px;
    background: #ffffff !important;
    color: black;
    box-shadow: 0 2px 15px 0 rgb(0 0 0 / 10%);
    padding: 0;
}

.key-inner {
    padding: 0 10px;
    max-height: calc(100vh - 150px);
    overflow-y: auto;
}

.legend-title {
    background: black;
    width: 100%;
    color: white;
    font-weight: bold;
    margin: 0 !important;
    padding: 0 12px;
    line-height: 30px;
    border-radius: 2px 2px 0 0;
    min-width: 150px;
    display: block;
}

.map-key .key-el {
    margin: 10px 1px;
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 12px;
}

.map-key .col-box {
    width: 25px;
    height: 25px;
    display: inline-block;
}

.col-box img {
    height: 30px;
    display: block;
    margin: 0 auto;
}

.map-key p.key-text {
    margin: 0;
    font-weight: 600;
}

.marker-key {
    right: 15px;
}

.marker-key span {
    margin: 0;
    display: block;
}

.marker-key span:first-child {
    margin: 10px 0;
}

.marker-key .col-box-img {
    height: 32px;
    display: inline-block;
    vertical-align: middle;
}

.rating-row {
    display: flex;
    justify-content: space-between;
    width: 130px;
}

.star-rating-outer .star-filled {
    width: 20px;
}

.rating-row svg.star-filled {
    fill: gold;
}

.rating-row svg {
    width: 25px;
}

#pitchPopup {
    position: absolute;
    display: none;
    background: white;
    border: 1px solid #ccc;
    padding: 5px 10px;
    border-radius: 5px;
    box-shadow: 2px 2px 10px rgba(0,0,0,0.2);
    z-index: 1000;
}

#pitchPopup h3 {
    margin-bottom: 5px;
}

#pitchPopup ul {
    margin: 0;
    padding-left: 0;
    list-style: none;
}

.placeholder-map {
    width: 100%;
    height: 100%;
    display: block;
}
/* **************************************** */





/* **************************************** */
/* * Footer */
/* **************************************** */
.footer {
    background-color: #d39e3d;
    color: #fff;
    padding: 20px;
}

.footer-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    max-width: 1400px;
    margin: auto;
}

.footer .address {
    max-width: 300px;
}

.footer .social {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.social-icons {
    display: flex;
    gap: 15px;
    margin-bottom: 10px;
}

.social-icons a {
    display: inline-block;
    width: 30px;
    height: 30px;
    background-color: #fff;
    border-radius: 50%;
    text-align: center;
}

.payment-methods img {
    height: 30px;
    margin-right: 10px;
}

.address p {
    margin: 0;
}

.payment-methods {
    display: flex;
    align-items: center;
    gap: 10px;
}

@media (max-width: 768px) {
    .footer-container {
        flex-direction: column;
        text-align: center;
        align-items: center;
    }

    .footer .social {
        align-items: center;
        margin-top: 20px;
    }
}
/* **************************************** */






/* **************************************** */
/* * Context Menu */
/* **************************************** */
.contextUl {
    z-index: 999;
    display: none;
    background-color: #fff;
    border: 1px solid rgba(0, 0, 0, .2);
    -webkit-box-shadow: 0 2px 5px rgb(0 0 0 / 15%);
    box-shadow: 0 2px 5px rgb(0 0 0 / 15%);
    font-size: 13px;
    outline: 0;
    padding: 2px 0;
    list-style: none;
    margin: 0;
    max-width: 250px;
    min-width: 125px;
    position: absolute;
}

.contextUl li {
    cursor: pointer;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 6px 12px;
}

.contextUl li:hover {
    background-color: rgba(0, 0, 0, .05);
    cursor: pointer;
    transition: .3s;
}
/* **************************************** */






/* **************************************** */
/* * Leaflet */
/* **************************************** */
.leaflet-popup-tip-container {display: none;}
/* .area-details-hover {pointer-events: none;} */


.leaflet-popup-content-wrapper {
    /* pointer-events: none; */
    border-radius: 0;
}

.leaflet-popup-content {
    margin: 5px 12px;
}

.leaflet-popup {
    margin-bottom: 10px;
    /* pointer-events: none; */
}

.leaflet-popup-close-button {
    display: none;
}

.dealer-polygon {
    pointer-events: none !important;
}

.area-details-hover {
    pointer-events: none !important;
}
/* **************************************** */





/* **************************************** */
/* * Nice JS Inputs */
/* **************************************** */
.field {
    width: 100%;
    float: left;
    padding: .4285714286em 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.field__input-wrapper {
    position: relative;
}

.field__input-wrapper label {
    line-height: 1.3em;
    word-wrap: break-word;
    word-break: break-word;
    -webkit-font-smoothing: subpixel-antialiased;
    -webkit-box-direction: normal;
    text-align: left;
    margin: 0.5em 0;
    display: block;
    font-size: 11px;
    font-weight: 400;
    position: absolute;
    top: 0;
    width: 90%;
    margin-top: 0.4285714286em;
    margin-left: 1px;
    padding: 0 0.9166666667em;
    z-index: 1;
    user-select: none;
    transform: translateY(3px);
    pointer-events: none;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    box-sizing: border-box;
    opacity: 0;
    transition: all .2s ease-out;
    color: var(--black);
    /* background: #f6f8fa; */
}

.field__input-wrapper select,
.field__input-wrapper textarea,
.field__input-wrapper input,
.field__input-wrapper .StripeElement {
    margin: 0;
    display: block;
    width: 100%;
    padding: 11px 0.7857142857em;
    line-height: inherit;
    border-radius: 5px;
    background-color: var(--light-gray);
    color: var(--black);
    transition: all .2s ease-out;
    border: 1px solid #d6d6d6;
    position: relative;
}

.field--show-floating-label .field__label {
    -webkit-transform: none;
    transform: none;
    opacity: 1
}

.field--show-floating-label .field__input {
    padding-top: 17px;
    padding-bottom: .3571428571em;
}

.field--show-floating-label .field__input::-webkit-input-placeholder {color: transparent}
.field--show-floating-label .field__input:-moz-placeholder {color: transparent;opacity: 1}
.field--show-floating-label .field__input::-moz-placeholder {color: transparent;opacity: 1}
.field--show-floating-label .field__input:-ms-input-placeholder {color: transparent}

select.field__input {
    -webkit-appearance: none;
    -moz-appearance: none;
    text-indent: 1px;
    text-overflow: '';
}

.field__caret {
    display: block;
    width: 2.1428571429em;
    height: 43%;
    pointer-events: none;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    border-left: 1px rgba(179, 179, 179, 0.5) solid;
}

.field__caret svg {
    color: #919191;
    position: absolute;
    margin-left: -2px;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 10px;
    height: 10px;
    display: inline-block;
    vertical-align: middle;
}

.field--show-floating-label .field__input {
    padding-top: 17px;
    padding-bottom: .3571428571em;
}

.field--show-floating-label .field__input::-webkit-input-placeholder {
    color: transparent
}

.field--show-floating-label .field__input:-moz-placeholder {
    color: transparent;
    opacity: 1
}

.field--show-floating-label .field__input::-moz-placeholder {
    color: transparent;
    opacity: 1
}

.field--show-floating-label .field__input:-ms-input-placeholder {
    color: transparent
}

#payment-form .input-group>.form-control {
    border: 1px transparent solid;
    display: block;
    width: 100%;
    border-radius: 0;
    background-color: #fff;
    color: var(--black);
    border-color: #d9d9d9;
    transition: all .2s ease-out;
    height: 47px;
    padding: .9285714286em .7857142857em;
}

.cvc-icon {
    position: absolute;
    top: 8px;
    right: 14px;
}

.card-icons {
    margin: 0;
    /* justify-content: flex-end; */
    position: absolute;
    top: 14px;
    right: -5px;
    border-color: transparent !important;
    background: none !important;
    box-shadow: none !important;
    outline: none !important;
    pointer-events: none;
    /* display: flex; */
    /* align-items: center; */
    bottom: 0;
    transition: background 0.15s ease, border 0.15s ease, box-shadow 0.15s ease, color 0.15s ease;
}

.card-icons .card-images {
    display: flex;
    justify-content: space-between;
    position: absolute;
    width: 82px;
    top: 0;
    right: 18px;
}

.card-icons .card-images .card-brand-item:nth-child(2) {
    margin: 0 5px;
}

.card-error-icon {
    position: absolute;
    top: 0;
    right: 13px;
    z-index: 999;
    width: 24px;
}

.card-error-icon svg {
    fill: red;
}


.loading-icon {
    display: inline-block;
    position: relative;
    width: 20px;
    height: 20px;
}

.loading-icon div {
    box-sizing: border-box;
    display: block;
    position: absolute;
    width: 12px;
    height: 12px;
    margin: 5px;
    border: 2px solid #fff;
    border-radius: 50%;
    animation: loading-icon 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
    border-color: #fff transparent transparent transparent;
}

.loading-icon div:nth-child(1) {
    animation-delay: -0.45s;
}

.loading-icon div:nth-child(2) {
    animation-delay: -0.3s;
}

.loading-icon div:nth-child(3) {
    animation-delay: -0.15s;
}

@keyframes loading-icon {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}
/* **************************************** */





/* **************************************** */
/* * Admin */
/* **************************************** */
.admin-section {
    margin-bottom: 35px;
}

section.logo-header {
    width: 100%;
    padding: 15px 30px 20px;
    background: linear-gradient(to right, #399f6b 0%, #363f3d 100%);
    display: flex;
    justify-content: space-between;
    /* margin-bottom: 30px; */
}

section.logo-header img {
    height: 40px;
}

.uk-navbar-container>.uk-navbar-nav>li>a {
    color: white;
    font-weight: bold;
}
/* **************************************** */





/* **************************************** */
/* * Toolbar */
/* **************************************** */
.toolbar-outer {
    border-radius: 6px;
    z-index: 999;
    padding: 10px;
    box-shadow: 0 2px 15px 0 rgb(0 0 0 / 10%);
    background: #fff;
    width: 100%;
    max-height: calc(100vh - 165px);
    overflow-y: auto;
}

.toolbar-outer .sbtn {
    margin-top: 0 !important;
}

.provider-filters {
    max-height: calc(100vh - 430px);
    overflow-y: auto;
}
/* **************************************** */




/* **************************************** */
/* * Buttons and Inputs */
/* **************************************** */
.search-icon {
    width: 15px;
    height: 15px;
    margin-right: 3px;
    border-radius: 100px;
    display: inline-block;
    vertical-align: middle;
}

.btn {
    font-style: normal;
    outline: none;
    white-space: nowrap;
    display: inline-block;
    line-height: 40px;
    padding: 0 14px;
    box-shadow: 0 4px 6px rgba(50, 50, 93, .11), 0 1px 3px rgba(0, 0, 0, .08);
    border-radius: 4px;
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    text-align: center;
    letter-spacing: .025em;
    text-decoration: none;
    transition: all .15s ease;
    /* text-shadow: 0 1px 3px rgba(36, 180, 126, .4); */
}

.btn:hover {
    cursor: pointer;
    transition: all .15s ease;
    transform: translateY(-1px);
    box-shadow: 0 7px 14px rgba(50, 50, 93, .1), 0 3px 6px rgba(0, 0, 0, .08);
    /* text-shadow: 0 1px 3px rgba(36, 180, 126, .4); */
}

.search-btn {
    background: var(--blue);
    width: 43px;
    height: 43px;
    padding: 10px;
    fill: white;
    margin-top: 5px;
}

.search-btn:hover {
    
opacity: .6;}

.disabled-btn {
    pointer-events: none;
    opacity: 0.4;
}

.search-inputs-box {
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: space-between;
}
/* **************************************** */






/* **************************************** */
/* Material Styling Inputs */
/* **************************************** */
.material-input {
    --pure-material-safari-helper1: rgb(var(--pure-material-primary-rgb, 62, 155, 124)); position: relative;
    display: inline-block;
    padding-top: 6px;
    font-family: var(--pure-material-font, "Roboto", "Segoe UI", BlinkMacSystemFont, system-ui, -apple-system);
    font-size: 16px;
    line-height: 1.5;
    overflow: hidden;
}

.select-inp {
    border: solid 1px;
    border-color: rgba(var(--pure-material-onsurface-rgb, 0, 0, 0), 0.6);
    border-radius: 4px;
    padding: 15px 13px 15px;
    width: 100%;
    color: rgba(var(--pure-material-onsurface-rgb, 0, 0, 0), 0.87);
    caret-color: rgb(var(--pure-material-primary-rgb, 62, 155, 124));
    transition: border 0.2s, box-shadow 0.2s;
}

.select-popup-inp {
    margin-bottom: 7px;
    border: solid 1px;
    border-color: rgba(var(--pure-material-onsurface-rgb, 0, 0, 0), 0.6);
    border-radius: 4px;
    padding: 7px 13px 7px;
    width: 100%;
    color: rgba(var(--pure-material-onsurface-rgb, 0, 0, 0), 0.87);
    caret-color: rgb(var(--pure-material-primary-rgb, 62, 155, 124));
    transition: border 0.2s, box-shadow 0.2s;
}

.popup-inp {
    width: 210px;
    margin-bottom: 10px;
}

.cluster-count-select {
    width: 40%;
    display: block;
    margin: 15px 0;
    border: solid 1px;
    border-color: rgba(var(--pure-material-onsurface-rgb, 0, 0, 0), 0.6);
    border-radius: 4px;
    padding: 7px 13px 7px;
    color: rgba(var(--pure-material-onsurface-rgb, 0, 0, 0), 0.87);
    caret-color: rgb(var(--pure-material-primary-rgb, 62, 155, 124));
    transition: border 0.2s, box-shadow 0.2s;
}

/* Input, Textarea */
.material-input>input, .material-input>textarea {
    box-sizing: border-box;
    margin: 0;
    border: solid 1px;
    /* Safari */
    border-color: rgba(var(--pure-material-onsurface-rgb, 0, 0, 0), 0.6);
    border-top-color: transparent;
    border-radius: 4px;
    padding: 8px 13px 8px;
    width: 100%;
    height: inherit;
    color: rgba(var(--pure-material-onsurface-rgb, 0, 0, 0), 0.87);
    background-color: transparent;
    box-shadow: none;
    /* Firefox */
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    caret-color: rgb(var(--pure-material-primary-rgb, 62, 155, 124));
    transition: border 0.2s, box-shadow 0.2s;
    background: white;
}

/* Span */
.material-input>input+span, .material-input>textarea+span {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    border-color: rgba(var(--pure-material-onsurface-rgb, 0, 0, 0), 0.6);
    width: 100%;
    max-height: 100%;
    color: rgba(var(--pure-material-onsurface-rgb, 0, 0, 0), 0.6);
    font-size: 75%;
    line-height: 15px;
    cursor: text;
    transition: color 0.2s, font-size 0.2s, line-height 0.2s;
}

/* Corners */
.material-input>input+span::before, .material-input>input+span::after, .material-input>textarea+span::before, .material-input>textarea+span::after {
    content: "";
    display: block;
    box-sizing: border-box;
    margin-top: 6px;
    border-top: solid 1px;
    border-top-color: rgba(var(--pure-material-onsurface-rgb, 0, 0, 0), 0.6);
    min-width: 10px;
    height: 8px;
    pointer-events: none;
    box-shadow: inset 0 1px transparent;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.material-input>input+span::before, .material-input>textarea+span::before {
    margin-right: 4px;
    border-left: solid 1px transparent;
    border-radius: 4px 0;
}

.material-input>input+span::after, .material-input>textarea+span::after {
    flex-grow: 1;
    margin-left: 4px;
    border-right: solid 1px transparent;
    border-radius: 0 4px;
}

/* Hover */
.material-input:hover>input, .material-input:hover>textarea {
    border-color: rgba(var(--pure-material-onsurface-rgb, 0, 0, 0), 0.87);
    border-top-color: transparent;
}

.material-input:hover>input+span::before, .material-input:hover>textarea+span::before, .material-input:hover>input+span::after, .material-input:hover>textarea+span::after {
    border-top-color: rgba(var(--pure-material-onsurface-rgb, 0, 0, 0), 0.87);
}

.material-input:hover>input:not(:focus):placeholder-shown, .material-input:hover>textarea:not(:focus):placeholder-shown {
    border-color: rgba(var(--pure-material-onsurface-rgb, 0, 0, 0), 0.87);
}

/* Placeholder-shown */
.material-input>input:not(:focus):placeholder-shown, .material-input>textarea:not(:focus):placeholder-shown {
    border-top-color: rgba(var(--pure-material-onsurface-rgb, 0, 0, 0), 0.6);
}

.material-input>input:not(:focus):placeholder-shown+span, .material-input>textarea:not(:focus):placeholder-shown+span {
    font-size: inherit;
    line-height: 52px;
}

.material-input>input:not(:focus):placeholder-shown+span::before, .material-input>textarea:not(:focus):placeholder-shown+span::before, .material-input>input:not(:focus):placeholder-shown+span::after, .material-input>textarea:not(:focus):placeholder-shown+span::after {
    border-top-color: transparent;
}

/* Focus */
.material-input>input:focus, .material-input>textarea:focus {
    border-color: rgb(var(--pure-material-primary-rgb, 62, 155, 124));
    border-top-color: transparent;
    box-shadow: inset 1px 0 var(--pure-material-safari-helper1), inset -1px 0 var(--pure-material-safari-helper1), inset 0 -1px var(--pure-material-safari-helper1);
    outline: none;
}

.material-input>input:focus+span, .material-input>textarea:focus+span {
    color: rgb(var(--pure-material-primary-rgb, 62, 155, 124));
}

.material-input>input:focus+span::before, .material-input>input:focus+span::after, .material-input>textarea:focus+span::before, .material-input>textarea:focus+span::after {
    border-top-color: var(--pure-material-safari-helper1) !important;
    box-shadow: inset 0 1px var(--pure-material-safari-helper1);
}

/* Disabled */
.material-input>input:disabled, .material-input>input:disabled+span, .material-input>textarea:disabled, .material-input>textarea:disabled+span {
    border-color: rgba(var(--pure-material-onsurface-rgb, 0, 0, 0), 0.38) !important;
    border-top-color: transparent !important;
    color: rgba(var(--pure-material-onsurface-rgb, 0, 0, 0), 0.38);
    pointer-events: none;
}

.material-input>input:disabled+span::before, .material-input>input:disabled+span::after, .material-input>textarea:disabled+span::before, .material-input>textarea:disabled+span::after {
    border-top-color: rgba(var(--pure-material-onsurface-rgb, 0, 0, 0), 0.38) !important;
}

.material-input>input:disabled:placeholder-shown, .material-input>input:disabled:placeholder-shown+span, .material-input>textarea:disabled:placeholder-shown, .material-input>textarea:disabled:placeholder-shown+span {
    border-top-color: rgba(var(--pure-material-onsurface-rgb, 0, 0, 0), 0.38) !important;
}

.material-input>input:disabled:placeholder-shown+span::before, .material-input>input:disabled:placeholder-shown+span::after, .material-input>textarea:disabled:placeholder-shown+span::before, .material-input>textarea:disabled:placeholder-shown+span::after {
    border-top-color: transparent !important;
}

/* Faster transition in Safari for less noticable fractional font-size issue */
@media not all and (min-resolution: .001dpcm) {
    @supports (-webkit-appearance:none) {
        .material-input>input, .material-input>input+span, .material-input>textarea, .material-input>textarea+span, .material-input>input+span::before, .material-input>input+span::after, .material-input>textarea+span::before, .material-input>textarea+span::after {
            transition-duration: 0.1s;
        }
    }
}

/* Switch */
.switch-btn {
    color: white;
    padding: 6px 12px;
    background: #269458;
    display: inline-block;
    float: left;
    width: 49%;
    text-align: center;
}

.switch-btn:first-child {
    border-right: 1.5px solid white;
}

.switch-btn:hover {
    cursor: pointer;
    transition: .3s;
    opacity: .6;
}

.switch-left {
    border-radius: 6px 0 0 6px;
}

.switch-right {
    border-radius: 0 6px 6px 0;
}

.switch-selected {
    -webkit-box-shadow: inset 7px 7px 20px -10px rgba(0, 0, 0, 0.75);
    -moz-box-shadow: inset 7px 7px 20px -10px rgba(0, 0, 0, 0.75);
    box-shadow: inset 7px 7px 20px -10px rgba(0, 0, 0, 0.75);
    background: #266945;
}


#editPropertyForm {
    display: flex;
    flex: 50%;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px;
}

#editPropertyForm .material-input {
    width: 49%;
}

.edit-polygon-btns {
    position: absolute;
    top: 15px;
    z-index: 999;
    color: white;
    font-weight: bold;
    text-align: center;
    display: flex;
    justify-content: space-between;
    left: 50%;
    transform: translateX(-50%);
    background: white;
    padding: 12px;
    gap: 12px;
    border-radius: 4px;
    box-shadow: 0 2px 15px 0 rgb(0 0 0 / 10%);
}

.edit-polygon-btns span {
    width: 100px;
    background: #3d3935;
    padding: 6px 0;
    display: block;
    border-radius: 4px;
    box-shadow: 0 0 10px 0 rgb(0 0 0 / 15%);
}

.edit-polygon-btns span:hover {
    cursor: pointer;
    transition: .3s;
    background: #797979;
}
/* **************************************** */





/* **************************************** */
/* Material Checkbox */
/* **************************************** */
.checkbox {
    display: block;
    position: relative;
    margin: 0 0 6px;
    font-size: 14px;
    font-weight: 500;
}

.checkbox__input {
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    opacity: 0;
    z-index: 0;
}

.checkbox__label {
    display: block;
    padding: 0 0 0 30px;
    cursor: pointer;
}

.checkbox__label:before {
    content: '';
    position: absolute;
    top: 2px;
    left: 0;
    width: 20px;
    height: 20px;
    background-color: transparent;
    border: 2px solid rgba(0, 38, 70, 83.54);
    border-radius: 2px;
    z-index: 1;
    -webkit-transition: all 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    transition: all 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    -webkit-transition-property: background-color, border-color;
    transition-property: background-color, border-color;
}

.checkbox__label:after {
    content: '';
    position: absolute;
    top: 4px;
    left: 7px;
    width: 6px;
    height: 12px;
    border-bottom: 2px solid transparent;
    border-right: 2px solid transparent;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    z-index: 2;
    -webkit-transition: border-color 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    transition: border-color 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}

.checkbox__input:checked+.checkbox__label:before {
    background-color: #70943d;
    border-color: #70943d;
}

.checkbox__input:checked+.checkbox__label:after {
    border-color: #fff;
}
/* **************************************** */





/* **************************************** */
/* * Admin */
/* **************************************** */
section.logo-header {
    width: 100%;
    padding: 15px 30px 20px;
    background: var(--black);
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
}

.uk-navbar-container>.uk-navbar-nav>li>a {
    color: white;
    font-weight: bold;
    min-height: 30px !important;
}

section.logo-header img {
    height: 30px;
}

.content-width {
    display: block;
    margin: auto;
    width: 100%;
    max-width: 1200px;
    padding: 25px;
}

.form-outer {
    width: 800px;
    margin: 30px auto;
    padding: 0 15px;
}

.form-outer label {
    font-weight: bold;
    display: block;
    margin: 0 0 5px 0;
}

.form-outer select, .form-outer input {
    display: block;
    margin: 0 0 15px 0;
    width: 100%;
    padding: 7px 10px;
    border-radius: 4px;
    border: 1px solid black;
}

.edit-managers-outer {
    margin-bottom: 15px;
}

.edit-managers-outer .manager {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
}

.manager-btn-svg {
    color: #fff;
    text-decoration: none;
    background: var(--blue);
    padding: 9px 13px;
    border-radius: 5px;
    font-weight: 600;
    border: none;
    font-size: 17px;
    margin-top: 6px;
}

.manager-btn-svg:hover {
    color: #fff;
    text-decoration: none;
    opacity: 0.6;
    cursor: pointer;
    transition: .3s;
}

.manager-btn {
    color: #fff;
    text-decoration: none;
    background: var(--blue);
    padding: 10px 15px;
    border-radius: 4px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    font-weight: 600;
    border: none;
}

.manager-btn:hover {
    color: #fff;
    text-decoration: none;
    opacity: .6;
    cursor: pointer;
    transition: .3s;
}
/* **************************************** */





/* **************************************** */
/* * Login/signup */
/* **************************************** */
.sidebar-login-signup {
    justify-content: space-between !important;
    max-width: fit-content;
    display: flex;
    margin: 10px auto;
    align-items: center;
    gap: 20px;
}

#upgradePromptModal .uk-modal-body,
#changePasswordModal .uk-modal-body,
#loginModal .uk-modal-body,
#forgotPasswordModal .uk-modal-body {
    max-width: 400px !important;
}

.sidebar-login-signup {
    justify-content: space-between !important;
    max-width: fit-content;
}

.or-divider {
    position: relative;
    width: 100%;
    height: 50px;
    line-height: 50px;
    text-align: center;
    margin: 20px 0;
    color: #b3b7bd;
}

.or-divider::before,
.or-divider::after {
    position: absolute;
    width: 45%;
    height: 1.5px;
    top: 24px;
    background: #e6ebf1;
    content: '';
}

.or-divider::before {left: 0;}
.or-divider::after {right: 0;}

.login-modal-form .sbtn {
    margin-top: 20px;
}

.alternate-signin a {
    font-weight: 400;
    line-height: 20px;
    font-size: 14px;
    color: #9ca4ad !important;
    display: block;
    margin-bottom: 10px;
    text-align: center;
}

.alternate-signin a:hover {
    cursor: pointer;
    transition: .3s;
    color: #333 !important;
}

.map-types-list {
    font-weight: 400;
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
    cursor: pointer;
    font-size: 12px;
    line-height: 18px;
    border-radius: 4px;
    margin-bottom: 12px;
    transition: all .125s;
    max-height: 300px;
    overflow-y: auto;
}

.map-types-list__option:hover {
    background: #f6f8f8;
}

.map-types-list__option:hover > .map-types-list__button {
    fill: #000000;
    border: 2px solid #000000;
}

.map-types-list__titles {
    line-height: 18px;
    border: 0;
    vertical-align: baseline;
    margin-bottom: 6px;
    font-size: 12px;
}

.map-types-list__button {
    width: 35px;
    fill: #627889;
    border: 2px solid #627889;
    padding: 6px 7px;
    border-radius: 100px;
    max-height: 35px;
}

.map-types-list__option {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    align-items: center;
    border-bottom: 1px solid #627889;
    padding: 10px 10px 10px 0;
}
/* **************************************** */





/* **************************************** */
/* * GOV.uk form */
/* **************************************** */
.form-group {
    color: #0b0c0c;
    overflow-wrap: anywhere;
    word-break: break-word;
    -webkit-font-smoothing: antialiased;
    font-weight: 400;
    font-size: 19px;
    line-height: 1.3157894737;
    text-align: left;
    vertical-align: baseline;
    border: none;
    margin: 0;
    padding: 0;
    margin-top: 0;
    box-sizing: border-box;
    /* margin-bottom: 20px; */
    flex-grow: 1;
    /* flex-basis: 320px; */
}

.form-group>label {
    overflow-wrap: anywhere;
    word-break: break-word;
    text-align: left;
    border: none;
    margin: 0;
    padding: 0;
    display: block;
    margin-bottom: 0;
    text-transform: none;
    font-size: 17px;
    line-height: 1.75;
    font-weight: bold;
}

.form-group>input,
.form-group>select,
.form-group>textarea {
    overflow-wrap: anywhere;
    word-break: break-word;
    -webkit-font-smoothing: antialiased;
    appearance: none;
    border: 2px solid #000000;
    border-radius: 0;
    box-sizing: border-box;
    font-weight: 400;
    height: 36px;
    margin-top: 0;
    padding: 8px 12px;
    font-size: 16px;
    line-height: 20px;
    width: 100%;
    border-radius: 2px;
}

.form-group>select {
    background: #f2f2f2 url(../images/down-triangle.svg) no-repeat;
    background-position: right;
    background-size: 20px;
    padding-right: 20px;
}

.form-group>textarea {
    height: 50px;
}

fieldset#printTypeSelect {
    margin: 0;
}

.form-group p {
    margin: 0 0 10px 0;
    font-size: 14px;
}

header.nav-banner .form-group {
    margin-bottom: 0;
}
/* **************************************** */





/* **************************************** */
/* * SVG Stuff */
/* **************************************** */
.selected-pitch {
    fill: #1e9a24 !important;
    opacity: 1 !important;
}

.booked-pitch {
    fill: rgb(171, 16, 16) !important;
    opacity: 1 !important;
}
/* **************************************** */





/* **************************************** */
/* * Sidebar */
/* **************************************** */
.sidebar {
    width: 300px;
    overflow-y: auto;
    border-right: 1.5px solid #e6ebf1;
    transition: .3s;
    background: white;
    overflow-x: hidden;
    height: 100%;
    z-index: 1009;
    position: relative;
}

.sidebar-padding {
    padding: 10px;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
}

.sidebar-tool-outer {
    margin-bottom: 15px;
}

.sidebar-expand {
    display: none;
    padding: 0 5px;
    height: 100px;
    background: #f3f5f7;
    border-radius: 0 5px 5px 0;
    border: 1.5px solid #e6ebf1;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1009;
    align-items: center;
}

.sidebar-expand:hover {
    background: #e4e5e7;
    cursor: pointer;
    transition: .3s;
}

.sidebar-expanded {
    left: 399px;
}

#sidebarKey .key-el {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: start;
}

#sidebarKey .key-el img {
    width: 35px;
}

#sidebarKey .key-el img:hover {
    opacity: 0.6;
    transition: .3s;
    cursor: pointer;
}

.sidebar-logo {
    width: 250px;
    margin: 10px 0 0 0;
    position: relative;
}

.sortable-icon {
    display: none;
    background: url(../images/sortable-icon.svg) no-repeat;
    height: 13px;
    width: 16px;
    background-size: cover;
    /* position: absolute; */
    /* margin-left: -15px; */
    opacity: .6;
}

.sidebar-tool-body .key-el:hover>.sortable-icon {
    display: block;
}

/* .sidebar-tool-body .key-el:hover {
    margin-left: -22px;
} */

.sidebar-buttons-container {
    margin-bottom: 12px;
    padding-bottom: 12px;
    display: flex;
    justify-content: space-between;
    gap: 15px;
}

.sidebar-big-btn {
    font-size: 18px;
    color: #fff;
    text-decoration: none;
    background: #002E22;
    padding: 16px 20px;
    border-radius: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    border: none;
    line-height: 14px;
}

.sidebar-big-btn:hover {
    color: #fff;
    text-decoration: none;
    background: #012017;
    cursor: pointer;
    transition: .3s;
}

.sidebar-big-btn svg {
    width: 14px;
}

.sidebar-profile {
    display: flex;
    justify-content: start;
    gap: 15px;
    align-items: center;
    margin: 15px 0 0 0;
    border-top: 1.5px solid #e6ebf1;
    padding: 20px 15px 15px 15px;
    position: absolute;
    left: 0;
    bottom: 0;
    background: white;
    width: 100%;
}

.sidebar-profile svg {
    margin-left: auto;
}

.sidebar-profile-image {
    background: url(../images/profile-img-icon.png) no-repeat;
    height: 30px;
    width: 30px;
    background-size: cover;
}

.sidebar-profile .sidebar-profile-email {
    font-weight: 600;
    font-size: 15px;
    line-height: 10px;
}

.sidebar-profile .logout-link {
    color: #818790;
    font-size: 13px;
}

#makePublicOuter svg {
    width: 15px;
}

.settings-dropdown {
    margin-left: auto;
}

.sidebar-profile .settings-icon:hover {
    opacity: .6;
    transition: .3s;
    cursor: pointer;
}

.sidebar-tool-name {
    background: #f3f5f7;
    padding: 7px 15px;
    border-radius: 4px;
    margin-bottom: 10px;
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 15px;
    font-weight: 600;
    font-size: 13px;
}

.sidebar-tool-name:hover,
.sidebar-tool-name .sidebar-expand-icon:hover~.sidebar-tool-name {
    background: #e4e5e7;
    cursor: pointer;
    transition: .3s;
}

.sidebar-expand-icon {
    opacity: .6;
    cursor: pointer;
    transition: .3s;
}

.sidebar-tool-name .sidebar-tool-icon {
    height: 20px;
    width: 20px;
    background-size: cover;
}

.sidebar-upgrade .sidebar-tool-name {
    background: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)), linear-gradient(45deg,#fe5026,#5c52a3);
    color: white;
    justify-content: center;
}

.sidebar-upgrade .sidebar-tool-name:hover {
    transition: .4s;
    cursor: pointer;
    background: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)), linear-gradient(338deg,#fe5026,#5c52a3);
}

.sidebar-headings .sidebar-tool-icon {background: url(../images/headings-titles-icon.svg) no-repeat;}
.sidebar-location-markers .sidebar-tool-icon {background: url(../images/location-marker-icon.svg) no-repeat;}
.sidebar-map-settings .sidebar-tool-icon {background: url(../images/map-settings-icon.svg) no-repeat;}
.sidebar-import .sidebar-tool-icon {background: url(../images/import-icon.svg) no-repeat;}
.sidebar-population .sidebar-tool-icon {background: url(../images/population-icon.svg) no-repeat;}
.sidebar-analytics .sidebar-tool-icon {background: url(../images/analytics-icon.svg) no-repeat;}
.sidebar-combined .sidebar-tool-icon {background: url(../images/combine-polygons-icon.svg) no-repeat;}
.sidebar-isochrone .sidebar-tool-icon {background: url(../images/car-icon.svg) no-repeat;}
.sidebar-shapes .sidebar-tool-icon {background: url(../images/polygon-icon.svg) no-repeat;}
.sidebar-share .sidebar-tool-icon {background: url(../images/share-icon.svg) no-repeat;}
.sidebar-export .sidebar-tool-icon {background: url(../images/export-icon.svg) no-repeat;}
.sidebar-upgrade .sidebar-tool-icon {background: url(../images/upgrade-icon.svg) no-repeat;}

.sidebar-tool-name .sidebar-expand-icon {
    background: url(../images/expand-icon.svg) no-repeat;
    height: 20px;
    width: 20px;
    background-size: cover;
    margin-left: auto;
}

.sidebar-tool--open .sidebar-tool-body {
    display: block;
}

.sidebar-tool-body {
    display: none;
}

.postcode-search-container {
    display: flex;
    justify-content: start;
    align-items: center;
    margin-bottom: 12px;
}

.postcode-search-container .field {
    padding-bottom: 0;
}

.postcode-search-container .field input {
    border-radius: 5px 0 0 5px;
}

.export-btns {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.postcode-search-btn {
    border-radius: 0 5px 5px 0;
    padding: 10px 15px;
    margin-top: .4285714286em;
    background: #5c52a3;
}

.postcode-search-btn svg {
    height: 20px;
    width: 20px;
    fill: #fff;
}

.postcode-search-btn:hover {
    background: #393366;
    cursor: pointer;
    transition: .3s;
}

.colour-with-label {
    display: flex;
    justify-content: start;
    gap: 12px;
    align-items: center;
}

.colour-with-label label {
    font-weight: 400;
    margin: 0;
}

.map-type-unchecked {
    color: var(--brand-purple);
    border: 1.5px solid var(--brand-purple);
    background: white;
}

.map-type-unchecked:hover {
    color: #fff;
    text-decoration: none;
    background: #393366;
    cursor: pointer;
    transition: .3s;
}

.sidebar-map-type-btns {
    border-bottom: 1.5px solid #e6ebf1;
    margin-bottom: 12px;
    padding-bottom: 12px;
}

.email-verify-banner {
    background: var(--brand-purple);
    color: white;
    font-weight: bold;
}

.email-verify-banner .sidebar-padding {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.email-verify-banner p {
    margin: 0;
}

.email-verify-banner .sbtn-tertiary {
    color: #fff !important;
    fill: #fff !important;
    background: transparent !important;
    border-color: #fff !important;
}

.colour-input-label {
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 10px;
    justify-content: space-between;
}

.whats-new-title {
    display: inline-block;
}

.additional-data-list h5 {
    margin: 0 0 5px 0;
    font-weight: 600;
}

#whatsNewPresent {
    position: relative;
}

.whats-new-dot {
    height: 10px;
    width: 10px;
    border-radius: 100px;
    background: #0969da;
    position: absolute;
    top: 3px;
    right: -3px;
    border: 1.5px solid white;
}
/* **************************************** */





/* **************************************** */
/* * What's new */
/* **************************************** */
.whats-new-outer {
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    gap: 25px;
    padding: 16px;
    border-top: 1.25px solid #EDF2F7;
    position: absolute;
    bottom: 0;
    width: 100%;
    justify-content: space-between;
    background: white;
    -webkit-box-shadow: 0px 16px 71px -24px rgba(0,0,0,0.93);
    -moz-box-shadow: 0px 16px 71px -24px rgba(0,0,0,0.93);
    box-shadow: 0px 16px 71px -24px rgba(0,0,0,0.93);
}

.whats-new-outer a {color:black;}

.whats-new-outer:hover {
    cursor: pointer;
}

.whats-new-outer:hover path {
    fill: #5c52a3;
    transition: color 0.3s ease-in-out 0s;
}

.whats-new-modal-body h3 {
    margin-bottom: 12px;
}

.whats-new-element {
    padding-bottom: 15px;
    border-bottom: 1.25px solid #EDF2F7;
    margin-bottom: 15px;
}

.whats-new-element h4 {
    margin-top: 0;
    font-weight: bold;
}

.whats-new-element .whats-new-date {
    font-size: 12px;
    font-weight: 400;
    color: #c8c8c8;
}

#whatsNewModal .uk-modal-dialog {
    max-height: calc(100vh - 80px);
    overflow-y: auto;
}

.profile-icon {
    background: transparent;
    border: none;
    display: flex;
    justify-content: start;
    gap: 10px;
    align-items: center;
}

.profile-icon span a:first-child { font-weight: bold;}
.profile-icon span a:last-child {
    font-size: 14px;
    color: var(--brand-purple);
    text-decoration: underline;
}


.profile-icon svg {
    height: 100%;
}

.profile-icon svg:hover {
    opacity: .6;
    cursor: pointer;
    transition: .3s;
}
/* **************************************** */






/* **************************************** */
/* * Loading */
/* **************************************** */
#loadingModal .uk-modal-dialog {
    width: auto !important;
    border-radius: 100px !important;
}

.loader {
    border: 16px solid #f3f3f3;
    border-radius: 50%;
    border-top: 16px solid #3498db;
    width: 120px;
    height: 120px;
    -webkit-animation: spin 1s linear infinite; /* Safari */
    animation: spin 1s linear infinite;
}

/* Safari */
@-webkit-keyframes spin {
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.renewal-bg {
    background: url(../images/renew-background-img.jpg) no-repeat center center fixed;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    height: 100vh;
}
/* **************************************** */





/* **************************************** */
/* * Nav */
/* **************************************** */
header.nav-banner {
    width: 100%;
    background: #D39E3D;
    padding: 15px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: white;
    border-bottom: 2px solid #002E22;
}

header.nav-banner nav.map-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

header.nav-banner nav.map-nav button.nav-item {
    padding: 12px 6px;
    transition: all .2s;
    display: flex;
    font-size: 12px;
    line-height: 14px;
    font-weight: 700;
    justify-content: space-between;
    gap: 8px;
    align-items: center;
    background: none;
    color: white;
    border: none;
}

header.nav-banner nav.map-nav button.nav-item:hover {
    background: #283b5a;
    cursor: pointer;
    transition: .3s;
}

header.nav-banner .nav-share-btn {
    border-left: rgba(255,255,255,.1);
    font-weight: 700;
}

header.nav-banner .nav-logo {
    display: flex;
    gap: 12px;
    align-items: center;
}

header.nav-banner .nav-logo img {
    width: 45px;
}

header.nav-banner .nav-logo span {
    color: white;
    font-weight: bold;
    font-size: 20px;
    line-height: 0;
}

.save-drop-duo {
    display: flex;
    justify-content: start;
    gap: 0;
    align-items: center;
    position: relative;
    width: 100%;
}

.save-drop-duo .sidebar-big-btn {width: 46%;}

#newMapBtn {border-radius: 4px 0 0 4px !important;border-right: 1.5px solid white;}
#openAMapBtn {border-radius: 0 !important;}
#saveMapBtn {width: 100%}

.save-dropdown-btn {
    background: #5c52a3;
    color: white;
    border-radius: 0 4px 4px 0;
    height: 34px;
    padding: 0 3px;
    font-size: 22px;
    border-left: 1.5px solid white;
}
.save-dropdown-btn:hover {
    cursor: pointer;
    transition: .3s;
    background: #393366;
}

.save-drop-duo .sbtn-primary {
    border-radius: 16.5px 0 0 16.5px !important;
}

.dropdown-outer:hover .drop {
    display: flex !important;
}

.drop {
    position: absolute;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgb(0 0 0 / 20%);
    z-index: 999999;
    right: 10px;
    background: white;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 500;
}

.drop span {
    padding: 10px 15px;
    width: 100%;
    border-radius: 4px;
}

.drop span:hover {
    cursor: pointer;
    transition: .3s;
    background: #b7b7b7;
}

#paymentOuter_complete {
    width: 500px;
    left: 50%;
    top: 50%;
    display: block;
    margin: 30px auto;
}
/* **************************************** */





/* **************************************** */
/* * Interactive map */
/* **************************************** */
#mapContainer {
    overflow: hidden;
}
#mapContainer svg {
    width: 100%;
    height: 100%;
}

.marker {
    fill: red;
    stroke: black;
    stroke-width: 1;
}

.map-container {
    position: relative;
    height: calc(100vh - 265px);
    width: 100vw;
}

#formContainer {
    max-width: 550px;
    display: block;
    margin: 0 auto;
    margin-bottom: 40px;
}
/* **************************************** */











/* **************************************** */
/* Loading Plugin */
/* **************************************** */
.pace {
    -webkit-pointer-events: none;
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

.pace-inactive {
    display: none;
}

.pace .pace-progress {
    background: #ff0000;
    position: fixed;
    z-index: 2000;
    top: 0;
    right: 100%;
    width: 100%;
    height: 4px;
}

/* **************************************** */





/* **************************************** */
/* * Stripe */
/* **************************************** */
#paymentOuter form {
    width: 100%;
    align-self: center;
    border-radius: 7px;
    margin-top: auto;
    margin-bottom: auto;
}

#paymentOuter .hidden {
    display: none;
}

#paymentOuter #payment-message {
    color: rgb(105, 115, 134);
    font-size: 16px;
    line-height: 20px;
    padding-top: 12px;
    text-align: center;
}

#paymentOuter #payment-element {
    margin-bottom: 24px;
}

/* Buttons and links */
#paymentOuter button {
    background: #0055DE;
    font-family: Arial, sans-serif;
    color: #ffffff;
    border-radius: 4px;
    border: 0;
    padding: 12px 16px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    display: block;
    transition: all 0.2s ease;
    box-shadow: 0px 4px 5.5px 0px rgba(0, 0, 0, 0.07);
    width: 100%;
}

#paymentOuter button:hover {
    filter: contrast(115%);
}

#paymentOuter button:disabled {
    opacity: 0.5;
    cursor: default;
}

/* spinner/processing state, errors */
#paymentOuter .spinner,
#paymentOuter .spinner:before,
#paymentOuter .spinner:after {
    border-radius: 50%;
}

#paymentOuter .spinner {
    color: #ffffff;
    font-size: 22px;
    text-indent: -99999px;
    margin: 0px auto;
    position: relative;
    width: 20px;
    height: 20px;
    box-shadow: inset 0 0 0 2px;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
}

#paymentOuter .spinner:before,
#paymentOuter .spinner:after {
    position: absolute;
    content: "";
}

#paymentOuter .spinner:before {
    width: 10.4px;
    height: 20.4px;
    background: #0055DE;
    border-radius: 20.4px 0 0 20.4px;
    top: -0.2px;
    left: -0.2px;
    -webkit-transform-origin: 10.4px 10.2px;
    transform-origin: 10.4px 10.2px;
    -webkit-animation: loading 2s infinite ease 1.5s;
    animation: loading 2s infinite ease 1.5s;
}

#paymentOuter .spinner:after {
    width: 10.4px;
    height: 10.2px;
    background: #0055DE;
    border-radius: 0 10.2px 10.2px 0;
    top: -0.1px;
    left: 10.2px;
    -webkit-transform-origin: 0px 10.2px;
    transform-origin: 0px 10.2px;
    -webkit-animation: loading 2s infinite ease;
    animation: loading 2s infinite ease;
}

/* Payment status page */
#paymentOuter_complete #payment-status {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    row-gap: 30px;
    width: 30vw;
    min-width: 500px;
    align-self: center;
    /* box-shadow: 0px 0px 0px 0.5px rgba(50, 50, 93, 0.1),
        0px 2px 5px 0px rgba(50, 50, 93, 0.1), 0px 1px 1.5px 0px rgba(0, 0, 0, 0.07); */
    /* border-radius: 7px; */
    padding: 40px;
    opacity: 0;
    animation: fadeInAnimation 1s ease forwards;
}

#paymentOuter_complete #status-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 40px;
    width: 40px;
    border-radius: 50%;
}

#paymentOuter_complete h2 {
    margin: 0;
    color: #30313D;
    text-align: center;
}

#paymentOuter_complete a {
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;
    font-family: Arial, sans-serif;
    display: block;
}

#paymentOuter_complete a:hover {
    filter: contrast(120%);
}

#paymentOuter_complete #details-table {
    overflow-x: auto;
    width: 100%;
}

#paymentOuter_complete table {
    width: 100%;
    font-size: 14px;
    border-collapse: collapse;
}

#paymentOuter_complete table tbody tr:first-child td {
    border-top: 1px solid #E6E6E6;
    /* Top border */
    padding-top: 10px;
}

#paymentOuter_complete table tbody tr:last-child td {
    border-bottom: 1px solid #E6E6E6;
    /* Bottom border */
}

#paymentOuter_complete td {
    padding-bottom: 10px;
}

#paymentOuter_complete .TableContent {
    text-align: right;
    color: #6D6E78;
}

#paymentOuter_complete .TableLabel {
    font-weight: 600;
    color: #30313D;
}

#paymentOuter_complete #view-details {
    color: #0055DE;
}

#paymentOuter_complete #retry-button {
    text-align: center;
    background: #0055DE;
    color: #ffffff;
    border-radius: 4px;
    border: 0;
    padding: 12px 16px;
    transition: all 0.2s ease;
    box-shadow: 0px 4px 5.5px 0px rgba(0, 0, 0, 0.07);
    width: 100%;
}

@-webkit-keyframes loading {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes loading {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes fadeInAnimation {
    to {
        opacity: 1;
    }
}

@media only screen and (max-width: 600px) {

    #paymentOuter_complete form,
    #paymentOuter_complete #payment-status {
        width: 80vw;
        min-width: initial;
    }
}

.more-info-box {
    display: block;
    max-width: 650px;
    margin: 0 auto;
    padding: 0 25px;
    text-align: center;
}
/* **************************************** */





/* **************************************** */
/* MEDIA QUERIES */
/* **************************************** */
@media screen and (max-width: 500px) {
    #keyOuter {
        font-size: 10px;
    }

    .logo-area {
        width: calc(100% - 65px);
    }

    .search-inputs-box .material-input {
        width: 100%;
    }

    #keyOuter {
        bottom: 268px;
        top: unset;
        left: 0;
        right: unset;
    }
}
/* **************************************** */
