@font-face {
	font-family: 'Montserrat-Bold';
	src: url('../fonts/Montserrat-Bold.woff2') format('woff2');
	font-weight: bold;
    font-style: normal;
	font-display: swap;
}
@font-face {
    font-family: 'Montserrat-Medium';
    src: url('../fonts/Montserrat-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Saira-Stencil-One';
    src: url('../fonts/SairaStencilOne-Regular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto';
    src: url('../fonts/Roboto-Regular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto-Medium';
    src: url('../fonts/Roboto-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto-Light';
    src: url('../fonts/Roboto-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto-ExtraBold';
    src: url('../fonts/Roboto-ExtraBold.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
	
html{
	padding-left: 0px;
	padding-right: 0px;
}

body {
	font-family: 'Roboto-Medium';
	font-size: 16px;
	padding-left: 0px;
	padding-right: 0px;
	margin:0;
	font-family: Arial, sans-serif;
	overflow-x:hidden;
	background-color: #fff;
}

header {
	background-image: url(../imgs/sombra-inferior-header.png);
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 80px;
	padding-left: 10px;
	padding-top: 10px;
	padding-bottom: 10px;
	z-index: 1002;
	background-color: #FFF;
	background-repeat: repeat-x;
	background-position: bottom;
}
.logo {
  width: 300px;
}
.logo img{
	width:100%;
}

.contatos-principais{
	position: relative;
	color: #b4b4b4;
	display: block;
	width: 100%;
	height: auto;
	padding-bottom: 0px;
	background-color: #2e52dc;
	padding-top: 105px;
	text-align: center;
}
.contatos-principais a{
	font-family: 'Montserrat-Medium';
	font-size: 1.03rem;
	display: block;
	color: #FF0;
	text-decoration: none;
	margin-bottom: 5px;
}
.contatos-principais img{
	 width: 25px;
	 vertical-align: middle;
	 margin-right: 10px;
}
.contatos-principais .link-topo-whatsapp{
	display: inline-block;
}
main {
  padding: 0px;
}
section{
	padding-left: 10px;
	padding-right: 10px;
	text-align: center;
}
.titulo-sessao{
	font-family: 'Saira-Stencil-One';
	font-size: 2rem;
	color: #2e52dc;
}
.separa-titulo-sessao{
	position: relative;
	top: -15px;
	width: 300px;
	height: 10px;
	margin-left: auto;
	margin-right: auto;
	background-color: #f2ca0d;
	box-shadow: 0 4px 10px rgba(0,0,0,0.2);
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #858688;
}

.chamada{
	font-family: 'Roboto-ExtraBold';
	display: flex;
    justify-content: center;
}
.chamada a{
	display: block;
	padding: 20px;
	max-width: 400px;
	border-style: solid;
	border-color: #999;
	border-width: 1px;
	border-radius: 30px;
	background-color: #FC0;
	color: #00F;
	text-decoration: none;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.3s ease;
	-ms-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.chamada a:hover{
	background-color: #00F;
	color: #FC0;
}


/* ESTILOS DA HOME */
.card-link{
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
}
#inicio{
	padding-top: 1px;
	padding-left: 0px;
	padding-right: 0px;
}
#servicos,
#onde-estamos,
#contato{
	padding-top: 60px;
}

.sobre-certificados{
	width: 90%;
	color: #666;
	font-size: 0.8rem;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	padding-bottom: 80px;
}
.sobre-certificados p{
	font-size: 2.5em;
	margin-top: 50px;
	margin-bottom: 30px;
}
.sobre-certificados img{
	display: inline-block;
	margin: 20px;
	max-height: 111px;
}
#sobre-nos{
	padding-top: 100px;
	background-color: #f1f4fd;
	background-image: url(../imgs/faixa-redes-pedaco.png);
	background-repeat: repeat-x;
	background-position: top;
	padding-bottom: 40px;
}
#sobre-nos p,
#sobre-nos h3{
	font-family: 'Roboto-Light';
	color: #333;
	font-size: 1.4rem;
}
#sobre-nos ul{
	list-style: none;
	margin: 0;
    padding: 0;
	text-align: center;
	
}
#sobre-nos ul li{
	margin-left: auto;
	margin-right: auto;
	display: flex;
    justify-content: center;
}
#sobre-nos ul li a{
	font-family: 'Roboto-ExtraBold';
	font-size: 1.3rem;
	display: block;
	width: 300px;
	margin-top: 5px;
	line-height: 40px;
	border-radius: 8px;
	background-color: #FFF;
	color: #2e52dc;
	text-decoration: none;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.3s ease;
	-ms-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
#sobre-nos ul li a:hover{
	background-color: #2e52dc;
	color: #fff;
}
#sobre-nos .bloco-2 img{
	max-width: 300px;
}
#sobre-nos .bloco-3{
	margin-top: 100px;
	padding-top: 40px;
	padding-bottom: 100px;
	padding-left: 2px;
	padding-right: 2px;
	background-color: #79a5f7;
}


