<!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 name="description" content="Volunteers visit people who are homebound or in retirement homes in the Riverside area to bring joy and good memories from days gone by.Read more." />

<meta property="og:image" content="https://w2.chabad.org/media/images/1221/OGym12218076.png" itemprop="image" width="800" height="400" />
<meta property="og:image:width" content="800" />
<meta property="og:image:height" content="400" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
<meta name="keywords" content="Homebound/Retirement,Home,Visitations" />
<meta name="title" content="Homebound/Retirement Home Visitations - Chabad Jewish Community Center" />
<meta property="og:type" content="website" />
<meta name="scope-aids" content="282313-282321-287940-345178" />
<meta name="article-keywords" content="6760-2170-2898" />
<meta name="scope-aid" content="282313" />
<meta name="scope-aid" content="282321" />
<meta name="scope-aid" content="287940" />
<meta name="scope-aid" content="345178" />
<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.jewishriverside.com/templates/articlecco_cdo/aid/345178/jewish/HomeboundRetirement-Home-Visitations.htm" />
<meta property="twitter:card" content="summary_large_image" />
<meta property="twitter:site" content="@chabad" />
<meta property="og:title" content="Homebound/Retirement Home Visitations - Chabad Jewish Community Center" /><link rel="canonical" href="https://www.jewishriverside.com/templates/articlecco_cdo/aid/345178/jewish/HomeboundRetirement-Home-Visitations.htm" />
<link rel="image_src" href="https://w2.chabad.org/media/images/1221/qAjf12218074.png" />
<link rel="icon" type="image/png" href="https://www.jewishriverside.com/media/images/1356/APJB13565990.png" />
<link rel="Stylesheet" href="/css/fonts/font-awesome/font-awesome-5.css?v=2D6ABDDB" id="kfont-awesome" type="text/css"/>
<link rel="Stylesheet" href="/css/DefaultGrid.css?v=A13D74E8" id="kgrid" type="text/css"/>
<link rel="Stylesheet" href="/css/Elements.css?v=3A4C63F4" id="k6" type="text/css"/>
<link rel="Stylesheet" href="/css/vendor/ds/tokens/sites.css?v=21E88630" id="ksites-ds-css" type="text/css"/>
<link rel="Stylesheet" href="/css/new/main.css?v=BB63DD50" id="k7" type="text/css"/>
<link rel="Stylesheet" href="/css/global.css?v=27BD2E9E" id="k3" type="text/css"/>
<link rel="Stylesheet" href="/css/global-print.css?v=6DE80B07" id="k5" type="text/css" media="print"/>
<link rel="Stylesheet" href="/css/cco/home/widget-styles.css?v=A8AC7A58" id="k6" type="text/css"/>
<link rel="Stylesheet" href="/css/sites6/blue-theme.css?v=1D9A84A2" id="k" type="text/css"/>
<link rel="Stylesheet" href="/css/old/global.css?v=43DDBA77" id="k2898" type="text/css"/>
<link rel="Stylesheet" href="/css/bootstrap/grid.css?v=F4390F2B" id="kbootstrap4-grid" type="text/css"/>
<link rel="Stylesheet" href="/css/Library/reader-comments.css?v=8AB57D79" id="kCommentsStylesheet" type="text/css"/>
<link rel="Stylesheet" href="/css/inline/BookInfo.css?v=3D052243" id="kBookInfoCss" type="text/css"/>
<!--[if lte IE 8]> <link rel="Stylesheet" href="/css/global-ie.css?v=807ACD6C" id="k4" type="text/css"/> <![endif]-->
<script>$q=[];$j=function(f){$q.push(f);}</script>
	
<title>
	Homebound/Retirement Home Visitations - Chabad Jewish Community Center
</title>
	



<script>
	window.dataLayer = window.dataLayer || [];
	dataLayer.push({"event":"datalayer-initialized","page":{"numberOfComments":0,"publicationDate":"2006-01-05","primaryArticleId":345178,"title":"","author":"","authorId":0,"contentLevel1":"My Site","contentLevel2":"Social Services","contentLevel3":"Homebound/Retirement Home Visitations","siteName":"Chabad Jewish Community Center"},"time":{"upcomingHoliday":"Rosh Hashanah","daysToUpcomingHoliday":27,"hebrewDate":"5786-06-03"}});
		dataLayer.push({ 'articleHierarchy': '-282313-282321-287940-345178-', 'keywords': '-k2898-k2170-k6760-', 'k': '-282313-282321-287940-345178--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 = 1076212;var sc_partition = 1;var sc_invisible = 1;var sc_remove_link=1;var sc_security = "20e6231c";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=1076212&amp;java=0&amp;security=20e6231c&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=Montserrat:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet"/>
<link rel="icon" type="image/png" href="https://jewishriverside.com/media/images/1215/OmYs12151814.png" />
<link rel="stylesheet" type="text/css" href="https://chabad.netlify.app/jewishriverside.css"/>
<style type="text/css" rel="stylesheet">
.fs-header-top .fs-logo-container .fs-logo {
    width: 100%;
    height: auto;
}
</style>

<style>
@keyframes shrink-header {
	from {height: 165px;}
	to {height: 80px;}
}

.branding-search #header_branding.logo img {
	animation: shrink-header linear forwards;
	animation-timeline: scroll();
	animation-range: 0px 200px;
}
@supports (anchor-name:--anchor-el){#menu_item1-1{anchor-name:--item-1-1}#menu_item1-2{anchor-name:--item-1-2}#menu_item1-3{anchor-name:--item-1-3}#menu_item1-4{anchor-name:--item-1-4}#menu_item1-5{anchor-name:--item-1-5}#menu_item1-6{anchor-name:--item-1-6}#menu_item1-7{anchor-name:--item-1-7}#menu_item2-1{anchor-name:--item-2-1}#menu_item2-2{anchor-name:--item-2-2}#menu_item2-3{anchor-name:--item-2-3}#menu_item2-4{anchor-name:--item-2-4}#menu_item2-5{anchor-name:--item-2-5}#menu_item2-6{anchor-name:--item-2-6}#menu_item2-7{anchor-name:--item-2-7}#menu_item3-1{anchor-name:--item-3-1}#menu_item3-2{anchor-name:--item-3-2}#menu_item3-3{anchor-name:--item-3-3}#menu_item3-4{anchor-name:--item-3-4}#menu_item3-5{anchor-name:--item-3-5}#menu_item3-6{anchor-name:--item-3-6}#menu_item3-7{anchor-name:--item-3-7}#menu_item4-1{anchor-name:--item-4-1}#menu_item4-2{anchor-name:--item-4-2}#menu_item4-3{anchor-name:--item-4-3}#menu_item4-4{anchor-name:--item-4-4}#menu_item4-5{anchor-name:--item-4-5}#menu_item4-6{anchor-name:--item-4-6}#menu_item4-7{anchor-name:--item-4-7}#menu_item5-1{anchor-name:--item-5-1}#menu_item5-2{anchor-name:--item-5-2}#menu_item5-3{anchor-name:--item-5-3}#menu_item5-4{anchor-name:--item-5-4}#menu_item5-5{anchor-name:--item-5-5}#menu_item5-6{anchor-name:--item-5-6}#menu_item5-7{anchor-name:--item-5-7}}@supports (position-anchor:--anchor-el){#menu_child1-1{top:anchor(--item-1-1 top);left:anchor(--item-1-1 right)}#menu_child1-2{top:anchor(--item-1-2 top);left:anchor(--item-1-2 right)}#menu_child1-3{top:anchor(--item-1-3 top);left:anchor(--item-1-3 right)}#menu_child1-4{top:anchor(--item-1-4 top);left:anchor(--item-1-4 right)}#menu_child1-5{top:anchor(--item-1-5 top);left:anchor(--item-1-5 right)}#menu_child1-6{top:anchor(--item-1-6 top);left:anchor(--item-1-6 right)}#menu_child1-7{top:anchor(--item-1-7 top);left:anchor(--item-1-7 right)}#menu_child2-1{top:anchor(--item-2-1 top);left:anchor(--item-2-1 right)}#menu_child2-2{top:anchor(--item-2-2 top);left:anchor(--item-2-2 right)}#menu_child2-3{top:anchor(--item-2-3 top);left:anchor(--item-2-3 right)}#menu_child2-4{top:anchor(--item-2-4 top);left:anchor(--item-2-4 right)}#menu_child2-5{top:anchor(--item-2-5 top);left:anchor(--item-2-5 right)}#menu_child2-6{top:anchor(--item-2-6 top);left:anchor(--item-2-6 right)}#menu_child2-7{top:anchor(--item-2-7 top);left:anchor(--item-2-7 right)}#menu_child3-1{top:anchor(--item-3-1 top);left:anchor(--item-3-1 right)}#menu_child3-2{top:anchor(--item-3-2 top);left:anchor(--item-3-2 right)}#menu_child3-3{top:anchor(--item-3-3 top);left:anchor(--item-3-3 right)}#menu_child3-4{top:anchor(--item-3-4 top);left:anchor(--item-3-4 right)}#menu_child3-5{top:anchor(--item-3-5 top);left:anchor(--item-3-5 right)}#menu_child3-6{top:anchor(--item-3-6 top);left:anchor(--item-3-6 right)}#menu_child3-7{top:anchor(--item-3-7 top);left:anchor(--item-3-7 right)}#menu_child4-1{top:anchor(--item-4-1 top);left:anchor(--item-4-1 right)}#menu_child4-2{top:anchor(--item-4-2 top);left:anchor(--item-4-2 right)}#menu_child4-3{top:anchor(--item-4-3 top);left:anchor(--item-4-3 right)}#menu_child4-4{top:anchor(--item-4-4 top);left:anchor(--item-4-4 right)}#menu_child4-5{top:anchor(--item-4-5 top);left:anchor(--item-4-5 right)}#menu_child4-6{top:anchor(--item-4-6 top);left:anchor(--item-4-6 right)}#menu_child4-7{top:anchor(--item-4-7 top);left:anchor(--item-4-7 right)}#menu_child5-1{top:anchor(--item-5-1 top);left:anchor(--item-5-1 right)}#menu_child5-2{top:anchor(--item-5-2 top);left:anchor(--item-5-2 right)}#menu_child5-3{top:anchor(--item-5-3 top);left:anchor(--item-5-3 right)}#menu_child5-4{top:anchor(--item-5-4 top);left:anchor(--item-5-4 right)}#menu_child5-5{top:anchor(--item-5-5 top);left:anchor(--item-5-5 right)}#menu_child5-6{top:anchor(--item-5-6 top);left:anchor(--item-5-6 right)}#menu_child5-7{top:anchor(--item-5-7 top);left:anchor(--item-5-7 right)}}</style>




<style>
#RegisterBody {
  .form-checkbox-item, .form-radio-item {
    align-items: center;
  }
  .form-multiple-column:has(label[for^="input_tran"]) {
    display: flex;
  }
  .form-label-left {
    width: 150px;
  }
}
</style>
<script>
	if (document.location.pathname.includes("donate") || document.location.pathname.includes("3998239")) {
		window.sentryOnLoad = function () {
			Sentry.init({
				sendDefaultPii: true,
				replaysSessionSampleRate: 1.0,
				integrations: [
					Sentry.replayIntegration({
						networkDetailAllowUrls: [window.location.origin],
						maskAllText: false,
						maskAllInputs: false,
						mask: [
							".credit_card *",
							'[name="x_card_num"]',
							'[name="x_card_code"]'
						]
					})]
			});
			Sentry.setTag("domain-name", window.location.hostname);
			Sentry.setTag("page-url", window.location.href);
		};
		const script = document.createElement('script');
		script.src = 'https://js.sentry-cdn.com/f24fb88e403ae9b2ab65c9ced2b74190.min.js';
		document.head.appendChild(script);
	}
</script><script type="module">
document.querySelectorAll('img[src*="APJB13565990.png"]').forEach(img => {
  img.src = 'https://w2.chabad.org/media/images/1260/cpkJ12604262.svg';
})
  if (typeof ScrollTimeline === 'undefined') {
    import("https://flackr.github.io/scroll-timeline/dist/scroll-timeline.js")
      .then(() => {
        console.log("ScrollTimeline polyfill loaded.");
      })
      .catch((error) => {
        console.error("Failed to load ScrollTimeline polyfill:", error);
      });
  } else {
    console.log("ScrollTimeline is supported natively.");
  }
</script><script type="module">
  if (!("anchorName" in document.documentElement.style)) {
    import("https://unpkg.com/@oddbird/css-anchor-positioning");
  }
</script><script>
document.addEventListener('DOMContentLoaded', function () {
  // Only run on homepage
  if (window.location.pathname !== '/' && window.location.pathname !== '/default.aspx') return;

  // Try a few possible slider wrappers / controls
  const slider =
    document.querySelector('.fs-slideshow') ||
    document.querySelector('.slideshow') ||
    document.querySelector('.cycle-slideshow') ||
    document.querySelector('.camera_wrap') ||
    document.querySelector('.nivoSlider') ||
    document.querySelector('[class*="slider"]') ||
    document.querySelector('[class*="slideshow"]');

  if (!slider) return;

  let startX = 0;
  let startY = 0;
  let endX = 0;
  let endY = 0;
  const minSwipeDistance = 50;

  function findPrevButton() {
    return (
      slider.querySelector('.prev') ||
      slider.querySelector('.previous') ||
      slider.querySelector('.cycle-prev') ||
      slider.querySelector('.camera_prev') ||
      slider.querySelector('.nivo-prevNav') ||
      document.querySelector('.prev') ||
      document.querySelector('.previous') ||
      document.querySelector('.cycle-prev') ||
      document.querySelector('.camera_prev') ||
      document.querySelector('.nivo-prevNav')
    );
  }

  function findNextButton() {
    return (
      slider.querySelector('.next') ||
      slider.querySelector('.cycle-next') ||
      slider.querySelector('.camera_next') ||
      slider.querySelector('.nivo-nextNav') ||
      document.querySelector('.next') ||
      document.querySelector('.cycle-next') ||
      document.querySelector('.camera_next') ||
      document.querySelector('.nivo-nextNav')
    );
  }

  function goPrev() {
    const prevBtn = findPrevButton();
    if (prevBtn) {
      prevBtn.click();
      return;
    }

    // Fallback for sliders using jQuery Cycle
    if (window.jQuery && jQuery(slider).cycle) {
      jQuery(slider).cycle('prev');
    }
  }

  function goNext() {
    const nextBtn = findNextButton();
    if (nextBtn) {
      nextBtn.click();
      return;
    }

    // Fallback for sliders using jQuery Cycle
    if (window.jQuery && jQuery(slider).cycle) {
      jQuery(slider).cycle('next');
    }
  }

  slider.addEventListener(
    'touchstart',
    function (e) {
      if (!e.touches || !e.touches.length) return;
      startX = e.touches[0].clientX;
      startY = e.touches[0].clientY;
    },
    { passive: true }
  );

  slider.addEventListener(
    'touchend',
    function (e) {
      if (!e.changedTouches || !e.changedTouches.length) return;
      endX = e.changedTouches[0].clientX;
      endY = e.changedTouches[0].clientY;

      const diffX = endX - startX;
      const diffY = endY - startY;

      // Ignore mostly-vertical swipes so page scrolling still works
      if (Math.abs(diffY) > Math.abs(diffX)) return;

      if (Math.abs(diffX) < minSwipeDistance) return;

      if (diffX > 0) {
        goPrev(); // swipe right
      } else {
        goNext(); // swipe left
      }
    },
    { passive: true }
  );
});
</script></head>
<body class="lang_en dir_ltr cco_body sites-article">

	


	
	<div id="PrintCreditHeader" class="show_for_print">
Printed from<b>JewishRiverside.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 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 class="topBarLink cco_topbar_link about_link">
					<a href="/5201495">About</a>
				</div>
				
			
			

<div class="topBarLink mychabad_login_bar" id="mychabad_login_bar">
	
			
				<a href="/tools/login/default.asp?aid=345178&amp;jewish=HomeboundRetirement-Home-Visitations.htm" class="login_link" id="login_link">Sign In</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/1356/APJB13565990.png" width="270" height="100" border="0"  /></a></div>
					
					<a href="/default.asp" title="Chabad Jewish Community Center" class="site_title">Chabad Jewish Community Center<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 = "639223329309998508";
</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="817735" 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/5956041/jewish/Synagogue-Services.htm" class="item hover" id="menu_item1-1" data-menu-level="2" data-aid="5956041">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow" />
<span>Synagogue Services</span>
</a>
<a href="/templates/articlecco_cdo/aid/7376365/jewish/Capital-Campaign.htm" class="item empty" id="menu_item1-2" data-menu-level="2" data-aid="7377410">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow off" />
<span>Capital Campaign</span>
</a>
</div>
<div id="menu_child1-1" class="menu_child 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="/templates/articlecco_cdo/aid/5946434/jewish/Prayer-Schedule.htm" class="child_item default" data-menu-level="3" data-aid="5946434"><span>Prayer Schedule</span></a>
<a href="/templates/articlecco_cdo/aid/3377827/jewish/Sponsor-a-Kiddush.htm" class="child_item default" data-menu-level="3" data-aid="3377827"><span>Sponsor a Kiddush</span></a>
<a href="https://www.jewishriverside.com/calendar/candlelighting_cdo/aid/6226/locationid/92506/locationtype/2/jewish/Shabbat-Candle-Lighting-Times.htm" class="child_item default" data-menu-level="3" data-aid="5946437"><span>Candle Lighting Times</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>
<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/817735/jewish/Shabbat-Holidays.htm" class="parent">Shabbat&nbsp;&<br />Holidays</a></div></span><a href="/templates/articlecco_cdo/aid/817735/jewish/Shabbat-Holidays.htm" class="bg_extension js-parent-menu-link" data-aid="817735"></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="5222020" 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/7022292/jewish/Courses.htm" class="item hover" id="menu_item2-1" data-menu-level="2" data-aid="7022292">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow" />
<span>Courses</span>
</a>
<a href="/templates/articlecco_cdo/aid/7058066/jewish/Membership.htm" class="item empty" id="menu_item2-2" data-menu-level="2" data-aid="7058066">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow off" />
<span>Membership</span>
</a>
<a href="/templates/articlecco_cdo/aid/6172553/jewish/Past-Courses.htm" class="item" id="menu_item2-3" data-menu-level="2" data-aid="6172553">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow" />
<span>Past Courses</span>
</a>
</div>
<div id="menu_child2-1" class="menu_child selected" style="width:349px;">
<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="/templates/articlecco_cdo/aid/7027347/jewish/Lift-Your-Life.htm" class="child_item default" data-menu-level="3" data-aid="7027347"><span>Lift Your Life</span></a>
<a href="/templates/articlecco_cdo/aid/6759313/jewish/New-Moon-Circle.htm" class="child_item default" data-menu-level="3" data-aid="6759313"><span>New Moon Circle</span></a>
<a href="/templates/articlecco_cdo/aid/6433969/jewish/Chabad-Hikers-Club.htm" class="child_item default" data-menu-level="3" data-aid="6433969"><span>Chabad Hikers Club</span></a>
<a href="/templates/articlecco_cdo/aid/7076706/jewish/For-All-Humankind.htm" class="child_item default" data-menu-level="3" data-aid="7076706"><span>For All Humankind</span></a>
<a href="/templates/articlecco_cdo/aid/7076707/jewish/Sinai-Civics.htm" class="child_item default" data-menu-level="3" data-aid="7076707"><span>Sinai & Civics</span></a>
</div></td>
<td class="co_column"></td>
</tr>
</table>
</div>
<div id="menu_child2-2" class="menu_child empty" style="width:349px;">
<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>
<td class="co_column"></td>
</tr>
</table>
</div>
<div id="menu_child2-3" class="menu_child" style="width:349px;">
<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="/templates/articlecco_cdo/aid/7304630/jewish/From-Auschwitz-to-Hope.htm" class="child_item default" data-menu-level="3" data-aid="7304630"><span>From Auschwitz to Hope</span></a>
<a href="/templates/articlecco_cdo/aid/3411313/jewish/Hebrew-Reading-Crash-Course.htm" class="child_item default" data-menu-level="3" data-aid="3411313"><span>Hebrew Reading Crash Course</span></a>
<a href="/templates/articlecco_cdo/aid/5635237/jewish/Challah-Bake-for-Israel.htm" class="child_item default" data-menu-level="3" data-aid="5635237"><span>Challah Bake for Israel</span></a>
<a href="/templates/articlecco_cdo/aid/6170453/jewish/Masada-From-Jewish-Revolt-to-Modern-Myth.htm" class="child_item default" data-menu-level="3" data-aid="6170453"><span>Masada - From Jewish Revolt to Modern Myth</span></a>
<a href="/templates/articlecco_cdo/aid/6172542/jewish/JLI-Winter-Courses.htm" class="child_item default" data-menu-level="3" data-aid="6172542"><span>JLI Winter Courses</span></a>
<a href="/templates/articlecco_cdo/aid/6172554/jewish/Finding-Freedom-Liberation.htm" class="child_item default" data-menu-level="3" data-aid="6172554"><span>Finding Freedom & Liberation</span></a>
<a href="/templates/articlecco_cdo/aid/6365277/jewish/JLI-Spring-Courses.htm" class="child_item default" data-menu-level="3" data-aid="6365277"><span>JLI Spring Courses</span></a>
<a href="/templates/articlecco_cdo/aid/6412501/jewish/Survival-Triumph.htm" class="child_item default" data-menu-level="3" data-aid="6412501"><span>Survival & Triumph</span></a>
<a href="/templates/articlecco_cdo/aid/6490356/jewish/Defying-All-Odds-Gimmel-Tammuz.htm" class="child_item default" data-menu-level="3" data-aid="6490356"><span>Defying All Odds - Gimmel Tammuz</span></a>
<a href="/templates/articlecco_cdo/aid/6576704/jewish/We-Remember.htm" class="child_item default" data-menu-level="3" data-aid="6576704"><span>We Remember</span></a>
</div></td>
<td class="co_column"><div class="column_left_wrapper">
<a href="/templates/articlecco_cdo/aid/6558235/jewish/Paint-Sip-Relax.htm" class="child_item default" data-menu-level="3" data-aid="6558235"><span>Paint, Sip, Relax</span></a>
<a href="/templates/articlecco_cdo/aid/6639246/jewish/How-Israel-Wins-Seminar.htm" class="child_item default" data-menu-level="3" data-aid="6639246"><span>How Israel Wins Seminar</span></a>
<a href="/templates/articlecco_cdo/aid/6751412/jewish/Yud-Shevat-Chassidic-Farbrengen.htm" class="child_item default" data-menu-level="3" data-aid="6751412"><span>Yud Shevat - Chassidic Farbrengen</span></a>
<a href="/templates/articlecco_cdo/aid/6645583/jewish/Colorful-Profiles.htm" class="child_item default" data-menu-level="3" data-aid="6645583"><span>Colorful Profiles</span></a>
<a href="/templates/articlecco_cdo/aid/6280940/jewish/One-Wow-Moment.htm" class="child_item default" data-menu-level="3" data-aid="6280940"><span>One Wow Moment</span></a>
<a href="/templates/articlecco_cdo/aid/7027116/jewish/Captivating-Cases-in-Rabbinic-Responsa.htm" class="child_item default" data-menu-level="3" data-aid="7027116"><span>Captivating Cases in Rabbinic Responsa</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/5222020/jewish/Jewish-Academy.htm" class="parent">Jewish<br />Academy</a></div></span><a href="/templates/articlecco_cdo/aid/5222020/jewish/Jewish-Academy.htm" class="bg_extension js-parent-menu-link" data-aid="5222020"></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="305544" 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/5806034/jewish/Mommies-Munchkins.htm" class="item empty" id="menu_item3-1" data-menu-level="2" data-aid="5806034">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow off" />
<span>Mommies & Munchkins</span>
</a>
<a href="/templates/section_cdo/aid/5555584/jewish/JUDA.htm" class="item" id="menu_item3-2" data-menu-level="2" data-aid="5555584">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow" />
<span>JUDA</span>
</a>
<a href="/templates/articlecco_cdo/aid/5317191/jewish/CKids.htm" class="item empty" id="menu_item3-3" data-menu-level="2" data-aid="6036794">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow off" />
<span>CKids</span>
</a>
<a href="/templates/section_cdo/aid/5861485/jewish/Camp-Gan-Israel.htm" class="item" id="menu_item3-4" data-menu-level="2" data-aid="5861485">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow" />
<span>Camp Gan Israel</span>
</a>
<a href="/templates/section_cdo/aid/5401713/jewish/CTeen.htm" class="item" id="menu_item3-5" data-menu-level="2" data-aid="5401713">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow" />
<span>CTeen</span>
</a>
<a href="/templates/articlecco_cdo/aid/305545/jewish/BarBat-Mitzvah-Lessons.htm" class="item" id="menu_item3-6" data-menu-level="2" data-aid="305545">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow" />
<span>Bar/Bat Mitzvah Lessons</span>
</a>
</div>
<div id="menu_child3-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_child3-2" class="menu_child" 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="/templates/articlecco_cdo/aid/4447210/jewish/Curriculum.htm" class="child_item default" data-menu-level="3" data-aid="4447210"><span>Curriculum</span></a>
<a href="/templates/photogallery_cdo/aid/5560788/jewish/Photos.htm" class="child_item default" data-menu-level="3" data-aid="5560788"><span>Photos</span></a>
<a href="/templates/articlecco_cdo/aid/562954/jewish/Dates-Rates.htm" class="child_item default" data-menu-level="3" data-aid="562954"><span>Dates & Rates</span></a>
<a href="/templates/articlecco_cdo/aid/6543771/jewish/Registration.htm" class="child_item default" data-menu-level="3" data-aid="6543771"><span>Registration</span></a>
<a href="/templates/articlecco_cdo/aid/6574331/jewish/Calendar.htm" class="child_item default" data-menu-level="3" data-aid="6574331"><span>Calendar</span></a>
<a href="/templates/articlecco_cdo/aid/6577582/jewish/Family-Fun-Day.htm" class="child_item default" data-menu-level="3" data-aid="6577582"><span>Family Fun Day</span></a>
</div></td>
</tr>
</table>
</div>
<div id="menu_child3-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 id="menu_child3-4" class="menu_child" 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="/templates/articlecco_cdo/aid/2977173/jewish/About.htm" class="child_item default" data-menu-level="3" data-aid="2977173"><span>About</span></a>
<a href="/templates/articlecco_cdo/aid/2977225/jewish/Dates-Rates.htm" class="child_item default" data-menu-level="3" data-aid="2977225"><span>Dates & Rates</span></a>
<a href="/templates/articlecco_cdo/aid/2980504/jewish/Calendar.htm" class="child_item default" data-menu-level="3" data-aid="2980504"><span>Calendar</span></a>
<a href="/templates/articlecco_cdo/aid/7334314/jewish/Registration.htm" class="child_item default" data-menu-level="3" data-aid="7334314"><span>Registration</span></a>
<a href="/templates/photogallery_cdo/aid/6000507/jewish/Camp-Gan-Israel-2023.htm" class="child_item link" data-menu-level="3" data-aid="6000849"><span>Pics</span></a>
<a href="/templates/articlecco_cdo/aid/4051538/jewish/Campership-Fund.htm" class="child_item default" data-menu-level="3" data-aid="4051538"><span>Campership Fund</span></a>
<a href="/templates/articlecco_cdo/aid/4320829/jewish/Registration.htm" class="child_item default" data-menu-level="3" data-aid="4320829"><span>Registration</span></a>
</div></td>
</tr>
</table>
</div>
<div id="menu_child3-5" class="menu_child" 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="/templates/articlecco_cdo/aid/6287064/jewish/What-is-Cteen.htm" class="child_item default" data-menu-level="3" data-aid="6287064"><span>What is Cteen?</span></a>
<a href="http://shabbaton.cteen.com/" class="child_item default" data-menu-level="3" data-aid="5405267"><span>Shabbaton</span></a>
<a href="http://cteensummer.com/" class="child_item default" data-menu-level="3" data-aid="5405273"><span>Summer</span></a>
<a href="/templates/articlecco_cdo/aid/4608302/jewish/Sign-Up.htm" class="child_item default" data-menu-level="3" data-aid="4608302"><span>Sign Up</span></a>
</div></td>
</tr>
</table>
</div>
<div id="menu_child3-6" class="menu_child" 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="/templates/articlecco_cdo/aid/5467469/jewish/Register-Online.htm" class="child_item default" data-menu-level="3" data-aid="5467469"><span>Register Online</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/305544/jewish/Youth.htm" class="parent">Youth</a></div></span><a href="/templates/articlecco_cdo/aid/305544/jewish/Youth.htm" class="bg_extension js-parent-menu-link" data-aid="305544"></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="3737751" 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/3079124/jewish/Email-Sign-Up.htm" class="item empty" id="menu_item4-1" data-menu-level="2" data-aid="3079124">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow off" />
<span>Email Sign Up</span>
</a>
<a href="/templates/articlecco_cdo/aid/7093593/jewish/Meet-our-Board.htm" class="item empty" id="menu_item4-2" data-menu-level="2" data-aid="7093593">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow off" />
<span>Meet our Board</span>
</a>
<a href="/templates/articlecco_cdo/aid/7095678/jewish/Our-Mission.htm" class="item empty" id="menu_item4-3" data-menu-level="2" data-aid="7095678">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow off" />
<span>Our Mission</span>
</a>
<a href="/templates/photogallery_cdo/aid/6337569/jewish/Photo-Gallery.htm" class="item empty" id="menu_item4-4" data-menu-level="2" data-aid="6337569">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow off" />
<span>Photo Gallery</span>
</a>
<a href="/templates/articlecco_cdo/aid/3166853/jewish/Kosher-Food-on-Campus.htm" class="item" id="menu_item4-5" data-menu-level="2" data-aid="3166853">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow" />
<span>Kosher Food on Campus</span>
</a>
<a href="/templates/articlecco_cdo/aid/3067919/jewish/Mezuzah-for-your-Dorm.htm" class="item empty" id="menu_item4-6" data-menu-level="2" data-aid="3067919">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow off" />
<span>Mezuzah for your Dorm</span>
</a>
<a href="/templates/articlecco_cdo/aid/3067952/jewish/Parents.htm" class="item" id="menu_item4-7" data-menu-level="2" data-aid="3067952">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow" />
<span>Parents</span>
</a>
<a href="/templates/articlecco_cdo/aid/3726919/jewish/Donate.htm" class="item empty" id="menu_item4-8" data-menu-level="2" data-aid="3726919">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow off" />
<span>Donate</span>
</a>
<a href="/templates/articlecco_cdo/aid/3067906/jewish/Weekly-Shabbat-Dinner.htm" class="item empty" id="menu_item4-9" data-menu-level="2" data-aid="3067906">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow off" />
<span>Weekly Shabbat Dinner</span>
</a>
<a href="https://student.chabadoncampus.org/rsvp/jewish-ucr" class="item empty" id="menu_item4-10" data-menu-level="2" data-aid="5360017">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow off" />
<span>Upcoming Events</span>
</a>
</div>
<div id="menu_child4-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_child4-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_child4-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 id="menu_child4-4" 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_child4-5" class="menu_child" 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="/templates/articlecco_cdo/aid/6397163/jewish/Pesach-Meal-Plan.htm" class="child_item default" data-menu-level="3" data-aid="6397163"><span>Pesach Meal Plan</span></a>
<a href="/templates/articlecco_cdo/aid/6739831/jewish/Scottys.htm" class="child_item default" data-menu-level="3" data-aid="6739831"><span>Scotty's</span></a>
</div></td>
</tr>
</table>
</div>
<div id="menu_child4-6" 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_child4-7" class="menu_child" 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="/templates/articlecco_cdo/aid/3067953/jewish/Visiting.htm" class="child_item default" data-menu-level="3" data-aid="3067953"><span>Visiting? </span></a>
<a href="/templates/articlecco_cdo/aid/3162083/jewish/Wish-Your-Child-a-Happy-Birthday.htm" class="child_item default" data-menu-level="3" data-aid="3162083"><span>Wish Your Child a Happy Birthday!</span></a>
<a href="/templates/articlecco_cdo/aid/3162115/jewish/Is-Your-Child-Sick-Send-Them-Chicken-Soup.htm" class="child_item default" data-menu-level="3" data-aid="3162115"><span>Is Your Child Sick? Send Them Chicken Soup?</span></a>
<a href="/templates/articlecco_cdo/aid/3167910/jewish/Protect-Your-Child-Send-Them-a-Mezuzah.htm" class="child_item default" data-menu-level="3" data-aid="3167910"><span>Protect Your Child. Send Them a Mezuzah.</span></a>
</div></td>
</tr>
</table>
</div>
<div id="menu_child4-8" 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_child4-9" 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_child4-10" 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/3737751/jewish/Chabad-of-UCR.htm" class="parent">Chabad<br />of&nbsp;UCR</a></div></span><a href="/templates/articlecco_cdo/aid/3737751/jewish/Chabad-of-UCR.htm" class="bg_extension js-parent-menu-link" data-aid="3737751"></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="287940" 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/345541/jewish/Food-Furniture-Clothing-Assistance.htm" class="item empty" id="menu_item5-1" data-menu-level="2" data-aid="345541">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow off" />
<span>Food, Furniture & Clothing Assistance</span>
</a>
<a href="/templates/articlecco_cdo/aid/345530/jewish/Counseling.htm" class="item empty" id="menu_item5-2" data-menu-level="2" data-aid="345530">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow off" />
<span>Counseling</span>
</a>
<a href="/templates/articlecco_cdo/aid/345177/jewish/Hospital-Visitations.htm" class="item empty" id="menu_item5-3" data-menu-level="2" data-aid="345177">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow off" />
<span>Hospital Visitations</span>
</a>
<a href="/templates/articlecco_cdo/aid/345178/jewish/HomeboundRetirement-Home-Visitations.htm" class="item empty" id="menu_item5-4" data-menu-level="2" data-aid="345178">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow off" />
<span>Homebound/Retirement Home Visitations</span>
</a>
<a href="/templates/articlecco_cdo/aid/345183/jewish/Riverside-Jewish-Calendar.htm" class="item empty" id="menu_item5-5" data-menu-level="2" data-aid="345183">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow off" />
<span>Riverside Jewish Calendar</span>
</a>
<a href="/templates/articlecco_cdo/aid/345180/jewish/Funerals-Jewish-Burial-Society.htm" class="item empty" id="menu_item5-6" data-menu-level="2" data-aid="345180">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow off" />
<span>Funerals / Jewish Burial Society</span>
</a>
<a href="/templates/articlecco_cdo/aid/345179/jewish/Prison-Chaplaincy.htm" class="item empty" id="menu_item5-7" data-menu-level="2" data-aid="345179">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow off" />
<span>Prison Chaplaincy</span>
</a>
<a href="/templates/articlecco_cdo/aid/345523/jewish/Drug-Alcohol-Rehabilitation.htm" class="item empty" id="menu_item5-8" data-menu-level="2" data-aid="345523">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow off" />
<span>Drug & Alcohol Rehabilitation</span>
</a>
</div>
<div id="menu_child5-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_child5-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_child5-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 id="menu_child5-4" 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_child5-5" 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_child5-6" 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_child5-7" 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_child5-8" 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/287940/jewish/Social-Services.htm" class="parent">Social<br />Services</a></div></span><a href="/templates/articlecco_cdo/aid/287940/jewish/Social-Services.htm" class="bg_extension js-parent-menu-link" data-aid="287940"></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="/5201495" class="site-menu-general__link">About</a>
					
					<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/1221/OGym12218076.png)">
					

