gallery/style/single.css

177 lines
2.6 KiB
CSS

@import url(base.css);
body {
max-width: calc(var(--page-size) + 200px);
position: relative;
}
.date, .artist {
font-weight: 400;
position: absolute;
top: -0.5em;
margin: 0;
padding: 0;
font-size: 100%;
font-style: italic;
}
.date { right: -0.4em; }
.artist { left: -0.4em; }
#mainfig {
justify-content: center;
border: 2px solid var(--text);
box-shadow: 0 0 30px var(--shadow);
margin: auto;
height: min-content;
width: min-content;
overflow: hidden;
position: relative;
}
#mainimg {
display: block;
}
#cw {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
background: hsla(var(--text-hue), 35%, 15%, 80%);
mix-blend-mode: multiply;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
}
#cw-text {
font-size: 300%;
font-weight: 600;
color: white;
transform: rotate(-45deg);
}
#cw + * img {
filter: blur(50px);
opacity: 75%;
background: var(--text);
}
figcaption p {
margin: 0;
}
.info {
margin: 1em auto;
width: var(--page-size);
}
.info > section {
display: grid;
--grid-gap: 1em;
grid-gap: var(--grid-gap);
grid-template-columns:
calc(20% - var(--grid-gap) / 2) calc(80% - var(--grid-gap) / 2);
justify-content: center;
align-items: baseline;
margin: 1em;
}
.info h2 {
font-size: inherit;
font-weight: 500;
margin: 0;
justify-self: end;
}
.info ul, .alts ul {
display: flex;
align-items: center;
flex-wrap: wrap;
}
.alts ul {
justify-content: center;
}
.alts [type=checkbox], .alts [type=radio] {
display: none;
}
.alts :checked + label {
background: var(--yellow);
border-color: var(--text);
}
.alts .nsfw label::after {
content: url(18_plus.svg);
display: inline-block;
height: 0.8em; width: 0.8em;
vertical-align: -0.1em;
padding-left: 0.15em;
}
.info ul {
padding: 0;
margin: 0;
}
.info li, .alts li {
list-style: none;
}
.info li, .alts label {
padding: 0 0.5em;
margin: 0 0.25em;
background: var(--light-tum);
border: 1px solid var(--dark-tum);
border-radius: 5px;
}
.info p:first-child {
margin-top: 0;
}
.info p {
margin: 0.25em 0;
}
footer {
font-size: 90%;
font-style: italic;
text-align: center;
}
@media (pointer: coarse) {
.info, .alts {
font-size: 200%;
}
footer {
font-size: 150%;
}
}
@media (prefers-reduced-motion: no-preference) {
#cw + * img {
transition: none;
}
}
@media (prefers-reduced-transparency) {
#cw {
background: hsl(var(--text-hue), 35%, 15%);
mix-blend-mode: normal;
}
#cw + * img {
filter: none;
}
}