#servicos{
	padding-bottom: 100px;
}
#servicos article{
	font-family: 'Roboto';
	display: inline-block;
	width: 90%;
	height: auto;
	background-color: #dbe1fa;
	padding: 10px;
	border-radius: 20px;
	margin-bottom: 30px;
	margin-left: 8px;
	margin-right: 8px;
	justify-content: center;
	vertical-align: top;
	align-items: center;
	color: #666;
	letter-spacing: 1px;
	box-shadow: 2px 2px 10px #717275;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-ms-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
#servicos article:hover{
	background-color: #FFF;
	padding: 10px;
	color: #858688;
}
#servicos article h3{
	height: 40px;
}
#servicos article .paragrafo{
	margin-bottom: 20px;
}
#servicos article a{
	position: static;
	bottom: 15px;
	display: block;
	line-height: 30px;
	background-color: #2e52dc;
	border-radius: 5px;
	color: #fff;
	text-decoration: none;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-ms-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
#servicos article a:hover{
	color: #2e52dc;
	background-color: #FC0;
	border-radius: 15px;
}
#servicos article figure{
	margin: 0px;
}
#servicos article img{
	width: 90%;
	border-radius: 15px;
	border-style: solid;
	border-width: 3px;
	border-color: #9da4bf;
	cursor: pointer;
}
#servicos .separa-titulo-sessao{
	margin-bottom: 40px;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.vantagens{
	font-family: 'Roboto-ExtraBold';
	font-size: 1.3rem;
	color: #666;
	width: 98%;
	padding-top: 60px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 40px;
	text-align: center;
	background-color: #f2ca0d;
}
.descricaoVantagem{
	display: block;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 50px;
}
.icone {
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: 100px;
	height: 100px;
	background-color: #4a5598;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-ms-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.icone:hover{
	background-color: #fff;
}
.iconeCertificado{
	-webkit-mask: url("../imgs/icones-serv-certificado.png") no-repeat center;
	-webkit-mask-size: contain;
	mask: url("../imgs/icones-serv-certificado.png") no-repeat center;
	mask-size: contain;
}
.iconeInstalacaoSegura{
	-webkit-mask: url("../imgs/icones-serv-instalacao-segura.png") no-repeat center;
	-webkit-mask-size: contain;
	mask: url("../imgs/icones-serv-instalacao-segura.png") no-repeat center;
	mask-size: contain;
}
.iconeAtendimentoRapido{
	-webkit-mask: url("../imgs/icones-serv-atendimento-rapido.png") no-repeat center;
	-webkit-mask-size: contain;
	mask: url("../imgs/icones-serv-atendimento-rapido.png") no-repeat center;
	mask-size: contain;
}
.iconePreco{
	-webkit-mask: url("../imgs/icones-serv-preco-justo.png") no-repeat center;
	-webkit-mask-size: contain;
	mask: url("../imgs/icones-serv-preco-justo.png") no-repeat center;
	mask-size: contain;
}


#onde-estamos{
	background-color: #bec4d0;
	padding-bottom: 80px;
	font-family: 'Roboto-ExtraBold';
}
#onde-estamos iframe{
	width: 100%;
	height: 450px;
	margin-top: 20px;
}
#onde-estamos p{
	margin-top: 30px;
}
#onde-estamos p a{
	color: #000;
	text-decoration: none;
	line-height: 30px;
	padding: 15px;
	border-radius: 15px;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-ms-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
#onde-estamos p a:hover{
	color: #2e52dc;
	background-color: #FC0;
}
#contato{
	padding-bottom: 100px;
}
#detalhes{
	padding-top: 50px;
	padding-bottom: 70px;
}
#detalhes .bloco-1 p{
	font-size: 1.2rem;
	color: #858688;
}


