:root {
	--rosa: #e50040;
	--azul: #0779a8;
	--fonte-cinza: #818181;
	--footer: #192282;
	--azul-contato: #333796;

	--fonte-regular: 'Nunito-Regular';
	--fonte-light: 'Nunito-Light';
	--fonte-bold: 'Nunito-Bold';
	--fonte-semibold: 'Nunito-SemiBold';
	--fonte-extrabold: 'Nunito-ExtraBold';

	--box-shadow: 0px 4px 16px 0px rgb(0 0 0 / 25%);
}

html, body{
	max-width: 100%;
	width: 100%;
	overflow-x: hidden;
}

body{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	padding: 0;
	overflow: hidden;
	position: relative;
}

*{
	text-decoration: none;
	margin: 0;
	padding: 0;
	outline: none !important;
	box-sizing: border-box;
	list-style: none;
	font-family: var(--fonte-medium);
}

input {
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
}

img{
	max-width: 100%;
	width: auto;
}

div{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 100%;
}

section{
	position: relative;
	width: 100%;
	overflow: visible;
}

.container{
	width: 85vw;
	margin: 0 auto;
	max-width: 1280px;
}

p, ul li{
	font-family: var(--fonte-regular);
	color: var(--fonte-cinza);
	padding: 0;
	border-bottom: none;
	line-height: 26px;
}

a{
	transition: .3s;
	/*transition-timing-function: ease-out;*/
}

a:hover, a:hover, a:focus {
	text-decoration: none;
}

h1,h2,h3,h4,h5{
	font-family: var(--fonte-regular);
	font-weight: normal !important;
}

h2 span, h3 span, h4 span, h5 span, p span {
	font-family: var(--fonte-bold);
}

label.error {
	position: absolute;
	font-size: 14px;
	color: #ff4f4f;
	bottom: -20px;
	left: 0;
	margin: 0;
}

input.error{
	/*border: 1px solid #ff4f4f !important;*/
}

textarea.error{
	/*border: 1px solid #ff4f4f !important;*/
}

.enviar.active {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgb(0 0 0 / 43%);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	z-index: 1
}

.enviar.active .loader {
	border: 6px solid #fff;
	border-top: 6px solid var(--verde);
	border-radius: 50%;
	width: 50px;
	height: 50px;
	animation: spin 2s linear infinite
}

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

.not-select{
	-webkit-user-select: none;  
	-moz-user-select: none;     
	-ms-user-select: none;      
	user-select: none;  
}


.loading {
	position: fixed;
	width: 100vw;
	height: 100vh;
	background-color: var(--azul);
	display: flex;
	justify-content: center;
	align-content: center;
	z-index: 99
}

.loading .logo-loading {
	width: 90px;
	overflow: hidden;
	opacity: 0;
	transition: 1s
}

.loading .logo-loading.active {
	width: 227px
}

.loading .logo-loading img {
	width: 227px;
	max-width: 227px
}




header{
	width: 100%;
	position: absolute;
	top: 70px;
	left: 0;
	z-index: 2;
}

header .box-header{
	justify-content: space-between;
	padding: 20px 0;
}


header .box-header .logo{
	width: 300px;
}

header .box-header .menu{
	width: auto;
	justify-content: flex-end;
	background-color: #fff;
	padding: 30px 0;
}

header .box-header .menu ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
}

header .box-header .menu ul li{
	margin: 0 40px;
}

header .box-header .menu ul li a{
	font-size: 18px;
	line-height: 24px;
	color: var(--azul);
	position: relative;
	font-family: var(--fonte-semibold);
}

header .box-header .menu ul li.active a,
header .box-header .menu ul li a:hover{
	color: var(--rosa);
	/*font-family: var(--fonte-bold);*/
}


header .box-header .btn-menu{
	display: none;
}

.slick-dotted.slick-slider {
	margin-bottom: 0;
}

#banner-home{
	z-index: 1;
}


#banner-home .item{
	justify-content: center;
	display: flex;
}

#banner-home .infos{
	position: absolute;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	justify-content: flex-start;
}

#banner-home .infos .container{
	width: 100%;
	justify-content: flex-start;
}

#banner-home .infos h1{
	width: 100%;
	text-align: left;
	font-size: 78px;
	font-family: var(--fonte-bold);
	line-height: 82px;
	color: #fff;
}

#banner-home .infos h1 span{
	color: var(--rosa);
}

