1<!DOCTYPE html> 2�<html lang="en"><head><meta content="null" property="og:site_name"/><meta content="http://sombrerostahoe.com/reservations" property="og:url"/><meta content="website" property="og:type"/><meta content="Itâs about family, friends, and food from home. Long-time Tahoe locals, Jesus âChuyâ Ahumada and Stacey Hernandez, transformed a dream into reality when they opened Sombreros Mexican R..." property="og:description"/><meta content="Sombreros Mexican Restaurant - Reservations" property="og:title"/><!-- 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-CR053TMJF1'); 8 gtag('config', 'G-VG24VK2VKT'); 9 </script>
9<!-- wcache 2026-09-29 13:14:41.812050Z --><!-- 10smart_footer: true, 11smart_footer_version: 2, 12scripting_active: false 13--><link href="https://sombrerostahoe.com/reservations" 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="https://static.spotapps.co/website_images/ab_websites/162316_website_v1/socials.jpg" property="og:image"/><meta content="Sombreros Mexican Restaurant image" property="og:image:alt"/><meta content="image/png" property="og:image:type"/><meta content="summary_large_image" name="twitter:card"/><meta content="Sombreros Mexican Restaurant - Reservations" name="twitter:title"/><meta content="Itâs about family, friends, and food from home. Long-time Tahoe locals, Jesus âChuyâ Ahumada and Stacey Hernandez, transformed a dream into reality when they opened Sombreros Mexican R..." name="twitter:description"/><meta content="https://static.spotapps.co/website_images/ab_websites/162316_website_v1/socials.jpg" name="twitter:image"/><title>Sombreros Mexican Restaurant - Reservations</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/162316_website_v1/favicons/favicon-96x96.png" rel="icon" sizes="96x96" type="image/png"/><link href="https://static.spotapps.co/website_images/ab_websites/162316_website_v1/favicons/favicon.svg" rel="icon" type="image/svg+xml"/><link href="https://static.spotapps.co/website_images/ab_websites/162316_website_v1/favicons/favicon.ico" rel="shortcut icon"/><link href="https://static.spotapps.co/website_images/ab_websites/162316_website_v1/favicons/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180"/><meta content="Sombreros Mexican Restaurant" name="apple-mobile-web-app-title"/><link href="https://static.spotapps.co/website_images/ab_websites/162316_website_v1/favicons/site.webmanifest" rel="manifest"/><link href="https://static.spotapps.co/web/sombrerostahoe--com/lib/bootstrap/css/bootstrap.min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/sombrerostahoe--com/lib/custom-scrollbar/jquery.mCustomScrollbar.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/sombrerostahoe--com/lib/font-awesome-4.7.0/css/font-awesome.min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/sombrerostahoe--com/lib/hover_css/css/hover-min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/sombrerostahoe--com/lib/owlcarousel/owl.carousel.min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/sombrerostahoe--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/sombrerostahoe--com/css/style.css?version2" id="mainCSS" rel="stylesheet"/><link href="https://static.spotapps.co/web/sombrerostahoe--com/css/bottom_navigation_v1.css?v1765365644" rel="stylesheet"/><link href="css/custom.css?v1765365644&domain=sombrerostahoe.com" rel="stylesheet"/><link href="https://static.spotapps.co/web/sombrerostahoe--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/sombrerostahoe--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: auto; 17 min-height: 100%; 18 } 19 .tmt-page.party-background.drink-menu { 20 background-color: #ebebeb; 21 } 22 23 </style>
23<script src="https://static.spotapps.co/websites/lib/lazysizes/lazysizes.min.js" async=""></script>
23<script> 24function ga_check(){ 25 return true; 26} 27</script>
27<script> 28function universal_ga(action, type, category, ev_action, label){ 29 if(typeof ga === 'function') 30 { 31 if(!(action && label)) 32 ga(action, type, category) 33 else 34 ga(action, type, category, ev_action, label) 35 } 36 37 if(typeof gtag === 'function') 38 { 39 if(!(action && label)) 40 { 41 hash = category 42 ev_label = hash["eventLabel"] 43 var splits = ev_label.match(/.{1,100}/g) ?? []; 44 delete(hash["eventLabel"]) 45 46 if(splits.length <= 1) 47 hash["eventLabel"] = ev_label 48 else 49 { 50 for (let i = 0; i < splits.length; i++) { 51 var key = "eventLabel_"+i 52 hash[key] = splits[i] 53 } 54 } 55 console.log(hash) 56 gtag("event", hash["eventCategory"], hash); 57 } 58 else 59 { 60 var hash = { 61 eventCategory: category, 62 eventAction: ev_action 63 } 64 65 var splits = label.match(/.{1,100}/g) ?? []; 66 if(splits.length <= 1) 67 hash["eventLabel"] = label 68 else 69 { 70 for (let i = 0; i < splits.length; i++) { 71 var key = "eventLabel_"+i 72 hash[key] = splits[i] 73 } 74 } 75 gtag("event", hash["eventCategory"], hash); 76 } 77 } 78} 79</script>
79<script> function getPromotionUrlParams(){ 80 var params_str = sessionStorage.getItem('shUrlParams'); 81 if (params_str != null){ 82 return JSON.parse(params_str); 83 }else{ 84 return {}; 85 } 86 } 87 88 function getPromotionSourceDetails(){ 89 var params_str = localStorage.getItem('promotionSourceDetails'); 90 if (params_str != null){ 91 return JSON.parse(params_str); 92 }else{ 93 return {}; 94 } 95 } 96 97 function getLastEmailVisitInDays(){ 98 var promotionSourceDetails = getPromotionSourceDetails(); 99 if (!promotionSourceDetails['last_visit_email'] ){ 100 return null; 101 } 102 return Math.floor((new Date() - new Date(promotionSourceDetails['last_visit_email'])) / (1000 * 60 * 60 * 24)); 103 } 104 105 function getLastSocialVisitInDays(){ 106 var promotionSourceDetails = getPromotionSourceDetails(); 107 if (!promotionSourceDetails['last_visit_social'] ){ 108 return null; 109 } 110 return Math.floor((new Date() - new Date(promotionSourceDetails['last_visit_social'])) / (1000 * 60 * 60 * 24)); 111 } 112 113 var shUrlParams = getPromotionUrlParams(); 114 var promotionSourceDetails = getPromotionSourceDetails(); 115 116 new URL(document.location).searchParams.forEach(function(value, paramName){ 117 118 shUrlParams[paramName] = value; 119 120 if (paramName == 'source' && value =='social' ){ 121 promotionSourceDetails['last_visit_social'] = new Date(); 122 localStorage.setItem('promotionSourceDetails', JSON.stringify(promotionSourceDetails)); 123 } 124 125 if (paramName == 'source' && value =='email' ){ 126 promotionSourceDetails['last_visit_email'] = new Date(); 127 localStorage.setItem('promotionSourceDetails', JSON.stringify(promotionSourceDetails)); 128 } 129 130 }); 131 132 sessionStorage.setItem('shUrlParams', JSON.stringify(shUrlParams)) 133</script>
133<style>a:focus:not(:focus-visible){outline:none;box-shadow:none;} 134a.get-directions-footer-link{display:inline-block;transform-origin:left center;transition:transform .2s ease;} 135a.get-directions-footer-link:hover{transform:scale(1.08);} 136@media (prefers-reduced-motion:reduce){a.get-directions-footer-link{transition:none;transform:none;}} 137a.get-directions-footer-link,a.get-directions-footer-link:hover{color:inherit!important;}</style></head><body class="drink-menu party party-background reservations-tmt-page tmt-page" id="tmtPage"><style>.main-holder-tmt.page-mode-light { 138 color: #000 139} 140.main-holder-tmt.page-mode-dark { 141 color: #fff 142} 143.main-holder-tmt { 144 min-height: 100vh; 145 padding-bottom: 100px; 146} 147.main-holder-tmt .text-holder { 148 text-align: center; 149 max-width: 1140px; 150 margin: 50px auto; 151} 152.main-holder-tmt .text-holder .page-heading { 153 margin-top: 0; 154 margin-bottom: 50px; 155} 156.main-holder-tmt .text-holder .page-text { 157 margin-top: 0; 158 margin-bottom: 0; 159 text-transform: none; 160} 161.main-holder-tmt .content-holder { 162 max-width: 1140px; 163 margin: 50px auto 0; 164} 165.main-holder-tmt .content-holder .tmt-form { 166 position: relative; 167 width: 100%; 168} 169.main-holder-tmt .tmt-form .tmt-iframe { 170 border-radius: 5px; 171} 172.main-holder-tmt .content-holder .tmt-form .custom-loader { 173 position: absolute; 174 top: 0; 175 left: 50%; 176 margin-left: -50px; 177} 178@media (max-width: 1200px) { 179 .main-holder-tmt .text-holder { 180 max-width: 960px; 181 } 182 .main-holder-tmt .content-holder { 183 max-width: 960px; 184 } 185} 186@media (max-width: 991px) { 187 .main-holder-tmt .text-holder { 188 max-width: 720px; 189 } 190 .main-holder-tmt .content-holder { 191 max-width: 720px; 192 } 193} 194@media (max-width: 767px) { 195 .main-holder-tmt .text-holder { 196 max-width: 540px; 197 margin-top: 30px; 198 margin-bottom: 20px; 199 padding: 0 15px; 200 } 201 .main-holder-tmt .content-holder { 202 max-width: 540px; 203 padding: 0 15px; 204 } 205}</style><div><header style="background-color:#000000;"><style> 206 207.nav-v8 .nav-tab:nth-child(n+6) { 208 -webkit-box-ordinal-group: 3; 209 order: 3; 210} 211 212.navbar.nav-v6.nav-v8 .desktop-navigation .header-logo { 213 top: 0px; 214} 215 216 217.navbar.nav-v6.nav-v8.nav-scroll .desktop-navigation .header-logo { 218 top: 0px; 219} 220 221.navbar.nav-v6 .container { 222 padding-top: 10px; 223 padding-bottom: 10px; 224} 225.navbar.nav-v6.nav-scroll .container { 226 padding-top: 0px; 227 padding-bottom: 0px; 228} 229.navbar.nav-v6 .header-logo img { 230 max-width: 100%; 231} 232 233@media (max-width: 767px) { 234 /* DO NOT change mobile nav height on page scroll */ 235 .navbar.nav-v6 .navbar-header, 236 .navbar.nav-v6.nav-scroll .navbar-header { 237 padding-top: 10px; 238 padding-bottom: 10px; 239 } 240 .navbar.nav-v6.nav-v8 .socialnav, 241 .navbar.nav-v6.nav-v8.nav-scroll .socialnav { 242 margin-top: 10px; 243 } 244 .navbar.nav-v6 .container, 245 .navbar.nav-v6.nav-scroll .container { 246 padding-top: 0; 247 padding-bottom: 0; 248 } 249 .navbar.nav-v6 .header-logo, 250 .navbar.nav-v6.nav-scroll .header-logo { 251 height: 70px; 252 } 253 .navbar.nav-v6 .header-logo img { 254 max-height: 100%; 255 } 256 .navbar.nav-v6.nav-scroll .header-logo img { 257 max-width: 100%; 258 } 259 /* HOME page CHANGE mobile nav height on page scroll */ 260 /* Remove body.home-page from below code if there should be mobile nav height change on ALL pages */ 261 body.home-page .navbar.nav-v6 .navbar-header { 262 padding-top: 10px; 263 padding-bottom: 10px; 264 } 265 body.home-page .navbar.nav-v6.nav-scroll .navbar-header{ 266 padding-top: 0px; 267 padding-bottom: 0px; 268 } 269 body.home-page .navbar.nav-v6.nav-v8 .socialnav { 270 margin-top: 10px; 271 } 272 body.home-page .navbar.nav-v6.nav-v8.nav-scroll .socialnav { 273 margin-top: 0px; 274 } 275 body.home-page .navbar.nav-v6 .container{ 276 padding-top: 0; 277 padding-bottom: 0; 278 } 279 body.home-page .navbar.nav-v6.nav-scroll .container { 280 padding-top: 0; 281 padding-bottom: 0; 282 } 283 body.home-page .navbar.nav-v6 .header-logo { 284 height: 70px; 285 } 286 body.home-page .navbar.nav-v6.nav-scroll .header-logo { 287 height: 50px; 288 } 289 body.home-page .navbar.nav-v6 .header-logo img { 290 max-height: 100%; 291 max-width: 100%; 292 } 293 body.home-page .navbar.nav-v6.nav-scroll .header-logo img { 294 max-width: 80%; 295 } 296} 297 298 299.navbar-regular .navbar-collapse.collapse.in { 300 background-color: transparent; 301 width: 100%; 302} 303.navbar.nav-v6 .navbar-tabs { 304 background-color: #232323; 305 -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0); 306 -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0); 307 box-shadow: 0px 4px 4px 0px rgba(0,0,0,0); 308} 309.navbar.nav-v6.nav-scroll .navbar-tabs { 310 background-color: #232323; 311 -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2); 312 -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2); 313 box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2); 314} 315.drink-menu .navbar.nav-v6 .navbar-tabs { 316 background-color: #232323; 317 -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0); 318 -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0); 319 box-shadow: 0px 4px 4px 0px rgba(0,0,0,0); 320} 321.drink-menu .navbar.nav-v6.nav-scroll .navbar-tabs { 322 background-color: #232323; 323 -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2); 324 -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2); 325 box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2); 326} 327li.drop-down-link .sub-menu { 328 background-color: #232323; 329 color: #fff; 330 } 331.nav-scroll li.drop-down-link .sub-menu { 332 background-color: #232323; 333 color: #fff; 334} 335.drink-menu li.drop-down-link .sub-menu { 336 background-color: #232323; 337 color: #fff; 338} 339.drink-menu .nav-scroll li.drop-down-link .sub-menu { 340 background-color: #232323; 341 color: #fff; 342} 343li.drop-down-link .sub-menu a, 344li.drop-down-link div.drop-down { 345 color: #fff; 346} 347.nav-scroll li.drop-down-link .sub-menu a, 348.nav-scroll li.drop-down-link div.drop-down { 349 color: #fff; 350} 351.drink-menu li.drop-down-link .sub-menu a, 352.drink-menu li.drop-down-link div.drop-down { 353 color: #fff; 354} 355.drink-menu .nav-scroll li.drop-down-link .sub-menu a, 356.drink-menu .nav-scroll li.drop-down-link div.drop-down { 357 color: #fff; 358} 359 360.navbar-regular.nav-v6 .navbar-nav>li>a, 361.navbar-regular.nav-v6 .navbar-nav>li>a:hover, 362.navbar-regular.nav-v6 .navbar-nav>.active>a, 363.navbar-regular.nav-v6 .navbar-nav>.active>a:focus, 364.navbar-regular.nav-v6 .navbar-nav>.active>a:hover{ 365 border: none; 366 background-color: transparent; 367 color: #fff; 368} 369.navbar-regular.nav-v6 .navbar-nav>li>a { 370 color: #fff; 371} 372.drink-menu .navbar.nav-v6 .navbar-nav>li>a { 373 color: #fff; 374} 375.drink-menu .navbar-regular.nav-v6 .navbar-nav>li>a:hover, 376.drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a, 377.drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:focus, 378.drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:hover {
379 color: #fff; 380} 381 382li.drop-down-link .sub-menu a:hover, 383li.drop-down-link .sub-menu a:focus { 384 color: #fff; 385} 386.drink-menu li.drop-down-link .sub-menu a:hover, 387.drink-menu li.drop-down-link .sub-menu a:focus { 388 color: #fff; 389} 390 391.drink-menu .navbar.nav-v7 .navbar-nav>li>a { 392 color: #fff; 393} 394 395.navbar-regular.nav-v6 .navbar-toggle .icon-bar { 396 background-color: #fff; 397} 398.drink-menu .navbar-regular.nav-v6 .navbar-toggle .icon-bar { 399 background-color: #fff; 400} 401.navbar-regular.nav-v6 [aria-expanded="true"].navbar-toggle .icon-bar { 402 background-color: #fff; 403} 404.drink-menu .navbar-regular.nav-v6 [aria-expanded="true"].navbar-toggle .icon-bar { 405 background-color: #fff; 406} 407.navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a, 408.navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover, 409.navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a, 410.navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus, 411.navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover { 412 border: none; 413 color: #fff; 414} 415.navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a { 416 color: #fff; 417} 418.drink-menu .navbar.nav-v6.nav-scroll .navbar-nav>li>a { 419 border: none; 420 color: #fff; 421} 422.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover, 423.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a, 424.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus, 425.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover { 426 color: #fff; 427} 428 429.nav-scroll li.drop-down-link .sub-menu a:hover, 430.nav-scroll li.drop-down-link .sub-menu a:focus { 431 color: #fff; 432} 433.drink-menu .nav-scroll li.drop-down-link .sub-menu a:hover, 434.drink-menu .nav-scroll li.drop-down-link .sub-menu a:focus { 435 color: #fff; 436} 437 438.navbar-regular.nav-v6.nav-scroll .navbar-toggle .icon-bar { 439 background-color: #fff; 440} 441.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-toggle .icon-bar { 442 background-color: #fff; 443} 444.navbar-regular.nav-v6.nav-scroll [aria-expanded="true"].navbar-toggle .icon-bar { 445 background-color: #fff; 446} 447.drink-menu .navbar-regular.nav-v6.nav-scroll [aria-expanded="true"].navbar-toggle .icon-bar { 448 background-color: #fff; 449} 450.navbar.nav-v6 .header-logo-text{ 451 color: #fff; 452} 453.navbar.nav-v6.nav-scroll .header-logo-text{ 454 color: #fff; 455} 456.navbar.nav-v6 .social-icon{ 457 color: #fff; 458} 459.navbar.nav-v6.nav-scroll .social-icon{ 460 color: #fff; 461} 462.navbar.nav-v6 .social-square .contact-icon:hover { 463 color: #fff; 464 background-color: #fff; 465} 466.navbar.nav-v6.nav-scroll .social-square .contact-icon:hover { 467 color: #fff; 468 background-color: #fff; 469} 470 471.drink-menu .navbar.nav-v6 .header-logo-text{ 472 color: #fff; 473} 474.drink-menu .navbar.nav-v6.nav-scroll .header-logo-text{ 475 color: #fff; 476} 477.drink-menu .navbar.nav-v6 .social-icon{ 478 color: #fff; 479} 480.drink-menu .navbar.nav-v6.nav-scroll .social-icon{ 481 color: #fff; 482} 483.drink-menu .navbar.nav-v6 .social-square .contact-icon:hover { 484 color: #fff; 485 background-color: #fff; 486} 487.drink-menu .navbar.nav-v6.nav-scroll .social-square .contact-icon:hover { 488 color: #fff; 489 background-color: #fff; 490} 491.navbar.nav-v6 .navbar-tabs { 492 border-bottom: 1px solid transparent; 493} 494.navbar.nav-v6.nav-scroll .navbar-tabs { 495 border-bottom: 1px solid transparent; 496} 497.drink-menu .navbar.nav-v6 .navbar-tabs { 498 border-bottom: 1px solid transparent; 499} 500.drink-menu .navbar.nav-v6.nav-scroll .navbar-tabs { 501 border-bottom: 1px solid transparent; 502} 503@media (max-width: 767px) { 504 .navbar.nav-v6 { 505 background-color: #232323; 506 -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0); 507 -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0); 508 box-shadow: 0px 4px 4px 0px rgba(0,0,0,0); 509 } 510 .navbar.nav-v6.nav-scroll { 511 background-color: #232323; 512 -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2); 513 -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2); 514 box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2); 515 } 516 .drink-menu .navbar.nav-v6 { 517 background-color: #232323; 518 -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0); 519 -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0); 520 box-shadow: 0px 4px 4px 0px rgba(0,0,0,0); 521 } 522 .drink-menu .navbar.nav-v6.nav-scroll { 523 background-color: #232323; 524 -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2); 525 -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2); 526 box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2); 527 } 528 .navbar.nav-v6 .container, 529 .navbar.nav-v6.nav-scroll .container, 530 .drink-menu .navbar.nav-v6 .container, 531 .drink-menu .navbar.nav-v6.nav-scroll .container { 532 border-bottom: none; 533 } 534 .navbar.nav-v6 .navbar-header { 535 border-bottom: 1px solid transparent; 536 } 537 .navbar.nav-v6.nav-scroll .navbar-header { 538 border-bottom: 1px solid transparent; 539 } 540 .drink-menu .navbar.nav-v6 .navbar-header { 541 border-bottom: 1px solid transparent; 542 } 543 .drink-menu .navbar.nav-v6.nav-scroll .navbar-header { 544 border-bottom: 1spx solid transparent; 545 } 546 li.drop-down-link .sub-menu, 547 .drink-menu li.drop-down-link .sub-menu { 548 background-color: transparent; 549 } 550 .nav-scroll li.drop-down-link .sub-menu, 551 .drink-menu .nav-scroll li.drop-down-link .sub-menu { 552 background-color: transparent; 553 } 554 .navbar-regular.nav-v6 .navbar-nav>li>a:hover, 555 .navbar-regular.nav-v6 .navbar-nav>.active>a, 556 .navbar-regular.nav-v6 .navbar-nav>.active>a:focus, 557 .navbar-regular.nav-v6 .navbar-nav>.active>a:hover{ 558 background-color: #fff; 559 color: #fff; 560 } 561 .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover, 562 .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a, 563 .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus, 564 .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover{ 565 background-color: #fff; 566 color: #fff; 567 } 568 .drink-menu .navbar-regular.nav-v6 .navbar-nav>li>a:hover, 569 .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a, 570 .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:focus, 571 .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:hover{ 572 background-color: #fff; 573 color: #fff; 574 } 575 .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover, 576 .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a, 577 .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus, 578 .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover{ 579 background-color: #fff; 580 color: #fff; 581 } 582 583 .navbar-regular.nav-v6 li.drop-down-link.active .drop-down .fa.fa-angle-up { 584 color: #fff; 585 } 586 .navbar-regular.nav-v6.nav-scroll li.drop-down-link.active .drop-down .fa.fa-angle-up { 587 color: #fff; 588 } 589 .drink-menu .navbar-regular.nav-v6 li.drop-down-link.active .drop-down .fa.fa-angle-up { 590 color: #fff; 591 } 592 .drink-menu .navbar-regular.nav-v6.nav-scroll li.drop-down-link.active .drop-down .fa.fa-angle-up { 593 color: #fff; 594 } 595} 596</style><!-- nav --><nav class="navbar nav-v4 nav-v6 nav-v7 nav-v8 nav-top navbar-regular navbar-fixed-top" id="navbar" role="navigation"><div id="skip"><a class="visuallyhidden skip-content" href="#content">Skip to main content</a></div><div class="desktop-navigation"><div class="navbar-tabs"><div class="container"><div class="navbar-content"><ul class="nav navbar-nav"><li class="logo-holder"><div class="header-logo logo-top"><img alt="Sombreros Mexican Restaurant logo top - Homepage" aria-label="Homepage" class="img-responsive logo-top logo-image" role="link" src="https://static.spotapps.co/website_images/ab_websites/162316_website_v1/logo.png" tabindex="0"/></div><div class="header-logo logo-scroll"><img alt="Sombreros Mexican Restaurant logo scroll - Homepage" aria-label="Homepage" class="img-responsive logo-scroll logo-image" role="link" src="https://static.spotapps.co/website_images/ab_websites/162316_website_v1/logo.png" tabindex="0"/></div></li><li class="nav-tab nav-menu-page"><a class="" href="/food-menu" id="nav_tab_1_link" target="_self"> 597 598 Menu 599 </a></li><li class="nav-tab"><a class="" href="/drink-menu" id="nav_tab_2_link" target="_self"> 600 601 Drinks 602 </a></li><li class="nav-tab nav-order-link"><a class="link-order-sh" href="https://microsite.talech.com/ordering/SOMBREROS-SOUTH-LAKE-TAHOE-CA/799979#" id="nav_tab_3_link" target="_self"> 603 604 Order 605 </a></li><li class="nav-tab nav-parties-link"><a class="link-parties-sh" href="/party#" id="nav_tab_4_link" target="_self"> 606 607 Parties 608 </a></li><li class="nav-tab nav-catering-link"><a class="link-catering-sh" href="/catering#" id="nav_tab_5_link" target="_self"> 609 610 Catering 611 </a></li><li class="nav-tab"><a class="" href="/about" id="nav_tab_6_link" target="_self"> 612 613 About 614 </a></li><li class="nav-tab nav-jobs-link"><a class="link-jobs-sh" href="https://tmt.spotapps.co/job-listings?spot_id=162316&callback_url=http://sombrerostahoe.com/-reservations#" id="nav_tab_7_link" target="_self"> 615 616 Jobs 617 </a></li><li class="nav-tab helper-tab"><a href="#" id="hidden_tab_r" target="_self"><span class="visuallyhidden">Go to top</span></a></li></ul><ul class="socialnav"><li class="social-links social-icons-holder social-square"><a class="pull-left contact-icon" href="https://www.google.com/search?sca_esv=ad493edfaf16cbec&q=Sombreros+Mexican+Restaurant&ludocid=11337143260213020798&lsig=AB86z5UXVLwmcGjSgXbK0_vPPcIc&sa=X&ved=2ahUKEwiMvp7f5ciPAxUu9rsIHaJ1NP4QoAJ6BAgPEB4&biw=1536&bih=695&dpr=1.25&zx=1757321774276&no_sw_cr=1#lrd=0x80998d8f6246dad3:0x9d559fba78b6087e,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="Sombreros Mexican Restaurant logo top - Homepage" aria-label="Homepage" class="img-responsive logo-top" src="https://static.spotapps.co/website_images/ab_websites/162316_website_v1/logo.png"/></a><a class="header-logo logo-scroll" href="/"><img alt="Sombreros Mexican Restaurant logo scroll - Homepage" aria-label="Homepage" class="img-responsive logo-scroll" src="https://static.spotapps.co/website_images/ab_websites/162316_website_v1/logo.png"/></a><ul class="socialnav"><li class="social-links social-icons-holder social-square"><a class="pull-left contact-icon" href="https://www.google.com/search?sca_esv=ad493edfaf16cbec&q=Sombreros+Mexican+Restaurant&ludocid=11337143260213020798&lsig=AB86z5UXVLwmcGjSgXbK0_vPPcIc&sa=X&ved=2ahUKEwiMvp7f5ciPAxUu9rsIHaJ1NP4QoAJ6BAgPEB4&biw=1536&bih=695&dpr=1.25&zx=1757321774276&no_sw_cr=1#lrd=0x80998d8f6246dad3:0x9d559fba78b6087e,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-menu-page"><a class="" href="/food-menu" id="mobile_nav_tab_1_link" target="_self"> 618 Menu 619 620 </a></li><li class=" "><a class="" href="/drink-menu" id="mobile_nav_tab_2_link" target="_self"> 621 Drinks 622 623 </a></li><li class=" nav-order-link"><a class="link-order-sh" href="https://microsite.talech.com/ordering/SOMBREROS-SOUTH-LAKE-TAHOE-CA/799979#" id="mobile_nav_tab_3_link" target="_self"> 624 Order 625 626 </a></li><li class=" nav-parties-link"><a class="link-parties-sh" href="/party#" id="mobile_nav_tab_4_link" target="_self"> 627 Parties 628 629 </a></li><li class=" nav-catering-link"><a class="link-catering-sh" href="/catering#" id="mobile_nav_tab_5_link" target="_self"> 630 Catering 631 632 </a></li><li class=" "><a class="" href="/about" id="mobile_nav_tab_6_link" target="_self"> 633 About 634 635 </a></li><li class=" nav-jobs-link"><a class="link-jobs-sh" href="https://tmt.spotapps.co/job-listings?spot_id=162316&callback_url=http://sombrerostahoe.com/-reservations#" id="mobile_nav_tab_7_link" target="_self"> 636 Jobs 637 638 </a></li></ul></div></div></div></nav></header><main id="content" role="main"><article><div class="pagecontent"><div class="tabs-container"><div class="scrolling"><div class="main-holder-tmt page-mode-light"><div class="text-holder"><h1 class="page-heading section-header page-title">Reservations</h1><p class="page-text">To make a reservation, simply fill out the form below with your desired date, time, and number of guests! Please also advise if you have any special requests. Thank y
638ou for choosing to dine with us - we can't wait to see you!</p></div><div class="content-holder"><div class="tmt-form"><div class="custom-loader loader-1" id="loader"></div><iframe id="tmtIframe" class="tmt-iframe hide-iframe" src="https://tmt.spotapps.co/reservations/reservations_v2?spot_id=162316&source=pop_up&destination=reservations&promotion=reservations" title="Reservations" frameborder="0" width="100%" height="100%" allowfullscreen="allowfullscreen" scrolling="no"></iframe></div></div></div></div></div></div></article></main></div><style type="text/css"> 639 .navbar-fixed-bottom.nav-v1 { 640 bottom: -100px; 641 } 642 .navbar-fixed-bottom.nav-v1 .nav.navbar-nav.navbar-right { 643 background-color: #282827; 644 } 645 .navbar-fixed-bottom.nav-v1 .bottom-svg-border path, 646 .navbar-fixed-bottom.nav-v1 .bottom-svg-border polygon { 647 fill: #000; 648 } 649 .navbar-fixed-bottom.nav-v1 .bottom-list-item a { 650 color: #fff; 651 } 652 .navbar-fixed-bottom.nav-v1 .bottom-list-item a:hover, 653 .navbar-fixed-bottom.nav-v1 .bottom-list-item a:focus { 654 color: #fff; 655 } 656</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://microsite.talech.com/ordering/SOMBREROS-SOUTH-LAKE-TAHOE-CA/799979" id="bottom_link_4" target="_self"> 657 Order </a></li><li class="bottom-list-item "><a class="bottom-link " href="/reservations" id="bottom_link_3" target="_self"> 658 Reserve </a></li><li class="bottom-list-item "><a class="bottom-link " href="/party" id="bottom_link_5" target="_self"> 659 Parties </a></li><li class="bottom-list-item "><a class="bottom-link " href="/catering" id="bottom_link_6" target="_self"> 660 Catering </a></li><li class="bottom-list-item "><a class="bottom-link " href="https://tmt.spotapps.co/job-listings?spot_id=162316&callback_url=http://sombrerostahoe.com/-reservations" id="bottom_link_7" target="_self"> 661 Jobs </a></li></ul></div></nav>
661<script src="https://static.spotapps.co/web/sombrerostahoe--com/lib/jquery/jquery.min.js"></script>
661<script src="https://static.spotapps.co/web/sombrerostahoe--com/lib/bootstrap/js/bootstrap.min.js"></script>
661<script src="https://static.spotapps.co/web/sombrerostahoe--com/js/tmt_script.js"></script>
661<script> 662 663 $("#bottom_link_4").on("click", function(){ 664 if (ga_check()) 665 universal_ga('send', 'event', 'Button', 'Click', 'Order Online'); 666 }); 667 $("#bottom_link_3").on("click", function(){ 668 if (ga_check()) 669 universal_ga('send', 'event', 'Button', 'Click', 'Reserve'); 670 }); 671 $("#bottom_link_5").on("click", function(){ 672 if (ga_check()) 673 universal_ga('send', 'event', 'Button', 'Click', 'Private Party'); 674 }); 675 $("#bottom_link_6").on("click", function(){ 676 if (ga_check()) 677 universal_ga('send', 'event', 'Button', 'Click', 'Catering'); 678 }); 679 $("#bottom_link_7").on("click", function(){ 680 if (ga_check()) 681 universal_ga('send', 'event', 'Button', 'Click', 'Jobs'); 682 }); 683 $('.header-logo, .nav-v2-home-btn').click(function(event) { 684 if ( window.location.pathname == '/' || window.location.pathname == '/index.php') { 685 event.preventDefault(); 686 var windowScrollTop = $(window).scrollTop(); 687 if(windowScrollTop > 150) { 688 $('html, body').animate({scrollTop: 0}, 750); 689 } 690 } 691 }); 692 693$(".banner-section a.banner-pin").click(function(e) { 694 // target element id 695 var id = $(this).attr('href'); 696 697 // target element 698 var section = $(id); 699 if (section.length === 0) { 700 return; 701 } 702 703 // prevent standard hash navigation (avoid blinking in IE) 704 e.preventDefault(); 705 706 // top position relative to the document 707 var pos = section.offset().top - 100 + 10; 708 709 // animated top scrolling 710 $('body, html').animate({scrollTop: pos}, 750); 711}); 712 713$(document).ready(function() { 714 var navHeight = $('nav.navbar').height(); 715 $('html').css("scroll-padding-top", navHeight); 716}); 717 718var called_v8_scroll = false; 719 720$(document).on('scroll', function (e) { 721 if($(document).scrollTop() > 0) { 722 $('.navbar.nav-v7').addClass('nav-scroll'); 723 $('.navbar.nav-v7').removeClass('nav-top'); 724 if (2 !=2 && 2 == 2) { 725 if(!called_v8_scroll) { 726 setTimeout(function(){ 727 setHelperTabWidth(); 728 called_v8_scroll = true; 729 }, 300); 730 } 731 } 732 }else { 733 $('.navbar.nav-v7').removeClass('nav-scroll'); 734 $('.navbar.nav-v7').addClass('nav-top'); 735 if (2 != 2 && 2 == 2) { 736 $('#hidden_tab_r').width(0); 737 $('#hidden_tab_l').width(0); 738 $('.navbar-nav li.nav-tab').first().css('margin-left', '0px'); 739 $('.navbar-nav li.nav-tab').last().css('margin-right', '0px'); 740 called_v8_scroll = false; 741 } 742 } 743}); 744 745$(function() { 746 setDropDownMenuWidth(); 747 748 function setDropDownMenuWidth() { 749 var tabs_list = $('.navbar-tabs .navbar-nav'); 750 751 $(tabs_list).find('li.drop-down-link').each(function() { 752 var sub_menu_width = $(this).outerWidth(true); 753 if (sub_menu_width < 100) { 754 sub_menu_width = 100; 755 } 756 $(this).find('.sub-menu').css('width', sub_menu_width+'px'); 757 }); 758 } 759 760 $( window ).resize(function() { 761 setDropDownMenuWidth(); 762 }); 763 $( window ).load(function() { 764 setDropDownMenuWidth(); 765 }); 766 767}); 768 769 770 771$( '.drop-down-link .drop-down' ).click(function(event) { 772 event.preventDefault(); 773 event.stopPropagation(); 774 775 var drop_down = $(this).closest('.drop-down-link'); 776 var drop_down_a = $(this); 777 778 if($(drop_down_a).attr("aria-expanded") == "true") { 779 $(drop_down_a).attr("aria-expanded",false) 780 } else { 781 $(drop_down_a).attr("aria-expanded",true) 782 } 783 784 785 var sub_menu = $(this).closest('.drop-down-link').find( '.sub-menu' ); 786 787 if ( $(sub_menu).is( ':hidden' ) ) { 788 $(sub_menu).slideDown(); 789 $(drop_down).addClass('active'); 790 } else { 791 $(sub_menu).slideUp(); 792 $(drop_down).removeClass('active'); 793 } 794}); 795 796//// Set width for corresponding helper tab or margin for first or last nav tab depending on calculeted width sum of left and right tabs 797function setHelperTabWidth() { 798 var nav_tab_width; 799 var tabs_left_width = 0; 800 var tabs_right_width = 0; 801 802 var full_nav_tab_width; 803 var full_tabs_left_width = 0; 804 var full_tabs_right_width = 0; 805 806 $('li.nav-tab').each(function( index, element ) { 807 808 nav_tab_width = $(element).find('a').width(); 809 full_nav_tab_width = $(element).outerWidth(true); 810 811 if (!($(element).hasClass('helper-tab'))) { 812 if (index<4) { 813 tabs_left_width += nav_tab_width; 814 full_tabs_left_width += full_nav_tab_width; 815 } else { 816 tabs_right_width += nav_tab_width; 817 full_tabs_right_width += full_nav_tab_width; 818 } 819 } else { 820 if(index == 0) { 821 full_tabs_left_width += full_nav_tab_width; 822 } else { 823 full_tabs_right_width += full_nav_tab_width; 824 } 825 } 826 827 }); 828 829 var tabs_width_differance = tabs_left_width - tabs_right_width; 830 var helper_value = Math.abs(tabs_width_differance); 831 var full_tabs_width_differance = full_tabs_left_width - full_tabs_right_width; 832 833 // if sum of left tabs width is smaller than rigth tabs width tabs_width_differance is negative set margin left for first tab 834 if (full_tabs_width_differance != 0) { 835 if (tabs_width_differance < 0) { 836 $('.navbar-nav li.nav-tab').first().css('margin-left', helper_value+'px'); 837 } else { 838 $('.navbar-nav li.nav-tab').last().css('margin-right', helper_value+'px'); 839 } 840 } 841 842} 843 844$(function() { 845 setNavTabsWidth(); 846 847 function setNavTabsWidth() { 848 var container_width = $('.navbar-tabs .container').outerWidth(); 849 var social_icons_width = $('.navbar-tabs .socialnav').outerWidth(true); 850 var reduced_tabs_width = container_width - (2 * social_icons_width) -10; 851 852 $('.navbar-tabs .navbar-content').width(reduced_tabs_width); 853 854 // helper value set in case logo is centered and tabs width sum on the left and on the right are not the same 855 if (2 == 2) { 856 setTimeout(function(){ 857 setHelperTabWidth(); 858 $('.navbar.nav-v8 .desktop-navigation .navbar-nav').css('opacity', '1'); 859 }, 300); 860 861 } 862 } 863 864 $( window ).resize(function() { 865 setNavTabsWidth(); 866 }); 867 868 $('.nav a:not(.drop-down)').on('click', function () { 869 $('.navbar-collapse').collapse('hide'); 870 }); 871 872}); 873 874$('.logo-holder .logo-image').click(function(event) { 875 if ( window.location.pathname == '/' || window.location.pathname == '/index.php') { 876 var windowScrollToTop = $(window).scrollTop(); 877 if(windowScrollToTop > 150) { 878 $('html, body').animate({scrollTop: 0}, 750); 879 } 880 } else { 881 window.location = "/"; 882 } 883}); 884 setTimeout(function(){ 885 $('.navbar-fixed-bottom.nav-v1').addClass('show-bottom-nav'); triggerShowFooterEvents(); 886 }, 4000); 887</script>
887<script> 888(function() { 889 var name = "Sombreros Mexican Restaurant"; 890 var pid = "ChIJ09pGYo-NmYARfgi2eLqfVZ0"; 891 function build_url() { 892 var q = encodeURIComponent(name).replace(/'/g, "%27"); 893 return "https://www.google.com/maps/search/?api=1" 894 + "&query=" + q 895 + "&query_place_id=" + encodeURIComponent(pid); 896 } 897 window.google_map_url = build_url(); 898 window.open_google_map = function() { 899 window.open(build_url(), "_blank"); 900 }; 901})(); 902</script>
902<script> 903 904 var spot_id = 162316; 905 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://sombrerostahoe.com/-party","cta_catering":"https://sombrerostahoe.com/-catering","cta_reservations":"https://sombrerostahoe.com/-reservations","cta_jobs":"https://tmt.spotapps.co/job-listings?spot_id=162316"},"spot_name":"Sombreros Mexican Restaurant","label_for_texting_permission":"Iâd like to get texts about specials, events, and other exclusive offers and announcements not available to general public"}'); 906 907 if (false){ 908 console.log("Check SpotHopper configuration. Probably there is no 'WEBSITE::DOMAIN_NAME' key for your website"); 909 } 910 911 if (navigator.userAgent.match(/iPhone/i) 912 || navigator.userAgent.match(/iPad/i) 913 || navigator.userAgent.match(/iPod/i)){ 914 $(document).ready(function(){ 915 document.body.className += " " + "webkit-mobile-body"; 916 }); 917 } 918 919 var promotion_url_param_domain = getPromotionUrlParams()['domain']; 920 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')){ 921 $("a[href^='/']").each(function(){ 922 if (this.href.indexOf('domain=') == -1){ 923 var sh_internal_url = new URL(this.href); 924 sh_internal_url.searchParams.set("domain", promotion_url_param_domain); 925 this.href = sh_internal_url.toString(); 926 } 927 }) 928 } 929 930 931 function cta_link_matches_href(href, url){ 932 var domain = 'sombrerostahoe.com'; 933 if(typeof url === 'undefined'){ 934 return false; 935 } 936 var partsOfURL = url.split(domain); 937 if (partsOfURL.length != 2){ 938 return href == url; 939 }else{ 940 var urlPath = partsOfURL[1]; 941 if (urlPath.substring(0,1) == "/"){ 942 urlPath = urlPath.substring(1,urlPath.length); 943 } 944 return href.indexOf(urlPath, domain.length + href.indexOf(domain)-1) !== -1; 945 } 946 } 947 948 var all_cta_links = [{"id":1730716,"spot_id":162316,"url":"https://sombrerostahoe.com/-reservations","cta_link_type":"reservations","created_at":"2026-01-01T20:54:47+00:00","updated_at":null,"made_of_food":false,"link_name":"Reservations","target":null,"website_footer_label":"Reserve","position":1},{"id":1551471,"spot_id":162316,"url":"https://sombrerostahoe.com/-party","cta_link_type":"private_parties","created_at":"2025-08-18T23:02:27+00:00","updated_at":"2025-12-10T12:53:26+00:00","made_of_food":false,"link_name":"Private Parties","target":null,"website_footer_label":"Parties","position":3},{"id":1699354,"spot_id":162316,"url":"https://sombrerostahoe.com/drink-menu","cta_link_type":"drink_menu","created_at":"2025-12-10T12:53:08+00:00","updated_at":"2025-12-10T12:53:26+00:00","made_of_food":false,"link_name":"","position":null},{"id":1699355,"spot_id":162316,"url":"https://sombrerostahoe.com/food-menu","cta_link_type":"food_menu","created_at":"2025-12-10T12:53:08+00:00","updated_at":"2025-12-10T12:53:26+00:00","made_of_food":false,"link_name":"","position":null},{"id":1574235,"spot_id":162316,"url":"https://microsite.talech.com/ordering/SOMBREROS-SOUTH-LAKE-TAHOE-CA/799979","cta_link_type":"order","created_at":"2025-09-08T13:07:34+00:00","updated_at":"2026-01-01T20:56:47+00:00","made_of_food":false,"link_name":"Order online","target":null,"website_footer_label":"Order","position":0},{"id":1551470,"spot_id":162316,"url":"https://sombrerostahoe.com/-catering","cta_link_type":"catering","created_at":"2025-08-18T23:02:27+00:00","updated_at":"2025-12-10T12:53:26+00:00","made_of_food":false,"link_name":"Catering","target":null,"website_footer_label":"Catering","position":4}
948,{"id":1551472,"spot_id":162316,"url":"https://tmt.spotapps.co/job-listings?spot_id=162316","cta_link_type":"job_listing","created_at":"2025-08-18T23:02:27+00:00","updated_at":"2025-12-10T12:53:26+00:00","made_of_food":false,"link_name":"Job Listing","target":null,"website_footer_label":"Jobs","position":2}]; 949 950 function find_cta_link(href) { 951 for (var i=0; i< all_cta_links.length; i++){ 952 var cta_link = all_cta_links[i]; 953 if ( cta_link_matches_href(href, cta_link.url)){ 954 return cta_link; 955 } 956 } 957 } 958 959 function find_cta_links(href) { 960 var cta_links = [] 961 for (var i=0; i< all_cta_links.length; i++){ 962 var cta_link = all_cta_links[i]; 963 if ( cta_link_matches_href(href, cta_link.url)){ 964 cta_links.push(cta_link); 965 } 966 } 967 return cta_links; 968 } 969 970 971 function get_current_page_cta_link_types(){ 972 var types = []; 973 var cta_links = find_cta_links(document.location.href); 974 for (var i=0; i<cta_links.length; i++){ 975 types.push(cta_links[i].cta_link_type); 976 } 977 return types; 978 } 979 980 981 function is_food_menu_page(){ 982 var cta_link_types = get_current_page_cta_link_types(); 983 for (var i=0; i<cta_link_types.length; i++){ 984 if ('food_menu' == cta_link_types[i]) 985 return true; 986 } 987 return false; 988 } 989 990 991 function get_form_cat_from_cta(){ 992 var cta_link = find_cta_link(document.location.href); 993 if (cta_link == null) { 994 return null; 995 } 996 if (cta_link.cta_link_type == 'private_parties'){ 997 return 'private_party'; 998 }else if (cta_link.cta_link_type == 'reservations'){ 999 return 'reservation'; 1000 }else if (cta_link.cta_link_type == 'catering'){ 1001 return 'catering'; 1002 }else if (cta_link.cta_link_type == 'job_listing'){ 1003 return 'job_listings'; 1004 }else if (cta_link.cta_link_type == 'gift_cards'){ 1005 return 'gift_cards'; 1006 } 1007 return null; 1008 } 1009 1010 function element_has_events_defined(elem){ 1011 if ($._data(elem, "events") === undefined){ 1012 return false; 1013 } 1014 return true; 1015 } 1016 1017 function create_ga_events_for_cta_clicks(){ 1018 if (typeof $ === 'function'){ 1019 1020 var cta_link_of_the_page = find_cta_link(location.href); 1021 1022 1023 $("a").each(function(index, elem){ 1024 var href = $(elem).attr('href'); 1025 1026 if (href === undefined ){ 1027 return; 1028 } 1029 1030 if (href.substring(0,4) == 'tel:'){ 1031 if (!element_has_events_defined(elem)){ // not footer links 1032 $(elem).on("click", function(){ 1033 universal_ga('send', 'event', { 1034 eventCategory: 'Button', 1035 eventAction: 'Click', 1036 eventLabel: 'Phone', 1037 transport: 'beacon' 1038 }); 1039 }); 1040 1041 if (cta_link_of_the_page){ 1042 $(elem).on("click", function(){ 1043 universal_ga('send', 'event', { 1044 eventCategory: 'Button', 1045 eventAction: 'Click', 1046 eventLabel: cta_link_of_the_page.cta_link_type + ' page phone', 1047 transport: 'beacon' 1048 }); 1049 }); 1050 } 1051 } else { 1052 if (cta_link_of_the_page){ 1053 $(elem).on("click", function(){ 1054 universal_ga('send', 'event', { 1055 eventCategory: 'Button', 1056 eventAction: 'Click', 1057 eventLabel: cta_link_of_the_page.cta_link_type + ' page phone footer', 1058 transport: 'beacon' 1059 }); 1060 }); 1061 } 1062 } 1063 1064 1065 }else{ 1066 var cta_link = find_cta_link(href); 1067 if (elem.className != null && elem.className.indexOf("bottom-link") > -1){ 1068 // console.log("bottom link detected"); 1069 }else{ 1070 if (cta_link != null){ 1071 $(elem).on("click", function(){ 1072 universal_ga('send', 'event', { 1073 eventCategory: 'Website Link', 1074 eventAction: 'Click', 1075 eventLabel: cta_link.cta_link_type, 1076 transport: 'beacon' 1077 }); 1078 }); 1079 } 1080 } 1081 } 1082 1083 1084 }); 1085 } 1086 } 1087 1088 if (typeof angular === "undefined") { 1089 create_ga_events_for_cta_clicks(); 1090 } else { 1091 angular.element(document).ready(function () { 1092 create_ga_events_for_cta_clicks(); 1093 }); 1094 } 1095 1096 1097 function triggerShowFooterEvents(){
1098 if (window.screen.availWidth < 768){ 1099 universal_ga('send', 'event', { 1100 eventCategory: 'Mobile Footer', 1101 eventAction: 'View', 1102 eventLabel: '', 1103 transport: 'beacon' 1104 }); 1105 } 1106 } 1107 1108 1109 1110 1111 //////////// 1112 function smartFooterV2() 1113 { 1114 var list= document.getElementsByClassName("bottom-list-item"); 1115 if (!list) return; 1116 1117 if (document.getElementById("bottom-navbar") == null){ 1118 return; 1119 } 1120 1121 var bottomNav = document.querySelector('#bottom-navbar .navbar-nav'); 1122 var footerLinkPaddingLeft = $('#bottom-navbar .navbar-nav li a').css('padding-left'); 1123 var footerLinkPaddingRight = $('#bottom-navbar .navbar-nav li a').css('padding-right'); 1124 1125 bottomNav.innerHTML = ''; 1126 var linksWithPosition = all_cta_links.filter(e => e.position != null && e.position >= 0); 1127 linksWithPosition.sort(function(a,b) { 1128 return a.position - b.position; 1129 }); 1130 1131 var footerLinkStyle = (footerLinkPaddingLeft == '0px' || footerLinkPaddingRight == '0px' ? 'style="padding-left: 8px; padding-right: 8px;"' : ''); 1132 1133 linksWithPosition.forEach((e, i) => { 1134 var target = e.target || getUrlTarget(e.url); 1135 bottomNav.insertAdjacentHTML('beforeend', 1136 `<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>`); 1137 }) 1138 1139 var intervalCount = 0 1140 var interval = setInterval(() => { 1141 if(intervalCount == 50){ 1142 clearInterval(interval); 1143 } 1144 removeOverflowingFooterLinks(); 1145 intervalCount ++; 1146 }, 200); 1147 1148 $('.smart-footer-link').on("click", function(){ 1149 if (typeof shUrlParams !== "undefined" && shUrlParams['source'] === undefined){ 1150 shUrlParams['source'] = 'footer'; 1151 sessionStorage.setItem('shUrlParams', JSON.stringify(shUrlParams)); 1152 } 1153 1154 var visibleLinks = $('.smart-footer-link').map(function (e) { 1155 return $(this).data('type'); 1156 }).toArray().join(','); 1157 1158 universal_ga('send', 'event', { 1159 eventCategory: 'Button', 1160 eventAction: 'Click_footer_2', 1161 eventLabel: "type:" + $(this).data('type') + "|position:" + $(this).data('position') + "|visible:" + visibleLinks, 1162 transport: 'beacon' 1163 }); 1164 }); 1165 } 1166 1167 function removeOverflowingFooterLinks(){ 1168 var bottomNavLinks = document.querySelectorAll('#bottom-navbar .navbar-nav li'); 1169 var width_sum = 0; 1170 1171 bottomNavLinks.forEach(e => { 1172 width_sum += e.getBoundingClientRect().width; 1173 if ((width_sum) > window.innerWidth) { 1174 console.log(`%cLink %c${e.textContent} %cdeleted couldn't fit screen`,"color: #fff;background: #202124;", "background: red;color: #fff", "color: #fff;background: #202124;"); 1175 e.remove(); 1176 } 1177 }); 1178 } 1179 1180 function getUrlTarget(url){ 1181 if(url.startsWith('tel')){ 1182 return '_self'; 1183 } 1184 if(url.startsWith('/') || url.includes('tmt.spotapps.co') || url.includes(window.location.host)){ 1185 return '_self'; 1186 } 1187 return '_blank'; 1188 } 1189 1190 function npb() 1191 { 1192 var list= document.getElementsByClassName("bottom-list-item"); 1193 if (!list) return; 1194 1195 if (document.getElementById("bottom-navbar") == null){ 1196 return; 1197 } 1198 1199 var url = "" 1200 for (var i=0; i < all_cta_links.length; i++) 1201 { 1202 if (all_cta_links[i].cta_link_type == "order"){ 1203 url = all_cta_links[i].url; 1204 } 1205 } 1206 1207 if ( url == ""){ 1208 return; 1209 } 1210 1211 for (i=0; i < list.length; i++) 1212 { 1213 console.log(cta_link_matches_href(list[i].firstChild.href, url)); 1214 if (cta_link_matches_href(list[i].firstChild.href,url)) return; 1215 1216 }; 1217 1218 var item = list[list.length-1] 1219 document.getElementById("bottom-navbar").getElementsByClassName("nav navbar-nav")[0].appendChild(item.cloneNode(true)); 1220 var width_sum = 0; 1221 for (i=0; i < list.length; i++) { 1222 width_sum += list[i].getBoundingClientRect().width; 1223 } 1224 1225 var item = list[list.length-1] 1226 if ((width_sum - 10) > window.innerWidth) { item.parentNode.removeChild(item); console.log("link deleted couldn't fit screen"); return; } 1227 1228 item.firstChild.text = "Order"; 1229 item.firstChild.href = url; 1230 item.firstChild.id = "bottom_link_" + list.length; 1231 1232 $(item.firstChild).on("click", function(){ 1233 1234 if (typeof shUrlParams !== "undefined" && shUrlParams['source'] === undefined){ 1235 shUrlParams['source'] = 'footer'; 1236 sessionStorage.setItem('shUrlParams', JSON.stringify(shUrlParams)); 1237 } 1238 1239 universal_ga('send', 'event', { 1240 eventCategory: 'Button', 1241 eventAction: 'Click', 1242 eventLabel: 'Plan B-2 Order', 1243 transport: 'beacon' 1244 }); 1245 }); 1246 1247 1248 } 1249 1250function activateSmartFooter(){ 1251 var smart_footer_active = true; 1252 var smart_footer_version = 2; 1253 var man_bottom_active = false;
1254 if(window.location.hash == '#smartFooterV2=enabled'){ 1255 smartFooterV2(); 1256 return; 1257 } 1258 if (smart_footer_active && !man_bottom_active){ 1259 if(smart_footer_version == 2 ){ 1260 smartFooterV2(); 1261 }else { 1262 npb(); 1263 } 1264 } 1265 } 1266 1267 activateSmartFooter(); 1268 1269 var corona_config_str = '{"id":585156,"spot_id":162316,"promote_pick_up":true,"promote_gift_cards":true,"promote_happy_hour":true,"promote_events":true,"instructions_on_food_page":false,"food_page_instruction_text":null,"food_page_instruction_phone":"5306001661","created_at":"2025-08-18T23:01:25+00:00","updated_at":"2026-01-01T20:56:53+00:00","food_page_button_color":null,"food_page_button_text_color":null,"food_page_link_color":null,"food_page_text_color":null,"wine_and_beer_to_go_license":false,"all_alcoholic_to_go_lincense":false,"current_operating_status":"Offering To Go and Dine-in with Full Capacity","contact_tracing_active":false,"contact_tracing_text":"In cooperation with health guidelines for contact tracing, please fill out the form below.","contact_tracing_address_required":false,"collapse_all":false,"deliveries_priority_value":5,"pick_ups_priority_value":5,"reservations_priority_value":3,"private_parties_priority_value":5,"catering_priority_value":5,"gift_cards_priority_value":3,"jobs_priority_value":3,"food_and_drinks_priority_value":3,"specials_priority_value":3,"national_days_priority_value":3,"holidays_priority_value":3,"sports_priority_value":3,"walk_ins_priority_value":3,"collecting_emails_priority_value":3,"collecting_phone_numbers_priority_value":3,"growing_social_media_followers_priority_value":3,"increasing_revenue_vs_saving_time_priority_value":3,"events_priority_value":3,"shopping_cart_type":"TMT","shopping_cart_active":false}'; 1270 var corona_config = corona_config_str != '' ? JSON.parse('{"id":585156,"spot_id":162316,"promote_pick_up":true,"promote_gift_cards":true,"promote_happy_hour":true,"promote_events":true,"instructions_on_food_page":false,"food_page_instruction_text":null,"food_page_instruction_phone":"5306001661","created_at":"2025-08-18T23:01:25+00:00","updated_at":"2026-01-01T20:56:53+00:00","food_page_button_color":null,"food_page_button_text_color":null,"food_page_link_color":null,"food_page_text_color":null,"wine_and_beer_to_go_license":false,"all_alcoholic_to_go_lincense":false,"current_operating_status":"Offering To Go and Dine-in with Full Capacity","contact_tracing_active":false,"contact_tracing_text":"In cooperation with health guidelines for contact tracing, please fill out the form below.","contact_tracing_address_required":false,"collapse_all":false,"deliveries_priority_value":5,"pick_ups_priority_value":5,"reservations_priority_value":3,"private_parties_priority_value":5,"catering_priority_value":5,"gift_cards_priority_value":3,"jobs_priority_value":3,"food_and_drinks_priority_value":3,"specials_priority_value":3,"national_days_priority_value":3,"holidays_priority_value":3,"sports_priority_value":3,"walk_ins_priority_value":3,"collecting_emails_priority_value":3,"collecting_phone_numbers_priority_value":3,"growing_social_media_followers_priority_value":3,"increasing_revenue_vs_saving_time_priority_value":3,"events_priority_value":3,"shopping_cart_type":"TMT","shopping_cart_active":false}') : null; 1271 1272 1273 //corona instuctions 1274 function show_corona_instructions(text, phone, btnText){ 1275 //format to US number 1276 var match = phone.match(/^(\d{3})(\d{3})(\d{4})$/); 1277 1278 if(corona_config.shopping_cart_type == "TMT" && corona_config.shopping_cart_active == true) { 1279 var linkLocation = "https://tmt.spotapps.co/ordering-menu/?spot_id="+corona_config.spot_id+"&images=yes&accordion=true"; 1280 var btnLinkLocation = "https://tmt.spotapps.co/ordering-menu/?spot_id="+corona_config.spot_id+"&images=yes&accordion=true"; 1281 }else { 1282 var linkLocation = 'tel:+1'+phone+''; 1283 var btnLinkLocation = 'tel:+1'+ match[1] + '-' + match[2] + '-' + match[3] +'' 1284 } 1285 var appendPhone = 'tel:+1'+phone+''; 1286 //inject html content 1287 if ($('.food-menu-nav').length) { 1288 //new template 1289 var pageEl = $('.food-menu-nav').css('margin','20px auto 10px auto'); 1290 var textColor = rgb2hex($('.section-header').css('color')); 1291 var linkColor = rgb2hex($('.food-menu-nav-item.active').css('background-color')); 1292 var fontSize = parseInt($('.food-menu-nav-item').css('font-size')); 1293 fontSize = fontSize + Math.round(fontSize * 0.25); 1294
1295 // 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>'; 1296 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>'; 1297 1298 }else { 1299 //old template 1300 var pageEl = $('.tabnav'); 1301 var textColor = rgb2hex($('.menu-item-name-traditional').css('color')); 1302 var linkColor = rgb2hex($('.style-traditional .tabnav .nav>li.active>a').css('color')); 1303 1304 var linkTextColor = getContrast50(linkColor); 1305 var fontSize = parseInt($('.menu-item-name-traditional').css('font-size')); 1306 fontSize = fontSize + Math.round(fontSize * 0.25); 1307 var textTransform = $('.style-traditional .tabnav .nav>li>a').css('text-transform'); 1308 1309 // 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>'; 1310 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>'; 1311 1312 } 1313 //html content 1314 pageEl.prepend(html); 1315 } 1316 1317 function rgb2hex(rgb) { 1318 if(typeof rgb !== "undefined"){ 1319 rgbColor = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/); 1320 if (!rgbColor) { 1321 rgba = rgb.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(,\s*\d+\.*\d+)?\)$/); 1322 return "#" + hex(rgba[1]) + hex(rgba[2]) + hex(rgba[3]); 1323 } 1324 function hex(x) { 1325 return ("0" + parseInt(x).toString(16)).slice(-2); 1326 } 1327 return "#" + hex(rgbColor[1]) + hex(rgbColor[2]) + hex(rgbColor[3]); 1328 } 1329 return rgb; 1330 } 1331 1332 function getContrast50(hexcolor){ 1333 return (parseInt(hexcolor, 16) > 0xffffff/2) ? '#000':'#fff'; 1334 } 1335 1336 function show_corona_sidebar_instructions(text, phone){ 1337 //format to US number 1338 var match = phone.match(/^(\d{3})(\d{3})(\d{4})$/); 1339 var divWidth = 230; 1340 var top = 50; 1341 var linkSize = '1.6em'; 1342 var pSize = $('p').css('font-size'); 1343 var appendPhone = 'tel:+1'+phone+''; 1344 1345 if ($(window).width() < 1600) 1346 var top = 30; 1347 if ($(window).width() < 1200){ 1348 var divWidth = 180; 1349 var linkSize = '1.4em'; 1350 var pSize ='1.1em'; 1351 } 1352 1353 if($('.food-menu-nav').length){ //new template 1354 var textColor = $('.food-menu-nav-item.active').css('color'); 1355 var linkColor = $('.food-menu-nav-item.active').css('background-color'); 1356 1357 var linkTextColor = $('.food-menu-nav-item.active').css('color'); 1358 var parent = $('.food-menu-page'); 1359 } 1360 else { //old template 1361 var textColor = $('.menu-item-name-traditional').css('color'); 1362 var linkColor = $('.style-traditional .tabnav .nav>
1362li.active>a').css('color'); 1363 var parent = $('.food-menu').length ? $('.food-menu') : $('.drink-menu'); 1364 var linkTextColor = getContrast50(linkColor); 1365 } 1366 1367 // $(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>'); 1368 $(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>'); 1369 1370 //check if resolution is bigger than tablet resolution 1371/* if ($(window).width() > 991) { 1372 //detect scroll 1373 window.onscroll = function (e) { 1374 if ($(window).scrollTop() == 0) { 1375 $('#corona-instructions-sidebar').hide(); 1376 }else { 1377 $('#corona-instructions-sidebar').show(); 1378 } 1379 } 1380 } */ 1381 } 1382 1383 function check_corona_config(config){ 1384 console.log(config) 1385 if (config) { 1386 if (config.instructions_on_food_page && config.food_page_instruction_text && config.food_page_instruction_phone) { 1387 if (!config.promote_deliveries && config.promote_pick_up) { 1388 var btnText = 'Call For Pick Up'; 1389 } 1390 if (config.promote_deliveries && !config.promote_pick_up) { 1391 var btnText = 'Call For Delivery'; 1392 } 1393 if (config.promote_deliveries && config.promote_pick_up) { 1394 var btnText = 'Call For Pick Up Or Delivery'; 1395 } 1396 1397 if(typeof btnText !== "undefined"){ // check if pick up or delivery are true 1398 if(config.shopping_cart_type == "TMT" && config.shopping_cart_active == true) { 1399 var btnText = 'ORDER NOW'; 1400 if($('.food-menu-nav').length){ //new template 1401 var textColor = rgb2hex($('.section-header').css('color')); 1402 var linkColor = rgb2hex($('.food-menu-nav-item.active').css('background-color')); 1403 var fontSize = parseInt($('.food-menu-nav-item').css('font-size')); 1404 fontSize = fontSize + Math.round(fontSize * 0.25); 1405 } 1406 else { //old template 1407 var textColor = rgb2hex($('.menu-item-name-traditional').css('color')); 1408 var linkColor = rgb2hex($('.style-traditional .tabnav .nav>li.active>a').css('color')); 1409 1410 var linkTextColor = getContrast50(linkColor); 1411 var fontSize = parseInt($('.menu-item-name-traditional').css('font-size')); 1412 fontSize = fontSize + Math.round(fontSize * 0.25); 1413 } 1414 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); 1415 show_corona_sidebar_instructions(btnText, config.food_page_instruction_phone); 1416 } else { 1417 show_corona_instructions(config.food_page_instruction_text, config.food_page_instruction_phone, btnText); 1418 show_corona_sidebar_instructions(btnText, config.food_page_instruction_phone); 1419 } 1420 1421 } 1422 } 1423 } 1424 } 1425 1426 1427 if (is_food_menu_page() && !window.location.search.includes("contactless=true")){ 1428 $( document ).ready(function() { 1429 setTimeout(function(){ 1430 check_corona_config(corona_config); 1431 }, 300); 1432 }); 1433 } 1434 1435 1436 1437 function isPhone(phone){ 1438 var regex = /^(\+\d{1,2}\s?)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$/; 1439 return regex.test(phone); 1440 } 1441 1442 function sendEmail_MT (input_id) { 1443 const $loader = $("[data-id=newsletter-widget-2] .sph-loading-img"); 1444 1445 const $step = { 1446 form: $("[data-id=newsletter-widget-2] .sph-email-form"), 1447 message: $("[data-id=newsletter-widget-2] .sph-response-message"), 1448 } 1449 1450 const $field = { 1451 email: $("[data-id=newsletter-widget-2] #sph-newsletter-input-" + input_id), 1452 phone: $("[data-id=newsletter-widget-2] #sph-newsletter-phone-" + input_id), 1453 consent: $("[data-id=newsletter-widget-2] #sph-newsletter-checkbox-phone-" + input_id), 1454 }; 1455 1456 const $error = { 1457 email: $("[data-id=newsletter-widget-2] #sph-newsletter-email-error-" + input_id), 1458 phone: $("[data-id=newsletter-widget-2] #sph-newsletter-phone-error-" + input_id), 1459 }; 1460 1461 if ($field.email.val().trim() === "") { 1462 $error.email 1463 .html("This field is required") 1464 .show(); 1465 } 1466 else if (!isEmail($field.email.val().trim())) { 1467 $error.email 1468 .html("Please use the format â[email protected]â") 1469 .show(); 1470 } else { 1471 $error.email 1472 .html("") 1473 .hide(); 1474 } 1475 1476 if ($field.consent.is(':checked') && $field.phone.val().trim() === "") { 1477 $error.phone 1478 .html("This field is required") 1479 .show(); 1480 } else if ($field.phone.val().trim().length > 0 && !isPhone($field.phone.val().trim())) { 1481 $error.phone 1482 .html("The phone number must contain 10 digits") 1483 .show(); 1484 } else { 1485 $error.phone 1486 .html("") 1487 .hide(); 1488 } 1489 1490 const errorField = $step.form.find('.sh-form-error:visible'); 1491 1492 if (errorField.length > 0) { 1493 const input = errorField.first().next(); 1494 1495 document.activeElement.blur(); 1496 1497 setTimeout(() => { 1498 input.focus(); 1499 }, 160) 1500 1501 return; 1502 } 1503 1504 $loader 1505 .show() 1506 .prev() 1507 .hide(); 1508 1509 $.ajax({ 1510 method: "POST", 1511 url: "https://www.spothopperapp.com/api/spots/162316/contacts/add_with_texting_permission", 1512 crossDomain: true, 1513 dataType: 'json', 1514 data: { 1515 email: $field.email.val().trim(), 1516 phone: $field.phone.val().trim(), 1517 texting_permission: $field.consent.is(':checked'), 1518 }, 1519 success: function (data) { 1520 afterRequestSubmission(data); 1521 }, 1522 error: function () { 1523 afterRequestSubmission("Something went wrong. Please try again later."); 1524 } 1525 }); 1526 1527 function afterRequestSubmission (data) { 1528 $step.form.hide(); 1529 1530 $step.message 1531 .html(data) 1532 .show() 1533 .trigger('focus'); 1534 } 1535 } 1536</script>
1536<script>function addPromotionParamsToTMTLinks() 1537{ 1538 if (sessionStorage.getItem('shUrlParams')) { 1539 let shParams = JSON.parse(sessionStorage.getItem('shUrlParams')); 1540 if (!Object.keys(shParams).length) 1541 return; 1542 if(!shParams.source) 1543 return; 1544 $('a').each(function () { 1545 if (this.href.includes('tmt.spotapps.co')) { 1546 if(this.href.includes('&source=') || this.href.includes('&destination=') || this.href.includes('&promotion=')) 1547 return; 1548 1549 this.href = this.href + '&source=' + shParams.source; 1550 if(shParams.destination) 1551 this.href = this.href + '&destination=' + shParams.destination; 1552 if(shParams.promotion) 1553 this.href = this.href + '&promotion=' + shParams.promotion; 1554 if(shParams.fb_post_id) 1555 this.href = this.href + '&fb_post_id=' + shParams.fb_post_id; 1556 if(shParams.email_post_id) 1557 this.href = this.href + '&email_post_id=' + shParams.email_post_id; 1558 } 1559 }) 1560 } 1561} 1562setTimeout(function() { 1563 addPromotionParamsToTMTLinks(); 1564 addFooterToSourceParam(); 1565},600) 1566 1567function addFooterToSourceParam() 1568{ 1569 $('.bottom-link').each(function (){ 1570 if(shouldAddSourceParam(this.href)) 1571 this.href = this.href + '&source=footer'; 1572 }) 1573 $('#sh-multiple-links-content-holder a').each(function (){ 1574 if(shouldAddSourceParam(this.href)) 1575 this.href = this.href + '&source=footer'; 1576 }) 1577} 1578function shouldAddSourceParam(link){ 1579 if (link.includes('tmt.spotapps.co') && !link.includes('&source=')){ 1580 return true; 1581 } 1582 return false; 1583} 1584</script>
1584<script> 1585;(async () => { 1586if (typeof window.focusTrap === 'undefined') { 1587 await getScript('https://unpkg.com/tabbable/dist/index.umd.js'); 1588 await getScript('https://unpkg.com/focus-trap/dist/focus-trap.umd.js'); 1589} 1590 1591document.querySelectorAll('.modal').forEach((element) => { 1592 const trap = window.focusTrap?.createFocusTrap(element, { 1593 allowOutsideClick: true, 1594 }); 1595 1596 $(element).on('shown.bs.modal', () => { 1597 trap?.activate(); 1598 }); 1599 1600 $(element).on('hidden.bs.modal', () => { 1601 trap?.deactivate(); 1602 }); 1603}); 1604 1605async function getScript (source) { 1606 return new Promise((resolve, reject) => { 1607 const script = document.createElement('script'); 1608 script.src = source; 1609 script.async = true; 1610 1611 script.onload = resolve; 1612 script.onerror = reject; 1613 1614 document.head.appendChild(script); 1615 }); 1616} 1617})(); 1618</script>
1618<script src="https://wcache-plugins.spotapps.co/production/wcpl_bootstrap_ada_fix/wcpl_bootstrap_ada_fix.js"></script>
1618<link href="https://wcache-plugins.spotapps.co/production/wcpl_bday_club/wcpl_bday_club.css" rel="stylesheet" media="screen"/>
1618<script src="https://wcache-plugins.spotapps.co/production/wcpl_bday_club/wcpl_bday_club.js"></script>
1618<script src="https://wcache-plugins.spotapps.co/production/wcpl_ga_tracking/wcpl_ga_tracking.js"></script>
1618<script src="https://wcache-plugins.spotapps.co/production/wcpl_media_controls/script.js"></script>
1618<link href="https://wcache-plugins.spotapps.co/production/wcpl_website_editor_interpreter/website_interpreter_helper_style.css" rel="stylesheet" media="screen"/>
1618<script>var changes_log_array = {};</script>
1618<script src="https://wcache-plugins.spotapps.co/production/wcpl_website_editor_interpreter/website_interpreter.js"></script>
1618<script>(() => { 1619 function onInitIFrame() { 1620 let loaded = false; 1621 const iframe = document.getElementById('tmtIframe'); 1622 if (!iframe) return; 1623 1624 function loadIFrame() { 1625 if (loaded) return; 1626 loaded = true; 1627 frameTMTpageV2Init(); 1628 } 1629 1630 iframe.addEventListener('load', () => { 1631 loadIFrame(); 1632 }, { once: true }); 1633 1634 setTimeout(() => { 1635 if (loaded) return; 1636 iframe.src = iframe.src; 1637 }, 100); 1638 } 1639 1640 function frameTMTpageV2Init() { 1641 const iframe_element = document.getElementById('tmtIframe'); 1642 const tmt_iframe_holder = document.querySelector('.tmt-form'); 1643 1644 if (!iframe_element || !tmt_iframe_holder) return; 1645 1646 function setIframeHolderHeight(iframe_height, unit) { 1647 const loader = document.getElementById('loader'); 1648 if (iframe_height) { 1649 clearInterval(intervalId); 1650 tmt_iframe_holder.style.height = iframe_height + unit; 1651 if (loader) { 1652 loader.style.display = 'none'; 1653 } 1654 iframe_element.classList.remove('hide-iframe'); 1655 } 1656 } 1657 1658 const current_location_url = window.location.href; 1659 const iframe = iframe_element.contentWindow; 1660 1661 const message_object = { 1662 locationURL: current_location_url, 1663 paddingTop: 160, 1664 resize: false 1665 }; 1666 1667 const intervalId = setInterval(() => { 1668 iframe.postMessage(message_object, '*'); 1669 }, 500); 1670 1671 setTimeout(() => { 1672 clearInterval(intervalId); 1673 }, 30000); 1674 1675 window.addEventListener('message', function (event) { 1676 if (event.data.tmtPageHeight) { 1677 const iframe_holder_height_calc = event.data.tmtPageHeight; 1678 setIframeHolderHeight(iframe_holder_height_calc, 'px'); 1679 } 1680 if (event.data.tmtScrollTo) { 1681 window.scrollTo({ 1682 top: event.data.tmtScrollTo, 1683 behavior: 'smooth' 1684 }) 1685 } 1686 }, false); 1687 1688 function debounce(func) { 1689 let timer; 1690 return function (event) { 1691 if (timer) clearTimeout(timer); 1692 timer = setTimeout(func, 200, event); 1693 }; 1694 } 1695 window.addEventListener('resize', debounce(function (e) { 1696 calculatePagePadding(); 1697 message_object.resize = true; 1698 iframe.postMessage(message_object, '*'); 1699 })); 1700 } 1701 1702 function calculatePagePadding() { 1703 function getNavigationHeight() { 1704 const nav_element = document.getElementById('navbar'); 1705 if (!nav_element) return 0; 1706 1707 const nav_height = nav_element.clientHeight; 1708 return nav_height; 1709 } 1710 1711 const mainHolder = document.querySelector('.main-holder-tmt'); 1712 if (!mainHolder) return; 1713 1714 mainHolder.style.paddingTop = getNavigationHeight() + "px"; 1715 } 1716 1717 document.addEventListener('DOMContentLoaded', function () { 1718 onInitIFrame(); 1719 calculatePagePadding(); 1720 }) 1721})();</script>
1721</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.