.pt5 {


	padding-top: 5px;


}





.pt10 {


	padding-top: 10px;


}





.pt20 {


	padding-top: 20px;


}





.pt30 {


	padding-top: 30px;


}





.pt40 {


	padding-top: 40px;


}





.pt50 {


	padding-top: 50px;


}





.pb5 {


	padding-bottom: 5px;


}





.pb10 {


	padding-bottom: 10px;


}





.pb20 {


	padding-bottom: 20px;


}





.pb30 {


	padding-bottom: 30px;


}





.pb40 {


	padding-top: 40px;


}





.pb50 {


	padding-top: 50px;


}





.mt5 {


	margin-top: 5px;


}





.mt10 {


	margin-top: 10px;


}





.mt20 {


	margin-top: 20px;


}





.mt30 {


	margin-top: 30px;


}





.mt40 {


	margin-top: 40px;


}





.mt50 {


	margin-top: 50px;


}





.mb5 {


	margin-bottom: 5px;


}





.mb10 {


	margin-bottom: 10px;


}





.mb20 {


	margin-bottom: 20px;


}





.mb30 {


	margin-bottom: 30px;


}





.mb40 {


	margin-top: 40px;


}





.mb50 {


	margin-top: 50px;


}








html,


body {


	height: 100%;


}





body.dark {


	width: 100%;


	background: #000;


	background-image: url(../images/back.jpg);


	background-position: center;


	background-size: cover;


	overflow-x: hidden;


	overflow-y: auto;


}





body.light {


	width: 100%;


	background-color: #E6E6E6;


	overflow-x: hidden;


	overflow-y: auto;


}





body.light nav.nav-light {


	background-color: #ffffff !important;


}








#loading h1 {


	font-size: 16.3vh;


	font-weight: 100;


}





#menuIcons {


	position: absolute;


	z-index: 9;


	width: 100%;


	bottom: 0;


	background-color: rgba(0, 0, 0, 0.5);


}





#menuIcons h1 {


	font-size: 30px;


	font-weight: 400;


	text-transform: uppercase;


	color: rgba(255, 255, 255, 0.9);


	text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.3);


	padding: 20px;


	background: #000;


}





#navigation {


	margin-top: 20px;


	display: block;


	list-style: none;


	z-index: 3;


	text-align: center;


	float: left;


	position: relative;


	left: 50%;


	transform: translate(-50%);


}





#navigation li {


	margin-top: 20px;


	/*width: 25%;*/


	float: left;


}





#navigation a {


	color: #444;


	display: block;


	/*background: #fff;*/


	/*background: rgba(255,255,255,0.9);*/


	line-height: 50px;


	padding: 0px 20px;


	text-transform: uppercase;


	margin-bottom: 6px;


	/*box-shadow: 1px 1px 2px rgba(0,0,0,0.2);*/


	font-size: 14px;


}





#navigation img {


	height: 100px;


}





.content {


	display: inline-flex;


	position: absolute;


	width: 100%;


	top: 50%;


	transform: translateY(-50%);


}





.content h2 {


	padding: 10px 0px 20px 0px;


	margin-top: 52px;


	color: #fff;


	color: rgba(255, 255, 255, 0.9);


	text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.3);


}





.content p {


	font-size: 18px;


	padding: 10px;


	line-height: 24px;


	color: #fff;


	display: inline-block;


	background: black;


	padding: 10px;


	margin: 3px 0px;


}





header {


	width: 100%;


	display: table;


	margin: 0 auto;


	z-index: 9;


}





/* Menu */


.logo {


	width: 44px;


	height: 40px;


	padding: 0px 5px 0px 0px;


	margin: 10px 0px;


}





nav .separador {


	min-height: 40px;


}





nav .separador2 {


	width: 0px;


	height: 28px;


	display: block;


}





nav .logo>img {


	max-width: 44px;


	margin: auto;


}











/* Menu Dark */


nav .nav-item .transparent {


	font-size: 1.1em;


	color: #3C4145;


}