#banner-home .infos .btn{
	justify-content: flex-start;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
}

#banner-home .infos .btn a{
	
}



#como-solicitar .box-solicitar{
	justify-content: space-between;
	align-items: flex-start;
	padding-bottom: 80px;
}

#como-solicitar .box-solicitar .conteudo{
	width: 48%;
	justify-content: flex-start;
}

#como-solicitar .box-solicitar .conteudo .tit{
	justify-content: flex-start;
	margin-bottom: 60px;
}

#como-solicitar .box-solicitar .conteudo .tit h2{
	font-size: 86px;
	color: var(--rosa);
	line-height: 100px;
	font-family: var(--fonte-bold);
	position: relative;
}

#como-solicitar .box-solicitar .conteudo .tit h2:before{
	content: "";
	background-color: var(--rosa);
	width: 90px;
	height: 5px;
	position: absolute;
	bottom: -12px;
	left: 2px;
}

#como-solicitar .box-solicitar .conteudo .infos ul{
	width: 100%;
	position: relative;
}

#como-solicitar .box-solicitar .conteudo .infos ul:before{
	content: "";
	background-color: var(--azul);
	height: 90%;
	width: 5px;
	position: absolute;
	top: 8px;
	left: 30px;
}

#como-solicitar .box-solicitar .conteudo .infos ul li{
	width: 100%;
	margin-bottom: 40px;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
}

#como-solicitar .box-solicitar .conteudo .infos ul li span{
	content: "";
	width: 64px;
	height: 64px;
	background-color: var(--rosa);
	display: block;
	margin-right: 20px;
	border-radius: 50%;
}

#como-solicitar .box-solicitar .conteudo .infos ul li p{
	width: calc(100% - 90px);
	font-size: 28px;
	line-height: 34px;
	font-family: var(--fonte-semibold);
}

#como-solicitar .box-solicitar .conteudo .infos p:last-child{
	font-size: 28px;
	line-height: 34px;
	font-family: var(--fonte-semibold);
}

#como-solicitar .box-solicitar .conteudo .infos p:last-child span{
	color: var(--azul);
}

#como-solicitar .box-solicitar .imagem{
	width: auto;
	position: absolute;
	right: -100px;
	top: -46px;
	max-width: 60%;
}


#quem-somos{
	background-color: var(--rosa);
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	padding: 230px 0 80px;
}

#quem-somos:before{
	background-color: #f2f2f2;
	width: 100%;
	height: 90%;
	position: absolute;
	z-index: 0;
	left: 14%;
	top: 112px;
	content: "";
	display: block;
}

#quem-somos:after{
	background-color: #fff;
	width: 100%;
	height: 220px;
	position: absolute;
	z-index: 0;
	left: 0;
	bottom: 0;
	content: "";
	display: block;
}

#quem-somos .imagem{
	position: relative;
	width: 44%;
	z-index: 1;
}


#quem-somos .conteudo{
	width: 31%;
	margin-left: 100px;
	z-index: 1;
}

#quem-somos .conteudo .tit{

}

#quem-somos .conteudo .tit h2{
	width: 100%;
	text-align: left;
	font-size: 42px;
	line-height: 36px;
	color: var(--rosa);
	font-family: var(--fonte-bold);
	margin-bottom: 5px;
}

#quem-somos .conteudo .tit h3{
	width: 100%;
	text-align: left;
	font-size: 24px;
	line-height: 36px;
	color: var(--azul);
	font-family: var(--fonte-semibold);
}

#quem-somos .conteudo .texto{
	margin: 20px 0
}

#quem-somos .conteudo .texto p{
	font-size: 18px;
	line-height: 32px;
	margin-bottom: 10px;
	width: 100%;
	text-align: left;
}

#quem-somos .conteudo .btn{

}

#quem-somos .conteudo .btn a{
	text-transform: uppercase;
}

.btn{
	justify-content: flex-start;
}

.btn a{
	font-size: 18px;
	color: #fff;
	background-color: var(--azul);
	padding: 12px 10px;
	min-width: 206px;
	text-align: center;
	border-radius: 8px;
	border: 2px solid var(--azul);
	font-family: var(--fonte-semibold);
}

.btn a:hover{
	background-color: var(--rosa);
	border: 2px solid var(--rosa);
}



#contato{
	background-color: var(--rosa);
	padding: 80px 0;
}

#contato .box-contato{
	
}

