/*	–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
	CLASSES.CSS
	––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */

/**
 * VISIOFRAMEWORK
 * This file is part of VISIOFRAMEWORK.
 * @package		visioframework
 * @author		Agência Visio <contato@agenciavisio.com.br>
 * @copyright	Copyright (c) 2023-present. M. Souza & Souza LTDA. (CNPJ: 21.284.748/0001-33). All rights reserved.
 * @license		Proprietary
 * @link		https://www.agenciavisio.com.br
 */

/*	BUG FIX
	The native Bootstrap modal backdrop is not subject to its parent modal's platform CSS classes, often appearing across platforms as a result.
	This hides the modal backdrop altogether, allowing for a fake backdrop to be used instead.
 */
.modal-backdrop {
	display: none !important;
}

.modal-content {
	border-radius: 0;
}

.modal-header, .modal-body, .modal-footer {
	border: none;
}

.modal-footer {
	border-left		: none	!important;
	border-right	: none	!important;
	border-bottom	: none	!important;
}

.trait-button {
	cursor: pointer !important;
}

.form-switch .form-check-input {
	--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e");
}

.form-control:focus {
	outline: 3px solid #39ada7;
};

.input-group.col-auto {
	flex: 0 0 auto;
	width: auto;
}

.input-group.col-1 {
	flex: 0 0 auto;
	width: 8.33333333%;
}

.input-group.col-2 {
	flex: 0 0 auto;
	width: 16.66666667%;
}

.input-group.col-3 {
	flex: 0 0 auto;
	width: 25%;
}

.input-group.col-4 {
	flex: 0 0 auto;
	width: 33.33333333%;
}

.input-group.col-5 {
	flex: 0 0 auto;
	width: 41.66666667%;
}

.input-group.col-6 {
	flex: 0 0 auto;
	width: 50%;
}

.input-group.col-7 {
	flex: 0 0 auto;
	width: 58.33333333%;
}

.input-group.col-8 {
	flex: 0 0 auto;
	width: 66.66666667%;
}

.input-group.col-9 {
	flex: 0 0 auto;
	width: 75%;
}

.input-group.col-10 {
	flex: 0 0 auto;
	width: 83.33333333%;
}

.input-group.col-11 {
	flex: 0 0 auto;
	width: 91.66666667%;
}

.input-group.col-12 {
	flex: 0 0 auto;
	width: 100%;
}

.success-icon-wrapper {
	height			: 7rem	!important;
	width			: 7rem	!important;
	max-height		: 100%	!important;
	max-width		: 100%	!important;
	border-radius	: 4rem	!important;
}

.success-icon {
	font-size: 5rem !important;
}

@media (min-width: 576px) {
	.success-icon-wrapper {
		height			: 15rem	!important;
		width			: 15rem	!important;
		max-height		: 100%	!important;
		max-width		: 100%	!important;
		border-radius	: 15rem	!important;
	}

	.success-icon {
		font-size: 10rem !important;
	}
}

/* Override autofill style */
	input:-webkit-autofill,
	input:-webkit-autofill:hover, 
	input:-webkit-autofill:focus, 
	input:-webkit-autofill:active{
		-webkit-text-fill-color	: black !important;
	}

	.form-control:-webkit-autofill~label {
		color: black !important;
	}

body {
  font-family: var(--font-family-1, sans-serif);
}

a {
	color			: inherit;
	text-decoration	: none;
}

.image {
	height: auto;
}

p:last-child,
ul:last-child,
li:last-child {
	margin-bottom: 0;
}

.container-fluid {
	--bs-gutter-x: 0 !important;
}

.overflow-ellipsis {
	overflow		: hidden	!important;
	text-overflow	: ellipsis	!important;
}

