PageSourceSearch

https://steamerssportspub.com/-events?source=header&spot_id=55043&destination=events&promotion=mlb_playoffs

html steamerssportspub.com collected 2026-10-08 12:52:42 UTC 69,636 bytes, 1,510 lines download raw bytes

1<!DOCTYPE html>
2�<html lang="en"><head><meta content="null" property="og:site_name"/><meta content="http://steamerssportspub.com/charlotte-steamer-s-sports-pub-events" property="og:url"/><meta content="website" property="og:type"/><meta content="In a place where old friends make new friends, we have plenty to entertain everyone! We have 100+ TVs, game rooms with pools tables, dart boards, foosball tables, and other electronic games!..." property="og:description"/><meta content="Steamer's Sports Pub - Events" property="og:title"/><!-- Google tag (gtag.js) -->
vendor: 71 bytes, line 2
2<script async="async" src="https://www.googletagmanager.com/gtag/js?id=
2G-VG24VK2VKT
vendor: 11 bytes, line 2
2"></script>
2<script>
3    window.dataLayer = window.dataLayer || [];
4    function gtag(){dataLayer.push(arguments);}
5    gtag('set', 'linker', {'domains': ['tmt.spotapps.co','spothopperapp.com']});
6    gtag('js', new Date());
7    gtag('config', 'G-CWEMBHL5N2');
8    gtag('config', 'G-VG24VK2VKT');
9  </script>
9<!-- wcache 2026-10-08 12:43:23.010637Z --><!--
10smart_footer: true,
11smart_footer_version: 2,
12scripting_active: false
13--><link href="https://steamerssportspub.com/charlotte-steamer-s-sports-pub-events" rel="canonical"/><meta charset="utf-8"/><meta content="IE=edge" http-equiv="X-UA-Compatible"/><meta content="width=device-width, initial-scale=1" name="viewport"/><meta content="" name="description"/><meta content="" name="author"/><meta content="https://static.spotapps.co/website_images/ab_websites/55043_website/shared_image.jpg" property="og:image"/><meta content="table with dishes" property="og:image:alt"/><meta content="image/png" property="og:image:type"/><meta content="136255836437181" property="fb:app_id"/><meta content="summary_large_image" name="twitter:card"/><meta content="Steamer's Sports Pub - Events" name="twitter:title"/><meta content="In a place where old friends make new friends, we have plenty to entertain everyone! We have 100+ TVs, game rooms with pools tables, dart boards, foosball tables, and other electronic games!..." name="twitter:description"/><meta content="https://static.spotapps.co/website_images/ab_websites/55043_website/shared_image.jpg" name="twitter:image"/><title>Steamer&apos;s Sports Pub - Events</title>
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/55043_website/favicons_2/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180"/><link href="https://static.spotapps.co/website_images/ab_websites/55043_website/favicons_2/favicon-32x32.png" rel="icon" sizes="32x32" type="image/png"/><link href="https://static.spotapps.co/website_images/ab_websites/55043_website/favicons_2/favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"/><link href="https://static.spotapps.co/website_images/ab_websites/55043_website/favicons_2/site.webmanifest" rel="manifest"/><link color="#5bbad5" href="https://static.spotapps.co/website_images/ab_websites/55043_website/favicons_2/safari-pinned-tab.svg" rel="mask-icon"/><link href="https://static.spotapps.co/website_images/ab_websites/55043_website/favicons_2/favicon.ico" rel="shortcut icon"/><meta content="#da532c" name="msapplication-TileColor"/><meta content="https://static.spotapps.co/website_images/ab_websites/55043_website/favicons_2/browserconfig.xml" name="msapplication-config"/><meta content="#ffffff" name="theme-color"/><link href="https://static.spotapps.co/web/steamerssportspub--com/lib/bootstrap/css/bootstrap.min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/steamerssportspub--com/lib/custom-scrollbar/jquery.mCustomScrollbar.css" rel="stylesheet"/><link href="https://addtocalendar.com/atc/1.5/atc-style-blue.css" rel="stylesheet" type="text/css"/><link href="https://static.spotapps.co/web/steamerssportspub--com/lib/font-awesome-4.7.0/css/font-awesome.min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/steamerssportspub--com/lib/hover_css/css/hover-min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/steamerssportspub--com/lib/owlcarousel/owl.carousel.min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/steamerssportspub--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/steamerssportspub--com/css/style.css?version2" rel="stylesheet"/><link href="https://static.spotapps.co/web/steamerssportspub--com/css/bottom_navigation_v1.css?v1697700199" rel="stylesheet"/><link href="css/custom.css?v1697700199&domain=steamerssportspub.com" rel="stylesheet"/><link href="https://static.spotapps.co/web/steamerssportspub--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/steamerssportspub--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
15        html{
16            height: 100%;
17        }
18
19        .webkit-mobile-body{
20            height: 100%;
21            overflow: hidden;
22        }
23
24        .webkit-mobile-body>div:first-child{
25            height:100%;
26            overflow: auto;
27            -webkit-overflow-scrolling: touch;
28        }
29
30        .events-background {
31            background: url(https://static.spotapps.co/website_images/ab_websites/55043_website/events_back.jpg) no-repeat center center fixed; -webkit-background-size: cover;
32            background: linear-gradient( rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) ),
33        url(https://static.spotapps.co/website_images/ab_websites/55043_website/events_back.jpg) no-repeat center center fixed; -webkit-background-size: cover;
34            -moz-background-size: cover;
35            -o-background-size: cover;
36            background-size: cover;
37            background-color: #100F0F;
38        }
39    </style>
39<script src="https://static.spotapps.co/websites/lib/lazysizes/lazysizes.min.js" async=""></script>
39<script>
40function ga_check(){
41  return true;
42}
43</script>
43<script>
44function universal_ga(action, type, category, ev_action, label){
45  if(typeof ga === 'function')
46  {
47    if(!(action && label))
48      ga(action, type, category)
49    else
50      ga(action, type, category, ev_action, label)
51  }
52
53  if(typeof gtag === 'function')
54  {
55    if(!(action && label))
56    {
57      hash = category
58      ev_label = hash["eventLabel"]
59      var splits = ev_label.match(/.{1,100}/g) ?? [];
60      delete(hash["eventLabel"])
61
62      if(splits.length <= 1)
63        hash["eventLabel"] = ev_label
64      else
65      {
66        for (let i = 0; i < splits.length; i++) {
67          var key = "eventLabel_"+i
68          hash[key] = splits[i]
69        }
70      }
71      console.log(hash)
72      gtag("event", hash["eventCategory"], hash);
73    }
74    else
75    {
76      var hash = {
77        eventCategory: category,
78        eventAction: ev_action
79      }
80
81      var splits = label.match(/.{1,100}/g) ?? [];
82      if(splits.length <= 1)
83        hash["eventLabel"] = label
84      else
85      {
86        for (let i = 0; i < splits.length; i++) {
87          var key = "eventLabel_"+i
88          hash[key] = splits[i]
89        }
90      }
91      gtag("event", hash["eventCategory"], hash);
92    }
93  }
94}
95</script>
95<script>    function getPromotionUrlParams(){
96      var params_str = sessionStorage.getItem('shUrlParams');
97      if (params_str != null){
98        return JSON.parse(params_str);
99      }else{
100        return {};
101      }
102    }
103
104    function getPromotionSourceDetails(){
105        var params_str = localStorage.getItem('promotionSourceDetails');
106        if (params_str != null){
107          return JSON.parse(params_str);
108        }else{
109          return {};
110        }
111    }
112
113    function getLastEmailVisitInDays(){
114      var promotionSourceDetails = getPromotionSourceDetails();
115      if (!promotionSourceDetails['last_visit_email'] ){
116        return null;
117      }
118      return Math.floor((new Date() - new Date(promotionSourceDetails['last_visit_email'])) / (1000 * 60 * 60 * 24));
119    }
120
121    function getLastSocialVisitInDays(){
122      var promotionSourceDetails = getPromotionSourceDetails();
123      if (!promotionSourceDetails['last_visit_social'] ){
124        return null;
125      }
126      return Math.floor((new Date() - new Date(promotionSourceDetails['last_visit_social'])) / (1000 * 60 * 60 * 24));
127    }
128
129    var shUrlParams = getPromotionUrlParams();
130    var promotionSourceDetails = getPromotionSourceDetails();
131
132    new URL(document.location).searchParams.forEach(function(value, paramName){
133
134     shUrlParams[paramName] = value;
135
136     if (paramName == 'source' && value =='social' ){
137       promotionSourceDetails['last_visit_social'] = new Date();
138       localStorage.setItem('promotionSourceDetails', JSON.stringify(promotionSourceDetails));
139     }
140
141     if (paramName == 'source' && value =='email' ){
142       promotionSourceDetails['last_visit_email'] = new Date();
143       localStorage.setItem('promotionSourceDetails', JSON.stringify(promotionSourceDetails));
144     }
145
146    });
147
148    sessionStorage.setItem('shUrlParams', JSON.stringify(shUrlParams))
149</script>
149<style>a:focus:not(:focus-visible){outline:none;box-shadow:none;}
150a.get-directions-footer-link{display:inline-block;transform-origin:left center;transition:transform .2s ease;}
151a.get-directions-footer-link:hover{transform:scale(1.08);}
152@media (prefers-reduced-motion:reduce){a.get-directions-footer-link{transition:none;transform:none;}}
153a.get-directions-footer-link,a.get-directions-footer-link:hover{color:inherit!important;}</style></head><body class="drink-menu events-container events-background"><div><header style="background-color:#000000;"><style>
154
155  .nav-v7 .navbar-logo .container {
156    height: 70px;
157  }
158  .nav-v7 .navbar-logo .header-logo img {
159    max-height: 70px;
160  }
161
162
163.navbar.nav-v6 .navbar-logo .container {
164  height: 90px;
165  padding-top: 10px;
166  padding-bottom: 10px;
167}
168.navbar.nav-v6.nav-scroll .navbar-logo .container {
169  height: 60px;
170  padding-top: 0px;
171  padding-bottom: 0px;
172}
173.navbar.nav-v6 .header-logo img {
174  max-width: 100%;
175}
176.navbar.nav-v6.nav-scroll .header-logo img {
177  max-width: 80%;
178}
179.nav-v7 .navbar-logo .header-logo img {
180  max-height: 90px;
181}
182.nav-v7.nav-scroll .navbar-logo .header-logo img {
183  max-height: 60px;
184}
185
186@media (max-width: 767px) {
187  .navbar.nav-v6 .navbar-header {
188    padding-top: 10px;
189    padding-bottom: 10px;
190  }
191  .navbar.nav-v6.nav-scroll .navbar-header{
192    padding-top: 0px;
193    padding-bottom: 0px;
194  }
195  .navbar.nav-v6 .socialnav {
196    margin-top: 10px;
197  }
198  .navbar.nav-v6.nav-scroll .socialnav {
199    margin-top: 0px;
200  }
201  .navbar.nav-v6 .container{
202    padding-top: 0;
203    padding-bottom: 0;
204  }
205  .navbar.nav-v6.nav-scroll .container {
206    padding-top: 0;
207    padding-bottom: 0;
208  }
209  .navbar.nav-v6 .header-logo {
210    height: 70px;
211  }
212  .navbar.nav-v6.nav-scroll .header-logo {
213    height: 50px;
214  }
215  .navbar.nav-v6 .header-logo img {
216    max-height: 100%;
217  }
218}
219
220
221.navbar-regular .navbar-collapse.collapse.in {
222  background-color: transparent;
223  width: 100%;
224}
225.navbar.nav-v6 .navbar-tabs {
226    background-color: #FFF;
227    -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
228    -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
229    box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
230}
231.navbar.nav-v6.nav-scroll .navbar-tabs {
232    background-color: #FFF;
233    -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.4);
234    -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.4);
235    box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.4);
236}
237.drink-menu .navbar.nav-v6 .navbar-tabs {
238  background-color: #FFF;
239  -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
240  -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
241  box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
242}
243.drink-menu .navbar.nav-v6.nav-scroll .navbar-tabs {
244  background-color: #FFF;
245  -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.4);
246  -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.4);
247  box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.4);
248}
249li.drop-down-link .sub-menu {
250  background-color: #FFF;
251  color: #000;
252  }
253.nav-scroll li.drop-down-link .sub-menu {
254  background-color: #FFF;
255  color: #000;
256}
257.drink-menu li.drop-down-link .sub-menu {
258  background-color: #FFF;
259  color: #000;
260}
261.drink-menu .nav-scroll li.drop-down-link .sub-menu {
262  background-color: #FFF;
263  color: #000;
264}
265li.drop-down-link .sub-menu a,
266li.drop-down-link div.drop-down {
267  color: #000;
268}
269.nav-scroll li.drop-down-link .sub-menu a,
270.nav-scroll li.drop-down-link div.drop-down {
271  color: #000;
272}
273.drink-menu li.drop-down-link .sub-menu a,
274.drink-menu li.drop-down-link div.drop-down {
275  color: #000;
276}
277.drink-menu .nav-scroll li.drop-down-link .sub-menu a,
278.drink-menu .nav-scroll li.drop-down-link div.drop-down {
279  color: #000;
280}
281
282.navbar.nav-v6 .navbar-logo {
283  background-color: #fff;
284}
285.navbar.nav-v6.nav-scroll .navbar-logo {
286  background-color: #fff;
287}
288.drink-menu .navbar.nav-v6 .navbar-logo {
289  background-color: #fff;
290}
291.drink-menu .navbar.nav-v6.nav-scroll .navbar-logo {
292  background-color: #fff;
293}
294
295.navbar-regular.nav-v6 .navbar-nav>li>a,
296.navbar-regular.nav-v6 .navbar-nav>li>a:hover,
297.navbar-regular.nav-v6 .navbar-nav>.active>a,
298.navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
299.navbar-regular.nav-v6 .navbar-nav>.active>a:hover{
300  border: none;
301  border-right: 1px solid #000;
302  background-color: transparent;
303  color: #CD272E;
304}
305.navbar-regular.nav-v6 .navbar-nav>li>a {
306  color: #000;
307}
308.drink-menu .navbar.nav-v6 .navbar-nav>li>a {
309  color: #000;
310  border-right: 1px solid #000;
311}
312.drink-menu .navbar-regular.nav-v6 .navbar-nav>li>a:hover,
313.drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a,
314.drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
315.drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:hover{
316  color: #CD272E;
317}
318
319li.drop-down-link .sub-menu a:hover,
320li.drop-down-link .sub-menu a:focus{
321  color: #CD272E;
322}
323.drink-menu li.drop-down-link .sub-menu a:hover,
324.drink-menu li.drop-down-link .sub-menu a:focus {
325  color: #CD272E;
326}
327
328.navbar-regular.nav-v7 .navbar-contact .navbar-nav>li>a,
329.navbar-regular.nav-v7 .navbar-contact .navbar-nav>li>a:hover,
330.navbar-regular.nav-v7 .navbar-contact .navbar-nav>.active>a,
331.navbar-regular.nav-v7 .navbar-contact .navbar-nav>.active>a:focus,
332.navbar-regular.nav-v7 .navbar-contact .navbar-nav>.active>a:hover{
333  color: #CD272E;
334}
335.navbar-regular.nav-v7 .navbar-contact .navbar-nav>li>a {
336  color: #000;
337}
338.drink-menu .navbar.nav-v7 .navbar-nav>li>a {
339  color: #000;
340}
341.drink-menu .navbar-regular.nav-v7 .navbar-contact .navbar-nav>li>a {
342  color: #000;
343}
344.drink-menu .navbar-regular.nav-v7 .navbar-contact .navbar-nav>li>a:hover,
345.drink-menu .navbar-regular.nav-v7 .navbar-contact .navbar-nav>.active>a,
346.drink-menu .navbar-regular.nav-v7 .navbar-contact .navbar-nav>.active>a:focus,
347.drink-menu .navbar-regular.nav-v7 .navbar-contact .navbar-nav>.active>a:hover {
348  color: #CD272E;
349}
350
351.navbar-regular.nav-v6 .navbar-toggle .icon-bar {
352  background-color: #000;
353}
354.drink-menu .navbar-regular.nav-v6 .navbar-toggle .icon-bar {
355  background-color: #000;
356}
357.navbar-regular.nav-v6 [aria-expanded="true"].navbar-toggle .icon-bar {
358  background-color: #CD272E;
359}
360.drink-menu .navbar-regular.nav-v6 [aria-expanded="true"].navbar-toggle .icon-bar {
361  background-color: #CD272E;
362}
363.navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a,
364.navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
365.navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
366.navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
367.navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover{
368  border: none;
369  border-right: 1px solid #000;
370  color: #CD272E;
371}
372.navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a {
373  color: #000;
374}
375.drink-menu .navbar.nav-v6.nav-scroll .navbar-nav>li>a {
376  color: #000;
377  border-right: 1px solid #000;
378}
379.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
380.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
381.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
382.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover {
383  color: #CD272E;
384}
385
386.nav-scroll li.drop-down-link .sub-menu a:hover,
387.nav-scroll li.drop-down-link .sub-menu a:focus {
388  color: #CD272E;
389}
390.drink-menu .nav-scroll li.drop-down-link .sub-menu a:hover,
391.drink-menu .nav-scroll li.drop-down-link .sub-menu a:focus {
392  color: #CD272E;
393}
394
395.navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>li>a,
396.navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>li>a:hover,
397.navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>.active>a,
398.navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>.active>a:focus,
399.navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>.active>a:hover {
400  color: #CD272E;
401}
402.navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>li>a {
403  color: #000;
404}
405.drink-menu .navbar.nav-v6.nav-scroll .navbar-contact .navbar-nav>li>a {
406  color: #000;
407}
408.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>li>a:hover,
409.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>.active>a,
410.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>.active>a:focus,
411.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>.active>a:hover{
412  color: #CD272E;
413}
414
415.navbar-regular.nav-v6.nav-scroll .navbar-toggle .icon-bar {
416  background-color: #000;
417}
418.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-toggle .icon-bar {
419  background-color: #000;
420}
421.navbar-regular.nav-v6.nav-scroll [aria-expanded="true"].navbar-toggle .icon-bar {
422  background-color: #CD272E;
423}
424.drink-menu .navbar-regular.nav-v6.nav-scroll [aria-expanded="true"].navbar-toggle .icon-bar{
425  background-color: #CD272E;
426}
427.navbar.nav-v6 .header-logo-text{
428  color: #000;
429}
430.navbar.nav-v6.nav-scroll .header-logo-text{
431  color: #000;
432}
433.navbar.nav-v6 .social-icon{
434  color: #000;
435}
436.navbar.nav-v6.nav-scroll .social-icon{
437  color: #000;
438}
439.navbar.nav-v6 .social-square .contact-icon:hover {
440  color: #000;
441  background-color: #CD272E;
442}
443.navbar.nav-v6.nav-scroll .social-square .contact-icon:hover {
444  color: #000;
445  background-color: #CD272E;
446}
447
448.drink-menu .navbar.nav-v6 .header-logo-text{
449  color: #000;
450}
451.drink-menu .navbar.nav-v6.nav-scroll .header-logo-text{
452  color: #000;
453}
454.drink-menu .navbar.nav-v6 .social-icon{
455  color: #000;
456}
457.drink-menu  .navbar.nav-v6.nav-scroll .social-icon{
458  color: #000;
459}
460.drink-menu .navbar.nav-v6 .social-square .contact-icon:hover {
461  color: #000;
462  background-color: #CD272E;
463}
464.drink-menu .navbar.nav-v6.nav-scroll .social-square .contact-icon:hover {
465  color: #000;
466  background-color: #CD272E;
467}
468.navbar.nav-v6 .navbar-logo .container {
469  border-bottom: 1px solid #CD272E;
470}
471.navbar.nav-v6.nav-scroll .navbar-logo .container {
472  border-bottom: 1px solid #CD272E;
473}
474.drink-menu .navbar.nav-v6 .navbar-logo .container {
475  border-bottom: 1px solid #CD272E;
476}
477.drink-menu .navbar.nav-v6.nav-scroll .navbar-logo .container {
478  border-bottom: 1px solid #CD272E;
479}
480@media (max-width: 767px) {
481  .navbar.nav-v6 {
482      background-color: #FFF;
483      -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
484      -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
485      box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
486  }
487  .navbar.nav-v6.nav-scroll {
488      background-color: #FFF;
489      -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.4);
490      -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.4);
491      box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.4);
492  }
493  .drink-menu .navbar.nav-v6 {
494    background-color: #FFF;
495    -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
496    -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
497    box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
498  }
499  .drink-menu .navbar.nav-v6.nav-scroll {
500    background-color: #FFF;
501    -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.4);
502    -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.4);
503    box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.4);
504  }
505  .navbar.nav-v6 .container,
506  .navbar.nav-v6.nav-scroll .container,
507  .drink-menu .navbar.nav-v6 .container,
508  .drink-menu .navbar.nav-v6.nav-scroll .container {
509    border-bottom: none;
510  }
511  .navbar.nav-v6 .navbar-header {
512    border-bottom: 2px solid #CD272E;
513  }
514  .navbar.nav-v6.nav-scroll .navbar-header {
515    border-bottom: 2px solid #CD272E;
516  }
517  .drink-menu .navbar.nav-v6 .navbar-header {
518    border-bottom: 2px solid #CD272E;
519  }
520  .drink-menu .navbar.nav-v6.nav-scroll .navbar-header {
521    border-bottom: 2px solid #CD272E;
522  }
523  li.drop-down-link .sub-menu,
524  .drink-menu li.drop-down-link .sub-menu {
525    background-color: transparent;
526  }
527  .nav-scroll li.drop-down-link .sub-menu,
528  .drink-menu .nav-scroll li.drop-down-link .sub-menu {
529    background-color: transparent;
530  }
531    .navbar-regular.nav-v6 .navbar-nav>li>a:hover,
532  .navbar-regular.nav-v6 .navbar-nav>.active>a,
533  .navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
534  .navbar-regular.nav-v6 .navbar-nav>.active>a:hover{
535    background-color: #CD272E;
536    color: #000;
537  }
538  .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
539  .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
540  .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
541  .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover{
542    background-color: #CD272E;
543    color: #000;
544  }
545  .drink-menu .navbar-regular.nav-v6 .navbar-nav>li>a:hover,
546  .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a,
547  .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
548  .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:hover{
549    background-color: #CD272E;
550    color: #000;
551  }
552  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
553  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
554  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
555  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover{
556    background-color: #CD272E;
557    color: #000;
558  }
559
560  .navbar-regular.nav-v6 li.drop-down-link.active .drop-down .fa.fa-angle-up {
561    color: #CD272E;
562  }
563  .navbar-regular.nav-v6.nav-scroll li.drop-down-link.active .drop-down .fa.fa-angle-up {
564    color: #CD272E;
565  }
566  .drink-menu .navbar-regular.nav-v6 li.drop-down-link.active .drop-down .fa.fa-angle-up {
567    color: #CD272E;
568  }
569  .drink-menu .navbar-regular.nav-v6.nav-scroll li.drop-down-link.active .drop-down .fa.fa-angle-up {
570    color: #CD272E;
571  }
572}
573</style><!-- nav --><nav class="navbar nav-v4 nav-v6 nav-v7 navbar-regular navbar-fixed-top" id="navbar" role="navigation"><div class="visuallyhidden" id="skip"><a href="#content">Skip to Main Content</a></div><div class="desktop-navigation logo-center"><div class="navbar-logo"><div class="container"><a class="header-logo logo-top" href="/#"><img alt="Steamer's Sports Pub logo top" class="img-responsive logo-top" src="https://static.spotapps.co/website_images/ab_websites/55043_website/logo.png"/></a><a class="header-logo logo-scroll" href="/"><img alt="Steamer's Sports Pub logo scroll" class="img-responsive logo-scroll" src="https://static.spotapps.co/website_images/ab_websites/55043_website/logo.png"/></a><div class="navbar-contact"><ul class="nav navbar-nav navbar-right"><li class="nav-phone"><a href="tel:+17045689273"><i aria-hidden="true" class="fa fa-phone"></i>(704)-568-9273</a></li><li class="nav-email"><a href="mailto:[email protected]"><i aria-hidden="true" class="fa fa-envelope-o"></i>[email protected]</a></li><li class="nav-address"><a href="/#map-v3-container"><i aria-hidden="true" class="fa fa-map-marker"></i>
574                                        1513 Pierson Dr                                                          , Charlotte                                  </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="/charlotte-steamer-s-sports-pub-food-menu" id="/Charlotte-Steamer-s-Sports-Pub-food-menu_link" target="_self">
575                              Menu
576                              
577                          </a></li><li class=" "><a class="" href="/charlotte-steamer-s-sports-pub-drink-menu" id="/Charlotte-Steamer-s-Sports-Pub-drink-menu_link" target="_self">
578                              Drinks
579                              
580                          </a></li><li class=" "><a class="" href="/charlotte-steamer-s-sports-pub-happy-hours-specials" id="/Charlotte-Steamer-s-Sports-Pub-happy-hours-specials_link" target="_self">
581                              Specials
582                              
583                          </a></li><li class="active "><a class="" href="/charlotte-steamer-s-sports-pub-events" id="/Charlotte-Steamer-s-Sports-Pub-events_link" target="_self">
584                              Events
585                              
586                          </a></li><li class=" "><a class="" href="/charlotte-steamer-s-sports-pub-leagues" id="/Charlotte-Steamer-s-Sports-Pub-leagues_link" target="_self">
587                              Leagues
588                              
589                          </a></li><li class=" nav-order-link"><a class="link-order-sh" href="https://order.toasttab.com/online/steamers-sports-pub-1513-pierson-dr-charlotte-nc-28205#" id="https://order.toasttab.com/online/steamers-sports-pub-1513-pierson-dr-charlotte-nc-28205#_link" target="_self">
590                              Order
591                              
592                          </a></li><li class=" nav-parties-link"><a class="link-parties-sh" href="https://tmt.spotapps.co/private-parties?spot_id=55043&callback_url=http://steamerssportspub.com/-events#" id="https://tmt.spotapps.co/private-parties?spot_id=55043&callback_url=http://steamerssportspub.com/-events#_link" target="_self">
593                              Parties
594                              
595                          </a></li><li class=" nav-jobs-link"><a class="link-jobs-sh" href="https://tmt.spotapps.co/job-listings?spot_id=55043&callback_url=http://steamerssportspub.com/-events#" id="https://tmt.spotapps.co/job-listings?spot_id=55043&callback_url=http://steamerssportspub.com/-events#_link" target="_self">
596                              Jobs
597                              
598                          </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/136255836437181" target="_blank"><i class="social-icon fa fa-facebook"></i><span>Facebook page</span></a><a class="pull-left contact-icon" href="https://www.instagram.com/steamerssportspubclt" target="_blank"><i class="social-icon fa fa-instagram"></i><span>Instagram page</span></a><a class="pull-left contact-icon" href="https://www.yelp.com/biz/steamers-sports-pub-charlotte" target="_blank"><i aria-hidden="true" class="social-icon fa fa-yelp"></i><span>Yelp page</span></a></li></ul></div></div></div></div><div class="mobile-navigation"><div class="container"><div class="navbar-header"><button 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><a class="header-logo logo-top" href="/#"><img alt="Steamer's Sports Pub logo top" class="img-responsive logo-top" src="https://static.spotapps.co/website_images/ab_websites/55043_website/logo.png"/></a><a class="header-logo logo-scroll" href="/"><img alt="Steamer's Sports Pub logo scroll" class="img-responsive logo-scroll" src="https://static.spotapps.co/website_images/ab_websites/55043_website/logo.png"/></a><ul class="socialnav"><li class="social-links social-icons-holder social-square"><a class="pull-left contact-icon" href="https://www.facebook.com/136255836437181" target="_blank"><i class="social-icon fa fa-facebook"></i><span>Facebook page</span></a><a class="pull-left contact-icon" href="https://www.instagram.com/steamerssportspubclt" target="_blank"><i class="social-icon fa fa-instagram"></i><span>Instagram page</span></a><a class="pull-left contact-icon" href="https://www.yelp.com/biz/steamers-sports-pub-charlotte" target="_blank"><i aria-hidden="true" class="social-icon fa fa-yelp"></i><span>Yelp page</span></a></li></ul><div class="collapse navbar-collapse" id="navbar-collapse-1"><ul class="nav navbar-nav navbar-right"><li class=" nav-menu-page"><a class="" href="/charlotte-steamer-s-sports-pub-food-menu" id="mobile_/Charlotte-Steamer-s-Sports-Pub-food-menu_link" target="_self">
599                      Menu
600                      
601                  </a></li><li class=" "><a class="" href="/charlotte-steamer-s-sports-pub-drink-menu" id="mobile_/Charlotte-Steamer-s-Sports-Pub-drink-menu_link" target="_self">
602                      Drinks
603                      
604                  </a></li><li class=" "><a class="" href="/charlotte-steamer-s-sports-pub-happy-hours-specials" id="mobile_/Charlotte-Steamer-s-Sports-Pub-happy-hours-specials_link" target="_self">
605                      Specials
606                      
607                  </a></li><li class="active "><a class="" href="/charlotte-steamer-s-sports-pub-events" id="mobile_/Charlotte-Steamer-s-Sports-Pub-events_link" target="_self">
608                      Events
609                      
610                  </a></li><li class=" "><a class="" href="/charlotte-steamer-s-sports-pub-leagues" id="mobile_/Charlotte-Steamer-s-Sports-Pub-leagues_link" target="_self">
611                      Leagues
612                      
613                  </a></li><li class=" nav-order-link"><a class="link-order-sh" href="https://order.toasttab.com/online/steamers-sports-pub-1513-pierson-dr-charlotte-nc-28205#" id="mobile_https://order.toasttab.com/online/steamers-sports-pub-1513-pierson-dr-charlotte-nc-28205#_link" target="_self">
614                      Order
615                      
616                  </a></li><li class=" nav-parties-link"><a class="link-parties-sh" href="https://tmt.spotapps.co/private-parties?spot_id=55043&callback_url=http://steamerssportspub.com/-events#" id="mobile_https://tmt.spotapps.co/private-parties?spot_id=55043&callback_url=http://steamerssportspub.com/-events#_link" target="_self">
617                      Parties
618                      
619                  </a></li><li class=" nav-jobs-link"><a class="link-jobs-sh" href="https://tmt.spotapps.co/job-listings?spot_id=55043&callback_url=http://steamerssportspub.com/-events#" id="mobile_https://tmt.spotapps.co/job-listings?spot_id=55043&callback_url=http://steamerssportspub.com/-events#_link" target="_self">
620                      Jobs
621                      
622                  </a></li></ul></div></div></div></nav></header><main id="content" role="main"><article><div class="pagecontent"><div class="container"><h1>Events</h1><div class="events-holder"><section id="2498497"><div class="row event-content"><div class="col-md-12 col-sm-12 col-xs-12 event-text-holder"><h2>Christmas</h2><h3>Friday December 25th</h3><!-- Sunday may 8th --><div class="event-info-text"><div data-event-id="2498497" data-is-recurring="false" data-origin-event-id="2498497" data-spot-promotion-id="2514253" da
622ta-tags="" style="display: none"></div><p>Happy Holidays to all of our fans! Join us with family and friends!</p></div><h3 class="event-time">11:00 AM - 02:00 AM</h3><div class="event-add-to-calendar">
622<script type="text/javascript">(function () {
623                                if (window.addtocalendar)if(typeof window.addtocalendar.start == "function")return;
624                                if (window.ifaddtocalendar == undefined) { window.ifaddtocalendar = 1;
625                                    var d = document, s = d.createElement('script'), g = 'getElementsByTagName';
626                                    s.type = 'text/javascript';s.charset = 'UTF-8';s.async = true;
627                                    s.src = ('https:' == window.location.protocol ? 'https' : 'http')+'://addtocalendar.com/atc/1.5/atc.min.js';
628                                    var h = d[g]('body')[0];h.appendChild(s); }})();
629                              </script>
629<span class="addtocalendar atc-style-blue"><var class="atc_event"><var class="atc_date_start">2026-12-25 11:00:00</var><var class="atc_date_end">2026-12-25 02:00:00</var><var class="atc_timezone">America/New_York</var><var class="atc_title">Christmas</var><var class="atc_description">Happy Holidays to all of our fans! Join us with family and friends!</var><var class="atc_location">Steamer&apos;s Sports Pub</var><var class="atc_organizer">Steamer&apos;s Sports Pub</var><var class="atc_organizer_email">[email protected]</var></var></span></div></div></div></section></div></div></div></article></main></div><style type="text/css">
630    .navbar-fixed-bottom.nav-v1 {
631        bottom: -100px;
632    }
633    .navbar-fixed-bottom.nav-v1 .nav.navbar-nav.navbar-right {
634        background-color: #000;
635    }
636    .navbar-fixed-bottom.nav-v1 .bottom-svg-border path,
637    .navbar-fixed-bottom.nav-v1 .bottom-svg-border polygon {
638      fill: #000;
639    }
640    .navbar-fixed-bottom.nav-v1 .bottom-list-item a {
641        color: #fff;
642    }
643    .navbar-fixed-bottom.nav-v1 .bottom-list-item a:hover,
644    .navbar-fixed-bottom.nav-v1 .bottom-list-item a:focus {
645        color: #C2C2C2;
646    }
647</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="bottom-list-item "><a class="bottom-link " href="https://order.toasttab.com/online/steamers-sports-pub-1513-pierson-dr-charlotte-nc-28205" id="bottom_link_4" target="_self">
648                        Order                    </a></li><li class="bottom-list-item "><a class="bottom-link " href="https://tmt.spotapps.co/private-parties?spot_id=55043&callback_url=http://steamerssportspub.com/-events" id="bottom_link_5" target="_self">
649                        Parties                    </a></li><li class="bottom-list-item "><a class="bottom-link " href="https://tmt.spotapps.co/job-listings?spot_id=55043&callback_url=http://steamerssportspub.com/-events" id="bottom_link_7" target="_self">
650                        Jobs                    </a></li></ul></div></nav>
650<script src="https://static.spotapps.co/web/steamerssportspub--com/lib/jquery/jquery.min.js"></script>
650<script src="https://static.spotapps.co/web/steamerssportspub--com/lib/bootstrap/js/bootstrap.min.js"></script>
650<script type="text/javascript">
651
652
653	$("#bottom_link_4").on("click", function(){
654		if (ga_check())
655			universal_ga('send', 'event', 'Button', 'Click', 'Order Online');
656	});
657	$("#bottom_link_5").on("click", function(){
658		if (ga_check())
659			universal_ga('send', 'event', 'Button', 'Click', 'Private Party');
660	});
661	$("#bottom_link_7").on("click", function(){
662		if (ga_check())
663			universal_ga('send', 'event', 'Button', 'Click', 'Jobs');
664	});
665  $('.header-logo, .nav-v2-home-btn').click(function(event) {
666    if ( window.location.pathname == '/' || window.location.pathname == '/index.php') {
667      event.preventDefault();
668      var windowScrollTop = $(window).scrollTop();
669      if(windowScrollTop > 150) {
670        $('html, body').animate({scrollTop: 0}, 750);
671      }
672    }
673  });
674
675$(".banner-section a.banner-pin").click(function(e) {
676    // target element id
677    var id = $(this).attr('href');
678
679    // target element
680    var section = $(id);
681    if (section.length === 0) {
682        return;
683    }
684
685    // prevent standard hash navigation (avoid blinking in IE)
686    e.preventDefault();
687
688    // top position relative to the document
689    var pos = section.offset().top - 100 + 10;
690
691    // animated top scrolling
692    $('body, html').animate({scrollTop: pos}, 750);
693});
694
695$(document).on('scroll', function (e) {
696    if($(document).scrollTop() > 0) {
697      $('.navbar.nav-v7').addClass('nav-scroll');
698    }else {
699      $('.navbar.nav-v7').removeClass('nav-scroll');
700    }
701});
702
703$(function() {
704  setDropDownMenuWidth();
705
706  function setDropDownMenuWidth() {
707    var tabs_list = $('.navbar-tabs .navbar-nav');
708
709    $(tabs_list).find('li.drop-down-link').each(function() {
710      var sub_menu_width = $(this).outerWidth(true);
711      if (sub_menu_width < 100) {
712        sub_menu_width = 100;
713      }
714      $(this).find('.sub-menu').css('width', sub_menu_width+'px');
715    });
716  }
717
718  $( window ).resize(function() {
719    setDropDownMenuWidth();
720  });
721
722});
723
724
725
726$( '.drop-down-link .drop-down' ).click(function(event) {
727  event.preventDefault();
728  event.stopPropagation();
729
730  var drop_down = $(this).closest('.drop-down-link');
731  var sub_menu = $(this).closest('.drop-down-link').find( '.sub-menu' );
732
733  if ( $(sub_menu).is( ':hidden' ) ) {
734    $(sub_menu).slideDown();
735    $(drop_down).addClass('active');
736  } else {
737    $(sub_menu).slideUp();
738    $(drop_down).removeClass('active');
739  }
740});
741
742$(".nav-v7 .navbar-contact .nav-address a").click(function(e) {
743
744  if ( window.location.pathname == '/' || window.location.pathname == '/index.php') {
745    // target element id
746    var id = $(this).attr('href').substr(1);
747
748    // target element
749    var section = $(id);
750    if (section.length === 0) {
751        return;
752    }
753
754    // prevent standard hash navigation (avoid blinking in IE)
755    e.preventDefault();
756
757    // top position relative to the document
758    var pos = section.offset().top - 100 + 10;
759
760    // animated top scrolling
761    $('body, html').animate({scrollTop: pos}, 750);
762
763  }
764});
765    setTimeout(function(){
766        $('.navbar-fixed-bottom.nav-v1').addClass('show-bottom-nav'); triggerShowFooterEvents();
767    }, 4000);
768$(document).ready(function(){
769
770  var waitAddToCalendarWidget = setInterval(function(){
771    if ($('.atcb-link').length) {
772      $('.atcb-link').prop('tabIndex', 0);
773      clearInterval(waitAddToCalendarWidget);
774    }
775  }, 300);
776
777});
778
779</script>
779<script>
780(function() {
781  var name = "Steamer's Sports Pub";
782  var pid = "ChIJZxNCJM0hVIgRt6bYX-4IgME";
783  function build_url() {
784    var q = encodeURIComponent(name).replace(/'/g, "%27");
785    return "https://www.google.com/maps/search/?api=1"
786         + "&query=" + q
787         + "&query_place_id=" + encodeURIComponent(pid);
788  }
789  window.google_map_url = build_url();
790  window.open_google_map = function() {
791    window.open(build_url(), "_blank");
792  };
793})();
794</script>
794<script>
795
796  var spot_id = 55043;
797  var sh_generic_form_params=JSON.parse('{"generic_contact_form_active":true,"texting_permissions_active":true,"title":"Contact us","instructions":"Please fill out the form and we will be in touch.","reasons":["To host a special event","To get a special event catered","To reserve a table","To apply for a job","Other Questions"],"custom_hours":"","hours":"","active_tmt_cta_links":{"cta_private_party":"https://tmt.spotapps.co/private-parties?spot_id=55043","cta_catering":null,"cta_reservations":null,"cta_jobs":"https://tmt.spotapps.co/job-listings?spot_id=55043"},"label_for_texting_permission":"I’d like to get texts about specials, events, and other exclusive offers and announcements not available to general public"}');
798
799  if (false){
800    console.log("Check SpotHopper configuration. Probably there is no 'WEBSITE::DOMAIN_NAME' key for your website");
801  }
802
803  if (navigator.userAgent.match(/iPhone/i)
804       || navigator.userAgent.match(/iPad/i)
805       || navigator.userAgent.match(/iPod/i)){
806      $(document).ready(function(){
807            document.body.className += " " + "webkit-mobile-body";
808      });
809    }
810
811  var promotion_url_param_domain = getPromotionUrlParams()['domain'];
812  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')){
813    $("a[href^='/']").each(function(){
814      if (this.href.indexOf('domain=') == -1){
815        var sh_internal_url = new URL(this.href);
816        sh_internal_url.searchParams.set("domain", promotion_url_param_domain);
817        this.href = sh_internal_url.toString();
818      }
819    })
820  }
821
822
823  function cta_link_matches_href(href, url){
824    var domain = 'steamerssportspub.com';
825    if(typeof url === 'undefined'){
826      return false;
827    }
828    var partsOfURL = url.split(domain);
829    if (partsOfURL.length != 2){
830      return href == url;
831    }else{
832      var urlPath = partsOfURL[1];
833      if (urlPath.substring(0,1) == "/"){
834        urlPath = urlPath.substring(1,urlPath.length);
835      }
836      return href.indexOf(urlPath, domain.length + href.indexOf(domain)-1) !== -1;
837    }
838  }
839
840  var all_cta_links = [{"id":803588,"spot_id":55043,"url":"https://steamerssportspub.com/-events","cta_link_type":"events","created_at":"2023-09-25T12:32:26+00:00","updated_at":"2023-09-25T12:47:25+00:00","made_of_food":false,"link_name":""},{"id":803590,"spot_id":55043,"url":"https://steamerssportspub.com/-food-menu","cta_link_type":"food_menu","created_at":"2023-09-25T12:32:26+00:00","updated_at":"2023-09-25T12:47:25+00:00","made_of_food":false,"link_name":"","position":null},{"id":803587,"spot_id":55043,"url":"https://steamerssportspub.com/-specials","cta_link_type":"specials","created_at":"2023-09-25T12:32:26+00:00","updated_at":"2023-09-25T12:47:25+00:00","made_of_food":false,"link_name":"","position":null},{"id":803589,"spot_id":55043,"url":"https://steamerssportspub.com/-drink-menu","cta_link_type":"drink_menu","created_at":"2023-09-25T12:32:26+00:00","updated_at":"2023-09-25T12:47:25+00:00","made_of_food":false,"link_name":"","position":null},{"id":784117,"spot_id":55043,"url":"https://tmt.spotapps.co/job-listings?spot_id=55043","cta_link_type":"job_listing","created_at":"2023-08-14T20:23:39+00:00","updated_at":"2023-09-25T12:47:25+00:00","made_of_food":false,"link_name":"Job Listing","target":null,"website_footer_label":"Jobs","position":2},{"id":777322,"spot_id":55043,"url":"https://order.toasttab.com/online/steamers-sports-pub-1513-pierson-dr-charlotte-nc-28205","cta_link_type":"order","created_at":"2023-08-02T21:24:12+00:00","updated_at":"2023-09-25T12:47:25+00:00","made_of_food":false,"link_name":"Order","target":null,"website_footer_label":"Order","position":0},{"id":784116,"spot_id":55043,"url":"https://tmt.spotapps.co/private-parties?spot_id=55043","cta_link_type":"private_parties","created_at":"2023-08-14T20:17:22+00:00","updated_at":"2023-09-25T12:47:25+00:00","made_of_food":false,"link_name":"Private Parties","target":null,"website_footer_label":"Parties","position":3},{"id":809480,"spot_id":55043,"url":"https://tmt.spotapps.co/reservations?spot_id=55043","cta_link_type":"reservations","created_at":"2023-10-04T20:05:53+00:00","updated_at":null,"made_of_food":false,"link_name":"Reservations","target":null,"website_footer_label":"Reserve","position":1}];
841
842  function find_cta_link(href) {
843    for (var i=0; i< all_cta_links.length; i++){
844      var cta_link = all_cta_links[i];
845      if ( cta_link_matches_href(href, cta_link.url)){
846        return cta_link;
847      }
848    }
849  }
850
851  function find_cta_links(href) {
852    var cta_links = []
853    for (var i=0; i< all_cta_links.length; i++){
854      var cta_link = all_cta_links[i];
855      if ( cta_link_matches_href(href, cta_link.url)){
856        cta_links.push(cta_link);
857      }
858    }
859    return cta_links;
860  }
861
862
863  function get_current_page_cta_link_types(){
864    var types = [];
865    var cta_links = find_cta_links(document.location.href);
866    for (var i=0; i<cta_links.length; i++){
867      types.push(cta_links[i].cta_link_type);
868    }
869    return types;
870  }
871
872
873  function is_food_menu_page(){
874    var cta_link_types = get_current_page_cta_link_types();
875    for (var i=0; i<cta_link_types.length; i++){
876      if ('food_menu' == cta_link_types[i])
877        return true;
878    }
879    return false;
880  }
881
882
883  function get_form_cat_from_cta(){
884    var cta_link = find_cta_link(document.location.href);
885    if (cta_link == null) {
886        return null;
887    }
888    if (cta_link.cta_link_type == 'private_parties'){
889        return 'private_party';
890    }else if (cta_link.cta_link_type == 'reservations'){
891        return 'reservation';
892    }else if (cta_link.cta_link_type == 'catering'){
893        return 'catering';
894    }else if (cta_link.cta_link_type == 'job_listing'){
895        return 'job_listings';
896    }else if (cta_link.cta_link_type == 'gift_cards'){
897          return 'gift_cards';
898    }
899    return null;
900  }
901
902  function element_has_events_defined(elem){
903    if ($._data(elem, "events") === undefined){
904      return false;
905    }
906    return true;
907  }
908
909  function create_ga_events_for_cta_clicks(){
910    if (typeof $ === 'function'){
911
912      var cta_link_of_the_page = find_cta_link(location.href);
913
914
915      $("a").each(function(index, elem){
916        var href = $(elem).attr('href');
917
918        if (href  === undefined ){
919           return;
920        }
921
922        if (href.substring(0,4) == 'tel:'){
923          if (!element_has_events_defined(elem)){  // not footer links
924            $(elem).on("click", function(){
925                universal_ga('send', 'event', {
926                  eventCategory: 'Button',
927                  eventAction: 'Click',
928                  eventLabel: 'Phone',
929                  transport: 'beacon'
930                });
931             });
932
933             if (cta_link_of_the_page){
934                $(elem).on("click", function(){
935                    universal_ga('send', 'event', {
936                      eventCategory: 'Button',
937                      eventAction: 'Click',
938                      eventLabel: cta_link_of_the_page.cta_link_type +  ' page phone',
939                      transport: 'beacon'
940                    });
941                 });
942             }
943          } else {
944             if (cta_link_of_the_page){
945               $(elem).on("click", function(){
946                   universal_ga('send', 'event', {
947                        eventCategory: 'Button',
948                        eventAction: 'Click',
949                        eventLabel: cta_link_of_the_page.cta_link_type +  ' page phone footer',
950                        transport: 'beacon'
951                   });
952               });
953             }
954          }
955
956
957        }else{
958          var cta_link = find_cta_link(href);
959          if (elem.className != null && elem.className.indexOf("bottom-link") > -1){
960            // console.log("bottom link detected");
961          }else{
962            if (cta_link != null){
963              $(elem).on("click", function(){
964                universal_ga('send', 'event', {
965                        eventCategory: 'Website Link',
966                        eventAction: 'Click',
967                        eventLabel: cta_link.cta_link_type,
968                        transport: 'beacon'
969                  });
970              });
971            }
972          }
973        }
974
975
976      });
977    }
978  }
979
980  if (typeof angular === "undefined") {
981    create_ga_events_for_cta_clicks();
982  } else {
983    angular.element(document).ready(function () {
984      create_ga_events_for_cta_clicks();
985    });
986  }
987
988
989  function triggerShowFooterEvents(){
990    if (window.screen.availWidth < 768){
991        universal_ga('send', 'event', {
992                eventCategory: 'Mobile Footer',
993                eventAction: 'View',
994                eventLabel: '',
995                transport: 'beacon'
996          });
997    }
998  }
999
1000
1001
1002
1003  ////////////
1004  function smartFooterV2()
1005  {
1006    var list= document.getElementsByClassName("bottom-list-item");
1007    if (!list) return;
1008
1009    if (document.getElementById("bottom-navbar") == null){
1010      return;
1011    }
1012
1013    var bottomNav = document.querySelector('#bottom-navbar .navbar-nav');
1014    var footerLinkPaddingLeft = $('#bottom-navbar .navbar-nav li a').css('padding-left');
1015    var footerLinkPaddingRight = $('#bottom-navbar .navbar-nav li a').css('padding-right');
1016
1017    bottomNav.innerHTML = '';
1018    var linksWithPosition = all_cta_links.filter(e => e.position != null && e.position >= 0);
1019    linksWithPosition.sort(function(a,b) {
1020      return a.position - b.position;
1021    });
1022
1023    var footerLinkStyle = (footerLinkPaddingLeft == '0px' || footerLinkPaddingRight == '0px' ? 'style="padding-left: 8px; padding-right: 8px;"' : '');
1024
1025    linksWithPosition.forEach((e, i) => {
1026        var target = e.target || getUrlTarget(e.url);
1027        bottomNav.insertAdjacentHTML('beforeend',
1028        `<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>`);
1029    })
1030
1031    var intervalCount = 0
1032    var interval = setInterval(() => {
1033      if(intervalCount == 50){
1034        clearInterval(interval);
1035      }
1036      removeOverflowingFooterLinks();
1037      intervalCount ++;
1038    }, 200);
1039
1040    $('.smart-footer-link').on("click", function(){
1041          if (typeof shUrlParams !== "undefined" && shUrlParams['source'] === undefined){
1042                    shUrlParams['source'] = 'footer';
1043                    sessionStorage.setItem('shUrlParams', JSON.stringify(shUrlParams));
1044          }
1045
1046          var visibleLinks = $('.smart-footer-link').map(function (e) {
1047              return $(this).data('type');
1048          }).toArray().join(',');
1049
1050          universal_ga('send', 'event', {
1051                  eventCategory: 'Button',
1052                  eventAction: 'Click_footer_2',
1053                  eventLabel: "type:" + $(this).data('type') + "|position:" + $(this).data('position') + "|visible:" + visibleLinks,
1054                  transport: 'beacon'
1055            });
1056    });
1057  }
1058
1059  function removeOverflowingFooterLinks(){
1060    var bottomNavLinks = document.querySelectorAll('#bottom-navbar .navbar-nav li');
1061    var width_sum = 0;
1062
1063    bottomNavLinks.forEach(e => {
1064      width_sum += e.getBoundingClientRect().width;
1065      if ((width_sum) > window.innerWidth) {
1066        console.log(`%cLink %c${e.textContent} %cdeleted couldn't fit screen`,"color: #fff;background: #202124;", "background: red;color: #fff", "color: #fff;background: #202124;");
1067        e.remove();
1068      }
1069    });
1070  }
1071
1072  function getUrlTarget(url){
1073    if(url.startsWith('tel')){
1074      return '_self';
1075    }
1076    if(url.startsWith('/') || url.includes('tmt.spotapps.co') || url.includes(window.location.host)){
1077      return '_self';
1078    }
1079    return '_blank';
1080  }
1081
1082  function npb()
1083    {
1084    	var list= document.getElementsByClassName("bottom-list-item");
1085    	if (!list) return;
1086
1087      if (document.getElementById("bottom-navbar") == null){
1088        return;
1089      }
1090
1091      var url = ""
1092    	for (var i=0; i < all_cta_links.length; i++)
1093    	{
1094    		if (all_cta_links[i].cta_link_type == "order"){
1095          url = all_cta_links[i].url;
1096        }
1097    	}
1098
1099    	if ( url == ""){
1100        return;
1101      }
1102
1103    	for (i=0; i < list.length; i++)
1104    	{
1105    		console.log(cta_link_matches_href(list[i].firstChild.href, url));
1106    		if (cta_link_matches_href(list[i].firstChild.href,url))  return;
1107
1108    	};
1109
1110    	var item = list[list.length-1]
1111    	document.getElementById("bottom-navbar").getElementsByClassName("nav navbar-nav")[0].appendChild(item.cloneNode(true));
1112    	var width_sum = 0;
1113    	for (i=0; i < list.length; i++) {
1114    		width_sum += list[i].getBoundingClientRect().width;
1115    	}
1116
1117    	var item = list[list.length-1]
1118    	if ((width_sum - 10) > window.innerWidth) { item.parentNode.removeChild(item); console.log("link deleted couldn't fit screen"); return; }
1119
1120    	item.firstChild.text = "Order";
1121    	item.firstChild.href = url;
1122    	item.firstChild.id = "bottom_link_" + list.length;
1123
1124      $(item.firstChild).on("click", function(){
1125
1126          if (typeof shUrlParams !== "undefined" && shUrlParams['source'] === undefined){
1127                    shUrlParams['source'] = 'footer';
1128                    sessionStorage.setItem('shUrlParams', JSON.stringify(shUrlParams));
1129                  }
1130
1131          universal_ga('send', 'event', {
1132                  eventCategory: 'Button',
1133                  eventAction: 'Click',
1134                  eventLabel: 'Plan B-2 Order',
1135                  transport: 'beacon'
1136            });
1137      });
1138
1139
1140    }
1141
1142function activateSmartFooter(){
1143    var smart_footer_active = true;
1144    var smart_footer_version = 2;
1145    var man_bottom_active = false;
1146    if(window.location.hash == '#smartFooterV2=enabled'){
1147      smartFooterV2();
1148      return;
1149    }
1150    if (smart_footer_active && !man_bottom_active){
1151      if(smart_footer_version == 2 ){
1152          smartFooterV2();
1153       }else {
1154          npb();
1155       }
1156    }
1157  }
1158
1159  activateSmartFooter();
1160
1161  var corona_config_str = '';
1162  var corona_config =  corona_config_str != '' ?  JSON.parse('') : null;
1163
1164
1165  //corona instuctions
1166  function show_corona_instructions(text, phone, btnText){
1167    //format to US number
1168    var match = phone.match(/^(\d{3})(\d{3})(\d{4})$/);
1169
1170    if(corona_config.shopping_cart_type == "TMT" && corona_config.shopping_cart_active == true) {
1171        var linkLocation = "https://tmt.spotapps.co/ordering-menu/?spot_id="+corona_config.spot_id+"&images=yes&accordion=true";
1172        var btnLinkLocation = "https://tmt.spotapps.co/ordering-menu/?spot_id="+corona_config.spot_id+"&images=yes&accordion=true";
1173    }else {
1174        var linkLocation = 'tel:+1'+phone+'';
1175        var btnLinkLocation = 'tel:+1'+ match[1] + '-' + match[2] + '-' + match[3] +''
1176    }
1177    var appendPhone = 'tel:+1'+phone+'';
1178    //inject html content
1179    if ($('.food-menu-nav').length) {
1180      //new template
1181      var pageEl =  $('.food-menu-nav').css('margin','20px auto 10px auto');
1182      var textColor = rgb2hex($('.section-header').css('color'));
1183      var linkColor = rgb2hex($('.food-menu-nav-item.active').css('background-color'));
1184      var fontSize = parseInt($('.food-menu-nav-item').css('font-size'));
1185      fontSize = fontSize + Math.round(fontSize  * 0.25);
1186
1187      // 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>';
1188      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>';
1189
1190    }else {
1191      //old template
1192      var pageEl = $('.tabnav');
1193      var textColor = rgb2hex($('.menu-item-name-traditional').css('color'));
1194      var linkColor = rgb2hex($('.style-traditional .tabnav .nav>li.active>a').css('color'));
1195
1196      var linkTextColor = getContrast50(linkColor);
1197      var fontSize = parseInt($('.menu-item-name-traditional').css('font-size'));
1198      fontSize = fontSize + Math.round(fontSize  * 0.25);
1199      var textTransform = $('.style-traditional .tabnav .nav>li>a').css('text-transform');
1200
1201      // 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>';
1202      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>';
1203
1204    }
1205     //html content
1206    pageEl.prepend(html);
1207  }
1208
1209  function rgb2hex(rgb) {
1210    if(typeof rgb !== "undefined"){
1211      rgbColor = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
1212      if (!rgbColor) {
1213        rgba = rgb.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(,\s*\d+\.*\d+)?\)$/);
1214        return "#" + hex(rgba[1]) + hex(rgba[2]) + hex(rgba[3]);
1215      }
1216      function hex(x) {
1217          return ("0" + parseInt(x).toString(16)).slice(-2);
1218      }
1219      return "#" + hex(rgbColor[1]) + hex(rgbColor[2]) + hex(rgbColor[3]);
1220    }
1221    return rgb;
1222  }
1223
1224  function getContrast50(hexcolor){
1225    return (parseInt(hexcolor, 16) > 0xffffff/2) ? '#000':'#fff';
1226  }
1227
1228  function show_corona_sidebar_instructions(text, phone){
1229    //format to US number
1230    var match = phone.match(/^(\d{3})(\d{3})(\d{4})$/);
1231    var divWidth = 230;
1232    var top = 50;
1233    var linkSize = '1.6em';
1234    var pSize = $('p').css('font-size');
1235    var appendPhone = 'tel:+1'+phone+'';
1236
1237    if ($(window).width() < 1600)
1238      var top = 30;
1239    if ($(window).width() < 1200){
1240      var divWidth = 180;
1241      var linkSize = '1.4em';
1242      var pSize ='1.1em';
1243    }
1244
1245    if($('.food-menu-nav').length){ //new template
1246      var textColor = $('.food-menu-nav-item.active').css('color');
1247      var linkColor = $('.food-menu-nav-item.active').css('background-color');
1248
1249      var linkTextColor = $('.food-menu-nav-item.active').css('color');
1250      var parent = $('.food-menu-page');
1251    }
1252    else { //old template
1253      var textColor = $('.menu-item-name-traditional').css('color');
1254      var linkColor = $('.style-traditional .tabnav .nav>li.active>a').css('color');
1255      var parent = $('.food-menu').length ? $('.food-menu') : $('.drink-menu');
1256      var linkTextColor = getContrast50(linkColor);
1257    }
1258
1259    // $(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>');
1260    $(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>');
1261
1262    //check if resolution is bigger than tablet resolution
1263/*  if ($(window).width() > 991) {
1264      //detect scroll
1265      window.onscroll = function (e) {
1266      if ($(window).scrollTop() == 0) {
1267          $('#corona-instructions-sidebar').hide();
1268        }else {
1269          $('#corona-instructions-sidebar').show();
1270        }
1271      }
1272    } */
1273  }
1274
1275  function check_corona_config(config){
1276    console.log(config)
1277    if (config) {
1278      if (config.instructions_on_food_page && config.food_page_instruction_text && config.food_page_instruction_phone) {
1279        if (!config.promote_deliveries && config.promote_pick_up) {
1280          var btnText = 'Call For Pick Up';
1281        }
1282        if (config.promote_deliveries && !config.promote_pick_up) {
1283          var btnText = 'Call For Delivery';
1284        }
1285        if (config.promote_deliveries && config.promote_pick_up) {
1286          var btnText = 'Call For Pick Up Or Delivery';
1287        }
1288
1289        if(typeof btnText !== "undefined"){ // check if pick up or delivery are true
1290          if(config.shopping_cart_type == "TMT" && config.shopping_cart_active == true) {
1291                var btnText = 'ORDER NOW';
1292                    if($('.food-menu-nav').length){ //new template
1293                      var textColor = rgb2hex($('.section-header').css('color'));
1294                      var linkColor = rgb2hex($('.food-menu-nav-item.active').css('background-color'));
1295                      var fontSize = parseInt($('.food-menu-nav-item').css('font-size'));
1296                      fontSize = fontSize + Math.round(fontSize  * 0.25);
1297                    }
1298                    else { //old template
1299                        var textColor = rgb2hex($('.menu-item-name-traditional').css('color'));
1300                        var linkColor = rgb2hex($('.style-traditional .tabnav .nav>
1300li.active>a').css('color'));
1301
1302                        var linkTextColor = getContrast50(linkColor);
1303                        var fontSize = parseInt($('.menu-item-name-traditional').css('font-size'));
1304                        fontSize = fontSize + Math.round(fontSize  * 0.25);
1305                    }
1306                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);
1307                show_corona_sidebar_instructions(btnText, config.food_page_instruction_phone);
1308            } else {
1309                show_corona_instructions(config.food_page_instruction_text, config.food_page_instruction_phone, btnText);
1310                show_corona_sidebar_instructions(btnText, config.food_page_instruction_phone);
1311            }
1312
1313        }
1314      }
1315    }
1316  }
1317
1318
1319  if (is_food_menu_page() && !window.location.search.includes("contactless=true")){
1320    $( document ).ready(function() {
1321       setTimeout(function(){
1322        check_corona_config(corona_config);
1323       }, 300);
1324    });
1325  }
1326
1327
1328
1329  function isPhone(phone){
1330      var regex = /^(\+\d{1,2}\s?)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$/;
1331      return regex.test(phone);
1332  }
1333
1334  function sendEmail_MT (input_id) {
1335    const $loader = $("[data-id=newsletter-widget-2] .sph-loading-img");
1336
1337    const $step = {
1338      form: $("[data-id=newsletter-widget-2] .sph-email-form"),
1339      message: $("[data-id=newsletter-widget-2] .sph-response-message"),
1340    }
1341
1342    const $field = {
1343      email: $("[data-id=newsletter-widget-2] #sph-newsletter-input-" + input_id),
1344      phone: $("[data-id=newsletter-widget-2] #sph-newsletter-phone-" + input_id),
1345      consent: $("[data-id=newsletter-widget-2] #sph-newsletter-checkbox-phone-" + input_id),
1346    };
1347
1348    const $error = {
1349      email: $("[data-id=newsletter-widget-2] #sph-newsletter-email-error-" + input_id),
1350      phone: $("[data-id=newsletter-widget-2] #sph-newsletter-phone-error-" + input_id),
1351    };
1352
1353    if ($field.email.val().trim() === "") {
1354        $error.email
1355          .html("This field is required")
1356          .show();
1357    }
1358    else if (!isEmail($field.email.val().trim())) {
1359      $error.email
1360        .html("Please use the format “[email protected]”")
1361        .show();
1362    } else {
1363      $error.email
1364        .html("")
1365        .hide();
1366    }
1367
1368    if ($field.consent.is(':checked') && $field.phone.val().trim() === "") {
1369      $error.phone
1370        .html("This field is required")
1371        .show();
1372    } else if ($field.phone.val().trim().length > 0 && !isPhone($field.phone.val().trim())) {
1373      $error.phone
1374        .html("The phone number must contain 10 digits")
1375        .show();
1376    } else {
1377      $error.phone
1378        .html("")
1379        .hide();
1380    }
1381
1382    const errorField = $step.form.find('.sh-form-error:visible');
1383
1384    if (errorField.length > 0) {
1385      const input = errorField.first().next();
1386
1387      document.activeElement.blur();
1388
1389      setTimeout(() => {
1390        input.focus();
1391      }, 160)
1392
1393      return;
1394    }
1395
1396    $loader
1397      .show()
1398      .prev()
1399      .hide();
1400
1401    $.ajax({
1402      method: "POST",
1403      url: "https://www.spothopperapp.com/api/spots/55043/contacts/add_with_texting_permission",
1404      crossDomain: true,
1405      dataType: 'json',
1406      data: {
1407        email: $field.email.val().trim(),
1408        phone: $field.phone.val().trim(),
1409        texting_permission: $field.consent.is(':checked'),
1410      },
1411      success: function (data) {
1412        afterRequestSubmission(data);
1413      },
1414      error: function () {
1415        afterRequestSubmission("Something went wrong. Please try again later.");
1416      }
1417    });
1418
1419    function afterRequestSubmission (data) {
1420      $step.form.hide();
1421
1422      $step.message
1423        .html(data)
1424        .show()
1425        .trigger('focus');
1426    }
1427  }
1428</script>
1428<script>function addPromotionParamsToTMTLinks()
1429{
1430    if (sessionStorage.getItem('shUrlParams')) {
1431        let shParams = JSON.parse(sessionStorage.getItem('shUrlParams'));
1432        if (!Object.keys(shParams).length)
1433            return;
1434        if(!shParams.source)
1435            return;
1436        $('a').each(function () {
1437            if (this.href.includes('tmt.spotapps.co')) {
1438                if(this.href.includes('&source=') || this.href.includes('&destination=') || this.href.includes('&promotion='))
1439                    return;
1440
1441                this.href = this.href + '&source=' + shParams.source;
1442                if(shParams.destination)
1443                    this.href = this.href + '&destination=' + shParams.destination;
1444                if(shParams.promotion)
1445                    this.href = this.href + '&promotion=' + shParams.promotion;
1446                if(shParams.fb_post_id)
1447                    this.href = this.href + '&fb_post_id=' + shParams.fb_post_id;
1448                if(shParams.email_post_id)
1449                    this.href = this.href + '&email_post_id=' + shParams.email_post_id;
1450            }
1451        })
1452    }
1453}
1454setTimeout(function() {
1455  addPromotionParamsToTMTLinks();
1456  addFooterToSourceParam();
1457},600)
1458
1459function addFooterToSourceParam()
1460{
1461    $('.bottom-link').each(function (){
1462        if(shouldAddSourceParam(this.href))
1463          this.href = this.href + '&source=footer';
1464    })
1465    $('#sh-multiple-links-content-holder a').each(function (){
1466       if(shouldAddSourceParam(this.href))
1467          this.href = this.href + '&source=footer';
1468    })
1469}
1470function shouldAddSourceParam(link){
1471  if (link.includes('tmt.spotapps.co') && !link.includes('&source=')){
1472    return true;
1473  }
1474  return false;
1475}
1476</script>
1476<script>
1477;(async () => {
1478if (typeof window.focusTrap === 'undefined') {
1479    await getScript('https://unpkg.com/tabbable/dist/index.umd.js');
1480    await getScript('https://unpkg.com/focus-trap/dist/focus-trap.umd.js');
1481}
1482
1483document.querySelectorAll('.modal').forEach((element) => {
1484    const trap = window.focusTrap?.createFocusTrap(element, {
1485        allowOutsideClick: true,
1486    });
1487
1488    $(element).on('shown.bs.modal', () => {
1489	    trap?.activate();
1490	});
1491
1492	$(element).on('hidden.bs.modal', () => {
1493        trap?.deactivate();
1494    });
1495});
1496
1497async function getScript (source) {
1498    return new Promise((resolve, reject) => {
1499        const script = document.createElement('script');
1500        script.src = source;
1501        script.async = true;
1502
1503        script.onload = resolve;
1504        script.onerror = reject;
1505
1506        document.head.appendChild(script);
1507    });
1508}
1509})();
1510</script>
1510<script src="https://wcache-plugins.spotapps.co/production/wcpl_bootstrap_ada_fix/wcpl_bootstrap_ada_fix.js"></script>
1510<link href="https://wcache-plugins.spotapps.co/production/wcpl_bday_club/wcpl_bday_club.css" rel="stylesheet" media="screen"/>
1510<script src="https://wcache-plugins.spotapps.co/production/wcpl_bday_club/wcpl_bday_club.js"></script>
1510<script src="https://wcache-plugins.spotapps.co/production/wcpl_ga_tracking/wcpl_ga_tracking.js"></script>
1510<script src="https://wcache-plugins.spotapps.co/production/wcpl_media_controls/script.js"></script>
1510<link href="https://wcache-plugins.spotapps.co/production/wcpl_website_editor_interpreter/website_interpreter_helper_style.css" rel="stylesheet" media="screen"/>
1510<script>var changes_log_array = {};</script>
1510<script src="https://wcache-plugins.spotapps.co/production/wcpl_website_editor_interpreter/website_interpreter.js"></script>
1510</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.