html {
    box-sizing: border-box;
}

*,
*:before,
*:after {
    box-sizing: inherit;
}

body {
    font-family: Helvetica, sans-serif;
    margin-top: 20pt;
}

.title {
    font-weight: bold;
    font-size: 24pt;
}

.title a,
.subtitle a {
    text-decoration: none;
    color: black;
}

.subtitle {
    font-size: 20pt;
}

#loginArea,
#forgottenPasswordArea,
#validateEmailArea {
    margin-top: 100pt;
}

.accountPanel {
    margin-left: auto;
    margin-right: auto;
    padding: 20pt;
    width: 600pt;
    border: 2pt solid #eee;
    border-radius: 12pt;
    text-align: center;
}

.accountPanel input {
    width: 100%;
    font-size: 12pt;
    padding: 8pt;
    margin-top: 2pt;
}

#loginForm input {
    margin-top: 20pt;
}

label {
    text-align: left;
    display: block;
    font-size: 14pt;
    font-weight: bold;
}

.primaryButton,
.secondaryButton {
    display: block;
    width: 100%;
    font-size: 12pt;
    padding: 8pt;
    margin-top: 20pt;
    border-radius: 3pt;
    border: 1pt solid #34a;
    background-color: #34a;
    color: white;
    font-weight: bold;
    cursor: pointer;
}

.secondaryButton,
a .secondaryButton {
    background-color: #eee;
    color: black;
    border: 1pt solid #eee;
    text-decoration: none;
    margin: 0;
    padding: 8pt;
}

.primaryButton:disabled {
    background-color: white;
    border: 1pt solid #34a;
    color: #34a;
    cursor: default;
}

a {
    color: #34a;
}

.info {
    color: #33e;
    border-color: blue;
}

.error {
    color: #e33;
    border-color: red;
}

@media only screen and (max-width: 80em) {
    .accountPanel {
        width: 95%;
        padding: 10pt;
    }
}