*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: 'Quicksand', sans-serif;
    list-style: none;
    text-decoration: none;
    scroll-behavior: smooth;
   
}

:root{
    --bg-color: #fff;
    /*--bg-color: #020312;*/
    /*--bg-color:#07468C;*/
    --bg-color-1: #2B2B2B;
    --text-color: #fff;
    --text-color-1: #12141c;
    /*--main-color: #eb4a4a;*/
    /*--main-color:#008080;*/
    --main-color:#284359;
    --second-color:gray;
    --other-color: #12141c;
    --other-color-1: #32fcff;
    --h1-font: 4rem;
    --h2-font: 3.5rem;
    --h3-font: 3.5rem;
    --p-font:1.1rem;
}
body{
    background: var(--bg-color);
    color: var(--text-color);

    left: 0;
    margin: 0;
    padding: 0;
    font-size: 16px;
    
}

header{
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgb(255, 255, 255);
    padding: 5px 16px;
    border-bottom: 1px solid transparent;
    transition: all .40 ease;

    
    }

.logo img{
    width: auto;
    height: auto;
}

.logo-animation {
    margin-left: 50px;  /* Ajusta esta medida según sea necesario */
}

#navbar, #navbar ul{
    margin: 0;
    padding: 0;
    list-style: none;
}
#navbar{
    width: auto;
    margin: auto auto;
    background-color: rgb(255, 255, 255);
    border-radius: 6px;
}
#navbar::before,
#navbar::after{
    content: '';
    display: table;
}
#navbar::after{
    clear: both;
}
#navbar li{
    float: left;
    box-shadow: 1px 0 0 #444;
    position: relative;
}
#navbar a{
    float: left;
    padding: 12px 30px;
    font-weight: 600;
    text-decoration:none;
    color: var(--main-color);
}
#navbar li:hover > a{
    color:#c72424;
    font-weight:900;
}
#navbar ul{
    margin: 20px 0 0 0;
    opacity: 0;
    visibility: hidden;
    position: absolute;
    top: 46px;
    left: 0;
    z-index: 1;
    background: #ffffff;
    border-radius: 3px;
    transition: all .3s ease-in-out;
}
#navbar li:hover > ul{
    opacity: 1;
    visibility: visible;
    margin: 0;
}
#navbar ul ul{
    top: 0;
    left: 252px;
    margin: 0 0 0 20px;
}
#navbar ul li{
    float: none;
    display: block;
    border: 0;
    box-shadow: 0 1px 0 #111, 0 2px 0 #666;
}
#navbar ul li:last-child{
    box-shadow: none;
}
#navbar ul a{
    padding: 10px;
    width: 250px;
    display: block;
    white-space: nowrap;
    float: none;
    text-transform: uppercase;
}
#navbar ul a:hover{
    background-color: #c72424;
    color: #dddddd;
}
#navbar ul li:first-child > a{
    border-radius: 3px 3px 0 0;

}
#navbar ul li:first-child > a::before{
    content: '';
    position: absolute;
    left: 40px;
    top: -6px;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px #fff;
}
#navbar ul li:first-child > a::after{
    border-bottom: 6px solid transparent;
    border-top: 6px solid transparent;
    border-right: 6px solid #fff;
    left: -6px;
    top: 50%;
    margin-top: -6px;
    border-left: 0;
}
#navbar ul li:first-child > a:hover::after{
    border-bottom-color: #fff;
}
#navbar ul ul li:first-child > a:hover::after{
    border-right-color: #fff;
    border-bottom-color: transparent;
}
#navbar ul li:last-child > a{
    border-radius: 0 0 3px 3px;
}

#menu-icon{
    font-size: 36px;
    color: var(--text-color);
    z-index: 10001;
    cursor: pointer;
    display: none;
}
section{
    padding: 2px 16% 90px;
}



.inicio{
    height: 100vh;
    width: 100%;
    position: relative;
    /*background: url(../img/fondo1.jpg);*/
    /*background: url(../img/Fondos/Fondo2.jpg);*/
    /*background-color: var(--second-color);*/
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    overflow-x: hidden; /* Prevenir desbordamiento horizontal */
    
    }

.inicio2{
    height: 220vh;
    width: 100%;
    padding: 0px;
    position:relative;
    /*background: url(../img/fondo1.jpg);*/
    background: url(../img/Fondos/Fondo5.jpg);
    /*background-color: var(--second-color);*/
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    z-index: -1; /* Envía el fondo detrás de otros contenidos */
}

/* imagenes mov */
/* Estilos de la sección de inicio */
.inicio {
    position: relative;
    height: 100vh;
    width: 100%;
    overflow: hidden; /* Evita que las imágenes se desborden del contenedor */
    
}

.slideshow {
    list-style: none;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -3; /* Mantener detrás del contenido principal */
}

.slideshow li {
    position: absolute;
    width: 100%;
    height: 100%;
}

