<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="en" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
<meta name="exclude-custom-search" content="true" />
<meta name="scope-aids" content="4445780-4445793" />
<meta name="article-keywords" content="9928-537-2170-2898" />
<meta name="scope-aid" content="4445780" />
<meta name="scope-aid" content="4445793" />
<meta name="article-keyword" content="9928" />
<meta name="article-keyword" content="537" />
<meta name="article-keyword" content="2170" />
<meta name="article-keyword" content="2898" />
<meta property="og:url" content="https://www.chabadlaurel.org/" />
<meta property="twitter:card" content="summary_large_image" />
<meta property="twitter:site" content="@chabad" />
<meta property="og:title" content="Chabad of Greater Laurel" />
<link rel="canonical" href="https://www.chabadlaurel.org/" />
<link rel="Stylesheet" href="/css/Library/reader-comments.css?v=5F31D0D8" id="kCommentsStylesheet" type="text/css"/>
<link rel="Stylesheet" href="/css/fonts/font-awesome/font-awesome-5.css?v=98662BF4" id="kfont-awesome" type="text/css"/>
<link rel="Stylesheet" href="/css/DefaultGrid.css?v=44B79007" id="kgrid" type="text/css"/>
<link rel="Stylesheet" href="/css/Elements.css?v=E669C926" id="k6" type="text/css"/>
<link rel="Stylesheet" href="/css/vendor/ds/tokens/sites.css?v=30C57FF9" id="ksites-ds-css" type="text/css"/>
<link rel="Stylesheet" href="/css/new/main.css?v=2B7F734E" id="k7" type="text/css"/>
<link rel="Stylesheet" href="/css/global.css?v=D37C5613" id="k3" type="text/css"/>
<link rel="Stylesheet" href="/css/global-print.css?v=1FE80AC1" id="k5" type="text/css" media="print"/>
<link rel="Stylesheet" href="/css/cco/home/widget-styles.css?v=B14CEBA0" id="k6" type="text/css"/>
<link rel="Stylesheet" href="/css/sites6/default-theme.css?v=F68E803F" id="k" type="text/css"/>
<link rel="Stylesheet" href="/css/old/global.css?v=F7C22456" id="k2898" type="text/css"/>
<link rel="Stylesheet" href="/css/cco/home/default/prettyPhoto.min.css?v=E5A10EA0" id="kprettyPhoto" type="text/css"/>
<!--[if lte IE 8]> <link rel="Stylesheet" href="/css/global-ie.css?v=E699B0F3" id="k4" type="text/css"/> <![endif]-->
<!--[if lte IE 8]> <link rel="Stylesheet" href="/css/cco/IEfix.css?v=26E38FB6" id="kfix IE7 styling issues" type="text/css"/> <![endif]-->
<!-- Co:JsonLdResources --><script>$q=[];$j=function(f){$q.push(f);}</script><title>
Chabad of Greater Laurel
</title>








<script>
	window.dataLayer = window.dataLayer || [];
	dataLayer.push({"event":"datalayer-initialized","page":{"numberOfComments":0,"publicationDate":"2019-07-25","primaryArticleId":4445793,"title":"Custom Home Page (9142)","author":"","authorId":0,"siteName":"Chabad of Greater Laurel"},"time":{"upcomingHoliday":"The Three Weeks","daysToUpcomingHoliday":11,"hebrewDate":"5786-04-06"}});
		dataLayer.push({ 'articleHierarchy': '-4445780-4445793-', 'keywords': '-k2898-k2170-k537-k9928-', 'k': '-4445780-4445793--k2898-k2170-k537-k9928-' });
	
</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 = 12079321;var sc_partition = 78;var sc_invisible = 1;var sc_remove_link=1;var sc_security = "382bc1f1";var sc_https = 1;
	</script>
	<script type="text/javascript" src="https://secure.statcounter.com/counter/counter_xhtml.js" defer async></script>
	<noscript><img src="//c79.statcounter.com/counter.php?sc_project=12079321&amp;java=0&amp;security=382bc1f1&amp;invisible=1" border="0" /> </noscript>
	<!-- End of StatCounter Code -->


</head>
<body class="lang_en dir_ltr cco_body">




<div id="PrintCreditHeader" class="show_for_print">
Printed from<b>chabadlaurel.org</b>
</div>
<div id="header">
<div class="wrapper header-wrapper">

<div id="feedback_bar" class="hide_for_print no_outline">
	<div class="wrapper">
		
	</div>
</div>

<div id="header_container" class="header_container">
<div class="clearfix links">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="15" height="8" class="baruch_hashem" />
<div class="float_right">
<div class="topBarLink cco_topbar_link ask_the_rabbi_link">
<a href="/asktherabbi/default_cdo/jewish/Ask-the-Rabbi.htm">Ask the Rabbi</a>
</div>
<div class="topBarLink cco_topbar_link contact_link">
<a href="/tools/feedback.asp">Contact</a>
</div>
</div>
<div class="float_left">
<div class="topBarLink cco_topbar_link home_link">
<a href="/">Home</a>
</div>
<div class="topBarLink cco_topbar_link about_link">
<a href="/36226">About</a>
</div>
</div>
</div>
<div class="break_floats"></div>
</div>
<div class="clearfix branding-search">
<div id="header_branding" class="no_outline ">
<div class="g260 no_margin cco_search_header float_right">
<div class="co_search_form margin05">
<form name="MainSearchForm" id="MainSearchForm" method="get" action="/search/results.asp" class="clearfix" onsubmit="return Co.Forms.Validation.Validate(this, null, {markAsSubmitted:false});">
<div class="co_global_submit"><button type="submit" class="button" value=" "><span> </span></button></div>


<div class="co_global_input_container clearfix">
	<input id="topAreaTopSearch_search" required="true" autocomplete="nope" placeholder="Search" value="" class="co_global_input co_search js-search-field active js-mirrored-input" onblur="this.form.className = this.form.className.replace(/\sactive/gi, &#39;&#39;);" name="searchWord" onfocus="this.form.className+=&#39; active&#39;;" type="text" display_name="Search Field" min_length="3"></input>
</div>

