:root{

   --azul: #3529d3;
   --grey:#333333;
}


*{
   padding: 0;
   margin: 0;
   font-family: 'League Spartan', sans-serif;
   font-size: 17px;
   color: var(--grey);
}

a{
   text-decoration: none;
   color: inherit;
   display: inline-block;
}

span{
   font-size: inherit;
}

.safe{
   max-width: 1000px;
   margin: 0 auto;
}


header{
   
}

.top-header{
   padding: 15px 0px;
   
   background-color: var(--azul);
}

.top-header > div{
   display: flex;
   justify-content: space-between;
   color: white;
   align-items: center;
}

.header-cta{
   border-radius: 5px;
   padding: 10px 15px;
   background-color: white;
   color: var(--azul);
   display: inline-block;
}

.header-wpp:before{
   content: "";
 width: 20px;
 display: inline-block;
 height: 20px;
 vertical-align: middle;
 background: url(images/icon-wpp_azul.svg);
 position: relative;
}

.header-tel:before{
   content: "";
 width: 20px;
 display: inline-block;
 height: 20px;
 vertical-align: middle;
 background: url(images/tel-icon.svg);
 position: relative;
}

.header-cta p{
   color: var(--azul);
   display: inline-block;
}

.header-cta p:nth-child(even){
   display: none;
   
}

.bottom-header{
   padding: 10px 15px;
   position: fixed;
   border-radius: 5px;
   z-index: 99;
   top: 75px;
   left: 0;
   right: 0;
   display: flex;
   justify-content: space-between;
   align-items: center;
   background-color: white;
   box-shadow: rgba(99, 99, 99, 0.2) 0px 3px 8px 0px;
}

.logo{
   margin-right: 15px;
}


nav{
   display: flex;
   align-items: center;
}

nav p{
   margin-right: 12px;
   cursor: pointer;
}

nav p:hover{
   color: var(--azul);
}

nav button{
   display: none;
}

.bottom-header-cta{
   border-radius: 13px;
   border-top-left-radius: 30px;
   border-bottom-right-radius: 30px;
   background-color: var(--azul);
   display: inline-block;
   color: white;
   padding: 17px 15px;
}

.hamb-con{
   border-radius: 10px;
   border: 1px solid var(--azul);
   width: 40px;
   height: 40px;
   cursor:pointer;
   padding: 8px;
   display: flex;
   flex-direction: column;
   box-sizing: border-box;
   justify-content: space-between;
   display: none;
}

.hamb-con p{
   width: 100%;
   height: 2px;
   background-color: var(--azul);
}

.hero-con{
   margin-top: 130px;
}

.inner-hero{
   overflow: hidden;
   height: 250px;
   padding: 15px 0px;
}

.inner-hero .swiper-slide{
   display: flex;
   align-items: center;
   transition: 0.5s all;
   justify-content: space-between;
}

.swiper-slide .slide-text{
   transition: 0.5s all;
   transition-delay: 2s;
   opacity: 0;
   transform: translateY(20px);
}

.swiper-slide-active .slide-text{
   opacity: 1;
   transform: translateY(0px);
}

.slide-text h1{
   font-size: 25px;
}

.slide-img{
   border-radius: 25px;
   border-top-left-radius: 70px;
   border-bottom-right-radius: 70px;
   overflow: hidden;
   box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
}

.slide-img img{
   display: block;
}

.hero-btns{
   margin-top: 30px;
}

.hero-wpp{
   background-color: var(--azul);
   padding: 15px 25px;
   color: white;
   border-radius: 12px;
   border-top-left-radius: 30px;
   border-bottom-right-radius: 30px;
   margin-right: 15px;
}

.hero-tel{
   border:1px solid var(--azul);
   padding: 15px 25px;
   color: var(--azul);
   border-radius: 12px;
   border-top-left-radius: 30px;
   border-bottom-right-radius: 30px;
}

.difs{
   margin-top: 60px;
   margin-bottom: 20px;
   position: relative;
   display: flex;
   justify-content: space-between;
}

.difs > div{
   max-width: 250px;
   text-align: center;
   background-color: var(--azul);
   padding: 20px 15px;
   color: white;
   border-radius: 12px;
   border-top-left-radius: 35px;
   border-bottom-right-radius: 35px;
   position: relative;
 box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
}

