{"id":2787,"date":"2026-03-05T13:34:47","date_gmt":"2026-03-05T13:34:47","guid":{"rendered":"https:\/\/cagyhp.co.ke\/index.php\/support-donate\/"},"modified":"2026-03-19T14:04:24","modified_gmt":"2026-03-19T14:04:24","slug":"support-donate","status":"publish","type":"page","link":"https:\/\/cagyhp.co.ke\/index.php\/support-donate\/","title":{"rendered":"support \/ donate"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2787\" class=\"elementor elementor-2787\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-273e9b7 e-flex e-con-boxed e-con e-parent\" data-id=\"273e9b7\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-236b42a elementor-widget elementor-widget-html\" data-id=\"236b42a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n\/* CAGYHP Donation Form - OPTIMIZED VERSION *\/\r\n:root {\r\n    --primary: #e11d48;\r\n    --primary-dark: #be123c;\r\n    --secondary: #0ea5e9;\r\n    --success: #10b981;\r\n    --dark: #1e293b;\r\n    --light: #f8fafc;\r\n    --gray: #64748b;\r\n    --border: #e2e8f0;\r\n    --whatsapp: #25D366;\r\n}\r\n\r\n* {\r\n    margin: 0;\r\n    padding: 0;\r\n    box-sizing: border-box;\r\n}\r\n\r\n\/* Optimized with CSS minification *\/\r\n.cagyhp-section {\r\n    max-width: 1400px; margin: 0 auto; font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;\r\n    background: linear-gradient(135deg, #f0f4ff, #fce8f0); padding: 20px; border-radius: 1rem;\r\n}\r\n\r\n.cagyhp-hero {\r\n    background: linear-gradient(135deg, #831843, #be123c, #e11d48);\r\n    color: white; padding: 3rem 2rem; border-radius: 1rem 1rem 0 0; text-align: center;\r\n    position: relative; overflow: hidden;\r\n}\r\n\r\n.cagyhp-hero::before {\r\n    content: \"\u2665\"; position: absolute; right: -20px; bottom: -20px;\r\n    font-size: 150px; opacity: 0.1; transform: rotate(15deg);\r\n}\r\n\r\n.cagyhp-hero h1 { font-size: clamp(1.8rem, 4vw, 2.5rem); margin-bottom: 0.5rem; font-weight: 800; color: #fff; }\r\n.cagyhp-hero p { font-size: 1.2rem; opacity: 0.95; max-width: 800px; margin: 0 auto; color: #fff; }\r\n\r\n\/* Contact Bar - Optimized *\/\r\n.contact-bar {\r\n    background: rgba(255,255,255,0.1); backdrop-filter: blur(10px); margin-top: 20px;\r\n    padding: 15px 25px; border-radius: 60px; display: flex; flex-wrap: wrap;\r\n    justify-content: center; gap: 30px; border: 1px solid rgba(255,255,255,0.2);\r\n}\r\n\r\n.contact-item { display: flex; align-items: center; gap: 12px; color: white; }\r\n.contact-item a { color: white; text-decoration: none; font-weight: 500; }\r\n.contact-item a:hover { color: var(--accent); text-decoration: underline; }\r\n\r\n.whatsapp-link {\r\n    background: var(--whatsapp); padding: 5px 15px; border-radius: 50px;\r\n    display: inline-flex; align-items: center; gap: 8px; color: white !important;\r\n    font-weight: 600; cursor: pointer;\r\n}\r\n.whatsapp-link:hover { background: #128C7E; }\r\n\r\n\/* Stats - Optimized grid *\/\r\n.cagyhp-stats {\r\n    display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\r\n    gap: 1.5rem; padding: 2rem; background: white; border-bottom: 1px solid var(--border);\r\n}\r\n\r\n.stat-card {\r\n    text-align: center; padding: 1.5rem; background: linear-gradient(135deg, #f8fafc, #f1f5f9);\r\n    border-radius: 1rem; transition: transform 0.2s;\r\n}\r\n.stat-card:hover { transform: translateY(-5px); }\r\n.stat-number { font-size: 2rem; font-weight: 800; color: var(--primary); margin-bottom: 0.5rem; }\r\n.stat-label { color: var(--gray); }\r\n\r\n\/* Main Form *\/\r\n.cagyhp-form {\r\n    background: white; padding: 2rem; border-radius: 1rem;\r\n    box-shadow: 0 20px 40px -15px rgba(0,0,0,0.15); margin: 2rem 0;\r\n}\r\n\r\n.form-section { margin-bottom: 2.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--border); }\r\n.form-section:last-child { border-bottom: none; }\r\n\r\n.section-title {\r\n    font-size: 1.5rem; font-weight: 700; color: var(--dark); margin-bottom: 1.5rem;\r\n    border-left: 5px solid var(--primary); padding-left: 1rem; display: flex; align-items: center; gap: 0.5rem;\r\n}\r\n\r\n\/* Program Grid *\/\r\n.program-grid {\r\n    display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\r\n    gap: 1.5rem; margin: 1rem 0;\r\n}\r\n\r\n.program-card {\r\n    background: var(--light); border-radius: 1rem; padding: 1.5rem;\r\n    border: 2px solid var(--border); transition: all 0.2s;\r\n}\r\n.program-card:hover {\r\n    border-color: var(--primary); transform: translateY(-5px);\r\n    box-shadow: 0 10px 20px -10px rgba(225,29,72,0.2);\r\n}\r\n.program-icon { font-size: 2rem; margin-bottom: 0.5rem; }\r\n.program-title { font-weight: 700; color: var(--primary); margin-bottom: 0.5rem; }\r\n.program-need {\r\n    font-size: 1.1rem; color: var(--dark); font-weight: 600; margin-bottom: 0.75rem;\r\n    background: white; padding: 0.25rem 0.75rem; border-radius: 2rem; display: inline-block;\r\n}\r\n\r\n\/* Amount Grid *\/\r\n.amount-grid {\r\n    display: grid; grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));\r\n    gap: 1rem; margin-bottom: 1rem;\r\n}\r\n\r\n.amount-option { position: relative; }\r\n.amount-option input { position: absolute; opacity: 0; }\r\n.amount-option label {\r\n    display: block; padding: 1rem; text-align: center; background: var(--light);\r\n    border: 2px solid var(--border); border-radius: 0.5rem; font-weight: 600;\r\n    color: var(--dark); cursor: pointer; transition: all 0.2s;\r\n}\r\n.amount-option input:checked + label {\r\n    background: var(--primary); border-color: var(--primary-dark); color: white;\r\n}\r\n.amount-option label:hover { border-color: var(--primary); transform: scale(1.02); }\r\n\r\n.other-amount { margin-top: 1rem; }\r\n.other-amount input { width: 100%; padding: 1rem; border: 2px solid var(--border); border-radius: 0.5rem; }\r\n\r\n\/* Currency Selector *\/\r\n.currency-selector {\r\n    display: flex; gap: 1rem; justify-content: center; margin: 1rem 0;\r\n    padding: 1rem; background: var(--light); border-radius: 0.5rem;\r\n}\r\n\r\n.currency-option { position: relative; }\r\n.currency-option input { position: absolute; opacity: 0; }\r\n.currency-option label {\r\n    padding: 0.5rem 1.5rem; background: white; border: 2px solid var(--border);\r\n    border-radius: 2rem; font-weight: 600; cursor: pointer; transition: all 0.2s;\r\n}\r\n.currency-option input:checked + label {\r\n    background: var(--secondary); border-color: #0284c7; color: white;\r\n}\r\n\r\n\/* Form Fields *\/\r\n.form-row {\r\n    display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\r\n    gap: 1rem; margin-bottom: 1rem;\r\n}\r\n\r\n.form-group { margin-bottom: 1rem; }\r\n.form-group label { display: block; margin-bottom: 0.5rem; font-weight: 600; color: var(--dark); }\r\n.form-group input,\r\n.form-group select {\r\n    width: 100%; padding: 0.75rem 1rem; border: 2px solid var(--border);\r\n    border-radius: 0.5rem; font-size: 1rem; transition: all 0.2s;\r\n}\r\n.form-group input:focus,\r\n.form-group select:focus {\r\n    outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(225,29,72,0.1);\r\n}\r\n\r\n.checkbox-group {\r\n    display: flex; align-items: center; gap: 0.5rem; margin: 0.5rem 0;\r\n}\r\n.checkbox-group input { width: auto; cursor: pointer; }\r\n\r\n\/* Payment Methods *\/\r\n.payment-methods {\r\n    display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\r\n    gap: 1rem; margin-bottom: 1.5rem;\r\n}\r\n\r\n.payment-method { position: relative; }\r\n.payment-method input { position: absolute; opacity: 0; }\r\n.payment-method label {\r\n    display: flex; align-items: center; justify-content: center; gap: 0.5rem;\r\n    padding: 1rem; background: var(--light); border: 2px solid var(--border);\r\n    border-radius: 0.5rem; font-weight: 600; cursor: pointer; transition: all 0.2s;\r\n}\r\n.payment-method input:checked + label {\r\n    background: var(--secondary); border-color: #0284c7; color: white;\r\n}\r\n\r\n\/* Payment Details *\/\r\n.payment-details {\r\n    background: var(--light); padding: 1.5rem; border-radius: 0.75rem; margin-top: 1rem;\r\n}\r\n.mpesa-info, .bank-info, .card-info-note {\r\n    background: white; padding: 1.5rem; border-radius: 0.5rem; border: 1px solid var(--border);\r\n}\r\n.mpesa-highlight {\r\n    background: var(--primary); color: white; padding: 0.25rem 0.75rem;\r\n    border-radius: 0.25rem; display: inline-block; font-weight: 600;\r\n}\r\n\r\n\/* Impact Guide *\/\r\n.impact-guide {\r\n    display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\r\n    gap: 1rem; margin: 1rem 0;\r\n}\r\n\r\n.impact-item {\r\n    background: white; border: 2px solid var(--border); border-radius: 0.75rem;\r\n    padding: 1.5rem 1rem; text-align: center; transition: all 0.2s; cursor: pointer;\r\n}\r\n.impact-item:hover {\r\n    border-color: var(--primary); transform: translateY(-2px);\r\n    box-shadow: 0 10px 20px -10px rgba(225,29,72,0.2);\r\n}\r\n.impact-item.selected {\r\n    border-color: var(--primary); background: linear-gradient(135deg, #fff1f2, #ffe4e6);\r\n}\r\n.impact-amount { font-size: 1.5rem; font-weight: 700; color: var(--primary); margin-bottom: 0.5rem; }\r\n\r\n\/* Summary Box *\/\r\n.summary-box {\r\n    background: linear-gradient(135deg, #f8fafc, #f1f5f9); border-radius: 1rem;\r\n    padding: 2rem; margin: 2rem 0; border: 2px solid var(--primary);\r\n}\r\n.summary-title { font-size: 1.5rem; font-weight: 700; color: var(--dark); margin-bottom: 1.5rem; text-align: center; }\r\n.summary-row {\r\n    display: flex; justify-content: space-between; align-items: center;\r\n    padding: 1rem; border-bottom: 1px solid var(--border);\r\n}\r\n.summary-row.total-row {\r\n    margin-top: 1rem; border-top: 2px solid var(--primary); padding-top: 1rem;\r\n    font-weight: 700; color: var(--primary); font-size: 1.3rem;\r\n}\r\n.summary-label { color: var(--gray); }\r\n.summary-value { font-weight: 600; color: var(--dark); }\r\n\r\n\/* Submit Button *\/\r\n.submit-btn {\r\n    background: linear-gradient(135deg, #e11d48, #be123c); color: white; border: none;\r\n    padding: 1.25rem 2rem; font-size: 1.2rem; font-weight: 700; border-radius: 0.5rem;\r\n    width: 100%; cursor: pointer; transition: all 0.2s; margin: 1rem 0;\r\n}\r\n.submit-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 25px -5px rgba(225,29,72,0.5); }\r\n.submit-btn:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }\r\n\r\n\/* Trust Badges *\/\r\n.trust-badges {\r\n    display: flex; justify-content: center; gap: 2rem; margin: 2rem 0; flex-wrap: wrap;\r\n}\r\n.badge { display: flex; align-items: center; gap: 0.5rem; color: var(--gray); }\r\n\r\n\/* Loading Spinner *\/\r\n.spinner {\r\n    display: inline-block; width: 20px; height: 20px;\r\n    border: 3px solid rgba(255,255,255,.3); border-radius: 50%;\r\n    border-top-color: white; animation: spin 1s linear infinite; margin-right: 8px;\r\n}\r\n@keyframes spin { to { transform: rotate(360deg); } }\r\n\r\n\/* Messages *\/\r\n.success-message, .error-message {\r\n    padding: 1rem; border-radius: 0.5rem; text-align: center; margin-bottom: 1rem;\r\n}\r\n.success-message { background: var(--success); color: white; }\r\n.error-message { background: var(--primary); color: white; }\r\n\r\n\/* Thank You *\/\r\n.thank-you-container { margin-top: 2rem; }\r\n.thank-you-notification {\r\n    background: linear-gradient(135deg, #10b981, #059669); color: white;\r\n    padding: 2rem; border-radius: 1rem; text-align: center; animation: slideUp 0.5s ease-out;\r\n}\r\n.thank-you-notification h3 { font-size: 2rem; margin-bottom: 1rem; }\r\n.reset-form-btn {\r\n    background: white; color: var(--success); border: none; padding: 0.75rem 2rem;\r\n    font-size: 1rem; font-weight: 600; border-radius: 2rem; cursor: pointer; margin-top: 1rem;\r\n    transition: all 0.2s;\r\n}\r\n.reset-form-btn:hover { transform: scale(1.05); box-shadow: 0 5px 15px rgba(0,0,0,0.2); }\r\n@keyframes slideUp {\r\n    from { opacity: 0; transform: translateY(20px); }\r\n    to { opacity: 1; transform: translateY(0); }\r\n}\r\n\r\n\/* Footer *\/\r\n.footer-contact {\r\n    background: #f8faff; border-radius: 60px; padding: 25px 35px; margin-top: 40px;\r\n    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;\r\n    border: 2px solid var(--primary);\r\n}\r\n.footer-contact-left { display: flex; flex-direction: column; gap: 12px; }\r\n.footer-contact-item {\r\n    display: flex; align-items: center; gap: 15px; color: var(--primary); font-size: 1.1rem;\r\n}\r\n.footer-contact-item a { color: var(--primary); text-decoration: none; font-weight: 500; }\r\n.footer-contact-item a:hover { color: var(--accent); }\r\n\r\n.whatsapp-button {\r\n    background: var(--whatsapp); padding: 12px 25px; border-radius: 50px;\r\n    display: inline-flex; align-items: center; gap: 10px; color: white;\r\n    font-weight: 600; text-decoration: none; transition: 0.2s; cursor: pointer;\r\n}\r\n.whatsapp-button:hover { background: #128C7E; transform: scale(1.05); }\r\n\r\n.footer-badge {\r\n    background: var(--accent); color: white; padding: 12px 28px;\r\n    border-radius: 50px; font-weight: 600; font-size: 1.1rem;\r\n}\r\n\r\n.footer-message {\r\n    text-align: center; padding: 2rem; background: linear-gradient(135deg, #f8fafc, #f1f5f9);\r\n    border-radius: 1rem; margin: 2rem 0;\r\n}\r\n\r\n\/* Responsive *\/\r\n@media (max-width: 768px) {\r\n    .cagyhp-hero h1 { font-size: 1.8rem; }\r\n    .form-row, .amount-grid, .program-grid, .impact-guide { grid-template-columns: 1fr; }\r\n    .contact-bar, .footer-contact { flex-direction: column; gap: 15px; text-align: center; }\r\n}\r\n<\/style>\r\n\r\n<div class=\"cagyhp-section\">\r\n    <!-- Hero Section -->\r\n    <div class=\"cagyhp-hero\">\r\n        <h1>Centre for Adolescent Girls & Youth Health Program <span style=\"background: var(--secondary); padding: 5px 15px; border-radius: 50px; font-size: 1rem;\">Siaya<\/span><\/h1>\r\n        <p>Your support makes the difference between despair and hope<\/p>\r\n        \r\n        <div class=\"contact-bar\">\r\n            <div class=\"contact-item\">\ud83d\udce7 <a href=\"mailto:info@cagyhp.co.ke\">info@cagyhp.co.ke<\/a><\/div>\r\n            <div class=\"contact-item\">\ud83d\udcde <a href=\"tel:+254735604010\">+254 735 604010<\/a><\/div>\r\n            <div class=\"contact-item\">\ud83d\udcac <a href=\"#\" class=\"whatsapp-link\" id=\"whatsappHeaderLink\">WhatsApp<\/a><\/div>\r\n        <\/div>\r\n    <\/div>\r\n    \r\n    <!-- Impact Stats -->\r\n    <div class=\"cagyhp-stats\">\r\n        <div class=\"stat-card\"><div class=\"stat-number\">500+<\/div><div class=\"stat-label\">Survivors Supported<\/div><\/div>\r\n        <div class=\"stat-card\"><div class=\"stat-number\">24\/7<\/div><div class=\"stat-label\">Emergency Care<\/div><\/div>\r\n        <div class=\"stat-card\"><div class=\"stat-number\">4<\/div><div class=\"stat-label\">Current Beds<\/div><\/div>\r\n        <div class=\"stat-card\"><div class=\"stat-number\">Siaya<\/div><div class=\"stat-label\">County<\/div><\/div>\r\n    <\/div>\r\n    \r\n    <!-- Messages Container -->\r\n    <div id=\"messagesContainer\"><\/div>\r\n    \r\n    <!-- Main Donation Form -->\r\n    <form class=\"cagyhp-form\" id=\"donationForm\">\r\n        \r\n        <!-- AREAS WE NEED SUPPORT -->\r\n        <div class=\"form-section\">\r\n            <h3 class=\"section-title\"><span>\ud83e\udd1d<\/span> Areas We Need Support<\/h3>\r\n            <div class=\"program-grid\" id=\"programGrid\">\r\n                <!-- Program cards will be populated by JavaScript -->\r\n            <\/div>\r\n        <\/div>\r\n        \r\n        <!-- Donation Amount Section -->\r\n        <div class=\"form-section\">\r\n            <h3 class=\"section-title\"><span>\ud83d\udcb0<\/span> Select Your Donation Amount<\/h3>\r\n            <div class=\"amount-grid\" id=\"amountGrid\"><\/div>\r\n            <div class=\"other-amount\">\r\n                <input type=\"number\" id=\"otherAmount\" placeholder=\"Other amount\" min=\"100\">\r\n            <\/div>\r\n            <div class=\"currency-selector\" id=\"currencySelector\"><\/div>\r\n        <\/div>\r\n        \r\n        <!-- Your Impact Guide -->\r\n        <div class=\"form-section\">\r\n            <h3 class=\"section-title\"><span>\u2728<\/span> See Your Impact<\/h3>\r\n            <p style=\"color: var(--gray); margin-bottom: 1rem;\">Click any amount to select it<\/p>\r\n            <div class=\"impact-guide\" id=\"impactGrid\"><\/div>\r\n        <\/div>\r\n        \r\n        <!-- Donor Information -->\r\n        <div class=\"form-section\">\r\n            <h3 class=\"section-title\"><span>\ud83d\udc64<\/span> Your Information<\/h3>\r\n            <div class=\"form-row\">\r\n                <div class=\"form-group\"><label>Full Name *<\/label><input type=\"text\" id=\"fullname\" required><\/div>\r\n                <div class=\"form-group\"><label>Email *<\/label><input type=\"email\" id=\"email\" required><\/div>\r\n            <\/div>\r\n            <div class=\"form-row\">\r\n                <div class=\"form-group\"><label>Phone *<\/label><input type=\"tel\" id=\"phone\" required placeholder=\"0712345678\"><\/div>\r\n                <div class=\"form-group\"><label>Country<\/label><select id=\"country\"><option value=\"KE\">Kenya<\/option><option value=\"UG\">Uganda<\/option><option value=\"TZ\">Tanzania<\/option><option value=\"Other\">Other<\/option><\/select><\/div>\r\n            <\/div>\r\n            <div class=\"checkbox-group\"><input type=\"checkbox\" id=\"newsletter\"><label>Add me to newsletter<\/label><\/div>\r\n            <div class=\"checkbox-group\"><input type=\"checkbox\" id=\"anonymous\"><label>Remain anonymous<\/label><\/div>\r\n        <\/div>\r\n        \r\n        <!-- Payment Method -->\r\n        <div class=\"form-section\">\r\n            <h3 class=\"section-title\"><span>\ud83d\udcb3<\/span> Payment Method<\/h3>\r\n            <div class=\"payment-methods\" id=\"paymentMethods\"><\/div>\r\n            \r\n            <!-- M-Pesa Details -->\r\n            <div class=\"payment-details\" id=\"mpesa-details\">\r\n                <h4>M-Pesa Payment<\/h4>\r\n                <div class=\"mpesa-info\">\r\n                    <p><span class=\"mpesa-highlight\">Paybill:<\/span> 400200<\/p>\r\n                    <p><span class=\"mpesa-highlight\">Account:<\/span> 885581<\/p>\r\n                    <p><span class=\"mpesa-highlight\">Amount:<\/span> <span id=\"mpesaAmount\">KES 1,000<\/span><\/p>\r\n                    <hr>\r\n                    <div class=\"form-group\">\r\n                        <label>M-Pesa Code *<\/label>\r\n                        <input type=\"text\" id=\"mpesa-code\" placeholder=\"Enter confirmation code\">\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n            \r\n            <!-- Bank Details -->\r\n            <div class=\"payment-details\" id=\"bank-details\" style=\"display: none;\">\r\n                <h4>Bank Transfer<\/h4>\r\n                <div class=\"bank-info\">\r\n                    <p><strong>Account:<\/strong> Centre For Adolescent Girls<\/p>\r\n                    <p><strong>Bank:<\/strong> Cooperative Bank<\/p>\r\n                    <p><strong>Account No:<\/strong> 01101343795001<\/p>\r\n                <\/div>\r\n            <\/div>\r\n            \r\n            <!-- Card Details -->\r\n            <div class=\"payment-details\" id=\"card-details\" style=\"display: none;\">\r\n                <h4>Card Payment<\/h4>\r\n                <div class=\"bank-info\">\r\n                    <p>Secure payment link will be sent to your email<\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n        \r\n        <!-- Summary -->\r\n        <div class=\"summary-box\">\r\n            <div class=\"summary-title\">\ud83d\udccb Summary<\/div>\r\n            <div class=\"summary-row\"><span>Amount:<\/span> <span id=\"summary-amount-display\">KES 1,000<\/span><\/div>\r\n            <div class=\"summary-row\"><span>Impact:<\/span> <span id=\"summary-impact\">Emergency food for 5 survivors<\/span><\/div>\r\n            <div class=\"summary-row\"><span>Payment:<\/span> <span id=\"summary-payment\">M-Pesa<\/span><\/div>\r\n            <div class=\"summary-row total-row\"><span>Total:<\/span> <span id=\"summary-total\">KES 1,000<\/span><\/div>\r\n        <\/div>\r\n        \r\n        <!-- Terms -->\r\n        <div class=\"checkbox-group\"><input type=\"checkbox\" id=\"terms\" required><label>I confirm the information is accurate *<\/label><\/div>\r\n        \r\n        <button type=\"submit\" class=\"submit-btn\" id=\"submitBtn\">Complete Donation<\/button>\r\n        <div id=\"thankYouContainer\"><\/div>\r\n    <\/form>\r\n    \r\n    <!-- Footer -->\r\n    <div class=\"footer-contact\">\r\n        <div class=\"footer-contact-item\">\ud83d\udce7 <a href=\"mailto:info@cagyhp.co.ke\">info@cagyhp.co.ke<\/a><\/div>\r\n        <div class=\"footer-contact-item\">\ud83d\udcde <a href=\"tel:+254735604010\">+254 735 604010<\/a><\/div>\r\n        <div class=\"footer-badge\">\u2764\ufe0f Together We Can<\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n<!-- EmailJS Library -->\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/@emailjs\/browser@4\/dist\/email.min.js\"><\/script>\r\n\r\n<script>\r\n\/\/ ===== OPTIMIZED JAVASCRIPT =====\r\n(function() {\r\n    'use strict';\r\n    \r\n    \/\/ Config\r\n    const CONFIG = {\r\n        emailjs: { publicKey: \"4xU3EbHTlWaEvVJVa\", serviceId: \"service_43mt5t5\", templateId: \"template_4wiw00e\", toEmail: \"info@cagyhp.co.ke\" },\r\n        whatsapp: { number: \"254735604010\", message: \"Hello CAGYHP, I'm interested in supporting your cause.\" },\r\n        defaultImpact: \"Emergency food for 5 survivors for one day\",\r\n        defaultAmount: 1000\r\n    };\r\n    \r\n    \/\/ Initialize EmailJS\r\n    emailjs.init(CONFIG.emailjs.publicKey);\r\n    \r\n    \/\/ Data\r\n    const programs = [\r\n        { icon: \"\ud83c\udf72\", title: \"Emergency Food\", need: \"KES 100,000\/month\", desc: \"Meals for survivors during consultations\" },\r\n        { icon: \"\ud83e\ude7a\", title: \"Medical Care\", need: \"KES 150,000\/month\", desc: \"First aid, medicines, dignity packs\" },\r\n        { icon: \"\ud83d\udcda\", title: \"Education\", need: \"Varies\", desc: \"School fees, uniforms, birth certificates\" },\r\n        { icon: \"\ud83e\udde0\", title: \"Mental Health\", need: \"KES 100,000\/month\", desc: \"Trauma counseling & support\" },\r\n        { icon: \"\ud83d\udecf\ufe0f\", title: \"Accommodation\", need: \"KES 750,000 one-time\", desc: \"More beds & gender facilities\" },\r\n        { icon: \"\ud83d\udc99\", title: \"General Support\", need: \"Where most needed\", desc: \"Flexible funding for urgent needs\" }\r\n    ];\r\n    \r\n    const amounts = [1000, 2500, 5000, 10000, 25000, 50000];\r\n    const currencies = ['KES', 'USD', 'EUR'];\r\n    const paymentMethods = [\r\n        { id: 'mpesa', label: 'M-Pesa', icon: '\ud83d\udcf1' },\r\n        { id: 'bank', label: 'Bank Transfer', icon: '\ud83c\udfe6' },\r\n        { id: 'card', label: 'Card', icon: '\ud83d\udcb3' }\r\n    ];\r\n    const impacts = [\r\n        { amount: 1000, text: \"Emergency food for 5 survivors\" },\r\n        { amount: 5000, text: \"Dignity packs for 10 survivors\" },\r\n        { amount: 10000, text: \"School supplies for one child\" },\r\n        { amount: 25000, text: \"Counseling for 15 survivors\" },\r\n        { amount: 50000, text: \"Medical care for 20 survivors\" },\r\n        { amount: 750000, text: \"Build accommodation facilities\" }\r\n    ];\r\n    \r\n    \/\/ State\r\n    let selectedImpact = CONFIG.defaultImpact;\r\n    \r\n    \/\/ DOM Elements\r\n    const elements = {\r\n        fullname: document.getElementById('fullname'),\r\n        email: document.getElementById('email'),\r\n        phone: document.getElementById('phone'),\r\n        country: document.getElementById('country'),\r\n        otherAmount: document.getElementById('otherAmount'),\r\n        mpesaCode: document.getElementById('mpesa-code'),\r\n        newsletter: document.getElementById('newsletter'),\r\n        anonymous: document.getElementById('anonymous'),\r\n        terms: document.getElementById('terms'),\r\n        submitBtn: document.getElementById('submitBtn'),\r\n        messagesContainer: document.getElementById('messagesContainer'),\r\n        thankYouContainer: document.getElementById('thankYouContainer'),\r\n        mpesaAmount: document.getElementById('mpesaAmount'),\r\n        mpesaDetails: document.getElementById('mpesa-details'),\r\n        bankDetails: document.getElementById('bank-details'),\r\n        cardDetails: document.getElementById('card-details'),\r\n        summaryAmount: document.getElementById('summary-amount-display'),\r\n        summaryImpact: document.getElementById('summary-impact'),\r\n        summaryPayment: document.getElementById('summary-payment'),\r\n        summaryTotal: document.getElementById('summary-total')\r\n    };\r\n    \r\n    \/\/ ===== RENDER FUNCTIONS =====\r\n    function renderPrograms() {\r\n        const grid = document.getElementById('programGrid');\r\n        grid.innerHTML = programs.map(p => `\r\n            <div class=\"program-card\">\r\n                <div class=\"program-icon\">${p.icon}<\/div>\r\n                <div class=\"program-title\">${p.title}<\/div>\r\n                <div class=\"program-need\">${p.need}<\/div>\r\n                <div class=\"program-desc\">${p.desc}<\/div>\r\n            <\/div>\r\n        `).join('');\r\n    }\r\n    \r\n    function renderAmountGrid() {\r\n        const grid = document.getElementById('amountGrid');\r\n        grid.innerHTML = amounts.map((amt, i) => `\r\n            <div class=\"amount-option\">\r\n                <input type=\"radio\" name=\"amount\" id=\"amount-${amt}\" value=\"${amt}\" ${i === 0 ? 'checked' : ''}>\r\n                <label for=\"amount-${amt}\">KES ${amt.toLocaleString()}<\/label>\r\n            <\/div>\r\n        `).join('');\r\n    }\r\n    \r\n    function renderCurrencySelector() {\r\n        const selector = document.getElementById('currencySelector');\r\n        selector.innerHTML = currencies.map((cur, i) => `\r\n            <div class=\"currency-option\">\r\n                <input type=\"radio\" name=\"currency\" id=\"currency-${cur}\" value=\"${cur}\" ${i === 0 ? 'checked' : ''}>\r\n                <label for=\"currency-${cur}\">${cur}<\/label>\r\n            <\/div>\r\n        `).join('');\r\n    }\r\n    \r\n    function renderPaymentMethods() {\r\n        const methods = document.getElementById('paymentMethods');\r\n        methods.innerHTML = paymentMethods.map((m, i) => `\r\n            <div class=\"payment-method\">\r\n                <input type=\"radio\" name=\"payment_method\" id=\"method-${m.id}\" value=\"${m.id}\" ${i === 0 ? 'checked' : ''}>\r\n                <label for=\"method-${m.id}\">${m.icon} ${m.label}<\/label>\r\n            <\/div>\r\n        `).join('');\r\n    }\r\n    \r\n    function renderImpactGrid() {\r\n        const grid = document.getElementById('impactGrid');\r\n        grid.innerHTML = impacts.map(i => `\r\n            <div class=\"impact-item\" data-amount=\"${i.amount}\" data-impact=\"${i.text}\">\r\n                <div class=\"impact-amount\">KES ${i.amount.toLocaleString()}<\/div>\r\n                <div>${i.text}<\/div>\r\n            <\/div>\r\n        `).join('');\r\n    }\r\n    \r\n    \/\/ ===== UTILITY FUNCTIONS =====\r\n    function getSelectedAmount() {\r\n        const selected = document.querySelector('input[name=\"amount\"]:checked');\r\n        if (selected) return parseFloat(selected.value);\r\n        return elements.otherAmount.value ? parseFloat(elements.otherAmount.value) : CONFIG.defaultAmount;\r\n    }\r\n    \r\n    function getSelectedCurrency() {\r\n        return document.querySelector('input[name=\"currency\"]:checked')?.value || 'KES';\r\n    }\r\n    \r\n    function getSelectedPaymentMethod() {\r\n        const selected = document.querySelector('input[name=\"payment_method\"]:checked');\r\n        const val = selected?.value || 'mpesa';\r\n        return { value: val, text: val === 'mpesa' ? 'M-Pesa' : val === 'bank' ? 'Bank Transfer' : 'Card' };\r\n    }\r\n    \r\n    function formatAmount(amount, currency) {\r\n        const formatter = new Intl.NumberFormat();\r\n        if (currency === 'KES') return `KES ${formatter.format(amount)}`;\r\n        if (currency === 'USD') return `$${formatter.format(amount)}`;\r\n        return `\u20ac${formatter.format(amount)}`;\r\n    }\r\n    \r\n    function updateSummary() {\r\n        const amount = getSelectedAmount();\r\n        const currency = getSelectedCurrency();\r\n        const formatted = formatAmount(amount, currency);\r\n        const paymentText = getSelectedPaymentMethod().text;\r\n        \r\n        elements.summaryAmount.textContent = formatted;\r\n        elements.summaryImpact.textContent = selectedImpact;\r\n        elements.summaryPayment.textContent = paymentText;\r\n        elements.summaryTotal.textContent = formatted;\r\n        if (elements.mpesaAmount) elements.mpesaAmount.textContent = formatted;\r\n    }\r\n    \r\n    function showMessage(type, text) {\r\n        elements.messagesContainer.innerHTML = `<div class=\"${type}-message\">${text}<\/div>`;\r\n        setTimeout(() => elements.messagesContainer.innerHTML = '', 5000);\r\n    }\r\n    \r\n    function showThankYou(fullname, currency, amount, impact) {\r\n        elements.thankYouContainer.innerHTML = `\r\n            <div class=\"thank-you-notification\">\r\n                <h3>\ud83d\ude4f Thank You, ${fullname}!<\/h3>\r\n                <p>Your donation of ${currency} ${amount} has been recorded.<\/p>\r\n                <p>${impact}<\/p>\r\n                <p>A confirmation email has been sent.<\/p>\r\n                <button class=\"reset-form-btn\" onclick=\"location.reload()\">Make Another Donation<\/button>\r\n            <\/div>\r\n        `;\r\n    }\r\n    \r\n    function resetForm() {\r\n        document.getElementById('donationForm').reset();\r\n        document.querySelector('input[name=\"amount\"][value=\"1000\"]').checked = true;\r\n        selectedImpact = CONFIG.defaultImpact;\r\n        updateSummary();\r\n    }\r\n    \r\n    \/\/ ===== EVENT LISTENERS =====\r\n    function setupEventListeners() {\r\n        \/\/ Payment method toggle\r\n        document.querySelectorAll('input[name=\"payment_method\"]').forEach(radio => {\r\n            radio.addEventListener('change', function() {\r\n                elements.mpesaDetails.style.display = 'none';\r\n                elements.bankDetails.style.display = 'none';\r\n                elements.cardDetails.style.display = 'none';\r\n                if (this.value === 'mpesa') elements.mpesaDetails.style.display = 'block';\r\n                if (this.value === 'bank') elements.bankDetails.style.display = 'block';\r\n                if (this.value === 'card') elements.cardDetails.style.display = 'block';\r\n                updateSummary();\r\n            });\r\n        });\r\n        \r\n        \/\/ Impact guide clicks\r\n        document.querySelectorAll('.impact-item').forEach(item => {\r\n            item.addEventListener('click', function() {\r\n                const amount = this.dataset.amount;\r\n                const impact = this.dataset.impact;\r\n                \r\n                document.querySelectorAll('.impact-item').forEach(i => i.classList.remove('selected'));\r\n                this.classList.add('selected');\r\n                document.querySelectorAll('input[name=\"amount\"]').forEach(r => r.checked = false);\r\n                elements.otherAmount.value = '';\r\n                \r\n                const radio = document.querySelector(`input[name=\"amount\"][value=\"${amount}\"]`);\r\n                if (radio) radio.checked = true;\r\n                else elements.otherAmount.value = amount;\r\n                \r\n                selectedImpact = impact;\r\n                updateSummary();\r\n            });\r\n        });\r\n        \r\n        \/\/ Amount radio changes\r\n        document.querySelectorAll('input[name=\"amount\"]').forEach(radio => {\r\n            radio.addEventListener('change', function() {\r\n                elements.otherAmount.value = '';\r\n                document.querySelectorAll('.impact-item').forEach(i => i.classList.remove('selected'));\r\n                \r\n                const impactItem = document.querySelector(`.impact-item[data-amount=\"${this.value}\"]`);\r\n                if (impactItem) {\r\n                    impactItem.classList.add('selected');\r\n                    selectedImpact = impactItem.dataset.impact;\r\n                }\r\n                updateSummary();\r\n            });\r\n        });\r\n        \r\n        \/\/ Other amount input\r\n        elements.otherAmount.addEventListener('input', function() {\r\n            document.querySelectorAll('input[name=\"amount\"]').forEach(r => r.checked = false);\r\n            document.querySelectorAll('.impact-item').forEach(i => i.classList.remove('selected'));\r\n            selectedImpact = `Custom donation of ${this.value || 'your amount'}`;\r\n            updateSummary();\r\n        });\r\n        \r\n        \/\/ Currency changes\r\n        document.querySelectorAll('input[name=\"currency\"]').forEach(radio => {\r\n            radio.addEventListener('change', updateSummary);\r\n        });\r\n        \r\n        \/\/ WhatsApp links\r\n        document.getElementById('whatsappHeaderLink')?.addEventListener('click', (e) => {\r\n            e.preventDefault();\r\n            window.open(`https:\/\/wa.me\/${CONFIG.whatsapp.number}?text=${encodeURIComponent(CONFIG.whatsapp.message)}`, '_blank');\r\n        });\r\n    }\r\n    \r\n    \/\/ ===== FORM SUBMISSION =====\r\n    document.getElementById('donationForm').addEventListener('submit', function(e) {\r\n        e.preventDefault();\r\n        \r\n        if (elements.submitBtn.disabled) return;\r\n        \r\n        \/\/ Validate\r\n        const fullname = elements.fullname.value.trim();\r\n        const email = elements.email.value.trim();\r\n        const phone = elements.phone.value.trim();\r\n        \r\n        if (!fullname || !email || !phone || !elements.terms.checked) {\r\n            showMessage('error', 'Please fill all required fields');\r\n            return;\r\n        }\r\n        \r\n        if (!\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(email)) {\r\n            showMessage('error', 'Invalid email address');\r\n            return;\r\n        }\r\n        \r\n        const amount = getSelectedAmount();\r\n        if (amount < 100) {\r\n            showMessage('error', 'Minimum donation is 100');\r\n            return;\r\n        }\r\n        \r\n        const paymentMethod = getSelectedPaymentMethod();\r\n        if (paymentMethod.value === 'mpesa' && !elements.mpesaCode.value.trim()) {\r\n            showMessage('error', 'Please enter M-Pesa confirmation code');\r\n            return;\r\n        }\r\n        \r\n        \/\/ Prepare data\r\n        const data = {\r\n            from_name: fullname,\r\n            from_email: email,\r\n            to_email: CONFIG.emailjs.toEmail,\r\n            phone: phone,\r\n            country: elements.country.value,\r\n            amount: amount,\r\n            currency: getSelectedCurrency(),\r\n            impact: selectedImpact,\r\n            payment_method: paymentMethod.text,\r\n            mpesa_code: elements.mpesaCode?.value || 'N\/A',\r\n            newsletter: elements.newsletter.checked ? 'Yes' : 'No',\r\n            anonymous: elements.anonymous.checked ? 'Yes' : 'No',\r\n            date: new Date().toLocaleString()\r\n        };\r\n        \r\n        \/\/ Submit\r\n        elements.submitBtn.disabled = true;\r\n        elements.submitBtn.innerHTML = '<span class=\"spinner\"><\/span> Sending...';\r\n        \r\n        emailjs.send(CONFIG.emailjs.serviceId, CONFIG.emailjs.templateId, data)\r\n            .then(() => {\r\n                showMessage('success', 'Donation sent successfully!');\r\n                showThankYou(fullname, data.currency, amount, selectedImpact);\r\n            })\r\n            .catch((error) => {\r\n                console.error(error);\r\n                showMessage('error', 'Failed to send. Please try again.');\r\n                elements.submitBtn.disabled = false;\r\n                elements.submitBtn.innerHTML = 'Complete Donation';\r\n            });\r\n    });\r\n    \r\n    \/\/ ===== INITIALIZE =====\r\n    renderPrograms();\r\n    renderAmountGrid();\r\n    renderCurrencySelector();\r\n    renderPaymentMethods();\r\n    renderImpactGrid();\r\n    setupEventListeners();\r\n    updateSummary();\r\n    \r\n    \/\/ Make reset available globally\r\n    window.resetForm = resetForm;\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Centre for Adolescent Girls &#038; Youth Health Program Siaya Your support makes the difference between despair and hope \ud83d\udce7 info@cagyhp.co.ke \ud83d\udcde +254 735 604010 \ud83d\udcac WhatsApp 500+Survivors Supported 24\/7Emergency Care 4Current Beds SiayaCounty \ud83e\udd1d Areas We Need Support \ud83d\udcb0 Select Your Donation Amount \u2728 See Your Impact Click any amount to select it \ud83d\udc64 Your [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"give_campaign_id":0,"footnotes":""},"class_list":["post-2787","page","type-page","status-publish","hentry"],"campaignId":"","_links":{"self":[{"href":"https:\/\/cagyhp.co.ke\/index.php\/wp-json\/wp\/v2\/pages\/2787","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cagyhp.co.ke\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cagyhp.co.ke\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cagyhp.co.ke\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cagyhp.co.ke\/index.php\/wp-json\/wp\/v2\/comments?post=2787"}],"version-history":[{"count":30,"href":"https:\/\/cagyhp.co.ke\/index.php\/wp-json\/wp\/v2\/pages\/2787\/revisions"}],"predecessor-version":[{"id":3069,"href":"https:\/\/cagyhp.co.ke\/index.php\/wp-json\/wp\/v2\/pages\/2787\/revisions\/3069"}],"wp:attachment":[{"href":"https:\/\/cagyhp.co.ke\/index.php\/wp-json\/wp\/v2\/media?parent=2787"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}