footer {
    background: #dc002e;
    color: white;
    font-size: 14px;
    margin-top: 140px;
    position: relative;
    float: left;
    width: 100%;
}

footer > .container {
    padding: 15px;
}

footer p,
footer a {
    color: white;
    margin: 0;
    font-weight: lighter;
}

footer a {
    transition: 0.3s;
    margin: 0 15px;
}
footer .footer-navigation2 .navigation a:last-of-type {
    margin-right: 0;
}

footer a:hover,
footer a:focus {
    color: white;
}

footer .footer-navigation {
    background: #f8f8f8;
    padding: 15px;
}

footer .footer-navigation .links {
    margin: 0 -20px;
}

footer .footer-benefits {
    color: #575153;
    font-weight: bold;
    background-color: #E6E6E4;
    padding: 35px 0 28px 0;
}

footer .footer-benefits > .container > .row {
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-align: end;
    -moz-box-align: end;
    -ms-flex-align: end;
    -webkit-align-items: flex-end;
    align-items: flex-end;

    -webkit-box-direction: normal;
    -webkit-box-orient: horizontal;
    -moz-box-direction: normal;
    -moz-box-orient: horizontal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;

    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

footer .footer-benefits .benefit-icon {
    flex-grow: 1;
    text-align: center;
    margin: 0 10px;
}
footer .footer-benefits .benefit-icon:first-of-type {
    margin-left: 0;
    text-align: left;
}
footer .footer-benefits .benefit-icon:last-of-type {
    margin-right: 0;
    text-align: right;
}

footer .footer-benefits .benefit-icon figure {
    display: inline-block;
    text-align: center;
}

footer .footer-benefits .benefit-icon figcaption {
    margin-top: 20px;
}

footer .footer-payments {
    color: #575153;
    background-color: #F8F8F8;
    border-bottom: 2px solid #E6E6E4;
    padding: 40px 0;
}

footer .footer-payments .title {
    color: #dc002e;
    font-weight: bold;
    text-transform: uppercase;
    text-align: center;
}

footer .footer-payments .list {
    margin-top: 25px;

    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;

    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

footer .footer-payments .list .icon {
    width: 142px;
    height: 88px;
    border-radius: 10px;
}

footer .footer-payments .list .icon.icon-sofort {
    background: #333333 url("/static/img/footer-payments/sofortueberweisung.svg") center center/70% no-repeat;
}

footer .footer-payments .list .icon.icon-sepa {
    background: #333333 url("/static/img/footer-payments/sepa.svg") center center/70% no-repeat;
}

footer .footer-payments .list .icon.icon-visa {
    background: #333333 url("/static/img/footer-payments/visa.svg") center center/70% no-repeat;
}

footer .footer-payments .list .icon.icon-mastercard {
    background: #333333 url("/static/img/footer-payments/mastercard.svg") center center/60% no-repeat;
}

footer .footer-payments .list .icon.icon-paypal {
    background: #333333 url("/static/img/footer-payments/paypal.svg") center center/70% no-repeat;
}

footer .topics {
    padding: 24px 0;
    color: #575153;
}

footer .topics ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

footer .topics .title {
    text-transform: uppercase;
    color: #dc002e;
    font-weight: bold;
    margin-bottom: 30px;
}

footer .topics a,
footer .topics a:hover,
footer .topics a:focus {
    display: inline-block;
    color: #727272;
    font-size: 14px;
    margin: 0 0 8px;
}

footer .social-links {
    padding: 22px 0 36px 0;
    text-align: center;
}

footer .social-links .icon {
    width: 60px;
    height: 60px;
    margin: 0 20px;
    display: inline-block;
}

footer .social-links .icon:before,
footer .social-links .icon:after {
    content: "";
    display: block;
    width: 60px;
    height: 60px;
    transition: 0.3s;
    position: absolute;
}

footer .social-links .icon.facebook:before,
footer .social-links .icon.facebook:after {
    background: #ffffff url("/static/img/footer-social-links/facebook.svg") center center/30px 30px no-repeat;
    border-radius: 60px;
}

footer .social-links .icon.instagram:before,
footer .social-links .icon.instagram:after {
    background: #ffffff url("/static/img/footer-social-links/instagram.svg") center center/30px 30px no-repeat;
    border-radius: 60px;
}

footer .social-links .icon.youtube:before,
footer .social-links .icon.youtube:after {
    background: #ffffff url("/static/img/footer-social-links/youtube.svg") center center/30px 30px no-repeat;
    border-radius: 60px;
}

footer .social-links .icon.newsletter {
    position: relative;
    border-radius: 8px;
    height: 36px;
    width: auto;
    color: white;
    background-color: #dc002e;
    padding: 0 10px;
    margin: 17px 20px 13px 20px;
}
footer .social-links .icon.newsletter:before,
footer .social-links .icon.newsletter:after {
    background: url("/static/img/icon_newsletter.svg") center center/26px 26px no-repeat;
    width: 26px;
    height: 26px;
    top: 4px;
}
footer .social-links .icon.newsletter > span {
    display: table;
    padding-left: 36px;
    position: relative;
    top: 8px;
}

footer .social-links .icon:after {
    opacity: 0;
}

footer .social-links .icon:hover:before {
    opacity: 0;
}

footer .social-links .icon:hover:after {
    opacity: 1;
}

footer .footer-navigation2 > .container {
    padding-top: 25px;
    padding-bottom: 25px;
}

footer .footer-navigation2 .navigation > div:nth-child(2) {
    text-align: right;
}

footer .footer-navigation2 .navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

footer .footer-navigation2 .navigation ul li {
    display: inline-block;
}

/* Cookie-Consent navigation item */
footer .footer-navigation2 .navigation ul li.js-consent-nav-item {
    position: absolute;
    top: -9999px;
    left: -9999px;
}
footer .footer-navigation2 .navigation ul li.js-consent-nav-item.is-visible {
    position: static;
}

@media (min-width: 1200px) {
    footer .container {
        width: 900px;
    }
}
@media (min-width: 992px) {
    footer .container {
        width: 900px;
    }
}

/* HER-34: Display same footer for all devices */
/*@media (max-width: 1050px) {*/
    footer .footer-navigation2 .navigation {
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-align-content: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
    }
    footer .footer-navigation2 .navigation > div,
    footer .footer-navigation2 .navigation > div:nth-child(2) {
        display: block;
        width: 100%;
        text-align: center;
    }
    footer .footer-navigation2 .navigation > div:nth-child(2)  ul {
        position: relative;
        margin-left: -16px;
    }

    footer .footer-navigation2 > .container .copyright {
        padding-top: 20px;
    }

    footer .topics .col-navigation:not(.col-navigation-left) {
        margin-top: 15px;
    }

    footer .topics .title {
        margin-bottom: 8px;
    }
/*}*/

@media (max-width: 991px) {
    footer {
        margin-top: 70px;
    }

    footer .footer-benefits .benefit-icon img {
        width: 25%;
    }

    footer .footer-payments .list > span.icon {
        width: 76px;
        height: 47px;
        margin: 5px;
    }
}

@media (max-width: 767px) {
    footer .footer-navigation {
        padding: 10px 0;
    }

    footer > .container {
        padding: 10px;
    }

    footer .topics {
        margin: 10px 0 20px;
    }

    footer .footer-navigation2 > .container {
        padding-top: 15px;
        padding-bottom: 15px;
    }
}
