/* =============== General Element ======== */
html,
body {
	height: 100%;
	background: var(--default-background);
	font-family: Arial, Sans-serif;
	font-size: 12px;
	color: var(--color-text-secondary);
	margin: 0;
	overflow: hidden;
}

a {
	color: var(--color-text-secondary);
}

a.active {
	font-weight: bold;
}

button[disabled] {
	cursor: not-allowed;
	opacity: 0.5 !important;
}

button {
	cursor: pointer;
    background-color: var(--input-background);
}

select:hover,
input[type=checkbox]:hover {
	cursor: pointer;
}

ol, ul {
    padding-left: 0;
}

tbody, tfoot, thead, tr, td{
	border-style: none;
}

th {
    border-right: 1px solid transparent !important;
    border-left: 1px solid transparent !important;
}
/* =============== Utility ======== */
.progress {
    background: var(--progressbar-background);
}

.spinner-border {
    color: var(--active-background);
    width: 16px;
    height: 16px;
}

.red-dot-marker {
	width: 6px;
	height: 6px;
	background: #FF0000;
	margin-top: 10px;
	border-radius: 6px;
}

.arrow-right {
    width: 0;
    height: 0;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 5px solid currentColor;
}

.arrow-down {
    width: 0;
    height: 0;
    border-left: 4px solid transparent; /* 三角形左边 */
    border-right: 4px solid transparent; /* 三角形右边 */
    border-top: 5px solid var(--color-text-secondary); /* 三角形下边 */
}

[data-control] {
	display: none;
	visibility: hidden;
}

[degree="1"] {
    transform: rotate(0deg);
}

[degree="2"] {
    transform: rotate(45deg);
}

[degree="3"] {
    transform: rotate(90deg);
}

[degree="4"] {
    transform: rotate(135deg);
}

[degree="5"] {
    transform: rotate(180deg);
}

[degree="6"] {
    transform: rotate(225deg);
}

[degree="7"] {
    transform: rotate(270deg);
}

[degree="8"] {
    transform: rotate(315deg);
}
/* =================Table=================== */
.table {
    width: 100%;
	margin: auto;
	text-align: left;
	vertical-align: middle;
}

.table>thead>tr {
	font-weight: bold;
}

.table>thead>tr>th {
	background: var(--table-head-background);
	vertical-align: middle;
}

