/* Global Styles */
body {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    background-color: #f9f9f9;
    color: #333;
    margin: 0;
    padding: 0;
    overflow-x: hidden; /* Evitar scroll horizontal */
}

.container {
    max-width: 1200px;
    margin: auto;
    padding: 0 20px;
}

/* Navbar Styles */
.navbar {
    background-color: #ffffff;
    padding: 10px 0;
}

.navbar-brand img {
    max-height: 60px;
}

.navbar-nav .nav-link {
    color: #39a9db;
    font-weight: bold;
    margin-right: 15px;
    transition: color 0.3s;
}

.navbar-nav .nav-link:hover {
    color: #2376bc;
}

#oferta-navitem a {
    color: red;
}


.navbar-toggler {
    background-color: #2376bc;
}

/* Header */
header {
    background: url('media/header.jpg') no-repeat center center/cover;
    color: #fff;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex-direction: column;
    position: relative;
}

header h1 {
    font-size: 3.2em;
    margin-bottom: 30px;
    margin-top: 30px;
    font-weight: bold;
}

header p {
    font-size: 1.5em;
    margin-bottom: 80px;
}

.cta-btn {
    background-color: #b92020;
    color: #fff;
    padding: 15px 30px;
    border-radius: 30px;
    text-decoration: none;
    font-size: 1.2em;
    transition: background 0.3s ease;
}

.cta-btn:hover {
    background-color: #2376bc;
}

/* Section Styles */
section {
    padding: 100px 0;
    min-height: 100vh;
    text-align: center;
    background-color: #f9f9f9;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 16px;
}

section p {
    font-size: 18px;
}

section h2 {
    color: #2376bc;
    margin-top: 1rem;
    margin-bottom: 2rem;
    font-size: 3rem;
    font-weight: bold;
}

.sub {
    font-size: 1.2rem;
}

.icon-box {
    background: #fff;
    padding: 40px;
    border-radius: 10px;
    text-align: center;
    margin-bottom: 40px;
    margin-top: 20px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
    height: 85%;
}

.icon-box i {
    font-size: 2.5em;
    color: #2376bc;
    margin-bottom: 15px;
}

.icon-box h4 {
    font-size: 1.4em;
    margin-top: 10px;
}

.icon-box:hover {
    transform: translateY(-5px);
}

.sub-box {
    margin-top: 2rem;
    margin-left: 1rem;
    list-style-type: circle;
}

/* Underline Animation */
.underline-on-scroll {
    display: inline-block;
    position: relative;
}

.underline-on-scroll::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -5px;
    width: 0;
    height: 2px;
    background: #b92020;
    transition: width 0.5s;
}

.underline-on-scroll.active::after {
    width: 100%;
}

#problemas h2 {
    margin-top: 5rem;
}

/* Sección de Soluciones */
.solutions-section {
    background-color: #39a9db; /* Fondo azul celeste */
    padding: 80px 0; /* Espaciado superior e inferior */
    width: 100%; /* Ajuste de ancho al 100% */
    margin: 0 auto; /* Centramos la sección */
    text-align: center;
    position: relative; /* Para control adicional de diseño */
    height: 90vh;
}

.solutions-content {
    max-width: 1200px; /* Ancho máximo para centrar el contenido */
    margin: 0 auto; /* Centra el contenido dentro del contenedor */
    height: 120vh;
}

.solutions-section h2 {
    color: #ffffff; /* Texto en blanco para resaltar sobre el fondo */
    margin-bottom: 20px;
    font-size: 3rem;
    font-weight: bold;
    margin-bottom: 3rem;
}

