* {
    padding: 0;
    margin: 0;
    font-size: 13.8px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-family: NotoSansMedium;
}

@supports (-webkit-touch-callout: none) {
    * {
        font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    }
}

@font-face {
    font-family: 'NotoSansMedium';
    src: URL('../font/NotoSansThai-Medium.ttf') format('truetype');
}

@font-face {
    font-family: 'THSarabunNew';
    src: URL('../font/THSarabunNew.ttf') format('truetype');
}

#mainpage {
    display: flex;
    width: 100%;
    height: calc(var(--vh, 1vh) * 100);
    max-height: 100vh;
    position: relative;
    overflow: hidden;
}

.blurBack {
    -webkit-filter: blur(0.4rem);
    filter: blur(0.4rem);
    pointer-events: none
}

.on-between {
    display: flex;
    justify-content: space-between;
}

.grow-parent {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.flex-center {
    display: flex;
    align-items: center;
    line-height: initial;
    position: relative;
}

.flex-baseline {
    display: flex;
    align-items: baseline;
    line-height: initial;
}

.flex-end {
    display: flex;
    justify-content: end;
}


/* SideBar */
#sidebar {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: space-between;
    background: #1c1c1c;
    color: #fff;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
    width: 5rem;
    min-width: 5rem;
    padding: 0.5rem;
    text-align: center;
    overflow: auto;
    box-shadow: 2px 0 5px rgba(0, 0, 0, 0.25);
}

#sidebar ul,
.offcanvas-body ul {
    padding: 0;
}

#sidebar li,
.logout-btn,
.offcanvas-body li {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 3.7rem;
    height: 3.5rem;
    border-radius: 100%;
    line-height: initial;
}

#sidebar li,
.offcanvas-body li {
    cursor: pointer;
    list-style-type: none;
    margin: 0.6rem 0;
}

#sidebar .circle-active,
.offcanvas-body .circle-active {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 100%;
    width: 2.7rem;
    height: 2.5rem;
}

#sidebar .active,
.offcanvas-body .active {
    background-color: #5a4b4b;
}

#sidebar li:not(.active):hover,
.offcanvas-body li:not(.active):hover {
    background-color: #1C95B0;
    border-radius: 100%;
}

#sidebar li:not(.active):hover i,
.offcanvas-body li:not(.active):hover i {
    font-size: 1.1rem;
    filter: drop-shadow(0px 1px 1px #650101);
}

#sidebar .active .circle-active,
.offcanvas-body .active .circle-active {
    background: #1C95B0;
    box-shadow: 1px 1px 3px #650101;
}

#sidebar .active .circle-active i,
.offcanvas-body .active .circle-active i {
    color: #ffffff;
    font-size: 1.25rem;
    line-height: initial;
    filter: drop-shadow(0px 1px 1px #650101);
}

#sidebar li span,
.logout-btn span {
    position: absolute;
    left: 4.75rem;
    white-space: nowrap;
    display: none;
    /* visibility: hidden; */
    opacity: 0;
    transition: 0.3s;
    color: #fff;
    font-size: 0.95rem;
}

#sidebar li:hover span,
.logout-btn:hover span {
    /* visibility: visible; */
    display: block;
    opacity: 1;
    padding: 0.8rem 1.5rem 0.8rem 1rem;
    background-color: #1c1c1c;
    border-radius: 0 3rem 3rem 0;
    box-shadow: 10px 0 50px rgba(0, 0, 0, 0.2);
    z-index: 100;
}


/* Nav mobile */
.offcanvas-body {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-top: 0;
}

.offcanvas-body li,
.logout-btn {
    position: relative;
    margin: 0.4rem 0;
}

.offcanvas-body li span,
.offcanvas-body .logout-btn span {
    position: absolute;
    left: 4.2rem;
    white-space: nowrap;
    transition: 0.3s;
    color: #fff;
    font-size: 0.95rem;
    padding: 0.8rem 1.5rem 0.8rem 1.25rem;
    border-radius: 3rem;
    opacity: 1;
    /* visibility: visible; */
    display: block;

}

.offcanvas-body li.active span,
.offcanvas-body li:hover span,
.offcanvas-body .logout-btn span {
    font-size: 1rem;
    background-color: #1c1c1c;
}

.logout-btn,
#logout_page {
    color: #ffffff;
    background: #1C95B0;
    border: 0;
    font-size: 1.25rem;
}

#logout_page .circle-active {
    width: 3.7rem;
    height: 3.5rem;
}

#logout_page i {
    font-size: 1.1rem;
    filter: drop-shadow(0px 1px 1px #650101);
}

.side-bottom {
    padding-bottom: 1rem;
}

.side-bottom select {
    background: transparent url(../img/angle-down-solid.svg) calc(100% - 0.5rem) 44% no-repeat;
    color: #1C95B0;
    font-weight: bold;
    border: 0;
    background-size: 0.7rem;
    padding: 0.5rem 1.5rem 0.5rem 0.5rem;
    width: fit-content;
    appearance: none;
    cursor: pointer;
}

.side-bottom select option {
    color: #43588f;
    margin: 1rem;
}

select option:disabled {
    background-color: rgba(128, 128, 128, 0.178);
}

/* Navbar */
.navbar {
    color: #ffffff;
    box-shadow: inset 0 0 8px rgb(73 73 73 / 24%);
    background: #05BAC1;
}

.navbar-brand {
    font-weight: bold;
    font-size: 1.25rem;
}

.navbar-nav>div {
    margin: 0.4rem 0.75rem;
}

.nav-act {
    display: flex;
    line-height: initial;
    cursor: pointer;
    user-select: none;
    font-weight: bold;
    padding: 0.1rem;
    text-wrap: nowrap;
}

.nav-act i {
    font-size: 1.5rem;
}

.nav-act .fa-caret-down {
    font-size: 1rem;
    padding-top: 0.1rem;
}

.nav-act .fa-circle-user {
    font-size: 1.5rem;
}

.nav-act .fa-warehouse {
    font-size: 1.25rem;
}

.nav-act .fa-bell,
.nav-act .fa-floppy-disk,
.nav-act .fa-globe {
    font-size: 1.375rem;
}

.nav-act span {
    margin: 0 0.5rem;
}

.nav-act:hover i {
    opacity: 100% !important;
}

.nav-act:hover span {
    opacity: 75%;
}

.nav-act.dropdown-toggle::after {
    display: none;
}

.dropdown-item i {
    width: 1.5rem;
    text-align: center;
    margin-right: 0.2rem;
}

.logo-brand {
    height: 3.4rem;
    padding: 0.4rem 0;
}

.logo-brand img {
    height: 100%;
    border-radius: 5rem;
}

/* Header Menu */
.tab-group-parent {
    overflow-x: auto;
    overflow-y: hidden;
    display: flex;
    padding: 0.2rem 0;
    margin: 0.25rem 0 0.75rem;
    min-height: 3.4rem;
}

.tab-group {
    display: flex;
    border-bottom: 0.25rem solid #80808047;
}