.difs > div *{
   color: white;
}

.difs > div h1{
   margin-bottom: 10px;
}

.difs:after{
   content: "";
   width: 30px;
   height: 30px;
   background-color: var(--azul);
   border-radius: 100%;
   position: absolute;
   top: -25px;
   left: -20px;
}

.difs:before{
   content: "";
   width: 50px;
   height: 50px;
   background-color: var(--azul);
   border-radius: 100%;
   position: absolute;
   bottom: -45px;
   right: -20px;
}

.servs-con{
   margin-top: 90px;
   display: flex;
   align-items: center;
}

.serv-carousel{
   width: 625px;
   overflow: hidden;
   padding: 25px 0px 25px 18px;
}

.serv-title{
   max-width: 350px;
   margin-right: 25px;
}

.serv-title p{
   font-size: 20px;
}

.serv-title h2{
   font-size: 35px;
   margin-top: 20px;
   color: var(--azul);
}

.servico{
   transform: scale(0.8) !important;
   position: relative;
   transition:0.5s all;
   overflow: hidden;
   border-radius: 20px;
   box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;

}

.servico *{
   pointer-events: none;
}

.servico:nth-child(odd){
   border-top-left-radius: 45px;
   border-bottom-right-radius: 45px;
}

.servico:nth-child(even){
   border-top-right-radius: 45px;
   border-bottom-left-radius: 45px;
}

.swiper-slide-active.servico{
   transform: scale(1.0) !important;
}

.servico p{
   position: absolute;
   right: 0;
   left: 0;
   background-color: var(--azul);
   color: white;
   text-align: center;
   padding: 15px 20px;
   width:90%;
   box-sizing: border-box;
   margin: 0 auto;
   border-radius: 12px;
   border-top-left-radius: 27px;
   border-bottom-right-radius: 27px;
   bottom: 15px;
}

.servico img{
   display: block;
}

.about-con{
   margin-top: 50px;
   display: flex;
   justify-content: center;
   background: url("images/watermark.png");

}

.about-imgs{
   margin-right: 20px;
   display: flex;
   align-items: flex-start;
   position: relative;
}

.about-imgs img{
   display: block;
}

.about-img-master{
   border-radius: 20px;
   border-top-left-radius: 55px;
   border-bottom-right-radius: 55px;
   overflow: hidden;
   margin-right: 10px;
}

.img-roberto{
   border-radius: 20px;
   border-top-left-radius: 55px;
   border-bottom-right-radius: 55px;
   overflow: hidden;
}

.about-text{
   max-width: 400px;
}

.about-text p{
   font-size: 20px;
   text-align: justify;
}

.about-text h2{
   font-size: 30px;
   margin-top: 20px;
   margin-bottom: 20px;
   color: var(--azul);
   text-align: justify;
}

.teste-con{
   position: relative;
}

.testemunhais{
   width: 302px;
   position: absolute;
   padding: 20px 43px;
   right: -25px;
   overflow: hidden;
}

.testemunhais .swiper-slide{
   background-color: white;
   padding: 20px 20px;
   display: flex;
   flex-direction: column;
   overflow: hidden;
   border-radius: 20px;
   border-top-left-radius: 55px;
   border-bottom-right-radius: 55px;
   box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
}

.testemunhais .swiper-slide div{
   display: flex;
   width: 100%;
   align-items: center;
   justify-content: space-between;
   margin-top: 10px;
}

.testemunhais .swiper-slide div p{
   color: var(--azul);
}

.cta-con{
   margin-top: 65px;
   text-align: center;
    position: relative;
}

.cta-con h2{
   font-size: 30px;
   color: var(--azul);
   position: relative;
}

.cta-con h2:before{
   content: "";
   width: 50px;
   height: 30px;
   background: url("images/logo_mini.png");
   background-size: contain;
   background-repeat: no-repeat;
   position: absolute;
   top: -35px;
   left: 0;
   right: 0;
   margin: 0 auto;
}

.cta-con h1{
   font-size: 35px;
   max-width: 400px;
   text-align: center;
   margin: 0 auto;
   margin-top: 15px;
}

.ctas{
   margin-top: 25px;
}

