
* {
    box-sizing: border-box;
}

html, body {
    font: 16px "Open Sans", Helvetica, Arial, sans-serif;
    margin: 0;
    padding: 0;
    color: #666;
    line-height: 1.6;
}

h1, h2, h3, h4 {
    font-family: "Questrial", Helvetica, Arial, sans-serif;
    font-weight: normal;
    color: #444;
    margin-bottom: 0.5em;
}

header {
    background: #eee;
    padding: 1.75em;
}

@media screen and (max-width: 850px) {
    header > div, body > div {
        margin: 1em;
    }
}

@media screen and (min-width: 851px) {
    header > div, body > div {
        max-width: 48em;
        margin-left: auto;
        margin-right: auto;
    }
}

header > div > img {
    max-width: 200px;
}

h2 {
    font-size: 110%;
    margin-top: 1.4em;
}

a {
    text-decoration: none;
    font-size: 100%;
}

p {
    margin: 0;
}

form {
    margin-top: 2em;
}

input[type=file] {
    width: 0.1px;
    height: 0.1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1;
}

label > input[type=file] { 
    padding: 0; margin: 0;  }

.button, input[type=submit] {
    display: inline-block;
    background: #aaa;
    border-radius: 0.125em;
    color: #fff;
    padding: 0.5em 1em;
    font-weight: bold;
    border: none;
    font-size: 85%;
    cursor: pointer;
    margin-top: 0.5em;
}
.button:hover { background: #bbb; }
.button:active { background: #ccc; }

.button.important { background: #d9003b; }
.button.important:hover { background: #ff3169; }
.button.important:active { background: #ff0d4f; }

.button.ok { background: #5a5; }
.button.ok:hover { background: #6b6; }
.button.ok:active { background: #7c7; }

input[type=submit] { background: #d9003b; }
input[type=submit]:hover { background: #ff3169; }
input[type=submit]:active { background: #ff0d4f; }

input[type=submit].grayed { background: none; color: #ccc; border: 1px solid #ddd; }
input[type=submit].grayed:hover { background: none; color: #ccc; border: 1px solid #ddd; }
input[type=submit].grayed:active { background: none; color: #ccc; border: 1px solid #ddd; }

label.button {
    padding: 0.362em 1em;
}

input[type=text] {
    padding: 0.5em 1em;
    margin-top: 0.5em;
    width: 100%;
}

::placeholder {
    color: #777;
    opacity: 0.65;
}