.tab-header {
    display: flex;
    align-items: center;
    font-weight: bold;
    color: #666665;
    line-height: initial;
    padding: 0 1.5rem 0.4rem 0.5rem;
    cursor: pointer;
    margin-right: 1rem;
}

.tab-header,
.tab-header span {
    text-wrap: nowrap;
}

.circle-icon-gray {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #D9D9D9;
    border-radius: 100%;
    width: 2.4rem;
    height: 2.3rem;
    padding-bottom: 0.05rem;
    margin-right: 0.75rem;
    box-shadow: inset -0.2rem -0.1rem 0.25rem 0 #c9c9c9;
}

.circle-icon-gray i {
    font-size: 1.05rem;
    padding: 0.1rem;
    background: linear-gradient(90deg, rgba(142, 142, 142, 1) 0%, rgba(165, 165, 165, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.tab-header.active {
    border-bottom: 0.25rem solid rgb(5 186 193);
    border-image: linear-gradient(0.25turn, #05bac1, rgb(17 166 184));
    border-image-slice: 1;
    margin-bottom: -0.25rem;
}

.tab-header.active span {
    font-size: 1.1rem;
    color: #333332;
    font-weight: bold;
}

.tab-group:not(.sub) .tab-header:hover span {
    /* font-size: 1.1rem !important; */
    color: #1C95B0;
}

.tab-header.active .circle-icon-gray {
    background: #05bac1;
    box-shadow: inset -0.3rem -0.2rem 0.35rem 0 #1c95b0bd;
}

.tab-header:hover .circle-icon-gray,
.setting-tab-group:not(.active):hover .circle-icon-gray {
    background: #05bac1;
    box-shadow: inset 0.3rem 0.2rem 0.35rem 0 #1c95b0bd;
}

.tab-header:not(.active):hover .circle-icon-gray i,
.setting-tab-group:not(.active):hover i {
    opacity: 75%;
}

.tab-header.active .circle-icon-gray i,
.tab-group:not(.sub) .tab-header:hover i,
.setting-tab-group:not(.active):hover i {
    font-size: 1.1rem;
    background: linear-gradient(90deg, #ffffff 0%, #e9e9e9 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}




/* Filter */
.tab-filter {
    display: grid;
    align-items: center;
    justify-content: end;
    gap: 0.5rem;
    grid-template-columns: repeat(auto-fit, minmax(18rem, auto));
    max-width: 100%;
    margin-bottom: 0.5rem;
}

.filter-text-group {
    display: flex;
    border: 0.15rem solid #D9D9D9;
    box-shadow: 0 0.1rem 0.4rem 0 #d9d9d9 inset;
    border-radius: 4rem;
}

.filter-text-header {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 2rem;
    color: #ffffff;
    background: #1C95B0;
    margin: 0.1rem;
    z-index: 1;
    padding: 0 0.75rem;
    margin-left: 0.15rem;
    text-wrap: nowrap;
}

.filter-text-header span {
    font-size: 0.9rem;
    text-wrap: nowrap;
}

.filter-icon-header {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #1C95B0;
    padding-left: 1rem;
    padding-bottom: 0.1rem;
}

.filter-icon-header i {
    font-size: 1.1rem;
}


/* Content */
#main_content {
    display: flex;
    flex-direction: column;
    width: calc(100% - 5rem);
}

.content {
    flex-grow: 1;
    overflow: auto;

    /* height: calc(100% - 3.25rem); */
    /* padding: 1rem 2rem; */
    /* background: #eceff1; */
    /* background: #ecf1f1; */
    /* background: #f6f9fa; */
}

.content-inside {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 1rem 2rem;
    position: relative;
}

.title-page {
    font-weight: bold;
    font-size: 1.4rem;
    padding: 0 1rem 0.6rem;
    text-align: end;
    text-transform: uppercase;
    text-wrap: nowrap;
    text-align: end;
}


/* Table */
.border_table {
    min-height: 15rem;
    flex-grow: 1;
    overflow: auto;
}

.border_table::-webkit-scrollbar, #user_device_selected::-webkit-scrollbar {
    width: 0.75rem !important;
    height: 0.75rem !important;
}

.border_table::-webkit-scrollbar-thumb, .border_table::-webkit-scrollbar-track,
#user_device_selected::-webkit-scrollbar-thumb, #user_device_selected::-webkit-scrollbar-track {
    border-radius: 0;
}

table:not(.table-condensed) {
    white-space: nowrap;
    width: 100%;
    color: #0a0c3a;
    /* color: #333332; */
}

table:not(.table-condensed) tr {
    border-bottom: 0.15rem solid #E5E5E5;
    background-color: #fff;
}

table:not(.table-condensed) tr th {
    position: sticky;
    top: 0;
    white-space: nowrap;
    z-index: 2;
    color: #204073;
    background-color: white;
}

table:not(.table-condensed) tr th,
table:not(.table-condensed) tr td {
    padding: 0.5rem 1rem;
    vertical-align: baseline;
    text-align: center;
}

table:not(.table-condensed) .end-group,
table:not(.table-condensed) .end-group td {
    border-bottom: 0.4rem solid #ffffff;
}

.small-gray {
    color: gray;
    font-size: 0.9rem;
}

.table-head-blue table thead tr {
    border: 0;
}

.table-head-blue table tr th {
    color: #223b58;
    background-color: #a1d6d9;
}

.table-head-blue table tr th:first-child {
    border-radius: 0.25rem 0 0 0;
}

.table-head-blue table tr th:last-child {
    border-radius: 0 0.25rem 0 0;
}

/* .table-head-blue table tbody tr {
    border-left: 0.15rem solid #E5E5E5;
    border-right: 0.15rem solid #E5E5E5;
    border-bottom: 0;
} */

/* .table-head-blue {
    border-radius: 0.4rem;
    box-shadow: inset 0 0.1rem 0rem 0.12rem #E5E5E5;
    border-bottom: 0.12rem solid #e5e5e5;
} */

.table-head-blue .np-page {
    border-top: 0.15rem solid #E5E5E5;
    padding: 0.5rem 0.75rem 0.7rem;
}

.table-head-blue tbody tr:nth-child(even),
.table-head-blue tbody tr:nth-child(even) td {
    background-color: #e0f2f2;
    border-bottom: 0.15rem solid #deefef;
}

.table-head-blue tbody tr:nth-child(odd),
.table-head-blue tbody tr:nth-child(odd) td {
    background-color: #fff;
    border-bottom: 0.15rem solid #deefef;
}

.table-head-blue tbody tr.selected {
    background: linear-gradient(180deg, #f9ce29 0%, #ffea47 120%) !important;
}

table.table-left tr th,
table.table-left tr td {
    text-align: left;
}

.table-fixed {
    table-layout: fixed;
}

.no-list td {
    background-color: #faeaea !important;
    cursor: default;
    opacity: 85%;
    color: #571515;
}

.fixed-st tr th:nth-child(1),
.fixed-st tr td:nth-child(1),
.fixed-nd tr th:nth-child(2),
.fixed-nd tr td:nth-child(2) {
    position: sticky;
    top: 0;
    left: 0;
}

.fixed-st tr th:nth-child(1),
.fixed-nd tr th:nth-child(2) {
    z-index: 4;
}

.fixed-st tr td:nth-child(1),
.fixed-nd tr td:nth-child(2) {
    z-index: 3;
}

/* Button */
.btn-sort {
    display: flex;
    align-items: baseline;
    border: 0;
    background: transparent;
    color: #223b58;
    font-weight: bold;
    line-height: 1.25rem;
}

.btn-sort i {
    margin-left: 0.5rem;
}

.btn-sort .unit,
.have-sub .unit {
    opacity: 75%;
    font-size: 0.85rem;
}

.btn-style-1,
.btn-style-2 {
    display: flex;
    align-items: center;
    color: white;
    padding: 0.3rem 1.5rem 0.3rem 1.2rem;
    border-radius: 50px;
    border: 0;
    line-height: initial;
}

.btn-style-1 i,
.btn-style-2 i,
.btn-style-3 i {
    font-size: 1.1rem;
}

.btn-style-1 {
    background: #05bac1;
    box-shadow: inset -0.3rem -0.2rem 0.35rem 0 #1c95b0bd;
}

.btn-style-2 {
    background: #05bac1;
    box-shadow: inset -0.2rem -0.1rem 0.25rem 0 rgb(17 167 185), 0.2rem 0.2rem 0 #3b8d9f;
}

.btn-style-3 {
    background: #D4DCE7;
    padding: 0.25rem 1.25rem;
    border-radius: 2rem;
    border: 0;
    box-shadow: 0.2rem 0.2rem 0 #a7b6bd;
    line-height: initial;
}

.btn-style-1:disabled {
    background: linear-gradient(0.25turn, rgb(215 208 207), rgb(195 189 189));
    box-shadow: inset -0.2rem -0.1rem 0.25rem 0 rgba(163, 160, 160, 0.514);
    color: #6d5656a6;
}

.btn-trans {
    border: 0;
    background-color: transparent;
}

button {
    line-height: initial;
}

button:not(:disabled):hover {
    opacity: 80% !important;
}

button:not(:disabled):active {
    opacity: 50% !important;
}


/* Next-Previos Page */
.np-page {
    display: flex;
    justify-content: center;
}

.np-page .btn-yellow {
    padding: 0.3rem 1.25rem;
    margin: 0 0.2rem;
}

.icon-box,
.white-btn {
    border-radius: 0.4rem;
    box-shadow: -0.1rem 0 0.1rem #c6def9 !important;
    margin: 0 0.15rem;
    border: 0;
}

.np-page input {
    width: 4rem;
    margin-right: 0.5rem;
    text-align: center;
    padding: 0.2rem;
}

.icon-box:disabled {
    opacity: 50%;
    background-color: #d9e2eb;
}


/* Input */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
}

input[type='radio'],
input[type='checkbox'] {
    width: 1.1rem;
    height: 1.1rem;
    vertical-align: middle;
    position: relative;
    bottom: 0.05rem;
}

input[type='radio'],
input[type='checkbox']:not(:disabled) {
    cursor: pointer !important;
}

::placeholder {
    opacity: 40%;
}

select {
    appearance: none;
}

select:focus {
    box-shadow: none !important;
    border: none;
}

button:focus,
select:focus,
input:focus,
textarea:focus {
    outline: none !important;
}

.input-style-1,
.input-style-2 {
    border: 0.15rem solid #D9D9D9;
    color: #333332;
    box-shadow: 0 0.1rem 0.4rem 0 #2040731c inset;
    line-height: normal;
}

.input-style-1 {
    padding: 0.3rem 1rem 0.3rem 3rem;
    border-radius: 4rem;
}

.input-style-2,
.input-style-3 {
    padding: 0.3rem 1rem;
    border-radius: 0.4rem;
}

.input-style-2:not(.sum-plus, .sum-minus):disabled,
input.input-style-2:not(.i-date):read-only {
    box-shadow: unset;
    opacity: 1;
    background-color: rgb(238 238 238);
    color: #5d5d5d;
    border: 0.15rem solid #e4e4e4;
}

.input-style-3 {
    border: 1px solid #d9d9d983;
    background: #E4E8EE;
}

select.input-style-1 {
    padding-right: 2.25rem;
}

.filter-select {
    padding: 0.3rem 2.25rem 0.3rem 0.5rem;
    width: 100%;
}

.i-arrow-down {
    background: url(../img/angle-down-yellow.svg) calc(100% - 0.75rem) 50% no-repeat;
    color: #333332;
    cursor: pointer;
    line-height: initial;
    padding-right: 2.5rem;
}

.i-search {
    background: url(../img/search-solid.svg) 1rem 48% no-repeat;
    width: 100%;
    max-width: 100%;
    /* max-width: 18rem; */
}

.input-style-1.i-date {
    background: url(../img/calendar-days-solid.svg) 1rem 45% no-repeat;
    min-width: 15rem;
}

.input-style-2.i-date {
    background: url(../img/calendar-days-solid.svg) calc(100% - 0.75rem) 45% no-repeat;
}

.i-search,
.i-date,
.i-filter,
.i-arrow-down {
    background-size: 1.1rem !important;
}

.filter-text-group .filter-select {
    border: 0;
}

.sel-nav {
    background: url(../img/angle-down-black.svg) calc(100% - 0.5rem) 50% no-repeat;
    background-size: 0.9rem;
    border: 0;
    background-color: transparent;
    font-weight: bold;
    padding: 0 1.75rem 0 0.4rem;
    color: #333332;
}

input:not(:disabled, :read-only, .no-focus, [type='radio'], [type='checkbox'], [type='range']):focus,
textarea:focus,
.filter-text-group:focus-within,
select:not(:disabled, .no-focus, .navbar-brand):focus {
    box-shadow: inset 0 0 0 0.04rem #1c95b0 !important;
    border: 0.15rem solid #1c95b0;
}

.filter-text-group select:focus {
    box-shadow: none !important;
    border: none;
}

input:read-only,
input[type='checkbox']:disabled+span {
    cursor: default;
}

/* Daterangepicker */
.daterangepicker {
    width: auto !important;
    color: #204073;
}

.daterangepicker select {
    padding: 0.25rem 1.5rem 0.25rem 0.5rem !important;
    line-height: initial;
    width: auto !important;
}

.daterangepicker .drp-calendar.left,
.daterangepicker .drp-calendar.right {
    padding: 1rem 0.4rem !important;
}

.daterangepicker .calendar-table .next span,
.daterangepicker .calendar-table .prev span {
    border-width: 0 0.1rem 0.1rem 0 !important;
    padding: 0.2rem !important;
}

.daterangepicker .calendar-table th,
.daterangepicker .calendar-table td {
    min-width: 2rem !important;
    width: 2.5rem !important;
    height: 2rem !important;
    line-height: 2rem !important;
}

.daterangepicker select {
    background: #fff url(../img/angle-down-yellow.svg) calc(100% - 0.5rem) 50% no-repeat !important;
    background-size: 0.9rem !important;
    appearance: none;
    cursor: pointer !important;
    border: 0.15rem solid #D9D9D9;
    box-shadow: 0 0.1rem 0.4rem 0 #d9d9d9 inset;
    border-radius: 4rem;
    padding-left: 0.75rem !important;
}

.daterangepicker td.active,
.daterangepicker td.active:hover,
.daterangepicker .ranges li.active {
    color: #ffffff;
    background: linear-gradient(90deg, #1bcbb6 0%, #2ebdba 100%);
}

.daterangepicker td.in-range {
    background-color: #e0f2f2;
}

.daterangepicker .drp-selected {
    vertical-align: middle !important;
    padding-right: 0.4rem !important;
    font-weight: bold;
}

.daterangepicker .drp-buttons .btn {
    margin-left: 0.2rem !important;
    padding: 0.2rem 0.4rem !important;
    font-weight: 500 !important;
}

.daterangepicker .ranges li {
    padding: 0.75rem 1rem !important;
}

.on-center,
.plus-button,
.blue-blue-btn,
.white-blue-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: initial;
}

.daterangepicker .calendar-table .prev span {
    transform: rotate(135deg) translateX(-43%) !important;
}

.daterangepicker .calendar-table .next span {
    transform: rotate(-45deg) translateY(-37%) !important;
}

.daterangepicker .next.available {
    margin-left: 0.4rem;
}

.daterangepicker,
.daterangepicker select,
.daterangepicker .calendar-table th,
.daterangepicker .calendar-table td,
.daterangepicker .drp-selected,
.daterangepicker .drp-buttons .btn,
.daterangepicker .ranges li {
    font-size: 0.9rem !important;
}

.daterangepicker .drp-calendar {
    max-width: 300px !important;
}

.dt-w-22 {
    width: 22rem;
    max-width: 100%;
}



/* Overview */
.cluster-map,
#device_map_div,
#overview_map_div,
#add_cluster_map_div,
#location_map_div,
#cluster_map_div {
    width: 100%;
    height: 100%;
}


#location_map_div, #device_map_div {
    min-height: 18rem;
}

.infowindow_content>img {
    width: 10rem;
}

.status_circle {
    width: 1rem;
    height: 1rem;
    border-radius: 100%;
    display: inline-block;
    margin-right: 0.5rem;
}

.clock_status.status_0 {
    color: red;
}

.clock_status.status_1 {
    color: green;
}

.status_div.status_0>.status_circle {
    background: red;
}

.status_div.status_1>.status_circle {
    background: green;
}

.status_div.status_0>.status_content::before {
    content: "Offline";
}

.status_div.status_1>.status_content::before {
    content: "Online";
}

#last_update_cluster {
    position: absolute;
    bottom: 6rem;
    background-color: #ffffffe3;
    padding: 0.5rem 1rem;
}