<div id="topAreaTopSearch_search_wrapper" class="co_field_options" style="display:none;">
<div class="co_absolute_wraper" id="co_absolute_wraper" style="">
<div class="inner">
<div id="topAreaTopSearch_search_container" class="co_field_options_suggestions"></div>
<div class="break_floats"></div>
</div>
</div>
</div>
</form>
</div>
</div>
<a href="/default.asp" title="Chabad of Greater Laurel" class="site_title">Chabad of Greater Laurel<span class="site_subtitle clearfix"> </span></a>
</div>
</div>
<button type='button' class='cs-mobile-menu-open js-mobile-menu-open'><i class='fa fa-bars'></i></button>
<div class="site-nav-wrapper">
<!-- BEGIN CACHE {"CachedBy":{"Server":"W21-NYC1","Url":"https://www.chabadlaurel.org/tools/feedback.aspx","AppPath":"ChabadOnline.dll","Version":{"Built":"2026-06-15T11:35:37.3257343-04:00","Branch":"production","Configuration":"Release","Machine":""}},"Created":"2026-06-19T23:12:56.982837-04:00","Expire":"2026-06-22T23:12:56.982837-04:00"}-->
<script>
var primaryNavigationVersion = "639175075769828370";
</script>
<div id="co_menu_container_wrapper" class="co_menu_container_wrapper " data-list-name="primary navigation"> 
<div class="co_menu_container clearfix" id="co_menu_container">
<a class="menu_logo" href="/"></a>
<table cellpadding="0" cellspacing="0" border="0" class="main_menu_container first global">
<tr id="tabContentMain" tab="Main" style="display:table-row;">
<td class="co_menu_item home" data-menu-level="1"><a href="/default.asp"><img class="co_menu_home_image" src="https://w2.chabad.org/images/global/spacer.gif" width="28" height="60" border="0" onmouseover="this.className += ' hover';" onmouseout="this.className=this.className.replace(/\s?hover/gi, '');" /></a></td>
<td class="co_menu_item_divider"><img src="https://w2.chabad.org/images/global/spacer.gif" width="2" height="1" border="0" /></td>
<td class="co_menu_item arrow multi_level" aid="6057266" data-menu-level="1" onmouseover='Co.MainNavigation.Show(event, this);' onmouseout='Co.MainNavigation.Hide(event, this);' >
<div class="co_menu_content"><div class="co_submenu_container" style="width:auto;display:none;clip:rect(auto auto 0px auto);">
<div class="wrapper">
<div class="column_wrapper clearfix" style="height:100%;">
<div class="co_column">
<a href="/templates/articlecco_cdo/aid/4455085/jewish/Family-Shabbat-Dinner.htm" class="item empty" id="menu_item1-1" data-menu-level="2" data-aid="4455085">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow off" />
<span>Family Shabbat Dinner</span>
</a>
<a href="/templates/articlecco_cdo/aid/4455419/jewish/Jewish-Womens-Circle.htm" class="item empty" id="menu_item1-2" data-menu-level="2" data-aid="4455419">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow off" />
<span>Jewish Womens' Circle</span>
</a>
<a href="/templates/articlecco_cdo/aid/4455483/jewish/Adult-Education.htm" class="item empty" id="menu_item1-3" data-menu-level="2" data-aid="4455483">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow off" />
<span>Adult Education</span>
</a>
<a href="/templates/articlecco_cdo/aid/4462100/jewish/Hebrew-School.htm" class="item empty" id="menu_item1-4" data-menu-level="2" data-aid="4462100">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow off" />
<span>Hebrew School</span>
</a>
<a href="/templates/articlecco_cdo/aid/6875988/jewish/Social-Shabbat-First-Friday.htm" class="item empty" id="menu_item1-5" data-menu-level="2" data-aid="6875988">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow off" />
<span>Social Shabbat>>> First Friday</span>
</a>
</div>
<div id="menu_child1-1" class="menu_child empty selected" style="width:174px;">
<table cellpadding="0" cellspacing="0" border="0" style="height:100%;">
<tr class="wrapper clearfix">
<td class="co_column"><div class="column_left_wrapper">
<a href="" class="child_item default" data-menu-level="3" data-aid="0"><span></span></a>
</div></td>
</tr>
</table>
</div>
<div id="menu_child1-2" class="menu_child empty" style="width:174px;">
<table cellpadding="0" cellspacing="0" border="0" style="height:100%;">
<tr class="wrapper clearfix">
<td class="co_column"><div class="column_left_wrapper">
<a href="" class="child_item default" data-menu-level="3" data-aid="0"><span></span></a>
</div></td>
</tr>
</table>
</div>
<div id="menu_child1-3" class="menu_child empty" style="width:174px;">
<table cellpadding="0" cellspacing="0" border="0" style="height:100%;">
<tr class="wrapper clearfix">
<td class="co_column"><div class="column_left_wrapper">
<a href="" class="child_item default" data-menu-level="3" data-aid="0"><span></span></a>
</div></td>
</tr>
</table>
</div>
<div id="menu_child1-4" class="menu_child empty" style="width:174px;">
<table cellpadding="0" cellspacing="0" border="0" style="height:100%;">
<tr class="wrapper clearfix">
<td class="co_column"><div class="column_left_wrapper">
<a href="" class="child_item default" data-menu-level="3" data-aid="0"><span></span></a>
</div></td>
</tr>
</table>
</div>
<div id="menu_child1-5" class="menu_child empty" style="width:174px;">
<table cellpadding="0" cellspacing="0" border="0" style="height:100%;">
<tr class="wrapper clearfix">
<td class="co_column"><div class="column_left_wrapper">
<a href="" class="child_item default" data-menu-level="3" data-aid="0"><span></span></a>
</div></td>
</tr>
</table>
</div>
</div>
<div class="break_floats"></div></div></div></div><span class="parent"><img src="https://w2.chabad.org/images/global/spacer.gif" width="12" height="6" border="0" vspace="2" /><div><a href="/templates/articlecco_cdo/aid/6057266/jewish/Events.htm" class="parent">Events</a></div></span><a href="/templates/articlecco_cdo/aid/6057266/jewish/Events.htm" class="bg_extension js-parent-menu-link" data-aid="6057266"></a></td>
<td class="co_menu_item_divider"><img src="https://w2.chabad.org/images/global/spacer.gif" width="2" height="1" border="0" /></td>
<td class="co_menu_item arrow multi_level" aid="6040770" data-menu-level="1" onmouseover='Co.MainNavigation.Show(event, this);' onmouseout='Co.MainNavigation.Hide(event, this);' >
<div class="co_menu_content"><div class="co_submenu_container" style="width:auto;display:none;clip:rect(auto auto 0px auto);">
<div class="wrapper">
<div class="column_wrapper clearfix" style="height:100%;">
<div class="co_column">
<a href="https://www.facebook.com/chabadlaurel/photos_by" class="item empty" id="menu_item2-1" data-menu-level="2" data-aid="6896944">
<img src="https://w2.chabad.org/images/global/spacer.gif" width="5" height="10" alt="" border="0" class="arrow off" />
<span>Event Photos</span>
</a>
</div>
<div id="menu_child2-1" class="menu_child empty selected" style="width:174px;">
<table cellpadding="0" cellspacing="0" border="0" style="height:100%;">
<tr class="wrapper clearfix">
<td class="co_column"><div class="column_left_wrapper">
<a href="" class="child_item default" data-menu-level="3" data-aid="0"><span></span></a>
</div></td>
</tr>
</table>
</div>
</div>
<div class="break_floats"></div></div></div></div><span class="parent"><img src="https://w2.chabad.org/images/global/spacer.gif" width="12" height="6" border="0" vspace="2" /><div><a href="/templates/articlecco_cdo/aid/6040770/jewish/Photos.htm" class="parent">Photos</a></div></span><a href="/templates/articlecco_cdo/aid/6040770/jewish/Photos.htm" class="bg_extension js-parent-menu-link" data-aid="6040770"></a></td>
<td class="co_menu_item_divider"><img src="https://w2.chabad.org/images/global/spacer.gif" width="2" height="1" border="0" /></td>
<td class="co_menu_item" aid="7294564" data-menu-level="1" onmouseover="this.className += ' hover';" onmouseout="this.className = this.className.replace(/\shover/gi, '');" >
<div class="co_menu_content"><div class="co_submenu_container" style="width:auto;display:none;clip:rect(auto auto 0px auto);">
<div class="wrapper">
<div class="column_wrapper clearfix" style="height:100%;">
</div>
<div class="break_floats"></div></div></div></div><span class="parent"><div><a href="/templates/articlecco_cdo/aid/7294564/jewish/Upcoming-events.htm" class="parent">Upcoming<br />events</a></div></span><a href="/templates/articlecco_cdo/aid/7294564/jewish/Upcoming-events.htm" class="bg_extension js-parent-menu-link" data-aid="7294564"></a></td>
<td class="co_menu_item_divider"><img src="https://w2.chabad.org/images/global/spacer.gif" width="2" height="1" border="0" /></td>
<td class="co_menu_item donate_link" aid="0" data-menu-level="1" onmouseover="this.className += ' hover';" onmouseout="this.className = this.className.replace(/\shover/gi, '');" >
<div class="co_menu_content"><div class="co_submenu_container" style="width:auto;display:none;clip:rect(auto auto 0px auto);">
<div class="wrapper">
<div class="column_wrapper clearfix" style="height:100%;">
</div>
<div class="break_floats"></div></div></div></div><span class="parent"><div><a href="/4970020" class="parent">Donate</a></div></span><a href="/4970020" class="bg_extension js-parent-menu-link" data-aid="0"></a></td>
</tr>
</table>
</div>
</div>
<!-- END CACHE -->
<div class="mobile-menu-bottom-links">
<a href="/36226" class="site-menu-general__link">About</a>
<a href="/search">Search</a>
<a href="/tools/feedback.asp">Contact</a>
</div>
</div>
</div>
</div>
<div id="content">
<div id="BodyContainer" class="wrapper">
<div class="body_wrapper no-hero-image clearfix">

