/* Keep the original desktop geometry; modernise the surrounding shell only. */
#wrapper { display: grid; grid-template-columns: 895px 145px; grid-template-rows: 60px 56px auto 20px; }
#wrapper > .site-header { grid-column: 1 / -1; display: flex; }
.site-header #top-menu-l, .site-header #top-menu-r { float: none; display: flex; align-items: center; }
.site-header #top-menu-l { width: 895px; }
.site-header #top-menu-r { width: 145px; }
.site-header #top-menu-l ul, .site-header #top-menu-r ul { display: flex; align-items: center; width: 100%; padding: 0; margin: 0; list-style: none; }
.site-header #top-menu-l ul li, .site-header #top-menu-r ul li { display: block; flex: 1 1 0; width: auto; text-align: center; }
.site-header #top-menu-l ul li a, .site-header #top-menu-r ul li a { display: block; width: auto; height: auto; line-height: 30px; border: 0; padding: 0; }
#breadcrumbs { grid-column: 1; grid-row: 2; height: 56px; }
#breadcrumbs .breadcrumbs { box-sizing: border-box; display: block; height: 56px; padding: 20px 20px 20px 49px; }
#breadcrumbs :is(ul, ol) { display: flex; align-items: center; gap: 5px; margin: 0; padding: 0; list-style: none; }
#breadcrumbs :is(ul, ol) li { display: block; opacity: .5; line-height: 16px; }
#breadcrumbs li:hover { opacity: 1; }
#breadcrumbs .divider, #breadcrumbs .icon-location { display: none; }
#breadcrumbs li:has(> .icon-location:only-child), #breadcrumbs li:has(> .divider.icon-location:only-child) { display: none; }
#content { grid-column: 1; grid-row: 3; float: none; height: auto; min-height: 490px; min-width: 0; }
#menu-right { grid-column: 2; grid-row: 3; float: none; align-self: stretch; }
#menu-right ul { list-style: none; }
#menu-right a { display: inline; border: 0; padding: 0; }
#menu-right :is(.mod-menu__sub, .nav-child) li { padding-bottom: .1em; }
.site-footer { grid-column: 1 / -1; grid-row: 4; float: none; }
#content p { margin: 1em 0; }
.skip-link { position: absolute; left: -10000px; top: 0; }
.skip-link:focus { left: 20px; top: 5px; background: #fff; color: #151515; padding: 8px; z-index: 100; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 2px solid #c03d11; outline-offset: 3px; }
#content:focus { outline: none; }
/* Opt-in bonus. Rules do not apply at widths of 1080px or greater. */
@media (max-width: 1079px) {
 body.responsive #wrapper { width: calc(100% - 32px); grid-template-columns: minmax(0, 1fr) 145px; margin-top: 20px; }
 body.responsive .site-header #top-menu-l { width: calc(100% - 145px); }
 body.responsive :is(#content, #breadcrumbs) { width: 100%; }
 body.responsive .site-footer { width: 100%; display: flex; }
 body.responsive #footer_l { width: calc(100% - 146px); }
 body.responsive #content img { max-width: 100%; height: auto; }
 body.responsive #content { overflow-wrap: anywhere; overflow-x: auto; }
}
@media (max-width: 767px) {
 body.responsive #wrapper { display: block; }
 body.responsive .site-header { height: auto; flex-wrap: wrap; }
 body.responsive .site-header #top-menu-l { width: 100%; height: auto; min-height: 60px; border-right: 1px solid; background-image: none; }
 body.responsive .site-header #top-menu-l ul { flex-wrap: wrap; padding: 8px 0; }
 body.responsive .site-header #top-menu-l ul li { flex: 1 0 33.333%; }
 body.responsive .site-header #top-menu-r { width: 100%; height: 40px; border-left: 1px solid; }
 body.responsive #breadcrumbs { border-right: 0; }
 body.responsive #content { padding: 20px 10px; border-right: 0; min-height: 0; }
 body.responsive #menu-right { width: 100%; left: 0; border-left: 0; min-height: 0; padding: 20px 0; }
 body.responsive #menu-right > ul { display: flex; flex-wrap: wrap; gap: 16px; padding: 0; }
 body.responsive #menu-right > ul > li { padding-bottom: 0; }
 body.responsive .site-footer { margin-top: 20px; }
 body.responsive #footer_r { background-image: none; }
}
