1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4 <link rel="canonical" href="https://www.govserv.org/US/Chicago-IL/211818/genre/175838732461622/Post+office"> 5 <meta name="robots" content="max-image-preview:standard"> 6 7 <title>Post offices in Chicago, IL</title> 8 <meta name="Description" content="Find Post offices in Chicago, IL. Listings include My Mail Center, The UPS Store 5608, Snail Mail Is My Therapy, Fata new yesetey and Jewelry by Kim handmade glass. Click on each in the list below the map for more information."> 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 21 <link rel="shortcut icon" href="/img/govserv/favicon.ico" type="image/x-icon"> 22 23 <!-- Prefetch DNS for external assets --> 24 <link rel="dns-prefetch" href="//graph.facebook.com"> 25 <link rel="preconnect" href="//graph.facebook.com"> 26 <link rel="dns-prefetch" href="https://www.google-analytics.com"> 27 <link rel="preconnect" href="https://pagead2.googlesyndication.com" crossorigin> 28 <link rel="preconnect" href="https://googleads.g.doubleclick.net" crossorigin> 29 30 <link rel="preload" href="/assets/vendor/icon-line/css/simple-line-icons.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> 31 <noscript><link rel="stylesheet" href="/assets/vendor/icon-line/css/simple-line-icons.css"></noscript> 32 33 <link rel="preload" href="/assets/vendor/icon-hs/style.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> 34 <noscript><link rel="stylesheet" href="/assets/vendor/icon-hs/style.css"></noscript> 35 36 37 <link rel="preload" href="/assets/vendor/icon-hs/fonts/hs-icons.ttf?xa77py" as="font" type="font/ttf" crossorigin> 38 39 40 41 42
42<script data-cfasync="false"> 43 var userCountryCode='US'; 44 </script>
44 45
45<script data-cfasync="false" defer src="/js/adsense-unfilled-collapse.js?v=20260830-3"></script>
vendor: 1 bytes, line 45
45
46<script data-cfasync="false"> 47(function () { 48 var consentGate = { 49 enabled: false, 50 requestPauseEnabled: true, 51 diagnosticsEnabled: true, 52 regulated: false, 53 ready: false, 54 startedAt: Date.now(), 55 queue: [], 56 surfaceQueued: {}, 57 surfaceReleased: {}, 58 requestPauseArmed: false, 59 requestPauseReleased: false, 60 requestPauseTimedOut: false, 61 requestPauseOutcomeRecorded: false, 62 telemetryEnabled: true, 63 telemetryToken: 'YWR0MXwxNzkwMjg2Njc5fDM1fHB2X2NjYzkzYmRjMzc3NmQzZGQ2ZmIxNDkzMjk1NzQzYmUzfDEwMA.kHhyPz69_et6oYr611bLgfGl5xnt3aNlweOFDm1WtuQ', 64 telemetryPageviewId: 'pv_ccc93bdc3776d3dd6fb1493295743be3', 65 telemetryRate: 100, 66 pageType: 'genre' 67 }; 68 consentGate.requestPauseActive = consentGate.requestPauseEnabled && consentGate.regulated; 69 consentGate.active = (consentGate.enabled || consentGate.requestPauseEnabled) && consentGate.regulated; 70 consentGate.diagnosticsActive = consentGate.active || (consentGate.diagnosticsEnabled && consentGate.regulated); 71 var consentGatePublicState = { 72 enabled: consentGate.enabled, 73 requestPauseEnabled: consentGate.requestPauseEnabled, 74 requestPauseActive: consentGate.requestPauseActive, 75 requestPauseArmed: false, 76 requestPauseReleased: false, 77 requestPauseTimedOut: false, 78 diagnosticsEnabled: consentGate.diagnosticsEnabled, 79 regulated: consentGate.regulated, 80 active: consentGate.active, 81 diagnosticsActive: consentGate.diagnosticsActive, 82 ready: false, 83 queuedSurfaces: 0, 84 releasedSurfaces: 0, 85 abandonedSurfaces: 0, 86 autoRequestObserved: false, 87 autoDomObserved: false, 88 autoFilledObserved: false, 89 autoUnfilledObserved: false 90 }; 91 window.fglConsentReadyGateState = consentGatePublicState; 92 93 // This partial is emitted before every AdSense loader on Unify01. Arming 94 // synchronously here prevents both account-configured Auto Ads and manual 95 // slots from issuing requests before Funding Choices is ready. 96 if (consentGate.requestPauseActive) { 97 window.adsbygoogle = window.adsbygoogle || []; 98 window.adsbygoogle.pauseAdRequests = 1; 99 consentGate.requestPauseArmed = true; 100 consentGatePublicState.requestPauseArmed = true; 101 } 102 103 function consentGateSampled() { 104 var hash = 2166136261; 105 if (!consentGate.telemetryEnabled || !consentGate.telemetryToken || 106 !consentGate.telemetryPageviewId || consentGate.telemetryRate < 1) return false; 107 for (var i = 0; i < consentGate.telemetryPageviewId.length; i++) {
108 hash ^= consentGate.telemetryPageviewId.charCodeAt(i); 109 hash += (hash << 1) + (hash << 4) + (hash << 7) + (hash << 8) + (hash << 24); 110 } 111 return ((hash >>> 0) % 1000) < consentGate.telemetryRate; 112 } 113 consentGate.sampled = consentGateSampled(); 114 115 function consentGateBrowserFamily() { 116 var ua = String(navigator && navigator.userAgent || '').toLowerCase(); 117 if (ua.indexOf('edg/') !== -1 || ua.indexOf('edge/') !== -1) return 'edge'; 118 if (ua.indexOf('opr/') !== -1 || ua.indexOf('opera') !== -1) return 'opera'; 119 if (ua.indexOf('firefox/') !== -1 || ua.indexOf('fxios/') !== -1) return 'firefox'; 120 if (ua.indexOf('chrome/') !== -1 || ua.indexOf('crios/') !== -1) return 'chrome'; 121 if (ua.indexOf('safari/') !== -1) return 'safari'; 122 return 'other'; 123 } 124 125 function consentGateTrafficSource() { 126 var referrer = String(document.referrer || ''), parser, host, current; 127 if (!referrer) return 'direct'; 128 try { 129 parser = document.createElement('a'); parser.href = referrer; 130 host = String(parser.hostname || '').toLowerCase(); 131 current = String(window.location.hostname || '').toLowerCase(); 132 } catch (e) { return 'unknown'; } 133 if (!host) return 'unknown'; 134 if (host === current || host.slice(-(current.length + 1)) === '.' + current) return 'internal'; 135 if (/(^|\.)google\./.test(host)) return 'google'; 136 if (/(^|\.)(bing\.com|yahoo\.[a-z.]+)$/.test(host) || host.indexOf('search.yahoo.') !== -1) return 'bing_yahoo'; 137 if (/(^|\.)(duckduckgo\.com|ecosia\.org|yandex\.[a-z.]+|baidu\.com)$/.test(host)) return 'other_search'; 138 if (/(^|\.)(facebook\.com|instagram\.com|twitter\.com|t\.co|linkedin\.com|pinterest\.[a-z.]+)$/.test(host)) return 'social'; 139 return 'other_referral'; 140 } 141 142 function recordConsentGateEvent(eventType, surface, elapsedMs, diagnostic, placement) { 143 var body, event, xhr; 144 if (!consentGate.sampled) return; 145 diagnostic = diagnostic || {}; 146 event = { 147 event_type: eventType, 148 placement: placement || '', 149 elapsed_ms: Math.max(0, elapsedMs || 0), 150 layout: 'unify01', 151 page_type: consentGate.pageType, 152 browser_family: consentGateBrowserFamily(), 153 loader_source: diagnostic.loader_source || 'adsbygoogle', 154 visibility_state: document.visibilityState || 'unknown', 155 failure_class: 'none', 156 client_profile: 'unknown', 157 resource_entry_state: diagnostic.resource_entry_state || 'unknown', 158 traffic_source_family: consentGateTrafficSource(), 159 delivery_surface: surface, 160 tcf_probe_stage: diagnostic.tcf_probe_stage || 'none', 161 tcf_observation_phase: diagnostic.tcf_observation_phase || 'none', 162 tcf_api_state: diagnostic.tcf_api_state || 'not_probed', 163 tcf_cmp_family: diagnostic.tcf_cmp_family || 'unknown', 164 tcf_cmp_status: diagnostic.tcf_cmp_status || 'unknown', 165 tcf_event_status: diagnostic.tcf_event_status || 'unknown', 166 tcf_string_state: diagnostic.tcf_string_state || 'unknown', 167 gdpr_applies_state: diagnostic.gdpr_applies_state || 'unknown' 168 }; 169 body = JSON.stringify({ 170 token: consentGate.telemetryToken, 171 pageview_id: consentGate.telemetryPageviewId, 172 sample_rate_permille: consentGate.telemetryRate, 173 events: [event] 174 }); 175 try { 176 if (navigator.sendBeacon && window.Blob && navigator.sendBeacon('/adt', new Blob([body], {type: 'application/json'}))) return; 177 } catch (e) {} 178 try { 179 if (window.fetch) { 180 window.fetch('/adt', {method: 'POST', body: body, credentials: 'same-origin', keepalive: true, 181 headers: {'Content-Type': 'application/json'}}).catch(function () {}); 182 return; 183 } 184 if (window.XMLHttpRequest) { 185 xhr = new XMLHttpRequest(); 186 xhr.open('POST', '/adt', true); 187 xhr.setRequestHeader('Content-Type', 'application/json'); 188 xhr.send(body); 189 } 190 } catch (e) {} 191 } 192 193 function recordRequestPauseOutcome(outcome, elapsedMs, diagnostic) { 194 var placement; 195 if (!consentGate.requestPauseArmed || consentGate.requestPauseOutcomeRecorded) return; 196 consentGate.requestPauseOutcomeRecorded = true; 197 placement = 'request_pause_v3_' + outcome + 198 (consentGate.requestPauseTimedOut ? '_after_timeout' : '_before_timeout'); 199 recordConsentGateEvent( 200 outcome === 'released' ? 'adsense_request_pause_released' : 'adsense_request_pause_abandoned', 201 'unknown', 202 elapsedMs, 203 diagnostic, 204 placement 205 ); 206 } 207 208 if (consentGate.requestPauseArmed) { 209 recordConsentGateEvent('adsense_request_pause_armed', 'unknown', 0, null, 'request_pause_v3_armed'); 210 } 211 212 var autoConsentTrace = { 213 consentReadyAt: null, 214 consentReadyDiagnostic: null, 215 tcfSnapshots: [], 216 listenerId: null, 217 applicationPushAt: null,
218 requestRecorded: false, 219 requestBeforeRecorded: false, 220 boundaryOutcomeRecorded: false, 221 boundaryTimer: null, 222 domRecorded: false, 223 filledRecorded: false, 224 unfilledRecorded: false, 225 statusOutcomeRecorded: false, 226 statusWindowClosed: false, 227 statusWindowTimer: null, 228 resourceObserverStarted: false, 229 domObserverStarted: false, 230 domObserver: null, 231 tcfListenerStarted: false, 232 prePushRecorded: {} 233 }; 234 235 function autoTraceNow() { 236 try { 237 if (window.performance && typeof window.performance.now === 'function') return window.performance.now(); 238 } catch (e) {} 239 return Date.now() - consentGate.startedAt; 240 } 241 242 function autoTraceBoundedSnapshot(data) { 243 var cmpId = data && parseInt(data.cmpId, 10), tcString; 244 if (data && typeof data.tcString === 'string') tcString = data.tcString.length ? 'present' : 'absent'; 245 else tcString = 'unknown'; 246 return { 247 observedAt: autoTraceNow(), 248 cmpFamily: cmpId === 300 ? 'google' : (cmpId > 0 ? 'other' : 'unknown'), 249 cmpStatus: String(data && data.cmpStatus || 'unknown').toLowerCase(), 250 eventStatus: String(data && data.eventStatus || 'unknown').toLowerCase(), 251 stringState: tcString, 252 gdprState: data && data.gdprApplies === true ? 'yes' : 253 (data && data.gdprApplies === false ? 'no' : 'unknown') 254 }; 255 } 256 257 function autoTraceSnapshotAt(observedAt) { 258 var snapshots = autoConsentTrace.tcfSnapshots, i; 259 for (i = snapshots.length - 1; i >= 0; i--) { 260 if (snapshots[i].observedAt <= observedAt) { 261 return snapshots[i]; 262 } 263 } 264 return null; 265 } 266 267 function autoTraceDiagnosticAt(observedAt, resourceState) { 268 var snapshot = autoTraceSnapshotAt(observedAt); 269 if (snapshot) { 270 return { 271 resource_entry_state: resourceState || 'present', 272 tcf_observation_phase: 'first', 273 tcf_api_state: 'responded', 274 tcf_cmp_family: snapshot.cmpFamily, 275 tcf_cmp_status: snapshot.cmpStatus, 276 tcf_event_status: snapshot.eventStatus, 277 tcf_string_state: snapshot.stringState, 278 gdpr_applies_state: snapshot.gdprState 279 }; 280 } 281 return { 282 resource_entry_state: resourceState || 'present', 283 tcf_observation_phase: 'first', 284 tcf_api_state: typeof window.__tcfapi === 'function' ? 'not_probed' : 'absent', 285 tcf_string_state: 'unknown', 286 gdpr_applies_state: 'unknown' 287 }; 288 } 289 290 function autoTraceRecord(kind, observedAt, placement) { 291 var afterConsent = autoConsentTrace.consentReadyAt !== null && observedAt >= autoConsentTrace.consentReadyAt; 292 var eventType = kind === 'request' 293 ? 'adsense_auto_request_before_consent' 294 : (afterConsent ? 'adsense_auto_dom_after_consent' : 'adsense_auto_dom_before_consent'); 295 recordConsentGateEvent( 296 eventType, 297 'auto_ads', 298 observedAt, 299 autoTraceDiagnosticAt(observedAt), 300 placement || (kind === 'request' ? 'auto_request' : 'auto_dom') 301 ); 302 return afterConsent; 303 } 304 305 function autoTraceIsGoogleAdRequest(resourceName) { 306 var parser, host, path; 307 try { 308 parser = document.createElement('a'); 309 parser.href = String(resourceName || ''); 310 host = String(parser.hostname || '').toLowerCase(); 311 path = String(parser.pathname || '').toLowerCase(); 312 } catch (e) { return false; } 313 return (host === 'pagead2.googlesyndication.com' || host === 'googleads.g.doubleclick.net') && 314 path.indexOf('/pagead/ads') === 0; 315 } 316 317 function autoTraceQueryValue(resourceName, parameterName) { 318 var parser, query, parts, i, pair, key, value; 319 try { 320 parser = document.createElement('a'); 321 parser.href = String(resourceName || ''); 322 query = String(parser.search || '').replace(/^\?/, ''); 323 if (!query) return null; 324 parts = query.split('&'); 325 for (i = 0; i < parts.length; i++) { 326 pair = parts[i].split('='); 327 key = decodeURIComponent(String(pair.shift() || '').replace(/\+/g, ' ')); 328 if (key !== parameterName) continue; 329 value = decodeURIComponent(String(pair.join('=') || '').replace(/\+/g, ' ')); 330 return value; 331 } 332 } catch (e) {} 333 return null; 334 } 335 336 function autoTraceRequestClassification(resourceName) { 337 var gdpr = autoTraceQueryValue(resourceName, 'gdpr'); 338 var tcString = autoTraceQueryValue(resourceName, 'gdpr_consent'); 339 var signal = tcString ? 'tc_present' : 340 (gdpr === '1' ? 'gdpr_without_tc' : (gdpr === '0' ? 'gdpr_not_applicable' : 'no_url_signal')); 341 var mode = autoTraceQueryValue(resourceName, 'ltd') === '1' ? 'limited' : 342 (autoTraceQueryValue(resourceName, 'npa') === '1' ? 'non_personalized' : 343 (autoTraceQueryValue(resourceName, 'rdp') === '1' ? 'restricted' : 'no_url_marker')); 344 return 'req_' + signal + '_' + mode; 345 } 346 347 function autoTraceResourceEntry(entry) { 348 var observedAt; 349 if (autoConsentTrace.requestRecorded || autoConsentTrace.boundaryOutcomeRecorded || 350 !autoTraceIsGoogleAdRequest(entry && entry.name)) return; 351 observedAt = typeof entry.startTime === 'number' ? entry.startTime : autoTraceNow(); 352 if (autoConsentTrace.applicationPushAt !== null && observedAt >= autoConsentTrace.applicationPushAt) return; 353 if (autoConsentTrace.consentReadyAt !== null && observedAt >= autoConsentTrace.consentReadyAt) return; 354 autoConsentTrace.requestRecorded = true; 355 autoTraceRecord('request', observedAt, autoTraceRequestClassification(entry.name)); 356 autoConsentTrace.requestBeforeRecorded = true; 357 autoConsentTrace.boundaryOutcomeRecorded = true; 358 if (autoConsentTrace.boundaryTimer !== null) window.clearTimeout(autoConsentTrace.boundaryTimer); 359 autoConsentTrace.boundaryTimer = null; 360 consentGatePublicState.autoRequestObserved = true; 361 } 362 363 function autoTraceDrainResourceEntries() { 364 var resources, i; 365 try { 366 if (!window.performance || !window.performance.getEntriesByType) return; 367 resources = window.performance.getEntriesByType('resource'); 368 for (i = 0; i < resources.length && !autoConsentTrace.requestRecorded; i++) { 369 autoTraceResourceEntry(resources[i]); 370 } 371 } catch (e) {} 372 } 373 374 function autoTraceStartResourceObserver() { 375 var observer; 376 if (!consentGate.diagnosticsActive || !consentGate.sampled || autoConsentTrace.resourceObserverStarted) return; 377 autoConsentTrace.resourceObserverStarted = true; 378 try { 379 autoTraceDrainResourceEntries(); 380 if (window.PerformanceObserver) { 381 observer = new PerformanceObserver(function (list) { 382 var entries = list.getEntries(), j; 383 for (j = 0; j < entries.length; j++) autoTraceResourceEntry(entries[j]); 384 }); 385 try { observer.observe({type: 'resource', buffered: true}); } 386 catch (bufferedError) { observer.observe({entryTypes: ['resource']}); } 387 } 388 } catch (e) {} 389 } 390 391 function autoTraceIsInjectedAdNode(node) { 392 if (!node || node.nodeType !== 1) return false;
393 try { 394 if (node.closest && node.closest('[data-fgl-adsense-manual="1"]')) return false; 395 if (node.matches && node.matches('.adsbygoogle, iframe[id^="google_ads_iframe_"]')) return true; 396 return String(node.id || '').toLowerCase().indexOf('google_vignette') === 0; 397 } catch (e) { return false; } 398 } 399 400 function autoTraceRecordAdStatus(status, observedAt) { 401 var afterConsent, eventType, placement; 402 if (autoConsentTrace.statusWindowClosed || (status !== 'filled' && status !== 'unfilled')) return; 403 afterConsent = autoConsentTrace.consentReadyAt !== null && observedAt >= autoConsentTrace.consentReadyAt; 404 if (!autoConsentTrace.statusOutcomeRecorded) { 405 autoConsentTrace.statusOutcomeRecorded = true; 406 recordConsentGateEvent( 407 'adsense_auto_status_observed_' + (afterConsent ? 'after' : 'before') + '_consent', 408 'auto_ads', 409 observedAt, 410 autoTraceDiagnosticAt(observedAt), 411 status === 'filled' ? 'auto_status_filled' : 'auto_status_unfilled' 412 ); 413 } 414 if (status === 'filled') { 415 if (autoConsentTrace.filledRecorded) return; 416 autoConsentTrace.filledRecorded = true; 417 consentGatePublicState.autoFilledObserved = true; 418 placement = 'auto_window_filled'; 419 } else if (status === 'unfilled') { 420 if (autoConsentTrace.unfilledRecorded) return; 421 autoConsentTrace.unfilledRecorded = true; 422 consentGatePublicState.autoUnfilledObserved = true; 423 placement = 'auto_window_unfilled'; 424 } 425 eventType = 'adsense_auto_' + status + '_' + (afterConsent ? 'after' : 'before') + '_consent'; 426 recordConsentGateEvent(eventType, 'auto_ads', observedAt, 427 autoTraceDiagnosticAt(observedAt), placement); 428 } 429 430 function autoTraceInspectAdStatusNode(node) { 431 var candidates, i, status; 432 if (!node || node.nodeType !== 1) return; 433 try { 434 if (node.closest && node.closest('[data-fgl-adsense-manual="1"]')) return; 435 if (node.matches && node.matches('.adsbygoogle[data-ad-status]')) { 436 status = String(node.getAttribute('data-ad-status') || '').toLowerCase(); 437 autoTraceRecordAdStatus(status, autoTraceNow()); 438 } 439 if (!node.querySelectorAll) return; 440 candidates = node.querySelectorAll('.adsbygoogle[data-ad-status]'); 441 for (i = 0; i < candidates.length; i++) { 442 if (candidates[i].closest && candidates[i].closest('[data-fgl-adsense-manual="1"]')) continue; 443 status = String(candidates[i].getAttribute('data-ad-status') || '').toLowerCase(); 444 autoTraceRecordAdStatus(status, autoTraceNow()); 445 } 446 } catch (e) {} 447 } 448 449 function autoTraceInspectDomNode(node) { 450 var candidates, i; 451 if (autoConsentTrace.domRecorded || autoConsentTrace.applicationPushAt !== null || !node || node.nodeType !== 1) return; 452 if (autoTraceIsInjectedAdNode(node)) { 453 autoConsentTrace.domRecorded = true; 454 autoTraceRecord('dom', autoTraceNow()); 455 consentGatePublicState.autoDomObserved = true; 456 return; 457 } 458 if (!node.querySelectorAll) return; 459 candidates = node.querySelectorAll('.adsbygoogle, iframe[id^="google_ads_iframe_"], [id^="google_vignette"]'); 460 for (i = 0; i < candidates.length && !autoConsentTrace.domRecorded; i++) { 461 if (autoTraceIsInjectedAdNode(candidates[i])) { 462 autoConsentTrace.domRecorded = true; 463 autoTraceRecord('dom', autoTraceNow()); 464 consentGatePublicState.autoDomObserved = true; 465 } 466 } 467 } 468 469 function autoTraceStartDomObserver() { 470 var observer, root = document.documentElement || document.body; 471 if (!consentGate.diagnosticsActive || !consentGate.sampled || autoConsentTrace.domObserverStarted || !root) return; 472 autoConsentTrace.domObserverStarted = true; 473 autoTraceInspectDomNode(root); 474 autoTraceInspectAdStatusNode(root); 475 if (!window.MutationObserver) return; 476 observer = new MutationObserver(function (records) { 477 var i, j; 478 for (i = 0; i < records.length; i++) { 479 if (records[i].type === 'attributes') autoTraceInspectAdStatusNode(records[i].target); 480 for (j = 0; j < records[i].addedNodes.length; j++) { 481 autoTraceInspectDomNode(records[i].addedNodes[j]); 482 autoTraceInspectAdStatusNode(records[i].addedNodes[j]); 483 } 484 } 485 }); 486 observer.observe(root, {childList: true, subtree: true, attributes: true, attributeFilter: ['data-ad-status']}); 487 autoConsentTrace.domObserver = observer; 488 } 489 490 function autoTraceDrainDomRecords() { 491 var records, i, j; 492 if (!autoConsentTrace.domObserver || !autoConsentTrace.domObserver.takeRecords) return; 493 try { 494 records = autoConsentTrace.domObserver.takeRecords(); 495 for (i = 0; i < records.length; i++) { 496 if (records[i].type === 'attributes') autoTraceInspectAdStatusNode(records[i].target); 497 for (j = 0; j < records[i].addedNodes.length; j++) { 498 autoTraceInspectDomNode(records[i].addedNodes[j]); 499 autoTraceInspectAdStatusNode(records[i].addedNodes[j]); 500 } 501 } 502 } catch (e) {} 503 } 504 505 function autoTraceStartTcfListener() { 506 var api = window.__tcfapi; 507 if (!consentGate.diagnosticsActive || !consentGate.sampled || autoConsentTrace.tcfListenerStarted || 508 typeof api !== 'function') return; 509 try { 510 api('addEventListener', 2, function (data, success) { 511 if (!success || !data) return; 512 autoConsentTrace.listenerId = data.listenerId || autoConsentTrace.listenerId; 513 autoConsentTrace.tcfSnapshots.push(autoTraceBoundedSnapshot(data)); 514 if (autoConsentTrace.tcfSnapshots.length > 8) autoConsentTrace.tcfSnapshots.shift(); 515 }); 516 autoConsentTrace.tcfListenerStarted = true; 517 } catch (e) {} 518 } 519 520 function autoTraceFinalizeBoundary(fallbackBoundaryAt) { 521 var boundaryAt, boundaryDiagnostic; 522 if (!consentGate.diagnosticsActive || !consentGate.sampled || autoConsentTrace.boundaryOutcomeRecorded) return; 523 boundaryAt = autoConsentTrace.consentReadyAt !== null 524 ? autoConsentTrace.consentReadyAt 525 : (typeof fallbackBoundaryAt === 'number' ? fallbackBoundaryAt : null); 526 if (boundaryAt === null) return; 527 autoTraceDrainResourceEntries(); 528 if (autoConsentTrace.requestBeforeRecorded || autoConsentTrace.boundaryOutcomeRecorded) return; 529 autoConsentTrace.boundaryOutcomeRecorded = true; 530 autoConsentTrace.boundaryTimer = null; 531 boundaryDiagnostic = autoConsentTrace.consentReadyAt !== null 532 ? autoConsentTrace.consentReadyDiagnostic 533 : autoTraceDiagnosticAt(boundaryAt, 'missing'); 534 recordConsentGateEvent( 535 'adsense_auto_no_request_before_consent', 536 'auto_ads', 537 boundaryAt, 538 boundaryDiagnostic || autoTraceDiagnosticAt(boundaryAt, 'missing'), 539 'auto_request' 540 ); 541 } 542 543 function autoTraceFinalizeStatusWindow(fallbackBoundaryAt) { 544 var boundaryAt, boundaryDiagnostic; 545 if (!consentGate.diagnosticsActive || !consentGate.sampled || autoConsentTrace.statusWindowClosed) return; 546 autoConsentTrace.statusWindowClosed = true; 547 if (autoConsentTrace.statusWindowTimer !== null) window.clearTimeout(autoConsentTrace.statusWindowTimer); 548 autoConsentTrace.statusWindowTimer = null; 549 if (autoConsentTrace.statusOutcomeRecorded) return; 550 autoConsentTrace.statusOutcomeRecorded = true; 551 boundaryAt = autoConsentTrace.consentReadyAt !== null 552 ? autoTraceNow() 553 : (typeof fallbackBoundaryAt === 'number' ? fallbackBoundaryAt : autoTraceNow()); 554 boundaryDiagnostic = autoTraceDiagnosticAt(boundaryAt, 'missing'); 555 recordConsentGateEvent( 556 'adsense_auto_no_status_observed', 557 'auto_ads', 558 boundaryAt, 559 boundaryDiagnostic, 560 'auto_status_none' 561 ); 562 } 563 564 function autoTraceMarkApplicationPush() { 565 if (autoConsentTrace.applicationPushAt !== null) return; 566 autoTraceDrainResourceEntries(); 567 autoTraceDrainDomRecords(); 568 autoConsentTrace.applicationPushAt = autoTraceNow(); 569 } 570 571 function autoTraceManualSlot(elem) { 572 var slot = elem && elem.getAttribute ? String(elem.getAttribute('data-ad-slot') || '') : ''; 573 return /^\d{1,20}$/.test(slot) ? 'slot_' + slot : ''; 574 } 575 576 function autoTraceRecordPrePush(surface, placement) { 577 var observedAt, snapshot; 578 if (!consentGate.diagnosticsActive || !consentGate.sampled || 579 autoConsentTrace.prePushRecorded[surface]) return; 580 autoConsentTrace.prePushRecorded[surface] = true; 581 observedAt = autoTraceNow(); 582 snapshot = autoTraceSnapshotAt(observedAt); 583 recordConsentGateEvent( 584 'adsense_tcf_probe', 585 surface, 586 snapshot ? Math.max(0, observedAt - snapshot.observedAt) : 0, 587 autoTraceDiagnosticAt(observedAt, 'missing'), 588 placement || '' 589 ); 590 } 591 592 autoTraceStartResourceObserver(); 593 autoTraceStartDomObserver(); 594 if (!autoConsentTrace.domObserverStarted && document.readyState === 'loading') { 595 document.addEventListener('DOMContentLoaded', autoTraceStartDomObserver); 596 } 597 598 function queueConsentGatePush(surface, action) { 599 if (!consentGate.active || consentGate.ready) return false;
600 consentGate.queue.push({surface: surface, action: action}); 601 if (!consentGate.surfaceQueued[surface]) { 602 consentGate.surfaceQueued[surface] = true; 603 consentGatePublicState.queuedSurfaces++; 604 recordConsentGateEvent('adsense_consent_push_queued', surface, Date.now() - consentGate.startedAt); 605 } 606 return true; 607 } 608 609 function releaseConsentGatePushes() { 610 var queued, item, i, elapsed; 611 if (!consentGate.diagnosticsActive || consentGate.ready) return; 612 autoTraceDrainDomRecords(); 613 if (autoConsentTrace.consentReadyAt === null) autoConsentTrace.consentReadyAt = autoTraceNow(); 614 autoConsentTrace.consentReadyDiagnostic = autoTraceDiagnosticAt(autoConsentTrace.consentReadyAt, 'missing'); 615 autoConsentTrace.boundaryTimer = window.setTimeout(autoTraceFinalizeBoundary, 10000); 616 autoConsentTrace.statusWindowTimer = window.setTimeout(autoTraceFinalizeStatusWindow, 10000); 617 consentGate.ready = true; 618 consentGatePublicState.ready = true; 619 elapsed = Date.now() - consentGate.startedAt; 620 if (consentGate.requestPauseArmed && !consentGate.requestPauseReleased) { 621 recordRequestPauseOutcome('released', elapsed, autoConsentTrace.consentReadyDiagnostic); 622 window.adsbygoogle = window.adsbygoogle || []; 623 window.adsbygoogle.pauseAdRequests = 0; 624 consentGate.requestPauseReleased = true; 625 consentGatePublicState.requestPauseReleased = true; 626 } 627 queued = consentGate.queue.slice(0); 628 consentGate.queue = []; 629 for (i = 0; i < queued.length; i++) { 630 item = queued[i]; 631 if (!consentGate.surfaceReleased[item.surface]) { 632 consentGate.surfaceReleased[item.surface] = true; 633 consentGatePublicState.releasedSurfaces++; 634 recordConsentGateEvent('adsense_consent_push_released', item.surface, elapsed); 635 } 636 try { item.action(); } catch (e) {} 637 } 638 } 639 640 if (consentGate.diagnosticsActive) { 641 window.googlefc = window.googlefc || {}; 642 window.googlefc.callbackQueue = window.googlefc.callbackQueue || []; 643 window.googlefc.callbackQueue.push({'CONSENT_API_READY': autoTraceStartTcfListener}); 644 window.googlefc.callbackQueue.push({'CONSENT_DATA_READY': releaseConsentGatePushes}); 645 autoTraceStartTcfListener(); 646 if (consentGate.requestPauseArmed) { 647 window.setTimeout(function () { 648 if (consentGate.requestPauseReleased || consentGate.requestPauseTimedOut) return; 649 consentGate.requestPauseTimedOut = true; 650 consentGatePublicState.requestPauseTimedOut = true; 651 recordConsentGateEvent( 652 'adsense_request_pause_timeout', 653 'unknown', 654 Date.now() - consentGate.startedAt, 655 autoTraceDiagnosticAt(autoTraceNow(), 'missing'), 656 'request_pause_v3_timeout_checkpoint' 657 ); 658 }, 10000); 659 } 660 window.addEventListener('pagehide', function (event) { 661 var seen = {}, i, surface; 662 if (event && event.persisted) return; 663 if (consentGate.requestPauseArmed && !consentGate.requestPauseReleased) { 664 recordRequestPauseOutcome( 665 'abandoned', 666 Date.now() - consentGate.startedAt, 667 autoTraceDiagnosticAt(autoTraceNow(), 'missing') 668 ); 669 } 670 autoTraceFinalizeBoundary(autoTraceNow()); 671 autoTraceFinalizeStatusWindow(autoTraceNow()); 672 if (!consentGate.active || consentGate.ready || !consentGate.queue.length) return; 673 for (i = 0; i < consentGate.queue.length; i++) { 674 surface = consentGate.queue[i].surface; 675 if (!seen[surface]) { 676 seen[surface] = true; 677 consentGatePublicState.abandonedSurfaces++; 678 recordConsentGateEvent('adsense_consent_push_abandoned', surface, Date.now() - consentGate.startedAt); 679 } 680 } 681 }); 682 } 683 684 function getBrowserTimeZone() { 685 try { 686 return String(Intl.DateTimeFormat().resolvedOptions().timeZone || ''); 687 } catch (e) { 688 return ''; 689 } 690 } 691 692 function clientMatchesSuspiciousAdsenseProfile() { 693 var scr = window.screen || {}; 694 if (scr.width === 1280 && scr.height === 1200) { 695 var browserTimeZone = getBrowserTimeZone(); 696 return browserTimeZone.indexOf('Asia/') === 0; 697 } 698 699 return false;
700 } 701 702 function sendTarpitGaEvent(name) { 703 try { 704 if (window.fglGtagConfigured && typeof window.gtag === 'function') { 705 window.gtag('event', name, { 706 'event_category': 'scraper_tarpit', 707 'event_label': '1280x1200_asia_timezone', 708 'non_interaction': true 709 }); 710 return; 711 } 712 713 window.fglPendingTarpitGaEvents = window.fglPendingTarpitGaEvents || []; 714 window.fglPendingTarpitGaEvents.push({ 715 name: name, 716 params: { 717 'event_category': 'scraper_tarpit', 718 'event_label': '1280x1200_asia_timezone', 719 'non_interaction': true 720 } 721 }); 722 } catch (e) { 723 } 724 } 725 726 window.fglFlushTarpitGaEvents = function () { 727 if (typeof window.gtag !== 'function') { 728 return; 729 } 730 731 var events = window.fglPendingTarpitGaEvents || []; 732 window.fglPendingTarpitGaEvents = []; 733 for (var i = 0; i < events.length; i++) { 734 window.gtag('event', events[i].name, events[i].params); 735 } 736 }; 737 738 function runClientTarpit(durationMs) { 739 var endAt = Date.now() + durationMs; 740 var sink = 0; 741 while (Date.now() < endAt) { 742 sink += Math.sqrt((Date.now() % 997) + Math.random()); 743 } 744 window.fglTarpitSink = sink; 745 } 746 747 function runSuspiciousClientTarpit() { 748 var waitStartedAt = Date.now(); 749 750 sendTarpitGaEvent('fgl_tarpit_start_20260610_a'); 751 752 function runAfterGaStartFlush() { 753 if (!window.fglGtagConfigured && Date.now() - waitStartedAt < 3000) { 754 window.setTimeout(runAfterGaStartFlush, 50); 755 return; 756 } 757 758 if (window.fglFlushTarpitGaEvents) { 759 window.fglFlushTarpitGaEvents(); 760 } 761 762 window.setTimeout(function () { 763 runClientTarpit(25000); 764 sendTarpitGaEvent('fgl_tarpit_end_25s_20260610_a'); 765 if (window.fglFlushTarpitGaEvents) { 766 window.fglFlushTarpitGaEvents(); 767 } 768 769 window.setTimeout(function () { 770 runClientTarpit(30000); 771 sendTarpitGaEvent('fgl_tarpit_end_55s_20260610_a'); 772 if (window.fglFlushTarpitGaEvents) { 773 window.fglFlushTarpitGaEvents(); 774 } 775 }, 0); 776 }, 3000); 777 } 778 779 window.setTimeout(runAfterGaStartFlush, 0); 780 } 781 782 if (clientMatchesSuspiciousAdsenseProfile()) { 783 runSuspiciousClientTarpit(); 784 } 785 786 window.fglShouldBlockAdsenseClient = function () { 787 return clientMatchesSuspiciousAdsenseProfile(); 788 }; 789 790 window.fglCanLoadAdsenseClient = function () { 791 return !window.fglShouldBlockAdsenseClient(); 792 }; 793 794 function pushAdsenseElementNow(elem) { 795 if (!window.fglCanLoadAdsenseClient() || !elem) { 796 return false; 797 } 798 799 if (elem.getAttribute('data-adsbygoogle-status') || elem.getAttribute('data-fgl-adsbygoogle-pushed')) { 800 return false; 801 } 802 803 autoTraceRecordPrePush('manual_placement', autoTraceManualSlot(elem)); 804 autoTraceMarkApplicationPush(); 805 elem.setAttribute('data-fgl-adsbygoogle-pushed', '1'); 806 try { 807 (window.adsbygoogle = window.adsbygoogle || []).push({}); 808 } catch (e) { 809 if (String(e && e.message || '').indexOf('already have ads') !== -1) { 810 return false; 811 } 812 elem.removeAttribute('data-fgl-adsbygoogle-pushed'); 813 throw e; 814 } 815 return true; 816 } 817 818 window.fglPushAdsenseElement = function (elem) { 819 if (!window.fglCanLoadAdsenseClient() || !elem) return false; 820 if (elem.getAttribute('data-adsbygoogle-status') || elem.getAttribute('data-fgl-adsbygoogle-pushed') || 821 elem.getAttribute('data-fgl-adsbygoogle-consent-queued')) return false;
822 elem.setAttribute('data-fgl-adsense-manual', '1'); 823 if (queueConsentGatePush('manual_placement', function () { 824 elem.removeAttribute('data-fgl-adsbygoogle-consent-queued'); 825 if (document.documentElement.contains(elem)) pushAdsenseElementNow(elem); 826 })) { 827 elem.setAttribute('data-fgl-adsbygoogle-consent-queued', '1'); 828 return true; 829 } 830 return pushAdsenseElementNow(elem); 831 }; 832 833 function pushAdsenseOptionsNow(opts) { 834 if (!window.fglCanLoadAdsenseClient() || window.fglAdsenseOptionsPushed) { 835 return false; 836 } 837 838 if (document.querySelector('.adsbygoogle')) { 839 return false; 840 } 841 842 autoTraceRecordPrePush('auto_ads'); 843 autoTraceMarkApplicationPush(); 844 window.fglAdsenseOptionsPushed = true; 845 try { 846 (window.adsbygoogle = window.adsbygoogle || []).push(opts); 847 } catch (e) { 848 if (String(e && e.message || '').indexOf('already have ads') !== -1) { 849 return false; 850 } 851 window.fglAdsenseOptionsPushed = false; 852 throw e; 853 } 854 return true; 855 } 856 857 window.fglPushAdsenseOptions = function (opts) { 858 if (!window.fglCanLoadAdsenseClient() || window.fglAdsenseOptionsPushed || window.fglAdsenseOptionsConsentQueued) return false; 859 if (document.querySelector('.adsbygoogle')) return false; 860 if (queueConsentGatePush('auto_ads', function () { 861 window.fglAdsenseOptionsConsentQueued = false; 862 pushAdsenseOptionsNow(opts); 863 })) { 864 window.fglAdsenseOptionsConsentQueued = true; 865 return true; 866 } 867 return pushAdsenseOptionsNow(opts); 868 }; 869 870 window.fglLoadAdsenseScript = function (src, anon, callback) { 871 if (!window.fglCanLoadAdsenseClient()) { 872 return false; 873 } 874 875 var scriptKey = src.indexOf('/adsbygoogle.js') !== -1 ? 'adsbygoogle' : src; 876 window.fglLoadedAdScripts = window.fglLoadedAdScripts || {}; 877 if (window.fglLoadedAdScripts[scriptKey]) { 878 return false; 879 } 880 window.fglLoadedAdScripts[scriptKey] = true; 881 882 var script = document.createElement('script'); 883 script.type = 'text/javascript'; 884 script.async = true; 885 if (src.indexOf('/adsbygoogle.js') === -1) { 886 script.setAttribute('data-cfasync', 'false'); 887 } else { 888 script.setAttribute('fetchpriority', 'high'); 889 } 890 script.src = src; 891 if (anon) { 892 script.crossOrigin = 'anonymous'; 893 } 894 if (callback) { 895 script.onload = callback; 896 } 897 document.head.appendChild(script); 898 return true; 899 }; 900 901}()); 902</script>
902 903 904 905 906
906<script data-cfasync="false"> 907 908 var _errsLogged=0; 909 function _logErr(err) { 910 if (_errsLogged>=5) { 911 return; 912 } 913 _errsLogged++; 914 var client = new XMLHttpRequest(); 915 client.open('POST', '/err'); 916 client.setRequestHeader('Content-Type', 'text/plain;charset=UTF-8'); 917 client.send(err); 918 } 919 920 function loadScript(jsFile, anon, callback) { 921 const script = document.createElement('script'); 922 script.type = 'text/javascript'; 923 script.async = true; 924 script.onerror = function() { 925 console.log("Error loading " + this.src); 926 if ((this.src.search("addthis") === -1) && (this.src.search("cse.google") === -1) && !navigator.userAgent.includes("Googlebot") && !navigator.userAgent.includes("bingbot")) { 927 _logErr(['loadScript error ' + jsFile, 928 'Loc: ' + window.location.href, 929 'Country: ' + userCountryCode, 930 'UA: ' + navigator.userAgent, 931 this.src].join('\n')); 932 } 933 }; 934 script.src = jsFile; 935 if (anon) { 936 script.crossOrigin = 'anonymous'; 937 } 938 if (callback) { 939 script.onload=callback; 940 } 941 942 document.head.appendChild(script); 943 } 944 </script>
944 945 946
946<script data-cfasync="false"> 947 window.dataLayer = window.dataLayer || []; 948 function gtag(){ dataLayer.push(arguments); } 949 950 gtag('consent','default',{ 951 ad_storage:'denied', 952 analytics_storage:'denied', 953 ad_user_data:'denied', 954 ad_personalization:'denied' 955 },{ 956 region:[ 957 'AT','BE','BG','HR','CY','CZ','DK','EE','FI','FR','DE','GR','HU','IE','IT', 958 'LV','LT','LU','MT','NL','PL','PT','RO','SK','SI','ES','SE','IS','LI','NO', 959 'GB','CH' 960 ] 961 }); 962 963 gtag('consent','default',{ 964 ad_storage:'granted', 965 analytics_storage:'granted', 966 ad_user_data:'granted', 967 ad_personalization:'granted' 968 }); 969 </script>
969 970 971
971<script data-cfasync="false"> 972 window.fglLoadAdsenseScript("https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4665502378458953", true); 973 </script>
973 974 975 976 977 <link rel="stylesheet" type="text/css" href="/css/font-awesome.4.7.0.min.css" /> 978<link rel="stylesheet" type="text/css" href="/assets/css.css" /> 979<link rel="stylesheet" href="/css/directory-shared.css?v=13">
980<script data-cfasync="false" src="/js/jquery.3.7.1.min.js"></script>
vendor: 1 bytes, line 980
980
981<script data-cfasync="false" src="/assets/js.js?v=2"></script>
981 982 983 984
984<script data-cfasync="false">var FbInited = false;</script>
984 985 986
986<script data-cfasync="false"> 987 988 </script>
988 989
989<script data-cfasync="false"> 990(function () { 991 try { 992 var nav = window.navigator || {}; 993 var scr = window.screen || {}; 994 var lang = String(nav.language || ''); 995 var langs = nav.languages || []; 996 var firstLang = langs && langs.length ? String(langs[0] || '') : lang; 997 var ref = String(document.referrer || ''); 998 999 if (scr.width !== 1280 || scr.height !== 1200) { 1000 return; 1001 } 1002 1003 var payload = { 1004 sw: scr.width || 0, 1005 sh: scr.height || 0, 1006 aw: scr.availWidth || 0, 1007 ah: scr.availHeight || 0, 1008 iw: window.innerWidth || 0, 1009 ih: window.innerHeight || 0, 1010 dpr: window.devicePixelRatio || 0, 1011 lang: lang, 1012 langs: Array.prototype.slice.call(langs || []).slice(0, 8), 1013 ref: ref, 1014 uri: window.location.pathname + window.location.search 1015 }; 1016 var body = JSON.stringify(payload); 1017 var endpoint = '/asvl'; 1018 1019 if (nav.sendBeacon) { 1020 nav.sendBeacon(endpoint, new Blob([body], {type: 'application/json'})); 1021 return; 1022 } 1023 1024 if (window.fetch) { 1025 window.fetch(endpoint, { 1026 method: 'POST', 1027 body: body, 1028 headers: {'Content-Type': 'application/json'}, 1029 keepalive: true, 1030 credentials: 'same-origin' 1031 }); 1032 } 1033 } catch (e) { 1034 } 1035}()); 1036</script>
1036 1037 1038 1039 1040 1041 1042
1042<script data-cfasync="false"> 1043 var configuredWebsiteHost = 'www.govserv.org'; 1044 var configuredAccountHost = 'account.' + configuredWebsiteHost.replace(/^www\./, ''); 1045 if ((window.location.hostname !== configuredWebsiteHost) && (window.location.hostname !== configuredAccountHost) && (window.location.hostname.indexOf('localhost') === -1)) { 1046 window.top.location.href = 'http://www.govserv.org' + window.location.pathname; 1047 } 1048 </script>
1048 1049 1050 1051 <link rel="stylesheet" href="/css/listing-picture-initials.css?v=1" /> 1052
1052<script data-cfasync="false" defer src="/js/facebook-picture-placeholder.js?v=6"></script>
1052 1053 </head> 1054 1055 <body class="page-genre"> 1056 <main > 1057 1058 1059 1060<!-- Header --> 1061 <header id="js-header" class="u-header u-header--sticky-top u-header--toggle-section u-header--change-appearance" data-header-fix-moment="300"> 1062 <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"> 1063 1064 <nav class="navbar navbar-expand-lg"> 1065 <div class="container"> 1066 <!-- Responsive Toggle Button --> 1067 <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" 1068 aria-label="Toggle navigation" aria-expanded="false" aria-controls="navBar" data-toggle="collapse" data-target="#navBar"> 1069 <span class="hamburger hamburger--slider"> 1070 <span class="hamburger-box"> 1071 <span class="hamburger-inner"> 1072 </span> 1073 </span> 1074 </span> 1075 </button> 1076 <!-- End Responsive Toggle Button --> 1077 1078 <!-- Logo --> 1079 <a href="https://www.govserv.org/" class="navbar-brand"> 1080 <img src="/img/govserv/h30/logo.png" height="30" alt="GovServ"> 1081 </a> 1082 <!-- End Logo --> 1083 1084 <!-- Navigation --> 1085 <div class="collapse navbar-collapse align-items-center flex-sm-row g-pt-10 g-pt-5--lg" id="navBar"> 1086 <ul class="navbar-nav text-uppercase g-font-weight-600 ml-auto"> 1087 1088 1089 <li class="nav-item g-mx-20--lg "> 1090 <a href="https://www.govserv.org/" class="nav-link px-0" data-google-interstitial="false"> 1091 Home </a> 1092 </li> 1093 <li class="nav-item g-mx-20--lg "> 1094 <a href="https://www.govserv.org/US" class="nav-link px-0"><i class='fa fa-map-marker'></i> Cities</a> 1095 </li> 1096 <li class="nav-item g-mx-20--lg "> 1097 <a href="https://www.govserv.org/countries" class="nav-link px-0"><i class='fa fa-globe'></i> Countries<span class='sr-only'>(current)</span></a> 1098 </li> 1099 1100 <li class="nav-item g-mx-20--lg"> 1101 <a href="/login" class="nav-link px-0" data-google-interstitial="false">Login<span class='sr-only'>(current)</span></a> </li> 1102 1103 </ul> 1104 </div> 1105 <!-- End Navigation --> 1106 </div> 1107 </nav> 1108 </div> 1109 </header> 1110 <!-- End Header --> 1111
1112<script type="application/ld+json"> 1113{ 1114 "@context": "http://schema.org", 1115 "@type": "BreadcrumbList", 1116 "itemListElement": [{ 1117 "@type": "ListItem", 1118 "position": 1, 1119 "item": { 1120 "@id": "https:\/\/www.govserv.org\/US", 1121 "name": "United States" } 1122 },{ 1123 "@type": "ListItem", 1124 "position": 2, 1125 "item": { 1126 "@id": "https:\/\/www.govserv.org\/US\/Chicago-IL\/211818", 1127 "name": "Chicago, IL" } 1128 },{ 1129 "@type": "ListItem", 1130 "position": 3, 1131 "item": { 1132 "@id": "https:\/\/www.govserv.org\/US\/Chicago-IL\/211818\/genre\/175838732461622\/Post+offices", 1133 "name": "Government Services" } 1134 }] 1135} 1136</script>
1136 1137 1138 1139<div class="g-pt-85"> 1140 1141 <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" style="background-image: url(/img/directory/1920x800/cities/211818-chicago.jpg);"> 1142 <div class="container g-bg-cover__inner"> 1143 <header class="g-mb-20"> 1144 <h1 class="h1 g-font-weight-300 text-uppercase">Post offices in Chicago, IL</h1> 1145 </header> 1146 1147 <ul class="u-list-inline"> 1148 <li class="list-inline-item g-mr-7"> 1149 <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> 1150 </li> 1151 <li class="list-inline-item g-mr-7"> 1152 <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> 1153 </li> 1154 <li class="list-inline-item g-mr-7"> 1155 <a href="/US/Chicago-IL/211818" class="u-link-v5 g-color-white g-color-primary--hover">Chicago</a> <i class="fa fa-angle-right g-ml-7"></i> 1156 </li> 1157 <li class="list-inline-item g-color-primary"> 1158 <span>Post offices in Chicago, IL</span> 1159 </li> 1160 </ul> 1161 </div> 1162 </section> 1163 1164</div> 1165 1166 1167 1168<!-- Blog Minimal Blocks --> 1169<div class="container g-pt-10 g-pb-20"> 1170 <div class="row justify-content-between"> 1171 <div class="col-lg-9 order-lg-2 order-xs-2 g-mb-80"> 1172 <div class="g-pr-20--lg"> 1173 1174 <div class="row g-mb-12"> 1175 <div class="col-md-12"> 1176 <p class="lead">Find Post offices in Chicago, IL. Listings include My Mail Center, The UPS Store 5608, Snail Mail Is My Therapy, Fata new yesetey and Jewelry by Kim handmade glass. Click on each in the list below the map for more information.</p> 1177 </div> 1178 </div> 1179 1180 <div class="row g-mb-20"> 1181 <div class="col-md-12"> 1182 <ins class="adsbygoogle" data-fgl-adsense-manual="1" 1183 style="display:block; min-height:280px" 1184 data-ad-channel="8320389820" 1185 data-ad-slot="9736270279" 1186 data-ad-format="auto" 1187 data-full-width-responsive="true"></ins> 1188 </div> 1189 </div> 1190 1191 <div class="row g-mb-20"> 1192 <div class="col-md-12"> 1193 1194<div id="map" style="height: 400px; width: 100%;"></div> 1195 1196
1197<script data-cfasync="false"> 1198 1199function trunc20(str) { 1200 if (str.length > 20) { 1201 return str.substring(0,20) + "..."; 1202 } else { 1203 return str; 1204 } 1205} 1206 1207 1208 1209var map; 1210 1211document.addEventListener("DOMContentLoaded", function(){ 1212 1213 setTimeout(function (){ 1214 loadCss("https://unpkg.com/[email protected]/dist/leaflet.css", false); 1215 loadScript("https://unpkg.com/[email protected]/dist/leaflet.js", false, function () { 1216 1217 map = L.map('map').setView([41.8854, -87.6803], 11); 1218 var markersLayer = new L.LayerGroup(); 1219 markersLayer.addTo(map); 1220 var osmAttrib='© <a href="https://maptiler.com">MapTiler</a> © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors'; 1221 var locations = [ 1222 {id:100420081573394,lat:41.8773,lng:-87.6248,title:'My Mail Center',popupHtml:'<center><a href="/US/Chicago/100420081573394/My-Mail-Center"><img height="100" width="100" src="https://graph.facebook.com/100420081573394/picture?type=square"/><h5>My Mail Center</h5></a></center>',urlPath:'US/Chicago/100420081573394/My-Mail-Center',pictureUrl:'https://graph.facebook.com/100420081573394/picture?type=square',label:'A'}, 1223 {id:133417020032580,lat:41.8692,lng:-87.6557,title:'The UPS Store 5608',popupHtml:'<center><a href="/US/Chicago/133417020032580/The-UPS-Store-5608"><img height="100" width="100" src="https://graph.facebook.com/133417020032580/picture?type=square"/><h5>The UPS Store 5608</h5></a></center>',urlPath:'US/Chicago/133417020032580/The-UPS-Store-5608',pictureUrl:'https://graph.facebook.com/133417020032580/picture?type=square',label:'B'}, 1224 {id:105163008033859,lat:41.9096,lng:-87.7604,title:'Fata new yesetey',popupHtml:'<center><a href="/US/Chicago/105163008033859/Fata-new-yesetey"><img height="100" width="100" src="https://graph.facebook.com/105163008033859/picture?type=square"/><h5>Fata new yesetey</h5></a></center>',urlPath:'US/Chicago/105163008033859/Fata-new-yesetey',pictureUrl:'https://graph.facebook.com/105163008033859/picture?type=square',label:'C'}, 1225 ]; 1226 var locationIds = [100420081573394,133417020032580,105163008033859,]; 1227 var gettingMore = false; 1228 1229 map.on('moveend', function(e) { 1230 //getMore(); 1231 }); 1232 1233 map.on('zoomend', function(e) { 1234 //getMore(); 1235 }); 1236 1237 map._addMarker = function(loc) { 1238 var marker = L.marker([loc.lat,loc.lng], { 1239 title: loc.title, 1240 riseOnHover: true, 1241 icon: loc.label ? new L.DivIcon({ 1242 className: 'directory-map-marker', 1243 html: '<span aria-hidden="true">' + loc.label + '</span>', 1244 iconSize: [34, 34], 1245 iconAnchor: [17, 34], 1246 popupAnchor: [0, -34] 1247 }) : new L.Icon.Default() 1248 }) 1249 .bindTooltip('<a href="/' + loc.urlPath + '">' + loc.title + '</a>', { 1250 permanent: false, 1251 direction: 'top', 1252 offset: L.point(0, -30), 1253 opacity: 0.88, 1254 interactive: true 1255 }) 1256 .bindPopup(loc.popupHtml); 1257 markersLayer.addLayer(marker); 1258 } 1259 1260 var mapPopulated = false; 1261 function populateMap() { 1262 if (mapPopulated) { 1263 return; 1264 } 1265 mapPopulated = true; 1266 locations.forEach(function(loc) { 1267 map._addMarker(loc); 1268 }); 1269 L.tileLayer('https://map.govserv.org/api/maps/bright/{z}/{x}/{y}.png', { 1270 attribution: osmAttrib, 1271 tileSize: 512, 1272 zoomOffset: -1 1273 }).addTo(map); 1274 } 1275 1276 if ("IntersectionObserver" in window) { 1277 let lazyMapObserver = new IntersectionObserver(function(entries, observer) {
1278 entries.forEach(function(entry) { 1279 if (entry.isIntersecting) { 1280 lazyMapObserver.unobserve(entry.target); 1281 populateMap(); 1282 } 1283 }); 1284 }); 1285 lazyMapObserver.observe(document.querySelector("#map")); 1286 } else { 1287 populateMap(); 1288 } 1289 1290 map._addMarker2 = function(label, name, latitude, longitude) { 1291 1292 1293 var marker = L.marker([latitude,longitude], { 1294 //title: loc.title, 1295 icon: label ? new L.DivIcon({ 1296 className: 'directory-map-marker', 1297 html: '<span aria-hidden="true">' + label + '</span>', 1298 iconSize: [34, 34], 1299 iconAnchor: [17, 34], 1300 popupAnchor: [0, -34] 1301 }) : new L.Icon.Default() 1302 1303 //className: 'my-div-icon', 1304 //iconUrl: "https://graph.facebook.com/" + loc.id + "/picture?type=square", 1305 //iconSize: [32, 32], 1306 //html: '<span class="my-div-span"><img height="24" width="24" border="2" src="https://graph.facebook.com/' + loc.id + '/picture?type=square" /></span>' 1307 1308 }) 1309 1310 .bindTooltip(name, { 1311 //permanent: true, 1312 direction: 'bottom', 1313 //offset: L.point(12, 25), 1314 //opacity: 0.88, 1315 interactive: true 1316 }) 1317 .bindPopup(name); 1318 markersLayer.addLayer(marker); 1319 1320 } 1321 1322 function getMore() { 1323 if (gettingMore) { 1324 return; 1325 } 1326 gettingMore = true; 1327 var center = map.getCenter(); 1328 1329 $.ajax({ 1330 url: "/vicinitysearch", 1331 data: { lat: center.lat, lng: center.lng, country: "UNITED STATES" , genre_id:175838732461622 } 1332 }) 1333 .done(function(data) { 1334 var added = 0; 1335 data.forEach(function(loc) { 1336 if (!locationIds.includes(loc.id)) { 1337 var mapLoc = {id:loc.id,lat:loc.latitude,lng:loc.longitude,title:trunc20(loc.name),popupHtml:loc.popupHtml,urlPath:loc.urlPath,pictureUrl:loc.pictureUrl}; 1338 locations.push(mapLoc); 1339 locationIds.push(loc.id); 1340 map._addMarker(mapLoc); 1341 added++; 1342 } 1343 }); 1344 }) 1345 .always(function() { 1346 gettingMore = false; 1347 }); 1348 } 1349 1350 map._clearMarkers = function() { 1351 markersLayer.clearLayers(); 1352 } 1353 1354 }); 1355 1356 }, 1); 1357 1358 1359}); 1360 1361 </script>
1361 1362 1363 1364 </div> 1365 </div> 1366 1367 <div class="row g-mb-12"> 1368 1369 1370<div class="col-md-6 g-mb-30"> 1371 <article class="directory-promotion d-flex justify-content-between align-items-center u-shadow-v19 g-bg-primary rounded g-pa-20"> 1372 <img class="directory-promotion-image g-max-width-120 g-mr-20" alt="" src="/img/feature.jpg" /> 1373 1374 <div class="directory-result-content"> 1375 <header> 1376 <h3 class="g-color-black g-font-weight-700 g-font-size-13 text-uppercase"> 1377 Want your organization to be the top-listed Post office in Chicago, IL? </h3> 1378 <p class="directory-promotion-action mb-0"> 1379 <a rel="nofollow" href="/US/Chicago-IL/211818/genre/175838732461622/Post+offices/feature/start?exp=1790290279" class="directory-promotion-link g-color-black" data-google-interstitial="false">Click here to claim your Sponsored Listing.</a> </p> 1380 </header> 1381 </div> 1382 </article> 1383</div> 1384 1385 1386 <div class="col-md-6 g-mb-30"> 1387 <article class="d-flex justify-content-between align-items-center u-shadow-v19 g-bg-primary rounded g-pa-20"> 1388 <a href="/US/Chicago/49690408710/Chicago-Park-District" class="d-block g-max-width-100 g-mr-20"><img data-listing-initials width="100" class="g-rounded-50x" alt="Chicago Park District" src="https://graph.facebook.com/49690408710/picture?type=large" onerror="this.onerror=null;this.src='/img/govserv/logo.png'" /></a> 1389 <div class="directory-result-content g-mr-20"> 1390 <header> 1391 <h3 class="g-color-black g-font-weight-700 g-font-size-13 text-uppercase"> 1392 <a href="/US/Chicago/49690408710/Chicago-Park-District" class="u-link-v5 g-color-black g-color-white--hover">Chicago Park District</a> </h3> 1393 <h4 class="g-font-size-12 text-uppercase g-mb-15"> 1394 4830 S. Western Avenue </h4> 1395 </header> 1396 </div> 1397 </article> 1398</div> 1399 1400 1401 1402 <div class="col-md-6 g-mb-30"> 1403 <!-- Article --> 1404 <article class="d-flex align-items-start u-shadow-v19 g-bg-white rounded g-pa-20"> 1405 <!-- Article Image --> 1406 <a href="/US/Chicago/100420081573394/My-Mail-Center" class="d-block g-max-width-100 g-mr-20"><img data-listing-initials class="w-100 g-rounded-50x" alt="My Mail Center" src="https://graph.facebook.com/100420081573394/picture?type=large" onerror="this.onerror=null;this.src='/img/govserv/logo.png'" /></a> <!-- End Article Image --> 1407 1408 <div class="directory-result-content g-mr-20"> 1409 <!-- Article Header --> 1410 <header> 1411 <h3 class="g-color-black g-font-weight-700 g-font-size-13 text-uppercase"> 1412 <a href="/US/Chicago/100420081573394/My-Mail-Center" class="u-link-v5 g-color-black g-color-primary--hover">My Mail Center</a> </h3> 1413 <h4 class="g-font-size-12 text-uppercase g-mb-15"> 1414 <i class="align-middle g-font-size-18 g-mr-7 icon-hotel-restaurant-235"></i> 1415 332 S. Michigan Avenue STE 121, Chicago 60 </h4> 1416 </header> 1417 <!-- End Article Header --> 1418 1419 <!-- Article Content --> 1420<!-- <p>Serving entrepreneurs, business firms (large ...</p>--> 1421 </div> 1422 <div class="directory-result-marker d-block"> 1423 <strong class="d-block ml-auto g-color-white g-bg-primary g-font-weight-700 g-font-size-13 rounded g-py-4 g-px-12" aria-label="Map marker A" title="Map marker A">A</strong> 1424 </div> 1425 <!-- End Article Content --> 1426 </article> 1427 <!-- End Article --> 1428</div> 1429 1430 1431 <div class="col-md-6 g-mb-30"> 1432 <!-- Article --> 1433 <article class="d-flex align-items-start u-shadow-v19 g-bg-white rounded g-pa-20"> 1434 <!-- Article Image --> 1435 <a href="/US/Chicago/133417020032580/The-UPS-Store-5608" class="d-block g-max-width-100 g-mr-20"><img data-listing-initials class="w-100 g-rounded-50x" alt="The UPS Store 5608" src="https://graph.facebook.com/133417020032580/picture?type=large" onerror="this.onerror=null;this.src='/img/govserv/logo.png'" /></a> <!-- End Article Image --> 1436 1437 <div class="directory-result-content g-mr-20"> 1438 <!-- Article Header --> 1439 <header>
1440 <h3 class="g-color-black g-font-weight-700 g-font-size-13 text-uppercase"> 1441 <a href="/US/Chicago/133417020032580/The-UPS-Store-5608" class="u-link-v5 g-color-black g-color-primary--hover">The UPS Store 5608</a> </h3> 1442 <h4 class="g-font-size-12 text-uppercase g-mb-15"> 1443 <i class="align-middle g-font-size-18 g-mr-7 icon-hotel-restaurant-235"></i> 1444 1137 W Taylor St, Chicago 60607 </h4> 1445 </header> 1446 <!-- End Article Header --> 1447 1448 <!-- Article Content --> 1449<!-- <p></p>--> 1450 </div> 1451 <div class="directory-result-marker d-block"> 1452 <strong class="d-block ml-auto g-color-white g-bg-primary g-font-weight-700 g-font-size-13 rounded g-py-4 g-px-12" aria-label="Map marker B" title="Map marker B">B</strong> 1453 </div> 1454 <!-- End Article Content --> 1455 </article> 1456 <!-- End Article --> 1457</div> 1458 1459 1460 <div class="col-md-6 g-mb-30"> 1461 <!-- Article --> 1462 <article class="d-flex align-items-start u-shadow-v19 g-bg-white rounded g-pa-20"> 1463 <!-- Article Image --> 1464 <a href="/US/Chicago/177478458772811/Snail-Mail-Is-My-Therapy" class="d-block g-max-width-100 g-mr-20"><img data-listing-initials class="w-100 g-rounded-50x" alt="Snail Mail Is My Therapy" src="https://graph.facebook.com/177478458772811/picture?type=large" onerror="this.onerror=null;this.src='/img/govserv/logo.png'" /></a> <!-- End Article Image --> 1465 1466 <div class="directory-result-content g-mr-20"> 1467 <!-- Article Header --> 1468 <header> 1469 <h3 class="g-color-black g-font-weight-700 g-font-size-13 text-uppercase"> 1470 <a href="/US/Chicago/177478458772811/Snail-Mail-Is-My-Therapy" class="u-link-v5 g-color-black g-color-primary--hover">Snail Mail Is My Therapy</a> </h3> 1471 <h4 class="g-font-size-12 text-uppercase g-mb-15"> 1472 <i class="align-middle g-font-size-18 g-mr-7 icon-hotel-restaurant-235"></i> 1473 Chicago </h4> 1474 </header> 1475 <!-- End Article Header --> 1476 1477 <!-- Article Content --> 1478<!-- <p>Snail mail has been my passion for the past 6...</p>--> 1479 </div> 1480 <div class="directory-result-marker d-block"> 1481 </div> 1482 <!-- End Article Content --> 1483 </article> 1484 <!-- End Article --> 1485</div> 1486 1487 1488 <div class="col-md-6 g-mb-30"> 1489 <!-- Article --> 1490 <article class="d-flex align-items-start u-shadow-v19 g-bg-white rounded g-pa-20"> 1491 <!-- Article Image --> 1492 <a href="/US/Chicago/105163008033859/Fata-new-yesetey" class="d-block g-max-width-100 g-mr-20"><img data-listing-initials class="w-100 g-rounded-50x" alt="Fata new yesetey" src="https://graph.facebook.com/105163008033859/picture?type=large" onerror="this.onerror=null;this.src='/img/govserv/logo.png'" /></a> <!-- End Article Image --> 1493 1494 <div class="directory-result-content g-mr-20"> 1495 <!-- Article Header --> 1496 <header> 1497 <h3 class="g-color-black g-font-weight-700 g-font-size-13 text-uppercase"> 1498 <a href="/US/Chicago/105163008033859/Fata-new-yesetey" class="u-link-v5 g-color-black g-color-primary--hover">Fata new yesetey</a> </h3> 1499 <h4 class="g-font-size-12 text-uppercase g-mb-15"> 1500 <i class="align-middle g-font-size-18 g-mr-7 icon-hotel-restaurant-235"></i> 1501 Egypt, Chicago </h4> 1502 </header> 1503 <!-- End Article Header --> 1504 1505 <!-- Article Content --> 1506<!-- <p></p>--> 1507 </div> 1508 <div class="directory-result-marker d-block"> 1509 <strong class="d-block ml-auto g-color-white g-bg-primary g-font-we
1509ight-700 g-font-size-13 rounded g-py-4 g-px-12" aria-label="Map marker C" title="Map marker C">C</strong> 1510 </div> 1511 <!-- End Article Content --> 1512 </article> 1513 <!-- End Article --> 1514</div> 1515 1516 1517 <div class="col-md-6 g-mb-30"> 1518 <!-- Article --> 1519 <article class="d-flex align-items-start u-shadow-v19 g-bg-white rounded g-pa-20"> 1520 <!-- Article Image --> 1521 <a href="/US/Chicago/1978960485702698/Jewelry-by-Kim-handmade-glass" class="d-block g-max-width-100 g-mr-20"><img data-listing-initials class="w-100 g-rounded-50x" alt="Jewelry by Kim handmade glass" src="https://graph.facebook.com/1978960485702698/picture?type=large" onerror="this.onerror=null;this.src='/img/govserv/logo.png'" /></a> <!-- End Article Image --> 1522 1523 <div class="directory-result-content g-mr-20"> 1524 <!-- Article Header --> 1525 <header> 1526 <h3 class="g-color-black g-font-weight-700 g-font-size-13 text-uppercase"> 1527 <a href="/US/Chicago/1978960485702698/Jewelry-by-Kim-handmade-glass" class="u-link-v5 g-color-black g-color-primary--hover">Jewelry by Kim handmade glass</a> </h3> 1528 <h4 class="g-font-size-12 text-uppercase g-mb-15"> 1529 <i class="align-middle g-font-size-18 g-mr-7 icon-hotel-restaurant-235"></i> 1530 5512 Common Street. Chicago Ill, Chicago </h4> 1531 </header> 1532 <!-- End Article Header --> 1533 1534 <!-- Article Content --> 1535<!-- <p></p>--> 1536 </div> 1537 <div class="directory-result-marker d-block"> 1538 </div> 1539 <!-- End Article Content --> 1540 </article> 1541 <!-- End Article --> 1542</div> 1543 1544 1545 </div> 1546 1547 <!-- Pagination --> 1548 1549 1550 <div class="row g-mb-20"> 1551 <div class="col-md-12"> 1552 </div> 1553 </div> 1554 </div> 1555 </div> 1556 1557 <div class="col-lg-3 order-lg-1 order-xs-1 g-brd-right--lg g-brd-gray-light-v4 g-mb-40"> 1558 1559 1560 <div class="g-pr-1--lg"> 1561 <div class="g-mb-50"> 1562 </div> 1563 </div> 1564 1565 </div> 1566 </div> 1567</div> 1568<!-- End Blog Minimal Blocks --> 1569 1570 1571 <!-- Footer --> 1572 <footer class="g-bg-black-opacity-0_9 g-color-white-opacity-0_6 g-py-60"> 1573 <div class="container"> 1574 <div class="row"> 1575 <!-- Footer Content --> 1576 <div class="col-lg-4 g-mb-50 g-mb-0--lg"> 1577 <h6 class="h6 g-color-white text-uppercase g-font-weight-700 g-mb-20">About GovServ</h6> 1578 <div class="g-mb-25"> 1579 <p> 1580 One of the largest resources on the Internet for finding government services and related businesses, worldwide. </p> 1581 </div> 1582 1583 </div> 1584 <!-- End Footer Content --> 1585 1586 <!-- Footer Content --> 1587 <div class="col-lg-4 g-mb-30 g-mb-0--lg"> 1588 <h6 class="h6 g-color-white text-uppercase g-font-weight-700 g-mb-20">Useful Links</h6> 1589 <div class="row"> 1590 <div class="col-sm-6"> 1591 <ul class="list-unstyled g-mb-30 g-mb-0--md"> 1592 <li class="d-flex g-mb-12"> 1593 <i class="fa fa-circle g-color-primary g-font-size-5 g-mt-10 g-mr-8"></i> 1594 <a class="g-color-white-opacity-0_6 g-color-primary--hover" href="https://www.govserv.org/about" data-google-interstitial="false"> 1595 About GovServ</a> 1596 </li> 1597 <li class="d-flex g-mb-12"> 1598 <i class="fa fa-circle g-color-primary g-font-size-5 g-mt-10 g-mr-8"></i> 1599 <a class="g-color-white-opacity-0_6 g-color-primary--hover" href="https://www.govserv.org/terms" data-google-interstitial="false"> 1600 Terms</a> 1601 </li> 1602 <li class="d-flex g-mb-12"> 1603 <i class="fa fa-circle g-color-primary g-font-size-5 g-mt-10 g-mr-8"></i> 1604 <a class="g-color-white-opacity-0_6 g-color-primary--hover" href="https://www.govserv.org/privacy" data-google-interstitial="false"> 1605 Privacy Policy</a> 1606 </li> 1607 <li class="d-flex"> 1608 <i class="fa fa-circle g-color-primary g-font-size-5 g-mt-10 g-mr-8"></i> 1609 <a class="g-color-white-opacity-0_6 g-color-primary--hover" href="https://www.govserv.org/faq" data-google-interstitial="false"> 1610 FAQ</a> 1611 </li> 1612 </ul> 1613 </div> 1614 1615 <div class="col-sm-6"> 1616 <ul class="list-unstyled mb-0"> 1617 <li class="d-flex g-mb-12"> 1618 <i class="fa fa-circle g-color-primary g-font-size-5 g-mt-10 g-mr-8"></i> 1619 <a class="g-color-white-opacity-0_6 g-color-primary--hover" href="https://www.govserv.org/advertise" data-google-interstitial="false"> 1620 Advertise</a> 1621 </li> 1622 <li class="d-flex g-mb-12"> 1623 <i class="fa fa-circle g-color-primary g-font-size-5 g-mt-10 g-mr-8"></i> 1624 <a class="g-color-white-opacity-0_6 g-color-primary--hover" href="https://www.govserv.org/login/start" data-google-interstitial="false"> 1625 Add listing</a> 1626 </li> 1627 <li class="d-flex"> 1628 <i class="fa fa-circle g-color-primary g-font-size-5 g-mt-10 g-mr-8"></i> 1629 <a class="g-color-white-opacity-0_6 g-color-primary--hover" href="/login" data-google-interstitial="false"> 1630 Login</a> 1631 </li> 1632 </ul> 1633 </div> 1634 </div> 1635 </div> 1636 <!-- End Footer Content --> 1637 1638 <!-- Footer Content --> 1639 <div class="col-lg-4">
1640 <h6 class="h6 g-color-white text-uppercase g-font-weight-700 g-mb-20">Subscribe</h6> 1641 1642 <p> We will notify you when anything happens in Chicago. </p> 1643 1644 <form class="g-mt-25" onsubmit="event.preventDefault(); subscribe(211818,null);" > 1645 <div class="row"> 1646 <div class="col-md-8 col-lg-12"> 1647 1648 <div class="form-group g-mb-20"> 1649 <label class="sr-only" for="email">Your Email</label> 1650 <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"> 1651 </div> 1652 </div> 1653 1654 <div class="col-md-4 col-lg-12"> 1655 <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> 1656 </div> 1657 </div> 1658 </form> 1659 </div> 1660 <!-- End Footer Content --> 1661 </div> 1662 </div> 1663 </footer> 1664 <!-- End Footer --> 1665 <div class="container" id="google-consent-footer"></div> 1666
1666<script data-cfasync="false" defer src="/js/google-consent-footer.js?v=20260917-1"></script>
1666 1667
1668<script> 1669 function subscribe(city, page) { 1670 var email; 1671 if (page === null) { 1672 email = $("#email").val(); 1673 $("#email").prop('disabled', true); 1674 $("#submit").hide(300); 1675 } else { 1676 email = $("#alert_email").val(); 1677 $("#alert_email").prop('disabled', true); 1678 $("#alert_submit").hide(300); 1679 } 1680 1681 $.ajax({ 1682 method: "POST", 1683 contentType : 'application/json', 1684 url: "/subscribe", 1685 data: JSON.stringify({email: email, city: city, page: page}) 1686 }).done(function(response) { 1687 console.log(response); 1688 }) 1689 .fail(function( jqXHR, textStatus) { 1690 console.log(textStatus); 1691 }); 1692 1693 return false; 1694 } 1695</script>
1695 1696 1697 1698<!--
1698<script async type="text/javascript" src="https://www.google.com/coop/cse/brand?form=cse-search-box&lang=en"></script>
1698--> 1699 </main> 1700 1701 1702 1703
1703<script data-cfasync="false"> 1704 1705/*! loadCSS. [c]2017 Filament Group, Inc. MIT License */ 1706(function(w){ 1707 "use strict"; 1708 /* exported loadCSS */ 1709 var loadCSS = function( href, before, media ){ 1710 // Arguments explained: 1711 // `href` [REQUIRED] is the URL for your CSS file. 1712 // `before` [OPTIONAL] is the element the script should use as a reference for injecting our stylesheet <link> before 1713 // 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. 1714 // `media` [OPTIONAL] is the media type or query of the stylesheet. By default it will be 'all' 1715 var doc = w.document; 1716 var ss = doc.createElement( "link" ); 1717 var ref; 1718 if( before ){ 1719 ref = before; 1720 } 1721 else { 1722 var refs = ( doc.body || doc.getElementsByTagName( "head" )[ 0 ] ).childNodes; 1723 ref = refs[ refs.length - 1]; 1724 } 1725 1726 var sheets = doc.styleSheets; 1727 ss.rel = "stylesheet"; 1728 ss.href = href; 1729 // temporarily set media to something inapplicable to ensure it'll fetch without blocking render 1730 ss.media = "only x"; 1731 1732 // wait until body is defined before injecting link. This ensures a non-blocking load in IE11. 1733 function ready( cb ){ 1734 if( doc.body ){ 1735 return cb(); 1736 } 1737 setTimeout(function(){ 1738 ready( cb ); 1739 }); 1740 } 1741 // Inject link 1742 // 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 1743 // Note: `insertBefore` is used instead of `appendChild`, for safety re: http://www.paulirish.com/2011/surefire-dom-element-insertion/ 1744 ready( function(){ 1745 ref.parentNode.insertBefore( ss, ( before ? ref : ref.nextSibling ) ); 1746 }); 1747 // A method (exposed on return object for external use) that mimics onload by polling document.styleSheets until it includes the new sheet. 1748 var onloadcssdefined = function( cb ){ 1749 var resolvedHref = ss.href; 1750 var i = sheets.length; 1751 while( i-- ){ 1752 if( sheets[ i ].href === resolvedHref ){ 1753 return cb(); 1754 } 1755 } 1756 setTimeout(function() { 1757 onloadcssdefined( cb ); 1758 }); 1759 }; 1760 1761 function loadCB(){ 1762 if( ss.addEventListener ){ 1763 ss.removeEventListener( "load", loadCB ); 1764 } 1765 ss.media = media || "all"; 1766 } 1767 1768 // once loaded, set link's media back to `all` so that the stylesheet applies once it loads 1769 if( ss.addEventListener ){ 1770 ss.addEventListener( "load", loadCB); 1771 } 1772 ss.onloadcssdefined = onloadcssdefined; 1773 onloadcssdefined( loadCB ); 1774 return ss; 1775 }; 1776 // commonjs 1777 if( typeof exports !== "undefined" ){ 1778 exports.loadCSS = loadCSS; 1779 } 1780 else { 1781 w.loadCSS = loadCSS; 1782 } 1783}( typeof global !== "undefined" ? global : this )); 1784 </script>
1784 1785 1786 1787
1788<script data-cfasync="false"> 1789 1790var $grid, $grid2; 1791$(function () { 1792 1793 $grid = $('.masonry-grid').masonry({ 1794 columnWidth: '.masonry-grid-item', 1795 itemSelector: '.masonry-grid-item', 1796 transitionDuration: 0, 1797 }); 1798 1799 $grid2 = $('.masonry-grid2').masonry({ 1800 columnWidth: '.masonry-grid-item', 1801 itemSelector: '.masonry-grid-item', 1802 transitionDuration: 0, 1803 }); 1804 1805 var layoutPending = false; 1806 function scheduleLayout() { 1807 if (layoutPending) return; 1808 layoutPending = true; 1809 requestAnimationFrame(function () { 1810 layoutPending = false; 1811 $grid.masonry('layout'); 1812 $grid2.masonry('layout'); 1813 }); 1814 } 1815 var grids = document.querySelectorAll('.masonry-grid, .masonry-grid2'); 1816 // Lazy images, failed images and embedded media can change size after load. 1817 // Observe item dimensions, not container height, to avoid layout feedback. 1818 if (window.ResizeObserver) { 1819 var sizeObserver = new ResizeObserver(scheduleLayout); 1820 grids.forEach(function (grid) { 1821 grid.querySelectorAll('.masonry-grid-item').forEach(function (item) { 1822 sizeObserver.observe(item); 1823 }); 1824 }); 1825 } 1826 grids.forEach(function (grid) { 1827 grid.addEventListener('load', scheduleLayout, true); 1828 grid.addEventListener('error', scheduleLayout, true); 1829 }); 1830 $(window).on('resize', scheduleLayout); 1831 if (document.fonts && document.fonts.ready) document.fonts.ready.then(scheduleLayout); 1832 scheduleLayout(); 1833 1834}); 1835$(window).on('load', function () { 1836 if ($grid !== undefined) { 1837 $grid.masonry('layout'); 1838 } 1839}); 1840</script>
1840 1841 1842
1842<script data-cfasync="false"> 1843 var documentReady=false, carouselInit=false; 1844 </script>
1844 1845
1845<script src="https://cdnjs.cloudflare.com/polyfill/v2/polyfill.min.js?features=IntersectionObserver"></script>
vendor: 1 bytes, line 1845
1845
1846<script data-cfasync="false"> 1847 1848document.addEventListener("DOMContentLoaded", function() { 1849 1850 var lazyImages = [].slice.call(document.querySelectorAll("img[data-src]")); 1851 var lazyVideos = [].slice.call(document.querySelectorAll("div.fb-video-lazy")); 1852 var captchaDivs = [].slice.call(document.querySelectorAll("div.g-recaptcha")); 1853 1854 if ("IntersectionObserver" in window) { 1855 1856 1857 1858 let lazyImageObserver = new IntersectionObserver(function(entries, observer) { 1859 entries.forEach(function(entry) { 1860 if (entry.isIntersecting) { 1861 1862 let lazyImage = entry.target; 1863 if (typeof lazyImage.dataset.src !== 'undefined') { 1864 lazyImage.src = lazyImage.dataset.src; 1865 } 1866 lazyImageObserver.unobserve(lazyImage); 1867 1868 if ($grid !== undefined) { 1869 $grid.masonry('layout'); 1870 } 1871 1872 if (typeof addthis !== 'undefined') { 1873 if (typeof addthis.layers.refresh !== 'undefined' && $.isFunction(addthis.layers.refresh)) { 1874 addthis.layers.refresh(); 1875 } 1876 } 1877 1878 if (documentReady && !carouselInit) { 1879 // initialization of carousel 1880 carouselInit = true; 1881 $.HSCore.components.HSCarousel.init('.js-carousel'); 1882 } 1883 } 1884 }); 1885 }, { 1886 rootMargin: "0px 0px 600px 0px" 1887 }); 1888 1889 lazyImages.forEach(function(lazyImage) { 1890 lazyImageObserver.observe(lazyImage); 1891 }); 1892 1893 1894 1895 let lazyVideoObserver = new IntersectionObserver(function(entries, observer) { 1896 entries.forEach(function(entry) { 1897 if (entry.isIntersecting) { 1898 1899 var timerId; 1900 var renderVid = function() { 1901 if (FbInited) { 1902 clearInterval(timerId); 1903 let lazyVideo = entry.target; 1904 observer.unobserve(lazyVideo); 1905 lazyVideo.classList.add('fb-video'); 1906 lazyVideo.classList.remove('fb-video-lazy'); 1907 FB.XFBML.parse(lazyVideo.parentNode); 1908 1909 if ($grid !== undefined) { 1910 $grid.masonry('layout'); 1911 } 1912 } 1913 }; 1914 1915 if (!FbInited) { 1916 timerId = setInterval(renderVid, 500); 1917 } else { 1918 renderVid(); 1919 } 1920 } 1921 }); 1922 }, { 1923 rootMargin: "0px 0px 600px 0px" 1924 }); 1925 1926 lazyVideos.forEach(function(lazyVideo) { 1927 lazyVideoObserver.observe(lazyVideo); 1928 }); 1929 1930 1931 1932 let captchaObserver = new IntersectionObserver(function(entries, observer) { 1933 entries.forEach(function(entry) { 1934 if (entry.isIntersecting) { 1935 observer.unobserve(entry.target); 1936 if (!document.querySelector('script[src*="/recaptcha/api.js"]')) { 1937 var rc = document.createElement('script'); 1938 rc.setAttribute('src','https://www.google.com/recaptcha/api.js'); 1939 document.head.appendChild(rc); 1940 } 1941 } 1942 }); 1943 }, { 1944 rootMargin: "0px 0px 256px 0px" 1945 }); 1946 1947 captchaDivs.forEach(function(captchaDiv) { 1948 captchaObserver.observe(captchaDiv); 1949 }); 1950 1951 } else { 1952 } 1953 }); 1954</script>
1954 1955 1956 1957 1958
1958<script data-cfasync="false"> 1959 1960 $(function () { 1961 1962 documentReady = true; 1963 1964 // initialization of go to 1965 $.HSCore.components.HSGoTo.init('.js-go-to'); 1966 1967 // initialization of header 1968 $.HSCore.components.HSHeader.init($('#js-header')); 1969 $.HSCore.helpers.HSHamburgers.init('.hamburger'); 1970 1971 // initialization of rating 1972 $.HSCore.components.HSRating.init($('.js-rating'), { 1973 spacing: 4 1974 }); 1975 1976 1977 1978 1979 1980 }); 1981 </script>
1981 1982 1983 1984 1985 1986 1987 <br/> 1988 <br/> 1989 <br/> 1990 1991 1992 1993
1993<script data-cfasync="false"> 1994 if (!window.fglCanLoadAdsenseClient || window.fglCanLoadAdsenseClient()) { 1995 var google_ad_client = atob("Y2EtcHViLTQ2NjU1MDIzNzg0NTg5NTNHb3ZTZXJ2").substring(0,23); 1996 var opts = {google_ad_client: google_ad_client }; 1997 [].forEach.call(document.querySelectorAll('.adsbygoogle'), function(elem){ 1998 elem.setAttribute("data-ad-client", google_ad_client); 1999 window.fglPushAdsenseElement(elem); 2000 }); 2001 if (window.fglLoadAdsenseScript) { 2002 window.fglLoadAdsenseScript("//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=" + google_ad_client, true); 2003 } else { 2004 loadScript("//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=" + google_ad_client, true); 2005 } 2006 } 2007 </script>
2007 2008 2009
2009<script data-cfasync="false"> 2010 document.addEventListener('DOMContentLoaded', () => { 2011 2012 [].forEach.call(document.querySelectorAll('.js-directory-results-toggle'), function (button) { 2013 var results = document.getElementById(button.getAttribute('aria-controls')); 2014 if (!results) return; 2015 button.addEventListener('click', function () { 2016 var expanded = button.getAttribute('aria-expanded') === 'true'; 2017 results.classList.toggle('is-expanded', !expanded); 2018 button.setAttribute('aria-expanded', expanded ? 'false' : 'true'); 2019 button.textContent = expanded ? button.getAttribute('data-collapsed-label') : button.getAttribute('data-expanded-label'); 2020 }); 2021 results.classList.add('is-collapsible'); 2022 button.classList.add('is-enhanced'); 2023 }); 2024 [].forEach.call(document.querySelectorAll('.js-directory-list-toggle'), function (button) { 2025 var list = document.getElementById(button.getAttribute('aria-controls')); 2026 if (!list) return; 2027 button.addEventListener('click', function () { 2028 var expanded = button.getAttribute('aria-expanded') === 'true'; 2029 list.classList.toggle('is-expanded', !expanded); 2030 button.setAttribute('aria-expanded', expanded ? 'false' : 'true'); 2031 button.textContent = expanded ? button.getAttribute('data-collapsed-label') : button.getAttribute('data-expanded-label'); 2032 }); 2033 list.classList.add('is-collapsible'); 2034 button.classList.add('is-enhanced'); 2035 }); 2036 2037 2038 setTimeout(function (){ 2039 loadScript("https://cdnjs.cloudflare.com/polyfill/v2/polyfill.min.js?features=IntersectionObserver"); 2040 2041 2042 2043 2044 loadScript("https://s.skimresources.com/js/117608X1595507.skimlinks.js"); 2045 2046 }, 3500); 2047 }); 2048 2049 function loadCss(cssFile) { 2050 var head = document.getElementsByTagName('head')[0]; 2051 var link = document.createElement('link'); 2052 link.rel = 'stylesheet'; 2053 link.type = 'text/css'; 2054 link.href = cssFile; 2055 link.media = 'all'; 2056 head.appendChild(link); 2057 } 2058 </script>
2058 2059 2060 2061 2062
2062<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":"b974df09a7c64f9682a2c351c44babc5","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 2062
2062
2063<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:'a4050280ba95e819',t:'MTc5MDI4NjY3OQ=='};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>
2063</body> 2064</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.