/* Use the site's bundled Font Awesome font; its custom psyedfont omits brands. */
@font-face {
    font-family: 'APS Social';
    src: url('../fonts/fontawesome-webfont.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
.aps-social-icon { font: normal normal 22px/1 'APS Social'; display: inline-block; }
.aps-social-facebook::before { content: '\f09a'; }
.aps-social-instagram::before { content: '\f16d'; }
.aps-footer-social, .aps-social-profiles { display: flex; flex-wrap: wrap; gap: 12px; }
.aps-footer-social a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid currentColor; border-radius: 4px; }
.aps-footer-social a:focus-visible, .aps-social-feed a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
#footer.footer-light .aps-footer-social a:focus { color: #000; }
.aps-social-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; margin-bottom: 30px; }
.aps-social-card { background: #fff; border: 1px solid #ddd; min-width: 0; }
.aps-social-card img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; margin-bottom: 20px; }
.aps-social-caption { white-space: pre-line; overflow-wrap: anywhere; }
.aps-social-profiles .btn { white-space: normal; }
.aps-social-profiles .aps-social-icon { vertical-align: middle; margin-right: 8px; }
@media (max-width: 991px) { .aps-social-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .aps-social-grid { grid-template-columns: minmax(0, 1fr); } }
