.line1-1 {
  width: 100%;
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

#content .line1-1 .img-wrap {
  margin: 0;
  padding: 0;
}

.line1-1 > * {
  flex: 1;
  min-width: 300px;
}

#content .figure {
  width: 100%;
  height: 250px;
  padding-left: 40px;
  margin-top: 0;
  margin-bottom: 20px;
}

#content p.fig-title {
  margin-top: 20px;
  margin-bottom: 5px;
  text-indent: 0;
  text-align: left;
  font-family: Nunito-Bold;
}

#content .s1 p.question {
  position: relative;
  width: calc(100% - 70px);
  padding: 5px 20px;
  padding-left: 50px;
  margin-left: 70px;
  border-radius: 5px;
  text-indent: 0;
  font-family: Nunito-Bold;
  color: var(--y);
  border: 2px solid var(--y);
}

#content .s1 p.question::before {
  content: "?";
  display: block;
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  left: 10px;
  top: 50%;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background-color: var(--y);
  color: var(--bg);
  transform: translateY(-50%) rotate(15deg);
}

#content h3 {
  margin: 20px 0;
  padding-left: 60px;
}

#content .s2 h3.abstract + p {
  width: calc(100% - 60px);
  padding: 10px 20px;
  margin-top: 0;
  margin-left: 60px;
  border: 1px solid var(--dg);
  box-shadow: 2px 2px 0 var(--dg);
  border-radius: 5px;
  color: var(--dg);
  font-size: .8em;
}

#content .s1 p.summary {
  position: relative;
  width: calc(100% - 40px);
  padding: 5px 20px;
  padding-left: 50px;
  margin-left: 40px;
  border-radius: 5px;
  text-indent: 0;
  font-family: Nunito-Bold;
  color: var(--bg);
  background-color: var(--mg);
  border: 2px solid var(--mg);
}

#content .s1 p.summary::before {
  content: "S";
  display: block;
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  left: 10px;
  top: 50%;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  border: 2px solid var(--bg);
  color: var(--bg);
  transform: translateY(-50%) rotate(15deg);
}

#content h1,
#content h2 {
  position: relative;
  display: flex;
  gap: .6em;
  align-items: end;
}

#content h1 {
  gap: .4em;
}

#content .time {
  word-wrap: nowrap;
  position: relative;
  bottom: 7px;
  display: block;
  font-family: Nunito-Bold;
  font-size: .5em;
  background-color: var(--y);
  color: var(--bg);
  padding: 3px 7px;
  border-radius: 5px;
}

#content h1 .time {
  font-size: .4em;
}

i {
  background-color: var(--lg);
  font-style: normal;
  padding: 0 5px;
}

.timeline-wrap {
  position: relative;
  width: 100%;
  padding: 40px 0;
  display: flex;
  flex-direction: column;
  gap: 60px;
}

.timeline-wrap::before {
  content: "";
  display: block;
  height: 100%;
  width: 0;
  border: 2px dashed var(--font);
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}

.reflection {
  width: fit-content;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  color: #fff9ea;
  font-family: Montserrat-Bold;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background-color: var(--mg);
  box-shadow: 10px 3px 0 #a3c7a1;
  text-align: center;
  line-height: 100px;
  font-size: 35px;
}

.reflection::after,
.reflection::before {
  content: "";
  display: block;
  position: absolute;
  width: 20px;
  height: 60px;
  background-size: contain;
  background-repeat: no-repeat;
}

