/*****************************Estilos globales********************************/
body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    background-color: #f4f4f4;
    color: #333;


}

                  /*        Estilos del Encabezado           */

Header {
    background-color: #333;
    color: white;
    padding: 10px 0;
    text-align: center;
    display: flex;
    justify-content: space-between;
    align-items: center;
    top: 0;
    left: 0;
    width: 100%;

}

header .logo img {
    max-width: 300px; /* Tamaño máximo del logotipo */
    height: auto;

}

header > nav > ul > li {
    display: inline;
    margin-right: 20px;
}

header nav ul li a {
    color: white;
    text-decoration: none;
    font-weight: bold;
    font-size: 18px;
}

header nav ul li a.selected {
  color: red;
}

nav > ul > li {
    position: relative;
    margin-left: 30px;
}

nav > ul > li > a {
    color: #333333;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    padding: 10px 0;
    position: relative;
    transition: color 0.3s ease;
}

nav > ul > li > a:hover,
nav > ul > li > a.selected {
    color: #0066cc;
}

nav > ul > li > a:after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    background: #0066cc;
    bottom: 0;
    left: 0;
    transition: width 0.3s ease;
}

nav > ul > li > a:hover:after,
nav > ul > li > a.selected:after {
    width: 100%;
}

 /*Estilos para el menú desplegable */

nav ul ul {
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #ffffff;
    min-width: 250px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all 0.3s ease;
    z-index: 999;
}

nav ul li:hover > ul {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

nav ul ul li {
    border-bottom: 1px solid #f0f0f0;
}

nav ul ul li:last-child {
    border-bottom: none;
}

nav ul ul li a {
    color: #555555;
    padding: 12px 20px;
    display: block;
    font-size: 14px;
    transition: all 0.3s ease;
}

nav ul ul li a:hover {
    background-color: #f8f8f8;
    color: #0066cc;
    padding-left: 25px;
}

/* Estilos responsivos */
@media (max-width: 992px) {
    header {
        padding: 15px 3%;
    }

    nav > ul > li {
        margin-left: 20px;
    }
}

@media (max-width: 768px) {
    header {
        flex-direction: column;
        padding: 15px;
    }

    .logo {
        margin-bottom: 15px;
    }

    nav {
        width: 100%;
    }

    nav > ul {
        flex-direction: column;
    }

    nav > ul > li {
        margin: 5px 0;
    }

    nav ul ul {
        position: static;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none;
        display: none;
    }

    nav ul li:hover > ul {
        display: block;
    }
}



/********************Atsessa: sección de Inicio*******************************/

#Inicio {
    text-align: center;
    padding: 50px 20px;
    background-color: #fff;

}

#Inicio h1 {
    font-size: 36px;
      margin-bottom: 10px;
}

#Inicio p {
    font-size: 18px;
    line-height: 1.6;
    max-width: 800px;
    margin: 0 auto;
}

#Inicio img {
    width: 100%;
    max-width: 1200px;
    height: 450px;
    margin-top: 20px;
}

                /*       Estilos de la sección Slider              */

.slider-container {
    position: relative;
    width: 100%;
    max-width: 1200px;  /* Ajustar este tamaño según sea necesario */
    margin: 0 auto;
    overflow: hidden; /* Esconder las imágenes que se encuentran fuera del contenedor */
}

.slider {
    display: flex;
    transition: transform 0.5s ease      /* Transición suave entre las imágenes */
}
.slide {
    min-width: 100%;
    box-sizing: border-box;
}
.slide img {
    width: 100%;  /* Hace que la imagen ocupe todo el contenedor */
    height: auto;
}

                  /*     Botones de navegación         */
.prev, .next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    font-size: 24px;
    padding: 10px;
    border: none;
    cursor: pointer;
    z-index: 1;
}
.prev {
    left: 0;
}

.next {
    right: 0;
}

.prev:hover, .next:hover {
    background-color: rgba(0, 0, 0, 0.8);
}

        /*             Estilos de media query para móviles           */

@media only screen and (max-width: 768px) {
    .slider-container {
        max-width: 100%;
    }

    .slide img {
        width: 100%;
    }
}


/*********************Estilos de la sección Nosotros*************************/

#Nosotros {
    padding: 50px 20px;
    background-color: #fff;
}

#Nosotros h1 {
    text-align:center;
    font-size: 36px;

}

