PageSourceSearch

https://www.homevaluerestoration.com/siding

html homevaluerestoration.com collected 2026-10-09 04:19:12 UTC 196,540 bytes, 5,718 lines download raw bytes

1<!doctype html >
2<html xmlns="http://www.w3.org/1999/xhtml" lang="en"
3      class="">
4<head>
5    <meta charset="utf-8">
6    
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43<script type="text/javascript">
44    window._currentDevice = 'desktop';
45    window.Parameters = window.Parameters || {
46        HomeUrl: 'https://www.homevaluerestoration.com/',
47
48        SystemID: 'US_HIBU_PRODUCTION',
49        SiteAlias: '5748cca1dd614b15a52e6872196a47c8',
50        SiteType: atob('RFVEQU9ORQ=='),
51        PublicationDate: 'Aug 14, 2026',
52        ExternalUid: '547229483',
53        IsSiteMultilingual: false,
54        InitialPostAlias: '',
55        InitialPostPageUuid: '',
56        InitialDynamicItem: '',
57        DynamicPageInfo: {
58            isDynamicPage: false,
59            base64JsonRowData: 'null',
60        },
61        InitialPageAlias: 'siding',
62        InitialPageUuid: 'f8c565cba05e4b9ea627c262182fb982',
63        InitialPageId: '116174566',
64        InitialEncodedPageAlias: 'c2lkaW5n',
65        InitialHeaderUuid: '47048369b0f0450080f3d3e326bb5546',
66        CurrentPageUrl: '',
67        IsCurrentHomePage: false,
68        ThemeVersion: '500000',
69        DefaultPageAlias: '',
70        RemoveDID: true,
71        WidgetStyleID: null,
72        IsHeaderFixed: false,
73        IsHeaderSkinny: false,
74        StorePagesUrls: 'e30=',
75        IsNewStore: 'false',
76        StorePath: '',
77        StoreId: 'null',
78        StoreVersion: 0,
79        StoreBaseUrl: '',
80        StoreCleanUrl: true,
81        StoreDisableScrolling: true,
82        IsStoreSuspended: false,
83        showCookieNotification: false,
84        cookiesNotificationMarkup: 'null',
85        translatedPageUrl: '',
86        sidebarPosition: 'NA',
87        currentLanguage: 'en',
88        currentLocale: 'en',
89        NavItems: '{}',
90        
91        mapConsent: {
92            message: 'This content is served by a third party, {0}. If enabled, {0} may collect information about your activity.',
93            enable: 'Enable'
94        },
95        NavigationAreaParams: {
96            ShowBackToHomeOnInnerPages: true,
97            NavbarSize: 4,
98            NavbarLiveHomePage: 'https://www.homevaluerestoration.com/',
99            NavbarSelector: '#dmNav:has(a)',
100            SubNavbarSelector: '#subnav_main'
101        },
102        planID: '753',
103        disableTracking: false,
104        pageType: 'FROM_SCRATCH',
105        isRuntimeServer: true,
106        isInEditor: false,
107        isInPreview: false,
108        hasNativeStore: false,
109        defaultLang: 'en',
110        hamburgerMigration: null,
111        isFlexSite: false
112    };
113
114    window.Parameters.LayoutID = {};
115    window.Parameters.LayoutID[window._currentDevice] = 6;
116    window.Parameters.LayoutVariationID = {};
117    window.Parameters.LayoutVariationID[window._currentDevice] = 5;
118</script>
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141<!-- Injecting site-wide to the head -->
142
143
144<meta name="google-site-verification" content="kiXmHfdgV44jsEKAOYbO628kRN7OXS-Z3vDRtF_JDmg" data-swh-uuid="74546f77516d49ff83c4ce39fc6cc5f2"/>
145
146
147
148<!-- End Injecting site-wide to the head -->
149
150
151
152
153
154<meta name="d-service-worker" content="register">
155
156
157
158<link rel="canonical" href="https://www.homevaluerestoration.com/siding">
159
160<meta id="view" name="viewport" content="initial-scale=1, minimum-scale=1, maximum-scale=5, viewport-fit=cover">
161
162<meta name="apple-mobile-web-app-capable" content="yes">
163
164
165
166<link rel="icon" type="image/x-icon" href="https://cdn.hibuwebsites.com/5748cca1dd614b15a52e6872196a47c8/site_favicon_16_1773701320584.ico"/>
167
168
169<link rel="preconnect" href="https://le-cdn.hibuwebsites.com"/>
170<link rel="preconnect" href="https://cdn.hibuwebsites.com" crossorigin/>
171<link rel="preconnect" href="https://static-res-cdn.websites.hibu.com"/>
172<link rel="preconnect" href="https://cdn.hibuwebsites.com"/>
173
174
175
176
177<script id='d-js-dmapi'>
178    window.SystemID = 'US_HIBU_PRODUCTION';
179
180    if (!window.dmAPI) {
181        window.dmAPI = {
182            registerExternalRuntimeComponent: function () {
183            },
184            getCurrentDeviceType: function () {
185                return window._currentDevice;
186            },
187            runOnReady: (ns, fn) => {
188                const safeFn = dmAPI.toSafeFn(fn);
189                ns = ns || 'global_' + Math.random().toString(36).slice(2, 11);
190                const eventName = 'afterAjax.' + ns;
191
192                if (document.readyState === 'complete') {
193                    $.DM.events.off(eventName).on(eventName, safeFn);
194                    setTimeout(function () {
195                        safeFn({
196                            isAjax: false,
197                        });
198                    }, 0);
199                } else {
200                    window?.waitForDeferred?.('dmAjax', () => {
201                        $.DM.events.off(eventName).on(eventName, safeFn);
202                        safeFn({
203                            isAjax: false,
204                        });
205                    });
206                }
207            },
208            toSafeFn: (fn) => {
209                if (fn?.safe) {
210                    return fn;
211                }
212                const safeFn = function (...args) {
213                    try {
214                        return fn?.apply(null, args);
215                    } catch (e) {
216                        console.log('function failed ' + e.message);
217                    }
218                };
219                safeFn.safe = true;
220                return safeFn;
221            }
222        };
223    }
224
225    if (!window.requestIdleCallback) {
226        window.requestIdleCallback = function (fn) {
227            setTimeout(fn, 0);
228        }
229    }
230</script>
230
231
232
233
234
235
236
237
238
239<script id="d-js-load-css">
240/**
241 * There are a few <link> tags with CSS resource in them that are preloaded in the page
242 * in each of those there is a "onload" handler which invokes the loadCSS callback
243 * defined here.
244 * We are monitoring 3 main CSS files - the runtime, the global and the page.
245 * When each load we check to see if we can append them all in a batch. If threre
246 * is no page css (which may happen on inner pages) then we do not wait for it
247 */
248(function () {
249  let cssLinks = {};
250  function loadCssLink(link) {
251    link.onload = null;
252    link.rel = "stylesheet";
253    link.type = "text/css";
254  }
255  
256    function checkCss() {
257      const pageCssLink = document.querySelector("[id*='CssLink']");
258      const widgetCssLink = document.querySelector("[id*='widgetCSS']");
259
260        if (cssLinks && cssLinks.runtime && cssLinks.global && (!pageCssLink || cssLinks.page) && (!widgetCssLink || cssLinks.widget)) {
261            const storedRuntimeCssLink = cssLinks.runtime;
262            const storedPageCssLink = cssLinks.page;
263            const storedGlobalCssLink = cssLinks.global;
264            const storedWidgetCssLink = cssLinks.widget;
265
266            storedGlobalCssLink.disabled = true;
267            loadCssLink(storedGlobalCssLink);
268
269            if (storedPageCssLink) {
270                storedPageCssLink.disabled = true;
271                loadCssLink(storedPageCssLink);
272            }
273
274            if(storedWidgetCssLink) {
275                storedWidgetCssLink.disabled = true;
276                loadCssLink(storedWidgetCssLink);
277            }
278
279            storedRuntimeCssLink.disabled = true;
280            loadCssLink(storedRuntimeCssLink);
281
282            requestAnimationFrame(() => {
283                setTimeout(() => {
284                    storedRuntimeCssLink.disabled = false;
285                    storedGlobalCssLink.disabled = false;
286                    if (storedPageCssLink) {
287                      storedPageCssLink.disabled = false;
288                    }
289                    if (storedWidgetCssLink) {
290                      storedWidgetCssLink.disabled = false;
291                    }
292                    // (SUP-4179) Clear the accumulated cssLinks only when we're
293                    // sure that the document has finished loading and the document 
294                    // has been parsed.
295                    if(document.readyState === 'interactive') {
296                      cssLinks = null;
297                    }
298                }, 0);
299            });
300        }
301    }
302  
303
304  function loadCSS(link) {
305    try {
306      var urlParams = new URLSearchParams(window.location.search);
307      var noCSS = !!urlParams.get("nocss");
308      var cssTimeout = urlParams.get("cssTimeout") || 0;
309
310      if (noCSS) {
311        return;
312      }
313      if (link.href && link.href.includes("d-css-runtime")) {
314        cssLinks.runtime = link;
315        checkCss();
316      } else if (link.id === "siteGlobalCss") {
317        cssLinks.global = link;
318        checkCss();
319      } 
320      
321      else if (link.id && link.id.includes("CssLink")) {
322        cssLinks.page = link;
323        checkCss();
324      } else if (link.id && link.id.includes("widgetCSS")) {
325        cssLinks.widget = link;
326        checkCss();
327      }
328      
329      else {
330        requestIdleCallback(function () {
331          window.setTimeout(function () {
332            loadCssLink(link);
333          }, parseInt(cssTimeout, 10));
334        });
335      }
336    } catch (e) {
337      throw e
338    }
339  }
340  window.loadCSS = window.loadCSS || loadCSS;
341})();
342</script>
342
343
344
345
346<script data-role="deferred-init" type="text/javascript">
347    /* usage: window.getDeferred(<deferred name>).resolve() or window.getDeferred(<deferred name>).promise.then(...)*/
348    function Def() {
349        this.promise = new Promise((function (a, b) {
350            this.resolve = a, this.reject = b
351        }).bind(this))
352    }
353
354    const defs = {};
355    window.getDeferred = function (a) {
356        return null == defs[a] && (defs[a] = new Def), defs[a]
357    }
358    window.waitForDeferred = function (b, a, c) {
359        let d = window?.getDeferred?.(b);
360        d
361            ? d.promise.then(a)
362            : c && ["complete", "interactive"].includes(document.readyState)
363                ? setTimeout(a, 1)
364                : c
365                    ? document.addEventListener("DOMContentLoaded", a)
366                    : console.error(`Deferred  does not exist`);
367    };
368</script>
368
369<style id="forceCssIncludes">
370    /* This file is auto-generated from a `scss` file with the same name */
371
372.videobgwrapper{overflow:hidden;position:absolute;z-index:0;width:100%;height:100%;top:0;left:0;pointer-events:none;border-radius:inherit}.videobgframe{position:absolute;width:101%;height:100%;top:50%;left:50%;transform:translateY(-50%) translateX(-50%);object-fit:fill}#dm video.videobgframe{margin:0}@media (max-width:767px){.dmRoot .dmPhotoGallery.newPhotoGallery:not(.photo-gallery-done){min-height:80vh}}@media (min-width:1025px){.dmRoot .dmPhotoGallery.newPhotoGallery:not(.photo-gallery-done){min-height:45vh}}@media (min-width:768px) and (max-width:1024px){.responsiveTablet .dmPhotoGallery.newPhotoGallery:not(.photo-gallery-done){min-height:45vh}}#dm [data-show-on-page-only]{display:none!important}#dmRoot div.stickyHeaderFix div.site_content{margin-top:0!important}#dmRoot div.stickyHeaderFix div.hamburger-header-container{position:relative}@media (min-width:768px) and (max-width:1024px){.responsiveTablet #dm .dmInner .hide-for-medium,[data-hidden-on-tablet]{display:none!important}}
373    
374
375</style>
376<style id="cssVariables" type="text/css">
377    
378</style>
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422<link type="text/css" rel="stylesheet" href="https://cdn.hibuwebsites.com/fonts/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Lora:ital,wght@0,400..700;1,400..700&family=Oswald:ital,wght@0,200..700;1,200..700&family=Source+Sans+Pro:ital,wght@0,200;0,300;0,400;0,600;0,700;0,900;1,200;1,300;1,400;1,600;1,700;1,900&amp;subset=latin-ext&amp;display=swap"  />
423
424
425
426
427
428
429<link rel="stylesheet" type="text/css" href="https://static-res-cdn.websites.hibu.com/mnlt/production/6839/_dm/s/rt/dist/css/d-css-runtime-desktop-one-package-structured-global.min.css" />
430
431
432
433<link type="text/css" rel="stylesheet" href="https://cdn.hibuwebsites.com/WIDGET_CSS/0750618e480284f0ae529daa67118889.css" id="widgetCSS" />
434
435
436<style>img[width][height] {
437  height: auto;
438}</style>
439
440
441<style>
442  body[data-page-alias="siding"] #dm [data-show-on-page-only="siding"] {
443    display: block !important;
444  }
445</style>
446
447
448<style id="pageAdditionalWidgetsCss" type="text/css">
449</style>
450
451
452
453
454
455<link type="text/css" rel="stylesheet" href="https://cdn.hibuwebsites.com/5748cca1dd614b15a52e6872196a47c8/files/5748cca1dd614b15a52e6872196a47c8_1.min.css?v=391" id="siteGlobalCss" />
456
457
458
459<link
460        type="text/css" rel="stylesheet"
461        href="/_dm/s/rt/css/hibu/hibu-runtime.css?version=2026-10-08T12_48_49"
462/>
463
464
465<style id="customWidgetStyle" type="text/css">
466    
467</style>
468<style id="innerPagesStyle" type="text/css">
469    
470</style>
471
472
473<style
474        id="additionalGlobalCss" type="text/css"
475>
476</style>
477
478<style id="pagestyle" type="text/css">
479    *.u_1367179101 {
480  background-image:none !important;
481  background-color:rgba(0,0,0,0) !important;
482  background-position:0 0 !important;
483  background-size:auto !important;
484  background-repeat:repeat !important;
485  padding-top:30px !important;
486  padding-bottom:30px !important;
487  padding-right:40px !important;
488  padding-left:40px !important;
489  margin:0 !important;
490  text-align:start !important;
491}
492
493*.u_1902292127 {
494  background-image:none !important;
495  background-color:rgba(0,0,0,0) !important;
496  background-position:0 0 !important;
497  background-size:auto !important;
498  background-repeat:repeat !important;
499  padding-top:0 !important;
500  padding-bottom:0 !important;
501  padding-right:15px !important;
502  padding-left:0 !important;
503  margin:0 !important;
504  text-align:start !important;
505}
506
507*#dm *.dmBody div.u_1371727039 { background-color:rgba(0,0,0,0) !important; }
508
509*#dm *.dmBody *.u_1718052648:before {
510  opacity:0.5 !important;
511  background-color:rgb(255,255,255) !important;
512}
513
514*#dm *.dmBody *.u_1718052648.before {
515  opacity:0.5 !important;
516  background-color:rgb(255,255,255) !important;
517}
518
519*.u_1371727039 {
520  background-image:none !important;
521  background-color:rgba(0,0,0,0) !important;
522  background-position:0 0 !important;
523  background-size:auto !important;
524  background-repeat:repeat !important;
525  padding-top:40px !important;
526  padding-bottom:40px !important;
527  padding-right:30px !important;
528  padding-left:30px !important;
529  margin:80px 100px !important;
530  text-align:center !important;
531  color:rgb(17,65,75) !important;
532}
533
534*.u_1718052648 {
535  background-image:url(https://le-cdn.hibuwebsites.com/md/dmip/dms3rep/multi/opt/living-room-interior-design-white-sofa-2880w.jpg) !important;
536  background-color:rgba(0,0,0,0) !important;
537  background-position:50% 50% !important;
538  background-size:cover !important;
539  background-repeat:no-repeat !important;
540  padding-top:30px !important;
541  padding-bottom:30px !important;
542  padding-right:40px !important;
543  padding-left:40px !important;
544  margin:0 !important;
545  text-align:center !important;
546  color:rgb(17,65,75) !important;
547}
548
549*#dm *.dmBody div.u_1718052648:before {
550  background-color:rgba(0,0,0,1) !important;
551  opacity:0.5 !important;
552}
553
554*#dm *.dmBody div.u_1718052648.before {
555  background-color:rgba(0,0,0,1) !important;
556  opacity:0.5 !important;
557}
558
559*#dm *.dmBody div.u_1718052648>*.bgExtraLayerOverlay {
560  background-color:rgba(0,0,0,1) !important;
561  opacity:0.5 !important;
562}
563
564*#dm *.dmBody div.u_1021934128 *#phoneList { color:rgba(255,255,255,1) !important; }
565
566*#dm *.dmBody div.u_1021934128 *.dmWidget span.text { font-weight:bold !important; }
567
568*#dm *.dmBody div.u_1021934128 *.dmWidget {
569  background-color:rgba(0,0,0,0) !important;
570  border-style:solid !important;
571  border-width:0 !important;
572}
573
574*#dm *.dmBody div.u_1718052648 {
575  background-repeat:no-repeat !important;
576  background-image:url(https://le-cdn.hibuwebsites.com/5748cca1dd614b15a52e6872196a47c8/dms3rep/multi/opt/2-2880w.jpg) !important;
577  background-size:cover !important;
578}
579
580*#dm *.dmBody div.u_1832770301 .vidWrapper { background-image:url(https://le-cdn.hibuwebsites.com/5748cca1dd614b15a52e6872196a47c8/dms3rep/multi/opt/13-2880w.jpg) !important; }
581
582*#dm *.dmBody div.u_1832770301 .vidTitle2 { font-family:Oswald !important; }
583
584*#dm *.dmBody div.u_1832770301 .vidTitle1 { font-family:Oswald !important; }
585
586*#dm *.dmBody div.u_1750804405 .calloutTitle { font-family:Oswald !important; }
587
588*#dm *.dmBody div.u_1750804405 .calloutWrapper {
589  background-color:rgba(38,135,90,1) !important;
590  border-style:solid !important;
591  border-width:0 !important;
592  border-radius:0 !important;
593  -moz-border-radius:0 !important;
594  -webkit-border-radius:0 !important;
595}
596
597</style>
598
599<style id="pagestyleDevice" type="text/css">
600    *#dm *.dmBody div.u_1367179101 {
601  padding-top:30px !important;
602  padding-bottom:30px !important;
603}
604
605*#dm *.dmBody div.u_1061659794 {
606  padding-top:2px !important;
607  padding-left:0 !important;
608  padding-bottom:2px !important;
609  float:none !important;
610  margin-right:0 !important;
611  margin-left:0 !important;
612  top:0 !important;
613  max-width:586px !important;
614  left:0 !important;
615  width:calc(100% - 0px) !important;
616  margin-top:0 !important;
617  position:relative !important;
618  margin-bottom:0 !important;
619  padding-right:0 !important;
620  min-width:25px !important;
621  text-align:left !important;
622  height:auto !important;
623}
624
625*#dm *.dmBody div.u_1902292127 {
626  padding-left:0 !important;
627  padding-right:15px !important;
628  margin-top:0 !important;
629}
630
631*#dm *.dmBody h1.u_1142175981 {
632  display:block !important;
633  float:none !important;
634  top:0 !important;
635  left:0 !important;
636  width:100% !important;
637  position:relative !important;
638  height:auto !important;
639  padding-top:2px !important;
640  padding-left:0 !important;
641  padding-bottom:2px !important;
642  margin-right:auto !important;
643  margin-left:auto !important;
644  max-width:100% !important;
645  margin-top:8px !important;
646  margin-bottom:8px !important;
647  padding-right:0 !important;
648  min-width:0 !important;
649  text-align:center !important;
650}
651
652*#dm *.dmBody h3.u_1424009564 {
653  display:block !important;
654  float:none !important;
655  top:0 !important;
656  left:0 !important;
657  width:100% !important;
658  position:relative !important;
659  height:auto !important;
660  padding-top:2px !important;
661  padding-left:0 !important;
662  padding-bottom:2px !important;
663  margin-right:auto !important;
664  margin-left:auto !important;
665  max-width:100% !important;
666  margin-top:8px !important;
667  margin-bottom:8px !important;
668  padding-right:0 !important;
669  min-width:0 !important;
670  text-align:center !important;
671}
672
673*#dm *.dmBody div.u_1371727039 {
674  padding-left:10px !important;
675  padding-right:10px !important;
676  margin-right:0 !important;
677  margin-left:0 !important;
678  padding-top:40px !important;
679  padding-bottom:40px !important;
680  margin-top:80px !important;
681  margin-bottom:80px !important;
682}
683
684*#dm *.dmBody div.u_1084781551 {
685  display:block !important;
686  float:none !important;
687  top:0 !important;
688  left:0 !important;
689  width:100% !important;
690  position:relative !important;
691  height:auto !important;
692  padding-top:2px !important;
693  padding-left:0 !important;
694  padding-bottom:2px !important;
695  max-width:100% !important;
696  padding-right:0 !important;
697  min-width:0 !important;
698}
699
700*#dm *.dmBody div.u_1021934128 *.dmWidget span.text { font-size:36px !important; }
701
702*#dm *.dmBody div.u_1021934128 *.dmWidget { width:345px !important; }
703
704*#dm *.dmBody div.u_1021934128 {
705  padding-top:0 !important;
706  margin-top:-20px !important;
707}
708
709*#dm *.dmBody h1.u_1142175981 {
710  display:block !important;
711  float:none !important;
712  top:0 !important;
713  left:0 !important;
714  width:100% !important;
715  position:relative !important;
716  height:auto !important;
717  padding-top:2px !important;
718  padding-left:0 !important;
719  padding-bottom:2px !important;
720  margin-right:auto !important;
721  margin-left:auto !important;
722  max-width:100% !important;
723  margin-top:8px !important;
724  margin-bottom:8px !important;
725  padding-right:0 !important;
726  min-width:0 !important;
727  text-align:center !important;
728}
729
730*#dm *.dmBody h3.u_1424009564 {
731  display:block !important;
732  float:none !important;
733  top:0 !important;
734  left:0 !important;
735  width:100% !important;
736  position:relative !important;
737  height:auto !important;
738  padding-top:2px !important;
739  padding-left:0 !important;
740  padding-bottom:2px !important;
741  margin-right:auto !important;
742  margin-left:auto !important;
743  max-width:100% !important;
744  margin-top:8px !important;
745  margin-bottom:8px !important;
746  padding-right:0 !important;
747  min-width:0 !important;
748  text-align:center !important;
749}
750
751*#dm *.dmBody div.u_1371727039 {
752  padding-left:10px !important;
753  padding-right:10px !important;
754  margin-right:0 !important;
755  margin-left:0 !important;
756  padding-top:40px !important;
757  padding-bottom:40px !important;
758  margin-top:80px !important;
759  margin-bottom:80px !important;
760}
761
762*#dm *.dmBody div.u_1084781551 {
763  display:block !important;
764  float:none !important;
765  top:0 !important;
766  left:0 !important;
767  width:100% !important;
768  position:relative !important;
769  height:auto !important;
770  padding-top:2px !important;
771  padding-left:0 !important;
772  padding-bottom:2px !important;
773  max-width:100% !important;
774  padding-right:0 !important;
775  min-width:0 !important;
776}
777
778*#dm *.dmBody div.u_1021934128 *.dmWidget span.text { font-size:36px !important; }
779
780*#dm *.dmBody div.u_1021934128 *.dmWidget { width:345px !important; }
781
782*#dm *.dmBody div.u_1021934128 {
783  padding-top:0 !important;
784  margin-top:-20px !important;
785}
786
787*#dm *.dmBody div.u_1718052648 {
788  background-position:50% 50% !important;
789  padding-top:30px !important;
790  padding-bottom:30px !important;
791  padding-left:10px !important;
792  padding-right:10px !important;
793  float:none !important;
794  top:0 !important;
795  left:0 !important;
796  width:auto !important;
797  position:relative !important;
798  height:auto !important;
799  max-width:100% !important;
800  min-width:0 !important;
801  text-align:center !important;
802}
803
804*#dm *.dmBody div.u_1718052648 {
805  background-position:50% 50% !important;
806  padding-top:30px !important;
807  padding-bottom:30px !important;
808  padding-left:10px !important;
809  padding-right:10px !important;
810  float:none !important;
811  top:0 !important;
812  left:0 !important;
813  width:auto !important;
814  position:relative !important;
815  height:auto !important;
816  max-width:100% !important;
817  min-width:0 !important;
818  text-align:center !important;
819}
820
821*#dm *.dmBody div.u_1794687544 {
822  padding-top:2px !important;
823  padding-left:0 !important;
824  padding-bottom:2px !important;
825  float:none !important;
826  margin-right:0 !important;
827  margin-left:0 !important;
828  top:0 !important;
829  max-width:100% !important;
830  left:0 !important;
831  width:calc(100% - 0px) !important;
832  margin-top:8px !important;
833  position:relative !important;
834  margin-bottom:8px !important;
835  padding-right:0 !important;
836  min-width:25px !important;
837  height:auto !important;
838}
839
840*#dm *.dmBody h3.u_1110240542 {
841  padding-top:2px !important;
842  padding-left:0 !important;
843  padding-bottom:2px !important;
844  float:none !important;
845  top:0 !important;
846  max-width:100% !important;
847  left:0 !important;
848  width:calc(100% - 0px) !important;
849  position:relative !important;
850  padding-right:0 !important;
851  min-width:25px !important;
852  text-align:left !important;
853  height:auto !important;
854  margin-top:28px !important;
855  margin-right:0 !important;
856  margin-left:0 !important;
857  margin-bottom:8px !important;
858}
859
860*#dm *.dmBody h3.u_1354550537 {
861  padding-top:2px !important;
862  padding-left:0 !important;
863  padding-bottom:2px !important;
864  float:none !important;
865  margin-right:0 !important;
866  margin-left:0 !important;
867  top:auto !important;
868  max-width:100% !important;
869  left:0 !important;
870  width:100% !important;
871  margin-top:-12px !important;
872  position:relative !important;
873  margin-bottom:0 !important;
874  padding-right:0 !important;
875  min-width:0 !important;
876  text-align:left !important;
877  height:auto !important;
878}
879
880*#dm *.dmBody div.u_1594107597 {
881  padding-top:0 !important;
882  padding-bottom:0 !important;
883}
884
885*#dm *.dmBody div.u_1594107597 {
886  padding-top:0 !important;
887  padding-bottom:0 !important;
888}
889
890*#dm *.dmBody div.u_1750804405 { padding-top:0 !important; }
891
892*#dm *.dmBody div.u_1750804405 .calloutTitle { font-size:25px !important; }
893
894*#dm *.dmBody *.u_1750804405 .calloutTitle { line-height:33px !important; }
895
896*#dm *.dmBody div.u_1750804405 { padding-top:0 !important; }
897
898*#dm *.dmBody div.u_1750804405 .calloutTitle { font-size:25px !important; }
899
900*#dm *.dmBody *.u_1750804405 .calloutTitle { line-height:33px !important; }
901
902*#dm *.dmBody div.u_1750804405 .calloutIcon { width:235px !important; }
903
904*#dm *.dmBody div.u_1750804405 .calloutIcon { width:235px !important; }
905
906</style>
907
908
909
910
911
912
913
914
915
916<style id="globalFontSizeStyle" type="text/css">
917    .font-size-24, .size-24, .size-24 > font { font-size: 24px !important; }.font-size-20, .size-20, .size-20 > font { font-size: 20px !important; }
918</style>
919<style id="pageFontSizeStyle" type="text/css">
920</style>
921
922
923
924
925<style id="hideAnimFix">
926  .dmDesktopBody:not(.editGrid) [data-anim-desktop]:not([data-anim-desktop='none']), .dmDesktopBody:not(.editGrid) [data-anim-extended] {
927    visibility: hidden;
928  }
929
930  .dmDesktopBody:not(.editGrid) .dmNewParagraph[data-anim-desktop]:not([data-anim-desktop='none']), .dmDesktopBody:not(.editGrid) .dmNewParagraph[data-anim-extended] {
931    visibility: hidden !important;
932  }
933
934  #dmRoot:not(.editGrid) .flex-element [data-anim-extended] {
935    visibility: hidden;
936  }
937
938</style>
939
940
941
942
943<style id="fontFallbacks">
944    @font-face {
945  font-family: "Roboto Fallback";
946  src: local('Arial');
947  ascent-override: 92.6709%;
948  descent-override: 24.3871%;
949  size-adjust: 100.1106%;
950  line-gap-override: 0%;
951 }@font-face {
952  font-family: "Lato Fallback";
953  src: local('Arial');
954  ascent-override: 101.3181%;
955  descent-override: 21.865%;
956  size-adjust: 97.4159%;
957  line-gap-override: 0%;
958 }@font-face {
959  font-family: "Lora Fallback";
960  src: local('Arial');
961  ascent-override: 95.2907%;
962  descent-override: 25.9539%;
963  size-adjust: 105.5717%;
964  line-gap-override: 0%;
965 }@font-face {
966  font-family: "Helvetica Fallback";
967  src: local('Arial');
968  ascent-override: 77.002%;
969  descent-override: 22.998%;
970  line-gap-override: 0%;
971 }@font-face {
972  font-family: "Oswald Fallback";
973  src: local('Arial');
974  ascent-override: 145.0682%;
975  descent-override: 35.1423%;
976  size-adjust: 82.2372%;
977  line-gap-override: 0%;
978 }
979</style>
980
981
982
983
984
985
986
987
988
989
990
991<meta property="og:type" content="website">
992<meta property="og:url" content="ht
992tps://www.homevaluerestoration.com/siding">
993
994  <title>
995    Siding Replacement | Installation | Denver, CO
996  </title>
997  <meta name="description" content="Get siding services, Home Value Restoration. Lifetime labor warranty. Call us today for hail damage and siding cracks repair services."/>
998
999  <style type="text/css">
1000    
1001    
1002    
1003.dmInner {
1004min-width: auto !important;
1005max-width: 100vw !important;
1006}
1007
1008  
1009  
1010  </style>
1011  <meta name="format-detection" content="telephone=no"/>
1012
1013  <meta name="twitter:card" content="summary"/>
1014  <meta name="twitter:title" content="Siding Replacement | Installation | Denver, CO"/>
1015  <meta name="twitter:description" content="Get siding services, Home Value Restoration. Lifetime labor warranty. Call us today for hail damage and siding cracks repair services."/>
1016  <meta property="og:description" content="Get siding services, Home Value Restoration. Lifetime labor warranty. Call us today for hail damage and siding cracks repair services."/>
1017  <meta property="og:title" content="Siding Replacement | Installation | Denver, CO"/>
1018
1019
1020
1021
1022<!-- SYS- VVNfSElCVV9QUk9EVUNUSU9O -->
1023</head>
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045<body id="dmRoot" data-page-alias="siding"  class="dmRoot dmDesktopBody fix-mobile-scrolling addCanvasBorder dmResellerSite dmLargeBody "
1046      style="padding:0;margin:0;"
1047      
1048    >
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065<div id="dm" class='dmwr'>
1066    
1067    <div class="dm_wrapper standard-var5 widgetStyle-3 standard">
1068         <div dmwrapped="true" id="1420998582"> <div dmtemplateid="StandardLayoutMultiD" class="standardHeaderLayout dm-bfs dm-layout-sec hasAnimations hasStickyHeader dmPageBody d-page-1368552499 inputs-css-clean dmFreeHeader" id="dm-outer-wrapper" data-page-class="1368552499" data-soch="true" data-background-parallax-selector=".dmHomeSection1, .dmSectionParallex"> <div id="dmStyle_outerContainer" class="dmOuter"> <div id="dmStyle_innerContainer" class="dmInner" data-auto="page-inner"> <div class="dmLayoutWrapper standard-var dmStandardDesktop"> <div> <div id="iscrollBody"> <div id="site_content"> <div class="dmHeaderContainer fHeader d-header-wrapper"> <div id="hcontainer" class="dmHeader p_hfcontainer u_hcontainer" freeheader="true" has-shadow="true" data-auto="header"> <div dm:templateorder="85" class="dmHeaderResp dmHeaderStack noSwitch" id="1709005236"> <div class="dmRespRow u_1867331532" id="1867331532"> <div class="dmRespColsWrapper" id="1955305792"> <div class="u_1697596152 dmRespCol small-12 large-3 medium-3" id="1697596152"> <div class="u_1903498330 widget-d1ee5d dmCustomWidget" data-lazy-load="" data-title="" id="1903498330" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" icon="false" surround="false" data-widget-id="d1ee5d5bf037471ea1770683731e577a" data-widget-version="22" data-widget-config="eyJtZXJjaGFudElkIjoiMjg4NzQiLCJ0aGVtZSI6ImxpZ2h0IiwibWluLXJldmlld3MiOiIzIiwibWluLXJhdGluZyI6IjQifQ=="> <div class="headerWidget" data-merchant="28874" data-theme="light" data-break="" data-count-limit="3" data-rating-limit="4"></div> 
1069</div> 
1070</div> 
1071 <div class="u_1155150290 dmRespCol small-12 large-6 medium-6" id="1155150290"> <div class="u_1871508161 imageWidget align-center" data-element-type="image" data-widget-type="image" id="1871508161"> <a id="1388236099" href="/" file="false"><img src="https://le-cdn.hibuwebsites.com/5748cca1dd614b15a52e6872196a47c8/dms3rep/multi/opt/456248562_122107626956467981_7954854866063123667_n-6348fe40-1920w.jpg" alt="Home Value Restoration - Logo" id="1474251907" class="" data-dm-image-path="https://cdn.hibuwebsites.com/5748cca1dd614b15a52e6872196a47c8/dms3rep/multi/456248562_122107626956467981_7954854866063123667_n-6348fe40.jpg" width="1062" height="288" onerror="handleImageLoadError(this)"/></a> 
1072</div> 
1073 <div class="dmNewParagraph u_1649755096" data-element-type="paragraph" id="1649755096" data-styletopreserve="{"background-image":""}">Same day roof replacements</div> 
1074</div> 
1075 <div class="u_1541614883 dmRespCol small-12 large-3 medium-3" id="1541614883"> <div class="u_1586746588 dmNewParagraph" data-element-type="paragraph" data-version="5" id="1586746588" style="transition: none 0s ease 0s; text-align: left; display: block;"><p class="text-align-right size-24 m-size-19"><span class="font-size-24 m-font-size-19" style="font-weight: bold; display: initial;">(303) 437-7838</span></p></div> 
1076</div> 
1077</div> 
1078</div> 
1079 <div class="dmRespRow u_1827972418" id="1827972418"> <div class="dmRespColsWrapper" id="1584211045"> <div class="dmRespCol large-12 medium-12 small-12 u_1239106891" id="1239106891"> <nav class="u_1190878319 effect-bottom main-navigation unifiednav dmLinksMenu" data-auto="links-menu" role="navigation" layout-main="horizontal_nav_layout_4" layout-sub="submenu_horizontal_1" data-show-vertical-sub-items="HOVER" data-divider="DOT" id="1190878319" dmle_extension="onelinksmenu" data-element-type="onelinksmenu" wr="true" icon="true" surround="true" adwords="" navigation-id="unifiedNav"> <ul role="menubar" class="unifiednav__container unav-top  " data-auto="navigation-pages"> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/" class="unifiednav__item unav-item unav-top-item  dmUDNavigationItem_00  " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="
1080         Home
1081        " data-auto="page-text-style">Home<span class="icon icon-angle-down"></span> 
1082</span> 
1083</a> 
1084</li> 
1085 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/roofing" class="unifiednav__item unav-item unav-top-item  dmUDNavigationItem_010101625986  " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="
1086         Roofing
1087        " data-auto="page-text-style">Roofing<span class="icon icon-angle-down"></span> 
1088</span> 
1089</a> 
1090</li> 
1091 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/siding" class="unifiednav__item unav-item unav-top-item  dmNavItemSelected  dmUDNavigationItem_010101754179  " target="" data-target-page-alias="" aria-current="page" data-auto="selected-page"> <span class="nav-item-text " data-link-text="
1092         Siding
1093        " data-auto="page-text-style">Siding<span class="icon icon-angle-down"></span> 
1094</span> 
1095</a> 
1096</li> 
1097 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/windows" class="unifiednav__item unav-item unav-top-item  dmUDNavigationItem_01010137116  " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="
1098         Windows
1099        " data-auto="page-text-style">Windows<span class="icon icon-angle-down"></span> 
1100</span> 
1101</a> 
1102</li> 
1103 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/gutters" class="unifiednav__item unav-item unav-top-item  dmUDNavigationItem_010101471079  " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="
1104         Gutters
1105        " data-auto="page-text-style">Gutters<span class="icon icon-angle-down"></span> 
1106</span> 
1107</a> 
1108</li> 
1109 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/reviews" class="unifiednav__item unav-item unav-top-item  dmUDNavigationItem_010101497480  " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="
1110         Reviews
1111        " data-auto="page-text-style">Reviews<span class="icon icon-angle-down"></span> 
1112</span> 
1113</a> 
1114</li> 
1115 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/about" class="unifiednav__item unav-item unav-top-item  dmUDNavigationItem_010101661768  " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="
1116         About
1117        " data-auto="page-text-style">About<span class="icon icon-angle-down"></span> 
1118</span> 
1119</a> 
1120</li> 
1121 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/photo-gallery" class="unifiednav__item unav-item unav-top-item  dmUDNavigationItem_010101125300  " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="
1122         Gallery
1123        " data-auto="page-text-style">Gallery<span class="icon icon-angle-down"></span> 
1124</span> 
1125</a> 
1126</li> 
1127 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/denver" class="unifiednav__item unav-item unav-top-item  dmUDNavigationItem_010101875839  " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="
1128         Denver, CO
1129        " data-auto="page-text-style">Denver, CO<span class="icon icon-angle-down"></span> 
1130</span> 
1131</a> 
1132</li> 
1133</ul> 
1134</nav> 
1135</div> 
1136</div> 
1137</div> 
1138</div> 
1139</div> 
1140</div> 
1141 <div class="stickyHeaderSpacer" id="stickyHeaderSpacer" data-auto="sticky-header-spacer" data-new="true"></div> 
1142 <div class="dmRespRow dmRespRowStable dmRespRowNoPadding dmPageTitleRow "> <div class="dmRespColsWrapper">
1142 <div class="large-12 dmRespCol"> <div id="innerBar" class="innerBar lineInnerBar dmDisplay_None"> <div class="titleLine display_None"><hr/></div> 
1143<!-- Page title is hidden in css for new responsive sites. It is left here only so we don't break old sites. Don't copy it to new layouts --> <div id="pageTitleText"> <div class="innerPageTitle">Siding</div> 
1144</div> 
1145 <div class="titleLine display_None"><hr/></div> 
1146</div> 
1147</div> 
1148</div> 
1149</div> 
1150 <div dmwrapped="true" id="dmFirstContainer" class="dmBody u_dmStyle_template_siding"> <div id="allWrapper" class="allWrapper" data-auto="all-wrapper"> <div id="dm_content" class="dmContent" role="main"> <div dm:templateorder="1" class="dmDefaultRespTmpl" id="1368552499"> <div class="innerPageTmplBox dmDefaultPage  dmRespRowsWrapper" id="1948461853"> <div class="u_1718052648 dmRespRow hasBackgroundOverlay" style="text-align: center;" id="1718052648"> <div class="dmRespColsWrapper" id="1259875356"> <div class="dmRespCol small-12 medium-12 large-12 u_1371727039" id="1371727039"> <h1 class="u_1142175981 dmNewParagraph" data-element-type="paragraph" id="1142175981" style="transition: opacity 1s ease-in-out;"><font color="#ffffff">Siding Installation and Replacement</font></h1> <div class="u_1084781551 dmNewParagraph hide-for-small text-align-center" data-element-type="paragraph" id="1084781551" style="transition: opacity 1s ease-in-out; text-align: center;" aria-level="2" role="heading" data-version="5"> <h3 class="text-align-center size-20"><span class="font-size-20" style="color: rgb(255, 255, 255); font-weight: 400; display: initial;">Lifetime Labor Warranty | 23+ Years in Business | Free Estimates</span></h3> 
1151</div> <h3 class="u_1424009564 dmNewParagraph hide-for-medium hide-for-large" data-element-type="paragraph" id="1424009564" style="text-align: center; transition: opacity 1s ease-in-out;"><font color="#ffffff">Lifetime Labor Warranty</font> 
1152 <div><font color="#ffffff">21+ Years in Business</font></div> 
1153 <div><font color="#ffffff">Free Estimates</font></div> 
1154</h3> <div class="u_1021934128 widget-7b6cfb hide-for-small dmCustomWidget" data-lazy-load="" data-title="" id="1021934128" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" icon="false" surround="false" data-widget-id="7b6cfbac88324cffbaaf57354cd7a334" data-widget-version="227" data-widget-config="eyJnZXREaXJlY3Rpb25zVGV4dCI6IkdldCBEaXJlY3Rpb25zIiwiZ3JvdXBZZWFyRXN0YWJsaXNoZWQiOm51bGwsImgzRW1haWxUZXh0IjoiIiwidG9nZ2xlSDNBc3NvY2lhdGlvbnMiOm51bGwsImdyb3VwQml6TmFtZURlc2lnbiI6bnVsbCwidG9nZ2xlSDNTZXJ2aWNlcyI6bnVsbCwidHlwZSI6InBob25lIiwiYm9sZExvY2F0aW9uTmFtZSI6bnVsbCwiY29sb3JQaWNrZXIxIjpudWxsLCJoM1BheW1lbnRzVGV4dCI6bnVsbCwiZ3JvdXBHb29nbGVBdHRyaWJ1dGVzIjpudWxsLCJwYXltZW50R3JvdXAiOm51bGwsInRvZ2dsZUgzU3BlY2lhbHRpZXMiOm51bGwsInNlcnZpY2VBcmVhR3JvdXAiOm51bGwsInN0YXRlIjp0cnVlLCJncm91cFNvY2lhbEljb25zIjpudWxsLCJ0b2dnbGVIM1NlcnZpY2VBcmVhIjpudWxsLCJzb2NpYWxHcm91cCI6bnVsbCwiemlwIjp0cnVlLCJwaG9uZUxpc3RTdHlsZXMiOm51bGwsImNhcmRTdHlsZURhcmtPckxpZ2h0IjoiX2Quc3ZnIiwiaDNZZWFySGVhZFRleHQiOiIiLCJwYXltZW50T3B0aW9uc0J1bGxldCI6ImJ1bGxldCIsIi5hZGRyZXNzSGVhZGVyIjpudWxsLCJ0b2dnbGVIM2ZlYXRNZXNzYWdlIjpudWxsLCJicmFuZHNHcm91cCI6bnVsbCwicHJvZHVjdHNHcm91cCI6bnVsbCwiaDNLZXl3b3Jkc1RleHQiOm51bGwsInNjcmlwdCI6IiIsImdyb3VwS2V5d29yZHNEZXNpZ24iOm51bGwsImdyb3VwQXR0cmlidXRlcyI6bnVsbCwic29jaWFsSWNvbnNBbGlnbm1lbnQiOiJsZWZ0IiwibGFuZ3VhZ2VzQnVsbGV0IjoiYnVsbGV0IiwiZ3JvdXBFbWFpbERlc2lnbiI6bnVsbCwiaDNIb2xpZGF5SG91cnMiOiJIb2xpZGF5IEhvdXJzIiwic2hvd1BheW1lbnRzQXMiOm51bGwsInNlcnZpY2VzR3JvdXAiOm51bGwsImJvbGRTdGF0dXNUZXh0Ijp0cnVlLCJoM1NvY2lhbFRleHQiOm51bGwsImxvZ29Hcm91cCI6bnVsbCwiZ3JvdXBQaG9uZURlc2lnbiI6bnVsbCwicGhvbmVHcm91cCI6bnVsbCwiY2l0eSI6dHJ1ZSwiZ3JvdXBCaXpEZXNEZXNpZ24iOm51bGwsImgzaG91cnNUZXh0IjoiIiwiaDNTZXJ2aWNlQXJlYVRleHQiOm51bGwsImlzTGlzdCI6dHJ1ZSwiYm9sZEhvdXJzIjp0cnVlLCJ0b2dnbGVIM2hvdXJzIjpudWxsLCJncm91cEFkZGl0aW9uYWxIb3Vyc1RleHQiOm51bGwsImRlc2NyaXB0aW9uVGV4dEdyb3VwIjpudWxsLCJicmFuZHNCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM2hvbGlkYXlIb3VycyI6dHJ1ZSwiYXNzb2NpYXRpb25zQnVsbGV0IjoiYnVsbGV0IiwibG9jYXRpb25Hcm91cCI6bnVsbCwidG9nZ2xlSDNHb29nbGVBdHRyaWJ1dGVzIjp0cnVlLCJ0b2dnbGVIM2Rlc2NyaXB0aW9uIjpudWxsLCJob2xpZGF5SG91cnNCdWxsZXQiOiJidWxsZXRzIiwidG9nZ2xlSDNMYW5ndWFnZXMiOm51bGwsInBob25lVHlwZSI6InBob25lIiwibG9jYXRpb25OYW1lIjp0cnVlLCJ0b2dnbGVIM1BheW1lbnRzIjpudWxsLCJzZXJ2aWNlQXJlYUJ1bGxldCI6ImJ1bGxldCIsInRvZ2dsZUgzUHJvZHVjdHMiOm51bGwsImdyb3VwQWRkcmVzc0Rlc2lnbiI6bnVsbCwiUGhvbmUgSGVhZGVyIEdyb3VwIjpudWxsLCJ0b2dnbGVIM1NvY2lhbCI6bnVsbCwic2hvd1NlcnZpY2VBcmVhRmlyc3QiOm51bGwsImFkZGl0aW9uYWxIb3Vyc1RleHQiOm51bGwsImgzU3BlY2lhbHRpZXNUZXh0IjoiIiwidG9nZ2xlSDNZZWFyIjpudWxsLCJzcGVjaWFsdGllc0dyb3VwIjpudWxsLCJkcmF3TWFwIjpudWxsLCJpbnN0cnVjdGlvbnMiOm51bGwsImdyb3VwUHJvZHVjdHNEZXNpZ24iOm51bGwsImdyb3VwU2VydmljZUFyZWFEZXNpZ24iOm51bGwsImgzQWRkcmVzc1RleHQiOiIiLCJncm91cFNlcnZpY2VzRGVzaWduIjpudWxsLCJ0b2dnbGVIM1Bob25lTGlzdCI6bnVsbCwiZ3JvdXBGZWF0dXJlZE1lc3NhZ2VEZXNpZ24iOm51bGwsImgzU2VydmljZXNUZXh0IjpudWxsLCJoM1Bob25lVG
1154V4dCI6IiIsImgzQXNzb2NpYXRpb25zVGV4dCI6IiIsInBheW1lbnRUZXh0R3JvdXAiOm51bGwsImgzRGVzY3JpcHRpb25UZXh0IjpudWxsLCJzaG93R2V0RGlyZWN0aW9uc0xpbmsiOm51bGwsImdyb3VwUGF5bWVudERlaXNnbiI6bnVsbCwiaDNHb29nbGVBdHRyaWJ1dGVzIjoiQnVzaW5lc3MgQXR0cmlidXRlcyIsInRvZ2dsZUgzQWRkcmVzcyI6bnVsbCwic2hvd0VtYWlsQXNCdG4iOm51bGwsImFzc29jaWF0aW9uc0dyb3VwIjpudWxsLCJoM1Byb2R1Y3RzVGV4dCI6IiIsImZvcm1hdFBob25lIjp0cnVlLCJncm91cExhbmd1YWdlc0Rlc2lnbiI6bnVsbCwidG9nZ2xlSDNLZXl3b3JkcyI6bnVsbCwia2V5d29yZHNHcm91cCI6bnVsbCwiYWx0IjpudWxsLCJoaWRlSG91cnNMaXN0IjpmYWxzZSwiZ3JvdXBIb2xpZGF5SG91cnNEZXNpZ24iOm51bGwsInBob25lU2hvd0FzIjoiYnV0dG9uIiwiZ29vZ2xlQXR0cmlidXRlc0Zvcm1hdHRlZExpc3RCdWxsZXQiOiJidWxsZXRzIiwibWFwWm9vbSI6IjEzIiwiaG9saWRheUhvdXJzIjpudWxsLCJncm91cEhvdXJzRGVzaWduIjpudWxsLCJoM0xhbmd1YWdlc1RleHQiOm51bGwsImhvdXJzU2hvd0FzIjoibGlzdCIsImVtYWlsVGV4dEdyb3VwIjpudWxsLCJwaG9uZUxpc3RTdHlsZSI6Im5vLWxpc3QiLCJ0b2dnbGUxIjpudWxsLCJoM0JyYW5kVGV4dCI6IiIsImxpbmsiOm51bGwsImdyb3VwUGF5bWVudENhcmREZXNpZ24iOm51bGwsImdyb3VwU3BlY2lhbHRpZXNEZXNpZ24iOm51bGwsInllYXJFc3RhYmlsaXNoZWRHcm91cCI6bnVsbCwicGhvbmVUZXh0U3R5bGVzIjpudWxsLCJncm91cEFzc29jaWF0aW9uc0Rlc2lnbiI6bnVsbCwic3BlY2lhbHRpZXNCdWxsZXQiOiJidWxsZXQiLCJoM0ZlYXRNZXNzYWdlVGV4dCI6bnVsbCwidG9nZ2xlSDNCcmFuZHMiOm51bGwsImFkZHJlc3MyIjp0cnVlLCJhZGRyZXNzMSI6dHJ1ZSwiY2FyZEFsaWdubWVudCI6InBpY29ucy1jZW50ZXIiLCJncm91cExvZ29EZXNpZ24iOm51bGwsImdyb3VwT3BlbkhvdXJzRGVzaWduIjpudWxsLCJmZWF0TWVzc2FnZUdyb3VwIjpudWxsLCJrZXl3b3Jkc0J1bGxldCI6ImJ1bGxldCIsInRvZ2dsZUgzRW1haWwiOm51bGwsInNlcnZpY2VzQnVsbGV0IjpudWxsLCJncm91cEJyYW5kc0Rlc2lnbiI6bnVsbCwicHJvZHVjdHNCdWxsZXQiOiJidWxsZXQiLCJsYW5ndWFnZXNHcm91cCI6bnVsbCwiaG91cnNHcm91cCI6bnVsbH0="> <a onclick=";return dm_gaq_push_event('ClickToCall', 'Call',null, dmAPI.getSiteName(), this);" data-yext-field="phone" class="dmButtonLink dmWidget dmWwr yextButton"> <span class="text"></span> 
1155</a> 
1156 <div class="editorOnlyInfo" data-nosnippet="">This is a placeholder for the Yext Knolwedge Tags. This message will not appear on the live site, but only within the editor. The Yext Knowledge Tags are successfully installed and will be added to the website.</div> 
1157 <div class="wrongScriptError" data-nosnippet=""><!--The Yext script you entered is empty or incorrect: .<br/>--><!--It should look like:<br/>--><!-- <pre>--><!--    <code>--><!--&lt;script async defer src="https://knowledgetags.yextpages.net/embed?key=KEY&account_id=ACCOUNT_ID&location_id=LOCATIONS_ID" type="text/javascript"&gt;&lt;/script&gt;--><!--    </code>--><!--</pre>--></div> 
1158<!-- Load Yext Script into page source so schema validates with Structured Data testing tool --></div> 
1159</div> 
1160</div> 
1161</div> 
1162 <div class="u_1367179101 dmRespRow dmTopContentRow" id="1367179101"> <div class="dmRespColsWrapper" id="1943285635"> <div class="u_1902292127 small-12 dmRespCol dmAboutTopFirstSection large-8 medium-8" id="1902292127"> <span id="1862896540"></span> 
1163 <h3 class="u_1354550537 dmNewParagraph" id="1354550537" data-element-type="paragraph">Expert Siding Replacement</h3> <div class="u_1794687544 dmNewParagraph" id="1794687544" data-version="5"><p class="text-align-left"><span style="display: initial;">Protect your home against moisture and other elements that can cause serious damage with superior siding. If your siding has been damaged due to a storm, delaying repairs or replacement can cost you thousands of dollars. It is essential to replace damaged siding to prevent the growth of mildew, mold, and rot that can jeopardize the structural integrity of your property.</span></p><p class="text-align-left"><span style="display: initial;"><br/></span></p><p class="text-align-left"><span style="display: initial;"><span style="display: initial;">Look to the expert team at Home Value Restoration for quality siding installation and repair. With over 23 years in business, we'll make sure your home has the protection it needs.</span> 
1164</span><span style="display: initial; background-color: rgba(0, 0, 0, 0);">&nbsp;</span><a href="/contact" style="display: initial; background-color: rgba(0, 0, 0, 0);">Call us</a><span style="display: initial;" single-space="true"> <span style="display: initial;"></span> 
1165</span><span style="display: initial; background-color: rgba(0, 0, 0, 0);">today for a FREE estimate.</span></p></div> <h3 class="u_1110240542 dmNewParagraph" id="1110240542" data-element-type="paragraph">When to Get a New Exterior Siding?</h3> <div class="u_1061659794 dmNewParagraph" id="1061659794" style="display: block;">Replace your siding if you notice any one of the following signs: <div> <ul class="innerList defaultList"><li><span style="background-color: rgba(0, 0, 0, 0); line-height: normal;">Bulging or warped panels</span></li><li>Wildlife damage (from birds and other animals)</li><li>Frequent need of paint</li><li>Extreme color fading</li><li>Hail damage</li><li>
1165Rot</li><li>Cracks</li><li>Gaps</li></ul> 
1166</div> 
1167</div></div> 
1168 <div class="u_1324634515 dmRespCol small-12 large-4 medium-4" id="1324634515"> <div class="u_1750804405 widget-097a68 dmCustomWidget" data-lazy-load="" data-title="" id="1750804405" dmle_extension="custom_extension" data-element-type="custom_extension" data-anim-desktop="none" icon="false" surround="false" data-widget-id="097a688929d34de186104d930d227ac6" data-widget-version="26" data-widget-config="eyJjYWxsb3V0SWNvbiI6IjxzdmcgdmVyc2lvbj1cIjEuMVwiIGlkPVwiTGF5ZXJfMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB4PVwiMHB4XCIgeT1cIjBweFwiIHdpZHRoPVwiMTAwcHhcIiBoZWlnaHQ9XCIxMDBweFwiIHZpZXdCb3g9XCIwIDAgMTAwIDEwMFwiIGVuYWJsZS1iYWNrZ3JvdW5kPVwibmV3IDAgMCAxMDAgMTAwXCIgeG1sOnNwYWNlPVwicHJlc2VydmVcIj5cbjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk01OC4zMzEsODcuNTE0YzAtNy43MjMsMC0xNS40MDQsMC0yMy4xNDVjLTQuODk4LDAtOS43MzgsMC0xNC42NTcsMCYjMTA7JiM5O2MwLDcuNjgzLDAsMTUuMzg0LDAsMjMuMTc0Yy0wLjM0NCwwLTAuNjEsMC0wLjg3NiwwYy03LjcxNSwwLTE1LjQzMSwwLTIzLjE0NiwwYy0xLjc1LDAtMi41NjEtMC44MDQtMi41NjEtMi41NTQmIzEwOyYjOTtjLTAuMDAyLTEzLjExOC0wLjAwMS0yNi4yMzctMC4wMDEtMzkuMzU1YzAtMC4yOTYsMC0wLjU5MiwwLTEuMDIxYy0wLjQyLDAtMC43OTYsMC0xLjE3MSwwYy0xLjAzLDAtMi4wNjEsMC4wMDctMy4wOTEtMC4wMDMmIzEwOyYjOTtjLTEuMTI0LTAuMDEtMS44NDItMC41MDktMi4xNDUtMS40NjZjLTAuMzctMS4xNjktMC4xMjUtMi4wNSwwLjg0NS0yLjcxOGMzLjY3Mi0yLjUzMiw3LjM1Ni01LjA0NiwxMS4wMzctNy41NjQmIzEwOyYjOTtjOC41MTUtNS44MjQsMTcuMDI5LTExLjY0NiwyNS41NDUtMTcuNDY3YzEuODIzLTEuMjQ2LDMuNzUtMS4yNSw1LjU2Mi0wLjAxMmMxMi4xNDEsOC4zMDEsMjQuMjc5LDE2LjYwNCwzNi40MTgsMjQuOTA4JiMxMDsmIzk7YzEuMTkzLDAuODE1LDEuNTQ5LDIuMTEzLDAuOSwzLjI3M2MtMC40MDgsMC43MjgtMS4wNDUsMS4wNTItMS44NzEsMS4wNWMtMC45NjEtMC4wMDEtMS45MjIsMC4wMTQtMi44ODMsMC4wMjUmIzEwOyYjOTtjLTAuMDQxLDAtMC4wODIsMC4wNC0wLjE4MiwwLjA5NGMwLDAuMjYyLDAsMC41NTYsMCwwLjg1MWMwLDEzLjA5NiwwLDI2LjE5MS0wLjAwMiwzOS4yODZjMCwxLjQ0OS0wLjUzMSwyLjI4MS0xLjY1OCwyLjU4OSYjMTA7JiM5O2MtMC4xOTUsMC4wNTQtMC40MDQsMC4wODEtMC42MDcsMC4wODFjLTguMzM0LDAuMDAzLTE2LjY2OCwwLjAwMy0yNSwwLjAwMkM1OC42NTMsODcuNTQyLDU4LjUyMiw4Ny41MjYsNTguMzMxLDg3LjUxNHomIzEwOyYjOTsgTTUxLjU5OSw2MS40MDVjOS42MzUsMCwxOS4yNywwLDI4LjkwNiwwYzAuMjI5LDAsMC40NTksMC4wMDgsMC42ODYtMC4wMDZjMC44NjEtMC4wNTQsMS40NDctMC42MDYsMS40NDMtMS4zNSYjMTA7JiM5O2MtMC4wMDgtMC43MzctMC42MTctMS4zLTEuNDU3LTEuMzM5Yy0wLjEzNy0wLjAwNy0wLjI3NS0wLjAwMi0wLjQxMi0wLjAwMmMtMTkuMzg1LDAtMzguNzcxLDAtNTguMTU2LDAuMDAyJiMxMDsmIzk7Yy0wLjI3MywwLTAuNTU0LTAuMDAxLTAuODE2LDAuMDYyYy0wLjY2MiwwLjE1OS0xLjA0OSwwLjctMS4wMTUsMS4zNjFjMC4wMzIsMC42MzUsMC40MzYsMS4xMDMsMS4wOTUsMS4yMTkmIzEwOyYjOTtjMC4yOSwwLjA1MiwwLjU5MiwwLjA1LDAuODg4LDAuMDVDMzIuMzcyLDYxLjQwNSw0MS45ODUsNjEuNDA1LDUxLjU5OSw2MS40MDV6IE01MS42OTgsNTAuNTg3YzkuNjM3LDAsMTkuMjcxLDAuMDAxLDI4LjkwNiwwJiMxMDsmIzk7YzAuMjUyLDAsMC41MDYsMC4wMTUsMC43NTYtMC4wMTJjMC43MTMtMC4wNzgsMS4yNTItMC42NDIsMS4yNzMtMS4zMDdjMC4wMTgtMC42NjgtMC40OS0xLjI0NC0xLjIxNy0xLjM0NyYjMTA7JiM5O2MtMC4yNDgtMC4wMzUtMC41MDItMC4wMjgtMC43NTItMC4wMjhjLTE5LjMxOC0wLjAwMS0zOC42MzUtMC4wMDEtNTcuOTUxLDBjLTAuMjI5LDAtMC40Ni0wLjAwOS0wLjY4NiwwLjAxOSYjMTA7JiM5O2MtMC43OTIsMC4wOTYtMS4yNzMsMC42MjctMS4yNTMsMS4zNjVjMC4wMjEsMC43MjIsMC41NDYsMS4yNDQsMS4zMzEsMS4zMDRjMC4yMjgsMC4wMTksMC40NTgsMC4wMDYsMC42ODcsMC4wMDYmIzEwOyYjOTtDMzIuNDI3LDUwLjU4OCw0Mi4wNjMsNTAuNTg3LDUxLjY5OCw1MC41ODd6IE01MS43NDksNTMuMzI3Yy05LjY4LDAtMTkuMzYxLDAtMjkuMDQyLDBjLTAuMjI5LDAtMC40NTgtMC4wMDktMC42ODcsMC4wMDcmIzEwOyYjOTtjLTAuNzIsMC4wNS0xLjIzNiwwLjU5My0xLjI0NywxLjI5NGMtMC4wMSwwLjczMiwwLjUyLDEuMjkyLDEuMjc2LDEuMzM2YzAuMjI4LDAuMDE0LDAuNDU4LDAuMDA1LDAuNjg3LDAuMDA1JiMxMDsmIzk7YzE5LjI5MywwLjAwMSwzOC41ODYsMC4wMDEsNTcuODc5LDBjMC4yMDUsMCwwLjQxMiwwLjAwNSwwLjYxNy0wLjAwMmMwLjgxNC0wLjAyNywxLjM4NS0wLjU2MSwxLjM5OC0xLjMmIzEwOyYjOTtjMC4wMTQtMC43Ni0wLjU3Ni0xLjMxNC0xLjQyOC0xLjMzOGMtMC4yMDctMC4wMDctMC40MTItMC4wMDItMC42MTctMC4wMDJDNzAuOTc0LDUzLjMyNyw2MS4zNjIsNTMuMzI3LDUxLjc0OSw1My4zMjd6JiMxMDsmIzk7IE01MS40NTQsNDUuMTQzYzkuNTY2LDAsMTkuMTMzLDAsMjguNjk5LDBjMC4yMywwLDAuNDU5LDAuMDA4LDAuNjg4LTAuMDA4YzAuNzAxLTAuMDQ5LDEuMjE1LTAuNTQ1LDEuMjYyLTEuMjA4JiMxMDsmIzk7YzAuMDUxLTAuNjg5LTAuNDI4LTEuMzAzLTEuMTI1LTEuNDE5Yy0wLjIwMS0wLjAzMy0wLjQxMi0wLjAxOS0wLjYxNy0wLjAxOWMtMTkuMjkzLTAuMDAxLTM4LjU4Ni0wLjAwMS01Ny44OCwwJiMxMDsmIzk7Yy0wLjIwNiwwLTAuNDE3LTAuMDEzLTAuNjE2LDAuMDI0Yy0wLjY2MywwLjEyMi0xLjExOCwwLjcxMi0xLjA4NiwxLjM4YzAuMDMzLDAuNjkyLDAuNTExLDEuMTgzLDEuMjIyLDEuMjM5JiMxMDsmIzk7YzAuMjUsMC4wMiwwLjUwMywwLjAxLDAuNzU1LDAuMDFDMzIuMzIxLDQ1LjE0Myw0MS44ODgsNDUuMTQzLDUxLjQ1NCw0NS4xNDN6IE01MS43NDcsMzcuMTAyYy04Ljc4OSwwLTE3LjU3OCwwLTI2LjM2NiwwJiMxMDsmIzk7Yy0wLjI1MSwwLTAuNTA0LTAuMDA5LTAuNzU1LDAuMDExYy0wLjcyNCwwLjA1OC0xLjIxMiwwLjYtMS4yMDYsMS4zMjFjMC4wMDgsMC44NDksMC41ODUsMS4zMTQsMS42NDQsMS4zMTQmIzEwOyYjOTtjMTcuNzE1LDAsMzUuNDI5LDAsNTMuMTQ0LDBjMC4xNiwwLDAuMzIyLDAuMDA5LDAuNDgtMC4wMDdjMC43MTEtMC4wNzMsMS4yMjMtMC42MzgsMS4yMTctMS4zMzVzLTAuNTIzLTEuMjQzLTEuMjQ0LTEuMjk2JiMxMDsmIzk7Yy0wLjIyOS0wLjAxNy0wLjQ1Ny0wLjAwOC0wLjY4OC0wLjAwOEM2OS4yMzMsMzcuMTAyLDYwLjQ4OSwzNy4xMDIsNTEuNzQ3LDM3LjEwMnogTTUwLjU0NiwzNC41MDFjNi43MDUsMCwxMy40MSwwLDIwLjExNywwJiMxMDsmIzk7YzEuMjUsMCwxLjkyNC0wLjQ3NywxLjkxOC0xLjM1NmMtMC4wMDQtMC44NzktMC42NjgtMS4zMzktMS45MzQtMS4zMzljLTEzLjQxLDAtMjYuODIyLDAtNDAuMjMyLDBjLTAuMjI5LDAtMC40Ni0wLjAxMy0wLjY4NiwwLjAxMyYjMTA7JiM5O2MtMC43NTQsMC4wODgtMS4yMzIsMC41OTktMS4yNDQsMS4zMDdjLTAuMDExLDAuNzQxLDAuNDc1LDEuMjc1LDEuMjU4LDEuMzY0YzAuMjI3LDAuMDI1LDAuNDU4LDAuMDExLDAuNjg3LDAuMDExJiMxMDsmIzk7QzM3LjEzNSwzNC41MDEsNDMuODQxLDM0LjUwMSw1MC41NDYsMzQuNTAxeiBNNTAuMzYyLDI5LjIwN2MyLjQwMiwwLDQuODA3LDAsNy4yMDksMGMxLjk0MywwLDMuODg5LDAuMDA5LDUuODM0LTAuMDA3JiMxMDsmIzk7YzAuODI4LTAuMDA3LDEuMzc5LTAuNTQ3LDEuMzkxLTEuMjkyYzAuMDEtMC43Nz
1168ctMC41NTUtMS4zMjItMS40MTItMS4zNTZjLTAuMTM3LTAuMDA1LTAuMjc1LTAuMDAyLTAuNDEyLTAuMDAyJiMxMDsmIzk7Yy04LjM1MiwwLTE2LjcwNCwwLTI1LjA1NiwwLjAwMWMtMC4yMDYsMC0wLjQxNC0wLjAxMi0wLjYxNywwLjAxYy0wLjcxMiwwLjA3OC0xLjIyNywwLjY0Ny0xLjIyMiwxLjMzNSYjMTA7JiM5O2MwLjAwNCwwLjY5MiwwLjUyMiwxLjIzOSwxLjI0NCwxLjI5OWMwLjIyNywwLjAxOSwwLjQ1NywwLjAxMSwwLjY4NiwwLjAxMUM0Mi4xMjUsMjkuMjA3LDQ2LjI0NCwyOS4yMDcsNTAuMzYyLDI5LjIwN3omIzEwOyYjOTsgTTcxLjUyNiw4MS4yMzJjLTMuMDQzLDAtNi4wODYsMC05LjEyOSwwYy0xLjI1NiwwLjAwMi0xLjg1NCwwLjQyMS0xLjg3MSwxLjMxMmMtMC4wMiwwLjkyLDAuNTk0LDEuMzcyLDEuODc3LDEuMzczJiMxMDsmIzk7YzYuMDY0LDAuMDAxLDEyLjEyOSwwLjAwMSwxOC4xOTMtMC4wMDFjMC4yNzMtMC4wMDEsMC41NTMtMC4wMDQsMC44Mi0wLjA1YzAuNjQ1LTAuMTEsMS4wMTQtMC41MzEsMS4wODItMS4xNTgmIzEwOyYjOTtjMC4wNjgtMC42MzctMC4yMy0xLjExOS0wLjgzMi0xLjM0OGMtMC4yNjgtMC4xMDItMC41OC0wLjEyMS0wLjg3My0wLjEyMkM3Ny43MDYsODEuMjMsNzQuNjE2LDgxLjIzMiw3MS41MjYsODEuMjMyeiYjMTA7JiM5OyBNNzEuNTM4LDY2LjgwOGMyLjQ5NCwwLDQuOTg4LDAsNy40ODQsMGMwLjc3Ny0wLjAwMSwxLjU1OSwwLjAyNCwyLjMzNC0wLjAxMmMwLjczOC0wLjAzNiwxLjI5Ny0wLjY2OSwxLjI3NS0xLjM2MiYjMTA7JiM5O2MtMC4wMjEtMC42OS0wLjU1MS0xLjIyLTEuMjc5LTEuMjczYy0wLjE2LTAuMDExLTAuMzItMC4wMDYtMC40OC0wLjAwNmMtNi4y
1168MDMsMC0xMi40MDgsMC0xOC42MTEsMC4wMDEmIzEwOyYjOTtjLTAuMjA1LDAtMC40MTItMC4wMDYtMC42MTcsMC4wMmMtMC42MTUsMC4wNzgtMS4wNzgsMC41ODEtMS4xMTcsMS4xOThjLTAuMDU3LDAuODYyLDAuNTQxLDEuNDMxLDEuNTM1LDEuNDMzJiMxMDsmIzk7QzY1LjIyLDY2LjgxMiw2OC4zNzgsNjYuODA4LDcxLjUzOCw2Ni44MDh6IE03MS41NjUsNzIuNDk0YzEuMTY4LDAsMi4zMzYsMC4wMDEsMy41MDIsMGMyLjA2MSwwLDQuMTIxLDAuMDEzLDYuMTgtMC4wMDkmIzEwOyYjOTtjMC44MTgtMC4wMDgsMS4zODUtMC41ODIsMS4zODUtMS4zMTJjMC0wLjcyMi0wLjU4OC0xLjI5Ni0xLjM3Ny0xLjM0MWMtMC4xMzctMC4wMDgtMC4yNzUtMC4wMDItMC40MTItMC4wMDImIzEwOyYjOTtjLTYuMTgyLDAtMTIuMzU5LDAtMTguNTQxLDBjLTAuMjA1LDAtMC40NjMtMC4wNjktMC42MDcsMC4wMjdjLTAuMzk2LDAuMjYyLTAuOTE4LDAuNTMxLTEuMDY0LDAuOTImIzEwOyYjOTtjLTAuMTMzLDAuMzU1LDAuMDM1LDAuOTgsMC4zMDMsMS4yODFjMC4yNTIsMC4yODUsMC44MDUsMC40MTIsMS4yMjcsMC40MTdDNjUuMjk0LDcyLjUxLDY4LjQzMSw3Mi40OTQsNzEuNTY1LDcyLjQ5NHomIzEwOyYjOTsgTTcxLjQ1Miw3NS41NTZjLTEuNTMzLDAtMy4wNjYsMC00LjYsMC4wMDFjLTEuNjQ4LDAtMy4yOTUtMC4wMTUtNC45NDMsMC4wMDdjLTAuOTgyLDAuMDEzLTEuNjA1LDAuODMtMS4zNCwxLjY5OCYjMTA7JiM5O2MwLjE4OCwwLjYxNiwwLjY5NywwLjk0OSwxLjUsMC45NWMzLjIyNywwLjAwNCw2LjQ1MywwLjAwMiw5LjY4LDAuMDAyYzMuMDY0LDAsNi4xMzEtMC4wMDUsOS4xOTcsMC4wMDMmIzEwOyYjOTtjMC41NjQsMC4wMDIsMS4xMTMtMC4xMTEsMS4zMzItMC42NDZjMC4xNTQtMC4zODIsMC4xODQtMC44OTcsMC4wNjEtMS4yODdjLTAuMTc0LTAuNTQ4LTAuNjk3LTAuNzMtMS4yNzUtMC43MjkmIzEwOyYjOTtDNzcuODYsNzUuNTYsNzQuNjU1LDc1LjU1Nyw3MS40NTIsNzUuNTU2eiBNMzAuODU1LDgxLjIzMmMtMS4yMzUsMC0yLjQ2OSwwLTMuNzA1LDBjLTEuNjY5LDAuMDAyLTMuMzM4LTAuMDEzLTUuMDA3LDAuMDEmIzEwOyYjOTtjLTAuODE3LDAuMDExLTEuMzYzLDAuNTc0LTEuMzY5LDEuMzI0Yy0wLjAwNSwwLjc0MSwwLjQ4LDEuMjUzLDEuMjgsMS4zMzNjMC4yNSwwLjAyNCwwLjUwMywwLjAxOCwwLjc1NCwwLjAxOCYjMTA7JiM5O2M0Ljk4NCwwLDkuOTY5LDAuMDAxLDE0Ljk1MywwYzAuNTk0LDAsMS4xODksMC4wMDIsMS43ODMtMC4wMTNjMC41NDYtMC4wMTUsMC45NjUtMC4yNiwxLjIxLTAuNzU5JiMxMDsmIzk7YzAuNDU5LTAuOTM4LTAuMjM2LTEuOTAzLTEuMzk1LTEuOTA4QzM2LjUyNSw4MS4yMjcsMzMuNjg5LDgxLjIzNCwzMC44NTUsODEuMjMyeiBNMzAuODMyLDY0LjE1NGMtMi44NTgsMC01LjcxNi0wLjAwNS04LjU3NCwwLjAwMyYjMTA7JiM5O2MtMC45NjIsMC4wMDItMS41MjcsMC41NS0xLjQ4LDEuMzk2YzAuMDQzLDAuNzgzLDAuNjI0LDEuMjUzLDEuNTc1LDEuMjU0YzUuNjQ3LDAuMDAyLDExLjI5MywwLjAwMSwxNi45NDEsMCYjMTA7JiM5O2MwLjE2LDAsMC4zMjMsMC4wMDksMC40NzktMC4wMjFjMC44ODctMC4xNjUsMS4zNzEtMS4wOTYsMC45ODEtMS44ODdjLTAuMjktMC41ODgtMC43OTQtMC43NTMtMS40MTctMC43NSYjMTA7JiM5O0MzNi41MDEsNjQuMTYsMzMuNjY3LDY0LjE1NCwzMC44MzIsNjQuMTU0eiBNMzAuODI2LDcyLjQ5NGMwLjkxNSwwLDEuODI5LDAuMDAxLDIuNzQzLDBjMS45NjcsMCwzLjkzMywwLjAxMSw1Ljg5OS0wLjAwNyYjMTA7JiM5O2MwLjg2My0wLjAwNywxLjQzMi0wLjU2OSwxLjQyMS0xLjMzNXMtMC41OS0xLjI5Mi0xLjQ1My0xLjMyYy0wLjExNC0wLjAwNC0wLjIyOC0wLjAwMS0wLjM0My0wLjAwMWMtNS41MSwwLTExLjAyLDAtMTYuNTMsMCYjMTA7JiM5O2MtMC4yMDUsMC0wLjQ2MS0wLjA3MS0wLjYwNywwLjAyM2MtMC4zOTgsMC4yNTktMC45MjEsMC41MjMtMS4wNywwLjkxMWMtMC4xMzgsMC4zNTYsMC4wMTcsMC45ODYsMC4yOCwxLjI5MSYjMTA7JiM5O2MwLjI0NiwwLjI4NiwwLjgwMiwwLjQxNCwxLjIyNCwwLjQyQzI1LjIwMiw3Mi41MTEsMjguMDE0LDcyLjQ5NCwzMC44MjYsNzIuNDk0eiBNMzAuODM4LDc1LjU1NmMtMS42MjMsMC0zLjI0NywwLTQuODY5LDAuMDAxJiMxMDsmIzk7Yy0xLjI4MSwwLTIuNTYxLTAuMDE0LTMuODQxLDAuMDA4Yy0wLjgzNCwwLjAxNS0xLjM1OCwwLjU1LTEuMzU0LDEuMzE5YzAuMDA0LDAuNzQ5LDAuNTU3LDEuMjg2LDEuMzY3LDEuMzI3JiMxMDsmIzk7YzAuMTE0LDAuMDA1LDAuMjI5LDAuMDAyLDAuMzQzLDAuMDAyYzUuNTU2LDAsMTEuMTExLDAuMDAxLDE2LjY2NywwYzAuMjA2LDAsMC40MTcsMC4wMTgsMC42MTYtMC4wMjImIzEwOyYjOTtjMC41NjQtMC4xMTEsMS4wMzEtMC40NTIsMS4wNjEtMS4wMTVjMC4wMjItMC40MjQtMC4xNTMtMC45NTUtMC40MzItMS4yNjhjLTAuMjI1LTAuMjUxLTAuNzM2LTAuMzM0LTEuMTIxLTAuMzM4JiMxMDsmIzk7QzM2LjQ2Miw3NS41NDQsMzMuNjUsNzUuNTU3LDMwLjgzOCw3NS41NTZ6IE01MC45ODMsMjMuOTUxYzEuODk4LDAsMy43OTksMC4wMDQsNS42OTctMC4wMDFjMC45MjItMC4wMDMsMS41MTItMC41MjEsMS41MTgtMS4zMTMmIzEwOyYjOTtjMC4wMDgtMC43OTItMC41NzQtMS4zMjctMS40OTYtMS4zMjljLTMuNzc1LTAuMDA4LTcuNTUxLTAuMDA4LTExLjMyNiwwYy0wLjkyNSwwLjAwMi0xLjQ4OCwwLjUzNC0xLjQ3NSwxLjM0MiYjMTA7JiM5O2MwLjAxMywwLjgwNCwwLjU4MywxLjI5OCwxLjUyMiwxLjNDNDcuMjc3LDIzLjk1NSw0OS4xMywyMy45NTEsNTAuOTgzLDIzLjk1MXpcIi8+XG48L3N2Zz4iLCJjYWxsb3V0VGl0bGUiOiJDaG9vc2UgVXMgZm9yIFNpZGluZyBJbnN0YWxsYXRpb24iLCJjYWxsb3V0U3ViaGVhZCI6IkNhbGwgdXMgdG9kYXkgZm9yIGEgRlJFRSBlc3RpbWF0ZS4iLCJDVEFsYWJlbCI6IigzMDMpIDQzNy03ODM4IiwiaWNvblRvZ2dsZSI6dHJ1ZSwiQ1RBdG9nZ2xlIjp0cnVlLCJDVEF0eXBlIjoiQ1RBcGhvbmUiLCJDVEFMaW5rIjp7InZhbHVlIjoidGVsOigzMDMpIDQzNy03ODM4IiwibGFiZWwiOiIiLCJ0eXBlIjoiY2FsbCIsImhyZWYiOiJ0ZWw6KDMwMykgNDM3LTc4MzgiLCJyYXdfdXJsIjoidGVsOigzMDMpIDQzNy03ODM4In19"> <div class="calloutWrapper"> <center> <div class="calloutIcon"> <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="100px" height="100px" viewbox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve"> <path fill-rule="evenodd" clip-rule="evenodd" d="M58.331,87.514c0-7.723,0-15.404,0-23.145c-4.898,0-9.738,0-14.657,0
1169	c0,7.683,0,15.384,0,23.174c-0.344,0-0.61,0-0.876,0c-7.715,0-15.431,0-23.146,0c-1.75,0-2.561-0.804-2.561-2.554
1170	c-0.002-13.118-0.001-26.237-0.001-39.355c0-0.296,0-0.592,0-1.021c-0.42,0-0.796,0-1.171,0c-1.03,0-2.061,0.007-3.091-0.003
1171	c-1.124-0.01-1.842-0.509-2.145-1.466c-0.37-1.169-0.125-2.05,0.845-2.718c3.672-2.532,7.356-5.046,11.037-7.564
1172	c8.515-5.824,17.029-11.646,25.545-17.467c1.823-1.246,3.75-1.25,5.562-0.012c12.141,8.301,24.279,16.604,36.418,24.908
1173	c1.193,0.815,1.549,2.113,0.9,3.273c-0.408,0.728-1.045,1.052-1.871,1.05c-0.961-0.001-1.922,0.014-2.883,0.025
1174	c-0.041,0-0.082,0.04-0.182,0.094c0,0.262,0,0.556,0,0.851c0,13.096,0,26.191-0.002,39.286c0,1.449-0.531,2.281-1.658,2.589
1175	c-0.195,0.054-0.404,0.081-0.607,0.081c-8.334,0.003-16.668,0.003-25,0.002C58.653,87.542,58.522,87.526,58.331,87.514z
1176	 M51.599,61.405c9.635,0,19.27,0,28.906,0c0.229,0,0.459,0.008,0.686-0.006c0.861-0.054,1.447-0.606,1.443-1.35
1177	c-0.008-0.737-0.617-1.3-1.457-1.339c-0.137-0.007-0.275-0.002-0.412-0.002c-19.385,0-38.771,0-58.156,0.002
1178	c-0.273,0-0.554-0.001-0.816,0.062c-0.662,0.159-1.049,0.7-1.015,1.361c0.032,0.635,0.436,1.103,1.095,1.219
1179	c0.29,0.052,0.592,0.05,0.888,0.05C32.372,61.405,41.985,61.405,51.599,61.405z M51.698,50.587c9.637,0,19.271,0.001,28.906,0
1180	c0.252,0,0.506,0.015,0.756-0.012c0.713-0.078,1.252-0.642,1.273-1.307c0.018-0.668-0.49-1.244-1.217-1.347
1181	c-0.248-0.035-0.502-0.028-0.752-0.028c-19.318-0.001-38.635-0.001-57.951,0c-0.229,0-0.46-0.009-0.686,0.019
1182	c-0.792,0.096-1.273,0.627-1.253,1.365c0.021,0.722,0.546,1.244,1.331,1.304c0.228,0.019,0.458,0.006,0.687,0.006
1183	C32.427,50.588,42.063,50.587,51.698,50.587z M51.749,53.327c-9.68,0-19.361,0-29.042,0c-0.229,0-0.458-0.009-0.687,0.007
1184	c-0.72,0.05-1.236,0.593-1.247,1.294c-0.01,0.732,0.52,1.292,1.276,1.336c0.228,0.014,0.458,0.005,0.687,0.005
1185	c19.293,0.001,38.586,0.001,57.879,0c0.205,0,0.412,0.005,0.617-0.002c0.814-0.027,1.385-0.561,1.398-1.3
1186	c0.014-0.76-0.576-1.314-1.428-1.338c-0.207-0.007-0.412-0.002-0.617-0.002C70.974,53.327,61.362,53.327,51.749,53.327z
1187	 M51.454,45.143c9.566,0,19.133,0,28.699,0c0.23,0,0.459,0.008,0.688-0.008c0.701-0.049,1.215-0.545,1.262-1.208
1188	c0.051-0.689-0.428-1.303-1.125-1.419c-0.201-0.033-0.412-0.019-0.617-0.019c-19.293-0.001-38.586-0.001-57.88,0
1189	c-0.206,0-0.417-0.013-0.616,0.024c-0.663,0.122-1.118,0.712-1.086,1.38c0.033,0.692,0.511,1.183,1.222,1.239
1190	c0.25,0.02,0.503,0.01,0.755,0.01C32.321,45.143,41.888,45.143,51.454,45.143z M51.747,37.102c-8.789,0-17.578,0-26.366,0
1191	c-0.251,0-0.504-0.009-0.755,0.011c-0.724,0.058-1.212,0.6-1.206,1.321c0.008,0.849,0.585,1.314,1.644,1.314
1192	c17.715,0,35.429,0,53.144,0c0.16,0,0.322,0.009,0.48-0.007c0.711-0.073,1.223-0.638,1.217-1.335s-0.523-1.243-1.244-1.296
1193	c-0.229-0.017-0.457-0.008-0.688-0.008C69.233,37.102,60.489,37.102,51.747,37.102z M50.546,34.501c6.705,0,13.41,0,20.117,0
1194	c1.25,0,1.924-0.477,1.918-1.356c-0.004-0.879-0.668-1.339-1.934-1.339c-13.41,0-26.822,0-40.232,0c-0.229,0-0.46-0.013-0.686,0.013
1195	c-0.754,0.088-1.232,0.599-1.244,1.307c-0.011,0.741,0.475,1.275,1.258,1.364c0.227,0.025,0.458,0.011,0.687,0.011
1196	C37.135,34.501,43.841,34.501,50.546,34.501z M50.362,29.207c2.402,0,4.807,0,7.209,0c1.943,0,3.889,0.009,5.834-0.007
1197	c0.828-0.007,1.379-0.547,1.391-1.292c0.01-0.777-0.555-1.322-1.412-1.356c-0.137-0.005-0.275-0.002-0.412-0.002
1198	c-8.352,0-16.704,0-25.056,0.001c-0.206,0-0.414-0.012-0.617,0.01c-0.712,0.078-1.227,0.647-1.222,1.335
1199	c0.004,0.692,0.522,1.239,1.244,1.299c0.227,0.019,0.457,0.011,0.686,0.011C42.125,29.207,46.244,29.207,50.362,29.207z
1200	 M71.526,81.232c-3.043,0-6.086,0-9.129,0c-1.256,0.002-1.854,0.421-1.871,1.312c-0.02,0.92,0.594,1.372,1.877,1.373
1201	c6.064,0.001,12.129,0.001,18.193-0.001c0.273-0.001,0.553-0.004,0.82-0.05c0.645-0.11,1.014-0.531,1.082-1.158
1202	c0.068-0.637-0.23-1.119-0.832-1.348c-0.268-0.102-0.58-0.121-0.873-0.122C77.706,81.23,74.616,81.232,71.526,81.232z
1203	 M71.538,66.808c2.494,0,4.988,0,7.484,0c0.777-0.001,1.559,0.024,2.334-0.012c0.738-0.036,1.297-0.669,1.275-1.362
1204	c-0.021-0.69-0.551-1.22-1.279-1.273c-0.16-0.011-0.32-0.006-0.48-0.006c-6.203,0-12.408,0-18.611,0.001
1205	c-0.205,0-0.412-0.006-0.617,0.02c-0.615,0.078-1.078,0.581-1.117,1.198c-0.057,0.862,0.541,1.431,1.535,1.433
1206	C65.22,66.812,68.378,66.808,71.538,66.808z M71.565,72.494c1.168,0,2.336,0.001,3.502,0c2.061,0,4.121,0.013,6.18-0.009
1207	c0.818-0.008,1.385-0.582,1.385-1.312c0-0.722-0.588-1.296-1.377-1.341c-0.137-0.008-0.275-0.002-0.412-0.002
1208	c-6.182,0-12.359,0-18.541,0c-0.205,0-0.463-0.069-0.607,0.027c-0.396,0.262-0.918,0.531-1.064,0.92
1209	c-0.133,0.355,0.035,0.98,0.303,1.281c0.252,0.285,0.805,0.412,1.227,0.417C65.294,72.51,68.431,72.494,71.565,72.494z
1210	 M71.452,75.556c-1.533,0-3.066,0-4.6,0.001c-1.648,0-3.295-0.015-4.943,0.007c-0.982,0.013-1.605,0.83-1.34,1.698
1211	c0.188,0.616,0.697,0.949,1.5,0.95c3.227,0.004,6.453,0.002,9.68,0.002c3.064,0,6.131-0.005,9.197,0.003
1212	c0.564,0.002,1.113-0.111,1.332-0.646c0.154-0.382,0.184-0.897,0.061-1.287c-0.174-0.548-0.697-0.73-1.275-0.729
1213	C77.86,75.56,74.655,75.557,71.452,75.556z M30.855,81.232c-1.235,0-2.469,0-3.705,0c-1.669,0.002-3.338-0.013-5.007,0.01
1214	c-0.817,0.011-1.363,0.574-1.369,1.324c-0.005,0.741,0.48,1.253,1.28,1.333c0.25,0.024,0.503,0.018,0.754,0.018
1215	c4.984,0,9.969,0.001,14.953,0c0.594,0,1.189,0.002,1.783-0.013c0.546-0.015,0.965-0.26,1.21-0.759
1216	c0.459-0.938-0.236-1.903-1.395-1.908C36.525,81.227,33.689,81.234,30.855,81.232z M30.832,64.154c-2.858,0-5.716-0.005-8.574,0.003
1217	c-0.962,0.002-1.527,0.55-1.48,1.396c0.043,0.783,0.624,1.253,1.575,1.254c5.647,0.002,11.293,0.001,16.941,0
1218	c0.16,0,0.323,0.009,0.479-0.021c0.887-0.165,1.371-1.096,0.981-1.887c-0.29-0.588-0.794-0.753-1.417-0.75
1219	C36.501,64.16,33.667,64.154,30.832,64.154z M30.826,72.494c0.915,0,1.829,0.001,2.743,0c1.967,0,3.933,0.011,5.899-0.007
1220	c0.863-0.007,1.432-0.569,1.421-1.335s-0.59-1.292-1.453-1.32c-0.114-0.004-0.228-0.001-0.343-0.001c-5.51,0-11.02,0-16.53,0
1221	c-0.205,0-0.461-0.071-0.607,0.023c-0.398,0.259-0.921,0.523-1.07,0.911c-0.138,0.356,0.017,0.986,0.28,1.291
1222	c0.246,0.286,0.802,0.414,1.224,0.42C25.202,72.511,28.014,72.494,30.826,72.494z M30.838,75.556c-1.623,0-3.247,0-4.869,0.001
1223	c-1.281,0-2.561-0.014-3.841,0.008c-0.834,0.015-1.358,0.55-1.354,1.319c0.004,0.749,0.557,1.286,1.367,1.327
1224	c0.114,0.005,0.229,0.002,0.343,0.002c5.556,0,11.111,0.001,16.667,0c0.206,0,0.417,0.018,0.616-0.022
1225	c0.564-0.111,1.031-0.452,1.061-1.015c0.022-0.424-0.153-0.955-0.432-1.268c-0.225-0.251-0.736-0.334-1.121-0.338
1226	C36.462,75.544,33.65,75.557,30.838,75.556z M50.983,23.951c1.898,0,3.799,0.004,5.697-0.001c0.922-0.003,1.512-0.521,1.518-1.313
1227	c0.008-0.792-0.574-1.327-1.496-1.329c-3.775-0.008-7.551-0.008-11.326,0c-0.925,0.002-1.488,0.534-1.475,1.342
1228	c0.013,0.804,0.583,1.298,1.522,1.3C47.277,23.955,49.13,23.951,50.983,23.951z"></path> 
1229</svg> 
1230</div> 
1231 <p class="calloutTitle">Choose Us for Siding Installation</p> 
1232 <p class="calloutSubhead">Call us today for a FREE estimate.</p> 
1233 <p class="CTAdesktop hide-mobile">(303) 437-7838</p> 
1234 <span class="hide-desktop"> <a value="tel:(303) 437-7838" label="" type="call" href="tel:(303) 437-7838" raw_url="tel:(303) 437-7838"> <div class="dmWidget calloutCTA"> <span class="text">(303) 437-7838</span> 
1235 <span class="iconBg"></span> 
1236</div> 
1237</a> 
1238</span> 
1239</center> 
1240</div> 
1241</div> 
1242</div> 
1243</div> 
1244</div> 
1245 <div class="dmRespRow fullBleedChanged fullBleedMode u_1594107597" id="1594107597"> <div class="dmRespColsWrapper" id="1362561712"> <div class="dmRespCol large-12 medium-12 small-12" id="1474992066"> <div class="widget-ca4188 u_1832770301 dmCustomWidget" data-lazy-load="" data-title="" id="1832770301" dmle_extension="custom_extension" data-element-type="custom_extension" icon="false" surround="false" data-widget-id="ca4188fe92024514a23a858f63ab6658" data-widget-version="9" data-widget-config="eyJ2aWRUaXRsZTEiOiJMZWFybiBNb3JlIEFib3V0IiwidmlkVGl0bGUyIjoiSG9tZSBWYWx1ZSBSZXN0b3JhdGlvbiIsInBsYXlJY29uIjoiPHN2ZyBpZD1cIkxheWVyXzFcIiBkYXRhLW5hbWU9XCJMYXllciAxXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgODIuNSA1OS42NFwiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDojZmZmO29wYWNpdHk6MC45O30uY2xzLTJ7ZmlsbDojMzU0MzRjO308L3N0eWxlPjwvZGVmcz48dGl0bGU+cGxheS1pY29uMjwvdGl0bGU+PHBhdGggY2xhc3M9XCJjbHMtMVwiIGQ9XCJNNDEuMjQsNTkuNjRhMzA2LjQyLDMwNi40MiwwLDAsMS0zNi42LTIuMjEsMS43OSwxLjc5LDAsMCwxLTEuNS0xLjM2LDExMS44NCwxMTEuODQsMCwwLDEsMC01Mi41MUExLjc5LDEuNzksMCwwLDEsNC42NCwyLjJhMzA1LjY2LDMwNS42NiwwLDAsMSw3My4xOSwwLDEuNzksMS43OSwwLDAsMSwxLjUzLDEuMzYsMTExLjg0LDExMS44NCwwLDAsMSwwLDUyLjUxLDEuNzksMS43OSwwLDAsMS0xLjUzLDEuMzYsMzA2LjQyLDMwNi40MiwwLDAsMS0zNi42LDIuMjFaXCIvPjxwYXRoIGNsYXNzPVwiY2xzLTJcIiBkPVwiTTM0LjQxLDQ0LjA3QTMsMywwLDAsMSwzMS40Nyw0MXEwLS4xLDAtLjE5di0yMmMwLTMuMDgsMi43MS00LDQuNzgtMi43MWwxOSwxMWEzLDMsMCwwLDEsMCw1LjVsLTE5LDExYTMuNjgs
1245My42OCwwLDAsMS0xLjgxLjUzWlwiLz48L3N2Zz4iLCJwbGF5TGluayI6eyJ2YWx1ZSI6InZpZGVvLXNwbGFzaC1wb3AiLCJsYWJlbCI6IiIsInR5cGUiOiJwb3B1cCIsImhyZWYiOiIvdmlkZW8tc3BsYXNoLXBvcCIsInJhd191cmwiOiIvc2l0ZS81NzQ4Y2NhMWRkNjE0YjE1YTUyZTY4NzIxOTZhNDdjOC92aWRlby1zcGxhc2gtcG9wP25lZT10cnVlJmVkPXRydWUmc2hvd09yaWdpbmFsPXRydWUmcHJldmlldz10cnVlJmRtX3RyeV9tb2RlPXRydWUmZG1fY2hlY2tTeW5jPTEiLCJwb3B1cF90YXJnZXQiOiJ2aWRlby1zcGxhc2gtcG9wIiwibGlua190eXBlIjoicG9wdXAifSwibmFtZSI6IkhvbWUgVmFsdWUgUmVzdG9yYXRpb24iLCJkZXNjcmlwdGlvbiI6IkZpbmQgeW91ciByb29maW5nLCBzaWRpbmcsIHdpbmRvd3MsIGFuZCBndXR0ZXJzIHNlcnZpY2UgcHJvdmlkZXJzIGJ5IGNhbGxpbmcgSG9tZSBWYWx1ZSBSZXN0b3JhdGlvbiBmb3IgYSBmcmVlIGVzdGltYXRlLiIsInRodW1ibmFpbFVybCI6Imh0dHBzOi8vY2RuLndlYnNpdGVzLmhpYnUuY29tLzU3NDhjY2ExZGQ2MTRiMTVhNTJlNjg3MjE5NmE0N2M4L2RtczNyZXAvbXVsdGkvbW9iaWxlLzEzLmpwZyIsInRyYW5zY3JpcHRpb24iOiJFbmhhbmNlIHRoZSBsb29rIG9mIHlvdXIgaG9tZSB3aGlsZSBhZGRpbmcgY3VyYnNpZGUgYXBwZWFsIGFuZCB2YWx1ZSB3aXRoIGhlbHAgZnJvbSB0aGUgcHJvZmVzc2lvbmFscyBhdCBIb21lIFZhbHVlIFJlc3RvcmF0aW9uLiAgTG9jYWxseSBvd25lZCBhbmQgb3BlcmF0ZWQsIHdlIGFyZSBhIGZ1bGwtc2VydmljZSByZXN0b3JhdGlvbiBjb21wYW55LiBPdXIgZXh0ZW5zaXZlIGJhY2tncm91bmQgdHJhbnNsYXRlcyBpbnRvIHByb2Zlc3Npb25hbCBzZXJ2aWNlLCBza2lsbGVkIGNyYWZ0c21hbnNoaXAsIGFuZCB0aW1lbHkgcHJvamVjdCBjb21wbGV0aW9uLiAgV2Ugb2ZmZXIgYSBmdWxsIHJhbmdlIG9mIHNlcnZpY2VzIGluY2x1ZGluZyByb29maW5nLCBzaWRpbmcsIHdpbmRvd3MsIGd1dHRlcnMgYW5kIG1vcmUuICAgQ2FsbCB1cyB0b2RheSB0byBzZWUgd2hhdCB3ZSBjYW4gZG8gZm9yIHlvdS4gSG9tZSBWYWx1ZSBSZXN0b3JhdGlvbi0gU2FtZSBkYXkgcm9vZiByZXBsYWNlbWVudHMiLCJjb250ZW50VXJsIjoidmlkZW9zLmhpYnVzdHVkaW8uY29tLzIwMjAvaG9tZS12YWx1ZS1yZXN0b3JhdGlvbi01NDcyMjk0ODUtNzA3Mjk4NjAzNi5tcDQifQ=="> <div class="vidWrapper" itemprop="video" itemscope="" itemtype="http://schema.org/VideoObject"> <meta itemprop="name" content="Home Value Restoration"></meta> 
1246 <meta itemprop="duration" content="T1M36S"></meta> 
1247 <meta itemprop="uploadDate" content=""></meta> 
1248 <meta itemprop="thumbnailUrl" content="https://cdn.websites.hibu.com/5748cca1dd614b15a52e6872196a47c8/dms3rep/multi/mobile/13.jpg"></meta> 
1249 <meta itemprop="contentURL" content="videos.hibustudio.com/2020/home-value-restoration-547229485-7072986036.mp4"></meta> 
1250 <meta itemprop="description" content="Find your roofing, siding, windows, and gutters service providers by calling Home Value Restoration for a free estimate."></meta> 
1251 <meta itemprop="transcript" content=""></meta> 
1252 <div class="vidInner"> <center> <p class="vidTitle1">Learn More About</p> 
1253 <p class="vidTitle2">Home Value Restoration</p> 
1254 <div class="playIcon"> <a value="video-splash-pop" label="" type="popup" href="/video-splash-pop" raw_url="/site/5748cca1dd614b15a52e6872196a47c8/video-splash-pop?nee=true&ed=true&showOriginal=true&preview=true&dm_try_mode=true&dm_checkSync=1" popup_target="video-splash-pop" link_type="popup"> <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 82.5 59.64"> <defs> <style>.cls-1{fill:#fff;opacity:0.9;}.cls-2{fill:#35434c;}</style> 
1255</defs> 
1256 <title>play-icon2</title> 
1257 <path class="cls-1" d="M41.24,59.64a306.42,306.42,0,0,1-36.6-2.21,1.79,1.79,0,0,1-1.5-1.36,111.84,111.84,0,0,1,0-52.51A1.79,1.79,0,0,1,4.64,2.2a305.66,305.66,0,0,1,73.19,0,1.79,1.79,0,0,1,1.53,1.36,111.84,111.84,0,0,1,0,52.51,1.79,1.79,0,0,1-1.53,1.36,306.42,306.42,0,0,1-36.6,2.21Z"></path> 
1258 <path class="cls-2" d="M34.41,44.07A3,3,0,0,1,31.47,41q0-.1,0-.19v-22c0-3.08,2.71-4,4.78-2.71l19,11a3,3,0,0,1,0,5.5l-19,11a3.68,3.68,0,0,1-1.81.53Z"></path> 
1259</svg> 
1260</a> 
1261</div> 
1262</center> 
1263</div> 
1264 <div class="vidOverlay"></div> 
1265</div> 
1266</div> 
1267</div> 
1268</div> 
1269</div> 
1270</div> 
1271</div> 
1272</div> 
1273</div> 
1274</div> 
1275 <div class="dmFooterContainer"> <div id="fcontainer" class="f_hcontainer dmFooter p_hfcontainer"> <div dm:templateorder="250" class="dmFooterResp generalFooter" id="1943048428"> <div class="u_1924321571 dmRespRow fullBleedChanged fullBleedMode" style="text-align: center;" id="1924321571"> <div class="dmRespColsWrapper" id="1114807233"> <div class="dmRespCol small-12 medium-4 large-4 u_1961051807" id="1961051807"> <div class="u_1291746637 dmRespRow" id="1291746637"> <div class="dmRespColsWrapper" id="1641120668"> <div class="dmRespCol small-12 medium-12 large-12 u_1347080558" id="1347080558"> <div class="u_1771988639 graphicWidget" data-element-type="graphic" data-widget-type="graphic" id="1771988639"> <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 70 70" id="1968420798" class="svg u_1968420798" data-icon-name="wp-location_pin"> <path d="M35,10c-9.4,0-17,7.6-17,17c0,4.1,1.5,8,4.1,11.1l0.1,0.1c4.6,5.3,7.9,10.8,9.9,16.4l1,3.7l0,0.1c0.3,1.1,1,1.6,1.9,1.6
1276	c0.9,0,1.6-0.5,1.9-1.6l1-3.8c1.9-5.6,5.3-11.2,9.9-16.4l0.1-0.1C50.5,35,52,31.1,52,27C52,17.6,44.4,10,35,10z M35,33
1277	c-3.3,0-6-2.7-6-6s2.7-6,6-6c3.3,0,6,2.7,6,6S38.3,33,35,33z" id="1703144790"></path> 
1278</svg> 
1279</div> 
1280 <div class="dmNewParagraph" data-element-type="paragraph" id="1641994387" style="text-align: center; transition: opacity 1s ease-in-out 0s;"><font style="color: rgb(255, 255, 255);"><span style="font-family:Oswald, 'Oswald Fallback';"><b>SERVICE AREA</b></span></font></div> 
1281 <div class="dmNewParagraph u_1887976842" data-element-type="paragraph" id="1887976842" style="transition: opacity 1s ease-in-out 0s;"> <div style="text-align: center;"><span style="background-color: rgba(0, 0, 0, 0); color: rgb(255, 255, 255); font-size: 1em;">Fort Collins, CO</span><br/></div> 
1282 <div style="text-align: center;"><font color="#ffffff">Denver, CO</font></div> 
1283 <div style="text-align: center;"><font color="#ffffff">Colorado Springs, CO</font></div> 
1284</div> 
1285 <div class="widget-7b6cfb dmCustomWidget" data-lazy-load="" data-title="" id="1385128344" dmle_extension="custom_extension" data-element-type="custom_extension" icon="false" surround="false" data-widget-id="7b6cfbac88324cffbaaf57354cd7a334" data-widget-version="227" data-widget-config="eyJnZXREaXJlY3Rpb25zVGV4dCI6IkdldCBEaXJlY3Rpb25zIiwiZ3JvdXBZZWFyRXN0YWJsaXNoZWQiOm51bGwsImgzRW1haWxUZXh0IjoiIiwidG9nZ2xlSDNBc3NvY2lhdGlvbnMiOm51bGwsImdyb3VwQml6TmFtZURlc2lnbiI6bnVsbCwidG9nZ2xlSDNTZXJ2aWNlcyI6bnVsbCwidHlwZSI6Im5vbmUiLCJib2xkTG9jYXRpb25OYW1lIjpudWxsLCJjb2xvclBpY2tlcjEiOm51bGwsImgzUGF5bWVudHNUZXh0IjpudWxsLCJncm91cEdvb2dsZUF0dHJpYnV0ZXMiOm51bGwsInBheW1lbnRHcm91cCI6bnVsbCwidG9nZ2xlSDNTcGVjaWFsdGllcyI6bnVsbCwic2VydmljZUFyZWFHcm91cCI6bnVsbCwic3RhdGUiOnRydWUsImdyb3VwU29jaWFsSWNvbnMiOm51bGwsInRvZ2dsZUgzU2VydmljZUFyZWEiOm51bGwsInNvY2lhbEdyb3VwIjpudWxsLCJ6aXAiOnRydWUsInBob25lTGlzdFN0eWxlcyI6bnVsbCwiY2FyZFN0eWxlRGFya09yTGlnaHQiOiJ2YWx1ZTMiLCJoM1llYXJIZWFkVGV4dCI6IiIsInBheW1lbnRPcHRpb25zQnVsbGV0IjoiYnVsbGV0IiwiLmFkZHJlc3NIZWFkZXIiOm51bGwsInRvZ2dsZUgzZmVhdE1lc3NhZ2UiOm51bGwsImJyYW5kc0dyb3VwIjpudWxsLCJwcm9kdWN0c0dyb3VwIjpudWxsLCJoM0tleXdvcmRzVGV4dCI6bnVsbCwic2NyaXB0IjoiPHNjcmlwdCBhc3luYyBzcmM9XCJodHRwczovL2tub3dsZWRnZXRhZ3MueWV4dHBhZ2VzLm5ldC9lbWJlZD9rZXk9WTVuR2kwSU5idm90MVczaXJvY082R3l5YjhLS2g0MGk5Q1ZYdjUwNVJzT2d5MFFTLTNMZE5OX0NISWs4M1JBciZhY2NvdW50X2lkPTcwNzI5ODYwMzYmZW50aXR5X2lkPTcwNzI5ODYwMzYmbG9jYWxlPWVuXCIgdHlwZT1cInRleHQvamF2YXNjcmlwdFwiPjwvc2NyaXB0PiIsImdyb3VwS2V5d29yZHNEZXNpZ24iOm51bGwsImdyb3VwQXR0cmlidXRlcyI6bnVsbCwic29jaWFsSWNvbnNBbGlnbm1lbnQiOiJsZWZ0IiwibGFuZ3VhZ2VzQnVsbGV0IjoiYnVsbGV0IiwiZ3JvdXBFbWFpbERlc2lnbiI6bnVsbCwiaDNIb2xpZGF5SG91cnMiOiJIb2xpZGF5IEhvdXJzIiwic2hvd1BheW1lbnRzQXMiOm51bGwsInNlcnZpY2VzR3JvdXAiOm51bGwsImJvbGRTdGF0dXNUZXh0Ijp0cnVlLCJoM1NvY2lhbFRleHQiOm51bGwsImxvZ29Hcm91cCI6bnVsbCwiZ3JvdXBQaG9uZURlc2lnbiI6bnVsbCwicGhvbmVHcm91cCI6bnVsbCwiY2l0eSI6dHJ1ZSwiZ3JvdXBCaXpEZXNEZXNpZ24iOm51bGwsImgzaG91cnNUZXh0IjoiIiwiaDNTZXJ2aWNlQXJlYVRleHQiOm51bGwsImlzTGlzdCI6dHJ1ZSwiYm9sZEhvdXJzIjp0cnVlLCJ0b2dnbGVIM2hvdXJzIjpudWxsLCJncm91cEFkZGl0aW9uYWxIb3Vyc1RleHQiOm51bGwsImRlc2NyaXB0aW9uVGV4dEdyb3VwIjpudWxsLCJicmFuZHNCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM2hvbGlkYXlIb3VycyI6dHJ1ZSwiYXNzb2NpYXRpb25zQnVsbGV0IjoiYnVsbGV0IiwibG9jYXRpb25Hcm91cCI6bnVsbCwidG9nZ2xlSDNHb29nbGVBdHRyaWJ1dGVzIjp0cnVlLCJ0b2dnbGVIM2Rlc2NyaXB0aW9uIjpudWxsLCJob2xpZGF5SG91cnNCdWxsZXQiOiJidWxsZXRzIiwidG9nZ2xlSDNMYW5ndWFnZXMiOm51bGwsInBob25lVHlwZSI6InBob25lIiwibG9jYXRpb25OYW1lIjp0cnVlLCJ0b2dnbGVIM1BheW1lbnRzIjpudWxsLCJzZXJ2aWNlQXJlYUJ1bGxldCI6ImJ1bGxldCIsInRvZ2dsZUgzUHJvZHVjdHMiOm51bGwsImdyb3VwQWRkcmVzc0Rlc2lnbiI6bnVsbCwiUGhvbmUgSGVhZGVyIEdyb3VwIjpudWxsLCJ0b2dnbGVIM1NvY2lhbCI6bnVsbCwic2hvd1NlcnZpY2VBcmVhRmlyc3QiOm51bGwsImFkZGl0aW9uYWxIb3Vyc1RleHQiOm51bGwsImgzU3BlY2lhbHRpZXNUZXh0IjoiIiwidG9nZ2xlSDNZZWFyIjpudWxsLCJzcGVjaWFsdGllc0dyb3VwIjpudWxsLCJkcmF3TWFwIjpudWxsLCJpbnN0cnVjdGlvbnMiOm51bGwsImdyb3VwUHJvZHVjdHNEZXNpZ24iOm51bGwsImdyb3VwU2VydmljZUFyZWFEZXNpZ24iOm51bGwsImgzQWRkcmVzc1RleHQiOiIiLCJncm91cFNlcnZpY2VzRGVzaWduIjpudWxsLCJ0b2dnbGVIM1Bob25lTGlzdCI6bnVsbCwiZ3JvdXBGZWF0dXJlZE1lc3NhZ2VEZXNpZ24iOm51bGwsImgzU2VydmljZXNUZXh0IjpudWxsLCJoM1Bob25lVG
1285V4dCI6IiIsImgzQXNzb2NpYXRpb25zVGV4dCI6IiIsInBheW1lbnRUZXh0R3JvdXAiOm51bGwsImgzRGVzY3JpcHRpb25UZXh0IjpudWxsLCJzaG93R2V0RGlyZWN0aW9uc0xpbmsiOm51bGwsImdyb3VwUGF5bWVudERlaXNnbiI6bnVsbCwiaDNHb29nbGVBdHRyaWJ1dGVzIjoiQnVzaW5lc3MgQXR0cmlidXRlcyIsInRvZ2dsZUgzQWRkcmVzcyI6bnVsbCwic2hvd0VtYWlsQXNCdG4iOm51bGwsImFzc29jaWF0aW9uc0dyb3VwIjpudWxsLCJoM1Byb2R1Y3RzVGV4dCI6IiIsImZvcm1hdFBob25lIjp0cnVlLCJncm91cExhbmd1YWdlc0Rlc2lnbiI6bnVsbCwidG9nZ2xlSDNLZXl3b3JkcyI6bnVsbCwia2V5d29yZHNHcm91cCI6bnVsbCwiYWx0IjpudWxsLCJoaWRlSG91cnNMaXN0IjpmYWxzZSwiZ3JvdXBIb2xpZGF5SG91cnNEZXNpZ24iOm51bGwsInBob25lU2hvd0FzIjoiYnV0dG9uIiwiZ29vZ2xlQXR0cmlidXRlc0Zvcm1hdHRlZExpc3RCdWxsZXQiOiJidWxsZXRzIiwibWFwWm9vbSI6IjEzIiwiaG9saWRheUhvdXJzIjpudWxsLCJncm91cEhvdXJzRGVzaWduIjpudWxsLCJoM0xhbmd1YWdlc1RleHQiOm51bGwsImhvdXJzU2hvd0FzIjoibGlzdCIsImVtYWlsVGV4dEdyb3VwIjpudWxsLCJwaG9uZUxpc3RTdHlsZSI6ImJ1bGxldHMiLCJ0b2dnbGUxIjpudWxsLCJoM0JyYW5kVGV4dCI6IiIsImxpbmsiOm51bGwsImdyb3VwUGF5bWVudENhcmREZXNpZ24iOm51bGwsImdyb3VwU3BlY2lhbHRpZXNEZXNpZ24iOm51bGwsInllYXJFc3RhYmlsaXNoZWRHcm91cCI6bnVsbCwicGhvbmVUZXh0U3R5bGVzIjpudWxsLCJncm91cEFzc29jaWF0aW9uc0Rlc2lnbiI6bnVsbCwic3BlY2lhbHRpZXNCdWxsZXQiOiJidWxsZXQiLCJoM0ZlYXRNZXNzYWdlVGV4dCI6bnVsbCwidG9nZ2xlSDNCcmFuZHMiOm51bGwsImFkZHJlc3MyIjp0cnVlLCJhZGRyZXNzMSI6dHJ1ZSwiY2FyZEFsaWdubWVudCI6InBpY29ucy1jZW50ZXIiLCJncm91cExvZ29EZXNpZ24iOm51bGwsImdyb3VwT3BlbkhvdXJzRGVzaWduIjpudWxsLCJmZWF0TWVzc2FnZUdyb3VwIjpudWxsLCJrZXl3b3Jkc0J1bGxldCI6ImJ1bGxldCIsInRvZ2dsZUgzRW1haWwiOm51bGwsInNlcnZpY2VzQnVsbGV0IjpudWxsLCJncm91cEJyYW5kc0Rlc2lnbiI6bnVsbCwicHJvZHVjdHNCdWxsZXQiOiJidWxsZXQiLCJsYW5ndWFnZXNHcm91cCI6bnVsbCwiaG91cnNHcm91cCI6bnVsbH0="> <div class="editorOnlyInfo" data-nosnippet="">This is a placeholder for the Yext Knolwedge Tags. This message will not appear on the live site, but only within the editor. The Yext Knowledge Tags are successfully installed and will be added to the website.</div> 
1286 <div class="wrongScriptError" data-nosnippet=""><!--The Yext script you entered is empty or incorrect: &lt;script async src&#x3D;&quot;https://knowledgetags.yextpages.net/embed?key&#x3D;Y5nGi0INbvot1W3irocO6Gyyb8KKh40i9CVXv505RsOgy0QS-3LdNN_CHIk83RAr&amp;account_id&#x3D;7072986036&amp;entity_id&#x3D;7072986036&amp;locale&#x3D;en&quot; type&#x3D;&quot;text/javascript&quot;&gt;&lt;/script&gt;.<br/>--><!--It should look like:<br/>--><!-- <pre>--><!--    <code>--><!--&lt;script async defer src="https://knowledgetags.yextpages.net/embed?key=KEY&account_id=ACCOUNT_ID&location_id=LOCATIONS_ID" type="text/javascript"&gt;&lt;/script&gt;--><!--    </code>--><!--</pre>--></div> 
1287<!-- Load Yext Script into page source so schema validates with Structured Data testing tool --> 
1287<script async="" src="https://knowledgetags.yextpages.net/embed?key=Y5nGi0INbvot1W3irocO6Gyyb8KKh40i9CVXv505RsOgy0QS-3LdNN_CHIk83RAr&account_id=7072986036&entity_id=7072986036&locale=en" type="text/javascript">
1288                  </script>
1288 
1289</div> 
1290</div> 
1291</div> 
1292</div> 
1293</div> 
1294 <div class="u_1571174910 dmRespCol small-12 large-4 medium-4" id="1571174910"> <div class="u_1099773478 dmRespRow" id="1099773478"> <div class="dmRespColsWrapper" id="1713884231"> <div class="dmRespCol small-12 medium-12 large-12 u_1552252069" id="1552252069"> <div class="u_1883039758 graphicWidget" data-element-type="graphic" data-widget-type="graphic" id="1883039758"> <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 70 70" id="1092343084" class="svg u_1092343084" data-icon-name="wp-clock"> <g id="1072690251"> <path d="M35,60c-13.8,0-25-11.2-25-25s11.2-25,25-25c13.8,0,25,11.2,25,25S48.8,60,35,60z M35,12c-12.7,0-23,10.3-23,23
1295		s10.3,23,23,23c12.7,0,23-10.3,23-23S47.7,12,35,12z" id="1032645214"></path> 
1296 <path d="M35,14c-11.6,0-21,9.4-21,21s9.4,21,21,21c11.6,0,21-9.4,21-21S46.6,14,35,14z M36,35c0,0.3-0.1,0.5-0.3,0.7l-8,8
1297		C27.5,43.9,27.3,44,27,44c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l7.7-7.7V19c0-0.6,0.4-1,1-1c0.6,0,1,0.4,1,1V35z" id="1306416751"></path> 
1298</g> 
1299</svg> 
1300</div> 
1301 <div class="u_1574812908 widget-7b6cfb hide-for-small hide-for-large dmCustomWidget" data-lazy-load="" data-title="" id="1574812908" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" icon="false" surround="false" data-widget-id="7b6cfbac88324cffbaaf57354cd7a334" data-widget-version="227" data-widget-config="eyJnZXREaXJlY3Rpb25zVGV4dCI6IkdldCBEaXJlY3Rpb25zIiwiZ3JvdXBZZWFyRXN0YWJsaXNoZWQiOm51bGwsImgzRW1haWxUZXh0IjoiIiwidG9nZ2xlSDNBc3NvY2lhdGlvbnMiOm51bGwsImdyb3VwQml6TmFtZURlc2lnbiI6bnVsbCwidG9nZ2xlSDNTZXJ2aWNlcyI6bnVsbCwidHlwZSI6ImhvdXJzIiwiYm9sZExvY2F0aW9uTmFtZSI6bnVsbCwiY29sb3JQaWNrZXIxIjpudWxsLCJoM1BheW1lbnRzVGV4dCI6bnVsbCwiZ3JvdXBHb29nbGVBdHRyaWJ1dGVzIjpudWxsLCJwYXltZW50R3JvdXAiOm51bGwsInRvZ2dsZUgzU3BlY2lhbHRpZXMiOm51bGwsInNlcnZpY2VBcmVhR3JvdXAiOm51bGwsInN0YXRlIjp0cnVlLCJncm91cFNvY2lhbEljb25zIjpudWxsLCJ0b2dnbGVIM1NlcnZpY2VBcmVhIjpudWxsLCJzb2NpYWxHcm91cCI6bnVsbCwiemlwIjp0cnVlLCJwaG9uZUxpc3RTdHlsZXMiOm51bGwsImNhcmRTdHlsZURhcmtPckxpZ2h0IjoiX2Quc3ZnIiwiaDNZZWFySGVhZFRleHQiOiIiLCJwYXltZW50T3B0aW9uc0J1bGxldCI6ImJ1bGxldCIsIi5hZGRyZXNzSGVhZGVyIjpudWxsLCJ0b2dnbGVIM2ZlYXRNZXNzYWdlIjpudWxsLCJicmFuZHNHcm91cCI6bnVsbCwicHJvZHVjdHNHcm91cCI6bnVsbCwiaDNLZXl3b3Jkc1RleHQiOm51bGwsInNjcmlwdCI6IiIsImdyb3VwS2V5d29yZHNEZXNpZ24iOm51bGwsImdyb3VwQXR0cmlidXRlcyI6bnVsbCwic29jaWFsSWNvbnNBbGlnbm1lbnQiOiJsZWZ0IiwibGFuZ3VhZ2VzQnVsbGV0IjoiYnVsbGV0IiwiZ3JvdXBFbWFpbERlc2lnbiI6bnVsbCwiaDNIb2xpZGF5SG91cnMiOiJIb2xpZGF5IEhvdXJzIiwic2hvd1BheW1lbnRzQXMiOm51bGwsInNlcnZpY2VzR3JvdXAiOm51bGwsImJvbGRTdGF0dXNUZXh0Ijp0cnVlLCJoM1NvY2lhbFRleHQiOm51bGwsImxvZ29Hcm91cCI6bnVsbCwiZ3JvdXBQaG9uZURlc2lnbiI6bnVsbCwicGhvbmVHcm91cCI6bnVsbCwiY2l0eSI6dHJ1ZSwiZ3JvdXBCaXpEZXNEZXNpZ24iOm51bGwsImgzaG91cnNUZXh0IjoiSE9VUlMiLCJoM1NlcnZpY2VBcmVhVGV4dCI6bnVsbCwiaXNMaXN0IjpmYWxzZSwiYm9sZEhvdXJzIjp0cnVlLCJ0b2dnbGVIM2hvdXJzIjp0cnVlLCJncm91cEFkZGl0aW9uYWxIb3Vyc1RleHQiOm51bGwsImRlc2NyaXB0aW9uVGV4dEdyb3VwIjpudWxsLCJicmFuZHNCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM2hvbGlkYXlIb3VycyI6dHJ1ZSwiYXNzb2NpYXRpb25zQnVsbGV0IjoiYnVsbGV0IiwibG9jYXRpb25Hcm91cCI6bnVsbCwidG9nZ2xlSDNHb29nbGVBdHRyaWJ1dGVzIjp0cnVlLCJ0b2dnbGVIM2Rlc2NyaXB0aW9uIjpudWxsLCJob2xpZGF5SG91cnNCdWxsZXQiOiJidWxsZXRzIiwidG9nZ2xlSDNMYW5ndWFnZXMiOm51bGwsInBob25lVHlwZSI6InBob25lIiwibG9jYXRpb25OYW1lIjpmYWxzZSwidG9nZ2xlSDNQYXltZW50cyI6bnVsbCwic2VydmljZUFyZWFCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM1Byb2R1Y3RzIjpudWxsLCJncm91cEFkZHJlc3NEZXNpZ24iOm51bGwsIlBob25lIEhlYWRlciBHcm91cCI6bnVsbCwidG9nZ2xlSDNTb2NpYWwiOm51bGwsInNob3dTZXJ2aWNlQXJlYUZpcnN0IjpudWxsLCJhZGRpdGlvbmFsSG91cnNUZXh0IjpmYWxzZSwiaDNTcGVjaWFsdGllc1RleHQiOiIiLCJ0b2dnbGVIM1llYXIiOm51bGwsInNwZWNpYWx0aWVzR3JvdXAiOm51bGwsImRyYXdNYXAiOm51bGwsImluc3RydWN0aW9ucyI6bnVsbCwiZ3JvdXBQcm9kdWN0c0Rlc2lnbiI6bnVsbCwiZ3JvdXBTZXJ2aWNlQXJlYURlc2lnbiI6bnVsbCwiaDNBZGRyZXNzVGV4dCI6IiIsImdyb3VwU2VydmljZXNEZXNpZ24iOm51bGwsInRvZ2dsZUgzUGhvbmVMaXN0IjpudWxsLCJncm91cEZlYXR1cmVkTWVzc2FnZURlc2lnbiI6bnVsbCwiaDNTZXJ2aWNlc1RleHQiOm51bGwsImgzUGhvbmVUZXh0IjoiIiwiaDNBc3NvY2lhdGlvbnNUZXh0IjoiIiwicGF5bWVudFRleHRHcm91cCI6bnVsbCwiaDNEZXNjcmlwdGlvblRleHQiOm51bGwsInNob3dHZXREaXJlY3Rpb25zTGluayI6bnVsbCwiZ3JvdXBQYXltZW50RGVpc2duIjpudWxsLCJoM0dvb2dsZUF0dHJpYnV0ZXMiOiJCdXNpbmVzcyBBdHRyaWJ1dGVzIiwidG9nZ2xlSDNBZGRyZXNzIjpudWxsLCJzaG93RW1haWxBc0J0biI6bnVsbCwiYXNzb2NpYXRpb25zR3JvdXAiOm51bGwsImgzUHJvZHVjdHNUZXh0IjoiIiwiZm9ybWF0UGhvbmUiOnRydWUsImdyb3VwTGFuZ3VhZ2VzRGVzaWduIjpudWxsLCJ0b2dnbGVIM0tleXdvcmRzIjpudWxsLCJrZXl3b3Jkc0dyb3VwIjpudWxsLCJhbHQiOm51bGwsImhpZGVIb3Vyc0xpc3QiOmZhbHNlLCJncm91cEhvbGlkYXlIb3Vyc0Rlc2lnbiI6bnVsbCwicGhvbmVTaG93QXMiOiJidXR0b24iLCJnb29nbGVBdHRyaWJ1dGVzRm9ybWF0dGVkTGlzdEJ1bGxldCI6ImJ1bGxldHMiLCJtYXBab29tIjoiMTMiLCJob2xpZGF5SG91cnMiOm51bGwsImdyb3VwSG91cnNEZXNpZ24iOm51bGwsImgzTGFuZ3VhZ2Vz
1301VGV4dCI6bnVsbCwiaG91cnNTaG93QXMiOiJsaXN0IiwiZW1haWxUZXh0R3JvdXAiOm51bGwsInBob25lTGlzdFN0eWxlIjoiYnVsbGV0cyIsInRvZ2dsZTEiOm51bGwsImgzQnJhbmRUZXh0IjoiIiwibGluayI6bnVsbCwiZ3JvdXBQYXltZW50Q2FyZERlc2lnbiI6bnVsbCwiZ3JvdXBTcGVjaWFsdGllc0Rlc2lnbiI6bnVsbCwieWVhckVzdGFiaWxpc2hlZEdyb3VwIjpudWxsLCJwaG9uZVRleHRTdHlsZXMiOm51bGwsImdyb3VwQXNzb2NpYXRpb25zRGVzaWduIjpudWxsLCJzcGVjaWFsdGllc0J1bGxldCI6ImJ1bGxldCIsImgzRmVhdE1lc3NhZ2VUZXh0IjpudWxsLCJ0b2dnbGVIM0JyYW5kcyI6bnVsbCwiYWRkcmVzczIiOnRydWUsImFkZHJlc3MxIjp0cnVlLCJjYXJkQWxpZ25tZW50IjoicGljb25zLWNlbnRlciIsImdyb3VwTG9nb0Rlc2lnbiI6bnVsbCwiZ3JvdXBPcGVuSG91cnNEZXNpZ24iOm51bGwsImZlYXRNZXNzYWdlR3JvdXAiOm51bGwsImtleXdvcmRzQnVsbGV0IjoiYnVsbGV0IiwidG9nZ2xlSDNFbWFpbCI6bnVsbCwic2VydmljZXNCdWxsZXQiOm51bGwsImdyb3VwQnJhbmRzRGVzaWduIjpudWxsLCJwcm9kdWN0c0J1bGxldCI6ImJ1bGxldCIsImxhbmd1YWdlc0dyb3VwIjpudWxsLCJob3Vyc0dyb3VwIjpudWxsfQ=="> <h3 class="hoursHeader">HOURS</h3> 
1302 <div class="yextHours" id="hoursSmall"></div> 
1303 <div class="editorOnlyInfo" data-nosnippet="">This is a placeholder for the Yext Knolwedge Tags. This message will not appear on the live site, but only within the editor. The Yext Knowledge Tags are successfully installed and will be added to the website.</div> 
1304 <div class="wrongScriptError" data-nosnippet=""><!--The Yext script you entered is empty or incorrect: .<br/>--><!--It should look like:<br/>--><!-- <pre>--><!--    <code>--><!--&lt;script async defer src="https://knowledgetags.yextpages.net/embed?key=KEY&account_id=ACCOUNT_ID&location_id=LOCATIONS_ID" type="text/javascript"&gt;&lt;/script&gt;--><!--    </code>--><!--</pre>--></div> 
1305<!-- Load Yext Script into page source so schema validates with Structured Data testing tool --></div> 
1306 <div class="u_1527730964 widget-7b6cfb dmCustomWidget" data-lazy-load="" data-title="" id="1527730964" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" icon="false" surround="false" data-widget-id="7b6cfbac88324cffbaaf57354cd7a334" data-widget-version="227" data-widget-config="eyJnZXREaXJlY3Rpb25zVGV4dCI6IkdldCBEaXJlY3Rpb25zIiwiZ3JvdXBZZWFyRXN0YWJsaXNoZWQiOm51bGwsImgzRW1haWxUZXh0IjoiIiwidG9nZ2xlSDNBc3NvY2lhdGlvbnMiOm51bGwsImdyb3VwQml6TmFtZURlc2lnbiI6bnVsbCwidG9nZ2xlSDNTZXJ2aWNlcyI6bnVsbCwidHlwZSI6ImhvdXJzIiwiYm9sZExvY2F0aW9uTmFtZSI6bnVsbCwiY29sb3JQaWNrZXIxIjpudWxsLCJoM1BheW1lbnRzVGV4dCI6bnVsbCwiZ3JvdXBHb29nbGVBdHRyaWJ1dGVzIjpudWxsLCJwYXltZW50R3JvdXAiOm51bGwsInRvZ2dsZUgzU3BlY2lhbHRpZXMiOm51bGwsInNlcnZpY2VBcmVhR3JvdXAiOm51bGwsInN0YXRlIjp0cnVlLCJncm91cFNvY2lhbEljb25zIjpudWxsLCJ0b2dnbGVIM1NlcnZpY2VBcmVhIjpudWxsLCJzb2NpYWxHcm91cCI6bnVsbCwiemlwIjp0cnVlLCJwaG9uZUxpc3RTdHlsZXMiOm51bGwsImNhcmRTdHlsZURhcmtPckxpZ2h0IjoiX2Quc3ZnIiwiaDNZZWFySGVhZFRleHQiOiIiLCJwYXltZW50T3B0aW9uc0J1bGxldCI6ImJ1bGxldCIsIi5hZGRyZXNzSGVhZGVyIjpudWxsLCJ0b2dnbGVIM2ZlYXRNZXNzYWdlIjpudWxsLCJicmFuZHNHcm91cCI6bnVsbCwicHJvZHVjdHNHcm91cCI6bnVsbCwiaDNLZXl3b3Jkc1RleHQiOm51bGwsInNjcmlwdCI6IiIsImdyb3VwS2V5d29yZHNEZXNpZ24iOm51bGwsImdyb3VwQXR0cmlidXRlcyI6bnVsbCwic29jaWFsSWNvbnNBbGlnbm1lbnQiOiJsZWZ0IiwibGFuZ3VhZ2VzQnVsbGV0IjoiYnVsbGV0IiwiZ3JvdXBFbWFpbERlc2lnbiI6bnVsbCwiaDNIb2xpZGF5SG91cnMiOiJIb2xpZGF5IEhvdXJzIiwic2hvd1BheW1lbnRzQXMiOm51bGwsInNlcnZpY2VzR3JvdXAiOm51bGwsImJvbGRTdGF0dXNUZXh0Ijp0cnVlLCJoM1NvY2lhbFRleHQiOm51bGwsImxvZ29Hcm91cCI6bnVsbCwiZ3JvdXBQaG9uZURlc2lnbiI6bnVsbCwicGhvbmVHcm91cCI6bnVsbCwiY2l0eSI6dHJ1ZSwiZ3JvdXBCaXpEZXNEZXNpZ24iOm51bGwsImgzaG91cnNUZXh0IjoiSE9VUlMiLCJoM1NlcnZpY2VBcmVhVGV4dCI6bnVsbCwiaXNMaXN0IjpmYWxzZSwiYm9sZEhvdXJzIjp0cnVlLCJ0b2dnbGVIM2hvdXJzIjp0cnVlLCJncm91cEFkZGl0aW9uYWxIb3Vyc1RleHQiOm51bGwsImRlc2NyaXB0aW9uVGV4dEdyb3VwIjpudWxsLCJicmFuZHNCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM2hvbGlkYXlIb3VycyI6dHJ1ZSwiYXNzb2NpYXRpb25zQnVsbGV0IjoiYnVsbGV0IiwibG9jYXRpb25Hcm91cCI6bnVsbCwidG9nZ2xlSDNHb29nbGVBdHRyaWJ1dGVzIjp0cnVlLCJ0b2dnbGVIM2Rlc2NyaXB0aW9uIjpudWxsLCJob2xpZGF5SG91cnNCdWxsZXQiOiJidWxsZXRzIiwidG9nZ2xlSDNMYW5ndWFnZXMiOm51bGwsInBob25lVHlwZSI6InBob25lIiwibG9jYXRpb25OYW1lIjpmYWxzZSwidG9nZ2xlSDNQYXltZW50cyI6bnVsbCwic2VydmljZUFyZWFCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM1Byb2R1Y3RzIjpudWxsLCJncm91cEFkZHJlc3NEZXNpZ24iOm51bGwsIlBob25lIEhlYWRlciBHcm91cCI6bnVsbCwidG9nZ2xlSDNTb2NpYWwiOm51bGwsInNob3dTZXJ2aWNlQXJlYUZpcnN0IjpudWxsLCJhZGRpdGlvbmFsSG91cnNUZXh0Ijp0cnVlLCJoM1Nw
1306ZWNpYWx0aWVzVGV4dCI6IiIsInRvZ2dsZUgzWWVhciI6bnVsbCwic3BlY2lhbHRpZXNHcm91cCI6bnVsbCwiZHJhd01hcCI6bnVsbCwiaW5zdHJ1Y3Rpb25zIjpudWxsLCJncm91cFByb2R1Y3RzRGVzaWduIjpudWxsLCJncm91cFNlcnZpY2VBcmVhRGVzaWduIjpudWxsLCJoM0FkZHJlc3NUZXh0IjoiIiwiZ3JvdXBTZXJ2aWNlc0Rlc2lnbiI6bnVsbCwidG9nZ2xlSDNQaG9uZUxpc3QiOm51bGwsImdyb3VwRmVhdHVyZWRNZXNzYWdlRGVzaWduIjpudWxsLCJoM1NlcnZpY2VzVGV4dCI6bnVsbCwiaDNQaG9uZVRleHQiOiIiLCJoM0Fzc29jaWF0aW9uc1RleHQiOiIiLCJwYXltZW50VGV4dEdyb3VwIjpudWxsLCJoM0Rlc2NyaXB0aW9uVGV4dCI6bnVsbCwic2hvd0dldERpcmVjdGlvbnNMaW5rIjpudWxsLCJncm91cFBheW1lbnREZWlzZ24iOm51bGwsImgzR29vZ2xlQXR0cmlidXRlcyI6IkJ1c2luZXNzIEF0dHJpYnV0ZXMiLCJ0b2dnbGVIM0FkZHJlc3MiOm51bGwsInNob3dFbWFpbEFzQnRuIjpudWxsLCJhc3NvY2lhdGlvbnNHcm91cCI6bnVsbCwiaDNQcm9kdWN0c1RleHQiOiIiLCJmb3JtYXRQaG9uZSI6dHJ1ZSwiZ3JvdXBMYW5ndWFnZXNEZXNpZ24iOm51bGwsInRvZ2dsZUgzS2V5d29yZHMiOm51bGwsImtleXdvcmRzR3JvdXAiOm51bGwsImFsdCI6bnVsbCwiaGlkZUhvdXJzTGlzdCI6ZmFsc2UsImdyb3VwSG9saWRheUhvdXJzRGVzaWduIjpudWxsLCJwaG9uZVNob3dBcyI6ImJ1dHRvbiIsImdvb2dsZUF0dHJpYnV0ZXNGb3JtYXR0ZWRMaXN0QnVsbGV0IjoiYnVsbGV0cyIsIm1hcFpvb20iOiIxMyIsImhvbGlkYXlIb3VycyI6bnVsbCwiZ3JvdXBIb3Vyc0Rlc2lnbiI6bnVsbCwiaDNMYW5ndWFnZXNUZXh0IjpudWxsLCJob3Vyc1Nob3dBcyI6Imxpc3QiLCJlbWFpbFRleHRHcm91cCI6bnVsbCwicGhvbmVMaXN0U3R5bGUiOiJidWxsZXRzIiwidG9nZ2xlMSI6bnVsbCwiaDNCcmFuZFRleHQiOiIiLCJsaW5rIjpudWxsLCJncm91cFBheW1lbnRDYXJkRGVzaWduIjpudWxsLCJncm91cFNwZWNpYWx0aWVzRGVzaWduIjpudWxsLCJ5ZWFyRXN0YWJpbGlzaGVkR3JvdXAiOm51bGwsInBob25lVGV4dFN0eWxlcyI6bnVsbCwiZ3JvdXBBc3NvY2lhdGlvbnNEZXNpZ24iOm51bGwsInNwZWNpYWx0aWVzQnVsbGV0IjoiYnVsbGV0IiwiaDNGZWF0TWVzc2FnZVRleHQiOm51bGwsInRvZ2dsZUgzQnJhbmRzIjpudWxsLCJhZGRyZXNzMiI6dHJ1ZSwiYWRkcmVzczEiOnRydWUsImNhcmRBbGlnbm1lbnQiOiJwaWNvbnMtY2VudGVyIiwiZ3JvdXBMb2dvRGVzaWduIjpudWxsLCJncm91cE9wZW5Ib3Vyc0Rlc2lnbiI6bnVsbCwiZmVhdE1lc3NhZ2VHcm91cCI6bnVsbCwia2V5d29yZHNCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM0VtYWlsIjpudWxsLCJzZXJ2aWNlc0J1bGxldCI6bnVsbCwiZ3JvdXBCcmFuZHNEZXNpZ24iOm51bGwsInByb2R1Y3RzQnVsbGV0IjoiYnVsbGV0IiwibGFuZ3VhZ2VzR3JvdXAiOm51bGwsImhvdXJzR3JvdXAiOm51bGx9"> <h3 class="hoursHeader">HOURS</h3> 
1307 <div class="yextHours" id="hoursSmall"></div> 
1308 <div data-yext-field="additionalHoursText" class="yextAdditionalHoursText"></div> 
1309 <div class="editorOnlyInfo" data-nosnippet="">This is a placeholder for the Yext Knolwedge Tags. This message will not appear on the live site, but only within the editor. The Yext Knowledge Tags are successfully installed and will be added to the website.</div> 
1310 <div class="wrongScriptError" data-nosnippet=""><!--The Yext script you entered is empty or incorrect: .<br/>--><!--It should look like:<br/>--><!-- <pre>--><!--    <code>--><!--&lt;script async defer src="https://knowledgetags.yextpages.net/embed?key=KEY&account_id=ACCOUNT_ID&location_id=LOCATIONS_ID" type="text/javascript"&gt;&lt;/script&gt;--><!--    </code>--><!--</pre>--></div> 
1311<!-- Load Yext Script into page source so schema validates with Structured Data testing tool --></div> 
1312</div> 
1313</div> 
1314</div> 
1315</div> 
1316 <div class="u_1776203899 dmRespCol small-12 large-4 medium-4" id="1776203899"> <div class="dmRespRow u_1458526682" id="1458526682"> <div class="dmRespColsWrapper" id="1511853084"> <div class="dmRespCol small-12 medium-12 large-12 u_1433051143" id="1433051143"> <div class="u_1320205864 graphicWidget" data-element-type="graphic" data-widget-type="graphic" id="1320205864"> <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 70 70" id="1556559736" class="svg u_1556559736" data-icon-name="wp-bullhorn"> <path d="M53,17c-0.4,0-0.8,0.1-1.1,0.2c0,0-38.6,12.7-39.2,12.8c-1.6,0.5-2.7,2.5-2.7,5s1.1,4.5,2.7,5c0.2,0.1,4.4,1.4,9.9,3.2
1317	l-0.4,1.1c-0.8,2.4,0.4,5,2.8,5.8l7.3,2.6c0.5,0.2,1,0.3,1.6,0.3c0.7,0,1.4-0.2,2-0.5c1.1-0.5,2-1.5,2.4-2.6l0.5-1.4
1318	c7.1,2.3,13.1,4.3,13.1,4.3c0.4,0.1,0.7,0.2,1.1,0.2c4.5,0,7-9.3,7-18S57.5,17,53,17z M36.4,49.3c-0.2,0.7-0.7,1.2-1.3,1.5
1319	c-0.6,0.3-1.3,0.3-2,0.1l-7.3-2.6c-1.3-0.5-2-2-1.6-3.3l0.4-1.1c3.9,1.3,8.3,2.7,12.4,4.1L36.4,49.3z M53,51c-2.1,0-5-6.1-5-16
1320	s2.9-16,5-16c2.1,0,5,6.1,5,16S55.1,51,53,51z" id="1459554540"></path> 
1321</svg> 
1322</div> 
1323 <div class="dmNewParagraph" data-element-type="paragraph" data-version="5" id="1320759377" style="transition: opacity 1s ease-in-out 0s;"><p class="text-align-center"><span style="color:rgb(255, 255, 255);font-weight:bold;display:unset;font-family:Oswald, 'Oswald Fallback';">CONTACT US</span></p></div> 
1324 <div class="dmNewParagraph" data-element-type="paragraph" data-version="5" id="1540543944" style="transition: opacity 1s ease-in-out 0s;"><p class="text-align-center"><span style="display: unset; color: rgb(255, 255, 255);">Colorado (303) 437-7838</span><span style="display: initial;"><span class="ql-cursor"></span></span></p></div> 
1325 <div class="u_1733997831 widget-7b6cfb dmCustomWidget" data-lazy-load="" data-title="" id="1733997831" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" icon="false" surround="false" data-widget-id="7b6cfbac88324cffbaaf57354cd7a334" data-widget-version="227" data-widget-config="eyJnZXREaXJlY3Rpb25zVGV4dCI6IkdldCBEaXJlY3Rpb25zIiwiZ3JvdXBZZWFyRXN0YWJsaXNoZWQiOm51bGwsImgzRW1haWxUZXh0IjoiIiwidG9nZ2xlSDNBc3NvY2lhdGlvbnMiOm51bGwsImdyb3VwQml6TmFtZURlc2lnbiI6bnVsbCwidG9nZ2xlSDNTZXJ2aWNlcyI6bnVsbCwidHlwZSI6ImVtYWlsIiwiYm9sZExvY2F0aW9uTmFtZSI6bnVsbCwiY29sb3JQaWNrZXIxIjpudWxsLCJoM1BheW1lbnRzVGV4dCI6bnVsbCwiZ3JvdXBHb29nbGVBdHRyaWJ1dGVzIjpudWxsLCJwYXltZW50R3JvdXAiOm51bGwsInRvZ2dsZUgzU3BlY2lhbHRpZXMiOm51bGwsInNlcnZpY2VBcmVhR3JvdXAiOm51bGwsInN0YXRlIjp0cnVlLCJncm91cFNvY2lhbEljb25zIjpudWxsLCJ0b2dnbGVIM1NlcnZpY2VBcmVhIjpudWxsLCJzb2NpYWxHcm91cCI6bnVsbCwiemlwIjp0cnVlLCJwaG9uZUxpc3RTdHlsZXMiOm51bGwsImNhcmRTdHlsZURhcmtPckxpZ2h0IjoiX2Quc3ZnIiwiaDNZZWFySGVhZFRleHQiOiIiLCJwYXltZW50T3B0aW9uc0J1bGxldCI6ImJ1bGxldCIsIi5hZGRyZXNzSGVhZGVyIjpudWxsLCJ0b2dnbGVIM2ZlYXRNZXNzYWdlIjpudWxsLCJicmFuZHNHcm91cCI6bnVsbCwicHJvZHVjdHNHcm91cCI6bnVsbCwiaDNLZXl3b3Jkc1RleHQiOm51bGwsInNjcmlwdCI6IiIsImdyb3VwS2V5d29yZHNEZXNpZ24iOm51bGwsImdyb3VwQXR0cmlidXRlcyI6bnVsbCwic29jaWFsSWNvbnNBbGlnbm1lbnQiOiJsZWZ0IiwibGFuZ3VhZ2VzQnVsbGV0IjoiYnVsbGV0IiwiZ3JvdXBFbWFpbERlc2lnbiI6bnVsbCwiaDNIb2xpZGF5SG91cnMiOiJIb2xpZGF5IEhvdXJzIiwic2hvd1BheW1lbnRzQXMiOm51bGwsInNlcnZpY2VzR3JvdXAiOm51bGwsImJvbGRTdGF0dXNUZXh0Ijp0cnVlLCJoM1NvY2lhbFRleHQiOm51bGwsImxvZ29Hcm91cCI6bnVsbCwiZ3JvdXBQaG9uZURlc2lnbiI6bnVsbCwicGhvbmVHcm91cCI6bnVsbCwiY2l0eSI6dHJ1ZSwiZ3JvdXBCaXpEZXNEZXNpZ24iOm51bGwsImgzaG91cnNUZXh0IjoiIiwiaDNTZXJ2aWNlQXJlYVRleHQiOm51bGwsImlzTGlzdCI6dHJ1ZSwiYm9sZEhvdXJzIjp0cnVlLCJ0b2dnbGVIM2hvdXJzIjpudWxsLCJncm91cEFkZGl0aW9uYWxIb3Vyc1RleHQiOm51bGwsImRlc2NyaXB0aW9uVGV4dEdyb3VwIjpudWxsLCJicmFuZHNCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM2hvbGlkYXlIb3VycyI6dHJ1ZSwiYXNzb2NpYXRpb25zQnVsbGV0IjoiYnVsbGV0IiwibG9jYXRpb25Hcm91cCI6bnVsbCwidG9nZ2xlSDNHb29nbGVBdHRyaWJ1dGVzIjp0cnVlLCJ0b2dnbGVIM2Rlc2NyaXB0aW9uIjpudWxsLCJob2xpZGF5SG91cnNCdWxsZXQiOiJidWxsZXRzIiwidG9nZ2xlSDNMYW5ndWFnZXMiOm51bGwsInBob25lVHlwZSI6InBob25lIiwibG9jYXRpb25OYW1lIjpmYWxzZSwidG9nZ2xlSDNQYXltZW50cyI6bnVsbCwic2VydmljZUFyZWFCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM1Byb2R1Y3RzIjpudWxsLCJncm91cEFkZHJl
1325c3NEZXNpZ24iOm51bGwsIlBob25lIEhlYWRlciBHcm91cCI6bnVsbCwidG9nZ2xlSDNTb2NpYWwiOm51bGwsInNob3dTZXJ2aWNlQXJlYUZpcnN0IjpudWxsLCJhZGRpdGlvbmFsSG91cnNUZXh0IjpudWxsLCJoM1NwZWNpYWx0aWVzVGV4dCI6IiIsInRvZ2dsZUgzWWVhciI6bnVsbCwic3BlY2lhbHRpZXNHcm91cCI6bnVsbCwiZHJhd01hcCI6bnVsbCwiaW5zdHJ1Y3Rpb25zIjpudWxsLCJncm91cFByb2R1Y3RzRGVzaWduIjpudWxsLCJncm91cFNlcnZpY2VBcmVhRGVzaWduIjpudWxsLCJoM0FkZHJlc3NUZXh0IjoiIiwiZ3JvdXBTZXJ2aWNlc0Rlc2lnbiI6bnVsbCwidG9nZ2xlSDNQaG9uZUxpc3QiOm51bGwsImdyb3VwRmVhdHVyZWRNZXNzYWdlRGVzaWduIjpudWxsLCJoM1NlcnZpY2VzVGV4dCI6bnVsbCwiaDNQaG9uZVRleHQiOiIiLCJoM0Fzc29jaWF0aW9uc1RleHQiOiIiLCJwYXltZW50VGV4dEdyb3VwIjpudWxsLCJoM0Rlc2NyaXB0aW9uVGV4dCI6bnVsbCwic2hvd0dldERpcmVjdGlvbnNMaW5rIjpudWxsLCJncm91cFBheW1lbnREZWlzZ24iOm51bGwsImgzR29vZ2xlQXR0cmlidXRlcyI6IkJ1c2luZXNzIEF0dHJpYnV0ZXMiLCJ0b2dnbGVIM0FkZHJlc3MiOm51bGwsInNob3dFbWFpbEFzQnRuIjpudWxsLCJhc3NvY2lhdGlvbnNHcm91cCI6bnVsbCwiaDNQcm9kdWN0c1RleHQiOiIiLCJmb3JtYXRQaG9uZSI6dHJ1ZSwiZ3JvdXBMYW5ndWFnZXNEZXNpZ24iOm51bGwsInRvZ2dsZUgzS2V5d29yZHMiOm51bGwsImtleXdvcmRzR3JvdXAiOm51bGwsImFsdCI6bnVsbCwiaGlkZUhvdXJzTGlzdCI6ZmFsc2UsImdyb3VwSG9saWRheUhvdXJzRGVzaWduIjpudWxsLCJwaG9uZVNob3dBcyI6ImJ1dHRvbiIsImdvb2dsZUF0dHJpYnV0ZXNGb3JtYXR0ZWRMaXN0QnVsbGV0IjoiYnVsbGV0cyIsIm1hcFpvb20iOiIxMyIsImhvbGlkYXlIb3VycyI6bnVsbCwiZ3JvdXBIb3Vyc0Rlc2lnbiI6bnVsbCwiaDNMYW5ndWFnZXNUZXh0IjpudWxsLCJob3Vyc1Nob3dBcyI6Imxpc3QiLCJlbWFpbFRleHRHcm91cCI6bnVsbCwicGhvbmVMaXN0U3R5bGUiOiJidWxsZXRzIiwidG9nZ2xlMSI6bnVsbCwiaDNCcmFuZFRleHQiOiIiLCJsaW5rIjpudWxsLCJncm91cFBheW1lbnRDYXJkRGVzaWduIjpudWxsLCJncm91cFNwZWNpYWx0aWVzRGVzaWduIjpudWxsLCJ5ZWFyRXN0YWJpbGlzaGVkR3JvdXAiOm51bGwsInBob25lVGV4dFN0eWxlcyI6bnVsbCwiZ3JvdXBBc3NvY2lhdGlvbnNEZXNpZ24iOm51bGwsInNwZWNpYWx0aWVzQnVsbGV0IjoiYnVsbGV0IiwiaDNGZWF0TWVzc2FnZVRleHQiOm51bGwsInRvZ2dsZUgzQnJhbmRzIjpudWxsLCJhZGRyZXNzMiI6dHJ1ZSwiYWRkcmVzczEiOnRydWUsImNhcmRBbGlnbm1lbnQiOiJwaWNvbnMtY2VudGVyIiwiZ3JvdXBMb2dvRGVzaWduIjpudWxsLCJncm91cE9wZW5Ib3Vyc0Rlc2lnbiI6bnVsbCwiZmVhdE1lc3NhZ2VHcm91cCI6bnVsbCwia2V5d29yZHNCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM0VtYWlsIjpudWxsLCJzZXJ2aWNlc0J1bGxldCI6bnVsbCwiZ3JvdXBCcmFuZHNEZXNpZ24iOm51bGwsInByb2R1Y3RzQnVsbGV0IjoiYnVsbGV0IiwibGFuZ3VhZ2VzR3JvdXAiOm51bGwsImhvdXJzR3JvdXAiOm51bGx9"> <a onclick=";return dm_gaq_push_event('ClickToEmail', 'Email',null, dmAPI.getSiteName(), this);" data-yext-field="email" class="yextEmail "> <span data-yext-field="email" class="text"></span> 
1326</a> 
1327 <div class="editorOnlyInfo" data-nosnippet="">This is a placeholder for the Yext Knolwedge Tags. This message will not appear on the live site, but only within the editor. The Yext Knowledge Tags are successfully installed and will be added to the website.</div> 
1328 <div class="wrongScriptError" data-nosnippet=""><!--The Yext script you entered is empty or incorrect: .<br/>--><!--It should look like:<br/>--><!-- <pre>--><!--    <code>--><!--&lt;script async defer src="https://knowledgetags.yextpages.net/embed?key=KEY&account_id=ACCOUNT_ID&location_id=LOCATIONS_ID" type="text/javascript"&gt;&lt;/script&gt;--><!--    </code>--><!--</pre>--></div> 
1329<!-- Load Yext Script into page source so schema validates with Structured Data testing tool --></div> 
1330 <div class="u_1549011953 imageWidget align-center" data-element-type="image" data-widget-type="image" id="1549011953"> <a id="1477824535" class="" target="_blank" href="https://www.bbb.org/us/co/denver/profile/roofing-contractors/home-value-restoration-llc-0885-90227818" file="false"><img src="https://le-cdn.hibuwebsites.com/5748cca1dd614b15a52e6872196a47c8/dms3rep/multi/opt/BBB-1920w.png" alt="" id="1738801600" class="" data-dm-image-path="https://cdn.websites.hibu.com/5748cca1dd614b15a52e6872196a47c8/dms3rep/multi/BBB.png" onerror="handleImageLoadError(this)"/></a> 
1331</div> 
1332</div> 
1333</div> 
1334</div> 
1335</div> 
1336</div> 
1337</div> 
1338 <div class="dmRespRow u_1636271599" id="1636271599"> <div class="dmRespColsWrapper" id="1501688634"> <div class="dmRespCol large-12 medium-12 small-12" id="1271322060"> <div class="widget-4297c6 u_1945604141 dmCustomWidget" data-lazy-load="" data-title="" id="1945604141" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" icon="false" surround="false" data-widget-id="4297c64e3aa349d4ac38764dde32ebef" data-widget-version="68" data-widget-config="eyJJY29uIFNpemUiOm51bGwsIkhlbHBUZXh0IjoiSGkuIERvIHlvdSBuZWVkIGFueSBoZWxwPyIsIk1vYmlsZU9wdGlvbnMiOm51bGwsIk1vYmlsZSI6bnVsbCwiSWNvbkxpc3QiOlt7IkVtYWlsQWRkciI6bnVsbCwiQWN0aW9uIjoiQ2FsbCIsIkNhbGxOdW0iOiIoMzAzKSA0
1338MzctNzgzOCIsIkVtYWlsIjp0cnVlLCJRdWVyeSI6IkNoaWNhZ28iLCJTaGFyZVRpdGxlIjoiIiwiVHVtYmxyIjpmYWxzZSwic2hvd29ubW9iaWxlIjp0cnVlLCJGYlVzZXIiOm51bGwsIkxhYmVsIjoiQ2FsbCBVcyIsIlR3aXR0ZXIiOnRydWUsInNob3dvbmRlc2t0b3AiOmZhbHNlLCJSZWRkaXQiOm51bGwsIlBpbnRlcmVzdCI6bnVsbCwiU21zTnVtIjoiNTU1LTU1NS01NTUiLCJHb29nbGVQbHVzIjp0cnVlLCJGYWNlYm9vayI6dHJ1ZSwiQW5pbWF0ZSI6bnVsbCwiQ3VzdG9tSWNvbiI6bnVsbCwiTGlua2VkSW4iOnRydWUsImRlZkVtYWlsQm9keSI6bnVsbCwiZW1haWxEZWZTdWJqZWN0IjoiUXVlc3Rpb25zIEFib3V0IFlvdXIgQnVzaW5lc3MiLCJJY29uIjoiPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAzODQgNTEyXCIgZGF0YS1kZWZhdWx0PVwidHJ1ZVwiPjxwYXRoIGQ9XCJNMTcyLjI2OCA1MDEuNjdDMjYuOTcgMjkxLjAzMSAwIDI2OS40MTMgMCAxOTIgMCA4NS45NjEgODUuOTYxIDAgMTkyIDBzMTkyIDg1Ljk2MSAxOTIgMTkyYzAgNzcuNDEzLTI2Ljk3IDk5LjAzMS0xNzIuMjY4IDMwOS42Ny05LjUzNSAxMy43NzQtMjkuOTMgMTMuNzczLTM5LjQ2NCAwek0xOTIgMjcyYzQ0LjE4MyAwIDgwLTM1LjgxNyA4MC04MHMtMzUuODE3LTgwLTgwLTgwLTgwIDM1LjgxNy04MCA4MCAzNS44MTcgODAgODAgODB6XCIvPjwvc3ZnPiIsIlNoYXJlTGluayI6bnVsbCwiTGluayI6bnVsbH0seyJFbWFpbEFkZHIiOm51bGwsIkFjdGlvbiI6IkxpbmsiLCJDYWxsTnVtIjoiNTU1LTU1NS01NTU1IiwiRW1haWwiOnRydWUsIlF1ZXJ5IjoiU3RyZWV0IEFkZHJlc3MsIENpdHksIFNULCAxMjM0NSIsIlNoYXJlVGl0bGUiOiIiLCJUdW1ibHIiOmZhbHNlLCJzaG93b25tb2JpbGUiOnRydWUsIkZiVXNlciI6bnVsbCwiTGFiZWwiOiJSZWFkIFJldmlld3MiLCJUd2l0dGVyIjp0cnVlLCJzaG93b25kZXNrdG9wIjp0cnVlLCJSZWRkaXQiOm51bGwsIlBpbnRlcmVzdCI6bnVsbCwiU21zTnVtIjoiNTU1LTU1NS01NTU1IiwiR29vZ2xlUGx1cyI6dHJ1ZSwiRmFjZWJvb2siOnRydWUsIkFuaW1hdGUiOm51bGwsIkN1c3RvbUljb24iOnRydWUsIkxpbmtlZEluIjp0cnVlLCJkZWZFbWFpbEJvZHkiOiIiLCJlbWFpbERlZlN1YmplY3QiOiJRdWVzdGlvbnMgQWJvdXQgWW91ciBCdXNpbmVzcyIsIkljb24iOiI8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2NjQgMTc5MlwiPjxwYXRoIGZpbGw9XCJpbmhlcml0XCIgZD1cIk0xNjY0IDY0N3EwIDIyLTI2IDQ4bC0zNjMgMzU0IDg2IDUwMHExIDcgMSAyMCAwIDIxLTEwLjUgMzUuNXQtMzAuNSAxNC41cS0xOSAwLTQwLTEybC00NDktMjM2LTQ0OSAyMzZxLTIyIDEyLTQwIDEyLTIxIDAtMzEuNS0xNC41dC0xMC41LTM1LjVxMC02IDItMjBsODYtNTAwLTM2NC0zNTRxLTI1LTI3LTI1LTQ4IDAtMzcgNTYtNDZsNTAyLTczIDIyNS00NTVxMTktNDEgNDktNDF0NDkgNDFsMjI1IDQ1NSA1MDIgNzNxNTYgOSA1NiA0NnpcIi8+XG48L3N2Zz4iLCJTaGFyZUxpbmsiOm51bGwsIkxpbmsiOnsidmFsdWUiOiJyZXZpZXdzIiwidHlwZSI6InBhZ2UiLCJocmVmIjoiL3Jldmlld3MiLCJyYXdfdXJsIjoiL3NpdGUvMWMwMmE1ZTMzMjYyNDhkNDg0NzZlOWJiNmZkYWE5ZDgvcmV2aWV3cz9uZWU9dHJ1ZSZlZD10cnVlJnNob3dPcmlnaW5hbD10cnVlJnByZXZpZXc9dHJ1ZSZkbV90cnlfbW9kZT10cnVlJmRtX2NoZWNrU3luYz0xIn19LHsiRW1haWxBZGRyIjoibXdrbnV0c29uQGljbG91ZC5jb20iLCJBY3Rpb24iOiJFbWFpbCIsIkNhbGxOdW0iOiI1NTUtNTU1LTU1NTUiLCJFbWFpbCI6dHJ1ZSwiUXVlcnkiOiJDaGljYWdvIiwiU2hhcmVUaXRsZSI6IiIsIlR1bWJsciI6ZmFsc2UsInNob3dvbm1vYmlsZSI6dHJ1ZSwiRmJVc2VyIjpudWxsLCJMYWJlbCI6IkVtYWlsIFVzIiwiVHdpdHRlciI6dHJ1ZSwic2hvd29uZGVza3RvcCI6dHJ1ZSwiUmVkZGl0IjpudWxsLCJQaW50ZXJlc3QiOm51bGwsIlNtc051bSI6IjU1NS01NTUtNTU1IiwiR29vZ2xlUGx1cyI6dHJ1ZSwiRmFjZWJvb2siOnRydWUsIkFuaW1hdGUiOnRydWUsIkN1c3RvbUljb24iOm51bGwsIkxpbmtlZEluIjp0cnVlLCJkZWZFbWFpbEJvZHkiOiIiLCJlbWFpbERlZlN1YmplY3QiOiJRdWVzdGlvbnMgQWJvdXQgWW91ciBCdXNpbmVzcyIsIkljb24iOiI8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDM4NCA1MTJcIiBkYXRhLWRlZmF1bHQ9XCJ0cnVlXCI+PHBhdGggZD1cIk0xNzIuMjY4IDUwMS42N0MyNi45NyAyOTEuMDMxIDAgMjY5LjQxMyAwIDE5MiAwIDg1Ljk2MSA4NS45NjEgMCAxOTIgMHMxOTIgODUuOTYxIDE5MiAxOTJjMCA3Ny40MTMtMjYuOTcgOTkuMDMxLTE3Mi4yNjggMzA5LjY3LTkuNTM1IDEzLjc3NC0yOS45MyAxMy43NzMtMzkuNDY0IDB6TTE5MiAyNzJjNDQuMTgzIDAgODAtMzUuODE3IDgwLTgwcy0zNS44MTctODAtODAtODAtODAgMzUuODE3LTgwIDgwIDM1LjgxNyA4MCA4MCA4MHpcIi8+PC9zdmc+IiwiU2hhcmVMaW5rIjpudWxsLCJMaW5rIjpudWxsfSx7IkVtYWlsQWRkciI6bnVsbCwiQWN0aW9uIjoiU2hhcmUiLCJDYWxsTnVtIjoiNTU1LTU1NS01NTU1IiwiRW1haWwiOnRydWUsIlF1ZXJ5IjoiQ2hpY2FnbyIsIlNoYXJlVGl0bGUiOiJTaGFyZSBVcyIsIlR1bWJsciI6dHJ1ZSwic2hvd29ubW9iaWxlIjp0cnVlLCJGYlVzZXIiOm51bGwsIkxhYmVsIjoiU2hhcmUgVXMiLCJUd2l0dGVyIjp0cnVlLCJzaG93b25kZXNrdG9wIjp0cnVlLCJSZWRkaXQiOnRydWUsIlBpbnRlcmVzdCI6dHJ1ZSwiU21zTnVtIjoiNTU1LTU1NS01NTUiLCJHb29nbGVQbHVzIjpmYWxzZSwiRmFjZWJvb2siOnRydWUsIkFuaW1hdGUiOnRydWUsIkN1c3RvbUljb24iOmZhbHNlLCJMaW5rZWRJbiI6dHJ1ZSwiZGVmRW1haWxCb2R5IjpudWxsLCJlbWFpbERlZlN1YmplY3QiOiJRdWVzdGlvbnMgQWJvdXQgWW91ciBCdXNpbmVzcyIsIkljb24iOiI8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE1MzYgMTc5MlwiPjxwYXRoIGZpbGw9XCJpbmhlcml0XCIgZD1cIk0xMjE2IDEwMjRxMTMzIDAgMjI2LjUgOTMuNXQ5My41IDIyNi41LTkzLjUgMjI2LjUtMjI2LjUgOTMuNS0yMjYuNS05My41LTkzLjUtMjI2LjVxMC0xMiAyLTM0bC0zNjAtMTgwcS05MiA4Ni0yMTggODYtMTMzIDAtMjI2LjUtOTMuNXQtOTMuNS0yMjYuNSA5My41LTIyNi41IDIyNi41LTkzLjVxMTI2IDAgMjE4IDg2bDM2MC0xODBxLTItMjItMi0zNCAwLTEzMyA5My41LTIyNi41dDIyNi41LTkzLjUgMjI2LjUgOTMuNSA5My41IDIyNi41LTkzLjUgMjI2LjUtMjI2LjUgOTMuNXEtMTI2IDAtMjE4LTg2bC0zNjAgMTgwcTIgMjIgMiAzNHQtMiAzNGwzNjAgMTgwcTkyLTg2IDIxOC04NnpcIi8+XG48L3N2Zz4iLCJTaGFyZUxpbmsiOm51bGwsIkxpbmsiOm51bGx9XSwiR2xvYmFsIjpudWxsLCJGb2N1c0l0ZXIiOiIxIiwiRm9jdXNEZWxheSI6IjUwMDAiLCJEZXNrdG9wIjpudWxsLCJBbmltYXRpb25PcHRpb25zIjpudWxsLCJNb2JpbGVMYXlvdXQiOiJGdWxsIiwiRGVza3RvcExheW91dCI6IkZsb2F0IiwiRGVza3RvcE9wdGlvbnMiOm51bGwsIk1vYmlsZU1haW4iOiJwbHVzIiwiRGVza01haW4iOiJlbnZlbG9wZSIsIk1vZGFsVGl0bGUiOiJTaGFyZSBPbjoiLCJNYWluTGFiZWwiOiJDb250YWN0IFVzIiwiTW9iaWxlVGhlbWUiOiJMaWdodCIsIk
1338ZvY3VzQW5pIjp0cnVlfQ=="> <style>/* Pulse animation */
1339    .pulse, .pulse2, .slide-pulse {
1340        -webkit-animation-iteration-count: 1;
1341        -moz-animation-iteration-count: 1; 
1342        -o-animation-iteration-count: 1;
1343        animation-iteration-count: 1; 
1344    }</style> 
1345 <div id="conversion-menu-container"> <div class="overlay"></div> 
1346 <div class="mobile-bg"></div> 
1347 <div class="social-bg"></div> 
1348 <div class="fab" id="masterfab"> <div class="desktop-bg"> <div id="help-text">Hi. Do you need any help?</div> 
1349 <div id="close-bar"> <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewbox="0 0 224.512 224.512" style="enable-background:new 0 0 224.512 224.512;" xml:space="preserve"> <title>Close</title> 
1350 <g> <polygon points="224.507,6.997 217.521,0 112.256,105.258 6.998,0 0.005,6.997 105.263,112.254 0.005,217.512 6.998,224.512 112.256,119.24 217.521,224.512 224.507,217.512 119.249,112.254"></polygon> 
1351</g> 
1352 <g></g> 
1353 <g></g> 
1354 <g></g> 
1355 <g></g> 
1356 <g></g> 
1357 <g></g> 
1358 <g></g> 
1359 <g></g> 
1360 <g></g> 
1361 <g></g> 
1362 <g></g> 
1363 <g></g> 
1364 <g></g> 
1365 <g></g> 
1366 <g></g> 
1367</svg> 
1368</div> 
1369</div> 
1370 <span id="main-container"></span> 
1371</div> 
1372 <div id="float-container"></div> 
1373</div> 
1374 <div class="modal micromodal-slide" id="social-modal-menu" aria-hidden="true"> <div class="modal__overlay" tabindex="-1" data-micromodal-close=""> <div class="modal__container" role="dialog" aria-modal="true" aria-labelledby="Social Share Modal"> <header class="modal__header"> <h2 class="modal__title" id="modal-1-title">Share On:</h2> 
1375 <button class="modal__close" aria-label="Close modal" data-micromodal-close=""> <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewbox="0 0 224.512 224.512" style="enable-background:new 0 0 224.512 224.512;" xml:space="preserve" data-micromodal-close=""> <title>Close</title> 
1376 <g> <polygon points="224.507,6.997 217.521,0 112.256,105.258 6.998,0 0.005,6.997 105.263,112.254 0.005,217.512 6.998,224.512 112.256,119.24 217.521,224.512 224.507,217.512 119.249,112.254"></polygon> 
1377</g> 
1378 <g></g> 
1379 <g></g> 
1380 <g></g> 
1381 <g></g> 
1382 <g></g> 
1383 <g></g> 
1384 <g></g> 
1385 <g></g> 
1386 <g></g> 
1387 <g></g> 
1388 <g></g> 
1389 <g></g> 
1390 <g></g> 
1391 <g></g> 
1392 <g></g> 
1393</svg> 
1394</button> 
1395</header> 
1396 <main class="modal__content" id="modal-1-content"> <div class="share-container"></div> 
1397</main> 
1398</div> 
1399</div> 
1400</div> 
1401</div> 
1402</div> 
1403</div> 
1404</div> 
1405</div> 
1406 <div id="1236746004" class="poweredBy poweredByHibu" dmle_extension="powered_by" data-element-type="powered_by" icon="true" surround="false"> <div class="poweredLine1"> <a href="http://budurl.com/hibuprivacy" target="_blank">Privacy Policy</a>| <a href="http://budurl.com/hibucookie" target="_blank">Do Not Share My Information</a>| <a href="http://budurl.com/hibuconditionsofuse" target="_blank">Conditions of Use</a>| <a href="http://budurl.com/hibunotice" target="_blank">Notice and Take Down Policy</a>| <a href="http://b.link/accessibility" target="_blank">Website Accessibility Policy</a> 
1407</div> 
1408 <div class="poweredLine2">&copy; <span id="hibuYear">2026</span> 
1409The content on this website is owned by us and our licensors. Do not copy any content (including images) without our consent.</div> 
1410</div> 
1411</div> 
1412</div> 
1413</div> 
1414</div> 
1415</div> 
1416</div> 
1417</div> 
1418</div> 
1419</div> 
1420</div> 
1421
1422    </div>
1423</div>
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463<script>
1464    var isWLR = true;
1465
1466    window.customWidgetsFunctions = {};
1467    window.customWidgetsStrings = {};
1468    window.collections = {};
1469    window.currentLanguage = "ENGLISH"
1470    window.isSitePreview = false;
1471</script>
1471
1472
1473
1474
1475<script>
1476    window.customWidgetsFunctions["4297c64e3aa349d4ac38764dde32ebef~68"] = function (element, data, api) {
1477        let HasOpenedMenu = false;
1478
1479$(document).ready(function() {
1480   displayType(); 
1481});
1482
1483function displayType() {
1484    if(isMobile()) {
1485        displayMobile();
1486    } else {
1487        displayDesktop();
1488    }
1489}
1490
1491function displayMobile() {
1492    var masterFabEle = $(element).find('#masterfab');
1493    $('#main-container').empty().append(getSvg(data.config.MobileMain));
1494    
1495    $(masterFabEle).attr('class', 'fab master-mobile');// add mobile class for custom style
1496    $(masterFabEle).css('display', 'flex'); //since element is hidden by default, show instead
1497    // add items with or without overlay and label text
1498    if(data.config.MobileLayout === 'Full')     $('.mobile-bg').after(getItems('leftText'));
1499    else                                        $('.mobile-bg').after(getItems());
1500    
1501    mobileTheme();  // add light or dark theme
1502    addListener();
1503    // add focus animation
1504    if(data.config.FocusAni) animateFocus();
1505}
1506function displayDesktop() {
1507    var masterFabEle = $(element).find('#masterfab');
1508    $(masterFabEle).css('display', 'flex'); //since element is hidden by default, show instead
1509    if(data.config.DesktopLayout === 'Bar') {
1510        $('#main-container').empty().append(getSvg(data.config.DeskMain));
1511        $(masterFabEle).append(getItems('rightText'));
1512    }
1513    else {
1514        $('#float-container').empty().append(getItems('rightText', true));
1515    }
1516    desktopType();
1517    addListener();
1518    // add focus animation
1519    if(data.config.FocusAni) animateFocus();
1520}
1521// handles style changes for desktop types
1522function desktopType() {
1523    $('#masterfab').attr('class', 'fab master-desktop'); // add desktop class for styling
1524    $('.icon-container').addClass('desktop');
1525    if(data.config.DesktopLayout === 'Bar') {
1526        $('.menu-link').addClass('desk-bar');       // add class for fixed bar text
1527        $('.child').attr('class', 'fab child child-desktop-bar');
1528        
1529        const masterLabel = '<span id="master-label">'+data.config.MainLabel+'</span>';
1530        $('#master-label').remove();
1531        $('#masterfab').append(masterLabel);
1532        
1533        $('#masterfab').addClass('master-bar');
1534    } else if(data.config.DesktopLayout === 'Float') {
1535        $('#masterfab').hide();
1536    }
1537}
1538// styles light and dark mobile themes
1539function mobileTheme() {
1540    $('.child').attr('class', 'fab child child-mobile');
1541    if(data.config.MobileTheme === 'Light') {
1542        $('.overlay, .child, .social-icon, .icon-container, .mobile-bg, social-bg, .menu-link').addClass('mobile light');
1543    }
1544    else if(data.config.MobileTheme === 'Dark') {
1545        $('.overlay, .child, .social-icon, .icon-container, .mobile-bg, social-bg, .menu-link').addClass('mobile dark');
1546    }
1547}
1548// adds click or hover listeners
1549function addListener() {
1550    // add listener and animation for floating icons hover animation
1551    if(!isMobile() && data.config.DesktopLayout === 'Float') animateFloat('.float-container', 300);
1552    // click handlers for desktop bar and mobile options
1553    else {
1554        $("#conversion-menu-container").off('click', '.fab,.overlay');
1555        $("#conversion-menu-container").on('click', '.fab,.overlay', function(){
1556            HasOpenedMenu = true;
1557            $('.animation').remove();   // remove any animations we have
1558            if(isMobile()) {
1559                animateIcons('overlay');
1560                data.config.MobileLayout === 'Full'? animateBg('.mobile-bg') : '';
1561            } else {    // bar desktop
1562                animateIcons('helpText');
1563                animateBg('.desktop-bg');
1564            }
1565        });
1566    }
1567}
1568
1569// listens for share button click and triggers response
1570function addShareListener() {
1571    $("#conversion-menu-container").off('click', '.share');
1572    $(".share").on('click', function() {
1573        console.log('share clicked modal should open');
1574        MicroModal.show('social-modal-menu'); 
1575    });
1576}
1577
1578//
1579// ANIMATIONS
1580//
1581function animateFocus() {
1582    $('.animation').remove();   //in case already in DOM
1583    if(!HasOpenedMenu) {
1584        if(isMobile()) {
1585            const pulse = '<div class="pulse2 animation"/><div class="pulse animation"/>';
1586            setTimeout(function() {
1587                $('#masterfab').append(pulse);
1588            }, +data.config.FocusDelay);
1589        }
1590        // desktop
1591        else {
1592            data.config.DesktopLayout === 'Float'?
1593                animateFloatFocus() : animateBarFocus();
1594        }
1595    }
1596}
1597function animateFloatFocus() {
1598    if($('.focus')[0]) {
1599        const id = $('.focus')[0].id;
1600        setTimeout(function() {
1601            $('#'+id).css('max-width', '');
1602            $('#'+id).addClass('slide-pulse');
1603        }, +data.config.FocusDelay);
1604    }
1605}
1606// opens fixed bar on desktop after set interval
1607function animateBarFocus() {
1608    if(!$(".desktop-bg").is(":visible")) {
1609        setTimeout(function() {
1610            animateIcons('helpText');
1611            animateBg('.desktop-bg');
1612        }, +data.config.FocusDelay);
1613    }
1614}
1615// adds hover listeners and animates floating icons on desktop
1616function animateFloat(selector, dur) {
1617    $("#float-container").off("mouseenter", selector);
1618    $("#float-container").on("mouseenter", selector, function(event) {
1619        console.log('float mouse enter');
1620        HasOpenedMenu = true;
1621        var id = $(this)[0].id;
1622        // cancel animation on hover
1623        data.config.FocusAni? $('#'+id).removeClass('slide-pulse') : 0;
1624        
1625        $('#text-'+id).fadeIn();
1626        $('#float-text-'+id).fadeIn(dur).css("display","inline-flex");
1627        $('#'+id).stop().animate({
1628            "max-width": "200px",
1629        }, dur);
1630    });
1631    
1632    $("#float-container").off("mouseleave", selector);
1633    $("#float-container").on("mouseleave", selector, function(event) {
1634        console.log('float mouse leave');
1635        var id = $(this)[0].id;
1636        $('#text-'+id).fadeOut(dur);
1637        $('#'+id).stop().animate({
1638            "max-width": "42.666px",
1639        }, dur);
1640    });
1641}
1642// animates icons slide up and transparent overlay(depending on showType)
1643function animateIcons(showType) {
1644    if($(".overlay").is(":visible") || $(".desktop-bg").is(":visible")) {
1645        if(showType === 'overlay')          $('.overlay').fadeOut(125);
1646        else if(showType === 'helpText')    $('#help-text').fadeOut(125);
1647        
1648        // add plus icon back
1649        $('#main-container').empty().append(getSvg(data.config.MobileMain));
1650
1651        $('.fab.child').stop().animate({
1652            bottom  : $('#masterfab').css('bottom'),
1653            opacity : 0
1654        }, 125, function() {
1655            $(this).hide();
1656        });
1657    } else {
1658        if(showType === 'overlay')          $('.overlay').fadeIn(125);
1659        else if(showType === 'helpText')    $('#help-text').fadeIn(125);
1660        
1661        // add close icon on mobile only
1662        if(isMobile()) $('#main-container').empty().append(getSvg('close'));
1663        $(".fab.child").each(function(){
1664            $(this).stop().show().animate({
1665                bottom  : (parseInt($("#masterfab").css("bottom")) + parseInt($("#masterfab").outerHeight() + 20) + 56 * $(this).data("subitem") - $(".fab.child").outerHeight()) + "px",
1666                opacity : 1
1667            }, 125);
1668        });
1669    }
1670}
1671// adds overlay that slides up
1672function animateBg(selector) {
1673    if($(selector).is(":visible")) {
1674        $('#main-container').removeClass('open');
1675        $("#masterfab.fab.master-mobile").removeClass('mobile-open')
1676        var mainIcon = data.config.DeskMain
1677        // revert to default main icon style
1678        if(isMobile()) {
1679            mainIcon = data.config.MobileMain;
1680            $('#masterfab').css({'background': '', 'box-shadow': ''});  // restore default
1681        }
1682        $('#main-container').empty().append(getSvg(mainIcon));
1683        
1684        $('.menu-link, .child').hide();
1685        // slide down to cloes
1686        $(selector).stop().animate({
1687            height  : 0,
1688            opacity : 0
1689        }, 125, function(){
1690            $(this).hide();
1691        });
1692    } else {
1693        $('#main-container').addClass('open');
1694        $("#masterfab.fab.master-mobile").addClass('mobile-open')
1695        var topArea = 100;
1696        if(isMobile()) {
1697            $('#masterfab').css({'background': 'none', 'box-shadow': 'none'});  // make icon flat
1698            $('#main-container').empty().append(getSvg('close'));   // add x icon
1699        }
1700        else if(data.config.DesktopLayout === 'Bar') {
1701            // hack to get height of bar help text before it's visible
1702            $(selector).css({'position':'absolute','visibility':'hidden', 'display':'block'});
1703            topArea = $("#help-text").height()? $("#help-text").height() + 60 : 40;
1704            $(selector).removeAttr('style');
1705        }
1706        
1707        // slide up to open
1708        $(selector).stop().show().animate({
1709            height  : (((data.config.IconList.length+1) * 56) + topArea) + "px",
1710            opacity : 1
1711        },125, function() {
1712            $('.menu-link').fadeIn(125);
1713            $(selector).css("display","flex")
1714        });
1715    }
1716}
1717
1718function getItems(type, float) {
1719    $('.child').remove();   // remove any items already in DOM
1720    var html = '', label = '', icon = '', text = '';
1721    var items = float? data.config.IconList : data.config.IconList.reverse();
1722    items.forEach(function(item, index) {
1723        if(item.showonmobile==true && data.device === 'mobile'){
1724        index = index+1;
1725       if(type === 'rightText'){ 
1726           label = '<span class="right-text">' + item.Label + '</span>';
1727        }
1728        if(type === 'leftText') {
1729            label = '<span class="left-text">' + item.Label + '</span>';
1730        }
1731       
1732        
1733            icon = '<span class="icon-container">'+getItemIcon(item)+'</span>';
1734            html += 
1735                '<div class="fab child" id="child-'+index+'" data-subitem="'+index+'"> \
1736                    '+getItemAction(item, icon+label)+' \
1737                </div>';
1738        
1739        if(item.Action === 'Share') {
1740            $.getScript('https://cdn.jsdelivr.net/npm/micromodal/dist/micromodal.min.js', function() {
1741                MicroModal.init();
1742                $('.share-container').html(getSocialItems(item));   // add social icons to modal
1743                addShareListener();   // if social sharing enabled add click handler
1744            });
1745        }
1746        }
1747        
1748        else if(item.showondesktop==true && (data.device === 'desktop' || data.device === 'tablet') ){
1749           if(type === 'rightText'){ 
1750           label = '<span class="right-text">' + item.Label + '</span>';
1751        }
1752        if(type === 'leftText') {
1753            label = '<span class="left-text">' + item.Label + '</span>';
1754        }
1755        if(!float) {
1756            icon = '<span class="icon-container">'+getItemIcon(item)+'</span>';
1757            html += 
1758                '<div class="fab child" id="child-'+index+'" data-subitem="'+index+'"> \
1759                    '+getItemAction(item, icon+label)+' \
1760                </div>';
1761        }
1762        // floating icons on desktop only
1763        else {
1764            // add focus class for focus animation
1765            label = item.Label;
1766            var focusClass = item.Animate? 'focus' : '';
1767            icon = '<span class="icon-container">'+getItemIcon(item)+'</span>';
1768            text = '<span class="float-text" id="text-'+index+'">'+label+'</span>';
1769            html += 
1770                '<div class="float-container '+focusClass+'" id="'+index+'"> \
1771                    <span class="fab child float" id="child-'+index+'" data-subitem="'+index+'" style="display: inline-flex;"> \
1772                        '+getItemAction(item, icon)+' \
1773                    </span> \
1774                    <span class="float-text-container" id="float-text-'+index+'"> \
1775                        '+getItemAction(item, text)+' \
1776                    </span> \
1777                </div>';
1778        }
1779        // if action is share add share items to modal
1780        if(item.Action === 'Share') {
1781            $.getScript('https://cdn.jsdelivr.net/npm/micromodal/dist/micromodal.min.js', function() {
1782                MicroModal.init();
1783                $('.share-container').html(getSocialItems(item));   // add social icons to modal
1784                addShareListener();   // if social sharing enabled add click handler
1785            });
1786        }
1787        }
1788    });
1789    return html;
1790}
1791function getSocialItems(item) {
1792    let html = '';
1793    const content = getShareContent(item);
1794    if(item.Email)      html += getShareHtml('Email', content.link, content.title, 'Tab', 'social');
1795    if(item.Facebook)   html += getShareHtml('Facebook', content.link, content.title, 'Tab', 'social');
1796    if(item.Tumblr)     html += getShareHtml('Tumblr', content.link, content.title, 'Tab', 'social');
1797    if(item.LinkedIn)   html += getShareHtml('LinkedIn', content.link, content.title, 'Tab', 'social');
1798    if(item.Twitter)    html += getShareHtml('Twitter', content.link, content.title, 'Tab', 'social');
1799    if(item.Reddit)     html += getShareHtml('Reddit', content.link, content.title, 'Tab', 'social');
1800    //if(item.GooglePlus) html += getShareHtml('GooglePlus', content.link, content.title, 'Tab', 'social');
1801    if(item.Pinterest)  html += getShareHtml('Pinterest', content.link, content.title, 'Tab', 'social');
1802    return html;
1803}
1804
1805//
1806// Social Share Functions
1807//
1808function getShareContent(item) {
1809    // set link to the current page url
1810    let link = item.ShareLink? item.Link.href : window.top.location.href;
1811    link = encodeURI(link);
1812    
1813    // get default page title from the actual page title
1814    const pageTitle = item.ShareTitle? item.ShareTitle : document.title;
1815    const encodedTitle = encodeURI(pageTitle);
1816    
1817    return {link: link, title: encodedTitle};
1818}
1819function getShareHtml(site, link, encodedTitle, action, linkClass) {
1820    let href = '';
1821    switch(site) {
1822        case 'Email':
1823            href = "mailto:?Subject="+encodedTitle+"&body=Check out this site: "+window.location.href;
1824            
1825            statsEventName = 'CM_SHARE_EMAIL';
1826            return (
1827                '<div class="social-icon" style="background-color: grey;"> \
1828                    <a href="'+href+'" class="'+linkClass+'" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');;"> \
1829                        '+getSvg('shareenvelope')+' \
1830                    </a> \
1831                </div>');
1832        case 'Facebook':
1833            href = 'https://www.facebook.com/sharer/sharer.php?u='+link;
1834            statsEventName = 'CM_SHARE_FB';
1835            return (
1836                '<div class="social-icon" style="background-color: #3b5998;"> \
1837                    <a href="'+href+'" class="'+linkClass+'" target="_blank" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');"> \
1838                        '+getSvg('facebook')+' \
1839                    </a> \
1840                </div>');
1841        case 'Tumblr':
1842            href = 'http://tumblr.com/share/link?url='+link+'&name='+encodedTitle;
1843            return ( 
1844                '<div class="social-icon" style="background-color: #35465c;"> \
1845                    <a href="'+href+'" class="'+linkClass+'" target="_blank" > \
1846                        '+getSvg('tumblr')+' \
1847                    </a> \
1848                </div>');
1849        case 'LinkedIn':
1850            href = 'http://www.linkedin.com/shareArticle?mini=true&amp;url='+link+'&amp;title='+encodedTitle;
1851            statsEventName = 'CM_SHARE_LINKEDIN';
1852            return ( 
1853                '<div class="social-icon" style="background-color: #4875B4;"> \
1854                    <a href="'+href+'" class="'+linkClass+'" target="_blank" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');"> \
1855                        '+getSvg('linkedIn')+' \
1856                    </a> \
1857                </div>');
1858        case 'Twitter':
1859            href = 'https://twitter.com/intent/tweet?text='+link;
1860            statsEventName = 'CM_SHARE_TWITTER';
1861            return (
1862                '<div class="social-icon" style="background-color: #000000;"> \
1863                    <a href="'+href+'" class="'+linkClass+'" target="_blank" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');"> \
1864                        '+getSvg('twitter')+' \
1865                    </a> \
1866                </div>');
1867        case 'Reddit':
1868            href = 'http://www.reddit.com/submit?url='+link+'&title='+encodedTitle+'&text='+encodedTitle;
1869            return ( 
1870                '<div class="social-icon" style="background-color: #ff4500;"> \
1871                    <a href="'+href+'" class="'+linkClass+'" target="_blank"> \
1872                        '+getSvg('reddit')+' \
1873                    </a> \
1874                </div>');
1875       /* case 'GooglePlus':
1876            href = 'https://plus.google.com/share?url='+link;
1877            statsEventName = 'CM_SHARE_GOOGLE_PLUS';
1878            return ( 
1879                '<div class="social-icon" style="background-color: #d34836;"> \
1880                    <a href="'+href+'" class="'+linkClass+'" target="_blank" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');"> \
1881                        '+getSvg('gPlus')+' \
1882                    </a> \
1883                </div>'); */
1884        case 'Pinterest':
1885            href = 'http://pinterest.com/pin/create/button/?url='+link+'&amp;description='+encodedTitle;
1886            return (
1887                '<div class="social-icon" style="background-color: #cb2027;"> \
1888                    <a href="'+href+'" class="'+linkClass+'" target="_blank"> \
1889                        '+getSvg('pinterest')+' \
1890                    </a> \
1891                </div>');
1892        default: 
1893            return '';
1894    }
1895}
1896
1897//
1898// Helpers
1899//
1900// check display type
1901function isMobile() {
1902    return data.device === 'mobile';
1903}
1904function getItemAction(item, elem) {
1905    var statsEventName='';
1906    switch(item.Action) {
1907        case 'Link':
1908            if(!item.Link) item.Link = { target: 'target="_blank', href: 'http://www.google.com' }  // default link
1909            var target = item.Link.target? item.Link.target : '';
1910            var statsEventName = 'CM_LINK_CLICK';
1911            return '<a '+target+' href="'+item.Link.href+'" class="menu-link" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');">
1911'+elem+'</a>';
1912        case 'Call':
1913            statsEventName = 'CM_CLICK_TO_CALL';
1914            return '<a href="tel:'+item.CallNum+'" class="menu-link" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');">'+elem+'</a>';
1915        case 'Sms':
1916            statsEventName = 'CM_CLICK_TO_SMS';
1917            return '<a href="sms:'+item.SmsNum+'" class="menu-link" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');">'+elem+'</a>';
1918        case 'Email':
1919            statsEventName = 'CM_CLICK_TO_EMAIL';
1920            return '<a href="mailto:'+item.EmailAddr+'?subject='+item.emailDefSubject + '&body=' + item.defEmailBody + '" target="_blank" class="menu-link" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');">'+elem+'</a>';
1921        case 'Map':
1922            statsEventName = 'CM_DIRECTION';
1923            return '<a target="_blank" href="https://www.google.com/maps?q='+item.Query+'" class="menu-link" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');">'+elem+'</a>';
1924        case 'Mess':
1925            statsEventName = 'CM_FB_MESSAGE';
1926            return '<a href="http://m.me/'+item.FbUser+'" class="menu-link" target="_blank" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');">'+elem+'</a>';
1927        case 'Share':
1928            return '<a href="#" class="menu-link share">'+elem+'</a>';
1929        default: 
1930            return '';
1931    }
1932}
1933// returns new default icon only if icon is default (identified by path data in default svg MUST CHANGE FOR DIFFERENT DEFAUTL)
1934function getItemIcon(item) {
1935    // icon is default
1936    if(item.CustomIcon) {
1937         return '<div class="new-container">'+item.Icon+'</div>';
1938    } else {
1939        switch(item.Action) {
1940            case 'Link':
1941                return getSvg('link');
1942            case 'Call':
1943                return getSvg('phone');
1944            case 'Sms':
1945                return getSvg('sms');
1946            case 'Email':
1947                return getSvg('envelope');
1948            case 'Mess':
1949                return getSvg('messenger');
1950            case 'Map':
1951                return getSvg('map');
1952            case 'Share':
1953                return getSvg('share');
1954        }
1955    }
1956}
1957window._trackConvWidgetClickEvent = function(eventName) {
1958    if(typeof(HAF)==="object"){
1959        HAF.OmTracking.onCMClick(eventName) 
1960    }
1961    return;
1962}
1963
1964function dudaicon(icon){
1965    return '<span class="new-container">'+icon+'</span>'
1966    
1967    
1968}
1969function getSvg(name) {
1970    const type = name? name : data.config.DeskMain;
1971    switch(type) {
1972        case 'vEllipsis':
1973            return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><title>More</title><path d="M96 184c39.8 0 72 32.2 72 72s-32.2 72-72 72-72-32.2-72-72 32.2-72 72-72zM24 80c0 39.8 32.2 72 72 72s72-32.2 72-72S135.8 8 96 8 24 40.2 24 80zm0 352c0 39.8 32.2 72 72 72s72-32.2 72-72-32.2-72-72-72-72 32.2-72 72z"/></svg>';
1974        case 'map':
1975            return '<svg class="iconsvgmap" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512" data-default="true"><path d="M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z"/></svg>'
1976        case 'hEllipsis':
1977            return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><title>More</title><path d="M328 256c0 39.8-32.2 72-72 72s-72-32.2-72-72 32.2-72 72-72 72 32.2 72 72zm104-72c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm-352 0c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72z"/></svg>';
1978        case 'plus':
1979            return '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 42 42" style="enable-background:new 0 0 42 42; xml:space="preserve"><title>More</title><polygon points="42,20 22,20 22,0 20,0 20,20 0,20 0,22 20,22 20,42 22,42 22,22 42,22 "/><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg>';
1980        case 'bars':
1981            return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><title>More</title><path d="M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z"/></svg>';
1982        case 'envelope':
1983            return '<svg class="iconsvgemail" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><title>Email</title><path d="M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.5
198379-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z"/></svg>';
1984        case 'shareenvelope':
1985            return '<svg class="iconsvgshareemail" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><title>Email</title><path d="M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z"/></svg>';
1986        case 'phone':
1987            return '<svg class="iconsvgphone" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-default><title>Phone</title><path d="M493.4 24.6l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-36 76.7-98.9 140.5-177.2 177.2l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48C3.9 366.5-2 378.1.6 389.4l24 104C27.1 504.2 36.7 512 48 512c256.1 0 464-207.5 464-464 0-11.2-7.7-20.9-18.6-23.4z"/></svg>';
1988        case 'close':
1989            return '<svg class="iconsvgclose" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"viewBox="0 0 224.512 224.512" style="enable-background:new 0 0 224.512 224.512;" xml:space="preserve"><title>Close</title><g><polygon points="224.507,6.997 217.521,0 112.256,105.258 6.998,0 0.005,6.997 105.263,112.254 0.005,217.512 6.998,224.512 112.256,119.24 217.521,224.512 224.507,217.512 119.249,112.254"/></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg>';
1990        case 'facebook':
1991            return '<svg class="iconsvgfb" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 264 512"><title>Facebook</title><path d="M76.7 512V283H0v-91h76.7v-71.7C76.7 42.4 124.3 0 193.8 0c33.3 0 61.9 2.5 70.2 3.6V85h-48.2c-37.8 0-45.1 18-45.1 44.3V192H256l-11.7 91h-73.6v229"/></svg>';
1992        case 'messenger':
1993            return '<svg class="iconsvgmesg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><title>Facebook Messenger</title><path d="M224 32C15.9 32-77.5 278 84.6 400.6V480l75.7-42c142.2 39.8 285.4-59.9 285.4-198.7C445.8 124.8 346.5 32 224 32zm23.4 278.1L190 250.5 79.6 311.6l121.1-128.5 57.4 59.6 110.4-61.1-121.1 128.5z"/></svg>'
1994        case 'tumblr':
1995            return '<svg class="iconsvgtmb" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><title>Tumblr</title><path d="M309.8 480.3c-13.6 14.5-50 31.7-97.4 31.7-120.8 0-147-88.8-147-140.6v-144H17.9c-5.5 0-10-4.5-10-10v-68c0-7.2 4.5-13.6 11.3-16 62-21.8 81.5-76 84.3-117.1.8-11 6.5-16.3 16.1-16.3h70.9c5.5 0 10 4.5 10 10v115.2h83c5.5 0 10 4.4 10 9.9v81.7c0 5.5-4.5 10-10 10h-83.4V360c0 34.2 23.7 53.6 68 35.8 4.8-1.9 9-3.2 12.7-2.2 3.5.9 5.8 3.4 7.4 7.9l22 64.3c1.8 5 3.3 10.6-.4 14.5z"/></svg>';
1996        case 'linkedIn':
1997            return '<svg class="iconsvgli" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><title>LinkedIn</title><path d="M100.3 480H7.4V180.9h92.9V480zM53.8 140.1C24.1 140.1 0 115.5 0 85.8 0 56.1 24.1 32 53.8 32c29.7 0 53.8 24.1 53.8 53.8 0 29.7-24.1 54.3-53.8 54.3zM448 480h-92.7V334.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V480h-92.8V180.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V480z"/></svg>';
1998        case 'twitter':
1999            return '<svg class="iconsvgtw" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><title>Twitter</title><path d="M12.6.75h2.454l-5.36 6.142L16 15.25h-4.937l-3.867-5.07-4.425 5.07H.316l5.733-6.57L0 .75h5.063l3.495 4.633L12.601.75Zm-.86 13.028h1.36L4.323 2.145H2.865z""/></svg>';
2000        case 'reddit':
2001            return '<svg class="iconsvgred" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><title>Reddit</title><path d="M440.3 203.5c-15 0-28.2 6.2-37.9 15.9-35.7-24.7-83.8-40.6-137.1-42.3L293 52.3l88.2 19.8c0 21.6 17.6 39.2 39.2 39.2 22 0 39.7-18.1 39.7-39.7s-17.6-39.7-39.7-39.7c-15.4 0-28.7 9.3-35.3 22l-97.4-21.6c-4.9-1.3-9.7 2.2-11 7.1L246.3 177c-52.9 2.2-100.5 18.1-136.3 42.8-9.7-10.1-23.4-16.3-38.4-16.3-55.6 0-73.8 74.6-22.9 100.1-1.8 7.9-2.6 16.3-2.6 24.7 0 83.8 94.4 151.7 210.3 151.7 116.4 0 210.8-67.9 210.8-151.7 0-8.4-.9-17.2-3.1-25.1 49.9-25.6 31.5-99.7-23.8-99.7zM129.4 308.9c0-22 17.6-39.7 39.7-39.7 21.6 0 39.2 17.6 39.2 39.7 0 21.6-17.6 39.2-39.2 39.2-22 .1-39.7-17.6-39.7-39.2zm214.3 93.5c-36.4 36.4-139.1 36.4-175.5 0-4-3.5-4-9.7 0-13.7 3.5-3.5 9.7-3.5 13.2 0 27.8 28.5 120 29 149 0 3.5-3.5 9.7-3.5 13.2 0 4.1 4 4.1 10.2.1 13.7zm-.8-54.2c-21.6 0-39.2-17.6-39.2-39.2 0-22 
200117.6-39.7 39.2-39.7 22 0 39.7 17.6 39.7 39.7-.1 21.5-17.7 39.2-39.7 39.2z"/></svg>';
2002        case 'pinterest':
2003            return '<svg class="iconsvgpin" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><title>Pinterest</title><path d="M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z"/></svg>';
2004        case 'share':
2005            return '<svg class="iconsvgshare" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1536 1792"><title>Share</title><path d="M1216 1024q133 0 226.5 93.5t93.5 226.5-93.5 226.5-226.5 93.5-226.5-93.5-93.5-226.5q0-12 2-34l-360-180q-92 86-218 86-133 0-226.5-93.5t-93.5-226.5 93.5-226.5 226.5-93.5q126 0 218 86l360-180q-2-22-2-34 0-133 93.5-226.5t226.5-93.5 226.5 93.5 93.5 226.5-93.5 226.5-226.5 93.5q-126 0-218-86l-360 180q2 22 2 34t-2 34l360 180q92-86 218-86z"/></svg>';
2006        case 'sms':
2007            return '<svg class="iconsvgsms" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><title>SMS Text</title><path d="M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 9.8 11.2 15.5 19.1 9.7L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64z"/></svg>';
2008        case 'link':
2009            return '<svg class="iconsvglink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"/></svg>';
2010        default: 
2011            return '';
2012    }
2013}
2014
2015    };
2016</script>
2016
2017
2018<script>
2019    window.customWidgetsFunctions["d1ee5d5bf037471ea1770683731e577a~22"] = function (element, data, api) {
2020        $(document).ready(function(){
2021    $.getScript('https://widget.hibu.us/static/js/index.js')
2022    .done(function(){
2023        dmAPI.runOnReady('hibu_header_reviews',function(){
2024            window.renderApp();
2025        });
2026        
2027    })
2028    .fail(function(){
2029        console.log("failed to loaded header reviews js file")
2030    });
2031})
2032
2033
2034    };
2035</script>
2035
2036
2037<script>
2038    window.customWidgetsFunctions["7b6cfbac88324cffbaaf57354cd7a334~227"] = function (element, data, api) {
2039        var emptyListPlaceHolder="<span style='min-height:20px' class='editorOnlyInfo inEditor' data-nosnippet>This list has no data in Yext. This message only appears in the editor.</span>"
2040
2041/* find yext src */
2042var findYextSrc = function(){
2043    var  keyExp = new RegExp(/src="(.*?)"/);
2044    if (data.config.script.includes('location_id')) {
2045        data.config.script = data.config.script.replace('location_id', 'entity_id');
2046    }
2047    var result = keyExp.exec(data.config.script);
2048    if(result && result.length == 2){
2049        window.yextScriptSrc=result[1];
2050        return result[1];
2051    }else{
2052        return window.yextScriptSrc;
2053    }
2054}
2055
2056window.yextLoadedCallback = function(yextData) {
2057    $('.wrongScriptError').removeClass('hasError');
2058    window.yextInitialized = true;
2059    
2060    if(yextData) {
2061        window._yextData = yextData;    
2062    } else {
2063        throw "Yext loaded but no data was passed";
2064    }
2065}
2066
2067function loadYextScript(src){
2068    $(element).find('.wrongScriptError').removeClass('hasError');
2069    var yextScript = document.getElementById('d-yext-script');
2070    if (yextScript) {
2071        yextScript.parentNode.removeChild(yextScript);
2072    }
2073    yextScript = document.createElement('script');
2074    yextScript.charset = 'utf-8';
2075    yextScript.type = 'text/javascript';
2076    
2077    src += "&callback=yextLoadedCallback"
2078    
2079    yextScript.src = src;
2080    yextScript.id = 'd-yext-script';
2081    document.body.appendChild(yextScript);
2082}
2083
2084/* load yext script */
2085var loadYext = function(forceRefresh) {
2086    // Make sure we call Yext only once
2087    if(window.yextInitialized && !forceRefresh){
2088        return;
2089    }
2090    
2091    startIntervalToWaitAndLoadWidgets(data.config.type);
2092    
2093    // We extract the "src" attribute from the string provided ina  safe way
2094    // The format we expect is the following:
2095   
2096    try{
2097        var src = findYextSrc();
2098        if(src){
2099
2100            loadYextScript(src);
2101            
2102        } else if(data.inEditor) {
2103            // $(document).load(function(){
2104            //     if(!window._yextData) {
2105            //         $(element).find('.wrongScriptError').addClass('hasError');    
2106            //     }
2107            // })
2108            
2109            // $(element).find('.wrongScriptError').addClass('hasError');
2110            
2111            return;
2112        }
2113        
2114    } catch(exp) {
2115        // $(element).find('.wrongScript').addClass('hasError');
2116        console.log(exp)
2117        return;
2118    }
2119    
2120    if (data.inEditor) {
2121        if($('.multipleYextError').length > 1){
2122             $(element).find('.multipleYextError').addClass('hasError');
2123             return;
2124        }else if(data.config.type === 'none'){
2125            $(element).find('.editorOnlyInfo').addClass('inEditor'); 
2126        }
2127    }
2128}
2129
2130/* refresh yext script */
2131window.refreshYext = function(){
2132    loadYext(true);
2133}
2134
2135//function for Omniture tracking
2136window._trackConvWidgetClickEvent = function(eventName) {
2137    if(typeof(HAF)==="object"){
2138        HAF.OmTracking.onCMClick(eventName) 
2139    }
2140    return;
2141}
2142
2143/* draw yext map */
2144var drawMap = function(yextData){
2145    var zoom = data.config.mapZoom;
2146    var yData = yextData.entities[0].attributes;
2147    var addressQuery = yData['address1'] + " " + yData['address2'] + " " + yData['city'] + " " + yData['state'] + " " + yData['zip'];
2148    dmAPI.drawMap({addressQuery: addressQuery, zoom: zoom, container: $(element).find('.yextMap')});
2149}
2150
2151
2152
2153var formatPhoneBeforeRender = function(num,cb) {
2154    if (!cb)
2155        cb = function(){return}
2156    if(data.config.formatPhone){ 
2157        var s2 = (""+num).replace(/\D/g, '');
2158        var m = s2.match(/^(\d{3})(\d{3})(\d{4})$/);
2159        var formatted =  (!m) ? null : "(" + m[1] + ") " + m[2] + "-" + m[3];
2160        cb(formatted);
2161        return formatted;
2162    } else {
2163        cb(num);
2164        return num;
2165    }
2166}
2167
2168var displayTextdList = function(type,yextData,firstOnly) {
2169    var list = "";
2170    if(yextData.entities[0].attributes[type]) {
2171        var yextAtt = yextData.entities[0].attributes[type]
2172    } else {
2173        var yextAtt = false
2174    }
2175    
2176    if(yextAtt && Array.isArray(yextAtt)) {
2177        for (var i=0; i< yextAtt.length; i++) {
2178            if (yextAtt[i] === 'Android Pay') {
2179                list += '<li>Google Pay</li>';
2180            }
2181            else {
2182                list += '<li>' + yextAtt[i] + '</li>';
2183            }
2184        }
2185        $(element).find('#' + type + 'List').html(list);
2186    } else if (yextAtt) {
2187        var yextAtt = yextAtt.split(", ");
2188        for (var i=0; i< yextAtt.length; i++) {
2189            list += '<li>' + yextAtt[i] + '</li>';
2190        }
2191        $(element).find('#' + type + 'List').html(list);
2192    } else if (data.inEditor) {
2193        $(element).html(emptyListPlaceHolder);
2194    } else {
2195        $(element).css('display','none');
2196    }
2197    
2198    
2199}
2200
2201var  displaySpecialties = function(yextData){
2202    var list = "";
2203    if(yextData.entities[0].attributes["specialties"]) {
2204        var yextAtt = yextData.entities[0].attributes["specialties"]
2205    } else if (yextData.entities[0].attributes["specialities"]) {
2206        var yextAtt = yextData.entities[0].attributes["specialities"]
2207    } else {
2208        var yextAtt = false
2209    }
2210    
2211    if(yextAtt && Array.isArray(yextAtt)) {
2212        for (var i=0; i< yextAtt.length; i++) {
2213            list += '<li>' + yextAtt[i] + '</li>';
2214        }
2215        $(element).find('#specialtiesList').html(list);
2216    } else if (yextAtt) {
2217        var yextAtt = yextAtt.split(", ");
2218        for (var i=0; i< yextAtt.length; i++) {
2219            list += '<li>' + yextAtt[i] + '</li>';
2220        }
2221        $(element).find('#specialtiesList').html(list);
2222    } else if (data.inEditor) {
2223        $(element).html(emptyListPlaceHolder);
2224    } else {
2225        $(element).css('display','none');
2226    }
2227}
2228
2229var displayHours = function(type,yextData) {
2230    var list = "";
2231    if(yextData.entities[0].attributes[type]) {
2232        var yextAtt = yextData.entities[0].attributes[type]
2233    } else {
2234        var yextAtt = false
2235    }
2236    
2237    if(yextAtt && Array.isArray(yextAtt)) {
2238        for(var i=0;i < yextAtt.length;i++) {
2239            var indexEndDay = yextAtt[i].lastIndexOf('day ') + 3;
2240            
2241            var leftSide = yextAtt[i].substr(0,indexEndDay).replace("Monday","Mon").replace("Tuesday","Tue").replace("Wednesday","Wed").replace("Thursday","Thu").replace("Friday","Fri").replace("Saturday","Sat").replace("Sunday","Sun");
2242            
2243            var rightSide = yextAtt[i].substr(indexEndDay + 1)
2244            
2245            list += '<div class="row"><div class="left">' + leftSide + '</div><div class="right">' + rightSide + '</div></div>';
2246        }
2247        
2248    $(element).find('#hoursSmall').html(list);
2249    
2250    } else if(yextAtt) { 
2251        var yextAtt = yextAtt.split(", ");
2252        for(var i=0;i < yextAtt.length;i++) {
2253            if((/\s/.test(yextAtt[i])) === false){
2254                yextAtt[i] = yextAtt[i] + ' - ' + yextAtt[i+1]
2255                yextAtt.splice(i+1, 1)
2256            }
2257             if (yextAtt[i].includes('day') === false ){
2258                var leftSide = ' ';
2259                
2260                var rightSide = yextAtt[i]
2261            }else {
2262                var indexEndDay = yextAtt[i].lastIndexOf('day ') + 3;
2263            
2264                var leftSide = yextAtt[i].substr(0,indexEndDay).replace("Monday","Mon").replace("Tuesday","Tue").replace("Wednesday","Wed").replace("Thursday","Thu").replace("Friday","Fri").replace("Saturday","Sat").replace("Sunday","Sun");
2265        
2266                var rightSide = yextAtt[i].substr(indexEndDay + 1)
2267            }
2268            
2269            list += '<div class="row"><div class="left">' + leftSide + '</div><div class="right">' + rightSide + '</div></div>';
2270        }
2271        $(element).find('#hoursSmall').html(list);
2272    } else if (data.inEditor) {
2273        $(element).html(emptyListPlaceHolder);
2274    } else {
2275        $(element).css('display','none');
2276    }
2277
2278}
2279
2280var displayOpenHours = function(type, yextData){
2281    if(yextData.entities[0].attributes['timezone']){
2282        var zone = yextData.entities[0].attributes['timezone']
2283    } else {
2284        var zone = false
2285    }
2286    
2287    if(zone){
2288        var time = new Date().toLocaleString("en-US", {timeZone: zone});
2289        var today = new Date(time );
2290        
2291        var thirtyMins = 30 * 60 * 1000
2292
2293        var days = ['sunday','monday','tuesday','wednesday','thursday','friday','saturday'];
2294        var daysShort = ['Sun','Mon','Tues','Wed','Thurs','Fri','Sat'];
2295
2296        var day = days[today.getDay()];
2297        var hour = today.getHours();
2298        var min = today.getMinutes();
2299        var dd = ("0" + today.getDate()).slice(-2);
2300        var mm = ("0" + (today.getMonth() + 1)).slice(-2)
2301        var yyyy = today.getFullYear();
2302        var todayDate = yyyy + '-' + mm + '-' + dd
2303        var mm = mm - 1 
2304        
2305        const tomorrow = new Date(today)
2306        tomorrow.setDate(tomorrow.getDate() + 1)
2307        var mmTmw  = ("0" + (tomorrow.getMonth() + 1)).slice(-2)
2308        var ddTmw = ("0" + tomorrow.getDate()).slice(-2)
2309        var yyyyTmw = tomorrow.getFullYear();
2310        var nextDay = days[tomorrow.getDay()]
2311        var tommorrow = yyyyTmw + '-' + mmTmw + '-' + ddTmw
2312        var mmTmw = mmTmw - 1
2313    }
2314
2315    if(yextData.entities[0].attributes[type + '-' + day]) {
2316        var yextAtt = yextData.entities[0].attributes[type + '-' + day]
2317        if (yextAtt === "Closed"){
2318            yextAtt = false
2319        }
2320    } else {
2321        var yextAtt = false
2322    }
2323    
2324    //check if day is closed
2325    if(yextData.entities[0].attributes[type + '.' + day + '.isClosed'] === true) { 
2326        var closed = true
2327    }
2328    
2329    //collects business holiday hours 
2330    if(yextData.entities[0].attributes[type + '.holidayHours']){
2331        var holidayHours = yextData.entities[0].attributes[type + '.holidayHours']
2332    } else{
2333         var holidayHours = false
2334    }
2335    
2336    //gets next days start time
2337    if(yextData.entities[0].attributes[type + '.' + nextDay + '.isClosed'] === true){
2338        var tomorrowOpen = false
2339    } else {
2340        var tomorrowOpen = true
2341        var tmrwStart = yextData.entities[0].attributes[type + '-' + nextDay].split(" - ")[0]
2342    }
2343    
2344     //checks if holiday hours change 
2345    if(holidayHours) {
2346        for(var i=0;i < holidayHours.length;i++){
2347            if(holidayHours[i].date === todayDate && holidayHours[i].openIntervals){
2348                yextAtt = holidayHours[i].hoursFormatted
2349            } 
2350        }
2351    }
2352    
2353    //split hours
2354    if(yextAtt && yextAtt.includes(",")){
2355        yextAtt = yextAtt.split(", ")
2356        for(var i=0;i < yextAtt.length;i++){
2357            var end = yextAtt[i].split(' - ')[1]
2358            var start = yextAtt[i].split(' - ')[0]
2359            if (i+1 != yextAtt.length){
2360                var nextStart = yextAtt[i + 1].split(' - ')[0]
2361            }
2362            if(start.includes("pm") && start.split(/\s+|:/)[0] != "12"){
2363                var startDate = new Date(yyyy, mm, dd, parseInt(start.split(/\s+|:/)[0]) + 12, parseInt(start.split(/\s+|:/)[1]))
2364            } else {
2365                var startDate = new Date(yyyy, mm, dd, parseInt(start.split(/\s+|:/)[0]), parseInt(start.split(/\s+|:/)[1]))
2366            }
2367            
2368            if(nextStart.includes("pm") && nextStart.split(/\s+|:/)[0] != "12"){
2369                var nextStartDate = new Date(yyyy, mm, dd, parseInt(nextStart.split(/\s+|:/)[0]) + 12, parseInt(nextStart.split(/\s+|:/)[1]))
2370            } else {
2371                var nextStartDate = new Date(yyyy, mm, dd, parseInt(nextStart), parseInt(nextStart.split(/\s+|:/)[1]))
2372            }
2373        
2374            if(end.includes("pm") && end.split(/\s+|:/)[0] != "12"){
2375                var endDate = new Date(yyyy, mm, dd, parseInt(end.split(/\s+|:/)[0]) + 12, parseInt(end.split(/\s+|:/)[1]))
2376            } else {
2377                var endDate = new Date(yyyy, mm, dd, parseInt(end.split(/\s+|:/)[0]), parseInt(end.split(/\s+|:/)[1]))
2378            }
2379        
2380            if (end.includes("am") && (endDate < startDate)){
2381                endDate = new Date(yyyyTmw, mmTmw, ddTmw, parseInt(end.split(/\s+|:/)[0]), parseInt(end.split(/\s+|:/)[1]))
2382            }
2383        
2384            if(today < startDate){
2385                var closed = true 
2386                tmrwStart = start
2387                break
2388            }else if(today > startDate && today < endDate){
2389                yextAtt = start + ' - ' + end
2390                break
2391            }else if(today > endDate &&  (i+1 != yextAtt.length) && today < nextStartDate){
2392                var closed = true
2393                tmrwStart = nextStart
2394                tomorrowOpen = true
2395            }else if(today > endDate && i+1 === yextAtt.length){
2396                var closed = true
2397            }
2398        }
2399    }  
2400    
2401    
2402    if(yextAtt || closed) {
2403        if(typeof yextAtt === "string"){
2404        var start = yextAtt.split(" - ")[0]
2405        var end = yextAtt.split(" - ")[1]
2406        if(start.includes("pm") && start.split(/\s+|:/)[0] != "12"){
2407            var startDate = new Date(yyyy, mm, dd, parseInt(start.split(/\s+|:/)[0]) + 12, parseInt(start.split(/\s+|:/)[1]))
2408        } else {
2409            var startDate = new Date(yyyy, mm, dd, parseInt(start.split(/\s+|:/)[0]), parseInt(start.split(/\s+|:/)[1]))
2410        }
2411        
2412        if(end.includes("pm") && end.split(/\s+|:/)[0] != "12"){
2413            var endDate = new Date(yyyy, mm, dd, parseInt(end.split(/\s+|:/)[0]) + 12, parseInt(end.split(/\s+|:/)[1]))
2414        } else if (end.includes("am") && end.split(/\s+|:/)[0] === "12") {
2415            var endDate = new Date(yyyy, mm, dd, parseInt(end.split(/\s+|:/)[0]) - 12, parseInt(end.split(/\s+|:/)[1]))
2416        } else {
2417            var endDate = new Date(yyyy, mm, dd, parseInt(end.split(/\s+|:/)[0]), parseInt(end.split(/\s+|:/)[1]))
2418        }
2419        
2420        if (end.includes("am") && (endDate < startDate)){
2421            endDate = new Date(yyyyTmw, mmTmw, ddTmw, parseInt(end.split(/\s+|:/)[0]), parseInt(end.split(/\s+|:/)[1]))
2422        }
2423        
2424        //check if closed
2425        if(today > endDate){
2426            var closed = true
2427        //opened 24 hours 
2428        } else if(start === '12:00 am' && end === '11:59 pm'){
2429            var status = "Open "
2430            var cssClass = "allDayStatus"
2431            var busHours = ' 24 hours '
2432        //opened
2433        } else if(today < startDate){
2434            var closed = true
2435        //check if closing soon
2436        } else if (endDate - today < thirtyMins && endDate - today < 0 === false ){
2437                var status = "Closing Soon "
2438                var cssClass = "soonStatus"
2439                var busHours = ' • ' + end 
2440        } else {
2441            var status = "Open "
2442            var cssClass = "openedStatus"
2443            var busHours = '• Closes ' + end 
2444        }
2445 
2446        }
2447        
2448        if(closed){
2449        
2450        // closed & opening today 
2451        if((today < startDate)){
2452            var status = "Closed "
2453            var cssClass = "closedStatus"
2454            var busHours = ' Opens ' + start 
2455        //closed & open tomorrow 
2456        } else if(closed && tomorrowOpen === true){
2457            var status = "Closed "
2458            var cssClass = "closedStatus"
2459            var busHours = ' • Opens ' + tmrwStart 
2460        //closed and not open tomorrow 
2461        } else if(closed && tomorrowOpen != true){
2462            var offset = days.indexOf(day) + 1
2463            for( var i=0; i < days.length; i++) {
2464                var dayIndex = (i + offset) % days.length;
2465                if(yextData.entities[0].attributes[type + '.' + days[dayIndex] + '.openIntervals']){
2466                    tmrwStart =  daysShort[dayIndex] + " " + yextData.entities[0].attributes[type + '-' + days[dayIndex]].split(" - ")[0] 
2467                    break
2468                }
2469            }
2470            var status = "Closed "
2471            var cssClass = "closedStatus"
2472            var busHours = ' • Opens ' + tmrwStart
2473
2474        }
2475        }
2476    }
2477 
2478    // checks if holiday
2479    if(holidayHours) {
2480        for(var i=0;i < holidayHours.length;i++){
2481            if(holidayHours[i].date === todayDate && holidayHours[i].isClosed === true && tomorrowOpen === false){
2482                var offset = days.indexOf(day) + 1
2483                for( var i=0; i < days.length; i++) {
2484                    var dayIndex = (i + offset) % days.length;
2485                    if(yextData.entities[0].attributes[type + '.' + days[dayIndex] + '.openIntervals']){
2486                    tmrwStart = daysShort[dayIndex] + " " + yextData.entities[0].attributes[type + '-' + days[dayIndex]].split(" - ")[0]
2487                    break
2488                }
2489                }
2490                var status = "Closed "
2491                var cssClass = "closedStatus"
2492                var busHours = ' • Opens ' + tmrwStart  
2493            } else if(holidayHours[i].date === todayDate && holidayHours[i].isClosed === true && tomorrowOpen === true){
2494                var status = "Closed "
2495                var cssClass = "closedStatus"
2496                var busHours = ' • Opens ' + tmrwStart 
2497                
2498            }
2499        }
2500    } 
2501    if(cssClass){
2502        var hoursWidgets = document.getElementsByClassName('status')
2503        for( var i=0; i < hoursWidgets.length; i++) {
2504            hoursWidgets[i].classList.add(cssClass);
2505        }
2506    }
2507    if(status){
2508        var hoursWidgets = document.getElementsByClassName('status')
2509        for( var i=0; i < hoursWidgets.length; i++) {
2510            hoursWidgets[i].innerText = status;
2511        }
2512    }
2513    if(cssClass === 'allDayStatus'){
2514        var hoursWidgets = $(element).find('.openHours')
2515        for( var i=0; i < hoursWidgets.length; i++) {
2516            hoursWidgets[i].children[0].textContent = ""
2517        }
2518    }
2519    if(document.getElementsByClassName('openHours')[0].childElementCount > 1){
2520        var hoursWidgets = document.getElementsByClassName('openHours')
2521        for( var i=0; i < hoursWidgets.length; i++) {
2522            var openHoursLength = hoursWidgets[i].childNodes.length
2523            var oldHours = hoursWidgets[i]
2524            oldHours.removeChild(oldHours.childNodes[openHoursLength - 1])
2525        }
2526    }
2527    var hoursWidgets = document.getElementsByClassName('openHours')
2528    for( var i=0; i < hoursWidgets.length; i++) {
2529            hoursWidgets[i].append(busHours)
2530        }
2531}
2532
2533
2534var displayHolidayHoursList = function(type,yextData) {
2535    var list = "";
2536    
2537    if(yextData.entities[0].attributes["hours.holidayHours"]) {
2538        var yextAtt = yextData.entities[0].attributes["hours.holidayHours"]
2539    } else if(yextData.entities[0].attributes["holidayHours"]) {
2540        var yextAtt = yextData.entities[0].attributes["holidayHours"]
2541    } else {
2542        var yextAtt = false
2543    }
2544    
2545    
2546    
2547    if(yextAtt) {
2548        for (var i=0; i< yextAtt.length; i++) {
2549            
2550            var dateHol = new Date(Date.parse(yextAtt[i].date)); 
2551
2552            var dateNow = new Date();
2553            var numDaysBetween = getNumDaysBetween(dateHol,dateNow);
2554        
2555            if (numDaysBetween > -1) {
2556                // write to dom
2557                list += '<li>' + yextAtt[i].dateFormatted + ' -  <span class="holidayHoursStatus">' + yextAtt[i].hoursFormatted + '</span></li>';
2558            }
2559            
2560        }
2561        $(element).find('#' + type + 'List').html(list);
2562    } else if (data.inEditor) {
2563        // if in editor display place holder
2564        $(element).html(emptyListPlaceHolder);
2565    } else {
2566        // if empty, hide element on runtime
2567        $(element).css('display','none');
2568    }
2569}
2570
2571var displayServiceArea = function(type,yextData,firstOnly) {
2572    var list = "";
2573    if(yextData.entities[0].attributes[type]) {
2574        var yextAtt = yextData.entities[0].attributes[type]
2575    } else {
2576        var yextAtt = false
2577    }
2578
2579    if (firstOnly) {
2580        list = '<li>' + yextAtt[0] + '</li>';
2581        $(element).find('#' + type + 'List').html(list);
2582    } else if (yextAtt && Array.isArray(yextAtt)) {
2583        for (var i=0; i< yextAtt.length; i++) {
2584            list += '<li>' + yextAtt[i] + '</li>';
2585        }
2586        $(element).find('#' + type + 'List').html(list);
2587    } else if (yextAtt) {
2588        var yextAtt = yextData.entities[0].attributes[type + ".places"]
2589        for (var i=0; i< yextAtt.length; i++) {
2590            list += '<li>' + yextAtt[i] + '</li>';
2591        }
2592        $(element).find('#' + type + 'List').html(list);
2593    } else if (data.inEditor) {
2594        $(element).html(emptyListPlaceHolder);
2595    } else {
2596        $(element).css('display','none');
2597    }
2598
2599}
2600
2601var displayPhoneList = function(type,yextData) {
2602    var list = "";
2603    
2604    var locData = yextData.entities[0].attributes;
2605    
2606    if(locData.phone) {
2607        list += '<li><span class="phoneLabel">Main:</span><span class="phoneNum"> ' + formatPhoneBeforeRender(locData.phone) + '</span></li>';
2608    }
2609    if(locData.localPhone) {
2610        list += '<li><span class="phoneLabel">Local:</span><span class="phoneNum"> ' + formatPhoneBeforeRender(locData.localPhone) + '</span></li>';
2611    }
2612    if(locData.alternatePhone) {
2613        list += '<li><span class="phoneLabel">Alternate:</span><span class="phoneNum"> ' + formatPhoneBeforeRender(locData.alternatePhone) + '</span></li>';
2614    }
2615    if(locData.tollFreePhone) {
2616        list += '<li><span class="phoneLabel">Toll Free:</span><span class="phoneNum"> ' + formatPhoneBeforeRender(locData.tollFreePhone) + '</span></li>';
2617    }
2618    if(locData.mobilePhone) {
2619        list += '<li><span class="phoneLabel">Mobile:</span><span class="phoneNum"> ' + formatPhoneBeforeRender(locData.mobilePhone) + '</span></li>';
2620    }
2621    if(locData.faxPhone) {
2622        list += '<li><span class="phoneLabel">Fax:</span><span class="phoneNum"> ' + formatPhoneBeforeRender(locData.faxPhone) + '</span></li>';
2623    }
2624    if(locData.ttyPhone) {
2625        list += '<li><span class="phoneLabel">TTY:</span><span class="phoneNum"> ' + formatPhoneBeforeRender(locData.ttyPhone) + '</span></li>';
2626    }
2627    
2628    if(list.length > 0) {
2629        $(element).find('#' + type + 'List').html(list);
2630    } else if (data.inEditor) {
2631        $(element).html(emptyListPlaceHolder);
2632    } else {
2633        $(element).css('display','none');
2634    }
2635    
2636    emitYextPhoneRenderEvent(formatPhoneBeforeRender(locData.phone));
2637    
2638}
2639
2640var getNumDaysBetween = function(d1, d2) {
2641  var diff = d1.getTime() - d2.getTime();
2642  return diff / (1000 * 60 * 60 * 24);
2643};
2644
2645var orderPaymentsList = function(listData) {
2646    
2647    if(listData.indexOf('Discover') >= 0) {
2648        listData.splice(listData.indexOf("Discover"), 1);
2649        listData.unshift('Discover');
2650    }
2651    
2652    if(listData.indexOf('American Express') >= 0) {
2653        listData.splice(listData.indexOf("American Express"), 1);
2654        listData.unshift('American Express');
2655    }
2656    
2657    if(listData.indexOf('MasterCard') >= 0) {
2658        listData.splice(listData.indexOf("MasterCard"), 1);
2659        listData.unshift('MasterCard');
2660    }
2661    
2662    if(listData.indexOf('Visa') >= 0) {
2663        listData.splice(listData.indexOf("Visa"), 1);
2664        listData.unshift('Visa');
2665    }
2666    
2667    return listData
2668}
2669
2670var displayImageList = function(type,yextData) {
2671    var list = "";
2672    var listData = orderPaymentsList(_yextData.entities[0].attributes[type]);
2673    
2674    
2675    for (var i=0; i< listData.length; i++) {
2676        
2677        list += '<img src="' + getImageUrl(listData[i],data.config.cardStyleDarkOrLight) + '" alt="' + listData[i] + '"/>'
2678    }
2679    
2680    if(list.length > 0) {
2681        $(element).find('#paymentOptionsImages').html(list)
2682    } else if (data.inEditor) {
2683        $(element).html(emptyListPlaceHolder);
2684    } else {
2685        $(element).css('display','none');
2686    }
2687    
2688    
2689    
2690}
2691
2692var displaySocialIcons = function(type,yextData) {
2693    var list = "";
2694    
2695    if(yextData.entities[0].attributes.facebookPageUrl) {
2696        list += '<a href="' + yextData.entities[0].attributes.facebookPageUrl + '" target="_blank"> <img src="https://cdn.websites.hibu.com/-resellers-preview/_social_icons/hibu_facebook.svg" /></a>'
2697    }
2698    if(yextData.entities[0].attributes.twitterHandle) {
2699        list += '<a href="https://twitter.com/' +  yextData.entities[0].attributes.twitterHandle + '" target="_blank"> <img src="https://cdn.websites.hibu.com/-resellers-preview/_social_icons/hibu_twitter.svg" /></a>'
2700    }
2701    if(yextData.entities[0].attributes.instagramHandle) {
2702        list += '<a href="https://www.instagram.com/'+ yextData.entities[0].attributes.instagramHandle+'" target="_blank"> <img src="https://cdn.websites.hibu.com/-resellers-preview/_social_icons/hibu_instagram.svg" /></a>'
2703    }
2704    
2705    if(list.length > 0) {
2706        $(element).find('#socialIcons').html(list);
2707    } else if (data.inEditor) {
2708        $(element).html(emptyListPlaceHolder);
2709    } else {
2710        $(element).css('display','none');
2711    }
2712    
2713    
2714}
2715
2716var getImageUrl = function(name,style) {
2717    var cdnPath = 'https://cdn.websites.hibu.com/-resellers-preview/_cc_icons/';
2718    if(!style) {
2719        style = '_d.svg'
2720    }
2721    if (name === "ZELLE"){
2722        name = "Zelle"
2723    }
2724    if (name === "Google Pay"){
2725        name = "Android Pay"
2726    }
2727    if (name === "KLARNA"){
2728        name = "Klarna"
2729    }
2730    var imageUrl='';
2731    switch (name) {
2732        case 'Visa':
2733            imageUrl =  cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style;
2734            break;
2735        case 'MasterCard':
2736            imageUrl =  cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style;
2737            break;
2738        case 'Discover':
2739            imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style;
2740            break;
2741        case 'American Express':
2742            imageUrl =  cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style;
2743            break;
2744        case 'Android Pay':
2745            imageUrl =  cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style;
2746            break;
2747        case 'Apple Pay':
2748            imageUrl =  cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style;
2749            break;
2750        case 'Bitcoin':
2751            imageUrl =  cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style;
2752            break;
2753        case 'Cash':
2754            imageUrl =  cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style;
2755            break;
2756        case 'Check':
2757            imageUrl =  cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style;
2758            break;
2759        case 'Diners Club':
2760            imageUrl =  cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style;
2761            break;
2762        case 'Discover':
2763            imageUrl =  cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style;
2764            break;
2765        case 'Financing':
2766            imageUrl =  cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style;
2767            break;
2768        case 'Invoice':
2769            imageUrl =  cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style;
2770            break;
2771        case 'PayPal':
2772            imageUrl =  cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style;
2773            break;
2774        case 'Samsung Pay':
2775            imageUrl =  cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style;
2776            break;
2777        case "Traveler's Check":
2778            imageUrl =  cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style;
2779            break;
2780        case "Zelle":
2781            imageUrl =  cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style;
2782            break
2783        case "Klarna":
2784            imageUrl =  cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style;
2785            break
2786    }
2787    return imageUrl
2788}
2789
2790function emitYextPhoneRenderEvent(phone) {
2791    var yextPhoneRenderEvent = new CustomEvent('YextPhoneChangeEvent', 
2792        { 
2793            detail: phone, 
2794            bubbles: true, 
2795            cancelable: true 
2796        });
2797        
2798        document.dispatchEvent(yextPhoneRenderEvent);
2799}
2800
2801var initYextElements = function(yextData,widgetType){
2802    if (widgetType === 'address' && data.config.drawMap) {
2803        drawMap(yextData);
2804    } else if (widgetType === 'paymentOptions' && data.config.showPaymentsAs === 'paymentIcons') {
2805        displayImageList(widgetType,yextData);
2806    } else if (widgetType === 'phone' && data.config.phoneShowAs === 'list') {
2807        displayPhoneList(widgetType,yextData);
2808    // check for any list type
2809    } else if(widgetType === 'phone' && data.config.phoneShowAs === 'button') {
2810        var phFormatted = formatPhoneBeforeRender(yextData.entities[0].attributes[data.config.phoneType],function(phone) {
2811            $(element).find(".dmButtonLink").html('<span class="text">' + phone + '</span>');   
2812            
2813            emitYextPhoneRenderEvent(phone);
2814            
2815        });
2816    } else if(widgetType === 'phone' && data.config.phoneShowAs === 'text') {
2817        var phFormatted = formatPhoneBeforeRender(yextData.entities[0].attributes[data.config.phoneType],function(phone) {
2818            $(element).find('.yextPhoneText').html('<span class="text">' + phone + '</span>');   
2819            
2820            emitYextPhoneRenderEvent(phone);
2821            
2822        });
2823    } else if (widgetType === 'services' || widgetType === 'googleAttributesFormatted' || widgetType === 'languages' || widgetType === 'paymentOptions' || widgetType === 'keywords' || widgetType === 'products' || widgetType === 'associations' || widgetType === 'brands') {
2824        setTimeout(function() { 
2825            displayTextdList(widgetType,yextData)
2826        },1);
2827    } else if(widgetType === 'specialties') {
2828        setTimeout(function() {
2829            displaySpecialties(yextData)
2830        },1)
2831    }else if (widgetType ==='serviceArea') {
2832        setTimeout(function() {
2833            displayServiceArea(widgetType,yextData,data.config.showServiceAreaFirst)
2834        },1)
2835    } else if (widgetType ==='hours' && data.config.hoursShowAs === 'list' && data.config.isList == false) {
2836        setTimeout(function() {
2837            displayHours(widgetType,yextData)
2838        },1)
2839    } else if (widgetType ==='hours' && data.config.hoursShowAs === 'openHours') {
2840        setTimeout(function() {
2841            displayOpenHours(widgetType,yextData)
2842        },1)
2843    } else if (widgetType === 'social') {
2844        displaySocialIcons(widgetType,yextData);
2845    } else if (widgetType === 'holidayHours') {
2846        setTimeout(function() { 
2847            displayHolidayHoursList(widgetType,yextData)
2848        },1);
2849    } else if (widgetType === 'hours') {
2850        //hide hours list if toggle enabled
2851        if(data.config.hideHoursList === true) {
2852            $(element).find('.yextHours').css('display','none');
2853        }
2854    } else if (widgetType === 'description' || widgetType === 'yearEstablished' || widgetType === 'email' || widgetType === 'name') {
2855        // check
2856        hideIfEmpty(widgetType,yextData)
2857    }
2858    //remove error if script not entered correctly.
2859    $(element).find('.wrongScriptError').removeClass('hasError');
2860    
2861}
2862
2863function hideIfEmpty(type,yextData) {
2864    if(!yextData.entities[0].attributes[type]) {
2865        if(data.inEditor) {
2866            $(element).html(emptyListPlaceHolder);
2867        } else {
2868            $(element).css('display','none');    
2869        }
2870        
2871    }
2872}
2873
2874// TODO CHANGE TO EVENT CALL BACK
2875var startIntervalToWaitAndLoadWidgets = function(widgetType) {
2876    //start interval for this specific widget
2877    var intervalCheckYextLoaded = setInterval(function(){
2878        if (window._yextData) {
2879            clearInterval(intervalCheckYextLoaded);
2880            initYextElements(window._yextData,widgetType);
2881        } 
2882    },50)
2883}
2884
2885
2886/* initialization */
2887if(data.inEditor){
2888    window.refreshYext && window.refreshYext();
2889    
2890    
2891    $(document).ready(function(){
2892        if(!window.yextInitialized){
2893            $(element).find('.missingYextWidget').addClass('show'); 
2894        } else {
2895            $(element).find('.missingYextWidget').removeClass('show'); 
2896        }
2897    });
2898    
2899} else {
2900    dmAPI.runOnReady('yext' , function(){
2901        loadYext();
2902   });
2903    // Before navigating with Ajax, we set the yext initialized to be false so it will be initialized again after the ajax navigation
2904    dmAPI.runBeforeAjaxNavigation('yext', function(){
2905        window.yextInitialized = false;
2906    });
2907}
2908    };
2909</script>
2909
2910
2911<script>
2912    window.customWidgetsFunctions["ca4188fe92024514a23a858f63ab6658~9"] = function (element, data, api) {
2913        null
2914    };
2915</script>
2915
2916
2917<script>
2918    window.customWidgetsFunctions["097a688929d34de186104d930d227ac6~26"] = function (element, data, api) {
2919        null
2920    };
2921</script>
2921
2922
2923
2924<script type="text/javascript">
2925
2926    var d_version = "production_6839";
2927    var build = "2026-10-08T12_48_49";
2928    window['v' + 'ersion'] = d_version;
2929
2930    function buildEditorParent() {
2931        window.isMultiScreen = true;
2932        window.editorParent = {};
2933        window.previewParent = {};
2934        try {
2935            var _p = window.parent;
2936            if (_p && _p.document && _p.$ && _p.$.dmfw) {
2937                window.editorParent = _p;
2938            } else if (_p.isSitePreview) {
2939                window.previewParent = _p;
2940            }
2941        } catch (e) {
2942
2943        }
2944    }
2945
2946    buildEditorParent();
2947</script>
2947
2948
2949
2950
2951
2952<script type="text/javascript" id='d-js-jquery'
2953        src="https://static-res-cdn.websites.hibu.com/libs/jquery/jquery-3.7.0.min.js"></script>
2953
2954
2955
2956
2957
2958<!-- Injecting site-wide before scripts -->
2959
2960
2961<script src="https://app.termly.io/resource-blocker/de9ba2a3-0d99-4203-a3dc-f3be831d749e?autoBlock=on" data-swh-uuid="5f7fd3c3a9e54c6695f4bbf2fc50930c">
2962</script>
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982<script type="text/javascript" id="d_track_campaign" data-entry-referrer data-utm-cookies></script>
2982
2983
2984<script type="text/javascript" >
2985    var _dm_gaq = {};
2986    var _gaq = _gaq || [];
2987    var _dm_insite = [{ruleId: 742425, actionName:'popup', ruleType: 'bfs'}];
2988</script>
2988
2989
2990
2991
2992
2993<script async src="https://www.googletagmanager.com/gtm.js?id=GTM-W487CGFD" id="d-js-gtm"
2994    onload="window.dispatchEvent(new CustomEvent('gtmLoaded', { bubbles: true }))"></script>
2994
2995
2996<script type="text/javascript" id="d_track_ga">
2997    window.dataLayer = window.dataLayer || [];
2998    _dm_gaq.siteAlias = '5748cca1dd614b15a52e6872196a47c8';
2999    _dm_gaq.externalGaqID = 'non-empty';
3000
3001    function gtag() { dataLayer.push(arguments); }
3002
3003    function pushInsiteImpressions(id) {
3004        _dm_insite.forEach((rule) => {
3005            _dm_gaq.pushEvent(id, 'insite_impression', 'insite', rule.ruleType + '__' + rule.ruleId);
3006        });
3007    }
3008
3009    _dm_gaq.pushEvent = function(trackingId, event, category, label, value, additionalParams = {}) {
3010        const eventProps = {
3011            event_category: category,
3012            event_label: label,
3013            value,
3014            ...additionalParams
3015        };
3016        gtag('event', event, eventProps);
3017    }
3018
3019    gtag('js', new Date())
3020
3021    
3022gtag('set', 'developer_id.dMDU5Nj', true);
3023
3024    _dm_gaq.pushEvent('', 'page_view');
3025
3026    pushInsiteImpressions(_dm_gaq.externalGaqID);
3027</script>
3027
3028
3029
3030
3031
3032
3033
3034<!-- End Injecting site-wide to the head -->
3035
3036
3037
3038<script>
3039    var _jquery = window.$;
3040
3041    var jqueryAliases = ['$', 'jquery', 'jQuery'];
3042
3043    jqueryAliases.forEach((alias) => {
3044        Object.defineProperty(window, alias, {
3045            get() {
3046                return _jquery;
3047            },
3048            set() {
3049                console.warn("Trying to over-write the global jquery object!");
3050            }
3051        });
3052    });
3053    window.jQuery.migrateMute = true;
3054</script>
3054
3055
3056
3057<script type="text/javascript">
3058    window.popups =
3059    [{"title":"video-splash-pop","url":"/video-splash-pop","options":{"backgroundColor":"#FFFFFF","borderRadius":"5","width":"638","previousAnimation":"zoomInUp","overlayColor":"rgba(195, 195, 195,0.5)","height":"402","animation":"none"},"name":"video-splash-pop"},{"title":"Coupon","url":"/coupon","options":{"backgroundColor":"#FFFFFF","borderRadius":"5","width":"431","previousAnimation":"fadeIn","overlayColor":"rgba(195, 195, 195,0.5)","height":"311","animation":"none"},"name":"coupon"}]
3060</script>
3060
3061
3062
3063
3064<script>
3065    window.cookiesNotificationMarkupPreview = 'null';
3066</script>
3066
3067
3068
3069<script id='d-js-params'>
3070    window.INSITE = window.INSITE || {};
3071    window.INSITE.device = "desktop";
3072
3073    window.rtCommonProps = {};
3074    rtCommonProps["runtimecollector.url"] = 'https://rtc.hibuwebsites.com';
3075    rtCommonProps["performance.tabletPreview.removeScroll"] = 'false';
3076    rtCommonProps["inlineEditGrid.snap"] =true;
3077    rtCommonProps["popup.insite.cookie.ttl"] = '0.5';
3078    rtCommonProps["common.mapbox.token"] = 'pk.eyJ1IjoiZGFubnliMTIzIiwiYSI6ImNqMGljZ256dzAwMDAycXBkdWxwbDgzeXYifQ.Ck5P-0NKPVKAZ6SH98gxxw';
3079    rtCommonProps["common.mapbox.js.override"] =false;
3080    rtCommonProps["common.here.appId"] = 'iYvDjIQ2quyEu0rg0hLo';
3081    rtCommonProps["common.here.appCode"] = '1hcIxLJcbybmtBYTD9Z1UA';
3082    rtCommonProps["ecommerce.ecwid.script"] = 'https://app.multiscreenstore.com/script.js';
3083    rtCommonProps["common.build.dist.folder"] = 'production/6839';
3084    rtCommonProps["common.resources.cdn.host"] = 'https://static-res-cdn.websites.hibu.com';
3085    rtCommonProps["common.resources.folder"] = 'https://static-res-cdn.websites.hibu.com/mnlt/production/6839';
3086    rtCommonProps["common.fonts.api.v2.url"] = 'https://cdn.hibuwebsites.com/fonts/css2?family=';
3087    rtCommonProps["feature.flag.runtime.backgroundSlider.preload.slowly"] =true;
3088    rtCommonProps["feature.flag.runtime.newAnimation.jitAnimation.enabled"] =true;
3089    rtCommonProps["feature.flag.sites.google.analytics.gtag"] =true;
3090    rtCommonProps["feature.flag.runOnReadyNewTask"] =true;
3091    rtCommonProps["isAutomation.test"] =false;
3092    rtCommonProps["booking.cal.api.domain"] = 'api.cal.com';
3093
3094    
3095    rtCommonProps['common.mapsProvider'] = 'mapbox';
3096    
3097    rtCommonProps['common.mapsProvider.version'] = '0.52.0';
3098    rtCommonProps['common.geocodeProvider'] = 'mapbox';
3099    rtCommonProps['server.for.resources'] = '';
3100    rtCommonProps['feature.flag.lazy.widgets'] = true;
3101    rtCommonProps['feature.flag.single.wow'] = false;
3102    rtCommonProps['feature.flag.disallowPopupsInEditor'] = true;
3103    rtCommonProps['feature.flag.mark.anchors'] = true;
3104    rtCommonProps['captcha.public.key'] = '6LffcBsUAAAAAMU-MYacU-6QHY4iDtUEYv_Ppwlz';
3105    rtCommonProps['captcha.invisible.public.key'] = '6LeiWB8UAAAAAHYnVJM7_-7ap6bXCUNGiv7bBPME';
3106    rtCommonProps["images.sizes.small"] =160;
3107    rtCommonProps["images.sizes.mobile"] =640;
3108    rtCommonProps["images.sizes.tablet"] =1280;
3109    rtCommonProps["images.sizes.desktop"] =1920;
3110    rtCommonProps["import.images.storage.imageCDN"] = 'https://le-cdn.hibuwebsites.com/';
3111    rtCommonProps["feature.flag.performance.logs"] =false;
3112    rtCommonProps["site.widget.form.captcha.type"] = 'g_recaptcha';
3113    rtCommonProps["friendly.captcha.site.key"] = 'FCMGSQG9GVNMFS8K';
3114    rtCommonProps["cookiebot.mapbox.consent.category"] = 'marketing';
3115    rtCommonProps["termly.mapbox.consent.category"] = 'performance';
3116    // feature flags that's used out of runtime module (in  legacy files)
3117    rtCommonProps["platform.monolith.personalization.dateTimeCondition.popupMsgAction.moveToclient.enabled"] =true;
3118
3119    window.rtFlags = {};
3120    rtFlags["unsuspendEcwidStoreOnRuntime.enabled"] =false;
3121    rtFlags["scripts.widgetCount.enabled"] =true;
3122    rtFlags["fnb.animations.tracking.enabled"] =true;
3123    rtFlags["ecom.ecwidNewUrlStructure.enabled"] = false;
3124    rtFlags["ecom.ecwid.accountPage.emptyBaseUrl.enabled"] = true;
3125    rtFlags["ecom.ecwid.accountPage.repeatOrderRedirect.enabled"] = false;
3126    rtFlags["ecom.ecwid.oldStore.keepScrollOnLoad.enabled"] = true;
3127    rtFlags["ecom.ecwid.storefrontV3.enabled"] = false;
3128    rtFlags["ecom.monolith.legacy.js.api.disabled.for.new.sites"] = false;
3129    rtFlags["geocode.search.localize"] =false;
3130    rtFlags["feature.flag.runtime.newAnimation.asyncInit.setTimeout.enabled"] =false;
3131    rtFlags["twitter.heightLimit.enabled"] = true;
3132    rtFlags["streamline.monolith.personalization.supportMultipleConditions.enabled"] =false;
3133    rtFlags["flex.animation.design.panel.layout"] =true;
3134    rtFlags["runtime.cwv.report.cls.enabled"] =false;
3135    rtFlags["runtime.cwv.report.lcp.enabled"] =false;
3136    rtFlags["runtime.lcp.preload.selfheal.enabled"] =true;
3137    rtFlags["runtime.lcp.preload.bootstrap.enabled"] =true;
3138    rtFlags["runtime.lcp.preload.monitor.enabled"] =false;
3139    rtFlags["runtime.customwidget.heightpin.enabled"] =true;
3140    rtFlags["runtime.video.widget.lazy.enabled"] =true;
3141    rtFlags["contact.form.useActiveForm"] =true;
3142    rtFlags["contact.form.custom.errors.enabled"] =false;
3143    rtFlags["runtime.ssr.productStore.internal.observer"] =true;
3144    rtFlags["editor.widget.form.a11y"] =true;
3145</script>
vendor: 1 bytes, line 3145
3145
3146<script src="https://static-res-cdn.websites.hibu.com/mnlt/production/6839/_dm/s/rt/dist/scripts/d-js-one-runtime-unified-desktop.min.js"  id="d-js-core"></script>
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160    
3160<script src="https://static-res-cdn.websites.hibu.com/mnlt/production/6839/_dm/s/rt/dist/scripts/d-js-jquery-migrate.min.js" ></script>
3160
3161
3162
3163
3164
3165
3166<script>
3167    
3168    $(window).bind("orientationchange", function (e) {
3169        $.layoutManager.initLayout();
3170        
3171    });
3172    $(document).resize(function () {
3173        
3174    });
3175</script>
3175
3176
3177
3178<script src="/_dm/s/rt/smart/popup.js?r&#x3D;3" type="text/javascript"></script>
3178<script src="/_dm/s/rt/smart/helpers.js" type="text/javascript"></script>
3178<script src="/_dm/s/rt/smart/userVisitsConditionService.js?v&#x3D;1" type="text/javascript"></script>
3178<script src="/_dm/s/rt/smart/timeRangeConditionService.js" type="text/javascript"></script>
3178<script src="https://static-res-cdn.websites.hibu.com/libs/rrule/2.8.1/rrule.min.js" type="text/javascript"></script>
3178<script>(function(global){
3179global.insiteScripts.popup({useNew: true, ruleId : '742425', ruleType : 'bfs', settings : 'eyJkZWxheSI6IiIsInBvcHVwTmFtZSI6ImNvdXBvbiIsImNvbmRpdGlvbnNfbnVtYmVyIjoiMSJ9', duration : null, isForced : false });
3180})(this);</script>
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197<script type="text/javascript" id="d_track_sp">
3198    ;(function(p,l,o,w,i,n,g){if(!p[i]){p.GlobalSnowplowNamespace=p.GlobalSnowplowNamespace||[];
3199        p.GlobalSnowplowNamespace.push(i);p[i]=function(){(p[i].q=p[i].q||[]).push(arguments)
3200        };p[i].q=p[i].q||[];n=l.createElement(o);g=l.getElementsByTagName(o)[0];n.async=1;
3201        n.src=w;g.parentNode.insertBefore(n,g)}}(window,document,"script","//d32hwlnfiv2gyn.cloudfront.net/sp-2.0.0-dm-0.1.min.js","snowplow"));
3202    window.dmsnowplow  = window.snowplow;
3203
3204    dmsnowplow('newTracker', 'cf', 'd32hwlnfiv2gyn.cloudfront.net', { // Initialise a tracker
3205        appId: '5748cca1dd614b15a52e6872196a47c8'
3206    });
3207
3208    // snowplow queries element styles so we wait until CSS calculations are done.
3209    requestAnimationFrame(() => {
3210        dmsnowplow('trackPageView');
3211        _dm_insite.forEach((rule) => {
3212            // Specifically in popup only the client knows if it is shown or not so we don't always want to track its impression here
3213            // the tracking is in popup.js
3214            if (rule.actionName !== "popup") {
3215                dmsnowplow('trackStructEvent', 'insite', 'impression', rule.ruleType, rule.ruleId);
3216            }
3217            window?.waitForDeferred?.('dmAjax', () => {
3218                $.DM.events.trigger('event-ruleTriggered', {value: rule});
3219            });
3220        });
3221    });
3222</script>
3222
3223
3224
3225
3226<div style="display:none;" id="P6iryBW0Wu"></div>
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true">
3239
3240    
3241    <div class="pswp__bg"></div>
3242
3243    
3244    <div class="pswp__scroll-wrap">
3245
3246        
3247        <div class="pswp__container">
3248            <div class="pswp__item"></div>
3249            <div class="pswp__item"></div>
3250            <div class="pswp__item"></div>
3251        </div>
3252
3253        
3254        <div class="pswp__ui pswp__ui--hidden">
3255
3256            <div class="pswp__top-bar">
3257
3258                
3259
3260                <div class="pswp__counter"></div>
3261
3262                <button class="pswp__button pswp__button--close" data-auto="pswp-close" title="Close (Esc)"></button>
3263
3264                <button class="pswp__button pswp__button--share" data-auto="pswp-share" title="Share"></button>
3265
3266                <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button>
3267
3268                <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button>
3269
3270                
3271                
3272                <div class="pswp__preloader">
3273                    <div class="pswp__preloader__icn">
3274                      <div class="pswp__preloader__cut">
3275                        <div class="pswp__preloader__donut"></div>
3276                      </div>
3277                    </div>
3278                </div>
3279            </div>
3280
3281            <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap">
3282                <div class="pswp__share-tooltip"></div> 
3283            </div>
3284
3285            <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)">
3286            </button>
3287
3288            <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)">
3289            </button>
3290
3291            <div class="pswp__caption">
3292                <div class="pswp__caption__center"></div>
3293            </div>
3294
3295        </div>
3296
3297    </div>
3298
3299</div>
3300<div id="fb-root"
3301        data-locale="en"></div>
3302<!-- Alias: 5748cca1dd614b15a52e6872196a47c8 -->
3303<div class="dmPopupMask" id="dmPopupMask"></div>
3304<div id="dmPopup" class="dmPopup" data-auto="popup">
3305	<div class="dmPopupCloseWrapper"> <div class="dmPopupClose dm-common-icons-close oneIcon" data-auto="popup-close" onclick="dmHidePopup(event);"></div> </div>
3306 	<div class="dmPopupTitle"> <span></span> Share by:</div> 
3307	<div class="data"></div>
3308</div>
3308<script id="d_track_personalization">
3309	window?.waitForDeferred?.('dmAjax', () => {
3310		// Collects client data and updates cookies used by smart sites
3311		window.expireDays = 365;
3312		window.visitLength = 30 * 60000;
3313		$.setCookie("dm_timezone_offset", (new Date()).getTimezoneOffset(), window.expireDays);
3314			setSmartSiteCookiesInternal("dm_this_page_view","dm_last_page_view","dm_total_visits","dm_last_visit");
3315	});
3316</script>
vendor: 1 bytes, line 3316
3316
3317<script type="text/javascript">
3318    
3319    Parameters.NavigationAreaParams.MoreButtonText = 'MORE';
3320    
3321    Parameters.NavigationAreaParams.LessButtonText = 'LESS';
3322    </script>
3322
3323<!--  Begin Body End Markup -->
3324<!-- Begin Body End Markup --><div id="placeholder_retargeting_pixel" style="display: none;" data-inject="placeholder_retargeting_pixel">
3325 
3326 
3327 
3328 
3329 
3330 
3331 
3332 
3333 
3334 
3335 
3336 
3337 
3338 
3339 
3340 
3341 
3342 
3343 
3344 
3345 
3346 
3347 
3348 
3349 
3350 
3351 
3352 
3353 
3354 
3355 
3356 
3357 
3358 
3359 
3360 
3361 
3362 
3363 
3364 
3365 
3366 
3367 
3368 
3369 
3370 
3371 
3372 
3373 
3374 
3375 
3376 
3377 
3378 
3379 
3380 
3381 
3382 
3383 
3384 
3385 
3386 
3387 
3388 
3389 
3390 
3391 
3392 
3393 
3394 
3395 
3396 
3397 
3398 
3399 
3400 
3401 
3402 
3403 
3404 
3405 
3406 
3407 
3408 
3409 
3410 
3411 
3412 
3413 
3414 
3415 
3416 
3417 
3418 
3419 
3420 
3421 
3422 
3423 
3424 
3425 
3426 
3427 
3428 
3429 
3430 
3431 
3432 
3433 
3434 
3435 
3436 
3437 
3438 
3439 
3440 
3441 
3442 
3443 
3444 
3445 
3446 
3447 
3448 
3449 
3450 
3451 
3452 
3453 
3454 
3455 
3456 
3457 
3458 
3459 
3460 
3461 
3462 
3463 
3464 
3465 
3466 
3467 
3468 
3469 
3470 
3471 {{placeholder_retargeting_pixel}}
3472</div>
3473<div id="placeholder_dpni" style="display: none;" data-inject="placeholder_dpni">
3474 <!-- phone insertion script begins --> 
3474<script type="text/javascript" src="https://reports.hibu.com/analytics/js/ybDynamicPhoneInsertion.js">
3475 </script>
3475
3476 
3476<script>
3477//<![CDATA[
3478
3479
3480ybFindPhNums = ['13034377838'];
3481ybReplacePhNums = ['17207895973'];
3482
3483	document.addEventListener("YextPhoneChangeEvent", yextPhoneChangeEventHandler, false);
3484
3485	function yextPhoneChangeEventHandler(e) {
3486		e.preventDefault();
3487		ybFun_ReplaceText();
3488	}
3489
3490	if (typeof dmAPI != 'undefined') {
3491		dmAPI.runOnReady('dpni', function() {
3492			setTimeout(ybFun_ReplaceText, 500);
3493		});
3494		window.addEventListener('DOMContentLoaded', function() {
3495			dmAPI.subscribeEvent(dmAPI.EVENTS.SHOW_POPUP, 
3496				function(data) {
3497					setTimeout(ybFun_ReplaceText, 500);
3498				});
3499		});
3500	} else {
3501		window.onload = function() {
3502			setTimeout(ybFun_ReplaceText, 500);
3503		}
3504	}
3505
3506
3507//]]>
3508 </script>
3508
3509 <!-- phone insertion script ends -->
3510</div>
3511<div id="placeholder_analytics" style="display: none;" data-inject="placeholder_analytics">
3512 
3512<script>
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658//<![CDATA[
3659
3660 //yellAnalyticsConfig need to set before s_code.js
3661 var yellAnalyticsConfig = {
3662 "global" : {
3663 "trackDownloadLinks": true,
3664 "downloadFileTypes": "exe,zip,wav,mp3,mov,mpg,avi,wmv,pdf,doc,docx,xls,xlsx,ppt,pptx",
3665 "currency": "USD",
3666 "trackExternalLinks": true,
3667 "internalDomains": "javascript:",
3668 "charset": "UTF-8"
3669 },
3670 "omniture" : {
3671 "enabled": true,
3672 "server": "yellgroup.122.2o7.net",
3673 "serverSecure": "yellgroup.122.2o7.net",
3674 "namespace": "yellgroup",
3675 "account": "yelldudalive",
3676 "campaign": "CID|cam"
3677 }}
3678
3679 var hibuWebsiteConfig={
3680 "prodSKU":"WBS-PROPKG-01",
3681 "assetID":"547229483",
3682 "customerID":"7072986036"
3683 }
3684 
3685//]]>
3686 
3687 
3688 
3689 
3690 
3691 
3692 
3693 
3694 
3695 
3696 
3697 
3698 
3699 
3700 
3701 
3702 
3703 
3704 
3705 
3706 
3707 
3708 
3709 
3710 
3711 
3712 
3713 
3714 
3715 
3716 
3717 
3718 
3719 
3720 
3721 
3722 
3723 
3724 
3725 
3726 
3727 
3728 
3729 
3730 
3731 
3732 
3733 
3734 
3735 
3736 
3737 
3738 
3739 
3740 
3741 
3742 
3743 
3744 
3745 
3746 
3747 
3748 
3749 
3750 
3751 
3752 
3753 
3754 
3755 
3756 
3757 
3758 
3759 
3760 
3761 
3762 
3763 
3764 
3765 
3766 
3767 
3768 
3769 
3770 
3771 
3772 
3773 
3774 
3775 
3776 
3777 
3778 
3779 
3780 
3781 
3782 
3783 
3784 
3785 
3786 
3787 
3788 
3789 
3790 
3791 
3792 
3793 
3794 
3795 
3796 
3797 
3798 
3799 
3800 
3801 
3802 
3803 
3804 
3805 
3806 
3807 
3808 
3809 
3810 
3811 
3812 
3813 
3814 
3815 
3816 
3817 
3818 
3819 
3820 
3821 
3822 
3823 
3824 
3825 
3826 
3827 
3828 
3829 
3830 
3831 </script>
3831
3832 
3832<script type="text/javascript" src="https://dh-static-files.s3.amazonaws.com/prod/AppMeasurement.js">
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978//<![CDATA[
3979
3980 
3981//]]>
3982 
3983 
3984 
3985 
3986 
3987 
3988 
3989 
3990 
3991 
3992 
3993 
3994 
3995 
3996 
3997 
3998 
3999 
4000 
4001 
4002 
4003 
4004 
4005 
4006 
4007 
4008 
4009 
4010 
4011 
4012 
4013 
4014 
4015 
4016 
4017 
4018 
4019 
4020 
4021 
4022 
4023 
4024 
4025 
4026 
4027 
4028 
4029 
4030 
4031 
4032 
4033 
4034 
4035 
4036 
4037 
4038 
4039 
4040 
4041 
4042 
4043 
4044 
4045 
4046 
4047 
4048 
4049 
4050 
4051 
4052 
4053 
4054 
4055 
4056 
4057 
4058 
4059 
4060 
4061 
4062 
4063 
4064 
4065 
4066 
4067 
4068 
4069 
4070 
4071 
4072 
4073 
4074 
4075 
4076 
4077 
4078 
4079 
4080 
4081 
4082 
4083 
4084 
4085 
4086 
4087 
4088 
4089 
4090 
4091 
4092 
4093 
4094 
4095 
4096 
4097 
4098 
4099 
4100 
4101 
4102 
4103 
4104 
4105 
4106 
4107 
4108 
4109 
4110 
4111 
4112 
4113 
4114 
4115 
4116 
4117 
4118 
4119 
4120 
4121 
4122 
4123 
4124 
4125 
4126 
4127 </script>
4127
4128 
4128<script type="text/javascript" src="https://dh-static-files.s3.amazonaws.com/prod/hibu-analytics.min.js">
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274//<![CDATA[
4275
4276 
4277//]]>
4278 
4279 
4280 
4281 
4282 
4283 
4284 
4285 
4286 
4287 
4288 
4289 
4290 
4291 
4292 
4293 
4294 
4295 
4296 
4297 
4298 
4299 
4300 
4301 
4302 
4303 
4304 
4305 
4306 
4307 
4308 
4309 
4310 
4311 
4312 
4313 
4314 
4315 
4316 
4317 
4318 
4319 
4320 
4321 
4322 
4323 
4324 
4325 
4326 
4327 
4328 
4329 
4330 
4331 
4332 
4333 
4334 
4335 
4336 
4337 
4338 
4339 
4340 
4341 
4342 
4343 
4344 
4345 
4346 
4347 
4348 
4349 
4350 
4351 
4352 
4353 
4354 
4355 
4356 
4357 
4358 
4359 
4360 
4361 
4362 
4363 
4364 
4365 
4366 
4367 
4368 
4369 
4370 
4371 
4372 
4373 
4374 
4375 
4376 
4377 
4378 
4379 
4380 
4381 
4382 
4383 
4384 
4385 
4386 
4387 
4388 
4389 
4390 
4391 
4392 
4393 
4394 
4395 
4396 
4397 
4398 
4399 
4400 
4401 
4402 
4403 
4404 
4405 
4406 
4407 
4408 
4409 
4410 
4411 
4412 
4413 
4414 
4415 
4416 
4417 
4418 
4419 
4420 
4421 
4422 
4423 </script>
4423
4424 
4424<script type="text/javascript" src="https://dh-static-files.s3.amazonaws.com/prod/omn_setting.js">
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570//<![CDATA[
4571
4572 
4573//]]>
4574 
4575 
4576 
4577 
4578 
4579 
4580 
4581 
4582 
4583 
4584 
4585 
4586 
4587 
4588 
4589 
4590 
4591 
4592 
4593 
4594 
4595 
4596 
4597 
4598 
4599 
4600 
4601 
4602 
4603 
4604 
4605 
4606 
4607 
4608 
4609 
4610 
4611 
4612 
4613 
4614 
4615 
4616 
4617 
4618 
4619 
4620 
4621 
4622 
4623 
4624 
4625 
4626 
4627 
4628 
4629 
4630 
4631 
4632 
4633 
4634 
4635 
4636 
4637 
4638 
4639 
4640 
4641 
4642 
4643 
4644 
4645 
4646 
4647 
4648 
4649 
4650 
4651 
4652 
4653 
4654 
4655 
4656 
4657 
4658 
4659 
4660 
4661 
4662 
4663 
4664 
4665 
4666 
4667 
4668 
4669 
4670 
4671 
4672 
4673 
4674 
4675 
4676 
4677 
4678 
4679 
4680 
4681 
4682 
4683 
4684 
4685 
4686 
4687 
4688 
4689 
4690 
4691 
4692 
4693 
4694 
4695 
4696 
4697 
4698 
4699 
4700 
4701 
4702 
4703 
4704 
4705 
4706 
4707 
4708 
4709 
4710 
4711 
4712 
4713 
4714 
4715 
4716 
4717 
4718 
4719 </script>
4719
4720</div>
4721<div id="placeholder_footer_reserve1" style="display: none;" data-inject="placeholder_footer_reserve1">
4722 <style>
4723  
4724 
4725 
4726 
4727 
4728 
4729 
4730 
4731 
4732 
4733 
4734 
4735 
4736 
4737 
4738 
4739 iframe[name="google_conversion_frame"] {height: 0 !important;width: 0 !important;line-height: 0 !important;font-size: 0 !important;margin-top: -13px;float: left;}
4740 
4741 
4742 
4743 
4744 
4745 
4746 
4747 
4748 
4749 
4750 
4751 
4752 
4753 
4754 
4755 
4756 </style>
4757 <!-- Google Code for Remarketing Tag --> <!--------------------------------------------------
4758Remarketing tags may not be associated with personally identifiable information or placed on pages related to sensitive categories. See more information and instructions on how to setup the tag on: http://google.com/ads/remarketingsetup
4759---------------------------------------------------> 
4759<script type="text/javascript">
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776//<![CDATA[
4777
4778/* <![CDATA[ */
4779var google_conversion_id = 620564470;
4780var google_custom_params = window.google_tag_params;
4781var google_remarketing_only = true;
4782/* ]]> */
4783
4784//]]>
4785 
4786 
4787 
4788 
4789 
4790 
4791 
4792 
4793 
4794 
4795 
4796 
4797 
4798 
4799 
4800 
4801 </script>
4801
4802 
4802<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819//<![CDATA[
4820
4821
4822//]]>
4823 
4824 
4825 
4826 
4827 
4828 
4829 
4830 
4831 
4832 
4833 
4834 
4835 
4836 
4837 
4838 
4839 </script>
4839
4840 <noscript>
4841  <div style="display:inline;">
4842   <img height="1" width="1" style="border-style:none;" alt="" src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/620564470/?guid=ON&amp;script=0"/>
4843  
4844</div>
4845 </noscript>
4846 
4846<script>
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863//<![CDATA[
4864(function(w,d,t,r,u){var f,n,i;w[u]=w[u]||[],f=function(){var o={ti:"56181068"};o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")},n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function(){var s=this.readyState;s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)},i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)})(window,document,"script","//bat.bing.com/bat.js","uetq");
4865//]]>
4866 
4867 
4868 
4869 
4870 
4871 
4872 
4873 
4874 
4875 
4876 
4877 
4878 
4879 
4880 
4881 
4882 </script>
4882
4883 <noscript>
4884  <img src="//bat.bing.com/action/0?ti=56181068&amp;Ver=2" height="0" width="0" style="display:none; visibility: hidden;"/>
4885 </noscript>
4886</div>
4887<div id="placeholder_footer_reserve2" style="display: none;" data-inject="placeholder_footer_reserve2">
4888 <!-- Facebook Pixel Code --> 
4888<script nonce="wOxfCCnp">
4889
4890
4891
4892
4893//<![CDATA[
vendor: 397 bytes, lines 4893-4901
4893
4894
4895!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
4896n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
4897n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
4898t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
4899document,'script','https://connect.facebook.net/en_US/fbevents.js');
4900
4901fbq('init', '
4901509802141999976
vendor: 30 bytes, lines 4901-4902
4901');
4902fbq('track', "PageView");
4903//]]>
4904 
4905 
4906 
4907 
4908 </script>
4908
4909 <noscript>
4910  <img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=509802141999976&amp;ev=PageView&amp;noscript=1"/>
4911 </noscript>
4912 <!-- End Facebook Pixel Code -->
4913</div>
4914<div id="placeholder_footer_reserve3" style="display: none;" data-inject="placeholder_footer_reserve3">
4915 
4916 
4917 
4918 
4919 
4920 
4921 
4922 
4923 
4924 
4925 
4926 
4927 
4928 
4929 
4930 
4931 
4932 
4933 
4934 
4935 
4936 
4937 
4938 
4939 
4940 
4941 
4942 
4943 
4944 
4945 
4946 
4947 
4948 
4949 
4950 
4951 
4952 
4953 
4954 
4955 
4956 
4957 
4958 
4959 
4960 
4961 
4962 
4963 
4964 
4965 
4966 
4967 
4968 
4969 
4970 
4971 
4972 
4973 
4974 
4975 
4976 
4977 
4978 
4979 
4980 
4981 
4982 
4983 
4984 
4985 
4986 
4987 
4988 
4989 
4990 
4991 
4992 
4993 
4994 
4995 
4996 
4997 
4998 
4999 
5000 
5001 
5002 
5003 
5004 
5005 
5006 
5007 
5008 
5009 
5010 
5011 
5012 
5013 
5014 
5015 
5016 
5017 
5018 
5019 
5020 
5021 
5022 
5023 
5024 
5025 
5026 
5027 
5028 
5029 
5030 
5031 
5032 
5033 
5034 
5035 
5036 
5037 
5038 
5039 
5040 
5041 
5042 
5043 
5044 
5045 
5046 
5047 
5048 
5049 
5050 
5051 
5052 
5053 
5054 
5055 
5056 
5057 
5058 
5059 
5060 
5061 {{placeholder_footer_reserve3}}
5062</div>
5063<div id="placeholder_footer_reserve4" style="display: none;" data-inject="placeholder_footer_reserve4">
5064 
5065 
5066 
5067 
5068 
5069 
5070 
5071 
5072 
5073 
5074 
5075 
5076 
5077 
5078 
5079 
5080 
5081 
5082 
5083 
5084 
5085 
5086 
5087 
5088 
5089 
5090 
5091 
5092 
5093 
5094 
5095 
5096 
5097 
5098 
5099 
5100 
5101 
5102 
5103 
5104 
5105 
5106 
5107 
5108 
5109 
5110 
5111 
5112 
5113 
5114 
5115 
5116 
5117 
5118 
5119 
5120 
5121 
5122 
5123 
5124 
5125 
5126 
5127 
5128 
5129 
5130 
5131 
5132 
5133 
5134 
5135 
5136 
5137 
5138 
5139 
5140 
5141 
5142 
5143 
5144 
5145 
5146 
5147 
5148 
5149 
5150 
5151 
5152 
5153 
5154 
5155 
5156 
5157 
5158 
5159 
5160 
5161 
5162 
5163 
5164 
5165 
5166 
5167 
5168 
5169 
5170 
5171 
5172 
5173 
5174 
5175 
5176 
5177 
5178 
5179 
5180 
5181 
5182 
5183 
5184 
5185 
5186 
5187 
5188 
5189 
5190 
5191 
5192 
5193 
5194 
5195 
5196 
5197 
5198 
5199 
5200 
5201 
5202 
5203 
5204 
5205 
5206 
5207 
5208 
5209 
5210 {{placeholder_footer_reserve4}}
5211</div>
5212<div id="placeholder_footer_reserve5" style="display: none;" data-inject="placeholder_footer_reserve5">
5213 
5214 
5215 
5216 
5217 
5218 
5219 
5220 
5221 
5222 
5223 
5224 
5225 
5226 
5227 
5228 
5229 
5230 
5231 
5232 
5233 
5234 
5235 
5236 
5237 
5238 
5239 
5240 
5241 
5242 
5243 
5244 
5245 
5246 
5247 
5248 
5249 
5250 
5251 
5252 
5253 
5254 
5255 
5256 
5257 
5258 
5259 
5260 
5261 
5262 
5263 
5264 
5265 
5266 
5267 
5268 
5269 
5270 
5271 
5272 
5273 
5274 
5275 
5276 
5277 
5278 
5279 
5280 
5281 
5282 
5283 
5284 
5285 
5286 
5287 
5288 
5289 
5290 
5291 
5292 
5293 
5294 
5295 
5296 
5297 
5298 
5299 
5300 
5301 
5302 
5303 
5304 
5305 
5306 
5307 
5308 
5309 
5310 
5311 
5312 
5313 
5314 
5315 
5316 
5317 
5318 
5319 
5320 
5321 
5322 
5323 
5324 
5325 
5326 
5327 
5328 
5329 
5330 
5331 
5332 
5333 
5334 
5335 
5336 
5337 
5338 
5339 
5340 
5341 
5342 
5343 
5344 
5345 
5346 
5347 
5348 
5349 
5350 
5351 
5352 
5353 
5354 
5355 
5356 
5357 
5358 
5359 {{placeholder_footer_reserve5}}
5360</div>
5361<div id="placeholder_footer_reserve6" style="display: none;" data-inject="placeholder_footer_reserve6">
5362 
5363 
5364 
5365 
5366 
5367 
5368 
5369 
5370 
5371 
5372 
5373 
5374 
5375 
5376 
5377 
5378 
5379 
5380 
5381 
5382 
5383 
5384 
5385 
5386 
5387 
5388 
5389 
5390 
5391 
5392 
5393 
5394 
5395 
5396 
5397 
5398 
5399 
5400 
5401 
5402 
5403 
5404 
5405 
5406 
5407 
5408 
5409 
5410 
5411 
5412 
5413 
5414 
5415 
5416 
5417 
5418 
5419 
5420 
5421 
5422 
5423 
5424 
5425 
5426 
5427 
5428 
5429 
5430 
5431 
5432 
5433 
5434 
5435 
5436 
5437 
5438 
5439 
5440 
5441 
5442 
5443 
5444 
5445 
5446 
5447 
5448 
5449 
5450 
5451 
5452 
5453 
5454 
5455 
5456 
5457 
5458 
5459 
5460 
5461 
5462 
5463 
5464 
5465 
5466 
5467 
5468 
5469 
5470 
5471 
5472 
5473 
5474 
5475 
5476 
5477 
5478 
5479 
5480 
5481 
5482 
5483 
5484 
5485 
5486 
5487 
5488 
5489 
5490 
5491 
5492 
5493 
5494 
5495 
5496 
5497 
5498 
5499 
5500 
5501 
5502 
5503 
5504 
5505 
5506 
5507 
5508 {{placeholder_footer_reserve6}}
5509</div>
5510<div id="placeholder_footer_reserve7" style="display: none;" data-inject="placeholder_footer_reserve7">
5511 
5512 
5513 
5514 
5515 
5516 
5517 
5518 
5519 
5520 
5521 
5522 
5523 
5524 
5525 
5526 
5527 
5528 
5529 
5530 
5531 
5532 
5533 
5534 
5535 
5536 
5537 
5538 
5539 
5540 
5541 
5542 
5543 
5544 
5545 
5546 
5547 
5548 
5549 
5550 
5551 
5552 
5553 
5554 
5555 
5556 
5557 
5558 
5559 
5560 
5561 
5562 
5563 
5564 
5565 
5566 
5567 
5568 
5569 
5570 
5571 
5572 
5573 
5574 
5575 
5576 
5577 
5578 
5579 
5580 
5581 
5582 
5583 
5584 
5585 
5586 
5587 
5588 
5589 
5590 
5591 
5592 
5593 
5594 
5595 
5596 
5597 
5598 
5599 
5600 
5601 
5602 
5603 
5604 
5605 
5606 
5607 
5608 
5609 
5610 
5611 
5612 
5613 
5614 
5615 
5616 
5617 
5618 
5619 
5620 
5621 
5622 
5623 
5624 
5625 
5626 
5627 
5628 
5629 
5630 
5631 
5632 
5633 
5634 
5635 
5636 
5637 
5638 
5639 
5640 
5641 
5642 
5643 
5644 
5645 
5646 
5647 
5648 
5649 
5650 
5651 
5652 
5653 
5654 
5655 
5656 
5657 {{placeholder_footer_reserve7}}
5658</div>
5659<!-- End Body End Markup --><!--  End Body End Markup -->
5660<!--  Site Wide Html Markup -->
5661<div id="swh-175d53596128445cb1c88d203eadff15">
5661<script>
5662// Set AE Preview mode within Site Editor Preview
5663if (window.location.search.match(/[?,&]preview=true/) && window.top !== window) {
5664    window.__AudioEyePreviewMode = true;
5665}
5666</script>
vendor: 1 bytes, line 5666
5666
5667<script type="text/javascript">!function(){var b=function(){window.__AudioEyeSiteHash = "d1d6772f177a152ba5e8ff6aeae47d5c"; var a=document.createElement("script");a.src="https://wsmcdn.audioeye.com/aem.js";a.type="text/javascript";a.setAttribute("async","");document.getElementsByTagName("body")[0].appendChild(a)};"complete"!==document.readyState?window.addEventListener?window.addEventListener("load",b):window.attachEvent&&window.attachEvent("onload",b):b()}();</script>
5667</div><!--  Site Wide Html Markup -->
5668<!--  Begin Product Custom HTML Markup -->
5669<div id="fb-root"></div> 
5670<script>(function(d, s, id) { 
5671var js, fjs = d.getElementsByTagName(s)[0]; 
5672if (d.getElementById(id)) return; 
5673js = d.createElement(s); js.id = id; 
5674js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.8&appId=1822295708016537"; 
5675fjs.parentNode.insertBefore(js, fjs); 
5676}(document, 'script', 'facebook-jssdk'));</script>
vendor: 2 bytes, line 5676
5676
5677<script>
5678//make sure video's on iOS load first screen of the video.
5679dmAPI.runOnReady('russTest',function() {
5680    var _hibu_vid = document.getElementsByTagName('video');
5681    for (var i = 0; i < _hibu_vid.length; i++) {
5682        _hibu_vid[i].load();
5683    }
5684})
5685</script>
vendor: 2 bytes, line 5685
5685
5686<script>
5687//simple addition by Russ to add consent banner link into footer - updated by Adrian to account for Termly installs.
5688(function () {
5689  var poweredByFirstAnchor = document.querySelector('.poweredBy a:first-child');
5690  if (!poweredByFirstAnchor) return;
5691
5692  if (window.Termly) {
5693    var termlySpan = document.createElement('span');
5694    termlySpan.className = 'termly-display-preferences';
5695    termlySpan.textContent = 'Manage Consent Preferences';
5696    poweredByFirstAnchor.insertAdjacentElement('afterend', termlySpan);
5697  } else {
5698    var spSpan = document.createElement('span');
5699    spSpan.id = 'spConsentWrapper';
5700    poweredByFirstAnchor.insertAdjacentElement('afterend', spSpan);
5701    window.localStorage.setItem('__springtime__repop__target', '#spConsentWrapper');
5702  }
5703})();
5704</script>
5704
5705<style>
5706  #spConsentWrapper:before,
5707  .poweredBy .termly-display-preferences:before { content: " | " }
5708  .poweredBy .termly-display-preferences { cursor: pointer; }
5709</style>
5710<script>
5711if (window.location.search.indexOf('preview') > 0) {
5712  window.localStorage.setItem('ae_user_consent_decision_has_been_made', true);
5713  var spEl = document.getElementById('spConsentWrapper');
5714  if (spEl) spEl.remove();
5715}
5716</script>
5716<!--  End Product Custom HTML Markup -->
5717</body>
5718</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.