Dika & Muti

Dika & Muti

WEDDING INVITATION

We invited you to celebrate our wedding

Dika & Muti

Minggu-Senin, 07-08 Desember 2025

Kpd Bpk/Ibu/Saudara/i
Tamu Undangan
Mohon maaf apabila ada kesalahan penulisan nama/gelar

Assalamu'alaikum Warahmatullahi Wabarakatuh

Tanpa mengurangi rasa hormat, perkenankan kami mengundang Bapak/Ibu/Saudara/i,
serta kerabat sekalian, untuk menghadiri acara pernikahan kami:

Andika Chandra Rustiawan

Putra dari Bapak Ruslan ( Dede Ganuy ) & Ibu Rista Silviana
( Kp. Jati Parung )

Dengan

Mutia Alwi

Putri dari Bapak Budi Rohendi & Ibu Lia
( Kp. Tajur )

Our Moment

Wedding Gallery

Love Story

Pertemuan


Tidak ada yang kebetulan didunia ini,semua suda tersusun rapi oleh sang maha kuasa.kita tidak bisa memilih kepada siapa kita tidak akan jatuh cinta.kami bertemu pada bulan Juni 2025, tepatnya saat kami nongkrong di sebuah warkop aatmik.tidak pernah menyangka bahwa pertemuan membawa kami pada suatu ikatan cinta yang suci ini.

Selengkapnya
Pendekatan.

dibulan Juni 2025, pertemuan kedua kami di warkop aatmik,dari pertemuan kedua inilah kami berdua memutuskan untuk menjalani hubungan, walaupun saat itu kami berdua sebelumnya saling mempunyai hubungan masing-masing, memang jodoh dan takdir berkata lain untuk hubungan kamu berdua,memang tidak ada kata pacaran diatara kami tapi Allah seakan terus berkonspirasi untuk menyatukan kami berdua.walaupun terkadang kamu bertengkar, baikan lgi terus menerus seperti itu sampe akhirnya kami memutuskan untuk menjalani hubungan ke jenjang pernikahan

Selengkapnya
Lamaran


kehendak Allah menuntun kami pada sebuah pertemuan yang tak pernah disangka, hingga akhirnya membawa kami pada sebuah ikatan suci yang di cintai nya ,cinta itu bukan dari siapa yang selalu ada buat kita,tapi seseorang yg membuktikan bahwa kitalah tujuannya

Selengkapnya
 Pernikahan

Percaya lah,bukan Karena bertemu lalu berjodoh,tapi karena berjodohlah maka kami di pertemukan.kami memutuskan untuk mengikarkan janji suci pernikahan kami bertepatan tanggal 7 Desember 2025. Kami tidak mempunyai tanggal jadian,tetapi kami mempunyai tanggal pernikahan, sebagai mana yang pernah dikatakan oleh Sayidina Ali bin Abi Thalib
" Apa yang menjadi takdirmu akan menemukan jalannya untuk menemukan "

Selengkapnya

" Dan di antara tanda-tanda kekuasaan-Nya diciptakan-Nya untukmu pasangan hidup dari jenismu sendiri supaya kamu dapat ketenangan hati dan dijadikannya kasih sayang di antara kamu. Sesungguhnya yang demikian menjadi tanda-tanda kebesaran-Nya bagi orang-orang yang berpikir. "

- Q.S. Ar-Rum: 21 -

Our Special

Wedding Event

Minggu-Senin, 07-08 Desember 2025

  • 00Hari
  • 00Jam
  • 00Menit
  • 00Detik

Akad Nikah

Minggu, 07 Desember 2025

Pukul: 09.00 WIB - Selesai

Kediaman Mempelai Pria,

Acara Resepsi

Minggu-Senin, 07-08 Desember 2025

Pukul: 10.00 WIB - Selesai

Gg. Wira, Kp. Jati Parung RT. 03/03

Hiburan : Tersedia

Beri Doa & Ucapan Terbaikmu

Untuk Kedua Mempelai

Tinggalkan kami doa terbaik anda untuk momen bahagia kami

Hope to see you soon, Stay safe and healthy!

Hadiah

Pernikahan

Kehadiran Anda merupakan sebuah do'a serta rasa syukur bagi kami, namun jika memberi adalah bentuk Do'a & cinta kasih bagi Anda, Anda dapat memberi kado secara cashless dan kami akan senang hati menerimanya dan tentu semakin melengkapi kebahagiaan kami.

Kirim Kado: Andika Chandra Rustiawan & Mutia Alwi

bca.png.webp
7005044596 a.n Andika Chandra Rustiawan
7005044596
Salin Rekening
bca.png.webp
7006598586 a.n Mutia Alwi
7006598586
Salin Rekening

TERIMA KASIH

Atas Kehadiran & Doa Restunya

Merupakan suatu kehormatan dan kebahagiaan bagi kami sekeluarga apabila Bapak/Ibu/Saudara/i berkenan hadir untuk memberikan doa restu kepada kedua mempelai. Atas kehadiran serta doa restu, kami ucapkan terima kasih.

Sampai Jumpa di Hari Bahagia Kami,

Dika & Muti

Keluarga Besar

Mempelai Pria

Kel. Bapak Ruslan ( Dede Ganuy )
& Ibu Rista Silviana

Keluarga Besar

Mempelai Wanita

Kel. Bapak Budi Rohendi
& Ibu Lia

Wassalamu'alaikum Warahmatullahi Wabarakatuh

085641402877

