About this set
A scheduled maintenance page that answers the three questions users arrive with: what is happening, when it will be back, and what still works. The demo is an invoicing app moving to a new database. On the left, an amber pulsing badge, a plain-language headline, a paragraph on what is safe, a three-cell strip with the start time, the time it will be back and the length of the window, and a checklist of steps marked Done, In progress and Up next. On the right, a service status panel lists five parts of the product with Maintenance, Read-only and Operational pills, followed by a support address and a link to the status page. Use it for planned downtime, or copy just the status panel into an incident page. It is pure HTML and CSS with no JavaScript: update the times and pills by hand or from your server. Every state is written as text next to its colour, the ETA strip is a description list, and the steps are an ordered list. The card is two columns from 768 pixels and stacks below that, with the status panel under the main message.
What’s included
- Start time, return time and window length in a description list
- Step list with Done, In progress and Up next written as text
- Service status panel with Maintenance, Read-only and Operational pills
- Pulsing badge and spinner that stop under reduced motion
- No JavaScript; the Bootstrap version uses .list-group and .spinner-border
Accessibility
Status is never carried by colour alone: every pill and step has a text label, and the decorative dots, ticks and spinner are aria-hidden. The page uses a heading, a description list for the times, an ordered list for the steps and an aside for service status labelled by its own heading. Links show a 2px blue focus outline, all text meets 4.5:1, and the pulse and spinner animations are removed under prefers-reduced-motion.
Customise it
Pill colours are the --mt-ok, --mt-warn and --mt-info pairs on .mt (plain CSS and Bootstrap) or the --color-mt-* theme colours in Tailwind. Change the card width with max-width on .mt-card and the column split with its grid-template-columns (col-md-7 and col-md-5 in Bootstrap).






