body {
    margin: 0;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    text-align: left;
    background-color: #f1f1f1; /* store in CSS variable */
}

* {
    box-sizing: border-box;
}

h1 {
    background-color: black;
    color: white;
    display: inline-block;
    font-family: 'Courier New', Courier, monospace;
    padding: 8px;
    margin: 24px 0;
    font-weight: normal;
    font-size: 1.8rem;
}

.banner {
    padding: 24px 16px;
    margin-bottom: 16px;
}

.banner > span, footer {
    display: block;
    font-family: 'Courier New', Courier, monospace;
}

.banner > span.super-big {
    font-size: 48px;
}

.banner, footer {
    background-color: black;
    color: white;
    display: block;
}

.container {
    display: block;
    margin: 0 8px;
}

.container > * {
    max-width: 100%;
}

.container.card {
    background-color: white;
    box-shadow: 2px 2px 4px rgba(0,0,0,0.5);
    padding: 8px;
    text-align: center;
}

footer {
    margin-top: 48px;
    padding: 16px;
    text-align: center;
}

section {
    margin-bottom: 16px;
}

section#projects {
    min-height: 1200px;
}

#curtain.banner {
    display: none;
}

/* find way to not have this query trigger for IE */
@media only screen and (min-width: 768px) {
    @keyframes black-grey {
        0% {background-color: black;}
        100% {background-color: #f1f1f1;}
    }

    body {
        text-align: center;
        background-color: black;
        animation-name: black-grey;
        animation-delay: 2.1s;
        animation-duration: 1s;
        animation-fill-mode: forwards;
    }

    .container.card {
        padding: 16px;
    }

    .container {
        width: 768px;
        display: inline-block;
        margin: 0;
    }

    section#projects .container {
        width: auto;
    }

    .banner > span.super-big {
        font-size: 96px;
    }

    footer {
        margin-top: 32px;
    }

    @keyframes fade-in {
        0% {
            opacity: 0;
            visibility: visible;
        }
        100% {
            opacity: 1;
            visibility: visible;
        }
    }

    section#about {
        /* animation */
        opacity: 0;
        animation-name: fade-in;
        animation-delay: 2.5s;
        animation-fill-mode: forwards;
        animation-duration: 1s;
    }
    
    section#projects {
        /* animation */
        opacity: 0;
        animation-name: fade-in;
        animation-delay: 2.6s;
        animation-fill-mode: forwards;
        animation-duration: 1s;
    }

    section{
        visibility: hidden;
    }

    section a {
        cursor: pointer;
    }

    #top-banner.banner {
        visibility: hidden;
    }

    @keyframes lift {
        0% {top: calc(50% - var(--banner-height)) }
        100%{top: 0px}
    }

    .banner, #curtain.banner {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        --banner-height: 200px;
        min-height: var(--banner-height);
        width: 100%;
    }

    #curtain.banner {
        position: absolute;
        width: 100%;
        top: calc(50% - var(--banner-height));
        animation-name: lift;
        animation-delay: 1s;
        animation-duration: 1s;
        animation-fill-mode: forwards;
        animation-timing-function: ease-in;
    }

    footer {
        opacity: 0;
        animation-name: fade-in;
        animation-delay: 2.7s;
        animation-duration: 1s;
        animation-fill-mode: forwards;
    }
}

@media only screen and (min-width: 992px) {
    .container {
        width: 992px;
    }
}