/* Variáveis */

:root {
 --cor-base:#506074;
 --cor-clara:#6681a2;
 --cor-escura:#121d2c;
 --cor-dois:#936954;
 --cor-bg:#fff;
}

/* Reset */

* {
 margin:0; padding:0; border:0; outline:0;
 box-sizing:border-box;
}

/* Base */

html {
 position:relative;
 min-height:100%;
}

body {
 margin:0;
 height:100%;
 min-width:300px;
 overflow-y:scroll;
 overflow-x:hidden;
 background-color:var(--cor-bg);
 color:#000;
 font-family:Arial,Helvetica;
 font-size:1em;
 font-weight:400;
}

.roboto {
 font-family:'Roboto',Arial,Helvetica;
 font-size:1em;
 font-weight:400;
}

.montserrat {
 font-family:'Montserrat',Arial,Helvetica;
 font-size:1em;
 font-weight:300;
}

/* jQuery UI */

.ui-widget {
 font-style:inherit !important;
 font-family:Tahoma,Arial,Helvetica !important;
 font-size:100% !important;
}

.ui-dialog-titlebar-close {
 visibility:hidden;
}

.ui-tooltip-content {
 font-size:0.8em;
 line-height:initial;
}

.ui-accordion-header {
 outline:none !important;
}

.ui-datepicker {
 font-size:0.95em !important;
}

.ui-datepicker-calendar td,.ui-datepicker-calendar th {
 min-width:unset !important;
 margin:unset !important;
}

.ui-progressbar-value {
 height:2em !important;
}

.ui-widget-shadow {
 -webkit-box-shadow:2px 2px 5px var(--cor-base) !important;
 box-shadow: 2px 2px 5px var(--cor-base) !important;
}

.ui-autocomplete {
 max-height:200px;
 overflow-y:auto;
 overflow-x:hidden;
}

#dialog {
 display:none;
}

.dialog-fixed {
 position:fixed !important;
}

/* Tags */

a {
 text-decoration:none;
 color:#000;
 outline:none;
 overflow-wrap:anywhere;
}

a:hover {
 text-decoration:none;
 color:var(--cor-base);
}

a.branco {
 text-decoration:none;
 color:#fff;
 outline:none;
 overflow-wrap:anywhere;
}

a.branco:hover {
 text-decoration:none;
 color:#96cbf3;
}

input[type=text],input[type=password],input[type=file],select,textarea {
 width:100%;
 max-width:600px;
 font-family:Arial,Helvetica;
 border:1px solid var(--cor-base);
 background-color:#fff;
 border-radius:2px;
 color:#000;
 margin-bottom:20px;
 padding:8px;
 outline:none;
 resize:none;
}

input[type=text]:focus,input[type=password]:focus,select:focus,textarea:focus {
 background-color:#eee;
}

input[type=file] {
 width:100%;
 max-width:350px;
}

input[type=checkbox] {
 margin:10px 4px 13px 17px;
 vertical-align:middle;
}

input[type=checkbox]:nth-child(1) {
 margin-left:0;
}

::placeholder {
 color:var(--cor-escura);
 opacity:0.4;
 font-size:0.9em;
}

button,input[type=button],input[type=submit] {
 background-color:var(--cor-base);
 border:1px solid var(--cor-base);
 border-radius:2px;
 padding:10px;
 color:#fff;
 outline:none;
 cursor:pointer;
 transition:0.3s;
}

button:hover,input[type=button]:hover,input[type=submit]:hover {
 background-color:var(--cor-escura);
 border:1px solid var(--cor-escura);
}

hr {
 border:0;
 width:100%;
 height:1px;
 background-color:var(--cor-base);
}

li {
 margin-left:1em;
}

blockquote {
 border-left:solid 3px var(--cor-base);
 padding-left:1em;
 font-style:italic;
}

break {
 flex-basis:100%;
 width:0; height:0;
 overflow:hidden;
}

main {
 margin:0;
 padding:0;
}

/* Específicos */

.nosel {
 user-select:none;
 -moz-user-select:none;
 -ms-user-select:none;
 -webkit-user-select:none;
 -webkit-touch-callout:none;
 -webkit-tap-highlight-color:transparent;
}

.yessel {
 user-select:text !important;
 -moz-user-select:text !important;
 -ms-user-select:text !important;
 -webkit-user-select:text !important;
}

.noresp {
 display:initial;
}

.yesresp {
 display:none;
}

.flex {
 display:flex;
 flex-wrap:wrap;
 justify-content:center;
}

.loading {
 display:none;
 z-index:99;
}