window.onbeforeunload = function() { window.scrollTo(0, 0); }; var isSectionLocked = true; // Menyimpan status kunci tampilan section // Mengunci tampilan section pertama saat halaman dimuat window.addEventListener('DOMContentLoaded', function() { lockSection(); }); // Fungsi untuk mengunci tampilan section function lockSection() { if (isSectionLocked) { disableScrolling(); document.body.style.position = "fixed"; document.body.style.overflowY = "scroll"; document.body.style.height = "100vh"; document.getElementById("section-cover").style.width = "100vw"; // Menambahkan gaya untuk membuat cover full width } } // Fungsi untuk membuka tampilan section function unlockSection() { enableScrolling(); document.body.style.position = ""; document.body.style.overflowY = ""; document.getElementById("section-cover").style.width = ""; // Menghapus gaya untuk mengembalikan lebar cover ke nilai aslinya document.getElementById("tombol-buka").style.display = "none"; // Menyembunyikan tombol "tombol-buka" } document.getElementById("tombol-buka").onclick = function() { unlockSection(); playAudio(); }; function disableScrolling() { var x = window.scrollX; var y = window.scrollY; window.onscroll = function() { window.scrollTo(x, y); }; } function enableScrolling() { window.onscroll = null; } function playAudio(){ var isYT = false; if(document.body.contains(document.getElementById("song"))) { document.getElementById("song").play(); isYT = false; } else { isYT = true; player.playVideo(); } }
//Script Custom Nama Tamu by Andy dari WeddingPress var urlParams = new URLSearchParams(window.location.search); if (urlParams) { var textElement = document.getElementById('namatamu'); var defaultText = textElement.innerHTML; var newText = defaultText; if (urlParams.has('to')) { var toValue = urlParams.get('to'); newText = newText.replace(/Tamu Undangan/g, toValue); } if (urlParams.has('dear')) { var dearValue = urlParams.get('dear'); newText = newText.replace(/Tamu Undangan/g, dearValue); } if (urlParams.has('kepada')) { var kepadaValue = urlParams.get('kepada'); newText = newText.replace(/Tamu Undangan/g, kepadaValue); } textElement.innerHTML = newText; }
function revealElements(selector) { var elements = document.querySelectorAll(selector); var windowHeight = window.innerHeight; var elementVisible = 150; elements.forEach(function(element) { var elementTop = element.getBoundingClientRect().top; if (elementTop < windowHeight - elementVisible) { element.classList.add("active"); } else { element.classList.remove("active"); } }); } window.addEventListener("scroll", function() { revealElements(".wdpal-fade-in, .wdpal-muncul-atas, .wdpal-muncul-bawah, .wdpal-muncul-kiri, .wdpal-muncul-kanan, .wdpal-rotate-in, .wdpal-flip-x, .wdpal-flip-y, .wdpal-zoom-in, .wdpal-zoom-out"); }); /* Fade In */ .wdpal-fade-in { opacity: 0; transition: opacity 1s ease-in-out; } .wdpal-fade-in.active { opacity: 1; } /* Muncul Atas */ .wdpal-muncul-atas { transform: translateY(100%); opacity: 0; transition: transform 1s ease, opacity 1s ease; } .wdpal-muncul-atas.active { transform: translateY(0); opacity: 1; } /* Muncul Bawah */ .wdpal-muncul-bawah { transform: translateY(-100%); opacity: 0; transition: transform 1s ease, opacity 1s ease; } .wdpal-muncul-bawah.active { transform: translateY(0); opacity: 1; } /* Muncul Kiri */ .wdpal-muncul-kiri { position: relative; transform: translateX(-100%) scale(0.93); opacity: 0; transition: opacity 0.5s ease, transform 1s ease; } .wdpal-muncul-kiri.active { transform: translateX(0); opacity: 1; } /* Muncul Kanan */ .wdpal-muncul-kanan { position: relative; transform: translateX(100%) scale(0.93); opacity: 0; transition: opacity 0.5s ease, transform 1s ease; } .wdpal-muncul-kanan.active { transform: translateX(0); opacity: 1; } /* Rotate In */ .wdpal-rotate-in { transform: rotate(-180deg); opacity: 0; transition: transform 1s ease-out, opacity 1s ease-out; } .wdpal-rotate-in.active { transform: rotate(0deg); opacity: 1; } /* Flip X */ .wdpal-flip-x { transform: rotateX(90deg); opacity: 0; transition: transform 1s ease, opacity 1s ease; } .wdpal-flip-x.active { transform: rotateX(0deg); opacity: 1; } /* Flip Y */ .wdpal-flip-y { transform: rotateY(90deg); opacity: 0; transition: transform 1s ease, opacity 1s ease; } .wdpal-flip-y.active { transform: rotateY(0deg); opacity: 1; } /* Zoom In */ .wdpal-zoom-in { transform: scale(0.5); opacity: 0; transition: transform 1s ease, opacity 1s ease; } .wdpal-zoom-in.active { transform: scale(1); opacity: 1; } /* Zoom Out */ .wdpal-zoom-out { transform: scale(1.5); opacity: 0; transition: transform 1s ease, opacity 1s ease; } .wdpal-zoom-out.active { transform: scale(1); opacity: 1; }
//* script show-hide by andy dari weddingpress *// document.addEventListener("DOMContentLoaded", function () { var btnAmplop = document.getElementById("btnAmplop"); var btnHide = document.getElementById("btn-hide"); var amplop = document.getElementById("amplop"); // Sembunyikan btn-hide dan amplop saat halaman dimuat btnHide.style.display = "none"; amplop.style.display = "none"; // Fungsi untuk menampilkan btn-hide dan amplop saat btnAmplop diklik btnAmplop.onclick = function () { // Menampilkan btn-hide btnHide.style.display = "block"; // Menyembunyikan btnAmplop btnAmplop.style.display = "none"; // Menampilkan section amplop amplop.style.display = "block"; }; // Fungsi untuk menampilkan btnAmplop kembali dan menyembunyikan btn-hide saat btn-hide diklik btnHide.onclick = function () { // Menyembunyikan btn-hide btnHide.style.display = "none"; // Menampilkan btnAmplop kembali btnAmplop.style.display = "block"; // Menyembunyikan section amplop amplop.style.display = "none"; }; });

Dankers Luxury 02

Ahni & Dhani

Join on Our Big Day

08 MEI 2025

Sleman - Yogyakarta

The Wedding Of
Ahni & Dhani
Kepada YTh Bpk/Ibu/Saudara/i
Tamu Undangan
Tanpa Mengurangi Rasa Hormat, Kami Mengundang Anda Untuk Hadir Di Acara Pernikahan Kami.
Mohon maaf apabila ada kesalahan penulisan nama/gelar

- PROMISE -

Maha Suci Allah yang telah menciptakan manusia dengan berpasang-pasangan. Dengan memohon Rahmat dan Ridho Allah SWT, kami bermaksud mengundang Saudara/i dalam acara resepsi pernikahan kami

ARE GETTING MARRIED

- GROOM AND BRIDE -

- Ahni Hermawati -

Putri Dari :

Bapak Jaka Dias & Ibu Agustina

Jl. Majapahit 43, Sleman, Yogyakarta

- Dhani Ramdhani -

Putra Dari :

Bapak Bambang & Ibu Sri Setiana

Jl. Kedondong 15C, Sleman, Yogyakarta

We are going to

Celebrate Our Love

CEREMONY & PARTY

- THE WEDDING EVENT -

DON'T MISS IT

Days
Hours
Minutes
Seconds

Akad Nikah

Kamis, 08 Mei 2025
08:00 WIB – Selesai

Masjid Kampus UGM
Jl. Prof. DR. Drs Notonagoro, Kec. Depok, Kabupaten Sleman, Yogyakarta

Resepsi

Kamis, 08 Mei 2025
12:00 WIB – Selesai

Rumah Bapak Bambang
Gowongan, Jetis, Yogyakarta City, Special Region of Yogyakarta

Elyn & Deni

- OUR LOVE STORY -

  • First Meet

Luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante.

First Meet
Proposal
  • Proposal

Luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante.

  • Engagement

Luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante.

Engagement

Elyn & Deni

- OUR GALLERY -

Elyn & Deni

- WEDDING GIFT -

Doa Restu Anda merupakan karunia yang sangat berarti bagi kami. Dan jika memberi adalah ungkapan tanda kasih Anda, Anda dapat memberi kado secara cashless.

Elyn & Deni

- WISH US -

*Kepada tamu undangan diharapkan untuk mengisi  form kehadiran di bawah ini

Merupakan suatu kebahagiaan dan kehormatan bagi kami, apabila Bapak/Ibu/Saudara/i, berkenan hadir dan memberikan do’a restu kepada Kami.

See You on Our Big Day

Ahni & Dhani

The Wedding Of Igo & Indah

The Wedding Of Igo & Indah

"Dan di antara ayat-ayat-Nya ialah Dia menciptakan untukmu istri-istri dari jenismu sendiri, supaya kamu merasa nyaman kepadanya, dan dijadikan-Nya di antaramu mawadah dan rahmah. Sesungguhnya pada yang demikian itu benar-benar terdapat tanda-tanda bagi kaum yang berpikir"

- AR-RUM 21 -
The Wedding Of
Igo & Indah
Kepada Bapak/Ibu/Saudara/i
Tamu Undangan
Tanpa Mengurangi Rasa Hormat, Kami Mengundang Anda Untuk Hadir Di Acara Pernikahan Kami.
Mohon maaf apabila ada kesalahan penulisan nama/gelar
Assalamu'alaikum
Warahmatullahi Wabarakatuh


Maha suci Allah SWT yang telah menciptakan makhluk-NYA berpasang-pasangan. Ya Allah perkenankan kami merangkaikan kasih sayang yang kau ciptakan diantara putra-putri kami.

Igo Yunatan

Putra Dari Keluarga
Bapak Wasis
& Ibu Siani

Indah Anggraini

Putri Dari Keluarga
Bapak Imam Rusdi
& Ibu Tri Hartati

Waktu Menuju Acara

Hari
Jam
Menit
Detik
Dengan memohon rahmat dan ridho Allah Subhanahu Wa Ta'ala, Kami mengundang Bapak/Ibu/Saudara/i, untuk menghadiri Resepsi Pernikahan kami. yang Insya Allah akan dilaksanakan pada :

Resepsi

Wedding Gallery

Beri ucapan dan doa

Kirim Hadiah

