@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');

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

:root {
    --font-primary: "Arial", sans-serif;
    --font-secondary: "Arial", serif;
    --pure-material-font: "Arial", sans-serif;
    --success: #28a745;
    --info: #17a2b8;
    --warning: #ffc107;
    --danger: #e44141;
    --danger-dark: #942b2b;
    --blue: #007bff;
    --red: #dc3545;
    --grey: #c6c6c6;
    --dark-grey: grey;
    --super-light-grey: #f3f3f3;
    --light-grey: lightgray;
    --grey-hover: #f1f3f5;
    --brand-green-light: #E6F5E7;
    --brand-white: #F6F6F3;
    --brand-black: #060400;


    --brand-green: #1E552A;
    --brand-green-dark: rgb(24, 66, 16);
    --brand-blue: #4485B7;
    --brand-blue-dark: #376d96;
    --paper: #EDE9C6;
    --ink: #0f2f3a;
    --edge: #d6d6cf;


    /* --brand-green: #059669; */
    /* --brand-green-dark: #047857; */
    /* --brand-green-light: #10b981; */
    /* --brand-green-muted: #d1fae5; */
    --bg-primary: #EDE9C6;
    --bg-secondary: #EDE9C6;
    --bg-panel: #ffffff;
    --text-primary: #0f172a;
    --text-secondary: #475569;
    --text-muted: #64748b;
    --border-color: #e2e8f0;
    --border-hover: #cbd5e1;
    --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.08), 0 2px 4px -2px rgb(0 0 0 / 0.08);
    --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}

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: var(--font-primary);
    min-width: 320px;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    overflow-x: hidden;
    color: #0f2f3a;
    font-variant-numeric: proportional-nums;
}

*,
:after,
:before {
    box-sizing: inherit
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-primary);
}

h1 {
    font-size: 36px;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 8px;
    letter-spacing: -0.8px;
}

h2 {
    font-size: 32px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 8px;
    letter-spacing: -0.8px;
}

h3 {
    font-size: 27px;
    font-weight: 500;
    color: var(--text-primary);
    margin-bottom: 8px;
    letter-spacing: -0.8px;
}

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
}

.clear {
    clear: both
}

.subtle-hr {
    height: 1.75px;
    background: #9a9a9a54;
    margin: 10px 0;
}

.dev-mode-banner {
    position: absolute;
    top: 67px;
    width: calc(100vw - 20px);
    background: red;
    left: 0;
    text-align: center;
    padding: 5px;
    color: white;
    font-weight: bold;
}

.uk-modal-dialog {
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}
/* **************************************** */





/* **************************************** */
/* * Page */
/* **************************************** */
.map-width {
    height: calc(100vh - 85px);
    width: 100vw;
    display: inline-block;
}

.map-fs {
    height: calc(100vh - 10px) !important;
}

#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);
}

.tools-box {
    position: absolute;
    top: 10px;
    left: 55px;
    width: 250px;
    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;
}

header.map-header {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    background: #1e5313;
}

header.map-header ul.nav-links {
    margin-bottom: 0;
}

.logo-small {
    width: 125px;
    margin: 12px;
}

.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: 18px;
    height: 18px;
    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;
}

#bugFormBtn {
    position: fixed;
    bottom: 20px;
    right: 20px;
}

.dual-buttons {
    display: flex;
    justify-content: start;
    margin: 0 auto;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    /*  margin-top: 20px;*/
}

.entry-dual-buttons {
    width: auto !important;
    margin-top: 25px;
}

.entry-dual-buttons button.action-btn {
    flex: 1;
}

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;
    line-height: 30px;
    font-weight: 500;
    font-size: 18px;
    display: flex;
    align-items: center;
    fill: white;
    color: white;
    background: #007BFF;
    gap: 10px;
    border: 2px solid #007BFF;
    justify-content: center;
}

button.sbtn svg {
    min-height: 15px;
    width: 20px;
    margin-top: 2px;
}

button.sbtn:hover {
    cursor: pointer;
    transition: .3s;
}

button.sbtn-primary:hover {
    background: #393366;
}

button.sbtn-danger {
    background: #e44141 !important;
    border-color: #e44141 !important;
}

button.sbtn-danger:hover {
    background: #942b2b !important;
    border-color: #942b2b !important;
}

button.sbtn-generate-response {
    background: #e49241 !important;
    border-color: #e49241 !important;
}

button.sbtn-generate-response:hover {
    background: #a1682e !important;
    border-color: #a1682e !important;
}

button.sbtn-secondary {
    letter-spacing: .2px;
    text-decoration: none;
    display: inline-block;
    padding: 0 18px;
    border-radius: 16.5px;
    color: #007BFF;
    fill: #007BFF;
    outline: none;
    box-sizing: border-box;
    font-weight: 500;
    line-height: 24px;
    font-size: 15px;
    transition-property: color, opacity;
    background: none;
    border: none !important;
    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 {
    fill: #007BFF;
    color: #007BFF;
    background: #fff;
}

button.sbtn-tertiary:hover {
    cursor: pointer;
    transition: .3s;
    color: #fff;
    fill: #fff;
    background: #393366;
    border-color: #393366;
}

button.sbtn-big {
    background: #398b26;            /* Stripe indigo */
    color: #fff;
    font-weight: 600;
    font-size: 20px;
    border: 0;
    border-radius: 6px;
    padding: 12px 22px;
    cursor: pointer;
    transition: background 0.2s, transform 0.1s;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.sbtn-big svg {
    min-height: 15px;
    max-height: 30px;
    fill: white;
}

.sbtn-big:hover {
    background: #2e6e20;
}

.sbtn-big:active {
    transform: scale(0.97);
}

.sbtn-big:disabled {
    background: #ccc;
    cursor: not-allowed;
}

button.read-plate-btn {
    letter-spacing: .2px;
    text-decoration: none;
    padding: 20px 18px;
    border-radius: 10px;
    white-space: nowrap;
    transition-property: background-color, opacity;
    justify-self: flex-start;
    line-height: 30px;
    font-weight: bold;
    font-size: 25px;
    display: flex;
    align-items: center;
    fill: white;
    color: white;
    background: #e7a815;
    border: 2px solid #e7a815;
    gap: 10px;
    margin: 0 auto 16px auto;
    width: 100%;
    justify-content: center;
}

button.read-plate-btn:hover {
    cursor: pointer;
    transition: .3s;
    background: #b88c0f;
    border-color: #b88c0f;
}

.rating {
    display: flex;
    justify-content: center;
    gap: 20px;
}
.rating button {
    font-size: 40px;
    background: none;
    border: none;
    cursor: pointer;
    transition: transform 0.2s, color 0.2s;
}
.rating button:hover {
    transform: scale(1.2);
}
.rating button.up:hover {
    color: green;
}
.rating button.neutral:hover {
    color: orange;
}
.rating button.down:hover {
    color: red;
}

.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%;
}

.input-grid .form-group {
    /* flex-basis: auto !important; */
    flex: 48%;
}

button.refresh-btn {
    position: absolute;
    top: 78px;
    right: 0;
    border: 2px solid grey;
    border-radius: 0 0 0 5px;
    border-top: none;
    border-right: 0;
}

button.refresh-btn svg {
    width: 30px;
    height: 35px;
}

button.refresh-btn:hover {
    cursor: pointer;
    transition: .3s;
    opacity: .4;
}

.rating {
    display: inline-flex;
    cursor: pointer;
}

.star {
    font-size: 2rem;
    padding: 0 5px;
    color: lightgray;
}

.star.hover,
.star.selected {
    color: gold;
}

.accept-auction-btn {
    letter-spacing: .2px;
    text-decoration: none;
    padding: 0 18px;
    border-radius: 8px;
    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: 16px;
    display: flex;
    align-items: center;
    fill: white;
    color: #0f0b07;
    background: #84c263;
    gap: 10px;
    border: 2px solid #0f0b07;
}

.accept-auction-btn:hover {
    cursor: pointer;
    transition: .3s;
    background: #5b9e4a;
}

.user-msg-preview {
    width: 100%;
    background: #fff7d4;
    padding: 10px 14px;
    border-radius: 4px;
    margin-bottom: 15px;
}

.send-msg-btn {
    letter-spacing: .2px;
    text-decoration: none;
    padding: 0 18px;
    border-radius: 8px;
    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: 16px;
    display: flex;
    align-items: center;
    fill: white;
    color: #0f0b07;
    background: #ffd686;
    gap: 10px;
    border: 2px solid #0f0b07;
}

.send-msg-btn:hover {
    cursor: pointer;
    transition: .3s;
    background: #c59b49;
}

.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;
}

@keyframes flash {

    0%,
    100% {
        background-color: var(--marker-original-color);
    }

    50% {
        background-color: red;
    }
}

.dot-icon.flash-once {
    animation: flash 1s linear;
}

.pswp__custom-zoom {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-left: 10px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    font-weight: bold;
}

