/* @define FormGroup */
.FormGroup {
    margin-bottom: 0.5rem;
}

.FormGroup-labelText {
    max-width: calc(100% - 1em);
}

.FormGroup-label.is-hidden {
    border: 0;
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/* stylelint-disable */
.FormGroup-label.is-hidden {
    clip: rect(0 0 0 0);
}

.FormGroup.is-notMandatory .FormGroup-labelText,
.FormGroup.is-valid .FormGroup-labelText {
    margin-right: 0.78em;
}

.FormGroup.is-withTooltipIcon .FormGroup-labelText {
    margin-right: 0;
}

.FormGroup-mandatory {
    width: 0.5em;
    display: inline-block;
}

.FormGroup-body {
    /* This margin is to account for the height of the invalid feedback row.
     * It's purpose is to avoid the form jumping around when validation feedback
     * toggles between being shown and not being shown. */
    margin-bottom: 1.3rem;
}

.FormGroup-bodyNoMargin {
    margin-bottom: 0;
}

.FormGroup.is-invalid .FormGroup-body,
.FormGroup.is-withoutFeedback .FormGroup-body {
    margin-bottom: 0;
}

.FormGroup-invalidFeedback {
    display: none;
}

.FormGroup-description,
.FormGroup-warningText,
.FormGroup-invalidFeedback {
    font-size: 0.8rem;
}

.FormGroup.is-invalid .FormGroup-invalidFeedback {
    display: -webkit-box;
}

.FormGroup-labelTooltipIcon {
    color: var(--text-primary);
    cursor: pointer;
    align-self: center;
}
