html, body {
    min-height: 100vh;
    width: 100vw;
    overflow-x: hidden;
    background-color: #eee;
    color: dimgray;
    margin: 0; padding: 0;
    font-family: 'Raleway', sans-serif;
    font-weight: 300;
}

header, article, footer, div.image {
    clear: both;
}

header ul {
    display: block;
    float: right;
    margin: 0 10vw 0 0;
    list-style-type: none;
    list-style-position: inside;
    padding: 0;
}

    header ul li {
        display: inline-block;
        width: auto;
        max-width: 12em;
        margin-bottom: 5%;
        line-height: 50%;
        margin: 0 2em 0 0;
        border-top: 0.5em solid white;
    }

        header ul li:hover {
            background-color: white;
        }

    header ul li:last-child {
        margin-right: -2em;
    }

    header ul li a {
        padding: 1em 2em 1.25em 2em;
        color: black;
        text-decoration: none;
        display: inline-block;
    }

    @media only screen and (max-width: 600px) {
        header ul li {
            display: block;
            margin-right: -2em;
            border: none;
            background-color: white;
            width: 9em;
            margin-bottom: 1em;
        }

        header ul li a {
            padding: 1em 2em;
        }

        header ul li a:hover {
            text-decoration: underline;
        }
    }

article {
    padding: 1em 2em;
    margin: 2em auto;
    width: 80vw;
    background-color: white;
    color: black;
}

    article a {
        color: dimgray;
    }

b, strong {
    font-weight: 500;
}

h1, h2, h3, h4 {
    font-family: 'Cinzel', serif;
    font-weight: 400;
    margin-top: 1em;
}

p {
    line-height: 1.25em;
    margin-bottom: 2em;
    text-align: justify;
}

header {
    display: inline-block;
    width: 100%;
    margin: 4em 0 0 0;
}

h1 {
    background-color: white;
    width: 35vw;
    padding: 1em 1em 1em 10vw;
    float: left;
    margin: 0;
}

    h1 img {
        width: 100%;
        display: block;
    }


div.image {
    width: 100vw;
    height: 50vh;
    background-position: center center;
    background-size: cover;
    margin: 3em 0;
}

    div.image:before, div.image:after {
        height: 100%;
        width: 10vw;
        display: block;
        content: " ";
        background-color: rgba(238, 238, 238, 0.8);
        float: left;
        margin: 0 -2em;
    }

    div.image:after {
        float: right;
    }

    @media only screen and (max-width: 800px) {
        div.image {
            height: 40vh;
        }
    }

    @media only screen and (max-width: 600px) {
        div.image {
            height: 30vh;
        }
    }

div.corp {
    text-align: center;
    padding: 1em 0;
}

div.corp span {
    height: 4em;
    display: inline-block;
    margin: 0 1.5em;
}

div.corp span:before {
    display: inline-block;
    height: 4em;
    vertical-align: middle;
}

div.corp img {
    width: 8em;
    max-height: 4em;
    vertical-align: middle;
}

#keyboard-1480526 {
    background-image: url('../images/keyboard-1480526.jpg');
}

#glasses-1417307 {
    background-image: url('../images/glasses-1417307.jpg');
}

#skyscrapes-1219814 {
    background-image: url('../images/skyscrapes-1219814.jpg');
}

#switch-3-1561906 {
    background-image: url('../images/switch-3-1561906.jpg');
}

footer {
    text-align: center;
    font-size: 80%;
    color: gray;
    margin: 5em auto;
    width: 80vw;
}

    footer > span {
        margin-top: .75em;
        display: block;
        color: gray;
        opacity: .85;
        font-size: 85%;
    }

    footer > span > span > span {
        display: inline-block;
        width: 0;
        height: 0;
        overflow: hidden;
    }

    footer > span > span:hover > span > span {
        position: absolute;
        margin: -0.5em 0 0 -8em;
        padding: 0.75em 1em;
        background-color: whitesmoke;
        border: 1px solid silver;
        border-radius: 0.5em;
    }