.form-group { position: relative; }

.form-group.required::after {
    content: '*';
    display: block;
    position: absolute;
    top: 2px; left: -13px;
    color: gray;
    font-weight: 600;
    font-size: 18px;
    font-family: monospace;
}

.invalid-form .form-group input.required:not(:focus) {
    outline: solid red 1px !important;
    color: #cc1e27;
}

.invalid-form .form-group.field-invalid::after { color: #cc1e27; }

.error-form {
    position: relative;
    background-color: #ffdddf;
    border: solid red 1px;
    border-radius: 3px;
    padding: 10px 50px 12px;
    line-height: 1.2;
    font-weight: 600;
    font-size: 16px;
}

.g-recaptcha { margin-top: -5px; }
.g-recaptcha.captcha-invalid > div { background-color: red; }
.g-recaptcha.captcha-invalid > div > div { padding: 1px; }