.map_instant_view {
    background-color: #ffffffe3;
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 6rem;
    display: flex;
    align-items: center;
    font-size: 1.1rem;
    box-shadow: 0px 0px 8px 0px rgb(105 50 50 / 25%);
    padding: 0 1rem;
    display: flex;
    overflow: auto;
}

.map_instant_view>div {
    flex: 1;
    text-align: center;
    padding: 0.5rem 1rem;
}

.map_instant_view .realtime_val_div {
    display: flex;
    justify-content: center;
    align-items: baseline;
}

.map_instant_view .realtime_val {
    font-size: 2rem;
    margin-right: 0.2rem;
}

.map_instant_view .realtime_label {
    text-align: center;
    white-space: nowrap;
    color: #848484;
}

.map_instant_view>div+div {
    border-left: 1px solid #ccc;
}

/* Dashboard */
#widget .no-doc i {
    font-size: 5rem;
    opacity: 20%;
}

#widget .no-doc span {
    font-size: 1.25rem;
    margin-top: 0.9rem;
    font-weight: bold;
}

.widget-bg {
    background: #e0f2f2;
    border-radius: 0.5rem;
    padding: 0.25rem;
}

.widget-parent {
    display: flex;
    flex-wrap: wrap;
    /* background: #e0e0e0; */
    border-radius: 0.75rem;
    /* height: 100%; */
    padding: 0.5rem;
}

