@import url("https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Poppins:wght@200;300;400;500;700&display=swap");


body {
  font-family: "Poppins", sans-serif;
  color: #4d4d4d;
  background-color: #ffffff;
  overflow-x: hidden;
}

.layout_padding {
  padding: 90px 0;
}

.layout_margin {
  margin: 90px 0;
}

.layout_padding2 {
  padding: 75px 0;
}

.layout_padding2-top {
  padding-top: 75px;
}

.layout_padding2-bottom {
  padding-bottom: 75px;
}

.layout_padding-top {
  padding-top: 90px;
}

.layout_padding-bottom {
  padding-bottom: 90px;
}

.heading_container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.heading_container h2 {
  position: relative;
  font-weight: bold;
}

.heading_container h2 span {
  color: #0db6ef;
}

.heading_container.heading_center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}

a,
a:hover,
a:focus {
  text-decoration: none;
}

a:hover,
a:focus {
  color: initial;
}

.btn,
.btn:focus {
  outline: none !important;
  -webkit-box-shadow: none;
          box-shadow: none;
}

/*header section*/
.hero_area {
  position: relative;
  min-height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: #0db6ef;
  border-radius: 0 0 350px 0;
}

.sub_page .hero_area {
  min-height: auto;
  border-radius: 0 0 45px 0;
}

.header_section {
  padding: 15px 0;
}

.header_section .container-fluid {
  padding-right: 25px;
  padding-left: 25px;
}

.navbar-brand span {
  font-weight: bold;
  color: #ffffff;
  font-size: 24px;
}

.custom_nav-container {
  padding: 0;
}

.custom_nav-container .navbar-nav {
  margin: auto;
}