.table>tbody>tr>td {
	vertical-align: middle;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.table-bordered td, .table-bordered th {
    border: none;
}

.dt-bootstrap5 {
	padding-left: 15px;
	padding-right: 15px;
}

.dt-body-center {
	text-align: center !important;
}

.table-responsive {
	display: block;
	width: 100%;
}

.table td, .table th {
	padding: 0.75rem;
	vertical-align: top;
	border-bottom: 1px solid var(--table-border-color);
}

.table-sm td, .table-sm th {
	padding: 0.3rem;
}

.table-hover tbody tr:hover {
	background: var(--table-hover-background);
}

.table>:not(:last-child)>:last-child>* {
	border-bottom-color: var(--table-border-color);
}

.table tr.selected {
	background: linear-gradient(to bottom, #E5F4FB 0, #D3EDFA 100%);
}

td.required:before {
    padding-right: 0px;
}
/* =================DataTable=================== */
table.table-bordered.dataTable thead:hover tr:first-child th {
    border-right-color: var(--table-border-color) !important;
    border-left-color: var(--table-border-color) !important;
}

table.dataTable.table-hover>tbody>tr:hover>* {
    box-shadow: none;
}

table.dataTable thead>tr>th.sorting:before,
table.dataTable thead>tr>th.sorting:after {
    font-size: 14.5px;
    line-height: 7px;
    opacity: 0.4;
}

table.dataTable thead>tr>th.sorting_asc:before,
table.dataTable thead>tr>th.sorting_desc:after,
table.dataTable thead>tr>td.sorting_asc:before,
table.dataTable thead>tr>td.sorting_desc:after {
    opacity: 1
}

table.dataTable thead>tr>th.sorting {
    cursor: pointer !important;
}

table.table th.table__checkbox-column,
table.table td.table__checkbox-column,
table.dataTable tbody td.table__checkbox-column {
    padding: 4px;
    text-align: center;
    vertical-align: middle;
}

.dataTables_scrollHead th.table-header__action-column {
    padding: 4px 0.75em;
}

.table-header__action-column img.table__icon-btn {
    vertical-align: -3px;
}

table.dataTable tbody td>img.table__icon-btn {
    vertical-align: -5px;
}

.dataTables_scrollBody .table {
	width: calc(100% - 1px) !important;
}

.dataTables_paginate .page-link {
	border: 1px solid transparent;
    color: var(--color-text-secondary);
}

.dataTable thead th {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.dataTables_length select {
	height: 28px !important;
}

div.dataTables_wrapper div.dataTables_paginate ul.pagination {
	justify-content: flex-start;
}

.page-item.disabled .page-link {
	border: 1px solid transparent;
	background-color: transparent;
    color: var(--color-text-secondary);
    opacity: 0.5;
}

.pagination a {
	color: #636363;
}

.pagination .page-item a{
	background-color: transparent;
}

.page-link {
	line-height: 1.25;
	padding: 0.5rem 0.75rem;
    border: 1px solid transparent;
}

.page-item.active .page-link {
	background-color: var(--active-background);
	border-color: var(--active-background);
    color: #FFFFFF;
    border-radius: 4px;
}
/* datatable extension  */
#topArea {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.table__icon-btn {
	border: 0px;
	padding: 6px;
}

.table__icon-btn[disabled],
.table__icon-btn.disabled {
	opacity: 0.5;
}

.table__icon-btn:hover {
	background-color: var(--hover-background);
	cursor: pointer;
	border-radius: 4px;
}

.table__icon-btn[disabled]:hover,
.table__icon-btn.disabled:hover {
	background-color: inherit;
	cursor: not-allowed;
}

.table__total-result {
	color: var(--color-text-secondary);
	position: absolute;
	font-weight: normal;
}

.table__camera-snapshot {
	min-width: 34px;
}

.table__camera-snapshot-area {
	width: 384px;
	position: fixed;
	display: none;
	z-index: 999;
}

.table__pagination--select-all {
    text-align: left;
    color: var(--text-highlight-color);
    flex-grow: 1;
	align-items: center;
    display: flex;
    margin-left: 10px;
}

.table__pagination--clear-all {
    text-align: left;
    color: var(--text-highlight-color);
    flex-grow: 1;
    cursor: pointer;
    align-items: center;
    display: flex;
	text-decoration: underline;
}

.table__action-dropdown img {
	cursor: pointer;
}

.table__action-dropdown-menu {
	min-width: 100px;
	box-shadow: 3px 3px 9px #0000004D;
	cursor: pointer;
}

.table__action-dropdown-menu li {
	padding: 5px 10px;
}

.table__action-dropdown-menu li:hover {
	background-color: #2196F3;
	color: #FFFFFF;
}
/* =================amChart=================== */
.amcharts-chart-div {
    background-color: var(--img-background-primary);
    border: var(--border-primary-color) 1px solid;
}
/* =================Form=================== */
.form-control {
	background: var(--text-input-background);
	border: 1px solid var(--border-secondary-color);
	line-height: 1.25;
    color: var(--color-text-secondary);
}

.form-control:read-only {
    background-color: var(--input-background);
    opacity: 1;
	color: var(--color-text-secondary);
}

.form-control:focus {
	color: var(--color-text-secondary);
	border: 1px solid var(--border-secondary-color);
    box-shadow: 0 0 0 0rem #0D6EFD40;
    background-color: var(--text-input-focus);
}
/* -------Button------- */
button.liveViewer {
	width: auto;
	display: inline-block;
}

button:focus {
	outline: none;
	border: 1px solid var(--border-secondary-color);
}

button>img {
	margin: -2px -2px -1px -2px;
}

button.form-control {
	background: #E4E4E4;
	border: 0px;
	width: 28px !important;
	height: 28px;
	padding: 6px;
}

button.form-control:focus {
	background: var(--input-background);
}

button.form-control.active {
	background: var(--active-background);
}

button.form-control.auto-width-btn {
    padding: 6px 10px;
}

button.auto-width-btn {
	width: auto !important;
}

.btn:disabled {
    pointer-events: auto;
}

.btn:hover {
	color: var(--color-text-secondary);
}

.btn-secondary {
	color: #292B2C;
    border-color: #CCCCCC;
}

.btn-secondary:focus {
    color: #292B2C;
    box-shadow: 0 0 0 0.25rem #828A9180;
}

.btn-secondary:hover {
    color: #292B2C;
}

.three-btn-group {
	border-radius: 4px;
	height: 28px;
	background: var(--color-background-confirm-button-secondary);
    position: relative;
    display: flex;
}

#advancedBtn {
	color: var(--color-text-secondary);
}

.btn-group__single-btn {
	cursor: pointer;
	display: inline-block;
	background: var(--input-background);
    border-radius: 4px;
}

.btn-group__single-btn[disabled] {
	cursor: not-allowed;
}

.btn-group__single-btn.active {
	background: var(--active-background);
}

.btn-group__single-btn-img {
	width: 18px !important;
	height: 18px;
	margin: 5px 5px;
}
/* toggleBtnGroup */
.btn__toggle-options {
    text-align: center;
    background: var(--input-background);
    border-radius: 5px;
    height: 28px;
    display: flex;
    width: 100%;
}

.btn__toggle-options>div {
    border-radius: 4px;
    width: 50%;
    padding: 4px;
    cursor: pointer;
}

.btn__toggle-options>div.active {
    background: var(--active-background);
    color: white;
    font-weight: bold;
}

.btn__upload-file {
    position: relative;
    overflow: hidden;
	border: none;
	background: var(--input-background);
	color: var(--color-text-secondary);
}

.btn__upload-file input.upload {
	position: absolute;
	top: 0;
	right: 0;
	margin: 0;
	padding: 0;
	opacity: 0;
    cursor: pointer;
}
/* --------Input------ */
input {
	background-color: var(--text-input-background);
	color: var(--color-text-secondary);
    font-family: Arial;
}

input[type="number"] {
    background-color: var(--text-input-background);
	color: var(--color-text-secondary);
}

input[type="number"]:focus {
    outline: none;
}

input[fake="password"] {
	-webkit-text-security: disc;
}

input[fake="password_confirm"] {
	-webkit-text-security: disc;
}

input[type="radio"]:disabled {
    cursor: not-allowed;
    opacity: 0.8;
}

input:checked+.slider {
	background-color: #2196F3;
}

input:focus+.slider {
	box-shadow: 0 0 1px #2196F3;
}

input:checked+.slider:before {
	-webkit-transform: translateX(22px);
	-ms-transform: translateX(22px);
	transform: translateX(22px);
}

.password-eye {
	position: absolute;
	right: 5px;
	top: 5px;
	cursor: pointer;
	width: 20px;
}

/* TODO add confirmPassword id*/
#password, #pwdagain, #httpPassword, #tdPassword, #psd, #nvrAddModalPwd, #nvrEditModalPwd, #ldapPwd, #mailPwd, #cameraPwd, #cameraRtspPwd{
	padding-right: 25px;
}
/* ---------- number Input ----------*/
.number-input input[type=number]::-webkit-inner-spin-button,
.port-number-input input[type=number]::-webkit-outer-spin-button {
	-webkit-appearance: none;
}

