WEDDING
Robert & Patricia
WEDDING
Robert & Patricia
10 · 01 · 2026

Robert & Patricia
OUR WEDDING
“I choose you, today and always”
COUNTDOWN
00
DAYS
00
HOURS
00
MIN
00
SEC
CEREMONY
10 · 01 · 2026
6:30 PM
The Rooftop
139 Hunter's Grv Ln #400 · Lehi, Utah 84043
GET DIRECTIONS RECEPTION
10 · 01 · 2026
5:30 PM
The Rooftop
139 Hunter's Grv Ln #400 · Lehi, Utah 84043
GET DIRECTIONS DRESS CODE
FORMAL
Join us in elegant attire as we celebrate this special occasion together

WOMEN
Midi dress, full-length dress, or elegant ensemble
MEN
Suit, blazer, or formal combination
We kindly ask that you avoid jeans and the color white
MEMORIES
A glimpse of our story
GIFTS
Your presence means the most to us but if you wish to celebrate with a gift you may do so here
CASH GIFT
If you wish to give a cash gift you may use any of the options below
VENMO
@example
BANK TRANSFER
Example Bank
Account: XXXX XXXX XXXX XXXX
Account: XXXX XXXX XXXX XXXX
Account: XXXX XXXX XXXX XXXX" }; /* ================================================== ELEMENTS ================================================== */ const section = document.getElementById( "lumiereGiftSection" ); const description = document.getElementById( "giftDescription" ); const registryButton = document.getElementById( "giftRegistryButton" ); const moneyButton = document.getElementById( "giftMoneyButton" ); const modal = document.getElementById( "moneyModal" ); const closeButton = document.getElementById( "moneyModalClose" ); const venmoMethod = document.getElementById( "moneyVenmoMethod" ); const venmoText = document.getElementById( "moneyVenmoText" ); const bankMethod = document.getElementById( "moneyBankMethod" ); const bankText = document.getElementById( "moneyBankText" ); const overlay = modal ? modal.querySelector( ".money-modal-overlay" ) : null; /* ================================================== TEXT ================================================== */ if ( description && giftConfig.description ) { description.textContent = giftConfig.description; } /* ================================================== GIFT REGISTRY ================================================== */ if (registryButton) { if ( giftConfig.showRegistry && giftConfig.registryUrl ) { registryButton.style.display = "inline-block"; registryButton.href = giftConfig.registryUrl; } else { registryButton.style.display = "none"; } } /* ================================================== VENMO ================================================== */ if (venmoMethod) { if ( giftConfig.showVenmo && giftConfig.venmo ) { venmoMethod.style.display = "block"; if (venmoText) { venmoText.textContent = giftConfig.venmo; } } else { venmoMethod.style.display = "none"; } } /* ================================================== BANK ================================================== */ if (bankMethod) { if ( giftConfig.showBank && giftConfig.bank ) { bankMethod.style.display = "block"; if (bankText) { bankText.innerHTML = giftConfig.bank; } } else { bankMethod.style.display = "none"; } } /* ================================================== DETERMINE WHETHER A CASH GIFT METHOD EXISTS ================================================== */ const hasMoneyMethod = ( giftConfig.showVenmo && giftConfig.venmo ) || ( giftConfig.showBank && giftConfig.bank ); /* ================================================== CASH GIFT BUTTON ================================================== */ if (moneyButton) { if ( giftConfig.showMoney && hasMoneyMethod ) { moneyButton.style.display = "inline-block"; } else { moneyButton.style.display = "none"; } } /* ================================================== IF NO GIFT OPTION EXISTS HIDE THE ENTIRE BLOCK ================================================== */ const hasRegistry = giftConfig.showRegistry && giftConfig.registryUrl; const hasMoney = giftConfig.showMoney && hasMoneyMethod; if ( section && ( !giftConfig.showSection || (!hasRegistry && !hasMoney) ) ) { section.style.display = "none"; } /* ================================================== IF THERE IS NO CASH GIFT OPTION THE MODAL IS NOT NEEDED ================================================== */ if ( modal && !hasMoney ) { modal.style.display = "none"; } /* ================================================== MODAL FUNCTIONS ================================================== */ function openModal() { if (!modal) { return; } modal.classList.add( "is-open" ); modal.setAttribute( "aria-hidden", "false" ); document.body.style.overflow = "hidden"; } function closeModal() { if (!modal) { return; } modal.classList.remove( "is-open" ); modal.setAttribute( "aria-hidden", "true" ); document.body.style.overflow = ""; } /* ================================================== CLICK CASH GIFT ================================================== */ if ( moneyButton && hasMoney ) { moneyButton.addEventListener( "click", openModal ); } /* ================================================== CLOSE ================================================== */ if (closeButton) { closeButton.addEventListener( "click", closeModal ); } if (overlay) { overlay.addEventListener( "click", closeModal ); } document.addEventListener( "keydown", function (event) { if ( event.key === "Escape" && modal && modal.classList.contains( "is-open" ) ) { closeModal(); } } ); })();
RSVP
We would love to celebrate this special day with you
Please RSVP by September 20
THANK YOU!
" + "We will miss celebrating this special day with you"; return; } if ( submittedCompanions > 0 ) { successText.innerHTML = "We have received your RSVP.
" + " We are so excited to celebrate this special day with you and your guests"; return; } successText.innerHTML = "We have received your RSVP.
" + " We are so excited to celebrate this special day with you"; } /* ================================================== GOOGLE RECEIVED THE RESPONSE ================================================== */ hiddenFrame.addEventListener( "load", function () { if (!submitting) { return; } submitting = false; if (description) { description.style.display = "none"; } if (deadline) { deadline.style.display = "none"; } form.style.display = "none"; createSuccessMessage(); success.style.display = "block"; success.scrollIntoView({ behavior: "smooth", block: "center" }); } ); /* ================================================== SUBMIT ================================================== */ form.addEventListener( "submit", function (event) { if (submitting) { event.preventDefault(); return; } if (yesOption.checked) { submittedAttendance = "Yes"; submittedCompanions = Number( companionsSelect.value || 0 ); } else { submittedAttendance = "No"; submittedCompanions = 0; } submitting = true; submitButton.disabled = true; submitButton.textContent = "SENDING..."; } ); })();
IMPORTANT
A few details to help us enjoy this special day together
IMPORTANT NOTES
We kindly ask that you arrive on time
We want you to fully enjoy this celebration so we have decided to make it an adults-only event
We recommend bringing a light jacket so you can comfortably enjoy our outdoor spaces
And most importantly… leave your worries behind and come celebrate with us!
Robert & Patricia
Thank you for being part of our story
10 · 01 · 2026