:root
{
    --black: #000000;
    --primary: #020207;
    --main: #333399;
    --primary-color: #050515;
    --primary-bright: #33333E;

    --text: #f3f3ffaa;
    --important: #aaaaffb0;
    --window-border: #f3f3ff50;
    --button: #11113370;
}
* { font-family: 'SF Mono'; color: var(--text); word-spacing: 2px; background-size: 100vw 100vh; }

@font-face
{
    font-family: 'SF Mono';
    src: url(fonts/sf-mono/SFMonoLight.otf);
    size-adjust: 75%;
    line-gap-override: 0%;
    descent-override: 25%;
    ascent-override: 85%;
    font-stretch: 50% 200%;
}
@font-face
{
    font-family: 'minecraft';
    src: url(fonts/minecraftia-regular.ttf);
    size-adjust: 75%;
    line-gap-override: 0%;
    descent-override: 25%;
    ascent-override: 85%;
    font-stretch: 50% 200%;
}

body
{
    margin: 0;
    background: #07070e;
}
p{margin: 0; line-height: 1.3;}
::selection
{
    color: #f3f3ff;
    background: var(--overline);
}
:is(h1, h2, h3, h4, h5, h6) { font-weight: 500; }

button
{
    border-radius: 0;
    border: none;
    margin: 0;
    padding: .3em;
    background: var(--button);
    font-size: x-large;
    font-weight: 500;
    border: var(--text) solid .1em;
    margin: 0;
    cursor: pointer;
    margin-right: 1em;
}
button:last-child { margin-right: 0; }
button:hover
{
    background-image: radial-gradient(var(--main) 0%, #00000000 70%);
    background-position: 50% 80%;
    background-size: 200% 500%;
    
    border-image: linear-gradient(to top, var(--main) 0%, var(--important)) 1;
    border-radius: .3em;
}


#main-section
{
    max-width: 100vw;
    height: 100%;
    margin: 0;
    background-image: radial-gradient(var(--main) 0%, #00000000 75%);
    background-position: 0% 200%;
    background-repeat: no-repeat;
    transition: all 1s;
}
#main-section > video
{
    width: 70vw;
    position: relative;
    left: 50%;
    translate: -50%;
    min-width: 40em;
}
#main-section > p
{
    width: 30%;
    min-width: 5em;
    text-align: center;
    left: 50%;
    translate: -50%;
    position: relative;
    top: -2em;
}
#main-section > #main-actions
{
    width: fit-content;
    display: flex;
    left: 50%;
    translate: -50%;
    position: relative;
}


#content-section
{
    max-width: 100vw;
    margin: 0;
    background-image: linear-gradient(0deg, var(--primary-bright) 0%, #0000 100%);
    transition: all 1s;
    padding-top: 6em;
    padding-top: 100vh;
    background-size: cover;
}

.part { width: 100%; display: flex; }
.part > video
{
    max-width: 50vw;
    max-height: 24em;
    padding: 2em;
}
.part > div
{
    display: block;
    padding-bottom: 3em;
}
.part > div > h3
{
    font-size: xx-large;
    font-family: minecraft;
}
.part > div > div
{
    margin-top: 1em;
    height: 16em;
    display: flex;
    overflow: hidden;
    width: calc(100vw - 30em);
}
.part > div > div > img { height: 100%; margin-right: 1em; }
.part > div > div > img:last-child { margin-right: 0; }