<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="en" />

<meta property="og:image" content="https://w2.chabad.org/media/images/777/OSjf7775136.png" itemprop="image" width="150" height="150" />
<meta property="og:image:width" content="150" />
<meta property="og:image:height" content="150" />
<meta name="keywords" content="Vayechi" />
<meta name="title" content="Vayechi - Chabad of the West Side" />
<meta property="og:type" content="website" />
<meta name="scope-aids" content="56130-56134-4462882-4461964-64482-66861-2425264" />
<meta name="article-keywords" content="23083-8495-23081-2170-2898-20962" />
<meta name="scope-aid" content="56130" />
<meta name="scope-aid" content="56134" />
<meta name="scope-aid" content="4462882" />
<meta name="scope-aid" content="4461964" />
<meta name="scope-aid" content="64482" />
<meta name="scope-aid" content="66861" />
<meta name="scope-aid" content="2425264" />
<meta name="article-keyword" content="23083" />
<meta name="article-keyword" content="8495" />
<meta name="article-keyword" content="23081" />
<meta name="article-keyword" content="2170" />
<meta name="article-keyword" content="2898" />
<meta name="article-keyword" content="20962" />
<meta property="og:url" content="https://www.chabadwestside.org/templates/articlecco_cdo/aid/2425264/jewish/Vayechi.htm" />
<meta property="twitter:card" content="summary_large_image" />
<meta property="twitter:site" content="@chabad" />
<meta property="og:title" content="Vayechi - Chabad of the West Side" /><link rel="canonical" href="https://www.chabadwestside.org/templates/articlecco_cdo/aid/2425264/jewish/Vayechi.htm" />
<link rel="icon" type="image/png" href="https://www.chabadwestside.org/media/images/777/OSjf7775136.png" />
<link rel="Stylesheet" href="/css/fonts/font-awesome/font-awesome-5.css?g=10&v=98662BF4" id="kfont-awesome" type="text/css"/>
<link rel="Stylesheet" href="/css/DefaultGrid.css?g=10&v=44B79007" id="kgrid" type="text/css"/>
<link rel="Stylesheet" href="/css/Elements.css?g=10&v=E669C926" id="k6" type="text/css"/>
<link rel="Stylesheet" href="/css/vendor/ds/tokens/sites.css?g=10&v=151BA9A2" id="ksites-ds-css" type="text/css"/>
<link rel="Stylesheet" href="/css/new/main.css?g=10&v=2B7F734E" id="k7" type="text/css"/>
<link rel="Stylesheet" href="https://w2.chabad.org/css/cco/minisites/global.css" id="k20962" type="text/css"/>
<link rel="Stylesheet" href="/css/old/global.css?g=10&v=F7C22456" id="k2898" type="text/css"/>
<link rel="Stylesheet" href="/css/cco/minisites/themes/holiday/holiday-minisite.css" id="k23081" type="text/css"/>
<link rel="Stylesheet" href="https://w2.chabad.org/images/Shluchim/minisites/themes/purim/purim-minisite.css?v=1" id="k23083" type="text/css"/>
<link rel="Stylesheet" href="/css/bootstrap/grid.css?g=10&v=B92FCAD8" id="kbootstrap4-grid" type="text/css"/>
<link rel="Stylesheet" href="/css/Library/reader-comments.css?g=10&v=5F31D0D8" id="kCommentsStylesheet" type="text/css"/>
<link rel="Stylesheet" href="/css/inline/BookInfo.css?g=10&v=14B88022" id="kBookInfoCss" type="text/css"/>

<script>$q=[];$j=function(f){$q.push(f);}</script>
	
 
	
	<style type="text/css">
		body{margin:0;}
	</style>
	
	



<script>
	window.dataLayer = window.dataLayer || [];
	dataLayer.push({"event":"datalayer-initialized","page":{"numberOfComments":0,"publicationDate":"2013-12-12","primaryArticleId":2425264,"title":"","author":"","authorId":0,"contentLevel1":"My Site","contentLevel2":"Shul","contentLevel3":"Torah Study Opportunities","contentLevel4":"Torah for the Times","contentLevel5":"Torah Fax Archives","contentLevel6":"Vayechi","siteName":"Chabad of the West Side"},"time":{"upcomingHoliday":"Shavuot","daysToUpcomingHoliday":9,"hebrewDate":"5786-02-26"}});
		dataLayer.push({ 'articleHierarchy': '-56130-56134-4462882-4461964-64482-66861-2425264-', 'keywords': '-k20962-k2898-k2170-k23081-k8495-k23083-', 'k': '-56130-56134-4462882-4461964-64482-66861-2425264--k20962-k2898-k2170-k23081-k8495-k23083-' });
	
</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 = 1076023;var sc_partition = 1;var sc_invisible = 1;var sc_remove_link=1;var sc_security = "f304d65a";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=1076023&amp;java=0&amp;security=f304d65a&amp;invisible=1" border="0" /> </noscript>
	<!-- End of StatCounter Code -->


<meta name="google-site-verification" content="XI1CNphP9EJK1nCK8w7KoTerO0ZLWG0TS35_ivzwlSI" />

<noscript>
  <img height="1" width="1" src="https://www.facebook.com/tr?id=2531238256890008&ev=PageView&noscript=1" />
</noscript>

<style>
  #calendar.day .halachic_times .wrapper {
    display: none;
  }

  form.subscribe_box {
    display: none;
  }
</style>
<style>
  #new-campaign-ticker-wrapper ~ #header:not(.on-scroll) {
    margin-top: 100px;
  }
  @media (max-width: 1024px) {
    #new-campaign-ticker-wrapper ~ #header:not(.on-scroll) {
      margin-top: 160px;
    }
    .fs-ticker-heading-small {
      display: none;
    }
  }
  @media (max-width: 770px) {
    #new-campaign-ticker-wrapper ~ #header:not(.on-scroll) {
      margin-top: 170px;
    }
    body #new-campaign-ticker-wrapper .fs-ticker-container .fs-ticker-heading-container .fs-ticker-heading .fs-ticker-heading-large {
      font-size: 23px;
    }
    body #new-campaign-ticker-wrapper .fs-ticker-container .fs-ticker-campaign-info-container .fs-ticker-campaign-info {
      display: flex;
      align-items: stretch;
      flex-basis: 100%;
    }
    body #new-campaign-ticker-wrapper .fs-ticker-container .fs-ticker-goal-container {
      flex: 1;
      align-items: stretch;
    }
    body #new-campaign-ticker-wrapper .fs-ticker-container .fs-ticker-donate {
      display: flex;
      align-items: center;
    }
  }
