1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4 <link rel="canonical" href="https://www.gluseum.com/US/Chicago/127786917240044/Tonantzin-Gallery-Shop"> 5 <meta name="robots" content="max-image-preview:standard"> 6 7 <title>Tonantzin Gallery Shop, 1173 W. 18Th Street, Chicago, IL (2026)</title> 8 <meta name="Description" content="Paintings, hand-crafted scents, clothing, jewelry, books, music and live events. We are currently closed until March 3, 2022 as we update and remodel the shop."> 9 10 <meta charset="utf-8"> 11 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 12 <meta name="referrer" content="strict-origin-when-cross-origin"> 13 <meta http-equiv="x-ua-compatible" content="ie=edge"> 14 15 16<meta name="msvalidate.01" content="D49109743A3942DA9C7A030378CF0421" /> 17 18<meta name="guestpostlinks-verification" content="guestpostlinks-verification-code-12785"> 19 20 <meta property="og:title" content="Tonantzin Gallery Shop, 1173 W. 18Th Street, Chicago, IL (2026)"> 21 <meta property="og:url" content="https://www.gluseum.com/US/Chicago/127786917240044/Tonantzin-Gallery-Shop"> 22 <meta property="og:type" content="website"> 23 <meta property="og:description" content="Paintings, hand-crafted scents, clothing, jewelry, books, music and live events. We are currently closed until March 3, 2022 as we update and remodel the shop."> 24 <meta property="og:image" content="https://graph.facebook.com/127786917240044/picture?type=large"> 25 26 <link rel="shortcut icon" href="/img/gluseum/favicon.ico" type="image/x-icon"> 27 28 <!-- Prefetch DNS for external assets --> 29 <link rel="dns-prefetch" href="//graph.facebook.com"> 30 <link rel="preconnect" href="//graph.facebook.com"> 31 <link rel="dns-prefetch" href="https://www.google-analytics.com"> 32 <link rel="preconnect" href="https://pagead2.googlesyndication.com" crossorigin> 33 <link rel="preconnect" href="https://googleads.g.doubleclick.net" crossorigin>
vendor: 150 bytes, lines 33-35
33 34 35 <script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="dc2307b2fbdc7afa35e8b229-|49"></script>
35<link rel="preload" href="/assets/vendor/icon-line/css/simple-line-icons.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> 36 <noscript><link rel="stylesheet" href="/assets/vendor/icon-line/css/simple-line-icons.css"></noscript>
vendor: 142 bytes, lines 36-38
36 37 38 <script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="dc2307b2fbdc7afa35e8b229-|49"></script>
38<link rel="preload" href="/assets/vendor/icon-hs/style.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> 39 <noscript><link rel="stylesheet" href="/assets/vendor/icon-hs/style.css"></noscript> 40 41 42 <link rel="preload" href="/assets/vendor/icon-hs/fonts/hs-icons.ttf?xa77py" as="font" type="font/ttf" crossorigin> 43 44 45 46 47
47<script data-cfasync="false"> 48 var userCountryCode='US'; 49 </script>
49 50
50<script data-cfasync="false" defer src="/js/adsense-unfilled-collapse.js?v=20260830-3"></script>
vendor: 1 bytes, line 50
50
51<script data-cfasync="false"> 52(function () { 53 var consentGate = { 54 enabled: false, 55 requestPauseEnabled: false, 56 diagnosticsEnabled: false, 57 regulated: false, 58 ready: false, 59 startedAt: Date.now(), 60 queue: [], 61 surfaceQueued: {}, 62 surfaceReleased: {}, 63 requestPauseArmed: false, 64 requestPauseReleased: false, 65 requestPauseTimedOut: false, 66 requestPauseOutcomeRecorded: false, 67 telemetryEnabled: true, 68 telemetryToken: 'YWR0MXwxNzkwOTI1ODc5fDMzfHB2X2ZiMTJjZTJkYWVjNGY3MjhhZmMwNzQyMzQ5MGJlNDU2fDEwMA.0vDLh2_-KG852rxC4DWZDRTl7hCoMz4KTi_Cey5wMks', 69 telemetryPageviewId: 'pv_fb12ce2daec4f728afc07423490be456', 70 telemetryRate: 100, 71 pageType: 'item' 72 }; 73 consentGate.requestPauseActive = consentGate.requestPauseEnabled && consentGate.regulated; 74 consentGate.active = (consentGate.enabled || consentGate.requestPauseEnabled) && consentGate.regulated; 75 consentGate.diagnosticsActive = consentGate.active || (consentGate.diagnosticsEnabled && consentGate.regulated); 76 var consentGatePublicState = { 77 enabled: consentGate.enabled, 78 requestPauseEnabled: consentGate.requestPauseEnabled, 79 requestPauseActive: consentGate.requestPauseActive, 80 requestPauseArmed: false, 81 requestPauseReleased: false, 82 requestPauseTimedOut: false, 83 diagnosticsEnabled: consentGate.diagnosticsEnabled, 84 regulated: consentGate.regulated, 85 active: consentGate.active, 86 diagnosticsActive: consentGate.diagnosticsActive, 87 ready: false, 88 queuedSurfaces: 0, 89 releasedSurfaces: 0, 90 abandonedSurfaces: 0, 91 autoRequestObserved: false, 92 autoDomObserved: false, 93 autoFilledObserved: false, 94 autoUnfilledObserved: false 95 }; 96 window.fglConsentReadyGateState = consentGatePublicState; 97 98 // This partial is emitted before every AdSense loader on Unify01. Arming 99 // synchronously here prevents both account-configured Auto Ads and manual 100 // slots from issuing requests before Funding Choices is ready. 101 if (consentGate.requestPauseActive) { 102 window.adsbygoogle = window.adsbygoogle || []; 103 window.adsbygoogle.pauseAdRequests = 1; 104 consentGate.requestPauseArmed = true; 105 consentGatePublicState.requestPauseArmed = true; 106 } 107 108 function consentGateSampled() { 109 var hash = 2166136261; 110 if (!consentGate.telemetryEnabled || !consentGate.telemetryToken || 111 !consentGate.telemetryPageviewId || consentGate.telemetryRate < 1) return false; 112 for (var i = 0; i < consentGate.telemetryPageviewId.length; i++) {
113 hash ^= consentGate.telemetryPageviewId.charCodeAt(i); 114 hash += (hash << 1) + (hash << 4) + (hash << 7) + (hash << 8) + (hash << 24); 115 } 116 return ((hash >>> 0) % 1000) < consentGate.telemetryRate; 117 } 118 consentGate.sampled = consentGateSampled(); 119 120 function consentGateBrowserFamily() { 121 var ua = String(navigator && navigator.userAgent || '').toLowerCase(); 122 if (ua.indexOf('edg/') !== -1 || ua.indexOf('edge/') !== -1) return 'edge'; 123 if (ua.indexOf('opr/') !== -1 || ua.indexOf('opera') !== -1) return 'opera'; 124 if (ua.indexOf('firefox/') !== -1 || ua.indexOf('fxios/') !== -1) return 'firefox'; 125 if (ua.indexOf('chrome/') !== -1 || ua.indexOf('crios/') !== -1) return 'chrome'; 126 if (ua.indexOf('safari/') !== -1) return 'safari'; 127 return 'other'; 128 } 129 130 function consentGateTrafficSource() { 131 var referrer = String(document.referrer || ''), parser, host, current; 132 if (!referrer) return 'direct'; 133 try { 134 parser = document.createElement('a'); parser.href = referrer; 135 host = String(parser.hostname || '').toLowerCase(); 136 current = String(window.location.hostname || '').toLowerCase(); 137 } catch (e) { return 'unknown'; } 138 if (!host) return 'unknown'; 139 if (host === current || host.slice(-(current.length + 1)) === '.' + current) return 'internal'; 140 if (/(^|\.)google\./.test(host)) return 'google'; 141 if (/(^|\.)(bing\.com|yahoo\.[a-z.]+)$/.test(host) || host.indexOf('search.yahoo.') !== -1) return 'bing_yahoo'; 142 if (/(^|\.)(duckduckgo\.com|ecosia\.org|yandex\.[a-z.]+|baidu\.com)$/.test(host)) return 'other_search'; 143 if (/(^|\.)(facebook\.com|instagram\.com|twitter\.com|t\.co|linkedin\.com|pinterest\.[a-z.]+)$/.test(host)) return 'social'; 144 return 'other_referral'; 145 } 146 147 function recordConsentGateEvent(eventType, surface, elapsedMs, diagnostic, placement) { 148 var body, event, xhr; 149 if (!consentGate.sampled) return; 150 diagnostic = diagnostic || {}; 151 event = { 152 event_type: eventType, 153 placement: placement || '', 154 elapsed_ms: Math.max(0, elapsedMs || 0), 155 layout: 'unify01', 156 page_type: consentGate.pageType, 157 browser_family: consentGateBrowserFamily(), 158 loader_source: diagnostic.loader_source || 'adsbygoogle', 159 visibility_state: document.visibilityState || 'unknown', 160 failure_class: 'none', 161 client_profile: 'unknown', 162 resource_entry_state: diagnostic.resource_entry_state || 'unknown', 163 traffic_source_family: consentGateTrafficSource(), 164 delivery_surface: surface, 165 tcf_probe_stage: diagnostic.tcf_probe_stage || 'none', 166 tcf_observation_phase: diagnostic.tcf_observation_phase || 'none', 167 tcf_api_state: diagnostic.tcf_api_state || 'not_probed', 168 tcf_cmp_family: diagnostic.tcf_cmp_family || 'unknown', 169 tcf_cmp_status: diagnostic.tcf_cmp_status || 'unknown', 170 tcf_event_status: diagnostic.tcf_event_status || 'unknown', 171 tcf_string_state: diagnostic.tcf_string_state || 'unknown', 172 gdpr_applies_state: diagnostic.gdpr_applies_state || 'unknown' 173 }; 174 body = JSON.stringify({ 175 token: consentGate.telemetryToken, 176 pageview_id: consentGate.telemetryPageviewId, 177 sample_rate_permille: consentGate.telemetryRate, 178 events: [event] 179 }); 180 try { 181 if (navigator.sendBeacon && window.Blob && navigator.sendBeacon('/adt', new Blob([body], {type: 'application/json'}))) return; 182 } catch (e) {} 183 try { 184 if (window.fetch) { 185 window.fetch('/adt', {method: 'POST', body: body, credentials: 'same-origin', keepalive: true, 186 headers: {'Content-Type': 'application/json'}}).catch(function () {}); 187 return; 188 } 189 if (window.XMLHttpRequest) { 190 xhr = new XMLHttpRequest(); 191 xhr.open('POST', '/adt', true); 192 xhr.setRequestHeader('Content-Type', 'application/json'); 193 xhr.send(body); 194 } 195 } catch (e) {} 196 } 197 198 function recordRequestPauseOutcome(outcome, elapsedMs, diagnostic) { 199 var placement; 200 if (!consentGate.requestPauseArmed || consentGate.requestPauseOutcomeRecorded) return; 201 consentGate.requestPauseOutcomeRecorded = true; 202 placement = 'request_pause_v3_' + outcome + 203 (consentGate.requestPauseTimedOut ? '_after_timeout' : '_before_timeout'); 204 recordConsentGateEvent( 205 outcome === 'released' ? 'adsense_request_pause_released' : 'adsense_request_pause_abandoned', 206 'unknown', 207 elapsedMs, 208 diagnostic, 209 placement 210 ); 211 } 212 213 if (consentGate.requestPauseArmed) { 214 recordConsentGateEvent('adsense_request_pause_armed', 'unknown', 0, null, 'request_pause_v3_armed'); 215 } 216 217 var autoConsentTrace = { 218 consentReadyAt: null, 219 consentReadyDiagnostic: null, 220 tcfSnapshots: [], 221 listenerId: null, 222 applicationPushAt: null,
223 requestRecorded: false, 224 requestBeforeRecorded: false, 225 boundaryOutcomeRecorded: false, 226 boundaryTimer: null, 227 domRecorded: false, 228 filledRecorded: false, 229 unfilledRecorded: false, 230 statusOutcomeRecorded: false, 231 statusWindowClosed: false, 232 statusWindowTimer: null, 233 resourceObserverStarted: false, 234 domObserverStarted: false, 235 domObserver: null, 236 tcfListenerStarted: false, 237 prePushRecorded: {} 238 }; 239 240 function autoTraceNow() { 241 try { 242 if (window.performance && typeof window.performance.now === 'function') return window.performance.now(); 243 } catch (e) {} 244 return Date.now() - consentGate.startedAt; 245 } 246 247 function autoTraceBoundedSnapshot(data) { 248 var cmpId = data && parseInt(data.cmpId, 10), tcString; 249 if (data && typeof data.tcString === 'string') tcString = data.tcString.length ? 'present' : 'absent'; 250 else tcString = 'unknown'; 251 return { 252 observedAt: autoTraceNow(), 253 cmpFamily: cmpId === 300 ? 'google' : (cmpId > 0 ? 'other' : 'unknown'), 254 cmpStatus: String(data && data.cmpStatus || 'unknown').toLowerCase(), 255 eventStatus: String(data && data.eventStatus || 'unknown').toLowerCase(), 256 stringState: tcString, 257 gdprState: data && data.gdprApplies === true ? 'yes' : 258 (data && data.gdprApplies === false ? 'no' : 'unknown') 259 }; 260 } 261 262 function autoTraceSnapshotAt(observedAt) { 263 var snapshots = autoConsentTrace.tcfSnapshots, i; 264 for (i = snapshots.length - 1; i >= 0; i--) { 265 if (snapshots[i].observedAt <= observedAt) { 266 return snapshots[i]; 267 } 268 } 269 return null; 270 } 271 272 function autoTraceDiagnosticAt(observedAt, resourceState) { 273 var snapshot = autoTraceSnapshotAt(observedAt); 274 if (snapshot) { 275 return { 276 resource_entry_state: resourceState || 'present', 277 tcf_observation_phase: 'first', 278 tcf_api_state: 'responded', 279 tcf_cmp_family: snapshot.cmpFamily, 280 tcf_cmp_status: snapshot.cmpStatus, 281 tcf_event_status: snapshot.eventStatus, 282 tcf_string_state: snapshot.stringState, 283 gdpr_applies_state: snapshot.gdprState 284 }; 285 } 286 return { 287 resource_entry_state: resourceState || 'present', 288 tcf_observation_phase: 'first', 289 tcf_api_state: typeof window.__tcfapi === 'function' ? 'not_probed' : 'absent', 290 tcf_string_state: 'unknown', 291 gdpr_applies_state: 'unknown' 292 }; 293 } 294 295 function autoTraceRecord(kind, observedAt, placement) { 296 var afterConsent = autoConsentTrace.consentReadyAt !== null && observedAt >= autoConsentTrace.consentReadyAt; 297 var eventType = kind === 'request' 298 ? 'adsense_auto_request_before_consent' 299 : (afterConsent ? 'adsense_auto_dom_after_consent' : 'adsense_auto_dom_before_consent'); 300 recordConsentGateEvent( 301 eventType, 302 'auto_ads', 303 observedAt, 304 autoTraceDiagnosticAt(observedAt), 305 placement || (kind === 'request' ? 'auto_request' : 'auto_dom') 306 ); 307 return afterConsent; 308 } 309 310 function autoTraceIsGoogleAdRequest(resourceName) { 311 var parser, host, path; 312 try { 313 parser = document.createElement('a'); 314 parser.href = String(resourceName || ''); 315 host = String(parser.hostname || '').toLowerCase(); 316 path = String(parser.pathname || '').toLowerCase(); 317 } catch (e) { return false; } 318 return (host === 'pagead2.googlesyndication.com' || host === 'googleads.g.doubleclick.net') && 319 path.indexOf('/pagead/ads') === 0; 320 } 321 322 function autoTraceQueryValue(resourceName, parameterName) { 323 var parser, query, parts, i, pair, key, value; 324 try { 325 parser = document.createElement('a'); 326 parser.href = String(resourceName || ''); 327 query = String(parser.search || '').replace(/^\?/, ''); 328 if (!query) return null; 329 parts = query.split('&'); 330 for (i = 0; i < parts.length; i++) { 331 pair = parts[i].split('='); 332 key = decodeURIComponent(String(pair.shift() || '').replace(/\+/g, ' ')); 333 if (key !== parameterName) continue; 334 value = decodeURIComponent(String(pair.join('=') || '').replace(/\+/g, ' ')); 335 return value; 336 } 337 } catch (e) {} 338 return null; 339 } 340 341 function autoTraceRequestClassification(resourceName) { 342 var gdpr = autoTraceQueryValue(resourceName, 'gdpr'); 343 var tcString = autoTraceQueryValue(resourceName, 'gdpr_consent'); 344 var signal = tcString ? 'tc_present' : 345 (gdpr === '1' ? 'gdpr_without_tc' : (gdpr === '0' ? 'gdpr_not_applicable' : 'no_url_signal')); 346 var mode = autoTraceQueryValue(resourceName, 'ltd') === '1' ? 'limited' : 347 (autoTraceQueryValue(resourceName, 'npa') === '1' ? 'non_personalized' : 348 (autoTraceQueryValue(resourceName, 'rdp') === '1' ? 'restricted' : 'no_url_marker')); 349 return 'req_' + signal + '_' + mode; 350 } 351 352 function autoTraceResourceEntry(entry) { 353 var observedAt; 354 if (autoConsentTrace.requestRecorded || autoConsentTrace.boundaryOutcomeRecorded || 355 !autoTraceIsGoogleAdRequest(entry && entry.name)) return; 356 observedAt = typeof entry.startTime === 'number' ? entry.startTime : autoTraceNow(); 357 if (autoConsentTrace.applicationPushAt !== null && observedAt >= autoConsentTrace.applicationPushAt) return; 358 if (autoConsentTrace.consentReadyAt !== null && observedAt >= autoConsentTrace.consentReadyAt) return; 359 autoConsentTrace.requestRecorded = true; 360 autoTraceRecord('request', observedAt, autoTraceRequestClassification(entry.name)); 361 autoConsentTrace.requestBeforeRecorded = true; 362 autoConsentTrace.boundaryOutcomeRecorded = true; 363 if (autoConsentTrace.boundaryTimer !== null) window.clearTimeout(autoConsentTrace.boundaryTimer); 364 autoConsentTrace.boundaryTimer = null; 365 consentGatePublicState.autoRequestObserved = true; 366 } 367 368 function autoTraceDrainResourceEntries() { 369 var resources, i; 370 try { 371 if (!window.performance || !window.performance.getEntriesByType) return; 372 resources = window.performance.getEntriesByType('resource'); 373 for (i = 0; i < resources.length && !autoConsentTrace.requestRecorded; i++) { 374 autoTraceResourceEntry(resources[i]); 375 } 376 } catch (e) {} 377 } 378 379 function autoTraceStartResourceObserver() { 380 var observer; 381 if (!consentGate.diagnosticsActive || !consentGate.sampled || autoConsentTrace.resourceObserverStarted) return; 382 autoConsentTrace.resourceObserverStarted = true; 383 try { 384 autoTraceDrainResourceEntries(); 385 if (window.PerformanceObserver) { 386 observer = new PerformanceObserver(function (list) { 387 var entries = list.getEntries(), j; 388 for (j = 0; j < entries.length; j++) autoTraceResourceEntry(entries[j]); 389 }); 390 try { observer.observe({type: 'resource', buffered: true}); } 391 catch (bufferedError) { observer.observe({entryTypes: ['resource']}); } 392 } 393 } catch (e) {} 394 } 395 396 function autoTraceIsInjectedAdNode(node) { 397 if (!node || node.nodeType !== 1) return false;
398 try { 399 if (node.closest && node.closest('[data-fgl-adsense-manual="1"]')) return false; 400 if (node.matches && node.matches('.adsbygoogle, iframe[id^="google_ads_iframe_"]')) return true; 401 return String(node.id || '').toLowerCase().indexOf('google_vignette') === 0; 402 } catch (e) { return false; } 403 } 404 405 function autoTraceRecordAdStatus(status, observedAt) { 406 var afterConsent, eventType, placement; 407 if (autoConsentTrace.statusWindowClosed || (status !== 'filled' && status !== 'unfilled')) return; 408 afterConsent = autoConsentTrace.consentReadyAt !== null && observedAt >= autoConsentTrace.consentReadyAt; 409 if (!autoConsentTrace.statusOutcomeRecorded) { 410 autoConsentTrace.statusOutcomeRecorded = true; 411 recordConsentGateEvent( 412 'adsense_auto_status_observed_' + (afterConsent ? 'after' : 'before') + '_consent', 413 'auto_ads', 414 observedAt, 415 autoTraceDiagnosticAt(observedAt), 416 status === 'filled' ? 'auto_status_filled' : 'auto_status_unfilled' 417 ); 418 } 419 if (status === 'filled') { 420 if (autoConsentTrace.filledRecorded) return; 421 autoConsentTrace.filledRecorded = true; 422 consentGatePublicState.autoFilledObserved = true; 423 placement = 'auto_window_filled'; 424 } else if (status === 'unfilled') { 425 if (autoConsentTrace.unfilledRecorded) return; 426 autoConsentTrace.unfilledRecorded = true; 427 consentGatePublicState.autoUnfilledObserved = true; 428 placement = 'auto_window_unfilled'; 429 } 430 eventType = 'adsense_auto_' + status + '_' + (afterConsent ? 'after' : 'before') + '_consent'; 431 recordConsentGateEvent(eventType, 'auto_ads', observedAt, 432 autoTraceDiagnosticAt(observedAt), placement); 433 } 434 435 function autoTraceInspectAdStatusNode(node) { 436 var candidates, i, status; 437 if (!node || node.nodeType !== 1) return; 438 try { 439 if (node.closest && node.closest('[data-fgl-adsense-manual="1"]')) return; 440 if (node.matches && node.matches('.adsbygoogle[data-ad-status]')) { 441 status = String(node.getAttribute('data-ad-status') || '').toLowerCase(); 442 autoTraceRecordAdStatus(status, autoTraceNow()); 443 } 444 if (!node.querySelectorAll) return; 445 candidates = node.querySelectorAll('.adsbygoogle[data-ad-status]'); 446 for (i = 0; i < candidates.length; i++) { 447 if (candidates[i].closest && candidates[i].closest('[data-fgl-adsense-manual="1"]')) continue; 448 status = String(candidates[i].getAttribute('data-ad-status') || '').toLowerCase(); 449 autoTraceRecordAdStatus(status, autoTraceNow()); 450 } 451 } catch (e) {} 452 } 453 454 function autoTraceInspectDomNode(node) { 455 var candidates, i; 456 if (autoConsentTrace.domRecorded || autoConsentTrace.applicationPushAt !== null || !node || node.nodeType !== 1) return; 457 if (autoTraceIsInjectedAdNode(node)) { 458 autoConsentTrace.domRecorded = true; 459 autoTraceRecord('dom', autoTraceNow()); 460 consentGatePublicState.autoDomObserved = true; 461 return; 462 } 463 if (!node.querySelectorAll) return; 464 candidates = node.querySelectorAll('.adsbygoogle, iframe[id^="google_ads_iframe_"], [id^="google_vignette"]'); 465 for (i = 0; i < candidates.length && !autoConsentTrace.domRecorded; i++) { 466 if (autoTraceIsInjectedAdNode(candidates[i])) { 467 autoConsentTrace.domRecorded = true; 468 autoTraceRecord('dom', autoTraceNow()); 469 consentGatePublicState.autoDomObserved = true; 470 } 471 } 472 } 473 474 function autoTraceStartDomObserver() { 475 var observer, root = document.documentElement || document.body; 476 if (!consentGate.diagnosticsActive || !consentGate.sampled || autoConsentTrace.domObserverStarted || !root) return; 477 autoConsentTrace.domObserverStarted = true; 478 autoTraceInspectDomNode(root); 479 autoTraceInspectAdStatusNode(root); 480 if (!window.MutationObserver) return; 481 observer = new MutationObserver(function (records) { 482 var i, j; 483 for (i = 0; i < records.length; i++) { 484 if (records[i].type === 'attributes') autoTraceInspectAdStatusNode(records[i].target); 485 for (j = 0; j < records[i].addedNodes.length; j++) { 486 autoTraceInspectDomNode(records[i].addedNodes[j]); 487 autoTraceInspectAdStatusNode(records[i].addedNodes[j]); 488 } 489 } 490 }); 491 observer.observe(root, {childList: true, subtree: true, attributes: true, attributeFilter: ['data-ad-status']}); 492 autoConsentTrace.domObserver = observer; 493 } 494 495 function autoTraceDrainDomRecords() { 496 var records, i, j; 497 if (!autoConsentTrace.domObserver || !autoConsentTrace.domObserver.takeRecords) return; 498 try { 499 records = autoConsentTrace.domObserver.takeRecords(); 500 for (i = 0; i < records.length; i++) { 501 if (records[i].type === 'attributes') autoTraceInspectAdStatusNode(records[i].target); 502 for (j = 0; j < records[i].addedNodes.length; j++) { 503 autoTraceInspectDomNode(records[i].addedNodes[j]); 504 autoTraceInspectAdStatusNode(records[i].addedNodes[j]); 505 } 506 } 507 } catch (e) {} 508 } 509 510 function autoTraceStartTcfListener() { 511 var api = window.__tcfapi; 512 if (!consentGate.diagnosticsActive || !consentGate.sampled || autoConsentTrace.tcfListenerStarted || 513 typeof api !== 'function') return; 514 try { 515 api('addEventListener', 2, function (data, success) { 516 if (!success || !data) return; 517 autoConsentTrace.listenerId = data.listenerId || autoConsentTrace.listenerId; 518 autoConsentTrace.tcfSnapshots.push(autoTraceBoundedSnapshot(data)); 519 if (autoConsentTrace.tcfSnapshots.length > 8) autoConsentTrace.tcfSnapshots.shift(); 520 }); 521 autoConsentTrace.tcfListenerStarted = true; 522 } catch (e) {} 523 } 524 525 function autoTraceFinalizeBoundary(fallbackBoundaryAt) { 526 var boundaryAt, boundaryDiagnostic; 527 if (!consentGate.diagnosticsActive || !consentGate.sampled || autoConsentTrace.boundaryOutcomeRecorded) return; 528 boundaryAt = autoConsentTrace.consentReadyAt !== null 529 ? autoConsentTrace.consentReadyAt 530 : (typeof fallbackBoundaryAt === 'number' ? fallbackBoundaryAt : null); 531 if (boundaryAt === null) return; 532 autoTraceDrainResourceEntries(); 533 if (autoConsentTrace.requestBeforeRecorded || autoConsentTrace.boundaryOutcomeRecorded) return; 534 autoConsentTrace.boundaryOutcomeRecorded = true; 535 autoConsentTrace.boundaryTimer = null; 536 boundaryDiagnostic = autoConsentTrace.consentReadyAt !== null 537 ? autoConsentTrace.consentReadyDiagnostic 538 : autoTraceDiagnosticAt(boundaryAt, 'missing'); 539 recordConsentGateEvent( 540 'adsense_auto_no_request_before_consent', 541 'auto_ads', 542 boundaryAt, 543 boundaryDiagnostic || autoTraceDiagnosticAt(boundaryAt, 'missing'), 544 'auto_request' 545 ); 546 } 547 548 function autoTraceFinalizeStatusWindow(fallbackBoundaryAt) { 549 var boundaryAt, boundaryDiagnostic; 550 if (!consentGate.diagnosticsActive || !consentGate.sampled || autoConsentTrace.statusWindowClosed) return; 551 autoConsentTrace.statusWindowClosed = true; 552 if (autoConsentTrace.statusWindowTimer !== null) window.clearTimeout(autoConsentTrace.statusWindowTimer); 553 autoConsentTrace.statusWindowTimer = null; 554 if (autoConsentTrace.statusOutcomeRecorded) return; 555 autoConsentTrace.statusOutcomeRecorded = true; 556 boundaryAt = autoConsentTrace.consentReadyAt !== null 557 ? autoTraceNow() 558 : (typeof fallbackBoundaryAt === 'number' ? fallbackBoundaryAt : autoTraceNow()); 559 boundaryDiagnostic = autoTraceDiagnosticAt(boundaryAt, 'missing'); 560 recordConsentGateEvent( 561 'adsense_auto_no_status_observed', 562 'auto_ads', 563 boundaryAt, 564 boundaryDiagnostic, 565 'auto_status_none' 566 ); 567 } 568 569 function autoTraceMarkApplicationPush() { 570 if (autoConsentTrace.applicationPushAt !== null) return; 571 autoTraceDrainResourceEntries(); 572 autoTraceDrainDomRecords(); 573 autoConsentTrace.applicationPushAt = autoTraceNow(); 574 } 575 576 function autoTraceManualSlot(elem) { 577 var slot = elem && elem.getAttribute ? String(elem.getAttribute('data-ad-slot') || '') : ''; 578 return /^\d{1,20}$/.test(slot) ? 'slot_' + slot : ''; 579 } 580 581 function autoTraceRecordPrePush(surface, placement) { 582 var observedAt, snapshot; 583 if (!consentGate.diagnosticsActive || !consentGate.sampled || 584 autoConsentTrace.prePushRecorded[surface]) return; 585 autoConsentTrace.prePushRecorded[surface] = true; 586 observedAt = autoTraceNow(); 587 snapshot = autoTraceSnapshotAt(observedAt); 588 recordConsentGateEvent( 589 'adsense_tcf_probe', 590 surface, 591 snapshot ? Math.max(0, observedAt - snapshot.observedAt) : 0, 592 autoTraceDiagnosticAt(observedAt, 'missing'), 593 placement || '' 594 ); 595 } 596 597 autoTraceStartResourceObserver(); 598 autoTraceStartDomObserver(); 599 if (!autoConsentTrace.domObserverStarted && document.readyState === 'loading') { 600 document.addEventListener('DOMContentLoaded', autoTraceStartDomObserver); 601 } 602 603 function queueConsentGatePush(surface, action) { 604 if (!consentGate.active || consentGate.ready) return false;
605 consentGate.queue.push({surface: surface, action: action}); 606 if (!consentGate.surfaceQueued[surface]) { 607 consentGate.surfaceQueued[surface] = true; 608 consentGatePublicState.queuedSurfaces++; 609 recordConsentGateEvent('adsense_consent_push_queued', surface, Date.now() - consentGate.startedAt); 610 } 611 return true; 612 } 613 614 function releaseConsentGatePushes() { 615 var queued, item, i, elapsed; 616 if (!consentGate.diagnosticsActive || consentGate.ready) return; 617 autoTraceDrainDomRecords(); 618 if (autoConsentTrace.consentReadyAt === null) autoConsentTrace.consentReadyAt = autoTraceNow(); 619 autoConsentTrace.consentReadyDiagnostic = autoTraceDiagnosticAt(autoConsentTrace.consentReadyAt, 'missing'); 620 autoConsentTrace.boundaryTimer = window.setTimeout(autoTraceFinalizeBoundary, 10000); 621 autoConsentTrace.statusWindowTimer = window.setTimeout(autoTraceFinalizeStatusWindow, 10000); 622 consentGate.ready = true; 623 consentGatePublicState.ready = true; 624 elapsed = Date.now() - consentGate.startedAt; 625 if (consentGate.requestPauseArmed && !consentGate.requestPauseReleased) { 626 recordRequestPauseOutcome('released', elapsed, autoConsentTrace.consentReadyDiagnostic); 627 window.adsbygoogle = window.adsbygoogle || []; 628 window.adsbygoogle.pauseAdRequests = 0; 629 consentGate.requestPauseReleased = true; 630 consentGatePublicState.requestPauseReleased = true; 631 } 632 queued = consentGate.queue.slice(0); 633 consentGate.queue = []; 634 for (i = 0; i < queued.length; i++) { 635 item = queued[i]; 636 if (!consentGate.surfaceReleased[item.surface]) { 637 consentGate.surfaceReleased[item.surface] = true; 638 consentGatePublicState.releasedSurfaces++; 639 recordConsentGateEvent('adsense_consent_push_released', item.surface, elapsed); 640 } 641 try { item.action(); } catch (e) {} 642 } 643 } 644 645 if (consentGate.diagnosticsActive) { 646 window.googlefc = window.googlefc || {}; 647 window.googlefc.callbackQueue = window.googlefc.callbackQueue || []; 648 window.googlefc.callbackQueue.push({'CONSENT_API_READY': autoTraceStartTcfListener}); 649 window.googlefc.callbackQueue.push({'CONSENT_DATA_READY': releaseConsentGatePushes}); 650 autoTraceStartTcfListener(); 651 if (consentGate.requestPauseArmed) { 652 window.setTimeout(function () { 653 if (consentGate.requestPauseReleased || consentGate.requestPauseTimedOut) return; 654 consentGate.requestPauseTimedOut = true; 655 consentGatePublicState.requestPauseTimedOut = true; 656 recordConsentGateEvent( 657 'adsense_request_pause_timeout', 658 'unknown', 659 Date.now() - consentGate.startedAt, 660 autoTraceDiagnosticAt(autoTraceNow(), 'missing'), 661 'request_pause_v3_timeout_checkpoint' 662 ); 663 }, 10000); 664 } 665 window.addEventListener('pagehide', function (event) { 666 var seen = {}, i, surface; 667 if (event && event.persisted) return; 668 if (consentGate.requestPauseArmed && !consentGate.requestPauseReleased) { 669 recordRequestPauseOutcome( 670 'abandoned', 671 Date.now() - consentGate.startedAt, 672 autoTraceDiagnosticAt(autoTraceNow(), 'missing') 673 ); 674 } 675 autoTraceFinalizeBoundary(autoTraceNow()); 676 autoTraceFinalizeStatusWindow(autoTraceNow()); 677 if (!consentGate.active || consentGate.ready || !consentGate.queue.length) return; 678 for (i = 0; i < consentGate.queue.length; i++) { 679 surface = consentGate.queue[i].surface; 680 if (!seen[surface]) { 681 seen[surface] = true; 682 consentGatePublicState.abandonedSurfaces++; 683 recordConsentGateEvent('adsense_consent_push_abandoned', surface, Date.now() - consentGate.startedAt); 684 } 685 } 686 }); 687 } 688 689 function getBrowserTimeZone() { 690 try { 691 return String(Intl.DateTimeFormat().resolvedOptions().timeZone || ''); 692 } catch (e) { 693 return ''; 694 } 695 } 696 697 function clientMatchesSuspiciousAdsenseProfile() { 698 var scr = window.screen || {}; 699 if (scr.width === 1280 && scr.height === 1200) { 700 var browserTimeZone = getBrowserTimeZone(); 701 return browserTimeZone.indexOf('Asia/') === 0; 702 } 703 704 return false;
705 } 706 707 function sendTarpitGaEvent(name) { 708 try { 709 if (window.fglGtagConfigured && typeof window.gtag === 'function') { 710 window.gtag('event', name, { 711 'event_category': 'scraper_tarpit', 712 'event_label': '1280x1200_asia_timezone', 713 'non_interaction': true 714 }); 715 return; 716 } 717 718 window.fglPendingTarpitGaEvents = window.fglPendingTarpitGaEvents || []; 719 window.fglPendingTarpitGaEvents.push({ 720 name: name, 721 params: { 722 'event_category': 'scraper_tarpit', 723 'event_label': '1280x1200_asia_timezone', 724 'non_interaction': true 725 } 726 }); 727 } catch (e) { 728 } 729 } 730 731 window.fglFlushTarpitGaEvents = function () { 732 if (typeof window.gtag !== 'function') { 733 return; 734 } 735 736 var events = window.fglPendingTarpitGaEvents || []; 737 window.fglPendingTarpitGaEvents = []; 738 for (var i = 0; i < events.length; i++) { 739 window.gtag('event', events[i].name, events[i].params); 740 } 741 }; 742 743 function runClientTarpit(durationMs) { 744 var endAt = Date.now() + durationMs; 745 var sink = 0; 746 while (Date.now() < endAt) { 747 sink += Math.sqrt((Date.now() % 997) + Math.random()); 748 } 749 window.fglTarpitSink = sink; 750 } 751 752 function runSuspiciousClientTarpit() { 753 var waitStartedAt = Date.now(); 754 755 sendTarpitGaEvent('fgl_tarpit_start_20260610_a'); 756 757 function runAfterGaStartFlush() { 758 if (!window.fglGtagConfigured && Date.now() - waitStartedAt < 3000) { 759 window.setTimeout(runAfterGaStartFlush, 50); 760 return; 761 } 762 763 if (window.fglFlushTarpitGaEvents) { 764 window.fglFlushTarpitGaEvents(); 765 } 766 767 window.setTimeout(function () { 768 runClientTarpit(25000); 769 sendTarpitGaEvent('fgl_tarpit_end_25s_20260610_a'); 770 if (window.fglFlushTarpitGaEvents) { 771 window.fglFlushTarpitGaEvents(); 772 } 773 774 window.setTimeout(function () { 775 runClientTarpit(30000); 776 sendTarpitGaEvent('fgl_tarpit_end_55s_20260610_a'); 777 if (window.fglFlushTarpitGaEvents) { 778 window.fglFlushTarpitGaEvents(); 779 } 780 }, 0); 781 }, 3000); 782 } 783 784 window.setTimeout(runAfterGaStartFlush, 0); 785 } 786 787 if (clientMatchesSuspiciousAdsenseProfile()) { 788 runSuspiciousClientTarpit(); 789 } 790 791 window.fglShouldBlockAdsenseClient = function () { 792 return clientMatchesSuspiciousAdsenseProfile(); 793 }; 794 795 window.fglCanLoadAdsenseClient = function () { 796 return !window.fglShouldBlockAdsenseClient(); 797 }; 798 799 function pushAdsenseElementNow(elem) { 800 if (!window.fglCanLoadAdsenseClient() || !elem) { 801 return false; 802 } 803 804 if (elem.getAttribute('data-adsbygoogle-status') || elem.getAttribute('data-fgl-adsbygoogle-pushed')) { 805 return false; 806 } 807 808 autoTraceRecordPrePush('manual_placement', autoTraceManualSlot(elem)); 809 autoTraceMarkApplicationPush(); 810 elem.setAttribute('data-fgl-adsbygoogle-pushed', '1'); 811 try { 812 (window.adsbygoogle = window.adsbygoogle || []).push({}); 813 } catch (e) { 814 if (String(e && e.message || '').indexOf('already have ads') !== -1) { 815 return false; 816 } 817 elem.removeAttribute('data-fgl-adsbygoogle-pushed'); 818 throw e; 819 } 820 return true; 821 } 822 823 window.fglPushAdsenseElement = function (elem) { 824 if (!window.fglCanLoadAdsenseClient() || !elem) return false; 825 if (elem.getAttribute('data-adsbygoogle-status') || elem.getAttribute('data-fgl-adsbygoogle-pushed') || 826 elem.getAttribute('data-fgl-adsbygoogle-consent-queued')) return false;
827 elem.setAttribute('data-fgl-adsense-manual', '1'); 828 if (queueConsentGatePush('manual_placement', function () { 829 elem.removeAttribute('data-fgl-adsbygoogle-consent-queued'); 830 if (document.documentElement.contains(elem)) pushAdsenseElementNow(elem); 831 })) { 832 elem.setAttribute('data-fgl-adsbygoogle-consent-queued', '1'); 833 return true; 834 } 835 return pushAdsenseElementNow(elem); 836 }; 837 838 function pushAdsenseOptionsNow(opts) { 839 if (!window.fglCanLoadAdsenseClient() || window.fglAdsenseOptionsPushed) { 840 return false; 841 } 842 843 if (document.querySelector('.adsbygoogle')) { 844 return false; 845 } 846 847 autoTraceRecordPrePush('auto_ads'); 848 autoTraceMarkApplicationPush(); 849 window.fglAdsenseOptionsPushed = true; 850 try { 851 (window.adsbygoogle = window.adsbygoogle || []).push(opts); 852 } catch (e) { 853 if (String(e && e.message || '').indexOf('already have ads') !== -1) { 854 return false; 855 } 856 window.fglAdsenseOptionsPushed = false; 857 throw e; 858 } 859 return true; 860 } 861 862 window.fglPushAdsenseOptions = function (opts) { 863 if (!window.fglCanLoadAdsenseClient() || window.fglAdsenseOptionsPushed || window.fglAdsenseOptionsConsentQueued) return false; 864 if (document.querySelector('.adsbygoogle')) return false; 865 if (queueConsentGatePush('auto_ads', function () { 866 window.fglAdsenseOptionsConsentQueued = false; 867 pushAdsenseOptionsNow(opts); 868 })) { 869 window.fglAdsenseOptionsConsentQueued = true; 870 return true; 871 } 872 return pushAdsenseOptionsNow(opts); 873 }; 874 875 window.fglLoadAdsenseScript = function (src, anon, callback) { 876 if (!window.fglCanLoadAdsenseClient()) { 877 return false; 878 } 879 880 var scriptKey = src.indexOf('/adsbygoogle.js') !== -1 ? 'adsbygoogle' : src; 881 window.fglLoadedAdScripts = window.fglLoadedAdScripts || {}; 882 if (window.fglLoadedAdScripts[scriptKey]) { 883 return false; 884 } 885 window.fglLoadedAdScripts[scriptKey] = true; 886 887 var script = document.createElement('script'); 888 script.type = 'text/javascript'; 889 script.async = true; 890 if (src.indexOf('/adsbygoogle.js') === -1) { 891 script.setAttribute('data-cfasync', 'false'); 892 } else { 893 script.setAttribute('fetchpriority', 'high'); 894 } 895 script.src = src; 896 if (anon) { 897 script.crossOrigin = 'anonymous'; 898 } 899 if (callback) { 900 script.onload = callback; 901 } 902 document.head.appendChild(script); 903 return true; 904 }; 905 906}()); 907</script>
907 908 909 910 911
911<script data-cfasync="false"> 912 913 var _errsLogged=0; 914 function _logErr(err) { 915 if (_errsLogged>=5) { 916 return; 917 } 918 _errsLogged++; 919 var client = new XMLHttpRequest(); 920 client.open('POST', '/err'); 921 client.setRequestHeader('Content-Type', 'text/plain;charset=UTF-8'); 922 client.send(err); 923 } 924 925 function loadScript(jsFile, anon, callback) { 926 const script = document.createElement('script'); 927 script.type = 'text/javascript'; 928 script.async = true; 929 script.onerror = function() { 930 console.log("Error loading " + this.src); 931 if ((this.src.search("addthis") === -1) && (this.src.search("cse.google") === -1) && !navigator.userAgent.includes("Googlebot") && !navigator.userAgent.includes("bingbot")) { 932 _logErr(['loadScript error ' + jsFile, 933 'Loc: ' + window.location.href, 934 'Country: ' + userCountryCode, 935 'UA: ' + navigator.userAgent, 936 this.src].join('\n')); 937 } 938 }; 939 script.src = jsFile; 940 if (anon) { 941 script.crossOrigin = 'anonymous'; 942 } 943 if (callback) { 944 script.onload=callback; 945 } 946 947 document.head.appendChild(script); 948 } 949 </script>
949 950 951
951<script data-cfasync="false"> 952 window.dataLayer = window.dataLayer || []; 953 function gtag(){ dataLayer.push(arguments); } 954 955 gtag('consent','default',{ 956 ad_storage:'denied', 957 analytics_storage:'denied', 958 ad_user_data:'denied', 959 ad_personalization:'denied' 960 },{ 961 region:[ 962 'AT','BE','BG','HR','CY','CZ','DK','EE','FI','FR','DE','GR','HU','IE','IT', 963 'LV','LT','LU','MT','NL','PL','PT','RO','SK','SI','ES','SE','IS','LI','NO', 964 'GB','CH' 965 ] 966 }); 967 968 gtag('consent','default',{ 969 ad_storage:'granted', 970 analytics_storage:'granted', 971 ad_user_data:'granted', 972 ad_personalization:'granted' 973 }); 974 </script>
974 975 976
976<script data-cfasync="false"> 977 window.fglLoadAdsenseScript("https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-1320440489789837", true); 978 </script>
978 979 980 981 982 <link rel="stylesheet" type="text/css" href="/css/font-awesome.4.7.0.min.css" /> 983<link rel="stylesheet" type="text/css" href="/assets/css.css" /> 984<link rel="stylesheet" href="/css/directory-shared.css?v=13">
985<script data-cfasync="false" src="/js/jquery.3.7.1.min.js"></script>
vendor: 1 bytes, line 985
985
986<script data-cfasync="false" src="/assets/js.js?v=2"></script>
986 987 988 989
989<script data-cfasync="false">var FbInited = false;</script>
989 990 991
991<script data-cfasync="false"> 992 993 </script>
993 994
994<script data-cfasync="false"> 995(function () { 996 try { 997 var nav = window.navigator || {}; 998 var scr = window.screen || {}; 999 var lang = String(nav.language || ''); 1000 var langs = nav.languages || []; 1001 var firstLang = langs && langs.length ? String(langs[0] || '') : lang; 1002 var ref = String(document.referrer || ''); 1003 1004 if (scr.width !== 1280 || scr.height !== 1200) { 1005 return; 1006 } 1007 1008 var payload = { 1009 sw: scr.width || 0, 1010 sh: scr.height || 0, 1011 aw: scr.availWidth || 0, 1012 ah: scr.availHeight || 0, 1013 iw: window.innerWidth || 0, 1014 ih: window.innerHeight || 0, 1015 dpr: window.devicePixelRatio || 0, 1016 lang: lang, 1017 langs: Array.prototype.slice.call(langs || []).slice(0, 8), 1018 ref: ref, 1019 uri: window.location.pathname + window.location.search 1020 }; 1021 var body = JSON.stringify(payload); 1022 var endpoint = '/asvl'; 1023 1024 if (nav.sendBeacon) { 1025 nav.sendBeacon(endpoint, new Blob([body], {type: 'application/json'})); 1026 return; 1027 } 1028 1029 if (window.fetch) { 1030 window.fetch(endpoint, { 1031 method: 'POST', 1032 body: body, 1033 headers: {'Content-Type': 'application/json'}, 1034 keepalive: true, 1035 credentials: 'same-origin' 1036 }); 1037 } 1038 } catch (e) { 1039 } 1040}()); 1041</script>
1041 1042 1043 1044 1045 1046 1047
1047<script data-cfasync="false"> 1048 var configuredWebsiteHost = 'www.gluseum.com'; 1049 var configuredAccountHost = 'account.' + configuredWebsiteHost.replace(/^www\./, ''); 1050 if ((window.location.hostname !== configuredWebsiteHost) && (window.location.hostname !== configuredAccountHost) && (window.location.hostname.indexOf('localhost') === -1)) { 1051 window.top.location.href = 'http://www.gluseum.com' + window.location.pathname; 1052 } 1053 </script>
1053 1054 1055 1056 <link rel="stylesheet" href="/css/listing-picture-initials.css?v=1" /> 1057
1057<script data-cfasync="false" defer src="/js/facebook-picture-placeholder.js?v=6"></script>
1057 1058 </head> 1059 1060 <body class="page-item"> 1061 <main itemscope itemtype="http://schema.org/LocalBusiness"> 1062 1063 1064 1065<!-- Header --> 1066 <header id="js-header" class="u-header u-header--sticky-top u-header--toggle-section u-header--change-appearance" data-header-fix-moment="300"> 1067 <div class="u-header__section u-header__section--dark g-bg-primary g-transition-0_3 g-py-10" data-header-fix-moment-exclude="g-py-10" data-header-fix-moment-classes="g-py-0"> 1068 1069 <nav class="navbar navbar-expand-lg"> 1070 <div class="container"> 1071 <!-- Responsive Toggle Button --> 1072 <button class="navbar-toggler navbar-toggler-right btn g-line-height-1 g-brd-none g-pa-0 g-pos-abs g-top-3 g-right-0" type="button" 1073 aria-label="Toggle navigation" aria-expanded="false" aria-controls="navBar" data-toggle="collapse" data-target="#navBar"> 1074 <span class="hamburger hamburger--slider"> 1075 <span class="hamburger-box"> 1076 <span class="hamburger-inner"> 1077 </span> 1078 </span> 1079 </span> 1080 </button> 1081 <!-- End Responsive Toggle Button --> 1082 1083 <!-- Logo --> 1084 <a href="https://www.gluseum.com/" class="navbar-brand"> 1085 <img src="/img/gluseum/h30/logo.png" height="30" alt="Gluseum"> 1086 </a> 1087 <!-- End Logo --> 1088 1089 <!-- Navigation --> 1090 <div class="collapse navbar-collapse align-items-center flex-sm-row g-pt-10 g-pt-5--lg" id="navBar"> 1091 <ul class="navbar-nav text-uppercase g-font-weight-600 ml-auto"> 1092 1093 1094 <li class="nav-item g-mx-20--lg "> 1095 <a href="https://www.gluseum.com/" class="nav-link px-0" data-google-interstitial="false"> 1096 Home </a> 1097 </li> 1098 <li class="nav-item g-mx-20--lg "> 1099 <a href="https://www.gluseum.com/US" class="nav-link px-0"><i class='fa fa-map-marker'></i> Cities</a> 1100 </li> 1101 <li class="nav-item g-mx-20--lg "> 1102 <a href="https://www.gluseum.com/countries" class="nav-link px-0"><i class='fa fa-globe'></i> Countries<span class='sr-only'>(current)</span></a> 1103 </li> 1104 1105 <li class="nav-item g-mx-20--lg"> 1106 <a href="/login/127786917240044" class="nav-link px-0" data-google-interstitial="false">Login<span class='sr-only'>(current)</span></a> </li> 1107 1108 </ul> 1109 </div> 1110 <!-- End Navigation --> 1111 </div> 1112 </nav> 1113 </div> 1114 </header> 1115 <!-- End Header --> 1116 1117 1118 1119<!--<div class="row" id="contentrow"> 1120 <div class="col-xs-12">--> 1121 <link rel="stylesheet" href="/css/listing-description.css?v=20260916-2">
1122<script defer src="/js/listing-description.js?v=20260916-3" type="dc2307b2fbdc7afa35e8b229-text/javascript"></script>
1122 1123 1124 1125
1125<script type="application/ld+json"> 1126{ 1127 "@context": "http://schema.org", 1128 "@type": "BreadcrumbList", 1129 "itemListElement": [{ 1130 "@type": "ListItem", 1131 "position": 1, 1132 "item": { 1133 "@id": "https:\/\/www.gluseum.com\/US", 1134 "name": "United States" } 1135 },{ 1136 "@type": "ListItem", 1137 "position": 2, 1138 "item": { 1139 "@id": "https:\/\/www.gluseum.com\/US\/Chicago-IL\/211818", 1140 "name": "Chicago, IL" } 1141 },{ 1142 "@type": "ListItem", 1143 "position": 3, 1144 "item": { 1145 "@id": "https:\/\/www.gluseum.com\/US\/Chicago\/127786917240044\/Tonantzin-Gallery-Shop", 1146 "name": "Tonantzin Gallery Shop", 1147 "image": "https:\/\/graph.facebook.com\/127786917240044\/picture?type=large" } 1148 }] 1149} 1150</script>
1150 1151
1152<script type="application/ld+json"> 1153{ 1154 "@context": "https://schema.org", 1155 "@type": "ArtGallery", 1156 "image": "https:\/\/graph.facebook.com\/127786917240044\/picture?type=large", 1157 "logo": "https:\/\/graph.facebook.com\/127786917240044\/picture?type=large", 1158 "name": "Tonantzin Gallery Shop", 1159 "address": { 1160 "@type": "PostalAddress", 1161 "streetAddress": "1173 W. 18Th Street", 1162 "addressLocality": "Chicago", 1163 "addressRegion": "IL", 1164 "postalCode": "60608", 1165 "addressCountry": "US" } 1166 ,"geo": { 1167 "@type": "GeoCoordinates", 1168 "latitude": 41.8578, 1169 "longitude": -87.6561 } 1170 ,"containedInPlace": { 1171 "@context": "http://schema.org", 1172 "@id": "https:\/\/www.gluseum.com\/US\/Chicago-IL\/211818", 1173 "@type": "Place", 1174 "name": "Chicago, IL" ,"sameAs": ["http:\/\/sws.geonames.org\/4887398"] 1175 } 1176 ,"url": "http:\/\/Tonantzinarts.com\/" ,"sameAs" : [ 1177 "https:\/\/www.facebook.com\/TonantzinGallery" ] ,"priceRange": "$$" ,"openingHoursSpecification": [ 1178 { 1179 "@type": "OpeningHoursSpecification", 1180 "dayOfWeek": "Monday", 1181 "opens": "17:00", 1182 "closes": "21:30" }, { 1183 "@type": "OpeningHoursSpecification", 1184 "dayOfWeek": "Tuesday", 1185 "opens": "17:00", 1186 "closes": "21:30" }, { 1187 "@type": "OpeningHoursSpecification", 1188 "dayOfWeek": "Wednesday", 1189 "opens": "17:00", 1190 "closes": "21:30" }, { 1191 "@type": "OpeningHoursSpecification", 1192 "dayOfWeek": "Thursday", 1193 "opens": "17:00", 1194 "closes": "21:30" }, { 1195 "@type": "OpeningHoursSpecification", 1196 "dayOfWeek": "Friday", 1197 "opens": "17:00", 1198 "closes": "22:00" }, { 1199 "@type": "OpeningHoursSpecification", 1200 "dayOfWeek": "Saturday", 1201 "opens": "14:00", 1202 "closes": "22:00" }, { 1203 "@type": "OpeningHoursSpecification", 1204 "dayOfWeek": "Sunday", 1205 "opens": "14:00", 1206 "closes": "20:00" } ] 1207 } 1208</script>
1208 1209
1210<script type="application/ld+json"> 1211{ 1212 "@context": "https://schema.org", 1213 "@type": "FAQPage", 1214 "mainEntity": [ 1215 { 1216 "@type": "Question", 1217 "name": "What are the opening hours?", 1218 "acceptedAnswer": { 1219 "@type": "Answer", 1220 "text": "<ul><li>Monday 5pm - 9:30pm<\/li><li>Tuesday 5pm - 9:30pm<\/li><li>Wednesday 5pm - 9:30pm<\/li><li>Thursday 5pm - 9:30pm<\/li><li>Friday 5pm - 10pm<\/li><li>Saturday 2pm - 10pm<\/li><li>Sunday 2pm - 8pm<\/li><\/ul>" } 1221 }, 1222 { 1223 "@type": "Question", 1224 "name": "What is the address?", 1225 "acceptedAnswer": { 1226 "@type": "Answer", 1227 "text": "1173 W. 18Th Street" } 1228 }, 1229 { 1230 "@type": "Question", 1231 "name": "What is the website?", 1232 "acceptedAnswer": { 1233 "@type": "Answer", 1234 "text": "http:\/\/Tonantzinarts.com\/" } 1235 } 1236 ] 1237} 1238</script>
1238 1239 1240 1241 1242 1243<div class="g-pt-85"> 1244 <section class="g-bg-size-cover g-bg-pos-center g-bg-cover g-bg-black-opacity-0_5--after g-color-white g-py-50 g-mb-20" 1245 style="background-image: url(/img/directory/1920x800/cities/211818-chicago.jpg);"> 1246 <div class="container g-bg-cover__inner"> 1247 1248 <header class="g-mb-20"> 1249 <h1 class="h1 g-font-weight-300 text-uppercase" itemprop="name">Tonantzin Gallery Shop</h1> 1250 </header> 1251 1252 <ul class="u-list-inline"> 1253 <li class="list-inline-item g-mr-7"> 1254 <a href="/" class="u-link-v5 g-color-white g-color-primary--hover">Home</a> <i class="fa fa-angle-right g-ml-7"></i> 1255 </li> 1256 <li class="list-inline-item g-mr-7"> 1257 <a href="/US" class="u-link-v5 g-color-white g-color-primary--hover">United States</a> <i class="fa fa-angle-right g-ml-7"></i> 1258 </li> 1259 <li class="list-inline-item g-mr-7"> 1260 <a href="/US/Chicago-IL/211818" class="u-link-v5 g-color-white g-color-primary--hover">Chicago, IL</a> <i class="fa fa-angle-right g-ml-7"></i> 1261 </li> 1262 <li class="list-inline-item g-color-primary"> 1263 <span>Tonantzin Gallery Shop</span> 1264 </li> 1265 </ul> 1266 1267 1268 </div> 1269 </section> 1270</div> 1271 1272 1273 1274 1275<div class="container"> 1276 <div class="row"> 1277 <div class="col-sm-12 w-100"> 1278 1279 <p data-listing-description data-description-more="Read more" data-description-less="Show less" itemprop="description" class="directory-provider-intro lead mb-0 g-line-height-1_8 float-left w-100"> 1280 1281 <!-- Logo image -->
vendor: 153 bytes, lines 1281-1282
1281 1282 <script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="dc2307b2fbdc7afa35e8b229-|49"></script>
1282<img class="rounded g-width-135 float-right g-ml-10" 1283 src="https://graph.facebook.com/127786917240044/picture?type=large" 1284 1285 width="135" height="135" 1286 itemprop="image" 1287 alt="Tonantzin Gallery Shop" 1288 onerror="this.onerror=null;this.src='/img/gluseum/logo.png';" /> 1289 1290 1291 Paintings, hand-crafted scents, clothing, jewelry, books, music and live events. We are currently closed until March 3, 2022 as we update and remodel the shop. 1292 </p> 1293 1294 </div> 1295 </div> 1296 1297 <div class="row g-mb-10 g-mt-10"> 1298 <div class="col-sm-12 w-100 text-center"> 1299 </div> 1300 </div> 1301 </div> 1302 1303 1304 1305 1306 1307<div class="container g-pt-20 g-pb-10"> 1308 <div class="row justify-content-between"> 1309 <div class="col-xl-8 col-lg-9 col-md-6 order-2 g-mb-80" style="float:right"> 1310 1311 1312 <div class="g-pl-20--lg"> 1313 <section style="overflow: hidden"> 1314 1315 1316 1317 <div data-listing-description data-description-more="Read more" data-description-less="Show less"> 1318 <p>Thanks for your continuous support!</p> 1319 1320 1321 </div> 1322 1323 1324 1325 1326 1327 1328 1329 </section> 1330 </div> 1331 1332 1333 1334 1335 <div class="u-divider u-divider-center u-divider-linear-gradient u-divider-linear-gradient--gray-light-v3 w-50 mx-auto g-my-30"> 1336 <i class="fa fa-circle u-divider__icon g-bg-white g-color-primary"></i> 1337 </div> 1338 1339 <div class="g-pl-20--lg"> 1340 1341 1342 <div class="masonry-grid row directory-post-grid postsgrid"> 1343 1344 1345 <div class="masonry-grid-item col-lg-6 g-mb-30" style=""> 1346 <article class="u-shadow-v11 shareimg" style="overflow: hidden">
vendor: 242 bytes, lines 1346-1348
1346 1347 1348 <script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="dc2307b2fbdc7afa35e8b229-|49"></script>
1348<img class="img-fluid w-100" onerror="this.hidden=true" 1349 width="720" height="720" style="width:100%; height:auto" 1350 src="https://img3.gluseum.com/612/601/1660051176126017.jpg" 1351 alt="ð¨ Make Tonantzin one of your stops during Pilsen Apoya!As you explore Pilsen on August 15â16, stop by Tonantzin to see t..."> 1352 <div class="g-bg-white g-pa-20"> 1353 <h5 class="d-block g-color-gray-dark-v4 g-font-weight-600 g-font-size-12 text-uppercase mb-2"> 1354 08/14/2026 </h5> 1355 1356 1357 <p class="g-color-gray-dark-v4 g-line-height-1_8"> 1358 ð¨ Make Tonantzin one of your stops during Pilsen Apoya!<br /> 1359<br /> 1360As you explore Pilsen on August 15â16, stop by Tonantzin to see the work of two Chicago artists currently showing in our gallery.<br /> 1361<br /> 1362Juan Carlos Torres is a longtime Chicago local artist and muralist rooted in Pilsen.<br /> 1363Lucero Sanchez is a first-generation Mexican American artist and illustrator from Chicago.<br /> 1364<br /> 1365Come see their work in person, explore the gallery, and discover something new while supporting local artists and Pilsen businesses. â¤ï¸<br /> 1366<br /> 1367ð Tonantzin | Pilsen<br /> 1368 ⨠Pilsen Apoya Business Crawl hosted by <br /> 1369ðï¸ August 15â16<br /> 1370<br /> 1371 </p> 1372 1373 </div> 1374 1375 </article> 1376 1377 </div> 1378 1379 1380 1381 1382 1383 <div class="masonry-grid-item col-lg-6 g-mb-30" style=""> 1384 <article class="u-shadow-v11 shareimg" style="overflow: hidden">
vendor: 242 bytes, lines 1384-1386
1384 1385 1386 <script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="dc2307b2fbdc7afa35e8b229-|49"></script>
1386<img class="img-fluid w-100" onerror="this.hidden=true" 1387 width="720" height="720" style="width:100%; height:auto" 1388 src="https://img5.gluseum.com/286/883/1659289642868837.jpg" 1389 alt="Need another stop for your Pilsen Apoya Business Crawl adventure?Hereâs why we hope youâll visit Tonantzin:⨠Original ar..."> 1390 <div class="g-bg-white g-pa-20"> 1391 <h5 class="d-block g-color-gray-dark-v4 g-font-weight-600 g-font-size-12 text-uppercase mb-2"> 1392 08/14/2026 </h5> 1393 1394 1395 <p class="g-color-gray-dark-v4 g-line-height-1_8"> 1396 Need another stop for your Pilsen Apoya Business Crawl adventure?<br /> 1397<br /> 1398Hereâs why we hope youâll visit Tonantzin:<br /> 1399<br /> 1400⨠Original artwork<br /> 1401ð¨ Handmade goods<br /> 1402â¤ï¸ Support local artists<br /> 1403ð¼ï¸ Free 4x6 print with every raffle ticket<br /> 1404ð Chance to win an original artwork<br /> 1405<br /> 1406Whether youâre adding another stamp to your loterÃa card or simply looking for something beautiful to take home, weâd love to see you.<br /> 1407<br /> 1408 </p> 1409 1410 </div> 1411 1412 </article> 1413 1414 </div> 1415 1416 1417 1418 1419 1420 <div class="masonry-grid-item col-lg-6 g-mb-30" style=""> 1421 <article class="u-shadow-v11 shareimg" style="overflow: hidden"> 1422 1423 1424 1425 <div class="fb-video-lazy" style="height:599.40886699507px;" data-href="https://www.facebook.com/reel/1082443281018362/" 1426 data-width="640" 1427 data-allowfullscreen="true" 1428 data-autoplay="false" 1429 data-show-captions="true"></div> 1430 <div class="g-bg-white g-pa-20"> 1431 <h5 class="d-block g-color-gray-dark-v4 g-font-weight-600 g-font-size-12 text-uppercase mb-2"> 1432 08/10/2026 </h5> 1433 1434 1435 <p class="g-color-gray-dark-v4 g-line-height-1_8"> 1436 Looking for an excuse to spend a day in Pilsen?<br /> 1437<br /> 1438This is it.<br /> 1439<br /> 1440Stop into Tonantzin during Pilsen Apoya Business Crawl hosted by PUÃO (Pilsen Unidos por Nuestro Orgullo) , explore original artwork, discover handmade treasures, and enter our Art Raffle for a chance to win an original piece.<br /> 1441<br /> 1442ðï¸ $25 per ticket<br /> 1443ð¼ï¸ Every ticket comes with a FREE 4x6 print.<br /> 1444<br /> 1445Tickets are available online (ð link in bio) or in-store.<br /> 1446<br /> 1447Weâll see you August 15â16. â¤ï¸<br /> 1448<br /> 1449 </p> 1450 1451 </div> 1452 1453 </article> 1454 1455 </div> 1456 1457 1458 <div class="masonry-grid-item col-sm-6 g-mb-20" > 1459 <article class="u-shadow-v11"> 1460 <center> 1461 </center> 1462 </article> 1463 </div> 1464 1465 1466 1467 <div class="masonry-grid-item col-lg-6 g-mb-30" style=""> 1468 <article class="u-shadow-v11 shareimg" style="overflow: hidden">
vendor: 242 bytes, lines 1468-1470
1468 1469 1470 <script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="dc2307b2fbdc7afa35e8b229-|49"></script>
1470<img class="img-fluid w-100" onerror="this.hidden=true" 1471 width="720" height="900" style="width:100%; height:auto" 1472 src="https://img4.gluseum.com/354/795/1652498483547953.jpg" 1473 alt="ð Weâre excited to share that Tonantzin is participating in Pilsen Apoya Business Crawl hosted by PUÃO (Pilsen Unidos po..."> 1474 <div class="g-bg-white g-pa-20"> 1475 <h5 class="d-block g-color-gray-dark-v4 g-font-weight-600 g-font-size-12 text-uppercase mb-2"> 1476 08/06/2026 </h5> 1477 1478 1479 <p class="g-color-gray-dark-v4 g-line-height-1_8"> 1480 ð Weâre excited to share that Tonantzin is participating in Pilsen Apoya Business Crawl hosted by PUÃO (Pilsen Unidos por Nuestro Orgullo) on August 15â16!<br /> 1481<br /> 1482Pilsen Apoya is a neighborhood-wide business crawl created to support the small businesses that make Pilsen such a vibrant and welcoming community. â¤ï¸<br /> 1483<br /> 1484To celebrate, weâre hosting a special Art Raffle!<br /> 1485ðï¸ $25 per ticket<br /> 1486ð¼ï¸ Every ticket includes a FREE 4x6 art print<br /> 1487ð Winner announced Sunday, August 16<br /> 1488<br /> 1489Tickets are available online (ð link in bio) or in-store.<br /> 1490<br /> 1491⨠Please note: Your complimentary print and raffle prize (if you win!) must be picked up at Tonantzin. Please present your receipt or online order confirmation at pickup.<br /> 1492<br /> 1493While youâre exploring Pilsen during the crawl, stop by our shop, discover local art, collect your PUÃO stamp, and support the artists and small businesses that help keep our neighborhood thriving.<br /> 1494<br /> 1495See you soon! â¤ï¸<br /> 1496<br /> 1497 ShopSmallChicago Pilsen ChicagoArt </p> 1498 1499 </div> 1500 1501 </article> 1502 1503 </div> 1504 1505 1506 1507 1508 1509 <div class="masonry-grid-item col-lg-6 g-mb-30" style=""> 1510 <article class="u-shadow-v11 shareimg" style="overflow: hidden">
vendor: 242 bytes, lines 1510-1512
1510 1511 1512 <script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="dc2307b2fbdc7afa35e8b229-|49"></script>
1512<img class="img-fluid w-100" onerror="this.hidden=true" 1513 width="720" height="960" style="width:100%; height:auto" 1514 src="https://img5.gluseum.com/623/489/1625629076234894.jpg" 1515 alt="Thank you customers for all your love and support to our shop.â¤ï¸ â¤ï¸ "> 1516 <div class="g-bg-white g-pa-20"> 1517 <h5 class="d-block g-color-gray-dark-v4 g-font-weight-600 g-font-size-12 text-uppercase mb-2"> 1518 07/09/2026 </h5> 1519 1520 1521 <p class="g-color-gray-dark-v4 g-line-height-1_8"> 1522 Thank you customers for all your love and support to our shop.â¤ï¸ â¤ï¸ </p> 1523 1524 </div> 1525 1526 </article> 1527 1528 </div> 1529 1530 1531 1532 1533 1534 <div class="masonry-grid-item col-lg-6 g-mb-30" style=""> 1535 <article class="u-shadow-v11 shareimg" style="overflow: hidden">
vendor: 242 bytes, lines 1535-1537
1535 1536 1537 <script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="dc2307b2fbdc7afa35e8b229-|49"></script>
1537<img class="img-fluid w-100" onerror="this.hidden=true" 1538 width="720" height="846" style="width:100%; height:auto" 1539 src="data:image/png;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" 1540 data-src="https://img4.gluseum.com/702/102/1617767737021028.jpg" alt="Tonantzin jewelry, new arrivals! Stop by we are currently open Monday-Thursday from 12:00pm to 9:30pm, Friday from 3pm t..."> 1541 <div class="g-bg-white g-pa-20"> 1542 <h5 class="d-block g-color-gray-dark-v4 g-font-weight-600 g-font-size-12 text-uppercase mb-2"> 1543 07/01/2026 </h5> 1544 1545 1546 <p class="g-color-gray-dark-v4 g-line-height-1_8"> 1547 Tonantzin jewelry, new arrivals! Stop by we are currently open Monday-Thursday from 12:00pm to 9:30pm, Friday from 3pm to 10pm, Saturday 12:00pm to 9:30pm and Sunday from 12pm to 7pm. <br /> 1548<br /> 1549 </p> 1550 1551 </div> 1552 1553 </article> 1554 1555 </div> 1556 1557 1558 1559 1560 1561 1562 <div class="masonry-grid-sizer"></div> 1563 </div> 1564 </div> 1565 1566 <div id="location"></div> 1567 1568 <!-- Map and address --> 1569 <div class="g-pl-20--lg g-pt-30"> 1570 <section> 1571 <div class="u-heading-v1-4 g-bg-main g-brd-primary g-mb-20"> 1572 <h2 class="h3 u-heading-v1__title">Address</h2> 1573 </div> 1574 1575 1576 <p itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"> 1577 <span itemprop="streetAddress">1173 W. 18Th Street</span> <br/> <span itemprop="addressLocality">Chicago</span>, <span itemprop="addressRegion">IL</span> <br/> 1578 <span itemprop="postalCode">60608</span> 1579 </p> 1580 1581 <div id="map" style="height: 400px; width: 100%;"></div> 1582 1583 1584 <div class="g-pt-10 text-center"> 1585 1586 </div> 1587 1588 1589 1590 </section> 1591 </div> 1592 <!-- End Map and address --> 1593 1594 <!-- General info --> 1595 1596 <div id="hours"></div> 1597 <div id="telephone"></div> 1598 <div id="website"></div> 1599 <div id="restaurant_services"></div> 1600 1601 <div class="g-pl-20--lg g-mt-30"> 1602 <div class="masonry-grid2 row"> 1603 <div class="masonry-grid-sizer"></div> 1604 1605 1606 <!-- Hours --> 1607 <div class="g-pl-20--lg masonry-grid-item col-sm-6 g-mb-30"> 1608 <div class="u-heading-v1-4 g-bg-main g-brd-primary g-mb-20"> 1609 <h2 class="h3 u-heading-v1__title">Opening Hours</h2> 1610 </div> 1611 1612 1613 <table class="table table-sm" id="hrs"> 1614 <tr> 1615 <td>
1615Monday</td> 1616 <td>5pm - 9:30pm</td> 1617 </tr> 1618 <tr> 1619 <td>Tuesday</td> 1620 <td>5pm - 9:30pm</td> 1621 </tr> 1622 <tr> 1623 <td>Wednesday</td> 1624 <td>5pm - 9:30pm</td> 1625 </tr> 1626 <tr> 1627 <td>Thursday</td> 1628 <td>5pm - 9:30pm</td> 1629 </tr> 1630 <tr> 1631 <td>Friday</td> 1632 <td>5pm - 10pm</td> 1633 </tr> 1634 <tr> 1635 <td>Saturday</td> 1636 <td>2pm - 10pm</td> 1637 </tr> 1638 <tr> 1639 <td>Sunday</td> 1640 <td>2pm - 8pm</td> 1641 </tr> 1642 </table> 1643 </div> 1644 <!-- End Hours --> 1645 1646 1647 <!-- Telephone --> 1648 <!-- End Telephone --> 1649 1650 <!-- WhatsApp --> 1651 <!-- End WhatsApp --> 1652 1653 <!-- Website --> 1654 <div class="g-pl-20--lg masonry-grid-item col-sm-6 g-mb-30"> 1655 <div class="u-heading-v1-4 g-bg-main g-brd-primary g-mb-20"> 1656 <h2 class="h3 u-heading-v1__title">Website</h2> 1657 </div> 1658 <p style='overflow-wrap:anywhere'> 1659 <a href="http://Tonantzinarts.com/" itemprop="url" target="_blank">http://Tonantzinarts.com/</a> </p> 1660 </div> 1661 <!-- End Website --> 1662 1663 <!-- Restaurant services --> 1664 <!-- End Restaurant services --> 1665 1666 <!-- Restaurant specialties --> 1667 <!-- End Restaurant specialties --> 1668 1669 <!-- Products --> 1670 <!-- End Restaurant specialties --> 1671 </div> 1672 </div> 1673 1674 <!-- Comments --> 1675 1676 1677 1678 <div id="contact"></div> 1679 1680 <!-- Alerts --> 1681 <div id="alerts" class="g-pl-20--lg g-mb-40"> 1682 <div class="u-heading-v1-4 g-bg-main g-brd-primary g-mb-20"> 1683 <h2 class="h3 u-heading-v1__title">Alerts</h2> 1684 </div> 1685 <p> 1686 Be the first to know and let us send you an email when Tonantzin Gallery Shop posts news and promotions. Your email address will not be used for any other purpose, and you can unsubscribe at any time. 1687 <form class="g-mt-15" onsubmit="if (!window.__cfRLUnblockHandlers) return false; event.preventDefault(); subscribe(null,127786917240044);" data-cf-modified-dc2307b2fbdc7afa35e8b229-=""> 1688 <div class="row"> 1689 <div class="col-12"> 1690 <div class="form-group g-mb-10"> 1691 <label class="sr-only" for="alert_email">Your Email</label> 1692 <input id="alert_email" class="form-control g-brd-primary--focus g-px-20 g-py-12" type="email" placeholder="Your Email"> 1693 </div> 1694 </div> 1695 1696 <div class="col-12"> 1697 <button id="alert_submit" class="btn btn-md u-btn-primary g-font-size-12 text-uppercase rounded g-py-11 g-px-30" type="submit">Subscribe</button> 1698 </div> 1699 </div> 1700 </form> 1701 </p> 1702 </div> 1703 1704 <!-- Contact business --> 1705 <!-- End Contact business --> 1706 1707 1708 1709
1709<script type="dc2307b2fbdc7afa35e8b229-text/javascript"> 1710 var my_video_player; 1711 var start_playing = false; 1712 1713 window.fbAsyncInit = function() { 1714 FB.init({ 1715 appId : '1649304618667893', 1716 autoLogAppEvents : true, 1717 xfbml : true, 1718 version : 'v14.0' 1719 }); 1720 1721 FbInited = true; 1722 1723 FB.Event.subscribe('xfbml.ready', function(msg) { 1724 if (msg.type === 'video') { 1725 my_video_player = msg.instance; 1726 if (start_playing) 1727 my_video_player.play(); 1728 var myEventHandler = my_video_player.subscribe('startedPlaying', function(e) { 1729 }); 1730 } 1731 1732 FB.Event.subscribe('xfbml.ready', function(msg) { 1733 $grid.masonry('layout'); 1734 }); 1735 1736 }); 1737 }; 1738 1739 1740 (function(d, s, id){ 1741 var js, fjs = d.getElementsByTagName(s)[0]; 1742 if (d.getElementById(id)) {return;} 1743 js = d.createElement(s); js.id = id; 1744 js.src = "//connect.facebook.net/en_US/sdk.js"; 1745 fjs.parentNode.insertBefore(js, fjs); 1746 }(document, 'script', 'facebook-jssdk')); 1747 </script>
1747 1748 1749 1750 <!-- Videos --> 1751 <!-- End Videos --> 1752 1753 </div> 1754 1755 <div class="col-xl-4 col-lg-3 col-md-6 order-1 g-brd-right--lg g-brd-gray-light-v4 g-mb-40"> 1756 <div class="g-pr-20--lg"> 1757 1758 <!-- Shortcuts --> 1759 <div class="g-mb-10"> 1760 <h3 class="h5 g-color-black g-font-weight-600 mb-4">Shortcuts</h3> 1761 <ul class="list-unstyled g-font-size-13 mb-0"> 1762 <li><a class="d-block u-link-v5 g-color-gray-dark-v4 rounded g-px-20 g-py-8 g-color-primary--hover" href="#location"> 1763 <i class="mr-2 fa fa-angle-right"></i> Address</a> 1764 </li> 1765 <li><a class="d-block u-link-v5 g-color-gray-dark-v4 rounded g-px-20 g-py-8 g-color-primary--hover" href="#hours"> 1766 <i class="mr-2 fa fa-angle-right"></i> Opening Hours</a> 1767 </li> 1768 <li><a class="d-block u-link-v5 g-color-gray-dark-v4 rounded g-px-20 g-py-8 g-color-primary--hover" href="#alerts"> 1769 <i class="mr-2 fa fa-angle-right"></i> Alerts</a> 1770 </li> 1771 <li><a class="d-block u-link-v5 g-color-gray-dark-v4 rounded g-px-20 g-py-8 g-color-primary--hover" href="#contact"> 1772 <i class="mr-2 fa fa-angle-right"></i> Contact The Museum</a> 1773 </li> 1774 1775 1776 <li><form action="/claim/start/127786917240044" method="post" style="margin:0;"><button type="submit" class="d-block u-link-v5 g-color-black g-px-20 g-py-8 g-pa-5 g-mb-minus-1 g-bg-primary rounded g-mb-5" style="border:0;text-align:left;width:100%;" data-google-interstitial="false"><i class="mr-2 fa fa-angle-right"></i>Claim ownership or report listing</button></form> 1777 </li> 1778 <li><button type="button" class="d-block u-link-v5 g-color-gray-dark-v4 rounded g-px-20 g-py-8 g-color-primary--hover" style="border:0;background:transparent;text-align:left;width:100%;" data-takedown-open data-google-interstitial="false"><i class="mr-2 fa fa-angle-right"></i>Request takedown</button></li> 1779 1780 </ul> 1781 </div> 1782 <!-- End Shortcuts --> 1783 1784 1785 1786 <div class="g-mb-10 g-mt-30"> 1787 <h3 class="h5 g-color-black g-font-weight-600 mb-4" id="nearby">Featured</h3> 1788 1789 <ul class="list-unstyled g-font-size-13 mb-0"> 1790 <li class="g-brd-gray-light-v4 g-pa-5 g-bg-primary rounded g-mb-5" style="overflow: hidden"> 1791 <div class="media"> 1792 <div class="d-flex g-mt-2 g-mr-15">
vendor: 181 bytes, lines 1792-1793
1792 1793 <script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="dc2307b2fbdc7afa35e8b229-|49"></script>
1793<img class="g-width-40 g-height-40 rounded-circle" 1794 width="100" height="100" 1795 src="https://graph.facebook.com/7736674485/picture?type=square" 1796 alt="Institute for the Study of Ancient Cultures" 1797 onerror="this.onerror=null;this.src='/img/gluseum/logo.png'" /> 1798 </div> 1799 <div class="media-body"> 1800 <p class="m-0"> 1801 <strong> 1802 <a href="/US/Chicago/7736674485/Institute-for-the-Study-of-Ancient-Cultures" class="u-link-v5 g-color-black g-color-white--hover">Institute for the Study of Ancient Cultures</a> </strong> 1803 </p> 1804 <span class="g-font-size-12 g-color-gray"> 1805 1155 E 58th Street </span> 1806 </div> 1807 </div> 1808 </li> 1809 </ul> 1810 </div> 1811 1812 <div class="g-mb-10"> 1813 <ul class="list-unstyled g-font-size-13 mb-0"> 1814 <li class="g-brd-gray-light-v4 g-pa-5 g-mb-minus-1 g-bg-primary rounded g-mb-5 g-mt-10"> 1815 <div class="media"> 1816 <div class="d-flex g-mt-2 g-mr-15"> 1817 <img class="g-width-40 g-height-40 rounded-circle" src="/img/feature.jpg" 1818 alt=""> 1819 </div> 1820 <div class="media-body"> 1821 <p class="m-0"> 1822 <strong> 1823 <a href="/US/Chicago-IL/211818/feature/start?exp=1790929479&id=127786917240044" class="u-link-v5 g-color-black g-color-white--hover" data-google-interstitial="false">Want your museum to be the top-listed Museum in Chicago?</a> </strong> 1824 </p> 1825 </div> 1826 </div> 1827 </li> 1828 </ul> 1829 </div> 1830 1831 1832 1833 <div class="g-pr-20--lg g-mt-30"> 1834 <div class="g-mb-30"> 1835 <h3 class="h5 g-color-black g-font-weight-600 mb-4">Share</h3> 1836 <div> 1837 <a href="https://www.facebook.com/sharer/sharer.php?u=#" onclick="if (!window.__cfRLUnblockHandlers) return false; shareOnFacebook(); return false;" data-cf-modified-dc2307b2fbdc7afa35e8b229-=""> 1838 <img src="/img/facebook.png" height="50" width="50" alt="Share on Facebook"> 1839 </a> 1840 <a href="https://twitter.com/intent/tweet?url=#" onclick="if (!window.__cfRLUnblockHandlers) return false; shareOnTwitter(); return false;" data-cf-modified-dc2307b2fbdc7afa35e8b229-=""> 1841 <img src="/img/twitter.png" height="50" width="50" alt="Share on Twitter"> 1842 </a> 1843 <a href="https://www.linkedin.com/shareArticle?url=#" onclick="if (!window.__cfRLUnblockHandlers) return false; shareOnLinkedIn(); return false;" data-cf-modified-dc2307b2fbdc7afa35e8b229-=""> 1844 <img src="/img/linkedin.png" height="50" width="50" alt="Share on LinkedIn"> 1845 </a> 1846 <br/> 1847 <a href="https://pinterest.com/pin/create/button/?url=#" onclick="if (!window.__cfRLUnblockHandlers) return false; shareOnPinterest(); return false;" data-cf-modified-dc2307b2fbdc7afa35e8b229-=""> 1848 <img src="/img/pinterest.png" height="50" width="50" alt="Share on Pinterest" style="margin-top:10px"> 1849 </a> 1850 <a href="https://www.reddit.com/submit?url=#" onclick="if (!window.__cfRLUnblockHandlers) return false; shareOnReddit(); return false;" data-cf-modified-dc2307b2fbdc7afa35e8b229-=""> 1851 <img src="/img/reddit.png" height="50" width="50" alt="Share on Reddit" style="margin-top:10px"> 1852 </a> 1853<a href="/cdn-cgi/l/email-protection#bc83cfc9ded6d9dfc881ffd4d9dfd7998e8cd3c9c8998e8cc8d4d5cf998e8cccdddbd99aded3d8c5819f"> 1854 <img src="/img/email.png" height="50" width="50" alt="Share via Email" style="margin-top:10px"> 1855 </a> 1856 <br/> 1857 <a href="whatsapp://send?text=#" data-action="share/whatsapp/share"> 1858 <img src="/img/whatsapp.png" height="50" width="50" alt="Share on WhatsApp" style="margin-top:10px"> 1859 </a> 1860 <a href="#" onclick="if (!window.__cfRLUnblockHandlers) return false; shareOnInstagram(); return false;" data-cf-modified-dc2307b2fbdc7afa35e8b229-=""> 1861 <img src="/img/instagram.png" height="50" width="50" alt="Share on Instagram" style="margin-top:10px"> 1862 </a> 1863<a href="#" onclick="if (!window.__cfRLUnblockHandlers) return false; shareOnTelegram(); return false;" data-cf-modified-dc2307b2fbdc7afa35e8b229-=""> 1864 <img src="/img/telegram.png" height="50" width="50" alt="Share on Telegram" style="margin-top:10px"> 1865 </a> 1866</div>
vendor: 109 bytes, lines 1866-1867
1866 1867<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
1867<script type="dc2307b2fbdc7afa35e8b229-text/javascript"> 1868 function getCurrentPageUrl() { 1869 return encodeURIComponent(window.location.href); 1870 } 1871 1872 function shareOnFacebook() { 1873 var url = getCurrentPageUrl(); 1874 window.open('https://www.facebook.com/sharer/sharer.php?u=' + url, '_blank'); 1875 } 1876 1877 function shareOnTwitter() { 1878 var url = getCurrentPageUrl(); 1879 window.open('https://twitter.com/intent/tweet?url=' + url, '_blank'); 1880 } 1881 1882 function shareOnLinkedIn() { 1883 var url = getCurrentPageUrl(); 1884 window.open('https://www.linkedin.com/shareArticle?url=' + url, '_blank'); 1885 } 1886 1887 function shareOnPinterest() { 1888 var url = getCurrentPageUrl(); 1889 window.open('https://pinterest.com/pin/create/button/?url=' + url, '_blank'); 1890 } 1891 function shareOnReddit() { 1892 var url = getCurrentPageUrl(); 1893 window.open('https://www.reddit.com/submit?url=' + url, '_blank'); 1894 } 1895 function shareViaEmail() { 1896 var url = getCurrentPageUrl(); 1897 var subject = encodeURIComponent('Check out this page'); 1898 var body = encodeURIComponent(url); 1899 window.location.href = 'mailto:?subject=' + subject + '&body=' + body; 1900 } 1901 1902 function shareOnWhatsApp() { 1903 var url = getCurrentPageUrl(); 1904 window.location.href = 'whatsapp://send?text=' + encodeURIComponent(url); 1905 } 1906 function shareOnInstagram() { 1907 var url = getCurrentPageUrl(); 1908 var caption = encodeURIComponent("Check out this page: " + url); 1909 window.location.href = 'instagram://library?AssetPath=' + url + '&InstagramCaption=' + caption; 1910 } 1911 function shareOnTelegram() { 1912 var url = getCurrentPageUrl(); 1913 window.open('https://t.me/share/url?url=' + encodeURIComponent(url)); 1914 } 1915</script>
1915 1916 1917 </div> 1918 </div> 1919 1920 <div class="g-pr-20--lg"> 1921 <div class="g-mb-50"> 1922 <h3 class="h5 g-color-black g-font-weight-600 mb-4">Category</h3> 1923 <ul class="list-unstyled g-font-size-13 mb-0"> 1924 1925 <li> 1926 <a href="/US/Chicago-IL/211818/genre/197384240287028/Art+Gallery" class="d-block u-link-v5 g-color-gray-dark-v4 rounded g-px-20 g-py-8 g-color-primary--hover"><i class="mr-2 fa fa-angle-right"></i> Art Gallery</a> </li> 1927 1928 </ul> 1929 </div> 1930 </div> 1931 1932 1933 1934 1935 1936<div class="g-mb-50"> 1937 1938 <ul class="list-unstyled"> 1939 </ul> 1940</div> 1941 1942 1943<div class="g-mb-50 text-center"> 1944 </div> 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 </div> 1957 </div> 1958 </div> 1959 1960 1961 1962</div> 1963 1964 1965 1966 1967 1968 1969
1970<script data-cfasync="false"> 1971 1972function trunc20(str) { 1973 if (str.length > 20) { 1974 return str.substring(0,20) + "..."; 1975 } else { 1976 return str; 1977 } 1978} 1979 1980 1981 1982var map; 1983 1984document.addEventListener("DOMContentLoaded", function(){ 1985 1986 setTimeout(function (){ 1987 loadCss("https://unpkg.com/[email protected]/dist/leaflet.css", false); 1988 loadScript("https://unpkg.com/[email protected]/dist/leaflet.js", false, function () { 1989 1990 map = L.map('map').setView([41.8578, -87.6561], 14); 1991 var markersLayer = new L.LayerGroup(); 1992 markersLayer.addTo(map); 1993 var osmAttrib='© <a href="https://maptiler.com">MapTiler</a> © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors'; 1994 var locations = [ 1995 {id:127786917240044,lat:41.8578,lng:-87.6561,title:'Tonantzin Gallery Sh...',popupHtml:'<center><a href="/US/Chicago/127786917240044/Tonantzin-Gallery-Shop"><img height="100" width="100" src="https://graph.facebook.com/127786917240044/picture?type=large"/><h5>Tonantzin Gallery Shop</h5></a></center>',urlPath:'US/Chicago/127786917240044/Tonantzin-Gallery-Shop',pictureUrl:'https://graph.facebook.com/127786917240044/picture?type=large',label:''}, 1996 ]; 1997 var locationIds = [127786917240044,]; 1998 var gettingMore = false; 1999 2000 map.on('moveend', function(e) { 2001 //getMore(); 2002 }); 2003 2004 map.on('zoomend', function(e) { 2005 //getMore(); 2006 }); 2007 2008 map._addMarker = function(loc) { 2009 var marker = L.marker([loc.lat,loc.lng], { 2010 title: loc.title, 2011 riseOnHover: true, 2012 icon: loc.label ? new L.DivIcon({ 2013 className: 'directory-map-marker', 2014 html: '<span aria-hidden="true">' + loc.label + '</span>', 2015 iconSize: [34, 34], 2016 iconAnchor: [17, 34], 2017 popupAnchor: [0, -34] 2018 }) : new L.Icon.Default() 2019 }) 2020 .bindTooltip('<a href="/' + loc.urlPath + '">' + loc.title + '</a>', { 2021 permanent: false, 2022 direction: 'top', 2023 offset: L.point(0, -30), 2024 opacity: 0.88, 2025 interactive: true 2026 }) 2027 .bindPopup(loc.popupHtml); 2028 markersLayer.addLayer(marker); 2029 } 2030 2031 var mapPopulated = false; 2032 function populateMap() { 2033 if (mapPopulated) { 2034 return; 2035 } 2036 mapPopulated = true; 2037 locations.forEach(function(loc) { 2038 map._addMarker(loc); 2039 }); 2040 L.tileLayer('https://map.gluseum.com/api/maps/bright/{z}/{x}/{y}.png', { 2041 attribution: osmAttrib, 2042 tileSize: 512, 2043 zoomOffset: -1 2044 }).addTo(map); 2045 } 2046 2047 if ("IntersectionObserver" in window) { 2048 let lazyMapObserver = new IntersectionObserver(function(entries, observer) { 2049 entries.forEach(function(entry) { 2050 if (entry.isIntersecting) { 2051 lazyMapObserver.unobserve(entry.target); 2052 populateMap(); 2053 } 2054 }); 2055 }); 2056 lazyMapObserver.observe(document.querySelector("#map")); 2057 } else { 2058 populateMap(); 2059 } 2060 2061 map._addMarker2 = function(label, name, latitude, longitude) { 2062 2063 2064 var marker = L.marker([latitude,longitude], { 2065 //title: loc.title, 2066 icon: label ? new L.DivIcon({ 2067 className: 'directory-map-marker', 2068 html: '<span aria-hidden="true">' + label + '</span>', 2069 iconSize: [34, 34], 2070 iconAnchor: [17, 34], 2071 popupAnchor: [0, -34] 2072 }) : new L.Icon.Default() 2073 2074 //className: 'my-div-icon', 2075 //iconUrl: "https://graph.facebook.com/" + loc.id + "/picture?type=square", 2076 //iconSize: [32, 32], 2077 //html: '<span class="my-div-span"><img height="24" width="24" border="2" src="https://graph.facebook.com/' + loc.id + '/picture?type=square" /></span>' 2078 2079 }) 2080 2081 .bindTooltip(name, { 2082 //permanent: true, 2083 direction: 'bottom', 2084 //offset: L.point(12, 25), 2085 //opacity: 0.88, 2086 interactive: true 2087 }) 2088 .bindPopup(name); 2089 markersLayer.addLayer(marker); 2090 2091 } 2092 2093 function getMore() { 2094 if (gettingMore) { 2095 return; 2096 } 2097 gettingMore = true; 2098 var center = map.getCenter(); 2099 2100 $.ajax({ 2101 url: "/vicinitysearch", 2102 data: { lat: center.lat, lng: center.lng, country: "UNITED STATES" } 2103 }) 2104 .done(function(data) { 2105 var added = 0; 2106 data.forEach(function(loc) { 2107 if (!locationIds.includes(loc.id)) { 2108 var mapLoc = {id:loc.id,lat:loc.latitude,lng:loc.longitude,title:trunc20(loc.name),popupHtml:loc.popupHtml,urlPath:loc.urlPath,pictureUrl:loc.pictureUrl}; 2109 locations.push(mapLoc); 2110 locationIds.push(loc.id); 2111 map._addMarker(mapLoc); 2112 added++; 2113 } 2114 }); 2115 }) 2116 .always(function() { 2117 gettingMore = false;
2118 }); 2119 } 2120 2121 map._clearMarkers = function() { 2122 markersLayer.clearLayers(); 2123 } 2124 2125 }); 2126 2127 }, 4000); 2128 2129 2130}); 2131 2132 </script>
2132 2133 2134 2135 2136 2137 2138 2139 2140
2141<script data-cfasync="false"> 2142 function recaptchaCallback() { 2143 document.getElementById("contact_submit").disabled = false; 2144 }; 2145 2146 2147 2148 window.setTimeout(function() { 2149 $.ajax({ 2150 url: "/pv/127786917240044" 2151 }); 2152 }, 4000); 2153</script>
2153 2154 2155 2156 2157 2158<div class="takedown-dialog" id="takedownRequestDialog" hidden aria-hidden="true"> 2159 <div class="takedown-dialog__backdrop" data-takedown-close></div> 2160 <section class="takedown-dialog__panel" role="dialog" aria-modal="true" aria-labelledby="takedownRequestTitle" tabindex="-1"> 2161 <button type="button" class="takedown-dialog__close" data-takedown-close aria-label="Close">×</button> 2162 <h2 id="takedownRequestTitle">Listing takedown request</h2> 2163 <p class="takedown-dialog__intro">Tell us why this listing should be removed. Our team will review your request.</p> 2164 <form id="takedownRequestForm" action="/takedown-request/127786917240044" method="post"> 2165 <input name="language" type="hidden" value="en"> 2166 <div class="takedown-dialog__field"> 2167 <label for="takedownName">Name</label> 2168 <input id="takedownName" name="name" type="text" maxlength="200" autocomplete="name" required> 2169 </div> 2170 <div class="takedown-dialog__field"> 2171 <label for="takedownEmail">Email</label> 2172 <input id="takedownEmail" name="email" type="email" maxlength="254" autocomplete="email" required> 2173 </div> 2174 <div class="takedown-dialog__field"> 2175 <label for="takedownDetails">Comments</label> 2176 <textarea id="takedownDetails" name="details" rows="6" maxlength="5000" placeholder="Include the reason for your request and any helpful context." required></textarea> 2177 </div> 2178 <div class="takedown-dialog__honeypot" aria-hidden="true"> 2179 <label for="takedownWebsite">Website</label> 2180 <input id="takedownWebsite" name="website" type="text" tabindex="-1" autocomplete="off"> 2181 </div> 2182 <div class="takedown-dialog__captcha" data-sitekey="6LcrPjMUAAAAAL4bKG3JdFuqRKrjFDI2elJ8wEvp"></div> 2183 <p class="takedown-dialog__status" id="takedownRequestStatus" role="alert" aria-live="polite"></p> 2184 <button type="submit" class="btn btn-danger takedown-dialog__submit" data-label="Submit" data-sending-label="Sendingâ¦" data-error-label="We could not send your request. Please try again.">Submit</button> 2185 </form> 2186 </section> 2187</div> 2188<link rel="stylesheet" href="/css/takedown-request.css?v=20260813-2">
2189<script data-cfasync="false" src="/js/takedown-request.js?v=20260821-2" defer></script>
2189 2190
2191<script type="dc2307b2fbdc7afa35e8b229-text/javascript"> 2192 var imgErr=false; 2193</script>
2193 2194 2195 2196<!-- </div> 2197</div>--> 2198 2199 2200 2201 <!-- Footer --> 2202 <footer class="g-bg-black-opacity-0_9 g-color-white-opacity-0_6 g-py-60"> 2203 <div class="container"> 2204 <div class="row"> 2205 <!-- Footer Content --> 2206 <div class="col-lg-4 g-mb-50 g-mb-0--lg"> 2207 <h6 class="h6 g-color-white text-uppercase g-font-weight-700 g-mb-20">About Gluseum</h6> 2208 <div class="g-mb-25"> 2209 <p> 2210 One of the largest resources on the Internet for finding museums worldwide. </p> 2211 </div> 2212 2213 </div> 2214 <!-- End Footer Content --> 2215 2216 <!-- Footer Content --> 2217 <div class="col-lg-4 g-mb-30 g-mb-0--lg"> 2218 <h6 class="h6 g-color-white text-uppercase g-font-weight-700 g-mb-20">Useful Links</h6> 2219 <div class="row"> 2220 <div class="col-sm-6"> 2221 <ul class="list-unstyled g-mb-30 g-mb-0--md"> 2222 <li class="d-flex g-mb-12"> 2223 <i class="fa fa-circle g-color-primary g-font-size-5 g-mt-10 g-mr-8"></i> 2224 <a class="g-color-white-opacity-0_6 g-color-primary--hover" href="https://www.gluseum.com/about/127786917240044" data-google-interstitial="false"> 2225 About Gluseum</a> 2226 </li> 2227 <li class="d-flex g-mb-12"> 2228 <i class="fa fa-circle g-color-primary g-font-size-5 g-mt-10 g-mr-8"></i> 2229 <a class="g-color-white-opacity-0_6 g-color-primary--hover" href="https://www.gluseum.com/terms" data-google-interstitial="false"> 2230 Terms</a> 2231 </li> 2232 <li class="d-flex g-mb-12"> 2233 <i class="fa fa-circle g-color-primary g-font-size-5 g-mt-10 g-mr-8"></i> 2234 <a class="g-color-white-opacity-0_6 g-color-primary--hover" href="https://www.gluseum.com/privacy" data-google-interstitial="false"> 2235 Privacy Policy</a> 2236 </li> 2237 <li class="d-flex"> 2238 <i class="fa fa-circle g-color-primary g-font-size-5 g-mt-10 g-mr-8"></i> 2239 <a class="g-color-white-opacity-0_6 g-color-primary--hover" href="https://www.gluseum.com/faq" data-google-interstitial="false"> 2240 FAQ</a> 2241 </li> 2242 </ul> 2243 </div> 2244 2245 <div class="col-sm-6"> 2246 <ul class="list-unstyled mb-0"> 2247 <li class="d-flex g-mb-12"> 2248 <i class="fa fa-circle g-color-primary g-font-size-5 g-mt-10 g-mr-8"></i> 2249 <a class="g-color-white-opacity-0_6 g-color-primary--hover" href="https://www.gluseum.com/advertise" data-google-interstitial="false"> 2250 Advertise</a> 2251 </li> 2252 <li class="d-flex g-mb-12"> 2253 <i class="fa fa-circle g-color-primary g-font-size-5 g-mt-10 g-mr-8"></i> 2254 <a class="g-color-white-opacity-0_6 g-color-primary--hover" href="https://www.gluseum.com/login/start" data-google-interstitial="false"> 2255 Add listing</a> 2256 </li> 2257 <li class="d-flex"> 2258 <i class="fa fa-circle g-color-primary g-font-size-5 g-mt-10 g-mr-8"></i> 2259 <a class="g-color-white-opacity-0_6 g-color-primary--hover" href="/login/127786917240044" data-google-interstitial="false"> 2260 Login</a> 2261 </li> 2262 </ul> 2263 </div> 2264 </div> 2265 </div> 2266 <!-- End Footer Content --> 2267 2268 <!-- Footer Content --> 2269 <div class="col-lg-4"> 2270 <h6 class="h6 g-color-white text-uppercase g-font-weight-700 g-mb-20">Subscribe</h6> 2271 2272 <p> We will notify you when anything happens in Chicago. </p> 2273 2274 <form class="g-mt-25" onsubmit="if (!window.__cfRLUnblockHandlers) return false; event.preventDefault(); subscribe(211818,null);" data-cf-modified-dc2307b2fbdc7afa35e8b229-=""> 2275 <div class="row"> 2276 <div class="col-md-8 col-lg-12"> 2277 2278 <div class="form-group g-mb-20"> 2279 <label class="sr-only" for="email">Your Email</label> 2280 <input id="email" class="form-control g-color-white g-bg-transparent g-bg-transparent--focus g-brd-white-opacity-0_1 g-brd-primary--focus g-px-20 g-py-12" type="email" placeholder="Your Email"> 2281 </div> 2282 </div> 2283 2284 <div class="col-md-4 col-lg-12"> 2285 <button id="submit" class="btn btn-md u-btn-primary g-font-size-12 text-uppercase rounded g-py-11 g-px-30" type="submit">Subscribe</button> 2286 </div> 2287 </div> 2288 </form> 2289 </div> 2290 <!-- End Footer Content --> 2291 </div> 2292 </div> 2293 </footer> 2294 <!-- End Footer --> 2295 <div class="container" id="google-consent-footer"></div> 2296
2296<script data-cfasync="false" defer src="/js/google-consent-footer.js?v=20260917-1"></script>
2296 2297
2298<script type="dc2307b2fbdc7afa35e8b229-text/javascript"> 2299 function subscribe(city, page) { 2300 var email; 2301 if (page === null) { 2302 email = $("#email").val(); 2303 $("#email").prop('disabled', true); 2304 $("#submit").hide(300); 2305 } else { 2306 email = $("#alert_email").val(); 2307 $("#alert_email").prop('disabled', true); 2308 $("#alert_submit").hide(300); 2309 } 2310 2311 $.ajax({ 2312 method: "POST", 2313 contentType : 'application/json', 2314 url: "/subscribe", 2315 data: JSON.stringify({email: email, city: city, page: page}) 2316 }).done(function(response) { 2317 console.log(response); 2318 }) 2319 .fail(function( jqXHR, textStatus) { 2320 console.log(textStatus); 2321 }); 2322 2323 return false; 2324 } 2325</script>
2325 2326 2327 2328<!--
2328<script async type="text/javascript" src="https://www.google.com/coop/cse/brand?form=cse-search-box&lang=en"></script>
2328--> 2329 </main> 2330 2331 2332 2333
2333<script data-cfasync="false"> 2334 2335/*! loadCSS. [c]2017 Filament Group, Inc. MIT License */ 2336(function(w){ 2337 "use strict"; 2338 /* exported loadCSS */ 2339 var loadCSS = function( href, before, media ){ 2340 // Arguments explained: 2341 // `href` [REQUIRED] is the URL for your CSS file. 2342 // `before` [OPTIONAL] is the element the script should use as a reference for injecting our stylesheet <link> before 2343 // By default, loadCSS attempts to inject the link after the last stylesheet or script in the DOM. However, you might desire a more specific location in your document. 2344 // `media` [OPTIONAL] is the media type or query of the stylesheet. By default it will be 'all' 2345 var doc = w.document; 2346 var ss = doc.createElement( "link" ); 2347 var ref; 2348 if( before ){ 2349 ref = before; 2350 } 2351 else { 2352 var refs = ( doc.body || doc.getElementsByTagName( "head" )[ 0 ] ).childNodes; 2353 ref = refs[ refs.length - 1]; 2354 } 2355 2356 var sheets = doc.styleSheets; 2357 ss.rel = "stylesheet"; 2358 ss.href = href; 2359 // temporarily set media to something inapplicable to ensure it'll fetch without blocking render 2360 ss.media = "only x"; 2361 2362 // wait until body is defined before injecting link. This ensures a non-blocking load in IE11. 2363 function ready( cb ){ 2364 if( doc.body ){ 2365 return cb(); 2366 } 2367 setTimeout(function(){ 2368 ready( cb ); 2369 }); 2370 } 2371 // Inject link 2372 // Note: the ternary preserves the existing behavior of "before" argument, but we could choose to change the argument to "after" in a later release and standardize on ref.nextSibling for all refs 2373 // Note: `insertBefore` is used instead of `appendChild`, for safety re: http://www.paulirish.com/2011/surefire-dom-element-insertion/ 2374 ready( function(){ 2375 ref.parentNode.insertBefore( ss, ( before ? ref : ref.nextSibling ) ); 2376 }); 2377 // A method (exposed on return object for external use) that mimics onload by polling document.styleSheets until it includes the new sheet. 2378 var onloadcssdefined = function( cb ){ 2379 var resolvedHref = ss.href; 2380 var i = sheets.length; 2381 while( i-- ){ 2382 if( sheets[ i ].href === resolvedHref ){ 2383 return cb(); 2384 } 2385 } 2386 setTimeout(function() { 2387 onloadcssdefined( cb ); 2388 }); 2389 }; 2390 2391 function loadCB(){ 2392 if( ss.addEventListener ){ 2393 ss.removeEventListener( "load", loadCB ); 2394 } 2395 ss.media = media || "all"; 2396 } 2397 2398 // once loaded, set link's media back to `all` so that the stylesheet applies once it loads 2399 if( ss.addEventListener ){ 2400 ss.addEventListener( "load", loadCB); 2401 } 2402 ss.onloadcssdefined = onloadcssdefined; 2403 onloadcssdefined( loadCB ); 2404 return ss; 2405 }; 2406 // commonjs 2407 if( typeof exports !== "undefined" ){ 2408 exports.loadCSS = loadCSS; 2409 } 2410 else { 2411 w.loadCSS = loadCSS; 2412 } 2413}( typeof global !== "undefined" ? global : this )); 2414 </script>
2414 2415 2416 2417
2418<script data-cfasync="false"> 2419 2420var $grid, $grid2; 2421$(function () { 2422 2423 $grid = $('.masonry-grid').masonry({ 2424 columnWidth: '.masonry-grid-item', 2425 itemSelector: '.masonry-grid-item', 2426 transitionDuration: 0, 2427 }); 2428 2429 $grid2 = $('.masonry-grid2').masonry({ 2430 columnWidth: '.masonry-grid-item', 2431 itemSelector: '.masonry-grid-item', 2432 transitionDuration: 0, 2433 }); 2434 2435 var layoutPending = false; 2436 function scheduleLayout() { 2437 if (layoutPending) return; 2438 layoutPending = true; 2439 requestAnimationFrame(function () { 2440 layoutPending = false; 2441 $grid.masonry('layout'); 2442 $grid2.masonry('layout'); 2443 }); 2444 } 2445 var grids = document.querySelectorAll('.masonry-grid, .masonry-grid2'); 2446 // Lazy images, failed images and embedded media can change size after load. 2447 // Observe item dimensions, not container height, to avoid layout feedback. 2448 if (window.ResizeObserver) { 2449 var sizeObserver = new ResizeObserver(scheduleLayout); 2450 grids.forEach(function (grid) { 2451 grid.querySelectorAll('.masonry-grid-item').forEach(function (item) { 2452 sizeObserver.observe(item); 2453 }); 2454 }); 2455 } 2456 grids.forEach(function (grid) { 2457 grid.addEventListener('load', scheduleLayout, true); 2458 grid.addEventListener('error', scheduleLayout, true); 2459 }); 2460 $(window).on('resize', scheduleLayout); 2461 if (document.fonts && document.fonts.ready) document.fonts.ready.then(scheduleLayout); 2462 scheduleLayout(); 2463 2464}); 2465$(window).on('load', function () { 2466 if ($grid !== undefined) { 2467 $grid.masonry('layout'); 2468 } 2469}); 2470</script>
2470 2471 2472
2472<script data-cfasync="false"> 2473 var documentReady=false, carouselInit=false; 2474 </script>
2474 2475
2475<script src="https://cdnjs.cloudflare.com/polyfill/v2/polyfill.min.js?features=IntersectionObserver" type="dc2307b2fbdc7afa35e8b229-text/javascript"></script>
vendor: 1 bytes, line 2475
2475
2476<script data-cfasync="false"> 2477 2478document.addEventListener("DOMContentLoaded", function() { 2479 2480 var lazyImages = [].slice.call(document.querySelectorAll("img[data-src]")); 2481 var lazyVideos = [].slice.call(document.querySelectorAll("div.fb-video-lazy")); 2482 var captchaDivs = [].slice.call(document.querySelectorAll("div.g-recaptcha")); 2483 2484 if ("IntersectionObserver" in window) { 2485 2486 2487 2488 let lazyImageObserver = new IntersectionObserver(function(entries, observer) { 2489 entries.forEach(function(entry) { 2490 if (entry.isIntersecting) { 2491 2492 let lazyImage = entry.target; 2493 if (typeof lazyImage.dataset.src !== 'undefined') { 2494 lazyImage.src = lazyImage.dataset.src; 2495 } 2496 lazyImageObserver.unobserve(lazyImage); 2497 2498 if ($grid !== undefined) { 2499 $grid.masonry('layout'); 2500 } 2501 2502 if (typeof addthis !== 'undefined') { 2503 if (typeof addthis.layers.refresh !== 'undefined' && $.isFunction(addthis.layers.refresh)) { 2504 addthis.layers.refresh(); 2505 } 2506 } 2507 2508 if (documentReady && !carouselInit) { 2509 // initialization of carousel 2510 carouselInit = true; 2511 $.HSCore.components.HSCarousel.init('.js-carousel'); 2512 } 2513 } 2514 }); 2515 }, { 2516 rootMargin: "0px 0px 600px 0px" 2517 }); 2518 2519 lazyImages.forEach(function(lazyImage) { 2520 lazyImageObserver.observe(lazyImage); 2521 }); 2522 2523 2524 2525 let lazyVideoObserver = new IntersectionObserver(function(entries, observer) { 2526 entries.forEach(function(entry) { 2527 if (entry.isIntersecting) { 2528 2529 var timerId; 2530 var renderVid = function() { 2531 if (FbInited) { 2532 clearInterval(timerId); 2533 let lazyVideo = entry.target; 2534 observer.unobserve(lazyVideo); 2535 lazyVideo.classList.add('fb-video'); 2536 lazyVideo.classList.remove('fb-video-lazy'); 2537 FB.XFBML.parse(lazyVideo.parentNode); 2538 2539 if ($grid !== undefined) { 2540 $grid.masonry('layout'); 2541 } 2542 } 2543 }; 2544 2545 if (!FbInited) { 2546 timerId = setInterval(renderVid, 500); 2547 } else { 2548 renderVid(); 2549 } 2550 } 2551 }); 2552 }, { 2553 rootMargin: "0px 0px 600px 0px" 2554 }); 2555 2556 lazyVideos.forEach(function(lazyVideo) { 2557 lazyVideoObserver.observe(lazyVideo); 2558 }); 2559 2560 2561 2562 let captchaObserver = new IntersectionObserver(function(entries, observer) { 2563 entries.forEach(function(entry) { 2564 if (entry.isIntersecting) { 2565 observer.unobserve(entry.target); 2566 if (!document.querySelector('script[src*="/recaptcha/api.js"]')) { 2567 var rc = document.createElement('script'); 2568 rc.setAttribute('src','https://www.google.com/recaptcha/api.js'); 2569 document.head.appendChild(rc); 2570 } 2571 } 2572 }); 2573 }, { 2574 rootMargin: "0px 0px 256px 0px" 2575 }); 2576 2577 captchaDivs.forEach(function(captchaDiv) { 2578 captchaObserver.observe(captchaDiv); 2579 }); 2580 2581 } else { 2582 } 2583 }); 2584</script>
2584 2585 2586 2587 2588
2588<script data-cfasync="false"> 2589 2590 $(function () { 2591 2592 documentReady = true; 2593 2594 // initialization of go to 2595 $.HSCore.components.HSGoTo.init('.js-go-to'); 2596 2597 // initialization of header 2598 $.HSCore.components.HSHeader.init($('#js-header')); 2599 $.HSCore.helpers.HSHamburgers.init('.hamburger'); 2600 2601 // initialization of rating 2602 $.HSCore.components.HSRating.init($('.js-rating'), { 2603 spacing: 4 2604 }); 2605 2606 2607 2608 2609 2610 }); 2611 </script>
2611 2612 2613 2614 2615
2615<script type="dc2307b2fbdc7afa35e8b229-text/javascript"> 2616 window._taboola = window._taboola || []; 2617 _taboola.push({flush: true}); 2618 </script>
2618 2619 2620 2621 <br/> 2622 <br/> 2623 <br/> 2624 2625 2626 2627 2628
2628<script data-cfasync="false"> 2629 document.addEventListener('DOMContentLoaded', () => { 2630 2631 [].forEach.call(document.querySelectorAll('.js-directory-results-toggle'), function (button) { 2632 var results = document.getElementById(button.getAttribute('aria-controls')); 2633 if (!results) return; 2634 button.addEventListener('click', function () { 2635 var expanded = button.getAttribute('aria-expanded') === 'true'; 2636 results.classList.toggle('is-expanded', !expanded); 2637 button.setAttribute('aria-expanded', expanded ? 'false' : 'true'); 2638 button.textContent = expanded ? button.getAttribute('data-collapsed-label') : button.getAttribute('data-expanded-label'); 2639 }); 2640 results.classList.add('is-collapsible'); 2641 button.classList.add('is-enhanced'); 2642 }); 2643 [].forEach.call(document.querySelectorAll('.js-directory-list-toggle'), function (button) { 2644 var list = document.getElementById(button.getAttribute('aria-controls')); 2645 if (!list) return; 2646 button.addEventListener('click', function () { 2647 var expanded = button.getAttribute('aria-expanded') === 'true'; 2648 list.classList.toggle('is-expanded', !expanded); 2649 button.setAttribute('aria-expanded', expanded ? 'false' : 'true'); 2650 button.textContent = expanded ? button.getAttribute('data-collapsed-label') : button.getAttribute('data-expanded-label'); 2651 }); 2652 list.classList.add('is-collapsible'); 2653 button.classList.add('is-enhanced'); 2654 }); 2655 2656 2657 setTimeout(function (){ 2658 loadScript("https://cdnjs.cloudflare.com/polyfill/v2/polyfill.min.js?features=IntersectionObserver"); 2659 2660 2661 2662 2663 loadScript("https://s.skimresources.com/js/117608X1595506.skimlinks.js"); 2664 2665 window._taboola = window._taboola || []; 2666_taboola.push({article:'auto'}); 2667!function (e, f, u, i) { 2668 if (!document.getElementById(i)){ 2669 e.async = 1; 2670 e.src = u; 2671 e.id = i; 2672 f.parentNode.insertBefore(e, f); 2673 } 2674}(document.createElement('script'), 2675document.getElementsByTagName('script')[0], 2676'//cdn.taboola.com/libtrc/univalence-network/loader.js', 2677'tb_loader_script'); 2678if(window.performance && typeof window.performance.mark == 'function') 2679 {window.performance.mark('tbl_ic');} 2680 }, 3500); 2681 }); 2682 2683 function loadCss(cssFile) { 2684 var head = document.getElementsByTagName('head')[0]; 2685 var link = document.createElement('link'); 2686 link.rel = 'stylesheet'; 2687 link.type = 'text/css'; 2688 link.href = cssFile; 2689 link.media = 'all'; 2690 head.appendChild(link); 2691 } 2692 </script>
vendor: 156 bytes, lines 2692-2696
2692 2693 2694 2695 2696 <script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="dc2307b2fbdc7afa35e8b229-|49" defer></script>
2696<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a441f7fbc81d78af',t:'MTc5MDkyNTg3OQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
2696<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"2c6fdb80999745ad9357e2c193b0c351","r":1,"spa":2}' crossorigin="anonymous"></script>
2696 2697</body> 2698</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.