PageSourceSearch

https://mill77brewing.com/amesbury-downtown-mill-77-brewing-store

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