StealThis .dev

Wedding — Invitation Card

An editorial blush-and-gold wedding invitation that begins as a sealed envelope. Click the wax seal and the flap folds back, the inner card slides up, and a hand-drawn gold flourish traces itself around the couple's names, date, and venue. An accessible RSVP dialog lets guests accept or decline, pick a meal, and add a plus-one, with gold toasts confirming each choice. Fully keyboard-accessible with focus trapping, and responsive down to 360px.

Open in Lab
html css vanilla-js
Targets: JS HTML

Code

A romantic, animated wedding invitation built as a single self-contained component. It opens as a blush envelope closed with a gold wax seal; activating the seal (click or Enter) folds the flap back and slides the invitation card up out of the pocket while a thin gold flourish draws itself above the couple’s names using an animated SVG stroke. The typography leans on Cormorant Garamond for the display headings and Inter for the details, giving it an airy editorial feel.

Inside the card sit the essentials — Amara & Elias, the ceremony date and time, and the Rosewood Orchard Estate venue — framed by hairline gold rules, dress-code badges, and a monogram medallion. A prominent RSVP button opens an accessible modal dialog where guests confirm attendance, choose a meal preference, add a plus-one, and leave a short note for the couple. A “reseal envelope” affordance lets you replay the opening animation from the top.

Every control is a real, focusable element with visible focus rings and aria labelling, WCAG AA contrast, and hover/active micro-interactions. The dialog traps focus, closes on Escape or backdrop click, validates the guest name, and fires a gold toast for confirmation. The layout collapses gracefully at 520px and stays usable down to 360px, with a reduced-motion fallback for the animations.