Jika memberi adalah ungkapan tanda kasih Anda, Anda dapat memberi kado secara cashless.
bank-bca-1-1.png.webp
Silahkan transfer ke rekening
a.n Igo Yunatan
rumah.png
Kirim kado fisik ke alamat berikut
Dsn. Bedali rt. 29 rw. 09 Kel. Bedalisoso, Kec. Wagir, Kabupaten Malang, Jawa Timur 65158
Salin Alamat
Tiada Yang Dapat Kami Ungkapkan Selain Rasa Terimakasih Dari Hati Yang Tulus Apabila Bapak/ Ibu/ Saudara/i Berkenan Hadir Untuk Memberikan Do’a Restu Kepada Kami

Wassalamu'alaikum
Warahmatullahi Wabarakatuh


Kami yang berbahagia

Igo & Indah

Semoga pernikahannya Barokah dan menjadi keluarga yang Sakinah, Mawaddah, Warrahmah.

Aamiin

Created By :
Klik Logo untuk info
The Wedding Of Ria & Da’i

The Wedding Of Ria & Da’i

Assalamu' alaikum Warahmatullahi Wabarakatuh

Maha suci Allah SWT yang telah menciptakan makhluk-NYA berpasang-pasangan. Ya Allah perkenankan kami merangkaikan kasih sayang yang kau ciptakan diantara putra-putri kami.
j,gj,gj,cbf
The Wedding Of
Ria & Da'i
Kepada Bpk/Ibu/Saudara/i
Tamu Undangan
Tanpa Mengurangi Rasa Hormat, Kami Mengundang Anda Untuk Hadir Di Acara Pernikahan Kami.
Mohon maaf apabila ada kesalahan penulisan nama/gelar

Neilia Fitria

Putri Keempat Dari Keluarga
Bpk. Asmuri Wafa
& Ibu Juariah

M Da'i Arif

Putra Pertama Dari Keluarga
Bpk. Suryadi
&Ibu Istiqomah

Waktu Menuju Acara

Hari
Jam
Menit
Detik
Dengan memohon rahmat dan ridho Allah Subhanahu Wa Ta'ala, Kami mengundang Bapak/Ibu/Saudara/i, untuk menghadiri Resepsi Pernikahan kami.
Yang Insya Allah akan dilaksanakan pada :

Akad Nikah

Resepsi Nikah

Wedding Gallery

Love Story

  • 2020

Berawal dengan dipertemukan oleh takdir di penjara suci ponpes, hingga sama sama meyaqinkan satu sama lain lalu berusaha mempertahankan dengan segala problem yg terjadi, sehingga memantapkan diri untuk bersama sama meminta ridho dari abu ruh dan abu jasad

  • Agustus 2025

Dengan hubungan yang semakin dekat, kami memutuskan mengikat hubungan ini kejenjang yang lebih lanjut yaitu Bertunangan & Lamaran

  • November 2025

Dan saat ini kami memutuskan untuk melanjutkan kejenjang yang lebih lanjut, lebih serius dengan meminta restu keluarga, saudara, & teman untuk menikah di tahun ini

Beri ucapan dan doa

"Dan di antara ayat-ayat-Nya ialah Dia menciptakan untukmu pasangan dari jenismu sendiri, supaya kamu merasa nyaman kepadanya, dan dijadikan-Nya di antaramu rasa kasih dan sayang. Sesungguhnya pada yang demikian itu benar-benar terdapat tanda-tanda kebesaran-Nya bagi kaum yang berpikir"

- AR-RUM 21 -

Kirim Hadiah

Jika memberi adalah ungkapan tanda kasih Anda, Anda dapat memberi kado secara cashless.
bank-bri.png
Silahkan transfer ke rekening
a.n Neilia Fitria
3394 0105 8748 533
Salin No. Rekening
rumah.png
Kirim kado fisik ke alamat berikut
RK.01 POJOK TUGU KB TIYUH TOTO KATON SP.4B KEC.BATU PUTIH KAB.TULANG BAWANG BARAT, Lampung 34683
Salin Alamat
Merupakan suatu kehormatan dan kebahagiaan bagi kami, apabilaBapak/Ibu/Saudara/i berkenan hadir untuk mmberikan doa restu kepada kami.

Atas perhatian dan kehadirannya, kami mengucapkan banyak terima kasih.

Wassalamu’alaikum Wr. Wb.

Kami yang berbahagia,

Ria & Da'i

Semoga pernikahannya Barokah dan menjadi keluarga yang Sakinah, Mawaddah, Warrahmah.
Aamiin

Wedding Invitation
Created By:
Klik Logo untuk info
The Wedding Of Amy & Bella

The Wedding Of Amy & Bella

11.31 (2)
Amy & Bella
Kepada YTH Bapak/Ibu/Saudara/i
Tamu Undangan
Tanpa mengurangi rasa hormat, kami bermaksud mengundang Anda untuk menghadiri acara pernikahan kami.
The Wedding Febi & Fajar

The Wedding Febi & Fajar

The Wedding
Febi & Fajar
Kpd Bpk/Ibu/Saudara/i
Tamu Undangan
Mohon maaf apabila ada kesalahan penulisan nama/gelar

Febi & Fajar

Join on Our Big Day

Minggu, 30 November 2025

Pondok Kubang, Bengkulu Tengah

- PROMISE -

Maha Suci Allah yang telah menciptakan manusia dengan berpasang-pasangan. Dengan memohon Rahmat dan Ridho Allah SWT, kami bermaksud mengundang Saudara/i dalam acara resepsi pernikahan kami.

 

(QS Ar-Rum : 21)

ARE GETTING MARRIED

- F & F -

- Febi Agustin Saputri -

Putri Pertama Dari :

Bapak Nawari & Ibu Sri Yanti

- & -

- Fajar Wanto -

Putra Bungsu Dari :

Bapak Aspawi M (Alm) & Ibu Aswaina

We are going to

Celebrate Our Love

CEREMONY & PARTY

- THE WEDDING EVENT -

DON'T MISS IT

Days
Hours
Minutes
Seconds

Akad Nikah

Sabtu, 29 November 2025
Pukul : 13:00 WIB 

Kediaman Mempelai Wanita

Desa Talang Tengah 1, Kec. Pondok Kubang, Kab. Bengkulu Tengah

Resepsi

Minggu, 30 November 2025
Pukul : 09:00 WIB s/d selesai

Kediaman Mempelai Wanita

Desa Talang Tengah 1, Kec. Pondok Kubang, Kab. Bengkulu Tengah

Febi & Fajar

- RSVP -

*Kepada tamu undangan diharapkan untuk mengisi  form kehadiran di bawah ini

- OUR GALLERY -

Veny & Benny

- WEDDING GIFT -

Doa Restu Anda merupakan karunia yang sangat berarti bagi kami. Dan jika memberi adalah ungkapan tanda kasih Anda, Anda dapat memberi kado secara cashless.

Dana logo
Transfer ke Rekening, a.n
FEBI AGUSTIN SAPUTRI
082211065402
Salin No Rekening
bank-bca.png
Transfer ke Rekening, a.n
FAJAR WANTO

Anda juga mengirimkan kado fisik ke alamat berikut

rumah-2.png.webp
Desa Talang Tengah 1, Kec. Pondok Kubang, Kab. Bengkulu Tengah
Penerima<br> FEBI AGUSTIN SAPUTRI
Salin Alamat

- WISH US -

placeholder.png
Egi Tia Safitri
Masya Allah, penantian panjang dan amat panjang mencintai secara diam² , namun berakhir dengan kesungguhan Selamat Jay & by, selamat Jay cinta sejati dan penantian bertahun² yg dikira cinta monyet berakhir di pelaminan juga 🎊🎉.. 🤲 sama ya✨🤝
placeholder.png
Wahyu
Anjayyy
placeholder.png
kasih cantikk
masyaallah tabarakallah beb akhir nya selamattt ya lancar selalu🤍
placeholder.png
kasih cantikk
masyaallah tabarakallah beb akhir nya selamattt ya lancar selalu🤍
placeholder.png
fifin imutt
happy wedding bii, masyaallahh akhirnyaa🤍

Merupakan suatu kebahagiaan dan kehormatan bagi kami, apabila Bapak/Ibu/Saudara/i, berkenan hadir dan memberikan do’a restu kepada Kami.

See You on Our Big Day

Febi & Fajar

