body {
   font-family: "Playpen Sans", cursive;
   font-optical-sizing: auto;
   font-weight: 400;
   font-style: normal;
   margin: 0;
   padding: 0;
}

.sticky-nav {
   position: -webkit-sticky;
   position: sticky;
   top: 0;
   z-index: 1000;
}

/* Header */

.relative {
   background-image: url('img/fondoinicio.jpg');
   background-size: cover;
   background-position: center;
   height: 100vh;
   display: flex;
   justify-content: center;
   align-items: center;
   flex-direction: column;
}

header img {
   width: 100px;
   height: 100px;
   margin-bottom: 20px;
}

header h2, header h3 {
   color: #fff;
}

/* Nav */

nav a:hover {
   color: #48026e;
   text-decoration: none;
}

/* Contenido principal */

main {
   display: flex;
   flex-direction: column;
   align-items: center;
   padding: 20px;
}

main p {
   text-align: justify;
   margin-bottom: 20px;
}

/* Imágenes enlaces */

.row {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
}

.col-md-4 img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   border-radius: 20px;
}

.image-link {
  position: relative; /* Create a containing block for the absolute positioning */
  display: inline-block; /* Make the link an inline-block element */
}

.image-link img {
  transition: opacity 0.3s; /* Add a transition effect to the image opacity */
}

.image-link:hover img {
  opacity: 0.5; /* Set the image opacity to 0.5 on hover */
}

.image-link .image-title {
  position: absolute; /* Position the title absolutely */
  top: 50%; /* Center the title vertically */
  left: 50%; /* Center the title horizontally */
  transform: translate(-50%, -50%); /* Adjust the title position */
  text-align: center; /* Center the title text */
  color: #fff; /* Set the title text color to white */
  background-color: rgba(0, 0, 0, 0.5); /* Add a semi-transparent background to the title */
  padding: 10px; /* Add some padding to the title */
  border-radius: 10px; /* Add a border radius to the title */
  opacity: 0; /* Hide the title initially */
  transition: opacity 0.3s; /* Add a transition effect to the title opacity */
}

.image-link:hover .image-title {
  opacity: 1; /* Show the title on hover */
}

/* Contenido geral paginas varias*/

.paginasgenerales {
  display: block;
  margin: 0 auto;
  width: 100%; /* ajusta el ancho de la imagen */
}

/* centrar la imagen verticalmente */
.paginasgenerales {
  position: relative;
}

/* whatsapp */

#whatsapp {
   z-index: 9999;
   position: fixed;
   bottom: 15px;
   right: 15px;
}

/* Footer */

footer {
   background-color: #f7f7f7;
   padding: 20px;
   text-align: center;
}

footer a {
   margin: 10px;
   text-decoration: none;
}

footer a:hover {
   color: #48026e;
   text-decoration: none;
}

/* Responsive */

@media (max-width: 768px) {
   .relative {
      height: 50vh;
   }
   main {
      padding: 10px;
   }
   .col-md-4 {
      margin: 5px;
   }
}

@media (max-width: 480px) {
   .relative {
      height: 30vh;
   }
   main {
      padding: 5px;
   }
   .col-md-4 {
      margin: 2px;
   }

   header h1, header h3 {
      font-size: 80%;
   }
   header a img {
      width: 30%;
      height: 30%;
   }
}