@media (max-width: 576px) {


	.navbar-dark.transparente {


		background-color: rgba(0, 0, 0, 0.3) !important;


	}


}





@media (min-width: 576px) {


	.navbar-dark.transparente {


		background-color: transparent !important;


	}


}





.navbar-dark .menu_nome {


	font-size: 31px;


	color: #999999;


}





.navbar-dark .nav {


	color: #999999;


}





.navbar-dark>.nav-link {


	font-size: 1.15em;


	color: #3C4145 !important;


}





.navbar-dark>.nav-link:hover {


	color: #999999 !important;


}





nav.navbar-dark .separador {


	border-right: solid 1px #999999;


}





nav.navbar-dark .separador2 {


	border-right: solid 1px #3C4145;


}








/* Menu Light */


nav .nav-item .transparent {


	font-size: 1.1em;


	color: #3C4145;


}





.navbar-light.transparente {


	background-color: transparent !important;


}





.navbar-light .menu_nome {


	font-size: 31px;


	color: #C4C4C4;


}





.navbar-light .nav {


	color: #C4C4C4;


}





.navbar-light>.nav-link {


	font-size: 1.15em;


	color: #C4C4C4 !important;


}





.navbar-light>.nav-link:hover {


	color: #C4C4C4 !important;


}





nav.navbar-light .separador {


	border-right: solid 1px #C4C4C4;


}





nav.navbar-light .separador2 {


	border-right: solid 1px #C4C4C4;


}











header ul#menu {


	margin-top: 2px;


	display: block;


	list-style: none;


	z-index: 3;


	text-align: center;


	float: right;


	position: relative;


	right: 0;


}





header ul#menu li {


	margin-top: 20px;


	/*width: 25%;*/


	float: left;


}





header ul#menu a {


	color: #555;


	display: block;


	line-height: 50px;


	padding: 0px 20px;


	text-transform: uppercase;


	margin-bottom: 6px;


	font-size: 16px;


}





header ul#menu a.menuAtivo {


	color: #fff;


	display: block;


	line-height: 50px;


	padding: 0px 20px;


	text-transform: uppercase;


	margin-bottom: 6px;


	font-size: 16px;


}





li.divisor {


	line-height: 47px;


}





.carousel {


	width: 100% !important;


}





.carousel-item {


	width: 100%;


	height: 100vh;


}





.carousel-item h1 {


	color: #fff;


	text-align: center;


	padding-top: 30px;


	font-weight: 100;


}





.carousel-item .item {


	width: 50%;


	text-align: center;


	left: 50%;


	position: relative;


	top: 50%;


	transform: translate(-50%, -50%);


}





.carousel-item ul#menuSlide {


	margin-top: 20%;


	display: block;


	list-style: none;


	z-index: 3;


	text-align: center;


	position: relative;


	right: 0;


}





.carousel-item {


	transition-duration: 2s !important;


	-webkit-transition: opacity 2s ease-in-out !important;


	-moz-transition: opacity 2s ease-in-out !important;


	-ms-transition: opacity 2s ease-in-out !important;


	-o-transition: opacity 2s ease-in-out !important;


}














ul#menuSlide li {


	margin-top: 20px;


	float: left;


}





.backWhite {


	background-color: #fff;


}





/*   saibamais e facaparte   */


.backGray {


	background-color: #E6E6E6 !important;


}





#menu.menuBlack a {


	color: #ccc;


}





#menu.menuBlack a.menuAtivo {


	color: #000;


}





header.backWhite {


	background-color: #ffffff;


	height: 100px;


	position: relative;


}





.boxWhite {


	overflow: hidden;


	vertical-align: middle !important;


	padding: 60px 40px 20px 40px;


	background-color: #ffffff;


	border-radius: 15px;


	margin: 30px 0px;


}





.boxWhite .header {


	border-radius: 15px 15px 0px 0px;


	background-color: #EEEEEE;


	margin: -60px -40px 0px -40px;


}





.min-h-400 {


	min-height: 400px;


}





