body {
	background-image: url('../../image/background.svg');
	background-size: 20%;
}

body .container {
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100vw;
	font-family: Poppins !important;
}

.login__box {
	width: 100%;
	height: 70vh;
	background: #ffffff;
	border-radius: 75px;
	box-shadow: 0px 0px 200px #00000008;
	overflow: hidden;
}

.login__box .row {
	height: 100%;
}

.right {
	display: flex;
	justify-content: center;
	align-items: center;

	width: 100%;
	height: 100%;

	background: var(--color-primary);
}

.background {
	width: 100%;
	height: 100%;

	filter: saturate(5%) opacity(50%);

	background: url('../../image/login_background.png');
	background-position: center center;
	background-size: cover;

	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	padding: 10px 75px;
}

.background a {
	font-size: 8pt;
	font-weight: 300;
	color: #fff;
	opacity: .5;
}

.left {
	height: 100%;
}

.form__box {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-direction: column;
	padding: 50px 40px 50px 50px;
	height: 100%;
}

.form__brand {
	height: 100%;
}

.form__brand img {
	height: 50px;
	cursor: pointer;
}

.form__title {
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
	flex-direction: column;
	gap: 10px;
}

.form__title h1 {
	font-size: 18pt;
	font-weight: 500;
	margin-bottom: 0px;
}

.form__title p {
	font-size: 12pt;
	font-weight: 300;
	margin-bottom: 0px;
	line-height: 130%;
	color: #15252B50;
}

.form__footer {
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	width: 100%;
}

.form__content {
	width: 100%;
	margin-top: 25px;
}


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

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



.input__box label {
	width: 100%;
	font-size: 10pt;
	font-weight: 400;
	color: #343a40ac;
}

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

.input__box .input__item {
	width: 100%;
	transition: all 300ms ease;
}

.input__box .input__item:not(:has(input[type="checkbox"])) {
	border-bottom: 1px solid #00000010;
}

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

.input__box .input__item input {
	width: 100%;
	padding: 10px 0px;
	font-weight: 300;
	font-size: 11pt;
	border: none !important;
}

.input__box .input__item input:focus {
	outline: none !important;
}

.input__box .input__item input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 30px white inset !important;
    -webkit-text-fill-color: #000 !important;
}

.input__box p.message__error {
	display: none;
	font-size: 10pt;
	font-weight: 300;
	color: #ff0000;
	margin-bottom: 0px;
}

.input__button {
	margin-top: 25px;
}

.input__button button {
	width: 100%;
	border-radius: 20px;
	background: var(--color-secondary);
	border: 1px solid var(--color-secondary);
	padding: 14px 0px;
	font-weight: 600;
	font-size: 10pt;
	color: #ffffff;
	transition: all 300ms ease;
}

.input__button button:disabled {
	filter: saturate(50%);
	opacity: .7
}

.input__actions {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	margin-top: 10px;
}

.input__actions p {
	font-size: 10pt;
	font-weight: 300;
	color: #343a40ac;
	margin-bottom: 0px;
}

.input__actions a {
	font-weight: 300;
	color: var(--color-secondary);
	text-decoration: none;
}

.input__recovery {
	display: flex;
	justify-content: center;
	align-items: center;
}

.input__recovery a {
	text-decoration: none;
	font-size: 10pt;
	font-weight: 300;
	color: var(--color-secondary);
	margin-top: 10px;
	opacity: .3;
	transition: all 300ms ease;
}

.input__recovery a:hover {
	opacity: 1;
}

.or__divider {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	gap: 15px;
	margin: 15px 0px 5px 0px;
}

.or__divider p {
	margin-bottom: 0px;
	font-size: 10pt;
	font-weight: 300;
	color: #343a4030;
}

.or__divider hr {
	border-color: #343a4030;
	margin: 0px !important;
	width: 20%;
}

.input__code {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: nowrap;
	gap: 10px;

	padding: 0px;
	border: none !important;
}

.input__code input {
	font-size: 13pt;
	font-weight: 500;
	border: 1px solid #343a4020 !important;
	width: 100%;
	padding: 10px 0px;
	border-radius: 15px;
	box-shadow: 0px 2px 15px -10px #00000020;
	text-align: center;
	transition: all 300ms ease;
	caret-color: transparent;
	text-transform: uppercase;
	color: #343a40;
}

.input__code input:focus,
.input__code input:hover {
	border-color: #343a4080 !important;
	box-shadow: 0px 2px 15px -10px #00000030;
}

.input__code input:focus {
	outline: none;
}

#code__error {
	text-align: center !important;
	margin-top: 5px !important;
	width: 100% !important;
}

.cancel__button {
	margin-top: 10px;
	background: #f1f1f1 !important;
	border-color: #f1f1f1 !important;
	color: #343a40 !important;
}

#passwordRequirements {
	list-style: none;
	padding: 0px;
	font-size: 10pt;
	font-weight: 300;
}

#passwordRequirements svg {
	margin-right: 3px;
}

.form__step {
	display: none;
}


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

@media screen and (max-width: 576px) {
	.login__box {
		width: 100vw;
		height: 100vh;
		border-radius: 0px;
	}
	.form__box {
		padding: 50px 30px !important;
	}
	.container {
		padding: 0px;
	}
}
