:root {

	--color-primary: #95B9C2;
	--color-secondary: #15252B;
	--color-tertiary: #091215;
	--bs-border-radius: 1rem;
	--bs-border-radius-sm: .7rem;
	--bs-border-radius-lg: 2rem;
	--bs-border-radius-xl: 3rem;
	--bs-border-radius-xxl: 4rem;
	--bs-border-radius-2xl: var(--bs-border-radius-xl);


	/* BADGES */

	--badge-green: #00c4a1;
	--badge-orange: #f9a73f;
	--badge-red: #ff6363;

	--fa-color: #343a4063;
}

html {
	font-family: Poppins;
}


/* ----- INPUT BOX ----- */

@keyframes input_updated {
	0% {
		border-color: #d3d3d3;
		box-shadow: 0px 0px 0px #b4dcc4;
	}
	75% {
		border-color: #b4dcc4;
		box-shadow: 0px 0px 50px #b4dcc430;
	}
	100% {
		border-color: #d3d3d3;
		box-shadow: 0px 0px 0px transparent;
	}
}

.input__updated {
	animation: input_updated .5s ease-in-out forwards;
}

.input__box {
	width: 100%;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
	margin-bottom: 20px;
	gap: 8px;
}

.input__box label {
	font-size: .8rem;
	font-weight: 300;
	color: #343a40;
	white-space: nowrap;
	transition: all 200ms linear;
	line-height: 1;
}

.input__box label b {
	font-weight: 300;
	color: #ff0000;
}

.input__box p.message__error {
	display: none;
	font-size: .8rem;
	font-weight: 300;
	line-height: 1;
	margin-bottom: 0px !important;
	width: 100%;
	color: #ff7979;
}

.invalid p.message__error {
	display: flex;
}

.input__box .input__item {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 15px;

	width: 100%;

	transition: all 200ms linear;
	border-radius: 15px;
}

.input__box .input__item:not(:has(input[type="checkbox"])) {
	padding: 0px 15px;
	border: 1px solid #eaeaea;
}

.input__box .input__item .input__icon .hr {
	width: 23px;
	color: #868686;
	transition: all 200ms linear;
	stroke-width: 1px !important;
}

.input__box .input__item input,
.input__box .input__item select,
.input__box .input__item textarea {
	line-height: 200%;
	font-size: .9rem;
	border: none;
	color: #0d0d0d;
	font-weight: 300;
	background: transparent !important;
	padding: 8px 0px;
}

.input__box .input__item input:not([type='checkbox']),
.input__box .input__item select,
.input__box .input__item textarea {
	width: 100%;
}

.input__box .input__item input[type='checkbox'] {
	width: 20px;
	height: 20px;
}


.input__box button {
	line-height: 200%;
	font-size: .8rem;
	border: none;
	color: #ffffff;
	font-weight: 500;
	background: #d52219 !important;
	border-radius: 15px;
	padding: 9px 0px;
	width: 100%;
}

.input__box .input__item select {
	padding: 12.5px 0px !important;
}

.input__color input {
	padding: 0px !important;
}

.input__color {
	padding: 8px 15px !important;
}

.input__item input[type=color] {
	transition: color 300ms ease !important;
	border: none !important;
	background: none !important;
	padding: 0px !important;
	border-radius: 100%;
	min-width: 25px !important;
	min-height: 25px !important;
	width: 25px !important;
	height: 25px !important;
}

.input__item input[type=color] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  border: none;
  cursor: pointer;
}
.input__item input[type=color]::-webkit-color-swatch {
  border-radius: 15px;
  border: none;
}
.input__item input[type=color]::-moz-color-swatch {
  border-radius: 15px;
  border: none;
}

.select__box .input__item {
	padding: 4px 15px;
	gap: 7.5px;
}

.nice-select {
	width: 100% !important;
	border: none !important;
	padding: 0px 30px 0px 0px !important;
	line-height: 100%;
}

.nice-select ul {
	margin-bottom: 0px !important;
}

