html {
    box-sizing: border-box;
    font-family: sans-serif;
    font-size: 1.1rem;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

html::-webkit-scrollbar { display: none;}
body { margin: 0;}
body>* {
    margin: 0;
    scrollbar-width: none;
}
*,
*:before,
*:after {
    box-sizing: inherit;
}

/* General text styling */
h1{margin: 0;}
a {
    color: inherit;
    text-decoration: underline;
}
a:hover{color: red;}
/* Layout */
header{
    position: fixed;
    top: 15px;
    width: 100vw;
    background-color: red;
    padding-top: 8px;
    z-index: 1;
}
.marquee-container__copy {
    padding-right: 60px;
    box-sizing: border-box;
}
main{
    display: grid;
    padding: 10vh 15px;
    grid-template-columns: 1fr 3fr;
    background: rgb(63, 195, 23);
    background: linear-gradient(90deg, rgba(63, 195, 23, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(0, 0, 0, 1) 100%);
}
.text {
    position: sticky;
    top: 8vh;
    max-height: 100vh;
}
.posters {
    display: flex;
    width: 80vw;
    flex-wrap: wrap;
    gap: 45px 5px;
    justify-content: center;
}
figure {
    flex-grow: 1;
    max-height: 30vh;
    width: fit-content;
    max-width: 25vw;
    margin: 0;
    text-align: center;
}
figure img { height: 100%;}
figure img:hover{transform: scale(1.1); cursor: pointer;}
figcaption{padding-top: 10px;}
figure.lightbox {
    position: fixed;
    width: 100vw;
    height: 100vh;
    max-width: none;
    max-height: none;
    top: 0;
    left: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    background: linear-gradient(90deg, rgba(63, 195, 23, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(0, 0, 0, 1) 100%);
    justify-content: center;
    align-items: center;
}
figure.lightbox img {max-height: 80%;}
figure.lightbox img:hover{transform: none;}
footer{
    display: flex;
    height: 8vh;
    position: fixed;
    bottom: 15px;
    z-index: 1;
    gap: 30px;
    justify-content: flex-end;
    width: calc(100vw - 30px);
}
footer img { height: 100%; filter: drop-shadow(0 0 5px white);}
@media screen and (max-width: 805px) {
    main {grid-template-columns: auto; padding: 2vh 15px;}
    .text{position: relative;}
    .posters{width: calc(100vw - 30px); padding-top: 13vh; gap: 75px 5px;}
    figure{max-height: 40vh; max-width: 100vw;}
    figure.lightbox img{height: 70%;}
    figure.lightbox.landscape img{height: 42%;}
}