.min-h-500 {


	min-height: 500px;


}





.min-h-600 {


	min-height: 600px;


}





.boxConteudoWhite {


	width: 70%;


	background-color: #fff;


	/*position: relative;*/


	/*left: 15%;


	top: 25%;*/


	min-height: 400px;


	height: auto;


	border-radius: 15px;


	padding: 40px
}





.boxWhite :not(.header) h2 {


	font-size: 40px;


	color: #000;


	margin-top: 5px;


	text-align: left;


	padding-bottom: 5px;


	margin-bottom: 0;


}





.boxWhite h4 {


	text-align: left;


	color: #878382;


	font-size: 2.2rem;


}





.boxSaibaMais {


	padding: 15px 15px 0 15px;


}





.boxSaibaMais h5 {


	color: #000;


	font-size: 1.6rem;


	line-height: 30px;


	text-align: justify;


	padding-bottom: 15px;


}





.boxConteudoWhite.boxSM {


	width: 75%;


	background-color: #fff;


	position: relative;


	left: 12.5%;


	top: 25%;


	height: auto;


	border-radius: 15px;


	padding: 40px
}





form {


	float: left;


	padding-top: 25px;


	padding-bottom: 25px;


	width: 100%;


	text-align: left;


}





input:focus,


textarea:focus,


select:focus,


button:focus {


	outline: none !important;


}





.validate-error {


	position: absolute;


	left: 25px;


	bottom: -22px;


	margin-top: 10px;


	font-size: 0.8em;


}





form input,


form select {


	width: 100%;


	text-align: left;


	border: 1px solid #DDDDDD;


	/*height: 40px;


	line-height: 40px;*/


	border-radius: 5px;


	padding: 5px;


	padding-left: 10px !important;


}





button[type="submit"] {


	cursor: pointer;


	background-color: #000000;


	border: 1px solid #000000;


	color: #fff;


	padding: 5px 15px;


	border-radius: 5px;


	margin-left: 10px;


	font-size: 17px;


	height: 40px;


}





button[type="submit"]:hover {


	background-color: #1C1C1C;


	border: 1px solid #1C1C1C;


}





.boxQuero {


	text-decoration: none !important;


	display: flex;


	float: right;


}





.tituloQuero {


	text-decoration: none !important;


	font-weight: 100;


	font-size: 1.6em;


	color: #000;


	margin-right: 15px;


}





.container-checkbox {


	display: block;


	position: relative;


	padding-left: 35px;


	margin-bottom: 12px;


	cursor: pointer;


	font-size: 22px;


	-webkit-user-select: none;


	-moz-user-select: none;


	-ms-user-select: none;


	user-select: none;


}





/* Hide the browser's default checkbox */


.container-checkbox input {


	position: absolute;


	opacity: 0;


	cursor: pointer;


}





/* Create a custom checkbox */


.container-checkbox .checkmark {


	position: absolute;


	top: 0;


	left: 0;


	height: 28px;


	width: 35px;


	background-color: #000000;


	border: 1px solid #000000;


	border-radius: 5px;


	transition: 0.5s !important;


}





/* On mouse-over, add a grey background color */


.container-checkbox:hover input~.checkmark {


	background-color: #1C1C1C;


}





/* When the checkbox is checked, add a blue background */


.container-checkbox input:checked~.checkmark {


	background-color: #1C1C1C;


}





/* Create the checkmark/indicator (hidden when not checked) */


.container-checkbox .checkmark:after {


	content: "";


	position: absolute;


	display: none;


}





/* Show the checkmark when checked */


.container-checkbox input~.checkmark:after {


	display: block;


}











/* Style the checkmark/indicator */


.container-checkbox .checkmark:after {


	left: 13px;


	top: 2px;


	width: 8px;


	height: 16px;


	border: solid #E6E6E6;


	border-width: 0 3px 3px 0;


	-webkit-transform: rotate(45deg);


	-ms-transform: rotate(45deg);


	transform: rotate(45deg);


}





