.footer-img {
    min-height: 385px;
    background: url("/img/bgS_neu.webp");
    display: block;
    background-size: cover;
    position: relative;
    /*background-position: 50% 50%;
    background-position: 50% 57%;*/
    background-position: 50% calc(50% - 20px);
    background-position: 50% 50%;
}
.footer-img svg {
    stroke-linecap: round;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 158px;
    height: 158px;
}
.progress-ring {
    transition: stroke-dashoffset 0.4s;
    stroke-dasharray: 741.416 741.416;
    stroke-dashoffset: 185.354;
}
.a-probestunde {
    transition:
        background 0.2s ease-in,
        color ease-in 0.2s;
    transition-delay: 0s;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 23.36px;
    z-index: 1;
    color: white;
    position: absolute;
    top: 50%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-size: 17.17px;
    text-align: center;
    width: 158px;
    height: 158px;
    border-radius: 50%;
}
.a-probestunde p {
    padding-bottom: 7.56px;
}
.a-probestunde:hover + svg .progress-ring {
    stroke-dashoffset: 92;
}
.a-probestunde:hover {
    background: white;
    color: #27282c !important;
    cursor: pointer;
    transition-delay: 0.2s;
    text-decoration: none;
}
.a-probestunde:active {
    background: white;
    transition: all 0s;
    transition-delay: all 0s;
}
.a-probestunde:active + svg .progress-ring {
    stroke-dashoffset: 92;
    transition: all 0s;
}
@media (min-width: 690px) {
    .footer-img svg {
        width: 23vw;
        height: 23vw;
        top: 50%;
    }
    .a-probestunde {
        line-height: 3.4vw;
        font-size: 2.5vw;
        width: 23vw;
        height: 23vw;
        top: 50%;
    }
    .a-probestunde p {
        padding-bottom: 1.1vw;
    }
}
@media (min-width: 1060px) {
    .footer-img {
        min-height: 555px;
        background-position: 50% calc(50% - 20px);
        /*background-position: 50% calc(50% - 1.153vw);
        min-height: max(555px, 32vw);*/
    }
    .footer-img svg {
        width: 23vw;
        height: 23vw;
        top: 46%;
    }
    .a-probestunde {
        line-height: 3.4vw;
        font-size: 2.5vw;
        width: 23vw;
        height: 23vw;
        top: 46%;
    }
    .a-probestunde p {
        padding-bottom: 1.1vw;
    }
}
@media (min-width: 1750px) {
    .footer-img {
        background-position: 50% calc(50% - 1.153vw);
        min-height: max(555px, 32vw);
    }
}

.footer-row-1 {
    padding-top: 65px;
    display: flex;
    height: 435px;
    height: 495px;
}

.footer-row-1 h2 {
    font-size: 19px;
    padding-bottom: 25px;
    padding-bottom: 30px;
}

.footer-row-1 .column-1 {
    display: flex;
    flex-direction: column;
    padding-right: 7.5%;
}

.footer-row-1 .column-1 p {
    padding-bottom: 8px;
    color: #8c8c8c;
}

.footer-row-1 .column-1 a {
    color: #8c8c8c;
}

.footer-row-1 .column-1 svg {
    margin-bottom: 1px;
    height: 8.7px;
    width: auto;
    margin-left: 2px;
    fill: currentColor;
}

.footer-row-1 .column-1 p:last-child {
    margin-top: auto;
    font-size: 15px;
    padding-bottom: 10px;
    color: #484a51;
}

.footer-row-1 .column-1 p:last-child a {
    color: #484a51;
}

.footer-row-1 .column-1 p:last-child a:hover {
    text-decoration: none;
}

.footer-row-1 .column-2 {
    display: flex;
    flex-direction: column;
}

.footer-row-1 .column-2 p {
    padding-bottom: 8px;
    color: #8c8c8c;
}

.footer-row-1 .column-2 a {
    color: #8c8c8c;
    margin-left: 10px;
}

.footer-row-1 .column-2 a:hover {
    text-decoration: none;
}

.footer-row-1 .column-2 p:last-child {
    margin-top: auto;
    padding-bottom: 10px;
    margin-bottom: 0;
    font-size: 13px;
}

.footer-row-1 .column-2 p:last-child a {
    color: #484a51;
}

.footer-row-1 .column-3 {
    display: flex;
    flex-direction: row;
    flex: 1;
}

.footer-row-1 .column-3 img {
    width: 230px;
    margin-top: 15px;
    height: auto;
    border-radius: 0;
}

.footer-sm {
    display: inherit;
    position: relative;
}

.footer-sm img:first-child {
    width: 100px;
    border-radius: 0;
    position: absolute;
    top: 7px;
    right: 0;
}

.footer-sm .row:first-of-type {
    padding-bottom: 25px;
    font-size: 13px;
    padding-top: 25px;
}

.footer-sm h2 {
    font-size: 15.5px;
    padding-bottom: 18px;
}

.footer-sm .row:first-of-type p,
.footer-sm .row:nth-of-type(2) p {
    padding-bottom: 2px;
    color: #8c8c8c;
}