.toggle-container {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.toggle-button {
    background-color: #fff;
    border: none;
    color: #2376bc;
    padding: 15px;
    text-align: left;
    cursor: pointer;
    font-size: 1.2em;
    font-weight: bold;
    border-radius: 10px;
    transition: background 0.3s ease;
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.toggle-button:hover {
    background-color: #e9f0ff;
}

.toggle-content {
    max-height: 0;
    overflow: hidden;
    padding: 0;
    border-left: 3px solid #b92020;
    background-color: #f9f9f9;
    border-radius: 0 10px 10px 10px;
    transition: max-height 0.5s ease, padding 0.3s ease;
    margin-bottom: 10px;
}

.toggle-content.open {
    max-height: 150px; /* Ajusta este valor según el contenido */
    padding: 10px 15px;
}

.img-fluid {
    width: 100%;
    height: auto;
    object-fit: cover;
    transition: opacity 0.5s ease-in-out;
}



/* Estilos para la Sección de Marketing Digital */
.marketing-digital-section {
    background-color: #f9f9f9;
    padding: 80px 0;
    text-align: center;
}

.marketing-digital-section .section-title {
    color: #2376bc;
    font-size: 3rem;
    font-weight: bold;
    margin-bottom: 20px;
}

.marketing-digital-section .section-subtitle {
    font-size: 1.2rem;
    color: #555;
    margin-bottom: 40px;
    line-height: 1.6;
}

.statistics {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 60px;
}

.stat-card {
    background: #ffffff;
    padding: 40px 20px;
    border-radius: 10px;
    text-align: center;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
    flex: 1;
    min-width: 250px;
    max-width: 300px;
}

.stat-card:hover {
    transform: translateY(-10px);
}

.stat-card h4 {
    font-size: 3rem;
    color: #2376bc;
    font-weight: 800;
    margin-bottom: 15px;
}

.stat-card p {
    font-size: 1.1rem;
    color: #555;
}

#source {
    font-size: 0.9rem;
    color: #888;
    margin-top: 10px;
    font-style: italic;
}


/* Animaciones */
.fade-in {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fade-in.show {
    opacity: 1;
    transform: translateY(0);
}

/* Estilos para el CTA del eBook */
.ebook-cta {
    margin-top: 40px;
    background-color: #2376bc;
    padding: 40px;
    border-radius: 10px;
    color: #fff;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.ebook-cta img {
    width: 40%;
    align-self: center;
}

.ebook-cta h3 {
    font-size: 2.5rem;
    margin-bottom: 20px;
}

.ebook-cta p {
    font-size: 1.2rem;
    margin-bottom: 30px;
}

.ebook-btn {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-color: #f8f8f8;
    width: 30%;
    color: #2d2d2d;
    padding: 15px 30px;
    font-size: 1.2rem;
    border-radius: 30px;
    text-decoration: none;
    transition: background 0.3s ease;
}

/* General styles for Mailchimp signup form */
#mc_embed_shell {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 0 auto;
}

/* Container styles for the signup form */
#mc_embed_signup {
    background: #fff;
    color: #000;
    clear: left;
    font: 14px Helvetica, Arial, sans-serif;
    width: 90%; /* Ensure form takes up 90% of screen width for responsiveness */
    max-width: 600px; /* Limit maximum width for larger screens */
    padding: 1.5rem 1rem;
    border-radius: 20px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    margin: 0 auto;
}

/* Scroll container inside the signup form */
#mc_embed_signup_scroll {
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-family: "Poppins", sans-serif;
    text-align: left;
}

/* Title of the form */
#mc_embed_signup_scroll h2 {
    font-family: "Poppins", sans-serif;
    text-align: center;
    font-size: 2rem;
    color: #2376bc;
    margin-bottom: 1.5rem;
}

/* Styling for form buttons */
#mc_embed_signup .button {
    font-family: "Poppins", sans-serif;
    align-self: center;
    height: auto;
    background-color: #2376bc;
    color: #fff;
    padding: 15px 30px;
    font-size: 1.2rem;
    border-radius: 30px;
    text-decoration: none;
    transition: background 0.3s ease;
    border: none;
    cursor: pointer;
}

/* Hover effect for the submit button */
#mc_embed_signup .button:hover {
    background-color: #b92020;
}

/* Clear button container with flex for alignment */
.clear {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-top: 1rem;
}

/* Adjusting input fields */
#mc_embed_signup .mc-field-group input {
    width: 100%;
    padding: 10px;
    font-size: 1rem;
    border: 1px solid #ddd;
    border-radius: 5px;
    margin-bottom: 15px;
    box-sizing: border-box;
}

/* Error and success message styling */
#mc_embed_signup .response {
    display: none;
}





/* Sección "Quiénes Somos" */
.about-us-section {
    background-color: #f9f9f9; /* Fondo claro */
    padding: 80px 0; /* Espaciado arriba y abajo */
}

.about-us-section a {
    color: #252525;
    text-decoration: none;
    font-weight: 800;
}

.about-us-section .about-us-content {
    text-align: left; /* Alineación a la izquierda para el texto */
    font-size: 1.2rem;
    color: #555; /* Color del texto */
    padding-right: 30px; /* Espacio entre texto e imagen */
}

.about-us-section h2 {
    color: #2376bc; /* Color del título */
    font-size: 3rem; /* Tamaño del título */
    font-weight: bold; /* Negrita */
    margin-bottom: 20px; /* Espacio debajo del título */
}