.number-input {
	display: inline-flex;
	background-color: var(--input-background);
	height: 28px;
	width: 70px;
	border-radius: .25rem;
}

.number-input img {
	outline: none;
	-webkit-appearance: none;
	background-color: #E4E4E4;
	border: none;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	margin: 0;
	position: relative;
	height: 14px;
	margin-right: 4px;
	border-radius: .25rem;
}

.number-input input[type=number] {
	font-family: Arial, Sans-serif;
	background-color: var(--input-background);
	width: 50px;
	font-size: 12px;
	font-weight: normal;
	font-style: normal;
	color: var(--color-text-secondary);
	min-height: 24px;
	margin: 0;
	padding: 4px 0px 3px 10px;
	line-height: 14px;
	border: none;
	border-radius: .25rem;
}

.number-input section {
	display: flex;
	height: 10px;
	margin: 0px;
	padding-left: 2px;
	border: none;
	border-radius: .25rem;
	background-color: var(--input-background);
}

.number-input section img {
	width: 8px;
	background-color: var(--input-background);
}

.number-input p {
	margin: 0px;
	text-align: center;
	background-color: #E4E4E4;
}

.number-input div.form-control {
	background: none !important;
	background-color: #E4E4E4;
	border: none;
	padding: 0px 0px 0px 2px;
}

.number-input.disabled {
	opacity: 0.4;
}
/* -------- textbox / textarea ------------- */
.ainvr-textbox {
	outline: none;
	background: var(--text-input-background) !important;
	border-radius: 3px;
	border: 1px solid var(--border-secondary-color) !important;
	padding-left: 4px;
	height: 28px !important;
	width: 100%;
    color: var(--color-text-secondary);
}

.ainvr-textbox::placeholder {
	color: var(--border-secondary-color);
}

.ainvr-textbox:focus {
	border: 1px solid #0DA6EE;
}

.ainvr-textbox:disabled {
	background: #DDDDDD;
	cursor: not-allowed;
	opacity: 0.5;
}

.ainvr-textarea {
	background: var(--text-input-background);
	border-radius: 3px;
	border: 1px solid var(--border-secondary-color);
	padding-left: 4px;
	resize: none;
	width: 100%;
	overflow: auto;
    color: var(--color-text-secondary);
}

.ainvr-textarea:focus {
	outline: none;
}
/* ----------Toggle---------- */
.onoffswitch {
	position: relative;
	width: 40px;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
}

.onoffswitch.disabled {
	cursor: not-allowed;
}

.onoffswitch.disabled>* {
	pointer-events: none;
}

.onoffswitch-checkbox {
	display: none;
}

.onoffswitch-label {
	display: block;
	overflow: hidden;
	cursor: pointer;
	border: 1px solid var(--border-primary-color);
	border-radius: 20px;
	height: 18px;
}

.onoffswitch-inner {
	display: block;
	width: 200%;
	margin-left: -100%;
	transition: margin 0.3s ease-in 0s;
}

.onoffswitch-inner:before,
.onoffswitch-inner:after {
	display: block;
	float: left;
	width: 50%;
	height: 28px;
	padding: 0;
	line-height: 21px;
	font-size: 0px;
	color: #FFFFFF;
	font-family: Trebuchet, Arial, sans-serif;
	font-weight: bold;
	box-sizing: border-box;
    content: "";
}

.onoffswitch-inner:before {
	padding-left: 10px;
	background-color: var(--active-background);
	color: #FFFFFF;
}

.onoffswitch-inner:after {
	padding-right: 10px;
	background-color: var(--progressbar-background);
	text-align: right;
}

.onoffswitch-switch {
    display: block;
    background: #FFFFFF;
    position: absolute;
    right: 23px;
    border: 1px solid #DBDBDB;
    border-radius: 20px;
    transition: all 0.3s ease-in 0s;
    width: 12px;
    height: 12px;
    top: 50%;
    transform: translate(0%, -50%);
}

.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-inner {
	margin-left: 0;
}

.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-switch {
	right: 4px;
}
/*  -------------checkbox--------------- */
.checkmark {
	position: absolute;
	top: 0;
	left: 0;
	height: 20px;
	width: 20px;
	background-color: var(--input-background);
	margin-top: -1px;
	border-radius: 4px;
	border: 1px solid var(--checkbox-border-color);
}

.checkmark:after {
	content: "";
	position: absolute;
	display: none;
}

.custom-checkbox.disabled {
	cursor: not-allowed;
}