.pswp__custom-zoom .pswp__button {
    position: relative;
    display: block;
    overflow: hidden;
    cursor: pointer;
    width: unset;
    height: unset;
    font-size: 30px;
    padding: 10px 16px;
    border: 1px solid black;
    line-height: 1;
    border-radius: 4px;
    background: white;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.pswp__custom-zoom .pswp__button:hover {
    position: relative;
    display: block;
    overflow: hidden;
    cursor: pointer;
    width: unset;
    height: unset;
    font-size: 30px;
    padding: 10px 16px;
    border: 1px solid black;
    line-height: 1;
    border-radius: 4px;
    background: white;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    transition: .3s;
    cursor: pointer;
    opacity: .6;
}


.action-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 20px;
    border: 2px solid var(--border-color);
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.action-btn svg {
    width: 18px;
    height: 18px;
    min-width: 18px;
    fill: white;
}

.main-action-btn {
    color: white;
    background: var(--brand-green);
    border-color: var(--brand-green);
    box-shadow: 0 2px 8px rgba(5, 150, 105, 0.2);
}

.main-action-btn:hover {
    background: var(--brand-green-dark);
    border-color: var(--brand-green-dark);
    box-shadow: 0 4px 12px rgba(5, 150, 105, 0.3);
}

.danger-action-btn {
    color: white;
    background: var(--danger);
    border-color: var(--danger);
    box-shadow: 0 2px 8px rgba(5, 150, 105, 0.2);
}

.danger-action-btn:hover {
    background: var(--danger-dark);
    border-color: var(--danger-dark);
    box-shadow: 0 4px 12px rgba(5, 150, 105, 0.3);
}

.secondary-action-btn {
    background: white;
    color: var(--text-primary);
}

.secondary-action-btn:hover {
    background: #f9fafb;
    border-color: var(--border-hover);
    box-shadow: var(--shadow-sm);
}

.secondary-action-btn>svg {
    fill: var(--text-primary);
}
/* **************************************** */






/* **************************************** */
/* * Tags */
/* **************************************** */
.tag-picker {
    width: 350px;
    position: relative;
}

.selected-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 8px;
}

.tag {
    padding: 4px 8px;
    border-radius: 12px;
    font-size: 13px;
    color: white;
    display: flex;
    align-items: center;
    gap: 6px;
}

.tag .remove {
    cursor: pointer;
    font-weight: bold;
}

.search-box {
    width: 100%;
    padding: 8px;
    box-sizing: border-box;
    border-radius: 4px;
    border: 1px solid #ccc;
}

.dropdown {
    position: absolute;
    background: #fff;
    border: 1px solid #ccc;
    width: 100%;
    max-height: 150px;
    overflow-y: auto;
    border-radius: 4px;
    margin-top: 2px;
    z-index: 10;
    display: none;
}

.dropdown div {
    padding: 8px;
    cursor: pointer;
}

.dropdown div:hover {
    background: #f0f0f0;
}
/* **************************************** */






/* **************************************** */
/* * Sunmi */
/* **************************************** */
.sunmi-video-outer {
    position: absolute;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    padding: 20px;
    background: white;
}

/* **************************************** */





/* **************************************** */
/* * Listing / table */
/* **************************************** */
#enquiryImages {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

#enquiryImages img {
    width: 100%;
    height: auto;
    display: block;
}

.listing-content-split {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    align-items: flex-start;
    flex-wrap: wrap;
    flex-direction: column;
}

.listing-content-cols {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    align-items: flex-start;
    flex-wrap: wrap;
}

.listing-content-cols .listing-content-inputs {
    order: 2 !important;
}

.listing-images-outer {
    flex: 1.2 1 300px;
    order: 1;
}

.listing-images-outer>img {
    width: 100%;
    ;
}

.listing-content-inputs {
    flex: 1 1 400px;
    display: block;
    margin: 0 auto;
}

.listing-images-grid {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 25px;
}

.listing-images-grid img {
    flex: 1 1 calc(33% - 10px);
    max-width: calc(33% - 10px);
    height: auto;
    object-fit: cover;
}

.listing-status-box {
    width: 100%;
    text-align: center;
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 20px;
    background: red;
    padding: 10px;
    border-radius: 8px;
    color: white;
    border: 3px solid black;
}

.ask-question-box {
    display: block;
    margin: 0 auto;
    width: 100%;
    max-width: 100%;
    margin-top: 30px;
    background: #fff7d4;
    padding: 10px 15px;
    border-radius: 4px;
}

.question-name {
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 15px;
    display: flex;
    gap: 40px;
}

.ask-question-box textarea {
    width: 100%;
    margin-bottom: 10px;
    border: 2px solid black;
    border-radius: 4px;
    padding: 8px 10px;
}

.step-minimised {
    height: 38px;
    overflow: hidden;
    border: 2px solid black;
    padding-left: 8px;
    border-radius: 4px;
    background: #ededed;
}

.step-minimised:hover {
    cursor: pointer;
    transition: .3s;
    background: white;
}

.step-minimised {
    height: 38px;
    overflow: hidden;
    border: 2px solid black;
    padding-left: 8px;
    border-radius: 4px;
    background: #ededed;
}

.brief-details-listing {
}

.brief-details-listing h3 {
    font-weight: bold;
}

.details-grid {
    display: flex;
    justify-content: flex-start;
    gap: 20px;
    flex-wrap: wrap;
    background: var(--super-light-grey);
    padding: 10px 21px;
    margin-bottom: 20px;
}

.details-grid span {
    white-space: nowrap;
}

.listing-questions-outer {
    max-height: 600px;
    overflow-y: auto;
    margin-top: 20px;
}

.questions-outer {
    width: 100%;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.message-el {
    padding: 10px 15px;
    border-radius: 4px;
    margin-bottom: 12px;
}

.listing-payment-outer {
    /* width: 550px; */
    /* display: block; */
    margin: 40px auto;
}

.listing-payment-outer h2 {
    margin-bottom: 20px;
}

.payment-complete {
    text-align: center;
    font-weight: bold;
    background: green;
    padding: 16px;
    color: white;
    border-radius: 8px;
    width: 350px;
    display: block;
    margin: 0 auto;
    border: 2px solid #194619;
}

.questions-outer,
.payment-outer,
.more-details-outer {
    margin-bottom: 25px !important;
}

.box h3 {
    max-width: calc(100% - 30px);
}

.map-options-list {
    position: absolute;
    display: flex;
    flex-direction: column;
    right: 20px;
    top: 45px;
    background: var(--brand-white);
    border-radius: 8px;
    width: 125px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    z-index: 1000;
}

button.options-list-btn {
    background: transparent;
    border: none;
    text-align: left;
    padding: 8px 15px;
    border-bottom: 1px solid var(--dark-grey);
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
}

button.options-list-btn:last-child {
    border: none;
}

button.options-list-btn:hover {
    background: var(--grey);
    transition: .3s;
    cursor: pointer;
}

button.options-list-btn svg {
    width: 16px;
}

.two-columns {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid grey;
}

.two-columns>div {
    flex: 1 1 calc(50% - 40px);
    max-width: calc(50% - 40px);
    height: auto;
    object-fit: cover;
}

.tabs-outer {
    display: inline-flex;
    align-items: stretch;
    gap: 0;
    padding: 0;
    background: #f8fbff;
    border: 1px solid #d4d7d8;
    border-radius: 10px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.08);
    overflow-x: auto;
    overflow-y: hidden;
    max-width: 100%;
    width: 100%;
    margin-bottom: 25px;
}

.tab {
    padding: 10px 22px;
    background: transparent;
    border: none;
    font-size: 14px;
    color: var(--text-primary);
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
    white-space: nowrap;
    text-align: center;
    flex: 1 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
}

.tabs-outer .tab + .tab {
    border-left: 1px solid #d6dde5;
}

.tab:hover {
    background: #eef2f7;
    color: var(--brand-green);
    border-color: var(--brand-green);
    box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.1);
}

.tab svg {
    width: 16px;
    margin-right: 5px;
}

.tab.active {
    background: var(--brand-green-light);
    box-shadow: inset 0 0 0 1px var(--brand-green-light);
    border-color: var(--brand-green);
    color: var(--brand-green);
    fill: var(--brand-green);
}

.td-flex {
    display: flex;
    justify-content: flex-start;
    gap: 10px;
    align-items: center;
    margin-left: 10px;
}

.td-flex svg {
    min-width: 22px;
}

.expand-row {
    background: #f9f9f9;
    padding: 20px;
    margin-top: -40px;
    margin-bottom: 40px;
    width: 100%;
}

.expand-row td {
    padding: 20px !important;
    white-space: normal;
}

.expand-flex-outer {
    display: flex;
    width: 100%;
    position: relative;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    max-width: calc(100vw - 90px);
}

.expand-row-col {
    flex: 1;
    padding: 10px;
}

.expand-row-col img {
    width: 250px !important;
    margin: 15px 0 !important;
}

.expand-row-col:first-child {
    flex: 0 0 40%;
}

.expand-row-col:last-child {
    flex: 0 0 60%;
}

.open-row-notes {
    display: flex;
    gap: 0;
    align-items: flex-start;
    margin-top: 25px;
    flex-direction: column;
}

.open-row-col ul {
    padding-left: 20px;
    max-width: 500px;
    white-space: normal;
}

.notes-feed {
    display: block;
    min-width: 200px;
    height: 231px;
    border-radius: 4px;
    border: 2px solid var(--dark-grey);
    padding: 12px;
    background: white;
    overflow-y: auto;
    width: 100%;
}

.note-item {
    border-bottom: 1px solid rgba(0, 0, 0, 0.25);
    padding: 8px 0;
    font-size: 13px;
}

.note-item:last-child {
    border-bottom: none;
}

.note-meta {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 10px;
    color: var(--dark-grey);
}

.note-author {
    font-weight: 600;
    color: #111;
}

