<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<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" />

<meta property="og:image" content="https://w2.chabad.org/media/images/1346/Dexg13462854.png" itemprop="image" width="1920" height="500" />
<meta property="og:image:width" content="1920" />
<meta property="og:image:height" content="500" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
<meta name="keywords" content="INSTITUTIONS" />
<meta name="title" content="INSTITUTIONS - Chabad of North East Iowa" />
<meta property="og:type" content="website" />
<meta name="scope-aids" content="3514190-3514198-7148012" />
<meta name="article-keywords" content="6760-2170-2898" />
<meta name="scope-aid" content="3514190" />
<meta name="scope-aid" content="3514198" />
<meta name="scope-aid" content="7148012" />
<meta name="article-keyword" content="6760" />
<meta name="article-keyword" content="2170" />
<meta name="article-keyword" content="2898" />
<meta property="og:url" content="https://www.chabadneiowa.com/templates/articlecco_cdo/aid/7148012/jewish/INSTITUTIONS.htm" />
<meta property="twitter:card" content="summary_large_image" />
<meta property="twitter:site" content="@chabad" />
<meta property="og:title" content="INSTITUTIONS - Chabad of North East Iowa" /><link rel="canonical" href="https://www.chabadneiowa.com/templates/articlecco_cdo/aid/7148012/jewish/INSTITUTIONS.htm" />
<link rel="image_src" href="https://w2.chabad.org/media/images/1346/Dexg13462854.png" />
<link rel="icon" type="image/png" href="https://www.chabadneiowa.com/media/images/1344/msFi13447966.png" />
<link rel="Stylesheet" href="/css/fonts/font-awesome/font-awesome-5.css?v=98662BF4" id="kfont-awesome" type="text/css"/>
<link rel="Stylesheet" href="/css/DefaultGrid.css?v=44B79007" id="kgrid" type="text/css"/>
<link rel="Stylesheet" href="/css/Elements.css?v=E669C926" id="k6" type="text/css"/>
<link rel="Stylesheet" href="/css/vendor/ds/tokens/sites.css?v=D77AD1C0" id="ksites-ds-css" type="text/css"/>
<link rel="Stylesheet" href="/css/new/main.css?v=2B7F734E" id="k7" type="text/css"/>
<link rel="Stylesheet" href="/css/global.css?v=D37C5613" id="k3" type="text/css"/>
<link rel="Stylesheet" href="/css/global-print.css?v=1FE80AC1" id="k5" type="text/css" media="print"/>
<link rel="Stylesheet" href="/css/cco/home/widget-styles.css?v=B14CEBA0" id="k6" type="text/css"/>
<link rel="Stylesheet" href="/css/sites6/default-theme.css?v=F68E803F" id="k" type="text/css"/>
<link rel="Stylesheet" href="/css/old/global.css?v=F7C22456" id="k2898" type="text/css"/>
<link rel="Stylesheet" href="/css/bootstrap/grid.css?v=B92FCAD8" id="kbootstrap4-grid" type="text/css"/>
<link rel="Stylesheet" href="/css/Library/reader-comments.css?v=5F31D0D8" id="kCommentsStylesheet" type="text/css"/>
<link rel="Stylesheet" href="/css/inline/BookInfo.css?v=14B88022" id="kBookInfoCss" type="text/css"/>
<!--[if lte IE 8]> <link rel="Stylesheet" href="/css/global-ie.css?v=E699B0F3" id="k4" type="text/css"/> <![endif]-->
<script>$q=[];$j=function(f){$q.push(f);}</script>
	
<title>
	INSTITUTIONS - Chabad of North East Iowa
</title>
	



<script>
	window.dataLayer = window.dataLayer || [];
	dataLayer.push({"event":"datalayer-initialized","page":{"numberOfComments":0,"publicationDate":"2025-12-03","primaryArticleId":7148012,"title":"","author":"","authorId":0,"contentLevel1":"My Site","contentLevel2":"INSTITUTIONS","siteName":"Chabad of North East Iowa"},"time":{"upcomingHoliday":"Shavuot","daysToUpcomingHoliday":5,"hebrewDate":"5786-03-01"}});
		dataLayer.push({ 'articleHierarchy': '-3514190-3514198-7148012-', 'keywords': '-k2898-k2170-k6760-', 'k': '-3514190-3514198-7148012--k2898-k2170-k6760-' });
	
</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 = 1076088;var sc_partition = 0;var sc_invisible = 1;var sc_remove_link=1;var sc_security = "55aad28f";var sc_https = 1;
	</script>
	<script type="text/javascript" src="https://secure.statcounter.com/counter/counter_xhtml.js" defer async></script>
	<noscript><img src="//c2.statcounter.com/counter.php?sc_project=1076088&amp;java=0&amp;security=55aad28f&amp;invisible=1" border="0" /> </noscript>
	<!-- End of StatCounter Code -->


<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=Commissioner:wght@100..900&family=Sofia+Sans+Condensed:wght@100..900&display=swap" rel="stylesheet">





				
				
<!-- Start Form Code -->









<!-- End Form Code -->
			


