body {
	display: flex;
	justify-content: center;
	align-items: stretch;
	flex-direction: column;
	min-height: 100vh;
}

#auth_box {
	background: red;
	padding: 24px;
	border-radius: 75px;
	background: var(--background-1);
}

#auth_box .auth_bg {
	width: 100%;
	border-radius: 50px;
	background: var(--color-secondary);
	background-image: url('../img/login-background.jpg');
	background-position: center center !important;
	background-size: cover !important;
	position: relative;
	overflow: hidden;
}

#auth_box .auth_bg::after {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background: var(--color-primary);
	opacity: .8;
}

#auth_box .auth_form {
	padding: calc(1.5rem * 3) calc(1.5rem * 2.5);
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-direction: column;
	gap: 25px;
}

#auth_box .brand img {
	height: 50px;
	margin-bottom: 10px;
}

#auth_box .title {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-direction: column;
	gap: 20px;
}

#auth_box .title h1 {
	font-size: 17pt;
	font-weight: 600;
	margin-bottom: 0;
}

#auth_box .title hr {
	margin: 0 0 10px 0;
	border-color: var(--color-border);
}

#auth_box #message_error {
	font-size: 10pt;
	font-weight: 400;
	color: #dd0000;
	margin: 5px 0 0 0;
	text-align: center;
}

#auth_box #message_error:empty {
	display: none !important;
}

/* responsivity */

@media screen and (max-width: 768px) {

	body {
		background: var(--background-1);
	}

	#auth_box .auth_form {
		padding: calc(1.5rem * 0) calc(1.5rem * .5) calc(1.5rem * 2) calc(1.5rem * .5);
	}

}