#Nosotros p {
  text-align: justify;
    font-size: 18px;
    line-height: 1.6;
    max-width: 1100px;
    margin: 0 auto;
}

#Nosotros img {
    width: 100%;
    max-width: 1200px;
    height: auto;
    margin-top: 20px;
}

/*******************Estilos de la sección de productos***********************/

/************* ESTILOS GALERIA DE IMAGENES DE SOLUCIONES ********/
.galeria{
    margin-top: 30px;
    font-family: 'open sans';
}
.galeria h4{
    text-align: center;
    font-size: 2.5em;
    margin:10px 0 15px 0;
    font-weight: 500;
    color: #001133;
}
.linea{
    border-top: 2.5px solid #0077C0;
    margin-bottom: 40px;
}
.contenedor-imagenes{
    display: flex;
    width: 90%;
    margin: auto;
    justify-content: space-around;
    flex-wrap: wrap;
    border-radius:8px;
    margin-bottom: 40px;
}
.contenedor-imagenes .imagen{
    width: 32%;
    position: relative;
    height:auto

    box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, .75)
}
.imagen img{
    width: 100%;
    height:auto;
    margin-bottom:5px;
    object-fit: cover;
    border-radius: 10px;
}
.overlay{
    position: absolute;
    bottom: 0;
    left: 0;
    background:rgba(0, 118, 192, 0.781) ;
    width: 100%;
    height: 100;
    overflow: hidden;
    transition: .5s ease;
}
.overlay h2{
    color: #fff;
    font-weight: 300;
    font-size:30px;
    position: absolute;
    top: 50%;
    left:50%;
    text-align: center;
    transform: translate(-50%, -50%);
}
.imagen:hover .overlay{
    height:100%;
    cursor: pointer;
    border-radius: 10px;
    margin-bottom:5px;
}
@media screen and (max-width:1000px){
    .contenedor-imagenes{
        width: 95%;
    }
}

@media screen and (max-width:700px){
   h2{
      font-size:22px;
  }
    .contenedor-imagenes{
        width: 90%;
    }
    .contenedor-imagenes .imagen{
        width: 48%;
    }
}

@media screen and (max-width:450px){
    h2{
        font-size:22px;
    }
    .contenedor-imagenes{
        width: 98%;
    }
    .contenedor-imagenes .imagen{
        width: 80%;
    }
}

/*********************Estilos de las paginas de productos**********************/

                     /* Parte introductoria */