.about-us-section p {
    font-size: 1.2rem; /* Tamaño del texto del párrafo */
    color: #555; /* Color del texto */
    line-height: 1.6; /* Espacio entre líneas */
}

.about-us-image {
    width: 100%; /* Imagen ocupa todo el ancho */
    height: auto; /* Mantiene la proporción de la imagen */
    border-radius: 10px; /* Borde redondeado */
}


/* Estilos para los puntos destacados */
.highlight-card {
    background: #ffffff; /* Fondo blanco */
    padding: 30px; /* Espaciado interno */
    border-radius: 10px; /* Borde redondeado */
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1); /* Sombra suave */
    text-align: left; /* Texto alineado a la izquierda */
    margin-bottom: 30px; /* Espaciado entre tarjetas */
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* Transición para hover */
    height: 100%; /* Altura adaptable */
}

.highlight-card h4 {
    font-size: 1.6rem; /* Tamaño del subtítulo */
    font-weight: 800;
    color: #2376bc; /* Color del subtítulo */
    margin-bottom: 15px; /* Espacio debajo del subtítulo */
}

.highlight-card p {
    font-size: 1rem; /* Tamaño del texto */
    color: #777; /* Color del texto */
}

.highlight-card:hover {
    transform: translateY(-10px); /* Mueve hacia arriba en hover */
    box-shadow: 0 0 25px rgba(0, 0, 0, 0.2); /* Sombra más intensa en hover */
}

/* Animación para la entrada de los elementos */
.fade-in {
    opacity: 0; /* Oculto por defecto */
    transform: translateY(20px); /* Comienza desplazado hacia abajo */
    transition: opacity 0.6s ease-out, transform 0.6s ease-out; /* Suave transición */
}

.fade-in.show {
    opacity: 1; /* Visible */
    transform: translateY(0); /* Volver a su posición original */
}

#roi {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-content: center;
    text-align: center;
}

#quienes-somos {
    padding-bottom: 0px;
}

#us-button {
    color: white;
    background-color: #b92020;
    font-size: 1.5em; /* Tamaño de los iconos */
    margin: 0 10px; /* Espaciado entre los iconos */
    padding: 1rem 2rem;
    border-radius: 50px;
    border: none;
    transition: color 0.3s ease; /* Transición suave para el hover */
}



/* Nueva Sección: Experiencia y Casos de Éxito */
.experience-section {
    padding: 80px 0; /* Espaciado arriba y abajo */
    background-color: #f9f9f9; /* Fondo claro */
}

.section-title {
    color: #2376bc; /* Color del título */
    font-size: 3rem; /* Tamaño del título */
    font-weight: bold; /* Negrita */
    margin-bottom: 20px; /* Espacio debajo del título */
    text-align: center; /* Centrado */
}

#casos-exito .section-subtitle {
    font-size: 1.2rem; /* Tamaño del texto */
    color: #555; /* Color del texto */
    line-height: 1.6; /* Espacio entre líneas */
    text-align: center; /* Centrado */
    margin-bottom: 40px; /* Espacio inferior */
}

.experience-item {
    height: 70vh;
    margin-bottom: 60px; /* Espacio entre cada item */
    align-items: center; /* Alineación vertical */
}

.experience-image {
    text-align: center; /* Centrado */
    margin-bottom: 20px; /* Espacio inferior en responsive */
}

.experience-image img {
    max-width: 90%; /* Imagen ocupa todo el ancho */
    height: auto; /* Mantiene la proporción de la imagen */
    border-radius: 10px; /* Borde redondeado */
}

.experience-content h4 {
    color: #2376bc; /* Color del subtítulo */
    font-size: 1.8rem; /* Tamaño del subtítulo */
    font-weight: bold; /* Negrita */
    margin-bottom: 15px; /* Espacio debajo del subtítulo */
}

.experience-content p {
    font-size: 1rem; /* Tamaño del texto */
    color: #777; /* Color del texto */
    line-height: 1.6; /* Espacio entre líneas */
}


#casos-exito-mobile {
    display: none;
}


#testimonios h2 {
    margin-bottom: 5rem;
}

.testimonials-section {
    padding: 10px 20px;
    padding-bottom: 200px;
    background-color: #f9f9f9;
    margin-top: 0px;
    min-height: 60vh;
}



.testimonial-item {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 250px; /* Altura mínima para cada testimonio */
    text-align: center;
}