Klik Logo Untuk pemesanan
Anisa – Helmy

Anisa – Helmy

You're invited to the wedding of

Nisa & Helmy

Senin, 22 Desember 2025

  • 00Hari
  • 00Jam
  • 00Menit
  • 00Detik

“Dan di antara tanda-tanda (kebesaran)-Nya ialah Dia menciptakan pasangan-pasangan untukmu dari jenismu sendiri, agar kamu cenderung dan merasa tenteram kepadanya, dan Dia menjadikan di antaramu rasa kasih dan sayang. Sungguh, pada yang demikian itu benar-benar terdapat tanda-tanda (kebesaran Allah) bagi kaum yang berpikir.”

{ QS. Ar-Rum : 21 }

Dengan Memohon Rahmat Dan Ridho Dari Allah SWT. Kami Bermaksud Menyelenggarakan Syukuran Pernikahan Kami

Anisa

Putri Ketiga Dari :
Bapak Tata & Ibu Junah

(Giriwaringin – Maleber)

&

M. Helmy Hendrian

Putra Kedua Dari :
Bapak Suhendra (Alm.) & Ibu Atiroh

(Tambora – Jakarta Barat)

Insya Allah Acara Akan Dilaksanakan Pada :

Akad Nikah

Resepsi

Di Kediaman Mempelai Wanita
Dusun 2 RT.03/RW.02, Desa Giriwaringin,  Kec. Maleber, Kab. Kuningan

Wedding Gift

Doa Restu Anda merupakan karunia yang sangat berarti bagi kami.
Dan jika memberi adalah ungkapan tanda kasih Anda, Anda dapat memberi kado secara cashless.

a.n Anisa
a.n Anisa

Anda Juga Bisa Mengirim Kado Fisik Ke Alamat Berikut

Dusun 2 RT.03/RW.02, Desa Giriwaringin,  Kec. Maleber, Kab. Kuningan
Salin Alamat

Tiada Yang Dapat Kami Ungkapkan Selain Rasa Terimakasih Dari Hati Yang Tulus Apabila Bapak/ Ibu/ Saudara/i Berkenan Hadir Untuk Memberikan Do’a Restu Kepada Kami

Wassalamu’alaikum Wr. Wb.

Kami Yang Berbahagia,

Nisa & Helmy

Berikan Ucapan Spesial Anda Disini :

Salinan dari Desain Tanpa Judul (1)
The Wedding Of
Anisa & Helmy
Senin, 22 Desember 2025
Kepada YTH Bapak/Ibu/Saudara/i
Tamu Undangan
Tanpa Mengurangi Rasa Hormat, Kami Mengundang Anda Untuk Hadir Di Acara Pernikahan Kami.
Mohon maaf apabila ada kesalahan penulisan nama/gelar

Semoga pernikahan Anda Barokah dan menjadi keluarga yang Sakinah, Mawaddah, Warrahmah.

Aamiin

Created By :

Klik Logo untuk info
The Wedding Of Mita & Alpin

The Wedding Of Mita & Alpin

Your Are Invited!

Please be a part of our happiest moment

The Wedding Of
Mita & Alpin
Kepada Yth, Bpk/Ibu Saudara/i
Tamu Undangan
We invited you to celebrate our wedding

The Wedding Of

Mita & Alpin

16.11.2025

Wedding Day

  • 00Hari
  • 00Jam
  • 00Menit
  • 00Detik

Ar-Rum:21

"Dan di antara ayat-ayat-Nya ialah Dia menciptakan untukmu istri-istri dari jenismu sendiri, supaya kamu merasa nyaman kepadanya, dan dijadikan-Nya di antaramu mawadah dan rahmah. Sesungguhnya pada yang demikian itu benar-benar terdapat tanda-tanda bagi kaum yang berpikir"

Wedding Couple

Maha Suci Allah Subhanahu wa Ta'ala yang telah menciptakan makhluk-Nya berpasang-pasangan.
Ya Allah, perkenankanlah dan Ridhoilah Pernikahan Kami.

The Bride

Mita mutiara

Putri Pertama dari
Bpk.Nemit sumitra & Ibu. Samih

Kp Cilandak Rt 01/05 Desa Muktijaya
Kec. Setu - Kab. Bekasi

The Groom

Alpin

Putra Pertama dari
Bpk. Syarip Hidayat & Ibu. Nuriah

Kp Mampir Barat, Desa Mampir
Kec. Cileungsi - Kab. Bogor

Wedding Story

Awal Bertemu

kami bukanlah 2 manusia asing yang baru bertemu baru-baru ini, karna kami adalah kakak dan adik kelas semasa sekolah menengah pertama dulu.

Menjalin Hubungan

Tanpa kami sadari hanya dari sebuah dm instagram untuk menanyakan kabar satu sama lain, akhirnya kami mengenal lebih dalam satu sama lain dan sepakat untuk menjalankankan komitmen.

Peertemuan 2 Keluarga

Setelah saling yakin selama hampir satu tahun, kami memutuskan untuk melangkah ke jenjang lebih serius dengan pertemuan 2 keluarga Pada tanggal 3 Oktober 2025.

Menikah

kini, dengan penuh rasa syukur, kami mengundang anda untuk menjadi saksi janji suci kami dalam sebuah ikatan pernikahan. percayalah, bukan karna bertemu lalu berjodoh tapi karna berjodohlah maka kami di pertemukan. Sebagaimana yang pernah dikatakan oleh sayyidiba Ali bin Abi thalib “ apa yang menjadi takdirmu akan menemukan jalannya”

Wedding Event

Akad Nikah

November

Minggu

0

2025

Pukul 08.00 WIB s.d Selesai

Kediaman Mempelai Wanita :
Kp Cilandak Rt 01/05 Desa Muktijaya
Kec. Setu - Kab. Bekasi

Acara Resepsi

November

Minggu

0

2025

Pukul 10.00 WIB s.d Selesai

Kediaman Mempelai Wanita :
Kp Cilandak Rt 01/05 Desa Muktijaya
Kec. Setu - Kab. Bekasi

Wedding Gift

Kehadiran Anda merupakan sebuah do'a serta rasa syukur bagi kami, namun jika memberi adalah bentuk Do'a & cinta kasih bagi Anda, Anda dapat memberi kado secara cashless dan kami akan senang hati menerimanya dan tentu semakin melengkapi kebahagiaan kami.

BNI

1746502915

Mita Mutiara

BCA Syariah

0440001782

Alpin

Beri Doa & Ucapan Terbaikmu

Tuliskan harapan dan doa terbaik Anda untuk kedua mempelai melalui kolom berikut:

Hope to see you soon, Stay safe and healthy!

Terima Kasih

Atas Kehadiran & Doa Restunya

Merupakan suatu kehormatan dan kebahagiaan bagi kami sekeluarga apabila Bapak/Ibu/Saudara/i berkenan hadir untuk memberikan doa restu kepada kedua mempelai. Atas kehadiran serta doa restu, kami ucapkan terima kasih.

Sampai Jumpa di Hari Bahagia Kami,

Mita & Alpin

Pengisi Acara :

(Hijrah gambus)

Created By : Percetakan PASKOM

Klik Logo Untuk Info

Mutiara & Nana

Mutiara & Nana

cover seat03
Mutiara & Nana
Senin, 24 November 2025
Bapak/Ibu/Saudara/i
Tamu Undangan
Tanpa mengurangi rasa hormat, kami bermaksud mengundang Anda untuk menghadiri acara pernikahan kami.
lukman dan ajeng 3

lukman dan ajeng 3

The Wedding of

Lukman & Ajeng

Sabtu, 3 Januari 2026

Kepada yth: Bpk/Ibu/Saudara/i

Tamu Undangan

*) Mohon maaf apabila ada kesalahan penulisan nama/gelar

" Dan di antara tanda-tanda kekuasaan-Nya diciptakan-Nya untukmu pasangan hidup dari jenismu sendiri supaya kamu dapat ketenangan hati dan dijadikannya kasih sayang di antara kamu. Sesungguhnya yang demikian menjadi tanda-tanda kebesaran-Nya bagi orang-orang yang berpikir".