.custom-checkbox {
    display: inline-block;
    position: relative;
    cursor: pointer;
    height: 20px;
    width: 20px;
    margin: 4px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.custom-checkbox input {
	position: absolute;
	opacity: 0;
	height: 0;
	width: 0;
}
.custom-checkbox > span {
    display: inline-block;
    height: 20px;
    width: 20px;
    border-radius: 4px;
    border: 1px solid var(--checkbox-border-color);
    background-color: var(--input-background);
}

.custom-checkbox:hover input~span {
	background-color: var(--checkbox-hover-background);
}

.custom-checkbox > span:after {
	content: "";
	position: absolute;
	display: none;
    left: 7px;
	top: 4px;
	width: 5px;
	height: 10px;
	border: solid white;
	border-width: 0 3px 3px 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.custom-checkbox input:disabled ~ span {
    opacity: 0.5;
    cursor: not-allowed;
}

.custom-checkbox input:disabled:checked ~ span {
    opacity: 0.5;
    cursor: not-allowed;
}

.custom-checkbox input:checked~span {
	background-color: var(--active-background);
}

.custom-checkbox input:checked~span:after {
	display: block;
}

.custom-checkbox input:indeterminate~span {
	background-color: var(--active-background);
}

.custom-checkbox input:indeterminate~span:after {
	display: block;
	left: 7px;
	top: 2px;
	width: 6px;
	height: 12px;
	border: solid white;
	border-width: 0 3px 0 0;
	-webkit-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
}
/* ----------dropdown---------- */
.dropdown-menu {
	min-width: 200px;
	z-index: 1100;
	color: var(--color-text-secondary);
	background: var(--text-input-background);
	border: 1px solid var(--border-secondary-color);
}

.dropdown-menu a {
	color: var(--color-text-secondary);
	text-decoration: none;
}

.dropdown-item:focus, .dropdown-item:hover {
	color: #FFFFFF;
    background-color: var(--text-highlight-color);
}

#dropmenuIndoor {
	position: absolute;
	background: var(--text-input-background);
	width: 250px;
	max-height: 400px;
	left: -150px;
	z-index: 420;
	overflow: auto;
	border: 1px solid var(--border-primary-color);
	display: none;
    flex-direction: column;
}

#dropmenuIndoor>div {
	padding: 5px 5px 5px 10px;
	width: 100%;
	left: 0;
}

#dropmenuIndoor .plan.active {
	background: var(--active-background);
    color: #FFFFFF;
}

#dropmenuIndoor .plan:hover {
	background: var(--active-background);
	cursor: pointer;
    color: #FFFFFF;
}

.dropdown-menu-select::after {
	display: inline-block;
	width: 0;
	height: 0;
	float: right;
	margin-top: 5px;
	vertical-align: middle;
	content: "";
	border-top: 6px solid;
	border-right: 3px solid transparent;
	border-left: 3px solid transparent;
}

.dropdown-menu-select-btn::after {
    width: 0;
    height: 0;
    vertical-align: middle;
    content: "";
    border-top: 7px solid;
    border-right: 3.5px solid transparent;
    border-left: 3.5px solid transparent;
    position: absolute;
    right: 8px;
    top: 12px;
}

.dropdown-menu-multi-select {
    height: 28px;
    -webkit-appearance: menulist-button;
    text-align: left;
    background: var(--input-background);
    color: var(--color-text-secondary);
    margin-right: 5px;
    padding-left: 1rem!important;
    margin-right: 0!important;
    cursor: pointer;
}

.dropdown-menu-multi-select[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
}

.ainvr-dropdown-menu-multi-select {
    border: 1px solid var(--progressbar-background);
    border-radius: 5px;
    z-index: 1100;
    background: var(--default-background);
    max-height: 208px;
    width: 100%;
    top: 28px;
    padding-bottom: 5px;
    overflow-y: auto;
    position: absolute;
    flex-direction: column;
    display: none;
}

.ainvr-dropdown-menu-multi-select.top-start {
    inset: auto auto 0px 0px;
    transform: translate(0px, -30px);
}

.ainvr-dropdown-menu-multi-select .dropdown-items {
    cursor: pointer;
}

.ainvr-dropdown-menu-multi-select .dropdown-items.active {
    background: var(--active-background);
}

.ainvr-dropdown-menu-multi-select .dropdown-items:hover {
    background: var(--active-background);
}

.ainvr-dropdown-menu-multi-select .dropdown-items.active .dropdown-items-txt,
.ainvr-dropdown-menu-multi-select .dropdown-items:hover .dropdown-items-txt
{
    color: #FFFFFF;
}

.ainvr-dropdown-menu-multi-select .dropdown-items .custom-checkbox input:checked~span {
	background-color: #2196F3;
}

.ainvr-dropdown-menu-multi-select-area {
    position: relative;
}

.dropdownicon-position {
	inset: 0 auto auto 10px !important;
}

#customContextMenu {
	background-color: var(--table-odd-background);
}

#customContextMenu li:hover {
	color: #FFFFFF;
	background-color: #0D99FF;
}
/* -----------Select------------- */
select.form-control:focus {
	border: 0;
	background: #E4E4E4;
}

select.form-control option {
	background: var(--text-input-background);
}

select.form-control:disabled {
	opacity: 0.5;
    cursor: not-allowed;
}

select.form-control:not([size]):not([multiple]) {
    height: calc(2.25rem + 1px);
}

.select2-results {
    background: var(--default-background);
}

.select2-container--default .select2-results__option[aria-selected=true] {
    background: var(--webkit-scrollbar-thumb);
    color: var(--color-text-secondary);
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
	background-color: var(--active-background);
	color: #FFFFFF;
}

.select2-container {
    border: 1px solid var(--border-secondary-color) !important;
 }

.select2-selection.select2-selection--multiple {
    border: none !important;
}

.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
	background: var(--text-input-background);
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
	background: var(--input-background);
}

.select2-dropdown{
    z-index: 9999;
}
/* ------------- Hint ------- */
.hint__field-valid-input-border {
	border: 1px solid #900 !important;
}

