/*####ESTRUCTURA#####*/
@import url('https://fonts.googleapis.com/css2?family=Playwrite+NG+Modern:wght@100..400&display=swap');

html{
    font-family: 'Playwrite NG Modern';
    background-color: #f3f3f3;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    
}

img {
    max-width: 100%;
    height: auto; 
}

.container {
    display: grid;
    width: 100%;
    height: 100%;
    margin: auto;
    grid-template-columns: repeat(autofit, minmax(150px, 1fr));
    grid-template-rows: repeat(4, auto);
    grid-template-areas:
        "header header header"
        "main   main    main"
        "main2 main2 main2"
        "footer footer footer";
}

/*POP UP*/

.popup {
    display: none; /* Ocultar inicialmente */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7); /* Fondo oscuro semitransparente */
    z-index: 999; /* Asegura que esté encima de todo */
    overflow: auto; /* Permite desplazar el contenido si es necesario */
  }
  
  .popup-content {
    position: relative;

    margin: 10% auto; /* Centra vertical y horizontalmente */
    padding: 20px;
    max-width: 600px;

  }
  
  .popup-content img {
    max-height: 500px; /* Ajusta la imagen al tamaño del contenedor */
    max-width: 500px;
    display: block;
    margin: 0 auto; /* Centra la imagen */
 }
  
  .close {
    position: absolute;
  top: 10px;
  right: 125px; /* Ajusta la posición de la 'x' */
  font-size: 30px;
  font-weight: bold;
  color: #aaa;
  cursor: pointer;
  z-index: 1000; /* Asegura que esté encima del contenido */
  }
  
  .close:hover,
  .close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
  }

/*####HEADER####*/

header {

    grid-area: header;
    display: flex;
    background-image: url(../src/resources/img/bannerdefinitivo.jpg);
    background-repeat: c;
    gap: 2em;
    padding: 0px 10px;
    align-items: center;
    justify-content: space-between;
}

.icon {
    display: flex;
    flex: 0 1 auto; 
    align-items: center;
    justify-content: center;
}

.icon img {
    border-radius: 50%; 
    object-fit: contain; 
    width: 100px; 
    height: 100px; 
    image-rendering: -webkit-optimize-contrast; /* Mejora la calidad de la imagen en navegadores Webkit */
    image-rendering: crisp-edges; /* Evita el suavizado de la imagen */
    margin: 15px 10px 15px 80px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}


.nav {
    display: flex;
    justify-content: center;
    flex: 1;
    margin-left: 20px;
}

.nav a {
    text-decoration: none;
    color: white;
    margin: 10px 10px 10px 10px;
    padding:10px 10px;
    border-radius: 20px;
    transition: 0.8s;

}

.nav a:hover {
    color: #A3A3A3;
    background-color: #E9E6E6;
}
.nav a:active{
    color: #A3A3A3;
    background-color: #E9E6E6;
}

.social {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 70px;
}

.ig {
    image-rendering: crisp-edges;
    width: 50px;
    height: 50px;
    margin: 0 10px;
}
.fb{
    image-rendering: crisp-edges;
    width: 47px;
    height:47px;
    margin: 0 10px;
}

/*####MAIN####*/

main-1 {
    display: flex;
    grid-area: main;
    background-color:#f3f3f3;

}
main-1-mision {
    display: flex;
    grid-area: main;
    background-color:#f3f3f3;
    margin-bottom: 50px;

}
main-2 {
    display: flex;
    grid-area: main2;
    background-color:#f3f3f3;    
}
.custom-list {
    list-style-type: none;
    padding-left: 20px;
  }
  
  .custom-list li {
    margin-bottom: 10px;
    padding-left: 30px;
    position: relative;
    bottom: 20px;
  }
  
  .custom-list li::before {
    content: '\2022'; /* Código Unicode para un punto (•) */
    color: black; /* Color del punto */
    font-size: 1.2em;
    position: absolute;
    left: 0;
    top: 1px;
  }
  