.reflection::before {
  bottom: -10px;
  transform: rotate(-35deg);
  background-image: url(https://static.igem.wiki/teams/4628/wiki/ihp/y.svg);
}

.reflection::after {
  top: 5px;
  right: -2px;
  transform: rotate(-35deg);
  background-image: url(https://static.igem.wiki/teams/4628/wiki/ihp/g.svg);
}

.reflection:nth-child(2n) {
  box-shadow: -10px 3px 0 #a3c7a1;
}

.reflection:nth-child(2n) .title {
  right: -30px;
  bottom: 10px;
  transform: rotate(180deg);
}

.reflection:nth-child(2n) .title .txt::after {
  transform: rotate(180deg);
  bottom: -70px;
}

.reflection:nth-child(2n) .title .read {
  transform: rotate(180deg);
  bottom: 50px;
}

.reflection .title {
  right: calc(100% + 20px);
  bottom: 70px;
  position: absolute;
}

.reflection .title .circle {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background-color: var(--mg);
  transform: rotate(-60deg);
}

.reflection .title .circle::before {
  content: "";
  display: block;
  position: absolute;
  width: 1px;
  height: 60px;
  bottom: 100%;
  left: 50%;
  background-color: var(--font);
}

.reflection .title .txt {
  position: absolute;
  bottom: 41.5px;
  right: 65px;
  height: fit-content;
  width: 160px;
  border-bottom: 1px solid var(--font);
}

.reflection .title .txt::after {
  content: "Reflection";
  color: var(--font);
  font-size: 25px;
  display: block;
  position: absolute;
  bottom: -30px;
}

.reflection .title .read {
  cursor: pointer;
  user-select: none;
  background-color: var(--y);
  font-size: 15px;
  width: 120px;
  position: absolute;
  right: 100px;
  bottom: 5px;
  height: 30px;
  border-radius: 5px;
}

.reflection .title .read:hover::after {
  color: var(--font);
}

.reflection .title .read::after {
  content: "READ MORE";
  font-family: Montserrat-Bold;
  display: block;
  position: absolute;
  bottom: -36px;
  left: 10px;
  transition: .6s;
}

.iframe-container {
  position: relative;
  width: 100%; /* This will make the iframe container fill the width of its parent container */
  padding-top: 56.25%; /* Keeps a 16:9 aspect ratio */
  overflow: hidden;
}

.iframe-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none; /* Removes the border around the iframe */
}



#block {
  width: 100vw;
  height: 100vh;
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, .3);
  pointer-events: none;
  opacity: 0;
  transition: all 1s, width 0;
}

#block.show {
  opacity: 1;
  pointer-events: all;
}

#block .icard.show {
  pointer-events: all;
  opacity: 1;
}

#block .card {
  color: var(--font);
  background-color: var(--mg);
  position: absolute;
  z-index: 999;
  opacity: 0;
  pointer-events: none;
  transition: 1s;
  width: max(500px, 60vmin);
  height: max(500px, 60vmin);
  top: calc(50% + 40px);
  left: 50%;
  transform-origin: center;
  transform: translate(-50%, -50%) scale(0);
  border-radius: 50%;
  box-shadow: 40px 6px 0 #a3c7a1;
}

#block h1 {
  color: var(--lg);
}

#block h2 {
  color: var(--y);
  margin: 30px 0;
}

#block p {
  color: var(--bg);
  text-indent: 2em;
  margin: 20px 0;
  line-height: 1.5em;
  text-align: justify;
}

#block .scroll {
  width: 100%;
  height: fit-content;
  max-height: 100%;
  border-radius: 50%;
  overflow: scroll;
  padding: 20%;
  position: absolute;
  z-index: 1001;
}

#block .card.show {
  opacity: 1;
  pointer-events: all;
  transform: translate(-50%, -50%) scale(1);
}

#block .exit {
  position: absolute;
  z-index: 1001;
  width: 8%;
  height: 8%;
  border-radius: 50%;
  border: 5px solid #a3c7a1;
  background-color: var(--bg);
  box-shadow: 5px 2px 0 #4c754a;
  top: 8%;
  left: 80%;
}

#block .exit::after,
#block .exit::before {
  content: "";
  display: block;
  position: absolute;
  width: 5px;
  height: 70%;
  background-color: var(--mg);
  border-radius: 2.5px;
  transform-origin: center;
  left: 45%;
  top: 15%;
  transition: background-color .6s;
}

#block .exit:hover::after,
#block .exit:hover::before {
  background-color: var(--y);
}

#block .exit::before {
  transform: rotate(45deg);
}

#block .exit::after {
  transform: rotate(-45deg);
}

#block .card::after,
#block .card::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 1000;
  width: 60%;
  aspect-ratio: 1.5;
  background-size: contain;
  background-repeat: no-repeat;
}

#block .card::before {
  bottom: 12%;
  transform: rotate(-35deg);
  background-image: url(https://static.igem.wiki/teams/4628/wiki/ihp/y.svg);
}

#block .card::after {
  bottom: 70%;
  right: -32%;
  transform: rotate(-50deg);
  background-image: url(https://static.igem.wiki/teams/4628/wiki/ihp/g.svg);
}