.widget-title {
    font-weight: bold;
    color: #1C95B0;
    margin-right: 1.25rem;
    font-size: 1.25rem;
    text-wrap: balance;
}

.widget-title .title {
    font-size: 1.25rem;
    padding-right: 0.2rem;
}

.real-tm-box-parent {
    display: flex;
    padding: 1.75rem 1.5rem;
    border-radius: 0.5rem;
    background: #ffffff;
    box-shadow: 0px 0px 8px 0px rgb(196 221 219);
    width: 100%;
}

.real-tm-box {
    padding: 0.8rem;
}

.real-tm-list {
    display: grid;
    gap: 0 1.5rem;
    grid-template-columns: repeat(auto-fit, minmax(16rem, auto));
    width: 100%;
    margin: 1rem 0 1rem;
    overflow-y: auto;
    overflow-x: hidden;
}

.real-tm-title,
.real-tm-val {
    font-weight: bold;
}

.real-tm-val {
    color: #05BAC1;
}

.real-tm-box .unit {
    opacity: 60%;
    font-size: 0.9rem;
    margin-left: 0.25rem;
}

.real-tm-bar {
    background-color: #E8E8E8;
    width: 100%;
    border-radius: 2rem;
    margin: 0.25rem 0;
}

.bar-val {
    color: white;
    padding: 0.35rem;
    text-align: right;
    font-size: 20px;
    border-radius: 15px;
}

.widget-map {
    width: 60rem;
    max-width: 100%;
    display: flex;
    flex-direction: column;
}

.widget-graph-parent {
    display: flex;
    flex-wrap: wrap;
    /* overflow: auto; */
}

.graph-sample {
    margin-top: 1rem;
}

.graph-sample,
.graph-sample img {
    object-fit: contain;
    width: 100%;
    height: 20rem;
}

.graph-sample canvas {
    width: 100% !important;
}

.chart-date {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    line-height: inherit;
    padding: 0.25rem;
    background: #eeeeee;
    margin-top: 0.75rem;
}

.indicator-bar {
    display: flex;
    width: 100%;
    padding-top: 0.5rem;
    overflow: auto;
    text-wrap: nowrap;
}