.info {
    display: flex;
    flex: 40%;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.info h2 {
    margin-top: 40px;
    position: relative;;
    font-size: 2.0rem;
    margin-left: 1rem;
    color: black;
    bottom: 45px;
}

.info p{
    position: relative;
    bottom: 20px;
    margin: 10px 40px 10px 40px;
    text-align: justify;
}
.info-2 {
    display: flex;
    flex: 40%;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.info-2 h2 {
    margin-top: 70px;
    position: relative;;
    font-size: 2.0rem;
    margin-left: 1rem;
    color: black;
    bottom: 45px;
}

.info-2 p{
    position: relative;
    bottom: 20px;
    margin: 10px 40px 10px 40px;
    text-align: justify;
}
.info-3 {
    display: flex;
    flex: 40%;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    bottom: 50px;
}

.info-3 h2 {
    margin-top: 40px;
    position: relative;;
    font-size: 2.0rem;
    margin-left: 1rem;
    color: black;
    bottom: 45px;
}

.info-3 p{
    position: relative;
    bottom: 20px;
    margin: 10px 40px 10px 40px;
    text-align: justify;
}
.info-4 {
    display: flex;
    flex: 40%;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    bottom: 10px;
}

.info-4 h2 {
    margin-top: 70px;
    position: relative;;
    font-size: 2.0rem;
    margin-left: 1rem;
    color: black;
    bottom: 45px;
}

.info-4 p{
    position: relative;
    bottom: 20px;
    margin: 10px 40px 10px 40px;
    text-align: justify;
}
.info-5 {
    display: flex;
    flex: 40%;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    bottom: 10px;
}

.info-5 h2 {
    margin-top: 70px;
    position: relative;;
    font-size: 2.0rem;
    margin-left: 1rem;
    color: black;
    bottom: 45px;
}

.info-5 p{
    position: relative;
    bottom: 20px;
    margin: 5px 40px 40px 40px;
    text-align: justify;
}
.info-item {
    display: flex;
    align-items: center;
  }
  
  .info-item img {
    margin-right: 20px;
    position: relative;
    bottom: 25px;
    max-width: 100px;
    max-height: 100px;
  }
  .info-item-bizum img{
    margin-right: 10px;
    position: relative;
    top: 10px;
    right: 80px;
    max-width: 100px;
    max-height: 100px;
  }
  .info-item-bizum{
    position: relative;
    left:60px;
  }
  
  .info-item p {
    margin: 0;
  }

.foto {
    display: flex;
    flex: 60%;
    justify-content: center;
    align-items: center;
    object-fit: cover;
    padding: 10px; /* Espacio interno para el borde */
    overflow: hidden; /* Evita que la imagen sobresalga del contenedor */
    max-width: 550px;
    max-height: 550px;
    border-radius: 10px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);
    margin: 10px 10px 20px 10px;
}

.foto img {
    width: 100%; /* La imagen ocupa todo el ancho disponible */
    height: auto; /* Para mantener la proporción de la imagen */
    object-fit: cover; /* Ajusta la imagen al tamaño del contenedor */
    border-radius: 10px;
}
.foto-2 {
    display: flex;
    flex: 60%;
    justify-content: center;
    align-items: center;
    object-fit: cover;
    padding: 10px; /* Espacio interno para el borde */
    overflow: hidden; /* Evita que la imagen sobresalga del contenedor */
    max-width: 420px;
    max-height: 450px;
    border-radius: 10px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);
    margin: 10px 10px 20px 10px;
}

.foto-2 img {
    width: 400px; /* La imagen ocupa todo el ancho disponible */
    height: 400px; /* Para mantener la proporción de la imagen */
    object-fit: cover; /* Ajusta la imagen al tamaño del contenedor */
    border-radius: 10px;
}
.foto-3 {
    display: flex;
    flex: 60%;
    justify-content: center;
    align-items: center;
    object-fit: cover;
    padding: 10px; /* Espacio interno para el borde */
    overflow: hidden; /* Evita que la imagen sobresalga del contenedor */
    max-width: 420px;
    max-height: 450px;
    border-radius: 10px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);
    margin: 10px 10px 50px 10px;
    position: relative;
    bottom: 40px;
}

.foto-3 img {
    width: 400px; /* La imagen ocupa todo el ancho disponible */
    height: 400px; /* Para mantener la proporción de la imagen */
    object-fit: cover; /* Ajusta la imagen al tamaño del contenedor */
    border-radius: 10px;
}
.foto-4 {
    display: flex;
    flex: 60%;
    justify-content: center;
    align-items: center;
    object-fit: cover;
    padding: 10px; /* Espacio interno para el borde */
    overflow: hidden; /* Evita que la imagen sobresalga del contenedor */
    max-width: 550px;
    max-height: 550px;
    border-radius: 10px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);
    margin: 10px 10px 20px 10px;
}

