/* Fonts */
@font-face {
    font-family: open-sans;
    src: url(https://static.igem.wiki/teams/4370/wiki/open-sans.ttf);
}

@font-face {
    font-family: merriweather;
    src: url(https://static.igem.wiki/teams/4370/wiki/merriweather.ttf);
}

body {
    margin: auto;
    font-family: open-sans, Arial, sans-serif;
}

.left-aligned { margin-left: auto; }
.bg-dark { background-color: #343a40 !important; }
.bg-hero { background-color: #7952b3; }

/* CALLOUT */
.bd-callout { padding:1.25rem; margin-top:1.25rem; margin-bottom:1.25rem; border:1px solid #e9ecef; border-left-width:.25rem; border-radius:.25rem }
.bd-callout h4 { margin-bottom:.25rem }
.bd-callout p:last-child { margin-bottom:0 }
.bd-callout code { border-radius:.25rem }
.bd-callout+.bd-callout { margin-top:-.25rem }
.bd-callout-info { border-left-color:#5bc0de }
.bd-callout-warning { border-left-color:#f0ad4e }
.bd-callout-danger { border-left-color:#d9534f }

/* footer */
footer a { color: white; font-weight: bold; text-decoration: none; }
footer a:hover { color: white; text-decoration: underline; }

/* Basic Article */

main {
    margin-bottom: 200px;
}

.introduction-block {
    margin: auto;
    width: 70%;
    background-color: rgb(243, 245, 249);
    padding-top: 20px;
    padding-bottom: 30px;
    border-radius: 24px;
}

.introduction-p {
    margin: auto;
    width: 70%;
    line-height: 1.7;
}

.introduction-title {
    margin: auto;
    width: 60%
}

.top-block {
    background-color: rgb(102, 102, 245);
    width:100%;
    margin-top:30px;
    padding-top:20px;
    padding-bottom:20px;
    padding-left: 5%; 
    padding-right: 5%; 
    color: white; 
    font-weight: 900;
}

.bottom-block {
    background-color: rgb(102, 102, 245);
    width:100%;
    margin-top:30px;
    margin-bottom: 0;
    padding-top:20px;
    padding-bottom:20px;
    padding-left: 5%; 
    padding-right: 5%; 
    color: white; 
    font-weight: 900;
}

.article-block {
    margin-top: 40px;
    width:100%;
    scroll-margin-top: 108px;
}

h2 {
   font-family: merriweather
}

.article-title {
    margin: auto;
    width: 45%;
}

.article-big {
    font-family: merriweather;
    font-size: 56px;
    width: 55%;
    margin: auto;
    margin-top: 50px;
}

.article-p {
    margin: auto;
    width: 55%;
    line-height: 1.7;
}

.article-block img {
    margin: auto;
    max-width: 55%;
    margin-top: 16px;
    display: block;
    max-height: 600px;
}

.article-block iframe {
    margin: auto;
    max-width: 55%;
    margin-top: 16px;
    display: block;
    max-height: 600px;
}

.figure-desc {
    margin: auto;
    width: 55%;
    line-height: 1.7;
    font-size: small;
    color: rgb(107, 107, 107);
    text-align: center;
    margin-bottom: 32px;
}

#student-block-team {
    display: grid; 
    grid-template-areas: '1 2 3' '4 5 6';
    grid-template-columns: 1fr 1fr 1fr;
}

#student-block-team img {
    height: 17vw;
    max-width: none;
}

@media (max-width: 1000px) {

    .introduction-block {
        width: auto;
    }

    .introduction-title {
        width: 90%;
    }

    .introduction-p {
        width: 95%;
    }

    .article-title {
        width: 80%;
    }

    .article-p {
        width: 90%;
    }

    .article-block img {
        width: 100%;
    }

    .article-block iframe {
        max-width: 100%;
        max-height: 300px;
    }

    #student-block-team {
        grid-template-areas: none;
        display: block;
    }

    #student-block-team img {
        height: auto;
        max-width: 55%;
    }
}

.toc-title {
    font-size: 22px;
    font-weight: 500;
    font-family: merriweather;
    margin-bottom: 10px;
}

.toc {
    position: sticky;
    top: 113px;
    padding-left: 20px;
    width: 250px;
    height: 500px;
    border-right: solid 1px rgb(206, 206, 206);
    margin-top: 12px;
}

.toc-active {
    background: #ffe8e8;
}

.toc a {
    color: rgb(102, 102, 245);
    text-decoration: none;
    transition: all 1s ease-in-out;
}

.toc-item {
    font-weight: 900;
}

.article-container {
    display: grid;
    gap: clamp(1rem, -10.0769rem + 17.3077vw, 5.5rem);
    grid-template-columns: 120px 1fr 1px;
    margin: 0px auto;
}

/* Streptobook */
.streptobook table {
    border-radius: 20px;
}

.streptobook table, th, td {
    margin: auto;
    padding: 15px;
    font-family: merriweather;
    border-collapse: separate !important;
    border: solid #dbdbdb 1px;
}

.strain-info-panel table tr:nth-child(even) td {
    background: #d8d4f0;
}

.streptobook thead tr {
    font-size: 22px;
    background-color: rgb(102, 102, 245);
    color: white;
}

.strain-select-item {
    margin: 14px;
    border: solid rgba(243, 243, 243, 0.2) 3px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    background: rgba(255, 255, 255, 0.02);
    backdrop-filter: blur(2.8px);
    -webkit-backdrop-filter: blur(2.8px);
    border-radius: 50px 50px 50px 50px;
    display: table;
    transition: all 0.25s ease-in-out;
    cursor: pointer;
    background-color: white;
}

.strain-select-item.selected {
    border: solid rgba(252, 38, 38, 0.2) 3px;
}

.parts-table table, th, td {
    margin: auto;
    padding: 15px;
    font-family: merriweather;
    border: solid #dbdbdb 1px;
}

.parts-table th, td {
    height: 100px;
}

/* Strain info panel */
.strain-info-panel {
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    width: 94%;
    margin: auto;
    margin-top: 80px;

    background-color: white;
    display: grid;
    grid-template-columns: 50% 1fr;
    grid-template-areas: 
    "intro image1"
    "table table"
    "attb attb";
    padding-bottom: 200px;
}

.strain-info-panel .strain-name {
    margin: 20px;
    margin-top: 50px;
    margin-left: 30px;
    font-weight: bold;
    font-style: italic;
    background-color: rgba(252, 38, 38, 0.2);
}

.strain-info-panel img {
    width: 100%;
    box-shadow: 0px 4px 8px 0px rgba(0,0,0,0.1);
}

.strain-info-panel .introduction-block {
    margin-top: 7vw;
}

.strain-info-panel .strain-image-block {
    width: 100%;
    padding: 30px;
    margin-top: 30px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    grid-template-rows: 55% 50%;
    grid-template-areas: 'n1 img1 img1 img1 n2' 'img2 img2 n3 img3 img3';
}

.strain-info-panel .strain-analisys-table {
    grid-area: table;
}

.strain-info-panel .strain-analisys-table table {
    margin: 5%;
}

.strain-info-panel .strain-analisys-table th {
    text-align: center;
    background-color: rgb(102, 102, 245);
    color: white;
}

.strain-select-item h3 {
    font-size: 22px;
    line-height: 30px;
    margin-top: -2px;
    display: table-cell;
    vertical-align: middle;
    font-weight: bold;
    font-style: italic;
}

/* Navigation bar */

.navigation-bar {
    position: sticky;
    font-size: 16px;
    margin-bottom: 0px;
    z-index: 4;
    max-width: 100%;
}

.navigation-headline {
    position: absolute;
    font-family: merriweather, 'Times New Roman', Times, serif;
    left: 74px;
    top: 56px;
    font-weight: bold;
}

.navigation-logo {
    padding-right: 120px;
    margin-right: 60px;
    height: 83px;
    border: solid rgba(90, 90, 90, 0.2) 3px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    background: rgba(255, 255, 255, 0.02);

    backdrop-filter: blur(2.8px);
    -webkit-backdrop-filter: blur(2.8px);

    border-radius: 0 50px 50px 0;
    border-left: 0;
    border-top: 0;
}

.navigation-background1 {
    height: 86px;
    width: 100%;
    margin: 0;
    padding: 0;
    position: fixed;
    top:0;
    background-color: white;
}

.navigation-background2 {
    height: 86px;
    max-width: 100%;
    margin: 0;
    padding: 0;
    position: fixed;
    top:0;
}

.navigation-bar ul {
    list-style-type: none;
}

.navigation-bar .desk-ul {
    margin: 0;
    padding: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 3;
}

.navigation-bar .phone-ul {
    padding: 0;
    padding-top: 36px;
    background-color: rgba(90, 90, 90, 0.2);
    margin: 0;
    text-align: center;
}

.navigation-bar .desk-li {
    float: left;
}

.navigation-bar .phone-li {
    text-decoration: none;
    margin: auto;
    padding-top: 8px;
    padding-bottom: 8px;
    width: 100%;
    border-bottom: #c2c2c2 2px solid;
}

.navigation-bar .desk-li .desk-a {
    transition: all 0.25s ease-in-out;
    display: block;
    text-align: center;
    padding-top: 32px;
    padding-bottom: 32px;
    width: 170px;
    text-decoration: none;
}

.navigation-bar .phone-a {
    color: black;
    text-decoration: none;
}

.navigation-bar .desk-li .desk-a:hover {
    background-color: rgba(242, 66, 54, 0.7);
    color: rgb(216, 211, 236);
    font-weight: bold;
}

.navigation-bar .desk-a, .desk-a:hover, .desk-a:focus, .desk-a:active {
    text-decoration: none;
    color: inherit;
}

.navigation-bar .dropbtn {
    cursor: pointer;
    width: 200px;
}

.navigation-bar .dropbtn .desk-a::after {
    box-sizing: border-box;
    display: inline-block;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.3em solid;
    border-right: 0.3em solid transparent;
    border-bottom: 0;
    border-left: 0.3em solid transparent;
}

.navigation-bar .dropbtn-phone a::after {
    box-sizing: border-box;
    display: inline-block;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.3em solid;
    border-right: 0.3em solid transparent;
    border-bottom: 0;
    border-left: 0.3em solid transparent;
}
  
.navigation-bar .dropdown {
    position: relative;
    display: inline-block;
}

.navigation-bar .dropdown-content {
    text-align: center;
    display: none;
    position: absolute;
    font-weight: bold;
    min-width: 160px;
    background-color: rgba(255, 255, 255, 0.35);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
}

.dropdown-content .desk-a {
    margin-left: -1px;
}

.navigation-bar .dropdown-content-phone {
    display: none;
}

.navigation-bar .dropdown-content a {
    color: black;
    font-weight: normal;
    padding: 12px 16px;
    
    text-decoration: none;
    display: block;
}

.navigation-bar .dropphone {
    background-color: rgb(180, 180, 180);
    width: 100%;
    margin: 0;
    padding-top: 8px;
    padding-bottom: 8px;
    border-bottom: #c2c2c2 2px solid;
}

.navigation-bar .dropdown:hover .dropdown-content {
    display: block;
}

/* Slideshow */

.slideshow {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

.radio-holder {
    position: absolute;
    display: grid;
    grid-template-columns: 30px 30px;
    grid-template-rows: 1fr 60px 60px 60px 60px 1fr;
    height: 100%;
    z-index: 1;
}

.radio-holder .slideshow-radios {
    position: absolute;
    opacity: 0;
    width: 20px;
    cursor: pointer;
}

.radio-holder .slideshow-actual {
    text-align: center;
    margin: auto;
    display: block;
    height: 15px;
    width: 15px;
    background-color: #d9d7cb;
    border-radius: 50%;
    border-radius: 24px 24px 24px;
    border: 2px solid #ffffff;
    transition: 0.5s ease-in-out;
}

.radio-holder .radio-container input:checked ~ .slideshow-actual {
    background-color: #555555;
}

.slideshow h1 {
    font-weight: bold;
}

.slideshow h2 {
    font-weight: normal;
    color: lightgrey;
    text-align: right;
}

.animate-bottom {
    position:relative;
    animation:animatebottom 0.4s;
} @keyframes animatebottom {
    from{bottom:-300px;opacity:0} 
    to{bottom:0;opacity:1}
}

.animate-top {
    position:relative;
    animation:animatetop 0.4s;
} @keyframes animatetop {
    from{bottom:300px;opacity:0} 
    to{bottom:0;opacity:1}
}

.slides {
    width: 100% - 300px;
    max-width: 100%;
    height: 50vh;
    padding: 300px;
}

.slide-canvas {
    position: absolute;
    padding: 0;
    margin: -300px;
    border: 0;
    z-index: 0;
}

.slides h1 {
    margin-left: calc(-300px + 30vw);
}

.slides h2 {
    margin-left: calc(-300px + 30vw);
}

