<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">


<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head id="Head1">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="en" />

<!-- Co:LinkTagResources -->
<link rel="Stylesheet" href="/css/fonts/font-awesome/font-awesome-5.css?v=2D6ABDDB" id="kfont-awesome" type="text/css"/>
<link rel="Stylesheet" href="/css/DefaultGrid.css?v=A13D74E8" id="kgrid" type="text/css"/>
<link rel="Stylesheet" href="/css/Elements.css?v=3A4C63F4" id="k6" type="text/css"/>
<link rel="Stylesheet" href="/css/vendor/ds/tokens/sites.css?v=72A49647" id="ksites-ds-css" type="text/css"/>
<link rel="Stylesheet" href="/css/new/main.css?v=BB63DD50" id="k7" type="text/css"/>
<link rel="Stylesheet" href="/css/global.css?v=27BD2E9E" id="k3" type="text/css"/>
<link rel="Stylesheet" href="/css/global-print.css?v=6DE80B07" id="k5" type="text/css" media="print"/>
<link rel="Stylesheet" href="/css/cco/home/widget-styles.css?v=A8AC7A58" id="k6" type="text/css"/>
<link rel="Stylesheet" href="/css/sites6/default-theme.css?v=546A0139" id="k" type="text/css"/>
<link rel="Stylesheet" href="/css/old/global.css?v=43DDBA77" id="k2898" type="text/css"/>
<!--[if lte IE 8]> <link rel="Stylesheet" href="/css/global-ie.css?v=807ACD6C" id="k4" type="text/css"/> <![endif]-->
<script>$q=[];$j=function(f){$q.push(f);}</script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/os/jquery-latest.min.js?v=278824AF"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/co/dist/CoLib.js?v=CC07618E"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/WebComponents/bundles/magen-cdo-global.js?v=5457FBE7"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/templates/sites6.js?v=E04072E1"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/deprecated.js?v=D506A83E"></script><script>$j = $j.fn ? $j : jQuery;$j(()=>{$q.forEach(f=>{try{f.call(window);}catch(ex){console.error(ex);}});})</script><script  language="javascript" type="text/javascript"> Co.Settings      = {CacheClassName:'js-cache-default',MosadName:'Harford Chabad'}; Co.ArticleId     = '4322496';Co.SectionId     = 32808;Co.PartnerSiteId = 0;Co.SiteId        = 8760;Co.IsMobilePage  = false;Co.IsResponsive  = false;Co.DbDomain      = 'HarfordChabad.org';Co.LanguageCode  = '';Co.LoginStatus   = 'None';</script><title>
	Andy Klein • Announcement of Passing • Baruch Dayan Ha'emet
