﻿:root {
    --font-light: #fff;
    --font-dark: #212529;
    /* Optimum specific*/
    --primary-colour: #3f7d81;
    --secondary-colour: #ef682b;
    --secondary-colour-hsl: hsl(19deg, 95%, 36%);
    --background-colour: #fafafa;
    --font-colour: #212529;
    --link-colour: #105357;
    --link-hover-colour: #2c9096;
    --nav-hover-font-colour: #fff;
    /* button specific */
    --btn-primary-hover-colour: #4ca8ad;
    --btn-primary-font-colour: #fff;
    --btn-primary-border-colour: #3f7d81;
    --btn-secondary-hover-colour: #ed7842;
    --btn-secondary-font-colour: #fff;
    --btn-secondary-boder-colour: #ef682b;
    --btn-danger-colour: #e61528;
    --btn-danger-hover-colour: #f73b3b;
    --btn-danger-font-colour: #fff;
    --btn-danger-border-colour: #e61528;
    /* Other */
    --input-group-colour: #737373;
    --form-control-background-colour: #fff;
    --content-wrapper-start-colour: #fff;
    --content-wrapper-end-colour: #fff;
    --neumorphic-btn-start-colour: #fff;
    --neumorphic-btn-end-colour: #f0ebeb;
    --gradient-border-start-colour: #dedfe3;
    --gradient-border-end-colour: #f0eded;
    --gradient-border-shadow-colour: #bfc7c7;
    /* dx secific */
    --tag-background-colour: #cfcfcf;
    --datagrid-border-colour: #848787;
    --datagrid-selected-row-colour: #dbdbdb;
}

html, body {
    color: var(--font-colour);
}

.nav-header {
    color: var(--primary-colour) !important;
    border-bottom-style: solid;
    border-bottom-width: thin;
}

.filter_highlight {
    background-color: #3577f1;
}

.validation-summary-valid > ul {
    margin-bottom: 0px !important;
}

.sidebar-dark-info .nav-sidebar > .nav-item > .nav-link.active, .sidebar-light-info .nav-sidebar > .nav-item > .nav-link.active {
    background-color: var(--primary-colour);
    color: var(--nav-hover-font-colour) !important;
    font-weight: 700;
}

/* Absolute Center Spinner */
.loading {
    position: fixed;
    z-index: 9999;
    height: 2em;
    width: 2em;
    overflow: visible;
    margin: auto;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

    /* Transparent Overlay */
    .loading:before {
        content: '';
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0,0,0,0.3);
    }

    /* :not(:required) hides these rules from IE9 and below */
    .loading:not(:required) {
        font: 0/0 a;
        color: transparent;
        text-shadow: none;
        background-color: transparent;
        border: 0;
    }

        .loading:not(:required):after {
            content: 'Please wait...';
            display: block;
            font-size: 10px;
            width: 160px;
            height: 160px;
            border: 16px solid rgba(255, 255, 255, 0.00);
            border-radius: 50%;
            border-top: 16px groove #ffd966;
            border-bottom: 16px groove #ffd966be;
            animation: spinner 2s linear infinite;
            -moz-animation: spinner 2s linear infinite;
            -ms-animation: spinner 2s linear infinite;
            -o-animation: spinner 2s linear infinite;
        }

