/* 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
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; } }