/*
 * Custom CSS
 */
 @import url('fonts/soft-lime/stylesheet.css');
 @import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Sour+Gummy:ital,wght@0,100..900;1,100..900&display=swap');
 .sour-gummy {
  font-family: "Sour Gummy", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

:root {
  --tg-body-font-family: "Montserrat", sans-serif;
  --tg-heading-font-family: 'Soft Lime 3', sans-serif;
  --tg-body-font-size: 16px;
  --tg-body-line-height: 1.5;
  --bs-body-bg: var(--bs-gray-100);
  --tg-body-color: #fff;
  --tg-purple-color: #576caf;
  --tg-light-purple: #798cc9;
  --tg-blue-color: #84c6e1; 
  --tg-light-blue: #93e0ff;
  --tg-yellow-color: #e8c141; 
  --tg-light-yellow: #fff7a1;
  --tg-orange-color: #d26533; 
  --tg-light-orange: #ffac72; 
 
 
}

body {
  margin-top:80px;
  font-family: var(--tg-body-font-family);
  font-size: var(--tg-body-font-size);
  color: var(--tg-purple-color);
  line-height: var(--tg-body-line-height);
  background-color: #fff;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--tg-heading-font-family);
  color: var(--tg-blue-color);
}
p { 
  font-family: var(--tg-body-font-family);
  color: var(--tg-purple-color);
}
.softlime{font-family: 'Soft Lime', sans-serif;}
.softlime2{font-family: 'Soft Lime 2', sans-serif;}
.softlime3{font-family: 'Soft Lime 3', sans-serif;}
.softlime4{font-family: 'Soft Lime 4', sans-serif;}
.softlime5{font-family: 'Soft Lime 5', sans-serif;}
.text-font{ font-family: var(--tg-body-font-family);}

.color-white { color: #fff !important; }
.color-purple { color: var(--tg-purple-color) !important; }
.color-blue { color: var(--tg-blue-color) !important; }
.color-yellow { color: var(--tg-yellow-color) !important; }
.color-orange { color: var(--tg-orange-color) !important; }

/* SECTION  */
.services-section{
  padding: 60px 0;
}
.team-section{
  padding: 80px 0;
}

.faq-section{
  padding: 60px 0;
}
.section-title{
  font-family: 'Soft Lime 2', sans-serif;
  font-size:3.5rem;
  font-weight: 100;
  margin-bottom: 50px;
  color: var(--tg-purple-color);
}

@keyframes float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-15px); /* Ajusta este valor para cambiar la altura del "flote" */
  }
}

.float-smooth {
  animation: float 4s ease-in-out infinite; /* Flotación suave y continua */
  transition: transform 0.5s ease-out;
}

/* BUTTONS  */
.custom-button {
  display: inline-block;
  color: var(--tg-purple-color);
  text-transform: uppercase;
  padding: 20px 30px;
  border-radius: 5px;
  font-weight: 600;
  box-shadow: 0px 17px 10px -10px rgba(0, 0, 0, 0.4);
  cursor: pointer;
  -webkit-transition: all ease-in-out 300ms;
  transition: all ease-in-out 300ms;
}
.custom-button:hover {
  background:  var(--tg-purple-color);
  color:#fff;
  box-shadow: 0px 37px 20px -20px rgba(0, 0, 0, 0.2);
  -webkit-transform: translate(0px, -10px) scale(1.2);
          transform: translate(0px, -10px) scale(1.2);
  cursor: pointer;
}

.custom-button2 {
  display: inline-block;
  color: #fff;
  text-transform: uppercase;
  padding: 20px 30px;
  border-radius: 5px;
  font-weight: 600;
  box-shadow: 0px 17px 10px -10px rgba(0, 0, 0, 0.4);
  cursor: pointer;
  -webkit-transition: all ease-in-out 300ms;
  transition: all ease-in-out 300ms;
}
.custom-button2:hover {
  background:  #fff;
  color:var(--tg-purple-color);
  box-shadow: 0px 37px 20px -20px rgba(0, 0, 0, 0.2);
  -webkit-transform: translate(0px, -10px) scale(1.2);
          transform: translate(0px, -10px) scale(1.2);
  cursor: pointer;
}


