
/** KONTAKT **/
.wpcf7-acceptance {
    position: relative;
    display: block;
}

.wpcf7-acceptance span.wpcf7-list-item-label {
    display: block;
    padding: 0.25em 0 .5em .5em
}

.wpcf7-acceptance input[type="checkbox"] {
    position: absolute;
    left: .25em;
    top: 0.5em;
}

.dataprivacy .wpcf7-list-item label a {
    text-decoration: underline
}

ul.wpcf7-post_image_checkbox {
    display: flex;
    flex-wrap: wrap
}

ul.wpcf7-post_image_checkbox img {
    max-height: 100px;
    width: auto;
}

ul.wpcf7-post_image_checkbox li,
ul.wpcf7-post_image_checkbox > li.wpcf7-list-item, ul.wpcf7-post_image_radio > li.wpcf7-list-item {
    min-width: 33%;
    max-width: 33%;
}

ul.wpcf7-post_image_checkbox .wpcf7-list-item-content {
    display: none
}

ul.wpcf7-post_image_checkbox > li.wpcf7-list-item > label > input, ul.wpcf7-post_image_radio > li.wpcf7-list-item > label > input {
    display: inline-block !important;
}

ul.wpcf7-post_image_checkbox > li.wpcf7-list-item > label > input:checked + .wp-post-image, ul.wpcf7-post_image_radio > li.wpcf7-list-item > label > input:checked + .wp-post-image {
    border-color: transparent !important
}

ul.wpcf7-post_image_checkbox > li.wpcf7-list-item .wpcf7-list-item-excerpt, ul.wpcf7-post_image_radio > li.wpcf7-list-item .wpcf7-list-item-excerpt {
    padding-right: 40px
}

ul.wpcf7-post_image_checkbox > li.wpcf7-list-item > label > input + .wp-post-image.dashicons-format-image {
    max-height: 100px !important;
    height: auto;
    opacity: .15;
    max-width: 150px;
    font-size: 105px !important;
}

ul.wpcf7-post_image_checkbox > li.wpcf7-list-item > label > input + .wp-post-image, ul.wpcf7-post_image_radio > li.wpcf7-list-item > label > input + .wp-post-image {
    box-shadow: none
}


.wpcf7-acceptance {
    position: relative;
    display: block;
}

.wpcf7-acceptance span.wpcf7-list-item-label {
    display: block;
    padding: 0.25em 0 .5em .5em
}

.wpcf7-acceptance input[type="checkbox"] {
    position: absolute;
    left: .25em;
    top: 0.5em;
}

.custom-checkbox label,
.wpcf7-acceptance input[type="checkbox"] + span {
    position: relative;
}

.custom-checkbox {
    margin-left: 23px;
}

.wpcf7-acceptance .wpcf7-list-item {
    margin-left: 30px;
}

.custom-checkbox label:before,
.wpcf7-acceptance input[type="checkbox"] + span:before {
    position: absolute;
    top: 0;
    right: 100%;
    width: 30px;
    height: 30px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 2px;
}

.custom-checkbox label:before {
    left: -40px;
}

.custom-checkbox label:after,
.wpcf7-acceptance input[type="checkbox"] + span:after {
    position: absolute;
    top: 5px;
    right: calc(100% + 5px);
    width: 20px;
    height: 20px;
    background-color: transparent;
    border-radius: 2px;
}

.custom-checkbox label:after {
    left: -35px;
}

.custom-control-input:checked ~ .custom-control-label::before,
.custom-checkbox:checked label:before {
    background: none !important
}

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after,
.custom-checkbox:checked ~ .custom-control-label::after,
.custom-checkbox:checked label:after,
.wpcf7-acceptance input[type="checkbox"]:checked + span:after {
    background-color: #002241 !important;
}

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
    background-image: none !important
}

.custom-control-input:checked ~ .custom-control-label::before {
    border-color: #ccc !important
}

