site/style.css

1005 lines
23 KiB
CSS

/*
i use catppuccin color schemes because jod i LOVE catppuccin
*/
@media (prefers-color-scheme: light) {
/*
catppuccin latte
*/
:root {
--rosewater: #dc8a78;
--flamingo: #dd7878;
--pink: #ea76cb;
--mauve: #8839ef;
--red: #d20f39;
--maroon: #e64553;
--peach: #fe640b;
--yellow: #df8e1d;
--green: #40a02b;
--teal: #179299;
--sky: #04a5e5;
--sapphire: #209fb5;
--blue: #1e66f5;
--lavender: #7287fd;
--text: #4c4f69;
--subtext1: #5c5f77;
--subtext0: #6c6f85;
--overlay2: #7c7f93;
--overlay1: #8c8fa1;
--overlay0: #9ca0b0;
--surface2: #acb0be;
--surface1: #bcc0cc;
--surface0: #ccd0da;
--base: #eff1f5;
--mantle: #e6e9ef;
--crust: #dce0e8;
}
}
@media (prefers-color-scheme: dark) {
/*
catppuccin mocha
*/
:root {
--rosewater: #f5e0dc;
--flamingo: #f2cdcd;
--pink: #f5c2e7;
--mauve: #cba6f7;
--red: #f38ba8;
--maroon: #eba0ac;
--peach: #fab387;
--yellow: #f9e2af;
--green: #a6e3a1;
--teal: #94e2d5;
--sky: #89dceb;
--sapphire: #74c7ec;
--blue: #89b4fa;
--lavender: #b4befe;
--text: #cdd6f4;
--subtext1: #bac2de;
--subtext0: #a6adc8;
--overlay2: #9399b2;
--overlay1: #7f849c;
--overlay0: #6c7086;
--surface2: #585b70;
--surface1: #45475a;
--surface0: #313244;
--base: #1e1e2e;
--mantle: #181825;
--crust: #11111b;
}
}
/*
shell aliasing ass
*/
:root {
--bg: var(--base);
--fg: var(--text);
--accent: var(--green);
}
/*
font config, JetBrains Mono
*/
@font-face {
font-family: "JetBrains Mono";
src:
local("JetBrains Mono"),
url("./assets/fonts/JetBrainsMono/fonts/webfonts/JetBrainsMono-Regular.woff2") format("woff"),
local("JetBrainsMono Nerd Font");
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: "JetBrains Mono";
src:
local("JetBrains Mono"),
url("./assets/fonts/JetBrainsMono/fonts/webfonts/JetBrainsMono-Bold.woff2") format("woff"),
local("JetBrainsMono Nerd Font");
font-weight: bold;
font-style: bold;
}
@font-face {
font-family: "JetBrains Mono";
src:
local("JetBrains Mono"),
url("./assets/fonts/JetBrainsMono/fonts/webfonts/JetBrainsMono-Italic.woff2") format("woff"),
local("JetBrainsMono Nerd Font");
font-weight: normal;
font-style: italic;
}
@font-face {
font-family: "JetBrains Mono";
src:
local("JetBrains Mono"),
url("./assets/fonts/JetBrainsMono/fonts/webfonts/JetBrainsMono-BoldItalic.woff2") format("woff"),
local("JetBrainsMono Nerd Font");
font-weight: bold;
font-style: italic;
}
/*
font config, Lexend Deca
*/
@font-face {
font-family: "Lexend Deca";
src:
local("Lexend Deca"),
local("Lexend"),
url("./assets/fonts/LexendDeca/static/LexendDeca-Regular.ttf") format("opentype");
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: "Lexend Deca";
src:
local("Lexend Deca"),
local("Lexend"),
url("./assets/fonts/LexendDeca/static/LexendDeca-Bold.ttf") format("opentype");
font-weight: bold;
font-style: bold;
}
/*
background wallpaper, font
*/
body {
background: linear-gradient(125deg, var(--pink), var(--mauve), var(--maroon), var(--peach), var(--teal));
background-size: 1000% 1000%;
animation: bg-gradient 10s ease infinite;
-moz-animation: bg-gradient 10s ease infinite;
-webkit-animation: bg-gradient 10s ease infinite;
font-family: "JetBrains Mono";
font-size: 18px;
margin: unset !important; /* idk why it does that */
}
/*
styling of the terminal windows
*/
.terminal {
/* the titlebar of the terminals */
.term-titlebar {
display: grid;
grid-template-columns: 2fr auto 2fr;
grid-template-areas:
"term-icon term-title term-buttons";
margin: -10px 0px -20px;
/* terminal icon */
.ph-terminal {
font-size: 25px;
align-self: center;
}
/* title text */
p, a {
font-family: "Lexend Deca";
font-size: 16px;
color: var(--text);
text-decoration: none;
grid-column: 2;
}
/* window buttons */
div {
display: flex;
height: 22px;
align-self: center;
margin-left: auto;
#minimize-btn {
width: 22px;
height: 22px;
background: var(--surface2);
border-radius: 50%;
transition: .2s background;
}
#maximize-btn {
width: 22px;
height: 22px;
background: var(--surface2);
border-radius: 50%;
margin-left: 10px;
transition: .2s background;
}
#close-btn {
width: 22px;
height: 22px;
background: var(--surface2);
border-radius: 50%;
margin-left: 10px;
transition: .2s background;
}
}
}
/* the prompt */
.term-input {
.folder {
color: var(--sapphire);
background-color: var(--crust);
border-radius: 3em;
padding: 0px 12px 0px 12px;
}
.status {
color: var(--green);
font-size: 24px;
margin-left: 3px;
margin-right: -8px;
vertical-align: middle;
}
.blink {
display: none;
color: var(--text);
margin-left: 3px;
padding-bottom: 4px;
animation: blink .8s linear infinite;
-moz-animation: blink .8s linear infinite;
-webkit-animation: blink .8s linear infinite;
}
}
background-color: var(--base);
color: var(--text);
border: var(--mantle) solid 3px;
border-radius: 20px;
max-width: 48em;
padding: 14px 24px;
margin-left: auto;
margin-right: auto;
margin-bottom: 3.4em;
transition: .2s border-color;
box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}
.terminal:hover {
.term-titlebar {
div {
#minimize-btn {
background: var(--yellow);
transition: .2s background;
}
#maximize-btn {
background: var(--green);
transition: .2s background;
}
#close-btn {
background: var(--red);
transition: .2s background;
}
}
}
.term-input {
.blink {
display: unset;
}
}
border-color: var(--green);
transition: .2s border-color;
}
.terminal > .term-titlebar > p:hover, a:hover {
text-decoration: underline;
}
/*
top navbar styling. attempts to look like a desktop panel/window manager bar
*/
.navbar {
position: fixed;
top: 0 !important;
min-width: 100%;
max-width: 100%;
min-height: 2.3em;
max-height: 2.3em;
display: grid;
grid-gap: 1em;
grid-template-columns: max-content auto max-content;
font-family: "Lexend";
align-content: center;
vertical-align: middle;
color: var(--text);
.nav-base {
padding: .2em;
border-radius: 8px;
box-shadow: rgba(0, 0, 0, 0.35) 0px 3px 15px;
max-width: fit-content;
align-content: center;
}
.nav-baselink {
background-color: var(--green);
text-decoration: unset !important;
color: var(--crust);
margin-left: .4em !important;
}
.nav-baselink-mobile {
display: none;
}
.hover-tip {
display: none;
}
.nav-links {
background-color: var(--base);
color: var(--text);
padding: 0px 5px 0px;
}
.nav-links a {
color: var(--text);
text-decoration: unset !important;
}
.nav-links a:hover {
color: var(--green);
text-decoration: underline !important;
}
.nav-systray {
background-color: var(--crust);
color: var(--text);
margin-right: .4em !important;
i {
padding: 0px 2px 0px 2px;
}
}
a, p {
margin: unset !important;
}
small {
opacity: .7;
}
}
/*
text formatting and config stuff
font-family and <p> is set under .terminal
*/
/* the only headings i use */
h1, h1 a {
color: var(--text);
font-size: 32px;
text-decoration: none;
}
/* apparently having more than one h1 is against web standards
but i prefer how it looks so i just use the same styling again */
h2, h2 a {
color: var(--text);
font-size: 32px;
text-decoration: none;
}
h3 {
font-size: 20px
}
/* TEXT */
p, li {
font-size: 18px;
}
/* links should look good i think */
a {
font-size: 18px;
color: var(--green);
}
/* smol text */
small, small a {
font-size: 14px;
}
/* lists need some styling */
li {
margin-left: -1em;
padding-bottom: 18px;
}
/* gay ass text */
.rainbow {
animation: 2s linear infinite rainbow;
-webkit-animation: 2s linear infinite rainbow;
-moz-animation: 2s linear infinite rainbow;
}
/* heading 1 is also clickable */
h1 a:hover {
text-decoration: underline;
}
/*
about me section/terminal
*/
.terminal:nth-child(2) {
margin-top: 3.8em;
}
#sneexy > section {
#pfp {
width: 256px;
height: 256px;
animation: 3s linear infinite spin-y;
margin-top: 1em;
margin-bottom: 1em;
}
#lastfm {
background-color: color-mix(in srgb, var(--red) 25%, transparent);
display: inline-flex;
align-items: center;
padding: .6em;
border-radius: 1em;
a {
color: var(--red);
}
img {
padding-top: .9em;
max-width: auto;
}
summary img {
padding-top: unset;
vertical-align: middle;
width: 26px;
height: 26px;
}
}
h1 {
margin-bottom: 1px;
}
p {
margin-top: 3px;
}
text-align: center;
}
/*
socials and links
*/
.socials-contacts-list {
display: grid;
grid-template-columns: repeat(2, 1fr);
margin-bottom: .5em;
}
.social-container {
display: inline-flex;
align-items: center;
margin: .3em;
padding: .2em;
border-radius: 1em;
background-color: var(--crust);
p, a, small {
padding-left: 1mm;
padding-right: 1mm;
margin-top: .8mm;
margin-bottom: .8mm;
}
img {
width: 26px;
height: 26px;
padding-left: 1mm;
padding-right: 1mm;
margin-top: .8mm;
margin-bottom: .8mm;
display: flex;
}
}
#fedi {
background-color: color-mix(in srgb, var(--peach) 25%, transparent);
p, a, small {
color: var(--text);
text-decoration: none;
}
p:hover, a:hover {
color: var(--peach);
text-decoration: underline;
small {
color: var(--peach) !important;
text-decoration: underline;
}
}
}
#signal {
background-color: color-mix(in srgb, var(--sapphire) 25%, transparent);
p, a {
color: var(--text);
text-decoration: none;
}
p:hover, a:hover {
color: var(--sapphire);
text-decoration: underline;
}
}
#revolt {
background-color: color-mix(in srgb, var(--red) 25%, transparent);
p, a {
color: var(--text);
text-decoration: none;
}
p:hover, a:hover {
color: var(--red);
text-decoration: underline;
}
}
#discord {
background-color: color-mix(in srgb, var(--blue) 25%, transparent);
p, a {
color: var(--text);
text-decoration: none;
}
p:hover, a:hover {
color: var(--blue);
text-decoration: underline;
}
}
#xmpp {
background-color: color-mix(in srgb, var(--green) 25%, transparent);
p, a {
color: var(--text);
text-decoration: none;
}
p:hover, a:hover {
color: var(--green);
text-decoration: underline;
}
}
#matrix {
background-color: color-mix(in srgb, var(--flamingo) 25%, transparent);
p, a {
color: var(--text);
text-decoration: none;
}
p:hover, a:hover {
color: var(--flamingo);
text-decoration: underline;
}
}
#listenbrainz {
background-color: color-mix(in srgb, var(--mauve) 25%, transparent);
p, a {
color: var(--text);
text-decoration: none;
}
p:hover, a:hover {
color: var(--mauve);
text-decoration: underline;
}
}
#gitgay {
background-color: color-mix(in srgb, var(--red) 10%, transparent);
p, a {
color: var(--text);
text-decoration: none;
}
p:hover, a:hover {
color: var(--mauve);
text-decoration: underline;
}
}
#blog {
background-color: color-mix(in srgb, var(--pink) 10%, transparent);
p, a {
color: var(--text);
text-decoration: none;
}
p:hover, a:hover {
color: var(--pink);
text-decoration: underline;
}
}
#music {
background-color: color-mix(in srgb, var(--sky) 10%, transparent);
p, a {
color: var(--text);
text-decoration: none;
}
p:hover, a:hover {
color: var(--sky);
text-decoration: underline;
}
}
#shitposts {
background-color: color-mix(in srgb, var(--red) 10%, transparent);
p, a {
color: var(--text);
text-decoration: none;
}
p:hover, a:hover {
color: var(--red);
text-decoration: underline;
}
}
#internet-archive {
background-color: color-mix(in srgb, var(--overlay2) 10%, transparent);
p, a {
color: var(--text);
text-decoration: none;
}
p:hover, a:hover {
color: var(--text);
text-decoration: underline;
}
}
/*
quotes
*/
.quotes-container {
display: inline-block;
text-align: center;
margin: .3em;
padding: .2em;
border-radius: 1em;
background-color: var(--crust);
p, a, small {
padding-left: 1mm;
padding-right: 1mm;
margin-top: .8mm;
margin-bottom: .8mm;
}
}
#limineow {
background-color: color-mix(in srgb, var(--red) 25%, transparent);
p, a, small {
color: var(--text);
text-decoration: none;
}
a:hover {
color: var(--red);
text-decoration: underline;
small {
color: var(--red) !important;
text-decoration: underline;
}
}
}
#limineow {
background-color: color-mix(in srgb, var(--red) 25%, transparent);
p, a, small {
color: var(--text);
text-decoration: none;
}
a:hover {
color: var(--red);
text-decoration: underline;
small {
color: var(--red) !important;
text-decoration: underline;
}
}
}
#bready {
background-color: color-mix(in srgb, var(--peach) 25%, transparent);
p, a, small {
color: var(--text);
text-decoration: none;
}
a:hover {
color: var(--peach);
text-decoration: underline;
small {
color: var(--peach) !important;
text-decoration: underline;
}
}
}
#mikoto {
background-color: color-mix(in srgb, var(--lavender) 25%, transparent);
p, a, small {
color: var(--text);
text-decoration: none;
}
a:hover {
color: var(--lavender);
text-decoration: underline;
small {
color: var(--lavender) !important;
text-decoration: underline;
}
}
}
#av70 {
background-color: color-mix(in srgb, var(--mauve) 25%, transparent);
p, a, small {
color: var(--text);
text-decoration: none;
}
a:hover {
color: var(--mauve);
text-decoration: underline;
small {
color: var(--mauve) !important;
text-decoration: underline;
}
}
}
#vozy {
background-color: color-mix(in srgb, var(--pink) 25%, transparent);
p, a, small {
color: var(--text);
text-decoration: none;
}
a:hover {
color: var(--pink);
text-decoration: underline;
small {
color: var(--pink) !important;
text-decoration: underline;
}
}
}
#guigui {
background-color: color-mix(in srgb, var(--green) 25%, transparent);
p, a, small {
color: var(--text);
text-decoration: none;
}
a:hover {
color: var(--green);
text-decoration: underline;
small {
color: var(--green) !important;
text-decoration: underline;
}
}
}
#binbows {
background-color: color-mix(in srgb, var(--crust) 25%, transparent);
p, a, small {
color: var(--text);
text-decoration: none;
}
a:hover {
color: var(--text);
text-decoration: underline;
small {
color: var(--text) !important;
text-decoration: underline;
}
}
}
/*
buttons
*/
.buttons {
font-size: 0px;
img {
margin-right: 5px;
image-rendering: auto;
image-rendering: crisp-edges;
image-rendering: pixelated;
}
}
/*
footer/credits
*/
footer {
.fediring {
a {
display: inline-grid;
font-size: 24px;
color: var(--green);
margin-bottom: .5em;
vertical-align: bottom;
}
[href="https://fediring.net"] {
color: var(--base);
background: var(--flamingo);
padding: 0px 10px 0px 10px;
border-radius: 5px;
}
[href="https://stellophiliac.github.io/roboring"] {
@media (prefers-color-scheme: light) {
color: var(--base);
}
@media (prefers-color-scheme: dark) {
color: var(--text);
}
background: var(--overlay0);
padding: 0px 10px 0px 10px;
border-radius: 5px;
}
[href*="previous"] {
color: var(--base);
background: var(--yellow);
padding: 4px 6px;
border-radius: 5px;
}
[href*="next"] {
color: var(--base);
background: var(--green);
padding: 4px 5px;
border-radius: 5px;
}
}
p, a {
text-align: center;
font-size: 15px;
margin: .2em 0px .2em;
text-decoration: none;
}
img {
max-width: 30%;
display: flex;
margin-left: auto;
margin-right: auto;
}
}
/*
animations
*/
@keyframes blink {
0% { opacity: 0; }
50% { opacity: 1.0; }
100% { opacity: 0; }
}
@keyframes blink-navbar-text {
0% { opacity: 0; }
50% { opacity: .8; }
100% { opacity: 0; }
}
@keyframes spin-y {
/* values: 128px, 256px, 348px, 396px*/
0% { transform: perspective(396px) rotateY(0); }
100% { transform: perspective(396px) rotateY(360deg); }
}
@keyframes rainbow {
0% { filter: hue-rotate(0deg) contrast(150%) saturate(150%); }
100% { filter: hue-rotate(360deg) contrast(150%) saturate(150%); }
}
@keyframes bg-gradient {
0% { background-position: 0% 27% }
50% { background-position: 100% 74% }
100% { background-position: 0% 27% }
}
@-moz-keyframes blink {
0% { opacity: 0; }
50% { opacity: 1.0; }
100% { opacity: 0; }
}
@-moz-keyframes blink-navbar-text {
0% { opacity: 0; }
50% { opacity: .8; }
100% { opacity: 0; }
}
@-moz-keyframes spin-y {
/* values: 128px, 256px, 348px, 396px*/
0% { transform: perspective(396px) rotateY(0); }
100% { transform: perspective(396px) rotateY(360deg); }
}
@-moz-keyframes rainbow {
0% { filter: hue-rotate(0deg) contrast(150%) saturate(150%); }
100% { filter: hue-rotate(360deg) contrast(150%) saturate(150%); }
}
@-moz-keyframes bg-gradient {
0% { background-position: 0% 27% }
50% { background-position: 100% 74% }
100% { background-position: 0% 27% }
}
@-webkit-keyframes blink {
0% { opacity: 0; }
50% { opacity: 1.0; }
100% { opacity: 0; }
}
@-webkit-keyframes blink-navbar-text {
0% { opacity: 0; }
50% { opacity: .8; }
100% { opacity: 0; }
}
@-webkit-keyframes spin-y {
/* values: 128px, 256px, 348px, 396px*/
0% { transform: perspective(396px) rotateY(0); }
100% { transform: perspective(396px) rotateY(360deg); }
}
@-webkit-keyframes rainbow {
0% { filter: hue-rotate(0deg) contrast(150%) saturate(150%); }
100% { filter: hue-rotate(360deg) contrast(150%) saturate(150%); }
}
@-webkit-keyframes bg-gradient {
0% { background-position: 0% 27% }
50% { background-position: 100% 74% }
100% { background-position: 0% 27% }
}
/*
modify widths and spacing depending on the size of the display
*/
@media screen and (max-width: 59em) {
.navbar {
min-height: 2.3em;
max-height: 2.3em;
font-family: "Lexend";
align-content: center;
vertical-align: middle;
color: var(--text);
.nav-baselink {
display: none !important;
}
.nav-baselink-mobile {
display: unset !important;
background-color: var(--green);
text-decoration: unset !important;
color: var(--crust);
margin-left: .4em !important;
i:not(:first-child) {
margin-left: -.5em;
margin-right: -.5em;
opacity: .6;
}
}
.hover-tip {
display: unset !important;
background-color: var(--base);
animation: blink 3s ease-inr-out infinite;
-moz-animation: blink 3s ease-in-out infinite;
-webkit-animation: blink 3s ease-in-out infinite;
}
.nav-links {
display: none !important;
}
}
.navbar:hover {
grid-template-columns: max-content auto;
grid-template-rows: auto auto;
min-height: 4.9em !important;
max-height: 5.5em !important;
.hover-tip {
display: none !important;
}
.nav-links {
display: unset !important;
grid-row: 2 !important;
padding: .2em;
margin-left: .4em !important;
}
.nav-baselink-mobile {
padding: .2em !important;
}
.nav-systray {
margin-left: auto !important;
}
}
.terminal:nth-child(2) {
margin-top: 2.4em;
}
.terminal {
.term-titlebar {
margin: -16px 0px -24px;
}
margin: 0px .7em .7em;
padding: 10px 16px;
}
#sneexy > section {
#lastfm {
img {
max-width: 17em;
}
}
}
.socials-contacts-list {
grid-template-columns: repeat(1, 1fr);
}
}