.btn-whatsapp {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background-color: #25d366;
  color: #fff;
  border-radius: 50%;
  padding: 18px 28px;
  font-size: 39px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  z-index: 1000;
}

.btn-whatsapp:hover {
  background-color: #20c354;
}

/* TESTIMONIALS */
.testimonials {
  padding: 60px 0;
}

.section-title {
  font-family: 'Soft Lime 2', sans-serif;
  color: var(--tg-purple-color);
  font-size: 2.5rem;
  margin-bottom: 50px;
}

.testimonial-card {
  display: flex;
  align-items: center;
  background-color: #fff;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  width: 500px;
}

.testimonial-img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border: 3px solid var(--tg-purple-color);
  margin-right: 20px;
}

.testimonial-name {
  color: var(--tg-purple-color);
  font-weight: 700;
  margin-top: 10px;
}


/* NAVBAR  */
/* Navbar Styling */
.navbar {
  background-color: #ffffff !important; /* White background */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Soft shadow */
}

.navbar-brand img {
  height: 50px; /* Ensure logo height */
}

.navbar .nav-link {
  color: #333 !important; /* Dark text color for better contrast */
}

.navbar .nav-link:hover {
  color: #007bff !important; /* Blue on hover */
}

.navbar-toggler {
  border-color: rgba(0, 0, 0, 0.1); /* Light border for toggler */
}

.modal-backdrop {
  background: linear-gradient(90deg, #4d278a, #2c0362);
  opacity: 0.9 !important; /* Ajusta la opacidad si es necesario */
}

.scroll-down {
  position: absolute;
  top:640px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  z-index: 100;
}

.scroll-link {
  text-decoration: none;
  color: var(--tg-purple-color);
  font-size: 2rem;
}

.scroll-link:hover {
  color: var(--tg-blue-color);
  transform: translateY(5px);
  transition: transform 0.3s ease;
}


/* SLIDER  */

/* Swiper full height and width */
.swiper {
  width: 100%;
  height: 600px;
  margin-bottom: 50px;
}
.swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.swiper-slide::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
}

/* Centered content with flexbox */
.slide-content {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: left;
  color: #ffffff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
}

/* Image styling */
.slide-icon {
  width: 500px;
  height: auto;
  margin-right: 20px;
}

/* Container for the text */
.text-container {
  display: flex;
  flex-direction: column;
}

/* Title styling */
.slide-title {
  font-size: 3.5rem;
  font-family: 'Soft Lime 3', sans-serif;;
  font-weight: 100;
  margin: 0;
}

/* Subtitle styling */
.slide-subtitle {
  font-size: 1.5rem;
  margin-top: 10px;
}

/* Optional background overlay for better text visibility */
.swiper-slide::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
}

/* MARKETING CONTENT
-------------------------------------------------- */

/* Center align the text within the three columns below the carousel */
.marketing .col-lg-4 {
  margin-bottom: 1.5rem;
  text-align: center;
}
/* rtl:begin:ignore */
.marketing .col-lg-4 p {
  margin-right: .75rem;
  margin-left: .75rem;
}
/* rtl:end:ignore */


/* Featurettes
------------------------- */

.featurette-divider {
  margin: 5rem 0; /* Space out the Bootstrap <hr> more */
}

/* Thin out the marketing headings */
/* rtl:begin:remove */
.featurette-heading {
  letter-spacing: -.05rem;
}

/* rtl:end:remove */

/* ACCORDION  */
/* Acordeón - Título */
/* Acordeón - Título */
.accordion-button {
  background-color: #ffffff !important; /* Fondo blanco para el título */
  font-weight: bold; /* Títulos en negrita */
  color: var(--tg-purple-color) !important; /* Color morado para los títulos */
  border: 1px solid #ddd; /* Borde claro */
  box-shadow: none !important; /* Eliminar capa de difuminación */
  transition: background-color 0.3s, color 0.3s; /* Transiciones suaves */
}

