About this set
An event card with a large date header, a live countdown in days, hours, minutes and seconds, a short description, time, venue and attendance details, and an Add to calendar button. Use it for conference and webinar landing pages, product launches, ticketed events and any page that leads up to a date. The date header is a time element, and the script reads the target from its datetime attribute rather than parsing the visible text, so the display can be written in any language or format. The countdown has role=”timer” with a label, and the script clears its interval and shows Happening now once the start time passes. When the visitor prefers reduced motion, the seconds column is hidden by CSS and the script ticks once a minute instead of every second, so nothing changes constantly on the page. The header gradient ends on a darker violet than the original so the light header text keeps its contrast, and the grey labels were darkened to 4.5:1. The Bootstrap version uses .card and .btn, and the Tailwind version uses motion-reduce utilities for the reduced-motion layout.
What’s included
- Target read from a datetime attribute
- Stops and shows "Happening now" when the event starts
- Reduced motion hides seconds and ticks once a minute
- role="timer" with an accessible label
- Plain CSS, Bootstrap and Tailwind versions of the same design
Accessibility
The countdown is a role="timer" region with an aria-label; a timer role is not a live region by default, so it is not read out every second. Under prefers-reduced-motion the seconds are hidden and the numbers change once a minute. The button has a 2px violet focus outline and the icons are hidden from assistive tech.
Customise it
Change the datetime attribute on the time element to set the target. Colours are --cd-accent and --cd-muted on .cdown in plain CSS and Bootstrap and the --color-cd-* theme colours in Tailwind; the header gradient is on .top.




