.hint__field-valid-box {
	position: absolute;
	min-width: 205px;
	max-width: 300px;
	z-index: 500;
	color: #900;
}

.hint__field-valid-content {
	border: 1px solid #900;
	padding: 5px;
	background: #FEE;
	margin-top: -18px;
	margin-left: 4px;
	-webkit-box-shadow: 1px 1px 3px #00000059;
	-moz-box-shadow: 1px 1px 3px #00000059;
	-o-box-shadow: 1px 1px 3px #00000059;
	-ms-box-shadow: 1px 1px 3px #00000059;
	box-shadow: 1px 1px 3px #00000059;
	white-space: initial;
    word-break: break-word;
}

.hint-body {
	position: fixed;
    color: #FFFFFF;
    background: #59595A;
    align-items: center;
    justify-content: space-around;
    border-radius: 5px;
	display: none;
    width: 305px;
	font-weight: 100;
	align-items: flex-start;
	z-index: 1000;
}

.hint-body__content {
	text-align: left;
    width: 90%;
    word-wrap: break-word;
    white-space: normal;
    padding: 10px;
}

.hint-body__triangle {
	position: fixed;
    height: 0;
    border: 12px solid;
    border-color: #59595A transparent transparent transparent;
	display: none;
}

.hint-body__content--hidden {
    font-size: 20px;
    cursor: pointer;
    width: 18px;
	display: flex;
    justify-content: center;
}
/* ----------Tooltip---------- */
.tooltip-selected {
	display: none;
	padding: 5px;
	border: 1px solid #808080;
	position: absolute;
	background: #FFFFFF;
	z-index: 9999;
	margin: 2px 0px;
	border-radius: 3px;
	text-align: left;
    color: #636363;
}

.tooltip-notify {
	position: absolute;
	width: 14px;
	height: 14px;
	background: #FF0D23;
	border-radius: 7px;
	left: 23px;
	top: 4px;
	display: none;
}

.tooltip-notify__label {
	color: #FFFFFF;
	width: 100%;
	position: absolute;
	font-weight: bold;
	text-align: center;
	top: -2px;
}
/* =================Modal=================== */
.modal-dialog .dataTables_scrollHeadInner {
    width: auto;
    min-width: 100%;
}

.modal-body {
	padding: 0px;
	overflow-y: auto;
}

.modal-content {
	background: var(--default-background);
}

.modal-header {
	border-bottom: 1px solid var(--border-primary-color);
}

.general-modal-dialog .modal-content {
	overflow: hidden;
	border: 1px solid var(--border-secondary-color);
	padding: 4px 0px 0px 0px;
	background: var(--modal-header-background);
	webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-o-border-radius: 4px;
	-ms-border-radius: 4px;
	border-radius: 4px;
	-webkit-box-shadow: inset 0 1px 1px var(--img-background-primary), 0 0 4px #000000B3;
	-moz-box-shadow: inset 0 1px 1px var(--img-background-primary), 0 0 4px #000000B3;
	-o-box-shadow: inset 0 1px 1px var(--img-background-primary), 0 0 4px #000000B3;
	-ms-box-shadow: inset 0 1px 1px var(--img-background-primary), 0 0 4px #000000B3;
	box-shadow: inset 0 1px 1px var(--img-background-primary), 0 0 4px #000000B3;
}

.general-modal-dialog .modal-header {
	overflow: hidden;
	padding: 2px 0 3px 10px;
	line-height: 24px;
}

.general-modal-dialog .modal-header .modal-title {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 12px;
	font-weight: normal;
	font-style: normal;
	color: var(--color-text-secondary);
}

.general-modal-dialog .modal-body {
	margin: 0;
	padding: 0px;
	background: var(--default-background);
	overflow: hidden;
}

.general-modal-dialog .modal-body .form-control {
	display: inline-block;
}

.general-modal-dialog .modal-body .form-row {
    align-items: center;
    display: flex;
}

.general-modal-dialog .modal-body>.dialog-footer {
	text-align: center;
	padding: 15px 15px 15px 15px;
	border-top: 1px solid var(--table-border-color);
}

.general-modal-dialog .modal-body>.dialog-footer button {
	cursor: pointer;
}

.search-bar {
	padding: 1px 15px 0 18px;
	display: flex;
	flex-wrap: wrap;
	flex: 1;
	-webkit-flex: 1;
	flex-direction: row;
}

.search-bar__input {
    display: flex;
	background-color: var(--input-background);
    flex: 1;
	border-top-right-radius: .25rem;
    border-bottom-right-radius: .25rem;
}

.search-bar__text {
	width: 100%;
    height: 28px;
	padding-left: 30px;
	background-color: var(--input-background) !important;
	border: 0;
	outline: none;
	flex: auto;
}

.modal__search-box {
	display: flex;
}

.modal__search-box > div {
    display: flex;
	background-color: var(--input-background);
}

.modal__search-box > div:last-child {
    flex: 1;
	border-top-right-radius: .25rem;
    border-bottom-right-radius: .25rem;
    overflow: hidden;
}

.modal__search-box .search-bar__text {
    flex: 1;
    padding-left: 10px;
	background: none;
}

.modal__confirm-btn {
	background: var(--color-background-confirm-button-primary) !important;
	border: 1px;
	height: 28px !important;
	min-width: 75px !important;
	color: #FFFFFF !important;
	border-radius: .25rem;
}

.modal__cancel-btn {
	background: var(--color-background-confirm-button-secondary) !important;
	border: 1px;
	height: 28px !important;
	min-width: 75px !important;
	border-radius: .25rem;
    color: var(--color-text-secondary);
}

