1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <title>Best Taco Restaurant in Los Angeles | Contact Chicas Tacos | Mexican Cuisine | Los Angeles, CA</title> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover"> 6 <meta charset="UTF-8"> 7 8 <meta name="description" content="Contact the best taco restaurant in Los Angeles for online orders, catering, private events, or questions about our fresh Mexican menu." /> 9 <meta property="og:title" content="Best Taco Restaurant in Los Angeles | Contact Chicas Tacos | Mexican Cuisine | Los Angeles, CA" /> 10 <meta property="og:description" content="Chicas Tacos | Mexican Cuisine | Los Angeles, CA" /> 11 <meta property="og:image" content="https://res.cloudinary.com/targetable/image/upload/f_auto,q_auto,w_1200/Customers/chicas-tacos/site/home_hero" /> 12 <meta property="og:type" content="website" /> 13 <meta property="og:url" content="https://www.chicastacos.com/contact-us" /> 14 15 <link rel="icon" type="image/png" href="https://res.cloudinary.com/targetable/image/upload/v1785362612/Customers/21696/Chicas%20Tacos/PICS/favicon.png"> 16 <link rel="canonical" href="https://www.chicastacos.com/contact-us" /> 17 18 19 20 21 22 <link rel="stylesheet" href="/assets/site-52eb13ab8a899d1a7ce407abb21550772f5c36261d721a2647219e6ad35675ae.css" data-turbo-track="reload" /> 23 <link rel="stylesheet" href="/assets/icons-8a8adf1b209dcf6019c445e5477d00b79192f6726b65fd7cf29cf43036ec3917.css" data-turbo-track="reload" /> 24 25
25<script type="importmap" data-turbo-track="reload">{ 26 "imports": { 27 "application": "/assets/application-4a1c1d27c11faa4dbac51fff4126422169b85739cdee3e8b89ea183bc17a2c23.js", 28 "@hotwired/turbo-rails": "/assets/turbo.min-f3765a09513ca1417099ce92257ef54b9d4cf3a7addc7dcbb1d6d848d307ee8a.js", 29 "@hotwired/stimulus": "/assets/stimulus.min-dd364f16ec9504dfb72672295637a1c8838773b01c0b441bd41008124c407894.js", 30 "@hotwired/stimulus-loading": "/assets/stimulus-loading-3576ce92b149ad5d6959438c6f291e2426c86df3b874c525b30faad51b0d96b3.js", 31 "site": "/assets/site-4b047adea2bfbedbd09cb582dd17c2c15e218d15c9dc17cfa26985c983bcea78.js", 32 "local-time": "/assets/local-time-821d43d4efe5c285055b57aea1a1f04a89a1019f689de214873d5af45a3ab3d7.js", 33 "jquery": "/assets/jquery-9292661fe0d8c5ef2ef35f5ca64d541d70c87e9f6d7f2716d646591a295b7f36.js", 34 "jquery-mask-plugin": "/assets/jquery-mask-plugin-12f491759485d6e50f909cf5fb641f245011016ab91b9043c057666fe07a99c0.js", 35 "alpinejs": "/assets/alpinejs-1330ff78f6252d676b60ac1291d71df4f04e542899717f8ee4d03a79dec27045.js", 36 "swiper": "/assets/swiper-2faaef3c8e00dc01e477390250b8d1e3950bde9bcacdc205a4a0265787e5c077.js", 37 "libraries/vidbg": "/assets/libraries/vidbg-ca103f7572673d0e7e3cc8a6a59b200f7ab3da61da78a43e532949d800635fa5.js", 38 "controllers/application": "/assets/controllers/application-368d98631bccbf2349e0d4f8269afb3fe9625118341966de054759d96ea86c7e.js", 39 "controllers/hello_controller": "/assets/controllers/hello_controller-549135e8e7c683a538c3d6d517339ba470fcfb79d62f738a0a089ba41851a554.js", 40 "controllers": "/assets/controllers/index-2db729dddcc5b979110e98de4b6720f83f91a123172e87281d5a58410fc43806.js", 41 "controllers/prompt_engineering_controller": "/assets/controllers/prompt_engineering_controller-c5abfd07f3f7b741f778d3070d18fd216b100840ef6cfdce4adb7c953a59d715.js" 42 } 43}</script>
43 44<link rel="modulepreload" href="/assets/site-4b047adea2bfbedbd09cb582dd17c2c15e218d15c9dc17cfa26985c983bcea78.js"> 45<link rel="modulepreload" href="/assets/jquery-9292661fe0d8c5ef2ef35f5ca64d541d70c87e9f6d7f2716d646591a295b7f36.js"> 46<link rel="modulepreload" href="/assets/jquery-mask-plugin-12f491759485d6e50f909cf5fb641f245011016ab91b9043c057666fe07a99c0.js"> 47<link rel="modulepreload" href="/assets/alpinejs-1330ff78f6252d676b60ac1291d71df4f04e542899717f8ee4d03a79dec27045.js"> 48<link rel="modulepreload" href="/assets/swiper-2faaef3c8e00dc01e477390250b8d1e3950bde9bcacdc205a4a0265787e5c077.js">
49<script type="module">import "site"</script>
49 50 51 <link rel="preconnect" href="https://fonts.googleapis.com"> 52 <link rel="preconnect" href="https://cdnjs.cloudflare.com"> 53 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 54 55 56 <link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,700,0..1,0&icon_names=17mp,add_card,ads_click,app_promo,attach_money,award_star,bakery_dining,bookmark_star,breakfast_dining,brightness_alert,cake,cake_add,cleaning_bucket,coffee,credit_card,date_range,directions_bus,drag_click,emoji_food_beverage,explosion,fastfood,featured_seasonal_and_gifts,fiber_new,file_map,file_map_stack,fireplace,food_bank,fork_spoon,glass_cup,home_pin,kid_star,local_bar,local_dining,local_fire_department,local_pizza,location_on,lunch_dining,mail,mark_email_unread,motorcycle,online_prediction,open_in_phone,phone_enabled,pin_drop,potted_plant,priority,quick_reorder,ramen_dining,restaurant,rice_bowl,sell,sentiment_excited,set_meal,settings_cell,shopping_bag,skillet_cooktop,smartphone,soup_kitchen,sports_football,star,star_rate,stockpot,trophy,volunteer_activism,wifi_calling_bar_1,wine_bar&display=block" 57 rel="preload" as="style"> 58 <link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,700,0..1,0&icon_names=17mp,add_card,ads_click,app_promo,attach_money,award_star,bakery_dining,bookmark_star,breakfast_dining,brightness_alert,cake,cake_add,cleaning_bucket,coffee,credit_card,date_range,directions_bus,drag_click,emoji_food_beverage,explosion,fastfood,featured_seasonal_and_gifts,fiber_new,file_map,file_map_stack,fireplace,food_bank,fork_spoon,glass_cup,home_pin,kid_star,local_bar,local_dining,local_fire_department,local_pizza,location_on,lunch_dining,mail,mark_email_unread,motorcycle,online_prediction,open_in_phone,phone_enabled,pin_drop,potted_plant,priority,quick_reorder,ramen_dining,restaurant,rice_bowl,sell,sentiment_excited,set_meal,settings_cell,shopping_bag,skillet_cooktop,smartphone,soup_kitchen,sports_football,star,star_rate,stockpot,trophy,volunteer_activism,wifi_calling_bar_1,wine_bar&display=block" 59 rel="stylesheet"> 60 61 <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/fontawesome.min.css" 62 rel="preload" as="style"> 63 <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/fontawesome.min.css" 64 rel="stylesheet"> 65 66 <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/brands.min.css" 67 rel="preload" as="style"> 68 <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/brands.min.css" 69 rel="stylesheet">
vendor: 75 bytes, lines 69-71
69 70 71 <script src="https://www.google.com/recaptcha/enterprise.js?render=
716LcsffgqAAAAANLXQa19TOl4LbE2V7eS6PfaYhiT
vendor: 21 bytes, lines 71-73
71" defer></script> 72 73
73<script> 74 if (!window.origin.includes('http://localhost')) { 75 window.heap=window.heap||[],heap.load=function(e,t){window.heap.appid=e,window.heap.config=t=t||{};var r=document.createElement("script");r.type="text/javascript",r.async=!0,r.src="https://cdn.heapanalytics.com/js/heap-"+e+".js";var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(r,a);for(var n=function(e){return function(){heap.push([e].concat(Array.prototype.slice.call(arguments,0)))}},p=["addEventProperties","addUserProperties","clearEventProperties","identify","resetIdentity","removeEventProperty","setEventProperties","track","unsetEventProperty"],o=0;o<p.length;o++)heap[p[o]]=n(p[o])}; 76 heap.load((window.origin.includes('chowly.dev') ? '3177339425' : '3745098455')); 77 } 78 </script>
78 79 80 <link href="https://fonts.googleapis.com/css2?family=Roboto Slab:wght@400;700&family=Roboto Slab:wght@400;700&display=swap" 81 rel="preload" as="style"> 82 <link href="https://fonts.googleapis.com/css2?family=Roboto Slab:wght@400;700&family=Roboto Slab:wght@400;700&display=swap" 83 rel="stylesheet"> 84 85 <style> 86 87 :root { 88 /* Light theme colors */ 89 --bg-primary: white; 90 --bg-secondary: #F2F2F2; 91 --bg-form: white; 92 --text-primary: #212121; 93 --text-secondary: #666; 94 --text-muted: #666666; 95 --border-primary: #d50032; 96 --border-secondary: #D7D7D7; 97 --stroke-primary: #d50032; 98 --stroke-secondary: currentColor; 99 --active-bg-opacity: 8%; 100 --active-text: #d50032; 101 --hover-bg-opacity: 8%; 102 --hover-text: #d50032; 103 --link-text: #666; 104 --link-hover: black; 105 --social-bg: #666; 106 --social-text: white; 107 --placeholder-text: #D7D7D7; 108 --focus-border: #777777; 109 --button-bg: transparent; 110 --button-text: #d50032; 111 --button-border: #d50032; 112 --button-hover-bg: transparent; 113 --button-hover-border: #d50032; 114 --brand-primary: #d50032; 115 --brand-secondary: #d50032; 116 --brand-overlay: rgba(213,0,50,0.08); 117 --brand-overlay-heavy: rgba(213,0,50,0.80); 118 --dim-overlay: rgba(0,0,0,0.4); 119 } 120 121 body { 122 background: linear-gradient(180deg, rgba(213, 0, 50, 0.08) 0px, rgba(213, 0, 50, 0.00) 520px); 123 } 124 125 .grecaptcha-badge { visibility: hidden; } 126 </style> 127 128 <style> 129:root { 130 --bg-primary: #ffffff !important; 131 --bg-secondary: #ffffff !important; 132 /* The theme's tinted section wash â rgba(174,51,51,0.08), an 8% brick red that 133 reads as a warm off-white. Consumed by top_10_picks_01 (home) and 134 menu_category_01 (22 menu pages) via bg-[var(--brand-overlay)], so overriding 135 the token here whitens every consumer at once instead of chasing each 136 section type with !important. */ 137 --brand-overlay: #ffffff !important; 138} 139 140/* review_01 is deliberately NOT in this list â it gets the pink band below. 141 (Its own theme bg is --bg-secondary, which the override above forces white.) */ 142[data-maglev-section-type="top_10_picks_01"], 143[data-maglev-section-type="grid_menu_01"] { 144 background: transparent !important; 145} 146 147[data-maglev-section-type="top_10_picks_01"] article, 148[data-maglev-section-type="grid_menu_01"] article { 149 background: transparent !important; 150 box-shadow: none !important; 151} 152 153[data-maglev-section-type="top_10_picks_01"] svg[viewBox="0 0 40 40"] { 154 display: none !important; 155} 156 157.reveal { 158 opacity: 0; 159 transform: translateY(16px); 160 transition: opacity .6s cubic-bezier(.22,.61,.36,1), transform .6s cubic-bezier(.22,.61,.36,1); 161 will-change: opacity, transform; 162} 163 164.reveal-left { transform: translateX(-24px); } 165.reveal-right { transform: translateX(24px); } 166.reveal-up { transform: translateY(16px); } 167.reveal-down { transform: translateY(-16px); } 168 169.reveal.is-visible { 170 opacity: 1; 171 transform: none; 172} 173 174.grecaptcha-badge { 175 visibility: hidden; 176} 177 178@media (max-width: 767px) { 179 #mobile-menu { 180 z-index: 1001; 181 } 182} 183 184/* ââ Hero treatment is PAGE-SCOPED ââââââââââââââââââââââââââââââââââââââââââ 185 The rendered DOM carries no page identity (every <body> is just 186 data-organization-id), so the body script stamps one of two classes from 187 location.pathname and all hero rules key off it: 188 189 .cw-hero-feature â /, /catering, and the 4 event pages 190 the tall centered yellow-band statement hero 191 .cw-hero-interior â everything else (menu sub-pages, locations, about, 192 press, seo, contact, accessibility) 193 a shorter left-aligned utility hero 194 195 Scoping by class (not by #section-<id>) keeps this stable â section ids 196 churn whenever a section is rebuilt in the editor. 197 ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ */ 198 199/* Augment a FEATURE-page hero_cta_01 into the yellow-band centered look */ 200body.cw-hero-feature [data-maglev-section-type="hero_cta_01"] article { 201 align-items: stretch !important; 202 text-align: center !important; 203 margin: 0 !important; 204 padding: 0 !important; 205} 206 207/* Full-bleed yellow band edge-to-edge across the whole hero */ 208body.cw-hero-feature [data-maglev-section-type="hero_cta_01"] .chowly-hero-stripe { 209 width: 100%; 210 background-color: hsla(45, 89%, 62%, 0.6); 211 padding: 1.25rem 1.5rem; 212 display: flex; 213 flex-direction: column; 214 align-items: center; 215 gap: 0.5rem; 216 margin: 0 0 1.5rem 0; 217} 218 219body.cw-hero-feature [data-maglev-section-type="hero_cta_01"] .chowly-hero-stripe [data-maglev-id$=".title"], 220body.cw-hero-feature [data-maglev-section-type="hero_cta_01"] .chowly-hero-stripe [data-maglev-id$=".description"] { 221 color: #ffffff !important; 222 text-align: center !important; 223 max-width: 700px; 224 width: 100%; 225 text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8), 0 4px 8px rgba(0, 0, 0, 0.6); 226} 227 228/* Center the CTA button row (the div holding .button / .button_2) */ 229body.cw-hero-feature [data-maglev-section-type="hero_cta_01"] article > div:has([data-maglev-id$=".button"]) { 230 display: flex !important; 231 flex-wrap: wrap; 232 justify-content: center !important; 233 align-items: center; 234 gap: 0.875rem; 235 width: 100%; 236 padding: 0 1.5rem; 237} 238 239/* Override the buttons' Tailwind self-start / block so they sit centered */ 240body.cw-hero-feature [data-maglev-section-type="hero_cta_01"] [data-maglev-id$=".button"], 241body.cw-hero-feature [data-maglev-section-type="hero_cta_01"] [data-maglev-id$=".button_2"] { 242 margin: 0 !important; 243 align-self: center !important; 244 display: inline-block !important; 245} 246 247@media (max-width: 768px) { 248 body.cw-hero-feature [data-maglev-section-type="hero_cta_01"] .chowly-hero-stripe { padding: 1rem 1.25rem; } 249} 250 251/* ââ Interior pages: shorter, LEFT-aligned hero ââââââââââââââââââââââââââââââ 252 No yellow band is built here at all (the script skips bandifyHero), so the 253 title/description sit directly in the article. Left-align them, cap the 254 measure, and pull the hero height down so an interior page reads as a 255 utility page rather than a second billboard. */ 256body.cw-hero-interior [data-maglev-section-type="hero_cta_01"] article { 257 align-items: flex-start !important; 258 text-align: left !important; 259} 260 261body.cw-hero-interior [data-maglev-section-type="hero_cta_01"] [data-maglev-id$=".title"], 262body.cw-hero-interior [data-maglev-section-type="hero_cta_01"] [data-maglev-id$=".description"] { 263 text-align: left !important; 264 max-width: 46ch; 265 margin-left: 0 !important; 266 margin-right: auto !important; 267} 268 269/* Trim the interior hero's vertical presence (the platform default is a 270 min-h screen-height band sized for a homepage statement). */ 271body.cw-hero-interior [data-maglev-section-type="hero_cta_01"] > div, 272body.cw-hero-interior [data-maglev-section-type="hero_cta_01"] article { 273 min-height: 0 !important; 274} 275body.cw-hero-interior [data-maglev-section-type="hero_cta_01"] { 276 max-height: 58vh; 277} 278 279@media (max-width: 768px) { 280 body.cw-hero-interior [data-maglev-section-type="hero_cta_01"] { max-height: none; } 281} 282 283/* ââ Reviews: soft pink band âââââââââââââââââââââââââââââââââââââââââââââââââ 284 The theme builds this section as WHITE CARDS ON A TINTED BAND â the <article> 285 cards are bg-[var(--bg-primary)] + shadow-md inside a bg-[var(--bg-secondary)] 286 section. Forcing both tokens white flattened the two together, which is why the 287 section read as bare. Restoring a tint on the band (not the cards) brings the 288 intended card/ground contrast back. 289 Pink is the same hue as the catering tiles: hsl(9.6, 77%, 81%). */ 290[data-maglev-section-type="review_01"] {
291 background: hsla(9.6, 77%, 81%, 0.16) !important; 292 border-radius: 24px; 293 padding-top: 2.5rem !important; 294 padding-bottom: 2.5rem !important; 295} 296 297/* Keep the cards white and lifted so they read against the pink ground. */ 298[data-maglev-section-type="review_01"] article { 299 background: #ffffff !important; 300 box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08) !important; 301} 302 303@media (max-width: 768px) { 304 [data-maglev-section-type="review_01"] { 305 border-radius: 16px; 306 margin-left: 1rem; 307 margin-right: 1rem; 308 } 309} 310 311/* ââ Hero type scale: H1 eyebrow only (2026-08-12, revised) ââââââââââââââââââ 312 The H1 is an SEO line ("Best <category> in <city>"), not the headline, so it 313 is held down to a kicker. The statement line (`description`) was briefly 314 reduced too, then RESTORED to the platform scale on customer feedback â only 315 the eyebrow was meant to shrink. Do not re-add a `description` font-size here 316 without a fresh ask; stock is text-[20px] md:text-[48px] xl:text-[56px]. 317 318 NOTE ON ROLES: inside .chowly-hero-stripe the BIG line is the `description` 319 (a <p>); `title` is the H1/H2 eyebrow ABOVE it. Feature pages only â 320 interior heroes (.cw-hero-interior) keep the stock scale throughout. */ 321body.cw-hero-feature [data-maglev-section-type="hero_cta_01"] .chowly-hero-stripe [data-maglev-id$=".title"] { 322 font-size: 12px !important; 323 line-height: 1.4 !important; 324} 325 326@media (min-width: 768px) { 327 body.cw-hero-feature [data-maglev-section-type="hero_cta_01"] .chowly-hero-stripe [data-maglev-id$=".title"] { 328 font-size: 16px !important; 329 line-height: 1.3 !important; 330 } 331} 332 333@media (min-width: 1280px) { 334 body.cw-hero-feature [data-maglev-section-type="hero_cta_01"] .chowly-hero-stripe [data-maglev-id$=".title"] { 335 font-size: 18px !important; 336 line-height: 1.3 !important; 337 } 338} 339 340/* ââ Venue label in the locations widget (2026-08-12) ââââââââââââââââââââââââ 341 The <p class="cw-venue-label"> the body script inserts directly above each 342 <address> in dynamic_locations_01. Styled to read as a venue line belonging 343 to the address block: same left edge, slightly stronger than the address 344 text, tight to it. mt-6 on the <address> supplies the gap above, so the 345 label carries the top margin and the address drops to none. */ 346[data-maglev-section-type="dynamic_locations_01"] .cw-venue-label { 347 margin: 1.5rem 0 0 0; 348 color: var(--text-primary); 349 font-size: 14px; 350 font-weight: 600; 351 line-height: 20px; 352} 353 354[data-maglev-section-type="dynamic_locations_01"] .cw-venue-label + address { 355 margin-top: 0.25rem !important; 356} 357 358</style> 359</script>
vendor: 2 bytes, line 359
359
360<script src="https://inkindscript.com/inkind.js" async></script>
360 361 362
362<script src="https://cdn.userway.org/widget.js" data-account="2RTD1qUW2F" data-position="3"></script>
362 363 364 <link rel="stylesheet" href="/assets/vidbg-59cd2b661e27143a4d41f154396b1fabc6ac9c0893f4d4b1623cbf033efc0130.css" /> 365 366
366<script src="/assets/libraries/vidbg-ca103f7572673d0e7e3cc8a6a59b200f7ab3da61da78a43e532949d800635fa5.js"></script>
366 367
367<script src="/assets/banner-component-730ab5752d6195daf2963c20c32c885c4d07215b1fbd2a76a52cd94622d82ef7.js"></script>
367 368 369
369<script async> 370 window.chowlyApiHost = 'https://api.chowlyinc.com'; 371 window.siteHost = 'https://sites.chowly.app'; 372 </script>
372 373 374
374<script type="application/ld+json"> 375 {"@context":"https://schema.org","@graph":[{"@type":"Restaurant","name":"Chicas Tacos","address":{"@type":"PostalAddress","streetAddress":"800 South La Brea Avenue","addressLocality":"Los Angeles","addressRegion":"CA","postalCode":"90036","addressCountry":"US"},"telephone":"3238638226","geo":{"@type":"GeoCoordinates","latitude":34.0603894,"longitude":-118.3444837},"url":"https://www.chicastacos.com#location-21696","servesCuisine":["Bowls","Burritos","Mexican","Nachos","Tacos"],"priceRange":"$$","openingHoursSpecification":[{"@type":"OpeningHoursSpecification","dayOfWeek":"https://schema.org/Sunday","opens":"12:00:00","closes":"23:59:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"https://schema.org/Monday","opens":"15:00:00","closes":"23:59:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"https://schema.org/Tuesday","opens":"15:00:00","closes":"23:59:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"https://schema.org/Wednesday","opens":"15:00:00","closes":"23:59:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"https://schema.org/Thursday","opens":"15:00:00","closes":"23:59:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"https://schema.org/Friday","opens":"12:00:00","closes":"02:00:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"https://schema.org/Saturday","opens":"12:00:00","closes":"02:00:00"}],"hasMenu":"https://www.chicastacos.com/menu","areaServed":["Fairfax District","Hancock Park","La Brea","Mid Wilshire","Miracle Mile"]},{"@type":"Restaurant","name":"Chicas Tacos","address":{"@type":"PostalAddress","streetAddress":"1272 The Strand","addressLocality":"Hermosa Beach","addressRegion":"CA","postalCode":"90254","addressCountry":"US"},"telephone":"3238638226","geo":{"@type":"GeoCoordinates","latitude":33.8624768,"longitude":-118.4017226},"url":"https://www.chicastacos.com#location-48874","servesCuisine":["Bowls","Burritos","Mexican","Nachos","Tacos"],"priceRange":"$$","openingHoursSpecification":[{"@type":"OpeningHoursSpecification","dayOfWeek":"https://schema.org/Sunday","opens":"11:30:00","closes":"20:00:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"https://schema.org/Monday","opens":"11:30:00","closes":"20:00:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"https://schema.org/Tuesday","opens":"11:30:00","closes":"20:00:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"https://schema.org/Wednesday","opens":"11:30:00","closes":"20:00:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"https://schema.org/Thursday","opens":"11:30:00","closes":"20:00:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"https://schema.org/Friday","opens":"11:30:00","closes":"20:00:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"https://schema.org/Saturday","opens":"11:30:00","closes":"20:00:00"}],"hasMenu":"https://www.chicastacos.com/menu","areaServed":["Fairfax District","Hancock Park","La Brea","Mid Wilshire","Miracle Mile"]}]} 376 </script>
376 377</head> 378<body data-organization-id="21696" > 379 <a href="#main-content" class="sr-only focus:not-sr-only">Skip to main content</a> 380 <main id="main-content" role="main" data-maglev-dropzone> 381 <section class="grid grid-cols-2 gap-0 justify-center"> 382 <div class="bg-[var(--brand-primary)] w-full h-[40px] flex justify-center items-center px-4 col-span-2" role="banner" id="section-oIbQC7Oa" data-maglev-section-id="oIbQC7Oa" data-maglev-section-type="site_notification_01"> 383 <section class="flex items-center space-x-2 max-w-[1440px] w-full justify-center"> 384 <div class="w-[30px] h-[30px] overflow-hidden"> 385 <i class="text-white mds-food_bank" data-maglev-id="oIbQC7Oa.icon" aria-hidden="true"></i> 386 </div> 387 <span data-maglev-id="oIbQC7Oa.title" class="text-white text-[14px] font-normal leading-[24px] text-center line-clamp-2 overflow-hidden"><p><strong>Order Chicas Tacos and Enjoy A Better Taco!</strong></p></span> 388 </section> 389</div><header class="sticky top-0 z-50 bg-[var(--bg-primary)] py-[16px] xl:py-[12px] shadow-md w-full col-span-2" id="section-jssm1zdV" data-maglev-section-id="jssm1zdV" data-maglev-section-type="standard_nav_01"> 390 <div class="flex justify-between items-center px-4 xl:px-8 mx-auto w-full xl:max-w-[1440px]"> 391 <div class="flex items-center"> 392 <div class="max-w-[280px] max-h-[100px] rounded-lg flex-shrink-0 mr-4 xl:mr-8"> 393 <a href="/" aria-label="Chicas Tacos home"> 394 <img src="https://image-cdn.chowlyinc.com/300%2Cfit/https%3A%2F%2Fres.cloudinary.com%2Ftargetable%2Fimage%2Fupload%2Fv1785361521%2FCustomers%2F21696%2FChicas%2520Tacos%2FPICS%2Flogo.svg" alt="Chicas Tacos logo" class="max-w-[280px] max-h-[100px] w-auto h-auto object-contain rounded-lg"> 395 </a> 396 </div> 397 398 <nav role="navigation" aria-label="Main navigation" class="hidden xl:block"> 399 <ul class="flex"> 400 401 402 <li> 403 <a data-maglev-id="5u67Pic2OLo.link" class="flex text-[var(--text-muted)] hover:bg-[var(--brand-primary)]/[var(--hover-bg-opacity)] items-center justify-center gap-2 py-2 px-3 text-sm font-semibold rounded-md mr-3" aria-current="false" href="/"><span data-maglev-id="5u67Pic2OLo.link.text">Home</span></a> 404 </li> 405 406 <li> 407 <a data-maglev-id="S3FPtfylRZ4.link" class="flex text-[var(--text-muted)] hover:bg-[var(--brand-primary)]/[var(--hover-bg-opacity)] items-center justify-center gap-2 py-2 px-3 text-sm font-semibold rounded-md mr-3" aria-current="false" href="/menu"><span data-maglev-id="S3FPtfylRZ4.link.text">Menu</span></a> 408 </li> 409 410 <li> 411 <a data-maglev-id="HqsUsdL0EGI.link" class="flex text-[var(--text-muted)] hover:bg-[var(--brand-primary)]/[var(--hover-bg-opacity)] items-center justify-center gap-2 py-2 px-3 text-sm font-semibold rounded-md mr-3" aria-current="false" href="/locations"><span data-maglev-id="HqsUsdL0EGI.link.text">Locations</span></a> 412 </li> 413 414 <li> 415 <a data-maglev-id="7FZgR5KiBHI.link" class="flex text-[var(--text-muted)] hover:bg-[var(--brand-primary)]/[var(--hover-bg-opacity)] items-center justify-center gap-2 py-2 px-3 text-sm font-semibold rounded-md mr-3" aria-current="false" href="/catering"><span data-maglev-id="7FZgR5KiBHI.link.text">Catering</span></a> 416 </li> 417 418 <li class="relative"> 419 <button id="more-menu-button" class="flex text-[var(--text-muted)] hover:bg-[var(--brand-primary)]/[var(--hover-bg-opacity)] items-center justify-center gap-2 py-2 px-3 text-sm font-semibold rounded-md mr-3"> 420 More 421 <svg id="more-arrow" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 transition-transform duration-300" fill="none" viewBox="0 0 24 24" stroke="currentColor"> 422 <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7" /> 423 </svg> 424 </button> 425 <div id="more-dropdown" class="hidden fixed left-0 right-0 w-full z-50 transition-all duration-300"> 426 <div class="mx-auto max-w-7xl bg-[var(--bg-secondary)] shadow-lg p-6 rounded-lg dropdown-top-shadow"> 427 <div class="grid grid-cols-3 gap-4"> 428 <div class="w-full mb-2"> 429 <a data-maglev-id="F3q7ZdCJBaY.link" class="bg-[var(--brand-primary)]/[var(--active-bg-opacity)] text-[var(--active-text)] inline-block py-2 px-4 text-sm font-medium rounded-md" aria-current="page" href="/contact-us"><span data-maglev-id="F3q7ZdCJBaY.link.text">Contact Us</span></a> 430 </div> 431 <div class="w-full mb-2"> 432 <a data-maglev-id="46ihX3cQAEE.link" target="_blank" class="text-[var(--text-muted)] hover:bg-[var(--brand-primary)]/[var(--hover-bg-opacity)] inline-block py-2 px-4 text-sm font-medium rounded-md" aria-current="false" href="https://order.toasttab.com/egiftcards/chicas-tacos-miracle-mile"><span data-maglev-id="46ihX3cQAEE.link.text">Gift Cards</span></a> 433 </div> 434 <div class="w-full mb-2"> 435 <a data-maglev-id="3DncubM46Kw.link" class="text-[var(--text-muted)] hover:bg-[var(--brand-primary)]/[var(--hover-bg-opacity)] inline-block py-2 px-4 text-sm font-medium rounded-md" aria-current="false" href="/press"><span data-maglev-id="3DncubM46Kw.link.text">Press</span></a> 436 </div> 437 <div class="w-full mb-2"> 438 <a data-maglev-id="DkvrqwOUmBQ.link" class="text-[var(--text-muted)] hover:bg-[var(--brand-primary)]/[var(--hover-bg-opacity)] inline-block py-2 px-4 text-sm font-medium rounded-md" aria-current="false" href="/corporate-events"><span data-maglev-id="DkvrqwOUmBQ.link.text">Corporate Events</span></a> 439 </div> 440 <div class="w-full mb-2"> 441 <a data-maglev-id="PPYnwMIY9Tw.link" class="text-[var(--text-muted)] hover:bg-[var(--brand-primary)]/[var(--hover-bg-opacity)] inline-block py-2 px-4 text-sm font-medium rounded-md" aria-current="false" href="/private-events"><span data-maglev-id="PPYnwMIY9Tw.link.text">Private Events</span></a> 442 </div> 443 <div class="w-full mb-2"> 444 <a data-maglev-id="gfXrh16JS38.link" class="text-[var(--text-muted)] hover:bg-[var(--brand-primary)]/[var(--hover-bg-opacity)] inline-block py-2 px-4 text-sm font-medium rounded-md" aria-current="false" href="/weddings-engagements"><span data-maglev-id="gfXrh16JS38.link.text">Wedding & Engagements</span></a> 445 </div> 446 <div class="w-full mb-2"> 447 <a data-maglev-id="hf8u6LBFsCQ.link" class="text-[var(--text-muted)] hover:bg-[var(--brand-primary)]/[var(--hover-bg-opacity)] inline-block py-2 px-4 text-sm font-medium rounded-md" aria-current="false" href="/mobile-bar-service"><span data-maglev-id="hf8u6LBFsCQ.link.text">Mobile Bar Service</span></a> 448 </div> 449 <div class="w-full mb-2"> 450 <a data-maglev-id="bxuStRmRPf0.link" class="text-[var(--text-muted)] hover:bg-[var(--brand-primary)]/[var(--hover-bg-opacity)] inline-block py-2 px-4 text-sm font-medium rounded-md" aria-current="false" href="/about"><span data-maglev-id="bxuStRmRPf0.link.text">About</span></a> 451 </div> 452 </div> 453 </div> 454 </div> 455 </li> 456 </ul> 457 </nav> 458 </div> 459 460 <!-- Right side: Mobile toggle + Desktop buttons --> 461 <div class="flex items-center gap-2"> 462 <!-- Mobile menu toggle --> 463 <div class="xl:hidden"> 464 <button id="menu-toggle" class="focus:outline-none" aria-expanded="false" aria-controls="mobile-menu" aria-label="Toggle menu"> 465 <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="var(--stroke-primary)"> 466 <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" /> 467 </svg> 468 </button> 469 </div> 470 471 <!-- Desktop buttons (hidden on mobile) --> 472 <div class="hidden xl:flex items-center gap-2"> 473 <!-- Primary Order Now button --> 474 <a href="/stores" class="inline-flex items-center justify-center h-12 px-8 bg-[var(--brand-primary)] text-white text-base font-semibold rounded-md hover:brightness-90">Order Now</a> 475 476 <!-- Secondary button (optional, configurable) --> 477 </div> 478 </div> 479 </div> 480 481 <div id="mobile-menu" class="hidden fixed top-0 left-0 w-full h-full bg-[var(--bg-primary)] z-50 overflow-y-auto"> 482 <div class="flex justify-between items-center px-4 py-4 sticky top-0 bg-[var(--bg-primary)] z-10"> 483 <div class="max-w-[280px] max-h-[100px] rounded-lg flex-shrink-0 mr-4 xl:mr-8"> 484 <img src="https://image-cdn.chowlyinc.com/300%2Cfit/https%3A%2F%2Fres.cloudinary.com%2Ftargetable%2Fimage%2Fupload%2Fv1785361521%2FCustomers%2F21696%2FChicas%2520Tacos%2FPICS%2Flogo.svg" alt="Chicas Tacos logo" class="max-w-[280px] max-h-[100px] w-auto h-auto object-contain rounded-lg"> 485 </div> 486 <button id="menu-close" class="focus:outline-none" aria-label="Close menu"> 487 <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="var(--stroke-primary)"> 488 <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" /> 489 </svg> 490 </button> 491 </div> 492 493 <nav role="navigation" aria-label="Mobile navigation" class="pb-32"> 494 <ul class="flex flex-col items-start px-5 space-y-6 mt-8"> 495 496 <li> 497 <a data-maglev-id="5u67Pic2OLo.link" class="text-[var(--text-muted)] hover:bg-[var(--brand-primary)]/[var(--hover-bg-opacity)] py-2 px-4 text-sm font-semibold pl-3" aria-current="false" href="/"><span data-maglev-id="5u67Pic2OLo.link.text">Home</span></a> 498 </li> 499 500 <li> 501 <a data-maglev-id="S3FPtfylRZ4.link" class="text-[var(--text-muted)] hover:bg-[var(--brand-primary)]/[var(--hover-bg-opacity)] py-2 px-4 text-sm font-semibold pl-3" aria-current="false" href="/menu"><span data-maglev-id="S3FPtfylRZ4.link.text">Menu</span></a> 502 </li> 503 504 <li> 505 <a data-maglev-id="HqsUsdL0EGI.link" class="text-[var(--text-muted)] hover:bg-[var(--brand-primary)]/[var(--hover-bg-opacity)] py-2 px-4 text-sm font-semibold pl-3" aria-current="false" href="/locations"><span data-maglev-id="HqsUsdL0EGI.link.text">Locations</span></a> 506 </li> 507 508 <li> 509 <a data-maglev-id="7FZgR5KiBHI.link" class="text-[var(--text-muted)] hover:bg-[var(--brand-primary)]/[var(--hover-bg-opacity)] py-2 px-4 text-sm font-semibold pl-3" aria-current="false" href="/catering"><span data-maglev-id="7FZgR5KiBHI.link.text">Catering</span></a> 510 </li> 511 512 <li> 513 <a data-maglev-id="F3q7ZdCJBaY.link" class="bg-[var(--brand-primary)]/[var(--active-bg-opacity)] text-[var(--active-text)] py-2 px-4 text-sm font-semibold pl-3" aria-current="page" href="/contact-us"><span data-maglev-id="F3q7ZdCJBaY.link.text">Contact Us</span></a> 514 </li> 515 516 <li> 517 <a data-maglev-id="46ihX3cQAEE.link" target="_blank" class="text-[var(--text-muted)] hover:bg-[var(--brand-primary)]/[var(--hover-bg-opacity)] py-2 px-4 text-sm font-semibold pl-3" aria-current="false" href="https://order.toasttab.com/egiftcards/chicas-tacos-miracle-mile"><span data-maglev-id="46ihX3cQAEE.link.text">Gift Cards</span></a> 518 </li> 519 520 <li> 521 <a data-maglev-id="3DncubM46Kw.link" class="text-[var(--text-muted)] hover:bg-[var(--brand-primary)]/[var(--hover-bg-opacity)] py-2 px-4 text-sm font-semibold pl-3" aria-current="false" href="/press"><span data-maglev-id="3DncubM46Kw.link.text">Press</span></a> 522 </li> 523 524 <li> 525 <a data-maglev-id="DkvrqwOUmBQ.link" class="text-[var(--text-muted)] hover:bg-[var(--brand-primary)]/[var(--hover-bg-opacity)] py-2 px-4 text-sm font-semibold pl-3" aria-current="false" href="/corporate-events"><span data-maglev-id="DkvrqwOUmBQ.link.text">Corporate Events</span></a> 526 </li> 527 528 <li> 529 <a data-maglev-id="PPYnwMIY9Tw.link" class="text-[var(--text-muted)] hover:bg-[var(--brand-primary)]/[var(--hover-bg-opacity)] py-2 px-4 text-sm font-semibold pl-3" aria-current="false" href="/private-events"><span data-maglev-id="PPYnwMIY9Tw.link.text">Private Events</span></a> 530 </li> 531 532 <li> 533 <a data-maglev-id="gfXrh16JS38.link" class="text-[var(--text-muted)] hover:bg-[var(--brand-primary)]/[var(--hover-bg-opacity)] py-2 px-4 text-sm font-semibold pl-3" aria-current="false" href="/weddings-engagements"><span data-maglev-id="gfXrh16JS38.link.text">Wedding & Engagements</span></a> 534 </li> 535 536 <li> 537 <a data-maglev-id="hf8u6LBFsCQ.link" class="text-[var(--text-muted)] hover:bg-[var(--brand-primary)]/[var(--hover-bg-opacity)] py-2 px-4 text-sm font-semibold pl-3" aria-current="false" href="/mobile-bar-service"><span data-maglev-id="hf8u6LBFsCQ.link.text">Mobile Bar Service</span></a> 538 </li> 539 540 <li> 541 <a data-maglev-id="bxuStRmRPf0.link" class="text-[var(--text-muted)] hover:bg-[var(--brand-primary)]/[var(--hover-bg-opacity)] py-2 px-4 text-sm font-semibold pl-3" aria-current="false" href="/about"><span data-maglev-id="bxuStRmRPf0.link.text">About</span></a> 542 </li> 543 </ul> 544 </nav> 545 546 <div class="fixed bottom-0 left-0 w-full flex items-center justify-center gap-2 py-8 px-4 bg-[var(--bg-primary)] border-[var(--border-secondary)]"> 547 <!-- Primary Order Now button --> 548 <a href="/stores" class="inline-flex h-12 px-8 justify-center items-center gap-2 flex-shrink-0 rounded-[6px] bg-[var(--brand-primary)] text-white text-[15px] font-semibold leading-[150%] hover:brightness-90">Order Now</a> 549 550 <!-- Secondary button (optional, configurable) --> 551 </div> 552 </div> 553</header>
554<script> 555 const menuToggle = document.getElementById('menu-toggle'); 556 const menuClose = document.getElementById('menu-close'); 557 const mobileMenu = document.getElementById('mobile-menu'); 558 559 menuToggle.addEventListener('click', () => { 560 mobileMenu.classList.remove('hidden'); 561 mobileMenu.setAttribute('aria-hidden', 'false'); 562 menuToggle.setAttribute('aria-expanded', 'true'); 563 }); 564 565 menuClose.addEventListener('click', () => { 566 mobileMenu.classList.add('hidden'); 567 mobileMenu.setAttribute('aria-hidden', 'true'); 568 menuToggle.setAttribute('aria-expanded', 'false'); 569 }); 570 571 document.addEventListener('DOMContentLoaded', function() { 572 // More menu dropdown functionality 573 const moreButton = document.getElementById('more-menu-button'); 574 const moreDropdown = document.getElementById('more-dropdown'); 575 const moreArrow = document.getElementById('more-arrow'); 576 577 if (moreButton && moreDropdown && moreArrow) { 578 let isOpen = false; 579 let isHoveringButton = false; 580 let isHoveringDropdown = false; 581 let dropdownTimeout; 582 583 function showDropdown() { 584 clearTimeout(dropdownTimeout); 585 moreDropdown.classList.remove('hidden'); 586 moreDropdown.style.opacity = '1'; 587 moreArrow.classList.add('rotate-180'); 588 isOpen = true; 589 } 590 591 function hideDropdown() { 592 moreDropdown.style.opacity = '0'; 593 moreArrow.classList.remove('rotate-180'); 594 595 dropdownTimeout = setTimeout(() => { 596 moreDropdown.classList.add('hidden'); 597 isOpen = false; 598 }, 300); 599 } 600 601 function toggleDropdown() { 602 if (isOpen) { 603 hideDropdown(); 604 } else { 605 showDropdown(); 606 } 607 } 608 609 function updateDropdownVisibility() { 610 if (isHoveringButton || isHoveringDropdown) { 611 showDropdown(); 612 } else { 613 hideDropdown(); 614 } 615 } 616 617 moreButton.addEventListener('click', function(e) { 618 e.preventDefault(); 619 toggleDropdown(); 620 }); 621 622 moreButton.addEventListener('mouseenter', () => { 623 isHoveringButton = true; 624 updateDropdownVisibility(); 625 }); 626 627 moreButton.addEventListener('mouseleave', () => { 628 isHoveringButton = false; 629 toggleDropdown(); 630 }); 631 632 moreDropdown.addEventListener('mouseenter', () => { 633 isHoveringDropdown = true; 634 updateDropdownVisibility(); 635 }); 636 637 moreDropdown.addEventListener('mouseleave', () => { 638 isHoveringDropdown = false; 639 toggleDropdown(); 640 }); 641 642 document.addEventListener('click', function(e) { 643 if (isOpen && !moreButton.contains(e.target) && !moreDropdown.contains(e.target)) { 644 hideDropdown(); 645 } 646 }); 647 } 648 649 // Locations dropdown functionality (desktop main nav) 650 const locationsContainers = document.querySelectorAll('.locations-dropdown-container'); 651 locationsContainers.forEach(container => { 652 const button = container.querySelector('.locations-dropdown-button'); 653 const dropdown = container.querySelector('.locations-dropdown'); 654 const arrow = container.querySelector('.locations-arrow'); 655 656 if (button && dropdown && arrow) { 657 let isOpen = false; 658 let hoverTimeout; 659 660 function showLocationsDropdown() { 661 clearTimeout(hoverTimeout); 662 dropdown.classList.remove('hidden'); 663 arrow.classList.add('rotate-180'); 664 isOpen = true; 665 } 666 667 function hideLocationsDropdown() { 668 hoverTimeout = setTimeout(() => { 669 dropdown.classList.add('hidden'); 670 arrow.classList.remove('rotate-180'); 671 isOpen = false; 672 }, 150); 673 } 674 675 button.addEventListener('click', (e) => { 676 e.preventDefault(); 677 if (isOpen) { 678 hideLocationsDropdown(); 679 } else { 680 showLocationsDropdown(); 681 } 682 }); 683 684 container.addEventListener('mouseenter', showLocationsDropdown); 685 container.addEventListener('mouseleave', hideLocationsDropdown); 686 687 document.addEventListener('click', (e) => { 688 if (isOpen && !container.contains(e.target)) { 689 dropdown.classList.add('hidden'); 690 arrow.classList.remove('rotate-180'); 691 isOpen = false;
692 } 693 }); 694 } 695 }); 696 697 // Locations dropdown in "More" menu 698 const locationsMoreContainers = document.querySelectorAll('.locations-more-dropdown-container'); 699 locationsMoreContainers.forEach(container => { 700 const button = container.querySelector('.locations-more-button'); 701 const dropdown = container.querySelector('.locations-more-dropdown'); 702 const arrow = container.querySelector('.locations-more-arrow'); 703 704 if (button && dropdown && arrow) { 705 let isOpen = false; 706 707 button.addEventListener('click', (e) => { 708 e.preventDefault(); 709 e.stopPropagation(); 710 if (isOpen) { 711 dropdown.classList.add('hidden'); 712 arrow.classList.remove('rotate-180'); 713 isOpen = false; 714 } else { 715 dropdown.classList.remove('hidden'); 716 arrow.classList.add('rotate-180'); 717 isOpen = true; 718 } 719 }); 720 721 container.addEventListener('mouseenter', () => { 722 dropdown.classList.remove('hidden'); 723 arrow.classList.add('rotate-180'); 724 isOpen = true; 725 }); 726 727 container.addEventListener('mouseleave', () => { 728 dropdown.classList.add('hidden'); 729 arrow.classList.remove('rotate-180'); 730 isOpen = false; 731 }); 732 } 733 }); 734 735 // Mobile locations toggle 736 const mobileLocationsToggles = document.querySelectorAll('.mobile-locations-toggle'); 737 mobileLocationsToggles.forEach(toggle => { 738 const arrow = toggle.querySelector('.mobile-locations-arrow'); 739 const list = toggle.parentElement.querySelector('.mobile-locations-list'); 740 741 if (arrow && list) { 742 toggle.addEventListener('click', (e) => { 743 e.preventDefault(); 744 list.classList.toggle('hidden'); 745 arrow.classList.toggle('rotate-180'); 746 }); 747 } 748 }); 749 }); 750</script>
750 751 752<style> 753 .rotate-180 { 754 transform: rotate(180deg); 755 transition: transform 300ms; 756 } 757 758 #more-dropdown { 759 opacity: 0; 760 transition: opacity 300ms; 761 position: absolute; 762 top: 100%; 763 left: 50%; 764 right: 0; 765 width: 80vw; 766 margin-left: auto; 767 margin-right: auto; 768 z-index: 50; 769 transform: translateX(calc(-50% + 10vw)); 770 } 771 772 .dropdown-top-shadow { 773 box-shadow: 0 -4px 6px -1px rgba(0, 0, 0, 0.1), 0 -2px 4px -1px rgba(0, 0, 0, 0.06), 774 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); 775 } 776 777 .locations-dropdown { 778 box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); 779 } 780 781 .locations-more-dropdown { 782 box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); 783 } 784</style> 785<section class="flex justify-center py-10 px-4 xl:px-0 col-span-2" aria-labelledby="contact-title" itemscope="itemscope" itemtype="https://schema.org/ContactPage" id="section-_LdfZMObePA" data-maglev-section-id="_LdfZMObePA" data-maglev-section-type="contact_us_01"> 786 787 <div class="flex flex-col xl:flex-row w-full xl:max-w-[1150px] mx-auto gap-10"> 788 <!-- Left Column - Hero Image --> 789 <figure class="w-full xl:flex-1 min-w-0 aspect-[16/9] md:aspect-[4/3] xl:aspect-square relative rounded-lg bg-cover bg-center" style="background-image: url(/maglev/assets/b0dfc54a-acf5-4739-8d03-9af2212ce845-vqjvnjtcfp7cv61uf4faac3968uy.avif);" aria-label="Say Hello!"> 790 <div class="absolute inset-0 rounded-lg bg-black/40"></div> 791 <figcaption class="absolute inset-0 flex flex-col justify-center px-6 xl:px-14"> 792 <h1 data-maglev-id="_LdfZMObePA.title" id="contact-title" class="text-white font-bold text-[40px] xl:text-[60px] md:text-[60px] leading-[50px] md:leading-[75px] xl:leading-none md:max-w-[500px] xl:max-w-[420px] md:mx-auto md:text-left xl:text-left">Say Hello!</h1> 793 </figcaption> 794 </figure> 795 796 <!-- Right Column - Form --> 797 <div class="w-full xl:flex-1 min-w-0 h-auto xl:h-auto bg-[var(--bg-form)] rounded-lg shadow-md p-6 xl:p-8"> 798 <!-- Display Flash Messages --> 799 <div class="mb-4" id="flash-wrapper" aria-live="polite"> 800 <div id="flash-error-wrapper" class="hidden mb-2 p-4 bg-red-100 border border-red-400 text-red-700 rounded" role="alert"> 801 <ul id="flash-error-list"></ul> 802 </div> 803 804 <div id="flash-success-wrapper" class="hidden p-4 bg-green-100 border border-green-400 text-green-700 rounded" role="status"></div> 805 </div> 806 807 <form id="contact-form" class="space-y-6 w-full md:w-[344px] xl:w-full xl:mx-0 mx-auto" enctype="multipart/form-data" action="/contact-us" accept-charset="UTF-8" method="post"> 808 <input id="redirect_uri" autocomplete="off" type="hidden" name="redirect_uri" /> 809 <input value="BelBoXnEbNh8Y3imcLA9G9fFyfgo3PY=--FrP9zdLop4myh0LI--ZVv5R7oKHNrfGFD34GZ1Dw==" id="recipient_email" autocomplete="off" type="hidden" name="recipient_email" /> 810 <input value="9Cw=--tTPjDm7GfmZkob5x--lVtvMm/w8E5o1AMdCfCKuA==" id="subject" autocomplete="off" type="hidden" name="subject" /> 811 <!-- Full Name Field (Optional) --> 812 <fieldset> 813 <legend class="sr-only">Full Name</legend> 814 <label class="block text-[var(--text-primary)] text-[13px] font-bold leading-[150%]" for="name"> 815 Full Name <span class="font-normal"></span> 816</label> <input placeholder="Full name" class="w-full mt-2 p-3 border text-[var(--text-primary)] border-[var(--border-secondary)] bg-[var(--bg-form)] rounded-lg placeholder:text-[var(--placeholder-text)] placeholder:text-[15px] placeholder:font-normal focus:border-[var(--focus-border)] focus:outline-none" aria-describedby="name-error" type="text" name="name" id="name" /> 817 <small class="text-red-600 hidden" id="name-error">Name cannot exceed 100 characters.</small> 818 </fieldset> 819 820 <!-- Email Field (Required) --> 821 <fieldset> 822 <legend class="sr-only">Email</legend> 823 <label class="block text-[var(--text-primary)] text-[13px] font-bold leading-[150%]" for="email"> 824 Email <span class="font-normal">(required)</span> 825</label> <input placeholder="[email protected]" class="w-full mt-2 p-3 border text-[var(--text-primary)] border-[var(--border-secondary)] bg-[var(--bg-form)] rounded-lg placeholder:text-[var(--placeholder-text)] placeholder:text-[15px] placeholder:font-normal focus:border-[var(--focus-border)] focus:outline-none" required="required" aria-describedby="email-error" type="email" name="email" id="email" /> 826 <small class="text-red-600 hidden" id="email-error">Please enter a valid email address.</small> 827 </fieldset> 828 829 <!-- Phone Field (Optional) --> 830 <fieldset> 831 <legend class="sr-only">Phone</legend> 832 <label class="block text-[var(--text-primary)] text-[13px] font-bold leading-[150%]" for="phone"> 833 Phone <span class="font-normal"></span> 834</label> <input placeholder="123-456-7890" class="phone-mask w-full mt-2 p-3 border text-[var(--text-primary)] border-[var(--border-secondary)] bg-[var(--bg-form)] rounded-lg placeholder:text-[var(--placeholder-text)] placeholder:text-[15px] placeholder:font-normal focus:border-[var(--focus-border)] focus:outline-none" aria-describedby="phone-error" type="tel" name="phone" id="phone" /> 835 <small class="text-red-600 hidden" id="phone-error">Please enter a valid phone number (e.g., 123-456-7890 or 1234567890)</small> 836 </fieldset> 837 838 <input type="hidden" name="g-recaptcha-response" class="g-recaptcha-response"> 839 840 <!-- Message Field (Required) --> 841 <fieldset> 842 <legend class="sr-only">Message</legend> 843 <label class="block text-[var(--text-primary)] text-[13px] font-bold leading-[150%]" for="message"> 844 Message <span class="font-normal">(required)</span> 845</label> <textarea placeholder="Your message here..." class="w-full h-32 mt-2 p-3 border text-[var(--text-primary)] border-[var(--border-secondary)] bg-[var(--bg-form)] rounded-lg placeholder:text-[var(--placeholder-text)] placeholder:text-[15px] placeholder:font-normal focus:border-[var(--focus-border)] focus:outline-none" required="required" aria-describedby="message-error" name="message" id="message"> 846</textarea> 847 <small class="text-red-600 hidden" id="message-error">Please enter your message (maximum 1000 characters).</small> 848 </fieldset> 849 850 851 <div class="mt-6 flex flex-col xl:flex-row justify-between items-center gap-4"> 852 <!-- Submit Button --> 853 <div class="w-full xl:w-auto"> 854 <input type="submit" name="commit" value="Submit" class="inline-flex h-12 w-full xl:w-auto px-8 justify-center items-center gap-2 flex-shrink-0 rounded-[6px] text-white text-[15px] font-semibold leading-[150%] hover:brightness-90 g-recaptcha" style="background-color: rgb(213, 0, 50);" data-sitekey="6LcsffgqAAAAANLXQa19TOl4LbE2V7eS6PfaYhiT" data-callback="onContactSubmit" data-action="submit" data-disable-with="Submit" /> 855 </div> 856 </div> 857</form> 858 <!-- jQuery Validation Script --> 859
859<script type="module"> 860 $(document).ready(function() { 861 // Set the redirect_uri to the current page URL 862 $("#redirect_uri").val(window.location.href); 863 864 $("input[name='phone']").mask("000-000-0000"); 865 866 var urlParams = new URLSearchParams(window.location.search); 867 868 if (urlParams.has("errors[]") || urlParams.has("notice")) { 869 $("#flash-wrapper").removeClass("hidden"); 870 871 if (urlParams.has("errors[]")) { 872 $("#flash-error-wrapper").removeClass("hidden"); 873 874 let errors = urlParams.getAll("errors[]"); 875 876 let errorHtml = ""; 877 for(let i=0; i<errors.length; i++) { 878 errorHtml += `<li>${errors[i]}</li>`; 879 } 880 881 $("#flash-error-list").html(errorHtml); 882 } else { 883 $("#flash-success-wrapper").removeClass("hidden"); 884 $("#flash-success-wrapper").text(urlParams.get("notice")); 885 } 886 887 // Scroll to the contact form if the URL contains the "contact" parameter 888 document.getElementById("contact-form").scrollIntoView({ behavior: 'smooth' }); 889 } 890 891 // File input change handler 892 $('input[type="file"]').on('change', function() { 893 const fileError = $('#file-error'); 894 const acceptedFileTypes = $('#accepted-file-types'); 895 896 if (this.files.length > 0) { 897 const file = this.files[0]; 898 const allowedTypes = $(this).data('allowed-types').split(','); 899 const fileExtension = '.' + file.name.split('.').pop().toLowerCase(); 900 901 if (allowedTypes.includes(fileExtension)) { 902 fileError.addClass('hidden'); 903 acceptedFileTypes.removeClass('hidden'); 904 } 905 } 906 }); 907 }); 908 909 910 window.onContactSubmit = function(token) { 911 $(".text-red-600").addClass("hidden"); // Hide all error messages 912 913 $("#contact-form .g-recaptcha-response").val(token); 914 915 let isValid = true; 916 917 // Validate Full Name (Optional, max 100 characters) 918 const name = $("input[name='name']").val().trim(); 919 if (name.length > 100) { 920 $("#name-error").removeClass("hidden"); 921 isValid = false; 922 } 923 924 // Validate Email (Required and format) 925 const email = $("input[name='email']").val().trim(); 926 const emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/; 927 if (email === "" || !emailPattern.test(email)) { 928 $("#email-error").removeClass("hidden"); 929 isValid = false; 930 } 931 932 // Validate Phone (Optional, accepts both formats) 933 const phone = $("input[name='phone']").val().trim(); 934 const phonePatternWithDashes = /^\d{3}-\d{3}-\d{4}$/; 935 const phonePatternNumeric = /^\d{10}$/; 936 if (phone !== "" && !phonePatternWithDashes.test(phone) && !phonePatternNumeric.test(phone)) { 937 $("#phone-error") 938 .text("Please enter a valid phone number (e.g., 123-456-7890 or 1234567890)") 939 .removeClass("hidden"); 940 isValid = false; 941 } 942 943 // Validate Message (Required, max 1000 characters) 944 const message = $("textarea[name='message']").val().trim(); 945 if (message === "") { 946 $("#message-error").removeClass("hidden"); 947 isValid = false; 948 } else if (message.length > 1000) { 949 $("#message-error").text("Message cannot exceed 1000 characters.").removeClass("hidden"); 950 isValid = false; 951 } else { 952 $("#message-error").text("Please enter your message (maximum 1000 characters).").addClass("hidden"); 953 } 954 955 // Validate File Upload if enabled 956 const fileInput = $('input[type="file"]'); 957 if (fileInput.length && fileInput[0].files.length > 0) { 958 const file = fileInput[0].files[0]; 959 const maxSize = parseInt(fileInput.data('max-size')); 960 const allowedTypes = fileInput.data('allowed-types').split(','); 961 const fileError = $('#file-error'); 962 const acceptedFileTypes = $('#accepted-file-types'); 963 let fileWithError = false;
964 965 // Check file size 966 if (file.size > maxSize) { 967 fileError.text('File size must be less than 5MB'); 968 fileError.removeClass('hidden'); 969 acceptedFileTypes.addClass('hidden'); 970 isValid = false; 971 fileWithError = true; 972 } else { 973 acceptedFileTypes.removeClass('hidden'); 974 } 975 976 // Check file type 977 const fileExtension = '.' + file.name.split('.').pop().toLowerCase(); 978 if (!allowedTypes.includes(fileExtension)) { 979 fileError.text('Invalid file type. Please upload PDF, DOC, DOCX, or TXT files only. (max 5MB)'); 980 fileError.removeClass('hidden'); 981 acceptedFileTypes.addClass('hidden'); 982 isValid = false; 983 fileWithError = true; 984 } 985 986 if (fileWithError) { 987 acceptedFileTypes.addClass('hidden'); 988 } else { 989 acceptedFileTypes.removeClass('hidden'); 990 } 991 } 992 993 if (isValid) { 994 $('#contact-form').submit(); 995 } 996 }; 997 </script>
997 998 </div> 999 </div> 1000 1001 <!-- Schema.org JSON-LD structured data --> 1002
1002<script type="application/ld+json"> 1003 { 1004 "@context": "https://schema.org", 1005 "@type": "ContactPage", 1006 "name": "Say Hello!", 1007 "description": "Contact us form for inquiries and messages.", 1008 "url": "https://www.chicastacos.com/contact-us", 1009 "mainEntity": { 1010 "@type": "Organization", 1011 "contactPoint": { 1012 "@type": "ContactPoint", 1013 "contactType": "customer service", 1014 "email": "[email protected]" 1015 } 1016 } 1017 } 1018 </script>
1018 1019</section><section class="w-full flex justify-center py-10 col-span-2" data-location_id="section-27adefcb-a96d-4e0c-9829-e9c71f59bd6b" aria-label="Locations information" id="section-_uW7lDQG" data-maglev-section-id="_uW7lDQG" data-maglev-section-type="dynamic_locations_01"> 1020 1021 1022 1023 1024 <section class="w-full xl:max-w-[1440px] h-auto flex-shrink-0 bg-[var(--bg-secondary)] p-8"> 1025 <header class="w-full flex flex-col items-center px-4 xl:px-0"> 1026 <h2 data-maglev-id="_uW7lDQG.title" class="text-[var(--text-primary)] text-center text-[32px] xl:text-[48px] font-semibold leading-[normal] tracking-[-0.48px]" id="locations-heading-27adefcb-a96d-4e0c-9829-e9c71f59bd6b">Chicas Tacos Los Angeles Locations</h2> 1027 <p data-maglev-id="_uW7lDQG.subtitle" class="text-[var(--text-secondary)] text-center text-[16px] font-normal leading-[24px] mt-2">Come taste the best tacos in the <a href="/location/fairfax-district">Fairfax District</a>. 1028 1029</p> 1030 </header> 1031 1032 1033 <div data-location_wrapper_id="27adefcb-a96d-4e0c-9829-e9c71f59bd6b-0" class="mt-10 mx-auto w-full max-w-[1057px] flex flex-col xl:flex-row justify-center"> 1034 <article class="w-full xl:w-[657px] bg-[var(--bg-primary)] rounded-lg shadow-lg p-8 flex-shrink-0 min-h-[418px] flex flex-col justify-between"> 1035 <header> 1036 <h3 class="text-[var(--text-primary)] text-[24px] font-semibold leading-[30px] tracking-[-0.192px]"> 1037 Chicas Tacos 1038 </h3> 1039 1040 <nav class="mt-4 flex flex-wrap gap-2 md:flex-nowrap md:space-x-3 md:overflow-x-auto" aria-label="Location navigation"> 1041 1042 <div class="flex px-3 py-2 justify-center items-center rounded-md bg-[var(--brand-primary)]/[var(--active-bg-opacity)] text-[var(--active-text)] md:whitespace-nowrap"> 1043 <a href="#" data-switch_location="27adefcb-a96d-4e0c-9829-e9c71f59bd6b-0" class="text-[14px] font-semibold leading-[140%]" aria-current="page"> 1044 Chicas Tacos - Los Angeles 800 South La Brea Avenue 1045 </a> 1046 </div> 1047 1048 <div class="flex px-3 py-2 justify-center items-center rounded-md bg-[var(--bg-primary)] text-[var(--text-primary)] md:whitespace-nowrap"> 1049 <a href="#" data-switch_location="27adefcb-a96d-4e0c-9829-e9c71f59bd6b-1" class="text-[14px] leading-[140%]" aria-current="false"> 1050 Chicas Tacos - Hermosa Beach 1272 The Strand 1051 </a> 1052 </div> 1053 </nav> 1054 </header> 1055 1056 <address class="mt-6 flex items-center space-x-3 not-italic"> 1057 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true"> 1058 <path 1059 d="M9.99992 17.7712C9.80547 17.7712 9.61103 17.7364 9.41658 17.667C9.22214 17.5975 9.04853 17.4934 8.89575 17.3545C7.99297 16.5212 7.19436 15.7087 6.49992 14.917C5.80547 14.1253 5.22561 13.358 4.76034 12.6149C4.29506 11.8719 3.94089 11.1566 3.69784 10.4691C3.45478 9.78158 3.33325 9.12533 3.33325 8.50033C3.33325 6.41699 4.00339 4.75727 5.34367 3.52116C6.68395 2.28505 8.23603 1.66699 9.99992 1.66699C11.7638 1.66699 13.3159 2.28505 14.6562 3.52116C15.9964 4.75727 16.6666 6.41699 16.6666 8.50033C16.6666 9.12533 16.5451 9.78158 16.302 10.4691C16.0589 11.1566 15.7048 11.8719 15.2395 12.6149C14.7742 13.358 14.1944 14.1253 13.4999 14.917C12.8055 15.7087 12.0069 16.5212 11.1041 17.3545C10.9513 17.4934 10.7777 17.5975 10.5833 17.667C10.3888 17.7364 10.1944 17.7712 9.99992 17.7712ZM9.99992 10.0003C10.4583 10.0003 10.8506 9.83713 11.177 9.51074C11.5034 9.18435 11.6666 8.79199 11.6666 8.33366C11.6666 7.87533 11.5034 7.48296 11.177 7.15658C10.8506 6.83019 10.4583 6.66699 9.99992 6.66699C9.54158 6.66699 9.14922 6.83019 8.82283 7.15658C8.49645 7.48296 8.33325 7.87533 8.33325 8.33366C8.33325 8.79199 8.49645 9.18435 8.82283 9.51074C9.14922 9.83713 9.54158 10.0003 9.99992 10.0003Z" 1060 fill="#666666"></path> 1061 </svg> 1062 <a href="https://www.google.com/maps/search/?api=1&query=800%20South%20La%20Brea%20Avenue%2C%20Los%20Angeles%2C%20CA%2C%2090036%2C%20US" target="_blank" 1063 class="text-[var(--text-primary)] text-[14px] font-normal leading-[20px]"> 1064 800 South La Brea Avenue, Los Angeles, CA, 90036, US 1065 </a> 1066 </address> 1067 1068 <div class="mt-6 flex items-center space-x-3"> 1069 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true"> 1070 <path
1071 d="M16.625 17.5C14.8889 17.5 13.1736 17.1215 11.4792 16.3646C9.78472 15.6076 8.24306 14.5347 6.85417 13.1458C5.46528 11.7569 4.39236 10.2153 3.63542 8.52083C2.87847 6.82639 2.5 5.11111 2.5 3.375C2.5 3.125 2.58333 2.91667 2.75 2.75C2.91667 2.58333 3.125 2.5 3.375 2.5H6.75C6.94444 2.5 7.11806 2.56597 7.27083 2.69792C7.42361 2.82986 7.51389 2.98611 7.54167 3.16667L8.08333 6.08333C8.11111 6.30556 8.10417 6.49306 8.0625 6.64583C8.02083 6.79861 7.94444 6.93056 7.83333 7.04167L5.8125 9.08333C6.09028 9.59722 6.42014 10.0938 6.80208 10.5729C7.18403 11.0521 7.60417 11.5139 8.0625 11.9583C8.49306 12.3889 8.94444 12.7882 9.41667 13.1562C9.88889 13.5243 10.3889 13.8611 10.9167 14.1667L12.875 12.2083C13 12.0833 13.1632 11.9896 13.3646 11.9271C13.566 11.8646 13.7639 11.8472 13.9583 11.875L16.8333 12.4583C17.0278 12.5139 17.1875 12.6146 17.3125 12.7604C17.4375 12.9062 17.5 13.0694 17.5 13.25V16.625C17.5 16.875 17.4167 17.0833 17.25 17.25C17.0833 17.4167 16.875 17.5 16.625 17.5Z" 1072 fill="#666666"></path> 1073 </svg> 1074 <a href="tel:3238638226" class="text-[var(--text-primary)] text-[14px] font-normal leading-[20px]"> 1075 323-863-8226 1076 </a> 1077 </div> 1078 1079 <div class="mt-6 flex flex-col space-y-2 xl:flex-row xl:space-x-3 justify-between"> 1080 <div class="flex flex-wrap space-x-3"> 1081 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true"> 1082 <path 1083 d="M10.8334 9.66699V6.66699C10.8334 6.43088 10.7536 6.23296 10.5938 6.07324C10.4341 5.91352 10.2362 5.83366 10.0001 5.83366C9.76397 5.83366 9.56605 5.91352 9.40633 6.07324C9.24661 6.23296 9.16675 6.43088 9.16675 6.66699V9.97949C9.16675 10.0906 9.18758 10.1982 9.22925 10.3024C9.27091 10.4066 9.33341 10.5003 9.41675 10.5837L12.1667 13.3337C12.3195 13.4864 12.514 13.5628 12.7501 13.5628C12.9862 13.5628 13.1806 13.4864 13.3334 13.3337C13.4862 13.1809 13.5626 12.9864 13.5626 12.7503C13.5626 12.5142 13.4862 12.3198 13.3334 12.167L10.8334 9.66699ZM10.0001 18.3337C8.8473 18.3337 7.76397 18.1149 6.75008 17.6774C5.73619 17.2399 4.85425 16.6462 4.10425 15.8962C3.35425 15.1462 2.7605 14.2642 2.323 13.2503C1.8855 12.2364 1.66675 11.1531 1.66675 10.0003C1.66675 8.84755 1.8855 7.76421 2.323 6.75033C2.7605 5.73644 3.35425 4.85449 4.10425 4.10449C4.85425 3.35449 5.73619 2.76074 6.75008 2.32324C7.76397 1.88574 8.8473 1.66699 10.0001 1.66699C11.1529 1.66699 12.2362 1.88574 13.2501 2.32324C14.264 2.76074 15.1459 3.35449 15.8959 4.10449C16.6459 4.85449 17.2397 5.73644 17.6772 6.75033C18.1147 7.76421 18.3334 8.84755 18.3334 10.0003C18.3334 11.1531 18.1147 12.2364 17.6772 13.2503C17.2397 14.2642 16.6459 15.1462 15.8959 15.8962C15.1459 16.6462 14.264 17.2399 13.2501 17.6774C12.2362 18.1149 11.1529 18.3337 10.0001 18.3337Z" 1084 fill="#666666"></path> 1085 </svg> 1086 <div> 1087 <section class="text-[var(--text-primary)] mt-0 space-y-2"> 1088 <div class="sr-only" aria-hidden="false">Business Hours</div> 1089 <b>Sunday:</b> 1090 <div class="inline"> 1091 <time content="12:00" datetime="12:00" class="inline">12:00 PM</time> - <time content="23:59" datetime="23:59" class="inline">11:59 PM</time> 1092 </div> 1093 <br /> 1094 <b>Monday:</b> 1095 <div class="inline"> 1096 <time content="15:00" datetime="15:00" class="inline">3:00 PM</time> - <time content="23:59" datetime="23:59" class="inline">11:59 PM</time> 1097 </div> 1098 <br /> 1099 <b>Tuesday:</b> 1100 <div class="inline"> 1101 <time content="15:00" datetime="15:00" class="inline">3:00 PM</time> - <time content="23:59" datetime="23:59" class="inline">11:59 PM</time> 1102 </div> 1103 <br /> 1104 <b>Wednesday:</b> 1105 <div class="inline"> 1106 <time content="15:00" datetime="15:00" class="inline">3:00 PM</time> - <time content="23:59" datetime="23:59" class="inline">11:59 PM</time> 1107 </div> 1108 <br /> 1109 <b>Thursday:</b> 1110 <div class="inline"> 1111 <time content="15:00" datetime="15:00" class="inline">3:00 PM</time> - <time content="23:59" datetime="23:59" class="inline">11:59 PM</time> 1112 </div> 1113 <br /> 1114 <b>Friday:</b> 1115 <div class="inline"> 1116 <time content="12:00" datetime="12:00" class="inline">12:00 PM</time> - <time content="02:00" datetime="02:00" class="inline">2:00 AM</time> 1117 </div> 1118 (Next Day) 1119 <br /> 1120 <b>Saturday:</b> 1121 <div class="inline"> 1122 <time content="12:00" datetime="12:00" class="inline">12:00 PM</time> - <time content="02:00" datetime="02:00" class="inline">2:00 AM</time> 1123 </div> 1124 (Next Day) 1125 <br /> 1126</section> 1127 1128 </div> 1129 </div> 1130 1131 <div class="flex flex-col justify-end items-center xl:items-end"> 1132 <a href="/stores" 1133 class="mt-6 inline-flex h-[48px] px-8 py-4 justify-center items-center gap-2 rounded-[6px] bg-[var(--button-bg)] text-[var(--button-text)] border border-[var(--button-border)] hover:bg-[var(--button-hover-bg)] hover:border-[var(--button-hover-border)] text-[15px] font-semibold leading-[150%]"> 1134 Start an order 1135 </a> 1136 </div> 1137 </div> 1138 </article> 1139 1140 <figure class="w-full xl:w-[359px] h-[418px] mt-4 xl:mt-0 rounded-lg flex-shrink-0 overflow-hidden"> 1141 <a href="https://www.google.com/maps/search/?api=1&query=800%20South%20La%20Brea%20Avenue%2C%20Los%20Angeles%2C%20CA%2C%2090036%2C%20US" target="_blank" rel="noopener noreferrer" aria-label="Open Chicas Tacos - 800 South La Brea Avenue, Los Angeles, CA, 90036, US in Google Maps" class="block w-full h-full"> 1142 <img src="/maps/800%20South%20La%20Brea%20Avenue%2C%20Los%20Angeles%2C%20CA%2C%2090036%2C%20US/359/418.png" alt="Map of Chicas Tacos - 800 South La Brea Avenue, Los Angeles, CA, 90036, US" loading="lazy" width="359" height="418" class="w-full h-full object-cover"> 1143</a> 1144 1145 </figure> 1146 </div> 1147 1148 <div data-location_wrapper_id="27adefcb-a96d-4e0c-9829-e9c71f59bd6b-1" class="mt-10 mx-auto w-full max-w-[1057px] hidden flex flex-col xl:flex-row justify-center"> 1149 <article class="w-full xl:w-[657px] bg-[var(--bg-primary)] rounded-lg shadow-lg p-8 flex-shrink-0 min-h-[418px] flex flex-col justify-between"> 1150 <header> 1151 <h3 class="text-[var(--text-primary)] text-[24px] font-semibold leading-[30px] tracking-[-0.192px]"> 1152 Chicas Tacos 1153 </h3> 1154 1155 <nav class="mt-4 flex flex-wrap gap-2 md:flex-nowrap md:space-x-3 md:overflow-x-auto" aria-label="Location navigation"> 1156 1157 <div class="flex px-3 py-2 justify-center items-center rounded-md bg-[var(--bg-primary)] text-[var(--text-primary)] md:w
1157hitespace-nowrap"> 1158 <a href="#" data-switch_location="27adefcb-a96d-4e0c-9829-e9c71f59bd6b-0" class="text-[14px] leading-[140%]" aria-current="false"> 1159 Chicas Tacos - Los Angeles 800 South La Brea Avenue 1160 </a> 1161 </div> 1162 1163 <div class="flex px-3 py-2 justify-center items-center rounded-md bg-[var(--brand-primary)]/[var(--active-bg-opacity)] text-[var(--active-text)] md:whitespace-nowrap"> 1164 <a href="#" data-switch_location="27adefcb-a96d-4e0c-9829-e9c71f59bd6b-1" class="text-[14px] font-semibold leading-[140%]" aria-current="page"> 1165 Chicas Tacos - Hermosa Beach 1272 The Strand 1166 </a> 1167 </div> 1168 </nav> 1169 </header> 1170 1171 <address class="mt-6 flex items-center space-x-3 not-italic"> 1172 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true"> 1173 <path 1174 d="M9.99992 17.7712C9.80547 17.7712 9.61103 17.7364 9.41658 17.667C9.22214 17.5975 9.04853 17.4934 8.89575 17.3545C7.99297 16.5212 7.19436 15.7087 6.49992 14.917C5.80547 14.1253 5.22561 13.358 4.76034 12.6149C4.29506 11.8719 3.94089 11.1566 3.69784 10.4691C3.45478 9.78158 3.33325 9.12533 3.33325 8.50033C3.33325 6.41699 4.00339 4.75727 5.34367 3.52116C6.68395 2.28505 8.23603 1.66699 9.99992 1.66699C11.7638 1.66699 13.3159 2.28505 14.6562 3.52116C15.9964 4.75727 16.6666 6.41699 16.6666 8.50033C16.6666 9.12533 16.5451 9.78158 16.302 10.4691C16.0589 11.1566 15.7048 11.8719 15.2395 12.6149C14.7742 13.358 14.1944 14.1253 13.4999 14.917C12.8055 15.7087 12.0069 16.5212 11.1041 17.3545C10.9513 17.4934 10.7777 17.5975 10.5833 17.667C10.3888 17.7364 10.1944 17.7712 9.99992 17.7712ZM9.99992 10.0003C10.4583 10.0003 10.8506 9.83713 11.177 9.51074C11.5034 9.18435 11.6666 8.79199 11.6666 8.33366C11.6666 7.87533 11.5034 7.48296 11.177 7.15658C10.8506 6.83019 10.4583 6.66699 9.99992 6.66699C9.54158 6.66699 9.14922 6.83019 8.82283 7.15658C8.49645 7.48296 8.33325 7.87533 8.33325 8.33366C8.33325 8.79199 8.49645 9.18435 8.82283 9.51074C9.14922 9.83713 9.54158 10.0003 9.99992 10.0003Z" 1175 fill="#666666"></path> 1176 </svg> 1177 <a href="https://www.google.com/maps/search/?api=1&query=1272%20The%20Strand%2C%20Hermosa%20Beach%2C%20CA%2C%2090254%2C%20US" target="_blank" 1178 class="text-[var(--text-primary)] text-[14px] font-normal leading-[20px]"> 1179 1272 The Strand, Hermosa Beach, CA, 90254, US 1180 </a> 1181 </address> 1182 1183 <div class="mt-6 flex items-center space-x-3"> 1184 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true"> 1185 <path 1186 d="M16.625 17.5C14.8889 17.5 13.1736 17.1215 11.4792 16.3646C9.78472 15.6076 8.24306 14.5347 6.85417 13.1458C5.46528 11.7569 4.39236 10.2153 3.63542 8.52083C2.87847 6.82639 2.5 5.11111 2.5 3.375C2.5 3.125 2.58333 2.91667 2.75 2.75C2.91667 2.58333 3.125 2.5 3.375 2.5H6.75C6.94444 2.5 7.11806 2.56597 7.27083 2.69792C7.42361 2.82986 7.51389 2.98611 7.54167 3.16667L8.08333 6.08333C8.11111 6.30556 8.10417 6.49306 8.0625 6.64583C8.02083 6.79861 7.94444 6.93056 7.83333 7.04167L5.8125 9.08333C6.09028 9.59722 6.42014 10.0938 6.80208 10.5729C7.18403 11.0521 7.60417 11.5139 8.0625 11.9583C8.49306 12.3889 8.94444 12.7882 9.41667 13.1562C9.88889 13.5243 10.3889 13.8611 10.9167 14.1667L12.875 12.2083C13 12.0833 13.1632 11.9896 13.3646 11.9271C13.566 11.8646 13.7639 11.8472 13.9583 11.875L16.8333 12.4583C17.0278 12.5139 17.1875 12.6146 17.3125 12.7604C17.4375 12.9062 17.5 13.0694 17.5 13.25V16.625C17.5 16.875 17.4167 17.0833 17.25 17.25C17.0833 17.4167 16.875 17.5 16.625 17.5Z" 1187 fill="#666666"></path> 1188 </svg> 1189 <a href="tel:3238638226" class="text-[var(--text-primary)] text-[14px] font-normal leading-[20px]"> 1190 323-863-8226 1191 </a> 1192 </div> 1193 1194 <div class="mt-6 flex flex-col space-y-2 xl:flex-row xl:space-x-3 justify-between"> 1195 <div class="flex flex-wrap space-x-3"> 1196 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true"> 1197 <path 1198 d="M10.8334 9.66699V6.66699C10.8334 6.43088 10.7536 6.23296 10.5938 6.07324C10.4341 5.91352 10.2362 5.83366 10.0001 5.83366C9.76397 5.83366 9.56605 5.91352 9.40633 6.07324C9.24661 6.23296 9.16675 6.43088 9.16675 6.66699V9.97949C9.16675 10.0906 9.18758 10.1982 9.22925 10.3024C9.27091 10.4066 9.33341 10.5003 9.41675 10.5837L12.1667 13.3337C12.3195 13.4864 12.514 13.5628 12.7501 13.5628C12.9862 13.5628 13.1806 13.4864 13.3334 13.3337C13.4862 13.1809 13.5626 12.9864 13.5626 12.7503C13.5626 12.5142 13.4862 12.3198 13.3334 12.167L10.8334 9.66699ZM10.0001 18.3337C8.8473 18.3337 7.76397 18.1149 6.75008 17.6774C5.73619 17.2399 4.85425 16.6462 4.10425 15.8962C3.35425 15.1462 2.7605 14.2642 2.323 13.2503C1.8855 12.2364 1.66675 11.1531 1.66675 10.0003C1.66675 8.84755 1.8855 7.76421 2.323 6.75033C2.7605 5.73644 3.35425 4.85449 4.10425 4.10449C4.85425 3.35449 5.73619 2.76074 6.75008 2.32324C7.76397 1.88574 8.8473 1.66699 10.0001 1.66699C11.1529 1.66699 12.2362 1.88574 13.2501 2.32324C14.264 2.76074 15.1459 3.35449 15.8959 4.10449C16.6459 4.85449 17.2397 5.73644 17.6772 6.75033C18.1147 7.76421 18.3334 8.84755 18.3334 10.0003C18.3334 11.1531 18.1147 12.2364 17.6772 13.2503C17.2397 14.2642 16.6459 15.1462 15.8959 15.8962C15.1459 16.6462 14.264 17.2399 13.2501 17.6774C12.2362 18.1149 11.1529 18.3337 10.0001 18.3337Z" 1199 fill="#666666"></path> 1200 </svg> 1201 <div> 1202 <section class="text-[var(--text-primary)] mt-0
1202space-y-2"> 1203 <div class="sr-only" aria-hidden="false">Business Hours</div> 1204 <b>Sunday:</b> 1205 <div class="inline"> 1206 <time content="11:30" datetime="11:30" class="inline">11:30 AM</time> - <time content="20:00" datetime="20:00" class="inline">8:00 PM</time> 1207 </div> 1208 <br /> 1209 <b>Monday:</b> 1210 <div class="inline"> 1211 <time content="11:30" datetime="11:30" class="inline">11:30 AM</time> - <time content="20:00" datetime="20:00" class="inline">8:00 PM</time> 1212 </div> 1213 <br /> 1214 <b>Tuesday:</b> 1215 <div class="inline"> 1216 <time content="11:30" datetime="11:30" class="inline">11:30 AM</time> - <time content="20:00" datetime="20:00" class="inline">8:00 PM</time> 1217 </div> 1218 <br /> 1219 <b>Wednesday:</b> 1220 <div class="inline"> 1221 <time content="11:30" datetime="11:30" class="inline">11:30 AM</time> - <time content="20:00" datetime="20:00" class="inline">8:00 PM</time> 1222 </div> 1223 <br /> 1224 <b>Thursday:</b> 1225 <div class="inline"> 1226 <time content="11:30" datetime="11:30" class="inline">11:30 AM</time> - <time content="20:00" datetime="20:00" class="inline">8:00 PM</time> 1227 </div> 1228 <br /> 1229 <b>Friday:</b> 1230 <div class="inline"> 1231 <time content="11:30" datetime="11:30" class="inline">11:30 AM</time> - <time content="20:00" datetime="20:00" class="inline">8:00 PM</time> 1232 </div> 1233 <br /> 1234 <b>Saturday:</b> 1235 <div class="inline"> 1236 <time content="11:30" datetime="11:30" class="inline">11:30 AM</time> - <time content="20:00" datetime="20:00" class="inline">8:00 PM</time> 1237 </div> 1238 <br /> 1239</section> 1240 1241 </div> 1242 </div> 1243 1244 <div class="flex flex-col justify-end items-center xl:items-end"> 1245 <a href="/stores" 1246 class="mt-6 inline-flex h-[48px] px-8 py-4 justify-center items-center gap-2 rounded-[6px] bg-[var(--button-bg)] text-[var(--button-text)] border border-[var(--button-border)] hover:bg-[var(--button-hover-bg)] hover:border-[var(--button-hover-border)] text-[15px] font-semibold leading-[150%]"> 1247 Start an order 1248 </a> 1249 </div> 1250 </div> 1251 </article> 1252 1253 <figure class="w-full xl:w-[359px] h-[418px] mt-4 xl:mt-0 rounded-lg flex-shrink-0 overflow-hidden"> 1254 <a href="https://www.google.com/maps/search/?api=1&query=1272%20The%20Strand%2C%20Hermosa%20Beach%2C%20CA%2C%2090254%2C%20US" target="_blank" rel="noopener noreferrer" aria-label="Open Chicas Tacos - 1272 The Strand, Hermosa Beach, CA, 90254, US in Google Maps" class="block w-full h-full"> 1255 <img src="/maps/1272%20The%20Strand%2C%20Hermosa%20Beach%2C%20CA%2C%2090254%2C%20US/359/418.png" alt="Map of Chicas Tacos - 1272 The Strand, Hermosa Beach, CA, 90254, US" loading="lazy" width="359" height="418" class="w-full h-full object-cover"> 1256</a> 1257 1258 </figure> 1259 </div> 1260 </section> 1261 1262
1262<script type="module"> 1263 $(document).on('click', '[data-location_id=section-27adefcb-a96d-4e0c-9829-e9c71f59bd6b] [data-switch_location]', function(e) { 1264 e.preventDefault(); 1265 const idx = $(this).data('switch_location'); 1266 $('[data-location_id=section-27adefcb-a96d-4e0c-9829-e9c71f59bd6b] [data-location_wrapper_id]').addClass('hidden'); 1267 $('[data-location_id=section-27adefcb-a96d-4e0c-9829-e9c71f59bd6b] [data-location_wrapper_id=' + idx + ']').removeClass('hidden'); 1268 }); 1269 </script>
1269 1270 1271</section><footer class="w-full mx-auto bg-[var(--bg-primary)] py-8 col-span-2" role="contentinfo" itemscope="itemscope" itemtype="https://schema.org/WPFooter" id="section-8rtMcb1H" data-maglev-section-id="8rtMcb1H" data-maglev-section-type="standard_footer_01"> 1272 <div class="w-full px-4 xl:px-0 xl:w-[1200px] mx-auto flex flex-col space-y-3 xl:space-y-6"> 1273 1274 <div class="w-full grid grid-cols-1 xl:grid-cols-3 gap-4 xl:gap-4 mb-2 xl:mb-4"> 1275 <nav class="col-span-1 flex flex-wrap justify-center xl:justify-start order-2 xl:order-1 xl:pl-0" aria-label="Footer navigation"> 1276 <a data-maglev-id="283rm7VWBNA.link" class="mx-3 xl:mx-0 xl:mr-6 mb-2 text-[var(--link-text)] hover:text-[var(--link-hover)] text-sm" href="/catering"><span data-maglev-id="283rm7VWBNA.link.text">Catering</span></a> 1277 <a data-maglev-id="WeaXQ6PoeQI.link" class="mx-3 xl:mx-0 xl:mr-6 mb-2 text-[var(--link-text)] hover:text-[var(--link-hover)] text-sm" href="/accessibility"><span data-maglev-id="WeaXQ6PoeQI.link.text">Accessibility</span></a> 1278 <a data-maglev-id="nbRAmjEHhkI.link" target="_blank" class="mx-3 xl:mx-0 xl:mr-6 mb-2 text-[var(--link-text)] hover:text-[var(--link-hover)] text-sm" href="https://www.indeed.com/cmp/Chicas-Tacos"><span data-maglev-id="nbRAmjEHhkI.link.text">Careers</span></a> 1279 <a data-maglev-id="acd_ZeBQClU.link" target="_blank" class="mx-3 xl:mx-0 xl:mr-6 mb-2 text-[var(--link-text)] hover:text-[var(--link-hover)] text-sm" href="https://www.theknot.com/marketplace/chicas-tacos-los-angeles-ca-2097694"><span data-maglev-id="acd_ZeBQClU.link.text">The Knot</span></a> 1280 </nav> 1281 1282 <nav class="col-span-1 flex justify-center space-x-6 xl:space-x-8 order-1 xl:order-2" aria-label="Social media links"> 1283 <a data-maglev-id="dqfqBqBfU7M.link" target="_blank" class="w-[32px] h-[32px] bg-[var(--social-bg)] rounded-lg text-[var(--social-text)] text-center" aria-label="fa-brands fa-facebook-f" href="https://www.facebook.com/ChicasTacos/"> 1284 <i class="text-[24px] pt-[4px] fa-brands fa-facebook-f" data-maglev-id="dqfqBqBfU7M.icon"></i> 1285</a> <a data-maglev-id="KS_3zQDWF9I.link" target="_blank" class="w-[32px] h-[32px] bg-[var(--social-bg)] rounded-lg text-[var(--social-text)] text-center" aria-label="fa-brands fa-instagram" href="https://www.instagram.com/chicastacos/"> 1286 <i class="text-[24px] pt-[4px] fa-brands fa-instagram" data-maglev-id="KS_3zQDWF9I.icon"></i> 1287</a> <a data-maglev-id="lnuV6PsjRlQ.link" target="_blank" class="w-[32px] h-[32px] bg-[var(--social-bg)] rounded-lg text-[var(--social-text)] text-center" aria-label="fa-brands fa-tiktok" href="https://www.tiktok.com/@chicastacos"> 1288 <i class="text-[24px] pt-[4px] fa-brands fa-tiktok" data-maglev-id="lnuV6PsjRlQ.icon"></i> 1289</a> </nav> 1290 1291 <div class="col-span-1 hidden xl:block order-3"></div> 1292 </div> 1293 1294 <div class="w-full flex flex-col xl:flex-row justify-between items-center text-[var(--text-secondary)] text-sm font-normal leading-[142.857%] space-y-3 xl:space-y-0 mt-2 xl:mt-6"> 1295 <nav class="flex flex-wrap justify-center xl:justify-start flex-grow space-x-4 xl:space-x-6 xl:pl-0" aria-label="Legal links"> 1296 <a href="https://koala-configurations.s3.amazonaws.com/public/assets/Chowly-Terms-and-Conditions-b3cca027-acb6-42db-9d1f-11080e29b1e1.pdf" target="_blank" rel="noopener" class="mb-2">Terms of Use</a> 1297 <a href="https://koala-configurations.s3.us-east-1.amazonaws.com/public/assets/Chowly-Privacy-Policy-202f4118-faeb-4593-8574-57dc447ae203.pdf" target="_blank" rel="noopener" class="mb-2">Privacy Policy</a> 1298 </nav> 1299 1300 <p class="relative text-center xl:flex-grow xl:left-[-200px]" itemscope itemtype="https://schema.org/Organization"> 1301 <span>Chicas Tacos</span>⢠<span itemprop="copyrightYear">2026</span> All Rights Reserved 1302 </p> 1303 <p class="text-center xl:text-right">Made by <a href="https://www.chowly.com" class="font-bold" rel="noopener">Chowly</a></p> 1304 </div> 1305 </div> 1306</footer> 1307 </section> 1308 </main> 1309
1309<script> 1310document.addEventListener('DOMContentLoaded', () => { 1311 // ââ Page-scoped hero treatment ââââââââââââââââââââââââââââââââââââââââââââ 1312 // The rendered DOM carries no page identity (every <body> is just 1313 // data-organization-id), so derive it from the URL and stamp a class the 1314 // head CSS keys off. FEATURE pages get the tall centered yellow-band hero; 1315 // every other page gets the shorter left-aligned interior hero. 1316 // Scoped by pathname, not by #section-<id> â section ids churn on rebuild. 1317 // Exact-match paths only â '/menu' bands, but '/menu/tacos' and the other 15 1318 // menu sub-paths do NOT (Set membership is on the whole normalized path, so a 1319 // child path is never a member just because its parent is). 1320 const HERO_FEATURE_PAGES = new Set([ 1321 '/', 1322 '/index', 1323 '/menu', 1324 '/about', 1325 '/catering', 1326 '/corporate-events', 1327 '/weddings-engagements', 1328 '/private-events', 1329 '/mobile-bar-service', 1330 '/press', 1331 '/locations' 1332 ]); 1333 1334 // Normalize: strip a trailing slash, drop a Maglev preview/editor prefix so 1335 // the draft preview renders the same treatment as the published page. 1336 function currentPagePath() { 1337 let p = (location.pathname || '/').replace(/\/+$/, '') || '/'; 1338 // The locale segment is only a locale when another segment follows it â 1339 // require the lookahead so /preview/index does not read "in" as a locale. 1340 p = p.replace(/^\/maglev\/[^/]+\/(?:preview|editor)(?:\/[a-z]{2}(?=\/))?/i, '') || '/'; 1341 return p || '/'; 1342 } 1343 1344 const isFeatureHero = HERO_FEATURE_PAGES.has(currentPagePath()); 1345 document.body.classList.add(isFeatureHero ? 'cw-hero-feature' : 'cw-hero-interior'); 1346 1347 const io = new IntersectionObserver((entries, obs) => { 1348 entries.forEach(entry => { 1349 if (!entry.isIntersecting) return; 1350 entry.target.classList.add('is-visible'); 1351 obs.unobserve(entry.target); 1352 }); 1353 }, { 1354 root: null, 1355 rootMargin: '0px 0px -10% 0px', 1356 threshold: 0.1 1357 }); 1358 1359 const tagged = new WeakSet(); 1360 1361 function addReveal(el, dir = 'up', delayMs = 0) { 1362 if (!el || tagged.has(el)) return; 1363 el.classList.add('reveal'); 1364 if (dir) el.classList.add(`reveal-${dir}`); 1365 if (delayMs) el.style.transitionDelay = `${delayMs}ms`; 1366 tagged.add(el); 1367 io.observe(el); 1368 } 1369 1370 function initSection(sec) { 1371 const kids = sec.querySelectorAll(':scope > *'); 1372 kids.forEach((child, idx) => { 1373 const isMedia = child.tagName === 'FIGURE' || child.tagName === 'IMG' || child.tagName === 'VIDEO' || child.matches?.('picture'); 1374 const dir = isMedia ? (idx % 2 === 0 ? 'left' : 'right') : 'up'; 1375 const delay = idx * 80; 1376 addReveal(child, dir, delay); 1377 }); 1378 } 1379 1380 // Wrap a hero_cta_01's title + description in one full-width yellow band 1381 function bandifyHero(sec) { 1382 const article = sec.querySelector('article'); 1383 if (!article || article.querySelector('.chowly-hero-stripe')) return; 1384 const title = article.querySelector('[data-maglev-id$=".title"]'); 1385 const desc = article.querySelector('[data-maglev-id$=".description"]'); 1386 if (!title && !desc) return; 1387 const stripe = document.createElement('div'); 1388 stripe.className = 'chowly-hero-stripe'; 1389 const anchor = (title || desc).closest('header, div') || (title || desc); 1390 anchor.parentNode.insertBefore(stripe, anchor); 1391 if (title) stripe.appendChild(title); 1392 if (desc) stripe.appendChild(desc); 1393 } 1394 1395 function initScope(root = document) { 1396 root.querySelectorAll('section[data-maglev-section-type]').forEach(sec => { 1397 const type = sec.getAttribute('data-maglev-section-type') || ''; 1398 // Only FEATURE pages get the yellow band built; interior heroes are 1399 // left as-is and styled left-aligned by the head CSS. 1400 if (type === 'hero_cta_01' && isFeatureHero) bandifyHero(sec); 1401 if (/header|banner|footer/i.test(type)) return; 1402 initSection(sec); 1403 }); 1404 } 1405 1406 initScope(); 1407 1408 // ââ Venue label above each location address (2026-08-12) ââââââââââââââââââ 1409 // Customer ask: prefix each address with the venue it sits inside ("Inside 1410 // the Deck", "Inside the Brewery"). The address itself is NOT editable here â 1411 // dynamic_locations_01 exposes only title/subtitle/compact and hydrates the 1412 // address from the upstream partner location record, which also feeds 1413 // ordering, delivery dispatch and schema.org. So the venue line is added as a 1414 // presentation-only element and the real address is left intact. 1415 // 1416 // Matching is by ADDRESS TEXT, not card position: dynamic_locations_01 1417 // pre-renders one [data-location_wrapper_id] per location and toggles 1418 // visibility via the [data-switch_location] tabs, so positions are not stable 1419 // and a hidden card must be labelled too (it becomes visible on switch).
1420 const VENUE_LABELS = [ 1421 { match: '1272 The Strand', label: 'Inside the Deck' }, 1422 { match: '800 South La Brea Avenue', label: 'Inside the Brewery' } 1423 ]; 1424 1425 function labelLocations(root = document) { 1426 root.querySelectorAll('section[data-maglev-section-type="dynamic_locations_01"] address') 1427 .forEach(addr => { 1428 if (addr.previousElementSibling?.classList.contains('cw-venue-label')) return; 1429 const text = (addr.textContent || '').replace(/\s+/g, ' ').trim(); 1430 const hit = VENUE_LABELS.find(v => text.includes(v.match)); 1431 if (!hit) return; // unknown location â leave it alone 1432 const el = document.createElement('p'); 1433 el.className = 'cw-venue-label'; 1434 el.textContent = hit.label; 1435 addr.parentNode.insertBefore(el, addr); 1436 }); 1437 } 1438 1439 labelLocations(); 1440 1441 1442 const mo = new MutationObserver(muts => { 1443 muts.forEach(m => { 1444 m.addedNodes.forEach(node => { 1445 if (!(node instanceof Element)) return; 1446 if (node.matches?.('section[data-maglev-section-type]')) { 1447 initScope(node); labelLocations(node); 1448 } else if (node.querySelector) { 1449 const sec = node.querySelector('section[data-maglev-section-type]'); 1450 if (sec) { initScope(node); labelLocations(node); } 1451 } 1452 }); 1453 }); 1454 }); 1455 mo.observe(document.documentElement, { childList: true, subtree: true }); 1456}); 1457</script>
vendor: 2 bytes, line 1457
1457
1458<script src="https://inkindscript.com/inkind.js" async></script>
1458 1459</body> 1460</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.