body[data-layout-color="dark"] {
    --ct-popover-bg: var(--ct-body-bg);
    --ct-popover-arrow-color: var(--ct-body-bg);
}

@font-face {
    font-family: 'towncontrol';
    src: url('../fonts/towncontrol/towncontrol.eot');
    src: url('../fonts/towncontrol/towncontrol.eot?#iefix') format('embedded-opentype'), url('../fonts/towncontrol/towncontrol.woff') format('woff'), url('../fonts/towncontrol/towncontrol.ttf') format('truetype'), url('../fonts/towncontrol/towncontrol.svg#towncontrol') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "Dotmatrix";
    src: url('../fonts/towncontrol/DotStudio.ttf');
}

@font-face {
    font-family: "EuroPlate";
    src: url('../fonts/towncontrol/EuroPlate.ttf');
}

@font-face {
    font-family: "LicensePlate";
    src: url('../fonts/towncontrol/dealerplate.california.ttf');
}

@font-face {
    font-family: "Monsieur La Doulaise";
    src: url('../fonts/towncontrol/MonsieurLaDoulaise-Regular.ttf');
}

.accordion-item {
    background-color: var(--ct-body-bg);
    color: var(--ct-body-color);
}

body[data-layout-mode="default"] .bs-datagrid {
    min-height: calc(100vh - 332px) !important;
    max-height: calc(100vh - 332px) !important;
    overflow-y: scroll;
}

body[data-layout-mode="horizontal"] .bs-datagrid {
    min-height: calc(100vh - 390px) !important;
    max-height: calc(100vh - 390px) !important;
    overflow-y: scroll;
}

.bs-datagrid tr {
    height: 51px;
}
/* TownControl Icons */
.police-personnel:before {
    font-family: 'towncontrol', emoji;
    font-style: normal;
    content: '\0041';
}

.police-vehicle:before {
    font-family: 'towncontrol', emoji;
    font-style: normal;
    content: '\0042';
}

.fire-personnel:before {
    font-family: 'towncontrol', emoji;
    font-style: normal;
    content: '\0043';
}

.fire-vehicle:before {
    font-family: 'towncontrol', emoji;
    font-style: normal;
    content: '\0044';
}

.medical-personnel:before {
    font-family: 'towncontrol', emoji;
    font-style: normal;
    content: '\0045';
}

.medical-vehicle:before {
    font-family: 'towncontrol', emoji;
    font-style: normal;
    content: '\0046';
}

.service-personnel:before {
    font-family: 'towncontrol', emoji;
    font-style: normal;
    content: '\0047';
}

.service-vehicle:before {
    font-family: 'towncontrol', emoji;
    font-style: normal;
    content: '\0048';
}

.community-logo {
    aspect-ratio: 1 / 1;
    background-repeat: no-repeat !important;
    background-size: 100% 100% !important;
}

.my-component {

    margin: 10px auto;
    padding: 2em;
    width: 50%;
    background: #1c1f2b;
    position: relative;
    border-radius: 10px;
}

.my-component::after {
    border-radius: 10px;
    content: '';
    position: absolute;
    height: 100%;
    width: 100%;
    background: conic-gradient(red, blue, red);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    padding: 30px;
}


h1:focus {
    outline: none;
}

body[data-topbar-color=dark] .content-page {
    margin-top: 94px !important;
}

body[data-topbar-color=light] .content-page {
    margin-top: 94px !important;
}

.dropdown-menu .show {
    display: block !important;

}

.dropdown-menu[data-bs-popper] {
    margin: 0 !important;
}

.logo-dark img {
    display: inline-block;
    filter: invert();
}

.logo {
    height: 70px;
    margin: auto;
}

