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'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'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'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'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.