Q.S. Ar-Rum: 21

Tanpa mengurangi rasa hormat, perkenankan kami mengundang Bapak/Ibu/Saudara/i Tamu Undangan serta kerabat sekalian, untuk menghadiri acara pernikahan kami:

Candra Lukman Ma’arif

Putra Pertama dari Keluarga
Bapak Chariri & Ibu Siti Arifah

Ajeng Ayu Manggali S.Pd.

Putri Kedua dari Keluarga
Bapak Kariyono & Ibu Rahmawati

Wedding Event

Bergabunglah bersama Kami menyaksikan sekaligus merayakan terbentuknya ikatan suci ini. Kami ingin Anda menjadi bagian dari hari istimewa kami.

yang Insya Allah akan dilaksanakan pada :

Sabtu, 3 Januari 2026
  • 00Hari
  • 00Jam
  • 00Menit
  • 00Detik

Akad Nikah

Sabtu, 3 Januari 2026

Pukul 06:00 WIB

Masjid Nurul Iman Desa Kenanti

Acara Resepsi

Sabtu, 3 Januari 2026

Pukul 13:00 WIB s.d Selesai

Gedung OKE Tambakboyo

Perjalanan

Cinta Kami

“Tak ada yang kebetulan dalam hidup ini. Setiap pertemuan sudah digariskan oleh Tuhan dengan cara dan waktu yang paling indah. Kadang tak disangka, seseorang yang dulu hanya lewat, kini menjadi bagian terpenting dalam hidup kita.”

AWAL PERTEMUAN

Tidak ada yang kebetulan di dunia ini. Semua sudah tersusun dengan sangat rapi oleh sang Maha Kuasa. Kita tidak bisa memilih kepada siapa kita akan jatuh cinta. Kami bertemu tanpa sengaja pada tahun 2020.

PROSES PENDEKATAN

Katanya cinta dapat tumbuh dengan kebersamaan. Seiring berjalannya waktu, kami semakin dekat dan memutuskan menjalin hubungan lebih dari sekedar pertemanan.

ACARA LAMARAN

Kehendaknya menuntun kami pada sebuah pertemuan yang tak pernah disangka, hingga akhirnya pada 19 April 2025 membawa kami pada sebuah ikatan yang di Rindhoi-Nya.

PERNIKAHAN

Bukan karena bertemu lalu berjodoh, tapi karena berjodoh lah kami bisa bertemu. Kami memutuskan untuk mengikrarkan janji suci pernikahan pada tanggal 3 Januari 2026. Sebagaimana yang pernah dikatakan oleh Ali Bin Abu Tholib: "Apa yang menjadi takdirmu akan menemukan jalannya untuk menemukan mu".

Our Moment

Wedding Gallery

Beri Doa & Ucapan Terbaikmu

Untuk Kedua Mempelai

Tinggalkan kami doa terbaik anda untuk momen bahagia kami

Hope to see you soon, Stay safe and healthy!

Hadiah

Pernikahan

Kehadiran Bapak/Ibu/Saudara/i Tamu Undangan merupakan sebuah do'a serta rasa syukur bagi kami, namun jika memberi adalah bentuk Do'a & cinta kasih bagi Anda, Anda dapat memberi kado secara cashless dan kami akan senang hati menerimanya dan tentu semakin melengkapi kebahagiaan kami.

Kirim Kado:

BRI

060801000714566

a.n CANDRA LUKMAN MA'ARIF

Salin

BRI

657401014180538

AJENG AYU MANGGALI

Salin

TERIMA KASIH

Atas Kehadiran & Doa Restunya

Merupakan suatu kehormatan dan kebahagiaan bagi kami sekeluarga apabila Bapak/Ibu/Saudara/i Tamu Undangan berkenan hadir untuk memberikan doa restu kepada kedua mempelai. Atas kehadiran serta doa restu, kami ucapkan terima kasih.

Sampai Jumpa di Hari Bahagia Kami,

Lukman & Ajeng

Keluarga Besar

Mempelai Pria

Bapak Chariri & Ibu Siti Arifah

Keluarga Besar

Mempelai Wanita

Bapak Kariyono & Ibu Rahmawati

