/* 
* ---------------------------------]
* ---------------------------[ ALL ]
* ---------------------------------]
*/

:root {
	--shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
	--page-menu-width: 300px;
	--wrapper-header-height: 60px;
	--wrapper-footer-height: 40px;
}

/*
* ::: Custom scrollbar
*/

::-webkit-scrollbar {
	width: 6px;
}

::-webkit-scrollbar-track {
	background: var(--color-custom-primary);
}

::-webkit-scrollbar-thumb {
	background: var(--color-custom-secondary);
}

::-webkit-scrollbar-thumb:hover {
	background: var(--color-custom-tertiary);
}

/*
*	::: Buttons
*/

.btns-actions {
	position: fixed;
	bottom: 0;
	right: calc(var(--bs-gutter-x) * .5 + 3rem) !important;
}

/*
*	::: TinyMCE
*/

.tox-tinymce {
	border-top-right-radius: var(--bs-border-radius)!important;
	border-bottom-right-radius: var(--bs-border-radius)!important;
}

.tox-tinymce + label {
	display: none;
}

/*
*	::: Form
*/

.toast-body {
	background-color: var(--bs-body-bg);
	border-bottom-left-radius: var(--bs-border-radius);
	border-bottom-right-radius: var(--bs-border-radius);
}

.toast-header {
	border-bottom: 0px !important;
}

/*
*	::: Form
*/

:-webkit-autofill {
	background-color: transparent !important;
	color: inherit !important;
	border: 1px solid #ccc !important;
	box-shadow: 0 0 0 1000px #ffffff inset !important;
	z-index: 0 !important;
}

input[type='color'] {
	padding: 0px !important;
}

.input-group.is-invalid .input-group-text, 
.input-group.is-invalid .form-floating input, 
.input-group.is-invalid .tox,
.input-group.is-invalid .form-control,
.input-group.is-invalid select,
.input-group.is-invalid .CodeMirror {
	border: 1px solid var(--bs-danger) !important;
}

.CodeMirror {
	width: calc( 100% - 45px) !important;
	border: var(--bs-border-width) solid var(--bs-border-color);
	min-height: 250px;
	height: auto;
	border-top-right-radius: var(--bs-border-radius)!important;
	border-bottom-right-radius: var(--bs-border-radius)!important;
}

.odd {
	background-color: rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity)) !important;
	border-radius: var(--bs-border-radius);
}

.even {
	background-color: rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity)) !important;
	border-radius: var(--bs-border-radius);
}

.list-modules .mb-3:last-child {
	margin-bottom: 0px !important;
}

.pretty .state label.text-danger:before {
	border-color: var(--bs-danger)
}

.page-menu-modules .pretty {
	margin: 4px 0px !important;
}

.page-menu-modules .pretty:hover label {
	font-weight: bold;
}

.page-menu-modules .pretty label {
	padding-left: 2px !important;
}

/*
*	::: SimpleBar
*/

.simplebar-mask {
	border-radius: var(--bs-border-radius)!important;
}

/*
*	::: Page
*/

#wrapper-header {
	position: fixed;
	height: var(--wrapper-header-height);
	width: 100%;

	.img-user-avatar {
		width: 50px;
		height: 50px;
		object-fit: cover;
	}
}

#wrapper-content {
	@media (max-width: 992px) {
		.page-menu {
			position: fixed !important;
			z-index: 9 !important;
			width: 100% !important;
			top: 0 !important;
			height: 100% !important;
			max-height: 100% !important;
		}

		.page-content {
			margin-left: auto !important;
			padding-top: calc(var(--wrapper-header-height) + 2rem * .4) !important;
		}
	}

	.page-menu {
		position: fixed;
		top: calc(var(--wrapper-header-height) + 6rem * .5);
		width: var(--page-menu-width);
		max-height: calc(100% - calc(var(--wrapper-header-height) + 6rem * .4) - var(--wrapper-header-height) - var(--wrapper-footer-height));
	}

	.page-content {
		position: relative;
		margin-left: var(--page-menu-width);
		min-height: 100vh;
		-webkit-transition: all .25s ease-in-out;
		transition: all .25s ease-in-out;
		padding-top: calc(var(--wrapper-header-height) + 6rem * .5);
		margin-bottom: calc(var(--wrapper-header-height) + 6rem * .5);;
	}
}

#wrapper-footer {
	position: fixed;
	height: var(--wrapper-footer-height);
	width: 100%;
}

#wrapper-login {
	.page-content {
		position: relative;
		min-height: 100vh;
		-webkit-transition: all .25s ease-in-out;
		transition: all .25s ease-in-out;
	}
}

/*
*	::: Menu
*/

.page-menu-close {
	position: fixed;
	left: 8px;
	top: 11px;
}

.page-menu-header {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
}