<script>
(function() {
    // 1. CONFIGURATION
    var targetPageID = "7184016";
    var urlIdentifier = "ArticleCcoResponse_cdo"; 
    
    // YOUR WEB APP URL
    var googleWebAppUrl = "https://script.google.com/macros/s/AKfycbzlivBIbc5PC32YT_qh_AYbUOeUhbIqmipn0qqDaXamSIxM-Jh1KbzAEmYXWoxpgY-XYg/exec"; 

    // 2. CHECK URL
    if (window.location.href.indexOf(targetPageID) > -1 && window.location.href.indexOf(urlIdentifier) > -1) {
        
        console.log("Scraper: Page detected. Waiting for table...");

        // Wait for the table to actually appear (Dynamic Loading)
        var attempts = 0;
        var maxAttempts = 20; 

        var checkInterval = setInterval(function() {
            var table = document.querySelector('.response_table');
            
            if (table) {
                // Table found!
                clearInterval(checkInterval);
                console.log("Scraper: Table found!");
                scrapeAndSend();
            } else {
                attempts++;
                if (attempts >= maxAttempts) {
                    clearInterval(checkInterval);
                    console.log("Scraper: Timed out waiting for table.");
                }
            }
        }, 500);

        function scrapeAndSend() {
            var extractedData = {
                firstName: "",
                lastName: "",
                amount: "", 
                date: "",   
                categoryRaw: "",
                submissionId: "" 
            };
            
            var isAnonymous = false; // Flag to track anonymity

            // 3. SCRAPE TABLE
            var tableRows = document.querySelectorAll('.response_table tr');
            
            if (tableRows.length > 0) {
                tableRows.forEach(function(row) {
                    // Check if row has at least 2 cells (Label and Value)
                    if (row.cells.length >= 2) {
                        var labelCell = row.cells[0]; // First column
                        var valueCell = row.cells[1]; // Second column

                        if (labelCell && valueCell) {
                            var label = labelCell.innerText.trim().toLowerCase();
                            var value = valueCell.innerText.trim();

                            // --- MAPPING FIELDS BASED ON YOUR HTML ---
                            
                            if (label.indexOf('select amount') > -1) {
                                extractedData.categoryRaw = value;
                            }
                            // Updated to match "Name to be displayed"
                            else if (label.indexOf('name to be displayed - first name') > -1) {
                                extractedData.firstName = value;
                            }
                            else if (label.indexOf('name to be displayed - last name') > -1) {
                                extractedData.lastName = value;
                            }
                            // --- ANONYMITY CHECK ---
                            else if (label.indexOf('checkbo11') > -1) {
                                if (value.toLowerCase().indexOf('donate anonymously') > -1) {
                                    isAnonymous = true;
                                }
                            }
                            // -----------------------
                            else if (label.indexOf('submission date') > -1) {
                                if(value.indexOf(' ') > -1) {
                                    extractedData.date = value.split(' ')[0];
                                } else {
                                    extractedData.date = value;
                                }
                            }
                            else if (label.indexOf('total amount') > -1) {
                                extractedData.amount = value;
                            }
                            else if (label.indexOf('submission id') > -1) {
                                extractedData.submissionId = value;
                            }
                        }
                    }
                });

                // --- APPLY ANONYMITY LOGIC ---
                if (isAnonymous) {
                    console.log("Scraper: Donor requested anonymity.");
                    extractedData.firstName = "Anonymous";
                    extractedData.lastName = ""; // Clear last name
                }

                // --- SMART CATEGORY LOGIC FOR "OTHER" ---
                if (!extractedData.categoryRaw || extractedData.categoryRaw.toLowerCase().indexOf('chai') === -1) {
                    var numAmount = parseFloat(extractedData.amount.replace(/[^0-9.]/g, ''));
                    
                    if (!isNaN(numAmount)) {
                        if (numAmount >= 3600) { extractedData.categoryRaw = "Chai Founder"; }
                        else if (numAmount >= 2700) { extractedData.categoryRaw = "Chai Visionary"; }
                        else if (numAmount >= 1800) { extractedData.categoryRaw = "Chai Benefactor"; }
                        else if (numAmount >= 1000) { extractedData.categoryRaw = "Chai Pillar"; }
                        else if (numAmount >= 770) { extractedData.categoryRaw = "Chai Platinum"; }
                        else if (numAmount >= 540) { extractedData.categoryRaw = "Chai Gold"; }
                        else if (numAmount >= 360) { extractedData.categoryRaw = "Chai Silver"; } 
                        else if (numAmount >= 180) { extractedData.categoryRaw = "Chai Bronze"; }
                        else if (numAmount >= 108) { extractedData.categoryRaw = "Chai High"; }
                        else if (numAmount >= 54) { extractedData.categoryRaw = "Chai Friend"; }
                        else { extractedData.categoryRaw = ""; } 
                    }
                }

                // --- DUPLICATE CHECK ---
                if (extractedData.submissionId) {
                    var sentIds = JSON.parse(localStorage.getItem('chai_sent_submissions') || "[]");
                    
                    if (sentIds.indexOf(extractedData.submissionId) > -1) {
                        console.log("Scraper: Duplicate submission detected. Skipping.");
                        return;
                    }
                }

                console.log("Sending Data:", extractedData);

                // 4. SEND TO GOOGLE
                if (googleWebAppUrl) {
                    fetch(googleWebAppUrl, {
                        method: 'POST',
                        mode: 'no-cors',
                        headers: { 'Content-Type': 'application/json' },
                        body: JSON.stringify(extractedData)
                    }).then(function() {
                        console.log("Data sent successfully.");
                        
                        if (extractedData.submissionId) {
                            var sentIds = JSON.parse(localStorage.getItem('chai_sent_submissions') || "[]");
                            sentIds.push(extractedData.submissionId);
                            localStorage.setItem('chai_sent_submissions', JSON.stringify(sentIds));
                        }

                    }).catch(function(err) {
                        console.error("Error sending data:", err);
                    });
                }
            }
        }
    }
})();
</script><script>
window.onload = function prefillLinks() {
  var pathArray = window.location.pathname.split("/");

  // Safety check to ensure path has enough segments
  if (pathArray.length < 5) return;

  var path2 = pathArray[2];
  var type = pathArray[3];
  var number = pathArray[4];

  /* Ensure logic runs only when type === "chai" */
  if (path2 === "donate_cdo" && type === "chai") {
    
    // --- 1. CSS INJECTION ---
    var style = document.createElement("style");
    style.textContent = `
      #donate-wrapper main .custom-amount-wrapper {
        box-shadow: none;
        border: solid #5c5c86 1px;
        border-radius: 5px;
      }
      main.donate-content {
        background: #f1f2f4;
      }
      .field-wrapper input:not([type=checkbox]) {
        box-shadow: none;
        border: solid 1px #5c5c86;
        border-radius: 5px;
      }
      #donate-wrapper main form .content-box .row .col .field-wrapper select, 
      #donate-wrapper main form .content-box .row .col .field-wrapper textarea {
        border-radius: 5px;
        box-shadow: none;
        border: solid 1px #5c5c86;
      }
      button.donate-button.js-donate-button.js-disable-after-submit {
        background-color: #57b9b3 !important;
        padding: 15px !important;
        margin: auto !important;
        display: flex;
        justify-content: center;
        margin-top: 20px !important;
        width: 200px !important;
      }
      section#donate {
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
        max-height: none !important;
        margin: 0px !important;
        background-color: #eee !important;
      }
    `;
    document.head.appendChild(style);

    // --- 2. TEXT & AMOUNT UPDATES ---
    var mainHeading = document.querySelector("#donate-wrapper main h1");
    if (mainHeading) {
      mainHeading.textContent = "Complete your monthly Chai Club Donation below!";
    }

    var amount = document.querySelector(".custom-amount");
    if (amount) {
        amount.value = number;
        // Trigger input event in case validation requires it
        amount.dispatchEvent(new Event('input', { bubbles: true }));
    }

    // --- 3. HIDDEN FIELDS ---
    var notesFieldWrapper = document.querySelector("#notes"); 
    // Fallback if #notes ID doesn't exist, try finding a generic anchor
    if(!notesFieldWrapper) { 
        // Based on your HTML, looking for where to insert. 
        // Inserting into form directly if field wrapper not found
        var form = document.querySelector("#js-donate-form");
        if(form) {
            var chaiClubField = document.createElement("input");
            chaiClubField.type = "hidden";
            chaiClubField.name = "chai_club";
            chaiClubField.value = "yes";
            form.appendChild(chaiClubField);
        }
    } else {
        var wrapper = notesFieldWrapper.closest(".field-wrapper");
        if (wrapper) {
            var chaiClubField = document.createElement("input");
            chaiClubField.type = "hidden";
            chaiClubField.name = "chai_club";
            chaiClubField.value = "yes";
            wrapper.parentNode.insertBefore(chaiClubField, wrapper);
        }
    }

    // --- 4. MONTHLY SELECTION LOGIC (UPDATED) ---
    setTimeout(function () {
      // Find the specific radio input with value="Yes" (Yes indicates Recurring/Monthly)
      var monthlyRadio = document.querySelector('input[name="x_recurring"][value="Yes"]');
      
      if (monthlyRadio) {
        monthlyRadio.checked = true; // Programmatically check it
        monthlyRadio.click();        // Trigger click logic
        monthlyRadio.dispatchEvent(new Event('change', { bubbles: true })); // Trigger change listeners
      } else {
        // Fallback to clicking the label if input not found
        var monthlyLabel = document.querySelector("#frequency-toggle .js-monthly");
        if(monthlyLabel) monthlyLabel.click();
      }

      // --- 5. NEXT BUTTON LOGIC ---
      setTimeout(function () {
        var nextButton = document.querySelector("button.next-button.js-next-button");
        if (nextButton) nextButton.click(); 

        var recurringColumn = document.querySelector(".col.flex-1.amounts-column.recurring");
        if (recurringColumn) {
          recurringColumn.style.display = "none"; 
        }
      }, 300); // Wait 300ms after monthly click to ensure state settled
      
    }, 200); // Wait 200ms after load to ensure form scripts are ready
  }
};
</script><script language="javascript" type="text/javascript" src="https://w4.chabad.org/scripts/js/os/jquery-latest.min.js?v=20171023.1"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/pickadate.js/3.5.6/compressed/picker.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/pickadate.js/3.5.6/compressed/picker.date.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/pickadate.js/3.5.6/compressed/picker.time.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.payment/1.4.2/jquery.payment.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.0/jquery.mask.min.js"></script><script type='text/javascript'>
//<![CDATA[

	var publicInterface = {};
	function publicCallback(form, event, data) {
		if (typeof customCallback == 'function') customCallback(form, event, data);
	}

	function d(message, debug, conditional) {
		if(!debug) return;
		if((debug != 1 && debug != "all") && (conditional && debug != conditional)) return;	
		console.log(message);
	}

	function prepareForms(overideFormMain, overideFormEl, debug) {
		var formMain = $("#form1");

		if(overideFormMain) formMain = overideFormMain;

		var formEl = formMain;
		if(overideFormEl) formEl = $(overideFormEl);

		formEl.functions = {};

		// Always use autocomplete
		formMain.attr("autocomplete", "on");
		//formEl.attr('novalidate','novalidate');

		d("prepareForms", debug);

		function checkboxLimits() {

			$('.checkbox-limit input').on('change', function(evt) {

				var limit = $(this).parent().attr("data-limit");

			   if($(this).parent().siblings().find('input:checked').length >= limit) {
			       this.checked = false;
			   }
			});

		}

		checkboxLimits();


		function validatePhone(sPhone) {
			var filter = /^[+]*[(]{0,1}[0-9]{1,3}[)]{0,1}[-\s\./0-9]*$/g;

			if (filter.test(sPhone)) {
				return true;
			} else {
				return false;
			}
		}

		function validateEmail(sEmail) {
			var filter = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;

			if (filter.test(sEmail)) {
				return true;
			} else {
				return false;
			}
		}


		function validateFormField(el) {

			var container = el.closest(".form-field-container");
			var valMessage = container.find(".validation-message");
			var label = container.find(".form-field-label").html();
			var val = el.val();
			

			var message = "";

			if(el.is(':radio') || el.is(':checkbox')) {
				var elName = el.prop("name");

		        if(el.prop('required') && !$("input[name='" + elName + "'").is(":checked")) {
		        	if(!label) label = "This field";
		        	message = label + " is required";
		        }
		    }

			if(!val && el.prop('required') && el.not(".picker__input")) {
				if(!label) label = "This field";
				message = label + " is required";
			}

			if(val && el.prop("type") == "email"  && !validateEmail(val)) {
				message = "Please enter a valid email address";
			}

			if(val && el.prop("type") == "tel"  && !validatePhone(val)) {
				message = "Please enter a valid phone number";
			}


			if(message) {
				valMessage.show();
				container.addClass("validation-error");
				valMessage.html(message);

				return false;
			} else {
				container.removeClass("validation-error");
				valMessage.hide();
				valMessage.html("");

				return true;
			}




		}

		function getFormFieldErrors(stage) {
			var errors = false;
			var matchEl = formEl;

			if(stage) {
				matchEl = formEl.find(".stage-" + stage);
			}

			matchEl.find(".form-field-container").each(function() {
	    		var label = $(this).find(".form-field-label").html();

	    		$(this).find("input, select").each(function() {
	    			
	    			if($(this).closest(".input-field").find(".validation-message").length <= 0)
	    					$(this).closest(".input-field").append("<div class='validation-message'></div>");

	    			if(!validateFormField( $(this) )) {
	    				errors = true;
	    			}

	    		});
	    	});

	    	matchEl.find(".form-field-container").find("input, select").on("change paste keyup", function() {
	    		validateFormField($(this));
	    	});

	        return errors;

		}
		
		formMain.removeAttr('onsubmit');
	    formMain.submit(function(event){

	        	this.Submitted = false;

	        	formErrorText = "Oops, check the form for errors and try again";
	        	if(formEl.find( ".submit-button .form-error" ).length <= 0) {
	        		formEl.find(".submit-button").prepend("<p class='form-error'>"+formErrorText+"</p>");
	        		errorMessageEl = formEl.find( ".submit-button .form-error" );
	        	}
	        	errorMessageEl.hide();


	        	if(getFormFieldErrors() ) {
	        		event.preventDefault();

					errorMessageEl.show();	     
	        	} else {

	        		// Also do standard Chabad.org checking
	        		if(typeof(Co) != "undefined") {


	        			 if(Co.Forms.Validation.Validate(this)) {
		        		    if(typeof customFormSubmitHook == 'function') customFormSubmitHook(formEl, event);
		        		 } else {
	        				return false;
	        			}
	        		} else {
	        		   if(typeof customFormSubmitHook == 'function') customFormSubmitHook(formEl, event);
	        		}
					
					formMain.find("button[type='submit']").attr("disabled", "true").addClass("loading");

					return true;

				}
				

			});
			

		formEl.find(".conditional").each(function() {
			d("found conditional", debug, 'conditional');

			var matchField = $(this).attr("data-conditional-field");
			var matchValue = $(this).attr("data-conditional-value");
			var comparison = $(this).attr("data-conditional-comparison");
			var effect = $(this).attr("data-conditional-effect");

			if(!effect) effect = "slide";


			var conditionalField = $(this);

			var matchEl = $("[name='" + matchField + "']");


			var firstTime = true;

			matchEl.change(function() {
				matchedChanged($(this), false);
			});


			function matchedChanged(mel, noEffect) {


				var value = mel.val();


				var matched = false;


				if(comparison == ">=") {
					if(value == null) value = 0;
					matched =  (value >= matchValue);
				} else if(comparison == "!=") {
					matched =  (value != matchValue);
				} else {
					matched = (value == matchValue);
				}

				if(matchValue.indexOf("||") !== -1) {

					matched = false;

					var matchVals = matchValue.split("||");

					for(key in matchVals) {
						if(matchVals[key] == value) {
							matched = true;
							continue;
						}
					}
				}

				


				if(mel.is(':radio') || mel.is(':checkbox')) {

			        if(!mel.is(":checked")) {
			        	if(comparison == "!=") {
			        		matched = true;
						} else {
			        		matched = false;
						}
			        }

			    }

			    if(firstTime || noEffect) {
			    	thisEffect = "";
			    	firstTime = false;
			    } else {
			    	thisEffect = effect;
			    }

				conditionalField.find("[type='radio'] input").each(function() {
					$(this).change();
				});



				if(matched) {

					conditionalField.addClass("matched");
					conditionalField.removeClass("non-matched");

					if(thisEffect == "slide") {
						conditionalField.slideDown();
					} else if(thisEffect == "fade") {
						conditionalField.fadeIn();
					} else {
						conditionalField.show();
					}
					

					

					conditionalField.find(".input-field").each(function() {
						var optional = $(this).attr("data-optional");

						$(this).find("input, textarea, select").each(function() {

							var prefill = $(this).attr("data-prefill");

							if(prefill) {
								$(this).val(prefill).change();
							}
						});

						if(optional.length == 0) {
							$(this).find("input, .input-field textarea, .input-field select").each(function() {

								if($(this).is(":visible") &&  $(this).closest(".non-matched").length == 0) {
									$(this).attr("required", true);
								} else {
									$(this).removeAttr("required");
								}

							});
						}

					});
				} else {
					conditionalField.removeClass("matched");
					conditionalField.addClass("non-matched");

					if(thisEffect == "slide") {
						conditionalField.slideUp();
					} else if(thisEffect == "fade") {
						conditionalField.fadeOut();
					} else {
						conditionalField.hide();
					}


					conditionalField.find("input, textarea, select").not("[type='radio'], [type='checkbox']").each(function() {
						$(this).val("");
						$(this).change();
					});

					conditionalField.find("input[type='radio'],[type='checkbox']").each(function() {
						$(this).attr('checked', false);
						$(this).change();
					});

					conditionalField.find("input, textarea, select").each(function() {
						$(this).removeAttr("required");
					});
				}
			};

			

			if(matchEl.is(':radio') || matchEl.is('select') || matchEl.is(':checkbox') || matchEl.is('[type="number"]')) {
			    matchedChanged(matchEl, true);
			}

			/*formEl.find("input, textarea, select").each(function() {
				if($(this).is(":hidden")) {
					$(this).removeAttr("required");
				}
			});*/
		});

		formEl.find(".mirror").each(function() {
			d("found mirror", debug);

			var mirrorField = $(this).attr("data-mirror-field");

			var thisField = $(this);
			var mirrorEl = formEl.find("[name='" + mirrorField + "']");


			mirrorEl.change(function() {
				mirrorChange($(this));
			});

			function mirrorChange(mel) {

				var value = mel.val();

				if(!value) value = thisField.attr("data-mirror-default");

				thisField.find("input").val(value);
				thisField.find(".input-div").html(value);

			};
			
			 mirrorChange(mirrorEl);
		});





		var childCountEl = $("input[name='-amount-of-children']");
		if(childCountEl.val() < 1) childCountEl.val(1);
		childCountEl.change();

		var maxChildren = 6;


		function addChild() {
			if(childCountEl.val() != maxChildren) childCountEl.val(parseInt(childCountEl.val()) + 1);
			childCountEl.change();

			hideOrShowAddRemoveButtons()
		}

		function removeChild() {
			if(childCountEl.val() != 1)	childCountEl.val(parseInt(childCountEl.val()) - 1);
			childCountEl.change();

			hideOrShowAddRemoveButtons()
		}

		function hideOrShowAddRemoveButtons() {
			if(childCountEl.val() == 1) $("#RemoveChildButton").hide(); else $("#RemoveChildButton").show(); 
			if(childCountEl.val() == maxChildren) $("#AddChildButton").attr("disabled", true); else $("#AddChildButton").removeAttr("disabled"); 
		}

		hideOrShowAddRemoveButtons();

		$("#AddChildButton").click(function() {
			addChild();
		});

		$("#RemoveChildButton").click(function() {
			removeChild();
		});


		$(".form-field-container.type-date").each(function() {
			var myEl = $(this);

			 $(this).find("input").pickadate({
		        format: 'd mmmm, yyyy',
		        formatSubmit: 'd mmmm, yyyy',
		  		container: $(this),
		  		today: '',
	  			clear: '',
	  			selectMonths: true,
  				selectYears: 30,
	  			onSet: function() {  validateFormField(myEl.find(".input-container > input[type='hidden']")) }
		    });
		}); 

	    $(".form-field-container.type-time").each(function() {

			 $(this).find("input").pickatime({
		  		container: $(this),
		  		today: '',
	  			clear: '',
		    });
		}); 


	    function setupAddRemoveButtons() {
	    	d("setup add remove buttons", debug, 'addremove');

		    $(".addremovebuttons").each(function() {
		    	d("found add remove buttons", debug, 'addremove');

				var countEl = $(this).find("input.amount");
				var removeButtonEl = $(this).find(".remove-button");
				var addButtonEl = $(this).find(".add-button");



				var maxAmount = $(this).attr("data-max");
				var minAmount = $(this).attr("data-min");
				var defaultAmount = $(this).attr("data-default");

				if(!minAmount) minAmount = 1;

				//if(countEl.val() < minAmount) 
				countEl.val(defaultAmount);
				countEl.change();


				function addOne() {
					var currVal = parseInt(countEl.val());
					if(!currVal) currVal = 0;
					if(countEl.val() < maxAmount) countEl.val(currVal + 1);
					countEl.change();

					hideOrShowAddRemoveButtons()
				}

				function removeOne() {
					var currVal = parseInt(countEl.val());
					if(!currVal) currVal = 0;
					if(countEl.val() > minAmount) countEl.val(currVal - 1);
					countEl.change();

					hideOrShowAddRemoveButtons()
				}

				function hideOrShowAddRemoveButtons() {
					var currVal = parseInt(countEl.val());
					if(!currVal) currVal = 0;

					if(currVal == minAmount) removeButtonEl.hide(); else removeButtonEl.show(); 
					if(currVal == maxAmount) addButtonEl.attr("disabled", true); else addButtonEl.removeAttr("disabled"); 
				}

				hideOrShowAddRemoveButtons();

				addButtonEl.click(function() {
					addOne();
				});

				removeButtonEl.click(function() {
					removeOne();
				});

				countEl.change();
			});
		}

		setupAddRemoveButtons();



	    function formCalculate() {
	    	d("form calculate", debug, 'calculate');

		    var formCalculateAmounts = [];
		    var formCalculatePercentAmounts = [];
		    var formDisplayCalculateAmounts = [];
		    var totalEl = formEl.find(".form-total-value");
		    var niceTotalEl = formEl.find(".form-total-value-nice");
		    var totalDisplayEl = formEl.find(".display-total-value input");
		    var totalContainer = totalEl.closest(".form-field-container");
		    var elCount = 0;

		    var formGlobalQuantities = [];


		    totalContainer.find(".breakdown").append("<div class='lines'></div><div class='booking'></div><div class='globals'></div>");

		    function calculateGlobalQuantities() {

				var formQuantities = [];
				

		    	for (var key in formGlobalQuantities) {
					var val = formGlobalQuantities[key];
					
				    if(!val) continue;


				    var currentQuantity = formQuantities[val];
				    if(!currentQuantity) currentQuantity = 0;
				    formQuantities[val] = currentQuantity + 1;
				}

				totalContainer.find(".globals").html("");

				for (var key in formQuantities) {
				    var val = formQuantities[key];

				    totalContainer.find(".globals").append("<div>"+ val +" x " + key + "</div>");

				}

		    }


		    function addBookingToBreakdown() {
		    	var book = $("[name='booking-holiday']:checked").val();

		    	totalContainer.find(".booking").html("<div>"+ book + "</div>");
		    }


		    $("[name='booking-holiday']").on("change click", function() { addBookingToBreakdown(); $(".calculate").find("input, select").change();  }  );
			$("[name='booking-holiday']").change();
			
	



			function addPaymentOptionToBreakdown() {
		    	var book = $("[name='payment-options']:checked").val();

		    	totalContainer.find(".booking").html("<div>"+ book + "</div>");
		    }
		    $("[name='payment-options']").on("change click", function() { addPaymentOptionToBreakdown(); $(".calculate").find("input, select").change();  }  );



		    function getPriceFromPriceChart(priceChartName, factors) {
		    	var priceChart = JSON.parse($(".price-chart." + priceChartName).attr("data-price-options"));

		    	var item = priceChart;

		    	for(key in factors) {
		    		item = item[factors[key]];
		    	}

		    	if(!item || item < 0) item = 0;
		    	return item;
		    }

		    function getDisplayPriceFromPriceChart(priceChartName, factors) {
		    	var priceChart = JSON.parse($(".price-chart." + priceChartName).attr("data-price-options"));

		    	var item = priceChart['Display Price'];

		    	for(key in factors) {
		    		item = item[factors[key]];
		    	}

		    	if(!item || item < 0) item = 0;
		    	return item;
		    }


		    function calculateFormTotal() {

		    	var formTotal = 0;
		    	var formTotalBeforePercent = 0;

		    	var couponapplied = false;

		    	var aLen = formCalculateAmounts.length

				for (var key in formCalculateAmounts) {
					if(formCalculateAmounts[key] == "couponapplied") {
						couponapplied = true;
					} else {
				    	formTotal += formCalculateAmounts[key];
				    }
				}

				for (var key in formCalculateAmounts) {
					if(formCalculatePercentAmounts[key] == "couponapplied") {
						couponapplied = true;
					} else {
				    	formTotalBeforePercent += formCalculatePercentAmounts[key];
				    }
				}

				if(couponapplied) {
					formTotal = 0;
					formTotalBeforePercent = 0;
				}

				var formTotalNoPercent = formTotal - formTotalBeforePercent;

				var addPercent = totalEl.attr("data-add-percent");

				if(!addPercent || addPercent <= 0) {
					totalEl.val(formTotal.toFixed(2).replace(".00", ""));
				} else {
					$(".form-total-value-before-percent").html(formTotalBeforePercent);

					if(formTotalBeforePercent > 0) {
						$(".form-total-percent-description").show();
					} else {
						$(".form-total-percent-description").hide();
					}

					var addedFormValue = formTotalBeforePercent + ((formTotalBeforePercent * addPercent) / 100) + formTotalNoPercent;
					totalEl.val(addedFormValue.toFixed(2).replace(".00", "") );
				}

				totalEl.change();
				calculateDisplayTotal();

				calculateSplitPayment(totalEl.val());

				displayNiceTotal(totalEl.val());
		    }

		    function displayNiceTotal(total) {
		    	var val = getNiceCurrencyAmount(total);
		    	niceTotalEl.val(val);
			}
			
			formEl.find(".form-total-split-payment").change(calculateFormTotal);


			function calculateSplitPayment(total) {
				var totalSplitEl = formEl.find(".form-total-after-split");
				
				//var newTotal = total;

				if(totalSplitEl.length !== 0) {

					var totalSplitElName = totalSplitEl.attr("name");
					var paymentPercentSelected = formEl.find("input[name='"+totalSplitElName+"_split_payment']:checked");

					var percent = paymentPercentSelected.attr("data-percent-split");

					newTotal = ((total * percent) / 100);

					formEl.find(".form-total-after-split-nice").html(getNiceCurrencyAmount(newTotal));

					if(newTotal != total) {
						formEl.find(".payment-options-after-split-display").show();
					} else {
						formEl.find(".payment-options-after-split-display").hide();
					}

					totalSplitEl.val(newTotal);
				}
			}



		    function calculateDisplayTotal() {
		    	var formTotal = 0;

		    	var aLen = formDisplayCalculateAmounts.length
		    	var couponapplied = false;

				for (var key in formDisplayCalculateAmounts) {
					if(formDisplayCalculateAmounts[key] == "couponapplied") {
						couponapplied = true;
					} else {
				    	formTotal += formDisplayCalculateAmounts[key];
				    }
				}
				if(couponapplied) {
					formTotal = 0;
				}

				totalDisplayEl.val(formTotal.toFixed(2).replace(".00", ""));
		    }

		    function addToFormCalculateAmounts(count, price, excludePercent) {
		    	if(price != "couponapplied") price = parseFloat(price)

		    	formCalculateAmounts[count] = price;

		    	if(!excludePercent) {
		    		formCalculatePercentAmounts[count] = parseFloat(price);
		    	} else {
		    		formCalculatePercentAmounts[count] = 0;
		    	}
		    }

			$(".calculate").each(function() {
				d("found calculate", debug, 'calculate');

				var thisElCount = elCount;
				elCount++;

				var eachAmount = $(this).attr("data-each-amount");
				var globalQuantity = $(this).attr("data-global-quantity");
				var priceFactor = $(this).attr("data-calculate-factors");
				var priceChart = $(this).attr("data-price-chart");
				var noQuantity = $(this).attr("data-no-quantity");
				var excludePercent = $(this).attr("data-exclude-from-percent");
				var couponCode = $(this).attr("data-coupon-code");
				var excludeBreakdown = $(this).attr("data-exclude-from-breakdown");

				var calculateContainer = $(this);
				var calculateInput = $(this).find(".calculate-field");

				var uniqueId = calculateInput.attr('name');

				if (eachAmount == "radio") {

					if (totalContainer.find(".breakdown .lines .line-" + uniqueId).length <= 0) {
						totalContainer.find(".breakdown .lines").append("<div class='line-" + uniqueId + "'></div>");
					}
				} else {
					totalContainer.find(".breakdown .lines").append("<div class='line-" + thisElCount + "'></div>");
				}


				if(excludeBreakdown) totalContainer.find(".breakdown .lines .line-" + thisElCount).hide();

				

				var thisLabel = $(this).attr("data-label");

				addToFormCalculateAmounts(thisElCount, 0, excludePercent)

				calculateInput.on("keyup change paste click", function() {


					if(eachAmount == "price-chart") {
						var factors = priceFactor.split("|");



						preparedFactors = [];

						for(factorKey in factors) {

							if(factors[factorKey] == "!this!") {

								if($(this).attr("type") == "radio") {

									if($(this).is(":checked")) {
										thisVal = $(this).val();
									}
								} else if($(this).attr("type") == "checkbox") {
									if($(this).is(":checked")) {
										thisVal = $(this).attr("data-option");
									} else {
										thisVal = "";
									}
								} else {
									var thisVal = $(this).val();
								}

							} else {
								var thisVal = $("input[name='"+ factors[factorKey] +"']:checked").val();
							}
							preparedFactors.push(thisVal);
						}
					
						var price = getPriceFromPriceChart(priceChart, preparedFactors);
						var displayPrice = getDisplayPriceFromPriceChart(priceChart, preparedFactors);

						addToFormCalculateAmounts(thisElCount, price, excludePercent)
						formDisplayCalculateAmounts[thisElCount] = displayPrice;	

					}

					if(eachAmount == "radio") {
						//var price = 0;


						if($(this).is(":checked")) {
							var price = parseFloat($(this).attr("data-calculate-amount"));
							

							addToFormCalculateAmounts(uniqueId, price, excludePercent);
							formDisplayCalculateAmounts[uniqueId] = price;

							totalContainer.find(".breakdown .line-" + uniqueId).html($(this).closest(".form-field-container").attr("data-label"));

							//formEl.find("input[name='"+calculateInput.attr("name")+"']").not(":checked").change();
							
						} else {
							var price = 0;
							totalContainer.find(".breakdown .line-" + uniqueId).html("");
							addToFormCalculateAmounts(uniqueId, price, excludePercent);
						}
					} else if(eachAmount == "coupon") {
						var val = $(this).val()
						$(this).parent().addClass("coupon-status");
						$(this).parent().removeClass("coupon-fail");
						$(this).parent().removeClass("coupon-success");

						if(val && val.toLowerCase() == couponCode) {
							addToFormCalculateAmounts(thisElCount, "couponapplied");
							formDisplayCalculateAmounts[thisElCount] = "couponapplied";

							if(val) {
								$(this).parent().addClass("coupon-success");
							}
						} else {
							addToFormCalculateAmounts(thisElCount, 0);
							formDisplayCalculateAmounts[thisElCount] = 0;

							if(val) {
								$(this).parent().addClass("coupon-fail");
							}
						}
					} else if(eachAmount == "select") {

						var price = $(this).find(":selected").attr("data-calculate-amount");
						if(!price) price = 0;

						addToFormCalculateAmounts(thisElCount, price, excludePercent);


					} else if(!globalQuantity) {
						var quantity = $(this).val();

						var thisTotal = parseFloat(quantity) * parseFloat(eachAmount);

						if(!thisTotal || thisTotal <= 0 || $(this).closest(".non-matched").length != 0) {
							totalContainer.find(".breakdown .line-"+ thisElCount).html("");
							thisTotal = 0;
						} else {
							
							if(eachAmount == 1)
								var lineDesc = "$" +  getNiceCurrencyAmount(quantity) + " " + thisLabel;
							else if(noQuantity)
								
								var lineDesc = "$" +  getNiceCurrencyAmount(thisTotal) + " " + thisLabel;
							else
								var lineDesc = quantity + " x " + thisLabel;

							totalContainer.find(".breakdown .line-"+ thisElCount).html(lineDesc);
						}


						addToFormCalculateAmounts(thisElCount, thisTotal, excludePercent);
					} else {
						var thisVal = "";
						


						if($(this).attr("type") == "checkbox") {
							if($(this).is(":checked")) {
								thisVal = $(this).attr("data-option");
							} else {
								thisVal = "";
							}
						} else {
							thisVal = $(this).val();
						}


						formGlobalQuantities[thisElCount] = thisVal;

						calculateGlobalQuantities();
					}


					calculateFormTotal();
				});

				calculateInput.change();

			});
		}

		formCalculate();


		function formReservations() {




			var totalReservations = {};
			var freeReservations = {};

			var totalEl = formEl.find(".form-total-value");
		    var totalContainer = totalEl.closest(".form-field-container");
		    totalContainer.find(".breakdown").append("<div class='reservations-breakdown'></div>");
		    var breakdown = totalContainer.find(".breakdown .reservations-breakdown");

			$(".reservation-parent").each(function() {
				var thisName = jQuery(this).attr("data-reservations-name");

				totalReservations[thisName] = {};
				freeReservations[thisName] = {};
				breakdown.append("<div data-name='"+thisName+"'></div>");
			});


			$(".reservation-calculate").each(function() {

				//jQuery(this).find(".calculate-field").change(function() {
				//	checkReservationValues();
				//});

				//jQuery(this).find(".calculate-field").change();

			});

			function reservationsHeartbeat() {
				checkReservationValues();
				window.setTimeout(reservationsHeartbeat, 400);
			}
			reservationsHeartbeat();


			function checkReservationValues() {
				var reservationsFields = [];

				$(".reservation-calculate").each(function() {
					var reservationsField = $(this).attr("data-reservations-field");
					var thisField = $(this);

					if(reservationsFields.indexOf(reservationsField) === -1){
					  	 reservationsFields.push(reservationsField);
					}

					checkReservationValue(reservationsField, thisField);
				});		

				var len = reservationsFields.length;

				for (i = 0; i < len; i++) {
					calculateReservationFields(reservationsFields[i]);
				}

			}

			function checkReservationValue(reservationsField, thisField) {

				var inputEl = thisField.find(".calculate-field");
				var addValue = thisField.attr("data-reservations-each");
				var freeValue = thisField.attr("data-reservations-free");
				var val = inputEl.val();



				if(inputEl.attr("type") == "radio") {
					if(inputEl.is(":checked")) {
						val = 1;
					} else {
						val = 0;
					}

					var thisRef = inputEl.attr("name") + "-" + inputEl.val();
				} else {
					var thisRef = inputEl.attr("name");
				}

				if(val == null) val = 0;
				if(addValue == null) addValue = 0;
				if(freeValue == null) freeValue = 0;


				totalReservations[reservationsField][thisRef] = val * addValue;
				freeReservations[reservationsField][thisRef] = val * freeValue;
			}

			var currTotal = null;
			var currFreeVal = null;
			var currPaidVal = null;

			function calculateReservationFields(reservationsField, calculateFree) {
				var totalReservationsField = formEl.find("input[name='" + reservationsField + "_total']");
				var freeReservationsField = formEl.find("input[name='" + reservationsField + "_free']");
				var paidReservationsField = formEl.find("input[name='" + reservationsField + "_paid']");
				var reservationsDescField = breakdown.find("[data-name='"+reservationsField+"']");

				var totalVal = 0;
				var freeVal = 0;
				var needUpdate = true;

				jQuery.each(totalReservations[reservationsField], function(key, val) {
				    totalVal += val;
				});
				jQuery.each(freeReservations[reservationsField], function(key, val) {
				    freeVal += val;
				});

				var paidVal = totalVal - freeVal;
				if(paidVal < 0) paidVal = 0;

				if(currTotal != totalVal || currFreeVal != freeVal || currPaidVal != paidVal) needUpdate = true;
				if(currTotal === null || currFreeVal === null || currPaidVal === null) needUpdate = true;

				if(needUpdate == true) {
					totalReservationsField.val(totalVal).change();
					freeReservationsField.val(freeVal).change();
					paidReservationsField.val(paidVal).change();
				}

				reservations = {};
				reservations.total = totalVal;
				reservations.free = freeVal;
				reservations.paid = paidVal;
				reservations.field = reservationsField;
				reservations.calculateFree = calculateFree;

				if(needUpdate == true) {
					var freeText = "";
					var reservationText = "<b>" + totalReservationsField.closest(".reservation-parent").attr("data-label") + ":</b> " + totalVal + " Total";
					if(freeVal > 0) freeText = " ("+ freeVal +" included)";
					if(freeVal > 0 && totalVal < freeVal) freeText = " ("+ (freeVal - totalVal) +" remaining free)";
					reservationText	+= freeText	;
					if(freeVal == 0 && totalVal == 0) reservationText = "";

					reservationsDescField.html(reservationText);


					publicCallback(formEl, "reservations", reservations);
				}

				currTotal = totalVal;
				currFreeVal = freeVal;
				currPaidVal = paidVal;
			}
		}

		formReservations();

		function creditCardNumberTools() {
			$('input[name="x_card_num"]').not(".no-format input").payment('formatCardNumber');
			$('input[name="x_exp_date"]').not(".no-format").attr("type", "tel").attr("maxlength", "200").mask('00/0000'); //, {placeholder: "__/____"});
			$('input[name="x_card_code"]').not(".no-format").payment('formatCardCVC');

			$('input[name="credit-card-card-number"]').not(".no-format input").payment('formatCardNumber');
			$('input[name="credit-card-expiry-date"]').payment('formatCardExpiry');
			$('input[name="credit-card-security-code"]').payment('formatCardCVC');
			$('.currency-format input').not(".no-format").payment('restrictNumeric');

			$('.form-field-container.card-number .input-field').append("<div id='CardIndicator'></div>");

			$('input[name="credit-card-card-number"]').on("change keyup paste", function() {
				var cardType = jQuery.payment.cardType($(this).val()); 

	            $("#CardIndicator").html('<i class="fa fa-cc-'+cardType+'" aria-hidden="true"></i>');

			});
		}
		creditCardNumberTools();



		function getNiceCurrencyAmount(value) {
		    if(!value) return 0;

		    value = parseFloat(value);
		    value = value.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1,');
		    value = value.replace(".00", "");

		    return value;
		}



		function prepareStages() {

			var stage = 1;
			var maxStage = 1;

			var nextStageButton = $(".stage-buttons-container .next");
			var prevStageButton = $(".stage-buttons-container .prev");
			var submitButton = $(".stage-buttons-container .submit-button button");

			function showStageButtons() {

				nextStageButton.attr("data-next-stage", stage);

				if(stage == 1) {

					prevStageButton.hide();
				} else {
					prevStageButton.show();
				}

				if(stage == maxStage) {
					nextStageButton.hide();
					submitButton.show();
				} else {
					nextStageButton.show();
					submitButton.hide();
				}
			}

			function showStage() {
				$(".form-stage").hide();
				$(".form-stage.stage-" + stage).show();
			}

			function nextStage() {

				if(!getFormFieldErrors(stage)) {

					stage = stage + 1;
					if(stage >= maxStage) stage = maxStage;

					calculateStages();
				}

			}

			function prevStage() {
				stage = stage - 1;
				if(stage <= 0) stage = 1;

				calculateStages();
			}

			function calculateStages() {
				showStageButtons();
				showStage();
			}

			if($(".stage-buttons-container").length) {

				prevStageButton.on("click", function() { prevStage();  });
				nextStageButton.on("click", function() { nextStage();  });

				$(".next-stage-onchange").on("change", function() { nextStage();  });
				$(".next-stage-onclick").on("click", function() { nextStage();  });


				$(".form-stage").each(function() {
					var thisStage = $(this).attr("data-stage");
					if(thisStage > maxStage) {
						maxStage = thisStage;
					}
				});

				calculateStages();
			}
		}


		prepareStages();

	};