.load1 {
 position:absolute;
 top:0; left:0;
 z-index:99;
 width:100%;
 height:100%;
 background-color:#fff;
 opacity:0.2;
}

.load2 {
 width:48px;
 height:48px;
 position:fixed;
 top:49%;
 left:49%;
 transform:translate(-50%,-50%);
 animation:rotation 1.7s infinite linear;
}

#lightbox {
 display:none;
 width:100vw;
 height:100vh;
 top:0; left:0;
 position:fixed;
 backdrop-filter:grayscale(1) brightness(0.8);
 z-index:99;
}

#lightbox-content {
 display:none;
 position:absolute;
 width:100%; max-height:100%;
 top:50%; left:50%;
 transform:translate(-50%,-50%);
 background:#fff;
 width:100%; max-height:100%;
 border:solid 5px var(--cor-base);
 border-radius:10px;
 padding:1em;
 overflow:auto;
 margin:0 auto;
}

#lightbox-close {
 position:absolute;
 top:0; right:0;
 margin:8px 4px;
 z-index:99;
}

#lightbox-close span {
 background-color:#fff;
 border:solid 8px #fff;
 padding:8px;
 border-radius:16px;
 cursor:pointer;
 box-shadow:0 0 5px;
}

#lightbox-close span:hover {
 border:solid 8px var(--cor-base);
}

@keyframes rotation {
 from { transform:rotate(0deg); }
 to { transform:rotate(359deg); }
}

.embed-container {
 position:relative;
 padding-bottom:56.25%;
 height:0;
 overflow:hidden;
 max-width:100%;
}

.embed-container iframe,.embed-container object,.embed-container embed {
 position:absolute;
 top:0;
 left:0;
 width:100%;
 height:100%;
}

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

 .noresp {
  display:none;
 }

 .yesresp {
  display:initial;
 }

 tr {
  display:flex;
  justify-content:center;
  flex-direction:row;
  flex-wrap:wrap;
 }

 td,th {
  flex:1;
  min-width:200px;
  margin:1em;
 }

}

@media screen and (max-width:300px) {
 body {
  font-size:0.9em;
 }
}

@media screen and (max-width:200px) {
 body { display:table-column;background:url(/imagens/layout/logotipo.png) center center / contain no-repeat fixed padding-box content-box var(--cor-bg); }
}

/* Projeto */

.topo {
 width:100%;
 position:fixed;
 top:0;
 left:0;
 z-index:2;
 transition:0.3s;
}

.topomenu {
 flex:1;
 padding-top:60px;
 transition:0.3s;
}

.menufaixa {
 display:inline-block;
 width:100%;
 max-width:600px;
 height:50px;
 background-color:var(--cor-base);
 text-align:center;
}

.menuitem {
 display:inline-block;
 padding:13px 25px;
 font-size:1.25em;
}

.topologo {
 flex:1;
 max-width:280px;
 padding:10px 0;
 transition:0.3s;
}

.logo {
 width:100%;
 max-width:280px;
 transition:0.3s;
}

.topotel {
 flex:1;
 padding-top:60px;
 transition:0.3s;
}

.telfaixa {
 display:inline-block;
 float:right;
 width:100%;
 max-width:600px;
 height:50px;
 background-color:var(--cor-base);
 text-align:center;
 padding-top:12px;
 color:#fff;
 font-size:1.25em;
}

.topowhats {
 width:25px;
 filter:brightness(100);
 margin-bottom:-4px;
 margin-left:5px;
}

#menu_hamb_ico {
 display:none;
 width:40px;
 height:40px;
 margin:22px 0 0 15px;
 border:0;
 cursor:pointer;
}

#menu_resp {
 display:none;
 position:absolute;
 top:82px;
 left:0;
 width:100%;
 text-align:center;
 background-color:#fff;
 box-shadow:0 6px 6px rgba(0,0,0,0.2);
 padding:15px 30px 10px;
 z-index:-1;
}

.menuitem_resp {
 display:inline-block;
 width:100%;
 border:1px solid var(--cor-base);
 border-radius:2px;
 padding:10px 5px 8px;
 margin-bottom:10px;
 font-size:0.9em;
 font-weight:500;
 color:var(--cor-base);
 cursor:pointer;
}

.menuitem_resp:hover {
 color:var(--cor-base);
}

.whatsresp {
 display:none;
 float:right;
 margin:22px 15px 0 0;
 border:0;
 cursor:pointer;
}

.rodape {
 width:100%;
 background-color:var(--cor-base);
 padding:50px 10px;
 color:#fff;
}

.rodlogo {
 flex:1;
 max-width:200px;
 padding:10px 0;
}