.modal__close-btn {
	font-size: 18px;
    font-weight: 600;
	display: flex;
    justify-content: center;
    align-items: center;
	width: 28px;
	height: 24px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-o-border-radius: 4px;
	-ms-border-radius: 4px;
	border-radius: 4px;
	color: var(--color-text-secondary);
	border: 0;
	background: var(--modal-header-background);
	outline: none;
	cursor: pointer;
	opacity: 1;
}

@media (min-width:780px) {
	.modal-xl {
		max-width: 780px;
	}
}

@media (min-width:950px) {
	.modal-xl {
		max-width: 920px;
	}
}

@media (min-width:1200px) {
	.modal-xl {
		max-width: 1100px;
	}
}

@media (min-width:1400px) {
	.modal-xl {
		max-width: 1200px;
	}
}
/* =================Layout=================== */
.container-fluid {
	padding-right: 15px;
	padding-left: 15px;
}

.page__tool-bar {
	max-width: 100%;
	padding: 10px;
}

@media (min-width: 1200px){
	.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9 {
		padding-right: 15px;
		padding-left: 15px;
	}
}

@media (min-width: 576px){
	.col-sm-6 {
		-webkit-box-flex: 0;
		flex: 0 0 50%;
		max-width: 50%;
	}
}
/* ------------Nav---------- */
.nav-tabs {
	border-bottom: 1px solid var(--border-primary-color);
}

.nav-tabs .nav-link {
	font-weight: bold;
	color: var(--color-text-secondary);
	cursor: pointer;
}

.nav-link.active {
	border: 0 !important;
	border-bottom: 3px solid var(--active-background) !important;
	color: var(--active-background) !important;
	background-color: var(--default-background) !important;
}
/* ------------Card---------- */
.main-card {
	height: 98%;
	max-width: 98%;
	margin: 10px auto;
	border-radius: .25rem;
	flex-direction: column;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
}
.card-body {
	height: 95%;
	overflow-y: hidden;
	padding: 0;
}

.card__event-data-row {
	position: relative;
	top: 5px;
	left: 5px;
	text-overflow: ellipsis;
	overflow: hidden;
	display: inline-block;
	white-space: nowrap;
}
/* =================Scroll Bar=================== */
::-webkit-scrollbar {
    width: 5px;
    height: 5px;
}

::-webkit-scrollbar-track {
    background: var(--webkit-scrollbar-track);
}

::-webkit-scrollbar-thumb {
    background: var(--webkit-scrollbar-thumb);
    border-radius: 5px;
}
/* ================= Image  / Thumbnail =================== */
.thumbnail {
    max-height: 110px;
    max-width: auto;
    cursor: pointer;
}

#boundingBox .img-area {
	width: 102px;
	height: 102px;
	margin: 0;
	border: 3px solid var(--text-input-background);
	position: relative;
	cursor: pointer;
}
/* ================= Toastr =================== */
#toast-container>.toast {
	display: flex;
	align-items: center;
	background-image: none !important;
	text-align: left;
}

#toast-container>.toast:before {
	font-family: FontAwesome;
	font-size: 24px;
	float: left;
	color: #FFFFFF;
	margin: auto 0.5em auto -1.5em;
}

#toast-container>.toast-warning:before {
	content: "\f071";
}

#toast-container>.toast-error:before {
	content: "\f071";
}

#toast-container>.toast-info:before {
	content: "\f071";
}

#toast-container>.toast-success:before {
	content: "\f00c";
}

#toast-container .toast-close-button {
    position: absolute;
    font-size: 16px;
    top: 6px;
    left: 264px;
}

#toast-container .toast-message {
	width: 240px;
}

#toast-container .toast-message {
	overflow-wrap: break-word;
	word-wrap: break-word;
	-ms-word-break: break-all;
	word-break: break-all;
	word-break: break-word;
    -ms-hyphens: auto;
	-moz-hyphens: auto;
	-webkit-hyphens: auto;
	hyphens: auto;
}

.toast-error {
	background-color: #FF000099;
}

.toast-success {
	background-color: #219BA6E0;
}

.toast-info {
	background-color: #219BA6E0;
}
/* ================= Slide =================== */
.slider-handle {
	background: var(--slider-selection-background) !important;
	border: 1px solid var(--slider-selection-background);
    height: 16px;
    width: 16px;
}

.slider-track-high {
	background: var(--slider-track-high-background);
}

.slider-selection {
	background: var(--slider-selection-background);
}

.slider-track {
    height: 6px !important;
    padding: 0 !important;
}

.slider {
	margin: 0px 10px;
}
/* ================= Map =================== */
.map__event-thumbnail {
	position: absolute;
    cursor: pointer;
	display: flex;
    transform: translate(-50%, -50%);
}

.map__event-thumbnail > img {
	width: 100%;
    height: 80px;
    border-radius: 10px;
}

.map__event-thumbnail > span {
	color: #FFFFFF;
    background: red;
    top: -15%;
    left: 90%;
    height: 25px;
    width: 25px;
    font-weight: bold;
    text-align: center;
    line-height: 25px;
    border-radius: 100%;
    transform: none;
}

.map__event-info, .map__event-info .leaflet-popup-content-wrapper {
	border-radius: 10px;
        cursor: pointer;
        overflow: initial;
}

.map__event-info .leaflet-popup-tip-container {
        display: none;
}

.map__event-info .leaflet-popup-close-button {
        display: none;
}

.map__event-info a.map__event-info-content > img {
        width: 100%;
        height: 120px;
	border-radius: 10px;
}