function customFormJS() {
	if (typeof customFormInlineJS == 'function') customFormInlineJS();

	}

jQuery(document).ready(function($) {

			if(Co.ArticleId == 3548786 ) {
			customFormJS();
			prepareForms( "", "", null);
		}
	});
//]]>
</script><script>
(function() {
    // 0. PAGE RESTRICTION CHECK
    var targetId = "7184016";
    var isPreview = window.location.hostname.indexOf("googleusercontent") > -1;
      
    if (window.location.href.indexOf(targetId) === -1 && !isPreview) {
        console.log("Chai Club Script: Target page not detected. Script stopped.");
        return;
    }

    // 1. CONFIGURATION
    var googleWebAppUrl = "https://script.google.com/macros/s/AKfycbyM8ThzWivlHgDMDTsTyIUb47ddn4zNquV6HxckVwUUEUt7SGPj60HY6ZFkaUoxx-UOzw/exec";
    var monthlyGoal = 10000;

    // --- A. INJECT CSS VIA JS ---
    var styles = `
        /* =========================================
           GLOBAL COLORS & FONTS
           ========================================= */
        :root {
            --primary-red: #C41D00;
            --primary-green: #3B9797;
            --text-dark: #292f35;
            --white: #ffffff;
        }

        /* --- NEW WRAPPER STYLE --- */
        .chai-bottom-wrapper {
            background-color: #CCD9EB;
            border-radius: 20px;
            padding: 30px 15px; 
            margin: 20px auto;
            width: 100%;
            box-sizing: border-box;
            max-width: 1000px; 
        }

        .chai-NEIowa-wrapper {
            width: 100%;
            margin: 0 auto;
            font-family: "Commissioner", "Sofia Sans Condensed", sans-serif;
            background-color: var(--white);
            color: var(--text-dark);
            font-size: 20px;
            line-height: 1.5;
        }
        .chai-NEIowa-wrapper * { box-sizing: border-box; }

        /* =========================================
           HERO SECTION
           ========================================= */
        .chai-NEIowa-hero {
            position: relative; width: 100%; min-height: 80vh;
            display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
            background-image: url('https://chabadneiowa.com/media/images/1351/Frkw13511410.png');
            background-size: cover; background-position: center; background-repeat: no-repeat; padding: 0;
        }
        .form-line { padding-top: 0 !important; margin: 0px 0 !important; }

        /* =========================================
           CAMPAIGN TIMER SECTION
           ========================================= */
        .chai-NEIowa-campaign-stats {
            background-image: url('https://chabadneiowa.com/media/images/1351/YkHO13510160.png');
            background-size: cover; background-position: center;
            color: var(--white);
            padding: 2rem 5%;
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            font-family: "Sofia Sans Condensed", sans-serif;
        }
        .chai-NEIowa-timer-header {
            font-size: 3rem;
            font-weight: 900;
            color: var(--white);
            text-transform: uppercase;
            margin: 0 0 2rem 0;
            letter-spacing: 2px;
            background-color: var(--primary-red);
            padding: 10px 30px !important;
        }
        .chai-NEIowa-timer-container {
            padding: 2rem 4rem;
            border-radius: 12px;
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 7rem;
            flex-wrap: wrap;
        }
        .chai-NEIowa-time-unit {
            display: flex;
            flex-direction: row;
            align-items: center;
            gap: 10%;
        }
        .chai-NEIowa-time-num {
            font-size: 4rem; font-weight: 800; line-height: 1; color: var(--white);
        }
        .chai-NEIowa-time-label {
            font-size: 4rem; font-weight: 300; text-transform: uppercase; 
            color: rgba(255,255,255,0.8); margin-top: 5px;
        }
        .chai-NEIowa-time-sep {
            font-size: 3rem; font-weight: 700; color: rgba(255,255,255,0.4); margin-top: -20px; display: none !important;
        }

        /* =========================================
           PROGRESS BAR SECTION
           ========================================= */
        .chai-NEIowa-progress-bar-section {
            background-image: url('https://chabadneiowa.com/media/images/1351/dvrU13510158.png');
            background-size: cover; background-position: center; padding: 8rem 5%;
            display: flex; flex-direction: column; align-items: center; gap: 0rem; position: relative; color: white;
        }
        .chai-NEIowa-progress-header {
            font-size: 4.5rem; font-weight: 300; color: #ffffff; text-transform: uppercase;
            text-align: center; margin: 0; font-family: "Sofia Sans Condensed", sans-serif;
            letter-spacing: 1px; text-shadow: 0 2px 4px rgba(0,0,0,0.1);
        }
        .chai-NEIowa-progress-track {
            width: 100%; max-width: 1100px; height: 50px; background-color: #ffffff;
            border-radius: 25px; overflow: hidden; margin: 1.5rem 0; box-shadow: 0 4px 10px rgba(0,0,0,0.1);
        }
        .chai-NEIowa-progress-fill { 
            width: 0%; transition: width 1.5s ease-out; height: 100%; 
            background-color: var(--primary-green);
            border-radius: 25px; 
        }
        .chai-NEIowa-progress-stats {
            display: flex; justify-content: space-between; align-items: center; width: 100%;
            max-width: 1100px; font-family: "Sofia Sans Condensed", sans-serif;
        }
        .chai-NEIowa-stat-text {
            font-size: 3rem; font-weight: 300; color: rgba(255, 255, 255, 0.95);
            text-transform: uppercase; margin: 0; text-shadow: 0 1px 2px rgba(0,0,0,0.2);
        }
        .chai-NEIowa-stat-text strong { font-weight: 700; color: #ffffff; }
        .chai-NEIowa-stat-text.goal-text { text-align: right; }
        .chai-NEIowa-stat-text.goal-text strong { color: #99ecec; }
        
        .chai-NEIowa-btn-donate-highlight {
            background-color: var(--primary-green); color: var(--white); font-family: "Sofia Sans Condensed", sans-serif;
            font-size: 2.8rem; font-weight: 700; text-transform: uppercase; padding: 1.2rem 6rem;
            border: none; border-radius: 8px; cursor: pointer; display: inline-flex; align-items: center;
            gap: 1.5rem; text-decoration: none !important; margin-top: 3rem; transition: transform 0.2s, box-shadow 0.2s;
            box-shadow: 0 4px 6px rgba(0,0,0,0.2);
        }
        .chai-NEIowa-btn-donate-highlight:hover { transform: translateY(-3px); box-shadow: 0 8px 16px rgba(0,0,0,0.25); background-color: #2f7a7a; }

        /* =========================================
           ABOUT SECTION
           ========================================= */
        .chai-NEIowa-about-section {
            padding: 6rem 7%; display: grid; grid-template-columns: 1fr 1fr; gap: 6rem;
            max-width: 100%; margin: 0 auto; align-items: center;
        }
        .chai-NEIowa-about-image img { width: 70%; height: auto; border-radius: 12px; }
        .chai-NEIowa-about-text h2 {
            font-family: "Sofia Sans Condensed", sans-serif; font-size: 4rem; font-weight: 800;
            color: var(--primary-red); line-height: 1.1; margin-bottom: 2.5rem; text-transform: uppercase;
        }
        .chai-NEIowa-about-text p { font-size: 1.6rem; line-height: 1.6; color: #292f35; margin-bottom: 2.5rem; }

        /* =========================================
           FEATURES SECTION
           ========================================= */
        .chai-NEIowa-features-section { background-color: #ffffff; padding: 0rem 5%; }
        .chai-NEIowa-features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4rem; max-width: 1600px; margin: 0 auto; }
        .chai-NEIowa-feature-card {
            background-size: cover; background-position: center; background-repeat: no-repeat;
            padding: 6rem 3rem; text-align: center; border-radius: 25px; display: flex;
            flex-direction: column; align-items: center; box-shadow: 0 5px 20px rgba(0,0,0,0.05); min-height: 440px;
        }
        .chai-NEIowa-feature-card-green { background-image: url('https://chabadneiowa.com/media/images/1351/PuBy13510155.png'); color: var(--text-dark); }
        .chai-NEIowa-feature-card-red { background-image: url('https://chabadneiowa.com/media/images/1351/oMjH13510156.png'); color: var(--white); }
        .chai-NEIowa-feature-icon-img { width: 120px; height: auto; margin-bottom: 2.5rem; object-fit: contain; }
        .chai-NEIowa-feature-title {
            font-family: "Sofia Sans Condensed", sans-serif; font-size: 3rem; font-weight: 600;
            text-transform: uppercase; margin-bottom: 1.5rem; color: inherit;
        }
        .chai-NEIowa-feature-desc { font-size: 1.5rem; color: inherit; line-height: 1.5; max-width: 90%; }
        
        .chai-NEIowa-cta-banner { text-align: center; padding: 5rem; margin-top: 2rem; display: flex; flex-direction: column; align-items: center; gap: 2rem; }
        .chai-NEIowa-btn-join-chai {
            background-color: var(--primary-green); color: var(--white); font-family: "Sofia Sans Condensed", sans-serif;
            font-size: 2.8rem; font-weight: 700; text-transform: uppercase; padding: 1.5rem 6rem;
            border: none; border-radius: 8px; cursor: pointer; display: inline-flex; align-items: center;
            gap: 1.5rem; text-decoration: none !important; transition: transform 0.2s; box-shadow: 0 5px 15px rgba(0,0,0,0.1);
        }
        .chai-NEIowa-btn-join-chai:hover { transform: scale(1.02); background-color: #2f7a7a; }

        /* =========================================
           QUOTE SECTION
           ========================================= */
        .chai-NEIowa-quote-section {
            padding: 0rem 0%; text-align: center;
            position: relative;
            display: flex; justify-content: center; align-items: center;
        }
        .chai-NEIowa-quote-image { max-width: 1200px; width: 100%; height: auto; z-index: 2; filter: drop-shadow(0 5px 15px rgba(0,0,0,0.2)); }

        /* =========================================
           DONORS SECTION (UPDATED FOR SINGLE CARD)
           ========================================= */
        .chai-NEIowa-donors-section {
            background-image: url('https://chabadneiowa.com/media/images/1351/bIsP13510157.png');
            background-size: cover; background-position: center; color: white;
            padding: 8rem 5%; text-align: center;
        }
        .chai-NEIowa-donors-title {
            font-family: "Sofia Sans Condensed", sans-serif; font-size: 5rem; font-weight: 300;
            text-transform: uppercase; margin-bottom: 6rem; color: white; letter-spacing: 1px;
        }
        
        /* SINGLE CARD STYLES */
        .chai-NEIowa-single-donor-card {
            background-color: #ffffff;
            color: #000000;
            max-width: 900px;
            margin: 0 auto;
            border-radius: 15px;
            padding: 4rem;
            box-shadow: 0 10px 30px rgba(0,0,0,0.3);
            text-align: center;
        }
        .donor-list-content {
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
        }
        .donor-entry-line {
            font-family: "Sofia Sans Condensed", sans-serif;
            font-size: 2.2rem;
            text-transform: uppercase;
            font-weight: 600;
            border-bottom: 1px solid #eee;
            padding-bottom: 0.5rem;
            display: flex;
            justify-content: space-between;
        }
        .donor-name-span { text-align: left; }
        .donor-amount-span { font-weight: 800; color: var(--primary-green); }
        
        /* View All Button */
        .chai-NEIowa-btn-view-all {
            background-color: var(--primary-red); color: white;
            font-family: "Sofia Sans Condensed", sans-serif;
            font-size: 1.8rem; text-transform: uppercase; font-weight: 700;
            padding: 0.8rem 3rem; border: none; border-radius: 6px;
            cursor: pointer; transition: background 0.2s;
        }
        .chai-NEIowa-btn-view-all:hover { background-color: #a31800; }

        /* =========================================
           FORM STYLING RESTORED
           ========================================= */
        .chai-NEIowa-form-wrapper {
            padding: 6rem 5% !important; text-align: center !important;
            background-color: #D0DCEB !important; display: block !important;
        }
        #id_3 { display: flex !important; flex-direction: column !important; align-items: center !important; margin-bottom: 4rem !important; width: 100% !important; }
        #label_3 { display: block !important; width: 100% !important; text-align: center !important; margin-bottom: 2rem !important; float: none !important; }
        #label_3 label {
            font-family: "Sofia Sans Condensed", sans-serif !important; font-size: 3.5rem !important; 
            font-weight: 700 !important; text-transform: uppercase !important; color: #333 !important; display: block !important;
        }
        #cid_3 div[class*="column"] {
            display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 30px !important;
            width: 100% !important; max-width: 1200px !important; margin: 0 auto !important;
        }
        #cid_3 .clearfix { display: none !important; }
        
        /* Card Container */
        #cid_3 .form-radio-item {
            width: 100% !important; max-width: 100% !important; display: block !important;
            padding: 0 !important; margin: 0 !important; position: relative !important;
        }
        /* Hide Standard Radios */
        #cid_3 .form-radio-item input[type="radio"] { 
            position: absolute !important; opacity: 0 !important;  
        }

        /* Card Visuals */
        #cid_3 .form-radio-item label {
            display: flex !important; flex-direction: column !important; justify-content: center !important;
            align-items: center !important; background: white !important; border-radius: 12px !important;
            padding: 2.5rem 1rem !important; cursor: pointer !important; transition: all 0.2s ease !important;
            height: 100% !important; min-height: 160px !important; box-shadow: 0 4px 10px rgba(0,0,0,0.05) !important;
            border: 5px solid transparent !important; text-align: center !important; width: 100% !important;
        }
        #cid_3 .form-radio-item input[type="radio"]:checked + label {
            border-color: var(--primary-green) !important; box-shadow: 0 8px 20px rgba(59, 151, 151, 0.2) !important; transform: translateY(-3px) !important;
        }
        .tier-card-title {
            font-family: "Sofia Sans Condensed", sans-serif !important; font-size: 2.4rem !important;
            font-weight: 800 !important; text-transform: uppercase !important; display: block !important;
            margin-bottom: 0.8rem !important; line-height: 1 !important; text-align: center !important;
        }
        .tier-card-price {
            font-family: "Sofia Sans Condensed", sans-serif !important; font-size: 1.8rem !important;
            font-weight: 600 !important; display: block !important; line-height: 1 !important;
        }
        div#cid_10 {
            display: flex !important;
            flex-direction: column;
            align-items: center;
        }
        /* --- B"H CORNER TEXT --- */
        .chai-NEIowa-wrapper { position: relative; } 
        .chai-bh {
            position: absolute;
            top: 10px;
            right: 20px;
            font-family: "Commissioner", sans-serif !important;
            font-size: 2rem !important;
            color: black !important; 
            z-index: 100;
            pointer-events: none;
        }
        li#id_10 {
            display: flex !important;
            flex-direction: column;
            align-items: center;
        }
        /* --- NEW COLOR CLASSES FOR ALTERNATING --- */
        .text-blue { color: var(--primary-green) !important; } 
        .text-red { color: var(--primary-red) !important; }
        .text-green { color: var(--primary-green) !important; }
        
        /* Other Fields */
        #id_4 { text-align: center !important; margin: 4rem auto !important; max-width: 800px !important;}
        #label_4 { display: block !important; width: 100% !important; text-align: center !important; font-family: "Sofia Sans Condensed", sans-serif !important; font-size: 2rem !important; font-weight: 600 !important; text-transform: uppercase !important; color: #444 !important; margin-bottom: 1.5rem !important; }
        #total_amount {
            background: #E8EEF4 !important; padding: 20px 30px !important; border-radius: 10px !important;
            font-size: 2.5rem !important; color: #666 !important; min-width: 350px !important; margin: 0 auto !important; text-align: left !important; 
            margin-left: 12vw !important;
        }
        #id_5, #id_6, #id_8 { max-width: 800px !important; margin: 0 auto 1.5rem auto !important; padding: 0 !important; }
        .form-label-left {
            font-family: "Sofia Sans Condensed", sans-serif !important; font-size: 1.8rem !important;
            font-weight: 600 !important; color: #555 !important; width: 200px !important;
        }
        .form-textbox {
            background-color: #E8EEF4 !important; border: none !important; border-radius: 8px !important;
            padding: 15px 20px !important; width: 100% !important; font-family: "Commissioner", sans-serif !important;
            font-size: 1.5rem !important; color: #333 !important; height: auto !important;
        }
        #id_9 { max-width: 800px !important; margin: 3rem auto !important; padding: 0 !important; }
        #cid_9 .form-payment-methods { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 30px !important; }
        #cid_9 .form-radio-item { display: flex !important; align-items: center !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
        #cid_9 .form-radio-item input[type="radio"] { position: static !important; opacity: 1 !important; width: 25px !important; height: 25px !important; margin-right: 10px !important; cursor: pointer !important; }
        #cid_9 .form-radio-item label {
            background: transparent !important; border: none !important; box-shadow: none !important;
            padding: 0 !important; min-height: auto !important; font-family: "Commissioner", sans-serif !important;
            font-size: 1.6rem !important; font-weight: 500 !important; color: #333 !important; text-align: left !important;
            width: auto !important; display: inline-block !important;
        }
        #cid_9 .form-radio-item input[type="radio"]:checked + label {
            border-color: transparent !important; box-shadow: none !important; transform: none !important; color: var(--primary-green) !important; font-weight: 700 !important;
        }
        #input_2 {
            background-color: var(--primary-green) !important; color: white !important; font-family: "Sofia Sans Condensed", sans-serif !important;
            font-size: 3rem !important; font-weight: 700 !important; text-transform: uppercase !important; padding: 1.5rem 5rem !important;
            border: none !important; border-radius: 10px !important; cursor: pointer !important; min-width: 400px !important;
            box-shadow: 0 6px 12px rgba(0,0,0,0.15) !important; margin: 4rem auto !important; display: block !important;
        }
        #input_2:hover { background-color: #2f7a7a !important; transform: translateY(-2px) !important; }

        /* Other Amount Card */
       .other-tier-card {
           display: flex !important; 
           flex-direction: column !important; 
           justify-content: center !important; 
           align-items: center !important; 
           background: white !important; 
           border-radius: 12px !important;
           padding: 1rem !important;
           cursor: pointer !important; 
           min-height: 160px !important; 
           box-shadow: 0 4px 10px rgba(0,0,0,0.05) !important;
           border: 5px solid transparent !important; 
           width: 100% !important; 
           position: relative !important;
       }
        .active-other-card {
             border-color: var(--primary-green) !important; box-shadow: 0 8px 20px rgba(59, 151, 151, 0.2) !important; transform: translateY(-3px) !important;
        }
        #input_3 {
            margin-top: 15px !important; padding: 10px !important; font-family: "Sofia Sans Condensed", sans-serif !important;
            font-size: 1.6rem !important; text-align: center !important; border: 2px solid #e0e0e0 !important;
            border-radius: 8px !important; width: 90% !important; background: #f8f8f8 !important;
            color: #333 !important; position: relative !important; z-index: 2 !important; margin-left: 5% !important;
        }
        #input_3:focus { border-color: var(--primary-green) !important; outline: none !important; background: white !important; }
        #other_3 {
           opacity: 0 !important; position: absolute !important; width: 100% !important; height: 100% !important;
           top: 0 !important; left: 0 !important; z-index: 1 !important; cursor: pointer !important;
        }
        .active-other-card #other_3 { z-index: -1 !important; width: 0 !important; height: 0 !important; }

        /* Mobile Responsiveness */
        @media (max-width: 768px) {
            .form-section{ padding-top: 10% !important;}
            .chai-NEIowa-hero-title-main, .chai-NEIowa-hero-title-highlight { font-size: 4rem; }
            .chai-NEIowa-quote-image{ width: 130% !important;}
            #input_2{ margin: 4rem -1rem !important;}
            .chai-NEIowa-donors-title{ font-size: 3rem !important;}
            .chai-NEIowa-about-image img{ width: 100% !important;}
            .chai-NEIowa-feature-card{ padding: 3rem 3rem !important;}
            .chai-NEIowa-stat-text {font-size: 2rem !important;}
            .chai-NEIowa-hero { 
                padding: 4rem 0; 
                background-image: url(https://chabadneiowa.com/media/images/1351/OPqA13511004.png) !important; 
                background-size: contain !important;
            }
            .chai-NEIowa-hero-text-col { display: none !important; padding: 2rem; width: 90%; margin: 0 auto; }
            .chai-NEIowa-about-section, .chai-NEIowa-features-grid, .chai-NEIowa-donors-grid { grid-template-columns: 1fr; }
            .chai-NEIowa-about-section{ padding: 1rem 5% !important;}
            .chai-NEIowa-btn-join-chai, .chai-NEIowa-btn-donate-highlight { width: 90vw !important; }
            .chai-NEIowa-stat-text { width: 100vw !important; display: flex; flex-direction: column; align-items: center; }
            
            .chai-NEIowa-timer-container { padding: 1.5rem; gap: 10px; flex-direction: column !important; }
            .chai-NEIowa-time-num { font-size: 2.5rem !important; }
            .chai-NEIowa-time-sep { display: none; } 
           .chai-NEIowa-time-label { font-size: 2.5rem !important; }
            .chai-NEIowa-progress-header  { font-size: 2.5rem !important; }
            #cid_3 div[class*="column"] { grid-template-columns: 1fr !important; }
            #total_amount { min-width: 100% !important; margin-left: 20vw !important; }
            #id_9 { text-align: left !important; }
            #cid_9 .form-payment-methods { justify-content: flex-start !important; }
        }
    `;

    var styleSheet = document.createElement("style");
    styleSheet.type = "text/css";
    styleSheet.innerText = styles;
    document.head.appendChild(styleSheet);


    // 2. HELPER FUNCTIONS
    function normalizeKey(str) {
        return str.replace(/[^a-zA-Z0-9]/g, '').toUpperCase();
    }

    // 3. COUNTDOWN TIMER LOGIC (IOWA TIME VERSION)
    function startCountdown() {
        // Default fallback: 48 hours from right now
        let endDate = new Date();
        endDate.setHours(endDate.getHours() + 48); 

        // FETCH SETTINGS FROM GOOGLE SHEET
        if(googleWebAppUrl && googleWebAppUrl.indexOf('script.google.com') > -1) {
             console.log("Fetching timer settings...");
             fetch(googleWebAppUrl + '?action=getSettings')
                .then(res => res.json())
                .then(data => {
                    if(data.endDate && data.endTime) {
                         let combinedString = data.endDate + ' ' + data.endTime;
                         let fetchedDate = new Date(combinedString);
                         
                         if(!isNaN(fetchedDate.getTime())) {
                             endDate = fetchedDate;
                             console.log("Target Date (Face Value):", endDate);
                         }
                    }
                })
                .catch(err => console.log("Using default timer. Could not fetch settings."));
        }

        const els = {
            days: document.getElementById('timer-days'),
            hours: document.getElementById('timer-hours'),
            minutes: document.getElementById('timer-minutes'),
            seconds: document.getElementById('timer-seconds')
        };
        
        function updateTimer() {
            const now = new Date();
            const chicagoTimeStr = now.toLocaleString("en-US", {timeZone: "America/Chicago"});
            const chicagoNow = new Date(chicagoTimeStr);
            const distance = endDate - chicagoNow;

            if (distance < 0) {
                if(els.days) els.days.innerText = "00";
                if(els.hours) els.hours.innerText = "00";
                if(els.minutes) els.minutes.innerText = "00";
                if(els.seconds) els.seconds.innerText = "00";
                return;
            }

            const days = Math.floor(distance / (1000 * 60 * 60 * 24));
            const hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
            const minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
            const seconds = Math.floor((distance % (1000 * 60)) / 1000);

            if(els.days) els.days.innerText = (days < 10 ? "0" + days : days);
            if(els.hours) els.hours.innerText = (hours < 10 ? "0" + hours : hours);
            if(els.minutes) els.minutes.innerText = (minutes < 10 ? "0" + minutes : minutes);
            if(els.seconds) els.seconds.innerText = (seconds < 10 ? "0" + seconds : seconds);
        }

        setInterval(updateTimer, 1000);
        updateTimer();
    }

    // 4. MAIN INIT
    document.addEventListener("DOMContentLoaded", function() {
        
        // --- REMOVE THE ANNOYING TEMPLATE BAR (JS FORCE REMOVAL) ---
        var annoyingHeader = document.querySelector('.cco_templateless_template');
        if (annoyingHeader) {
            annoyingHeader.remove(); // Forces removal from DOM
        }

        // --- FORM TRANSFORMATION LOGIC (ALTERNATING COLORS) ---
        function transformForm() {
            console.log("Transforming Form...");

            // 0. NEW LOGIC: WRAP ELEMENTS FROM ID_3 TO BOTTOM
            var startNode = document.getElementById('id_3');
            if(startNode && startNode.parentNode) {
                var wrapper = document.createElement('div');
                wrapper.className = 'chai-bottom-wrapper';
                // Insert wrapper before id_3
                startNode.parentNode.insertBefore(wrapper, startNode);
                
                // Move id_3 and subsequent siblings into wrapper
                while (wrapper.nextSibling) {
                      wrapper.appendChild(wrapper.nextSibling);
                }
            }

            // 1. Target the Main Labels
            var labels = document.querySelectorAll('#cid_3 .form-radio-item label');
            
            // Loop through labels with index to handle alternation
            labels.forEach(function(label, index) {
                var text = label.innerText.trim();
                if (text.indexOf('$') > -1) {
                    var parts = text.split('$');
                    var title = parts[0].trim();
                    var price = '$' + parts.slice(1).join('$').trim();

                    // Logic: Even index (0, 2, 4) = Red. Odd index (1, 3, 5) = Green.
                    var colorClass = (index % 2 === 0) ? "text-red" : "text-green";

                    // Inject new HTML with Alternating Colors
                    label.innerHTML = `
                        <span class="tier-card-title ${colorClass}">${title}</span>
                        <span class="tier-card-price ${colorClass}">${price}</span>
                    `;
                }
            });

            // 2. Target the "Other" Option
            var otherInput = document.getElementById('input_3'); 
            if (otherInput) {
                var wrapper = otherInput.closest('.form-radio-item');
                if (wrapper) {
                    wrapper.classList.add('other-tier-card');
                    
                    // A. Add the "Other Amount" title if it's missing
                    if(!wrapper.querySelector('.tier-card-title')) {
                         var titleDiv = document.createElement('div');
                         titleDiv.className = 'tier-card-title text-gold';
                         titleDiv.innerText = 'OTHER AMOUNT';
                         wrapper.insertBefore(titleDiv, wrapper.firstChild); 
                    }

                    // B. Handle Clicks on the Card Background
                    wrapper.addEventListener('click', function(e) {
                        // If user clicked the Input itself, do NOT trigger this (let them type)
                        if(e.target === otherInput) {
                            e.stopPropagation(); 
                            return;
                        }
                        
                        // Otherwise, they clicked the white space -> Select Radio & Focus Input
                        var radioBtn = wrapper.querySelector('input[type="radio"]');
                        if(radioBtn) {
                            radioBtn.checked = true;
                            // Trigger change event manually so visual classes update
                            radioBtn.dispatchEvent(new Event('change', { bubbles: true }));
                        }
                        otherInput.focus();
                    });

                    // C. Handle Typing
                    otherInput.addEventListener('input', function() {
                        var radioBtn = wrapper.querySelector('input[type="radio"]');
                        if(radioBtn && !radioBtn.checked) {
                            radioBtn.checked = true;
                            radioBtn.dispatchEvent(new Event('change', { bubbles: true }));
                        }
                    });

                    // D. Visual State (Active/Inactive)
                    var radio = wrapper.querySelector('input[type="radio"]');
                    if(radio) {
                        // Function to toggle class
                        function updateState() {
                            if(radio.checked) wrapper.classList.add('active-other-card');
                            else wrapper.classList.remove('active-other-card');
                        }

                        // Listen to this radio
                        radio.addEventListener('change', updateState);

                        // Listen to all other radios (to remove the class if they switch)
                        document.getElementsByName(radio.name).forEach(function(r) {
                            r.addEventListener('change', function() {
                                if (r !== radio) wrapper.classList.remove('active-other-card');
                            });
                        });
                        
                        // Run once on load
                        updateState();
                    }
                }
            }
        }
        transformForm();
        startCountdown();

        // 5. FETCH DATA FROM WEB APP (Updated for Single List & View All)
        if(googleWebAppUrl) {
            fetch(googleWebAppUrl + '?action=getData')
                .then(response => response.json())
                .then(data => {
                    let monthlyTotal = 0;
                    let allDonors = [];
                    
                    if(!data || data.length === 0 || data.error) {
                        console.log("No data returned or error", data);
                        monthlyTotal = 0;
                    } else {
                        data.forEach(row => {
                            let amountStr = row.amount; 
                            let donorName = row.name;
                            let dateVal = row.date; // ASSUMING 'date' is the key for the first column
                            
                            let amountVal = 0;
                            if(amountStr) {
                                let cleanStr = amountStr.toString().replace(/[^0-9.]/g, ''); 
                                amountVal = parseFloat(cleanStr);
                                if(!isNaN(amountVal)) {
                                    monthlyTotal += amountVal;
                                }
                            }

                            if (donorName) {
                                allDonors.push({
                                    name: donorName,
                                    amount: amountVal,
                                    date: dateVal // Store date for sorting
                                });
                            }
                        });
                    }

                    // Sort donors by DATE (Newest First)
                    // If date is missing, it puts it at the end
                    allDonors.sort((a, b) => {
                        return new Date(b.date) - new Date(a.date);
                    });

                    // Update Totals
                    document.querySelectorAll('.chai-NEIowa-stat-text strong').forEach(el => {
                        if(el.closest('.goal-text')) {
                            el.innerText = '$' + monthlyGoal.toLocaleString();
                        } else if(el.innerText.indexOf('$') > -1 || el.innerText.indexOf('MONTH') > -1 || el.innerText.indexOf('0') > -1) {
                            el.innerText = '$' + monthlyTotal.toLocaleString();
                        }
                    });

                    // Update Progress Bar
                    const percentage = Math.min((monthlyTotal / monthlyGoal) * 100, 100);
                    document.querySelectorAll('.chai-NEIowa-progress-fill').forEach(bar => { bar.style.width = percentage + "%"; });

                    // Populate Single White Card (With View All Limit)
                    const listContainer = document.getElementById('full-donor-list');
                    const btnContainer = document.getElementById('donor-btn-container');
                    const viewAllBtn = document.getElementById('view-all-donors-btn');

                    if(listContainer) {
                        if(allDonors.length > 0) {
                            listContainer.innerHTML = ''; // Clear loading text

                            // Function to Render Rows
                            function renderRows(donorArray) {
                                donorArray.forEach(donor => {
                                    const rowDiv = document.createElement('div');
                                    rowDiv.className = 'donor-entry-line';
                                    let displayAmount = donor.amount > 0 ? '$' + donor.amount.toLocaleString() : '';
                                    rowDiv.innerHTML = `
                                        <span class="donor-name-span">${donor.name}</span>
                                        <span class="donor-amount-span">${displayAmount}</span>
                                    `;
                                    listContainer.appendChild(rowDiv);
                                });
                            }

                            // 1. Render First 10
                            const initialLimit = 10;
                            const firstBatch = allDonors.slice(0, initialLimit);
                            renderRows(firstBatch);

                            // 2. Check if we need the button
                            if(allDonors.length > initialLimit) {
                                btnContainer.style.display = 'block';
                                
                                viewAllBtn.addEventListener('click', function() {
                                    // Render the rest
                                    const restBatch = allDonors.slice(initialLimit);
                                    renderRows(restBatch);
                                    // Hide button
                                    btnContainer.style.display = 'none';
                                });
                            }

                        } else {
                            listContainer.innerHTML = '<p style="color:black;">No donations yet.</p>';
                        }
                    }
                })
                .catch(e => {
                    console.log("Data Fetch failed:", e);
                });
        }
    });

})();
</script></head>
<body class="lang_en dir_ltr cco_body sites-article">

	


	
	<div id="PrintCreditHeader" class="show_for_print">
