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