/* GENERAL CONFIG */
:root{
    --color1: #000000;
    --color2: #404040;
    --color3: #898989;
    --color4: #c7c7c7;
    --color5: #bfeeed;
    --color6: #43e2de;
    --color7: #59a6ba;
    --color8: #ffffff;
}

/* RESETS */
*{
    margin: 0;
    padding: 0;
}

html{
    box-sizing: border-box;
    scroll-behavior: smooth;
}

*, *:before, *:after{
    margin: 0;
    padding: 0;
    box-sizing: inherit;
}

body{
    font-family: "Roboto", serif;
}

/* NAVBAR CONFIG */

.navbar{
    width: 100%;
    box-sizing: border-box;
    background-color: rgba(0, 0, 0, 0.5);
    position: fixed;
    padding: 22px;
    text-align: center;
    /* 2 CHILD: (MENU|BTN-TOGGLE) AND (LOGO-IMG) */
    top: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-evenly;
    z-index: 1000 !important;
    transition: all 0.3s ease; /* Añade transición suave */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3); /* Sombra suave */
}

.navbar .menu{
    width: 80%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-evenly;
}

.navbar .menu > a{
    text-decoration: none;
    color: rgb(255, 255, 255);
    font-size: 18px;
}

.navbar .menu > a:hover{
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 34px;
    color: rgb(214, 214, 214);
}

.menu-toggle {
    display: none; /* Alternar esto */
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
    width: 40px;
    height: 30px;
}

.menu-toggle .bar {
    display: block;
    width: 30px;
    height: 5px; /* Grosor de las líneas */
    background-color: white; /* Color de las líneas */
    border-radius: 2px;
    transition: transform 0.3s, opacity 0.3s;
}

.menu-toggle-active{
    display: flex; /* Alternar esto */
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
    width: 40px;
    height: 30px;
}

.menu-toggle-active span {
    display: block;
    width: 100%;
    height: 5px; /* Grosor de las líneas */
    background-color: white; /* Color de las líneas */
    border-radius: 2px;
    transition: transform 0.3s, opacity 0.3s;
}

/* MEDIA QUERIES */

@media (min-width: 801px) {
    .menu-toggle-active {
        display: none; /* Esconder la cruz */
    }

    .menu-toggle{
        display: none;
    }
}


@media (max-width: 800px) {
    .menu-toggle {
        display: flex; /* Mostrar el ícono de menú */
    }

    .navbar .menu{
        display: none;
    }

    .mobile-navbar .menu {
        display: flex;
        flex-direction: column;
        position: fixed;
        justify-content: space-evenly;
        top: 80px;
        background-color: rgba(0, 0, 0, 0.5);
        width: 100%;
        height: calc(100vh - 80px);
        text-align: center;
        overflow: hidden;
        z-index: 1000;
        transition: all 0.3s ease; /* Añade transición suave */
    }

    .mobile-navbar .menu a{
        color: white;
        font-size: 20px;
        font-weight: bold;
    }

    .mobile-navbar .menu a:first-child {
        margin-top: 50px;
    }
    
}

/* Transicion para tranformar las 3 barras en una cruz */

.menu-toggle-active .bar:nth-child(2){
    opacity: 0;
}
  
.menu-toggle-active .bar:nth-child(1){
    -webkit-transform: translateY(12px) rotate(45deg);
    -ms-transform: translateY(12px) rotate(45deg);
    -o-transform: translateY(12px) rotate(45deg);
    transform: translateY(12px) rotate(45deg);
}
  
.menu-toggle-active .bar:nth-child(3){
    -webkit-transform: translateY(-12px) rotate(-45deg);
    -ms-transform: translateY(-12px) rotate(-45deg);
    -o-transform: translateY(-12px) rotate(-45deg);
    transform: translateY(-12px) rotate(-45deg);
}


/* MAIN CONFIG */

.main{
    width: 100%;
    box-sizing: border-box;
}

.videoContainer{
    overflow: hidden;
}

.videoContainer video {
    width: 100vw; /* Ancho total del viewport */
    height: 100vh; /* Altura total del viewport */
    object-fit: cover; /* Asegura que el video cubra toda la pantalla */
    z-index: -1; /* Envía el video al fondo */
}

.homeContainer{
    overflow: hidden;
    width: 100%;
    height: 100vh;
    display: flex !important;
    padding: 10px;
    flex-direction: column !important;
    justify-content: space-around;
    align-items: center;
    background-image: url('/static/imagenes/background.jpg');
    background-size: cover;
    -webkit-background-size: cover; /* Prefijo para navegadores basados en WebKit */
    -moz-background-size: cover;    /* Prefijo para Firefox más antiguo */
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center;
}

.homeContainerFlex{
    width: 100%;
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    justify-content: space-evenly;
    flex-wrap: wrap;
}

