PageSourceSearch

https://ocallaghanspub.com/accessibility-page-01

html ocallaghanspub.com collected 2026-09-30 14:17:38 UTC 68,819 bytes, 1,509 lines download raw bytes

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