.page-menu-modules .submenu-li {
	border-left: 1px solid var(--bs-border-color);
	margin-left: 20px;
	padding-left: 10px;
	position: relative;
}

.page-menu-modules .submenu-li::after {
	content: ' ';
	border-bottom: 1px solid var(--bs-border-color);
	position: absolute;
	width: 20px;
	left: 0;
	bottom: 24px;
}

.page-menu-modules .submenu-li:last-child {
	border-left: none;
}

.page-menu-modules .submenu-li:last-child::before {
	content: '';
	position: absolute;
	left: 0px;
	top: 0px;
	width: 0.5px;
	height: 53%;
	background-color: var(--bs-border-color);
}

.btn-toggle-menu .bi-chevron-right {
	transition: transform 0.3s ease; 
}

.btn-toggle-menu .bi-chevron-right.rotate-down::before {
	content: "\f285"; 
	transition: transform 0.3s ease; 
	transform: rotate(90deg); 
}

.btn-toggle-menu:hover {
	font-weight: bold;
}

.btn-toggle-submenu:hover {
	font-weight: bold;
}

.menu-li:has(.list-submenu:hover) .btn-toggle-menu {
	font-weight: bold;
}

.menu-li.active .btn-toggle-menu {
	font-weight: bold;
}

.submenu-li.active .btn-toggle-submenu {
	font-weight: bold;
}

/*
* ::: Cards
*/

.card-body div.mb-3:last-child {
	margin-bottom: 0 !important;
}

.card-body.img-preview {
	background-color: var(--bs-gray-500);
}

.card-footer {
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
}

.card-descriptions {
	width: 100%;
}

.card-descriptions p {
	width: 100%;
	border-radius: var(--bs-border-radius)!important;
}

.card-descriptions p:nth-child(odd) {
	background-color: rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity)) !important;
}

.card-descriptions p:nth-child(even) {
	background-color: rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity)) !important;
}

.card-descriptions .mb-2:last-child {
	margin-bottom: 0px !important;
}

/*
* ::: Pagination loading content
*/

.skeleton-loader {
	width: 100%;
}

.skeleton-line {
	height: 12px;
	background-color: #e0e0e0;
	border-radius: 4px;
	margin-bottom: 10px;
	position: relative;
	overflow: hidden;
}

.skeleton-line:last-child {
	margin-bottom: 0px;
}

.skeleton-line::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent);
	animation: loading 1.5s infinite;
}

@keyframes loading {
	0% {
		left: -100%;
	}
	100% {
		left: 100%;
	}
}

/*
* ::: Full page loading
*/

.pace .pace-progress {
	background: var(--color-custom-primary);
	height: 5px;
}

