You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

211 lines
3.4 KiB
CSS

6 months ago
:root {
--header-bg-color: #1b1c1d;
--header-fg-color: #a3bd8d;
--header-height: 192px;
--header-multiplier: .25;
--page-bg-color: #232425;
--page-fg-color: #7e9fbe;
--highlight-fg-color: #eacb8b;
6 months ago
--emboss-color: #000;
}
@font-face {
font-family: 'rubikregular';
src: url('/rubik-regular-minimal.woff2') format('woff2');
font-weight: normal;
font-style: normal;
font-display: swap;
}
6 months ago
@media (prefers-color-scheme: light) {
:root {
--page-bg-color: #efe9d9;
--page-fg-color: #261b00;
--header-fg-color: #143373;
--header-bg-color: #a49570;
6 months ago
--emboss-color: #fff;
}
.light\:invert,
.contacts img {
6 months ago
filter: invert();
}
}
* {
transition: color 300ms ease, background-color 300ms ease, fill 500ms ease;
6 months ago
}
html,
body {
width: 100vw;
6 months ago
display: flex;
flex-flow: column nowrap;
justify-content: center;
margin: auto;
background: var(--page-bg-color);
color: var(--page-fg-color);
font-size: 20px;
font-family: 'rubikregular', sans-serif;
scroll-behavior: smooth;
6 months ago
}
body>#spacer,
6 months ago
body>header {
position: fixed;
top: 0;
left: 0;
width: 100vw;
background-color: var(--header-bg-color);
}
body>#spacer {
height: calc(var(--header-height) * var(--header-multiplier));
}
body>header {
height: var(--header-height);
6 months ago
color: transparent;
transition: transform .3s ease-in-out;
transform-origin: top center;
}
body>header.small {
transform: scale(var(--header-multiplier));
}
body>header>svg {
display: block;
width: 960px;
max-width: 98vw;
margin: .5em auto;
color: var(--header-fg-color);
}
body>main {
width: 960px;
margin: var(--header-height) auto 4em;
6 months ago
}
a {
color: var(--page-fg-color);
}
#intro {
display: flex;
flex-flow: column nowrap;
justify-content: center;
height: calc(100vh - var(--header-height));
margin: 2rem 0;
}
6 months ago
#content>h1 {
margin: 0 0 .25em;
padding-top: 2em;
6 months ago
font-size: 2rem;
font-variant: small-caps;
text-shadow: 1px 1px 0 var(--emboss-color);
color: var(--header-fg-color);
6 months ago
}
#menu {
display: flex;
justify-content: space-between;
align-items: center;
gap: 1rem;
}
blockquote {
margin: 0;
padding: .5em .5em .5em 1em;
background-color: rgba(128, 128, 128, .1);
border-radius: 12px;
}
6 months ago
#menu>a {
padding: 2rem .5rem 0;
6 months ago
display: flex;
flex-flow: column nowrap;
justify-content: center;
align-items: center;
gap: 1rem;
6 months ago
text-decoration: none;
font-variant: small-caps;
font-size: 2rem;
text-align: center;
background-color: rgba(128, 128, 128, .1);
transition: background-color .3s ease;
border-radius: 12px;
}
#menu>a:hover {
background-color: rgba(128, 128, 128, .2);
6 months ago
}
#menu>a>svg {
display: block;
max-width: 200px;
opacity: .3;
transition: opacity .3s ease;
}
#menu>a:hover>svg {
opacity: .8;
}
.contacts {
margin: 1.5em 0;
columns: 3;
column-fill: balance;
}
.contacts p {
display: flex;
align-items: center;
gap: 1rem;
margin: 0 0 1em 0;
}
.contacts img {
width: 3rem;
}
#header-tilde,
#header-bracket,
#header-underscore {
fill: var(--highlight-fg-color);
}
#header-k,
#header-o,
#header-e,
#header-h,
#header-r {
fill: var(--header-fg-color);
}
#header-underscore {
animation: fade 2s linear infinite;
}
@keyframes fade {
0% {
opacity: 1.0;
}
50% {
opacity: 0.0;
}
60% {
opacity: 0.0;
}
80% {
opacity: 1.0;
}
100% {
opacity: 1.0;
}
6 months ago
}