<div class="g960"><div class="main clearfix">
<div class="g960 g960 g960 g960 g960 g960 g960 g960 g960 g960 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 class="hp-table">
<div class="hp-row hp-row-first">
<div class="widget-4 promo_slider custom v380 feed">
<div class="wrapper">
<div class="widget_content html_format">
<div class="slider">
<div class="slides">
<div class="slide_wrapper" caption=".caption-0">
<a target="" href="/4455085">
<img src="https://w2.chabad.org/media/images/1066/LgMQ10661686.jpg" alt="" /></a>
</div>
<div class="slide_wrapper" caption=".caption-1">
<a target="" href="/4462100">
<img src="https://w2.chabad.org/media/images/707/VkVL7075859.jpg" alt="" /></a>
</div>
</div>
<ul class="captionList">
<li id="" class="cycle-html-caption caption-0">
<span>
<big>Shabbat Dinner</big>Join us for Shabbat Dinner!</span>
<a href="/4455085" class="readMore" target=""> Read More </a>
</li>
<li id="" class="cycle-html-caption caption-1">
<span>
<big>Hebrew School</big>Chabad Hebrew School offers a friendly and stimulating environment, where children can embrace their Jewish roots and gain a true sense of Jewish pride.</span>
<a href="/4462100" class="readMore" target="">Sign Up For 2025-2026</a>
</li>
</ul>
</div>
</div></div>
</div>
</div>
<div class="hp-row">
<div class="widget-4 message custom v380 feed">
<div class="wrapper">
<div class="widget_header">
<h5>About</h5> 
</div>
<div class="widget_content message_format"><div class="bottom_padding">Sharing authentic Judaism and creating opportunities to experience its rich heritage in Laurel, Maryland and surrounding areas, including southern Howard County and Fort Meade. All are welcome!</div>
<a class="readMore" href="/36226">Learn More</a>
</div></div>
</div>
</div>
<div class="hp-row">
<div class="sneak-peek-container clearfix">
<div class="header-title">Programs</div>
<div class="sneak-peek-item item-1 even g320 no_margin">
<div class="widget-1 sneak_peek custom v200 feed">
<div class="wrapper">
<div class="widget_content">
<h6 class="title_only">
<a target="" href="/4455224">Synagogue Services</a>
</h6>
<a href="/4455224" class="thumbnail" target="">
<img src="https://w2.chabad.org/images/global/spacer.gif" style="background-image:url(https://w2.chabad.org/media/images/1066/gwxQ10662525.jpg);" alt="" />
<span></span>
</a>
</div>
</div>
</div>
</div>
<div class="sneak-peek-item item-2 odd g320">
<div class="widget-1 sneak_peek custom v200 feed">
<div class="wrapper">
<div class="widget_content">
<h6>
<a target="" href="/4455483">Adult Education</a>
</h6>
<p> #1 Jewish Website </p>
<a href="/4455483" class="thumbnail" target="">
<img src="https://w2.chabad.org/images/global/spacer.gif" style="background-image:url(https://w2.chabad.org/media/images/1066/YwNk10662535.jpg);" alt="" />
<span></span>
</a>
</div>
</div>
</div>
</div>
<div class="sneak-peek-item item-3 even g320">
<div class="widget-1 sneak_peek custom v200 feed">
<div class="wrapper">
<div class="widget_content">
<h6>
<a target="" href="/4462100">Hebrew School</a>
</h6>
<p>at Gan Israel in Columbia, MD.</p>
<a href="/4462100" class="thumbnail" target="">
<img src="https://w2.chabad.org/images/global/spacer.gif" style="background-image:url(https://w2.chabad.org/media/images/1066/RlsD10661688.jpg);" alt="" />
<span></span>
</a>
</div>
</div>
</div>
</div><div class="clear" ></div>
<div class="sneak-peek-item item-4 odd g320 no_margin">
<div class="widget-1 sneak_peek custom v200 feed">
<div class="wrapper">
<div class="widget_content">
<h6>
<a target="" href="/holidays/default_cdo/jewish/holidays.htm">Holiday Celebrations</a>
</h6>
<p> #1 Jewish Website </p>
<a href="/holidays/default_cdo/jewish/holidays.htm" class="thumbnail" target="">
<img src="https://w2.chabad.org/images/global/spacer.gif" style="background-image:url(https://w2.chabad.org/media/images/1066/sIjT10661687.jpg);" alt="" />
<span></span>
</a>
</div>
</div>
</div>
</div>
<div class="sneak-peek-item item-5 even g320">
<div class="widget-1 sneak_peek custom v200 feed">
<div class="wrapper">
<div class="widget_content">
<h6>
<a target="" href="/4455419">Jewish Womens' Circle</a>
</h6>
<p> #1 Jewish Website </p>
<a href="/4455419" class="thumbnail" target="">
<img src="https://w2.chabad.org/images/global/spacer.gif" style="background-image:url(https://w2.chabad.org/media/images/1066/beTu10662532.jpg);" alt="" />
<span></span>
</a>
</div>
</div>
</div>
</div>
<div class="sneak-peek-item item-6 odd g320">
<div class="widget-1 sneak_peek custom v200 feed">
<div class="wrapper">
<div class="widget_content">
<h6>
<a target="" href="/4140396">Community Services</a>
</h6>
<p> #1 Jewish Website </p>
<a href="/4140396" class="thumbnail" target="">
<img src="https://w2.chabad.org/images/global/spacer.gif" style="background-image:url(https://w2.chabad.org/media/images/1066/whWb10661689.jpg);" alt="" />
<span></span>
</a>
</div>
</div>
</div>
</div><div class="clear" ></div>
</div>
</div>
<div class="hp-row">
<div class="widget-4 icon custom v380 feed icon-updates">
<div class="wrapper">
<div class="widget_header">
<h5>I would like to...</h5> 
</div>
<div class="widget_content index_format">
<div class="item first clearfix">
<div class="icon">
<a href="/templates/articlecco_cdo/aid/5555132/jewish/Donate.htm" target="">
<img src="https://w2.chabad.org/media/images/1066/gBEf10663068.png" />
</a>
</div> 
<div class="title">
<a href="/templates/articlecco_cdo/aid/5555132/jewish/Donate.htm" target="">Donate</a>
</div>
</div>
<div class="separator" ></div>
<div class="item clearfix">
<div class="icon">
<a href="/tools/feedback.asp" target="">
<img src="https://w2.chabad.org/media/images/1066/fhBi10663070.png" />
</a>
</div> 
<div class="title">
<a href="/tools/feedback.asp" target="">Connect</a>
</div>
</div>
<div class="separator" ></div>
<div class="item clearfix">
<div class="icon">
<a href="/1675887" target="">
<img src="https://w2.chabad.org/media/images/1066/gppu10663073.png" />
</a>
</div> 
<div class="title">
<a href="/1675887" target="">Learn Online</a>
</div>
</div></div></div>
</div>
</div>
<div class="hp-row">
<div class="widget-4 promo_slider custom v380 feed">
<div class="wrapper">
<div class="widget_content html_format"><div class="header-title">Learning & Inspiration</div>
<div class="slider">
<div class="slides">
<div class="slide_wrapper" caption=".caption-0">
<a target="" href="/library/article_cdo/aid/1586271/jewish/Chutzpah.htm">
<img src="https://w2.chabad.org/media/images/566/RghU5666220.jpg" alt="" /></a>
</div>
<div class="slide_wrapper" caption=".caption-1">
<a target="" href="/library/article_cdo/aid/7404403/jewish/Does-Forgiving-My-Fathers-Enemy-Betray-His-Memory.htm">
<img src="https://w2.chabad.org/media/images/1374/wcwP13748110.jpg" alt="" /></a>
</div>
<div class="slide_wrapper" caption=".caption-2">
<a target="" href="/blogs/blog_cdo/aid/7405814/jewish/The-Chabadorg-Family-Mourns-the-Loss-of-Rabbi-Shmuly-Altein.htm">
<img src="https://w2.chabad.org/media/images/1375/wPlB13750205.jpg" alt="" /></a>
</div>
</div>
<ul class="captionList">
<li id="" class="cycle-html-caption caption-0">
<span>
<big>What Is Chutzpah?</big>And is it good or bad?</span>
<a href="/library/article_cdo/aid/1586271/jewish/Chutzpah.htm" class="readMore" target="">Read More</a>
</li>
<li id="" class="cycle-html-caption caption-1">
<span>
<big>Does Forgiving My Father's Enemy Betray His Memory?</big>You are not betraying your father by ending a grudge he no longer carries; you are honoring his true...</span>
<a href="/library/article_cdo/aid/7404403/jewish/Does-Forgiving-My-Fathers-Enemy-Betray-His-Memory.htm" class="readMore" target="">Read More</a>
</li>
<li id="" class="cycle-html-caption caption-2">
<span>
<big>The Chabad.org Family Mourns the Loss of Rabbi Shmuly Altein</big>
</span>
<a href="/blogs/blog_cdo/aid/7405814/jewish/The-Chabadorg-Family-Mourns-the-Loss-of-Rabbi-Shmuly-Altein.htm" class="readMore" target="">Read More</a>
</li>
</ul>
</div>
</div></div>
</div>
</div>
<div class="hp-row hp_content_wrapper">
<div class="no_margin g320 no_margin">
<div class="widget-4 facebook_likebox custom v400 feed">
<div class="wrapper">
<div class="widget_header">
<h5>Our Facebook Page</h5> 
</div>
<div class="widget_content"><div class="feed facebook_likebox">
<div class="js-facebook-iframe" ></div>
<script> 
var width = document.getElementsByClassName("js-facebook-iframe")[0].offsetWidth;
var height = 338;
var url = "https://www.facebook.com/plugins/likebox.php?";
var settings = "href=https://www.facebook.com/chabadlaurel&amp;colorscheme=light&amp;show_faces=true&amp;header=false&amp;stream=true&amp;height=338&amp;locale=en_US";
settings += ("&width=" + width);
document.getElementsByClassName("js-facebook-iframe")[0].innerHTML = "<iframe src=\"" + url + settings + "\" frameborder=\"0\" style=\"border:none; overflow:hidden; height:" + height + "px; width:" + width + "px;\" allowtransparency=\"true\"></iframe>"; 
</script>
</div></div></div>
</div>
</div>
<div class="g320">
<div class="widget-4 candlelighting custom v400 feed">
<div class="wrapper">
<div class="widget_header">
<h5>Shabbat & Holidays</h5> 
</div>
<div class="widget_content"><div>
<div class="clearfix horizontal_padding vertical_padding">
<div class="button_container small_top_margin float_right">
<div class="button" ></div>
</div>
<div class="float_left">
<img src="https://w2.chabad.org/images/1/home/icon_candles.png" alt="" />
</div>
<div class="candlelighting_content">
<div class="large_left_margin candlelighting_heading">
<div class="medium_left_margin uppercase bold section_heading">Candle Lighting Times</div>
<div class="medium_left_margin bold section_subheading">Laurel, MD 20723</div>
</div>
<div class="times_wrapper make_scrollable">
<div class="medium_top_padding clearfix">
<small class="when_to_light uppercase float_left small_right_margin">Light Candles at</small>
<div class="float_left">
<a href="/calendar/candlelighting.htm">
<span class="bold large">8:20 PM</span>&#160;&#160;-&#160;&#160;Friday, June 26
</a>
</div>
</div>
<div class="medium_top_padding clearfix">
<small class="when_to_light uppercase float_left small_right_margin">Shabbat Ends</small>
<div class="float_left">
<a href="/calendar/candlelighting.htm">
<span class="bold large">9:26 PM</span>&#160;&#160;-&#160;&#160;Shabbat, June 27
</a>
</div>
</div>
</div>
</div>
</div>
<div class="separator" ></div>
<div class="clearfix horizontal_padding vertical_padding">
<div class="small_top_margin float_right">
<div class="button" ></div>
</div>
<div class="float_left">
<img src="https://w2.chabad.org/images/1/home/icon_torah.png" alt="" />
</div>
<div class="large_left_margin parsha_content">
<div class="medium_left_margin uppercase bold section_heading">Weekly Torah Portion</div>
<div class="medium_left_margin small_top_padding">
<span class="bold large">
<a href="/parshah/default.asp?tdate=6/21/2026">Chukat-Balak</a>
</span>
</div>
</div>
</div>
<div class="separator" ></div> 
<div class="clearfix horizontal_padding top_padding">
<div class="small_top_margin float_right">
<div class="button" ></div>
</div>
<div class="float_left">
<img src="https://w2.chabad.org/images/1/home/icon_calendar.png" alt="" />
</div>
<div class="large_left_margin upcomingholiday_content">
<div class="medium_left_margin uppercase bold section_heading">Upcoming Holiday</div>
<div class="medium_left_margin small_vertical_padding">
<span class="bold large">
<a href="/article.asp?aid=144558">The Three Weeks</a>
</span>
</div>
<div class="medium_left_margin">Jul. 2 - Jul. 23</div>
</div>
</div>
</div></div></div>
</div>
</div>
<div class="rightColumn g320">
<div class="widget-4 daily_thought custom v400 feed">
<div class="wrapper">
<div class="widget_header">
<h5>Daily Thought</h5> 
</div>
<div class="widget_content article_format">
<div class="item first last clearfix">
<div class="title">
<a href="/article.asp?aid=7404521" target="">Mitzvah</a>
</div>
<div class="body text_expandable" container="widget-4" body="&lt;p&gt;&lt;b&gt;Mitzvah&lt;/b&gt; (mits-va): An instruction in life from the Giver of Life.&lt;/p&gt; &lt;p&gt;A stroke of brilliance arising from the innermost will of the Creator of all things, left for you to perform on the stage of His world.&lt;/p&gt; &lt;p&gt;A connection point in time, at which Heaven meets Earth, Earth meets Heaven, and the two embrace.&lt;/p&gt; &lt;p&gt;An instance, left in your hands, for the true reality to be exposed, as what would otherwise be a trivial object—a dollar bill, a candle, a braided loaf of bread, a black leather strap—is suddenly revealed as a divine instrument.&lt;/p&gt; &lt;p&gt;An opportunity to make the transient eternal in a moment—you, your body, and the artifacts of your world.&lt;/p&gt;" TextContainerClass="inner">
Mitzvah (mits-va): An instruction in life from the Giver of Life.
A stroke of brilliance arising from the innermost will of the Creator of all things, left for you to perform on the stage of His world.
A connection point in time, at which Heaven meets Earth, Earth meets Heaven, and the two embrace.
An instance, left in your hands, for the true reality to be exposed, as what would otherwise be a trivial object—a dollar bill, a candle, a braided loaf of bread, a black leather strap—is suddenly revealed as a divine...
</div>
</div></div></div>
</div>
</div><div class="clear" ></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
</div>
<div class="hp-row">
<div class="widget-4 latest_photos custom v420 feed widget_index_8 loading" max_items="27">
<div class="wrapper">
<div class="widget_header">
<h5>Latest Photos</h5> 
</div>
<div class="widget_content">
</div></div>
</div>
</div>
<div class="hp-row hp_subscribe">
<div class="widget-4 subscribe custom v280 feed">
<div class="wrapper">
<div class="widget_header">
<h5>Join our mailing list</h5> 
</div>
<div class="widget_content"><div id="formContainer">
<form novalidate="true" action="" method="get" onsubmit="return submitHeaderSubscribe(this, document.getElementById('formContainer'), document.getElementById('response'))" target=""><script>
var recaptchaIsEnterprise = false;
var recaptchaV2Key = "6LcG_TcUAAAAAKAVgwgW39ujc9OCjXSoQYFIA-Su";
</script>
<input type="hidden" class="js-recaptcha-input" name="cdo-captcha-response" value="" data-div-id="0f0ad01f-a07e-4489-b64d-a269ea1ad8e5" data-processed="false" />
<div class="js-recaptcha-wrapper" id="0f0ad01f-a07e-4489-b64d-a269ea1ad8e5" ></div> 
<fieldset>
<label for="Fname">First Name</label>
<input id="Fname" type="text" name="fname" maxlength="50" placeholder="First Name" class="co_global_input" required="visible" vmessage="Please enter first name" />
<label for="Lname">Last Name</label>
<input id="Lname" type="text" name="lname" maxlength="50" placeholder="Last Name" class="co_global_input" required="visible" vmessage="Please enter last name" />
<label for="Email">Email Address</label>
<input id="Email" type="email" name="email" placeholder="Email Address" class="co_global_input" required="true" data_type="email" vmessage="Please enter a valid email address" />
<input type="submit" id="submit" name="submit" value="Subscribe" class="buttonStyle1" />
<small>Weekly articles in your inbox</small>
<input type="hidden" name="subscriptionid" id="subscriptionid" value="80" />
</fieldset>
</form>
</div>
<small id="response" style="display:none;height:147px;" ></small></div></div>
</div>
</div>
</div></div><div class="clear" ></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
</div></div>