#contato .box-contato .titulo{
	
}

#contato .box-contato .titulo h2{
	color: #fff;
	font-size: 86px;
	line-height: 108px;
	font-family: var(--fonte-bold);
	position: relative;
}

#contato .box-contato .titulo h2:before{
	height: 4px;
	content: "";
	background-color: #fff;
	width: 80px;
	position: absolute;
	left: 38%;
	bottom: 0;
}

#contato .box-contato .informacoes{
	justify-content: space-between;
	margin: 60px 0;
}

#contato .box-contato .informacoes .item{
	width: calc(100%/3 - 30px);
	background-color: var(--azul);
	border: 3px solid #fff;
	border-radius: 0 0 30px 0;
	padding: 40px;
	min-height: 248px;
	transition: .3s;
}

#contato .box-contato .informacoes .item:hover{
	transform: translateY(-6px);
	box-shadow: var(--box-shadow);
}

#contato .box-contato .informacoes .item .icone{
	margin-bottom: 30px;
}

#contato .box-contato .informacoes .item p{
	font-size: 18px;
	line-height: 28px;
	width: 100%;
	text-align: center;
	color: #fff;
}


#contato .duvida{
	margin: 100px 0;
}

#contato .duvida .container{
	justify-content: flex-start;
}

#contato .duvida .infos{
	max-width: 500px;
	justify-content: flex-start;
}

#contato .duvida .infos h3{
	width: 100%;
	text-align: left;
	color: #fff;
	font-size: 40px;
	line-height: 38px;
	margin-bottom: 30px;
	font-family: var(--fonte-regular);
}

#contato .duvida .infos h2{
	width: 100%;
	text-align: left;
	color: #fff;
	font-size: 104px;
	line-height: 100px;
	font-family: var(--fonte-bold);
}

#contato .duvida .infos a{
	margin-top: 20px;
	background-color: var(--azul);
	padding: 10px 26px;
	font-family: var(--fonte-semibold);
	font-size: 36px;
	line-height: 68px;
	color: #fff;
	border-radius: 16px;
	border: 3px solid var(--azul);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	transition: .3s;
}

#contato .duvida .infos a:hover{
	background-color: #05658c;
	border: 3px solid #05658c;
}

#contato .duvida .infos a img{
	margin-right: 10px;
}

#contato .duvida .imagem{
	position: absolute;
	right: 0;
	top: -40px;
	width: auto;
	justify-content: flex-end;
	max-width: 50%;
}



.botoes .box-botoes{
	position: absolute;
	bottom: -34px;
	right: 100px;
	max-width: 100px;
	z-index: 1;
}

.botoes .item{
	border-radius: 50%;
	background-color: var(--azul);
	box-shadow: var(--box-shadow);
	width: 80px;
	height: 80px;
	cursor: pointer;
	transition: .3s;
}

.botoes .item:hover{
	transform: translateY(-6px);
}

.botoes .item:first-child{
	margin-bottom: 20px;
}

.botoes .item img{
	
}





#informacoes-legais{
	background-color: var(--rosa);
	margin-top: -165px;
	z-index: 0;
	padding: 140px 0;
	position: relative;
}

#informacoes-legais:before{
	content: "";
	background-color: #f2f2f2;
	width: 100%;
	height: 84%;
	position: absolute;
	z-index: 0;
	left: 11%;
	top: 112px;
	display: block;
}

#informacoes-legais:after{
	background-color: #fff;
	width: 100%;
	height: 48%;
	position: absolute;
	z-index: -1;
	left: 0;
	bottom: 0;
	content: "";
	display: block;
}

#informacoes-legais .box-informacoes .conteudo p{
	font-size: 32px;
	line-height: 56px;
	margin-bottom: 40px;
}


.erro{
	height: 100vh;
	width: 100%;
	overflow: auto;
}

#erro{
	background-color: var(--azul);
	height: 100%;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

#erro .box-erro .imagem img{
	max-height: 60vh;
}

#erro .box-erro .infos h1{
	width: 100%;
	text-align: center;
	max-width: 630px;
	font-size: 56px;
	line-height: 56px;
	font-family: var(--fonte-bold);
	color: #fff;
	margin: 30px 0 12px;
}

#erro .box-erro .infos p{
	width: 100%;
	text-align: center;
	font-size: 22px;
	line-height: 22px;
	font-family: var(--fonte-semibold);
	color: #fff;
}

