.fb-form label.fb-error-message:not([for=""]) {
    cursor: pointer
}

.fb-form .fb-form-group:empty {
    display: none !important
}

.fb-form .fb-form-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
    margin-bottom: 1rem
}

.fb-form .fb-error-message {
    display: block;
    width: 100%;
    margin-top: .25rem;
    font-size: 80%;
    color: #DC3545
}

.fb-form .fb-control-group .fb-form-group.required > label::after, .fb-form .fb-control-group .fb-form-group.required .fb-label-text::after {
    content: ' *'
}

.fb-form .fb-has-error label {
    color: #DC3545
}

.fb-form .fb-has-error input, .fb-form .fb-has-error textarea, .fb-form .fb-has-error select {
    border-color: #DC3545;
    padding-right: calc(1.5em + .75rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E");
    background-repeat: no-repeat;
    background-position: center right calc(.375em + .1875rem);
    background-size: calc(.75em + .375rem) calc(.75em + .375rem)
}

.fb-form .fb-has-error input:focus, .fb-form .fb-has-error textarea:focus, .fb-form .fb-has-error select:focus {
    border-color: #DC3545;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25)
}

.fb-form .fb-has-error textarea {
    padding-right: calc(1.5em + .75rem);
    background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem)
}