.boxRadio {


	display: flex;


	float: left;


	clear: both;


	padding-top: 15px;


}





.boxRadio h6 {


	text-align: right;


	color: #808080;


	font-size: 25px;


	line-height: 25px;


	margin-right: 15px;


	padding-top: 0px;


	width: 110px;


}





.boxRadio .container-checkbox input:checked~.checkmark {


	background-color: #000000;


}





.boxRadio .container-checkbox .checkmark {


	position: absolute;


	top: 0;


	left: 0;


	height: 28px;


	width: 35px;


	background-color: #fff;


	border: 1px solid #E6E6E6;


	border-radius: 5px;


	transition: 0.5s !important;


}





#review .col-xs-12 {


	float: left;


	padding-bottom: 25px;


}





#formReview a {


	color: #219EE3;


	font-size: 20px;


	text-decoration: none;


}








#formReview label {


	font-size: 20px;


	color: #000;


}





#formReview h6 {


	color: #808080;


	font-size: 25px;


}





input.confirmDados {


	border: 1px solid #fff;


	padding: 0;


	height: 20px;


}





.boxWhite .header h2 {


	padding: 10px 40px;


	font-size: 40px;


	color: #264C84;


	text-align: left;


	margin-top: 0px;


	margin-bottom: 20px;


}





.circulo {


	display: inline-block;


	margin: auto;


	max-width: 450px;


	max-height: 450px;


	border: 1px solid #ffffff;


	border-radius: 50%;


	font-size: 50px;


	color: #fff;


	text-align: center;


	background: transparent;


}





.circulo img {


	width: 100%;


	height: auto;


}





.circulo-105 {


	max-width: 105px;


	max-height: 105px;


	/*border: 1px solid #C4C4C4;*/


}





@media (max-width: 576px) {


	.boxRadio h6 {


		font-size: 16px;


	}





	.fix-bottom-right {


		position: relative;


		margin-top: 20px;


		margin-right: -10px;


	}





	.boxWhite :not(.header) h2 {


		font-size: 27px;


	}





	.menu_nome {


		font-size: 18px !important;


	}





	#formReview label,


	#formReview a {


		font-size: 15px;


	}





	#formReview h6 {


		font-size: 20px;


	}





	#loading h1 {


		font-size: 12.5vh;


		font-weight: 100;


	}





	.boxConteudoWhite {


		padding: 30px;


	}





	.boxSaibaMais h5 {


		font-size: 1.1rem;


	}





	.tituloQuero {


		font-size: 1.1em;


		font-weight: 600;


	}





	.h1-desc {


		font-weight: 100 !important;


		font-size: 3.5vh;


	}





	.header h2 {


		font-size: 20px;


		height: auto;


		text-align: center;


	}





	.boxWhite h2,


	.boxWhite .header h2 {


		font-size: 28px;


	}





	.boxWhite h4 {


		text-align: left;


		font-size: 1.2rem;


	}





	form input,


	form select {


		width: calc(100% - 70px);


		text-align: left;


		border: 1px solid #DDDDDD;


		/*height: 40px;


		line-height: 40px;*/


		border-radius: 5px;


		padding: 5px;


		padding-left: 10px !important;


	}


}





@media (min-width: 576px) {


	.boxRadio h6 {


		font-size: 18px;


	}





	.fix-bottom-right {


		position: relative;


		margin-top: 20px;


		margin-right: -10px;


	}





	.boxWhite :not(.header) h2 {


		font-size: 29px;


	}





	.menu_nome {


		font-size: 20px !important;


	}





	#formReview label,


	#formReview a {


		font-size: 17px;


	}





	#formReview h6 {


		font-size: 22px;


	}





	#loading h1 {


		font-size: 13vh;


		font-weight: 100;


	}





	.boxSaibaMais h5 {


		font-size: 1.2rem;


		text-align: center;


	}





	.tituloQuero {


		font-size: 1.2em;


		font-weight: 600;


	}





	.h1-desc {


		font-weight: 100 !important;


		font-size: 4.1vh;


	}





	.boxWhite h2,


	.boxWhite .header h2 {


		font-size: 30px;


		text-align: left;


	}





	.boxWhite h4 {


		text-align: left;


		font-size: 1.2rem;


	}





	form input,


	form select {


		width: calc(100%-60px);


		text-align: left;


		border: 1px solid #DDDDDD;


		/*height: 40px;


		line-height: 40px;*/


		border-radius: 5px;


		padding: 5px;


		padding-left: 10px !important;


	}


}





