main .gallery { display: flex; flex-flow: row wrap; align-items: flex-start; justify-content: center; max-width: 100%; } main .gallery.linear { flex-flow: column; align-items: center; } main .gallery article { --gallery-article-padding-lr: 1em; flex: 0 1 auto; padding: 1em var(--gallery-article-padding-lr) 0.5em; display: flex; flex-flow: column; align-items: center; width: min-content; max-width: 100%; overflow: hidden; } main .gallery article:target { background-color: beige; outline: thin dashed gray; } main .gallery article > * { flex: none; } main .gallery article > h1 { margin: 0.1em 0 0; white-space: nowrap; text-align: center; font-size: larger; font-weight: normal; } @media (max-width: 30em) { main .gallery article { flex: 1 1 auto; } main .gallery article > h1 { white-space: initial; } } main .gallery article > h1 > a:first-child { color: black; } main .gallery article > h1 > a:first-child:hover { text-decoration: revert; } main .gallery article > h1 .animation { color: orange; } main .gallery article > :is(a, label) { max-width: 100%; order: -1; } main .gallery article > :is(a, label) > img { display: block; border: 1px solid gray; max-width: calc(100vw - var(--gallery-article-padding-lr) * 2 - var(--main_padding-left) - var(--main_padding-right) - 2px); height: revert; } @media (max-width: 30em) { main .gallery { justify-content: space-around; } main .gallery article { --gallery-article-padding-lr: 0.2em; } } main .gallery article > :is(a, label) > img.noborder { border-color: transparent; } main tr.alternate, main .gallery article.alternate { display: none; } main tr.alternate:target { display: table-row; } main .gallery article.alternate:target { display: flex; }