<div class="break_floats"></div>
</div>
</div>
</div>
<div id="footer">


<div class="wrapper body_container">
<div class="g960 footer_family_text bottom_padding">
<div class="footer_container footer_text copyright_text">
<div class="bottom_padding clear_float">
<img class="footer_hr" src="https://w2.chabad.org/images/global/spacer.gif" vspace="12" width="100%" height="1" /><br />
<div class="footer_inner_container clearfix">
<div class="footer3"><b>Chabad of Greater Laurel | Historic Main Street District in Laurel, Maryland | 240-242-7770</b></div>
<img src="https://w2.chabad.org/images/global/spacer.gif" width="1" height="6" border="0" /><br />
Powered by <a href="https://www.chabad.org/" target="_new" class="">Chabad.org</a> &copy; 1993-2026 <a href="/4026210" target="_blank" class="privacy-link">Privacy Policy</a>
</div>
</div>
</div>
<div class="cs-f-social-icons">
<a href="https://www.facebook.com/chabadlaurel" class="fa fa-facebook facebook_homepage" title="Facebook"></a>
</div>
</div>
</div>
</div>

<script type="text/javascript" src="https://w2.chabad.org/scripts/js/os/jquery-latest.min.js?v=0293E3EC"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/os/jquery.defaultValue.min.js?v=062F8985"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/os/jquery.prettyPhoto.js?v=DEFC22CC"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/os/jquery.cycle.all.js?v=2752F760"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/co/dist/CoLib.js?v=F809B22F"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/WebComponents/bundles/magen-cdo-global.js?v=F57AAD39"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/multimedia/promopaginator.js?v=7038A540"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/ImageRandomizer.js?v=3E1F2C91"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/ChabadLocator.js?v=9193D1A8"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/OverrideJSDocumentWrite.js?v=9A0227AA"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/multimedia/infolayer.js?v=ED1B8531"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/commentsloader.js?v=AD6AAB79"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/templates/sites6.js?v=E04072E1"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/primarynavigation.js?v=76ABCD73"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/BetaFeedback.js?v=D421ABC8"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/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/os/enscroll-0.6.2.min.js?v=DA18A45D"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/runenscroll.js?v=C938FABF"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/templates/LatestPhotos.js?v=C7ACBA61"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/textexpander.js?v=9136F2AE"></script><script>$j = $j.fn ? $j : jQuery;$j(()=>{$q.forEach(f=>{try{f.call(window);}catch(ex){console.error(ex);}});})</script>

