form button,
input,
select,
textarea {
    font-family: inherit;
}
form button,
.button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
    position:relative;
    display:block;
    padding:1rem 2rem;
    text-align:center;
    background-color: var(--ci001);
    border:1px solid var(--ci001);
    font-weight:bold;
    text-decoration:none;
    color: var(--col15);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
}
form button:hover,
form button:focus,
.button:hover,
.button:focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
input[type="reset"]:hover,
input[type="reset"]:focus,
input[type="button"]:hover,
input[type="button"]:focus {
    padding-right:3rem;
    padding-left:3rem;
    background-color: var(--ci002);
    -moz-transition: all 0.3s, ease-in-out 0.2s;
    -webkit-transition: all 0.3s, ease-in-out 0.2s;
    -o-transition: all 0.3s, ease-in-out 0.2s;
    transition: all 0.3s, ease-in-out 0.2s;
}
button:active,
.button:active,
input[type="submit"]:active,
input[type="reset"]:active,
input[type="button"]:active {
    background-color: var(--ci010);
}
form h1,
form h2,
form h3,
form h4,
form h5,
form h6 {
    clear:both;
}
form .widget {
    position:relative;
    clear:both;
    display:block;
    padding-top:.5rem;
    padding-bottom:.5rem;
}
form p b.error,
form p.error {
    display:block;
    margin:0;
    color:#f00;
}
input,
textarea {
    width:100%;
    display:block;
    padding:.75em;
    background-color: var(--gry05);
    border:1px solid var(--col12);
}
.valid input,
.valid textarea {
    background-color: var(--col15);
    border-color: var(--ci001);
}
.invalid input,
input.error,
.invalid textarea,
textarea.error {
    border-color:#f00;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
    color: var(--col06);
}
input:-moz-placeholder,
textarea:-moz-placeholder {
    color: var(--col06);
}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
    color: var(--col06);
}
input::placeholder,
textarea::placeholder {
    color: var(--col06);
}
input:hover,
textarea:hover {
    border-color: var(--ci001);
}
input:focus,
textarea:focus {
    background-color: var(--col15);
    border-color: var(--ci001);
}
input[type="text"],
input[type="search"],
input[type="email"] {
    outline: none;
}
input[type="checkbox"],
input[type="radio"],
input[type="image"] {
    margin:0;
    padding:0;
    border:0;
    width: auto !important;
    height: auto !important;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}
input[type="checkbox"] {
    display:inline-block;
    margin-right:.25rem;
    vertical-align:middle;
    -webkit-appearance: checkbox;
    -moz-appearance: checkbox;
    appearance: checkbox;
}
button[type="submit"],
input[type="submit"] {
    float:right;
}
textarea {
    height:200px;
    line-height:1.5;
    resize: vertical;
    outline: none;
}
fieldset {
    margin:.5rem 0;
    padding:.5rem;
    border:1px solid var(--col14);
}
fieldset legend {
    padding:0 .27778em;
}
.captcha_text {
    display:block;
}
label .captcha_text {
    display:inline;
}
#kontaktformular a {
    color: var(--ci001);
}
#kontaktformular a:hover {
    color: var(--ci002);
}