.ind-bar {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

.ind-bar .color {
    text-align: center;
    padding: 0.05rem 0.5rem;
    line-height: initial;
    flex-grow: 1;
}

.ind-bar .color span {
    font-size: 0.825rem;
    filter: drop-shadow(0px 1px 1px #00000025);
}

.ind-bar .val {
    text-align: center;
    padding: 0.1rem;
    font-size: 0.85rem;
    background: #e8e8e8b8;
    line-height: initial;
    border: 0.1rem solid #80808026;
    border-top: 0;
}

.widget-graph-parent .widget-parent {
    height: 100%;
}

/* Widget toggle */
.toggle-parent {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 3rem;
    box-shadow: inset 0 0 0 0.2rem #1C95B0;
    background: white;
}

.toggle-btn {
    display: inline-block;
    padding: 0.3rem 1rem;
    position: relative;
    text-align: center;
    line-height: initial;
    color: #afafaf;
    min-width: 4rem;
}

input[type=radio].toggle {
    display: none;
}

input[type=radio].toggle+label {
    cursor: pointer;
}

input[type=radio].toggle+label:hover {
    background: none;
    color: #571515;
}

input[type=radio].toggle+label:after {
    background: #1a1a1a;
    content: "";
    height: 100%;
    position: absolute;
    top: 0;
    transition: left 200ms cubic-bezier(0.77, 0, 0.175, 1);
    width: 100%;
    z-index: -1;
}

input[type=radio].toggle.toggle-left+label:after {
    left: 100%;
}

input[type=radio].toggle.toggle-right+label:after {
    left: -100%;
}

input[type=radio].toggle:checked+label {
    cursor: default;
    color: #ffffff;
    background-color: #1C95B0;
    border-radius: 2rem;
}

button:focus,
select:focus,
input:focus,
textarea:focus {
    outline: none !important;
}

/* Cluster */
.cluster-bg {
    display: flex;
    flex-grow: 1;
    overflow: auto;
    background: #e0f2f2;
    border-radius: 0 0 0.5rem 0.5rem;
}

.cluster-parent {
    display: flex;
    padding: 1.75rem 0.75rem;
    border-radius: 0.5rem;
    background: #ffffff;
    box-shadow: 0px 0px 8px 0px rgb(196 221 219);
    width: 100%;
    margin: 0.75rem;
}

.cluster-left {
    flex-direction: column;
    width: 26.4rem;
}

.cluster-right {
    width: calc(100% - 27.4rem);
    margin-left: 0.25rem;
    min-height: 50%;
}

.cluster-type-parent {
    display: flex;
    justify-content: center;
    padding-bottom: 1rem;
}

.device-list-box {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    width: 100%;
    min-height: 5.4rem;
    border-radius: 0.4rem;
    padding: 0.4rem;
    background: linear-gradient(90deg, #daf3eb 25%, #e0f2f2 100%);
}

.device-box {
    display: flex;
    align-items: center;
    padding: 0.1rem 0.25rem 0.1rem 0.75rem;
    color: #008dcc;
    border-radius: 0.4rem;
    background: white;
    margin: 0.2rem 0.3rem;
    line-height: initial;
    box-shadow: 0px 0px 0.25rem 0px rgb(196 221 219);
}

#clusterNew_form .device-box, #clusterNew_form .device-box div {
    font-size: 0.9rem;
}

.no-doc {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: initial;
    height: 100%;
    width: 100%;
    padding: 0.5rem;
}

.no-doc span {
    opacity: 30%;
}

.cluster-head {
    display: flex;
    align-items: baseline;
    font-weight: bold;
    padding: 0.2rem 0.5rem;
    font-size: 0.9rem;
    color: #11788f;
}

#cluster_new .title-page {
    top: 1.4rem;
    padding-bottom: 0.75rem;
}

.pink-box {
    background: #e7abab45;
    margin: 0 0.5rem 0.5rem 0;
    padding: 0.2rem 0.5rem;
    border-radius: 0.25rem;
    line-height: initial;
}

.pink-box span {
    opacity: 50%;
    margin-right: 0.4rem;
}


/* Device */
#addDevice_form .user-img {
    width: 13rem;
    height: 13rem;
}

.table-btm {
    display: flex;
    justify-content: center;
    padding: 0.5rem 1rem 0;
    border-top: 0.25rem solid #80808047;
    position: relative;
}

.table-btm .btn-style-1 {
    margin: 0 0.2rem;
    padding: 0.25rem 1.25rem 0.25rem;
}

.table-all {
    position: absolute;
    right: 1rem;
    top: 1rem;
}

.param-list {
    line-height: 2rem;
    padding-top: 0.25rem;
}

.param-list span {
    font-weight: bold;
    color: #1C95B0;
    padding: 0.1rem 0.75rem 0.1rem 0;
    margin-right: 0.75rem;
    border-right: 0.125rem solid #d9d9d9;
}

#deviceTable .toggle-parent span {
    font-size: 0.75rem;
}

#deviceTable .toggle-parent.disabled {
    box-shadow: inset 0 0 0 0.2rem #d7d0cf;
}

#deviceTable .disabled input[type=radio].toggle:checked+label {
    color: #7d7777;
    background-color: #d7d0cf;
}

#deviceTable .disabled input[type=radio].toggle+label {
    cursor: default;
    pointer-events: none;
}

#deviceTable input[type=radio].toggle:checked+label {
    color: #223b58;
    background-color: #a1d6d9;
    font-weight: bold;
}

#deviceTable .toggle-parent {
    box-shadow: inset 0 0 0 0.2rem #a1d6d9;
}

#deviceTable .toggle-btn {
    padding: 0.25rem 0.5rem 0.3rem;
    min-width: 3.2rem;
}

/* User */
.user-bg {
    overflow: auto;
    background: #e0f2f2;
    border-radius: 0 0 0.5rem 0.5rem;
    height: 100%;
    padding: 0.25rem;
}

.form-header-dash {
    display: flex;
    align-items: baseline;
    font-weight: bold;
    padding: 0.25rem 0.5rem;
    border-bottom: 0.12rem dashed #D7D7D7;
    margin-bottom: 0.75rem;
    margin-top: 2rem;
}

.form-header-dash i {
    margin-right: 0.5rem;
    font-size: 1.1rem;
}

.user-img-group {
    position: relative;
}

.user-img,
.user-img img {
    padding: 0;
    border-radius: 100%;
    object-fit: cover;
    margin: auto;
}

.user-img {
    width: 15rem;
    height: 15rem;
    margin-top: 2.75rem;
    max-width: 100%;
    padding: 0.5rem;
    background: #ffffff;
    box-shadow: 0px 0px 8px 0px rgb(101 71 71 / 25%);
}

.user-img img {
    width: 100%;
    height: 100%;
}

.form-group {
    display: grid;
    align-items: baseline;
    align-content: baseline;
    text-wrap: nowrap;
    gap: 0.75rem 1.25rem;
}

.grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.grid-2-2 {
    gap: 0.4rem 1.25rem;
    grid-template-columns: auto 1fr;
}

.grid-4 {
    gap: 0.4rem 1.25rem;
    grid-template-columns: auto 1fr auto 1fr;
}

.form-group .head {
    opacity: 50%;
    font-size: 0.9rem;
    padding-left: 0.2rem;
}

.btm-btn-group {
    padding-bottom: 0.5rem;
}

.btm-btn {
    display: flex;
    justify-content: end;
    padding: 0.75rem 1rem;
    background: #e0f2f2;
}