Printed from<b>ChabadNEIowa.com</b>
</div>
	<div id="header">
		<div class="wrapper header-wrapper">
			
<div id="feedback_bar" class="hide_for_print no_outline">
	<div class="wrapper">
		
	</div>
</div>

			


<div id="header_container" class="header_container">
	<div class="clearfix links">
		<img src="https://w2.chabad.org/images/global/spacer.gif" width="15" height="8" class="baruch_hashem" />
		<div class="float_right">
			
			
				<div class="topBarLink cco_topbar_link ask_the_rabbi_link">
					<a href="/asktherabbi/default_cdo/jewish/Ask-the-Rabbi.htm">Ask the Rabbi</a>
				</div>
				
			
			
				<div class="topBarLink cco_topbar_link contact_link">
					<a href="/tools/feedback.asp">Contact</a>
				</div>
			
			
		</div>
		<div class="float_left">
			
				<div class="topBarLink cco_topbar_link home_link">
					<a href="/">Home</a>
				</div>
				
			
			
			
			
		</div>
	</div>
	<div class="break_floats"></div>
</div>

			<div class="clearfix branding-search">
				<div id="header_branding" class="no_outline  logo">
					<div class="g260 no_margin cco_search_header float_right">
						

<div class="co_search_form margin05">
	<form name="MainSearchForm" id="MainSearchForm" method="get" action="/search/results.asp" class="clearfix" onsubmit="return Co.Forms.Validation.Validate(this, null, {markAsSubmitted:false});">
		<div class="co_global_submit"><button type="submit" class="button" value=" "><span> </span></button></div>
		