.rodlinha {
 flex:1;
 max-width:2px;
 background-color:#ab8773;
 margin:0 30px;
}

.rodtxt {
 flex:1;
 padding:10px 0;
 line-height:2.1em;
}

.rodico {
 width:20px;
 margin-right:5px;
 margin-bottom:-4px;
 filter:brightness(100);
}

.inweb {
 width:100%;
 background-color:#3e4d5f;
 padding:15px;
 text-align:left;
 font-size:0.8em;
 letter-spacing:0.03em;
}

.floatwhats {
 position:fixed;
 bottom:10px;
 right:15px;
 z-index:2;
 cursor:pointer;
 transition:0.3s;
}

.floatwhats_img {
 width:82px;
 border:0;
}

.floatwhats:hover {
 transform:rotate(-15deg);
}

/*** HOMEPAGE ***/

.home_hero {
 width:100%;
 height:950px;
 background-image:url(/imagens/home/heroimg.webp);
 background-position:center bottom;
 background-repeat:no-repeat;
 position:relative;
}

.home_herotxt {
 width:45%;
 position:absolute;
 top:55%;
 left:50px;
 transform:translateY(-50%);
 font-size:3.9em;
 letter-spacing:-0.03em;
 line-height:1.2em;
}

.home_intro {
 width:100%;
 max-width:1250px;
 margin:0 auto;
 padding:0 20px 80px;
}

.home_introfoto {
 flex:1;
 max-width:385px;
 min-width:385px;
 background-color:var(--cor-base);
 padding:35px 20px 20px;
 text-align:center;
 margin-top:-60px;
 z-index:1;
}

.home_intrologo {
 width:100%;
 max-width:95px;
}

.home_introtxt1 {
 flex:1;
 padding:0 0 0 30px;
 font-size:1.2em;
 color:rgba(0,0,0,0.9);
 position:relative;
}

.home_introtxt2 {
 position:absolute;
 bottom:5px;
}

.home_espec {
 width:100%;
 background-color:var(--cor-dois);
 padding:60px 10px 70px;  
 text-align:center;
 color:#fff;
}

.home_espectit {
 font-size:2em;
 font-weight:500;
}

.home_especbox {
 flex:1;
 margin:20px;
 padding:20px;
 text-align:left;
 border:1px solid #f7f7f7;
 color:#f7f7f7;
}

.home_especico {
 width:96px;
 margin-bottom:10px;
}

.home_especbot {
 display:inline-block;
 background-color:#fff;
 border-radius:30px;
 padding:12px 50px;
 font-weight:500;
 color:#725542;
 font-size:1.5em;
 letter-spacing:0.02em;
 transition:0.3s;
}

.home_especbot:hover {
 background-color:#ffd2a8;
 color:#725542;
 box-shadow:0 5px 5px rgba(0,0,0,0.3);
}

.home_depo {
 width:100%;
 background-image:url(/imagens/home/bgdepoimentos.webp);
 background-position:center bottom;
 background-repeat:no-repeat;
 padding:80px 20px;
 text-align:center;
}

.home_depotit {
 font-size:2em;
 font-weight:500;
 color:var(--cor-escura);
}

.home_depobox {
 flex:1;
 background-color:#fff;
 border:2px solid var(--cor-escura);
 border-radius:10px;
 padding:15px;
 margin:20px;
 text-align:left;
 line-height:1.4em;
}

.home_depostar {
 width:100%;
 max-width:120px;
 margin-bottom:5px;
}

/*** INTERNAS ***/

.titulo {
 width:100%;
 background-color:#DFDFDF;
 margin-top:220px;
 padding:50px 20px;
 text-align:center;
}

h1 {
 font-weight:800;
 font-size:2.5em;
 color:var(--cor-escura);
}

.centro {
 width:100%;
 max-width:1250px;
 margin:0 auto;
 padding:50px 15px;
 font-size:1.1em;
 line-height:1.4em;
 color:rgba(0,0,0,0.8);
}

.quem_foto {
 flex:1;
 max-width:380px;
}

.quem_foto_img {
 width:100%;
 max-width:370px;
 border:10px solid #fff;
 box-shadow:0 0 5px rgba(0,0,0,0.3);
}

.quem_txt {
 flex:1;
 padding-top:30px;
 padding-left:20px;
}

.quem_bot {
 display:inline-block;
 width:90%;
 max-width:300px;
 background-color:var(--cor-dois);
 border-radius:30px;
 text-align:center;
 padding:10px 10px 8px;
 margin-top:10px;
 font-weight:700;
 font-size:0.9em;
 color:#f1f1f1;
 transition:0.3s;
}

