@charset "utf-8";
:root {
    --azul: #019BAD;
    --azulClaro:#71D0DB ;
    --verde:#4FC06E ;
	--verdeClaro:#65D785;
	--white: #ffffff;
    --preto90: #333;
	
  }
/* CSS BASE PARA RESET */
html, form {
	width: 100%;
	height: 100%;
}
body {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}
a {
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	-o-transition: all 0.2s;
	transition: all 0.2s;
}
a, a img {
	text-decoration: none;
	outline: none;
	border: none;
}
.clr {
	clear: both;
	height: 0;
}
::-webkit-input-placeholder {
color:#979a9b;
}
:-moz-placeholder {
color:#979a9b;
}
::-moz-placeholder {
color:#979a9b;
}
:-ms-input-placeholder {
color:#979a9b;
}
body, input, textarea, select, option {
	font-family: 'Montserrat', Helvetica, Arial, sans-serif;
    color: var(--preto90);
}
*, *:after, *::before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	text-decoration: none;
	list-style-type: none;
	outline: none;
}
/* FINAL DO CSS BASE PARA RESET */

/* CSS BASE DO LAYOYUT */
body {  font-size: 100%; }
section { padding:100px 0; }
.bgTextura { background: url(../img/bg-textura.jpg) center center repeat-y; background-size: cover; }
.btn { border:none; border-radius: 0; }
p { line-height: 1.8em; }
small { display: block; letter-spacing: 1.3em; }

