.form-container {
    display: grid;
    width: 100%;
    padding: 20px 0;
    grid-template-columns: 50% 50%;
}

.form-container > * {
    margin: 2px 8px 15px 0;
}

.form-container input {
    height: 21px;
}

.form-container label {
    margin: 2px 8px 2px 0;
    font-size: var(--font-size-m);
    font-weight: 600;
}

.form-container > div {
    display: flex;
    flex-direction: column;
}

.form-flex-block {
    display: flex;
}

.form-element {
    display: flex;
    flex-direction: column;
    margin: 5px;
}

.form-element-label {
    margin: 15px 0 2px 0;

    font-weight: var(--font-weight-bold);
    font-variant: all-small-caps;
    font-size: var(--font-size-xl);
}

.form-error-label {
    color: var(--theme-button-action-color);
}

.form-error-container {
    display: flex;
    justify-content: center;
    padding: 5px;
}

.form-error input {
    color: var(--theme-button-action-color);
    border-color: var(--theme-button-action-color);;
}

.form-control {}

.form-control:focus {
    border: 1px solid var(--theme-component-color-primary);
    box-shadow: 0px 0px 1px 2px var(--theme-component-color-primary);
}

.input-success {
    border: 1px solid var(--theme-component-color-success);
    box-shadow: 0px 0px 1px 2px var(--theme-component-color-success);
}

.input-error {
    border: 1px solid var(--theme-component-color-error);
    box-shadow: 0px 0px 1px 2px var(--theme-component-color-error);
}

@media only screen and (max-width: 800px) {
    .form-container {
        grid-template-columns: 100%;
    }
    .form-container > div {
        grid-column: 1;
    }
}