section{
    margin: 0 auto;
    max-width: 1200px;
    font-family: 'Lato';
    
}

body{
    background-color: white;
}



.imagenes{
    max-width: 100%;
    min-height: 50%;
    
}

.copy{
    text-align: center;
    font-size: 15px;
}

.container-icon{
    position: relative;
}

.count-products{
    position: absolute;
    top: 55%;
    right: 0;

    background-color: #000;
    color: #fff;
    width: 25px;
    height: 25px;

    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
}

#contador-productos{
    font-size: 12px;
}

.container-cart-products{
    position: absolute;
    top: 50px;
    right: 0;

    background-color: #fff;
    width: 400px;
    z-index: 1;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.20);
    border-radius: 10px;
    
}

.cart-product{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 30px;

    border-bottom: 1px solid rgba(0, 0, 0, 0.20);

}

.info-cart-product{
    display: flex;
    justify-content: space-between;
    flex: 0.8;
}

.titulo-producto-carrito{
    font-size: 20px;
}

.precio-producto-carrito{
    font-weight: 700;
    font-size: 20px;
    margin-left: 10px;
}

.cantidad-producto-carrito{
    font-weight: 400;
    font-size: 20px;
}

.icon-close{
    width: 25px;
    height: 25px;
}

.icon-close:hover{
    stroke: red;
    cursor: pointer;
}

.cart-total{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 0;
    gap: 20px;
}

.cart-total h3{
    font-size: 20px;
    font-weight: 700;
}

.total-pagar{
    font-size: 20px;
    font-weight: 900;
}

.hidden-cart{
    display: none;
}
/*lightbox*/

.lightbox {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    z-index: 1000;
  }
  
  .lightbox-content {
    position: absolute;
    max-width: 700px;
    height: 900px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: transparent;
    text-align: center;
    padding: 20px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
  }
  .lightbox-content img{
    width: 700px;
    height: 800px;
  }

  
  .close-button {
    position: absolute;
    top: -10px;
    right: 5px;
    font-size: 35px;
    cursor: pointer;
    transition: transform 0.2s; 
    color: white;
  }
  .close-button:hover{
    color: red;
    transform: scale(1.4);
  }
  
  .container-items .item {
    
    cursor: pointer;
  }

  /* Mostrar el lightbox al hacer clic en un elemento de proyecto */
.container-items .item:hover + .lightbox {
    display: block;
  }
  
  
  .lightbox:target .close-button {
    display: block;
  }
  
  
 

/* Main */
.container-items{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 140px;
}

.item{
    border-radius: 10px;
}

.item:hover{
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.20);
}

.item img{
    width: 100%;
    height: 610px;
    object-fit: cover;
    border-radius: 10px 10px 0 0;
    transition: all .5s;
}

h4{
    font-size: 20px;
}


.item figure{
    overflow: hidden;
}



.item:hover img{
    transform: scale(1.2);
}

.info-product{
    padding: 15px 30px;
    line-height: 2;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.price{
    font-size: 22px;
    font-weight: 900;
}

.info-product button{
    border: none;
    background: none;
    background-color: #000;
    color: #fff;
    padding: 15px 10px;
    cursor: pointer;
}




.cajapadre2{
    width: 100%;
    height: 1000px;
    
}

/* Estilos para la sección de Misión */
#mision {
    width: 45%;
    position: absolute;
    padding: 30px 30px;
    background-color: white;
    box-shadow: 0 5px 25px rgb(0 0 0 / 12%);;
    right: 80PX;
    margin-top: 150px;
    transition: background-color 0.3s, color 0.3s;
}

#mision:hover{
    background-color: #3A5588;
    color: #fff;
    
}
#mision h2:hover{
    background-color: #3A5588;
    color: #fff;
    
}
#mision p:hover{
    background-color: #3A5588;
    color: #fff;
    
}

#mision h2 {
    color: #333;
    font-family: arial;
    font-size: 30px;
    transition: color 0.3s
    
    
}

#mision p {
    color: #878585;
    font-size: 15px;
    font-family: arial;
    transition: color 0.3;
    
}

/* Estilos para la sección de Visión */

.scroll-section {
    opacity: 0;
    transform: translateX(-100px); /* Comienza fuera de la vista a la izquierda */
    transition: opacity 1s, transform 1s;
}