.slideshow li span {
    position: absolute;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0;
    animation: imageAnimation 30s linear infinite 0s;
}

.slideshow li:nth-child(1) span {
    background-image: url('../img/Fondos/Fondo2.jpg');
}

.slideshow li:nth-child(2) span {
    background-image: url('../img/Fondos/Fondo6.jpg');
    animation-delay: 6s;
}

.slideshow li:nth-child(3) span {
    background-image: url('../img/Fondos/Fondo5.jpg');
    animation-delay: 12s;
}

.slideshow li:nth-child(4) span {
    background-image: url('../img/Fondos/branddesign1.png');
    animation-delay: 18s;
}

.slideshow li:nth-child(5) span {
    background-image: url('../img/Fondos/consulting1.png');
    animation-delay: 24s;
}

@keyframes imageAnimation {
    0% { opacity: 0; animation-timing-function: ease-in; }
    8% { opacity: 1; animation-timing-function: ease-out; }
    17% { opacity: 1; }
    25% { opacity: 0; }
    100% { opacity: 0; }
}

/* texto inicio */
.inicio-text h1{
    margin: 20px 0;
    font-size: 3rem;
    font-weight: bold;
    line-height: 1.1;
    letter-spacing: 2px;
    text-shadow: #000000 4px 0 4px;
}
span{
    /*color: var(--main-color);*/
    /*color: var(--bg-color-1);*/
    color: var(--other-color-1);


}
.inicio-text h4{
    color: var(--main-color);
    font-size: 30px;
    font-weight: 600;
}
.inicio-text h3{
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 3rem;
    text-shadow: #000000 4px 0 4px;
}

.btn{
    display: inline-block;
    padding: 7px 35px;
    border-radius: 0.5rem;
    font-size: 17px;
    font-weight: bold;
    background: var(--main-color);
    color: var(--text-color);
    /*border: 5px solid var(--other-color-1);*/
    transition: all .40s ease;
}
.btn:hover{
    transform: scale(1.01) translateY(-5px);
    background: var(--other-color-1);
    font-weight: bold;
    color: var(--text-color);
    border: 5px solid var(--other-color-1);
}
header.sticky{
    padding: 10px auto;
    /*background: rgba(40, 67, 89, 0.5);*/
    background: rgb(255, 255, 255);
    box-shadow: 0 3px 0 #06335779;
    border-bottom: 1px solid #fafafa;
    transition:  .5s;
}

/*rectangulos movimiento*/
.about {
    display: flex; /* Cambiado de grid a flex para mejor control sobre el alineamiento */
    flex-direction: column; /* Los elementos hijos se apilan verticalmente */
    align-items: stretch; /* Estira los elementos hijos para que llenen el ancho del contenedor */
    width: 100%; /* Asegura que ocupe todo el ancho disponible */
    min-height: 70vh; /* Mínimo alto del viewport, ajusta según necesidad */
    gap: 2rem;
    padding: 20px 0; /* Añade algo de espacio arriba y abajo */
    
}

.about-t {
    width: 100%; /* Asegura que ocupe todo el ancho disponible */
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    flex-direction: column;
}
.about-t h4{
    align-self: center;
    width: 80%;
    margin-bottom: 10px;
    color: var(--main-color);
    font-size: 38px;
    font-weight: 900;
    text-align: justify;
    text-transform: uppercase;
}
.about-t p{
    margin-top: 10px;
    align-self:center;
    width: 85%;
    margin-bottom: 10px;
    color:#25242993;
    font-size: 20px;
    font-weight: 900;
    text-align: justify;
    text-transform: uppercase;
}

.about-text h2{
    font-size: 40px;
    color: var(--bg-color-1);
    text-align: justify;
}
.about-gri{
    display: grid;
    grid-template-columns: repeat(2, minmax(250px, auto));
    align-items: center;
    gap: 1rem;
}
.about-in h5{
    font-size: 22px;
    font-weight: 600;
    color: var(--bg-color-1);
}
.about-img img{
    height: auto;
    width: 100%;
    max-width: 600px;
}

.wrapper{
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    overflow: hidden; 
}

.container{
    height: 400px;
    display: flex;
    
    justify-content:center;
    width: 90%;
}

.card{
    
    
    flex-direction: column; /* Organiza el contenido de la tarjeta verticalmente */
    width: 80px;
    background-size: cover;
    cursor: pointer;
    overflow: hidden; /* Asegura que el contenido no se desborde */
    border-radius: 2rem;
    margin: 10px 10px; /* Espacio alrededor de cada tarjeta */
    align-items: center; /* Alinea contenido al inicio para ajustar el texto a la izquierda */
    transition: .6s cubic-bezier(.28,-0.03,0,.99);
    box-shadow: 0px 5px 20px -5px rgba(118, 246, 255, 0.8); /* Sombra para mejor estética */ 
    
}


.row {
    display: flex; /* Organizar ícono y texto en una fila */
    align-items: flex-start; /* Alinearlos en la parte superior */
    gap: 5px; /* Espacio entre el ícono y la descripción */
    }


