/* Shared navigation, footer and image viewer. */
header{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;padding:20px max(3vw,24px);min-height:88px}
header>.wordmark{grid-column:1;justify-self:start;min-width:0}header>#nav{grid-column:2;justify-content:center;gap:28px;position:static;width:auto;white-space:nowrap}header>.menu{grid-column:3;grid-row:1;justify-self:end}
.nav-courses{position:relative}.nav-courses-trigger{display:flex;align-items:center;gap:2px}.nav-courses-trigger>a{padding:12px 0}.nav-courses-trigger button{border:0;background:transparent;color:inherit;width:30px;min-height:44px;font-size:22px;line-height:1}.department-menu{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);width:380px;background:#f5f5f2;color:#1f1943;border:1px solid #aaa5b9;box-shadow:0 16px 32px #100a3033;padding:24px;white-space:normal}.department-menu>p{font-size:12px;letter-spacing:.12em;color:#655f75;margin:0 0 12px}.department-menu>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.department-menu>div>a{display:flex;justify-content:space-between;gap:18px;padding:12px;background:#e9e7e0;font-size:17px;font-weight:600}.department-menu a:hover,.department-menu a:focus-visible{background:#d9c34a;color:#1f1943}.department-menu .nav-all-courses{display:block;margin-top:18px;border-top:1px solid #b8b4c3;padding:14px 0 0;font-size:13px}.nav-courses.is-open>.department-menu{display:block}
@media(hover:hover) and (pointer:fine){.nav-courses:not(.is-dismissed):hover>.department-menu{display:block}.nav-courses:hover .nav-courses-trigger{color:#d9c34a}}
footer{flex-wrap:wrap;align-items:start}.site-copyright{flex-basis:100%;border-top:1px solid #ffffff35;padding-top:22px;margin:5px 0 0;color:#d4d0e0!important;text-align:center;font-size:12px;letter-spacing:.025em}
.image-viewer{max-width:1400px;width:calc(100% - 32px);height:calc(100dvh - 32px);max-height:none;margin:auto;padding:0;border:1px solid #66617a;background:#f5f5f2;color:#1f1943;overflow:hidden}.image-viewer::backdrop{background:#110d27e8}.image-viewer-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid #c7c4ce}.image-viewer-toolbar p{margin:0 auto 0 0;font-size:13px;max-width:50%;overflow-wrap:anywhere}.image-viewer button{padding:8px 12px;min-height:44px;background:#e6e3ec;color:#1f1943;border:1px solid #ada6bd;font-size:14px}.image-viewer button:disabled{opacity:.35;cursor:default}.image-viewer-body{height:calc(100% - 82px);overflow:auto;display:grid;place-items:center;padding:12px}.image-viewer-body img{display:block;position:static;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;background:white}.image-viewer.is-zoomed .image-viewer-body{display:block}.image-viewer.is-zoomed .image-viewer-body img{max-width:none;max-height:none;width:auto;height:auto;margin:auto}.image-viewer-link{font-size:12px;text-decoration:underline}.image-viewer[open]{display:flex;flex-direction:column}.image-viewer[open] .image-viewer-body{flex:1;min-height:0}
@media(min-width:901px) and (max-width:1200px){header{padding:18px 24px;gap:18px}header #nav{gap:18px;font-size:13px}header .brand-name small{display:none}header .brand-symbol{width:38px}header .brand-name b{font-size:24px}}
@media(max-width:900px){header{display:flex;justify-content:space-between;min-height:76px;padding:16px 22px;gap:12px}header>.menu{display:block;color:#f5f5f2}header>#nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:8px;background:#1f1943;color:#fff;white-space:normal;padding:18px 22px;max-height:calc(100dvh - 90px);overflow:auto;width:100%;box-shadow:0 14px 18px #100a3033}header>#nav.open{display:flex}header>#nav>a{padding:10px 0}.nav-courses-trigger{justify-content:space-between}.nav-courses-trigger>a{flex:1}.department-menu{position:static;transform:none;width:100%;padding:18px;margin:6px 0 12px;box-shadow:none}.nav-courses:focus-within:not(.is-open)>.department-menu{display:none}.nav-courses-trigger button{width:48px}.department-menu>div>a{font-size:16px}.wordmark .brand-name small{font-size:10px}.image-viewer{width:calc(100% - 16px);height:calc(100dvh - 16px)}.image-viewer-toolbar{gap:6px;padding:10px}.image-viewer-toolbar p{max-width:none;width:100%;font-size:12px}.image-viewer button{padding:8px;font-size:12px}.site-copyright{text-align:left;line-height:1.8}}
.image-viewer-body{display:block}.image-viewer-body img{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}.image-viewer.is-zoomed .image-viewer-body img{width:auto;height:auto;max-width:none;max-height:none}
