1<!doctype html> 2<html lang='en'> 3 <head> 4 <!-- meta --> 5 <meta http-equiv="X-UA-Compatible" content="IE=Edge" /> 6 <meta charset="utf-8" /> 7 <title>Contact</title> 8 <link rel="canonical" href="https://exploreelmhurst.com/contact/" /> 9 <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1" /> 10 <meta name="sv-nav-properties" content="{"title":"Contact","id":"64b82c55f1b2d13c0f325d69","site_name":"primary","section":"footer","folderHref":"/contact/"}" /> 11 <meta name="twitter:card" content="summary_large_image" /> 12 <meta name="referrer" content="always" /> 13 <meta name="robots" content="index, follow" /> 14 <meta property="og:title" content="Contact" /> 15 <meta property="og:url" content="https://exploreelmhurst.com/contact/" /> 16 <meta property="og:locale" content="en" /> 17 <meta property="og:image" content="https://assets.simpleviewinc.com/simpleview/image/upload/c_limit,h_1200,q_75,w_1200/v1/clients/elmhurstil/local_orgs_341d51bc-8177-42c1-a564-174eef312d94.jpg" /> 18 <meta property="og:image:width" content="1200" /> 19 <meta property="og:image:height" content="899" /> 20 <meta property="og:type" content="website" /> 21 22 <!-- head css bundles --> 23 <link rel="stylesheet" href="/includes/public/managed/v_a2e6ae52_84d87df0/core/plugins/common/virtuals/css/widget_trolley_tracker.css"/> 24 <link rel="stylesheet" href="/includes/public/managed/v_a2e6ae52_84d87df0/core/plugins/common/virtuals/css/widget_social_share.css"/> 25 <link rel="stylesheet" href="/includes/public/managed/v_a2e6ae52_84d87df0/core/plugins/common/virtuals/css/widget_footer_cta.css"/> 26 <link rel="stylesheet" href="/includes/public/managed/v_a2e6ae52_84d87df0/core/plugins/nav/virtuals/css/shared.css"/> 27 <link rel="stylesheet" href="/includes/public/managed/v_a2e6ae52_84d87df0/core/plugins/nav/virtuals/css/widget_main_dropdown.css"/> 28 <link rel="stylesheet" href="/includes/public/managed/v_a2e6ae52_84d87df0/core/plugins/nav/virtuals/css/widget_footer.css"/> 29 <link rel="stylesheet" href="/includes/public/managed/v_a2e6ae52_84d87df0/core/plugins/collections/virtuals/css/widget_template_custom_social_links.css"/> 30 <link rel="stylesheet" href="/includes/public/managed/v_a2e6ae52_84d87df0/core/plugins/weather/virtuals/css/shared.css"/> 31 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/weather-icons/2.0.9/css/weather-icons.min.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 32 <link rel="stylesheet" href="/includes/public/managed/v_a2e6ae52_84d87df0/core/plugins/search/virtuals/css/custom_headerbox.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 33 <link rel="stylesheet" href="/includes/public/managed/v_a2e6ae52_84d87df0/core/plugins/collections/virtuals/css/shared.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 34 <link rel="stylesheet" href="/includes/public/managed/v_a2e6ae52_84d87df0/core/plugins/collections/virtuals/css/ccl/hero_image/shared_structure.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 35 <link rel="stylesheet" href="/includes/public/managed/v_a2e6ae52_84d87df0/core/plugins/collections/virtuals/css/ccl/hero_image/shared_theme.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 36 <link rel="stylesheet" href="/includes/public/managed/v_a2e6ae52_84d87df0/core/plugins/nav/virtuals/css/widget_breadcrumb.css"/> 37 <link rel="stylesheet" href="/includes/public/managed/v_a2e6ae52_84d87df0/core/plugins/common/virtuals/css/custom_quickview.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 38 <link rel="stylesheet" href="https://unpkg.com/@glidejs/[email protected]/dist/css/glide.core.min.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 39 <link rel="stylesheet" href="https://unpkg.com/plyr@^3/dist/plyr.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 40 <link rel="stylesheet" href="/includes/public/managed/v_a2e6ae52_84d87df0/core/plugins/common/virtuals/css/custom_lightbox.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 41 <link rel="stylesheet" href="/includes/public/managed/v_a2e6ae52_84d87df0/core/plugins/common/virtuals/css/reboot.css"/> 42 <link rel="stylesheet" href="/includes/public/managed/v_a2e6ae52_84d87df0/core/plugins/common/virtuals/css/variables.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 43 <link rel="stylesheet" href="/includes/public/managed/v_a2e6ae52_84d87df0/core/plugins/common/virtuals/css/swatches.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 44 <link rel="stylesheet" href="/includes/public/managed/v_a2e6ae52_84d87df0/core/plugins/common/virtuals/css/shared.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 45 <link rel="stylesheet" href="/includes/public/managed/v_a2e6ae52_84d87df0/core/plugins/common/virtuals/css/custom_header.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 46 <link rel="stylesheet" href="/includes/public/managed/v_a2e6ae52_84d87df0/core/plugins/common/virtuals/css/custom_header_hamburger.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 47 <link rel="stylesheet" href="/includes/public/managed/v_a2e6ae52_84d87df0/core/plugins/common/virtuals/css/shared_print.css" media="print" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 48 <link rel="stylesheet" href="/includes/public/managed/v_a2e6ae52_84d87df0/core/plugins/common/virtuals/css/custom_footer.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 49 <link rel="stylesheet" href="/includes/public/managed/v_a2e6ae52_84d87df0/core/plugins/common/virtuals/css/custom_core_styles.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 50 <link rel="stylesheet" href="/includes/public/managed/v_a2e6ae52_84d87df0/core/plugins/common/virtuals/css/custom_forms.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 51 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;700;800;900&display=swap" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 52 <link rel="stylesheet" href="https://use.typekit.net/ntw0ejx.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 53 54 <!-- head js bundles --> 55
55<script src="https://unpkg.com/plyr@^3/dist/plyr.polyfilled.min.js"></script>
55 56
56<script src="https://player.vimeo.com/api/player.js"></script>
56 57
57<script src="/includes/public/managed/v_a2e6ae52_84d87df0/core/libs/sv/requirejs/public/require.js" data-ot-ignore></script>
57 58
58<script src="/requirejs_config_a2e6ae52_84d87df0.js" data-ot-ignore></script>
58 59
59<script src="/includes/public/managed/v_a2e6ae52_84d87df0/core/libs/sv/siteLib/public/js/globalHeader.js"></script>
59 60
60<script src="/includes/public/managed/v_a2e6ae52_84d87df0/core/plugins/common/virtuals/js/shared_header.js" defer></script>
60 61 62 <!-- bottomHead --> 63 64
64<script data-id="site_gtm">
vendor: 365 bytes, lines 64-69
64 65 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 66 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 67 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 68 '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 69 })(window,document,'script','gtmDataLayer','
69GTM-PM3VQJRS
vendor: 11 bytes, lines 69-70
69'); 70
70</script>
70 71 72
72<script data-id="site_gtm">
vendor: 365 bytes, lines 72-77
72 73 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 74 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 75 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 76 '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 77 })(window,document,'script','gtmDataLayer','
77GTM-NFBVG93
vendor: 11 bytes, lines 77-78
77'); 78
78</script>
78 79 80 81 <!-- 82 Use this template to add items to the <head> 83 --> 84 85 <link rel="preconnect" href="https://assets.simpleviewinc.com"> 86 <link rel="preconnect" href="https://use.fontawesome.com"> 87 <link rel="preconnect" href="https://securepubads.g.doubleclick.net"> 88 <link rel="preconnect" href="https://www.google-analytics.com"> 89 <link rel="preconnect" href="https://ws.audioeye.com"> 90 <link rel="preconnect" href="https://wsv3cdn.audioeye.com"> 91 <link rel="preconnect" href="https://www.googletagmanager.com"> 92 <link rel="preconnect" href="https://securepubads.g.doubleclick.net"> 93 <link rel="preconnect" href="https://use.typekit.net/"> 94 <!-- 95 Most common Font URLs. (Only uncomment the ones being used) 96 97 <link rel="preconnect" href="https://fast.fonts.net/"> 98 <link rel="preconnect" href="https://fonts.googleapis.com/"> 99 --> 100 101 <style data-critical-styles> 102 /* variables */ 103 :root{--font-capitolium-news:'capitolium-news-2',serif;--font-parisine-plus:'parisplus-std',sans-serif;--font-fa:"Font Awesome 5 Free";--font-body:var(--font-parisine-plus);--font-display:var(--font-capitolium-news);--width-compact:calc(var(--width-comfortable) * (2/3));--width-comfortable:72ch;--width-double:calc(var(--width-comfortable) * 2);--width-base:840px;--width-feature:1440px;--width-fullscreen:100vw;--space-px:1px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;--space-40:160px;--space-48:192px;--space-56:224px;--space-64:256px;--container-single:calc(var(--width-comfortable) + var(--space-10));--container-double:calc(var(--width-double) + var(--space-24));--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:4rem;--tracking-tighter:-0.05em;--tracking-tight:-0.025em;--tracking-normal:0em;--tracking-wide:0.025em;--tracking-wider:0.05em;--tracking-widest:0.1em;--leading-none:1;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--black:#000;--white:#fff;--white-f2:#f2f2f2;--blue-07:#072B37;--blue-04:#043644;--blue-0d:#0D4C5B;--blue-11:#11687F;--green-a3:#A3EAC1;--grenn-c2:#C2EFD6;--green-da:#DAF7E6;--green-e7:#E7F1F1;--yellow-bf:#BF911D;--yellow-d6:#D6A53A;--pink-e8:#E8D1D1;--pink-f2:#F2DDDD;--pink-f7:#F7E7E7;--gray-52:#525B5B;--gray-c4:#C4D7D7;--gray-100:var(--white);--gray-200:var(--white-f2);--gray-300:var(--gray-f2);--gray-400:var(--gray-c4);--gray-500:var(--gray-c4);--gray-600:var(--gray-52);--gray-700:var(--gray-52);--gray-800:var(--black);--gray-900:var(--black);--primary-color-100:var(--blue-11);--primary-color-200:var(--blue-11);--primary-color-300:var(--blue-11);--primary-color-400:var(--blue-0d);--primary-color-500:var(--blue-0d);--primary-color-600:var(--blue-04);--primary-color-700:var(--blue-04);--primary-color-800:var(--blue-07);--primary-color-900:var(--blue-07);--secondary-color-100:var(--green-e7);--secondary-color-200:var(--green-e7);--secondary-color-300:var(--green-da);--secondary-color-400:var(--green-da);--secondary-color-500:var(--green-da);--secondary-color-600:var(--green-c2);--secondary-color-700:var(--green-c2);--secondary-color-800:var(--green-a3);--secondary-color-900:var(--green-a3);--tertiary-color-100:var(--pink-f7);--tertiary-color-200:var(--pink-f2);--tertiary-color-300:var(--pink-f2);--tertiary-color-400:var(--pink-e8);--tertiary-color-500:var(--pink-e8);--tertiary-color-600:var(--yellow-d6);--tertiary-color-700:var(--yellow-d6);--tertiary-color-800:var(--yellow-bf);--tertiary-color-900:var(--yellow-bf);--shadow-xs:0 0 0 1px rgba(0, 0, 0, 0.05);--shadow-sm:0 1px 2px 0 rgba(0, 0, 0, 0.05);--shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);--shadow-md:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);--shadow-lg:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);--shadow-xl:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);--shadow-2xl:0 25px 50px -12px rgba(0, 0, 0, 0.25);--shadow-inner:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);--shadow-outline:0 0 0 3px rgba(66, 153, 225, 0.5);--rounded-none:0px;--rounded-sm:0.125rem;--rounded-md:0.375rem;--rounded-lg:0.5rem;--rounded-xl:0.75rem;--rounded-2xl:1rem;--rounded-3xl:1.5rem;--rounded-full:9999px;--rounded-circle:50%;--transition-appendix:0.25s ease} 104 /* swatches */ 105 :root{--sw-body-bg:var(--white);--sw-text-color:var(--gray-52);--sw-key-color:var(--primary-color-700);--sw-key-color-hover:var(--primary-color-800);--sw-selected-color:var(--sw-key-color);--sw-alert-color:var(--tertiary-color-500);--sw-focus-color:var(--sw-key-color);--sw-light-focus-color:var(--primary-color-100);--sw-button-primary-bg:var(--sw-key-color);--sw-button-primary-color:var(--white);--sw-button-primary-bg-hover:var(--secondary-color-900);--sw-button-primary-color-hover:var(--sw-button-primary-bg);--sw-button-secondary-bg:var(--secondary-color-900);--sw-button-secondary-color:var(--primary-color-700);--sw-button-secondary-bg-hover:transparent;--sw-button-secondary-color-hover:var(--primary-color-900);--sw-button-border-bg:var(--primary-color-600);--sw-button-border-color:var(--sw-key-color);--sw-button-border-bg-hover:var(--white);--sw-button-border-color-hover:var(--sw-key-color);--sw-link-color:var(--sw-key-color);--sw-system-link-color:var(--primary-color-400);--sw-link-hover-color:var(--sw-key-color-hover);--sw-system-link-hover-color:var(--primary-color-500);--sw-icon-color:var(--sw-key-color);--sw-light-icon-color:var(--white);--sw-icon-bg:var(--sw-key-color);--sw-mini-date-bg:var(--tertiary-color-600);--sw-mini-date-color:var(--primary-color-600);--sw-container-bg:var(--primary-color-100);--sw-container-border-color:var(--primary-color-300)}@media (min-width:1024px){:root{--sw-system-link-color:var(--sw-link-color);--sw-system-link-hover-color:var(--sw-link-color-hover)}} 106 /* core styles */ 107 body,button,h1,h2,h3,h4,h5,h6,input,p,select{font-family:var(--font-body)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--primary-color-600)}hr{height:2px;background-color:var(--gray-300)}button{background-color:var(--sw-button-secondary-bg);color:var(--sw-button-secondary-color)}a{color:var(--sw-link-color)}:is(.core-styles,.contentRender_name_plugins_core_textbox) img[style*="float: left;"],:is(.core-styles,.contentRender_name_plugins_core_textbox)>p:not([style="text-align: right;"])>img{margin-left:0}:is(.core-styles,.contentRender_name_plugins_core_textbox) img[style*="float: right;"],:is(.core-styles,.contentRender_name_plugins_core_textbox)>p:not([style="text-align: right;"])>img[style*="float: right"],:is(.core-styles,.contentRender_name_plugins_core_textbox)>p[style="text-align: right;"]>img{margin-right:0}:is(.core-styles,.contentRender_name_plugins_core_textbox) h1{margin-bottom:10px;font-size:2.5rem;font-weight:700;line-height:1.2;letter-spacing:-.04em}:is(.core-styles,.contentRender_name_plugins_core_textbox) h2{margin-bottom:10px;font-size:var(--text-3xl);font-weight:400;line-height:1.2;font-family:var(--font-body);font-style:italic}:is(.core-styles,.contentRender_name_plugins_core_textbox) h3{margin-bottom:10px;font-family:var(--font-body);font-size:var(--text-2xl);font-weight:700;line-height:var(--leading-tight)}:is(.core-styles,.contentRender_name_plugins_core_textbox) h4{margin-bottom:10px;font-size:var(--text-xl);font-weight:700;line-height:1.2}:is(.core-styles,.contentRender_name_plugins_core_textbox) h5{margin-bottom:10px;font-family:var(--font-body);font-size:var(--text-xl);font-weight:400;font-style:italic;line-height:var(--leading-normal)}:is(.core-styles,.contentRender_name_plugins_core_textbox) h6{margin-bottom:10px;font-family:var(--font-body);font-size:var(--text-base);font-weight:700;line-height:var(--leading-tight)}:is(.core-styles,.contentRender_name_plugins_core_textbox) p{margin-bottom:var(--space-5);font-family:var(--font-body);font-size:var(--text-base);font-weight:400;line-height:var(--leading-normal);color:var(--gray-600)}:is(.core-styles,.contentRender_name_plugins_core_textbox) .sv-wrapped-iframe{margin-bottom:var(--space-4)}:is(.core-styles,.contentRender_name_plugins_core_textbox) a{text-decoration:underline;color:var(--blue-04);text-decoration-color:var(--green-a3);font-weight:700;transition:.4s}:is(.core-styles,.contentRender_name_plugins_core_textbox) blockquote{margin:var(--space-12) 0;padding:var(--space-6) var(--space-8);border-left:4px solid var(--primary-color-500)}:is(.core-styles,.contentRender_name_plugins_core_textbox) blockquote>p{margin:0;font-size:var(--text-2xl);font-style:italic;line-height:var(--leading-snug);color:var(--gray-600)}:is(.core-styles,.contentRender_name_plugins_core_textbox) :is(table){background:var(--white);margin-bottom:var(--space-5);table-layout:auto;padding:var(--space-2)}:is(.core-styles,.contentRender_name_plugins_core_textbox) :is(table tbody tr td,table tr td){display:table-cell}:is(.core-styles,.contentRender_name_plugins_core_textbox) :is(td,tr){font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);padding:var(--space-2);border:1px solid var(--gray-600);color:var(--gray-700)}:is(.core-styles,.contentRender_name_plugins_core_textbox) :is(table tr):nth-of-type(2n){background:var(--gray-200)}:is(.core-styles,.contentRender_name_plugins_core_textbox) :is(ul,ol){margin-bottom:var(--space-4);margin-left:var(--space-10)}:is(.core-styles,.contentRender_name_plugins_core_textbox) :is(ul,ol):not([class*=block-grid-]) li{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--gray-600)}:is(.core-styles,.contentRender_name_plugins_core_textbox) :is(ul){list-style-type:disc}:is(.core-styles,.contentRender_name_plugins_core_textbox) :is(ol){list-style-type:decimal}:is(.core-styles,.contentRender_name_plugins_core_textbox) :is(ul li ul){list-style-type:circle}:is(.core-styles,.contentRender_name_plugins_core_textbox) :is(ul ul ul){list-style-type:square}:is(.core-styles,.contentRender_name_plugins_core_textbox) :is(ul li ul,ul li ol,ol li ol){margin-left:var(--space-10)}:is(.core-styles,.contentRender_name_plugins_core_textbox) :is(h1,h2,h3,h4,h5,h6)>a,:is(h1,h2,h3,h4,h5,h6)>a{font:inherit;color:inherit;text-decoration:none}.contentRender_name_plugins_core_textbox img{--margin-sides:var(--space-6);margin-bottom:var(--space-4);margin-left:var(--margin-sides);margin-right:var(--margin-sides);display:inline-block;max-width:calc(100% - (var(--margin-sides) * 2))}@media (hover:hover){button:hover{background-color:var(--sw-button-secondary-bg-hover);color:var(--sw-button-secondary-color-hover)}:is(.core-styles,.contentRender_name_plugins_core_textbox) a:hover{text-decoration:underline;color:var(--blue-04)}a:hover{color:var(--sw-link-hover-color);text-decoration:none}:is(.core-styles,.contentRender_name_plugins_core_textbox) :is(h1,h2,h3,h4,h5,h6)>a:hover,:is(h1,h2,h3,h4,h5,h6)>a:hover{font:inherit;color:inherit;text-decoration:none}}@media screen and (min-width:64em){:is(.core-styles,.contentRender_name_plugins_core_textbox) h1{font-size:4.5rem}:is(.core-styles,.contentRender_name_plugins_core_textbox) h2{font-size:var(--text-5xl)}:is(.core-styles,.contentRender_name_plugins_core_textbox) h3{font-size:var(--text-3xl)}} 108 /* header */ 109 .panel-header{--surface-foreground:var(--primary-color-700);--surface-background:var(--primary-color-900);--surface-mobile-nav:var(--primary-color-200);--text:var(--gray-100);--text-alt:var(--gray-900);position:relative;color:var(--text);z-index:4}.panel-header .header-inner .primary-content-container .widgets,.panel-header .header-inner .top-cont,.panel-header .primary-content-container .widgets,.panel-header.active .header-inner .logo-cont,.panel-header.search-active::after{display:none}.panel-header .header-inner{padding:11px 12px 24px}.panel-header.active .header-inner{padding:10px 12px 12px}@media screen and (min-width:64em){.panel-header.search-active::after{content:'';display:block;position:absolute;
109left:0;background-color:var(--gray-c4);height:98px;width:100%}.panel-header .header-inner{display:flex;flex-direction:row-reverse;justify-content:space-between;padding:14px 30px}}@media screen and (min-width:1188px){.panel-header .header-inner{padding:14px 60px}}@media screen and (min-width:90em){.panel-header .header-inner{padding:14px 120px}}.panel-header .header-inner .header-top-mobile{display:flex;justify-content:space-between;align-items:center}.panel-header .header-inner .logo-cont{display:flex;justify-content:center;align-items:center;margin-top:-14px}.panel-header .mobile-nav .mobile-footer-nav{border-top:1px solid var(--gray-c4)}.panel-header .secondary-nav-container{display:none;padding:0 12px 0 0}@media (min-width:40em){.panel-header .secondary-nav-container{display:block}}@media screen and (min-width:64em){.panel-header .header-inner .logo-cont{margin-top:0}.panel-header .header-inner .primary-content-container .widgets{display:block}.panel-header .header-inner .btn-cont.mobile{display:none}.panel-header .header-inner .top-cont{display:flex;justify-content:flex-end;align-items:center}.panel-header .header-inner .top-cont .btn-cont.desktop{padding-right:26px}.panel-header .header-inner .primary-content-container{display:flex}.panel-header .primary-content-container,.panel-header .primary-content-container .widgets{display:flex;align-items:center;justify-content:space-between}.panel-header .primary-content-container{justify-content:flex-end}}.panel-header .primary-content-container .contentRender_name_plugins_common_logo{padding:var(--space-4) 0}.panel-header .main-nav-widgets-container{display:grid;align-items:stretch;grid-template-columns:min-content;gap:var(--space-5)}.panel-header .main-nav-widgets-container>:not(.widgets){display:flex;align-items:center;justify-content:flex-end}.panel-header .main-nav-widgets-container .widgets{display:none;align-items:center}.panel-header .mobile-nav-container{position:absolute;z-index:10;display:none;width:100%}.panel-header .mobile-nav-container.active{display:flex;justify-content:flex-end}@media (min-width:64em){.panel-header .main-nav-widgets-container .widgets{display:flex}.panel-header .mobile-nav-container.active{display:none}}.panel-header .mobile-nav-container .mobile-nav{max-width:420px;width:100%;background-color:var(--surface-mobile-nav)}.panel-header .mobile-nav .widgets{display:grid;grid-template-columns:1fr 1fr;grid-auto-flow:dense;column-gap:7px;padding:var(--space-6) 8px;color:var(--text-alt);background-color:var(--gray-c4)}@media screen and (min-width:375px){.panel-header .mobile-nav .widgets{column-gap:14px;padding:var(--space-6) 28px}}.panel-header .mobile-nav .search-cont{grid-column:1;grid-row:1}.panel-header .mobile-nav .widgets>:not(.search-cont){align-self:center;justify-self:center}.panel-header .mobile-nav-container .social-cont{display:flex;justify-content:center;align-items:center;gap:24px;background-color:var(--gray-c4);padding:31px 24px}.panel-header .mobile-nav-container .social-cont .text{font-family:var(--font-body);color:var(--primary-color-700);font-size:1.25rem;font-style:italic;font-weight:400}.panel-header .mobile-nav-container .social-cont .social-links a{color:var(--primary-color-700)} 110 /* nav / shared */ 111 .navigation a,.navigation.mobile .nav-item .dropdown-menu a{font-size:var(--text-base)}.navigation .nav-item.level-1 .nav-item-control a,.navigation .nav-item.level-2 .nav-item-control a,.navigation .nav-item.level-3 .nav-item-control a,.navigation a{text-decoration:none}.navigation{--surface-mobile-nav:var(--gray-100);--surface-highlight:var(--gray-400);--text:var(--primary-color-700);--text-primary:var(--primary-color-400);--text-secondary:var(--primary-color-100)}.contentRender_name_plugins_nav_main,.contentRender_name_plugins_nav_main_dropdown{order:-1}.navigation a{display:flex;align-items:center;width:100%;line-height:var(--leading-tight);color:var(--text);padding:var(--space-3) var(--space-4)}.navigation.primary.mobile a{padding:17px 0 var(--space-2)}.navigation.secondary.mobile a{padding:8px 0}.navigation.primary.desktop a{padding:var(--space-4) var(--space-4) 4px}.navigation.secondary.desktop a{padding:var(--space-4) var(--space-4) 8px}.navigation.desktop a{white-space:nowrap}.navigation a:hover{color:inherit}.navigation a:focus{text-decoration:underline;outline:0}.navigation .nav-item .nav-item-control{display:flex;justify-content:space-between;color:var(--text-alt);transition:background-color .1s cubic-bezier(0,0,.3,1)}.nav-container .menu-toggle .hamburger-inner,.navigation .nav-item .nav-item-control.level-1 .nav-link,.panel-header .mobile-main-nav .navigation.primary.mobile .nav-item .nav-item-control.level-1{position:relative}.panel-header .mobile-main-nav .navigation.primary.mobile .nav-item .nav-item-control.level-1 .border{display:block;background-color:var(--gray-500);height:1px;width:100%;position:absolute;
111left:0;bottom:-7px}.navigation .nav-item .dropdown-toggle{margin:0;padding:0;color:inherit;background-color:transparent;transition:background-color .1s cubic-bezier(0,0,.3,1)}.navigation.mobile .nav-item .dropdown-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px}.navigation .nav-item .dropdown-toggle:focus{outline:1px dashed var(--sw-light-focus-color);outline-offset:0}.nav-container .menu-toggle{display:block;margin:0;padding:0;background:0 0;cursor:pointer;width:32px}.nav-container .menu-toggle .mobile-nav.open{width:32px}.nav-container .menu-toggle .mobile-nav.close{width:22px;margin:auto;display:none}.nav-container .menu-toggle.active .mobile-nav.open{display:none}.nav-container .menu-toggle.active .mobile-nav.close{display:block}.nav-container .menu-toggle .hamburger-inner::after,.nav-container .menu-toggle .hamburger-inner::before{position:absolute}.nav-container .menu-toggle .hamburger-inner,.nav-container .menu-toggle .hamburger-inner::after,.nav-container .menu-toggle .hamburger-inner::before{display:block;width:28px;height:2px;background-color:var(--white);transition:transform 75ms cubic-bezier(.55, .055, .675, .19)}.nav-container .menu-toggle .hamburger-inner::before{content:"";top:-7px;transition:top 75ms .12s,opacity 75ms}.nav-container .menu-toggle .hamburger-inner::after{content:"";bottom:-7px;transition:bottom 75ms .12s,transform 75ms cubic-bezier(.55, .055, .675, .19)}.nav-container .menu-toggle.active .hamburger-inner{transform:rotate(45deg);transition-delay:0.12s;transition-timing-function:cubic-bezier(0.215,0.61,0.355,1)}.nav-container .menu-toggle.active .hamburger-inner::before{top:0;opacity:0;transition:top 75ms,opacity 75ms .12s}.nav-container .menu-toggle.active .hamburger-inner::after{bottom:0;transform:rotate(-90deg);transition:bottom 75ms,transform 75ms cubic-bezier(.215, .61, .355, 1) .12s}.navigation.mobile{background-color:var(--surface-mobile-nav);padding:22px 22px 9px}.navigation.mobile.secondary{padding:9px 22px 14px}.navigation.mobile .nav-item .dropdown-toggle .icon-toggle{transform-origin:center;transition:transform .3s cubic-bezier(0,0,.3,1);color:var(--tertiary-color-700);font-size:1.0625rem}.navigation.mobile .nav-item.open>.nav-item-control .dropdown-toggle .icon-toggle{transform:rotate(-180deg)}.navigation.desktop{position:relative;display:none;justify-content:flex-end;height:100%}@media (min-width:64em){.nav-container .menu-toggle{display:none}.navigation.desktop{display:flex}}.navigation.desktop .dropdown-menu{opacity:0;pointer-events:none;transition:opacity .1s cubic-bezier(0,0,.3,1);z-index:30}.navigation.primary.mobile .dropdown-menu.level-1 .nav-item.level-2 .nav-item-control.level-2 a{padding:17px 0 var(--space-2) 12px}.navigation.primary.mobile .dropdown-menu.level-2 .nav-item.level-3 .nav-item-control.level-3 a{padding:17px 0 var(--space-2) 24px}.navigation.desktop .dropdown-menu.open{display:block!important}.navigation.desktop .level-1.nav-item>.nav-item-control{align-items:center;height:100%}.navigation.desktop .nav-item.level-1>.nav-item-control>a{border-top:2px solid transparent;border-bottom:12px solid transparent}.navigation.desktop .nav-item.level-1>.nav-item-control>a:focus,.navigation.desktop .nav-item.level-1>.nav-item-control>a:hover{border-bottom-color:var(--surface-mobile-nav)}.navigation.desktop .nav-item:not(.level-1)>.nav-item-control:focus-within{background-color:var(--surface-highlight)}.navigation.desktop .nav-item:not(.level-1).open>.nav-item-control,.navigation.desktop .nav-item:not(.level-1)>.nav-item-control:focus-within,.navigation.desktop .nav-item:not(.level-1)>.nav-item-control:hover{background-color:var(--surface-highlight)}.navigation.primary.mobile .nav-item.level-1 .nav-item-control a{font-family:var(--font-display);font-size:1.25rem;font-weight:700}.navigation.primary.mobile .nav-item:is(.level-2,.level-3,.level-4) .nav-item-control a{font-family:var(--font-body);font-size:1rem;font-weight:100}.navigation.secondary.mobile .nav-item.level-1 .nav-item-control a{font-size:.875rem}.navigation.desktop.primary .level-1.nav-item>.nav-item-control.level-1 .nav-link{color:var(--text-primary);font-size:1rem}@media screen and (min-width:64em){.nav-container{display:flex;justify-content:flex-end;height:100%}.navigation.primary.desktop a{padding:var(--space-4) 0 var(--space-1);margin:0 var(--space-4)}.navigation.secondary.desktop a{padding:var(--space-4) 0 10px;margin:0 var(--space-4)}.navigation .nav-item .dropdown-toggle{padding-right:13px}.navigation.desktop.primary .level-1.nav-item>.nav-item-control.level-1 .nav-link{font-family:var(--font-display);font-weight:700;font-size:1rem}}@media screen and (min-width:90em){.navigation.desktop.primary .level-1.nav-item>.nav-item-control.level-1 .nav-link{font-size:1.25rem}}.panel-header .mobile-nav .mobile-footer-nav .navigation.mobile{padding:19px 22px 10px}.panel-header .mobile-nav .mobile-footer-nav .navigation.primary.mobile .nav-item.level-1 .nav-item-control a{padding:8px 0;font-family:var(--font-body);font-size:.875rem;font-weight:100}.navigation.secondary.desktop .nav-item.level-1 .nav-item-control a{font-size:.875rem;color:var(--text-secondary)}.navigation .nav-item:is(.level-2,.level-3) .nav-item-control a{white-space:unset;padding:9px var(--space-3)}.nav-item.level-1.main>.nav-item-control.level-1 a.nav-link{z-index:2}.navigation.desktop .nav-item.level-1.open>.nav-item-control.level-1>a::after,.navigation.desktop .nav-item.level-1>.nav-item-control>a:hover::after{content:'';pointer-events:none;position:absolute;
111left:0;bottom:-10px;display:block;width:100%;height:4px;background-color:var(--tertiary-color-600);z-index:1}.navigation.desktop.secondary .nav-item.level-1.open>.nav-item-control.level-1>a::after,.navigation.desktop.secondary .nav-item.level-1>.nav-item-control>a:hover::after{bottom:2px}.navigation.desktop .level-1.nav-item>.nav-item-control>.dropdown-toggle{margin:0;padding:var(--space-3) var(--space-2);display:none} 112 /* nav / dropdown */ 113 .navigation.navigation-dropdown.desktop .nav-item{--surface-1:var(--gray-100);--surface-2:var(--gray-100);--surface-3:var(--gray-100);--color-icon:var(--tertiary-color-700);position:relative}.navigation.navigation-dropdown.desktop .dropdown-menu .nav-item .dropdown-toggle .icon-toggle{transform-origin:center;transform:rotate(-90deg);color:var(--color-icon);font-size:1.125rem}.navigation.navigation-dropdown.desktop .dropdown-menu{position:absolute;left:164px;width:100vw;max-width:300px;background-color:var(--surface-1);transform:translateX(-50%);box-shadow:var(--shadow);box-shadow:0 0 1px 0 rgba(0,0,0,.1),1px 1px 3px 0 rgba(0,0,0,.06)}.navigation.navigation-dropdown.desktop>.nav-item.on-right .dropdown-menu{left:6px}.navigation.navigation-dropdown.desktop>.nav-item.on-right .dropdown-menu .dropdown-menu{top:0;left:-100.5%;right:auto;width:100%;transform:none}.navigation.navigation-dropdown.desktop .dropdown-menu.level-2{background-color:var(--surface-2)}.navigation.navigation-dropdown.desktop .dropdown-menu.level-3{background-color:var(--surface-3)}.navigation.navigation-dropdown.desktop .dropdown-menu .dropdown-menu{top:0;left:auto;right:-100.5%;width:100%;transform:none}.navigation.navigation-dropdown.desktop .dropdown-menu.open{opacity:1;pointer-events:all}.navigation.navigation-dropdown.desktop .dropdown-menu .nav-item .dropdown-helper{position:absolute;z-index:1;top:0;right:0;width:100%;height:600%;transform:scaleX(0);transform-origin:right center;transition:transform .3s .2s}.navigation.navigation-dropdown.desktop>.nav-item.on-right .dropdown-menu .nav-item .dropdown-helper{transform-origin:left center}.navigation.navigation-dropdown.desktop .nav-item .dropdown-helper{opacity:.3}.navigation.navigation-dropdown.desktop .dropdown-menu .nav-item .nav-item-control:hover+.dropdown-helper{transform:scaleX(1);transition:none}.navigation.navigation-dropdown.desktop .dropdown-menu .nav-item .nav-item-control:hover{position:relative;z-index:2} 114 /* search headerbox */ 115 .search-cont{--font-family-body:var(--font-body);--search-icon:var(--primary-color-700);--search-input-icon-bg:var(--tertiary-color-600);--search-input-icon-bg-hover:var(--sw-key-color-hover);--search-placeholder-color:var(--primary-color-100)}.headerbox-search-form{display:flex}.headerbox-search-form input[type=search]{width:164px;height:36px;margin:0;font-size:var(--text-base);text-indent:var(--space-1);font-family:var(--font-family-body);border-radius:6px 0 0 6px}.headerbox-search-form input[type=search]::placeholder{font-size:.875rem;color:var(--search-placeholder-color);text-indent:14px;font-style:italic}.headerbox-search-form button{width:60px;padding:0;margin:0;flex-shrink:0;background-color:var(--search-input-icon-bg);color:var(--gray-100);border-radius:0 6px 6px 0}.headerbox-search-form button:hover{background-color:var(--search-input-icon-bg-hover)}.search-cont .search-button{display:none;background:0 0;color:var(--search-icon)}@media screen and (min-width:64em){.search-cont{position:relative}.headerbox-search-form input[type=search]{width:100%;height:60px;text-indent:24px;font-size:1.25rem}.headerbox-search-form input[type=search]::placeholder{font-size:1.25rem;text-indent:24px}.headerbox-search-form input[type=search]:focus{outline-offset:-1px}.search-cont .search-button{width:30px;padding:5px 0 0;margin:0;display:block;font-size:1.375rem}.search-cont .search-button .close,.search-cont.active .search-button .open{display:none}.search-cont.active .search-button .close{display:block}.search-cont .headerbox-search-form{opacity:0;pointer-events:none;position:absolute;top:75px;right:18px;height:98px;width:90vw;z-index:25;transition:opacity .2s ease-in-out}.search-cont.active .headerbox-search-form{opacity:1;pointer-events:all}.headerbox-search-form button{width:60px;height:60px;padding:0;margin:0}}@media screen and (min-width:1188px){.search-cont .headerbox-search-form{right:0}}@media screen and (min-width:90em){.search-cont .headerbox-search-form{right:0;width:calc(100vw - 240px)}}.dropdown-nav-container .search-cont .headerbox-search-form{opacity:1;position:static;pointer-events:all}.dropdown-nav-container .search-cont .headerbox-search-form input[type=search]{height:unset}.dropdown-nav-container .nav .search-cont .search-button{display:none}@media (min-width:64em){.dropdown-nav-container .search-cont .headerbox-search-form{width:100%}.dropdown-nav-container .nav .search-cont .headerbox-search-form button{width:var(--space-12)}} 116 /* weather */ 117 .weather-wrapper{cursor:pointer;position:relative;display:inline-block}.weather-wrapper .deg{padding-right:2px}.weather-wrapper .weather-button{display:flex;align-items:center;position:relative;z-index:15;background-color:transparent;margin:0;color:var(--primary-color-700);font-size:.875rem;cursor:initial}.weather-wrapper .weather-button:focus{outline:0}@media screen and (min-width:64em){.weather-wrapper .weather-button{color:var(--tertiary-color-900)}}.weather-wrapper .weather-button .temp{white-space:nowrap}.weather-wrapper .weather-button .temp::after{content:"F";display:inline-block;position:absolute;right:-2px}.weather-wrapper .weather-button .temp .fa{font-size:14px;display:none}.weather-wrapper .weather-button .weather-icon{margin-right:3px;font-size:1.3125rem}.weather-wrapper .weather-dropdown{display:none;min-width:320px;background-color:var(--white);position:absolute;top:100%;left:0;z-index:40;cursor:initial;color:var(--black)}.weather-wrapper .weather-dropdown.open{display:none}.weather-wrapper .top-section{text-align:center;padding:5px}.weather-wrapper .forecast .temp-wrapper{display:flex;justify-content:center;align-items:center}
117.weather-wrapper .forecast .weather-icon{font-size:22px;margin-right:7px}.weather-wrapper .forecast .temp{font-size:32px}.weather-wrapper .forecast .info{font-size:18px}.weather-wrapper .forecast-list .item{display:block;border-top:1px solid #999;padding:2px 8px}.weather-wrapper .item-details{display:flex;justify-content:space-between;align-items:center;font-size:18px}.weather-wrapper .item-details .data{display:flex;justify-content:flex-start;align-items:center}.weather-wrapper .item-details .data>div{font-size:24px;padding:0 3px;text-align:center}.weather-wrapper .item-details .weather-icon{font-size:22px;display:inline-block;min-width:35px;color:#fe9b0c}.weather-wrapper .item-details .high{padding-right:6px;width:55px}.weather-wrapper .item-details .sep{border-left:1px solid #cdcdcd;height:26px;width:1px}.weather-wrapper .item-details .low{color:#18a3de;width:55px}@media screen and (min-width:1024px){.weather-wrapper .weather-dropdown{right:0;left:auto}} 118 /* collections shared */ 119 .ccl-widget .mini-date-section,.overlap-image .content-section{bottom:0;left:0;position:absolute}:root{--widget-padding-top:var(--space-8);--widget-margin-bottom:var(--space-12)}button[data-quickview-button]{display:inline-flex;align-items:baseline;gap:var(--space-1);margin:0;padding:0;background:0 0}button[data-quickview-button]:active,button[data-quickview-button]:focus,button[data-quickview-button]:hover{color:inherit;background:0 0}button[data-quickview-button] i{width:var(--space-5)}.js-loaded{opacity:1!important;transition:opacity .2s ease-in}.ccl-widget .widget-header{--font-heading:var(--font-display);--font-link:var(--font-body);--color:var( 120 --sw-key-color, var(--primary-color-700));--color-hover:var(--sw-body-bg);--text-color:var(--color);--button-color:var( 121 --sw-button-primary-bg, var(--color));--button-text-color:var( 122 --sw-button-primary-color, var(--gray-100));--button-text-color-hover:var(--sw-button-primary-color-hover);--border-color:var(--gray-200);margin:0 auto;margin-bottom:var(--space-6);padding:0 var(--space-5);max-width:var(--width-base)}.ccl-widget .widget-header-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding-bottom:var(--space-3);flex-direction:row;align-content:center}.ccl-widget .widget-title{font-family:var(--font-body);font-size:var(--text-3xl);font-weight:400;color:var(--text-color);font-style:italic}.ccl-widget .widget-view-all{display:inline-block;padding:7px var(--space-5);font-family:var(--font-link);font-size:var(--text-base);font-weight:400;color:var(--button-text-color);border:solid 2px var(--sw-key-color);border-radius:var(--rounded-full);background-color:var(--button-color);text-decoration:none}.ccl-widget .widget-view-all::after{content:'\f061';font-family:var(--font-fa);margin:0 0 0 14px;font-size:var(--text-base);font-weight:600}@media(hover:hover){.ccl-widget .widget-view-all:hover{--button-color:var(--color-hover);--button-text-color:var(--button-text-color-hover);text-decoration:none}.ccl-widget .slide .slide-title>a:hover,.ccl-widget .slide a.link-btn:hover,.ccl-widget .slide a.more-caption:hover{text-decoration:none}}.ccl-widget,.ccl-widget *{font-family:inherit}.ccl-widget{--font-title:var(--font-display);--font-desc:var(--font-body);--color-display:var(--sw-key-color, var(--primary-color-700));--color-display-hover:var(--sw-key-color-hover, var(--primary-color-800));--color-body:var(--gray-700);--color-body-alt:var(--gray-100);
122--color-accent:var(--primary-color-800);--btn-text-color:var(--sw-button-secondary-color, var(--primary-color-700));--btn-bg-color:var(--sw-button-secondary-bg, var(--primary-color-100));--btn-bg-color-hover:var(--sw-button-secondary-bg-hover, var(--primary-color-200));--btn-text-color-hover:var(--sw-button-secondary-color-hover, var(--primary-color-900));--overlap-color-display:var(--gray-100);--overlap-color-display-hover:var(--gray-100);--overlap-color-body:var(--gray-100);--overlap-color-body-alt:var(--gray-100);--overlap-btn-hover-color:var(--sw-button-secondary-bg-hover, var(--primary-color-200));--overlap-btn-hover-text-color:var(--sw-button-secondary-color-hover, var(--gray-700))}.ccl-widget .overlap-image{--color-display:var(--overlap-color-display);--color-display-hover:var(--overlap-color-display-hover);--color-body:var(--overlap-color-body);--color-body-alt:var(--overlap-color-body-alt)}.ccl-widget .slide .slide-title{font-family:var(--font-body);font-weight:700;color:var(--color-display)}.ccl-widget .slide .slide-title>a{color:inherit}@media (hover:hover) and (min-width:40em){.ccl-widget .slide.overlap-image-desktop .slide-title>a:hover{text-decoration:underline}}.ccl-widget .inner{position:relative}.ccl-widget .slide p{line-height:var(--leading-normal);font-weight:600;color:var(--color-body)}.ccl-widget .slide.overlap-image p{color:var(--overlap-color-body)}.ccl-widget .slide .slide-footer a,.ccl-widget .slide a.read-more:not(p *),.core-faqs .faq-item .answer a{position:relative;gap:14px;color:var(--tertiary-color-900);padding:var(--space-1) 0 7px;font-size:var(--text-base);text-decoration:none;font-weight:700}.ccl-widget .slide .img-cont{position:relative;overflow:hidden;max-width:100%;border-radius:var(--rounded-md)}.ccl-widget .slide img{display:block;width:100%;height:auto;margin:0}.ccl-widget .slide .slide-footer{--color:var(--gray-700);--color-hover:var(--gray-600);--font-family:var(--font-body);display:flex;align-items:baseline;flex-wrap:wrap;margin:0 calc(var(--space-4) * -1);margin-top:auto;margin-bottom:calc(var(--space-4) * -1);font-family:var(--font-family)}.ccl-widget .slide.overlap-image .slide-footer{--color:var(--overlap-color-display);--color-hover:var(--overlap-color-display-hover);--font-family:var(--font-desc);--btn-hover-color:var(--overlap-btn-hover-color);--btn-hover-text-color:var(--overlap-btn-hover-text-color)}.ccl-widget .slide .slide-footer>*{margin:var(--space-2) var(--space-4)}.ccl-widget .slide .slide-footer a,.ccl-widget .slide a.read-more:not(p *){display:flex;flex-direction:row-reverse;align-items:center}.ccl-widget .slide .slide-footer a::before,.ccl-widget .slide a.read-more:not(p *)::before,.core-faqs .faq-item .answer a::before{content:'\f061';font-family:var(--font-fa);font-size:var(--text-base);font-weight:600}.ccl-widget .slide .slide-footer a::after,.ccl-widget .slide a.read-more:not(p *)::after,.core-faqs .faq-item .answer a::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:var(--tertiary-color-900)}.core-faqs .faq-item .answer a{display:inline-flex;flex-direction:row-reverse;align-items:center;justify-content:flex-end}.ccl-widget .slide .slide-footer button{color:var(--color);text-decoration:none;font-weight:500}.ccl-widget .details li a,.slide.overlap-image .slide-footer button{color:var(--color-display)}@media (hover:hover) and (min-width:64em){.ccl-widget .slide.overlap-image-desktop .slide-footer button:hover{color:var(--overlap-color-display-hover)}}.core-hero-preview-slideshow .glide__arrows .glide__arrow,.core-hero-slideshow .glide__arrows .glide__arrow{margin:0}.ccl-widget .details{--color:var(--color-display);--color-hover:var(--color-display-hover);--icon-color:var(--color);--text-color:var(--color-body);--font-size:var(--text-sm);--font-family:var(--font-body);color:var(--text-color);display:grid;gap:var(--space-1);list-style:none;margin:0;font-size:var(--font-size)}.ccl-widget.overlap-image .details{--text-color:var(--overlap-color-body-alt);--icon-color:var(--overlap-color-body-alt)}.ccl-widget .details li{text-transform:capitalize;line-height:var(--leading-normal)}.ccl-widget .details li.has-link>a,.ccl-widget .details li:not(.has-link){display:grid;grid-template-columns:max-content minmax(auto,max-content);grid-auto-flow:column;gap:var(--space-2);align-items:baseline}.ccl-widget .details li a{font-family:var(--font-family);font-size:var(--font-size);font-weight:500}.ccl-widget .details li .icon{color:var(--icon-color);font-size:17px}.ccl-widget .details .offer-prefix{font-weight:700}@media (hover:hover){.ccl-widget .details a:hover,.ccl-widget .slide .slide-title>a:hover{color:var(--color-display-hover)}.ccl-widget .slide p>a.read-more:hover,.ccl-widget .slide.overlap-image .slide-footer button:hover span,.ccl-widget .slide.overlap-image .slide-title>a:hover,.ccl-widget .slide.overlap-image-desktop .slide-footer button:hover span{text-decoration:underline}.ccl-widget .slide .slide-footer a:hover,.ccl-widget .slide a.read-more:not(p *):hover,.core-faqs .faq-item .answer a:hover{background-color:var(--btn-bg-color-hover);color:var(--btn-text-color-hover)}.ccl-widget .slide .slide-footer a:hover::after,.ccl-widget .slide a.read-more:not(p *):hover::after,.core-faqs .faq-item .answer a:hover::after{background-color:var(--sw-link-color)}.ccl-widget .slide .slide-footer button:hover{color:var(--color-hover)}.ccl-widget .slide.overlap-image .slide-footer button:hover{color:var(--overlap-color-display-hover)}}.ccl-widget .blog-feed-header{--font-size:var(--text-sm);--text-color:var(--gray-700);--accent-color:var(--sw-key-color, var(--primary-color-700));
122--font-family-display:var(--font-display);--font-family-body:var(--font-body);display:grid;grid-template-columns:repeat(auto-fit,minmax(5ch,max-content));gap:var(--space-4)}.ccl-widget .blog-feed-header>*{white-space:nowrap;font-size:var(--font-size);color:var(--text-color);font-family:var(--font-family-body)}.ccl-widget .blog-feed-header>.category{font-family:var(--font-family-display);font-weight:700;color:var(--accent-color)}.ccl-widget .mini-date-section,.core-date-list .date{--background-color:var(--color-accent);--text-color:var(--color-body-alt);--font-family:var(--font-title);--month-size:var(--text-base);--day-size:var(--text-3xl);background-color:var(--sw-mini-date-bg);color:var(--sw-mini-date-color)}.ccl-widget .mini-date-section{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--space-2) var(--space-4);pointer-events:none;font-family:var(--font-body);text-transform:uppercase;font-weight:700;z-index:2;border-radius:0 var(--rounded-md)}.ccl-widget .mini-date-section .date-day,.ccl-widget .mini-date-section .date-month,.core-date-list .date .day,.core-date-list .date .month{line-height:var(--leading-none);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ccl-widget .mini-date-section .date-month{font-size:var(--text-sm);font-weight:100}.ccl-widget .mini-date-section .date-day{font-size:var(--text-2xl);font-weight:800}.ccl-widget .sponsored{display:none;font-family:var(--font-body);font-size:.66rem;z-index:10}.ccl-widget .mosaic-tile .img-cont .sponsored,.ccl-widget .slide:not(.dtn-outside-image) .img-cont .sponsored{display:block;position:absolute;top:0;left:0;margin:var(--space-2) var(--space-3);color:var(--white);text-shadow:0 0 10px var(--black);pointer-events:none}.ccl-widget .slide.dtn-outside-image .content-section .sponsored{display:block}.visitorsPluginContainer .fb-login-button,.visitorsPluginContainer .login_or{display:none}.visitorsPluginContainer button.submit{border:solid 2px var(--white)}.visitorsPluginContainer button.submit::after{content:'\f061';font-family:var(--font-fa);margin:0 0 0 10px;font-size:var(--text-base);font-weight:600}.visitorsPluginContainer button.submit:hover{background-color:var(--sw-button-primary-color);color:var(--sw-button-secondary-color);border:solid 2px var(--sw-button-secondary-color)}@media (min-width:64em){.ccl-widget .overlap-image-desktop{--color-display:var(--overlap-color-display);--color-display-hover:var(--overlap-color-display-hover);--color-body:var(--overlap-color-body);--color-body-alt:var(--overlap-color-body-alt)}.ccl-widget .overlap-image p,.ccl-widget .slide.dtn-outside-image.overlap-image-desktop .content-section .sponsored,.ccl-widget .slide.overlap-image-desktop p{color:var(--overlap-color-body)}.overlap-image-desktop .content-section{position:absolute;bottom:0;left:0;z-index:3;pointer-events:none}.overlap-image-desktop .content-section a{pointer-events:all}.ccl-widget .slide.overlap-image-desktop .slide-footer{--color:var(--overlap-color-display);--color-hover:var(--overlap-color-display-hover);--font-family:var(--font-desc);--btn-hover-color:var(--overlap-btn-hover-color);--btn-hover-text-color:var(--overlap-btn-hover-text-color)}.slide.overlap-image-desktop .slide-footer button{color:var(--color-display)}.ccl-widget .overlap-image-desktop .details{--color:var(--overlap-color-display);--color-hover:var(--overlap-color-display-hover);--text-color:var(--overlap-color-body-alt);--icon-color:var(--overlap-color-body-alt)}.ccl-widget .widget-header-inner{flex-direction:row}.ccl-widget .widget-title{font-size:var(--text-5xl)}} 123 /* hero image */ 124 .core-hero-image{position:relative;margin:0 0 30px}.core-hero-image .slide .img-cont{border-radius:0}.core-hero-image.hide-content .img-cont:after,.core-hero-preview-slideshow.hide-content .img-cont:before,.core-hero-slideshow.hide-content .slide .img-cont:after{content:none}.core-hero-image .content-section{display:none;padding:var(--space-8) var(--space-12);width:100%;max-width:var(--width-comfortable);justify-content:space-between;flex-wrap:wrap;align-items:flex-end;
124gap:var(--space-3);pointer-events:none}.core-hero-image .slide-title{font-size:var(--text-2xl);margin-bottom:var(--space-2);line-height:var(--leading-tight);max-width:80%;pointer-events:none}@media (min-width:40em){.core-hero-image .banner-title{max-width:70%}}.core-hero-image .title-desc-container{width:100%;max-width:var(--width-comfortable)}.core-hero-image .slide .img-cont .credits{flex-grow:1;text-align:right;color:var(--gray-600)}.core-hero-image .img-cont:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:100%;background:linear-gradient(to top,rgb(255 255 255) 0,rgba(0,0,0,0) 40%);pointer-events:none}.core-hero-image .slide p{font-size:var(--text-base);font-weight:400}.core-hero-image .read-more{font-weight:700;color:var(--text-color)} 125 /* hero slideshow */ 126 .core-hero-slideshow{--text-container-width:var(--width-comfortable);--text-container-width:var(--width-comfortable);--letter-spacing:var(--tracking-wide);--title-text-size:var(--text-2xl);--btn-text-size:var(--text-base);--text-size:var(--text-base);position:relative}.core-hero-slideshow .slider-cont{position:relative;margin:0 0 30px}.core-hero-slideshow .slide .img-cont{border-radius:0}.core-hero-slideshow .content-section{display:none;padding:var(--space-5);position:absolute;left:0;bottom:var(--space-12);pointer-events:none}.core-hero-slideshow .slide-title{pointer-events:none;margin-bottom:var(--space-2);width:80%;font-weight:700;line-height:var(--leading-tight);font-size:var(--title-text-size)}.core-hero-slideshow .description{padding-bottom:var(--space-5)}.core-hero-slideshow .slide .slide-footer{display:none;margin:0;position:absolute;left:0;bottom:var(--space-6)}.core-hero-slideshow .slide .slide-footer .read-more{pointer-events:all;padding:var(--space-2) var(--space-5);margin:0;margin-left:var(--space-40)}.core-hero-slideshow .arrows-cont .glide__arrows{position:absolute;bottom:var(--space-6);left:0;right:0;display:flex;gap:var(--space-5);padding:0 var(--space-5);pointer-events:none;z-index:1;justify-items:center;justify-content:center}.core-hero-preview-slideshow .glide__arrows .glide__arrow,.core-hero-slideshow .glide__arrows .glide__arrow{background-color:var(--tertiary-color-600);color:var(--gray-100);width:27px;height:27px;box-shadow:none}.core-hero-slideshow .arrows-cont .glide__arrows i{font-size:17px}.core-hero-slideshow .arrows-cont .glide__arrows .fa-angle-left:before{content:"\f060"}.core-hero-slideshow .arrows-cont .glide__arrows .fa-angle-right:before{content:"\f061"}@media (min-width:40em){.core-hero-slideshow .content-section{max-width:var(--text-container-width);left:var(--space-5);bottom:var(--space-20)}.core-hero-slideshow .slide-title,.core-hero-slideshow a .slide-title{width:70%}.core-hero-slideshow .arrows-cont .glide__arrows,.core-hero-slideshow .slide .slide-footer{bottom:var(--space-10)}.core-hero-slideshow .slide .slide-footer .read-more{margin-left:var(--space-48)}}.core-hero-slideshow .slide .img-cont::after{content:"";background:linear-gradient(to top,rgb(255 255 255) 0,rgba(0,0,0,0) 100%);bottom:0;top:auto;left:0;position:absolute;pointer-events:none;height:70%;width:100%}.core-hero-slideshow .slide p{color:var(--text-color);font-size:var(--text-size);font-weight:400;line-height:var(--leading-normal)} 127 </style> 128 129 130 131 </head> 132 <body> 133 <!-- topBody --> 134 135 <noscript> 136 <iframe src="//www.googletagmanager.com/ns.html?id=GTM-PM3VQJRS" title="Google Tag Manager" height="0" width="0" style="display:none;visibility:hidden"></iframe> 137 </noscript> 138 139 <noscript> 140 <iframe src="//www.googletagmanager.com/ns.html?id=GTM-NFBVG93" title="Google Tag Manager" height="0" width="0" style="display:none;visibility:hidden"></iframe> 141 </noscript> 142 143 144 <!-- content --> 145 <div data-civid="64e5135c9f5c1d284c7152da" class="contentRender contentRender_0 contentRender_type_panel contentRender_name_plugins_common_page" data-sv-time="10" data-sv-index="0" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 146 147 148 149 150 151 152 153<style>.skip-link { display: none; }</style>
154<script> 155 // CRM FORM STYLING HELPER JS 156 // Adds the body class as quickly as possible to hide all the items on the page so we don't 157 // have the site flash before the calendar shows up 158 if (location.search.indexOf('action=popupCal') > -1 && document.body.querySelectorAll('.lookup-calHolder')) { 159 document.body.classList.add('crm-calendar-popup'); 160 }; 161</script>
161 162 163<!-- Adds a check for IE, if we're in IE we block the entire page --> 164<div 165 id="ie-warning" 166 style="position: fixed; z-index: 999999999999; top: 0; left: 0; display: none; align-items: center; justify-content: center; width: 100%; height: 100%; text-align: center; background-color: #fff;" 167 aria-hidden="true" 168> 169 <div> 170 <img 171 src="/includes/public/assets/shared/logo.svg" 172 alt="City of Elmhurst" 173 width="80" 174 height="80" 175 style="margin-bottom: 16px;" 176 /> 177 <p style="font-size: 22px; font-weight: 700; line-height: 1.3; text-align: center;">Your browser is not supported for this experience.<br />We recommend using Chrome, Firefox, Edge, or Safari.</p> 178 </div> 179
179<script> 180 var ieWarning = document.querySelector('#ie-warning'); 181 if (document.body.style.msTouchAction !== undefined) { 182 ieWarning.style.display = 'flex'; 183 ieWarning.setAttribute('aria-hidden', 'false'); 184 } 185 </script>
185 186</div> 187 188 189 190 <a class="skip-link sr-only" href="#slideshow-container">Skip navigation</a> 191 192<a class="skip-link sr-only" href="#main-content">Skip to main content</a> 193 194<div class="root-panel panel-page"> 195 <div class="header-container"> 196 <div data-civid="63f7c70d7cb5e70bd1921816" class="contentRender contentRender_1 contentRender_type_panel contentRender_name_plugins_common_header" data-sv-time="1" data-sv-index="1" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 197 198 199<header class="panel-header theme_1 footer" data-search-active data-active-header data-guid="78aa3cf9-8ca3-4626-845c-cce53eaa6d51"> 200 <div class="header-inner"> 201 <div class="header-top-mobile"> 202 <div class="btn-cont mobile"> 203 <div data-civid="696a7348b881fe0430370b23" class="contentRender contentRender_5 contentRender_type_widget contentRender_name_plugins_common_trolley_tracker" data-sv-time="24" data-sv-index="5" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 204 205<a 206 class="trolley-tracker" 207 data-guid="fed2cf7a-a39b-48d5-a85a-ed8bb03e5c44" 208 href="https://services.saucontds.com/customer-map-common/?companyLocationId=242245630&mapId=1881&hideGutter=true&routeSelectorStyle=none" 209 target="_blank" 210> 211 <img 212 class="img mobile" 213 src="https://assets.simpleviewinc.com/simpleview/image/upload/v1/clients/elmhurstil/trolley_button_mobile_24d3597b-4833-4836-b7e7-856beabd79f4.png" 214 alt="Trolley Tracker Button" 215 width="105" 216 height="35" 217 /> 218 219 <img 220 class="img desktop" 221 src="/includes/public/assets/shared/header/trolley-button.svg" 222 alt="Trolley Tracker Button" 223 width="166" 224 height="56" 225 /> 226</a></div> 227 </div> 228 <div class="header-cont"> 229 <div class="top-cont"> 230 231 <div class="secondary-nav-container"><div data-civid="696a7348b881fe0430370b1d" class="contentRender contentRender_2 contentRender_type_widget contentRender_name_plugins_nav_secondary" data-sv-time="34" data-sv-index="2" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 232 233 234 235 236 237 238<div class="nav-container secondary" data-guid="4f584cce-ca82-4258-bea9-8ba3a22748df" 239 data-gtm-vars='{"tClient_ga4": {"eventName": "navigation_click", "navType": "Secondary"}}' 240> 241 <noscript class="permanently-hidden"> 242 243 <nav> 244 245 <a href="/venue-space/" 246 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Venue%20Space"}}' 247>Venue Space</a> 248 249 <a href="/venue-space/event-services/" 250 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Event%20Services"}}' 251>Event Services</a> 252 253 <a href="/venue-space/weddings/" 254 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Weddings"}}' 255>Weddings</a> 256 257 <a href="/trolley/" 258 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Trolley"}}' 259>Trolley</a> 260 261 <a href="/local-organizations/" 262 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Local%20Organizations"}}' 263>Local Organizations</a> 264 265 <a href="/local-organizations/why-choose-elmhurst/" 266 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Why%20Choose%20Elmhurst%3F"}}' 267>Why Choose Elmhurst?</a> 268 269 <a href="/local-organizations/business-associations/" 270 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Business%20Associations"}}' 271>Business Associations</a> 272 273 <a href="https://exploreelmhurst.com/listing/elmhurst-city-centre/201/" 274 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "City%20Centre"}}' 275>City Centre</a> 276 277 <a href="https://exploreelmhurst.com/listing/york-%26-vallette-business-association/405/" 278 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "York%20%26%20Vallette"}}' 279>York & Vallette</a> 280 281 <a href="https://exploreelmhurst.com/listing/spring-road-business-association/317/" 282 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Spring%20Road"}}' 283>Spring Road</a> 284 285 <a href="https://exploreelmhurst.com/listing/lake-york-business-association/1260/" 286 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Lake%20York%20Business%20Association"}}' 287>Lake York Business Association</a> 288 289 <a href="/local-organizations/chamber-of-commerce/" 290 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Chamber%20of%20Commerce"}}' 291>Chamber of Commerce</a> 292 293 <a href="/local-organizations/non-profit-organizations/" 294 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Non-Profit%20Organizations"}}' 295>Non-Profit Organizations</a> 296 297 <a href="https://exploreelmhurst.com/blog/" 298 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "News%20Blog"}}' 299>News Blog</a> 300 301 <a href="/special-offers/" 302 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Special%20Offers"}}' 303>Special Offers</a> 304 305 <a href="/america-250/" 306 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "America250"}}' 307>America250</a> 308 309 </nav> 310 311 </noscript> 312 313 314 <nav class="navigation navigation-dropdown secondary desktop" role="navigation" data-secondary-nav-desktop 315 data-gtm-vars='{"tClient_ga4": {"eventName": "navigation_click", "navType": "Secondary"}}' 316> 317
317<script type="text/template" data-nav-item-template>{{+linkTracking}} 318 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "{{%%data.title}}"}}' 319{{/}} 320{{+nav_items}} 321 {{+nav_items_helper}} {{!-- This nested partial is necessary to make this partial recursive because helpers.partial 322 only outputs the inner text of the partial, not the partial name. Please do not remove! --}} 323 {{#shownchildren}} 324 {{~exec(function() { 325 if (!data.isLazyLoaded) { 326 helpers.var.depth = 1; 327 } else { 328 helpers.var.depth = data.depth; 329 } 330 })}} 331 <div class="nav-item level-{{~var.depth}} {{data.section}}" data-id="{{data.id}}" data-nav-item> 332 <div class="nav-item-control level-{{~var.depth}}"> 333 <a 334 class="nav-link" 335 href="{{href}}" 336 target="{{target}}" 337 {{>linkTracking}} 338 > 339 {{data.title}} 340 </a> 341 {{:shownchildren}} 342 <button 343 class="dropdown-toggle" 344 aria-label="open submenu" 345 aria-haspopup="true" 346 aria-expanded="false" 347 data-dropdown-toggle 348 > 349 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 350 </button> 351 {{/}} 352 {{:shownchildren}} 353 <hr class="border"/> 354 {{/}} 355 </div> 356 {{:shownchildren}} 357 <div class="dropdown-helper" data-dropdown-helper></div> 358 <div 359 class="dropdown-menu level-{{~var.depth}} 360 {{:isLazyLoaded}} 361 {{:shownChildren.0}}rendered{{/}} 362 {{/}}" 363 data-parent-id="{{data.id}}" 364 data-start="{{data.folderHref}}" 365 data-section="{{data.section}}" 366 data-dropdown-menu 367 style="display: none" 368 > 369 {{:isLazyLoaded}} 370 {{>nav_items_helper}} 371 {{/}} 372 </div> 373 {{/}} 374 </div> 375 {{/}} 376 {{/}} 377 {{>nav_items_helper}} 378{{/}} 379 380{{>nav_items}}</script>
380 381 382 383 384 385 386 387 388 389 <div class="nav-item level-1 secondary" data-id="64b82c55f1b2d13c0f325d0a" data-nav-item> 390 <div class="nav-item-control level-1"> 391 <a 392 class="nav-link" 393 href="/venue-space/" 394 target="_self" 395 396 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "Venue%20Space"}}' 397 398 > 399 Venue Space 400 </a> 401 402 <button 403 class="dropdown-toggle" 404 aria-label="open submenu" 405 aria-haspopup="true" 406 aria-expanded="false" 407 data-dropdown-toggle 408 > 409 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 410 </button> 411 412 413 <hr class="border"/> 414 415 </div> 416 417 <div class="dropdown-helper" data-dropdown-helper></div> 418 <div 419 class="dropdown-menu level-1 420 " 421 data-parent-id="64b82c55f1b2d13c0f325d0a" 422 data-start="/venue-space/" 423 data-section="secondary" 424 data-dropdown-menu 425 style="display: none" 426 > 427 428 </div> 429 430 </div> 431 432 433 <div class="nav-item level-1 secondary" data-id="64b82c55f1b2d13c0f325d1e" data-nav-item> 434 <div class="nav-item-control level-1"> 435 <a 436 class="nav-link" 437 href="/trolley/" 438 target="_self" 439 440 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "Trolley"}}' 441 442 > 443 Trolley 444 </a> 445 446 447 </div> 448 449 </div> 450 451 452 <div class="nav-item level-1 secondary" data-id="64b82c55f1b2d13c0f325d30" data-nav-item> 453 <div class="nav-item-control level-1"> 454 <a 455 class="nav-link" 456 href="/local-organizations/" 457 target="_self" 458 459 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "Local%20Organizations"}}' 460 461 > 462 Local Organizations 463 </a> 464 465 <button 466 class="dropdown-toggle" 467 aria-label="open submenu" 468 aria-haspopup="true" 469 aria-expanded="false" 470 data-dropdown-toggle 471 > 472 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 473 </button> 474 475 476 <hr class="border"/> 477 478 </div> 479 480 <div class="dropdown-helper" data-dropdown-helper></div> 481 <div 482 class="dropdown-menu level-1 483 " 484 data-parent-id="64b82c55f1b2d13c0f325d30" 485 data-start="/local-organizations/" 486 data-section="secondary" 487 data-dropdown-menu 488 style="display: none" 489 > 490 491 </div> 492 493 </div> 494 495 496 <div class="nav-item level-1 secondary" data-id="64b82c55f1b2d13c0f325d44" data-nav-item> 497 <div class="nav-item-control level-1"> 498 <a 499 class="nav-link" 500 href="https://exploreelmhurst.com/blog/" 501 target="_self" 502 503 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "News%20Blog"}}' 504 505 > 506 News Blog 507 </a> 508 509 510 </div> 511 512 </div> 513 514 515 <div class="nav-item level-1 secondary" data-id="64b82c55f1b2d13c0f325d45" data-nav-item> 516 <div class="nav-item-control level-1"> 517 <a 518 class="nav-link" 519 href="/special-offers/" 520 target="_self" 521 522 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "Special%20Offers"}}' 523 524 > 525 Special Offers 526 </a> 527 528 529 </div> 530 531 </div> 532 533 534 <div class="nav-item level-1 secondary" data-id="69388cd29f4bad49c39485b2" data-nav-item> 535 <div class="nav-item-control level-1"> 536 <a 537 class="nav-link" 538 href="/america-250/" 539 target="_self" 540 541 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "America250"}}' 542 543 > 544 America250 545 </a> 546 547 548 </div> 549 550 </div> 551 552 553 554 </nav> 555 556 <nav class="navigation secondary mobile hide" role="navigation" data-secondary-nav-mobile 557 data-gtm-vars='{"tClient_ga4": {"eventName": "navigation_click", "navType": "Secondary"}}' 558> 559
559<script type="text/template" data-nav-item-template>{{+linkTracking}} 560 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "{{%%data.title}}"}}' 561{{/}} 562{{+nav_items}} 563 {{+nav_items_helper}} {{!-- This nested partial is necessary to make this partial recursive because helpers.partial 564 only outputs the inner text of the partial, not the partial name. Please do not remove! --}} 565 {{#shownchildren}} 566 {{~exec(function() { 567 if (!data.isLazyLoaded) { 568 helpers.var.depth = 1; 569 } else { 570 helpers.var.depth = data.depth; 571 } 572 })}} 573 <div class="nav-item level-{{~var.depth}} {{data.section}}" data-id="{{data.id}}" data-nav-item> 574 <div class="nav-item-control level-{{~var.depth}}"> 575 <a 576 class="nav-link" 577 href="{{href}}" 578 target="{{target}}" 579 {{>linkTracking}} 580 > 581 {{data.title}} 582 </a> 583 {{:shownchildren}} 584 <button 585 class="dropdown-toggle" 586 aria-label="open submenu" 587 aria-haspopup="true" 588 aria-expanded="false" 589 data-dropdown-toggle 590 > 591 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 592 </button> 593 {{/}} 594 {{:shownchildren}} 595 <hr class="border"/> 596 {{/}} 597 </div> 598 {{:shownchildren}} 599 <div class="dropdown-helper" data-dropdown-helper></div> 600 <div 601 class="dropdown-menu level-{{~var.depth}} 602 {{:isLazyLoaded}} 603 {{:shownChildren.0}}rendered{{/}} 604 {{/}}" 605 data-parent-id="{{data.id}}" 606 data-start="{{data.folderHref}}" 607 data-section="{{data.section}}" 608 data-dropdown-menu 609 style="display: none" 610 > 611 {{:isLazyLoaded}} 612 {{>nav_items_helper}} 613 {{/}} 614 </div> 615 {{/}} 616 </div> 617 {{/}} 618 {{/}} 619 {{>nav_items_helper}} 620{{/}} 621 622{{>nav_items}}</script>
622 623 624 625 626 627 628 629 630 631 <div class="nav-item level-1 secondary" data-id="64b82c55f1b2d13c0f325d0a" data-nav-item> 632 <div class="nav-item-control level-1"> 633 <a 634 class="nav-link" 635 href="/venue-space/" 636 target="_self" 637 638 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "Venue%20Space"}}' 639 640 > 641 Venue Space 642 </a> 643 644 <button 645 class="dropdown-toggle" 646 aria-label="open submenu" 647 aria-haspopup="true" 648 aria-expanded="false" 649 data-dropdown-toggle 650 > 651 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 652 </button> 653 654 655 <hr class="border"/> 656 657 </div> 658 659 <div class="dropdown-helper" data-dropdown-helper></div> 660 <div 661 class="dropdown-menu level-1 662 " 663 data-parent-id="64b82c55f1b2d13c0f325d0a" 664 data-start="/venue-space/" 665 data-section="secondary" 666 data-dropdown-menu 667 style="display: none" 668 > 669 670 </div> 671 672 </div> 673 674 675 <div class="nav-item level-1 secondary" data-id="64b82c55f1b2d13c0f325d1e" data-nav-item> 676 <div class="nav-item-control level-1"> 677 <a 678 class="nav-link" 679 href="/trolley/" 680 target="_self" 681 682 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "Trolley"}}' 683 684 > 685 Trolley 686 </a> 687 688 689 </div> 690 691 </div> 692 693 694 <div class="nav-item level-1 secondary" data-id="64b82c55f1b2d13c0f325d30" data-nav-item> 695 <div class="nav-item-control level-1"> 696 <a 697 class="nav-link" 698 href="/local-organizations/" 699 target="_self" 700 701 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "Local%20Organizations"}}' 702 703 > 704 Local Organizations 705 </a> 706 707 <button 708 class="dropdown-toggle" 709 aria-label="open submenu" 710 aria-haspopup="true" 711 aria-expanded="false" 712 data-dropdown-toggle 713 > 714 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 715 </button> 716 717 718 <hr class="border"/> 719 720 </div> 721 722 <div class="dropdown-helper" data-dropdown-helper></div> 723 <div 724 class="dropdown-menu level-1 725 " 726 data-parent-id="64b82c55f1b2d13c0f325d30" 727 data-start="/local-organizations/" 728 data-section="secondary" 729 data-dropdown-menu 730 style="display: none" 731 > 732 733 </div> 734 735 </div> 736 737 738 <div class="nav-item level-1 secondary" data-id="64b82c55f1b2d13c0f325d44" data-nav-item> 739 <div class="nav-item-control level-1"> 740 <a 741 class="nav-link" 742 href="https://exploreelmhurst.com/blog/" 743 target="_self" 744 745 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "News%20Blog"}}' 746 747 > 748 News Blog 749 </a> 750 751 752 </div> 753 754 </div> 755 756 757 <div class="nav-item level-1 secondary" data-id="64b82c55f1b2d13c0f325d45" data-nav-item> 758 <div class="nav-item-control level-1"> 759 <a 760 class="nav-link" 761 href="/special-offers/" 762 target="_self" 763 764 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "Special%20Offers"}}' 765 766 > 767 Special Offers 768 </a> 769 770 771 </div> 772 773 </div> 774 775 776 <div class="nav-item level-1 secondary" data-id="69388cd29f4bad49c39485b2" data-nav-item> 777 <div class="nav-item-control level-1"> 778 <a 779 class="nav-link" 780 href="/america-250/" 781 target="_self" 782 783 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "America250"}}' 784 785 > 786 America250 787 </a> 788 789 790 </div> 791 792 </div> 793 794 795 796 </nav> 797 798</div> 799
800<script> 801 require([ 802 'jquery', 803 'plugins_nav_custom_nav_desktop_dropdown', 804 'plugins_nav_custom_nav_mobile', 805 ], function($, navDesktop, navMobile) { 806 var root = $('[data-guid="4f584cce-ca82-4258-bea9-8ba3a22748df"]'); 807 var navTreeDepth = 2; 808 navDesktop.init(root, '[data-secondary-nav-desktop]', navTreeDepth); 809 navMobile.init(root, '[data-secondary-nav-mobile]', '[data-secondary-nav-cont]', navTreeDepth); 810 }); 811</script>
811</div></div> 812 813 <div class="btn-cont desktop"> 814 <div data-civid="696a7348b881fe0430370b23" class="contentRender contentRender_5 contentRender_type_widget contentRender_name_plugins_common_trolley_tracker" data-sv-time="24" data-sv-index="5" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 815 816<a 817 class="trolley-tracker" 818 data-guid="fed2cf7a-a39b-48d5-a85a-ed8bb03e5c44" 819 href="https://services.saucontds.com/customer-map-common/?companyLocationId=242245630&mapId=1881&hideGutter=true&routeSelectorStyle=none" 820 target="_blank" 821> 822 <img 823 class="img mobile" 824 src="https://assets.simpleviewinc.com/simpleview/image/upload/v1/clients/elmhurstil/trolley_button_mobile_24d3597b-4833-4836-b7e7-856beabd79f4.png" 825 alt="Trolley Tracker Button" 826 width="105" 827 height="35" 828 /> 829 830 <img 831 class="img desktop" 832 src="/includes/public/assets/shared/header/trolley-button.svg" 833 alt="Trolley Tracker Button" 834 width="166" 835 height="56" 836 /> 837</a></div> 838 </div> 839 <div class="weather-cont"> 840 <div data-civid="696a7348b881fe0430370b21" class="contentRender contentRender_4 contentRender_type_widget contentRender_name_plugins_weather_weather" data-sv-time="60" data-sv-index="4" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 841 842<div class="weather-wrapper" data-sv-weatherWidget></div> 843
844<script id="translations_550da2b9-3914-40ba-8ed1-2ba47c1a7f28" type="text/template"> 845 {"current_conditions":"Current Conditions","sunny":"Sunny","clear":"Clear","windy":"Windy","partly_cloudy":"Partly Cloudy","mostly_cloudy":"Mostly Cloudy","rain":"Rain","rain_and_snow":"Rain and Snow","snow":"Snow","fog":"Fog","thunderstorm":"Thunderstorm","monday":"Monday","tuesday":"Tuesday","wednesday":"Wednesday","thursday":"Thursday","friday":"Friday","saturday":"Saturday","sunday":"Sunday"} 846</script>
846 847
848<script type="text/template" data-weatherwidget-template> 849 850 {{!dropdownEnabled}} 851 <div class="weather-info"> 852 <span class="weather-icon"> 853 <i class="wi {{condition.icon}}" aria-hidden="true"></i> 854 </span> 855 <span class="temp"> 856 {{temp}}<span class="deg">°</span> 857 </span> 858 </div> 859 {{?}} 860 <button class="weather-button" 861 data-sv-weather-toggle 862 aria-label="toggle weather dropdown" 863 aria-controls="weather-dropdown" 864 aria-expanded="false" 865 > 866 <span class="weather-icon"> 867 <i class="wi {{current.condition.icon}}" aria-hidden="true"></i> 868 </span> 869 <span class="temp"> 870 {{current.temp}}<span class="deg">°</span> 871 <i class="fa fa-chevron-down" aria-hidden="true"></i> 872 </span> 873 </button> 874 <div id="weather-dropdown" class="weather-dropdown" data-sv-weather-dropdown> 875 <div class="top-section"> 876 <div class="header"> 877 {{currentConditions}} 878 </div> 879 <div class="forecast-wrapper"> 880 <div class="forecast"> 881 <div class="temp-wrapper"> 882 <span class="weather-icon"> 883 <i class="wi {{current.condition.icon}}" aria-hidden="true"></i> 884 </span> 885 <span class="temp"> 886 {{current.temp}}<span class="deg">°</span> 887 </span> 888 </div> 889 <div class="info"> 890 {{current.condition.text}} 891 </div> 892 </div> 893 </div> 894 </div> 895 <div class="forecast-list"> 896 {{#forecast}} 897 <div class="item"> 898 <div class="item-details" title="{{condition.text}}"> 899 <div class="day"> 900 {{day}} 901 </div> 902 <div class="data"> 903 <div class="visual"> 904 <span class="weather-icon"> 905 <i class="wi {{condition.icon}}" aria-hidden="true"></i> 906 </span> 907 </div> 908 <div class="high"> 909 {{high}}<span class="deg">°</span> 910 </div> 911 <div class="sep"></div> 912 <div class="low"> 913 {{low}}<span class="deg">°</span> 914 </div> 915 </div> 916 </div> 917 </div> 918 {{/forecast}} 919 </div> 920 </div> 921 {{/}} 922 923</script>
923 924
925<script> 926 require(["goatee", "sv_urlLib", "sv_site"], function(goatee, urlLib, sv_site) { 927 let root = document.querySelector("[data-sv-weatherWidget]"); 928 let template = document.querySelector("[data-weatherwidget-template]").innerHTML; 929 let weatherCont = document.querySelector("[data-weather-cont]"); 930 let settings = {"unit_of_measure":"f"}; 931 let translations = JSON.parse(document.querySelector("#translations_550da2b9-3914-40ba-8ed1-2ba47c1a7f28").innerHTML); 932 let configDropdownValue = sv_site.siteConfig.custom[sv_site.site]?.weather?.dropdownEnabled; 933 const dropdownEnabled = configDropdownValue !== undefined ? configDropdownValue : true; 934 935 let url = urlLib.build({ 936 path : "/plugins/core/svapi/", 937 get : { 938 service : "weatherv2", 939 endpoint : "latlng", 940 serviceArgs : JSON.stringify({ 941 lat : settings.latitude || sv_site.siteConfig.latitude, 942 lng : settings.longitude || sv_site.siteConfig.longitude, 943 unit : settings.unit_of_measure 944 }) 945 } 946 }); 947 948 // if dropdown run data handling 949 if (dropdownEnabled) { 950 fetch(url) 951 .then(res => res.json()) 952 .then(json => { 953 json.data.forecast.splice(5); 954 955 // translate days and conditions
956 let currentConditions = translations.current_conditions; 957 958 json.data.forecast = json.data.forecast.map(dayForecast => { 959 return {...dayForecast, day: translations[dayForecast.day.toLowerCase()]}; 960 }); 961 962 json.data.current.condition.text = json.data.current.condition.name === 'clear' 963 ? translations[json.data.current.condition.text.toLowerCase()] 964 : translations[json.data.current.condition.name.toLowerCase()]; 965 966 // fill the template with json data 967 fillTemplate({...json.data, currentConditions, dropdownEnabled}); 968 969 // add on click event listener 970 let buttons = document.querySelectorAll("[data-sv-weather-toggle]"); 971 buttons.forEach( elem => { 972 elem.addEventListener('click',function(e){ 973 let dropdown = this.parentNode.querySelector("[data-sv-weather-dropdown]"); 974 dropdown.classList.toggle("open"); 975 let isActive = dropdown.classList.contains("open"); 976 this.setAttribute("aria-expanded", isActive); 977 }); 978 }) 979 }); 980 } else { 981 //else use current temp and disable the dropdown 982 fetch(url) 983 .then(res => res.json()) 984 .then(json => { 985 // fill the template with json data 986 fillTemplate({...json.data.current, dropdownEnabled}); 987 }) 988 } 989 990 function fillTemplate (data) { 991 let html = goatee.fill(template, {...data}); 992 root.innerHTML = html; 993 let clone = root.cloneNode(true); 994 995 weatherCont?.replaceWith(clone); 996 } 997 }); 998 999</script>
999 1000</div> 1001 </div> 1002 </div> 1003 <div class="primary-content-container"> 1004 <div class="main-nav-widgets-container"> 1005 <div data-civid="696a7348b881fe0430370b2b" class="contentRender contentRender_9 contentRender_type_widget contentRender_name_plugins_nav_main_dropdown" data-sv-time="38" data-sv-index="9" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 1006 1007 1008 1009<div class="nav-container" data-guid="1dda6a72-2c72-4664-bfd6-0ade7a7510ff" 1010 data-gtm-vars='{"tClient_ga4": {"eventName": "navigation_click", "navType": "Main"}}' 1011> 1012 <noscript class="permanently-hidden"> 1013 1014 <nav> 1015 1016 1017 1018 <a href="/things-to-do/" 1019 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Things%20To%20Do"}}' 1020>Things To Do</a> 1021 1022 <a href="/things-to-do/arts-and-culture/" 1023 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Arts%20%26%20Culture"}}' 1024>Arts & Culture</a> 1025 1026 <a href="/things-to-do/arts-and-culture/elmhurst-art-museum/" 1027 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Elmhurst%20Art%20Museum"}}' 1028>Elmhurst Art Museum</a> 1029 1030 <a href="/things-to-do/arts-and-culture/elmhurst-childrens-theatre/" 1031 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Elmhurst%20Children%27s%20Theatre"}}' 1032>Elmhurst Children's Theatre</a> 1033 1034 <a href="/things-to-do/arts-and-culture/elmhurst-choral-union/" 1035 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Elmhurst%20Choral%20Union"}}' 1036>Elmhurst Choral Union</a> 1037 1038 <a href="/things-to-do/arts-and-culture/elmhurst-history-museum/" 1039 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Elmhurst%20History%20Museum"}}' 1040>Elmhurst History Museum</a> 1041 1042 <a href="/things-to-do/arts-and-culture/elmhurst-public-library/" 1043 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Elmhurst%20Public%20Library"}}' 1044>Elmhurst Public Library</a> 1045 1046 <a href="/things-to-do/arts-and-culture/elmhurst-symphony-orchestra/" 1047 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Elmhurst%20Symphony%20Orchestra"}}' 1048>Elmhurst Symphony Orchestra</a> 1049 1050 <a href="/things-to-do/arts-and-culture/the-york-theatre/" 1051 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "The%20York%20Theatre"}}' 1052>The York Theatre</a> 1053 1054 <a href="/things-to-do/arts-and-culture/greenman-theatre-troupe/" 1055 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "GreenMan%20Theatre%20Troupe"}}' 1056>GreenMan Theatre Troupe</a> 1057 1058 <a href="/things-to-do/arts-and-culture/elmhurst-centre-for-performing-arts/" 1059 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Elmhurst%20Centre%20for%20Performing%20Arts"}}' 1060>Elmhurst Centre for Performing Arts</a> 1061 1062 <a href="/things-to-do/parks-and-outdoor-recreation/" 1063 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Parks%20%26%20Outdoor%20Recreation"}}' 1064>Parks & Outdoor Recreation</a> 1065 1066 <a href="/things-to-do/parks-and-outdoor-recreation/parks/" 1067 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Parks"}}' 1068>Parks</a> 1069 1070 <a href="/things-to-do/parks-and-outdoor-recreation/elmhurst-park-district/" 1071 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Elmhurst%20Park%20District"}}' 1072>Elmhurst Park District</a> 1073 1074 <a href="/things-to-do/parks-and-outdoor-recreation/courts-plus/" 1075 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Courts%20Plus"}}' 1076>Courts Plus</a> 1077 1078 <a href="/things-to-do/parks-and-outdoor-recreation/wilder-mansion/" 1079 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Wilder%20Mansion"}}' 1080>Wilder Mansion</a> 1081 1082 <a href="/things-to-do/parks-and-outdoor-recreation/wilder-park-conservatory/" 1083 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Wilder%20Park%20Conservatory"}}' 1084>Wilder Park Conservatory</a> 1085 1086 <a href="/things-to-do/parks-and-outdoor-recreation/sugar-creek-golf-course/" 1087 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Sugar%20Creek%20Golf%20Course"}}' 1088>Sugar Creek Golf Course</a> 1089 1090 <a href="/things-to-do/parks-and-outdoor-recreation/the-hub-at-berens-park/" 1091 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "The%20Hub%20at%20Berens%20Park"}}' 1092>The Hub at Berens Park</a> 1093 1094 <a href="/things-to-do/parks-and-outdoor-recreation/east-end-pool/" 1095 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "East%20End%20Pool"}}' 1096>East End Pool</a> 1097 1098 <a href="/things-to-do/parks-and-outdoor-recreation/norman-p-smalley-pool/" 1099 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Norman%20P.%20Smalley%20Pool"}}' 1100>Norman P. Smalley Pool</a> 1101 1102 <a href="/things-to-do/monuments-and-public-art/" 1103 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Monuments%20%26%20Public%20Art"}}' 1104>Monuments & Public Art</a> 1105 1106 <a href="/things-to-do/monuments-and-public-art/millennium-fountain/" 1107 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Millennium%20Fountain"}}' 1108>Millennium Fountain</a> 1109 1110 <a href="/things-to-do/monuments-and-public-art/bicentennial-fountain/" 1111 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Bicentennial%20Fountain"}}' 1112>Bicentennial Fountain</a> 1113 1114 <a href="/things-to-do/monuments-and-public-art/elmhurst-remembers-memorial/" 1115 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "%22Elmhurst%20Remembers%22%20Memorial"}}' 1116>"Elmhurst Remembers" Memorial</a> 1117 1118 <a href="/things-to-do/monuments-and-public-art/sesquicentennial-clock/" 1119 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Sesquicentennial%20Clock"}}' 1120>Sesquicentennial Clock</a> 1121
1122 <a href="/things-to-do/monuments-and-public-art/memorial-to-elmhurst-veterans-of-the-vietnam-war/" 1123 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Memorial%20to%20Elmhurst%20veterans%20of%20the%20Vietnam%20War"}}' 1124>Memorial to Elmhurst veterans of the Vietnam War</a> 1125 1126 <a href="/things-to-do/monuments-and-public-art/world-war-1-elmhurst-veterans-memorial/" 1127 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "World%20War%201%20Elmhurst%20Veterans%20Memorial"}}' 1128>World War 1 Elmhurst Veterans Memorial</a> 1129 1130 <a href="/things-to-do/monuments-and-public-art/veterans-memorial/" 1131 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Veterans%20Memorial"}}' 1132>Veterans Memorial</a> 1133 1134 <a href="/things-to-do/monuments-and-public-art/glos-mausoleum/" 1135 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Glos%20Mausoleum"}}' 1136>Glos Mausoleum</a> 1137 1138 <a href="/things-to-do/monuments-and-public-art/roof-finial-from-the-cook-county-courthouse/" 1139 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Roof%20finial%20from%20the%20Cook%20County%20Courthouse"}}' 1140>Roof finial from the Cook County Courthouse</a> 1141 1142 <a href="/things-to-do/monuments-and-public-art/a-bronze-sculpture-titled-once-upon-a-time/" 1143 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "A%20bronze%20sculpture%20titled%20%22Once%20Upon%20a%20Time.%22"}}' 1144>A bronze sculpture titled "Once Upon a Time."</a> 1145 1146 <a href="/things-to-do/monuments-and-public-art/niebuhr-monument/" 1147 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Niebuhr%20Monument"}}' 1148>Niebuhr Monument</a> 1149 1150 <a href="/things-to-do/monuments-and-public-art/mural-there-was-vision/" 1151 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Mural%2C%20%22There%20Was%20Vision%22"}}' 1152>Mural, "There Was Vision"</a> 1153 1154 <a href="/things-to-do/monuments-and-public-art/hill-cottage-tavern-plaque/" 1155 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Hill%20Cottage%20Tavern%20Plaque"}}' 1156>Hill Cottage Tavern Plaque</a> 1157 1158 <a href="/things-to-do/monuments-and-public-art/phase-three-mural/" 1159 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Phase%20Three%20Mural"}}' 1160>Phase Three Mural</a> 1161 1162 <a href="/things-to-do/monuments-and-public-art/be-bold-be-elmhurst-mural/" 1163 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Be%20Bold.%20Be%20Elmhurst%20Mural"}}' 1164>Be Bold. Be Elmhurst Mural</a> 1165 1166 <a href="/things-to-do/monuments-and-public-art/umbrella-sky-project/" 1167 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Umbrella%20Sky%20Project"}}' 1168>Umbrella Sky Project</a> 1169 1170 <a href="/things-to-do/monuments-and-public-art/first-responders-memorial/" 1171 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "First%20Responders%20Memorial"}}' 1172>First Responders Memorial</a> 1173 1174 <a href="/things-to-do/monuments-and-public-art/skycube/" 1175 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "SkyCube"}}' 1176>SkyCube</a> 1177 1178 <a href="/things-to-do/monuments-and-public-art/bird-city-saint/" 1179 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Bird%20City%20Saint"}}' 1180>Bird City Saint</a> 1181 1182 <a href="/things-to-do/monuments-and-public-art/curl/" 1183 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Curl"}}' 1184>Curl</a> 1185 1186 <a href="/things-to-do/monuments-and-public-art/figure-in-the-garden/" 1187 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Figure%20in%20the%20Garden"}}' 1188>Figure in the Garden</a> 1189 1190 <a href="/things-to-do/monuments-and-public-art/art-from-the-heart/" 1191 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Art%20from%20the%20Heart"}}' 1192>Art from the Heart</a> 1193 1194 <a href="/things-to-do/monuments-and-public-art/you-are-beautiful/" 1195 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "You%20are%20Beautiful"}}' 1196>You are Beautiful</a> 1197 1198 <a href="/things-to-do/monuments-and-public-art/sistine-touch/" 1199 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Sistine%20Touch"}}' 1200>Sistine Touch</a> 1201 1202 <a href="/things-to-do/monuments-and-public-art/portal-sculpture/" 1203 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Portal%20Sculpture"}}' 1204>Portal Sculpture</a> 1205 1206 <a href="/things-to-do/fitness-and-indoor-recreation/" 1207 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Fitness%20%26%20Indoor%20Recreation"}}' 1208>Fitness & Indoor Recreation</a> 1209 1210 <a href="/things-to-do/salons-and-spas/" 1211 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Salons%20%26%20Spas"}}' 1212>Salons & Spas</a> 1213 1214 <a href="/things-to-do/worship/" 1215 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Worship"}}' 1216>Worship</a> 1217 1218 <a href="https://exploreelmhurst.com/america-250/" 1219 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "America250"}}' 1220>America250</a> 1221 1222 <a href="/events/" 1223 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Events"}}' 1224>Events</a> 1225 1226 <a href="/events/spring-events/" 1227 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Spring%20Events"}}' 1228>Spring Events</a> 1229 1230 <a href="/events/spring-events/art-in-the-park/" 1231 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Art%20In%20the%20Park"}}' 1232>Art In the Park</a> 1233 1234 <a href="/events/spring-events/bike-ride-safety-day/" 1235 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Bike%20Ride%20Safety%20Day"}}' 1236>Bike Ride Safety Day</a> 1237 1238 <a href="/events/summer-events/" 1239 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Summer%20Events"}}' 1240>Summer Events</a> 1241 1242 <a href="/events/summer-events/elmhurst-farmers-market/" 1243 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Elmhurst%20Farmers%20Market"}}' 1244>
1244Elmhurst Farmers Market</a> 1245 1246 <a href="/events/summer-events/elmhurst-university-june-jazz/" 1247 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Elmhurst%20University%20June%20Jazz"}}' 1248>Elmhurst University June Jazz</a> 1249 1250 <a href="/events/summer-events/safety-night-out/" 1251 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Safety%20Night%20Out"}}' 1252>Safety Night Out</a> 1253 1254 <a href="/events/summer-events/special-kids-day/" 1255 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Special%20Kids%20Day"}}' 1256>Special Kids Day</a> 1257 1258 <a href="/events/summer-events/frenchmarket/" 1259 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Elmhurst%20French%20Market"}}' 1260>Elmhurst French Market</a> 1261 1262 <a href="/events/fall-events/" 1263 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Fall%20Events"}}' 1264>Fall Events</a> 1265 1266 <a href="/events/fall-events/rock-the-block/" 1267 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Rock-the-Block"}}' 1268>Rock-the-Block</a> 1269 1270 <a href="/events/fall-events/elmhurst-craft-beer-fest/" 1271 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Elmhurst%20Craft%20Beer%20Fest"}}' 1272>Elmhurst Craft Beer Fest</a> 1273 1274 <a href="/events/fall-events/park-palooza/" 1275 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Park%20Palooza"}}' 1276>Park Palooza</a> 1277 1278 <a href="/events/fall-events/cue-for-a-cause/" 1279 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Cue%20for%20a%20Cause"}}' 1280>Cue for a Cause</a> 1281 1282 <a href="https://exploreelmhurst.com/events/summer-events/elmhurst-farmers-market/" 1283 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Elmhurst%20Farmers%20Market"}}' 1284>Elmhurst Farmers Market</a> 1285 1286 <a href="/events/winter-events/" 1287 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Winter%20Events"}}' 1288>Winter Events</a> 1289 1290 <a href="/events/winter-events/dan-gibbons-turkey-trot/" 1291 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Dan%20Gibbon%27s%20Turkey%20Trot"}}' 1292>Dan Gibbon's Turkey Trot</a> 1293 1294 <a href="/events/winter-events/elmhurst-university-jazz-festival/" 1295 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Elmhurst%20University%20Jazz%20Festival"}}' 1296>Elmhurst University Jazz Festival</a> 1297 1298 <a href="/events/parades/" 1299 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Parades"}}' 1300>Parades</a> 1301 1302 <a href="/events/parades/memorial-day-parade/" 1303 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Memorial%20Day%20Parade"}}' 1304>Memorial Day Parade</a> 1305 1306 <a href="/events/parades/spring-road-st-patricks-day-parade/" 1307 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Spring%20Road%20St.%20Patrick%27s%20Day%20Parade"}}' 1308>Spring Road St. Patrick's Day Parade</a> 1309 1310 <a href="/events/front-porch-newsletter/" 1311 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Front%20Porch%20Newsletter"}}' 1312>Front Porch Newsletter</a> 1313 1314 <a href="/events/submit-your-event/" 1315 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Submit%20Your%20Event"}}' 1316>Submit Your Event</a> 1317 1318 1319 1320 <a href="https://exploreelmhurst.com/america-250/" 1321 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "America250"}}' 1322>America250</a> 1323 1324 <a href="/restaurants/" 1325 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Restaurants"}}' 1326>Restaurants</a> 1327 1328 <a href="/restaurants/drinks-and-breweries/" 1329 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Drinks%20%26%20Breweries"}}' 1330>Drinks & Breweries</a> 1331 1332 <a href="/restaurants/dine-in/" 1333 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Dine%20In"}}' 1334>Dine In</a> 1335 1336 <a href="/restaurants/quick-bites/" 1337 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Quick%20Bites"}}' 1338>Quick Bites</a> 1339 1340 <a href="/restaurants/coffee-bakeries-and-sweets/" 1341 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Coffee%2C%20Bakeries%20%26%20Sweets"}}' 1342>Coffee, Bakeries & Sweets</a> 1343 1344 <a href="/places-to-stay/" 1345 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Places%20To%20Stay"}}' 1346>Places To Stay</a> 1347 1348 <a href="/places-to-stay/hotels/" 1349 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Hotels"}}' 1350>Hotels</a> 1351 1352 <a href="/plan-your-visit/" 1353 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Plan%20Your%20Visit"}}' 1354>Plan Your Visit</a> 1355 1356 <a href="https://elmhurst.org/services/finance/parking/index.php" 1357 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Parking"}}' 1358>Parking</a> 1359 1360 <a href="https://elmhurst.org/community/transportation.php" 1361 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Transportation"}}' 1362>Transportation</a> 1363 1364 <a href="/services/" 1365 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Services"}}' 1366>Services</a> 1367 1368 <a href="/services/healthcare/" 1369 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Healthcare"}}' 1370>Healthcare</a> 1371 1372 <a href="/services/healthcare/elmhurst-hospital/" 1373 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Elmhurst%20Hospital"}}' 1374>Elmhurst Hospital</a> 1375 1376 <a href="https://elmhurst.org/community/youth__teen_services/index.php" 1377 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Youth%2FTeen%20Services"}}' 1378>Youth/Teen Services</a> 1379 1380 <a href="https://elmhurst.org/community/senior_services/index.php" 1381 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Senior%20Services"}}' 1382>Senior Services</a> 1383 1384 <a href="/services/education/" 1385 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Education"}}' 1386>Education</a> 1387 1388 <a href="https://elmhurst.org/business/economic_development/index.php" 1389 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Open%20a%20Business%20in%20Elmhurst"}}' 1390>Open a Business in Elmhurst</a> 1391 1392 <a href="/shopping/" 1393 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Shopping"}}' 1394>Shopping</a> 1395 1396 <a href="/shopping/clothing-shoes-and-accsessories/" 1397 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Clothing%2C%20Shoes%20%26%20Accsessories"}}' 1398>Clothing, Shoes & Accsessories</a> 1399
1400 <a href="/shopping/jewelers/" 1401 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Jewelers"}}' 1402>Jewelers</a> 1403 1404 <a href="/shopping/gifts-and-hobbies/" 1405 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Gifts%20%26%20Hobbies"}}' 1406>Gifts & Hobbies</a> 1407 1408 <a href="/shopping/home-goods-and-decor/" 1409 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Home%20Goods%20%26%20D%C3%A9cor"}}' 1410>Home Goods & Décor</a> 1411 1412 <a href="/shopping/wine-and-spirits/" 1413 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Wine%20%26%20Spirits"}}' 1414>Wine & Spirits</a> 1415 1416 1417 1418 1419 1420 </nav> 1421 1422 </noscript> 1423 1424 <button 1425 class="menu-toggle" 1426 type="button" 1427 aria-label="toggle menu" 1428 aria-expanded="false" 1429 aria-controls="primary-site-menu" 1430 data-action="toggle-menu" 1431 > 1432 <img 1433 src="/includes/public/assets/shared/header/mobile-nav-open.svg" 1434 class="mobile-nav open" 1435 alt="Open Mobile Navigation" 1436 height="50" 1437 width="50" 1438 /> 1439 1440 <img 1441 src="/includes/public/assets/shared/header/mobile-nav-close.svg" 1442 class="mobile-nav close" 1443 alt="Close Mobile Navigation" 1444 height="50" 1445 width="50" 1446 /> 1447 </button> 1448 1449 1450 <nav 1451 class="navigation navigation-dropdown primary desktop" 1452 role="navigation" 1453 data-primary-nav-desktop 1454 1455 data-gtm-vars='{"tClient_ga4": {"eventName": "navigation_click", "navType": "Main"}}' 1456 1457 > 1458
1458<script type="text/template" data-nav-item-template>{{+linkTracking}} 1459 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "{{%%data.title}}"}}' 1460{{/}} 1461{{+nav_items}} 1462 {{+nav_items_helper}} {{!-- This nested partial is necessary to make this partial recursive because helpers.partial 1463 only outputs the inner text of the partial, not the partial name. Please do not remove! --}} 1464 {{#shownchildren}} 1465 {{~exec(function() { 1466 if (!data.isLazyLoaded) { 1467 helpers.var.depth = 1; 1468 } else { 1469 helpers.var.depth = data.depth; 1470 } 1471 })}} 1472 <div class="nav-item level-{{~var.depth}} {{data.section}}" data-id="{{data.id}}" data-nav-item> 1473 <div class="nav-item-control level-{{~var.depth}}"> 1474 <a 1475 class="nav-link" 1476 href="{{href}}" 1477 target="{{target}}" 1478 {{>linkTracking}} 1479 > 1480 {{data.title}} 1481 </a> 1482 {{:shownchildren}} 1483 <button 1484 class="dropdown-toggle" 1485 aria-label="open submenu" 1486 aria-haspopup="true" 1487 aria-expanded="false" 1488 data-dropdown-toggle 1489 > 1490 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 1491 </button> 1492 {{/}} 1493 {{:shownchildren}} 1494 <hr class="border"/> 1495 {{/}} 1496 </div> 1497 {{:shownchildren}} 1498 <div class="dropdown-helper" data-dropdown-helper></div> 1499 <div 1500 class="dropdown-menu level-{{~var.depth}} 1501 {{:isLazyLoaded}} 1502 {{:shownChildren.0}}rendered{{/}} 1503 {{/}}" 1504 data-parent-id="{{data.id}}" 1505 data-start="{{data.folderHref}}" 1506 data-section="{{data.section}}" 1507 data-dropdown-menu 1508 style="display: none" 1509 > 1510 {{:isLazyLoaded}} 1511 {{>nav_items_helper}} 1512 {{/}} 1513 </div> 1514 {{/}} 1515 </div> 1516 {{/}} 1517 {{/}} 1518 {{>nav_items_helper}} 1519{{/}} 1520 1521{{>nav_items}}</script>
1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 <div class="nav-item level-1 main" data-id="64b82c53f1b2d13c0f325c80" data-nav-item> 1531 <div class="nav-item-control level-1"> 1532 <a 1533 class="nav-link" 1534 href="/things-to-do/" 1535 target="_self" 1536 1537 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "Things%20To%20Do"}}' 1538 1539 > 1540 Things To Do 1541 </a> 1542 1543 <button 1544 class="dropdown-toggle" 1545 aria-label="open submenu" 1546 aria-haspopup="true" 1547 aria-expanded="false" 1548 data-dropdown-toggle 1549 > 1550 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 1551 </button> 1552 1553 1554 <hr class="border"/> 1555 1556 </div> 1557 1558 <div class="dropdown-helper" data-dropdown-helper></div> 1559 <div 1560 class="dropdown-menu level-1 1561 " 1562 data-parent-id="64b82c53f1b2d13c0f325c80" 1563 data-start="/things-to-do/" 1564 data-section="main" 1565 data-dropdown-menu 1566 style="display: none" 1567 > 1568 1569 </div> 1570 1571 </div> 1572 1573 1574 <div class="nav-item level-1 main" data-id="64b82c54f1b2d13c0f325c94" data-nav-item> 1575 <div class="nav-item-control level-1"> 1576 <a 1577 class="nav-link" 1578 href="/events/" 1579 target="_self" 1580 1581 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "Events"}}' 1582 1583 > 1584 Events 1585 </a> 1586 1587 <button 1588 class="dropdown-toggle" 1589 aria-label="open submenu" 1590 aria-haspopup="true" 1591 aria-expanded="false" 1592 data-dropdown-toggle 1593 > 1594 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 1595 </button> 1596 1597 1598 <hr class="border"/> 1599 1600 </div> 1601 1602 <div class="dropdown-helper" data-dropdown-helper></div> 1603 <div 1604 class="dropdown-menu level-1 1605 " 1606 data-parent-id="64b82c54f1b2d13c0f325c94" 1607 data-start="/events/" 1608 data-section="main" 1609 data-dropdown-menu 1610 style="display: none" 1611 > 1612 1613 </div> 1614 1615 </div> 1616 1617 1618 <div class="nav-item level-1 main" data-id="64b82c54f1b2d13c0f325ca8" data-nav-item> 1619 <div class="nav-item-control level-1"> 1620 <a 1621 class="nav-link" 1622 href="/restaurants/" 1623 target="_self" 1624 1625 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "Restaurants"}}' 1626 1627 > 1628 Restaurants 1629 </a> 1630 1631 <button 1632 class="dropdown-toggle" 1633 aria-label="open submenu" 1634 aria-haspopup="true" 1635 aria-expanded="false" 1636 data-dropdown-toggle 1637 > 1638 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 1639 </button> 1640 1641 1642 <hr class="border"/> 1643 1644 </div> 1645 1646 <div class="dropdown-helper" data-dropdown-helper></div> 1647 <div 1648 class="dropdown-menu level-1 1649 " 1650 data-parent-id="64b82c54f1b2d13c0f325ca8" 1651 data-start="/restaurants/" 1652 data-section="main" 1653 data-dropdown-menu 1654 style="display: none" 1655 > 1656 1657 </div> 1658 1659 </div> 1660 1661 1662 <div class="nav-item level-1 main" data-id="64b82c54f1b2d13c0f325cbc" data-nav-item> 1663 <div class="nav-item-control level-1"> 1664 <a 1665 class="nav-link" 1666 href="/places-to-stay/" 1667 target="_self" 1668 1669 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "Places%20To%20Stay"}}' 1670 1671 > 1672 Places To Stay 1673 </a> 1674 1675 <button 1676 class="dropdown-toggle" 1677 aria-label="open submenu" 1678 aria-haspopup="true" 1679 aria-expanded="false" 1680 data-dropdown-toggle 1681 > 1682 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 1683 </button> 1684 1685 1686 <hr class="border"/> 1687 1688 </div> 1689 1690 <div class="dropdown-helper" data-dropdown-helper></div> 1691 <div 1692 class="dropdown-menu level-1 1693 " 1694 data-parent-id="64b82c54f1b2d13c0f325cbc" 1695 data-start="/places-to-stay/" 1696 data-section="main" 1697 data-dropdown-menu 1698 style="display: none" 1699 > 1700 1701 </div> 1702 1703 </div> 1704 1705 1706 <div class="nav-item level-1 main" data-id="64b82c54f1b2d13c0f325cd0" data-nav-item> 1707 <div class="nav-item-control level-1"> 1708 <a 1709 class="nav-link" 1710 href="/plan-your-visit/" 1711 target="_self" 1712 1713 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "Plan%20Your%20Visit"}}' 1714 1715 > 1716 Plan Your Visit 1717 </a> 1718 1719 <button 1720 class="dropdown-toggle" 1721 aria-label="open submenu" 1722 aria-haspopup="true" 1723 aria-expanded="false" 1724 data-dropdown-toggle 1725 > 1726 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 1727 </button> 1728 1729 1730 <hr class="border"/> 1731 1732 </div> 1733 1734 <div class="dropdown-helper" data-dropdown-helper></div> 1735 <div 1736 class="dropdown-menu level-1 1737 " 1738 data-parent-id="64b82c54f1b2d13c0f325cd0" 1739 data-start="/plan-your-visit/" 1740 data-section="main" 1741 data-dropdown-menu 1742 style="display: none" 1743 > 1744 1745 </div> 1746 1747 </div> 1748 1749 1750 <div class="nav-item level-1 main" data-id="64b82c54f1b2d13c0f325ce2" data-nav-item> 1751 <div class="nav-item-control level-1"> 1752 <a 1753 class="nav-link" 1754 href="/services/" 1755 target="_self" 1756 1757 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "Services"}}' 1758 1759 > 1760 Services 1761 </a> 1762 1763 <button 1764 class="dropdown-toggle" 1765 aria-label="open submenu" 1766 aria-haspopup="true" 1767 aria-expanded="false" 1768 data-dropdown-toggle 1769 > 1770 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 1771 </button> 1772 1773 1774 <hr class="border"/> 1775 1776 </div> 1777 1778 <div class="dropdown-helper" data-dropdown-helper></div> 1779 <div 1780 class="dropdown-menu level-1 1781 " 1782 data-parent-id="64b82c54f1b2d13c0f325ce2" 1783 data-start="/services/" 1784 data-section="main" 1785 data-dropdown-menu 1786 style="display: none" 1787 > 1788 1789 </div> 1790 1791 </div> 1792 1793 1794 <div class="nav-item level-1 main" data-id="64b82c54f1b2d13c0f325cf6" data-nav-item> 1795 <div class="nav-item-control level-1"> 1796 <a 1797 class="nav-link" 1798 href="/shopping/" 1799 target="_self" 1800 1801 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "Shopping"}}' 1802 1803 > 1804 Shopping 1805 </a> 1806 1807 <button 1808 class="dropdown-toggle" 1809 aria-label="open submenu" 1810 aria-haspopup="true" 1811 aria-expanded="false" 1812 data-dropdown-toggle 1813 > 1814 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 1815 </button> 1816 1817 1818 <hr class="border"/> 1819 1820 </div> 1821 1822 <div class="dropdown-helper" data-dropdown-helper></div> 1823 <div 1824 class="dropdown-menu level-1 1825 " 1826 data-parent-id="64b82c54f1b2d13c0f325cf6" 1827 data-start="/shopping/" 1828 data-section="main" 1829 data-dropdown-menu 1830 style="display: none" 1831 > 1832 1833 </div> 1834 1835 </div> 1836 1837 1838 1839 </nav> 1840 1841 <nav 1842 class="navigation primary mobile hide" 1843 role="navigation" 1844 data-primary-nav-mobile 1845 1846 data-gtm-vars='{"tClient_ga4": {"eventName": "navigation_click", "navType": "Main"}}' 1847 1848 > 1849
1849<script type="text/template" data-nav-item-template>{{+linkTracking}} 1850 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "{{%%data.title}}"}}' 1851{{/}} 1852{{+nav_items}} 1853 {{+nav_items_helper}} {{!-- This nested partial is necessary to make this partial recursive because helpers.partial 1854 only outputs the inner text of the partial, not the partial name. Please do not remove! --}} 1855 {{#shownchildren}} 1856 {{~exec(function() { 1857 if (!data.isLazyLoaded) { 1858 helpers.var.depth = 1; 1859 } else { 1860 helpers.var.depth = data.depth; 1861 } 1862 })}} 1863 <div class="nav-item level-{{~var.depth}} {{data.section}}" data-id="{{data.id}}" data-nav-item> 1864 <div class="nav-item-control level-{{~var.depth}}"> 1865 <a 1866 class="nav-link" 1867 href="{{href}}" 1868 target="{{target}}" 1869 {{>linkTracking}} 1870 > 1871 {{data.title}} 1872 </a> 1873 {{:shownchildren}} 1874 <button 1875 class="dropdown-toggle" 1876 aria-label="open submenu" 1877 aria-haspopup="true" 1878 aria-expanded="false" 1879 data-dropdown-toggle 1880 > 1881 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 1882 </button> 1883 {{/}} 1884 {{:shownchildren}} 1885 <hr class="border"/> 1886 {{/}} 1887 </div> 1888 {{:shownchildren}} 1889 <div class="dropdown-helper" data-dropdown-helper></div> 1890 <div 1891 class="dropdown-menu level-{{~var.depth}} 1892 {{:isLazyLoaded}} 1893 {{:shownChildren.0}}rendered{{/}} 1894 {{/}}" 1895 data-parent-id="{{data.id}}" 1896 data-start="{{data.folderHref}}" 1897 data-section="{{data.section}}" 1898 data-dropdown-menu 1899 style="display: none" 1900 > 1901 {{:isLazyLoaded}} 1902 {{>nav_items_helper}} 1903 {{/}} 1904 </div> 1905 {{/}} 1906 </div> 1907 {{/}} 1908 {{/}} 1909 {{>nav_items_helper}} 1910{{/}} 1911 1912{{>nav_items}}</script>
1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 <div class="nav-item level-1 main" data-id="64b82c53f1b2d13c0f325c80" data-nav-item> 1922 <div class="nav-item-control level-1"> 1923 <a 1924 class="nav-link" 1925 href="/things-to-do/" 1926 target="_self" 1927 1928 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "Things%20To%20Do"}}' 1929 1930 > 1931 Things To Do 1932 </a> 1933 1934 <button 1935 class="dropdown-toggle" 1936 aria-label="open submenu" 1937 aria-haspopup="true" 1938 aria-expanded="false" 1939 data-dropdown-toggle 1940 > 1941 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 1942 </button> 1943 1944 1945 <hr class="border"/> 1946 1947 </div> 1948 1949 <div class="dropdown-helper" data-dropdown-helper></div> 1950 <div 1951 class="dropdown-menu level-1 1952 " 1953 data-parent-id="64b82c53f1b2d13c0f325c80" 1954 data-start="/things-to-do/" 1955 data-section="main" 1956 data-dropdown-menu 1957 style="display: none" 1958 > 1959 1960 </div> 1961 1962 </div> 1963 1964 1965 <div class="nav-item level-1 main" data-id="64b82c54f1b2d13c0f325c94" data-nav-item> 1966 <div class="nav-item-control level-1"> 1967 <a 1968 class="nav-link" 1969 href="/events/" 1970 target="_self" 1971 1972 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "Events"}}' 1973 1974 > 1975 Events 1976 </a> 1977 1978 <button 1979 class="dropdown-toggle" 1980 aria-label="open submenu" 1981 aria-haspopup="true" 1982 aria-expanded="false" 1983 data-dropdown-toggle 1984 > 1985 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 1986 </button> 1987 1988 1989 <hr class="border"/> 1990 1991 </div> 1992 1993 <div class="dropdown-helper" data-dropdown-helper></div> 1994 <div 1995 class="dropdown-menu level-1 1996 " 1997 data-parent-id="64b82c54f1b2d13c0f325c94" 1998 data-start="/events/" 1999 data-section="main" 2000 data-dropdown-menu 2001 style="display: none" 2002 > 2003 2004 </div> 2005 2006 </div> 2007 2008 2009 <div class="nav-item level-1 main" data-id="64b82c54f1b2d13c0f325ca8" data-nav-item> 2010 <div class="nav-item-control level-1"> 2011 <a 2012 class="nav-link" 2013 href="/restaurants/" 2014 target="_self" 2015 2016 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "Restaurants"}}' 2017 2018 > 2019 Restaurants 2020 </a> 2021 2022 <button 2023 class="dropdown-toggle" 2024 aria-label="open submenu" 2025 aria-haspopup="true" 2026 aria-expanded="false" 2027 data-dropdown-toggle 2028 > 2029 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 2030 </button> 2031 2032 2033 <hr class="border"/> 2034 2035 </div> 2036 2037 <div class="dropdown-helper" data-dropdown-helper></div> 2038 <div 2039 class="dropdown-menu level-1 2040 " 2041 data-parent-id="64b82c54f1b2d13c0f325ca8" 2042 data-start="/restaurants/" 2043 data-section="main" 2044 data-dropdown-menu 2045 style="display: none" 2046 > 2047 2048 </div> 2049 2050 </div> 2051 2052 2053 <div class="nav-item level-1 main" data-id="64b82c54f1b2d13c0f325cbc" data-nav-item> 2054 <div class="nav-item-control level-1"> 2055 <a 2056 class="nav-link" 2057 href="/places-to-stay/" 2058 target="_self" 2059 2060 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "Places%20To%20Stay"}}' 2061 2062 > 2063 Places To Stay 2064 </a> 2065 2066 <button 2067 class="dropdown-toggle" 2068 aria-label="open submenu" 2069 aria-haspopup="true" 2070 aria-expanded="false" 2071 data-dropdown-toggle 2072 > 2073 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 2074 </button> 2075 2076 2077 <hr class="border"/> 2078 2079 </div> 2080 2081 <div class="dropdown-helper" data-dropdown-helper></div> 2082 <div 2083 class="dropdown-menu level-1 2084 " 2085 data-parent-id="64b82c54f1b2d13c0f325cbc" 2086 data-start="/places-to-stay/" 2087 data-section="main" 2088 data-dropdown-menu 2089 style="display: none" 2090 > 2091 2092 </div> 2093 2094 </div> 2095 2096 2097 <div class="nav-item level-1 main" data-id="64b82c54f1b2d13c0f325cd0" data-nav-item> 2098 <div class="nav-item-control level-1"> 2099 <a 2100 class="nav-link" 2101 href="/plan-your-visit/" 2102 target="_self" 2103 2104 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "Plan%20Your%20Visit"}}' 2105 2106 > 2107 Plan Your Visit 2108 </a> 2109 2110 <button 2111 class="dropdown-toggle" 2112 aria-label="open submenu" 2113 aria-haspopup="true" 2114 aria-expanded="false" 2115 data-dropdown-toggle 2116 > 2117 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 2118 </button> 2119 2120 2121 <hr class="border"/> 2122 2123 </div> 2124 2125 <div class="dropdown-helper" data-dropdown-helper></div> 2126 <div 2127 class="dropdown-menu level-1 2128 " 2129 data-parent-id="64b82c54f1b2d13c0f325cd0" 2130 data-start="/plan-your-visit/" 2131 data-section="main" 2132 data-dropdown-menu 2133 style="display: none" 2134 > 2135 2136 </div> 2137 2138 </div> 2139 2140 2141 <div class="nav-item level-1 main" data-id="64b82c54f1b2d13c0f325ce2" data-nav-item> 2142 <div class="nav-item-control level-1"> 2143 <a 2144 class="nav-link" 2145 href="/services/" 2146 target="_self" 2147 2148 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "Services"}}' 2149 2150 > 2151 Services 2152 </a> 2153 2154 <button 2155 class="dropdown-toggle" 2156 aria-label="open submenu" 2157 aria-haspopup="true" 2158 aria-expanded="false" 2159 data-dropdown-toggle 2160 > 2161 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 2162 </button> 2163 2164 2165 <hr class="border"/> 2166 2167 </div> 2168 2169 <div class="dropdown-helper" data-dropdown-helper></div> 2170 <div 2171 class="dropdown-menu level-1 2172 " 2173 data-parent-id="64b82c54f1b2d13c0f325ce2" 2174 data-start="/services/" 2175 data-section="main" 2176 data-dropdown-menu 2177 style="display: none" 2178 > 2179 2180 </div> 2181 2182 </div> 2183 2184 2185 <div class="nav-item level-1 main" data-id="64b82c54f1b2d13c0f325cf6" data-nav-item> 2186 <div class="nav-item-control level-1"> 2187 <a 2188 class="nav-link" 2189 href="/shopping/" 2190 target="_self" 2191 2192 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "Shopping"}}' 2193 2194 > 2195 Shopping 2196 </a> 2197 2198 <button 2199 class="dropdown-toggle" 2200 aria-label="open submenu" 2201 aria-haspopup="true" 2202 aria-expanded="false" 2203 data-dropdown-toggle 2204 > 2205 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 2206 </button> 2207 2208 2209 <hr class="border"/> 2210 2211 </div> 2212 2213 <div class="dropdown-helper" data-dropdown-helper></div> 2214 <div 2215 class="dropdown-menu level-1 2216 " 2217 data-parent-id="64b82c54f1b2d13c0f325cf6" 2218 data-start="/shopping/" 2219 data-section="main" 2220 data-dropdown-menu 2221 style="display: none" 2222 > 2223 2224 </div> 2225 2226 </div> 2227 2228 2229 2230 </nav> 2231 2232</div> 2233
2234<script> 2235 require([ 2236 'jquery', 2237 'plugins_nav_custom_nav_desktop_dropdown', 2238 'plugins_nav_custom_nav_mobile', 2239 ], function($, navDesktop, navMobile) { 2240 var root = $('[data-guid="1dda6a72-2c72-4664-bfd6-0ade7a7510ff"]'); 2241 var navTreeDepth = 3; 2242 const header = document.querySelector('[data-active-header]'); 2243 2244 2245 navDesktop.init(root, '[data-primary-nav-desktop]', navTreeDepth); 2246 navMobile.init(root, '[data-primary-nav-mobile]', '[data-main-nav-cont]', navTreeDepth); 2247 2248 function toggleMenu() { 2249 document.body.classList.toggle('hamburger-open'); 2250 $(this).toggleClass('active'); 2251 $(this).attr('aria-expanded', $(this).hasClass('active')); 2252 document.querySelector('#primary-site-menu').classList.toggle('active'); 2253 } 2254 2255 document.querySelector('[data-body-overlay]').addEventListener('click', function() { 2256 toggleMenu(); 2257 }); 2258 2259 root.find('[data-action="toggle-menu"]').on('click', function() { 2260 this.classList.toggle('active'); 2261 toggleMenu(); 2262 header.classList.toggle('active'); 2263 }); 2264 }); 2265</script>
2265</div> 2266 </div> 2267 <div class="widgets"> 2268 <div data-civid="696a7348b881fe0430370b25" class="contentRender contentRender_6 contentRender_type_widget contentRender_name_plugins_search_headerbox" data-sv-time="61" data-sv-index="6" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 2269 2270 2271 2272<div class="search-cont" data-guid="b2d4cdf5-f638-4230-885f-4d126a0170b5"> 2273 <form class="headerbox-search-form" data-sv-searchForm action="/search/" method="GET"> 2274 <input data-sv-search-input name="q" type="search" class="searchInput" autocomplete="off" autocorrect="off" autocapitalize="off" placeholder="Search on this site..." value="" /> 2275 <button type="submit" data-sv-search-button aria-label="Search"> 2276 <i class ="fa fa-search fa-inverse" aria-hidden="true"></i> 2277 </button> 2278 </form> 2279 <button class="search-button" data-toggle-search aria-expanded="false" aria-label="toggle search dropdown" aria-controls="headerbox-search-form"> 2280 <i class="fas fa-search open" aria-hidden="true"></i> 2281 <i class="fas fa-times close" aria-hidden="true"></i> 2282 </button> 2283</div> 2284
2285<script> 2286require(["plugins_common_custom_utils", "domReady!"], function(utils) { 2287 let root = document.querySelector('[data-guid="b2d4cdf5-f638-4230-885f-4d126a0170b5"]'); 2288 let searchCont = document.querySelector('[data-search-cont]'); 2289 let searchButtonsToHide = root.querySelectorAll('[data-sv-search-button], [data-sv-search-input]'); 2290 let isActive = false; 2291 const breakpoint = 1024; 2292 2293 // clone to mobile nav 2294 searchCont?.replaceWith(root.cloneNode(true)); 2295 2296 function ariaHideEl(el) { 2297 el.setAttribute('aria-hidden', true); 2298 el.setAttribute('tabindex', -1); 2299 } 2300 2301 function ariaShowEl(el) { 2302 el.removeAttribute('aria-hidden'); 2303 el.removeAttribute('tabindex'); 2304 } 2305 2306 function toggleSearchElVisibility() { 2307 if (window.innerWidth < breakpoint || isActive) { 2308 searchButtonsToHide.forEach(ariaShowEl); 2309 return; 2310 } 2311 searchButtonsToHide.forEach(ariaHideEl); 2312 } 2313 2314 document.querySelectorAll('[data-toggle-search]').forEach( elem => { 2315 elem.addEventListener("click", function(e) { 2316 e.stopImmediatePropagation(); 2317 let searchCont = this.parentNode; 2318 const searchHeaderWidget = document.querySelector('[data-search-active]'); 2319 2320 if(searchHeaderWidget) { 2321 searchHeaderWidget.classList.toggle('search-active'); 2322 } 2323 2324 searchCont.classList.toggle('active'); 2325 this.classList.toggle('active'); 2326 isActive = searchCont.classList.contains('active'); 2327 this.getAttribute('aria-expanded', isActive); 2328 toggleSearchElVisibility(); 2329 if (isActive) { 2330 searchCont.querySelector('[data-sv-search-input]').focus(); 2331 } 2332 }); 2333 }); 2334 2335 document.querySelectorAll('[data-sv-searchForm]').forEach( elem => { 2336 let input = elem.querySelector('[data-sv-search-input]'); 2337 elem.addEventListener('submit', function(e) { 2338 if (input.value.length === 0) { 2339 e.preventDefault(); 2340 this.querySelector('[data-sv-search-input]').focus(); 2341 } 2342 }); 2343 }); 2344 2345 ['resize', 'orientationchange'].forEach(ev => window.addEventListener(ev, utils.debounce(toggleSearchElVisibility, 200))); 2346 2347 toggleSearchElVisibility(); 2348}); 2349</script>
2349 2350</div> 2351 </div> 2352 </div> 2353 </div> 2354 </div> 2355 <div class="logo-cont"> 2356 <div data-civid="696a7348b881fe0430370b1f" class="contentRender contentRender_3 contentRender_type_widget contentRender_name_plugins_common_logo" data-sv-time="24" data-sv-index="3" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 2357 2358 2359 2360 2361<div class="logo" data-guid="85eaf62b-b133-4f4c-b0d6-ce0867bced2e" > 2362 <a href="https://exploreelmhurst.com/" target="_self" aria-label="City of Elmhurst"> 2363 2364 <img 2365 src="/includes/public/assets/shared/logos/logo-header.svg" 2366 alt="City of Elmhurst" 2367 loading="lazy" 2368 width="238" 2369 height="72" 2370 /> 2371 2372 </a> 2373</div> 2374 2375</div> 2376 </div> 2377 </div> 2378 <div id="primary-site-menu" class="mobile-nav-container" data-mobile-nav> 2379 <div class="mobile-nav"> 2380 <header class="widgets"> 2381 <div data-weather-cont></div> 2382 <div data-search-cont></div> 2383 <div data-tripbuilder-cont></div> 2384 </header> 2385 <div class="mobile-main-nav" data-main-nav-cont></div> 2386 <div class="mobile-secondary-nav" data-secondary-nav-cont></div> 2387 2388 <div class="mobile-footer-nav" data-footer-nav-cont><div data-civid="696a7348b881fe0430370b27" class="contentRender contentRender_7 contentRender_type_widget contentRender_name_plugins_nav_mobile_footer" data-sv-time="34" data-sv-index="7" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 2389 2390 2391 2392<div class="nav-container" data-guid="2c9370ba-6a8f-4ad2-baf5-1c1292191859" 2393 data-gtm-vars='{"tClient_ga4": {"eventName": "navigation_click", "navType": "Footer"}}' 2394> 2395 <noscript class="permanently-hidden"> 2396 2397 <nav> 2398 2399 <a href="/about-us/" 2400 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "About%20Us"}}' 2401>About Us</a> 2402 2403 <a href="/contact/" 2404 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Contact"}}' 2405>Contact</a> 2406 2407 2408 2409 <a href="/contact/submit-directory-request/" 2410 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Submit%20Directory%20Request"}}' 2411>Submit Directory Request</a> 2412 2413 2414 2415 <a href="/media/" 2416 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Media"}}' 2417>Media</a> 2418 2419 <a href="https://exploreelmhurst.com/sitemap/" 2420 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Sitemap"}}' 2421>Sitemap</a> 2422 2423 <a href="/privacy-policy/" 2424 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Privacy%20Policy"}}' 2425>Privacy Policy</a> 2426 2427 </nav> 2428 2429 </noscript> 2430 2431 2432 <nav class="navigation primary mobile hide" role="navigation" data-footer-nav-mobile 2433 data-gtm-vars='{"tClient_ga4": {"eventName": "navigation_click", "navType": "Footer"}}' 2434> 2435
2435<script type="text/template" data-nav-item-template>{{+linkTracking}} 2436 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "{{%%data.title}}"}}' 2437{{/}} 2438{{+nav_items}} 2439 {{+nav_items_helper}} {{!-- This nested partial is necessary to make this partial recursive because helpers.partial 2440 only outputs the inner text of the partial, not the partial name. Please do not remove! --}} 2441 {{#shownchildren}} 2442 {{~exec(function() { 2443 if (!data.isLazyLoaded) { 2444 helpers.var.depth = 1; 2445 } else { 2446 helpers.var.depth = data.depth; 2447 } 2448 })}} 2449 <div class="nav-item level-{{~var.depth}} {{data.section}}" data-id="{{data.id}}" data-nav-item> 2450 <div class="nav-item-control level-{{~var.depth}}"> 2451 <a 2452 class="nav-link" 2453 href="{{href}}" 2454 target="{{target}}" 2455 {{>linkTracking}} 2456 > 2457 {{data.title}} 2458 </a> 2459 {{:shownchildren}} 2460 <button 2461 class="dropdown-toggle" 2462 aria-label="open submenu" 2463 aria-haspopup="true" 2464 aria-expanded="false" 2465 data-dropdown-toggle 2466 > 2467 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 2468 </button> 2469 {{/}} 2470 {{:shownchildren}} 2471 <hr class="border"/> 2472 {{/}} 2473 </div> 2474 {{:shownchildren}} 2475 <div class="dropdown-helper" data-dropdown-helper></div> 2476 <div 2477 class="dropdown-menu level-{{~var.depth}} 2478 {{:isLazyLoaded}} 2479 {{:shownChildren.0}}rendered{{/}} 2480 {{/}}" 2481 data-parent-id="{{data.id}}" 2482 data-start="{{data.folderHref}}" 2483 data-section="{{data.section}}" 2484 data-dropdown-menu 2485 style="display: none" 2486 > 2487 {{:isLazyLoaded}} 2488 {{>nav_items_helper}} 2489 {{/}} 2490 </div> 2491 {{/}} 2492 </div> 2493 {{/}} 2494 {{/}} 2495 {{>nav_items_helper}} 2496{{/}} 2497 2498{{>nav_items}}</script>
2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 <div class="nav-item level-1 footer" data-id="64b82c55f1b2d13c0f325d57" data-nav-item> 2508 <div class="nav-item-control level-1"> 2509 <a 2510 class="nav-link" 2511 href="/about-us/" 2512 target="_self" 2513 2514 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "About%20Us"}}' 2515 2516 > 2517 About Us 2518 </a> 2519 2520 2521 </div> 2522 2523 </div> 2524 2525 2526 <div class="nav-item level-1 footer" data-id="64b82c55f1b2d13c0f325d69" data-nav-item> 2527 <div class="nav-item-control level-1"> 2528 <a 2529 class="nav-link" 2530 href="/contact/" 2531 target="_self" 2532 2533 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "Contact"}}' 2534 2535 > 2536 Contact 2537 </a> 2538 2539 <button 2540 class="dropdown-toggle" 2541 aria-label="open submenu" 2542 aria-haspopup="true" 2543 aria-expanded="false" 2544 data-dropdown-toggle 2545 > 2546 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 2547 </button> 2548 2549 2550 <hr class="border"/> 2551 2552 </div> 2553 2554 <div class="dropdown-helper" data-dropdown-helper></div> 2555 <div 2556 class="dropdown-menu level-1 2557 " 2558 data-parent-id="64b82c55f1b2d13c0f325d69" 2559 data-start="/contact/" 2560 data-section="footer" 2561 data-dropdown-menu 2562 style="display: none" 2563 > 2564 2565 </div> 2566 2567 </div> 2568 2569 2570 <div class="nav-item level-1 footer" data-id="64b82c56f1b2d13c0f325d7b" data-nav-item> 2571 <div class="nav-item-control level-1"> 2572 <a 2573 class="nav-link" 2574 href="/media/" 2575 target="_self" 2576 2577 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "Media"}}' 2578 2579 > 2580 Media 2581 </a> 2582 2583 2584 </div> 2585 2586 </div> 2587 2588 2589 <div class="nav-item level-1 footer" data-id="64b82c56f1b2d13c0f325d8d" data-nav-item> 2590 <div class="nav-item-control level-1"> 2591 <a 2592 class="nav-link" 2593 href="https://exploreelmhurst.com/sitemap/" 2594 target="_self" 2595 2596 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "Sitemap"}}' 2597 2598 > 2599 Sitemap 2600 </a> 2601 2602 2603 </div> 2604 2605 </div> 2606 2607 2608 <div class="nav-item level-1 footer" data-id="64b82c56f1b2d13c0f325d8e" data-nav-item> 2609 <div class="nav-item-control level-1"> 2610 <a 2611 class="nav-link" 2612 href="/privacy-policy/" 2613 target="_self" 2614 2615 data-gtm-click data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "linkObject": "Privacy%20Policy"}}' 2616 2617 > 2618 Privacy Policy 2619 </a> 2620 2621 2622 </div> 2623 2624 </div> 2625 2626 2627 2628 </nav> 2629 2630</div> 2631
2632<script> 2633 require([ 2634 'jquery', 2635 'plugins_nav_custom_nav_mobile', 2636 ], function($, navMobile) { 2637 var root = $('[data-guid="2c9370ba-6a8f-4ad2-baf5-1c1292191859"]'); 2638 var navTreeDepth = 3; 2639 2640 navMobile.init(root, '[data-footer-nav-mobile]', '[data-footer-nav-cont]', navTreeDepth); 2641 2642 function toggleMenu() { 2643 document.body.classList.toggle('hamburger-open'); 2644 $(this).toggleClass('active'); 2645 $(this).attr('aria-expanded', $(this).hasClass('active')); 2646 document.querySelector('#primary-site-menu').classList.toggle('active'); 2647 } 2648 2649 document.querySelector('[data-body-overlay]').addEventListener('click', function() { 2650 toggleMenu(); 2651 }); 2652 2653 root.find('[data-action="toggle-menu"]').on('click', function() { 2654 toggleMenu(); 2655 }); 2656 }); 2657</script>
2657</div></div> 2658 2659 2660 <div class="social-cont"> 2661 <div class="text">Follow Us</div> 2662 <div class="social"><div data-civid="696a7348b881fe0430370b29" class="contentRender contentRender_8 contentRender_type_widget contentRender_name_plugins_collections_type_custom_social_slides contentRender_name_plugins_collections_template_custom_social_links" data-sv-time="42" data-sv-index="8" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 2663 2664<ul class="social-links"> 2665 2666 2667 <li class="social-network"> 2668 <a 2669 class="social-link" 2670 href="https://www.facebook.com/ExploreElmhurst/" 2671 target="_blank" 2672 rel="noopener" 2673 title="Visit our facebook page" 2674 aria-label="Visit our facebook page" 2675 data-gtm-click data-gtm-vars='{ "tClient_ga4" : {"eventName" : "navigation_click", "navType" : "Social Links", "linkObject": "Social | Facebook", "interactionUrl" : "https%3A%2F%2Fwww.facebook.com%2FExploreElmhurst%2F", "interactionSource": "widget" } }' 2676 > 2677 <i 2678 class="social-icon fab fa-facebook" 2679 aria-hidden="true" 2680 ></i> 2681 </a> 2682 </li> 2683 2684 2685 <li class="social-network"> 2686 <a 2687 class="social-link" 2688 href="https://twitter.com/i/flow/login?redirect_after_login=%2Fexploreelmhurst" 2689 target="_blank" 2690 rel="noopener" 2691 title="Visit our twitter page" 2692 aria-label="Visit our twitter page" 2693 data-gtm-click data-gtm-vars='{ "tClient_ga4" : {"eventName" : "navigation_click", "navType" : "Social Links", "linkObject": "Social | Twitter", "interactionUrl" : "https%3A%2F%2Ftwitter.com%2Fi%2Fflow%2Flogin%3Fredirect_after_login%3D%252Fexploreelmhurst", "interactionSource": "widget" } }' 2694 > 2695 <i 2696 class="social-icon fab fa-twitter" 2697 aria-hidden="true" 2698 ></i> 2699 </a> 2700 </li> 2701 2702 2703 <li class="social-network"> 2704 <a 2705 class="social-link" 2706 href="https://www.instagram.com/exploreelmhurst/" 2707 target="_blank" 2708 rel="noopener" 2709 title="Visit our instagram page" 2710 aria-label="Visit our instagram page" 2711 data-gtm-click data-gtm-vars='{ "tClient_ga4" : {"eventName" : "navigation_click", "navType" : "Social Links", "linkObject": "Social | Instagram", "interactionUrl" : "https%3A%2F%2Fwww.instagram.com%2Fexploreelmhurst%2F", "interactionSource": "widget" } }' 2712 > 2713 <i 2714 class="social-icon fab fa-instagram" 2715 aria-hidden="true" 2716 ></i> 2717 </a> 2718 </li> 2719 2720 2721 <li class="social-network"> 2722 <a 2723 class="social-link" 2724 href="https://www.youtube.com/user/elmhursttv" 2725 target="_blank" 2726 rel="noopener" 2727 title="Visit our youtube page" 2728 aria-label="Visit our youtube page" 2729 data-gtm-click data-gtm-vars='{ "tClient_ga4" : {"eventName" : "navigation_click", "navType" : "Social Links", "linkObject": "Social | Youtube", "interactionUrl" : "https%3A%2F%2Fwww.youtube.com%2Fuser%2Felmhursttv", "interactionSource": "widget" } }' 2730 > 2731 <i 2732 class="social-icon fab fa-youtube" 2733 aria-hidden="true" 2734 ></i> 2735 </a> 2736 </li> 2737 2738</ul></div></div> 2739 </div> 2740 2741 </div> 2742 </div> 2743</header> 2744 2745<div class="body-overlay" data-body-overlay></div> 2746
2747<script> 2748(function() { 2749 function uniquifyWeatherDropdownIds() { 2750 const dropdowns = document.querySelectorAll('[data-sv-weather-dropdown], .weather-dropdown'); 2751 dropdowns.forEach(function(dropdown, index) { 2752 const uid = 'weather-dropdown-' + (index + 1); 2753 const prevId = dropdown.id; 2754 const dup = prevId && document.querySelectorAll('[id="' + prevId + '"]').length > 1; 2755 if (!prevId || prevId === 'weather-dropdown' || dup) { 2756 dropdown.id = uid; 2757 const wrap = dropdown.closest('.weather-wrapper, [data-sv-weatherwidget]') || dropdown.parentElement; 2758 const toggle = wrap && wrap.querySelector('[data-sv-weather-toggle], .weather-button'); 2759 if (toggle) { 2760 toggle.setAttribute('aria-controls', uid); 2761 } 2762 } 2763 }); 2764 } 2765 2766 function debounce(fn, wait) { 2767 var t; 2768 return function() { 2769 clearTimeout(t); 2770 t = setTimeout(fn, wait); 2771 }; 2772 } 2773 2774 const run = debounce(uniquifyWeatherDropdownIds, 100); 2775 uniquifyWeatherDropdownIds(); 2776 const header = document.querySelector('.panel-header[data-guid="78aa3cf9-8ca3-4626-845c-cce53eaa6d51"]') || document.querySelector('.panel-header'); 2777 if (header) { 2778 new MutationObserver(run).observe(header, { childList: true, subtree: true }); 2779 } 2780 var tries = 0; 2781 var poll = setInterval(function() { 2782 uniquifyWeatherDropdownIds(); 2783 tries += 1; 2784 const dropdowns = document.querySelectorAll('[data-sv-weather-dropdown], .weather-dropdown'); 2785 const hasHardcoded = document.querySelectorAll('#weather-dropdown').length > 0; 2786 const hasDupId = Array.prototype.some.call(dropdowns, function(el) { 2787 return el.id && document.querySelectorAll('[id="' + el.id + '"]').length > 1; 2788 }); 2789 if (tries >= 40 || (dropdowns.length >= 2 && !hasHardcoded && !hasDupId)) { 2790 clearInterval(poll); 2791 } 2792 }, 250); 2793})(); 2794</script>
2794</div> 2795 </div> 2796 <div id="slideshow-container" class="slideshow-container"> 2797 <div data-civid="64e5135c9f5c1d284c7152ec" class="contentRender contentRender_10 contentRender_type_widget contentRender_name_plugins_collections_type_custom_header_slides contentRender_name_plugins_collections_template_custom_core_hero_image" data-sv-time="67" data-sv-index="10" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 2798 2799 2800 2801 2802 2803 2804 2805<style>.hero-image .img-cont { 2806 aspect-ratio: 639 / 852; 2807 }@media (min-width: 640px) { 2808 .hero-image .img-cont { 2809 aspect-ratio: 1024 / 400; 2810 } 2811 }@media (min-width: 1024px) { 2812 .hero-image .img-cont { 2813 aspect-ratio: 1440 / 576; 2814 } 2815 }@media (min-width: 1440px) { 2816 .hero-image .img-cont { 2817 aspect-ratio: 1920 / 776; 2818 } 2819 }</style> 2820 2821 2822 2823 2824 2825<section 2826 class="ccl-widget core-hero-image 2827 hero-image 2828 " 2829 data-guid="a40ee42c-96b2-4eb1-b3af-b3c3b99d048e" 2830 data-js="plugins_collections_custom_collection_default_package" 2831 data-gtm-vars='{ "tClient_ga4" : { "eventName" : "widget_interaction", "widgetName" : "Hero Image", "itemType" : "slides", "interactionSource" : "widget" } }' 2832 style="opacity: 0;" 2833> 2834 <div class="slides" data-slides> 2835 2836 <article class="slide overlap-image "> 2837 2838 2839 2840 <div class="inner" data-gtm-vars='{ "tClient_ga4" : { "interactionSource" : "widget", "itemName" : "Contact" } }'> 2841 <div class="img-cont"> 2842 <a data-asset href="" target="" data-gtm-click data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Image", "interactionUrl" : "" } }' > 2843 2844 2845 2846 2847 2848<picture> 2849 2850 2851 <source 2852 srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,f_avif,fl_strip_profile,h_776,q_65,w_1920/v1/clients/elmhurstil/local_orgs_341d51bc-8177-42c1-a564-174eef312d94.jpg" 2853 2854 media="screen and (min-width: 1440px)" 2855 2856 type="image/avif" 2857 width="1920" 2858 height="776" 2859 /> 2860 2861 2862 2863 <source 2864 srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,f_webp,h_776,q_65,w_1920/v1/clients/elmhurstil/local_orgs_341d51bc-8177-42c1-a564-174eef312d94.jpg" 2865 2866 media="screen and (min-width: 1440px)" 2867 2868 type="image/webp" 2869 width="1920" 2870 height="776" 2871 /> 2872 2873 2874 2875 <source 2876 srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,f_jpg,h_776,q_65,w_1920/v1/clients/elmhurstil/local_orgs_341d51bc-8177-42c1-a564-174eef312d94.jpg" 2877 2878 media="screen and (min-width: 1440px)" 2879 2880 type="image/jpeg" 2881 width="1920" 2882 height="776" 2883 /> 2884 2885 2886 2887 <source 2888 srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,f_avif,fl_strip_profile,h_576,q_65,w_1440/v1/clients/elmhurstil/local_orgs_341d51bc-8177-42c1-a564-174eef312d94.jpg" 2889 2890 media="screen and (min-width: 1024px)" 2891 2892 type="image/avif" 2893 width="1440" 2894 height="576" 2895 /> 2896 2897 2898 2899 <source 2900 srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,f_webp,h_576,q_65,w_1440/v1/clients/elmhurstil/local_orgs_341d51bc-8177-42c1-a564-174eef312d94.jpg" 2901 2902 media="screen and (min-width: 1024px)" 2903 2904 type="image/webp" 2905 width="1440" 2906 height="576" 2907 /> 2908 2909 2910 2911 <source 2912 srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,f_jpg,h_576,q_65,w_1440/v1/clients/elmhurstil/local_orgs_341d51bc-8177-42c1-a564-174eef312d94.jpg" 2913 2914 media="screen and (min-width: 1024px)" 2915 2916 type="image/jpeg" 2917 width="1440" 2918 height="576" 2919 /> 2920 2921 2922 2923 <source 2924 srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,f_avif,fl_strip_profile,h_400,q_65,w_1024/v1/clients/elmhurstil/local_orgs_341d51bc-8177-42c1-a564-174eef312d94.jpg" 2925 2926 media="screen and (min-width: 640px)" 2927 2928 type="image/avif" 2929 width="1024" 2930 height="400" 2931 /> 2932 2933 2934 2935 <source 2936 srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,f_webp,h_400,q_65,w_1024/v1/clients/elmhurstil/local_orgs_341d51bc-8177-42c1-a564-174eef312d94.jpg" 2937 2938 media="screen and (min-width: 640px)" 2939 2940 type="image/webp" 2941 width="1024" 2942 height="400" 2943 /> 2944 2945 2946 2947 <source 2948 srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,f_jpg,h_400,q_65,w_1024/v1/clients/elmhurstil/local_orgs_341d51bc-8177-42c1-a564-174eef312d94.jpg" 2949 2950 media="screen and (min-width: 640px)" 2951 2952 type="image/jpeg" 2953 width="1024" 2954 height="400" 2955 /> 2956 2957 2958 2959 <source 2960 srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,f_avif,fl_strip_profile,h_852,q_65,w_639/v1/clients/elmhurstil/local_orgs_341d51bc-8177-42c1-a564-174eef312d94.jpg" 2961 2962 type="image/avif" 2963 width="639" 2964 height="852" 2965 /> 2966 2967 2968 2969 <source 2970 srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,f_webp,h_852,q_65,w_639/v1/clients/elmhurstil/local_orgs_341d51bc-8177-42c1-a564-174eef312d94.jpg" 2971 2972 type="image/webp" 2973 width="639" 2974 height="852" 2975 /> 2976 2977 2978 2979 <img 2980 class="slide-img" 2981 src="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,f_jpg,h_852,q_65,w_639/v1/clients/elmhurstil/local_orgs_341d51bc-8177-42c1-a564-174eef312d94.jpg" 2982 alt="local orgs" 2983 loading="eager" 2984 fetchpriority="high" 2985 width="639" 2986 height="852" 2987 onload="this.classList.add('loaded')" 2988 /> 2989 2990 2991</picture> 2992 2993 </a> 2994 2995 2996 2997 </div> 2998 2999 3000 <div class="content-section"> 3001 <div class="title-desc-container"> 3002 <h2 class="slide-title"> 3003 <a href="" target="" data-gtm-click data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Title", "interactionUrl" : "", "interactionText" : "Contact" } }'>Contact</a> 3004 </h2> 3005 <p> 3006 3007 3008 3009 </p> 3010 </div> 3011 </div> 3012 3013 </div> 3014 3015 </article> 3016 3017 </div> 3018 3019
3020 3021</section> 3022 3023</div> 3024 </div> 3025 <div id="main-content" class="content"> 3026 <div data-civid="64b81d5bf1b2d13c0f325b92" class="contentRender contentRender_11 contentRender_type_panel contentRender_name_plugins_common_container_navigation_share" data-sv-time="1" data-sv-index="11" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'><div class="panel-navigation-share"> 3027 <div class="navigation-container"> 3028 <div data-civid="64b81d5bf1b2d13c0f325b94" class="contentRender contentRender_12 contentRender_type_widget contentRender_name_plugins_nav_breadcrumb" data-sv-time="68" data-sv-index="12" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 3029 3030 3031 3032 3033 3034 3035 3036<nav class="nav-list" role="navigation" aria-label="Breadcrumb" data-guid="34cf520d-1423-468f-af7f-5174caaef609" 3037 data-gtm-vars='{"tClient_ga4" : {"eventName" : "navigation_click", "navType": "Breadcrumb"}}' 3038> 3039 3040 3041 3042 <ul class="interior-nav"> 3043 3044 <li class="item" data-id=""> 3045 <a href="/" target="" title="" 3046 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Home"}}' 3047> 3048 Home <span>></span> 3049 </a> 3050 </li> 3051 3052 3053 3054 3055 3056 3057 <li class="item current" data-id="64b82c55f1b2d13c0f325d69"> 3058 <a href="/contact/" target="_self" aria-current="page" title="" 3059 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Contact"}}' 3060> 3061 Contact <span>></span> 3062 </a> 3063 </li> 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 </ul> 3083 3084</nav></div> 3085 </div> 3086 <div class="share-container"> 3087 <div data-civid="64b81d5bf1b2d13c0f325b96" class="contentRender contentRender_13 contentRender_type_widget contentRender_name_plugins_common_social_share" data-sv-time="28" data-sv-index="13" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 3088 3089<div class="sv-share" data-guid="0e716037-4b57-42a2-86a4-c98b21be8b66" data-gtm-vars='{ "tClient_ga4" : { "eventName" : "widget_interaction", "widgetName" : "Social Share", "interactionSource": "widget" } }'> 3090 <div class="sv-share-button-wrapper"> 3091 <button class="sv-share-trigger" type="button" aria-expanded="false" aria-label="show share links" aria-controls="share-popover"> 3092 <i class="sv-share-trigger-icon fas fa-share-square"></i> 3093 <span>Share</span> 3094 </button> 3095 <ul id="share-popover" class="sv-share-popover" data-sv-social-share></ul> 3096 </div> 3097 </div> 3098 3099
3099<script type="text/template" data-social-share-template> 3100 3101 {{#items}} 3102 <li class="sv-share-service-email"> 3103 <!-- Email --> 3104 <a href="mailto:?subject={{%%title}}&body={{%%url}}" target="_blank" data-gtm-click data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Email", "interactionUrl": "mailto:?subject={{%%title}}&body={{%%url}}", "interactionText" : "Email" } }'> 3105 <i class="sv-share-service-icon fas fa-envelope" aria-hidden="true"></i> 3106 <span>Email</span> 3107 </a> 3108 </li> 3109 3110 <li class="sv-share-service-twitter"> 3111 <!-- X --> 3112 <a href="https://x.com/share?url={{url}}&text={{%%title}}" target="_blank" data-gtm-click data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Twitter/X", "interactionUrl": "https://x.com/share?url={{%%url}}&text={{%%title}}", "interactionText" : "X" } }'> 3113 <i class="sv-share-service-icon fab fa-square-x-twitter" aria-hidden="true"></i> 3114 <span>X</span> 3115 </a> 3116 </li> 3117 3118 <li class="sv-share-service-facebook"> 3119 <!-- Facebook --> 3120 <a href="https://www.facebook.com/sharer/sharer.php?u={{url}}" target="_blank" data-gtm-click data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Facebook", "interactionUrl": "https://www.facebook.com/sharer/sharer.php?u={{%%url}}", "interactionText" : "Facebook" } }'> 3121 <i class="sv-share-service-icon fab fa-facebook" aria-hidden="true"></i> 3122 <span>Facebook</span> 3123 </a> 3124 </li> 3125 3126 <li class="sv-share-service-linkedin"> 3127 <!-- LinkedIn --> 3128 <a href="https://www.linkedin.com/shareArticle?url={{url}}&title={{title}}" target="_blank" data-gtm-click data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Linkedin", "interactionUrl": "https://www.linkedin.com/shareArticle?url={{%%url}}&title={{%%title}}", "interactionText" : "LinkedIn" } }'> 3129 <i class="sv-share-service-icon fab fa-linkedin" aria-hidden="true"></i> 3130 <span>LinkedIn</span> 3131 </a> 3132 </li> 3133 3134 <li class="sv-share-service-reddit"> 3135 <!-- Reddit --> 3136 <a href="https://reddit.com/submit?url={{url}}&title={{title}}" target="_blank" data-gtm-click data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Reddit", "interactionUrl": "https://reddit.com/submit?url={{%%url}}&title={{%%title}}", "interactionText" : "Reddit" } }'> 3137 <i class="sv-share-service-icon fab fa-reddit" aria-hidden="true"></i> 3138 <span>Reddit</span> 3139 </a> 3140 </li> 3141 {{/}} 3142 3143 </script>
3143 3144 3145
3145<script> 3146 require(["plugins_common_custom_social_share"], function(socialShare) { 3147 const data = {"sections":{},"data":{},"guid":"0e716037-4b57-42a2-86a4-c98b21be8b66","customSettings":{},"widgetArgs":{"nav":{"_id":"64b82c55f1b2d13c0f325d69","sortorder":1,"title":"Contact","folder":"contact","section":"footer","type":"page","active":true,"show_on_nav":true,"publish_start":"2023-07-19T18:00:00.000Z","searchable":"yes","new_window":false,"image_id":"64b878a9f1b2d13c0f3266e5","description":"<p>Feel free to contact us with any questions or concerns you may have by filling out the form on this page. We appreciate your feedback!</p>","version_id":"64e513759f5c1d284c715303","created":"2023-07-19T18:32:53.984Z","content_owner":"default","site_name":"primary","updated":"2023-08-22T19:58:45.366Z","title_sort":"contact","site_section":"primary.footer","published":true,"amp":false,"cms_title":"Contact - /contact/","cms_title_sort":"contact - /contact/","folderHref":"/contact/","image":{"_id":"64b878a9f1b2d13c0f3266e5","original_public_id":"clients/elmhurstil/local_orgs_341d51bc-8177-42c1-a564-174eef312d94","title":"local orgs","resource_raw":{"asset_id":"97549b0ebb9cd8063aa6c7ece822e99c","public_id":"clients/elmhurstil/local_orgs_341d51bc-8177-42c1-a564-174eef312d94","version":1689811111,"version_id":"ec52aea15a372d44b4e52367858856d4","signature":"3ee964e63bf8f8b74363e8eca4bf6b1a13050dfd","width":2048,"height":1536,"format":"jpg","resource_type":"image","created_at":"2023-07-19T23:58:31.000Z","pages":1,"bytes":713284,"type":"upload","etag":"51dc2232a7b19655f954c1af8be5252f","placeholder":false,"url":"http://res.cloudinary.com/simpleview/image/upload/v1689811111/clients/elmhurstil/local_orgs_341d51bc-8177-42c1-a564-174eef312d94.jpg","secure_url":"https://res.cloudinary.com/simpleview/image/upload/v1689811111/clients/elmhurstil/local_orgs_341d51bc-8177-42c1-a564-174eef312d94.jpg","folder":"clients/elmhurstil","access_mode":"public","original_filename":"file","api_key":"756897581616859"},"content_owner":"default","custom_show_credits":false,"title_sort":"local orgs","updated":"2023-07-19T23:58:33.149Z","private":false,"deleted":false,"created":"2023-07-19T23:58:33.150Z","resource":{"raw":{"resource_type":"image","format":"jpg","pages":1,"public_id":"clients/elmhurstil/local_orgs_341d51bc-8177-42c1-a564-174eef312d94"}},"id":"64b878a9f1b2d13c0f3266e5","type":"image","inAssetRequest":false,"alt_text":"local orgs","expired":false},"locale_count":0,"id":"64b82c55f1b2d13c0f325d69","version_id_string":"64e513759f5c1d284c715303","href":"/contact/","absoluteHref":"https://exploreelmhurst.com/contact/","absoluteFolderHref":"https://exploreelmhurst.com/contact/","metaTitle":"Contact","rootCmsUrl":"/nav/sitemap/site_primary/section_footer/"},"num":13,"guid":"0e716037-4b57-42a2-86a4-c98b21be8b66","data":{},"civ":{"instance":{"type":"widget","name":"plugins_common_social_share","site_name":"primary","saved":false,"created":"2023-07-19T17:29:14.894Z","updated":"2023-07-19T17:29:14.894Z","deleted":false,"id":"64b81d5bf1b2d13c0f325b96","version_id_string":"64b81d5bf1b2d13c0f325b97"},"version":{"created":"2023-07-19T17:29:14.908Z","id":"64b81d5bf1b2d13c0f325b97","instance_id_string":"64b81d5bf1b2d13c0f325b96","data":{}},"onTrunk":true,"civid":"64b81d5bf1b2d13c0f325b96"},"name":"plugins_common_social_share","component":"WidgetCommonSocialShare"}}; 3148 socialShare.init("0e716037-4b57-42a2-86a4-c98b21be8b66", data) 3149 }); 3150 </script>
3150 3151 </div> 3152 </div> 3153</div></div><div data-civid="64e5135c9f5c1d284c7152f2" class="contentRender contentRender_14 contentRender_type_widget contentRender_name_plugins_core_textbox" data-sv-time="28" data-sv-index="14" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'><section data-sv-core-textbox data-guid="715b19c0-8345-44ee-b994-6dada285aba5"> 3154 <h1 style="text-align: center;">Contact</h1> 3155 3156<p>Feel free to contact us with any questions or concerns you may have by filling out the form on this page. We appreciate your feedback!</p> 3157 3158</section></div><div data-civid="64e5135c9f5c1d284c7152f4" class="contentRender contentRender_15 contentRender_type_widget contentRender_name_plugins_crm_formbuilder" data-sv-time="339" data-sv-index="15" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 3159 3160 <form action="" method="post" name="frm_7" class="simpleForm" onsubmit="return svcrm.formBuilderScripts.validateForm(this);"> 3161 <input id="formid" name="formid" type="hidden" value="7"> 3162 <input id="groupid" name="groupid" type="hidden" value="5"> 3163 <input id="isSubmitted" name="isSubmitted" value="1" type="hidden"> 3164 3165 3166 <h3>Contact Information</h3> 3167 3168 <div id="rowcontainer_contact_fname" class="row"> 3169
3170 <div id="labelcontainer_contact_fname" class="medium-3 columns"> 3171 <div id="td_contact_fname"> 3172 <label id="label_contact_fname" for="contact_fname" class=" formreq">First Name*:</label> 3173 3174 </div> 3175 </div> 3176 3177 <div id="fieldcontainer_contact_fname" class="medium-9 columns"> 3178 3179 3180 <input class=" " id="contact_fname" name="contact_fname" type="text" maxlength="50" size="25" value=""> 3181 3182 </div> 3183 </div> 3184 3185 <div id="rowcontainer_contact_lname" class="row"> 3186 3187 <div id="labelcontainer_contact_lname" class="medium-3 columns"> 3188 <div id="td_contact_lname"> 3189 <label id="label_contact_lname" for="contact_lname" class=" formreq">Last Name*:</label> 3190 3191 </div> 3192 </div> 3193 3194 <div id="fieldcontainer_contact_lname" class="medium-9 columns"> 3195 3196 3197 <input class=" " id="contact_lname" name="contact_lname" type="text" maxlength="50" size="25" value=""> 3198 3199 </div> 3200 </div> 3201 3202 <div id="rowcontainer_contact_email" class="row"> 3203
3204 <div id="labelcontainer_contact_email" class="medium-3 columns"> 3205 <div id="td_contact_email"> 3206 <label id="label_contact_email" for="contact_email" class=" formtext">Email:</label> 3207 3208 </div> 3209 </div> 3210 3211 <div id="fieldcontainer_contact_email" class="medium-9 columns"> 3212 3213 3214 <input class=" " id="contact_email" name="contact_email" type="text" maxlength="200" size="25" value="" onblur="svcrm.formBuilderScripts.checkEmail(this); "> 3215 3216 </div> 3217 </div> 3218 3219 <div id="rowcontainer_contact_sendemail" class="row"> 3220 3221 <div id="labelcontainer_contact_sendemail" class="medium-3 columns"> 3222 <div id="td_contact_sendemail"> 3223 <label id="label_contact_sendemail" class=" formreq">May we contact you via email?*:</label> 3224 3225 </div> 3226 </div> 3227 3228 <div id="fieldcontainer_contact_sendemail" class="medium-9 columns"> 3229 3230 <fieldset style='border:0px;'> 3231 <legend style="display:none;">contact_sendemail</legend> 3232 <input class=" " id="contact_sendemail_1" name="contact_sendemail" type="radio" value="1"><label class=" formreq" for="contact_sendemail_1"> Yes </label> 3233 <input class=" " id="contact_sendemail_0" name="contact_sendemail" type="radio" value="0"><label class=" formreq" for="contact_sendemail_0"> No </label> 3234 </fieldset> 3235 <p class="hint">You may opt out at any time.</p> 3236 </div> 3237 </div> 3238 3239 <div id="rowcontainer_contact_phone" class="row"> 3240
3241 <div id="labelcontainer_contact_phone" class="medium-3 columns"> 3242 <div id="td_contact_phone"> 3243 <label id="label_contact_phone" for="contact_phone" class=" formtext">Phone:</label> 3244 3245 </div> 3246 </div> 3247 3248 <div id="fieldcontainer_contact_phone" class="medium-9 columns"> 3249 3250 3251 <input class=" " id="contact_phone" name="contact_phone" type="text" maxlength="40" size="25" value="" onblur="svcrm.formBuilderScripts.checkPhone(this); svcrm.formBuilderScripts.fmtPhone(this,'(xxx) xxx-xxxx'); "> 3252 3253 </div> 3254 </div> 3255 3256 <div id="rowcontainer_inquiry_comments" class="row"> 3257 3258 <div id="labelcontainer_inquiry_comments" class="medium-3 columns"> 3259 <div id="td_inquiry_comments"> 3260 <label id="label_inquiry_comments" for="inquiry_comments" class=" formtext">Comments:</label> 3261 3262 </div> 3263 </div> 3264 3265 <div id="fieldcontainer_inquiry_comments" class="medium-9 columns"> 3266 3267 <textarea class=" " id="inquiry_comments" name="inquiry_comments" cols="40" rows="6" ></textarea> 3268 3269 </div> 3270 </div> 3271 3272 <h3>Privacy Policy</h3> 3273 3274 <p class="text-center"><p>By using the website exploreelmhurst.com and submitting this form, you agree to the Explore Elmhurst Privacy and Cookie Policy.</p></p> 3275 3276 <div id="rowcontainer_udf_10" class="row"> 3277 3278 <div id="labelcontainer_udf_10" class="medium-3 columns"> 3279 <div id="td_udf_10"> 3280 <label id="label_udf_10" class=" formreq">I agree to these Terms and Conditions*:</label> 3281 3282 </div> 3283 </div> 3284 3285 <div id="fieldcontainer_udf_10" class="medium-9 columns"> 3286 3287 <fieldset style='border:0px;'> 3288 <legend style="display:none;">udf_10</legend> 3289 <input class=" " id="udf_10_1" name="udf_10" type="radio" value="1"><label class=" formreq" for="udf_10_1"> Yes </label> 3290 <input class=" " id="udf_10_0" name="udf_10" type="radio" value="0"><label class=" formreq" for="udf_10_0"> No </label> 3291 </fieldset> 3292 <p class="hint">By selecting yes you confirm that you have read and understand the <a href="https://exploreelmhurst.com/privacy-policy/" target="_blank">Privacy Policy</a></p> 3293 </div> 3294 </div> 3295 3296 3297 <p class="hint formreq text-center">* Indicates a required field.</p> 3298 <hr size="1" color="cccccc" width="100%"> 3299 <div class="row"> 3300 <div class="medium-6 small-centered captcha columns">
vendor: 106 bytes, lines 3300-3302
3300 3301 3302 <script type="text/javascript" src="https://www.google.com/recaptcha/api.js?render=
33026LeZ3hglAAAAAKamozh8ERwos1nwD-GLAqG6zD1I
vendor: 26 bytes, lines 3302-3303
3302"></script> 3303
3303<input type="hidden" id="g-recaptcha-response" name="g-recaptcha-response"> 3304 3305 3306 <input type="hidden" name="code" id="code" value="1234" /> 3307 <input type="hidden" name="code_key" id="code_key" value="rO0ABXQABDEyMzQ=" /> 3308 3309 </div> 3310 </div> 3311 3312 <hr size="1" color="cccccc" width="100%"> 3313 <div class="row"> 3314 <div class="medium-6 small-centered columns formCntrls"> 3315 <label for="savefrm_button" class="label_hidden">Submit</label> 3316 <input class="button" id="savefrm_button" name="savefrm" type="Submit" value="Submit"> 3317 <label for="resetfrm_button" class="label_hidden">Reset</label> 3318 <input class="button" id="resetfrm_button" type="Reset" value="Reset"> 3319 </div> 3320 </div> 3321 </form> 3322 3323 3324
3324<script type="text/javascript"> 3325 /* IP Address Tracking enabled. IP addresses are being tracked in order to ensure compliance with local privacy laws */ 3326 var __sv = __sv || {}; 3327 3328 3329 (function(){ 3330 function ___onload_function(){ 3331 3332 }; 3333 3334 3335 3336 if(window.addEventListener){ 3337 window.addEventListener('load',___onload_function,false); 3338 }else if(window.attachEvent){ 3339 window.attachEvent('onload',___onload_function); 3340 } 3341 })(); 3342 </script>
3342 3343 3344
3344<script type="text/javascript"> 3345 function AoProcessForm(frm){ 3346 var changeSaveFrmButtonTypeAndSubmit = function(frm){ 3347 try{ 3348 if(frm && 'savefrm' in frm && 'type' in frm.savefrm){ 3349 frm.savefrm.style.opacity = '0'; 3350 frm.savefrm.setAttribute("type","input"); 3351 } 3352 frm.submit(); 3353 }catch(e){ 3354 if(console && 'log' in console){ 3355 console.log("Error trying to pass the save button", e); 3356 } 3357 } 3358 }; 3359 3360 changeSaveFrmButtonTypeAndSubmit(frm); 3361 3362 } 3363 </script>
3363 3364
3364<script type="text/javascript"> 3365 (function(){ 3366 3367 svcrm = ((typeof svcrm != 'undefined') ? svcrm : {}); 3368 svcrm.formBuilderScripts = ((typeof svcrm.formBuilderScripts != 'undefined') ? svcrm.formBuilderScripts : {}); 3369 3370 svcrm.formBuilderScripts.chkBoxes = function(fld){ 3371 var i = 0; 3372 var cnt = 0; 3373 if(fld.length==undefined && fld.checked == true) return true; 3374 for (i = 0; i < fld.length; i++) { 3375 if (fld[i].checked) { 3376 cnt++; 3377 break; 3378 } 3379 } 3380 if (cnt == 0) 3381 return false; 3382 else 3383 return true; 3384 }; 3385 3386 svcrm.formBuilderScripts.updReq = function(){ 3387 var i = 0; 3388 var st = new Array(); 3389 var zp = new Array(); 3390 3391 3392 3393 return true; 3394 }; 3395 3396 // removes the leading and trailing spaces from a string, 3397 // similar to the java.lang.String.trim() function 3398 // added by lturetsky, taken from http://www.voy.com/1888/58.html 3399 svcrm.formBuilderScripts.trim = function(st){ 3400 var len = st.length 3401 var begin = 0, end = len - 1; 3402 while (st.charAt(begin) == " " && begin < len) { 3403 begin++; 3404 } 3405 while (st.charAt(end) == " " && begin < end) { 3406 end--; 3407 } 3408 return st.substring(begin, end+1); 3409 }; 3410 3411 3412 svcrm.formBuilderScripts.validateForm = function(frm){ 3413 var errMsg = '', reqMsg = '', fmtMsg = ''; 3414 3415 3416 3417 if (svcrm.formBuilderScripts.trim(document.getElementById('contact_fname').value).length == 0) 3418 3419 reqMsg += ' First Name\n'; 3420 3421 if (svcrm.formBuilderScripts.trim(document.getElementById('contact_lname').value).length == 0) 3422 3423 reqMsg += ' Last Name\n'; 3424 3425 if (!svcrm.formBuilderScripts.checkEmail(document.getElementById('contact_email'))) 3426 fmtMsg += ' Please enter a valid email address for: Email\n'; 3427 3428 if (!document.getElementById('contact_sendemail_1').checked && !(document.getElementById('contact_sendemail_0').checked)) 3429 3430 reqMsg += ' May we contact you via email?\n'; 3431 3432 if (!svcrm.formBuilderScripts.checkPhone(document.getElementById('contact_phone'))) 3433 fmtMsg += ' Please enter a valid phone number for : Phone\n'; 3434 else 3435 svcrm.formBuilderScripts.fmtPhone(document.getElementById('contact_phone')); 3436 3437 if (!document.getElementById('udf_10_1').checked && !(document.getElementById('udf_10_0').checked)) 3438 3439 reqMsg += ' I agree to these Terms and Conditions\n'; 3440 3441 3442 //only validate the captcha if it is there 3443 var cdElm = document.getElementById('code'); 3444 if (cdElm !== null && cdElm.value.length == 0){ 3445 reqMsg += ' Image Code\n'; 3446 } 3447 3448 //allow a hook in for custom validations 3449 var customValidations = svcrm.formBuilderScripts.processCustomValidations(); 3450 if('reqMsg' in customValidations && customValidations.reqMsg.length){ 3451 reqMsg += customValidations.reqMsg; 3452 } 3453 if('fmtMsg' in customValidations && customValidations.fmtMsg.length){ 3454 fmtMsg += customValidations.fmtMsg; 3455 } 3456 3457 return svcrm.formBuilderScripts.processValidationMessages(reqMsg,fmtMsg,frm); 3458 }; 3459 3460 //core will do nothing but gives devs a hook 3461 svcrm.formBuilderScripts.processCustomValidations = function(){ 3462 var rtnvar = {reqMsg:'',fmtMsg:''}; 3463 return rtnvar; 3464 }; 3465 3466 //might as well split this out so customizations can be made 3467 svcrm.formBuilderScripts.processValidationMessages = function(reqMsg,fmtMsg,frm){ 3468 var errMsg = ''; 3469 Array.prototype.forEach.call(document.getElementsByName("savefrm"), function(e){e.disabled=true}); 3470 if ((reqMsg.length + fmtMsg.length) != 0) { 3471 errMsg = 'This information cannot be sent at this time!\n\n'; 3472 if (reqMsg.length > 0) 3473 errMsg += 'The following fields are required!\n' + reqMsg + '\n'; 3474 3475 if (fmtMsg.length > 0)
3476 errMsg += 'The following information is invalid!\n' + fmtMsg + '\n'; 3477 3478 svcrm.formBuilderScripts.showValidationErrorMsg(errMsg); 3479 Array.prototype.forEach.call(document.getElementsByName("savefrm"), function(e){e.disabled=false}); 3480 return false; 3481 }else{ 3482 AoProcessForm(frm); 3483 return false; 3484 } 3485 }; 3486 3487 //why not :) 3488 svcrm.formBuilderScripts.showValidationErrorMsg = function(msg){ 3489 alert(msg); 3490 }; 3491 3492 svcrm.formBuilderScripts.updateDOB = function(monthFld,dayFld) { 3493 var days = 0; 3494 if (monthFld.selectedIndex == 0) return true; 3495 3496 switch (monthFld.selectedIndex) { 3497 case 2: 3498 days = 30; 3499 break; 3500 case 4: 3501 case 6: 3502 case 9: 3503 case 11: 3504 days = 31; 3505 break; 3506 default: 3507 days = 32; 3508 break; 3509 } 3510 3511 if (dayFld.options[dayFld.selectedIndex].value >= days) 3512 dayFld.selectedIndex = days - 1; 3513 3514 dayFld.length = days; 3515 for (var i = 28; i < days; i++) { 3516 dayFld.options[i].value = String(i); 3517 dayFld.options[i].text = String(i); 3518 } 3519 return true; 3520 } 3521 3522 })(); 3523 </script>
3523 3524 3525
3525<script type="text/javascript"> 3526 3527 3528 (function(){ 3529 svcrm = ((typeof svcrm != 'undefined') ? svcrm : {}); 3530 svcrm.formBuilderScripts = ((typeof svcrm.formBuilderScripts != 'undefined') ? svcrm.formBuilderScripts : {}); 3531 3532 3533 window.svcrm.formBuilderScripts.states = [{"STATES":"**** - **","COUNTRYNAME":"AFGHANISTAN","COUNTRYID":239},{"STATES":"**** - **","COUNTRYNAME":"Ã LAND ISLANDS","COUNTRYID":272},{"STATES":"**** - **","COUNTRYNAME":"ALBANIA","COUNTRYID":1},{"STATES":"**** - **","COUNTRYNAME":"ALGERIA","COUNTRYID":2},{"STATES":"**** - **","COUNTRYNAME":"AMERICAN SAMOA","COUNTRYID":3},{"STATES":"**** - **","COUNTRYNAME":"ANDORRA","COUNTRYID":4},{"STATES":"**** - **","COUNTRYNAME":"ANGOLA","COUNTRYID":250},{"STATES":"**** - **","COUNTRYNAME":"ANGUILLA","COUNTRYID":5},{"STATES":"**** - **","COUNTRYNAME":"ANTARCTICA","COUNTRYID":256},{"STATES":"**** - **","COUNTRYNAME":"ANTIGUA AND BARBUDA","COUNTRYID":6},{"STATES":"**** - **","COUNTRYNAME":"ARGENTINA","COUNTRYID":7},{"STATES":"**** - **","COUNTRYNAME":"ARMENIA","COUNTRYID":251},{"STATES":"**** - **","COUNTRYNAME":"ARUBA","COUNTRYID":8},{"STATES":"**** - ** NSWNSW - New South Wales QldQld - Queensland SASA - South Australia TasTas - Tasmania VicVic - Victoria WAWA - Western Australia","COUNTRYNAME":"AUSTRALIA","COUNTRYID":9},{"STATES":"**** - **","COUNTRYNAME":"AUSTRIA","COUNTRYID":10},{"STATES":"**** - **","COUNTRYNAME":"AZERBAIJAN","COUNTRYID":252},{"STATES":"**** - **","COUNTRYNAME":"BAHAMAS","COUNTRYID":12},{"STATES":"**** - **","COUNTRYNAME":"BAHRAIN","COUNTRYID":13},{"STATES":"**** - **","COUNTRYNAME":"BANGLADESH","COUNTRYID":14},{"STATES":"**** - **","COUNTRYNAME":"BARBADOS","COUNTRYID":15},{"STATES":"**** - **","COUNTRYNAME":"BELARUS","COUNTRYID":18},{"STATES":"**** - **","COUNTRYNAME":"BELGIUM","COUNTRYID":16},{"STATES":"**** - **","COUNTRYNAME":"BELIZE","COUNTRYID":17},{"STATES":"**** - **","COUNTRYNAME":"BENIN","COUNTRYID":19},{"STATES":"**** - **","COUNTRYNAME":"BERMUDA","COUNTRYID":20},{"STATES":"**** - **","COUNTRYNAME":"BHUTAN","COUNTRYID":240},{"STATES":"**** - **","COUNTRYNAME":"BOLIVIA, PLURINATIONAL STATE OF","COUNTRYID":21},{"STATES":"**** - **","COUNTRYNAME":"BOSNIA AND HERZEGOVINA","COUNTRYID":23},{"STATES":"**** - **","COUNTRYNAME":"BOTSWANA","COUNTRYID":24},{"STATES":"**** - **","COUNTRYNAME":"BOUVET ISLAND","COUNTRYID":253},{"STATES":"**** - **","COUNTRYNAME":"BRAZIL","COUNTRYID":25},{"STATES":"**** - **","COUNTRYNAME":"BRITISH INDIAN OCEAN TERRITORY","COUNTRYID":278},{"STATES":"**** - **","COUNTRYNAME":"BRUNEI DARUSSALAM","COUNTRYID":27},{"STATES":"**** - **","COUNTRYNAME":"BULGARIA","COUNTRYID":28},{"STATES":"**** - **","COUNTRYNAME":"BURKINA FASO","COUNTRYID":29},{"STATES":"**** - **","COUNTRYNAME":"BURUNDI","COUNTRYID":30},{"STATES":"**** - **","COUNTRYNAME":"CAMBODIA","COUNTRYID":31},{"STATES":"**** - **","COUNTRYNAME":"CAMEROON","COUNTRYID":32},{"STATES":"**** - ** ABAB - Alberta BCBC - British Columbia MBMB - Manitoba NBNB - New Brunswick NLNL - Newfoundland and Labrador NTNT - Northwest Territory NSNS - Nova Scotia NUNU - Nunavut ONON - Ontario PEPE - Prince Edward Island QCQC - Quebec SKSK - Saskatchewan YTYT - Yukon","COUNTRYNAME":"CANADA","COUNTRYID":33},{"STATES":"**** - **","COUNTRYNAME":"CANARY ISLANDS","COUNTRYID":34},{"STATES":"**** - **","COUNTRYNAME":"CAPE VERDE","COUNTRYID":35},{"STATES":"**** - **","COUNTRYNAME":"CAYMAN ISLANDS","COUNTRYID":36},{"STATES":"**** - **","COUNTRYNAME":"CENTRAL AFRICAN REPUBLIC","COUNTRYID":37},{"STATES":"**** - **","COUNTRYNAME":"CHAD","COUNTRYID":38},{"STATES":"**** - ** SANSAN - Santiago","COUNTRYNAME":"CHILE","COUNTRYID":40},{"STATES":"**** - **","COUNTRYNAME":"CHINA","COUNTRYID":41},{"STATES":"**** - **","COUNTRYNAME":"CHRISTMAS ISLAND","COUNTRYID":254},{"STATES":"**** - **","COUNTRYNAME":"COCOS (KEELING) ISLANDS","COUNTRYID":241},{"STATES":"**** - **","COUNTRYNAME":"COLOMBIA","COUNTRYID":42},{"STATES":"**** - **","COUNTRYNAME":"COMOROS","COUNTRYID":255},{"STATES":"**** - **","COUNTRYNAME":"CONGO","COUNTRYID":43},{"STATES":"**** - **","COUNTRYNAME":"CONGO, THE DEMOCRATIC REPUBLIC OF THE","COUNTRYID":274},{"STATES":"**** - **","COUNTRYNAME":"COOK ISLANDS","COUNTRYID":44},{"STATES":"**** - **","COUNTRYNAME":"COSTA RICA","COUNTRYID":45},{"STATES":"**** - **","COUNTRYNAME":"CÃTE D'IVOIRE","COUNTRYID":94},{"STATES":"**** - **","COUNTRYNAME":"CROATIA","COUNTRYID":46},{"STATES":"**** - **","COUNTRYNAME":"CUBA","COUNTRYID":242},{"STATES":"**** - **","COUNTRYNAME":"CURACAO","COUNTRYID":47},{"STATES":"**** - **","COUNTRYNAME":"CYPRUS","COUNTRYID":48},{"STATES":"**** - **","COUNTRYNAME":"CZECH REPUBLIC","COUNTRYID":49},{"STATES":"**** - **","COUNTRYNAME":"DENMARK","COUNTRYID":50},{"STATES":"**** - **","COUNTRYNAME":"DJIBOUTI","COUNTRYID":51},{"STATES":"**** - **","COUNTRYNAME":"DOMINICA","COUNTRYID":52},{"STATES":"**** - **","COUNTRYNAME":"DOMINICAN REPUBLIC","COUNTRYID":53},{"STATES":"**** - **","COUNTRYNAME":"ECUADOR","COUNTRYID":54},{"STATES":"**** - **","COUNTRYNAME":"EGYPT","COUNTRYID":55},{"STATES":"**** - **","COUNTRYNAME":"EL SALVADOR","COUNTRYID":56},{"STATES":"**** - **","COUNTRYNAME":"EQUATORIAL GUINEA","COUNTRYID":58},{"STATES":"**** - **","COUNTRYNAME":"ERITREA","COUNTRYID":59},{"STATES":"**** - **","COUNTRYNAME":"ESTONIA","COUNTRYID":60},{"STATES":"**** - **","COUNTRYNAME":"ETHIOPIA","COUNTRYID":61},{"STATES":"**** - **","COUNTRYNAME":"FALKLAND ISLANDS (MALVINAS)","COUNTRYID":258},{"STATES":"**** - **","COUNTRYNAME":"FAROE ISLANDS","COUNTRYID":62},{"STATES":"**** - **","COUNTRYNAME":"FIJI","COUNTRYID":64},{"STATES":"**** - **","COUNTRYNAME":"FINLAND","COUNTRYID":65},{"STATES":"**** - **","COUNTRYNAME":"FRANCE","COUNTRYID":66},{"STATES":"**** - **","COUNTRYNAME":"FRENCH GUIANA","COUNTRYID":67},{"STATES":"**** - **","COUNTRYNAME":"FRENCH POLYNESIA","COUNTRYID":197},{"STATES":"**** - **","COUNTRYNAME":"FRENCH SOUTHERN TERRITORIES","COUNTRYID":283},{"STATES":"**** - **","COUNTRYNAME":"GABON","COUNTRYID":69},{"STATES":"**** - **","COUNTRYNAME":"GAMBIA","COUNTRYID":70},{"STATES":"**** - **","COUNTRYNAME":"GEORGIA","COUNTRYID":71},{"STATES":"**** - **","COUNTRYNAME":"GERMANY","COUNTRYID":72},{"STATES":"**** - **","COUNTRYNAME":"GHANA","COUNTRYID":73},{"STATES":"**** - **","COUNTRYNAME":"GIBRALTAR","COUNTRYID":74},{"STATES":"**** - **","COUNTRYNAME":"GREECE","COUNTRYID":75},{"STATES":"**** - **","COUNTRYNAME":"GREENLAND","COUNTRYID":76},{"STATES":"**** - **","COUNTRYNAME":"GRENADA","COUNTRYID":77},{"STATES":"**** - **","COUNTRYNAME":"GUADELOUPE","COUNTRYID":78},{"STATES":"**** - **","COUNTRYNAME":"GUAM","COUNTRYID":79},{"STATES":"**** - **","COUNTRYNAME":"GUATEMALA","COUNTRYID":80},{"STATES":"**** - **","COUNTRYNAME":"GUERNSEY","COUNTRYID":275},{"STATES":"**** - **","COUNTRYNAME":"GUINEA","COUNTRYID":81},{"STATES":"**** - **","COUNTRYNAME":"GUINEA-BISSAU","COUNTRYID":82},{"STATES":"**** - **","COUNTRYNAME":"GUYANA","COUNTRYID":83},{"STATES":"**** - **","COUNTRYNAME":"HAITI","COUNTRYID":84},{"STATES":"**** - **","COUNTRYNAME":"HEARD ISLAND AND MCDONALD ISLANDS","COUNTRYID":276},{"STATES":"**** - **","COUNTRYNAME":"HOLY SEE (VATICAN CITY STATE)","COUNTRYID":236},{"STATES":"**** - **","COUNTRYNAME":"HONDURAS","COUNTRYID":86},{"STATES":"**** - **","COUNTRYNAME":"HONG KONG","COUNTRYID":87},{"STATES":"**** - **","COUNTRYNAME":"HUNGARY","COUNTRYID":88},{"STATES":"**** - **","COUNTRYNAME":"ICELAND","COUNTRYID":89},{"STATES":"**** - **","COUNTRYNAME":"INDIA","COUNTRYID":90},{"STATES":"**** - **","COUNTRYNAME":"INDONESIA","COUNTRYID":91},{"STATES":"**** - **","COUNTRYNAME":"IRAN, ISLAMIC REPUBLIC OF","COUNTRYID":235},{"STATES":"**** - **","COUNTRYNAME":"IRAQ","COUNTRYID":238},{"STATES":"**** - **","COUNTRYNAME":"IRELAND","COUNTRYID":234},{"STATES":"**** - **","COUNTRYNAME":"ISLE OF MAN","COUNTRYID":277},{"STATES":"**** - **","COUNTRYNAME":"ISRAEL","COUNTRYID":92},{"STATES":"**** - **","COUNTRYNAME":"ITALY","COUNTRYID":93},{"STATES":"**** - **","COUNTRYNAME":"JAMAICA","COUNTRYID":95},{"STATES":"**** - **","COUNTRYNAME":"JAPAN","COUNTRYID":96},{"STATES":"**** - **","COUNTRYNAME":"JERSEY","COUNTRYID":279},{"STATES":"**** - **","COUNTRYNAME":"JORDAN","COUNTRYID":97},{"STATES":"**** - **","COUNTRYNAME":"KAZAKHSTAN","COUNTRYID":98},{"STATES":"**** - **","COUNTRYNAME":"KENYA","COUNTRYID":99},{"STATES":"**** - **","COUNTRYNAME":"KIRIBATI","COUNTRYID":100},{"STATES":"**
3533** - **","COUNTRYNAME":"KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF","COUNTRYID":264},{"STATES":"**** - **","COUNTRYNAME":"KOREA, REPUBLIC OF","COUNTRYID":177},{"STATES":"**** - **","COUNTRYNAME":"KOSRAE","COUNTRYID":101},{"STATES":"**** - **","COUNTRYNAME":"KUWAIT","COUNTRYID":102},{"STATES":"**** - **","COUNTRYNAME":"KYRGYZSTAN","COUNTRYID":103},{"STATES":"**** - **","COUNTRYNAME":"LAO PEOPLE'S DEMOCRATIC REPUBLIC","COUNTRYID":104},{"STATES":"**** - **","COUNTRYNAME":"LATVIA","COUNTRYID":105},{"STATES":"**** - **","COUNTRYNAME":"LEBANON","COUNTRYID":106},{"STATES":"**** - **","COUNTRYNAME":"LESOTHO","COUNTRYID":107},{"STATES":"**** - **","COUNTRYNAME":"LIBERIA","COUNTRYID":108},{"STATES":"**** - **","COUNTRYNAME":"LIBYAN ARAB JAMAHIRIYA","COUNTRYID":259},{"STATES":"**** - **","COUNTRYNAME":"LIECHTENSTEIN","COUNTRYID":109},{"STATES":"**** - **","COUNTRYNAME":"LITHUANIA","COUNTRYID":110},{"STATES":"**** - **","COUNTRYNAME":"LUXEMBOURG","COUNTRYID":111},{"STATES":"**** - **","COUNTRYNAME":"MACAO","COUNTRYID":112},{"STATES":"**** - **","COUNTRYNAME":"MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF","COUNTRYID":113},{"STATES":"**** - **","COUNTRYNAME":"MADAGASCAR","COUNTRYID":114},{"STATES":"**** - **","COUNTRYNAME":"MALAWI","COUNTRYID":116},{"STATES":"**** - **","COUNTRYNAME":"MALAYSIA","COUNTRYID":117},{"STATES":"**** - **","COUNTRYNAME":"MALDIVES","COUNTRYID":118},{"STATES":"**** - **","COUNTRYNAME":"MALI","COUNTRYID":119},{"STATES":"**** - **","COUNTRYNAME":"MALTA","COUNTRYID":120},{"STATES":"**** - ** MHMH - Marshall Islands","COUNTRYNAME":"MARSHALL ISLANDS","COUNTRYID":121},{"STATES":"**** - **","COUNTRYNAME":"MARTINIQUE","COUNTRYID":122},{"STATES":"**** - **","COUNTRYNAME":"MAURITANIA","COUNTRYID":123},{"STATES":"**** - **","COUNTRYNAME":"MAURITIUS","COUNTRYID":124},{"STATES":"**** - **","COUNTRYNAME":"MAYOTTE","COUNTRYID":260},{"STATES":"**** - **","COUNTRYNAME":"MEXICO","COUNTRYID":125},{"STATES":"**** - **","COUNTRYNAME":"MICRONESIA, FEDERATED STATES OF","COUNTRYID":63},{"STATES":"**** - **","COUNTRYNAME":"MOLDOVA, REPUBLIC OF","COUNTRYID":126},{"STATES":"**** - **","COUNTRYNAME":"MONACO","COUNTRYID":127},{"STATES":"**** - **","COUNTRYNAME":"MONGOLIA","COUNTRYID":261},{"STATES":"**** - **","COUNTRYNAME":"MONTENEGRO","COUNTRYID":115},{"STATES":"**** - **","COUNTRYNAME":"MONTSERRAT","COUNTRYID":128},{"STATES":"**** - **","COUNTRYNAME":"MOROCCO","COUNTRYID":129},{"STATES":"**** - **","COUNTRYNAME":"MOZAMBIQUE","COUNTRYID":130},{"STATES":"**** - **","COUNTRYNAME":"MYANMAR","COUNTRYID":131},{"STATES":"**** - **","COUNTRYNAME":"NAMIBIA","COUNTRYID":132},{"STATES":"**** - **","COUNTRYNAME":"NAURU","COUNTRYID":262},{"STATES":"**** - **","COUNTRYNAME":"NEPAL","COUNTRYID":133},{"STATES":"**** - **","COUNTRYNAME":"NETHERLANDS","COUNTRYID":134},{"STATES":"**** - **","COUNTRYNAME":"NETHERLANDS ANTILLES","COUNTRYID":135},{"STATES":"**** - **","COUNTRYNAME":"NEW CALEDONIA","COUNTRYID":136},{"STATES":"**** - **","COUNTRYNAME":"NEW ZEALAND","COUNTRYID":137},{"STATES":"**** - **","COUNTRYNAME":"NICARAGUA","COUNTRYID":138},{"STATES":"**** - **","COUNTRYNAME":"NIGER","COUNTRYID":139},{"STATES":"**** - **","COUNTRYNAME":"NIGERIA","COUNTRYID":140},{"STATES":"**** - **","COUNTRYNAME":"NIUE","COUNTRYID":263},{"STATES":"**** - **","COUNTRYNAME":"NORFOLK ISLAND","COUNTRYID":141},{"STATES":"**** - **","COUNTRYNAME":"NORTHERN MARIANA ISLANDS","COUNTRYID":143},{"STATES":"**** - **","COUNTRYNAME":"NORWAY","COUNTRYID":144},{"STATES":"**** - **","COUNTRYNAME":"OMAN","COUNTRYID":145},{"STATES":"**** - **","COUNTRYNAME":"PAKISTAN","COUNTRYID":146},{"STATES":"**** - **","COUNTRYNAME":"PALAU","COUNTRYID":147},{"STATES":"**
3533** - **","COUNTRYNAME":"PALESTINIAN TERRITORY, OCCUPIED","COUNTRYID":281},{"STATES":"**** - **","COUNTRYNAME":"PANAMA","COUNTRYID":148},{"STATES":"**** - **","COUNTRYNAME":"PAPUA NEW GUINEA","COUNTRYID":149},{"STATES":"**** - **","COUNTRYNAME":"PARAGUAY","COUNTRYID":150},{"STATES":"**** - **","COUNTRYNAME":"PERU","COUNTRYID":151},{"STATES":"**** - **","COUNTRYNAME":"PHILIPPINES","COUNTRYID":152},{"STATES":"**** - **","COUNTRYNAME":"PITCAIRN","COUNTRYID":265},{"STATES":"**** - **","COUNTRYNAME":"POLAND","COUNTRYID":153},{"STATES":"**** - **","COUNTRYNAME":"PONAPE","COUNTRYID":154},{"STATES":"**** - **","COUNTRYNAME":"PORTUGAL","COUNTRYID":155},{"STATES":"**** - **","COUNTRYNAME":"PUERTO RICO","COUNTRYID":156},{"STATES":"**** - **","COUNTRYNAME":"QATAR","COUNTRYID":157},{"STATES":"**** - **","COUNTRYNAME":"RÃUNION","COUNTRYID":160},{"STATES":"**** - **","COUNTRYNAME":"ROMANIA","COUNTRYID":161},{"STATES":"**** - **","COUNTRYNAME":"RUSSIAN FEDERATION","COUNTRYID":163},{"STATES":"**** - **","COUNTRYNAME":"RWANDA","COUNTRYID":164},{"STATES":"**** - **","COUNTRYNAME":"SABA","COUNTRYID":165},{"STATES":"**** - **","COUNTRYNAME":"SAINT BARTHÃLEMY","COUNTRYID":273},{"STATES":"**** - **","COUNTRYNAME":"SAINT HELENA","COUNTRYID":245},{"STATES":"**** - **","COUNTRYNAME":"SAINT KITTS AND NEVIS","COUNTRYID":185},{"STATES":"**** - **","COUNTRYNAME":"SAINT LUCIA","COUNTRYID":186},{"STATES":"**** - **","COUNTRYNAME":"SAINT MARTIN","COUNTRYID":280},{"STATES":"**** - **","COUNTRYNAME":"SAINT PIERRE AND MIQUELON","COUNTRYID":269},{"STATES":"**** - **","COUNTRYNAME":"SAINT VINCENT AND THE GRENADINES","COUNTRYID":190},{"STATES":"**** - **","COUNTRYNAME":"SAIPAN","COUNTRYID":166},{"STATES":"**** - **","COUNTRYNAME":"SAMOA","COUNTRYID":228},{"STATES":"**** - **","COUNTRYNAME":"SAN MARINO","COUNTRYID":266},{"STATES":"**** - **","COUNTRYNAME":"SAO TOME AND PRINCIPE","COUNTRYID":267},{"STATES":"**** - **","COUNTRYNAME":"SAUDI ARABIA","COUNTRYID":167},{"STATES":"**** - **","COUNTRYNAME":"SCOTLAND","COUNTRYID":168},{"STATES":"**** - **","COUNTRYNAME":"SENEGAL","COUNTRYID":169},{"STATES":"**** - **","COUNTRYNAME":"SERBIA","COUNTRYID":284},{"STATES":"**** - **","COUNTRYNAME":"SEYCHELLES","COUNTRYID":170},{"STATES":"**** - **","COUNTRYNAME":"SIERRA LEONE","COUNTRYID":171},{"STATES":"**** - **","COUNTRYNAME":"SINGAPORE","COUNTRYID":172},{"STATES":"**** - **","COUNTRYNAME":"SLOVAKIA","COUNTRYID":173},{"STATES":"**** - **","COUNTRYNAME":"SLOVENIA","COUNTRYID":174},{"STATES":"**** - **","COUNTRYNAME":"SOLOMON ISLANDS","COUNTRYID":175},{"STATES":"**** - **","COUNTRYNAME":"SOMALIA","COUNTRYID":244},{"STATES":"**** - **","COUNTRYNAME":"SOUTH AFRICA","COUNTRYID":176},{"STATES":"**** - **","COUNTRYNAME":"SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS","COUNTRYID":268},{"STATES":"**** - **","COUNTRYNAME":"SPAIN","COUNTRYID":178},{"STATES":"**** - **","COUNTRYNAME":"SRI LANKA","COUNTRYID":179},{"STATES":"**** - **","COUNTRYNAME":"ST. BARTHELEMY","COUNTRYID":180},{"STATES":"**** - **","COUNTRYNAME":"ST. CHRISTOPHER","COUNTRYID":181},{"STATES":"**** - **","COUNTRYNAME":"ST. CROIX","COUNTRYID":182},{"STATES":"**** - **","COUNTRYNAME":"ST. EUSTATIUS","COUNTRYID":183},{"STATES":"**** - **","COUNTRYNAME":"ST. JOHN","COUNTRYID":184},{"STATES":"**** - **","COUNTRYNAME":"ST. MAARTEN","COUNTRYID":187},{"STATES":"**** - **","COUNTRYNAME":"ST. MARTIN","COUNTRYID":188},{"STATES":"**** - **","COUNTRYNAME":"ST. THOMAS","COUNTRYID":189},{"STATES":"**** - **","COUNTRYNAME":"SUDAN","COUNTRYID":191},{"STATES":"**** - **","COUNTRYNAME":"SURINAME","COUNTRYID":192},{"STATES":"**** - **","COUNTRYNAME":"SVALBARD AND JAN MAYEN","COUNTRYID":282},{"STATES":"**** - **","COUNTRYNAME":"SWAZILAND","COUNTRYID":193},{"STATES":"**** - **","COUNTRYNAME":"SWEDEN","COUNTRYID":194},{"STATES":"**** - **","COUNTRYNAME":"SWITZERLAND","COUNTRYID":195},{"STATES":"**** - **","COUNTRYNAME":"SYRIAN ARAB REPUBLIC","COUNTRYID":196},{"STATES":"**** - **","COUNTRYNAME":"TAIWAN, PROVINCE OF CHINA","COUNTRYID":198},{"STATES":"**** - **","COUNTRYNAME":"TAJIKISTAN","COUNTRYID":199},{"STATES":"**** - **","COUNTRYNAME":"TANZANIA, UNITED REPUBLIC OF","COUNTRYID":200},{"STATES":"**** - **","COUNTRYNAME":"THAILAND","COUNTRYID":201},{"STATES":"**** - **","COUNTRYNAME":"TIMOR-LESTE","COUNTRYID":257},{"STATES":"**** - **","COUNTRYNAME":"TINIAN","COUNTRYID":202},{"STATES":"**** - **","COUNTRYNAME":"TOGO","COUNTRYID":203},{"STATES":"**** - **","COUNTRYNAME":"TOKELAU","COUNTRYID":270},{"STATES":"**** - **","COUNTRYNAME":"TONGA","COUNTRYID":204},{"STATES":"**** - **","COUNTRYNAME":"TORTOLA","COUNTRYID":205},{"STATES":"**** - **","COUNTRYNAME":"TRINIDAD AND TOBAGO","COUNTRYID":206},{"STATES":"**** - **","COUNTRYNAME":"TRUK","COUNTRYID":207},{"STATES":"**** - **","COUNTRYNAME":"TUNISIA","COUNTRYID":208},{"STATES":"**** - **","COUNTRYNAME":"TURKEY","COUNTRYID":209},{"STATES":"**** - **","COUNTRYNAME":"TURKMENISTAN","COUNTRYID":271},{"STATES":"**** - **","COUNTRYNAME":"TURKS AND CAICOS ISLANDS","COUNTRYID":210},{"STATES":"**** - **","COUNTRYNAME":"TUVALU","COUNTRYID":211},{"STATES":"**** - **","COUNTRYNAME":"UGANDA","COUNTRYID":212},{"STATES":"**** - **","COUNTRYNAME":"UKRAINE","COUNTRYID":213},{"STATES":"**** - **","COUNTRYNAME":"UNION ISLAND","COUNTRYID":214},{"STATES":"**** - **","COUNTRYNAME":"UNITED ARAB EMIRATES","COUNTRYID":215},{"STATES":"**** - **","COUNTRYNAME":"UNITED KINGDOM","COUNTRYID":57},{"STATES":"**** - ** ALAL - Alabama AKAK - Alaska AZAZ - Arizona ARAR - Arkansas CACA - California COCO - Colorado CTCT - Connecticut DEDE - Delaware DCDC - District of Columbia FLFL - Florida GAGA - Georgia HIHI - Hawaii IDID - Idaho ILIL - Illinois ININ - Indiana IAIA - Iowa KSKS - Kansas KYKY - Kentucky LALA - Louisiana MEME - Maine MDMD - Maryland MAMA - Massachusetts MIMI - Michigan MNMN - Minnesota MSMS - Mississippi MOMO - Missouri MTMT - Montana NENE - Nebraska NVNV - Nevada NHNH - New Hampshire NJNJ - New Jersey NMNM - New Mexico NYNY - New York NCNC - North Carolina NDND - North Dakota OHOH - Ohio OKOK - Oklahoma OROR - Oregon PAPA - Pennsylvania RIRI - Rhode Island SCSC - South Carolina SDSD - South Dakota TNTN - Tennessee TXTX - Texas UTUT - Utah VTVT - Vermont VAVA - Virginia WAWA - Washington WVWV - West Virginia WIWI - Wisconsin WYWY - Wyoming","COUNTRYNAME":"UNITED STATES","COUNTRYID":217},{"STATES":"**** - **","COUNTRYNAME":"UNITED STATES MINOR OUTLYING ISLANDS","COUNTRYID":225},{"STATES":"**** - **","COUNTRYNAME":"URUGUAY","COUNTRYID":218},{"STATES":"**** - **","COUNTRYNAME":"UZBEKISTAN","COUNTRYID":220},{"STATES":"**** - **","COUNTRYNAME":"VANUATU","COUNTRYID":221},{"STATES":"**** - **","COUNTRYNAME":"VENEZUELA, BOLIVARIAN REPUBLIC OF","COUNTRYID":222},{"STATES":"**** - **","COUNTRYNAME":"VIET NAM","COUNTRYID":223},{"STATES":"**** - **","COUNTRYNAME":"VIRGIN ISLANDS, BRITISH","COUNTRYID":26},{"STATES":"**** - **","COUNTRYNAME":"VIRGIN ISLANDS, U.S.","COUNTRYID":219},{"STATES":"**** - **","COUNTRYNAME":"WALES","COUNTRYID":226},{"STATES":"**** - **","COUNTRYNAME":"WALLIS AND FUTUNA","COUNTRYID":227},{"STATES":"**** - **","COUNTRYNAME":"WESTERN SAHARA","COUNTRYID":246},{"STATES":"**** - **","COUNTRYNAME":"YAP","COUNTRYID":229},{"STATES":"**** - **","COUNTRYNAME":"YEMEN","COUNTRYID":247},{"STATES":"**** - **","COUNTRYNAME":"ZAIRE","COUNTRYID":231},{"STATES":"**** - **","COUNTRYNAME":"ZAMBIA","COUNTRYID":232},{"STATES":"**** - **","COUNTRYNAME":"ZIMBABWE","COUNTRYID":233}]; 3534 3535 svcrm.formBuilderScripts.countryChanged = function(domElm){ 3536 3537 3538 var oldSelIndexVal = state.value; //$F('contact_state'); 3539 var myStates = new Array(); 3540 3541 // $('contact_state').options.length = 0; 3542 state.options.length = 0; 3543 3544 for (var i = 0; i < window.svcrm.formBuilderScripts.states.length; i++) {
3545 if (window.svcrm.formBuilderScripts.states[i].COUNTRYNAME == domElm.options[domElm.selectedIndex].value || window.svcrm.formBuilderScripts.states[i].COUNTRYNAME == '') { 3546 var myObj = new Object(); 3547 3548 var tmp = window.svcrm.formBuilderScripts.states[i].STATES.split(''); 3549 for (var x = 0; x < tmp.length; x = x + 2) { 3550 var myObj = new Object(); 3551 myObj.statecode = tmp[x - 1]; 3552 myObj.statename = tmp[x]; 3553 if (tmp[x - 1] == oldSelIndexVal) { 3554 myObj.selected = true; 3555 } else { 3556 myObj.selected = false; 3557 } 3558 3559 if(!myObj.statecode){ 3560 myObj.statecode = ''; 3561 } 3562 myStates.push(myObj); 3563 } 3564 } 3565 } 3566 3567 if (myStates.length > 0) { 3568 for (var i = 0; i < myStates.length; i++) { 3569 // $('contact_state').options[$('state').options.length] = new Option(myStates[i].statename, myStates[i].statecode, myStates[i].selected, myStates[i].selected); 3570 state.options[state.options.length] = new Option(myStates[i].statename, myStates[i].statecode, myStates[i].selected, myStates[i].selected); 3571 3572 } 3573 } else { 3574 // $('contact_state').options.length = 0; 3575 state.options.length = 0; 3576 //$('contact_state').options[$('contact_state').options.length] = new Option("** - **", ""); 3577 state.options[state.options.length] = new Option("** - **", ""); 3578 } 3579 } 3580 3581 3582 })(); 3583 3584 </script>
3584 3585 3586
3586<script type="text/javascript"> 3587 3588 3589 (function(){ 3590 svcrm = ((typeof svcrm != 'undefined') ? svcrm : {}); 3591 svcrm.formBuilderScripts = ((typeof svcrm.formBuilderScripts != 'undefined') ? svcrm.formBuilderScripts : {}); 3592 3593 3594 window.svcrm.formBuilderScripts._____fileInpElmsRemoved = {}; //being lazy, need a place to store the file inputs that get removed from the form 3595 window.svcrm.formBuilderScripts._____filesUploading = 0; //if this is greater than 0, a file is still uploading. 3596 3597 //this function is called when a file upload input has a file selected 3598 window.svcrm.formBuilderScripts.submitFileUpload = function(frmname,fldname){ 3599 //kill off the old temp input that is used by formbuilder_fileAdd.cfm to know which form element to upload 3600 var oldinp = document.getElementById('thefileweneedtoupload'); 3601 if(oldinp){ oldinp.parentNode.removeChild(oldinp); } 3602 3603 //create the temp input that is used by formbuilder_fileAdd.cfm to know which form element to upload 3604 var inp = document.createElement('input'); inp.type = 'hidden'; inp.name = 'thefileweneedtoupload'; inp.id = 'thefileweneedtoupload'; inp.value = fldname; 3605 document[frmname].appendChild(inp); 3606 3607 //need to get some things from this input before it is killed so we will it so we can recreate it 3608 var fld = document.getElementById(fldname); 3609 window.svcrm.formBuilderScripts._____fileInpElmsRemoved[fldname] = { id:fld.id, name:fld.name, className:fld.className, tabIndex:fld.tabIndex, onchange:fld.onchange }; 3610 3611 //kill iframe element if one exists 3612 window.svcrm.formBuilderScripts.killFileInputIframeElm(fldname); 3613 3614 //create iframe to submit to 3615 var iframe = document.createElement('iframe'); iframe.id = 'fileUploaderIframe_'+fldname; iframe.name = 'fileUploaderIframe_'+fldname; iframe.style.display = 'none'; 3616 document.body.appendChild(iframe); 3617 3618 //store the form action before it is changed 3619 var origFormAttributes = {action: document[frmname].action, enctype: document[frmname].enctype}; 3620 3621 //change the form so that it will submit to the webapi and iframe target 3622 document[frmname].action = 'https://ElmhurstIL.simpleviewcrm.com/webapi/formbuilder/formbuilder_fileAdd.cfm'; 3623 document[frmname].target = 'fileUploaderIframe_'+fldname; 3624 document[frmname].enctype = 'multipart/form-data'; 3625 document[frmname].submit(); 3626 3627 //add to filesUploading so we don't allow form submissions while files are uploading 3628 window.svcrm.formBuilderScripts._____filesUploading = window.svcrm.formBuilderScripts._____filesUploading + 1; 3629 3630 //reset the form to submit to where it was originally intended to submit to and remove the target so it doesn't go to the iframe 3631 document[frmname].setAttribute('action',origFormAttributes.action); 3632 document[frmname].setAttribute('enctype',origFormAttributes.enctype); 3633 document[frmname].removeAttribute('target'); 3634 3635 // Disable the submit button and add a tool tip to the disabled element so it is clear why you can't submit yet -- useful for large files or slow connections 3636 document.getElementById('savefrm_button').disabled = true; 3637 var tt = document.getElementById('submit_tooltiptext'); 3638 if(tt){ 3639 //Make the tool tip show up 3640 tt.style.visibility = 'visible'; 3641 } else { 3642 // create a new element 3643 var toolTip = document.createElement("span"); 3644 var newContent = document.createTextNode("Unable to submit, file upload in progress."); 3645 toolTip.appendChild(newContent); 3646 toolTip.style.backgroundColor = "black"; 3647 toolTip.style.color = "white"; 3648 toolTip.style.textAlign = "center"; 3649 toolTip.style.borderRadius = "6px"; 3650 toolTip.style.padding = "4px 2px"; 3651 toolTip.setAttribute('id', 'submit_tooltiptext'); 3652 3653 // add the newly created element and its content into the DOM 3654 currentDiv = document.getElementById('resetfrm_button'); 3655 var br = document.createElement("br"); // but put it on a new line first 3656 currentDiv.parentElement.insertBefore(br, null); 3657 currentDiv.parentElement.insertBefore(toolTip, null); 3658 } 3659 }; 3660 3661 //this function is called by either the formbuilder_fileAdd.cfm window.parent.addFile() call or from the _handlePostMessage() function 3662 //it will take the filename that is returned and set it in the display element and hidden input 3663 //if success==true is not returned we will try to grab the message from errorMsg if passed otherwise will display a generic error message and will try to remove the file input and recreate it 3664 //it is possible that the IIS request filtering will kick
3664in and prevent us from knowing if it failed but the overall submission will end up getting blocked because the file inputs will still exist 3665 window.svcrm.formBuilderScripts.addFile = function(addFileArgs){ 3666 if(typeof addFileArgs.success && addFileArgs.success){ 3667 //set the hidden input with the new filename so we can process upon save 3668 document.getElementById(addFileArgs.fldname+'_formbuilder_hidden').value = addFileArgs.newfilename; 3669 3670 //subtract from filesUploading, if we're at 0 all files are finished 3671 window.svcrm.formBuilderScripts._____filesUploading = window.svcrm.formBuilderScripts._____filesUploading - 1; 3672 if (window.svcrm.formBuilderScripts._____filesUploading <= 0) { 3673 //Re-enable submit button 3674 document.getElementById('savefrm_button').disabled = false; 3675 //hide tooltip 3676 var ttip = document.getElementById('submit_tooltiptext'); 3677 if (ttip) { 3678 ttip.style.visibility = "hidden"; 3679 } 3680 } 3681 3682 //create the delete button for this file 3683 var newBtn = document.createElement('img'); 3684 newBtn.src = 'https://ElmhurstIL.simpleviewcrm.com/core_crm/webapi/forms/images/delete.png'; 3685 newBtn.onclick = function(){window.svcrm.formBuilderScripts.removeFile(addFileArgs.fldname);}; 3686 newBtn.alt = 'Remove File?'; 3687 newBtn.title = 'Remove File?'; 3688 newBtn.style.paddingTop = '5px'; 3689 newBtn.style.paddingRight = '5px'; 3690 newBtn.style.float = 'left'; 3691 3692 //create the element that will show the file name 3693 var newDiv = document.createElement('div'); 3694 newDiv.innerHTML = addFileArgs.newfilename; 3695 newDiv.style.paddingTop = '4px'; 3696 newDiv.style.float = 'left'; 3697 3698 //get this file inputs display element and append the delete button and name display elements in it 3699 var dispElm = document.getElementById(addFileArgs.fldname+'_display'); 3700 dispElm.appendChild(newBtn); 3701 dispElm.appendChild(newDiv); 3702 3703 //create an empty div to fix the float for the delete and filename element 3704 var newDiv2 = document.createElement('div'); 3705 newDiv2.style.clear = 'both'; 3706 dispElm.appendChild(newDiv2); 3707 dispElm.style.display = 'block'; //turn on the display element 3708 3709 //kill the file input we don't want it anymore unless they remove this file 3710 window.svcrm.formBuilderScripts.killFileInputElm(addFileArgs.fldname); 3711 3712 }else{ 3713 //kill and recreate the element if we can 3714 if(typeof addFileArgs.fldname && addFileArgs.fldname.length){ 3715 window.svcrm.formBuilderScripts.killFileInputElm(addFileArgs.fldname); 3716 window.svcrm.formBuilderScripts.recreateFileInputElm(addFileArgs.fldname); 3717 } 3718 3719 //if we have a good message display it 3720 alert('There was a problem uploading your file:\n'+((typeof addFileArgs.errorMsg != 'undefined') ? addFileArgs.errorMsg : 'There was a problem uploading your file!' ) ); 3721 3722 //subtract from filesUploading, if we're at 0 all files are finished 3723 window.svcrm.formBuilderScripts._____filesUploading = window.svcrm.formBuilderScripts._____filesUploading - 1; 3724 3725 //Need to make sure that we re-enable the submit button in case it didn't happen above in the IF block 3726 // otherwise, they can't submit until they fix the issue; we should give them the option to abandon the file upload. 3727 if (window.svcrm.formBuilderScripts._____filesUploading <= 0) { 3728 //Re-enable submit button 3729 document.getElementById('savefrm_button').disabled = false; 3730 //hide tooltip 3731 var ttip = document.getElementById('submit_tooltiptext'); 3732 if (ttip) { 3733 ttip.style.visibility = "hidden"; 3734 } 3735 } 3736 } 3737 3738 //kill iframe element if it is still around 3739 window.svcrm.formBuilderScripts.killFileInputIframeElm(addFileArgs.fldname); 3740 }; 3741 3742 //this function will delete the file input element from the form, it is called when a file input is selected and the form submitted off to the iframe 3743 window.svcrm.formBuilderScripts.killFileInputElm = function(fldId){ 3744 var fileInpElmToRemove = document.getElementById(fldId); 3745 fileInpElmToRemove.parentNode.removeChild(fileInpElmToRemove); 3746 }; 3747 3748 //this function will re-create the file input element that was removed when a file was uploaded, this is called when a user clicks the delete button on an image or if we had an erorr upon file upload we wipe the input and recreate so it is empty 3749 window.svcrm.formBuilderScripts.recreateFileInputElm = function(fldId){ 3750 var elmstored = window.svcrm.formBuilderScripts._____fileInpElmsRemoved[fldId]; 3751 var recreatedElm = document.createElement('input'); 3752 recreatedElm.type = 'file'; 3753 recreatedElm.id = elmstored.id; 3754 recreatedElm.name = elmstored.name; 3755 recreatedElm.className = elmstored.className; 3756 recreatedElm.tabIndex = elmstored.tabIndex; 3757 recreatedElm.onchange = function(){ 3758 document.getElementById(fldId + '_formbuilder_hidden').value = this.value; 3759 window.svcrm.formBuilderScripts.submitFileUpload('frm_'+document.getElementById('formid').value, fldId); 3760 }; 3761 document.getElementById(fldId+'_container').appendChild(recreatedElm); 3762 } 3763 3764 //this function will kill off the iframe element if it exists 3765 window.svcrm.formBuilderScripts.killFileInputIframeElm = function(fldname){ 3766 var iframeElm = document.getElementById('fileUploaderIframe_'+fldname); 3767 if(iframeElm){iframeElm.parentNode.removeChild(iframeElm);} 3768 }; 3769 3770 //this function will remove the file it will wipe the display and hidden input and recreate the file upload input element 3771 window.svcrm.formBuilderScripts.removeFile = function(fldId){ 3772 //try to remove delete this file from temp if exists 3773 try{ 3774 //create an iframe and form with a hidden input field that has the name of the file we are trying to wipe 3775 var html = '<html><body onload="document.fileDeleterIframeForm.submit();">'; 3776 html += '<form name="fileDeleterIframeForm" action="https://ElmhurstIL.simpleviewcrm.com/webapi/formbuilder/formbuilder_fileDelete.cfm" method="post">'; 3777 html += '<input type="hidden" name="filenamevalue" id="filenamevalue" value="'+document.getElementById(fldId+'_formbuilder_hidden').value+'" />'; 3778 html += '</form>'; 3779 html += '<' + '/' + 'body' + '>' + '<' + '/' + 'html' + '>'; 3780 3781 var iframeElm = document.getElementById('fileDeleterIframe_'+fldId); 3782 if(iframeElm){iframeElm.parentNode.removeChild(iframeElm);} 3783 3784 var iframe = document.createElement('iframe'); 3785 iframe.id = 'fileDeleterIframe_'+fldId; 3786 iframe.style.display = 'none'; 3787 document.body.appendChild(iframe); 3788 iframe.contentWindow.document.open(); 3789 iframe.contentWindow.document.write(html); 3790 iframe.contentWindow.document.close(); 3791 3792 }catch(e){ 3793 //nothing for now 3794 } 3795 3796 document.getElementById(fldId+'_formbuilder_hidden').value = ''; 3797 var dispElm = document.getElementById(fldId+'_display'); 3798 dispElm.innerHTML = ''; 3799 dispElm.style.display = 'none'; 3800 3801 //recreate the element 3802 window.svcrm.formBuilderScripts.recreateFileInputElm(fldId); 3803 3804 }; 3805 3806 //this function will handle the postMessage's it will make sure that it is coming from the valid crm domain, it will then call the addFile() function passing along the returned json object 3807 var _handlePostMessage = function(evt){
3808 //check for correct postMessage source 3809 if(typeof evt.origin != 'undefined'){ 3810 //only run this if we are from the correct domain 3811 var _fixedOrigin = evt.origin + ( (evt.origin.substring(evt.origin.length-1,evt.origin.length) != '/') ? '/' : ''); 3812 var crmappurl = 'https://ElmhurstIL.simpleviewcrm.com/'; 3813 if(_fixedOrigin.toLowerCase().indexOf(crmappurl.toLowerCase()) != -1){ 3814 var _postMsgRtn = {}; 3815 try { 3816 _postMsgRtn = JSON.parse(evt.data); //json parse the returned data 3817 } catch (e) { 3818 return false; 3819 } 3820 window.svcrm.formBuilderScripts.addFile(_postMsgRtn); //we will let the addFile handle any errors the same way as call from within crm form 3821 } 3822 } 3823 }; 3824 if (window.addEventListener) { 3825 window.addEventListener('message', _handlePostMessage, false); 3826 } else if (window.attachEvent) { 3827 window.attachEvent('onmessage', _handlePostMessage); 3828 } 3829 3830 3831 })(); 3832 3833 </script>
3833 3834 3835
3835<script type="text/javascript"> 3836 var loadRecaptcha = function() { 3837 //for old captcha 3838 svcrm.formBuilderScripts.setCaptchaImg = function(ok) { 3839 svcrm.formBuilderScripts.captchaValid = ok; 3840 } 3841 svcrm.formBuilderScripts.checkCapMatch(); 3842 3843 } 3844 3845 // attach the function to load script to the page load event 3846 if (window.addEventListener) { 3847 window.addEventListener('load', loadRecaptcha, false); 3848 } else if (window.attachEvent) { 3849 window.attachEvent('onload', loadRecaptcha); 3850 } 3851 3852 // Setting our v3 Token to our 'g-recaptcha-response' element 3853 // We've broken this out into its own function with a setTimeout() in order to make sure the Google Response gets back to us in time, and is set to the element correctly. 3854 var setV3Key = function (_callback) { 3855 grecaptcha.ready(function() { 3856 grecaptcha.execute('6LeZ3hglAAAAAKamozh8ERwos1nwD-GLAqG6zD1I', {action: 'submit'}).then(function(token){ 3857 //console.log(token); 3858 document.getElementById('g-recaptcha-response').value=token; 3859 }) 3860 }) 3861 3862 setTimeout(function(){ 3863 _callback(); 3864 }, 1000); 3865 } 3866 3867 var oldValidate = svcrm.formBuilderScripts.validateForm; 3868 3869 svcrm.formBuilderScripts.validateForm = function(frm) { 3870 // Disable any of our 'Submit' buttons so these cannot be clicked more than once 3871 // The oldValidate() function will reenable them once it's done running. 3872 Array.prototype.forEach.call(document.getElementsByName("savefrm"), function(e){e.disabled=true}); 3873 3874 // Runs the setV3Key() function first to make sure the v3 Authorization Token is set. 3875 // After this is done, the oldValidate() function will run and complete form validation. 3876 setV3Key(() => oldValidate(frm)); 3877 3878 // Make sure this returns 'false'-- this will mean the Form stays on the page and does not proceed while the 'true' validator runs. 3879 return false; 3880 } 3881 </script>
3881 3882 3883
3883<script type="text/javascript"> 3884 /* +++++++++++++++++++++++++++ BEGIN Script copied from OLD CMS loadCRMForm +++++++++++++++++++++++++++++++++++++*/ 3885 (function(){ 3886 var crm_locale = {"SEPARATOR_GROUPING":3,"YAHOO_MDY_MONTH_POSITION":1,"CURRENCY_DECIMALPLACES":2,"DATEFMT_MDONLY":"mm\/dd","NUMBERFORMATTER":"standard","YAHOO_MDY_YEAR_POSITION":3,"ANGULAR_FORMAT_FILE":"en-us","YAHOO_DATE_FIELD_DELIMITER":"\/","YAHOO_START_WEEKDAY":0,"YAHOO_MDY_DAY_POSITION":2,"DOLLARFMT_MASK":"","THOUSANDS_SEPARATOR":",","LOCALE":"en_US","DOLLARFMT":0,"DOLLARFMT_PREFIX":"","NUMBERFMT_MASK":"0,000.00","DATEFMT":"mm\/dd\/yyyy","DECIMAL_SEPARATOR":".","DOLLARFMT_SUFFIX":""}; 3887 3888 svcrm = ((typeof svcrm != 'undefined') ? svcrm : {}); 3889 svcrm.formBuilderScripts = ((typeof svcrm.formBuilderScripts != 'undefined') ? svcrm.formBuilderScripts : {}); 3890 3891 svcrm.formBuilderScripts.captchaValid = false; 3892 svcrm.formBuilderScripts.validCodeElement = document.getElementById('code'); 3893 3894 svcrm.formBuilderScripts.curPopupWindow = null; 3895 svcrm.formBuilderScripts.lastMouseX = null; 3896 svcrm.formBuilderScripts.lastMouseY = null; 3897 3898 svcrm.formBuilderScripts.__onload_function = function(){ 3899 svcrm.formBuilderScripts.updReq(); 3900 3901 if (svcrm.formBuilderScripts.validCodeElement.addEventListener) { 3902 svcrm.formBuilderScripts.validCodeElement.addEventListener('keyup', svcrm.formBuilderScripts.checkCapMatch, false); 3903 } else if (validCodeElement.attachEvent) { 3904 svcrm.formBuilderScripts.validCodeElement.attachEvent('onkeyup', svcrm.formBuilderScripts.checkCapMatch); 3905 } 3906 3907 var elm = svcrm.formBuilderScripts.validCodeElement; 3908 var found = false; 3909 while(elm.parentNode && !found){ 3910 if(elm.parentNode.getElementsByTagName('form') && elm.parentNode.getElementsByTagName('form')[0] && elm.parentNode.getElementsByTagName('form')[0].name.indexOf('frm_') != -1){ 3911 elm = elm.parentNode.getElementsByTagName('form')[0]; 3912 found = true; 3913 }else{ 3914 elm = elm.parentNode; 3915 } 3916 } 3917 3918 var the_crmform = elm; 3919 the_crmform.id = 'the_crmform'; 3920 the_crmform.onsubmit = function(e){ 3921 svcrm.formBuilderScripts.checkCapMatch(); 3922 if (svcrm.formBuilderScripts.captchaValid !== true){ 3923 3924 alert('This information cannot be sent at this time!\n\nThe 4 character string you entered does not match the image shown.'); 3925 3926 return false; 3927 }else 3928 { 3929 return svcrm.formBuilderScripts.validateForm(the_crmform); 3930 } 3931 return false; 3932 }; 3933 }; 3934 3935 svcrm.formBuilderScripts.checkCapMatch = function(){ 3936 var scriptID = 'captchaCheckJSONP'; 3937 3938 //kill the existing one if we have one 3939 if(document.getElementById(scriptID)){ 3940 document.getElementById(scriptID).parentNode.removeChild(document.getElementById(scriptID)); 3941 } 3942 3943 var validCode = svcrm.formBuilderScripts.validCodeElement.value; 3944 var checkCode = escape( document.getElementById('code_key').value ); 3945 if(validCode.length != 4){ 3946 svcrm.formBuilderScripts.setCaptchaImg(false); 3947 return false; 3948 }else{ 3949 //jsonP this thing over 3950 var s = document.createElement('script'); 3951 s.id = scriptID; 3952 s.type = 'application/javascript'; 3953 s.src = 'https://elmhurstil.simpleviewcrm.com/webapi/formbuilder/checkcaptcha.cfm?validCode='+validCode+'&checkCode='+c
3953heckCode+'&jsonp=svcrm.formBuilderScripts.getCaptchaLookupResults' 3954 document.body.appendChild(s); 3955 } 3956 }; 3957 3958 svcrm.formBuilderScripts.getCaptchaLookupResults = function(rtn){ 3959 if (rtn) { 3960 svcrm.formBuilderScripts.setCaptchaImg(true); 3961 }else { 3962 svcrm.formBuilderScripts.setCaptchaImg(false); 3963 } 3964 }; 3965 3966 svcrm.formBuilderScripts.setCaptchaImg = function(ok) { 3967 var existingCIMG = document.getElementById('capimage'); 3968 if (!existingCIMG || existingCIMG.length == 0){ 3969 var cimgtag = document.createElement('IMG'); 3970 cimgtag.id = 'capimage'; 3971 cimgtag.alt= "Verification"; 3972 3973 svcrm.formBuilderScripts.validCodeElement.parentNode.appendChild(cimgtag); 3974 existingCIMG = document.getElementById('capimage'); 3975 } 3976 3977 if (ok) { 3978 existingCIMG.src = 'https://elmhurstil.simpleviewcrm.com/core_crm/resources/images/true_ico.gif'; 3979 svcrm.formBuilderScripts.captchaValid = true; 3980 }else { 3981 existingCIMG.src = 'https://elmhurstil.simpleviewcrm.com/core_crm/resources/images/false_ico.gif'; 3982 svcrm.formBuilderScripts.captchaValid = false; 3983 } 3984 }; 3985 3986 3987 /* +++++++++++++++++++++++++++ BEGIN Script copied from OLD CMS /includes/scripts/formValidations.js +++++++++++++++++++++++++++++++++++++*/ 3988 /*Utility Functions, namespaced for nodejs cms sites*/ 3989 //Function to format floats 3990 //returns false if invalid 3991 //dec = number of decimal places to show 3992 svcrm.formBuilderScripts.fmtFloat = function(obj, dec){ 3993 var lt = "", rt = "", str = "" 3994 var inc = 0, num = 0, tmp = 0 3995 3996 if (obj.value.length == 0) 3997 obj.value = "0"; 3998 3999 if (!svcrm.formBuilderScripts.checkChars(obj.value, ".,0123456789")) return false; 4000 4001 // Check for valid number 4002 svcrm.formBuilderScripts.stripChars(obj, ","); 4003 if (!svcrm.formBuilderScripts.checkNumber(obj.value)) return false; 4004 4005 //Split number 4006 inc = Math.pow(10, dec); 4007 num = (obj.value * 1.0); 4008 num = Math.round(num * inc) / inc; 4009 str = "" + num; 4010 4011 tmp = str.indexOf("."); 4012 if (tmp < 0) { 4013 str += "."; 4014 tmp = str.indexOf("."); 4015 } 4016 4017 if ((str.length - tmp) <= dec) 4018 for (var i = (str.length - tmp); i <= dec; i++) 4019 str += "0"; 4020 4021 obj.value = str; 4022 return true; 4023 }; 4024 4025 //Function to format integers 4026 //returns false if invalid 4027 svcrm.formBuilderScripts.fmtInt = function(obj){ 4028 if (obj.value.length == 0) { 4029 return true; 4030 } 4031 4032 return (svcrm.formBuilderScripts.checkInteger(obj.value)); 4033 }; 4034 4035 //Function to formats money fields 4036 //returns false if invalid 4037 svcrm.formBuilderScripts.fmtMoney = function(obj){ 4038 var dec = 0, num = "", sign = 0 4039 var dollars = "", cents = "" 4040 var count = 0, tmp = "" 4041 4042 if (obj.value.length == 0) { 4043 tmp = "0"; 4044 cents = ".00"; 4045 } else { 4046 if (!svcrm.formBuilderScripts.checkChars(obj.value, "$.,0123456789")) return false; 4047 4048 // Check for valid number 4049 svcrm.formBuilderScripts.stripChars(obj, ","); 4050 sign = obj.value.indexOf("$"); 4051 if (sign > 0) 4052 return false; 4053 else { 4054 if (sign == 0) 4055 num = obj.value.substring(1,obj.value.length); 4056 else 4057 num = obj.value; 4058 4059 if (!svcrm.formBuilderScripts.checkNumber(num)) 4060 return false; 4061 } 4062 4063 // Check precision, round-up if necessary 4064 if (num.indexOf(".") != -1) 4065 num = "" + (Math.round(num * 100) / 100.0); 4066 4067 dec = num.indexOf("."); 4068 cents = ((dec > 0) ? num.substring(dec,num.length) : ".00"); 4069 if (cents.length == 2) cents += "0"; 4070 4071 // Add commas 4072 dollars = "" + parseInt(num); 4073 for (var i = dollars.length - 1; i >= 0; i--) { 4074 if (count == 3) { 4075 tmp = "," + tmp; 4076 count = 1; 4077 } else 4078 count ++; 4079 4080 tmp = dollars.charAt(i) + tmp; 4081 } 4082 } 4083 4084 // Format number 4085 num = "$" + tmp + cents; 4086 obj.value = num; 4087 return true; 4088 }; 4089 4090 //Function to format phone numbers 4091 //returns false if invalid 4092 svcrm.formBuilderScripts.fmtPhone = function(obj){ 4093 var phone = ""; 4094 var oldphone = ""; 4095 4096 if (obj.value.length == 0) return true; 4097 4098 //Remove formatting 4099 oldphone = obj.value;
4100 svcrm.formBuilderScripts.stripChars(obj, "- ()"); 4101 phone = obj.value; 4102 if (!svcrm.formBuilderScripts.checkChars(phone, "0123456789")) return false; 4103 4104 if (phone.length == 10) 4105 obj.value = "(" + phone.substring(0,3) + ") " + phone.substring(3,6) +"-" + phone.substring(6,10); 4106 else { 4107 obj.value = oldphone; 4108 return false; 4109 } 4110 4111 return true; 4112 }; 4113 4114 //Function to format social security numbers 4115 //returns false if invalid 4116 svcrm.formBuilderScripts.fmtSSN = function(obj){ 4117 var ssn = "" 4118 4119 if (obj.value.length == 0) return true; 4120 4121 //Remove all dashes 4122 svcrm.formBuilderScripts.stripChars(obj, "-"); 4123 ssn = obj.value; 4124 if (!svcrm.formBuilderScripts.checkChars(ssn, "0123456789")) return false; 4125 4126 if (ssn.length == 9) 4127 obj.value = ssn.substring(0,3) + "-" + ssn.substring(3,5) + "-" + ssn.substring(5,9); 4128 else 4129 return false; 4130 4131 return true; 4132 }; 4133 4134 //Function to verify valid URL 4135 svcrm.formBuilderScripts.fmtURL = function(obj){ 4136 if (obj.value.length == 0) return true; 4137 4138 if (obj.value.substring(0,7) != "http://") 4139 obj.value = "http://" + obj.value; 4140 4141 if (obj.value.length < 10) return false; 4142 4143 return true; 4144 }; 4145 4146 //Function to format zip codes 4147 //returns false if invalid 4148 svcrm.formBuilderScripts.fmtZip = function(obj){ 4149 var numberlist = "0123456789", zip = "" 4150 4151 if (obj.value.length == 0) return true; 4152 4153 // Remove dashes 4154 svcrm.formBuilderScripts.stripChars(obj, "-"); 4155 zip = obj.value; 4156 if (!svcrm.formBuilderScripts.checkChars(zip, numberlist)) return false; 4157 4158 if (zip.length == 5) 4159 obj.value = zip; 4160 else if (zip.length == 9) 4161 obj.value = zip.substring(0,5) + "-" + zip.substring(5,9) 4162 else 4163 return false; 4164 4165 //Passed all tests 4166 return true; 4167 }; 4168 4169 //Returns true if every character is in string list 4170 //otherwise false 4171 svcrm.formBuilderScripts.checkChars = function(val, charlist){ 4172 for (var i = 0; i < val.length; i++) 4173 if (charlist.indexOf(val.charAt(i)) < 0) 4174 return false; 4175 4176 //String passed so it is valid 4177 return true; 4178 }; 4179 4180 //Returns true if valid email 4181 //otherwise returns false 4182 svcrm.formBuilderScripts.checkEmail = function(obj){ 4183 if (obj.value.length != 0) { 4184 var pattern = /^['&a-zA-Z0-9._%+-]+@(?:[&a-zA-Z0-9-]+\.)+(([a-zA-Z]{2,4})|(aero|coop|info|museum|name|travel))$/; 4185 if (!pattern.test(obj.value)) { 4186 return false; 4187 } else { 4188 return true; 4189 } 4190 } 4191 4192 // Valid, passed all tests 4193 return true; 4194 }; 4195 4196 //Returns true if valid phone 4197 //otherwise returns false 4198 svcrm.formBuilderScripts.checkPhone = function(obj){ 4199 if (obj.value.length != 0) { 4200 var pattern = /^([\+][0-9]{1,3}[ \.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[ ]?[0-9]{1,4})?$/; 4201 if (!pattern.test(obj.value)) { 4202 return false; 4203 } else { 4204 return true; 4205 } 4206 } 4207 4208 // Valid, passed all tests 4209 return true; 4210 }; 4211 4212 //Returns true if value is a number or is NULL 4213 //otherwise returns false 4214 svcrm.formBuilderScripts.checkInteger = function(object_value){ 4215 if (object_value.length == 0) 4216 return true; 4217 4218 if (object_value.indexOf(".") < 1) 4219 return svcrm.formBuilderScripts.checkNumber(object_value); 4220 else 4221 return false; 4222 }; 4223 4224 //Returns true if value is a number or is NULL 4225 //otherwise returns false 4226 svcrm.formBuilderScripts.checkNumber = function(object_value){ 4227 if (object_value.length == 0) 4228 return true; 4229 4230 //Returns true if value is a number defined as 4231 // having an optional leading + or -. 4232 // having at most 1 decimal point. 4233 // otherwise containing only the characters 0-9. 4234 var start_format = " .+-0123456789"; 4235 var number_format = " .0123456789"; 4236 var check_char; 4237 var decimal = false; 4238 var trailing_blank = false; 4239 var digits = false; 4240 4241 //The first character can be + - . blank or a digit. 4242 check_char = start_format.indexOf(object_value.charAt(0)) 4243 //Was it a decimal? 4244 if (check_char == 1) 4245 decimal = true; 4246 else if (check_char < 1) 4247 return false; 4248 4249 //Remaining characters can be only . or a digit, but only one decimal. 4250 for (var i = 1; i < object_value.length; i++) { 4251 check_char = number_format.indexOf(object_value.charAt(i)) 4252 if (check_char < 0) 4253 return false; 4254 else if (check_char == 1) { 4255 if (decimal) // Second decimal. 4256 return false; 4257 else 4258 decimal = true; 4259 } else if (check_char == 0) { 4260 if (decimal || digits) 4261 trailing_blank = true; 4262 // ignore leading blanks 4263 } else if (trailing_blank) 4264 return false; 4265 else 4266 digits = true; 4267 } 4268 4269 //All tests passed 4270 return true 4271 }; 4272 4273 //Returns true if value is a posiitve integer or is NULL 4274 //otherwise returns false 4275 svcrm.formBuilderScripts.checkPosInteger = function(object_value){ 4276 if (object_value.indexOf("-") != -1) 4277 return false; 4278 else 4279 return (svcrm.formBuilderScripts.checkInteger(object_value)); 4280 }; 4281 4282 //Function to find any char in charlist in the passed string 4283 //Returns true if a character is found 4284 //Otherwise false
4285 svcrm.formBuilderScripts.findChars = function(str, charlist){ 4286 for (var i = 0; i < charlist.length; i++) { 4287 if (str.indexOf(charlist.charAt(i)) != -1) 4288 return true; 4289 } 4290 4291 return false; 4292 }; 4293 4294 //Function to remove all occurances of chars in charlist 4295 svcrm.formBuilderScripts.stripChars = function(obj, charlist){ 4296 var i = 0, pos = 0 4297 var val = obj.value 4298 4299 while (i < val.length) { 4300 pos = charlist.indexOf(val.charAt(i)); 4301 if (pos != -1) 4302 val = val.substring(0,i) + val.substring(i + 1, val.length); 4303 else 4304 i++; 4305 } 4306 4307 obj.value = val; 4308 return true; 4309 }; 4310 4311 svcrm.formBuilderScripts.cntChars = function(val, charlist){ 4312 var i = 0, pos = 0, cnt = 0 4313 4314 for (i = 0; i < val.length; i++) { 4315 pos = charlist.indexOf(val.charAt(i)); 4316 if (pos != -1) cnt++; 4317 } 4318 4319 return cnt; 4320 }; 4321 4322 svcrm.formBuilderScripts.fmtTime = function(fld){ 4323 var hr = 0, mn = 0; 4324 var val = fld.value; 4325 4326 if (val.length == 0) return true; 4327 4328 var tt = svcrm.formBuilderScripts.strChars(val, '0123456789: '); 4329 4330 if (tt.length > 0) { 4331 tt = tt.toUpperCase(); 4332 if (tt != 'AM' && tt != 'PM') return false; 4333 4334 val = svcrm.formBuilderScripts.strChars(val, ' ampAMP'); 4335 } 4336 4337 var sepr = val.indexOf(':') 4338 if (sepr == -1) { 4339 hr = val; 4340 mn = 0; 4341 } else { 4342 hr = val.substring(0, sepr); 4343 mn = val.substring(sepr + 1, val.length); 4344 }
4345 if (isNaN(mn)) mn = 0; 4346 4347 if (!svcrm.formBuilderScripts.chkChars(hr, '0123456789')) return false; 4348 if (!svcrm.formBuilderScripts.chkChars(mn, '0123456789')) return false; 4349 if (hr < 0 || hr > 23) return false; 4350 if (mn < 0 || mn > 59) return false; 4351 4352 if (hr > 12) { 4353 tt = 'PM'; 4354 hr = hr - 12; 4355 } else if (hr == 0) { 4356 tt = 'AM'; 4357 hr = 12; 4358 } 4359 if (mn.toString().length == 0) mn = 0; 4360 if (tt.length == 0) { 4361 if (hr == 12) 4362 tt = 'PM'; 4363 else if (hr < 7) 4364 tt = 'PM'; 4365 else 4366 tt = 'AM'; 4367 } 4368 4369 str = hr; 4370 if (mn.toString().length == 1) 4371 str = str + ':0' + mn; 4372 else 4373 str = str + ':' + mn; 4374 str = str + ' ' + tt; 4375 4376 fld.value = str; 4377 return true; 4378 }; 4379 4380 //Function to remove all occurances of chars in charlist 4381 svcrm.formBuilderScripts.strChars = function(val, charlist){ 4382 var i = 0, pos = 0 4383 4384 while (i < val.length) { 4385 pos = charlist.indexOf(val.charAt(i)); 4386 if (pos != -1) 4387 val = val.substring(0,i) + val.substring(i + 1, val.length); 4388 else 4389 i++; 4390 } 4391 4392 return val; 4393 }; 4394 4395 svcrm.formBuilderScripts.chkChars = function (val, charlist){ 4396 for (var i = 0; i < val.length; i++) 4397 if (charlist.indexOf(val.charAt(i)) < 0) 4398 return false; 4399 4400 return true; 4401 }; 4402 /* +++++++++++++++++++++++++++ END Script copied from OLD CMS /includes/scripts/formValidations.js +++++++++++++++++++++++++++++++++++++*/ 4403 4404 /* +++++++++++++++++++++++++++ BEGIN Script copied from OLD CMS /includes/scripts/dateValidate.js +++++++++++++++++++++++++++++++++++++*/ 4405 // Author: Bill Simpson 4406 // Company: 220solutions.com 4407 // Email: [email protected] 4408 // Date Created: 02-09-2001 4409 // 4410 // Verifies and converts date strings to a valid format 4411 // 4412 // Valid input dates = 4413 // mdyy, mmdyy, mmddyy, mmmddyy, mmddyyyy, mmmddyyyy, 4414 // m/d/yy, m/dd/yy, mm/d/yy, mm/dd/yy, mmm/d/yy, mmm/dd/yy, 4415 // m/d/yyyy, m/dd/yyyy, mm/d/yyyy, mm/dd/yyyy, mmm/d/yyyy, mmm/dd/yyyy 4416 // Valid date seperators = '-./:_, ' 4417 // 4418 // Notes: Please feel free to use/edit this script. 4419 // If you do please keep comments and header 4420 // 4421 // Code based on functions from 4422 // Author: Simon Kneafsey 4423 // Email: [email protected] 4424 // WebSite: www.simonkneafsey.co.uk 4425 4426 4427 // Function to convert supplied date string 'fld' 4428 // fld: field containing date string 4429 // sep: seperator to use e.g. '-' or '/' 4430 // returns false if date string is invalid 4431 svcrm.formBuilderScripts.fmtDate = function(fld,sep){ 4432 var len = fld.value.length; 4433 var seps = new Array('-','.','/',':','_',',',' '); // Array of seperators. 4434 var d = '', m = '', y = ''; // date part holders 4435 //var div = ''; // divider holder 4436 //var outdate1 = null; // formatted date to send back to calling field holder 4437 var sepholder = new Array('0','0','0'); // array to hold positions of dividers in dates 4438 var s = String(fld.value); 4439 var outdate = ''; 4440 4441 if (len == 0 ) return true; 4442 4443 // Accept 'today' or 'now' 4444 if (fld.value.toUpperCase() == 'NOW' || fld.value.toUpperCase() == 'TODAY' ) { 4445 var newDate = new Date(); 4446 var myDay = newDate.getDate(); 4447 var myMonth = newDate.getMonth() + 1; 4448 if (navigator.appName == 'Netscape') 4449 var myYear = newDate.getYear() + 2000; 4450 else 4451 var myYear = newDate.getYear(); 4452 4453 fld.value = myMonth + "-" + myDay + "-" + myYear; 4454 // update string info 4455 len = fld.value.length; 4456 s = String(fld.value); 4457 } 4458 4459 // Check the date is a valid length 4460 if (len < 4 || len > 11) return false; 4461 4462 // Find positions of divider in the date 4463 var cnt = 0; 4464 for (var i = 0; i < 3; i++) { 4465 for (var j = 0; j < seps.length; j++) { 4466 if (s.indexOf(seps[j],cnt) != -1) { 4467 div = seps[j]; 4468 sepholder[i] = s.indexOf(seps[j],cnt); 4469 cnt = sepholder[i] + 1; 4470 break; 4471 } 4472 } 4473 } 4474 4475 // If element 2 is not 0 then more than 2 dividers have been found so date is invali
4475d. 4476 if (sepholder[2] != 0) return false; 4477 4478 // if no dividers are found strip out date parts 4479 if (sepholder[0] == 0 && sepholder[1] == 0) { 4480 switch (len) { 4481 case 4: // mdyy 4482 m = '0' + s.substring(0,1); 4483 d = '0' + s.substring(1,2); 4484 y = s.substring(2,4); 4485 if ((y = svcrm.formBuilderScripts.chkYear(y)) == false) return false; 4486 break; 4487 case 5: // mmdyy 4488 m = s.substring(0,2); 4489 d = '0' + s.substring(2,3); 4490 y = s.substring(3,5); 4491 if ((y = svcrm.formBuilderScripts.chkYear(y)) == false) return false; 4492 break; 4493 case 6: // mmddyy 4494 m = s.substring(0,2); 4495 d = s.substring(2,4); 4496 y = s.substring(4,6); 4497 if ((y = svcrm.formBuilderScripts.chkYear(y)) == false) return false; 4498 break; 4499 case 7: //mmmddyy 4500 m = s.substring(0,3); 4501 d = s.substring(3,5); 4502 y = s.substring(5,7); 4503 if ((m = svcrm.formBuilderScripts.chkMonth(m)) == false) return false; 4504 if ((y = svcrm.formBuilderScripts.chkYear(y)) == false) return false; 4505 break; 4506 case 8: //mmddyyyy 4507 m = s.substring(0,2); 4508 d = s.substring(2,4); 4509 y = s.substring(4,8); 4510 break; 4511 case 9: //mmmddyyyy 4512 m = s.substring(0,3); 4513 d = s.substring(3,5); 4514 y = s.substring(5,9); 4515 if ((m = svcrm.formBuilderScripts.chkMonth(m)) == false) return false; 4516 break; 4517 default: 4518 return false; 4519 } 4520 4521 if ((outdate = svcrm.formBuilderScripts.chkDate(m,d,y,sep)) == false) return false; 4522 4523 // valid date 4524 fld.value = outdate; 4525 return true; 4526 } else if (sepholder[0] != 0 && sepholder[1] != 0) { 4527 // process with dividers 4528 m = s.substring(0, sepholder[0]); 4529 d = s.substring(sepholder[0] + 1, sepholder[1]); 4530 y = s.substring(sepholder[1] + 1, s.length); 4531 } else 4532 // Only one divider 4533 return false; 4534 4535 // Check day and year are numeric 4536 if (isNaN(d) && isNaN(y)) return false; 4537 4538 // Make d day dd 4539 if (d.length == 1) d = '0' + d; 4540 // Make m month mm 4541 if (m.length == 1) m = '0' + m; 4542 // Make yy year yyyy 4543 if (y.length == 2) 4544 if ((y = svcrm.formBuilderScripts.chkYear(y)) == false ) return false; 4545 4546 // Make mmm month mm 4547 if (m.length == 3 || m.length == 4) { 4548 if ((m = svcrm.formBuilderScripts.chkMonth(m)) == false) return false; 4549 } 4550 4551 // Date components are OK 4552 if (d.length != 2 || m.length != 2 || y.length != 4) return false; 4553 4554 // Validate the date 4555 if ((outdate = svcrm.formBuilderScripts.chkDate(m,d,y,sep)) == false) return false; 4556 4557 // Valid date 4558 fld.value = outdate; 4559 return true; 4560 }; 4561 4562 // checks for a valid date 4563 // m: month part (2 digit) 4564 // d: day part (2 digit) 4565 // y: year part (4 digit) 4566 // returns: date string formatted if valid, false if invalid 4567 svcrm.formBuilderScripts.chkDate = function(m, d, y, sep){ 4568 var dayArray = new Array(31,28,31,30,31,30,31,31,30,31,30,31); 4569 var dstr = m + d + y; 4570 var filter=/^[0-9]{2}[0-9]{2}[0-9]{4}$/; 4571 4572 // Check mmddyyyy date supplied 4573 if (!filter.test(dstr)) return false; 4574 4575 // Check valid month 4576 filter=/01|02|03|04|05|06|07|08|09|10|11|12/; 4577 if (!filter.test(m)) return false; 4578 4579 // Check year 4580 if (y < 1900 || y > 2078) return false; 4581 4582 // Check for leap year 4583 var n = Number(y); 4584 if (n % 4 == 0 && (n % 100 != 0 || n % 400 == 0)) dayArray[1] = 29; 4585 4586 // Check for valid days for month 4587 var mnum = Number(m); 4588 if (d > dayArray[mnum - 1] || d <= 0) return false; 4589 4590 // Valid date 4591 return m + sep + d + sep + y; 4592 }; 4593 4594 // Checks for valid month 4595 // m: month part (3 or 4 digit)
4596 // returns: 2 digit month if valid, false is invalid 4597 svcrm.formBuilderScripts.chkMonth = function(m){ 4598 var months = new Array('JAN','FEB','MAR','APR','MAY','JUN','JUL','AUG','SEP','OCT','NOV','DEC'); 4599 4600 m = m.toUpperCase(); 4601 if (m.length == 3) { 4602 for (var i = 0; i < 12; i++) { 4603 if (m == months[i]) { 4604 m = i + 1; 4605 if (i < 10) 4606 m = '0' + m; 4607 return m; 4608 } 4609 } 4610 } else if (m.length == 4 && m == 'SEPT') { 4611 m = '09'; 4612 return m; 4613 } else 4614 return false; 4615 }; 4616 4617 // Check for a valid year 4618 // y: year part (2 digit) 4619 // returns: 4 digit year if valid, false if invalid 4620 svcrm.formBuilderScripts.chkYear = function(y){ 4621 if (y < 75) { 4622 y = "20" + y; 4623 return y; 4624 } else if (y >= 75) { 4625 y = "19" + y; 4626 return y; 4627 } else 4628 return false; 4629 }; 4630 4631 svcrm.formBuilderScripts.showDate = function(baseURL, fld, frm) { 4632 var urlSeparator = '?'; 4633 4634 if("https://exploreelmhurst.com/contact/".indexOf('?') != -1){ 4635 urlSeparator = '&'; 4636 } 4637 4638 var str = "https://exploreelmhurst.com/contact/" + urlSeparator + "action=popupCal&frm=" + frm + "&fld=" + fld + '&randid=' + new Date().getTime(); 4639 if (eval("document." + frm + "." + fld).value.length > 0) 4640 str = str + "&cdate=" + eval("document." + frm + "." + fld).value; 4641 4642 svcrm.formBuilderScripts.openPopup(str, "calwin", 210, 210, "width=210,height=210,toolbar=no,status=no,directories=no,menubar=no,resizable=no,scrollable=no", true); 4643 }; 4644 4645 svcrm.formBuilderScripts.openPopup = function(url, name, pWidth, pHeight, features, snapToLastMousePosition) { 4646 svcrm.formBuilderScripts.openPopupFocus(url, name, pWidth, pHeight, features, snapToLastMousePosition, true); 4647 }; 4648 4649 svcrm.formBuilderScripts.closePopup = function(){ 4650 if (svcrm.formBuilderScripts.curPopupWindow != null) { 4651 4652 if (!svcrm.formBuilderScripts.curPopupWindow.closed) 4653 svcrm.formBuilderScripts.curPopupWindow.close(); 4654 4655 svcrm.formBuilderScripts.curPopupWindow = null; 4656 } 4657 }; 4658 4659 svcrm.formBuilderScripts.openPopupFocus = function(url, name, pWidth, pHeight, features, snapToLastMousePosition, closeOnLoseFocus) { 4660 svcrm.formBuilderScripts.closePopup(); 4661 4662 if (snapToLastMousePosition) { 4663 if (svcrm.formBuilderScripts.lastMouseX - pWidth < 0) { 4664 svcrm.formBuilderScripts.lastMouseX = pWidth; 4665 } 4666 if (svcrm.formBuilderScripts.lastMouseY + pHeight > screen.height) { 4667 svcrm.formBuilderScripts.lastMouseY -= (svcrm.formBuilderScripts.lastMouseY + pHeight + 50) - screen.height; 4668 } 4669 svcrm.formBuilderScripts.lastMouseX -= pWidth; 4670 svcrm.formBuilderScripts.lastMouseY += 10; 4671 features += "screenX=" + svcrm.formBuilderScripts.lastMouseX + ",left=" + svcrm.formBuilderScripts.lastMouseX + "screenY=" + svcrm.formBuilderScripts.lastMouseY + ",top=" + svcrm.formBuilderScripts.lastMouseY; 4672 } 4673 4674 if (closeOnLoseFocus) { 4675 curPopupWindow = window.open(url, name, features, false); 4676 curPopupWindow.focus(); 4677 } else { 4678 win = window.open(url, name, features, false); 4679 win.focus(); 4680 } 4681 }; 4682 4683 svcrm.formBuilderScripts.setLastMousePosition = function(e) { 4684 if (navigator.appName.indexOf("Microsoft") != -1) e = window.event; 4685 svcrm.formBuilderScripts.lastMouseX = e.screenX; 4686 svcrm.formBuilderScripts.lastMouseY = e.screenY; 4687 }; 4688 /* +++++++++++++++++++++++++++ END Script copied from OLD CMS /includes/scripts/dateValidate.js +++++++++++++++++++++++++++++++++++++*/ 4689 4690 /* +++++++++++++++++++++++++++ BEGIN Script copied from OLD CMS /includes/scripts/ziplookup.js +++++++++++++++++++++++++++++++++++++*/ 4691 svcrm.formBuilderScripts.zipLookup = function(fuseroot, zip, fldCity, fldState){ 4692 var scriptID = 'zipLookupJSONP'; 4693 4694 //kill the existing one if we have one 4695 if(document.getElementById(scriptID)){ 4696 document.getElementById(scriptID).parentNode.removeChild(document.getElementById(scriptID)); 4697 } 4698 4699 if (svcrm.formBuilderScripts.trim(zip).length != 5 || !svcrm.formBuilderScripts.checkChars(zip, "0123456789")){ 4700 return false; 4701 }else{ 4702 //jsonP this thing over 4703 var s = document.createElement('script'); 4704 s.id = scriptID; 4705 s.type = 'application/javascript'; 4706 s.src = 'https://elmhurstil.simpleviewcrm.com/webapi/formbuilder/ziplookup.cfm?zip='+zip+'&fldCityId='+fldCity.id+'&fldStateId='+fldState.id+'&jsonp=svcrm.formBuilderScripts.processZipChange' 4707 document.body.appendChild(s); 4708 } 4709 }; 4710 4711 svcrm.formBuilderScripts.processZipChange = function(rtn){ 4712 var fldCity = document.getElementById(rtn.fldCityId); 4713 var fldState = document.getElementById(rtn.fldStateId); 4714 4715 if (rtn.city.length > 0 && fldCity != '')
4716 fldCity.value = rtn.city; 4717 else if (fldCity != '') 4718 fldCity.value = ''; 4719 4720 if (rtn.state.length > 0 && fldState != '') { 4721 for (var i = 0; i < fldState.options.length; i++) { 4722 if (fldState.options[i].value == rtn.state) { 4723 fldState.selectedIndex = i; 4724 break; 4725 } 4726 } 4727 if (i == fldState.options.length) fldState.selectedIndex = 0; 4728 } else if (fldState != '') 4729 fldState.selectedIndex = 0; 4730 }; 4731 /* +++++++++++++++++++++++++++ END Script copied from OLD CMS /includes/scripts/ziplookup.js +++++++++++++++++++++++++++++++++++++*/ 4732 4733 /* +++++++++++++++++++++++++++ START Script Calendar +++++++++++++++++++++++++++++++++++++*/ 4734 svcrm.formBuilderScripts.fbCalendar = { 4735 today: new Date(), 4736 monthNames: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], 4737 dayList: ['S','M','T','W','T','F','S'], 4738 4739 dayListTds: function(){ 4740 var rtn = ''; 4741 for(var i = 0; i < this.dayList.length; i++){ 4742 rtn += '<td align="center" class="Day" width="22">' + this.dayList[i] + '</td>'; 4743 } 4744 return rtn; 4745 }, 4746 4747 getPrevMonthDate: function (curDate) { 4748 var y = curDate.getFullYear(); 4749 var m = curDate.getMonth(); 4750 if (m === 0) { y -= 1; m = 12; } 4751 if (m.toString().length == 1) { m = '0' + m.toString(); } 4752 return m + '/01/' + y; 4753 }, 4754 4755 getNextMonthDate: function (curDate) { 4756 var y = curDate.getFullYear(); 4757 var m = curDate.getMonth() + 2; 4758 if (m == 13) { y += 1; m = 1; } 4759 if (m.toString().length == 1) { m = '0' + m.toString(); } 4760 return m + '/01/' + y; 4761 }, 4762 4763 getPrevYearDate: function(curDate){ 4764 var y = curDate.getFullYear()-1; 4765 var m = curDate.getMonth()+1; 4766 if (m.toString().length == 1) { m = '0' + m.toString(); } 4767 return m + '/01/' + y; 4768 }, 4769 4770 getNextYearDate: function (curDate) { 4771 var y = curDate.getFullYear() + 1; 4772 var m = curDate.getMonth()+1; 4773 if (m.toString().length == 1) { m = '0' + m.toString(); } 4774 return m + '/01/' + y; 4775 }, 4776 4777 getCurMonthName: function (curDate) { 4778 return this.monthNames[curDate.getMonth()]; 4779 }, 4780 4781 createCal: function (id, sDate, useToday) { 4782 try{ 4783 if(sDate){ 4784 sDate = new Date(sDate); 4785 }else{ 4786 sDate = this.today; 4787 } 4788 } catch (e) { 4789 sDate = this.today; 4790 } 4791 4792 var d = { 4793 inDate: sDate, 4794 today: this.today, 4795 day: sDate.getDate(), 4796 month: sDate.getMonth() + 1, 4797 year: sDate.getFullYear(), 4798 prevMonth: this.getPrevMonthDate(sDate), 4799 nextMonth: this.getNextMonthDate(sDate), 4800 4801 calendar: ' '+ 4802 '<div id="fbCalendar" align="center"> ' + 4803 '<div class="fbCalCloseBtn" onclick="svcrm.formBuilderScripts.fbCalendar.showDatePicker(document.getElementById(' + "'datepicker_" + id + "'" + '));"> </div> '+ 4804 '<table border="0" cellpadding="2" cellspacing="1" width="154"> '+ 4805 '<tr> '+ 4806 '<td class="CH"> '+ 4807 '<a class="CH" href="javascript:svcrm.formBuilderScripts.fbCalendar.replaceCal(\'' + id + '\',\'' + this.getPrevMonthDate(sDate) + '\');"><<</a> ' + this.getCurMonthName(sDate) + ' <a class="CH" href="javascript:svcrm.formBuilderScripts.fbCalendar.replaceCal(\'' + id + '\',\'' + this.getNextMonthDate(sDate) + '\');">>></a> '+ 4808 '</td> '+ 4809 '<td align="right" class="CH"> '+ 4810 '<a class="CH" href="javascript:svcrm.formBuilderScripts.fbCalendar.replaceCal(\'' + id + '\',\'' + this.getPrevYearDate(sDate) + '\');"><<</a> ' + sDate.getFullYear() + ' <a class="CH" href="javascript:svcrm.formBuilderScripts.fbCalendar.replaceCal(\'' + id + '\',\'' + this.getNextYearDate(sDate) + '\');">>></a>'+ 4811 '</td> '+ 4812 '</tr> '+ 4813 '</table> '+ 4814 '<table border="0" cellpadding="2" cellspacing="1" width="154"> '+ 4815 '<tr bgcolor="#ffffff">' + this.dayListTds() + '</tr>' + this.calDays(id, sDate, useToday) + 4816 '</table> '+ 4817 '</div>' 4818 }; 4819 4820 return d.calendar; 4821 }, 4822 4823 calDays: function(id, curDate, useToday){ 4824 var rtnvar = ''; 4825 var numDaysInMonth = new Date(curDate.getFullYear(), curDate.getMonth()+1, 0).getDate();
4826 var startofmonth = new Date(); 4827 startofmonth = new Date(curDate.getFullYear(),curDate.getMonth(),1); 4828 var rows = Math.ceil((startofmonth.getDay()+numDaysInMonth)/7); 4829 var cday = 1; 4830 var firstday = startofmonth.getDay()+1; 4831 var lastday = numDaysInMonth; 4832 4833 4834 var loopstart = 0; 4835 var loopend = 0; 4836 var currentDate = new Date(); 4837 currentDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate()); 4838 4839 for(var i = 1; i <= rows; i++){ 4840 rtnvar += '<tr bgcolor="#ffffff">'; 4841 loopstart = ((i-1)*7)+1; 4842 loopend = loopstart+6; 4843 for(var d = loopstart; d <= loopend; d++){ 4844 rtnvar += '<td align="center" bgcolor="#ffffff" class="Day">'; 4845 if(d >= firstday && cday <= lastday){ 4846 var dt = new Date(curDate.getFullYear(), curDate.getMonth(), cday); 4847 var tmpDt = new Date(curDate.getFullYear(), curDate.getMonth(), curDate.getDate()); 4848 var className = (dt.getTime() == tmpDt.getTime() && useToday) ? 'today' : 'Day'; 4849 className += dt.getTime() == currentDate.getTime() ? ' currentDay' : ''; 4850 4851 var thisdate = this.convertToUserDate(parseInt(dt.getMonth()+1,10) +'/'+parseInt(dt.getDate(),10)+'/'+parseInt(dt.getFullYear(), 10)); 4852 4853 rtnvar += '<a class="' + className + '" href="javascript:svcrm.formBuilderScripts.fbCalendar.updateDate(\'' + id + '\',\'' + thisdate + '\');">' + cday + '</a><br>'; 4854 cday++; 4855 }else{ 4856 rtnvar += ' <br />'; 4857 } 4858 } 4859 rtnvar += '</tr>'; 4860 } 4861 4862 return rtnvar; 4863 }, 4864 4865 replaceCal: function (id, sDate) { 4866 var cal = this.createCal(id, sDate, false); 4867 if (document.getElementById(id + '_calendar')) { 4868 document.getElementById(id + '_calendar').innerHTML = cal; 4869 } else { 4870 var newDomElm = document.createElement('div'); 4871 newDomElm.style.position = 'absolute'; 4872 newDomElm.innerHTML = cal; 4873 newDomElm.id = id + '_calendar'; 4874 if (document.getElementById('fieldcontainer_' + id)) { 4875 document.getElementById('fieldcontainer_' + id).appendChild(newDomElm); 4876 } 4877 } 4878 4879 return; 4880 }, 4881 4882 updateDate: function(id, curDate){ 4883 document.getElementById(id).value = curDate; 4884 //document.getElementById(id).onchange(); 4885 if(document.getElementById(id + '_calendar')){ 4886 document.getElementById('fieldcontainer_' + id).removeChild(document.getElementById(id + '_calendar')); 4887 } 4888 4889 if(document.getElementById('datepicker_' + id)){ 4890 document.getElementById('datepicker_' + id).onclick = function(){ 4891 svcrm.formBuilderScripts.fbCalendar.showDatePicker(document.getElementById(id), document.getElementById(id).value); 4892 }; 4893 } 4894 4895 }, 4896 4897 showDatePicker: function(domElm, curDate){ 4898 var cleanID = domElm.id.replace('datepicker_', ''); 4899 var sDate = new Date(); 4900 if(!document.getElementById(cleanID + '_calendar')){ 4901 if(document.getElementById(cleanID)){ 4902 try{ 4903 if(curDate){ 4904 sDate = this.convertToUSDate(curDate); 4905 if(sDate == 'Invalid Date'){ 4906 sDate = new Date(); 4907 } 4908 } 4909 }catch(e){ 4910 sDate = new Date(); 4911 } 4912 this.getCalendar(cleanID, sDate); 4913 } 4914 }else{ 4915 document.getElementById('fieldcontainer_' + cleanID).removeChild(document.getElementById(cleanID + '_calendar')); 4916 } 4917 }, 4918 4919 getCalendar: function(id, curDate){ 4920 var newDomElm = document.createElement('div'); 4921 newDomElm.style.position = 'absolute'; 4922 newDomElm.innerHTML = this.createCal(id, curDate, true); 4923 newDomElm.id = id + '_calendar'; 4924 newDomElm.className = 'svcrm_datepicker'; 4925 document.getElementById('fieldcontainer_' + id).appendChild(newDomElm); 4926 }, 4927 4928 convertToUSDate: function(dte){ 4929 var rtnvar = false; 4930 var wrk = dte.split(crm_locale.YAHOO_DATE_FIELD_DELIMITER); 4931 var wrkdate = []; 4932 var mydate = ''; 4933 if(wrk.length > 0){ 4934 wrkdate[0] = parseInt(wrk[crm_locale.YAHOO_MDY_DAY_POSITION-1],10); //always holds the day 4935 wrkdate[1] = parseInt(wrk[crm_locale.YAHOO_MDY_MONTH_POSITION-1],10); //always holds the month 4936 wrkdate[2] = parseInt(wrk[crm_locale.YAHOO_MDY_YEAR_POSITION-1],10); //always holds the year 4937 4938 if(wrkdate[1] > 0 && wrkdate[1] < 13){ //Validate the months 4939 var monthsWithDaysRegExp = new RegExp("(4|6|9|11)", "gi"); 4940 var numdays = 31; 4941 if(wrkdate[1] == 2){//feb 4942 numdays = 28; 4943 //check if leap year 4944 if (wrkdate[2] % 4 === 0 && (wrkdate[2] % 100 !== 0 || wrkdate[2] % 400 === 0)){ 4945 numdays = 29; 4946 } 4947 }else if(monthsWithDaysRegExp.test(wrkdate[1])){ 4948 numdays = 30; 4949 } 4950 4951 if(wrkdate[0] > 0 && wrkdate[0] <= numdays){ //validate the days in this month 4952 if(wrkdate[2].toString().length == 2){ //if we have a two digit year pad it 4953 wrkdate[2] = chkYear(wrkdate[2]); 4954 } 4955 4956 if(wrkdate[2].toString().length == 4 && !isNaN(wrkdate[2])){ //validate the year, could expand this 4957 /* 4958 we are here we have a valid month 4959 and we have a valid day for that month 4960 and we have a valid 4 digit year 4961 */ 4962 //fld.value = wrkdate.join(crm_locale.YAHOO_DATE_FIELD_DELIMITER); 4963 wrk[1] = wrkdate[0]; //put the day back where it should be 4964 wrk[0] = wrkdate[1]; //put the month back where it should be 4965 wrk[2] = wrkdate[2]; //put the year back where it should be 4966 wrkdate = wrk.join("/"); //join on the us delim and return valid 4967 rtnvar = true; 4968 } 4969 } 4970 } 4971 } 4972 4973 if(!rtnvar){ //if we didn't get a good date from above we use today 4974 wrkdate = new Date(); 4975 } 4976 return wrkdate; 4977 }, 4978 4979 convertToUserDate: function(dte){ 4980 var rtnvar = false; 4981 var wrk = dte.split("/"); 4982 var wrkdate = []; 4983 var mydate = ''; 4984 if(wrk.length > 0){ 4985 wrkdate[0] = parseInt(wrk[1],10); //always holds the day 4986 wrkdate[1] = parseInt(wrk[0],10); //always holds the month 4987 wrkdate[2] = parseInt(wrk[2],10); //always holds the year 4988 4989 if(wrkdate[1] > 0 && wrkdate[1] < 13){ //Validate the months 4990 var monthsWithDaysRegExp = new RegExp("(4|6|9|11)", "gi"); 4991 var numdays = 31; 4992 if(wrkdate[1] == 2){//feb 4993 numdays = 28; 4994 //check if leap year 4995 if (wrkdate[2] % 4 === 0 && (wrkdate[2] % 100 !== 0 || wrkdate[2] % 400 === 0)){ 4996 numdays = 29; 4997 } 4998 }else if(monthsWithDaysRegExp.test(wrkdate[1])){ 4999 numdays = 30; 5000 } 5001 5002 if(wrkdate[0] > 0 && wrkdate[0] <= numdays){ //validate the days in this month 5003 if(wrkdate[2].toString().length == 2){ //if we have a two digit year pad it 5004 wrkdate[2] = chkYear(wrkdate[2]); 5005 } 5006 5007 if(wrkdate[2].toString().length == 4 && !isNaN(wrkdate[2])){ //validate the year, could expand this 5008 /* 5009 we are here we have a valid month 5010 and we have a valid day for that month 5011 and we have a valid 4 digit year 5012 */ 5013 //fld.value = wrkdate.join(crm_locale.YAHOO_DATE_FIELD_DELIMITER); 5014 wrk[crm_locale.YAHOO_MDY_DAY_POSITION-1] = wrkdate[0]; //put the day back where it should be 5015 wrk[crm_locale.YAHOO_MDY_MONTH_POSITION-1] = wrkdate[1]; //put the month back where it should be 5016 wrk[crm_locale.YAHOO_MDY_YEAR_POSITION-1] = wrkdate[2]; //put the year back where it should be 5017 wrkdate = wrk.join(crm_locale.YAHOO_DATE_FIELD_DELIMITER); //join on the correct delim and return valid 5018 rtnvar = true; 5019 } 5020 } 5021 } 5022 } 5023 5024 if(!rtnvar){ //I dont really know what to do here i guess just use today and convert to their date 5025 var t = new Date(); 5026 t = t.getMonth()+1 + '/' + t.getDay() + '/' + t.getFullYear(); 5027 wrkdate = this.convertToUserDate(t); 5028 } 5029 return wrkdate; 5030 }, 5031 5032 convertToUserMDOnlyDate: function(dte){ 5033 var dateFormat_MDOnly = crm_locale.DATEFMT_MDONLY.split(crm_locale.YAHOO_DATE_FIELD_DELIMITER); 5034 var _day = dte.getDate().toString();
5035 var _month = (dte.getMonth() + 1).toString(); 5036 var _dayFormat = ''; 5037 var _monthFormat = ''; 5038 var _dayPostion = ''; 5039 var _monthPostion = ''; 5040 5041 if(dateFormat_MDOnly[0].indexOf('d') != -1){ 5042 _dayFormat = dateFormat_MDOnly[0]; 5043 _monthFormat = dateFormat_MDOnly[1]; 5044 _dayPostion = 0; 5045 _monthPostion = 1; 5046 }else{ 5047 _dayFormat = dateFormat_MDOnly[1]; 5048 _monthFormat = dateFormat_MDOnly[0]; 5049 _dayPostion = 1; 5050 _monthPostion = 0; 5051 } 5052 5053 if(_dayFormat == 'dd' && _day.length != 2){ 5054 _day = '0' + _day; 5055 } 5056 if(_monthFormat == 'mm' && _month.length != 2){ 5057 _month = '0' + _month; 5058 } 5059 5060 var dsp = []; 5061 dsp[_dayPostion] = _day; 5062 dsp[_monthPostion] = _month; 5063 dsp = dsp.join(crm_locale.YAHOO_DATE_FIELD_DELIMITER); 5064 return dsp; 5065 } 5066 5067 }; 5068 /* +++++++++++++++++++++++++++ END Script Calendar +++++++++++++++++++++++++++++++++++++*/ 5069 5070 if (window.addEventListener) { 5071 window.addEventListener('load', svcrm.formBuilderScripts.__onload_function, false); 5072 } else if (window.attachEvent) { 5073 window.attachEvent('onload', svcrm.formBuilderScripts.__onload_function); 5074 } 5075 })(); 5076 /* +++++++++++++++++++++++++++ BEGIN Script copied from OLD CMS loadCRMForm +++++++++++++++++++++++++++++++++++++*/ 5077 </script>
5077 5078 5079 <style type="text/css"> 5080 /*** Styling for Forms ***/ 5081 form.simpleForm {} 5082 form.simpleForm fieldset {} 5083 form.simpleForm legend {} 5084 form.simpleForm label {} 5085 form.simpleForm label.label_hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;} 5086 form.simpleForm .formreq { color: #B30000;} 5087 form.simpleForm input[type="radio"], form.simpleForm input[type="checkbox"] {} 5088 form.simpleForm input[type="text"] {} 5089 form.simpleForm input.date { cursor: pointer;} 5090 form.simpleForm select {} 5091 form.simpleForm table { background: none; border: none; margin: 0;} 5092 form.simpleForm table tr td { padding: 0;} 5093 form.simpleForm .captcha {} 5094 5095 #capimage { height: 17px; width:17px;} 5096 5097 form.simpleForm .svcrm_datepicker { 5098 z-index: 3; 5099 } 5100 #fbCalendar{ 5101 background-color: white; 5102 border:1px solid #336699; 5103 border-radius:2px; 5104 box-shadow: #336699 1px 1px; 5105 } 5106 #fbCalendar TD { font-size: 12px; font-family: Arial } 5107 #fbCalendar .Day { font-size: 12px; color: #000000; border:1px solid transparent;} 5108 #fbCalendar .CH { font-size: 12px; color: #336699; font-weight: bold; bgcolor: #cccccc; } 5109 #fbCalendar A.today:link, #fbCalendar A.today:visited{text-decoration:none; color:#000000; font-weight: bold;} 5110 #fbCalendar A.today:hover{text-decoration:none; color:#CC3300; font-weight: bold;} 5111 #fbCalendar A.Day:link, #fbCalendar A.Day:visited{text-decoration:none; color:#990000; font-weight: normal;} 5112 #fbCalendar A.Day:hover{text-decoration:none; color:#CC3300; font-weight: normal; border:1px solid #000000;} 5113 #fbCalendar A.CH:link, #fbCalendar A.CH:visited{text-decoration:none; color:#336699;} 5114 #fbCalendar A.CH:hover{text-decoration:none; color:#0033FF;} 5115 #fbCalendar A.close:link, #fbCalendar A.close:visited{font-size: 10px; text-decoration:none; color:#666666;} 5116 #fbCalendar A.close:hover{font-size: 10px; text-decoration:underline; color:#666666;} 5117 #fbCalendar A:link, #fbCalendar A:visited{text-decoration:none; color:#000099;} 5118 #fbCalendar A:hover{text-decoration:none; color:#0000FF;} 5119 #fbCalendar .currentDay{border:1px solid #336699; padding: 2px;} 5120 #fbCalendar div.fbCalCloseBtn{ 5121 background:transparent url(http://ElmhurstIL.simpleviewcrm.com/core_crm/Resources/images/calx.gif) no-repeat; 5122 width:17px; 5123 height:13px; 5124 float:right; 5125 border:2px solid #ffffff; 5126 } 5127 #fbCalendar div.fbCalCloseBtn:hover{ 5128 cursor: pointer; 5129 border:2px solid #336699; 5130 } 5131 5132 /*** Mobile ***/ 5133 @media only screen and (max-width: 40em) {} 5134 /*** Tablet ***/ 5135 @media only screen and (min-width: 40.063em) and (max-width: 64em) {} 5136 5137 /*** Desktop ***/ 5138 @media only screen and (min-width: 64.063em) { 5139 form.simpleForm label { max-width: 430px; text-align: right;} 5140 } 5141 </style> 5142 </div> 5143 </div> 5144 <div class="footer-container"> 5145 <div data-civid="63f7c8e27cb5e70bd1921827" class="contentRender contentRender_16 contentRender_type_panel contentRender_name_plugins_common_footer" data-sv-time="8" data-sv-index="16" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 5146 5147 5148<section class="cta-section"> 5149 <div class="inner"> 5150 <div class="cta cta-left"> 5151 <div data-civid="6757d9975b3ad8e6788f9c3c" class="contentRender contentRender_17 contentRender_type_widget contentRender_name_plugins_common_footer_cta" data-sv-time="28" data-sv-index="17" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 5152 5153 5154 5155 5156 5157<a data-guid="cce370b8-c4d6-41a0-a8ce-d87cffaa768a" class="footer-cta primary " href="https://exploreelmhurst.com/local-organizations/why-choose-elmhurst/" target="_self" data-gtm-click data-gtm-vars='{ "tClient_ga4" : {"eventName" : "navigation_click", "navType": "Navigation Callout", "linkObject": "" } }'> 5158 <div class="footer-cta-inner" data-lazy-bg-src="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,h_100,q_100,w_600/v1/clients/elmhurstil/vg_img_cb036ba4_cf67_4ea3_8256_b0ae1c50629b_da6b986a-79a4-4f0d-b242-962bfdec973e.jpg"> 5159 <div class="cont-left"> 5160 5161 <div class="cta-icon-con"> 5162 <img src="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,h_70,q_60,w_70/v1/clients/elmhurstil/icon_e_gold_6d46f49b-0710-4f62-adac-f49c59db323c.png" class="cta-icon" 5163 alt="" 5164 height="70" 5165 width="70"> 5166 </div> 5167 5168 </div> 5169 <div class="cont-right"> 5170 5171 <h5 class="title">Why Elmhurst</h5> 5172 5173 </div> 5174 </div> 5175</a> 5176
5177<script> 5178 require(["plugins_common_custom_lazyload"], function(lazyload) { 5179 const root = document.querySelector('[data-guid="cce370b8-c4d6-41a0-a8ce-d87cffaa768a"]'); 5180 lazyload.lazy(root) 5181 }); 5182</script>
5182</div> 5183 </div> 5184 <div class="cta cta-center"> 5185 <div data-civid="6757d9975b3ad8e6788f9c3e" class="contentRender contentRender_18 contentRender_type_widget contentRender_name_plugins_common_footer_cta" data-sv-time="29" data-sv-index="18" data-gtm-vars='{ "tCore" : { "contentNum" : "2" } }'> 5186 5187 5188 5189 5190 5191<a data-guid="46f436b7-13b7-46d7-912a-2565d79ff2c5" class="footer-cta secondary " href="https://exploreelmhurst.com/plan-your-visit/newsletter-signup/" target="_self" data-gtm-click data-gtm-vars='{ "tClient_ga4" : {"eventName" : "navigation_click", "navType": "Navigation Callout", "linkObject": "" } }'> 5192 <div class="footer-cta-inner" data-lazy-bg-src="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,h_100,q_100,w_600/v1/clients/elmhurstil/trip_ideas_img_32f69f36_e2be_42dd_a900_4bcc1df41919_7dd75ab0-6749-45be-a95d-bef9b7c77d31.jpg"> 5193 <div class="cont-left"> 5194 5195 <div class="cta-icon-con"> 5196 <img src="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,h_70,q_60,w_70/v1/clients/elmhurstil/enews_icon_539a2245-2b3f-4826-9fc9-037071fdcd96.png" class="cta-icon" 5197 alt="" 5198 height="70" 5199 width="70"> 5200 </div> 5201 5202 </div> 5203 <div class="cont-right"> 5204 5205 <h5 class="title">Get Trip Ideas</h5> 5206 5207 </div> 5208 </div> 5209</a> 5210
5211<script> 5212 require(["plugins_common_custom_lazyload"], function(lazyload) { 5213 const root = document.querySelector('[data-guid="46f436b7-13b7-46d7-912a-2565d79ff2c5"]'); 5214 lazyload.lazy(root) 5215 }); 5216</script>
5216</div> 5217 </div> 5218 <div class="cta cta-right"> 5219 <div data-civid="6757d9975b3ad8e6788f9c40" class="contentRender contentRender_19 contentRender_type_widget contentRender_name_plugins_common_footer_cta" data-sv-time="29" data-sv-index="19" data-gtm-vars='{ "tCore" : { "contentNum" : "3" } }'> 5220 5221 5222 5223 5224 5225<a data-guid="a3087057-af8f-4f57-8436-8e7b0d7c4677" class="footer-cta tertiary " href="https://services.saucontds.com/customer-map-common/?companyLocationId=242245630&mapId=1881&hideGutter=true&routeSelectorStyle=none" target="_blank" data-gtm-click data-gtm-vars='{ "tClient_ga4" : {"eventName" : "navigation_click", "navType": "Navigation Callout", "linkObject": "" } }'> 5226 <div class="footer-cta-inner" data-lazy-bg-src="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,h_100,q_100,w_600/v1/clients/elmhurstil/trolley_rides_img_4b980873_bbf0_47ae_9ca8_0d8108e1344c_932e0c0b-a0e2-4ab6-83db-2f209850d6b9.jpg"> 5227 <div class="cont-left"> 5228 5229 <div class="cta-icon-con"> 5230 <img src="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,h_70,q_60,w_70/v1/clients/elmhurstil/trolley_icon_681b3edf-6903-4e16-ad09-899973349d99.png" class="cta-icon" 5231 alt="" 5232 height="70" 5233 width="70"> 5234 </div> 5235 5236 </div> 5237 <div class="cont-right"> 5238 5239 <h5 class="title">Free Trolley Rides</h5> 5240 5241 </div> 5242 </div> 5243</a> 5244
5245<script> 5246 require(["plugins_common_custom_lazyload"], function(lazyload) { 5247 const root = document.querySelector('[data-guid="a3087057-af8f-4f57-8436-8e7b0d7c4677"]'); 5248 lazyload.lazy(root) 5249 }); 5250</script>
5250</div> 5251 </div> 5252 </div> 5253</section> 5254<footer class="panel-footer" data-guid="4bb73235-a3b9-47b2-aba0-8d8256afc6db"> 5255 <div class="footer-content-container"> 5256 <div class="client-details"> 5257 <div data-civid="6757d9975b3ad8e6788f9c42" class="contentRender contentRender_20 contentRender_type_widget contentRender_name_plugins_common_logo_footer" data-sv-time="29" data-sv-index="20" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'><div class="logo-footer" data-guid="476349aa-411c-477f-a018-b789bf69735e" > 5258 <a href="https://exploreelmhurst.com/" target="_self" aria-label="City of Elmhurst"> 5259 5260 <img 5261 src="/includes/public/assets/shared/logos/logo-footer.svg" 5262 alt="City of Elmhurst" 5263 loading="lazy" 5264 width="194" 5265 height="145" 5266 /> 5267 5268 </a> 5269</div></div> 5270 </div> 5271 <div class="legal-cont"> 5272 <p class="legal-text">© 2026 Explore Elmhurst. All rights reserved.</p> 5273 </div> 5274 <div class="contact-details"> 5275 <ul> 5276 <li><i>A Department of the</i> <b>City of Elmhurst</b></li> 5277 5278 <li>209 North York Street Elmhurst, IL 60126</li> 5279 5280 </ul> 5281 </div> 5282 <div class="social-trans-cont"> 5283 5284 <div class="translation" data-search-hide data-g-translate> 5285 <div data-civid="6757d9a95b3ad8e6788f9c4a" class="contentRender contentRender_21 contentRender_type_widget contentRender_name_plugins_googletranslate_gtranslate" data-sv-time="29" data-sv-index="21" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 5286 5287<div class="gtranslate_wrapper"></div>
5288<script> 5289 window.gtranslateSettings = { 5290 'default_language':'en' 5291 5292 ,"wrapper_selector":".gtranslate_wrapper" 5293 5294 ,'switcher_horizontal_position':'inline' 5295 ,'flag_size':16 5296 ,'globe_size':20 5297 ,'float_switcher_open_direction':'left' 5298 ,'switcher_open_direction':'bottom' 5299 5300 5301 5302 5303 5304 ,"select_language_label":"Select Language" 5305 } 5306</script>
vendor: 2 bytes, line 5306
5306
5307<script src="https://cdn.gtranslate.net/widgets/latest/dwf.js" defer></script>
5307</div> 5308 </div> 5309 5310 <div class="social-media"> 5311 <div class="social-title">Follow Us</div> 5312 <div class="social-cont"><div data-civid="6757d9975b3ad8e6788f9c44" class="contentRender contentRender_22 contentRender_type_widget contentRender_name_plugins_collections_type_custom_social_slides contentRender_name_plugins_collections_template_custom_social_links" data-sv-time="49" data-sv-index="22" data-gtm-vars='{ "tCore" : { "contentNum" : "2" } }'> 5313 5314<ul class="social-links"> 5315 5316 5317 <li class="social-network"> 5318 <a 5319 class="social-link" 5320 href="https://www.facebook.com/ExploreElmhurst/" 5321 target="_blank" 5322 rel="noopener" 5323 title="Visit our facebook page" 5324 aria-label="Visit our facebook page" 5325 data-gtm-click data-gtm-vars='{ "tClient_ga4" : {"eventName" : "navigation_click", "navType" : "Social Links", "linkObject": "Social | Facebook", "interactionUrl" : "https%3A%2F%2Fwww.facebook.com%2FExploreElmhurst%2F", "interactionSource": "widget" } }' 5326 > 5327 <i 5328 class="social-icon fab fa-facebook" 5329 aria-hidden="true" 5330 ></i> 5331 </a> 5332 </li> 5333 5334 5335 <li class="social-network"> 5336 <a 5337 class="social-link" 5338 href="https://www.instagram.com/exploreelmhurst/" 5339 target="_blank" 5340 rel="noopener" 5341 title="Visit our instagram page" 5342 aria-label="Visit our instagram page" 5343 data-gtm-click data-gtm-vars='{ "tClient_ga4" : {"eventName" : "navigation_click", "navType" : "Social Links", "linkObject": "Social | Instagram", "interactionUrl" : "https%3A%2F%2Fwww.instagram.com%2Fexploreelmhurst%2F", "interactionSource": "widget" } }' 5344 > 5345 <i 5346 class="social-icon fab fa-instagram" 5347 aria-hidden="true" 5348 ></i> 5349 </a> 5350 </li> 5351 5352 5353 <li class="social-network"> 5354 <a 5355 class="social-link" 5356 href="https://www.youtube.com/user/elmhursttv" 5357 target="_blank" 5358 rel="noopener" 5359 title="Visit our youtube page" 5360 aria-label="Visit our youtube page" 5361 data-gtm-click data-gtm-vars='{ "tClient_ga4" : {"eventName" : "navigation_click", "navType" : "Social Links", "linkObject": "Social | Youtube", "interactionUrl" : "https%3A%2F%2Fwww.youtube.com%2Fuser%2Felmhursttv", "interactionSource": "widget" } }' 5362 > 5363 <i 5364 class="social-icon fab fa-youtube" 5365 aria-hidden="true" 5366 ></i> 5367 </a> 5368 </li> 5369 5370</ul></div></div> 5371 </div> 5372 </div> 5373 </div> 5374 <div class="attributions"> 5375 <div class="footer-nav"> 5376 <div data-civid="6757d9975b3ad8e6788f9c46" class="contentRender contentRender_23 contentRender_type_widget contentRender_name_plugins_nav_footer" data-sv-time="38" data-sv-index="23" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 5377 5378 5379 5380 5381 <ul class="navigation-footer" 5382 data-gtm-vars='{"tClient_ga4": {"eventName": "navigation_click", "navType": "Footer"}}' 5383> 5384 5385 <li class="item item-parent row-1"> 5386 <a 5387 href="/about-us/" 5388 target="_self" 5389 class="" 5390 title="About Us" 5391 5392 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "About%20Us"}}' 5393 5394 > 5395 About Us 5396 </a> 5397 </li> 5398 5399 <li class="item item-parent row-2 selected selected has-submenu"> 5400 <a 5401 href="/contact/" 5402 target="_self" 5403 class=" has-children" 5404 title="Contact" 5405 5406 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Contact"}}' 5407 5408 > 5409 Contact 5410 </a> 5411 </li> 5412 5413 <li class="item item-parent row-3"> 5414 <a 5415 href="/media/" 5416 target="_self" 5417 class="" 5418 title="Media" 5419 5420 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Media"}}' 5421 5422 > 5423 Media 5424 </a> 5425 </li> 5426 5427 <li class="item item-parent row-4"> 5428 <a 5429 href="https://exploreelmhurst.com/sitemap/" 5430 target="_self" 5431 class="" 5432 title="Sitemap" 5433 5434 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Sitemap"}}' 5435 5436 > 5437 Sitemap 5438 </a> 5439 </li> 5440 5441 <li class="item item-parent row-5 last"> 5442 <a 5443 href="/privacy-policy/" 5444 target="_self" 5445 class="" 5446 title="Privacy Policy" 5447 5448 data-gtm-click data-gtm-vars='{"tClient_ga4": {"linkObject": "Privacy%20Policy"}}' 5449 5450 > 5451 Privacy Policy 5452 </a> 5453 </li> 5454 5455 </ul> 5456</div> 5457 </div> 5458 <div class="attribution-content-container"> 5459 <a 5460 class="made-by-sv" 5461 5462 5463 href="https://www.simpleviewinc.com/our-services/creative-design/" 5464 5465 5466 target="_blank" 5467 rel="noopener" 5468 > 5469 <img 5470 src="/includes/public/assets/shared/made-by-sv-white.svg" 5471 alt="Made by Simpleview" 5472 loading="lazy" 5473 width="180" 5474 height="18" 5475 /> 5476 </a> 5477 </div> 5478 </div> 5479 <div class="mobile-fixed"> 5480 5481 5482 </div> 5483</footer> 5484</div> 5485 </div> 5486</div> 5487<div id="gallery-portal" data-gallery-portal></div> 5488<div id="quickview-detail" data-quickview-detail></div></div> 5489 <!-- footer css bundles --> 5490 5491 <!-- footer js bundles --> 5492
5492<script src="/includes/public/managed/v_a2e6ae52_84d87df0/core/plugins/core/public/js/loginCheck.js"></script>
5492 5493
5493<script src="/includes/public/managed/v_a2e6ae52_84d87df0/core/plugins/common/virtuals/js/shared_footer.js" defer></script>
5493 5494
5494<script src="/includes/public/managed/v_a2e6ae52_84d87df0/core/plugins/common/virtuals/js/custom_forms.js" defer></script>
5494 5495 5496
5496<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://exploreelmhurst.com/#organization","name":"City of Elmhurst","url":"https://exploreelmhurst.com/","telephone":"630-530-6018","address":{"@type":"PostalAddress","streetAddress":"209 N. York Street","addressLocality":"Elmhurst","addressRegion":"IL","postalCode":"60126"}},{"@type":"WebSite","@id":"https://exploreelmhurst.com/#website","url":"https://exploreelmhurst.com/","name":"City of Elmhurst","publisher":{"@id":"https://exploreelmhurst.com/#organization"},"potentialAction":{"@type":"SearchAction","target":"https://exploreelmhurst.com/search/?q={search_term_string}","query-input":"required name=search_term_string"}},{"@type":"CollectionPage","@id":"https://exploreelmhurst.com/contact/#collectionpage","url":"https://exploreelmhurst.com/contact/","isPartOf":{"@id":"https://exploreelmhurst.com/#website"},"breadcrumb":{"@type":"BreadcrumbList","name":"Breadcrumbs","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://exploreelmhurst.com/"},{"@type":"ListItem","position":2,"name":"Contact","item":"https://exploreelmhurst.com/contact/"}]},"mainEntity":[]}]}</script>
5496 5497 <!-- bottomBody --> 5498 5499
5499<script data-id="site_global_footer"> 5500 require(["sv_clientLib", "sv_load!plugins_dynamic_content"], function(clientLib) { 5501 clientLib._initLazy(); 5502 }); 5503 </script>
5503 5504 5505 �� </body> 5506</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.