.note-time {
    margin-left: auto;
    font-size: 12px;
    color: #6b6b6b;
}

.note-body {
    margin-top: 4px;
    line-height: 1.35;
    color: #1f1f1f;
}

.note-empty {
    font-size: 13px;
    color: #6b6b6b;
    padding: 6px 0;
}

.write-note {
    flex-grow: 1;
    min-width: 200px;
    width: 100%;
    margin-top: 6px;
}

.box-container {
    display: flex;
    gap: 20px;
    margin: 30px 0;
    justify-content: space-between;
}

.box {
    position: relative;
    width: 30%;
    padding: 16px;
    background: #f9f9f9;
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    border: 2px solid transparent;
    transition: border 0.2s;
}

.box:hover {
    border: 2px solid #2196F3;
}

.hidden-checkbox {
    display: none;
}

.checkbox-container {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 24px;
    height: 24px;
    background-color: #eee;
    border-radius: 4px;
    transition: background 0.2s;
}

.checkmark {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
}

.checkmark:after {
    content: "";
    position: absolute;
    display: none;
    left: 8px;
    top: 4px;
    width: 6px;
    height: 12px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.hidden-checkbox:checked+.checkbox-container {
    background-color: #2196F3;
}

.hidden-checkbox:checked+.checkbox-container .checkmark:after {
    display: block;
}

.addon-limited {
    opacity: .6;
    pointer-events: none;
}

#price-breakdown {
    border: 1px solid #ccc;
    border-radius: 12px;
    padding: 20px;
    max-width: 100%;
    font-family: var(--font-primary);
    background: #f9f9f9;
    margin: 20px 0;
}

#price-breakdown h4 {
    margin-top: 0;
    margin-bottom: 12px;
    font-size: 18px;
    border-bottom: 1px solid #ddd;
    padding-bottom: 6px;
}

#price-breakdown .row {
    display: flex;
    justify-content: space-between;
    margin: 4px 0;
    gap: 30px;
}

#price-breakdown .total {
    font-weight: bold;
    font-size: 16px;
    margin-top: 8px;
}

.pricing-inner {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
}

.box p {
    margin-bottom: 0;
}

.sidebar-item {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
    border: 1px solid #ccc;
    border-radius: 6px;
    padding: 10px 12px;
    max-width: 100%;
    background: #f9f9f9;
    margin: 10px 0;
}

.sidebar-item-name span {
    display: block;
    font-size: 13px;
    font-weight: 500;
}

.sidebar-item-name span:first-child {
    font-size: 14px;
    font-weight: bold;
}

section.mobile-content-width .mobile-row {
    width: 100%;
    padding: 10px 15px;
    border-radius: 8px;
    display: flex;
    margin-bottom: 40px;
    border: 2px solid darkgrey;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-start;
    font-weight: bold;
    flex-wrap: wrap;
}

section.mobile-content-width {
    width: 100%;
    padding: 25px 30px;
}


.enq-row {
    position: relative;
    z-index: 0;
}

.enq-row:hover {
    background-color: #a5ddb9;
    transform: scale(1.005);
    z-index: 2;
}

/* .payment_awaiting-payment { background: #f1cb9d; color: #b16100;}
.payment_awaiting-payment td:first-child { border-left-color: #b16100; }

.payment_paid { background: #9bc7af; color: #064e3b;}
.payment_paid td:first-child { border-left-color: #064e3b; } */
/* **************************************** */





/* **************************************** */
/* * Autocomplte */
/* **************************************** */
.header-search {
    position: relative;
    width: 400px;
}

/* Container */
.search-results {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    max-height: 240px;
    margin-top: 4px;
    padding: 4px 0;
    background: #ffffff;
    border: 1px solid #e1e4e8;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
    overflow-y: auto;
    z-index: 1000;
    font-family: var(--font-primary);
    font-size: 14px;
    color: #24292e;
}

/* Option item */
.autocomplete-item {
    display: flex;
    align-items: center;
    padding: 8px 12px;
    cursor: pointer;
    transition: background 0.1s ease-in-out;
}

/* Divider between items */
.autocomplete-item+.autocomplete-item {
    border-top: 1px solid #f1f3f5;
}

/* Hover / active state */
.autocomplete-item:hover,
.autocomplete-item.active {
    background: #f6f8fa;
}

/* Highlight matched text */
.autocomplete-item mark {
    background: #fff5b1;
    color: #233237;
    font-weight: 600;
    padding: 0 2px;
    border-radius: 2px;
}

/* Optional: small icon on left */
.autocomplete-item .icon {
    margin-right: 8px;
    width: 16px;
    height: 16px;
    fill: #57606a;
    flex-shrink: 0;
}

/* Scrollbar styling */
.search-results::-webkit-scrollbar {
    width: 6px;
}

.search-results::-webkit-scrollbar-thumb {
    background: rgba(36, 41, 46, 0.2);
    border-radius: 3px;
}

/* **************************************** */





/* **************************************** */
/* * Stripe */
/* **************************************** */
#submit {
    background-color: #ff8800;
    color: #ffffff;
    border: 0;
    border-radius: 4px;
    padding: 12px 16px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    width: 100%;
    text-align: center;
    margin-top: 16px;
}

#submit:hover {
    background-color: #c26c0a;
}

#submit:disabled {
    opacity: 0.5;
    cursor: default;
}

#spinner {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid #ffffff;
    border-top-color: transparent;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

.hidden {
    display: none !important;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

#payment-message {
    color: red;
    font-weight: bold;
    font-size: ;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 10px 15px;
    border-radius: 8px;
    background: white;
    box-shadow: rgba(64, 87, 109, 0.25) 0px 0px 0px 1px, rgba(64, 87, 109, 0.25) 0px 6px 20px 7px;
    max-width: 320px;
    font-size: 30px;
}
/* **************************************** */





/* **************************************** */
/* * Delivery page */
/* **************************************** */
.delivery-content-width {
    display: flex;
    margin: auto;
    width: 100vw;
    height: calc(100vh - 80px);
}

.delivery-map-width {
    position: relative;
    height: calc(100vh - 80px);
    width: calc(100vw - 300px);
}

.sidebar {
    width: 300px;
    min-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: 13px;
    color: #fff;
    text-decoration: none;
    background: var(--brand-purple);
    padding: 10px 12px;
    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: #393366;
    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, #007BFF);
    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, #007BFF);
}

.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;
}

.shape-sidebar-icon svg {
    mix-blend-mode: difference;
}

.shape-sidebar-icon svg path {
    fill: white !important;
}

.lot-note-btn {
    width: 36px;
    padding: 4px 5px;
    background: none;
    border: none;
}

.lot-note-btn:hover {
    cursor: pointer;
    transition: .3s;
    opacity: .6;
}

button.admin-sidebar-btn {
    background: var(--white);
    padding: 6px 0 6px 8px;
    margin-bottom: 10px;
    border-radius: 8px;
    font-weight: 600;
    border: none;
    width: 100%;
    text-align: left;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 12px;
}

button.admin-sidebar-btn:hover {
    cursor: pointer;
    transition: .3s;
    background: var(--brand-primary);
    color: white;
}

button.admin-sidebar-btn svg {
    width: 15px;
}

button.admin-sidebar-btn:hover>svg {
    fill: white;
}

.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: #007BFF;
}

.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;
}

button.view-icon-btn svg {
    width: 18px;
}

button.view-icon-btn {
    border: 1px solid black;
    background: #acacac;
    border-radius: 100px;
    width: 32px;
    height: 32px;
}

button.view-icon-btn:hover {
    cursor: pointer;
    transition: .3s;
    background: #cccccc;
}

/* **************************************** */





/* **************************************** */
/* * 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;
}

.close-row-btn {
    position: absolute;
    top: -15px;
    right: -15px;
    width: 40px;
    background: none;
    border: 0;
    padding: 0;
}

.close-row-btn:hover {
    cursor: pointer;
    transition: .3s;
    opacity: .6;
}

/* **************************************** */





/* **************************************** */
/* * 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);
    }
}

/* full-screen overlay */
#loading-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.8);
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

/* spinner */
.spinner {
    width: 50px;
    height: 50px;
    border: 6px solid #ccc;
    border-top-color: #333;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* **************************************** */





/* **************************************** */
/* * Map key */
/* **************************************** */
.map-key,
.marker-key {
    position: absolute;
    z-index: 999;
    right: 15px;
    top: 12px;
    border-radius: 4px;
    background: #ffffff !important;
    color: black;
    box-shadow: 0 2px 15px 0 rgb(0 0 0 / 10%);
}

.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: 4px 4px 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;
}

.map-key p.key-text {
    margin: 0;
    font-weight: 600;
}

.map-key .population-key-el {
    font-weight: normal;
    margin: 0;
    font-size: 11px;
    display: block;
}

#key.un-minimise-key {
    height: unset !important;
    overflow-y: hidden !important;
}

.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;
}

/* **************************************** */





/* **************************************** */
/* * 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;
}

/* **************************************** */





/* **************************************** */
/* * Map Key and sort */
/* **************************************** */
.heatmap-colours {
    display: flex;
    justify-content: flex-start;
    margin: 20px 0;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    border-top: 1px solid grey;
    padding: 20px 0;
    border-bottom: 1px solid grey;
}

.heatmap-colours .colour-box {
    width: 20px;
    height: 20px;
    border-radius: 4px;
}

.key-colour-tab {
    padding: 5px 8px 5px 5px;
    border-radius: 4px;
    width: 100%;
    font-weight: 500;
    color: white;
}

