PageSourceSearch

https://www.theloopwestend.com/events?source=pop_up&spot_id=112064…=events&promotion=custom_promotion

html theloopwestend.com collected 2026-10-06 18:37:14 UTC 76,458 bytes, 1,736 lines download raw bytes

1<!DOCTYPE html>
2�<html lang="en"><head><meta content="null" property="og:site_name"/><meta content="http://theloopwestend.com/events" property="og:url"/><meta content="website" property="og:type"/><meta content="See what’s happening at The Loop West End. Check out upcoming events and make plans for food, drinks, and good times in St Louis Park." property="og:description"/><meta content="The Loop West End - Events" property="og:title"/><!-- Google tag (gtag.js) -->
vendor: 71 bytes, line 2
2<script async="async" src="https://www.googletagmanager.com/gtag/js?id=
2G-VG24VK2VKT
vendor: 11 bytes, line 2
2"></script>
2<script>
3    window.dataLayer = window.dataLayer || [];
4    function gtag(){dataLayer.push(arguments);}
5    gtag('set', 'linker', {'domains': ['tmt.spotapps.co','spothopperapp.com']});
6    gtag('js', new Date());
7    gtag('config', 'G-GRDYRYTEWW');
8    gtag('config', 'G-VG24VK2VKT');
9  </script>
9<!-- wcache 2026-10-06 12:07:41.036283Z --><!--
10smart_footer: true,
11smart_footer_version: 2,
12scripting_active: false
13--><link href="https://theloopwestend.com/events" rel="canonical"/><meta charset="utf-8"/><meta content="IE=edge" http-equiv="X-UA-Compatible"/><meta content="width=device-width, initial-scale=1" name="viewport"/><meta content="See what’s happening at The Loop West End. Check out upcoming events and make plans for food, drinks, and good times in St Louis Park." name="description"/><meta content="" name="author"/><meta content="https://static.spotapps.co/website_images/ab_websites/112064_website_v3/social_share.jpg" property="og:image"/><meta content="The Loop West End image" property="og:image:alt"/><meta content="image/png" property="og:image:type"/><meta content="734246769988821" property="fb:app_id"/><meta content="summary_large_image" name="twitter:card"/><meta content="The Loop West End - Events" name="twitter:title"/><meta content="The Loop West End offers a large variety of menu options, from salads and sandwiches to pizza and entrees such as the Salmon Rice Bowl, the Flank Steak Salad and the Mac-n-Cheese Pizza. We ..." name="twitter:description"/><meta content="https://static.spotapps.co/website_images/ab_websites/112064_website_v3/social_share.jpg" name="twitter:image"/><title>Events in St Louis Park | The Loop West End</title><!-- wbv 1.60.0 --><meta content="1.60.0" name="wbv"/>
13<script>document.cookie='resolution='+Math.max(screen.width,screen.height)+("devicePixelRatio" in window ? ","+devicePixelRatio : ",1")+'; path=/';</script>
13<link href="https://static.spotapps.co/website_images/ab_websites/112064_website_v3/favicons/favicon-96x96.png" rel="icon" sizes="96x96" type="image/png"/><link href="https://static.spotapps.co/website_images/ab_websites/112064_website_v3/favicons/favicon.svg" rel="icon" type="image/svg+xml"/><link href="https://static.spotapps.co/website_images/ab_websites/112064_website_v3/favicons/favicon.ico" rel="shortcut icon"/><link href="https://static.spotapps.co/website_images/ab_websites/112064_website_v3/favicons/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180"/><meta content="The Loop West End" name="apple-mobile-web-app-title"/><link href="https://static.spotapps.co/website_images/ab_websites/112064_website_v3/favicons/site.webmanifest" rel="manifest"/><link href="https://static.spotapps.co/web/theloopwestend--com/lib/bootstrap/css/bootstrap.min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/theloopwestend--com/lib/font-awesome-4.7.0/css/font-awesome.min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/theloopwestend--com/lib/hover_css/css/hover-min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/theloopwestend--com/lib/owlcarousel/owl.carousel.min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/theloopwestend--com/lib/owlcarousel/owl.theme.default.min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web-lib/leaflet/[email protected]/dist/leaflet.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/theloopwestend--com/css/style.css?version2" id="mainCSS" rel="stylesheet"/><link href="https://static.spotapps.co/web/theloopwestend--com/css/bottom_navigation_v1.css?v1785489074" rel="stylesheet"/><link href="css/custom.css?v1785489074&domain=theloopwestend.com" rel="stylesheet"/><link href="https://static.spotapps.co/web/theloopwestend--com/lib/icons_font/css/social_icons.css" rel="stylesheet"/><!--[if IE 7]><link rel="stylesheet" href="lib/icons_font/css/social_icons-ie7.css"><![endif]--><link href="https://static.spotapps.co/web/theloopwestend--com/lib/twitter_x_font_icon/css/twitter_x.css" rel="stylesheet"/><!--[if IE 7]><link rel="stylesheet" href="lib/twitter_x_font_icon/css/twitter_x-ie7.css"><![endif]--><style>
14      .events-background {
15        background: url(https://static.spotapps.co/website_images/ab_websites/112064_website_v3/events_page.jpg) no-repeat center center fixed; -webkit-background-size: cover;
16        background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), url(https://static.spotapps.co/website_images/ab_websites/112064_website_v3/events_page.jpg) no-repeat center center fixed;
17        -moz-background-size: cover;
18        -o-background-size: cover;
19        background-size: cover;
20        background-color: #100F0F;
21      }
22          </style>
22<script src="https://static.spotapps.co/websites/lib/lazysizes/lazysizes.min.js" async=""></script>
22<script>
23function ga_check(){
24  return true;
25}
26</script>
26<script>
27function universal_ga(action, type, category, ev_action, label){
28  if(typeof ga === 'function')
29  {
30    if(!(action && label))
31      ga(action, type, category)
32    else
33      ga(action, type, category, ev_action, label)
34  }
35
36  if(typeof gtag === 'function')
37  {
38    if(!(action && label))
39    {
40      hash = category
41      ev_label = hash["eventLabel"]
42      var splits = ev_label.match(/.{1,100}/g) ?? [];
43      delete(hash["eventLabel"])
44
45      if(splits.length <= 1)
46        hash["eventLabel"] = ev_label
47      else
48      {
49        for (let i = 0; i < splits.length; i++) {
50          var key = "eventLabel_"+i
51          hash[key] = splits[i]
52        }
53      }
54      console.log(hash)
55      gtag("event", hash["eventCategory"], hash);
56    }
57    else
58    {
59      var hash = {
60        eventCategory: category,
61        eventAction: ev_action
62      }
63
64      var splits = label.match(/.{1,100}/g) ?? [];
65      if(splits.length <= 1)
66        hash["eventLabel"] = label
67      else
68      {
69        for (let i = 0; i < splits.length; i++) {
70          var key = "eventLabel_"+i
71          hash[key] = splits[i]
72        }
73      }
74      gtag("event", hash["eventCategory"], hash);
75    }
76  }
77}
78</script>
78<script>    function getPromotionUrlParams(){
79      var params_str = sessionStorage.getItem('shUrlParams');
80      if (params_str != null){
81        return JSON.parse(params_str);
82      }else{
83        return {};
84      }
85    }
86
87    function getPromotionSourceDetails(){
88        var params_str = localStorage.getItem('promotionSourceDetails');
89        if (params_str != null){
90          return JSON.parse(params_str);
91        }else{
92          return {};
93        }
94    }
95
96    function getLastEmailVisitInDays(){
97      var promotionSourceDetails = getPromotionSourceDetails();
98      if (!promotionSourceDetails['last_visit_email'] ){
99        return null;
100      }
101      return Math.floor((new Date() - new Date(promotionSourceDetails['last_visit_email'])) / (1000 * 60 * 60 * 24));
102    }
103
104    function getLastSocialVisitInDays(){
105      var promotionSourceDetails = getPromotionSourceDetails();
106      if (!promotionSourceDetails['last_visit_social'] ){
107        return null;
108      }
109      return Math.floor((new Date() - new Date(promotionSourceDetails['last_visit_social'])) / (1000 * 60 * 60 * 24));
110    }
111
112    var shUrlParams = getPromotionUrlParams();
113    var promotionSourceDetails = getPromotionSourceDetails();
114
115    new URL(document.location).searchParams.forEach(function(value, paramName){
116
117     shUrlParams[paramName] = value;
118
119     if (paramName == 'source' && value =='social' ){
120       promotionSourceDetails['last_visit_social'] = new Date();
121       localStorage.setItem('promotionSourceDetails', JSON.stringify(promotionSourceDetails));
122     }
123
124     if (paramName == 'source' && value =='email' ){
125       promotionSourceDetails['last_visit_email'] = new Date();
126       localStorage.setItem('promotionSourceDetails', JSON.stringify(promotionSourceDetails));
127     }
128
129    });
130
131    sessionStorage.setItem('shUrlParams', JSON.stringify(shUrlParams))
132</script>
132<style>.cta-nudge-btn[data-nudge-position="mobile-header"],
133.cta-nudge-btn[data-nudge-position="mobile-footer"] {
134  display: inline-block;
135  font-family: inherit;
136  font-weight: inherit;
137  text-transform: uppercase;
138  text-decoration: none;
139  text-align: center;
140  border-width: 2px;
141  border-style: solid;
142  border-radius: 0;
143}
144
145nav.navbar .socialnav .mobile-header-nudge-item .cta-nudge-btn[data-nudge-position="mobile-header"],
146.navbar-fixed-bottom .mobile-footer-nudge-item .cta-nudge-btn[data-nudge-position="mobile-footer"],
147nav.navbar .socialnav .mobile-header-nudge-item .cta-nudge-btn[data-nudge-position="mobile-header"]:hover,
148nav.navbar .socialnav .mobile-header-nudge-item .cta-nudge-btn[data-nudge-position="mobile-header"]:focus,
149.navbar-fixed-bottom .mobile-footer-nudge-item .cta-nudge-btn[data-nudge-position="mobile-footer"]:hover,
150.navbar-fixed-bottom .mobile-footer-nudge-item .cta-nudge-btn[data-nudge-position="mobile-footer"]:focus {
151  background-color: #000000;
152  color: #FFFFFF;
153  border-color: #FFFFFF;
154}
155
156nav.navbar .socialnav .mobile-header-nudge-item .cta-nudge-btn[data-nudge-position="mobile-header"] span,
157.navbar-fixed-bottom .mobile-footer-nudge-item .cta-nudge-btn[data-nudge-position="mobile-footer"] span,
158nav.navbar .socialnav .mobile-header-nudge-item .cta-nudge-btn[data-nudge-position="mobile-header"]:hover span,
159nav.navbar .socialnav .mobile-header-nudge-item .cta-nudge-btn[data-nudge-position="mobile-header"]:focus span,
160.navbar-fixed-bottom .mobile-footer-nudge-item .cta-nudge-btn[data-nudge-position="mobile-footer"]:hover span,
161.navbar-fixed-bottom .mobile-footer-nudge-item .cta-nudge-btn[data-nudge-position="mobile-footer"]:focus span {
162  color: #FFFFFF;
163}
164
165nav.navbar .socialnav .cta-nudge-btn[data-nudge-position="mobile-header"] {
166  width: auto;
167  padding: 6px 15px;
168  margin: -2px 5px 0 0;
169  font-size: 1.1em;
170}
171
172.navbar-fixed-bottom .mobile-footer-nudge-item {
173  width: 100%;
174  margin: 6px 15px;
175  padding: 0;
176}
177
178.navbar-fixed-bottom .cta-nudge-btn[data-nudge-position="mobile-footer"] {
179  width: 100%;
180  padding: 8px 15px;
181  margin: 0 auto;
182  font-size: 1.3em;
183}</style><style>a:focus:not(:focus-visible){outline:none;box-shadow:none;}
184a.get-directions-footer-link{display:inline-block;transform-origin:left center;transition:transform .2s ease;}
185a.get-directions-footer-link:hover{transform:scale(1.08);}
186@media (prefers-reduced-motion:reduce){a.get-directions-footer-link{transition:none;transform:none;}}
187a.get-directions-footer-link,a.get-directions-footer-link:hover{color:inherit!important;}</style></head><body class="drink-menu events-container events-background"><div><header style="background-color:#000000;"><style>
188
189  .nav-v7 .navbar-logo .container {
190    height: 80px;
191  }
192  .nav-v7 .navbar-logo .header-logo img {
193    max-height: 80px;
194  }
195
196
197.navbar.nav-v6 .navbar-logo .container {
198  height: 100px;
199  padding-top: 10px;
200  padding-bottom: 10px;
201}
202.navbar.nav-v6.nav-scroll .navbar-logo .container {
203  height: 70px;
204  padding-top: 0px;
205  padding-bottom: 0px;
206}
207.navbar.nav-v6 .header-logo img {
208  max-width: 100%;
209}
210.navbar.nav-v6.nav-scroll .header-logo img {
211  max-width: 80%;
212}
213.nav-v7 .navbar-logo .header-logo img {
214  max-height: 100px;
215}
216.nav-v7.nav-scroll .navbar-logo .header-logo img {
217  max-height: 70px;
218}
219
220@media (max-width: 767px) {
221  /* DO NOT change mobile nav height on page scroll */
222  .navbar.nav-v6 .navbar-header,
223  .navbar.nav-v6.nav-scroll .navbar-header {
224    padding-top: 10px;
225    padding-bottom: 10px;
226  }
227  .navbar.nav-v6 .socialnav,
228  .navbar.nav-v6.nav-scroll .socialnav {
229    margin-top: 10px;
230  }
231  .navbar.nav-v6 .container,
232  .navbar.nav-v6.nav-scroll .container {
233    padding-top: 0;
234    padding-bottom: 0;
235  }
236  .navbar.nav-v6 .header-logo,
237  .navbar.nav-v6.nav-scroll .header-logo {
238    height: 70px;
239  }
240  .navbar.nav-v6 .header-logo img {
241    max-height: 100%;
242  }
243  .navbar.nav-v6.nav-scroll .header-logo img {
244    max-width: 100%;
245  }
246  /* HOME page CHANGE mobile nav height on page scroll */
247  /* Remove body.home-page from below code if there should be mobile nav height change on ALL pages */
248  body.home-page .navbar.nav-v6 .navbar-header {
249    padding-top: 10px;
250    padding-bottom: 10px;
251  }
252  body.home-page .navbar.nav-v6.nav-scroll .navbar-header{
253    padding-top: 0px;
254    padding-bottom: 0px;
255  }
256  body.home-page .navbar.nav-v6 .socialnav {
257    margin-top: 10px;
258  }
259  body.home-page .navbar.nav-v6.nav-scroll .socialnav {
260    margin-top: 0px;
261  }
262  body.home-page .navbar.nav-v6 .container{
263    padding-top: 0;
264    padding-bottom: 0;
265  }
266  body.home-page .navbar.nav-v6.nav-scroll .container {
267    padding-top: 0;
268    padding-bottom: 0;
269  }
270  body.home-page .navbar.nav-v6 .header-logo {
271    height: 70px;
272  }
273  body.home-page .navbar.nav-v6.nav-scroll .header-logo {
274    height: 50px;
275  }
276  body.home-page .navbar.nav-v6 .header-logo img {
277    max-height: 100%;
278    max-width: 100%;
279  }
280  body.home-page .navbar.nav-v6.nav-scroll .header-logo img {
281    max-width: 80%;
282  }
283}
284
285
286.navbar-regular .navbar-collapse.collapse.in {
287  background-color: transparent;
288  width: 100%;
289}
290.navbar.nav-v6 .navbar-tabs {
291    background-color: #fff;
292    -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
293    -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
294    box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
295}
296.navbar.nav-v6.nav-scroll .navbar-tabs {
297    background-color: #fff;
298    -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
299    -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
300    box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
301}
302.drink-menu .navbar.nav-v6 .navbar-tabs {
303  background-color: #fff;
304  -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
305  -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
306  box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
307}
308.drink-menu .navbar.nav-v6.nav-scroll .navbar-tabs {
309  background-color: #fff;
310  -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
311  -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
312  box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
313}
314li.drop-down-link .sub-menu {
315  background-color: #fff;
316  color: #000;
317  }
318.nav-scroll li.drop-down-link .sub-menu {
319  background-color: #fff;
320  color: #000;
321}
322.drink-menu li.drop-down-link .sub-menu {
323  background-color: #fff;
324  color: #000;
325}
326.drink-menu .nav-scroll li.drop-down-link .sub-menu {
327  background-color: #fff;
328  color: #000;
329}
330li.drop-down-link .sub-menu a,
331li.drop-down-link div.drop-down {
332  color: #000;
333}
334.nav-scroll li.drop-down-link .sub-menu a,
335.nav-scroll li.drop-down-link div.drop-down {
336  color: #000;
337}
338.drink-menu li.drop-down-link .sub-menu a,
339.drink-menu li.drop-down-link div.drop-down {
340  color: #000;
341}
342.drink-menu .nav-scroll li.drop-down-link .sub-menu a,
343.drink-menu .nav-scroll li.drop-down-link div.drop-down {
344  color: #000;
345}
346
347.navbar.nav-v6 .navbar-logo {
348  background-color: #fff;
349}
350.navbar.nav-v6.nav-scroll .navbar-logo {
351  background-color: #fff;
352}
353.drink-menu .navbar.nav-v6 .navbar-logo {
354  background-color: #fff;
355}
356.drink-menu .navbar.nav-v6.nav-scroll .navbar-logo {
357  background-color: #fff;
358}
359
360.navbar-regular.nav-v6 .navbar-nav>li>a,
361.navbar-regular.nav-v6 .navbar-nav>li>a:hover,
362.navbar-regular.nav-v6 .navbar-nav>.active>a,
363.navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
364.navbar-regular.nav-v6 .navbar-nav>.active>a:hover{
365  border: none;
366  border-right: 1px solid #000;
367  background-color: transparent;
368  color: #4C2432;
369}
370.navbar-regular.nav-v6 .navbar-nav>li>a {
371  color: #000;
372}
373.drink-menu .navbar.nav-v6 .navbar-nav>li>a {
374  color: #000;
375  border-right: 1px solid #000;
376}
377.drink-menu .navbar-regular.nav-v6 .navbar-nav>li>a:hover,
378.drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a,
379.drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
380.drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:hover{
381  color: #4C2432;
382}
383
384li.drop-down-link .sub-menu a:hover,
385li.drop-down-link .sub-menu a:focus,
386li.drop-down-link .sub-menu li.active a {
387  color: #4C2432;
388}
389.drink-menu li.drop-down-link .sub-menu a:hover,
390.drink-menu li.drop-down-link .sub-menu a:focus,
391.drink-menu li.drop-down-link .sub-menu li.active a {
392  color: #4C2432;
393}
394
395.navbar-regular.nav-v7 .navbar-contact .navbar-nav>li>a,
396.navbar-regular.nav-v7 .navbar-contact .navbar-nav>li>a:hover,
397.navbar-regular.nav-v7 .navbar-contact .navbar-nav>.active>a,
398.navbar-regular.nav-v7 .navbar-contact .navbar-nav>.active>a:focus,
399.navbar-regular.nav-v7 .navbar-contact .navbar-nav>.active>a:hover{
400  color: #4C2432;
401}
402.navbar-regular.nav-v7 .navbar-contact .navbar-nav>li>a {
403  color: #000;
404}
405.drink-menu .navbar.nav-v7 .navbar-nav>li>a {
406  color: #000;
407}
408.drink-menu .navbar-regular.nav-v7 .navbar-contact .navbar-nav>li>a {
409  color: #000;
410}
411.drink-menu .navbar-regular.nav-v7 .navbar-contact .navbar-nav>li>a:hover,
412.drink-menu .navbar-regular.nav-v7 .navbar-contact .navbar-nav>.active>a,
413.drink-menu .navbar-regular.nav-v7 .navbar-contact .navbar-nav>.active>a:focus,
414.drink-menu .navbar-regular.nav-v7 .navbar-contact .navbar-nav>.active>a:hover {
415  color: #4C2432;
416}
417
418.navbar-regular.nav-v6 .navbar-toggle .icon-bar {
419  background-color: #000;
420}
421.drink-menu .navbar-regular.nav-v6 .navbar-toggle .icon-bar {
422  background-color: #000;
423}
424.navbar-regular.nav-v6 [aria-expanded="true"].navbar-toggle .icon-bar {
425  background-color: #4C2432;
426}
427.drink-menu .navbar-regular.nav-v6 [aria-expanded="true"].navbar-toggle .icon-bar {
428  background-color: #4C2432;
429}
430.navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a,
431.navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
432.navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
433.navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
434.navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover{
435  border: none;
436  border-right: 1px solid #000;
437  color: #4C2432;
438}
439.navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a {
440  color: #000;
441}
442.drink-menu .navbar.nav-v6.nav-scroll .navbar-nav>li>a {
443  color: #000;
444  border-right: 1px solid #000;
445}
446.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
447.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
448.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
449.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover {
450  color: #4C2432;
451}
452
453.nav-scroll li.drop-down-link .sub-menu a:hover,
454.nav-scroll li.drop-down-link .sub-menu a:focus,
455.nav-scroll li.drop-down-link .sub-menu li.active a {
456  color: #4C2432;
457}
458.drink-menu .nav-scroll li.drop-down-link .sub-menu a:hover,
459.drink-menu .nav-scroll li.drop-down-link .sub-menu a:focus,
460.drink-menu .nav-scroll li.drop-down-link .sub-menu li.active a {
461  color: #4C2432;
462}
463
464.navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>li>a,
465.navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>li>a:hover,
466.navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>.active>a,
467.navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>.active>a:focus,
468.navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>.active>a:hover {
469  color: #4C2432;
470}
471.navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>li>a {
472  color: #000;
473}
474.drink-menu .navbar.nav-v6.nav-scroll .navbar-contact .navbar-nav>li>a {
475  color: #000;
476}
477.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>li>a:hover,
478.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>.active>a,
479.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>.active>a:focus,
480.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>.active>a:hover{
481  color: #4C2432;
482}
483
484.navbar-regular.nav-v6.nav-scroll .navbar-toggle .icon-bar {
485  background-color: #000;
486}
487.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-toggle .icon-bar {
488  background-color: #000;
489}
490.navbar-regular.nav-v6.nav-scroll [aria-expanded="true"].navbar-toggle .icon-bar {
491  background-color: #4C2432;
492}
493.drink-menu .navbar-regular.nav-v6.nav-scroll [aria-expanded="true"].navbar-toggle .icon-bar{
494  background-color: #4C2432;
495}
496.navbar.nav-v6 .header-logo-text{
497  color: #000;
498}
499.navbar.nav-v6.nav-scroll .header-logo-text{
500  color: #000;
501}
502.navbar.nav-v6 .social-icon{
503  color: #000;
504}
505.navbar.nav-v6.nav-scroll .social-icon{
506  color: #000;
507}
508.navbar.nav-v6 .social-square .contact-icon:hover {
509  color: #000;
510  background-color: #4C2432;
511}
512.navbar.nav-v6.nav-scroll .social-square .contact-icon:hover {
513  color: #000;
514  background-color: #4C2432;
515}
516
517.drink-menu .navbar.nav-v6 .header-logo-text{
518  color: #000;
519}
520.drink-menu .navbar.nav-v6.nav-scroll .header-logo-text{
521  color: #000;
522}
523.drink-menu .navbar.nav-v6 .social-icon{
524  color: #000;
525}
526.drink-menu  .navbar.nav-v6.nav-scroll .social-icon{
527  color: #000;
528}
529.drink-menu .navbar.nav-v6 .social-square .contact-icon:hover {
530  color: #000;
531  background-color: #4C2432;
532}
533.drink-menu .navbar.nav-v6.nav-scroll .social-square .contact-icon:hover {
534  color: #000;
535  background-color: #4C2432;
536}
537.navbar.nav-v6 .navbar-logo .container {
538  border-bottom: 1px solid #000;
539}
540.navbar.nav-v6.nav-scroll .navbar-logo .container {
541  border-bottom: 1px solid #000;
542}
543.drink-menu .navbar.nav-v6 .navbar-logo .container {
544  border-bottom: 1px solid #000;
545}
546.drink-menu .navbar.nav-v6.nav-scroll .navbar-logo .container {
547  border-bottom: 1px solid #000;
548}
549@media (max-width: 767px) {
550  .navbar.nav-v6 {
551      background-color: #fff;
552      -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
553      -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
554      box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
555  }
556  .navbar.nav-v6.nav-scroll {
557      background-color: #fff;
558      -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
559      -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
560      box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
561  }
562  .drink-menu .navbar.nav-v6 {
563    background-color: #fff;
564    -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
565    -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
566    box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
567  }
568  .drink-menu .navbar.nav-v6.nav-scroll {
569    background-color: #fff;
570    -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
571    -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
572    box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
573  }
574  .navbar.nav-v6 .container,
575  .navbar.nav-v6.nav-scroll .container,
576  .drink-menu .navbar.nav-v6 .container,
577  .drink-menu .navbar.nav-v6.nav-scroll .container {
578    border-bottom: none;
579  }
580  .navbar.nav-v6 .navbar-header {
581    border-bottom: 2px solid #000;
582  }
583  .navbar.nav-v6.nav-scroll .navbar-header {
584    border-bottom: 2px solid #000;
585  }
586  .drink-menu .navbar.nav-v6 .navbar-header {
587    border-bottom: 2px solid #000;
588  }
589  .drink-menu .navbar.nav-v6.nav-scroll .navbar-header {
590    border-bottom: 2px solid #000;
591  }
592  li.drop-down-link .sub-menu,
593  .drink-menu li.drop-down-link .sub-menu {
594    background-color: transparent;
595  }
596  .nav-scroll li.drop-down-link .sub-menu,
597  .drink-menu .nav-scroll li.drop-down-link .sub-menu {
598    background-color: transparent;
599  }
600      /* Mobile home background */
601  .navbar.nav-v6.navbar-regular.mobile-full-height .navbar-collapse.collapse,
602  .navbar.nav-v6.navbar-regular.mobile-full-height .navbar-collapse.collapsing,
603  .navbar.nav-v6.navbar-regular.mobile-full-height .navbar-collapse.collapse.in {
604          background-color: #ffffff;
605      }
606  /* Mobile home background scroll */
607  .navbar.nav-v6.navbar-regular.nav-scroll.mobile-full-height .navbar-collapse.collapse,
608  .navbar.nav-v6.navbar-regular.nav-scroll.mobile-full-height .navbar-collapse.collapsing,
609  .navbar.nav-v6.navbar-regular.nav-scroll.mobile-full-height .navbar-collapse.collapse.in {
610          background-color: #ffffff;
611      }
612  /* Mobile pages background */
613  .drink-menu .navbar.nav-v6.navbar-regular.mobile-full-height .navbar-collapse.collapse,
614  .drink-menu .navbar.nav-v6.navbar-regular.mobile-full-height .navbar-collapse.collapsing,
615  .drink-menu .navbar.nav-v6.navbar-regular.mobile-full-height .navbar-collapse.collapse.in {
616          background-color: #ffffff;
617      }
618  /* Mobile pages background scroll */
619  .drink-menu .nav-v6.navbar-regular.nav-scroll.mobile-full-height .navbar-collapse.collapse,
620  .drink-menu .nav-v6.navbar-regular.nav-scroll.mobile-full-height .navbar-collapse.collapsing,
621  .drink-menu .nav-v6.navbar-regular.nav-scroll.mobile-full-height .navbar-collapse.collapse.in {
622          background-color: #ffffff;
623      }
624  .navbar-regular.nav-v6 .navbar-nav>li>a:hover,
625  .navbar-regular.nav-v6 .navbar-nav>.active>a,
626  .navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
627  .navbar-regular.nav-v6 .navbar-nav>.active>a:hover{
628    background-color: #4C2432;
629    color: #000;
630  }
631  .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
632  .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
633  .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
634  .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover{
635    background-color: #4C2432;
636    color: #000;
637  }
638  .drink-menu .navbar-regular.nav-v6 .navbar-nav>li>a:hover,
639  .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a,
640  .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
641  .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:hover{
642    background-color: #4C2432;
643    color: #000;
644  }
645  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
646  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
647  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
648  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover{
649    background-color: #4C2432;
650    color: #000;
651  }
652
653  .navbar-regular.nav-v6 li.drop-down-link.active .drop-down .fa.fa-angle-up {
654    color: #000;
655  }
656  .navbar-regular.nav-v6.nav-scroll li.drop-down-link.active .drop-down .fa.fa-angle-up {
657    color: #000;
658  }
659  .drink-menu .navbar-regular.nav-v6 li.drop-down-link.active .drop-down .fa.fa-angle-up {
660    color: #000;
661  }
662  .drink-menu .navbar-regular.nav-v6.nav-scroll li.drop-down-link.active .drop-down .fa.fa-angle-up {
663    color: #000;
664  }
665}
666</style><!-- nav --><nav class="navbar nav-v4 nav-v6 nav-v7 navbar-regular navbar-fixed-top " id="navbar" role="navigation"><div id="skip"><a class="visuallyhidden skip-content" href="#content">Skip to main content</a></div><div class="desktop-navigation logo-center"><div class="navbar-top-tabs clearfix"><ul class="custom-btn-list"><li><a class="custom-temp-btn hvr-fade" href="https://order.toasttab.com/online/the-loop-west-end" target="_blank">Order Online<span class="visuallyhidden">, you are leaving the website, opens in a new tab</span></a></li><li><a class="custom-temp-btn hvr-fade" href="https://www.toasttab.com/the-loop-west-end/giftcards" target="_blank">Gift Cards<span class="visuallyhidden">, you are leaving the website, opens in a new tab</span></a></li><li><a class="custom-temp-btn hvr-fade" href="https://www.toasttab.com/the-loop-west-end/rewardsSignup" target="_blank">Join Our Loyalty Program<span class="visuallyhidden">, you are leaving the website, opens in a new tab</span></a></li><li><a class="custom-temp-btn hvr-fade" href="/reservations" target="_self">Reserve</a></li><li><a class="custom-temp-btn hvr-fade" href="https://go.momos.com/cwgiMl" target="_blank">Parties &amp; Catering<span class="visuallyhidden">, you are leaving the website, opens in a new tab</span></a></li></ul></div><div class="navbar-logo"><div class="container"><a class="header-logo logo-top" href="/#"><img alt="The Loop West End logo top - Homepage" aria-label="Homepage" class="img-responsive logo-top" src="https://static.spotapps.co/website_images/ab_websites/112064_website_v3/logo.jpg"/></a><a class="header-logo header-logo-a logo-scroll" href="/"><img alt="The Loop West End logo scroll - Homepage" aria-label="Homepage" class="img-responsive logo-scroll" src="https://static.spotapps.co/website_images/ab_websites/112064_website_v3/logo.jpg"/></a><div class="navbar-contact"><ul class="nav navbar-nav navbar-right"><li class="nav-phone"><a href="tel:+19526812684"><i aria-hidden="true" class="fa fa-phone"></i><span>
666(952)-681-2684</span></a></li><li class="nav-email"><a href="mailto:[email protected]"><i aria-hidden="true" class="fa fa-envelope-o"></i><span>[email protected]</span></a></li></ul></div></div></div><div class="navbar-tabs"><div class="container"><div class="navbar-content"><ul class="nav navbar-nav"><li class=" nav-menu-page"><a class="" href="/food-menu" id="nav_tab_1_link" target="_self">
667                              
668                              Menu
669                              
670                        </a></li><li class=" "><a class="" href="/drink-menu" id="nav_tab_2_link" target="_self">
671                              
672                              Drinks
673                              
674                        </a></li><li class=" "><a class="" href="/specials" id="nav_tab_3_link" target="_self">
675                              
676                              Specials
677                              
678                        </a></li><li class="active "><a aria-current="page" class="" href="/events" id="nav_tab_4_link" target="_self">
679                              
680                              Events
681                              
682                        </a></li><li class=" nav-parties-link"><a aria-label="Parties, you are leaving the website, opens in a new tab" class="link-parties-sh" href="https://us-restaurant.momos.io/forms/52924e62-11fd-46e7-ba80-6c982b4be377?id=417c27de-1884-4917-abdf-eb69278834de#" id="nav_tab_5_link" target="_blank">
683                              
684                              Parties
685                              
686                        </a></li></ul><ul class="socialnav"><li class="social-links social-icons-holder social-square"><a class="pull-left contact-icon" href="https://www.facebook.com/734246769988821" target="_blank"><i class="social-icon fa fa-facebook"></i><span>Facebook page, you are leaving the website, opens in a new tab</span></a></li><li class="social-links social-icons-holder social-square"><a class="pull-left contact-icon" href="https://www.instagram.com/theloopwestend" target="_blank"><i class="social-icon fa fa-instagram"></i><span>Instagram page, you are leaving the website, opens in a new tab</span></a></li><li class="social-links social-icons-holder social-square"><a class="pull-left contact-icon" href="https://www.tiktok.com/@theloopwestend" target="_blank"><svg aria-hidden="true" height="32" viewbox="-4 1 42 32" width="22" xmlns="http://www.w3.org/2000/svg"><path d="M16.708 0.027c1.745-0.027 3.48-0.011 5.213-0.027 0.105 2.041 0.839 4.12 2.333 5.563 1.491 1.479 3.6 2.156 5.652 2.385v5.369c-1.923-0.063-3.855-0.463-5.6-1.291-0.76-0.344-1.468-0.787-2.161-1.24-0.009 3.896 0.016 7.787-0.025 11.667-0.104 1.864-0.719 3.719-1.803 5.255-1.744 2.557-4.771 4.224-7.88 4.276-1.907 0.109-3.812-0.411-5.437-1.369-2.693-1.588-4.588-4.495-4.864-7.615-0.032-0.667-0.043-1.333-0.016-1.984 0.24-2.537 1.495-4.964 3.443-6.615 2.208-1.923 5.301-2.839 8.197-2.297 0.027 1.975-0.052 3.948-0.052 5.923-1.323-0.428-2.869-0.308-4.025 0.495-0.844 0.547-1.485 1.385-1.819 2.333-0.276 0.676-0.197 1.427-0.181 2.145 0.317 2.188 2.421 4.027 4.667 3.828 1.489-0.016 2.916-0.88 3.692-2.145 0.251-0.443 0.532-0.896 0.547-1.417 0.131-2.385 0.079-4.76 0.095-7.145 0.011-5.375-0.016-10.735 0.025-16.093z"></path></svg><span>TikTok page, you are leaving the website, opens in a new tab</span></a></li></ul></div></div></div></div><div class="mobile-navigation"><div class="container"><a class="header-logo logo-top" href="/#"><img alt="The Loop West End logo top - Homepage" aria-label="Homepage" class="img-responsive logo-top" src="https://static.spotapps.co/website_images/ab_websites/112064_website_v3/logo.jpg"/></a><a class="header-logo header-logo-a logo-scroll" href="/"><img alt="The Loop West End logo scroll - Homepage" aria-label="Homepage" class="img-responsive logo-scroll" src="https://static.spotapps.co/website_images/ab_websites/112064_website_v3/logo.jpg"/></a><ul class="socialnav"><li class="mobile-header-nudge-item"><a href="https://order.toasttab.com/online/the-loop-west-end" target="_blank" class="cta-nudge-btn" data-nudge-type="order" data-nudge-position="mobile-header"><span>Order</span><span class="visuallyhidden">, opens in a new tab</span></a></li></ul><div class="navbar-header"><button aria-expanded="false" class="navbar-toggle" data-target="#navbar-collapse-1" data-toggle="collapse" type="button"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button></div><div class="collapse navbar-collapse" id="navbar-collapse-1"><ul class="nav navbar-nav navbar-right"><li class="navbar-top-tab"><a href="https://order.toasttab.com/online/the-loop-west-end" target="_blank">Order Online<span class="visuallyhidden">, you are leaving the website, opens in a new tab</span></a></li><li class="navbar-top-tab"><a href="https://www.toasttab.com/the-loop-west-end/giftcards" target="_blank">Gift Cards<span class="visuallyhidden">, you are leaving the website, opens in a new tab</span></a></li><li class="navbar-top-tab"><a href="https://www.toasttab.com/the-loop-west-end/rewardsSignup" target="_blank">Join Our Loyalty Program<span class="visuallyhidden">, you are leaving the website, opens in a new tab</span></a></li><li class="navbar-top-tab"><a href="/reservations" target="_self">Reserve</a></li><li class="navbar-top-tab"><a href="https://go.momos.com/cwgiMl" target="_blank">Parties &amp; Catering<span class="visuallyhidden">, you are leaving the website, opens in a new tab</span></a></li><li class=" nav-menu-page"><a class="" href="/food-menu" id="mobile_nav_tab_1_link" target="_self">
687                    Menu
688                                      </a></li><li class=" "><a class="" href="/drink-menu" id="mobile_nav_tab_2_link" target="_self">
689                    Drinks
690                                      </a></li><li class=" "><a class="" href="/specials" id="mobile_nav_tab_3_link" target="_self">
691                    Specials
692                                      </a></li><li class="active "><a aria-current="page" class="" href="/events" id="mobile_nav_tab_4_link" target="_self">
693                    Events
694                                      </a></li><li class=" nav-parties-link"><a aria-label="Parties, you are leaving the website, opens in a new tab" class="link-parties-sh" href="https://us-restaurant.momos.io/forms/52924e62-11fd-46e7-ba80-6c982b4be377?id=417c27de-1884-4917-abdf-eb69278834de#" id="mobile_nav_tab_5_link" target="_blank">
695                    Parties
696                                      </a></li></ul></div></div></div></nav></header><main id="content" role="main"><article><div class="pagecontent"><div class="container"><h1 class="page-title">Events</h1><div class="empty-content-message"><h2>We are updating our events</h2><p><strong>Please stay tuned</strong></p></div></div></div></article></main></div><style type="text/css">
697    .navbar-fixed-bottom.nav-v1 {
698        bottom: -100px;
699    }
700    .navbar-fixed-bottom.nav-v1 .nav.navbar-nav.navbar-right {
701        background-color: #4C2432;
702    }
703    .navbar-fixed-bottom.nav-v1 .bottom-svg-border path,
704    .navbar-fixed-bottom.nav-v1 .bottom-svg-border polygon {
705      fill: #000;
706    }
707    .navbar-fixed-bottom.nav-v1 .bottom-list-item a {
708        color: #fff;
709    }
710    .navbar-fixed-bottom.nav-v1 .bottom-list-item a:hover,
711    .navbar-fixed-bottom.nav-v1 .bottom-list-item a:focus {
712        color: #fff;
713        text-decoration: none;
714    }
715</style><nav aria-label="mobile footer" class="navbar-fixed-bottom nav-v1" id="bottom-navbar"><div><ul class="nav navbar-nav navbar-right"><li class="mobile-footer-nudge-item"><a href="https://order.toasttab.com/online/the-loop-west-end" target="_blank" class="cta-nudge-btn" data-nudge-type="order" data-nudge-position="mobile-footer"><span>Order</span><span class="visuallyhidden">, opens in a new tab</span></a></li></ul></div></nav>
715<script src="https://static.spotapps.co/web/theloopwestend--com/lib/jquery/jquery.min.js"></script>
715<script src="https://static.spotapps.co/web/theloopwestend--com/lib/bootstrap/js/bootstrap.min.js"></script>
715<script type="text/javascript">
716
717
718	$("#bottom_link_4").on("click", function(){
719		if (ga_check())
720			universal_ga('send', 'event', 'Button', 'Click', 'Order Online');
721	});
722	$("#bottom_link_3").on("click", function(){
723		if (ga_check())
724			universal_ga('send', 'event', 'Button', 'Click', 'Reserve');
725	});
726	$("#bottom_link_5").on("click", function(){
727		if (ga_check())
728			universal_ga('send', 'event', 'Button', 'Click', 'Private Party');
729	});
730  $('.header-logo-a, .header-logo.header-logo-mobile, .nav-v2-home-btn').click(function(event) {
731    if ( window.location.pathname == '/' || window.location.pathname == '/index.php') {
732      event.preventDefault();
733      var windowScrollTop = $(window).scrollTop();
734      if(windowScrollTop > 150) {
735        $('html, body').animate({scrollTop: 0}, 750);
736      }
737    }
738  });
739
740$(".banner-section a.banner-pin").click(function(e) {
741    // target element id
742    var id = $(this).attr('href');
743
744    // target element
745    var section = $(id);
746    if (section.length === 0) {
747        return;
748    }
749
750    // prevent standard hash navigation (avoid blinking in IE)
751    e.preventDefault();
752
753    // top position relative to the document
754    var pos = section.offset().top - 100 + 10;
755
756    // animated top scrolling
757    $('body, html').animate({scrollTop: pos}, 750);
758});
759
760$(document).ready(function() {
761  var navHeight = $('nav.navbar').height();
762  $('html').css("scroll-padding-top", navHeight);
763});
764
765$(document).on('scroll', function (e) {
766    if($(document).scrollTop() > 0) {
767      $('.navbar.nav-v7').addClass('nav-scroll');
768    }else {
769      $('.navbar.nav-v7').removeClass('nav-scroll');
770    }
771});
772
773$(function() {
774  setDropDownMenuWidth();
775
776  function setDropDownMenuWidth() {
777    var tabs_list = $('.navbar-tabs .navbar-nav');
778
779    $(tabs_list).find('li.drop-down-link').each(function() {
780      var sub_menu_width = $(this).outerWidth(true);
781      if (sub_menu_width < 100) {
782        sub_menu_width = 100;
783      }
784      $(this).find('.sub-menu').css('width', sub_menu_width+'px');
785    });
786  }
787
788  $( window ).resize(function() {
789    setDropDownMenuWidth();
790  });
791
792  $('.nav a:not(.drop-down)').on('click', function () {
793    $('.navbar-collapse').collapse('hide');
794  });
795
796});
797
798
799
800$( '.drop-down-link .drop-down' ).click(function(event) {
801  event.preventDefault();
802  event.stopPropagation();
803
804  // Close previously opened dropdown menus
805  $('.drop-down-link.active .sub-menu').slideUp();
806  $('.drop-down-link.active').find('.drop-down').attr('aria-expanded', false);
807  $('.drop-down-link.active').removeClass('active');
808
809  var drop_down = $(this).closest('.drop-down-link');
810  var drop_down_a = $(this);
811
812  if($(drop_down_a).attr("aria-expanded") == "true") { 
813    $(drop_down_a).attr("aria-expanded",false)
814  } else { 
815    $(drop_down_a).attr("aria-expanded",true)
816  }
817  
818  var sub_menu = $(this).closest('.drop-down-link').find( '.sub-menu' );
819
820  if ( $(sub_menu).is( ':hidden' ) ) {
821    $(sub_menu).slideDown();
822    $(drop_down).addClass('active');
823  } else {
824    $(sub_menu).slideUp();
825    $(drop_down).removeClass('active');
826  }
827});
828
829$(".nav-v7 .navbar-contact .nav-address a").click(function(e) {
830
831  if ( window.location.pathname == '/' || window.location.pathname == '/index.php') {
832    // target element id
833    var id = $(this).attr('href').substr(1);
834
835    // target element
836    var section = $(id);
837    if (section.length === 0) {
838        return;
839    }
840
841    // prevent standard hash navigation (avoid blinking in IE)
842    e.preventDefault();
843
844    // top position relative to the document
845    var pos = section.offset().top - 100 + 10;
846
847    // animated top scrolling
848    $('body, html').animate({scrollTop: pos}, 750);
849
850  }
851});
852
853const mobileDrop = document.querySelector('.mobile-full-height #navbar-collapse-1 .navbar-nav');
854const mobileDropButton = document.querySelector('.mobile-full-height .navbar-toggle');
855const mobileHeader = document.querySelector('.mobile-full-height .navbar-header');
856
857mobileDropButton?.addEventListener('click', () => {
858  mobileHeaderBottomPos = mobileHeader.getBoundingClientRect().bottom;
859  mobileDrop.style.paddingTop = mobileHeaderBottomPos + 'px';
860});
861
862(function () {
863  const isSafari = (() => {
864    const ua = navigator.userAgent;
865    return ua.includes('Safari') && // Safari must be present
866            !ua.includes('Chrome') && // Exclude Chrome (has 'Safari' in UA)
867            !ua.includes('Edg'); // Exclude Edge
868  })();
869
870  if (!isSafari) return;
871  const menu = document.getElementById('navbar-collapse-1');
872
873  // When coming back from a _blank tab or bfcache restore, force a repaint.
874  function nudgeRepaint() {
875    if (!menu || !menu.classList.contains('in')) return;
876    // toggle display to flush rendering, then poke will-change for one frame
877    const prev = menu.style.display;
878    menu.style.display = 'none';
879    // force reflow
880    void menu.offsetHeight;
881    menu.style.display = prev || '';
882    menu.style.willChange = 'opacity';
883    requestAnimationFrame(() => { menu.style.willChange = 'auto'; });
884  }
885
886  document.addEventListener('visibilitychange', () => {
887    if (document.visibilityState === 'visible') nudgeRepaint();
888  });
889
890  // iOS/macOS Safari often restores pages from bfcache
891  window.addEventListener('pageshow', (e) => {
892    if (e.persisted) nudgeRepaint();
893    else nudgeRepaint();
894  }, { passive: true });
895
896  // Keep menu open when clicking links that open in a new tab
897  menu?.addEventListener('click', (e) => {
898    const a = e.target.closest('a');
899    if (!a) return;
900    if (a.target === '_blank') {
901      // avoid any delegated "close on link click" handlers firing first
902      e.stopPropagation();
903      // allow navigation; after we return, repaint nudge will run
904    }
905  }, true);
906})();
907
908document.querySelectorAll('.navbar .navbar-nav > li.cta-nav-tab').forEach((li) => {
909  li.addEventListener('click', (e) => {
910    if (e.defaultPrevented) return;
911    
912    if (e.target.closest('a')) return;
913
914    const link = li.querySelector('a[href]');
915    if (!link) return;
916
917    if (e.metaKey || e.ctrlKey || e.shiftKey || e.button === 1 || link.target === '_blank') {
918      window.open(link.href, link.target || '_blank');
919      return;
920    }
921
922    link.click();
923  });
924
925  li.addEventListener('keydown', (e) => {
926    if ((e.key === 'Enter' || e.key === ' ') && !e.target.closest('a')) {
927      const link = li.querySelector('a[href]');
928      if (!link) return;
929      e.preventDefault();
930      link.click();
931    }
932  });
933});
934    setTimeout(function(){
935        $('.navbar-fixed-bottom.nav-v1').addClass('show-bottom-nav'); triggerShowFooterEvents();
936    }, 4000);
937</script>
937<script>
938(function() {
939  var name = "The Loop West End";
940  var pid = "ChIJaZGkSaI0s1IR4KXuICXDEBw";
941  function build_url() {
942    var q = encodeURIComponent(name).replace(/'/g, "%27");
943    return "https://www.google.com/maps/search/?api=1"
944         + "&query=" + q
945         + "&query_place_id=" + encodeURIComponent(pid);
946  }
947  window.google_map_url = build_url();
948  window.open_google_map = function() {
949    window.open(build_url(), "_blank");
950  };
951})();
952</script>
952<script>
953
954  var spot_id = 112064;
955  var sh_generic_form_params=JSON.parse('{"generic_contact_form_active":false,"texting_permissions_active":true,"title":"Contact us","instructions":"Please fill out the form and we will be in touch.","reasons":[],"custom_hours":"","hours":"","active_tmt_cta_links":{"cta_private_party":null,"cta_catering":null,"cta_reservations":null,"cta_jobs":null},"spot_name":"The Loop West End","label_for_texting_permission":"I’d like to get texts about specials, events, and other exclusive offers and announcements not available to general public"}');
956
957  if (false){
958    console.log("Check SpotHopper configuration. Probably there is no 'WEBSITE::DOMAIN_NAME' key for your website");
959  }
960
961  if (navigator.userAgent.match(/iPhone/i)
962       || navigator.userAgent.match(/iPad/i)
963       || navigator.userAgent.match(/iPod/i)){
964      $(document).ready(function(){
965            document.body.className += " " + "webkit-mobile-body";
966      });
967    }
968
969  var promotion_url_param_domain = getPromotionUrlParams()['domain'];
970  if ( promotion_url_param_domain && ( new URL(document.location).host == 'localhost:4000' || new URL(document.location).host == 'wcache.spotapps.co' ||  new URL(document.location).host == 'website-editor.spotapps.co' || new URL(document.location).host == 'website-editor-staging.spotapps.co' || new URL(document.location).host == 'wcache-staging.spotapps.co')){
971    $("a[href^='/']").each(function(){
972      if (this.href.indexOf('domain=') == -1){
973        var sh_internal_url = new URL(this.href);
974        sh_internal_url.searchParams.set("domain", promotion_url_param_domain);
975        this.href = sh_internal_url.toString();
976      }
977    })
978  }
979
980
981  function cta_link_matches_href(href, url){
982    var domain = 'theloopwestend.com';
983    if(typeof url === 'undefined'){
984      return false;
985    }
986    var partsOfURL = url.split(domain);
987    if (partsOfURL.length != 2){
988      return href == url;
989    }else{
990      var urlPath = partsOfURL[1];
991      if (urlPath.substring(0,1) == "/"){
992        urlPath = urlPath.substring(1,urlPath.length);
993      }
994      return href.indexOf(urlPath, domain.length + href.indexOf(domain)-1) !== -1;
995    }
996  }
997
998  var all_cta_links = [{"id":746506,"spot_id":112064,"url":"https://www.theloopwestend.com/drink-menu","cta_link_type":"drink_menu","created_at":"2023-05-02T11:59:58.630+00:00","updated_at":"2026-07-30T10:10:09.193+00:00","made_of_food":false,"link_name":""},{"id":746505,"spot_id":112064,"url":"https://www.theloopwestend.com/events","cta_link_type":"events","created_at":"2023-05-02T11:59:58.611+00:00","updated_at":"2026-07-30T10:10:09.140+00:00","made_of_food":false,"link_name":"","position":null},{"id":746504,"spot_id":112064,"url":"https://www.theloopwestend.com/specials","cta_link_type":"specials","created_at":"2023-05-02T11:59:58.540+00:00","updated_at":"2026-07-30T10:10:08.988+00:00","made_of_food":false,"link_name":"","position":null},{"id":746507,"spot_id":112064,"url":"https://www.theloopwestend.com/food-menu","cta_link_type":"food_menu","created_at":"2023-05-02T11:59:58.649+00:00","updated_at":"2026-07-30T10:10:09.248+00:00","made_of_food":false,"link_name":"","position":null},{"id":916189,"spot_id":112064,"url":"https://www.toasttab.com/the-loop-west-end/giftcards","cta_link_type":"gift_cards","created_at":"2024-04-02T09:11:26.385+00:00","updated_at":"2026-07-30T10:10:09.385+00:00","made_of_food":false,"link_name":"","target":null,"website_footer_label":"Gift Cards","position":5},{"id":726443,"spot_id":112064,"url":"https://order.toasttab.com/online/the-loop-west-end","cta_link_type":"order","created_at":"2023-01-10T13:30:44.525+00:00","updated_at":"2026-07-30T10:10:09.439+00:00","made_of_food":false,"link_name":"toasttab","target":null,"website_footer_label":"Order","position":0},{"id":1115136,"spot_id":112064,"url":"https://us-restaurant.momos.io/forms/52924e62-11fd-46e7-ba80-6c982b4be377?id=417c27de-1884-4917-abdf-eb69278834de","cta_link_type":"private_parties","created_at":"2024-10-22T13:44:31.529+00:00","updated_at":"2026-07-30T10:10:09.085+00:00","made_of_food":false,"link_name":"","target":null,"website_footer_label":"Parties","position":3},{"id":2051416,"spot_id":112064,"url":"https://www.opentable.com/restref/client/?restref=213007\u0026lang=en-US\u0026ot_source=Restaurant%20website\u0026corrid=ddfe51ba-cadb-42e5-9528-ac6a168c07e6","cta_link_type":"reservations","created_at":"2026-07-30T10:03:59.293+00:00","updated_at":"2026-07-30T10:10:09.300+00:00","made_of_food":false,"link_name":"","target":null,"website_footer_label":"Reserve","position":1}];
999
1000  function find_cta_link(href) {
1001    for (var i=0; i< all_cta_links.length; i++){
1002      var cta_link = all_cta_links[i];
1003      if ( cta_link_matches_href(href, cta_link.url)){
1004        return cta_link;
1005      }
1006    }
1007  }
1008
1009  function find_cta_links(href) {
1010    var cta_links = []
1011    for (var i=0; i< all_cta_links.length; i++){
1012      var cta_link = all_cta_links[i];
1013      if ( cta_link_matches_href(href, cta_link.url)){
1014        cta_links.push(cta_link);
1015      }
1016    }
1017    return cta_links;
1018  }
1019
1020
1021  function get_current_page_cta_link_types(){
1022    var types = [];
1023    var cta_links = find_cta_links(document.location.href);
1024    for (var i=0; i<cta_links.length; i++){
1025      types.push(cta_links[i].cta_link_type);
1026    }
1027    return types;
1028  }
1029
1030
1031  function is_food_menu_page(){
1032    var cta_link_types = get_current_page_cta_link_types();
1033    for (var i=0; i<cta_link_types.length; i++){
1034      if ('food_menu' == cta_link_types[i])
1035        return true;
1036    }
1037    return false;
1038  }
1039
1040
1041  function get_form_cat_from_cta(){
1042    var cta_link = find_cta_link(document.location.href);
1043    if (cta_link == null) {
1044        return null;
1045    }
1046    if (cta_link.cta_link_type == 'private_parties'){
1047        return 'private_party';
1048    }else if (cta_link.cta_link_type == 'reservations'){
1049        return 'reservation';
1050    }else if (cta_link.cta_link_type == 'catering'){
1051        return 'catering';
1052    }else if (cta_link.cta_link_type == 'job_listing'){
1053        return 'job_listings';
1054    }else if (cta_link.cta_link_type == 'gift_cards'){
1055          return 'gift_cards';
1056    }
1057    return null;
1058  }
1059
1060  function element_has_events_defined(elem){
1061    if ($._data(elem, "events") === undefined){
1062      return false;
1063    }
1064    return true;
1065  }
1066
1067  function create_ga_events_for_cta_clicks(){
1068    if (typeof $ === 'function'){
1069
1070      var cta_link_of_the_page = find_cta_link(location.href);
1071
1072
1073      $("a").each(function(index, elem){
1074        var href = $(elem).attr('href');
1075
1076        if (href  === undefined ){
1077           return;
1078        }
1079
1080        if (href.substring(0,4) == 'tel:'){
1081          if (!element_has_events_defined(elem)){  // not footer links
1082            $(elem).on("click", function(){
1083                universal_ga('send', 'event', {
1084                  eventCategory: 'Button',
1085                  eventAction: 'Click',
1086                  eventLabel: 'Phone',
1087                  transport: 'beacon'
1088                });
1089             });
1090
1091             if (cta_link_of_the_page){
1092                $(elem).on("click", function(){
1093                    universal_ga('send', 'event', {
1094                      eventCategory: 'Button',
1095                      eventAction: 'Click',
1096                      eventLabel: cta_link_of_the_page.cta_link_type +  ' page phone',
1097                      transport: 'beacon'
1098                    });
1099                 });
1100             }
1101          } else {
1102             if (cta_link_of_the_page){
1103               $(elem).on("click", function(){
1104                   universal_ga('send', 'event', {
1105                        eventCategory: 'Button',
1106                        eventAction: 'Click',
1107                        eventLabel: cta_link_of_the_page.cta_link_type +  ' page phone footer',
1108                        transport: 'beacon'
1109                   });
1110               });
1111             }
1112          }
1113
1114
1115        }else{
1116          var cta_link = find_cta_link(href);
1117          if (elem.className != null && elem.className.indexOf("bottom-link") > -1){
1118            // console.log("bottom link detected");
1119          }else{
1120            if (cta_link != null){
1121              $(elem).on("click", function(){
1122                universal_ga('send', 'event', {
1123                        eventCategory: 'Website Link',
1124                        eventAction: 'Click',
1125                        eventLabel: cta_link.cta_link_type,
1126                        transport: 'beacon'
1127                  });
1128              });
1129            }
1130          }
1131        }
1132
1133
1134      });
1135    }
1136  }
1137
1138  if (typeof angular === "undefined") {
1139    create_ga_events_for_cta_clicks();
1140  } else {
1141    angular.element(document).ready(function () {
1142      create_ga_events_for_cta_clicks();
1143    });
1144  }
1145
1146
1147  function triggerShowFooterEvents(){
1148    if (window.screen.availWidth < 768){
1149        universal_ga('send', 'event', {
1150                eventCategory: 'Mobile Footer',
1151                eventAction: 'View',
1152                eventLabel: '',
1153                transport: 'beacon'
1154          });
1155    }
1156  }
1157
1158
1159
1160
1161  ////////////
1162  function smartFooterV2()
1163  {
1164    var list= document.getElementsByClassName("bottom-list-item");
1165    if (!list) return;
1166
1167    if (document.getElementById("bottom-navbar") == null){
1168      return;
1169    }
1170
1171    var bottomNav = document.querySelector('#bottom-navbar .navbar-nav');
1172    var footerLinkPaddingLeft = $('#bottom-navbar .navbar-nav li a').css('padding-left');
1173    var footerLinkPaddingRight = $('#bottom-navbar .navbar-nav li a').css('padding-right');
1174
1175    bottomNav.innerHTML = '';
1176    var linksWithPosition = all_cta_links.filter(e => e.position != null && e.position >= 0);
1177    linksWithPosition.sort(function(a,b) {
1178      return a.position - b.position;
1179    });
1180
1181    var footerLinkStyle = (footerLinkPaddingLeft == '0px' || footerLinkPaddingRight == '0px' ? 'style="padding-left: 8px; padding-right: 8px;"' : '');
1182
1183    linksWithPosition.forEach((e, i) => {
1184        var target = e.target || getUrlTarget(e.url);
1185        bottomNav.insertAdjacentHTML('beforeend',
1186        `<li class="bottom-list-item" style="white-space: nowrap;width: auto;"><a ${footerLinkStyle} class="bottom-link smart-footer-link" data-type="${e.cta_link_type}" data-position="${i}" target="${target}" href="${e.url}">${e.website_footer_label}</a></li>`);
1187    })
1188
1189    var intervalCount = 0
1190    var interval = setInterval(() => {
1191      if(intervalCount == 50){
1192        clearInterval(interval);
1193      }
1194      removeOverflowingFooterLinks();
1195      intervalCount ++;
1196    }, 200);
1197
1198    $('.smart-footer-link').on("click", function(){
1199          if (typeof shUrlParams !== "undefined" && shUrlParams['source'] === undefined){
1200                    shUrlParams['source'] = 'footer';
1201                    sessionStorage.setItem('shUrlParams', JSON.stringify(shUrlParams));
1202          }
1203
1204          var visibleLinks = $('.smart-footer-link').map(function (e) {
1205              return $(this).data('type');
1206          }).toArray().join(',');
1207
1208          universal_ga('send', 'event', {
1209                  eventCategory: 'Button',
1210                  eventAction: 'Click_footer_2',
1211                  eventLabel: "type:" + $(this).data('type') + "|position:" + $(this).data('position') + "|visible:" + visibleLinks,
1212                  transport: 'beacon'
1213            });
1214    });
1215  }
1216
1217  function removeOverflowingFooterLinks(){
1218    var bottomNavLinks = document.querySelectorAll('#bottom-navbar .navbar-nav li');
1219    var width_sum = 0;
1220
1221    bottomNavLinks.forEach(e => {
1222      width_sum += e.getBoundingClientRect().width;
1223      if ((width_sum) > window.innerWidth) {
1224        console.log(`%cLink %c${e.textContent} %cdeleted couldn't fit screen`,"color: #fff;background: #202124;", "background: red;color: #fff", "color: #fff;background: #202124;");
1225        e.remove();
1226      }
1227    });
1228  }
1229
1230  function getUrlTarget(url){
1231    if(url.startsWith('tel')){
1232      return '_self';
1233    }
1234    if(url.startsWith('/') || url.includes('tmt.spotapps.co') || url.includes(window.location.host)){
1235      return '_self';
1236    }
1237    return '_blank';
1238  }
1239
1240  function npb()
1241    {
1242    	var list= document.getElementsByClassName("bottom-list-item");
1243    	if (!list) return;
1244
1245      if (document.getElementById("bottom-navbar") == null){
1246        return;
1247      }
1248
1249      var url = ""
1250    	for (var i=0; i < all_cta_links.length; i++)
1251    	{
1252    		if (all_cta_links[i].cta_link_type == "order"){
1253          url = all_cta_links[i].url;
1254        }
1255    	}
1256
1257    	if ( url == ""){
1258        return;
1259      }
1260
1261    	for (i=0; i < list.length; i++)
1262    	{
1263    		console.log(cta_link_matches_href(list[i].firstChild.href, url));
1264    		if (cta_link_matches_href(list[i].firstChild.href,url))  return;
1265
1266    	};
1267
1268    	var item = list[list.length-1]
1269    	document.getElementById("bottom-navbar").getElementsByClassName("nav navbar-nav")[0].appendChild(item.cloneNode(true));
1270    	var width_sum = 0;
1271    	for (i=0; i < list.length; i++) {
1272    		width_sum += list[i].getBoundingClientRect().width;
1273    	}
1274
1275    	var item = list[list.length-1]
1276    	if ((width_sum - 10) > window.innerWidth) { item.parentNode.removeChild(item); console.log("link deleted couldn't fit screen"); return; }
1277
1278    	item.firstChild.text = "Order";
1279    	item.firstChild.href = url;
1280    	item.firstChild.id = "bottom_link_" + list.length;
1281
1282      $(item.firstChild).on("click", function(){
1283
1284          if (typeof shUrlParams !== "undefined" && shUrlParams['source'] === undefined){
1285                    shUrlParams['source'] = 'footer';
1286                    sessionStorage.setItem('shUrlParams', JSON.stringify(shUrlParams));
1287                  }
1288
1289          universal_ga('send', 'event', {
1290                  eventCategory: 'Button',
1291                  eventAction: 'Click',
1292                  eventLabel: 'Plan B-2 Order',
1293                  transport: 'beacon'
1294            });
1295      });
1296
1297
1298    }
1299
1300function activateSmartFooter(){
1301    var smart_footer_active = true;
1302    var smart_footer_version = 2;
1303    var man_bottom_active = true;
1304    if(window.location.hash == '#smartFooterV2=enabled'){
1305      smartFooterV2();
1306      return;
1307    }
1308    if (smart_footer_active && !man_bottom_active){
1309      if(smart_footer_version == 2 ){
1310          smartFooterV2();
1311       }else {
1312          npb();
1313       }
1314    }
1315  }
1316
1317  activateSmartFooter();
1318
1319  var corona_config_str = '';
1320  var corona_config =  corona_config_str != '' ?  JSON.parse('') : null;
1321
1322
1323  //corona instuctions
1324  function show_corona_instructions(text, phone, btnText){
1325    //format to US number
1326    var match = phone.match(/^(\d{3})(\d{3})(\d{4})$/);
1327
1328    if(corona_config.shopping_cart_type == "TMT" && corona_config.shopping_cart_active == true) {
1329        var linkLocation = "https://tmt.spotapps.co/ordering-menu/?spot_id="+corona_config.spot_id+"&images=yes&accordion=true";
1330        var btnLinkLocation = "https://tmt.spotapps.co/ordering-menu/?spot_id="+corona_config.spot_id+"&images=yes&accordion=true";
1331    }else {
1332        var linkLocation = 'tel:+1'+phone+'';
1333        var btnLinkLocation = 'tel:+1'+ match[1] + '-' + match[2] + '-' + match[3] +''
1334    }
1335    var appendPhone = 'tel:+1'+phone+'';
1336    //inject html content
1337    if ($('.food-menu-nav').length) {
1338      //new template
1339      var pageEl =  $('.food-menu-nav').css('margin','20px auto 10px auto');
1340      var textColor = rgb2hex($('.section-header').css('color'));
1341      var linkColor = rgb2hex($('.food-menu-nav-item.active').css('background-color'));
1342      var fontSize = parseInt($('.food-menu-nav-item').css('font-size'));
1343      fontSize = fontSize + Math.round(fontSize  * 0.25);
1344
1345      // var html = '<div id="show-corona-instructions" style="padding:20px;flex: 0 1 100%;" class="text-center"><p style="color:'+textColor+';">'+text+' <a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Corona Instructions Phone\');" style="color:'+linkColor+';"href="tel:+1'+phone+'">'+ match[1] + '-' + match[2] + '-' + match[3] +'</a></p><a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Corona Instructions Phone\');" style="font-size:'+fontSize+'px" class="food-menu-nav-item custom-temp-btn hvr-fade active" href="tel:+1'+phone+'">'+btnText+'</a></div>';
1346      var html = '<div id="show-corona-instructions" style="padding:20px;flex: 0 1 100%;" class="text-center"><p style="color:'+textColor+';">'+text+' <a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Corona Instructions Phone\');" style="text-decoration: underline;color:'+textColor+';" href="tel:+1'+phone+'">'+ match[1] + '-' + match[2] + '-' + match[3] +'</a></p><a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Corona Instructions Phone\');" style="display: inline-block !important;font-size:'+fontSize+'px" class="food-menu-nav-item custom-temp-btn hvr-fade active" href="'+btnLinkLocation +'">'+btnText+'</a></div>';
1347
1348    }else {
1349      //old template
1350      var pageEl = $('.tabnav');
1351      var textColor = rgb2hex($('.menu-item-name-traditional').css('color'));
1352      var linkColor = rgb2hex($('.style-traditional .tabnav .nav>li.active>a').css('color'));
1353
1354      var linkTextColor = getContrast50(linkColor);
1355      var fontSize = parseInt($('.menu-item-name-traditional').css('font-size'));
1356      fontSize = fontSize + Math.round(fontSize  * 0.25);
1357      var textTransform = $('.style-traditional .tabnav .nav>li>a').css('text-transform');
1358
1359      // var html = '<div id="show-corona-instructions" style="padding:20px;flex: 0 1 100%;" class="text-center"><p style="color:'+textColor+';margin-bottom:20px;">'+text+' <a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Corona Instructions Phone\');" style="color:'+linkColor+';"href="tel:+1'+phone+'">'+ match[1] + '-' + match[2] + '-' + match[3] +'</a></p><a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Corona Instructions Phone\');" style="margin: 20px auto; padding: 10px 50px 10px 30px; cursor: pointer; background-color: '+linkColor+'; background: '+linkColor+'; text-decoration: none; color: '+textColor+'; border: 2px solid '+linkColor+';font-size:'+fontSize+'px;text-transform: '+textTransform+'" href="tel:+1'+phone+'">'+btnText+'</a></div>';
1360      var html = '<div id="show-corona-instructions" style="padding:20px;flex: 0 1 100%;" class="text-center"><p style="color:'+textColor+';margin-bottom:20px;">'+text+' <a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Corona Instructions Phone\');" style="text-decoration: underline;color:'+textColor+';"href="tel:+1'+phone+'">'+ match[1] + '-' + match[2] + '-' + match[3] +'</a></p><a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Corona Instructions Phone\');" style="margin: 20px auto; padding: 10px 30px 10px 30px; cursor: pointer; background-color: '+linkColor+'; background: '+linkColor+'; text-decoration: none; color: '+linkTextColor+'; border: 2px solid '+linkColor+';font-size:'+fontSize+'px;text-transform: '+textTransform+'" href="'+btnLinkLocation+'">'+btnText+'</a></div>';
1361
1362    }
1363     //html content
1364    pageEl.prepend(html);
1365  }
1366
1367  function rgb2hex(rgb) {
1368    if(typeof rgb !== "undefined"){
1369      rgbColor = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
1370      if (!rgbColor) {
1371        rgba = rgb.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(,\s*\d+\.*\d+)?\)$/);
1372        return "#" + hex(rgba[1]) + hex(rgba[2]) + hex(rgba[3]);
1373      }
1374      function hex(x) {
1375          return ("0" + parseInt(x).toString(16)).slice(-2);
1376      }
1377      return "#" + hex(rgbColor[1]) + hex(rgbColor[2]) + hex(rgbColor[3]);
1378    }
1379    return rgb;
1380  }
1381
1382  function getContrast50(hexcolor){
1383    return (parseInt(hexcolor, 16) > 0xffffff/2) ? '#000':'#fff';
1384  }
1385
1386  function show_corona_sidebar_instructions(text, phone){
1387    //format to US number
1388    var match = phone.match(/^(\d{3})(\d{3})(\d{4})$/);
1389    var divWidth = 230;
1390    var top = 50;
1391    var linkSize = '1.6em';
1392    var pSize = $('p').css('font-size');
1393    var appendPhone = 'tel:+1'+phone+'';
1394
1395    if ($(window).width() < 1600)
1396      var top = 30;
1397    if ($(window).width() < 1200){
1398      var divWidth = 180;
1399      var linkSize = '1.4em';
1400      var pSize ='1.1em';
1401    }
1402
1403    if($('.food-menu-nav').length){ //new template
1404      var textColor = $('.food-menu-nav-item.active').css('color');
1405      var linkColor = $('.food-menu-nav-item.active').css('background-color');
1406
1407      var linkTextColor = $('.food-menu-nav-item.active').css('color');
1408      var parent = $('.food-menu-page');
1409    }
1410    else { //old template
1411      var textColor = $('.menu-item-name-traditional').css('color');
1412      var linkColor = $('.style-traditional .tabnav .nav>
1412li.active>a').css('color');
1413      var parent = $('.food-menu').length ? $('.food-menu') : $('.drink-menu');
1414      var linkTextColor = getContrast50(linkColor);
1415    }
1416
1417    // $(parent).append('<div id="corona-instructions-sidebar" style="display:none;position:fixed;width:'+divWidth+'px;top:'+top+'vh;right:0;background-color:'+linkColor+';padding:15px;text-align:center;color:'+textColor+';text-transform:uppercase;"><p style="margin:0 0 5px;font-size:'+pSize+';">'+text+'</p><i class="fa fa-phone" aria-hidden="true"></i> <a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Food Page Side Element Phone\');"  style="font-size:'+linkSize+';color:'+textColor+';" href="tel:+1'+phone+'">'+ match[1] + '-' + match[2] + '-' + match[3] +'</a></div>');
1418    $(parent).append('<div id="corona-instructions-sidebar" style="display:none;position:fixed;width:'+divWidth+'px;top:'+top+'vh;right:0;background-color:'+linkColor+';padding:15px;text-align:center;color:'+linkTextColor+';text-transform:uppercase;"><p style="margin:0 0 5px;font-size:'+pSize+';">'+text+'</p><i class="fa fa-phone" aria-hidden="true"></i> <a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Food Page Side Element Phone\');this.href=\'' + appendPhone + '\';"  style="font-size:'+linkSize+';color:'+linkTextColor+';" href="/call-us/'+phone+'">'+ match[1] + '-' + match[2] + '-' + match[3] +'</a></div>');
1419
1420    //check if resolution is bigger than tablet resolution
1421/*  if ($(window).width() > 991) {
1422      //detect scroll
1423      window.onscroll = function (e) {
1424      if ($(window).scrollTop() == 0) {
1425          $('#corona-instructions-sidebar').hide();
1426        }else {
1427          $('#corona-instructions-sidebar').show();
1428        }
1429      }
1430    } */
1431  }
1432
1433  function check_corona_config(config){
1434    console.log(config)
1435    if (config) {
1436      if (config.instructions_on_food_page && config.food_page_instruction_text && config.food_page_instruction_phone) {
1437        if (!config.promote_deliveries && config.promote_pick_up) {
1438          var btnText = 'Call For Pick Up';
1439        }
1440        if (config.promote_deliveries && !config.promote_pick_up) {
1441          var btnText = 'Call For Delivery';
1442        }
1443        if (config.promote_deliveries && config.promote_pick_up) {
1444          var btnText = 'Call For Pick Up Or Delivery';
1445        }
1446
1447        if(typeof btnText !== "undefined"){ // check if pick up or delivery are true
1448          if(config.shopping_cart_type == "TMT" && config.shopping_cart_active == true) {
1449                var btnText = 'ORDER NOW';
1450                    if($('.food-menu-nav').length){ //new template
1451                      var textColor = rgb2hex($('.section-header').css('color'));
1452                      var linkColor = rgb2hex($('.food-menu-nav-item.active').css('background-color'));
1453                      var fontSize = parseInt($('.food-menu-nav-item').css('font-size'));
1454                      fontSize = fontSize + Math.round(fontSize  * 0.25);
1455                    }
1456                    else { //old template
1457                        var textColor = rgb2hex($('.menu-item-name-traditional').css('color'));
1458                        var linkColor = rgb2hex($('.style-traditional .tabnav .nav>li.active>a').css('color'));
1459
1460                        var linkTextColor = getContrast50(linkColor);
1461                        var fontSize = parseInt($('.menu-item-name-traditional').css('font-size'));
1462                        fontSize = fontSize + Math.round(fontSize  * 0.25);
1463                    }
1464                show_corona_instructions('For online orders, use our own <a style="text-decoration:underline;color: '+textColor+';" href="https://tmt.spotapps.co/ordering-menu/?spot_id='+config.spot_id+'&images=yes&accordion=true#"> commission free ordering platform! </a> or call:', config.food_page_instruction_phone, btnText);
1465                show_corona_sidebar_instructions(btnText, config.food_page_instruction_phone);
1466            } else {
1467                show_corona_instructions(config.food_page_instruction_text, config.food_page_instruction_phone, btnText);
1468                show_corona_sidebar_instructions(btnText, config.food_page_instruction_phone);
1469            }
1470
1471        }
1472      }
1473    }
1474  }
1475
1476
1477  if (is_food_menu_page() && !window.location.search.includes("contactless=true")){
1478    $( document ).ready(function() {
1479       setTimeout(function(){
1480        check_corona_config(corona_config);
1481       }, 300);
1482    });
1483  }
1484
1485
1486
1487  function isPhone(phone){
1488      var regex = /^(\+\d{1,2}\s?)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$/;
1489      return regex.test(phone);
1490  }
1491
1492  function sendEmail_MT (input_id) {
1493    const $loader = $("[data-id=newsletter-widget-2] .sph-loading-img");
1494
1495    const $step = {
1496      form: $("[data-id=newsletter-widget-2] .sph-email-form"),
1497      message: $("[data-id=newsletter-widget-2] .sph-response-message"),
1498    }
1499
1500    const $field = {
1501      email: $("[data-id=newsletter-widget-2] #sph-newsletter-input-" + input_id),
1502      phone: $("[data-id=newsletter-widget-2] #sph-newsletter-phone-" + input_id),
1503      consent: $("[data-id=newsletter-widget-2] #sph-newsletter-checkbox-phone-" + input_id),
1504    };
1505
1506    const $error = {
1507      email: $("[data-id=newsletter-widget-2] #sph-newsletter-email-error-" + input_id),
1508      phone: $("[data-id=newsletter-widget-2] #sph-newsletter-phone-error-" + input_id),
1509    };
1510
1511    if ($field.email.val().trim() === "") {
1512        $error.email
1513          .html("This field is required")
1514          .show();
1515    }
1516    else if (!isEmail($field.email.val().trim())) {
1517      $error.email
1518        .html("Please use the format “[email protected]”")
1519        .show();
1520    } else {
1521      $error.email
1522        .html("")
1523        .hide();
1524    }
1525
1526    if ($field.consent.is(':checked') && $field.phone.val().trim() === "") {
1527      $error.phone
1528        .html("This field is required")
1529        .show();
1530    } else if ($field.phone.val().trim().length > 0 && !isPhone($field.phone.val().trim())) {
1531      $error.phone
1532        .html("The phone number must contain 10 digits")
1533        .show();
1534    } else {
1535      $error.phone
1536        .html("")
1537        .hide();
1538    }
1539
1540    const errorField = $step.form.find('.sh-form-error:visible');
1541
1542    if (errorField.length > 0) {
1543      const input = errorField.first().next();
1544
1545      document.activeElement.blur();
1546
1547      setTimeout(() => {
1548        input.focus();
1549      }, 160)
1550
1551      return;
1552    }
1553
1554    $loader
1555      .show()
1556      .prev()
1557      .hide();
1558
1559    $.ajax({
1560      method: "POST",
1561      url: "https://www.spothopperapp.com/api/spots/112064/contacts/add_with_texting_permission",
1562      crossDomain: true,
1563      dataType: 'json',
1564      data: {
1565        email: $field.email.val().trim(),
1566        phone: $field.phone.val().trim(),
1567        texting_permission: $field.consent.is(':checked'),
1568      },
1569      success: function (data) {
1570        afterRequestSubmission(data);
1571      },
1572      error: function () {
1573        afterRequestSubmission("Something went wrong. Please try again later.");
1574      }
1575    });
1576
1577    function afterRequestSubmission (data) {
1578      $step.form.hide();
1579
1580      $step.message
1581        .html(data)
1582        .show()
1583        .trigger('focus');
1584    }
1585  }
1586</script>
1586<script>function addPromotionParamsToTMTLinks()
1587{
1588    if (sessionStorage.getItem('shUrlParams')) {
1589        let shParams = JSON.parse(sessionStorage.getItem('shUrlParams'));
1590        if (!Object.keys(shParams).length)
1591            return;
1592        if(!shParams.source)
1593            return;
1594        $('a').each(function () {
1595            if (this.href.includes('tmt.spotapps.co')) {
1596                if(this.href.includes('&source=') || this.href.includes('&destination=') || this.href.includes('&promotion='))
1597                    return;
1598
1599                this.href = this.href + '&source=' + shParams.source;
1600                if(shParams.destination)
1601                    this.href = this.href + '&destination=' + shParams.destination;
1602                if(shParams.promotion)
1603                    this.href = this.href + '&promotion=' + shParams.promotion;
1604                if(shParams.fb_post_id)
1605                    this.href = this.href + '&fb_post_id=' + shParams.fb_post_id;
1606                if(shParams.email_post_id)
1607                    this.href = this.href + '&email_post_id=' + shParams.email_post_id;
1608            }
1609        })
1610    }
1611}
1612setTimeout(function() {
1613  addPromotionParamsToTMTLinks();
1614  addFooterToSourceParam();
1615},600)
1616
1617function addFooterToSourceParam()
1618{
1619    $('.bottom-link').each(function (){
1620        if(shouldAddSourceParam(this.href))
1621          this.href = this.href + '&source=footer';
1622    })
1623    $('#sh-multiple-links-content-holder a').each(function (){
1624       if(shouldAddSourceParam(this.href))
1625          this.href = this.href + '&source=footer';
1626    })
1627}
1628function shouldAddSourceParam(link){
1629  if (link.includes('tmt.spotapps.co') && !link.includes('&source=')){
1630    return true;
1631  }
1632  return false;
1633}
1634</script>
1634<script>
1635;(async () => {
1636if (typeof window.focusTrap === 'undefined') {
1637    await getScript('https://unpkg.com/tabbable/dist/index.umd.js');
1638    await getScript('https://unpkg.com/focus-trap/dist/focus-trap.umd.js');
1639}
1640
1641document.querySelectorAll('.modal').forEach((element) => {
1642    const trap = window.focusTrap?.createFocusTrap(element, {
1643        allowOutsideClick: true,
1644    });
1645
1646    $(element).on('shown.bs.modal', () => {
1647	    trap?.activate();
1648	});
1649
1650	$(element).on('hidden.bs.modal', () => {
1651        trap?.deactivate();
1652    });
1653});
1654
1655async function getScript (source) {
1656    return new Promise((resolve, reject) => {
1657        const script = document.createElement('script');
1658        script.src = source;
1659        script.async = true;
1660
1661        script.onload = resolve;
1662        script.onerror = reject;
1663
1664        document.head.appendChild(script);
1665    });
1666}
1667})();
1668</script>
1668<script>document.addEventListener("DOMContentLoaded", () => {
1669    setNudgeBtnStyling();
1670 })
1671
1672function setNudgeBtnStyling(){
1673    const headerNudgeBtn = document.querySelector(".cta-nudge-btn[data-nudge-position=mobile-header]");
1674    const footerNudgeBtn = document.querySelector(".cta-nudge-btn[data-nudge-position=mobile-footer]");
1675    
1676    const useWebsiteButtonStyle = true;
1677    
1678    if (!headerNudgeBtn && !footerNudgeBtn) return;
1679    
1680    if(useWebsiteButtonStyle) applyCustomTempBtnStyles(headerNudgeBtn, footerNudgeBtn);
1681}
1682
1683function getCustomTempBtnStyles() {
1684    let tempBtn = document.querySelector("a.custom-temp-btn");
1685    
1686    // If not present, create a temporary one
1687    let created = false;
1688    if (!tempBtn) {
1689      tempBtn = document.createElement("a");
1690      tempBtn.className = "custom-temp-btn";
1691      tempBtn.style.visibility = "hidden";
1692      tempBtn.style.position = "absolute";
1693      tempBtn.style.pointerEvents = "none";
1694      document.body.appendChild(tempBtn);
1695      created = true;
1696    }
1697
1698    const styles = window.getComputedStyle(tempBtn);
1699    
1700    // Border radius logic - only determine it once on first visit
1701    let borderRadius;
1702    const storedBorderRadius = sessionStorage.getItem("nudgeBtnBorderRadius");
1703
1704    if (storedBorderRadius !== null) {
1705      borderRadius = storedBorderRadius; // already determined, use it
1706    } else if (document.body.classList.contains("home-page") && !created) {
1707      borderRadius = styles.borderRadius; // homepage with real button, store it
1708      sessionStorage.setItem("nudgeBtnBorderRadius", borderRadius);
1709    } else {
1710      borderRadius = "0px"; // first visit is not homepage, lock to 0 forever
1711      sessionStorage.setItem("nudgeBtnBorderRadius", borderRadius);
1712    }
1713    
1714    const stylePatch = {
1715      fontFamily: styles.fontFamily,
1716      fontWeight: styles.fontWeight,
1717      borderRadius: borderRadius,
1718      textTransform: styles.textTransform
1719    };
1720    
1721    // Cleanup if we created it
1722    if (created) {
1723      document.body.removeChild(tempBtn);
1724    }
1725    
1726    return stylePatch;
1727}
1728
1729function applyCustomTempBtnStyles(headerNudgeBtn, footerNudgeBtn) {
1730    const stylePatch = getCustomTempBtnStyles();
1731    if (!stylePatch) return;
1732    
1733    [headerNudgeBtn, footerNudgeBtn].filter(Boolean).forEach((btn) => {
1734      Object.assign(btn.style, stylePatch);
1735    });
1736}</script>
1736</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.