<!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="Tzav" />
<meta name="title" content="Tzav - Chabad of the West Side" />
<meta property="og:type" content="website" />
<meta name="scope-aids" content="56130-56134-4462882-4461964-64482-66861-129684" />
<meta name="article-keywords" content="23083-1675-1709-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="129684" />
<meta name="article-keyword" content="23083" />
<meta name="article-keyword" content="1675" />
<meta name="article-keyword" content="1709" />
<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/129684/jewish/Tzav.htm" />
<meta property="twitter:card" content="summary_large_image" />
<meta property="twitter:site" content="@chabad" />
<meta property="og:title" content="Tzav" /><link rel="canonical" href="https://www.chabadwestside.org/templates/articlecco_cdo/aid/129684/jewish/Tzav.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?v=2D6ABDDB" id="kfont-awesome" type="text/css"/>
<link rel="Stylesheet" href="/css/DefaultGrid.css?v=A13D74E8" id="kgrid" type="text/css"/>
<link rel="Stylesheet" href="/css/Elements.css?v=3A4C63F4" id="k6" type="text/css"/>
<link rel="Stylesheet" href="/css/vendor/ds/tokens/sites.css?v=72A49647" id="ksites-ds-css" type="text/css"/>
<link rel="Stylesheet" href="/css/new/main.css?v=BB63DD50" id="k7" type="text/css"/>
<link rel="Stylesheet" href="https://w2.chabad.org/css/cco/minisites/global.css" id="k20962" type="text/css"/>
<link rel="Stylesheet" href="/css/old/global.css?v=43DDBA77" 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=9/8/2026" id="k23083" type="text/css"/>
<link rel="Stylesheet" href="/css/bootstrap/grid.css?v=F4390F2B" id="kbootstrap4-grid" type="text/css"/>
<link rel="Stylesheet" href="/css/Library/reader-comments.css?v=8AB57D79" id="kCommentsStylesheet" type="text/css"/>
<link rel="Stylesheet" href="/css/inline/BookInfo.css?v=3D052243" id="kBookInfoCss" type="text/css"/>