.contato-con{
   margin-top: 60px;
   margin-bottom: 60px;
   border-radius: 20px;
   background-color: var(--azul);
   color: white;
   display: flex;
   overflow: hidden;
}

#map{
   width: 80%;
}

.contato-dados{
   padding: 15px;
}

.contato-dados p, .contato-dados strong{
   color: white;
}

.contato-dados a{
   background-color: white;
   color: var(--azul);
   padding: 10px 20px;
   border-radius: 10px;
   display: inline-block;
   margin-top: 20px;
}

.floating-elements{
   position: fixed;
   z-index:9;
   bottom:50px;
   right: 27px;
   text-align: right;
   bottom:90px;
   
}

.wpp-floating{
  cursor: pointer;
  /*box-shadow:0px 5px 15px -3px #00000078;*/
  box-shadow:0 0 0 0 rgba(122, 237, 148, 0.29);
  overflow: hidden;
  border-radius: 100%;
  width:57px;
  height: 57px;
  display: block;
  pointer-events: initial;
  animation: pulso 1.25s infinite cubic-bezier(0.16, 0, 0, 1);
}

.wpp-floating img{
   display: block;
   margin:-2px -3px;
}

@keyframes pulso{
   100%{
      box-shadow:0 0 0 45px rgba(232, 76, 61, 0);
   }
}

footer{
   padding: 20px 0px;
   background-color: var(--azul);
}

footer p{
   text-align: center;
   color: white;
}

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

   .top-header{
      padding: 15px 5px;
      display: none;
   }

   .header-cta p:nth-child(even){
      display: initial;
      
   }

   .header-cta p:nth-child(odd){
      display:none;
   }

   .top-header div a{
      width: initial;
      display: block;
      margin-bottom: 10px;
   }

   .bottom-header{
      top: 0px;
   }

   nav{
      position: fixed;
      top: 0;
      background-color: white;
      z-index: 100;
      left:0;
      right: 0;
      height: 100%;
      flex-direction: column;
      display: none;
      text-align: center;
   }

   nav button{
      display: initial;
      margin-top: 20px;
      border-radius: 5px;
      padding: 10px 25px;
      background-color:#e74c3c;
      color: white;
      border: none;
      cursor: pointer;
      margin-bottom: 20px;
   }

   nav p{
      margin-bottom: 15px;
      margin-right: 0;
   }

   .hamb-con{
      display: flex;
   }

   .inner-hero .swiper-slide{
      flex-direction: column;
      text-align: center;
      padding: 0px 5px;
      box-sizing: border-box;
   }

   .hero-btns{
      text-align: center;
   }

   .hero-btns a {
      margin-bottom: 15px;
      margin-right: 0px;
      pointer-events: initial;
   }

   .inner-hero{
      height: 378px;
      pointer-events: none;
   }

   .inner-hero .slide-img{
      width: 100%;
   }

   .inner-hero .slide-img img{
      width: 100%;
      height: auto;
   }

   .difs{
      padding: 0px 5px;
      flex-direction: column;
      align-items: center;
   }

   .difs div{
      margin-bottom: 20px;

   }

   .difs:before{
      right: 46px;
   }

   .difs:after{
      left:14px;
   }

   .servs-con{
      flex-direction: column;
      text-align: center;
   }

   .serv-carousel{
      width: 200px;
     box-sizing: border-box;
    padding: 32px 19px;
   }

   .serv-title{
      margin-right: 0px;
   }

   .servico img{
      width: 100%;
   }

   .about-con{
      flex-direction: column;
   }

   .about-imgs{
      margin-right: 0px;
      margin: 0 auto;
   }

   .about-img-master{
      display: none;
   }

   .about-imgs img{
      width: 100%;
   }

   .testemunhais{
      padding: 20px 35px;
      position: initial;
      width: 300px;
      box-sizing: border-box;

   }

   .about-text{
      padding: 0px 5px;
      margin-top: 20px;
   }

   .about-text p{
      text-align: center;
   }

   .about-text h2{
      text-align: center;
   }

   .contato-con{
      flex-direction: column;
      margin: 20px 5px;
   }

   #map{
      height: 150px;
      width: 100%;
   }

   .contato-dados{
      text-align: center;
   }

}