html, body{
	margin: 0;
	padding: 0;
	font-size: 16px;
	font-family: "Open Sans", sans-serif;
	-webkit-text-size-adjust: 100%;
	overflow-x: hidden;
	background-color: #fff;
	color: #444;
	min-height: 100vh;
   background-image: url(../img/fundo_banner.jpg);
   background-size: 100% auto;
   background-repeat: no-repeat;
   background-attachment: fixed;
   background-position: 0 0;
}
*{
box-sizing: border-box;
position: relative;
transition: all .15s linear;
   outline: none;
}
#preloader{
   position: fixed;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   z-index: 9999;
   background-color: #fff;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
}
.loader {
  width: 120px;
  height: 20px;
  -webkit-mask:linear-gradient(90deg,#000 70%,#0000 0) 0/20%;
  background:
   linear-gradient(#0084c2 0 0) 0/0% no-repeat
   #ddd;
  animation: l4 2s infinite steps(6);
}
@keyframes l4 {
    100% {background-size:120%}
}
/* /////////////////////////////////ORGS*/
textarea{
   resize: vertical;
}
header{
   height: 90px;
   background-color: #fff;
}
nav{
   margin-left: auto;
   font-size: .9rem;
}
nav a,.oporcamento{
   color: #000;
   font-weight: 700;
   text-decoration: none;
   padding: 0 20px;
   border-radius: 21px;
   display: inline-flex;
   height: 42px;
   align-items: center;
   text-align: center;
}
nav a:hover,.oporcamento:hover{
   background-color: #ddd;
}
[for="mobmenuchk"]{
   position: absolute;
   right: 30px;
   top: 50%;
   transform: translateY(-50%);
   cursor: pointer;
   font-size: 2rem;
}
section{
   padding: 50px 0;
}
footer{
   display: flex;
   align-items: center;
   background-color: #000;
   color: #aaa;
   font-size: .8rem;
   padding: 20px 0 100px 0;
}
footer ul li{
   margin: 0 10px;
}
footer a{
   color: #aaa;
   text-decoration: none;
   white-space: nowrap;
}
footer .socialm li a{
   font-size: 1.8rem;
}
footer ul li a:hover{
   color: #fff;
}

/* /////////////////////////////////IDS*/
#bakdrop{
   position: fixed;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   z-index: 9;
   background-color: rgba(0,0,0,.95);
   display: none;
   align-items: center;
   justify-content: center;
}
#bakdrop.ativo{
   display: flex;
}
#logo{
   aspect-ratio: 400 / 238;
   height: 60px;
   display: block;
}
#banner{
   max-height: 500px;
   color: #fff;
   zzaspect-ratio: 1920 / 1160;
   width: 100%;
   transition: none;
}
#banner > div:first-of-type{
   max-height: calc(100% - 70px);
}
#banner > div > div{
   left: 40px;
   max-width: calc(100% - 80px);
}
#banner-title-head{
   font-size: 5.5rem;
   letter-spacing: -2px;
   max-width: 50%;
   display: inline-block;
   line-height: 4.5rem;
}
#banner-title-head + h3{
   max-width: 70%;
   font-weight: 500;
   margin: 32px 0;
}
#mobmenu{
   z-index: 5;
   max-height: 0;
   overflow: hidden;
   background-color: #fff;
   transition: max-height 0.4s ease;
}
#mobmenuchk:checked ~ #mobmenu{
   max-height: 192px;
   border-bottom: 3px solid rgba(0,0,0,.5);
 }
#mobmenuchk:checked ~ #menu_op{
   display: none;
 }
#menu_cl{
   display: none;
}
#mobmenuchk:checked ~ #menu_cl{
   display: inline-block;
 }