/* Agrega una clase 'active' para activar la animación */
.scroll-section.active {
    opacity: 1;
    transform: translateX(0); /* Vuelve a su posición original */
}


.scroll-section2 {
    opacity: 0;
    transform: translateX(-100px); /* Comienza fuera de la vista a la izquierda */
    transition: opacity 1s, transform 1s;
}

/* Agrega una clase 'active' para activar la animación */
.scroll-section2.active {
    opacity: 1;
    transform: translateX(0); /* Vuelve a su posición original */
}

.scroll-section3 {
    opacity: 0;
    transform: translateX(-100px); /* Comienza fuera de la vista a la izquierda */
    transition: opacity 1s, transform 1s;
}

/* Agrega una clase 'active' para activar la animación */
.scroll-section3.active {
    opacity: 1;
    transform: translateX(0); /* Vuelve a su posición original */
}


#vision {
    width: 45%;
    position: absolute;
    padding: 30px 30px;
    background-color: white;
    box-shadow: 0 5px 25px rgb(0 0 0 / 12%);;
    margin-top: 400px;
    right: 80px; 
    transition: background-color 0.3s, color 0.3s;
    
}
#vision:hover{
    background-color: #3A5588;
    color: #fff;
}

#vision h2:hover{
    background-color: #3A5588;
    color: #fff;
}

#vision p:hover{
    background-color: #3A5588;
    color: #fff;
}

#vision h2 {
    color: #333;
    font-family: arial;
    font-size: 30px;
    transition: color 0.3;
    
}

#vision p {
    color: #878585;
    font-size: 15px;
    font-family: arial;
    transition: color 0.3;
    

}

/* Estilos para la sección de Valores */

#valores {
    width: 45%;
    position: absolute;
    padding: 30px 30px;
    background-color: white;
    box-shadow: 0 5px 25px rgb(0 0 0 / 12%);
    margin-top: 650px;
    right: 80px;
    transition: background-color 0.3s, color 0.3s;
}

#valores:hover{
    background-color: #3A5588;
    color: #fff;

}

#valores h2:hover{
    background-color: #3A5588;
    color: #fff;

}

#valores ul:hover{
    background-color: #3A5588;
    color: #fff;

}

#valores h2 {
    color: #333;
    font-family: arial;
    font-size: 30px;
    transition: color 0.3;
    
}

#valores ul {
    color: #878585;
    font-size:15px;
    font-family: arial;
    transition: color 0.3;
    
    
}
#valores li{
    margin-bottom: 5px;

}



.fot-prin{
    position: relative;
    width: 100%;
    height: 700px;
    border-radius: 0px;
    filter: brightness(0.4);
}
.titulo-somos{
    position: absolute;
    font-size: 110px;
    font-family: serif;
    color: #fff;
    text-align: center;
    left: 150px;
    top: 250px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
    
}

.des-somos{
    width: 450px;
    position: absolute;
    font-size: 25px;
    font-family: serif;
    color: #fff;
   
    text-align: center;
    right: 300px;
    top: 430px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
    
}

.fot-sec{
    position: absolute;
    margin-top: 200px;   
    height: 720px;
    left: 320px;
}

.fot-sec {
    opacity: 0;
    transform: translateY(-100px);
    transition: opacity 2s, transform 2s;
}

.fot-sec.appear {
    opacity: 1;
    transform: translateY(0);
}


.cinta-info{
    width: 100%;
    background-color: #203665;
    opacity: 0.9;
    height: 250px;
    margin-top: 250px;
    
    
}


.cajapadre1{
    width: 100%;
    height: 600px;
}

.fot-ter{
    position: absolute;
    margin-top: 50px;   
    height: 720px;
    left: 200px;
}

.fot-ter {
    opacity: 0;
    transform: translateY(-100px);
    transition: opacity 2s, transform 2s;
}

.fot-ter.appear {
    opacity: 1;
    transform: translateY(0);
}



.cuadros{
    font-size: 15px; 
    display: flex;
    text-align: center;
    padding: 60px  100px;
    
}

h3{
    font-size: 50px;
    font-family: 'Rubik', sans-serif;
    color: #fff;
}


.cuadros p{
    color:#fff;
    font-family: 'Rubik', sans-serif;
    font-size: 30px;
}

/* Estilos para el contenedor de videos */