.quem_bot:hover {
 background-color:var(--cor-escura);
 box-shadow:0 4px 4px rgba(0,0,0,0.4);
 color:#fff;
}

.serv_box {
 flex:1;
 margin:15px;
 padding:12px 12px 16px;
 border:2px solid var(--cor-dois);
}

.serv_tit {
 display:inline-block;
 width:100%;
 background-color:var(--cor-dois);
 text-align:center;
 padding:10px;
 margin-bottom:20px;
 font-size:1.3em;
 font-weight:700;
 color:#fff; 
}

.serv_bot {
 display:inline-block;
 width:100%;
 max-width:300px;
 background-color:var(--cor-dois);
 border-radius:30px;
 padding:10px;
 margin-top:10px;
 text-align:center;
 color:#fff;
 font-weight:600;
 font-size:0.9em;
 transition:0.3s;
}

.serv_bot:hover {
 background-color:var(--cor-escura);
 color:#fff;
 box-shadow:0 4px 4px rgba(0,0,0,0.4); 
}

.ctt_foto {
 flex:1;
 max-width:380px;
}

.ctt_foto_img {
 width:100%;
 max-width:370px;
 border:10px solid #fff;
 box-shadow:0 0 5px rgba(0,0,0,0.3);
}

.ctt_txt {
 flex:1;
 width:100%;
 max-width:600px;
 padding-top:10px;
 padding-left:20px;
 font-size:0.9em;
}

.ctt_whats {
 display:inline-block;
 width:90%;
 max-width:500px;
 margin:0 auto;
 background-color:var(--cor-dois);
 border-radius:5px;
 padding:20px 10px;
 text-align:center;
 color:#fff;
 transition:0.3s;
}

.ctt_whats:hover {
 background-color:var(--cor-escura);
 color:#fff;
}

/***********/

@media screen and (max-width:1600px) {
 .topomenu {
  padding-top:40px !important;
 }
 .menufaixa {
  max-width:420px;
 }
 .menuitem {
  padding:16px 15px 0;
  font-size:1em;
 }
 .topologo {
  max-width:180px !important;
 }
 .logo {
  max-width:180px !important;
 }
 .topotel {
  padding-top:40px !important;
 }
 .telfaixa {
  max-width:420px;
  font-size:1em;
 }
 .home_hero {
  height:900px;
 } 
 .titulo {
  margin-top:150px;
 }
}

@media screen and (max-width:1200px) {
 .topomenu {
  padding-top:45px !important;
 }
 .menufaixa {
  max-width:350px;
  height:40px !important;
 }
 .menuitem {
  padding:12px 10px 0;
  font-size:0.9em;
 }
 .topologo {
  max-width:150px !important;
 }
 .logo {
  max-width:150px !important;
 }
 .topotel {
  padding-top:45px !important;
 }
 .telfaixa {
  max-width:350px;
  height:40px !important;
  padding-top:12px;  
  font-size:0.9em;
 }
 .topowhats {
  display:none;
 }
 .rodape {
  padding:30px 10px;
 }
 .home_hero {
  height:700px;
  background-size:cover;
 }
 .home_herotxt {
  left:30px;
  font-size:3em;
 }
 .home_depo {
  padding:60px 20px;
 }
 .home_depobox {
  margin:10px;
 }
 .titulo {
  margin-top:130px;
 }
 h1 {
  font-size:2em;
 }
 .centro {
  padding:30px 15px 50px;
 }
 .quem_txt {
  padding-top:10px;
 }
 .serv_box {
  margin:10px;
 }
}

@media screen and (max-width:950px) {
 .menufaixa, .telfaixa {
  display:none;
 }
 .topomenu, .topotel {
  padding-top:0 !important;
 }
 #menu_hamb_ico, .whatsresp {
  display:inline-block;
 }
 .topologo {
  max-width:100px !important;
  padding:10px 0 0;
 }
 .logo {
  max-width:100px !important;
 }
 .rodlogo {
  max-width:180px;
 }
 .rodlinha {
  margin:0 20px;
 }
 .floatwhats {
  bottom:5px;
  right:10px;
 }
 .floatwhats_img {
  width:62px;
 }
 .home_hero {
  height:550px;
 }
 .home_herotxt {
  font-size:2.5em;
 }
 .home_intro {
  padding:0 20px 50px;
 }
 .home_introfoto {
  min-width:280px;
  max-width:280px;
  padding:35px 10px 10px;
  margin-top:-30px;
 }
 .home_intrologo {
  max-width:75px;
 }
 .home_introtxt1 {
  padding:0 0 0 25px;
  font-size:1.05em;
 }
 .home_espec {
  padding:40px 10px 50px;  
 }
 .home_espectit {
  font-size:1.6em;
 }
 .home_especbox {
  margin:15px;
  padding:15px;
 }
 .home_especbot {
  font-size:1.2em;
 }
 .home_depo {
  padding:50px 20px;
 }
 .home_depotit {
  font-size:1.8em;
 }
 .home_depobox {
  flex:none;
  display:inline-block;
  width:45%;
 }
 .titulo {
  margin-top:90px;
  padding:30px 15px;
 }
 h1 {
  font-size:1.6em;
 }
 .centro {
  padding:20px 15px 40px;
  font-size:1em;
 }
 .quem_foto {
  max-width:300px;
 }
 .quem_foto_img {
  border:6px solid #fff;
 }
 .quem_bot {
  margin-top:0;
 }
 .serv_box {
  padding:8px 8px 12px;
 }
 .ctt_foto {
  max-width:300px;
 }
 .ctt_foto_img {
  border:6px solid #fff;
 }
 .ctt_txt {
  padding-top:0;
 }
}