.foto-4 img {
    width: 100%; /* La imagen ocupa todo el ancho disponible */
    height: auto; /* Para mantener la proporción de la imagen */
    object-fit: cover; /* Ajusta la imagen al tamaño del contenedor */
    border-radius: 10px;
}
.foto-4 iframe{
    border-radius: 20px;
}
.foto-5 {
    display: flex;
    flex: 60%;
    justify-content: center;
    align-items: center;
    object-fit: cover;
    padding: 10px; /* Espacio interno para el borde */
    overflow: hidden; /* Evita que la imagen sobresalga del contenedor */
    max-width: 550px;
    max-height: 550px;
    border-radius: 10px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);
    margin: 10px 10px 20px 10px;
}

.foto-5 img {
    width: 450; /* La imagen ocupa todo el ancho disponible */
    height: 500; /* Para mantener la proporción de la imagen */
    object-fit: cover; /* Ajusta la imagen al tamaño del contenedor */
    border-radius: 10px;
}


/*####FOOTER####*/
/* Estilos para el footer */
footer {
    grid-area: footer;
    background-color: #333; /* Color de fondo del footer */
    color: #fff; /* Color del texto */
    padding: 20px;
  position: fixed;
}

.footer-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.footer-info {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 20px;
}

.footer-contact {
    display: flex;
    align-items: center;
    gap: 10px;
}

.footer-contact img {
    width: 30px; /* Ajusta el tamaño de las imágenes según sea necesario */
    height: auto;
}

.footer-copy {
    font-size: 12px; /* Tamaño de fuente para el texto de derechos de autor */
    text-align: center;
}

.footer-line {
    width: 100%;
    height: 1px;
    background-color: #fff; /* Color de la línea */
    margin: 10px 0; /* Espacio entre la línea y los elementos circundantes */
}

/*####COPY####*/

.copy{
    grid-area: copy;
    margin: 20px 10px 10px 10px;
    text-align: center;
    font-size: 10px;
}


/*###MEDIAS QUERIES###*/

@media screen and (max-width:900px) {

    .container {
        display: grid;
        width: 90%;
        height: 90%;
        max-width: 1200px;
        max-height: 1200px;
        margin: auto;
        grid-template-columns: repeat(autofit, minmax(150px, 1fr));
        grid-template-rows: repeat(4, auto);
        grid-template-areas:
            "header header header"
            "main   main    main"
            "footer footer footer"
            "copy copy copy";
    }

    /*####HEADER####*/

    header {
        grid-area: header;
        display: flex;
        flex-direction: column;
        background-color:white;
        gap:2em;
  
    }

    .nav {
        display: flex;
        flex: 75%;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
    }

    .social a{
        position: relative;
        left:65px;
    }
}

@media screen and (max-width:768px) {

    .container {
        display: grid;
        width: 90%;
        height: 90%;
        max-width: 1200px;
        max-height: 1200px;
        margin: auto;
        grid-template-columns: repeat(autofit, minmax(150px, 1fr));
        grid-template-rows: repeat(3, auto);
        grid-template-areas:
            "header"
            "main"
            "footer"
            "copy";
    }

    /*####HEADER####*/
html{
   text-align: center;
}
    header {
        grid-area: header;
        display: flex;
        flex-direction: column;
        background-color:white;
        gap: 2em;

    }

    .nav {
        display: flex;
        flex: 75%;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        
    }
    main-1{
        flex-direction: column;
        
    }
    main-1-mision{
        flex-direction: column;
        
    }
    main-2{
        flex-direction: column;
        
    }

   .info h2{
        margin-bottom: 40px;
        position: relative;
       top:0px;
    }
    .close {
    position: absolute;
  top: 10px;
  right: 70px; /* Ajusta la posición de la 'x' */
  font-size: 30px;
  font-weight: bold;
  color: #aaa;
  cursor: pointer;
  z-index: 1000; /* Asegura que esté encima del contenido */
  }
}