/* ------ SCROLLBAR ------ */

*::-webkit-scrollbar,
body::-webkit-scrollbar,
.contact-list::-webkit-scrollbar,
.chat::-webkit-scrollbar,
.scrollable-container::-webkit-scrollbar,
.information::-webkit-scrollbar {
	width: 0.4em;
	height: 0.4em;
	margin-right: -12px;
	/* background-color: #f4f6f9; */
}

*::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb,
.contact-list::-webkit-scrollbar-thumb,
.chat::-webkit-scrollbar-thumb,
.scrollable-container::-webkit-scrollbar-thumb,
.information::-webkit-scrollbar-thumb {
	background-color: rgba(0, 0, 0, 0.2);
	border-radius: 2px;
}

*::-webkit-scrollbar-thumb:hover {
	background-color: rgba(0, 0, 0, 0.4);
}

.dropdown-item:focus,
.dropdown-item:hover {
	color: #16181b;
	text-decoration: none;
	background-color: #e9ecef;
}

.loading-overlay {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	z-index: 9;
	color: #17a2b8;
	background-color: rgba(0, 0, 0, 0.25);
}

.card {
	box-shadow: none;
	border: 1px solid rgba(0, 0, 0, 0.125);
}

.scrollable-container {
	overflow-x: hidden;
	overflow-y: auto;
}

.report-header {
	position: sticky;
	top: 0;
	background-color: #f4f6f9;
	z-index: 51;
}

.report-body {
	z-index: 2;
}

.sub-wrap {
	height: calc(100vh - (3.5rem + 1px)) !important;
	display: flex;
	flex-direction: row;
	position: relative;
}

.sub-sidebar {
	background-color: #fff;
	width: 0px;
	display: flex;
	flex-direction: column;
	border-right: 1px solid rgba(0, 0, 0, 0.125);
	height: auto;
	overflow: hidden;
	position: relative;
	transform-origin: left top;
	transition: width 0.3s ease-in-out;
	/* transition: display 0.5s ease-in-out; */
}

.sub-sidebar.right {
	border-right: none;
	border-left: 1px solid rgba(0, 0, 0, 0.125);
}

.sub-sidebar.shown {
	width: 320px;
}

.sub-sidebar::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
}

.sub-sidebar-list {
	flex: 1;
	overflow-y: auto;
}

.sub-sidebar ul {
	gap: 0.25rem;
}

.sub-sidebar .nav-link {
	color: #343a40;
}

.sub-sidebar .nav-link.active {
	color: var(--white);
}

.sub-sidebar .nav-link:hover {
	background-color: rgba(0, 0, 0, .1);
	color: #212529 !important;
}

.sub-sidebar .nav-link i {
	width: 1.25rem;
	height: auto;
}

div.dataTables_processing div {
	display: none;
}

.dataTables_processing.card {
	display: none;
}

.left-modal .modal-dialog {
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	min-width: 25rem;
	/* max-width: 100%; */
	/* width: auto; */
	height: 100%;
	transition: all 0.3s ease-in-out !important;
}

.left-modal .modal-dialog .modal-content {
	height: 100% !important;
	border-top-left-radius: 0px;
	border-bottom-left-radius: 0px;
	transition: all 0.3s linear !important;
}

.left-modal.fade .modal-dialog {
	transform: translate(-120%, 0);
}

.left-modal.show .modal-dialog {
	display: flex;
	transform: none;
}

.left-modal .btn-tool {
	font-size: 1rem;
	padding: 0.5rem 1rem;
	border: none;
}

.right-modal .modal-dialog {
	position: absolute;
	top: 0;
	right: 0;
	margin: 0;
	min-width: 25rem;
	/* max-width: 100%; */
	/* width: auto; */
	height: 100%;
	transition: all 0.3s ease-in-out !important;
}

.right-modal .modal-dialog .modal-content {
	height: 100% !important;
	border-top-right-radius: 0px;
	border-bottom-right-radius: 0px;
	transition: all 0.3s linear !important;
}

.right-modal.fade .modal-dialog {
	transform: translate(120%, 0);
}

.right-modal.show .modal-dialog {
	display: flex;
	transform: none;
}

.right-modal .btn-tool {
	font-size: 1rem;
	padding: 0.5rem 1rem;
	border: none;
}

.jstree-node {
	user-select: none;
}

.card.card-outline-tabs {
	border-top: 1px solid rgba(0, 0, 0, .125);
}

.nav-tabs .nav-link {
	border-top: 3px solid transparent;
	border-radius: 0px;
}

.nav-tabs .nav-link.active {
	border-top: 3px solid var(--primary);
}

.sub-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 1rem;
	overflow: hidden;
}

.sub-overlay {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background-color: rgba(0, 0, 0, 0.2);
}

.sub-sidebar.collapsible>.card-header {
	padding-top: 1rem !important;
	padding-bottom: 1rem !important;
}