#content .timeline-wrap .interview {
  color: var(--font);
  background-color: #fff0ca;
  position: relative;
  width: 45%;
  padding: 10px 20px;
  padding-top: 50px;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

#content .timeline-wrap .interview::after {
  content: '';
  display: block;
  position: absolute;
  width: 8%;
  aspect-ratio: 1.2;
  top: 20px;
  right: 0;
  transform: translateX(100%);
  background-color: #fff0ca;
  clip-path: polygon(0 0, 0 100%, 100% 50%);
}

#content .timeline-wrap .interview:nth-child(2n) {
  left: 55%;
}

#content .timeline-wrap .interview:nth-child(2n)::after {
  left: 0;
  transform: translateX(-100%);
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}

#block .icard .name,
#content .timeline-wrap .interview .name {
  font-family: Montserrat-Bold;
  font-size: 25px;
}

#block .icard .co,
#content .timeline-wrap .interview .co {
  background-color: var(--font);
  color: #fff0ca;
  border-radius: 5px;
  padding: 2px 10px;
  width: fit-content;
}

#block .icard .date,
#content .timeline-wrap .interview .date {
  padding-left: 8px;
  font-size: .8em;
  text-decoration: underline;
}

#content .timeline-wrap .interview .abs {
  padding: 5px 10px;
  text-indent: 1em;
  border-radius: 5px;
  background-color: var(--bg);
}

#content .timeline-wrap .interview .more {
  margin-top: 10px;
  background-color: var(--mg);
  color: #fff9ea;
  font-family: Nunito-Bold;
  width: fit-content;
  padding: 5px 10px;
  font-size: .8em;
  position: relative;
  border-radius: 5px;
  border: 2px solid var(--mg);
  cursor: pointer;
  transition: .6s;
  user-select: none;
}

#content .timeline-wrap .interview .more:hover {
  border: 2px solid var(--font);
  color: var(--font);
  background-color: transparent;
}

#block .icard {
  background-color: #fff0ca;
  position: absolute;
  top: calc(10% + 40px);
  left: max(15%, calc(50% - 500px));
  width: 80%;
  max-width: 1000px;
  height: 70%;
  border-radius: 20px;
  pointer-events: none;
  opacity: 0;
  transition: 1s;
  display: flex;
  align-items: center;
}

#block .icard .scroll {
  border-radius: 0;
  overflow: scroll;
  padding: 50px 80px;
  padding-top: 0;
  margin-top: 100px;
}

#block .icard .top {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  align-items: flex-end;
  margin-bottom: 20px;
}

#block .icard .top img {
  max-height: 200px;
  border-radius: 3%;
}

#block .icard .top .r {
  min-width: 200px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

#block .icard .top .r .b {
  display: flex;
  align-items: end;
  gap: 10px;
}

#block .icard h3 {
  color: var(--mg);
  font-family: Nunito-Bold;
}

#block .icard p {
  color: var(--font);
  text-indent: 1.5em;
}

#block p.a,
#block p.q {
  position: relative;
  color: var(--dg);
}

#block p.a {
  color: var(--font);
}

#block p.a::before,
#block p.q::before {
  content: "Q:";
  font-family: Nunito-Bold;
  display: block;
  position: absolute;
  left: -1.5em;
  color: var(--dg);
}

#block p.a::before {
  content: "A:";
  color: var(--y);
}

#block .bot .imgbox {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

#block .bot img {
  margin: 10px auto;
  border-radius: 15px;
  max-height: 600px;
  max-width: 100%;
}

#block .close {
  width: 35px;
  height: 35px;
  border-radius: 50%;
  border: 3px solid var(--font);
  background-color: rgba(255, 240, 202, .6);
  position: absolute;
  z-index: 1001;
  cursor: pointer;
  transition: .6s;
  top: 30px;
  right: 40px;
}

#block .close:hover {
  transform: rotate(90deg);
}

#block .close::after,
#block .close::before {
  content: "";
  display: block;
  position: absolute;
  width: 3px;
  height: 70%;
  background-color: var(--font);
  border-radius: 1.5px;
  transform-origin: center;
  left: 45%;
  top: 15%;
}

#block .close::before {
  transform: rotate(45deg);
}

#block .close::after {
  transform: rotate(-45deg);
}

#block p.no-indent {
  text-indent: 0;
}

