@charset "UTF-8";
p {
  color: #000;
}

.desk {
  display: block;
}

.mob {
  display: none;
}

.owl-theme .owl-dots .owl-dot span {
  background: rgb(101, 101, 101);
  width: 15px;
  height: 15px;
}

.button-default {
  width: auto;
  padding: 10px 20px;
  border-radius: 30px;
}
.button-default img.btn-imagen {
  height: 25px;
  animation-duration: 1s;
  animation-duration: var(--animate-duration);
  animation-fill-mode: both;
  animation-iteration-count: infinite;
}

body.landing header nav.navbar a.navbar-brand {
  margin-right: 0;
}

body.landing header .button-default:hover {
  background: #9cfe00;
  color: inherit;
}

.home-opp-cover {
  position: relative;
  height: calc(53vw - 100px);
  min-height: 600px;
  background: rgb(235, 235, 235);
  max-height: 700px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: left;
}
.home-opp-cover .container {
  display: flex;
  justify-content: flex-end;
  height: 100%;
  align-items: center;
}
.home-opp-cover .container .wrap-form-franchise {
  width: 400px;
  text-align: center;
  background: white;
  padding: 0 20px;
  border-radius: 10px;
}
.home-opp-cover .container .wrap-form-franchise button {
  width: 100%;
}
.home-opp-cover .container .wrap-form-franchise .title-form {
  font-size: 17px;
}

.home-text-promo {
  padding: 4em 0;
}
.home-text-promo h2 {
  font-family: clarendon-text-pro, serif;
  text-align: center;
  font-weight: bold;
  font-size: 36px;
}
.home-text-promo h2 span {
  display: block;
  color: #9cfe00;
  text-shadow: 2px 2px 0 black, 2px -2px 0 black, -2px 2px 0 black, -2px -2px 0 black, 2px 0px 0 black, 0px 2px 0 black, -2px 0px 0 black, 0px -2px 0 black;
}
.home-text-promo p {
  text-align: center;
  margin-bottom: 0;
}

.home-text-info-img {
  position: relative;
  height: calc(100vh - 100px);
  min-height: 600px;
  background: rgb(235, 235, 235);
  max-height: 700px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.home-text-info {
  background: #d5dde0;
  margin-top: -580px;
  /* padding-bottom: 30px; */
  margin-bottom: 32px;
}
.home-text-info .owl-stage {
  display: flex;
}
.home-text-info .owl-stage .owl-item {
  display: flex;
}
.home-text-info .owl-theme .owl-dots .owl-dot {
  padding: 0 5px !important;
}
.home-text-info .element-service {
  width: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
}
.home-text-info .element-service div.desc {
  background: rgba(255, 255, 255, 0.95);
  padding: 70px 20px 20px 20px;
  border-radius: 25px;
  height: 100%;
  color: #000;
  display: flex;
  flex-direction: column;
}
.home-text-info .element-service div.desc h3 {
  font-family: clarendon-text-pro, serif;
  font-weight: bold;
}
.home-text-info .element-service div.desc ul {
  list-style: none;
}
.home-text-info .element-service i {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 10px;
  border-radius: 50%;
  background: rgb(156, 254, 0);
  width: 140px;
  height: 140px;
  justify-content: center;
  margin: 0 auto;
  position: relative;
  top: 60px;
  transition: all 0.3s ease-in-out !important;
}
.home-text-info .element-service i div {
  text-transform: uppercase;
  font-weight: bold;
  font-size: 14px;
}
.home-text-info .element-service i img.default {
  width: 75px;
  height: 75px;
}
.home-text-info .element-service:hover i {
  background: rgba(156, 254, 0, 0.9);
}

.home-casos-exito {
  padding: 2em 0;
  text-align: center;
}
.home-casos-exito h3 {
  font-family: clarendon-text-pro, serif;
  font-weight: bold;
  font-size: 42px;
}
.home-casos-exito p {
  max-width: 630px;
  margin: 0 auto;
}
.home-casos-exito p strong {
  display: block;
}
.home-casos-exito .button-contact {
  /*width: 100%;*/
  min-width: 300px;
  display: flex;
  justify-content: center;
  margin-top: 20px;
}
.home-casos-exito .button-contact a.button-default {
  width: 100%;
  max-width: 250px;
}

.home-franquicias {
  background: #f7f7f7;
  padding: 2em 0;
  text-align: center;
}
.home-franquicias h3 {
  font-family: clarendon-text-pro, serif;
  font-weight: bold;
  font-size: 42px;
}
.home-franquicias .dog-button {
  display: flex;
  align-items: center;
  justify-content: center;
}
.home-franquicias .dog {
  display: flex;
  margin-top: 10px;
  margin-bottom: 10px;
}
.home-franquicias .dog .bubble {
  width: 50%;
  display: flex;
  align-items: center;
  position: relative;
}
.home-franquicias .dog .bubble img {
  width: 100%;
}
.home-franquicias .dog .bubble .bubble-text {
  position: absolute;
  padding: 25px 50px 25px 15px;
  text-align: center;
  font-size: 28px;
  font-family: clarendon-text-pro, serif;
  font-weight: bold;
}
.home-franquicias .dog .img-dog {
  width: 50%;
}
.home-franquicias .dog .img-dog img {
  width: 100%;
}
.home-franquicias .button-contact {
  /*width: 100%;*/
  min-width: 300px;
  display: flex;
  justify-content: center;
}
.home-franquicias .button-contact a.button-default {
  width: 100%;
  max-width: 250px;
}

#owl-testimonial .owl-stage-outer {
  border: 0;
}
#owl-testimonial .owl-stage-outer img {
  border-radius: 10px;
}