</title>
	<style type="text/css">
		body{ background-color:#EFF2F5; }
	</style>


<script>
	window.dataLayer = window.dataLayer || [];
	dataLayer.push({"event":"datalayer-initialized","page":{"numberOfComments":0,"publicationDate":"2002-02-27","primaryArticleId":39704,"title":"Page Not Found","author":"","authorId":0,"contentLevel1":"Resources","contentLevel2":"Resources","contentLevel3":"System Messages","contentLevel4":"Page Not Found","siteName":"Harford Chabad"},"time":{"upcomingHoliday":"Yom Kippur","daysToUpcomingHoliday":4,"hebrewDate":"5787-07-06"}});
		dataLayer.push({ 'articleHierarchy': '-6198-32808-32808-36231-39704-', 'keywords': '-k63-k32228-k31567-k2898-k6939-k537-k1674-k1190-k14916-k2471-k22435-k20997-k15903-k1709-', 'k': '-6198-32808-32808-36231-39704--k63-k32228-k31567-k2898-k6939-k537-k1674-k1190-k14916-k2471-k22435-k20997-k15903-k1709-' });
	
</script>
<script>

(function(c,h,a,b,a,d){c[a]=c[a]||[];c[a].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=h.getElementsByTagName(b)[0],
j=h.createElement(b);j.async=true;
j.src='https://w6.chabad.org/mitzvah-tank.js';f.parentNode.insertBefore(j,f);
})(window,document,0,'script','dataLayer');</script>

	<!-- Start of StatCounter Code -->
	<script type="text/javascript">
	var sc_project = 6413923;var sc_partition = 80;var sc_invisible = 1;var sc_remove_link=1;var sc_security = "e69c90f8";var sc_https = 1;
	</script>
	<script type="text/javascript" src="https://secure.statcounter.com/counter/counter_xhtml.js" defer async></script>
	<noscript><img src="//c81.statcounter.com/counter.php?sc_project=6413923&amp;java=0&amp;security=e69c90f8&amp;invisible=1" border="0" /> </noscript>
	<!-- End of StatCounter Code -->


<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="https://fonts.googleapis.com/css2?family=Anek+Devanagari&family=Mulish:wght@700&display=swap" rel="stylesheet">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Raleway:wght@400;700&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Anek+Devanagari&family=Mulish:wght@700&display=swap" rel="stylesheet">



<link rel="stylesheet" href="https://glittering-taiyaki-ab1603.netlify.app/harfordstyles.css">

























<script>
(function() {
    // 0. URL CHECK
    if (!window.location.href.includes("Templates/ArticleCcoResponse_cdo/aid/7266691")) {
        return;
    }

    // --- CONFIGURATION ---
    const GOOGLE_SCRIPT_URL = "https://script.google.com/macros/s/AKfycbyah-jm6P8EeadX9c2i1K2ieO0nkIsffK__M-CgfZ3C9V8Vcl2atxoepyPyLAXUgUBw/exec"; 
    
    console.log("Scraper Script Loaded. Waiting for table...");

    // 1. Helper to clean text
    function cleanText(text) {
        if (!text) return "";
        return text.replace(/[\r\n]+/g, " ").trim();
    }

    // 2. Helper to get all table data
    function getTableData() {
        let data = {};
        let rows = document.querySelectorAll('table.response_table tr');
        rows.forEach(row => {
            let labelCell = row.querySelector('td.field_name');
            let valueCell = row.querySelector('td.field_value');
            if (labelCell && valueCell) {
                let key = cleanText(labelCell.innerText).toLowerCase();
                let val = cleanText(valueCell.innerText);
                data[key] = val;
            }
        });
        return data;
    }

    // 3. Helper to extract numbers
    function extractAmount(str) {
        if (!str) return 0;
        let cleaned = str.replace(/[^0-9.]/g, ''); 
        let val = parseFloat(cleaned);
        return isNaN(val) ? 0 : val;
    }

    // 4. Tier Calculation Logic
    function calculateTierFromAmount(amount) {
        // Any amount $1000 OR MORE is Chai Benefactor
        if (amount >= 1000) return "Chai Benefactor";
        if (amount >= 770)  return "Chai Pillar";
        if (amount >= 500)  return "Chai Platinum";
        if (amount >= 360)  return "Chai Gold";
        if (amount >= 180)  return "Chai Silver";
        if (amount >= 100)  return "Chai Bronze";
        return "Chai Partner"; // Fallback for amounts < 100
    }

    // --- MAIN LOGIC ---
    function tryScrape() {
        let data = getTableData();
        
        // CHECK: Do we have the Submission ID yet?
        let submissionId = data["submission id"];
        if (!submissionId) {
            return false; // Table not loaded yet, keep waiting
        }

        // CHECK: Duplicates
        if (localStorage.getItem("scraped_" + submissionId)) {
            console.warn("STOPPING: Already processed ID " + submissionId);
            return true; // Stop retrying, we are done
        }

        console.log("Table found! Processing...");

        // A. NAME & ANONYMOUS LOGIC
        let nameKey = Object.keys(data).find(k => k.includes("name to be displayed"));
        let originalName = nameKey ? data[nameKey] : "Anonymous";
        let finalName = "Anonymous"; // Default to Anonymous to be safe
        
        // Check for "checkbo 7" (specific spelling) or "donate anonymously" label
        let anonKey = Object.keys(data).find(k => k.includes("checkbo7") || k.includes("donate anonymously"));
        let anonValue = anonKey ? data[anonKey] : "";
        
        // UPDATED LOGIC: 
        // If it explicitly says "No (Unchecked)", we SHOW the name.
        // Otherwise (Checked, Yes, etc.), we hide it.
        if (anonValue && anonValue.toLowerCase().includes("no (unchecked)")) {
            finalName = originalName;
        } else {
            // It is checked, or explicitly anonymous
            finalName = "Anonymous";
        }

        // B. LEVEL LOGIC
        let tierKey = Object.keys(data).find(k => k.includes("choose a tier"));
        let tierValue = tierKey ? data[tierKey] : "";
        
        let amount = extractAmount(tierValue);
        
        // If 0, try Total/Paid fields
        if (amount === 0) {
            let totalKey = Object.keys(data).find(k => k.includes("total amount") || k.includes("paid"));
            if (totalKey) {
                amount = extractAmount(data[totalKey]);
            }
        }

        // CHECK: SKIP IF LESS THAN 100
        if (amount < 100) {
            console.log(`Skipping submission ID ${submissionId} - Amount ($${amount}) is less than $100.`);
            // Mark as processed so we don't keep trying to find/send it
            localStorage.setItem("scraped_" + submissionId, "true"); 
            return true; // Return true to stop the retry interval
        }

        let level = calculateTierFromAmount(amount);

        // C. DATE LOGIC (Month Year)
        let dateKey = Object.keys(data).find(k => k.includes("submission date"));
        let dateStr = dateKey ? data[dateKey] : "";
        let finalDate = "";

        if (dateStr) {
            let dateObj = new Date(dateStr);
            if (!isNaN(dateObj.getTime())) {
                // Formatting: "December 2025"
                let month = dateObj.toLocaleString('default', { month: 'long' });
                let year = dateObj.getFullYear();
                finalDate = `${month} ${year}`;
            } else {
                finalDate = dateStr;
            }
        }

        // SEND
        console.log(`Sending: ${finalName} | ${level} | ${finalDate}`);
        
        fetch(GOOGLE_SCRIPT_URL, {
            method: "POST",
            mode: "no-cors",
            headers: { "Content-Type": "application/json" },
            body: JSON.stringify({ name: finalName, level: level, month: finalDate })
        })
        .then(() => {
            localStorage.setItem("scraped_" + submissionId, "true");
            console.log("%c SUCCESS! Data sent.", "background: #4CAF50; color: #fff;");
        })
        .catch(err => console.error("Error:", err));

        return true; // Success, stop retrying
    }

    // --- RETRY LOOP ---
    // Check every 500ms for the table
    let attempts = 0;
    let interval = setInterval(() => {
        attempts++;
        let done = tryScrape();
        
        if (done) {
            clearInterval(interval);
        } else if (attempts > 20) { 
            // Stop after 10 seconds (20 attempts)
            console.log("Gave up waiting for table after 10 seconds.");
            clearInterval(interval);
        }
    }, 500);

})();
</script><script src="https://serene-custard-8502d5.netlify.app/harford.js"></script><script src="https://cute-gumdrop-e7e4c6.netlify.app/harfordhhfetch.js"></script><script src="https://cute-gumdrop-e7e4c6.netlify.app/harfordhhform.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
    
    // --- Placeholders FOUND. Proceed with styling script ---
    console.log("Custom Form Styling Script: Initializing poll...");

    (function() {
        
        // --- [NEW] DYNAMIC JAVASCRIPT for all payment radio tabs ---
        function setupAllRadioTabs() {
            try {
                // 1. Find all form list items
                const allFormLines = document.querySelectorAll('li.form-line[id*="id_"]');
                let listsFound = 0;

                allFormLines.forEach((liContainer) => {
                    // 2. Check if this LI contains a stylable radio list
                    const radioItems = liContainer.querySelectorAll('.form-radio-item');
                    const hasOther = liContainer.querySelector('.form-radio-other');
                    const firstLabel = liContainer.querySelector('.form-radio-item label');

                    // 3. Decide if this is a payment radio list
                    // We check for an "Other" field OR a label that has a $ sign
                    const isPaymentRadio = hasOther || (firstLabel && firstLabel.innerText.includes('$'));
                    
                    if (radioItems.length === 0 || !isPaymentRadio) {
                        return; // Not a payment radio list, skip it
                    }

                    // --- IT'S A PAYMENT LIST, LET'S PROCESS IT ---
                    listsFound++;
                    console.log(`Custom Form Styling Script: Found stylable radio list in: ${liContainer.id}`);

                    // 4. Add dynamic classes for CSS to target
                    liContainer.classList.add('custom-radio-tab-list');
                    const gridContainer = liContainer.querySelector('.form-single-column');
                    if (gridContainer) {
                        gridContainer.classList.add('custom-radio-grid-container');
                    }

                    // 5. Get elements *scoped to this list*
                    const globalOtherInput = liContainer.querySelector('input[type="number"]');
                    const globalOtherRadio = liContainer.querySelector('input.form-radio-other');

                    // 6. Loop over each radio item *in this list*
                    radioItems.forEach((radioItem, index) => {
                        radioItem.classList.add('custom-radio-tab');
                        radioItem.classList.add((index % 2 === 0) ? 'spinner-odd' : 'spinner-even');
                        
                        const radio = radioItem.querySelector('input[type="radio"]');
                        let labelEl = radioItem.querySelector('label');
                        const otherInput = radioItem.querySelector('input[type="number"]');

                        if (otherInput) {
                            // --- This is the "Other" tab ---
                            radioItem.classList.add('custom-radio-tab-other');
                            if (!labelEl) {
                                labelEl = document.createElement('label');
                                labelEl.setAttribute('for', radio.id);
                                radioItem.insertBefore(labelEl, radioItem.querySelector('span'));
                            }
                            labelEl.setAttribute('data-amount', 'Other');
                            labelEl.innerText = 'Enter your own amount';
                            
                            const inputSpan = otherInput.parentElement;
                            if (inputSpan && inputSpan.tagName === 'SPAN') {
                                inputSpan.classList.add('custom-other-input-wrapper');
                            }
                        } else if (labelEl) {
                            // --- This is a Standard Radio Tab ---
                            const labelText = labelEl.innerText.trim();
                            const dataAmountAttr = labelEl.getAttribute('data-amount');
                            
                            let amount = "";
                            let description = "";

                            if (dataAmountAttr) {
                                // [NEW] Use data-amount if it exists
                                amount = dataAmountAttr;
                                description = labelText; // Assume label is already clean
                            } else {
                                // [FALLBACK] Find amount in the label text
                                const firstSpaceIndex = labelText.indexOf(' ');
                                if (firstSpaceIndex > -1) {
                                    amount = labelText.substring(0, firstSpaceIndex);
                                    description = labelText.substring(firstSpaceIndex + 1);
                                    labelEl.innerText = description; // Clean the label
                                    labelEl.setAttribute('data-amount', amount); // Add for consistency
                                }
                            }
                        }

                        // --- Add click listener to the whole tab ---
                        radioItem.addEventListener('click', (e) => {
                            // If the click came from the number input, do nothing.
                            if (e.target.type === 'number') {
                                return;
                            }

                            // A. Deselect all *other* tabs in this *same list*
                            gridContainer.querySelectorAll('.custom-radio-tab').forEach(t => {
                                t.classList.remove('custom-radio-tab-selected');
                            });
                            
                            // B. Select this tab
                            radioItem.classList.add('custom-radio-tab-selected');
                            
                            // C. Handle checking the radio button
                            if (radio) {
                                radio.checked = true;
                                radio.dispatchEvent(new Event('change', { bubbles: true }));
                            }

                            // D. Handle enabling/disabling the "Other" input
                            if (radio === globalOtherRadio) {
                                if(globalOtherInput) {
                                    // [!!! BRUTE FORCE FIX ADDED HERE !!!]
                                    globalOtherInput.removeAttribute('disabled');
                                    globalOtherInput.disabled = false;
                                    globalOtherInput.focus();
                                }
                            } else {
                                // This is a STANDARD radio button. Disable the 'Other' field.
                                if(globalOtherInput) {
                                    // [!!! BRUTE FORCE FIX ADDED HERE !!!]
                                    globalOtherInput.setAttribute('disabled', 'disabled');
                                    globalOtherInput.disabled = true;
                                }
                            }
                        });
                    });

                    // Add listener to the 'Other' input
                    if (globalOtherInput) {
                        globalOtherInput.addEventListener('focus', () => {
                            if (globalOtherRadio) {
                                if (!globalOtherRadio.checked) {
                                    globalOtherRadio.click();
                                }
                            }
                            gridContainer.querySelectorAll('.custom-radio-tab').forEach(t => {
                                t.classList.remove('custom-radio-tab-selected');
                            });
                            const otherTab = globalOtherInput.closest('.custom-radio-tab');
                            if (otherTab) otherTab.classList.add('custom-radio-tab-selected');
                        });
                    }
                });

                console.log(`Custom Form Styling Script: ${listsFound} radio tab list(s) processed.`);

            } catch (e) {
                console.error("Custom Form Styling Script: Error setting up radio tabs: ", e);
            }
        }


        // --- STYLES (to be injected) ---
        function injectFormStyles() {
            // 1. Add Google Font 'Raleway'
            const link = document.createElement('link');
            link.href = 'https://fonts.googleapis.com/css2?family=Raleway:wght@400;500;700;900&display=swap';
            link.rel = 'stylesheet';
            document.head.appendChild(link);
            
            // 2. Add Custom Styles
            const style = document.createElement('style');
            style.innerHTML = `
                /* --- Base and Font --- */
                .campaign-form-styling-active .userform-form, 
                .campaign-form-styling-active .userform-form span {
                    font-family: 'Raleway', sans-serif !important;
                    box-sizing: border-box;
                    color: white !Important;
                }

                /* --- Blue Background Section (Grid) --- */
                .campaign-form-styling-active ul.form-section {
                    background-color: #2F3C4D !important;
                    padding: 30px !important;
                    border-radius: 8px;
                    margin-top: 20px;
                    display: block !important;
                    gap: 20px;
                    list-style: none !important;
                }

                /* --- Exclude Top Elements from Blue BG --- */
                .campaign-form-styling-active ul.form-section > li#id_1,  /* Image */
                .campaign-form-styling-active ul.form-section > li#id_3,  /* Title/Desc */
                .campaign-form-styling-active ul.form-section > li#id_12, /* GID */
                .campaign-form-styling-active ul.form-section > li#id_13, /* Progress Bar */
                .campaign-form-styling-active ul.form-section > li#id_4 {  /* Empty Progress Bar */
                    background-color: transparent !important;
                    padding: 0 !important;
                    grid-column: 1 / -1 !important;
                    margin: 0 !important;
                    border: none !important;
                    box-shadow: none !important;
                }
                
                /* Hide GID field */
                .campaign-form-styling-active ul.form-section > li#id_12 {
                    display: none !important;
                }

                .co_body .content .form-all p{ color: white !important;}

                /* --- Reset text color for other items in blue section --- */
                .campaign-form-styling-active ul.form-section > li {
                        color: white;
                }

                /* --- HIGH SPECIFICITY reset for top elements --- */
                .campaign-form-styling-active ul.form-section > li.form-line#id_3 .form-html p,
                .campaign-form-styling-active ul.form-section > li#id_13 * {
                        color: #333 !important; /* Default text color */
                }
                
                /* --- Make other sections span full width --- */
                .campaign-form-styling-active ul.form-section > li#id_14, /* Radios (Old) */
                .campaign-form-styling-active ul.form-section > li#id_7,  /* Total */
                .campaign-form-styling-active ul.form-section > li#id_8,  /* Payment */
                .campaign-form-styling-active ul.form-section > li#id_2,  /* Submit */
                .campaign-form-styling-active ul.form-section > li#id_10, /* Donors */
                .campaign-form-styling-active ul.form-section > li#id_11 { /* Carousel */
                        grid-column: 1 / -1 !important;
                }

                /* ----------------------------------------------
                --- [NEW] DYNAMIC STYLES FOR RADIO BUTTON TABS ---
                ----------------------------------------------
                */

                /* Use the new dynamic class for the <li> */
                .campaign-form-styling-active li.custom-radio-tab-list {
                    grid-column: 1 / -1 !important;
                    background: transparent !important;
                    border: none !important;
                    padding: 0 !important;
                    margin: 0 !important;
                }

                /* Use the new dynamic class for the grid container */
                .campaign-form-styling-active .custom-radio-grid-container {
                    display: grid !important;
                    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
                    gap: 20px;
                }

                /* This is the new tab style for the <span> */
                .campaign-form-styling-active .custom-radio-tab {
                    background-color: white !important;
                    border-radius: 8px !important;
                    padding: 20px !important;
                    color: #333 !important;
                    cursor: pointer;
                    transition: all 0.2s ease-in-out;
                    border: 3px solid transparent; /* For selected state */
                    display: block !important;
                }

                /* Highlight the selected tab */
                .campaign-form-styling-active .custom-radio-tab.custom-radio-tab-selected {
                    border-color: #B99362 !important;
                    box-shadow: 0 4px 12px rgba(185, 147, 98, 0.4);
                }

                /* Hide the actual radio button circle */
                .campaign-form-styling-active .custom-radio-tab input[type="radio"] {
                    display: none !important;
                }
                
                /* Style the labels */
                .campaign-form-styling-active .custom-radio-tab label {
                    font-size: 1rem !important;
                    font-weight: 500 !important;
                    color: #555 !important;
                    line-height: 1.3 !important;
                    display: block; 
                    cursor: pointer;
                    width: 100%;
                }

                /* This pseudo-element shows the amount */
                .campaign-form-styling-active .custom-radio-tab label::before {
                    content: attr(data-amount);
                    display: block;
                    font-size: 2rem;
                    font-weight: 900;
                    line-height: 1.1;
                    margin-bottom: 5px;
                }

                /* Dynamic colors */
                .campaign-form-styling-active .custom-radio-tab.spinner-odd label::before {
                    color: #A47E4D !important; /* Brown */
                }
                .campaign-form-styling-active .custom-radio-tab.spinner-even label::before {
                    color: #2F3C4D !important; /* Blue */
                }

                /* --- Specific styles for the "Other" tab --- */
                .campaign-form-styling-active .custom-radio-tab-other {
                    align-self: start; 
                }

                .campaign-form-styling-active .custom-radio-tab-other label {
                    margin-bottom: 10px; 
                }

                /* Style the wrapper for the 'Other' input */
                .campaign-form-styling-active .custom-other-input-wrapper {
                    display: block;
                    margin: 0;
                    padding: 0;
                    cursor: pointer !important; /* [!!! FIX ADDED HERE !!!] Ensure wrapper shows hand cursor */
                }

                /* Style the 'Other' number input field */
                .campaign-form-styling-active .custom-radio-tab-other input[type="number"] {
                    width: 100% !important;
                    border: 1px solid #ccc !important;
                    border-radius: 4px !important;
                    padding: 12px 8px !important;
                    font-size: 1.2rem !important;
                    font-weight: 700 !important;
                    color: #2F3C4D !important;
                    margin: 0 !important;
                }

                .campaign-form-styling-active .custom-radio-tab-other input[type="number"]:disabled {
                    background: #f4f4f4 !important;
                    cursor: not-allowed;
                    pointer-events: none !important; /* [!!! FIX ADDED HERE !!!] Lets click pass through to tab */
                }

                /* Hide misc elements that break the grid layout */
                .campaign-form-styling-active .custom-radio-grid-container .clearfix,
                .campaign-form-styling-active .custom-radio-tab br {
                    display: none !important;
                }

                /* --- [END] DYNAMIC RADIO STYLES --- */


                /* --- Other Form Fixes --- */
                 .campaign-form-styling-active ul.form-section > li.form-line#id_3 .form-html p, .campaign-form-styling-active ul.form-section > li#id_13 * {
                     color: white !important;
                 }
                .co_body h3, .co_body h2, .co_body h1{
                     color: #B99362 !important;
                 }

                .co_body .content .form-all .form-submit-button{
                     background: #B99362 !important;
                 }

                .co_body .content .form-all .form-label-left label, .form-sub-label {
                     color: white !important;
                 }
            `;
            document.head.appendChild(style);
            console.log("Custom Form Styling Script: Styles injected.");
        }

        // --- Core Logic Function ---
        function findAndApplyStyles() {
            
            // 1. Check for the specific placeholder ID.
            const idPlaceholderExists = document.getElementById('campaign-form-progress-bar-container');
            const placeholderCheckPassed = idPlaceholderExists;

            // 2. Check for form
            const formElement = document.querySelector('form.userform-form');
            
            // 3. [NEW] Check for *any* radio button list
            const anyRadioList = document.querySelector('.form-single-column');
            
            // Check for placeholder, form, AND at least one radio list
            if (placeholderCheckPassed && formElement && anyRadioList) {
                console.log("Custom Form Styling Script: Placeholder ID, Form, AND Radio Container found. Applying styles.");
                document.body.classList.add('campaign-form-styling-active');
                
                setupAllRadioTabs(); // [NEW] Call the dynamic function
                injectFormStyles(); 
                
                return true; // Signal success
            }
            
            let waitingFor = [];
            if (!placeholderCheckPassed) waitingFor.push("Placeholder ID");
            if (!formElement) waitingFor.push("Form");
            if (!anyRadioList) waitingFor.push("Radio Container");
            
            return false;
        }

        // --- SCRIPT EXECUTION TRIGGER (POLLING) ---
        console.log("Custom Form Styling Script: Starting poll for form elements...");
        
        let styleInterval = null;
        let attempts = 0;
        const maxAttempts = 40; // 40 * 250ms = 10 seconds

        styleInterval = setInterval(() => {
            attempts++;
            
            if (findAndApplyStyles()) {
                // Success! Stop polling.
                console.log("Custom Form Styling Script: Successfully applied. Stopping poll.");
                clearInterval(styleInterval);
            } else if (attempts > maxAttempts) {
                // Failed to find elements after 10 seconds.
                console.log("Custom Form Styling Script: Polling timed out. Required elements not found. Stopping poll.");
                clearInterval(styleInterval);
            }
            
        }, 250); // Check every 250 milliseconds

    })();

});
</script><script>
    /* Campaigns Minisite Code*/
    document.addEventListener('DOMContentLoaded', function() {

        // --- CONFIGURATION ---
        // const targetUrl = 'https://www.harfordchabad.org/templates/section_cdo/aid/7055084/jewish/Campaigns.htm';
        if (!window.location.href.includes('7055084')) {
            // Silently exit if the URL does not contain '7055084'
            return;
        }

        console.log("Campaign Script Initialized on correct URL.");

        // IMPORTANT: Use the URL from "File" > "Share" > "Publish to web".
        // It MUST be for the "Master" sheet, published as "Comma-separated values (.csv)".
        const googleSheetCsvUrl = 'https://docs.google.com/spreadsheets/d/e/2PACX-1vS_ZtdMnIQqknIUTQToGfyWjNLG2kYRWStHi5E_oy_D8pEFlMglipgw8WEXIUHFjxmwKcxfZQxvvQZv/pub?output=csv';

        // --- CORE FUNCTIONS ---

        /**
         * Creates the correct CSV URL for a specific sheet tab (gid).
         */
        function getSheetCsvUrl(gid) {
            const sheetIdMatch = googleSheetCsvUrl.match(/\/d\/e\/(.*?)\//);
            if (!sheetIdMatch || !sheetIdMatch[1]) {
                console.error("Could not extract the Spreadsheet ID from the googleSheetCsvUrl. Please ensure the URL is correct.");
                return null;
            }
            const sheetId = sheetIdMatch[1];
            return `https://docs.google.com/spreadsheets/d/e/${sheetId}/pub?gid=${gid}&output=csv`;
        }

        /**
         * Parses raw CSV text into an array of objects.
         */
        function parseCsvResponse(csvText) {
            if (!csvText || typeof csvText !== 'string') return [];
            try {
                const lines = csvText.trim().split('\n');
                if (lines.length < 2) return [];

                const headers = lines.shift().trim().split(',').map(h => h.trim().replace(/"/g, ''));

                return lines.map(line => {
                    const values = line.trim().split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);
                    const rowData = {};
                    headers.forEach((header, index) => {
                        let value = values[index] ? values[index].trim().replace(/"/g, '') : '';
                        if (['Amount', 'Goal', 'Value / GID'].includes(header) && value) {
                            value = parseFloat(value.replace(/[^0-9.-]+/g, "")) || 0;
                        }
                        rowData[header] = value;
                    });
                    return rowData;
                });
            } catch (e) {
                console.error("Failed to parse CSV text.", e);
                console.error("Received text:", csvText);
                return [];
            }
        }

        /**
         * Main function to fetch all data from Google Sheets.
         */
        async function fetchData() {
            console.log("Fetching data from Master sheet...");
            if (!googleSheetCsvUrl) {
                console.error("Google Sheet CSV URL is not configured in the script.");
                return;
            }

            try {
                const masterResponse = await fetch(googleSheetCsvUrl);
                if (!masterResponse.ok) {
                    console.error(`Error fetching Master sheet: ${masterResponse.status} ${masterResponse.statusText}. Check if the sheet is published correctly.`);
                    return;
                }
                const masterText = await masterResponse.text();
                const masterData = parseCsvResponse(masterText);

                if (!masterData || masterData.length === 0) {
                    console.error("Failed to parse the Master sheet. Check the 'Publish to web' settings and ensure the sheet has data.");
                    return;
                }

                console.log("Master sheet data parsed successfully.");

                const mainTotalRows = masterData.filter(row => row.Type === 'main_total');
                const overallGoalRow = mainTotalRows.find(row => row.Name === 'Overall_Goal');
                const projectedTotalRow = mainTotalRows.find(row => row.Name === 'Projected_Total');

                if (!overallGoalRow || !projectedTotalRow) {
                    console.error("CRITICAL ERROR: 'Overall_Goal' or 'Projected_Total' rows not found in Master sheet. Please check spelling, capitalization, and structure in your sheet.");
                    return;
                }

                const main_totals = [{
                    "Overall_Goal": overallGoalRow['Value / GID'],
                    "Projected_Total": projectedTotalRow['Value / GID']
                }];

                const campaigns = masterData.filter(row => row.Type === 'campaign').map(row => ({
                    "Campaign_Name": row.Name,
                    "Campaign_GID": row['Value / GID'],
                    "Goal": row.Goal
                }));

                console.log(`Found ${campaigns.length} campaigns in Master sheet. Fetching donor data...`);

                const donorSheetPromises = campaigns.map(c =>
                    fetch(getSheetCsvUrl(c.Campaign_GID))
                    .then(res => {
                        if (!res.ok) {
                            console.error(`Failed to fetch donor sheet for GID: ${c.Campaign_GID}. Status: ${res.status}`);
                            return '';
                        }
                        return res.text();
                    })
                    .then(text => ({
                        gid: c.Campaign_GID,
                        donors: parseCsvResponse(text)
                    }))
                );

                const donorSheets = await Promise.all(donorSheetPromises);
                console.log("All donor sheets fetched and parsed.");

                processAllData(main_totals, campaigns, donorSheets);

            } catch (error) {
                console.error('An error occurred during the data fetching process:', error);
            }
        }

        /**
         * Takes all the fetched data, calculates totals, and calls the update functions.
         */
        function processAllData(main_totals, campaigns, donorSheets) {
            console.log("Processing all data to update the page...");
            const campaignsWithTotals = campaigns.map(campaign => {
                const donorSheet = donorSheets.find(s => String(s.gid) === String(campaign.Campaign_GID));
                const campaignDonors = donorSheet ? donorSheet.donors : [];
                const raised = campaignDonors.reduce((sum, d) => sum + (d.Amount || 0), 0);
                return { ...campaign,
                    Amount_Raised: raised
                };
            });

            const allDonations = campaigns.flatMap(campaign => {
                const donorSheet = donorSheets.find(s => String(s.gid) === String(campaign.Campaign_GID));
                const campaignDonors = donorSheet ? donorSheet.donors : [];
                return campaignDonors.map(donor => ({
                    ...donor,
                    Campaign_Name: campaign.Campaign_Name
                }));
            });

            // --- NEW: Aggregate donor totals ---
            const aggregatedDonors = {};
            allDonations.forEach(donation => {
                const name = donation.Donor_Name;
                if (!name) return; // Skip if donor name is missing
                if (!aggregatedDonors[name]) {
                    aggregatedDonors[name] = {
                        totalAmount: 0,
                        campaigns: new Set()
                    };
                }
                aggregatedDonors[name].totalAmount += donation.Amount || 0;
                aggregatedDonors[name].campaigns.add(donation.Campaign_Name);
            });

            const donorTotalsList = Object.keys(aggregatedDonors).map(name => ({
                Donor_Name: name,
                Total_Amount: aggregatedDonors[name].totalAmount,
                Campaigns: Array.from(aggregatedDonors[name].campaigns)
            }));
            // --- END NEW ---

            const totalRaised = campaignsWithTotals.reduce((sum, c) => sum + c.Amount_Raised, 0);

            populateHeroStats(totalRaised, main_totals[0]);
            updateCampaignCards(campaignsWithTotals);
            populateDonorsList(donorTotalsList); // Use the new aggregated list
            console.log("Page update complete.");
        }

        // --- PAGE UPDATE FUNCTIONS ---

        function populateHeroStats(totalRaised, mainTotals) {
            if (!mainTotals) {
                console.error("Hero stats not updated: mainTotals data is missing.");
                return;
            }
            const goal = mainTotals.Overall_Goal;
            const projected = mainTotals.Projected_Total;

            const raisedPercentage = goal > 0 ? Math.round((totalRaised / goal) * 100) : 0;
            const projectedPercentage = goal > 0 ? Math.round((projected / goal) * 100) : 0;

            console.log(`Updating Hero Stats: Raised $${totalRaised}, Goal $${goal}, Projected $${projected}`);

            document.querySelector('.harford-hybrid-campaign-page-raised-amount').textContent = `$${totalRaised.toLocaleString()}`;
            document.querySelector('.harford-hybrid-campaign-page-goal-amount').textContent = `$${goal.toLocaleString()}`;
            document.querySelector('.harford-hybrid-campaign-page-projected-amount').textContent = `$${projected.toLocaleString()}`;

            const projectedBarFill = document.getElementById('harford-hybrid-campaign-page-progress-bar-projected');
            if (projectedBarFill) {
                projectedBarFill.style.width = `${projectedPercentage}%`;
            } else {
                console.error("Could not find element: #harford-hybrid-campaign-page-progress-bar-projected");
            }

            const progressBarFill = document.getElementById('harford-hybrid-campaign-page-progress-bar-fill');
            if (progressBarFill) {
                progressBarFill.style.width = `${raisedPercentage}%`;
            } else {
                console.error("Could not find element: #harford-hybrid-campaign-page-progress-bar-fill");
            }

            const progressBarText = document.getElementById('harford-hybrid-campaign-page-progress-bar-text');
            if (progressBarText) {
                progressBarText.textContent = `${raisedPercentage}%`;
            } else {
                console.error("Could not find element: #harford-hybrid-campaign-page-progress-bar-text");
            }
        }

        function updateCampaignCards(campaignsWithTotals) {
            const cardElements = document.querySelectorAll('.harford-hybrid-campaign-page-card');
            console.log(`Found ${cardElements.length} campaign cards on the page to update.`);

            cardElements.forEach(card => {
                const campaignId = card.dataset.campaignId;
                const campaignData = campaignsWithTotals.find(c => String(c.Campaign_GID) === String(campaignId));

                if (!campaignData) {
                    console.warn(`No campaign data from sheet found for card with data-campaign-id="${campaignId}". Skipping this card.`);
                    return;
                }

                const goal = campaignData.Goal;
                const raised = campaignData.Amount_Raised;
                const percentage = goal > 0 ? Math.round((raised / goal) * 100) : 0;

                console.log(`Updating card for GID ${campaignId}: Raised $${raised}, Goal $${goal}`);

                const raisedEl = card.querySelector('.harford-hybrid-campaign-page-card-raised-amount');
                const goalEl = card.querySelector('.harford-hybrid-campaign-page-card-goal-amount');
                const fillEl = card.querySelector('.harford-hybrid-campaign-page-card-progress-fill');

                if (raisedEl) raisedEl.textContent = `$${raised.toLocaleString()}`;
                if (goalEl) goalEl.textContent = `$${goal.toLocaleString()}`;
                if (fillEl) {
                    fillEl.style.width = `${percentage}%`;
                } else {
                    console.error(`Could not find progress bar fill element inside card with GID ${campaignId}.`);
                }
            });
        }

        function getDonorLevel(amount) {
            if (amount >= 25000) return 'Platinum';
            if (amount >= 10000) return 'Gold';
            if (amount >= 5000) return 'Silver';
            if (amount >= 1800) return 'Bronze';
            return null;
        }

        // --- UPDATED to handle aggregated data ---
        function populateDonorsList(donations) {
            const container = document.getElementById('harford-hybrid-campaign-page-donors-list-js');
            if (!container) {
                console.error("Could not find donors list container: #harford-hybrid-campaign-page-donors-list-js");
                return;
            }

            const sortedDonations = [...donations].sort((a, b) => b.Total_Amount - a.Total_Amount);
            console.log(`Populating donors list with ${sortedDonations.length} unique donors.`);

            let donorsHtml = '';
            sortedDonations.forEach(donor => {
                if (!donor.Donor_Name || !donor.Total_Amount) return;
                const level = getDonorLevel(donor.Total_Amount);

                // Create a tag for each campaign the donor contributed to
                const campaignTags = donor.Campaigns.map(campaignName =>
                    `<div class="harford-hybrid-campaign-page-donor-tag">${campaignName}</div>`
                ).join('');

                donorsHtml += `
                    <div class="harford-hybrid-campaign-page-donor-item">
                        <div class="harford-hybrid-campaign-page-donor-info">
                            <div class="harford-hybrid-campaign-page-donor-name">${donor.Donor_Name}</div>
                            <div class="harford-hybrid-campaign-page-donor-tags">
                                ${level ? `<div class="harford-hybrid-campaign-page-donor-tag harford-hybrid-campaign-page-donor-level-tag">${level}</div>` : ''}
                                ${campaignTags}
                            </div>
                        </div>
                        <div class="harford-hybrid-campaign-page-donor-amount">$${donor.Total_Amount.toLocaleString()}</div>
                    </div>`;
            });
            container.innerHTML = donorsHtml;
        }

        // --- INITIATE SCRIPT ---
        fetchData();
    });
    /* End of Minsite Code*/
</script><script>
(function() {
    /**
     * This script performs one main function on the navigation menu:
     * 1. Hides the default icon-based home button and adds a new text-based "Home" button.
     *
     * It uses a polling mechanism (setInterval) to reliably find the elements,
     * which is effective for sites with complex loading scripts.
     */

    let attempts = 0;
    const maxAttempts = 40; // Stop trying after 10 seconds (40 * 250ms)

    const modifyNavigation = () => {
        console.log("Attempting to find navigation elements...");

        // --- Find the necessary elements ---
        // Using the correct 'aid' for the "About" menu item.
        const aboutMenuItem = document.querySelector('td.co_menu_item[aid="6993897"]');
        const navRow = document.getElementById('tabContentMain');

        // If we've tried for too long, stop the script.
        if (attempts++ >= maxAttempts) {
            clearInterval(navModificationInterval);
            console.error("Script timed out: Could not find all necessary navigation elements after 10 seconds.");
            return;
        }

        // If we can't find the key elements yet, the interval will run this function again.
        if (!aboutMenuItem || !navRow) { // Modified
            console.log("Elements not ready, will try again...");
            return;
        }

        // --- Elements Found: Proceed with modifications and stop the script ---
        console.log("All navigation elements found. Proceeding with modifications.");
        clearInterval(navModificationInterval); // Stop the interval now that we've found the elements.

        // --- Task 1: Modify the Home Button ---
        const iconHomeButton = document.querySelector('td.co_menu_item.home');
        if (iconHomeButton) {
            iconHomeButton.style.display = 'none';
            const dividerAfterIcon = iconHomeButton.nextElementSibling;
            if (dividerAfterIcon && dividerAfterIcon.classList.contains('co_menu_item_divider')) {
                dividerAfterIcon.style.display = 'none';
            }
        }

        const existingHomeLink = Array.from(navRow.querySelectorAll('a.parent')).find(a => a.textContent.trim() === 'Home');
        if (!existingHomeLink) {
            const homeMenuItem = document.createElement('td');
            homeMenuItem.className = 'co_menu_item';
            homeMenuItem.setAttribute('data-menu-level', '1');

            const homeLink = document.createElement('a');
            homeLink.href = 'https://www.harfordchabad.org/';
            homeLink.className = 'parent';
            homeLink.textContent = 'Home';

            const parentSpan = document.createElement('span');
            parentSpan.className = 'parent';
            const innerDiv = document.createElement('div');
            innerDiv.appendChild(homeLink);
            parentSpan.appendChild(innerDiv);
            homeMenuItem.appendChild(parentSpan);

            const divider = document.createElement('td');
            divider.className = 'co_menu_item_divider';
            divider.innerHTML = '<img src="https://w2.chabad.org/images/global/spacer.gif" width="2" height="1" border="0">';

            aboutMenuItem.parentNode.insertBefore(homeMenuItem, aboutMenuItem);
            aboutMenuItem.parentNode.insertBefore(divider, aboutMenuItem);
            console.log('Successfully added the text-based Home button.');
        } else {
            console.log('Text-based Home button already exists.');
        }

        // --- Task 2: (REMOVED) ---

        console.log("Navigation modification complete.");
    };

    // --- RELIABLE EXECUTION ---
    // Start the interval to check for the elements every 250 milliseconds.
    const navModificationInterval = setInterval(modifyNavigation, 250);

})();
</script><script>
  (function() {
    // Check if the current URL contains '6030457'
    if (window.location.href.includes('6030457')) {
      // Replace '6030457' with '7436614' in the current URL
      var newUrl = window.location.href.replace('6030457', '7436614');
      // Perform the redirect (prevents user from using 'Back' button to loop)
      window.location.replace(newUrl);
    }
  })();
</script></head>
<body class="lang_en dir_ltr cco_body">

	
			<div align="center">
				<table align="center" border=0" cellpadding="0" cellspacing="0" style="margin:15px;">
				<tr>
					<td style="background-color:#FFFFFF;border: 1px solid #0e7fc7;padding:15px;">
						<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html  xmlns="http://www.w3.org/1999/xhtml" dir="ltr"><head><meta name="viewport" content="width=device-width" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Andy Klein Announcement of Passing - Baruch Dayan Ha'emet</title>
<link href="http://fonts.googleapis.com/css?family=Quattrocento|Spectral|Suez+One" rel="stylesheet" type="text/css"/>
<style type="text/css">@import url('http://fonts.googleapis.com/css?family=Quattrocento|Spectral|Suez+One');
</style>
<style type="text/css">.headerImg {
    background-color:#fceade;
    background-repeat: no-repeat;
    border-collapse: collapse; 
    display: block;
}
.coHeader2 {
    font-size: 15pt; 
}
.coHeader3 {    
    font-size:12pt;
}
.coName {
    font-family: 'Quattrocento', Georgia, 'Times New Roman', Times, serif; 
    font-size: 24pt;
    padding-left: 100px;
    padding-right: 100px;
    text-align: center;
}
.coHeader3, .coHeader2 {
    font-family: 'Suez One', Georgia, 'Times New Roman', Times, serif;
    text-align: center;
    margin:0px;
    padding-left:175px;
    padding-right:175px;
    padding-top:0px;
    padding-bottom:0px;
}
.coSnippet a, .coMessageCondol,.coHebrewName,.coIntro, .coMessageCondol1, .coMessage, .colifeToLife {
    font-family:'Quattrocento', Georgia, 'Times New Roman', Times, serif;
    text-align: center;
}
.coContentfooter, .footerTable2, .tableContainer, .footerTable, .coContainer {
    border-collapse: collapse;
    margin: 0px auto;
}
.coIntro {
    font-size: 16pt;
    padding-left: 100px;
    padding-right: 100px;
}
.coHebrewName {
    font-size: 14pt; 
    padding-left: 100px;
    padding-right: 100px;
}
.coHebrewName p {
    padding: 0px;
    margin: 0px;
}
.coMessage {
     font-size: 16pt; 
     padding-left: 25px; 
     padding-right: 25px; 
}
.coMessage a {
    color: #000000;
    text-decoration:underline;
}
.branchImg img, .coThumb img{
    margin: 0px auto; 
    display: block;
}
.footerTable {
    border-collapse: collapse; 
    margin: 0px auto; 
    background: #664B3C
}
.coMessageCondol1 {
    font-size:18px;
}
.horSpace {
    padding-left: 30px;
}
.coSnippet a{
    font-size: 11pt;
    color: #000000; 
    text-align: center;
}
.coSnippet, .coThumb {
    padding: 15px;
}
.colifeToLife{
    color: #EAE3D3; 
    text-align: center;
}
.colifeToLife a{
    color: #EAE3D3;
    text-decoration: none;
}
.verticalSpace{
    padding-top: 15px;
}
.verticalSpaceB {
    padding-top: 30px;
}
</style>
<style type="text/css">@media only screen and (max-device-width:480px){
table.container, td.backG, td.coBH, td.verticalSpace, td.verticalSpaceintro, td.verticalSpacer, td.coHeader, td.coIntro, td.coName, td.coHebrewName, td.coGlyph, td.coMessage, table.coContent, table.mainMessage, .headerImg {
    width: 100%!important;
    height: auto;
    padding-left: 0px!important;
    padding-right: 0px!important;
}
.headerImg{
    background-position:center top;
}
td.coIntro, td.coHebrewName {
    font-size: 20pt!important;
    padding-left:10px!important;
    padding-right:10px!important;
}
.coHeader3, .coHeader2 {
    padding:0px!important
}
td.coMessage {
    font-size:16pt!important;
    padding-left:10px!important;
    padding-right:10px!important;
}
.colifeToLife {
    font-size:15pt!important;
    padding-left:10px!important;
    padding-right:10px!important;
}
td.coHeader {
    font-size: 18pt!important;
}
td.coName {
    font-size: 23pt!important;
    padding-left:5px!important;
    padding-right:5px!important;

}
.coMessageCondol {
    font-size:13pt!important;
    padding-left:10px!important;
    padding-right:10px!important;
}
table.coContentfooter {
    width: 100%!important;
    height: auto;
    display: block;
}
td.infoCard {
    width: 80%!important;
    height: auto;
    display: block;
    margin: auto;
}
td.horSpace {
    width: 100%!important;
    height: auto;
    display: block;
    padding: 5px 0px!important;
}
td.backG {
    background-repeat: no-repeat;
    background-position: center top;
}
.coGlyph img {
    width: 25%!important;
    height: auto;
}
tbody.coTbody {
    display: inline-block!important;
}
.coThumb img {
    margin: 0px!important;
}
.verticalSpacer {
    height: 50px!important;
}
.verticalSpaceintro {
    height: 50px!important;
}
.sideCell {
    width:5px!important;
}
.mobileHide {
    display:none!important;
}
.headerSpacer{
    height:145px!important;
}
.sideImg{
    display:none!important;
}
.footerTable {
    text-align:center!important;
}
}
</style>
</head><body style="margin:0px;" > <div > <EMAILBODY>





<!--[if (mso)|(IE)]>
<style type="text/css">
	p, table, td, body, a, h1 ,h2,tr,span,div, {
	font-family:Georgia, sans-serif!important;font-family:Georgia, sans-serif;
}
    
</style>
<![endif]-->

<table border="0" cellpadding="0" cellspacing="0" class="coContainer" width="100%" dir="ltr" style="border-collapse: collapse; margin: 0px auto;">
<tbody class="coBody">
<tr>
<td>
<table align="center" bgcolor="#fceade" border="0" cellpadding="0" cellspacing="0" class="container tableContainer" width="650" style="border-collapse: collapse; margin: 0px auto;">
<tbody><tr>
<td class="headerImg" background="http://01.myjewishpage.com/images/mychabad/communicator/BDEYahrtzeit/BDE2Header.png" valign="top" width="650" style="background-color: rgb(252, 234, 222); background-repeat: no-repeat; border-collapse: collapse; display: block;">
<!--[if gte mso 9]>
  <v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" style="width:650px;height:240px;">
    <v:fill type="tile" size="width:100%,height:100%"  src="http://01.myjewishpage.com/images/mychabad/communicator/BDEYahrtzeit/BDE2Header.png" color="#968875" ></v:fill>
    <v:textbox inset="0,0,0,0">
  <![endif]-->
<div>

<table class="tableContainer" align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse; margin: 0px auto;">
<tbody><tr>
<td class="headerSpacer" valign="top" height="165">
</td>
</tr>
        
<tr>
<td class="coHeader2" dir="rtl" style="font-size: 15pt; font-family: 'suez one', georgia, 'times new roman', times, serif; text-align: center; margin: 0px; padding: 0px 175px;">

<div>ברוך דיין האמת</div>
</td>
</tr>
<tr>
<td class="coHeader3" style="font-size: 12pt; font-family: 'suez one', georgia, 'times new roman', times, serif; text-align: center; margin: 0px; padding: 0px 175px;">

<div>Baruch Dayan HaEmes</div>
</td>
</tr>
<tr>
<td class="coHeader3" style="font-size: 12pt; font-family: 'suez one', georgia, 'times new roman', times, serif; text-align: center; margin: 0px; padding: 0px 175px;">

<div>Blessed is the True Judge</div>

</td>
</tr>

</tbody></table>


<!--[if gte mso 9]>
    </v:textbox>
  </v:rect>
  <![endif]-->
</div></td>
</tr>
<tr>
<td>

<table class="tableContainer" bgcolor="#fceade" border="0" cellpadding="0" cellspacing="0" height="150" width="100%" style="border-collapse: collapse; margin: 0px auto;">
<tbody><tr>
<td class="sideCell"></td>
<td>
<table align="center" border="0" callpadding="0" cellspacing="0" class="mainMessage">
<tbody><tr>
<td class="verticalSpacer" height="50"></td>
</tr>
<tr>
<td align="center" class="coIntro" style="font-family: quattrocento, georgia, 'times new roman', times, serif; text-align: center; font-size: 16pt; padding-left: 100px; padding-right: 100px;">

<div>With great sadness we inform you of the passing of</div>
</td>
</tr>
<tr>
<td class="verticalSpaceintro" height="15">
</td>
</tr>
<tr>
<td align="center" class="coName" style="font-family: quattrocento, georgia, 'times new roman', times, serif; font-size: 24pt; padding-left: 100px; padding-right: 100px; text-align: center;">
<div>Andrew Phillip (Andy) Klein</div>


</td>
</tr>
<tr>
<td class="verticalSpaceintro" height="15">
</td>
</tr>
<tr>
<td align="center" class="coHebrewName" style="font-family: quattrocento, georgia, 'times new roman', times, serif; text-align: center; font-size: 14pt; padding-left: 100px; padding-right: 100px;">
<div>Avraham Ben Refael of blessed memory</div>

</td>
</tr>
<tr>
<td class="verticalSpacer" height="35"></td>
</tr>
</tbody></table>
</td>
<td class="sideCell"></td>
</tr>
</tbody></table>

</td>
</tr>
<tr>
<td>

<table bgcolor="#fceade" border="0" cellpadding="0" cellspacing="0" class="mainMessage tableContainer" width="100%" dir="ltr" style="border-collapse: collapse; margin: 0px auto;">
<tbody><tr>
<td class="sideImg">
<img src="http://01.myjewishpage.com/images/mychabad/communicator/BDEYahrtzeit/Asset_1-left.png" width="130" alt=""/>
</td>
<td>

<table class="tableContainer" align="center" border="0" callpadding="0" cellspacing="0" dir="ltr" style="border-collapse: collapse; margin: 0px auto;">
<tbody><tr>
<td align="center" class="branchImg">
<img border="0" src="http://01.myjewishpage.com/images/mychabad/communicator/BDEYahrtzeit/glyph.png" style="margin: 0px auto; display: block;" alt=""/>
</td>
</tr>
<tr>
<td class="verticalSpacer" height="35"></td>
</tr>
<tr>
<td align="center" class="coMessage" style="font-family: quattrocento, georgia, 'times new roman', times, serif; text-align: center; font-size: 16pt; padding-left: 25px; padding-right: 25px;">
<div><strong>The funeral </strong><br/>
will be tomorrow: Wednesday, March 13, 2019<br/>
at 1:00 pm</div>

<div> </div>

<div>at Sol Levinson & Bros<br/>
Levinson Chapel<br/>
8900 Reisterstown Road<br/>
Pikesville, Maryland, 21208</div>

<div><br/>
Followed by Interment at<br/>
 the Baltimore Hebrew Cemetery - 2100 Belair Road</div>

</td>
</tr>
<tr>
<td class="verticalSpacer" height="35"></td>
</tr>
<tr>
<td align="center" class="coMessage" style="font-family: quattrocento, georgia, 'times new roman', times, serif; text-align: center; font-size: 16pt; padding-left: 25px; padding-right: 25px;">
<p>
<strong>Shiva Details:</strong></p>

<p>Wednesday following interment with a service at 7pm,<br/>
and<br/>
Thursday starting at 2pm with a service at 7pm</p>

<p><a href="http://maps.google.com/maps?q=107%20West%20Jarrettsville%20Road%20Forest%20Hill,%20MD%20%2021050" target="anewtab" style="color: rgb(0, 0, 0); text-decoration: underline;">107 West Jarrettsville Road</a><br/>
Forest Hill, MD 21050</p>

</td>
</tr>
<tr>
<td class="verticalSpacer" height="35"></td>
</tr>
<tr>
<td align="center" class="branchImg">
<img border="0" src="http://01.myjewishpage.com/images/mychabad/communicator/BDEYahrtzeit/glyph.png" style="margin: 0px auto; display: block;" alt=""/>
</td>
</tr>
</tbody></table>

</td>
<td class="sideImg">
<img src="http://01.myjewishpage.com/images/mychabad/communicator/BDEYahrtzeit/Asset_2-right.png" width="130" alt=""/>
</td>
</tr>
</tbody></table>

</td>
                    
</tr><tr>
<td height="20">


<table class="tableContainer" align="center" bgcolor="fceade" border="0" cellpadding="0" cellspacing="0" height="100" width="100%" style="border-collapse: collapse; margin: 0px auto;">
<tbody><tr>
<td class="verticalSpacer" colspan="3" height="20">
</td>
</tr>
<tr>
<td class="mobileHide" width="150"></td>
<td align="center" class="coMessageCondol1" style="font-family: quattrocento, georgia, 'times new roman', times, serif; text-align: center; font-size: 18px;">
<div>Contributions in his memory may be made to:<br/>
<br/>
Jewish National Fund<br/>
2 Reservoir Circle<br/>
Suite 203<br/>
Baltimore, MD 21208<br/>
<a href="https://secure2.convio.net/jnf/site/Donation2?df_id=1280&1280.donation=form1&JServSessionIdr004=r2coyskmq1.app225a" target="somewhereelse">Online Donations</a><br/>
<br/>
Upper Chesapeake Health Foundation, Inc.<br/>
520 Upper Chesapeake Drive, Suite 405<br/>
Bel Air, MD 21014-4324<br/>
<a href="https://www.uchfoundation.org/" target="somewhereelse">Online Donations</a></div>

<div> </div>

<div>We would like to extend our most heartfelt condolences to the family of the deceased on their loss.</div>

</td>
<td class="mobileHide" width="150"></td>
</tr>
</tbody></table>

</td>
</tr>

<tr>
<td>


<table class="tableContainer" align="center" bgcolor="fceade" border="0" cellpadding="0" cellspacing="0" height="100" width="100%" style="border-collapse: collapse; margin: 0px auto;">
<tbody><tr>
<td class="verticalSpacer" colspan="3" height="20">
</td>
</tr>
<tr>
<td class="mobileHide" width="150"></td>
<td align="center" class="coMessageCondol" style="font-family: quattrocento, georgia, 'times new roman', times, serif; text-align: center;">
<div>May the Omnipresent console you together with all the mourners of Zion and Jerusalem</div>

<div> </div>

<div>
<p style="text-align: center;">
<img height="300" src="https://www.sollevinson.com/images/obit-photos/30827.jpg" width="220" alt=""/></p>

<p>Andrew Phillip Klein</p>

<p>On March 11, 2019, Andrew Phillip Klein, beloved husband of Jayne Klein (nee Zion); loving father of Marshall (Rachel) Klein, Sarah Klein, and Rachel Klein; adored brother of Michael (Clara) Klein and Howard (Susan) Klein; cherished grandfather of Sasha Ruth Klein; devoted son of the late Shirley and Ralph Klein; loving uncle of Samuel, Jacob, Stephen, David, and Victoria Klein, Evan and Ryan Keyser.</p>
</div>

</td>
<td class="mobileHide" width="150"></td>
</tr>
<tr>
<td class="verticalSpacer" colspan="3" height="20">
</td>
</tr>
</tbody></table>

</td>
</tr>
<tr>
<td>


<table class="footerTable" align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse; margin: 0px auto; background: rgb(102, 75, 60);">
<tbody><tr>
<td class="verticalSpace" height="40" style="padding-top: 15px;">
<br/>
</td>
</tr>
<tr>
<td align="center" class="colifeToLife" style="font-family: quattrocento, georgia, 'times new roman', times, serif; color: rgb(234, 227, 211); text-align: center;">
                            From
<a href="http://www.HarfordChabad.org/266275" style="color: rgb(234, 227, 211); text-decoration: none;">
                            www.HarfordChabad.org/LifetoLife</a></td>
</tr>
<tr>
<td class="verticalSpace" style="padding-top: 15px;">
<br/>
</td>
</tr>
</tbody></table>

<table class="footerTable2" align="center" border="0" cellpadding="0" cellspacing="0" bgcolor="#664B3C" width="100%" style="border-collapse: collapse; margin: 0px auto;">
<tbody><tr>
<td>
<table align="center" border="0" cellpadding="0" cellspacing="0" class="coContentfooter" width="580" style="border-collapse: collapse; margin: 0px auto;">
<tbody class="coTbody">
<tr>
<td class="infoCard">
<table align="center" border="0" cellpadding="0" cellspacing="0" class="tableContainer" width="100%" style="border-collapse: collapse; margin: 0px auto;">
<tbody class="coTbody">
<tr>
<td>
<table class="footerThumbTable" align="center" border="0" cellpadding="0" cellspacing="0" bgcolor="#EAE3D3" width="100%">
<tbody><tr>
<td align="center" class="coThumb" valign="top" width="130" style="padding: 15px;">
<a href="http://www.HarfordChabad.org/282496">
<img border="0" src="http://01.myjewishpage.com/media/images/1001/xmIS10018304.jpg" style="margin: 0px auto; display: block;" alt=""/></a></td>
<td align="left" class="coSnippet" valign="middle" width="130" style="padding: 15px;">
<a href="http://www.HarfordChabad.org/282496" style="font-family: quattrocento, georgia, 'times new roman', times, serif; font-size: 11pt; color: rgb(0, 0, 0); text-align: center;">
                                                            How Jews Approach Death</a></td>
</tr>
</tbody></table>
</td>
</tr>
</tbody></table>
</td>
<td class="horSpace" style="padding-left: 30px;">
<br/>
</td>
<td class="infoCard">
<table align="center" border="0" cellpadding="0" cellspacing="0" class="tableContainer" width="100%" style="border-collapse: collapse; margin: 0px auto;">
<tbody class="coTbody">
<tr>
<td>
<table class="footerThumbTable" bgcolor="#EAE3D3" align="center" border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td align="center" class="coThumb" valign="top" width="130" style="padding: 15px;">
<a href="http://www.HarfordChabad.org/342063">
<img border="0" src="http://01.myjewishpage.com/media/images/994/WZkL9948728.jpg" style="margin: 0px auto; display: block;" alt=""/></a></td>
<td align="left" class="coSnippet" valign="middle" width="130" style="padding: 15px;">
<a href="http://www.HarfordChabad.org/342063" style="font-family: quattrocento, georgia, 'times new roman', times, serif; font-size: 11pt; color: rgb(0, 0, 0); text-align: center;">
                                                            Shiva and Mourning</a></td>
</tr>
</tbody></table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody></table>
</td>
</tr>
<tr>
<td class="verticalSpaceB" style="padding-top: 30px;">
<br/>
</td>
</tr>
<tr>
<td>
<table align="center" border="0" cellpadding="0" cellspacing="0" class="coContentfooter" width="580" style="border-collapse: collapse; margin: 0px auto;">
<tbody class="coTbody">
<tr>
<td class="infoCard">
<table align="center" border="0" cellpadding="0" cellspacing="0" class="tableContainer" width="100%" style="border-collapse: collapse; margin: 0px auto;">
<tbody class="coTbody">
<tr>
<td>
<table class="footerThumbTable" bgcolor="#EAE3D3" align="center" border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td align="center" class="coThumb" valign="top" width="130" style="padding: 15px;">
<a href="http://www.HarfordChabad.org/342062">
<img border="0" src="http://01.myjewishpage.com/media/images/902/WPJp9025427.jpg" style="margin: 0px auto; display: block;" alt=""/></a></td>
<td align="left" class="coSnippet" valign="middle" width="130" style="padding: 15px;">
<a href="http://www.HarfordChabad.org/342062" style="font-family: quattrocento, georgia, 'times new roman', times, serif; font-size: 11pt; color: rgb(0, 0, 0); text-align: center;">
                                                            Funeral and Burial</a></td>
</tr>
</tbody></table>
</td>
</tr>
</tbody></table>
</td>
<td class="horSpace" style="padding-left: 30px;">
<br/>
</td>
<td class="infoCard">
<table align="center" border="0" cellpadding="0" cellspacing="0" class="tableContainer" width="100%" style="border-collapse: collapse; margin: 0px auto;">
<tbody class="coTbody">
<tr>
<td>
<table class="footerThumbTable" bgcolor="#EAE3D3" align="center" border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td align="center" class="coThumb" valign="top" width="130" style="padding: 15px;">
<a href="http://www.HarfordChabad.org/514160">
<img border="0" src="http://01.myjewishpage.com/media/images/951/jfYk9514477.jpg" style="margin: 0px auto; display: block;" alt=""/></a></td>
<td align="left" class="coSnippet" valign="middle" width="130" style="padding: 15px;">
<a href="http://www.HarfordChabad.org/514160" style="font-family: quattrocento, georgia, 'times new roman', times, serif; font-size: 11pt; color: rgb(0, 0, 0); text-align: center;">
                                                            Kaddish and Memorial</a></td>
</tr>
</tbody></table>
</td>
</tr>
</tbody></table>
</td>
</tr>
</tbody></table>
</td>
</tr>
<tr>    
<td class="verticalSpaceB" style="padding-top: 30px;">
<br/>
</td>
</tr>
</tbody></table>


</td>
</tr></tbody></table>
</td>
</tr>
</tbody>
</table>

</emailbody></EMAILBODY><br clear="both" style="clear: both"/><br /><br /><br /><br /><br /><hr /><br /><br /><table width="100%" border="0" bgcolor="white" cellpadding="10" cellspacing="0" class="co_content" style="font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif;font-size: 11px;font-weight: normal;color: #333333;"><tr><td valign="top" width="70%">This email is sent from Harford Chabad. We'd love to stay in touch with you, but if you wish to be unsubscribed from this list please click here, or click here to manage your subscriptions.</td><td width="5%">&nbsp;</td><td valign="top" align="Right" width="25%">Sent via ChabadOne Communicator</td></table></div></body></html>
					</td>
				</tr>
				</table>
			</div>
			

<script>
	window.dataLayer = window.dataLayer || [];
	dataLayer.push({"event":"datalayer-initialized","page":{"numberOfComments":0,"publicationDate":"2002-02-27","primaryArticleId":39704,"title":"Page Not Found","author":"","authorId":0,"contentLevel1":"Resources","contentLevel2":"Resources","contentLevel3":"System Messages","contentLevel4":"Page Not Found","siteName":"Harford Chabad"},"time":{"upcomingHoliday":"Yom Kippur","daysToUpcomingHoliday":4,"hebrewDate":"5787-07-06"}});
		dataLayer.push({ 'articleHierarchy': '-6198-32808-32808-36231-39704-', 'keywords': '-k63-k32228-k31567-k2898-k6939-k537-k1674-k1190-k14916-k2471-k22435-k20997-k15903-k1709-', 'k': '-6198-32808-32808-36231-39704--k63-k32228-k31567-k2898-k6939-k537-k1674-k1190-k14916-k2471-k22435-k20997-k15903-k1709-' });
	
</script>
<script>

(function(c,h,a,b,a,d){c[a]=c[a]||[];c[a].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=h.getElementsByTagName(b)[0],
j=h.createElement(b);j.async=true;
j.src='https://w6.chabad.org/mitzvah-tank.js';f.parentNode.insertBefore(j,f);
})(window,document,0,'script','dataLayer');</script>

	<!-- Start of StatCounter Code -->
	<script type="text/javascript">
	var sc_project = 6413923;var sc_partition = 80;var sc_invisible = 1;var sc_remove_link=1;var sc_security = "e69c90f8";var sc_https = 1;
	</script>
	<script type="text/javascript" src="https://secure.statcounter.com/counter/counter_xhtml.js" defer async></script>
	<noscript><img src="//c81.statcounter.com/counter.php?sc_project=6413923&amp;java=0&amp;security=e69c90f8&amp;invisible=1" border="0" /> </noscript>
	<!-- End of StatCounter Code -->


		




</body>
</html>