.nice-select-search-box {
	padding: 0px !important;
}

.nice-select-search-box input {
	padding: 8px 18px !important;
}

.nice-select-dropdown {
	z-index: 1000 !important;
	border-radius: 15px !important;
	overflow: hidden !important;
}

.input__box .input__item input:focus,
.input__box .input__item select:focus,
.input__box .input__item textarea:focus {
	outline: none;
}

.input__box .input__item textarea {
	min-height: 150px;
	padding-top: 10px !important;
	line-height: 150% !important;
}


.input__box .input__item input::placeholder {
	color: #cacaca;
}

.input__box .input__item:hover,
.input__box .input__item:focus-within {
	border-color: #d3d3d3;
}

.input__box:focus-within label,
.input__box:hover label {
	color: #0d0d0d;
}

.input__box:focus-within .hr,
.input__box .input__item:hover .hr {
	color: #0d0d0d !important;
}

.invalid .input__item {
	border-color: #ffc9c9 !important;
}

.invalid .hr {
	color: #ff7979 !important;
}

.modal .disabled::after {
	display: none !important;
}

.modal input[name=date_start] {
	text-align: center !important;
}

.modal input[name=date_end] {
	text-align: center !important;
}

.modal .form-control {
	text-align: center !important;
}

.modal input[type=datetime-local]:disabled {
	text-align: center !important;
}

.modal .disabled,
.modal input:disabled,
.modal select:disabled,
.modal textarea:disabled {
	color: #343a40 !important;
}

/* ----- SWAL ----- */

.swal2-popup {
	padding: 50px 50px 75px 50px !important;
	border-radius: 60px !important;
	overflow: hidden !important;
}

.swal2-backdrop-show {
	backdrop-filter: blur(5px);
	background: #00000050 !important;
	opacity: 1 !important;
}

.swal2-popup h2 {
	font-weight: 600 !important;
	color: #0d0d0d !important;
}

.swal2-popup .swal2-html-container {
	font-weight: 300 !important;
	color: #979797 !important;
}

.swal2-popup .swal2-actions button {
	padding: 10px 20px !important;
	border-radius: 15px !important;
	transition: all 200ms !important;
	font-weight: 600;
}

.swal2-popup .swal2-actions button:focus {
	outline: none !important;
	box-shadow: none !important;
}

.swal2-popup .swal2-warning {
	border-color: #f8bb86 !important;
	color: #ff9c45 !important;
}

.swal2-popup .swal2-info {
	border-color: #90e8d8 !important;
	color: #90e8d8 !important;
}

.swal2-popup .swal2-success-ring,
.swal2-popup .swal2-success-fix,
.swal2-popup .swal2-success-ring {
	border-color: #90e8d8 !important;
	color: #90e8d8 !important;
}

.swal2-popup .swal2-success-line-tip,
.swal2-popup .swal2-success-line-long {
	background-color: #90e8d8 !important;
}

.swal2-popup .swal2-error {
	border-color: #ff5858;
}

.swal2-popup .swal2-x-mark span {
	background-color: #ff3056;
}

/* ----- BACKDROP ----- */

#loadBackdrop {
	width: 100vw;
	height: 100vh;
	background: #00000050;
	backdrop-filter: blur(5px);
	position: fixed;
	z-index: 10000;

	display: none;
	justify-content: center;
	align-items: center;
}

#loadBackdrop svg {
	font-size: 4rem;
	color: #ffffff;
}

/* ----- STATUS ----- */

.status__badge {
	padding: 4px 8px;
	font-size: 12px;
	border-radius: 10px;
	background: var(--color-primary);
	line-height: 1;
	font-weight: 600;
	color: #ffffff;
}

.status__ativo {
	background: var(--badge-green) !important;
}

.status__convidado {
	background: var(--badge-orange) !important;
}

.status__inativo {
	background: var(--badge-red) !important;
}

/* ----- RESPONSIVIDADE ----- */

@media screen and (max-width: 576px) {
	.mobile__hide {
		display: none;
	}
}
