html, body {
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

body {
    background-size: cover;
    background-position: center;
    background-repeat:no-repeat;
    font-family: AppleGothic, "Host Grotesk", sans-serif;
    font-weight: 300;
    font-style: normal;
}

nav {
    min-width: 300px;
    width: 75%;
    max-width: 400px;
}

nav > a {
    width: 100%;
    padding: 0.25em;
    text-decoration: none;
    font-size: 18pt;
    margin: 0.5em;
    text-align: center;
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
}

/* Small phones */
@media only screen and (max-width: 480px) {
    body {
        background-image: url('./img/hero-480.jpg');
    }

    nav > a {
        font-size: 27pt;
    }
}

@media only screen and (max-width: 480px) and (min-resolution: 2dppx) {
    body {
        background-image: url('./img/hero-480@2x.jpg');
    }

    nav > a {
        font-size: 36pt;
    }

    nav {
        max-width: 600px;
    }
}

/* Medium phones */
@media only screen and (min-width: 481px) and (max-width: 767px) {
    body {
        background-image: url('./img/hero-767.jpg');
    }

    nav > a {
        font-size: 36pt;
    }

    nav {
        max-width: 600px;
    }
}

@media only screen and (min-width: 481px) and (max-width: 767px) and (min-resolution: 2dppx) {
    body {
        background-image: url('./img/hero-767@2x.jpg');
    }

    nav > a {
        font-size: 36pt;
    }

    nav {
        max-width: 600px;
    }
}

/* Large phones */
@media only screen and (min-width: 768px) and (max-width: 1024px) {
    body {
        background-image: url('./img/hero-1024.jpg');
    }

    nav > a {
        font-size: 36pt;
    }

    nav {
        max-width: 600px;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) and (min-resolution: 2dppx) {
    body {
        background-image: url('./img/hero-1024@2x.jpg');
    }

    nav > a {
        font-size: 36pt;
    }

    nav {
        max-width: 600px;
    }
}

/* Small laptops */
@media only screen and (min-width: 1025px) and (max-width: 1366px) {
    body {
        background-image: url('./img/hero-1366.jpg');
    }
}

@media only screen and (min-width: 1025px) and (max-width: 1366px) and (min-resolution: 2dppx) {
    body {
        background-image: url('./img/hero-1366@2x.jpg');
    }
}

/* Medium laptops */
@media only screen and (min-width: 1367px) and (max-width: 1600px) {
    body {
        background-image: url('./img/hero-1600.jpg');
    }
}

@media only screen and (min-width: 1367px) and (max-width: 1600px) and (min-resolution: 2dppx) {
    body {
        background-image: url('./img/hero-1600@2x.jpg');
    }
}

/* Large laptops */
@media only screen and (min-width: 1601px) and (max-width: 1920px) {
    body {
        background-image: url('./img/hero-1920.jpg');
    }
}

@media only screen and (min-width: 1601px) and (max-width: 1920px) and (min-resolution: 2dppx) {
    body {
        background-image: url('./img/hero-1920@2x.jpg');
    }
}

nav > a > img {
    height: 1em;
    vertical-align: middle;
}

nav > a {
    border-radius: 0.25em;
    display: block;
}