.testimonial-content {
    max-width: 700px; /* Ancho máximo para el contenido del testimonio */
    padding: 20px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    height: 250px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.testimonial-text {
    font-size: 1.2rem;
    color: #555;
    margin-bottom: 15px;
}

.testimonial-author {
    font-size: 1rem;
    font-weight: bold;
    color: #2376bc;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    background-color: #2376bc; /* Color personalizado para los controles del carrusel */
    border-radius: 10%;
    width: 40px;
    height: 40px;
}

/* Estilos para los indicadores del carrusel */
.carousel-indicators-custom {
    display: flex;
    justify-content: center; /* Centra los indicadores */
    margin-top: 20px; /* Espacio entre la tarjeta del testimonio y los indicadores */
}

.carousel-indicators-custom button {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background-color: #2376bc; /* Color de los indicadores */
    border: none;
    margin: 0 5px; /* Espacio entre los indicadores */
    transition: background-color 0.3s ease;
    cursor: pointer; /* Cambia el cursor al pasar por encima */
}

/* Selector Correcto para el Indicador Activo */
.carousel-indicators-custom button.active {
    background-color: #b92020; /* Color del indicador activo */
}




.offer-cta {
    color: #333; /* Subtítulos en blanco */
    font-size: 1.5em;
    margin-bottom: 10px;
}

/* Botones de tabla */
#planes a {
    background-color: #2376bc;
    color: #ffffff;
    border: none;
    padding: 15px 30px;
    border-radius: 30px;
    font-size: 1.5em;
    transition: background 0.3s ease;
    margin-top: 2rem;
    margin-bottom: 5rem;
}





/* Sección de Proceso */
.process-section {
    background-color: #39a9db; /* Fondo azul */
    padding-bottom: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
    text-align: center;
    height: auto; /* Permitir altura automática */
    position: relative; /* Necesario para el control de la posición de los elementos */
}

.process-section h2 {
    color: #ffffff;
    margin-bottom: 10px;
    font-size: 3rem;
    font-weight: bold;
}

.process-section h4 {
    font-size: 2rem;
    font-weight: 800;
    color: #2376bc;
}

.process-section p {
    color: #ffffff;
    margin-bottom: 40px;
    font-size: 1.5em;
}

/* Timeline Container */
.timeline {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    width: 100%; /* Ocupa todo el ancho disponible */
    height: 100%; /* Ajuste de altura para ocupar todo el contenedor */
    padding: 20px 0;
}

/* Línea entre las cards */
.timeline::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: -20px; /* Ajusta la posición final más allá del contenedor */
    width: 4px;
    background: #ffffff;
    left: 50%;
    transform: translateX(-50%);
    z-index: 0;
}

/* Timeline Item */
.timeline-item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 70%; /* Ajusta para ocupar el 60% del ancho */
    padding: 20px 0;
    z-index: 1;
}

/* Timeline Content */
.timeline-content {
    background-color: #ffffff;
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    text-align: center;
    z-index: 1;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.timeline-content p {
    color: #333;
    font-size: 1.1rem;
}

/* Timeline Icon */
.timeline-icon {
    font-size: 2.5em;
    color: #2376bc;
    margin-bottom: 10px;
}

/* Animaciones para las cards de proceso */
.timeline-item {
    opacity: 0;
    transform: translateX(-100px); /* Mueve inicialmente la card fuera de la vista */
    transition: transform 0.6s ease-out, opacity 0.6s ease-out;
}

.timeline-item.animate-right {
    transform: translateX(100px); /* Para las cards que deben aparecer desde la derecha */
}

.timeline-item.show {
    opacity: 1;
    transform: translateX(0); /* Vuelve la card a su posición original */
}

/* Sección de Planes */
#planes {
    padding: 80px 0;
    text-align: center;
}

#planes h2 {
    margin-bottom: 20px;
    font-size: 2.5em;
    color: #2376bc;
    font-weight: bold;
}

#planes h4 {
    font-weight: bold;
}

#planes .icon-box p {
    font-size: 0.8rem;
    margin-bottom: 2rem;
}



.icon-box {
    background: #fff;
    padding: 20px;
    border-radius: 10px;
    text-align: left;
    margin-bottom: 40px;
    margin-top: 20px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* Añadido para efecto suave de box-shadow */
}

.icon-box i {
    font-size: 2rem;
    color: #2376bc;
    margin-bottom: 15px;
}

.icon-box h4 {
    font-size: 1.4em;
    margin-top: 10px;
    color: #2376bc;
}

.icon-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.3); /* Sombra más intensa al hacer hover */
}