.heatmap-colours span {
    display: flex;
    align-items: center;
    gap: 5px;
    text-wrap: nowrap;
}

.grid-changer {
    border: .6px solid var(--light-grey);
    border-radius: 8px;
    width: 40px;
    padding: 0 2px;
    height: 40px;
}

.filters-box {
    padding: 6px 8px !important;
}

.grid-changer:hover {
    background: var(--grey-hover);
    cursor: pointer;
    transition: .3s;
}

.admin-filter-right svg {
    width: 100%;
    height: 100%;
}

.key-filters {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
    flex-wrap: wrap;
    flex-direction: row;
}

.filter-sort-outer {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    gap: 20px;
    flex-wrap: nowrap;
}

.key-filters .form-group {
    flex-basis: auto !important;
}
/* **************************************** */





/* **************************************** */
/* * Progress bar */
/* **************************************** */
.wrap-box{max-width:380px;}
.title-tag{font-size:14px;font-weight:600;margin-bottom:8px;color:#1a1f36}
.track-rail{width:100%;height:6px;border-radius:6px;background:#f6f9fc;overflow:hidden}
.track-load{height:100%;width:0;border-radius:6px;background:#5469d4;transition:width .35s ease}
.value-text{font-size:12px;font-weight:600;margin-top:7px;color:#425466}
/* **************************************** */





/* **************************************** */
/* * 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 */
/* **************************************** */
.material-checkbox {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    font-family: var(--font-primary);
    user-select: none;
    margin-left: 10px;
}

.material-checkbox input {
    display: none;
}

.material-checkbox .checkmark {
    width: 20px;
    height: 20px;
    border: 2px solid #1e5313;
    border-radius: 2px;
    margin-right: 8px;
    position: relative;
    transition: background 0.2s ease;
    background: white;
}

.material-checkbox input:checked+.checkmark {
    background: #3f51b5;
}

.material-checkbox .checkmark::after {
    content: "";
    position: absolute;
    display: none;
    left: 5px;
    top: 1px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.material-checkbox input:checked+.checkmark::after {
    display: block;
}

/* **************************************** */





/* **************************************** */
/* * 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;
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--text-primary);
    letter-spacing: 0.5px;
    margin-bottom: 4px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.form-group>input,
.form-group>select,
.form-group>textarea,
#envelopeStrapline {
    overflow-wrap: anywhere;
    word-break: break-word;
    -webkit-font-smoothing: antialiased;
    appearance: none;
    box-sizing: border-box;
    margin-top: 0;
    line-height: 20px;
    width: 100%;
    padding: 10px 15px;
    border: 1.5px solid var(--border-color);
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    background: white;
    color: var(--text-primary);
    transition: all 0.2s ease;
}

#autoComplete {
    overflow-wrap: anywhere;
    word-break: break-word;
    -webkit-font-smoothing: antialiased;
    appearance: none;
    font-weight: 500;
    background: url(../images/search-icon-black.svg) no-repeat;
    background-position: 10px center;
    background-size: 20px;
    color: var(--brand-black);
    box-sizing: border-box;
    padding: 12px 12px 12px 40px;
    border: 1.5px solid var(--border-color);
    border-radius: 6px;
    font-size: 14px;
    transition: all 0.2s ease;
    background-color: white;
    width: 100%;
}

.form-group>select {
    background: #fff 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;
}

.form-group>input:hover,
.form-group>select:hover,
.form-group>textarea:hover {
    border-color: var(--border-hover);
}

.form-group>input:focus,
.form-group>select:focus,
.form-group>textarea:focus {
    outline: none;
    border-color: var(--brand-green);
    box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.1);
}

.header-search {
    position: relative;
    min-width: 100px !important;
    flex-grow: 0 !important;
    flex-basis: 400px !important;
    color: white !important;
}

.disabled-select {
    opacity: .6;
    cursor: no-drop;
    pointer-events: none;
}

#enquiriesListAll {
    max-height: calc(100vh - 210px);
    overflow: auto;
}

.checklist-inline-field {
    display: flex;
    min-width: 150px;
}

.enquiry-item {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
    flex-wrap: nowrap;
    margin: 8px 0;
    border-bottom: 1.25px solid #ccc;
    padding: 8px 0;
}

.enquiry-item:hover {
    border-color: var(--border-hover);
}

.enquiry-item:focus {
    outline: none;
    border-color: var(--brand-green);
    box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.1);
}

.checklist-input {
    margin-top: 0;
    line-height: 20px;
    width: 100%;
    padding: 5px 10px;
    border: 1.5px solid var(--border-color);
    border-radius: 6px;
    font-size: 14px;
    background: white;
    color: var(--text-primary);
    transition: all 0.2s ease;
}

button.checklist-save-btn {
    background: var(--brand-green);
    padding: 7px;
    border-radius: 0 6px 6px 0;
    border-color: var(--brand-green);
}
/* **************************************** */





/* **************************************** */
/* * SVG Stuff */
/* **************************************** */
.selected-pitch {
    fill: #1e9a24 !important;
    opacity: 1 !important;
}

.booked-pitch {
    fill: rgb(171, 16, 16) !important;
    opacity: 1 !important;
}

/* **************************************** */





/* **************************************** */
/* * Statuses */
/* **************************************** */
.unread-message svg {
    fill: red;
}

.enquiry_response-saved {
    font-weight: bold;
    background: #fda91f !important;
}

span.status-label {
    padding: 5px 8px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.3px;
    text-align: center;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    text-transform: uppercase;
}
/* **************************************** */





/* **************************************** */
/* * 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: #007BFF;
    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;
}

#mapModal .uk-modal-body,
#mapModal .uk-modal-body>iframe {
    width: 100%;
    height: 100%;
}

.popup-heading {
    font-size: 23px;
    font-weight: 500;
    margin: 0;
}

.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: #007BFF;
    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;
}

/* **************************************** */





/* **************************************** */
/* 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 {
    width: 700px;
    display: block;
    margin: 60px auto;
}

#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: #245121;
    font-family: var(--font-primary);
    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: var(--font-primary);
    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;
}

/* **************************************** */





/* **************************************** */
/* * Tables */
/* **************************************** */
table {
    border-collapse: collapse;
    text-align: left;
}

table.stripe-tbl {
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    width: 100%;
    margin-bottom: 25px;
    background: white;
}

.stripe-tbl thead {
    background: var(--bg-primary);
    border-bottom: 1.5px solid var(--border-color);
}

table.stripe-tbl tr {
    transition: all 0.2s 
ease;
}

.stripe-tbl>thead>tr>th {
    word-wrap: break-word;
    box-shadow: inset 0 -1px 0 0 #ebeef1;
    padding: 16px 20px;
    text-align: left;
    font-size: 14px;
    font-weight: 700;
    color: var(--text-secondary);
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.stripe-tbl tr td {
    position: relative;
    padding: 6px 20px;
    font-size: 14px;
    color: var(--text-primary);
    vertical-align: middle;
    white-space: nowrap;
    flex-wrap: nowrap;
}

td.lot-type-cell {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 6px;
}

.vendor-cell,
.description-cell {
    display: flex;
    justify-content: flex-start;
    gap: 10px;
    white-space: nowrap;
    align-items: center;
}

.table-outer-container {
    background: var(--bg-secondary);
    border: 1.5px solid var(--border-color);
    border-radius: 12px;
}

.index-tab-container {
    border: 1.5px solid var(--border-color);
    border-radius: 12px;
}

.tools-finance-body {
    padding: 20px;
}

.table-scroll-container {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    position: relative;
}

.table-scroll-container table {
    min-width: max-content;
}

.table-scroll-container .sticky-header thead th {
    position: sticky;
    top: 0;
    background: #8eaadb;
    z-index: 2;
}

.table-header-section {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1.5px solid var(--border-color);
    background: var(--bg-primary);
}

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

.row-unread>td:first-child {
    border-left: 5px solid;
}

.stripe-tbl tbody tr:nth-child(even) {background: var(--border-color);}

table.stripe-tbl tr:hover {
    background: var(--grey-hover) !important;
    transition: .3s;
    cursor: pointer;
}

.stripe-tbl img {
    width: 75px;
    border-radius: 8px;
    border: 1px solid var(--grey);
}

.stripe-tbl .form-group {
    margin-bottom: 0;
}

.cos_name {
    width: 210px;
}

.cos_type {
    width: 120px;
}

.table-options-outer {
    display: flex;
    justify-content: flex-start;
    gap: 0;
}

.table-options-outer a {
    display: flex;
    border: 1px solid #d8dee4;
    justify-content: center;
    align-items: center;
    background: white;
}

.table-options-outer a:first-child {
    border-radius: 4px 0 0 4px;
}

.table-options-outer a:last-child {
    border-radius: 0 4px 4px 0;
    margin-left: -1px;
}

.table-options-outer a:hover {
    border-color: var(--brand-primary);
    cursor: pointer;
    transition: .2s;
}

.listing-subrow td {
    padding: 0 !important;
    background: transparent;
    padding-bottom: 15px !important;
}

table.stripe-tbl tr.listing-subrow {
    box-shadow: none;
}

.listing-subrow-card {
    border: 1px solid #e3e8ee;
    box-shadow: 0 10px 30px rgba(50, 50, 93, 0.08), 0 4px 12px rgba(0, 0, 0, 0.05);
}

.listing-subrow-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.listing-pill {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 999px;
    background: #eef2f7;
    color: #1f2d3d;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.2px;
    text-transform: uppercase;
}

.listing-subrow-hint {
    color: #4f566b;
    font-size: 13px;
}

.listing-checkbox-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}

.listing-check-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    cursor: default;
}

.listing-check-item:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 26px rgba(50, 50, 93, 0.08);
}

.listing-check-item input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: #635bff;
}

.listing-check-item .check-label {
    color: #1f2d3d;
    font-weight: 600;
    font-size: 13px;
}

.stripe-tbl tr.listing-subrow:hover {
    background: transparent !important;
    cursor: default;
    transition: none;
}

.table-options-outer a svg,
.table-options-outer button svg {
    fill: var(--brand-black);
    height: 15px;
    margin: 8px 12px;
    max-width: unset;
}

.result-container .table-options-outer {
    margin-left: auto;
}

.result-container .table-options-outer a {
    flex-basis: 34%;
}

.result-container .table-options-outer a:first-child {
    border-top-left-radius: 0;
}

.result-container .table-options-outer a:last-child {
    border-top-right-radius: 0;
}

.table-options-outer a.unique-tbl-btn:first-child {
    margin-right: 8px;
}

.btn-options-thin>a>svg {
    margin: 0;
}

.btn-options-thin>a {
    border: none;
}

.btn-options-thin {
    gap: 0px;
    width: 80px !important;
    justify-content: flex-end;
}

.unique-tbl-btn {
    border-radius: 4px !important;
}

#liveLogs {
    height: 400px;
    overflow-y: auto;
    border-radius: 8px;
    border: 2px solid var(--grey);
    padding: 8px;
}

#postageCosts {
    width: 100%;
    overflow-x: auto;
}