.map__event-info div.map__event-info-content {
        position: absolute;
        background: #0000004D;
        color: #FFFFFF;
        bottom: 0;
        padding: 1px 9px;
        width: 100%;
        border-radius: 0 0 10px 10px;
}

.map__event-info span.map__event-info-content {
	color: #FFFFFF;
    background: #FF0000;
    top: -10%;
    left: 95%;
    height: 25px;
    width: 25px;
    font-weight: bold;
    text-align: center;
    line-height: 25px;
    border-radius: 100%;
    transform: none;
}

.map__event-info .map__event-info-content .card__event-data-row, .map__event-info .map__event-info-content .map__event-popup-row {
    display: block;
    top: 0px !important;
    left: 0px !important;
}

.map__event-popup-pre-arrow {
	position: absolute;
	top: 35px;
	background: #0000004D;
	height: 40px;
	width: 20px;
}

.map__event-popup-pre-arrow>button>svg {
	margin-top: 5px;
	margin-left: -5px;
	width: 20px !important;
	height: 20px;
	color: #FFFFFF;
}

.map__event-popup-pre-arrow>button {
	background: transparent;
	border: 0px;
	cursor: pointer;
	height: 40px;
	width: 20px;
}

.map__event-popup-pre-arrow>button.disabled {
	cursor: not-allowed;
	opacity: 0.5;
}

.map__event-popup-next-arrow {
	position: absolute;
	top: 35px;
	right: 0px;
	background: #0000004D;
	height: 40px;
	width: 20px;
}

.map__event-popup-next-arrow>button>svg {
	margin-top: 5px;
	margin-left: -5px;
	width: 20px !important;
	height: 20px;
	color: #FFFFFF;
}

.map__event-popup-next-arrow>button {
	background: transparent;
	border: 0px;
	cursor: pointer;
	height: 40px;
	width: 20px;
}

.map__pin {
	width: 30px;
	height: 30px;
	border-radius: 60% 60% 60% 0;
	background: #FF0000;
	position: absolute;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	left: 50%;
	top: 50%;
	margin: -25px 0 0 -15px;
	-webkit-animation-name: bounce;
	-moz-animation-name: bounce;
	-o-animation-name: bounce;
	-ms-animation-name: bounce;
	animation-name: bounce;
	-webkit-animation-fill-mode: both;
	-moz-animation-fill-mode: both;
	-o-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-duration: 1s;
	-moz-animation-duration: 1s;
	-o-animation-duration: 1s;
	-ms-animation-duration: 1s;
	animation-duration: 1s;
    cursor: pointer;
}

.map__indoor-pin {
    width: 29px;
    height: 29px;
    transform: translate(-50%, -50%);
}

.map__indoor-time {
    position: absolute;
    font-weight: bold;
    color: #FFFFFF;
    background-color: #00000099;
    display: none;
    text-align: center;
    left: 50%;
    transform: translate(-50%, 0%);
}

.map__pin-font {
    position: absolute;
    color: #FFFFFF;
    font-weight: bold;
    text-align: center;
    z-index: 1;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.map__pin .leaflet-popup-close-button {
	position: absolute;
	top: 5px;
	right: 5px;
	font: bold 16px/14px Tahoma, Verdana, sans-serif;
	color: #C3C3C3;
	display: none;
}

.map__pin.hide {
	background: none;
}

.map__zoom-in {
	border-radius: 2px 2px 0 0;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 1px solid var(--border-secondary-color);
	background: var(--input-background);
	margin-bottom: -1px;
}

.map__zoom-in>div[disabled] {
	opacity: 0.5;
	cursor: not-allowed;
}

.map__zoom-out {
	border-radius: 0 0 2px 2px;
	width: 32px;
	height: 32px;
	border: 1px solid var(--border-secondary-color);
	background: var(--input-background);
	padding: 0;
}

.map__zoom-in div,
.map__zoom-out div {
	font: bold 22px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
}

.map__zoom-out>div[disabled] {
	opacity: 0.5;
	cursor: not-allowed;
}

.map__indoor-bg {
    background-image: var(--indoor-map-background);
    background-size: 15px 15px;
}

.map__building {
	width: 150px;
	display: inline-block;
	height: 140px;
	background: #DDDDDD;
	padding-top: 33px;
}

.map__location-direction {
    position: absolute;
    left: -7.5px;
    top: -20.5px;
    transform-origin: 22px 34px;
}

.map__zoom-control {
	position: absolute;
	bottom: 10px;
	right: 0px;
	width: 40px;
	z-index: 1000;
}

.leaflet-container {
	background: #FFFFFF;
	cursor: auto;
}

.leaflet-popup-content {
	margin: 0px;
}

.leaflet-popup-content>table>tbody>tr>td {
	vertical-align: top;
}

.leaflet-popup-content-wrapper {
	border-radius: 0px;
	padding: 0px;
}

.leaflet-popup__custom-style {
	background-color: #FFFFFF66;
	box-shadow: 5px 5px 10px 0px #00000080;
}

.leaflet-popup-content .map__event-popup-row {
	width: 115px;
	position: relative;
	text-overflow: ellipsis;
	overflow: hidden;
	display: inline-block;
	white-space: nowrap;
}

.leaflet-control-zoom {
	background: #FFFFFF;
}

.leaflet-control-zoom a[disabled] {
	opacity: 0.5;
	cursor: not-allowed;
}

#indoorMapArea .sidebar {
	background-size: 15px 15px;
	width: calc(50vw - 40px);
}