/*aumentanto efecto clickeable*/
.row .pointer {
    position: absolute;
    top: 60px; /* Adjust to move the pointer higher */
    left: 50%;
    font-size: 30px; /* Adjust the size of the pointer */
    color: #000; /* Adjust the color of the pointer */
    animation: movePointer 2s infinite;
    transform: translateX(-50%);
    color: white;
}

@keyframes movePointer {
    0% {
        transform: translate(-50%, -10px);
    }
    50% {
        transform: translate(-50%, 10px);
    }
    100% {
        transform: translate(-50%, -10px);
    }
}
/*FIN*/


.icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%; /* Redondear el ícono para mantener la forma circular */
    z-index: 1; /* Asegura que el ícono esté sobre el texto si se superponen */
}

.vertical-text {
    writing-mode: vertical-lr; /* Hace que el texto sea vertical */
    transform: rotate(180deg); /* Rota el texto para que se lea de abajo hacia arriba */
    align-self:auto; /* Alinea el texto al inicio de la tarjeta */
    /*font-size: 30px;  Ajusta según necesites */
    font-size: 4vh;
    color: #ffffff; /* Color del texto, ajusta según necesites */
    font-weight: bold;
    white-space: nowrap; /* Asegura que el texto se mantenga en una sola línea */
    z-index: 0; /* Mantiene el texto detrás del ícono */
    top: 130%; /* Centrado vertical */
    left: 30%; /* Centrado horizontal */
    position: absolute; /* Posicionamiento absoluto para ubicarlo precisamente */
    
}

.descripcion {
    text-align: left; /* Opcional: Puedes alinear a la izquierda o al centro */
}

.descripcion h4, .descripcion p {
    margin: 0;
    padding: 5px;  /* Espaciado alrededor del texto para legibilidad */
    overflow-x: hidden;
}

.descripcion p {
    font-size: 14px;  /* Tamaño más pequeño para ajustarse en espacio reducido */
    overflow-x: hidden;
}


.card > .row{
    color: white;
    position: absolute;
}
.card > .row > .icon{
    opacity: 100;
    /*background: rgb(254, 254, 254);*/
    font-weight: 900;
    color: white;
    border-radius: 50%;
    width: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 15px;
}


.card > .row > .icon img {
    width: 100%;  /* Hacer que la imagen ocupe todo el contenedor .icon */
    height: 100%; /* Mantener la imagen dentro del contenedor */
    border-radius: 50%;  /* Asegurar que la imagen también tenga un borde circular */
    object-fit: cover;  /* Ajustar la imagen sin distorsión */
}

.card > .row > .descripcion{
    
    justify-content: center;
    Overflow: hidden;
    height: 80px;
    width: 500px;
    opacity: 0;
    transform: translateY(30px);
    transition-delay: .3s;
    transition: all .3s ease;
}
.descripcion p{
    font-size: 15px;
    color: white;
    padding-top: 0px;
    text-align: left;
    font-weight: 700;
    overflow-x: hidden;
}
.descripcion h4{
    text-transform: uppercase;
    color: white;
    font-size: 25px;
    font-weight: 700;
    text-align: center;
    padding-top: 5px;
    overflow-x: hidden;
}

/* Crear la animación de parpadeo 
@keyframes blink-background {
    0%, 50%, 100% {
        background-color: rgba(255, 255, 255, 0.71); 
    }
    35%, 75% {
        background-color: transparent; 
    }
}*/

/* Aplicar la animación al fondo del ícono */
.icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    animation: blink-background 0.8s step-start infinite; /* Parpadeo rápido del fondo */
}

.icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%; /* Mantener la forma circular de la imagen */ 
}
.icon img:hover { 
    transform:scale(1.5);
    filter: drop-shadow(0px 0px 5px yellow);
}



input{
    display:grid;
}
input:checked + label{
    width: 500px;
}
input:checked + label .descripcion{
    opacity: 1 !important;
    transform: translateY(0) !important;
}
.card[for="c1"]{
    background-image: url('../img/rectangulos/marketing.jpg');
}
.card[for="c2"]{
    background-image: url('../img/rectangulos/software.jpg');
}
.card[for="c3"]{
    background-image: url('../img/rectangulos/branding.jpg');
}
.card[for="c4"]{
    background-image: url('../img/rectangulos/consulting.jpg');
}


.main-text{
    text-align: center;
}
.main-text h2{
    font-size: var(--h3-font);
    color: #505050;
    margin-bottom: 10px;
}
.main-text h4{
    color:  var(--main-color);
    font-size: 24px;
    font-weight: 600;
}
/*
a:hover, a:focus {
    background-color: #ffffffa5; border-radius: 50%;
}
*/
/* BOX CONTEN */