<div class="co_global_input_container clearfix">
	<input id="topAreaTopSearch_search" required="true" autocomplete="nope" placeholder="Search" value="" OnAutoSuggestSelect="OnSearchAutoSuggestSelect(ev);" class="co_global_input co_search js-search-field active js-mirrored-input" onblur="this.form.className = this.form.className.replace(/\sactive/gi, &#39;&#39;);" name="searchWord" onfocus="this.form.className+=&#39; active&#39;;" type="text" autoSuggestProperties="&quot;Highlight&quot;:true,&quot;Name&quot;:&quot;topAreaTopSearch_search&quot;,&quot;AutoSubmit&quot;:true,&quot;ShowRecommendedOnTop&quot;:false" autoSuggestUrl="/WebServices/RemoteCall/Get_Suggestions" display_name="Search Field" min_length="3"></input>
</div>

			
		
		
	
		<div id="topAreaTopSearch_search_wrapper" class="co_field_options" style="display:none;">
			<div class="co_absolute_wraper" id="co_absolute_wraper" style="">
				<div class="inner">
					<div id="topAreaTopSearch_search_container" class="co_field_options_suggestions"></div>
					<div class="break_floats"></div>
					
				</div>
			</div>
		</div>
	</form>
</div>
					</div>
					
						<div class="float_left site-logo-wrapper"><a href="/"><img src="https://w2.chabad.org/media/images/1344/msFi13447966.png" width="100" height="100" border="0"  /></a></div>
					
					<a href="/default.asp" title="Chabad of North East Iowa" class="site_title">Chabad of North East Iowa<span class="site_subtitle clearfix"> </span></a>
				</div>
			</div>
			
			
			<button type='button' class='cs-mobile-menu-open js-mobile-menu-open'><i class='fa fa-bars'></i></button>
			<div class="site-nav-wrapper">
				<script>
