@import "https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap"; @mixin for-phone-only { @media (max-width: 599px) { @content; } } @mixin for-tablet-portrait-up { @media (min-width: 600px) { @content; } } @mixin for-tablet-landscape-up { @media (min-width: 900px) { @content; } } @mixin for-desktop-up { @media (min-width: 1200px) { @content; } } @mixin for-big-desktop-up { @media (min-width: 1800px) { @content; } } $background-color: oklch(22.49% 0.008 297.21); $foreground-color: oklch(98.51% 0 0); $primary-color: oklch(82.67% 0.096 307.5); $secondary-color: oklch(from $primary-color l c 240); :root { font-size: 20px; } * { box-sizing: border-box; transition: 0.1s ease-in-out; /* outline: 1px solid rgba(255, 0, 0, 0.2); */ } body { display: flex; flex-direction: column; font-family: "M PLUS 2", sans-serif; align-items: center; $opacity: 25%; background-color: black; /* prettier-ignore */ background-image: url("/images/noise.png"), radial-gradient(circle at center center, oklch(22.49% 0.008 297.21), transparent), radial-gradient(circle at bottom left, #27577D, transparent), radial-gradient(circle at top right, #952EA4 0%, transparent), radial-gradient(circle at center right, #6949A5 0%, transparent), radial-gradient(circle at top center, #336BA0 0%, transparent); background-attachment: fixed; color: white; color: $foreground-color; padding: 4rem 1rem 1rem 1rem; margin: 0; @include for-phone-only { padding: 0.25rem; flex-direction: row; } } content { display: flex; width: 100%; max-width: 60rem; flex-direction: row-reverse; & > * { background-color: $background-color; outline: 0.1rem solid $background-color; outline-offset: 0.1rem; } & > nav { padding: 1.25rem 0.75rem; } & > article { flex: auto; padding: 1.25rem; height: fit-content; } @include for-phone-only { flex-direction: column; } } footer { position: fixed; bottom: 0px; opacity: 0.7; font-size: 0.75rem; padding: 0.5rem; width: 100%; text-align: right; color: white; mix-blend-mode: overlay; p { padding: 0; margin: 0; } a { color: inherit; } } /* --- NAVIGATION BAR --- */ /* This whole navbar section needs refactoring, because I'm already confused by it */ nav { display: flex; flex-direction: column; align-items: center; gap: 1rem; margin-left: 1rem; height: fit-content; svg { fill: $foreground-color; $size: 2rem; width: $size; height: $size; } a { display: flex; writing-mode: vertical-rl; text-orientation: sideways; text-decoration: none; justify-content: center; color: $foreground-color; } @include for-phone-only { margin: 0; margin-bottom: 0.75rem; flex-direction: row; justify-content: space-between; align-items: center; a { writing-mode: horizontal-tb; &:first-child { margin-right: auto; } } span { display: none; } } } /* --- STANDARD ELEMENTS --- */ a { color: mediumpurple; color: $primary-color; &:hover { filter: brightness(0.75); } } @mixin std-style { display: block; margin: 0; } p { @include std-style; } ul { list-style-type: none; margin: 0; padding: 0; & > li:before { content: "-"; color: oklch(82.67% 0.087 180); padding-left: 0.5rem; padding-right: 0.25rem; } } h1 { font-size: 1.25rem; } @for $i from 1 through 6 { h#{$i} { @include std-style; padding-top: 0.5rem; font-size: 1rem; &:before { $stars: ""; @for $_ from 1 through $i { $stars: $stars + "*"; } content: "#{$stars} "; color: oklch(82.67% 0.087 #{280 + ($i - 1) * 20}); opacity: 0.75; } } } hr { color: oklch(from $foreground-color 0.45 c h); width: 55%; }