footer {
    position:relative;
    bottom:0;
    background-color: #41413c;
    color:white;
    width:100%;
}

footer .footer-content {
    max-width:1900px;
    margin:0 auto;
}

footer .ITK_Siegel_Jugendschutz {
    width:150px !important;
}

footer .site-logo {
    width: 100%;
    height: auto;
}

@media screen and (max-width: 450px) {

    footer .footer-blocks.fullPartMobile {
        width:100% !important;
        max-width:100% !important;
    }
}

@media screen and (min-width: 1200px) {

    footer .site-logo {
        width:100%;
    }

    footer .footer-logo {
        width:250px;
        float:left;
        padding:30px;
    }

    footer .footer-blocks {
        width:calc(20% - 40px);
        float:left;
        padding:5px;
        padding-top:50px;
    }

    footer .footer-blocks .blocks-title {
        font-size:1rem;
        color:#b2ddbc;
        font-weight:300;
        text-transform: uppercase;
        line-height:2.2;
        text-align:left !important;
        margin-bottom:10px;
        text-decoration: underline;
        text-underline-position: under;
    }

    footer .footer-blocks .no-underline {
        text-decoration: unset !important;
    }

    footer .footer-blocks .blocks-text-line {
        font-size:0.9rem;
        color:white;
        font-weight: 300;
        line-height:2.2;
        text-align:left !important;
        cursor:pointer;
    }

    footer .footer-blocks .blocks-text-line-no-hover {
        color:white !important;
        cursor:unset !important;
    }

    footer .footer-blocks .blocks-text-line:hover {
        color:#b2ddbc;
        animation: ease-in;
        transition: 0.5s
    }

    footer .footer-blocks .blocks-text-line img {
        height:50px;
        padding:10px;
        float:left;
    }

    footer .copyright {
        font-size:1.0rem !important;
        color: grey !important;
        right: 15px;
        bottom: 10px;
        letter-spacing: 0.02rem;
    }

}

@media screen and (max-width: 1199px) {

    footer .site-logo {
        width:80%;
        max-width:300px;
        padding:30px;
    }

    footer .footer-logo {
        width:100%;
    }

    footer .footer-blocks .blocks-title-info {
        margin-top:0px;
    }

    footer .footer-blocks {
        padding:40px;
        padding-top:25px;
        /*float:left;*/
        max-width:350px;
    }

    footer .footer-blocks .blocks-title {
        font-size:1.0rem;
        color:#b2ddbc;
        font-weight:300;
        text-transform: uppercase;
        line-height:2.5;
        text-align:left !important;
        margin-bottom:10px;
        text-decoration: underline;
        text-underline-position: under;
    }

    footer .footer-blocks .no-underline {
        text-decoration: unset !important;
    }

    footer .footer-blocks .blocks-text-line {
        font-size:0.9rem;
        color:white;
        font-weight: 400;
        line-height:2.5;
        text-align:left !important;
        cursor:pointer;
    }

    footer .footer-blocks .blocks-text-line-no-hover {
        color:white !important;
        cursor:unset !important;
    }

    footer .footer-blocks .blocks-text-line:hover {
        color:#b2ddbc;
        animation: ease-in;
        transition: 0.5s
    }

    footer .footer-blocks .blocks-text-line img {
        height:50px;
        padding:10px;
        float:left;
    }

    footer .copyright {
        font-size: 1.0rem !important;
        color: grey !important;
        text-align:center;
        padding:15px;
        letter-spacing: 0.02rem;
    }

}

footer #footer-mail-form {
    margin:0;
}

footer #footer-mail-form .input {
    background-color: #51555b;
    opacity:1.0;
    width: calc(100% - 20px);
    max-width:300px;
    height: 40px;
    text-align:center;
    font-size: 1.0rem;
    color: white;
    -webkit-appearance: none;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    border:none !important;
}

footer #footer-mail-form .input:focus {
    outline: none;
}

footer #footer-mail-form .submit {
    background-color: #6DA3A8;
    width: calc(100% - 20px) !important;
    height: 45px;
    font-size: 0.9rem;
    color: white;
    letter-spacing: 0.07rem;
    cursor: pointer;
    margin-top: 15px;
    text-align:center !important;
    border: 0px solid white !important;
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    -webkit-appearance: none;
}

@media screen and (max-width: 1199px) { footer #footer-mail-form .submit { width: calc(100% - 20px) !important; } }

footer .footer-end {
    text-align:center;
    padding:20px;
}

#scrollTop label {
    font-size:1.5rem;
}

/* Public forms: Kontakt / Vertragswiderruf */
.vc-public-form-page .insideContent,
.vc-public-form-card {
    width:100%;
    max-width:760px;
    margin:0 auto;
}
.vc-public-form-card {
    background:#fff;
    border:1px solid #d9dee2;
    border-radius:14px;
    padding:30px;
    box-shadow:0 12px 34px rgba(50,51,59,.07);
}
.vc-public-form { display:grid; gap:18px; margin-top:24px; }
.vc-public-form label { display:flex; flex-direction:column; gap:7px; color:#596169; font-size:.95rem; }
.vc-public-form label span { color:#8b9298; font-size:.82rem; }
.vc-public-form input[type=text],
.vc-public-form input[type=email],
.vc-public-form textarea {
    width:100%;
    max-width:none;
    border:1px solid #cbd2d7;
    border-radius:7px;
    background:#fff;
    padding:11px 12px;
}
.vc-public-form textarea { min-height:140px; resize:vertical; }
.vc-form-submit {
    background-color:#6DA3A8 !important;
    width:100% !important;
    max-width:300px !important;
    min-height:45px;
    padding:10px 18px !important;
    font-family:'vimecity-bloomsbury',Arial,sans-serif !important;
    font-size:.9rem !important;
    font-weight:300 !important;
    color:#fff !important;
    letter-spacing:.07rem !important;
    cursor:pointer;
    text-align:center !important;
    border:0 !important;
    border-radius:6px !important;
    -webkit-appearance:none;
}
.vc-form-submit:hover { background-color:#5f9196 !important; }
.vc-public-form-message { padding:13px 15px; border-radius:8px; margin:18px 0; }
.vc-public-form-message.success { background:#edf8ef; border:1px solid #bddfc5; color:#2d6840; }
.vc-public-form-message.error { background:#fff0f0; border:1px solid #edc4c4; color:#913a3a; }
.vc-public-form-hint { margin-top:20px; font-size:.95rem; }
@media(max-width:700px){ .vc-public-form-card{padding:20px 16px;} }

.vc-public-form-intro{margin:0 0 18px;color:#626b72;line-height:1.65;}