var primaryNavigationVersion = "639141480000000000";
</script>
<div id="co_menu_container_wrapper" class="co_menu_container_wrapper " data-list-name="primary navigation"> 
<div class="co_menu_container clearfix" id="co_menu_container">
<a class="menu_logo" href="/"></a>
<table cellpadding="0" cellspacing="0" border="0" class="main_menu_container first global">
<tr id="tabContentMain" tab="Main" style="display:table-row;">
<td class="co_menu_item home" data-menu-level="1"><a href="/default.asp"><img class="co_menu_home_image" src="https://w2.chabad.org/images/global/spacer.gif" width="28" height="60" border="0" onmouseover="this.className += ' hover';" onmouseout="this.className=this.className.replace(/\s?hover/gi, '');" /></a></td>
<td class="co_menu_item_divider"><img src="https://w2.chabad.org/images/global/spacer.gif" width="2" height="1" border="0" /></td>
<td class="co_menu_item arrow multi_level" aid="4668630" data-menu-level="1" onmouseover='Co.MainNavigation.Show(event, this);' onmouseout='Co.MainNavigation.Hide(event, this);' >
<div class="co_menu_content"><div class="co_submenu_container" style="width:auto;display:none;clip:rect(auto auto 0px auto);">
<div class="wrapper">
<div class="column_wrapper clearfix" style="height:100%;">
<div class="co_column">
<a href="/templates/articlecco_cdo/aid/4668628/jewish/SHUL-SYNAGOGUE.htm" class="item empty" id="menu_item1-1" data-menu-level="2" data-aid="4668628">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow off" />
<span>SHUL / SYNAGOGUE</span>
</a>
<a href="/templates/articlecco_cdo/aid/7148010/jewish/MISSION.htm" class="item empty" id="menu_item1-2" data-menu-level="2" data-aid="7148010">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow off" />
<span>MISSION</span>
</a>
<a href="/templates/articlecco_cdo/aid/6158297/jewish/BE-OUR-GUEST.htm" class="item empty" id="menu_item1-3" data-menu-level="2" data-aid="6158297">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow off" />
<span>BE OUR GUEST</span>
</a>
</div>
<div id="menu_child1-1" class="menu_child empty selected" style="width:174px;">
<table cellpadding="0" cellspacing="0" border="0" style="height:100%;">
<tr class="wrapper clearfix">
<td class="co_column"><div class="column_left_wrapper">
<a href="" class="child_item default" data-menu-level="3" data-aid="0"><span></span></a>
</div></td>
</tr>
</table>
</div>
<div id="menu_child1-2" class="menu_child empty" style="width:174px;">
<table cellpadding="0" cellspacing="0" border="0" style="height:100%;">
<tr class="wrapper clearfix">
<td class="co_column"><div class="column_left_wrapper">
<a href="" class="child_item default" data-menu-level="3" data-aid="0"><span></span></a>
</div></td>
</tr>
</table>
</div>
<div id="menu_child1-3" class="menu_child empty" style="width:174px;">
<table cellpadding="0" cellspacing="0" border="0" style="height:100%;">
<tr class="wrapper clearfix">
<td class="co_column"><div class="column_left_wrapper">
<a href="" class="child_item default" data-menu-level="3" data-aid="0"><span></span></a>
</div></td>
</tr>
</table>
</div>
</div>
<div class="break_floats"></div></div></div></div><span class="parent"><img src="https://w2.chabad.org/images/global/spacer.gif" width="12" height="6" border="0" vspace="2" /><div><a href="/templates/articlecco_cdo/aid/4668630/jewish/WELCOME-CENTER.htm" class="parent">WELCOME<br />CENTER</a></div></span><a href="/templates/articlecco_cdo/aid/4668630/jewish/WELCOME-CENTER.htm" class="bg_extension js-parent-menu-link" data-aid="4668630"></a></td>
<td class="co_menu_item_divider"><img src="https://w2.chabad.org/images/global/spacer.gif" width="2" height="1" border="0" /></td>
<td class="co_menu_item" aid="4668626" data-menu-level="1" onmouseover="this.className += ' hover';" onmouseout="this.className = this.className.replace(/\shover/gi, '');" >
<div class="co_menu_content"><div class="co_submenu_container" style="width:auto;display:none;clip:rect(auto auto 0px auto);">
<div class="wrapper">
<div class="column_wrapper clearfix" style="height:100%;">
</div>
<div class="break_floats"></div></div></div></div><span class="parent"><div><a href="/templates/articlecco_cdo/aid/4668626/jewish/KOSHER.htm" class="parent">KOSHER</a></div></span><a href="/templates/articlecco_cdo/aid/4668626/jewish/KOSHER.htm" class="bg_extension js-parent-menu-link" data-aid="4668626"></a></td>
<td class="co_menu_item_divider"><img src="https://w2.chabad.org/images/global/spacer.gif" width="2" height="1" border="0" /></td>
<td class="co_menu_item" aid="7135505" data-menu-level="1" onmouseover="this.className += ' hover';" onmouseout="this.className = this.className.replace(/\shover/gi, '');" >
<div class="co_menu_content"><div class="co_submenu_container" style="width:auto;display:none;clip:rect(auto auto 0px auto);">
<div class="wrapper">
<div class="column_wrapper clearfix" style="height:100%;">
</div>
<div class="break_floats"></div></div></div></div><span class="parent"><div><a href="/templates/articlecco_cdo/aid/7135505/jewish/CHAI-CLUB.htm" class="parent">CHAI<br />CLUB</a></div></span><a href="/templates/articlecco_cdo/aid/7135505/jewish/CHAI-CLUB.htm" class="bg_extension js-parent-menu-link" data-aid="7135505"></a></td>
<td class="co_menu_item_divider"><img src="https://w2.chabad.org/images/global/spacer.gif" width="2" height="1" border="0" /></td>
<td class="co_menu_item" aid="7148012" data-menu-level="1" onmouseover="this.className += ' hover';" onmouseout="this.className = this.className.replace(/\shover/gi, '');" >
<div class="co_menu_content"><div class="co_submenu_container" style="width:auto;display:none;clip:rect(auto auto 0px auto);">
<div class="wrapper">
<div class="column_wrapper clearfix" style="height:100%;">
</div>
<div class="break_floats"></div></div></div></div><span class="parent"><div><a href="/templates/articlecco_cdo/aid/7148012/jewish/INSTITUTIONS.htm" class="parent">INSTITUTIONS</a></div></span><a href="/templates/articlecco_cdo/aid/7148012/jewish/INSTITUTIONS.htm" class="bg_extension js-parent-menu-link" data-aid="7148012"></a></td>
<td class="co_menu_item_divider"><img src="https://w2.chabad.org/images/global/spacer.gif" width="2" height="1" border="0" /></td>
<td class="co_menu_item" aid="7138150" data-menu-level="1" onmouseover="this.className += ' hover';" onmouseout="this.className = this.className.replace(/\shover/gi, '');" >
<div class="co_menu_content"><div class="co_submenu_container" style="width:auto;display:none;clip:rect(auto auto 0px auto);">
<div class="wrapper">
<div class="column_wrapper clearfix" style="height:100%;">
</div>
<div class="break_floats"></div></div></div></div><span class="parent"><div><a href="/templates/events.htm" class="parent">Upcoming<br />Events</a></div></span><a href="/templates/events.htm" class="bg_extension js-parent-menu-link" data-aid="7138150"></a></td>
<td class="co_menu_item_divider"><img src="https://w2.chabad.org/images/global/spacer.gif" width="2" height="1" border="0" /></td>
<td class="co_menu_item donate_link" aid="0" data-menu-level="1" onmouseover="this.className += ' hover';" onmouseout="this.className = this.className.replace(/\shover/gi, '');" >
<div class="co_menu_content"><div class="co_submenu_container" style="width:auto;display:none;clip:rect(auto auto 0px auto);">
<div class="wrapper">
<div class="column_wrapper clearfix" style="height:100%;">
</div>
<div class="break_floats"></div></div></div></div><span class="parent"><div><a href="/4970020" class="parent">Donate</a></div></span><a href="/4970020" class="bg_extension js-parent-menu-link" data-aid="0"></a></td>
</tr>
</table>
</div>
</div>
<!-- END CACHE -->
				<div class="mobile-menu-bottom-links">
					
					<a href="/search">Search</a>
					
						<a href="/tools/feedback.asp">Contact</a>
					
				</div>
			</div>
		</div>
	</div>
	<div id="content">
		<div id="BodyContainer" class="wrapper">
			<div class="body_wrapper   clearfix">
				
	<div class="co_content_container clearfix local_content" id="co_content_container">
		<div class="clearfix">
			
			
			
			<div class="clearfix bh mobile-only align_right">ב"ה</div>
			
				<div class="master-content-wrapper g960" style="background-image: url(https://w2.chabad.org/media/images/1346/Dexg13462854.png)">
					

