/* Shared by every template: things the platform adds on top of the approved designs. */
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:#fff;color:#000;padding:12px 18px}
.skip:focus{left:12px;top:12px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Building status dots say their state in words too; colour only backs it up. */
.dot.dot-delayed,.dot-delayed{background:#f5b301!important}
.dot.dot-closed,.dot-closed{background:#ff5a4f!important}
.dot.dot-early_release{background:#f5b301!important}
html.is-closed .strip{background:#b42318!important;color:#fff!important}
[hidden]{display:none!important}
/* No lunch menu posted: the calendar takes the full row instead of leaving a hole. */
.week:not(:has(.lunch)),.weekgrid:not(:has(.lunch)){grid-template-columns:1fr!important}
.week:not(:has(.lunch))>.cal,.weekgrid:not(:has(.lunch))>.cal{grid-column:1/-1!important}
/* "Get the app" (shown by pwa.js only when the phone can install it) */
.app-get{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid currentColor;border-radius:999px;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer}
.install-tip{margin:8px 0 0;font-size:15px}
