body {
    font-family: 'Roboto', sans-serif;
    margin-top: 1.5rem;
    text-align: center;
    align-content: center;
    font-size: 16px;

    --color-title: #4d4d4d;
    --card-background: #F7F7F799;
    --bg: #fff;
    --bg-darker: #d9d9d9;
    --bg-darkest: #c0c0c0;
    --bg-disabled: gray;
    --warning: red;
    --correct: green;
    --link-color: #4d90fe;
}

.content {
    width: 18em;
    max-width: 100%;
    margin: auto;
    font-family: Tahoma, Geneva, sans-serif;
}

h1 {
    text-align: center;
    color: var(--color-title);
    font-size: 1.5rem;
    padding: 0.4em 0 0.4em 0;
}

h3 {
    text-align: center;
    color: var(--color-title);
    font-size: 1.3rem;
}

/** Card, generically */

.card {
    padding: 2em;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    background-color: var(--card-background);
    margin: 0 auto 0.5em;
    border-radius: 10px;
    box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
    overflow: hidden;
}

.card+.card {
    padding-top: 0.5em;
}

/** Misc */

input[type=text],
input[type=email],
input[type=password],
input[type=alias] {
    height: 2em;
    width: 100%;
    margin-bottom: 1em;
    appearance: none;
    -webkit-appearance: none;
    background: var(--input-background);
    border: 1px solid var(--bg-darker);
    border-top: 1px solid var(--bg-darkest);
    padding: 0 0.5em;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    border-radius: 5px;
    margin-top: 0.5em;
}

.help {
    width: 100%;
    text-align: center;
    font-size: 0.8rem;
    margin-top: 20px;
    margin-bottom: 10px;
}

.help>a {
    display: block;
}

.input-message {
    font-size: 0.8em;
    font-weight: bold;
}

.input-message[data-pass="false"] {
    color: var(--warning);
}

.input-message[data-pass="true"] {
    color: var(--correct);
}

.input-message::content {
    padding: 0 0 0.5em 0;
}

/** Buttons */

button {
    font-weight: bold;
    height: 2em;
    padding: 0 0.5em;
    border: 10px;
    color: var(--card-background);
    margin-top: 0.5em;
    text-shadow: 0 1px rgba(0, 0, 0, 0.1);
    background-color: #4d90fe;
    cursor: pointer;

    width: 100%;
    display: block;
    margin-bottom: 0.5em;
    position: relative;
    border-radius: 5px;
}

button:disabled {
    background: var(--bg-disabled);
    cursor: not-allowed;
    background: "grey";
}

/** Footer */

footer {
    width: 100%;
    margin-top: 1em;
    text-align: center;
    font-size: 0.8rem;
}

footer>a {
    color: var(--link-color);
}

#etusivu {
    .heading-text {
        margin-bottom: 0;
    }

    & ul.link-list {
        list-style: none;
        line-height: 1.4em;
        padding: 0;
        margin-top: 0;

        & li a {
            color: var(--link-color)
        }
    }
}