PageSourceSearch

https://theloopwestend.com/reservations

html theloopwestend.com collected 2026-10-06 18:37:15 UTC 103,643 bytes, 2,150 lines download raw bytes

1<!DOCTYPE html>
2�<html lang="en"><head><meta content="http://theloopwestend.com/reservations" property="og:url"/><meta content="website" property="og:type"/><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 ..." property="og:description"/><meta content="The Loop West End - Reservations" 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 13:19:27.392933Z --><!--
10smart_footer: true,
11smart_footer_version: 2,
12scripting_active: false
13--><link href="https://theloopwestend.com/reservations" 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="" 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 - Reservations" 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>The Loop West End - Reservations</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/fancybox/source/jquery.fancybox.css" media="screen" rel="stylesheet" type="text/css"/><link href="https://static.spotapps.co/web/theloopwestend--com/lib/fancybox/source/helpers/jquery.fancybox-thumbs.css" rel="stylesheet" type="text/css"/><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        .webkit-mobile-body > div:first-child {
15            -webkit-overflow-scrolling: touch;
16        }
17
18        .drink-menu.reservations-ot-page {
19            background-color: #fff;
20            color: #000;
21        }
22
23                    /* content/position/z-index below are required - without content:"" a :before pseudo-
24               element never generates at all per the CSS spec (nothing renders, no error either).
25               position:fixed + z-index:-1 keeps it a background layer behind all page content,
26               instead of a filter/background-image directly on .reservations-ot-page itself, which
27               would dim/gray out the actual text content along with the image. */
28            .drink-menu.reservations-ot-page > div:first-child {
29                background-color: transparent;
30            }
31
32            .drink-menu.reservations-ot-page > div:first-child:before {
33                content: "";
34                position: fixed;
35                top: 0;
36                left: 0;
37                right: 0;
38                bottom: 0;
39                z-index: -1;
40                display: block;
41                background-image: url('https://static.spotapps.co/website_images/ab_websites/112064_website_v3/reservations_ot_bg.jpg');
42                background-repeat: no-repeat;
43                background-size: cover;
44                                -webkit-filter: grayscale(0.6) opacity(0.1);
45                -moz-filter: grayscale(0.6) opacity(0.1);
46                -o-filter: grayscale(0.6) opacity(0.1);
47                -ms-filter: grayscale(0.6) opacity(0.1);
48                filter: grayscale(0.6) opacity(0.1);
49                            }
50        
51        .reservations-ot-page .reservations-ot-wrapper {
52            background-color: transparent;
53            background-image: url(https://static.spotapps.co/web/theloopwestend--com/none);
54        }
55        .reservations-ot-page .reservations-ot-wrapper h1 {
56            color: #000;
57        }
58        .reservations-ot-page .reservations-ot-wrapper p {
59            color: #000;
60        }
61        .reservations-ot-page .reservations-ot-gallery-wrapper {
62            background-color: transparent;
63            background-image: url(https://static.spotapps.co/web/theloopwestend--com/);
64        }
65        .reservations-ot-page .reservations-ot-gallery-wrapper h2 {
66            color: #000;
67        }
68        .reservations-ot-page .reservations-ot-gallery-wrapper {
69            color: #000;
70        }
71    </style>
71<script src="https://static.spotapps.co/websites/lib/lazysizes/lazysizes.min.js" async=""></script>
71<script>
72function ga_check(){
73  return true;
74}
75</script>
75<script>
76function universal_ga(action, type, category, ev_action, label){
77  if(typeof ga === 'function')
78  {
79    if(!(action && label))
80      ga(action, type, category)
81    else
82      ga(action, type, category, ev_action, label)
83  }
84
85  if(typeof gtag === 'function')
86  {
87    if(!(action && label))
88    {
89      hash = category
90      ev_label = hash["eventLabel"]
91      var splits = ev_label.match(/.{1,100}/g) ?? [];
92      delete(hash["eventLabel"])
93
94      if(splits.length <= 1)
95        hash["eventLabel"] = ev_label
96      else
97      {
98        for (let i = 0; i < splits.length; i++) {
99          var key = "eventLabel_"+i
100          hash[key] = splits[i]
101        }
102      }
103      console.log(hash)
104      gtag("event", hash["eventCategory"], hash);
105    }
106    else
107    {
108      var hash = {
109        eventCategory: category,
110        eventAction: ev_action
111      }
112
113      var splits = label.match(/.{1,100}/g) ?? [];
114      if(splits.length <= 1)
115        hash["eventLabel"] = label
116      else
117      {
118        for (let i = 0; i < splits.length; i++) {
119          var key = "eventLabel_"+i
120          hash[key] = splits[i]
121        }
122      }
123      gtag("event", hash["eventCategory"], hash);
124    }
125  }
126}
127</script>
127<script>    function getPromotionUrlParams(){
128      var params_str = sessionStorage.getItem('shUrlParams');
129      if (params_str != null){
130        return JSON.parse(params_str);
131      }else{
132        return {};
133      }
134    }
135
136    function getPromotionSourceDetails(){
137        var params_str = localStorage.getItem('promotionSourceDetails');
138        if (params_str != null){
139          return JSON.parse(params_str);
140        }else{
141          return {};
142        }
143    }
144
145    function getLastEmailVisitInDays(){
146      var promotionSourceDetails = getPromotionSourceDetails();
147      if (!promotionSourceDetails['last_visit_email'] ){
148        return null;
149      }
150      return Math.floor((new Date() - new Date(promotionSourceDetails['last_visit_email'])) / (1000 * 60 * 60 * 24));
151    }
152
153    function getLastSocialVisitInDays(){
154      var promotionSourceDetails = getPromotionSourceDetails();
155      if (!promotionSourceDetails['last_visit_social'] ){
156        return null;
157      }
158      return Math.floor((new Date() - new Date(promotionSourceDetails['last_visit_social'])) / (1000 * 60 * 60 * 24));
159    }
160
161    var shUrlParams = getPromotionUrlParams();
162    var promotionSourceDetails = getPromotionSourceDetails();
163
164    new URL(document.location).searchParams.forEach(function(value, paramName){
165
166     shUrlParams[paramName] = value;
167
168     if (paramName == 'source' && value =='social' ){
169       promotionSourceDetails['last_visit_social'] = new Date();
170       localStorage.setItem('promotionSourceDetails', JSON.stringify(promotionSourceDetails));
171     }
172
173     if (paramName == 'source' && value =='email' ){
174       promotionSourceDetails['last_visit_email'] = new Date();
175       localStorage.setItem('promotionSourceDetails', JSON.stringify(promotionSourceDetails));
176     }
177
178    });
179
180    sessionStorage.setItem('shUrlParams', JSON.stringify(shUrlParams))
181</script>
181<style>.cta-nudge-btn[data-nudge-position="mobile-header"],
182.cta-nudge-btn[data-nudge-position="mobile-footer"] {
183  display: inline-block;
184  font-family: inherit;
185  font-weight: inherit;
186  text-transform: uppercase;
187  text-decoration: none;
188  text-align: center;
189  border-width: 2px;
190  border-style: solid;
191  border-radius: 0;
192}
193
194nav.navbar .socialnav .mobile-header-nudge-item .cta-nudge-btn[data-nudge-position="mobile-header"],
195.navbar-fixed-bottom .mobile-footer-nudge-item .cta-nudge-btn[data-nudge-position="mobile-footer"],
196nav.navbar .socialnav .mobile-header-nudge-item .cta-nudge-btn[data-nudge-position="mobile-header"]:hover,
197nav.navbar .socialnav .mobile-header-nudge-item .cta-nudge-btn[data-nudge-position="mobile-header"]:focus,
198.navbar-fixed-bottom .mobile-footer-nudge-item .cta-nudge-btn[data-nudge-position="mobile-footer"]:hover,
199.navbar-fixed-bottom .mobile-footer-nudge-item .cta-nudge-btn[data-nudge-position="mobile-footer"]:focus {
200  background-color: #000000;
201  color: #FFFFFF;
202  border-color: #FFFFFF;
203}
204
205nav.navbar .socialnav .mobile-header-nudge-item .cta-nudge-btn[data-nudge-position="mobile-header"] span,
206.navbar-fixed-bottom .mobile-footer-nudge-item .cta-nudge-btn[data-nudge-position="mobile-footer"] span,
207nav.navbar .socialnav .mobile-header-nudge-item .cta-nudge-btn[data-nudge-position="mobile-header"]:hover span,
208nav.navbar .socialnav .mobile-header-nudge-item .cta-nudge-btn[data-nudge-position="mobile-header"]:focus span,
209.navbar-fixed-bottom .mobile-footer-nudge-item .cta-nudge-btn[data-nudge-position="mobile-footer"]:hover span,
210.navbar-fixed-bottom .mobile-footer-nudge-item .cta-nudge-btn[data-nudge-position="mobile-footer"]:focus span {
211  color: #FFFFFF;
212}
213
214nav.navbar .socialnav .cta-nudge-btn[data-nudge-position="mobile-header"] {
215  width: auto;
216  padding: 6px 15px;
217  margin: -2px 5px 0 0;
218  font-size: 1.1em;
219}
220
221.navbar-fixed-bottom .mobile-footer-nudge-item {
222  width: 100%;
223  margin: 6px 15px;
224  padding: 0;
225}
226
227.navbar-fixed-bottom .cta-nudge-btn[data-nudge-position="mobile-footer"] {
228  width: 100%;
229  padding: 8px 15px;
230  margin: 0 auto;
231  font-size: 1.3em;
232}</style><style>a:focus:not(:focus-visible){outline:none;box-shadow:none;}
233a.get-directions-footer-link{display:inline-block;transform-origin:left center;transition:transform .2s ease;}
234a.get-directions-footer-link:hover{transform:scale(1.08);}
235@media (prefers-reduced-motion:reduce){a.get-directions-footer-link{transition:none;transform:none;}}
236a.get-directions-footer-link,a.get-directions-footer-link:hover{color:inherit!important;}</style></head><body class="drink-menu party party-background reservations-page reservations-ot-page  "><div><header style="background-color:#000000;"><style>
237
238  .nav-v7 .navbar-logo .container {
239    height: 80px;
240  }
241  .nav-v7 .navbar-logo .header-logo img {
242    max-height: 80px;
243  }
244
245
246.navbar.nav-v6 .navbar-logo .container {
247  height: 100px;
248  padding-top: 10px;
249  padding-bottom: 10px;
250}
251.navbar.nav-v6.nav-scroll .navbar-logo .container {
252  height: 70px;
253  padding-top: 0px;
254  padding-bottom: 0px;
255}
256.navbar.nav-v6 .header-logo img {
257  max-width: 100%;
258}
259.navbar.nav-v6.nav-scroll .header-logo img {
260  max-width: 80%;
261}
262.nav-v7 .navbar-logo .header-logo img {
263  max-height: 100px;
264}
265.nav-v7.nav-scroll .navbar-logo .header-logo img {
266  max-height: 70px;
267}
268
269@media (max-width: 767px) {
270  /* DO NOT change mobile nav height on page scroll */
271  .navbar.nav-v6 .navbar-header,
272  .navbar.nav-v6.nav-scroll .navbar-header {
273    padding-top: 10px;
274    padding-bottom: 10px;
275  }
276  .navbar.nav-v6 .socialnav,
277  .navbar.nav-v6.nav-scroll .socialnav {
278    margin-top: 10px;
279  }
280  .navbar.nav-v6 .container,
281  .navbar.nav-v6.nav-scroll .container {
282    padding-top: 0;
283    padding-bottom: 0;
284  }
285  .navbar.nav-v6 .header-logo,
286  .navbar.nav-v6.nav-scroll .header-logo {
287    height: 70px;
288  }
289  .navbar.nav-v6 .header-logo img {
290    max-height: 100%;
291  }
292  .navbar.nav-v6.nav-scroll .header-logo img {
293    max-width: 100%;
294  }
295  /* HOME page CHANGE mobile nav height on page scroll */
296  /* Remove body.home-page from below code if there should be mobile nav height change on ALL pages */
297  body.home-page .navbar.nav-v6 .navbar-header {
298    padding-top: 10px;
299    padding-bottom: 10px;
300  }
301  body.home-page .navbar.nav-v6.nav-scroll .navbar-header{
302    padding-top: 0px;
303    padding-bottom: 0px;
304  }
305  body.home-page .navbar.nav-v6 .socialnav {
306    margin-top: 10px;
307  }
308  body.home-page .navbar.nav-v6.nav-scroll .socialnav {
309    margin-top: 0px;
310  }
311  body.home-page .navbar.nav-v6 .container{
312    padding-top: 0;
313    padding-bottom: 0;
314  }
315  body.home-page .navbar.nav-v6.nav-scroll .container {
316    padding-top: 0;
317    padding-bottom: 0;
318  }
319  body.home-page .navbar.nav-v6 .header-logo {
320    height: 70px;
321  }
322  body.home-page .navbar.nav-v6.nav-scroll .header-logo {
323    height: 50px;
324  }
325  body.home-page .navbar.nav-v6 .header-logo img {
326    max-height: 100%;
327    max-width: 100%;
328  }
329  body.home-page .navbar.nav-v6.nav-scroll .header-logo img {
330    max-width: 80%;
331  }
332}
333
334
335.navbar-regular .navbar-collapse.collapse.in {
336  background-color: transparent;
337  width: 100%;
338}
339.navbar.nav-v6 .navbar-tabs {
340    background-color: #fff;
341    -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
342    -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
343    box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
344}
345.navbar.nav-v6.nav-scroll .navbar-tabs {
346    background-color: #fff;
347    -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
348    -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
349    box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
350}
351.drink-menu .navbar.nav-v6 .navbar-tabs {
352  background-color: #fff;
353  -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
354  -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
355  box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
356}
357.drink-menu .navbar.nav-v6.nav-scroll .navbar-tabs {
358  background-color: #fff;
359  -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
360  -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
361  box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
362}
363li.drop-down-link .sub-menu {
364  background-color: #fff;
365  color: #000;
366  }
367.nav-scroll li.drop-down-link .sub-menu {
368  background-color: #fff;
369  color: #000;
370}
371.drink-menu li.drop-down-link .sub-menu {
372  background-color: #fff;
373  color: #000;
374}
375.drink-menu .nav-scroll li.drop-down-link .sub-menu {
376  background-color: #fff;
377  color: #000;
378}
379li.drop-down-link .sub-menu a,
380li.drop-down-link div.drop-down {
381  color: #000;
382}
383.nav-scroll li.drop-down-link .sub-menu a,
384.nav-scroll li.drop-down-link div.drop-down {
385  color: #000;
386}
387.drink-menu li.drop-down-link .sub-menu a,
388.drink-menu li.drop-down-link div.drop-down {
389  color: #000;
390}
391.drink-menu .nav-scroll li.drop-down-link .sub-menu a,
392.drink-menu .nav-scroll li.drop-down-link div.drop-down {
393  color: #000;
394}
395
396.navbar.nav-v6 .navbar-logo {
397  background-color: #fff;
398}
399.navbar.nav-v6.nav-scroll .navbar-logo {
400  background-color: #fff;
401}
402.drink-menu .navbar.nav-v6 .navbar-logo {
403  background-color: #fff;
404}
405.drink-menu .navbar.nav-v6.nav-scroll .navbar-logo {
406  background-color: #fff;
407}
408
409.navbar-regular.nav-v6 .navbar-nav>li>a,
410.navbar-regular.nav-v6 .navbar-nav>li>a:hover,
411.navbar-regular.nav-v6 .navbar-nav>.active>a,
412.navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
413.navbar-regular.nav-v6 .navbar-nav>.active>a:hover{
414  border: none;
415  border-right: 1px solid #000;
416  background-color: transparent;
417  color: #4C2432;
418}
419.navbar-regular.nav-v6 .navbar-nav>li>a {
420  color: #000;
421}
422.drink-menu .navbar.nav-v6 .navbar-nav>li>a {
423  color: #000;
424  border-right: 1px solid #000;
425}
426.drink-menu .navbar-regular.nav-v6 .navbar-nav>li>a:hover,
427.drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a,
428.drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
429.drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:hover{
430  color: #4C2432;
431}
432
433li.drop-down-link .sub-menu a:hover,
434li.drop-down-link .sub-menu a:focus,
435li.drop-down-link .sub-menu li.active a {
436  color: #4C2432;
437}
438.drink-menu li.drop-down-link .sub-menu a:hover,
439.drink-menu li.drop-down-link .sub-menu a:focus,
440.drink-menu li.drop-down-link .sub-menu li.active a {
441  color: #4C2432;
442}
443
444.navbar-regular.nav-v7 .navbar-contact .navbar-nav>li>a,
445.navbar-regular.nav-v7 .navbar-contact .navbar-nav>li>a:hover,
446.navbar-regular.nav-v7 .navbar-contact .navbar-nav>.active>a,
447.navbar-regular.nav-v7 .navbar-contact .navbar-nav>.active>a:focus,
448.navbar-regular.nav-v7 .navbar-contact .navbar-nav>.active>a:hover{
449  color: #4C2432;
450}
451.navbar-regular.nav-v7 .navbar-contact .navbar-nav>li>a {
452  color: #000;
453}
454.drink-menu .navbar.nav-v7 .navbar-nav>li>a {
455  color: #000;
456}
457.drink-menu .navbar-regular.nav-v7 .navbar-contact .navbar-nav>li>a {
458  color: #000;
459}
460.drink-menu .navbar-regular.nav-v7 .navbar-contact .navbar-nav>li>a:hover,
461.drink-menu .navbar-regular.nav-v7 .navbar-contact .navbar-nav>.active>a,
462.drink-menu .navbar-regular.nav-v7 .navbar-contact .navbar-nav>.active>a:focus,
463.drink-menu .navbar-regular.nav-v7 .navbar-contact .navbar-nav>.active>a:hover {
464  color: #4C2432;
465}
466
467.navbar-regular.nav-v6 .navbar-toggle .icon-bar {
468  background-color: #000;
469}
470.drink-menu .navbar-regular.nav-v6 .navbar-toggle .icon-bar {
471  background-color: #000;
472}
473.navbar-regular.nav-v6 [aria-expanded="true"].navbar-toggle .icon-bar {
474  background-color: #4C2432;
475}
476.drink-menu .navbar-regular.nav-v6 [aria-expanded="true"].navbar-toggle .icon-bar {
477  background-color: #4C2432;
478}
479.navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a,
480.navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
481.navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
482.navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
483.navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover{
484  border: none;
485  border-right: 1px solid #000;
486  color: #4C2432;
487}
488.navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a {
489  color: #000;
490}
491.drink-menu .navbar.nav-v6.nav-scroll .navbar-nav>li>a {
492  color: #000;
493  border-right: 1px solid #000;
494}
495.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
496.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
497.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
498.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover {
499  color: #4C2432;
500}
501
502.nav-scroll li.drop-down-link .sub-menu a:hover,
503.nav-scroll li.drop-down-link .sub-menu a:focus,
504.nav-scroll li.drop-down-link .sub-menu li.active a {
505  color: #4C2432;
506}
507.drink-menu .nav-scroll li.drop-down-link .sub-menu a:hover,
508.drink-menu .nav-scroll li.drop-down-link .sub-menu a:focus,
509.drink-menu .nav-scroll li.drop-down-link .sub-menu li.active a {
510  color: #4C2432;
511}
512
513.navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>li>a,
514.navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>li>a:hover,
515.navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>.active>a,
516.navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>.active>a:focus,
517.navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>.active>a:hover {
518  color: #4C2432;
519}
520.navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>li>a {
521  color: #000;
522}
523.drink-menu .navbar.nav-v6.nav-scroll .navbar-contact .navbar-nav>li>a {
524  color: #000;
525}
526.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>li>a:hover,
527.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>.active>a,
528.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>.active>a:focus,
529.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>.active>a:hover{
530  color: #4C2432;
531}
532
533.navbar-regular.nav-v6.nav-scroll .navbar-toggle .icon-bar {
534  background-color: #000;
535}
536.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-toggle .icon-bar {
537  background-color: #000;
538}
539.navbar-regular.nav-v6.nav-scroll [aria-expanded="true"].navbar-toggle .icon-bar {
540  background-color: #4C2432;
541}
542.drink-menu .navbar-regular.nav-v6.nav-scroll [aria-expanded="true"].navbar-toggle .icon-bar{
543  background-color: #4C2432;
544}
545.navbar.nav-v6 .header-logo-text{
546  color: #000;
547}
548.navbar.nav-v6.nav-scroll .header-logo-text{
549  color: #000;
550}
551.navbar.nav-v6 .social-icon{
552  color: #000;
553}
554.navbar.nav-v6.nav-scroll .social-icon{
555  color: #000;
556}
557.navbar.nav-v6 .social-square .contact-icon:hover {
558  color: #000;
559  background-color: #4C2432;
560}
561.navbar.nav-v6.nav-scroll .social-square .contact-icon:hover {
562  color: #000;
563  background-color: #4C2432;
564}
565
566.drink-menu .navbar.nav-v6 .header-logo-text{
567  color: #000;
568}
569.drink-menu .navbar.nav-v6.nav-scroll .header-logo-text{
570  color: #000;
571}
572.drink-menu .navbar.nav-v6 .social-icon{
573  color: #000;
574}
575.drink-menu  .navbar.nav-v6.nav-scroll .social-icon{
576  color: #000;
577}
578.drink-menu .navbar.nav-v6 .social-square .contact-icon:hover {
579  color: #000;
580  background-color: #4C2432;
581}
582.drink-menu .navbar.nav-v6.nav-scroll .social-square .contact-icon:hover {
583  color: #000;
584  background-color: #4C2432;
585}
586.navbar.nav-v6 .navbar-logo .container {
587  border-bottom: 1px solid #000;
588}
589.navbar.nav-v6.nav-scroll .navbar-logo .container {
590  border-bottom: 1px solid #000;
591}
592.drink-menu .navbar.nav-v6 .navbar-logo .container {
593  border-bottom: 1px solid #000;
594}
595.drink-menu .navbar.nav-v6.nav-scroll .navbar-logo .container {
596  border-bottom: 1px solid #000;
597}
598@media (max-width: 767px) {
599  .navbar.nav-v6 {
600      background-color: #fff;
601      -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
602      -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
603      box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
604  }
605  .navbar.nav-v6.nav-scroll {
606      background-color: #fff;
607      -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
608      -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
609      box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
610  }
611  .drink-menu .navbar.nav-v6 {
612    background-color: #fff;
613    -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
614    -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
615    box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
616  }
617  .drink-menu .navbar.nav-v6.nav-scroll {
618    background-color: #fff;
619    -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
620    -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
621    box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
622  }
623  .navbar.nav-v6 .container,
624  .navbar.nav-v6.nav-scroll .container,
625  .drink-menu .navbar.nav-v6 .container,
626  .drink-menu .navbar.nav-v6.nav-scroll .container {
627    border-bottom: none;
628  }
629  .navbar.nav-v6 .navbar-header {
630    border-bottom: 2px solid #000;
631  }
632  .navbar.nav-v6.nav-scroll .navbar-header {
633    border-bottom: 2px solid #000;
634  }
635  .drink-menu .navbar.nav-v6 .navbar-header {
636    border-bottom: 2px solid #000;
637  }
638  .drink-menu .navbar.nav-v6.nav-scroll .navbar-header {
639    border-bottom: 2px solid #000;
640  }
641  li.drop-down-link .sub-menu,
642  .drink-menu li.drop-down-link .sub-menu {
643    background-color: transparent;
644  }
645  .nav-scroll li.drop-down-link .sub-menu,
646  .drink-menu .nav-scroll li.drop-down-link .sub-menu {
647    background-color: transparent;
648  }
649      /* Mobile home background */
650  .navbar.nav-v6.navbar-regular.mobile-full-height .navbar-collapse.collapse,
651  .navbar.nav-v6.navbar-regular.mobile-full-height .navbar-collapse.collapsing,
652  .navbar.nav-v6.navbar-regular.mobile-full-height .navbar-collapse.collapse.in {
653          background-color: #ffffff;
654      }
655  /* Mobile home background scroll */
656  .navbar.nav-v6.navbar-regular.nav-scroll.mobile-full-height .navbar-collapse.collapse,
657  .navbar.nav-v6.navbar-regular.nav-scroll.mobile-full-height .navbar-collapse.collapsing,
658  .navbar.nav-v6.navbar-regular.nav-scroll.mobile-full-height .navbar-collapse.collapse.in {
659          background-color: #ffffff;
660      }
661  /* Mobile pages background */
662  .drink-menu .navbar.nav-v6.navbar-regular.mobile-full-height .navbar-collapse.collapse,
663  .drink-menu .navbar.nav-v6.navbar-regular.mobile-full-height .navbar-collapse.collapsing,
664  .drink-menu .navbar.nav-v6.navbar-regular.mobile-full-height .navbar-collapse.collapse.in {
665          background-color: #ffffff;
666      }
667  /* Mobile pages background scroll */
668  .drink-menu .nav-v6.navbar-regular.nav-scroll.mobile-full-height .navbar-collapse.collapse,
669  .drink-menu .nav-v6.navbar-regular.nav-scroll.mobile-full-height .navbar-collapse.collapsing,
670  .drink-menu .nav-v6.navbar-regular.nav-scroll.mobile-full-height .navbar-collapse.collapse.in {
671          background-color: #ffffff;
672      }
673  .navbar-regular.nav-v6 .navbar-nav>li>a:hover,
674  .navbar-regular.nav-v6 .navbar-nav>.active>a,
675  .navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
676  .navbar-regular.nav-v6 .navbar-nav>.active>a:hover{
677    background-color: #4C2432;
678    color: #000;
679  }
680  .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
681  .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
682  .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
683  .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover{
684    background-color: #4C2432;
685    color: #000;
686  }
687  .drink-menu .navbar-regular.nav-v6 .navbar-nav>li>a:hover,
688  .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a,
689  .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
690  .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:hover{
691    background-color: #4C2432;
692    color: #000;
693  }
694  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
695  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
696  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
697  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover{
698    background-color: #4C2432;
699    color: #000;
700  }
701
702  .navbar-regular.nav-v6 li.drop-down-link.active .drop-down .fa.fa-angle-up {
703    color: #000;
704  }
705  .navbar-regular.nav-v6.nav-scroll li.drop-down-link.active .drop-down .fa.fa-angle-up {
706    color: #000;
707  }
708  .drink-menu .navbar-regular.nav-v6 li.drop-down-link.active .drop-down .fa.fa-angle-up {
709    color: #000;
710  }
711  .drink-menu .navbar-regular.nav-v6.nav-scroll li.drop-down-link.active .drop-down .fa.fa-angle-up {
712    color: #000;
713  }
714}
715</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>
715(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">
716                              
717                              Menu
718                              
719                        </a></li><li class=" "><a class="" href="/drink-menu" id="nav_tab_2_link" target="_self">
720                              
721                              Drinks
722                              
723                        </a></li><li class=" "><a class="" href="/specials" id="nav_tab_3_link" target="_self">
724                              
725                              Specials
726                              
727                        </a></li><li class=" "><a class="" href="/events" id="nav_tab_4_link" target="_self">
728                              
729                              Events
730                              
731                        </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">
732                              
733                              Parties
734                              
735                        </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">
736                    Menu
737                                      </a></li><li class=" "><a class="" href="/drink-menu" id="mobile_nav_tab_2_link" target="_self">
738                    Drinks
739                                      </a></li><li class=" "><a class="" href="/specials" id="mobile_nav_tab_3_link" target="_self">
740                    Specials
741                                      </a></li><li class=" "><a class="" href="/events" id="mobile_nav_tab_4_link" target="_self">
742                    Events
743                                      </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">
744                    Parties
745                                      </a></li></ul></div></div></div></nav></header><main id="content" role="main"><article><div class="pagecontent"><div class="tabs-container"><div class="scrolling"><div class="container"><div class="row reservations-ot-wrapper section-wrapper"><div class="col-md-12 col-xs-12 col-sm-12 reservations-ot-text-holder"><h1 class="section-header reservations-ot-page-title">Reservations at The Loop West End in Saint Louis Park</h1><p>Reserve a table with us for American food and drinks in Blackstone, with an upbeat dining room and plenty of TVs for catching the game. Our <a class="text-link" href="/food-menu">Menu page</a> is the best place to browse salads and sandwiches, pizzas, and weekend brunch options.
745</p><p>Use this page to reserve for lunch, dinner, or weekend brunch plans. We’re open Monday through Friday from 11:00 AM to 2:00 AM, Saturday from 10:00 AM to 2:00 AM, and Sunday from 10:00 AM to midnight. If you have a seating preference, include it with your reservation.</p></div><div class="col-md-12 col-xs-12 col-sm-12 reservations-ot-text-holder"><div class="open-table-holder open-table-desktop open-table-wide">
745<script src="//www.opentable.com/widget/reservation/loader?rid=213007&domain=com&type=standard&theme=wide&lang=en&overlay=false&iframe=true&color=1&dark=false&ot_source=Restaurant%20website" type="text/javascript">
746                                </script>
746</div><div class="open-table-holder open-table-mobile open-table-tall">
746<script src="//www.opentable.com/widget/reservation/loader?rid=213007&domain=com&type=standard&theme=tall&lang=en&overlay=false&iframe=true&color=1&dark=false&ot_source=Restaurant%20website" type="text/javascript"></script>
746</div></div></div><div class="row reservations-ot-gallery-wrapper section-wrapper"><div class="col-md-12 col-xs-12 col-sm-12"><div class="reservations-ot-gallery-wrapper-text-holder"><h2 class="section-header reservations-ot-page-subtitle">Welcome to The Loop West End!</h2><p>
747Join us at <a class="text-link" href="https://maps.app.goo.gl/5UDcNN7SzFMiNvGK8" target="_blank"><span class="visuallyhidden">View </span>5331 West 16th Street, St Louis Park, MN 55416<span class="visuallyhidden"> on Google maps - opens in a new tab</span></a>. Free parking is available in the garage, lot, and on the street.
748</p></div><div class="reservations-ot-images-holder" id="reservations_ot_gallery"><button class="visuallyhidden skip-content gallery-toggle gt-off">Skip Photo Gallery</button><div class="grid-section"><div class="gallery-item gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/dc/8b2237fe33457a9a8d557f29f8c40b/full"><div class="img"><img alt="The Loop West End gallery photo 1" src="//static.spotapps.co/spots/dc/8b2237fe33457a9a8d557f29f8c40b/full"/></div></a></div><div class="gallery-item gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/e1/6530489828490aa1c0c66e3abaca6b/full"><div class="img"><img alt="The Loop West End gallery photo 2" src="//static.spotapps.co/spots/e1/6530489828490aa1c0c66e3abaca6b/full"/></div></a></div><div class="gallery-item gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/26/d96de992ed43c0961682e295764024/full"><div class="img"><img alt="The Loop West End gallery photo 3" src="//static.spotapps.co/spots/26/d96de992ed43c0961682e295764024/full"/></div></a></div><div class="gallery-item gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/b8/55f690e0e34a23beeb4fed7804a6b5/full"><div class="img"><img alt="The Loop West End gallery photo 4" src="//static.spotapps.co/spots/b8/55f690e0e34a23beeb4fed7804a6b5/full"/></div></a></div></div></div></div></div></div></div></div></div><style>
749
750
751.reviews-v2-wrapper .carousel-controls .carousel-control-btn {
752  color: #232323;
753}
754
755.reviews-v2-wrapper .owl-carousel .owl-nav button {
756  color: rgba(35, 35, 35, 0.7);
757}
758.reviews-v2-wrapper .owl-carousel .owl-nav button:hover,
759.reviews-v2-wrapper .owl-carousel .owl-nav button:focus {
760  color: rgba(35, 35, 35, 1);
761}
762
763
764.reviews-v2-wrapper h4 .fa.fa-star {
765  color: #D63044;
766}
767.reviews-v2-wrapper .review-quote {
768  color: #232323;
769}
770</style><div class="carousel-wrapper reviews-v2-wrapper section-wrapper" id="reservations_ot_reviews"><h2 class="section-header">Take a look at the reviews for a quick preview of the experience.</h2><div class="container"><div aria-label="reviews carousel" class="row" role="region"><div class="carousel-controls" id="ReviewesCarouselControls"><button aria-label="The Reviews carousel is currently playing, pause the Reviews carousel" class="carousel-control-btn stop-carousel" type="button"><i aria-hidden="true" class="fa fa-pause"></i><i aria-hidden="true" class="fa fa-play"></i><span class="visuallyhidden"> Start stop reviews carousel</span></button></div><ul class="owl-dots"><li class="owl-dot"></li><li class="owl-dot"></li><li class="owl-dot"></li></ul><div class="col-md-12 col-xs-12"><div class="owl-carousel owl-theme"><section><div class="item"><h3 class="review-by">Review by - Google</h3><h4 class="reviewer"><span class="visuallyhidden">five star review by</span>
771                  Jagnoor S:
772                  <i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i></h4><div class="review-text"><div aria-hidden="true" class="review-quote quote-left"><i class="fa fa-quote-left"></i></div><div aria-hidden="true" class="review-quote quote-right"><i class="fa fa-quote-right"></i></div><blockquote><p>Amazing food. Excellent staff and manager. Food portions are reasonable and not too big. Everything they co
772ok is made to perfection. Try their brunch.</p></blockquote></div></div></section><section><div class="item"><h3 class="review-by">Review by - Google</h3><h4 class="reviewer"><span class="visuallyhidden">five star review by</span>
773                  Alex G:
774                  <i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i></h4><div class="review-text"><div aria-hidden="true" class="review-quote quote-left"><i class="fa fa-quote-left"></i></div><div aria-hidden="true" class="review-quote quote-right"><i class="fa fa-quote-right"></i></div><blockquote><p>DJ and dancing on Friday and Saturday nights. Food and service was great, We had a huge nacho platter, delicious, then had fun dancing. Our server was great and helpful.</p></blockquote></div></div></section><section><div class="item"><h3 class="review-by">Review by - Google</h3><h4 class="reviewer"><span class="visuallyhidden">five star review by</span>
775                  Kurt E:
776                  <i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i></h4><div class="review-text"><div aria-hidden="true" class="review-quote quote-left"><i class="fa fa-quote-left"></i></div><div aria-hidden="true" class="review-quote quote-right"><i class="fa fa-quote-right"></i></div><blockquote><p>We take people there for apps and drinks after work. Everything we&apos;ve had has been very good and service is great and friendly!</p></blockquote></div></div></section></div></div></div></div></div><div class="maps-wrapper section-wrapper" id="openstreetmap"><div style="position: relative;"><div aria-label="OpenStreet map" id="map-container" role="region"></div></div></div></article><article><style>
777
778.contact-v3 .hours-title, .contact-v3 .social-title, .contact-v3 .contact-us-title {
779  color: #fff;
780}
781.contact a:hover, .contact a:active, .contact-us a:hover, .contact-us a:active {
782  color: #fff;
783}
784.contact-v3 .social-circle .contact-icon {
785  color: rgba(255, 255, 255, 0.8);
786}
787  .contact-v3 .social-square .contact-icon {
788    color: #fff;
789  }
790  .contact-v3 .social-square .contact-icon:hover {
791    color: #4C2432;
792    background-color: #fff;
793  }
794
795</style><footer class="contact-holder"><div class="contact-v3 contact-v3-center section-wrapper" id="contact_v3"><div class="container"><div class="row"><div class="col-md-4 col-sm-4 col-xs-12"><section><div class="contact-location"><div class="hours-title"><h2>Location</h2></div><div class="address" data-gbp-injected="business-name">The Loop West End</div><div class="address">5331 West 16th Street</div><div class="city-state">St Louis Park, MN</div><div class="zip">55416</div><div class="address" data-gbp-injected="get-directions"><a aria-label="Get directions to The Loop West End, opens in a new tab" class="get-directions-footer-link" href="https://www.google.com/maps/dir/?api=1&destination=The%20Loop%20West%20End&destination_place_id=ChIJaZGkSaI0s1IR4KXuICXDEBw" rel="noopener" style="text-decoration: underline; display: inline-block; padding: 5px 0;" target="_blank"><i aria-hidden="true" class="fa fa-map-marker"></i> Get Directions</a></div></div></section></div><div class="col-md-4 col-sm-4 col-xs-12"><section><div class="hours"><div class="hours-title"><h2>Hours</h2></div><div class="days">
796                          Monday, Tuesday, Wednesday, Thursday, Friday                      </div><div class="from-to">
797                          11:00 AM - 2:00 AM                      </div><div class="days">
798                          Saturday                      </div><div class="from-to">
799                          10:00 AM - 2:00 AM                      </div><div class="days">
800                          Sunday                      </div><div class="from-to">
801                          10:00 AM - 12:00 AM                      </div></div></section></div><div class="col-md-4 col-sm-4 col-xs-12"><div class="find-us"><section><div class="social"><div class="social-title"><h2>Find us on...</h2></div><ul class="social-links social-icons-holder social-square"><li><a class="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><a class="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><a class="contact-icon" href="https://www.tiktok.com/@theloopwestend" target="_blank"><svg aria-hidden="true" height="37" viewbox="-4 5 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.66
8017-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></section><section><div class="contact-us"><div class="contact-us-title"><h2>Contact us</h2></div><p><a href="tel:+19526812684" id="contact_us_v3_section_phone_link"><span class="visuallyhidden">Call us at </span>(952)-681-2684</a></p><p><a href="mailto:[email protected]"><span class="visuallyhidden">Write us at </span>[email protected]</a></p></div></section></div></div></div></div></div></footer></article></main></div><style type="text/css">
802    .navbar-fixed-bottom.nav-v1 {
803        bottom: -100px;
804    }
805    .navbar-fixed-bottom.nav-v1 .nav.navbar-nav.navbar-right {
806        background-color: #4C2432;
807    }
808    .navbar-fixed-bottom.nav-v1 .bottom-svg-border path,
809    .navbar-fixed-bottom.nav-v1 .bottom-svg-border polygon {
810      fill: #000;
811    }
812    .navbar-fixed-bottom.nav-v1 .bottom-list-item a {
813        color: #fff;
814    }
815    .navbar-fixed-bottom.nav-v1 .bottom-list-item a:hover,
816    .navbar-fixed-bottom.nav-v1 .bottom-list-item a:focus {
817        color: #fff;
818        text-decoration: none;
819    }
820</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>
820<script src="https://static.spotapps.co/web/theloopwestend--com/lib/jquery/jquery.min.js"></script>
820<script src="https://static.spotapps.co/web/theloopwestend--com/lib/bootstrap/js/bootstrap.min.js"></script>
820<script src="https://static.spotapps.co/web/theloopwestend--com/lib/owlcarousel/owl.carousel.min.js"></script>
820<script src="https://static.spotapps.co/web/theloopwestend--com/lib/fancybox/source/jquery.fancybox.js" type="text/javascript"></script>
820<script src="https://static.spotapps.co/web/theloopwestend--com/lib/fancybox/source/jquery.fancybox.pack.js" type="text/javascript"></script>
820<script src="https://static.spotapps.co/web/theloopwestend--com/lib/fancybox/source/helpers/jquery.fancybox-thumbs.js?v=1.0.7" type="text/javascript"></script>
820<script src="https://static.spotapps.co/web/theloopwestend--com/lib/fancybox/source/helpers/jquery.fancybox-media.js?v=1.0.6" type="text/javascript"></script>
820<script src="https://static.spotapps.co/iframeResizer.js" type="text/javascript"></script>
820<script src="//static.spotapps.co/web-lib/leaflet/[email protected]/dist/leaflet.js"></script>
820<script src="//static.spotapps.co/web-lib/leaflet/leaflet-providers.js"></script>
820<script src="//static.spotapps.co/web-lib/leaflet/[email protected]/dist/leaflet-gesture-handling.min.js"></script>
820<script>
821
822	$("#bottom_link_4").on("click", function(){
823		if (ga_check())
824			universal_ga('send', 'event', 'Button', 'Click', 'Order Online');
825	});
826	$("#bottom_link_3").on("click", function(){
827		if (ga_check())
828			universal_ga('send', 'event', 'Button', 'Click', 'Reserve');
829	});
830	$("#bottom_link_5").on("click", function(){
831		if (ga_check())
832			universal_ga('send', 'event', 'Button', 'Click', 'Private Party');
833	});$(document).ready(function() {
834  var fancyboxSliderReservationsOt = $('#reservations_ot_gallery .fancybox');
835
836  fancyboxSliderReservationsOt.attr('rel', 'gallery').fancybox({
837    beforeShow : function() {
838      var alt = this.element.find('img').attr('alt');
839      this.inner.find('img').attr('alt', alt);
840    },
841    padding : 15,
842    margin: 20,
843    arrows    : true,
844    closeBtn: true,
845    autoPlay : false,
846    playSpeed : 3000,
847    loop : true,
848    openEffect :  'fade',
849    closeEffect :  'fade',
850    nextEffect  : 'elastic',
851    prevEffect  : 'elastic',
852    helpers : {
853      overlay : {
854        css : {
855            'background' : 'rgba(0, 0, 0, 0.5)'
856        },
857        locked: false
858      }
859    }
860  });
861
862  var reservationsOtGalleryToggleBtn = $('#reservations_ot_gallery .gallery-toggle');
863  var reservationsOtGalleryImages = $('#reservations_ot_gallery .gallery-item a');
864  var reservationsOtGalleryToggleTextOff = 'The Photo Gallery of ' + reservationsOtGalleryImages.length + ' images can be accessed, hide the Photo Gallery from the Screen Reader';
865  var reservationsOtGalleryToggleTextOn = 'The Photo Gallery of ' + reservationsOtGalleryImages.length + ' images is hidden from the Screen Reader, access the Photo Gallery';
866  reservationsOtGalleryToggleBtn.attr('aria-label', reservationsOtGalleryToggleTextOff);
867
868  reservationsOtGalleryToggleBtn.on('click',function(){
869    $(this).toggleClass('gt-off');
870
871    const parentElement = $(this).closest('article');
872    const nextElement = $(parentElement).next();
873
874    if ($(this).hasClass('gt-off')) {
875      $(this).attr('aria-label', reservationsOtGalleryToggleTextOff);
876      reservationsOtGalleryImages.each(function() {
877        $(this).attr('aria-hidden', 'false').attr('tabindex', '0');
878      });
879    } else {
880      $(this).attr('aria-label', reservationsOtGalleryToggleTextOn);
881      reservationsOtGalleryImages.each(function() {
882        $(this).attr('aria-hidden', 'true').attr('tabindex', '-1');
883      });
884
885      if (nextElement.length !== 0) {
886        const scrollTo = $(nextElement).offset().top - 100;
887        $('html, body').animate({ scrollTop: scrollTo }, 1000);
888      }
889    }
890  });
891});
892  $('.header-logo-a, .header-logo.header-logo-mobile, .nav-v2-home-btn').click(function(event) {
893    if ( window.location.pathname == '/' || window.location.pathname == '/index.php') {
894      event.preventDefault();
895      var windowScrollTop = $(window).scrollTop();
896      if(windowScrollTop > 150) {
897        $('html, body').animate({scrollTop: 0}, 750);
898      }
899    }
900  });
901
902$(".banner-section a.banner-pin").click(function(e) {
903    // target element id
904    var id = $(this).attr('href');
905
906    // target element
907    var section = $(id);
908    if (section.length === 0) {
909        return;
910    }
911
912    // prevent standard hash navigation (avoid blinking in IE)
913    e.preventDefault();
914
915    // top position relative to the document
916    var pos = section.offset().top - 100 + 10;
917
918    // animated top scrolling
919    $('body, html').animate({scrollTop: pos}, 750);
920});
921
922$(document).ready(function() {
923  var navHeight = $('nav.navbar').height();
924  $('html').css("scroll-padding-top", navHeight);
925});
926
927$(document).on('scroll', function (e) {
928    if($(document).scrollTop() > 0) {
929      $('.navbar.nav-v7').addClass('nav-scroll');
930    }else {
931      $('.navbar.nav-v7').removeClass('nav-scroll');
932    }
933});
934
935$(function() {
936  setDropDownMenuWidth();
937
938  function setDropDownMenuWidth() {
939    var tabs_list = $('.navbar-tabs .navbar-nav');
940
941    $(tabs_list).find('li.drop-down-link').each(function() {
942      var sub_menu_width = $(this).outerWidth(true);
943      if (sub_menu_width < 100) {
944        sub_menu_width = 100;
945      }
946      $(this).find('.sub-menu').css('width', sub_menu_width+'px');
947    });
948  }
949
950  $( window ).resize(function() {
951    setDropDownMenuWidth();
952  });
953
954  $('.nav a:not(.drop-down)').on('click', function () {
955    $('.navbar-collapse').collapse('hide');
956  });
957
958});
959
960
961
962$( '.drop-down-link .drop-down' ).click(function(event) {
963  event.preventDefault();
964  event.stopPropagation();
965
966  // Close previously opened dropdown menus
967  $('.drop-down-link.active .sub-menu').slideUp();
968  $('.drop-down-link.active').find('.drop-down').attr('aria-expanded', false);
969  $('.drop-down-link.active').removeClass('active');
970
971  var drop_down = $(this).closest('.drop-down-link');
972  var drop_down_a = $(this);
973
974  if($(drop_down_a).attr("aria-expanded") == "true") { 
975    $(drop_down_a).attr("aria-expanded",false)
976  } else { 
977    $(drop_down_a).attr("aria-expanded",true)
978  }
979  
980  var sub_menu = $(this).closest('.drop-down-link').find( '.sub-menu' );
981
982  if ( $(sub_menu).is( ':hidden' ) ) {
983    $(sub_menu).slideDown();
984    $(drop_down).addClass('active');
985  } else {
986    $(sub_menu).slideUp();
987    $(drop_down).removeClass('active');
988  }
989});
990
991$(".nav-v7 .navbar-contact .nav-address a").click(function(e) {
992
993  if ( window.location.pathname == '/' || window.location.pathname == '/index.php') {
994    // target element id
995    var id = $(this).attr('href').substr(1);
996
997    // target element
998    var section = $(id);
999    if (section.length === 0) {
1000        return;
1001    }
1002
1003    // prevent standard hash navigation (avoid blinking in IE)
1004    e.preventDefault();
1005
1006    // top position relative to the document
1007    var pos = section.offset().top - 100 + 10;
1008
1009    // animated top scrolling
1010    $('body, html').animate({scrollTop: pos}, 750);
1011
1012  }
1013});
1014
1015const mobileDrop = document.querySelector('.mobile-full-height #navbar-collapse-1 .navbar-nav');
1016const mobileDropButton = document.querySelector('.mobile-full-height .navbar-toggle');
1017const mobileHeader = document.querySelector('.mobile-full-height .navbar-header');
1018
1019mobileDropButton?.addEventListener('click', () => {
1020  mobileHeaderBottomPos = mobileHeader.getBoundingClientRect().bottom;
1021  mobileDrop.style.paddingTop = mobileHeaderBottomPos + 'px';
1022});
1023
1024(function () {
1025  const isSafari = (() => {
1026    const ua = navigator.userAgent;
1027    return ua.includes('Safari') && // Safari must be present
1028            !ua.includes('Chrome') && // Exclude Chrome (has 'Safari' in UA)
1029            !ua.includes('Edg'); // Exclude Edge
1030  })();
1031
1032  if (!isSafari) return;
1033  const menu = document.getElementById('navbar-collapse-1');
1034
1035  // When coming back from a _blank tab or bfcache restore, force a repaint.
1036  function nudgeRepaint() {
1037    if (!menu || !menu.classList.contains('in')) return;
1038    // toggle display to flush rendering, then poke will-change for one frame
1039    const prev = menu.style.display;
1040    menu.style.display = 'none';
1041    // force reflow
1042    void menu.offsetHeight;
1043    menu.style.display = prev || '';
1044    menu.style.willChange = 'opacity';
1045    requestAnimationFrame(() => { menu.style.willChange = 'auto'; });
1046  }
1047
1048  document.addEventListener('visibilitychange', () => {
1049    if (document.visibilityState === 'visible') nudgeRepaint();
1050  });
1051
1052  // iOS/macOS Safari often restores pages from bfcache
1053  window.addEventListener('pageshow', (e) => {
1054    if (e.persisted) nudgeRepaint();
1055    else nudgeRepaint();
1056  }, { passive: true });
1057
1058  // Keep menu open when clicking links that open in a new tab
1059  menu?.addEventListener('click', (e) => {
1060    const a = e.target.closest('a');
1061    if (!a) return;
1062    if (a.target === '_blank') {
1063      // avoid any delegated "close on link click" handlers firing first
1064      e.stopPropagation();
1065      // allow navigation; after we return, repaint nudge will run
1066    }
1067  }, true);
1068})();
1069
1070document.querySelectorAll('.navbar .navbar-nav > li.cta-nav-tab').forEach((li) => {
1071  li.addEventListener('click', (e) => {
1072    if (e.defaultPrevented) return;
1073    
1074    if (e.target.closest('a')) return;
1075
1076    const link = li.querySelector('a[href]');
1077    if (!link) return;
1078
1079    if (e.metaKey || e.ctrlKey || e.shiftKey || e.button === 1 || link.target === '_blank') {
1080      window.open(link.href, link.target || '_blank');
1081      return;
1082    }
1083
1084    link.click();
1085  });
1086
1087  li.addEventListener('keydown', (e) => {
1088    if ((e.key === 'Enter' || e.key === ' ') && !e.target.closest('a')) {
1089      const link = li.querySelector('a[href]');
1090      if (!link) return;
1091      e.preventDefault();
1092      link.click();
1093    }
1094  });
1095});
1096    $(document).ready(function() {
1097
1098      var owlReviews = $('#reservations_ot_reviews .owl-carousel');
1099      owlReviews.owlCarousel({
1100        onInitialized: function (property) {
1101          //check if show dots is true in config
1102          if(true){
1103            $('#reservations_ot_reviews .owl-dot').each(function( index ) {
1104              var i = index + 1;
1105              $(this).html('<button aria-label="Review '+i+'"><span class="visuallyhidden">Review '+i+'</span></button>');
1106            });
1107          }
1108          //check if show arrows is true in config
1109          if(true && !true){
1110            reviewsOtHandleArrowTabbing(owlReviews);
1111          }
1112          //prevent voiceover from reading hidden content
1113          $('#reservations_ot_reviews').find('.owl-item').attr('aria-hidden','true');
1114          $(property.target).find(".owl-item").eq(property.item.index).attr('aria-hidden','false');
1115        },
1116        margin: 0,
1117        nav: true,
1118        dots: true,
1119        dotsContainer: '#reservations_ot_reviews .owl-dots',
1120        autoplay: true,
1121        autoplayTimeout: 6000,
1122        autoplayHoverPause: false,
1123        loop: true,
1124        navText: [ '<button aria-label="previous review">&#8249</button>', '<button aria-label="next review">&#8250</button>' ],
1125        responsive: {
1126          0: {
1127            items: 1
1128          },
1129          600: {
1130            items: 1
1131          },
1132          1000: {
1133            items: 1
1134          }
1135        }
1136      });
1137
1138      function discontinuousReviewsOt(func){
1139        var timer;
1140        return function(event){
1141          if(timer) clearTimeout(timer);
1142          timer = setTimeout(func,200,event);
1143        };
1144      }
1145
1146      $('#reservations_ot_reviews .owl-dot button').attr('aria-current', 'false');
1147      $('#reservations_ot_reviews .owl-dot:first button').attr('aria-current', 'true');
1148
1149      function reviewsOtCarouselStop() {
1150        owlReviews.trigger('stop.owl.autoplay');
1151        owlReviews.data('owl.carousel').settings.autoplay = false;
1152        $('#reservations_ot_reviews .carousel-control-btn').removeClass('stop-carousel');
1153        $('#reservations_ot_reviews .carousel-control-btn').addClass('play-carousel');
1154        $('#reservations_ot_reviews .carousel-control-btn').attr('aria-label', 'The Reviews carousel is currently paused, play the Reviews carousel');
1155      }
1156
1157      function reviewsOtCarouselPlay() {
1158        owlReviews.trigger('play.owl.autoplay',[1000]);
1159        owlReviews.data('owl.carousel').settings.autoplay = true;
1160        $('#reservations_ot_reviews .carousel-control-btn').removeClass('play-carousel');
1161        $('#reservations_ot_reviews .carousel-control-btn').addClass('stop-carousel');
1162        $('#reservations_ot_reviews .carousel-control-btn').attr('aria-label', 'The Reviews carousel is currently playing, pause the Reviews carousel');
1163      }
1164
1165      $('#reservations_ot_reviews .carousel-control-btn').on('click',function(){
1166        if ($(this).hasClass('stop-carousel')) {
1167          reviewsOtCarouselStop();
1168        } else if ($(this).hasClass('play-carousel')) {
1169          reviewsOtCarouselPlay();
1170        }
1171      });
1172
1173      $('#reservations_ot_reviews .owl-dot').click(function () {
1174        owlReviews.trigger('to.owl.carousel', [$(this).index(), 300]);
1175        reviewsOtCarouselStop();
1176      });
1177
1178      $('#reservations_ot_reviews .owl-nav').click(function () {
1179        reviewsOtCarouselStop();
1180      });
1181
1182      $(window).on("resize", discontinuousReviewsOt(function() {
1183        if ($('#reservations_ot_reviews .carousel-control-btn').hasClass('play-carousel')) {
1184          setTimeout(() => reviewsOtCarouselStop(), 500);
1185        }
1186      }));
1187
1188      $(window).on('focus', function() {
1189        if ($('#reservations_ot_reviews .carousel-control-btn').hasClass('stop-carousel')) {
1190          owlReviews.trigger('next.owl.carousel');
1191        }
1192      });
1193
1194      //prevent voiceover from reading hidden content
1195      owlReviews.on('changed.owl.carousel',function(property){
1196        $('#reservations_ot_reviews').find('.owl-item').attr('aria-hidden','true');
1197        $(property.target).find(".owl-item").eq(property.item.index).attr('aria-hidden','false');
1198        $(property.target).find(".owl-dot").find('button').attr('aria-current', 'false');
1199        $(property.target).find(".owl-dot").filter('.active').find('button').attr('aria-current', 'true');
1200      });
1201
1202      //check if show arrows is true in config
1203      if(true && !true){
1204        reviewsOtHandleArrowTabbing(owlReviews);
1205      }
1206
1207      function reviewsOtHandleArrowTabbing(widget){
1208        widget.on('changed.owl.carousel',function(property){
1209          //handle tabbing when previous slider button is hidden
1210          if($(property.target).find(".owl-prev").hasClass('disabled')){
1211              $(property.target).find(".owl-prev").children().attr('tabindex', -1);
1212              $(property.target).find(".owl-prev").attr('aria-hidden','true');
1213          }
1214          else {
1215              $(property.target).find(".owl-prev").children().attr('tabindex', 0);
1216              $(property.target).find(".owl-prev").attr('aria-hidden','false');
1217          }
1218          //handle tabbing when next slider button is hidden
1219          if($(property.target).find(".owl-next").hasClass('disabled')){
1220              $(property.target).find(".owl-next").children().attr('tabindex', -1);
1221              $(property.target).find(".owl-next").attr('aria-hidden','true');
1222          }
1223          else {
1224              $(property.target).find(".owl-next").children().attr('tabindex', 0);
1225              $(property.target).find(".owl-next").attr('aria-hidden','false');
1226          }
1227        });
1228      }
1229
1230      $('#reservations_ot_reviews .owl-nav').insertBefore($('#reservations_ot_reviews .owl-stage-outer'));
1231      $('#reservations_ot_reviews .owl-dots').insertBefore($('#reservations_ot_reviews .owl-nav'));
1232
1233    });iFrameResize({
1234  enablePublicMethods: true,
1235  enableInPageLinks: true
1236});
1237
1238var marker_icon = "";
1239var additionalPins = '';
1240if (additionalPins) {
1241  var locationsArray = JSON.parse('');
1242}
1243
1244var google_map_url = 'https://www.google.com/maps/place/' + ",5331 West 16th Street,St Louis Park,MN,55416".split(' ').join('+');
1245function open_google_map() {
1246  window.open(google_map_url, '_blank')
1247}
1248
1249function discontinuous(func){
1250  var timer;
1251  return function(event){
1252    if(timer) clearTimeout(timer);
1253    timer = setTimeout(func,200,event);
1254  };
1255}
1256
1257function init_open_street_map() {
1258  if (additionalPins) {
1259    var map = L.map('map-container', {
1260      minZoom: 3,
1261      zoomControl: false,
1262      zoomSnap: 1,
1263      gestureHandling: true
1264    });
1265    
1266    var allMarkers = [];
1267    
1268    var marker = L.marker([44.9677932, -93.3472604], {title: '5331 West 16th Street, St Louis Park', alt: 'View 5331 West 16th Street, St Louis Park on Google maps - opens in a new tab'}).addTo(map);
1269    allMarkers.push(marker);
1270
1271    marker.on('click keypress', open_google_map);
1272
1273    locationsArray.forEach(function(element, index) {
1274      var additionalMarker = L.marker([element.lat_coords, element.lng_coords], {title: element.pin_title, alt: 'View ' + element.pin_title + ' on Google maps - opens in a new tab'}).addTo(map);
1275  
1276      additionalMarker.on('click keypress', function() {
1277        window.open(element.pin_link, '_blank');
1278      });
1279  
1280      allMarkers.push(additionalMarker);
1281  
1282    });
1283    
1284    function fitBoundsToMarkers(osmap, markers) {
1285      osmap.invalidateSize();
1286      var group = new L.featureGroup(markers);
1287      osmap.fitBounds(group.getBounds(), {padding: [50, 50]});
1288    }
1289  
1290    fitBoundsToMarkers(map, allMarkers);
1291  
1292    document.querySelector('.reset-zoom-btn').addEventListener('click', function () {
1293      fitBoundsToMarkers(map, allMarkers);
1294    });
1295
1296    window.addEventListener("resize", discontinuous(function(e) {
1297      fitBoundsToMarkers(map, allMarkers);
1298    }));
1299  } else {
1300    var map = L.map('map-container', {
1301      center: [ 44.9677932, -93.3472604],
1302      zoom: 16,
1303      dragging: false,
1304      minZoom: 3,
1305      zoomControl: false,
1306    });
1307
1308    var marker = L.marker([44.9677932, -93.3472604], {title: '5331 West 16th Street, St Louis Park', alt: 'View 5331 West 16th Street, St Louis Park on Google maps - opens in a new tab'}).addTo(map);
1309
1310    marker.on('click keypress', open_google_map);
1311
1312    map.scrollWheelZoom.disable();
1313  }
1314
1315  if (marker_icon.length>0){
1316    var myIcon = L.icon({
1317      iconUrl: marker_icon,
1318      iconSize: [35,35]
1319    });
1320
1321    if(allMarkers) {
1322      allMarkers.forEach(marker => {
1323        marker.setIcon(myIcon);
1324        marker.update();
1325      });
1326    } else {
1327      marker.setIcon(myIcon);
1328      marker.update();
1329    }
1330  }
1331
1332  L.tileLayer.provider('OpenStreetMap.Mapnik').addTo(map);
1333  L.control.zoom({
1334    position:'bottomleft'
1335  }).addTo(map);
1336
1337  $('.maps-wrapper #map-container').removeAttr('tabindex');
1338  $('.leaflet-touch .leaflet-bar a').attr('tabindex', '-1');
1339  $('.leaflet-container .leaflet-marker-pane img').attr('role', 'link');
1340}
1341
1342$(document).ready(function() {
1343  init_open_street_map();
1344});
1345$("#contact_us_v3_section_phone_link").on("click", function(){
1346    if (ga_check())
1347        universal_ga('send', 'event', 'Button', 'Click', 'Phone');
1348});
1349    setTimeout(function(){
1350        $('.navbar-fixed-bottom.nav-v1').addClass('show-bottom-nav'); triggerShowFooterEvents();
1351    }, 4000);</script>
1351<script>
1352(function() {
1353  var name = "The Loop West End";
1354  var pid = "ChIJaZGkSaI0s1IR4KXuICXDEBw";
1355  function build_url() {
1356    var q = encodeURIComponent(name).replace(/'/g, "%27");
1357    return "https://www.google.com/maps/search/?api=1"
1358         + "&query=" + q
1359         + "&query_place_id=" + encodeURIComponent(pid);
1360  }
1361  window.google_map_url = build_url();
1362  window.open_google_map = function() {
1363    window.open(build_url(), "_blank");
1364  };
1365})();
1366</script>
1366<script>
1367
1368  var spot_id = 112064;
1369  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"}');
1370
1371  if (false){
1372    console.log("Check SpotHopper configuration. Probably there is no 'WEBSITE::DOMAIN_NAME' key for your website");
1373  }
1374
1375  if (navigator.userAgent.match(/iPhone/i)
1376       || navigator.userAgent.match(/iPad/i)
1377       || navigator.userAgent.match(/iPod/i)){
1378      $(document).ready(function(){
1379            document.body.className += " " + "webkit-mobile-body";
1380      });
1381    }
1382
1383  var promotion_url_param_domain = getPromotionUrlParams()['domain'];
1384  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')){
1385    $("a[href^='/']").each(function(){
1386      if (this.href.indexOf('domain=') == -1){
1387        var sh_internal_url = new URL(this.href);
1388        sh_internal_url.searchParams.set("domain", promotion_url_param_domain);
1389        this.href = sh_internal_url.toString();
1390      }
1391    })
1392  }
1393
1394
1395  function cta_link_matches_href(href, url){
1396    var domain = 'theloopwestend.com';
1397    if(typeof url === 'undefined'){
1398      return false;
1399    }
1400    var partsOfURL = url.split(domain);
1401    if (partsOfURL.length != 2){
1402      return href == url;
1403    }else{
1404      var urlPath = partsOfURL[1];
1405      if (urlPath.substring(0,1) == "/"){
1406        urlPath = urlPath.substring(1,urlPath.length);
1407      }
1408      return href.indexOf(urlPath, domain.length + href.indexOf(domain)-1) !== -1;
1409    }
1410  }
1411
1412  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}];
1413
1414  function find_cta_link(href) {
1415    for (var i=0; i< all_cta_links.length; i++){
1416      var cta_link = all_cta_links[i];
1417      if ( cta_link_matches_href(href, cta_link.url)){
1418        return cta_link;
1419      }
1420    }
1421  }
1422
1423  function find_cta_links(href) {
1424    var cta_links = []
1425    for (var i=0; i< all_cta_links.length; i++){
1426      var cta_link = all_cta_links[i];
1427      if ( cta_link_matches_href(href, cta_link.url)){
1428        cta_links.push(cta_link);
1429      }
1430    }
1431    return cta_links;
1432  }
1433
1434
1435  function get_current_page_cta_link_types(){
1436    var types = [];
1437    var cta_links = find_cta_links(document.location.href);
1438    for (var i=0; i<cta_links.length; i++){
1439      types.push(cta_links[i].cta_link_type);
1440    }
1441    return types;
1442  }
1443
1444
1445  function is_food_menu_page(){
1446    var cta_link_types = get_current_page_cta_link_types();
1447    for (var i=0; i<cta_link_types.length; i++){
1448      if ('food_menu' == cta_link_types[i])
1449        return true;
1450    }
1451    return false;
1452  }
1453
1454
1455  function get_form_cat_from_cta(){
1456    var cta_link = find_cta_link(document.location.href);
1457    if (cta_link == null) {
1458        return null;
1459    }
1460    if (cta_link.cta_link_type == 'private_parties'){
1461        return 'private_party';
1462    }else if (cta_link.cta_link_type == 'reservations'){
1463        return 'reservation';
1464    }else if (cta_link.cta_link_type == 'catering'){
1465        return 'catering';
1466    }else if (cta_link.cta_link_type == 'job_listing'){
1467        return 'job_listings';
1468    }else if (cta_link.cta_link_type == 'gift_cards'){
1469          return 'gift_cards';
1470    }
1471    return null;
1472  }
1473
1474  function element_has_events_defined(elem){
1475    if ($._data(elem, "events") === undefined){
1476      return false;
1477    }
1478    return true;
1479  }
1480
1481  function create_ga_events_for_cta_clicks(){
1482    if (typeof $ === 'function'){
1483
1484      var cta_link_of_the_page = find_cta_link(location.href);
1485
1486
1487      $("a").each(function(index, elem){
1488        var href = $(elem).attr('href');
1489
1490        if (href  === undefined ){
1491           return;
1492        }
1493
1494        if (href.substring(0,4) == 'tel:'){
1495          if (!element_has_events_defined(elem)){  // not footer links
1496            $(elem).on("click", function(){
1497                universal_ga('send', 'event', {
1498                  eventCategory: 'Button',
1499                  eventAction: 'Click',
1500                  eventLabel: 'Phone',
1501                  transport: 'beacon'
1502                });
1503             });
1504
1505             if (cta_link_of_the_page){
1506                $(elem).on("click", function(){
1507                    universal_ga('send', 'event', {
1508                      eventCategory: 'Button',
1509                      eventAction: 'Click',
1510                      eventLabel: cta_link_of_the_page.cta_link_type +  ' page phone',
1511                      transport: 'beacon'
1512                    });
1513                 });
1514             }
1515          } else {
1516             if (cta_link_of_the_page){
1517               $(elem).on("click", function(){
1518                   universal_ga('send', 'event', {
1519                        eventCategory: 'Button',
1520                        eventAction: 'Click',
1521                        eventLabel: cta_link_of_the_page.cta_link_type +  ' page phone footer',
1522                        transport: 'beacon'
1523                   });
1524               });
1525             }
1526          }
1527
1528
1529        }else{
1530          var cta_link = find_cta_link(href);
1531          if (elem.className != null && elem.className.indexOf("bottom-link") > -1){
1532            // console.log("bottom link detected");
1533          }else{
1534            if (cta_link != null){
1535              $(elem).on("click", function(){
1536                universal_ga('send', 'event', {
1537                        eventCategory: 'Website Link',
1538                        eventAction: 'Click',
1539                        eventLabel: cta_link.cta_link_type,
1540                        transport: 'beacon'
1541                  });
1542              });
1543            }
1544          }
1545        }
1546
1547
1548      });
1549    }
1550  }
1551
1552  if (typeof angular === "undefined") {
1553    create_ga_events_for_cta_clicks();
1554  } else {
1555    angular.element(document).ready(function () {
1556      create_ga_events_for_cta_clicks();
1557    });
1558  }
1559
1560
1561  function triggerShowFooterEvents(){
1562    if (window.screen.availWidth < 768){
1563        universal_ga('send', 'event', {
1564                eventCategory: 'Mobile Footer',
1565                eventAction: 'View',
1566                eventLabel: '',
1567                transport: 'beacon'
1568          });
1569    }
1570  }
1571
1572
1573
1574
1575  ////////////
1576  function smartFooterV2()
1577  {
1578    var list= document.getElementsByClassName("bottom-list-item");
1579    if (!list) return;
1580
1581    if (document.getElementById("bottom-navbar") == null){
1582      return;
1583    }
1584
1585    var bottomNav = document.querySelector('#bottom-navbar .navbar-nav');
1586    var footerLinkPaddingLeft = $('#bottom-navbar .navbar-nav li a').css('padding-left');
1587    var footerLinkPaddingRight = $('#bottom-navbar .navbar-nav li a').css('padding-right');
1588
1589    bottomNav.innerHTML = '';
1590    var linksWithPosition = all_cta_links.filter(e => e.position != null && e.position >= 0);
1591    linksWithPosition.sort(function(a,b) {
1592      return a.position - b.position;
1593    });
1594
1595    var footerLinkStyle = (footerLinkPaddingLeft == '0px' || footerLinkPaddingRight == '0px' ? 'style="padding-left: 8px; padding-right: 8px;"' : '');
1596
1597    linksWithPosition.forEach((e, i) => {
1598        var target = e.target || getUrlTarget(e.url);
1599        bottomNav.insertAdjacentHTML('beforeend',
1600        `<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>`);
1601    })
1602
1603    var intervalCount = 0
1604    var interval = setInterval(() => {
1605      if(intervalCount == 50){
1606        clearInterval(interval);
1607      }
1608      removeOverflowingFooterLinks();
1609      intervalCount ++;
1610    }, 200);
1611
1612    $('.smart-footer-link').on("click", function(){
1613          if (typeof shUrlParams !== "undefined" && shUrlParams['source'] === undefined){
1614                    shUrlParams['source'] = 'footer';
1615                    sessionStorage.setItem('shUrlParams', JSON.stringify(shUrlParams));
1616          }
1617
1618          var visibleLinks = $('.smart-footer-link').map(function (e) {
1619              return $(this).data('type');
1620          }).toArray().join(',');
1621
1622          universal_ga('send', 'event', {
1623                  eventCategory: 'Button',
1624                  eventAction: 'Click_footer_2',
1625                  eventLabel: "type:" + $(this).data('type') + "|position:" + $(this).data('position') + "|visible:" + visibleLinks,
1626                  transport: 'beacon'
1627            });
1628    });
1629  }
1630
1631  function removeOverflowingFooterLinks(){
1632    var bottomNavLinks = document.querySelectorAll('#bottom-navbar .navbar-nav li');
1633    var width_sum = 0;
1634
1635    bottomNavLinks.forEach(e => {
1636      width_sum += e.getBoundingClientRect().width;
1637      if ((width_sum) > window.innerWidth) {
1638        console.log(`%cLink %c${e.textContent} %cdeleted couldn't fit screen`,"color: #fff;background: #202124;", "background: red;color: #fff", "color: #fff;background: #202124;");
1639        e.remove();
1640      }
1641    });
1642  }
1643
1644  function getUrlTarget(url){
1645    if(url.startsWith('tel')){
1646      return '_self';
1647    }
1648    if(url.startsWith('/') || url.includes('tmt.spotapps.co') || url.includes(window.location.host)){
1649      return '_self';
1650    }
1651    return '_blank';
1652  }
1653
1654  function npb()
1655    {
1656    	var list= document.getElementsByClassName("bottom-list-item");
1657    	if (!list) return;
1658
1659      if (document.getElementById("bottom-navbar") == null){
1660        return;
1661      }
1662
1663      var url = ""
1664    	for (var i=0; i < all_cta_links.length; i++)
1665    	{
1666    		if (all_cta_links[i].cta_link_type == "order"){
1667          url = all_cta_links[i].url;
1668        }
1669    	}
1670
1671    	if ( url == ""){
1672        return;
1673      }
1674
1675    	for (i=0; i < list.length; i++)
1676    	{
1677    		console.log(cta_link_matches_href(list[i].firstChild.href, url));
1678    		if (cta_link_matches_href(list[i].firstChild.href,url))  return;
1679
1680    	};
1681
1682    	var item = list[list.length-1]
1683    	document.getElementById("bottom-navbar").getElementsByClassName("nav navbar-nav")[0].appendChild(item.cloneNode(true));
1684    	var width_sum = 0;
1685    	for (i=0; i < list.length; i++) {
1686    		width_sum += list[i].getBoundingClientRect().width;
1687    	}
1688
1689    	var item = list[list.length-1]
1690    	if ((width_sum - 10) > window.innerWidth) { item.parentNode.removeChild(item); console.log("link deleted couldn't fit screen"); return; }
1691
1692    	item.firstChild.text = "Order";
1693    	item.firstChild.href = url;
1694    	item.firstChild.id = "bottom_link_" + list.length;
1695
1696      $(item.firstChild).on("click", function(){
1697
1698          if (typeof shUrlParams !== "undefined" && shUrlParams['source'] === undefined){
1699                    shUrlParams['source'] = 'footer';
1700                    sessionStorage.setItem('shUrlParams', JSON.stringify(shUrlParams));
1701                  }
1702
1703          universal_ga('send', 'event', {
1704                  eventCategory: 'Button',
1705                  eventAction: 'Click',
1706                  eventLabel: 'Plan B-2 Order',
1707                  transport: 'beacon'
1708            });
1709      });
1710
1711
1712    }
1713
1714function activateSmartFooter(){
1715    var smart_footer_active = true;
1716    var smart_footer_version = 2;
1717    var man_bottom_active = true;
1718    if(window.location.hash == '#smartFooterV2=enabled'){
1719      smartFooterV2();
1720      return;
1721    }
1722    if (smart_footer_active && !man_bottom_active){
1723      if(smart_footer_version == 2 ){
1724          smartFooterV2();
1725       }else {
1726          npb();
1727       }
1728    }
1729  }
1730
1731  activateSmartFooter();
1732
1733  var corona_config_str = '';
1734  var corona_config =  corona_config_str != '' ?  JSON.parse('') : null;
1735
1736
1737  //corona instuctions
1738  function show_corona_instructions(text, phone, btnText){
1739    //format to US number
1740    var match = phone.match(/^(\d{3})(\d{3})(\d{4})$/);
1741
1742    if(corona_config.shopping_cart_type == "TMT" && corona_config.shopping_cart_active == true) {
1743        var linkLocation = "https://tmt.spotapps.co/ordering-menu/?spot_id="+corona_config.spot_id+"&images=yes&accordion=true";
1744        var btnLinkLocation = "https://tmt.spotapps.co/ordering-menu/?spot_id="+corona_config.spot_id+"&images=yes&accordion=true";
1745    }else {
1746        var linkLocation = 'tel:+1'+phone+'';
1747        var btnLinkLocation = 'tel:+1'+ match[1] + '-' + match[2] + '-' + match[3] +''
1748    }
1749    var appendPhone = 'tel:+1'+phone+'';
1750    //inject html content
1751    if ($('.food-menu-nav').length) {
1752      //new template
1753      var pageEl =  $('.food-menu-nav').css('margin','20px auto 10px auto');
1754      var textColor = rgb2hex($('.section-header').css('color'));
1755      var linkColor = rgb2hex($('.food-menu-nav-item.active').css('background-color'));
1756      var fontSize = parseInt($('.food-menu-nav-item').css('font-size'));
1757      fontSize = fontSize + Math.round(fontSize  * 0.25);
1758
1759      // 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>';
1760      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>';
1761
1762    }else {
1763      //old template
1764      var pageEl = $('.tabnav');
1765      var textColor = rgb2hex($('.menu-item-name-traditional').css('color'));
1766      var linkColor = rgb2hex($('.style-traditional .tabnav .nav>li.active>a').css('color'));
1767
1768      var linkTextColor = getContrast50(linkColor);
1769      var fontSize = parseInt($('.menu-item-name-traditional').css('font-size'));
1770      fontSize = fontSize + Math.round(fontSize  * 0.25);
1771      var textTransform = $('.style-traditional .tabnav .nav>li>a').css('text-transform');
1772
1773      // 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>';
1774      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>';
1775
1776    }
1777     //html content
1778    pageEl.prepend(html);
1779  }
1780
1781  function rgb2hex(rgb) {
1782    if(typeof rgb !== "undefined"){
1783      rgbColor = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
1784      if (!rgbColor) {
1785        rgba = rgb.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(,\s*\d+\.*\d+)?\)$/);
1786        return "#" + hex(rgba[1]) + hex(rgba[2]) + hex(rgba[3]);
1787      }
1788      function hex(x) {
1789          return ("0" + parseInt(x).toString(16)).slice(-2);
1790      }
1791      return "#" + hex(rgbColor[1]) + hex(rgbColor[2]) + hex(rgbColor[3]);
1792    }
1793    return rgb;
1794  }
1795
1796  function getContrast50(hexcolor){
1797    return (parseInt(hexcolor, 16) > 0xffffff/2) ? '#000':'#fff';
1798  }
1799
1800  function show_corona_sidebar_instructions(text, phone){
1801    //format to US number
1802    var match = phone.match(/^(\d{3})(\d{3})(\d{4})$/);
1803    var divWidth = 230;
1804    var top = 50;
1805    var linkSize = '1.6em';
1806    var pSize = $('p').css('font-size');
1807    var appendPhone = 'tel:+1'+phone+'';
1808
1809    if ($(window).width() < 1600)
1810      var top = 30;
1811    if ($(window).width() < 1200){
1812      var divWidth = 180;
1813      var linkSize = '1.4em';
1814      var pSize ='1.1em';
1815    }
1816
1817    if($('.food-menu-nav').length){ //new template
1818      var textColor = $('.food-menu-nav-item.active').css('color');
1819      var linkColor = $('.food-menu-nav-item.active').css('background-color');
1820
1821      var linkTextColor = $('.food-menu-nav-item.active').css('color');
1822      var parent = $('.food-menu-page');
1823    }
1824    else { //old template
1825      var textColor = $('.menu-item-name-traditional').css('color');
1826      var linkColor = $('.style-traditional .tabnav .nav>
1826li.active>a').css('color');
1827      var parent = $('.food-menu').length ? $('.food-menu') : $('.drink-menu');
1828      var linkTextColor = getContrast50(linkColor);
1829    }
1830
1831    // $(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>');
1832    $(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>');
1833
1834    //check if resolution is bigger than tablet resolution
1835/*  if ($(window).width() > 991) {
1836      //detect scroll
1837      window.onscroll = function (e) {
1838      if ($(window).scrollTop() == 0) {
1839          $('#corona-instructions-sidebar').hide();
1840        }else {
1841          $('#corona-instructions-sidebar').show();
1842        }
1843      }
1844    } */
1845  }
1846
1847  function check_corona_config(config){
1848    console.log(config)
1849    if (config) {
1850      if (config.instructions_on_food_page && config.food_page_instruction_text && config.food_page_instruction_phone) {
1851        if (!config.promote_deliveries && config.promote_pick_up) {
1852          var btnText = 'Call For Pick Up';
1853        }
1854        if (config.promote_deliveries && !config.promote_pick_up) {
1855          var btnText = 'Call For Delivery';
1856        }
1857        if (config.promote_deliveries && config.promote_pick_up) {
1858          var btnText = 'Call For Pick Up Or Delivery';
1859        }
1860
1861        if(typeof btnText !== "undefined"){ // check if pick up or delivery are true
1862          if(config.shopping_cart_type == "TMT" && config.shopping_cart_active == true) {
1863                var btnText = 'ORDER NOW';
1864                    if($('.food-menu-nav').length){ //new template
1865                      var textColor = rgb2hex($('.section-header').css('color'));
1866                      var linkColor = rgb2hex($('.food-menu-nav-item.active').css('background-color'));
1867                      var fontSize = parseInt($('.food-menu-nav-item').css('font-size'));
1868                      fontSize = fontSize + Math.round(fontSize  * 0.25);
1869                    }
1870                    else { //old template
1871                        var textColor = rgb2hex($('.menu-item-name-traditional').css('color'));
1872                        var linkColor = rgb2hex($('.style-traditional .tabnav .nav>li.active>a').css('color'));
1873
1874                        var linkTextColor = getContrast50(linkColor);
1875                        var fontSize = parseInt($('.menu-item-name-traditional').css('font-size'));
1876                        fontSize = fontSize + Math.round(fontSize  * 0.25);
1877                    }
1878                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);
1879                show_corona_sidebar_instructions(btnText, config.food_page_instruction_phone);
1880            } else {
1881                show_corona_instructions(config.food_page_instruction_text, config.food_page_instruction_phone, btnText);
1882                show_corona_sidebar_instructions(btnText, config.food_page_instruction_phone);
1883            }
1884
1885        }
1886      }
1887    }
1888  }
1889
1890
1891  if (is_food_menu_page() && !window.location.search.includes("contactless=true")){
1892    $( document ).ready(function() {
1893       setTimeout(function(){
1894        check_corona_config(corona_config);
1895       }, 300);
1896    });
1897  }
1898
1899
1900
1901  function isPhone(phone){
1902      var regex = /^(\+\d{1,2}\s?)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$/;
1903      return regex.test(phone);
1904  }
1905
1906  function sendEmail_MT (input_id) {
1907    const $loader = $("[data-id=newsletter-widget-2] .sph-loading-img");
1908
1909    const $step = {
1910      form: $("[data-id=newsletter-widget-2] .sph-email-form"),
1911      message: $("[data-id=newsletter-widget-2] .sph-response-message"),
1912    }
1913
1914    const $field = {
1915      email: $("[data-id=newsletter-widget-2] #sph-newsletter-input-" + input_id),
1916      phone: $("[data-id=newsletter-widget-2] #sph-newsletter-phone-" + input_id),
1917      consent: $("[data-id=newsletter-widget-2] #sph-newsletter-checkbox-phone-" + input_id),
1918    };
1919
1920    const $error = {
1921      email: $("[data-id=newsletter-widget-2] #sph-newsletter-email-error-" + input_id),
1922      phone: $("[data-id=newsletter-widget-2] #sph-newsletter-phone-error-" + input_id),
1923    };
1924
1925    if ($field.email.val().trim() === "") {
1926        $error.email
1927          .html("This field is required")
1928          .show();
1929    }
1930    else if (!isEmail($field.email.val().trim())) {
1931      $error.email
1932        .html("Please use the format “[email protected]”")
1933        .show();
1934    } else {
1935      $error.email
1936        .html("")
1937        .hide();
1938    }
1939
1940    if ($field.consent.is(':checked') && $field.phone.val().trim() === "") {
1941      $error.phone
1942        .html("This field is required")
1943        .show();
1944    } else if ($field.phone.val().trim().length > 0 && !isPhone($field.phone.val().trim())) {
1945      $error.phone
1946        .html("The phone number must contain 10 digits")
1947        .show();
1948    } else {
1949      $error.phone
1950        .html("")
1951        .hide();
1952    }
1953
1954    const errorField = $step.form.find('.sh-form-error:visible');
1955
1956    if (errorField.length > 0) {
1957      const input = errorField.first().next();
1958
1959      document.activeElement.blur();
1960
1961      setTimeout(() => {
1962        input.focus();
1963      }, 160)
1964
1965      return;
1966    }
1967
1968    $loader
1969      .show()
1970      .prev()
1971      .hide();
1972
1973    $.ajax({
1974      method: "POST",
1975      url: "https://www.spothopperapp.com/api/spots/112064/contacts/add_with_texting_permission",
1976      crossDomain: true,
1977      dataType: 'json',
1978      data: {
1979        email: $field.email.val().trim(),
1980        phone: $field.phone.val().trim(),
1981        texting_permission: $field.consent.is(':checked'),
1982      },
1983      success: function (data) {
1984        afterRequestSubmission(data);
1985      },
1986      error: function () {
1987        afterRequestSubmission("Something went wrong. Please try again later.");
1988      }
1989    });
1990
1991    function afterRequestSubmission (data) {
1992      $step.form.hide();
1993
1994      $step.message
1995        .html(data)
1996        .show()
1997        .trigger('focus');
1998    }
1999  }
2000</script>
2000<script>function addPromotionParamsToTMTLinks()
2001{
2002    if (sessionStorage.getItem('shUrlParams')) {
2003        let shParams = JSON.parse(sessionStorage.getItem('shUrlParams'));
2004        if (!Object.keys(shParams).length)
2005            return;
2006        if(!shParams.source)
2007            return;
2008        $('a').each(function () {
2009            if (this.href.includes('tmt.spotapps.co')) {
2010                if(this.href.includes('&source=') || this.href.includes('&destination=') || this.href.includes('&promotion='))
2011                    return;
2012
2013                this.href = this.href + '&source=' + shParams.source;
2014                if(shParams.destination)
2015                    this.href = this.href + '&destination=' + shParams.destination;
2016                if(shParams.promotion)
2017                    this.href = this.href + '&promotion=' + shParams.promotion;
2018                if(shParams.fb_post_id)
2019                    this.href = this.href + '&fb_post_id=' + shParams.fb_post_id;
2020                if(shParams.email_post_id)
2021                    this.href = this.href + '&email_post_id=' + shParams.email_post_id;
2022            }
2023        })
2024    }
2025}
2026setTimeout(function() {
2027  addPromotionParamsToTMTLinks();
2028  addFooterToSourceParam();
2029},600)
2030
2031function addFooterToSourceParam()
2032{
2033    $('.bottom-link').each(function (){
2034        if(shouldAddSourceParam(this.href))
2035          this.href = this.href + '&source=footer';
2036    })
2037    $('#sh-multiple-links-content-holder a').each(function (){
2038       if(shouldAddSourceParam(this.href))
2039          this.href = this.href + '&source=footer';
2040    })
2041}
2042function shouldAddSourceParam(link){
2043  if (link.includes('tmt.spotapps.co') && !link.includes('&source=')){
2044    return true;
2045  }
2046  return false;
2047}
2048</script>
2048<script>
2049;(async () => {
2050if (typeof window.focusTrap === 'undefined') {
2051    await getScript('https://unpkg.com/tabbable/dist/index.umd.js');
2052    await getScript('https://unpkg.com/focus-trap/dist/focus-trap.umd.js');
2053}
2054
2055document.querySelectorAll('.modal').forEach((element) => {
2056    const trap = window.focusTrap?.createFocusTrap(element, {
2057        allowOutsideClick: true,
2058    });
2059
2060    $(element).on('shown.bs.modal', () => {
2061	    trap?.activate();
2062	});
2063
2064	$(element).on('hidden.bs.modal', () => {
2065        trap?.deactivate();
2066    });
2067});
2068
2069async function getScript (source) {
2070    return new Promise((resolve, reject) => {
2071        const script = document.createElement('script');
2072        script.src = source;
2073        script.async = true;
2074
2075        script.onload = resolve;
2076        script.onerror = reject;
2077
2078        document.head.appendChild(script);
2079    });
2080}
2081})();
2082</script>
2082<script src="https://wcache-plugins.spotapps.co/production/wcpl_bootstrap_ada_fix/wcpl_bootstrap_ada_fix.js"></script>
2082<link href="https://wcache-plugins.spotapps.co/production/wcpl_bday_club/wcpl_bday_club.css" rel="stylesheet" media="screen"/>
2082<script src="https://wcache-plugins.spotapps.co/production/wcpl_bday_club/wcpl_bday_club.js"></script>
2082<script src="https://wcache-plugins.spotapps.co/production/wcpl_ga_tracking/wcpl_ga_tracking.js"></script>
2082<script src="https://wcache-plugins.spotapps.co/production/wcpl_media_controls/script.js"></script>
2082<link href="https://wcache-plugins.spotapps.co/production/wcpl_website_editor_interpreter/website_interpreter_helper_style.css" rel="stylesheet" media="screen"/>
2082<script>var changes_log_array = {};</script>
2082<script src="https://wcache-plugins.spotapps.co/production/wcpl_website_editor_interpreter/website_interpreter.js"></script>
2082<script>document.addEventListener("DOMContentLoaded", () => {
2083    setNudgeBtnStyling();
2084 })
2085
2086function setNudgeBtnStyling(){
2087    const headerNudgeBtn = document.querySelector(".cta-nudge-btn[data-nudge-position=mobile-header]");
2088    const footerNudgeBtn = document.querySelector(".cta-nudge-btn[data-nudge-position=mobile-footer]");
2089    
2090    const useWebsiteButtonStyle = true;
2091    
2092    if (!headerNudgeBtn && !footerNudgeBtn) return;
2093    
2094    if(useWebsiteButtonStyle) applyCustomTempBtnStyles(headerNudgeBtn, footerNudgeBtn);
2095}
2096
2097function getCustomTempBtnStyles() {
2098    let tempBtn = document.querySelector("a.custom-temp-btn");
2099    
2100    // If not present, create a temporary one
2101    let created = false;
2102    if (!tempBtn) {
2103      tempBtn = document.createElement("a");
2104      tempBtn.className = "custom-temp-btn";
2105      tempBtn.style.visibility = "hidden";
2106      tempBtn.style.position = "absolute";
2107      tempBtn.style.pointerEvents = "none";
2108      document.body.appendChild(tempBtn);
2109      created = true;
2110    }
2111
2112    const styles = window.getComputedStyle(tempBtn);
2113    
2114    // Border radius logic - only determine it once on first visit
2115    let borderRadius;
2116    const storedBorderRadius = sessionStorage.getItem("nudgeBtnBorderRadius");
2117
2118    if (storedBorderRadius !== null) {
2119      borderRadius = storedBorderRadius; // already determined, use it
2120    } else if (document.body.classList.contains("home-page") && !created) {
2121      borderRadius = styles.borderRadius; // homepage with real button, store it
2122      sessionStorage.setItem("nudgeBtnBorderRadius", borderRadius);
2123    } else {
2124      borderRadius = "0px"; // first visit is not homepage, lock to 0 forever
2125      sessionStorage.setItem("nudgeBtnBorderRadius", borderRadius);
2126    }
2127    
2128    const stylePatch = {
2129      fontFamily: styles.fontFamily,
2130      fontWeight: styles.fontWeight,
2131      borderRadius: borderRadius,
2132      textTransform: styles.textTransform
2133    };
2134    
2135    // Cleanup if we created it
2136    if (created) {
2137      document.body.removeChild(tempBtn);
2138    }
2139    
2140    return stylePatch;
2141}
2142
2143function applyCustomTempBtnStyles(headerNudgeBtn, footerNudgeBtn) {
2144    const stylePatch = getCustomTempBtnStyles();
2145    if (!stylePatch) return;
2146    
2147    [headerNudgeBtn, footerNudgeBtn].filter(Boolean).forEach((btn) => {
2148      Object.assign(btn.style, stylePatch);
2149    });
2150}</script>
2150</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.