:root {
	--white: #FFFFFF;
	--black: #000000;
	--grey-50: #F9FAFB;
	--grey-200: #F4F5F7;
	--grey-300: #E6E7E9;
	--grey-400: #C3C4C6;
	--line-color: #E6E7E9;

	--icon-light: #A4A7AE;
	--icon-dark: #34514A;

	--text-light: #717680;
	--text-dark: #181D27;

	--lime-50: #FCFDF8;
	--lime-300: #F4F9E8;
	--lime-400: #94C11F;
	--lime-600: #769A19;

	--red-50: #FEF3F2;
	--red-400: #FDA29B;
	--red-500: #D92D20;
	--red-600: #B42318;

	--alert-red-50: #FCEEED;
	--alert-red-100: #F6C2C0;
	--alert-red-500: #FF4D4D;
	
	--alert-yellow-50: #FFFCF2;
	--alert-yellow-100: #EED48E;
	--alert-yellow-500: #FFBC02;
	--alert-yellow-600: #D9A002;

	--alert-orange-50: #FFF5EB;
	--alert-orange-100: #FFCA96;
	--alert-orange-500: #FF8102;
	--alert-orange-600: #D96E02;

	--alert-blue-50: #EAEDFA;
	--alert-blue-100: #C3CCF0;
	--alert-blue-500: #2848C8;
	--alert-blue-600: #223DAA;
	
	--alert-green-50: #F3FBF8;
	--alert-green-100: #C4E6D6;
	--alert-green-500: #079455;

	--bs-border-color: var(--grey-300);
	
	/* TEXT COLORS */
	--bs-light: var(--text-light);
	--bs-dark: var(--text-dark);

	/* BUTTON COLORS */
	--primary-btn-bg: var(--lime-400);
	--primary-btn-bg-hover: var(--lime-600);
	--primary-btn-border: var(--lime-400);
	--primary-btn-text: var(--white);

	--secondary-btn-bg: var(--white);
	--secondary-btn-bg-hover: var(--grey-200);
	--secondary-btn-border: var(--grey-300);
	--secondary-btn-text: var(--text-dark);
	--secondary-btn-text-hover: var(--text-dark);

	--bs-form-valid-color: var(--lime-400);
    --bs-form-valid-border-color: var(--lime-400);
    --bs-form-invalid-color: var(--alert-red-500);
    --bs-form-invalid-border-color: var(--alert-red-500);
}

body {
	font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
}

.hidden {
	display: none !important;
}

a {
	color: var(--text-dark);
	text-decoration: none;
	font-family: inherit;
	transition: color .2s ease, text-decoration .2s ease;
}

a:hover {
	color: var(--lime-400);
}

a.hover-underline:hover {
	text-decoration: underline;
}

a.primary-link {
	color: var(--lime-400);
}

a.primary-link:hover {
	text-decoration: underline;
	color: var(--lime-600);
}

.text-overflow {
	overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
	max-width: 200px;
}

.text-truncate-2 {
	display: -webkit-box;
  	-webkit-line-clamp: 2;   /* Number of lines */
  	-webkit-box-orient: vertical;
  	overflow: hidden;	
}

.onboarding-logo img {
	width: 165px;
}

.line-h-1 {
	line-height: 1;
}

.line-h-15 {
	line-height: 1.5;
}

/* ********************
		LOADER
**********************/
.loader-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(255, 255, 255, 0.8);
	z-index: 105;
	pointer-events: all;  
}

.loader {
	position: absolute;
	z-index: 100;
	top: 44%;
	left: 47%;
	transform: translate(-50%, -50%);
	
	width: 50px;
	aspect-ratio: 1;
	border-radius: 50%;
	border: 8px solid var(--text-light);
	border-right-color: var(--lime-400);

	animation: loader-animation 1s infinite linear;
}

@keyframes loader-animation {
	to { 
		transform: translate(-50%, -50%) rotate(1turn)
	}
}

/* ********************
		COLORS
**********************/
.text-light { color: var(--text-light) !important; }
.text-dark { color: var(--text-dark) !important; }
.icon-light { color: var(--icon-light) !important; }
.icon-dark { color: var(--icon-dark) !important; }
.text-primary { color: var(--lime-400) !important; }

