/* * {
  border: 1px solid green;
} */

* {
  color: rgb(18, 39, 18);
}
.back-color{
  background-color: rgb(221, 253, 221);
}
#world {
  background-color: rgb(221, 253, 221);
  flex-direction: column;
}

#main-container {
  width: 60%;
}

/* When screen width is 768px or less */
@media (max-width: 800px) {
  #main-container {
    width: 95%;
  }

}

#bio-headshot {
  display: flex;
  flex-direction: row;
}
#bio {
  width:50%;
  margin-right:2%;
  height:100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.title{
  padding: 1%;
  width: 100%;
  height: fit-content;
  font-size: 1.9vw;
  text-align: center;
}

@media (max-width: 500px) {

  #bio-headshot{
    display: flex;
   flex-direction: column;
   align-items: center;
  }
  #bio {
  width:100%;
  height:50%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  }
  h1{
    font-size: 7vw;
  }

}




.centered{
    display: flex;
    justify-content: center;
    align-items: center;
}

.hort-centered{
    display: flex;
    justify-content: center;
}

.vert-centered{
    display: flex;
    align-items: center;
    
}

.col-flex{
   display: flex;
   flex-direction: column;
}

.row-flex{
   display: flex;
   flex-direction: row;
}

.hort-bottom-line{
  border-bottom: 3px solid black;
}

.full-width{
  width: 100%;
}

.fullscreen {
  width: 100%;   /* 100% of the viewport width */
  height: fit-content;  /* 100% of the viewport height */
}

#bio-text {
  height: max-content;
  overflow:hidden
}

@media (max-width: 500px) {
  #bio-text {
    font-size: 10px;
  }
}

.tab{
  width: 17.5%;
  margin-left: 2.5%;
  margin-right: 2.5%;
  display: flex;
  text-align: center;
  justify-content: center;
  align-items: center;
  border: 1px solid rgba(0, 0, 0, 0);

}

.tab:hover > p {
  border-bottom: 1px solid black;
  transition: border-color 0.3s linear;
}

.tab-active{
  border: 1px solid white;
  border-radius: 500vh;
  background-color: rgb(192, 255, 192);;
  transition: background-color 0.3s linear;
  margin-top: 10px;
  margin-bottom: 10px;
  color:white;
}

.tab > p {
    border-bottom: 1px solid rgba(0, 0, 0, 0);
}


.timeline {
  
  display: flex;
  flex-direction: column;
  align-items: center;
  height: fit-content;
  transition: opacity 0.5s ease, transform 0.35s ease;
}

@media (max-width: 800px) {
  .timeline {
    width:95%
  }
}

#timelines {
  position: relative;
  margin-top: 10px;
  overflow: hidden;
}

.timeline.hidden {
  opacity: 0;
  transform: translateY(10px); /* subtle movement */
  pointer-events: none;
  position: absolute;
  width: 100%;
}

.timeline.visible {
  opacity: 1;
  transform: translateY(0);
  position: relative;
}

.no-display{
  display: none;
    transition: display 0.3s linear;
}


.time-node {
  width: 100%;
  max-height: 90vh;   /* overall cap */
  display: flex;
  flex-direction: column;
  align-items: center;
}



.graphic {
  width: 100%;
  margin: 1%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;   /* prevents escape */
}

.graphic img {
  max-width: 100%;
  max-height: 100%;
  height: auto;
  width: auto;
  object-fit: contain;
  display: block;
}



.date{
  width: 100%;
  height: fit-content;
  text-align: center;
  font-style: italic;
}

.article {
  width: 100%;
  height: 60vh;          /* REAL height */  /* cap */
  margin: 1%;
  overflow-y: visible
}

.article object {
  width: 100%;
  height: 100%;
  display: block;
}
.time-node-sep{
width: 1px;
height: 70px;
margin: 5%;
background-color: rgb(18, 39, 18);
}


.video {
  width: 100%;
  aspect-ratio: 16 / 9;   
  margin: 1%;
  overflow: hidden;
  display: flex;
}

.video video,
.video iframe {
  width: 100%;
  height: 100%;
  object-fit: contain;  
  display: block;
  border: none;
}

.audio {
  width: 100%;      /* caps height so it doesn't dominate the node */
  margin: 1% 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