.logo-text {
    margin: auto;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.logo span {
    line-height: initial !important;
    font-weight: bold;
    font-size: 1.2em;
    align-items: center;
    height: 100%;
}

.logo-dark .logo-text {
    color: black;
}

.logo-light .logo-text {
    color: white;
}

.transform-90 {
    transform: rotate(90deg);
}

.logout-text {
    color: var(--ct-dropdown-link-color) !important;
}

body[data-layout-color="light"] .shade {
    background: rgba(50, 50, 50, 0.4);
}

body[data-layout-color="dark"] .shade {
    background: rgba(150, 150, 150, 0.2);
}

.shade {
    background: rgba(150, 150, 150, 0.2);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
}

.toast {
    margin-top: 10px;
    margin-right: 10px;
    background: var(--ct-footer-bg) !important;
}

.fw-1 {
    width: 1rem !important;
}

.fw-2 {
    width: 2rem !important;
}

.fw-3 {
    width: 3rem !important;
}

.fw-4 {
    width: 4rem !important;
}

.fw-5 {
    width: 5rem !important;
}

.fw-6 {
    width: 6rem !important;
}

.fw-7 {
    width: 7rem !important;
}

.fw-8 {
    width: 8rem !important;
}

.fw-9 {
    width: 9rem !important;
}

.fw-10 {
    width: 10rem !important;
}

.fw-11 {
    width: 11rem !important;
}

.fw-12 {
    width: 12rem !important;
}

.fw-13 {
    width: 13rem !important;
}

.fw-14 {
    width: 14rem !important;
}

.fw-15 {
    width: 15rem !important;
}

.fw-16 {
    width: 16rem !important;
}

.fw-17 {
    width: 17rem !important;
}

.fw-18 {
    width: 18rem !important;
}

.fw-19 {
    width: 19rem !important;
}

.fw-20 {
    width: 20rem !important;
}

.w-5 {
    width: 5% !important;
}

.w-10 {
    width: 10% !important;
}

.w-15 {
    width: 15% !important;
}

.w-20 {
    width: 20% !important;
}

.w-30 {
    width: 30% !important;
}

.w-35 {
    width: 35% !important;
}

.w-40 {
    width: 40% !important;
}

.w-45 {
    width: 45% !important;
}

.w-55 {
    width: 55% !important;
}

.w-60 {
    width: 60% !important;
}

.w-65 {
    width: 65% !important;
}

.w-70 {
    width: 70% !important;
}

.w-75 {
    width: 75% !important;
}

.w-80 {
    width: 80% !important;
}

.w-85 {
    width: 85% !important;
}

.w-90 {
    width: 90% !important;
}

.w-95 {
    width: 95% !important;
}

.h-10 {
    height: 10% !important;
}

.h-15 {
    height: 15% !important;
}

.h-20 {
    height: 20% !important;
}

.h-30 {
    height: 30% !important;
}

.h-35 {
    height: 35% !important;
}

.h-40 {
    height: 40% !important;
}

.h-45 {
    height: 45% !important;
}

.fixed-width-1 {
    width: 10rem !important;
}

.fixed-width-1-5 {
    width: 15rem !important;
}

.fixed-width-2 {
    width: 20rem !important;
}

.fixed-width-2-5 {
    width: 25rem !important;
}

.fixed-width-3 {
    width: 30rem !important;
}

.fixed-width-3-5 {
    width: 35rem !important;
}

.fixed-width-4 {
    width: 40rem !important;
}

.fixed-width-4-5 {
    width: 45rem !important;
}

.fixed-width-5 {
    width: 50rem !important;
}

.fixed-width-5-5 {
    width: 55rem !important;
}

.fixed-width-6 {
    width: 60rem !important;
}

.fixed-width-6-5 {
    width: 65rem !important;
}

.fixed-width-7 {
    width: 70rem !important;
}

.fixed-width-7-5 {
    width: 75rem !important;
}

.fixed-width-8 {
    width: 80rem !important;
}

.fixed-width-8-5 {
    width: 85rem !important;
}

.fixed-width-9 {
    width: 90rem !important;
}

.fixed-width-9-5 {
    width: 95rem !important;
}

.fixed-width-10 {
    width: 100rem !important;
}

.fixed-height-1 {
    height: 1rem !important;
}

.fixed-height-2 {
    height: 2rem !important;
}

.fixed-height-3 {
    height: 3rem !important;
}

.fixed-height-4 {
    height: 4rem !important;
}

.fixed-height-5 {
    height: 5rem !important;
}

.fixed-height-6 {
    height: 6rem !important;
}

.fixed-height-7 {
    height: 7rem !important;
}

.fixed-height-8 {
    height: 8rem !important;
}

.fixed-height-9 {
    height: 9rem !important;
}

.fixed-height-10 {
    height: 10rem !important;
}

.fixed-height-11 {
    height: 11rem !important;
}

.fixed-height-12 {
    height: 12rem !important;
}

.fixed-height-13 {
    height: 13rem !important;
}

.fixed-height-14 {
    height: 14rem !important;
}

.fixed-height-15 {
    height: 15rem !important;
}

.fixed-height-16 {
    height: 16rem !important;
}

.fixed-height-17 {
    height: 17rem !important;
}

.fixed-height-18 {
    height: 18rem !important;
}

.fixed-height-19 {
    height: 19rem !important;
}

.fixed-height-20 {
    height: 20rem !important;
}


.scrollbar-thin::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    background-color: #F5F5F5;
}