/* Estilos de las listas dentro de las cards */
.icon-box ul {
    list-style-type: circle; /* Elimina las viñetas */
    padding: 0; /* Elimina el relleno predeterminado */
    text-align: left;
}

.icon-box ul li {
    margin-bottom: 10px; /* Espaciado entre elementos de la lista */
    text-align: left; /* Alineación izquierda para legibilidad */
    font-size: 1rem;
}

/* Estilos para las cards */
.icon-box {
    background: #fff;
    padding: 2rem 28px;
    border-radius: 10px;
    text-align: center;
    margin-bottom: 40px;
    margin-top: 20px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    transition: transform 0.6s ease, box-shadow 0.6s ease, opacity 0.6s ease; /* Transición añadida para la opacidad */
    opacity: 0; /* Ocultas por defecto */
    transform: translateY(30px); /* Desplazamiento hacia abajo por defecto */
    visibility: hidden; /* Ocultas por defecto */
}

/* Estilo de hover */
.icon-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 0 30px rgba(4, 105, 199, 0.549);
}

/* Animación de entrada */
.icon-box.visible {
    opacity: 1; /* Aparecen */
    transform: translateY(0); /* Volver a su posición original */
    visibility: visible; /* Se muestran */
}

.sub-box {
    list-style: square;
    margin-left: 1.8rem;
}

/* Estilos para el Banner Rotativo */
.banner-rotativo {
    width: 100%;
    height: 12vh; /* Altura máxima de 20vh */
    overflow: hidden; /* Oculta contenido que se desborde */
    background-color: #23bc7f; /* Fondo azul */
    display: flex;
    align-items: center; /* Centrado vertical */
    justify-content: center; /* Centrado horizontal */
    position: relative; /* Para la animación */
}

.banner-content {
    display: flex; /* Para alinear horizontalmente */
    animation: moveBanner 10s linear infinite; /* Animación de movimiento */
}

.banner-content span {
    color: #ffffff; /* Texto blanco */
    font-size: 4rem; /* Tamaño de fuente grande */
    font-weight: bold;
    margin: 0 2rem; /* Espaciado entre palabras */
    white-space: nowrap; /* Evita que las palabras se rompan en varias líneas */
}

@keyframes moveBanner {
    0% {
        transform: translateX(100%); /* Comienza fuera de la pantalla */
    }
    100% {
        transform: translateX(-100%); /* Termina fuera de la pantalla en el otro lado */
    }
}

/* Estilo para la sección de oferta */
#oferta-mobile {display: none;}


/* Estilos para la sección Oferta de Lanzamiento */
.full-width-background {
    background-color: #2376bc; /* Color de fondo */
    padding: 80px 0;
    color: #fff;
    text-align: center;
}

.section-title {
    font-size: 3rem;
    margin-bottom: 1rem;
    font-weight: bold;
}

#oferta-lanzamiento h2 {
    color: #fff;
}

.offer-description {
    font-size: 1.5rem;
    margin-bottom: 1rem;
    color: #fff;
}

.section-subtitle {
    font-size: 1.3rem;
    margin-bottom: 30px;
    color: #555;
}

.highlight {
    color: #ff4d4d;
    font-weight: bold;
}

.table-responsive {
    margin: 0 auto;
    width: 90%;
}

.table {
    background-color: #ffffff;
    color: #333;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 30px;
}

.table th {
    background-color: #f5f5f5;
    color: #333;
    padding: 20px;
    font-size: 1.2rem;
    border: none;
}

.table td {
    padding: 15px;
    font-size: 1.2rem;
    border: none;
}

.free-label {
    font-size: 1.3rem;
    color: #28a745;
    font-weight: bold;
}

.cta-button-wrapper {
    margin-top: 30px;
}

.btn-outline-primary {
    padding: 15px 40px;
    font-size: 1.2rem;
    color: #ffffff;
    background-color: transparent;
    border: 2px solid #ffffff;
    border-radius: 30px;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.btn-outline-primary:hover {
    background-color: #ffffff;
    color: #2376bc;
}

/* Animación para el underline de la oferta */
.underline-on-scroll::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -5px;
    width: 0;
    height: 2px;
    background: #ff4d4d;
    transition: width 0.5s ease;
}

.underline-on-scroll.active::after {
    width: 100%;
}



/* Estilo para la sección de contacto con overlay */

#contact {
    display: flex;

}

#contact-mobile {
    display: none;

}

.contacto-section {
    background: url('media/oferta.jpg') no-repeat center center/cover; /* Imagen de fondo */
    width: 100%; /* Ajuste de ancho al 100% */
    margin: 0 auto; /* Centramos la sección */
    padding: 80px 0; /* Espaciado */
    text-align: center;
    color: #ffffff; /* Texto blanco */
    position: relative; /* Para overlay */
}

