.footer {
    width: 100%;
    border-top: 1px solid var(--border);
    background-color: var(--background-secondary);
    transition: background-color .3s, border-color .3s;
    padding: var(--section-padding) var(--page-margin)
}

.footer .panels {
    padding-bottom: var(--section-padding)
}

.footer .brand-mark {
    width: 5rem;
    height: 5rem;
}

.footer .footer-title {
    font-weight: 600;
    margin-bottom: 0;
}

.footer .nav-list {
    list-style-type: none;
}

.footer .footer-text {
    display: block;
    color: var(--content-secondary);
}

.footer .footer-link {
    text-decoration: underline;
    color: var(--content-secondary);
    margin: 0;
}

.footer .footer-contact-link {
    color: var(--content-secondary)
}

.footer .bottom {
    font-size: .875rem;
    color: var(--content-tertiary);
}

.footer .bottom .footer-link {
    font-size: .875rem;
    color: var(--content-tertiary)
}

.footer .address-line {
    display: block;
}

@media screen and (min-width: 600px) {
    .footer .panels {
        row-gap: 3rem;
    }
    
    .footer .brand-mark {
        width: 100%;
        height: 100%;
        max-width: 160px;
        max-height: 160px;
    }

    .footer .address-line {
        display: inline;
    }

    .footer .map-frame {
        margin-top: auto;
    }
}

@media screen and (min-width: 1200px) {
    .footer .panels {
        gap: 4rem;
    }
}