/* ANR BLUE rgba(92, 140, 199, 1) background: #f1f5fa */

html, body {
  height: 100%; 
width: 100%;       
  margin: 0;            
  padding: 0;
  display: flex;
  flex-direction: column; 
font-family: 'Source Serif 4', Arial, sans-serif; 
   font-weight: 300;
  background-color: #F9F1EE;
  color: #333;
box-sizing: border-box;
}


.page-container {
  min-height: 100vh;     /* Always at least full screen height */
  display: flex;
  flex-direction: column;
}



/* --------- header --------- */

header {
  background-color: #F9F1EE;
  color: #333;
  padding: 0.8em 2em;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
box-sizing: border-box;
gap: clamp(1em, 1vw, 120px);
}


#header {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
}

.header-text {
  text-align: center;
font-family: 'Merriweather', 'Source Serif 4', Arian, sans-serif;
}

header h1 {
  margin: 0;
  font-size: 1.8em;
text-align: center;
font-family: 'Merriweather', 'Source Serif 4', Arian, sans-serif;
  font-weight: 700;
}


h4 {
  margin: 0;
  font-size: 1.3em;
font-family: 'Cormorant Garamond', inherit;
  font-weight: 600;
}


h4 {
  margin: 0;
  font-size: 1.1em;
font-family: inherit;
  font-weight: 600;
}


#spacer {
width:clamp(0em, 10vw, 120px);
}

.subtitle {
  margin: 0.2em 0 0;
  font-size: 1em;
  font-weight: 600;
  color: black;
text-align: center;
}


.logo {
  right: 20px;
  height: auto;
  width: clamp(0em, 20vw, 130px);
  border-radius: 8px;
}



/* --------- navigator --------- */

.navbar {
  background-color: #333 ;
 font-family: inherit; 
font-variant: small-caps;
  padding: 1em 0;
  border-radius: 12px 12px 12px 12px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
box-sizing: border-box;
position: relative;
}

.nav-links {
  display: flex;
 justify-content: center; 
 align-items:center;
 gap: clamp(2em, 11vw, 200px);
 transition: max-height 0.3s ease-out;
}


.nav-links button {
  background: none;
  border: none;
  color: white;
font: inherit;
font-variant: inherit;
  font-size: 1em;
  cursor: pointer;
  transition: color 0.3s, transform 0.2s;
}

.nav-links button:hover {
  color: #ef8b41;
  transform: scale(1.1);
}


.nav-toggle {
  display: none;
  background: none;
  border: none;
  color: white;
  font-size: 1.4em;           /* smaller icon size */
  cursor: pointer;
  padding: 0.25em 0.5em;      /* less padding = fits in bar */
  line-height: 1;             /* keeps it compact */
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translateY(-50%); /* perfectly center vertically */
}

/* ===== Responsive behavior ===== */


/* --------- content --------- */


.content {
flex: 1;   
  padding-left: 0.5em;
padding-right: 0.5em;
padding-top: 0.5em;
  margin-left: clamp(1em, 10vw, 7em);
margin-right: clamp(1em, 10vw, 7em);
  margin-top: 1em;
bottom: 0;
box-sizing: border-box;
}

.page {
  visibility: hidden;  
  position: absolute;    
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.3s ease;
}

/* Visible page */
.page.active {
  visibility: visible;
  position: relative;   
  opacity: 1;
  z-index: 1;
}

.page.two-column {
  display: flex;
  flex-direction: row;
  align-items: left;
  justify-content: space-between;
  gap: 3em;
  margin: 2em 0;
}

.page.two-column .text-column {
  flex: 1;
  text-align: justify;
}

.page.two-column .image-column {
  flex: 0 1 800px; /* fixed width */
  display: flex;
  justify-content: center;
}

.page.two-column .image-column img {
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}





/* --------- home --------- */

.opaque {
opacity: 0.9;
border: 1px solid rgba(40, 40, 40, 0.6);
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}


.image-wrapper {
  text-align: center;    
  margin: 1.5em 0;  
box-sizing: border-box  
}

.image-tooltip-dynamic {
  position: relative;
  display: inline-block;
box-sizing: border-box
}

.image-tooltip-dynamic .tooltip-text {
  position: absolute;
  top: 0;               
  left:50%;         
  transform: translateX(-105%); 
  background-color: rgba(0, 0, 0, 0.8);
  color: white;
  padding: 5px 8px;
  border-radius: 4px;
  font-size: 0.9em;
  white-space: nowrap;
  pointer-events: none; 
  opacity: 0;
  transition: opacity 0.1s ease;
  z-index: 1000;
}

