.block_formular .formular h2 {
    color: var(--firmenfarbe);
}

.block_formular .abschicken {
    display: inline-block;
    padding: 16px 36px;
    max-width: 275px;
    background-color: var(--firmenfarbe);
    color: var(--firmenfarbe_text);
    border-radius: 8px;
    transition: all .3s;
}

.block_formular .abschicken:hover {
    cursor: pointer;
    background-color: var(--firmenfarbe_dunkler);
    border-radius: 16px;
}


.block_formular .formular {
    padding: 16px 32px;
    background-color: #f6f6f6;
    border-radius: 8px;
    width: calc(100% - 64px);
    text-align: left;
}


.block_formular .formular.left {
    width: 30%;
}

.block_formular .formular.right {
    width: 30%;
}

.block_formular .formular.middle {
    width: 90%;
}


.block_formular .formular .firmentext {
    font-size: 12px;
    margin: 16px 0px;
}

.formular_label::after {
    content: \"\A\";
    white-space: pre;
}


.block_formular .formular_input {
    width: calc(100% - 16px);
    padding: 5px 8px;
    margin: 15px 0px;
    border: 0;
    border-bottom: 2px solid #bebebe;
    outline: 0;
    background-color: transparent;
    transition: all .3s;
    font-size: 18px;
}

.block_formular .formular_input::placeholder {
    color: transparent;
}

.block_formular .formular_input:focus {
    background-color: #fff;
    border-bottom: 2px solid var(--firmenfarbe);
}

.block_formular .formular_label {
    position: relative;
    top: -40px;
    cursor: text;
    left: 10px;
    display: block;
    transition: all 0.2s;
    font-size: 1rem;
}

.block_formular .formular_input:focus + .formular_label {
    top: -60px;
}

.block_formular .formular_input:not(:placeholder-shown) {
    margin-top: 30px;
    margin-bottom: 0px;
}

.block_formular .formular_input:not(:placeholder-shown) + .formular_label {
    top: -60px;
    color: #4e4e4e;
}


.block_formular .formular_textarea {
    min-width: calc(100% - 16px);
    max-width: calc(100% - 16px);
    padding: 8px;
    margin: 15px 0px;
    height: 15px;
    font-size: 1rem;
    overflow-y: hidden;
    background-color: transparent;
    transition: all 0.3s;
    border: 0;
    border-bottom: 2px solid #bebebe;
    font-family: sans-serif;
}


.block_formular .formular_textarea::placeholder {
    color: #424242;
}

.block_formular .formular_textarea:focus {
    height: 100px;
    background-color: #fff;
}

.block_formular .formular_textarea:not(:placeholder-shown) {
    height: 100px;
}

.block_formular .input_einstellungen {
    display: flex;
}



@keyframes formular_input_fehler {
    0% {transform: translateX(0px);}
    25% {transform: translateX(5px);}
    50% {transform: translateX(0px);}
    75% {transform: translateX(-5px);}
    100% {transform: translateX(0px);}
}



.block_formular .formular_input.fehler {
    transition: all .1s;
    border-color: #ae2727;
    animation-name: formular_input_fehler;
    animation-duration: 0.3s;
    animation-delay: 0s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}


.block_formular .formular_textarea.fehler {
    transition: all .1s;
    border-color: #ae2727;
    animation-name: formular_input_fehler;
    animation-duration: 0.3s;
    animation-delay: 0s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}

.block_formular .formular_textarea::placeholder.fehler {
    color: #a71414;
}

.block_formular .formular_input.fehler + .formular_label {
    color: #a71414;
}