.service{
    padding: 20px;
}
.service-container {
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
    flex-wrap: wrap;
    padding-left: 100px;
    padding-right: 100px;
    height: 100%; /* Establece la altura del html y body al 100% del viewport */
    width: 100%; /* Establece el ancho del html y body al 100% del viewport */
}

.s-box {
    flex-basis: 21%; /* Ajuste para 4 cajas por fila */
    margin: 10px;
    perspective: 300px;
    overflow: hidden; /* Evita que el contenido interno desborde */
    height: 350px; /* Altura fija para mantener la consistencia */
    position: relative;  /* Necesario para el posicionamiento absoluto de los descendientes */
    border-radius: 20%;
}

.s-box h6, .s-box p {
    color: #020202;  /* Cambia a un color que contraste con el fondo */
    z-index: 3;  /* Asegúrate de que el texto esté sobre la imagen */
    position:relative;  /* Coloca el texto correctamente dentro de la estructura */
}

 .back h6, .back p {
    position: absolute;  /* Posiciona el texto de forma absoluta dentro del contenedor */
    width: 100%;  /* Permite que el texto ocupe todo el ancho de la caja */
    bottom: 10px;  /* Ubica el texto en la parte inferior de cada caja */
    left: 0;
    color: rgb(0, 0, 0);  /* Color del texto para asegurar contraste */
    text-align: center;  /* Alinea el texto en el centro */
    background-color: rgba(0, 0, 0, 0.5);  /* Fondo semitransparente para mejorar la legibilidad */
    padding: 5px 0;  /* Añade padding vertical para separar el texto de los bordes */
    z-index: 3;  /* Asegura que el texto esté sobre la imagen */
}

.front h6 {
     /* Posiciona el texto de forma absoluta dentro del contenedor */
    width: 100%;  /* Permite que el texto ocupe todo el ancho de la caja */
    bottom: 10px;  /* Ubica el texto en la parte inferior de cada caja */
    left: 0;
    color: rgb(0, 0, 0);  /* Color del texto para asegurar contraste */
    text-align: center;  /* Alinea el texto en el centro */
    background-color: rgb(255, 255, 255);  /* Fondo semitransparente para mejorar la legibilidad */
    padding: 5px 0;  /* Añade padding vertical para separar el texto de los bordes */
    z-index: 3;  /* Asegura que el texto esté sobre la imagen */
}

.front P {
      /* Posiciona el texto de forma absoluta dentro del contenedor */
    width: 100%;  /* Permite que el texto ocupe todo el ancho de la caja */
    bottom: 10px;  /* Ubica el texto en la parte inferior de cada caja */
    left: 0;
    color: rgb(0, 0, 0);  /* Color del texto para asegurar contraste */
    text-align: center;  /* Alinea el texto en el centro */
    background-color: rgb(255, 255, 255);  /* Fondo semitransparente para mejorar la legibilidad */
    padding: 5px 0;  /* Añade padding vertical para separar el texto de los bordes */
    z-index: 3;  /* Asegura que el texto esté sobre la imagen */
}

/* BOX FLIP */

.flip-container {
    width: 100%;
    height: 100%;
   
}

.flipper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: transform 0.6s;
    transform-style: preserve-3d;
}

.front {
    position: absolute;
    width: 100%;
    height: auto;
    padding: 5px;
    backface-visibility: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    }

    .back {
        position: absolute;
        width: 100%;
        height: 100%;
        backface-visibility: hidden;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        }

.front {
    transform: rotateY(0deg);
}

.back {
    transform: rotateY(180deg);
}

.front img, .back img {
    display: block;
    width: 100%;  /* Asegura que la imagen cubra el ancho del contenedor */
    height: 100%;  /* Asegura que la imagen cubra la altura del contenedor */
    object-fit: cover;  /* Evita que la imagen se distorsione */
}

.flip-container:hover .flipper {
    transform: rotateY(180deg);
}


/* RESPONSIVE BOX */

@media (max-width: 768px) {
    .service-container {
        flex-direction: column;
    }

    .s-box {
        flex-basis: 100%;
    }
}

@media (max-width: 768px) {
    .s-box {
        flex-basis: 50%;  /* Ajusta dos cajas por fila en tablets */
        margin: 5px;  /* Reduce el margen para aprovechar mejor el espacio */
        height: auto;  /* Permite que la altura se ajuste al contenido */
    }

    .front img, .back img {
        height: calc(70% - 2px);  /* Aumenta el espacio para la imagen en dispositivos más pequeños */
    }

    .front .text-container, .back .text-container {
        height: 30%;  /* Aumenta el espacio para el texto para mejorar la legibilidad */
    }
}

@media (max-width: 480px) {
    .s-box {
        flex-basis: 100%;  /* Cada caja toma el ancho completo en móviles */
        margin: 5px 0;  /* Solo aplica margen vertical para no perder espacio horizontal */
    }
}