.add-user-table-group {
    flex-grow: 1;
    overflow: auto;
}

#user_device_selected {
    align-content: baseline;
    max-height: 15rem;
    min-height: 10.4rem;
    overflow: auto;
    margin-top: 0.5rem;
}

#user_device_selected .no-doc {
    padding: 3rem 0.5rem;
}

.oth-parent {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(20rem, auto));
    gap: 1rem 4rem;
}

.oth-parent input[type=radio].toggle:checked+label {
    padding: 0.4rem 1rem;
}



/* User Modal */
.form-inline-2 {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, 1fr);
}

.form-inline-2-2 {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr 1.375fr;
}

.form-group-2 {
    display: grid;
    align-items: baseline;
    align-content: baseline;
    gap: 0.275rem 1rem;
}

.form-group-2 {
    text-wrap: nowrap;
    grid-template-columns: auto 1fr;
}

.form-group-btn {
    display: flex;
}

.form-group-btn input,
.form-group-btn textarea,
.form-group-btn select {
    border-right-color: #05bac1;
    border-radius: 0.4rem 0 0 0.4rem;
}

.form-group-btn button,
.unit-end {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 0.5rem;
    border-radius: 0 0.4rem 0.4rem 0;
    border: 0;
    min-width: 3rem;
    background: #05bac1;
    color: #ffffff;
}

.form-group-btn input:disabled,
.form-group-btn.disabled input {
    border-right: 0;
}

.form-group-btn button:disabled,
.form-group-btn.disabled button {
    background: linear-gradient(90deg, rgba(142, 142, 142, 1) 0%, rgba(165, 165, 165, 1) 100%);
}

.form-group-btn.disabled {
    pointer-events: none;
}

.table-min-10 {
    min-width: 10rem;
    word-wrap: break-word;
    word-break: break-word;
    white-space: normal;
}

table.middle tbody tr td {
    vertical-align: middle;
}

#user_moduleTable .i-date {
    padding: 0.2rem 1rem;
}

#user_moduleTable .i-date:not(:disabled) {
    background-color: #ffffff
}

/* User index */
.idx-table-parent {
    max-width: 100%;
    min-width: 60%;
    margin: 0 auto;
    overflow: auto;
}

.idx-text {
    padding-top: 1rem;
}

.idx-box {
    border-radius: 2rem;
    width: 2rem;
    height: 2rem;
    position: absolute;
    background: #80808036;
}

.idx-color-1 {
    background: #6ecc58;
}

.idx-color-2 {
    background: #bbcf4c;
}

.idx-color-3 {
    background: #eac736;
}

.idx-color-4 {
    background: #ed9a2e;
}

.idx-color-5 {
    background: #e8633a;
}

.idx-color-6 {
    background: #d63636;
}

.idx-color-7 {
    background: #fff;
}

.fixed-st label {
    margin: 0 0.75rem;
}

.label {
    display: flex;
    align-items: center;
    margin: 0.25rem 0.75rem;
    cursor: pointer;
    line-height: initial;
    user-select: none;
}

.label span {
    margin-left: 0.4rem;
}


/* Modal */
body.modal-open .content-inside,
body.modal-open #main_content nav {
    -webkit-filter: blur(5px);
    filter: blur(5px);
    pointer-events: none;
}

.btn-close:focus {
    box-shadow: unset !important;
}

.popup_icon,
.check_icon,
.info_icon {
    font-size: 3rem;
    margin-top: 1rem;
}

.popup_icon {
    color: orange;
}

.check_icon {
    color: #20a969;
}

.text-alert {
    text-align: center;
    padding-top: 1rem;
}

.modal-title {
    font-weight: bold;
    color: #1C95B0;
}


/* Color */
.bg-1 {
    background-color: rgb(116, 194, 92);
}

.bg-2 {
    background-color: rgb(237 217 41);
}

.gradient-color-1 {
    background: linear-gradient(90deg, rgba(142, 142, 142, 1) 0%, rgba(165, 165, 165, 1) 100%);
}

