.footer {
    background-color: #000000;
    color: #ffffff;
    padding: 1em 0;
}
.footer .row1 {
    display: flex;
    align-items: center;
    margin: 0 -0.625em;
}
.footer .row1 .col {
    width: calc(100%/3);
    padding: 0 0.625em;
    box-sizing: border-box;
}
.footer .row1 .col2 {
    text-align: center;
}
.footer .row1 .col3 {
    text-align: right;
}
.footer .row1 .line1 {
    font-weight: 900;
    line-height: 1.3;
    font-size: 1.625em;
}
.footer .row1 .line2 {
    opacity: 0.6;
    font-weight: 500;
    line-height: 1.5;
    font-size: 0.875em;
}
.footer .row1 .line3 {
    line-height: 1.5;
    font-weight: 500;
}
.footer .row1 .line3 .link {
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    font-size: 15px;
}
.footer .row1 .line3 .link:hover, .footer .row1 .line3 .link:visited {
    color: #ffffff;
    opacity: 0.6;
}
.footer .row1 .line3 .link:focus {
    color: #ffffff;
    opacity: 0.8;
}
.footer .row1 .line3 .link .icon {
    margin-right: 0.5em;
    max-width: 1em;
    max-height: 1em;
    display: block;
}
.footer .row1 .line4 {
    font-weight: 500;
    line-height: 1.5;
    font-size: 0.875em;
    opacity: 0.6;
}
.footer .row1 .line4 a {
    color: #FFF;
    opacity: 0.6;
}
.footer .row1 .line4 a:hover, .footer .row1 .line4 a:visited {
    color: #FFF;
    opacity: 1;
}
.footer .row1 .line4 a:focus {
    color: #FFF;
    opacity: 0.8;
}
@media(max-width: 767px) {
    .footer .row1 {
        display: block;
        margin: 0;
    }
    .footer .row1 .col {
        width: 100%;
        padding: 0;
        text-align: left;
    }
    .footer .row1 .col:not(:last-child) {
        margin-bottom: 1em;
    }
}
