About this set
A grid of city clocks for a distributed team: London, New York, San Francisco, Riga, Tokyo and Sydney, each on its own card showing the local time, the weekday and date, and whether it is working hours there. Cities inside working hours, Monday to Friday from 09:00 to 18:00 local time, get a green left edge and the words Working hours; the rest show a grey edge and After hours, so the state does not rely on colour alone. Use it on a team page, a support contact page or an internal dashboard to show who is likely to be online. Each card names an IANA time zone in a data-tz attribute, and the script reads the time with toLocaleTimeString and the timeZone option, so daylight saving changes are handled by the browser with no time zone library. To add a city, copy a card and change its name and zone. The grid fills as many 185 pixel columns as fit. The Bootstrap version uses the grid with .row-cols-* and .card tiles, and the Tailwind version uses an auto-fill grid utility.
What’s included
- Six city cards driven by IANA time zones
- Working hours shown as text and as a green left edge
- Daylight saving handled by the browser's Intl support, no library
- Add a city by copying one card and changing data-tz
- Responsive grid from one column on phones to four on desktop
Accessibility
Cities are a list, each card has the city as a heading, and the time, date and working-hours state are plain text that changes at most once a minute, so screen readers read current values without interruptions. The working-hours state is written in words as well as colour, and the grey date text reaches 4.5:1 contrast.
Customise it
Edit the data-tz values and city names, and START and END in the script for different hours. In plain CSS change the colours on .z and .z[data-awake]; in Bootstrap the --bs-border-color and --bs-card-* variables on .zones .card; in Tailwind the border- and data-awake:border- utilities.