.contacto-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(2, 7, 68, 0.182); /* Overlay oscuro */
    z-index: 1; /* Colocar detrás del contenido */
}

.contact-content {
    max-width: 800px; /* Ancho máximo para centrar el contenido */
    margin: 0 auto; /* Centra el contenido dentro del contenedor */
    position: relative; /* Para asegurar que el contenido esté sobre el overlay */
    z-index: 2; /* Colocar el contenido sobre el overlay */
}

/* Botones de contacto */
.contact-button {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    margin: 0 20px; /* Espacio entre botones */
    margin-bottom: 3rem;
}

.contact-button i {
    color: #ffffff; /* Icono en blanco */
    margin-bottom: 10px;
}

.contact-button .btn {
    background-color: #2376bc;
    color: #ffffff;
    border: none;
    padding: 15px 30px;
    margin-top: 10px;
    border-radius: 30px;
    font-size: 1.2em;
    transition: background 0.3s ease;
}

.contact-button .btn:hover {
    background-color: #b92020;
}

/* Estilo para animación de entrada */
.fade-in {
    opacity: 0; /* Oculto por defecto */
    transform: translateY(20px); /* Comienza desplazado hacia abajo */
    transition: opacity 0.6s ease-out, transform 0.6s ease-out; /* Suave transición */
}

.fade-in.show {
    opacity: 1; /* Visible */
    transform: translateY(0); /* Volver a su posición original */
}

/* Footer */
footer {
    background: #333;
    color: #fff;
    text-align: center;
    padding: 40px 0;
    margin-top: 0; /* Ajuste para eliminar el espacio blanco */
    position: relative; /* Para posicionar los elementos correctamente */
}

.social-media {
    margin-top: 20px; /* Espacio superior para separar del resto del contenido */
}

.social-media a {
    color: #fff; /* Color de los iconos */
    font-size: 1.5em; /* Tamaño de los iconos */
    margin: 0 10px; /* Espaciado entre los iconos */
    transition: color 0.3s ease; /* Transición suave para el hover */
    text-decoration: none; /* Eliminar subrayado o guiones */
}

.social-media a::after {
    content: ''; /* Eliminar cualquier pseudo-elemento que pueda estar creando el guion */
}

.social-media a:hover {
    color: #39a9db; /* Color al pasar el cursor por encima */
}

footer a {
    color: #fff;
}

/* Contact Form Styles */
.contact-section form {
    max-width: 60%;
    margin: 0 auto;
}

/* Adjustments for the header background */
header::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 123, 255, 0.4);
    z-index: 1;
}

header .container {
    position: relative;
    z-index: 2;
}


/* Imágenes - Ajustes responsivos */
img, .img-fluid {
    max-width: 100%; /* Asegura que la imagen no se desborde del contenedor */
    height: auto; /* Mantiene la proporción de la imagen */
    display: block; /* Elimina espacios blancos debajo de las imágenes */
    object-fit: cover; /* Ajusta las imágenes de fondo si es necesario */
}

/* Tablas - Ajustes responsivos */
table {
    width: 100%; /* Asegura que la tabla ocupe el ancho completo del contenedor */
    max-width: 100%; /* Previene desbordamiento en pantallas pequeñas */
    table-layout: auto; /* Permite que las tablas ajusten el ancho de las celdas automáticamente */
    border-collapse: collapse; /* Evita el doble borde en las tablas */
}

/* Ajustes para celdas de tablas */
table th, table td {
    padding: 10px; /* Espaciado dentro de las celdas */
    word-wrap: break-word; /* Permite el salto de línea en el texto largo dentro de las celdas */
}