.accordion-button:hover {
  background-color: #e9ecef; /* Fondo más claro al pasar el mouse */
  color: var(--tg-purple-color) !important; /* Mantener el texto morado al pasar el mouse */
}

/* Eliminar línea azul en el estado activo y enfocado */
.accordion-button:focus {
  outline: none; /* Eliminar el contorno de enfoque */
  box-shadow: none !important; /* Eliminar la sombra azul */
  border-color: transparent; /* Eliminar cualquier borde que pueda aparecer */
}

/* Opcional: cambiar el color de fondo cuando está activo */
.accordion-button:not(.collapsed) {
  background-color: #f7f7f7 !important; /* Fondo cuando está expandido */
  color: var(--tg-purple-color) !important; /* Mantener el color morado */
  border: 1px solid #ddd; /* Asegurar el borde sin sombra */
}


.accordion-body {
  background-color: #f8f9fa; /* Fondo claro para el contenido */
  color: #666; /* Color del texto del contenido */
  border-top: 1px solid #ddd;
  padding: 1rem;
}

/* CURVED SECTION */
/* Sección completa con fondo morado */
/* Sección completa con fondo morado */
.full-width{
  width: 100%;
  position: relative;
  overflow: hidden;
}
.full-width-section {
  width: 100%;
  position: relative;
  overflow: hidden;
  z-index: 1;
  padding: 30px 0;
}

/* FOOTER */
.social-icons a {
  color: #ffffff;
  margin-right: 10px;
  font-size: 1.5rem;
}

.instagram-feed img {
  object-fit: cover;
}

footer ul {
  padding: 0;
  list-style: none;
}
footer ul li a {
  color: #bbb;
  text-decoration: none;
}
footer ul li a:hover {
  color: #fff;
}

/* RESPONSIVE CSS
-------------------------------------------------- */

@media (min-width: 40em) {
  /* Bump up size of carousel content */
  .carousel-caption p {
    margin-bottom: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.4;
  }

  .featurette-heading {
    font-size: 50px;
  }
}

@media (min-width: 62em) {
  .featurette-heading {
    margin-top: 7rem;
  }
}


.bd-placeholder-img {
  font-size: 1.125rem;
  text-anchor: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

@media (min-width: 768px) {
  .bd-placeholder-img-lg {
    font-size: 3.5rem;
  }
}

.b-example-divider {
  width: 100%;
  height: 3rem;
  background-color: rgba(0, 0, 0, .1);
  border: solid rgba(0, 0, 0, .15);
  border-width: 1px 0;
  box-shadow: inset 0 .5em 1.5em rgba(0, 0, 0, .1), inset 0 .125em .5em rgba(0, 0, 0, .15);
}

.b-example-vr {
  flex-shrink: 0;
  width: 1.5rem;
  height: 100vh;
}

.bi {
  vertical-align: -.125em;
  fill: currentColor;
}

.nav-scroller {
  position: relative;
  z-index: 2;
  height: 2.75rem;
  overflow-y: hidden;
}

.nav-scroller .nav {
  display: flex;
  flex-wrap: nowrap;
  padding-bottom: 1rem;
  margin-top: -1px;
  overflow-x: auto;
  text-align: center;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}

.btn-bd-primary {
  --bd-violet-bg: #712cf9;
  --bd-violet-rgb: 112.520718, 44.062154, 249.437846;

  --bs-btn-font-weight: 600;
  --bs-btn-color: var(--bs-white);
  --bs-btn-bg: var(--bd-violet-bg);
  --bs-btn-border-color: var(--bd-violet-bg);
  --bs-btn-hover-color: var(--bs-white);
  --bs-btn-hover-bg: #6528e0;
  --bs-btn-hover-border-color: #6528e0;
  --bs-btn-focus-shadow-rgb: var(--bd-violet-rgb);
  --bs-btn-active-color: var(--bs-btn-hover-color);
  --bs-btn-active-bg: #5a23c8;
  --bs-btn-active-border-color: #5a23c8;
}

.bd-mode-toggle {
  z-index: 1500;
}

.bd-mode-toggle .dropdown-menu .active .bi {
  display: block !important;
}