.text-lime-50 { color: var(--lime-50) !important; }
.text-lime-300 { color: var(--lime-300) !important; }
.text-lime-400 { color: var(--lime-400) !important; }
.text-lime-600 { color: var(--lime-600) !important; }
.text-alert-green-500 { color: var(--alert-green-500) !important; }
.text-alert-red-500 { color: var(--alert-red-500) !important; }
.text-alert-orange-500 { color: var(--alert-orange-500) !important; }
.text-alert-yellow-500 { color: var(--alert-yellow-500) !important; }

.bg-lime-50 { background-color: var(--lime-50) !important; }
.bg-lime-300 { background-color: var(--lime-300) !important; }
.bg-lime-400 { background-color: var(--lime-400) !important; }
.bg-lime-600 { background-color: var(--lime-600) !important; }
.bg-alert-green-50 { background-color: var(--alert-green-50) !important; }
.bg-alert-green-100 { background-color: var(--alert-green-100) !important; }
.bg-alert-green-500 { background-color: var(--alert-green-500) !important; }
.bg-alert-red-50 { background-color: var(--alert-red-50) !important; }
.bg-alert-red-100 { background-color: var(--alert-red-100) !important; }
.bg-alert-red-500 { background-color: var(--alert-red-500) !important; }
.bg-alert-yellow-50 { background-color: var(--alert-yellow-50) !important; }
.bg-alert-yellow-100 { background-color: var(--alert-yellow-100) !important; }
.bg-alert-yellow-500 { background-color: var(--alert-yellow-500) !important; }
.bg-alert-orange-50 { background-color: var(--alert-orange-50) !important; }
.bg-alert-orange-100 { background-color: var(--alert-orange-100) !important; }
.bg-alert-orange-500 { background-color: var(--alert-orange-500) !important; }
.bg-white { background-color: var(--white); }
.bg-black { background-color: var(--text-dark); }
.bg-grey-50 { background-color: var(--grey-50) !important; }
.bg-grey-200 { background-color: var(--grey-200) !important; }
.bg-grey-300 { background-color: var(--grey-300) !important; }
.bg-grey-400 { background-color: var(--grey-400) !important; }

.border-alert-green-100 { border-color: var(--alert-green-100) !important; }
.border-alert-red-100 { border-color: var(--alert-red-100) !important; }
.border-alert-yellow-100 { border-color: var(--alert-yellow-100) !important; }
.border-alert-orange-100 { border-color: var(--alert-orange-100) !important; }
/* ***********************
		TYPOGRAPHY
*************************/

h1, h2, h3, h4, h5, h6, p {
	margin-bottom: 0;
}

.h1, .h2, .h3, .h4, .h5 {
	line-height: 100%;
	font-weight: 600;
	color: var(--text-dark);
	margin-bottom: 0;
}

.h1 { font-size: 46px; }
.h2 { font-size: 30px; }
.h3 { font-size: 24px; }
.h4 { font-size: 20px; }
.h5 { font-size: 18px; }

p { 
	color: var(--text-dark);
	font-size: 18px;
	font-weight: 400;
}


/* .p-xs, .p-sm, .p-md, .p-lg, .p-xl, .p-xxl {
	line-height: normal;
} */

.p-xs { font-size: 14px }
.p-sm { font-size: 16px }
.p-md { font-size: 18px }
.p-lg { font-size: 20px }
.p-xl { font-size: 24px }
.p-xxl { font-size: 28px }




/* ***********************
		PAGINATION
*************************/
.pagination {
	gap: 6px;
	margin-bottom: 0;
}

.pagination .page-link {
	color: var(--text-light);
	border-color: var(--grey-300);
	background-color: var(--white);
	border-radius: 8px;
	font-size: 14px;
	line-height: 1;
	font-weight: 600;
	width: 34px;
	height: 34px;
	padding: 4px;
	display: flex;
	align-items: center;
	justify-content: center;

	transition: color .2s ease, border-color .2s ease;
}

.pagination .page-item.active .page-link,
.pagination .page-link:hover {
	color: var(--text-dark);
	border-color: var(--lime-400);

	box-shadow: none !important;
}

.pagination .page-item.active .page-link:focus,
.pagination .page-link:focus {
	box-shadow: none !important;
}

.pagination .page-item:disabled .page-link,
.pagination .page-item.disabled .page-link {
	background-color: var(--grey-50);
	color: var(--grey-400);
	border-color: var(--grey-300);
}

