:root {
    /*
OLD: 
--vz-primary: #695eef;
--vz-primary-rgb: 105,94,239;
    */

    --vz-primary: #29cd9b;
    --vz-primary-rgb: 26, 161, 119;
    --vz-link-color: #29cd9b;
    --vz-link-hover-color: #1aa177;
    --vz-topnav-item-color-active: #29cd9b;
    --vz-vertical-menu-item-hover-color: #1aa177;
    --vz-vertical-menu-item-active-color: #29cd9b;
    --vz-vertical-menu-sub-item-color: #29cd9b;
    --vz-vertical-menu-sub-item-hover-color: #1aa177;
    --vz-vertical-menu-sub-item-active-color: #29cd9b;
    --vz-input-focus-border: #29cd9b5c;
    --vz-header-bg-dark: #29cd9b;
    --vz-accordion-button-active-color: #1aa177;
    /*custom variables*/
    --main-gradient: linear-gradient(to right,#38454a,#38454a);
}

.btn-primary {
    background-color: #29cd9b;
    border-color: #29cd9b;
}

    .btn-check:active + .btn-primary, .btn-check:checked + .btn-primary, .btn-primary.active, .btn-primary:active, .show > .btn-primary.dropdown-toggle,
    .btn-check:focus + .btn-primary, .btn-primary:focus,
    .btn-primary:hover {
        color: #fff;
        background-color: #1aa177;
        border-color: #1aa177;
    }

    .btn-primary:disabled {
        color: #fff;
        background-color: #1aa177;
        border-color: #1aa177;
    }
     
.btn-lights {
    background-color: rgb(248, 249, 250);
    border-color: rgb(221, 221, 221);
}

    .btn-check:active + .btn-lights, .btn-check:checked + .btn-lights, .btn-lights.active, .btn-lights:active, .show > .btn-lights.dropdown-toggle,
    .btn-check:focus + .btn-lights, .btn-lights:focus,
    .btn-lights:hover {
        color: black;
        background-color: #e2e4e7;
        border-color: #e2e4e7;
    }

    .btn-lights:disabled {
        color: black;
        background-color: #e2e4e7;
        border-color: #e2e4e7;
    } 

.bg-soft-primary {
    background-color: #29cd9b94 !important;
}

.auth-one-bg .bg-overlay {
    background: var(--main-gradient);
    opacity: 0.7 !important;
}

/*end - theme color overrides*/

[data-topbar=dark] #page-topbar {
    background: var(--main-gradient);
}

.logo {
    color: #fff;
    font-size: 22px;
    font-weight: bold;
}


.logo-light {
    width: 150px !important;
}

.logo-light .logo-lg img {
        max-width: 150px;
        height :71px;
}

.logolobby {
    color: #73dce9;
    font-size: 22px;
    font-weight: bold;
}

.hide {
    display: none;
}

.navbar-brand-box .logo span img {
    display: block;
    max-width: 100%;
    height: auto;
}

#page-topbar .navbar-brand-box .logo span img,
.app-menu .navbar-brand-box .logo span img {
    max-height: 75px;
    width: auto;
    object-fit: contain;
}

#page-topbar .navbar-brand-box .logo .logo-sm img,
.app-menu .navbar-brand-box .logo .logo-sm img {
    max-height: 40px;
}

@media (max-width: 767.98px) {
    #page-topbar .navbar-brand-box {
        padding: 0 1rem;
    }

    #page-topbar .navbar-brand-box .logo span img {
        max-height: 40px;
    }
}

.pagination li.active a {
    color: #fff;
    background-color: #29cd9b;
}

.pagination li {
    margin-left: 5px;
}

/*.preloadertransparent {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 128, 0.5);
    z-index: 9999999;
    text-align: center;
}*/

.preloadertransparent {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #29cd9b4f;
    z-index: 9999999;
    text-align: center;
}

/* Preloader */
.preloader {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #000080;
    z-index: 9999999;
    text-align: center;
}

.loading {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 40px;
    display: flex;
    align-items: center;
}