<script>
var Images = [];
/*
There may be multiple latest_photos, so try to initialize the object and images only once.
This may need to change if/when we'll have multiple latest_photos loading image data from different sources.
*/
if( typeof(latestPhotos) == "undefined" )
{
latestPhotos = new LatestPhotos(Images);
latestPhotos.ReadMoreLink = '4455482';
latestPhotos.ReadMoreText = 'See More Photos';
Co.DomEvents.AddListener(window, "domload", function ()
{
latestPhotos.PopulatePhotos();
});
}
//Photogallery Lightbox: http://www.no-margin-for-errors.com/projects/prettyphoto-jquery-lightbox-clone/
var pretty = jQuery("a[rel^='prettyPhoto']");
if( pretty.prettyPhoto )
{
pretty.prettyPhoto({
show_title: false,
overlay_gallery: true
});
}
</script>
<script>
$j = jQuery.noConflict(); //prevent conflict with prototype javascript library
$j(function ()
{
if ($j.fn.cycle) /* switch to jquery.cycle.all.js to have the graphic scroll */
{
$j('.slider').cycle({
fx: 'scrollHorz',
pause: 1000,
speed: 500,
timeout: 5000,
slideExpr: '.slide_wrapper',
caption: '.cycle-caption',
pager: '.cycle-controlNav',
rev: true,
directionNav: true,
activePagerClass: 'active'
});
}
});
</script>
<script  language="javascript" type="text/javascript"> Co.Settings      = {CacheClassName:'js-cache-default',MosadName:'Chabad of Greater Laurel'}; Co.ArticleId     = '4445793';Co.SectionId     = 4445793;Co.PartnerSiteId = 0;Co.SiteId        = 10035;Co.IsMobilePage  = false;Co.IsResponsive  = false;Co.DbDomain      = 'chabadlaurel.org';Co.LanguageCode  = 'en-US';Co.LoginStatus   = 'None';</script>