#erro .box-erro .btn{
	justify-content: center;
}

#erro .box-erro .btn a{
	text-align: center;
	background-color: var(--rosa);
	font-family: var(--fonte-semibold);
	margin-top: 20px;
	text-transform: uppercase;
	padding: 14px 20px;
	border: 2px solid var(--rosa);
}

#erro .box-erro .btn a:hover{
	background-color: #cc053d;
}


footer{
	background-color: var(--azul);
	width: 100%;
}

footer .box-footer{
	margin: 120px 0;
	justify-content: space-between;
	align-items: flex-start;
}

footer .box-footer .box{
	width: 46%;
}

footer .box-footer .box p{
	color: #fff;
	font-family: var(--fonte-bold);
	font-size: 12px;
	line-height: 26px;
	width: 100%;
	text-align: left;
}

footer .box-footer .box span{
	font-size: 14px;
	color: rgb(255 255 255 / 55%);
	width: 100%;
	text-align: left;
	font-family: var(--fonte-bold);
	margin-top: 10px;
}

footer .box-footer .box span a{
	top: 3px;
	position: relative;
}



@media(max-width: 1680px){
	#informacoes-legais:before {
		left: 6%;
	}


	#informacoes-legais .box-informacoes .conteudo{
		width: 80%;
	}

}

@media(max-width: 1440px){
	header {
		top: 20px;
	}

	header .box-header .menu ul li {
		margin: 0 26px;
	}

	#como-solicitar .box-solicitar .conteudo .tit h2,
	#contato .box-contato .titulo h2{
		font-size: 70px;
	}

	#como-solicitar .box-solicitar .conteudo .infos p:last-child {
		font-size: 24px;
		line-height: 32px;
	}

	#quem-somos:after {
		height: 150px;
	}

	#contato .duvida .infos h2 {
		font-size: 80px;
		line-height: 80px;
	}

	#contato .duvida .infos a {
		font-size: 32px;
	}

	#erro .box-erro .infos h1 {
		font-size: 50px;
		line-height: 50px;
	}

	#erro .box-erro .infos p {
		font-size: 20px;
		line-height: 20px;
	}

	#informacoes-legais .box-informacoes .conteudo p {
		font-size: 28px;
		line-height: 52px;
		margin-bottom: 34px;
	}


}

@media(max-width: 1366px){

}

@media(max-width: 1280px){
	header {
		top: 0px;
	}

	header .box-header .menu{
		position: fixed;
		width: 100%;
		height: 100%;
		background-color: #fff;
		z-index: 4;
		right: -100%;
		top: 0;
		justify-content: center;
		transition: .3s;
	}

	header .box-header .menu.active{
		right: 0;
	}

	header .box-header .btn-menu{
		position: relative;
		width: 40px;
		height: 40px;
		cursor: pointer;
		box-sizing: border-box;
		margin: 5px 0;
		display: block;
	}

	header .box-header .btn-menu span{
		content: "";
		display: block;
		background-color: var(--rosa);
		height: 4px;
		width: 40px;
		border-radius: 10px;
		transition: 0.5s;
		top: 20px;
		position: absolute;
	}

	header .box-header .btn-menu span:before{
		content: "";
		display: block;
		background-color: var(--rosa);
		height: 4px;
		width: 40px;
		position: absolute;
		border-radius: 10px;
		top: -12px;
		transition: 0.5s;
	}

	header .box-header .btn-menu span:after{
		content: "";
		display: block;
		background-color: var(--rosa);
		height: 4px;
		width: 40px;
		position: absolute;
		border-radius: 10px;
		top: 12px;
		transition: 0.5s;
	}

	header .box-header .btn-menu.open,
	header .box-header .btn-menu.open{
		z-index: 99990;
	}

	header .box-header .btn-menu.open span {
		line-height: 22px;
		background-color: var(--rosa);
		transform: rotate(
			45deg
			);
	}

	header .box-header .btn-menu.open span:before {
		opacity: 0;
	}

	header .box-header .btn-menu.open span:after {
		background-color: var(--rosa);
		transform: rotate(
			-90deg
			);
		top: 0;
	}

	header .box-header .menu ul li{
		width: 100%;
		text-align: center;
		margin: 10px 0;
	}

	#banner-home .item img{
		width: 1366px;
		max-width: initial;
	}

	#como-solicitar .box-solicitar .conteudo {
		width: 62%;
	}

	#como-solicitar .box-solicitar .imagem {
		right: -200px;
		bottom: 0;
		top: auto;
	}

	#quem-somos:after {
		background-color: #f2f2f2;
		height: 50%;
	}

	#quem-somos .imagem {
		width: 48%;
	}


	#quem-somos .conteudo {
		width: 44%;
		margin-left: 50px;
	}

	#quem-somos .conteudo .texto p {
		font-size: 16px;
		line-height: 30px;
	}

	#contato .box-contato .informacoes .item {
		padding: 20px
	}

	#informacoes-legais .box-informacoes .conteudo p {
		font-size: 24px;
		line-height: 44px;
	}
}