.footer-sm .row:first-of-type p strong,
.footer-sm .row:nth-of-type(2) p strong {
    padding-right: 8px;
}

.footer-sm .row:first-of-type a,
.footer-sm .row:nth-of-type(2) a {
    color: #8c8c8c;
}

.footer-sm .row:first-of-type a:hover {
    text-decoration: none;
}

.footer-sm .row:nth-of-type(2) {
    padding-bottom: 75px;
    font-size: 13px;
    margin-top: 20px;
}

.footer-sm .row:nth-of-type(2) svg {
    margin-bottom: 0.4px;
    height: 7px;
    width: auto;
    margin-left: 2px;
    fill: currentColor;
}

.footer-sm .row:nth-of-type(3) a:hover {
    text-decoration: none;
}

.footer-sm .row:nth-of-type(3) .col p,
.footer-sm .row:nth-of-type(3) .col p a {
    color: #484a51;
}

.footer-sm .row:nth-of-type(3) .col p:first-child {
    padding-top: 0px;
    padding-bottom: 40px;
    font-size: 12px;
}

.footer-sm .row:nth-of-type(3) .col p:nth-child(2) {
    padding-bottom: 12px;
    font-size: 10px;
}

.footer-md {
    display: none;
}
footer {
    font-size: 11px;
    flex-shrink: none;
    margin-bottom: 0px;
    /*background-image: url('img/V4.svg');*/
    background-size: cover;
    background-position: 59% 0;
    background-color: #f2f2f2 !important;
    margin-top: 0;
    background-color: white !important;
}
footer .fluid-1 {
    padding-top: 41px;
}
.footer-left p {
    color: #484951;
}
.footer-right,
.footer-right a {
    color: #2b2c31;
}
.footer-right a:hover {
    text-decoration: none;
}
.contacts a,
.contacts p {
    color: #8c8c8c;
}
.contacts p strong {
    color: #8c8c8c;
}
.contacts a:hover {
    text-decoration: none;
}
a.fa-facebook-f {
    font-size: 17px;
    padding-top: 6px;
    color: #27282c;
    margin-right: 35px;
}
a.fa-facebook-f:hover {
    color: #3b5998;
    text-decoration: none;
}
a.fa-instagram {
    font-size: 17px;
    padding-top: 6px;
    color: #27282c;
}
a.fa-instagram:hover {
    text-decoration: none;
    background-image: linear-gradient(
        45deg,
        #405de6,
        #5851db,
        #833ab4,
        #c13584,
        #e1306c,
        #fd1d1d
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
@media (min-width: 576px) {
    footer {
        font-size: 12px;
    }
}
@media (min-width: 992px) {
    .footer-sm {
        display: none;
    }
    .footer-md {
        display: inherit;
    }
    footer {
        font-size: 16px;
        margin-top: 0;
    }
    footer .fluid-1 {
        padding-top: 0px;
        padding-bottom: 26px;
    }
    .contacts a,
    .contacts p {
        padding-bottom: 1px;
    }
    a.fa-facebook-f,
    a.fa-instagram {
        font-size: 19px;
    }
}

footer.dunkel {
    background-color: hsl(0, 0%, 5%) !important;
}

.dunkel p,
.dunkel a,
.dunkel h2 {
    color: white;
}

.dunkel .footer-sm .row .col p,
.dunkel .footer-sm .row .col p a,
.dunkel .column-1 p,
.dunkel .column-1 p a,
.dunkel .column-2 p,
.dunkel .column-2 p a {
    color: #b3b3b3;
}

.dunkel .footer-sm .row:nth-of-type(3) .col p,
.dunkel .footer-sm .row:nth-of-type(3) .col a,
.dunkel .footer-sm .footer-row-1 .column-1 p:last-child,
.dunkel .footer-row-1 .column-1 p:last-child,
.dunkel .footer-row-1 .column-1 p:last-child a,
.dunkel .footer-row-1 .column-2 p:last-child a {
    color: #e0e0e0;
}

.dunkel img {
    content: url("/img/farning_programmierschule_last_white.svg");
    display: none;
}

#banner,
#banner * {
    box-sizing: border-box;
}
#banner {
    display: none;
    position: fixed;
    bottom: 0px;
    left: 0px;
    width: 100%;
    height: 60px;
    line-height: 60px;
    background: #f8e7aa;
    font-size: 16px;
}
#banner #description {
    float: left;
}
#banner #accept {
    float: right;
}
#banner {
    padding-top: 30px;
    padding-bottom: 30px;
    line-height: inherit;
    height: auto;
}
#banner #description {
    width: 100%;
}
#banner #accept {
    width: 100%;
    margin-top: 15px;
}
#banner #accept a {
    display: block;
    text-align: right;
}
@media (max-width: 1100px) {
    #banner {
        padding-top: 30px;
        padding-bottom: 30px;
        line-height: inherit;
        height: auto;
        font-size: 14px;
    }
    #banner #description {
        width: 100%;
    }
    #banner #accept {
        width: 100%;
        margin-top: 15px;
    }
    #banner #accept a {
        display: block;
        text-align: right;
    }
}