#companiesGrid {
    width: 100%;
    display: flex;
    align-items: flex-start;
    gap: 20px;
    flex-wrap: wrap;
}

.company-grid {
    flex-basis: 300px;
    flex-grow: 0;
    padding: 10px 15px;
    border: 2px solid #d8dee4;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: space-between;
}

#companiesTbl svg {
    max-width: 30px;
}

.company-grid h3 {
    margin: 0;
    white-space: nowrap;
}

.view-company-btn:hover,
.company-grid:hover {
    background: #d8dee4;
    transition: .3s;
    cursor: pointer;
}

.flex-switcher {
    display: flex;
    justify-content: space-between;
    gap: 0;
    align-items: center;
    flex-wrap: nowrap;
}

.switch-item {
    text-align: center;
    background: rgb(9, 151, 9);
    width: 100%;
    padding: 10px;
    color: white;
    font-weight: 500;
}

.switch-item:hover {
    cursor: pointer;
    transition: .3s;
    opacity: .6;
}

.switch-item:first-child {
    border-radius: 6px 0 0 6px;
}

.switch-item:nth-child(2) {
    border-left: 1px solid white;
    border-right: 1px solid white;
}

.switch-item:last-child {
    border-radius: 0 6px 6px 0;
}

.switch-item-active {
    background: rgb(12, 102, 12);
}

span.alert-tbl-msg {
    font-weight: 600;
    color: var(--red);
}

span.major-alert-tbl-msg {
    color: white;
    font-weight: bold;
    background: red;
    padding: 8px 12px;
    text-align: center;
    border-radius: 6px;
}

.always-show-scroll {
    overflow-x: scroll;
    scrollbar-gutter: stable both-edges;
}

.always-show-scroll::-webkit-scrollbar { height: 12px; }
.always-show-scroll::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, 0.25); border-radius: 8px; }
.always-show-scroll table { min-width: max-content; }

.enquiries-table .table-outer-container {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 350px);
}

.enquiries-table .table-scroll-container {
    flex: 1 1 auto;
    overflow-y: auto;
    /* Let touch devices pan vertically inside the table instead of selecting text */
    touch-action: pan-y;
    -ms-touch-action: pan-y;
    overscroll-behavior: contain;
}
/* **************************************** */





/* **************************************** */
/* * Charts */
/* **************************************** */
.chart {
    width: calc(100% - 50px);
    display: block;
    margin: 40px auto;
    height: 600px;
}

.split-chart-outer {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    flex-wrap: wrap;
}

.split-chart-outer .chart {
    width: 80%;
}

.split-chart-triple,
.split-chart-double {
    justify-content: center;
}

.split-chart-triple .chart {
    width: 31%;
    min-width: 250px;
}

.split-chart-double .chart {
    width: 48%;
    min-width: 250px;
}

/* **************************************** */





/* **************************************** */
/* * Mathewsons */
/* **************************************** */
header {
    width: 100%;
}

.top-bar {
    background-color: #1f5313;
    color: #fff;
    font-size: 14px;
    padding: 12px;
}

.view-catalogue {
    float: right;
    margin-right: 15px;
}

.logo-bar {
    text-align: center;
    background-color: #fff;
    padding: 10px 0;
}

.full-logo {
    max-width: 100%;
    height: auto;
    width: 1037px;
    display: block;
    margin: 0 auto;
}

.navbar {
    background-color: #1f5313;
    text-align: center;
}

.nav-links {
    list-style: none;
    margin: 0;
    padding: 12px 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.nav-links li {
    color: #fff;
    padding: 10px 15px;
    cursor: pointer;
    position: relative;
}

.nav-links li:hover {
    background-color: #245121;
}

.nav-links a {
    color: white;
}

.menu-toggle {
    display: none;
    background: none;
    border: none;
    color: #fff;
    font-size: 24px;
    cursor: pointer;
    padding: 10px 15px;
}

@media (max-width: 768px) {
    .nav-links {
        display: none;
        flex-direction: column;
        background-color: #004d00;
    }

    .nav-links.active {
        display: flex;
    }

    .menu-toggle {
        display: block;
    }
}

.content-width {
    max-width: 950px;
    width: 100%;
    padding: 10px 15px;
    display: block;
    margin: 0 auto;
}

.table-width {
    width: 100%;
    padding: 10px 15px 150px;
    display: block;
    margin: 0 auto;
    overflow-x: auto;
}

.content-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.content-header .dual-buttons {
    margin-top: 0 !important;
}

.top-bar-inner {
    max-width: 1200px;
    width: 100%;
    display: block;
    margin: 0 auto;
}

footer {
    background-color: #245121;
    color: #fff;
    padding: 30px 20px;
}

.footer-content {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    max-width: 1200px;
    margin: 0 auto;
}

.footer-column {
    flex: 1 1 200px;
}

footer h3 {
    margin-top: 0;
    color: white;
    font-weight: 500;
    font-size: 25px;
}

footer p {
    margin: 5px 0 15px;
}

footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

footer ul li {
    margin-bottom: 5px;
}

.footer-image {
    max-width: 150px;
    display: block;
    margin-bottom: 10px;
}

.social-icons span {
    font-size: 24px;
    margin-right: 10px;
    cursor: pointer;
}

@media (max-width: 768px) {
    .footer-content {
        flex-direction: column;
        text-align: center;
    }

    .footer-column {
        margin-bottom: 20px;
    }
}


.notif-number {
    position: absolute;
    top: 0;
    right: 0;
    display: inline-flex
;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    background: var(--danger);
    border-radius: 9999px;
    line-height: 1;
    white-space: nowrap;
    box-shadow: 0 0 0 2px #fff;
}
/* **************************************** */





/* **************************************** */
/* * Quick replies */
/* **************************************** */
section.replies-content-width {
    max-width: 100vw;
    width: 100%;
    padding: 15px 20px;
    margin: 0 auto;
    display: flex;
    justify-content: space-around;
    gap: 30px;
    flex-wrap: nowrap;
    align-items: flex-start;
}

section.replies-content-width.replies-tabs-row {
    display: block;
    padding-bottom: 0;
}

section.replies-content-width>.sidebar,
.vehicle-details-box {
    border: 1.5px solid #e6ebf1;
    padding: 10px 14px;
    border-radius: 6px;
}

.tags-box{
    border: none !important;
}

.replies-next-prev {
    padding-bottom: 0 !important;
}

.replies-content .vehicle-details {
    border: 2px solid #444;
    border-radius: 6px;
    width: 100%;
}

.replies-content {
    flex-grow: 1;
}

.vehicles-inner-details {
    max-height: 208px;
    overflow-y: auto;
    padding-right: 10px;
    border: 1px solid grey;
    margin: 0;
}

h2.vehicle-details-header {
    width: 100%;
    background: #444;
    color: white;
    padding: 5px 20px;
    font-size: 19px;
    font-weight: 700;
}

.vehicle-details-inner {
    display: flex;
    justify-content: space-around;
    padding: 10px 15px;
    gap: 20px;
    align-items: flex-start;
    height: 350px;
}

.vehicle-details-inner .details-facts-flex {
    flex: 55%;
}

.details-facts-flex textarea {
    width: 100%;
    background: none;
    border: none;
}

.vehicle-inner-images {
    flex: 45%;
    height: calc(100% - 85px);
}

.vehicle-inner-images img {
    height: 100%;
    display: flex;
    margin: auto;
}

.enlarge-link,
.rotate-link {
    position: absolute;
    background: rgba(255, 255, 255, 0.7);
    padding: 2px 4px;
    border-radius: 3px;
    text-decoration: none;
    font-size: 0.9em;
    color: #000;
    z-index: 10;
}

.enlarge-link {
    top: 8px;
    left: 8px;
}

.image-wrapper {
    position: relative;
    height: 100%;
    border: 1.5px solid #e6ebf1;
    border-radius: 4px;
}

.rotate-link {
    top: 8px;
    right: 8px;
    cursor: pointer;
}

.replies-content-width .sidebar h2 {
    font-weight: 700;
    font-size: 20px;
    margin: 0 0 10px 0;
}

.customer-details label,
.vehicle-details-box label {
    font-weight: bold;
    display: block;
    margin-top: 12px;
    color: #444;
}

.vehicle-details-box label {
    display: inline-block !important;
    margin: 0 !important;
}

.vehicle-details-box {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
}

.image-nav {
    display: flex;
    justify-content: center;
    gap: 10px;
    font-size: 16px;
    font-weight: bold;
    margin-top: 10px;
}

.ai-response-btn {
    padding: 0.75rem 1.25rem;
    font-size: 1rem;
    font-weight: bold;
    border: none;
    border-radius: 8px;
    background-color: #007BFF;
    color: white;
    cursor: pointer;
    flex: 1;
    text-align: center;
    min-width: 24%;
}

.ai-response-btn:hover {
    background-color: #0056b3;
    transition: .3s;
    cursor: pointer;
}

.ai-btn-amber {
    background-color: #ffbf00;
}

.ai-btn-amber:hover {
    background-color: #bc8e05 !important;
}

.ai-btn-danger {
    background-color: #dc3545;
}

.ai-btn-danger:hover {
    background-color: #c82333 !important;
}

.ai-btn-december {
    background: linear-gradient(135deg, #d32f2f, #388e3c);
}

.ai-btn-december:hover {
    background: linear-gradient(135deg, #c62828, #2e7d32);
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
    transform: scale(1.05);
}

.ai-responses-row {
    border: 1px solid #ccc;
    border-radius: 6px;
    margin-bottom: 10px;
    padding: 10px 15px;
    margin-top: 10px;
}

.responses-reserves {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    padding-top: 12px;
    margin-top: 12px;
    border-top: 1.25px solid black;
}

.other-customer-details {
    padding-top: 12px;
    margin-top: 12px;
    border-top: 1.25px solid black;
}

.responses-reserves .col span {
    display: block;
}

.responses-reserves .col {
    width: 100%;
}

.responses-reserves .col span:first-child {
    font-weight: bold;
    font-size: 19px;
    color: #444;
}

.record-buttons {
    display: flex;
    gap: 20px;
    align-items: center;
}

button#record-negative-btn {
    background: var(--red);
}

.record-panel button {
    border: none;
    border-radius: 8px;
    padding: 10px 20px;
    color: #fff;
    cursor: pointer;
    background: var(--brand-green);
}

#record-btn.start {
    background-color: #4CAF50;
}

#record-btn.stop {
    background-color: #f44336;
}

