*,
*:before,
*:after {
    box-sizing: border-box;
}

html {
    min-height: 100%;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 11pt;
}

body {
    color: #3e3e3e;
    background: #e9e9e9 linear-gradient(to bottom, #e9e9e9, #fff);
}


#menu {
    margin: 2.5rem 2.5rem 2.0rem;
    text-align: center;

    ul {
        list-style: none;
        padding: 0;
        margin: 0;

        li {
            display: inline-block;
            margin: 0;
            padding: 0;
        }

        a {
            color: #FFFfff;
            display: block;
            padding: .4em .6em;
            margin: .3em .1em;
            background-color: #808080;
            border-radius: .3em;
            font-size: 1.1rem;
            text-decoration: none;

            &:hover {
                color: #ffffff;
                background-color: #555;
            }

            &.active {
                font-weight: bold;
                background-color: #555;
            }
        }
    }
}

#header {
    text-align: right;
    background-color: #afafaf;
    color: #FFF;

    h1 {
        display: block;
        margin: 0;
        padding: .5em 5%;
        text-align: right;
        letter-spacing: .3rem;
        font-size: 1.5rem;
    }
}

#content {
    margin: 1.5rem 10%;
    padding: 2.5rem 3rem 2rem;
    background-color: #ccc;
    border-radius: 12px;
    color: #3e3e3e;

    a {
        color: #666;
        font-weight: bold;
        text-decoration: none;

        &:hover {
            text-decoration: underline;
        }
    }

    a[href^="http://"]:after,
    a[href^="https://"]:after {
        content: '↗';
    }

    p {
        margin: 1em 0 1em;

        &:first-child {
            margin: 0 0 1em;
        }
    }

    h2 {
        margin-top: 1.8em;
        margin-bottom: 1.2em;
        font-size: 1.2rem;

        &:first-child {
            margin-top: 0;
        }
    }

    h3 {
        margin-top: 1.5em;
        margin-bottom: 1em;
        font-size: 1rem;

        &:first-child {
            margin-top: 0;
        }
    }

    ul {
        margin: 0;
        padding-left: 2.5em;

        li {
            margin-top: .5em;
        }
    }

    ol {
        margin: 0;
        padding-left: 2.5em;

        li {
            margin-top: .5em;
        }
    }

    input[type=submit] {
        padding: 5px 15px;
        background: #888;
        color: #fff;
        border: 0 none;
        cursor: pointer;
        border-radius: 4px;

        &:hover {
            background-color: #555;
        }
    }
}


@media screen and (max-width: 1280px) {
    #header {
        h1 {
            letter-spacing: .2rem;
        }
    }
}

@media screen and (max-width: 800px) {
    #header {
        h1 {
            letter-spacing: .1rem;
            padding: .4em 2%;
            font-size: 1.2rem;
        }
    }

    #menu {
        margin: .7rem;
        text-align: center;
    }

    #content {
        margin: 1.1rem 3%;
        padding: 1.5rem 2rem 1rem;
    }
}

@media screen and (max-width: 480px) {
    html,
    body {
        min-width: 320px;
    }

    html {
        font-size: 9pt;
    }
}

.clearfix:after {
    content: ".";
    clear: both;
    display: block;
    visibility: hidden;
    height: 0;
}
