/*********************************************
** Home 
*********************************************/

#paginaInicial {
	float: left;
	width: 100%;
	padding: 0;
}

/* Banner Principal */

.bannerPrincipal {
	float: left;
	width: 100%;
	background: url('../../../uploads/2024/10/bg-banner-principal.jpg') bottom center no-repeat;
	padding: 150px 0;
	border-radius: 0 0 100px 100px;
	background-attachment: fixed;
	text-align: center;
	background-size: cover;
}

.bannerPrincipal .container {
	display: flex;
	flex-direction: column;
	align-items: center;
}

@keyframes blinking {
	50% { border-color: transparent }
}

.bannerPrincipal h1 {
    color: #fff;
    margin: 0;
    font-weight: bold;
    font-size: 40px;
    line-height: 50px;
	white-space: nowrap;
	overflow: hidden;
	border-right: solid 3px;
	animation: blinking 0.5s step-end infinite alternate;
	padding-right: 10px;
}

.bannerPrincipal .subtitulo {
	float: left;
    width: 100%;
    color: #fff;
    margin: 25px 0;
    font-size: 24px;
    line-height: 34px;
    font-weight: 300;
}

.bannerPrincipal .texto {
    float: left;
    width: 100%;
}

.bannerPrincipal .texto p {
    margin: 0;
    color: #fff;
	font-weight: 300;
	padding: 0 200px;
}

.bannerPrincipal .linksBanner {
    float: left;
    width: 100%;
    display: flex;
    margin: 40px 0 0 0;
    justify-content: center;
}

.bannerPrincipal .linksBanner a {
	color: #fff;
    font-size: 16px;
    border: solid 2px #fff;
    border-radius: 16px;
    display: inline-block;
    padding: 10px;
    letter-spacing: 0.5px;
    transition: all 0.1s linear;
    font-weight: 500;
	width: 270px;
	text-align: center;
}

.bannerPrincipal .linksBanner a + a {
	margin-left: 20px;
}

.bannerPrincipal .linksBanner a.destaque {
	background: #4DD6A1;
	color: #322AA2;
	border-color: #4DD6A1;
}

.bannerPrincipal .linksBanner a:hover {
	background-color: #fff;
	border-color: #fff;
	color: #322AA2;
}

/* Box Serviços */

.boxServicos {
	float: left;
	width: 100%;
	padding: 70px 0;
}

.boxServicos .listaServicos {
	float: left;
	width: 100%;
	display: flex;
	justify-content: center;
}

.boxServicos .listaServicos ul {
	float: left;
	width: 80%;
	padding: 0;
	margin: 0;
}

.boxServicos .listaServicos ul li {
	list-style: none;
	padding: 0 10px;
}

.boxServicos .listaServicos ul li.margem {
	margin-top: 20px;
}

.boxServicos .listaServicos ul li a {
	position: relative;
	float: left;
	width: 100%;
	overflow: hidden;
	border-radius: 20px;
}
 
.boxServicos .listaServicos ul li img {
	float: left;
	width: 100%;
	transition: all 0.2s linear;
}

.boxServicos .listaServicos ul li a:hover img {
	transform: scale(1.1);
}

.boxServicos .listaServicos ul li h3 {
	position: absolute;
    bottom: 15px;
    left: 0;
    width: 100%;
    text-align: center;
    padding: 15px;
    color: #fff;
    margin: 0;
    font-size: 18px;
    line-height: 28px;
    font-weight: 700;
    text-shadow: 2px 2px 4px #000000;
}

/* Cases */

.boxCases {
	float: left;
	width: 100%;
	padding-bottom: 70px;
}

.boxCases .boxTitulo {
	float: left;
	width: 100%;
	border-radius: 32px;
	background: #322AA2;
	padding: 30px;
	text-align: center;
}

.boxCases .boxTitulo .tituloPrincipal {
	margin: 0 0 20px 0;
}

.boxCases .boxTitulo p {
	color: #fff;
	margin: 0;
}

.boxCases ul.listaCases {
	float: left;
	width: 100%;
	margin: 60px 0 0 0;
	padding: 0;
}

.boxCases ul.listaCases li {
	list-style: none;
	padding: 0 10px;
}

.boxCases ul.listaCases li .boxInterno {
	float: left;
	width: 100%;
	position: relative;
	border-radius: 25px;
	overflow: hidden;
}

.boxCases ul.listaCases li figure {
	float: left;
	width: 100%;
}

.boxCases ul.listaCases li figure img {
	width: 100%;
}

.boxCases ul.listaCases li .boxTextos {
	position: absolute;
    left: 0;
    top: 0;
    padding: 40px;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: flex-end;
    flex-direction: column;
    align-items: flex-start;
	background: linear-gradient(0deg,rgba(9, 5, 68, 0.9) 32%, rgba(255, 255, 255, 0) 100%);
}

.boxCases ul.listaCases li .boxTextos .nomeEmpresa {
	color: #fff;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 5px;
}

.boxCases ul.listaCases li .boxTextos .tipoProjeto {
	color: #f1f1f1;
    font-weight: 500;
	font-size: 12px;
}

.boxCases .boxLink {
	margin-top: 40px;
}

/* Marcas */

.boxMarcas {
	float: left;
	width: 100%;
	background: url('../../../uploads/2024/11/bg-marcas.jpg') center center no-repeat;
	background-size: cover;
	padding: 60px 0;
}

