@font-face {
    font-family: 'Archivo';
    src: url('/font/Archivo-Regular.otf') format('opentype');
}

@font-face {
    font-family: 'Cascadia';
    src: url('/font/CascadiaCode-Light.otf') format('opentype');
}

@font-face {
    font-family: 'Matrix';
    src: url('/font/tiny5.matrix-bold.otf') format('opentype');
}

:root {
    --color-1: white;
    --color-2: #ff4b4b;
    --color-3: #23dbdf;
}

body {
	min-height: 100vh;
	line-height: 1.5;
    text-align: center;
	font-family: Archivo, Arial, sans-serif;
	background: black;
	color: #eee;
}

footer {
    padding: 6rem 0;
    font-size: 0.7rem;
}

footer a {
    text-decoration: underline;
}

footer a:hover {
    color: #666
}

footer, footer a {
    color: #444;
}

a {
    color: var(--color-2);
    text-decoration: none;
}

a,
h1 a span {
    color: black;
    transition:
        color 0.5s ease,
        background-color 0.7s ease,
        border 0.5s ease,
        border-bottom-width 0.5s ease,
        padding-top 0.5s ease;
}

h1 a {
    display: inline-block;
    padding-bottom: 2rem;
}

h1 a span {
    display: inline-block;
    vertical-align: top;
    width: 5rem;
    padding-top: 8rem;
    padding-bottom: 0;
    border-bottom-width: 0;
    border-bottom-style: solid;
    border-bottom-color: transparent;
    background-clip: padding-box;
    text-transform: uppercase;
}

h1 a:hover span {
    padding-top: 5.8rem;
    border-bottom-width: 2.2rem;
}

h1 {
    font-family: 'Matrix', monospace;
    font-size: 5rem;
}

h1 a .color-1 {
    background-color: var(--color-1);
}

h1 a .color-2 {
    background-color: var(--color-2);
}

h1 a .color-3 {
    background-color: var(--color-3);
}

h1 a .delay-1 {
    transition-delay: 0.1s;
}

h1 a .delay-2 {
    transition-delay: 0.2s;
}

h1 a .delay-3 {
    transition-delay: 0.3s;
}

h1 a .delay-4 {
    transition-delay: 0.4s;
}

h1 a .delay-5 {
    transition-delay: 0.5s;
}

h1 a:hover span {
    background-color: black;
}

h1 a:hover .color-1 {
    color: var(--color-1);
}

h1 a:hover .color-2 {
    color: var(--color-2);
}

h1 a:hover .color-3 {
    color: var(--color-3);
}

h2 {
    margin: 1.5rem auto;
    border-top: 1px solid #222;
    border-bottom: 1px solid #111;
    padding: 0.75rem 0;
    font-size: 1.2rem;
    font-family: 'Cascadia', monospace;
    letter-spacing: 0.3rem;
    color: var(--color-3);
}

h2::before {
    content: '> ';
    color: #555;
    text-shadow: none;
    letter-spacing: 0;
}

h3 {
    margin: 1rem;
    font-size: 1.4rem;
    letter-spacing: 0.2rem;
    color: #ddd;
}

ol.gallery {
    margin-top: 0.5rem;
    list-style: none;
}

ol.gallery li {
    display: inline-block;
    border: 0;
}

ol.gallery li img {
    height: 100%;
}

ol.gallery li a {
    display: block;
    border: 0.3em solid black;
    height: 25rem;
}

ol.gallery li a.color-1:hover {
    border-color: var(--color-1);
}

ol.gallery li a.color-2:hover {
    border-color: var(--color-2);
}

ol.gallery li a.color-3:hover {
    border-color: var(--color-3);
}

menu li {
    display: inline-block;
}

menu li a {
    display: inline-block;
    padding: 1.2rem 0.5rem;
    font-size: 1.1rem;
    text-transform: lowercase;
    text-decoration: underline;
    letter-spacing: 0.1rem;
    color: var(--color-2);
    transition: color 1s ease, background-color 1s ease;
}

menu li a:hover {
    transition: none;
    color: black;
}

menu li a.color-1:hover {
    background-color: var(--color-1);
}

menu li a.color-2:hover {
    background-color: var(--color-2);
}

menu li a.color-3:hover {
    background-color: var(--color-3);
}

p.info {
    margin: -0.5rem 0 1rem 0;
}

p.info span {
    display: inline-block;
    border-left: 1px solid #444;
    padding: 0 0.4rem;
    font-family: 'Cascadia', monospace;
    font-size: 0.8rem;
    letter-spacing: 0.2rem;
    color: #888;
}

p.info span:first-child {
    border: 0
}

.releases {
    margin: 0.5rem 0 2rem 0;
    list-style: none;
}

.releases li.release {
    display: inline-block;
    margin: 0 0.5rem; 
}