a.button,
button,
input[type=button],
input[type=submit] {
    display: block;
    background: #8a91dc none;
    color: #b70000;
    font: inherit;
    font-size: 1.125rem;
    font-weight: bold;
    text-decoration: none;
    padding: 0.5625rem 0.75rem 0.4375rem;
    border: none;
    border-radius: 0.4rem;
    cursor: pointer;
}

a.button:hover,
a.button:active,
button:hover,
button:active,
input[type=button]:hover,
input[type=button]:active,
input[type=submit]:hover,
input[type=submit]:active {
    background: #fff;
}

.button-inline,
.button.button-inline {
    display: inline-block;
}

.button-secondary,
.button.button-secondary {
    background: #363d6c;
    color: #de2d00;
    font-weight: normal;
}

.button-secondary:hover,
.button-secondary:active,
.button.button-secondary:hover,
.button.button-secondary:active {
    background: #474f86;
}

.button-small,
a.button-small {
    padding: 0.25rem 0.75rem 0.1875rem;
}

.button-add,
.button-delete,
.button-remove {
    text-decoration: none;
}

.button-add span,
.button-delete span,
.button-remove span {
    padding-left: 0.25rem;
}

.button-add::before {
    content: '✚';
    color: #2e3356;
}

.button-delete::before {
    content: '🗑';
}

.button-remove::before {
    content: '✖';
}

.buttons {
    padding-left: 7rem;
}

.error {
    background: #b70000;
    color: #fff;
    font-weight: bold;
    padding: 0.5em 1em;
    border-radius: 0.4375rem;
}

form {
    max-width: 25em;
}

form dd {
    line-height: 2rem;
    padding: 0.4375rem 0 0.5rem 7rem;
    border-style: solid;
    border-width: 0 0 2px 0;
    border-color: #363d6c;
    margin: 0;
    min-height: 3rem;
}

form dl {
    border-style: solid;
    border-width: 2px 0 0;
    border-color: #363d6c;
}

form dt {
    padding: 0.8125rem 0 0.375rem;
    margin: 0;
    float: left;
    clear: left;
    width: 7rem;
}

input[type=text],
input[type=password],
textarea,
select {
    font: inherit;
    line-height: 1;
    padding: 0.375rem 0.75rem;
    border: none;
    border-radius: 0.25rem;
    width: 100%;
}

.segmented {
    background-color: #363d6c;
    padding: 0.5rem 0.25rem;
    border-radius: 0.5rem;
}

.segmented label {
    padding: 0.3125rem 0.75rem;
    border-radius: 0.375rem;
    cursor: pointer;
}

.segmented label:hover,
.segmented label:active {
    background-color: #474f86;
}

.segmented input {
    display: none;
}

.segmented input:checked + label {
    background-color: #fff;
    color: #363d6c;
}