<header class="article-header cf ">
	
	
			<h1 class="article-header__title js-article-title js-page-title">INSTITUTIONS</h1>
		
			<div>
				
			</div>
		
</header>
				</div>
			
			<div class="body_wrapper clearfix co_body">
				<div class="g960" id="co_body_container">
					
					<div id="ContentBody">
						
						
							<div class="content-area-parent no_margin">
								
	<div id="cco_body">
		<div class="content g960 no_margin no_overflow" id="co_content_container">
			
			
	

	<article class="content js-content" itemscope itemtype="http://schema.org/Article">
	



<meta itemprop="mainEntityOfPage headline name" content="" />

<meta itemprop="image" content="https://w2.chabad.org/media/images/1346/Dexg13462854.png" />


		<meta itemprop="thumbnailUrl" content="https://w2.chabad.org/media/images/1346/Dexg13462854.png" />
	
<meta itemprop="uploadDate" content="2025-12-03T22:55:53" />
<span itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
	<meta itemprop="name" content="Chabad of North East Iowa" />
	<meta itemprop="brand" content="Chabad of North East Iowa" />
	<span itemprop="logo" itemscope itemtype="http://schema.org/ImageObject">
		<meta itemprop="url" content="https://w2.chabad.org/media/images/1344/msFi13447966.png" />
		<meta itemprop="height" content="150" />
		<meta itemprop="width" content="150" />
	</span>
</span>
<meta itemprop="datePublished" content="2025-12-03T22:55:53" />
			<div itemprop="articleBody">
				<co:body xmlns:co="www1.chabadonline.com/alpha1" xmlns:ext="urn:xslt-extensions">
  <div class="co_body article-body cf"><section>
</section><section><h2>
<b>LOCAL JEWISH INSTITUTIONS</b></h2>

<p>With the establishment and growth of the local kosher meat plant, Postville experienced growth in the number of Rabbis (Jewish scholars), many of whom had specialized training in the highly ritualistic techniques of kosher hand slaughtering (shochet). These rabbis were often young, and most had large families with seemingly ever-increasing numbers of children. As their numbers grew, so did their need for the special infrastructure it takes to support an Orthodox Jewish community.</p>

<ul>
<li>First was the <b>synagogue</b>, built in and around a large old farmhouse on the southern end of town. Today, there’s already two synagogues, the original one mainly for followers of the Chabad-Lubavitch movement often and the new one for followers of the other Chassidic groups. </li>
<li>The <b>preschool </b>and segregated schools for younger boys and girls.</li>
<li>The <b>Yeshiva</b> “Beit Shalom” a seminary for young Jewish men who are learning the Torah and other sacred scriptures. Today, Jewish families from throughout North America send their sons to Postville for rabbinical education in an idyllic, isolated, rural setting relatively free of big-city temptations and distractions.</li>
<li><b>Mikvah</b> ritual bath houses for men and women.</li>
<li><b>Kosher market and Deli</b> to support the dietary needs of the Jewish population. Soon a Kosher Pizza shop is about to open by a local Jewish resident.</li>
<li><b>Bais Chabad and Jewish Welcome Center</b> operated by Rabbi Aron Schimmel, an outreach center providing information on the Postville Jewish community for bypassers, visitors and tourists, as well as providing all Jewish needs for Jews throughout the tri state area.</li>
</ul>

<p> </p>

</section><section><h2>
<b>LOCAL JEWISH BUSINESSES</b></h2>

<p>Postville experienced growth in the number of Jewish residents relocating from other big city settings such as New York, California or the like, falling in love with this unique “Shtetl”-style living. Many of the newcomers opened businesses or moved their existing businesses to Postville (economically a wise move as well).</p>