.scrollbar-thin::-webkit-scrollbar {
    width: 6px;
    height: 6px;
    background-color: #F5F5F5;
}

.scrollbar-thin::-webkit-scrollbar-thumb {
    background-color: var(--ct-info);
}

.card-header.gradient {
    background: linear-gradient(135deg, rgba(80, 82, 133, .5) 0%, rgba(88, 94, 146, .5) 12%, rgba(101, 104, 159, .5) 25%, rgba(116, 116, 176, .5) 37%, rgba(126, 126, 187, .5) 50%, rgba(131, 137, 199, .5) 62%, rgba(151, 149, 212, .5) 75%, rgba(162, 161, 220, .5) 87%, rgba(181, 174, 228, .5) 100%);
    font-weight: bold;
    font-size: 1rem;
}


/* TownControl  */
body[data-layout-mode="default"] .fixed-height-reports {
    min-height: calc(100vh - 355px) !important;
}

body[data-layout-mode="horizontal"] .fixed-height-reports {
    min-height: calc(100vh - 410px) !important;
}

/* TownControl  */
body[data-layout-mode="default"] .tinymce-wrapper {
    min-height: calc(100vh - 345px) !important;
}

body[data-layout-mode="horizontal"] .tinymce-wrapper {
    min-height: calc(100vh - 400px) !important;
}


/* Dispatch */
.form-transparent {
    margin: 0px !important;
    padding: 0px !important;
    border: 0px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--ct-input-color);
}

.no-bgimg {
    background-image: none;
}

.circle {
    background: gray;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    display: inline-block;
}

.bg-silver {
    background: darkgray !important;
}

.bg-gradient-invert {
    background-image: linear-gradient(0deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0)) !important;
}

.text-police {
    font-weight: bold;
    color: blue;
}

.text-fire {
    font-weight: bold;
    color: red;
}

.text-medical {
    font-weight: bold;
    color: darkgreen;
}

.text-service {
    font-weight: bold;
    color: brown;
}

.bg-dispatched {
    background: rgba(200, 200, 200, .40);
}

.bg-arrived {
    background: rgba(0, 255, 0, .40);
}

.bg-lighter {
    background: rgba(255, 255, 255, .6);
    color: black;
}

.bg-lighter .form-transparent {
    color: black !important;
}

.thin-scrollbar::-webkit-scrollbar {
    width: 5px;
    height: 5px;
}

.thin-scrollbar::-webkit-scrollbar-track {
    background-color: #f2f2f2;
}

.thin-scrollbar::-webkit-scrollbar-thumb {
    background-color: #aaa;
    border-radius: 5px;
}

.thin-scrollbar::-webkit-scrollbar-thumb:hover {
    background-color: #999;
}

.animated {
    transition: .6s;
}

.dispatch-users {
    width: 200px;
}

.dispatch-unit-card {
    width: 18rem;
}


.dispatch-chat {
    height: calc(15rem - 3.25rem);
    overflow-y: auto;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
}

.dispatch-user-list {
    height: calc(15rem - 3.25rem);
    overflow-y: auto;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
}

/* Mobile-specific chat height adjustments */
@media (max-width: 769px) {
    .dispatch-chat {
        height: calc(18rem - 6rem);
        max-height: calc(18rem - 6rem);
    }
    
    .dispatch-user-list {
        height: calc(18rem - 6rem);
        max-height: calc(18rem - 6rem);
    }
    
    /* Reduce fixed height on mobile to give more space to upper sections */
    .fixed-height-18 {
        height: 16rem !important;
    }
    
    /* Reduce tab area padding on mobile */
    .dispatch .card.mb-2.p-2 {
        padding: 0.5rem !important;
        margin-bottom: 0.5rem !important;
    }
    
    /* Adjust incident area height to compensate for reduced chat area */
    .dispatch-incident-wrapper {
        height: calc(100% - 20vh - .5rem - 56px) !important;
    }
}

/* Small mobile devices */
@media (max-width: 480px) {
    .dispatch-chat {
        height: calc(15rem - 5rem);
        max-height: calc(15rem - 5rem);
    }
    
    .dispatch-user-list {
        height: calc(15rem - 5rem);
        max-height: calc(15rem - 5rem);
    }
    
    /* Further reduce fixed height on very small screens */
    .fixed-height-18 {
        height: 14rem !important;
    }
    
    /* More aggressive tab area reduction */
    .dispatch .card.mb-2.p-2 {
        padding: 0.25rem !important;
        margin-bottom: 0.25rem !important;
    }
    
    /* Further adjust incident area height for small screens */
    .dispatch-incident-wrapper {
        height: calc(100% - 18vh - .5rem - 48px) !important;
    }
}