/* #region		BOOTSTRAP OVERRIDES */
	
	.start-10 {
		left: 10% !important;
	}

	.start-20 {
		left: 20% !important;
	}

	.start-30 {
		left: 30% !important;
	}

	.start-40 {
		left: 40% !important;
	}

	.start-60 {
		left: 60% !important;
	}

	.start-70 {
		left: 70% !important;
	}

	.start-80 {
		left: 80% !important;
	}
	
	.start-90 {
		left: 90% !important;
	}

	.end-10 {
		right: 10% !important;
	}

	.end-20 {
		right: 20% !important;
	}

	.end-30 {
		right: 30% !important;
	}

	.end-40 {
		right: 40% !important;
	}

	.end-60 {
		right: 60% !important;
	}

	.end-70 {
		right: 70% !important;
	}

	.end-80 {
		right: 80% !important;
	}
	
	.end-90 {
		right: 90% !important;
	}
	
	.top-10 {
		top: 10% !important;
	}

	.top-20 {
		top: 20% !important;
	}

	.top-30 {
		top: 30% !important;
	}

	.top-40 {
		top: 40% !important;
	}

	.top-60 {
		top: 60% !important;
	}

	.top-70 {
		top: 70% !important;
	}

	.top-80 {
		top: 80% !important;
	}
	
	.top-90 {
		top: 90% !important;
	}
	
	.bottom-10 {
		bottom: 10% !important;
	}

	.bottom-20 {
		bottom: 20% !important;
	}

	.bottom-30 {
		bottom: 30% !important;
	}

	.bottom-40 {
		bottom: 40% !important;
	}

	.bottom-60 {
		bottom: 60% !important;
	}

	.bottom-70 {
		bottom: 70% !important;
	}

	.bottom-80 {
		bottom: 80% !important;
	}
	
	.bottom-90 {
		bottom: 90% !important;
	}

	.card {
		border: none;
	}

	.h-0 {
		height: 0 !important;
	}

	.h-33 {
		height: 33.3% !important;
	}

	.h-66 {
		height: 66.6% !important;
	}

	.vh-10 {
		height: 10vh !important;
	}

	.vh-20 {
		height: 20vh !important;
	}

	.vh-30 {
		height: 30vh !important;
	}

	.vh-40 {
		height: 40vh !important;
	}

	.vh-60 {
		height: 60vh !important;
	}

	.vh-70 {
		height: 70vh !important;
	}

	.vh-80 {
		height: 80vh !important;
	}
	
	.vh-90 {
		height: 90vh !important;
	}
	
	.w-0 {
		width: 0 !important;
	}

	.w-10 {
		width: 10% !important;
	}

	.w-20 {
		width: 20% !important;
	}

	.w-30 {
		width: 30% !important;
	}

	.w-33 {
		width: 33.3% !important;
	}

	.w-40 {
		width: 40% !important;
	}

	.w-50 {
		width: 50% !important;
	}

	.w-60 {
		width: 60% !important;
	}

	.w-66 {
		width: 66.6% !important;
	}

	.w-70 {
		width: 70% !important;
	}

	.w-80 {
		width: 80% !important;
	}

	.w-90 {
		width: 90% !important;
	}

	.vw-10 {
		width: 10vw !important;
	}

	.vw-20 {
		width: 20vw !important;
	}

	.vw-25 {
		width: 25vw !important;
	}

	.vw-30 {
		width: 30vw !important;
	}

	.vw-33 {
		width: 33.3vw !important;
	}

	.vw-40 {
		width: 40vw !important;
	}

	.vw-50 {
		width: 50vw !important;
	}

	.vw-60 {
		width: 60vw !important;
	}

	.vw-66 {
		width: 66.6vw !important;
	}

	.vw-70 {
		width: 70vw !important;
	}

	.vw-75 {
		width: 75vw !important;
	}

	.vw-80 {
		width: 80vw !important;
	}

	.vw-90 {
		width: 90vw !important;
	}

	.vh-25 {
		height: 25vh !important;
	}

	.vh-33 {
		height: 33vh !important;
	}

	.vh-50 {
		height: 50vh !important;
	}

	.vh-66 {
		height: 66vh !important;
	}

	.vh-75 {
		height: 75vh !important;
	}
	
	.dropdown-menu[data-bs-popper] {
		left	: inherit;
		top		: inherit;
	}

	.blur-1 {
		filter: blur(var(--blur-1))	!important;
	}

	.blur-2 {
		filter: blur(var(--blur-2))	!important;
	}

	.blur-3 {
		filter: blur(var(--blur-3))	!important;
	}

	.blur-4 {
		filter: blur(var(--blur-4)) !important;
	}

	.blur-5 {
		filter: blur(var(--blur-5)) !important;
	}

	/*	Frosted glass. `saturate` compensates the wash-out blur alone causes;
		`-webkit-` is Safari-only — Chrome flags it unknown in DevTools, harmlessly.
		Ancestor `filter`/`opacity`/`mix-blend-mode` silently kills the effect. */

	.frost-1 {
		-webkit-backdrop-filter	: blur(var(--blur-1)) saturate(160%)	!important;
		backdrop-filter			: blur(var(--blur-1)) saturate(160%)	!important;
	}

	.frost-2 {
		-webkit-backdrop-filter	: blur(var(--blur-2)) saturate(160%)	!important;
		backdrop-filter			: blur(var(--blur-2)) saturate(160%)	!important;
	}

	.frost-3 {
		-webkit-backdrop-filter	: blur(var(--blur-3)) saturate(160%)	!important;
		backdrop-filter			: blur(var(--blur-3)) saturate(160%)	!important;
	}

	.frost-4 {
		-webkit-backdrop-filter	: blur(var(--blur-4)) saturate(160%)	!important;
		backdrop-filter			: blur(var(--blur-4)) saturate(160%)	!important;
	}

	.frost-5 {
		-webkit-backdrop-filter	: blur(var(--blur-5)) saturate(160%)	!important;
		backdrop-filter			: blur(var(--blur-5)) saturate(160%)	!important;
	}

	.dropdown-item, .dropdown-item.active, .dropdown-item:active, .dropdown-item:focus {
		background-color	: transparent	!important;
		color				: inherit		!important;
	}

	.offcanvas {
		position	: fixed !important;
		z-index		: 999	!important;
		flex-wrap	: wrap	!important;
	}
	
	.spinner-border-1 {
		--bs-spinner-width			: 1rem;
		--bs-spinner-height			: 1rem;
		--bs-spinner-border-width	: 0.2em;
	}
	
	.spinner-border-2 {
		--bs-spinner-width			: 1.5rem;
		--bs-spinner-height			: 1.5rem;
		--bs-spinner-border-width	: 0.25em;
	}
	
	.spinner-border-3 {
		--bs-spinner-width			: 2rem;
		--bs-spinner-height			: 2rem;
		--bs-spinner-border-width	: 0.3em;
	}
	
	.spinner-border-4 {
		--bs-spinner-width			: 2.5rem;
		--bs-spinner-height			: 2.5rem;
		--bs-spinner-border-width	: 0.35em;
	}
	
	.spinner-border-5 {
		--bs-spinner-width			: 3rem;
		--bs-spinner-height			: 3rem;
		--bs-spinner-border-width	: 0.4em;
	}
	
	.spinner-grow-1 {
		--bs-spinner-width	: 1rem;
		--bs-spinner-height	: 1rem;
	}
	
	.spinner-grow-2 {
		--bs-spinner-width	: 1.5rem;
		--bs-spinner-height	: 1.5rem;
	}
	
	.spinner-grow-3 {
		--bs-spinner-width	: 2rem;
		--bs-spinner-height	: 2rem;
	}
	
	.spinner-grow-4 {
		--bs-spinner-width	: 2.5rem;
		--bs-spinner-height	: 2.5rem;
	}
	
	.spinner-grow-5 {
		--bs-spinner-width	: 3rem;
		--bs-spinner-height	: 3rem;
	}

	.valid-tooltip, .invalid-tooltip {
		position: absolute !important;
	}

	.nav.nav-tabs {
		border-top		: none	!important;
		border-left		: none	!important;
		border-right	: none	!important;
	}

	.nav-tabs .nav-link {
		border-bottom-left-radius	: 0px 	!important;
		border-bottom-right-radius	: 0px 	!important;
		transition					: none	!important;
	}

	.nav-tabs .nav-link.active {
		border-bottom: none !important;
	}

	.nav-tabs .nav-link:not(.active) {
		border				: none			!important;
		background-color	: transparent	!important;
	}

	.nav-tabs .nav-link:not(.active) {
		opacity: 33.3% !important;
	}

	.nav-tabs .nav-link:not(.active):hover {
		opacity: 66.6% !important;
	}

	.tab-content {
		border-top				: none	!important;
		border-top-left-radius	: 0px	!important;
		border-top-right-radius	: 0px	!important;
	}

	.input-group:not([class*=col]) {
		--bs-gutter-y: 0 !important;
	}

