@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "DM Sans", serif;
  letter-spacing: 1px;
}

/* Header */
/* Reset básico */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.header-container {
  color: white;
  padding: 1rem;
}

.header-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1280px;
  margin: 0 auto;
}

.logo img {
  width: 80%;
  height: auto;
}

/* Ícone do menu hambúrguer */
.hamburger {
  cursor: pointer;
  display: none;
}

.hamburger img {
  width: 50%;
  height: auto;
}

/* Checkbox escondido */
#menu-toggle {
  display: none;
}

/* Menu principal */
.nav-menu {
  display: flex;
  list-style: none;
}

.nav-menu ul {
  list-style: none;
  display: flex;
  gap: 20px;
}

.nav-menu ul li a {
  text-decoration: none;
  color: #0f3547;
  font-size: 16px;
}

.close-btn img{
  width: 48px;
  height: 48px;
  display: none;
}

/* Estilos para mobile */
@media (max-width: 768px) {
  .hamburger {
    display: block;
  }

  .nav-menu {
    position: fixed;
    top: 0;
    left: -250px;
    width: 250px;
    height: 100vh;
    background: #ffffff;
    transition: left 0.3s ease-in-out;
    padding: 1rem;
    border-right: 1px solid #c0c0c0;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .nav-menu ul {
    flex-direction: column;
    text-align: center;
  }

  .nav-menu ul li {
    margin: 20px 0;
  }

  /* Fechar menu */
  .close-btn {
    text-align: right;
    width: 48px;
    padding: 10px;
    cursor: pointer;
    position: relative;
    right: -93px;
  }

  .close-btn img {
    width: 30px;
  }

  .close-btn img{
    width: 28px;
    height: 28px;
    display: block;
  }

  /* Checkbox controlando o menu */
  #menu-toggle:checked + .hamburger + .nav-menu {
    left: 0;
  }
}


/* Main */
.main-container{
  /*background-color: aqua;*/
}