/* Media Queries para Móviles */
@media (max-width: 768px) {
    /* Ajustes generales para móviles */


    .navbar-nav .nav-link {
        font-size: 0.8em; /* Reduce el tamaño de la fuente del navbar */
        margin-right: 8px; /* Reduce el margen entre enlaces */
    }

    h1  {
        font-size: 2rem;
    }

    h1 {
        font-size: 1.6em; /* Reduce el tamaño del texto del header */
        margin-top: 20px; /* Ajusta el margen superior */
    }

    h2 {
        font-size: 2rem;
    }

    header p {
        font-size: 1em; /* Reduce el tamaño del párrafo */
    }

    .cta-btn {
        font-size: 0.9em; /* Ajusta el tamaño del botón de CTA */
        padding: 10px 20px; /* Ajusta el padding del botón de CTA */
        
    }

#soluciones {
    height: auto;
} 

    .solutions-content .container {
        height: auto;
    }

    .solutions-content {
        height: auto;
    }

    .icon-box, .highlight-card, .timeline-item, .toggle-button, .testimonial-content, #roi {
        padding: 15px; /* Reduce el padding */
        margin-bottom: 15px; /* Reduce el margen inferior */
        width: 100%; /* Ancho completo */
    }
    .toggle-button {
        margin-top: 20px;
        margin-bottom: 0%;
    }

    #quienes-somos {
        height: 1000%;
    }

        #planes {
    padding-left: 1rem;
    padding-right: 1rem;
}



.highlight-card {
    margin-bottom: 2rem;
}

.icon-box {
    width: 85%;
    margin-left: 0px;
    margin-right: 0px;
    margin-bottom: 2rem;
}


#casos-exito-mobile {
    display: flex;

}


#casos-exito-mobile {
    display: flex;
    
}

.experience-item{
    height: auto;
    margin-top: 2rem;
    margin-bottom: 2rem;
}

#casos-exito{
    display: none;
}


/* Estilos para el CTA del eBook */
.ebook-cta {
    margin-top: 40px;
    background-color: #2376bc;
    width: 100%;
    padding: 20px;
    border-radius: 10px;
    color: #fff;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.ebook-cta img {
    width: 80%;
    align-self: center;
}

.ebook-cta h3 {
    font-size: 2.5rem;
    margin-bottom: 20px;
}

.ebook-cta p {
    font-size: 1.2rem;
    margin-bottom: 30px;
}

.ebook-btn {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-color: #f8f8f8;
    width: 30%;
    color: #2d2d2d;
    padding: 15px 30px;
    font-size: 1.2rem;
    border-radius: 30px;
    text-decoration: none;
    transition: background 0.3s ease;
}

#mc_embed_signup .foot {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.ebook-btn:hover {
    background-color: #ff4d4d;
    
}

#mc_embed_signup {
    width: 100%; /* Increase form width for smaller screens */
    padding: 1rem;
}

#mc_embed_signup_scroll h2 {
    font-size: 1.8rem; /* Adjust title font size */
}

#mc_embed_signup .button {
    font-size: 1rem; /* Adjust button font size */
}

#mc_embed_signup .mc-field-group input {
    font-size: 1rem; /* Adjust input field font size */
}






#planes .icon-box {
    width: 85%;
    margin-left: 0px;
    margin-right: 0px;
    height: auto;
    margin-bottom: 2rem;
}


.col-md-3 {
    margin: 0%;
    padding: 0px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#planes  p {
    margin-left: 15px;
    margin-right: 15px;
}

.icon-box ul li {
    width: 90%;
    margin-left: 1rem;
    margin-right: 1rem;
}
    

    .highlight-card{
        padding: 30px;
        margin-bottom: 2rem;
    }

   
    /* Ajustes para las secciones */
    .solutions-section, .about-us-section, .process-section, #planes, #contact {
        padding: 60px 0; /* Reduce el padding de las secciones */
    }

    .banner-rotativo {
        height: 8vh; /* Reduce la altura del banner rotativo */
    }

    .banner-content span {
        font-size: 2rem; /* Ajusta el tamaño de la fuente en el banner */
    }

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

    h2 {
        font-size: 2rem;
    }

    .container {
        padding: 0 10px; /* Reduce el padding en pantallas más pequeñas */
    }

    .container-mobile {
        padding: 0 10px; /* Reduce aún más el padding para móviles */
    }

    img, .img-fluid {
        max-width: 100%; /* Asegura que las imágenes no se desborden en pantallas pequeñas */
        height: auto;
    }

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


    .carousel-indicators-custom button {
        width: 15px;
        height: 15px;
        border-radius: 50%;
    }

}