/* #endregion   BOOTSTRAP OVERRIDES */

/* #region		TOGGLERS */

[class*='skin-toggler-'].btn {
	border	: none;
	color	: inherit;
}

/*	#endregion	TOGGLERS */

/*	FANCYBOX */
.is-nav-selected .f-thumbs__slide__button::after {
	border			: none		!important;
	border-radius	: 0px		!important;
}

.f-thumbs__slide__button {
	border-radius: 0px	!important;
}

.f-thumbs__slide.for-image.is-selected:not(:hover) {
	opacity	: 50%	!important;
}

.f-thumbs__slide.for-image.is-selected:hover {
	opacity: 75% !important;
}

.f-thumbs__slide.for-image.is-selected.is-nav-selected {
	opacity	: 100%	!important;
	cursor	: default	!important;
}

.is-nav-selected .f-thumbs__slide__button {
	cursor: default !important;
}

.rc-anchor-normal-footer {
	display: none !important;
}

.grecaptcha-badge { 
	visibility: hidden; 
}

/*	#region		SELECTOR & MULTISELECTOR */
	.selector,
	.multiselector {
		width: 100% !important;
	}

	.selector-dropdown,
	.multiselector-dropdown {
		width		: 100%		!important;
		border		: 1px solid rgb(169, 169, 169)		!important;
		box-shadow	: 1px 40px 40px rgba(0, 0, 0, .10) !important;
	}

	.selector-toggler,
	.multiselector-toggler {
		cursor			: default;
		text-overflow	: ellipsis	!important;
		width			: 100%		!important;
	}

	.selector-input-fake,
	.multiselector-input-fake,
	.datetime-input-fake {
		cursor			: default	!important;
		overflow		: hidden	!important;
		text-align		: left		!important;
		text-overflow	: ellipsis	!important;
		white-space		: nowrap	!important;
	}

	.selector-dropdown .form-check,
	.multiselector-dropdown .form-check {
		padding-left	: 2.5rem	!important;
		padding-right	: 2.5rem	!important;
		color			: black;
	}

	.selector-dropdown .form-check:hover,
	.multiselector-dropdown .form-check:hover {
		background-color	: var(--bs-primary) !important;
		color				: white !important;
	}

	.selector-dropdown .dropdown-item,
	.multiselector-dropdown .form-check-label {
		width: 100% !important;
		user-select: none;
	}

	.selector-dropdown .form-check-input {
		pointer-events: none !important;
	}

	.selector-item {
		cursor: default !important;
	}

/*	#endregion	SELECTOR & MULTISELECTOR */