#pagina_productos {
            display: inline;
            justify-content: center;
            align-items: center;
            height: 100vh;
            margin: 0;
        }

        .container {
            display: flex;
            align-items: center;
            width: 100%;
            padding: 20px;
            flex-wrap: wrap; /* Permite que los elementos se ajusten en pantallas pequeñas */
        }
        .imagen {
            width: 40%;
            text-align: center;
            background-color: rgba(10, 10, 10, 0.8); /* Fondo semi-transparente */
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
            border: 2px solid #ccc;
            border-radius: 15px;
            margin-bottom: 20px; /* Espacio para dispositivos móviles */
        }

        .description {
            margin-left: 5%;
            width: 45%;
            text-align: justify;
            padding: 10px;
            font-size: 16px;
            font-style: italic;
            color:midnightblue;
            border: 2px solid #ccc;
            border-radius: 5px;
            background-color: rgba(14, 1, 1, 0.1); /* Fondo semi-transparente */
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
        }

        h1 {
            text-align: center;
            color: darkblue;
            margin-top: 50px;
        }

        /*             Banner imágenes de equipos que se desvanecen        */

        #ImagenesProductos {
              display: flex;
              justify-content: center;
              align-items: center;
              height: 100vh;
              background-color: #f0f0f0;

          }

          .gallery {
              margin-top: 50px;
              margin-bottom: 50px;
              margin-left: 40px;
              display: flex;
              flex-wrap: wrap;
              width: 100%;
              overflow: hidden;
          }

          .image {
              width: 90%;
              opacity: 1;
              transition: opacity 1s ease-in-out;
              display: none; /* Se ocultan al inicio */
              height: 175px;
          }

          .active {
              display: block; /* Solo se muestran las activas */
          }

          #ImagenesMarcas {
            width: 90%;
            margin-top: 0px;
          }

          .imagenm {
              width: 90%;
              margin-bottom: 150px;
              margin-left: 2.5%;
              margin-right: 5%;
          }

          /* Responsive para tablets */
          @media (max-width: 1024px) {
              #ImagenesMarcas {
                  width: 95%;
              }

              .imagenm {
                  width: 95%;
                  margin-bottom: 100px;
                  margin-left: 2.5%;
                  margin-right: 2.5%;
              }
          }

          /* Responsive para móviles */
          @media (max-width: 768px) {
              #ImagenesMarcas {
                  width: 100%;
              }

              .imagenm {
                  width: 100%;
                  margin-bottom: 80px;
                  margin-left: 0;
                  margin-right: 0;
              }
          }

          /* Ajustes adicionales para móviles pequeños */
          @media (max-width: 480px) {
              .imagenm {
                  margin-bottom: 50px;
              }
          }

                 /* Parte central de columnas */

        #columnas {
                    display: flex;
                    justify-content: center;
                    height: auto;
                    margin-top: 100px;
                    flex-wrap: wrap; /* Permite que las columnas se apilen en móviles */
                }

                .columna_izquierda {
                    margin-left: 2%;
                    margin-right: 2%;
                    width: 46%;
                    text-align: justify;
                    padding: 10px;
                    font-size: 16px;
                    font-style: italic;
                    color:midnightblue;
                    border: 2px solid #ccc;
                    border-radius: 15px;
                    background-color: rgba(0, 255, 0, 0.2); /* Fondo semi-transparente */
                    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
                    margin-bottom: 20px; /* Espacio entre columnas en móviles */
                }

                .columna_derecha {
                    margin-left: 2%;
                    margin-right: 2%;
                    width: 46%;
                    text-align: justify;
                    padding: 10px;
                    font-size: 16px;
                    font-style: italic;
                    color:midnightblue;
                    border: 2px solid #ccc;
                    border-radius: 15px;
                    background-color: rgba(0, 0, 255, 0.2); /* Fondo semi-transparente */
                    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
                    margin-bottom: 20px; /* Espacio entre columnas en móviles */
                }

                #texto_de_pie {
                            display: block;
                            margin-top: 50px;
                            justify-content: center;
                            align-items: center;
                            height: 35vh;
                            margin-left: 5%;
                        }

/*                       Seccion de imagenes de marcas                     */
/*               Responsiva de la parte de Soluciones                  */
/* Tabletas y pantallas medianas */
@media (max-width: 992px) {
    .container {
        flex-direction: column;
    }

    .imagen, .description {
        width: 90%;
        margin-left: -20px;
        margin-right: 0;
    }

    .columna_izquierda, .columna_derecha {
        width: 90%;
        margin-left: 5%;
        margin-right: 5%;
    }

    #ImagenesProductos {
        height: auto;
    }

    .gallery {
        margin-left: 20px;
        margin-right: 20px;
    }

    .image {
        width: 100%;
    }
}

/* Dispositivos móviles */
@media (max-width: 768px) {
    h1 {
        font-size: 24px;
        margin-top: 30px;
    }

    .container {
        padding: 10px;
    }

    .imagen, .description {
        width: 95%;
    }

    #columnas {
        margin-top: 50px;
    }

    .columna_izquierda, .columna_derecha {
        width: 95%;
        margin-left: 2.5%;
        margin-right: 2.5%;
    }

    #texto_de_pie {
        margin-left: 2.5%;
        height: auto;
        padding-bottom: 20px;
    }

    .gallery {
        margin-left: 10px;
        margin-right: 10px;
        margin-top: 30px;
        margin-bottom: 30px;
    }
}

/* Pantallas muy pequeñas (móviles pequeños) */
@media (max-width: 480px) {
    h1 {
        font-size: 20px;
        margin-top: 20px;
    }

    .description, .columna_izquierda, .columna_derecha {
        font-size: 14px;
    }

    .imagen {
        width: 100%;
    }

    #ImagenesProductos {
        height: auto;
    }

    .image {
        height: 150px;
    }
}


/*               Fin de la responsiva de Soluciones                    */

/********************Estilos de la sección de contacto************************/

#contacto {
    padding: 50px 20px;
    background-color: #fff;
    text-align: center;
    margin-top: 40px;
}

#contacto h2 {
    font-size: 32px;
    margin-bottom: 20px;
}