.spiner {
	position: fixed;
	z-index: 99999;
	top: 0;
	left: 0;
	text-align: center;
	width: 100%;
	height: 100vh;
	font-size: 32px;
	font-weight: bold;
	background-color: var(--color-custom-primary);
	padding-top: 0px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.spiner .loader,
.spiner .loader:after {
	border-radius: 50%;
	width: 12em;
	height: 12em;
}

.spiner .loader {
	margin: auto;
	font-size: 15px;
	position: relative;
	text-indent: -9999em;
	border-top: 0.3em solid var(--color-custom-secondary);
	border-right: 0.3em solid var(--color-custom-white);
	border-bottom: 0.3em solid var(--color-custom-white);
	border-left: 0.3em solid var(--color-custom-white);
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation: load8 1.1s infinite linear;
	animation: load8 1.1s infinite linear;
}

@-webkit-keyframes load8 {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@keyframes load8 {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

/*
* ::: pagination
*/

.pagination-item {
	.card-img {
		max-width: 150px;
		height: 150px;
	}

	.card-img {
		max-width: 150px;
		height: 150px;
		display: flex;
		background: var(--bs-card-cap-bg);
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: center;
		font-size: 42px;
		border: var(--bs-bor);
	}

	.card-actions {
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		justify-content: center;
		min-width: 250px;
		align-items: flex-end;
		align-content: flex-end;
	}

	.card-header {
		.card-header-actions ul li:last-child {
			margin-bottom: 0px !important;
		}

		.card-header-actions .dropdown-menu {
			min-width: 20rem;
		}
	}
}

.pagination-pages {
	margin-bottom: 45px;
}

.btn-pagination {
	width: 50px;
	height: 50px;
	margin: 5px;
}

/*
* ::: Toogle Menu
*/

#menu-toggle {
	display: flex;
	cursor: pointer;
	justify-content: center;
	align-items: center;
	font-weight: bold;
	background: rgb(243 243 244);
	border-radius: 8px;
	padding: 6px 16px;
	border: 1px solid #dddddd;
}

#menu-toggle:hover {
	background: #dddddd;
	border: 1px solid #dddddd;
}

/*
* ::: Floating Menu
*/

.floating-menu {
	position: fixed;
	bottom: -100%;
	left: 50%;
	transform: translateX(-50%);
	width: 90%;
	max-width: 600px;
	max-height: 80vh;
	border: 1px solid #c1c1c1;
	background-color: #f3f3f4;
	box-shadow: 0 2px 2px 0 var(--shadow);
	border-radius: 8px;
	transition: bottom 0.3s ease;
	z-index: 1000;
	overflow-y: auto;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: center;
	align-items: stretch;
	padding: 15px;
	justify-content: center;
	gap: 15px;
}

.floating-menu.active {
	bottom: 60px; 
}

.floating-menu .floating-menu-title {
	width: 100%;
	background: #ffffff;
	border: 1px solid #ddd;
	border-radius: 8px;
	margin: 0px 8px;
	padding: 8px;
	text-align: center;
	color: var(--bs-card-color);
	font-size: 22px;
	font-weight: bold;
}

.floating-menu .card {
	cursor: pointer;
	border: 1px solid #ddd;
	border-radius: 8px;
	min-height: 120px;
	height: 100%;
	max-width: calc(25% - 15px);
	flex: 1 1 calc(25% - 15px);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
}

.floating-menu .card .card-title {
	font-size: 28px;
}

.floating-menu .card .card-body {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 12px;
}

.floating-menu .card:not(.d-none):nth-child(1):nth-last-child(-n+4),
.floating-menu .card:not(.d-none):nth-child(2):nth-last-child(-n+4),
.floating-menu .card:not(.d-none):nth-child(3):nth-last-child(-n+4),
.floating-menu .card:not(.d-none):nth-child(4):nth-last-child(-n+4) {
	margin-bottom: 0;
}

.floating-menu-back-button {
	cursor: pointer;
	padding: 10px;
	background-color: #f8f9fa;
	border: 1px solid #ddd;
	border-radius: 8px;
	text-align: center;
	font-weight: bold;
}

.floating-menu-back-button:hover {
	background-color: #e9ecef;
}

/*
* Gallery
*/

.gallery-preview {
	.col-2.mb-4:last-child {
		margin-bottom: 0px !important;
	}
	
	.img {
		padding: 15px;
		border: 1px solid var(--bs-border-color);
		border-radius: var(--bs-border-radius);
		background-color: var(--bs-body-bg);
	}

	.img-header {
		width: 100%;
		max-height: 250px;
		height: 250px;
		background: var(--bs-border-color);
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: center;
		align-items: center;
	}

	.img .input-group.mb-3:last-child {
		margin-bottom: 0px !important;
	}

	.img img {
		max-height: 175px;
		object-fit: scale-down;
	}

	.img .delete-img {
		height: 100%;
		max-height: 100%;
		width: 250px;
		max-width: 250px;
		background: var(--bs-border-color);
		padding: 25px;
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: center;
		align-items: center;
	}
}

/* 
* ---------------------------------]
* -----------------------[ BUTTONS ]
* ---------------------------------]
*/

.btn:not(.btn-toggle-menu):not(.btn-toggle-submenu) {
	text-transform: uppercase;
}

.btn-primary {
	background-color: var(--color-custom-primary);
	border: 1px solid var(--color-custom-primary);
	color: var(--bs-white);
}

.btn-primary:hover {
	background-color: transparent;
	border: 1px solid var(--color-custom-primary);
	color: var(--color-custom-primary);
}

.btn-secondary {
	background-color: var(--color-custom-secondary);
	border: 1px solid var(--color-custom-secondary);
	color: var(--bs-white);
}

.btn-secondary:hover {
	background-color: transparent;
	border: 1px solid var(--color-custom-secondary);
	color: var(--color-custom-secondary);
}

.btn.btn-secondary.show {
	background-color: transparent;
	border: 1px solid var(--color-custom-secondary);
	color: var(--color-custom-secondary);
}

.btn-success {
	background-color: var(--color-custom-secondary);
	border: 1px solid var(--color-custom-secondary);
	color: var(--bs-white);
}

.btn-success:hover {
	background-color: transparent;
	border: 1px solid var(--color-custom-secondary);
	color: var(--color-custom-secondary);
}

.btn-warning {
	background-color: var(--bs-warning);
	border: 1px solid var(--bs-warning);
	color: var(--bs-white);
}

.btn-warning:hover {
	background-color: transparent;
	border: 1px solid var(--bs-warning);
	color: var(--bs-warning);
}

.btn-danger {
	background-color: var(--bs-danger);
	border: 1px solid var(--bs-danger);
	color: var(--bs-white);
}

.btn-danger:hover {
	background-color: transparent;
	border: 1px solid var(--bs-danger);
	color: var(--bs-danger);
}

/* 
* ---------------------------------]
* ---------------------------[ END ]
* ---------------------------------]
*/