/**********************************/
/*** CSS FRAMEWORK 1.0 ***/
/**********************************/
:root {
	--bg-primary: #000032;
	--bg-secondary: #000000;
	--bg-tertiary: #000000;
	--bg-dark-tertiary: #000000;
	--bg-color-primary: #eeeeee;
	--bg-color-primary-light: #eeeeee;
	--bg-color-secondary: #000000;
	--bg-color-secondary-light: #4e4e4e;
	--bg-color-success: #2bb376;
	--bg-color-error: #e50000;
	--bg-color-warning: #e19b32;
	--color-primary: #ffffff;
	--color-primary-light: #ffffff;
	--color-secondary: #ffffff;
	--color-secondary-light: #ffffff;
	--text-xsmall: 0.35rem;
	--text-small: 0.5rem;
	--text-normal: 0.75rem;
	--text-medium: 1rem;
	--text-big: 1.25rem;
	--font: "principal", Arial, sans-serif;
	--border-radius: 4px;
	--btn-color-primary: #6d6d6d;
	--btn-color-primary-hover: #000000;
	--btn-color-secondary: #4e4e4e;
	--btn-color-secondary-hover: #323232;
	--btn-color-tertiary: #000000;
	--btn-color-tertiary-hover: #000000;
	--btn-color-primary-text: #000000;
	--color-overlay: rgb(54 54 54 / 85%);
}
html,
body,
.content {
	height: 100%;
	width: 100%;
	min-height: 100%;
	min-height: -webkit-fill-available;
	max-height: -webkit-fill-available;
	height: -webkit-fill-available;
}
body {
	margin: 0;
	background: var(--bg-primary);
	color: var(--color-primary);
	font-family: var(--font);
	font-size: var(--text-normal);
	font-display: swap;
}
* {
	margin: 0;
	padding: 0;
	font-display: swap;
}

::-webkit-scrollbar {
	width: 6px;
	height: 0px;
}
::-webkit-scrollbar-thumb,
::-webkit-scrollbar-thumb:hover,
::-webkit-scrollbar-thumb:active {
	background: var(--color-tertiary);
}
::-webkit-scrollbar-track,
::-webkit-scrollbar-track:hover,
::-webkit-scrollbar-track:active {
	background: var(--color-secondary);
}

/*Background*/
.bg-primary {
	background: var(--bg-primary);
}
.bg-primary-light {
	background: var(--bg-color-primary-light);
}
.bg-secondary {
	background: var(--bg-secondary);
}
.bg-secondary-light {
	background: var(--bg-color-secondary-light);
}
.bg-tertiary-light {
	background: var(--bg-tertiary);
}
.bg-tertiary {
	background: var(--bg-dark-tertiary);
}

/*Text*/
p,
.p {
	font-size: var(--text-normal);
	color: var(--color-primary);
}
.p-small {
	font-size: var(--text-small) !important;
}
.p-xsmall {
	font-size: var(--text-xsmall) !important;
}
h1,
.h1 {
	font-size: var(--text-big);
}
h2,
.h2 {
	font-size: var(--text-medium);
}
a,
.link {
	cursor: pointer;
	font-size: var(--text-normal);
	color: var(--color-secondary);
	border: none !important;
	background: none !important;
	transition: 0.3s;
}
a:hover,
.link:hover {
	color: var(--color-secondary);
}
.link-secondary {
	cursor: pointer;
	font-size: var(--text-normal);
	color: var(--color-primary);
	transition: 0.3s;
}
.link-secondary:hover {
	cursor: pointer;
	font-size: var(--text-normal);
	color: var(--color-tertiary);
}
.link-secondary:hover * {
	color: var(--color-secondary-light);
	fill: var(--color-secondary-light);
	transition: 0.3s;
}
.link-list {
	cursor: pointer;
	border-bottom: 1px solid var(--bg-color-secondary);
	font-size: var(--text-small);
}
.link-list:hover {
	background: var(--bg-color-secondary);
}
.txtc {
	text-align: center;
}
.txtr {
	text-align: right;
}
.txtl {
	text-align: left;
}
.capitalize {
	text-transform: capitalize;
}
.uppercase {
	text-transform: uppercase;
}
.bold {
	font-weight: bold;
}
.text-decoration {
	text-decoration: none !important;
}
.text-underlined {
	text-decoration: underline;
}
.yellow-text {
	color: var(--color-tertiary);
}
.white-text {
	color: #ffffff;
}
.black-text {
	color: #000000;
}
.text-nowrap {
	white-space: nowrap;
}
.text-2-lines {
	text-overflow: ellipsis;
	overflow: hidden;
	display: -webkit-box !important;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	white-space: normal;
}
.text-3-lines {
	text-overflow: ellipsis;
	overflow: hidden;
	display: -webkit-box !important;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	white-space: normal;
}