.custom-control-input ~ .custom-control-label::before,
.custom-control-input ~ .custom-control-label::after {
    box-shadow: none !important;
    outline: none !important
}

/*
.wpcf7-acceptance input[type="checkbox"]:checked + span:before { border-color:#002241 }
/*
.wpcf7-acceptance input[type="checkbox"]:hover + span:before,
.wpcf7-acceptance input[type="checkbox"]:checked:hover + span:before { border-color:#aaa }
*/
.wpcf7-acceptance input[type="checkbox"]:hover + span:after {
    background-color: #ddd;
}


.form-control, #newsletter input[type=text], input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea, textarea.form-control {
    color: rgba(0, 34, 65, .7);
    border-radius: 0;
    border: 1px solid #81868a;
    background: rgba(255, 255, 255, .15);
    margin-bottom: 15px !important;
    padding: 18px 9px 5px;
    height: auto !important;
    line-height: 1;
    position: relative;
    z-index: 1;
    font-size: 1.4rem;
    -webkit-appearance: none;
}

select.form-control {
    padding: 21px 9px 6px;
    -webkit-appearance: none;
}

.form-control.special {
    border: 2px solid #ff6f61
}

#sidebar .heizungsrechner-short label {
    font-size: 14px;
    font-weight: bold
}

#sidebar .heizungsrechner-short select.form-control {
    padding-top: 7px;
    padding-bottom: 7px;
    margin-bottom: 10px !important
}

#sidebar .heizungsrechner-short label {
    margin-bottom: 3px
}

textarea.form-control {
    height: auto;
}

.form-control:focus {
    border-color: rgba(0, 34, 65, .7) !important;
    background-color: rgba(255, 255, 255, .5);
}

.form-control::-moz-placeholder {
    color: #aaa !important;
    opacity: 1;
}

.form-control:-ms-input-placeholder {
    color: #aaa !important;
}

.form-control::-webkit-input-placeholder {
    color: #aaa !important;
}


span.wpcf7-not-valid-tip {
    color: rgb(181, 31, 31);
    font-style: italic;
    font-size: 12px;
    font-weight: 600;
    margin-top: -10px;
    padding-left: 10px;
}

div.wpcf7-validation-errors, div.wpcf7-acceptance-missing {
    color: #fff;
    font-weight: 600;
    font-style: italic;
    background: rgb(181, 31, 31);
    border-color: rgb(0, 0, 0)
}

div.wpcf7-mail-sent-ok {
    border-color: rgb(19, 30, 83);
    background-color: rgb(19, 30, 83);
    color: #fff;
    font-weight: 600;
    font-style: italic;
}

input[type="file"].wpcf7-not-valid + span.wpcf7-not-valid-tip {
    display: block !important;
}

.input-group {
    position: relative
}

.input-group label {
    left: 9px;
    top: 3px;
    font-size: 12px;
    font-weight: 700;
    z-index: 6;
    color: #666 !important;
}


footer .input-group label {
    color: #fff !Important;
}

.form-group {
    position: relative;
    margin-bottom: 1rem !important;
}

.form-group label {
    position: absolute;
    left: 15px;
    top: 12px;
    font-size: 16px;
    font-weight: 800;
    z-index: 2;
    color: #81868a;
    transition: all ease .3s;
    pointer-events: none;
}

.form-group.active label {
    position: absolute;
    left: 9px;
    top: 3px;
    font-size: 12px;
    font-weight: 800;
    z-index: 2;
    color: rgba(0, 34, 65, .7);
}

.form-group .form-control {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0);
}

.form-group.active .form-control {
    box-shadow: 0 0 10px rgba(0, 0, 0, .15)
}

.form-group.filled label {
    position: absolute;
    left: 9px;
    top: 3px;
    font-size: 12px;
    font-weight: 800;
    z-index: 2;
    color: #81868a;
}

.form-group.invalid .form-control,
.form-group.invalid label {
    color: darkred;
}

.form-group.invalid .form-control {
    border-color: darkred;
}

