1<!doctype html > 2<html xmlns="http://www.w3.org/1999/xhtml" lang="en" 3 class="ios-preview-native-scroll"> 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 44
45<script type="text/javascript"> 46 window._currentDevice = 'desktop'; 47 window.Parameters = window.Parameters || { 48 HomeUrl: 'https://www.hibuwebsites.com/', 49 50 SystemID: 'US_HIBU_PRODUCTION', 51 SiteAlias: '03345c75678a400f95e189230f569eaf', 52 SiteType: atob('RFVEQU9ORQ=='), 53 PublicationDate: 'Jun 28, 2022', 54 ExternalUid: '658707192', 55 IsSiteMultilingual: false, 56 InitialPostAlias: '', 57 InitialPostPageUuid: '', 58 InitialDynamicItem: '', 59 DynamicPageInfo: { 60 isDynamicPage: false, 61 base64JsonRowData: 'null', 62 }, 63 InitialPageAlias: 'request-form', 64 InitialPageUuid: 'c6e4ebe700bb424da3a2325157d807a1', 65 InitialPageId: '73439243', 66 InitialEncodedPageAlias: 'cmVxdWVzdC1mb3Jt', 67 InitialHeaderUuid: '9f0a1206d4154f2791521bc71b400de3', 68 CurrentPageUrl: '', 69 IsCurrentHomePage: false, 70 AllowAjax: false, 71 AfterAjaxCommand: null, 72 HomeLinkText: 'Back To Home', 73 UseGalleryModule: false, 74 CurrentThemeName: 'Layout Theme', 75 ThemeVersion: '6405', 76 DefaultPageAlias: '', 77 RemoveDID: true, 78 WidgetStyleID: null, 79 IsHeaderFixed: false, 80 IsHeaderSkinny: false, 81 IsBfs: true, 82 StorePageAlias: 'null', 83 StorePagesUrls: 'e30=', 84 IsNewStore: 'false', 85 StorePath: '', 86 StoreId: 'null', 87 StoreVersion: 0, 88 StoreBaseUrl: '', 89 StoreCleanUrl: true, 90 StoreDisableScrolling: true, 91 IsStoreSuspended: false, 92 HasCustomDomain: true, 93 SimpleSite: false, 94 showCookieNotification: false, 95 cookiesNotificationMarkup: 'null', 96 translatedPageUrl: '', 97 isFastMigrationSite: false, 98 sidebarPosition: 'NA', 99 currentLanguage: 'en', 100 currentLocale: 'en', 101 NavItems: '{}', 102 errors: { 103 general: 'There was an error connecting to the page.<br/> Make sure you are not offline.', 104 password: 'Incorrect name/password combination', 105 tryAgain: 'Try again' 106 }, 107 108 mapConsent: { 109 message: 'This content is served by a third party, {0}. If enabled, {0} may collect information about your activity.', 110 enable: 'Enable' 111 }, 112 NavigationAreaParams: { 113 ShowBackToHomeOnInnerPages: true, 114 NavbarSize: 4, 115 NavbarLiveHomePage: 'https://www.hibuwebsites.com/', 116 BlockContainerSelector: '.dmBody', 117 NavbarSelector: '#dmNav:has(a)', 118 SubNavbarSelector: '#subnav_main' 119 }, 120 hasCustomCode: true, 121 planID: '753', 122 customTemplateId: 'null', 123 siteTemplateId: 'null', 124 productId: 'DM_DIRECT', 125 disableTracking: false, 126 pageType: 'FROM_SCRATCH', 127 isRuntimeServer: true, 128 isInEditor: false, 129 isInPreview: false, 130 hasNativeStore: false, 131 defaultLang: 'en', 132 hamburgerMigration: null, 133 isFlexSite: false 134 }; 135 136 window.Parameters.LayoutID = {}; 137 window.Parameters.LayoutID[window._currentDevice] = 6; 138 window.Parameters.LayoutVariationID = {}; 139 window.Parameters.LayoutVariationID[window._currentDevice] = 5; 140</script>
140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163<!-- Injecting site-wide to the head --> 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181
182<script type="text/javascript" id="d_track_campaign"> 183 (function() { 184 if (!window.location.search) { 185 return; 186 } 187 const cleanParams = window.location.search.substring(1); // Strip ? 188 const queryParams = cleanParams.split('&'); 189 190 const expires = 'expires=' + new Date().getTime() + 24 * 60 * 60 * 1000; 191 const domain = 'domain=' + window.location.hostname; 192 const path = "path=/"; 193 194 queryParams.forEach((param) => { 195 const [key, value = ''] = param.split('='); 196 if (key.startsWith('utm_')) { 197 const cookieName = "_dm_rt_" + key.substring(4); 198 const cookie = cookieName + "=" + value; 199 const joined = [cookie, expires, domain, path].join(";"); 200 document.cookie = joined; 201 } 202 }); 203 }()); 204</script>
vendor: 1 bytes, line 204
204
205<script type="text/javascript" id="d_track_referrer"> 206 (function() { 207 const cookieName = '_dm_entry_referrer'; 208 const referrer = document.referrer; 209 if (!referrer) { 210 return; 211 } 212 let referrerOrigin; 213 try { 214 referrerOrigin = new URL(referrer).origin; 215 } catch (e) { 216 return; 217 } 218 // 'null' is what an opaque origin (sandboxed iframe, file://) serializes to. 219 if (!referrerOrigin || referrerOrigin === 'null' || referrerOrigin === window.location.origin) { 220 return; 221 } 222 try { 223 const existing = document.cookie 224 .split('; ') 225 .find((candidate) => candidate.indexOf(cookieName + '=') === 0); 226 if (existing && decodeURIComponent(existing.slice(cookieName.length + 1))) { 227 return; 228 } 229 // No expiry: session-scoped, matching the _dm_rt_ cookies above that a submission 230 // reads alongside this one (session-scoped in practice â see FBN-5389). 231 const secure = window.location.protocol === 'https:' ? ';Secure' : ''; 232 document.cookie = cookieName + '=' + encodeURIComponent(referrerOrigin) 233 + ';path=/;SameSite=Lax' + secure; 234 } catch (e) { 235 return; 236 } 237 }()); 238</script>
238 239
240<script type="text/javascript" > 241 var _dm_gaq = {}; 242 var _gaq = _gaq || []; 243 var _dm_insite = []; 244</script>
244 245 246 247 248 249 250 251<!-- End Injecting site-wide to the head --> 252 253<!-- Inject secured cdn script --> 254 255 256<!-- ========= Meta Tags ========= --> 257<!-- PWA settings -->
258<script> 259 function toHash(str) { 260 var hash = 5381, i = str.length; 261 while (i) { 262 hash = hash * 33 ^ str.charCodeAt(--i) 263 } 264 return hash >>> 0 265 } 266</script>
vendor: 1 bytes, line 266
266
267<script> 268 (function (global) { 269 //const cacheKey = global.cacheKey; 270 const isOffline = 'onLine' in navigator && navigator.onLine === false; 271 const hasServiceWorkerSupport = 'serviceWorker' in navigator; 272 if (isOffline) { 273 console.log('offline mode'); 274 } 275 if (!hasServiceWorkerSupport) { 276 console.log('service worker is not supported'); 277 } 278 if (hasServiceWorkerSupport && !isOffline) { 279 window.addEventListener('load', function () { 280 const serviceWorkerPath = '/runtime-service-worker.js?v=3'; 281 navigator.serviceWorker 282 .register(serviceWorkerPath, { scope: './' }) 283 .then( 284 function (registration) { 285 // Registration was successful 286 console.log( 287 'ServiceWorker registration successful with scope: ', 288 registration.scope 289 ); 290 }, 291 function (err) { 292 // registration failed :( 293 console.log('ServiceWorker registration failed: ', err); 294 } 295 ) 296 .catch(function (err) { 297 console.log(err); 298 }); 299 }); 300 301 // helper function to refresh the page 302 var refreshPage = (function () { 303 var refreshing; 304 return function () { 305 if (refreshing) return; 306 // prevent multiple refreshes 307 var refreshkey = 'refreshed' + location.href; 308 var prevRefresh = localStorage.getItem(refreshkey); 309 if (prevRefresh) { 310 localStorage.removeItem(refreshkey); 311 if (Date.now() - prevRefresh < 30000) { 312 return; // dont go into a refresh loop 313 } 314 } 315 refreshing = true; 316 localStorage.setItem(refreshkey, Date.now()); 317 console.log('refereshing page'); 318 window.location.reload(); 319 }; 320 })(); 321 322 function messageServiceWorker(data) { 323 return new Promise(function (resolve, reject) { 324 if (navigator.serviceWorker.controller) { 325 var worker = navigator.serviceWorker.controller; 326 var messageChannel = new MessageChannel(); 327 messageChannel.port1.onmessage = replyHandler; 328 worker.postMessage(data, [messageChannel.port2]); 329 function replyHandler(event) { 330 resolve(event.data); 331 } 332 } else { 333 resolve(); 334 } 335 }); 336 } 337 } 338})(window); 339</script>
339 340<!-- Add manifest --> 341<!-- End PWA settings --> 342 343 344 345<link rel="canonical" href="http://www.hibuwebsites.com/request-form"> 346 347<meta id="view" name="viewport" content="initial-scale=1, minimum-scale=1, maximum-scale=5, viewport-fit=cover"> 348 349<meta name="apple-mobile-web-app-capable" content="yes"> 350 351<!--Add favorites icons--> 352 353<link rel="icon" type="image/x-icon" href="https://cdn.websites.hibu.com/1c02a5e3326248d48476e9bb6fdaa9d8/site_favicon_16_1555599949070.ico"/> 354 355<!-- End favorite icons --> 356<link rel="preconnect" href="https://le-cdn.hibuwebsites.com"/> 357<link rel="preconnect" href="https://cdn.hibuwebsites.com" crossorigin/> 358<link rel="preconnect" href="https://static-res-cdn.websites.hibu.com"/> 359<link rel="preconnect" href="https://cdn.hibuwebsites.com"/> 360 361 362 363<!-- render the required CSS and JS in the head section -->
364<script id='d-js-dmapi'> 365 window.SystemID = 'US_HIBU_PRODUCTION'; 366 367 if (!window.dmAPI) { 368 window.dmAPI = { 369 registerExternalRuntimeComponent: function () { 370 }, 371 getCurrentDeviceType: function () { 372 return window._currentDevice; 373 }, 374 runOnReady: (ns, fn) => { 375 const safeFn = dmAPI.toSafeFn(fn); 376 ns = ns || 'global_' + Math.random().toString(36).slice(2, 11); 377 const eventName = 'afterAjax.' + ns; 378 379 if (document.readyState === 'complete') { 380 $.DM.events.off(eventName).on(eventName, safeFn); 381 setTimeout(function () { 382 safeFn({ 383 isAjax: false, 384 }); 385 }, 0); 386 } else { 387 window?.waitForDeferred?.('dmAjax', () => { 388 $.DM.events.off(eventName).on(eventName, safeFn); 389 safeFn({ 390 isAjax: false, 391 }); 392 }); 393 } 394 }, 395 toSafeFn: (fn) => { 396 if (fn?.safe) { 397 return fn; 398 } 399 const safeFn = function (...args) { 400 try { 401 return fn?.apply(null, args); 402 } catch (e) { 403 console.log('function failed ' + e.message); 404 } 405 }; 406 safeFn.safe = true; 407 return safeFn; 408 } 409 }; 410 } 411 412 if (!window.requestIdleCallback) { 413 window.requestIdleCallback = function (fn) { 414 setTimeout(fn, 0); 415 } 416 } 417</script>
417 418 419<!-- loadCSS function header.jsp--> 420 421 422 423 424 425
426<script id="d-js-load-css"> 427/** 428 * There are a few <link> tags with CSS resource in them that are preloaded in the page 429 * in each of those there is a "onload" handler which invokes the loadCSS callback 430 * defined here. 431 * We are monitoring 3 main CSS files - the runtime, the global and the page. 432 * When each load we check to see if we can append them all in a batch. If threre 433 * is no page css (which may happen on inner pages) then we do not wait for it 434 */ 435(function () { 436 let cssLinks = {}; 437 function loadCssLink(link) { 438 link.onload = null; 439 link.rel = "stylesheet"; 440 link.type = "text/css"; 441 } 442 443 function checkCss() { 444 const pageCssLink = document.querySelector("[id*='CssLink']"); 445 const widgetCssLink = document.querySelector("[id*='widgetCSS']"); 446 447 if (cssLinks && cssLinks.runtime && cssLinks.global && (!pageCssLink || cssLinks.page) && (!widgetCssLink || cssLinks.widget)) { 448 const storedRuntimeCssLink = cssLinks.runtime; 449 const storedPageCssLink = cssLinks.page; 450 const storedGlobalCssLink = cssLinks.global; 451 const storedWidgetCssLink = cssLinks.widget; 452 453 storedGlobalCssLink.disabled = true; 454 loadCssLink(storedGlobalCssLink); 455 456 if (storedPageCssLink) { 457 storedPageCssLink.disabled = true; 458 loadCssLink(storedPageCssLink); 459 } 460 461 if(storedWidgetCssLink) { 462 storedWidgetCssLink.disabled = true; 463 loadCssLink(storedWidgetCssLink); 464 } 465 466 storedRuntimeCssLink.disabled = true; 467 loadCssLink(storedRuntimeCssLink); 468 469 requestAnimationFrame(() => { 470 setTimeout(() => { 471 storedRuntimeCssLink.disabled = false; 472 storedGlobalCssLink.disabled = false; 473 if (storedPageCssLink) { 474 storedPageCssLink.disabled = false; 475 } 476 if (storedWidgetCssLink) { 477 storedWidgetCssLink.disabled = false; 478 } 479 // (SUP-4179) Clear the accumulated cssLinks only when we're 480 // sure that the document has finished loading and the document 481 // has been parsed. 482 if(document.readyState === 'interactive') { 483 cssLinks = null; 484 } 485 }, 0); 486 }); 487 } 488 } 489 490 491 function loadCSS(link) { 492 try { 493 var urlParams = new URLSearchParams(window.location.search); 494 var noCSS = !!urlParams.get("nocss"); 495 var cssTimeout = urlParams.get("cssTimeout") || 0; 496 497 if (noCSS) { 498 return; 499 } 500 if (link.href && link.href.includes("d-css-runtime")) { 501 cssLinks.runtime = link; 502 checkCss(); 503 } else if (link.id === "siteGlobalCss") { 504 cssLinks.global = link; 505 checkCss(); 506 } 507 508 else if (link.id && link.id.includes("CssLink")) { 509 cssLinks.page = link; 510 checkCss(); 511 } else if (link.id && link.id.includes("widgetCSS")) { 512 cssLinks.widget = link; 513 checkCss(); 514 } 515 516 else { 517 requestIdleCallback(function () { 518 window.setTimeout(function () { 519 loadCssLink(link); 520 }, parseInt(cssTimeout, 10)); 521 }); 522 } 523 } catch (e) { 524 throw e 525 } 526 } 527 window.loadCSS = window.loadCSS || loadCSS; 528})(); 529</script>
529 530 531 532
533<script data-role="deferred-init" type="text/javascript"> 534 /* usage: window.getDeferred(<deferred name>).resolve() or window.getDeferred(<deferred name>).promise.then(...)*/ 535 function Def() { 536 this.promise = new Promise((function (a, b) { 537 this.resolve = a, this.reject = b 538 }).bind(this)) 539 } 540 541 const defs = {}; 542 window.getDeferred = function (a) { 543 return null == defs[a] && (defs[a] = new Def), defs[a] 544 } 545 window.waitForDeferred = function (b, a, c) { 546 let d = window?.getDeferred?.(b); 547 d 548 ? d.promise.then(a) 549 : c && ["complete", "interactive"].includes(document.readyState) 550 ? setTimeout(a, 1) 551 : c 552 ? document.addEventListener("DOMContentLoaded", a) 553 : console.error(`Deferred does not exist`); 554 }; 555</script>
555 556<style id="forceCssIncludes"> 557 /* This file is auto-generated from a `scss` file with the same name */ 558 559.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}} 560 561 562</style> 563<style id="cssVariables" type="text/css"> 564 565</style> 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591<!-- Google Fonts Include --> 592 593 594 595 596 597 598 599 600 601 602 603 604 605<!-- loadCSS function fonts.jsp--> 606 607 608 609<link type="text/css" rel="stylesheet" href="https://cdn.hibuwebsites.com/fonts/css2?family=Source+Sans+Pro:wght@200;300;400;600;700;900&subset=latin-ext&display=swap" /> 610 611 612 613 614 615<!-- RT CSS Include d-css-runtime-desktop-one-package-new--> 616<link rel="stylesheet" type="text/css" href="https://static-res-cdn.websites.hibu.com/mnlt/production/6797/_dm/s/rt/dist/css/d-css-runtime-desktop-one-package-new.min.css" /> 617 618<!-- End of RT CSS Include --> 619 620<link type="text/css" rel="stylesheet" href="https://cdn.hibuwebsites.com/WIDGET_CSS/0e62dce0138840dd48eed12c1ecc2aaf.css" id="widgetCSS" /> 621 622<!-- Support `img` size attributes --> 623<style>img[width][height] { 624 height: auto; 625}</style> 626 627<!-- Support showing sticky element on page only --> 628<style> 629 body[data-page-alias="request-form"] #dm [data-show-on-page-only="request-form"] { 630 display: block !important; 631 } 632</style> 633 634<!-- This is populated in Ajax navigation --> 635<style id="pageAdditionalWidgetsCss" type="text/css"> 636</style> 637 638 639 640 641<!-- Site CSS --> 642<link type="text/css" rel="stylesheet" href="https://cdn.hibuwebsites.com/03345c75678a400f95e189230f569eaf/files/03345c75678a400f95e189230f569eaf_1.min.css?v=2" id="siteGlobalCss" /> 643 644 645<!-- additional css file per platform --> 646<link 647 type="text/css" rel="stylesheet" 648 href="/_dm/s/rt/css/hibu/hibu-runtime.css?version=2026-09-23T12_48_58" 649/> 650 651 652<style id="customWidgetStyle" type="text/css"> 653 654</style> 655<style id="innerPagesStyle" type="text/css"> 656 657</style> 658 659 660<style 661 id="additionalGlobalCss" type="text/css" 662> 663</style> 664 665<style id="pagestyle" type="text/css"> 666 *#dm *.dmBody *.u_1766014014 *.dmformsubmit{ 667float:LEFT !important} 668*#dm *.dmBody div.u_1766014014 *.dmforminput label{ 669color:rgba(0,0,0,1) !important} 670*#dm *.dmBody div.u_1766014014 input[type="submit"]{ 671font-weight:bold !important} 672*#dm *.dmBody *.u_1766014014 .dmform-success{ 673text-align:LEFT !important} 674*#dm *.dmBody *.u_1766014014 .dmform-success .rteBlock{ 675text-align:LEFT !important} 676</style> 677 678<style id="pagestyleDevice" type="text/css"> 679 *#dm *.dmBody div.u_1248149678{ 680float:none !important; 681top:0 !important; 682left:0 !important; 683width:100% !important; 684position:relative !important; 685height:auto !important; 686padding-top:0 !important; 687padding-left:40px !important; 688padding-bottom:0 !important; 689margin-right:auto !important; 690margin-left:auto !important; 691max-width:none !important; 692margin-top:0 !important; 693margin-bottom:0 !important; 694padding-right:40px !important; 695min-width:0 !important; 696text-align:center !important} 697*#dm *.dmBody div.u_1766014014{ 698padding-top:0 !important; 699margin-top:-20px !important; 700margin-left:0 !important; 701padding-left:0 !important; 702padding-bottom:0 !important; 703margin-bottom:0 !important; 704margin-right:0 !important; 705padding-right:0 !important} 706</style> 707 708<!-- Flex Sections CSS --> 709 710 711 712 713 714 715 716<style id="globalFontSizeStyle" type="text/css"> 717 .font-size-30, .size-30, .size-30 > font { font-size: 30px !important; } 718</style> 719<style id="pageFontSizeStyle" type="text/css"> 720</style> 721 722 723 724 725<style id="hideAnimFix"> 726 .dmDesktopBody:not(.editGrid) [data-anim-desktop]:not([data-anim-desktop='none']), .dmDesktopBody:not(.editGrid) [data-anim-extended] { 727 visibility: hidden; 728 } 729 730 .dmDesktopBody:not(.editGrid) .dmNewParagraph[data-anim-desktop]:not([data-anim-desktop='none']), .dmDesktopBody:not(.editGrid) .dmNewParagraph[data-anim-extended] { 731 visibility: hidden !important; 732 } 733 734 #dmRoot:not(.editGrid) .flex-element [data-anim-extended] { 735 visibility: hidden; 736 } 737 738</style> 739 740 741 742 743<style id="fontFallbacks"> 744 745</style> 746 747 748<!-- End render the required css and JS in the head section --> 749 750 751 752 753 754 755 756 757 758 <link type="application/rss+xml" rel="alternate" href="http://www.hibuwebsites.com/feed/rss2"/> 759 <link type="application/atom+xml" rel="alternate" href="http://www.hibuwebsites.com/feed/atom"/> 760 <meta property="og:type" content="website"/> 761 <meta property="og:url" content="http://www.hibuwebsites.com/request-form"/> 762 <title> 763 764 Request _____________ | <<NOB>> 765
766 </title> 767 <meta name="description" content="Request _________ from <<NOB>>. Motivating factor. Motivating factor (space permitting). Motivating factor (space permitting). UPDATE PAGE URL TO MATCH REQUEST FORM TYPE i.e /request-estimate, /get-free-quote"/> 768 <style type="text/css"> 769 770 771 772 773.dmInner { 774min-width: auto !important; 775max-width: 100vw !important; 776} 777 778 779 780 781 </style> 782 <meta name="format-detection" content="telephone=no"/> 783 784 <meta name="twitter:card" content="summary"/> 785 <meta name="twitter:title" content="Request _____________ | <<NOB>>"/> 786 <meta name="twitter:description" content="Request _________ from <<NOB>>. Motivating factor. Motivating factor (space permitting). Motivating factor (space permitting). UPDATE PAGE URL TO MATCH REQUEST FORM TYPE i.e /request-estimate, /get-free-quote"/> 787 <meta property="og:description" content="Request _________ from <<NOB>>. Motivating factor. Motivating factor (space permitting). Motivating factor (space permitting). UPDATE PAGE URL TO MATCH REQUEST FORM TYPE i.e /request-estimate, /get-free-quote"/> 788 <meta property="og:title" content="Request _____________ | <<NOB>>"/> 789 790 791 792 793<!-- SYS- VVNfSElCVV9QUk9EVUNUSU9O --> 794</head> 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816<body id="dmRoot" data-page-alias="request-form" class="dmRoot dmDesktopBody fix-mobile-scrolling addCanvasBorder dmResellerSite dmLargeBody " 817 style="padding:0;margin:0;" 818 819 > 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835<!-- ========= Site Content ========= --> 836<div id="dm" class='dmwr'> 837 838 <div class="dm_wrapper standard-var5 widgetStyle-3 standard"> 839 <div dmwrapped="true" id="1233511975"> <div dmtemplateid="StandardLayoutMultiD" class="standardHeaderLayout dm-bfs dm-layout-sec hasAnimations hasStickyHeader dmPageBody d-page-1936388842 inputs-css-clean dmFreeHeader" id="dm-outer-wrapper" data-page-class="1936388842" data-buttonstyle="THICK_BORDER_ROUND" data-soch="true" data-background-parallax-selector=".dmHomeSection1, .dmSectionParallex"> <div id="dmStyle_outerContainer" class="dmOuter"> <div id="dmStyle_innerContainer" class="dmInner"> <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"> <div dm:templateorder="85" class="dmHeaderResp dmHeaderStack noSwitch" id="1709005236"> <div class="dmRespRow fullBleedChanged fullBleedMode u_1367450802" id="1367450802"> <div class="dmRespColsWrapper" id="1937021165"> <div class="dmRespCol small-12 large-6 medium-6 u_1366752480" id="1366752480"> <div class="u_1766185638 widget-d1ee5d dmCustomWidget" data-lazy-load="" data-title="" id="1766185638" 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="eyJtZXJjaGFudElkIjoiMTc5NDIiLCJ0aGVtZSI6ImxpZ2h0IiwibWluLXJldmlld3MiOiIzIiwibWluLXJhdGluZyI6IjQifQ=="> <div class="headerWidget" data-merchant="17942" data-theme="light" data-break="" data-count-limit="3" data-rating-limit="4"></div> 840</div> 841</div> 842 <div class="dmRespCol large-6 medium-6 small-12 u_1653476552" id="1653476552"> <a data-display-type="block" class="u_1918503016 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient" file="false" href="/request-form" data-element-type="dButtonLinkId" id="1918503016"> <span class="iconBg" id="1693004465"> <span class="icon hasFontIcon icon-star" id="1675222523"></span> 843</span> 844 <span class="text" id="1547468839">Request <<Form Name>></span> 845</a> 846</div> 847</div> 848</div> 849 <div class="dmRespRow u_1867331532" id="1867331532"> <div class="dmRespColsWrapper" id="1955305792"> <div class="u_1697596152 dmRespCol small-12 medium-4 large-4" id="1697596152"> <div class="u_1303924522 dmRespRow" id="1303924522"> <div class="dmRespColsWrapper" id="1982888524"> <div class="u_1388887629 dmRespCol small-12 large-4 medium-4" id="1388887629"> <div class="u_1916980575 graphicWidget" data-element-type="graphic" data-widget-type="graphic" id="1916980575"> <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 70 70" id="1382430719" class="svg u_1382430719" 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 850 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 851 c-3.3,0-6-2.7-6-6s2.7-6,6-6c3.3,0,6,2.7,6,6S38.3,33,35,33z"></path> 852</svg> 853</div> 854</div> 855 <div class="u_1286164759 dmRespCol small-12 large-8 medium-8" id="1286164759"> <div class="u_1864465045 widget-7b6cfb dmCustomWidget" data-lazy-load="" data-title="" id="1864465045" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" lock-element-for-editing="true" icon="false" surround="false" data-widget-id="7b6cfbac88324cffbaaf57354cd7a334" data-widget-version="227" data-widget-config="eyJnZXREaXJlY3Rpb25zVGV4dCI6IkdldCBEaXJlY3Rpb25zIiwiZ3JvdXBZZWFyRXN0YWJsaXNoZWQiOm51bGwsImgzRW1haWxUZXh0IjoiIiwidG9nZ2xlSDNBc3NvY2lhdGlvbnMiOm51bGwsImdyb3VwQml6TmFtZURlc2lnbiI6bnVsbCwidG9nZ2xlSDNTZXJ2aWNlcyI6bnVsbCwidHlwZSI6ImFkZHJlc3MiLCJib2xkTG9jYXRpb25OYW1lIjpudWxsLCJjb2xvclBpY2tlcjEiOm51bGwsImgzUGF5bWVudHNUZXh0IjpudWxsLCJncm91cEdvb2dsZUF0dHJpYnV0ZXMiOm51bGwsInBheW1lbnRHcm91cCI6bnVsbCwidG9nZ2xlSDNTcGVjaWFsdGllcyI6bnVsbCwic2VydmljZUFyZWFHcm91cCI6bnVsbCwic3RhdGUiOnRydWUsImdyb3VwU29jaWFsSWNvbnMiOm51bGwsInRvZ2dsZUgzU2VydmljZUFyZWEiOm51bGwsInNvY2lhbEdyb3VwIjpudWxsLCJ6aXAiOmZhbHNlLCJwaG9uZUxpc3RTdHlsZXMiOm51bGwsImNhcmRTdHlsZURhcmtPckxpZ2h0IjoidmFsdWUzIiwiaDNZZWFySGVhZFRleHQiOiIiLCJwYXltZW50T3B0aW9uc0J1bGxldCI6ImJ1bGxldCIsIi5hZGRyZXNzSGVhZGVyIjpudWxsLCJ0b2dnbGVIM2ZlYXRNZXNzYWdlIjpudWxsLCJicmFuZHNHcm91cCI6bnVsbCwicHJvZHVjdHNHcm91cCI6bnVsbCwiaDNLZXl3b3Jkc1RleHQiOm51bGwsInNjcmlwdCI6IiIsImdyb3VwS2V5d29yZHNEZXNpZ24iOm51bGwsImdyb3VwQXR0cmlidXRlcyI6bnVsbCwic29jaWFsSWNvbnNBbGlnbm1lbnQiOiJsZWZ0IiwibGFuZ3VhZ2VzQnVsbGV0IjoiYnVsbGV0IiwiZ3JvdXBFbWFpbERlc2lnbiI6bnVsbCwiaDNIb2xpZGF5SG91cnMiOiJIb2xpZGF5IEhvdXJzIiwic2hvd1BheW1lbnRzQXMiOm51bGwsInNlcnZpY2VzR3JvdXAiOm51bGwsImJvbGRTdGF0dXNUZXh0Ijp0cnVlLCJoM1NvY2lhbFRleHQiOm51bGwsImxvZ29Hcm91cCI6bnVsbCwiZ3JvdXBQaG9uZURlc2lnbiI6bnVsbCwicGhvbmVHcm91cCI6bnVsbCwiY2l0eSI6dHJ1ZSwiZ3JvdXBCaXpEZXNEZXNpZ24iOm51bGwsImgzaG91cnNUZXh0IjoiIiwiaDNTZXJ2aWNlQXJlYVRleHQiOm51bGwsImlzTGlzdCI6dHJ1ZSwiYm9sZEhvdXJzIjp0cnVlLCJ0b2dnbGVIM2hvdXJzIjpudWxsLCJncm91cEFkZGl0aW9uYWxIb3Vyc1RleHQiOm51bGwsImRlc2NyaXB0aW9uVGV4dEdyb3VwIjpudWxsLCJicmFuZHNCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM2hvbGlkYXlIb3VycyI6dHJ1ZSwiYXNzb2NpYXRpb25zQnVsbGV0IjoiYnVsbGV0IiwibG9jYXRpb25Hcm91cCI6bnVsbCwidG9nZ2xlSDNHb29nbGVBdHRyaWJ1dGVzIjp0cnVlLCJ0b2dnbGVIM2Rlc2NyaXB0aW9uIjpudWxsLCJob2xpZGF5SG91cnNCdWxsZXQiOiJidWxsZXRzIiwidG9nZ2xlSDNMYW5ndWFnZXMiOm51bGwsInBob25lVHlwZSI6InBob25lIiwibG9jYXRpb25OYW1lIjpmYWxzZSwidG9nZ2xlSDNQYXltZW50cyI6bnVsbCwic2VydmljZUFyZWFCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM1Byb2R1Y3RzIjpudWxsLCJncm91cEFkZHJl
855c3NEZXNpZ24iOm51bGwsIlBob25lIEhlYWRlciBHcm91cCI6bnVsbCwidG9nZ2xlSDNTb2NpYWwiOm51bGwsInNob3dTZXJ2aWNlQXJlYUZpcnN0IjpudWxsLCJhZGRpdGlvbmFsSG91cnNUZXh0IjpudWxsLCJoM1NwZWNpYWx0aWVzVGV4dCI6IiIsInRvZ2dsZUgzWWVhciI6bnVsbCwic3BlY2lhbHRpZXNHcm91cCI6bnVsbCwiZHJhd01hcCI6bnVsbCwiaW5zdHJ1Y3Rpb25zIjpudWxsLCJncm91cFByb2R1Y3RzRGVzaWduIjpudWxsLCJncm91cFNlcnZpY2VBcmVhRGVzaWduIjpudWxsLCJoM0FkZHJlc3NUZXh0IjoiIiwiZ3JvdXBTZXJ2aWNlc0Rlc2lnbiI6bnVsbCwidG9nZ2xlSDNQaG9uZUxpc3QiOm51bGwsImdyb3VwRmVhdHVyZWRNZXNzYWdlRGVzaWduIjpudWxsLCJoM1NlcnZpY2VzVGV4dCI6bnVsbCwiaDNQaG9uZVRleHQiOiIiLCJoM0Fzc29jaWF0aW9uc1RleHQiOiIiLCJwYXltZW50VGV4dEdyb3VwIjpudWxsLCJoM0Rlc2NyaXB0aW9uVGV4dCI6bnVsbCwic2hvd0dldERpcmVjdGlvbnNMaW5rIjpudWxsLCJncm91cFBheW1lbnREZWlzZ24iOm51bGwsImgzR29vZ2xlQXR0cmlidXRlcyI6IkJ1c2luZXNzIEF0dHJpYnV0ZXMiLCJ0b2dnbGVIM0FkZHJlc3MiOm51bGwsInNob3dFbWFpbEFzQnRuIjpudWxsLCJhc3NvY2lhdGlvbnNHcm91cCI6bnVsbCwiaDNQcm9kdWN0c1RleHQiOiIiLCJmb3JtYXRQaG9uZSI6dHJ1ZSwiZ3JvdXBMYW5ndWFnZXNEZXNpZ24iOm51bGwsInRvZ2dsZUgzS2V5d29yZHMiOm51bGwsImtleXdvcmRzR3JvdXAiOm51bGwsImFsdCI6bnVsbCwiaGlkZUhvdXJzTGlzdCI6ZmFsc2UsImdyb3VwSG9saWRheUhvdXJzRGVzaWduIjpudWxsLCJwaG9uZVNob3dBcyI6ImJ1dHRvbiIsImdvb2dsZUF0dHJpYnV0ZXNGb3JtYXR0ZWRMaXN0QnVsbGV0IjoiYnVsbGV0cyIsIm1hcFpvb20iOiIxMyIsImhvbGlkYXlIb3VycyI6bnVsbCwiZ3JvdXBIb3Vyc0Rlc2lnbiI6bnVsbCwiaDNMYW5ndWFnZXNUZXh0IjpudWxsLCJob3Vyc1Nob3dBcyI6Imxpc3QiLCJlbWFpbFRleHRHcm91cCI6bnVsbCwicGhvbmVMaXN0U3R5bGUiOiJidWxsZXRzIiwidG9nZ2xlMSI6bnVsbCwiaDNCcmFuZFRleHQiOiIiLCJsaW5rIjpudWxsLCJncm91cFBheW1lbnRDYXJkRGVzaWduIjpudWxsLCJncm91cFNwZWNpYWx0aWVzRGVzaWduIjpudWxsLCJ5ZWFyRXN0YWJpbGlzaGVkR3JvdXAiOm51bGwsInBob25lVGV4dFN0eWxlcyI6bnVsbCwiZ3JvdXBBc3NvY2lhdGlvbnNEZXNpZ24iOm51bGwsInNwZWNpYWx0aWVzQnVsbGV0IjoiYnVsbGV0IiwiaDNGZWF0TWVzc2FnZVRleHQiOm51bGwsInRvZ2dsZUgzQnJhbmRzIjpudWxsLCJhZGRyZXNzMiI6ZmFsc2UsImFkZHJlc3MxIjpmYWxzZSwiY2FyZEFsaWdubWVudCI6InBpY29ucy1jZW50ZXIiLCJncm91cExvZ29EZXNpZ24iOm51bGwsImdyb3VwT3BlbkhvdXJzRGVzaWduIjpudWxsLCJmZWF0TWVzc2FnZUdyb3VwIjpudWxsLCJrZXl3b3Jkc0J1bGxldCI6ImJ1bGxldCIsInRvZ2dsZUgzRW1haWwiOm51bGwsInNlcnZpY2VzQnVsbGV0IjpudWxsLCJncm91cEJyYW5kc0Rlc2lnbiI6bnVsbCwicHJvZHVjdHNCdWxsZXQiOiJidWxsZXQiLCJsYW5ndWFnZXNHcm91cCI6bnVsbCwiaG91cnNHcm91cCI6bnVsbH0="> <div class="yextAddress"> <div style="display:none"> <span class="" data-yext-field="locationName"></span> 856</div> 857 <div style="display:none"> <span data-yext-field="address1"></span> 858</div> 859 <div style="display:none"> <span data-yext-field="address2"></span> 860</div> 861 <div> <span> <span data-yext-field="city"></span> 862 <span style="margin-left: -3px;">,</span> 863</span> 864 <span> <span data-yext-field="state"></span> 865</span> 866 <span style="display:none"> <span data-yext-field="zip"></span> 867</span> 868</div> 869</div> 870 <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> 871 <div class="wrongScriptError" data-nosnippet=""><!--The Yext script you entered is empty or incorrect: .<br/>--><!--It should look like:<br/>--><!-- <pre>--><!-- <code>--><!--<script async defer src="https://knowledgetags.yextpages.net/embed?key=KEY&account_id=ACCOUNT_ID&location_id=LOCATIONS_ID" type="text/javascript"></script>--><!-- </code>--><!--</pre>--></div> 872<!-- Load Yext Script into page source so schema validates with Structured Data testing tool --></div> 873</div> 874</div> 875</div> 876</div> 877 <div class="u_1155150290 dmRespCol small-12 medium-4 large-4" id="1155150290"> <div class="u_1280855790 imageWidget align-center" data-element-type="image" data-widget-type="image" id="1280855790"> <a id="1718291829" href="/" file="false"><img src="https://le-cdn.hibuwebsites.com/1c02a5e3326248d48476e9bb6fdaa9d8/dms3rep/multi/opt/Default-Logo-189x108-1920w.png" id="1513103595" class="" data-dm-image-path="https://cdn.websites.hibu.com/1d9ebc6ae52b4ea29931d62698e8c06f/dms3rep/multi/Default-Logo-189x108.png" onerror="handleImageLoadError(this)"/></a> 878</div> 879</div> 880 <div class="dmRespCol small-12 u_1541614883 medium-4 large-4" id="1541614883"> <div class="u_1932231695 dmRespRow" id="1932231695"> <div class="dmRespColsWrapper" id="1343933041"> <div class="u_1972045051 dmRespCol small-12 large-5 medium-5" id="1972045051"> <div class="u_1078251265 graphicWidget" data-element-type="graphic" data-widget-type="graphic" id="10
88078251265"> <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 1408 1792" id="1812374094" class="svg u_1812374094" data-icon-name="fa-phone"> <path fill="inherit" d="M1408 1240q0 27-10 70.5t-21 68.5q-21 50-122 106-94 51-186 51-27 0-52.5-3.5t-57.5-12.5-47.5-14.5-55.5-20.5-49-18q-98-35-175-83-128-79-264.5-215.5t-215.5-264.5q-48-77-83-175-3-9-18-49t-20.5-55.5-14.5-47.5-12.5-57.5-3.5-52.5q0-92 51-186 56-101 106-122 25-11 68.5-21t70.5-10q14 0 21 3 18 6 53 76 11 19 30 54t35 63.5 31 53.5q3 4 17.5 25t21.5 35.5 7 28.5q0 20-28.5 50t-62 55-62 53-28.5 46q0 9 5 22.5t8.5 20.5 14 24 11.5 19q76 137 174 235t235 174q2 1 19 11.5t24 14 20.5 8.5 22.5 5q18 0 46-28.5t53-62 55-62 50-28.5q14 0 28.5 7t35.5 21.5 25 17.5q25 15 53.5 31t63.5 35 54 30q70 35 76 53 3 7 3 21z"></path> 881</svg> 882</div> 883</div> 884 <div class="u_1420927207 dmRespCol small-12 large-7 medium-7" id="1420927207"> <div class="widget-7b6cfb u_1735876590 dmCustomWidget" data-lazy-load="" data-title="" id="1735876590" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" lock-element-for-editing="true" icon="false" surround="false" data-widget-id="7b6cfbac88324cffbaaf57354cd7a334" data-widget-version="227" data-widget-config="eyJzY3JpcHQiOiIiLCJpbnN0cnVjdGlvbnMiOm51bGwsInR5cGUiOiJwaG9uZSIsImhvdXJzR3JvdXAiOm51bGwsImhvdXJzU2hvd0FzIjoibGlzdCIsImlzTGlzdCI6dHJ1ZSwiYWRkaXRpb25hbEhvdXJzVGV4dCI6bnVsbCwiaGlkZUhvdXJzTGlzdCI6ZmFsc2UsInRvZ2dsZUgzaG91cnMiOm51bGwsImgzaG91cnNUZXh0IjoiIiwibG9jYXRpb25Hcm91cCI6bnVsbCwibG9jYXRpb25OYW1lIjpmYWxzZSwiYWRkcmVzczEiOnRydWUsImFkZHJlc3MyIjp0cnVlLCJjaXR5Ijp0cnVlLCJzdGF0ZSI6dHJ1ZSwiemlwIjp0cnVlLCJkcmF3TWFwIjpudWxsLCJ0b2dnbGVIM0FkZHJlc3MiOm51bGwsImgzQWRkcmVzc1RleHQiOiIiLCJzaG93R2V0RGlyZWN0aW9uc0xpbmsiOm51bGwsImdldERpcmVjdGlvbnNUZXh0IjoiR2V0IERpcmVjdGlvbnMiLCJsb2dvR3JvdXAiOm51bGwsImxpbmsiOm51bGwsImFsdCI6bnVsbCwicGhvbmVHcm91cCI6bnVsbCwicGhvbmVUeXBlIjoicGhvbmUiLCJwaG9uZVNob3dBcyI6InRleHQiLCJmb3JtYXRQaG9uZSI6dHJ1ZSwidG9nZ2xlSDNQaG9uZUxpc3QiOm51bGwsImgzUGhvbmVUZXh0IjoiIiwiYnJhbmRzR3JvdXAiOm51bGwsInRvZ2dsZUgzQnJhbmRzIjpudWxsLCJoM0JyYW5kVGV4dCI6IiIsImFzc29jaWF0aW9uc0dyb3VwIjpudWxsLCJ0b2dnbGVIM0Fzc29jaWF0aW9ucyI6bnVsbCwiaDNBc3NvY2lhdGlvbnNUZXh0IjoiIiwic3BlY2lhbHRpZXNHcm91cCI6bnVsbCwidG9nZ2xlSDNTcGVjaWFsdGllcyI6bnVsbCwiaDNTcGVjaWFsdGllc1RleHQiOiIiLCJzZXJ2aWNlc0dyb3VwIjpudWxsLCJ0b2dnbGVIM1NlcnZpY2VzIjpudWxsLCJoM1NlcnZpY2VzVGV4dCI6bnVsbCwic2VydmljZUFyZWFHcm91cCI6bnVsbCwidG9nZ2xlSDNTZXJ2aWNlQXJlYSI6bnVsbCwiaDNTZXJ2aWNlQXJlYVRleHQiOm51bGwsInByb2R1Y3RzR3JvdXAiOm51bGwsInRvZ2dsZUgzUHJvZHVjdHMiOm51bGwsImgzUHJvZHVjdHNUZXh0IjoiIiwibGFuZ3VhZ2VzR3JvdXAiOm51bGwsInRvZ2dsZUgzTGFuZ3VhZ2VzIjpudWxsLCJoM0xhbmd1YWdlc1RleHQiOm51bGwsImtleXdvcmRzR3JvdXAiOm51bGwsInRvZ2dsZUgzS2V5d29yZHMiOm51bGwsImgzS2V5d29yZHNUZXh0IjpudWxsLCJwYXltZW50R3JvdXAiOm51bGwsInNob3dQYXltZW50c0FzIjpudWxsLCJwYXltZW50VGV4dEdyb3VwIjpudWxsLCJ0b2dnbGVIM1BheW1lbnRzIjpudWxsLCJoM1BheW1lbnRzVGV4dCI6bnVsbCwieWVhckVzdGFiaWxpc2hlZEdyb3VwIjpudWxsLCJ0b2dnbGVIM1llYXIiOm51bGwsImgzWWVhckhlYWRUZXh0IjoiIiwiZGVzY3JpcHRpb25UZXh0R3JvdXAiOm51bGwsInRvZ2dsZUgzZGVzY3JpcHRpb24iOm51bGwsImgzRGVzY3JpcHRpb25UZXh0IjpudWxsLCJmZWF0TWVzc2FnZUdyb3VwIjpudWxsLCJ0b2dnbGVIM2ZlYXRNZXNzYWdlIjpudWxsLCJoM0ZlYXRNZXNzYWdlVGV4dCI6bnVsbCwiZW1haWxUZXh0R3JvdXAiOm51bGwsInNob3dFbWFpbEFzQnRuIjpudWxsLCJ0b2dnbGVIM0VtYWlsIjpudWxsLCJoM0VtYWlsVGV4dCI6IiIsInNvY2lhbEdyb3VwIjpudWxsLCJ0b2dnbGVIM1NvY2lhbCI6bnVsbCwiaDNTb2NpYWxUZXh0IjpudWxsLCJtYXBab29tIjoiMTMiLCJob2xpZGF5SG91cnMiOm51bGwsInRvZ2dsZUgzaG9saWRheUhvdXJzIjp0cnVlLCJoM0hvbGlkYXlIb3VycyI6IkhvbGlkYXkgSG91cnMiLCJncm91cEF0dHJpYnV0ZXMiOm51bGwsInRvZ2dsZUgzR29vZ2xlQXR0cmlidXRlcyI6dHJ1ZSwiaDNHb29nbGVBdHRyaWJ1dGVzIjoiQnVzaW5lc3MgQXR0cmlidXRlcyIsImdyb3VwWWVhckVzdGFibGlzaGVkIjpudWxsLCJncm91cEJpek5hbWVEZXNpZ24iOm51bGwsImJvbGRMb2NhdGlvbk5hbWUiOm51bGwsImNvbG9yUGlja2VyMSI6bnVsbCwiZ3JvdXBHb29nbGVBdHRyaWJ1dGVzIjpudWxsLCJncm91cFNvY2lhbEljb25zIjpudWxsLCJwaG9uZUxpc3RTdHlsZXMiOm51bGwsImNhcmRTdHlsZURhcmtPckxpZ2h0IjoidmFsdWUzIiwicGF5bWVudE9wdGlvbnNCdWxsZXQiOiJidWxsZXQiLCIuYWRkcmVzc0hlYWRlciI6bnVsbCwiZ3JvdXBLZXl3b3Jkc0Rlc2lnbiI6bnVsbCwic29jaWFsSWNvbnNBbGlnbm1lbnQiOiJsZWZ0IiwibGFuZ3VhZ2VzQnVsbGV0IjoiYnVsbGV0IiwiZ3JvdXBFbWFpbERlc2lnbiI6bnVsbCwiYm9sZFN0YXR1c1RleHQiOnRydWUsImdyb3VwUGhvbmVEZXNpZ24iOm51bGwsImdyb3VwQml6RGVzRGVzaWduIjpudWxsLCJib2xkSG91cnMiOnRydWUsImdyb3VwQWRkaXRpb25hbEhvdXJzVGV4dCI6bnVsbCwiYnJhbmRzQnVsbGV0IjoiYnVsbGV0IiwiYXNzb2NpYXRpb25zQnVsbGV0IjoiYnVsbGV0IiwiaG9saWRheUhvdXJzQnVsbGV0IjoiYnVsbGV0cyIsInNlcnZpY2VBcmVhQnVsbGV0IjoiYnVsbGV0IiwiZ3JvdXBBZGRyZXNzRGVzaWduIjpudWxsLCJQaG9uZSBIZWFkZXIgR3JvdXAiOm51bGwsInNob3dTZXJ2aWNlQXJlYUZpcnN0IjpudWxsLCJncm91cFByb2R1Y3RzRGVzaWduIjpudWxsLCJncm91cFNlcnZpY2VBcmVhRGVzaWduIjpudWxsLCJncm91cFNlcnZpY2VzRGVzaWduIjpudWxsLCJncm91cEZlYXR1cmVkTWVzc2FnZURlc2lnbiI6bnVsbCwiZ3JvdXBQYXltZW50RGVpc2duIjpudWxsLCJncm91cExhbmd1YWdlc0Rlc2lnbiI6bnVsbCwiZ3JvdXBIb2xpZGF5SG91cnNEZXNpZ24iOm51bGwsImdvb2dsZUF0dHJpYnV0ZXNGb3JtYXR0ZWRMaXN0QnVsbGV0IjoiYnVsbGV0cyIsImdyb3VwSG91cnNEZXNpZ24iOm51bGwsInBob25lTGlzdFN0eWxlIjoiYnVsbGV0cyIsInRvZ2dsZTEiOm51bGwsImdyb3VwUGF5bWVudENhcmREZXNpZ24iOm51bGwsImdyb3VwU3BlY2lhbHRpZXNEZXNpZ24iOm51bGwsInBob25lVG
884V4dFN0eWxlcyI6bnVsbCwiZ3JvdXBBc3NvY2lhdGlvbnNEZXNpZ24iOm51bGwsInNwZWNpYWx0aWVzQnVsbGV0IjoiYnVsbGV0IiwiY2FyZEFsaWdubWVudCI6InBpY29ucy1jZW50ZXIiLCJncm91cExvZ29EZXNpZ24iOm51bGwsImdyb3VwT3BlbkhvdXJzRGVzaWduIjpudWxsLCJrZXl3b3Jkc0J1bGxldCI6ImJ1bGxldCIsInNlcnZpY2VzQnVsbGV0IjpudWxsLCJncm91cEJyYW5kc0Rlc2lnbiI6bnVsbCwicHJvZHVjdHNCdWxsZXQiOiJidWxsZXQifQ=="> <a onclick=";return dm_gaq_push_event('ClickToCall', 'Call',null, dmAPI.getSiteName(), this);" data-yext-field="phone" class="yextPhoneText"> <span class="text"></span> 885</a> 886 <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> 887 <div class="wrongScriptError" data-nosnippet=""><!--The Yext script you entered is empty or incorrect: .<br/>--><!--It should look like:<br/>--><!-- <pre>--><!-- <code>--><!--<script async defer src="https://knowledgetags.yextpages.net/embed?key=KEY&account_id=ACCOUNT_ID&location_id=LOCATIONS_ID" type="text/javascript"></script>--><!-- </code>--><!--</pre>--></div> 888<!-- Load Yext Script into page source so schema validates with Structured Data testing tool --></div> 889</div> 890</div> 891</div> 892</div> 893</div> 894</div> 895 <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-bottom2 main-navigation unifiednav dmLinksMenu" role="navigation" layout-main="horizontal_nav_layout_1" layout-sub="submenu_horizontal_1" data-show-vertical-sub-items="HOVER" 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=" 896 Home 897 " data-auto="page-text-style">Home<span class="icon icon-angle-down"></span> 898</span> 899</a> 900</li> 901 <li role="menuitem" aria-haspopup="true" aria-expanded="false" data-sub-nav-menu="true" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="#" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101756583 unifiednav__item_has-sub-nav" target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 902 Services 903 " data-auto="page-text-style">Services<span class="icon icon-angle-down"></span> 904</span> 905</a> 906 <ul role="menu" class="unifiednav__container unifiednav__container_sub-nav unav-sub" data-depth="0" data-auto="sub-pages"> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/copy-of-copy-of-services-one" class="unifiednav__item unav-item dmUDNavigationItem_010101373034 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 907 Services 908 " data-auto="page-text-style">Services<span class="icon icon-angle-right"></span> 909</span> 910</a> 911</li> 912</ul> 913</li> 914 <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=" 915 Reviews 916 " data-auto="page-text-style">Reviews<span class="icon icon-angle-down"></span> 917</span> 918</a> 919</li> 920 <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=" 921 About 922 " data-auto="page-text-style">About<span class="icon icon-angle-down" data-hidden-on-mobile="" data-hidden-on-desktop="" data-hidden-on-tablet=""></span> 923</span> 924</a> 925</li> 926 <li role="menuitem" aria-haspopup="true" aria-expanded="false" data-sub-nav-menu="true" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/contact" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_01010198084 unifiednav__item_has-sub-nav" target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 927 Contact 928 " data-auto="page-text-style">Contact<span class="icon icon-angle-down"></span> 929</span> 930</a> 931 <ul role="menu" class="unifiednav__container unifiednav__container_sub-nav unav-sub" data-depth="0" data-auto="sub-pages"> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/request-form" class="unifiednav__item unav-item dmNavItemSelected dmUDNavigationItem_010101292291 " target="" data-target-page-alias="" aria-current="page" data-auto="selected-page"> <span class="nav-item-text " data-link-text=" 932 Request <<Form Name>> 933 " data-auto="page-text-style">Request <<Form Name>><span class="icon icon-angle-right"></span> 934</span> 935</a> 936</li> 937</ul> 938</li> 939</ul> 940</nav> 941</div> 942</div> 943</div> 944</div> 945</div> 946</div> 947 <div class="stickyHeaderSpacer" id="stickyHeaderSpacer" data-new="true"></div> 948 <div class="dmRespRow dmRespRowStable dmRespRowNoPadding dmPageTitleRow "> <div class="dmRespColsWrapper">
948 <div class="large-12 dmRespCol"> <div id="innerBar" class="innerBar lineInnerBar dmDisplay_None"> <div class="titleLine display_None"><hr/></div> 949<!-- 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">Request <<Form Name>></div> 950</div> 951 <div class="titleLine display_None"><hr/></div> 952</div> 953</div> 954</div> 955</div> 956 <div dmwrapped="true" id="dmFirstContainer" class="dmBody u_dmStyle_template_request-form"> <div id="allWrapper" class="allWrapper"> <div id="dm_content" class="dmContent" role="main"> <div dm:templateorder="1" class="dmDefaultRespTmpl" id="1936388842"> <div class="innerPageTmplBox dmDefaultPage dmRespRowsWrapper" id="1690690789"> <div class="u_1248149678 dmRespRow" style="text-align: center;" id="1248149678"> <div class="dmRespColsWrapper" id="1139448797"> <div class="dmRespCol small-12 medium-12 large-12" id="1862675496"> <div class="dmNewParagraph" data-element-type="paragraph" data-version="5" id="1934905477" style="transition: opacity 1s ease-in-out 0s;"> <h3><span style="display: initial;">Request <<Form Name>></span></h3> 957</div> 958 <div class="dmform default u_1766014014 native-inputs" data-element-type="dContactUsRespId" id="1766014014" captcha="true" data-captcha-position="text" data-captcha-message="PHAgY2xhc3M9InJ0ZUJsb2NrIj5UaGlzIHNpdGUgaXMgcHJvdGVjdGVkIGJ5IHJlQ0FQVENIQS48L3A+"> <h3 class="dmform-title dmwidget-title" id="1863730966" hide="true">Request <<Form Name>></h3> 959 <div class="dmform-wrapper" id="1362122045" captcha-lang="en"> <form method="post" class="dmRespDesignRow" locale="ENGLISH" id="1133746988"> <div class="dmforminput small-12 dmRespDesignCol newLine medium-12 large-12" id="1682042795"> <label for="dmform-5" id="1699316785" class="" hide="true">Free Text</label> 960 <div class="freetextwrapper" id="1535627726"><p class="rteBlock" id="1779049161">Fill out this short form and a(n) <<NOB>> representative will contact you <<time frame>> to <<CTA>>. </p></div> 961<input type="hidden" name="label-dmform-5" value="Free Text" id="1922290433" class=""/></div> 962 <div class="dmforminput required small-12 dmRespDesignCol medium-6 large-6" id="1488060371"> <label for="1156231752" id="1977141059" data-dm-for="dmform-0">Name*</label> 963<input type="text" class="" name="dmform-0" id="1156231752"/><input type="hidden" name="label-dmform-0" value="Name*" id="1869490912" class=""/></div> 964 <div class="dmforminput small-12 dmRespDesignCol medium-6 large-6 required" id="1568821357"> <label for="1266727981" id="1757460738" data-dm-for="dmform-2">Phone*</label> 965<input type="tel" class="" name="dmform-2" id="1266727981"/><input type="hidden" name="label-dmform-2" value="Phone*" id="1579219260" class=""/></div> 966 <div class="dmforminput required small-12 dmRespDesignCol medium-6 large-6 newLine" id="1570742394"> <label for="1578550632" id="1047464875" data-dm-for="dmform-1">Email*</label> 967<input type="email" class="" name="dmform-1" id="1578550632"/><input type="hidden" name="label-dmform-1" value="Email*" id="1000025572" class=""/></div> 968 <div class="dmforminput small-12 dmRespDesignCol medium-6 large-6" id="1180469657"> <label for="1949618457" id="1544689124" data-dm-for="dmform-4"><<Service / Product>></label> 969 <select name="dmform-4" id="1949618457"> <option selected="" disabled="" hidden="" value="" id="1494152787"></option> 970 <option id="1164309878">Service / Product #1</option> 971 <option id="1095648143">
971Service / Product #2</option> 972 <option id="1866018737">Service / Product #3</option> 973 <option id="1331143837">Service / Product #4</option> 974 <option id="1499850504">Service / Product #5</option> 975 <option id="1195899995">Other</option> 976</select> 977<input type="hidden" name="label-dmform-4" value="<<Service / Product>>" id="1293547678" class=""/></div> 978 <div class="dmforminput large-12 medium-12 dmRespDesignCol" id="1959372715"> <label for="1118823278" id="1135703733" data-dm-for="dmform-3">Message</label> 979 <textarea name="dmform-3" id="1118823278" class="" placeholder="BUILD TEAM - Delete this field for all medical related clients. DELETE this placeholder message." data-placeholder-original="BUILD TEAM - Delete this field for all medical related clients. DELETE this placeholder message."></textarea> 980<input type="hidden" name="label-dmform-3" value="Message" id="1504433527" class=""/></div> 981 <span id="1324275990" class="dmWidgetClear"></span> 982 <div class="dmformsubmit dmWidget R" id="1654902837"><input class="" name="submit" type="submit" value="Request <<Form Name>>" id="1494349731"/></div> 983<input name="dmformsendto" type="hidden" value="O0wrseIfFLsN0LRjFAkc53S6mvfFVCYAKcdcaddm0B3jZ7FqDnEw1jdymC3Zzixv" id="1474031422" data-dec="true"/><input class="dmActionInput" type="hidden" name="action" value="/_dm/s/rt/widgets/dmform.submit.jsp" id="1755606757"/><input name="dmformfrom" type="hidden" id="1559841536" class="" value="<< insert NOB >>"/><input name="dmformsubject" type="hidden" value="Hibu Website Request Form Submission" id="1009307827" class=""/><input name="dmformsubmitparams" type="hidden" value="8mpKnCSiNQXK/d9M7IDrSxTMRsFZNSUHpeltHqO0vlLuGM1wP5EQVjRndSDnOmf2sfMRaz5MAUVw3ZgunRtf6t1ZppbKqZz5MtT4KIbBahLjf9hZD7ODcIqwYFepN8hHkHX4iUMcgH1xujQODGaCU0HPvkUJfEmlP02ng7bXFGPYhEC18MKaU+ufRWgRmY7ca6LK1MbXM+gJV6PCLzRsaj4xLdhgrB/+1uvwB2D+Ay6cK8aBAlFRDWEUrC/X5h2SAxCQkpazLwRAelC0FNDkP7i3L1G6bAFA" data-dec="true"/><input type="hidden" name="page_uuid" value="c6e4ebe700bb424da3a2325157d807a1"/></form> 984</div> 985 <div class="dmform-success" style="display:none" id="1804435806"><br/><p class="rteBlock"><strong>We appreciate you contacting us. </strong>One of our colleagues will get back in touch with you soon! </p><br/><p class="rteBlock">Have a great day!</p></div> <div class="dmform-error" style="display:none" id="1303779636">Oops, there was an error sending your message.<br id="1424367776"/>Please try again later.</div> 986</div> 987</div> 988</div> 989</div> 990</div> 991</div> 992</div> 993</div> 994</div> 995 <div class="dmFooterContainer"> <div id="fcontainer" class="f_hcontainer dmFooter p_hfcontainer"> <div dm:templateorder="250" class="dmFooterResp generalFooter" id="1943048428"> <div class="dmRespRow" id="1009935928"> <div class="dmRespColsWrapper" id="1859658702"> <div class="dmRespCol large-12 medium-12 small-12" id="1284904550"> <div class="dmNewParagraph" id="1131091888"><div style="text-align: center;"><span style="" class="font-size-30 lh-1"><< add <i>footer</i> section >></span></div></div></div> 996</div> 997</div> 998 <div class="dmRespRow" id="1636271599"> <div class="dmRespColsWrapper" id="1501688634"> <div class="dmRespCol large-12 medium-12 small-12 empty-column" id="1271322060"></div> 999</div> 1000</div> 1001 <div class="dmRespRow" id="1651083035"> <div class="dmRespColsWrapper" id="1532611836"> <div class="dmRespCol large-12 medium-12 small-12" id="1300055787"> <div class="widget-afd4bc u_1935852666 dmCustomWidget" data-lazy-load="" data-title="" id="1935852666" dmle_extension="custom_extension" data-element-type="custom_extension" icon="false" surround="false" data-widget-id="afd4bc7f907140298e111130d715031d" data-widget-version="99" data-widget-config="eyJJY29uTGlzdCI6W3siQWN0aW9uIjoiQ2FsbCIsIkxhYmVsIjoiQ2FsbCBVcyIsIkNhbGxOdW0iOiI1NTUtNTU1LTU1NTUiLCJRdWVyeSI6IlN0cmVldCBBZGRyZXNzLCBDaXR5LCBTVCwgMTIzNDUiLCJTbXNOdW0iOiI1NTUtNTU1LTU1NTUiLCJlbWFpbERlZlN1YmplY3QiOiJRdWVzdGlvbnMgQWJvdXQgWW91ciBCdXNpbmVzcyIsIkVtYWlsIjp0cnVlLCJGYWNlYm9vayI6dHJ1ZSwiVHVtYmxyIjpmYWxzZSwiTGlua2VkSW4iOnRydWUsIlR3aXR0ZXIiOnRydWUsIlJlZGRpdCI6dHJ1ZSwiUGludGVyZXN0Ijp0cnVlLCJDdXN0b21JY29uX1NlbGVjdCI6ImN1c3RvbV9pY29uMSIsInNob3dvbm1vYmlsZSI6dHJ1ZSwic2hvd29uZGVza3RvcCI6ZmFsc2UsImRlZkVtYWlsQm9keSI6IiIsIlNoYXJlVGl0bGUiOiIiLCJHb29nbGVQbHVzIjp0cnVlfSx7IkFjdGlvbiI6IlNtcyIsIkxhYmVsIjoiVGV4dCBVcyIsIkNhbGxOdW0iOiI1NTUtNTU1LTU1NTUiLCJRdWVyeSI6IlN0cmVldCBBZGRyZXNzLCBDaXR5LCBTVCwgMTIzNDUiLCJTbXNOdW0iOiI1NTUtNTU1LTU1NTUiLCJlbWFpbERlZlN1YmplY3QiOiJRdWVzdGlvbnMgQWJvdXQgWW91ciBCdXNpbmVzcyIsIkVtYWlsIjp0cnVlLCJGYWNlYm9vayI6dHJ1ZSwiVHVtYmxyIjpmYWxzZSwiTGlua2VkSW4iOnRydWUsIlR3aXR0ZXIiOnRydWUsIlJlZGRpdCI6dHJ1ZSwiUGludGVyZXN0Ijp0cnVlLCJDdXN0b21JY29uX1NlbGVjdCI6ImN1c3RvbV9pY29uMSIsInNob3dvbm1vYmlsZSI6dHJ1ZSwic2hvd29uZGVza3RvcCI6ZmFsc2UsImRlZkVtYWlsQm9keSI6IiIsIlNoYXJlVGl0bGUiOiIiLCJHb29nbGVQbHVzIjp0cnVlfSx7IkFjdGlvbiI6IkxpbmsiLCJMYWJlbC
1001I6IlJlYWQgUmV2aWV3cyIsIkNhbGxOdW0iOiI1NTUtNTU1LTU1NTUiLCJRdWVyeSI6IlN0cmVldCBBZGRyZXNzLCBDaXR5LCBTVCwgMTIzNDUiLCJTbXNOdW0iOiI1NTUtNTU1LTU1NTUiLCJlbWFpbERlZlN1YmplY3QiOiJRdWVzdGlvbnMgQWJvdXQgWW91ciBCdXNpbmVzcyIsIkVtYWlsIjp0cnVlLCJGYWNlYm9vayI6dHJ1ZSwiVHVtYmxyIjpmYWxzZSwiTGlua2VkSW4iOnRydWUsIlR3aXR0ZXIiOnRydWUsIlJlZGRpdCI6dHJ1ZSwiUGludGVyZXN0Ijp0cnVlLCJDdXN0b21JY29uX1NlbGVjdCI6ImN1c3RvbV9pY29uMSIsInNob3dvbm1vYmlsZSI6dHJ1ZSwic2hvd29uZGVza3RvcCI6dHJ1ZSwiZGVmRW1haWxCb2R5IjoiIiwiU2hhcmVUaXRsZSI6IiIsIkdvb2dsZVBsdXMiOnRydWUsIkN1c3RvbUljb24iOnRydWUsIkxpbmsiOnsidmFsdWUiOiJyZXZpZXdzIiwibGFiZWwiOiIiLCJ0eXBlIjoicGFnZSIsImhyZWYiOiIvcmV2aWV3cyIsInJhd191cmwiOiIvc2l0ZS8xYzAyYTVlMzMyNjI0OGQ0ODQ3NmU5YmI2ZmRhYTlkOC9yZXZpZXdzP25lZT10cnVlJmVkPXRydWUmc2hvd09yaWdpbmFsPXRydWUmcHJldmlldz10cnVlJmRtX3RyeV9tb2RlPXRydWUmZG1fY2hlY2tTeW5jPTEifX0seyJBY3Rpb24iOiJMaW5rIiwiTGFiZWwiOiJSZXF1ZXN0IF9fX19fX18iLCJDYWxsTnVtIjoiNTU1LTU1NS01NTU1IiwiUXVlcnkiOiJTdHJlZXQgQWRkcmVzcywgQ2l0eSwgU1QsIDEyMzQ1IiwiU21zTnVtIjoiNTU1LTU1NS01NTU1IiwiZW1haWxEZWZTdWJqZWN0IjoiUXVlc3Rpb25zIEFib3V0IFlvdXIgQnVzaW5lc3MiLCJFbWFpbCI6dHJ1ZSwiRmFjZWJvb2siOnRydWUsIlR1bWJsciI6ZmFsc2UsIkxpbmtlZEluIjp0cnVlLCJUd2l0dGVyIjp0cnVlLCJSZWRkaXQiOnRydWUsIlBpbnRlcmVzdCI6dHJ1ZSwiQ3VzdG9tSWNvbl9TZWxlY3QiOiJjdXN0b21faWNvbjIiLCJzaG93b25tb2JpbGUiOnRydWUsInNob3dvbmRlc2t0b3AiOnRydWUsImRlZkVtYWlsQm9keSI6IiIsIlNoYXJlVGl0bGUiOiIiLCJHb29nbGVQbHVzIjp0cnVlLCJMaW5rIjp7InZhbHVlIjoicmVxdWVzdC1mb3JtIiwibGFiZWwiOiIiLCJ0eXBlIjoicGFnZSIsImhyZWYiOiIvcmVxdWVzdC1mb3JtIiwicmF3X3VybCI6Ii9zaXRlLzFjMDJhNWUzMzI2MjQ4ZDQ4NDc2ZTliYjZmZGFhOWQ4L3JlcXVlc3QtZm9ybT9uZWU9dHJ1ZSZlZD10cnVlJnNob3dPcmlnaW5hbD10cnVlJnByZXZpZXc9dHJ1ZSZkbV90cnlfbW9kZT10cnVlJmRtX2NoZWNrU3luYz0xIn0sIkN1c3RvbUljb24iOnRydWV9LHsiQWN0aW9uIjoiTWVzcyIsIkxhYmVsIjoiTWVzc2FnZSBVcyIsIkNhbGxOdW0iOiI1NTUtNTU1LTU1NTUiLCJRdWVyeSI6IlN0cmVldCBBZGRyZXNzLCBDaXR5LCBTVCwgMTIzNDUiLCJTbXNOdW0iOiI1NTUtNTU1LTU1NTUiLCJlbWFpbERlZlN1YmplY3QiOiJRdWVzdGlvbnMgQWJvdXQgWW91ciBCdXNpbmVzcyIsIkVtYWlsIjp0cnVlLCJGYWNlYm9vayI6dHJ1ZSwiVHVtYmxyIjpmYWxzZSwiTGlua2VkSW4iOnRydWUsIlR3aXR0ZXIiOnRydWUsIlJlZGRpdCI6dHJ1ZSwiUGludGVyZXN0Ijp0cnVlLCJDdXN0b21JY29uX1NlbGVjdCI6ImN1c3RvbV9pY29uMSIsInNob3dvbm1vYmlsZSI6dHJ1ZSwic2hvd29uZGVza3RvcCI6dHJ1ZSwiZGVmRW1haWxCb2R5IjoiIiwiU2hhcmVUaXRsZSI6IiIsIkdvb2dsZVBsdXMiOnRydWV9LHsiQWN0aW9uIjoiRW
10011haWwiLCJMYWJlbCI6IkVtYWlsIFVzIiwiQ2FsbE51bSI6IjU1NS01NTUtNTU1NSIsIlF1ZXJ5IjoiU3RyZWV0IEFkZHJlc3MsIENpdHksIFNULCAxMjM0NSIsIlNtc051bSI6IjU1NS01NTUtNTU1NSIsImVtYWlsRGVmU3ViamVjdCI6IlF1ZXN0aW9ucyBBYm91dCBZb3VyIEJ1c2luZXNzIiwiRW1haWwiOnRydWUsIkZhY2Vib29rIjp0cnVlLCJUdW1ibHIiOmZhbHNlLCJMaW5rZWRJbiI6dHJ1ZSwiVHdpdHRlciI6dHJ1ZSwiUmVkZGl0Ijp0cnVlLCJQaW50ZXJlc3QiOnRydWUsIkN1c3RvbUljb25fU2VsZWN0IjoiY3VzdG9tX2ljb24xIiwic2hvd29ubW9iaWxlIjp0cnVlLCJzaG93b25kZXNrdG9wIjp0cnVlLCJkZWZFbWFpbEJvZHkiOiIiLCJTaGFyZVRpdGxlIjoiIiwiR29vZ2xlUGx1cyI6dHJ1ZX0seyJBY3Rpb24iOiJNYXAiLCJMYWJlbCI6IkdldCBEaXJlY3Rpb25zIiwiQ2FsbE51bSI6IjU1NS01NTUtNTU1NSIsIlF1ZXJ5IjoiU3RyZWV0IEFkZHJlc3MsIENpdHksIFNULCAxMjM0NSIsIlNtc051bSI6IjU1NS01NTUtNTU1NSIsImVtYWlsRGVmU3ViamVjdCI6IlF1ZXN0aW9ucyBBYm91dCBZb3VyIEJ1c2luZXNzIiwiRW1haWwiOnRydWUsIkZhY2Vib29rIjp0cnVlLCJUdW1ibHIiOmZhbHNlLCJMaW5rZWRJbiI6dHJ1ZSwiVHdpdHRlciI6dHJ1ZSwiUmVkZGl0Ijp0cnVlLCJQaW50ZXJlc3QiOnRydWUsIkN1c3RvbUljb25fU2VsZWN0IjoiY3VzdG9tX2ljb24xIiwic2hvd29ubW9iaWxlIjp0cnVlLCJzaG93b25kZXNrdG9wIjp0cnVlLCJkZWZFbWFpbEJvZHkiOiIiLCJTaGFyZVRpdGxlIjoiIiwiR29vZ2xlUGx1cyI6dHJ1ZX0seyJBY3Rpb24iOiJTaGFyZSIsIkxhYmVsIjoiU2hhcmUgVXMiLCJDYWxsTnVtIjoiNTU1LTU1NS01NTU1IiwiUXVlcnkiOiJTdHJlZXQgQWRkcmVzcywgQ2l0eSwgU1QsIDEyMzQ1IiwiU21zTnVtIjoiNTU1LTU1NS01NTU1IiwiZW1haWxEZWZTdWJqZWN0IjoiUXVlc3Rpb25zIEFib3V0IFlvdXIgQnVzaW5lc3MiLCJFbWFpbCI6dHJ1ZSwiRmFjZWJvb2siOnRydWUsIlR1bWJsciI6dHJ1ZSwiTGlua2VkSW4iOnRydWUsIlR3aXR0ZXIiOnRydWUsIlJlZGRpdCI6dHJ1ZSwiUGludGVyZXN0Ijp0cnVlLCJDdXN0b21JY29uX1NlbGVjdCI6ImN1c3RvbV9pY29uMSIsInNob3dvbm1vYmlsZSI6dHJ1ZSwic2hvd29uZGVza3RvcCI6dHJ1ZSwiZGVmRW1haWxCb2R5IjoiIiwiU2hhcmVUaXRsZSI6IiIsIkdvb2dsZVBsdXMiOmZhbHNlfV0sIk1vZGFsVGl0bGUiOiJTaGFyZSBPbjoiLCJEZXNrdG9wTGF5b3V0IjoiRmxvYXQiLCJEZXNrTWFpbiI6ImVudmVsb3BlIiwiTWFpbkxhYmVsIjoiQ29udGFjdCBVcyIsIkhlbHBUZXh0IjoiSGkuIERvIHlvdSBuZWVkIGFueSBoZWxwPyIsIk1vYmlsZUxheW91dCI6IkZ1bGwiLCJNb2JpbGVUaGVtZSI6IkxpZ2h0IiwiTW9iaWxlTWFpbiI6InBsdXMiLCJNb2JpbGVPcmllbnRhdGlvbiI6InJpZ2h0IiwiRm9jdXNBbmkiOnRydWUsIkZvY3VzRGVsYXkiOiI1MDAwIiwiRm9jdXNJdGVyIjoiMSIsImN1c3RvbV9pY29uMSI6IjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTY2NCAxNzkyXCI+PHBhdGggZmlsbD1cImluaGVyaXRcIiBkPVwiTTE2NjQgNjQ3cTAgMjItMjYgNDhsLTM2MyAzNTQgODYgNTAwcTEgNyAxIDIwIDAgMjEtMTAuNSAzNS41dC0zMC41IDE0LjVxLTE5IDAtNDAtMTJsLTQ0OS0yMzYtNDQ5IDIzNnEtMjIgMTItNDAgMTItMjEgMC0zMS41LTE0LjV0LTEwLjUtMzUuNXEwLTYgMi0yMGw4Ni01MDAtMzY0LTM1NHEtMjUtMjctMjUtNDggMC0zNyA1Ni00Nmw1MDItNzMgMjI1LTQ1NXExOS00MSA0OS00MXQ0OSA0MWwyMjUgNDU1IDUwMiA3M3E1NiA5IDU2IDQ2elwiLz5cbjwvc3ZnPiIsImN1c3RvbV9pY29uMiI6IjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTY2NCAxNzkyXCI+PHBhdGggZmlsbD1cImluaGVyaXRcIiBkPVwiTTEyOCAxNjY0aDI4OHYtMjg4aC0yODh2Mjg4ek00ODAgMTY2NGgzMjB2LTI4OGgtMzIwdjI4OHpNMTI4IDEzMTJoMjg4di0zMjBoLTI4OHYzMjB6TTQ4MCAxMzEyaDMyMHYtMzIwaC0zMjB2MzIwek0xMjggOTI4aDI4OHYtMjg4aC0yODh2Mjg4ek04NjQgMTY2NGgzMjB2LTI4OGgtMzIwdjI4OHpNNDgwIDkyOGgzMjB2LTI4OGgtMzIwdjI4OHpNMTI0OCAxNjY0aDI4OHYtMjg4aC0yODh2Mjg4ek04NjQgMTMxMmgzMjB2LTMyMGgtMzIwdjMyMHpNNTEyIDQ0OHYtMjg4cTAtMTMtOS41LTIyLjV0LTIyLjUtOS41aC02NHEtMTMgMC0yMi41IDkuNXQtOS41IDIyLjV2Mjg4cTAgMTMgOS41IDIyLjV0MjIuNSA5LjVoNjRxMTMgMCAyMi41LTkuNXQ5LjUtMjIuNXpNMTI0OCAxMzEyaDI4OHYtMzIwaC0yODh2MzIwek04NjQgOTI4aDMyMHYtMjg4aC0zMjB2Mjg4ek0xMjQ4IDkyOGgyODh2LTI4OGgtMjg4djI4OHpNMTI4MCA0NDh2LTI4OHEwLTEzLTkuNS0yMi41dC0yMi41LTkuNWgtNjRxLTEzIDAtMjIuNSA5LjV0LTkuNSAyMi41djI4OHEwIDEzIDkuNSAyMi41dDIyLjUgOS41aDY0cTEzIDAgMjIuNS05LjV0OS41LTIyLjV6TTE2NjQgMzg0djEyODBxMCA1Mi0zOCA5MHQtOTAgMzhoLTE0MDhxLTUyIDAtOTAtMzh0LTM4LTkwdi0xMjgwcTAtNTIgMzgtOTB0OTAtMzhoMTI4di05NnEwLTY2IDQ3LTExM3QxMTMtNDdoNjRxNjYgMCAxMTMgNDd0NDcgMTEzdjk2aDM4NHYtOTZxMC02NiA0Ny0xMTN0MTEzLTQ3aDY0cTY2IDAgMTEzIDQ3dDQ3IDExM3Y5NmgxMjhxNTIgMCA5MCAzOHQzOCA5MHpcIi8+XG48L3N2Zz4iLCJjdXN0b21faWNvbjMiOiI8P3htbCB2ZXJzaW9uPVwiMS4wXCIgZW5jb2Rpbmc9XCJpc28tODg1OS0xXCI/PlxyXG48IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+XHJcbjxzdmcgdmVyc2lvbj1cIjEuMVwiIGlkPVwiTGF5ZXJfMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB4PVwiMHB4XCIgeT1cIjBweFwiXHJcblx0IHZpZXdCb3g9XCIwIDAgNDk2LjE1OCA0OTYuMTU4XCIg
1001c3R5bGU9XCJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ5Ni4xNTggNDk2LjE1ODtcIiB4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiPlxyXG48cGF0aCBzdHlsZT1cImZpbGw6IzU2QjQ4QztcIiBkPVwiTTI0OC4wODIsMC4wMDNDMTExLjA3LDAuMDAzLDAsMTExLjA2MSwwLDI0OC4wODVjMCwxMzcsMTExLjA3LDI0OC4wNywyNDguMDgyLDI0OC4wN1xyXG5cdGMxMzcuMDA2LDAsMjQ4LjA3Ni0xMTEuMDcsMjQ4LjA3Ni0yNDguMDdDNDk2LjE1OCwxMTEuMDYxLDM4NS4wODgsMC4wMDMsMjQ4LjA4MiwwLjAwM3pcIi8+XHJcbjxwYXRoIHN0eWxlPVwiZmlsbDojRkZGRkZGO1wiIGQ9XCJNMzE5LjYzNywyNjkuNzExYy0yLjYzNy02LjM5NS02LjU2OS0xMi4yMzEtMTEuNzkyLTE3LjUwNWMtNS4yMjYtNS4yNzMtMTEuNjQ2LTkuOTYxLTE5LjI2My0xNC4wNjNcclxuXHRjNy45MS02LjY0LDEzLjk4OS0xMy40NTEsMTguMjM3LTIwLjQzNWM0LjI0OC02Ljk4MSw2LjM3Mi0xNS4zNTUsNi4zNzItMjUuMTIyYzAtNy40Mi0xLjQ2NS0xNC4zNTUtNC4zOTUtMjAuODAxXHJcblx0cy03LjI3Ni0xMi4xMDgtMTMuMDM3LTE2Ljk5MmMtNS43NjMtNC44ODItMTIuNTUtOC42MTctMjAuMzYxLTExLjIwNmMtNy44MTQtMi41ODYtMTYuNDU3LTMuODgyLTI1LjkyOC0zLjg4MlxyXG5cdGMtMTAuODQsMC0yMC42NTQsMS41MzgtMjkuNDQzLDQuNjE0cy0xNi4xMzksNy4xNTUtMjIuMDQ2LDEyLjIzMWMtNS45MSw1LjA3OS0xMC40LDEwLjQyNi0xMy40NzcsMTYuMDRcclxuXHRjLTMuMDc2LDUuNjE3LTQuNjE0LDEwLjk2My00LjYxNCwxNi4wNGMwLDUuMjczLDEuNjM0LDkuNDk5LDQuOTA3LDEyLjY3MWMzLjI3MSwzLjE3NSw2Ljg1OSw0Ljc2MSwxMC43NjcsNC43NjFcclxuXHRjMy4zMTksMCw2LjI0OS0wLjU4Niw4Ljc4OS0xLjc1OGMyLjUzOC0xLjE3Miw0LjI5Ni0yLjc4Myw1LjI3My00LjgzNGMxLjY1OS0zLjgwOSwzLjQ5LTcuODYsNS40OTMtMTIuMTU4XHJcblx0YzItNC4yOTYsNC4xMjUtNy44MTIsNi4zNzItMTAuNTQ3YzIuMjQ1LTIuNzMzLDUuMjk2LTQuOTMsOS4xNTUtNi41OTJjMy44NTYtMS42NTksOC43NjQtMi40OSwxNC43MjItMi40OVxyXG5cdGM4Ljc4OSwwLDE1Ljc3LDIuNzEsMjAuOTQ3LDguMTNjNS4xNzUsNS40Miw3Ljc2NCwxMS44OTEsNy43NjQsMTkuNDA5YzAsOS44NjUtMy4yNDgsMTcuNDMyLTkuNzQxLDIyLjcwNVxyXG5cdGMtNi40OTYsNS4yNzMtMTQuMjM0LDcuOTEtMjMuMjE4LDcuOTFoLTYuMDA2Yy02LjkzNSwwLTEyLjE1OCwxLjQ0Mi0xNS42NzQsNC4zMjFjLTMuNTE2LDIuODgyLTUuMjczLDYuNjY1LTUuMjczLDExLjM1M1xyXG5cdGMwLDQuNzg2LDEuNDY1LDguNTIxLDQuMzk1LDExLjIwNmMyLjkzLDIuNjg3LDcuMDc5LDQuMDI4LDEyLjQ1MSw0LjAyOGMxLjE3MiwwLDMuODA5LTAuMTk0LDcuOTEtMC41ODZcclxuXHRjNC4xMDItMC4zODksNy4xMjctMC41ODYsOS4wODItMC41ODZjMTEuMTMzLDAsMTkuODIzLDMuMjQ4LDI2LjA3NCw5Ljc0MWM2LjI0OSw2LjQ5Niw5LjM3NSwxNS40NTQsOS4zNzUsMjYuODhcclxuXHRjMCw3LjcxNi0xLjgzMSwxNC41MDItNS40OTMsMjAuMzYxcy04LjMwMiwxMC4yNzktMTMuOTE2LDEzLjI1N2MtNS42MTcsMi45OC0xMS40NTEsNC40NjgtMTcuNTA1LDQuNDY4XHJcblx0Yy0xMC41NDcsMC0xOC43MjctMy4yOTYtMjQuNTM2LTkuODg4Yy01LjgxMi02LjU5Mi0xMS4yNTYtMTYuNjc0LTE2LjMzMy0zMC4yNDljLTAuNzgzLTIuMjQ1LTIuNDQyLTQuMTc1LTQuOTgtNS43ODZcclxuXHRjLTIuNTQxLTEuNjExLTUuMTc3LTIuNDE3LTcuOTEtMi40MTdjLTUuNDcsMC0xMC4wMzQsMS43MzUtMTMuNjk2LDUuMmMtMy42NjIsMy40NjgtNS40OTMsOC4wMzQtNS40OTMsMTMuNjk2XHJcblx0YzAsNC4zOTUsMS41MzgsOS45NjEsNC42MTQsMTYuNjk5czcuNjE3LDEzLjI1NywxMy42MjMsMTkuNTU2czEzLjY0NiwxMS41NDksMjIuOTI1LDE1Ljc0N2M5LjI3Niw0LjE5OCwxOS43NzUsNi4yOTksMzEuNDk0LDYuMjk5XHJcblx0YzExLjUyMiwwLDIyLjA0Ni0xLjgzMSwzMS41NjctNS40OTNzMTcuNzQ4LTguNzM5LDI0LjY4My0xNS4yMzRjNi45MzMtNi40OTMsMTIuMTgxLTEzLjg5MSwxNS43NDctMjIuMTkyXHJcblx0YzMuNTYzLTguMjk5LDUuMzQ3LTE2Ljg5NCw1LjM0Ny0yNS43ODFDMzIzLjU5MiwyODMuMDE4LDMyMi4yNzMsMjc2LjEwOSwzMTkuNjM3LDI2OS43MTF6XCIvPlxyXG48Zz5cclxuPC9nPlxyXG48Zz5cclxuPC9nPlxyXG48Zz5cclxuPC9nPlxyXG48Zz5cclxuPC9nPlxyXG48Zz5cclxuPC9nPlxyXG48Zz5cclxuPC9nPlxyXG48Zz5cclxuPC9nPlxyXG48Zz5cclxuPC9nPlxyXG48Zz5cclxuPC9nPlxyXG48Zz5cclxuPC9nPlxyXG48Zz5cclxuPC9nPlxyXG48Zz5cclxuPC9nPlxyXG48Zz5cclxuPC9nPlxyXG48Zz5cclxuPC9nPlxyXG48Zz5cclxuPC9nPlxyXG48L3N2Zz5cclxuIiwiY3VzdG9tX2ljb240IjoiPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI5OC4yOFwiIGhlaWdodD1cIjk4LjI4XCIgdmlld0JveD1cIjAgMCA5OC4yOCA5OC4yOFwiPjxjaXJjbGUgY3g9XCI0OS4xNFwiIGN5PVwiNDkuMTRcIiByPVwiNDkuMTRcIiBmaWxsPVwiIzI3MmEzZFwiLz48cGF0aCBkPVwiTTYwLjE4LDUzLjVhMywzLDAsMCwxLDIuMzIuNzUsMywzLDAsMCwxLC42NSwyLjA5LDYuNTMsNi41MywwLDAsMS0uMjQsMS44LDQuMzgsNC4zOCwwLDAsMS0uNDMsMS4xMkg1OC41NHY2LjY4SDUxLjkyVjU5LjI2aC03LjNxLTQuNTYsMC02LjQ4LTEuNDFhNS4xNyw1LjE3LDAsMCwxLTEuOTItNC40NCwxMC42NSwxMC42NSwwLDAsMSwuNDYtMywxOC45LDE4LjksMCwwLDEsMS4yLTMsMjYuNTcsMjYuNTcsMCwwLDEsMS43My0zLDMyLjg1LDMyLjg1LDAsMCwxLDItMi43NnExLjQ0LTEuNzgsMy0zLjM0YTMwLDMwLDAsMCwxLDMuMTItMi43NkExNSwxNSwwLDAsMSw1MSwzMy42NmE4LjQ4LDguNDgsMCwwLDEsMy4zNC0uNyw3LjczLDcuNzMsMCwwLDEsMi44OC40Myw2LjI3LDYuMjcsMCwwLDEsMS4zNC42N1Y1My41Wk01MS45MiwzOS40NGMtLjI2LjE2LS45LjY2LTEuOTIsMS40OWEyNC41OCwyNC41OCwwLDAsMC0zLjQxLDMuNTUsMjQuMTgsMjQuMTgsMCwwLDAtMi44Myw0LjE1LDYuODksNi44OSwwLDAsMC0uOTEsMi45MSwxLjU3LDEuNTcsMCwwLDAsLjg2LDEuNTNBNS4wNiw1LjA2LDAsMCwwLDQ2LDUzLjVoNlpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTAuNCAtMC4zNylcIiBmaWxsPVwiIzRkYWY3Y1wiLz48L3N2Zz4iLCJjdXN0b21faWNvbjUiOiI8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjk4LjI4XCIgaGVpZ2h0PVwiOTguMjhcIiB2aWV3Qm94PVwiMCAwIDk4LjI4IDk4LjI4XCI+PGNpcmNsZSBjeD1cIjQ5LjE0XCIgY3k9XCI0OS4xNFwiIHI9XCI0OS4xNFwiIGZpbGw9XCIjMjcyYTNkXCIvPjxwYXRoIGQ9XCJNNDAsMzcuNThhNC4yMSw0LjIxLDAsMCwxLDEtMi44MiwzLjg2LDMuODYsMCwwLDEsMi44OC0uOTRINTdhNC4zNiw0LjM2LDAsMCwxLDIuODMuNzEsMi44MSwyLjgxLDAsMCwxLC44MiwyLjI1LDUuMDcsNS4wNywwLDAsMS0uMzYsMiw3LjQyLDcuNDIsMCwwLDEtLjU2LDEuMTRINDUuOTJsLS4xOSw1LjksMS41MS0uMjFhMjIuMjksMjIuMjksMCwwLDEsMi42Ni0uMTIsMTYuNCwxNi40LDAsMCwxLDUuNjQuODYsMTAuNTQsMTAuNTQsMCwwLDEsMy43NywyLjI4LDguNDQsOC40NCwwLDAsMSwyLjA5LDMuMjksMTEuODUsMTEuODUsMCwwLDEsLjY1LDMuODksMTEuMTIsMTEuMTIsMCwwLDEtLjg3LDQuNDYsOS4xOCw5LjE4LDAsMCwxLTIuNTYsMy40NkExMi4xOCwxMi4xOCwwLDAsMSw1NC40Miw2NmExOS4wNSwxOS4wNSwwLDAsMS01Ljc2Ljc5LDIzLjg4LDIzLjg4LDAsMCwxLTUtLjQ1LDIyLjM1LDIyLjM1LDAsMCwxLTMuNDgtMSwxMS4yOCwxMS4yOCwwLDAsMS0yLjExLTEsNC4zNyw0LjM3LDAsMCwxLS43Ny0uNTdMNDAsNTguOTNhNy4zMSw3LjMxLDAsMCwwLC42OS40MywxMi40NiwxMi40NiwwLDAsMCwxLjczLjgyLDE3LjgsMTcuOCwwLDAsMCwyLjU3Ljc2LDE0LjQ0LDE0LjQ0LDAsMCwwLDMuMjYuMzQsMTEsMTEsMCwwLDAsMy4yMi0uNDEsNiw2LDAsMCwwLDIuMDktMS4wOCwzLjgzLDMuODMsMCwwLDAsMS4xMi0xLjZBNS4zOSw1LjM5LDAsMCwwLDU1LDU2LjI3YTYuMTQsNi4xNCwwLDAsMC0uMzEtMiwzLjcxLDMuNzEsMCwwLDAtMS4xNS0xLjY2LDYuMjUsNi4yNSwwLDAsMC0yLjI4LTEuMTYsMTMuMzIsMTMuMzIsMCwwLDAtMy43NS0uNDMsMTguNCwxOC40LDAsMCwwLTUuMTEuNiwzMC4wOCwzMC4wOCwwLDAsMC0yLjk1LDFaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0wLjQgLTAuMzcpXCIgZmlsbD1cIiM0ZGFmN2NcIi8+PC9zdmc+IiwiY3VzdG9tX2ljb242IjoiPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI5OC4yOFwiIGhlaWdodD1cIjk4LjI4XCIgdmlld0JveD1cIjAgMCA5OC4yOCA5OC4yOFwiPjxjaXJjbGUgY3g9XCI0OS4xNFwiIGN5PVwiNDkuMTRcIiByPVwiNDkuMTRcIiBmaWxsPVwiIzI3MmEzZFwiLz48cGF0aCBkPVwiTTYyLjUzLDU0Ljg1YTExLjUzLDExLjUzLDAsMCwxLTEsNC43NywxMS40LDExLjQsMCwwLDEtMi43MSwzLjc3LDEyLjQxLDEyLjQxLDAsMCwxLTQuMDcsMi40NywxNC4yNSwxNC4yNSwwLDAsMS01LjEzLjg5LDE0LjkzLDE0LjkzLDAsMCwxLTUuMTMtLjg2LDEyLjQyLDEyLjQyLDAsMCwxLTQtMi40LDExLDExLDAsMCwxLTIuNjYtMy42NSwxMS4xMywxMS4xMywwLDAsMS0xLTQuNjZBMTMuNTYsMTMuNTYsMCwwLDEsMzguMzEsNDlhMzMuNTUsMzMuNTUsMCwwLDEsMy4zOC01LjM3bDYuNDItOC40NWMuMTktLjIzLjQtLjQ3LjYyLS43NWEzLjgyLDMuODIsMCwwLDEsLjgyLS43Miw0LjksNC45LDAsMCwxLDEuMTctLjUyQTUuNDcsNS40NywwLDAsMSw1Mi4zOCwzM2E0LjU3LDQuNTcsMCwwLDEsMi43MS43LDQuNSw0LjUsMCwwLDEsMS4yMywxLjEyTDQ4LjI1LDQ1LjE1YTcuMzcsNy4zNywwLDAsMSwxLjUzLS41NUE4LjgyLDguODIsMCwwLDEsNTIsNDQuMzRhMTEuNDQsMTEuNDQsMCwwLDEsNC4zOC43OSw5LjQsOS40LDAsMCwxLDUuMzksNS41NEExMS44LDExLjgsMCwwLDEsNjIuNTMsNTQuODVabS02LjcyLjMzYTYuMTIsNi4xMiwwLDAsMC0xLjczLTQuNDgsNiw2LDAsMCwwLTQuNDYtMS43Niw2LjIyLDYuMjIsMCwwLDAtNC40NCwxLjc4LDUuNTUsNS41NSwwLDAsMC0xLjMsMiw3LDcsMCwwLDAsMCw1LDUuNDcsNS40NywwLDAsMCwxLjMsMiw2LjI3LDYuMjcsMCwwLDAsNC40NCwxLjc3LDYsNiwwLDAsMCw0LjQ2LTEuNzVBNi4xMyw2LjEzLDAsMCwwLDU1LjgxLDU1LjE4WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMC40IC0wLjM3KVwiIGZpbGw9XCIjNGRhZjdjXCIvPjwvc3ZnPiJ9"> <style>/* Pulse animation */ 1002 .pulse, .pulse2, .slide-pulse { 1003 -webkit-animation-iteration-count: 1; 1004 -moz-animation-iteration-count: 1; 1005 -o-animation-iteration-count: 1; 1006 animation-iteration-count: 1; 1007 }</style> 1008 <div id="conversion-menu-container"> <div class="overlay"></div> 1009 <div class="mobile-bg"></div> 1010 <div class="social-bg"></div> 1011 <div class="fab" id="masterfab"> <div class="desktop-bg"> <div id="help-text">Hi. Do you need any help?</div> 1012 <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> 1013 <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> 1014</g> 1015 <g></g> 1016 <g></g> 1017 <g></g> 1018 <g></g> 1019 <g></g> 1020 <g></g> 1021 <g></g> 1022 <g></g> 1023 <g></g> 1024 <g></g> 1025 <g></g> 1026 <g></g> 1027 <g></g> 1028 <g></g> 1029 <g></g> 1030</svg> 1031</div> 1032</div> 1033 <span id="main-container"></span> 1034</div> 1035 <div id="float-container"></div> 1036</div> 1037 <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> 1038 <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> 1039 <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> 1040</g> 1041 <g></g> 1042 <g></g> 1043 <g></g> 1044 <g></g> 1045 <g></g> 1046 <g></g> 1047 <g></g> 1048 <g></g> 1049 <g></g> 1050 <g></g> 1051 <g></g> 1052 <g></g> 1053 <g></g> 1054 <g></g> 1055 <g></g> 1056</svg> 1057</button> 1058</header> 1059 <main class="modal__content" id="modal-1-content"> <div class="share-container"></div> 1060</main> 1061</div> 1062</div> 1063</div> 1064</div> 1065</div> 1066</div> 1067</div> 1068</div> 1069 <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> 1070</div> 1071 <div class="poweredLine2">© <span id="hibuYear">2026</span> 1072The content on this website is owned by us and our licensors. Do not copy any content (including images) without our consent.</div> 1073</div> 1074</div> 1075</div> 1076</div> 1077</div> 1078</div> 1079</div> 1080</div> 1081</div> 1082</div> 1083</div> 1084 1085 </div> 1086</div> 1087<!-- Add full CSS and Javascript before the close tag of the body if needed --> 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126<!-- ========= JS Section ========= -->
1127<script> 1128 var isWLR = true; 1129 1130 window.customWidgetsFunctions = {}; 1131 window.customWidgetsStrings = {}; 1132 window.collections = {}; 1133 window.currentLanguage = "ENGLISH" 1134 window.isSitePreview = false; 1135</script>
1135 1136 1137 1138
1139<script> 1140 window.customWidgetsFunctions["d1ee5d5bf037471ea1770683731e577a~22"] = function (element, data, api) { 1141 $(document).ready(function(){ 1142 $.getScript('https://widget.hibu.us/static/js/index.js') 1143 .done(function(){ 1144 dmAPI.runOnReady('hibu_header_reviews',function(){ 1145 window.renderApp(); 1146 }); 1147 1148 }) 1149 .fail(function(){ 1150 console.log("failed to loaded header reviews js file") 1151 }); 1152}) 1153 1154 1155 }; 1156</script>
1156 1157
1158<script> 1159 window.customWidgetsFunctions["7b6cfbac88324cffbaaf57354cd7a334~227"] = function (element, data, api) { 1160 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>" 1161 1162/* find yext src */ 1163var findYextSrc = function(){ 1164 var keyExp = new RegExp(/src="(.*?)"/); 1165 if (data.config.script.includes('location_id')) { 1166 data.config.script = data.config.script.replace('location_id', 'entity_id'); 1167 } 1168 var result = keyExp.exec(data.config.script); 1169 if(result && result.length == 2){ 1170 window.yextScriptSrc=result[1]; 1171 return result[1]; 1172 }else{ 1173 return window.yextScriptSrc; 1174 } 1175} 1176 1177window.yextLoadedCallback = function(yextData) { 1178 $('.wrongScriptError').removeClass('hasError'); 1179 window.yextInitialized = true; 1180 1181 if(yextData) { 1182 window._yextData = yextData; 1183 } else { 1184 throw "Yext loaded but no data was passed"; 1185 } 1186} 1187 1188function loadYextScript(src){ 1189 $(element).find('.wrongScriptError').removeClass('hasError'); 1190 var yextScript = document.getElementById('d-yext-script'); 1191 if (yextScript) { 1192 yextScript.parentNode.removeChild(yextScript); 1193 } 1194 yextScript = document.createElement('script'); 1195 yextScript.charset = 'utf-8'; 1196 yextScript.type = 'text/javascript'; 1197 1198 src += "&callback=yextLoadedCallback" 1199 1200 yextScript.src = src; 1201 yextScript.id = 'd-yext-script'; 1202 document.body.appendChild(yextScript); 1203} 1204 1205/* load yext script */ 1206var loadYext = function(forceRefresh) { 1207 // Make sure we call Yext only once 1208 if(window.yextInitialized && !forceRefresh){ 1209 return; 1210 } 1211 1212 startIntervalToWaitAndLoadWidgets(data.config.type); 1213 1214 // We extract the "src" attribute from the string provided ina safe way 1215 // The format we expect is the following: 1216 1217 try{ 1218 var src = findYextSrc(); 1219 if(src){ 1220 1221 loadYextScript(src); 1222 1223 } else if(data.inEditor) { 1224 // $(document).load(function(){ 1225 // if(!window._yextData) { 1226 // $(element).find('.wrongScriptError').addClass('hasError'); 1227 // } 1228 // }) 1229 1230 // $(element).find('.wrongScriptError').addClass('hasError'); 1231 1232 return; 1233 } 1234 1235 } catch(exp) { 1236 // $(element).find('.wrongScript').addClass('hasError'); 1237 console.log(exp) 1238 return; 1239 } 1240 1241 if (data.inEditor) { 1242 if($('.multipleYextError').length > 1){ 1243 $(element).find('.multipleYextError').addClass('hasError'); 1244 return; 1245 }else if(data.config.type === 'none'){ 1246 $(element).find('.editorOnlyInfo').addClass('inEditor'); 1247 } 1248 } 1249} 1250 1251/* refresh yext script */ 1252window.refreshYext = function(){ 1253 loadYext(true); 1254} 1255 1256//function for Omniture tracking 1257window._trackConvWidgetClickEvent = function(eventName) { 1258 if(typeof(HAF)==="object"){ 1259 HAF.OmTracking.onCMClick(eventName) 1260 } 1261 return; 1262} 1263 1264/* draw yext map */ 1265var drawMap = function(yextData){ 1266 var zoom = data.config.mapZoom; 1267 var yData = yextData.entities[0].attributes; 1268 var addressQuery = yData['address1'] + " " + yData['address2'] + " " + yData['city'] + " " + yData['state'] + " " + yData['zip']; 1269 dmAPI.drawMap({addressQuery: addressQuery, zoom: zoom, container: $(element).find('.yextMap')}); 1270} 1271 1272 1273 1274var formatPhoneBeforeRender = function(num,cb) { 1275 if (!cb) 1276 cb = function(){return} 1277 if(data.config.formatPhone){ 1278 var s2 = (""+num).replace(/\D/g, ''); 1279 var m = s2.match(/^(\d{3})(\d{3})(\d{4})$/); 1280 var formatted = (!m) ? null : "(" + m[1] + ") " + m[2] + "-" + m[3]; 1281 cb(formatted); 1282 return formatted; 1283 } else { 1284 cb(num); 1285 return num; 1286 } 1287} 1288 1289var displayTextdList = function(type,yextData,firstOnly) { 1290 var list = ""; 1291 if(yextData.entities[0].attributes[type]) { 1292 var yextAtt = yextData.entities[0].attributes[type] 1293 } else { 1294 var yextAtt = false 1295 } 1296 1297 if(yextAtt && Array.isArray(yextAtt)) { 1298 for (var i=0; i< yextAtt.length; i++) { 1299 if (yextAtt[i] === 'Android Pay') { 1300 list += '<li>Google Pay</li>'; 1301 } 1302 else { 1303 list += '<li>' + yextAtt[i] + '</li>'; 1304 } 1305 } 1306 $(element).find('#' + type + 'List').html(list); 1307 } else if (yextAtt) { 1308 var yextAtt = yextAtt.split(", "); 1309 for (var i=0; i< yextAtt.length; i++) { 1310 list += '<li>' + yextAtt[i] + '</li>'; 1311 } 1312 $(element).find('#' + type + 'List').html(list); 1313 } else if (data.inEditor) { 1314 $(element).html(emptyListPlaceHolder); 1315 } else { 1316 $(element).css('display','none'); 1317 } 1318 1319 1320} 1321 1322var displaySpecialties = function(yextData){ 1323 var list = ""; 1324 if(yextData.entities[0].attributes["specialties"]) { 1325 var yextAtt = yextData.entities[0].attributes["specialties"] 1326 } else if (yextData.entities[0].attributes["specialities"]) { 1327 var yextAtt = yextData.entities[0].attributes["specialities"] 1328 } else { 1329 var yextAtt = false 1330 } 1331 1332 if(yextAtt && Array.isArray(yextAtt)) { 1333 for (var i=0; i< yextAtt.length; i++) { 1334 list += '<li>' + yextAtt[i] + '</li>'; 1335 } 1336 $(element).find('#specialtiesList').html(list); 1337 } else if (yextAtt) { 1338 var yextAtt = yextAtt.split(", "); 1339 for (var i=0; i< yextAtt.length; i++) { 1340 list += '<li>' + yextAtt[i] + '</li>'; 1341 } 1342 $(element).find('#specialtiesList').html(list); 1343 } else if (data.inEditor) { 1344 $(element).html(emptyListPlaceHolder); 1345 } else { 1346 $(element).css('display','none'); 1347 } 1348} 1349 1350var displayHours = function(type,yextData) { 1351 var list = ""; 1352 if(yextData.entities[0].attributes[type]) { 1353 var yextAtt = yextData.entities[0].attributes[type] 1354 } else { 1355 var yextAtt = false 1356 } 1357 1358 if(yextAtt && Array.isArray(yextAtt)) { 1359 for(var i=0;i < yextAtt.length;i++) { 1360 var indexEndDay = yextAtt[i].lastIndexOf('day ') + 3; 1361 1362 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"); 1363 1364 var rightSide = yextAtt[i].substr(indexEndDay + 1) 1365 1366 list += '<div class="row"><div class="left">' + leftSide + '</div><div class="right">' + rightSide + '</div></div>'; 1367 } 1368 1369 $(element).find('#hoursSmall').html(list); 1370 1371 } else if(yextAtt) { 1372 var yextAtt = yextAtt.split(", "); 1373 for(var i=0;i < yextAtt.length;i++) { 1374 if((/\s/.test(yextAtt[i])) === false){ 1375 yextAtt[i] = yextAtt[i] + ' - ' + yextAtt[i+1] 1376 yextAtt.splice(i+1, 1) 1377 } 1378 if (yextAtt[i].includes('day') === false ){ 1379 var leftSide = ' '; 1380 1381 var rightSide = yextAtt[i] 1382 }else { 1383 var indexEndDay = yextAtt[i].lastIndexOf('day ') + 3; 1384 1385 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"); 1386 1387 var rightSide = yextAtt[i].substr(indexEndDay + 1) 1388 } 1389 1390 list += '<div class="row"><div class="left">' + leftSide + '</div><div class="right">' + rightSide + '</div></div>'; 1391 } 1392 $(element).find('#hoursSmall').html(list); 1393 } else if (data.inEditor) { 1394 $(element).html(emptyListPlaceHolder); 1395 } else { 1396 $(element).css('display','none'); 1397 } 1398 1399} 1400 1401var displayOpenHours = function(type, yextData){ 1402 if(yextData.entities[0].attributes['timezone']){ 1403 var zone = yextData.entities[0].attributes['timezone'] 1404 } else { 1405 var zone = false 1406 } 1407 1408 if(zone){
1409 var time = new Date().toLocaleString("en-US", {timeZone: zone}); 1410 var today = new Date(time ); 1411 1412 var thirtyMins = 30 * 60 * 1000 1413 1414 var days = ['sunday','monday','tuesday','wednesday','thursday','friday','saturday']; 1415 var daysShort = ['Sun','Mon','Tues','Wed','Thurs','Fri','Sat']; 1416 1417 var day = days[today.getDay()]; 1418 var hour = today.getHours(); 1419 var min = today.getMinutes(); 1420 var dd = ("0" + today.getDate()).slice(-2); 1421 var mm = ("0" + (today.getMonth() + 1)).slice(-2) 1422 var yyyy = today.getFullYear(); 1423 var todayDate = yyyy + '-' + mm + '-' + dd 1424 var mm = mm - 1 1425 1426 const tomorrow = new Date(today) 1427 tomorrow.setDate(tomorrow.getDate() + 1) 1428 var mmTmw = ("0" + (tomorrow.getMonth() + 1)).slice(-2) 1429 var ddTmw = ("0" + tomorrow.getDate()).slice(-2) 1430 var yyyyTmw = tomorrow.getFullYear(); 1431 var nextDay = days[tomorrow.getDay()] 1432 var tommorrow = yyyyTmw + '-' + mmTmw + '-' + ddTmw 1433 var mmTmw = mmTmw - 1 1434 } 1435 1436 if(yextData.entities[0].attributes[type + '-' + day]) { 1437 var yextAtt = yextData.entities[0].attributes[type + '-' + day] 1438 if (yextAtt === "Closed"){ 1439 yextAtt = false 1440 } 1441 } else { 1442 var yextAtt = false 1443 } 1444 1445 //check if day is closed 1446 if(yextData.entities[0].attributes[type + '.' + day + '.isClosed'] === true) { 1447 var closed = true 1448 } 1449 1450 //collects business holiday hours 1451 if(yextData.entities[0].attributes[type + '.holidayHours']){ 1452 var holidayHours = yextData.entities[0].attributes[type + '.holidayHours'] 1453 } else{ 1454 var holidayHours = false 1455 } 1456 1457 //gets next days start time 1458 if(yextData.entities[0].attributes[type + '.' + nextDay + '.isClosed'] === true){ 1459 var tomorrowOpen = false 1460 } else { 1461 var tomorrowOpen = true 1462 var tmrwStart = yextData.entities[0].attributes[type + '-' + nextDay].split(" - ")[0] 1463 } 1464 1465 //checks if holiday hours change 1466 if(holidayHours) { 1467 for(var i=0;i < holidayHours.length;i++){ 1468 if(holidayHours[i].date === todayDate && holidayHours[i].openIntervals){ 1469 yextAtt = holidayHours[i].hoursFormatted 1470 } 1471 } 1472 } 1473 1474 //split hours 1475 if(yextAtt && yextAtt.includes(",")){ 1476 yextAtt = yextAtt.split(", ") 1477 for(var i=0;i < yextAtt.length;i++){ 1478 var end = yextAtt[i].split(' - ')[1] 1479 var start = yextAtt[i].split(' - ')[0] 1480 if (i+1 != yextAtt.length){ 1481 var nextStart = yextAtt[i + 1].split(' - ')[0] 1482 } 1483 if(start.includes("pm") && start.split(/\s+|:/)[0] != "12"){ 1484 var startDate = new Date(yyyy, mm, dd, parseInt(start.split(/\s+|:/)[0]) + 12, parseInt(start.split(/\s+|:/)[1])) 1485 } else { 1486 var startDate = new Date(yyyy, mm, dd, parseInt(start.split(/\s+|:/)[0]), parseInt(start.split(/\s+|:/)[1])) 1487 } 1488 1489 if(nextStart.includes("pm") && nextStart.split(/\s+|:/)[0] != "12"){ 1490 var nextStartDate = new Date(yyyy, mm, dd, parseInt(nextStart.split(/\s+|:/)[0]) + 12, parseInt(nextStart.split(/\s+|:/)[1])) 1491 } else { 1492 var nextStartDate = new Date(yyyy, mm, dd, parseInt(nextStart), parseInt(nextStart.split(/\s+|:/)[1])) 1493 } 1494 1495 if(end.includes("pm") && end.split(/\s+|:/)[0] != "12"){ 1496 var endDate = new Date(yyyy, mm, dd, parseInt(end.split(/\s+|:/)[0]) + 12, parseInt(end.split(/\s+|:/)[1])) 1497 } else { 1498 var endDate = new Date(yyyy, mm, dd, parseInt(end.split(/\s+|:/)[0]), parseInt(end.split(/\s+|:/)[1])) 1499 } 1500 1501 if (end.includes("am") && (endDate < startDate)){ 1502 endDate = new Date(yyyyTmw, mmTmw, ddTmw, parseInt(end.split(/\s+|:/)[0]), parseInt(end.split(/\s+|:/)[1])) 1503 } 1504 1505 if(today < startDate){ 1506 var closed = true 1507 tmrwStart = start 1508 break 1509 }else if(today > startDate && today < endDate){ 1510 yextAtt = start + ' - ' + end 1511 break 1512 }else if(today > endDate && (i+1 != yextAtt.length) && today < nextStartDate){ 1513 var closed = true 1514 tmrwStart = nextStart 1515 tomorrowOpen = true 1516 }else if(today > endDate && i+1 === yextAtt.length){ 1517 var closed = true 1518 } 1519 } 1520 } 1521 1522 1523 if(yextAtt || closed) { 1524 if(typeof yextAtt === "string"){ 1525 var start = yextAtt.split(" - ")[0] 1526 var end = yextAtt.split(" - ")[1] 1527 if(start.includes("pm") && start.split(/\s+|:/)[0] != "12"){ 1528 var startDate = new Date(yyyy, mm, dd, parseInt(start.split(/\s+|:/)[0]) + 12, parseInt(start.split(/\s+|:/)[1])) 1529 } else { 1530 var startDate = new Date(yyyy, mm, dd, parseInt(start.split(/\s+|:/)[0]), parseInt(start.split(/\s+|:/)[1])) 1531 } 1532 1533 if(end.includes("pm") && end.split(/\s+|:/)[0] != "12"){ 1534 var endDate = new Date(yyyy, mm, dd, parseInt(end.split(/\s+|:/)[0]) + 12, parseInt(end.split(/\s+|:/)[1])) 1535 } else if (end.includes("am") && end.split(/\s+|:/)[0] === "12") { 1536 var endDate = new Date(yyyy, mm, dd, parseInt(end.split(/\s+|:/)[0]) - 12, parseInt(end.split(/\s+|:/)[1])) 1537 } else { 1538 var endDate = new Date(yyyy, mm, dd, parseInt(end.split(/\s+|:/)[0]), parseInt(end.split(/\s+|:/)[1])) 1539 } 1540 1541 if (end.includes("am") && (endDate < startDate)){ 1542 endDate = new Date(yyyyTmw, mmTmw, ddTmw, parseInt(end.split(/\s+|:/)[0]), parseInt(end.split(/\s+|:/)[1])) 1543 } 1544 1545 //check if closed 1546 if(today > endDate){ 1547 var closed = true 1548 //opened 24 hours 1549 } else if(start === '12:00 am' && end === '11:59 pm'){ 1550 var status = "Open " 1551 var cssClass = "allDayStatus" 1552 var busHours = ' 24 hours ' 1553 //opened 1554 } else if(today < startDate){ 1555 var closed = true 1556 //check if closing soon 1557 } else if (endDate - today < thirtyMins && endDate - today < 0 === false ){ 1558 var status = "Closing Soon " 1559 var cssClass = "soonStatus" 1560 var busHours = ' ⢠' + end 1561 } else { 1562 var status = "Open " 1563 var cssClass = "openedStatus" 1564 var busHours = '⢠Closes ' + end 1565 } 1566 1567 } 1568 1569 if(closed){ 1570 1571 // closed & opening today 1572 if((today < startDate)){ 1573 var status = "Closed " 1574 var cssClass = "closedStatus" 1575 var busHours = ' Opens ' + start 1576 //closed & open tomorrow 1577 } else if(closed && tomorrowOpen === true){ 1578 var status = "Closed " 1579 var cssClass = "closedStatus" 1580 var busHours = ' ⢠Opens ' + tmrwStart 1581 //closed and not open tomorrow 1582 } else if(closed && tomorrowOpen != true){ 1583 var offset = days.indexOf(day) + 1 1584 for( var i=0; i < days.length; i++) { 1585 var dayIndex = (i + offset) % days.length; 1586 if(yextData.entities[0].attributes[type + '.' + days[dayIndex] + '.openIntervals']){ 1587 tmrwStart = daysShort[dayIndex] + " " + yextData.entities[0].attributes[type + '-' + days[dayIndex]].split(" - ")[0] 1588 break 1589 } 1590 } 1591 var status = "Closed " 1592 var cssClass = "closedStatus" 1593 var busHours = ' ⢠Opens ' + tmrwStart 1594 1595 } 1596 } 1597 } 1598 1599 // checks if holiday 1600 if(holidayHours) { 1601 for(var i=0;i < holidayHours.length;i++){ 1602 if(holidayHours[i].date === todayDate && holidayHours[i].isClosed === true && tomorrowOpen === false){ 1603 var offset = days.indexOf(day) + 1 1604 for( var i=0; i < days.length; i++) { 1605 var dayIndex = (i + offset) % days.length; 1606 if(yextData.entities[0].attributes[type + '.' + days[dayIndex] + '.openIntervals']){ 1607 tmrwStart = daysShort[dayIndex] + " " + yextData.entities[0].attributes[type + '-' + days[dayIndex]].split(" - ")[0] 1608 break 1609 } 1610 } 1611 var status = "Closed " 1612 var cssClass = "closedStatus" 1613 var busHours = ' ⢠Opens ' + tmrwStart 1614 } else if(holidayHours[i].date === todayDate && holidayHours[i].isClosed === true && tomorrowOpen === true){ 1615 var status = "Closed " 1616 var cssClass = "closedStatus" 1617 var busHours = ' ⢠Opens ' + tmrwStart 1618 1619 } 1620 } 1621 } 1622 if(cssClass){ 1623 var hoursWidgets = document.getElementsByClassName('status') 1624 for( var i=0; i < hoursWidgets.length; i++) { 1625 hoursWidgets[i].classList.add(cssClass); 1626 } 1627 } 1628 if(status){ 1629 var hoursWidgets = document.getElementsByClassName('status') 1630 for( var i=0; i < hoursWidgets.length; i++) { 1631 hoursWidgets[i].innerText = status; 1632 } 1633 } 1634 if(cssClass === 'allDayStatus'){ 1635 var hoursWidgets = $(element).find('.openHours') 1636 for( var i=0; i < hoursWidgets.length; i++) { 1637 hoursWidgets[i].children[0].textContent = "" 1638 } 1639 } 1640 if(document.getElementsByClassName('openHours')[0].childElementCount > 1){ 1641 var hoursWidgets = document.getElementsByClassName('openHours') 1642 for( var i=0; i < hoursWidgets.length; i++) { 1643 var openHoursLength = hoursWidgets[i].childNodes.length 1644 var oldHours = hoursWidgets[i] 1645 oldHours.removeChild(oldHours.childNodes[openHoursLength - 1]) 1646 } 1647 } 1648 var hoursWidgets = document.getElementsByClassName('openHours') 1649 for( var i=0; i < hoursWidgets.length; i++) { 1650 hoursWidgets[i].append(busHours) 1651 } 1652} 1653 1654 1655var displayHolidayHoursList = function(type,yextData) { 1656 var list = ""; 1657 1658 if(yextData.entities[0].attributes["hours.holidayHours"]) { 1659 var yextAtt = yextData.entities[0].attributes["hours.holidayHours"] 1660 } else if(yextData.entities[0].attributes["holidayHours"]) { 1661 var yextAtt = yextData.entities[0].attributes["holidayHours"] 1662 } else { 1663 var yextAtt = false 1664 } 1665 1666 1667 1668 if(yextAtt) { 1669 for (var i=0; i< yextAtt.length; i++) { 1670 1671 var dateHol = new Date(Date.parse(yextAtt[i].date)); 1672 1673 var dateNow = new Date(); 1674 var numDaysBetween = getNumDaysBetween(dateHol,dateNow); 1675 1676 if (numDaysBetween > -1) { 1677 // write to dom 1678 list += '<li>' + yextAtt[i].dateFormatted + ' - <span class="holidayHoursStatus">' + yextAtt[i].hoursFormatted + '</span></li>'; 1679 } 1680 1681 } 1682 $(element).find('#' + type + 'List').html(list); 1683 } else if (data.inEditor) { 1684 // if in editor display place holder 1685 $(element).html(emptyListPlaceHolder); 1686 } else { 1687 // if empty, hide element on runtime 1688 $(element).css('display','none'); 1689 } 1690} 1691 1692var displayServiceArea = function(type,yextData,firstOnly) { 1693 var list = ""; 1694 if(yextData.entities[0].attributes[type]) { 1695 var yextAtt = yextData.entities[0].attributes[type] 1696 } else { 1697 var yextAtt = false 1698 } 1699 1700 if (firstOnly) { 1701 list = '<li>' + yextAtt[0] + '</li>'; 1702 $(element).find('#' + type + 'List').html(list); 1703 } else if (yextAtt && Array.isArray(yextAtt)) { 1704 for (var i=0; i< yextAtt.length; i++) { 1705 list += '<li>' + yextAtt[i] + '</li>'; 1706 } 1707 $(element).find('#' + type + 'List').html(list); 1708 } else if (yextAtt) { 1709 var yextAtt = yextData.entities[0].attributes[type + ".places"] 1710 for (var i=0; i< yextAtt.length; i++) { 1711 list += '<li>' + yextAtt[i] + '</li>'; 1712 } 1713 $(element).find('#' + type + 'List').html(list); 1714 } else if (data.inEditor) { 1715 $(element).html(emptyListPlaceHolder); 1716 } else { 1717 $(element).css('display','none'); 1718 } 1719 1720} 1721 1722var displayPhoneList = function(type,yextData) { 1723 var list = ""; 1724 1725 var locData = yextData.entities[0].attributes; 1726 1727 if(locData.phone) { 1728 list += '<li><span class="phoneLabel">Main:</span><span class="phoneNum"> ' + formatPhoneBeforeRender(locData.phone) + '</span></li>'; 1729 } 1730 if(locData.localPhone) { 1731 list += '<li><span class="phoneLabel">Local:</span><span class="phoneNum"> ' + formatPhoneBeforeRender(locData.localPhone) + '</span></li>'; 1732 } 1733 if(locData.alternatePhone) { 1734 list += '<li><span class="phoneLabel">Alternate:</span><span class="phoneNum"> ' + formatPhoneBeforeRender(locData.alternatePhone) + '</span></li>'; 1735 } 1736 if(locData.tollFreePhone) { 1737 list += '<li><span class="phoneLabel">Toll Free:</span><span class="phoneNum"> ' + formatPhoneBeforeRender(locData.tollFreePhone) + '</span></li>'; 1738 } 1739 if(locData.mobilePhone) { 1740 list += '<li><span class="phoneLabel">Mobile:</span><span class="phoneNum"> ' + formatPhoneBeforeRender(locData.mobilePhone) + '</span></li>'; 1741 } 1742 if(locData.faxPhone) { 1743 list += '<li><span class="phoneLabel">Fax:</span><span class="phoneNum"> ' + formatPhoneBeforeRender(locData.faxPhone) + '</span></li>'; 1744 } 1745 if(locData.ttyPhone) { 1746 list += '<li><span class="phoneLabel">TTY:</span><span class="phoneNum"> ' + formatPhoneBeforeRender(locData.ttyPhone) + '</span></li>'; 1747 } 1748 1749 if(list.length > 0) { 1750 $(element).find('#' + type + 'List').html(list); 1751 } else if (data.inEditor) { 1752 $(element).html(emptyListPlaceHolder); 1753 } else { 1754 $(element).css('display','none'); 1755 } 1756 1757 emitYextPhoneRenderEvent(formatPhoneBeforeRender(locData.phone)); 1758 1759} 1760 1761var getNumDaysBetween = function(d1, d2) { 1762 var diff = d1.getTime() - d2.getTime(); 1763 return diff / (1000 * 60 * 60 * 24); 1764}; 1765 1766var orderPaymentsList = function(listData) { 1767 1768 if(listData.indexOf('Discover') >= 0) { 1769 listData.splice(listData.indexOf("Discover"), 1); 1770 listData.unshift('Discover'); 1771 } 1772 1773 if(listData.indexOf('American Express') >= 0) { 1774 listData.splice(listData.indexOf("American Express"), 1); 1775 listData.unshift('American Express'); 1776 } 1777 1778 if(listData.indexOf('MasterCard') >= 0) { 1779 listData.splice(listData.indexOf("MasterCard"), 1); 1780 listData.unshift('MasterCard'); 1781 } 1782 1783 if(listData.indexOf('Visa') >= 0) { 1784 listData.splice(listData.indexOf("Visa"), 1); 1785 listData.unshift('Visa'); 1786 } 1787 1788 return listData 1789} 1790 1791var displayImageList = function(type,yextData) { 1792 var list = ""; 1793 var listData = orderPaymentsList(_yextData.entities[0].attributes[type]); 1794 1795 1796 for (var i=0; i< listData.length; i++) { 1797 1798 list += '<img src="' + getImageUrl(listData[i],data.config.cardStyleDarkOrLight) + '" alt="' + listData[i] + '"/>' 1799 } 1800 1801 if(list.length > 0) { 1802 $(element).find('#paymentOptionsImages').html(list) 1803 } else if (data.inEditor) { 1804 $(element).html(emptyListPlaceHolder); 1805 } else { 1806 $(element).css('display','none'); 1807 } 1808 1809 1810 1811} 1812 1813var displaySocialIcons = function(type,yextData) { 1814 var list = ""; 1815 1816 if(yextData.entities[0].attributes.facebookPageUrl) { 1817 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>' 1818 } 1819 if(yextData.entities[0].attributes.twitterHandle) { 1820 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>' 1821 } 1822 if(yextData.entities[0].attributes.instagramHandle) { 1823 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>'
1824 } 1825 1826 if(list.length > 0) { 1827 $(element).find('#socialIcons').html(list); 1828 } else if (data.inEditor) { 1829 $(element).html(emptyListPlaceHolder); 1830 } else { 1831 $(element).css('display','none'); 1832 } 1833 1834 1835} 1836 1837var getImageUrl = function(name,style) { 1838 var cdnPath = 'https://cdn.websites.hibu.com/-resellers-preview/_cc_icons/'; 1839 if(!style) { 1840 style = '_d.svg' 1841 } 1842 if (name === "ZELLE"){ 1843 name = "Zelle" 1844 } 1845 if (name === "Google Pay"){ 1846 name = "Android Pay" 1847 } 1848 if (name === "KLARNA"){ 1849 name = "Klarna" 1850 } 1851 var imageUrl=''; 1852 switch (name) { 1853 case 'Visa': 1854 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 1855 break; 1856 case 'MasterCard': 1857 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 1858 break; 1859 case 'Discover': 1860 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 1861 break; 1862 case 'American Express': 1863 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 1864 break; 1865 case 'Android Pay': 1866 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 1867 break; 1868 case 'Apple Pay': 1869 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 1870 break; 1871 case 'Bitcoin': 1872 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 1873 break; 1874 case 'Cash': 1875 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 1876 break; 1877 case 'Check': 1878 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 1879 break; 1880 case 'Diners Club': 1881 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 1882 break; 1883 case 'Discover': 1884 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 1885 break; 1886 case 'Financing': 1887 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 1888 break; 1889 case 'Invoice': 1890 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 1891 break; 1892 case 'PayPal': 1893 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 1894 break; 1895 case 'Samsung Pay': 1896 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 1897 break; 1898 case "Traveler's Check": 1899 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 1900 break; 1901 case "Zelle": 1902 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 1903 break 1904 case "Klarna": 1905 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 1906 break 1907 } 1908 return imageUrl 1909} 1910 1911function emitYextPhoneRenderEvent(phone) { 1912 var yextPhoneRenderEvent = new CustomEvent('YextPhoneChangeEvent', 1913 { 1914 detail: phone, 1915 bubbles: true, 1916 cancelable: true 1917 }); 1918 1919 document.dispatchEvent(yextPhoneRenderEvent); 1920} 1921 1922var initYextElements = function(yextData,widgetType){ 1923 if (widgetType === 'address' && data.config.drawMap) { 1924 drawMap(yextData); 1925 } else if (widgetType === 'paymentOptions' && data.config.showPaymentsAs === 'paymentIcons') { 1926 displayImageList(widgetType,yextData); 1927 } else if (widgetType === 'phone' && data.config.phoneShowAs === 'list') { 1928 displayPhoneList(widgetType,yextData); 1929 // check for any list type 1930 } else if(widgetType === 'phone' && data.config.phoneShowAs === 'button') { 1931 var phFormatted = formatPhoneBeforeRender(yextData.entities[0].attributes[data.config.phoneType],function(phone) { 1932 $(element).find(".dmButtonLink").html('<span class="text">' + phone + '</span>'); 1933 1934 emitYextPhoneRenderEvent(phone); 1935 1936 }); 1937 } else if(widgetType === 'phone' && data.config.phoneShowAs === 'text') { 1938 var phFormatted = formatPhoneBeforeRender(yextData.entities[0].attributes[data.config.phoneType],function(phone) { 1939 $(element).find('.yextPhoneText').html('<span class="text">' + phone + '</span>'); 1940 1941 emitYextPhoneRenderEvent(phone); 1942 1943 }); 1944 } else if (widgetType === 'services' || widgetType === 'googleAttributesFormatted' || widgetType === 'languages' || widgetType === 'paymentOptions' || widgetType === 'keywords' || widgetType === 'products' || widgetType === 'associations' || widgetType === 'brands') { 1945 setTimeout(function() { 1946 displayTextdList(widgetType,yextData) 1947 },1); 1948 } else if(widgetType === 'specialties') { 1949 setTimeout(function() { 1950 displaySpecialties(yextData) 1951 },1) 1952 }else if (widgetType ==='serviceArea') { 1953 setTimeout(function() { 1954 displayServiceArea(widgetType,yextData,data.config.showServiceAreaFirst) 1955 },1) 1956 } else if (widgetType ==='hours' && data.config.hoursShowAs === 'list' && data.config.isList == false) { 1957 setTimeout(function() { 1958 displayHours(widgetType,yextData) 1959 },1) 1960 } else if (widgetType ==='hours' && data.config.hoursShowAs === 'openHours') { 1961 setTimeout(function() { 1962 displayOpenHours(widgetType,yextData) 1963 },1) 1964 } else if (widgetType === 'social') { 1965 displaySocialIcons(widgetType,yextData); 1966 } else if (widgetType === 'holidayHours') { 1967 setTimeout(function() { 1968 displayHolidayHoursList(widgetType,yextData) 1969 },1); 1970 } else if (widgetType === 'hours') { 1971 //hide hours list if toggle enabled 1972 if(data.config.hideHoursList === true) { 1973 $(element).find('.yextHours').css('display','none'); 1974 } 1975 } else if (widgetType === 'description' || widgetType === 'yearEstablished' || widgetType === 'email' || widgetType === 'name') { 1976 // check 1977 hideIfEmpty(widgetType,yextData) 1978 } 1979 //remove error if script not entered correctly. 1980 $(element).find('.wrongScriptError').removeClass('hasError'); 1981 1982} 1983 1984function hideIfEmpty(type,yextData) { 1985 if(!yextData.entities[0].attributes[type]) { 1986 if(data.inEditor) { 1987 $(element).html(emptyListPlaceHolder); 1988 } else { 1989 $(element).css('display','none'); 1990 } 1991 1992 } 1993} 1994 1995// TODO CHANGE TO EVENT CALL BACK 1996var startIntervalToWaitAndLoadWidgets = function(widgetType) { 1997 //start interval for this specific widget 1998 var intervalCheckYextLoaded = setInterval(function(){ 1999 if (window._yextData) { 2000 clearInterval(intervalCheckYextLoaded); 2001 initYextElements(window._yextData,widgetType); 2002 } 2003 },50) 2004} 2005 2006 2007/* initialization */ 2008if(data.inEditor){ 2009 window.refreshYext && window.refreshYext(); 2010 2011 2012 $(document).ready(function(){ 2013 if(!window.yextInitialized){ 2014 $(element).find('.missingYextWidget').addClass('show'); 2015 } else { 2016 $(element).find('.missingYextWidget').removeClass('show'); 2017 } 2018 }); 2019 2020} else { 2021 dmAPI.runOnReady('yext' , function(){ 2022 loadYext(); 2023 }); 2024 // Before navigating with Ajax, we set the yext initialized to be false so it will be initialized again after the ajax navigation 2025 dmAPI.runBeforeAjaxNavigation('yext', function(){ 2026 window.yextInitialized = false;
2027 }); 2028} 2029 }; 2030</script>
2030 2031
2032<script> 2033 window.customWidgetsFunctions["afd4bc7f907140298e111130d715031d~99"] = function (element, data, api) { 2034 let HasOpenedMenu = false; 2035 2036$(document).ready(function() { 2037 displayType(); 2038}); 2039 2040function displayType() { 2041 if(isMobile()) { 2042 displayMobile(); 2043 } else { 2044 displayDesktop(); 2045 } 2046} 2047 2048function displayMobile() { 2049 var masterFabEle = $(element).find('#masterfab'); 2050 $('#main-container').empty().append(getSvg(data.config.MobileMain)); 2051 2052 $(masterFabEle).attr('class', 'fab master-mobile');// add mobile class for custom style 2053 2054 $(masterFabEle).css('display', 'flex'); //since element is hidden by default, show instead 2055 2056 // set the text alignment var here for use below (update BSR:20200421) 2057 var moText = (data.config.MobileOrientation === 'left') ? 'bsrRightText' : 'leftText'; 2058 2059 // add items with or without overlay and label text 2060 if(data.config.MobileLayout === 'Full') { 2061 $('.mobile-bg').after(getItems(moText)); 2062 } 2063 else { 2064 $('.mobile-bg').after(getItems()); 2065 } 2066 2067 mobileTheme(); // add light or dark theme 2068 bsrIconResize(); // makes a custom icon resizable (update BSR:20200529) 2069 bsrMobileOrientation(); // positions menu left or right (update BSR:20200421) 2070 addListener(); 2071 2072 if (typeof fbq === "function") { // this makes sure that fbq is on the page 2073 addPixelListener(); // Facebook Pixel conversion tracking (update BSR:20200422) 2074 } 2075 addChatListener(); // Add chat script injection (update BSR:20200526) 2076
2077 // add focus animation 2078 if(data.config.FocusAni) animateFocus(); 2079} 2080function displayDesktop() { 2081 var masterFabEle = $(element).find('#masterfab'); 2082 $(masterFabEle).css('display', 'flex'); //since element is hidden by default, show instead 2083 if(data.config.DesktopLayout === 'Bar') { 2084 $('#main-container').empty().append(getSvg(data.config.DeskMain)); 2085 $(masterFabEle).append(getItems('rightText')); 2086 } 2087 else { 2088 $('#float-container').empty().append(getItems('rightText', true)); 2089 } 2090 desktopType(); 2091 bsrIconResize(); // makes a custom icon resizable (update BSR:20200529) 2092 addListener(); 2093 2094 if (typeof fbq === "function") { // this makes sure that fbq is on the page 2095 addPixelListener(); // Facebook Pixel conversion tracking (update BSR:20200422) 2096 } 2097 addChatListener(); // Add chat script injection (update BSR:20200526) 2098 2099 // add focus animation 2100 if(data.config.FocusAni) animateFocus(); 2101} 2102// handles style changes for desktop types 2103function desktopType() { 2104 $('#masterfab').attr('class', 'fab master-desktop'); // add desktop class for styling 2105 $('.icon-container').addClass('desktop'); 2106 if(data.config.DesktopLayout === 'Bar') { 2107 $('.menu-link').addClass('desk-bar'); // add class for fixed bar text 2108 $('.child').attr('class', 'fab child child-desktop-bar'); 2109 2110 const masterLabel = '<span id="master-label">'+data.config.MainLabel+'</span>'; 2111 $('#master-label').remove(); 2112 $('#masterfab').append(masterLabel); 2113 2114 $('#masterfab').addClass('master-bar'); 2115 } else if(data.config.DesktopLayout === 'Float') { 2116 $('#masterfab').hide(); 2117 } 2118} 2119// styles light and dark mobile themes 2120function mobileTheme() { 2121 $('.child').attr('class', 'fab child child-mobile'); 2122 if(data.config.MobileTheme === 'Light') { 2123 $('.overlay, .child, .social-icon, .icon-container, .mobile-bg, social-bg, .menu-link').addClass('mobile light'); 2124 } 2125 else if(data.config.MobileTheme === 'Dark') { 2126 $('.overlay, .child, .social-icon, .icon-container, .mobile-bg, social-bg, .menu-link').addClass('mobile dark'); 2127 } 2128} 2129// adds the menu to the left or right of the mobile screen (update BSR:20200421) 2130function bsrMobileOrientation() { 2131 if(data.config.MobileOrientation === 'left') { 2132 $('.fab.master-mobile, .child.mobile').addClass('bsr-left'); 2133 } 2134 else { 2135 $('.fab.master-mobile, .child.mobile').removeClass('bsr-left'); 2136 } 2137} 2138 2139/* 2140 Previous implementation places custom icons in a new <div> 2141 I found this to be inconsistent in resizing so the function 2142 adds the appropriate class directly to the svg element 2143 (update BSR:20200529) 2144*/ 2145function bsrIconResize() { 2146 customIcons = $(element).find('.custom-user-icon'); 2147 if(customIcons.length > 0) { 2148 $.each(customIcons, function(i, cicon) { 2149 var classList = $(cicon).attr('class').split(/\s+/); 2150 $.each(classList, function(index, item) { 2151 if(item != 'custom-user-icon') { 2152 $( "." + item + " > svg" ).addClass(item); // add the calling class to the child svg element directly 2153 $( "." + item + " > svg" ).unwrap(); // remove the parent div 2154 } 2155 }); 2156 }); 2157 } 2158} 2159 2160 2161// adds click or hover listeners 2162function addListener() { 2163 // add listener and animation for floating icons hover animation 2164 if(!isMobile() && data.config.DesktopLayout === 'Float') animateFloat('.float-container', 300); 2165 // click handlers for desktop bar and mobile options 2166 else { 2167 $("#conversion-menu-container").off('click', '.fab,.overlay'); 2168 $("#conversion-menu-container").on('click', '.fab,.overlay', function(){ 2169 HasOpenedMenu = true; 2170 $('.animation').remove(); // remove any animations we have 2171 if(isMobile()) { 2172 animateIcons('overlay'); 2173 data.config.MobileLayout === 'Full'? animateBg('.mobile-bg') : ''; 2174 } else { // bar desktop 2175 animateIcons('helpText'); 2176 animateBg('.desktop-bg'); 2177 } 2178 }); 2179 } 2180} 2181 2182// listens for share button click and triggers response 2183function addShareListener() { 2184 $("#conversion-menu-container").off('click', '.share'); 2185 $(".share").on('click', function() { 2186 // console.log('share clicked modal should open'); 2187 MicroModal.show('social-modal-menu'); 2188 });
2189} 2190function addPixelListener() { 2191 $('.bsr-menulink').click(function() { 2192 var eventName = $(this).data('eventname'); 2193 if(!eventName) { 2194 fbq('track', 'Contact'); 2195 } else { 2196 fbq('trackCustom', eventName); 2197 } 2198 }); 2199} 2200function addChatListener() { 2201 $(".bsr-chat").on('click', function() { 2202 $("#chat-script").remove(); // Get rid of any chat-script on the page 2203 $.each(data.config.IconList, function(index,value){ 2204 if(value.hasOwnProperty('ChatScript')) 2205 { 2206 var cscript = value.ChatScript; 2207 // Check if the script is a src or raw script 2208 // Changed mind and wanted to input
2208<script> tags so this is saved for posterity 2209 /* 2210 var re = new RegExp('^(?:[a-z]+:)?//', 'i'); // non case-sensitive, protocol-agnostic 2211 if (re.test(cscript)) { 2212 $('body').append('
2212<script async="async" src="' + cscript + '" type="text/javascript" id="chat-script"><\/script>'); 2213 return false; // break out of the $.each() on first occurence 2214 } else { 2215 $('body').append('
2215<script type="text/javascript" id="chat-script">' + cscript + '<\/script>'); 2216 return false; // break out of the $.each() on first occurence 2217 } 2218 */ 2219 $('body').append(cscript); 2220 } 2221 }); 2222 }); 2223} 2224// 2225// ANIMATIONS 2226// 2227function animateFocus() { 2228 $('.animation').remove(); //in case already in DOM 2229 if(!HasOpenedMenu) { 2230 if(isMobile()) { 2231 const pulse = '<div class="pulse2 animation"/><div class="pulse animation"/>'; 2232 setTimeout(function() { 2233 $('#masterfab').append(pulse); 2234 }, +data.config.FocusDelay); 2235 } 2236 // desktop 2237 else { 2238 data.config.DesktopLayout === 'Float'? 2239 animateFloatFocus() : animateBarFocus(); 2240 } 2241 } 2242} 2243function animateFloatFocus() { 2244 if($('.focus')[0]) { 2245 const id = $('.focus')[0].id; 2246 setTimeout(function() { 2247 $('#'+id).css('max-width', ''); 2248 $('#'+id).addClass('slide-pulse'); 2249 }, +data.config.FocusDelay); 2250 } 2251} 2252// opens fixed bar on desktop after set interval 2253function animateBarFocus() { 2254 if(!$(".desktop-bg").is(":visible")) { 2255 setTimeout(function() { 2256 animateIcons('helpText'); 2257 animateBg('.desktop-bg'); 2258 }, +data.config.FocusDelay); 2259 } 2260} 2261// adds hover listeners and animates floating icons on desktop 2262function animateFloat(selector, dur) { 2263 $("#float-container").off("mouseenter", selector); 2264 $("#float-container").on("mouseenter", selector, function(event) { 2265 // console.log('float mouse enter'); 2266 HasOpenedMenu = true; 2267 var id = $(this)[0].id; 2268 // cancel animation on hover 2269 data.config.FocusAni? $('#'+id).removeClass('slide-pulse') : 0; 2270 2271 $('#text-'+id).fadeIn(); 2272 $('#float-text-'+id).fadeIn(dur).css("display","inline-flex"); 2273 $('#'+id).stop().animate({ 2274 "max-width": "200px", 2275 }, dur); 2276 }); 2277 2278 $("#float-container").off("mouseleave", selector); 2279 $("#float-container").on("mouseleave", selector, function(event) { 2280 // console.log('float mouse leave'); 2281 var id = $(this)[0].id; 2282 $('#text-'+id).fadeOut(dur); 2283 $('#'+id).stop().animate({ 2284 "max-width": "42.666px", 2285 }, dur); 2286 }); 2287} 2288// animates icons slide up and transparent overlay(depending on showType) 2289function animateIcons(showType) { 2290 if($(".overlay").is(":visible") || $(".desktop-bg").is(":visible")) { 2291 if(showType === 'overlay') $('.overlay').fadeOut(125); 2292 else if(showType === 'helpText') $('#help-text').fadeOut(125); 2293 2294 // add plus icon back 2295 $('#main-container').empty().append(getSvg(data.config.MobileMain)); 2296 2297 $('.fab.child').stop().animate({ 2298 bottom : $('#masterfab').css('bottom'), 2299 opacity : 0 2300 }, 125, function() { 2301 $(this).hide(); 2302 }); 2303 } else { 2304 if(showType === 'overlay') $('.overlay').fadeIn(125); 2305 else if(showType === 'helpText') $('#help-text').fadeIn(125); 2306 2307 // add close icon on mobile only 2308 if(isMobile()) $('#main-container').empty().append(getSvg('close')); 2309 $(".fab.child").each(function(){ 2310 $(this).stop().show().animate({ 2311 bottom : (parseInt($("#masterfab").css("bottom")) + parseInt($("#masterfab").outerHeight() + 20) + 56 * $(this).data("subitem") - $(".fab.child").outerHeight()) + "px", 2312 opacity : 1 2313 }, 125); 2314 }); 2315 } 2316} 2317// adds overlay that slides up 2318function animateBg(selector) { 2319 if($(selector).is(":visible")) { 2320 $('#main-container').removeClass('open'); 2321 $("#masterfab.fab.master-mobile").removeClass('mobile-open') 2322 var mainIcon = data.config.DeskMain 2323 // revert to default main icon style 2324 if(isMobile()) { 2325 mainIcon = data.config.MobileMain; 2326 $('#masterfab').css({'background': '', 'box-shadow': ''}); // restore default 2327 } 2328 $('#main-container').empty().append(getSvg(mainIcon)); 2329 2330 $('.menu-link, .child').hide(); 2331 // slide down to cloes 2332 $(selector).stop().animate({ 2333 height : 0, 2334 opacity : 0 2335 }, 125, function(){ 2336 $(this).hide(); 2337 }); 2338 } else { 2339 $('#main-container').addClass('open'); 2340 $("#masterfab.fab.master-mobile").addClass('mobile-open') 2341 var topArea = 100; 2342 if(isMobile()) { 2343 $('#masterfab').css({'background': 'none', 'box-shadow': 'none'}); // make icon flat 2344 $('#main-container').empty().append(getSvg('close')); // add x icon 2345 } 2346 else if(data.config.DesktopLayout === 'Bar') { 2347 // hack to get height of bar help text before it's visible 2348 $(selector).css({'position':'absolute','visibility':'hidden', 'display':'block'});
2349 topArea = $("#help-text").height()? $("#help-text").height() + 60 : 40; 2350 $(selector).removeAttr('style'); 2351 } 2352 2353 // slide up to open 2354 $(selector).stop().show().animate({ 2355 height : (((data.config.IconList.length+1) * 56) + topArea) + "px", 2356 opacity : 1 2357 },125, function() { 2358 $('.menu-link').fadeIn(125); 2359 $(selector).css("display","flex") 2360 }); 2361 } 2362} 2363function getItems(type, float) { 2364 $('.child').remove(); // remove any items already in DOM 2365 var html = '', label = '', icon = '', text = ''; 2366 var items = float? data.config.IconList : data.config.IconList.reverse(); 2367 items.forEach(function(item, index) { 2368 2369 if(item.showonmobile==true && data.device === 'mobile'){ 2370 index = index+1; 2371 if(type === 'rightText'){ 2372 label = '<span class="right-text">' + item.Label + '</span>'; 2373 } 2374 if(type === 'leftText') { 2375 label = '<span class="left-text">' + item.Label + '</span>'; 2376 } 2377 if(type === 'bsrRightText') { 2378 label = '<span class="bsr-right-text">' + item.Label + '</span>'; 2379 } 2380 2381 2382 2383 icon = '<span class="icon-container">'+getItemIcon(item)+'</span>'; 2384 html += 2385 '<div class="fab child" id="child-'+index+'" data-subitem="'+index+'"> \ 2386 '+getItemAction(item, icon+label)+' \ 2387 </div>'; 2388 2389 if(item.Action === 'Share') { 2390 $.getScript('https://cdn.jsdelivr.net/npm/micromodal/dist/micromodal.min.js', function() { 2391 MicroModal.init(); 2392 $('.share-container').html(getSocialItems(item)); // add social icons to modal 2393 addShareListener(); // if social sharing enabled add click handler 2394 }); 2395 } 2396 } 2397 2398 else if(item.showondesktop==true && (data.device === 'desktop' || data.device === 'tablet') ){ 2399 2400 if(type === 'rightText'){ 2401 label = '<span class="right-text">' + item.Label + '</span>'; 2402 } 2403 if(type === 'leftText') { 2404 label = '<span class="left-text">' + item.Label + '</span>'; 2405 } 2406 if(!float) { 2407 icon = '<span class="icon-container">'+getItemIcon(item)+'</span>'; 2408 html += 2409 '<div class="fab child" id="child-'+index+'" data-subitem="'+index+'"> \ 2410 '+getItemAction(item, icon+label)+' \ 2411 </div>'; 2412 } 2413 // floating icons on desktop only 2414 else { 2415
2416 // add focus class for focus animation 2417 label = item.Label; 2418 var focusClass = item.Animate? 'focus' : ''; 2419 icon = '<span class="icon-container">'+getItemIcon(item)+'</span>'; 2420 text = '<span class="float-text" id="text-'+index+'">'+label+'</span>'; 2421 html += 2422 '<div class="float-container '+focusClass+'" id="'+index+'"> \ 2423 <span class="fab child float" id="child-'+index+'" data-subitem="'+index+'" style="display: inline-flex;"> \ 2424 '+getItemAction(item, icon)+' \ 2425 </span> \ 2426 <span class="float-text-container" id="float-text-'+index+'"> \ 2427 '+getItemAction(item, text)+' \ 2428 </span> \ 2429 </div>'; 2430 } 2431 // if action is share add share items to modal 2432 if(item.Action === 'Share') { 2433 $.getScript('https://cdn.jsdelivr.net/npm/micromodal/dist/micromodal.min.js', function() { 2434 MicroModal.init(); 2435 $('.share-container').html(getSocialItems(item)); // add social icons to modal 2436 addShareListener(); // if social sharing enabled add click handler 2437 }); 2438 } 2439 } 2440 }); 2441 return html; 2442} 2443function getSocialItems(item) { 2444 let html = ''; 2445 const content = getShareContent(item); 2446 if(item.Email) html += getShareHtml('Email', content.link, content.title, 'Tab', 'social'); 2447 if(item.Facebook) html += getShareHtml('Facebook', content.link, content.title, 'Tab', 'social'); 2448 if(item.Tumblr) html += getShareHtml('Tumblr', content.link, content.title, 'Tab', 'social'); 2449 if(item.LinkedIn) html += getShareHtml('LinkedIn', content.link, content.title, 'Tab', 'social'); 2450 if(item.Twitter) html += getShareHtml('Twitter', content.link, content.title, 'Tab', 'social'); 2451 if(item.Reddit) html += getShareHtml('Reddit', content.link, content.title, 'Tab', 'social'); 2452 //if(item.GooglePlus) html += getShareHtml('GooglePlus', content.link, content.title, 'Tab', 'social'); 2453 if(item.Pinterest) html += getShareHtml('Pinterest', content.link, content.title, 'Tab', 'social'); 2454 return html; 2455} 2456 2457// 2458// Social Share Functions 2459// 2460function getShareContent(item) { 2461 // set link to the current page url 2462 let link = item.ShareLink? item.Link.href : window.top.location.href; 2463 link = encodeURI(link); 2464 2465 // get default page title from the actual page title 2466 const pageTitle = item.ShareTitle? item.ShareTitle : document.title; 2467 const encodedTitle = encodeURI(pageTitle); 2468 2469 return {link: link, title: encodedTitle}; 2470} 2471function getShareHtml(site, link, encodedTitle, action, linkClass) { 2472 let href = ''; 2473 switch(site) { 2474 case 'Email': 2475 href = "mailto:?Subject="+encodedTitle+"&body=Check out this site: "+window.location.href; 2476 2477 statsEventName = 'CM_SHARE_EMAIL'; 2478 return ( 2479 '<div class="social-icon" style="background-color: grey;"> \ 2480 <a href="'+href+'" class="'+linkClass+'" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');;"> \ 2481 '+getSvg('shareenvelope')+' \ 2482 </a> \ 2483 </div>'); 2484 case 'Facebook': 2485 href = 'https://www.facebook.com/sharer/sharer.php?u='+link; 2486 statsEventName = 'CM_SHARE_FB'; 2487 return ( 2488 '<div class="social-icon" style="background-color: #3b5998;"> \ 2489 <a href="'+href+'" class="'+linkClass+'" target="_blank" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');"> \ 2490 '+getSvg('facebook')+' \ 2491 </a> \ 2492 </div>'); 2493 case 'Tumblr': 2494 href = 'http://tumblr.com/share/link?url='+link+'&name='+encodedTitle; 2495 return ( 2496 '<div class="social-icon" style="background-color: #35465c;"> \ 2497 <a href="'+href+'" class="'+linkClass+'" target="_blank" > \ 2498 '+getSvg('tumblr')+' \ 2499 </a> \ 2500 </div>'); 2501 case 'LinkedIn': 2502 href = 'http://www.linkedin.com/shareArticle?mini=true&url='+link+'&title='+encodedTitle; 2503 statsEventName = 'CM_SHARE_LINKEDIN'; 2504 return ( 2505 '<div class="social-icon" style="background-color: #4875B4;"> \ 2506 <a href="'+href+'" class="'+linkClass+'" target="_blank" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');"> \ 2507 '+getSvg('linkedIn')+' \ 2508 </a> \ 2509 </div>'); 2510 case 'Twitter': 2511 href = 'https://twitter.com/intent/tweet?text='+link; 2512 statsEventName = 'CM_SHARE_TWITTER'; 2513 return ( 2514 '<div class="social-icon" style="background-color: #000000;"> \ 2515 <a href="'+href+'" class="'+linkClass+'" target="_blank" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');"> \ 2516 '+getSvg('twitter')+' \ 2517 </a> \ 2518 </div>'); 2519 case 'Reddit': 2520 href = 'http://www.reddit.com/submit?url='+link+'&title='+encodedTitle+'&text='+encodedTitle; 2521 return ( 2522 '<div class="social-icon" style="background-color: #ff4500;"> \ 2523 <a href="'+href+'" class="'+linkClass+'" target="_blank"> \ 2524 '+getSvg('reddit')+' \ 2525 </a> \ 2526 </div>'); 2527 /* case 'GooglePlus': 2528 href = 'https://plus.google.com/share?url='+link; 2529 statsEventName = 'CM_SHARE_GOOGLE_PLUS'; 2530 return ( 2531 '<div class="social-icon" style="background-color: #d34836;"> \ 2532 <a href="'+href+'" class="'+linkClass+'" target="_blank" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');"> \ 2533 '+getSvg('gPlus')+' \ 2534 </a> \ 2535 </div>'); */ 2536 case 'Pinterest': 2537 href = 'http://pinterest.com/pin/create/button/?url='+link+'&description='+encodedTitle; 2538 return ( 2539 '<div class="social-icon" style="background-color: #cb2027;"> \ 2540 <a href="'+href+'" class="'+linkClass+'" target="_blank"> \ 2541 '+getSvg('pinterest')+' \ 2542 </a> \ 2543 </div>'); 2544 default: 2545 return ''; 2546 } 2547} 2548 2549// 2550// Helpers 2551// 2552// check display type 2553function isMobile() { 2554 return data.device === 'mobile'; 2555} 2556function getItemAction(item, elem) { 2557 var statsEventName=''; 2558 switch(item.Action) { 2559 case 'Link': 2560 if(!item.Link) item.Link = { target: 'target="_blank', href: 'http://www.google.com' } // default link 2561 var target = item.Link.target? item.Link.target : ''; 2562 var statsEventName = 'CM_LINK_CLICK'; 2563 return '<a '+target+' href="'+item.Link.href+'" class="menu-link bsr-menulink" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');">
2563'+elem+'</a>'; 2564 case 'Call': 2565 statsEventName = 'CM_CLICK_TO_CALL'; 2566 return '<a href="tel:'+item.CallNum+'" class="menu-link bsr-menulink" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');">'+elem+'</a>'; 2567 case 'Sms': 2568 statsEventName = 'CM_CLICK_TO_SMS'; 2569 return '<a href="sms:'+item.SmsNum+'" class="menu-link bsr-menulink" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');">'+elem+'</a>'; 2570 case 'Email': 2571 statsEventName = 'CM_CLICK_TO_EMAIL'; 2572 return '<a href="mailto:'+item.EmailAddr+'?subject='+item.emailDefSubject + '&body=' + item.defEmailBody + '" target="_blank" class="menu-link bsr-menulink" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');">'+elem+'</a>'; 2573 case 'Map': 2574 statsEventName = 'CM_DIRECTION'; 2575 return '<a target="_blank" href="https://www.google.com/maps?q='+item.Query+'" class="menu-link bsr-menulink" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');" data-eventname="Find Location">'+elem+'</a>'; 2576 case 'Mess': 2577 statsEventName = 'CM_FB_MESSAGE'; 2578 return '<a href="http://m.me/'+item.FbUser+'" class="menu-link bsr-menulink" target="_blank" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');">'+elem+'</a>'; 2579 case 'Share': 2580 return '<a href="#" class="menu-link share bsr-menulink">'+elem+'</a>'; 2581 case 'Chat': 2582 return '<a href="#" class="menu-link bsr-chat bsr-menulink">'+elem+'</a>'; 2583 default: 2584 return ''; 2585 } 2586} 2587// returns new default icon only if icon is default (identified by path data in default svg MUST CHANGE FOR DIFFERENT DEFAUTL) 2588function xgetItemIcon(item) { 2589 // icon is default 2590 if(item.CustomIcon) { 2591 return '<div class="new-container">'+item.Icon+'</div>'; 2592 } else { 2593 switch(item.Action) { 2594 case 'Link': 2595 return getSvg('link'); 2596 case 'Call': 2597 return getSvg('phone'); 2598 case 'Sms': 2599 return getSvg('sms'); 2600 case 'Email': 2601 return getSvg('envelope'); 2602 case 'Mess': 2603 return getSvg('messenger'); 2604 case 'Map': 2605 return getSvg('map'); 2606 case 'Share': 2607 return getSvg('share'); 2608 } 2609 } 2610} 2611 2612/* --------------------- */ 2613function getItemIcon(item) { 2614 var lcase = item.Action.toLowerCase(); 2615 2616 if(item.CustomIcon) { 2617 switch(item.CustomIcon_Select) { 2618 case 'custom_icon1': 2619 // return '<div class="'+lcase+'-icon-prev custom-user-icon ' + item.CustomIcon_Select + '">' + data.config.custom_icon1 + '</div>'; 2620 return '<div class="custom-user-icon ' + item.CustomIcon_Select + '">' + data.config.custom_icon1 + '</div>'; 2621 case 'custom_icon2': 2622 return '<div class="custom-user-icon ' + item.CustomIcon_Select + '">' + data.config.custom_icon2 + '</div>'; 2623 case 'custom_icon3': 2624 return '<div class="custom-user-icon ' + item.CustomIcon_Select + '">' + data.config.custom_icon3 + '</div>'; 2625 case 'custom_icon4': 2626 return '<div class="custom-user-icon ' + item.CustomIcon_Select + '">' + data.config.custom_icon4 + '</div>'; 2627 case 'custom_icon5': 2628 return '<div class="custom-user-icon ' + item.CustomIcon_Select + '">' + data.config.custom_icon5 + '</div>'; 2629 case 'custom_icon6': 2630 return '<div class="custom-user-icon ' + item.CustomIcon_Select + '">' + data.config.custom_icon6 + '</div>'; 2631 } 2632 } else { 2633 switch(item.Action) { 2634 case 'Link': 2635 return getSvg('link'); 2636 case 'Call': 2637 return getSvg('phone'); 2638 case 'Sms': 2639 return getSvg('sms'); 2640 case 'Email': 2641 return getSvg('envelope'); 2642 case 'Mess': 2643 return getSvg('messenger'); 2644 case 'Map': 2645 return getSvg('map'); 2646 case 'Share': 2647 return getSvg('share'); 2648 case 'Chat': 2649 return getSvg('chat'); 2650 } 2651 } 2652} 2653/* --------------------- */ 2654 2655window._trackConvWidgetClickEvent = function(eventName) { 2656 if(typeof(HAF)==="object"){ 2657 HAF.OmTracking.onCMClick(eventName) 2658 } 2659 return; 2660} 2661 2662function dudaicon(icon){ 2663 return '<span class="new-container">'+icon+'</span>' 2664 2665 2666} 2667function xgetSvg(name) { 2668 const type = name? name : data.config.DeskMain; 2669 switch(type) { 2670 case 'vEllipsis': 2671 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>'; 2672 case 'map': 2673 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>' 2674 case 'hEllipsis': 2675 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>'; 2676 case 'plus': 2677 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>'; 2678 case 'bars': 2679 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>'; 2680 case 'envelope': 2681 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
268179-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>'; 2682 case 'shareenvelope': 2683 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>'; 2684 case 'phone': 2685 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>'; 2686 case 'close': 2687 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>'; 2688 case 'facebook': 2689 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>'; 2690 case 'messenger': 2691 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>' 2692 case 'tumblr': 2693 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>'; 2694 case 'linkedIn': 2695 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>'; 2696 case 'twitter': 2697 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>'; 2698 case 'reddit': 2699 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
269917.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>'; 2700 case 'pinterest': 2701 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>'; 2702 case 'share': 2703 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>'; 2704 case 'sms': 2705 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>'; 2706 case 'link': 2707 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>'; 2708 default: 2709 return ''; 2710 } 2711} 2712function getSvg(name) { 2713 const type = name? name : data.config.DeskMain; 2714 switch(type) { 2715 case 'vEllipsis': 2716 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>'; 2717 case 'map': 2718 return '<svg class="map-icon" 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>' 2719 case 'hEllipsis': 2720 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>'; 2721 case 'plus': 2722 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>'; 2723 case 'bars': 2724 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>'; 2725 case 'envelope': 2726 return '<svg class="email-icon" 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
272679-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>'; 2727 case 'shareenvelope': 2728 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>'; 2729 case 'phone': 2730 return '<svg class="call-icon" 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>'; 2731 case 'close': 2732 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>'; 2733 case 'facebook': 2734 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>'; 2735 case 'messenger': 2736 return '<svg class="mess-icon" 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>' 2737 case 'tumblr': 2738 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>'; 2739 case 'linkedIn': 2740 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>'; 2741 case 'twitter': 2742 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>'; 2743 case 'reddit': 2744 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
274417.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>'; 2745 case 'pinterest': 2746 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>'; 2747 case 'share': 2748 return '<svg class="share-icon" 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>'; 2749 case 'sms': 2750 return '<svg class="sms-icon" 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>'; 2751 case 'link': 2752 return '<svg class="link-icon" 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>'; 2753 case 'chat': 2754 // return '<svg class="chat-icon" 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>'; 2755 return '<svg class="chat-icon" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><g><path d="m460.747 439.163c89.119-102.791 58.111-262.592-63.094-324.93-35.004-67.784-105.754-114.233-187.153-114.233-116.064 0-210.488 94.43-210.488 210.5 0 51.099 18.088 99.427 51.237 137.663l-46.774 46.16c-9.48 9.357-2.913 25.612 10.465 25.677l112.956.538c38.925 56.641 103.228 91.462 173.6 91.462.144 0 195.446-.999 195.561-1 13.333-.064 19.975-16.29 10.464-25.677zm-377.985-101.146c-34.017-34.08-52.752-79.367-52.752-127.517 0-99.528 80.968-180.5 180.49-180.5s180.49 80.972 180.49 180.5c0 95.373-75.473 181.269-186.343 180.403l-153.258-.73 31.293-30.882c5.918-5.842 5.953-15.389.08-21.274zm218.734 143.983c-52.634 0-101.557-22.489-135.565-61.281 57.104.376 41.945.281 44.569.281 135.402 0 236.506-127.009 204.689-259.617 82.966 67.774 89.761 191.779 14.045 267.634-5.874 5.885-5.838 15.433.08 21.274l31.293 30.882c-.119 0-158.995.827-159.111.827z"/><path d="m121.005 166h179.99c8.284 0 14.999-6.716 14.999-15s-6.715-15-14.999-15h-179.99c-8.284 0-14.999 6.716-14.999 15s6.716 15 14.999 15z"/><path d="m121.005 226h179.99c8.284 0 14.999-6.716 14.999-15s-6.715-15-14.999-15h-179.99c-8.284 0-14.999 6.716-14.999 15s6.716 15 14.999 15z"/><path d="m121.005 286h179.99c8.284 0 14.999-6.716 14.999-15s-6.715-15-14.999-15h-179.99c-8.284 0-14.999 6.716-14.999 15s6.716 15 14.999 15z"/></g></svg>'; 2756 default: 2757 return ''; 2758 } 2759} 2760 2761 }; 2762</script>
2762 2763 2764
2765<script type="text/javascript"> 2766 2767 var d_version = "production_6797"; 2768 var build = "2026-09-23T12_48_58"; 2769 window['v' + 'ersion'] = d_version; 2770 2771 function buildEditorParent() { 2772 window.isMultiScreen = true; 2773 window.editorParent = {}; 2774 window.previewParent = {}; 2775 window.assetsCacheQueryParam = "?version=2026-09-23T12_48_58"; 2776 try { 2777 var _p = window.parent; 2778 if (_p && _p.document && _p.$ && _p.$.dmfw) { 2779 window.editorParent = _p; 2780 } else if (_p.isSitePreview) { 2781 window.previewParent = _p; 2782 } 2783 } catch (e) { 2784 2785 } 2786 } 2787 2788 buildEditorParent(); 2789</script>
2789 2790 2791 2792<!-- Load jQuery --> 2793
2794<script type="text/javascript" id='d-js-jquery' 2795 src="https://static-res-cdn.websites.hibu.com/libs/jquery/jquery-3.7.0.min.js"></script>
2795 2796 2797<!-- End Load jQuery --> 2798 2799 2800<!-- Injecting site-wide before scripts --> 2801 2802<!-- End Injecting site-wide to the head --> 2803 2804 2805
2806<script> 2807 var _jquery = window.$; 2808 2809 var jqueryAliases = ['$', 'jquery', 'jQuery']; 2810 2811 jqueryAliases.forEach((alias) => { 2812 Object.defineProperty(window, alias, { 2813 get() { 2814 return _jquery; 2815 }, 2816 set() { 2817 console.warn("Trying to over-write the global jquery object!"); 2818 } 2819 }); 2820 }); 2821 window.jQuery.migrateMute = true; 2822</script>
2822 2823 2824 2825 2826
2827<script> 2828 window.cookiesNotificationMarkupPreview = 'null'; 2829</script>
2829 2830 2831<!-- HEAD RT JS Include -->
2832<script id='d-js-params'> 2833 window.INSITE = window.INSITE || {}; 2834 window.INSITE.device = "desktop"; 2835 2836 window.rtCommonProps = {}; 2837 rtCommonProps["rt.ajax.ajaxScriptsFix"] =true; 2838 rtCommonProps["rt.pushnotifs.sslframe.encoded"] = 'aHR0cHM6Ly97c3ViZG9tYWlufS5wdXNoLW5vdGlmcy5jb20='; 2839 rtCommonProps["runtimecollector.url"] = 'https://rtc.hibuwebsites.com'; 2840 rtCommonProps["performance.tabletPreview.removeScroll"] = 'false'; 2841 rtCommonProps["inlineEditGrid.snap"] =true; 2842 rtCommonProps["popup.insite.cookie.ttl"] = '0.5'; 2843 rtCommonProps["rt.pushnotifs.force.button"] =true; 2844 rtCommonProps["common.mapbox.token"] = 'pk.eyJ1IjoiZGFubnliMTIzIiwiYSI6ImNqMGljZ256dzAwMDAycXBkdWxwbDgzeXYifQ.Ck5P-0NKPVKAZ6SH98gxxw'; 2845 rtCommonProps["common.mapbox.js.override"] =false; 2846 rtCommonProps["common.here.appId"] = 'iYvDjIQ2quyEu0rg0hLo'; 2847 rtCommonProps["common.here.appCode"] = '1hcIxLJcbybmtBYTD9Z1UA'; 2848 rtCommonProps["isCoverage.test"] =false; 2849 rtCommonProps["ecommerce.ecwid.script"] = 'https://app.multiscreenstore.com/script.js'; 2850 rtCommonProps["common.resources.dist.cdn"] =true; 2851 rtCommonProps["common.build.dist.folder"] = 'production/6797'; 2852 rtCommonProps["common.resources.cdn.host"] = 'https://static-res-cdn.websites.hibu.com'; 2853 rtCommonProps["common.resources.folder"] = 'https://static-res-cdn.websites.hibu.com/mnlt/production/6797'; 2854 rtCommonProps["common.fonts.api.v2.url"] = 'https://cdn.hibuwebsites.com/fonts/css2?family='; 2855 rtCommonProps["feature.flag.runtime.backgroundSlider.preload.slowly"] =true; 2856 rtCommonProps["feature.flag.runtime.newAnimation.enabled"] =true; 2857 rtCommonProps["feature.flag.runtime.newAnimation.jitAnimation.enabled"] =true; 2858 rtCommonProps["feature.flag.sites.google.analytics.gtag"] =true; 2859 rtCommonProps["feature.flag.runOnReadyNewTask"] =true; 2860 rtCommonProps["isAutomation.test"] =false; 2861 rtCommonProps["booking.cal.api.domain"] = 'api.cal.com'; 2862 2863 2864 rtCommonProps['common.mapsProvider'] = 'mapbox'; 2865 2866 rtCommonProps['common.mapsProvider.version'] = '0.52.0'; 2867 rtCommonProps['common.geocodeProvider'] = 'mapbox'; 2868 rtCommonProps['server.for.resources'] = ''; 2869 rtCommonProps['feature.flag.lazy.widgets'] = true; 2870 rtCommonProps['feature.flag.single.wow'] = false; 2871 rtCommonProps['feature.flag.disallowPopupsInEditor'] = true; 2872 rtCommonProps['feature.flag.mark.anchors'] = true; 2873 rtCommonProps['captcha.public.key'] = '6LffcBsUAAAAAMU-MYacU-6QHY4iDtUEYv_Ppwlz'; 2874 rtCommonProps['captcha.invisible.public.key'] = '6LeiWB8UAAAAAHYnVJM7_-7ap6bXCUNGiv7bBPME'; 2875 rtCommonProps["images.sizes.small"] =160; 2876 rtCommonProps["images.sizes.mobile"] =640; 2877 rtCommonProps["images.sizes.tablet"] =1280; 2878 rtCommonProps["images.sizes.desktop"] =1920; 2879 rtCommonProps["modules.resources.cdn"] =true; 2880 rtCommonProps["import.images.storage.imageCDN"] = 'https://le-cdn.hibuwebsites.com/'; 2881 rtCommonProps["feature.flag.runtime.inp.threshold"] =150; 2882 rtCommonProps["feature.flag.performance.logs"] =false; 2883 rtCommonProps["site.widget.form.captcha.type"] = 'g_recaptcha'; 2884 rtCommonProps["friendly.captcha.site.key"] = 'FCMGSQG9GVNMFS8K'; 2885 rtCommonProps["cookiebot.mapbox.consent.category"] = 'marketing'; 2886 rtCommonProps["termly.mapbox.consent.category"] = 'performance'; 2887 // feature flags that's used out of runtime module (in legacy files) 2888 rtCommonProps["platform.monolith.personalization.dateTimeCondition.popupMsgAction.moveToclient.enabled"] =true; 2889 2890 window.rtFlags = {}; 2891 rtFlags["unsuspendEcwidStoreOnRuntime.enabled"] =false; 2892 rtFlags["scripts.widgetCount.enabled"] =true; 2893 rtFlags["fnb.animations.tracking.enabled"] =true; 2894 rtFlags["ecom.ecwidNewUrlStructure.enabled"] = false; 2895 rtFlags["ecom.ecwid.accountPage.emptyBaseUrl.enabled"] = true; 2896 rtFlags["ecom.ecwid.accountPage.repeatOrderRedirect.enabled"] = false; 2897 rtFlags["ecom.ecwid.pages.links.disable.listeners"] = true; 2898 rtFlags["ecom.ecwid.storefrontV3.enabled"] = false; 2899 rtFlags["ecom.monolith.legacy.js.api.disabled.for.new.sites"] = false;
2900 rtFlags["geocode.search.localize"] =false; 2901 rtFlags["feature.flag.runtime.newAnimation.asyncInit.setTimeout.enabled"] =false; 2902 rtFlags["twitter.heightLimit.enabled"] = true; 2903 rtFlags["runtime.lottieOverflow"] =false; 2904 rtFlags["runtime.monitoring.sentry.ignoreErrors"] = ""; 2905 rtFlags["streamline.monolith.personalization.supportMultipleConditions.enabled"] =false; 2906 rtFlags["flex.animation.design.panel.layout"] =true; 2907 rtFlags["runtime.cwv.report.cls.enabled"] =false; 2908 rtFlags["runtime.cwv.report.lcp.enabled"] =false; 2909 rtFlags["runtime.lcp.preload.selfheal.enabled"] =true; 2910 rtFlags["runtime.lcp.preload.bootstrap.enabled"] =true; 2911 rtFlags["runtime.lcp.preload.monitor.enabled"] =false; 2912 rtFlags["runtime.customwidget.heightpin.enabled"] =true; 2913 rtFlags["contact.form.useActiveForm"] =true; 2914 rtFlags["contact.form.custom.errors.enabled"] =false; 2915 rtFlags["runtime.ssr.productStore.internal.observer"] =true; 2916 rtFlags["runtime.ssr.productCustomizations"] =true; 2917 rtFlags["runtime.ssr.runtime.filter-sort.newFilterSortWidgetWithOptions.enabled"] =true; 2918 rtFlags["runtime.ssr.ssrSlider.jumpThreshold.enabled"] =true; 2919 rtFlags["termly.map.consent.overlay.enabled"] =false; 2920 rtFlags["editor.widget.form.a11y"] =true; 2921</script>
vendor: 1 bytes, line 2921
2921
2922<script src="https://static-res-cdn.websites.hibu.com/mnlt/production/6797/_dm/s/rt/dist/scripts/d-js-one-runtime-unified-desktop.min.js" id="d-js-core"></script>
2922 2923 2924<!-- End of HEAD RT JS Include --> 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936
2936<script src="https://static-res-cdn.websites.hibu.com/mnlt/production/6797/_dm/s/rt/dist/scripts/d-js-jquery-migrate.min.js" ></script>
2936 2937 2938 2939 2940 2941
2942<script> 2943 2944 $(window).bind("orientationchange", function (e) { 2945 $.layoutManager.initLayout(); 2946 2947 }); 2948 $(document).resize(function () { 2949 2950 }); 2951</script>
2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970
2971<script type="text/javascript" id="d_track_sp"> 2972 ;(function(p,l,o,w,i,n,g){if(!p[i]){p.GlobalSnowplowNamespace=p.GlobalSnowplowNamespace||[]; 2973 p.GlobalSnowplowNamespace.push(i);p[i]=function(){(p[i].q=p[i].q||[]).push(arguments) 2974 };p[i].q=p[i].q||[];n=l.createElement(o);g=l.getElementsByTagName(o)[0];n.async=1; 2975 n.src=w;g.parentNode.insertBefore(n,g)}}(window,document,"script","//d32hwlnfiv2gyn.cloudfront.net/sp-2.0.0-dm-0.1.min.js","snowplow")); 2976 window.dmsnowplow = window.snowplow; 2977 2978 dmsnowplow('newTracker', 'cf', 'd32hwlnfiv2gyn.cloudfront.net', { // Initialise a tracker 2979 appId: '03345c75678a400f95e189230f569eaf' 2980 }); 2981 2982 // snowplow queries element styles so we wait until CSS calculations are done. 2983 requestAnimationFrame(() => { 2984 dmsnowplow('trackPageView'); 2985 _dm_insite.forEach((rule) => { 2986 // Specifically in popup only the client knows if it is shown or not so we don't always want to track its impression here 2987 // the tracking is in popup.js 2988 if (rule.actionName !== "popup") { 2989 dmsnowplow('trackStructEvent', 'insite', 'impression', rule.ruleType, rule.ruleId); 2990 } 2991 window?.waitForDeferred?.('dmAjax', () => { 2992 $.DM.events.trigger('event-ruleTriggered', {value: rule}); 2993 }); 2994 }); 2995 }); 2996</script>
2996 2997 2998 2999 3000<div style="display:none;" id="P6iryBW0Wu"></div> 3001 3002<!-- photoswipe markup --> 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012<!-- Root element of PhotoSwipe. Must have class pswp. --> 3013<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true"> 3014 3015 <!-- Background of PhotoSwipe. 3016 It's a separate element as animating opacity is faster than rgba(). --> 3017 <div class="pswp__bg"></div> 3018 3019 <!-- Slides wrapper with overflow:hidden. --> 3020 <div class="pswp__scroll-wrap"> 3021 3022 <!-- Container that holds slides. 3023 PhotoSwipe keeps only 3 of them in the DOM to save memory. 3024 Don't modify these 3 pswp__item elements, data is added later on. --> 3025 <div class="pswp__container"> 3026 <div class="pswp__item"></div> 3027 <div class="pswp__item"></div> 3028 <div class="pswp__item"></div> 3029 </div> 3030 3031 <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --> 3032 <div class="pswp__ui pswp__ui--hidden"> 3033 3034 <div class="pswp__top-bar"> 3035 3036 <!-- Controls are self-explanatory. Order can be changed. --> 3037 3038 <div class="pswp__counter"></div> 3039 3040 <button class="pswp__button pswp__button--close" title="Close (Esc)"></button> 3041 3042 <button class="pswp__button pswp__button--share" title="Share"></button> 3043 3044 <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button> 3045 3046 <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button> 3047 3048 <!-- Preloader demo http://codepen.io/dimsemenov/pen/yyBWoR --> 3049 <!-- element will get class pswp__preloader--active when preloader is running --> 3050 <div class="pswp__preloader"> 3051 <div class="pswp__preloader__icn"> 3052 <div class="pswp__preloader__cut"> 3053 <div class="pswp__preloader__donut"></div> 3054 </div> 3055 </div> 3056 </div> 3057 </div> 3058 3059 <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap"> 3060 <div class="pswp__share-tooltip"></div> 3061 </div> 3062 3063 <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)"> 3064 </button> 3065 3066 <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)"> 3067 </button> 3068 3069 <div class="pswp__caption"> 3070 <div class="pswp__caption__center"></div> 3071 </div> 3072 3073 </div> 3074 3075 </div> 3076 3077</div> 3078<div id="fb-root" 3079 data-locale="en"></div> 3080<!-- Alias: 03345c75678a400f95e189230f569eaf --> 3081<div class="dmPopupMask" id="dmPopupMask"></div> 3082<div id="dmPopup" class="dmPopup"> 3083 <div class="dmPopupCloseWrapper"> <div class="dmPopupClose dm-common-icons-close oneIcon" onclick="dmHidePopup(event);"></div> </div> 3084 <div class="dmPopupTitle"> <span></span> Share by:</div> 3085 <div class="data"></div> 3086</div>
3086<script id="d_track_personalization"> 3087 window?.waitForDeferred?.('dmAjax', () => { 3088 // Collects client data and updates cookies used by smart sites 3089 window.expireDays = 365; 3090 window.visitLength = 30 * 60000; 3091 $.setCookie("dm_timezone_offset", (new Date()).getTimezoneOffset(), window.expireDays); 3092 setSmartSiteCookiesInternal("dm_this_page_view","dm_last_page_view","dm_total_visits","dm_last_visit"); 3093 }); 3094</script>
vendor: 1 bytes, line 3094
3094
3095<script type="text/javascript"> 3096 3097 Parameters.NavigationAreaParams.MoreButtonText = 'MORE'; 3098 3099 Parameters.NavigationAreaParams.LessButtonText = 'LESS'; 3100 Parameters.HomeLinkText = 'Home'; 3101 </script>
3101 3102<!-- End Script tags --> 3103<!-- Begin Body End Markup --> 3104<!-- Begin Body End Markup --> 3105<div id="placeholder_retargeting_pixel" style="display: none;" data-inject="placeholder_retargeting_pixel"> 3106 {{placeholder_retargeting_pixel}} 3107</div> 3108<div id="placeholder_dpni" style="display: none;" data-inject="placeholder_dpni"> 3109 {{placeholder_dpni}} 3110</div> 3111<div id="placeholder_analytics" style="display: none;" data-inject="placeholder_analytics"> 3112
3112<script> 3113 //yellAnalyticsConfig need to set before s_code.js 3114 var yellAnalyticsConfig = { 3115 "global" : { 3116 "trackDownloadLinks": true, 3117 "downloadFileTypes": "exe,zip,wav,mp3,mov,mpg,avi,wmv,pdf,doc,docx,xls,xlsx,ppt,pptx", 3118 "currency": "USD", 3119 "trackExternalLinks": true, 3120 "internalDomains": "javascript:", 3121 "charset": "UTF-8" 3122 }, 3123 "omniture" : { 3124 "enabled": true, 3125 "server": "yellgroup.122.2o7.net", 3126 "serverSecure": "yellgroup.122.2o7.net", 3127 "namespace": "yellgroup", 3128 "account": "yelldudadev", 3129 "campaign": "CID|cam" 3130 }} 3131 3132 var hibuWebsiteConfig={ 3133 "prodSKU":"WBS-PRO-01", 3134 "assetID":"658707192", 3135 "customerID":"8046857413" 3136 } 3137 </script>
3137 3138
3138<script type="text/javascript" src="https://dh-static-files.s3.amazonaws.com/dev/AppMeasurement.js"></script>
3138 3139
3139<script type="text/javascript" src="https://dh-static-files.s3.amazonaws.com/dev/hibu-analytics.min.js"></script>
3139 3140
3140<script type="text/javascript" src="https://dh-static-files.s3.amazonaws.com/dev/omn_setting.js"></script>
3140 3141</div> 3142<div id="placeholder_footer_reserve1" style="display: none;" data-inject="placeholder_footer_reserve1"> 3143 {{placeholder_footer_reserve1}} 3144</div> 3145<div id="placeholder_footer_reserve2" style="display: none;" data-inject="placeholder_footer_reserve2"> 3146 {{placeholder_footer_reserve2}} 3147</div> 3148<div id="placeholder_footer_reserve3" style="display: none;" data-inject="placeholder_footer_reserve3"> 3149 {{placeholder_footer_reserve3}} 3150</div> 3151<div id="placeholder_footer_reserve4" style="display: none;" data-inject="placeholder_footer_reserve4"> 3152 {{placeholder_footer_reserve4}} 3153</div> 3154<div id="placeholder_footer_reserve5" style="display: none;" data-inject="placeholder_footer_reserve5"> 3155 {{placeholder_footer_reserve5}} 3156</div> 3157<div id="placeholder_footer_reserve6" style="display: none;" data-inject="placeholder_footer_reserve6"> 3158 {{placeholder_footer_reserve6}} 3159</div> 3160<div id="placeholder_footer_reserve7" style="display: none;" data-inject="placeholder_footer_reserve7"> 3161 {{placeholder_footer_reserve7}} 3162</div> 3163<!-- End Body End Markup --><!-- End Body End Markup --> 3164<!-- Site Wide Html Markup --> 3165<div id="swh-3d361e1b778e4837bf2705c5c691f3cd">
3165<script> if (window.location.search.match(/[?,&]preview=true/) && window.top !== window) { window.__AudioEyePreviewMode=true;}</script>
3165 3166
3166<script type="text/javascript">!function(){ 3167 var b=function(){ 3168 window.__AudioEyeSiteHash = "e76d422d2c617f51e2996cbcf20ca8e3"; 3169 window.__AudioEyeInstallSource = "duda"; 3170 var a=document.createElement("script"); 3171 a.src="https://wsmcdn.audioeye.com/aem.js"; 3172 a.type="text/javascript"; 3173 a.setAttribute("async",""); 3174 document.getElementsByTagName("body")[0].appendChild(a)}; 3175 "complete"!==document.readyState?window.addEventListener?window.addEventListener("load",b):window.attachEvent&&window.attachEvent("onload",b):b()}(); 3176 </script>
3176</div><!-- Site Wide Html Markup --> 3177<!-- Begin Product Custom HTML Markup --> 3178<div id="fb-root"></div>
3179<script>(function(d, s, id) { 3180var js, fjs = d.getElementsByTagName(s)[0]; 3181if (d.getElementById(id)) return; 3182js = d.createElement(s); js.id = id; 3183js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.8&appId=1822295708016537"; 3184fjs.parentNode.insertBefore(js, fjs); 3185}(document, 'script', 'facebook-jssdk')); 3186</script>
3186
3187<script> 3188//make sure video's on iOS load first screen of the video. 3189window.onload = function() { 3190 var _iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream 3191 if (_iOS) { 3192 var _hibu_vid = document.getElementsByTagName('video') 3193 for (var i = 0; i < _hibu_vid.length; i++) { 3194 _hibu_vid[i].preload = 'metadata' 3195 _hibu_vid[i].currentTime = .01 3196 } 3197 } 3198}; 3199</script>
3199<!-- End Product Custom HTML Markup --> 3200</body> 3201</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.