.custom_nav-container .navbar-nav .nav-item .nav-link {
  padding: 5px 25px;
  color: #ffffff;
  text-align: center;
  text-transform: uppercase;
  border-radius: 5px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.custom_nav-container .navbar-nav .nav-item:hover .nav-link, .custom_nav-container .navbar-nav .nav-item.active .nav-link {
  color: #000000;
  background-color: #ffffff;
}

.custom_nav-container .navbar-toggler {
  outline: none;
}

.custom_nav-container .navbar-toggler {
  padding: 0;
  width: 37px;
  height: 42px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.custom_nav-container .navbar-toggler span {
  display: block;
  width: 35px;
  height: 4px;
  background-color: #ffffff;
  margin: 7px 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  position: relative;
  border-radius: 5px;
  transition: all 0.3s;
}

.custom_nav-container .navbar-toggler span::before, .custom_nav-container .navbar-toggler span::after {
  content: "";
  position: absolute;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: #ffffff;
  top: -10px;
  border-radius: 5px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.custom_nav-container .navbar-toggler span::after {
  top: 10px;
}

.custom_nav-container .navbar-toggler[aria-expanded="true"] {
  -webkit-transform: rotate(360deg);
          transform: rotate(360deg);
}

.custom_nav-container .navbar-toggler[aria-expanded="true"] span {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.custom_nav-container .navbar-toggler[aria-expanded="true"] span::before, .custom_nav-container .navbar-toggler[aria-expanded="true"] span::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  top: 0;
}

.custom_nav-container .navbar-toggler[aria-expanded="true"] .s-1 {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin: 0;
  margin-bottom: -4px;
}

.custom_nav-container .navbar-toggler[aria-expanded="true"] .s-2 {
  display: none;
}

.custom_nav-container .navbar-toggler[aria-expanded="true"] .s-3 {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  margin: 0;
  margin-top: -4px;
}

.custom_nav-container .navbar-toggler[aria-expanded="false"] .s-1,
.custom_nav-container .navbar-toggler[aria-expanded="false"] .s-2,
.custom_nav-container .navbar-toggler[aria-expanded="false"] .s-3 {
  -webkit-transform: none;
          transform: none;
}

.quote_btn-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.quote_btn-container a {
  color: #000000;
  text-transform: uppercase;
}

.quote_btn-container a span {
  margin-left: 5px;
}

.quote_btn-container a:hover {
  color: #f8842b;
}

.quote_btn-container .quote_btn {
  display: inline-block;
  padding: 5px 25px;
  background-color: #f8842b;
  color: #ffffff;
  border-radius: 5px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: 1px solid #f8842b;
}

.quote_btn-container .quote_btn:hover {
  color: #ffffff;
  -webkit-transform: translateY(-3px);
          transform: translateY(-3px);
}

/*end header section*/
/* slider section */
.slider_section {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 45px 0;
}

.slider_section .row {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.slider_section #customCarousel1 {
  width: 100%;
  position: unset;
}

.slider_section .detail-box {
  text-align: center;
  color: #ffffff;
}

.slider_section .detail-box h1 {
  font-weight: bold;
  margin-bottom: 20px;
}

.slider_section .detail-box .btn-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 -5px;
  margin-top: 45px;
}

.slider_section .detail-box .btn-box a {
  margin: 5px;
  text-align: center;
  width: 185px;
}

/* --- Botão principal (CTA do Fórum) --- */
.slider_section .detail-box .btn-box .btn1 {
  all: unset;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 1em 2.5em;
  width: auto;
  background-color: #394f6e;
  color: #ffffff;
  border: none;

  border-radius: 8px;                  /* substitui o formato “pill” */
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-size: clamp(14px, 1.1vw, 18px);
  letter-spacing: 0.3px;
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  cursor: pointer;

  box-sizing: border-box;
  transition: all 0.25s ease;
  box-shadow: 0 6px 9px rgba(255,107,107,0.25); /* leve profundidade */
}

.slider_section .detail-box .btn-box .btn1:hover {
  background-color: #00d3ff;
  box-shadow: 0 8px 9px rgba(105,87,87,0.55);
  transform: translateY(-2px);
  color: #394f6e;
}

/* Mobile full-width */
@media (max-width: 768px){
  .slider_section .detail-box .btn-box{
    width: 100%;
    justify-content: center;
  }
  .slider_section .detail-box .btn-box .btn1{
    display: flex;
    width: 100%;
    max-width: 100%;
    padding: 1em 1.25em;
    font-size: clamp(15px, 4.2vw, 18px);
    text-align: center;
    border-radius: 6px;                /* leve ajuste no mobile */
  }
}

/* --- Shine sutil e programado (sem hover) --- */
.slider_section .detail-box .btn-box .btn1{
  position: relative;
  overflow: hidden;              /* esconde o brilho fora do botão */
  isolation: isolate;
}

/* faixa de luz mínima */
.slider_section .detail-box .btn-box .btn1::after{
  content: "";
  position: absolute;
  inset: -25% -15%;              /* ligeiramente maior que o botão */
  transform: translateX(-140%) rotate(18deg);
  background: linear-gradient(
    115deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.12) 46%,
    rgba(255,255,255,0.28) 50%,
    rgba(255,255,255,0.12) 54%,
    rgba(255,255,255,0) 100%
  );
  pointer-events: none;
  mix-blend-mode: screen;
  opacity: 0;
  will-change: transform, opacity;
  animation: ctaScan 1s ease-in-out infinite; /* passa raramente */
}

/* animação curta (1.2s) dentro de um ciclo longo (14s) */
@keyframes ctaScan{
  0%   { transform: translateX(-140%) rotate(18deg); opacity: 0; }
  3%   { opacity: 1; }               /* aparece suavemente */
  9%   { transform: translateX(140%) rotate(18deg); opacity: 0.9; }
  12%  { opacity: 0; }               /* some logo após a passagem */
  100% { transform: translateX(140%) rotate(18deg); opacity: 0; } /* repouso longo */
}

/* em telas com mouse, podemos espaçar ainda mais (menos “movimento”) */
@media (hover:hover) and (min-width: 992px){
  .slider_section .detail-box .btn-box .btn1::after{
    animation-duration: 9s;         /* ciclo mais longo no desktop */
  }
}

/* acessibilidade: respeita redução de movimento */
@media (prefers-reduced-motion: reduce){
  .slider_section .detail-box .btn-box .btn1::after{
    animation: none !important;
  }
}


.slider_section .img-box img {
  width: 100%;
}

.slider_section .carousel-indicators {
  position: unset;
  margin: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 45px;
}

.slider_section .carousel-indicators li {
  background-color: #ffffff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  opacity: 1;
}

.slider_section .carousel-indicators li.active {
  width: 23px;
  height: 23px;
  background-color: #f8842b;
}

.service_section {
  text-align: center;
}

.service_section .heading_container {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.service_section .box {
  margin-top: 25px;
  padding: 15px;
  border-radius: 10px;
  -webkit-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.25);
  position: relative;
  overflow: hidden;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.service_section .box::before {
  content: "";
  width: 275px;
  height: 275px;
  position: absolute;
  right: -137.5px;
  bottom: -137.5px;
  background-color: #faf8fd;
  z-index: -1;
  border-radius: 100%;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.service_section .box .img-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 125px;
  border-radius: 15px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.service_section .box .img-box img {
  width: 75px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.service_section .box .detail-box {
  margin-top: 15px;
}

.service_section .box .detail-box h5 {
  font-weight: bold;
  position: relative;
}

.service_section .box .detail-box a {
  color: inherit;
}

.service_section .box:hover {
  color: #ffffff;
}

.service_section .box:hover::before {
  -webkit-transform: scale(5);
          transform: scale(5);
  background-color: #0db6ef;
}

.service_section .box:hover img {
  -webkit-filter: invert(1);
          filter: invert(1);
}

.service_section .btn-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 45px;
}

.service_section .btn-box a {
  display: inline-block;
  padding: 10px 45px;
  background-color: #0db6ef;
  color: #ffffff;
  border-radius: 5px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: 1px solid #0db6ef;
}

.service_section .btn-box a:hover {
  color: #ffffff;
  -webkit-transform: translateY(-3px);
          transform: translateY(-3px);
}

.about_section {
  background: linear-gradient(90deg, #394f6e, #293343, #394f6e);
  background-size: 150% 150%;
  animation: gradientShift 5s ease-in-out infinite;
  color: #acaeb3;
  border-radius: 250px 0 250px 0;
}

/* animação de oscilação */
@keyframes gradientShift {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}


/* mobile: diminui curvatura */
@media (max-width: 768px){
  .about_section {
    border-radius: 110px 0 110px 0 !important;  /* curva mais suave e perceptível */
    padding: 20px;
  }
}

.about_section .row {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.about_section .img-box {
  position: relative;
}

.about_section .img-box img {
  width: 100%;
}

.about_section .detail-box p {
  margin-top: 15px;
  font-size: 18px;
  line-height: 1.7em;
}

/* mobile: aumenta o respiro acima do texto */
@media (max-width: 768px){
  .about_section .detail-box h2{
    margin-top: 110px;  /* ou 50px se quiser um distanciamento maior */
  }
}

.about_section .detail-box a {
  display: inline-block;
  padding: 10px 45px;
  background-color: #ff6b6b;
  color: #ffffff;
  border-radius: 5px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: 1px solid #f8842b;
  margin-top: 15px;
}

.about_section .detail-box a:hover {
  color: #ffffff;
  -webkit-transform: translateY(-3px);
          transform: translateY(-3px);
}

.case_section .heading_container {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.case_section .heading_container h2::before {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.case_section .box {
  margin-top: 45px;
  background-color: #ffffff;
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
          box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
  text-align: center;
}

.case_section .box .img-box {
  position: relative;
}

.case_section .box .img-box img {
  width: 100%;
}

.case_section .box .detail-box {
  padding: 25px;
}

.case_section .box .detail-box h5 {
  font-weight: bold;
}

.case_section .box .detail-box p {
  font-size: 15px;
}

.case_section .box .detail-box a {
  color: #0db6ef;
}

.client_section .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 45px 0;
  text-align: center;
}

.client_section .box .img-box {
  width: 125px;
  height: 125px;
  min-width: 125px;
  position: relative;
  margin-bottom: -62.5px;
}

.client_section .box .img-box img {
  width: 100%;
  border-radius: 100%;
}

.client_section .box .client_info .client_name h5 {
  font-weight: 600;
  margin-bottom: 0;
  text-transform: uppercase;
}

.client_section .box .client_info .client_name h6 {
  margin-bottom: 0;
  color: #394f6e;
  font-weight: normal;
  font-size: 15px;
  text-transform: uppercase;
  max-width: 80%;     /* ou 70% se quiser mais estreito */
  margin-left: auto;
  margin-right: auto;
}

.client_section .box .client_info i {
  font-size: 24px;
}

.client_section .box p {
  margin-top: 15px;
  text-align: justify;
  max-width: 80%;     /* ou 70% se quiser mais estreito */
  margin-left: auto;
  margin-right: auto;
}

/* Mobile: texto volta a ocupar toda a largura do box */
@media (max-width: 768px){
  .client_section .box p{
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    text-align: left;
  }
}

.client_section .box .detail-box {
  background-color: #ffffff;
  background-color: #0db6ef;
  color: #ffffff;
  border-radius: 15px;
  padding: 85px 45px 15px 45px;
}

.client_section .carousel-indicators {
  position: unset;
  margin: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.client_section .carousel-indicators li {
  background-color: #0db6ef;
  width: 10px;
  height: 10px;
  border-radius: 100%;
  opacity: 1;
}

.client_section .carousel-indicators li.active {
  width: 20px;
  height: 20px;
  background-color: #394f6e;
}

.contact_section {
  position: relative;
}

.contact_section form {
  margin-top: 45px;
}

.contact_section input {
  width: 100%;
  border: none;
  height: 50px;
  margin-bottom: 25px;
  padding-left: 15px;
  background-color: transparent;
  outline: none;
  color: #000000;
  border: 1px solid #a5a5a5;
}

.contact_section input::-webkit-input-placeholder {
  color: #1c1b1b;
}

.contact_section input:-ms-input-placeholder {
  color: #1c1b1b;
}

.contact_section input::-ms-input-placeholder {
  color: #1c1b1b;
}

.contact_section input::placeholder {
  color: #1c1b1b;
}

.contact_section input.message-box {
  height: 120px;
}

.contact_section button {
  font-family: "Poppins", sans-serif;
  display: inline-block;
  padding: 10px 65px;
  background-color: #0db6ef;
  color: #ffffff;
  border-radius: 3px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: 1px solid #0db6ef;
  color: #fff;
  margin-top: 10px;
}

.contact_section button:hover {
  color: #ffffff;
  -webkit-transform: translateY(-3px);
          transform: translateY(-3px);
}

.contact_section .map_container {
  height: 100%;
  min-height: 325px;
  overflow: hidden;
  margin-left: 45px;
}

.contact_section .map_container .map {
  height: 100%;
}

.contact_section .map_container .map #googleMap {
  height: 100%;
}

/* info section */
.info_section h4 {
  font-weight: 600;
  margin-bottom: 20px;
}

.info_section .info_contact .contact_link_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.info_section .info_contact .contact_link_box a {
  margin: 5px 0;
  color: #ffffff;
}

.info_section .info_contact .contact_link_box a i {
  margin-right: 5px;
}

.info_section .info_contact .contact_link_box a:hover {
  color: #ff6b6b;
}

.info_section .info_social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 20px;  
}


.info_section .info_social a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #ffffff;
  border-radius: 100%;
  margin-right: 10px;
  font-size: 24px;
}

.info_section .info_social a:hover {
  color: #ff6b6b;  
}

.info_section .info_links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.info_section .info_links a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 15px;
  color: #ffffff;
}

.info_section .info_links a:hover {
  color: #ff6b6b;
}

.info_section form input {
  border: none;
  border-bottom: 1px solid #ffffff;
  background-color: transparent;
  width: 100%;
  height: 45px;
  color: #ffffff;
  outline: none;
}

.info_section form input::-webkit-input-placeholder {
  color: #ffffff;
}

.info_section form input:-ms-input-placeholder {
  color: #ffffff;
}

.info_section form input::-ms-input-placeholder {
  color: #ffffff;
}

.info_section form input::placeholder {
  color: #ffffff;
}

.info_section form button {
  width: 100%;
  text-align: center;
  display: inline-block;
  padding: 10px 55px;
  background-color: #ff6b6b;
  color: #ffffff;
  border-radius: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: 1px solid #ff6b6b;
  margin-top: 15px;
}

.info_section form button:hover {
  color: #ffffff;
  -webkit-transform: translateY(-3px);
          transform: translateY(-3px);
}

/* end info section */
/* footer section*/
.footer_container {
  background-color: #0db6ef;
  color: #ffffff;
  border-radius: 350px 0 0 0;
  padding-top: 145px;
}


.footer_section {
  position: relative;
  text-align: center;
}

.footer_section p {
  padding: 25px 0;
  margin: 0;
}

/* modo estável: linha pontilhada só no hover, sem flicker */
.footer_section a{
  display: inline-block;              /* fixa a área de hover */
  color: #ffffff;
  text-decoration: none;
  border-bottom: 1px dotted transparent;
  transition: border-color .25s ease;
}
.footer_section a:visited{ color:#ffffff; }  /* evita troca de cor por :visited */

.footer_section a:hover{
  border-bottom-color: #fff;       /* aparece apenas no hover */
}


/*# sourceMappingURL=style.css.map */