/*Size*/
.w25 {
	width: 25%;
	min-width: 25%;
	max-width: 25%;
}
.w50 {
	width: 50%;
	min-width: 50%;
	max-width: 50%;
}
.w75 {
	width: 75%;
	min-width: 75%;
	max-width: 75%;
}
.w100 {
	width: 100%;
	max-width: 100%;
}
.h100 {
	height: 100%;
	min-height: 100%;
	max-height: 100%;
}
.vh100 {
	height: 100vh;
	min-height: 100vh;
	max-height: 100vh;
}
@media (max-width: 450px) {
	.p40 {
		padding: 20px !important;
	}
	.ph40 {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
	.m20 {
		margin: 10px !important;
	}
	.w25,
	.w50,
	.w75 {
		width: 100% !important;
		min-width: 100%;
		max-width: 100%;
	}
	.btn-absolute {
		top: 20px !important;
		right: 32px !important;
	}
	.btn-primary,
	.btn-secondary,
	.btn-tertiary {
		width: 100%;
	}
	.buttons-container .btn-primary,
	.buttons-container .btn-secondary,
	.buttons-container .btn-secondary {
		width: calc(100% - 20px);
	}
}
/*Margin*/
.m5 {
	margin: 5px;
}
.mv5 {
	margin-top: 5px;
	margin-bottom: 5px;
}
.mh5 {
	margin-left: 5px;
	margin-right: 5px;
}
.mt5 {
	margin-top: 5px;
}
.mb5 {
	margin-bottom: 5px;
}
.mr5 {
	margin-right: 5px;
}
.ml5 {
	margin-left: 5px;
}
.m10 {
	margin: 10px;
}
.mv10 {
	margin-top: 10px;
	margin-bottom: 10px;
}
.mh10 {
	margin-left: 10px;
	margin-right: 10px;
}
.mt10 {
	margin-top: 10px;
}
.mb10 {
	margin-bottom: 10px;
}
.mr10 {
	margin-right: 10px;
}
.ml10 {
	margin-left: 10px;
}
.m20 {
	margin: 20px;
}
.mv20 {
	margin-top: 20px;
	margin-bottom: 20px;
}
.mh20 {
	margin-left: 20px;
	margin-right: 20px;
}
.mt20 {
	margin-top: 20px;
}
.mb20 {
	margin-bottom: 20px;
}
.mr20 {
	margin-right: 20px;
}
.ml20 {
	margin-left: 20px;
}
.m40 {
	margin: 40px;
}
.mv40 {
	margin-top: 40px;
	margin-bottom: 40px;
}
.mh40 {
	margin-left: 40px;
	margin-right: 40px;
}
.mt40 {
	margin-top: 40px;
}
.mb40 {
	margin-bottom: 40px;
}
.mr40 {
	margin-right: 40px;
}
.ml40 {
	margin-left: 40px;
}
.m60 {
	margin: 60px;
}
.mv60 {
	margin-top: 60px;
	margin-bottom: 60px;
}
.mh60 {
	margin-left: 60px;
	margin-right: 60px;
}
.mt60 {
	margin-top: 60px;
}
.mb60 {
	margin-bottom: 60px;
}
.mr60 {
	margin-right: 60px;
}
.ml60 {
	margin-left: 60px;
}

/*Padding*/
.p0 {
	padding: 0px;
}
.pv5 {
	padding-top: 5px;
	padding-bottom: 5px;
}
.p10 {
	padding: 10px;
}
.pv10 {
	padding-top: 10px;
	padding-bottom: 10px;
}
.ph10 {
	padding-left: 10px;
	padding-right: 10px;
}
.pt10 {
	padding-top: 10px;
}
.pb10 {
	padding-bottom: 10px;
}
.pr10 {
	padding-right: 10px;
}
.pl10 {
	padding-left: 10px;
}
.p20 {
	padding: 20px;
}
.pv20 {
	padding-top: 20px;
	padding-bottom: 20px;
}
.ph20 {
	padding-left: 20px;
	padding-right: 20px;
}
.pt20 {
	padding-top: 20px;
}
.pb20 {
	padding-bottom: 20px;
}
.pr20 {
	padding-right: 20px;
}
.pl20 {
	padding-left: 20px;
}
.p40 {
	padding: 40px;
}
.pv40 {
	padding-top: 40px;
	padding-bottom: 40px;
}
.ph40 {
	padding-left: 40px;
	padding-right: 40px;
}
.pt40 {
	padding-top: 40px;
}
.pb40 {
	padding-bottom: 40px;
}
.pr40 {
	padding-right: 40px;
}
.pl40 {
	padding-left: 40px;
}
.p60 {
	padding: 60px;
}
.pv60 {
	padding-top: 60px;
	padding-bottom: 60px;
}
.ph60 {
	padding-left: 60px;
	padding-right: 60px;
}
.pt60 {
	padding-top: 60px;
}
.pb60 {
	padding-bottom: 60px;
}
.pr60 {
	padding-right: 60px;
}
.pl60 {
	padding-left: 60px;
}

/*BORDER*/
.border-bottom {
	border-bottom: 1px solid var(--btn-color-secondary-hover);
}

/*Display*/
.block {
	display: block;
}
.hidden {
	display: none !important;
}
.invisible {
	opacity: 0 !important;
}
.flex {
	display: flex;
}
.flex-center {
	display: flex;
	align-items: center;
	justify-content: center;
}
.flex-between {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.flex-between-start {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.flex-around {
	display: flex;
	align-items: center;
	justify-content: space-around;
}
.flex-start {
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.flex-align-start {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
}
.flex-end {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
.flex-wrap {
	flex-wrap: wrap;
}
.flex-grow1 {
	flex-grow: 1;
}
.flex-grow2 {
	flex-grow: 2;
}
.flex-gap20 {
	gap: 20px;
}

/*Position*/
.relative {
	position: relative;
}
.absolute {
	position: absolute;
}

/*Overflow*/
.no-overflow {
	overflow: hidden !important;
	text-overflow: ellipsis;
}

/*Border radius*/
.border-radius {
	border-radius: var(--border-radius);
}
.no-border {
	border: none !important;
}
.border-1 {
	border: 1px solid var(--bg-secondary);
}

/*Z-index*/
.zindex0 {
	z-index: 0;
}
.zindex1 {
	z-index: 9;
}
.zindex2 {
	z-index: 99;
}
.zindex3 {
	z-index: 999;
}
.zindex4 {
	z-index: 9999;
}

/*Butons*/
.btn-primary,
.btn-secondary,
.btn-tertiary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	font-weight: bold;
	padding: 0px 16px;
	height: 40px;
	min-width: 100px;
	border: none;
	cursor: pointer;
	color: var(--color-primary-light);
	font-size: var(--text-normal);
	border-radius: var(--border-radius);
}
.btn-primary.btn-small,
.btn-secondary.btn-small,
.btn-tertiary.btn-small {
	height: 30px;
}
.btn-primary {
	background: var(--btn-color-primary);
	border: 1px solid var(--btn-color-primary-border);
	color: var(--btn-color-primary-text);
}
.btn-primary:hover {
	background: var(--btn-color-primary-hover);
	border: 1px solid var(--btn-color-primary-hover-border);
	color: var(--btn-color-primary-hover-text);
}
.btn-secondary {
	background: var(--btn-color-secondary);
	border: 1px solid var(--btn-color-secondary-border);
	color: var(--btn-color-secondary-text);
}
.btn-secondary:hover {
	background: var(--btn-color-secondary-hover);
	border: 1px solid var(--btn-color-secondary-hover-border);
	color: var(--btn-color-secondary-hover-text);
}
.btn-tertiary {
	background: transparent;
	border: 1px solid var(--btn-color-primary);
	color: var(--btn-color-primary);
}
.btn-tertiary:hover {
	background: rgb(255 255 255 / 30%);
	border: 1px solid var(--btn-color-primary);
	color: var(--btn-color-primary);
}
.btn-tertiary.btn-dark {
	background: transparent;
	border: 1px solid var(--color-primary);
	color: var(--color-primary);
}
.icon-button {
	padding: 0 16px 0 6px !important;
}
.rounded-icon-button {
	width: 42px;
	min-width: 42px;
	height: 42px;
	border-radius: 100%;
}
.square-icon-button {
	width: 42px;
	min-width: 42px;
	height: 42px;
}
.btn-absolute {
	position: absolute;
	top: 40px;
	right: 52px;
	padding: 0;
}
@media (max-width: 560px) {
	.btn-container {
		flex-wrap: wrap;
	}
	.btn-container button {
		margin: 20px 0px 0px 0px;
		width: 100% !important;
		min-width: 100%;
	}
}
.disabled {
	pointer-events: none;
	cursor: not-allowed;
	opacity: 0.5;
}
.pointer {
	cursor: pointer;
}

/*Inputs*/
.Mui-focused .MuiOutlinedInput-notchedOutline {
	border-color: var(--btn-color-secondary) !important;
}
label.Mui-focused {
	color: var(--btn-color-secondary) !important;
}
.dark-form .input fieldset,
.dark-form .select fieldset,
.dark-form .Mui-focused .MuiOutlinedInput-notchedOutline {
	border-color: rgb(255 255 255 / 20%) !important;
}
.dark-form .input *,
.dark-form .select *,
.dark-form .select-label *,
.dark-form label.Mui-focused,
.dark-form .formControl * {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff;
}
.dark-form .input > div,
.dark-form .select > div {
	background: rgb(255 255 255 / 10%);
}
.dark-form .formError {
	padding: 5px 0px 0 5px;
	background: none;
	color: #d96767;
}
.dark-form .formError * {
	fill: #d96767;
	padding: 0px;
}
.dark-form .formError.MuiAlert-standardSuccess {
	color: #29b95f;
}
.dark-form .formError.MuiAlert-standardSuccess * {
	fill: #29b95f;
	padding: 0px;
}
.dark-form input::-webkit-calendar-picker-indicator {
	filter: invert(1);
}
.dark-form .checkbox * {
	fill: #fff;
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
	-webkit-box-shadow: 0 0 0 30px #ffffff inset !important;
}
input:-webkit-autofill {
	-webkit-text-fill-color: var(--color-primary) !important;
}
.dark-form input:-webkit-autofill,
.dark-form input:-webkit-autofill:hover,
.dark-form input:-webkit-autofill:focus,
.dark-form input:-webkit-autofill:active {
	-webkit-box-shadow: 0 0 0 30px #1a1a1a inset !important;
}
.dark-form input:-webkit-autofill {
	-webkit-text-fill-color: #ffffff !important;
}
.input,
.input * {
	appearance: none !important;
	-webkit-appearance: none !important;
}
input::-webkit-date-and-time-value {
	text-align: left;
}
.formControl {
	min-width: 150px;
}
.fake-input {
	overflow-x: auto;
	padding: 11px;
	border: solid 1px #ffffff;
	border-radius: 8px;
	background-color: rgb(238 238 238 / 20%);
	color: white;
	min-width: 230px;
}

/*Messages*/
.success-message,
.error-message,
.warning-message {
	color: #fff;
	padding: 10px;
	border-radius: var(--border-radius);
}
.success-message {
	background: var(--bg-color-success);
}
.error-message {
	background: var(--bg-color-error);
}
.warning-message {
	background: #f5c043;
}

.doc-PENDING {
	color: var(--bg-color-warning);
}
.doc-DENIED {
	color: var(--bg-color-error);
}
.doc-APPROVED {
	color: var(--bg-color-success);
}

/*Icons*/
.white-icon {
	color: #ffffff;
	fill: #ffffff;
}
.light-icon {
	color: var(--color-primary);
	fill: var(--color-primary);
}
.input-icon {
	position: absolute;
	right: 14px;
}

/*Tables*/
table {
	width: 100%;
	border-spacing: 0px;
}
table tr {
	height: 46px;
	text-align: left;
}
.table table tr:empty {
	display: none;
}
table tr th {
	background: var(--bg-color-secondary-light);
	color: #fff;
	padding: 0px 10px;
	border-right: 1px solid rgb(0 0 0 / 30%);
}
table tr th:first-child {
	border-radius: var(--border-radius) 0 0 0;
}
table tr th:last-child {
	border-radius: 0 var(--border-radius) 0 0;
	border-right: none;
}
table tr td {
	border-bottom: 1px solid #eeeeee;
	padding: 0px 10px;
}
.table {
	width: 100%;
	overflow: auto;
}
.table tbody tr td {
	background: rgb(255 255 255 / 80%);
	border-right: 1px solid rgb(0 0 0 / 10%);
	white-space: nowrap;
	color: var(--color-secondary);
}
.table tbody tr td:last-child {
	border-right: none;
}
.table tbody tr:nth-child(odd) td {
	background: #ffffff;
}
.table tbody tr:last-child td:first-child {
	border-radius: 0 0 0 var(--border-radius);
}
.table tbody tr:last-child td:last-child {
	border-radius: 0 0 var(--border-radius) 0;
}
.table-empty {
	border-radius: 0 0 var(--border-radius) var(--border-radius);
	background: #ffffff;
	padding: 20px;
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
}
.table-empty svg {
	width: 2em;
	height: 2em;
	margin-bottom: 20px;
}

/*TABS*/
.tabs .tab {
	color: #fff;
	background: rgb(255 255 255 / 10%);
	text-transform: none;
}
.tabs .tab:first-child {
	border-radius: var(--border-radius) 0 0 0;
}
.tabs .tab:last-child {
	border-radius: 0 var(--border-radius) 0 0;
}
.tabs .tab.Mui-selected {
	color: var(--color-tertiary);
	background: rgb(255 255 255 / 15%);
	border: 1px solid rgb(255 255 255 / 10%);
	border-bottom: none;
}
.tabs .MuiTabs-indicator {
	background-color: var(--color-tertiary);
}
.tabPanel {
	background: rgb(255 255 255 / 15%);
	border: 1px solid rgb(255 255 255 / 10%);
	border-radius: 0 var(--border-radius);
}

/*FRAGMENTS*/
.fragmentText * {
	color: #fff;
}
.fragmentText p {
	padding-left: 20px;
	line-height: 24px;
}
.fragmentText ul,
.fragmentText ol {
	padding-left: 60px;
	line-height: 24px;
}
.fragmentText .table tbody * {
	color: #000;
}

/*LOADER*/
.loader {
	width: 48px;
	height: 48px;
	border: 5px solid var(--btn-color-secondary);
	border-bottom-color: var(--btn-color-primary);
	border-radius: 50%;
	display: inline-block;
	box-sizing: border-box;
	animation: rotation 1s linear infinite;
}
.loader-container {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgb(0 0 0 / 77%);
	z-index: 1;
}

@keyframes rotation {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