/* ESTILO DOS BOTOES */
.btnAzul { background:var(--azul); color: #fff; padding: 10px 20px; } .btnAzul:hover { background: var(--azulClaro); color: #fff; }
.btnVerde { background: var(--verde); color: #fff;  padding: 10px 20px; } .btnVerde:hover { background: var(--verdeClaro); color: #fff; }
.btnSetaInicio:before { content:">";  margin-right: 10px; }

header { position: fixed; z-index: 999; width: 100%; background: linear-gradient(180deg, rgba(255, 255, 255, 1) 20%, rgba(255, 255, 255, 0) 100%); z-index: 999; overflow: hidden; }
header nav { padding: 20px 30px !important; }
header ul.navbar-nav { align-items: center; margin-top: -10px; }
header ul.navbar-nav li a { color: var(--preto90); font-weight: 700; padding: 10px 15px !important; }
header ul.navbar-nav li a:hover { color: var(--azul); }
header ul.navbar-nav li:last-child a { background: linear-gradient(273.9deg, #4FC06E 2.3%, #8AD168 100%); border: 1px solid #48B614; box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.15); border-radius: 30px; padding:10px 20px !important; color: #fff; font-weight: 600; position: relative; z-index: 2; margin-left: 15px; }
header ul.navbar-nav li:last-child a i { margin-left: 10px; }
header ul.navbar-nav li:last-child:after { content:" "; display: block; width: 200px; height: 200px; background: var(--verde); position: absolute;  transform: rotate(45deg); top: -100px; right: -130px; z-index: 1; }
header .navbar-toggler { border:solid 2px var(--azul); margin-top: -10px; }
header .navbar-toggler span { color: var(--azul); }
header .navbar-toggler:focus, header .navbar-toggler:active, header .navbar-toggler-icon:focus { outline: none; box-shadow: none; }

#topo { background-image:url(../img/bg-topo.jpg); background-color: #eee; background-position: center center; background-repeat: no-repeat; background-size: cover; position: relative; z-index: 1; overflow: hidden; }
#topo:after { content:" "; display: block; position: absolute; border-bottom: solid 1px var(--azul); left: 0; bottom: 20px; width: 100%; }
#topo .foto { margin-left: 60%; position: relative; z-index: 2; }
#topo .foto img { max-height: 748px; }
#topo .boxTexto { background: rgb(1,155,173); background: linear-gradient(135deg, rgba(1,155,173,1) 0%, rgba(113,208,219,1) 100%); border-radius: 50px 0; width: 500px; padding: 40px 50px; text-align: center; position: absolute; top:32%; left: 25%; border:solid 2px rgba(1,155,173,0.3); box-shadow: 0px 8px 14px rgba(0, 0, 0, 0.2); }
#topo .boxTexto:before { content:" "; display: block; position: absolute; top: 15px; left: 15px; width: 500px; height: 100%; border:solid 1px #fff; border-radius: 50px 0; z-index: 1; }
#topo .boxTexto:after { content:" "; display: block; position: absolute; top: 120%; left:45%; width: 50px; height: 50px; background: url(../img/setatopo.png) center center no-repeat; }
#topo .boxTexto h2 { color: #fff; font-weight: 800; line-height: 1.1em; text-shadow: 0px 2px 10px rgba(0, 0, 0, 0.2); }
#topo .boxTexto p { margin-bottom: 0; font-size: 1.3em; line-height: 1.3em; }

.bgTextura { padding-bottom: 80px; }

section#sobre { padding-bottom: 0px; }
section#sobre img { margin-top: -160px; margin-bottom: 30px; z-index: 2; position: relative; width: 100%; }
section#sobre h2 { color: var(--azul); font-weight: 800; font-size: 3em; line-height: 1em; margin-bottom: 20px; }
section#sobre p { margin-bottom: 40px ; }

section#projetos h2 { text-align: center; font-weight: 800; font-size: 2.4em; }
section#projetos h2 small { font-size: 0.5em; font-weight:400 ; }
/*section#projetos .swiperProjetos .swiper-slide { justify-content: center; align-items: center; position: relative; display: none; }
section#projetos .swiperProjetos .swiper-slide img { border-radius: 20px; width: 100%; }
section#projetos .swiperProjetos .swiper-slide div { position: absolute; left: 35%; top: 40%; padding: 20px 30px; border-radius: 20px 0; line-height: 1.2em; text-align: center; color: #fff; text-shadow: 0px 2px 10px rgba(0, 0, 0, 0.8); -webkit-transition: all 0.5s; -moz-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s; }
section#projetos .swiperProjetos .swiper-slide div b { display: block; font-weight: 800; }
section#projetos .swiperProjetos .swiper-slide:hover div { background: rgba(255, 255, 255,.8); color: var(--preto90); text-shadow: none;  }
section#projetos .swiperProjetos .swiper-button-prev { background: var(--azul); border-radius: 100%; width: 30px; height: 30px; }
section#projetos .swiperProjetos .swiper-button-prev:after, section#projetos .swiperProjetos .swiper-button-next:after { font-size: 18px; color: #fff; }
section#projetos .swiperProjetos .swiper-button-next { background: var(--azul); border-radius: 100%; width: 30px; height: 30px; }*/

/* GALERAIA NOVA */
section#projetos #galeriaFotos { display: grid; grid-template-columns: 1fr 1fr 1fr; gap:20px; padding:20px; }
section#projetos #galeriaFotos .item { position: relative; box-shadow: 0px 8px 7px rgba(0, 0, 0, 0.2); border-bottom: solid 5px var(--azul); background: rgb(1,155,173);
	background: linear-gradient(135deg, rgba(1,155,173,1) 0%, rgba(113,208,219,1) 100%); }
section#projetos #galeriaFotos .item img { width: 100%; height: 300px; object-fit: cover; object-position: center; border-radius: 0; opacity: .6; -webkit-transition: all 0.5s; -moz-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s; }
section#projetos #galeriaFotos .item a > div { width: 100%; height: 100%; position: absolute; left: 0; top: 0; display: flex; justify-content: center; align-items: center; }
section#projetos #galeriaFotos .item div div { display: block; background: transparent; padding: 20px 30px; border-radius: 20px 0; line-height: 1.2em; text-align: center; -webkit-transition: all 0.5s; -moz-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s; background: rgba(255, 255, 255,.8); color: var(--preto90); box-shadow: 0px 8px 14px rgba(0, 0, 0, 0.6); }
section#projetos #galeriaFotos .item div div b { display: block; font-weight: 800; }
section#projetos #galeriaFotos .item:hover img { opacity: 1; }




section#barraAzul { background: #E6F5F7; padding: 50px 0; padding-bottom: 30px;  } 
section#barraAzul h3 { font-size: 1.8em; font-weight: 800; }
section#barraAzul .quadradoFrase { border:solid 10px var(--azul); text-align: center; padding: 30px 30px; width: 450px; margin: 0 auto; position: relative; }
section#barraAzul .quadradoFrase h4 { font-weight: 800; font-size: 3em; color: var(--azul); text-align: center; line-height: 1.1em; }
section#barraAzul .quadradoFrase:before { content:" "; display: block; position: absolute; left: -75px; bottom: 0px; width: 150px; border-bottom: solid 1px var(--azul); transform: rotate(-45deg); }
section#barraAzul .quadradoFrase:after { content:" "; display: block; position: absolute; right: -75px; top: 0px; width: 150px; border-bottom: solid 1px var(--azul); transform: rotate(-45deg); }

/* bordas da section#barraAzul */
section#barraAzul .bordaSuperior { position: relative; width: 100%; transform: rotate(180deg); }
section#barraAzul .bordaSuperior svg { position: absolute; top: 50px; left: 0; display: block; width: 100%; height: 80px; transform: rotateY(180deg); }
section#barraAzul .bordaSuperior .shape-fill { fill: #E6F5F7; }
section#barraAzul .bordaInferior { position: relative; width: 100%; }
section#barraAzul .bordaInferior svg { position: absolute; top: 29px; left: -1px; display: block; width:100%; height: 80px; transform: rotateY(180deg); }
section#barraAzul .bordaInferior .shape-fill { fill: #E6F5F7; }
/* FINAL bordas da section#barraAzul */

section#servicos { padding-top: 0; }
section#servicos .titulo { background-image: url(../img/bg-servicos.jpg); background-color: #333; background-repeat: no-repeat; background-position: center center; background-size: cover; background-attachment: fixed; padding-top: 200px; padding-bottom: 160px; color: #fff; text-align: center; }
section#servicos .titulo h2 { font-weight: 800; font-size: 2.4em; text-shadow: 0px 2px 10px rgba(0, 0, 0, 0.2); }
section#servicos .titulo h2 small { font-weight: 400; font-size: 0.5em; }
section#servicos #servicosLista { margin-top: -100px; }
section#servicos #servicosLista #servicosMenu .nav-link { background: #fff; padding:15px 25px; border-radius: 30px 0 30px 0; margin-bottom:10px; color: var(--azul); border: solid 2px var(--azul); box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25); font-weight: 800; text-align: left; line-height: 1.2em; }
section#servicos #servicosLista #servicosMenu .nav-link.active, section#servicos #servicosLista .nav-link:hover { background: var(--azul); border-radius: 30px 0 30px 0; margin-bottom:10px; color: #fff; }
section#servicos #servicosLista #servicosConteudo { width: 100%; background: #E6F5F7; box-shadow: 0px 8px 14px rgba(0, 0, 0, 0.2); border-radius: 60px 0px; padding: 40px 80px; }
section#servicos #servicosLista #servicosConteudo h3 { font-weight: 800; color: var(--azul); }
section#servicos #servicosLista #servicosConteudo p { margin-bottom: 0; }

section#chamada { background-image: url(../img/bg-barraacao.jpg); background-color: var(--azulClaro); background-position: center center; background-repeat: no-repeat; background-size: cover; background-attachment: fixed; color: #fff; text-align: center; position: relative; }
section#chamada:before { content:" "; display: block; width: 50px; height: 50px; background: #fff; position: absolute; top: -25px; left: calc(50% - 25px); transform: rotate(45deg); }
section#chamada:after { content:" "; display: block; width: 50px; height: 50px; background: #fff; position: absolute; bottom: -25px; left: calc(50% - 25px); transform: rotate(45deg); }
section#chamada h2 { font-weight: 800; font-size: 2.4em; max-width: 550px; margin:0 auto; text-shadow: 0px 2px 10px rgba(0, 0, 0, 0.2); }
section#chamada p { margin-bottom: 50px; }
section#chamada a { border:solid 3px #fff; border-radius: 30px; padding: 15px 25px; color: #fff; }
section#chamada a:after { content:">"; margin-left: 10px; }
section#chamada a:hover { background: #fff; color: var(--azul); }

section#feedback { background: url(../img/bg-feedback.jpg) center bottom no-repeat; background-size: contain; padding-top: 100px; padding-bottom: 0; }
section#feedback #fotoFeedback { width: 100%; z-index: 2; position: relative; }
section#feedback h3 { color: var(--azul); font-size: 2.4em; font-weight: 800; line-height: 1em; margin-bottom: 20px; }
section#feedback h3 small { font-size: 0.5em; font-weight: 400; color: var(--preto90); }
section#feedback .depoimentos { padding:8% 15%; background: #FFFFFF; border: 1px solid rgba(0, 0, 0, 0.15); box-shadow: 0px 8px 14px rgba(0, 0, 0, 0.2); border-radius: 50px 0px; position: relative; margin-bottom: 100px; } 
section#feedback .depoimentos:before { content:" "; position: absolute; display: block; left: -25px; bottom: -40px; border: solid 2px var(--azul); border-radius: 20px 0; width: 50px; height: 80px; }
section#feedback .depoimentos .pessoa { color:var(--azul) ; font-style: italic; }
section#feedback .depoimentos .swiperDepoimentos { position: relative; padding-bottom: 30px; }
section#feedback .depoimentos .swiperDepoimentos .swiper-slide { justify-content: center; align-items: center; }
section#feedback .depoimentos .swiperDepoimentos .swiper-button-prev { left: auto; right: 35px; bottom:0; top: auto; background: var(--azul); border-radius: 100%; width: 30px; height: 30px; }
section#feedback .depoimentos .swiperDepoimentos .swiper-button-prev:after, section#feedback .depoimentos .swiperDepoimentos .swiper-button-next:after { font-size: 18px; color: #fff; }
section#feedback .depoimentos .swiperDepoimentos .swiper-button-next { left: auto; right: 0px; bottom:0; top: auto; background: var(--azul); border-radius: 100%; width: 30px; height: 30px; }


section#contato { background-image:url(../img/bg-contato.jpg); background-color: #111; background-repeat: no-repeat; background-position: center center; background-size: cover; background-attachment: fixed; color: #fff; }
section#contato h3 { font-size:2em; font-weight: 800; color:var(--azulClaro); }
section#contato p b { color:var(--azulClaro) ; }
section#contato input, section#contato textarea, section#contato select { border-radius: 0; padding: 15px; }
section#contato button { background: var(--azul) ; color: #fff; font-weight: 800; padding: 15px 30px; }

footer { padding: 50px 0; background: var(--preto90);  color: #fff; }
footer #linksRodape { text-align: center; }
footer #linksRodape ul li a { font-weight: 800; color: var(--azul); font-size: 1.3em; } footer #linksRodape ul li a:hover { color: var(--azulClaro); }
footer #linksRodape > a { background: linear-gradient(273.9deg, #4FC06E 2.3%, #8AD168 100%); border: 1px solid #48B614; box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.15); border-radius: 30px; padding:10px 20px; color: #fff; font-weight: 600; }
footer #dadosContato { border-top: dashed 2px var(--azul); border-bottom: dashed 2px var(--azul); margin: 50px auto; padding: 30px 0; }
footer #dadosContato div { padding-left: 45px; position: relative; }
footer #dadosContato div i { position: absolute; left: 0; top: calc(50% - 20px); font-size: 30px; color: var(--azul); }
footer #dadosContato a { color: #fff; text-decoration: underline; }
footer #copyright { text-align: center; padding: 0 20px; }
footer #copyright a { color: #ffe604; text-decoration: underline; }





@media screen and (max-width:992px) {
	body { overflow-x: hidden; }

	header ul.navbar-nav li:last-child:after { display: none; }
	header ul.navbar-nav { margin: 0; }
	header ul.navbar-nav li { background: var(--azul); display: block; width: 100%; text-align: center; margin-bottom: 1px; border-radius: 10px; }
	header ul.navbar-nav li a, header ul.navbar-nav li a:focus, header ul.navbar-nav li a:active, header ul.navbar-nav li a:visited { color: #fff; }
	header ul.navbar-nav li:last-child { background: transparent; margin-top: 10px; }
	header ul.navbar-nav li:last-child a { margin-left: 0; }
	header ul.navbar-nav li a { color: #fff; }
	
	#topo .foto { margin-left: 60%; }
	#topo .foto img { max-height: 500px; }
	#topo .boxTexto { width: 320px; padding: 40px 50px; top:28%; left: 25%; }
	#topo .boxTexto:before { width: 320px; }
	#topo .boxTexto:after { top: 110%; left:45%; }
	#topo .boxTexto h2 { font-size: 1.4em; }
	#topo .boxTexto p { font-size: 0.8em; }

	section#sobre img { margin-top: 0; }
	
	#barraAzul { text-align: center; }

	section#projetos #galeriaFotos { display: grid; grid-template-columns: 1fr; gap:20px; padding:20px; }

	section#servicos #servicosLista { display: block !important; }
	section#servicos #servicosLista #servicosMenu { display: flex; flex-direction: unset !important; justify-content: stretch !important; margin-right: 0 !important; gap: 5px;  margin-bottom:15px;}
	section#servicos #servicosLista #servicosMenu button { font-size: 14px; flex: 1; }

	section#feedback h3 { text-align: center; }
	section#feedback #fotoFeedback { margin-top: -50px; }

	section#contato { text-align: center; }
	footer #dadosContato div { text-align: center; margin-bottom: 20px; padding-left: 0; }
	footer #dadosContato div:last-child { margin-bottom: 0; }
	footer #dadosContato div i { display: none; }
}

@media screen and (max-width:480px) {
	.navbar-brand img { width: 165px; }

	#topo .foto img { max-height: 400px; margin-top: 50px; margin-bottom: 3px; }
	#topo .boxTexto { width: 230px; padding: 30px 40px; top:28%; left: 10%; }
	#topo .boxTexto:before { width: 230px; }
	#topo .boxTexto h2 { font-size: .9em; }

	section#sobre img { width: 70%; }
	section#sobre h2 { font-size:2em; text-align: center; }
	section#sobre p { text-align: center; }
	section#sobre .botoes a { font-size: 0.8em; padding: 5px;}

	section#barraAzul .quadradoFrase { width: 250px; }
	section#barraAzul .quadradoFrase h4 { font-size: 1.5rem; }
	section#barraAzul .quadradoFrase:before { width:85px; left: -40px; }
	section#barraAzul .quadradoFrase:after { width:85px; right: -40px;  }


	section#projetos h2 { font-size: 1.8em; }

	section#servicos .titulo h2 { font-size: 1.8em; }
	section#servicos #servicosLista #servicosConteudo { padding: 40px; }

	section#chamada { padding-left: 15px; padding-right: 15px; }
	section#chamada h2 { font-size: 1.8em; }

	section#feedback h3 { font-size: 1.8em; }
	
}

@media screen and (max-width:384px) {
}

@media screen and (max-width:320px) {

	#topo .boxTexto { width: 200px; padding: 20px 30px; top:35%; left: 8%; }

	section#feedback h3 small { letter-spacing: normal; }
}