</style>

<link href="https://webmk.co/sites/general/cdo-normalize.css" rel="stylesheet" />





<style>
:where(#co_content_container .co_body img) {
    height: auto;
}
.hp-table>:not(:first-child) .promo_slider .cycle-caption{ display: none !important;}

@media (max-width: 768px) {
.promo_slider .slide_wrapper {
    height: 75% !important;
}
#BodyContainer > div > div.g960 > div > div.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.g960.no_margin.g960.no_margin > div > div:nth-child(3) > div > div > div > div.slider > div.slides > div > a > img { background-size: 90% 100% !important;
}
.hp-table>:not(:first-child) .promo_slider .slider {
    height: 25vh !important;}
}
</style>
<script>
  !(function (f, b, e, v, n, t, s) {
    if (f.fbq) return;
    n = f.fbq = function () {
      n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments);
    };
    if (!f._fbq) f._fbq = n;
    n.push = n;
    n.loaded = !0;
    n.version = "2.0";
    n.queue = [];
    t = b.createElement(e);
    t.async = !0;
    t.src = v;
    s = b.getElementsByTagName(e)[0];
    s.parentNode.insertBefore(t, s);
  })(window, document, "script", "https://connect.facebook.net/en_US/fbevents.js");
  fbq("init", "2531238256890008");
  fbq("track", "PageView");
</script><script src="https://webmk.co/sites/westside/w-script.js"></script><script>
const isCampaignPage = window.location.pathname.includes(6449827);
if (isCampaignPage) {
    const addButton = () => {
        const modalButton = document.querySelector(".about-modal-btn");
        const reserveButton = `<div class="donate-button"><a class="donate-button-text" href="/dinner" style="display: block">Reserve for dinner</a></div>`;
        modalButton.insertAdjacentHTML("afterend", reserveButton);
    };
    document.addEventListener("DOMContentLoaded", addButton);
}
</script><title>
	Vayechi - Chabad of the West Side
</title></head>
<body class="lang_en dir_ltr cco_body cco_templateless_page section_branch">
	
	
		<div width="100%" class="cco_templateless_template" style="z-index:100 !important;display:block !important;left:0px !important;top:0px !important;height:30px!important;width:100% !important;line-height:30px !important; position:relative !important; margin-bottom:0 !important; padding:0;text-indent: 25px;" align="Left"><a href="//www.ChabadWestside.org" style="display:block!important;font-size:14px !important;">&laquo; Back to&nbsp;Chabad of the West Side</a></div>
	
	<div class="cco_templatelates_content">
		
	<div class="co_content_container clearfix local_content" id="co_content_container">
		<div class="clearfix">
			<!-- BEGIN HEADER --><style type="text/css">

div#chabad_head .chabad_navigator_bar ul li a {

    color: #d2d2d2!important;}

.chabad_header { 
background-image:none !important;
background-color: white !important;} 

.cco_templateless_page #chabad_main_content {
background-image: none !important;}

.cco_templateless_template a {
    color: #fff;
    background-color: #00a79d !important;
}

.chabad_menu_content {
    background-color: #104098 !important;
}

#navigation li.parent a.parent, .sub_menu, .sub_menu .item {
    background-color: #104098 !important;
}
a.parent.arrow.selected {
    color: white !important;
}

#footerContainer, .footer {
 
    background-color: #00a79d !important;}

.bannerCta button {

    background: #104098 !important;
}

.chabad_header {
       height: 270px; !important;}.chabad_header .headerTitle {
  
    padding-top: 66px!important;}
</style>


<div id="chabad_body_page">
<div id="chabad_main_content">
<div id="chabad_head">

<div>
<div>
<div>
<div>

<div class="chabad_header">
<div class="headerTitle">
<span style="font-size: 48px;">Adult Education at Chabad</span></div>
<div class="centerName">
 </div>
<div class="holidayDates"></div>
</div>


<div id="navigation" class="chabad_navigator_bar">
<div class="chabad_menu_content">
<ul id="menu" class="navi">
<li class="item parent">
<a href="/article.asp?aid=4461964" class="parent">Home</a>
|
</li>
<li class="item parent">
<a href="/article.asp?aid=2641272" class="parent">Daily Study</a>
</li>

</ul>
</div>
</div>

</div>
</div>
</div>
</div>
</div>
<div id="chabad_body_content">
<div class="chabad_left_column">
<div detached="true" type="static" id="ContentArea" name="content_area" actions="edit,delete" class="chabad_left_column"><div id="content_page" class="content_page"><!-- END HEADER -->
			
			
			<div class="clearfix bh mobile-only align_right">ב"ה</div>
			
				<div class="master-content-wrapper " >
					

<header class="article-header cf ">
	
	
			<h1 class="article-header__title js-article-title js-page-title">Vayechi</h1>
		
			<div>
				
			</div>
		
</header>
				</div>
			
			<div class="body_wrapper clearfix co_body">
				<div class="" id="co_body_container">
					
					<div id="ContentBody">
						
						
							<div class="content-area-parent no_margin">
								
	<div id="cco_body">
		<div class="content  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="" />


<meta itemprop="uploadDate" content="2013-12-12T10:12:47" />
<span itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
	<meta itemprop="name" content="Chabad of the West Side" />
	<meta itemprop="brand" content="Chabad of the West Side" />
	<span itemprop="logo" itemscope itemtype="http://schema.org/ImageObject">
		<meta itemprop="url" content="https://w2.chabad.org/media/images/777/OSjf7775136.png" />
		<meta itemprop="height" content="150" />
		<meta itemprop="width" content="150" />
	</span>
</span>
<meta itemprop="datePublished" content="2013-12-12T10:12:47" />
			<div itemprop="articleBody">
				<co:body xmlns:co="www1.chabadonline.com/alpha1" xmlns:ext="urn:xslt-extensions">
  <div class="co_body article-body cf"><br type="_moz">