<p>Some of the local Jewish businesses and professions include: family doctor, hospital beds, auto shop, electrician, honey making, Kosher cheese, frozen pizza production and much more.</p>

<p>(This text is in part taken with permission from the book: Postville U.S.A. by Mark Grey, Michele Devlin, Aron Goldsmith. Our thanks to them. For more info. about Postville we recommend reading this book.)</p>

<p> </p>

</section><section><h2>
<b>THE JEWISH COMMUNITY</b></h2>

<p>On a typical day in Postville, one can find people from many different parts of the world walking the streets in traditional Orthodox Jewish garb, including the long black robes and distinctive hats of the local Jewish residents who put Postville on the map. On <em>Shabbat</em>, or the sabbath, which starts on Friday evenings and ends on Saturday night, Jews are forbidden to drive, so families walk through town on their way to the synagogue. Long beards and hats distinguish members of the different Jewish sects. Followers of the Chabad-Lubavitch movement often wear a traditional black, broad-rimmed fedora. Members of the <em>Sigit</em> movement wear large, saucer-shaped fur hats that may be two feet wide and about six inches tall. Members of the <em>Belz</em> sect also wear fur hats, but theirs look more like traditional Russian sable hats, rising up to a foot above the wearer’s head.</p>

<p>There are also members of the <em>Vizhnitz</em> movement, as well as other Orthodox and even secular Jews who come from diverse locations, ranging from Brooklyn, New York and New Jersey to Russia, Argentina, Lithuania and Israel. Every day, observant Jewish men wear <em>kippas</em>, or skullcaps, in public as a sign of commitment to G‑d. (Out of respect for the sacredness and holiness of the Divine Name, Orthodox Jews do not spell out the name of the creator in writings. This lessens the chance of it being erased, destroyed, or discarded, even in languages other than Hebrew.) The Jewish married women dress modestly and generally wear wigs or scarves in public out of modesty.</p>

<p>Among Orthodox Jews, gender segregation starts at an early age. Jewish children start attending boys’ or girls’ schools when they are about four years old. Adult activities outside the home, including worship, parties, and work are generally segregated, too.</p>

</section></div>
</co:body>
			</div>
			

			<div class="break_floats"></div>
			
	<div class="break_floats"></div>
	

<div class="content-footer">
	<!-- END CACHE -->
	
	
	
	
	
</div>
	</article>

		</div>
	</div>
</div>
						
						<div class="break_floats"></div>
						
					</div>
				</div>
				
				
				
			</div>
			
			
		</div>
		
		<aside class="page-tools-sidebar js-page-tools-sidebar hide_for_print">
<div class="page-tools js-page-tools-menu">
<div class="page-tools__section page-tools__section--share">
<a class="page-tools__tool js-share-popup page-tools__tool--facebook" data-share-url="https://www.facebook.com/dialog/share?app_id=188669250943&amp;display=popup&amp;href=https%3a%2f%2fwww.chabadneiowa.com%2ftemplates%2farticlecco_cdo%2faid%2f7148012%2fjewish%2fINSTITUTIONS.htm%23utm_medium%3dpage_tools%26utm_content%3ddesktop%26utm_source%3dFB">
				<i class="fa fa-facebook"></i>
			</a>
<a class="page-tools__tool js-share-popup page-tools__tool--twitter" data-share-url="https://twitter.com/intent/tweet?text=INSTITUTIONS+-+Chabad+of+North+East+Iowa&amp;url=https%3a%2f%2fwww.chabadneiowa.com%2ftemplates%2farticlecco_cdo%2faid%2f7148012%2fjewish%2fINSTITUTIONS.htm%23utm_medium%3dpage_tools%26utm_content%3ddesktop%26utm_source%3dtwitter&amp;via=Chabad">
				<i class="fa fa-twitter"></i>
			</a>
<a class="page-tools__tool js-share-popup page-tools__tool--whatsapp d-lg-none js-share-whatsapp" data-share-url="whatsapp://send?text=INSTITUTIONS+-+Chabad+of+North+East+Iowa https%3a%2f%2fwww.chabadneiowa.com%2ftemplates%2farticlecco_cdo%2faid%2f7148012%2fjewish%2fINSTITUTIONS.htm%23utm_medium%3dpage_tools%26utm_content%3ddesktop%26utm_source%3dwhatsapp">
				<i class="fa fa-whatsapp">
					<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" fill="#128c7e" width="1em" height="1em"><path d="M25 2C12.318 2 2 12.318 2 25c0 3.96 1.023 7.854 2.963 11.29L2.037 46.73c-.096.343-.003.711.245.966.191.197.451.304.718.304.08 0 .161-.01.24-.029l10.896-2.699C17.463 47.058 21.21 48 25 48c12.682 0 23-10.318 23-23S37.682 2 25 2zm11.57 31.116c-.492 1.362-2.852 2.605-3.986 2.772-1.018.149-2.306.213-3.72-.231-.857-.27-1.957-.628-3.366-1.229-5.923-2.526-9.791-8.415-10.087-8.804-.295-.389-2.411-3.161-2.411-6.03s1.525-4.28 2.067-4.864c.542-.584 1.181-.73 1.575-.73s.787.005 1.132.021c.363.018.85-.137 1.329 1.001.492 1.168 1.673 4.037 1.819 4.33.148.292.246.633.05 1.022s-.294.632-.59.973-.62.76-.886 1.022c-.296.291-.603.606-.259 1.19s1.529 2.493 3.285 4.039c2.255 1.986 4.158 2.602 4.748 2.894.59.292.935.243 1.279-.146.344-.39 1.476-1.703 1.869-2.286s.787-.487 1.329-.292c.542.194 3.445 1.604 4.035 1.896.59.292.984.438 1.132.681.148.242.148 1.41-.344 2.771z"/></svg>
				</i>
			</a>
<a class="page-tools__tool js-share-popup page-tools__tool--pinterest d-none d-lg-block" data-share-url="http://pinterest.com/pin/create/button/?url=https%3a%2f%2fwww.chabadneiowa.com%2ftemplates%2farticlecco_cdo%2faid%2f7148012%2fjewish%2fINSTITUTIONS.htm%23utm_medium%3dpage_tools%26utm_content%3ddesktop%26utm_source%3dpinterest&amp;description=INSTITUTIONS+-+Chabad+of+North+East+Iowa">
				<i class="fa fa-pinterest"></i>
			</a>
<a class="page-tools__tool" onclick="showEmailLayer(this);">
<i class="fa fa-envelope"></i>
</a>
</div>
<div class="page-tools__section page-tools__section--other js-page-tool-other">
<div class="page-tools__tool popover-parent d-lg-block">
<div class="popover popover--right align_left nowrap">
<div class="popover__content">
<label class="bold bottom_margin block">
Print Options:
</label>
<form class="vcenter" name="print-form" onsubmit="coPrint(event, 3514198);return false;">
<div>
<label><input type="checkbox" name="print-green"><span title="Save paper and ink">Print without images <i class="fa fa-leaf text-green"></i></span></label>
</div>
<br/>
<div class="center">
<button class="co-button page-tools__print-button">Print</button>
</div>
</form>
</div>
</div>
<i class="fa fa-print"></i>
</div>
</div>
</div>
<div class="js-fab-wrapper fab-wrapper">
<div class="fab">
<i class="fab-icon"></i>
</div>
</div>
</aside>
<!-- END CACHE -->
	</div>

				<div class="break_floats"></div>
			</div>
		</div>
	</div>
	<div id="footer">
		
	

		<div class="wrapper body_container">
			
				<div class="g960 footer_family_text bottom_padding">
					
		<div class="footer_container footer_text copyright_text">
			<div class="bottom_padding clear_float">
				<img class="footer_hr" src="https://w2.chabad.org/images/global/spacer.gif" vspace="12" width="100%" height="1" /><br />
				
				<div class="footer_inner_container clearfix">
					

					



	<div class="footer3">
		<span class="footer-title" >Chabad of North East Iowa</span>
		<div class="footer-address">
			<span class="footer-street">102 S Lawler Street </span>
			<span class="footer-city-state">Postville, IA 52162</span>
		</div>
			<span>563-380-7771</span>
	</div>
	<img src="https://w2.chabad.org/images/global/spacer.gif" width="1" height="6" border="0" /><br />



Powered by <a href="https://www.chabad.org/" target="_new" class="">Chabad.org</a> &copy; 1993-2026 <a href="/4026210" target="_blank" class="privacy-link">Privacy Policy</a>




					
				</div>
			</div>
		</div>
	


<div class="cs-f-social-icons">
	
			<a href="https://www.facebook.com/chabadneiowa" class="fa fa-facebook facebook_homepage" title="Facebook"></a>
		
</div>
	

				</div>
			
		</div>
	</div>

	
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/os/jquery-latest.min.js?v=0293E3EC"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/co/dist/CoLib.js?v=F809B22F"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/WebComponents/bundles/magen-cdo-global.js?v=95D39855"></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/primarynavigation.js?v=76ABCD73"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/BetaFeedback.js?v=D421ABC8"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/multimedia/infolayer.js?v=ED1B8531"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/commentsloader.js?v=AD6AAB79"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/subscribeprompt.js?v=86D84DC2"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/modules/pagetools.js?v=930B07AB"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/deprecated.js?v=D506A83E"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/OverrideJSDocumentWrite.js?v=9A0227AA"></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:'Chabad of North East Iowa'}; Co.ArticleId     = '7148012';Co.SectionId     = 7148012;Co.PartnerSiteId = 0;Co.SiteId        = 3739;Co.IsMobilePage  = false;Co.IsResponsive  = false;Co.DbDomain      = 'ChabadNEIowa.com';Co.LanguageCode  = '';Co.LoginStatus   = 'None';</script>

    
<style>
/*Makes main promo overlay transparent */
.hp-table .hp-row-first .promo_slider .slider .slides .slide_wrapper img {
    mix-blend-mode: initial !important;
}
/*homepage navigation bar*/
body #tabContentMain .co_menu_item span.parent a,

body.cco_body #tabContentMain .co_menu_item span.parent a {
    color: #ffffff;
}

body #tabContentMain .co_menu_item span.parent a, body.cco_body #tabContentMain .co_menu_item span.parent a {
  color: #ffffff;
}

/*homepage contents*/
.hp-table .hp-row-first .promo_slider .slider .cycle-caption p {
    color: #944747;
}

/*hompage slider name*/
.hp-table .hp-row .promo_slider .slider .cycle-caption p big {
    color: #2fd3c2;
}

/*site name title*/
.branding-search #header_branding .site_title {
    color: #fff;
}

/*top links*/
#header_container .links .topBarLink,
#header_container .links .topBarLink a {
    color: #fff;
}

/*ב"ה*/
#header_container .links:after {
    content: 'ב"ה';
    color: #fff;
}

/*drop down*/
#header_container .links .top_bar_item:after {

    border-top: 5px solid #fff;

}

/*lines in between top links*/
#header_container .links {
    color: #B8D2DF;
}

/*box around donate button*/
body.cco_body #tabContentMain .co_menu_item.donate_link span.parent a {
    border-color: #2fd3c2;
}

/*Direction button*/
.hp-table .hp-row-first .promo_slider .slider .cycle-directionNav a:before {
    color: #fff;
}

/*main promo button*/
.hp-table .hp-row-first .promo_slider .slider .cycle-caption .readMore {
    color: #b91a1a;
}

/*box around main promo button*/
.hp-table .hp-row .promo_slider .slider .cycle-caption .readMore {
    border-color: #3f625f;
}

/*chanage hero image brightness*/
#BodyContainer #co_content_container > .clearfix > .g960:not(.categorized) .article-header .article-header__title {
    color: #19359c;
}

#BodyContainer #co_content_container > .clearfix > .g960:not(.categorized) {
    background-color: #ffffff;
}

body.cco_body #tabContentMain
.co_menu_item.hover span.parent a
{
  color: #cccccc;
}

#BodyContainer #co_content_container > .clearfix > .g960:not(.categorized) .article-header .article-header__title {
  color: #ffffff;
}

html {
  font-size: 75.5%;
}

</style>


<script>
        document.addEventListener("DOMContentLoaded", function() {
            // 1. Select the donate button container
            var donateContainer = document.querySelector('.donate_link');

            if (donateContainer) {
                // 2. Unhide the donate button (it has inline style display:none)
                donateContainer.style.display = ""; 

                // 3. Find the inner wrapper where links belong
                var wrapper = donateContainer.querySelector('.column_wrapper');

                if (wrapper) {
                    // 4. Create the new link element
                    var newLink = document.createElement('a');
                    newLink.href = "https://www.chabadneiowa.com/templates/articlecco_cdo/aid/7135505/jewish/CHAI-CLUB.htm";
                    newLink.innerText = "Chai Club";
                    
                    // 5. Add some basic styles to the link so it looks like a menu item
                    newLink.style.display = "block";
                    newLink.style.padding = "8px 12px";
                    newLink.style.color = "#333";
                    newLink.style.textDecoration = "none";
                    newLink.style.borderBottom = "1px solid #eee";
                    newLink.style.whiteSpace = "nowrap";

                    // Optional: Add hover effect for the link itself
                    newLink.onmouseover = function() { 
                        this.style.backgroundColor = "#f0f0f0"; 
                        this.style.color = "#d32f2f";
                    };
                    newLink.onmouseout = function() { 
                        this.style.backgroundColor = "transparent"; 
                        this.style.color = "#333";
                    };

                    // 6. Append the new link to the menu
                    wrapper.appendChild(newLink);
                }
            }
        });
</script>
</body>
</html>