.sub-content>.row>.col-sm-12 {
	padding-bottom: 1rem;
}

.sub-content .sub-content-header-left {
	display: flex;
	flex-direction: row;
	align-items: center;
}

/* .report-body::-webkit-scrollbar,
.report-body::-webkit-scrollbar-thumb {
	display: none;
} */

label {
	margin-bottom: 0.25rem;
}

label.required::after {
	content: " *";
	color: red;
}

.layout-footer-fixed .main-footer {
	bottom: 0;
	left: 0;
	position: fixed;
	right: 0;
	z-index: 1032;
}

.table th {
	text-align: left;
	padding: 0.5rem;
	vertical-align: bottom;
}

.table thead tr.th-span th[colspan]:not([colspan="1"]) {
	text-align: center;
}

.table td {
	padding: 0.5rem;
	vertical-align: middle;
}

table.dataTable td,
table.dataTable th {
	padding: 0.25rem 0.5rem;
	white-space: nowrap;
}

.table td.select-checkbox:before {
	margin-top: -5px !important;
}

table.dataTable {
	margin-top: 0px !important;
}

.table thead th {
	vertical-align: bottom;
	border-bottom: 1px solid #dee2e6;
}

/* table.dataTable tbody tr.selected {
    color: #000;
    background-color: #e9ecef;
}

table.dataTable>tbody>tr.selected>* {
    color: #000;
    background-color: #e9ecef;
} */

/* table.dataTable.table-striped>tbody>tr.odd.selected>* {
    box-shadow: none;
}

table.dataTable.table-striped>tbody>tr.even.selected>* {
    box-shadow: none;
} */

table.dataTable .action-dropdown .dropdown-menu i {
	width: 1.25rem;
}

.card-body.p-0 .table tbody>tr>td:first-of-type,
.card-body.p-0 .table tbody>tr>th:first-of-type,
.card-body.p-0 .table tfoot>tr>td:first-of-type,
.card-body.p-0 .table tfoot>tr>th:first-of-type,
.card-body.p-0 .table thead>tr>td:first-of-type,
.card-body.p-0 .table thead>tr>th:first-of-type {
	padding-left: 1rem;
}

.card-body.p-0 .table tbody>tr>td:last-of-type,
.card-body.p-0 .table tbody>tr>th:last-of-type,
.card-body.p-0 .table tfoot>tr>td:last-of-type,
.card-body.p-0 .table tfoot>tr>th:last-of-type,
.card-body.p-0 .table thead>tr>td:last-of-type,
.card-body.p-0 .table thead>tr>th:last-of-type {
	padding-right: 1rem;
}

/* div.dataTables_wrapper div.dataTables_processing {
    position: absolute;
    top: 0;
    left: 0;
	margin: 0;
	padding: 0;
	padding-top: 25%;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.1);
} */

.datatable-bottom .pagination {
	margin-bottom: 0px !important;
}

table td.row-index {
	width: 24px;
}

.btn-custom {
	min-width: 96px !important;
	max-width: 256px !important;
}

.modal.expandable .modal-dialog {
	transition: all 0.3s ease-in-out;
}

.modal.expandable .modal-dialog .modal-content {
	transition: all 0.3s ease-in-out;
}

.modal.expandable.expand .modal-dialog {
	max-width: 100vw !important;
	width: 100vw !important;
	max-height: 100vh !important;
	height: 100vh !important;
	margin: 0 !important;
	transition: all 0.3s ease-in-out;
}

.modal.expandable.expand .modal-dialog .modal-content {
	max-width: 100vw !important;
	width: 100vw !important;
	max-height: 100vh !important;
	height: 100vh !important;
	margin: 0 !important;
	border-radius: 0px !important;
	transition: all 0.3s ease-in-out;
}

.modal.expandable .modal-footer button {
	min-width: 7rem;
}

.modal[type="static"] {
	overflow: hidden;
}

.modal[type="static"] .modal-body {
	overflow-y: auto;
}

.relative-form {
	position: relative;
}

.relative-form .form-control {
	padding-right: 4rem;
}

.relative-form .btn-float {
	position: absolute;
	left: 0.25rem;
	top: 50%;
	transform: translateY(-50%);
}

.relative-form .char-length {
	position: absolute;
	right: 0.15rem;
	top: 50%;
	transform: translateY(-50%);
	line-height: 1;
	color: var(--gray);
	/* background-color: var(--white); */
	padding: 0.5rem;
	font-size: 0.85rem;
	border-radius: 0.25rem;
}

.relative-form .char-length:disabled,
.relative-form .char-length[readonly] {
	background-color: #e9ecef;
	opacity: 1;
}

.relative-form .char-length.textarea {
	right: 0.15rem;
	top: 0.15rem;
	transform: none;
}

.relative-form .btn-abs {
	position: absolute;
	right: 0;
	top: 0;
}

