body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

header {
  background-color: #fff;
  color: #333;
  padding: 20px;
  position: fixed;
  width: 100%;
  z-index: 1000;
}

.logo {
  width: auto;
  height: 40px;
  margin-left: 75px;
}

.wrapper {
  display: grid;
  grid-template-columns: 1fr 3fr 1fr;
  font-family: Helvetica, Arial, sans-serif;
  margin-top: 80px;  /* Adjust for fixed header height */
  height: calc(100vh - 80px);  /* Full height minus header */
  user-select: none;
}

.resNavWrapper,
.articleWrapper,
.rshInfoWrapper {
  overflow-y: auto;  /* Enable vertical scrolling */
  padding: 20px;
}

.resNavWrapper {
  background-color: rgba(30, 144, 255, .1);
  background-color: white;
  margin: 0;
}

.articleWrapper {
  /*background-color: rgba(30, 144, 255, .1);*/
  background-color: #A7C7E7;
  background-color: rgba(167, 199, 231, 0.5);
}

.rshInfoWrapper {
  background-color: rgba(30, 144, 255, .1);
  background-color: white;

}

aside.right {
  background-color: rgba(30, 144, 255, .1);
  font-size: small;
  padding: 20px;
  width: 18%;
  border-radius: 0 50% 50% 0;
}
.imgIntro {
  width: 350px;
  height: 350px;
  border-radius: 50%;
  background-color: #fff;
}
.circle {
  width: 250px;
  height: 250px;
  margin: 0 auto;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.5);
  overflow: hidden; /* Oculta cualquier parte de la imagen que sobresalga */
  position: relative; /* Necesario para el posicionamiento absoluto de la imagen */
}

.circle img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover; /* Hace que la imagen llene todo el contenedor, manteniendo las proporciones y recortando los bordes si es necesario */
  width: 100%; /* Asegurarse de que la imagen ocupe todo el ancho del contenedor */
}
footer {
  text-align: center;
  background-color: ghostwhite;
  color: #333;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

footer p {
  padding: 2px;
  margin: 0;
}

.treeview {
    font-family: Arial, sans-serif;
    font-size: 0.9em;
    margin: 0;
    padding: 0;
}
.treeview ol {
    margin: 0;
    padding: 0;
    list-style: none;
    position: relative;
}
.treeview ul {
    padding: 10px;
    margin: 0;
}

details {
    margin-bottom: 5px;
}

details summary {
    cursor: pointer;
    user-select: none;
    font-weight: bold;
}

li {
    list-style: none;
}

.leaf {
    cursor: pointer;
    text-decoration: none;
    padding: 2px;
}
.leaf:hover {
    background-color: rgba(30, 144, 255, .15);
}
.selected {
    background-color: rgba(30, 144, 255, .2);
}

.visitor {
  text-align: right;
  padding-right: 50px;
}

/* Define styles for the article */
article.content {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.titulo {
  text-align: center;
}

article.content figure {
  border: 1px solid #ccc;
  border-radius: 8px;
  padding: 5px;
  margin: 16px;
  width: 300px;
  background-color: #fff;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
article.content figure:hover {
  transform: scale(1.1);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.4);
  border: 2px solid rgba(255, 255, 255, 0.7);
}

article.content figure img {
  width: 100%;
  height: auto;
  border-bottom: 1px solid #ccc;
  padding-bottom: 10px;
}

article.content figure figcaption {
  text-align: center;
  padding: 10px 0;
}

article.content figure figcaption h3 {
  margin: 10px 0;
  font-size: 1.2em;
}

article.content figure figcaption h4 {
  margin: 5px 0;
  font-size: 1em;
  color: #666;
}

article.content figure figcaption p {
  font-size: 0.9em;
  color: #333;
}
article.content figure .description {
  font-size: 0.75em;
  color: #333;
  padding-inline-start: 15px;
  padding-inline-end: 15px;
}