.form-group.filled.invalid label {
    color: #002241;
}

.wpcf7-form-control-wrap {
    position: relative;
    display: block;
    width: 100%;
}

.wpcf7 form .wpcf7-response-output {
    margin: 15px 0 0 0
}

.form-control .wpcf7-not-valid {
    color: #f3d1be
}

span.wpcf7-not-valid-tip {
    display: none
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
    border-color: darkred;
    background-color: darkred;
    color: #fff;
    font-weight: bold;
}

.wpcf7-response-output, .wpcf7 form.sent .wpcf7-response-output {
    border-color: #002241;
    background-color: #002241;
    color: #fff;
    font-weight: bold;
}

.form-group.invalid span.wpcf7-not-valid-tip {
    color: darkred;
    display: block;
    font-style: italic;
    font-size: 12px;
    font-weight: 600;
    margin-top: -10px;
    padding: 5px;
    position: absolute;
    top: 8px;
    right: 0;
}

div.wpcf7-validation-errors, div.wpcf7-acceptance-missing {
    color: #fff;
    font-weight: 600;
    font-style: italic;
    background: rgba(181, 31, 31, 1);
    border-color: #454545;
    margin-left: 0;
    margin-right: 0;
}

div.wpcf7-mail-sent-ok {
    border-color: #4d4a47;
    background-color: #4d4a47;
    color: #fff;
    font-weight: 600;
    font-style: italic;
}

input.wpcf7-not-valid {
}


div.wpcf7-validation-errors, div.wpcf7-acceptance-missing {
    color: #fff;
    font-weight: 600;
    font-style: italic;
    background: rgba(181, 31, 31, 1);
    border-color: #454545;
    margin-left: 0;
    margin-right: 0;
}

div.wpcf7-mail-sent-ok {
    border-color: #002241;
    background-color: #002241;
    color: #fff;
    font-weight: 600;
    font-style: italic;
}

input.wpcf7-not-valid {
}


.dnd-upload-status .dnd-upload-details .dnd-progress-bar span {
    background: #ff6f61 !Important;
    background-color: #ff6f61 !Important
}

#bewerbung .codedropz-upload-handler {
    border: 1px dashed #454545;
    background-color: rgba(255, 255, 255, .15)
}

.dnd-upload-status .dnd-upload-image {
    background-color: #fff;
}

.codedropz-upload-handler {
    border-radius: 0 !important
}

.codedropz-upload-wrapper + span.wpcf7-not-valid-tip {
    display: block;
    position: absolute;
    top: 15px;
    right: 10px;
    pointer-events: none;
}

.dnd-upload-status .dnd-upload-details .name {
    color: #002241
}

form.wpcf7-form .wpcf7-form-control-wrap.invalid .codedropz-upload-handler {
    border-color: darkred
}

form.wpcf7-form.submitting:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 3;
    background-color: rgba(255, 255, 255, .86);
}

/** MULTI FORM **/

@media (min-width: 1200px) {
    .single-berater .multiformbody {
        padding: 30px;
    }
}

.multiformbuttons {
    z-index: 2 !important;
}

multiformbuttons.ontop {
    margin-right: 0 !important
}

@media (min-width: 1200px) {
    .multiformbuttons.ontop .multiformicon {
        width: 40px;
    }
}


.multiformbtn {
    padding: 15px 0;
    font-weight: bold;
    background-color: #fff;
    box-shadow: 0 0 15px rgba(0, 0, 0, .1);
    transition: background-color ease .5s;
    line-height: 30px;
    display: flex;
}

.multiformbtn.active {
    color: #fff;
    background-color: #ff6f61
}

.multiformbody {
    padding: 30px;
    background-color: #fff;
    box-shadow: 0 0 15px rgba(0, 0, 0, .1);
    display: block;
    position: relative;
    z-index: 3;
    transition: height ease .3s;
    min-height: 100%;
}

.multiformcontainer {
    display: none;
}

.multiformcontainer.visible {
    display: block;
}