.ellipsis {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	line-height: normal;
}

.treeselect-wrapper>select {
	position: absolute !important;
	bottom: 0;
	left: 50%;
	display: block !important;
	width: .5px !important;
	height: 100% !important;
	padding: 0 !important;
	opacity: 0 !important;
	border: none;
	z-index: 0 !important;
}

.treeselect-wrapper>.dropdown-toggle {
	position: relative;
	width: 100%;
	text-align: right;
	white-space: nowrap;
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.treeselect-wrapper .dropdown-menu {
	padding-top: 0px;
	max-height: 300px;
	overflow: hidden;
	overflow-y: auto;
	min-width: 100%;
	max-width: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.treeselect-searchbox {
	background-color: #ffffff;
	position: sticky;
	top: 0;
	z-index: 1;
	border-bottom: 1px solid #dee2e6;
}

.treeselect-wrapper>.dropdown-toggle.bs-placeholder,
.treeselect-wrapper>.dropdown-toggle.bs-placeholder:active,
.treeselect-wrapper>.dropdown-toggle.bs-placeholder:focus,
.treeselect-wrapper>.dropdown-toggle.bs-placeholder:hover {
	color: #999;
}

.treeselect-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: .5rem .75rem;
	margin-bottom: 0;
	font-size: 1rem;
	color: inherit;
	background-color: #f7f7f7;
	border-bottom: 1px solid #ebebeb;
	border-top-left-radius: calc(.3rem - 1px);
	border-top-right-radius: calc(.3rem - 1px);
}

.treeselect-wrapper .dropdown-item {
	padding: .5rem 1rem;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	line-height: normal;
}

.treeselect-wrapper .dropdown-item.parent::after {
	content: "\f054";
	font-weight: 600;
	font-family: "Font Awesome 6 Free";
	font-size: 0.85rem;
	position: absolute;
	right: 0;
	margin-right: 1rem;
	margin-top: 0.15rem;
}

.treeselect-wrapper .dropdown-item.parent-back {
	padding-left: 2.5rem;
}

.treeselect-wrapper .dropdown-item.parent-back::before {
	content: "\f053";
	font-weight: 600;
	font-family: "Font Awesome 6 Free";
	font-size: 0.85rem;
	position: absolute;
	left: 0;
	margin-left: 1rem;
	margin-top: 0.15rem;
}

.dropdown-item:hover {
	background-color: #eef2f8;
}

.dropdown-item.active:hover,
.dropdown-item:active:hover {
	color: #fff;
	text-decoration: none;
	background-color: #007bff;
}

@media (min-width: 576px) {
	.modal[type="static"] .modal-content {
		height: calc(100vh - 3.5rem);
	}
}

@media (max-width: 576px) {
	.modal[type="static"] .modal-content {
		height: 100vh;
	}

	.datatable-bottom {
		justify-content: center !important;
		gap: 6px;
	}

	/* .sub-wrap {
		flex-direction: column;
		padding: 1rem !important;
	} */

	/* .sub-sidebar {
		width: 100%;
		height: 0px;
		margin-bottom: 12px;
		border: 1px solid rgba(0, 0, 0, 0.125);
		transition: height 0.3s ease-in-out;
	} */

	.sub-sidebar.shown {
		width: 100%;
		/* height: auto; */
	}

	.sub-sidebar.shown~.sub-content {
		display: none;
	}

	.sub-content {
		/* padding: 0px !important; */
		padding: 0.5rem !important;
		display: flex;
	}

	.right-modal .modal-dialog {
		min-width: 100%;
		max-width: 100%;
	}

	.left-modal .modal-dialog {
		min-width: 100%;
		max-width: 100%;
	}
}

#modal-entry {
	overflow: hidden;
}

#modal-entry .modal-body {
	overflow-y: auto;
}

@media (min-width: 576px) {
	#modal-entry .modal-content {
		height: calc(100vh - 3.5rem);
	}
}

@media (max-width: 576px) {
	#modal-entry .modal-content {
		height: 100vh;
	}
}

*::-webkit-scrollbar,
body::-webkit-scrollbar,
.modal-body::-webkit-scrollbar,
.dataTables_scrollBody::-webkit-scrollbar {
	width: 0.75rem;
	height: 0.75rem;
	/* background-color: #f4f6f9; */
}

.dropzone {
	border: 2px dashed #ced4da;
	transition: all 0.3s;
	cursor: pointer;
}

.dropzone:hover {
	border-color: #6c757d;
	background-color: #f8f9fa;
}

.dropzone.active {
	border-color: #007bff;
	background-color: #e7f3ff;
}

.file-preview {
	margin-top: 10px;
}

.file-item {
	display: flex;
	align-items: center;
	padding: 8px;
	border-bottom: 1px solid #eee;
}

.file-item:last-child {
	border-bottom: none;
}