.boxMarcas ul.listaMarcas {
	float: left;
	width: 100%;
	margin: 0 0 0 0;
	padding: 0;
}

.boxMarcas ul.listaMarcas li {
	padding: 0 10px;
}

.boxMarcas ul.listaMarcas li img {
	width: 100%;
}

/* Depoimentos */

.boxDepoimentos {
	float: left;
	width: 100%;
	padding: 80px 0;
}

.boxDepoimentos + .boxDepoimentos {
	padding-top: 0;
}

.boxDepoimentos ul.listaDepoimentos {
	float: left;
	width: 100%;
	padding: 0;
	margin: 0;
}

/* Blog */

.boxBlog {
	float: left;
	padding: 70px 0;
	width: 100%;
	background: #E8F2FC;
}

.boxBlog .boxTitulo {
	float: left;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 40px;
}

.boxBlog .boxTitulo .textoTitulo {
	flex: 1;
	padding: 0 15px;
}

.boxBlog .boxTitulo .textoTitulo .tituloPrincipal {
	margin: 0 20px 0 0;
}

.boxBlog .boxTitulo .dotsList {
	width: auto;
	margin: 0;
}

.boxBlog .listaNoticiasHome {
	float: left;
	width: 100%;
	padding: 0;
	margin: 0 0 40px 0;
}

.boxBlog .listaNoticiasHome li {
	padding: 0 10px;
}

/* Instagram */

.boxInstagram {
	float: left;
	width: 100%;
	background: url('../../../uploads/2024/11/bg-instagram.jpg') center center no-repeat;
	padding: 100px 0;
	background-attachment: fixed;
	background-size: cover;
}

.boxInstagram .fotosInstagram {
	float: left;
	width: 100%;
	border-bottom: solid 1px #54A1CE;
	margin-bottom: 40px;
	padding-bottom: 20px;
}

.boxInstagram .fotosInstagram img {
	border-radius: 16px;
}

@media (max-width: 950px) {

	/* Banner Principal */

	.bannerPrincipal .texto p {
		padding: 0;
	}

	/* Serviços */

	.boxServicos .listaServicos ul {
		width: 100%;
	}

	.boxServicos .listaServicos ul li.col-sm-3 {
		width: 50%;
	}

}

@media (max-width: 768px) {

	/* Banner Principal */

	.bannerPrincipal {
		background: url('../../../uploads/2025/01/bg-header-mobile.png') center center no-repeat;
		background-size: cover;
		padding: 60px 20px;
		border-radius: 0 0 50px 50px;
	}

	.bannerPrincipal h1 {
		font-size: 30px;
		line-height: 40px;
		white-space: wrap;
		border: 0;
		animation: blinking 0.5s step-end infinite alternate;
		min-height: 80px;
	}

	.bannerPrincipal .subtitulo {
		margin: 20px 0;
		font-size: 20px;
		line-height: 30px;
	}

	.bannerPrincipal p br {
		display: none;
	}

	.bannerPrincipal .linksBanner {
		flex-direction: column;
	}

	.bannerPrincipal .linksBanner a {
		width: 100%;
	}

	.bannerPrincipal .linksBanner a + a {
		margin: 15px 0 0 0;
	}

	/* Serviços */

	.boxServicos {
		padding: 50px 0;
	}

	.boxServicos .listaServicos ul li.col-sm-4 {
		width: 100%;
		float: left;
		padding: 5px;
	}

	.boxServicos .listaServicos ul li.col-sm-4 + li.col-sm-4,
	.boxServicos .listaServicos ul li.margem {
		margin-top: 10px;
	}

	.boxServicos .listaServicos ul li.col-sm-3 {
		width: 50%;
		float: left;
		padding: 0 5px;
		margin-top: 10px;
	}

	.boxServicos .listaServicos ul li h3 {
		font-size: 16px;
		line-height: 22px;
	    bottom: 10px;
		padding: 10px;
	}

	/* Cases */

	.boxCases {
		padding-bottom: 40px;
	}

	.boxCases .boxTitulo {
		padding: 20px;
	}

	.boxCases .boxTitulo p br {
		display: none;
	}

	.boxCases ul.listaCases {
		margin: 35px 0 0 0;
	}

	.boxCases ul.listaCases li .boxTextos {
		padding: 20px 30px;
	}

	/* Marcas */

	.boxMarcas {
		padding: 40px 0;
	}

	/* Depoimentos */

	.boxDepoimentos {
		padding: 40px 0;
	}

	.itemDepoimento .boxInterno .boxHeader figure {
		max-width: 50px;
	}

	.itemDepoimento .boxInterno .boxHeader .boxNome {
		margin-left: 10px;
	}

	/* Blog */

	.boxBlog {
		padding: 40px 0;
	}

	.boxBlog .boxTitulo {
		flex-direction: column;
		margin-bottom: 20px;
	}

	.boxBlog .boxTitulo .dotsList {
		margin-top: 40px;
	}

	/* Instagram */

	.boxInstagram {
		padding: 40px 0;
		background: url(../../../uploads/2024/11/bg-instagram.jpg) bottom left no-repeat;
		background-attachment: initial;
	}

	.boxInstagram .fotosInstagram {
		border-color: #fff;
	}

}