@charset "UTF-8";
/* Font  */
@font-face {
  font-family: Futura;
  src: url("../font/FuturaBook.ttf") format("truetype"); /* Safari, Android, iOS */
  font-weight: 300;
  font-style: normal;
  text-rendering: optimizeLegibility;
}
@font-face {
  font-family: Futura;
  src: url("../font/FuturaBook.ttf") format("truetype"); /* Safari, Android, iOS */
  font-weight: 400;
  font-style: normal;
  text-rendering: optimizeLegibility;
}
/*@font-face {
  font-family: Futura;
  src: url("../font/Futura-Heavy.ttf") format("truetype"); /* Safari, Android, iOS 
  font-weight: 700;
  font-style: normal;
  text-rendering: optimizeLegibility;
}*/
@font-face {
  font-family: Futura;
  src: url("../font/Futura-LH-Extra.ttf") format("truetype"); /* Safari, Android, iOS */
  font-weight: 800;
  font-style: normal;
  text-rendering: optimizeLegibility;
}
@font-face {
  font-family: Futura;
  src: url("../font/FuturicaSemiBold.ttf") format("truetype"); /* Safari, Android, iOS */
  font-weight: 700;
  font-style: normal;
  text-rendering: optimizeLegibility;
}
@font-face {
  font-family: Akira;
  src: url("../font/AkiraExpanded.otf") format("truetype"); /* Safari, Android, iOS */
  font-weight: 800;
  font-style: normal;
  text-rendering: optimizeLegibility;
}
/*
@font-face {
  font-family: "Akira";
  src: url("../font/AkiraExpandedDemo.otf") format("truetype"); /* Safari, Android, iOS 
  font-weight: 800;
  font-style: normal;
  text-rendering: optimizeLegibility;
}
*/
/* Variables de Sass */
@keyframes pulse2 {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
}
/* Header  */
div.menu {
  background: transparent;
  position: relative;
  width: 100%;
  min-height: 90px;
}
div.menu .container {
  max-width: 1540px;
}
div.menu img {
  max-width: 100px;
  margin: 30px 0 0;
  display: block;
}
div.menu .menuppal.is_active {
  transform: translate3d(0px, 0px, 0px);
  background: #006D69;
}
div.menu .hamburger {
  position: relative;
  border-radius: 10px;
  background: var(--verde-1, #90C89A);
  right: 0px;
    top: 36px;
    height: 50px;
    width: 58px;
    padding: 15px;
  transform: translate3d(0, 0, 0);
  transition: transform 0.25s cubic-bezier(0.05, 1.04, 0.72, 0.98);
  z-index: 1002;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  margin: 0 0 0 auto;
  user-select: none;
}
div.menu .hamburger.is-active {
  background-color: none;
}
div.menu .hamburger.is-active {
  position: fixed;
  background-color: transparent;
  left: initial;
  top: 20px;
  height: 30px;
  width: 30px;
  padding: 20px 20px;
  right: 10%;
}
div.menu ._layer {
  background: #006D69;
  margin-bottom: 4px;
  border-radius: 2px;
  width: 28px;
  height: 4px;
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: all 0.25s cubic-bezier(0.05, 1.04, 0.72, 0.98);
}
div.menu .hamburger.is-active ._layer {
  background: #fff;
}
div.menu .hamburger:hover .-top {
  transform: translateY(-100%);
}
div.menu .hamburger:hover .-bottom {
  transform: translateY(100%);
}
div.menu .hamburger.is-active .-top {
  transform: translateY(200%) rotate(45deg) !important;
}
div.menu .hamburger.is-active .-mid {
  opacity: 0;
}
div.menu .hamburger.is-active .-bottom {
  transform: translateY(-200%) rotate(135deg) !important;
}
div.menu .menuppal.is_active {
  transform: translate3d(0px, 0px, 0px);
}
div.menu .menuppal {
  background-color: rgba(255, 255, 255, 0.95);
  bottom: 0;
  height: 100%;
  left: 0;
  overflow-y: scroll;
  position: fixed;
  top: 0;
  transform: translate3d(0px, -100%, 0px);
  transition: transform 0.35s cubic-bezier(0.05, 1.04, 0.72, 0.98) 0s;
  width: 100%;
  z-index: 1001;
}
div.menu .menuppal ul {
  margin: 0;
  padding: 0;
  padding-top: 40px;
}
div.menu .menuppal ul li {
  list-style: none;
  height: 3em;
  color: var(--Blanco, #FFF);
  text-align: center;
  font-family: Raleway;
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  line-height: 28px; /* 100% */
  text-transform: uppercase;
}
div.menu .menuppal ul li a {
  text-decoration: none;
  color: #fff;
  transition: all 0.3s linear;
}
div.menu .menuppal ul li a:hover {
  text-decoration: none;
  color: #fff;
  zoom: 1.1;
}
div.menu .menu .container {
  max-width: 1560px;
}

@media screen and (max-width: 992px) {
  div.menu img {
    max-width: 160px;
  }
  div.menu .menuppal ul li {
    font-size: 1.2rem;
    line-height: 2em;
    height: 3em;
  }
}
@media screen and (max-width: 767px) {
  div.menu {
    min-height: 70px;
    padding: 20px 0;
  }
  div.menu img {
    max-width: 90px;
    top: 5px;
    margin: 15px;
    position: relative;
  }
  div.menu .hamburger {
    padding: 0;
  }
  div.menu .menuppal ul li {
    font-size: 1.1rem;
    line-height: 2em;
    height: 3em;
  }
  div.menu .menuppal ul {
    margin: 0;
    padding: 0;
    padding-top: 70px;
  }
  div.menu ._layer {
    width: 24px !important;
    height: 3px !important;
  }
  div.menu .hamburger {
    padding: 16px;
    margin-left: -20px;
  }
}
button.navbar-toggler {
  border: none;
}

button.navbar-toggler img {
  max-width: 30px !important;
}

.btnheader {
  display: none;
}

.hiddenD {
  display: none;
}

@media screen and (max-width: 992px) {
  .menu img {
    width: 90%;
    padding: 0px 0;
  }
  .hiddenD {
    display: block;
  }
  .btnheader {
    display: block;
    margin: 12px auto;
  }
  .menu .navbar-nav {
    flex-direction: column !important;
    width: 100% !important;
    display: flex !important;
    text-align: center;
    flex-wrap: wrap;
    align-content: flex-start;
    align-items: flex-start;
    padding: 20px;
  }
  li.nav-item {
    width: 100%;
    text-align: left;
    border-bottom: 0;
    padding: 5px 0;
  }
  li.nav-item a {
    text-align: center;
  }
  .menu a.nav-link {
    margin: 3px 10px;
    padding: 10px !important;
    color: var(--Blanco, #555);
    text-align: center;
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
  }
  li.nav-item.active:first-child {
    padding-top: 30px;
  }
  button.navbar-toggler {
    box-shadow: none;
  }
  .menu li a {
    text-decoration: none;
  }
  .menu li a button {
    width: 70%;
    margin: 0 auto;
    display: block;
    margin-top: 24px;
    color: #FFF;
    text-align: center;
    font-family: Montserrat;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 24px; /* 150% */
  }
  div#navbarSupportedContent {
    background: #F2EDDF;
    border: 1px solid #8a8a8a;
  }
  .logom {
    display: none;
  }
  .menu .logoH {
    transition: transform 0.3s ease;
    width: 150px;
  }
  .menu li.nav-item a {
    text-align: center;
    font-size: 18px;
    border-bottom: 1px solid;
    padding: 10px !important;
    border: navajowhite;
  }
  .menu button img {
    width: 110%;
    padding: 0px 0;
    margin-top: -10px;
  }
  div#navbarSupportedContent {
    background: #fff;
    border: 0;
    border-radius: 1px;
  }
  .menu li.nav-item:after {
    display: none;
  }
  .menu {
    padding: 10px;
  }
  .menu .btn {
    margin: 0 auto !important;
  }
  .menu button.btn {
    border-radius: 50px;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 24px; /* 150% */
    color: #010101;
    font-family: Futura;
    width: -moz-max-content;
    width: max-content;
  }
}/*
@media screen and (max-width: 767px) {
  .menu img {
    max-width: 160px;
    padding: 0 10px;
  }
  .menu figure img {
    max-width: 200px;
    width: 80%;
    margin: 0 auto;
    display: block;
  }
  .menu .logoH {
    transition: transform 0.3s ease;
    width: 130px;
  }
  nav.navbar.navbar-expand-lg.navbar-light.bg-light {
    display: flex;
    justify-content: flex-end;
    flex-direction: row;
    align-content: center;
  }
}*/
html, body {
  width: 100%;
  overflow-x: hidden;
  background-color: #FFFEF3;
}

a {
  text-decoration: none;
}

section {
  padding: 100px 15px;
}

img {
  max-width: 100%;
  width: 100%;
}

h1 {
  color: var(--negro, #000);
  font-family: Futura;
  font-size: 58px;
  font-style: normal;
  font-weight: 800;
  line-height: 72px; /* 124.138% */
  text-transform: uppercase;
}
h1 span {
  font-family: Akira;
  -webkit-text-stroke-width: 2px;
  -webkit-text-stroke-color: var(--violeta, #AE4794);
  color: #FFF;
  font-family: "Akira";
  font-size: 62px;
  font-style: normal;
  font-weight: 800;
  line-height: 60px; /* 96.774% */
  text-transform: uppercase;
}

.banner p {
  color: var(--negro, #000);
  font-family: "Futura";
  font-size: 22px;
  font-style: normal;
  font-weight: 400;
  line-height: 30px; /* 136.364% */
  margin-top: 18px;
}

h2 {
  color: var(--negro, #010101);
  font-family: Futura;
  font-size: 50px;
  font-style: normal;
  font-weight: 800;
  line-height: 68px; /* 141.667% */
}
h2 span {
  font-size: 64px;
  font-weight: 700;
}

h3 {
  color: var(--negro, #010101);
  font-family: Futura;
  font-size: 48px;
  font-style: normal;
  font-weight: 400;
  line-height: 66px; /* 137.5% */
}
h3 span {
  font-weight: 700;
}

h4 {
  color: var(--negro, #010101);
  font-family: "Futura";
  font-size: 25px;
  font-style: normal;
  font-weight: 600;
  line-height: 30px; /* 120% */
}

p {
  color: var(--negro, #010101);
  font-family: "Futura";
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 26px; /* 144.444% */
}
p b {
  font-family: "Futura";
}

.btn, .btnbr, input.hs-button.primary.large {
  border-radius: 6px;
  border: 1px solid var(--negro, #010101);
  color: var(--negro, #010101);
  text-align: center;
  font-family: Futura;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
}

.hiddenD, .hiddenl {
  display: none;
}

.hiddenS {
  display: none;
}
.ico {
  max-height: 26px;
  width: 115px;
  max-width: 100%;
  margin: 20px auto;
}

.botones {
  display: block;
  margin: 0 auto;
  text-align: center;
  width: -moz-max-content;
  width: 110px;
  /* background: red; */
  height: 40px;
  position: relative;
}

/* galeria */
/* Asegúrate de que tu contenedor principal (donde está el Swiper) tenga 'position: relative' si vas a posicionar elementos absolutos dentro de él.
   Si las flechas están fuera, puedes usar un contenedor específico para las flechas. */
/* Estilo general para las flechas si aún no lo tienes (ajusta colores, tamaños, etc.) */
.swiper-button-prev,
.swiper-button-next {
  width: 40px; /* Tamaño del botón */
  height: 40px; /* Tamaño del botón */
  border-radius: 10%; /* Para que sean redondos */
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  position: absolute; /* Hacemos que se posicionen de forma absoluta */
  top: auto; /* Anulamos cualquier 'top' por defecto */
  bottom: 0; /* Posicionamos debajo del slider, ajusta este valor según la separación que quieras */
  z-index: 10; /* Para asegurar que estén por encima de otros elementos si hay superposiciones */
  transform: translateY(0); /* Anulamos transformaciones por defecto de Swiper */
  margin-top: 0; /* Anulamos márgenes por defecto */
  color: #333; /* Color del ícono de la flecha */
  font-size: 20px; /* Tamaño del ícono de la flecha */
}

/* Ajustes específicos para la flecha de 'prev' */
.swiper-button-prev {
  left: 10px; /* Ajusta este valor para la separación con la flecha 'next' */
  right: auto; /* Anulamos 'left' por defecto */
}

/* Ajustes específicos para la flecha de 'next' */
.swiper-button-next {
  left: 60px; /* Ajusta este valor para la separación del borde derecho */
  right: auto; /* Anulamos 'left' por defecto */
}

/* Es importante sobrescribir las reglas por defecto de Swiper que vienen con su JS y CSS */
/* Usamos !important con cautela, solo si las reglas de Swiper están siendo más específicas */
.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: swiper-icons; /* Mantén esto si estás usando los íconos por defecto de Swiper */
  font-size: 20px; /* Tamaño de la flecha dentro del botón */
  color: #333; /* Color de la flecha */
  content: "next"; /* O 'prev' si estás sobrescribiendo los iconos por defecto y no usando un ícono */
}

/* Si los iconos por defecto de Swiper no te gustan o no aparecen, puedes usar un icono personalizado: */
.swiper-button-prev {
  background-image: none; /* Elimina la imagen de fondo por defecto */
}

.swiper-button-prev:after {
  content: ""; /* O un Font Awesome: \f060 */
  font-family: "Arial", sans-serif; /* O 'Font Awesome 5 Free' si usas FA */
  font-weight: 900; /* Para Font Awesome */
}

.swiper-button-next {
  background-image: none; /* Elimina la imagen de fondo por defecto */
}

.swiper-button-next:after {
  content: ""; /* O un Font Awesome: \f061 */
  font-family: "Arial", sans-serif; /* O 'Font Awesome 5 Free' si usas FA */
  font-weight: 900; /* Para Font Awesome */
}

/** Galeria **/
@media screen and (max-width: 992px) {
  .hiddenl {
    display: block;
  }
  .hiddenD {
    display: block;
  }
  .hiddenS {
    display: none;
  }
  h1 {
    font-size: 35px;
    line-height: 50px;
  }
  h1 span {
    font-size: 45px;
  }
  h2 {
    font-size: 35px;
    line-height: 50px; /* 141.667% */
  }
  h2 span {
    font-size: 43px;
  }
  h3 {
    font-size: 35px;
    line-height: 50px; /* 137.5% */
  }
  h4 {
    color: var(--negro, #010101);
    font-family: "Futura";
    font-size: 25px;
    font-style: normal;
    font-weight: 600;
    line-height: 30px; /* 120% */
  }
  p {
    color: var(--negro, #010101);
    font-family: "Futura";
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 26px; /* 144.444% */
  }
  p b {
    font-family: "Futura";
  }
  .btn, .btnbr, input.hs-button.primary.large {
    border-radius: 6px;
    border: 1px solid var(--negro, #010101);
    color: var(--negro, #010101);
    text-align: center;
    font-family: Futura;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
  }
}
@media screen and (max-width: 767px) {
  .hiddenD {
    display: block !important;
  }
  h1 {
    font-size: 22px;
    line-height: 35px;
  }
  h1 span {
    font-size: 35px;
  }
  .banner p {
    font-size: 18px;
    line-height: 24px;
  }
  .btn, .btnbr, input.hs-button.primary.large {
    font-size: 14px;
    line-height: normal;
  }
  h2 {
    font-size: 30px;
    line-height: 40px; /* 141.667% */
  }
  h2 span {
    font-size: 33px;
  }
  h3 {
    font-size: 24px;
    line-height: normal; /* 137.5% */
  }
  h4 {
    font-size: 20px;
    line-height: 25px; /* 120% */
  }
  .hiddenM {
    display: none;
  }
  .hiddenS {
    display: block;
  }
}

.barra figure{
  margin: 0;
}
section.banner {
  padding: 0 15px 0;
  background-image: url("../imagenes/fondo1.png");
  background-size: 68%;
  background-repeat: no-repeat;
  background-position: left 40%;
}
section.banner img {
    max-width: 120%;
    width: 120%;
}
section.banner .container {
  max-width: 1540px;
  width: 100%;
  margin: 0 auto;
}
section.banner .container .cont {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
}
section.banner .container span {
  display: block;
}
section.banner .container a.btn.btnbr {
  border-radius: 10px;
  background: var(--verde-1, #90C89A);
  max-width: 276px;
  width: 100%;
  color: var(--negro, #000);
  text-align: center;
  font-family: "Futura";
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  border: none;
  margin-top: 30px;
}

@media screen and (max-width: 992px) {
  section.banner {
    padding: 50px 15px 100px;
    background-image: url("../imagenes/fondo1.png");
    background-size: 68%;
    background-repeat: no-repeat;
    background-position: left 25%;
  }
  section.banner .container .cont {
    padding-top: 0;
  }
}
@media screen and (max-width: 767px) {
  section.banner {
    padding: 100px 15px 0;
    background-image: url("../imagenes/fondo1.png");
    background-size: 135%;
    background-repeat: no-repeat;
    background-position: left 12%;
  }
  section.banner a.btnbr {
    margin-top: 20px;
    margin-bottom: 60px;
  }
}
section.nosotros {
  padding: 150px 0;
}
section.nosotros .container-fluid, section.nosotros .div {
  padding: 0;
}
section.nosotros .cont {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  padding: 0 80px;
  text-align: center;
}
section.nosotros .cont h2 {
  margin-bottom: 20px;
}
section.nosotros .cont h2 span {
  display: block;
}

@media screen and (max-width: 992px) {
  section.nosotros .cont {
    padding: 0 20px;
  }
}
@media screen and (max-width: 767px) {
  section.nosotros img {
    max-width: 80%;
    margin-bottom: 30px;
  }
  section.nosotros .cont {
    padding: 0 50px;
  }
}
section.beneficios {
  padding: 100px 15px;
  background-color: #000;
}
section.beneficios .container-fluid {
  max-width: 1750px;
  margin: 0 auto;
}
section.beneficios span {
  display: block;
}
section.beneficios h2 {
  margin-bottom: 60px;
}
section.beneficios .icons {
  margin-bottom: 100px;
}
section.beneficios .icons img {
  height: 40px;
  width: auto;
  max-width: 100%;
}
section.beneficios .icons img.left {
  margin-left: auto;
}
section.beneficios .cardbene {
  padding: 50px 0 30px;
  border-radius: 10px;
  border: 1px solid var(--negro, #FAB911);
  min-height: 400px;
}
section.beneficios .cardbene h4 {
  padding: 0 75px;
  color: var(--amarillo, #FAB911);
  text-align: center;
  font-family: Futura;
  font-size: 26px;
  font-style: normal;
  font-weight: 800;
  line-height: 32px; /* 123.077% */
  min-height: 128px;
  margin-bottom: 25px;
}
section.beneficios .cardbene p {
  color: var(--clarito, #FFFEF3);
  text-align: center;
  font-family: "Futura";
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 26px; /* 144.444% */
  padding: 25px 60px 0 ;
}
section.beneficios .cardbene hr {
    height: 1px;
    background-color: #FAB911;
    border: none;
    opacity: 1;
}
section.beneficios .swiper {
      padding: 0 60px;
  padding-bottom: 40px;
}
section.beneficios .swiper .botones {
  display: none;
}

@media screen and (max-width: 992px) {
  .swiper {
    padding-bottom: 40px;
  }
  .swiper .botones {
    display: block !important;
  }
}
@media screen and (max-width: 767px) {
  section.beneficios {
    padding: 100px 15px;
  }
  section.beneficios span {
    display: inline;
  }
  section.beneficios .cardbene {
    padding: 40px 30px;
  }
  section.beneficios .swiper {
    padding: 0;
    padding-bottom: 40px;
  }
  section.beneficios .swiper .botones {
    display: none;
  }
}
section.form {
  background-position: 30px 0px;
}
/* Footer */
footer.main-footer {
  background-color: #FFFEF3;
  padding-top: 150px;
}
footer .container {
 max-width: 1500px;
}

footer.main-footer .footer-icons {
  max-width: 150px;
}

footer.main-footer .logo-col img {
  max-width: 250px;
  width: 100%;
}

footer.main-footer .cta-col h3 {
  font-family: Futura;
  font-size: 44px;
  font-weight: 800;
  color: #000;
  text-transform: uppercase;
  line-height: 52px;
  margin-bottom: 20px;
  text-align: left;
}
footer.main-footer .cta-col h3 span {
  color: transparent;
  -webkit-text-stroke: 1px #AE4794; /* Pink outline based on image */
  display: block;
}

footer.main-footer .cta-col p {
    font-family: Futura;
    font-size: 18px;
    color: #000;
    margin-bottom: 25px;
    text-align: left;
    padding: 0;
}

footer.main-footer .btn-franquicia {
    display: inline-block;
    background-color: #90C89A;
    color: #000;
    padding: 10px 25px;
    border-radius: 5px;
    font-family: Futura;
    font-weight: 700;
    text-decoration: none;
    text-transform: initial;
    margin: 0;
    display: block;
    max-width: max-content;
    padding: 10px 50px;
}

footer.main-footer .copyright-bar {
  background-color: #000;
  padding: 20px 0;
  margin-top: 80px;
}

footer.main-footer .copyright-bar p {
  color: #FFF;
  font-family: Futura;
  font-size: 12px;
  margin: 0;
  text-align: center;
  padding: 0;
}

@media screen and (max-width: 767px) {
  footer.main-footer {
    padding-top: 150px;
  }
  footer.main-footer .col-md-3,
  footer.main-footer .col-md-5, 
  footer.main-footer .col-md-4 {
    text-align: left !important;
    margin-bottom: 40px;
  }
  footer.main-footer .logo-col img {
    max-width: 150px;
    width: 100%;
    margin: 30px 0;
}
}
/* Video Section */
section.video {
  background-color: #000;
  padding: 80px 0;
  text-align: center;
}

section.video .badge-video {
  display: inline-block;
  border: 1px solid #FAB911;
  color: #FAB911;
  border-radius: 50px;
  padding: 5px 23px;
  text-transform: lowercase;
  font-family: Futura;
  font-size: 14px;
  margin-bottom: 25px;
}

section.video h3 {
  color: #FFF;
  font-family: Futura;
  font-size: 48px;
  font-weight: 800;
  text-transform: uppercase;
  margin-bottom: 10px;
  line-height: 1.1;
}

section.video p.subtitle {
  color: #FAB911;
  font-family: Futura;
  font-size: 16px;
  margin-bottom: 50px;
  font-weight: 400;
}

section.video .contVideo {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 aspect ratio */
  height: 0;
  overflow: hidden;
  max-width: 900px;
  margin: 0 auto;
  background-color: #000;
}

section.video .contVideo iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 767px) {
      section.video h3 {
        font-size: 26px;
        margin-bottom: 10px !important;
    }
}
section.form .container {
  max-width: 1740px;
}
section.form .ico {
  height: 26px;
  width: 86px;
  margin: 20px 0;
}
section.form h2 {
  color: var(--negro, #000);
  font-family: Futura;
  font-size: 44px;
  font-style: normal;
  font-weight: 800;
  line-height: 56px; /* 127.273% */
  text-transform: uppercase;
}
section.form h2 span {
  color: #FFF;
  -webkit-text-stroke-width: 1.5px;
  -webkit-text-stroke-color: var(--violeta, #AE4794);
  font-family: "Akira";
  font-size: 44px;
  font-style: normal;
  font-weight: 800;
  line-height: 56px; /* 127.273% */
  text-transform: uppercase;
}
section.form .cont {
display: flex;
    flex-direction: column;
    justify-content: center;
    flex-wrap: wrap;
    padding: 0 5.5%;
}
section.form p {
  max-width: 550px;
}
section.form form fieldset {
  margin: 0 auto;
  max-width: 100%;
}
section.form form label {
    display: inline;
    font-size: 11px;
    color: red;
}
section.form form {
  margin-top: 35px;
  margin: 0 auto;
}
section.form button, section.form input, section.form optgroup, section.form select, section.form textarea {
  background: transparent;
  border: none;
  border-bottom: 1px solid #010101;
  padding: 10px 0;
  border-radius: 0;
  font-family: "Futura";
  color: var(--negro, #000);
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  margin-top: 8px;
}
section.form button::-moz-placeholder, section.form input::-moz-placeholder, section.form optgroup::-moz-placeholder, section.form select::-moz-placeholder, section.form textarea::-moz-placeholder {
  color: #010101;
}
section.form button::placeholder, section.form input::placeholder, section.form optgroup::placeholder, section.form select::placeholder, section.form textarea::placeholder {
  color: #010101;
}
section.form .hs_lastname.hs-lastname.hs-fieldtype-text.field.hs-form-field input,
section.form .hs_firstname.hs-firstname.hs-fieldtype-text.field.hs-form-field input {
  width: 90%;
}
section.form input.hs-button.primary.large {
  padding: 10px 70px;
  text-transform: uppercase;
  border-radius: 10px;
  background: var(--verde-1, #90C89A);
  width: 226px;
  height: 42px;
  border: none;
  text-transform: none;
}
section.form .hs_submit.hs-submit {
  max-width: 100%;
  margin: 28px auto 20px;
}

@media screen and (max-width: 992px) {
  section.form {
    background-size: 300px;
    background-position: 30px 0px;
  }
  section.form h2, section.form p {
    text-align: left;
    margin: 0 ;
  }
}
@media screen and (max-width: 767px) {
  section.form {
    background-size: 300px;
    background-position: 30px 0px;
  }
  section.form h2, section.form p {
    width: 100%;
    text-align: left;
    margin: 0 auto;
    margin-bottom: 20px;
  }
  section.form {
    background-size: 190px;
    background-position: -20px 0px;
  }
}
.galeria {
  padding-left: 70px;
  background-color: #000;
  padding-bottom: 50px; /* Adjust spacing */
}
section.galeria .cont {
  padding: 100px 0 0 150px !important;
}


.galeria .badge-galeria {
  display: inline-block;
  border: 1px solid #FAB911;
  color: #FAB911;
  border-radius: 50px;
  padding: 5px 23px;
  text-transform: lowercase;
  font-family: Futura;
  font-size: 14px;
  margin-bottom: 25px;
  width: -moz-fit-content;
  width: fit-content;
}

.galeria h3 {
  margin-bottom: 30px;
  color: #FFF;
  font-family: Futura;
  font-size: 52px;
  font-style: normal;
  font-weight: 800;
  line-height: 1; /* Tight line height */
  text-transform: uppercase;
}
.galeria h3 img {
  width: 100%;
  max-width: 320px;
}
.galeria p {
  color: var(--amarillo, #FAB911);
  font-family: "Futura";
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 26px; /* 144.444% */
}
/* Galeria Controls */
.galeria .galeria-controls {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-top: 30px;
  justify-content: flex-start; /* Align left alongside title/text mostly */
  width: 100%;
}

.galeria .swiper-button-prev,
.galeria .swiper-button-next {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  position: static !important;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 !important;
  flex-shrink: 0;
  cursor: pointer;
}


.galeria .swiper-pagination {
  position: static !important;
  width: auto !important;
  color: #fff;
  font-family: Futura;
  font-size: 18px;
  letter-spacing: 2px;
  text-align: center;
  display: block; /* Ensure it takes space */
  min-width: 40px;
}

.galeria .swiper.mySwiper2 {
  padding-bottom: 80px;
}

@media screen and (max-width: 992px) {
  .galeria {
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .galeria {
    padding-top: 0;
    margin-left: 0;
  }
  .galeria h3 {
    margin-bottom: 40px;
    font-size: 30px;
    line-height: 40px;
  }
  .galeria h3 img {
    width: 100%;
    max-width: 180px;
}
.galeria p br{
  display: none;
}
.galeria p {
  margin-bottom: 40px;
}
}
section.diferencial {
  padding: 120px 30px 150px;
  background-color: #111; /* Fallback color */
  background-image: url(../imagenes/back_diferencial.jpg);
  background-size: cover;
  background-position: center;
  position: relative;
  min-height: 600px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

section.diferencial .container-fluid {
  position: relative;
  width: 100%;
  max-width: 1600px;
  /* Removed height: 100% to let content define height */
}

section.diferencial .icon-tl {
  position: absolute;
  top: 0;
  left: 0;
  width: 150px; /* Adjust size as needed */
  max-width: 20%;
}

section.diferencial .icon-tr {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px; /* Adjust mostacho size */
}

section.diferencial .center-img-wrapper {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 100px; /* Space for icons if they overlap */
}

section.diferencial .center-img-wrapper img {
  width: 100%;
  max-width: 1200px; /* Adjust base on image resolution */
  height: auto;
  box-shadow: 0 10px 30px rgba(0,0,0,0.3); /* Optional depth */
}

@media screen and (max-width: 767px) {
  section.diferencial {
    padding: 60px 15px;
    min-height: 400px;
  }
  section.diferencial .icon-tl {
    width: 100px;
  }
  section.diferencial .icon-tr {
    width: 30px;
  }
}
/* Datos Section */
section.datos {
  background-color: #000 !important;
  background-image: none !important;
  padding: 0 !important;
  overflow: hidden;
}


section.datos .img-container {
  height: 100%;
  margin: 0;
  display: flex;
  position: relative;
  min-height: 100%;
}

section.datos .img-container img {
  width: 80%;
  height: 100%;
  object-fit: cover;
  min-height: 500px; /* Ensure visibility */
}

section.datos .content-container {
  background-color: #000;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 80px;
}

section.datos .badge-datos {
  display: inline-block;
  border: 1px solid #FAB911;
  color: #FAB911;
  border-radius: 50px;
  padding: 5px 23px;
  text-transform: lowercase;
  font-family: Futura;
  font-size: 14px;
  margin-bottom: 25px;
  width: -moz-fit-content;
  width: fit-content;
}

section.datos h2 {
  color: #FFF;
  font-size: 52px;
  line-height: 1;
  margin-bottom: 45px;
  text-transform: uppercase;
  font-weight: 800;
}

section.datos .datos-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

section.datos .datos-list li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 30px;
}

section.datos .datos-list li .icon-wrapper {
  margin-right: 20px;
  min-width: 30px;
}

section.datos .datos-list li img {
  width: 30px;
  height: auto;
  display: block;
}

section.datos .datos-list li p {
  color: #FFF;
  font-size: 18px;
  margin: 0;
  line-height: 1.3;
  padding-top: 3px;
}

section.datos .datos-list li p b {
  color: #FFF;
  font-weight: 800;
}

@media screen and (max-width: 992px) {
  section.datos .content-container {
    padding: 60px 40px;
  }
  section.datos h2 {
    font-size: 40px;
  }
}
@media screen and (max-width: 767px) {
  section.datos .img-container {
    height: 400px;
  }
  section.datos .content-container {
    padding: 50px 20px;
  }
  section.datos h2 {
    font-size: 32px;
  }
}
/* Pasos Section */
section.pasos {
  background-color: #FFFEF3;
  padding: 150px 0 100px;
  position: relative;
  overflow: hidden;
}

section.pasos .pasos-marquee {
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  background-color: #AE4794; /* Fallback or border color if needed */
  margin-bottom: 60px;
}
section.pasos .pasos-marquee .track {
  display: inline-block;
  animation: marquee 20s linear infinite;
}
section.pasos .pasos-marquee img {
  height: 40px; /* Adjust based on image */
  width: auto;
  margin-right: -2px;
}

section.pasos .content-wrapper {
  max-width: 1400px;
}

section.pasos .badge-pasos {
  display: inline-block;
  border: 1px solid #FAB911;
  color: #FAB911;
  border-radius: 50px;
  padding: 5px 23px;
  text-transform: lowercase;
  font-family: Futura;
  font-size: 14px;
  margin-bottom: 25px;
}

section.pasos h2 {
  color: #000;
  font-family: Futura;
  font-size: 48px;
  font-weight: 800;
  text-transform: uppercase;
  margin-bottom: 60px;
}

/* Card Styles */
section.pasos .cardpasos {
 background-color: #FAB911;
    border-radius: 12px;
    padding: 50px 60px;
    text-align: left;
    min-height: 320px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    max-width: 600px;
    margin: 0 auto;
}

section.pasos .cardpasos span.numbers {
  -webkit-text-stroke-width: 1.5px;
  -webkit-text-stroke-color: #000;
  font-family: Futura;
  font-size: 28px;
  font-style: normal;
  font-weight: 800;
  line-height: 37px; /* 132.143% */
  text-transform: uppercase;
  display: block;
  margin-bottom: 15px;
  color: transparent; /* Needed to show only outline/stroke based on common "outline text" usage, assuming user wants hollow numbers */
}

section.pasos .cardpasos h4 {
  font-family: Futura;
  font-size: 24px;
  font-weight: 800;
  color: #000;
  text-transform: uppercase;
  margin-bottom: 15px;
}

section.pasos .cardpasos .sep {
  width: 100%;
  height: 2px;
  background-color: #000;
  margin-bottom: 20px;
}

section.pasos .cardpasos p {
  font-family: Futura;
  font-size: 18px;
  color: #000;
  line-height: 1.4;
}

/* Controls */
section.pasos .pasos-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  margin-top: 40px;
  position: relative;
  z-index: 5;
}

section.pasos .swiper-button-prev,
section.pasos .swiper-button-next {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  position: static !important;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 !important;
  cursor: pointer;
  flex-shrink: 0;
}
section.pasos .swiper-button-prev::after,
section.pasos .swiper-button-next::after {
  content: none !important; /* Remove swiper default arrows */
}

section.pasos .swiper-button-prev img,
section.pasos .swiper-button-next img {
  width: 55px; /* Adjust as needed */
  height: auto;
}

section.pasos .swiper-pagination {
  position: static !important;
  width: auto !important;
  color: #000;
  font-family: Futura;
  font-size: 18px;
  letter-spacing: 2px;
  min-width: 40px;
}

/* Decorative Side Images */
section.pasos::before {
content: "";
    position: absolute;
    top: 80%;
    left: 0;
    transform: translateY(-50%);
    width: 600px;
    height: 600px;
    background-image: url(../imagenes/pasosL.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left center;
    z-index: 100;
    pointer-events: none;
}

section.pasos::after {
      content: "";
    position: absolute;
    top: 370px;
    right: 0;
    transform: translateY(-50%);
    width: 540px;
    height: 600px;
    background-image: url(../imagenes/pasosR.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right center;
    z-index: 100;
    pointer-events: none;
}

@media screen and (max-width: 992px) {
  section.pasos::before,
  section.pasos::after {
    width: 150px; /* Smaller on tablets */
  }
}
@media screen and (max-width: 767px) {
section.pasos h2 {
        font-size: 26px;
        line-height: 36px;
        margin-bottom: 25px;
    }
  section.pasos::before,
  section.pasos::after {
  }
}

@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.video .container {
  max-width: 1540px;
}
.video .container h3 {
  margin-bottom: 50px;
}
.video .contVideo {
  width: 100%;
  position: relative;
  max-width: 100%;
  margin: 0 auto;
}
.video .contVideo iframe {
  width: 100%;
  height: 830px;
}

@media screen and (max-width: 992px) {
  .video .contVideo iframe {
    width: 100%;
    height: 430px;
  }
}
@media screen and (max-width: 767px) {
  .video .container h3 {
    margin-bottom: 20px;
  }
  .video .contVideo {
    width: 100%;
    position: relative;
    max-width: 100%;
    margin: 0 auto;
  }
  .video .contVideo iframe {
    width: 100%;
    height: 330px;
  }
}
section.footer {
  background-image: url(../imagenes/fondo3.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center top;
  padding: 100px 15px;
  margin-top: 180px;
  margin-bottom: 100px;
}
section.footer .container {
  max-width: 950px;
}
section.footer h2 {
  margin-bottom: 30px;
}
section.footer h2 span {
  display: block;
}
section.footer p {
  margin-bottom: 30px;
}
section.footer a.btnbr {
  max-width: -moz-max-content;
  max-width: max-content;
  margin: 0 10px;
}

footer {
  background-color: #010101;
  color: white;
  padding: 0;
}
footer figure {
  margin: 0;
}
footer img {
  width: 100px;
}
footer p {
  color: white;
  margin: 0;
  padding: 25px 0;
  text-align: right;
  font-family: Futura;
  font-size: 15px;
  font-style: normal;
  font-weight: 300;
}

@media screen and (max-width: 992px) {
  section.footer {
    background-image: url(../imagenes/fondo3.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center top;
    padding: 50px 15px;
    margin-top: 100px;
    margin-bottom: 100px;
  }
}
@media screen and (max-width: 767px) {
  section.footer {
    background-image: url(../imagenes/fondo3.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center top;
    padding: 20px 15px;
    margin-top: 50px;
    margin-bottom: 70px;
  }
  footer p {
    padding: 5px 0;
  }
}

/* Marquee Linea */
.linea {
  background-color: #AE4794;
  width: 100%;
  overflow: hidden;
  padding: 10px 0;
}

.linea .marquee-track {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  animation: scrollMarquee 45s linear infinite;
}

.linea .marquee-track img {
  height: 30px; 
  display: block;
}

@keyframes scrollMarquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}/*# sourceMappingURL=styles.css.map */