@media(max-width: 978px){
	#banner-home .item img {
		width: 890px;
		left: 40px;
		position: relative;
	}

	#contato .box-contato .informacoes .item {
		width: calc(100%/3 - 10px);
		min-height: 270px;
	}

	#contato .box-contato .informacoes .item p {
		font-size: 16px;
		line-height: 24px;
	}

	#informacoes-legais:before {
		height: 90%;
	}

}

@media(max-width: 768px){
	#erro .box-erro .infos h1 {
		font-size: 32px;
		line-height: 42px;
	}

	#como-solicitar .box-solicitar {
		justify-content: center;
	}

	#como-solicitar .box-solicitar .conteudo{
		width: 100%;
		margin-bottom: 20px;
	}

	#como-solicitar .box-solicitar .imagem {
		position: relative;
		max-width: 400px;
		right: 0;
	}

	#como-solicitar .box-solicitar {
		padding-bottom: 0;
	}

	#quem-somos {
		justify-content: center;
		padding: 150px 0 60px;
	}

	#quem-somos:before {
		left: 16%;
		top: 100px;
	}

	#quem-somos .imagem {
		width: 100%;
	}

	#quem-somos .conteudo {
		margin-top: 24px;
		width: 80%;
		margin-left: 0;
	}

	#contato {
		padding: 60px 0;
	}

	#contato .duvida {
		margin: 10px 0 100px;
	}

	#contato .duvida .container {
		justify-content: center;
	}



	#contato .duvida .infos {
		max-width: initial;
		justify-content: center;
	}

	#contato .duvida .infos h3,
	#contato .duvida .infos h2{
		text-align: center;
	}

	#contato .duvida .infos h2 {
		font-size: 70px;
		line-height: 70px;
	}

	#contato .duvida .infos a {
		font-size: 26px;
		padding: 4px 26px;
	}

	#contato .duvida .imagem {
		right: initial;
		top: 0;
		justify-content: center;
		max-width: 100%;
		position: relative;
		margin-top: 30px;
	}

	#contato .box-contato .informacoes {
		justify-content: center;
	}

	#contato .box-contato .informacoes .item {
		width: calc(100%/2 - 20px);
		margin: 10px;
	}



	.botoes .box-botoes {
		right: 10px;
	}


	footer .box-footer {
		margin: 40px 0;
	}

	footer .box-footer .box:first-child{
		margin-bottom: 30px;
	}

	footer .box-footer .box {
		width: 100%;
	}

	footer .box-footer .box p,
	footer .box-footer .box span{
		text-align: center;
	}



}

@media(max-width: 580px){

	header .box-header .logo {
		width: 200px;
	}


	#banner-home .item img {
		left: 100px;
	}

	#como-solicitar .box-solicitar .conteudo .tit h2, #contato .box-contato .titulo h2 {
		font-size: 48px;
	}

	#como-solicitar .box-solicitar .conteudo .infos p:last-child {
		font-size: 20px;
		line-height: 26px;
	}



	#quem-somos {
		padding: 110px 0 60px;
	}

	#quem-somos:after {
		height: 84%;
	}

	#quem-somos:before {
		top: 56px;
	}


	#contato .box-contato .informacoes .item {
		width: 100%;
	}


	#contato .duvida .infos h3 {
		font-size: 26px;
		line-height: 28px;
	}

	#contato .duvida .infos h2 {
		font-size: 42px;
		line-height: 50px;
	}


	.botoes .item {
		width: 70px;
		height: 70px;
	}

	#informacoes-legais .box-informacoes .conteudo p {
		font-size: 20px;
		line-height: 34px;
		margin-bottom: 20px;
	}


	footer .box-footer {
		justify-content: center;
	}

	footer .box-footer .box:first-child {
		max-width: 250px;
	}



}