/* Media Queries para Teléfonos Muy Pequeños */
@media (max-width: 576px) {
    .navbar-brand img {
        max-height: 40px; /* Reduce aún más el tamaño del logo */
    }


    header h1 {
        font-size: 2.5em; /* Reduce aún más el tamaño del texto del header */
    }

    header p {
        font-size: 1.2em; /* Reduce el tamaño del párrafo */
        margin-bottom: 50px; /* Reduce el margen inferior */
    }

    h2 {
        font-size: 1rem;
    }

    #contact {
        display: none;
    
    }

    #contact-mobile {
        display: flex;
    
    }

    .cta-btn {
        font-size: 1em; /* Ajusta el tamaño del botón de CTA */
        padding: 8px 15px; /* Ajusta el padding del botón de CTA */
    }

    .solutions-section .toggle-container, .about-us-section .about-us-content, .about-us-image, .highlight-card {
        padding: 0; /* Elimina el padding extra */
        margin: 0; /* Elimina los márgenes */
        margin-top: 1rem;
        margin-bottom: 1rem;
        text-align: center; /* Centra el texto */
        height: auto;
    }


    .solutions-section, .about-us-section, .process-section, #planes, #contact {
        margin: 0px;
    }

    .icon-box, .highlight-card {
        width: 100%;
        margin: 0%;

    }

    .highlight-card {
        margin-bottom: 2rem;
    }

    #problemas .icon-box{
        padding-bottom: 3rem;
        margin-left: 2em;
        margin-right: 2rem;
    }

    #soluciones .solutions-section {
        height: 2000px;
    }

    #casos-exito .container {
        height: max-content;
        display: flex;
        flex-direction: column;
        justify-content: space-around;
        align-items: center;


    }

    .carousel-control-prev, .carousel-control-next {
        display: none;
    }




#planes {
    padding-left: 1rem;
    padding-right: 1rem;
}

#planes .icon-box {
    width: 85%;
    margin-left: 0px;
    margin-right: 0px;
    height: auto;
    margin-bottom: 2rem;
}


.col-md-3 {
    margin: 0%;
    padding: 0px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#planes  p {
    margin-left: 15px;
    margin-right: 15px;
}

.icon-box ul li {
    width: 90%;
    margin-left: 1rem;
    margin-right: 1rem;
}

    .timeline-content, #roi {
        padding: 10px; /* Reduce el padding */
    }

    .testimonial-content {
        padding: 20px; /* Ajusta el padding */
    }

    #us-button {
        font-size: 1em; /* Ajusta el tamaño del botón */
        padding: 10px 20px; /* Ajusta el padding del botón */
    }

    .highlight-card{
        padding: 30px;
    }

    .social-media a {
        font-size: 1.2em; /* Ajusta el tamaño de los iconos sociales */
        margin: 0 5px; /* Ajusta el margen entre iconos */
    }

    #problemas h2, #soluciones h2, #proceso h2, #planes h2, #quienes-somos h2, #casos-exito-mobile h2, #testimonios h2, #oferta h2, #contact h2 {
        font-size: 2.5rem;
    }

    #problemas h4 {
        font-size: 1.5rem;
    }

    /* Estilos para Oferta Mobile */
#oferta {
    display: none;
}

#oferta-mobile {display: flex;}

#oferta-mobile h2 {
    color: #ffffff;
}

/* Estilos para Oferta Mobile */
.background-mobile {
    background-color: #2376bc; /* Color de fondo */
    width: 100%;
    padding: 40px 0; /* Espaciado */
    text-align: center;
}

.container-mobile {
    max-width: 600px; /* Ancho máximo */
    margin: 0 auto; /* Centrado del contenedor */
    padding: 15px; /* Espaciado interno */
    background-color: #2376bc; /* Fondo blanco para contraste */
    border-radius: 10px; /* Bordes redondeados */
    
}

.description-mobile {
    color: #ffffff; /* Texto blanco */
    font-size: 1.2em;
    margin-bottom: 20px; /* Espacio inferior */
}

.table-container-mobile {
    background-color: #ffffff; /* Fondo blanco */
    padding: 20px;
    margin-top: 20px; /* Espacio superior */
    border-radius: 10px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
}

.mobile-plan-header {
    color: #2376bc;
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 10px;
}

.table-mobile {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.table-mobile th, .table-mobile td {
    padding: 15px;
    border: 1px solid #ddd;
    text-align: left;
    font-size: 1rem;
}

.table-mobile th {
    background-color: #f5f5f5;
    color: #333;
}

.table-mobile td i {
    margin-right: 5px; /* Espacio entre el ícono y el texto */
    color: #28a745; /* Color verde para el icono */
}

.mobile-btn {
    display: block; /* Botón de bloque */
    margin: 20px auto; /* Centrado y espaciado */
    padding: 12px 20px;
    background-color: #b92020; /* Color del botón */
    color: #ffffff;
    border-radius: 25px;
    text-decoration: none;
    font-size: 1.2em;
    transition: background 0.3s ease;
}

.mobile-btn:hover {
    background-color: #2376bc; /* Color al hacer hover */
    color: #ffffff;
}


}