/* ***********************
		INPUTS
*************************/
.form-control,
.form-select {
	padding: 10px 14px;
	font-size: 16px;
	line-height: 24px;
	box-shadow: none;
	border-radius: 8px;
	border-width: 1px;
}


.form-control:focus,
.form-select:focus {
	box-shadow: inset 0 0 0 2px var(--lime-400);
	border-radius: 8px;
	border-color: var(--lime-400);
}

.form-select:invalid {
	color: var(--text-light);
}


.phone-input-group .form-select {
	flex: 0 1 auto;
	width: fit-content;
	padding-right: 30px;
	text-wrap: nowrap;
}

.phone-input-group .form-control {
	flex: 1 1 auto;
	text-wrap: nowrap;
}

.phone-input-group .form-control.is-invalid,
.phone-input-group .form-control.is-valid {
	border-color: var(--grey-300);
}

.phone-input-group .form-select {
	border-right: none !important;
	box-shadow: none !important;
	transition: border-color 0s ease;
}

.phone-input-group .form-control {
	border-left: none !important;
	box-shadow: none !important;
	transition: border-color 0s ease;
}

.phone-input-group:focus .form-select,
.phone-input-group:focus .form-control {
	border-color: var(--lime-400);
	box-shadow: none;
}

.phone-input-group {
	position: relative;
}

.phone-input-group::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	box-shadow: inset 0 0 0 0px var(--lime-400);
	border-radius: 8px;
	z-index: 5;
	pointer-events: none;
	transition: box-shadow .2s ease;
}

.phone-input-group:focus-within::after {
	box-shadow: inset 0 0 0 3px var(--lime-400);
}

.phone-input-group.is-invalid::after {
	border: 1px solid var(--alert-red-500);
	box-shadow: inset 0 0 0 0px var(--alert-red-500);
}

.phone-input-group.is-invalid:focus-within::after {
	box-shadow: inset 0 0 0 3px var(--alert-red-500);
}

.phone-input-group.is-valid::after {
	border: 1px solid var(--lime-400);
	box-shadow: inset 0 0 0 0px var(--lime-400);
}

.phone-input-group.is-valid:focus-within::after {
	box-shadow: inset 0 0 0 3px var(--lime-400);
}

.form-label {
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 4px;
}

.valid-feedback,
.invalid-feedback {
	position: absolute;
	bottom: 0;
}

.valid-feedback {
	color: var(--lime-400);
}

.invalid-feedback {
	color: var(--alert-red-500);
}

.form-check-input.is-valid {
	background-image: none;
}

.form-control.is-invalid-otp {
	border-color: var(--alert-red-500);
}

.form-control.is-invalid-otp:focus {
	box-shadow: inset 0 0 0 2px var(--alert-red-500);
}

.form-control.is-valid-otp {
	border-color: var(--lime-400);
}

.form-control.is-valid-otp:focus {
	box-shadow: inset 0 0 0 2px var(--lime-400);
}

.form-select.is-valid,
.form-control.is-valid {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2394C11F' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");
	border-color: var(--lime-400);
}

.adv-select button {
	background-color: var(--white) !important;
	width: fit-content;
	text-wrap: nowrap;
	padding-right: 36px;
}

.input-with-icon.icon-end .form-select.is-invalid,
.input-with-icon.icon-end .form-check-input.is-invalid,
.input-with-icon.icon-end .form-control.is-invalid {
	background-image: none;
}

.input-with-icon.icon-end .form-select.is-valid,
.input-with-icon.icon-end .form-check-input.is-valid,
.input-with-icon.icon-end .form-control.is-valid {
	background-image: none;
}

.input-with-icon.icon-end .form-control.is-invalid ~ span {
	color: var(--alert-red-500)!important;
}

.input-with-icon.icon-end .form-control.is-valid ~ span {
	color: var(--lime-400)!important;
}

.form-check-input.is-invalid {
	background-image: none;
}

.form-check-input.is-valid:checked[type=checkbox] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}


.form-select.is-invalid,
.form-control.is-invalid {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23ff4d4d'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23ff4d4d' stroke='none'/%3e%3c/svg%3e");
	border-color: var(--alert-red-500);
	background-size: calc(1em + .375rem) calc(1em + .375rem);
}

.form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"], .was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"] {
    background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}