.loader--text {
    position: fixed;
    z-index: 9999;
    height: 0;
    width: 160px;
    overflow: visible;
    margin: auto;
    top: 140px;
    left: 240px;
    bottom: 0;
    right: 0;
}

    .loader--text:before {
        content: '';
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    .loader--text:after {
        content: "Please wait";
        font-weight: bold;
        width: 100%;
        height: 100%;
        animation-name: loading-text;
        animation-duration: 3s;
        animation-iteration-count: infinite;
        background-color: white;
    }

/* Animation */
@keyframes loading-text {
    0% {
        content: "Please wait";
    }

    25% {
        content: "Please wait.";
    }

    50% {
        content: "Please wait..";
    }

    75% {
        content: "Please wait...";
    }
}

@-webkit-keyframes spinner {
    0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@-moz-keyframes spinner {
    0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@-o-keyframes spinner {
    0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes spinner {
    0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

.skin-green-light .sidebar-menu {
    background: #CFE5D0;
}

    .skin-green-light .sidebar-menu .treeview-menu > li.active > a {
        background: #CFE5D0;
    }

[v-cloak] {
    display: none;
}

/* Get the Input-Group to be the same size as the other fields */
[class*="sidebar-dark-"] {
    background-color: var(--background-colour);
}

[class*="sidebar-dark"] .brand-link, [class*="sidebar-dark"] .brand-link .pushmenu {
    color: var(--font-colour);
}

    [class*="sidebar-dark"] .brand-link:hover > span {
        color: var(--font-colour);
    }

.col-form-label-sm {
    padding-top: calc(0.25rem + 1px);
    padding-bottom: calc(0.25rem + 1px);
    font-size: 0.750rem;
    line-height: 1.5;
}

.form-group {
    margin-bottom: .500rem;
}

.field-validation-error {
    color: #e80c4d;
}

.field-validation-valid {
    display: none;
}

input.input-validation-error {
    border: 1px solid #e80c4d;
}

.validation-summary-errors {
    color: #e80c4d;
}

.validation-summary-valid {
    display: none;
}

.wrapper {
    background-color: var(--background-colour);
}

.border-wrapper {
    border-radius: 40px;
    background: linear-gradient(to bottom, var(--primary-colour), rgba(0, 0, 0, 0));
    padding: 1px;
    position: relative; /* Needed for the pseudo-element */
}

.glow-effect {
    box-shadow: 0 0 5px var(--primary-colour), 0 0 10px var(--primary-colour);
}

.btn-dash {
    color: var(--primary-colour);
    background-color: var(--background-colour);
    font-weight: 400;
    text-align: center;
    vertical-align: middle;
    user-select: none;
    padding: 0.375rem 0.75rem;
    line-height: 1.5;
    border-radius: 38px;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 160px;
    font-family: 'Orbitron', sans-serif; /* Futuristic Font */
    text-transform: uppercase; /* Making text uppercase gives a more tech look */
    border: 2px solid var(--primary-colour);
    position: relative; /* For pseudo-elements */
}

    .btn-dash::before {
        /* Add a slight 3D inset effect */
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-radius: 36px;
        border: 2px inset rgba(63, 125, 129, 0.5);
        z-index: -1;
    }

    .btn-dash:hover {
        color: var(--primary-colour);
        transform: translateY(-2px); /* Slight lift on hover */
    }

    .btn-dash:active {
        color: var(--primary-colour);
        transform: translateY(1px); /* Button press down effect */
    }

.box-shadow {
    box-shadow: rgba(33, 35, 38, 0.1) 0px 10px 10px -10px;
    /*box-shadow: 0 1px 2px rgba(56, 65, 74, 0.15);*/
}

.static-shadow {
    box-shadow: 0 1px 2px rgba(56,65,74,.15)
}

.icon-container {
    position: relative;
}

.icon-top-left {
    position: absolute;
    top: 0;
    left: 0;
    margin: 10px;
}

.remove-margin-bottom {
    margin-bottom: 0rem;
}

.icon-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.icon-styling-blue {
    background-color: rgba(41,156,219,.18) !important;
    padding: 10px;
    color: #299cdb;
    border-radius: 10px;
}

.icon-styling-green {
    background-color: rgba(10,179,156,.18) !important;
    padding: 10px;
    color: #0ab39c;
    border-radius: 10px;
}

.icon-styling-yellow {
    background-color: rgba(247,184,75,.18) !important;
    padding: 10px;
    color: #f7b84b;
    border-radius: 10px;
}

.icon-styling-purple {
    background-color: rgba(64,81,137,.18) !important;
    padding: 10px;
    color: #405189;
    border-radius: 10px;
}

.icon-styling-darker-blue {
    background-color: rgb(53 119 241 / 10%) !important;
    padding: 10px;
    color: #3577f1;
    border-radius: 10px;
}

.icon-styling-blue-dash-n {
    color: transparent;
    background-image: linear-gradient(180deg, var(--primary-colour), var(--primary-colour));
    -webkit-background-clip: text;
    background-clip: text;
    font-size: 38px;
    text-shadow: 0 0 20px rgb(126 178 218 / 30%);
    filter: drop-shadow(0 0 5px rgba(126, 178, 218, 0.3));
}

.banner {
    color: #3577f1;
    background-color: rgb(53 119 241 / 10%) !important;
    border-color: #6c757d;
    display: inline-block;
    font-weight: 400;
    text-align: center;
    vertical-align: middle;
    user-select: none;
    border: 1px solid transparent;
    padding: 0.75rem 0.75rem;
    line-height: 1.5;
    border-radius: 0.25rem;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    display: flex;
    align-items: center;
    justify-content: left;
    padding: 15px 15px;
}

.banner2 {
    color: var(--primary-colour);
    background-color: #73ccf830;
    border-color: #6c757d;
    display: inline-block;
    font-weight: 400;
    text-align: left;
    vertical-align: middle;
    user-select: none;
    border: 1px solid transparent;
    padding: 0.75rem 0.75rem;
    line-height: 1.5;
    border-radius: 0.25rem;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    align-items: center;
    justify-content: left;
    padding: 15px 15px;
    position: relative;
}

    .banner2 h6 {
        color: #73ccf8;
    }

    .banner2 .info-outline {
        outline: 2px solid #73ccf8;
        color: #73ccf8;
    }

    .banner2 a {
        color: #73ccf8;
    }

        .banner2 a:hover {
            color: #a1c5e1;
        }

.icon {
    padding-right: 15px;
}

.neumorphic-btn .fas.fa-bars {
    color: var(--font-colour);
}

.navbar {
    background-color: var(--background-colour) !important;
    border-bottom: none !important;
}

[class*="sidebar-dark-"] .nav-sidebar > .nav-item.menu-open > .nav-link, [class*="sidebar-dark-"] .nav-sidebar > .nav-item:hover > .nav-link, [class*="sidebar-dark-"] .nav-sidebar > .nav-item > .nav-link:focus {
    background-color: rgb(64, 125, 129, 0.3);
    color: var(--font-colour);
}

.nav-link {
    color: var(--font-colour) !important;
}

.navbar-dark .navbar-nav .nav-link {
    color: var(--font-colour);
}

.main-header .nav-link {
    color: var(--font-colour) !important;
}

.circled {
    border-radius: 50%;
    padding: 5px;
    color: #fff;
    background-color: #3577f1;
    display: inline-block;
    width: 35px;
    height: 35px;
    text-align: center;
    line-height: 25px;
}

.circled-outline {
    border-radius: 50%;
    outline: 2px solid #3577f1;
    padding: 5px;
    color: #3577f1;
    display: inline-block;
    width: 35px;
    height: 35px;
    text-align: center;
    line-height: 25px;
}

.text-align-left {
    text-align: left !important;
}

.fw-400 {
    font-weight: 400 !important;
}

.fw-600 {
    font-weight: 600 !important;
}

/*.content {
	margin-top: 47.98px !important;
}*/

.sticky-header {
    position: sticky;
    top: 0;
    z-index: 1000;
}

.absolute-icon {
    position: absolute;
    top: 0;
    right: 0;
}

.info-outline {
    border-radius: 50%;
    outline: 2px solid #3577f1;
    padding: 5px;
    color: #3577f1;
    display: inline-block;
    width: 25px;
    height: 25px;
    text-align: center;
    line-height: 15px;
    margin: 7px;
}

.card-shadow {
    box-shadow: 0 1px 2px rgba(56, 65, 74, 0.15);
}

.btn-primary {
    background-color: var(--primary-colour) !important;
    border-color: var(--opt-primary-border-color) !important;
    color: var(--btn-primary-font-colour) !important;
}

    .btn-primary:focus {
        background-color: var(--primary-colour) !important;
        border-color: var(--opt-primary-border-color) !important;
        color: var(--btn-primary-font-colour) !important;
    }

    .btn-primary > span {
        color: var(--btn-primary-font-colour) !important;
    }

    .btn-primary:hover {
        background-color: var(--btn-primary-hover-colour) !important;
        border-color: var(--btn-primary-border-colour) !important;
        color: var(--btn-primary-font-colour) !important;
    }

.btn-success {
    background-color: rgb(155 179 10 / 10%) !important;
    border-color: #ffe55d !important;
    color: #ffe55d !important;
}

    .btn-success:focus {
        background-color: rgb(155 179 10 / 10%) !important;
        border-color: #ffe55d !important;
        color: #ffe55d !important;
    }

    .btn-success:hover {
        background-color: #9bb30a33 !important;
        border-color: #ffed8e !important;
        color: #ffec88 !important;
    }

.btn-secondary {
    background-color: var(--secondary-colour) !important;
    border-color: var(--btn-secondary-boder-colour) !important;
    color: var(--btn-secondary-font-colour) !important;
}

    .btn-secondary:focus {
        background-color: var(--secondary-colour) !important;
        border-color: var(--btn-secondary-boder-colour) !important;
        color: var(--btn-secondary-font-colour) !important;
    }

    .btn-secondary:hover {
        background-color: var(--btn-secondary-hover-colour) !important;
        border-color: var(--btn-secondary-boder-colour) !important;
        color: var(--btn-secondary-font-colour) !important;
    }

.btn-danger {
    color: var(--btn-danger-font-colour) !important;
    background-color: var(--btn-danger-colour) !important;
    border-color: var(--btn-danger-colour) !important;
}

    .btn-danger:focus {
        background-color: var(--opt-danger-color) !important;
        border-color: var(--opt-danger-border-color) !important;
        color: var(--btn-danger-font-colour) !important;
    }

    .btn-danger:hover {
        background-color: var(--btn-danger-hover-colour) !important;
        border-color: var(--btn-danger-border-colour) !important;
        color: var(--btn-danger-font-colour) !important;
    }
}

@media (max-width: 767.98px) {
    .main-sidebar, .main-sidebar::before {
        box-shadow: rgba(0, 0, 0, 0.08) 0px 4px 12px !important;
        margin-left: -250px;
    }
}

.swal2-styled.swal2-confirm {
    border: 0;
    border-radius: 0.25em;
    background-color: rgb(53 119 241 / 10%) !important;
    color: #3577f1 !important;
    font-size: 1em;
    box-shadow: none;
}

    .swal2-styled.swal2-confirm:focus {
        border: 0;
        border-radius: 0.25em;
        background-color: rgb(53 119 241 / 10%) !important;
        color: #3577f1;
        font-size: 1em !important;
        box-shadow: none;
    }

.swal2-styled.swal2-cancel {
    border: 0;
    border-radius: 0.25em;
    background: initial;
    color: #dc3545 !important;
    background-color: rgba(220, 53, 69, 0.1) !important; /* 10% opacity */
    font-size: 1em;
}

.form-control-sm {
    font-size: 1em;
}

.form-height {
    height: calc(2.25rem + 2px);
}

.swal2-styled.swal2-deny {
    border: 0;
    border-radius: 0.25em;
    background: initial;
    background-color: rgba(220, 53, 69, 0.1) !important;
    color: #dc3545 !important;
    font-size: 1em;
}

.container-l {
    position: fixed;
    z-index: 9999;
    height: 0;
    width: 160px;
    overflow: visible;
    margin: auto;
    top: -200px;
    left: 33px;
    bottom: 0;
    right: 0;
}

.loader-bg {
    background: #0000003b;
    position: fixed;
    z-index: 9998;
    height: 100%;
    width: 100%;
    overflow: visible;
    margin: auto;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

.loader--text {
    position: fixed;
    z-index: 9998;
    height: 0;
    width: 160px;
    overflow: visible;
    margin: auto;
    top: -100px;
    left: 73px;
    bottom: 0;
    right: 0;
}

    .loader--text:before {
        content: '';
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    .loader--text:after {
        content: "Please wait";
        font-weight: bold;
        width: 100%;
        height: 100%;
        animation-name: loading-text;
        animation-duration: 3s;
        animation-iteration-count: infinite;
        background-color: transparent;
    }

.loader-l {
    -webkit-animation: spin 1s linear infinite;
    animation: spin 1s linear infinite;
    border: 3px solid #ddd;
    border-top: 3px solid #42a5f5;
    border-radius: 50%;
    height: 120px;
    width: 120px;
}

.fa-info-circle {
    color: var(--secondary-colour) !important;
    font-size: 1.1rem;
}

.green-btn-section .container:hover {
    cursor: pointer;
}

.green-btn-section .container {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 160px; /* Set a width to match the spinner */
    height: 160px; /* Set a height to match the spinner */
    /*background: linear-gradient(308deg, #005829 0%, #01F373 100%);*/
    background: linear-gradient(308deg, var(--secondary-colour) 0%, var(--secondary-colour) 100%);
    box-shadow: -18px -18px 65px var(--secondary-colour);
    border-radius: 50%;
    transition: all 0.2s ease; /* Added transition */
}

.green-btn-section .circle {
    position: absolute;
    width: 119px;
    height: 119px;
    /*background: #01DA67;*/
    background: var(--secondary-colour);
    box-shadow: 26px 26px 81px rgba(0, 0, 0, 0.35) inset, 18px 18px 65px 0 var(--secondary-colour);
    border-radius: 50%;
    transition: all 0.2s ease; /* Added transition */
}

.green-btn-section .text {
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 20.10px;
    z-index: 999;
    text-align: center;
    letter-spacing: 3px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: 'Orbitron', sans-serif; /* Futuristic Font */
}

/* New CSS */
.green-btn-section .container:active {
    transform: scale(0.95); /* Scale down to give pressed effect */
    box-shadow: -10px -10px 40px #598262; /* Lessen shadow to give pressed effect */
    background: linear-gradient(328deg, #049148 0%, #33f895 100%); /* Change gradient angle */
}

.content-wrapper {
    background: linear-gradient(to bottom, var(--content-wrapper-start-colour), var(--content-wrapper-end-colour));
}

.token-section {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1; /* Adjust z-index to ensure it's above existing content */
}

.token-box {
    /*width: 330px;*/
    height: 64.69px;
    left: 0px;
    top: 0px;
    background: var(--primary-colour);
    box-shadow: 6px 6px 12px rgba(0, 0, 0, 0.25) inset;
    border-radius: 40px;
    z-index: 2; /* Place it above other elements within .token-section */
}

.token-label {
    width: 247.60px;
    left: 20.40px;
    top: 23.34px;
    position: absolute;
    color: var(--font-light);
    font-size: 16px;
    font-weight: 500;
    line-height: 18px;
    word-wrap: break-word;
    z-index: 3; /* Place it above other elements within .token-section */
    font-family: 'Orbitron', sans-serif; /* Futuristic Font */
}

.token-count {
    width: 50px;
    height: 50px;
    /*left: 266px;*/
    right: 10px;
    top: 7.34px;
    position: absolute;
    z-index: 4; /* Place it above other elements within .token-section */
}

.token-circle {
    width: 50px;
    height: 50px;
    left: 0px;
    top: 0px;
    position: absolute;
    background: var(--background-colour);
    box-shadow: 4px 6px 20px rgba(0, 0, 0, 0.35);
    border-radius: 9999px;
}

.token-number {
    width: 100%; /* Add this to make the content center within its parent */
    height: 100%; /* Add this to make the content center within its parent */
    display: flex; /* Use flexbox for centering */
    justify-content: center; /* Center horizontally */
    align-items: center; /* Center vertically */
    position: absolute;
    left: 0;
    top: 0;
    -webkit-background-clip: text;
    background-clip: text;
    color: var(--font-colour);
    font-size: 17px;
    font-family: 'SF Pro Text';
    font-weight: 600;
    line-height: 22px;
    word-wrap: break-word;
}

.gradient-border {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--gradient-border-start-colour), var(--gradient-border-end-colour)); /* Adjust the gradient as needed */
    border-radius: 50%;
    padding: 2px; /* Adjust for the desired border thickness */
    box-shadow: 3px 3px 10px var(--gradient-border-shadow-colour), -3px -3px 10px var(--gradient-border-shadow-colour);
}

.neumorphic-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(321deg, var(--neumorphic-btn-start-colour) 0%, var(--neumorphic-btn-end-colour) 100%);
    border-radius: 50%;
    width: 40px;
    height: 40px !important;
    position: relative;
    transition: all 0.1s ease-in-out;
}

.fas.fa-bars {
    color: #73ccf8;
}

.neumorphic-btn:active {
    box-shadow: inset 2px 2px 2px #000000, inset -2px -2px 2px #666666;
}

@-webkit-keyframes spin {
    to {
        border-top-color: #ec407a;
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes spin {
    to {
        border-top-color: #ec407a;
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}
/*.content-wrapper {
    position: relative;
    background: linear-gradient(to bottom, rgba(244, 246, 249, 0) 20%, rgba(244, 246, 249, 1) 100%), url('../images/map.jpg');
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
}*/
/* Create the half-circle shape with a gradient background */
.shape {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 400px;
    background: radial-gradient(circle at top, #efefef 50%, #f7000000 50%);
    border-radius: 0 0 50% 50%;
    z-index: 0;
}

.drone {
    width: 100%;
    padding: 30px;
}

.login-page, .register-page {
    background-image: url("/images/clouds-sky.jpg") !important;
    background-size: cover;
}

.circle {
    border-radius: 50%;
    width: 250px; /* Set the desired width */
    height: 250px; /* Set the desired height */
    background: #0f0f0f;
    position: relative;
    margin: 0 auto;
    display: block;
    box-shadow: 15px 15px 50px 5px #5f5f5f;
}

    .circle .button {
        background: var(--primary-colour);
        width: 80%;
        height: 80%;
        position: relative;
        top: 2%;
        display: flex;
        align-items: center;
        justify-content: center; /* Center horizontally */
        box-shadow: 0 25px 0 0 #085257;
        border: none;
        transition: all 0.5s ease;
        border-radius: 50%;
        color: #fff; /* Text color */
        font-size: 30px; /* Adjust font size as needed */
        text-align: center;
        text-transform: uppercase;
        font-weight: 700;
        letter-spacing: 2px;
        line-height: 32px;
    }

        .circle .button:active {
            box-shadow: 0 1px 1px 1px #00541e;
            top: 10%;
        }

.spinner {
    cursor: pointer;
    /*background: rgba(255, 255, 255, 0.1);*/
    position: relative;
    margin: auto;
    box-sizing: border-box;
    background-clip: padding-box;
    width: 600px;
    height: 600px;
    border-radius: 500px;
    border: 5px solid hsla(0, 0%, 100%, .1);
    border-color: transparent;
    -webkit-mask: linear-gradient(hsla(0, 0%, 0%, .1), hsla(0, 0%, 0%, 1) 90%);
    transform-origin: 50% 55%;
    transform: perspective(600px) rotateX(30deg);
    animation: spinner-wiggle 5.2s infinite;
}

    .spinner:hover:before,
    .spinner:hover:after {
        transform-origin: 50% 55%;
        transform: perspective(600px) rotateX(30deg);
        animation: spinner-spin 5.2s cubic-bezier(.6, .2, 0, .8) infinite, spinner-fade-hover 5.2s linear infinite;
    }

    .spinner .color-circle {
        position: absolute;
        top: 15%;
        left: 15%;
        width: 70%;
        height: 70%;
        transform-origin: 50% 50%;
        background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, hsla(110, 100%, 40%, 0.9)), color-stop(100%, hsla(100, 100%, 50%, 1)));
        border-radius: 50%;
        transition-duration: 2s;
        z-index: 2;
        transition: ease-in-out;
        cursor: pointer;
        animation: spin 5.2s linear infinite; /* Added animation for continuous spin */
    }

    .spinner h1 {
        font-size: 65px;
        padding: 10%;
        margin: 20%;
        text-align: center;
        width: 100%;
        left: -30%;
        float: left;
        top: 0%;
        background: rgba(255, 255, 255, 0);
        position: relative;
        -webkit-mask: linear-gradient(hsla(0, 0%, 0%, .1), hsla(0, 0%, 0%, 1) 90%);
        transform-origin: 50% 50%;
        transform: perspective(600px) rotateX(66deg);
        animation: spinner-wiggle 5.2s infinite;
        text-shadow: 0 60px 12px -18px hsla(0, 0%, 0%, .1), 0 60px 20px -12px hsla(0, 0%, 0%, .1);
        cursor: pointer;
    }

        .spinner h1:hover {
            -webkit-mask: linear-gradient(hsla(0, 0%, 0%, .1), hsla(0, 0%, 0%, 1) 90%);
            transform-origin: 50% 50%;
            transform: perspective(600px) rotateY(90deg);
            cursor: pointer;
        }

    .spinner:before,
    .spinner:after {
        content: "";
        position: absolute;
        margin: -5px;
        box-sizing: inherit;
        width: inherit;
        height: inherit;
        border-radius: 100%;
        opacity: .0;
        border: 250px solid;
        border-color: transparent;
        animation: spinner-spin 5.2s cubic-bezier(.6, .2, 0, .8) infinite, spinner-fade 5.2s linear infinite;
    }

    .spinner:before {
        border-top-color: hsl(190, 100%, 70%);
    }

    .spinner:after {
        border-top-color: hsl(138 75% 47% / 1);
        animation-delay: 1.3s;
        left: -0%;
        top: -0%;
    }

    .spinner:hover:after {
        border-top-color: hsla(100, 100%, 50%, 1);
        animation-delay: 1.3s;
        left: -0%;
        top: -0%;
    }

    .spinner:hover:before {
        border-top-color: hsla(110, 50%, 50%, 1);
        left: -0%;
    }

.container {
    top: 0;
    left: 0%;
    margin: 0 auto;
    width: calc(100%);
    height: calc(100%);
    z-index: 9;
    backface-visibility: hidden;
}

.outer-circle {
    position: absolute;
    width: 80%;
    height: 80%;
    border-radius: 50%;
    background-color: #dee;
    border: 3px solid #ccc;
    box-shadow: inset 0 12px 3px -7px #fff, 0 16px 12px rgba(0, 0, 0, 0.1);
    z-index: 1;
    left: 10%;
    top: 10%;
}

.color-circle-shadow {
    position: absolute;
    top: 15%;
    left: 15%;
    width: 70%;
    height: 70%;
    background: transparent;
    border-radius: 50%;
    box-shadow: 0 -12px 3px -7px #ddd, 0 12px 3px -7px #fff, inset 0 24px 18px -10px rgba(0, 0, 140, 0.3), inset 0 0 22px -2px rgba(0, 0, 0, 0.4);
    z-index: 3;
}

.inner-circle {
    position: absolute;
    top: 20%;
    left: 20.6%;
    width: 60%;
    height: 60%;
    border-radius: 50%;
    background-color: #eee;
    box-shadow: inset 0 12px 3px -7px #fff, 0 7px 34px -4px rgba(0, 0, 0, 0.6), 0 16px 12px rgba(0, 0, 0, 0.1);
    z-index: 4;
    /*margin: -4.55px;*/
    margin: -2px;
    display: flex; /* Add flexbox display */
    justify-content: center; /* Horizontally center content */
    align-items: center; /* Vertically center content */
}

.container:hover .color-circle {
    animation: spin 1.7s infinite linear;
}

@-webkit-keyframes spin {
    0% {
        transform: rotateZ(0deg);
    }

    100% {
        transform: rotateZ(360deg);
    }
}

@keyframes spinner-spin {
    100% {
        transform: rotate(1turn);
    }
}

@keyframes spinner-wiggle {
    0%, 100% {
        transform: perspective(600px) rotateX(30deg);
    }

    50% {
        transform: perspective(600px) rotateX(34deg);
    }
}

@keyframes spinner-fade {
    0%, 100% {
        opacity: 0.0;
    }

    50% {
        opacity: 0.1;
    }
}

@keyframes spinner-fade-hover {
    0%, 100% {
        opacity: 0.1;
    }

    50% {
        opacity: 0.0;
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@media (max-width: 767px) {
    .spinner {
        width: 300px;
        height: 300px;
        border-radius: 250px;
    }

        .spinner h1 {
            font-size: 32px;
        }

    .color-circle {
        top: 15%;
        left: 15%;
        width: 70%;
        height: 70%;
    }

    .spinner:before, .spinner:after {
        margin: -5px; /* This assumes you're scaling down by half, adjust as needed */
        border-width: 35px !important; /* Assuming you're scaling down by half from 50px */
    }
}

/* Circle Spinner Styles */
.green-btn-section .drone-circle-spinner:before, .green-btn-section .drone-circle-spinner:after {
    content: "";
    position: absolute;
    box-sizing: border-box; /* Using border-box to ensure border width is included in total width/height */
    width: 185px; /* Adjusting for border width */
    height: 185px; /* Adjusting for border width */
    top: 50%; /* Center the spinner */
    left: 50%; /* Center the spinner */
    transform: translate(-50%, -50%); /* Center the spinner */
    border-radius: 100%;
    opacity: .0;
    border: 13px solid;
    border-color: transparent;
    animation: droneSpinnerSpin 5.2s cubic-bezier(.6, .2, 0, .8) infinite, droneSpinnerFade 5.2s linear infinite;
}

.green-btn-section .drone-circle-spinner:after {
    /*border-top-color: hsl(138 75% 47% / 1);*/
    border-top-color: var(--secondary-colour-hsl);
    animation-delay: 1.3s;
}

.green-btn-section .circle,
.green-btn-section .inner-circle-green {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /* ...other styles you might have... */
}

@keyframes droneSpinnerSpin {
    0% {
        transform: translate(-50%, -50%) rotate(0deg);
    }

    100% {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

@keyframes droneSpinnerFade {
    0%, 50%, 100% {
        opacity: 0;
    }

    25%, 75% {
        opacity: 1;
    }
}

.main-sidebar {
    background: var(--background-colour);
    box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px !important;
}

.navbar-dark {
    background: var(--background-colour);
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    color: var(--font-colour);
}

.card {
    background-color: var(--background-colour);
    box-shadow: rgba(0, 0, 0, 0.25) 0px 10px 70px 1px;
}

.spinner-border {
    border-right-color: #afd3ef;
    color: #0d0e0e;
}

.form-control {
    background-color: var(--form-control-background-colour);
    border: 1px solid var(--input-group-colour);
    color: var(--font-colour);
}

    .form-control:focus {
        background-color: var(--form-control-background-colour);
        border: 1px solid var(--primary-colour);
        color: var(--font-colour);
    }

.tgl span {
    box-shadow: inset 0 2px 0 rgba(0, 0, 0, 0.2), 0 2px 0 rgb(41 41 41);
    border: 1px solid #8f8f8f;
}

.form-control:disabled, .form-control[readonly] {
    background-color: var(--form-control-background-colour);
}

.modal-content {
    background-color: var(--background-colour);
}

.close, .mailbox-attachment-close {
    color: #afd3ef;
}

.modal-header {
    border-bottom: none;
}

a {
    color: var(--link-colour);
}

    a:active {
        color: var(--link-colour);
    }

    a:hover {
        color: var(--link-hover-colour);
    }

.login-page .input-group-text {
    background-color: var(--background-colour);
    border: 1px solid var(--input-group-colour);
}

    .login-page .input-group-text i, .login-page span {
        color: var(--input-group-colour);
    }

[class*="sidebar-dark-"] .nav-treeview > .nav-item > .nav-link.active, [class*="sidebar-dark-"] .nav-treeview > .nav-item > .nav-link.active:hover, [class*="sidebar-dark-"] .nav-treeview > .nav-item > .nav-link.active:focus {
    background-color: var(--primary-colour);
    color: var(--nav-hover-font-colour) !important;
    font-weight: 700;
}

[class*="sidebar-dark-"] .nav-treeview > .nav-item > .nav-link:hover, [class*="sidebar-dark-"] .nav-treeview > .nav-item > .nav-link:focus {
    background-color: var(--primary-colour);
    color: var(--nav-hover-font-colour) !important;
}

.main-footer {
    background-color: var(--background-colour);
    border-top: 1px solid #c9c9c9;
}

.bg-info {
    background-color: #73ccf826 !important;
    border-width: 1px !important;
    border: solid;
    border-color: #73ccf8;
}

.info-box-content span {
    color: var(--primary-colour);
}

.info-box-content .progress-bar {
    background-color: #73ccf8 !important;
}

.login-page a {
    color: #3a6569;
}

    .login-page a:hover {
        color: #3f7d81;
    }

.login-page .login-box-msg {
    color: #999999;
}

.btn-grey {
    background-color: #d3d3d324 !important;
    border-color: #b9b9b9 !important;
    color: #b9b9b9 !important;
}

    .btn-grey:focus {
        background-color: #d3d3d324 !important;
        border-color: #b9b9b9 !important;
        color: #b9b9b9 !important;
    }

    .btn-grey:hover {
        background-color: rgb(211 211 211 / 33%) !important;
        border-color: #f9f9f9 !important;
        color: #f9f9f9 !important;
    }

.login-page .h4 {
    color: #4cadaa;
}

.sidebar-mini.sidebar-collapse .main-header .logo > .logo-mini {
    display: block;
    margin-left: -15px;
    margin-right: -15px;
    font-size: 16px;
    background-position-x: center;
    background-repeat: no-repeat;
    background-image: url( '../images/Logo50.png');
    height: 50px;
}

/* dx components */

.dx-datagrid {
    background-color: var(--background-colour);
    color: var(--font-colour);
}

.dx-texteditor-input {
    color: var(--font-colour);
}

.dx-checkbox.dx-state-readonly .dx-checkbox-icon {
    border-color: var(--datagrid-border-colour);
    background-color: var(--background-colour);
}

.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused) > td, .dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused) > tr > td, .dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover > td, .dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover > tr > td {
    background-color: var(--datagrid-selected-row-colour);
    color: var(--font-colour);
}

.dx-dropdowneditor-icon {
    color: var(--font-colour);
}

.dx-editor-cell .dx-texteditor, .dx-editor-cell .dx-texteditor .dx-texteditor-input {
    background: var(--background-colour);
}

.dx-toolbar {
    width: 100%;
    background-color: var(--background-colour);
    color: var(--font-colour);
    padding: 0;
    overflow: visible;
}

.dx-datagrid-headers {
    font-size: 11px;
    white-space: normal;
}

/*Scrollbars for devExtreme Grids start*/
.dx-scrollable-container .dx-scrollable-scrollbar.dx-scrollbar-horizontal .dx-scrollable-scroll {
}

.dx-scrollbar-hoverable {
    background-color: rgba(191, 191, 191, 0.2);
}

.dx-scrollbar-vertical {
    width: 15px !important;
}

    .dx-scrollbar-vertical .dx-scrollable-scroll {
        width: 15px !important;
    }

.dx-scrollbar-horizontal {
    height: 15px !important;
}

    .dx-scrollbar-horizontal .dx-scrollable-scroll {
        height: 15px !important;
    }

/*Scrollbars for devExtreme Grids end*/

.dx-scrollable-scrollbars-alwaysvisible.dx-scrollable-horizontal .dx-scrollable-content,
.dx-scrollable-scrollbars-alwaysvisible.dx-scrollable-both .dx-scrollable-content {
    padding-bottom: 14px;
}

.dx-datagrid-rowsview .dx-selection.dx-row > td,
.dx-datagrid-rowsview .dx-selection.dx-row:hover > td,
.dx-datagrid-rowsview .dx-selection.dx-row > tr > td,
.dx-datagrid-rowsview .dx-selection.dx-row:hover > tr > td {
    border-right-color: var(--datagrid-border-colour);
}

.dx-texteditor .dx-editor-outline, .dx-tagbox {
    background: var(--background-colour) !important;
}

.dx-list-item .dx-state-hover {
    background-color: var(--background-colour);
    color: var(--font-colour);
}

.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item .dx-state-hover {
    background-color: var(--secondary-colour);
    color: var(--font-colour);
}

.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-list-item-selected {
    background-color: var(--background-colour);
    color: var(--secondary-colour);
}

.dx-button-mode-contained, .dx-button-mode-contained .dx-state-hover, .dx-button-mode-contained .dx-icon {
    background-color: var(--background-colour);
    color: var(--font-colour);
}

.dx-fileuploader-input, .dx-fileuploader-file-name, .dx-fileuploader-input-label {
    color: var(--font-colour);
}

.dx-nav-item, .dx-rtl .dx-nav-item {
    background: var(--background-colour);
}

.dx-list .dx-empty-message, .dx-list-item {
    color: var(--font-colour);
}

.dx-selectbox-popup-wrapper .dx-list {
    background-color: var(--background-colour);
}

.dx-tag-content {
    background-color: var(--tag-background-colour);
    color: var(--font-colour);
}

.dx-checkbox-checked .dx-checkbox-icon {
    color: var(--secondary-colour);
}

.dx-datagrid-borders > .dx-datagrid-filter-panel {
    border-top-width: 0;
    border-left: 1px solid var(--datagrid-border-colour);
    border-right: 1px solid var(--datagrid-border-colour);
    border-bottom: 1px solid var(--datagrid-border-colour);
}

.dx-datagrid-pager {
    border-top: 1px solid var(--datagrid-border-colour);
}

.dx-pager .dx-page-sizes .dx-selection, .dx-pager .dx-pages .dx-selection {
    background-color: var(--primary-colour);
}

.dx-widget {
    color: var(--font-colour);
}

.dx-datagrid-filter-panel .dx-datagrid-filter-panel-clear-filter, .dx-datagrid-filter-panel .dx-datagrid-filter-panel-text, .dx-datagrid-filter-panel .dx-icon-filter {
    outline: 0;
    color: var(--primary-colour);
}

.dx-button-mode-contained.dx-state-hover {
    background-color: var(--background-colour);
    border-color: var(--input-group-colour);
}

.dx-button-mode-contained.dx-state-focused {
    background-color: var(--background-colour);
    border-color: var(--input-group-colour);
}

.dx-texteditor.dx-editor-outlined {
    background: var(--background-colour);
    border: 1px solid var(--input-group-colour);
    border-radius: 4px;
}

.dx-datagrid-rowsview .dx-master-detail-row:not(.dx-datagrid-edit-form) .dx-master-detail-cell,
.dx-datagrid-rowsview .dx-master-detail-row:not(.dx-datagrid-edit-form) > .dx-datagrid-group-space {
    background-color: var(--background-colour);
}