.caja-video{
    width: 100%;
}

.video-container {
    
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center ;
    margin-top: 150px;
    height: 800px;
    overflow: hidden;
}

/* Estilos para el iframe de video */
.video-container iframe {

    
    width: 60%;
    height: 600px;
}

/* Estilos para la descripción del video */
.video-description {
    flex: 1;
    padding: 0px;
    width: 50%;
    margin-bottom: 700px;
    background-color: transparent;
    left: 460px;
    position: absolute;
}

/* Estilos para el título del video */
.video-description h2 {
    font-size: 30px;
    text-align: center;
    font-family: serif;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
    margin: 0;
    
}

@media screen and (max-width: 1400px) {
    .video-container{
        margin-top: 100px;
        height: 900px;
    }
    .video-container iframe{
        width: 60%;
        height: 600px;
        margin-top: 250px;
    }
    .video-description {
        left: 340px;
        margin-top: 200px;
       
    }
    
}

@media screen and (max-width: 600px) {
    .video-container{
        left: 20px;
        height: 500px;
    }
    .video-container iframe{
        width: 100%;
        height: 300px;
    }
    .video-description {
        left: 40px;
        margin-top: 250px;
        width: 80%;
    }
    .video-description h2{
        font-size: 25px;
    }
}




#ofrecemos {
    width: 45%;
    position: absolute;
    padding: 30px 30px;
    background-color: white;
    box-shadow: 0 5px 25px rgb(0 0 0 / 12%);
    margin-top: 120px;
    right:70px;
    transition: background-color 0.3s, color 0.3s;
}

#ofrecemos:hover{
    background-color: #3A5588;
    color: #fff;

}

#ofrecemos h2:hover{
    background-color: #3A5588;
    color: #fff;

}

#ofrecemos ul:hover{
    background-color: #3A5588;
    color: #fff;

}

#ofrecemos h2 {
    color: #333;
    font-family: arial;
    font-size: 35px;
    transition: color 0.3;
    
}

#ofrecemos ul {
    color: #444;
    font-size:20px;
    font-family: arial;
    transition: color 0.3;
    
    
}
#ofrecemos li{
    margin-bottom: 10px;

}

#prevBtn2{
    width: 50px;
    height: 50px;
    cursor: pointer;
    position: absolute;
    left: 20px;  /* Coloca el botón en el centro horizontal */
    transform: translateX(-50%);  /* Centra horizontalmente el botón */
    top: 50%;  /* Coloca el botón en el centro vertical */
    transform: translateY(-150%); 
}
#nextBtn2 {
    width: 50px;
    height: 50px;
    cursor: pointer;	
    position: absolute;
    right: 20px;  /* Coloca el botón en el centro horizontal */
    transform: translateX(-50%);  /* Centra horizontalmente el botón */
    top: 50%;  /* Coloca el botón en el centro vertical */
    transform: translateY(-150%);  /* Centra verticalmente el botón */
}






/*politica*/

.cajapadre3{
    width: 100%;
    height: 1100px;
}

#politica {
    width: 45%;
    position: absolute;
    padding: 30px 30px;
    background-color: white;
    box-shadow: 0 5px 25px rgb(0 0 0 / 12%);
    margin-top: 500px;
    left: 80px;
    transition: background-color 0.3s, color 0.3s;
}

#politica:hover{
    background-color: #3A5588;
    color: #fff;

}

#politica h2:hover{
    background-color: #3A5588;
    color: #fff;

}

#politica ul:hover{
    background-color: #3A5588;
    color: #fff;

}

#politica h2 {
    color: #333;
    font-family: arial;
    font-size: 30px;
    transition: color 0.3;
    
}

#politica ul {
    color: #878585;
    font-size:15px;
    font-family: arial;
    transition: color 0.3;
    
    
}
#politica li{
    margin-bottom: 5px;

}

  

.fot-cua{
    position: absolute;
    margin-top: -800px;
    width: 800px;     
    right: 80px;
}
.fot-cua.appear {
    opacity: 1;
    transform: translateY(0);
}

.fot-cua {
    opacity: 0;
    transform: translateY(-100px);
    transition: opacity 2s, transform 2s;
}

.fot-qui{
    position: absolute;
    margin-top: -400px;
    width: 800px;
    height: 350px;
    right: 80px;

}

