PageSourceSearch

https://mill77brewing.com/-events?source=header&spot_id=120066&destination=events&promotion=nfl_season

html mill77brewing.com collected 2026-09-30 15:59:17 UTC 85,703 bytes, 1,530 lines download raw bytes

1<!DOCTYPE html>
2�<html lang="en"><head><!-- 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-7X3ZHWPQKB');
8    gtag('config', 'G-VG24VK2VKT');
9  </script>
9<!-- wcache 2026-09-30 14:50:04.912893Z --><!--
10smart_footer: true,
11smart_footer_version: 2,
12scripting_active: false
13--><link href="https://mill77brewing.com/amesbury-downtown-mill-77-brewing-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="Mill 77 Brewing - Events" property="og:title"/><meta content="website" property="og:type"/><meta content="http://mill77brewing.com/amesbury-downtown-mill-77-brewing-events" property="og:url"/><meta content="Mill 77 Brewing began as a group of friends with a passion for craft beer and has grown into a company that wants to share that same passion and love with the community. Located in historic ..." property="og:description"/><meta content="https://static.spotapps.co/website_images/ab_websites/120066_website/parties_right.jpg" property="og:image"/><meta content="Mill 77 interior, tables ready for guests." property="og:image:alt"/><meta content="image/png" property="og:image:type"/><meta content="111124868145070" property="fb:app_id"/><meta content="summary_large_image" name="twitter:card"/><meta content="Mill 77 Brewing - Events" name="twitter:title"/><meta content="Mill 77 Brewing began as a group of friends with a passion for craft beer and has grown into a company that wants to share that same passion and love with the community. Located in historic ..." name="twitter:description"/><meta content="https://static.spotapps.co/website_images/ab_websites/120066_website/parties_right.jpg" name="twitter:image"/><title>Mill 77 Brewing - 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/120066_website/favicons/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180"/><link href="https://static.spotapps.co/website_images/ab_websites/120066_website/favicons/favicon-32x32.png" rel="icon" sizes="32x32" type="image/png"/><link href="https://static.spotapps.co/website_images/ab_websites/120066_website/favicons/favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"/><link href="https://static.spotapps.co/website_images/ab_websites/120066_website/favicons/site.webmanifest" rel="manifest"/><link color="#5bbad5" href="https://static.spotapps.co/website_images/ab_websites/120066_website/favicons/safari-pinned-tab.svg" rel="mask-icon"/><link href="https://static.spotapps.co/website_images/ab_websites/120066_website/favicons/favicon.ico" rel="shortcut icon"/><meta content="#da532c" name="msapplication-TileColor"/><meta content="https://static.spotapps.co/website_images/ab_websites/120066_website/favicons/browserconfig.xml" name="msapplication-config"/><meta content="#ffffff" name="theme-color"/><link href="https://static.spotapps.co/web/mill77brewing--com/lib/bootstrap/css/bootstrap.min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/mill77brewing--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/mill77brewing--com/lib/font-awesome-4.7.0/css/font-awesome.min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/mill77brewing--com/lib/hover_css/css/hover-min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/mill77brewing--com/lib/owlcarousel/owl.carousel.min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/mill77brewing--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/mill77brewing--com/css/style.css?version2" rel="stylesheet"/><link href="https://static.spotapps.co/web/mill77brewing--com/css/bottom_navigation_v1.css?v1785742213" rel="stylesheet"/><link href="css/custom.css?v1785742213&domain=mill77brewing.com" rel="stylesheet"/><link href="https://static.spotapps.co/web/mill77brewing--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        .events-background {
31            background: url(https://static.spotapps.co/website_images/ab_websites/120066_website/events_pbg.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/120066_website/events_pbg.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: 70px;
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: 70px;
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: #FFFEF0;
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: #FFFEF0;
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: #FFFEF0;
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: #FFFEF0;
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: #FFFEF0;
251  color: #0A3254;
252  }
253.nav-scroll li.drop-down-link .sub-menu {
254  background-color: #FFFEF0;
255  color: #0A3254;
256}
257.drink-menu li.drop-down-link .sub-menu {
258  background-color: #FFFEF0;
259  color: #0A3254;
260}
261.drink-menu .nav-scroll li.drop-down-link .sub-menu {
262  background-color: #FFFEF0;
263  color: #0A3254;
264}
265li.drop-down-link .sub-menu a,
266li.drop-down-link div.drop-down {
267  color: #0A3254;
268}
269.nav-scroll li.drop-down-link .sub-menu a,
270.nav-scroll li.drop-down-link div.drop-down {
271  color: #0A3254;
272}
273.drink-menu li.drop-down-link .sub-menu a,
274.drink-menu li.drop-down-link div.drop-down {
275  color: #0A3254;
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: #0A3254;
280}
281
282.navbar.nav-v6 .navbar-logo {
283  background-color: #FFFEF0;
284}
285.navbar.nav-v6.nav-scroll .navbar-logo {
286  background-color: #FFFEF0;
287}
288.drink-menu .navbar.nav-v6 .navbar-logo {
289  background-color: #FFFEF0;
290}
291.drink-menu .navbar.nav-v6.nav-scroll .navbar-logo {
292  background-color: #FFFEF0;
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 #0A3254;
302  background-color: transparent;
303  color: #417B5A;
304}
305.navbar-regular.nav-v6 .navbar-nav>li>a {
306  color: #0A3254;
307}
308.drink-menu .navbar.nav-v6 .navbar-nav>li>a {
309  color: #0A3254;
310  border-right: 1px solid #0A3254;
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: #417B5A;
317}
318
319li.drop-down-link .sub-menu a:hover,
320li.drop-down-link .sub-menu a:focus{
321  color: #417B5A;
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: #417B5A;
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: #417B5A;
334}
335.navbar-regular.nav-v7 .navbar-contact .navbar-nav>li>a {
336  color: #0A3254;
337}
338.drink-menu .navbar.nav-v7 .navbar-nav>li>a {
339  color: #0A3254;
340}
341.drink-menu .navbar-regular.nav-v7 .navbar-contact .navbar-nav>li>a {
342  color: #0A3254;
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: #417B5A;
349}
350
351.navbar-regular.nav-v6 .navbar-toggle .icon-bar {
352  background-color: #0A3254;
353}
354.drink-menu .navbar-regular.nav-v6 .navbar-toggle .icon-bar {
355  background-color: #0A3254;
356}
357.navbar-regular.nav-v6 [aria-expanded="true"].navbar-toggle .icon-bar {
358  background-color: #417B5A;
359}
360.drink-menu .navbar-regular.nav-v6 [aria-expanded="true"].navbar-toggle .icon-bar {
361  background-color: #417B5A;
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 #0A3254;
370  color: #417B5A;
371}
372.navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a {
373  color: #0A3254;
374}
375.drink-menu .navbar.nav-v6.nav-scroll .navbar-nav>li>a {
376  color: #0A3254;
377  border-right: 1px solid #0A3254;
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: #417B5A;
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: #417B5A;
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: #417B5A;
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: #417B5A;
401}
402.navbar-regular.nav-v6.nav-scroll .navbar-contact .navbar-nav>li>a {
403  color: #0A3254;
404}
405.drink-menu .navbar.nav-v6.nav-scroll .navbar-contact .navbar-nav>li>a {
406  color: #0A3254;
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: #417B5A;
413}
414
415.navbar-regular.nav-v6.nav-scroll .navbar-toggle .icon-bar {
416  background-color: #0A3254;
417}
418.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-toggle .icon-bar {
419  background-color: #0A3254;
420}
421.navbar-regular.nav-v6.nav-scroll [aria-expanded="true"].navbar-toggle .icon-bar {
422  background-color: #417B5A;
423}
424.drink-menu .navbar-regular.nav-v6.nav-scroll [aria-expanded="true"].navbar-toggle .icon-bar{
425  background-color: #417B5A;
426}
427.navbar.nav-v6 .header-logo-text{
428  color: #0A3254;
429}
430.navbar.nav-v6.nav-scroll .header-logo-text{
431  color: #0A3254;
432}
433.navbar.nav-v6 .social-icon{
434  color: #0A3254;
435}
436.navbar.nav-v6.nav-scroll .social-icon{
437  color: #0A3254;
438}
439.navbar.nav-v6 .social-square .contact-icon:hover {
440  color: #0A3254;
441  background-color: #417B5A;
442}
443.navbar.nav-v6.nav-scroll .social-square .contact-icon:hover {
444  color: #0A3254;
445  background-color: #417B5A;
446}
447
448.drink-menu .navbar.nav-v6 .header-logo-text{
449  color: #0A3254;
450}
451.drink-menu .navbar.nav-v6.nav-scroll .header-logo-text{
452  color: #0A3254;
453}
454.drink-menu .navbar.nav-v6 .social-icon{
455  color: #0A3254;
456}
457.drink-menu  .navbar.nav-v6.nav-scroll .social-icon{
458  color: #0A3254;
459}
460.drink-menu .navbar.nav-v6 .social-square .contact-icon:hover {
461  color: #0A3254;
462  background-color: #417B5A;
463}
464.drink-menu .navbar.nav-v6.nav-scroll .social-square .contact-icon:hover {
465  color: #0A3254;
466  background-color: #417B5A;
467}
468.navbar.nav-v6 .navbar-logo .container {
469  border-bottom: 1px solid #0A3254;
470}
471.navbar.nav-v6.nav-scroll .navbar-logo .container {
472  border-bottom: 1px solid #0A3254;
473}
474.drink-menu .navbar.nav-v6 .navbar-logo .container {
475  border-bottom: 1px solid #0A3254;
476}
477.drink-menu .navbar.nav-v6.nav-scroll .navbar-logo .container {
478  border-bottom: 1px solid #0A3254;
479}
480@media (max-width: 767px) {
481  .navbar.nav-v6 {
482      background-color: #FFFEF0;
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: #FFFEF0;
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: #FFFEF0;
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: #FFFEF0;
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 #0A3254;
513  }
514  .navbar.nav-v6.nav-scroll .navbar-header {
515    border-bottom: 2px solid #0A3254;
516  }
517  .drink-menu .navbar.nav-v6 .navbar-header {
518    border-bottom: 2px solid #0A3254;
519  }
520  .drink-menu .navbar.nav-v6.nav-scroll .navbar-header {
521    border-bottom: 2px solid #0A3254;
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: #417B5A;
536    color: #0A3254;
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: #417B5A;
543    color: #0A3254;
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: #417B5A;
550    color: #0A3254;
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: #417B5A;
557    color: #0A3254;
558  }
559
560  .navbar-regular.nav-v6 li.drop-down-link.active .drop-down .fa.fa-angle-up {
561    color: #417B5A;
562  }
563  .navbar-regular.nav-v6.nav-scroll li.drop-down-link.active .drop-down .fa.fa-angle-up {
564    color: #417B5A;
565  }
566  .drink-menu .navbar-regular.nav-v6 li.drop-down-link.active .drop-down .fa.fa-angle-up {
567    color: #417B5A;
568  }
569  .drink-menu .navbar-regular.nav-v6.nav-scroll li.drop-down-link.active .drop-down .fa.fa-angle-up {
570    color: #417B5A;
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="Mill 77 Brewing logo top" class="img-responsive logo-top" src="https://static.spotapps.co/website_images/ab_websites/120066_website/logo.png"/></a><a class="header-logo logo-scroll" href="/"><img alt="Mill 77 Brewing logo scroll" class="img-responsive logo-scroll" src="https://static.spotapps.co/website_images/ab_websites/120066_website/logo.png"/></a><div class="navbar-contact"><ul class="nav navbar-nav navbar-right"><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                                        77 Elm Street                                                          , Amesbury                                  </a></li></ul></div></div></div><div class="navbar-tabs"><div class="container"><div class="navbar-content"><ul class="nav navbar-nav"><li class=" "><a class="" href="/amesbury-downtown-mill-77-brewing-taplist" id="/Amesbury-Downtown-Mill-77-Brewing-taplist_link" target="_self">
575                              Taplist
576                              
577                          </a></li><li class="active "><a class="" href="/amesbury-downtown-mill-77-brewing-events" id="/Amesbury-Downtown-Mill-77-Brewing-events_link" target="_self">
578                              Events
579                              
580                          </a></li><li class=" nav-parties-link"><a class="link-parties-sh" href="https://tmt.spotapps.co/private-parties?spot_id=120066&callback_url=http://mill77brewing.com/amesbury-downtown-mill-77-brewing-events#" id="https://tmt.spotapps.co/private-parties?spot_id=120066&callback_url=http://mill77brewing.com/amesbury-downtown-mill-77-brewing-events#_link" target="_self">
581                              Parties
582                              
583                          </a></li><li class=" nav-menu-page"><a class="" href="/amesbury-downtown-mill-77-brewing-store" id="/Amesbury-Downtown-Mill-77-Brewing-store_link" target="_self">
584                              Store
585                              
586                          </a></li><li class=" gift-cards-nav"><a class="gift-cards-link" href="https://www.toasttab.com/mill-77-brewing-77-elm-street/giftcards" id="gift-cards-link_link" target="_blank">
587                              Gift Cards
588                              
589                          </a></li><li class=" "><a class="" href="/amesbury-downtown-mill-77-brewing-where-to-park" id="/Amesbury-Downtown-Mill-77-Brewing-where-to-park_link" target="_self">
590                              Where To Park
591                              
592                          </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/111124868145070" 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/mill77brewing" 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.ca/biz/mill-77-brewing-amesbury" 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="Mill 77 Brewing logo top" class="img-responsive logo-top" src="https://static.spotapps.co/website_images/ab_websites/120066_website/logo.png"/></a><a class="header-logo logo-scroll" href="/"><img alt="Mill 77 Brewing logo scroll" class="img-responsive logo-scroll" src="https://static.spotapps.co/website_images/ab_websites/120066_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/111124868145070" 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/mill77brewing" 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.ca/biz/mill-77-brewing-amesbury" 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=" "><a class="" href="/amesbury-downtown-mill-77-brewing-taplist" id="mobile_/Amesbury-Downtown-Mill-77-Brewing-taplist_link" target="_self">
593                      Taplist
594                      
595                  </a></li><li class="active "><a class="" href="/amesbury-downtown-mill-77-brewing-events" id="mobile_/Amesbury-Downtown-Mill-77-Brewing-events_link" target="_self">
596                      Events
597                      
598                  </a></li><li class=" nav-parties-link"><a class="link-parties-sh" href="https://tmt.spotapps.co/private-parties?spot_id=120066&callback_url=http://mill77brewing.com/amesbury-downtown-mill-77-brewing-events#" id="mobile_https://tmt.spotapps.co/private-parties?spot_id=120066&callback_url=http://mill77brewing.com/amesbury-downtown-mill-77-brewing-events#_link" target="_self">
599                      Parties
600                      
601                  </a></li><li class=" nav-menu-page"><a class="" href="/amesbury-downtown-mill-77-brewing-store" id="mobile_/Amesbury-Downtown-Mill-77-Brewing-store_link" target="_self">
602                      Store
603                      
604                  </a></li><li class=" gift-cards-nav"><a class="gift-cards-link" href="https://www.toasttab.com/mill-77-brewing-77-elm-street/giftcards" id="mobile_gift-cards-link_link" target="_blank">
605                      Gift Cards
606                      
607                  </a></li><li class=" "><a class="" href="/amesbury-downtown-mill-77-brewing-where-to-park" id="mobile_/Amesbury-Downtown-Mill-77-Brewing-where-to-park_link" target="_self">
608                      Where To Park
609                      
610                  </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="3461198"><div class="row event-content"><div class="col-md-6 col-sm-6 col-xs-12 event-image-holder"><img alt="Elm Street Eats Bar Pies Every Thursday! event photo" class="event-image" src="//static.spotapps.co/spots/5b/e94204365a471db581a393c3c6e248/w926"/></div><div class="col-md-6 col-sm-6 col-xs-12 event-text-holder"><h2>Elm Street Eats Bar Pies Every Thursday!</h2><h3>Thursday October 1st</h3><!-- Sunday may 8th --><div class="event-info-text"><div data-event-id="3461198" data-is-recurring="true" data-origin-event-id="3201248" data-spot-promotion-id="" data-tags="" style="display: none"></div><p>Every Thursday</p><p style="text-align:center">Delicious, crispy South Shore style bar pies by Elm Street Eats every Thursday during Trivia!   </p></div><h3 class="event-time">05:00 PM - 08:00 PM</h3><div class="event-add-to-calendar">
610<script type="text/javascript">(function () {
611                                if (window.addtocalendar)if(typeof window.addtocalendar.start == "function")return;
612                                if (window.ifaddtocalendar == undefined) { window.ifaddtocalendar = 1;
613                                    var d = document, s = d.createElement('script'), g = 'getElementsByTagName';
614                                    s.type = 'text/javascript';s.charset = 'UTF-8';s.async = true;
615                                    s.src = ('https:' == window.location.protocol ? 'https' : 'http')+'://addtocalendar.com/atc/1.5/atc.min.js';
616                                    var h = d[g]('body')[0];h.appendChild(s); }})();
617                              </script>
617<span class="addtocalendar atc-style-blue"><var class="atc_event"><var class="atc_date_start">2026-10-01 17:00:00</var><var class="atc_date_end">2026-10-01 20:00:00</var><var class="atc_timezone">America/New_York</var><var class="atc_title">Elm Street Eats Bar Pies Every Thursday!</var><var class="atc_description">Delicious, crispy South Shore style bar pies by Elm Street Eats every Thursday during Trivia!</var><var class="atc_location">Mill 77 Brewing</var><var class="atc_organizer">Mill 77 Brewing</var><var class="atc_organizer_email">[email protected]</var></var></span></div></div></div></section><section id="3461503"><div class="row event-content"><div class="col-md-6 col-sm-6 col-xs-12 event-image-holder"><img alt="Trivia Night Every Thursday event photo" class="event-image" src="//static.spotapps.co/spots/01/6eab7d574a4bb2b098580705a9d11a/w926"/></div><div class="col-md-6 col-sm-6 col-xs-12 event-text-holder"><h2>Trivia Night Every Thursday</h2><h3>Thursday October 1st</h3><!-- Sunday may 8th --><div class="event-info-text"><div data-event-id="3461503" data-is-recurring="true" data-origin-event-id="3201249" data-spot-promotion-id="" data-tags="" style="display: none"></div><p>Every Thursday</p><p style="text-align:center">Bring your crew, grab a drink and see if you have what it takes to win. Free to play and prizes to win.   </p></div><h3 class="event-time">07:00 PM - 09:00 PM</h3><div class="event-add-to-calendar">
617<script type="text/javascript">(function () {
618                                if (window.addtocalendar)if(typeof window.addtocalendar.start == "function")return;
619                                if (window.ifaddtocalendar == undefined) { window.ifaddtocalendar = 1;
620                                    var d = document, s = d.createElement('script'), g = 'getElementsByTagName';
621                                    s.type = 'text/javascript';s.charset = 'UTF-8';s.async = true;
622                                    s.src = ('https:' == window.location.protocol ? 'https' : 'http')+'://addtocalendar.com/atc/1.5/atc.min.js';
623                                    var h = d[g]('body')[0];h.appendChild(s); }})();
624                              </script>
624<span class="addtocalendar atc-style-blue"><var class="atc_event"><var class="atc_date_start">2026-10-01 19:00:00</var><var class="atc_date_end">2026-10-01 21:00:00</var><var class="atc_timezone">America/New_York</var><var class="atc_title">Trivia Night Every Thursday</var><var class="atc_description">Bring your crew, grab a drink and see if you have what it takes to win. Free to play and prizes to win.</var><var class="atc_location">Mill 77 Brewing</var><var class="atc_organizer">Mill 77 Brewing</var><var class="atc_organizer_email">[email protected]</var></var></span></div></div></div></section></div><div class="events-holder"><section id="3457001"><div class="row event-content"><div class="col-md-6 col-sm-6 col-xs-12 event-image-holder"><img alt="Oktoberfest Party event photo" class="event-image" src="//static.spotapps.co/spots/88/5a96332f0644aebaf52d534cea2418/w926"/></div><div class="col-md-6 col-sm-6 col-xs-12 event-text-holder"><h2>Oktoberfest Party</h2><h3>Saturday October 3rd</h3><!-- Sunday may 8th --><div class="event-info-text"><div data-event-id="3457001" data-is-recurring="false" data-origin-event-id="3457001" data-spot-promotion-id="" data-tags="" style="display: none"></div><p style="text-align: center;">Join us for our annual Oktoberfest celebration! Dress in your finest lederhosen and see if you can impress the judges enough to bring home the top prize. Flex those muscles for our Stein Holding competition. And find a partner to take part in the Sausage Catch contest. All while sipping on the finest Oktoberfest beer in the land!</p></div><h3 class="event-time">12:00 PM - 10:00 PM</h3><div class="event-add-to-calendar">
624<script type="text/javascript">(function () {
625                                if (window.addtocalendar)if(typeof window.addtocalendar.start == "function")return;
626                                if (window.ifaddtocalendar == undefined) { window.ifaddtocalendar = 1;
627                                    var d = document, s = d.createElement('script'), g = 'getElementsByTagName';
628                                    s.type = 'text/javascript';s.charset = 'UTF-8';s.async = true;
629                                    s.src = ('https:' == window.location.protocol ? 'https' : 'http')+'://addtocalendar.com/atc/1.5/atc.min.js';
630                                    var h = d[g]('body')[0];h.appendChild(s); }})();
631                              </script>
631<span class="addtocalendar atc-style-blue"><var class="atc_event"><var class="atc_date_start">2026-10-03 12:00:00</var><var class="atc_date_end">2026-10-03 22:00:00</var><var class="atc_timezone">America/New_York</var><var class="atc_title">Oktoberfest Party</var><var class="atc_description">Join us for our annual Oktoberfest celebration! Dress in your finest lederhosen and see if you can impress the judges enough to bring home the top prize. Flex those muscles for our Stein Holding competition. And find a partner to take part in the Sausage Catch contest. All while sipping on the finest Oktoberfest beer in the land!</var><var class="atc_location">Mill 77 Brewing</var><var class="atc_organizer">Mill 77 Brewing</var><var class="atc_organizer_email">[email protected]</var></var></span></div></div></div></section></div><div class="events-holder"><section id="3215775"><div class="row event-content"><div class="col-md-6 col-sm-6 col-xs-12 event-image-holder"><img alt="Live Music - Petty Felons event photo" class="event-image" src="//static.spotapps.co/spots/42/f7802746c346848482705ce55e2dfa/w926"/></div><div class="col-md-6 col-sm-6 col-xs-12 event-text-holder"><h2>Live Music - Petty Felons</h2><h3>Saturday October 10th</h3><!-- Sunday may 8th --><div class="event-info-text"><div data-event-id="3215775" data-is-recurring="false" data-origin-event-id="3215775" data-spot-promotion-id="" data-tags="" style="display: none"></div><p style="text-align:center">Petty Felons take the stage at 6pm with a mix of classic rock featuring songs by artists such as Tom Petty and Alice in Chains.</p></div><h3 class="event-time">06:00 PM - 09:00 PM</h3><div class="event-add-to-calendar">
631<script type="text/javascript">(function () {
632                                if (window.addtocalendar)if(typeof window.addtocalendar.start == "function")return;
633                                if (window.ifaddtocalendar == undefined) { window.ifaddtocalendar = 1;
634                                    var d = document, s = d.createElement('script'), g = 'getElementsByTagName';
635                                    s.type = 'text/javascript';s.charset = 'UTF-8';s.async = true;
636                                    s.src = ('https:' == window.location.protocol ? 'https' : 'http')+'://addtocalendar.com/atc/1.5/atc.min.js';
637                                    var h = d[g]('body')[0];h.appendChild(s); }})();
638                              </script>
638<span class="addtocalendar atc-style-blue"><var class="atc_event"><var class="atc_date_start">2026-10-10 18:00:00</var><var class="atc_date_end">2026-10-10 21:00:00</var><var class="atc_timezone">America/New_York</var><var class="atc_title">Live Music - Petty Felons</var><var class="atc_description">Petty Felons take the stage at 6pm with a mix of classic rock featuring songs by artists such as Tom Petty and Alice in Chains.</var><var class="atc_location">Mill 77 Brewing</var><var class="atc_organizer">Mill 77 Brewing</var><var class="atc_organizer_email">[email protected]</var></var></span></div></div></div></section></div><div class="events-holder"><section id="3279029"><div class="row event-content"><div class="col-md-6 col-sm-6 col-xs-12 event-image-holder"><img alt="Movie Night - Young Frankenstein event photo" class="event-image" src="//static.spotapps.co/spots/9c/783c0d21f54b7eb4393475d6b59aaa/w926"/></div><div class="col-md-6 col-sm-6 col-xs-12 event-text-holder"><h2>Movie Night - Young Frankenstein</h2><h3>Friday October 30th</h3><!-- Sunday may 8th --><div class="event-info-text"><div data-event-id="3279029" data-is-recurring="false" data-origin-event-id="3279029" data-spot-promotion-id="" data-tags="" style="display: none"></div><p style="text-align: center;">Join us as we transform your favorite local taproom into your favorite local movie house. Complimentary popcorn will be available and feel free to bring along your classic movie snacks of choice to share.</p></div><h3 class="event-time">07:00 PM - 09:00 PM</h3><div class="event-add-to-calendar">
638<script type="text/javascript">(function () {
639                                if (window.addtocalendar)if(typeof window.addtocalendar.start == "function")return;
640                                if (window.ifaddtocalendar == undefined) { window.ifaddtocalendar = 1;
641                                    var d = document, s = d.createElement('script'), g = 'getElementsByTagName';
642                                    s.type = 'text/javascript';s.charset = 'UTF-8';s.async = true;
643                                    s.src = ('https:' == window.location.protocol ? 'https' : 'http')+'://addtocalendar.com/atc/1.5/atc.min.js';
644                                    var h = d[g]('body')[0];h.appendChild(s); }})();
645                              </script>
645<span class="addtocalendar atc-style-blue"><var class="atc_event"><var class="atc_date_start">2026-10-30 19:00:00</var><var class="atc_date_end">2026-10-30 21:00:00</var><var class="atc_timezone">America/New_York</var><var class="atc_title">Movie Night - Young Frankenstein</var><var class="atc_description">Join us as we transform your favorite local taproom into your favorite local movie house. Complimentary popcorn will be available and feel free to bring along your classic movie snacks of choice to share.</var><var class="atc_location">Mill 77 Brewing</var><var class="atc_organizer">Mill 77 Brewing</var><var class="atc_organizer_email">[email protected]</var></var></span></div></div></div></section></div><div class="events-holder"><section id="3463901"><div class="row event-content"><div class="col-md-6 col-sm-6 col-xs-12 event-image-holder"><img alt="Nightmare On Elm Street 5 - Halloween Costume Party event photo" class="event-image" src="//static.spotapps.co/spots/f8/3fe1cdb5a74693a79ac0c037db880a/w926"/></div><div class="col-md-6 col-sm-6 col-xs-12 event-text-holder"><h2>Nightmare On Elm Street 5 - Halloween Costume Party</h2><h3>Saturday October 31st</h3><!-- Sunday may 8th --><div class="event-info-text"><div data-event-id="3463901" data-is-recurring="false" data-origin-event-id="3463901" data-spot-promotion-id="" data-tags="" style="display: none"></div><p style="text-align: center;"></p><p style="text-align: center;">Join us if you dare this Halloween as we present Nightmare on Elm Street 5. The taproom will be transformed into a haunted hideaway filled with creepy vibes, killer costumes, and just the right amount of mischief.</p><p style="text-align: center;">The Kids Costume Contest kicks off at 4pm, where little ghosts and goblins can show off their spooky style. Once darkness settles, the Adult Costume Contest takes over at 8pm — bring your best, boldest, or most terrifying look.</p><p style="text-align: center;">At 6pm, Kitchen Party conjures up live music to keep the spirits moving, and throughout the night you can peek into your future with Tarot Card readings courtesy of Haverhill’s own Bohemian Cove.</p><p style="text-align: center;">It’s going to be festive, eerie, and a whole lot of fun — the perfect way to spend Halloween at the Mill.</p><p style="text-align: center;"></p><p style="text-align: center;"></p><p style="text-align: center;"></p></div><h3 class="event-time">12:00 PM - 10:00 PM</h3><div class="event-add-to-calendar">
645<script type="text/javascript">(function () {
646                                if (window.addtocalendar)if(typeof window.addtocalendar.start == "function")return;
647                                if (window.ifaddtocalendar == undefined) { window.ifaddtocalendar = 1;
648                                    var d = document, s = d.createElement('script'), g = 'getElementsByTagName';
649                                    s.type = 'text/javascript';s.charset = 'UTF-8';s.async = true;
650                                    s.src = ('https:' == window.location.protocol ? 'https' : 'http')+'://addtocalendar.com/atc/1.5/atc.min.js';
651                                    var h = d[g]('body')[0];h.appendChild(s); }})();
652                              </script>
652<span class="addtocalendar atc-style-blue"><var class="atc_event"><var class="atc_date_start">2026-10-31 12:00:00</var><var class="atc_date_end">2026-10-31 22:00:00</var><var class="atc_timezone">America/New_York</var><var class="atc_title">Nightmare On Elm Street 5 - Halloween Costume Party</var><var class="atc_description">Join us if you dare this Halloween as we present Nightmare on Elm Street 5. The taproom will be transformed into a haunted hideaway filled with creepy vibes, killer costumes, and just the right amount of mischief.The Kids Costume Contest kicks off at 4pm, where little ghosts and goblins can show off their spooky style. Once darkness settles, the Adult Costume Contest takes over at 8pm — bring your best, boldest, or most terrifying look.At 6pm, Kitchen Party conjures up live music to keep the spirits moving, and throughout the night you can peek into your future with Tarot Card readings courtesy of Haverhill’s own Bohemian Cove.It’s going to be festive, eerie, and a whole lot of fun — the perfect way to spend Halloween at the Mill.</var><var class="atc_location">Mill 77 Brewing</var><var class="atc_organizer">Mill 77 Brewing</var><var class="atc_organizer_email">[email protected]</var></var></span></div></div></div></section></div><div class="events-holder"><section id="3459677"><div class="row event-content"><div class="col-md-6 col-sm-6 col-xs-12 event-image-holder"><img alt="Sourdough 101 - You're Gonna Loaf It! event photo" class="event-image" src="//static.spotapps.co/spots/d1/d71e313fa843ff95c3b03299ac3d3a/w926"/></div><div class="col-md-6 col-sm-6 col-xs-12 event-text-holder"><h2>Sourdough 101 - You&apos;re Gonna Loaf It!</h2><h3>Wednesday November 11th</h3><!-- Sunday may 8th --><div class="event-info-text"><div data-event-id="3459677" data-is-recurring="false" data-origin-event-id="3459677" data-spot-promotion-id="" data-tags="" style="display: none"></div><p style="text-align:center">Local baker Elise Colcord, of Sunnyside Sourdough Co will guide you through the sourdough bread making process. From finish to start we&apos;ll work backwards to uncover the magic of sourdough starter care, dough mixing, and baking a beautiful, golden loaf of homemade bread. Tickets are $55 and include Instruction and Demonstration, Make Your Own Dough, Sourdough Starter, Recipe Card and Care, A Few Warm Bites and a great time!</p></div><h3 class="event-time">06:00 PM - 08:00 PM</h3><div class="event-add-to-calendar">
652<script type="text/javascript">(function () {
653                                if (window.addtocalendar)if(typeof window.addtocalendar.start == "function")return;
654                                if (window.ifaddtocalendar == undefined) { window.ifaddtocalendar = 1;
655                                    var d = document, s = d.createElement('script'), g = 'getElementsByTagName';
656                                    s.type = 'text/javascript';s.charset = 'UTF-8';s.async = true;
657                                    s.src = ('https:' == window.location.protocol ? 'https' : 'http')+'://addtocalendar.com/atc/1.5/atc.min.js';
658                                    var h = d[g]('body')[0];h.appendChild(s); }})();
659                              </script>
659<span class="addtocalendar atc-style-blue"><var class="atc_event"><var class="atc_date_start">2026-11-11 18:00:00</var><var class="atc_date_end">2026-11-11 20:00:00</var><var class="atc_timezone">America/New_York</var><var class="atc_title">Sourdough 101 - You&apos;re Gonna Loaf It!</var><var class="atc_description">Local baker Elise Colcord, of Sunnyside Sourdough Co will guide you through the sourdough bread making process. From finish to start we&apos;ll work backwards to uncover the magic of sourdough starter care, dough mixing, and baking a beautiful, golden loaf of homemade bread. Tickets are $55 and include Instruction and Demonstration, Make Your Own Dough, Sourdough Starter, Recipe Card and Care, A Few Warm Bites and a great time!</var><var class="atc_location">Mill 77 Brewing</var><var class="atc_organizer">Mill 77 Brewing</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">
660    .navbar-fixed-bottom.nav-v1 {
661        bottom: -100px;
662    }
663    .navbar-fixed-bottom.nav-v1 .nav.navbar-nav.navbar-right {
664        background-color: #FFFEF0;
665    }
666    .navbar-fixed-bottom.nav-v1 .bottom-svg-border path,
667    .navbar-fixed-bottom.nav-v1 .bottom-svg-border polygon {
668      fill: #000;
669    }
670    .navbar-fixed-bottom.nav-v1 .bottom-list-item a {
671        color: #0A3254;
672    }
673    .navbar-fixed-bottom.nav-v1 .bottom-list-item a:hover,
674    .navbar-fixed-bottom.nav-v1 .bottom-list-item a:focus {
675        color: #417B5A;
676    }
677</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=120066&callback_url=http://mill77brewing.com/amesbury-downtown-mill-77-brewing-events" id="bottom_link_5" target="_self">
678                        Parties                    </a></li></ul></div></nav>
678<script src="https://static.spotapps.co/web/mill77brewing--com/lib/jquery/jquery.min.js"></script>
678<script src="https://static.spotapps.co/web/mill77brewing--com/lib/bootstrap/js/bootstrap.min.js"></script>
678<script type="text/javascript">
679
680
681	$("#bottom_link_5").on("click", function(){
682		if (ga_check())
683			universal_ga('send', 'event', 'Button', 'Click', 'Private Party');
684	});
685  $('.header-logo, .nav-v2-home-btn').click(function(event) {
686    if ( window.location.pathname == '/' || window.location.pathname == '/index.php') {
687      event.preventDefault();
688      var windowScrollTop = $(window).scrollTop();
689      if(windowScrollTop > 150) {
690        $('html, body').animate({scrollTop: 0}, 750);
691      }
692    }
693  });
694
695$(".banner-section a.banner-pin").click(function(e) {
696    // target element id
697    var id = $(this).attr('href');
698
699    // target element
700    var section = $(id);
701    if (section.length === 0) {
702        return;
703    }
704
705    // prevent standard hash navigation (avoid blinking in IE)
706    e.preventDefault();
707
708    // top position relative to the document
709    var pos = section.offset().top - 100 + 10;
710
711    // animated top scrolling
712    $('body, html').animate({scrollTop: pos}, 750);
713});
714
715$(document).on('scroll', function (e) {
716    if($(document).scrollTop() > 0) {
717      $('.navbar.nav-v7').addClass('nav-scroll');
718    }else {
719      $('.navbar.nav-v7').removeClass('nav-scroll');
720    }
721});
722
723$(function() {
724  setDropDownMenuWidth();
725
726  function setDropDownMenuWidth() {
727    var tabs_list = $('.navbar-tabs .navbar-nav');
728
729    $(tabs_list).find('li.drop-down-link').each(function() {
730      var sub_menu_width = $(this).outerWidth(true);
731      if (sub_menu_width < 100) {
732        sub_menu_width = 100;
733      }
734      $(this).find('.sub-menu').css('width', sub_menu_width+'px');
735    });
736  }
737
738  $( window ).resize(function() {
739    setDropDownMenuWidth();
740  });
741
742});
743
744
745
746$( '.drop-down-link .drop-down' ).click(function(event) {
747  event.preventDefault();
748  event.stopPropagation();
749
750  var drop_down = $(this).closest('.drop-down-link');
751  var sub_menu = $(this).closest('.drop-down-link').find( '.sub-menu' );
752
753  if ( $(sub_menu).is( ':hidden' ) ) {
754    $(sub_menu).slideDown();
755    $(drop_down).addClass('active');
756  } else {
757    $(sub_menu).slideUp();
758    $(drop_down).removeClass('active');
759  }
760});
761
762$(".nav-v7 .navbar-contact .nav-address a").click(function(e) {
763
764  if ( window.location.pathname == '/' || window.location.pathname == '/index.php') {
765    // target element id
766    var id = $(this).attr('href').substr(1);
767
768    // target element
769    var section = $(id);
770    if (section.length === 0) {
771        return;
772    }
773
774    // prevent standard hash navigation (avoid blinking in IE)
775    e.preventDefault();
776
777    // top position relative to the document
778    var pos = section.offset().top - 100 + 10;
779
780    // animated top scrolling
781    $('body, html').animate({scrollTop: pos}, 750);
782
783  }
784});
785    setTimeout(function(){
786        $('.navbar-fixed-bottom.nav-v1').addClass('show-bottom-nav'); triggerShowFooterEvents();
787    }, 3000);
788$(document).ready(function(){
789
790  var waitAddToCalendarWidget = setInterval(function(){
791    if ($('.atcb-link').length) {
792      $('.atcb-link').prop('tabIndex', 0);
793      clearInterval(waitAddToCalendarWidget);
794    }
795  }, 300);
796
797});
798
799</script>
799<script>
800(function() {
801  var name = "Mill 77 Brewing";
802  var pid = "ChIJeRUGkGDj4okRQ38oNg89hBo";
803  function build_url() {
804    var q = encodeURIComponent(name).replace(/'/g, "%27");
805    return "https://www.google.com/maps/search/?api=1"
806         + "&query=" + q
807         + "&query_place_id=" + encodeURIComponent(pid);
808  }
809  window.google_map_url = build_url();
810  window.open_google_map = function() {
811    window.open(build_url(), "_blank");
812  };
813})();
814</script>
814<script>
815
816  var spot_id = 120066;
817  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=120066","cta_catering":null,"cta_reservations":null,"cta_jobs":null},"spot_name":"Mill 77 Brewing","label_for_texting_permission":"I’d like to get texts about specials, events, and other exclusive offers and announcements not available to general public"}');
818
819  if (false){
820    console.log("Check SpotHopper configuration. Probably there is no 'WEBSITE::DOMAIN_NAME' key for your website");
821  }
822
823  if (navigator.userAgent.match(/iPhone/i)
824       || navigator.userAgent.match(/iPad/i)
825       || navigator.userAgent.match(/iPod/i)){
826      $(document).ready(function(){
827            document.body.className += " " + "webkit-mobile-body";
828      });
829    }
830
831  var promotion_url_param_domain = getPromotionUrlParams()['domain'];
832  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')){
833    $("a[href^='/']").each(function(){
834      if (this.href.indexOf('domain=') == -1){
835        var sh_internal_url = new URL(this.href);
836        sh_internal_url.searchParams.set("domain", promotion_url_param_domain);
837        this.href = sh_internal_url.toString();
838      }
839    })
840  }
841
842
843  function cta_link_matches_href(href, url){
844    var domain = 'mill77brewing.com';
845    if(typeof url === 'undefined'){
846      return false;
847    }
848    var partsOfURL = url.split(domain);
849    if (partsOfURL.length != 2){
850      return href == url;
851    }else{
852      var urlPath = partsOfURL[1];
853      if (urlPath.substring(0,1) == "/"){
854        urlPath = urlPath.substring(1,urlPath.length);
855      }
856      return href.indexOf(urlPath, domain.length + href.indexOf(domain)-1) !== -1;
857    }
858  }
859
860  var all_cta_links = [{"id":774313,"spot_id":120066,"url":"https://www.toasttab.com/mill-77-brewing-77-elm-street/giftcards","cta_link_type":"gift_cards","created_at":"2023-07-27T11:00:05.041+00:00","updated_at":"2026-07-28T11:56:07.494+00:00","made_of_food":false,"link_name":"","target":null,"website_footer_label":"Gift Cards","position":5},{"id":744511,"spot_id":120066,"url":"https://tmt.spotapps.co/private-parties?spot_id=120066","cta_link_type":"private_parties","created_at":"2023-04-20T20:22:19.361+00:00","updated_at":"2026-07-28T11:56:07.183+00:00","made_of_food":false,"link_name":"Private Parties","target":null,"website_footer_label":"Parties","position":3},{"id":760501,"spot_id":120066,"url":"https://mill77brewing.com/-taplist","cta_link_type":"drink_menu","created_at":"2023-06-16T13:42:53.833+00:00","updated_at":"2026-07-28T11:56:07.285+00:00","made_of_food":false,"link_name":""},{"id":760500,"spot_id":120066,"url":"https://mill77brewing.com/-events","cta_link_type":"events","created_at":"2023-06-16T13:42:53.799+00:00","updated_at":"2026-07-28T11:56:07.250+00:00","made_of_food":false,"link_name":""}];
861
862  function find_cta_link(href) {
863    for (var i=0; i< all_cta_links.length; i++){
864      var cta_link = all_cta_links[i];
865      if ( cta_link_matches_href(href, cta_link.url)){
866        return cta_link;
867      }
868    }
869  }
870
871  function find_cta_links(href) {
872    var cta_links = []
873    for (var i=0; i< all_cta_links.length; i++){
874      var cta_link = all_cta_links[i];
875      if ( cta_link_matches_href(href, cta_link.url)){
876        cta_links.push(cta_link);
877      }
878    }
879    return cta_links;
880  }
881
882
883  function get_current_page_cta_link_types(){
884    var types = [];
885    var cta_links = find_cta_links(document.location.href);
886    for (var i=0; i<cta_links.length; i++){
887      types.push(cta_links[i].cta_link_type);
888    }
889    return types;
890  }
891
892
893  function is_food_menu_page(){
894    var cta_link_types = get_current_page_cta_link_types();
895    for (var i=0; i<cta_link_types.length; i++){
896      if ('food_menu' == cta_link_types[i])
897        return true;
898    }
899    return false;
900  }
901
902
903  function get_form_cat_from_cta(){
904    var cta_link = find_cta_link(document.location.href);
905    if (cta_link == null) {
906        return null;
907    }
908    if (cta_link.cta_link_type == 'private_parties'){
909        return 'private_party';
910    }else if (cta_link.cta_link_type == 'reservations'){
911        return 'reservation';
912    }else if (cta_link.cta_link_type == 'catering'){
913        return 'catering';
914    }else if (cta_link.cta_link_type == 'job_listing'){
915        return 'job_listings';
916    }else if (cta_link.cta_link_type == 'gift_cards'){
917          return 'gift_cards';
918    }
919    return null;
920  }
921
922  function element_has_events_defined(elem){
923    if ($._data(elem, "events") === undefined){
924      return false;
925    }
926    return true;
927  }
928
929  function create_ga_events_for_cta_clicks(){
930    if (typeof $ === 'function'){
931
932      var cta_link_of_the_page = find_cta_link(location.href);
933
934
935      $("a").each(function(index, elem){
936        var href = $(elem).attr('href');
937
938        if (href  === undefined ){
939           return;
940        }
941
942        if (href.substring(0,4) == 'tel:'){
943          if (!element_has_events_defined(elem)){  // not footer links
944            $(elem).on("click", function(){
945                universal_ga('send', 'event', {
946                  eventCategory: 'Button',
947                  eventAction: 'Click',
948                  eventLabel: 'Phone',
949                  transport: 'beacon'
950                });
951             });
952
953             if (cta_link_of_the_page){
954                $(elem).on("click", function(){
955                    universal_ga('send', 'event', {
956                      eventCategory: 'Button',
957                      eventAction: 'Click',
958                      eventLabel: cta_link_of_the_page.cta_link_type +  ' page phone',
959                      transport: 'beacon'
960                    });
961                 });
962             }
963          } else {
964             if (cta_link_of_the_page){
965               $(elem).on("click", function(){
966                   universal_ga('send', 'event', {
967                        eventCategory: 'Button',
968                        eventAction: 'Click',
969                        eventLabel: cta_link_of_the_page.cta_link_type +  ' page phone footer',
970                        transport: 'beacon'
971                   });
972               });
973             }
974          }
975
976
977        }else{
978          var cta_link = find_cta_link(href);
979          if (elem.className != null && elem.className.indexOf("bottom-link") > -1){
980            // console.log("bottom link detected");
981          }else{
982            if (cta_link != null){
983              $(elem).on("click", function(){
984                universal_ga('send', 'event', {
985                        eventCategory: 'Website Link',
986                        eventAction: 'Click',
987                        eventLabel: cta_link.cta_link_type,
988                        transport: 'beacon'
989                  });
990              });
991            }
992          }
993        }
994
995
996      });
997    }
998  }
999
1000  if (typeof angular === "undefined") {
1001    create_ga_events_for_cta_clicks();
1002  } else {
1003    angular.element(document).ready(function () {
1004      create_ga_events_for_cta_clicks();
1005    });
1006  }
1007
1008
1009  function triggerShowFooterEvents(){
1010    if (window.screen.availWidth < 768){
1011        universal_ga('send', 'event', {
1012                eventCategory: 'Mobile Footer',
1013                eventAction: 'View',
1014                eventLabel: '',
1015                transport: 'beacon'
1016          });
1017    }
1018  }
1019
1020
1021
1022
1023  ////////////
1024  function smartFooterV2()
1025  {
1026    var list= document.getElementsByClassName("bottom-list-item");
1027    if (!list) return;
1028
1029    if (document.getElementById("bottom-navbar") == null){
1030      return;
1031    }
1032
1033    var bottomNav = document.querySelector('#bottom-navbar .navbar-nav');
1034    var footerLinkPaddingLeft = $('#bottom-navbar .navbar-nav li a').css('padding-left');
1035    var footerLinkPaddingRight = $('#bottom-navbar .navbar-nav li a').css('padding-right');
1036
1037    bottomNav.innerHTML = '';
1038    var linksWithPosition = all_cta_links.filter(e => e.position != null && e.position >= 0);
1039    linksWithPosition.sort(function(a,b) {
1040      return a.position - b.position;
1041    });
1042
1043    var footerLinkStyle = (footerLinkPaddingLeft == '0px' || footerLinkPaddingRight == '0px' ? 'style="padding-left: 8px; padding-right: 8px;"' : '');
1044
1045    linksWithPosition.forEach((e, i) => {
1046        var target = e.target || getUrlTarget(e.url);
1047        bottomNav.insertAdjacentHTML('beforeend',
1048        `<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>`);
1049    })
1050
1051    var intervalCount = 0
1052    var interval = setInterval(() => {
1053      if(intervalCount == 50){
1054        clearInterval(interval);
1055      }
1056      removeOverflowingFooterLinks();
1057      intervalCount ++;
1058    }, 200);
1059
1060    $('.smart-footer-link').on("click", function(){
1061          if (typeof shUrlParams !== "undefined" && shUrlParams['source'] === undefined){
1062                    shUrlParams['source'] = 'footer';
1063                    sessionStorage.setItem('shUrlParams', JSON.stringify(shUrlParams));
1064          }
1065
1066          var visibleLinks = $('.smart-footer-link').map(function (e) {
1067              return $(this).data('type');
1068          }).toArray().join(',');
1069
1070          universal_ga('send', 'event', {
1071                  eventCategory: 'Button',
1072                  eventAction: 'Click_footer_2',
1073                  eventLabel: "type:" + $(this).data('type') + "|position:" + $(this).data('position') + "|visible:" + visibleLinks,
1074                  transport: 'beacon'
1075            });
1076    });
1077  }
1078
1079  function removeOverflowingFooterLinks(){
1080    var bottomNavLinks = document.querySelectorAll('#bottom-navbar .navbar-nav li');
1081    var width_sum = 0;
1082
1083    bottomNavLinks.forEach(e => {
1084      width_sum += e.getBoundingClientRect().width;
1085      if ((width_sum) > window.innerWidth) {
1086        console.log(`%cLink %c${e.textContent} %cdeleted couldn't fit screen`,"color: #fff;background: #202124;", "background: red;color: #fff", "color: #fff;background: #202124;");
1087        e.remove();
1088      }
1089    });
1090  }
1091
1092  function getUrlTarget(url){
1093    if(url.startsWith('tel')){
1094      return '_self';
1095    }
1096    if(url.startsWith('/') || url.includes('tmt.spotapps.co') || url.includes(window.location.host)){
1097      return '_self';
1098    }
1099    return '_blank';
1100  }
1101
1102  function npb()
1103    {
1104    	var list= document.getElementsByClassName("bottom-list-item");
1105    	if (!list) return;
1106
1107      if (document.getElementById("bottom-navbar") == null){
1108        return;
1109      }
1110
1111      var url = ""
1112    	for (var i=0; i < all_cta_links.length; i++)
1113    	{
1114    		if (all_cta_links[i].cta_link_type == "order"){
1115          url = all_cta_links[i].url;
1116        }
1117    	}
1118
1119    	if ( url == ""){
1120        return;
1121      }
1122
1123    	for (i=0; i < list.length; i++)
1124    	{
1125    		console.log(cta_link_matches_href(list[i].firstChild.href, url));
1126    		if (cta_link_matches_href(list[i].firstChild.href,url))  return;
1127
1128    	};
1129
1130    	var item = list[list.length-1]
1131    	document.getElementById("bottom-navbar").getElementsByClassName("nav navbar-nav")[0].appendChild(item.cloneNode(true));
1132    	var width_sum = 0;
1133    	for (i=0; i < list.length; i++) {
1134    		width_sum += list[i].getBoundingClientRect().width;
1135    	}
1136
1137    	var item = list[list.length-1]
1138    	if ((width_sum - 10) > window.innerWidth) { item.parentNode.removeChild(item); console.log("link deleted couldn't fit screen"); return; }
1139
1140    	item.firstChild.text = "Order";
1141    	item.firstChild.href = url;
1142    	item.firstChild.id = "bottom_link_" + list.length;
1143
1144      $(item.firstChild).on("click", function(){
1145
1146          if (typeof shUrlParams !== "undefined" && shUrlParams['source'] === undefined){
1147                    shUrlParams['source'] = 'footer';
1148                    sessionStorage.setItem('shUrlParams', JSON.stringify(shUrlParams));
1149                  }
1150
1151          universal_ga('send', 'event', {
1152                  eventCategory: 'Button',
1153                  eventAction: 'Click',
1154                  eventLabel: 'Plan B-2 Order',
1155                  transport: 'beacon'
1156            });
1157      });
1158
1159
1160    }
1161
1162function activateSmartFooter(){
1163    var smart_footer_active = true;
1164    var smart_footer_version = 2;
1165    var man_bottom_active = false;
1166    if(window.location.hash == '#smartFooterV2=enabled'){
1167      smartFooterV2();
1168      return;
1169    }
1170    if (smart_footer_active && !man_bottom_active){
1171      if(smart_footer_version == 2 ){
1172          smartFooterV2();
1173       }else {
1174          npb();
1175       }
1176    }
1177  }
1178
1179  activateSmartFooter();
1180
1181  var corona_config_str = '{"id":26011,"spot_id":120066,"promote_pick_up":true,"promote_gift_cards":true,"promote_happy_hour":true,"promote_events":true,"instructions_on_food_page":false,"food_page_instruction_text":"","food_page_instruction_phone":"6176694235","created_at":"2023-04-20T15:27:31.368+00:00","updated_at":"2026-09-01T13:59:24.586+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":0,"pick_ups_priority_value":0,"reservations_priority_value":5,"private_parties_priority_value":5,"catering_priority_value":0,"gift_cards_priority_value":4,"jobs_priority_value":0,"food_and_drinks_priority_value":5,"specials_priority_value":0,"national_days_priority_value":3,"holidays_priority_value":3,"sports_priority_value":4,"walk_ins_priority_value":5,"collecting_emails_priority_value":4,"collecting_phone_numbers_priority_value":3,"growing_social_media_followers_priority_value":5,"increasing_revenue_vs_saving_time_priority_value":3,"events_priority_value":4,"shopping_cart_type":"TMT","shopping_cart_active":false}';
1182  var corona_config =  corona_config_str != '' ?  JSON.parse('{"id":26011,"spot_id":120066,"promote_pick_up":true,"promote_gift_cards":true,"promote_happy_hour":true,"promote_events":true,"instructions_on_food_page":false,"food_page_instruction_text":"","food_page_instruction_phone":"6176694235","created_at":"2023-04-20T15:27:31.368+00:00","updated_at":"2026-09-01T13:59:24.586+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":0,"pick_ups_priority_value":0,"reservations_priority_value":5,"private_parties_priority_value":5,"catering_priority_value":0,"gift_cards_priority_value":4,"jobs_priority_value":0,"food_and_drinks_priority_value":5,"specials_priority_value":0,"national_days_priority_value":3,"holidays_priority_value":3,"sports_priority_value":4,"walk_ins_priority_value":5,"collecting_emails_priority_value":4,"collecting_phone_numbers_priority_value":3,"growing_social_media_followers_priority_value":5,"increasing_revenue_vs_saving_time_priority_value":3,"events_priority_value":4,"shopping_cart_type":"TMT","shopping_cart_active":false}') : null;
1183
1184
1185  //corona instuctions
1186  function show_corona_instructions(text, phone, btnText){
1187    //format to US number
1188    var match = phone.match(/^(\d{3})(\d{3})(\d{4})$/);
1189
1190    if(corona_config.shopping_cart_type == "TMT" && corona_config.shopping_cart_active == true) {
1191        var linkLocation = "https://tmt.spotapps.co/ordering-menu/?spot_id="+corona_config.spot_id+"&images=yes&accordion=true";
1192        var btnLinkLocation = "https://tmt.spotapps.co/ordering-menu/?spot_id="+corona_config.spot_id+"&images=yes&accordion=true";
1193    }else {
1194        var linkLocation = 'tel:+1'+phone+'';
1195        var btnLinkLocation = 'tel:+1'+ match[1] + '-' + match[2] + '-' + match[3] +''
1196    }
1197    var appendPhone = 'tel:+1'+phone+'';
1198    //inject html content
1199    if ($('.food-menu-nav').length) {
1200      //new template
1201      var pageEl =  $('.food-menu-nav').css('margin','20px auto 10px auto');
1202      var textColor = rgb2hex($('.section-header').css('color'));
1203      var linkColor = rgb2hex($('.food-menu-nav-item.active').css('background-color'));
1204      var fontSize = parseInt($('.food-menu-nav-item').css('font-size'));
1205      fontSize = fontSize + Math.round(fontSize  * 0.25);
1206
1207      // 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>';
1208      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>';
1209
1210    }else {
1211      //old template
1212      var pageEl = $('.tabnav');
1213      var textColor = rgb2hex($('.menu-item-name-traditional').css('color'));
1214      var linkColor = rgb2hex($('.style-traditional .tabnav .nav>li.active>a').css('color'));
1215
1216      var linkTextColor = getContrast50(linkColor);
1217      var fontSize = parseInt($('.menu-item-name-traditional').css('font-size'));
1218      fontSize = fontSize + Math.round(fontSize  * 0.25);
1219      var textTransform = $('.style-traditional .tabnav .nav>li>a').css('text-transform');
1220
1221      // 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>';
1222      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>';
1223
1224    }
1225     //html content
1226    pageEl.prepend(html);
1227  }
1228
1229  function rgb2hex(rgb) {
1230    if(typeof rgb !== "undefined"){
1231      rgbColor = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
1232      if (!rgbColor) {
1233        rgba = rgb.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(,\s*\d+\.*\d+)?\)$/);
1234        return "#" + hex(rgba[1]) + hex(rgba[2]) + hex(rgba[3]);
1235      }
1236      function hex(x) {
1237          return ("0" + parseInt(x).toString(16)).slice(-2);
1238      }
1239      return "#" + hex(rgbColor[1]) + hex(rgbColor[2]) + hex(rgbColor[3]);
1240    }
1241    return rgb;
1242  }
1243
1244  function getContrast50(hexcolor){
1245    return (parseInt(hexcolor, 16) > 0xffffff/2) ? '#000':'#fff';
1246  }
1247
1248  function show_corona_sidebar_instructions(text, phone){
1249    //format to US number
1250    var match = phone.match(/^(\d{3})(\d{3})(\d{4})$/);
1251    var divWidth = 230;
1252    var top = 50;
1253    var linkSize = '1.6em';
1254    var pSize = $('p').css('font-size');
1255    var appendPhone = 'tel:+1'+phone+'';
1256
1257    if ($(window).width() < 1600)
1258      var top = 30;
1259    if ($(window).width() < 1200){
1260      var divWidth = 180;
1261      var linkSize = '1.4em';
1262      var pSize ='1.1em';
1263    }
1264
1265    if($('.food-menu-nav').length){ //new template
1266      var textColor = $('.food-menu-nav-item.active').css('color');
1267      var linkColor = $('.food-menu-nav-item.active').css('background-color');
1268
1269      var linkTextColor = $('.food-menu-nav-item.active').css('color');
1270      var parent = $('.food-menu-page');
1271    }
1272    else { //old template
1273      var textColor = $('.menu-item-name-traditional').css('color');
1274      var linkColor = $('.style-traditional .tabnav .nav>
1274li.active>a').css('color');
1275      var parent = $('.food-menu').length ? $('.food-menu') : $('.drink-menu');
1276      var linkTextColor = getContrast50(linkColor);
1277    }
1278
1279    // $(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>');
1280    $(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>');
1281
1282    //check if resolution is bigger than tablet resolution
1283/*  if ($(window).width() > 991) {
1284      //detect scroll
1285      window.onscroll = function (e) {
1286      if ($(window).scrollTop() == 0) {
1287          $('#corona-instructions-sidebar').hide();
1288        }else {
1289          $('#corona-instructions-sidebar').show();
1290        }
1291      }
1292    } */
1293  }
1294
1295  function check_corona_config(config){
1296    console.log(config)
1297    if (config) {
1298      if (config.instructions_on_food_page && config.food_page_instruction_text && config.food_page_instruction_phone) {
1299        if (!config.promote_deliveries && config.promote_pick_up) {
1300          var btnText = 'Call For Pick Up';
1301        }
1302        if (config.promote_deliveries && !config.promote_pick_up) {
1303          var btnText = 'Call For Delivery';
1304        }
1305        if (config.promote_deliveries && config.promote_pick_up) {
1306          var btnText = 'Call For Pick Up Or Delivery';
1307        }
1308
1309        if(typeof btnText !== "undefined"){ // check if pick up or delivery are true
1310          if(config.shopping_cart_type == "TMT" && config.shopping_cart_active == true) {
1311                var btnText = 'ORDER NOW';
1312                    if($('.food-menu-nav').length){ //new template
1313                      var textColor = rgb2hex($('.section-header').css('color'));
1314                      var linkColor = rgb2hex($('.food-menu-nav-item.active').css('background-color'));
1315                      var fontSize = parseInt($('.food-menu-nav-item').css('font-size'));
1316                      fontSize = fontSize + Math.round(fontSize  * 0.25);
1317                    }
1318                    else { //old template
1319                        var textColor = rgb2hex($('.menu-item-name-traditional').css('color'));
1320                        var linkColor = rgb2hex($('.style-traditional .tabnav .nav>li.active>a').css('color'));
1321
1322                        var linkTextColor = getContrast50(linkColor);
1323                        var fontSize = parseInt($('.menu-item-name-traditional').css('font-size'));
1324                        fontSize = fontSize + Math.round(fontSize  * 0.25);
1325                    }
1326                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);
1327                show_corona_sidebar_instructions(btnText, config.food_page_instruction_phone);
1328            } else {
1329                show_corona_instructions(config.food_page_instruction_text, config.food_page_instruction_phone, btnText);
1330                show_corona_sidebar_instructions(btnText, config.food_page_instruction_phone);
1331            }
1332
1333        }
1334      }
1335    }
1336  }
1337
1338
1339  if (is_food_menu_page() && !window.location.search.includes("contactless=true")){
1340    $( document ).ready(function() {
1341       setTimeout(function(){
1342        check_corona_config(corona_config);
1343       }, 300);
1344    });
1345  }
1346
1347
1348
1349  function isPhone(phone){
1350      var regex = /^(\+\d{1,2}\s?)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$/;
1351      return regex.test(phone);
1352  }
1353
1354  function sendEmail_MT (input_id) {
1355    const $loader = $("[data-id=newsletter-widget-2] .sph-loading-img");
1356
1357    const $step = {
1358      form: $("[data-id=newsletter-widget-2] .sph-email-form"),
1359      message: $("[data-id=newsletter-widget-2] .sph-response-message"),
1360    }
1361
1362    const $field = {
1363      email: $("[data-id=newsletter-widget-2] #sph-newsletter-input-" + input_id),
1364      phone: $("[data-id=newsletter-widget-2] #sph-newsletter-phone-" + input_id),
1365      consent: $("[data-id=newsletter-widget-2] #sph-newsletter-checkbox-phone-" + input_id),
1366    };
1367
1368    const $error = {
1369      email: $("[data-id=newsletter-widget-2] #sph-newsletter-email-error-" + input_id),
1370      phone: $("[data-id=newsletter-widget-2] #sph-newsletter-phone-error-" + input_id),
1371    };
1372
1373    if ($field.email.val().trim() === "") {
1374        $error.email
1375          .html("This field is required")
1376          .show();
1377    }
1378    else if (!isEmail($field.email.val().trim())) {
1379      $error.email
1380        .html("Please use the format “[email protected]”")
1381        .show();
1382    } else {
1383      $error.email
1384        .html("")
1385        .hide();
1386    }
1387
1388    if ($field.consent.is(':checked') && $field.phone.val().trim() === "") {
1389      $error.phone
1390        .html("This field is required")
1391        .show();
1392    } else if ($field.phone.val().trim().length > 0 && !isPhone($field.phone.val().trim())) {
1393      $error.phone
1394        .html("The phone number must contain 10 digits")
1395        .show();
1396    } else {
1397      $error.phone
1398        .html("")
1399        .hide();
1400    }
1401
1402    const errorField = $step.form.find('.sh-form-error:visible');
1403
1404    if (errorField.length > 0) {
1405      const input = errorField.first().next();
1406
1407      document.activeElement.blur();
1408
1409      setTimeout(() => {
1410        input.focus();
1411      }, 160)
1412
1413      return;
1414    }
1415
1416    $loader
1417      .show()
1418      .prev()
1419      .hide();
1420
1421    $.ajax({
1422      method: "POST",
1423      url: "https://www.spothopperapp.com/api/spots/120066/contacts/add_with_texting_permission",
1424      crossDomain: true,
1425      dataType: 'json',
1426      data: {
1427        email: $field.email.val().trim(),
1428        phone: $field.phone.val().trim(),
1429        texting_permission: $field.consent.is(':checked'),
1430      },
1431      success: function (data) {
1432        afterRequestSubmission(data);
1433      },
1434      error: function () {
1435        afterRequestSubmission("Something went wrong. Please try again later.");
1436      }
1437    });
1438
1439    function afterRequestSubmission (data) {
1440      $step.form.hide();
1441
1442      $step.message
1443        .html(data)
1444        .show()
1445        .trigger('focus');
1446    }
1447  }
1448</script>
1448<script>function addPromotionParamsToTMTLinks()
1449{
1450    if (sessionStorage.getItem('shUrlParams')) {
1451        let shParams = JSON.parse(sessionStorage.getItem('shUrlParams'));
1452        if (!Object.keys(shParams).length)
1453            return;
1454        if(!shParams.source)
1455            return;
1456        $('a').each(function () {
1457            if (this.href.includes('tmt.spotapps.co')) {
1458                if(this.href.includes('&source=') || this.href.includes('&destination=') || this.href.includes('&promotion='))
1459                    return;
1460
1461                this.href = this.href + '&source=' + shParams.source;
1462                if(shParams.destination)
1463                    this.href = this.href + '&destination=' + shParams.destination;
1464                if(shParams.promotion)
1465                    this.href = this.href + '&promotion=' + shParams.promotion;
1466                if(shParams.fb_post_id)
1467                    this.href = this.href + '&fb_post_id=' + shParams.fb_post_id;
1468                if(shParams.email_post_id)
1469                    this.href = this.href + '&email_post_id=' + shParams.email_post_id;
1470            }
1471        })
1472    }
1473}
1474setTimeout(function() {
1475  addPromotionParamsToTMTLinks();
1476  addFooterToSourceParam();
1477},600)
1478
1479function addFooterToSourceParam()
1480{
1481    $('.bottom-link').each(function (){
1482        if(shouldAddSourceParam(this.href))
1483          this.href = this.href + '&source=footer';
1484    })
1485    $('#sh-multiple-links-content-holder a').each(function (){
1486       if(shouldAddSourceParam(this.href))
1487          this.href = this.href + '&source=footer';
1488    })
1489}
1490function shouldAddSourceParam(link){
1491  if (link.includes('tmt.spotapps.co') && !link.includes('&source=')){
1492    return true;
1493  }
1494  return false;
1495}
1496</script>
1496<script>
1497;(async () => {
1498if (typeof window.focusTrap === 'undefined') {
1499    await getScript('https://unpkg.com/tabbable/dist/index.umd.js');
1500    await getScript('https://unpkg.com/focus-trap/dist/focus-trap.umd.js');
1501}
1502
1503document.querySelectorAll('.modal').forEach((element) => {
1504    const trap = window.focusTrap?.createFocusTrap(element, {
1505        allowOutsideClick: true,
1506    });
1507
1508    $(element).on('shown.bs.modal', () => {
1509	    trap?.activate();
1510	});
1511
1512	$(element).on('hidden.bs.modal', () => {
1513        trap?.deactivate();
1514    });
1515});
1516
1517async function getScript (source) {
1518    return new Promise((resolve, reject) => {
1519        const script = document.createElement('script');
1520        script.src = source;
1521        script.async = true;
1522
1523        script.onload = resolve;
1524        script.onerror = reject;
1525
1526        document.head.appendChild(script);
1527    });
1528}
1529})();
1530</script>
1530<script src="https://wcache-plugins.spotapps.co/production/wcpl_bootstrap_ada_fix/wcpl_bootstrap_ada_fix.js"></script>
1530<link href="https://wcache-plugins.spotapps.co/production/wcpl_bday_club/wcpl_bday_club.css" rel="stylesheet" media="screen"/>
1530<script src="https://wcache-plugins.spotapps.co/production/wcpl_bday_club/wcpl_bday_club.js"></script>
1530<script src="https://wcache-plugins.spotapps.co/production/wcpl_ga_tracking/wcpl_ga_tracking.js"></script>
1530<script src="https://wcache-plugins.spotapps.co/production/wcpl_media_controls/script.js"></script>
1530<link href="https://wcache-plugins.spotapps.co/production/wcpl_website_editor_interpreter/website_interpreter_helper_style.css" rel="stylesheet" media="screen"/>
1530<script>var changes_log_array = {};</script>
1530<script src="https://wcache-plugins.spotapps.co/production/wcpl_website_editor_interpreter/website_interpreter.js"></script>
1530</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.