.textoHome{
    display: flex;
    flex-direction: column;
    position: relative;
    align-items: start;
    justify-content: center;
    color: black;
    z-index: 4;
}

.textoHome h1{
    font-size: 50px;
}

.fotoRobot{
    height: 440px;
    z-index: 4;
}

.boton{
    text-decoration: none;
    padding: 10px 35px;
    background: white;
    color: var(--color7) !important;
    border: 3px solid var(--color7);
    border-radius: 5px;
    cursor: pointer;
    z-index: 4;
    transition: all 0.3s ease; /* Añade transición suave */
}

.boton:hover{
    background-color: var(--color7);
    color: #ffffff !important;
    text-decoration: none !important;
}

.boton:active{
    cursor: default;
}

.boton:focus{
    background-color: var(--color7);
    color: #ffffff !important;
    outline-width: 3px;
    outline-style: solid;
}


/* HEIGHT MEDIA QUERIES */

@media (max-height: 550px) {
    .textoHome{
        margin-top: 80px;
    }
    .fotoRobot{
        height: 200px;
    }
}

/* WIDTH MEDIA QUERIES */

@media screen and (max-width: 768px) {
    .homeContainer{
        background-attachment: scroll;
    }
}

@media (max-width: 600px) {
    .textoHome{
        width: 40%;
        text-align: center;
    }

    .textoHome h1{
        font-size: 30px;
    }

    .fotoRobot{
        height: 275px;
    }
}

@media (max-width: 384px) {
    .fotoRobot{
        height: 210px;
    }
    .boton{
        padding: 10px 25px;
    }
}

@media (max-width: 350px) {
    .textoHome{
        margin-top: 80px;
    }
}

/* SECCION SOLUCIONES */

.solucionesContainer{
    overflow: hidden;
    width: 100%;
    padding: 20px;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
}

.solucionesContainer .textoSoluciones{
    width: 40%;
    display: flex;
    flex-direction: column;
}

.enfasis{
    color: var(--color7);
}

.solucionesContainer .textoSoluciones p{
    margin-bottom: 50px;
    font-size: 20px;
    text-align: center;
    letter-spacing: 0.1em; /* Separacion entre letras */
    line-height: 1.5em; /* Separacion entre lineas */
}

.solucionesContainer .textoSoluciones h2{
    text-align: center;
    font-size: 40px;
    margin-bottom: 20px;
}

.gridSoluciones{
    width: 40%;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, 1fr);
}

.gridSoluciones > img{
    width: 100%;
}

.gridSoluciones > img:hover{
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2); /* Sombra suave para resaltar */
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* Transiciones suaves */
}

.imagenSoluciones {
    width: 100%;
    position: relative;
    margin: auto;
    border-radius: 10px; /* Bordes redondeados */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2); /* Sombra suave para resaltar */
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* Transiciones suaves */
}
  
  /* Efecto al pasar el mouse */
.imagenSoluciones:hover,.imagenSoluciones:focus,.imagenSoluciones:active {
    transform: scale(1.01); /* Aumenta el tamaño de la imagen ligeramente */
    box-shadow: 0 6px 25px rgba(0, 0, 0, 0.3); /* Sombra más pronunciada */
}

/* MEDIA QUERIES */

@media (max-width: 750px) {
    .solucionesContainer{
        flex-direction: column;
    }

    .textoSoluciones{
        width: 80% !important;
    }

    .gridSoluciones{
        width: 80% !important;
        display: grid;
        gap: 10px;
        grid-template-columns: repeat(2, 1fr);
    }
    
}

/* BENEFICIOS CONFIG */

.beneficiosContainer{
    width: 100%;
    overflow: hidden;
}
.beneficiosTrack{
    width: 100%;
    display: flex;
}

.flechaIzq, .flechaDer{
    display: none;
}


@media (min-width: 751px) {
    .beneficios1, .beneficios2, .beneficios3{
        display: flex;
    }
}

.beneficiosTrack .beneficios1{
    width: 33%;
    background-color: var(--color5);
    padding: 80px 65px;
    flex-direction: column;
    justify-content: space-around;
}

.beneficiosTrack .beneficios2{
    width: 34%;
    background-color: var(--color6);
    padding: 80px 65px;
    flex-direction: column;
    justify-content: space-around;
}

.beneficiosTrack .beneficios3{
    width: 33%;
    background-color: var(--color7);
    padding: 80px 65px;
    flex-direction: column;
    justify-content: space-around;
}

.beneficiosTrack p{
    font-size: 18px;
    letter-spacing: 0.05em; /* Separacion entre letras */
    line-height: 1.5em; /* Separacion entre lineas */
}

.beneficiosTrack h3{
    font-size: 22px;
    letter-spacing: 0.05em; /* Separacion entre letras */
    line-height: 1.5em; /* Separacion entre lineas */
}