<header class="article-header cf ">
	
<script type="application/ld+json">
{
	"@context": "http://schema.org",
	"@type": "BreadcrumbList",
	"itemListElement": [
  {
    "@type": "ListItem",
    "position": 1,
    "item": {
      "@id": "/templates/articlecco_cdo/aid/287940/jewish/Social-Services.htm",
      "name": "Social Services"
    }
  },
  {
    "@type": "ListItem",
    "position": 2,
    "item": {
      "@id": "/article.asp?aid=345178",
      "name": "Homebound/Retirement Home Visitations"
    }
  }
]
}
</script>
<div class="breadcrumbs breadcrumbs hide_for_print" data-list-name="breadcrumbs">
	
			<a class="breadcrumbs__crumb" href='/templates/articlecco_cdo/aid/287940/jewish/Social-Services.htm' data-aid="287940">
				Social Services
			</a>
		
</div>
	
			<h1 class="article-header__title js-article-title js-page-title">Homebound/Retirement Home Visitations</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/1221/OGym12218076.png" />

	<meta itemprop="description" content="Volunteers visit people who are homebound or in retirement homes in the Riverside area to bring joy and good memories from days gone by.Read more." />


		<meta itemprop="thumbnailUrl" content="https://w2.chabad.org/media/images/1221/qAjf12218074.png" />
	
		<meta itemprop="thumbnailUrl" content="https://w2.chabad.org/media/images/1221/OGym12218076.png" />
	
<meta itemprop="uploadDate" content="2006-01-05T08:17:29" />
<span itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
	<meta itemprop="name" content="Chabad Jewish Community Center" />
	<meta itemprop="brand" content="Chabad Jewish Community Center" />
	<span itemprop="logo" itemscope itemtype="http://schema.org/ImageObject">
		<meta itemprop="url" content="https://w2.chabad.org/media/images/1356/APJB13565990.png" />
		<meta itemprop="height" content="232" />
		<meta itemprop="width" content="627" />
	</span>
</span>
<meta itemprop="datePublished" content="2006-01-05T08:17:29" />
			<div itemprop="articleBody">
				<co:body xmlns:co="www1.chabadonline.com/alpha1" xmlns:ext="urn:xslt-extensions">
  <div class="co_body article-body cf">
<p class="SCbox_solid_line" style="font-size: 12pt">
<span style="font-size:20px;"><strong>On a weekly basis or upon request, Rabbi Fuss and volunteers visit people who are homebound or in retirement homes</strong> <strong>to bring joy and good memories from days gone by.</strong></span></p>

<p class="text" style="font-size: 12pt; margin: auto 0in;">
<span style="font-size:16px;">
<span style="color:#000000;">A prolonged visit to the hospital is a sobering experience: things taken for granted are suddenly scarce, and patients almost always find themselves reevaluating their life's priorities. There is often no better time for compassionate guidance and support, and the representatives of Chabad Jewish Community Center supply it in ample measure.</span></span></p>

<p class="text" style="font-size: 12pt; margin: auto 0in;"> </p>

<p class="text" style="font-size: 12pt; margin: auto 0in;">
<span style="font-size:16px;">
<span style="color:#000000;">They bring Challah, chicken soup, flowers, good cheer, holiday spirit and hope to the Jewish patients they visit in their rounds to area places of healing. </span></span></p>

<p class="text" style="margin: auto 0in;"> </p>

<p class="text" style="margin: auto 0in;">
<span style="font-size:16px;">
<font color="#000000">If you know of anyone who would welcome a visit <a href="http://www.jewishriverside.com/tools/feedback.htm">click here</a> or call 951.222.2005 to contact us.</font></span></p>

<p align="justify" class="text" style="margin: auto 0in;"> </p>

</div>
</co:body>
			</div>
			

			<div class="break_floats"></div>
			
	<div class="break_floats"></div>
	

<div class="content-footer">
	
	
	
	
	
	
</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.jewishriverside.com%2ftemplates%2farticlecco_cdo%2faid%2f345178%2fjewish%2fHomeboundRetirement-Home-Visitations.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=Homebound%2fRetirement+Home+Visitations+-+Chabad+Jewish+Community+Center&amp;url=https%3a%2f%2fwww.jewishriverside.com%2ftemplates%2farticlecco_cdo%2faid%2f345178%2fjewish%2fHomeboundRetirement-Home-Visitations.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=Homebound%2fRetirement+Home+Visitations+-+Chabad+Jewish+Community+Center https%3a%2f%2fwww.jewishriverside.com%2ftemplates%2farticlecco_cdo%2faid%2f345178%2fjewish%2fHomeboundRetirement-Home-Visitations.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.jewishriverside.com%2ftemplates%2farticlecco_cdo%2faid%2f345178%2fjewish%2fHomeboundRetirement-Home-Visitations.htm%23utm_medium%3dpage_tools%26utm_content%3ddesktop%26utm_source%3dpinterest&amp;description=Homebound%2fRetirement+Home+Visitations+-+Chabad+Jewish+Community+Center">
				<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, 287940);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"><b>CHABAD JEWISH COMMUNITY CENTER • RIVERSIDE, CA</b></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/jewishriverside" class="fa fa-facebook facebook_homepage" title="Facebook"></a>
		
			<a href="https://twitter.com/jewishriverside" class="fa fa-twitter twitter_homepage" title="Twitter"></a>
		
			<a href="https://www.instagram.com/jewishriverside" class="fa fa-instagram instagram_homepage" title="Instagram"></a>
		
</div>
	

				</div>
			
		</div>
	</div>

	
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/os/jquery-latest.min.js?v=278824AF"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/co/dist/CoLib.js?v=CD6CB303"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/WebComponents/bundles/magen-cdo-global.js?v=C8425CA5"></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=2A22CA16"></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/article/comments/reply-form-controller.js?v=DC70C970"></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 Jewish Community Center'}; Co.ArticleId     = '345178';Co.SectionId     = 287940;Co.PartnerSiteId = 0;Co.SiteId        = 5821;Co.IsMobilePage  = false;Co.IsResponsive  = false;Co.DbDomain      = 'JewishRiverside.com';Co.LanguageCode  = '';Co.LoginStatus   = 'None';</script>

    


<!-- GetButton.io widget -->

<!-- /GetButton.io widget -->






<script>
const icons = document.querySelector('#footer .cs-f-social-icons');

const linkedin = document.createElement('a');
linkedin.setAttribute('href', 'https://www.linkedin.com/company/jewishriverside/');
linkedin.setAttribute('class', 'fa fa-linkedin linkedin_homepage');
linkedin.setAttribute('title', 'LinkedIn');
icons?.appendChild(linkedin);

const youtube = document.createElement('a');
youtube.setAttribute('href', 'https://www.youtube.com/@riversidejcc/videos');
youtube.setAttribute('class', 'fa fa-youtube youtube_homepage');
youtube.setAttribute('title', 'YouTube');
icons?.appendChild(youtube);
</script><script type="text/javascript">
(function () {
var options = {
email: "Info@jewishriverside.com", // Email
email_color: "#A8CE50", // Email button color
sms: "9512222005", // Sms phone number
call_to_action: "Message us", // Call to action
button_color: "#FF6550", // Color of button
position: "right", // Position may be 'right' or 'left'
order: "email,sms", // Order of buttons
};
var proto = 'https:', host = "getbutton.io", url = proto + '//static.' + host;
var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = url + '/widget-send-button/js/init.js';
s.onload = function () { WhWidgetSendButton.init(host, proto, options); };
var x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x);
})();
</script><script language="javascript" type="text/javascript" src="https://chabad.netlify.app/jewishriverside.js"></script><script>
/* High Holidays 5787 skin - Chabad Jewish Center of Riverside
   Minified to fit the footer field. The readable source lives in
   the project file; edit that and re-minify, don't edit this. */