.form-select.is-invalid:focus,
.form-check-input.is-invalid:focus,
.form-control.is-invalid:focus {
    border-color: var(--alert-red-500);
    box-shadow: inset 0 0 0 2px var(--alert-red-500);
}

.form-select.is-valid:focus,
.form-check-input.is-valid:focus,
.form-control.is-valid:focus {
    border-color: var(--lime-400);
    box-shadow: inset 0 0 0 2px var(--lime-400);
}


.input-wrapper {
	padding-bottom: 23px;
}

.input-with-icon {
	position: relative;
}

.input-with-icon span {
	display: flex;
	align-items: center;
	position: absolute;
	top: 6px;
	cursor: pointer;
}

.icon-start input {
	padding-left: 38px !important;
}

.icon-end input {
	padding-right: 65px !important;
}

.icon-start span {
	left: 10px;
}

.icon-end span {
	right: 10px;
}

.form-check {
	display: flex;
	align-items: center;
	gap: 10px;
	padding-left: 0;
}

.form-check-input {
	border-color: var(--grey-300);
	border-radius: 4px !important;
	width: 20px;
	height: 20px;
	margin-top: 2px;
	float: none !important;
	margin-left: 0 !important;
}

.form-check-input[type="radio"] {
	border-radius: 200px !important;

}

.form-check-input:checked[type=radio] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2.5' fill='%2394C11F'/%3e%3c/svg%3e");
	background-color: var(--white);
}

.form-check-input[role="switch"] {
	background-color: var(--grey-400);
	border-radius: 200px !important;
}

.form-check-input:checked {
	box-shadow: none;
	border-color: var(--lime-400);
	background-color: var(--lime-400);
}

.form-check-input:focus {
	box-shadow: none;
	border-color: var(--lime-400);
}

.form-check-input:not(:checked):focus {
	box-shadow: none;
	border-color: var(--grey-400);
}

.form-check-input[role="switch"] {
	height: 21px;
	width: 35px;
}

.form-switch .form-check-input[role="switch"]:not(:checked) {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e") !important;
}

.form-switch .form-check-input[role="switch"]:not(:checked):focus,
.form-switch .form-check-input[role="switch"]:not(:checked)  {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e") !important;
}

.form-check-label {
	font-size: 14px;
	color: var(--text-dark);
}

.form-check-input.is-valid~.form-check-label {
    color: var(--text-dark);
}

.form-check-input.is-invalid~.form-check-label {
    color: var(--text-dark);
}

.form-check-input.is-valid:focus {
    box-shadow: none;
}
.form-check-input.is-invalid:focus {
    box-shadow: none;
}

.form-control:read-only {
	color: var(--text-light);
}


/* Chrome, Safari, Edge, Opera */
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

input::placeholder {
	color: var(--text-light) !important;
	opacity: 1;
}

input::-moz-placeholder {
	color: var(--text-light) !important;
}

input::-ms-input-placeholder {
	color: var(--text-light) !important;
}


input:-ms-input-placeholder {
	color: var(--text-light) !important;
}