.fot-qui.appear {
    opacity: 1;
    transform: translateY(0);
}

.fot-qui {
    opacity: 0;
    transform: translateY(-100px);
    transition: opacity 2s, transform 2s; 
}

@media screen and (max-width: 1400px) {
    .fot-prin{
        height: 500px;
    }
    .des-somos{
        width: 400px;
        font-size: 20px;
        right: 170px;
        margin-top: -40px;
    }
    .titulo-somos{
        font-size: 70px;
        margin-top: 40px;
        left: 200px;
    }
    .fot-ter{
        left: 135px;
        margin-top: 100px;
        height: 500px;
    }
    #ofrecemos{
        width: 600px;
        margin-top: 130px;
        right: 60px;
        padding: 15px 15px;
        
    }
    #ofrecemos h2{
        font-size: 25px;
    }
    #ofrecemos ul{
        font-size: 15px;
        
    }
    .cinta-info{
        height: 150px;
    }
    .cuadros{
        padding: 20px 20px;
    }
    h3{
        font-size: 35px;
    }
    .cuadros p{
        font-size: 25px;
    }
    .fot-sec{
        left: 150px;
        margin-top: 250px;
        height: 500px;
    }
    #mision{
        width: 600px;
        margin-top: 150px;
        right: 60px;
        padding: 15px 15px;
        
    }
    #mision h2{
        font-size: 25px;
    }
    #mision ul{
        font-size: 15px;
        
    }
    #vision{
        width: 600px;
        margin-top: 380px;
        right: 60px;
        padding: 15px 15px;
        
    }
    #vision h2{
        font-size: 25px;
    }
    #vision ul{
        font-size: 15px;
        
    }
    #valores{
        width: 600px;
        margin-top: 610px;
        right: 60px;
        padding: 15px 15px;
        
    }
    #valores h2{
        font-size: 25px;
    }
    #valores ul{
        font-size: 15px;
        
    }
    #politica{
        width: 500px;
        margin-top: 400px;
        left: 80px;
        padding: 15px 15px;
        
    }
    #politica h2{
        font-size: 20px;
    }
    #politica ul{
        font-size: 15px;
        
    }
    .fot-cua{
        right: 60px;
        margin-top: -800px;
        width: 500px;
        height: 300px;
    }
    .fot-qui{
        right: 60px;
        margin-top: -450px;
        width: 500px;
        height: 300px;
    }
    #footer-somos{
        margin-top: 30px;
        
    }
      
}

@media screen and (max-width: 600px) {
    .fot-prin{
        height: 300px;
    }
    .des-somos{
        width: 200px;
        font-size: 10px;
        right: 30px;
        margin-top: -40px;
    }
    .titulo-somos{
        font-size: 40px;
        margin-top: 80px;
        left: 10px;
    }
    .fot-ter{
        left: 135px;
        margin-top: -20px;
        height: 300px;
    }
    #ofrecemos{
        width: 400px;
        margin-top: 350px;
        left: 40px;
        padding: 15px 15px;
        
    }
    #ofrecemos h2{
        font-size: 20px;
    }
    #ofrecemos ul{
        font-size: 10px;
        
    }
    .cinta-info{
        height: 130px;
    }
    .cuadros{
        padding: 20px 20px;
    }
    h3{
        font-size: 25px;
    }
    .cuadros p{
        font-size: 15px;
    }
    .fot-sec{
        left: 130px;
        margin-top: 50px;
        height: 300px;
    }
    #mision{
        width: 400px;
        margin-top: 380px;
        left: 40px;
        padding: 15px 15px;
        
    }
    #mision h2{
        font-size: 20px;
    }
    #mision ul{
        font-size: 10px;
        
    }
    #vision{
        width: 400px;
        margin-top: 630px;
        left: 40px;
        padding: 15px 15px;
        
    }
    #vision h2{
        font-size: 20px;
    }
    #vision ul{
        font-size: 10px;
        
    }
    #valores{
        width: 400px;
        margin-top: 905px;
        left: 40px;
        padding: 15px 15px;
        
    }
    #valores h2{
        font-size: 20px;
    }
    #valores ul{
        font-size: 10px;
        
    }
    #politica{
        width: 400px;
        margin-top: 400px;
        left: 40px;
        padding: 15px 15px;
        
    }
    #politica h2{
        font-size: 20px;
    }
    #politica ul{
        font-size: 10px;
        
    }
    .fot-cua{
        left: 60px;
        margin-top: -250px;
        width: 350px;
        height: 200px;
    }
    .fot-qui{
        left: 60px;
        margin-top: -0px;
        width: 350px;
        height: 200px;
    }
    #footer-somos{
        margin-top: 250px;
        
    }
      
}