#contacto p {
    font-size: 18px;
    margin-bottom: 30px;
}

form {
    max-width: 600px;
    margin: 0 auto;
    text-align: left;
}

form label {
    font-size: 18px;
    margin-bottom: 8px;
    display: block;
}

form input, form textarea {
    width: 100%;
    padding: 10px;
    font-size: 16px;
    margin-bottom: 20px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

form textarea {
    resize: vertical;
    height: 150px;
}

form input[type="submit"] {
    background-color: #333;
    color: white;
    border: none;
    cursor: pointer;
    padding: 15px 20px;
    font-size: 18px;
}

form input[type="submit"]:hover {
    background-color: #555;
}

/************************Estilos del pie de página****************************/

/* Estilos generales del footer */
footer {
    background-color: #2c3e50;
    color: #ecf0f1;
    padding: 40px 0 20px;
    font-family: 'Arial', sans-serif;
    margin-top: 50px;
}

.footer-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    position: relative;
}

/* Estilos para cada sección del footer */
.footer-left {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.footer-logo {
    width: 180px;
    height: auto;
    margin-bottom: 10px;
}

.footer-center ul {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.footer-center a {
    color: #ecf0f1;
    text-decoration: none;
    transition: color 0.3s;
}

.footer-center a:hover,
.footer-center .selected {
    color: #3498db;
}

.footer-right {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.social-link {
    color: #ecf0f1;
    text-decoration: none;
    transition: color 0.3s;
}

.social-link:hover {
    color: #3498db;
}

/* Sección de copyright */
.footer-bottom {
    grid-column: 1 / -1;
    text-align: center;
    padding-top: 20px;
    border-top: 1px solid #34495e;
    margin-top: 20px;
    font-size: 14px;
}

/* Responsividad */
@media (max-width: 900px) {
    .footer-container {
        grid-template-columns: 1fr 1fr;
    }

    .footer-right {
        grid-column: 1 / -1;
        flex-direction: row;
        justify-content: center;
        flex-wrap: wrap;
    }
}

@media (max-width: 600px) {
    .footer-container {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .footer-left,
    .footer-center,
    .footer-right {
        text-align: center;
        align-items: center;
    }

    .footer-center ul {
        align-items: center;
    }

    .footer-right {
        flex-direction: column;
    }
}

/* Estilos adicionales para mejorar la legibilidad */
footer p {
    margin: 5px 0;
    line-height: 1.5;
    font-size: 14px;
}

.footer-center li {
    font-size: 16px;
}

.social-link {
    font-size: 16px;
}



/* Responsive Design */

/* Para pantallas pequeñas, como móviles (hasta 600px de ancho) */
@media only screen and (max-width: 600px) {
    header nav ul li {
        display: block;
        margin-bottom: 10px;
    }

    #productos {
        padding: 30px 20px;
    }

    .producto {
        width: 100%;
        margin-bottom: 20px;
    }

    #bienvenida h1 {
        font-size: 28px;
    }

    #bienvenida p {
        font-size: 16px;
        padding: 0 10px;
    }

    form label {
        font-size: 16px;
    }

    form input, form textarea {
        font-size: 14px;
    }

    footer p {
        font-size: 14px;
    }
}

/* Para pantallas medianas, como tabletas (hasta 768px de ancho) */
@media only screen and (max-width: 768px) {
    .producto {
        width: 48%;
    }

    #productos {
        padding: 40px 20px;
    }

    #bienvenida h1 {
        font-size: 32px;
    }

    #bienvenida p {
        font-size: 17px;
    }

    form input, form textarea {
        font-size: 15px;
    }
}

/* Para pantallas grandes, como computadoras de escritorio (mayores a 768px) */
@media only screen and (min-width: 769px) {
    .producto {
        width: 30%;
    }

    #bienvenida h1 {
        font-size: 36px;
    }

    #bienvenida p {
        font-size: 18px;
    }
}

/* Responsive para el logotipo y la navegación */
@media only screen and (max-width: 600px) {
    header {
        flex-direction: column;
        text-align: left;
    }

    header .logo img {
        max-width: 120px; /* Reducción de tamaño del logotipo en móviles */
    }

    header nav ul li {
        display: block;
        margin-bottom: 10px;
    }

    header nav ul li a {
        font-size: 16px;
    }
}