/* ***********************
		BUTTTONS
*************************/
a.button,
button {
	--_btn-bg: var(--btn-bg, var(--grey-200));
	--_btn-text: var(--btn-text, var(--text-dark));
	--_btn-border: var(--btn-border, var(--grey-300));

	--_btn-bg-hover: var(--btn-bg-hover, var(--grey-200));
	--_btn-text-hover: var(--btn-text-hover, var(--text-dark));
	--_btn-border-hover: var(--btn-border-hover, var(--grey-300));

	--_btn-padding: var(--btn-padding, 10px 14px);
	--_btn-line-height: var(--btn-line-height, 20px);
	--_btn-font-size: var(--btn-font-size, 14px);
	--_btn-gap: var(--btn-gap, 6px);
	
	background-color: var(--_btn-bg);
	color: var(--_btn-text);
	border-color: var(--_btn-border);

	display: block;
	padding: var(--_btn-padding);
	line-height: var(--_btn-line-height);
	font-size: var(--_btn-font-size);
	width: auto;
	border-width: 1px;
	border-style: solid;
	outline: 0;
	box-shadow: none;

	border-radius: 8px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: var(--_btn-gap);
	cursor: pointer;
	text-transform: capitalize;

	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

a.button:hover,
button:hover {
	background-color: var(--_btn-bg-hover);
	color: var(--_btn-text-hover);
	border-color: var(--_btn-border-hover);
}

a.button:disabled,
button:disabled {
	background-color: var(--grey-200) !important;
	color: var(--grey-400) !important;
	border-color: var(--grey-300) !important;
}

a.button.btn-sm,
.btn-sm {
	--_btn-padding: 8px 10px;
	--_btn-gap: 4px;
	--_btn-font-size: 14px;
	--_btn-line-height: 20px;
}

a.button.btn-md,
.btn-md {
	--_btn-padding: 10px 14px;
	--_btn-gap: 6px;
	--_btn-font-size: 14px;
	--_btn-line-height: 20px;
}

a.button.btn-lg,
.btn-lg {
	--_btn-padding: 12px 18px;
	--_btn-gap: 6px;
	--_btn-font-size: 16px;
	--_btn-line-height: 24px;
}

a.primary-btn,
button.primary-btn {
	--_btn-bg: var(--lime-400);
	--_btn-text: var(--white);
	--_btn-border: var(--lime-400);

	--_btn-bg-hover: var(--lime-600);
	--_btn-text-hover: var(--white);
	--_btn-border-hover: var(--lime-600);
}

a.button.secondary-btn,
.secondary-btn {
	--_btn-bg: var(--white);
	--_btn-text: var(--text-dark);
	--_btn-border: var(--grey-300);
	
	--_btn-bg-hover: var(--grey-200);
	--_btn-text-hover: var(--text-dark);
	--_btn-border-hover: var(--grey-300);
}

a.button.tertiary-btn,
.tertiary-btn {
	--_btn-bg: var(--white);
	--_btn-text: var(--text-light);
	--_btn-border: var(--white);
	
	--_btn-bg-hover: var(--grey-200);
	--_btn-text-hover: var(--text-light);
	--_btn-border-hover: var(--grey-300);
}

a.button.tertiary-btn:active,
.tertiary-btn:active,
a.button.tertiary-btn.active,
.tertiary-btn.active {
	background-color: var(--white);
	color: var(--text-black);
	border-color: var(--grey-300);
}


a.button.lime-secondary-btn,
.lime-secondary-btn {
	--_btn-bg: var(--white);
	--_btn-text: var(--lime-400);
	--_btn-border: var(--lime-400);

	--_btn-bg-hover: var(--lime-50);
	--_btn-text-hover: var(--white);
	--_btn-border-hover: var(--lime-400);
}

a.button.red-primary-btn,
.red-primary-btn {
	--_btn-bg: var(--red-500);
	--_btn-text: var(--white);
	--_btn-border: var(--red-500);

	--_btn-bg-hover: var(--red-600);
	--_btn-text-hover: var(--white);
	--_btn-border-hover: var(--red-600);
}

a.button.blue-primary-btn,
.blue-primary-btn {
	--_btn-bg: var(--alert-blue-500);
	--_btn-text: var(--white);
	--_btn-border: var(--alert-blue-500);

	--_btn-bg-hover: var(--alert-blue-600);
	--_btn-text-hover: var(--white);
	--_btn-border-hover: var(--alert-blue-600);
}

a.red-secondary-btn,
.red-secondary-btn {
	--_btn-bg: var(--white);
	--_btn-text: var(--red-500);
	--_btn-border: var(--red-400);

	--_btn-bg-hover: var(--red-50);
	--_btn-text-hover: var(--red-600);
	--_btn-border-hover: var(--red-400);
}

a.button.yellow-primary-btn,
.yellow-primary-btn {
	--_btn-bg: var(--alert-yellow-500);
	--_btn-text: var(--white);
	--_btn-border: var(--alert-yellow-500);

	--_btn-bg-hover: var(--alert-yellow-600);
	--_btn-text-hover: var(--white);
	--_btn-border-hover: var(--alert-yellow-600);
}

a.blank-btn,
.blank-btn {
	--_btn-bg: transparent;
	--_btn-text: var(--text-light);
	--_btn-border: transparent;

	--_btn-bg-hover: transparent;
	--_btn-text-hover: var(--text-dark);
	--_btn-border-hover: transparent;

	padding: 4px;
	border: none;
	box-shadow: none;
}

a.blank-primary-btn,
.blank-primary-btn {
	--_btn-bg: transparent;
	--_btn-text: var(--text-light);
	--_btn-border: transparent;

	--_btn-bg-hover: transparent;
	--_btn-text-hover: var(--lime-400);
	--_btn-border-hover: transparent;

	padding: 4px;
	border: none;
	box-shadow: none;
}


/* ***********************
		CLOSE BUTTON
*************************/

.close-btn {
	background-color: var(--white);
	color: var(--icon-light);
	border: 0;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;

	width: 40px;
	height: 40px;
	
	padding: 8px;
	border-radius: 8px;

	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.close-btn::before {
	content: "";
    width: 12px;
    height: 12px;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M11 1L1 11M1 1L11 11' stroke='%23A4A7AE' stroke-width='1.66667' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M11 1L1 11M1 1L11 11' stroke='%23A4A7AE' stroke-width='1.66667' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: var(--icon-light);
    transition: background-color 0.2s ease;
}

.close-btn:hover {
	background-color: var(--grey-100);
	color: var(--icon-dark);
}

.close-btn:hover::before {
	background-color: var(--icon-dark);
}

.close-btn-sm {
	font-size: 12px;
	width: 36px;
	height: 36px
}

.close-btn-md {
	font-size: 12px;
	width: 40px;
	height: 40px;
}

.close-btn-lg {
	font-size: 14px;
	width: 44px;
	height: 44px;
}

.close-btn-lg.close-btn::before {
	height: 14px;
	width: 14px;
}


/*************************
		MODALS
************************/
.modal.modal-sm {
	--bs-modal-width: 400px;
}

.modal.modal-xxl {
	--bs-modal-width: 1200px;
}

@media (min-width: 1480px) {
	.modal.modal-xxl {
		--bs-modal-width: 1400px;
	}
}


/*********************************
		MODAL ASIDE TABS
*********************************/
.modal-aside-tabs {
	height: calc(100vh - 200px);
}

.modal-aside-tabs .tab-content {
	width: 100%;
	display: flex;
	flex-direction: column;
    flex: 1;
	overflow: hidden;
}

.modal-aside-tabs .tab-pane {
	flex: 1;               /* make it stretch */
    min-height: 100%;      /* ensure it fills even if empty */
    overflow-y: auto;
	padding-right: 10px;
}

.modal-aside-tabs .tab-pane > * {
	flex-shrink: 0;
}

.modal-aside-tabs .nav-pills:not(.sub-tab-pills) {
	flex: 1;               /* make it stretch */
    min-height: 100%;  /* adjust depending on your header/buttons */
    overflow-y: auto;
}

.modal-aside-tabs .nav-pills:not(.sub-tab-pills) {
	max-width: 250px;
	gap: 0 !important;
}

.modal-aside-tabs .nav-pills[role="tablist"]:not(.sub-tab-pills) {
	background-color: transparent;
	padding: 0;
	border-radius: 0;
	border: 0;
}

.modal-aside-tabs .nav-pills[role="tablist"]:not(.sub-tab-pills) .nav-link {
	padding: 16px 20px;
	display: grid;
	grid-template-columns: 25px 1fr;
	align-items: center;
	gap: 10px;
	border-radius: 0;
	font-size: 14px;
	font-weight: 500;

	color: var(--text-light);
	background-color: var(--white);
	border-bottom: 1px solid var(--grey-300);

	transition: color .2s ease, background-color .2s ease;
}

.modal-aside-tabs .nav-pills[role="tablist"]:not(.sub-tab-pills) .nav-link.active,
.modal-aside-tabs .nav-pills[role="tablist"]:not(.sub-tab-pills) .nav-link:hover {
	background-color: var(--grey-200);
	color: var(--text-dark);
}

.modal-aside-tabs .nav-pills[role="tablist"]:not(.sub-tab-pills) .nav-link i {
	color: var(--icon-light);
	transition: color .2s ease;
}

.modal-aside-tabs .nav-pills[role="tablist"]:not(.sub-tab-pills) .nav-link.active i,
.modal-aside-tabs .nav-pills[role="tablist"]:not(.sub-tab-pills) .nav-link:hover i {
	color: var(--lime-400);
}

.modal-aside-tabs .tab-content {
		border-left: 1px solid var(--grey-300);
}



.modal-aside-tabs .nav-pills[role="tablist"]:not(.sub-tab-pills) .nav-link .aside-tab-name {
	color: var(--text-light);
	transition: color .2s ease;
}

.modal-aside-tabs .nav-pills[role="tablist"]:not(.sub-tab-pills) .nav-link:hover .aside-tab-name {
	color: var(--text-dark);
}

.modal-aside-tabs .nav-pills[role="tablist"]:not(.sub-tab-pills) .nav-link.active .aside-tab-name,
.modal-aside-tabs .nav-pills[role="tablist"]:not(.sub-tab-pills) .nav-link:active .aside-tab-name {
	color: var(--text-dark);
}



/*************************
	EII STATUS ALERT
************************/
.eii-status-alert {
	--_bg-color: var(--bg-color, var(--grey-200));
	--_border-color: var(--border-color, var(--grey-200));
	
	width: 100%;
	padding: 10px 20px 10px 10px;
	border-radius: 10px ;

	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	background-color: var(--_bg-color);
	border: 1px solid var(--_border-color);
}

.eii-status-alert.status-1 {
	--_bg-color: var(--alert-red-50);
	--_border-color: var(--alert-red-100);
}

.eii-status-alert.status-1 i {
	color: var(--alert-red-500);
}

.eii-status-alert.status-1 .new-eii-flag {
    --_flag-color: var(--alert-red-500);
}

.eii-status-alert.status-2 {
	--_bg-color: var(--alert-orange-50);
	--_border-color: var(--alert-orange-100);
}

.eii-status-alert.status-2 i {
	color: var(--alert-orange-500);
}

.eii-status-alert.status-2 .new-eii-flag {
    --_flag-color: var(--alert-orange-500);
}

.eii-status-alert.status-3 {
	--_bg-color: var(--alert-yellow-50);
	--_border-color: var(--alert-yellow-100);
}

.eii-status-alert.status-3 i {
	color: var(--alert-yellow-500);
}

.eii-status-alert.status-3 .new-eii-flag {
    --_flag-color: var(--alert-yellow-500);
}


/*************************
		TOOLTIPS
************************/

.tooltip {
	--bs-tooltip-max-width:530px;
	font-size: 12px;
}

.tooltip-text-left .tooltip-inner {
	text-align: left !important;
}

.persistent-tooltip-wrapper {
	position: relative;
}

.persistent-tooltip-wrapper::after {
	content: '';
	position: absolute;
	height: 20px;
	top: -100%;
	left: 0;
	width: 100%;
}

.persistent-tooltip {
	display: none;
	position: absolute;
	top: calc(-100% - 12px);
	left: 50%;
	transform: translateX(-50%);
	padding: 8px;
	border-radius: 8px;
	width: max-content;
	max-width: 530px;
	background-color: var(--black);
	color: var(--white);
	z-index: 1;
}

.persistent-tooltip p,
.persistent-tooltip a {
	font-weight: 400;
	font-size: 13px !important;
}

.persistent-tooltip::after {
	content: '';
	position: absolute;
	width: 10px;
	height: 10px;
	bottom: -6px;
	left: 50%;
	transform: rotate(45deg) translateX(-50%);
	background-color: var(--black);
	z-index: 0;
}

.persistent-tooltip-wrapper:hover .persistent-tooltip {
	display: block;
}



/*************************
		SNACKBAR
************************/
.snackbar {
	padding: 10px 40px;
	display: flex;
	align-items: center;
	gap: 8px;
	background-color: var(--grey-200);
	border: 1px solid var(--grey-300);
	border-radius: 8px;

	font-size: 14px;
	font-weight: 500;

	position: absolute;
	left: 20px;
	right: auto;
	
	bottom: 0;
	z-index: 500;

	animation: fadeUp-fadeDown forwards 4s ease;
}

.snackbar.position-right {
	right: 20px !important;
	left: auto !important;
}

.snackbar.success {
	background-color: var(--alert-green-50);
	border-color: var(--alert-green-100);
}

.snackbar.success::after {
	content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none'><path d='M0 12C0 5.37258 5.37258 0 12 0C18.6274 0 24 5.37258 24 12C24 18.6274 18.6274 24 12 24C5.37258 24 0 18.6274 0 12Z' fill='%23079455'/><path d='M7.5 12L10.5 15L16.5 9' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");

	position: absolute;
	left: 12px;
	right: auto;

	width: 20px;
	height: 20px;

}

.snackbar.fail {
	background-color: var(--alert-red-50);
	border-color: var(--alert-red-100);
}

.snackbar.fail::after{
	content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'><mask id='mask0' style='mask-type:luminance' maskUnits='userSpaceOnUse' x='0' y='0' width='18' height='18'><path d='M9 17C13.4184 17 17 13.4184 17 9C17 4.5816 13.4184 1 9 1C4.5816 1 1 4.5816 1 9C1 13.4184 4.5816 17 9 17Z' fill='white' stroke='white' stroke-width='1.6' stroke-linejoin='round'/><path d='M11.2631 6.7373L6.7375 11.2629M6.7375 6.7373L11.2631 11.2629' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></mask><g mask='url(%23mask0)'><path d='M-0.600006 -0.600098H18.6V18.5999H-0.600006V-0.600098Z' fill='%23D92D20'/></g></svg>");

	position: absolute;
	left: 12px;
	right: auto;

	width: 20px;
	height: 20px;
}



/* ***********************
		PADDING
*************************/
.px-12 {
	padding-left: 12px !important;
	padding-right: 12px !important;
}

.py-12 {
	padding-top: 12px !important;
	padding-bottom: 12px !important;
}

.p-12 {
	padding: 12px !important;
}

.pt-12 {
	padding-top: 12px !important;
}

.pb-12 {
	padding-bottom: 12px !important;
}

.ps-12 {
	padding-left: 12px !important;
}

.pe-12 {
	padding-right: 12px !important;
}

.px-20 {
	padding-left: 20px !important;
	padding-right: 20px !important;
}

.py-20 {
	padding-top: 20px !important;
	padding-bottom: 20px !important;
}

.p-20 {
	padding: 20px !important;
}

.pt-20 {
	padding-top: 20px !important;
}

.pb-20 {
	padding-bottom: 20px !important;
}

.ps-20 {
	padding-left: 20px !important;
}

.pe-20 {
	padding-right: 20px !important;
}


/*************************
		LOADERS
************************/
/* HTML: <span class="loader-spinner"></span> */
/* STATES: '' | 'black-loader' | 'primary-loader' */

.loader-spinner {
	display: inline-block;
	width: 20px;
	padding: 4px;
	aspect-ratio: 1;
	border-radius: 50%;
	background: #fff;
	--_m: 
		conic-gradient(#0000 10%,#000),
		linear-gradient(#000 0 0) content-box;
	-webkit-mask: var(--_m);
			mask: var(--_m);
	-webkit-mask-composite: source-out;
			mask-composite: subtract;
	animation: l3 1s infinite linear;
}
@keyframes l3 {to{transform: rotate(1turn)}}

.loader-spinner.black-loader {
	background: #181D27;
}

.loader-spinner.primary-loader {
	background: #94C11F;
}

/*************************
		ANIMATIONS
************************/
.fadeUp-animation {
	animation: fadeUp forwards .7s ease;
}



@keyframes fadeUp {
	0% {
		transform: translateY(40px);
		opacity: 0;
	}

	80% {
		opacity: 1;
	}

	100% {
		transform: translateY(0%);
		opacity: 1;
	}
}


@keyframes fadeUp-fadeDown {
	0% {
		transform: translateY(40px);
		opacity: 0;
	}

	8% {
		transform: translateY(0%);
		opacity: 1;
	}

	92% {
		transform: translateY(0%);
		opacity: 1;
	}

	100% {
		transform: translateY(40%);
		opacity: 0;
	}
}





/*************************
	DATA DETAILS MODAL
************************/


.dataDetailsModal .modal-aside-tabs .nav-pills[role="tablist"]:not(.sub-tab-pills) .nav-link {
	min-height: 74px;
}

/* Hide default date icon in Chrome/Edge/Safari */
.dataDetailsModal input.form-control[type="date"]::-webkit-calendar-picker-indicator {
	opacity: 0;
    position: absolute; 
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;                  /* covers entire input */
    width: 100%;
    height: 100%;
    cursor: pointer;
}

/* Remove default look in Firefox */
.dataDetailsModal input.form-control[type="date"] {
    background: transparent;
}

.dataDetailsModal .date-wrapper {
    position: relative;
    display: block;
}

.dataDetailsModal .date-wrapper input[type="date"] {
    padding-left: 35px; /* space for icon */

}

.dataDetailsModal .date-icon {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    pointer-events: auto;
}