@import url(base.css); @import url(nsfw-warning.css); :root { --image-size: 200px; --gap: 1em; } @media (min-width: 1000px) { .page { max-width: 80%; } } #filters { margin: 1em 0 2em 0; } #filters div { display: grid; grid-template-columns: 15% auto; align-items: baseline; grid-gap: 0.75em; } #filters h3 { margin: 0; } #filters h3 { text-align: right; grid-area: auto / 1; } .filterlist { display: flex; flex-flow: row wrap; /* justify-content: space-between; */ padding: 0; font-weight: 500; font-size: 90%; grid-gap: 0.5em 1em; } .filterlist input { appearance: none; } .filterlist li:not([hidden]) { display: block; } .filterlist li:focus-within { color: var(--focus-text); } .filterlist label { padding: 0.15em 0.4em; border-radius: var(--button-radius); background: var(--button-bg); border: var(--button-border); } .filterlist label::before { content: url('/style/unchecked.svg'); display: inline-block; height: 1em; width: 1em; vertical-align: -15%; padding-right: 0.25em; text-shadow: none; } .filterlist :checked + label::before { content: url('/style/checked.svg'); } .filterlist label:not([data-count="1"])::after { content: attr(data-count); font-size: 80%; font-weight: 400; padding: 0 0.5em; } .filterlist [data-count="1"] { font-size: 85%; padding-right: 0.8em; } .filterlist input { margin: 0; } #filterstuff { padding: 0; grid-area: auto / span 2; display: flex; justify-content: center; margin-top: 0; grid-gap: 2em; } #filterstuff li { list-style: none; display: inline-block; padding: var(--button-pad); border-radius: var(--button-radius); background: var(--button-bg); border: var(--button-border); } #filterstuff a { font-weight: 500; text-decoration: none; } @media (max-width: 80rem) { #filters div { grid-template-columns: auto; } #filters h3 { text-align: left; grid-area: unset; } #filterstuff { grid-area: unset; flex-flow: column; grid-gap: 0.2em; } #filterstuff li { border-radius: 1em; } } .grid { padding: 0; display: grid; grid-template-columns: repeat(auto-fill, var(--image-size)); grid-gap: var(--gap); justify-content: center; } .item { --border-thickness: 2px; list-style: none; width: var(--image-size); height: var(--image-size); overflow: hidden; position: relative; } .item:not(.year-marker) { box-shadow: var(--text-shadow); border: var(--border-thickness) solid var(--border-col); border-radius: 0.5em; background: hsl(340, 45%, 65%); } .item:focus-within { box-shadow: var(--focus-box); } figure { margin: 0; padding: 0; } figcaption .date, figcaption .title { position: absolute; width: 100%; border: 1px solid var(--border-col); display: block; text-align: center; background: hsl(0, 0%, 0%, 75%); text-shadow: none; } figcaption .date { top: -1px; left: -1px; } figcaption .title { bottom: -1px; left: -1px; } .date { text-transform: lowercase; } .year-marker { /* uncomment to reenable line breaks before year markers */ /* grid-area: auto / 1; */ padding: var(--border-thickness); } .year-text { --gap: 0.2em; display: grid; grid-template-columns: repeat(2, calc(50% - 3 * var(--gap))); grid-gap: var(--gap); align-items: center; justify-content: center; height: 100%; width: 100%; } .year-marker .y { display: block; text-align: center; font-size: calc(var(--image-size) * 0.6); line-height: 0; font-weight: 800; transform: scaleX(110%); } .item.nsfw::before, .item[data-updated="true"]::after { height: var(--size); width: var(--size); transform: var(--base-transform); display: inline-block; position: absolute; mix-blend-mode: hard-light; } .item.nsfw::before { --size: calc(1/4 * var(--image-size)); --base-transform: rotate(var(--nsfw-sticker-rotate)); content: url(../18_plus_white.svg); top: calc(1em + 3px); right: 3px; } .item[data-updated="true"]::after { --size: calc(1/4 * var(--image-size)); --base-transform: rotate(-8deg); content: url(../sparkles.svg); bottom: calc(1em + 3px); right: 3px; } footer { font-size: 90%; text-align: center; margin-top: 1em; } @media (hover) and (pointer: fine) { .item:hover .date, .item:hover .title, .item:hover::before, .item:hover::after { filter: opacity(20%); } @media (prefers-reduced-motion: no-preference) { figcaption .date, figcaption .title, .item::before, .item::after { transition-property: filter, transform; transition-duration: 0.15s; transition-timing-function: ease-in-out; } .item:hover .title { transform: translate(-20%, 80%) rotateZ(7deg); } .item:hover .date { transform: translate(20%, -80%) rotateZ(7deg); } .item:hover::before { transform: translate(1.5em, -1.5em) var(--base-transform); } .item:hover::after { transform: translate(1.5em, 1.5em) var(--base-transform); } } } @media (not hover), (pointer: coarse) { .item:not(.year-marker) { height: min-content; } figcaption .date, figcaption .title { position: initial; } figcaption .date { border-bottom: none; } figcaption .title { border-top: none; } figcaption .date::after { content: ':'; } .item a { display: block; height: var(--image-size); } .item img { margin-bottom: 0; } } @media (pointer: coarse) { #filters label { font-size: 150%; } }