<script>
//<![CDATA[
/* <-----------Upcoming Events Carousel (Google Sheets) ---------> */
if (window.location.pathname === '/' || window.location.pathname === '/default.aspx' || window.location.pathname === '') {
(async function() {
// Global Error listener to catch broken images safely without triggering Cloudflare WAF via inline onerror attributes
document.addEventListener('error', function(e) {
if (e.target && e.target.tagName && e.target.tagName.toLowerCase() === 'img') {
if (!e.target.dataset.fallbackApplied) {
e.target.dataset.fallbackApplied = 'true';
e.target.src = 'https://placehold.co/400x300/eee/ccc?text=Image+Not+Found';
}
}
}, true);
// =========================================================
// CONFIGURATION
// =========================================================
const SHEET_ID = '1EPGntfwESm5hdd-RPpR7kmNARdvi9dpDT3YrJnO0ens'; 
const TARGET_LOCATION = 'Chabad of Greater Laurel'; 
const MAX_EVENTS = 10; 
// =========================================================
// Using \u0026 to guarantee XML/WAF parsers don't break on the ampersand
const EVENTS_URL = `https://docs.google.com/spreadsheets/d/${SHEET_ID}/gviz/tq?tqx=out:json\u0026sheet=Events`;
const SETTINGS_URL = `https://docs.google.com/spreadsheets/d/${SHEET_ID}/gviz/tq?tqx=out:json\u0026sheet=Settings`;
let categoryColors = {}; 
let locationLogos = {};
let demoColors = {}; // Added for Demographics
const dayOfWeekMap = { 'sunday':0, 'monday':1, 'tuesday':2, 'wednesday':3, 'thursday':4, 'friday':5, 'saturday':6 };
function parseGoogleJson(text) {
return JSON.parse(text.substring(text.indexOf('{'), text.lastIndexOf('}') + 1));
}
// Generate Calendar Links (Using Blob and DOM parsing to bypass WAF)
function createCalendarLinks(title, desc, loc, dateObj, timeStr) {
let hours = 0, mins = 0;
if (timeStr) {
const match = timeStr.match(/(\d+):(\d+)\s*(AM|PM)/i);
if (match) {
hours = parseInt(match[1]); mins = parseInt(match[2]);
if (match[3].toUpperCase() === 'PM' && hours < 12) hours += 12;
if (match[3].toUpperCase() === 'AM' && hours === 12) hours = 0;
}
}
const start = new Date(dateObj);
start.setHours(hours, mins, 0);
const end = new Date(start.getTime() + 60 * 60 * 1000); 
const formatICSDate = (d) => {
return d.getUTCFullYear() + String(d.getUTCMonth() + 1).padStart(2, '0') + String(d.getUTCDate()).padStart(2, '0') + 'T' + String(d.getUTCHours()).padStart(2, '0') + String(d.getUTCMinutes()).padStart(2, '0') + String(d.getUTCSeconds()).padStart(2, '0') + 'Z';
};
const startStr = formatICSDate(start);
const endStr = formatICSDate(end);
// Safely extract text without triggering WAF regex blocks
const tempDiv = document.createElement('div');
tempDiv.innerHTML = desc || '';
const cleanDesc = tempDiv.textContent || tempDiv.innerText || '';
const gCalUrl = `https://calendar.google.com/calendar/render?action=TEMPLATE\u0026text=${encodeURIComponent(title)}\u0026dates=${startStr}/${endStr}\u0026details=${encodeURIComponent(cleanDesc)}\u0026location=${encodeURIComponent(loc)}`;
const icsContent = `BEGIN:VCALENDAR\nVERSION:2.0\nBEGIN:VEVENT\nDTSTART:${startStr}\nDTEND:${endStr}\nSUMMARY:${title}\nDESCRIPTION:${cleanDesc}\nLOCATION:${loc}\nEND:VEVENT\nEND:VCALENDAR`;
// Use a Blob object to generate a secure internal URL instead of a "data:" URI payload that WAFs block
const blob = new Blob([icsContent], { type: 'text/calendar;charset=utf-8' });
const icsUrl = URL.createObjectURL(blob);
return { gCalUrl, icsUrl };
}
const runTransformation = async () => {
try {
// Fetch Settings for Colors and Logos
try {
const setRes = await fetch(SETTINGS_URL);
const setData = parseGoogleJson(await setRes.text());
if (setData && setData.table && setData.table.rows) {
setData.table.rows.forEach(row => {
const catName = row.c[0] ? String(row.c[0].v).trim() : null;
const catColor = row.c[1] ? String(row.c[1].v).trim() : null;
if(catName && catColor) categoryColors[catName.toLowerCase()] = catColor;
const locName = row.c[2] ? String(row.c[2].v).trim() : null;
const locLogo = row.c[3] ? String(row.c[3].v).trim() : null;
if(locName && locLogo) locationLogos[locName.toLowerCase()] = locLogo;
// Added Demographic Colors fetch
const demoName = row.c[4] ? String(row.c[4].v).trim() : null;
const demoColor = row.c[5] ? String(row.c[5].v).trim() : null;
if(demoName && demoColor) demoColors[demoName.toLowerCase()] = demoColor;
});
}
} catch (err) { console.warn("Could not load Settings.", err); }
// Fetch Events
let processedEvents = [];
const today = new Date();
today.setHours(0,0,0,0);
const evRes = await fetch(EVENTS_URL);
const evText = await evRes.text();
if (evText.toLowerCase().includes('<!doctype html>')) return;
const evData = parseGoogleJson(evText);
const rows = evData.table.rows;
rows.forEach(row => {
const getVal = (idx) => (row.c && row.c[idx] && row.c[idx].v !== null) ? String(row.c[idx].v).trim() : '';
const title = getVal(0);
if(!title) return; 
const location = getVal(12);
if (!location.toLowerCase().includes(TARGET_LOCATION.toLowerCase())) return; 
const description = getVal(1) || '';
const imageSrc = getVal(2) || 'https://placehold.co/600x400/eee/ccc?text=Event+Image';
const demographics = getVal(3); // Added demographics
const eventType = getVal(4);
// ROBUST DATE PARSER
let dateObj = null;
let dateVal = row.c && row.c[6] ? row.c[6].v : null;
if (typeof dateVal === 'string' && dateVal.startsWith('Date(')) {
const parts = dateVal.match(/Date\((\d+),(\d+),(\d+)\)/);
if (parts) dateObj = new Date(parts[1], parts[2], parts[3]);
} else if (typeof dateVal === 'number') {
dateObj = new Date(Math.round((dateVal - 25569) * 86400 * 1000));
} else if (dateVal) {
dateObj = new Date(dateVal);
}
// TIME PARSER
let time = (row.c && row.c[7] && row.c[7].f) ? row.c[7].f : String(getVal(7));
if (time.startsWith('Date(')) {
const tParts = time.match(/Date\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)/);
if (tParts) {
let h = parseInt(tParts[4], 10);
let m = parseInt(tParts[5], 10);
let ampm = h >= 12 ? 'PM' : 'AM';
h = h % 12 || 12; m = m < 10 ? '0' + m : m;
time = `${h}:${m} ${ampm}`;
}
}
const isRecurring = String(getVal(8)).toLowerCase() === 'true' || String(getVal(8)).toLowerCase() === 'yes';
const dayOfWeekStr = String(getVal(9)).toLowerCase();
const untilDateRaw = row.c && row.c[10] ? row.c[10].v : null;
let moreInfoLink = getVal(11) || '#';
const institution = getVal(12);
const displayTitle = title.replace('[E]', '').trim();
if (isRecurring && dayOfWeekMap[dayOfWeekStr] !== undefined && untilDateRaw) {
let currentDate = new Date();
currentDate.setHours(0,0,0,0);
let untilDate = null;
if(typeof untilDateRaw === 'string' && untilDateRaw.startsWith('Date(')){
const parts = untilDateRaw.match(/Date\((\d+),(\d+),(\d+)\)/);
if(parts) untilDate = new Date(parts[1], parts[2], parts[3]);
} else { untilDate = new Date(untilDateRaw); }
const targetDay = dayOfWeekMap[dayOfWeekStr];
if (untilDate) {
let loopCount = 0; 
while (currentDate <= untilDate && loopCount < 365) {
if (currentDate.getDay() === targetDay && currentDate >= today) {
const calLinks = createCalendarLinks(displayTitle, description, location, currentDate, time);
processedEvents.push({ title: displayTitle, description, imageSrc, eventType, demographics, location, institution, time, moreInfoLink, dateObj: new Date(currentDate), calLinks });
}
currentDate.setDate(currentDate.getDate() + 1);
loopCount++;
}
}
} 
else if (dateObj && dateObj >= today) {
const calLinks = createCalendarLinks(displayTitle, description, location, dateObj, time);
processedEvents.push({ title: displayTitle, description, imageSrc, eventType, demographics, location, institution, time, moreInfoLink, dateObj: dateObj, calLinks });
}
});
const featuredEvents = processedEvents.sort((a, b) => a.dateObj - b.dateObj).slice(0, MAX_EVENTS);
if (featuredEvents.length === 0) return;
// --- DOM Injection Logic ---
const eventsSection = document.createElement('div');
eventsSection.className = 'injected-featured-events-section';
eventsSection.id = 'injected-upcoming-events-section';
eventsSection.innerHTML = `
<div class="injected-featured-events-header"><h2>Upcoming Events</h2></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((ev) => {
let tagColor = 'var(--color-primary-navy)'; 
if (ev.eventType && categoryColors[ev.eventType.toLowerCase()]) tagColor = categoryColors[ev.eventType.toLowerCase()];
let dColor = '#888888';
if (ev.demographics && demoColors[ev.demographics.toLowerCase()]) dColor = demoColors[ev.demographics.toLowerCase()];
let logoHtml = '';
if (ev.institution && locationLogos[ev.institution.toLowerCase()]) {
logoHtml = `<img src="${locationLogos[ev.institution.toLowerCase()]}" class="uec-inst-logo" alt="Logo" />`;
}
const dateStr = ev.dateObj.toLocaleDateString('en-US', { weekday: 'long', month: 'long', day: 'numeric' }).toUpperCase();
let timeText = ev.time ? ev.time.trim().toUpperCase() : '';
if (timeText) timeText = timeText.replace(/(\d)([AP]M)$/, '$1 $2');
const dateTimeString = timeText ? `${dateStr} | ${timeText}` : dateStr;
const card = document.createElement('div');
card.className = 'unified-event-card';
card.innerHTML = `
<div class="uec-image">
<a href="${ev.moreInfoLink}">
<img src="${ev.imageSrc}" alt="${ev.title}" />
</a>
</div>
<div class="uec-body">
<div class="uec-header-row">
<div class="uec-tags">
${ev.eventType ? `<span class="uec-category" style="background-color: ${tagColor}">${ev.eventType}</span>` : ''}
${ev.demographics ? `<span class="uec-category" style="background-color: ${dColor}">${ev.demographics}</span>` : ''}
</div>
${logoHtml}
</div>
${ev.location ? `<div class="uec-location"><i class="fas fa-map-marker-alt"></i> ${ev.location}</div>` : ''}
<div class="uec-date"><i class="far fa-clock"></i> ${dateTimeString}</div>
<h3 class="uec-title"><a href="${ev.moreInfoLink}">${ev.title}</a></h3>
<div class="uec-desc" title="${ev.description.replace(/"/g, '\u0026quot;')}">${ev.description}</div>
<div class="uec-actions">
<a href="${ev.moreInfoLink}" class="uec-btn-main">MORE INFO</a>
<div class="uec-cal-col">
<a href="${ev.calLinks.gCalUrl}" target="_blank" class="uec-btn-cal" title="Add to Google Calendar">
<i class="fab fa-google"></i> Add to Google Calendar
</a>
<a href="${ev.calLinks.icsUrl}" download="event.ics" class="uec-btn-cal" title="Add to Apple/Outlook Calendar">
<i class="fab fa-apple"></i> Add to Apple / Outlook
</a>
</div>
</div>
</div>
`;
carouselWrapper.appendChild(card);
});
const viewAllCard = document.createElement('a');
viewAllCard.className = 'unified-event-card view-all-card';
viewAllCard.href = 'https://www.chabadlaurel.org/templates/articlecco_cdo/aid/7294564/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();
window.addEventListener('resize', updateCarousel);
}
const insertionPoint = document.querySelector('#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.no_margin.g960.no_margin > div > div.hp-row.hp-row-first');
if (insertionPoint) {
// This puts the eventsSection exactly after the insertionPoint
insertionPoint.after(eventsSection);
} else {
// If that giant selector fails, it adds it to the bottom of the page
document.body.appendChild(eventsSection);
}
} catch (error) { console.error('Error fetching data:', error); }
};
const injectCSS = () => {
const style = document.createElement('style');
style.textContent = `
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&family=Raleway:wght@400;700;900&display=swap');
:root { --color-accent-green: #afc78b; --color-accent-plum: #6b1457; --color-primary-navy: #212459; --color-bg-light: #f8f9fa; }
.injected-featured-events-section { padding: 80px 20px; background-color: var(--color-bg-light); font-family: 'Poppins', sans-serif; box-sizing: border-box; }
.injected-featured-events-header { text-align: center; margin-bottom: 50px; max-width: 800px; margin-left: auto; margin-right: auto; }
.injected-featured-events-header h2 { font-size: 42px; font-weight: 700; color: var(--color-primary-navy); letter-spacing: -1px; margin-bottom: 10px; position: relative; display: inline-block; }
.injected-featured-events-header h2:after { content: ''; display: block; width: 60px; height: 4px; background: var(--color-accent-green); margin: 15px auto 0; border-radius: 2px; }
.injected-events-carousel-container { position: relative; max-width: 1200px; margin: 0 auto; overflow: hidden; padding: 20px 0 40px 0; }
.injected-events-carousel-wrapper { display: flex; gap: 30px; transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1); }
/* UNIFIED CARD STYLES FOR HOMEPAGE */
.unified-event-card { 
flex: 0 0 calc(33.333% - 20px); background: #ffffff; border-radius: 16px; overflow: hidden; 
box-shadow: 0 10px 40px -10px rgba(33, 36, 89, 0.1); display: flex; flex-direction: column; 
border: 1px solid rgba(0,0,0,0.05); transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.unified-event-card:hover { transform: translateY(-8px); box-shadow: 0 20px 50px -10px rgba(33, 36, 89, 0.2); }
.uec-image { position: relative; height: 200px; overflow: hidden; background-color: #eee; flex-shrink: 0; }
.uec-image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s ease; }
.unified-event-card:hover .uec-image img { transform: scale(1.05); }
.uec-body { padding: 25px; flex-grow: 1; display: flex; flex-direction: column; }
.uec-header-row { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 12px; gap: 10px; }
.uec-tags { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.uec-category { 
display: inline-flex; align-items: center; justify-content: center;
font-size: 10px; font-weight: 700; text-transform: uppercase; 
padding: 4px 12px; border-radius: 50px; 
color: white; white-space: nowrap; 
}
.uec-inst-logo { max-height: 28px; max-width: 90px; object-fit: contain; }
.uec-location { font-family: 'Poppins', sans-serif; font-size: 13px; font-weight: 600; color: #555; margin-bottom: 4px; display: flex; align-items: center; gap: 6px; }
.uec-date { font-family: 'Poppins', sans-serif; color: var(--color-accent-plum); font-weight: 700; font-size: 13px; letter-spacing: 0.5px; margin-bottom: 10px; display: flex; align-items: center; gap: 6px; }
.uec-title { margin: 0 0 10px; line-height: 1.3; }
.uec-title a { font-size: 18px; font-weight: 700; color: var(--color-primary-navy); text-decoration: none; transition: color 0.2s; }
.uec-title a:hover { color: var(--color-accent-plum); }
.uec-desc { font-size: 13px; color: #666; line-height: 1.5; margin: 0 0 20px; flex-grow: 1; max-height: 60px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.uec-actions { margin-top: auto; display: flex; flex-direction: column; gap: 8px; }
.uec-btn-main { display: block; width: 100%; background-color: var(--color-primary-navy); color: white; padding: 10px; border-radius: 8px; text-decoration: none; font-weight: 600; text-align: center; border: 2px solid var(--color-primary-navy); transition: all 0.2s; font-size: 13px; }
.uec-btn-main:hover { background-color: var(--color-accent-plum); border-color: var(--color-accent-plum); color: white; }
.uec-cal-col { display: flex; flex-direction: column; gap: 8px; }
.uec-btn-cal { display: block; width: 100%; text-align: center; padding: 8px; border-radius: 8px; font-size: 12px; font-weight: 600; color: #555; background: #f0f0f0; text-decoration: none; transition: all 0.2s; box-sizing: border-box; }
.uec-btn-cal:hover { background: #e0e0e0; color: #222; }
.uec-btn-cal i { margin-right: 4px; }
.view-all-card { justify-content: center; align-items: center; text-align: center; background-color: #ffffff; border: 2px dashed var(--color-accent-green); text-decoration: none; }
.view-all-card:hover { background-color: #fcfcfc; border-color: var(--color-accent-plum); }
.view-all-card .view-all-content h3 { font-size: 22px; font-weight: 700; color: var(--color-accent-plum); margin: 0 0 5px; text-transform: uppercase; }
.view-all-card .view-all-content p { font-size: 15px; color: #888; margin: 0 0 15px; }
.view-all-card .view-all-arrow { font-size: 32px; font-weight: bold; color: var(--color-accent-green); transition: transform 0.3s; display: inline-block; }
.view-all-card:hover .view-all-arrow { transform: translateX(5px); color: var(--color-accent-plum); }
.events-carousel-arrow { position: absolute; top: 50%; transform: translateY(-50%); background-color: #fff; border: 1px solid #eee; border-radius: 50%; width: 48px; height: 48px; box-shadow: 0 5px 15px rgba(0,0,0,0.1); cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 18px; color: var(--color-primary-navy); z-index: 10; transition: all 0.2s; }
.events-carousel-arrow:hover { background-color: var(--color-primary-navy); color: #fff; }
.events-carousel-arrow.prev { left: 0px; }
.events-carousel-arrow.next { right: 0px; }
.mobile-swipe-hint { display: none; text-align: center; margin-top: 10px; font-family: 'Poppins', sans-serif; color: #999; font-size: 13px; align-items: center; justify-content: center; gap: 8px; }
@media (max-width: 1250px) { .events-carousel-arrow.prev { left: 10px; } .events-carousel-arrow.next { right: 10px; } }
@media (max-width: 900px) { .unified-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 20px 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; gap: 15px; }
.unified-event-card { flex-basis: 85vw; scroll-snap-align: start; box-shadow: 0 5px 15px rgba(0,0,0,0.1); }
.events-carousel-arrow { display: none; }
.mobile-swipe-hint { display: flex; }
}
`;
document.head.appendChild(style);
};
injectCSS();
if (document.readyState === 'complete' || document.readyState === 'interactive') runTransformation();
else window.addEventListener('DOMContentLoaded', runTransformation);
})();
}
//]]>
</script>
</body>
</html><!-- END CACHE -->