#mapPreView {
	position: absolute;
	left: 15px;
	bottom: 15px;
	border-radius: 8px;
	border: 3px solid #989898;
	z-index: 3;
    width: 170px;
    height:163px;
    background-size: 170px 170px;
}

#mapPreView:hover {
	border: 3px solid #4CA8D5;
}

#indoorMapInfo {
	position: absolute;
	left: 200px;
	bottom: 15px;
	border-radius: 8px;
	z-index: 3;
	height: 51px;
	background: #00000080;
	color: #FFFFFF;
	max-width: 150px;
	min-width: 100px;
}

#indoorMapInfo>div {
	width: 95%;
}
/* ================= Datetime Picker =================== */
.datepicker table tr td.today.active,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled.disabled,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today.disabled:hover.active,
.datepicker table tr td.today.disabled:hover.disabled,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.disabled:hover:hover,
.datepicker table tr td.today.disabled:hover[disabled],
.datepicker table tr td.today.disabled[disabled],
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today:hover.disabled,
.datepicker table tr td.today:hover:active,
.datepicker table tr td.today:hover:hover,
.datepicker table tr td.today:hover[disabled],
.datepicker table tr td.today[disabled] {
    background: var(--active-background);
    color: #FFFFFF;
}

.datepicker table tr td.today,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today:hover {
    background: #DDEFFF;
}

.datepicker .datepicker-switch:hover, .datepicker .next:hover, .datepicker .prev:hover, .datepicker tfoot tr th:hover {
	background: var(--active-background);
    color: #FFFFFF;
}

.datepicker table tr td.day.focused, .datepicker table tr td.day:hover {
	background: var(--active-background);
    color: #FFFFFF;
}

.datepicker.dropdown-menu {
    background: var(--text-input-background);
}

.datepicker.dropdown-menu th, .datepicker.dropdown-menu td{
    font-size: 12px;
    width: 30px;
    height:30px;
    vertical-align: middle;
}

.datepicker .datepicker-switch {
    width: 145px !important;
}

.datepicker table {
    margin: 0 auto;
}

.datepicker table tr td span.active, .datepicker table tr td.active {
    background: var(--active-background);
}

.datepicker table tr td span.active.active, .datepicker table tr td.active.active,
.datepicker table tr td span.focused{
    background-color: var(--active-background);
}

.datepicker table tr td span:hover {
    background-color: #EEEEEE;
    color: #111111;
}
.datepicker-dropdown:before, .datepicker-dropdown::after {
    display: none;
}

.datepicker-dropdown {
    width: 220px !important;
    padding: 5px;
    left: unset;
}

.datetime__btn--clear-date {
	background: #E4E4E4;
	border: none;
	width: 70px;
	border-radius: 3px;
	padding: 4px;
}

.datetime__clear-area {
	display: flex;
	justify-content: right;
	padding: 7px;
}

#startTimePicker {
	border: 0;
	background: var(--input-background);
}

#endTimePicker {
	border: 0;
	background: var(--input-background);
}

.ui-datepicker {
	z-index: 9999 !important;
}
/* ======================== jquery ui overwrite ====================== */
.ui-state-default a, .ui-state-default a:link,
.ui-state-default a:visited, a.ui-button, a:link.ui-button,
a:visited.ui-button, .ui-button {
	color: var(--color-text-secondary);
}

.krz-widget-content-calendar {
	border-left: 0;
	top: 0;
	padding: 0;
}
.krz-widget-content-calendar label {
    padding: 4.5px;
    cursor:pointer;
}

.krz-widget-content-calendar:hover {
    border-bottom: 1px solid var(--hover-background);
    background: var(--hover-background);
    cursor: pointer;
}

.krz-widget-content>input {
	border: 0;
	background: var(--input-background);
	padding: 6.5px 6.5px;
}

.krz-widget-content>input:focus {
	border: 0;
	background: var(--text-input-focus);
	padding: 6.5px;
}

.krz-widget-content-up {
	color: var(--color-text-secondary);
	border: 0;
}

.krz-widget-content-up:hover {
	border: 0;
    border-bottom: 1px solid var(--hover-background);
    background: var(--hover-background);
}

.krz-widget-content-down {
	border: 0;
}

.krz-widget-content-down:hover {
	border: 0;
    border-bottom: 1px solid var(--hover-background);
    background: var(--hover-background);
}

.krz-spinner-button-up, .krz-spinner-button-down {
	color: var(--color-text-secondary);
}

.ui-resizable-e:hover {
	border-left: 3px solid #47ACD5
}

.ui-resizable-e:active {
	border-left: 3px solid #47ACD5
}

.ui-menu-item-wrapper {
	background-color: var(--default-background) !important;
}

.ui-widget-content {
	background-color: var(--default-background);
	color: var(--color-text-secondary) !important;
    z-index: 1000;
}

.ui-autocomplete .ui-menu-item-wrapper {
	color: var(--color-text-secondary) !important;
	font-weight: normal !important;
}

.ui-menu-item-wrapper:hover {
	background: var(--text-highlight-color) !important;
	color: var(--color-text-primary) !important;
}

/* ======================== custom-color-btn ====================== */
.custom-color-btn {
    border-radius: 50%;
    width: 20px;
    height: 20px;
    cursor: pointer;
    display: inline-block;
    overflow: hidden;
    margin-right: 4px;
}

.custom-color-btn.selected {
    border: solid 2px #00d2ff !important;
}

.custom-color-btn.selected img {
    margin-top: -3px;
}

img[search] {
    width: 16px;
}
