:root {
	--bs-white: #fff;
	--bs-gray: #69707a;
	--bs-gray-dark: #363d47;
	--bs-gray-100: #f2f6fc;
	--bs-gray-200: #e0e5ec;
	--bs-gray-300: #d4dae3;
	--bs-gray-400: #c5ccd6;
	--bs-gray-500: #a7aeb8;
	--bs-gray-600: #69707a;
	--bs-gray-700: #4a515b;
	--bs-gray-800: #363d47;
	--bs-gray-900: #212832;
}

html {
	width: 100%;
}

body {
	overflow-x: hidden !important;
}

body.show-spinner > main {
	overflow: hidden !important;
}

body.show-spinner > * {
	opacity: 0;
}

body.show-spinner::after {
	content: " ";
	display: inline-block;
	width: 30px;
	height: 30px;
	border: 2px solid rgba(0, 0, 0, 0.2);
	border-radius: 50%;
	border-top-color: rgba(0, 0, 0, 0.3);
	animation: spin 1s ease-in-out infinite;
	-webkit-animation: spin 1s ease-in-out infinite;
	left: calc(50% - 15px);
	top: calc(50% - 15px);
	position: fixed;
	z-index: 1;
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

@-webkit-keyframes spin {
	to {
		-webkit-transform: rotate(360deg);
	}
}

::-webkit-scrollbar {
	width: 7px;
}

::-webkit-scrollbar-track {
	background-color: var(--bs-gray-200);
	border-radius: 5px;
}

::-webkit-scrollbar-thumb {
	border-radius: 5px;
	/* border: 5px solid transparent; */
	background-clip: content-box;
	background-color: var(--bs-gray-400);
}

::-webkit-scrollbar-thumb:hover {
	background-color: var(--bs-gray-500);
}

.table-responsive {
	height: 600px;
	overflow: auto;
}

.fix {
	background: #f3f3f3;
	position: sticky;
	left: -4px;
	z-index: 2;
}

.fix-all {
	background: #f3f3f3;
	position: sticky;
	left: -4px;
	bottom: -4px;
	top: -4px;
	z-index: 4;
}

.fix-top {
	padding: 5px 10px;
	background: #f3f3f3;
	position: -webkit-sticky;
	position: sticky;
	top: -4px;
	z-index: 3;
}

.fix-top-2 {
	padding: 5px 10px;
	background: #f3f3f3;
	position: -webkit-sticky;
	position: sticky;
	top: 25px;
	z-index: 3;
}

.fix-bottom {
	background: #f3f3f3;
	position: sticky;
	bottom: -4px;
	z-index: 3;
}