.gradient-color-2 {
    background: linear-gradient(90deg, #754704 0%, #333332 100%);
    line-height: inherit;
}

.gradient-color-3 {
    background: linear-gradient(90deg, #1bcbb6 0%, #2ebdba 100%);
}

.gradient-color-4 {
    background: linear-gradient(90deg, #FF5722 0%, #1C95B0 100%);
}

.gradient-color-1,
.gradient-color-2,
.gradient-color-3,
.gradient-color-4 {
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    padding: 0.075rem 0.05rem;
}

/* ETC */
.w-6rem {
    width: 6rem;
}

.w-10rem {
    width: 10rem;
}

.w-13rem {
    width: 13rem;
}

.w-14rem {
    width: 14rem;
}

.w-16rem {
    width: 16rem;
}

.w-40 {
    width: 40% !important;
}

.h-min-100 {
    min-height: 100%;
}

.h-max-100 {
    max-height: 100%;
}

.h-max-35r {
    max-height: 35rem !important;
}

.h-min-unset {
    min-height: unset !important;
}

.w-min-unset {
    min-width: unset !important;
}

.w-max {
    width: max-content !important;
}

.d-content {
    display: contents !important;
}

.border-tb {
    padding: 0 0.5rem;
    border-left: 2px solid #e7abab54;
    text-align: left;
}

.fs-09 {
    font-size: 0.9rem !important;
}

/** webkit scrollbar */

::-webkit-scrollbar {
    width: 0.5rem;
    height: 0.5rem;
}

::-webkit-scrollbar-track {
    background: #f6f6f6;
    border-radius: 10px;
}

::-webkit-scrollbar-thumb {
    background: #ddd;
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background: #999;
}

::-webkit-scrollbar-corner {
    background: #f6f6f6;
}

/* Loading */
.sm-loader {
    margin: 4em auto;
    font-size: 0.5rem !important;
    width: 1em;
    height: 1em;
    border-radius: 50%;
    position: relative;
    text-indent: -9999em;
    -webkit-animation: load5 1.1s infinite ease;
    animation: load5 1.1s infinite ease;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
}

#loader {
    z-index: 30000;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    position: fixed;
}

#loader>div {
    font-size: 1.15rem;
    width: 1.05em;
    height: 1.05em;
    border-radius: 50%;
    position: relative;
    text-indent: -9999em;
    -webkit-animation: load5 1.1s infinite ease;
    animation: load5 1.1s infinite ease;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    top: 50%;
    left: 50%;
}

@-webkit-keyframes load5 {

    0%,
    100% {
        box-shadow: 0em -2.6em 0em 0em #1c95b0, 1.8em -1.8em 0 0em rgba(28, 149, 176, 0.2), 2.5em 0em 0 0em rgba(28, 149, 176, 0.2), 1.75em 1.75em 0 0em rgba(28, 149, 176, 0.2), 0em 2.5em 0 0em rgba(28, 149, 176, 0.2), -1.8em 1.8em 0 0em rgba(28, 149, 176, 0.2), -2.6em 0em 0 0em rgba(28, 149, 176, 0.5), -1.8em -1.8em 0 0em rgba(28, 149, 176, 0.7);
    }

    12.5% {
        box-shadow: 0em -2.6em 0em 0em rgba(28, 149, 176, 0.7), 1.8em -1.8em 0 0em #1c95b0, 2.5em 0em 0 0em rgba(28, 149, 176, 0.2), 1.75em 1.75em 0 0em rgba(28, 149, 176, 0.2), 0em 2.5em 0 0em rgba(28, 149, 176, 0.2), -1.8em 1.8em 0 0em rgba(28, 149, 176, 0.2), -2.6em 0em 0 0em rgba(28, 149, 176, 0.2), -1.8em -1.8em 0 0em rgba(28, 149, 176, 0.5);
    }

    25% {
        box-shadow: 0em -2.6em 0em 0em rgba(28, 149, 176, 0.5), 1.8em -1.8em 0 0em rgba(28, 149, 176, 0.7), 2.5em 0em 0 0em #1c95b0, 1.75em 1.75em 0 0em rgba(28, 149, 176, 0.2), 0em 2.5em 0 0em rgba(28, 149, 176, 0.2), -1.8em 1.8em 0 0em rgba(28, 149, 176, 0.2), -2.6em 0em 0 0em rgba(28, 149, 176, 0.2), -1.8em -1.8em 0 0em rgba(28, 149, 176, 0.2);
    }

    37.5% {
        box-shadow: 0em -2.6em 0em 0em rgba(28, 149, 176, 0.2), 1.8em -1.8em 0 0em rgba(28, 149, 176, 0.5), 2.5em 0em 0 0em rgba(28, 149, 176, 0.7), 1.75em 1.75em 0 0em #1c95b0, 0em 2.5em 0 0em rgba(28, 149, 176, 0.2), -1.8em 1.8em 0 0em rgba(28, 149, 176, 0.2), -2.6em 0em 0 0em rgba(28, 149, 176, 0.2), -1.8em -1.8em 0 0em rgba(28, 149, 176, 0.2);
    }

    50% {
        box-shadow: 0em -2.6em 0em 0em rgba(28, 149, 176, 0.2), 1.8em -1.8em 0 0em rgba(28, 149, 176, 0.2), 2.5em 0em 0 0em rgba(28, 149, 176, 0.5), 1.75em 1.75em 0 0em rgba(28, 149, 176, 0.7), 0em 2.5em 0 0em #1c95b0, -1.8em 1.8em 0 0em rgba(28, 149, 176, 0.2), -2.6em 0em 0 0em rgba(28, 149, 176, 0.2), -1.8em -1.8em 0 0em rgba(28, 149, 176, 0.2);
    }

    62.5% {
        box-shadow: 0em -2.6em 0em 0em rgba(28, 149, 176, 0.2), 1.8em -1.8em 0 0em rgba(28, 149, 176, 0.2), 2.5em 0em 0 0em rgba(28, 149, 176, 0.2), 1.75em 1.75em 0 0em rgba(28, 149, 176, 0.5), 0em 2.5em 0 0em rgba(28, 149, 176, 0.7), -1.8em 1.8em 0 0em #1c95b0, -2.6em 0em 0 0em rgba(28, 149, 176, 0.2), -1.8em -1.8em 0 0em rgba(28, 149, 176, 0.2);
    }

    75% {
        box-shadow: 0em -2.6em 0em 0em rgba(28, 149, 176, 0.2), 1.8em -1.8em 0 0em rgba(28, 149, 176, 0.2), 2.5em 0em 0 0em rgba(28, 149, 176, 0.2), 1.75em 1.75em 0 0em rgba(28, 149, 176, 0.2), 0em 2.5em 0 0em rgba(28, 149, 176, 0.5), -1.8em 1.8em 0 0em rgba(28, 149, 176, 0.7), -2.6em 0em 0 0em #1c95b0, -1.8em -1.8em 0 0em rgba(28, 149, 176, 0.2);
    }

    87.5% {
        box-shadow: 0em -2.6em 0em 0em rgba(28, 149, 176, 0.2), 1.8em -1.8em 0 0em rgba(28, 149, 176, 0.2), 2.5em 0em 0 0em rgba(28, 149, 176, 0.2), 1.75em 1.75em 0 0em rgba(28, 149, 176, 0.2), 0em 2.5em 0 0em rgba(28, 149, 176, 0.2), -1.8em 1.8em 0 0em rgba(28, 149, 176, 0.5), -2.6em 0em 0 0em rgba(28, 149, 176, 0.7), -1.8em -1.8em 0 0em #1c95b0;
    }
}

@keyframes load5 {

    0%,
    100% {
        box-shadow: 0em -2.6em 0em 0em #1c95b0, 1.8em -1.8em 0 0em rgba(28, 149, 176, 0.2), 2.5em 0em 0 0em rgba(28, 149, 176, 0.2), 1.75em 1.75em 0 0em rgba(28, 149, 176, 0.2), 0em 2.5em 0 0em rgba(28, 149, 176, 0.2), -1.8em 1.8em 0 0em rgba(28, 149, 176, 0.2), -2.6em 0em 0 0em rgba(28, 149, 176, 0.5), -1.8em -1.8em 0 0em rgba(28, 149, 176, 0.7);
    }

    12.5% {
        box-shadow: 0em -2.6em 0em 0em rgba(28, 149, 176, 0.7), 1.8em -1.8em 0 0em #1c95b0, 2.5em 0em 0 0em rgba(28, 149, 176, 0.2), 1.75em 1.75em 0 0em rgba(28, 149, 176, 0.2), 0em 2.5em 0 0em rgba(28, 149, 176, 0.2), -1.8em 1.8em 0 0em rgba(28, 149, 176, 0.2), -2.6em 0em 0 0em rgba(28, 149, 176, 0.2), -1.8em -1.8em 0 0em rgba(28, 149, 176, 0.5);
    }

    25% {
        box-shadow: 0em -2.6em 0em 0em rgba(28, 149, 176, 0.5), 1.8em -1.8em 0 0em rgba(28, 149, 176, 0.7), 2.5em 0em 0 0em #1c95b0, 1.75em 1.75em 0 0em rgba(28, 149, 176, 0.2), 0em 2.5em 0 0em rgba(28, 149, 176, 0.2), -1.8em 1.8em 0 0em rgba(28, 149, 176, 0.2), -2.6em 0em 0 0em rgba(28, 149, 176, 0.2), -1.8em -1.8em 0 0em rgba(28, 149, 176, 0.2);
    }

    37.5% {
        box-shadow: 0em -2.6em 0em 0em rgba(28, 149, 176, 0.2), 1.8em -1.8em 0 0em rgba(28, 149, 176, 0.5), 2.5em 0em 0 0em rgba(28, 149, 176, 0.7), 1.75em 1.75em 0 0em #1c95b0, 0em 2.5em 0 0em rgba(28, 149, 176, 0.2), -1.8em 1.8em 0 0em rgba(28, 149, 176, 0.2), -2.6em 0em 0 0em rgba(28, 149, 176, 0.2), -1.8em -1.8em 0 0em rgba(28, 149, 176, 0.2);
    }

    50% {
        box-shadow: 0em -2.6em 0em 0em rgba(28, 149, 176, 0.2), 1.8em -1.8em 0 0em rgba(28, 149, 176, 0.2), 2.5em 0em 0 0em rgba(28, 149, 176, 0.5), 1.75em 1.75em 0 0em rgba(28, 149, 176, 0.7), 0em 2.5em 0 0em #1c95b0, -1.8em 1.8em 0 0em rgba(28, 149, 176, 0.2), -2.6em 0em 0 0em rgba(28, 149, 176, 0.2), -1.8em -1.8em 0 0em rgba(28, 149, 176, 0.2);
    }

    62.5% {
        box-shadow: 0em -2.6em 0em 0em rgba(28, 149, 176, 0.2), 1.8em -1.8em 0 0em rgba(28, 149, 176, 0.2), 2.5em 0em 0 0em rgba(28, 149, 176, 0.2), 1.75em 1.75em 0 0em rgba(28, 149, 176, 0.5), 0em 2.5em 0 0em rgba(28, 149, 176, 0.7), -1.8em 1.8em 0 0em #1c95b0, -2.6em 0em 0 0em rgba(28, 149, 176, 0.2), -1.8em -1.8em 0 0em rgba(28, 149, 176, 0.2);
    }

    75% {
        box-shadow: 0em -2.6em 0em 0em rgba(28, 149, 176, 0.2), 1.8em -1.8em 0 0em rgba(28, 149, 176, 0.2), 2.5em 0em 0 0em rgba(28, 149, 176, 0.2), 1.75em 1.75em 0 0em rgba(28, 149, 176, 0.2), 0em 2.5em 0 0em rgba(28, 149, 176, 0.5), -1.8em 1.8em 0 0em rgba(28, 149, 176, 0.7), -2.6em 0em 0 0em #1c95b0, -1.8em -1.8em 0 0em rgba(28, 149, 176, 0.2);
    }

    87.5% {
        box-shadow: 0em -2.6em 0em 0em rgba(28, 149, 176, 0.2), 1.8em -1.8em 0 0em rgba(28, 149, 176, 0.2), 2.5em 0em 0 0em rgba(28, 149, 176, 0.2), 1.75em 1.75em 0 0em rgba(28, 149, 176, 0.2), 0em 2.5em 0 0em rgba(28, 149, 176, 0.2), -1.8em 1.8em 0 0em rgba(28, 149, 176, 0.5), -2.6em 0em 0 0em rgba(28, 149, 176, 0.7), -1.8em -1.8em 0 0em #1c95b0;
    }
}



/* 576 */
@media (min-width: 1600px) {
    * {
        font-size: 17px;
    }
}

@media (min-width: 2000px) {
    * {
        font-size: 18px;
    }
}

@media (min-width: 240px) {

    .modal,
    .modal-sm {
        --bs-modal-width: 34rem;
    }

    .modal-dialog {
        margin-right: auto;
        margin-left: auto;
    }

    .modal-xl,
    .modal-lg,
    .modal-print,
    .modal-35,
    .modal-40,
    .modal-85 {
        --bs-modal-width: 95%;
        max-width: 95%;
    }

    /* .modal-content {
        max-height: 60rem !important;
    } */

    .modal-xl {
        width: 90rem;
    }

    .modal-lg,
    .modal-60 {
        width: 60rem;
    }

    .modal-35 {
        width: 35rem;
    }

    .modal-40 {
        width: 40rem;
    }

    .modal-85 {
        width: 85rem;
    }

    .modal-print {
        width: 830px;
    }
}

@media (max-width: 992px) {
    * {
        font-size: 12.8px;
    }

    .title-page {
        width: 100%;
    }

    .form-inline-2,
    .form-inline-2-2 {
        grid-template-columns: repeat(1, 1fr);
    }

    .add-user-table-group {
        overflow: unset;
    }

    .add-user-table-group .border_table {
        max-height: 20rem;
    }

    #main_content {
        width: 100%;
    }
}

