/* Formulare (Kontakt, Nachunternehmer) – Darstellung und Fehlermeldungen */

textarea.form-control {
    height: auto !important;
}

.form-control {
    color: #555555 !important;
    background-color: #ffffff !important;
    border: 1px solid #cccccc !important;
    box-shadow: inset 0 0 5px 0 #e4e3e3;
    height: 35px;
    padding: 5px;
    font-size: 14px;
}

.powermail_legend {
    display: none;
}

.powermail_label {
    color: #333333;
    font-weight: 500;
}

.powermail_fieldwrap {
    margin-bottom: 25px;
}

.powermail_fieldwrap_type_check,
.powermail_fieldwrap_type_text {
    padding-left: 15px;
    padding-right: 15px;
}

.powermail_submit {
    margin: 0 auto;
    display: table;
}

.powermail_submit.btn.btn-default {
    padding: 15px 80px;
    background-color: #ffce84;
    border-left: 0;
    border-top: 0;
}

.powermail_submit.btn.btn-default:hover {
    background-color: #f2b559;
}

/* Pflichtfeld-Stern */
.mandatory {
    color: #c33b3b;
    margin-left: 2px;
}

/* Fehlerdarstellung: rote Umrandung, Text direkt am Feld, Zusammenfassung oben */
.form-control.is-invalid {
    border: 2px solid #c33b3b !important;
    background-color: #fff6f6 !important;
}

.has-error .help-block,
.field-error {
    color: #b32424;
    font-weight: 600;
    margin: 5px 0 0;
}

.field-error[hidden] {
    display: none;
}

.field-error::before {
    content: "\26A0\00a0";
}

.form-error-summary {
    border: 2px solid #c33b3b;
    background-color: #fff6f6;
    color: #7d1818;
    padding: 15px 20px;
    margin-bottom: 25px;
}

.form-error-summary:focus {
    outline: 3px solid #7d1818;
}

.form-error-summary h2 {
    font-size: 18px;
    margin: 0 0 10px;
    padding: 0;
    color: #7d1818;
}

.form-error-summary ul {
    margin: 0;
    padding-left: 20px;
}

.form-error-summary a {
    color: #7d1818;
    text-decoration: underline;
}

.form-success {
    border: 2px solid #3c8a2e;
    background-color: #f3faf1;
    color: #245a1a;
    padding: 15px 20px;
    margin-bottom: 25px;
}

.form-success:focus {
    outline: 3px solid #245a1a;
}

/* Honeypot: für Besucher und Screenreader unsichtbar, für Bots ausfüllbar */
.form-hp {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* ALTCHA-Widget direkt vor dem Absenden-Button */
.form-captcha {
    margin-bottom: 25px;
}

.form-captcha altcha-widget {
    --altcha-max-width: 100%;
}