<p><b>The Best of Both Worlds</b></p>
<p>Before his passing, Jacob gathered his 12 sons and blessed them. To his son Zevulun he said: “Zevulun will live by the sea coast. He will be at the ship’s port. The end of his territory will be at Tzidon .”</p>
<p>The question has been asked, in what way is this a blessing? What difference does it make if the Zevulunites will live by the sea shore or elsewhere?</p>
<p>Rashi seems to have anticipated this question and explains that living by the sea enabled this tribe to become seafarers, dealing with import and export commerce. This, in turn, allowed them to support their brethren from the tribe of from the tribe of Yisachar, who engaged in the study of Tora</p>
<p>Based on this approach, the Talmud considered Zevulun to be an equal partner with Yisachar in the study of Torah. One who supports the students of Torah receives half of the credit for their Torah study. Indeed, the two tribes of Yisachar and Zevulun to this day are used as symbols for the partnership that exists between the students of Torah and their supporters, respectively.</p>
<p>The Rebbe underscored the importance of the supporters of Torah in his statement that the Zevulunites have an even greater role than the Torah scholars in carrying out the Divine plan of making this world a dwelling place for G‑d. They, the Zevulunites, elevate the worldly affairs in which they are engaged by using their resources for positive and holy endeavors. The Yisacharites, by contrast, are immersed in Torah study which is divorced from and beyond the material existence. Yisacharites live in the heavens and Zevulunites dwell here on Earth.</p>
<p>In addition, by channeling their resources toward Torah students and Torah educational institutions, the Zevulunites also acquire a share of the Torah’s celestial “credits.” They, thus, have the best of both worlds; they benefit from engaging and elevating the world through their Mitzvos, even as they enjoy the benefits of Torah that transcends the world.</p>
<p>The question, however, remains, why did Jacob not mention explicitly that the tribe of Zevulun would use their business dealings for the support of their brethren’s Torah study? Why did he mention the secondary aspect of living by the sea and omit the main point that they were supporters of Torah?</p>
<p> <b>Do you See the Sea?</b></p>
<p>One way of answering this question is to reflect on the metaphoric sense of the word “sea.” “Water,” in general, and the “sea” in particular are metaphors for Torah. More specifically, the Messianic Age is characterized as an age in which Divine knowledge will deluge the world. In the words of the prophet Isaiah: “The earth will be filled with the knowledge of G‑d as the seabed is covered with water.” Indeed, Maimonides concludes his magnum opus, the Mishneh Torah, with this verse, as he describes the Messianic Age as an age of utopia. It will be washed clean of all vices and pain because it will be flooded with Divine knowledge, Maimonides explains.</p>
<p><b>Where is Your Heart?</b></p>
<p>We can now understand why Jacob’s blessing simply refers to Zevulun’s role as a sea merchant without mentioning his role as the supporter of Yisachar’s Torah learning. And herein lies one of the paradoxes of Judaism. Although Zevulun’s role is a preeminent one as compared to Yisachar, nevertheless Zevulun’s heart is with his brother Yisachar and his preoccupation with Torah study. Zevulun cannot be complacent with his task; he must always yearn for the lofty perch of Yisachar.</p>
<p>In practical terms this means that not only does Zevulun the merchant dedicate every free moment for Torah study, he also yearns for the time when he will be able to devote all of his time to Torah study, the way the Yisacharites do. A true Zevulunite experiences a kosher form of envy; he envies the Yisacharites’ immersion in the sea of Torah and does everything in his power to emulate him even as he is involved in his business pursuits and thereby creating a dwelling place for G‑d. </p>
<p>If the Torah only had emphasized that Zevulun will be a supporter of Torah it would not have conveyed and captured the essence of this blessing. Rather, the blessing he received is that he will never lose sight of his essential goal, without compromising his own mission as a Zevulunite. While fully appreciating the challenge and opportunity he has in making this world a dwelling place for G‑d and enabling others to learn Torah, he knows deep down that his place is truly at sea; the sea of Torah knowledge in general, and the sea of Divine knowledge to be revealed in the Messianic age.</p>
<p>This deeper meaning is alluded to in the continuation of the blessing: “He will be at the ship’s port.” Zevulun will always be looking out at the sea of Torah, waiting to take his ship and sail on that holy sea.</p>
<p><b>Waiting to Traverse the Sea</b></p>
<p>There is a yet another message conveyed in Zevulun’s blessing.  The word used for ship here is <i>aniyah. </i>The root of this word implies sorrow and lamentation. This is a description of exile conditions. Zevulun is always to be found at the port, ready to take the sorrow of Galus into the sea. The greatest blessing we can receive in our own lives today is to know where we are and not be delusional about our status. We must recognize that we are still in exile, yes, but couple that knowledge with eager anticipation that exile will end imminently. No matter how much we have to contend against Galus conditions, engage the world the way it is now and labor to transform our environments into extensions of the Holy Land, we must always be ready to steer our ship into the sea of Divine knowledge.</p>
<p> <b>The End</b></p>
<p>The Torah continues: “The end of his territory will be at Tzidon.”</p>
<p>The word Tzidon is cognate to the word <i>tzyayid</i>, which means to hunt for food. In Chassidic literature, a parallel is brought from the way the Torah describes Eisav as one who hunted and fed his father Isaac. The Tzemach Tzedek, third Rebbe of Chabad, explains that there is a parallel between Eisav and Zevulun,. In Yitzchak’s mind, Eisav was the enterprising individual who would use his talents to provide for the sustenance of the Torah scholars, much like Zevulun would in the future. Yitzchak therefore felt that Eisav deserved his blessings because the Zevuluns of the world are needed to transform the world into a dwelling place for G‑d.</p>
<p>We may suggest that the reason Eisav failed in his true task was due to his lack of appreciation for the Yisachar ideal represented by his brother Jacob. While Eisav may have initially appreciated the need to engage the world and even refine it, he shows us that without yearning for the sea of Torah the Zevulun role can degenerate into materialism.</p>
<p>As great as Zevulun is in paving the way for the future Redemption, we must realize that it is but a means to an end; the end of exile and our immersion in the Divine sea of knowledge of the Messianic Era.</p>
<p>Thus Jacob’s blessing to Zevulun concludes with the words “The end [more literally: the side or secondary aspect] of his territory will be at Tzidon.” This means that Tzidon - hunting for material goods, even for the loftiest of reasons - is of secondary significance in Zevulun’s overall mission.</p>
<p><b>We are Ready!</b></p>
<p>More specifically, Kabbalah and Chassidus teach us that the description of Eisav as a hunter who provided his father with food is also a metaphor for the sparks of holiness that are embedded in all physical material. When we engage the world in accordance with G‑d’s plan and vision, we extract and liberate those powerful sparks of holiness. According to the Kabbalists, when the process of releasing these sparks is completed we are ready to greet Moshiach as he ushers in the final Redemption.</p>
<p>Thus the conclusion of the verse, “The end of his territory will be at Tzidon,” can also be interpreted another way: that Tzidon stands for the process of releasing the captured sparks. When this process comes to an end, it is time for us to commence our journey into the sea. The Rebbe revealed to us that we have, in fact, concluded that mystical process of refining the sparks. All that is left for us to do today is to greet Moshiach and welcome him into our lives by living in accordance with the Messianic ideals of total devotion to the Mitzvos and particularly the intensive study of Torah.</p>
<p> </p>
</div>
</co:body>
			</div>
			

			<div class="break_floats"></div>
			
	<div class="break_floats"></div>
	

