footer {
    border-top: 1px solid var(--c2);
}

footer .footer-content>* {
    display: flex;
    flex: 0 0 100%;
    gap: 0.5rem;
}

footer .footer-content>div img {
    margin-left: auto;
    margin-right: auto;
}

footer .map-link,
footer a {
    display: inline-block;
    color: var(--c4);
    text-decoration: none;
    opacity: 0.75;
    transition: all ease 300ms;
}

footer .map-link:hover,
footer a:hover {
    color: var(--c2);
    opacity: 1;
}

footer a .bi,
footer .bi {
    font-size: 1.5em;
}

footer img {
    width: min(100%, 400px);
    object-fit: cover;
    margin-left: auto;
}

footer .end {
    background-color: var(--c2);
}

footer .social-links .bi {
    font-size: 2em;
}

@media screen and (min-width: 768px) {
    footer .footer-content>* {
        flex: 0 0 50%;
    }

    footer .footer-content>div {
        order: 1;
    }

    footer .footer-content>div img {
        margin-right: 0;
    }
}