
*, body { font-family:'Montserrat', Arial, Helvetica, sans-serif; font-size:16px; }
html, body { overflow-x:hidden; }

.featherlight-next span i, 
.featherlight-previous span i { color:#d72583; font-size:45px; }

textarea:hover, 
input[type=text]:hover,
input[type=email]:hover,
textarea:active,
input[type=text]:active,
input[type=email]:active,
textarea:focus,
input[type=text]:focus,
input[type=email]:focus,
button:focus,
button:active,
button:hover { border-color:none !important; box-shadow:none !important; outline:0px !important; -webkit-appearance:none; }

/******************/
/* Menu principal */
/******************/

.main-menu-desktop img { max-height:80px; }
.main-menu-desktop { position:fixed; top:0; left:0; width:100vw; z-index:99; background:#505050; }
.main-menu-desktop ul { padding:0; margin:0; }
.main-menu-desktop li { display:flex; align-items:center; justify-content: center; transition: all .2s linear; flex-grow:1; }
.main-menu-desktop a { display:flex; align-items:center; justify-content: center; height:100%; text-align: center; color: #fff; font-size: 15px; font-weight: 350; text-decoration: none; white-space: nowrap; flex-grow:1; }
.main-menu-desktop li.contato a { margin:0 5px; height:40%; padding-top:10px; padding-bottom:10px; transition: all .15s linear; border-radius:12px; background:#fff; color:#333; }
.main-menu-desktop li:hover { background:#6e6e6e; }
.main-menu-desktop li.logo { padding:10px 0; }
.main-menu-desktop li.logo:hover,
.main-menu-desktop li.contato:hover { background:#505050; }
.main-menu-desktop li.contato:hover a { height:100%; border-radius:0; background:#6e6e6e; color:#fff; }

.cinza { background:#505050; display:flex; align-items: center; }
.cinza .logo { margin-left:20px; display: block; }
.main-menu-sandwich { display:flex; padding:20px; z-index: 98; background:#505050; font-size:28px; color:#fff; margin-left:auto; }
.main-menu-mobile { display:none !important; position:fixed; top:0; left:0; width:100vw; height:100vh; z-index:99; background:rgb(0, 0, 0, 0.8); }
.main-menu-mobile.mobile { display:none !important; }
.main-menu-mobile.active { display:inherit !important; }
.main-menu-mobile a { display:inline-block; width:60%; margin: 10px 20%; padding:8px 10px; text-align: center; border-radius: 70px; background: #6e6e6e; color: #fff; font-size: 18px; font-weight: 350; text-decoration: none; box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25); white-space: nowrap; }
.main-menu-mobile a.contato { background:#fff; color:#6e6e6e; }
.main-menu-mobile a.active,
.main-menu-mobile a:hover { background:#6e6e6e; color:#fff }

h1 { font-size:28px !important; }
h1 small { font-size:20px !important; }

h2 { font-size:20px !important; }
h1 small { font-size:20px !important; }

a.mais { display:inline-block; border:1px solid #d72583; color:#d72583; font-size:14px;  width:200px;; text-align:center; font-weight:500; padding:15px 0; border-radius:10px; text-decoration:none; transition: all 0.2s linear; }
a.mais:hover { background:#d72583; color:#fff; }

button.mais { display:inline-block; border:1px solid #d72583; color:#d72583; background:#fff; font-size:14px;  width:200px;; text-align:center; font-weight:500; padding:15px 0; border-radius:10px; text-decoration:none; transition: all 0.2s linear; }
button.mais:hover { background:#d72583; color:#fff; }

.grecaptcha-badge { visibility: hidden; }

section.entre-em-contato .bloco,
section.solicite-um-orcamento .bloco { border:1px solid #333; border-radius:25px; padding:40px; }
section.entre-em-contato .bloco p,
section.solicite-um-orcamento .bloco p,
section.entre-em-contato .bloco .mais ,
section.solicite-um-orcamento .bloco .mais { margin-bottom:0 !important; }



/******************/
/* Home           */
/******************/

main.home { padding-top:100px; }
main.home .video { position: relative; min-height:100%; height:calc(100vh - 100px); }
main.home .video video { position: absolute; left:0; width:100%; height:calc(100vh - 100px); z-index: 1; object-fit: cover; }
main.home .video .container { position: relative; min-height: 100%; z-index: 2; }
main.home .video .container .block { height:100%; flex-grow:1; /*background:rgba(0,0,0,0.8);*/ color:#fff; font-size:32px; padding:20px 50px; white-space: nowrap; }
main.home .video .container .block h1 strong { font-size:28px !important; line-height: 50px; display: block; padding-top:10px;  }
main.home section.sobre { background:#F0F0F0; }
main.home section.sobre iframe { background:#000; }

main.home section.fazemos { background: #3C3C3C; color:#fff; }
main.home section.fazemos ul { padding:0; }
main.home section.fazemos li { background:url(../img/marcador.png) no-repeat left center; list-style: none; padding:10px 0 10px 35px; }
main.home section.fazemos a.mais { border:1px solid #fff; color:#fff; }
main.home section.fazemos a.mais:hover { background:#fff; color:#333; }

main.home section.projetos { background:#F0F0F0; }
main.home section.projetos .obras a { width:23%; margin:1%; height:250px; float:left; transform: scale(1); z-index: 1; position: relative; background:url() no-repeat center center; background-size:cover; text-align: center; }
main.home section.projetos .obras a span { position:absolute; left:0; top:0; width:100%; height:100%; box-sizing: border-box; border:0px solid #d72583; transition: border-width 200ms ease; }
main.home section.projetos .obras a:hover span { border:15px solid #d72583; }
main.home section.projetos .obras a em { opacity:0; font-style: normal; position:absolute; left:0; top:0; width:100%; height:100%; box-sizing: border-box; background:#d72583E1; transition: opacity 200ms ease; color:#fff; display:flex; align-items: center; justify-content: center; }
main.home section.projetos .obras a i { color:#fff; font-size:40px; }
main.home section.projetos .obras a:hover em { opacity:1; }


main.home section.blog { background:#000; }
main.home section.blog .container { background:#fff; padding:0 50px; }
main.home section.blog .imagem { background-image:url(); background-repeat:no-repeat; background-size:cover; height:200px; }


main.home section.ebooks { background:#fff; }
main.home section.ebooks h1 span { color:#d72583; font-size:28px; }
main.home section.ebooks a.mais { color:#fff; background:#d72583; }
main.home section.ebooks a.mais:hover { background:#fff; color:#d72583; }
main.home section.ebooks .midias .download { background:url(../img/download.png) no-repeat left center; padding:20px 0 20px 50px; display: block; text-decoration: none; color:#333; border-top:1px solid #d3caca; }
main.home section.ebooks .midias .download:first-child { border:none; }


/******************/
/* Empresa        */
/******************/

main.empresa { padding-top:100px; }
main.empresa .banner2 { background:url() no-repeat center center; height:500px; background-size:cover; }
main.empresa section.titulo { background:#3C3C3C; color:#fff; }
main.empresa section.titulo h1 { margin:0; }
main.empresa section.missao h1 { font-size:40px !important; font-weight:300; padding-right:50px; }
main.empresa section.missao .bloco { padding:20px 0; border-bottom:1px solid #B9B9B9; }
main.empresa section.missao .bloco:last-child { border:none; }
main.empresa section.fazemos img { max-width: 100%; }


/******************/
/* Serviços       */
/******************/

main.servicos { padding-top:100px; }
main.servicos .banner2 { background:url() no-repeat center center; height:500px; background-size:cover; }
main.servicos section.titulo { background:#3C3C3C; color:#fff; }
main.servicos section.titulo h1 { margin:0; }
main.servicos section.orcamento .bloco { border:1px solid #333; border-radius:25px; padding:40px; }
main.servicos section.orcamento .bloco p,
main.servicos section.orcamento .bloco .mais { margin-bottom:0 !important; }
main.servicos section.fazemos h1 { font-size:40px !important; font-weight:300; padding-right:50px; }
main.servicos section.fazemos ul { padding:0; }
main.servicos section.fazemos li { background:url(../img/marcador2.png) no-repeat left center; list-style: none; padding:10px 0 10px 35px; }
main.servicos section.fazemos img { max-width: 100%; }

/******************/
/* Nossa Equipe   */
/******************/

main.equipe { padding-top:100px; }
main.equipe .banner2 { background:url() no-repeat center center; height:500px; background-size:cover; }
main.equipe section.titulo { background:#3C3C3C; color:#fff; }
main.equipe section.titulo h1 { margin:0; }
main.equipe section.titulo h2 { font-weight: bold; }
main.equipe section.curriculos h1 { font-size:40px !important; font-weight:300; padding-right:50px; }
main.equipe section.curriculos span { display: block; color:#d72583; margin:10px 0 30px; }
main.equipe section.curriculos .foto { background:url() no-repeat center center; background-size:cover; height:300px; margin-bottom:30px; }
main.equipe section.orcamento .bloco { border:1px solid #333; border-radius:25px; padding:40px; }
main.equipe section.orcamento .bloco p,
main.equipe section.orcamento .bloco .mais { margin-bottom:0 !important; }


/******************/
/* Obras          */
/******************/

main.obras { padding-top:100px; }
main.obras .banner2 { background:url() no-repeat center center; height:500px; background-size:cover; }
main.obras .banner2 .container { display: flex; height:100%; }
main.obras section.titulo { background:#3C3C3C; color:#fff; }
main.obras section.titulo h1 { margin:0; }
main.obras section.titulo h2 { font-weight: bold; }
main.obras section.projetos h1 { font-size:40px !important; font-weight:300; padding-right:50px; }
main.obras section.orcamento .bloco { border:1px solid #333; border-radius:25px; padding:40px; }
main.obras section.orcamento .bloco p,
main.obras section.orcamento .bloco .mais { margin-bottom:0 !important; }
main.obras section.projetos .lista { display:flex; flex-wrap: wrap; justify-content: center; }
main.obras section.projetos .lista a { width:23%; margin:1%; height:250px; overflow: hidden; transform: scale(1); z-index: 1; position: relative; background-image:url(); background-size:cover; display:flex; align-items:center; justify-content:center; text-align: center; }
main.obras section.projetos .lista a span { position:absolute; left:0; top:0; width:100%; height:100%; box-sizing: border-box; border:0px solid #d72583; transition: border-width 200ms ease; }
main.obras section.projetos .lista a em { opacity:0; font-style: normal; position:absolute; left:0; top:0; width:100%; height:100%; box-sizing: border-box; background:#d72583E1; transition: opacity 200ms ease; color:#fff; display:flex; align-items: center; justify-content: center; }
main.obras section.projetos .lista a i { color:#fff; font-size:40px; }
main.obras section.projetos .lista a:hover em { opacity:1; }
main.obras section.projetos .video { display:flex; align-items:center; justify-content: center; flex-wrap: wrap; }
main.obras section.projetos .video video,
main.obras section.projetos .video iframe { max-width: 100%; display: inline-block; margin:10px; width:calc(50% - 20px); }
main.obras section.projetos .video video { min-height:300px; }

main.obras .voltar { text-align:center; margin:50px 0; }
main.obras .voltar a { display:inline-block; min-width:40px; height:40px; text-align:center; text-decoration: none; line-height: 20px; font-size:14px; color:#d72583; border:1px solid #d72583; margin:0 3px; padding:10px; transition:all 0.25s linear; border-radius:5px; }
main.obras .voltar a:hover { background:#d72583; color:#fff; }


/******************/
/* Contato        */
/******************/

main.contato { padding-top:100px; }
main.contato .banner2 { background:url() no-repeat center center; height:500px; background-size:cover; }
main.contato section.titulo { background:#3C3C3C; color:#fff; }
main.contato section.titulo h1 { margin:0; }
main.contato section.titulo h2 { font-weight: bold; }
main.contato section.projetos h1 { font-size:40px !important; font-weight:300; padding-right:50px; }
main.contato input[type=text],
main.contato input[type=email],
main.contato input[type=file],
main.contato textarea { border:none; border-bottom:1px solid #989898 !important; border-radius:0; padding:10px 0; margin-top:20px; }
main.contato .email { text-decoration: none; color:#3C3C3C; }
main.contato .email:hover { text-decoration: underline; }
main.contato .ok { color:rgb(64, 122, 64); background:rgb(206, 255, 206); padding:20px; font-weight: bold; }
main.contato .erro { color:rgb(122, 64, 64); background:rgb(255, 206, 206); padding:20px; font-weight: bold; }
main.contato .compliance .download { background:url(../img/download.png) no-repeat left center; padding:20px 0 20px 50px; display: block; text-decoration: none; color:#333; border-top:1px solid #d3caca; }
main.contato .compliance .download:first-child { border:none; }

.ouvidoria a { color:#333; display: block; }
.ouvidoria a:hover { color:#000; }

/******************/
/* Blog           */
/******************/

main.blog { padding-top:100px; }
main.blog section.titulo { background:#3C3C3C; color:#fff; }
main.blog section.titulo h1 { margin:0; }
main.blog section.lista h1 { font-size:40px !important; font-weight:300; padding-right:50px; }
main.blog section.titulo h2 { font-weight: bold; }

main.blog .banner2 { background:url() no-repeat center center; height:500px; background-size:cover; }
main.blog .banner2 .container { display: flex; height:100%; }
main.blog .banner2 .container .frame { position: relative; }
main.blog .banner2 .data { position:absolute; left:10px; bottom:30px; min-width:80px; white-space: nowrap; background:#d72583; font-size:13px; color:#fff; padding:5px; text-align: center; border-radius:4px;; }
main.blog .banner2 .data span { font-size:50px; display: block; font-weight: bold; line-height: 50px;; }
main.blog h5 { font-size:14px; margin-top:15px; margin-bottom:10px; }
main.blog h5 em { color:#d72583; font-style: normal; font-size:14px; }
main.blog .foto { width:100%; height:300px; z-index: 1; position: relative; background:url() no-repeat center center; background-size:cover; }
main.blog .foto > a { position:absolute; left:0; top:0; width:100%; height:100%; box-sizing: border-box; border:0px solid #d72583; transition: border-width 200ms ease; }
main.blog .foto:hover > a { border:15px solid #d72583; }
main.blog .foto .data { position:absolute; left:10px; bottom:10px; min-width:80px; white-space: nowrap; background:#d72583; font-size:13px; color:#fff; padding:5px; text-align: center; border-radius:4px;; }
main.blog .foto .data span { font-size:50px; display: block; font-weight: bold; line-height: 50px;; }
main.blog .video { display:flex; align-items:center; justify-content: center; flex-wrap: wrap; }
main.blog .video video,
main.blog .video iframe { max-width: 100%; display: inline-block; margin:10px; width:calc(50% - 20px); }
main.blog .video video { min-height:300px; }
main.blog .voltar { text-align:center; margin:50px 0; }
main.blog .voltar a { display:inline-block; min-width:40px; height:40px; text-align:center; text-decoration: none; line-height: 20px; font-size:14px; color:#d72583; border:1px solid #d72583; margin:0 3px; padding:10px; transition:all 0.25s linear; border-radius:5px; }
main.blog .voltar a:hover { background:#d72583; color:#fff; }

main.blog .paginacao { display:flex; align-items: center; justify-content: center; margin:20px 0;}
main.blog .paginacao .page-item { margin:0 3px; }
main.blog .paginacao .page-item a { cursor:pointer; min-width:38px; min-height:38px; border:none; background: none; border:1px solid #9db7c0; color:#3E545B; border-radius:0; text-align:center; outline: none; }
main.blog .paginacao .page-item a:focus { outline: none !important; box-shadow: none; }
main.blog .paginacao .page-item a:hover { background:#d72583; color:#fff; border-color:#d72583; }
main.blog .paginacao .page-item.active a { background:#d72583; color:#fff; border-color:#d72583; }

main.blog section.post .galeria a { width:23%; margin:1%; height:250px; overflow: hidden; float:left; transform: scale(1); z-index: 1; position: relative; background-image:url(); background-size:cover; display:flex; align-items:center; justify-content:center; }
main.blog section.post .galeria a span { position:absolute; left:0; top:0; width:100%; height:100%; box-sizing: border-box; border:0px solid #d72583; transition: border-width 200ms ease; }
main.blog section.post .galeria a em { opacity:0; font-style: normal; position:absolute; left:0; top:0; width:100%; height:100%; box-sizing: border-box; background:#d72583E1; transition: opacity 200ms ease; color:#fff; display:flex; align-items: center; justify-content: center; }
main.blog section.post .galeria a i { color:#fff; font-size:40px; }
main.blog section.post .galeria a:hover em { opacity:1; }
main.blog section.post .video iframe { width:50%; }


/******************/
/* Footer         */
/******************/

footer { background-color: #3C3C3C; color:rgba(255,255,255,.85); padding-bottom:50px; }
footer h3 { font-size:20px; margin-bottom:20px; }
footer .logo { border-bottom:1px solid rgba(255,255,255,.15); }
footer .menu { border-left:1px solid rgba(255,255,255,.15); border-bottom:1px solid rgba(255,255,255,.15); padding:50px 30px 50px 30px; }
footer .menu a { display: block; padding:3px 0; color:rgba(255,255,255,.85); text-decoration: none; }
footer .contato { border-left:1px solid rgba(255,255,255,.15); border-bottom:1px solid rgba(255,255,255,.15); padding:50px 30px 50px 30px; }
footer .rodape { border-left:1px solid rgba(255,255,255,.15); border-bottom:1px solid rgba(255,255,255,.15); padding:50px 30px 50px 30px; }
footer .rodape .redes a { background:#fafafa; !important; border-radius:50px; padding:10px; width:45px; height:45px; display:flex; flex-direction: column; align-items: center; justify-content:center; color:#333; text-decoration: none; float:left; margin:0 5px; transition:all 0.25s linear; }
footer .rodape .redes a:hover { background:#d72583; color:#fff; }
footer .rodape .redes a i {font-size:24px; }
footer .rodape .obras a { float:left; width:60px; position: relative; height:60px; background:url() no-repeat center center; background-size:cover; }
footer .rodape .obras a span { position:absolute; left:0; top:0; width:100%; height:100%; box-sizing: border-box; border:0px solid #d72583; transition: border-width 200ms ease; }
footer .rodape .obras a:hover span { border:5px solid #d72583; }


footer .copyright { border-right:1px solid rgba(255,255,255,.15); color:rgba(255,255,255,.85); padding:15px 0; text-align: center; }
footer .copyright p { margin:0; }

#aceite-cookies { display:none; background:#fff; position:fixed; left:calc(50% - 250px); z-index:999; bottom:80px; width:100%; max-width:500px; -webkit-box-shadow: 2px 5px 15px 0px #333;  box-shadow: 2px 5px 15px 0px #333; padding:10px 15px; font-weight:300; }
#aceite-cookies button { margin-top:8px; margin-bottom:0; }
#aceite-cookies a { color:#d72583; text-decoration: none; display:inline-block; transition: all 200ms ease-in; border-bottom:2px solid transparent; }
#aceite-cookies a:hover { border-bottom:2px solid #333; }
#aceite-cookies button { padding-left:30px !important; padding-right:30px !important; text-align:center; width:auto; display:inline-block; padding:8px 15px; text-align: center; border-radius: 10px; background: #d72583; color: #fff; font-size: 18px; font-weight: 350; text-decoration: none; white-space: nowrap; border:1px solid #d72583; }
#aceite-cookies button:active,
#aceite-cookies button:hover { background-color:#fff !important; color:#d72583 !important; border: 1px solid #d72583 !important; }


.desktop { display: inherit !important; }
.mobile { display:none !important; }

@media (min-width: 768px) {
	main.home .video .container.desktop { display: flex !important; }
}


@media (max-width: 768px) {

	.desktop { display:none !important; }
	.mobile { display: inherit !important; }

	.slick-next { right: 20px; }
	.slick-prev { left: 10px; }

	main.home { padding-top:0; }

	main.home .video .block { position:absolute; left:15%; bottom:100px; width:70%; height:auto !important;  z-index: 6; flex-grow:1; /*background:rgba(0,0,0,0.8);*/ color:#fff; font-size:32px; padding:20px; white-space: nowrap; }
	main.home .video .block h1 strong { font-size:28px !important; line-height: 30px; display: block; padding-top:10px;  }


	main.home section.sobre iframe { height:250px; }
	main.home section.sobre .mais { margin-left:calc(50% - 100px); margin-top:30px !important; margin-bottom:0 !important; }
	main.home section.blog .container { padding:0 20px; }
	main.home section.projetos .obras a { width:50%; }
	main.home section.fazemos .mais { margin-left:calc(50% - 100px); margin-top:30px !important; margin-bottom:0 !important; }
	main.home section.projetos .mais { margin-left:calc(50% - 100px); margin-top:30px !important; margin-bottom:0 !important; }

	main.empresa,
	main.servicos,
	main.equipe,
	main.obras,
	main.contato,
	main.ouvidoria,
	main.blog { padding-top:0; }

	/*
	main.empresa .banner,
	main.servicos .banner,
	main.equipe .banner,
	main.obras .banner { display:none; }
	*/

	section.titulo { background:#3C3C3C; color:#fff; }
	section.titulo h1 { margin:0; }

	main.empresa .banner2,
	main.servicos .banner2,
	main.equipe .banner2,
	main.obras .banner2,
	main.orcamento .banner2,
	main.blog .banner2,
	main.ouvidoria .banner2,
	main.contato .banner2 { height:200px; }


	main.obras section.projetos .lista a { width:100%; margin-bottom:15px; height:250px; float:left; transform: scale(1); z-index: 1; position: relative; background-image:url(); background-size:cover; }
	main.obras section.projetos .video { flex-direction: column; }
	main.obras section.projetos .video iframe { width:100%; margin:0; margin-top:20px; }

	main.blog .banner2 { height:200px; }
	main.blog section.post .galeria a { width:100%; margin-bottom:15px; height:250px; float:left; transform: scale(1); z-index: 1; position: relative; background-image:url(); background-size:cover; }
	main.blog .paginacao li { display:none; }
	main.blog .paginacao li.previous,
	main.blog .paginacao li.next { display:inline-block !important; }

	.rtl { display: flex; flex-direction: column-reverse; }

	.fale-conosco { background-size:100% auto; }

	.featherlight .featherlight-content { margin-left: 10px; margin-right: 10px; max-height: calc(90% - 20px); padding:25px 0; }
	.featherlight-content h2 { text-align:center; }

}