#mobmenu ul{
   display: flex;
   flex-direction: column;
}
#mobmenu ul li{
   height: 64px;
   border-top: 1px solid #ddd;
}
#mobmenu ul li a{
   display: flex;
   align-items: center;
   height: 100%;
   padding: 0 40px;
   text-decoration: none;
   color: #000;
   font-weight: 600;
}
#mobmenu ul li a:hover{
   background-color: rgba(0,0,0,.07)
}
#faleconosco{
   z-index: 8;
   position: fixed;
   bottom: 20px;
   right: 20px;
   text-decoration: none;
}
#faleconosco span:first-of-type{
   display: inline-block;
   padding: 10px 20px;
   background-color: #f5f5f5;
   color: #000;
   font-weight: 500;
   border-radius: 10px;
   filter: drop-shadow(2px 2px 3px rgba(0,0,0,.4));
}
#faleconosco span:last-of-type{
   font-size: 2.5rem;
   color: #fff;
   display: inline-flex;
   width: 60px;
   height: 60px;
   justify-content: center;
   align-items: center;
   border-radius: 50%;
   background-color: #2fb263;
   margin-left: 15px;
}
#orca{
   position: fixed;
   top: 0;
   left: 0;
   width: 100vw;
   height: 100vh;
   z-index: 9;
   background-color: rgba(0,0,0,.9);
   display: none;
   justify-content: center;
   overflow: auto;
}
#mainform label{
   display: inline-block;
   width: 100%;
   font-weight: 600;
}
#mainform .form-control{
   border-bottom: 1px solid #000;
   width: 100%;
}
/* /////////////////////////////////CLASSES*/
.banner-shape{
   transform: rotate(180deg);
   width: 100%;
   position: absolute;
   bottom: 0;
}
.banner-shape svg,.banner-shape2 svg{
   width: 100%;
   height: 70px;
}
.banner-shape path{
   fill: #fff;
   transform: rotateY(0deg);
   transform-origin: center;
}
.banner-shape2 path{
   fill: #fff;
}
.oporcamento{
   font-weight: 700;
   cursor: pointer;
}
.azul{
   color: #0084c2;
}
.preto{
   color: #000 !important;
}
.branco{
   color: #fff !important;
}
.ucase{
   text-transform: uppercase;
}
.lcase{
   text-transform: lowercase;
}
.texttitle{
   font-size: 1.9rem;
}
.sectitle{
   font-size: 4.8rem;
   color: #000;
   letter-spacing: -2px;
   font-weight: 600;
   line-height: 3.7rem;
}
.secsubtitle{
   font-size: 1.3rem;
   font-weight: 100;
   text-align: right;
}
.no-mt{
	margin-top: 0 !important;
}
.no-mb{
	margin-bottom: 0 !important;
}
.no-mg{
	margin: 0 !important;
}
.separator{
   display: flex;
   max-width: 60%;
   margin: 0 auto;
}
.separator > div:first-of-type{
   flex: 1;
   border-top: 1px solid #0084c2;
   height: fit-content;
   top: 20px;
   margin-right: 20px;
   min-width: 150px;
}
.separator > div:last-of-type{
   flex: 4;
}
.hidden{
   display: none;
}
.btn{
	background: transparent;
	border: none;
	padding: 0 30px;
	font-family: inherit;
	color: #fff;
	cursor: pointer;
	font-weight: bold;
   height: 56px;
   border-radius: 28px;
   display: inline-flex;
   align-items: center;
   text-align: center;
   text-decoration: none;
   white-space: nowrap;
}
.btn:hover{
	transform: scale(.9);
}
.btn-success{
   background-color: #2fb263;
}
.btn-dark{
   background-color: #000;
}
.btn-secondary{
   background-color: #777;
}
.maxw{
	width: 100%;
	max-width: 1680px;
	padding: 0 150px;
	margin: 0 auto;
}
.dfac{
	display: flex;
	align-items: center;
}
.playicon{
   border: 5px solid #fff;
   display: inline-flex;
   justify-content: center;
   align-items: center;
   width: 100px;
   height: 100px;
   border-radius: 50%;
}
.h100{
   height: 100%;
}
.video-container {
  position: relative;
  width: 80%;
  padding-bottom: 56.25%; /* proporção 16:9 */
  height: 0;
  overflow: hidden;
}

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.view3 .playicon{
   color: #fff;
   font-size: 2rem;
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%,-50%);
}
.view3 .swiper-slide{
   cursor: pointer;
}
.listreset{
   list-style: none;
   padding: 0;
   margin: 0;
}
.text-center{
   text-align: center !important;
}
.justify-center{
   justify-content: center;
}
.bgfff{
   background-color: #fff;
}
.maxw1280{
   max-width: 1280px;
   width: 100%;
   padding: 0 40px;
   margin: 0 auto;
}
.swiper-container{
   overflow: hidden;
}
.swiper-slide{
	background-size: cover;
	background-position: center;
}
.cpointer{
   cursor: pointer;
}
.closerx{
   position: fixed;
   z-index: 10;
   top: 20px;
   right: 20px;
   width: 30px;
   height: 30px;
   display: inline-block;
   cursor: pointer;
}
.closerx:hover{
   transform: scale(1.2);
}
.closerx::before,.closerx::after{
   content: '';
   width: 100%;
   height: 2px;
   background-color: #fff;
   position: absolute;
   top: 0;
}
.closerx::before{
   left: 5px;
   transform-origin: left;
   transform: rotate(45deg);
}
.closerx::after{
   right: 5px;
   transform-origin: right;
   transform: rotate(-45deg);
}
.card{
   display: flex;
   flex-direction: column;
   padding: 20px;
   margin: 10px;
   width: 100%;
   max-width: calc(33% - 20px);
   min-width: 320px;
   filter: drop-shadow(0 0 3px rgba(0,0,0,.2));
   background-color: #fff;
   align-self: stretch;
}
.divider{
   margin-bottom: 0 !important;
}
.divider::before{
   content: '';
   width: 20%;
   height: 5px;
   background-color: #9D9D9E;
   display: inline-block;
}
.pthumbs a{
   aspect-ratio: 1 / 1;
   margin: 5px;
   width: 107px;
   height: 107px;
   overflow: hidden;
   display: inline-flex;
   justify-content: center;
   align-items: center;
   background-color: #222;
}
.pthumbs img{
   width: 100%;
   position: absolute;
}
.swal2-popup{
   max-width: 800px;
}
.col12{
   background-color: #f2f2f2;
   padding: 50px 100px;
   border-radius: 20px;
}
.color8{
   color: #888;
}
.listicons > div{
   display: flex;
}
.listicons > div > div:first-of-type{
   margin-right: 30px;
}
.listicons h1{
   font-size: 1.5rem;
   font-weight: 600;
   color: #000;
}
.listicons p{
   font-size: 1.15rem;
   font-weight: 200;
}
.contato::before{
   content: '';
   display: inline-block;
   width: 100%;
   height: 100%;
   background-color: rgba(0,0,0,.8);
   position: absolute;
   top: 0;
}
.form-control{
   font-family: inherit;
   font-size: 1rem;
   background: transparent;
   border: none;
   padding: 10px;
   border-bottom: 1px solid #ddd;
   font-weight: 600;
}
.w100{
   width: 100%;
}
.container{
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-gap: 1rem;
    max-width: 1440px;
    margin-top: 30px;
}

