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

WEDDING INVITATION

We invited you to celebrate our wedding

Sarah & Hendi

Minggu, 9 November 2025

Assalamu'alaikum Warahmatullahi Wabarakatuh

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

Sarah Tahirah, S.H

Putri ketiga dari
Bapak Ateng Kuswandi & Ibu Eutik Komariah

Adik dari Aj. Fitroh Malik, S.H
(Pimpinan Ponpes serta Kepala SMP IT Madinatul Albaab)

Hendi Gunawan, S.Kom

Putra keempat dari
Bapak Engkos (Alm) & Ibu Ade (Almh)

Our Moment

Wedding Gallery

" 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, 09 November 2025

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

Akad Nikah

Minggu,
09 November 2025

09.00 WIB
s/d 10.00 WIB

Pondok Pesantren
Madinatul Albaab
:
Kp. Kiaralawang RT 05 / RW 05, Desa Sarimukti, Kec. Karangnunggal, Kab. Tasikmalaya.

Acara Resepsi

Minggu,
09 November 2025

10.00 WIB
s/d Selesai

Pondok Pesantren
Madinatul Albaab
:
Kp. Kiaralawang RT 05 / RW 05, Desa Sarimukti, Kec. Karangnunggal, Kab. Tasikmalaya.

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 dan kami akan senang hati menerimanya dan tentu semakin melengkapi kebahagiaan kami.

Kirim Kado : Sarah Tahirah

Kp. Kiaralawang RT 05/RW 05, Desa Sarimukti, Kec. Karangnunggal, Kab. Tasikmalaya.

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,

Sarah & Hendi

Keluarga Besar

Mempelai Pria

Bapak Engkos (Alm) & Ibu Ade (Almh)

Keluarga Besar

Mempelai Wanita

Bapak Ateng Kuswandi & Ibu Eutik Komariah

Turut Mengundang :

- ⁠Bapak H. Tardi
- ⁠Aj. Fitroh Malik, S.H
- ⁠Ibu Ade Sa’adah, S.Pd
- ⁠Bapak Asep Saepulloh, S.T MM (Ketua Komisi IV DPRD Kab. Tasikmalaya)
- ⁠Keluarga Besar Yayasan Madinatul Albaab
- ⁠Keluarga Besar Yayasan Afsar
- ⁠Keluarga Besar Bapak Eneb (Alm) dan Ibu Ujem (Almh)
- ⁠Keluarga Besar Bapak Solihin (Alm) dan Ibu Engkar (Almh)

Wassalamu'alaikum Warahmatullahi Wabarakatuh

Created by Hoyong Desain
Info pemesanan klik dibawah ya . . .
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(); } }
/*! 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; } } }); }); })();
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 sebagai flex btnHide.style.display = "flex"; // Menyembunyikan btnAmplop btnAmplop.style.display = "none"; // Menampilkan section amplop sebagai flex amplop.style.display = "flex"; }; // 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 sebagai block (atau flex) btnAmplop.style.display = "block"; // atau flex, tergantung tata letak yang diinginkan // Menyembunyikan section amplop amplop.style.display = "none"; }; });