/* ---------------------------------- - background wallpaper, global font - ---------------------------------- */ body { background: linear-gradient(var(--background), color-mix(in srgb, var(--accent) 25%, var(--background))); min-height: calc(100vh - 4rem); font-family: 'JetBrains Mono', monospace, system-ui, sans-serif; font-size: 1.125rem; margin: unset !important; /* idk why it does that */ } /* --------------- - window styling - ---------------- */ .window { summary { display: inline-flex; min-width: 100%; background-color: color-mix(in srgb, var(--accent) 20%, var(--background)); opacity: .8; text-align: center; vertical-align: middle; overflow: clip; transition: .2s opacity; div:first-child { background: color-mix(in srgb, var(--accent) 40%, transparent); padding: .4rem .4rem .2rem 1rem; border-right: .2rem solid var(--accent); border-bottom-right-radius: 1rem; span { background-color: var(--foreground); } } a { font-family: 'Inter', system-ui, sans-serif; padding: .3rem 0rem .3rem .5rem; text-decoration: none; color: var(--foreground); } a:hover { text-decoration: underline; } [class^="tabler--"] { transform: scale(1.1); } div:nth-child(3) { margin-left: auto !important; padding: .2rem .5rem .2rem 0rem; span { text-align: center; vertical-align: middle; background-color: var(--foreground); } /* maximize button (which does nothing) */ span:nth-child(2) { opacity: .6; cursor: not-allowed; } } /* close button */ div:nth-child(4) { background: color-mix(in srgb, var(--accent) 40%, transparent); padding: .4rem .5rem .2rem .6rem; border-left: .2rem solid var(--accent); border-bottom-left-radius: 1rem; color: var(--foreground); transition: background .2s; transition: background-color .2s; } /* close button (animated on hover) */ div:nth-child(4):hover { background: var(--red); transition: background .2s; span { background-color: var(--background); transition: background-color .2s; } } } section, article { padding: .8rem; } background-color: var(--background); color: var(--foreground); border: var(--accent) solid .15rem; border-radius: .6rem; max-width: 60em; overflow: clip; margin-left: auto; margin-right: auto; margin-bottom: 2em; transition: .2s box-shadow; box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px; } /* window styling when hovered */ .window:hover { summary { opacity: 1; transition: .2s opacity; } } /* window styling when open (default state) */ .window[open] { summary { opacity: 1; border-bottom: .1rem solid var(--accent); transition: .2s opacity; } border-radius: 2rem .6rem 2rem .6rem; } .window:hover { box-shadow: var(--accent) 0px 0px 0px .3rem; transition: .2s box-shadow; } /* window when its the first one on the page */ .window:nth-child(2) { margin-top: 5rem; } /* ------------------ - the footer window - ------------------ */ footer { max-width: 30em; margin-left: auto; margin-right: auto; details > summary > a { padding: .3rem 0rem .3rem 1rem !important; } section, article { padding: 1rem !important; } } /* --------------------------------------------------------------- - top navbar styling, attempts to look like a 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; font-family: 'Inter', system-ui, sans-serif; align-content: center; vertical-align: middle; background-color: color-mix(in srgb, var(--accent) 30%, transparent); border-bottom: .2rem solid var(--accent); color: var(--foreground); .nav-base { padding: 0px .2em !important; max-width: fit-content; align-content: center; } .nav-baselink { background-color: var(--accent); text-decoration: unset !important; color: var(--background); padding: 0px .4rem .1rem !important; border-bottom-right-radius: 1rem; svg { color: var(--background) !important; } } .nav-baselink::before { content: ''; background: var(--background); min-width: 14rem; min-height: 1.7rem; display: block; z-index: -1; position: absolute; } .nav-baselink-mobile { display: none; } .nav-links { background-color: var(--background); color: var(--foreground); padding: 0px .4rem !important; border-bottom-right-radius: 1rem; } .nav-links a { color: var(--foreground); text-decoration: unset !important; } .nav-links a:hover { color: var(--accent); text-decoration: underline !important; } .nav-systray { background-color: var(--background); color: var(--foreground); margin-left: auto !important; padding: 0px .4rem !important; border-bottom-left-radius: 1rem; i { padding: 0px 2px 0px 2px; } } a, p { margin: unset !important; } small { opacity: .7; } svg { color: var(--foreground) !important; } } /* text formatting and config stuff font-family and

is set under .terminal */ /* headings */ h1, h1 a { color: var(--foreground); font-size: 2rem; 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(--foreground); font-size: 2rem; text-decoration: none; } h3, h3 a { font-size: 2rem; } /* text */ p, li, button { font-size: 1.125rem; [class^="tabler--"] { transform: scale(1.13); } } /* links should look good i think */ a { font-size: 1.125rem; color: var(--accent); transition: 0.2s; } a:hover { transition: 0.2s; text-shadow: 0em 0em 0.25em var(--accent); } /* smol text */ small, small a { font-size: 0.875rem; } /* 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; } /* the tabler icons svgs styling */ .tabler-icon, .icon .icon-tabler { width: 1.3rem; height: 1.3rem; padding-bottom: .2rem; vertical-align: middle !important; color: var(--foreground) !important; } /* the dot */ .dot { display: inline-flex; width: .4rem; height: .4rem; background-color: var(--foreground); border-radius: 100%; vertical-align: middle; margin-left: .2rem; margin-right: .2rem; margin-bottom: .1rem; } /* summary styling */ summary { display: flex; } /* ----------------------- - styled summary styling - ----------------------- */ details.styled { summary { max-width: 30%; font-size: 1.5rem; padding: .5rem; border-radius: .5rem; } } details.styled[open] { background-color: color-mix(in srgb, var(--background) 90%, var(--accent)); summary { border-radius: .5rem; } section { padding: .5rem; border-radius: .5rem; } } /* alt text popup */ .alt-popup { position: fixed; background-color: color-mix(in srgb, var(--background) 85%, transparent); backdrop-filter: blur(.5rem); color: var(--foreground); padding: .5rem; border: solid .01rem var(--accent); border-radius: .5rem; font-size: 1rem; max-width: 30rem; z-index: 1000; pointer-events: none; opacity: 0; transition: opacity 0.4s; } /* audio */ audio { border-radius: 3rem; } /* footer/credits */ footer { .fediring { a { display: inline-grid; font-size: 1.5rem; color: var(--green); margin-bottom: .5em; vertical-align: bottom; } [href="https://fediring.net"] { color: var(--foreground); background: color-mix(in srgb, var(--purple) 25%, transparent); padding: 0px 10px 0px 10px; border-radius: 5px; } [href="https://keithhacks.cyou/furryring.php"] { color: var(--foreground); background: color-mix(in srgb, var(--sapphire) 25%, transparent); padding: 0px 10px 0px 10px; border-radius: 5px; } [href="https://stellophiliac.github.io/roboring"] { color: var(--foreground); background: color-mix(in srgb, var(--comment) 25%, transparent); padding: 0px 10px 0px 10px; border-radius: 5px; } [href*="prev"] { background: color-mix(in srgb, var(--orange) 25%, transparent); padding: 5px 6px; border-radius: 5px; span { background-color: var(--orange) !important; } } [href*="next"] { background: color-mix(in srgb, var(--green) 25%, transparent); padding: 5px 6px; border-radius: 5px; span { background-color: var(--green) !important; } } } p, a { text-align: center; font-size: 0.938rem; margin: .2em 0px .2em; text-decoration: none; } img { padding-top: 18px; max-width: 30%; display: flex; margin-left: auto; margin-right: auto; transition: 1s animation; } img:hover { animation: spin 5s infinite linear; } .inner-footer { text-align: center; padding-top: 14px; padding-bottom: 14px; a { width: 3rem; height: 3rem; display: inline-block; vertical-align: middle; align-content: center; border-radius: .5rem; span { transform: scale(1.58); } } } } /* various reusable 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 { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @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 { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @-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 { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @-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% } } /* disable certain animations if user has animations disabled on their system */ @media (prefers-reduced-motion) { body { background: var(--background) !important; animation: unset !important; -moz-animation: unset !important; -webkit-animation: unset !important; } } /* modify widths and spacing depending on the size of the display */ @media screen and (max-width: 1083px) { .navbar { min-height: 1.8em !important; max-height: 1.8em !important; flex-wrap: wrap; .nav-base { padding: .27em .2em !important; } .nav-baselink { display: none !important; } .nav-baselink-mobile { display: block !important; position: absolute; max-width: 40em; width: max-content; z-index: 9999; padding: unset !important; a { display: inline-flex; align-items: center; color: var(--foreground); padding: .6em .7em; text-decoration: none; } a:hover { color: var(--accent); text-decoration: underline; } i { padding-right: .4em; } ul { background-color: var(--background); border-bottom-right-radius: 1rem; border-right: var(--accent) solid .15rem; border-bottom: var(--accent) solid .15rem; max-width: 10em; width: auto; margin-top: unset !important; li { list-style-type: none; margin-left: -2em; padding-bottom: unset !important; } } } .nav-baselink-mobile summary { display: block !important; margin-top: 0px !important; font-family: 'Inter', system-ui, sans-serif; background-color: var(--accent); text-decoration: unset !important; color: var(--background); padding: .3em; border-bottom-right-radius: 1rem; width: 4.7em; i:not(:first-child) { margin-left: -.5em; margin-right: -.9em; opacity: .6; } } .nav-links { display: none !important; } } .window:not(#footer) { summary { div:first-child { padding: .3rem .4rem .3rem .4rem; } div:nth-child(3) { display: none !important; } div:nth-child(4) { margin-left: auto !important; } } section, article { padding: .5rem; } border-top: var(--accent) solid .15rem; border-bottom: var(--accent) solid .15rem; border-left: unset !important; border-right: unset !important; border-radius: unset !important; margin-bottom: .8em; } /* window when its the first one on the page */ .window:nth-child(2) { margin-top: 4rem; } } @media screen and (max-width: 540px) { details#footer.window { border-top: var(--accent) solid .15rem; border-bottom: var(--accent) solid .15rem; border-left: unset !important; border-right: unset !important; border-radius: unset !important; margin-bottom: .8em; } }