:root { --primary: rgb(255, 190, 0); --secondary: rgb(255, 110, 0); --tertiary: rgb(255, 236, 180); --quaternary: rgb(105, 50, 0); --shadow: 0.2rem 0.2rem 0.4rem 0.2rem #0003; --checker: url('/assets/img/theme/citrus/checker.png'); --checker-dark: url('/assets/img/theme/citrus/checker-dark.png'); --dot: url('/assets/img/theme/citrus/dot.png'); --dot-dark: url('/assets/img/theme/citrus/dot-dark.png'); --line: url('/assets/img/theme/citrus/line.png'); --paper: url('/assets/img/theme/citrus/paper.png'); --noise: url('/assets/img/theme/citrus/imagedoc-lightnoise.png'); } ::selection { background-color: rgb(172, 255, 0) } /* Page specific - Index */ #index { width: 100%; background-color: rgb(255, 190, 0); background-image: url('/assets/img/theme/citrus/sundae.png'); background-size: contain; background-repeat: no-repeat; background-position: center; margin: 0; padding: 0; main { display: flex; } a img { width: 100%; transition: 0.5s; transform: scale(0.9); } a img:hover { transform: scale(0.95) translateY(-1rem); } } /* Main style */ hr { border-bottom: unset; border-left: unset; border-right: unset; border-top: 1px solid #aaa; } body { background-attachment: local, fixed; background-color: var(--primary); background-image: var(--checker), linear-gradient(var(--primary), var(--secondary)); background-size: 32px, contain; font-family: Rubik, sans-serif; } body>nav, header h1 { box-shadow: inset -2px -2px 0 2px var(--quaternary); } body>nav, header h1 { background-attachment: fixed; background-blend-mode: screen; background-image: var(--dot), linear-gradient(var(--primary), var(--secondary) 20%); background-size: 6px; } /* Header */ header { & h1 { border-radius: 0 0 5rem 0; color: var(--quaternary); margin: 0 0 0 -4px; padding: 0 64px 0 16px; } } header, footer { height: 4rem; } /* Navigation */ body>nav { border-radius: 0 0 2rem 0; & a { background-image: linear-gradient(var(--tertiary), var(--primary) 20%, var(--primary) 80%, var(--tertiary) 100%); border-radius: 0 1rem 1rem 0; box-shadow: 0 0 0 2px var(--quaternary), inset 0 0 8px 2px var(--primary); color: var(--quaternary); margin: 0 0 8px 0; &:hover:not([aria-current="page"]) { box-shadow: 0 0 0 2px var(--quaternary); } } & [aria-current="page"] { background-image: linear-gradient(darkorange, var(--quaternary) 10%, chocolate); box-shadow: 0 0 0 2px var(--quaternary), inset 0 0 4px 2px var(--quaternary); color: var(--tertiary); & svg { color: var(--tertiary); } } &>ul div svg { font-size: 24px; font-weight: bold; } & svg text { fill: var(--tertiary); paint-order: stroke markers fill; stroke-width: 4; stroke: var(--quaternary); } & li:last-child a { margin-bottom: 0; } } #flags { flex-wrap: wrap; display: flex; gap: 0.8rem; margin-bottom: 32px; } img[src*="/assets/img/flag/"] { border-radius: 0.2rem; box-shadow: 0 0 0 2px #fff, 1px 1px 0px 3px #0006; } /* Page-specific - Blog */ #blog { background-attachment: local; background-color: #eef; background-image: var(--noise), var(--dot-dark); background-size: auto, 4px; } .blog { margin: 0 auto; background-color: #fff; background-image: var(--noise), url('/assets/img/theme/citrus/pawprint.svg'); background-size: auto, 64px; background-repeat: repeat, no-repeat; background-position-y: bottom; background-position-x: center; background-origin: content-box; box-shadow: inset 0 0 2rem -0.5rem #ccc; & ul { padding: 0 16px; } & p[class="warning"] { color: #ffcc4d; background-color: #000; font-weight: bold; padding: 2px 8px; text-align: center; &::before, &::after { content: "⚠️" } } & li { margin: 0; } & u { text-decoration: underline red; } & em { font-weight: 200; } & code { padding: 0 4px; } & pre { padding: 15px; } & pre, code:not(pre code) { background-color: lightgray; border: 1px solid darkgray; border-radius: 0.4rem; } & h2 { display: flex; flex-direction: column; margin: 0 auto; text-align: center; padding: 0 0 1rem 0 } & time { margin: inherit; } & aside { background: #eee; border-radius: 0.4rem; border: 2px solid #ccc; float: right; margin-bottom: 0.8rem; padding: 1rem; width: 40ch; } & h3 { border-bottom: 1px solid #aaa; font-size: 1.6rem; margin-bottom: 1rem; } } .blog>[aria-label="Postscript"] { display: grid; margin: 0 0 auto auto; padding: 0 0 4rem 0; grid-template-columns: repeat(2, 1fr); width: min-content; & p, img { box-shadow: inset 0 0 1px #666; } & p { background: #fff; border-radius: 5rem 5rem 0 5rem; font-size: 12px; margin: 0 0.2rem 1rem 0; padding: 4px 8px; width: max-content; } & img { background-color: #eee; border-radius: 100%; box-sizing: content-box; height: 16px; margin: auto 0 0 auto; image-rendering: pixelated; padding: 4px; width: 16px; } } #posts { width: max-content; & ul { display: flex; flex-direction: column; padding: 0; margin: 0; list-style-type: none; } & li:not(:first-of-type) { margin: 1rem 0 0 0; } & a { display: flex; flex-direction: column; background-color: #fff; transition: 0.3s; padding: .8rem; width: auto; text-decoration: none; font-size: 1.125rem; font-weight: bold; border: 4px solid; border-color: #fff; box-shadow: var(--shadow); border-radius: 0.4rem; &:is(:hover, :focus) { border-color: currentColor } & time, p { font-weight: initial; font-size: initial; display: flex; color: initial; } } } /* Page specific - Home */ main>section:has(nav) { display: flex; flex-direction: column; } #changelog { width: fit-content; & iframe { min-width: 640px; min-height: 480px } } #buttons { width: 640px; & fieldset { display: flex; flex-wrap: wrap; gap: 4px; } & nav { & ul { margin: 0; padding: 0; display: grid; } & img:hover { filter: drop-shadow(4px 6px 0 #0006); transform: translateY(-4px); transition: 0.3s; } } } #pkmn { display: flex; flex-wrap: wrap; background-image: url("/assets/img/theme/citrus/box.png"); border-radius: 5px; width: fit-content; justify-content: space-around; border-bottom-color: #78a068; border-left-color: #c8f8c0; border-right-color: #78a068; border-top-color: #c8f8c0; border-width: 3px; border-style: solid; margin-top: 18px; & img:hover { filter: drop-shadow(0 -2px 0 #fff) drop-shadow(0 2px 0 #fff) drop-shadow(2px 0 0 #fff) drop-shadow(-2px 0 0 #fff) drop-shadow(0 2px 3px #0006); animation: jump 200ms infinite alternate; } } .note { background-color: var(--tertiary); background-image: var(--noise), var(--paper); background-size: auto, 4px; font-family: Pangolin, sans-serif; & p { text-transform: lowercase; &:not(:last-of-type) { margin-bottom: 32px; } } & p, li, h2 { line-height: 32px; margin: 0; font-size: 20px; } & h3 { font-size: 32px; line-height: 32px; } } #portrait { background-color: var(--primary); border-radius: 100%; height: 120px; margin: 4px 16px; width: 120px; float: right; box-shadow: 0 0 0 4px #fff, .2em .2em .1em .2em #0006; overflow: hidden; transition: 0.3s; & img { height: 120px; transition: none; pointer-events: none; } &::before { content: ""; width: inherit; height: inherit; border-radius: inherit; position: absolute; pointer-events: none; z-index: 1; background-image: linear-gradient(to bottom, #fffb, transparent 50%); } &:hover { transform: rotateZ(4deg); } &:active { transform: scale(1.2) rotateZ(4deg) translateY(4px); box-shadow: 0 0 0 4px #fff, .4em .4em .4em .4em #0006; & img { transform: translateX(-120px); } } } #collection { & ul { background-image: var(--line), linear-gradient(to top, chocolate 80%, var(--quaternary)); background-size: 32px; box-shadow: inset 0 0 24px 8px var(--quaternary); margin-bottom: 2rem; border: 4px solid chocolate; border-top: 0; display: flex; padding: 25px 0 0 25px; overflow-x: scroll; margin: 0; overflow-y: hidden; align-items: baseline; } & hr { height: 2rem; margin: 0; border: none; background-image: linear-gradient(darkorange 10%, chocolate 30%); box-shadow: inset 0 4px 4px chocolate; } & li { display: flex; list-style-type: none; position: relative; z-index: 1; align-self: baseline; transition: 0.3s; & a { width: 100%; } &:hover { transform: translateY(-6px) rotateZ(2deg); z-index: 2; margin: 0 -1rem 0 0; } & h3 { height: 2rem; position: absolute; text-align: center; transition: 0.3s; color: transparent; display: grid; align-items: center; width: inherit; z-index: 1; font-size: 1rem; &:hover { background-image: linear-gradient(#000, transparent); color: #fff; height: 100%; } } } } main>section:not([id]) { display: flex; gap: 2rem; } main>*:not(*:last-child) { margin-bottom: 2rem; } .games img, .music img { width: 160px; } .games li { margin: 0 -8rem 0 0; } .games img { display: flex; width: 12rem; } .music { & li { margin: 0 -5rem 0 0; box-shadow: inset 0 0 0.2rem #666; background-image: linear-gradient(-45deg, #333 50%, #666); height: 10rem; width: 10rem; &::before { width: 1rem; box-shadow: inset 1rem 0 0 0 #222; margin: 0 -1rem; } &::after { border: .2rem solid #ccc; border-left: 0; z-index: 1; background-image: linear-gradient(-45deg, #fff3, transparent, #fffb); width: 11rem; margin: 0 0 0 -1rem; } &:hover::after { animation: caseOpen .4s ease-in-out both; } } & img { border-radius: 100%; box-shadow: 0 0 0 0.2rem #eee, 0 0 0 0.3rem #222; height: 9rem; width: 9rem; margin: 0.5rem; } & li::before, & li::after, & a::after { content: ""; box-sizing: border-box; height: inherit; pointer-events: none; position: absolute; } & a::after { background-image: radial-gradient(circle, #444 40%, #666); border-radius: 100%; box-shadow: 0 0 0 0.25rem #eee, 0 0 0 .3rem #222; height: 32px; content: url("/assets/img/theme/citrus/popper.svg"); margin: 4rem -6rem; } } /* Page specific - Gallery */ #artworks { background-image: var(--noise), var(--line); background-color: #fff; padding: 1rem; background-size: auto, 32px; & h2 { padding: 0 2rem 0 1rem; margin: 2rem 0; border-bottom: 2px dotted; font-size: 2rem; font-family: Pangolin, sans-serif; &:first-of-type { margin: 0 0 2rem 0; } } & img { display: flex; height: 12rem; width: 100%; transition: 0.3s; border-bottom: unset; object-fit: cover; } & ul { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(208px, 100%), 1fr)); padding: 0; margin: 0; gap: 1rem; } & a { display: block; text-decoration: unset; transition: 0.3s; &:is(:hover, :focus) { figure { transition: 0.3s; background-color: currentColor; border-color: currentColor; } figcaption { color: #fff; } time { color: #fffa } } } & figure { margin: 0; background-color: #fff; border: 4px solid #fff; box-shadow: var(--shadow); border-radius: 0.4rem; } & figcaption { font-family: Urbanist, sans-serif; font-size: 1.2rem; } & time { color: #666; } } @font-face { font-family: Rubik; src: url('/assets/fonts/Rubik.ttf') format('truetype'); } @font-face { font-family: Urbanist; src: url('/assets/fonts/Urbanist-Bold.ttf') format('truetype'); } @font-face { font-family: Pangolin; src: url('/assets/fonts/Pangolin-Regular.ttf') format('truetype'); } /* Mobile view */ @media screen and (max-width: 1400px) { header h1 { display: none } body>nav { height: 3rem; border-radius: 0; box-shadow: inset 0 -4px 0 0 var(--quaternary); } body>nav, header h1 { background-color: var(--secondary); background-attachment: unset; background-blend-mode: unset; background-image: unset; } body>nav a { border-radius: 1rem; margin: 6px 4px 8px 4px; padding: 0 8px 0 0; } header { display: flex; justify-content: bottom; background-position-y: initial; } .blog aside { width: initial; } #posts, #posts li { width: auto; } #blog header { height: 3rem; } #changelog, #buttons { min-width: initial; width: 100%; } #buttons ul { display: flex !important; flex-wrap: wrap; } #buttons fieldset { width: 100%; } #changelog iframe { min-width: initial; width: 100%; } } @keyframes caseOpen { 50% { width: 0rem; margin: 0 0 0 -1rem; } 51% { border: 0.3rem solid #999; } 100% { width: 11rem; border: 0.3rem solid #999; border-right: 0; margin: 0 -12rem; background-image: linear-gradient(-45deg, #ccc8, #fffa); } } @keyframes jump { 0% { transform: translateY(0); } 100% { transform: translateY(-4px); } }