#record-btn.rerecord {
    background-color: #ff9800;
}

#process-btn {
    background-color: #26572A;
}

.audio-player {
    background: #f4f4f8;
    border-radius: 10px;
    padding: 1rem;
    display: flex;
    align-items: center;
    gap: 15px;
    width: 100%;
    margin: 1.2rem 0;
}

.play-btn {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background-color: #4CAF50;
    position: relative;
    cursor: pointer;
    border: none;
}

.play-btn::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-style: solid;
    border-width: 14px 0 14px 20px;
    border-color: transparent transparent transparent #fff;
}

.waveform {
    flex: 1;
}

.time {
    font-size: 1rem;
    color: #555;
    width: 50px;
    text-align: center;
}

.record-panel {
    border: 2px solid #000;
    border-radius: 12px;
    display: flex;
    align-items: center;
    padding: 10px;
    gap: 10px;
    width: 100%;
    box-sizing: border-box;
    max-width: 700px;
    margin: 30px auto;
}

#record-btn {
    background-color: #ffb319;
}

#playPause {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #4CAF50;
    position: relative;
}

#playPause::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-40%, -50%);
    border-style: solid;
    border-width: 10px 0 10px 14px;
    border-color: transparent transparent transparent #fff;
}

.waveform {
    flex: 1;
    background-color: #ccc;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#process-btn {
    background-color: #009fe3;
}

.lot-navigation {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.transText {
    width: 100%;
    padding: 10px 15px;
    border-radius: 6px;
    margin: 10px 0;
    border: 1px solid #ccc;
}

#transText {
    width: 100%;
}

#enlargeImageModal>.uk-modal-dialog {
    width: 1200px;
}

.or-divider {
    position: relative;
    width: 100%;
    height: 50px;
    line-height: 50px;
    text-align: center;
    margin: 20px 0;
    color: var(--grey)"";
}

.or-text {
    z-index: 2;
    position: relative;
    display: inline-block;
    padding: 8px;
    line-height: 0;
    background: white;
    font-size: 18px;
}

.or-divider::after {
    content: "";
    border-bottom: 2px solid var(--grey);
    position: relative;
    display: block;
    top: -50%;
    width: 100%;
}

.expand-row-col .listing-code-search {
    float: left;
}

.listing-code-search {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-end;
    max-width: 550px;
    margin: 0 auto;
}

.listing-code-search button {
    flex: 1;
    max-width: 230px;
}
/* **************************************** */





/* **************************************** */
/* 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;
    }
}

/* **************************************** */





/* **************************************** */
/* * nav */
/* **************************************** */
.top-banner {
    background: var(--brand-green);
    color: #fff;
    padding: 18px 26px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
    width: 100%;
}

.banner-logo {
    width: 170px;
    filter: drop-shadow(0 6px 10px rgba(0, 0, 0, 0.25));
    height: 80px;
}

.banner-text {
    text-align: center;
    letter-spacing: 14px;
    font-weight: bold;
    text-transform: uppercase;
}

.top-banner-logos {
    display: flex;
    justify-content: space-between;
}

.top-banner-search {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    margin-top: 20px;
}

.top-banner-search .form-group {
    margin-bottom: 0 !important;
}

.banner-text h2 {
    color: var(--bg-primary);
    font-weight: bold;
    font-size: 42px;
    margin: 0;
}

.banner-text h3 {
    color: var(--bg-primary);
    font-weight: 600;
    font-size: 32px;
    margin: 0;
}

.banner-left {
    display: flex;
    gap: 25px;
    align-items: end;
}

.banner-right label {color: white;}

.banner-right {
    width: 275px;
}
/* **************************************** */




/* **************************************** */
/* * Noticeboard */
/* **************************************** */
.noticeboard-modal .uk-modal-dialog {
    width: 96vw;
    max-width: 1180px;
    background: #fff;
    border-radius: 14px;
    box-shadow: var(--shadow-lg);
}

.noticeboard-modal__dialog {
    padding: 22px 22px 26px 22px;
}

.noticeboard-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.noticeboard-subtitle {
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 700;
}

.noticeboard-layout {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 14px;
    min-height: 70vh;
}

.noticeboard-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-height: 72vh;
    overflow-y: auto;
    padding-right: 4px;
}

.noticeboard-detail {
    background: var(--brand-white);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 12px;
    box-shadow: var(--shadow-md);
    min-height: 72vh;
}

.noticeboard-detail__card {
    background: #fff;
    border-radius: 10px;
    padding: 12px;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.noticeboard-detail__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.noticeboard-detail__badges {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.noticeboard-detail__title {
    margin: 4px 0;
    font-size: 22px;
}

.noticeboard-detail__meta {
    color: var(--text-muted);
    font-size: 13px;
}

.noticeboard-detail__body {
    line-height: 1.6;
    color: var(--text-secondary);
    white-space: pre-line;
}

.noticeboard-detail__placeholder {
    color: var(--text-muted);
}

.noticeboard-detail__actions {
    display: flex;
    gap: 8px;
}

.noticeboard-loading,
.noticeboard-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 22px;
    text-align: center;
    color: var(--text-muted);
    border: 1px dashed var(--border-color);
    border-radius: 12px;
    background: #fff;
}

.noticeboard-item {
    border: 1px solid var(--border-color);
    border-left: 6px solid var(--border-color);
    border-radius: 12px;
    padding: 12px 14px;
    background: #fff;
    box-shadow: var(--shadow-sm);
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease;
}

.noticeboard-item:hover {
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}

.noticeboard-item.active {
    border-color: var(--brand-green);
    box-shadow: 0 10px 28px rgba(16, 24, 40, 0.12);
}

.noticeboard-item__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.noticeboard-item__title {
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 700;
    color: var(--text-primary);
}

.noticeboard-item__meta {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    font-size: 12px;
    color: var(--text-muted);
    margin: 6px 0 2px;
}

.noticeboard-item__snippet {
    margin: 0;
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 1.45;
}

.noticeboard-pin {
    color: var(--text-muted);
}

.noticeboard-priority {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.noticeboard-priority--high {
    background: rgba(220, 53, 69, 0.12);
    color: #b91c1c;
    border: 1px solid rgba(220, 53, 69, 0.35);
}

.noticeboard-priority--medium {
    background: rgba(245, 158, 11, 0.16);
    color: #92400e;
    border: 1px solid rgba(245, 158, 11, 0.35);
}

.noticeboard-priority--low {
    background: rgba(59, 130, 246, 0.14);
    color: #1d4ed8;
    border: 1px solid rgba(59, 130, 246, 0.28);
}

.priority-high {
    border-left-color: rgba(220, 53, 69, 0.9);
}

.priority-medium {
    border-left-color: #f59e0b;
}

.priority-low {
    border-left-color: #3b82f6;
}

.noticeboard-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    background: var(--super-light-grey);
    color: var(--text-secondary);
    font-weight: 600;
    font-size: 12px;
}

.noticeboard-tag--pin {
    background: rgba(14, 165, 233, 0.12);
    color: #0ea5e9;
}

.noticeboard-tag--type {
    background: rgba(15, 23, 42, 0.06);
}

.noticeboard-tag--priority.noticeboard-tag--high {
    background: rgba(220, 53, 69, 0.12);
    color: #b91c1c;
}

.noticeboard-tag--priority.noticeboard-tag--medium {
    background: rgba(245, 158, 11, 0.16);
    color: #92400e;
}

.noticeboard-tag--priority.noticeboard-tag--low {
    background: rgba(59, 130, 246, 0.14);
    color: #1d4ed8;
}

.noticeboard-refresh-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border-radius: 10px;
    border: 1px solid var(--border-color);
    background: #fff;
    color: var(--text-primary);
    cursor: pointer;
    transition: all 0.2s ease;
}

