*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}


body{
  scroll-behavior: auto;
  background-color: #fcfbfb;
  min-height: 100vh;
}

/* Fonts */

/* Quicksand-regular - latin */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 400;
  src: 
       url('https://static.igem.wiki/teams/4477/wiki/quicksand-v29-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('https://static.igem.wiki/teams/4477/wiki/quicksand-v29-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('https://static.igem.wiki/teams/4477/wiki/quicksand-v29-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('https://static.igem.wiki/teams/4477/wiki/quicksand-v29-latin-regular.svg') format('svg'); /* Legacy iOS */
}

/* Quicksand-Lite */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 300;
  src:
       url('https://static.igem.wiki/teams/4477/wiki/quicksand-v29-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('https://static.igem.wiki/teams/4477/wiki/quicksand-v29-latin-300.woff') format('woff'), /* Modern Browsers */
       url('https://static.igem.wiki/teams/4477/wiki/quicksand-v29-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('https://static.igem.wiki/teams/4477/wiki/quicksand-v29-latin-300.svg') format('svg'); /* Legacy iOS */
}

/* Quicksand-Bold */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 600;
  src:
       url('https://static.igem.wiki/teams/4477/wiki/quicksand-bold/quicksand-v29-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
       url('https://static.igem.wiki/teams/4477/wiki/quicksand-bold/quicksand-v29-latin-600.woff') format('woff'), /* Modern Browsers */
       url('https://static.igem.wiki/teams/4477/wiki/quicksand-bold/quicksand-v29-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
       url('https://static.igem.wiki/teams/4477/wiki/quicksand-bold/quicksand-v29-latin-600.svg') format('svg'); /* Legacy iOS */
}

/* open-sans-regular - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src:
        url('https://static.igem.wiki/teams/4477/wiki/open-sans-v29-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
        url('https://static.igem.wiki/teams/4477/wiki/open-sans-v29-latin-regular.woff') format('woff'), /* Modern Browsers */
        url('https://static.igem.wiki/teams/4477/wiki/open-sans-v29-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
        url('https://static.igem.wiki/teams/4477/wiki/open-sans-v29-latin-regular.svg') format('svg'); /* Legacy iOS */
}

/* open-sans BOLD */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src:
       url('https://static.igem.wiki/teams/4477/wiki/open-sans-v29-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('https://static.igem.wiki/teams/4477/wiki/open-sans-v29-latin-700.woff') format('woff'), /* Modern Browsers */
       url('https://static.igem.wiki/teams/4477/wiki/open-sans-v29-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('https://static.igem.wiki/teams/4477/wiki/open-sans-v29-latin-700.svg') format('svg'); /* Legacy iOS */
}

/* open-sans ITALIC */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  src:
       url('https://static.igem.wiki/teams/4477/wiki/open-sans-v29-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('https://static.igem.wiki/teams/4477/wiki/open-sans-v29-latin-italic.woff') format('woff'), /* Modern Browsers */
       url('https://static.igem.wiki/teams/4477/wiki/open-sans-v29-latin-italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('https://static.igem.wiki/teams/4477/wiki/open-sans-v29-latin-italic.svg') format('svg'); /* Legacy iOS */
}

/* Montserrat SuperBold */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  src:
       url('https://static.igem.wiki/teams/4477/wiki/montserrat-800-bold/montserrat-v25-latin-800.woff2') format('woff2'), /* Super Modern Browsers */
       url('https://static.igem.wiki/teams/4477/wiki/montserrat-800-bold/montserrat-v25-latin-800.woff') format('woff'), /* Modern Browsers */
       url('https://static.igem.wiki/teams/4477/wiki/montserrat-800-bold/montserrat-v25-latin-800.ttf') format('truetype'), /* Safari, Android, iOS */
       url('https://static.igem.wiki/teams/4477/wiki/montserrat-800-bold/montserrat-v25-latin-800.svg.svg') format('svg'); /* Legacy iOS */
}

/* NAVIGATION BAR STYLING */
nav.navbar{
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.navbar{
    display: flex;
    width: 100%;
    background-color:rgba(255, 255, 255, 0);
    backdrop-filter: blur(5px);
    transition: visibility 0s, 0.6s, opacity 0.6s linear, transform 1s;
}

.nav-item{
   padding: 0px 20px;
   font-family: 'Quicksand';
   font-style: normal;
   font-weight: 400;
   font-size: 16px;
}

.scrolled{
  background-color: #06053fdf;
  backdrop-filter: blur(5px);
  transition: visibility 0s, 0.6s, opacity 0.6s linear, transform 1s;
  box-shadow: 10px 0 5px #2128327a;
}

.scrolled ul.dropdown-menu.show{
  background-color: #161617df;
  text-align: left;
}
ul.dropdown-menu.show {
  backdrop-filter: blur(5px);
  background-color: #00000044;
  text-align: left;
}

a.dropdown-item.hvr-fade {
  color: white;
}


/* footer */
/* Vertical rule */
.vertical-rule {
  border-left: 1px solid rgb(255, 255, 255);
  height: 80px;
}

.socials p{
  margin-bottom: 1rem!important;
}

.icon path{
  fill: white;
}

.icon  svg{
  height: 25px;
  width: auto;
}

.vgem-footer{
  width: 100%;
}

.footer-divider {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
}

.footer-divider svg {
  position: relative;
  display: block;
  width: calc(100% + 1.3px);
  height: 52px;
  transform: translateY(2px) rotateY(180deg);
}

.footer-divider .shape-fill {
  fill: #090909;
}

.section ul{
  text-align: left;
  list-style: none;
  line-height: 1.6;
  padding: 0rem;

}

  .bottom-footer{
    background-image: url('https://static.igem.wiki/teams/4477/wiki/images/footer-bottom.svg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position-x: center;
    background-position-y: bottom;
    color: white;
    width: 100%;
  }
  .bottom-footer li {
    padding:0 10px;
  }
  
  .vgem-footer ul a {
    color:inherit;
    text-decoration:none;
    opacity:0.8;
    font-size: small;
    font-family: "Open Sans";
    font-style: normal;
    font-weight: 400;
  }
  
  .vgem-footer ul a:hover {
    opacity:1;
  }
  
  .vgem-footer .social {
    text-align:center;
    padding-bottom:25px;
  }
  
  .vgem-footer .social > a {
    font-size:24px;
    width:40px;
    height:40px;
    line-height:40px;
    display:inline-block;
    text-align:center;
    border-radius:50%;
    border:1px solid #ccc;
    margin:0 8px;
    color:inherit;
    opacity:0.75;
  }

  .vgem-footer h5 {
    font-size: medium;
  }
  
  .license{
    backdrop-filter: blur(10px);
  }

  .logos img{
    float: left;
    width: 100px;
    object-fit: cover;
    padding-inline: 1rem;
    filter: brightness(0) invert(1);
  }

  .shuffle-logo-left{
    width: 200px;
    object-fit: cover;
  }

  .top-footer{
    background-color:rgb(9, 9, 9);
    color: white;
  }


  /* Headers */
.standard-header{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 55vh;
}

.filler-header{
  background-color: black;
}

.banner-v1{
  background-image: url('https://static.igem.wiki/teams/4477/wiki/images/standard-header.svg');
  background-size: cover;
  background-repeat: no-repeat;
  background-position-x: center;
  background-position-y: -7rem;
  background-attachment: fixed;
  overflow: hidden;
}

.banner-v2{
  background-image: url('https://static.igem.wiki/teams/4477/wiki/images/blobbackgroundtype2.svg');
  background-size: cover;
  background-repeat: no-repeat;
  background-position-x: center;
  background-position-y: -7rem;
  background-attachment: fixed;
  overflow: hidden;  
}

.banner-v3{
  background-image: url('https://static.igem.wiki/teams/4477/wiki/images/banner-v3.svg');
  background-size: cover;
  background-repeat: no-repeat;
  background-position-x: center;
  background-position-y: -7rem;
  background-attachment: fixed;
  overflow: hidden;
}

/* TEXT STYLING */
.standard-header h1{
    font-size: clamp(2rem, 1rem + 5vw ,5rem);
    font-family: 'Quicksand';
    font-style: normal;
    font-weight: 300;
    color: white;
}

h2{
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 300;
  font-size: clamp(1rem, calc(0.89rem + 1.86vw), 2rem);
}

h3 {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 300;
  font-size: clamp(0.5rem, 0.5rem + 0.8vw, 1.1rem);
}

h4{
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 600;
  font-size: clamp(1rem, 0.5rem + 1.7vw, 1.5rem);

}

h5{
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 300;
  font-size: clamp(1rem, 0.5rem + 1.86vw, 1.5rem);

}

p{
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-size: clamp(0.8rem, calc(0.87rem + 0.10vw), 1rem);
}

.bold-text{
  font-weight: 700;
}

.italic-text{
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
}

.super-bold{
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 800;
}

.large-font{
font-size: clamp(3rem, calc(3rem + 1vw), 5rem);
}

.shock-font{
  font-size: clamp(2rem, calc(2rem+1vw), 3rem)!important;
}

.subtitle{
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 300;
  font-size: clamp(1rem, calc(1rem + 0.5vw) 2rem);
}

.section-top{
  padding-top: max(15vh, 10rem);
}

/* SHAPE DIVIDER STYLES */
.curvy-divider{
  position: relative;
}

/* Wave bottom divider */
.wave-divider{
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
}

.wave-divider svg {
  position: relative;
  display: block;
  width: calc(100% + 1.3px);
  height: 183px;
  transform: rotateY(180deg);
}

.wave-divider .shape-fill {
  fill: rgb(18 18 18);
}

.wave-divider-top {
  position: absolute;
  top: -2px;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  transform: rotate(180deg);
}

.wave-divider-top svg {
  position: relative;
  display: block;
  width: calc(100% + 1.3px);
  height: 183px;
  transform: rotateY(180deg);
}

.wave-divider-top .shape-fill {
  fill: rgb(18 18 18);
}

/* Asymmetrical Curve Divider */

.shuffle-logo-left{
  padding-inline: 1rem;
}

.socials{
  padding-inline: 1rem;
}

.asym-curve-divider {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
}

.asym-curve-divider svg {
  position: relative;
  display: block;
  width: calc(100% + 1.3px);
  height: 177px;
}

.asym-curve-divider .shape-fill {
  fill: #fcfbfb;
}

/* BUTTONS */

.read-next-button{
  border-radius: 1000px;
  padding-inline: 3rem;
  letter-spacing: 0.01 rem;
  color: black;
  background-color: #dfdfff;
  outline: none;
  box-shadow: -6px -6px 14px rgb(255 255 255 / 70%), -6px -6px 10px rgb(255 255 255 / 50%), 6px 6px 8px rgb(255 255 255 / 8%), 6px 6px 10px rgb(0 0 0 / 15%)!important;
}

.read-next-button:hover{
  box-shadow: -2px -2px 6px rgba(255, 255, 255, .6),
              -2px -2px 4px rgba(255, 255, 255, .4),
              2px 2px 2px rgba(255, 255, 255, .05),
              2px 2px 4px rgba(0, 0, 0, .1)!important;
}

.btn-wrapper{
  padding-bottom: 3.5rem;
}

/* ShapeDivider Generated Waves */
.wave2 {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  transform: rotate(180deg);
}

.wave2 svg {
  position: relative;
  display: block;
  width: calc(100% + 1.3px);
  height: 78px;
}

.wave2 .shape-fill {
  fill: #fcfbfb;
}

.wave3 {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
}

.wave3 svg {
  position: relative;
  display: block;
  width: calc(116% + 1.3px);
  height: 70px;
}

.wave3 {
  fill: #fcfbfb;
}

.simple-wave-divider {
  position: absolute;
  bottom: 0;
  margin-bottom: -1px;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
}

.simple-wave-divider svg {
  position: relative;
  display: block;
  width: calc(100% + 1.3px);
  height: 64px;
}

.simple-wave-divider .shape-fill {
  fill: #fcfbfb;
}

.top-page{
  padding-top: 5.5rem!important;
}

.bottom-page {
  padding-bottom: 4rem!important;
}

.body-section{
  padding-block: 1rem;
}

.body-section p{
  text-align: justify;
  word-break: keep-all;
}

.body-section h2{
  padding-bottom: 2rem;
}

.body-section h2:after{
  background-color:#dfdfff;
  bottom: -1rem;
  height: 0.3rem;
  width: 14rem;
  position: relative;
  content: "";
  display: block;

}

.body-section h4{
  padding-bottom: 1rem;
}

/* TOOLTIP STYLING */
.tt{
  cursor: context-menu;
}

.tooltip-inner {
  width: fit-content;
  text-align: left;
}

/* HOVERING INDEX STYLING */
.fixed-index{
  position: sticky;
  position: -webkit-sticky; /* for Safari */
  top: 20vh;
  border-radius: 10px;
  width: min(30vw, 330px);
  padding-inline: 1rem;
  padding-bottom: 1.5rem;
}

.references.content .wrapper {
  max-height: 14rem;
  overflow-y: scroll;
  padding: 1.5rem;
  word-break: break-word;
}

.spacer-div{
  position: sticky;
  position: -webkit-sticky;
  width: 15vw;

}

.index.heading{
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 400;
}

.index-padding{
  padding-block: 5rem;
}

.index-item{
  padding-block: 0.25rem;
  padding-inline: 0.5rem;
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 600;
  text-decoration: none;
  color: black;
}

.index-item a{
  text-decoration:none!important;
  color: black!important;
  
}

.tab.hidden{
  display: none!important;
}

.index-item.active::before{
  display: inline-block;
  content: '';
  -webkit-border-radius: 0.375rem;
  border-radius: 0.375rem;
  height: 0.75rem;
  width: 0.75rem;
  margin-right: 0.5rem;
  background-color: rgb(142, 9, 47);
}


.index-item.indented{
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 300;
  padding-left: 1rem;
  font-size: 0.83em;

}

.top-select{
  text-align: center;
  padding-inline: 1rem;
  border-radius: 0.5rem;
  padding-block: 0.3rem;
  box-shadow: 9px 9px 16px rgba(163, 177, 198, 0.3), -9px -9px 16px rgba(255, 255, 255, 0.5);
}

.top-select.active{
  box-shadow: inset 3px 3px 7px rgba(136, 165, 191, 0.3), inset -3px -3px 7px #FFFFFF;
  border-radius: 0.5rem;
  text-decoration: none;
}


.body-padding{
  padding-inline: 3vw;
  padding-bottom: 5rem;
}

.body-container.narrow{
  padding-inline: 3rem;
  margin-top: 5rem;
  max-width: 60rem;
  margin-bottom: 7rem;
  background-color: #fcfbfb;
  box-shadow: inset 5px 5px 5px rgba(0,0,0,0.05), inset -5px -5px 5px rgba(255, 255, 255, 0.5), 5px 5px 5px rgba(0,0,0,0.05), -5px -5px 5px rgba(255, 255, 255, 0.5);
  -webkit-box-shadow: inset 5px 5px 5px rgba(0,0,0,0.05), inset -5px -5px 5px rgba(255, 255, 255, 0.5), 5px 5px 5px rgba(0,0,0,0.05), -5px -5px 5px rgba(255, 255, 255, 0.5);
  -moz-box-shadow: inset 5px 5px 5px rgba(0,0,0,0.05), inset -5px -5px 5px rgba(255, 255, 255, 0.5), 5px 5px 5px rgba(0,0,0,0.05), -5px -5px 5px rgba(255, 255, 255, 0.5);
}

.body-container{
  padding-inline: 3rem;
  margin-top: 5rem;
  margin-bottom: 7rem;
  background-color: #fefefe;
  box-shadow: -1px 4px 25px -4px rgba(0,0,0,0.5);
  -webkit-box-shadow: -1px 4px 25px -4px rgba(0,0,0,0.5);
  -moz-box-shadow: -1px 4px 25px -4px rgba(0,0,0,0.5);
}

.about-section .wrapper {
  padding-block: 3rem;
}

.text-wrapper{
  text-align: justify;
  word-break: keep-all;
}

li {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-size: clamp(0.8rem, calc(0.87rem + 0.10vw), 1rem);
}

@media only screen and (max-width: 1020px) {
  body{
    background-color: #fcfbfb;
  }
  .fixed-index{
    display: none!important;
  }

  .spacer-div{
    display: none!important;
  }

  .body-container{
    padding-inline: 1rem;
    box-shadow: none;
  }
  .simple-wave-divider .shape-fill{
    fill: #fcfbfb;
  }

}

.gray-divider {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
}

.gray-divider svg {
  position: relative;
  display: block;
  width: calc(100% + 1.3px);
  height: 123px;
  transform: rotateY(180deg);
}

.gray-divider .shape-fill {
  fill: #ECF0F3;
}

.narrow-content {
  padding-block: 3rem;
}

.body-container.wave-div.narrow {
  margin-bottom: 11rem;
}

.gray {
  background-color: #ecf0f3;
}

.img-wrapper.large {
  display: flex;
  justify-content: center;
  padding: 1rem;
  box-shadow: inset -10px -10px 10px #ffffff70,
  inset 10px 10px 10px #aeaec020;
}

.img-wrapper.large img {
  max-width: 20rem;
}

.img-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-top: 3rem;
}

.img-wrapper img{
  border-radius: 15px;
}

.img-wrapper.shadow-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.img-wrapper p {
  max-width: 30rem;
  text-align: center;
  padding-block: 2rem;
  font-style: italic;
}

.contact-wrapper p {
  margin-top: 2rem;
}

.body-container.no-index {
  max-width: 85vw!important;
}

.promo-vid-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-top: 3rem;
  padding-bottom: 10rem;
}

.promo-vid-wrapper iframe{
  margin: 3rem;
}

.body-section.pod-episode-wrapper {
  max-width: 90%;
}

.container.podcasts {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.text-wrapper-pod {
  padding-inline: 5rem;
  padding-block: 2rem;
  box-shadow: -10px -10px 30px #fff,
  10px 10px 30px #aeaec040,
  inset -10px -10px 10px #aeaec025,
  inset 10px 10px 10px #fff;
}


.links-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.links-wrapper img{
  width: 20rem;
  border-radius: 20px;
}

.instapasta img {
  height: 20rem;
}

.wrapper-frame{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-top: 2rem;
}

/* ENGR */

.cyc {
  padding-bottom: 2rem;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
}

.doodle-wrapper img {
  padding: 2rem;
  width: 10rem;
}

.doodle-wrapper {
  margin: 1rem;
}

.pdb-cap.wrapper {max-width: 30rem;text-align: center;}

.pdb-cap-wrapper .wrapper {
    text-align: center;
    font-style: italic;
    
}

tr, td, th {
  text-align: center;
}