/* Loaded exclusively by the public pages. Existing shared assets stay unchanged. */
.public-shell { width: min(900px, 100%) !important; max-width: 100%; }
.public-shell img { max-width: 100%; height: auto; }
.public-shell iframe, .public-shell video { max-width: 100%; }
.public-shell td { overflow-wrap: anywhere; }
.public-shell a:focus-visible { outline: 3px solid #FF9428; outline-offset: 3px; }
@media (max-width: 920px) {
 body { margin: 16px 0 !important; padding: 0 12px; }
 .public-shell { table-layout: fixed; }
 .public-shell > tbody > tr > td { padding: 0 12px; }
 .public-header, .public-layout { width: 100% !important; table-layout: fixed; }
 .public-header > tbody > tr > td:first-child { width: 35% !important; }
 .public-header > tbody > tr > td:nth-child(2) { width: 16px !important; }
 .public-header .style5 { font-size: clamp(25px, 5vw, 48px); }
 .public-layout > tbody > tr > td:first-child { width: 180px !important; }
 .public-layout > tbody > tr > td:nth-child(2) { width: 16px !important; }
 #slider { width: 100%; height: auto; aspect-ratio: 630 / 472; margin: 0; }
 #sliderContent { width: 100%; margin: 0; padding: 0; }
 #slider .sliderImage { width: 100%; }
 #slider img { display: block; width: 100%; height: auto; }
}
@media (max-width: 680px) {
 .public-header, .public-header > tbody, .public-header > tbody > tr,
 .public-layout, .public-layout > tbody, .public-layout > tbody > tr { display: block; }
 .public-header > tbody > tr > td,
 .public-layout > tbody > tr > td { display: block; width: 100% !important; height: auto !important; box-sizing: border-box; }
 .public-header > tbody > tr > td { text-align: center; padding: 12px 0; }
 .public-header > tbody > tr > td:nth-child(2),
 .public-layout > tbody > tr > td:nth-child(2),
 .public-layout > tbody > tr:not(:first-child) > td:first-child { display: none; }
 .public-header .style5 { font-size: clamp(26px, 7vw, 38px); }
 .public-layout > tbody > tr > td:last-child { padding: 14px 0; line-height: 1.55; }
 .public-menu { display: block; width: 100% !important; margin-bottom: 6px; }
 .public-menu > tbody { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; }
 .public-menu > tbody > tr { display: block; min-width: 0; }
 .public-menu > tbody > tr:nth-child(n+5) { grid-column: 1 / -1; }
 .public-menu td { display: block; width: 100% !important; height: auto !important; padding: 0; box-sizing: border-box; }
 .public-menu strong { display: block; min-height: 26px; line-height: 18px; box-sizing: border-box; padding: 4px 8px; }
 .public-menu strong:has(a) { padding: 0; }
 .public-menu a { display: block; padding: 4px 8px; line-height: 18px; min-height: 26px; box-sizing: border-box; }
 .public-layout > tbody > tr > td:last-child table { width: 100% !important; table-layout: fixed; }
 .public-layout > tbody > tr > td:last-child table td { width: auto !important; }
 .public-layout > tbody > tr > td:last-child table,
 .public-layout > tbody > tr > td:last-child table tbody,
 .public-layout > tbody > tr > td:last-child table tr,
 .public-layout > tbody > tr > td:last-child table td { display: block; }
 .public-layout > tbody > tr > td:last-child table td { padding: 6px 0; }
 marquee { max-width: 100%; }
}


/* Current public page, on desktop and mobile. */
.public-menu td.public-menu-active {
 background-color: #FF9428;
 background-image: none;
 color: #000098;
 box-shadow: inset 4px 0 0 #AFD8F5;
}

/* Compact decorative staff, independent of content separators. */
.public-shell img.public-staff { display: block; width: 100%; height: 20px; margin: 6px 0 10px; }
@media (max-width: 680px) {
 .public-shell img.public-staff { height: 12px; margin: 2px 0 6px; }
}
