body::after {
    background: rgb(0, 0, 0, 0.7);
}

.container {
    box-sizing: border-box;
    width: 100%;
    max-width: 800px;
}

/* Prevent global heading padding from visually shifting the festival title on narrow phones. */
main.container>section:first-of-type h1 {
    padding: 0 20px;
    margin-left: auto;
    margin-right: auto;
    text-wrap: balance;
}

.affiche img {
    height: 400px;
    float: left;
    margin: 0 1.3em 1.3em 0;
    filter: drop-shadow(black 1px 1px 10px);
}

#affiche::after {
    content: "";
    display: table;
    clear: both;
}

#spectacle {
    clear: both;
}

@media (max-width: 991px) {
    .affiche img {
        height: 350px;
    }
}

@media (max-width: 767px) {
    .affiche img {
        height: 300px;
    }
}

@media (max-width: 480px) {
    .affiche img {
        height: 250px;
    }

    main.container>section:first-of-type h1 {
        padding: 0;
        font-size: 2.2rem;
        line-height: 2.3rem;
    }
}

@media (max-width: 375px) {
    .affiche img {
        height: 200px;
    }
}