@media (max-width: 480px) {
    .front .text-container h3, .back .text-container h3,
    .front .text-container p, .back .text-container p {
        font-size: 14px;  /* Ajusta el tamaño del texto para mejorar la legibilidad en pantallas pequeñas */
    }

    .front .text-container, .back .text-container {
        padding: 10px;  /* Aumenta el padding para facilitar la interacción táctil */
    }
}



/* Contenedor para la parte superior */
.top{
    position: fixed;
    bottom: 4.1rem;
    left: 2.1rem;
}
.top i{
    color: var(--text-color);
    background: var(--main-color);
    font-size: 20px;
    padding: 10px;
    border-radius: 0.5rem;
}
#textswalu {
    animation: escribir-y-eliminar 5s infinite;
    overflow: hidden;
    white-space: nowrap;
  }

  #textswalu1 {
    animation: escribir-y-eliminar 5s infinite;
    overflow: hidden;
    white-space: nowrap;
  }


.scale-up-center:hover {
	-webkit-animation: scale-up-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
	        animation: scale-up-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
}

 @-webkit-keyframes scale-up-center {
    0% {
      -webkit-transform: scale(0.5);
              transform: scale(0.5);
    }
    100% {
      -webkit-transform: scale(1);
              transform: scale(1);
    }
  }
  @keyframes scale-up-center {
    0% {
      -webkit-transform: scale(0.5);
              transform: scale(0.5);
    }
    100% {
      -webkit-transform: scale(1);
              transform: scale(1);
    }
  }
  
/* Asegurándose de que el contenedor del separador tenga el ancho completo de la pantalla */
.separador1-container {
    width: 100%; /* Ajusta al ancho del viewport */
    overflow: hidden; /* Evita cualquier desbordamiento */
    }

 /* Separador con animación */
.separador1 {
    border-bottom: 3px solid #05eeff; /* Estilo del borde */
    height: 2px; /* Altura del separador */
    width: 100%; /* Ajusta el ancho al 100% del contenedor */
    position: absolute; /* Posicionamiento absoluto dentro del contenedor */
    left: 50%; /* Centra el inicio del separador en el medio horizontalmente */
    transform: translateX(-50%); /* Desplaza el separador hacia la izquierda para alinearlo correctamente */
    background: linear-gradient(to right, transparent, #0dffe3, transparent); /* Gradiente para el efecto visual */
    animation: line-move 2s linear infinite; /* Animación continua */
    box-shadow: #00fff2;
}
@keyframes line-move {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(100%);
    }
}





/* NUMEROS DINAMICOS */
.stats-container {
    display: flex;
    justify-content: space-around;
    padding: 20px;
    background: #f4f4f4;
}

.stat {
    flex: 1;
    padding: 10px;
    margin: 10px;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    background-size: cover; /* Cubre todo el fondo */
    background: white;
    position: relative; /* Necesario para posicionar los iconos de forma absoluta */
    text-align: center;
    overflow: hidden; /* Oculta cualquier desbordamiento */
}

.contents {
    display: flex;
    align-items: center; /* Alinea verticalmente los elementos */
    justify-content: center; /* Ajusta el contenido al inicio para evitar centrado */
    gap: 5px; /* Espacio entre el icono y el número */
   
}


.iconN {
    width: 100px; /* Tamaño de la imagen del icono */
    height: 100px; /* Mantiene la imagen cuadrada */
}

.number {
    font-size: 4.5rem;
    color: #0056b3;
}

p {
    color: #666;
    font-size: 1rem;
    margin-top: 10px; /* Añade un margen superior para separar del contenido principal */
}

.stat {
    transition: background-color 0.3s ease-in-out; /* Suaviza la transición del color de fondo */
}

/* video permanente */
.section {
    position: relative;  /* Establece que la sección puede contener elementos posicionados absolutamente */
    height: 300px;  /* Altura de la sección igual al tamaño de la ventana */
    overflow: hidden;  /* Evita que el video sobresalga de la sección */
}

.background-video {
    position: absolute;  /* Posiciona el video para que esté en el fondo */
    top: 0;
    left: 0;
    width: 100%;  /* El video ocupa todo el ancho */
    height: 100%;  /* El video ocupa toda la altura */
    object-fit: cover;  /* El video se ajusta para cubrir toda el área sin distorsión */
    z-index: -1;  /* El video se encuentra detrás de otros elementos */
}

.content {
    position: relative;  /* Para que el contenido esté delante del video */
    text-align: center;  /* Centra el contenido */
    color: white;  /* Para un buen contraste con el video */
    padding: 50px;  /* Espacio para el contenido */
}

/* whatsapp estatico */