@media screen and (max-width:800px) {
 .rodape {
  padding:20px 15px;
 }
 .rodlogo {
  flex:none;
  display:inline-block;
  width:100%;
  text-align:center;
  padding:0;
 }
 .rodlinha {
  flex:none;
  display:inline-block;
  width:100%;
  max-width:none;
  height:2px;
  margin:15px 0;
 }
 .rodtxt {
  flex:none;
  display:inline-block;
  width:100%;
  padding:0 15px;
  font-size:0.9em;
 }
 .inweb {
  padding:12px;
  font-size:0.7em;
 }
 .home_hero {
  height:450px;
 }
 .home_herotxt {
  left:20px;
  font-size:2em;
 }
 .home_introtxt1 {
  padding:0 0 0 15px;
  font-size:0.95em;
 }
 .quem_foto {
  max-width:260px;
 }
 .serv_box {
  flex:none;
  display:inline-block;
  width:95%;
  max-width:560px;
  margin:0 0 20px;
 }
}

@media screen and (max-width:600px) {
 .home_intro {
  padding:30px 20px;
 }
 .home_introfoto {
  flex:none;
  display:inline-block;
  width:80%;
  min-width:none;
  max-width:385px;
  padding:15px;
  margin-top:0;
 }
 .home_intrologo {
  max-width:50px;
 }
 .home_introtxt1 {
  flex:none;
  display:inline-block;
  width:100%;
  padding:20px 0 0 0;
  font-size:1em;
 }
 .home_introtxt2 {
  position:relative;
  bottom:0;
 }
 .home_espec {
  padding:30px 10px 40px;  
 }
 .home_espectit {
  font-size:1.4em;
 }
 .home_especbox {
  margin:10px;
  padding:10px;
  font-size:0.9em;
 }
 .home_especico {
  width:72px;
  margin-bottom:5px;
 }
 .home_especbot {
  padding:12px 30px;
  font-size:1em;
 }
 .home_depo {
  padding:40px 20px;
 }
 .home_depotit {
  font-size:1.6em;
 }
 .home_depobox {
  font-size:0.9em;
  line-height:1.2em;
 }
 .quem_foto {
  flex:none;
  display:inline-block;
  width:100%;
  max-width:350px;
  text-align:center;
  padding:0 30px;
 }
 .quem_txt {
  flex:none;
  display:inline-block;
  width:100%;
  padding:20px 5px;
 }
 .serv_tit {
  margin-bottom:15px;
  padding:10px 10px 8px;
  font-size:1.2em;
 }
 .ctt_foto {
  flex:none;
  display:inline-block;
  width:100%;
  max-width:350px;
  text-align:center;
  padding:0 30px;
  margin-top:-20px;
 }
 .ctt_txt {
  flex:none;
  display:inline-block;
  padding:20px 5px;
 }
}

@media screen and (max-width:500px) {
 .home_hero {
  height:350px;
 }
 .home_herotxt {
  width:40%;
  top:60%;
  left:20px;
  font-size:1.4em;
 }
 .home_especbox {
  margin:5px;
 }
 .home_especbot {
  padding:10px 20px;
 }
 .home_depotit {
  font-size:1.4em;
 }
 .home_depobox {
  width:100%;
  margin:10px 0;
 }
 .home_depostar {
  max-width:100px;
 }
}

@media screen and (max-width:360px) {
 .home_hero {
  height:300px;
 }
 .home_herotxt {
  left:10px;
  font-size:1.2em;
 }
 h1 {
  font-size:1.4em;
 }
 .centro {
  font-size:0.9em;
 }
}