@media (min-width: 768px) {


	nav.navbar {


		padding: 10px 10px 20px 10px;


	}





	.boxRadio h6 {


		font-size: 20px;


	}





	.fix-bottom-right {


		position: absolute;


		bottom: 0px;


		right: 10px;


	}





	.boxWhite :not(.header) h2 {


		font-size: 32px;


	}





	nav.navbar {


		padding: 20px 10px;


	}





	.menu_nome {


		font-size: 21px !important;


	}





	#formReview label,


	#formReview a {


		font-size: 85px;


	}





	#formReview h6 {


		font-size: 23px;


	}





	#loading h1 {


		font-size: 16.3vh;


		font-weight: 100;


	}





	.boxSaibaMais h5 {


		font-size: 1.4rem;


		text-align: justify;


	}





	.tituloQuero {


		font-size: 1.4em;


	}





	.h1-desc {


		font-weight: 100 !important;


		font-size: 4.5vh;


	}





	.boxConteudoWhite {


		max-width: 1400px;


		width: 70%;


		left: 15%;


	}





	.boxConteudoCinza {


		padding: 0 40px;


		text-align: left;


	}





	.boxWhite h2,


	.boxWhite .header h2 {


		font-size: 35px;


	}





	.boxWhite h4 {


		text-align: left;


		font-size: 1.5rem;


	}





	form input,


	form select {


		width: 100%;


		text-align: left;


		border: 1px solid #DDDDDD;


		/*height: 40px;


		line-height: 40px;*/


		border-radius: 5px;


		padding: 5px;


		padding-left: 10px !important;


	}





	button[type="submit"] {


		cursor: pointer;


		background-color: #000000;


		border: 1px solid #000000;


		color: #fff;


		padding: 5px 15px;


		border-radius: 5px;


		margin-left: 10px;


		font-size: 17px;


		height: 40px;


	}


}





@media (min-width: 992px) {


	.boxRadio h6 {


		font-size: 24px;


	}





	.boxWhite :not(.header) h2 {


		font-size: 35px;


	}





	nav.navbar {


		padding: 20px 10px 30px 10px;


	}





	nav.navbar {


		padding: 25px 10px;


	}





	.menu_nome {


		font-size: 22px !important;


	}





	#formReview label,


	#formReview a {


		font-size: 19px;


	}





	#formReview h6 {


		font-size: 24px;


	}





	.boxSaibaMais h5 {


		font-size: 1.6rem;


		text-align: justify;


	}





	.tituloQuero {


		font-size: 1.6em;


	}





	.h1-desc {


		font-weight: 100 !important;


		font-size: 4.9vh;


	}





	.boxConteudoWhite {


		max-width: 1400px;


		width: 64%;


		left: 18%;


	}





	.boxWhite h2,


	.boxWhite .header h2 {


		font-size: 30px;


	}





	.boxWhite h4 {


		text-align: left;


		font-size: 2rem;


	}


}





@media (min-width: 1200px) {


	.boxRadio h6 {


		font-size: 25px;


	}





	nav.navbar {


		padding: 20px 10px 30px 10px;


	}





	/*.menu_nome { font-size: 25px !important; }*/


	#formReview label,


	#formReview a {


		font-size: 20px;


	}





	#formReview h6 {


		font-size: 25px;


	}





	.container {


		max-width: 1160px !important;


	}





	.boxSaibaMais h5 {


		font-size: 1.6rem;


		text-align: justify;


	}





	.h1-desc {


		font-weight: 100 !important;


		font-size: 5.3vh;


	}





	.boxWhite h2,


	.boxWhite .header h2 {


		font-size: 40px;


	}





	.boxWhite h4 {


		text-align: left;


		font-size: 2.2rem;


	}


}