.whatsapp-button {
  position: fixed;  /* Para que el botón permanezca visible */
  bottom: 300px;  /* Ubicación desde el borde inferior */
  right: 20px;  /* Ubicación desde el borde derecho */
  width: 80px;  /* Ancho del botón */
  height: 80px;  /* Altura del botón */
  background-color: transparent;  /* Color de fondo verde, típico de WhatsApp */
  border-radius: 50%;  /* Forma circular */
  /*box-shadow: 0 12px 12px rgba(0, 0, 0, 0.1);   Sombra para darle relieve */
  display: flex;  /* Centra el contenido dentro del botón */
  align-items: center;  /* Alineación vertical centrada */
  justify-content: center;  /* Alineación horizontal centrada */
  cursor: pointer;  /* Cambia el cursor al pasar por el botón */
  transition: transform 0.3s;  /* Transición suave para animaciones */
  animation: parpadeo 2s infinite;  /* Aplicar la animación de parpadeo */
}

.whatsapp-button img {
width: 100%;  /* Tamaño de la imagen relativo al botón */
height: 100%;  /* Tamaño de la imagen relativo al botón */
object-fit: contain;  /* Mantener proporciones sin distorsión */
color: transparent;
}
@keyframes parpadeo {
0%, 100% {
  opacity: 1;  /* Comienza y termina con opacidad completa */
}
50% {
  opacity: 0.5;  /* Opacidad reducida para el efecto de parpadeo */
}
}

/* Pie de página */
footer {
    background-color: #ffffff;
    color: #000000;
    text-align: center;
    padding: 20px;
    flex-shrink: 0;
    font-size: 20px;
}

footer .redes-sociales {
    margin-bottom: 10px;
}

footer .redes-sociales a {
    margin-right: 10px;
}

footer .redes-sociales img {
    height: 10px;
}

/* RESPONSIVE PIE DE PAGINA */

/* Media queries para ajustar el pie de página en pantallas más pequeñas */
@media (max-width: 768px) {
    footer {
        padding: 15px 10px;  /* Reduce el padding para ahorrar espacio */
        font-size: 16px;  /* Reduce el tamaño de la fuente para adaptarse a pantallas más pequeñas */
    }

    footer .redes-sociales img {
        height: 15px;  /* Aumenta el tamaño para mejor accesibilidad en táctiles */
    }
}

@media (max-width: 480px) {
    footer {
        padding: 10px 5px;  /* Aún más pequeño para pantallas de celulares */
        font-size: 14px;  /* Tamaño de fuente más pequeño para economizar espacio */
    }

    footer .redes-sociales a {
        margin-right: 5px;  /* Reduce el margen entre iconos para evitar desbordamiento */
    }

    footer .redes-sociales img {
        height: 20px;  /* Asegura que los iconos sean lo suficientemente grandes para ser tocados fácilmente */
    }
}


/* logo  cambio de color */
.logo {
    animation: changeLogoColor 10s infinite linear;
}

.footer-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 40px;
  background-color: #f4f4f4;
  color: #282828;
}

.footer-column {
  display: flex;
  align-items: center;  /* Alinea verticalmente el contenido dentro de la columna */
}

.footer-column p{
    margin-right: 5px;
    font-size: 15px;
    font-weight: 700;
    }
  

.footer-column a{
  color: #000000; /* Gris oscuro para los créditos */
  text-decoration: none; /* Elimina el subrayado de los enlaces */
  }

.brand-container {
  display: flex;
  align-items: center;  /* Asegura que el texto y la imagen estén alineados verticalmente */
}

.brand-text {
  margin-right: 10px;  /* Espacio entre el texto y la imagen */
}



.social-media i{
    height: 40px;
    width: 40px;
    background: #12141c;
    border-radius: 0.5rem;
    color: white;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    margin-right: 10px;
    transition: all .40e ease;
}
.social-media i:hover{
    transform:  scale(1.2)translateY(-5px);
    color: var(--text-color);
    background: var(--main-color);
}

.brand-image {
  width: 180px;  /* Tamaño uniforme para los iconos de redes sociales y la imagen de la marca */
  height: auto;  /* Mantener la proporción de la imagen */
}

@keyframes changeLogoColor {
    0% {
        filter: hue-rotate(0deg);  /* Comienza sin cambios de color */
    }
    100% {
        filter: hue-rotate(360deg);  /* Rotación completa de matiz */
    }
}



  /*aviso legal*/
  .content-wrapper {
    display: flex; /* Usa Flexbox para alinear lado a lado */
    align-items: start; /* Alinea los elementos al inicio de su contenedor */
    justify-content: center; /* Centra los elementos horizontalmente */
    max-width: 1600px; /* Controla el ancho máximo del contenedor */
    margin: auto; /* Centra el contenedor en la página */
    gap: 10px; /* Espacio entre la imagen y el texto */
    padding: 100px;
}

.img-container {
    flex: 0 1 450px; /* No crece, puede encogerse, base de 300px */
    height: auto; /* Altura automática para mantener la proporción */
    }

.img-container img {
    width: 100%; /* Asegura que la imagen llene su contenedor */
    height: auto; /* Mantiene la proporción de la imagen */
    border-radius: 20%;
    padding: 30px;
}

main {
    flex: 1; /* Ocupa el espacio restante */
    text-align: justify; /* Justifica el texto para una lectura uniforme */
}