@media (max-width: 768px) {
    .cluster-bg {
        flex-wrap: wrap-reverse;
    }

    .cluster-left,
    .cluster-right {
        width: 100%;
    }

    .cluster-right {
        margin-left: 0.75rem;
    }
}

@media (max-width: 576px) {
    .w-100-576 {
        width: 100% !important;
        max-width: 30rem;
    }

    .w-50-576 {
        width: calc(50% - 0.5rem) !important;
        max-width: 30rem;
    }

    .content-inside {
        padding: 1rem;
    }

    .tab-header {
        margin-right: 0.75rem;
    }

    .tab-header {
        padding: 0 1.25rem 0.4rem 0.25rem;
    }

    .pink-bg {
        padding: 0.1rem;
    }

    .widget-parent {
        padding: 0.25rem;
    }

    .real-tm-box-parent {
        padding: 1rem;
    }

    .grid-4 {
        grid-template-columns: auto 1fr;
    }

    #userList_page .table-btm {
        padding: 0.5rem 0 0;
    }

    #userList_page .table-btm .btn-style-1 {
        padding: 0.25rem 1rem 0.25rem;
    }

    #userList_page .np-page input {
        width: 3rem;
    }
}

@media (max-width: 320px) {
    * {
        font-size: 11.25px;
    }
}

.custom-marker {
    align-items: center;
    background-color: #ff5b5b;
    border-radius: 50%;
    color: #263238;
    display: flex;
    font-size: 14px;
    gap: 15px;
    justify-content: center;
    padding: 4px;
    position: relative;
    transition: all 0.3s ease-out;
    width: 25px;
    height: 25px;
    box-shadow: 0px 0px 0px 2px #3f3f3f;
    transform: translateY(-10px);
}

.custom-marker.cluster-marker {
    border-radius: 0.3rem;
    width: 35px;
}

.custom-marker::after {
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 10px solid #3f3f3f;
    content: "";
    height: 0;
    left: 50%;
    position: absolute;
    top: 100%;
    transform: translate(-50%, 0);
    transition: all 0.3s ease-out;
    width: 0;
    z-index: 1;
}

div[title=active] .custom-marker .icon::before,
.custom-marker .icon.active::before {
    content: "✔";
    font-size: 30px;
}

.custom-marker .icon {
    align-items: center;
    display: flex;
    justify-content: center;
    color: #000;
    font-weight: bold;
}

.custom-marker.status_0 {
    background-color: #949494;
}

.custom-marker.status_1 {
    background-color: #79bc6a;
}

.custom-marker.small {
    width: 15px;
    height: 15px;
}

.custom-marker.small::after {
    border-left: 3px solid transparent;
    border-right: 3px solid transparent;
}

.realtime_color {
    height: 0.5rem;
}

.border-left {
    border-left: 1px solid #ccc;
}

.border-right {
    border-right: 1px solid #ccc;
}