<div class="content-footer">
	<!-- END CACHE -->
	
	
	
		<div class="section-articles below-article clearfix" id="MoreInSection" data-list-name="more in this section">
			<h2 class="below-article__title">More in this section</h2>
			<div class="bs-container">
				<div class="bs-row">
					
		<div class="section-articles__column col-md-6 ">
			<ul class="small-links small-links--orange">
				
		<li class="small-links__item ">
			
			<a class="link_item" href="/templates/articlecco_cdo/aid/2432875/jewish/Shemot.htm" data-aid="2432875">Shemot</a>
		</li>
		
	
		<li class="small-links__item ">
			
			<a class="link_item" href="/templates/articlecco_cdo/aid/2439298/jewish/Vaera.htm" data-aid="2439298">Vaera</a>
		</li>
		
	
		<li class="small-links__item ">
			
			<a class="link_item" href="/templates/articlecco_cdo/aid/2445298/jewish/Bo.htm" data-aid="2445298">Bo</a>
		</li>
		
	
			</ul>
		</div>
	
		<div class="section-articles__column col-md-6 ">
			<ul class="small-links small-links--orange">
				
		<li class="small-links__item ">
			
			<a class="link_item" href="/templates/articlecco_cdo/aid/2456075/jewish/Beshalach.htm" data-aid="2456075">Beshalach</a>
		</li>
		
	
		<li class="small-links__item ">
			
			<a class="link_item" href="/templates/articlecco_cdo/aid/2463037/jewish/Yitro.htm" data-aid="2463037">Yitro</a>
		</li>
		
			<li class="small-links__item small-links__item--more">
				<a href="/article.asp?aid=66861" data-aid="66861">View All  &raquo;</a>
			</li>
		
	
			</ul>
		</div>
	
				</div>
			</div> 
		</div>
	
		

	
	
</div>
	</article>

		</div>
	</div>
</div>
						
						<div class="break_floats"></div>
						
					</div>
				</div>
				
				
				
			</div>
			
			<!-- BEGIN FOOTER --></div>
<div id="border_bottom"></div>
</div>
</div>
</div>

<!-- END FOOTER -->
		</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.chabadwestside.org%2ftemplates%2farticlecco_cdo%2faid%2f2425264%2fjewish%2fVayechi.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=Vayechi+-+Chabad+of+the+West+Side&amp;url=https%3a%2f%2fwww.chabadwestside.org%2ftemplates%2farticlecco_cdo%2faid%2f2425264%2fjewish%2fVayechi.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=Vayechi+-+Chabad+of+the+West+Side https%3a%2f%2fwww.chabadwestside.org%2ftemplates%2farticlecco_cdo%2faid%2f2425264%2fjewish%2fVayechi.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.chabadwestside.org%2ftemplates%2farticlecco_cdo%2faid%2f2425264%2fjewish%2fVayechi.htm%23utm_medium%3dpage_tools%26utm_content%3ddesktop%26utm_source%3dpinterest&amp;description=Vayechi+-+Chabad+of+the+West+Side">
				<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, 66861);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>

	<div id="BodyContainer">
		<div class="g960 footer">
			<div class="poweredby large_bottom_margin">
				


	<div class="footer3"><b>170 W 97th Street | New York, NY 10025-6450 | 212-864-5010 | 501c3 EIN 11-2735027</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>
	
	

	
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/os/jquery-latest.min.js?g=10&v=0293E3EC"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/co/dist/CoLib.js?g=10&v=F809B22F"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/WebComponents/bundles/magen-cdo-global.js?g=10&v=1A38CE64"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/modules/pagetools.js?g=10&v=930B07AB"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/multimedia/infolayer.js?g=10&v=ED1B8531"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/commentsloader.js?g=10&v=AD6AAB79"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/minisites.js?g=10&v=F38E4DA5"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/subscribeprompt.js?g=10&v=86D84DC2"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/deprecated.js?v=D506A83E&g=10"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/OverrideJSDocumentWrite.js?g=10&v=9A0227AA"></script><script>$j = $j.fn ? $j : jQuery;$j(()=>{$q.forEach(f=>{try{f.call(window);}catch(ex){console.error(ex);}});})</script>
	

<script  language="javascript" type="text/javascript"> Co.Settings      = {CacheClassName:'js-cache-default',MosadName:'Chabad of the West Side'}; Co.ArticleId     = '2425264';Co.SectionId     = 4462882;Co.PartnerSiteId = 0;Co.SiteId        = 168;Co.IsMobilePage  = false;Co.IsResponsive  = false;Co.DbDomain      = 'ChabadWestside.org';Co.LanguageCode  = '';Co.LoginStatus   = 'None';</script>
	
	












<script>
// This script applies specific CSS styles only when the user is on a designated URL.

// --- 1. Define the target URL ---
// The styles will only be added if the browser's current URL exactly matches this one.
const targetURL = 'https://www.chabadwestside.org/templates/articlecco_cdo/aid/4462882/jewish/Shul.htm';