@media (min-width: 768px){
	#servicos article{
		width: 290px;
		height: 440px;
	}
	#servicos article img{
		width: 240px;
	}
	#servicos article .paragrafo{
		margin-bottom: 0px;
		height: 80px;
	}
	.descricaoVantagem{
		display: inline-block;
		width: 280px;
		margin-left: 20px;
		margin-right: 20px;
		margin-top: 0px;
		vertical-align: top;
	}
	#detalhes .bloco-1{
		width: 80%;
		margin-left: auto;
		margin-right: auto;
	}
	#detalhes .bloco-1 p{
		font-size: 1.4rem;
	}
}


@media (min-width:1225px) {
		header{
			z-index: 1000;
		}
		#inicio{
			padding-top: 100px;
		}
	.contatos-principais{
	position: fixed;
	display: block;
	width: 350px;
	height: auto;
	left: 26%;
	top: 10px;
	padding: 10px;
	background: none;
	text-align: center;
	z-index: 1010;
	}
	.contatos-principais a{
		font-family: 'Montserrat-Bold';
		color: #3b52d8;
		text-decoration: none;
		margin-bottom: 5px;
	}
	
	#sobre-nos .bloco-1,
	#sobre-nos .bloco-2{
		display: inline-block;
		margin-top: 0px;
		vertical-align: middle;
	}
	#sobre-nos .bloco-1{
		width: 60%;
		margin-right: 30px;
	}
	#sobre-nos .bloco-2{
		width: 29%;
	}
	
	#detalhes p{
		font-size: 1.3rem;
	}
}



/* =========================
   LIGHTBOX
========================= */
#lightbox {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.9);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

#lightbox.active {
    display: flex;
}

.lightbox-content {
    max-width: 90%;
    max-height: 90%;
    text-align: center;
}

#lightbox-img {
    max-width: 100%;
    max-height: 80vh;
}

#lightbox-caption {
    margin-top: 12px;
    color: #fff;
    font-size: 16px;
}

/* ESTILOS PARA ALINAÇÃO */
/* Animação de entrada do lightbox (fade + zoom) */
#lightbox {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s ease;
}

#lightbox.active {
    opacity: 1;
    pointer-events: auto;
}

.lightbox-content {
    transform: scale(0.95);
    transition: transform 0.35s ease;
}

#lightbox.active .lightbox-content {
    transform: scale(1);
}

/* Animação ao trocar de imagem (next / prev) */
#lightbox-img {
    opacity: 0;
    transition: opacity 0.25s ease;
}

#lightbox.active #lightbox-img {
    opacity: 1;
}

/**/
/**/
/**/


/* =========================
   BOTÕES
========================= */
.lightbox-close,
.lightbox-prev,
.lightbox-next {
    position: absolute;
    background: none;
    border: none;
    color: #fff;
    font-size: 40px;
    cursor: pointer;
	z-index: 1200;
}

.lightbox-close {
    top: 20px;
    right: 30px;
}

.lightbox-prev {
    left: 20px;
}

.lightbox-next {
    right: 20px;
}

/* Animação nos botões (feedback visual) */
.lightbox-prev,
.lightbox-next,
.lightbox-close {
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.lightbox-prev:hover,
.lightbox-next:hover,
.lightbox-close:hover {
    transform: scale(1.2);
    opacity: 0.8;
}

/**/

/* Respeitando usuários sensíveis a animação (nível PRO) */
@media (prefers-reduced-motion: reduce) {
    * {
        transition: none !important;
        animation: none !important;
    }
}



footer{
	font-family: 'Roboto-Medium';
	font-size: 0.9rem;
	color: #CCC;
	padding-top: 30px;
	padding-bottom: 30px;
	background-color: #333;
	text-align: center;
}
footer p{
	
}
footer .midias-sociais,
footer .creditos{
	display: block;
}
footer .midias-sociais img{
	width: 40px;
	height: 40px;
}
footer .creditos a{
	text-align: center;
	color: #e1e1e1;
	text-decoration: none;
}
footer .contatos{
	margin-bottom: 30px;
}
footer .contatos a{
	display: block;
	color: #79a5f7;
	text-decoration: none;
	line-height: 25px;
}
footer .midias-sociais .site-seguro img{
	width: 117px;
	height: 40px;
}



@media (min-width: 1225px){
	footer .midias-sociais,
	footer .creditos{
		display: inline-block;
		margin-left: 20px;
		margin-right: 20px;
		margin-top: 0px;
		vertical-align: top;
	}
	footer .midias-sociais{
		margin-left: 20px;
		margin-right: 20px;
	}
	footer .midias-sociais img{
		margin-left: 10px;
		margin-right: 10px;
	}
	footer .contatos a{
		display: inline-block;
		padding-left: 15px;
		padding-right: 15px;
	}
}