.main-hero{
  background-color: transparent;
  background-image: linear-gradient(150deg, #A0EEF9 0%, #FFF8EF 100%);
}

.main-hero-child{
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 5rem 0;
  /*align-items: center;*/
  max-width: 1280px;
  margin: 0 auto;
  grid-gap: 1rem;
}

.main-hero-text{
  text-align: left;
}

.main-hero-text h1{
  margin-bottom: 1rem;
  font-size: 3rem;
  color: #0f3547;
}

.main-hero-text h1 span{
  color: #01B5DA;
}

.main-hero-text p{
  margin-bottom: 1rem;
  font-size: 1.2rem;
  color: #0f3547;
}

.main-hero-text p:nth-child(3){
  margin-bottom: 3rem;
}

.button-ui{
  border-radius: 31px;
  padding: 17px 58px 17px 58px;
  background: #01B5DA;
  color: #ffffff;
  text-decoration: none;
  font-weight: bold;
  font-size: 1rem;
}

.main-section-one{
  padding: 5rem 0;
  align-items: center;
  max-width: 1280px;
  /*background-color: red;*/
  margin: 0 auto;
}

.main-section-one h2{
  margin-bottom: 1rem;
  font-size: 3rem;
  color: #0f3547;
  text-align: center;
}

.main-section-one h2 span{
  color: #01B5DA;
  text-align: center;
}


.main-section-one p.main-section-one-subtitle{
  margin-bottom: 4rem;
  font-size: 1.2rem;
  color: #0f3547;
  text-align: center;
}

.main-section-one-container-box{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  margin: 2rem 0;
  grid-gap: 2rem;
}

.main-section-one-steps-container{
  border-radius: 31px;
  border:1px solid #01B5DA;
  background-color: #eefcff;
  padding: 40px;
  text-align: center;
}

.main-section-one-steps-container h3{
  margin-bottom: 1rem;
  color: #0f3547;
  font-size: 2rem;
}

.main-section-one-steps-container p{
  margin-bottom: 2rem;
  color: #0f3547;
}

.main-section-two{
  background-color: transparent;
  background-image: linear-gradient(150deg, #A0EEF9 0%, #FFF8EF 100%);
}

.main-section-two-child{
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 5rem 0;
  max-width: 1280px;
  margin: 0 auto;
  grid-gap:1rem;
}

.main-section-two-text{
  text-align: left;
}

.main-section-two-text h2{
  margin-bottom: 1rem;
  font-size: 3rem;
  color: #0f3547;
}

.main-section-two-text h2 span{
  color: #25d366;
}

.main-section-two-text p{
  margin-bottom: 1rem;
  font-size: 1.2rem;
  color: #0f3547;
}

.main-section-two-banner img{
  width: 100%;
  height: auto;
}


.main-section-three{
  padding: 5rem 0;
  align-items: center;
  max-width: 1280px;
  margin: 0 auto;
}

.main-section-three h2{
  margin-bottom: 1rem;
  font-size: 3rem;
  color: #0f3547;
  text-align: center;
}

.main-section-three h2 span{
  color: #01B5DA;
}

.main-section-three p.main-section-three-subtitle{
  margin-bottom: 4rem;
  font-size: 1.2rem;
  color: #0f3547;
  text-align: center;
}

.clients-container {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
  justify-content: center;
}

.clients-container::-webkit-scrollbar {
  display: none;
}

.client-logo {
  flex: 0 0 auto;
  width: 180px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: white;
  scroll-snap-align: center;
}

.client-logo img {
  max-width: 100%;
  max-height: 100%;
}

.main-section-four{
  background-color: transparent;
  background-image: linear-gradient(150deg, #A0EEF9 0%, #FFF8EF 100%);
}

.main-section-four-child{
  padding: 5rem 0;
  align-items: center;
  max-width: 1280px;
  margin: 0 auto;
}

.main-section-four-child h2{
  margin-bottom: 1rem;
  font-size: 3rem;
  color: #0f3547;
}

.main-section-four-child h2 span{
  color: #01B5DA;
}

.main-section-four-child h3{
  margin-bottom: 1rem;
  font-size: 3rem;
  color: #0f3547;
}

.main-section-four-child h3 span{
  color: #01B5DA;
}

.main-section-four-child .main-section-four-container-box-text p{
  margin-bottom: 3rem;
  font-size: 1.2rem;
  color: #0f3547;
}

.main-section-four-banner img{
  width: 100%;
  height: auto;
}


.main-section-four-container-box{
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 1rem;
}

.main-section-four-container-box-text{
  text-align: left;
}

.main-section-four-container-box-text ul li{
  list-style-type: none;
}

.main-section-faq{
  padding: 5rem 0;
  align-items: center;
  max-width: 1280px;
  margin: 0 auto; 
}

.faq-container h2{
  margin-bottom: 1rem;
  font-size: 3rem;
  color: #0f3547;
}


@media (max-width: 768px) {

  .main-hero-child{
    grid-template-columns: 1fr;
    padding: 2rem 1rem;
  }

  .main-hero-banner{
    margin-top: 4rem;
  }

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

  .main-hero-banner img{
    width: 100%;
    height: auto;
  }
  
  .main-section-one{
    padding: 2rem 1rem;
  }

  .main-section-one-container-box{
    grid-template-columns: 1fr;
  }

  .main-section-two-child{
    grid-template-columns: 1fr;
    padding: 5rem 1rem;
  }

  .main-section-two-banner img{
    width: 100%;
    height: auto;
  }

  .main-section-three{
    padding: 2rem 1rem;
  }

  .clients-container{
    justify-content: flex-start;
  }


  .main-section-four{
    padding: 2rem 1rem;
  }
  
  .main-section-four-container-box{
    grid-template-columns: 1fr;
    padding: 2rem 1rem;
  }

  .main-section-four-banner img{
    width: 100%;
    height: auto;
    margin-top: 3rem;
  }

  .main-section-four-child h2, .main-section-four-child h3{
    font-size: 2.5rem;
  }

  .main-section-faq{
    padding: 2rem 1rem;
  }

}


/*FAQ*/
.faq-container {
  max-width: 700px;
  margin: 20px auto;
  text-align: center;
  padding: 5rem 1rem;
}

/* Cada item do FAQ */
.faq-item {
  border-bottom: 1px solid #ddd;
  padding: 10px;
  text-align: left;
}

/* Oculta o checkbox */
.faq-item input {
  display: none;
}

/* Estiliza a pergunta */
.faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: bold;
  padding: 20px;
  background: #ffffff;
  color: #0f3547;
  cursor: pointer;
  transition: background 0.3s;
}

/* Adiciona efeito hover */
.faq-question:hover {
  background: #f5f5f5;
}

/* Símbolos de + e - para expandir/recolher */
.faq-question span {
  font-size: 20px;
  transition: transform 0.3s ease-in-out;
}

/* Oculta a resposta por padrão */
.faq-answer {
  display: none;
  padding: 15px;
  background: #fff;
  color: #0f3547;
}

/* Mostra a resposta quando o checkbox estiver marcado */
.faq-item input:checked + .faq-question + .faq-answer {
  display: block;
}

/* Altera o símbolo + para - quando aberto */
.faq-item input:checked + .faq-question span {
  transform: rotate(180deg);
}






/* Footer */
.footer-container{
  background-color: #f4fcff;
}

.footer-containe-box{
  display: grid;
  grid-template-columns: 1fr 1fr;
  /*background: rebeccapurple;*/
  padding: 2rem 0;
  align-items: center;
  max-width: 1280px;
  margin: 0 auto;
}

.footer-containe-box-image{
  text-align: left;
}

.footer-containe-box-image img{
  width: 35%;
  height: auto;
}

.footer-nav{
  display: flex;
  grid-gap: 1rem;
  justify-content: flex-end;
}

.footer-nav a{
  text-decoration: none;
  color: #0f3547;
  font-size: 16px;
}

.footer-content{
  padding: 2rem 0;
  text-align: center;
}

.footer-content p{
  margin-bottom: 10px;
  color: #0f3547;
}

.footer-container p a {
  text-decoration: none;
  font-size: 1.2rem;
  color: #01B5DA;
}

@media (max-width: 768px) {

  .footer-containe-box{
    padding: 2rem 1rem;
    grid-template-columns: 1fr;
  }

  .footer-containe-box-image{
    text-align: center;
    margin-bottom: 2rem;
  }

  .footer-containe-box-image img {
    width: 60%;
    height: auto;
  }

  .footer-nav{
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

}


/*Contato*/
.contato-container{
  align-items: center;
  max-width: 1280px;
  margin: 0 auto;
  padding: 5rem 0;
}

.contato-container p{
  margin-bottom: 2rem;
}

.contato-info-box-container{
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 1rem;
}

.contato-info-box {
  border-radius: 31px;
  border: 1px solid #01B5DA;
  background-color: #eefcff;
  padding: 40px;
  width: 50%;
  margin: 0 auto;
  text-align: center;
}

.contato-container h1{
  margin-bottom: 1rem;
  font-size: 3rem;
  text-align: center;
}

.contato-container p.contato-container-subtitle{
  margin-bottom: 4rem;
  font-size: 1.2rem;
  text-align: center;
}

.contato-info-box a{
  text-decoration: none;
  color: #121212;
}

.contato-info-box p {
  margin: 8px 0;
}


@media (max-width: 768px) {
  .contato-container {
    padding: 2rem 1rem;
  }

  .contato-info {
    max-width:100%;
  }

  .contato-info-box-container{
    grid-template-columns: 1fr;
  }

  .contato-info-box {
    width:100%;

  }

}

/* Tablet */
@media (min-width: 768px) and (max-width:1280px) {
  .main-hero-child{
    padding: 5rem 1rem;
  }
  .main-section-one {
    padding: 5rem 1rem;
  }
  .main-section-two{
    padding: 5rem 1rem;
  }
  .main-section-three{
    padding: 5rem 1rem;
  }
  .main-section-four-child{
    padding: 5rem 1rem;
  }
  .main-section-faq{
    padding: 5rem 1rem;
  }
  .contato-container{
    padding: 5rem 1rem;
  }
}


.main-section-two-text ul{
    list-style-type: none;
}

.main-section-two-text li{
    color:#0f3547;
}

/*.main-section-four-container-box-text .button-ui{
    border-radius: 31px;
    padding: 17px 22px 17px 22px;
    background: #01B5DA;
    color: #ffffff;
    text-decoration: none;
    font-weight: bold;
    font-size: 1rem;
}
*/


/* Landing Page */
.landing-page01 .main-hero-landing-page {
  position: relative; /* Permite que o ::before seja posicionado corretamente */
  background-image: url(images/banner-hero-landing-page-01.jpg);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
}

.landing-page01 .main-hero-landing-page::before {
  content: ""; /* Necessário para o pseudo-elemento ser renderizado */
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(62, 61, 92, 0.6); /* Cor do overlay com transparência */
  z-index: 1; /* Overlay acima do fundo */
}

.landing-page01 .main-hero-landing-page .main-hero-child {
  position: relative; /* Mantém os textos e botões acima do overlay */
  z-index: 2;
  padding: 0 0 5rem 0;
}

.landing-page01 .main-hero-landing-page .main-hero-child .main-hero-text{
  background-color: rgba(62, 61, 92, 0.6); /* Cor do overlay com transparência */
   padding: 3rem 2rem 5rem 2rem;
   border-bottom-left-radius: 40px;
   border-bottom-right-radius: 120px;
}

.landing-page01 .main-hero-landing-page .main-hero-child .main-hero-text h1{
  color: #FFFFFF;
}

.landing-page01 .main-hero-landing-page .main-hero-child .main-hero-text h1 span{
  color: #25d366;
}

.landing-page01 .main-hero-landing-page .main-hero-child .main-hero-text p{
  color: #FFFFFF;
}


.main-section-one-box-container{
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 1rem;
}

.main-section-one-box-container-features{
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 1rem;
}

.main-section-one-box-container-features div{
  text-align: center;
  border-style: solid;
  border-width: 2px;
  border-color: #01B5DA;
  border-radius: 20px;
  padding: 2rem;
  display: grid;
  grid-gap: 1rem;
  justify-items: center;
}

.main-section-one-box-container h2{
  text-align: left;
}

.main-section-one-box-container p{
  margin-bottom: 2rem;
}

.main-section-one-box-container-features-special{
  /*background-color: #01B5DA;*/
  background-color: transparent;
  background-image: linear-gradient(150deg, #A0EEF9 0%, #FFF8EF 100%);
}

.main-section-one-box-container-features-special h3{
  color: #0f3547;
}

.main-section-one-box-container-features-special p{
  color: #0f3547;
}

.main-section-one-box-container-features-no-special h3{
  color: #0f3547;
}

.main-section-one-box-container-features-no-special p{
  color: #0f3547;
}

.main-section-one-box-container img.banner-landing-page{
  width: 100%;
  height: auto;
  max-width: 500px;
}


.landing-page01 .main-section-two-text ul{
  list-style-type: none; 
}

.landing-page01 .main-section-two-text ul li p{
  font-size: 1rem;
}

@media (max-width: 767px) {
  .landing-page01 .main-hero-text h1{
    font-size: 2rem;
  }
  .landing-page01 .main-hero-text p{
    font-size: 1rem;
  }
  .landing-page01 .main-hero-landing-page .main-hero-child .main-hero-text{
    margin: 2rem;
  }
  .landing-page01 .main-hero-landing-page .main-hero-child{
    padding: 0;
  }

  .main-section-one-box-container{
    grid-template-columns: 1fr;
  }

  .main-section-one-box-container-features {
    grid-template-columns: 1fr;
    margin-top: 2rem;
}

}

@media (min-width: 768px) and (max-width:1280px) {
  .landing-page01 .main-hero-landing-page .main-hero-child .main-hero-text{
    width: 100%;
  }
  .landing-page01 .main-hero-child{
    grid-template-columns: 1fr 1fr!important;
  }
  .landing-page01 .main-hero-text p{
    text-align: left;
  }
  .main-section-one-box-container h2{
    font-size: 2rem;
  }
}






/* Landing Page */
.landing-page{
  background-image: url(../images/background-01.jpg);
  background-repeat: no-repeat;
}

.landing-page .main-hero-text h1{
  width: 90%;
}

.main-hero-text p:nth-child(4) span{
  background: #25d366;
  padding: .5rem;
  border-radius: .5rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: 3px;
}

/* Animação das palavras */
.slide-word {
  display: inline-block;
  opacity: 0;
  transform: translateX(-20px);
  transition: all 0.5s ease;
}

.slide-word.visible {
  opacity: 1;
  transform: translateX(0);
}

/* Animação Banner Chatbot */
@keyframes float {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-15px); /* sobe 10px */
  }
}

.banner-landing-page {
  animation: float 4s ease-in-out infinite;
}


.container-landing-page .main-section-one-box-container-landing-page .main-section-one-box-container-features{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-gap: 1rem;
}

.container-landing-page .main-section-one-box-container-features div{
  text-align: left;
  border-radius: 40px;
  padding: 2rem;
  display: grid;
  grid-gap: 3rem;
  /*justify-items: flex-start;*/
  border-color: transparent;
}

.container-landing-page .main-section-one-box-container-features-bg-special{
  background-color: #F1F8F8;
}

.container-landing-page .main-section-one-box-container-features-bg-special .remove-gif-background{
  mix-blend-mode: multiply;
}


.container-landing-page .main-section-one-box-container-features-bg-special.box-img-background-1{
  background-image: url(../images/imagem-assistente-virtual.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.container-landing-page .main-section-one-box-container-features-bg-special.box-img-background-2{
  background-image: url(../images/imagem-whatsapp.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.container-landing-page .main-section-one-box-container-features-bg-special.box-img-background-3{
  background-image: url(../images/imagem-disponivel.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.container-landing-page .main-section-one-box-container-features-bg-special.box-img-background-4{
  background-image: url(../images/imagem-suporte.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.container-landing-page .main-section-two-landing-page{
  background-image: url(../images/hero-bg.jpg);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
}

.container-landing-page .main-section-two-landing-page ul{
  list-style-type: none;
}

/* Slideshow */
.carousel-container {
  width: 500px;
  margin: auto;
  text-align: center;
}

.carousel-track-wrapper {
  overflow: hidden;
}

.carousel-track {
  display: flex;
  transition: transform 0.5s ease-in-out;
}

.carousel-slide {
  min-width: 500px;
  box-sizing: border-box;
  text-align: left;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
  border-bottom-left-radius: 20px;
  background: #25d366;
  padding: 2rem;
  display: grid;
  grid-gap: 1rem;
}

.carousel-slide-bg1{
  background-color: #EDFB99;
  background-image: url(../images/background-slideshow-departamentos.png);
  background-position: bottom right;
  background-repeat: no-repeat;
  background-size: cover;
}

.carousel-slide-bg2{
  background-color: #A2BEFB;
  background-image: url(../images/background-slideshow-departamentos.png);
  background-position: bottom right;
  background-repeat: no-repeat;
  background-size: cover;
}

.carousel-slide-bg3{
  background-color: #FFDF73;
  background-image: url(../images/background-slideshow-departamentos.png);
  background-position: bottom right;
  background-repeat: no-repeat;
  background-size: cover;
}

.carousel-slide-bg4{
  background-color: #F89C6E;
  background-image: url(../images/background-slideshow-departamentos.png);
  background-position: bottom right;
  background-repeat: no-repeat;
  background-size: cover;
}

.carousel-slide-bg5{
  background-color: #FBF7EE;
  background-image: url(../images/background-slideshow-departamentos.png);
  background-position: bottom right;
  background-repeat: no-repeat;
  background-size: cover;
}

.carousel-slide-bg6{
  background-color: #F4ECE3;
  background-image: url(../images/background-slideshow-departamentos.png);
  background-position: bottom right;
  background-repeat: no-repeat;
  background-size: cover;
}

.carousel-slide-bg7{
  background-color: #F3F9ED;
  background-image: url(../images/background-slideshow-departamentos.png);
  background-position: bottom right;
  background-repeat: no-repeat;
  background-size: cover;
}

.carousel-slide-bg8{
  background-color: #FAF6F4;
  background-image: url(../images/background-slideshow-departamentos.png);
  background-position: bottom right;
  background-repeat: no-repeat;
  background-size: cover;
}



.carousel-slide h4{
  color: #0f3547;
  font-size: 2rem;
  line-height: 30px;
}

.carousel-slide h5{
  color: #0f3547;
  font-size: .7rem;
  margin-bottom: 40px;
}

.carousel-slide h5 span{
  background-color: #FBF7EE;
  padding: 1rem;
  border-radius: 40px;
}

.carousel-slide p{
  color: #0f3547;
  font-size: 1rem;
}

.carousel-navigation {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  gap: 10px;
}

.carousel-btn {
  background: #fff;
  color: #666; /* seta cinza */
  border: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-size: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  transition: background 0.3s, color 0.3s, box-shadow 0.3s;
}

.carousel-btn:hover {
  background: #f0f0f0;
  color: #333;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}



.container-landing-page .main-section-two-banner .carousel-slide img{
  width: 80px;
  height: auto;
}


.container-landing-page .main-section-two-child {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 5rem 0;
  max-width: 1280px;
  margin: 0 auto;
  grid-gap: 1rem;
}

.container-landing-page .carousel-slide-container-box{
  background-color: #FFFFFF;
  border-radius: 40px;
  padding: 2.5rem 1rem 1rem 1rem;
}

.container-landing-page .center-button-container{
  text-align: center;
  margin: 0 auto;
  padding-bottom: 5rem;
}

.container-landing-page .center-button-container a{
  border-radius: 31px;
  padding: 17px 58px 17px 58px;
  background: #25d366;
  color: #ffffff;
  text-decoration: none;
  font-weight: bold;
  font-size: 1rem;
}


.main-section-reviews-container{
  background-image: url(../images/background-28.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}


.main-section-reviews{
  padding: 5rem 0;
  align-items: center;
  max-width: 1280px;
  margin: 0 auto;
}

.main-section-reviews h2 {
  margin-bottom: 1rem;
  font-size: 3rem;
  color: #0f3547;
  text-align: center;
}

.main-section-reviews p.main-section-three-subtitle {
  margin-bottom: 4rem;
  font-size: 1.2rem;
  color: #0f3547;
  text-align: center;
}

.testimonial-card {
  background-color: white;
  padding: 2rem;
  border-radius: 1.5rem;
  box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 24rem;
  color: #0f3547;
}

.clients-reviews-container{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 1rem;
}

.testimonial-card .testimonial-image{
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 1rem;
}

.testimonial-card .testimonial-name{
  font-size: 1.25rem;
  font-weight: bold;
  color: rgb(31, 41, 55);
}

.testimonial-card .testimonial-role{
  font-size: 0.875rem;
  color: rgb(75, 85, 99);
  margin-bottom: 1.5rem;
}

.testimonial-card .testimonial-text{
  color: rgb(55, 65, 81);
  margin-bottom: 1.5rem;
  line-height: 1.625;
  font-style: italic;
}


.container-landing-page .main-hero-text h1 span{
  text-decoration: underline;
}

.container-landing-page .main-section-two-text h2 span{
  text-decoration: underline;
}

.container-landing-page .main-section-three h2 span {
  text-decoration: underline;
}

.container-landing-page .main-section-four-child h2 span {
  text-decoration: underline;
}

.container-landing-page .main-hero-text p:nth-child(3) {
  margin-bottom: 2rem;
}
.container-landing-page .main-hero-text p:nth-child(4) {
  margin-bottom: 3rem;
}



:root{
  --dark-blue: #023047;
  --green: #06d6a0;
  --yellow: #ffd166;
  --light-color: #f1faee;
  --pink: #ef476f;
}


  .pricing-table-container .pricing-header{
      display: flex;
      align-items: center;
      justify-content: center;
  }

  .pricing-table-container h2{ 
      margin-right: 32px;
      font-size: 24px;
   }

.pricing-table-container .plans-switch{
  width: 250px;
  background: var(--dark-blue);
  height: 55px;
  appearance: none;
  border-radius: 24px;
  outline: none;
  cursor: pointer;
  position: relative;
}

  .pricing-table-container .plans-switch::before{
      content: "";
      position: absolute;
      height: 44px;
      width: 120px;
      border-radius: 24px;
      background: var(--green);
      top: 50%;
      transform: translateY(-50%);
      left: 6px;
      transition: all .5s;
  }

      .pricing-table-container .plans-switch:checked::before{
          left: 138px;
          width: 106px;
      }

.pricing-table-container .plans-switch-container{
  position: relative;
  color: #fff;
  display: inline-block;
}

  .pricing-table-container .plans-switch-container .monthly{
      position: absolute;
      left: 36px;
      top: 18px;
      pointer-events: none;
  }

  .pricing-table-container .plans-switch-container .yearly{
      position: absolute;
      right: 36px;
      top: 18px;
      pointer-events: none;
  }

.pricing-table{
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 32px;
}

  .pricing-table .table{
      background: var(--light-color);
      width: 340px;
      padding: 32px;
      position: relative;
  }

      .pricing-table .table .content{
          z-index: 200;
          position: relative;
      }

      .pricing-table .table.best-value{
          background: #0f3547;
          color: #fff;
          border-radius: 24px;
          width: 320px;
      }

          .pricing-table .table.best-value .value{
              position: absolute;
              top: 0;
              left: 0;
              right: 0;
              text-align: center;
              padding: 8px;
              border-radius: 24px 24px 0 0;
              background: #01B5DA;
              font-weight: bold;
          }

          .pricing-table .table.best-value .content{ padding-top: 32px; }

          .pricing-table .table.best-value .price{ font-size: 1.5rem; }

          .pricing-table .table.best-value a.btn{
              background: var(--yellow);
              color: #000;
              transition: all .4s;
          }

              .pricing-table .table.best-value a.btn:hover{ background: #ffe4a4;}

          .pricing-table .table.best-value .description{ color: #eee; }

      

      .pricing-table .table img.table-bg{
          position: absolute;
          bottom: 0;
          left: 0;
          right: 0;
          width: 100%;
      }

  .pricing-table .price-container{
      display: flex;
      align-items: center;
  }

  .pricing-table h3{
      font-size: 24px;
      margin-top: 0;
      margin-bottom: 0;
  }

  .pricing-table .price-container .price{
      font-size: 1.5rem;
      font-weight: bold;
      padding-right: 16px;
  }

  .pricing-table .description{
      font-size: 15px;
      text-align: left;
      color: #222;
  }

  .pricing-table .features{
      list-style: none;
      padding: 0;
  }

      .pricing-table .features li{ 
          margin: 24px 0;
          display: flex;
          align-items: center;
      }

          .pricing-table .features li::before{
              content: url('../images/bi-check-circle-fill.png');
              margin-right: 16px;
              margin-top: 4px;
          }

  .pricing-table a.btn{
      background: #25d366;
      padding: 16px;
      display: inline-block;
      width: 100%;
      color: #0f3547;
      font-size: 18px;
      font-weight: bold;
      text-align: center;
      text-decoration: none;
      border-radius: 24px;
      margin-top: 16px;
      transition: all .4s;
  }


@media screen and (max-width: 768px){
  .pricing-table{
      display: grid;
      gap: 20px;
  }

  .pricing-table .table{
      width: 100%;
      border-radius: 24px;
      overflow: hidden;
  }

  .pricing-table .table.best-value {
    width: 100%;
  }

  .pricing-table h3{
      text-align: center;
  }

  .pricing-table .price-container{
      justify-content: center;
  }
  
  .pricing-table .table{
      padding: 24px;

  }
  
  
}


@media screen and (max-width: 660px){
  .pricing-table-container .pricing-header{
      display: flex;
      flex-wrap: wrap;
  }

      .pricing-table-container .pricing-header h2{
          text-align: center;
      }

      .pricing-table-container .plans-switch-container{
          align-items: center;
          justify-content: center;
      }
}




@media (max-width: 767px) {
  .landing-page .main-hero-text h1{
    font-size: 1.35rem;
    width: 100%;
  }
  .container-landing-page .main-section-one-box-container-landing-page .main-section-one-box-container-features {
    grid-template-columns: 1fr;
  } 

  .container-landing-page .main-section-one-box-container-features-bg-special.box-img-background-1{
    height: 352px;
  }
  
  .container-landing-page .main-section-one-box-container-features-bg-special.box-img-background-2{
    height: 352px;
  }
  
  .container-landing-page .main-section-one-box-container-features-bg-special.box-img-background-3{
    height: 352px;
  }
  
  .container-landing-page .main-section-one-box-container-features-bg-special.box-img-background-4{
    height: 352px;
  }

  .container-landing-page .main-section-two-child{
    grid-template-columns: 1fr;
    padding: 5rem 1rem;
  }
  .carousel-slide {
    min-width: 320px;
  }
  .carousel-container {
    width: 320px;
  }

  .carousel-slide h5{
    margin-bottom: 20px;
  }

  .carousel-slide h5 span{
    display: block;
    margin-bottom: 10px;
  }

  .clients-reviews-container{
    grid-template-columns: 1fr;
  }

  .box-features-order-1{
    order: 1;
  }
  .box-features-order-2{
    order: 2;
  }
  .box-features-order-3{
    order: 3;
  }
  .box-features-order-4{
    order: 4;
  }
  .box-features-order-5{
    order: 6;
  }
  .box-features-order-6{
    order: 5;
  }
  .box-features-order-7{
    order: 8;
  }
  .box-features-order-8{
    order: 7;
  }

  .container-landing-page .main-section-reviews{
    padding: 5rem 1rem;
  }

  .container-landing-page .main-section-four-child {
    padding: 5rem 1rem;
    }

}


@media (min-width: 768px) and (max-width:1280px) {
  .landing-page .main-hero-child{
    grid-template-columns: 1fr 1fr;
  }
  .landing-page .main-hero-text h1{
    font-size: 1.5rem;
  }

  .landing-page .main-hero-text{
    text-align: left;
  }
  .landing-page .main-hero-banner{
    margin-top: 0;
  }
  .landing-page .banner-landing-page{
    width: 100%;
    height: auto;
  }

  .container-landing-page .main-section-one-box-container-landing-page .main-section-one-box-container-features {
    grid-template-columns: 1fr 1fr;
  } 

  .container-landing-page .main-section-two-child{
    grid-template-columns: 1fr;
    padding: 5rem 1rem;
  }
  .carousel-slide {
    min-width: 600px;
  }
  .carousel-container {
    width: 600px;
  }

  .box-features-order-1{
    order: 1;
  }
  .box-features-order-2{
    order: 2;
  }
  .box-features-order-3{
    order: 4;
  }
  .box-features-order-4{
    order: 3;
  }
  .box-features-order-5{
    order: 6;
  }
  .box-features-order-6{
    order: 5;
  }
  .box-features-order-7{
    order: 7;
  }
  .box-features-order-8{
    order: 8;
  }


}



/* Como Funciona */
.container-como-funciona .landing-page {
  background-image: url(../images/background-como-funciona.jpg);
  background-repeat: no-repeat;
}

.container-como-funciona .main-section-two-banner-double {
  position: relative;
  width: 700px; /* Largura da imagem de fundo */
  height: 640px; /* Altura da imagem de fundo */
}

.container-como-funciona .main-section-two-banner-double img:first-child {
  width: 90%; /* Mantém a imagem de fundo ajustada ao contêiner */
  height: auto;
  border-radius: 40px;
}

.container-como-funciona .main-section-two-banner-double img:last-child {
  position: absolute;
  bottom: 205px;
  right: 135px;
  width: 254px;
  height: 128px;
}

.container-como-funciona.container-landing-page .main-section-two-child {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 5rem 0;
  max-width: 1280px;
  margin: 0 auto;
  grid-gap: 2rem;
}

.container-como-funciona.container-landing-page .main-section-two-landing-page-bg {
  background-image: url(../images/background-primeiro-passo.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.container-como-funciona.container-landing-page .main-section-two-landing-page.main-section-two-landing-page-second-bg {
  background-color: #fff!important;
  background-image: url();
}


.container-como-funciona.container-landing-page .main-section-two-text h2 span{
  color: #01B5DA;
}

.container-como-funciona.container-landing-page .main-hero-text p:nth-child(3) {
  margin-bottom: 2rem;
}

.container-como-funciona.container-landing-page .main-hero-text p:nth-child(3) span {
  background: #25d366;
  padding: .5rem;
  border-radius: .5rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: 3px;
}




@media (max-width: 767px) {
  .container-como-funciona .main-section-two-banner-double {
    position: relative;
    width: 100%; /* Largura da imagem de fundo */
    height: auto; /* Altura da imagem de fundo */
    text-align: center;
  }
  .container-como-funciona .main-section-two-banner-double img:last-child {
    position: absolute;
    bottom: 35px;
    right: 90px;
    width: 200px;
    height: 101px;
  }
  .container-como-funciona.container-landing-page .main-section-two-child {
    grid-template-columns: 1fr;
  }
  .container-como-funciona.container-landing-page .main-section-two-child{
    padding: 5rem 1rem;
  }

  .container-como-funciona.container-landing-page .main-section-two-text h2 {
    font-size: 2rem;
  }

}


@media (min-width: 768px) and (max-width:1280px) {
  .container-como-funciona .main-section-two-banner-double {
    position: relative;
    width: 100%;
    height: auto;
    text-align: center;
  }
  .container-como-funciona .main-section-two-banner-double img:last-child {
    position: absolute;
    bottom: 190px;
    right: 90px;
    width: 254px;
    height: 128px;
  }

  .container-como-funciona.container-landing-page .main-section-two-child {
    grid-template-columns: 1fr;
  }
  .container-como-funciona.container-landing-page .main-section-two-child{
    padding: 5rem 1rem;
  }

}