// --- 2. Check if the current page is the target page ---
if (window.location.href === targetURL) {
    
    // --- 3. Combine all the CSS rules into a single string ---
    const styles = `
        .article_index_container .article_index.co_index .row .item:hover {
            transform: scale(1.05) !important;
            z-index: 10 !important;
        }
        .article_index_container .co_index.article_index .row .item .synopsis_icon {
            border-radius: 15px !important;
        }
        .article_index_container .article_index.co_index .row .item .title a:hover {
            background: unset !important;
        }
    `;

    // --- 4. Create a new <style> element ---
    const styleSheet = document.createElement("style");
    styleSheet.type = "text/css";
    styleSheet.innerText = styles;

    // --- 5. Add the new <style> element to the <head> of the document ---
    // This applies all the rules to the page.
    document.head.appendChild(styleSheet);
    
    console.log("Custom styles for Shul page have been applied.");

} else {
    console.log("Not on the target Shul page. Custom styles were not applied.");
}
</script><script>
    /* <-----------Upcoming Events---------> */
    // This script will only run on the exact homepage.
    if (window.location.pathname === '/' || window.location.pathname === '/default.aspx') {

        (function() {

            /**
             * Fetches and parses the events page HTML using promises.
             * @returns {Promise<Document | null>} A promise that resolves to a parsed HTML document or null on error.
             */
            function getEventsPage() {
                // Using a cache-busting parameter to ensure fresh data is fetched.
                const url = 'https://www.chabadwestside.org/templates/events.htm?t=' + new Date().getTime();
                return fetch(url)
                    .then(response => {
                        if (!response.ok) {
                            throw new Error(`HTTP error! status: ${response.status}`);
                        }
                        return response.text();
                    })
                    .then(htmlText => {
                        const parser = new DOMParser();
                        return parser.parseFromString(htmlText, 'text/html');
                    })
                    .catch(error => {
                        console.error("Error fetching events page:", error);
                        return null;
                    });
            }

            /**
             * A robust function to parse date strings like "Month Day, Year".
             * @param {string} dateStr - The date string (e.g., "July 29, 2025").
             * @returns {Date | null} A Date object or null if invalid.
             */
            function parseRobustDate(dateStr) {
                const months = {
                    january: 0,
                    february: 1,
                    march: 2,
                    april: 3,
                    may: 4,
                    june: 5,
                    july: 6,
                    august: 7,
                    september: 8,
                    october: 9,
                    november: 10,
                    december: 11
                };

                if (!dateStr) return null;

                // Clean the date string by removing commas and extra spaces.
                const cleanedStr = dateStr.replace(/,/g, '').trim().replace(/\s+/g, ' ');
                const parts = cleanedStr.split(' ');

                if (parts.length < 3) {
                    console.error("Date string could not be parsed into 3 parts:", `"${dateStr}"`, "->", `"${cleanedStr}"`);
                    return null;
                }

                const monthName = parts[0].toLowerCase();
                const day = parseInt(parts[1], 10);
                const year = parseInt(parts[2], 10);

                if (months.hasOwnProperty(monthName) && !isNaN(day) && !isNaN(year)) {
                    return new Date(year, months[monthName], day);
                } else {
                    console.error("Failed to create date from parts:", {
                        month: monthName,
                        day: day,
                        year: year
                    });
                    return null;
                }
            }
            
            /**
             * Parses a time string (e.g., "7:30pm") and applies it to a given date.
             */
            function parseTime(timeString, baseDate) {
                if (!timeString) return null;
                // Updated regex to handle uppercase AM/PM and potential missing space
                const timeMatch = timeString.toLowerCase().match(/(\d{1,2}):(\d{2})?\s*(am|pm)/);
                if (!timeMatch) return null;

                let hours = parseInt(timeMatch[1], 10);
                const minutes = timeMatch[2] ? parseInt(timeMatch[2], 10) : 0;
                const ampm = timeMatch[3];

                if (ampm === 'pm' && hours < 12) hours += 12;
                if (ampm === 'am' && hours === 12) hours = 0; // Midnight case

                const newDate = new Date(baseDate);
                newDate.setHours(hours, minutes, 0, 0);
                return newDate;
            }

            /**
             * Formats a Date object for Google Calendar links.
             */
            function formatGoogleDate(date) {
                if (!date) return '';
                return date.toISOString().replace(/-|:|\.\d{3}/g, '');
            }

            /**
             * Formats a date string like "Tuesday, July 29, 2025" to "TUESDAY JULY 29".
             * @param {string} dateStr - The raw date string from the event element.
             * @returns {string} The formatted date string.
             */
            function formatEventDate(dateStr) {
                if (!dateStr) return '';
                const parts = dateStr.split(','); // e.g., ["Tuesday", " July 29", " 2025"]
                if (parts.length < 2) return dateStr; // Fallback to original if format is unexpected
                // Combine Day (parts[0]) and Month Date (parts[1])
                return `${parts[0]}${parts[1]}`.trim().toUpperCase();
            }

            /**
             * The main function to create and inject the featured events section.
             */
            const runTransformation = () => {
                getEventsPage().then(eventsDocument => {
                    if (!eventsDocument) return;

                    const today = new Date();
                    today.setHours(0, 0, 0, 0);

                    const upcomingEvents = [];
                    // Select all date group containers
                    const allDateGroups = Array.from(eventsDocument.querySelectorAll('#calendar .list_item'));

                    for (const dateGroupEl of allDateGroups) {
                        // Stop looking for events if we already have 10
                        if (upcomingEvents.length >= 10) break;

                        const dateEl = dateGroupEl.querySelector('.date');
                        if (!dateEl) continue;

                        const dateText = dateEl.textContent.trim();
                        // Extract the part of the date string that parseRobustDate can handle (e.g., "August 2, 2025")
                        const parsableDateText = dateText.split(',').slice(1).join(',').trim();
                        const eventDate = parseRobustDate(parsableDateText);

                        // Check if the event is in the future or today
                        if (eventDate && eventDate >= today) {
                            // Find all individual events within this date group
                            const individualEventsInGroup = dateGroupEl.querySelectorAll('.category_item');
                            individualEventsInGroup.forEach(eventEl => {
                                // Add event to our list, but don't exceed 10
                                if (upcomingEvents.length < 10) {
                                    // Store the full date string on the element itself so we can retrieve it later
                                    eventEl.dataset.rawDate = dateText;
                                    // Store the date object (as string) for calendar links
                                    eventEl.dataset.eventDateObj = eventDate.toISOString();
                                    upcomingEvents.push(eventEl);
                                }
                            });
                        }
                    }
                    const featuredEvents = upcomingEvents;

                    if (featuredEvents.length === 0) {
                        console.log("No upcoming events found to display.");
                        return;
                    }

                    // Create a new 'div' element
                    const eventsSection = document.createElement('div');

                    // Set the class name for the element
                    eventsSection.className = 'injected-featured-events-section';

                    // Set the ID for the element
                    eventsSection.id = 'injected-upcoming-events-section';

                    eventsSection.innerHTML = `
                      <div class="injected-featured-events-header">
                        <h2>Upcoming Events</h2>
                        <p>Discover what's happening at Chabad Of The West Side.</p>
                      </div>
                    `;

                    const carouselContainer = document.createElement('div');
                    carouselContainer.className = 'injected-events-carousel-container';
                    const carouselWrapper = document.createElement('div');
                    carouselWrapper.className = 'injected-events-carousel-wrapper';

                    featuredEvents.forEach((eventEl) => {
                        const titleEl = eventEl.querySelector('.event_name');
                        const title = titleEl ? titleEl.textContent.trim() : 'Event Title';

                        // Retrieve the date from the dataset we attached earlier
                        const rawDate = eventEl.dataset.rawDate || '';
                        const formattedDate = formatEventDate(rawDate);
                        
                        // Retrieve the date object for calendar logic
                        const eventDateObj = new Date(eventEl.dataset.eventDateObj);

                        // Get the event time
                        const timeEl = eventEl.querySelector('.event_options > div');
                        let timeText = timeEl ? timeEl.textContent.trim().toUpperCase() : '';

                        // *** MODIFICATION: Add a space before AM/PM if it's missing ***
                        if (timeText) {
                            timeText = timeText.replace(/(\d)([AP]M)$/, '$1 $2');
                        }

                        // Combine date and time for the header
                        const cardHeader = timeText ? `${formattedDate} - ${timeText}` : formattedDate;

                        const descriptionEl = eventEl.querySelector('.event_wrapper > .event_info');
                        
                        // --- *** MODIFICATION: Get innerHTML to preserve paragraphs *** ---
                        const descriptionHTML = descriptionEl ? descriptionEl.innerHTML.trim() : '<p>Join us for a wonderful event.</p>';
                        // Get text-only description for calendar links
                        const descriptionText = descriptionEl ? descriptionEl.textContent.trim() : 'Join us for a wonderful event.';

                        const imageLinkEl = eventEl.querySelector('.more_info a');
                        const imageUrl = imageLinkEl ? imageLinkEl.href : `https://placehold.co/600x400/eee/ccc?text=Event+Image`;

                        // --- *** MODIFICATION: Add 5-digit ID check logic *** ---
                        let learnMoreUrl = '#';
                        const facebookLinkEl = eventEl.querySelector('a[href*="//www.facebook.com/events/"]');
                        if (facebookLinkEl) {
                            const fbHref = facebookLinkEl.href;
                            const match = fbHref.match(/events\/(\d+)/);
                            if (match && match[1]) {
                                const eventId = match[1];
                                if (/^\d{5}$/.test(eventId)) { // Check if ID is exactly 5 digits
                                    learnMoreUrl = `https://www.chabadwestside.org/tools/events/register_cdo/eventid/${eventId}`;
                                } else {
                                    // Original logic for other cases
                                    learnMoreUrl = `https://www.chabadwestside.org/templates/articlecco_cdo/aid/${eventId}`;
                                }
                            }
                        }

                        // --- *** MODIFICATION: Add Calendar Link Logic *** ---
                        let location = 'westside Chabad';
                        const locationEl = eventEl.querySelector('a[href*="maps.google.com"]');
                        if (locationEl) {
                            const tempDiv = document.createElement('div');
                            tempDiv.innerHTML = locationEl.innerHTML.replace(/<br\s*\/?>/gi, ' ');
                            location = tempDiv.textContent.replace(/\s+/g, ' ').trim();
                        }
                        
                        let googleCalLink = '';
                        if (timeText) {
                            const startTime = parseTime(timeText, eventDateObj);
                            if (startTime) {
                                const endTime = new Date(startTime.getTime() + 90 * 60000); // Assume 90 min duration
                                const googleDates = formatGoogleDate(startTime) + '/' + formatGoogleDate(endTime);
                                const params = new URLSearchParams({
                                    action: 'TEMPLATE',
                                    text: title,
                                    dates: googleDates,
                                    details: descriptionText,
                                    location: location,
                                });
                                googleCalLink = `https://www.google.com/calendar/render?${params.toString()}`;
                            }
                        }

                        const calendarLinkEl = eventEl.querySelector('a[href*="eventexport.asp"]');
                        const icsLink = calendarLinkEl ? `https://www.chabadwestside.org${calendarLinkEl.getAttribute('href')}` : null;
                        // --- *** END MODIFICATION *** ---


                        const card = document.createElement('div');
                        card.className = 'injected-event-card';
                        // Use the new cardHeader variable
                        card.innerHTML = `
                          <div class="event-card-header">${cardHeader}</div>
                          <div class="event-card-image">
                              <img src="${imageUrl}" alt="${title}" onerror="this.onerror=null;this.src='https://placehold.co/600x400/eee/ccc?text=Image+Not+Found';">
                          </div>
                          <div class="event-card-body">
                              <h3>${title.toUpperCase()}</h3>
                              <!-- *** MODIFICATION: Use a div to hold the description HTML *** -->
                              <div class="event-description-content">${descriptionHTML}</div>
                              
                              <!-- *** MODIFICATION: Create ONE button container *** -->
                              <div class="event-card-buttons-container">
                                <a href="${learnMoreUrl}" class="event-card-button">Learn More →</a>
                                ${googleCalLink ? `<a href="${googleCalLink}" target="_blank" class="event-card-calendar-button">Add to Google Calendar</a>` : ''}
                                ${icsLink ? `<a href="${icsLink}" class="event-card-calendar-button">Add to Apple/Outlook</a>` : ''}
                              </div>
                          </div>
                        `;
                        carouselWrapper.appendChild(card);
                    });

                    // Add the "View All Events" card at the end
                    const viewAllCard = document.createElement('a');
                    viewAllCard.className = 'injected-event-card view-all-card';
                    // --- *** MODIFICATION: Update "View All" URL *** ---
                    viewAllCard.href = 'https://www.chabadwestside.org/templates/articlecco_cdo/aid/7032786/jewish/Upcoming-Events.htm';
                    viewAllCard.innerHTML = `
                      <div class="view-all-content">
                        <h3>View All</h3>
                        <p>Upcoming Events</p>
                        <span class="view-all-arrow">→</span>
                      </div>
                    `;
                    carouselWrapper.appendChild(viewAllCard);


                    carouselContainer.appendChild(carouselWrapper);
                    eventsSection.appendChild(carouselContainer);

                    const swipeHint = document.createElement('div');
                    swipeHint.className = 'mobile-swipe-hint';
                    swipeHint.innerHTML = '<span>Swipe for more events</span> <span class="arrow">→</span>';
                    eventsSection.appendChild(swipeHint);

                    if (featuredEvents.length > 3) {
                        const prevButton = document.createElement('button');
                        prevButton.className = 'events-carousel-arrow prev';
                        prevButton.innerHTML = '❮';

                        const nextButton = document.createElement('button');
                        nextButton.className = 'events-carousel-arrow next';
                        nextButton.innerHTML = '❯';

                        carouselContainer.appendChild(prevButton);
                        carouselContainer.appendChild(nextButton);

                        let currentIndex = 0;
                        const itemsToShowDesktop = 3;
                        const totalItems = carouselWrapper.children.length;

                        const updateCarousel = () => {
                            if (carouselWrapper.children.length === 0) return;
                            const cardWidth = carouselWrapper.children[0].offsetWidth;
                            const gap = 30;
                            const totalMove = (cardWidth + gap) * currentIndex;
                            carouselWrapper.style.transform = `translateX(-${totalMove}px)`;

                            prevButton.disabled = currentIndex === 0;
                            nextButton.disabled = currentIndex >= totalItems - itemsToShowDesktop;
                        };

                        prevButton.addEventListener('click', () => {
                            if (currentIndex > 0) {
                                currentIndex--;
                                updateCarousel();
                            }
                        });

                        nextButton.addEventListener('click', () => {
                            if (currentIndex < totalItems - itemsToShowDesktop) {
                                currentIndex++;
                                updateCarousel();
                            }
                        });

                        updateCarousel();
                        // Recalculate on resize to handle responsive changes
                        window.addEventListener('resize', updateCarousel);
                    }

                    // --- *** MODIFICATION: Use a more stable selector *** ---
                    // Find the "Mailing List" widget to insert *before* it.
                    const mailingListElement = document.querySelector('div.widget-4.message.custom.feed');
                    if (mailingListElement) {
                        // Find the parent ".hp-row" container for the mailing list
                        const targetRow = mailingListElement.closest('.hp-row');
                        if (targetRow && targetRow.parentElement) {
                            // Insert the new events section *before* the mailing list row
                            targetRow.parentElement.insertBefore(eventsSection, targetRow);
                        } else {
                            console.error("Could not find parent '.hp-row' for mailing list. Appending to body as a fallback.");
                            document.body.appendChild(eventsSection);
                        }
                    } else {
                        console.error("Target element 'div.widget-4.message.custom.feed' (mailing list) not found. Appending to body as a fallback.");
                        document.body.appendChild(eventsSection);
                    }
                    // --- *** END MODIFICATION *** ---
                });
            };

            const injectCSS = () => {
                const style = document.createElement('style');
                style.textContent = `
                    @import url('https://fonts.googleapis.com/css2?family=Raleway:wght@400;700;900&display=swap');

                    .injected-featured-events-section { padding: 60px 20px; background-color: #f0f2f5; font-family: 'Raleway', sans-serif; box-sizing: border-box; }
                    .injected-featured-events-header { text-align: center; margin-bottom: 40px; max-width: 600px; margin-left: auto; margin-right: auto; }
                    .injected-featured-events-header h2 { font-size: 36px; font-weight: 900; color: #2F3C4D; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 10px; font-family: 'Raleway'; }
                    .injected-featured-events-header p { font-size: 16px; color: #666; line-height: 1.6; }
                    .injected-events-carousel-container { position: relative; max-width: 1200px; margin: 0 auto; overflow: hidden; }
                    .injected-events-carousel-wrapper { display: flex; gap: 30px; transition: transform 0.5s ease-in-out; }
                    .injected-event-card { flex: 0 0 calc(33.333% - 20px); background: white; border-radius: 10px; overflow: hidden; box-shadow: 0 8px 25px rgba(0,0,0,0.08); box-sizing: border-box; display: flex; flex-direction: column; }
                    .event-card-header { padding: 8px 15px; font-weight: 700; font-size: 12px; color: #777; background: #f9f9f9; border-bottom: 1px solid #eee; text-align: center; white-space: nowrap; }
                    .event-card-image img { width: 100%; height: 200px; object-fit: cover; display: block; background-color: #eee; }
                    .event-card-body { padding: 25px; flex-grow: 1; display: flex; flex-direction: column; }
                    .event-card-body h3 { font-size: 16px; font-weight: 700; color: #333; margin: 0 0 10px; height: 48px; overflow: hidden; }
                    
                    /* --- *** MODIFICATION: Replaced .event-card-body p with this block *** --- */
                    .event-description-content {
                        font-size: 15px;
                        color: #666;
                        line-height: 1.6;
                        margin: 0 0 20px;
                        flex-grow: 1;
                        /* Removed overflow: hidden to allow text to wrap and grow */
                    }
                    /* This styles any paragraphs *inside* the description */
                    .event-description-content p, .event-description-content div {
                        margin-bottom: 1em; /* Adds spacing between paragraphs */
                    }
                    .event-description-content p:last-child, .event-description-content div:last-child {
                        margin-bottom: 0; /* No margin on the very last paragraph */
                    }
                    /* --- *** END MODIFICATION *** --- */

                    /* --- *** MODIFICATION: Updated main button style *** --- */
                    .event-card-button { 
                        display: inline-block; 
                        background-color: #b99362; 
                        color: white; 
                        padding: 10px 20px; 
                        border-radius: 5px; 
                        text-decoration: none; 
                        font-weight: 800; 
                        transition: background-color 0.2s, border-color 0.2s; 
                        font-size: 13.88px; 
                        line-height: 140%; 
                        border: 1px solid #b99362;
                        text-align: center;
                    }
                    .event-card-button:hover { 
                        background-color: #a38258; 
                        border-color: #a38258;
                    }
                    
                    /* --- *** MODIFICATION: Add styles for button container & calendar buttons *** --- */
                    .event-card-buttons-container {
                        display: flex;
                        flex-wrap: wrap;
                        gap: 10px;
                        align-items: center;
                        margin-top: auto; /* Pushes the container to the bottom */
                        padding-top: 15px;
                        border-top: 1px solid #eee;
                    }
                    .event-card-calendar-button {
                        padding: 10px 20px;
                        border-radius: 5px;
                        text-align: center;
                        cursor: pointer;
                        transition: background-color 0.3s ease, border-color 0.3s ease;
                        text-decoration: none !important;
                        display: inline-block;
                        font-size: 13.88px;
                        font-weight: 800;
                        line-height: 140%;
                        color: rgb(47, 60, 77);
                        background-color: transparent;
                        border: 1px solid #ddd;
                        box-sizing: border-box;
                    }
                    .event-card-calendar-button:hover {
                       background-color: #f7f7f7;
                    }
                    /* --- *** END MODIFICATION *** --- */

                    .events-carousel-arrow { position: absolute; top: 50%; transform: translateY(-50%); background-color: rgba(255, 255, 255, 0.9); border: none; border-radius: 50%; width: 44px; height: 44px; box-shadow: 0 4px 12px rgba(0,0,0,0.15); cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 22px; color: #333; z-index: 10; transition: all 0.2s; }
                    .events-carousel-arrow:hover { background-color: white; transform: translateY(-50%) scale(1.05); }
                    .events-carousel-arrow:disabled { opacity: 0.3; cursor: not-allowed; }
                    .events-carousel-arrow.prev { left: 0px; }
                    .events-carousel-arrow.next { right: 0px; }

                    /* Styles for the 'View All' card */
                    .view-all-card { display: flex; align-items: center; justify-content: center; text-align: center; text-decoration: none; background-color: #e8ebee; transition: background-color 0.3s, box-shadow 0.3s; }
                    .view-all-card:hover { background-color: #dbe0e6; box-shadow: 0 12px 30px rgba(0,0,0,0.12); }
                    .view-all-card .view-all-content { display: flex; flex-direction: column; justify-content: center; align-items: center; }
                    .view-all-card .view-all-content h3, .view-all-card .view-all-content p { height: auto; overflow: visible; margin: 0; }
                    .view-all-card .view-all-content h3 { font-size: 24px; font-weight: 900; color: #2F3C4D; margin-bottom: 5px; text-transform: uppercase; }
                    .view-all-card .view-all-content p { font-size: 16px; color: #666; margin-bottom: 15px; }
                    .view-all-card .view-all-arrow { font-size: 36px; font-weight: bold; color: #b99362; line-height: 1; }
                    
                    .mobile-swipe-hint { display: none; text-align: center; margin-top: 20px; font-family: 'Raleway', sans-serif; color: #555; font-size: 14px; align-items: center; justify-content: center; gap: 8px; }
                    .mobile-swipe-hint .arrow { font-size: 18px; line-height: 1; font-weight: bold; }

                    @media (max-width: 1200px) {
                      .events-carousel-arrow.prev { left: 15px; }
                      .events-carousel-arrow.next { right: 15px; }
                    }
                    @media (max-width: 900px) {
                      .injected-event-card { flex-basis: calc(50% - 15px); }
                    }
                    
                    @media (max-width: 600px) {
                      .injected-featured-events-header h2 { font-size: 28px; }
                      .injected-events-carousel-container { overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; -ms-overflow-style: none; padding: 0 20px; margin: 0 -20px; }
                      .injected-events-carousel-container::-webkit-scrollbar { display: none; }
                      .injected-events-carousel-wrapper { width: max-content; transform: none !important; padding-right: 20px; }
                      .injected-event-card { flex-basis: 80vw; scroll-snap-align: start; }
                      .events-carousel-arrow { display: none; }
                      .mobile-swipe-hint { display: flex; }
                      
                      /* --- *** MODIFICATION: Stack buttons on mobile *** --- */
                      .event-card-buttons-container {
                          flex-direction: column;
                          align-items: stretch;
                      }
                      .event-card-button, .event-card-calendar-button {
                          width: 100%;
                      }
                    }
                  `;
                document.head.appendChild(style);
            };

            // Wait for the DOM to be ready before running the script
            if (document.readyState === 'complete' || document.readyState === 'interactive') {
                runTransformation();
            } else {
                window.addEventListener('DOMContentLoaded', runTransformation);
            }

            injectCSS();

        })();
    }