.loader-line {
    width: 7px;
    height: 40px;
    background: #fff;
    margin: 0 3px;
    border-radius: 3px;
    animation: loading 1s infinite;
}

    .loader-line:nth-child(2) {
        animation-delay: 0.1s;
    }

    .loader-line:nth-child(3) {
        animation-delay: 0.2s;
    }

    .loader-line:nth-child(4) {
        animation-delay: 0.3s;
    }

    .loader-line:nth-child(5) {
        animation-delay: 0.4s;
    }

    .loader-line:nth-child(6) {
        animation-delay: 0.5s;
    }

    .loader-line:nth-child(7) {
        animation-delay: 0.6s;
    }

    .loader-line:nth-child(8) {
        animation-delay: 0.7s;
    }

@keyframes loading {
    0% {
        height: 0;
    }

    50% {
        height: 40px;
    }

    100% {
        height: 0;
    }
}

.m-r-5 {
    margin-right: 5px;
}

/******* COMMON *******/

body {
    min-width: 320px;
}

.hide {
    display: none;
}

.pull-left {
    float: left;
}

.pull-right {
    float: right;
}

.validation-error {
    color: red;
    margin-left: 10px
}

.error {
    border: 1px solid red !important;
}
/******* COMMON END *******/
.font-size-1 {
    font-size: 1em;
}

#topnav-menu-content .nav-item a.nav-link.active {
    color: var(--ct-menu-item-active);
}

.fa-icon-button {
    padding-right: 3px;
    font-size: 11px;
}

.select2 {
    width: 100% !important;
}

.modal-open {
    overflow: inherit !important;
}

.mt-20 {
    margin-top: 20px;
}

.mb-10 {
    margin-bottom: 10px;
}

.mr-10 {
    margin-right: 10px;
}

.ml-10 {
    margin-left: 10px;
}

.mr-20 {
    margin-right: 20px;
}

.nowrap {
    white-space: nowrap;
}

.cursor-pointer {
    cursor: pointer;
}

.mr-5 {
    margin-right: 5px;
}

.form-check-input:checked {
    background-color: #29cd9b;
    border-color: #29cd9b;
}

/* Specific styling for One-time-payment and Subscription toggles to be red when enabled */
#Reservation_IsOneTimePayment:checked,
#Reservation_IsSubscription:checked {
    background-color: #dc3545;
    border-color: #dc3545;
}

.fa-pencil, .fa-trash {
    cursor: pointer;
}

.form-check-input {
    height: 1.3rem;
    width: 4em !important
}

/*data table css*/
.buttons-excel, .page-link:hover {
    background-color: #29cd9b;
    border-color: #29cd9b;
    color: #fff;
}

    .buttons-excel.active, .buttons-excel:active, .page-item.active .page-link, .buttons-excel:focus, .buttons-excel:hover {
        color: #fff;
        background-color: #1aa177;
        border-color: #1aa177;
    }

/*end data table css*/

.notready {
    font-size: 9px;
    color: red;
}

.swal2-confirm.swal2-styled {
    color: #fff;
    background-color: #1aa177;
    border-color: #1aa177;
}

.swal2-styled.swal2-confirm:focus {
    box-shadow: none;
}

.countdown-container {
    position: relative;
    width: 200px;
    height: 200px;
}

.countdown-stripes {
    fill: none;
    stroke: #4caf50;
    stroke-width: 21px;
    stroke-dasharray: 2, 5;
    stroke-dashoffset: 0;
    transition: stroke-dashoffset 1s linear;
}

.progress-ring__background {
    stroke-dasharray: 500; /* 2 * Math.PI * r where r = 60 */
    stroke-dashoffset: 0;
    transform: rotate(-90deg);
    transform-origin: 50% 50%;
}

.qr-intimer {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 24px;
    font-weight: bold;
}

.spntime {
    font-size: 12px;
}

.columngap {
    column-gap: 7rem;
}

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


@media screen and (min-width: 992px) {
    .d-text-center {
        text-align: left;
    }
}

[data-topbar=dark] .topbar-user {
    background-color: #455358;
}

/*#toggleModeButton {
    background-color: #dadfe5;
}*/
.daterangepicker {
    background-color: transparent !important;
}

