*,
*::after,
*::before {
    margin: 0;
    padding: 0;
    box-sizing: inherit;
}

html {
    /* 1rem == 10px */
    font-size: 62.5%;
    height: 100%;
    background-color: antiquewhite;
    display: flex;
    align-content: center;
    justify-content: center;
    background-color: #FBFBFB;
}

body {
    box-sizing: border-box;
    width: 55rem;
    font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
    color: #666666;
}

@media screen and (min-width: 650px) {
    main {
        padding: 2rem 2.9rem;
        border: .1rem solid #eeeeee;
        background-color: #FBFBFB;
        border-radius: .3rem;
    }
}

header {
    text-align: center;
    margin-top: 2rem;
    height: 10rem;
}

section {
    font-size: 1.3rem;
    margin: 2rem;
}

section#info {
    text-align: center;
}

/* hack to keep site responsive with img */
#info img {
    max-width: 100%;
    height: auto;
}

a {
    color: #497791;
}

h2 {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1.8rem;
    letter-spacing: .12rem;
    text-align: center;
    text-transform: uppercase;
}

h2 a {
    text-decoration: none;
    text-transform: none;
}

section p {
    line-height: 2rem;
    margin: 1.1rem 0 1.1rem 0;
}

form {
    padding: 2rem;
    background-color: #F2F2F2;
}

form label {
    display: block;
    text-transform: uppercase;
    margin: 0 0 .2rem .2rem;
    font-size: 1.2rem;
    font-weight: bold;
    letter-spacing: .12rem;
}

form input {
    display: block;
    width: 100%;
}

form input[type=text],
form input[type=password] {
	padding: .9rem;
	margin-bottom: 1.3rem;
    border: .1rem solid #D3D3D3;
    font-size: 1.5rem;
}

form input[type=submit] {
	padding: .6rem;
	margin: 1.3rem 0;
    font-size: 1.4rem;
}

footer {
    margin: 1.5rem 0;
    font-size: 1.2rem;
    text-align: center;
}