/* ====== WDP: Lock Cover + Audio (All-in-One, no ESC) ====== */ (() => { // Inject CSS langsung via JS const css = ` body.scroll-lock { position: fixed; inset: 0; width: 100%; overflow: hidden; top: var(--lock-top, 0); } #section-cover.cover-full { width: 100vw; } #tombol-buka[hidden] { display: none !important; } `; const styleEl = document.createElement('style'); styleEl.id = 'wdp-lock-css'; styleEl.appendChild(document.createTextNode(css)); document.head.appendChild(styleEl); // Scroll ke atas saat load & matikan auto restore browser if ('scrollRestoration' in history) history.scrollRestoration = 'manual'; window.addEventListener('load', () => { window.scrollTo(0, 0); }); let isSectionLocked = true; let savedScrollY = 0; window.addEventListener('DOMContentLoaded', () => { const cover = document.getElementById('section-cover'); const btnOpen = document.getElementById('tombol-buka'); const songEl = document.getElementById('song'); // opsional if (!btnOpen) { console.warn('[lock] #tombol-buka tidak ditemukan'); return; } // Lock saat awal lockSection(cover); // Klik buka btnOpen.addEventListener('click', async () => { await unlockSection(cover, btnOpen, songEl); }, { once: true }); }); function lockSection(cover) { savedScrollY = window.scrollY || document.documentElement.scrollTop || 0; document.body.style.setProperty('--lock-top', `-${savedScrollY}px`); document.body.classList.add('scroll-lock'); if (cover) cover.classList.add('cover-full'); isSectionLocked = true; } async function unlockSection(cover, btnOpen, songEl) { document.body.classList.remove('scroll-lock'); document.body.style.removeProperty('--lock-top'); window.scrollTo(0, savedScrollY); if (cover) cover.classList.remove('cover-full'); if (btnOpen) btnOpen.hidden = true; isSectionLocked = false; await playAudioSafe(songEl); } async function playAudioSafe(songEl) { // HTML
/* =========================== ATURAN UMUM =========================== */ .wdpal-fade-in, .wdpal-muncul-atas, .wdpal-muncul-bawah, .wdpal-muncul-kiri, .wdpal-muncul-kanan, .wdpal-rotate-in, .wdpal-flip-x, .wdpal-flip-y, .wdpal-zoom-in, .wdpal-zoom-out { opacity: 0; transition-property: transform, opacity; transition-timing-function: ease; position: relative; z-index: 1; } .wdpal-fade-in.active, .wdpal-muncul-atas.active, .wdpal-muncul-bawah.active, .wdpal-muncul-kiri.active, .wdpal-muncul-kanan.active, .wdpal-rotate-in.active, .wdpal-flip-x.active, .wdpal-flip-y.active, .wdpal-zoom-in.active, .wdpal-zoom-out.active { opacity: 1; } /* =========================== DURASI ANIMASI =========================== */ .wdpal-fade-in, .wdpal-muncul-atas, .wdpal-muncul-bawah, .wdpal-muncul-kiri, .wdpal-muncul-kanan, .wdpal-rotate-in, .wdpal-flip-x, .wdpal-flip-y, .wdpal-zoom-in, .wdpal-zoom-out { transition-duration: 1.25s; /* Default: Smooth */ } .very-slow { transition-duration: 3s; } .slow { transition-duration: 2s; } .fast { transition-duration: 0.75s; } .very-fast { transition-duration: 0.3s; } /* =========================== EFEK FADE IN =========================== */ .wdpal-fade-in { transition-delay: 0.2s; } /* =========================== EFEK MUNCUL ATAS =========================== */ .wdpal-muncul-atas { transform: translateY(50px); opacity: 0; transition-delay: 0.3s; } .wdpal-muncul-atas.active { transform: translateY(0); opacity: 1; } /* =========================== EFEK MUNCUL BAWAH =========================== */ .wdpal-muncul-bawah { transform: translateY(-50px); opacity: 0; transition-delay: 0.3s; } .wdpal-muncul-bawah.active { transform: translateY(0); opacity: 1; } /* =========================== EFEK MUNCUL KIRI =========================== */ .wdpal-muncul-kiri { transform: translateX(-50px) scale(0.95); opacity: 0; transition-delay: 0.4s; } .wdpal-muncul-kiri.active { transform: translateX(0); opacity: 1; } /* =========================== EFEK MUNCUL KANAN =========================== */ .wdpal-muncul-kanan { transform: translateX(50px) scale(0.95); opacity: 0; transition-delay: 0.5s; } .wdpal-muncul-kanan.active { transform: translateX(0); opacity: 1; } /* =========================== EFEK ROTATE IN =========================== */ .wdpal-rotate-in { transform: rotate(-180deg); opacity: 0; transition-delay: 0.5s; } .wdpal-rotate-in.active { transform: rotate(0deg); opacity: 1; } /* =========================== EFEK FLIP X =========================== */ .wdpal-flip-x { transform: rotateX(90deg); transform-style: preserve-3d; backface-visibility: hidden; visibility: hidden; pointer-events: none; transition-delay: 0.6s; } .wdpal-flip-x.active { transform: rotateX(0deg); visibility: visible; pointer-events: auto; } /* =========================== EFEK FLIP Y =========================== */ .wdpal-flip-y { transform: rotateY(90deg); transform-style: preserve-3d; backface-visibility: hidden; visibility: hidden; pointer-events: none; transition-delay: 0.6s; } .wdpal-flip-y.active { transform: rotateY(0deg); visibility: visible; pointer-events: auto; } /* =========================== EFEK ZOOM IN =========================== */ .wdpal-zoom-in { transform: scale(0.7); opacity: 0; transition-delay: 0.2s; } .wdpal-zoom-in.active { transform: scale(1); opacity: 1; } /* =========================== EFEK ZOOM OUT =========================== */ .wdpal-zoom-out { transform: scale(1.3); opacity: 0; transition-delay: 0.2s; } .wdpal-zoom-out.active { transform: scale(1); opacity: 1; } (function () { // Fungsi utama untuk mengaktifkan animasi function revealElements(selector) { const elements = document.querySelectorAll(selector); const windowHeight = window.innerHeight; const elementVisible = 150; elements.forEach(function(element) { const elementTop = element.getBoundingClientRect().top; if (elementTop { entries.forEach((entry) => { if (entry.isIntersecting) { entry.target.classList.add("active"); } else { entry.target.classList.remove("active"); } }); }; const observer = new IntersectionObserver(observerCallback, observerOptions); // Panggil fungsi revealElements untuk semua efek animasi document.addEventListener("DOMContentLoaded", () => { const selector = ".wdpal-fade-in, .wdpal-muncul-atas, .wdpal-muncul-bawah, .wdpal-muncul-kiri, .wdpal-muncul-kanan, .wdpal-rotate-in, .wdpal-flip-x, .wdpal-flip-y, .wdpal-zoom-in, .wdpal-zoom-out"; // Mengamati elemen dengan Intersection Observer const elements = document.querySelectorAll(selector); elements.forEach((element) => { observer.observe(element); }); // Panggil fungsi revealElements untuk menambahkan kelas active pada elemen yang sudah terlihat revealElements(selector); }); // Tambahkan event listener untuk scroll window.addEventListener("scroll", () => { revealElements(".wdpal-fade-in, .wdpal-muncul-atas, .wdpal-muncul-bawah, .wdpal-muncul-kiri, .wdpal-muncul-kanan, .wdpal-rotate-in, .wdpal-flip-x, .wdpal-flip-y, .wdpal-zoom-in, .wdpal-zoom-out"); }); })();
//* script show-hide by andy dari weddingpress — refactor *// document.addEventListener("DOMContentLoaded", () => { const btnAmplop = document.getElementById("btnAmplop"); const btnHide = document.getElementById("btn-hide"); const amplop = document.getElementById("amplop"); // Guard jika ada elemen yang tidak ditemukan if (!btnAmplop || !btnHide || !amplop) { console.warn("[show-hide] Elemen tidak lengkap: pastikan #btnAmplop, #btn-hide, dan #amplop ada."); return; } // Initial state btnHide.hidden = true; amplop.hidden = true; // ARIA untuk aksesibilitas btnAmplop.setAttribute("aria-controls", "amplop"); btnAmplop.setAttribute("aria-expanded", "false"); btnHide.setAttribute("aria-controls", "amplop"); btnHide.setAttribute("aria-expanded", "false"); const showAmplop = () => { btnHide.hidden = false; btnAmplop.hidden = true; amplop.hidden = false; btnAmplop.setAttribute("aria-expanded", "true"); btnHide.setAttribute("aria-expanded", "true"); // Optional: fokuskan ke konten/section saat dibuka // amplop.focus(); }; const hideAmplop = () => { btnHide.hidden = true; btnAmplop.hidden = false; amplop.hidden = true; btnAmplop.setAttribute("aria-expanded", "false"); btnHide.setAttribute("aria-expanded", "false"); // Kembalikan fokus ke pemicu agar navigasi keyboard enak btnAmplop.focus(); }; btnAmplop.addEventListener("click", showAmplop); btnHide.addEventListener("click", hideAmplop); // Tutup dengan tombol Escape saat amplop terbuka document.addEventListener("keydown", (e) => { if (e.key === "Escape" && !amplop.hidden) { hideAmplop(); } }); });
/*! WeddingPress Custom Nama Tamu (WDPCNT) ============================================ Description: WeddingPress Custom Nama Tamu (WDPCNT) adalah script JavaScript yang digunakan untuk mengganti teks "Tamu Undangan" pada elemen dengan class `namatamu` berdasarkan parameter yang ada di URL. Script ini mendukung beberapa parameter seperti `to`, `dear`, dan `kepada` untuk menyesuaikan nama penerima undangan. Author: Andy dari WeddingPress Website: https://weddingpress.net Version: 1.1 (2025/03/01) License: Anda diizinkan menggunakan script ini pada website Anda dan proyek klien. Tidak diperbolehkan menjual, membagikan, menempatkan codenya ditemplate yang dijual atau mendistribusikan ulang tanpa izin. Copyright: © 2025 WeddingPress. All rights reserved. Note: Pastikan untuk teks 'Tamu Undangan' css classesnya sudah terisi: 'namatamu' */ (function () { 'use strict'; // ================================================================= // KONFIGURASI ⚙️ // ================================================================= const config = { selector: '.namatamu', urlParams: ['to', 'dear', 'kepada'], defaultText: 'Tamu Undangan' }; // ================================================================= /** * Mengambil nama tamu dari URL. * Dibuat tetap simpel untuk keamanan & keandalan, karena URLSearchParams * sudah menangani semua decoding (+, %20, dll) sesuai standar. */ function getRecipientName(params, keys) { for (const key of keys) { const value = params.get(key); if (value && value.trim()) { return value.trim(); } } return ''; } /** * "Membersihkan" string agar aman digunakan di dalam Regular Expression. * Mencegah error jika placeholder berisi karakter spesial Regex. */ function escapeRegExp(string) { return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string } /** * Fungsi rekursif untuk mencari dan mengganti konten teks * tanpa merusak elemen HTML di sekitarnya. */ function replaceTextInNode(node, searchValue, replaceValue) { if (node.nodeType === 1 || node.nodeType === 11) { // Element or Document Fragment node.childNodes.forEach(child => { if (child.nodeType === 3) { // Text node // Gunakan escapeRegExp untuk memastikan searchValue aman. const safeSearchValue = escapeRegExp(searchValue); const regex = new RegExp(safeSearchValue, 'gi'); child.textContent = child.textContent.replace(regex, replaceValue); } else { replaceTextInNode(child, searchValue, replaceValue); } }); } } window.addEventListener('DOMContentLoaded', () => { const params = new URLSearchParams(window.location.search); const recipient = getRecipientName(params, config.urlParams); const targets = document.querySelectorAll(config.selector); if (targets.length === 0) { console.warn(`WDPCNT: Tidak ditemukan elemen dengan selector '${config.selector}'.`); return; } targets.forEach(element => { if (recipient) { replaceTextInNode(element, config.defaultText, recipient); } else { if (!element.textContent.trim()) { element.textContent = config.defaultText; } } }); }); })();
.wdp-bugoy-zoom { animation-name: wdp-bugoy-zoom; animation-duration: 1.75s; transform-origin: center center; animation-iteration-count: infinite; animation-timing-function: ease-in-out; animation-direction: alternate; } @keyframes wdp-bugoy-zoom { 0%, 100% { transform: translate(0px, 0px) rotate(0deg) scale(1); } 50% { transform: translate(0px, 0px) rotate(0deg) scale(1.1); } } .wdp-bugoy-01 { animation-name: wdp-bugoy-01; animation-duration: 1.2s; transform-origin: center center; animation-iteration-count: infinite; animation-timing-function: ease-in-out; animation-direction: alternate; } @keyframes wdp-bugoy-01 { 0%, 4.17% { transform: translate(0px, 0px) rotate(0deg) scale(1); } 100% { transform: translate(0px, 15px) rotate(-10deg) scale(1.05); } } .wdp-bugoy-02-kanan { animation-name: wdp-bugoy-02-kanan; animation-duration: 1.4s; transform-origin: left bottom; animation-iteration-count: infinite; animation-timing-function: ease-in-out; animation-direction: alternate; } @keyframes wdp-bugoy-02-kanan { 0%, 0.00% { transform: translate(0px, 0px) rotate(0deg) scale(1); } 100% { transform: translate(0px, 15px) rotate(15deg) scale(1); } } .wdp-bugoy-02-kiri { animation-name: wdp-bugoy-02-kiri; animation-duration: 1.4s; transform-origin: right bottom; animation-iteration-count: infinite; animation-timing-function: ease-in-out; animation-direction: alternate; } @keyframes wdp-bugoy-02-kiri { 0%, 0.00% { transform: translate(0px, 0px) rotate(0deg) scale(1); } 100% { transform: translate(0px, 15px) rotate(-15deg) scale(1); } }
/* ====== WDP: Lock Cover + Audio (All-in-One, no ESC) ====== */ (() => { // Inject CSS langsung via JS const css = ` body.scroll-lock { position: fixed; inset: 0; width: 100%; overflow: hidden; top: var(--lock-top, 0); } #section-cover.cover-full { width: 100vw; } #tombol-buka[hidden] { display: none !important; } `; const styleEl = document.createElement('style'); styleEl.id = 'wdp-lock-css'; styleEl.appendChild(document.createTextNode(css)); document.head.appendChild(styleEl); // Scroll ke atas saat load & matikan auto restore browser if ('scrollRestoration' in history) history.scrollRestoration = 'manual'; window.addEventListener('load', () => { window.scrollTo(0, 0); }); let isSectionLocked = true; let savedScrollY = 0; window.addEventListener('DOMContentLoaded', () => { const cover = document.getElementById('section-cover'); const btnOpen = document.getElementById('tombol-buka'); const songEl = document.getElementById('song'); // opsional if (!btnOpen) { console.warn('[lock] #tombol-buka tidak ditemukan'); return; } // Lock saat awal lockSection(cover); // Klik buka btnOpen.addEventListener('click', async () => { await unlockSection(cover, btnOpen, songEl); }, { once: true }); }); function lockSection(cover) { savedScrollY = window.scrollY || document.documentElement.scrollTop || 0; document.body.style.setProperty('--lock-top', `-${savedScrollY}px`); document.body.classList.add('scroll-lock'); if (cover) cover.classList.add('cover-full'); isSectionLocked = true; } async function unlockSection(cover, btnOpen, songEl) { document.body.classList.remove('scroll-lock'); document.body.style.removeProperty('--lock-top'); window.scrollTo(0, savedScrollY); if (cover) cover.classList.remove('cover-full'); if (btnOpen) btnOpen.hidden = true; isSectionLocked = false; await playAudioSafe(songEl); } async function playAudioSafe(songEl) { // HTML
/* =========================== ATURAN UMUM =========================== */ .wdpal-fade-in, .wdpal-muncul-atas, .wdpal-muncul-bawah, .wdpal-muncul-kiri, .wdpal-muncul-kanan, .wdpal-rotate-in, .wdpal-flip-x, .wdpal-flip-y, .wdpal-zoom-in, .wdpal-zoom-out { opacity: 0; transition-property: transform, opacity; transition-timing-function: ease; position: relative; z-index: 1; } .wdpal-fade-in.active, .wdpal-muncul-atas.active, .wdpal-muncul-bawah.active, .wdpal-muncul-kiri.active, .wdpal-muncul-kanan.active, .wdpal-rotate-in.active, .wdpal-flip-x.active, .wdpal-flip-y.active, .wdpal-zoom-in.active, .wdpal-zoom-out.active { opacity: 1; } /* =========================== DURASI ANIMASI =========================== */ .wdpal-fade-in, .wdpal-muncul-atas, .wdpal-muncul-bawah, .wdpal-muncul-kiri, .wdpal-muncul-kanan, .wdpal-rotate-in, .wdpal-flip-x, .wdpal-flip-y, .wdpal-zoom-in, .wdpal-zoom-out { transition-duration: 1.25s; /* Default: Smooth */ } .very-slow { transition-duration: 3s; } .slow { transition-duration: 2s; } .fast { transition-duration: 0.75s; } .very-fast { transition-duration: 0.3s; } /* =========================== EFEK FADE IN =========================== */ .wdpal-fade-in { transition-delay: 0.2s; } /* =========================== EFEK MUNCUL ATAS =========================== */ .wdpal-muncul-atas { transform: translateY(50px); opacity: 0; transition-delay: 0.3s; } .wdpal-muncul-atas.active { transform: translateY(0); opacity: 1; } /* =========================== EFEK MUNCUL BAWAH =========================== */ .wdpal-muncul-bawah { transform: translateY(-50px); opacity: 0; transition-delay: 0.3s; } .wdpal-muncul-bawah.active { transform: translateY(0); opacity: 1; } /* =========================== EFEK MUNCUL KIRI =========================== */ .wdpal-muncul-kiri { transform: translateX(-50px) scale(0.95); opacity: 0; transition-delay: 0.4s; } .wdpal-muncul-kiri.active { transform: translateX(0); opacity: 1; } /* =========================== EFEK MUNCUL KANAN =========================== */ .wdpal-muncul-kanan { transform: translateX(50px) scale(0.95); opacity: 0; transition-delay: 0.5s; } .wdpal-muncul-kanan.active { transform: translateX(0); opacity: 1; } /* =========================== EFEK ROTATE IN =========================== */ .wdpal-rotate-in { transform: rotate(-180deg); opacity: 0; transition-delay: 0.5s; } .wdpal-rotate-in.active { transform: rotate(0deg); opacity: 1; } /* =========================== EFEK FLIP X =========================== */ .wdpal-flip-x { transform: rotateX(90deg); transform-style: preserve-3d; backface-visibility: hidden; visibility: hidden; pointer-events: none; transition-delay: 0.6s; } .wdpal-flip-x.active { transform: rotateX(0deg); visibility: visible; pointer-events: auto; } /* =========================== EFEK FLIP Y =========================== */ .wdpal-flip-y { transform: rotateY(90deg); transform-style: preserve-3d; backface-visibility: hidden; visibility: hidden; pointer-events: none; transition-delay: 0.6s; } .wdpal-flip-y.active { transform: rotateY(0deg); visibility: visible; pointer-events: auto; } /* =========================== EFEK ZOOM IN =========================== */ .wdpal-zoom-in { transform: scale(0.7); opacity: 0; transition-delay: 0.2s; } .wdpal-zoom-in.active { transform: scale(1); opacity: 1; } /* =========================== EFEK ZOOM OUT =========================== */ .wdpal-zoom-out { transform: scale(1.3); opacity: 0; transition-delay: 0.2s; } .wdpal-zoom-out.active { transform: scale(1); opacity: 1; } (function () { // Fungsi utama untuk mengaktifkan animasi function revealElements(selector) { const elements = document.querySelectorAll(selector); const windowHeight = window.innerHeight; const elementVisible = 150; elements.forEach(function(element) { const elementTop = element.getBoundingClientRect().top; if (elementTop { entries.forEach((entry) => { if (entry.isIntersecting) { entry.target.classList.add("active"); } else { entry.target.classList.remove("active"); } }); }; const observer = new IntersectionObserver(observerCallback, observerOptions); // Panggil fungsi revealElements untuk semua efek animasi document.addEventListener("DOMContentLoaded", () => { const selector = ".wdpal-fade-in, .wdpal-muncul-atas, .wdpal-muncul-bawah, .wdpal-muncul-kiri, .wdpal-muncul-kanan, .wdpal-rotate-in, .wdpal-flip-x, .wdpal-flip-y, .wdpal-zoom-in, .wdpal-zoom-out"; // Mengamati elemen dengan Intersection Observer const elements = document.querySelectorAll(selector); elements.forEach((element) => { observer.observe(element); }); // Panggil fungsi revealElements untuk menambahkan kelas active pada elemen yang sudah terlihat revealElements(selector); }); // Tambahkan event listener untuk scroll window.addEventListener("scroll", () => { revealElements(".wdpal-fade-in, .wdpal-muncul-atas, .wdpal-muncul-bawah, .wdpal-muncul-kiri, .wdpal-muncul-kanan, .wdpal-rotate-in, .wdpal-flip-x, .wdpal-flip-y, .wdpal-zoom-in, .wdpal-zoom-out"); }); })();
//* script show-hide by andy dari weddingpress — refactor *// document.addEventListener("DOMContentLoaded", () => { const btnAmplop = document.getElementById("btnAmplop"); const btnHide = document.getElementById("btn-hide"); const amplop = document.getElementById("amplop"); // Guard jika ada elemen yang tidak ditemukan if (!btnAmplop || !btnHide || !amplop) { console.warn("[show-hide] Elemen tidak lengkap: pastikan #btnAmplop, #btn-hide, dan #amplop ada."); return; } // Initial state btnHide.hidden = true; amplop.hidden = true; // ARIA untuk aksesibilitas btnAmplop.setAttribute("aria-controls", "amplop"); btnAmplop.setAttribute("aria-expanded", "false"); btnHide.setAttribute("aria-controls", "amplop"); btnHide.setAttribute("aria-expanded", "false"); const showAmplop = () => { btnHide.hidden = false; btnAmplop.hidden = true; amplop.hidden = false; btnAmplop.setAttribute("aria-expanded", "true"); btnHide.setAttribute("aria-expanded", "true"); // Optional: fokuskan ke konten/section saat dibuka // amplop.focus(); }; const hideAmplop = () => { btnHide.hidden = true; btnAmplop.hidden = false; amplop.hidden = true; btnAmplop.setAttribute("aria-expanded", "false"); btnHide.setAttribute("aria-expanded", "false"); // Kembalikan fokus ke pemicu agar navigasi keyboard enak btnAmplop.focus(); }; btnAmplop.addEventListener("click", showAmplop); btnHide.addEventListener("click", hideAmplop); // Tutup dengan tombol Escape saat amplop terbuka document.addEventListener("keydown", (e) => { if (e.key === "Escape" && !amplop.hidden) { hideAmplop(); } }); });
/*! WeddingPress Custom Nama Tamu (WDPCNT) ============================================ Description: WeddingPress Custom Nama Tamu (WDPCNT) adalah script JavaScript yang digunakan untuk mengganti teks "Tamu Undangan" pada elemen dengan class `namatamu` berdasarkan parameter yang ada di URL. Script ini mendukung beberapa parameter seperti `to`, `dear`, dan `kepada` untuk menyesuaikan nama penerima undangan. Author: Andy dari WeddingPress Website: https://weddingpress.net Version: 1.1 (2025/03/01) License: Anda diizinkan menggunakan script ini pada website Anda dan proyek klien. Tidak diperbolehkan menjual, membagikan, menempatkan codenya ditemplate yang dijual atau mendistribusikan ulang tanpa izin. Copyright: © 2025 WeddingPress. All rights reserved. Note: Pastikan untuk teks 'Tamu Undangan' css classesnya sudah terisi: 'namatamu' */ (function () { 'use strict'; // ================================================================= // KONFIGURASI ⚙️ // ================================================================= const config = { selector: '.namatamu', urlParams: ['to', 'dear', 'kepada'], defaultText: 'Tamu Undangan' }; // ================================================================= /** * Mengambil nama tamu dari URL. * Dibuat tetap simpel untuk keamanan & keandalan, karena URLSearchParams * sudah menangani semua decoding (+, %20, dll) sesuai standar. */ function getRecipientName(params, keys) { for (const key of keys) { const value = params.get(key); if (value && value.trim()) { return value.trim(); } } return ''; } /** * "Membersihkan" string agar aman digunakan di dalam Regular Expression. * Mencegah error jika placeholder berisi karakter spesial Regex. */ function escapeRegExp(string) { return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string } /** * Fungsi rekursif untuk mencari dan mengganti konten teks * tanpa merusak elemen HTML di sekitarnya. */ function replaceTextInNode(node, searchValue, replaceValue) { if (node.nodeType === 1 || node.nodeType === 11) { // Element or Document Fragment node.childNodes.forEach(child => { if (child.nodeType === 3) { // Text node // Gunakan escapeRegExp untuk memastikan searchValue aman. const safeSearchValue = escapeRegExp(searchValue); const regex = new RegExp(safeSearchValue, 'gi'); child.textContent = child.textContent.replace(regex, replaceValue); } else { replaceTextInNode(child, searchValue, replaceValue); } }); } } window.addEventListener('DOMContentLoaded', () => { const params = new URLSearchParams(window.location.search); const recipient = getRecipientName(params, config.urlParams); const targets = document.querySelectorAll(config.selector); if (targets.length === 0) { console.warn(`WDPCNT: Tidak ditemukan elemen dengan selector '${config.selector}'.`); return; } targets.forEach(element => { if (recipient) { replaceTextInNode(element, config.defaultText, recipient); } else { if (!element.textContent.trim()) { element.textContent = config.defaultText; } } }); }); })();
.wdp-bugoy-zoom { animation-name: wdp-bugoy-zoom; animation-duration: 1.75s; transform-origin: center center; animation-iteration-count: infinite; animation-timing-function: ease-in-out; animation-direction: alternate; } @keyframes wdp-bugoy-zoom { 0%, 100% { transform: translate(0px, 0px) rotate(0deg) scale(1); } 50% { transform: translate(0px, 0px) rotate(0deg) scale(1.1); } } .wdp-bugoy-01 { animation-name: wdp-bugoy-01; animation-duration: 1.2s; transform-origin: center center; animation-iteration-count: infinite; animation-timing-function: ease-in-out; animation-direction: alternate; } @keyframes wdp-bugoy-01 { 0%, 4.17% { transform: translate(0px, 0px) rotate(0deg) scale(1); } 100% { transform: translate(0px, 15px) rotate(-10deg) scale(1.05); } } .wdp-bugoy-02-kanan { animation-name: wdp-bugoy-02-kanan; animation-duration: 1.4s; transform-origin: left bottom; animation-iteration-count: infinite; animation-timing-function: ease-in-out; animation-direction: alternate; } @keyframes wdp-bugoy-02-kanan { 0%, 0.00% { transform: translate(0px, 0px) rotate(0deg) scale(1); } 100% { transform: translate(0px, 15px) rotate(15deg) scale(1); } } .wdp-bugoy-02-kiri { animation-name: wdp-bugoy-02-kiri; animation-duration: 1.4s; transform-origin: right bottom; animation-iteration-count: infinite; animation-timing-function: ease-in-out; animation-direction: alternate; } @keyframes wdp-bugoy-02-kiri { 0%, 0.00% { transform: translate(0px, 0px) rotate(0deg) scale(1); } 100% { transform: translate(0px, 15px) rotate(-15deg) scale(1); } }
Copyright © 2026 Undangan Digital RESEPSI