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