.dispatch-units-container {
    height: calc(100% - 4.25rem);
    overflow-y: auto;
    overflow-x: hidden;
}

.dispatch-incident-card {
    height: 100% !important;
    margin-bottom: .5rem;
    overflow: hidden;
}

.dispatch-incident-wrapper {
    height: calc(100% - 25vh - .5rem - 56px) !important;
    margin-bottom: .5rem;
}

.dispatch-incident-container {
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
}
.dispatch-height > * {
    min-height: 0;
}

.dispatch-incident-model-card {
    height: calc(100vh - 25vh - 14.375rem) !important;
}



.dispatch-chat-height {
    height: 16rem !important;
}


@media (min-width: 992px) {
    .w-lg-80 {
        width: 80% !important;
    }

    .w-lg-10 {
        width: 10% !important;
    }
}

@media ( min-width: 769.1px) {

    body[data-layout-mode="default"] .dispatch-height {
        min-height: calc(100vh - 232px) !important;
        max-height: calc(100vh - 232px) !important;
    }

    body[data-layout-mode="horizontal"] .dispatch-height {
        min-height: calc(100vh - 290px) !important;
        max-height: calc(100vh - 290px) !important;
    }
    
    body[data-layout-mode="default"] .dispatch-incidents-height {
        min-height: calc(33vh - 6px) !important;
        max-height: calc(33vh - 6px) !important;
    }

    body[data-layout-mode="horizontal"] .dispatch-incidents-height {
        min-height: calc(31vh - 38px) !important;
        max-height: calc(31vh - 38px) !important;
    }

    body[data-layout-mode="default"] .dispatch-form-height {
        min-height: calc(50vh - 9px) !important;
        max-height: calc(50vh - 9px) !important;
    }

    body[data-layout-mode="horizontal"] .dispatch-form-height {
        min-height: calc(46vh - 9px) !important;
        max-height: calc(46vh - 9px) !important;
    }

    .dispatch-unit-card {
        width: 18rem;
    }

    .dispatch-incident-model-card {
        width: 35rem;
    }

    
    .dispatch {
        display: flex !important;
        flex-direction: row;
        flex: 1;
        height: 100%;
    }
}


.dispatch-unit {
    max-height: 3.5rem;
    min-width: 200px;
}


@media ( max-width: 769px) {

    body[data-layout-mode="default"] .dispatch-height {
        min-height: calc(100vh - 232px) !important;
    }

    body[data-layout-mode="horizontal"] .dispatch-height {
        min-height: calc(100vh - 290px) !important;
    }

    .dispatch-unit-card {
        width: 100%;
        margin-bottom: 2rem;
    }

    .dispatch-incident-model-card {
        width: 100%;
        margin-bottom: 2rem;
    }

    .dispatch {
        display: flex;
        flex-direction: column;
        flex: 1;
    }
}

.police-personnel:before {
    font-family: 'towncontrol';
    font-style: normal;
    content: '\0041';
}

.police-vehicle:before {
    font-family: 'towncontrol';
    font-style: normal;
    content: '\0042';
}

.fire-personnel:before {
    font-family: 'towncontrol';
    font-style: normal;
    content: '\0043';
}

.fire-vehicle:before {
    font-family: 'towncontrol';
    font-style: normal;
    content: '\0044';
}

.medical-personnel:before {
    font-family: 'towncontrol';
    font-style: normal;
    content: '\0045';
}

.medical-vehicle:before {
    font-family: 'towncontrol';
    font-style: normal;
    content: '\0046';
}

.service-personnel:before {
    font-family: 'towncontrol';
    font-style: normal;
    content: '\0047';
}

.service-vehicle:before {
    font-family: 'towncontrol';
    font-style: normal;
    content: '\0048';
}

.colorPreview {
    width: 20px;
    height: 20px;
}

.dragover-frame {
    border: 1px dashed transparent;
}

.dragover-frame.drag-over {
    border-color: var(--ct-success);
}

.nav-link.drag-over {
    border-style: solid;
    border-width: 1px;
    border-color: var(--ct-success);
}

.no-arrow::after {
    border: 0 !important;
    margin: 0 !important;
}

.text-monospace {
    font-family: var(--bs-font-monospace);
}

.lh-1 {
    line-height: 1;
}

.lh-2 {
    line-height: 1.4;
}

.min-h-100 {
    min-height: 100% !important;
}


.input-group .typeahead-container input {
    border-radius: 0 !important;
}
