/* Lab title + subtitle hover effect */
.lab-title, .lab-subtitle {
  text-decoration: none;
  color: inherit; /* keep normal color */
  transition: color 0.3s ease;
}

.lab-title:hover,
.lab-subtitle:hover {
  color: #2ecc71; /* hover color */
}


/* ===== General Layout ===== */
body { 
  font-family: Arial, sans-serif; 
  max-width: 1200px;        /* max width of whole site */
  margin: auto; 
  line-height: 1.6; 
  padding: 20px; 
  display: flex;            /* three-column layout: logo | content | right image */
  background-color: rgb(255, 252, 247);
}

/* ===== Left Sidebar (Logo) ===== */
.sidebar {
  flex: 0 0 auto;
  margin-right: 40px;
}

.sidebar img {
  height: 300px;          /* fix height */
  width: auto;            /* scale proportionally */
  object-fit: contain;
}

/* ===== Right Sidebar (Background Photo) ===== */
.rightbar {
  flex: 0 0 auto;
  margin-left: 40px;
}

.rightbar img {
  height: 300px;          /* fix height */
  width: auto;            /* scale proportionally */
  object-fit: contain;
}

/* ===== Main Content ===== */
.content {
  flex: 1;                /* take remaining space */
  padding: 20px;
  border-radius: 10px;
  background-color: white;
  box-shadow: 0 0 8px rgba(0,0,0,0.1);
}

/* ===== Header ===== */
header {
  text-align: center;
  width: 100%;
  margin-bottom: 20px;
}

header h1 {
  margin: 0; 
  font-size: 2em;
}

header p {
  margin: 5px 0 0; 
  font-size: 1.1em; 
  color: #444;
}

/* ===== Navigation ===== */
nav {
  margin-bottom: 40px;
  text-align: center;
}

nav a {
  margin: 0 10px; 
  text-decoration: none; 
  color: #0366d6;
}

nav a:hover { 
  text-decoration: underline; 
}

/* ===== Sections ===== */
section { 
  margin-bottom: 40px; 
}

/* ===== Footer ===== */
footer { 
  text-align: center; 
  font-size: 0.9em; 
  color: #666; 
  margin-top: 40px; 
}

.pub-icon {
  width: 16px;       /* small size */
  height: 16px;
  margin-right: 6px; /* spacing between icon and text */
}

/* ===== Publications ===== */
#publications ol {
  list-style-position: outside; /* keep numbers outside */
  padding-left: 20px;           /* indentation for numbers */
}

#publications li {
  font-size: 0.95em; 
  margin-bottom: 12px;
  line-height: 1.4;
  display: list-item;           /* restore normal list behavior */
}

/* Existing styles stay the same */

/* Responsive adjustments for screens smaller than 800px */
@media (max-width: 800px) {
  body {
    flex-direction: column; /* stack everything vertically */
    max-width: 100%;        /* allow full width */
    padding: 10px;
  }

  .sidebar {
    flex: 0 0 auto;         /* sidebar takes natural size */
    margin: 0 auto 20px;    /* center it and add spacing below */
    width: 150px;           /* smaller sidebar width on mobile */
  }

  .content {
    flex: 1 0 auto;
    padding: 10px;
  }

  header h1, header p {
    text-align: center;     /* center header text on mobile */
  }

  nav {
    text-align: center;     /* center navigation links */
  }
}

