/* FONTS */
@import url('https://fonts.googleapis.com/css2?family=Doto:wght@100..900&display=swap');

/* CLEAN UP */

:root {
    --dark-bg: #111;
    --dark-grey-bg: #252525;
    --light-bg: #fefefe;
    --dark-border: #161615;
    --dark-grey-border: #222;
    --light-border: #656565;
    --dark-grey-text: #97979d;
    --light-grey-text: #c6c9cb;
    --light-text: #fff;
}

body {
    background-color: var(--dark-bg);
    margin: 0;
    padding: 0;
    min-height: 100vh;
    font-size: 14px;
}

* {
    max-width: 100%;
}

p,
h1,
h2,
h3,
h4 {
    margin: 0;
}

/* ORGANIZATION */

.container {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.column {
    flex-direction: column;
}

.width-33 {
    width: calc(100%/3);
}

.width-50 {
    width: 50%;
}

.width-66 {
    width: calc(100%/3*2);
}

.width-100 {
    width: 100%;
}

.height-100 {
    height: 100%;
}

.pad-15 {
    padding: 15px;
}

.vertical-center {
    align-items: center;
}

.horizontal-center {
    justify-content: center;
}

.one-line {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}


/* TYPOGRAPHY */

h1, h2, h3, h4 {
    font-family: 'Doto', sans-serif;
    font-weight: 400;
    color: #fff;
}

h1 {
    font-size: 64px;
}

h2 {
    font-size: 48px;
}

h3 {
    font-size: 32px;
}

h4 {
    font-size: 16px;
}

@keyframes glow-sine {
    0% {
        text-shadow: 0px 0px 20px #ffffff80;
    }
    50% {
        text-shadow: 0px 0px 20px #ffffff;
    }
    100% {
        text-shadow: 0px 0px 20px #ffffff80;
    }
}

.glow {
    text-shadow: 1px 1px 20px #ffffff80;
    animation: glow-sine;
    animation-duration: 2s;
    animation-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
    animation-iteration-count: infinite;
}


p {
    font-family: "Roboto Mono", monospace;
    letter-spacing: 3px;
    font-weight: 400;
    transform: scaleX(.8);
    transform-origin: left;
    padding: 10px 0px;
    font-size: 12px;
    color: #fff;
}