.multiforminner {
    transform: translateY(30px);
    opacity: 0
}

.multiformcontainer.visible .multiforminner {
    animation: reveal .5s forwards;
}

@keyframes reveal {
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.multiformicon {
    width: calc(100% - 6px);
    height: 30px;
    text-align: center;
    line-height: 30px;
    display: inline-block;
    float: left;
}

.multiformicon i {
    font-size: 1.5em;
    line-height: 30px;
}

.multiformbtn.active i {
    color: #fff;
}

.multiformbtn i.fa-phone {
    transform: rotateY(180deg)
}

.multiformbtn span {
    float: left;
    width: calc(100% - 55px);
    line-height: 1;
    align-self: center
}

@media (min-width: 768px) {
    .multiformicon i {
        color: #ff6f61
    }

    .multiformicon {
        width: 40px;
        height: 40px;
        line-height: 40px;
        margin-right: 5px;
    }

    .multiformicon i {
        line-height: 40px
    }

    .multiformbtn {
        padding: 15px 10px;
        line-height: 40px;
        font-size: 1em
    }

    .multiformbuttons {
        top: 190px !important;
        margin-top: 30px;
        margin-right: -31px;
    }
}

.multiformbuttons {
    top: 190px !important;
    margin-top: 30px;
    margin-right: -16px;
}

@media (min-width: 1200px) {
    .multiformicon {
        width: 50px;
        height: 50px;
        line-height: 50px;
    }

    .multiformicon i {
        line-height: 50px
    }

    .multiformbtn {
        line-height: 50px;
        font-size: 1em
    }

    .multiformbody {
        padding: 45px;
    }

}

.multiformbody .h3,
.multiformbody h3 {
    font-size: 3rem;
}

.multiformbody .h4 {
    font-size: 1.75rem;
}

.multiproductbtn.active,
.multiproductbtn,
.multibuttons {
    border: 1px solid #81868a !important;
    padding: 15px;
    font-weight: bold !important;
}

.multiproductbtn {
    display: block;
    cursor: pointer;
    margin-bottom: .25rem
}

.multibuttons {
    margin-bottom: 1rem;
    position: relative;
}

.multiproductbtn svg {
    max-width: 75%
}

.multiproductbtn:hover {
    opacity: .75
}


.multiproductbtn.producttreppenlift.active {
    background-color: #ed6d63;
}

.multiproductbtn.producttreppenlift .cls-2 {
    fill: #ed6d63;
}

.multiproductbtn.producttreppenlift .cls-3 {
    fill: #16243d;
}

.multiproductbtn.productplattformlift.active {
    background-color: #fab710;
}

.multiproductbtn.productplattformlift .cls-1 {
    fill: #16243d;
}

.multiproductbtn.productplattformlift .cls-2 {
    fill: #fab710;
}

.multiproductbtn.productaufzug.active {
    background-color: #1a7eab;
}

.multiproductbtn.productaufzug .cls-2 {
    fill: #1a7eab;
}

.multiproductbtn.productaufzug .cls-3 {
    fill: #16243d;
}

.multiproductbtn.active {
    color: #fff !important
}

.multiproductbtn.active svg * {
    fill: #fff !important
}

.interest .required {
    display: none;
    color: darkred;
    font-style: italic;
    font-size: 12px;
    font-weight: 600;
    margin-top: -10px;
    padding: 5px;
    position: absolute;
    top: 8px;
    right: 0;
}

.interest.invalid label {
    color: darkred !important
}

.interest.invalid .required {
    display: block
}

.interest.invalid .multibuttons,
.interest.invalid .multiproductbtn {
    border-color: darkred !important
}

.interest:focus .multibuttons,
.interest.invalid:focus .multibuttons {
    border-color: #81868a !important;
}

.interest.invalid .multiproductbtn.active {
    border-color: #81868a !important;
}

.multiformbody .wpcf7 form .wpcf7-response-output {
    margin-bottom: 0 !important
}