.step-arrow-nav .nav {
    background-color: #dbe6f1 !important;
}

.step-arrow-nav .nav .nav-link.active {
    background-color: #13c56b !important;
    color: #fff !important;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.step-arrow-nav .nav .nav-link.active::before {
    border-left-color: #13c56b !important;
}
.step-arrow-nav .nav .nav-link.done {
background-color: #13c56b !important;
color: #fff !important;
}

.dt-search {
    display: none;
}

.dt-length {
    display: none;
}

.table-container {
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #ddd;
    margin: 10px;
}

    .table-container table {
        margin-bottom: 0;
    }

.btn-icon {
    border-radius: 50%;
    padding: 5px 10px;
}

.apex-charts text {
    font-size: 12px !important;
}

.custom-logo {
    width: 35px;
    height: 35px;
    border-radius: 50px;
}

.apexcharts-zoom-icon {
    display: none;
}

.apexcharts-pan-icon {
    display: none;
}

.apexcharts-menu-icon {
    display: none;
}

.apexcharts-datalabels-group .apexcharts-text {
    font-size: 16px !important;
}
.filter-buttons {
    display: flex;
}

.barchartbtn {
    padding: 10px 20px;
    border: 1px solid #ccc;
    background-color: #f8f9fa;
    color: #000;
    cursor: pointer;
    margin-right: -1px;
}

    .barchartbtn:last-child {
        margin-right: 0;
    }

    .barchartbtn.active {
        background-color: #000;
        color: #fff;
    }




@media (max-width: 1500px) {
    .apexcharts-datalabels-group .apexcharts-text {
        font-size: 12px !important;
    }
}

@media (max-width: 1200px) {
    .apexcharts-datalabels-group .apexcharts-text {
        font-size: 10px !important;
    }
}

@media (max-width: 853px) {
    .apex-charts text {
        font-size: 5px !important;
    }

    .apexcharts-legend-text {
        font-size: 12px !important;
    }

    .apexcharts-legend {
        width: 85% !important;
        height: 90px !important;
        margin-left: -22px !important;
    }
}

@media (max-width: 768px) {
    .apex-charts text {
        font-size: 5px !important;
    }

    .apexcharts-legend-text {
        font-size: 12px !important;
    }

    .apexcharts-legend {
        width: 80% !important;
        height: 90px !important;
        margin-left: -22px !important;
    }

    .clsfilter {
        padding: 10px 12px !important;
    }
}

@media (min-width: 320px) {
    .apexcharts-legend-text {
        font-size: 12px;
        font-weight: 400;
        margin-left: 0px;
    }

    .apex-charts text {
        font-size: 12px !important;
    }

    .clsfilter {
        padding: 10px 12px !important;
    }

    .clsEditlocation {
        margin-top: 2px !important;
    }
}

@media (min-width: 992px) {
    .modal-lg, .modal-xl {
        max-width: 1050px !important;
    }
}
/*location dashboard custom date filter*/
.flatpickr-calendar {
    width: 307.875px;
    max-width: 307.875px;
}

/*location dashboard start*/
.dt-search {
    display: none;
}

.dt-length {
    display: none;
}

.table-container {
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #ddd;
    margin: 10px;
}

    .table-container table {
        margin-bottom: 0;
    }

.btn-icon {
    border-radius: 50%;
    padding: 5px 10px;
}

.apex-charts text {
    font-size: 12px !important;
}

.custom-logo {
    width: 35px;
    height: 35px;
    border-radius: 50px;
}

.apexcharts-zoom-icon {
    display: none;
}

.apexcharts-pan-icon {
    display: none;
}

.apexcharts-menu-icon {
    display: none;
}

.apexcharts-datalabels-group .apexcharts-text {
    font-size: 16px !important;
}

@@media (max-width: 1500px) {
    .apexcharts-datalabels-group .apexcharts-text {
        font-size: 12px !important;
    }
}

@@media (max-width: 1200px) {
    .apexcharts-datalabels-group .apexcharts-text {
        font-size: 10px !important;
    }
}