@media (max-width: 750px) {
    .beneficiosContainer{
        background-color: var(--color5);
    }
    .beneficios1{
        width: 100% !important;
        background-color: none !important;
    }

    .beneficios2,.beneficios3{
        width: 100% !important;
        display: none;
        background-color: none;
    }

    .flechaDer,.flechaIzq{
        display: block;
        position: relative;
        font-weight: bold;
        font-size: 35px;
        border: 3px solid #000;
        border-radius: 20%;
        top: 50%;
        align-self: center;
        padding: 10px;
        transition: all 0.3s ease; /* Añade transición suave */
    }

    .flechaDer:active,.flechaIzq:active{
        background-color: var(--color7);
    }
    
    .flechaDer{
        margin-right: 5px;
        right: 0;
    }

    .flechaIzq{
        margin-left: 5px;
        left: 0;
    }
}



/* APLICACIONES CONFIG */

.aplicacionesContainer{
    margin: auto;
    width: 80%;
    padding: 50px;
}

.aplicacionesContainer p{
    font-size: 18px;
    letter-spacing: 0.05em; /* Separacion entre letras */
    line-height: 1.5em; /* Separacion entre lineas */
    margin-bottom: 50px;
}

/* CAROUSEL */

/* Estilo del contenedor principal */
.carousel {
    margin: auto;
    width: 90%; /* Ajusta el ancho del carrusel */
    overflow: hidden; /* Oculta las imágenes fuera del contenedor */
    position: relative;
    height: 300px; /* Ajusta la altura según tus imágenes */
}

/* Estilo de la pista de imágenes */
.carousel-track {
    align-self: center;
    display: flex;
    flex-direction: row;
    animation: scroll-carousel 20s linear; /* Movimiento continuo */
    width: calc(100% / 3); /* Ajusta el ancho según el número de imágenes */
}

/* Estilo de las imágenes */
.carousel-track img {
    width: 100%; /* Cada imagen ocupa el ancho completo del carrusel */
    flex-shrink: 0; /* Evita que las imágenes se reduzcan */
    object-fit: cover; /* Ajusta la imagen al contenedor */
    margin: 0px 5px;
}

/* MEDIA QUERIES */

@media (max-width: 700px) {
    .carousel {
        display: none; /* Resolver esto */
    }
}


/* Animación de desplazamiento */
@keyframes scroll-carousel {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-100%);
    }
}

/* SECCION NOSOTROS */
.nosotrosContainer{
    padding: 20px;
    width: 70%;
    margin: auto
}

.nosotrosContainer h2{
    text-align: center;
    font-size: 30px;
    margin-bottom: 50px;
}

.nosotrosContainer .textoNosotros{
    font-size: 18px;
    letter-spacing: 0.1em; /* Separacion entre letras */
    line-height: 1.5em; /* Separacion entre lineas */
}


@media (max-width: 450px) {
    .nosotrosContainer{
        width: 90%;
    }
    .nosotrosContainer .textoNosotros{
        font-size: 16px;
        letter-spacing: 0.1em; /* Separacion entre letras */
        line-height: 1.5em; /* Separacion entre lineas */
    }
}



/* SECCION CONTACTO */

.containerContacto{
    overflow: hidden;
    width: 100%;
    padding: 20px 10px;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
    background-image: url('/static/imagenes/background2.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center;
}

.textoContacto h2{
    color: var(--color7);
    font-weight: bold;
    font-size: 40px;
}

.containerContacto .textoContacto, .containerContacto .formContacto{
    margin: auto;
    width: 40%;
    text-align: center;
}

@media (max-width: 650px) {
    .containerContacto{
        overflow: hidden;
        width: 100%;
        padding: 10px;
        display: flex;
        flex-direction: column;
        justify-content: space-around;
        align-items: center;
    }
    
    .containerContacto .textoContacto, .containerContacto .formContacto{
        margin: 10px auto;
        width: 80%;
        text-align: center;
    }
}

/* FORMULARIO DE CONTACTO */

.formContacto{
    margin: auto;
    margin-bottom: 20px;
    width: 30vw;
    height: 400px;
    background-color: var(--color4);
    border-radius: 25px;
    padding: 10px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-evenly;
}

.formContacto > input, .formContacto textarea{
    outline: none;
    width: 100%;
    background-color: var(--color8);
    padding: 10px;
    border-radius: 25px;
}

.formContacto textarea{
    min-height: 100px;
    resize: vertical;
}

.formContacto > input:focus, .formContacto textarea:focus{
    outline-width: 3px;
    outline-style: solid;
    outline-color: var(--color7);
}


/* FOOTER */

.footer{
    width: 100%;
    box-sizing: border-box;
    padding: 22px;
    background-color: var(--color2);
    text-align: center;
    color: white;
}

.footerSec1{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-around;
}