@media (min-width: 700px) and (max-height: 800px) {


	.circulo {


		margin-top: 30px;


		width: 45vh;


		height: 45vh;


	}


}





/* Animate */


.animate__animated.animate__delay-05s {


	animation-delay: 0.5s !important;


}





.animate__animated.animate__delay-1-5s {


	animation-delay: 1.5s !important;


}





input:-webkit-autofill,


input:-webkit-autofill:hover,


input:-webkit-autofill:focus,


textarea:-webkit-autofill,


textarea:-webkit-autofill:hover textarea:-webkit-autofill:focus,


select:-webkit-autofill,


select:-webkit-autofill:hover,


select:-webkit-autofill:focus {


	/* border: 1px solid white; */


	-webkit-text-fill-color: inherit !important;


	-webkit-box-shadow: 0 0 0px 1000px #fffff inset;


	transition: background-color 5000s ease-in-out 0s;


}





input[type=text],


input[type=email],


input[type=password],


textarea {


	-webkit-appearance: none !important;


}








button[type=submit] {


	transition: background-color 0.5s ease;


}





button[type=submit]:hover {


	background-color: #4D4D4D;


}











form label.error {


	font-size: 0.8em;


	color: red;


}








/* Fix Foms BS5*/


input,


select {


	width: 100%;


}





textarea:hover,


input:hover,


textarea:active,


input:active,


textarea:focus,


input:focus,


button:focus,


button:active,


button:hover,


label:focus,


.btn:active,


.btn.active {


	outline: 0px !important;


	-webkit-appearance: none;


	box-shadow: none !important;


}




















/* Modal Alerta */


.modal.alerta.show {


	backdrop-filter: blur(5px);


	background: rgba(0, 0, 0, 0.7);


}


/* =========================================
   LOGIN PAGE STYLES (Glassmorphism)
   ========================================= */

/* Ocultar menu padrão do sistema (apenas se existir) */


/* Configurações Globais da Página de Login */
.login-page-body {
	display: flex;
	flex-direction: column;
	background: url('../images/back.jpg') no-repeat center center fixed;
	background-size: cover;
	font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
	height: 100vh;
	width: 100%;
	overflow-x: hidden;
	margin: 0;
	padding: 0;
}

/* Container Principal */
.login-page-body .login-container {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	flex-grow: 1;
	min-height: 0;
}

/* Header Personalizado */
.login-page-body .custom-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px 50px;
	width: 100%;
	z-index: 10;
}

.login-page-body .brand-logo {
	display: flex;
	align-items: center;
	color: #fff;
	font-size: 1.2rem;
	font-weight: 300;
	letter-spacing: 1px;
	text-decoration: none;
}

.login-page-body .brand-logo img {
	height: 24px;
	margin-right: 15px;
	opacity: 0.8;
}

.login-page-body .header-menu {
	display: flex;
	align-items: center;
	gap: 25px;
}

.login-page-body .header-link {
	color: #aaa;
	font-size: 0.8rem;
	text-transform: uppercase;
	text-decoration: none;
	letter-spacing: 1px;
	transition: color 0.3s;
}

.login-page-body .header-link:hover,
.login-page-body .header-link.active {
	color: #fff;
}

.login-page-body .user-icon-link {
	color: #fff;
	font-size: 1.5rem;
}

/* Box de Login Glassmorphism */
.login-page-body .login-box-wrapper {
	flex-grow: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}

.login-page-body .glass-box {
	background: rgba(40, 40, 40, 0.35);
	backdrop-filter: blur(15px);
	-webkit-backdrop-filter: blur(15px);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 10px;
	padding: 0;
	width: 100%;
	max-width: 700px;
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.5);
	overflow: hidden;
}