.tile img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tile:nth-child(1){
    grid-column: span 4;
    grid-row: span 2;
}

.tile:nth-child(2),
.tile:nth-child(3){
    grid-column: span 2;
}

.tile:nth-child(4),
.tile:nth-child(5){
    grid-column: span 3;
}
/*MEDIAS*/
@media screen and (min-width: 769px){
   [for="mobmenuchk"], #mobmenu{
      display: none !important;
   }
}
@media screen and (max-width: 1359px){
   .cols{
      flex-direction: column;
      margin-top: 0 !important;
      max-width: 1680px;
      padding: 0 40px;
   }
   .col1{
      padding-right: 0 !important;
      width: 100%;
   }
   .col1 > div{
      max-width: none !important;
      width: 100% !important;
   }
   .col2{
      padding: 20px !important;
      text-align: center;
      margin-top: 40px;
   }
   .col2 .img800{
      left: 0 !important;
      width: 100%;
      max-width: 800px;
   }
}
@media screen and (max-width: 1130px){
   .maxw{
      padding: 0 40px;
   }
}
@media screen and (max-width: 1024px){
   #orca > div h1{
      font-size: 2.1rem !important;
      text-align: center;
      line-height: 2.11rem !important;
   }
   #orca > div{
      padding: 30px !important;
   }
   #orca > div h3{
      font-size: 1rem !important;
      text-align: center;
   }
   #orca > div > .dfac{
      flex-direction: column;
   }
   #orca > div > .dfac > div:first-of-type{
      margin-right: 0 !important;
      margin-bottom: 40px;
      text-align: center;
   }
   .hide1024{
      display: none;
   }
   .sectitle{
      text-align: right;
   }
}
@media screen and (max-width: 1023px){
   .contato > div > div:first-of-type{
      margin-right: 0 !important;
   }
   .contato > div > div:first-of-type > div > div:first-of-type{
      margin-right: 0 !important;
      margin-bottom: 20px;
   }
   .contato > div > div:first-of-type > div > div:last-of-type{
      text-align: center;
   }
   .contato > div > div:last-of-type{
      margin-top: 30px;
      width: 100%;
   }
   footer > div, .contato > div, .contato > div > div:first-of-type > div{
      flex-direction: column;
   }
   footer ul:last-of-type{
      margin-top: 25px;
   }
}
@media screen and (max-width: 849px){
   .listiconswin .sectitle{
      margin-bottom: 60px !important;
   }
   .listicons > div{
      margin-bottom: 30px;
   }
   .listicons > div > div:first-of-type{
      margin-right: 0 !important;
   }
   .listicons > div{
      flex-direction: column;
   }
   .col12 > div:first-of-type{
      padding-right: 0 !important;
      margin-bottom: 25px !important;
      margin-right: 0 !important;
   }
   .col12 > div:last-of-type{
      justify-content: center !important;
   }
   .col12 .sectitle{
      width: 100% !important;
      text-align: right !important;
   }
   .card{
      max-width: none;
      margin: 10px 0;
      text-align: center;
   }
   .card .swiper-container{
      max-width: none !important;
   }
   #banner-title-head{
      font-size: 3rem;
      line-height: 2.5rem;
   }
   #banner-title-head + h3{
      max-width: none;
   }
   .maxw1280 > .col12{
      flex-direction: column;
   }
   .maxw1280 > .col12 > div:first-of-type{
      margin-right: 0;
      margin-bottom: 30px;
   }
   .maxw1280 > .col12 > div:last-of-type{
      text-align: center;
   }
   .maxw1280 > .col12 > div:last-of-type img{
      top: 0 !important;
      width: 100% !important;
   }
   .maxw1280 > div:last-of-type .swiper-container{
      margin-right: 0 !important;
   }
   .maxw1280 > div:last-of-type .swiper-container + div{
      position: relative !important;
      text-align: center;
      margin: 30px auto 0 auto
   }
}
@media screen and (max-width: 768px){
   #mainform > .dfac{
      flex-direction: column !important;
   }
   #mainform > .dfac:first-of-type > div:first-of-type{
      margin-bottom: 30px !important;
      margin-right: 0 !important;
   }
   #mainform > .dfac:first-of-type > div:last-of-type{
      margin-left: 0 !important;
   }
   #mainform div{
      width: 100% !important;
   }
   #mainform > .dfac:nth-child(2){
      margin-top: 30px !important;
   }
   #mainform > .dfac:nth-child(2) > div:first-of-type{
      margin-bottom: 30px !important;
      margin-right: 0 !important;
   }
   #mainform > .dfac:nth-child(2) > div:last-of-type{
      margin-left: 0 !important;
   }
   #mainform > div:nth-child(3){
      margin-top: 30px !important;
   }
   .contato > div > div > h1{
      font-size: 2rem !important;
      text-align: center;
   }
   #formfooter{
      width: 100% !important;
   }
   #formfooter > div{
      flex-direction: column;
   }
   #formfooter > div div{
      margin: 0 !important;
      width: 100%;
   }
   #formfooter > div div:last-of-type{
      margin-top: 20px !important;
   }
   .col12{
      margin: 0 0 30px 0 !important;
   }
   #banner > div > div {
      left: 0;
      max-width: none;
   }
   .separator{
      max-width: none;
      padding: 0 40px;
   }
   .separator > div:first-of-type, nav{
      display: none;
   }
   .sectitle{
      font-size: 2.3rem;
      line-height: 2.3rem;
   }
   .col12 .sectitle{
      text-align: left !important;
   }
   .secsubtitle{
      margin-top: 0;
   }
}
@media screen and (max-width: 729px){
   .container{
      display: block;
   }
   .policarb > .dfac{
      flex-direction: column;
   }
   .policarb > .dfac > div:first-of-type{
      margin-right: 0 !important;
   }
   .policarb > .dfac > div:last-of-type img{
      top: 0 !important;
   }
   #anc_servicos{
      padding: 0 !important;
   }
   #anc_servicos > .col1{
      padding: 0 40px !important;
   }
   #anc_servicos > .col2{
      padding: 0 !important;
   }
   .img800{
      border-radius: 0 !important;
      display: block !important;
   }
   .view3{
      aspect-ratio: 3 / 1 !important;
   }
   .col12{
      padding: 40px !important;
   }
   #banner-title-head{
      font-size: 2.2rem;
      max-width: none;
      line-height: 1.7rem;
   }
   #banner-title-head + h3{
      margin: 10px 0 24px 0;
      font-size: 1rem;
   }
}
@media screen and (max-width: 559px){
   .view3{
      aspect-ratio: 2 / 1 !important;
   }
   .maxw{
      padding: 0 20px;
   }
   header{
      height: 70px;
   }
   #logo{
      height: 40px;
   }
   #banner-title-head{
      font-size: 1.6rem;
      line-height: 1.1rem;
   }
   #banner-title-head + h3{
      margin: 10px 0 20px 0;
      font-size: .9rem;
   }
   .btn{
      font-size: .9rem;
      height: 42px;
      border-radius: 21px;
   }
}
@media screen and (max-width: 515px){
   #banner > div:first-of-type {
      max-height: calc(100% - 30px);
   }
   .banner-shape svg{
      height: 30px;
   }
   #banner-title-head{
      font-size: 1.6rem;
      line-height: 1.1rem;
   }
   #banner-title-head + h3{
      margin: 10px 0 20px 0;
      font-size: .9rem;
   }
   .btn{
      font-size: .9rem;
      height: 42px;
      border-radius: 21px;
   }
}
.lds-spinner {
  display: inline-block;
  position: relative;
  width: 28px;
  height: 28px;
}
.lds-spinner div {
  transform-origin: 18px 18px;
  animation: lds-spinner 1.2s linear infinite;
}
.lds-spinner div:after {
  content: " ";
  display: block;
  position: absolute;
  top: 3px;
  left: 16px;
  width: 4px;
  height: 9px;
  border-radius: 20%;
  background: #fff;
}
.lds-spinner div:nth-child(1) {
  transform: rotate(0deg);
  animation-delay: -1.1s;
}
.lds-spinner div:nth-child(2) {
  transform: rotate(30deg);
  animation-delay: -1s;
}
.lds-spinner div:nth-child(3) {
  transform: rotate(60deg);
  animation-delay: -0.9s;
}
.lds-spinner div:nth-child(4) {
  transform: rotate(90deg);
  animation-delay: -0.8s;
}
.lds-spinner div:nth-child(5) {
  transform: rotate(120deg);
  animation-delay: -0.7s;
}
.lds-spinner div:nth-child(6) {
  transform: rotate(150deg);
  animation-delay: -0.6s;
}
.lds-spinner div:nth-child(7) {
  transform: rotate(180deg);
  animation-delay: -0.5s;
}
.lds-spinner div:nth-child(8) {
  transform: rotate(210deg);
  animation-delay: -0.4s;
}
.lds-spinner div:nth-child(9) {
  transform: rotate(240deg);
  animation-delay: -0.3s;
}
.lds-spinner div:nth-child(10) {
  transform: rotate(270deg);
  animation-delay: -0.2s;
}
.lds-spinner div:nth-child(11) {
  transform: rotate(300deg);
  animation-delay: -0.1s;
}
.lds-spinner div:nth-child(12) {
  transform: rotate(330deg);
  animation-delay: 0s;
}
@keyframes lds-spinner {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

.spinner {
   position: relative;
   width: 33.6px;
   height: 33.6px;
   perspective: 67.2px;
}

.spinner div {
   width: 100%;
   height: 100%;
   background: #daa520;
   position: absolute;
   left: 50%;
   transform-origin: left;
   animation: spinner-16s03x 2s infinite;
}

.spinner div:nth-child(1) {
   animation-delay: 0.15s;
}

.spinner div:nth-child(2) {
   animation-delay: 0.3s;
}

.spinner div:nth-child(3) {
   animation-delay: 0.45s;
}

.spinner div:nth-child(4) {
   animation-delay: 0.6s;
}

.spinner div:nth-child(5) {
   animation-delay: 0.75s;
}

@keyframes spinner-16s03x {
   0% {
      transform: rotateY(0deg);
   }

   50%, 80% {
      transform: rotateY(-180deg);
   }

   90%, 100% {
      opacity: 0;
      transform: rotateY(-180deg);
   }
}