site/dni/style.css
2024-08-13 23:21:16 -05:00

686 lines
13 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: 0.2s background;
}
#maximize-btn {
width: 22px;
height: 22px;
background: var(--surface2);
border-radius: 50%;
margin-left: 10px;
transition: 0.2s background;
}
#close-btn {
width: 22px;
height: 22px;
background: var(--surface2);
border-radius: 50%;
margin-left: 10px;
transition: 0.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 0.8s linear infinite;
-moz-animation: blink 0.8s linear infinite;
-webkit-animation: blink 0.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: 0.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: 0.2s background;
}
#maximize-btn {
background: var(--green);
transition: 0.2s background;
}
#close-btn {
background: var(--red);
transition: 0.2s background;
}
}
}
.term-input {
.blink {
display: unset;
}
}
border-color: var(--green);
transition: 0.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 {
display: flex;
flex-direction: row;
position: fixed;
top: 0 !important;
z-index: 10;
min-width: 100%;
max-width: 100%;
min-height: 1.8em !important;
max-height: 1.8em !important;
margin-top: 0.5em;
font-family: "Lexend Deca";
align-content: center;
vertical-align: middle;
color: var(--text);
.nav-base {
padding: 0px 0.2em !important;
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: 0.5em !important;
}
.nav-baselink-mobile {
display: none;
}
.hover-tip {
display: none;
}
.nav-links {
background-color: var(--base);
color: var(--text);
padding: 0px 5px 0px;
margin-left: 0.5em !important;
}
.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-left: auto !important;
margin-right: 0.5em !important;
i {
padding: 0px 2px 0px 2px;
}
}
a,
p {
margin: unset !important;
}
small {
opacity: 0.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;
}
/*
footer/credits
*/
footer {
p,
a {
text-align: center;
font-size: 15px;
margin: 0.2em 0px 0.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;
}
100% {
opacity: 0;
}
}
@keyframes blink-navbar-text {
0% {
opacity: 0;
}
50% {
opacity: 0.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;
}
100% {
opacity: 0;
}
}
@-moz-keyframes blink-navbar-text {
0% {
opacity: 0;
}
50% {
opacity: 0.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;
}
100% {
opacity: 0;
}
}
@-webkit-keyframes blink-navbar-text {
0% {
opacity: 0;
}
50% {
opacity: 0.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: 1.8em !important;
max-height: 1.8em !important;
flex-wrap: wrap;
.nav-base {
padding: 0.27em 0.2em !important;
}
.nav-baselink {
display: none !important;
}
.nav-baselink-mobile {
display: unset !important;
background-color: var(--green);
text-decoration: unset !important;
color: var(--crust);
margin-left: 0.4em !important;
i:not(:first-child) {
margin-left: -0.5em;
margin-right: -0.5em;
opacity: 0.6;
}
}
.hover-tip {
display: unset !important;
background-color: var(--base);
margin-left: 0.5em !important;
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;
order: 1;
margin-top: 0.5em;
}
}
.navbar:hover {
min-height: 4.06em !important;
.hover-tip {
display: none !important;
}
.nav-links {
display: unset !important;
padding: 0.2em;
margin-left: 0.4em !important;
}
.nav-baselink-mobile {
padding: 0.2em !important;
}
.nav-systray {
margin-left: auto !important;
}
}
.terminal:nth-child(2) {
margin-top: 2.8em;
}
.terminal {
.term-titlebar {
margin: -16px 0px -24px;
}
margin: 0px 0.7em 0.7em;
padding: 10px 16px;
}
}