footer { background-color: var(--white); }

/* ---- GROUP: SOCIAL MEDIA; ---- */
footer .upper {
    padding: 16px 0 24px;
    text-align: center;
    border-bottom: 1px solid var(--gray-30);
}
footer .upper .brand { width: 120px; }
footer .upper .social-media a {
    display: inline-block;
    width: 32px;
    height: 32px;
    padding-top: 3px;
    text-align: center;
    background-color: var(--purple-60);
    border-radius: 40px;
    transition: .3s;
}
footer .upper .social-media a:not(:last-child) { margin-right: 16px; }
footer .upper .social-media a img { height: 16px; }
footer .upper .social-media a:hover,
footer .upper .social-media a:active { background-color: var(--purple-80); }
footer .upper .social-media a:focus,
footer .upper .social-media a:focus-visible {
    outline: var(--purple-30) auto 1px !important;
    box-shadow: var(--focus); !important;
}

/* ---- GROUP: COPYRIGHT; ---- */
footer .btm { padding: 24px 0; }
footer .btm .terms a:not(:last-child) { margin-right: 16px; }
@media (min-width: 992px) {
    footer .btm { display: flex; flex-basis: auto; }
    footer .btm p {
        display: inline-block;
        margin-right: auto;
        flex-direction: row;
    }
    footer .btm .terms { display: inline-block; }
}
@media (max-width: 991px) {
    footer .btm { text-align: center; }
    footer .btm p { margin-bottom: 16px; }
}