/* Local accessibility and layout adjustments; keep upstream theme files intact. */
.skip-link { position: fixed; top: -10rem; left: 1rem; z-index: 10000; padding: .65rem 1rem; background: #fff; color: #182968; border: 2px solid currentColor; border-radius: .2rem; }
.skip-link:focus { top: 1rem; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #3f51b5; outline-offset: 3px; }
#main-content { scroll-margin-top: 5rem; }
#main-content:focus { outline: none; }
.portrait-title .profile-name { font-size: 1.75em; font-weight: 300; color: #000; margin: 20px 0 10px; }
.portrait-title .profile-role { font-family: inherit; font-size: 1rem; font-weight: 300; line-height: 1.2; color: rgba(0,0,0,.54); margin: 0 0 10px; }
.dark .portrait-title .profile-name { color: #fff; }
.dark .portrait-title .profile-role { color: rgba(255,255,255,.54); }
.home-section .section-title { font-size: 2.25rem; }
.section-heading .section-title { margin: 0 0 10px; }
.conference-archive .archive-notice { margin-top: 1.5rem; padding: 1rem; border-left: 4px solid #3f51b5; background: #fff; font-size: 1rem; text-align: left; }
.conference-archive #when iframe { max-width: 100%; }
.error-header { padding: 1rem 0; border-bottom: 1px solid #ddd; }
.error-header a { font-size: 1.25rem; font-weight: 700; }
.error-page { max-width: 50rem; padding-top: 4rem; padding-bottom: 4rem; }
