augustkline.com/site/style.css

472 lines
9.9 KiB
CSS

@font-face {
src: url("./assets/fonts/LatinModernMonoRegular.otf");
font-family: "LatinModernMono";
font-style: normal;
font-weight: normal;
}
@font-face {
src: url("./assets/fonts/LatinModernMonoBold.otf");
font-family: "LatinModernMono";
font-weight: bold;
font-style: normal;
}
@font-face {
src: url("./assets/fonts/LatinModernMonoBoldOblique.otf");
font-family: "LatinModernMono";
font-weight: bold;
font-style: oblique;
}
@font-face {
src: url("./assets/fonts/LatinModernMonoItalic.otf");
font-family: "LatinModernMono";
font-weight: normal;
font-style: oblique;
}
@font-face {
src: url("./assets/fonts/Bienchena.ttf");
font-family: "Bienchen";
}
:root {
--text-color: color-mix(in srgb, black 40%, darkslategrey 60%);
--text-bg-color: snow;
font-synthesis: none;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
color: var(--text-color);
}
body,
html {
block-size: 100%;
inline-size: 100%;
overflow: hidden;
margin: 0;
padding: 0;
}
body {
display: flex;
background-color: linen;
}
::selection {
background: color-mix(in srgb, mistyrose 80%, transparent 20%);
/* background: lightpink; */
}
a {
&[href^="http"] {
--color: darkgreen;
text-decoration-style: dashed;
}
text-decoration-thickness: 1px;
--color: firebrick;
color: var(--color);
text-decoration-style: wavy;
@media not (prefers-reduced-motion) {
transition: 0.3s outline ease,
0.2s text-shadow ease;
}
outline: 2px transparent solid;
@media (hover:hover) {
&:hover {
text-shadow: 0px 0px 1px var(--color);
}
}
&:focus-visible {
outline: 2px var(--color) solid;
}
}
main {
user-select: none;
/* top: 50%; */
/* left: 50%; */
/* position: absolute; */
container-type: size;
background: var(--text-bg-color);
transform: rotate(-1deg);
aspect-ratio: 5.5 / 8.75;
font-family: "Bienchen";
box-shadow: 5px 5px 20px rgba(152, 97, 42, 0.1);
word-wrap: pretty;
margin: auto;
--scale: 0.9;
--block: calc(var(--scale) * 100svb);
--inline: calc(var(--scale) * 100svi * (8.75 / 5.5));
block-size: min(var(--inline), var(--block));
transition: 0.3s transform ease, 0.3s box-shadow ease;
&>div {
padding: 2% 5%;
font-size: 8cqb;
}
.content {
transform: rotate(-0.5deg);
}
h1 {
img {
max-inline-size: 70cqi;
}
font-size: 1em;
margin-block: 0.5em;
color: darkblue;
user-select: text;
}
p,
li {
font-family: "LatinModernMono";
line-height: 1.1em;
user-select: text;
}
.content {
font-size: 0.4em;
}
@media not (prefers-reduced-motion) {
@media (hover:hover) {
&:hover {
transform: scale(1.025) rotate(0deg);
box-shadow: 0px 0px 30px rgba(152, 97, 42, 0.05);
}
}
}
.signature {
appearance: none;
color: unset;
text-decoration: none;
position: absolute;
right: 10%;
font-family: "Bienchen";
font-size: 0.65em;
line-height: 0.8em;
transform: rotate(-4deg);
text-align: end;
transition: outline 0.3s ease, transform 0.2s ease;
@media not (prefers-reduced-motion) {
* {
transition: text-shadow 0.2s ease;
text-shadow: -1px 2px 4px rgba(152, 97, 42, 0);
}
@media (hover:hover) {
&:hover,
&:focus-visible {
transform: translateY(-2px) rotate(-2deg) scale(1.025);
* {
text-shadow: 0px 2px 4px rgba(152, 97, 42, 0.1);
}
}
}
}
outline: 2px transparent solid;
&:focus-visible {
outline: 2px crimson solid;
}
}
.valediction {
color: crimson;
letter-spacing: -0.03em;
}
}
.clipped {
position: absolute;
display: block;
container-type: inline-size;
z-index: 100;
top: 0;
right: 0;
inline-size: 20cqi;
:first-child {
inline-size: 100cqi;
position: relative;
}
.clipped-items {
appearance: none;
display: block;
transform: rotate(17deg);
color: unset;
text-shadow: unset;
img {
position: relative;
box-shadow: 0px 4px 8px rgba(152, 97, 42, 0.2);
outline: 2px transparent solid;
transition: outline 0.3s ease;
}
.slip {
appearance: unset;
margin: 0;
* {
margin: 0;
}
position: absolute;
background: antiquewhite;
color: var(--text-color);
font-size: 0.35em;
padding-inline: 0.5ch;
display: block;
z-index: -1;
--mask: conic-gradient(from 60deg at left, #0000, #000 1deg 59deg, #0000 60deg) left/51% 0.2em repeat-y,
conic-gradient(from -120deg at right, #0000, #000 1deg 59deg, #0000 60deg) right/51% 0.2em repeat-y;
-webkit-mask: var(--mask);
mask: var(--mask);
}
.slip-george {
bottom: 20%;
left: 40%;
transform: translateX(-50%) rotate(-5deg);
}
.slip-label {
z-index: 1;
bottom: 65%;
left: 70%;
transform: translateX(-50%) rotate(25deg);
}
&:focus-visible {
outline: none;
img {
outline: 2px crimson solid;
}
}
}
.paperclip {
position: absolute;
right: 0;
top: -20%;
inline-size: 50cqi;
filter: brightness(0.85);
}
@media (prefers-reduced-motion),
(hover: none) {
.clipped-items {
transform: rotate(9deg) translateX(-5cqi, 0);
.slip-george {
bottom: 1cqb;
left: 40cqi;
transform: translateX(-50%) rotate(-15deg);
}
}
.paperclip {
transform: rotate(4deg);
top: -3cqb;
}
}
@media not (prefers-reduced-motion) {
@media (hover:hover) {
* {
transition: transform 0.4s ease, top 0.3s ease, bottom 0.3s ease, left 0.3s ease;
}
&:has(.clipped-items:focus) {
.clipped-items {
transform: rotate(9deg) translate(-5%, 10%);
}
.paperclip {
transform: rotate(4deg);
top: -25%;
}
}
&:hover,
&:focus-visible {
.clipped-items {
transform: rotate(9deg) translate(-5%, 10%);
.slip-george {
bottom: 5%;
left: 50%;
transform: translateX(-50%) rotate(-18deg);
}
.slip-sitemap {
bottom: 70%;
left: -30%;
transform: translateX(-50%) rotate(7deg);
}
}
.paperclip {
transform: rotate(4deg);
top: -25%;
}
}
}
}
}
.authority {
img {
block-size: 8cqb;
opacity: 0.9;
}
}
.stamp {
display: block;
img {
position: absolute;
transition: 0.3s transform ease;
block-size: 15cqb;
}
@media (hover:hover) {
&:hover {
img {
transform: rotate(0deg) scale(1.05) !important;
}
}
}
}
.taped {
img {
max-block-size: 35cqb;
max-inline-size: 60cqi;
/* box-shadow: 0px 0px 8px rgba(152, 97, 42, 0.3); */
}
&::before,
&::after {
content: "";
display: block;
position: absolute;
block-size: 4.5cqb;
aspect-ratio: 8 / 3;
transform: rotate(-45deg);
background-size: contain;
background-position: center;
background-repeat: no-repeat;
opacity: 0.95;
}
&::before {
top: 0cqb;
left: -6cqi;
background-image: var(--washi-url-0);
}
&::after {
bottom: 1cqb;
right: -6cqi;
background-image: var(--washi-url-1);
}
}
.taped,
.gallery-3 {
display: inline-flex;
position: relative;
align-items: center;
justify-content: center;
margin-inline-start: 50%;
transform: translateX(-50%) rotate(1deg);
}
.gallery-3 {
img {
max-block-size: 25cqb;
max-inline-size: 40cqi;
}
div {
/* position: absolute; */
&::before,
&::after {
content: "";
display: block;
position: absolute;
block-size: 3cqb;
aspect-ratio: 8 / 3;
background-size: contain;
background-position: center;
background-repeat: no-repeat;
opacity: 0.95;
}
--washi-url-0: url("/assets/images/washi/0.png");
--washi-url-1: url("/assets/images/washi/0.png");
&::before {
top: -2cqb;
left: 50%;
transform: translateX(-50%);
background-image: var(--washi-url-0);
}
}
&>* {
position: relative;
}
&>:nth-child(1) {
transform: translate(40%, 10%) rotate(-8deg);
}
&>:nth-child(2) {
z-index: 100;
}
&>:nth-child(3) {
transform: translate(-40%, 10%) rotate(8deg);
}
}
.pos-anchor {
position: relative;
}