(function () {
'use strict';
var CFG = {
AID: '7457011',
RETURN_URL: '',
INFO_PLACEMENT: 'below',
hero: {
image: 'https://jewishriverside.com/media/images/1381/kGkw13811792.png',
alt:   'Shofar, pomegranate, apples and honey',
crop: 'bottom',
ratio: '32/9',
flip: true,
scrim: 0.95,
eyebrow: '',
title:   'High Holidays',
org:     'Welcome',
orgEmphasis: 'HOME',
lede:    'Home is more than a place \u2014 it\u2019s the feeling of being ' +
'welcomed, connected and surrounded by community. Whether you\u2019ve ' +
'celebrated with us for years or are joining for the first time, ' +
'you\u2019ll find meaningful services, delicious holiday meals and a ' +
'warm welcome at Chabad Jewish Center of Riverside.',
dateCards: [
{ label: 'Rosh Hashanah', value: 'Sept 11 – 13' },
{ label: 'Yom Kippur',    value: 'Sept 20 – 21' }
]
},
tiles: [
{ key:'schedule',         title:'High Holidays Schedule',
img:'https://jewishriverside.com/media/images/1382/bpfh13820214.png',
date:'September 11 – 21',   cost:'',           costTone:'free' },
{ key:'holiday-services', title:'High Holiday Services',
img:'https://jewishriverside.com/media/images/1382/gqPb13820222.png',
date:'Sept 11 – 21',        cost:'Free',       costTone:'free' },
{ key:'rh-dinner',        title:'Rosh Hashanah Dinner',
img:'https://jewishriverside.com/media/images/1381/vBIW13817224.png',
date:'Fri, Sept 11',        cost:'Ticketed',   costTone:'paid' },
{ key:'family-shofar',    title:'Children\u2019s Holiday Experiences',
img:'https://jewishriverside.com/media/images/1382/CMOo13820217.png',
date:'Sept 13 & 21',        cost:'Free',       costTone:'free' },
{ key:'break-fast',       title:'Yom Kippur Break Fast',
img:'https://jewishriverside.com/media/images/1381/Uivz13817223.png',
date:'Mon, Sept 21',        cost:'Free',       costTone:'free' },
{ key:'sukkot',           title:'Sukkot Community BBQ',
img:'https://jewishriverside.com/media/images/1382/efYC13823014.png',
date:'Wed, Sept 30',        cost:'',           costTone:'free' },
{ key:'yizkor',           title:'Yizkor Booklet',
img:'https://jewishriverside.com/media/images/1382/YYee13820234.png',
date:'Due Sept 3',          cost:'',           costTone:'free' },
{ key:'resources',        title:'Holiday Resources',
img:'https://jewishriverside.com/media/images/1382/FLQy13820239.png',
date:'Guides & readings',   cost:'',           costTone:'free' },
{ key:'holiday-charity',  title:'High Holiday Gift',
img:'https://jewishriverside.com/media/images/1381/rlpS13815595.png',
date:'Before the holidays', cost:'Any amount', costTone:'gift' },
{ key:'contact',          title:'Questions?',   contact:true,
phone:'951-222-2005',   email:'info@jewishriverside.com' }
],
OPTIONS: {
'holiday-services': {
title:  'High Holiday Services',
intro:  'Free to attend. Choose the services you plan to join — ' +
'come for one or for all of them.',
teaser: 'You are invited to join warm and enriching High Holiday Services ' +
'and Programs\u2026',
blurb: [
'You are invited to join warm and enriching High Holiday Services and ' +
'Programs at Chabad Jewish Community Center.',
'At Chabad, services are not just prayers and rituals but a celebration ' +
'of Judaism shared joyfully and harmoniously by Jews of all backgrounds ' +
'and walks of life.',
'Our \u201cno membership policy\u201d means everyone can participate in ' +
'whatever services, classes, or programs appeal to them. Our doors and ' +
'our hearts are always open.',
'Whether you\u2019ve joined us in the past or this will be your first such ' +
'experience, be prepared to usher in the Year 5787 in a spirit of joy and ' +
'solidarity that is the hallmark of the High Holidays with Chabad Jewish ' +
'Community Center!',
'We\u2019re always here to help you with questions, comments, feedback, or ' +
'requests. For further information on any of the options below or to make ' +
'phone reservations, please call 951-222-2005.'
],
signoff: ['May the Almighty bless you and yours with good health and a sweet New Year!',
'Rabbi Shmuel & Tzippy Fuss'],
driver:  'input_75',
summary: 'input_76',
giftRow: 'input_77',
schedule: [
{ day:'Rosh Hashanah · Day 1', date:'Saturday, September 12', items:[
{ time:'10:00 AM', label:'Morning Services', native:'input_8_0' },
{ time:'1:30 PM',  label:'Kiddush Lunch Buffet',             native:'input_8_1' }
]},
{ day:'Rosh Hashanah · Day 2', date:'Sunday, September 13', items:[
{ time:'10:00 AM', label:'Morning Services',                 native:'input_8_2' },
{ time:'12:00 PM', label:'Shofar Sounding Ceremony', note:'Part of morning services — no RSVP needed', info:true },
{ time:'1:30 PM',  label:'Kiddush Buffet Lunch',             native:'input_8_3' },
{ time:'4:00 PM',  label:'Tashlich (additional shofar sounding)', note:'UCR Botanical Gardens', native:'input_52_0' }
]},
{ day:'Yom Kippur Eve', date:'Sunday, September 20', items:[
{ time:'6:30 PM',  label:'Kol Nidrei Service',               native:'input_9_0' }
]},
{ day:'Yom Kippur', date:'Monday, September 21', items:[
{ time:'10:00 AM', label:'Morning Services',                 native:'input_9_1' },
{ time:'12:00 PM', label:'Yizkor Memorial Service',          native:'input_9_2' },
{ time:'5:15 PM',  label:'Afternoon Services',               native:'input_9_3' },
{ time:'6:00 PM',  label:'Neilah', note:'Concluding prayer & shofar', native:'input_9_4' },
{ time:'7:24 PM',  label:'Yom Kippur ends', note:'Break-the-Fast buffet follows', info:true }
]}
]
},
'family-shofar': {
title:  'Children\u2019s Holiday Experiences',
intro:  'Two hands-on programs for children over the High Holidays. ' +
'Both are free \u2014 choose either or both.',
driver:  'input_79',
giftRow: 'input_77',
stepTitles: { schedule: 'Children\u2019s Holiday Experiences' },
schedule: [
{ day:'Rosh Hashanah \u00b7 Day 2', date:'Sunday, September 13', items:[
{ time:'11:30 AM', label:'Children\u2019s Shofar Experience',
note:'Hands-on shofar workshop', native:'input_54_0' }
]},
{ day:'Yom Kippur', date:'Monday, September 21', items:[
{ time:'6:00 PM', label:'Children\u2019s Magic Show',
note:'While the adults are at Neilah', native:'input_56_0' }
]}
]
},
'holiday-charity': {
title: 'High Holiday Gift',
intro: 'It is customary to give charity before the High Holidays. ' +
'Your gift supports services, meals and programs for the whole ' +
'community \u2014 including those who could not otherwise take part.\n' +
'All Services are free of charge. Your generous donation is greatly ' +
'appreciated!\nPlease also consider donating to assist others in our ' +
'community to celebrate the holidays.',
driver: 'input_78',
donationOnly: true,
stepTitles: { gift: 'High Holiday Gift', pay: 'Your details & payment' }
},
'rh-dinner': {
title: 'Rosh Hashanah Dinner',
kind:  'dinner',
intro: 'Welcome the New Year with a five-course dinner prepared by our ' +
'executive chef. Come share the holiday meal with your community \u2014 ' +
'this is your home, and there is always a place set for you.',
driver:  'input_80',
summary: 'input_101',
dinnerSub:  'input_93',
sponsorSub: 'input_94',
countsOnStep1: true,
stepTitles: { schedule:'Rosh Hashanah Dinner', gift:'Sponsor the Dinner' },
event: { date:'Friday, September 11', items:[
{ time:'5:45 PM', label:'Hors d\u2019oeuvres & Meet and Greet' },
{ time:'6:30 PM', label:'Candle Lighting' },
{ time:'6:45 PM', label:'Dinner' }
]},
tiers: [
{ key:'pwyc', label:'Pay what you can',
note:'Name your own amount \u2014 whatever works for you',
adults:'input_82', children:'input_83', amount:'input_95',
adultPrice:0, childPrice:0 },
{ key:'sugg', label:'Suggested price',
note:'$30 per adult \u00b7 $20 per child \u2014 covers basic costs',
adults:'input_84', children:'input_85', adultPrice:30, childPrice:20 },
{ key:'full', label:'Full price',
note:'$50 per adult \u00b7 $30 per child \u2014 covers all expenses ' +
'including administration and servers',
adults:'input_86', children:'input_87', adultPrice:50, childPrice:30 }
],
students:'input_88', veg:'input_92',
sponsorRadios:['input_89_0','input_89_1','input_89_2'],
sponsorAmounts:[360,500,720],
sponsorOther:'other_89', sponsorOtherAmt:'input_89',
sponsorStudents:'input_90', sponsorStudentPrice:30,
sponsorTable:'input_91',    sponsorTablePrice:125
},
'break-fast': {
title: 'Yom Kippur Break Fast',
intro: 'Join us as we break the fast with a delicious spread of bagels, ' +
'lox, soup, salads, scrumptious desserts, and more!\n' +
'No charge. Donations encouraged.',
driver:  'input_97',
giftRow: 'input_77',
adultsField:'input_98', childrenField:'input_99',
countsOnStep1: true,
stepTitles: { schedule:'Yom Kippur Break Fast', gift:'Sponsor the Break Fast' },
infoEvent: { date:'Monday, September 21', items:[
{ time:'5:15 PM', label:'Afternoon Services' },
{ time:'6:00 PM', label:'Neilah', note:'Concluding prayer & shofar' },
{ time:'6:00 PM', label:'Children\u2019s Magic Show' },
{ time:'7:24 PM', label:'Yom Kippur ends', note:'Break-the-Fast buffet follows' }
]},
giftAmounts:[1800,720,500,360],
giftRadios:['input_100_0','input_100_1','input_100_2','input_100_3'],
giftOther:'other_100', giftOtherAmt:'input_100'
},
'schedule': {
title: 'High Holidays Schedule',
kind:  'scheduleview',
goTo:  'holiday-services',
intro: 'Everything happening at Chabad Jewish Center of Riverside this ' +
'High Holiday season. Reserve your place below \u2014 all services ' +
'are free of charge.',
days: [
{ date:'Friday, September 11', sub:'Rosh Hashanah Eve', items:[
{ time:'5:45 PM', label:'Hors d\u2019oeuvres & Meet and Greet' },
{ time:'6:30 PM', label:'Candle Lighting' },
{ time:'6:45 PM', label:'Rosh Hashanah Dinner' } ]},
{ date:'Saturday, September 12', sub:'Rosh Hashanah \u00b7 Day 1', items:[
{ time:'10:00 AM', label:'Morning Services' },
{ time:'1:30 PM',  label:'Kiddush Lunch Buffet' } ]},
{ date:'Sunday, September 13', sub:'Rosh Hashanah \u00b7 Day 2', items:[
{ time:'10:00 AM', label:'Morning Services' },
{ time:'11:30 AM', label:'Children\u2019s Shofar Experience' },
{ time:'12:00 PM', label:'Shofar Sounding Ceremony' },
{ time:'1:30 PM',  label:'Kiddush Buffet Lunch' },
{ time:'4:00 PM',  label:'Tashlich', note:'UCR Botanical Gardens' } ]},
{ date:'Sunday, September 20', sub:'Yom Kippur Eve', items:[
{ time:'6:30 PM', label:'Kol Nidrei Service' } ]},
{ date:'Monday, September 21', sub:'Yom Kippur', items:[
{ time:'10:00 AM', label:'Morning Services' },
{ time:'12:00 PM', label:'Yizkor Memorial Service' },
{ time:'5:15 PM',  label:'Afternoon Services' },
{ time:'6:00 PM',  label:'Neilah', note:'Concluding prayer & shofar' },
{ time:'6:00 PM',  label:'Children\u2019s Magic Show' },
{ time:'7:24 PM',  label:'Yom Kippur ends', note:'Break-the-Fast buffet follows' } ]}
]
},
'schedule': {
title: 'High Holidays Schedule',
kind:  'schedule',
intro: 'Everything happening over the High Holidays at Chabad Jewish ' +
'Center of Riverside. Services are free and open to all.',
opensAs: 'holiday-services'
},
'sukkot': {
title: 'Sukkot Community BBQ',
kind:  'dinner',
intro: 'Dinner in the sukkah \u2014 barbecue, music and the whole ' +
'community together under the stars. Come as you are; there is ' +
'always a place set for you.',
driver:  'input_132',
summary: 'input_133',
dinnerSub:  'input_134',
sponsorSub: 'input_135',
countsOnStep1: true,
stepTitles: { schedule:'Sukkot Community BBQ', gift:'Sponsor the BBQ' },
event: { date:'Wednesday, September 30', items:[
{ time:'5:30 PM', label:'Community BBQ in the sukkah' },
{ time:'8:30 PM', label:'Evening ends' }
]},
tiers: [
{ key:'pwyc', label:'Pay what you can',
note:'Name your own amount \u2014 whatever works for you',
adults:'input_124', children:'input_125', amount:'input_130',
adultPrice:0, childPrice:0 },
{ key:'sugg', label:'Suggested price',
note:'$30 per adult \u00b7 $20 per child \u2014 covers basic costs',
adults:'input_127', children:'input_126', adultPrice:30, childPrice:20 },
{ key:'full', label:'Full price',
note:'$50 per adult \u00b7 $35 per child \u2014 covers all expenses ' +
'including administration, activities and servers',
adults:'input_128', children:'input_129', adultPrice:50, childPrice:35 }
],
students:'', veg:'',
sponsorAmounts:[180,360,540],
sponsorRadios:['input_131_0','input_131_1','input_131_2'],
sponsorOther:'other_131', sponsorOtherAmt:'input_131',
sponsorStudents:'', sponsorStudentPrice:0,
sponsorTable:'',    sponsorTablePrice:0
},
'yizkor': {
title: 'Yizkor Booklet',
kind:  'yizkor',
intro: 'It is a Jewish tradition to honor the memory of our loved ones in ' +
'our thoughts and prayers, as well as through acts of charity. The ' +
'virtue of pledging charity during Yizkor creates an opportunity for ' +
'the souls of our loved ones to be connected with us through tangible ' +
'acts of goodness and kindness.',
blurb: [
'One way to honor this tradition is through the publication of a Yizkor ' +
'Memorial Book, which we use when we gather for our High Holiday services.',
'Chabad Jewish Center of Riverside will be publishing a new Yizkor Book of ' +
'Life. This booklet will give us the opportunity to memorialize those whom ' +
'we lovingly remember at this time, as well as include prayers and ' +
'meditations of the Yizkor Service. It will be distributed and used for ' +
'this year\u2019s Yom Kippur Yizkor services and subsequent Yizkor services ' +
'throughout the year.'
],
teaser: 'One way to honor this tradition is through the publication of a ' +
'Yizkor Memorial Book\u2026',
deadline: 'Yizkor Book due date: Thursday, September 3',
driver:  'input_122',
summary: 'input_123',
donation:'input_121',
maxNames: 4,
nameFields: [
{ en:'first_105', enLast:'last_105', heb:'input_109',
father:'first_113', mother:'last_113', date:'input_117' },
{ en:'first_106', enLast:'last_106', heb:'input_110',
father:'first_114', mother:'last_114', date:'input_118' },
{ en:'first_107', enLast:'last_107', heb:'input_111',
father:'first_115', mother:'last_115', date:'input_119' },
{ en:'first_108', enLast:'last_108', heb:'input_112',
father:'first_116', mother:'last_116', date:'input_120' }
]
},
'resources': {
title: 'High Holiday Resources',
kind:  'info',
intro: 'Everything you might want before the holidays \u2014 what the days ' +
'mean, how the prayers work, what to expect if it\u2019s your first ' +
'time, recipes, videos and readings for the season.',
body: [
'Chabad.org keeps a full High Holidays library: guides to Rosh Hashanah ' +
'and Yom Kippur, the meaning of the shofar, holiday recipes, children\u2019s ' +
'stories, and prayers with translation and transliteration.',
'It opens in a new tab, so you won\u2019t lose your place here.'
],
cta: { label:'Open the resource library',
url:['https://www.jewishriverside.com','holidays','JewishNewYear',
'template_cdo','aid','36130','jewish',
'High-Holidays-2026.htm'].join('/') }
},
'lulav': {
title: 'Lulav & Etrog',
kind:  'lulav',
intro: 'Order your own Lulav & Etrog set for Sukkot. $54 per set, ' +
'picked up before the holiday.',
driver:  'input_104',
qtyField:'input_102',
unitPrice: 54,
pickupRadios:['input_103_0','input_103_1'],
pickupLabels:[
'Monday, September 21 \u2014 after Yom Kippur services',
'September 22\u201324, 12pm\u20136pm'
]
}
},
F: {
adults:'input_59', children:'input_60',
firstMain:'first_62', lastMain:'last_62',
adultFirst:['first_63','first_64','first_65','first_66'],
adultLast: ['last_63','last_64','last_65','last_66'],
childFirst:['first_67','first_68','first_69','first_70','first_71'],
childLast: ['last_67','last_68','last_69','last_70','last_71'],
email:'input_72', phone:'input_73_full',
sponsorRadios:['input_53_0','input_53_1','input_53_2','input_53_3','input_53_4'],
sponsorOther:'other_53', sponsorAmt:'input_53',
dedInHonor:'input_39_0', dedInMemory:'input_39_1', dedNames:'input_48',
notes:'input_57',
payCard:'input_61_creditCard', payPal:'input_61_paypal',
ccNum:'input_61_cc_number', ccCvv:'input_61_cc_ccv', ccName:'input_61_cc_nameOnCard',
ccMon:'input_61_cc_exp_month', ccYear:'input_61_cc_exp_year',
billAddr:'input_61_addr_line1', billCity:'input_61_city',
billState:'input_61_state', billPostal:'input_61_postal', billCountry:'input_61_country'
},
TIMES: {
rhEve:     '6:43 PM',
rhDay1Eve: '7:37 PM',
rhEnds:    '7:36 PM',
ykEve:     '6:31 PM',
ykEnds:    '7:24 PM'
},
SUKKOT_SCHEDULE: [
{ day:'Sukkot Eve', date:'Friday, September 25', items:[
{ time:'6:24 PM', label:'Light Shabbat & holiday candles', cand:true }
]},
{ day:'Sukkot \u00b7 Day 1', date:'Saturday, September 26', items:[
{ time:'10:00 AM', label:'Morning Services' },
{ time:'11:00 AM', label:'Torah Reading & Discussion' },
{ time:'12:30 PM', label:'Kiddush Buffet Lunch in the Sukkah' },
{ time:'7:17 PM',  label:'Light holiday candles after this time, from a pre-existing flame', cand:true }
]},
{ day:'Sukkot \u00b7 Day 2', date:'Sunday, September 27', items:[
{ time:'10:00 AM', label:'Morning Services with Lulav & Etrog' },
{ time:'11:00 AM', label:'Torah Reading & Discussion' },
{ time:'12:30 PM', label:'Kiddush Buffet Lunch in the Sukkah' },
{ time:'7:16 PM',  label:'Sukkot ends', cand:true }
]},
{ day:'Community BBQ', date:'Wednesday, September 30', items:[
{ time:'5:30 PM', label:'BBQ, live music and entertainment for the whole family' },
{ time:'8:30 PM', label:'Evening ends' }
]},
{ day:'Shemini Atzeret Eve', date:'Friday, October 2', items:[
{ time:'6:14 PM', label:'Light Shabbat & holiday candles', cand:true }
]},
{ day:'Shemini Atzeret', date:'Saturday, October 3', items:[
{ time:'10:30 AM', label:'Morning Services' },
{ time:'11:30 AM', label:'Torah Reading & Discussion' },
{ time:'7:08 PM',  label:'Light holiday candles after this time, from a pre-existing flame', cand:true },
{ time:'Evening',  label:'Buffet Dinner & Dancing with the Torahs' }
]},
{ day:'Simchat Torah', date:'Sunday, October 4', items:[
{ time:'10:00 AM', label:'Morning Services' },
{ time:'11:00 AM', label:'Conclusion of the entire Torah' },
{ time:'12:30 PM', label:'Kiddush Luncheon' },
{ time:'7:06 PM',  label:'Holiday ends', cand:true }
]}
],
GIFTS: [1800, 1000, 720, 540, 360],
DEFAULT_COUNTRY: 'United States',
footerNote: 'Questions? Call 951-222-2005 or email info@jewishriverside.com',
SHOW_ESCAPE_HATCH: false
};
var HREF = window.location.href;
var AID  = CFG.AID;
var onEvent =
HREF.indexOf('/aid/' + AID) > -1 ||
HREF.indexOf('aid=' + AID)  > -1 ||
HREF.indexOf('/' + AID + '/') > -1 ||
HREF.indexOf('/' + AID + '.') > -1;
var inPreview = !!document.getElementById('hh26-preview-flag');
var hasStash = false;
try { hasStash = !!sessionStorage.getItem('hh26_confirm'); } catch (e) {}
if (!onEvent && !inPreview && !hasStash) return;
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', boot);
} else {
boot();
}
function boot() {
if (document.getElementById('hh26')) return;
var s = readStash();
if (s && !document.getElementById('input_2')) {
loadFonts(); injectStyles(); buildConfirmation(s);
return;
}
loadFonts();
injectStyles();
buildOverlay();
}
function loadFonts() {
var l = document.createElement('link');
l.rel = 'stylesheet';
l.href = 'https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&' +
'family=Karla:wght@400;500;600;700&display=swap';
document.head.appendChild(l);
}
function injectStyles() {
var css = [
'#hh26{',
'  --paper:#F5EBDF; --paper-2:#EDE0CE; --card:#FFFCF7;',
'  --wine:#5E1523; --wine-hi:#7C2434;',
'  --gold:#8A6A28; --gold-line:rgba(168,133,63,.38);',
'  --ink:#332821; --muted:#5F5046;',
'  --disp:"Playfair Display","Hoefler Text",Georgia,serif;',
'  --body:"Karla","Helvetica Neue",Arial,sans-serif;',
'  position:fixed; inset:0; z-index:2147482000;',
'  overflow-y:auto; -webkit-overflow-scrolling:touch;',
'  background:var(--paper); color:var(--ink);',
'  font-family:var(--body); font-size:16px; line-height:1.5;',
'  text-align:left; letter-spacing:0;',
'}',
'#hh26 *{box-sizing:border-box; margin:0; padding:0;}',
'#hh26 button{font:inherit; color:inherit; background:none; border:0;}',
'#hh26 img{max-width:100%; display:block;}',
'#hh26 :focus-visible{outline:2px solid var(--wine); outline-offset:3px;}',
'#hh26 .hh-sr{position:absolute; width:1px; height:1px; overflow:hidden;',
'  clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap;}',
'#hh26 .hh-hero{position:relative; display:flex; align-items:center;',
'  aspect-ratio:var(--hh-ratio,32/9); min-height:min(62svh,420px);',
'  overflow:hidden; background:var(--paper);',
'  border-bottom:1px solid var(--gold-line);}',
'#hh26 .hh-hero-img{position:absolute; inset:0; width:100%; height:100%;',
'  object-fit:cover; max-width:none;}',
'#hh26 .hh-hero.flip .hh-hero-img{transform:scaleX(-1);}',
'#hh26 .hh-hero::after{content:""; position:absolute; inset:0; pointer-events:none;',
'  background:linear-gradient(to right,',
'    rgba(245,235,223,calc(var(--hh-s,.95) * 1.00)) 0%,',
'    rgba(245,235,223,calc(var(--hh-s,.95) * 0.98)) 40%,',
'    rgba(245,235,223,calc(var(--hh-s,.95) * 0.80)) 60%,',
'    rgba(245,235,223,calc(var(--hh-s,.95) * 0.38)) 76%,',
'    rgba(245,235,223,calc(var(--hh-s,.95) * 0.10)) 90%,',
'    rgba(245,235,223,0) 100%);}',
'@media (max-width:760px){',
'  #hh26 .hh-hero::after{background:linear-gradient(to right,',
'    rgba(245,235,223,calc(var(--hh-s,.95) * 0.98)) 0%,',
'    rgba(245,235,223,calc(var(--hh-s,.95) * 0.90)) 55%,',
'    rgba(245,235,223,calc(var(--hh-s,.95) * 0.70)) 100%);}',
'}',
'#hh26 .hh-hero-copy{position:relative; z-index:1; width:100%; max-width:1120px;',
'  margin:0 auto; padding:clamp(26px,4.6vw,44px) clamp(14px,4.5vw,56px);}',
'#hh26 .hh-hero-copy > *{max-width:640px;}',
'#hh26 .hh-hero-ph{width:100%; aspect-ratio:32/9; min-height:300px;',
'  display:flex; align-items:center; justify-content:center;',
'  color:var(--muted); font-size:.74rem; letter-spacing:.22em;',
'  text-transform:uppercase; border:1px dashed var(--gold-line);}',
'#hh26 .hh-eyebrow{font-size:clamp(.62rem,1.5vw,.72rem); font-weight:600;',
'  letter-spacing:.3em; text-transform:uppercase; color:var(--gold);',
'  margin-bottom:clamp(9px,1.8vw,14px);}',
'#hh26 h1{font-family:var(--disp); font-weight:500; color:var(--wine);',
'  font-size:clamp(2.6rem,6.6vw,5rem); line-height:1.03; letter-spacing:-.005em;}',
'#hh26 .hh-org{font-family:var(--disp); font-weight:400; color:var(--gold);',
'  font-size:clamp(1.05rem,2.9vw,1.65rem); margin-top:11px; font-style:italic;}',
'#hh26 .hh-org strong{font-style:normal; font-weight:700; color:var(--wine);',
'  letter-spacing:.06em; font-size:1.12em;}',
'#hh26 .hh-lede{max-width:50ch; margin-top:clamp(12px,2.1vw,19px);',
'  color:var(--ink); font-size:clamp(.95rem,2.1vw,1.18rem); line-height:1.6;}',
'#hh26 .hh-dates{display:grid; grid-template-columns:repeat(2,1fr);',
'  gap:clamp(8px,1.8vw,14px); max-width:520px; margin-top:clamp(16px,2.8vw,26px);}',
'#hh26 .hh-datecard{border:1px solid var(--gold-line); border-radius:2px;',
'  background:rgba(255,252,247,.82);',
'  padding:clamp(9px,1.9vw,15px) clamp(11px,2.2vw,19px);}',
'#hh26 .hh-datecard b{display:block; font-weight:600; color:var(--gold);',
'  font-size:clamp(.55rem,1.5vw,.71rem); letter-spacing:.18em;',
'  text-transform:uppercase; margin-bottom:5px;}',
'#hh26 .hh-datecard span{display:block; font-family:var(--disp); color:var(--wine);',
'  font-size:clamp(1rem,2.9vw,1.45rem); line-height:1.12;}',
'@media (max-width:760px){',
'  #hh26 .hh-hero{aspect-ratio:auto; min-height:0; align-items:flex-start;}',
'  #hh26 .hh-hero-copy{max-width:none; width:100%;',
'    padding:clamp(22px,6vw,30px) clamp(18px,5vw,24px) clamp(24px,7vw,34px);}',
'  #hh26 h1{font-size:clamp(2.6rem,11vw,3.4rem); line-height:1.0;}',
'  #hh26 .hh-org{font-size:clamp(1.1rem,4.6vw,1.35rem); margin-top:8px;}',
'  #hh26 .hh-lede{max-width:none; font-size:clamp(1rem,4.2vw,1.12rem);',
'    line-height:1.55; margin-top:14px;}',
'  #hh26 .hh-dates{max-width:none; margin-top:18px; gap:10px;}',
'  #hh26 .hh-datecard{padding:11px 13px;}',
'  #hh26 .hh-datecard b{font-size:.63rem; letter-spacing:.15em;}',
'  #hh26 .hh-datecard span{font-size:clamp(1.05rem,4.4vw,1.25rem);}',
'}',
'#hh26 .hh-body{max-width:1120px; margin:0 auto;',
'  padding:clamp(34px,6.5vw,64px) clamp(14px,4.5vw,56px) clamp(46px,8vw,88px);}',
'#hh26 .hh-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(10px,2.4vw,16px);}',
'@media (min-width:760px){#hh26 .hh-grid{grid-template-columns:repeat(3,1fr); gap:20px;}}',
'#hh26 .hh-tile{display:flex; flex-direction:column; width:100%; text-align:left;',
'  background:var(--card); border:1px solid var(--gold-line);',
'  border-radius:3px; overflow:hidden; cursor:pointer;',
'  box-shadow:0 1px 2px rgba(94,21,35,.05);',
'  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;',
'  opacity:0; animation:hh26in .55s ease forwards;}',
'#hh26 .hh-tile:hover{transform:translateY(-4px); border-color:var(--gold);',
'  box-shadow:0 14px 32px rgba(94,21,35,.13);}',
'#hh26 .hh-tile:active{transform:translateY(-1px);}',
'#hh26 .hh-sq{position:relative; aspect-ratio:1/1; width:100%; background:var(--paper-2);}',
'#hh26 .hh-noart{position:absolute; inset:0; display:flex; align-items:center;',
'  justify-content:center; padding:14px; text-align:center;',
'  font-family:var(--disp); color:var(--wine); font-size:1.1rem; line-height:1.25;}',
'#hh26 .hh-sq img{width:100%; height:100%; object-fit:cover;}',
'#hh26 .hh-noart{width:100%; height:100%; display:flex; align-items:center;',
'  justify-content:center; padding:14%; text-align:center;',
'  background:var(--paper); color:var(--wine);',
'  font-family:var(--disp); font-size:clamp(1rem,3.4vw,1.5rem); line-height:1.2;}',
'#hh26 .hh-cap{display:flex; align-items:center;',
'  padding:clamp(11px,2.4vw,15px) clamp(11px,2.3vw,16px);',
'  border-top:1px solid var(--gold-line); background:var(--card);}',
'#hh26 .hh-tile.ov .hh-cap{position:absolute; left:0; right:0; bottom:0;',
'  border-top:0; background:none;',
'  padding:20px clamp(11px,2.4vw,16px) clamp(10px,2.2vw,14px);}',
'#hh26 .hh-date{font-size:clamp(.72rem,1.9vw,.88rem); font-weight:700;',
'  letter-spacing:.11em; text-transform:uppercase; color:var(--gold);',
'  line-height:1.3;}',
'@keyframes hh26in{from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:none;}}',
'#hh26 .hh-foot{border-top:1px solid var(--gold-line); background:var(--paper-2);',
'  padding:clamp(26px,5vw,40px) 20px; text-align:center;',
'  color:var(--muted); font-size:.88rem;}',
'#hh26 .hh-hatch{display:inline-block; margin-top:14px; font-size:.68rem;',
'  letter-spacing:.14em; text-transform:uppercase; color:var(--muted);',
'  text-decoration:underline; text-underline-offset:4px; cursor:pointer;}',
'#hh26 .hh-toast{position:fixed; left:50%; bottom:24px; transform:translateX(-50%);',
'  background:var(--wine); color:#FFFCF7; padding:12px 20px; border-radius:3px;',
'  font-size:.84rem; font-weight:600; box-shadow:0 10px 30px rgba(94,21,35,.3);',
'  z-index:5; max-width:90vw;}',
'@media (prefers-reduced-motion: reduce){',
'  #hh26 .hh-tile{animation:none; opacity:1;}',
'  #hh26 .hh-tile:hover{transform:none;}',
'  #hh26 .hh-tile{transition:border-color .2s ease;}',
'  #hh26 .hh-pane{animation:none !important;}',
'}',
'#hh26 .hh-bg{position:fixed; inset:0; z-index:20; display:flex;',
'  align-items:center; justify-content:center; padding:clamp(5px,2.5vw,28px);',
'  background:rgba(26,21,51,.58);}',
'#hh26 .hh-modal{display:flex; flex-direction:column; width:100%;',
'  max-width:600px; max-height:min(92dvh,820px); background:var(--card);',
'  border:1px solid var(--gold); border-radius:4px;',
'  box-shadow:0 30px 70px rgba(26,21,51,.4); overflow:hidden;}',
'#hh26 .hh-mhead{flex:none; display:flex; align-items:center; gap:13px;',
'  padding:clamp(13px,3vw,18px) clamp(16px,3.4vw,24px) clamp(12px,2.4vw,15px);',
'  border-bottom:1px solid var(--gold-line); background:var(--paper);}',
'#hh26 .hh-mthumb{flex:none; width:54px; height:54px; border-radius:3px;',
'  object-fit:cover; border:1px solid var(--gold-line);}',
'#hh26 .hh-mheadtext{min-width:0; flex:1;}',
'#hh26 .hh-htotal{flex:none; text-align:right; padding:22px 0 0 10px;}',
'#hh26 .hh-htotal span{display:block; font-size:.68rem; font-weight:700;',
'  letter-spacing:.14em; text-transform:uppercase; color:var(--gold);}',
'#hh26 .hh-htotal b{display:block; font-family:var(--disp); font-weight:400;',
'  color:var(--wine); font-size:clamp(1.15rem,3.4vw,1.5rem); line-height:1.15;}',
'@media (max-width:520px){#hh26 .hh-htotal{padding-top:20px;}',
'  #hh26 .hh-htotal b{font-size:1.25rem;}}',
'#hh26 .hh-mtitle{font-family:var(--disp); color:var(--wine);',
'  font-size:clamp(1.45rem,4.2vw,2.2rem); line-height:1.15; padding-right:34px;}',
'#hh26 .hh-mtitle.hh-long{font-size:clamp(1.2rem,3.5vw,1.8rem);}',
'#hh26 .hh-mstep{font-size:.82rem; font-weight:700; letter-spacing:.14em;',
'  text-transform:uppercase; color:var(--gold); margin-top:6px;}',
'#hh26 .hh-x{position:absolute; top:6px; right:6px; width:38px; height:38px;',
'  font-size:22px; line-height:1; color:var(--muted); cursor:pointer;}',
'#hh26 .hh-mwrap{position:relative;}',
'#hh26 .hh-mbody{flex:1 1 auto; overflow-y:auto; -webkit-overflow-scrolling:touch;',
'  padding:clamp(14px,3.2vw,22px) clamp(11px,3.4vw,24px);}',
'#hh26 .hh-pane{animation:hh26slide .28s ease;}',
'@keyframes hh26slide{from{opacity:0; transform:translateX(22px);} to{opacity:1; transform:none;}}',
'#hh26 .hh-intro{color:var(--ink); font-size:1.16rem; line-height:1.55;',
'  margin-bottom:18px; white-space:pre-line;}',
'#hh26 .hh-day{margin:15px 0 5px; padding-bottom:6px;',
'  border-bottom:1px solid var(--gold-line);}',
'#hh26 .hh-day:first-child{margin-top:0;}',
'#hh26 .hh-dayname{font-family:var(--disp); color:var(--wine); font-size:1.45rem;}',
'#hh26 .hh-daydate{font-size:.88rem; font-weight:700; letter-spacing:.12em;',
'  text-transform:uppercase; color:var(--gold); margin-top:3px;}',
'#hh26 .hh-row{display:flex; align-items:flex-start; gap:11px; width:100%;',
'  padding:9px 8px; border-radius:3px; cursor:pointer; text-align:left;',
'  transition:background .15s ease;}',
'#hh26 .hh-row:hover{background:var(--paper);}',
'#hh26 .hh-row.info{cursor:default; opacity:.62;}',
'#hh26 .hh-row.info:hover{background:none;}',
'#hh26 .hh-box{flex:none; width:23px; height:23px; margin-top:1px; border-radius:3px;',
'  border:1.5px solid var(--gold); background:#fff; position:relative;}',
'#hh26 .hh-row.on .hh-box{background:var(--wine); border-color:var(--wine);}',
'#hh26 .hh-row.on .hh-box:after{content:""; position:absolute; left:7px; top:3px;',
'  width:5px; height:10px; border:solid #fff; border-width:0 2px 2px 0;',
'  transform:rotate(42deg);}',
'#hh26 .hh-row.info .hh-box{border:0; background:none;}',
'#hh26 .hh-time{flex:none; width:100px; font-size:.98rem; font-weight:700;',
'  color:var(--gold); padding-top:2px;}',
'#hh26 .hh-lab{flex:1; font-size:1.18rem; line-height:1.35;}',
'#hh26 .hh-note{display:block; font-size:.96rem; color:var(--muted); margin-top:3px;}',
'#hh26 .hh-nofield{display:block; font-size:.68rem; color:#B0472F; margin-top:2px;}',
'#hh26 .hh-fld{margin-bottom:12px;}',
'#hh26 .hh-fld > label{display:block; font-size:.88rem; font-weight:700;',
'  letter-spacing:.1em; text-transform:uppercase; color:var(--gold); margin-bottom:6px;}',
'#hh26 .hh-in{width:100%; padding:12px 13px; font:inherit; font-size:1.12rem;',
'  color:var(--ink); background:#fff; border:1px solid var(--gold-line);',
'  border-radius:3px;}',
'#hh26 .hh-in:focus{outline:none; border-color:var(--wine);}',
'#hh26 .hh-in::placeholder{font-size:.72rem; font-weight:500;',
'  letter-spacing:0; color:rgba(138,119,106,.6); opacity:1;}',
'#hh26 .hh-in::-webkit-input-placeholder{font-size:.72rem; font-weight:500;',
'  letter-spacing:0; color:rgba(138,119,106,.6);}',
'#hh26 textarea.hh-in{min-height:76px; resize:vertical;}',
'#hh26 .hh-two{display:grid; grid-template-columns:1fr 1fr; gap:9px;}',
'#hh26 .hh-align > .hh-fld > label{min-height:2.7em;}',
'#hh26 .hh-sub{font-family:var(--disp); color:var(--wine); font-size:1.4rem;',
'  margin:18px 0 9px; padding-bottom:5px; border-bottom:1px solid var(--gold-line);}',
'#hh26 .hh-sub:first-child{margin-top:0;}',
'#hh26 .hh-hint{font-size:1rem; color:var(--muted); margin:-4px 0 12px;}',
'#hh26 .hh-chips{display:grid; grid-template-columns:repeat(3,1fr); gap:8px;}',
'#hh26 .hh-chip{padding:14px 6px; text-align:center; font-size:1.16rem;',
'  border:1px solid var(--gold-line); border-radius:3px; background:#fff;',
'  cursor:pointer; transition:all .15s ease;}',
'#hh26 .hh-chip:hover{border-color:var(--gold);}',
'#hh26 .hh-chip.on{background:var(--wine); border-color:var(--wine); color:#fff;}',
'#hh26 .hh-total{margin-top:16px; padding:15px 17px; font-size:1.02rem; background:var(--paper);',
'  border:1px solid var(--gold-line); border-radius:3px; font-size:1.08rem;',
'  display:flex; justify-content:space-between; align-items:baseline;}',
'#hh26 .hh-total b{font-family:var(--disp); font-weight:400; color:var(--wine);',
'  font-size:1.6rem;}',
'#hh26 .hh-carry{display:flex; align-items:center; justify-content:space-between;',
'  gap:11px; padding:12px 14px; border:1px solid var(--gold-line);',
'  border-radius:3px; background:var(--paper); font-size:1.02rem;}',
'#hh26 .hh-change{flex:none; font-size:.88rem; color:var(--wine); cursor:pointer;',
'  text-decoration:underline; text-underline-offset:3px;}',
'#hh26 .hh-deadline{display:inline-block; margin:0 0 16px; padding:8px 13px;',
'  border:1px solid var(--gold); border-radius:2px; background:#fff;',
'  font-weight:700; font-size:.95rem; color:var(--wine);}',
'#hh26 .hh-blurb{margin-bottom:15px; padding-bottom:14px;',
'  border-bottom:1px solid var(--gold-line);}',
'#hh26 .hh-bpara{display:block; font-size:1.1rem; line-height:1.6;',
'  color:var(--ink); margin-bottom:10px;}',
'#hh26 .hh-bpara:last-of-type{margin-bottom:8px;}',
'#hh26 .hh-bsign{margin-top:14px; font-family:var(--disp); color:var(--wine);',
'  font-size:1.02rem; line-height:1.5;}',
'#hh26 .hh-more{display:inline-block; font-size:.92rem; font-weight:600;',
'  color:var(--wine); cursor:pointer; text-decoration:underline;',
'  text-underline-offset:3px; white-space:nowrap;}',
'#hh26 .hh-adds{display:flex; flex-direction:column; gap:9px;}',
'#hh26 .hh-add{display:flex; align-items:center; justify-content:space-between;',
'  gap:11px; padding:15px 16px; border:1px solid var(--gold-line);',
'  border-radius:3px; background:#fff; cursor:pointer;',
'  transition:border-color .15s ease, background .15s ease;}',
'#hh26 .hh-add:hover{border-color:var(--gold); background:var(--paper);}',
'#hh26 .hh-add b{display:block; font-weight:600; font-size:1.18rem;}',
'#hh26 .hh-addplus{flex:none; width:30px; height:30px; border-radius:50%;',
'  background:var(--wine); color:#FFFCF7; font-size:20px; line-height:29px;',
'  text-align:center;}',
'#hh26 .hh-rsec{margin-bottom:16px; padding-bottom:14px;',
'  border-bottom:1px solid var(--gold-line);}',
'#hh26 .hh-rhead{font-family:var(--disp); color:var(--wine);',
'  font-size:1.28rem; margin-bottom:8px;}',
'#hh26 .hh-rrow{display:flex; gap:12px; padding:4px 0; align-items:flex-start;}',
'#hh26 .hh-rk{flex:none; width:36%; font-size:.86rem; font-weight:700;',
'  letter-spacing:.06em; text-transform:uppercase; color:var(--gold);',
'  padding-top:2px;}',
'#hh26 .hh-rv{flex:1; font-size:1.06rem; line-height:1.45;}',
'@media (max-width:520px){#hh26 .hh-rk{width:100%;}',
'  #hh26 .hh-rrow{flex-wrap:wrap; gap:2px; padding:6px 0;}}',
'#hh26 .hh-contact{cursor:default; background:var(--paper);}',
'#hh26 .hh-contact:hover{transform:none; border-color:var(--gold);',
'  box-shadow:0 1px 2px rgba(94,21,35,.05);}',
'#hh26 .hh-csq{aspect-ratio:1/1; width:100%; display:flex;',
'  flex-direction:column; align-items:center; justify-content:center;',
'  text-align:center; padding:clamp(12px,3vw,22px);}',
'@media (min-width:760px){',
'  #hh26 .hh-contact{grid-column:1 / -1;}',
'  #hh26 .hh-contact .hh-csq{aspect-ratio:auto; flex-direction:row;',
'    flex-wrap:wrap; justify-content:center; gap:8px 30px;',
'    padding:26px clamp(20px,3vw,34px);}',
'  #hh26 .hh-contact .hh-cq{margin-bottom:0; font-size:1.6rem;}',
'  #hh26 .hh-contact .hh-cpair{display:flex; align-items:baseline; gap:10px;}',
'  #hh26 .hh-contact .hh-cline{font-size:.72rem;}',
'  #hh26 .hh-contact .hh-clink{margin:0; font-size:1.3rem;}',
'  #hh26 .hh-contact .hh-cmail{font-size:1.1rem;}',
'}',
'#hh26 .hh-cq{font-family:var(--disp); color:var(--wine);',
'  font-size:clamp(1.15rem,3.6vw,1.7rem); margin-bottom:clamp(8px,2vw,14px);}',
'#hh26 .hh-cline{display:block; font-size:clamp(.62rem,1.7vw,.76rem);',
'  font-weight:700; letter-spacing:.14em; text-transform:uppercase;',
'  color:var(--gold);}',
'#hh26 .hh-cpair{display:block;}',
'#hh26 .hh-clink{display:block; color:var(--ink); text-decoration:none;',
'  font-family:var(--disp); font-size:clamp(.95rem,2.9vw,1.3rem);',
'  margin:3px 0 clamp(8px,2vw,14px); word-break:break-word; line-height:1.2;}',
'#hh26 .hh-clink:hover{color:var(--wine); text-decoration:underline;',
'  text-underline-offset:3px;}',
'#hh26 .hh-cmail{margin-bottom:0; font-size:clamp(.78rem,2.2vw,1rem);}',
'#hh26 .hh-tiers{display:flex; flex-direction:column; gap:8px;}',
'#hh26 .hh-tier{display:flex; align-items:flex-start; gap:11px; padding:12px 13px;',
'  border:1px solid var(--gold-line); border-radius:3px; background:#fff;',
'  cursor:pointer; transition:border-color .15s ease, background .15s ease;}',
'#hh26 .hh-tier:hover{border-color:var(--gold);}',
'#hh26 .hh-tier.on{border-color:var(--wine); background:var(--paper);}',
'#hh26 .hh-tier b{font-weight:600; font-size:1.18rem; display:block;}',
'#hh26 .hh-radio{flex:none; width:19px; height:19px; margin-top:2px;',
'  border-radius:50%; border:1.5px solid var(--gold); background:#fff; position:relative;}',
'#hh26 .hh-tier.on .hh-radio{border-color:var(--wine);}',
'#hh26 .hh-tier.on .hh-radio:after{content:""; position:absolute; inset:3.5px;',
'  border-radius:50%; background:var(--wine);}',
'#hh26 .hh-mfoot{flex:none; padding:clamp(12px,2.6vw,17px) clamp(16px,3.4vw,24px);',
'  border-top:1px solid var(--gold-line); background:var(--paper);',
'  display:flex; align-items:center; gap:12px;}',
'#hh26 .hh-back{flex:none; font-size:1rem; color:var(--muted); cursor:pointer;',
'  text-decoration:underline; text-underline-offset:3px;}',
'#hh26 .hh-nextwrap{flex:1; text-align:left; order:1;}',
'#hh26 .hh-back{order:2;}',
'#hh26 .hh-next{display:inline-flex; align-items:center; gap:9px;',
'  padding:14px 26px; background:var(--wine); color:#FFFCF7; border-radius:3px;',
'  font-size:1.14rem; font-weight:600; cursor:pointer;}',
'#hh26 .hh-next:hover{background:var(--wine-hi);}',
'#hh26 .hh-next[disabled]{opacity:.4; cursor:not-allowed;}',
'#hh26 .hh-nexthint{display:block; font-size:.92rem; color:var(--muted); margin-top:7px;}',
'#hh26 .hh-err{color:#9B2F1C; font-size:1.05rem; font-weight:600; margin-bottom:12px;}',
'@media (max-width:520px){',
'  #hh26 .hh-row{gap:8px; padding:9px 2px;}',
'  #hh26 .hh-box{width:24px; height:24px;}',
'  #hh26 .hh-box:after{left:7px; top:3px; width:6px; height:11px;}',
'  #hh26 .hh-time{width:72px; font-size:1rem; letter-spacing:-.02em; line-height:1.25;}',
'  #hh26 .hh-lab{font-size:1.3rem; line-height:1.3;}',
'  #hh26 .hh-note{font-size:1rem;}',
'  #hh26 .hh-day{margin:16px 0 5px;}',
'  #hh26 .hh-dayname{font-size:1.45rem;}',
'  #hh26 .hh-daydate{font-size:.92rem;}',
'  #hh26 .hh-mtitle{font-size:1.7rem;}',
'  #hh26 .hh-mtitle.hh-long{font-size:1.28rem;}',
'  #hh26 .hh-mstep{font-size:.82rem;}',
'  #hh26 .hh-intro{font-size:1.3rem; line-height:1.45;}',
'  #hh26 .hh-sub{font-size:1.5rem;}',
'  #hh26 .hh-hint{font-size:1.08rem;}',
'  #hh26 .hh-err{font-size:1.15rem;}',
'  #hh26 .hh-in{font-size:1.25rem; padding:13px 13px;}',
'  #hh26 .hh-fld > label{font-size:.92rem;}',
'  #hh26 .hh-chip{font-size:1.3rem; padding:16px 6px;}',
'  #hh26 .hh-tier b{font-size:1.3rem;}',
'  #hh26 .hh-tier{padding:14px 13px;}',
'  #hh26 .hh-radio{width:22px; height:22px;}',
'  #hh26 .hh-total{font-size:1.22rem;}',
'  #hh26 .hh-total b{font-size:1.9rem;}',
'  #hh26 .hh-next{font-size:1.25rem; padding:15px 26px;}',
'  #hh26 .hh-nexthint{font-size:.95rem;}',
'  #hh26 .hh-back{font-size:1.08rem;}',
'  #hh26 .hh-carry{font-size:1.25rem;}',
'  #hh26 .hh-change{font-size:1.02rem;}',
'  #hh26 .hh-add b{font-size:1.3rem;}',
'  #hh26 .hh-bpara{font-size:1.18rem; line-height:1.5;}',
'  #hh26 .hh-bsign{font-size:1.2rem;}',
'  #hh26 .hh-more{font-size:1.1rem;}',
'  #hh26 .hh-mthumb{width:46px; height:46px;}',
'  #hh26 .hh-mhead{gap:11px;}',
'  #hh26 .hh-crow{gap:8px;}',
'  #hh26 .hh-ctime{width:72px; font-size:1rem; line-height:1.25;}',
'  #hh26 .hh-clab{font-size:1.3rem;}',
'  #hh26 .hh-cday{font-size:.92rem;}',
'  #hh26 .hh-chips{grid-template-columns:repeat(2,1fr);}',
'  #hh26 .hh-in::placeholder{font-size:.68rem; letter-spacing:0;}',
'  #hh26 .hh-in::-webkit-input-placeholder{font-size:.68rem; letter-spacing:0;}',
'}',
'@media (max-height:560px) and (orientation:landscape){',
'  #hh26 .hh-hero{aspect-ratio:auto; min-height:0; align-items:flex-start;}',
'  #hh26 .hh-hero-copy{max-width:none; padding:20px clamp(16px,3.5vw,34px) 22px;}',
'  #hh26 .hh-hero-copy > *{max-width:none;}',
'  #hh26 h1{font-size:2.5rem; line-height:1.02;}',
'  #hh26 .hh-org{font-size:1.2rem; margin-top:6px;}',
'  #hh26 .hh-lede{max-width:none; font-size:.98rem; line-height:1.45; margin-top:9px;}',
'  #hh26 .hh-dates{max-width:520px; margin-top:13px; gap:10px;}',
'  #hh26 .hh-datecard{padding:9px 13px;}',
'  #hh26 .hh-datecard b{font-size:.6rem; margin-bottom:3px;}',
'  #hh26 .hh-datecard span{font-size:1.1rem;}',
'  #hh26 .hh-hero::after{background:linear-gradient(to right,',
'    rgba(245,235,223,calc(var(--hh-s,.95) * 0.99)) 0%,',
'    rgba(245,235,223,calc(var(--hh-s,.95) * 0.94)) 62%,',
'    rgba(245,235,223,calc(var(--hh-s,.95) * 0.72)) 100%);}',
'  #hh26 .hh-body{padding-top:clamp(24px,4vw,40px);}',
'}',
'#hh26.hh-confmode{background:var(--paper);}',
'#hh26 .hh-conf{min-height:100dvh; display:flex; align-items:center;',
'  justify-content:center; padding:clamp(10px,3vw,32px);}',
'#hh26 .hh-cday{font-size:.88rem; font-weight:700; letter-spacing:.12em;',
'  text-transform:uppercase; color:var(--gold); margin:16px 0 4px;}',
'#hh26 .hh-cday:first-child{margin-top:0;}',
'#hh26 .hh-crow{display:flex; gap:11px; padding:6px 0;',
'  border-bottom:1px solid var(--gold-line);}',
'#hh26 .hh-ctime{flex:none; width:100px; font-size:.98rem; font-weight:700;',
'  color:var(--gold); padding-top:2px;}',
'#hh26 .hh-clab{flex:1; font-size:1.18rem; line-height:1.35;}',
'#hh26 .hh-cand{font-style:italic; color:var(--gold);}',
'@media (max-width:520px){',
'  #hh26 .hh-crow{gap:8px;}',
'  #hh26 .hh-ctime{width:58px; font-size:.8rem; line-height:1.25;}',
'  #hh26 .hh-clab{font-size:1.02rem;}',
'}'
].join('\n');
var s = document.createElement('style');
s.id = 'hh26-css';
s.textContent = css;
document.head.appendChild(s);
}
function esc(t) {
return String(t == null ? '' : t)
.replace(/&/g, '&').replace(/</g, '<')
.replace(/>/g, '>').replace(/"/g, '"');
}
function heroMarkup() {
var h = CFG.hero;
var pic = h.image
? '<img class="hh-hero-img" id="hh26-heroimg" src="' + esc(h.image) + '" alt="' + esc(h.alt || h.title) + '">'
: '<div class="hh-hero-ph">Hero image goes here</div>';
var eyebrow = h.eyebrow ? '<p class="hh-eyebrow">' + esc(h.eyebrow) + '</p>' : '';
var org = h.org
? '<p class="hh-org">' + esc(h.org) +
(h.orgEmphasis ? ' <strong>' + esc(h.orgEmphasis) + '</strong>' : '') + '</p>'
: '';
var lede    = h.lede    ? '<p class="hh-lede">' + esc(h.lede) + '</p>' : '';
var cards = (h.dateCards || []).map(function (d) {
return '<div class="hh-datecard"><b>' + esc(d.label) + '</b>' +
'<span>' + esc(d.value) + '</span></div>';
}).join('');
var dates = cards ? '<div class="hh-dates">' + cards + '</div>' : '';
return '' +
'<header class="hh-hero" id="hh26-hero">' + pic +
'<div class="hh-hero-copy">' + eyebrow +
'<h1>' + esc(h.title) + '</h1>' + org + lede + dates +
'</div>' +
'</header>';
}
function tileMarkup(t, i) {
if (t.contact) {
return '<div class="hh-tile hh-contact" style="animation-delay:' + (i * 65) + 'ms">' +
'<div class="hh-csq">' +
'<p class="hh-cq">' + esc(t.title) + '</p>' +
'<span class="hh-cpair">' +
'<span class="hh-cline">Call us</span>' +
'<a class="hh-clink" href="tel:' + esc(t.phone.replace(/[^0-9+]/g, '')) + '">' +
esc(t.phone) + '</a>' +
'</span>' +
'<span class="hh-cpair">' +
'<span class="hh-cline">or email</span>' +
'<a class="hh-clink hh-cmail" href="mailto:' + esc(t.email) + '">' +
esc(t.email) + '</a>' +
'</span>' +
'</div></div>';
}
var ov  = CFG.INFO_PLACEMENT === 'overlay';
var cap = '<div class="hh-cap"><span class="hh-date">' + esc(t.date) + '</span></div>';
var art = t.img
? '<img src="' + esc(t.img) + '" alt="' + esc(t.title) + '">'
: '<div class="hh-noart">' + esc(t.title) + '</div>';
return '' +
'<button class="hh-tile' + (ov ? ' ov' : '') + '" type="button" ' +
'data-hh-key="' + esc(t.key) + '" ' +
'aria-label="' + esc(t.title + ' — ' + t.date) + '" ' +
'style="animation-delay:' + (i * 65) + 'ms">' +
'<div class="hh-sq">' + art + (ov ? cap : '') + '</div>' +
(ov ? '' : cap) +
'</button>';
}
function buildOverlay() {
var wrap = document.createElement('div');
wrap.id = 'hh26';
var hatch = CFG.SHOW_ESCAPE_HATCH
? '<span class="hh-hatch" id="hh26-hatch">View the original form</span>' : '';
wrap.innerHTML =
heroMarkup() +
'<main class="hh-body">' +
'<div class="hh-grid" id="hh26-grid">' + CFG.tiles.map(tileMarkup).join('') + '</div>' +
'</main>' +
(hatch ? '<footer class="hh-foot">' + hatch + '</footer>' : '');
document.body.appendChild(wrap);
applyHeroCrop();
document.documentElement.style.overflow = 'hidden';
document.getElementById('hh26-grid').addEventListener('click', function (e) {
var btn = e.target.closest ? e.target.closest('.hh-tile') : null;
if (!btn) return;
var key = btn.getAttribute('data-hh-key');
if (!key) return;
if (window.HH26_openOption) window.HH26_openOption(key);
});
var hatchEl = document.getElementById('hh26-hatch');
if (hatchEl) hatchEl.addEventListener('click', reveal);
document.addEventListener('keydown', function (e) {
if (e.ctrlKey && e.shiftKey && (e.key === 'O' || e.key === 'o')) reveal();
});
}
function applyHeroCrop() {
var hero = document.getElementById('hh26-hero');
var img  = document.getElementById('hh26-heroimg');
if (!hero) return;
hero.style.setProperty('--hh-ratio', CFG.hero.ratio || '32/9');
var s = CFG.hero.scrim;
if (typeof s !== 'number' || isNaN(s)) s = 0.95;
hero.style.setProperty('--hh-s', Math.max(0, Math.min(1, s)));
if (CFG.hero.flip) hero.className += ' flip';
if (img) {
var pos = { bottom: '50% 100%', top: '50% 0%', center: '50% 50%' };
img.style.objectPosition = pos[CFG.hero.crop] || pos.bottom;
}
}
function reveal() {
var w = document.getElementById('hh26');
if (w) w.parentNode.removeChild(w);
document.documentElement.style.overflow = '';
}
function $(id) { return id ? document.getElementById(id) : null; }
function setNative(id, val) {
var el = $(id);
if (!el) return false;
el.value = val;
['input', 'change', 'keyup', 'blur'].forEach(function (evt) {
el.dispatchEvent(new Event(evt, { bubbles: true }));
});
return true;
}
function setChecked(id, want) {
var el = $(id);
if (!el) return false;
if (!!el.checked !== !!want) {
var was = document.activeElement;
var pos = null;
if (was && was.tagName === 'INPUT' && was.selectionStart !== undefined) {
try { pos = [was.selectionStart, was.selectionEnd]; } catch (e) {}
}
el.click();
if (was && was !== document.activeElement && was.focus) {
try {
was.focus({ preventScroll: true });
if (pos && was.setSelectionRange) was.setSelectionRange(pos[0], pos[1]);
} catch (e) {}
}
}
return true;
}
function findSubmit() {
return document.getElementById('input_2') ||
document.querySelector(
'.form-submit-button, button[type=submit], input[type=submit]');
}
var M = null;
var LAST = null;
var CHAIN_STARTERS = ['holiday-services', 'rh-dinner', 'break-fast',
'family-shofar', 'holiday-charity', 'yizkor', 'sukkot'];
var CHAIN_OFFERS   = ['holiday-services', 'rh-dinner', 'break-fast',
'family-shofar', 'yizkor', 'sukkot', 'lulav'];
window.HH26_openOption = function (key) {
var opt = (CFG.OPTIONS || {})[key];
if (!opt) { toast('Coming soon'); return; }
var resumed = !!(LAST && LAST.cart && LAST.cart[0] === key);
if (resumed) {
M = LAST;
} else {
M = { cart: [key], d: {}, step: 0,
names: {}, lnDirty: {}, vals: {},
gift: 0, bfGift: 0, spDinner: 0, spStudents: 0, spTables: 0,
total: 0,
picks: {}, adults: 1, children: 0,
tier: null, students: 0, veg: 0, pwyc: 0,
lqty: 1, pickup: null, yzShown: 1, yzDon: 0 };
}
if (!resumed) clearAllOptionFields();
renderModal();
resetView();
};
function clearAllOptionFields() {
Object.keys(CFG.OPTIONS).forEach(function (k) {
var o = CFG.OPTIONS[k];
if (o.driver)  setNative(o.driver, 'none');
if (o.summary) setNative(o.summary, '');
(o.tiers || []).forEach(function (t) {
if (t.adults)   setNative(t.adults, 0);
if (t.children) setNative(t.children, 0);
if (t.amount)   setNative(t.amount, 0);
});
if (o.students) setNative(o.students, 0);
if (o.veg)      setNative(o.veg, 0);
if (o.sponsorStudents) setNative(o.sponsorStudents, 0);
if (o.sponsorTable)    setNative(o.sponsorTable, 0);
if (o.sponsorOtherAmt) setNative(o.sponsorOtherAmt, '');
if (o.giftOtherAmt)    setNative(o.giftOtherAmt, '');
if (o.qtyField) setNative(o.qtyField, 0);
if (o.donation) setNative(o.donation, '');
if (o.dinnerSub)  setNative(o.dinnerSub, '');
if (o.sponsorSub) setNative(o.sponsorSub, '');
(o.nameFields || []).forEach(function (f) {
setNative(f.en, ''); setNative(f.enLast, ''); setNative(f.heb, '');
setNative(f.father, ''); setNative(f.mother, '');
});
(o.schedule || []).forEach(function (d) {
d.items.forEach(function (it) { if (it.native) setChecked(it.native, false); });
});
if (o.singleEvent && o.singleEvent.native) setChecked(o.singleEvent.native, false);
});
setNative(CFG.F.sponsorAmt, '');
setNative(CFG.F.adults, 0);
setNative(CFG.F.children, 0);
setNative('input_77', 'none');
}
function closeModal() {
captureVals(); saveOpt();
if (M) LAST = M;
var bg = $('hh26-bg');
if (bg) bg.parentNode.removeChild(bg);
M = null;
}
function loadOpt(key) {
M.key = key;
M.opt = CFG.OPTIONS[key];
var d = M.d[key] || (M.d[key] = { picks:{}, tier:null,
students:0, veg:0, pwyc:0,
lqty:1, pickup:null,
spDinner:0, spStudents:0, spTables:0 });
M.picks = d.picks;
M.tier = d.tier; M.students = d.students; M.veg = d.veg; M.pwyc = d.pwyc;
M.lqty = d.lqty; M.pickup = d.pickup;
M.spDinner = d.spDinner || 0;
M.spStudents = d.spStudents || 0;
M.spTables = d.spTables || 0;
}
function saveOpt() {
if (!M || !M.key) return;
var d = M.d[M.key];
if (!d) return;
d.picks = M.picks;
d.tier = M.tier; d.students = M.students; d.veg = M.veg; d.pwyc = M.pwyc;
d.lqty = M.lqty; d.pickup = M.pickup;
d.spDinner = M.spDinner || 0;
d.spStudents = M.spStudents || 0;
d.spTables = M.spTables || 0;
}
function tileImg(key) {
var t = CFG.tiles.filter(function (x) { return x.key === key; })[0];
return t ? t.img : '';
}
var NON_ATTENDING = ['yizkor', 'holiday-charity', 'lulav'];
function isAttending() {
return M.cart.some(function (k) { return NON_ATTENDING.indexOf(k) < 0; });
}
function inCart(k) { return M.cart.indexOf(k) > -1; }
function isChain()  { return CHAIN_STARTERS.indexOf(M.cart[0]) > -1; }
function remaining(){ return CHAIN_OFFERS.filter(function (k) { return !inCart(k); }); }
function captureVals() {
if (!M) return;
if (!M.vals) M.vals = {};
var body = document.querySelector('#hh26 .hh-mbody');
if (!body) return;
body.querySelectorAll('input,select,textarea').forEach(function (el) {
if (el.id) M.vals[el.id] = el.value;
});
}
function restoreVals() {
if (!M || !M.vals) return;
Object.keys(M.vals).forEach(function (id) {
var el = $(id);
if (el && el.value !== M.vals[id] && M.vals[id] !== undefined) {
el.value = M.vals[id];
}
});
}
function buildSteps() {
var first = CFG.OPTIONS[M.cart[0]];
if (first.kind === 'scheduleview') {
return [{ id:'opt', key:M.cart[0], title:first.title, hint:'' }];
}
if (first.donationOnly && M.cart.length === 1) {
var g = [{ id:'gift', title:'Your gift', hint:'Next: add anything else' }];
if (remaining().length) {
g.push({ id:'addmore', title:'Would you like to add anything else?',
hint:'Next: your details' });
}
g.push({ id:'pay', title:'Your details & payment', hint:'' });
return g;
}
if (first.kind === 'schedule' || first.kind === 'info') {
return [{ id:'opt', key:M.cart[0], title:first.title, hint:'' }];
}
var st = [];
M.cart.forEach(function (k) {
var o = CFG.OPTIONS[k];
st.push({ id:'opt', key:k,
title:(o.stepTitles && o.stepTitles.schedule) || o.title,
hint:'Next: add anything else' });
if (o.kind === 'dinner') {
st.push({ id:'dinnergift', key:k,
title:(o.stepTitles && o.stepTitles.gift) || ('Sponsor ' + o.title),
hint:'Next: add anything else' });
}
});
if (isChain() && remaining().length) {
st.push({ id:'addmore', title:'Would you like to add anything else?',
hint:'Next: who\u2019s coming' });
}
st.push({ id:'who',
title: isAttending() ? 'Who\u2019s coming?' : 'Your details',
hint:'Next: support & dedication' });
st.push({ id:'support', title:'Support the High Holidays',      hint:'Next: payment' });
if ((M.total || 0) > 0) {
st.push({ id:'pay',   title:'Payment details',                hint:'Next: anything else?' });
}
if (isAttending()) {
st.push({ id:'notes', title:'Anything else we should know?', hint:'Next: review' });
}
st.push({ id:'review', title:'Please check this over', hint:'' });
return st;
}
function renderModal() {
saveOpt();
var bg = $('hh26-bg');
if (!bg) {
bg = document.createElement('div');
bg.id = 'hh26-bg';
bg.className = 'hh-bg';
document.getElementById('hh26').appendChild(bg);
bg.addEventListener('click', function (e) { if (e.target === bg) closeModal(); });
}
M.total = liveTotal();
var steps = buildSteps();
if (M.step >= steps.length) M.step = steps.length - 1;
if (M.step < 0) M.step = 0;
var st   = steps[M.step];
var last = M.step >= steps.length - 1;
if (st.key) loadOpt(st.key);
else if (!M.opt) loadOpt(M.cart[0]);
var crumb = M.cart.map(function (k) { return CFG.OPTIONS[k].title; }).join(' + ');
var thumb = tileImg(M.cart[0]);
bg.innerHTML =
'<div class="hh-modal"><div class="hh-mwrap"><div class="hh-mhead">' +
(thumb ? '<img class="hh-mthumb" src="' + esc(thumb) + '" alt="">' : '') +
'<div class="hh-mheadtext">' +
'<div class="hh-mtitle' + (st.title.length > 17 ? ' hh-long' : '') + '">' +
esc(st.title) + '</div>' +
(steps.length > 1
? '<div class="hh-mstep">' + esc(crumb) + ' · Step ' +
(M.step + 1) + ' of ' + steps.length + '</div>'
: '') +
'</div>' +
'<div class="hh-htotal" id="hh26-htotalwrap" style="visibility:' +
((M.total || 0) > 0 ? 'visible' : 'hidden') + '">' +
'<span>Total</span><b id="hh26-htotal">$' +
(M.total || 0).toLocaleString() + '</b></div>' +
'</div><div class="hh-x" id="hh26-x">×</div></div>' +
'<div class="hh-mbody"><div class="hh-pane">' + paneHTML(st) + '</div></div>' +
'<div class="hh-mfoot">' +
(M.step > 0 ? '<span class="hh-back" id="hh26-back">Back</span>' : '') +
'<div class="hh-nextwrap"><span class="hh-next" id="hh26-next">' +
(M.opt && M.opt.kind === 'info'
? ((M.opt.cta && M.opt.cta.label) || 'Close')
: M.opt && M.opt.kind === 'scheduleview'
? 'Reserve for High Holiday Services'
: (last ? 'Complete Registration'
: (st.id === 'addmore' ? 'No thanks, continue' : 'Next'))) +
((last && (!M.opt || (M.opt.kind !== 'scheduleview' && M.opt.kind !== 'info'))) || st.id === 'addmore'
? '' : ' <span aria-hidden="true">→</span>') + '</span>' +
(last ? '' : '<span class="hh-nexthint">' + esc(st.hint) + '</span>') +
'</div>' +
'</div></div>';
$('hh26-x').addEventListener('click', closeModal);
if ($('hh26-back')) $('hh26-back').addEventListener('click', function () {
captureVals(); saveOpt(); M.step--; renderModal();
});
$('hh26-next').addEventListener('click', onNext);
wirePane(st);
restoreVals();
wireFieldChaining();
resetView();
}
function wireFieldChaining() {
var body = document.querySelector('#hh26 .hh-mbody');
if (!body) return;
function fields() {
return Array.prototype.filter.call(
body.querySelectorAll('input,select,textarea'),
function (el) {
return !el.disabled && el.type !== 'hidden' && el.offsetParent !== null;
});
}
function setHints() {
var f = fields();
f.forEach(function (el, i) {
if (el.tagName === 'TEXTAREA') return;
el.setAttribute('enterkeyhint', i === f.length - 1 ? 'done' : 'next');
});
}
setHints();
body.addEventListener('input', setHints);
body.addEventListener('input',  function (e) { if (e.target.id && M) M.vals[e.target.id] = e.target.value; });
body.addEventListener('change', function (e) { if (e.target.id && M) M.vals[e.target.id] = e.target.value; });
body.addEventListener('focusin', function (e) {
if (window.innerWidth > 520) return;
var el = e.target;
if (!el.classList || !el.classList.contains('hh-in')) return;
setTimeout(function () {
if (document.activeElement !== el) return;
if (el.scrollIntoView) el.scrollIntoView({ block:'center', behavior:'smooth' });
}, 300);
});
body.addEventListener('keydown', function (e) {
if (e.key !== 'Enter') return;
var el = e.target;
if (el.tagName === 'TEXTAREA') return;
e.preventDefault();
var f = fields(), i = f.indexOf(el);
if (i > -1 && i < f.length - 1) {
var nx = f[i + 1];
nx.focus();
if (nx.select) { try { nx.select(); } catch (err) {} }
} else {
var btn = $('hh26-next');
if (btn) btn.click();
}
});
}
function resetView() {
var el = document.activeElement;
if (el && el.blur && el !== document.body) el.blur();
requestAnimationFrame(function () {
requestAnimationFrame(function () {
var body = document.querySelector('#hh26 .hh-mbody');
var mark = (M && M.scrollTo) ? $(M.scrollTo) : null;
if (body && mark) {
body.scrollTop += mark.getBoundingClientRect().top -
body.getBoundingClientRect().top - 10;
} else if (body) {
body.scrollTop = 0;
}
if (M) M.scrollTo = null;
var root = document.getElementById('hh26');
if (root) root.scrollTop = 0;
if (window.scrollY) window.scrollTo(0, 0);
});
});
}
function liveTotal() {
var t = document.getElementById('total_amount');
if (t) {
var raw = (t.value !== undefined && t.value !== '') ? t.value : (t.innerText || '');
var n = parseFloat(String(raw).replace(/[^0-9.]/g, ''));
if (!isNaN(n)) return n;
}
return computedTotal();
}
function computedTotal() {
if (!M) return 0;
saveOpt();
var sum = 0;
(M.cart || []).forEach(function (k) {
var o = CFG.OPTIONS[k], d = M.d[k] || {};
if (!o || !o.tiers) return;
var t = tierOf(o, d.tier);
if (t) {
sum += (M.adults || 0) * t.adultPrice + (M.children || 0) * t.childPrice;
if (t.amount) sum += d.pwyc || 0;
}
sum += (d.spStudents || 0) * o.sponsorStudentPrice;
sum += (d.spTables   || 0) * o.sponsorTablePrice;
sum += d.spDinner || 0;
});
(M.cart || []).forEach(function (k) {
var o = CFG.OPTIONS[k], d = M.d[k] || {};
if (o && o.kind === 'lulav')  sum += (d.lqty || 0) * o.unitPrice;
if (o && o.kind === 'yizkor') sum += M.yzDon || 0;
});
return sum + (M.gift || 0) + (M.bfGift || 0);
}
function tierOf(o, key) {
if (!o || !o.tiers || !key) return null;
return o.tiers.filter(function (t) { return t.key === key; })[0] || null;
}
function dinnerPane() {
var o = M.opt;
var when = o.event.items.map(function (i) {
return '<div class="hh-crow"><span class="hh-ctime">' + esc(i.time) + '</span>' +
'<span class="hh-clab">' + esc(i.label) + '</span></div>';
}).join('');
var tiers = o.tiers.map(function (t) {
return '<div class="hh-tier' + (M.tier === t.key ? ' on' : '') + '" data-tier="' + t.key + '">' +
'<span class="hh-radio"></span><span><b>' + esc(t.label) + '</b>' +
'<span class="hh-note">' + esc(t.note) + '</span></span></div>';
}).join('');
var pw = (M.tier === 'pwyc')
? '<div class="hh-fld" style="margin-top:11px"><label>Your amount</label>' +
'<input class="hh-in" type="number" min="0" id="hh26-pwyc-' + esc(M.key) + '" value="' +
(M.pwyc || '') + '"></div>' : '';
return blurbHTML() + '<p class="hh-intro">' + esc(o.intro) +
'</p><div id="hh26-err"></div>' +
'<div class="hh-cday">' + esc(o.event.date) + '</div>' + when +
'<div class="hh-sub">Choose your price</div>' +
'<div class="hh-tiers">' + tiers + '</div>' + pw +
countsBlock(5) +
(o.students ? '<div class="hh-fld"><label>UCR & UOR students</label>' +
'<input class="hh-in" type="number" min="0" max="5" id="hh26-students" value="' + M.students + '">' +
'<p class="hh-hint" style="margin:6px 0 0">Students attend free at every price level.</p></div>' : '') +
(o.veg ? '<div class="hh-fld"><label>Vegetarian meals</label>' +
'<input class="hh-in" type="number" min="0" id="hh26-veg" value="' + M.veg + '">' +
'<p class="hh-hint" style="margin:6px 0 0">How many of the people above need a vegetarian meal?</p></div>' : '') +
'<div id="hh26-dtotal" style="display:none"></div>';
}
function dinnerGiftPane() {
var o = M.opt;
var chips = o.sponsorAmounts.map(function (a) {
return '<div class="hh-chip' + (M.spDinner === a ? ' on' : '') + '" data-amt="' + a + '">$' +
a.toLocaleString() + '</div>';
}).join('');
return '<div id="hh26-err"></div>' +
'<p class="hh-intro">Please consider making a donation to bring holiday joy ' +
'to people in-need and to ensure that everyone in our community can ' +
'participate in the celebrations.</p>' +
'<div class="hh-sub" style="margin-top:0">Sponsor the ' +
esc(o.title === 'Sukkot Community BBQ' ? 'BBQ' : 'dinner') + '</div>' +
'<div class="hh-chips">' + chips +
'<div class="hh-chip' + (M.spDinner && o.sponsorAmounts.indexOf(M.spDinner) < 0 ? ' on' : '') +
'" data-amt="other">Other</div></div>' +
'<div class="hh-fld" id="hh26-otherwrap-' + esc(M.key) +
'" style="margin-top:11px;display:' +
(M.spDinner && o.sponsorAmounts.indexOf(M.spDinner) < 0 ? 'block' : 'none') + '">' +
'<label>Amount</label><input class="hh-in" type="number" min="1" id="hh26-otheramt-' +
esc(M.key) + '" value="' +
(M.spDinner && o.sponsorAmounts.indexOf(M.spDinner) < 0 ? M.spDinner : '') + '"></div>' +
(o.sponsorStudents ? '<div class="hh-two hh-align" style="margin-top:16px">' +
'<div class="hh-fld"><label>Sponsor students — $30 each</label>' +
'<input class="hh-in" type="number" min="0" id="hh26-spstudents" value="' + (M.spStudents || '') + '"></div>' +
'<div class="hh-fld"><label>Sponsor a table — $125</label>' +
'<input class="hh-in" type="number" min="0" id="hh26-sptables" value="' + (M.spTables || '') + '"></div>' +
'</div>' : '') +
'<div class="hh-sub">Dedication</div>' +
'<p class="hh-hint">Optional \u2014 leave blank to skip.</p>' +
'<div class="hh-fld"><label>Dedicate this</label>' +
'<select class="hh-in" id="hh26-dedtype"><option value="">No dedication</option>' +
'<option value="honor">In honor of</option><option value="memory">In memory of</option></select></div>' +
'<div class="hh-fld"><label>Name or names</label><input class="hh-in" id="hh26-dednames"></div>' +
'<div id="hh26-dtotal" style="display:none"></div>';
}
function syncDinner() {
var o = M.opt;
o.tiers.forEach(function (t) {
var on = (t.key === M.tier);
if (t.adults)   setNative(t.adults,   on ? M.adults   : 0);
if (t.children) setNative(t.children, on ? M.children : 0);
if (t.amount)   setNative(t.amount, (on && M.pwyc) ? M.pwyc : 0);
});
if (o.students) setNative(o.students, M.students);
if (o.veg)      setNative(o.veg, M.veg);
if (o.sponsorStudents) setNative(o.sponsorStudents, M.spStudents || 0);
if (o.sponsorTable)    setNative(o.sponsorTable,    M.spTables   || 0);
var i = o.sponsorAmounts.indexOf(M.spDinner);
if (M.spDinner > 0 && o.sponsorRadios.length) {
if (i > -1) setChecked(o.sponsorRadios[i], true);
else if (o.sponsorOther) { setChecked(o.sponsorOther, true);
setNative(o.sponsorOtherAmt, M.spDinner); }
}
refreshTotal();
}
function wireDinner() {
var body = document.querySelector('#hh26 .hh-mbody');
var tiers = document.querySelector('#hh26 .hh-tiers');
if (tiers) tiers.addEventListener('click', function (e) {
var t = e.target.closest && e.target.closest('.hh-tier');
if (!t) return;
M.tier = t.getAttribute('data-tier');
M.scrollTo = 'hh26-counts';
renderModal();
});
body.addEventListener('input', function (e) {
var id = e.target.id, v = e.target.value;
if (id === 'hh26-adults')      M.adults   = clamp(v, 0, 5);
else if (id === 'hh26-children') M.children = clamp(v, 0, 5);
else if (id === 'hh26-students') M.students = clamp(v, 0, 5);
else if (id === 'hh26-veg')      M.veg      = clamp(v, 0, 15);
else if (id === 'hh26-pwyc-' + M.key) M.pwyc = parseInt(v, 10) || 0;
else if (id === 'hh26-spstudents') M.spStudents = parseInt(v, 10) || 0;
else if (id === 'hh26-sptables')   M.spTables   = parseInt(v, 10) || 0;
else if (id === 'hh26-otheramt-' + M.key) { M.spDinner = parseInt(v, 10) || 0; return; }
else return;
var cap = M.adults + M.children + M.students;
if (M.veg > cap) { M.veg = cap; if ($('hh26-veg')) $('hh26-veg').value = cap; }
syncDinner();
});
body.addEventListener('change', function (e) {
if (e.target.id === 'hh26-otheramt-' + M.key) syncDinner();
});
var chips = document.querySelector('#hh26 .hh-chips');
if (chips) chips.addEventListener('click', function (e) {
var c = e.target.closest && e.target.closest('.hh-chip');
if (!c) return;
document.querySelectorAll('#hh26 .hh-chip').forEach(function (x) { x.className = 'hh-chip'; });
c.className = 'hh-chip on';
var amt = c.getAttribute('data-amt');
if (amt === 'other') {
$('hh26-otherwrap-' + M.key).style.display = 'block';
M.spDinner = parseInt($('hh26-otheramt-' + M.key).value, 10) || 0;
} else {
$('hh26-otherwrap-' + M.key).style.display = 'none';
M.spDinner = parseInt(amt, 10);
}
syncDinner();
});
syncDinner();
}
function commitDinner() {
var o = M.opt, t = tierOf(o, M.tier), lines = [];
lines.push('Pricing: ' + (t ? t.label : ''));
if (M.adults)   lines.push('Adults: ' + M.adults);
if (M.children) lines.push('Children: ' + M.children);
if (M.students) lines.push('UCR/UOR students: ' + M.students + ' (free)');
if (M.veg)      lines.push('Vegetarian meals: ' + M.veg);
if (o.summary) setNative(o.summary, lines.join('\n'));
setDrivers();
}
function commitDinnerGift() {
var o = M.opt, t = tierOf(o, M.tier);
var dinner = t ? (M.adults * t.adultPrice + M.children * t.childPrice) : 0;
if (t && t.amount) dinner += M.pwyc || 0;
var sponsor = (M.spStudents || 0) * o.sponsorStudentPrice +
(M.spTables   || 0) * o.sponsorTablePrice + (M.spDinner || 0);
if (o.dinnerSub)  setNative(o.dinnerSub,  '$' + dinner.toLocaleString());
if (o.sponsorSub) setNative(o.sponsorSub, '$' + sponsor.toLocaleString());
var d = val('hh26-dedtype');
if (d === 'honor')  setChecked(CFG.F.dedInHonor, true);
if (d === 'memory') setChecked(CFG.F.dedInMemory, true);
setNative(CFG.F.dedNames, val('hh26-dednames'));
M.total = liveTotal();
}
function paneHTML(st) {
var id = st.id;
if (id === 'opt') {
if (M.opt.kind === 'scheduleview') return schedulePaneView();
if (M.opt.kind === 'dinner') return dinnerPane();
if (M.opt.kind === 'lulav')    return lulavPane();
if (M.opt.kind === 'schedule') return fullSchedulePane();
if (M.opt.kind === 'info')     return infoPane();
if (M.opt.kind === 'yizkor')   return yizkorPane();
return schedulePane();
}
if (id === 'dinnergift') return dinnerGiftPane();
if (id === 'addmore')    return addMorePane();
if (id === 'who')        return whoPane();
if (id === 'support')    return supportPane();
if (id === 'gift')       return giftPane();
if (id === 'pay')        return payPane();
if (id === 'review')     return reviewPane();
return notesPane();
}
function addMorePane() {
var cards = remaining().map(function (k) {
var o = CFG.OPTIONS[k];
var when = o.event ? o.event.date
: (o.infoEvent ? o.infoEvent.date
: (o.singleEvent ? o.singleEvent.date : ''));
return '<div class="hh-add" data-add="' + esc(k) + '">' +
'<span><b>' + esc(o.title) + '</b>' +
(when ? '<span class="hh-note">' + esc(when) + '</span>' : '') + '</span>' +
'<span class="hh-addplus" aria-hidden="true">+</span>' +
'</div>';
}).join('');
return '<div id="hh26-err"></div>' +
'<p class="hh-intro">You\u2019re signed up for ' +
esc(M.cart.map(function (k) { return CFG.OPTIONS[k].title; }).join(' and ')) +
'. Add anything else while you\u2019re here \u2014 it all goes on one registration.</p>' +
'<div class="hh-adds">' + cards + '</div>';
}
function schedulePaneView() {
var o = M.opt;
var h = '<p class="hh-intro">' + esc(o.intro) + '</p>';
o.days.forEach(function (d) {
h += '<div class="hh-day"><div class="hh-dayname">' + esc(d.sub) + '</div>' +
'<div class="hh-daydate">' + esc(d.date) + '</div></div>';
d.items.forEach(function (i) {
h += '<div class="hh-crow"><span class="hh-ctime">' + esc(i.time) + '</span>' +
'<span class="hh-clab">' + esc(i.label) +
(i.note ? '<span class="hh-note">' + esc(i.note) + '</span>' : '') +
'</span></div>';
});
});
return h;
}
function mins(t) {
var m = /(\d{1,2}):(\d{2})\s*(AM|PM)/i.exec(t || '');
if (!m) return 0;
var h = parseInt(m[1], 10) % 12;
if (/PM/i.test(m[3])) h += 12;
return h * 60 + parseInt(m[2], 10);
}
function fullSchedulePane() {
var svc = CFG.OPTIONS['holiday-services'];
var din = CFG.OPTIONS['rh-dinner'];
var T   = CFG.TIMES || {};
var h = '<p class="hh-intro">' + esc(M.opt.intro) + '</p><div id="hh26-err"></div>';
function row(time, label, note) {
return '<div class="hh-crow"><span class="hh-ctime">' + esc(time) + '</span>' +
'<span class="hh-clab">' + esc(label) +
(note ? '<span class="hh-note">' + esc(note) + '</span>' : '') +
'</span></div>';
}
function head(name, date) {
return '<div class="hh-day"><div class="hh-dayname">' + esc(name) + '</div>' +
'<div class="hh-daydate">' + esc(date) + '</div></div>';
}
function candles(t, label) {
return t ? '<div class="hh-crow"><span class="hh-ctime">' + esc(t) + '</span>' +
'<span class="hh-clab hh-cand">' + label + '</span></div>' : '';
}
var eve = din.event.items.map(function (i) {
return { time:i.time, label:esc(i.label), cand:false };
});
if (T.rhEve) eve.push({ time:T.rhEve,
label:'Light Shabbat & holiday candles', cand:true });
eve.sort(function (a, b) { return mins(a.time) - mins(b.time); });
h += head('Rosh Hashanah Eve', din.event.date) +
eve.map(function (i) {
return '<div class="hh-crow"><span class="hh-ctime">' + esc(i.time) + '</span>' +
'<span class="hh-clab' + (i.cand ? ' hh-cand' : '') + '">' +
i.label + '</span></div>';
}).join('');
svc.schedule.forEach(function (d, di) {
h += head(d.day, d.date);
if (d.day.indexOf('Yom Kippur Eve') > -1) h += candles(T.ykEve, 'Light holiday candles \u00b7 the fast begins');
d.items.forEach(function (it) { h += row(it.time, it.label, it.note); });
if (di === 0) h += candles(T.rhDay1Eve, 'Light holiday candles after this time, from a pre-existing flame');
if (di === 1) h += candles(T.rhEnds, 'Rosh Hashanah ends');
});
(CFG.SUKKOT_SCHEDULE || []).forEach(function (d) {
h += head(d.day, d.date);
d.items.forEach(function (it) {
h += '<div class="hh-crow"><span class="hh-ctime">' + esc(it.time) + '</span>' +
'<span class="hh-clab' + (it.cand ? ' hh-cand' : '') + '">' + it.label +
(it.note ? '<span class="hh-note">' + esc(it.note) + '</span>' : '') +
'</span></div>';
});
});
return h;
}
function yizkorPane() {
var o = M.opt, h = blurbHTML();
h += '<p class="hh-intro">' + esc(o.intro) + '</p><div id="hh26-err"></div>';
if (o.deadline) {
h += '<p class="hh-deadline">' + esc(o.deadline) + '</p>';
}
h += '<p class="hh-hint" style="margin:0 0 4px">Apart from the name itself, ' +
'every field below is optional \u2014 share whatever you know.</p>';
var shown = M.yzShown || 1;
for (var i = 0; i < shown; i++) {
h += '<div class="hh-sub">' + (i === 0 ? 'Name to be remembered'
: 'Additional name ' + (i + 1)) + '</div>' +
'<div class="hh-two">' +
'<div class="hh-fld"><label>First name</label>' +
'<input class="hh-in" id="hh26-yf' + i + '"></div>' +
'<div class="hh-fld"><label>Last name</label>' +
'<input class="hh-in" id="hh26-yl' + i + '"></div>' +
'</div>' +
'<div class="hh-fld"><label>Hebrew name</label>' +
'<input class="hh-in" id="hh26-yh' + i + '"></div>' +
'<div class="hh-two">' +
'<div class="hh-fld"><label>Father\u2019s Hebrew name</label>' +
'<input class="hh-in" id="hh26-yfa' + i + '"></div>' +
'<div class="hh-fld"><label>Mother\u2019s Hebrew name</label>' +
'<input class="hh-in" id="hh26-ymo' + i + '"></div>' +
'</div>' +
'<div class="hh-fld"><label>Date of passing</label>' +
'<input class="hh-in" type="date" id="hh26-yd' + i + '">' +
'<p class="hh-hint" style="margin:6px 0 0">Optional.</p></div>';
}
if (shown < o.maxNames) {
h += '<div class="hh-add" id="hh26-yadd"><span><b>Add another name</b>' +
'<span class="hh-note">Up to ' + o.maxNames + ' names on this form</span></span>' +
'<span class="hh-addplus" aria-hidden="true">+</span></div>';
} else {
h += '<p class="hh-hint" style="margin-top:12px">That\u2019s ' + o.maxNames +
' names \u2014 the most this form holds. To remember more, please ' +
'complete the form again once you\u2019ve finished.</p>';
}
h += '<div class="hh-sub">Charity in their memory</div>' +
'<p class="hh-hint">It is customary to give tzedakah in conjunction with Yizkor. ' +
'Optional.</p>' +
'<div class="hh-fld"><label>Amount</label>' +
'<input class="hh-in" type="number" min="0" id="hh26-ydon" value="' +
(M.yzDon || '') + '"></div>';
return h;
}
function wireYizkor() {
var add = $('hh26-yadd');
if (add) add.addEventListener('click', function () {
captureVals();
M.yzShown = (M.yzShown || 1) + 1;
M.scrollTo = 'hh26-yadd';
renderModal();
});
var don = $('hh26-ydon');
if (don) don.addEventListener('input', function () {
M.yzDon = parseInt(this.value, 10) || 0;
});
}
function setDateParts(stem, iso) {
if (!iso) return;
var p = iso.split('-');
if (p.length !== 3) return;
setSelect(stem + '_month', String(parseInt(p[1], 10)));
setSelect(stem + '_day',   String(parseInt(p[2], 10)));
setSelect(stem + '_year',  p[0]);
setNative(stem + '_month', String(parseInt(p[1], 10)));
setNative(stem + '_day',   String(parseInt(p[2], 10)));
setNative(stem + '_year',  p[0]);
}
function commitYizkor() {
var o = M.opt, lines = [];
o.nameFields.forEach(function (f, i) {
var en = val('hh26-yf' + i), ln = val('hh26-yl' + i);
setNative(f.en, en);  setNative(f.enLast, ln);
setNative(f.heb, val('hh26-yh' + i));
setNative(f.father, val('hh26-yfa' + i));
setNative(f.mother, val('hh26-ymo' + i));
setDateParts(f.date, val('hh26-yd' + i));
if (!en && !ln) return;
var line = (en + ' ' + ln).trim();
var heb = val('hh26-yh' + i);
if (heb) line += ' \u2014 ' + heb;
var fa = val('hh26-yfa' + i), mo = val('hh26-ymo' + i);
var par = [fa, mo].filter(Boolean).join(' and ');
if (par) line += ', child of ' + par;
var d = val('hh26-yd' + i);
if (d) line += ' (' + d + ')';
lines.push('\u2022 ' + line);
});
setNative(o.summary, lines.join('\n'));
if (o.donation) setNative(o.donation, M.yzDon || 0);
setDrivers();
}
function infoPane() {
var o = M.opt;
var h = '<p class="hh-intro">' + esc(o.intro) + '</p><div id="hh26-err"></div>';
(o.body || []).forEach(function (para) {
h += '<p class="hh-bpara">' + esc(para) + '</p>';
});
(o.links || []).forEach(function (l) {
h += '<div class="hh-add"><a href="' + esc(l.url) + '" target="_blank" ' +
'rel="noopener" style="text-decoration:none;color:inherit;flex:1">' +
'<b>' + esc(l.label) + '</b></a>' +
'<span class="hh-addplus" aria-hidden="true">→</span></div>';
});
return h;
}
function lulavPane() {
var o = M.opt;
var picks = o.pickupLabels.map(function (lab, i) {
return '<div class="hh-tier' + (M.pickup === i ? ' on' : '') + '" data-pick="' + i + '">' +
'<span class="hh-radio"></span><span><b>' + esc(lab) + '</b></span></div>';
}).join('');
return blurbHTML() + '<p class="hh-intro">' + esc(o.intro) + '</p>' +
'<div id="hh26-err"></div>' +
'<div class="hh-fld"><label>How many sets?</label>' +
'<input class="hh-in" type="number" min="0" max="20" id="hh26-lqty" value="' +
(M.lqty || 1) + '">' +
'<p class="hh-hint" style="margin:6px 0 0">$54 per set.</p></div>' +
'<div class="hh-sub">When will you pick up?</div>' +
'<div class="hh-tiers">' + picks + '</div>' +
'<div id="hh26-dtotal" style="display:none"></div>';
}
function syncLulav() {
setNative(M.opt.qtyField, M.lqty || 0);
if (M.pickup !== null && M.pickup !== undefined) {
setChecked(M.opt.pickupRadios[M.pickup], true);
}
refreshTotal();
}
function wireLulav() {
var body = document.querySelector('#hh26 .hh-mbody');
var tiers = document.querySelector('#hh26 .hh-tiers');
if (tiers) tiers.addEventListener('click', function (e) {
var t = e.target.closest && e.target.closest('.hh-tier');
if (!t) return;
tiers.querySelectorAll('.hh-tier').forEach(function (x) { x.className = 'hh-tier'; });
t.className = 'hh-tier on';
M.pickup = parseInt(t.getAttribute('data-pick'), 10);
syncLulav();
});
body.addEventListener('input', function (e) {
if (e.target.id !== 'hh26-lqty') return;
M.lqty = clamp(e.target.value, 0, 20);
setNative(M.opt.qtyField, M.lqty);
refreshTotal();
});
syncLulav();
}
function sponsorBlock(grp, heading, amounts, current) {
var chips = amounts.map(function (a) {
return '<div class="hh-chip' + (current === a ? ' on' : '') + '" data-amt="' + a + '">$' +
a.toLocaleString() + '</div>';
}).join('');
var isOther = current && amounts.indexOf(current) < 0;
return '<div class="hh-sub">' + esc(heading) + '</div>' +
'<div class="hh-chips" data-grp="' + grp + '">' + chips +
'<div class="hh-chip' + (isOther ? ' on' : '') + '" data-amt="other">Other</div>' +
'</div>' +
'<div class="hh-fld" id="hh26-otherwrap-' + grp + '" style="margin-top:11px;display:' +
(isOther ? 'block' : 'none') + '"><label>Amount</label>' +
'<input class="hh-in" type="number" min="1" id="hh26-otheramt-' + grp + '" value="' +
(isOther ? current : '') + '"></div>';
}
function supportPane() {
var h = '<div id="hh26-err"></div>' +
'<p class="hh-intro">All Services are free of charge. Your generous ' +
'donation is greatly appreciated!\nPlease also consider donating to assist ' +
'others in our community to celebrate the holidays.</p>' +
sponsorBlock('gen', 'High Holiday sponsorship', CFG.GIFTS, M.gift);
if (inCart('break-fast')) {
h += sponsorBlock('bf', 'Break Fast sponsorship',
CFG.OPTIONS['break-fast'].giftAmounts, M.bfGift);
}
h += '<div class="hh-sub">Dedication</div>' +
'<p class="hh-hint">Optional \u2014 leave blank to skip.</p>' +
'<div class="hh-fld"><label>Dedicate this</label>' +
'<select class="hh-in" id="hh26-dedtype"><option value="">No dedication</option>' +
'<option value="honor">In honor of</option><option value="memory">In memory of</option></select></div>' +
'<div class="hh-fld"><label>Name or names</label><input class="hh-in" id="hh26-dednames"></div>' +
'<div id="hh26-dtotal" style="display:none"></div>';
return h;
}
function schedulePane() {
var h = blurbHTML() + '<p class="hh-intro">' + esc(M.opt.intro) +
'</p><div id="hh26-err"></div>';
if (!M.opt.infoEvent && !M.opt.singleEvent) h += countsBlock(5);
if (M.opt.infoEvent) {
var ie = M.opt.infoEvent;
h += '<div class="hh-cday">' + esc(ie.date) + '</div>' +
ie.items.map(function (i) {
return '<div class="hh-crow"><span class="hh-ctime">' + esc(i.time) + '</span>' +
'<span class="hh-clab">' + esc(i.label) +
(i.note ? '<span class="hh-note">' + esc(i.note) + '</span>' : '') +
'</span></div>';
}).join('') +
countsBlock(9);
return h;
}
if (M.opt.singleEvent) {
var ev = M.opt.singleEvent;
h += '<div class="hh-day"><div class="hh-dayname">' + esc(ev.day) + '</div>' +
'<div class="hh-daydate">' + esc(ev.date) + '</div></div>' +
'<div class="hh-crow"><span class="hh-ctime">' + esc(ev.time) + '</span>' +
'<span class="hh-clab">' + esc(ev.label) + '</span></div>' +
countsBlock(5);
return h;
}
M.opt.schedule.forEach(function (d, di) {
h += '<div class="hh-day"><div class="hh-dayname">' + esc(d.day) + '</div>' +
'<div class="hh-daydate">' + esc(d.date) + '</div></div>';
d.items.forEach(function (it, ii) {
var k  = di + '-' + ii;
var on = M.picks[k] ? ' on' : '';
var missing = (!it.info && !it.native)
? '<span class="hh-nofield">No form field yet — won\u2019t be recorded</span>' : '';
h += '<div class="hh-row' + (it.info ? ' info' : on) + '" data-k="' + k + '"' +
(it.info ? '' : ' role="checkbox" tabindex="0" aria-checked="' + (!!M.picks[k]) + '"') + '>' +
'<span class="hh-box"></span>' +
'<span class="hh-time">' + esc(it.time) + '</span>' +
'<span class="hh-lab">' + esc(it.label) +
(it.note ? '<span class="hh-note">' + esc(it.note) + '</span>' : '') +
missing +
'</span></div>';
});
});
return h;
}
function nameRows(n, prefix, labelWord) {
var h = '', i, fid, lid;
for (i = 0; i < n; i++) {
fid = 'hh26-' + prefix + 'f' + i;
lid = 'hh26-' + prefix + 'l' + i;
h += '<div class="hh-two">' +
'<input class="hh-in hh-nm" id="' + fid + '" placeholder="' +
labelWord + ' First Name" value="' + esc(M.names[fid] || '') + '">' +
'<input class="hh-in hh-nm" id="' + lid + '" placeholder="Last Name" value="' +
esc(M.names[lid] || '') + '">' +
'</div>';
if (i < n - 1) h += '<div style="height:8px"></div>';
}
return h;
}
function whoPane() {
if (!isAttending()) {
return '<div id="hh26-err"></div>' +
'<div class="hh-two">' +
'<div class="hh-fld"><label>First name</label>' +
'<input class="hh-in hh-nm" id="hh26-af0"></div>' +
'<div class="hh-fld"><label>Last name</label>' +
'<input class="hh-in hh-nm" id="hh26-al0"></div>' +
'</div>' +
'<div class="hh-fld"><label>Email</label>' +
'<input class="hh-in" type="email" id="hh26-email"></div>' +
'<div class="hh-fld"><label>Phone</label>' +
'<input class="hh-in" type="tel" id="hh26-phone"></div>';
}
return '<div id="hh26-err"></div>' +
'<div class="hh-sub" style="margin-top:0">Names</div>' +
'<p class="hh-hint">Everyone attending, so we can greet them properly.</p>' +
'<div id="hh26-names"></div>' +
'<div class="hh-sub">How we reach you</div>' +
'<div class="hh-fld"><label>Email</label><input class="hh-in" type="email" id="hh26-email"></div>' +
'<div class="hh-fld"><label>Phone</label><input class="hh-in" type="tel" id="hh26-phone"></div>';
}
function giftAmounts()   { return M.opt.giftAmounts   || CFG.GIFTS; }
function giftRadios()    { return M.opt.giftRadios    || CFG.F.sponsorRadios; }
function giftOtherRadio(){ return M.opt.giftOther     || CFG.F.sponsorOther; }
function giftOtherAmt()  { return M.opt.giftOtherAmt  || CFG.F.sponsorAmt; }
function giftPane() {
var chips = giftAmounts().map(function (a) {
return '<div class="hh-chip' + (M.gift === a ? ' on' : '') + '" data-amt="' + a + '">$' +
a.toLocaleString() + '</div>';
}).join('');
return '<div id="hh26-err"></div>' +
'<p class="hh-intro">' + esc(M.opt.intro) + '</p>' +
'<div class="hh-chips">' + chips +
'<div class="hh-chip' + (M.gift && giftAmounts().indexOf(M.gift) < 0 ? ' on' : '') +
'" data-amt="other">Other</div></div>' +
'<div class="hh-fld" id="hh26-otherwrap-gift" style="margin-top:11px;display:' +
(M.gift && giftAmounts().indexOf(M.gift) < 0 ? 'block' : 'none') + '">' +
'<label>Amount</label><input class="hh-in" type="number" min="1" id="hh26-otheramt-gift" value="' +
(M.gift && giftAmounts().indexOf(M.gift) < 0 ? M.gift : '') + '"></div>' +
'<div class="hh-sub">Dedication</div>' +
'<p class="hh-hint">Optional \u2014 leave blank to skip.</p>' +
'<div class="hh-fld"><label>Dedicate this gift</label>' +
'<select class="hh-in" id="hh26-dedtype"><option value="">No dedication</option>' +
'<option value="honor">In honor of</option><option value="memory">In memory of</option></select></div>' +
'<div class="hh-fld"><label>Name or names</label><input class="hh-in" id="hh26-dednames"></div>' +
'<div id="hh26-gtotal" style="display:none"></div>';
}
function payPane() {
var mo = '', yr = '', i;
for (i = 1; i <= 12; i++) mo += '<option value="' + i + '">' + i + '</option>';
for (i = 2026; i <= 2035; i++) yr += '<option value="' + i + '">' + i + '</option>';
var contact = !M.opt.donationOnly ? '' :
'<div class="hh-sub" style="margin-top:0">Your details</div>' +
'<div class="hh-two">' +
'<div class="hh-fld"><label>First name</label><input class="hh-in" id="hh26-cfirst"></div>' +
'<div class="hh-fld"><label>Last name</label><input class="hh-in" id="hh26-clast"></div>' +
'</div>' +
'<div class="hh-fld"><label>Email</label><input class="hh-in" type="email" id="hh26-cemail"></div>' +
'<div class="hh-fld"><label>Phone</label><input class="hh-in" type="tel" id="hh26-cphone"></div>' +
'<div class="hh-sub">Payment</div>';
return '<div id="hh26-err"></div>' + contact +
'<div class="hh-fld"><label>Name on card</label><input class="hh-in" id="hh26-ccname"></div>' +
'<div class="hh-fld"><label>Card number</label><input class="hh-in" inputmode="numeric" id="hh26-ccnum"></div>' +
'<div class="hh-two">' +
'<div class="hh-fld"><label>Expires</label><div class="hh-two">' +
'<select class="hh-in" id="hh26-ccmon">' + mo + '</select>' +
'<select class="hh-in" id="hh26-ccyear">' + yr + '</select></div></div>' +
'<div class="hh-fld"><label>Security code</label><input class="hh-in" inputmode="numeric" id="hh26-cccvv"></div>' +
'</div>' +
'<div class="hh-sub">Billing address</div>' +
'<div class="hh-fld"><label>Street</label><input class="hh-in" id="hh26-baddr"></div>' +
'<div class="hh-two">' +
'<div class="hh-fld"><label>City</label><input class="hh-in" id="hh26-bcity"></div>' +
'<div class="hh-fld"><label>State</label><input class="hh-in" id="hh26-bstate"></div>' +
'</div>' +
'<div class="hh-fld"><label>ZIP</label><input class="hh-in" id="hh26-bzip"></div>';
}
function reviewPane() {
saveOpt();
var savedKey = M.key, h = '<div id="hh26-err"></div>';
M.cart.forEach(function (k) {
loadOpt(k);
var o = M.opt, d = M.d[k] || {};
h += '<div class="hh-rsec"><div class="hh-rhead">' + esc(o.title) + '</div>';
if (o.kind === 'lulav') {
h += rline('Sets ordered', (d.lqty || 0) +
((d.lqty === 1) ? ' set' : ' sets') + ' \u00d7 $' + o.unitPrice);
h += rline('Pickup', o.pickupLabels[d.pickup] || '\u2014');
} else if (o.kind === 'yizkor') {
var rows = [];
o.nameFields.forEach(function (f, i) {
var fn = M.vals['hh26-yf' + i] || '', ln = M.vals['hh26-yl' + i] || '';
if (!fn && !ln) return;
var line = esc((fn + ' ' + ln).trim());
var hb = M.vals['hh26-yh' + i] || '';
if (hb) line += ' \u2014 ' + esc(hb);
var fa = M.vals['hh26-yfa' + i] || '', mo = M.vals['hh26-ymo' + i] || '';
var par = [fa, mo].filter(Boolean).map(esc).join(' and ');
if (par) line += ', child of ' + par;
rows.push(line);
});
h += rline(rows.length > 1 ? 'Names for the booklet' : 'Name for the booklet',
rows.join('<br>') || '\u2014');
if (M.yzDon) h += rline('Charity in their memory', '$' + M.yzDon.toLocaleString());
} else if (o.kind === 'dinner') {
var t = tierOf(o, d.tier);
h += rline('When', o.event.date);
if (t) {
if (t.amount) {
h += rline('Pricing', t.label + ' \u2014 $' + (d.pwyc || 0).toLocaleString());
} else {
var meal = (M.adults || 0) * t.adultPrice + (M.children || 0) * t.childPrice;
h += rline('Pricing', t.label + ' \u2014 $' + meal.toLocaleString());
}
}
var ex = extrasLine(d);
if (ex) h += rline('Including', ex);
if (d.spDinner)   h += rline('Sponsorship', '$' + d.spDinner);
if (d.spStudents) h += rline('Sponsor students', d.spStudents + ' \u00d7 $' + o.sponsorStudentPrice);
if (d.spTables)   h += rline('Sponsor a table', d.spTables + ' \u00d7 $' + o.sponsorTablePrice);
} else if (o.schedule) {
var picked = [];
o.schedule.forEach(function (day, di) {
day.items.forEach(function (it, ii) {
if (!it.info && d.picks && d.picks[di + '-' + ii]) {
picked.push(it.time + ' \u2014 ' + it.label + ' (' + day.date + ')');
}
});
});
h += rline('You\u2019re joining', picked.join('<br>') || '\u2014');
} else if (o.singleEvent) {
h += rline('When', o.singleEvent.date + ' \u00b7 ' + o.singleEvent.time);
} else if (o.infoEvent) {
h += rline('When', o.infoEvent.date);
}
h += '</div>';
});
if (savedKey) loadOpt(savedKey);
if (M.gift)   h += '<div class="hh-rsec"><div class="hh-rhead">High Holiday sponsorship</div>' +
rline('Amount', '$' + M.gift.toLocaleString()) + '</div>';
if (M.bfGift) h += '<div class="hh-rsec"><div class="hh-rhead">Break Fast sponsorship</div>' +
rline('Amount', '$' + M.bfGift.toLocaleString()) + '</div>';
var who = [val('hh26-af0'), val('hh26-al0')].filter(Boolean).join(' ') ||
(M.names['hh26-af0'] || '') + ' ' + (M.names['hh26-al0'] || '');
var head = [];
if (M.adults)   head.push(M.adults + (M.adults === 1 ? ' adult' : ' adults'));
if (M.children) head.push(M.children + (M.children === 1 ? ' child' : ' children'));
h += '<div class="hh-rsec"><div class="hh-rhead">Your details</div>' +
(isAttending() && head.length ? rline('Attending', head.join(' \u00b7 ')) : '') +
rline('Name', who.trim() || '\u2014') +
rline('Email', M.vals['hh26-email'] || val('hh26-email') || '\u2014') +
rline('Phone', M.vals['hh26-phone'] || val('hh26-phone') || '\u2014') + '</div>';
if ((M.total || 0) > 0) {
h += '<p class="hh-hint" style="margin-top:14px">Your card will be charged ' +
'$' + (M.total || 0).toLocaleString() + ' when you complete your ' +
'registration.</p>';
}
return h;
}
function rline(k, v) {
return '<div class="hh-rrow"><span class="hh-rk">' + k + '</span>' +
'<span class="hh-rv">' + v + '</span></div>';
}
function extrasLine(d) {
var a = [];
if (d.students) a.push(d.students + ' student' + (d.students === 1 ? '' : 's'));
if (d.veg)      a.push(d.veg + ' vegetarian meal' + (d.veg === 1 ? '' : 's'));
return a.join(' \u00b7 ');
}
function peopleLine(d) {
var a = [];
if (M.adults)   a.push(M.adults + (M.adults === 1 ? ' adult' : ' adults'));
if (M.children) a.push(M.children + (M.children === 1 ? ' child' : ' children'));
if (d.students) a.push(d.students + ' student' + (d.students === 1 ? '' : 's'));
if (d.veg)      a.push(d.veg + ' vegetarian');
return a.join(' \u00b7 ') || '\u2014';
}
function notesPane() {
var open = '<text' + 'area class="hh-in" id="hh26-notes" placeholder="Optional">';
var shut = '</text' + 'area>';
return '<div id="hh26-err"></div>' +
'<p class="hh-intro">Accessibility needs, dietary questions, or anything ' +
'you\u2019d like us to know before the holidays.</p>' +
'<div class="hh-fld"><label>Notes</label>' + open + shut + '</div>';
}
function wirePane(st) {
var id = st.id, body = document.querySelector('#hh26 .hh-mbody');
wireBlurb();
if (id === 'addmore') {
body.addEventListener('click', function (e) {
var c = e.target.closest && e.target.closest('.hh-add');
if (!c) return;
captureVals(); saveOpt();
var k = c.getAttribute('data-add');
M.cart.push(k);
var steps = buildSteps();
for (var i = 0; i < steps.length; i++) {
if (steps[i].id === 'opt' && steps[i].key === k) { M.step = i; break; }
}
renderModal();
});
return;
}
if (id === 'support') {
body.addEventListener('click', function (e) {
var c = e.target.closest && e.target.closest('.hh-chip');
if (!c) return;
var wrap = c.parentNode, grp = wrap.getAttribute('data-grp');
wrap.querySelectorAll('.hh-chip').forEach(function (x) { x.className = 'hh-chip'; });
c.className = 'hh-chip on';
var amt = c.getAttribute('data-amt');
var box = $('hh26-otherwrap-' + grp);
var val_ = 0;
if (amt === 'other') {
box.style.display = 'block';
val_ = parseInt($('hh26-otheramt-' + grp).value, 10) || 0;
} else {
box.style.display = 'none';
val_ = parseInt(amt, 10);
}
if (grp === 'gen') M.gift = val_; else M.bfGift = val_;
commitSupport();
refreshTotal();
});
body.addEventListener('input', function (e) {
if (e.target.id === 'hh26-otheramt-gen') M.gift   = parseInt(e.target.value, 10) || 0;
else if (e.target.id === 'hh26-otheramt-bf') M.bfGift = parseInt(e.target.value, 10) || 0;
else return;
});
body.addEventListener('change', function (e) {
if (e.target.id !== 'hh26-otheramt-gen' && e.target.id !== 'hh26-otheramt-bf') return;
commitSupport();
refreshTotal();
});
return;
}
if (id === 'gift') {
var gchips = document.querySelector('#hh26 .hh-chips');
var paint  = function () {
var g = $('hh26-gtotal');
if (g) g.textContent = '$' + (M.gift || 0).toLocaleString();
};
if (gchips) gchips.addEventListener('click', function (e) {
var c = e.target.closest && e.target.closest('.hh-chip');
if (!c) return;
gchips.querySelectorAll('.hh-chip').forEach(function (x) { x.className = 'hh-chip'; });
c.className = 'hh-chip on';
var amt = c.getAttribute('data-amt');
if (amt === 'other') {
$('hh26-otherwrap-gift').style.display = 'block';
M.gift = parseInt($('hh26-otheramt-gift').value, 10) || 0;
} else {
$('hh26-otherwrap-gift').style.display = 'none';
M.gift = parseInt(amt, 10) || 0;
}
paint();
});
var oamt = $('hh26-otheramt-gift');
if (oamt) {
oamt.addEventListener('input', function () {
M.gift = parseInt(this.value, 10) || 0;
paint();
});
oamt.addEventListener('change', function () { refreshTotal(); });
}
paint();
return;
}
var chg = $('hh26-changecount');
if (chg) chg.addEventListener('click', function () {
captureVals(); M.showCounts = true; renderModal();
});
if (M.opt && (M.opt.kind === 'schedule' || M.opt.kind === 'info')) return;
if (M.opt && M.opt.kind === 'yizkor' && id === 'opt') {
wireYizkor();
return;
}
if (M.opt && M.opt.kind === 'lulav' && id === 'opt') {
wireLulav();
return;
}
if (M.opt && M.opt.kind === 'dinner' && (id === 'opt' || id === 'dinnergift')) {
wireDinner();
return;
}
if (id === 'opt' && !M.opt.singleEvent && !M.opt.infoEvent) {
body.addEventListener('click', function (e) {
var row = e.target.closest && e.target.closest('.hh-row');
if (!row || row.className.indexOf('info') > -1) return;
var k = row.getAttribute('data-k');
M.picks[k] = !M.picks[k];
row.className = 'hh-row' + (M.picks[k] ? ' on' : '');
row.setAttribute('aria-checked', !!M.picks[k]);
});
}
if (id === 'who') {
if (!$('hh26-names')) return;
var redraw = function () {
$('hh26-names').innerHTML =
(totalAdults()   ? nameRows(totalAdults(),   'a', 'Adult') : '') +
(totalChildren() ? '<div style="height:8px"></div>' : '') +
(totalChildren() ? nameRows(totalChildren(), 'c', 'Child') : '');
spreadSurname();
};
$('hh26-names').addEventListener('input', function (e) {
var el = e.target;
if (!el.className || el.className.indexOf('hh-nm') < 0) return;
M.names[el.id] = el.value;
if (/l\d+$/.test(el.id) && el.id !== 'hh26-al0') M.lnDirty[el.id] = true;
if (el.id === 'hh26-al0') spreadSurname();
});
redraw();
}
}
function countsBlock(max) {
var firstTime = (M.cart[0] === M.key) || M.showCounts;
if (firstTime) {
return '<div id="hh26-counts"></div><div class="hh-sub">How many are coming?</div>' +
'<div class="hh-two">' +
'<div class="hh-fld"><label>Adults</label><input class="hh-in" type="number" min="0" max="' + max + '" id="hh26-adults" value="' + M.adults + '"></div>' +
'<div class="hh-fld"><label>Children</label><input class="hh-in" type="number" min="0" max="' + max + '" id="hh26-children" value="' + M.children + '"></div>' +
'</div>';
}
var who = [];
if (M.adults)   who.push(M.adults + (M.adults === 1 ? ' adult' : ' adults'));
if (M.children) who.push(M.children + (M.children === 1 ? ' child' : ' children'));
return '<div id="hh26-counts"></div><div class="hh-sub">Who\u2019s coming?</div>' +
'<div class="hh-carry">' + esc(who.join(' \u00b7 ') || 'Nobody yet') +
'<span class="hh-change" id="hh26-changecount">Change</span></div>';
}
function readCounts(max) {
if ($('hh26-adults'))   M.adults   = clamp($('hh26-adults').value, 0, max);
if ($('hh26-children')) M.children = clamp($('hh26-children').value, 0, max);
}
function blurbHTML() {
var o = M.opt;
if (!o.blurb || !o.blurb.length) return '';
var full = o.blurb.map(function (para) {
return '<p class="hh-bpara">' + esc(para) + '</p>';
}).join('');
if (o.signoff) {
full += '<p class="hh-bsign">' + o.signoff.map(esc).join('<br>') + '</p>';
}
return '<div class="hh-blurb">' +
'<div id="hh26-bshort"><span class="hh-bpara">' + esc(o.teaser || o.blurb[0]) +
'</span> <span class="hh-more" data-b="open">Show more</span></div>' +
'<div id="hh26-bfull" style="display:none">' + full +
'<span class="hh-more" data-b="close">Show less</span></div>' +
'</div>';
}
function wireBlurb() {
var b = document.querySelector('#hh26 .hh-blurb');
if (!b) return;
b.addEventListener('click', function (e) {
var t = e.target.closest && e.target.closest('.hh-more');
if (!t) return;
var open = t.getAttribute('data-b') === 'open';
$('hh26-bshort').style.display = open ? 'none' : 'block';
$('hh26-bfull').style.display  = open ? 'block' : 'none';
});
}
function refreshTotal() {
M.total = liveTotal();
var el = $('hh26-dtotal');
if (el) el.textContent = '$' + M.total.toLocaleString();
var hd = $('hh26-htotal');
if (hd) hd.textContent = '$' + M.total.toLocaleString();
var hw = $('hh26-htotalwrap');
if (hw) hw.style.visibility = (M.total > 0) ? 'visible' : 'hidden';
}
function totalAdults()   { return Math.min(M.adults   || 0, 5); }
function totalChildren() { return Math.min(M.children || 0, 5); }
function spreadSurname() {
var src = $('hh26-al0');
if (!src) return;
var surname = src.value;
M.names['hh26-al0'] = surname;
['a', 'c'].forEach(function (p) {
for (var i = 0; i < 5; i++) {
var id = 'hh26-' + p + 'l' + i;
if (id === 'hh26-al0' || M.lnDirty[id]) continue;
var el = $(id);
if (el) { el.value = surname; M.names[id] = surname; }
}
});
}
function clamp(v, lo, hi) {
v = parseInt(v, 10); if (isNaN(v)) v = lo;
return Math.max(lo, Math.min(hi, v));
}
function fail(msg) {
var e = $('hh26-err');
if (e) { e.className = 'hh-err'; e.textContent = msg; e.scrollIntoView({block:'nearest'}); }
return false;
}
function onNext() {
if (M.opt && M.opt.kind === 'info') {
if (M.opt.cta && M.opt.cta.url) {
var a = document.createElement('a');
a.href = M.opt.cta.url;
a.target = '_bl' + 'ank';
a.rel = 'noopener';
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
return;
}
if (M.opt.cta && M.opt.cta.opens) {
M.cart = [M.opt.cta.opens]; M.step = 0;
loadOpt(M.cart[0]); renderModal();
} else {
closeModal();
}
return;
}
if (M.opt && M.opt.kind === 'schedule') {
M.cart = [M.opt.opensAs];
M.step = 0;
loadOpt(M.cart[0]);
renderModal();
return;
}
var steps  = buildSteps();
var st     = steps[M.step];
var isLast = M.step >= steps.length - 1;
if (M.opt && M.opt.kind === 'scheduleview') {
var to = M.opt.goTo;
M.cart = [to]; M.step = 0; M.opt = null; M.key = null;
loadOpt(to);
renderModal();
return;
}
if (st.id === 'opt') {
if (M.opt.kind === 'dinner') {
if (!M.tier) return fail('Please choose a price level.');
readCounts(5);
if (M.adults + M.children + M.students < 1)
return fail('Please tell us how many people are coming.');
commitDinner();
} else if (M.opt.kind === 'yizkor') {
if (!val('hh26-yf0') && !val('hh26-yl0'))
return fail('Please enter at least one name to be remembered.');
M.yzDon = parseInt(val('hh26-ydon'), 10) || 0;
commitYizkor();
} else if (M.opt.kind === 'lulav') {
M.lqty = clamp($('hh26-lqty').value, 0, 20);
if (M.lqty < 1) return fail('Please choose how many sets you\u2019d like.');
if (M.pickup === null || M.pickup === undefined)
return fail('Please choose a pickup time.');
syncLulav(); setDrivers();
} else if (M.opt.infoEvent) {
readCounts(9);
if (M.adults + M.children < 1)
return fail('Please tell us how many people are coming.');
commitCounts(); setDrivers();
} else if (M.opt.singleEvent) {
readCounts(5);
if (M.adults + M.children < 1)
return fail('Please tell us how many people are coming.');
commitSchedule(); commitCounts();
} else {
if (!Object.keys(M.picks).some(function (k) { return M.picks[k]; }))
return fail('Please choose at least one service.');
readCounts(5);
if (M.adults + M.children < 1)
return fail('Please tell us how many people are coming.');
commitSchedule(); commitCounts();
}
saveOpt();
}
if (st.id === 'dinnergift') commitDinnerGift();
if (st.id === 'who') {
if (!$('hh26-email').value) return fail('Please enter your email.');
if (!$('hh26-af0') || !$('hh26-af0').value) return fail('Please enter your name.');
commitWho();
}
if (st.id === 'support') commitSupport();
if (st.id === 'gift') {
if (M.gift < 1) return fail('Please choose an amount to give.');
commitGift();
}
if (st.id === 'pay') {
if (CFG.OPTIONS[M.cart[0]].donationOnly) {
if (!$('hh26-cfirst').value) return fail('Please enter your name.');
if (!$('hh26-cemail').value) return fail('Please enter your email.');
commitCharityContact();
}
if (!$('hh26-ccnum').value) return fail('Please enter your card number.');
commitPay();
}
if (st.id === 'notes') commitNotes();
if (st.id !== 'review') { captureVals(); saveOpt(); commitAll(); M.total = liveTotal(); }
if (isLast) return submitForm();
captureVals();
M.total = liveTotal();
M.step++;
renderModal();
}
function commitCharityContact() {
var F = CFG.F;
setNative(F.firstMain, val('hh26-cfirst'));
setNative(F.lastMain,  val('hh26-clast'));
setNative(F.email,     val('hh26-cemail'));
setNative(F.phone,     val('hh26-cphone'));
}
function commitSchedule() {
if (M.opt.singleEvent) {
var ev = M.opt.singleEvent;
setChecked(ev.native, true);
if (M.opt.summary)
setNative(M.opt.summary, ev.date + '\n\u2022 ' + ev.time + ' \u2014 ' + ev.label);
setDrivers();
return;
}
var out = [];
M.opt.schedule.forEach(function (d, di) {
var picked = [];
d.items.forEach(function (it, ii) {
if (it.info) return;
var on = !!M.picks[di + '-' + ii];
if (it.native) setChecked(it.native, on);
if (on) picked.push('\u2022 ' + it.time + ' \u2014 ' + it.label);
});
if (picked.length) {
if (out.length) out.push('');
out.push(d.date);
out.push(picked.join('\n'));
}
});
setNative(M.opt.summary, out.join('\n'));
setDrivers();
}
function commitCounts() {
var F = CFG.F;
setNative(M.opt.adultsField   || F.adults,   M.adults);
setNative(M.opt.childrenField || F.children, M.children);
}
function commitWho() {
var F = CFG.F, i;
if (!$('hh26-email')) return;
setNative(F.firstMain, val('hh26-af0'));
setNative(F.lastMain,  val('hh26-al0'));
for (i = 1; i < 5; i++) {
setNative(F.adultFirst[i - 1], val('hh26-af' + i));
setNative(F.adultLast[i - 1],  val('hh26-al' + i));
}
for (i = 0; i < 5; i++) {
setNative(F.childFirst[i], val('hh26-cf' + i));
setNative(F.childLast[i],  val('hh26-cl' + i));
}
setNative(F.email, val('hh26-email'));
setNative(F.phone, val('hh26-phone'));
}
function commitSupport() {
var F = CFG.F, bf = CFG.OPTIONS['break-fast'];
var gi = CFG.GIFTS.indexOf(M.gift);
if (M.gift > 0) {
if (gi > -1) setChecked(F.sponsorRadios[gi], true);
else { setChecked(F.sponsorOther, true); setNative(F.sponsorAmt, M.gift); }
}
if (inCart('break-fast') && M.bfGift > 0) {
var bi = bf.giftAmounts.indexOf(M.bfGift);
if (bi > -1) setChecked(bf.giftRadios[bi], true);
else { setChecked(bf.giftOther, true); setNative(bf.giftOtherAmt, M.bfGift); }
}
if ($('hh26-dedtype')) {
var t = val('hh26-dedtype');
if (t === 'honor')  setChecked(F.dedInHonor, true);
if (t === 'memory') setChecked(F.dedInMemory, true);
setNative(F.dedNames, val('hh26-dednames'));
}
setPaymentRow();
}
function setPaymentRow() {
var t = liveTotal();
setNative('input_77',
(t > 0 || (M.gift || 0) > 0 || (M.bfGift || 0) > 0) ? 'block' : 'none');
}
function commitGift() {
var F = CFG.F, idx = giftAmounts().indexOf(M.gift);
if (M.gift > 0) {
if (idx > -1) setChecked(giftRadios()[idx], true);
else { setChecked(giftOtherRadio(), true); setNative(giftOtherAmt(), M.gift); }
}
var t = val('hh26-dedtype');
if (t === 'honor')  setChecked(F.dedInHonor, true);
if (t === 'memory') setChecked(F.dedInMemory, true);
setNative(F.dedNames, val('hh26-dednames'));
if (M.opt.giftRow) setNative(M.opt.giftRow, M.gift > 0 ? 'block' : 'none');
if (M.opt.donationOnly) setDrivers();
}
function setDrivers() {
Object.keys(CFG.OPTIONS).forEach(function (k) {
var d = CFG.OPTIONS[k].driver;
if (d) setNative(d, inCart(k) ? 'block' : 'none');
});
}
function commitPay() {
var F = CFG.F;
setChecked(F.payCard, true);
setNative(F.ccName, val('hh26-ccname'));
setNative(F.ccNum,  val('hh26-ccnum'));
setNative(F.ccCvv,  val('hh26-cccvv'));
setNative(F.ccMon,  val('hh26-ccmon'));
setNative(F.ccYear, val('hh26-ccyear'));
setNative(F.billAddr,   val('hh26-baddr'));
setNative(F.billCity,   val('hh26-bcity'));
setNative(F.billState,  val('hh26-bstate'));
setNative(F.billPostal, val('hh26-bzip'));
setSelect(F.billCountry, CFG.DEFAULT_COUNTRY);
}
function setSelect(id, text) {
var el = $(id);
if (!el || !el.options) return false;
var i, o;
for (i = 0; i < el.options.length; i++) {
o = el.options[i];
if (o.value === text || (o.text || '').trim() === text) {
el.selectedIndex = i;
['input', 'change', 'blur'].forEach(function (evt) {
el.dispatchEvent(new Event(evt, { bubbles: true }));
});
return true;
}
}
if (window.console) console.warn('[HH26] no option matching', text, 'in', id);
return false;
}
function commitNotes() {
if ($('hh26-notes')) setNative(CFG.F.notes, val('hh26-notes'));
}
function val(id) { var e = $(id); return e ? e.value : ''; }
function commitAll() {
var savedKey = M.key;
saveOpt();
clearAllOptionFields();
M.cart.forEach(function (k) {
loadOpt(k);
var o = M.opt;
if (o.kind === 'dinner') { syncDinner(); commitDinner(); commitDinnerGift(); }
else if (o.kind === 'lulav')  { syncLulav(); }
else if (o.kind === 'yizkor') { commitYizkor(); }
else if (o.schedule)          { commitSchedule(); commitCounts(); }
else if (o.singleEvent)       { commitSchedule(); commitCounts(); }
else if (o.infoEvent)         { commitCounts(); }
});
setDrivers();
if (savedKey) loadOpt(savedKey);
commitWho();
commitSupport();
commitNotes();
setPaymentRow();
}
function submitForm() {
commitAll();
var btn = findSubmit();
if (!btn) { fail('Could not find the submit button — check the console.');
if (window.console) console.warn('[HH26] submit button not found'); return; }
setPaymentRow();
stashConfirmation();
LAST = null;
var nx = $('hh26-next');
if (nx) { nx.textContent = 'Processing\u2026'; nx.setAttribute('disabled', 'disabled'); }
btn.click();
setTimeout(checkValidation, 450);
setTimeout(checkValidation, 1400);
}
var FRIENDLY = {
input_74_addr_line1:'street address', input_74_city:'city',
input_74_state:'state', input_74_postal:'postal code',
input_74_country:'country', input_72:'email', input_73_full:'phone',
first_62:'first name', last_62:'last name',
input_61_addr_line1:'billing street', input_61_city:'billing city',
input_61_state:'billing state', input_61_postal:'billing ZIP',
input_61_country:'billing country', input_61_cc_number:'card number',
input_61_cc_ccv:'security code', input_61_cc_nameOnCard:'name on card'
};
function checkValidation() {
if (!M) return;
var bad = document.querySelectorAll('.form-validation-error');
if (!bad.length) return;
try { sessionStorage.removeItem(STASH); } catch (e) {}
var ids = [], names = [];
Array.prototype.forEach.call(bad, function (f) {
if (!f.id || ids.indexOf(f.id) > -1) return;
ids.push(f.id);
var n = FRIENDLY[f.id] || f.id;
if (names.indexOf(n) < 0) names.push(n);
});
if (window.console) console.warn('[HH26] blocked by required fields:', ids);
var nx = $('hh26-next');
if (nx) { nx.removeAttribute('disabled'); nx.textContent = 'Try again'; }
fail('We couldn\u2019t complete your registration \u2014 the form still needs: ' +
names.join(', ') + '.');
}
var STASH = 'hh26_confirm';
function stashConfirmation() {
saveOpt();
var sections = M.cart.map(function (k) {
var o = CFG.OPTIONS[k], d = M.d[k] || {}, groups = [];
if (o.infoEvent) {
groups.push({ date:o.infoEvent.date, items:o.infoEvent.items.slice() });
} else if (o.kind === 'dinner') {
groups.push({ date:o.event.date, items:o.event.items.slice() });
} else if (o.singleEvent) {
groups.push({ date:o.singleEvent.date,
items:[{ time:o.singleEvent.time, label:o.singleEvent.label }] });
} else if (o.kind === 'lulav') {
groups.push({ date:'Pickup', items:[{
time:(d.lqty || 0) + (d.lqty === 1 ? ' set' : ' sets'),
label:o.pickupLabels[d.pickup] || '' }] });
} else if (o.schedule) {
o.schedule.forEach(function (day, di) {
var picked = [];
day.items.forEach(function (it, ii) {
if (!it.info && d.picks && d.picks[di + '-' + ii]) {
picked.push({ time: it.time, label: it.label });
}
});
if (picked.length) groups.push({ date: day.date, items: picked });
});
}
return { title:o.title, groups:groups,
adults:M.adults || 0, children:M.children || 0,
students:d.students || 0, veg:d.veg || 0 };
});
var t = val('hh26-dedtype');
try {
sessionStorage.setItem(STASH, JSON.stringify({
t: Date.now(),
donationOnly: !!CFG.OPTIONS[M.cart[0]].donationOnly,
title: sections.map(function (x) { return x.title; }).join(' + '),
first: M.names['hh26-af0'] || val('hh26-cfirst') || '',
sections: sections,
gift: (M.gift || 0) + (M.bfGift || 0),
total: M.total || 0,
dedType: t === 'honor' ? 'In honor of' : (t === 'memory' ? 'In memory of' : ''),
dedNames: val('hh26-dednames')
}));
} catch (e) {}
}
function readStash() {
try {
var s = JSON.parse(sessionStorage.getItem(STASH) || 'null');
if (!s || (Date.now() - s.t) > 1800000) return null;
return s;
} catch (e) { return null; }
}
function buildConfirmation(s) {
var wrap = document.createElement('div');
wrap.id = 'hh26';
wrap.className = 'hh-confmode';
var body = '';
(s.sections || []).forEach(function (sec) {
body += '<div class="hh-sub">' + esc(sec.title) + '</div>';
body += (sec.groups || []).map(function (g) {
return '<div class="hh-cday">' + esc(g.date) + '</div>' +
g.items.map(function (l) {
return '<div class="hh-crow"><span class="hh-ctime">' + esc(l.time) + '</span>' +
'<span class="hh-clab">' + esc(l.label) + '</span></div>';
}).join('');
}).join('');
var who = [];
if (sec.adults)   who.push(sec.adults + (sec.adults === 1 ? ' adult' : ' adults'));
if (sec.children) who.push(sec.children + (sec.children === 1 ? ' child' : ' children'));
if (sec.students) who.push(sec.students + (sec.students === 1 ? ' student' : ' students'));
if (sec.veg)      who.push(sec.veg + ' vegetarian');
if (who.length) body += '<p class="hh-hint" style="margin-top:8px">' +
who.join(' · ') + '</p>';
});
var money = s.total > 0
? '<div class="hh-total"><span>Total charged</span><b>$' +
Number(s.total).toLocaleString() + '</b></div>' +
(s.dedNames ? '<p class="hh-hint" style="margin-top:9px">' +
esc(s.dedType) + ' ' + esc(s.dedNames) + '</p>' : '') +
'<p class="hh-hint">A receipt is on its way to your inbox.</p>'
: '<p class="hh-hint" style="margin-top:16px">A confirmation is on its way to your inbox.</p>';
wrap.innerHTML =
'<div class="hh-conf"><div class="hh-modal">' +
'<div class="hh-mhead">' +
'<div class="hh-mtitle">' +
(s.first ? 'Thank you, ' + esc(s.first) + '.' : 'Thank you.') + '</div>' +
'<div class="hh-mstep">' + esc(s.title) + ' · Confirmed</div>' +
'</div>' +
'<div class="hh-mbody">' +
'<p class="hh-intro">' + (s.donationOnly
? 'Your gift has been received. Thank you.'
: 'You\u2019re signed up. Here\u2019s what we have:') + '</p>' +
body + money +
'</div>' +
'<div class="hh-mfoot"><div class="hh-nextwrap">' +
'<span class="hh-next" id="hh26-done">Done</span></div></div>' +
'</div></div>';
document.body.appendChild(wrap);
document.documentElement.style.overflow = 'hidden';
try { sessionStorage.removeItem(STASH); } catch (e) {}
$('hh26-done').addEventListener('click', function () {
var url = CFG.RETURN_URL ||
(window.location.protocol + '//' + window.location.host + '/' + CFG.AID);
window.location.replace(url + (url.indexOf('?') > -1 ? '&' : '?') + 'r=' + Date.now());
});
}
function toast(msg) {
var old = $('hh26-toast');
if (old) old.parentNode.removeChild(old);
var el = document.createElement('div');
el.id = 'hh26-toast'; el.className = 'hh-toast'; el.textContent = msg;
document.getElementById('hh26').appendChild(el);
setTimeout(function () { if (el.parentNode) el.parentNode.removeChild(el); }, 2400);
}
})();
</script>
</body>
</html>