.formElement {
    margin: 0 0 2em;
    font-size: inherit;
    font-family: inherit;
}

.form--hidden {
    visibility: hidden;
    display: none;
}

.formElement:not(.formElement--button) {
    width: 100%;
}

.form__element--medium .form__field {
    max-width: var(--form-layout-md);
}

.form__element--xxsmall .form__field {
    max-width: var(--form-layout-xxs);
}

.form__element--xsmall .form__field {
    max-width: var(--form-layout-xs);
}

.form__element--large .form__field {
    max-width: var(--form-layout-lg);
}

.form__element--xlarge .form__field {
    max-width: var(--form-layout-xl);
}

.formElement__label {
    margin-bottom: var(--space-xxs);
    font-weight: 400;
}

.formElement__description {
    margin-bottom: 1em;
    color: var(--color-secondary-dark);
    font-size: .85em;
    font-style: italic;
}

.formElement__prefix,
.formElement__suffix {
    display: inline;
    height: 34px;
    line-height: 34px;
}

.formElement__prefix {
    margin-right: var(--space-margin);
}

.formElement__suffix {
    margin-left: var(--space-margin);
}

.form__label--submit {
    display: none;
}

.formElement--inLine {
    display: flex;
    flex-direction: row;
    margin: 0;

    & .form--hidden {
        display: none;
    }
}

.formElement--inLine .formElement__label {
    width: 150px;
}

.formElement--inLine .formElement__input {
    width: calc(100% - 150px);
}