.gradient {
  position:absolute;
  z-index:2;
right:0; bottom:0; left:0;
height:300px;
background: none;
background: -moz-linear-gradient(top, rgba(255,255,255, 0)) 0%, rgba(255, 255, 255, 1) 80%)
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255,255,255, 0)), color-stop(80%, rgba(255,255,255, 0)));

}



/* --------- members ---------  */



/* members - text */

.members-text {
  flex: 1;              
  text-align: justify;   
}

.members-list {
  list-style: none;
  padding-left: 0;
  margin: 1em 0;
}

.members-list li {
  display: flex;
  flex-direction: row;
align-items: center; 
  padding: 0.5em 0;
  position: relative;
padding-left: 1em;
}

.members-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: #333;
  font-size: 1.2em;
  line-height: 1;
}

.member-name {
  flex: 0;
  min-width: 9em;  
  max-width: 15em; 
}

.member-role {
  flex: 1;
  min-width: 14em;   
  max-width: 20em; 
  color: #555;
 }


.members-list-simple {
  margin: 1em 0;
  padding-left: 1em;
display: none;
}


.members-list-simple li {
  margin-bottom: 0;
padding: 0.4em 0;
display: list-item;
  white-space: normal;
}







/*  ----------- publications --------- */

#publications {
  margin: 3.5em 0;
}

.publications-list {
list-style-type:"\21B3";
padding-left: 20px;
}

.publications-list li {
padding: 4px;
}

summary {
border-top-left-radius: 5px;
border-top-right-radius: 5px;
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
outline:none;
}

summary:hover{ 
background: #F0E8E5;
cursor: pointer;
}

details > summary {
padding: 2px 6px;
list-style:none;
}

details > *:not(summary) {
  text-align: justify;  
  margin: 0.5em 0;   
}

%details > summary:before{
%content: "\21B3";
%}

details > summary::-webkit-details-marker {
  display: none;
}


/* --------- activities ------- */

#activities {
  margin: 3.5em 0;
}

/* --------- footer --------- */

footer {
  background-color: #F9F1EE; 
  color: #333;
  text-align: left;
  padding: 0.55em 0;
  margin: 0em;
  font-size: 0.9em;
  margin-top: 2em;
  margin-left: clamp(1.111em, 10vw, 7.777em);
  margin-right: clamp(1.111em, 10vw, 7.777em);
  margin-bottom: 0;
  bottom: 3px;
  left: 0;
right: 0;
box-sizing: border-box
} 


footer *:last-child {
  margin-bottom: 0;
}

#footer-extra {
  display: none;
}


/* --------- Links ---------*/
a {
  color: #333; 
  text-decoration: none;
   border-bottom: 1px dotted rgba(26, 77, 143, 0.6); 
  padding-bottom: 2px;   transition: color 0.2s ease, border-bottom-color 0.2s ease;
}

a:hover,
a:focus {
  color: #0d3266; 
  border-bottom-color: rgba(26, 77, 143, 0.9); background: #F0E8E5;
}



a:visited:hover {
color: #551a8b;
background: #F0E8E5;
}

a.docs {
border-bottom: none;
color: #0645ad;
text-decoration: underline;
}

a.docs:visited {
color: #551a8b;
border-bottom: none;
text-decoration: underline;
}

a.img {
border-bottom: none;
text-decoration: none;
background: none;
padding-bottom: none;
transition: none;
}




/* Responsive: hide image on small screens */

/* responsive images */
@media (max-width: 930px) {
  .page.two-column {
    flex-direction: column;
  }
  .page.two-column .image-column {
    display: none;
  }
}

@media (max-width: 45.5em) {
  .image-wrapper {
	display: none;
	}
}


/* responsive list */
@media (max-width: 700px) {
  .members-list {
    display: none;
  }
  .members-list-simple {
    display: block;
  }
}


/* responsive header */
@media (max-width: 700px) {
  #spacer {
    width: 1vw;
  }

  .nav-links {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 0.3em;                /* tighter spacing between items */
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.3s ease, opacity 0.3s ease;
  }

  .nav-links.open {
    max-height: 250px;         /* enough for all buttons */
    opacity: 1;
    padding-bottom: 0.5em;
  }

  .nav-links button {
    padding: 0.5em 1em;        /* smaller buttons on mobile */
    width: 30%;
    text-align: center;
  }

  .nav-toggle {
    display: block;
  }
}