#block strong {
  font-family: Nunito-Bold;
  background-color: var(--y);
  padding: 0 5px;
  border-radius: 5px;
}

@media screen and ((max-width: 850px) or ((min-width: 920px) and (max-width: 1000px)) or (max-aspect-ratio: 2/3)) {
  #content .figure {
    height: 320px;
  }

  .timeline-wrap::before {
    left: 80%;
  }

  .reflection {
    left: 80%;
  }

  .reflection:nth-child(2n) {
    box-shadow: 10px 3px 0 #a3c7a1;
  }

  .reflection:nth-child(2n) .title {
    right: calc(100% + 20px);
    bottom: 70px;
    transform: rotate(0);
  }

  .reflection:nth-child(2n) .title .txt::after {
    transform: rotate(0);
    bottom: -30px;
  }

  .reflection:nth-child(2n) .title .read {
    transform: rotate(0);
    bottom: 5px;
  }

  #content .timeline-wrap .interview,
  #content .timeline-wrap .interview:nth-child(2n) {
    left: 10%;
    width: 60%;
  }

  #content .timeline-wrap .interview:nth-child(2n)::after {
    left: 100%;
    transform: translateX(0);
    clip-path: polygon(0 0, 0 100%, 100% 50%);
  }
}

@media all and (max-width: 700px), all and (max-aspect-ratio: 2/3) {
  .line1-1 p {
    max-width: 0;
  }

  .timeline-wrap {
    max-width: 100vw;
    overflow: hidden;
  }

  .timeline-wrap::before {
    display: none;
  }

  .timeline-wrap > .reflection {
    top: 0;
    left: 70%;
    transform: scale(.8);
    max-width: 100vw;
  }

  .timeline-wrap > .interview {
    width: calc(100% - 40px) !important;
    left: 15px !important;
  }

  #block .icard .scroll {
    padding: 40px 20px;
    padding-top: 80px;
  }

  #block .icard .b {
    flex-direction: column;
  }
}

#content b {
  font-family: Nunito-Bold;
}

.legends {
  display: flex;
  flex-wrap: wrap;
  row-gap: 20px;
  column-gap: 10px;
  justify-content: center;
  margin-bottom: 50px;
}

.legend {
  position: relative;
  background-color: var(--clr);
  width: 220px;
  aspect-ratio: .45;
  flex: -1;
  border-radius: 5px;
  font-size: .8em;
  text-align: center;
  overflow: hidden;
  padding: min(40%, 190px) 20px;
  padding-bottom: 10%;
}

.legend .txt {
  position: relative;
  top: 25px;
}

.legend .circle {
  position: absolute;
  top: 0;
  left: 50%;
  width: 150%;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--bk);
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: center;
  align-items: flex-end;
  padding-bottom: 10%;
}

.legend .circle::after {
  display: block;
  position: absolute;
  content: "";
  inset: 5px;
  border-radius: 50%;
  border: 5px solid var(--clr);
}

.legend .circle img {
  height: 120px !important;
  object-fit: contain;
  object-position: center;
}

.legend::after {
  display: block;
  content: "";
  position: absolute;
  width: calc(100% - 4px);
  aspect-ratio: 4.5;
  background-color: #fffdf7;
  bottom: -1px;
  left: 50%;
  transform: translateX(-50%);
  clip-path: polygon(50% 0, 0 100%, 100% 100%);
}

#block p.question {
  padding-left: 20px;
  font-family: Nunito-Bold;
}

.labels {
  position: absolute;
  left: 20px;
  top: -7px;
  display: flex;
  gap: 5px;
}

.labels * {
  position: relative;
  border-radius: 3px;
  width: 30px;
  height: 50px;
}

.labels ::after {
  display: block;
  content: "";
  position: absolute;
  width: calc(100% - 2px);
  aspect-ratio: 4;
  background-color: #fff0ca;
  bottom: -1px;
  left: 50%;
  transform: translateX(-50%);
  clip-path: polygon(50% 0, 0 100%, 100% 100%);
}

.labels .lb {
  background-color: #5885a6;
}

.labels .db {
  background-color: #243e4f;
}

.labels .g {
  background-color: #327c57;
}

.labels .pk {
  background-color: #e1966c;
}

.labels .y {
  background-color: #d68f23;
}

.labels .p {
  background-color: #323a7c;
}