.noticeboard-refresh-btn:hover {
    border-color: var(--border-hover);
    box-shadow: var(--shadow-sm);
}

.noticeboard-delete-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border-radius: 10px;
    border: 1px solid var(--danger);
    background: rgba(228, 65, 65, 0.08);
    color: var(--danger-dark);
    cursor: pointer;
    transition: all 0.2s ease;
}

.noticeboard-delete-btn:hover {
    box-shadow: var(--shadow-sm);
    background: rgba(228, 65, 65, 0.14);
}

.noticeboard-delete-btn--loading {
    opacity: 0.7;
    cursor: not-allowed;
}

.noticeboard-btn-wrapper {
    position: relative;
    display: inline-block;
}

.noticeboard-badge {
    position: absolute;
    top: -6px;
    right: -8px;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 999px;
    background: #e44141;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    box-shadow: 0 4px 10px rgba(228, 65, 65, 0.35);
}

.noticeboard-create-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
}

.noticeboard-create-form .form-group {
    margin-bottom: 12px;
}

.noticeboard-pinned-checkbox {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

@media (max-width: 480px) {
    .noticeboard-badge {
        top: -4px;
        right: -4px;
    }
}

@media (max-width: 1100px) {
    .noticeboard-layout {
        grid-template-columns: 1fr;
        min-height: unset;
    }

    .noticeboard-list {
        max-height: 50vh;
    }

    .noticeboard-detail {
        min-height: auto;
    }
}

.on-site-badge {
    background: var(--success);
    font-weight: bold;
    padding: 6px 10px;
    color: bold;
    border-radius: 6px;
    width: 100%;
    display: block;
    text-align: center;
    color:white;
}

.badge-Vehicle {
    background: #ffc000;
    font-weight: bold;
    padding: 6px 10px;
    color: bold;
    border-radius: 6px;
    width: 100%;
    display: block;
    text-align: center;
}

.badge-REMAINS_AVAILABLE {
    background: #e681b6;
    font-weight: bold;
    padding: 6px 10px;
    color: black;
    border-radius: 6px;
    width: 100%;
    display: block;
    text-align: center;
}

.badge-EMERGENCY {
    background: #ffff00;
    font-weight: bold;
    padding: 6px 10px;
    color: black;
    border-radius: 6px;
    width: 100%;
    display: block;
    text-align: center;
}

.badge-SAVED {
    background: #c9e7d4;
    font-weight: bold;
    padding: 6px 10px;
    color: #0f2f3a;
    border-radius: 6px;
    width: 100%;
    display: block;
    text-align: center;
}

.badge-Memorabilia,
.badge-memorabilia {
    background: #4472c4;
    font-weight: bold;
    padding: 6px 10px;
    color: bold;
    border-radius: 6px;
    width: 100%;
    display: block;
    text-align: center;
}

.lot-type-select {
    padding: 6px 8px;
    font-size: 13px;
    border-radius: 4px;
    border: 1px solid #cfd4dc;
    box-shadow: var(--shadow-sm, 0 1px 2px 0 rgb(0 0 0 / 0.05));
    background: #fff;
}
.lot-type-cell {
    display: flex;
    gap: 6px;
    align-items: flex-start;
    flex-wrap: wrap;
}
.item-desc-with-note {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.lot-note-btn {
    background: #f1f3f5;
    border: 1px solid #d0d7de;
    border-radius: 4px;
    padding: 4px 6px;
    cursor: pointer;
    line-height: 1;
}
.lot-note-btn:hover {
    background: #e7eaef;
}
.lot-note-display {
    flex-basis: 100%;
    width: 100%;
    display: block;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    padding: 6px 8px;
    font-size: 12px;
    line-height: 1.35;
    color: #1f2937;
    word-break: break-word;
    white-space: pre-wrap;
    position: absolute;
    top: 8px;
    width: 500px;
}
/* **************************************** */





/* **************************************** */
/* * Notify */
/* **************************************** */
.noty_layout_mixin,
#noty_layout__topRight, 
#noty_layout__topMiddle {
    position: fixed;
    margin: 0;
    padding: 0;
    z-index: 9999999;
    -webkit-transform: translateZ(0) scale(1, 1);
    transform: translateZ(0) scale(1, 1);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-font-smoothing: subpixel-antialiased;
    filter: blur(0);
    -webkit-filter: blur(0);
    max-width: 90%;
    box-shadow: rgba(64, 87, 109, 0.25) 0px 0px 0px 1px, rgba(64, 87, 109, 0.25) 0px 6px 20px 7px;
}

#noty_layout__topRight {
    top: 20px;
    right: 20px;
    width: 325px;
}

#noty_layout__topMiddle {
    top: 20px;
    left: 50%;
    width: 325px;
    transform: translateX(-50%);
}

#noty_layout__topRight:hover,
#noty_layout__topMiddle:hover {
    cursor: pointer;
}

.noty_bar {
    -webkit-backface-visibility: hidden;
    -webkit-transform: translate(0, 0) translateZ(0) scale(1, 1);
    -ms-transform: translate(0, 0) scale(1, 1);
    transform: translate(0, 0) scale(1, 1);
    -webkit-font-smoothing: subpixel-antialiased;
    overflow: hidden
}

.noty_effects_open {
    opacity: 0;
    -webkit-transform: translate(50%);
    -ms-transform: translate(50%);
    transform: translate(50%);
    -webkit-animation: noty_anim_in .5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    animation: noty_anim_in .5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

.noty_effects_close {
    -webkit-animation: noty_anim_out .5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    animation: noty_anim_out .5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

.noty_fix_effects_height {
    -webkit-animation: noty_anim_height 75ms ease-out;
    animation: noty_anim_height 75ms ease-out
}

.noty_close_button {
    position: absolute;
    top: 2px;
    right: 2px;
    font-weight: 700;
    width: 20px;
    height: 20px;
    text-align: center;
    line-height: 20px;
    background-color: rgba(0, 0, 0, 0.05);
    border-radius: 2px;
    cursor: pointer;
    -webkit-transition: all .2s ease-out;
    transition: all .2s ease-out
}

.noty_close_button:hover {
    background-color: rgba(0, 0, 0, 0.1)
}

.noty_modal {
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: #000;
    z-index: 10000;
    opacity: .3;
    left: 0;
    top: 0
}

.noty_modal.noty_modal_open {
    opacity: 0;
    -webkit-animation: noty_modal_in .3s ease-out;
    animation: noty_modal_in .3s ease-out
}

.noty_modal.noty_modal_close {
    -webkit-animation: noty_modal_out .3s ease-out;
    animation: noty_modal_out .3s ease-out;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

.noty__success {
    background-color: #dff0d8;
    color: #3c763d;
    border-color: #d6e9c6 !important
}

.noty__warning {
    background-color: #fcf8e3;
    color: #8a6d3b;
    border-color: #faebcc !important
}

.noty__error {
    background-color: #f2dede;
    color: #a94442;
    border-color: #ebccd1 !important
}

.noty__info {
    background-color: #d9edf7;
    color: #31708f;
    border-color: #bce8f1 !important
}

.noty_bar {
    margin: 4px 0;
    overflow: hidden;
    position: relative;
    border: 1px solid;
    border-radius: .25rem
}

.noty_bar .noty_body {
    padding: .75rem 1.25rem
}

.noty_progressbar {
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    height: 3px;
    width: 100%;
    background-color: #646464;
    opacity: 0.2;
    filter: alpha(opacity=10);
}

.copy-to-clipboard {
    cursor: pointer;
    text-decoration: underline dotted;
    text-underline-offset: 2px;
}
/* **************************************** */





/* **************************************** */
/* * Home */
/* **************************************** */
.page {
    display: flex;
    flex-direction: column;
}

.content-row {
    flex: 1;
    display: flex;
    gap: 32px;
    padding: 32px 28px 56px;
    align-items: stretch;
    justify-content: space-between;
}

.auction-column {
    background: #fff;
    border: 2px solid var(--brand-green);
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.06);
    overflow: hidden;
    min-width: 275px;
    height: 560px;
}

.auction-title {
    padding: 12px 14px;
    border-bottom: 2px solid var(--brand-green);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    background: #e6f5e7;
    color: var(--brand-green-dark);
    text-align: left;
    border-radius: 12px 12px 0 0;
}

.auction-list {min-width: 275px;}

.auction-row {
    display: flex;
    align-items: center;
    min-height: 46px;
    border-bottom: 1px solid var(--brand-green);
    padding: 10px 12px;
    font-weight: 600;
    justify-content: space-between;
    transition: all .2s ease;
}

.auction-row:last-child {
    border-bottom: none;
}

.auction-row:hover {
    background: var(--brand-green);
    border-color: var(--brand-green);
    box-shadow: 0 4px 12px rgba(5, 150, 105, 0.3);
    color: white;
    cursor: pointer;
}

.auction-month {
    text-transform: uppercase;
    font-size: 14px;
}

.auction-dates {
    font-weight: 500;
    font-size: 14px;
    text-align: right;
}

.system-stats {
    background: white;
    min-width: 270px;
    padding: 12px 15px;
    border-radius: 0 0 12px 12px;
}

.system-stats ul {
    padding-left: 0;
    list-style: none;
    margin: 0;
}

.system-stats ul li {
    margin-bottom: 4px;
}

.stats-column {height: 410px;border-radius: 10px;}

.right-area {
    background: transparent;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-grow: 1;
}

.links-grid {
    gap: 18px 22px;
    max-width: 955px;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
}

.home-link {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 32px;
    border: 2px solid var(--brand-green);
    border-radius: 14px;
    background: var(--bg-primary);
    color: var(--brand-green);
    font-weight: 500;
    letter-spacing: 0.3px;
    box-shadow: 0 8px 18px rgb(0 0 0 / 42%);
    transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease, color 0.15s ease;
    text-transform: capitalize;
    text-align: center;
    min-width: 300px;
    font-size: 21px;
}

.home-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 22px rgba(0, 0, 0, 0.08);
    background: var(--brand-green);
    color: #fff;
    text-decoration: none;
}

@media (max-width: 960px) {
    .content-row {
        grid-template-columns: 1fr;
    }

    .right-area {
        align-items: flex-start;
    }
}
/* **************************************** */





/* **************************************** */
/* * Internal messages */
/* **************************************** */
.internal-messages-toggle {
    position: fixed;
    right: 20px;
    bottom: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
    background: #0f172a;
    color: #fff;
    padding: 10px 14px;
    border-radius: 50px;
    box-shadow: 0 10px 25px rgba(15, 23, 42, 0.2);
    cursor: pointer;
    z-index: 1200;
}

.internal-messages-label {
    font-weight: 600;
    letter-spacing: 0.02em;
}

.internal-messages-badge,
.internal-messages-dot {
    min-width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #e11d48;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    padding: 0 6px;
}

.internal-messages-modal {
    max-width: 620px;
}

.internal-messages-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px;
}