<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":"2004-04-02","primaryArticleId":129684,"title":"Tzav","author":"","authorId":0,"contentLevel1":"My Site","contentLevel2":"Shul","contentLevel3":"Torah Study Opportunities","contentLevel4":"Torah for the Times","contentLevel5":"Torah Fax Archives","contentLevel6":"Tzav","siteName":"Chabad of the West Side"},"time":{"upcomingHoliday":"Shemini Atzeret &amp; Simchat Torah","daysToUpcomingHoliday":0,"hebrewDate":"5787-07-22"}});
		dataLayer.push({ 'articleHierarchy': '-56130-56134-4462882-4461964-64482-66861-129684-', 'keywords': '-k20962-k2898-k2170-k23081-k8495-k1709-k1675-k23083-', 'k': '-56130-56134-4462882-4461964-64482-66861-129684--k20962-k2898-k2170-k23081-k8495-k1709-k1675-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>
	Tzav - 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">Tzav</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="Tzav" />

<meta itemprop="image" content="" />


<meta itemprop="uploadDate" content="2004-04-02T03:41:29" />
<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="2004-04-02T03:41:29" />
			<div itemprop="articleBody">
				<co:body xmlns:co="www1.chabadonline.com/alpha1" xmlns:ext="urn:xslt-extensions">
  <div class="co_body article-body cf">
<p>
      <font face="Arial">
        <font face="Verdana">Torah Fax</font>
      </font>
    </p>
<p><em><font size="2">Friday, April 2, 2004 - 11 Nissan, 5764</font></em></p>
<p>
      <font face="Arial">
        <font face="Verdana">
          <font face="Arial">
            <font face="Arial">Torah Reading: Tzav (Leviticus 6:1 - 8:36)
<br>
 <strong>Candle Lighting Time: 6:04 PM
<br></strong> Shabbat Ends: 7:05 PM
<br>
 Shabbat HaGadol </font>
          </font>
        </font>
      </font>
    </p>
<p>
      <font face="Arial">
        <font face="Verdana">
          <font face="Arial">
            <font face="Arial">
              <font size="5">
                <font color="#66CCFF"><strong>Time For Maturity</strong></font>
              </font>
            </font>
          </font>
        </font>
      </font>
    </p>
<p>
      <font face="Arial">There are many reasons given for the designation of this Shabbat, the one that precedes Passover, as Shabbat Hagadol-the Great Sabbath. The primary reason given is that on the Sabbath immediately preceding the Exodus from Egypt the Egyptians were informed of the impending "tenth plague" in which all the Egyptian first born would die. Upon hearing this, many of the first-born demanded of the Egyptian leadership to let the Jews go. When they refused, a civil war ensued. Hence from that time onward, we mark this Shabbat as Shabbat Hagadol-the Great Shabbat because of the great miracle that occurred then.</font>
    </p>
<p>
      <font face="Arial">One is entitled to ask, why is this miracle considered so great? It did not involve any supernatural occurrences, nor did it seem to have helped the Jews in any meaningful way.  More specifically, we must understand why the term gadol-great is used in connection with this  Shabbat? It could have been called, "Shabbat  haness-the Sabbath of the miracle," or some other similar expression.</font>
    </p>
<p>
      <font face="Arial">The Hebrew term gadol implies maturity and independence, as the Talmud states: "An adult child who is supported by his father is considered a minor, whereas, a minor who is independent is regarded as a gadol." Hence the word 'gadol' is not intended to convey the idea that it was a great and spectacular miracle, but rather that it was a miracle that demonstrated a level of maturity. The fact that the Egyptian elite fought against their own leaders on behalf of the Jewish people was a sign of their independence and maturity.</font>
    </p>
<p>
      <font face="Arial">This Sabbath is thus intended, among other things, to cultivate spiritual maturity in each and every one of us. This maturity can be applied to every aspect of life in general and to every aspect of Judaism in particular.  For example: One can look at a Mitzvah simply as a good deed, or a beautiful Jewish tradition.  Another more "mature" and sophisticated view of a mitzvah is to see it as our way of "connecting" with G‑d. Moreover, a Mitzvah affects more than just the people involved in its performance; it has cosmic effects, for it is the medium that shapes and molds the entire universe to conform to the very purpose G‑d had for its creation.</font>
    </p>
<p>
      <font face="Arial">Similarly, one can view the Torah simply as a beautiful piece of literature that teaches us right from wrong. This is true and valid. Yet a more advanced  and mature approach to the Torah is to view it as Divine wisdom that transcends all aspects of creation.</font>
    </p>
<p>
      <font face="Arial">With respect to freedom, which we celebrate on Passover, there can also be two perspectives. The "immature" view of freedom is to see it as an end. The more mature view is to view it as an opportunity to rise to a higher spiritual level. In its simple formulation, freedom is the removal of external constraints; while a more mature and advanced understanding of freedom sees it as removal of the internal forces that inhibit us as well.</font>
    </p>
<p>
      <font face="Arial">In short, the less sophisticated level sees things in their most narrow sense, the view of the gadol, the mature view that is represented by this Sabbath, sees everything in its broader and deeper context.</font>
    </p>
<p>
      <font face="Arial">One could raise the question, why is Shabbat hagadol-that gives us the ability to see things through the mature eyes of a gadol-situated right before Pesach? Why don't we have a "Shabbat of Maturity" before Rosh Hashanah, or at some other time of the year?  Moreover, the Holiday of Passover seems to focus on the katan, the child: Children ask the "Four Questions;" we read about the "Four Sons," and indeed, many of the customs of the Seder revolve around children. Passover is also seen by the Prophet as the birth and infancy of the Jewish people. How then is it that precisely before this child-oriented holiday, we have a Sabbath that highlights the level and role of the gadol-the fully mature individual?</font>
    </p>
<p>
      <font face="Arial">The answer is that while a person must go from the level of a newborn to the level of maturity, one step at a time, one must know, from the very outset, that there is a higher and more advanced level. Even one who is just beginning his/her development must be made aware of the goal and objective of one's life. The little girl or boy will play house, acting out the adult roles of mother and father. A healthy child fantasizes about adulthood. This Shabbat then can be viewed as our collective adult role playing.</font>
    </p>
<p>
      <font face="Arial">Conversely, the fact that we follow the "Shabbat of Maturity" with an emphasis on the child, conveys yet another profound message: no matter how sophisticated we are, we must always seek to find and reveal the child within all of us, because it is that childhood innocence and purity that is truly liberating and G‑dly. Hence the Passover season is a synthesis of maturity and childhood. We attempt to see things from a mature vantage point, even while we capture the untainted innocence of the child within.</font>
    </p>
<p>
      <font face="Arial">The foregoing analysis explains why the future Messianic Age is characterized both as a time when we will experience total child-like innocence and purity, while simultaneously attaining complete maturity.  </font>   
<br>
 <font face="Arial"><br></font>
      <font color="#66CCFF" size="4">Moshiach Matters</font>
    </p>
<p>Why should we, of all generations, merit the revelations of the forthcoming Messianic Era? Surely our ancestors were more deserving than the present generation! However, it does not depend on personal merit, but rather on the degree of purity and holiness the world has reached.</p>
<p>
      <font face="Arial">For more info, visit <a title="http://www.moshiach.com/" href="http://www.moshiach.com/">www.moshiach.com</a></font>
    </p>
<p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA">© 2001 - 2005 Chabad of the West Side</span></p>
  </div>
</co:body>
			</div>
			

			<div class="break_floats"></div>
			
	<div class="break_floats"></div>
	

<div class="content-footer">
	
	
	
	
		<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/130308/jewish/Shemini.htm" data-aid="130308">Shemini</a>
		</li>
		
	
		<li class="small-links__item ">
			
			<a class="link_item" href="/templates/articlecco_cdo/aid/131351/jewish/Tazriah-Metzorah.htm" data-aid="131351">Tazriah-Metzorah</a>
		</li>
		
	
		<li class="small-links__item ">
			
			<a class="link_item" href="/templates/articlecco_cdo/aid/132614/jewish/Acharei-Kedoshim.htm" data-aid="132614">Acharei-Kedoshim</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/133325/jewish/Emor.htm" data-aid="133325">Emor</a>
		</li>
		
	
		<li class="small-links__item ">
			
			<a class="link_item" href="/templates/articlecco_cdo/aid/134741/jewish/BeHar-BeChukotai.htm" data-aid="134741">BeHar - BeChukotai</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>
		
		
	</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?v=278824AF"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/co/dist/CoLib.js?v=CC07618E"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/WebComponents/bundles/magen-cdo-global.js?v=5457FBE7"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/multimedia/infolayer.js?v=ED1B8531"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/article/comments/reply-form-controller.js?v=DC70C970"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/commentsloader.js?v=AD6AAB79"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/minisites.js?v=F38E4DA5"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/subscribeprompt.js?v=86D84DC2"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/deprecated.js?v=D506A83E"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/OverrideJSDocumentWrite.js?v=9A0227AA"></script><script>$j = $j.fn ? $j : jQuery;$j(()=>{$q.forEach(f=>{try{f.call(window);}catch(ex){console.error(ex);}});})</script>
	

<script  language="javascript" type="text/javascript"> Co.Settings      = {CacheClassName:'js-cache-default',MosadName:'Chabad of the West Side'}; Co.ArticleId     = '129684';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>