<!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="VaYakhel" />
<meta name="title" content="VaYakhel - Chabad of the West Side" />
<meta property="og:type" content="website" />
<meta name="scope-aids" content="56130-56134-4462882-4461964-64482-66861-1447524" />
<meta name="article-keywords" content="23083-6760-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="1447524" />
<meta name="article-keyword" content="23083" />
<meta name="article-keyword" content="6760" />
<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/1447524/jewish/VaYakhel.htm" />
<meta property="twitter:card" content="summary_large_image" />
<meta property="twitter:site" content="@chabad" />
<meta property="og:title" content="VaYakhel - Chabad of the West Side" /><link rel="canonical" href="https://www.chabadwestside.org/templates/articlecco_cdo/aid/1447524/jewish/VaYakhel.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=20&v=98662BF4" id="kfont-awesome" type="text/css"/>
<link rel="Stylesheet" href="/css/DefaultGrid.css?g=20&v=44B79007" id="kgrid" type="text/css"/>
<link rel="Stylesheet" href="/css/Elements.css?g=20&v=E669C926" id="k6" type="text/css"/>
<link rel="Stylesheet" href="/css/vendor/ds/tokens/sites.css?g=20&v=D77AD1C0" id="ksites-ds-css" type="text/css"/>
<link rel="Stylesheet" href="/css/new/main.css?g=20&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=20&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=20&v=B92FCAD8" id="kbootstrap4-grid" type="text/css"/>
<link rel="Stylesheet" href="/css/Library/reader-comments.css?g=20&v=5F31D0D8" id="kCommentsStylesheet" type="text/css"/>
<link rel="Stylesheet" href="/css/inline/BookInfo.css?g=20&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":"2011-02-24","primaryArticleId":1447524,"title":"","author":"","authorId":0,"contentLevel1":"My Site","contentLevel2":"Shul","contentLevel3":"Torah Study Opportunities","contentLevel4":"Torah for the Times","contentLevel5":"Torah Fax Archives","contentLevel6":"VaYakhel","siteName":"Chabad of the West Side"},"time":{"upcomingHoliday":"The Three Weeks","daysToUpcomingHoliday":36,"hebrewDate":"5786-03-11"}});
		dataLayer.push({ 'articleHierarchy': '-56130-56134-4462882-4461964-64482-66861-1447524-', 'keywords': '-k20962-k2898-k2170-k23081-k8495-k6760-k23083-', 'k': '-56130-56134-4462882-4461964-64482-66861-1447524--k20962-k2898-k2170-k23081-k8495-k6760-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><script>
if (window.location.pathname.toLowerCase() === "/templates/articlecco_cdo/aid/6002444/jewish/chabad-hebrew-school.htm") {
    window.location.replace("https://chabadfamilyprograms.org/chs");
}
</script><title>
	VaYakhel - 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" class="content_full_width">
<div class="chabad_left_column content_full_width">
<div detached="true" type="static" id="ContentArea" name="content_area" actions="edit,delete" class="chabad_left_column"><div id="content_page_full" class="content_page_full"><!-- 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">VaYakhel</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="2011-02-24T22:08:02" />
<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="2011-02-24T22:08:02" />
			<div itemprop="articleBody">
				<co:body xmlns:co="www1.chabadonline.com/alpha1" xmlns:ext="urn:xslt-extensions">
  <div class="co_body article-body cf">
    <p><span style="font-family: Times New Roman"><font size="4"><strong>Torah Fax    
<br></strong></font>
<br>
 <span style="font-size: 14px">Friday - Shabbat, February 25 - 26 Parshat Ki Tisah </span></span></p>
<p><span style="font-size: 14px; font-family: Times New Roman">Torah Reading: VaYakhel (Exodus 35:1 -38:20)
<br>
 <strong>Candle Lighting  5:24 PM</strong>
<br>
 Shabbat ends 6:25 PM<em><strong> </strong></em></span></p>
<p><span style="font-size: 24px; font-family: Times New Roman"><strong><font face="Tahoma" color="#0000ff">Fire Extinguishers</font></strong>  </span></p>
<p><span style="font-size: 14px; font-family: Times New Roman"><em>One of Thirty-Nine</em></span></p>
<p><span style="font-size: 14px; font-family: Times New Roman">This week’s Parsha of Vayakhel begins with Moses gathering the entire Jewish nation to convey to them G‑d’s instructions concerning the building of the Mishkan, the portable Sanctuary used in the desert.  However, before discussing the details of the contributions to the Mishkan and its construction, Moses transmits to them G‑d’s command concerning the Shabbat: “For six days work shall be done, but the seventh day should be holy for you, a day of complete rest to G‑d.”</span></p>
<p><span style="font-size: 14px; font-family: Times New Roman">Immediately after this general exhortation to observe the Shabbat by refraining from work, Moses mentions one of the thirty-nine forms of work prohibited on the Shabbat: “You should not kindle fire in any of your dwelling places on the Sabbath day.”</span></p>
<p><span style="font-size: 14px; font-family: Times New Roman">From Talmudic times to the present, our Sages and Torah commentators have addressed the question as to why the Torah mentions only this one Sabbath prohibition. All of the thirty-nine categories of proscribed work are derived in the Talmud by the way the Torah juxtaposes the commandment to build the Mishkan with the requirement to rest on the Shabbat. From this we derive that all those activities that were instrumental in the construction of the Mishkan may not be performed on Shabbat. Why then does the Torah have to specify the prohibition against lighting a fire if it is already implied and included in the general command against work on Shabbat?</span></p>
<p><span style="font-size: 14px; font-family: Times New Roman"><em>Avoid Discord  </em>         </span></p>
<p><span style="font-size: 14px; font-family: Times New Roman">One answer with an ethical focus has been offered in which the commandment against lighting a fire is to be understood allegorically as a reference to disputes in which fiery anger and passion are kindled and are very likely to disrupt the tranquility of the Shabbat. The Torah’s message here is thus: While discord and strife is a destructive fire that should be avoided every day of the week, it is even more damaging when it occurs on the Shabbat.</span></p>
<p><span style="font-size: 14px; font-family: Times New Roman">But what precisely is the relationship between this form of fire and the Shabbat? And why is this specific aspect of Sabbath desecration mentioned here in the context of building a Mishkan? The commandment to observe the Sabbath is mentioned several times in the Torah. Why then was this specific command concerning lighting fires not mentioned before? And, more generally, why does the Torah link the laws concerning the Shabbat with the construction of the Msihkan?</span></p>
<p><span style="font-size: 14px; font-family: Times New Roman">To answer all these questions we must first understand at least one aspect of the spiritual dimension of the Shabbat.         </span></p>
<p><span style="font-size: 14px; font-family: Times New Roman"><em>Beyond Rest</em></span></p>
<p><span style="font-size: 14px; font-family: Times New Roman">Shabbat is more than just a day of rest. It is the day that brings perfection to the entire week that precedes it. When we engage in our everyday activities during the work week—with which we attempt to construct our own personal sanctuaries for G‑d—we may not consciously feel our connection to G‑d. Even when we devote time for daily Torah study and do our best to observe all of the commandments that govern our lives, we frequently feel that the weekday and work-related pressures deprive our Torah study and Mitzvot observance of some, if not most, of their power. Our minds and hearts may be in some other place, and our actions suffer from a lack of soul. Our Mishkans collapse.</span></p>
<p><span style="font-size: 14px; font-family: Times New Roman">All of these distractions can, happily, be remedied with the onset of the Sabbath. Shabbat, with its heightened spirituality, has the capacity to perfect our Torah study and Mitzvot observance and thereby reverse all of the shortcomings of the preceding week. Shabbat, Chassidic thought asserts, not only gives us a respite from the negativity that we experienced during our weekday activities, it actually elevates the days and activities of the past week. </span></p>
<p><span style="font-size: 14px; font-family: Times New Roman">This concept is based on the Chassidic interpretation of the words we recite in the Kiddush recited as we usher in the Shabbat every Friday night. In this prayer we cite the verse in Genesis that states:</span></p>
<p><span style="font-size: 14px; font-family: Times New Roman">“The heavens, the earth and all their hosts were completed. On the seventh day, He rested from all His work that he had done.”</span></p>
<p><span style="font-size: 14px; font-family: Times New Roman"><em>Completed and Made Complete</em></span></p>
<p><span style="font-size: 14px; font-family: Times New Roman">By employing the term “completed” the Torah is simply stating that G‑d finished the work of creation before the onset of the first Sabbath. According to Chassidic thought the term “completed” conveys a much more profound idea: all the works which He did during the preceding six days were made complete on the Shabbat.</span></p>
<p><span style="font-size: 14px; font-family: Times New Roman">Without the Shabbat, G‑d’s handiwork is incomplete. By definition then, all of our creations are inherently flawed because we are finite beings. Perfection is the province of the Divine.</span></p>
<p><span style="font-size: 14px; font-family: Times New Roman">When G‑d created the universe during the six days of creation, He withdrew His infinite light to allow for a finite world. However, Shabbat is when G‑d removes the shield that eclipses His infinite light and allows G‑dly perfection to enter the world. As long as we do not create our own obstructions that prevent the infinite light to enter our lives, we can access the world of Divine perfection. As a result, all of our flawed efforts of the past week are endowed with a dimension of G‑dly perfection.</span></p>
<p><span style="font-size: 14px; font-family: Times New Roman">Generally speaking, the things that we can do to render us resistant to the prevailing infinite light on the Shabbat are the thirty-nine forms of work the Torah prohibits. These activities are essentially physically creative acts that demonstrate our own abilities to change the world. G‑d gave us these talents to become His partners in creation. By utilizing these talents we can make the world a better place, one that is suitable for human existence. Once the world is a civilized, habitable world, we can then introduce into it G‑dly energy and transform the world—micro and macro—into a Mishkan.</span></p>
<p><span style="font-size: 14px; font-family: Times New Roman">If, however, we begin to believe in our own abilities and ingenuity and imagine ourselves capable of changing the world without the introduction of the Divine element, we are destined to fail. Only when we withdraw from active creation during Shabbat and disengage from the finite can we become receptive to the Infinite. And the consequence of that is that we acquire the capability of retroactively investing our weekday efforts with the ability to truly make the world holy. By observing the Shabbat all of our efforts at constructing the Mishkan during the preceding week are crowned with success.</span></p>
<p><span style="font-size: 14px; font-family: Times New Roman">However, in addition to the general need to desist from the thirty-nine forms of work (as a means of guaranteeing that the construction of our ”Mishkan” during the week will become meaningful and perfected) there is one other specific imperative for Shabbat to “succeed.”</span></p>
<p><span style="font-size: 14px; font-family: Times New Roman"><em>A Barrier to Shabbat   </em>        </span></p>
<p><span style="font-size: 14px; font-family: Times New Roman">If Shabbat turns into a day of division, it creates a new barrier to the realization of the Infinite state of perfection. If the leisure time afforded us by our absence of work should lead to strife and conflict, the perfection of the week on Shabbat is lost to us.</span></p>
<p><span style="font-size: 14px; font-family: Times New Roman">There is a Kabbalistic aphorism: “The Holy one, Blessed is He dwells only in a whole location.” This echoes the sentiment expressed in our daily prayer known as Sim Shalom: “Bless us our father, all of us together as one.” Where does G‑d’s blessing dwell? In a place of peace and harmony, when we are “all as one.” Our Sages articulated this idea most forcefully and poignantly—at the very end of the Mishnah—“G‑d could not find a vessel that contains a blessing other than that of peace, as it says, ‘G‑d will give His people strength; G‑d will bless His nation with peace.’”          </span></p>
<p><span style="font-size: 14px; font-family: Times New Roman">There is no place more holy than the Mishkan, and no time more holy and harmonious than the Shabbat. Only our “fires” of anger and discord can undermine our ability to access the extraordinary blessing of the Shabbat.</span></p>
<p><span style="font-size: 14px; font-family: Times New Roman">Thus prior to commanding us about building the Mishkan in the six work days the Torah commands us to observe the Shabbat. This is to underscore that if we want the Divine to dwell in our midst during the week we must properly observe the Shabbat. And the Torah follows this command with the one of not lighting a fire to underscore that the Shabbat functions as it was designed to only when there is tranquility, peace and unity in our midst. If the fires are kindled on the Shabbat this denies us the opportunity to touch the Infinite.</span></p>
<p><span style="font-size: 14px; font-family: Times New Roman">*    *    *</span></p>
<p><span style="font-size: 14px; font-family: Times New Roman"><em>The Vessel for the Light of Moshiach   </em>     </span></p>
<p><span style="font-size: 14px; font-family: Times New Roman">The last time we were privileged to hear the Rebbe’s words spoken in public in 1992, the Rebbe emphasized the theme of Vayakhel: “And he gathered,” with which this week’s parsha commences, that underscores the theme of unity.</span></p>
<p><span style="font-size: 14px; font-family: Times New Roman">For eleven months prior to this talk the Rebbe spoke to us consistently and persistently about the imminence of Moshiach’s coming and the true and complete Geulah. The Rebbe also illuminated the straightforward path we ought to take to prepare ourselves for the Messianic Era: by learning the Torah’s teachings about Moshiach and translating this knowledge into our conduct in our daily lives. In the final Shabbat before the Rebbe suffered a stroke, his final instruction to us to date was: Vayakhel: Jewish unity!</span></p>
<p><span style="font-size: 14px; font-family: Times New Roman">Why?</span></p>
<p><span style="font-size: 14px; font-family: Times New Roman">Moshiach represents the introduction of a revolutionary measure of G‑dly light and goodness into the world. It is called "the Shabbat of existence." It is the ultimate manifestation of blessing which will engulf the world, bringing perpetual goodness, holiness and peace in its wake. However, to be receptive to the phenomenal blessing of Moshiach we need peace and unity that is based on genuine Ahavat Yisrael.</span></p>
<p><span style="font-family: Times New Roman"><span style="font-size: 14px">May we all take the Rebbe's message to heart and focus our collective energies on that which unites us. And may we march towards the final Redemption as one unified nation with the spirit of boundless joy! 
<br>
<br></span> <span style="font-size: 14px"><span style="color: #0000ff"><strong>Moshiach Matters </strong> 
<br></span>
<br>
 "The rulership of King David (and his descendants) is eternal. Even during the Exile ‘King David is alive and well’ (See prayer for sanctification of the New Moon). If at times it is not apparent, it is merely because the Davidic leadership is temporarily hidden...." (The Rebbe Rashab, 5th Rebbe of Chabad, 1917)</span></span></p>
<p><span style="font-size: 14px; font-family: Times New Roman">Moshiach - It’s a Jewish issue. For more info, visit</span> <span style="font-size: 14px"><a href="http://www.moshiach.com/"><span style="font-family: Times New Roman">www.moshiach.com</span></a><span style="font-family: Times New Roman"> 
<br>
 © 2001- 2011 Chabad of the West Side<em> </em></span></span></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/1453704/jewish/Pekudei.htm" data-aid="1453704">Pekudei</a>
		</li>
		
	
		<li class="small-links__item ">
			
			<a class="link_item" href="/templates/articlecco_cdo/aid/1484332/jewish/Tazriah.htm" data-aid="1484332">Tazriah</a>
		</li>
		
	
		<li class="small-links__item ">
			
			<a class="link_item" href="/templates/articlecco_cdo/aid/1491607/jewish/Metzorah.htm" data-aid="1491607">Metzorah</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/1497317/jewish/Acharei.htm" data-aid="1497317">Acharei</a>
		</li>
		
	
		<li class="small-links__item ">
			
			<a class="link_item" href="/templates/articlecco_cdo/aid/1550116/jewish/Shelach.htm" data-aid="1550116">Shelach</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></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%2f1447524%2fjewish%2fVaYakhel.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=VaYakhel+-+Chabad+of+the+West+Side&amp;url=https%3a%2f%2fwww.chabadwestside.org%2ftemplates%2farticlecco_cdo%2faid%2f1447524%2fjewish%2fVaYakhel.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=VaYakhel+-+Chabad+of+the+West+Side https%3a%2f%2fwww.chabadwestside.org%2ftemplates%2farticlecco_cdo%2faid%2f1447524%2fjewish%2fVaYakhel.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%2f1447524%2fjewish%2fVaYakhel.htm%23utm_medium%3dpage_tools%26utm_content%3ddesktop%26utm_source%3dpinterest&amp;description=VaYakhel+-+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=20&v=0293E3EC"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/co/dist/CoLib.js?g=20&v=F809B22F"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/WebComponents/bundles/magen-cdo-global.js?g=20&v=95D39855"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/modules/pagetools.js?g=20&v=930B07AB"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/multimedia/infolayer.js?g=20&v=ED1B8531"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/commentsloader.js?g=20&v=AD6AAB79"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/minisites.js?g=20&v=F38E4DA5"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/subscribeprompt.js?g=20&v=86D84DC2"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/deprecated.js?v=D506A83E&g=20"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/OverrideJSDocumentWrite.js?g=20&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     = '1447524';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>