.internal-messages-list {
    max-height: 60vh;
    overflow-y: auto;
    display: grid;
    gap: 10px;
}

.internal-message-row {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 10px 12px;
    background: #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.internal-message-row:hover {
    border-color: #cbd5e1;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.06);
}

.internal-message-row.unread .internal-message-row__text {
    font-weight: 700;
}

.internal-message-row__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 6px;
    font-size: 13px;
    color: #475569;
}

.internal-message-row__text {
    margin: 0 0 6px;
    color: #0f172a;
    white-space: pre-wrap;
}

.internal-message-row__tags {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 12px;
    color: #475569;
}

.internal-messages-empty {
    text-align: center;
    color: #64748b;
    padding: 16px 0;
}

.internal-message-outer>label {
    color: var(--bg-primary);
    font-weight: bold;
    font-size: 18px;
    margin: 10px;
}
/* **************************************** */





/* **************************************** */
/* * Switcher */
/* **************************************** */
.switch-outer {
    display: inline-flex;
    align-items: stretch;
    gap: 0;
    margin: 0;
    border-radius: 12px;
    background: #fff;
    box-shadow: var(--shadow-sm);
}

.switch-outer input {
    display: none;
}

.switch-outer label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 5px 20px;
    border: 2px solid var(--border-color);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 4px 12px rgba(5, 150, 105, 0.25);
    background: white;
    color: var(--text-primary);
    border-left: none;
    border-right: none;
}

.switch-outer label:hover {
    color: white;
    background: var(--brand-green-dark);
    border-color: var(--brand-green-dark);
    box-shadow: 0 4px 12px rgba(5, 150, 105, 0.3);
}

.switch-outer label:first-of-type {
    border-radius: 8px 0 0 8px;
}

.switch-outer label:last-of-type {
    border-radius: 0 8px 8px 0;
}

.switch-outer input:checked + label {
    color: white;
    background: var(--brand-green);
    border-color: var(--brand-green);
    box-shadow: 0 2px 8px rgba(5, 150, 105, 0.2);
}

.table-header-section>div {
    display: flex;
    justify-content: flex-end;
    gap: 20px;
    align-items: center;
}
/* **************************************** */





/* **************************************** */
/* * Commission Calculator */
/* **************************************** */
#commissionCalculator {
    max-width: 1080px;
}

#commissionCalculator .commission-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    flex-wrap: wrap;
}

#commissionCalculator .commission-copy {
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-width: 640px;
}

#commissionCalculator .calculator-eyebrow {
    margin: 0;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-secondary);
}

#commissionCalculator .calculator-helper {
    margin: 0;
    color: var(--text-muted);
    font-size: 14px;
}

#commissionCalculator .commission-form {
    margin: 8px 0 0;
    padding: 16px;
    border-radius: 12px;
    border: 1.5px solid var(--border-color);
    background: #fff;
    box-shadow: var(--shadow-sm);
    display: grid;
    gap: 10px;
}

#commissionCalculator .afs-row {
    gap: 10px;
    display: flex;
    width: 100%;
}

#commissionCalculator .afs-header div {
    font-weight: 700;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border-radius: 10px;
    font-size: 12px;
    flex: 1;
    max-width: 245px;
}

#commissionCalculator .afs-cell {
    padding: 12px;
    border: 1.5px solid var(--border-color);
    background: #f8fafc;
    text-align: right;
    font-weight: 700;
    color: var(--text-primary);
    border-radius: 10px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
    flex: 1;
}

#commissionCalculator .afs-total {
    background: #e7f6eb;
    border-color: rgba(30, 85, 42, 0.2);
    color: var(--brand-green);
}

#commissionCalculator .afs-input input {
    width: 100%;
    padding: 12px;
    border: 1.5px solid var(--border-color);
    background: #fff;
    font-weight: 700;
    text-align: right;
    color: var(--text-primary);
    border-radius: 10px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

#commissionCalculator .afs-input input:focus {
    border-color: var(--brand-green);
    box-shadow: 0 0 0 3px rgba(30, 85, 42, 0.16);
    outline: none;
}

#commissionCalculator .afs-section {
    font-weight: 700;
    padding: 12px 0 4px;
    margin: 4px 0 2px;
    color: var(--text-primary);
    letter-spacing: 0.02em;
    border-top: 1px solid var(--border-color);
}

#commissionCalculator .afs-subsection {
    font-weight: 600;
    margin: 0 0 6px;
    color: var(--text-secondary);
    font-size: 13px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

#commissionCalculator .afs-note {
    color: #b45309;
    font-weight: 600;
    margin: 2px 0 0;
    padding: 12px;
    border-radius: 10px;
    border: 1.5px solid #f5c16c;
    background: #fff9eb;
}

#commissionCalculator .afs-grand-total {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed var(--border-color);
}

#commissionCalculator .afs-grand-total .afs-cell {
    align-self: center;
}

#commissionCalculator .afs-grand-label {
    padding: 0;
    font-weight: 700;
    text-align: right;
    color: var(--text-secondary);
}

#commissionCalculator .afs-warning {
    background: #fff1f0;
    font-weight: 700;
    text-align: center;
    padding: 12px;
    margin-top: 4px;
    border-radius: 10px;
    border: 1.5px solid rgba(228, 65, 65, 0.2);
    color: #b91c1c;
}

.afs-input {
    flex: 1;
}

.afs-input .form-group {
    margin-bottom: 0;
}



#previouslyPhoneEnquiries {
    width: 100%;
    max-height: 275px;
    overflow-y: auto;
    padding: 10px;
    border-radius: 4px;
    border: 1px solid var(--border-color);
    margin-top: 15px;
}

.prev-enquiry-row {width: 100%;background: var(--super-light-grey);padding: 5px 10px;border-radius: 4px;border: 1px solid var(--border-color);margin-bottom: 10px;}

.top-details-enq-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 4px;
    padding-bottom: 4px;
    border-bottom: 1px solid var(--border-color);
}


#turntableVehicleDetails, #turntableLiveLogs {
    width: 100%;
    background: var(--border-color);
    padding: 10px 16px;
}

#turntableVehicleDetails ul {
    display: flex;
    list-style: none;
    padding-left: 0;
    margin: 0;
    justify-content: space-evenly;
    gap: 10px;
    flex-wrap: wrap;
}

#turntableVehicleDetails ul li {
    white-space: nowrap;
}

#turntableLiveLogs {
    margin-bottom: 20px;
    background: white;
    border: 1.25px solid var(--border-color);
    border-radius: 6px;
    max-height: 200px;
    overflow-y: auto;
}

#turntableLiveLogs ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

#turntableLiveLogs ul li {
    padding-bottom: 4px;
    border-bottom: 1.25px solid var(--border-color);
    margin-bottom: 4px;
}
/* **************************************** */