@media screen and (max-width: 414px) {
    .container{
        width:400px;
    }
    .fot-prin{
        height: 300px;
    }
    .des-somos{
        width: 200px;
        font-size: 10px;
        right: 30px;
        margin-top: -40px;
    }
    .titulo-somos{
        font-size: 40px;
        margin-top: 80px;
        left: 10px;
    }
    .fot-ter{
        left: 90px;
        margin-top: -20px;
        height: 300px;
    }
    #ofrecemos{
        width: 350px;
        margin-top: 350px;
        left: 30px;
        padding: 15px 15px;
        
    }
    #ofrecemos h2{
        font-size: 15px;
    }
    #ofrecemos ul{
        font-size: 10px;
        
    }
    .cinta-info{
        height: 130px;
    }
    .cuadros{
        padding: 20px 20px;
    }
    h3{
        font-size: 20px;
    }
    .cuadros p{
        font-size: 15px;
    }
    .fot-sec{
        left: 95px;
        margin-top: 50px;
        height: 300px;
    }
    #mision{
        width: 350px;
        margin-top: 380px;
        left: 30px;
        padding: 15px 15px;
        
    }
    #mision h2{
        font-size: 20px;
    }
    #mision ul{
        font-size: 10px;
        
    }
    #mision p{
        font-size: 10px;
        
    }
    #vision{
        width: 350px;
        margin-top: 550px;
        left: 30px;
        padding: 15px 15px;
        
    }
    #vision h2{
        font-size: 20px;
    }
    #vision ul{
        font-size: 10px;
        
    }
    #vision p{
        font-size: 10px;
        
    }
    #valores{
        width: 350px;
        margin-top: 720px;
        left: 30px;
        padding: 15px 15px;
        
    }
    #valores h2{
        font-size: 20px;
    }
    #valores ul{
        font-size: 10px;
        
    }
    #politica{
        width: 350px;
        margin-top: 220px;
        left: 30px;
        padding: 15px 15px;
        
    }
    #politica h2{
        font-size: 20px;
    }
    #politica ul{
        font-size: 10px;
        
    }
    
    .fot-cua{
        left: 25px;
        margin-top: -350px;
        width: 350px;
        height: 200px;
    }
    .fot-qui{
        left: 25px;
        margin-top: -50px;
        width: 350px;
        height: 200px;
    }
    .nav-wrap{
        width: 100px;
    }
}


@media screen and (max-width: 1400px) {
    .item img{
        
        height: 450px;
    }
    .price{
        font-size: 15px;
    }
    .container-items{
        
        grid-template-columns: repeat(4, 1fr);
        
    }
    .lightbox-content {
        height: 680px;
        width: 450px;
        border-radius: 10px;
        
        
    }
    .lightbox-content img {
        height: 600px;
        
    }
}




@media screen and (max-width: 600px) {
    .item img{
        
        height: 300px;
    }
    h4{
        font-size: 15px;
    }
    .price{
        font-size: 12px;
    }
    .item{
        width: 230px;
    }
    .container-items{
        gap: 8px;
        grid-template-columns: repeat(2, 1fr);
        margin-left: 6px;
    }
    .info-product{
        padding: 15px 15px;
    }
    .lightbox-content {
        height: 650px;
        width: 450px;
        
    }
    .lightbox-content img {
        height: 550px;
        
    }
}
@media screen and (max-width: 414px) {
    .item img{
        
        height: 300px;
    }
    h4{
        font-size: 15px;
    }
    .price{
        font-size: 12px;
    }
    .item{
        width: 195px;
    }
    .container-items{
        gap: 8px;
        grid-template-columns: repeat(2, 1fr);
        margin-left: 6px;
    }
    .info-product{
        padding: 15px 15px;
    }
    .lightbox-content {
        height: 650px;
        width: 450px;
        
    }
    .lightbox-content img {
        height: 550px;
        
    }
}