@media (max-width: 768px) {
    .content-wrapper {
        flex-direction: column; /* Cambia la disposición a vertical en pantallas pequeñas */
    }

    .img-container, main {
        flex: none; /* No usa flex en pantallas pequeñas */
        width: 100%; /* Ocupa el 100% del ancho */
    }
}

 /* LOGO LINK INICIO */
 .logo-link {
    text-decoration: none;  /* Elimina el subrayado del enlace */
    display: inline-block;  /* O cualquier otro display que funcione con tu layout */
}


/*ANIMACION DE LOGO*/
.logo-animation {
    position: relative;
    width: 90px;  /* Ajusta el tamaño según sea necesario */
    height: 90px;  /* Ajusta el tamaño según sea necesario */
    overflow: hidden;
}

.logo-animation img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    animation: fadeInOut 10s infinite;
    opacity: 0;
}

.logo-animation img:first-child {
    animation-delay: -7s;
}

@keyframes fadeInOut {
    0%, 100% {
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
}


/* RESPONSIVE */
/* Media queries para tablets */
@media (max-width: 768px) {
    .container {
        width: 95%;  /* Aumenta el ancho para usar más espacio disponible */
        padding: 10px;  /* Reduce el padding para adaptarse a pantallas más pequeñas */
    }
  }
  
  /* Media queries para celulares */
  @media (max-width: 480px) {
    .container {
        width: 100%;  /* Utiliza todo el ancho de la pantalla */
        padding: 5px;  /* Minimiza el padding para maximizar el espacio disponible */
    }
  }
  @media (max-width: 768px) {
    body {
        font-size: 14px; /* Tamaño ligeramente más pequeño para tablets */
    }
  }
  
  @media (max-width: 480px) {
    body {
        font-size: 12px; /* Tamaño aún más pequeño para celulares */
    }
  }


 
   /* CONTACT FORM */
   .containerF2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    max-width: 1200px;
    margin: auto;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    background-color: #ffffff;
    border-radius: 10px;
    background-color: #f4f4f4;
    color: #333;
    font-size: 16px;
    }

.company-infoF2 {
    flex: 1;
    padding: 20px;
    border-right: 2px solid #ddd;
}

.company-infoF2 h2 {
    margin-bottom: 15px;
    color: #0056b3;
}

.company-infoF2 ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.company-infoF2 li {
    margin-bottom: 10px;
}

.form-containerF2 {
    flex: 2;
    padding: 20px;
}

.form-groupF2 {
    margin-bottom: 15px;
}

label {
    display: block;
    margin-bottom: 5px;
    color: #0056b3;
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    margin-bottom: 10px;
}

.buttonF2 {
    background-color: #0056b3;
    color: white;
    padding: 10px 15px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
    display: block;
    width: 100%;
    margin-top: 10px;
}

.buttonF2:hover {
    background-color: #003580;
}


#alertImage{
    width: 250px;
    height: auto;
}

/* CHAT - Imagen de atención al cliente en la esquina inferior derecha */
.chat-iconA {
    position: fixed;
    bottom: 65px;
    right: 7px;
    width: 120px;
    cursor: pointer;
    z-index: 1000;
}

.chat-iconA img {
    width: 100%;
    border-radius: 40%;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}

/* Cuadro de chat */
.chat-boxA {
    position: fixed;
    bottom: 150px;
    right: 128px;
    width: 300px;
    background: rgb(0, 0, 0);
    border-radius: 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    z-index: 1000;
    display:flex;
    flex-direction: column;
    color: #ffffff;

}

.chat-headerA {
    padding: 10px;
    background-color: #929292;
    color: #ffffff;
    display: flex;
    justify-content: space-between;
    border-radius: 10px 10px 0 0;
    border-bottom: 2px solid #00ffff
}

.chat-contentA {
    max-height: 200px;
    overflow-y: auto;
    padding: 10px;
    border-top: px solid #00ffff;
    border-bottom: 2px solid #00ffff; 
 
}

.chat-contentA p{
    color: white;

}

.formA {
    display: flex;
    align-items: center;
    padding: 10px;
}

.inputA[type="text"] {
    flex: 1;
    padding: 5px;
    border: 2px solid #00ffff;
    border-radius: 5px;
    margin-right: 10px;
}

.buttonA {
    background-color: #ffffff;
    color: rgb(4, 0, 79);
    padding: 5px 10px;
    border: none;
    border-radius: 10px;
    cursor: pointer;
}

.buttonA:hover {
    background-color: #02d9ff;
}

.close-btnA {
    cursor: pointer;
    font-size: 20px;
    color: #00ffff;
}



