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

@font-face {
    font-family: 'TWKContinental-Book';
    src: url('TWKContinental-Book.eot');
    src: url('fonts/TWKContinental-Book.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-stretch: normal;
    unicode-range: U+0020-2212;
}

@font-face {
    font-family: 'TWKContinental-Light';
    src: url('TWKContinental-light.eot');
    src: url('fonts/TWKContinental-Light.woff');
    font-weight: 300;
    font-style: normal;
    font-stretch: normal;
    unicode-range: U+0020-2212;
}

body {
    height: 100%;
    width: 100%;
    overflow: hidden;
    position: absolute;
    margin: 0;
    padding: 0;
}

a {
    text-decoration: none;
    color: black;
}

header {
    position: sticky;
    top: 0;
    z-index: 1000;
    display: grid;
    grid-template-areas: "start mid end";
    grid-template-columns: 1fr 1fr auto;
    position: sticky;
    font-family: 'TWKContinental-light';
    padding: 0.5vw 1vw;
    width: 100%;
    background-color: rgb(255, 255, 255);
}

.start {
    text-align: left;
}

.mid {
    grid-row: 1;
    grid-column-start: mid;
    text-align: left;
}

.end {
    grid-row: 1;
    grid-column-start: end;
    text-align: right;
}

.menu {
    display: inline-block;
    justify-content: flex-start;
    /* padding-right: 2vw; */
    font-size: 1.2em;
    text-decoration: none;
}

img {
    height: auto;
    max-width: 100%;
    display: block;
    margin-right: 0;
}

#box {
    font-size: 1.2em;
}

.item {
    /* display: flex; justify-content: flex-end; */
    display: grid;
    grid-template-columns: 8% 92%;
    padding-bottom: 1vw;
    justify-content: end;
}

.fig {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: lighter;
}

.left {
    overflow-y: scroll;
    font-family: 'TWKContinental-Book';
    font-size: 1.2em;
    line-height: 1.1em;
    text-align: left;
}

[data-target] {
    font-family: 'TWKContinental-light';
}

.left .menu,
a:hover {
    text-decoration: underline;
}

a.button:hover {
    text-decoration: underline;
}

.right,
.left {
    height: calc(100vh - 3vh);
    /* height: 100%; */
    padding: 1vw;
}

.left {
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior-x: none;
    touch-action: pan-y;
}

.right {
    font-family: 'TWKContinental-Book';
    position: sticky;
    overflow-y: scroll;
    width: 50%;
    float: right;
    top: 0;
}

.wrapper {
    display: flex;
    height: 100vh;
    overflow-x: hidden;
}

.scroll {
    width: 50%;
    color: white;
}

.partners {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5vw;
    filter: drop-shadow(0px 0px 2px #acacac);
}

.credits {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1vw;
}

hr {
    border: solid 0.5px black;
    margin: 2vh 0vw;
}

.partners img {
    width: 100%;
}

/* Sidepanel */
.navbar__main-container {
    width: 100%;
}

.navbar__sidebar-wrapper {
    height: 0;
    overflow: hidden;
}

.navbar__sidebar-wrapper.is-open {
    height: auto;
}

.navbar__sidebar {
    animation: fadeIn 0.4s ease;
    display: flex;
    padding: 0.5vw 0;
    height: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    border-top: 1px solid #000000;
    border-bottom: 1px solid #000000;
    /* background-color: aliceblue; */
}

.navbar_content {
    font-family: 'TWKContinental-Book';
    font-size: 1em;
    line-height: 1em;
    flex: 0 0 28vw;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
    border-right: 1px solid #000000;
    padding: 0 0.5vw;
    /* background-color: rgb(119, 151, 179); */
}

/* Pop up*/
.part {
    text-decoration: underline;
}

.context {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2em;
    tab-size: 5;
}

td {
    vertical-align: top;
}

.text_light {
    font-family: 'TWKContinental-light';
}

/* TEST MOBILE. */
@media (max-width: 768px) {
    body {
        overflow: auto;
        overscroll-behavior: none;
    }

    header {
        position: fixed;
        font-size: 1em;
        padding: 1rem;
    }

    .menu {
        font-size: 1.2em;
    }

    .wrapper {
        display: block;
        height: auto;
    }

    .left,
    .right {
        width: 100%;
        height: auto;
        padding: 1rem;
        overflow: visible;
        position: relative;
    }

    .right {
        display: none;
    }

    .item {
        display: block;
        padding-bottom: 2rem;
    }

    .item img {
        margin-top: 0.5rem;
        width: 100%;
        height: auto;
    }



    /*        MOBILE          */

    @media (max-width: 768px) {
        header {
            display: block;
            padding: 3vw 4vw;
            font-size: 1.4em;
        }

        .start,
        .mid,
        .end {
            display: block;
            text-align: left;
        }

        .start {
            font-size: 1.1em;
            margin-bottom: 1.5vw;
            white-space: nowrap;
        }

        .menu {
            display: block;
            font-size: 1em;
            padding: 0;
        }
    }
}

@media (max-width: 768px) {

    .credits,
    .context {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .wrapper {
        display: block;
    }

    .left,
    .right {
        width: 100%;
        height: auto;
        overflow: visible;
        padding: 4vw;
        overflow-y: auto;
        overflow-x: hidden;
        overscroll-behavior-x: none;
        touch-action: pan-y;
    }

    .right {
        display: none;
    }

    .partners{
        gap: 2vw;
    }
}

@media (max-width: 768px) {
    .inline-image {
        margin: 3vw 0;
    }

    .inline-image img {
        width: 100%;
        height: auto;
    }
}

@media (max-width: 768px) {
    .navbar__sidebar-wrapper {
        position: fixed !important;
        /* top: 12.5vh !important; */
        left: 0 !important;
        right: 0 !important;
        height: 0 !important;
        overflow: hidden !important;
        background-color: white !important;
        z-index: 999 !important;
        transition: height 0.3s ease !important;
        /* box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1) !important; */
    }

    .navbar__sidebar-wrapper.is-open {
        height: auto !important;
        max-height: 70vh !important;
        overflow-y: auto !important;
    }

    .navbar_content {
        padding: 2vw 3vw;
        flex: 0 0 80vw;
        height: auto;
    }
}

@media (max-width: 768px) {

    header {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 1000 !important;
        background-color: white !important;
        /* box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important; */
        height: auto !important;
        padding: 1rem !important;
    }

    .left {
        /* padding-top: 70px !important; */
    }
}