@@media (max-width: 853px) {
    .apex-charts text {
        font-size: 5px !important;
    }

    .apexcharts-legend-text {
        font-size: 12px !important;
    }

    .apexcharts-legend {
        width: 85% !important;
        height: 90px !important;
        margin-left: -22px !important;
    }
}

@@media (max-width: 768px) {
    .apex-charts text {
        font-size: 5px !important;
    }

    .apexcharts-legend-text {
        font-size: 12px !important;
    }

    .apexcharts-legend {
        width: 80% !important;
        height: 90px !important;
        margin-left: -22px !important;
    }

    .clsfilter {
        padding: 10px 12px !important;
    }
}

@@media (min-width: 320px) {
    .apexcharts-legend-text {
        font-size: 12px;
        font-weight: 400;
        margin-left: 0px;
    }

    .apex-charts text {
        font-size: 12px !important;
    }

    .clsfilter {
        padding: 10px 12px !important;
    }

    .clsEditlocation {
        margin-top: 2px !important;
    }
}

.filter-buttons {
    display: flex;
}

.clsfilter {
    padding: 10px 20px;
    border: 1px solid #ccc;
    background-color: #f8f9fa;
    color: #000;
    cursor: pointer;
    margin-right: -1px;
}

    .clsfilter:last-child {
        margin-right: 0;
    }

    .clsfilter.active {
        background-color: #000;
        color: #fff;
    }


#btnvalettoday, .left-round, #btns2ptoday, #btnGatedtoday, .left-round {
    border-radius: 30px 0px 0px 30px;
}

#btnvaletcustom, #btns2pcustom, #btnGatedcustom, .right-round {
    border-radius: 0px 30px 30px 0px;
}

.apexcharts-legend-marker {
    border-radius: 2px !important;
}

/*location dashboar end*/


input[type="radio"].form-check-input {
    width: 1.1em !important;
    height: 1.1em !important;
    margin-top: .2em !important;
}

.hide-alpr-changes
{
    /*display:none !important*/
}

/* Back-to-top floating button positioning */
#back-to-top {
    bottom: 20px !important;
}

/* Mobile fix: prevent back-to-top button from overlapping the Validate button */
@media (max-width: 767.98px) {
    #back-to-top {
        bottom: 80px !important;
        right: 0px !important;
        z-index: 1050 !important;
    }

    /* Ensure the Validate button wrapper stays above other content and is fully tappable */
    #validateBtnWrapper {
        position: relative;
        z-index: 10;
        padding-bottom: 1rem;
    }

    /* Add extra bottom margin to the Validate button form-group on mobile */
    #validateBtnWrapper .form-group {
        margin-bottom: 0.5rem;
    }
}

/* Responsive fixes for validation cards (prevent horizontal overflow and improve wrapping) */
.validation-card {
    max-width: 100%;
    overflow: hidden;
}

    .validation-card .card-body {
        position: relative;
        padding-right: 1rem;
        padding-left: 1rem;
    }

        /* Header: allow buttons to wrap on narrow screens */
        .validation-card .card-body > .d-flex.justify-content-between {
            flex-wrap: wrap;
            gap: 0.5rem;
        }

        .validation-card .card-body .d-flex .btn {
            flex: 0 0 auto;
        }

    /* Make action buttons smaller and stack nicely on mobile */
    .validation-card .btn-show-qr,
    .validation-card .btnRemove {
        min-width: 38px;
        min-height: 38px;
        padding: 0.45rem 0.5rem;
        line-height: 1;
    }

/* Ensure form rows and inputs take full width on small screens */
@media (max-width: 575.98px) {
    .validation-card .col-md-6 {
        width: 100%;
        max-width: 100%;
    }

    .validation-card .card-title {
        font-size: 1rem;
        margin-bottom: 0.5rem;
    }

    .validation-card .form-check {
        margin-bottom: 0.5rem;
    }

        /* Make the switch and small action buttons appear inline but not overflow */
        .validation-card .form-check.form-switch {
            margin-left: 0.5rem;
        }

    /* Slightly reduce paddings for compact appearance */
    .validation-card .card-body {
        padding-top: 0.9rem;
        padding-bottom: 0.9rem;
    }
}

html, body {
    overflow-x: hidden;
}