/* Estilo base para el cuadro de alerta */
#customAlert {
    display: none; /* Se muestra solo cuando sea necesario */
    position: fixed; /* Fijo para mantener el cuadro en la misma posición */
    left: 50%; /* Centrado horizontal */
    top: 50%; /* Centrado vertical */
    transform: translate(-50%, -50%); /* Centrar exactamente */
    width: 300px; /* Ancho del cuadro */
    padding: 20px; /* Espaciado interior */
    background-color: #000000; /* Fondo blanco */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Sombra para destacar */
    border-radius: 10px; /* Bordes redondeados */
    text-align: center; /* Centrar el texto */
    z-index: 1000; /* Encima de otros elementos */
}

/* Estilo para la imagen que sobresale del cuadro */
#alertImage {
    width: 180px; /* Tamaño de la imagen */
    height: 200px;
    position: absolute; /* Para posicionar dentro del cuadro */
    top: -120px; /* Hace que el 70% de la imagen sobresalga y el 30% esté dentro */
    left: 50%; /* Centrado horizontal dentro del cuadro */
    transform: translateX(-50%); /* Centrar exactamente horizontalmente */
    z-index: 1001; /* Encima del cuadro */
}

/* Estilo para el mensaje dentro del cuadro */
#alertMessage {
    margin-top: 60px; /* Espacio debajo de la imagen que sobresale */
}

/* =========================
   FIX: Mega menu NUEVAR dentro de #navbar
========================= */
#navbar li.has-mega { position: relative; }

/* Oculto por defecto */
#navbar .nuevar-mega-box{
  position: absolute;
  left: 0;
  top: 100%;
  margin-top: 12px;
  width: min(1200px, 92vw);
  background: rgba(255,255,255,0.96);
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 18px 60px rgba(0,0,0,0.12);
  border-radius: 16px;
  padding: 18px;
  z-index: 99999;

  display: none;
}

/* PC: hover abre */
#navbar li.has-mega:hover > .nuevar-mega-box{
  display: block;
}

/* Móvil: abre con checkbox */
#nuevar-showMega{
  display: none;
}

#nuevar-showMega:checked ~ .nuevar-mega-box{
  display: block;
}

/* Etiqueta móvil: oculta en PC */
.nuevar-mobile-item{
  display: none;
  cursor: pointer;
  padding: 12px 30px;
  font-weight: 600;
  color: var(--main-color);
}

/* Contenido interno del mega (grid) */
.nuevar-content.nuevar-mega-modern{
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 18px;
}

.nuevar-cats{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.nuevar-cat{
  padding: 10px 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,0.06);
  background: rgba(255,255,255,0.7);
}

.nuevar-cat-title{
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 800;
  margin-bottom: 8px;
  color: #0d1b2a;
}

.nuevar-cat-title i{ font-size: 22px; }

.nuevar-cat ul{ list-style: none; margin: 0; padding: 0; }
.nuevar-cat li{ margin: 7px 0; }

.nuevar-cat a{
  text-decoration: none;
  color: rgba(0,0,0,0.72);
  transition: 160ms ease;
  display: inline-block;
}

.nuevar-cat a:hover{
  color: rgba(0,0,0,0.92);
  transform: translateX(3px);
}

/* Columna izquierda (imagen) */
.nuevar-hero img{
  width: 100%;
  height: 230px;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,0.08);
}

/* ===== Responsive Mega ===== */
@media (max-width: 1100px){
  .nuevar-content.nuevar-mega-modern{ grid-template-columns: 1fr; }
  .nuevar-cats{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .nuevar-hero img{ height: 200px; }
}

@media (max-width: 980px){
  /* En móvil, el mega debe ser estático dentro del menú */
  #navbar .nuevar-mega-box{
    position: static;
    width: 100%;
    margin-top: 10px;
  }
  .nuevar-mobile-item{ display: inline-block; }
  /* En móvil NO dependas de hover */
  #navbar li.has-mega:hover > .nuevar-mega-box{ display: none; }
}

@media (max-width: 520px){
  .nuevar-cats{ grid-template-columns: 1fr; }
}


@media (max-width: 980px){
  #menu-icon{ display: block; color: var(--main-color); } /* var(--text-color) es blanco y tu header es blanco */
  #navbar{
    position: absolute;
    top: 100%;
    right: 0;
    width: 100%;
    display: none;
    flex-direction: column;
    background: #fff;
  }
  #navbar.active{ display: flex; }
  #navbar li{ float: none; box-shadow: none; }
  #navbar a{ float: none; display: block; }
}
/* ===== FIX: texto visible dentro del Mega Menu ===== */
#navbar .nuevar-mega-box,
#navbar .nuevar-mega-box *{
  color: #0d1b2a !important; /* texto oscuro */
}

#navbar .nuevar-mega-box a{
  color: rgba(13, 27, 42, 0.75) !important;
  text-decoration: none;
}

#navbar .nuevar-mega-box a:hover{
  color: rgba(13, 27, 42, 0.95) !important;
}

/* ===== FIX: tamaño de la imagen del mega menú ===== */
#navbar .nuevar-hero img{
  width: 100%;
  height: 220px;      /* ajusta si quieres */
  object-fit: cover;  /* o contain */
  border-radius: 14px;
}