.owl-comments .owl-item {
  padding: 5px;
}
.owl-comments .owl-item .skill-video {
  /*box-shadow: 0 0 30px 0 rgba(67, 67, 67, 0.15);
  background: #f5f3f4;
  border-radius: 10px;
  max-width: 600px;
  margin: 0 auto;*/
}
.owl-comments .owl-item .skill-video .video-btn {
  position: absolute;
  top: 50%;
  left: 9px;
  right: 0;
  text-align: center;
  margin-top: -45px;
  z-index: 1;
}
.owl-comments .owl-item .skill-video .video-btn .border-cdm {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  margin: 0 auto;
  background: rgb(156, 254, 0);
}
.owl-comments .owl-item .skill-video .video-btn .border-cdm a {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.owl-comments .owl-item .skill-video .video-btn .border-cdm a .fa.fa-play {
  border-left: 25px solid rgba(0, 0, 0, 0.5);
  border-top: 17px solid transparent;
  border-bottom: 17px solid transparent;
  margin-right: -5px;
}
.owl-comments .owl-item .skill-video img {
  border-radius: 10px;
}

.animate-text {
  display: none;
}

.webp .home-opp-cover {
  background-image: url("../img/opp/banner-principal-1366.webp");
}
@media screen and (max-width: 992px) {
  .webp .home-opp-cover {
    background-image: url("../img/opp/banner-principal-nuevo.webp");
  }
}
@media screen and (min-width: 1600px) {
  .webp .home-opp-cover {
    background-image: url("../img/opp/banner-principal-1920.webp");
    background-position: center;
  }
}
.webp .home-opp-cover.en {
  background-image: url("../img/opp/banner-principal-1366-ingles.webp");
}
@media screen and (max-width: 992px) {
  .webp .home-opp-cover.en {
    background-image: url("../img/opp/banner-principal-nuevo-ingles.webp");
  }
}
@media screen and (min-width: 1600px) {
  .webp .home-opp-cover.en {
    background-image: url("../img/opp/banner-principal-1920-ingles.webp");
    background-position: center;
  }
}
.webp .home-text-info-img {
  background-image: url("../img/opp/fondo-porque-elegirnos-desktop.webp");
}
@media screen and (max-width: 992px) {
  .webp .home-text-info-img {
    background-image: url("../img/opp/fondo-porque-elegirnos.webp");
  }
}

.no-webp .home-opp-cover {
  background-image: url("../img/opp/banner-principal-1366.jpg");
}
@media screen and (max-width: 992px) {
  .no-webp .home-opp-cover {
    background-image: url("../img/opp/banner-principal-nuevo.jpg");
  }
}
@media screen and (min-width: 1600px) {
  .no-webp .home-opp-cover {
    background-image: url("../img/opp/banner-principal-1920.jpg");
    background-position: center;
  }
}
.no-webp .home-opp-cover .home-opp-cover.en {
  background-image: url("../img/opp/banner-principal-1366-ingles.jpg");
}
@media screen and (max-width: 992px) {
  .no-webp .home-opp-cover .home-opp-cover.en {
    background-image: url("../img/opp/banner-principal-nuevo-ingles.jpg");
  }
}
@media screen and (min-width: 1600px) {
  .no-webp .home-opp-cover .home-opp-cover.en {
    background-image: url("../img/opp/banner-principal-1920-ingles.jpg");
    background-position: center;
  }
}
.no-webp .home-text-info-img {
  background-image: url("../img/opp/fondo-porque-elegirnos-desktop.jpg");
}
@media screen and (max-width: 992px) {
  .no-webp .home-text-info-img {
    background-image: url("../img/opp/fondo-porque-elegirnos.jpg");
  }
}

span.text-danger.field-validation-error span {
  top: -1.2em;
  font-size: 13px;
  text-align: left;
}

span.text-danger.field-validation-error {
  display: none;
}

form .alert-danger ul {
  margin-bottom: 0;
}
form .alert-danger ul li {
  list-style: none;
}

@media screen and (max-width: 992px) {
  .desk {
    display: none;
  }
  .mob {
    display: block;
  }
  .container {
    padding-left: 10px;
    padding-right: 10px;
  }
  .input-section {
    height: 34px;
  }
  .input-section input {
    padding-top: 0;
  }
  .input-section label .content-name {
    display: none;
  }
  header nav.navbar a.navbar-brand img {
    height: 55px;
  }
  span.text-danger.field-validation-error {
    display: none;
  }
  body .home-opp-cover {
    min-height: 560px;
    height: calc(100vh - 56.25vw - 80px);
    /*min-height: auto;*/
    top: 80px !important;
    background-position: left top;
  }
  .home-opp-cover .container {
    padding-left: 10px;
    padding-right: 10px;
    align-items: flex-end;
    justify-content: center;
  }
  .home-opp-cover .container .wrap-form-franchise {
    margin-bottom: 10px;
    padding: 0px 10px;
    padding-bottom: 1rem !important;
    background: rgba(255, 255, 255, 0.9);
  }
  .home-opp-cover .container .wrap-form-franchise form {
    padding-top: 1rem !important;
  }
  .home-opp-cover .container .wrap-form-franchise form .input-section {
    margin: 0 10px;
  }
  .home-opp-cover .container .wrap-form-franchise form button {
    margin-top: 15px;
  }
  .home-opp-cover .container .wrap-form-franchise form#form-otp .title-form {
    font-size: 16px;
  }
  .home-opp-cover .container .wrap-form-franchise form#form-otp p {
    font-size: 14px;
    line-height: 1.4;
    margin-bottom: 12px !important;
  }
  .home-opp-cover .container .wrap-form-franchise form#form-otp button#btn-resend {
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 0;
  }
  .home-opp-cover .container .wrap-form-franchise form#form-otp button.btn-submit-otp {
    margin-top: 0 !important;
  }
  .home-opp-cover .container .wrap-form-franchise form#form-otp .button-wrap-sub {
    margin-top: 12px !important;
  }
  .home-opp-cover .container .wrap-form-franchise form#form-otp .alert.alert-success.text-center {
    padding-left: 5px;
    padding-right: 5px;
    font-size: 14px;
    padding-top: 5px;
    padding-bottom: 5px;
    margin-bottom: 12px !important;
  }
  .home-opp-cover .container .wrap-form-franchise .title-form {
    margin-bottom: 0 !important;
  }
  .home-opp-cover .container .wrap-form-franchise .otp-container {
    margin-bottom: 12px !important;
  }
  .home-opp-cover .container .wrap-form-franchise .wrap-resend {
    margin-bottom: 12px !important;
  }
  .home-text-info-img {
    padding-top: 25%;
  }
  .home-text-info {
    margin-top: -250px;
    padding-bottom: 20px;
  }
  .home-text-promo {
    padding: 2em 0;
    margin-top: 80px;
  }
  .home-text-promo h2 {
    font-size: 32px;
  }
  .home-franquicias .dog-button {
    flex-direction: column;
  }
  .home-franquicias .dog .bubble .bubble-text {
    padding: 25px 25px 25px 12px;
    font-size: 18px;
  }
  div#owl-testimonial {
    position: relative;
    max-width: calc(100% + 20px);
    left: -10px;
    width: calc(100% + 20px);
  }
  div#owl-testimonial .owl-slide {
    margin: 15px 10px;
  }
  .animate-text {
    background: rgba(156, 254, 0, 0.9);
    border-radius: 50%;
    width: 240px;
    height: 240px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    color: #000;
    font-family: clarendon-text-pro, serif;
    overflow: hidden;
    box-sizing: border-box;
    /* div {
      font-size: 32px;
      font-family: clarendon-text-pro, serif;
      font-weight: bold;
      text-transform: uppercase;
    }
    img {
      width: 100%;
    } */
  }
  .animate-text .counter-text {
    text-align: center;
    position: relative;
  }
  .animate-text .line {
    font-weight: bold;
    line-height: 1.2;
    padding: 0 10px;
    text-transform: uppercase;
  }
  .animate-text .line-1 {
    font-size: 1.2em;
    opacity: 0;
    position: relative;
  }
  .animate-text .line-2 {
    font-size: 3em;
    color: #000;
    min-height: 1.2em;
    will-change: transform; /* OPTIMIZACIÓN DE FLUIDEZ (GPU) */
  }
  .animate-text .line-3 {
    font-size: 1.5em;
    color: #000000;
    min-height: 1.2em;
    position: relative;
    will-change: transform, opacity; /* OPTIMIZACIÓN DE FLUIDEZ (GPU) */
  }
  .mfp-iframe-scaler {
    padding-top: 100%;
  }
}
/* Línea 1 */
@keyframes slideInTop {
  0% {
    transform: translateY(-100%);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
/* Línea 2 */
@keyframes numberScaleEffect {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}
/* Línea 3 */
@keyframes keywordSlideIn {
  0% {
    transform: translateY(100%);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
/* Clases de utilidad para aplicar las animaciones */
.animate-top-slide {
  animation: slideInTop 0.6s ease-out forwards;
  opacity: 1 !important;
}

.animate-number-scale {
  animation: numberScaleEffect 0.7s ease-in-out forwards;
  opacity: 1 !important;
}

.animate-keyword-slide {
  animation: keywordSlideIn 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
  opacity: 1 !important;
}

@media screen and (max-width: 539px) {
  header nav.navbar a.navbar-brand img {
    height: 45px;
  }
  body .home-opp-cover {
    height: calc(100vh - 56.25vw - 60px);
    top: 60px !important;
    min-height: auto;
    max-height: 125vw;
  }
  body .home-opp-cover.en {
    height: calc(100vh - 56.25vw - 65px);
    top: 65px !important;
  }
  .home-text-promo {
    margin-top: 60px;
  }
  .home-text-promo p {
    margin-bottom: 0;
  }
  .home-opp-cover .container .wrap-form-franchise form .input-section {
    margin-bottom: 3px !important;
  }
}
@media screen and (max-width: 360px) {
  .home-opp-cover .container .wrap-form-franchise .title-form {
    margin-bottom: 0 !important;
    font-size: 14px;
  }
  .input-section {
    height: 32px;
  }
}
@media screen and (max-width: 320px) {
  header {
    height: 60px;
  }
  header nav.navbar a.navbar-brand img {
    height: 45px;
  }
  body .home-opp-cover {
    height: calc(100vh - 56.25vw - 50px);
  }
  .home-opp-cover .container .wrap-form-franchise .title-form {
    font-size: 13px;
  }
}
@media screen and (min-height: 680px) and (max-width: 760px) {
  .home-opp-cover .container .wrap-form-franchise {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 992px) and (max-width: 1200px) {
  .home-opp-cover {
    height: 500px;
  }
}
@media screen and (min-width: 992px) {
  .input-section input::-webkit-input-placeholder {
    /* WebKit browsers */
    color: transparent;
  }
  .input-section input:-moz-placeholder {
    /* Mozilla Firefox 4 to 18 */
    color: transparent;
  }
  .input-section input::-moz-placeholder {
    /* Mozilla Firefox 19+ */
    color: transparent;
  }
  .input-section input :-ms-input-placeholder {
    /* Internet Explorer 10+ */
    color: transparent;
  }
  .button-wrap-sub {
    margin-top: 10px;
  }
}
.home-opp-cover .container .wrap-form-franchise form#form-otp .title-form {
  text-transform: uppercase;
  font-weight: 700;
}

#form-otp .validation-summary-errors li {
  list-style: none;
}

.otp-container {
  display: flex;
  justify-content: center;
  gap: 10px; /* Espacio estándar */
  max-width: 100%; /* Asegura que no se salga del contenedor padre */
}

.otp-digit {
  width: 50px;
  height: 60px;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  border: 2px solid #ccc;
  border-radius: 8px;
  background-color: #fff;
  color: #333;
  transition: all 0.2s;
  /* Evita que el navegador haga zoom al enfocar en móviles */
  font-size: 16px;
}

@media (min-width: 768px) {
  /* En pantallas más grandes (tablets/PC), usamos el tamaño original grande */
  .otp-digit {
    font-size: 24px; /* Restauramos fuente grande */
  }
}
/* --- RESPONSIVE PARA MÓVILES PEQUEÑOS (ej. iPhone SE) --- */
@media (max-width: 480px) {
  .otp-container {
    gap: 5px;
  }
  .otp-digit {
    width: 40px;
    height: 50px;
    font-size: 20px;
  }
}
.otp-digit:focus {
  border-color: #007bff;
  outline: none;
  box-shadow: 0 0 8px rgba(0, 123, 255, 0.3);
}/*# sourceMappingURL=style-opp.css.map */