.login-page-body .box-header {
	background: rgba(20, 20, 20, 0.6);
	padding: 20px 30px;
	display: flex;
	align-items: center;
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.login-page-body .box-header i {
	background: #fff;
	color: #000;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 15px;
	font-size: 14px;
}

.login-page-body .box-header span {
	color: #fff;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.5px;
}

.login-page-body .box-body {
	padding: 40px 50px;
}

/* Formulário */
.login-page-body .login-form-group {
	display: flex;
	align-items: center;
	margin-bottom: 30px;
	position: relative;
}

.login-page-body .login-form-label {
	color: #ccc;
	font-size: 1.1rem;
	font-weight: 300;
	text-align: right;
	margin-right: 0;
	margin-bottom: 0;
	padding-right: 15px;
	white-space: nowrap;
}

.login-page-body .form-control-custom {
	background: transparent;
	border: none;
	border-bottom: 1px solid #555;
	border-radius: 0;
	color: #fff;
	padding: 10px 0;
	width: 100%;
	font-size: 1.1rem;
	font-weight: 300;
	transition: border-color 0.3s;
}

.login-page-body .form-control-custom:focus {
	background: transparent;
	border-bottom-color: #fff;
	box-shadow: none;
	outline: none;
	color: #fff;
}

.login-page-body .password-input-wrapper {
	position: relative;
	width: 100%;
}

.login-page-body .password-control {
	background: transparent;
	border: 1px solid #555;
	border-radius: 20px;
	color: #fff;
	padding: 8px 15px;
	width: 100%;
	font-size: 1rem;
}

.login-page-body .password-control:focus {
	background: rgba(255, 255, 255, 0.05);
	border-color: #888;
	outline: none;
	color: #fff;
}

.login-page-body .recover-link {
	display: block;
	text-align: right;
	color: #888;
	font-size: 0.75rem;
	margin-top: 8px;
	text-decoration: none;
	text-transform: lowercase;
}

.login-page-body .recover-link:hover {
	color: #aaa;
}

/* Tratamento de Erros de Validação */
.login-page-body label.error {
	position: absolute;
	bottom: -20px;
	left: 0;
	width: 100%;
	text-align: right;
	font-size: 0.75rem !important;
	color: #ff6b6b !important;
	font-weight: normal;
	padding-right: 15px;
}

.col-md-8 .login-page-body label.error,
.login-page-body .col-md-8 label.error {
	text-align: left;
	padding-left: 5px;
}

/* Footer Personalizado */
.login-page-body .custom-footer {
	padding: 20px 50px;
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.login-page-body .legal-text {
	font-size: 0.6rem;
	color: #555;
	line-height: 1.4;
	text-transform: uppercase;
}

.login-page-body .social-icons {
	display: flex;
	gap: 40px;
	flex-grow: 1;
	justify-content: center;
}

.login-page-body .social-btn {
	background: #fff;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #000;
	font-size: 1.2rem;
	transition: transform 0.2s;
	text-decoration: none;
}

.login-page-body .social-btn:hover {
	transform: scale(1.1);
	color: #000;
}

/* Responsividade */
@media (max-width: 768px) {
	.login-page-body .custom-header {
		padding: 15px;
	}

	.login-page-body .box-body {
		padding: 30px 20px;
	}

	.login-page-body .login-form-label {
		width: 100%;
		text-align: left;
		margin-bottom: 5px;
		padding-right: 0;
	}

	.login-page-body .login-form-group {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		margin-bottom: 25px;
	}

	.login-page-body label.error {
		position: static;
		text-align: left;
	}

	.login-page-body .social-icons {
		gap: 20px;
	}
}

/* Autofill fix for Login Page */
.login-page-body input:-webkit-autofill,
.login-page-body input:-webkit-autofill:hover,
.login-page-body input:-webkit-autofill:focus,
.login-page-body input:-webkit-autofill:active {
	-webkit-text-fill-color: #fff !important;
	-webkit-box-shadow: 0 0 0px 1000px transparent inset !important;
	transition: background-color 5000s ease-in-out 0s;
	caret-color: #fff;
}