</script><script>
document.addEventListener('DOMContentLoaded', function() {
    /**
     * This script adds a new top-level tab for "Visitor Information"
     * to the main navigation menu, placing it before the "About" tab.
     */

    // 1. Find the "About" tab, which we'll use as a reference point for insertion.
    const aboutTab = document.querySelector('td.co_menu_item[aid="4461917"]');

    // 2. Check if the "About" tab exists to ensure we're on the right page.
    if (aboutTab && aboutTab.parentNode) {
        const menuRow = aboutTab.parentNode; // This is the <tr> containing all the tabs.

        // 3. Define the properties for the new tab.
        const tabLink = "/templates/articlecco_cdo/aid/2252272/jewish/Visitor-Information.htm";
        const tabText = "Visitor Information";
        const tabAid = "2252272";

        // 4. Create the new table cell (<td>) for the "Visitor Information" tab.
        const visitorTab = document.createElement('td');
        visitorTab.className = "co_menu_item";
        visitorTab.setAttribute('aid', tabAid);
        visitorTab.setAttribute('data-menu-level', '1');
        visitorTab.setAttribute('onmouseover', "this.className += ' hover';");
        visitorTab.setAttribute('onmouseout', "this.className = this.className.replace(/\\shover/gi, '');");
        visitorTab.style.visibility = 'visible';

        // 5. Populate the new tab with the necessary HTML structure for a simple link.
        // This structure mimics the other simple tabs in the navigation bar.
        visitorTab.innerHTML = `
            <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="${tabLink}" class="parent">${tabText}</a>
                </div>
            </span>
            <a href="${tabLink}" class="bg_extension js-parent-menu-link" data-aid="${tabAid}"></a>
        `;

        // 6. Create the divider that will appear after the new tab.
        const divider = document.createElement('td');
        divider.className = "co_menu_item_divider";
        divider.style.visibility = 'visible';
        divider.innerHTML = '<img src="https://w2.chabad.org/images/global/spacer.gif" width="2" height="1" border="0">';

        // 7. Insert the new tab and the new divider into the menu row right before the "About" tab.
        menuRow.insertBefore(visitorTab, aboutTab);
        menuRow.insertBefore(divider, aboutTab);

    } else {
        // Log a message for debugging if the "About" tab isn't found.
        console.log("Could not find the 'About' menu tab to insert the new tab.");
    }
});
</script>
</body>
</html>