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.ridgelyretreat.com/', 49 50 SystemID: 'US_HIBU_PRODUCTION', 51 SiteAlias: '0159bd25468748e19a184f724c6b8760', 52 SiteType: atob('RFVEQU9ORQ=='), 53 PublicationDate: 'Sep 11, 2026', 54 ExternalUid: '631433296', 55 IsSiteMultilingual: false, 56 InitialPostAlias: '', 57 InitialPostPageUuid: '', 58 InitialDynamicItem: '', 59 DynamicPageInfo: { 60 isDynamicPage: false, 61 base64JsonRowData: 'null', 62 }, 63 InitialPageAlias: 'gift-cards', 64 InitialPageUuid: 'b64cf0aee8864c8e87f82a52172bd555', 65 InitialPageId: '114496732', 66 InitialEncodedPageAlias: 'Z2lmdC1jYXJkcw==', 67 InitialHeaderUuid: '2c1170e22c804835802759eece764e93', 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: '500000', 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.ridgelyretreat.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<meta name="google-site-verification" content="oaXs12HmqmuyOiH8GiYOWj6o1SFvCV_KlAUzbQfTv_U" data-swh-uuid="1c7a01f9a42943f78c89bb5e75257d62"/> 167 168 169 170<!-- End Injecting site-wide to the head --> 171 172 173 174 175
176<script> 177 function toHash(str) { 178 var hash = 5381, i = str.length; 179 while (i) { 180 hash = hash * 33 ^ str.charCodeAt(--i) 181 } 182 return hash >>> 0 183 } 184</script>
vendor: 1 bytes, line 184
184
185<script> 186 (function (global) { 187 //const cacheKey = global.cacheKey; 188 const isOffline = 'onLine' in navigator && navigator.onLine === false; 189 const hasServiceWorkerSupport = 'serviceWorker' in navigator; 190 if (isOffline) { 191 console.log('offline mode'); 192 } 193 if (!hasServiceWorkerSupport) { 194 console.log('service worker is not supported'); 195 } 196 if (hasServiceWorkerSupport && !isOffline) { 197 window.addEventListener('load', function () { 198 const serviceWorkerPath = '/runtime-service-worker.js?v=3'; 199 navigator.serviceWorker 200 .register(serviceWorkerPath, { scope: './' }) 201 .then( 202 function (registration) { 203 // Registration was successful 204 console.log( 205 'ServiceWorker registration successful with scope: ', 206 registration.scope 207 ); 208 }, 209 function (err) { 210 // registration failed :( 211 console.log('ServiceWorker registration failed: ', err); 212 } 213 ) 214 .catch(function (err) { 215 console.log(err); 216 }); 217 }); 218 219 // helper function to refresh the page 220 var refreshPage = (function () { 221 var refreshing; 222 return function () { 223 if (refreshing) return; 224 // prevent multiple refreshes 225 var refreshkey = 'refreshed' + location.href; 226 var prevRefresh = localStorage.getItem(refreshkey); 227 if (prevRefresh) { 228 localStorage.removeItem(refreshkey); 229 if (Date.now() - prevRefresh < 30000) { 230 return; // dont go into a refresh loop 231 } 232 } 233 refreshing = true; 234 localStorage.setItem(refreshkey, Date.now()); 235 console.log('refereshing page'); 236 window.location.reload(); 237 }; 238 })(); 239 240 function messageServiceWorker(data) { 241 return new Promise(function (resolve, reject) { 242 if (navigator.serviceWorker.controller) { 243 var worker = navigator.serviceWorker.controller; 244 var messageChannel = new MessageChannel(); 245 messageChannel.port1.onmessage = replyHandler; 246 worker.postMessage(data, [messageChannel.port2]); 247 function replyHandler(event) { 248 resolve(event.data); 249 } 250 } else { 251 resolve(); 252 } 253 }); 254 } 255 } 256})(window); 257</script>
257 258 259 260 261<link rel="canonical" href="https://www.ridgelyretreat.com/gift-cards"> 262 263<meta id="view" name="viewport" content="initial-scale=1, minimum-scale=1, maximum-scale=5, viewport-fit=cover"> 264 265<meta name="apple-mobile-web-app-capable" content="yes"> 266 267 268 269<link rel="icon" type="image/x-icon" href="https://cdn.hibuwebsites.com/0159bd25468748e19a184f724c6b8760/site_favicon_16_1773712095770.ico"/> 270 271 272<link rel="preconnect" href="https://le-cdn.hibuwebsites.com"/> 273<link rel="preconnect" href="https://cdn.hibuwebsites.com" crossorigin/> 274<link rel="preconnect" href="https://static-res-cdn.websites.hibu.com"/> 275<link rel="preconnect" href="https://cdn.hibuwebsites.com"/> 276 277 278 279
280<script id='d-js-dmapi'> 281 window.SystemID = 'US_HIBU_PRODUCTION'; 282 283 if (!window.dmAPI) { 284 window.dmAPI = { 285 registerExternalRuntimeComponent: function () { 286 }, 287 getCurrentDeviceType: function () { 288 return window._currentDevice; 289 }, 290 runOnReady: (ns, fn) => { 291 const safeFn = dmAPI.toSafeFn(fn); 292 ns = ns || 'global_' + Math.random().toString(36).slice(2, 11); 293 const eventName = 'afterAjax.' + ns; 294 295 if (document.readyState === 'complete') { 296 $.DM.events.off(eventName).on(eventName, safeFn); 297 setTimeout(function () { 298 safeFn({ 299 isAjax: false, 300 }); 301 }, 0); 302 } else { 303 window?.waitForDeferred?.('dmAjax', () => { 304 $.DM.events.off(eventName).on(eventName, safeFn); 305 safeFn({ 306 isAjax: false, 307 }); 308 }); 309 } 310 }, 311 toSafeFn: (fn) => { 312 if (fn?.safe) { 313 return fn; 314 } 315 const safeFn = function (...args) { 316 try { 317 return fn?.apply(null, args); 318 } catch (e) { 319 console.log('function failed ' + e.message); 320 } 321 }; 322 safeFn.safe = true; 323 return safeFn; 324 } 325 }; 326 } 327 328 if (!window.requestIdleCallback) { 329 window.requestIdleCallback = function (fn) { 330 setTimeout(fn, 0); 331 } 332 } 333</script>
333 334 335 336 337 338 339 340 341
342<script id="d-js-load-css"> 343/** 344 * There are a few <link> tags with CSS resource in them that are preloaded in the page 345 * in each of those there is a "onload" handler which invokes the loadCSS callback 346 * defined here. 347 * We are monitoring 3 main CSS files - the runtime, the global and the page. 348 * When each load we check to see if we can append them all in a batch. If threre 349 * is no page css (which may happen on inner pages) then we do not wait for it 350 */ 351(function () { 352 let cssLinks = {}; 353 function loadCssLink(link) { 354 link.onload = null; 355 link.rel = "stylesheet"; 356 link.type = "text/css"; 357 } 358 359 function checkCss() { 360 const pageCssLink = document.querySelector("[id*='CssLink']"); 361 const widgetCssLink = document.querySelector("[id*='widgetCSS']"); 362 363 if (cssLinks && cssLinks.runtime && cssLinks.global && (!pageCssLink || cssLinks.page) && (!widgetCssLink || cssLinks.widget)) { 364 const storedRuntimeCssLink = cssLinks.runtime; 365 const storedPageCssLink = cssLinks.page; 366 const storedGlobalCssLink = cssLinks.global; 367 const storedWidgetCssLink = cssLinks.widget; 368 369 storedGlobalCssLink.disabled = true; 370 loadCssLink(storedGlobalCssLink); 371 372 if (storedPageCssLink) { 373 storedPageCssLink.disabled = true; 374 loadCssLink(storedPageCssLink); 375 } 376 377 if(storedWidgetCssLink) { 378 storedWidgetCssLink.disabled = true; 379 loadCssLink(storedWidgetCssLink); 380 } 381 382 storedRuntimeCssLink.disabled = true; 383 loadCssLink(storedRuntimeCssLink); 384 385 requestAnimationFrame(() => { 386 setTimeout(() => { 387 storedRuntimeCssLink.disabled = false; 388 storedGlobalCssLink.disabled = false; 389 if (storedPageCssLink) { 390 storedPageCssLink.disabled = false; 391 } 392 if (storedWidgetCssLink) { 393 storedWidgetCssLink.disabled = false; 394 } 395 // (SUP-4179) Clear the accumulated cssLinks only when we're 396 // sure that the document has finished loading and the document 397 // has been parsed. 398 if(document.readyState === 'interactive') { 399 cssLinks = null; 400 } 401 }, 0); 402 }); 403 } 404 } 405 406 407 function loadCSS(link) { 408 try { 409 var urlParams = new URLSearchParams(window.location.search); 410 var noCSS = !!urlParams.get("nocss"); 411 var cssTimeout = urlParams.get("cssTimeout") || 0; 412 413 if (noCSS) { 414 return; 415 } 416 if (link.href && link.href.includes("d-css-runtime")) { 417 cssLinks.runtime = link; 418 checkCss(); 419 } else if (link.id === "siteGlobalCss") { 420 cssLinks.global = link; 421 checkCss(); 422 } 423 424 else if (link.id && link.id.includes("CssLink")) { 425 cssLinks.page = link; 426 checkCss(); 427 } else if (link.id && link.id.includes("widgetCSS")) { 428 cssLinks.widget = link; 429 checkCss(); 430 } 431 432 else { 433 requestIdleCallback(function () { 434 window.setTimeout(function () { 435 loadCssLink(link); 436 }, parseInt(cssTimeout, 10)); 437 }); 438 } 439 } catch (e) { 440 throw e 441 } 442 } 443 window.loadCSS = window.loadCSS || loadCSS; 444})(); 445</script>
445 446 447 448
449<script data-role="deferred-init" type="text/javascript"> 450 /* usage: window.getDeferred(<deferred name>).resolve() or window.getDeferred(<deferred name>).promise.then(...)*/ 451 function Def() { 452 this.promise = new Promise((function (a, b) { 453 this.resolve = a, this.reject = b 454 }).bind(this)) 455 } 456 457 const defs = {}; 458 window.getDeferred = function (a) { 459 return null == defs[a] && (defs[a] = new Def), defs[a] 460 } 461 window.waitForDeferred = function (b, a, c) { 462 let d = window?.getDeferred?.(b); 463 d 464 ? d.promise.then(a) 465 : c && ["complete", "interactive"].includes(document.readyState) 466 ? setTimeout(a, 1) 467 : c 468 ? document.addEventListener("DOMContentLoaded", a) 469 : console.error(`Deferred does not exist`); 470 }; 471</script>
471 472<style id="forceCssIncludes"> 473 /* This file is auto-generated from a `scss` file with the same name */ 474 475.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}} 476 477 478</style> 479<style id="cssVariables" type="text/css"> 480 481</style> 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525<link type="text/css" rel="stylesheet" href="https://cdn.hibuwebsites.com/fonts/css2?family=Roboto:wght@100;300;400;500;700;900&family=Lato:wght@100;300;400;700;900&family=Fjalla+One:wght@400&family=Lora:[email protected]&family=Noto+Serif:[email protected]&family=Source+Sans+Pro:wght@200;300;400;600;700;900&family=Open+Sans:[email protected]&subset=latin-ext&display=swap" /> 526 527 528 529 530 531 532<link rel="stylesheet" type="text/css" href="https://static-res-cdn.websites.hibu.com/mnlt/production/6817/_dm/s/rt/dist/css/d-css-runtime-desktop-one-package-structured-global.min.css" /> 533 534 535 536<link type="text/css" rel="stylesheet" href="https://cdn.hibuwebsites.com/WIDGET_CSS/7ecafdb97872a3bf980592fda7c5d452.css" id="widgetCSS" /> 537 538 539<style>img[width][height] { 540 height: auto; 541}</style> 542 543 544<style> 545 body[data-page-alias="gift-cards"] #dm [data-show-on-page-only="gift-cards"] { 546 display: block !important; 547 } 548</style> 549 550 551<style id="pageAdditionalWidgetsCss" type="text/css"> 552</style> 553 554 555 556 557 558<link type="text/css" rel="stylesheet" href="https://cdn.hibuwebsites.com/0159bd25468748e19a184f724c6b8760/files/0159bd25468748e19a184f724c6b8760_1.min.css?v=503290e4c2e712121b2671718c6de755" id="siteGlobalCss" /> 559 560 561 562<link 563 type="text/css" rel="stylesheet" 564 href="/_dm/s/rt/css/hibu/hibu-runtime.css?version=2026-10-01T14_02_32" 565/> 566 567 568<style id="customWidgetStyle" type="text/css"> 569 570</style> 571<style id="innerPagesStyle" type="text/css"> 572 573</style> 574 575 576<style 577 id="additionalGlobalCss" type="text/css" 578> 579</style> 580 581<style id="pagestyle" type="text/css"> 582 *#dm *.dmBody a.span.textonly{ 583color:rgb(255,255,255) !important} 584*#dm *.dmBody div.dmform-error{ 585font-style:normal !important} 586*#dm *.dmBody div.dmforminput textarea{ 587font-style:italic !important} 588*#dm *.dmBody div.dmforminput *.fileUploadLink{ 589font-style:italic !important} 590*#dm *.dmBody div.checkboxwrapper span{ 591font-style:italic !important} 592*#dm *.dmBody div.radiowrapper span{ 593font-style:italic !important} 594*#dm *.dmBody nav.u_1144820115{ 595color:black !important} 596</style> 597 598<style id="pagestyleDevice" type="text/css"> 599 *#dm *.d-page-1716942098 DIV.dmInner{ 600background-repeat:no-repeat !important; 601background-size:cover !important; 602background-attachment:fixed !important; 603background-position:50% 50% !important} 604*#dm *.d-page-1716942098 DIV#dmSlideRightNavRight{ 605background-repeat:no-repeat !important; 606background-image:none !important; 607background-size:cover !important; 608background-attachment:fixed !important; 609background-position:50% 50% !important} 610</style> 611 612 613 614 615 616 617 618 619 620<style id="globalFontSizeStyle" type="text/css"> 621 622</style> 623<style id="pageFontSizeStyle" type="text/css"> 624</style> 625 626 627 628 629<style id="hideAnimFix"> 630 .dmDesktopBody:not(.editGrid) [data-anim-desktop]:not([data-anim-desktop='none']), .dmDesktopBody:not(.editGrid) [data-anim-extended] { 631 visibility: hidden; 632 } 633 634 .dmDesktopBody:not(.editGrid) .dmNewParagraph[data-anim-desktop]:not([data-anim-desktop='none']), .dmDesktopBody:not(.editGrid) .dmNewParagraph[data-anim-extended] { 635 visibility: hidden !important; 636 } 637 638 #dmRoot:not(.editGrid) .flex-element [data-anim-extended] { 639 visibility: hidden; 640 } 641 642</style> 643 644 645 646 647<style id="fontFallbacks"> 648 @font-face { 649 font-family: "Roboto Fallback"; 650 src: local('Arial'); 651 ascent-override: 92.6709%; 652 descent-override: 24.3871%; 653 size-adjust: 100.1106%; 654 line-gap-override: 0%; 655 }@font-face { 656 font-family: "Lato Fallback"; 657 src: local('Arial'); 658 ascent-override: 101.3181%; 659 descent-override: 21.865%; 660 size-adjust: 97.4159%; 661 line-gap-override: 0%; 662 }@font-face { 663 font-family: "Fjalla One Fallback"; 664 src: local('Arial'); 665 ascent-override: 114.9994%; 666 descent-override: 28.2767%; 667 size-adjust: 87.7212%; 668 line-gap-override: 0%; 669 }@font-face { 670 font-family: "Lora Fallback"; 671 src: local('Arial'); 672 ascent-override: 95.2907%; 673 descent-override: 25.9539%; 674 size-adjust: 105.5717%; 675 line-gap-override: 0%; 676 }@font-face { 677 font-family: "Helvetica Fallback"; 678 src: local('Arial'); 679 ascent-override: 77.002%; 680 descent-override: 22.998%; 681 line-gap-override: 0%; 682 }@font-face { 683 font-family: "Noto Serif Fallback"; 684 src: local('Arial'); 685 ascent-override: 98.7162%; 686 descent-override: 27.0569%; 687 size-adjust: 108.2903%; 688 line-gap-override: 0%; 689 }@font-face { 690 font-family: "Open Sans Fallback"; 691 src: local('Arial'); 692 ascent-override: 101.1768%; 693 descent-override: 27.7323%; 694 size-adjust: 105.6416%; 695 line-gap-override: 0%; 696 } 697</style> 698 699 700 701 702 703 704 705 706 707<meta property="og:type" content="website"> 708<meta property="og:url" content="https://www.ridgelyretreat.com/gift-cards"> 709 710 <title> 711 Gift Cards | Spa Services | Annapolis, MD 712 </title> 713 <meta name="description" content="stretch marks, acne scars, Infini, Scars, Vivace, skin tightening, Facelift, Photofacial, skin rejuvenation, facial rejuvenation, Fractora, Endymed, laser treatments, photo rejuvenation, cosmetic procedures, medical lasers, pore reduction, cosmetic laser, facial skin tightening, medical laser, aesthetic laser, wrinkle reduction"/> 714 715 <meta name="keywords" content="stretch marks, acne scars, Infini, Scars, Vivace, skin tightening, Facelift, Photofacial, skin rejuvenation, facial rejuvenation, Fractora, Endymed, laser treatments, photo rejuvenation, cosmetic procedures, medical lasers, pore reduction, cosmetic laser, facial skin tightening, medical laser, aesthetic laser, wrinkle reduction"/> 716 <style type="text/css"> 717 718 719 720 721 722.dmInner { 723min-width: auto !important; 724max-width: 100vw !important; 725} 726 727 728 729
730 </style> 731 <meta name="format-detection" content="telephone=no"/> 732 733 <meta name="twitter:card" content="summary"/> 734 <meta name="twitter:title" content="Gift Cards | Spa Services | Annapolis, MD"/> 735 <meta name="twitter:description" content="stretch marks, acne scars, Infini, Scars, Vivace, skin tightening, Facelift, Photofacial, skin rejuvenation, facial rejuvenation, Fractora, Endymed, laser treatments, photo rejuvenation, cosmetic procedures, medical lasers, pore reduction, cosmetic laser, facial skin tightening, medical laser, aesthetic laser, wrinkle reduction"/> 736 <meta name="twitter:image" content="https://le-cdn.hibuwebsites.com/0159bd25468748e19a184f724c6b8760/dms3rep/multi/opt/homehero-1920w.jpg"/> 737 <meta property="og:description" content="stretch marks, acne scars, Infini, Scars, Vivace, skin tightening, Facelift, Photofacial, skin rejuvenation, facial rejuvenation, Fractora, Endymed, laser treatments, photo rejuvenation, cosmetic procedures, medical lasers, pore reduction, cosmetic laser, facial skin tightening, medical laser, aesthetic laser, wrinkle reduction"/> 738 <meta property="og:title" content="Gift Cards | Spa Services | Annapolis, MD"/> 739 <meta property="og:image" content="https://le-cdn.hibuwebsites.com/0159bd25468748e19a184f724c6b8760/dms3rep/multi/opt/homehero-1920w.jpg"/> 740 741 742 743 744<!-- SYS- VVNfSElCVV9QUk9EVUNUSU9O --> 745</head> 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767<body id="dmRoot" data-page-alias="gift-cards" class="dmRoot dmDesktopBody fix-mobile-scrolling addCanvasBorder dmResellerSite dmLargeBody responsiveTablet " 768 style="padding:0;margin:0;" 769 770 > 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787<div id="dm" class='dmwr'> 788 789 <div class="dm_wrapper standard-var5 widgetStyle-3 standard"> 790 <div dmwrapped="true" id="1901957768" class="dm-home-page" themewaschanged="true"> <div dmtemplateid="StandardLayoutMultiD" class="standardHeaderLayout dm-bfs dm-layout-sec hasAnimations dmPageBody d-page-1716942098 inputs-css-clean dmFreeHeader" id="dm-outer-wrapper" data-page-class="1716942098" data-soch="true" data-background-parallax-selector=".dmHomeSection1, .dmSectionParallex"> <div id="dmStyle_outerContainer" class="dmOuter"> <div id="dmStyle_innerContainer" class="dmInner" data-auto="page-inner"> <div class="dmLayoutWrapper standard-var dmStandardDesktop"> <div> <div id="iscrollBody"> <div id="site_content"> <div class="dmHeaderContainer fHeader d-header-wrapper"> <div id="hcontainer" class="dmHeader p_hfcontainer u_hcontainer" freeheader="true" has-shadow="true" data-auto="header"> <div dm:templateorder="85" class="dmHeaderResp dmHeaderStack noSwitch" id="1709005236"> <div class="u_1711738965 dmRespRow fullBleedChanged fullBleedMode" id="1711738965"> <div class="dmRespColsWrapper" id="1414957562"> <div class="u_1149755951 dmRespCol small-12 large-3 medium-3" id="1149755951"> <a data-display-type="block" class="u_1820748549 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient" file="false" href="https://play.google.com/store/apps/details?id=ridgely.retreat" data-element-type="dButtonLinkId" id="1820748549" target="_blank"> <span class="iconBg" aria-hidden="true" id="1239492445"> <span class="icon hasFontIcon icon-star" id="1386283422"></span> 791</span> 792 <span class="text" id="1888932031">Download Our App for Android</span> 793</a> 794</div> 795 <div class="u_1589567908 dmRespCol small-12 large-6 medium-6 content-removed" id="1589567908"> <div class="u_1174384679 dmRespRow" id="1174384679"> <div class="dmRespColsWrapper" id="1251029112"> <div class="u_1377899256 dmRespCol small-12 large-3 medium-3" id="1377899256"> <a data-display-type="block" class="u_1394865131 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient" file="false" href="/classes" data-element-type="dButtonLinkId" id="1394865131"> <span class="iconBg" aria-hidden="true" id="1424436877"> <span class="icon hasFontIcon icon-star" id="1365297906"></span> 796</span> 797 <span class="text" id="1232065280">Class Scheduler</span> 798</a> 799</div> 800 <div class="u_1849411817 dmRespCol small-12 large-6 medium-6" id="1849411817"> <a data-display-type="block" class="u_1111387065 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient" file="false" href="/gift-cards" data-element-type="dButtonLinkId" id="1111387065"> <span class="iconBg" aria-hidden="true" id="1322141606"> <span class="icon hasFontIcon icon-star" id="1254069939"></span> 801</span> 802 <span class="text" id="1976698204">Gift Cards</span> 803</a> 804</div> 805 <div class="u_1019810230 dmRespCol small-12 large-3 medium-3" id="1019810230"> <a data-display-type="block" class="u_1662831508 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient" file="false" href="/services-scheduler" data-element-type="dButtonLinkId" id="1662831508"> <span class="iconBg" aria-hidden="true" id="1405599082"> <span class="icon hasFontIcon icon-star" id="1958068164"></span> 806</span> 807 <span class="text" id="1627193114">Services Scheduler</span> 808</a> 809</div> 810</div> 811</div> 812</div> 813 <div class="u_1396514312 dmRespCol small-12 large-3 medium-3" id="1396514312"> <a data-display-type="block" class="u_1454832611 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient" file="false" href="https://apps.apple.com/app/ridgely-retreat/id6466819202" data-element-type="dButtonLinkId" id="1454832611" target="_blank"> <span class="iconBg" aria-hidden="true" id="1305380873"> <span class="icon hasFontIcon icon-star" id="1246750088"></span> 814</span> 815 <span class="text" id="1078316784">Download Our App for IOS</span> 816</a> 817</div> 818</div> 819</div> 820 <div class="u_1042089657 dmRespRow" id="1042089657"> <div class="dmRespColsWrapper" id="1801896749"> <div class="dmRespCol small-12 large-4 medium-4 content-removed" id="1842201955"> <div class="u_1219103532 widget-d1ee5d dmCustomWidget" data-lazy-load="" data-title="" id="1219103532" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" icon="false" surround="false" data-widget-id="d1ee5d5bf037471ea1770683731e577a" data-widget-version="23" data-widget-config="eyJtZXJjaGFudElkIjoiMzgwNjEiLCJ0aGVtZSI6ImxpZ2h0IiwibWluLXJldmlld3MiOiIzIiwibWluLXJhdGluZyI6IjQifQ=="> <div class="headerWidget" data-merchant="38061" data-theme="light" data-break="" data-count-limit="3" data-rating-limit="4"></div> 821</div> 822</div> 823 <div class="dmRespCol small-12 large-4 medium-4 u_1140711227" id="1140711227"> <div class="u_1029002742 imageWidget align-center" data-element-type="image" data-widget-type="image" id="1029002742"> <a id="1045702226" href="/" file="false"><img src="https://le-cdn.hibuwebsites.com/0159bd25468748e19a184f724c6b8760/dms3rep/multi/opt/logo-ffdcd382-1920w.png" alt="Ridgely Retreat | Logo" id="1114217592" class="" data-dm-image-path="https://cdn.hibuwebsites.com/0159bd25468748e19a184f724c6b8760/dms3rep/multi/logo-ffdcd382.png" onerror="handleImageLoadError(this)"/></a> 824</div> 825</div> 826 <div class="dmRespCol large-4 medium-4 small-12" id="1165793191"> <div class="u_1472418333 widget-7b6cfb dmCustomWidget" data-lazy-load="" data-title="" id="1472418333" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" icon="false" surround="false" data-widget-id="7b6cfbac88324cffbaaf57354cd7a334" data-widget-version="227" data-widget-config="eyJnZXREaXJlY3Rpb25zVGV4dCI6IkdldCBEaXJlY3Rpb25zIiwiZ3JvdXBZZWFyRXN0YWJsaXNoZWQiOm51bGwsImgzRW1haWxUZXh0IjoiIiwidG9nZ2xlSDNBc3NvY2lhdGlvbnMiOm51bGwsImdyb3VwQml6TmFtZURlc2lnbiI6bnVsbCwidG9nZ2xlSDNTZXJ2aWNlcyI6bnVsbCwidHlwZSI6InBob25lIiwiYm9sZExvY2F0aW9uTmFtZSI6bnVsbCwiY29sb3JQaWNrZXIxIjpudWxsLCJoM1BheW1lbnRzVGV4dCI6bnVsbCwiZ3JvdXBHb29nbGVBdHRyaWJ1dGVzIjpudWxsLCJwYXltZW50R3JvdXAiOm51bGwsInRvZ2dsZUgzU3BlY2lhbHRpZXMiOm51bGwsInNlcnZpY2VBcmVhR3JvdXAiOm51bGwsInN0YXRlIjp0cnVlLCJncm91cFNvY2lhbEljb25zIjpudWxsLCJ0b2dnbGVIM1NlcnZpY2VBcmVhIjpudWxsLCJzb2NpYWxHcm91cCI6bnVsbCwiemlwIjp0cnVlLCJwaG9uZUxpc3RTdHlsZXMiOm51bGwsImNhcmRTdHlsZURhcmtPckxpZ2h0IjoiX2Quc3ZnIiwiaDNZZWFySGVhZFRleHQiOiIiLCJwYXltZW50T3B0aW9uc0J1bGxldCI6ImJ1bGxldCIsIi5hZGRyZXNzSGVhZGVyIjpudWxsLCJ0b2dnbGVIM2ZlYXRNZXNzYWdlIjpudWxsLCJicmFuZHNHcm91cCI6bnVsbCwicHJvZHVjdHNHcm91cCI6bnVsbCwiaDNLZXl3b3Jkc1RleHQiOm51bGwsInNjcmlwdCI6IiIsImdyb3VwS2V5d29yZHNEZXNpZ24iOm51bGwsImdyb3VwQXR0cmlidXRlcyI6bnVsbCwic29jaWFsSWNvbnNBbGlnbm1lbnQiOiJsZWZ0IiwibGFuZ3VhZ2VzQnVsbGV0IjoiYnVsbGV0IiwiZ3JvdXBFbWFpbERlc2lnbiI6bnVsbCwiaDNIb2xpZGF5SG91cnMiOiJIb2xpZGF5IEhvdXJzIiwic2hvd1BheW1lbnRzQXMiOm51bGwsInNlcnZpY2VzR3JvdXAiOm51bGwsImJvbGRTdGF0dXNUZXh0Ijp0cnVlLCJoM1NvY2lhbFRleHQiOm51bGwsImxvZ29Hcm91cCI6bnVsbCwiZ3JvdXBQaG9uZURlc2lnbiI6bnVsbCwicGhvbmVHcm91cCI6bnVsbCwiY2l0eSI6dHJ1ZSwiZ3JvdXBCaXpEZXNEZXNpZ24iOm51bGwsImgzaG91cnNUZXh0IjoiIiwiaDNTZXJ2aWNlQXJlYVRleHQiOm51bGwsImlzTGlzdCI6dHJ1ZSwiYm9sZEhvdXJzIjp0cnVlLCJ0b2dnbGVIM2hvdXJzIjpudWxsLCJncm91cEFkZGl0aW9uYWxIb3Vyc1RleHQiOm51bGwsImRlc2NyaXB0aW9uVGV4dEdyb3VwIjpudWxsLCJicmFuZHNCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM2hvbGlkYXlIb3VycyI6dHJ1ZSwiYXNzb2NpYXRpb25zQnVsbGV0IjoiYnVsbGV0IiwibG9jYXRpb25Hcm91cCI6bnVsbCwidG9nZ2xlSDNHb29nbGVBdHRyaWJ1dGVzIjp0cnVlLCJ0b2dnbGVIM2Rlc2NyaXB0aW9uIjpudWxsLCJob2xpZGF5SG91cnNCdWxsZXQiOiJidWxsZXRzIiwidG9nZ2xlSDNMYW5ndWFnZXMiOm51bGwsInBob25lVHlwZSI6InBob25lIiwibG9jYXRpb25OYW1lIjpmYWxzZSwidG9nZ2xlSDNQYXltZW50cyI6bnVsbCwic2VydmljZUFyZWFCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM1Byb2R1Y3RzIjpudWxsLCJncm91cEFkZHJl
826c3NEZXNpZ24iOm51bGwsIlBob25lIEhlYWRlciBHcm91cCI6bnVsbCwidG9nZ2xlSDNTb2NpYWwiOm51bGwsInNob3dTZXJ2aWNlQXJlYUZpcnN0IjpudWxsLCJhZGRpdGlvbmFsSG91cnNUZXh0IjpudWxsLCJoM1NwZWNpYWx0aWVzVGV4dCI6IiIsInRvZ2dsZUgzWWVhciI6bnVsbCwic3BlY2lhbHRpZXNHcm91cCI6bnVsbCwiZHJhd01hcCI6bnVsbCwiaW5zdHJ1Y3Rpb25zIjpudWxsLCJncm91cFByb2R1Y3RzRGVzaWduIjpudWxsLCJncm91cFNlcnZpY2VBcmVhRGVzaWduIjpudWxsLCJoM0FkZHJlc3NUZXh0IjoiIiwiZ3JvdXBTZXJ2aWNlc0Rlc2lnbiI6bnVsbCwidG9nZ2xlSDNQaG9uZUxpc3QiOmZhbHNlLCJncm91cEZlYXR1cmVkTWVzc2FnZURlc2lnbiI6bnVsbCwiaDNTZXJ2aWNlc1RleHQiOm51bGwsImgzUGhvbmVUZXh0IjoiQ09OVEFDVCBVUyIsImgzQXNzb2NpYXRpb25zVGV4dCI6IiIsInBheW1lbnRUZXh0R3JvdXAiOm51bGwsImgzRGVzY3JpcHRpb25UZXh0IjpudWxsLCJzaG93R2V0RGlyZWN0aW9uc0xpbmsiOm51bGwsImdyb3VwUGF5bWVudERlaXNnbiI6bnVsbCwiaDNHb29nbGVBdHRyaWJ1dGVzIjoiQnVzaW5lc3MgQXR0cmlidXRlcyIsInRvZ2dsZUgzQWRkcmVzcyI6bnVsbCwic2hvd0VtYWlsQXNCdG4iOm51bGwsImFzc29jaWF0aW9uc0dyb3VwIjpudWxsLCJoM1Byb2R1Y3RzVGV4dCI6IiIsImZvcm1hdFBob25lIjp0cnVlLCJncm91cExhbmd1YWdlc0Rlc2lnbiI6bnVsbCwidG9nZ2xlSDNLZXl3b3JkcyI6bnVsbCwia2V5d29yZHNHcm91cCI6bnVsbCwiYWx0IjpudWxsLCJoaWRlSG91cnNMaXN0IjpmYWxzZSwiZ3JvdXBIb2xpZGF5SG91cnNEZXNpZ24iOm51bGwsInBob25lU2hvd0FzIjoidGV4dCIsImdvb2dsZUF0dHJpYnV0ZXNGb3JtYXR0ZWRMaXN0QnVsbGV0IjoiYnVsbGV0cyIsIm1hcFpvb20iOiIxMyIsImhvbGlkYXlIb3VycyI6bnVsbCwiZ3JvdXBIb3Vyc0Rlc2lnbiI6bnVsbCwiaDNMYW5ndWFnZXNUZXh0IjpudWxsLCJob3Vyc1Nob3dBcyI6Imxpc3QiLCJlbWFpbFRleHRHcm91cCI6bnVsbCwicGhvbmVMaXN0U3R5bGUiOiJuby1saXN0IiwidG9nZ2xlMSI6bnVsbCwiaDNCcmFuZFRleHQiOiIiLCJsaW5rIjpudWxsLCJncm91cFBheW1lbnRDYXJkRGVzaWduIjpudWxsLCJncm91cFNwZWNpYWx0aWVzRGVzaWduIjpudWxsLCJ5ZWFyRXN0YWJpbGlzaGVkR3JvdXAiOm51bGwsInBob25lVGV4dFN0eWxlcyI6bnVsbCwiZ3JvdXBBc3NvY2lhdGlvbnNEZXNpZ24iOm51bGwsInNwZWNpYWx0aWVzQnVsbGV0IjoiYnVsbGV0IiwiaDNGZWF0TWVzc2FnZVRleHQiOm51bGwsInRvZ2dsZUgzQnJhbmRzIjpudWxsLCJhZGRyZXNzMiI6dHJ1ZSwiYWRkcmVzczEiOnRydWUsImNhcmRBbGlnbm1lbnQiOiJwaWNvbnMtY2VudGVyIiwiZ3JvdXBMb2dvRGVzaWduIjpudWxsLCJncm91cE9wZW5Ib3Vyc0Rlc2lnbiI6bnVsbCwiZmVhdE1lc3NhZ2VHcm91cCI6bnVsbCwia2V5d29yZHNCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM0VtYWlsIjpudWxsLCJzZXJ2aWNlc0J1bGxldCI6bnVsbCwiZ3JvdXBCcmFuZHNEZXNpZ24iOm51bGwsInByb2R1Y3RzQnVsbGV0IjoiYnVsbGV0IiwibGFuZ3VhZ2VzR3JvdXAiOm51bGwsImhvdXJzR3JvdXAiOm51bGx9"> <a onclick=";return dm_gaq_push_event('ClickToCall', 'Call',null, dmAPI.getSiteName(), this);" data-yext-field="phone" class="yextPhoneText"> <span class="text"></span> 827</a> 828 <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> 829 <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> 830<!-- Load Yext Script into page source so schema validates with Structured Data testing tool --></div> 831 <div class="u_1278844745 widget-7b6cfb dmCustomWidget" data-lazy-load="" data-title="" id="1278844745" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" icon="false" surround="false" data-widget-id="7b6cfbac88324cffbaaf57354cd7a334" data-widget-version="227" data-widget-config="eyJnZXREaXJlY3Rpb25zVGV4dCI6IkdldCBEaXJlY3Rpb25zIiwiZ3JvdXBZZWFyRXN0YWJsaXNoZWQiOm51bGwsImgzRW1haWxUZXh0IjoiIiwidG9nZ2xlSDNBc3NvY2lhdGlvbnMiOm51bGwsImdyb3VwQml6TmFtZURlc2lnbiI6bnVsbCwidG9nZ2xlSDNTZXJ2aWNlcyI6bnVsbCwidHlwZSI6ImFkZHJlc3MiLCJib2xkTG9jYXRpb25OYW1lIjpmYWxzZSwiY29sb3JQaWNrZXIxIjpudWxsLCJoM1BheW1lbnRzVGV4dCI6bnVsbCwiZ3JvdXBHb29nbGVBdHRyaWJ1dGVzIjpudWxsLCJwYXltZW50R3JvdXAiOm51bGwsInRvZ2dsZUgzU3BlY2lhbHRpZXMiOm51bGwsInNlcnZpY2VBcmVhR3JvdXAiOm51bGwsInN0YXRlIjp0cnVlLCJncm91cFNvY2lhbEljb25zIjpudWxsLCJ0b2dnbGVIM1NlcnZpY2VBcmVhIjpudWxsLCJzb2NpYWxHcm91cCI6bnVsbCwiemlwIjp0cnVlLCJwaG9uZUxpc3RTdHlsZXMiOm51bGwsImNhcmRTdHlsZURhcmtPckxpZ2h0IjoidmFsdWUzIiwiaDNZZWFySGVhZFRleHQiOiIiLCJwYXltZW50T3B0aW9uc0J1bGxldCI6ImJ1bGxldCIsIi5hZGRyZXNzSGVhZGVyIjpudWxsLCJ0b2dnbGVIM2ZlYXRNZXNzYWdlIjpudWxsLCJicmFuZHNHcm91cCI6bnVsbCwicHJvZHVjdHNHcm91cCI6bnVsbCwiaDNLZXl3b3Jkc1RleHQiOm51bGwsInNjcmlwdCI6IiIsImdyb3VwS2V5d29yZHNEZXNpZ24iOm51bGwsImdyb3VwQXR0cmlidXRlcyI6bnVsbCwic29jaWFsSWNvbnNBbGlnbm1lbnQiOiJsZWZ0IiwibGFuZ3VhZ2VzQnVsbGV0IjoiYnVsbGV0IiwiZ3JvdXBFbWFpbERlc2lnbiI6bnVsbCwiaDNIb2xpZGF5SG91cnMiOiJIb2xpZGF5IEhvdXJzIiwic2hvd1BheW1lbnRzQXMiOm51bGwsInNlcnZpY2VzR3JvdXAiOm51bGwsImJvbGRTdGF0dXNUZXh0Ijp0cnVlLCJoM1NvY2lhbFRleHQiOm51bGwsImxvZ29Hcm91cCI6bnVsbCwiZ3JvdXBQaG9uZURlc2lnbiI6bnVsbCwicGhvbmVHcm91cCI6bnVsbCwiY2l0eSI6dHJ1ZSwiZ3JvdXBCaXpEZXNEZXNpZ24iOm51bGwsImgzaG91cnNUZXh0IjoiIiwiaDNTZXJ2aWNlQXJlYVRleHQiOm51bGwsImlzTGlzdCI6dHJ1ZSwiYm9sZEhvdXJzIjp0cnVlLCJ0b2dnbGVIM2hvdXJzIjpudWxsLCJncm91cEFkZGl0aW9uYWxIb3Vyc1RleHQiOm51bGwsImRlc2NyaXB0aW9uVGV4dEdyb3VwIjpudWxsLCJicmFuZHNCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM2hvbGlkYXlIb3VycyI6dHJ1ZSwiYXNzb2NpYXRpb25zQnVsbGV0IjoiYnVsbGV0IiwibG9jYXRpb25Hcm91cCI6bnVsbCwidG9nZ2xlSDNHb29nbGVBdHRyaWJ1dGVzIjp0cnVlLCJ0b2dnbGVIM2Rlc2NyaXB0aW9uIjpudWxsLCJob2xpZGF5SG91cnNCdWxsZXQiOiJidWxsZXRzIiwidG9nZ2xlSDNMYW5ndWFnZXMiOm51bGwsInBob25lVHlwZSI6InBob25lIiwibG9jYXRpb25OYW1lIjp0cnVlLCJ0b2dnbGVIM1BheW1lbnRzIjpudWxsLCJzZXJ2aWNlQXJlYUJ1bGxldCI6ImJ1bGxldCIsInRvZ2dsZUgzUHJvZHVjdHMiOm51bGwsImdyb3VwQWRkcmVzc0Rlc2lnbiI6bnVsbCwiUGhvbmUgSGVhZGVyIEdyb3VwIjpudWxsLCJ0b2dnbGVIM1NvY2lhbCI6bnVsbCwic2hvd1NlcnZpY2VBcmVhRmlyc3QiOm51bGwsImFkZGl0aW9uYWxIb3Vyc1RleHQiOm51bGwsImgzU3BlY2lhbHRpZXNUZXh0IjoiIiwidG9nZ2xlSDNZZWFyIjpudWxsLCJzcGVjaWFsdGllc0dyb3VwIjpudWxsLCJkcmF3TWFwIjpudWxsLCJpbnN0cnVjdGlvbnMiOm51bGwsImdyb3VwUHJvZHVjdHNEZXNpZ24iOm51bGwsImdyb3VwU2VydmljZUFyZWFEZXNpZ24iOm51bGwsImgzQWRkcmVzc1RleHQiOiIiLCJncm91cFNlcnZpY2VzRGVzaWduIjpudWxsLCJ0b2dnbGVIM1Bob25lTGlzdCI6bnVsbCwiZ3JvdXBGZWF0dXJlZE1lc3NhZ2VEZXNpZ24iOm51bGwsImgzU2VydmljZXNUZXh0IjpudWxsLCJoM1Bob25lVG
831V4dCI6IiIsImgzQXNzb2NpYXRpb25zVGV4dCI6IiIsInBheW1lbnRUZXh0R3JvdXAiOm51bGwsImgzRGVzY3JpcHRpb25UZXh0IjpudWxsLCJzaG93R2V0RGlyZWN0aW9uc0xpbmsiOmZhbHNlLCJncm91cFBheW1lbnREZWlzZ24iOm51bGwsImgzR29vZ2xlQXR0cmlidXRlcyI6IkJ1c2luZXNzIEF0dHJpYnV0ZXMiLCJ0b2dnbGVIM0FkZHJlc3MiOm51bGwsInNob3dFbWFpbEFzQnRuIjpudWxsLCJhc3NvY2lhdGlvbnNHcm91cCI6bnVsbCwiaDNQcm9kdWN0c1RleHQiOiIiLCJmb3JtYXRQaG9uZSI6dHJ1ZSwiZ3JvdXBMYW5ndWFnZXNEZXNpZ24iOm51bGwsInRvZ2dsZUgzS2V5d29yZHMiOm51bGwsImtleXdvcmRzR3JvdXAiOm51bGwsImFsdCI6bnVsbCwiaGlkZUhvdXJzTGlzdCI6ZmFsc2UsImdyb3VwSG9saWRheUhvdXJzRGVzaWduIjpudWxsLCJwaG9uZVNob3dBcyI6ImJ1dHRvbiIsImdvb2dsZUF0dHJpYnV0ZXNGb3JtYXR0ZWRMaXN0QnVsbGV0IjoiYnVsbGV0cyIsIm1hcFpvb20iOiIxMyIsImhvbGlkYXlIb3VycyI6bnVsbCwiZ3JvdXBIb3Vyc0Rlc2lnbiI6bnVsbCwiaDNMYW5ndWFnZXNUZXh0IjpudWxsLCJob3Vyc1Nob3dBcyI6Imxpc3QiLCJlbWFpbFRleHRHcm91cCI6bnVsbCwicGhvbmVMaXN0U3R5bGUiOiJidWxsZXRzIiwidG9nZ2xlMSI6bnVsbCwiaDNCcmFuZFRleHQiOiIiLCJsaW5rIjpudWxsLCJncm91cFBheW1lbnRDYXJkRGVzaWduIjpudWxsLCJncm91cFNwZWNpYWx0aWVzRGVzaWduIjpudWxsLCJ5ZWFyRXN0YWJpbGlzaGVkR3JvdXAiOm51bGwsInBob25lVGV4dFN0eWxlcyI6bnVsbCwiZ3JvdXBBc3NvY2lhdGlvbnNEZXNpZ24iOm51bGwsInNwZWNpYWx0aWVzQnVsbGV0IjoiYnVsbGV0IiwiaDNGZWF0TWVzc2FnZVRleHQiOm51bGwsInRvZ2dsZUgzQnJhbmRzIjpudWxsLCJhZGRyZXNzMiI6dHJ1ZSwiYWRkcmVzczEiOnRydWUsImNhcmRBbGlnbm1lbnQiOiJwaWNvbnMtY2VudGVyIiwiZ3JvdXBMb2dvRGVzaWduIjpudWxsLCJncm91cE9wZW5Ib3Vyc0Rlc2lnbiI6bnVsbCwiZmVhdE1lc3NhZ2VHcm91cCI6bnVsbCwia2V5d29yZHNCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM0VtYWlsIjpudWxsLCJzZXJ2aWNlc0J1bGxldCI6bnVsbCwiZ3JvdXBCcmFuZHNEZXNpZ24iOm51bGwsInByb2R1Y3RzQnVsbGV0IjoiYnVsbGV0IiwibGFuZ3VhZ2VzR3JvdXAiOm51bGwsImhvdXJzR3JvdXAiOm51bGx9"> <div class="yextAddress"> <div> <span class="" data-yext-field="locationName"></span> 832</div> 833 <div> <span data-yext-field="address1"></span> 834</div> 835 <div> <span data-yext-field="address2"></span> 836</div> 837 <div> <span> <span data-yext-field="city"></span> 838 <span style="margin-left: -3px;">,</span> 839</span> 840 <span> <span data-yext-field="state"></span> 841</span> 842 <span> <span data-yext-field="zip"></span> 843</span> 844</div> 845</div> 846 <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> 847 <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> 848<!-- Load Yext Script into page source so schema validates with Structured Data testing tool --></div> 849</div> 850</div> 851</div> 852 <div class="u_1827972418 dmRespRow fullBleedChanged fullBleedMode" 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-text-color main-navigation unifiednav dmLinksMenu" data-auto="links-menu" role="navigation" layout-main="horizontal_nav_layout_2" 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=" 853 Home 854 " data-auto="page-text-style">Home<span class="icon icon-angle-down"></span> 855</span> 856</a> 857</li> 858 <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_010101728835 unifiednav__item_has-sub-nav" target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 859 Skin Care 860 " data-auto="page-text-style">Skin Care<span class="icon icon-angle-down"></span> 861</span> 862</a> 863 <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="/aesthetics-and-facials" class="unifiednav__item unav-item dmUDNavigationItem_010101922484 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 864 Aesthetics and Facials 865 " data-auto="page-text-style">Aesthetics and Facials<span class="icon icon-angle-right"></span> 866</span> 867</a> 868</li> 869 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/cutera-secret-rf-microneedling" class="unifiednav__item unav-item dmUDNavigationItem_010101292267 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 870 Cutera Secret RF Microneedling 871 " data-auto="page-text-style">Cutera Secret RF Microneedling<span class="icon icon-angle-right"></span> 872</span> 873</a> 874</li> 875 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/cutera-xeo-laser-genesis" class="unifiednav__item unav-item dmUDNavigationItem_010101505787 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 876 Cutera Xeo Laser Genesis 877 " data-auto="page-text-style">Cutera Xeo Laser Genesis<span class="icon icon-angle-right"></span> 878</span> 879</a> 880</li> 881 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/fraxel-laser-resurfacing" class="unifiednav__item unav-item dmUDNavigationItem_010101493779 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 882 Fraxel Laser Resurfacing 883 " data-auto="page-text-style">
883Fraxel Laser Resurfacing<span class="icon icon-angle-right"></span> 884</span> 885</a> 886</li> 887 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/injectables-and-medical-tattooing" class="unifiednav__item unav-item dmUDNavigationItem_01010167814 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 888 Injectables and Medical Tattooing 889 " data-auto="page-text-style">Injectables and Medical Tattooing<span class="icon icon-angle-right"></span> 890</span> 891</a> 892</li> 893</ul> 894</li> 895 <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_010101669358 unifiednav__item_has-sub-nav" target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 896 Wellness and Healing 897 " data-auto="page-text-style">Wellness and Healing<span class="icon icon-angle-down"></span> 898</span> 899</a> 900 <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="/acupuncture75626afd" class="unifiednav__item unav-item dmUDNavigationItem_010101286686 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 901 Acupuncture 902 " data-auto="page-text-style">Acupuncture<span class="icon icon-angle-right"></span> 903</span> 904</a> 905</li> 906 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/health-and-wellness-coaching" class="unifiednav__item unav-item dmUDNavigationItem_010101204639 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Health & Wellness Coaching" data-auto="page-text-style">Health & Wellness Coaching<span class="icon icon-angle-right"></span> 907</span> 908</a> 909</li> 910 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="https://ridgelyretreat.isagenix.com/en-us" class="unifiednav__item unav-item dmUDNavigationItem_010101891795 " target="_blank" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Isagenix" data-auto="page-text-style">Isagenix<span class="icon icon-angle-right"></span> 911</span> 912</a> 913</li> 914 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/life-coaching" class="unifiednav__item unav-item dmUDNavigationItem_010101559391 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Life Coaching with Dr. Gwen" data-auto="page-text-style">Life Coaching with Dr. Gwen<span class="icon icon-angle-right"></span> 915</span> 916</a> 917</li> 918 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/massage-services" class="unifiednav__item unav-item dmUDNavigationItem_010101831643 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 919 Massage Services 920 " data-auto="page-text-style">Massage Services<span class="icon icon-angle-right"></span> 921</span> 922</a> 923</li> 924 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="https://growthpartner.nutrafol.com/pages/ridgelyretreat" class="unifiednav__item unav-item dmUDNavigationItem_010101364505 " target="_blank" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Nutrafol" data-auto="page-text-style">Nutrafol<span class="icon icon-angle-right"></span> 925</span> 926</a> 927</li> 928 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/reiki-energy-healing" class="unifiednav__item unav-item dmUDNavigationItem_010101933354 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 929 Reiki/ Energy Healing 930 " data-auto="page-text-style">Reiki/ Energy Healing<span class="icon icon-angle-right"></span> 931</span> 932</a> 933</li> 934 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/thermography" class="unifiednav__item unav-item dmUDNavigationItem_010101153746 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 935 Thermography 936 " data-auto="page-text-style">Thermography<span class="icon icon-angle-right"></span> 937</span> 938</a> 939</li> 940 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/yoga" class="unifiednav__item unav-item dmUDNavigationItem_010101397950 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 941 Yoga 942 " data-auto="page-text-style">Yoga<span class="icon icon-angle-right"></span> 943</span> 944</a> 945</li> 946</ul> 947</li> 948 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/videos" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101809270 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 949 Videos 950 " data-auto="page-text-style">Videos<span class="icon icon-angle-down"></span> 951</span> 952</a> 953</li> 954 <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=" 955 Reviews 956 " data-auto="page-text-style">Reviews<span class="icon icon-angle-down"></span> 957</span> 958</a> 959</li> 960 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/our-team" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101788393 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 961 Our Team 962 " data-auto="page-text-style">Our Team<span class="icon icon-angle-down"></span> 963</span> 964</a> 965</li> 966 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0">
966 <a href="/classes" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101500622 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 967 Classes 968 " data-auto="page-text-style">Classes<span class="icon icon-angle-down"></span> 969</span> 970</a> 971</li> 972 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/special-events" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101980650 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 973 Special Events 974 " data-auto="page-text-style">Special Events<span class="icon icon-angle-down"></span> 975</span> 976</a> 977</li> 978</ul> 979</nav> 980</div> 981</div> 982</div> 983</div> 984</div> 985</div> 986 <div class="dmRespRow dmRespRowStable dmRespRowNoPadding dmPageTitleRow "> <div class="dmRespColsWrapper"> <div class="large-12 dmRespCol"> <div id="innerBar" class="innerBar lineInnerBar dmDisplay_None"> <div class="titleLine display_None"><hr/></div> 987<!-- 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">Gift Cards</div> 988</div> 989 <div class="titleLine display_None"><hr/></div> 990</div> 991</div> 992</div> 993</div> 994 <div dmwrapped="true" id="dmFirstContainer" class="dmBody u_dmStyle_template_gift-cards dm-home-page" themewaschanged="true"> <div id="allWrapper" class="allWrapper" data-auto="all-wrapper"><!-- navigation placeholders --> <div id="dm_content" class="dmContent" role="main"> <div dm:templateorder="170" class="dmHomeRespTmpl mainBorder dmRespRowsWrapper dmFullRowRespTmpl" id="1716942098"> <div class="dmRespRow" id="1837483223"> <div class="dmRespColsWrapper" id="1922200611"> <div class="dmRespCol large-12 medium-12 small-12" id="1013734367"> <div data-element-type="html" class="dmCustomHtml" id="1835120738"><!-- BEGIN WELLNESSLIVING CODE --> <div class="wl-widget" data="k_skin=268557&k_business=65091"></div> 995
995<script src="https://www.wellnessliving.com/rs/skin-widget-static.js" type="text/javascript"> 996 997 998 999 1000 </script>
1000 1001 <a href="https://www.wellnessliving.com/yoga/" rel="nofollow" style="display: block; float: right; margin-top: 16px;"><img src=" 1002https://d1v4s90m0bk5bo.cloudfront.net/E/S.png" alt="Yoga management 1003software" height="39" width="auto" onerror="handleImageLoadError(this)"/></a> 1004<br clear="both"/><!-- END WELLNESSLIVING CODE --></div> 1005</div> 1006</div> 1007</div> 1008</div> 1009</div> 1010</div> 1011</div> 1012 <div class="dmFooterContainer"> <div id="fcontainer" class="f_hcontainer dmFooter p_hfcontainer"> <div dm:templateorder="250" class="dmFooterResp generalFooter" id="1943048428"> <div class="u_1642442602 dmRespRow" id="1642442602"> <div class="dmRespColsWrapper" id="1812968861"> <div class="dmRespCol small-12 u_1073812265 medium-4 large-4" id="1073812265"> <a data-display-type="block" class="u_1313372850 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient" file="false" href="/classes" data-element-type="dButtonLinkId" id="1313372850"> <span class="iconBg" aria-hidden="true" id="1781348857"> <span class="icon hasFontIcon icon-star" id="1764818211"></span> 1013</span> 1014 <span class="text" id="1996146078">Class Scheduler</span> 1015</a> 1016</div> 1017 <div class="dmRespCol small-12 medium-4 large-4 content-removed" id="1316727606"> <div class="u_1319798047 dmRespRow" id="1319798047"> <div class="dmRespColsWrapper" id="1434108935"> <div class="dmRespCol small-12 medium-12 large-12" id="1214611056"> <a data-display-type="block" class="u_1454285451 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient" file="false" href="/gift-cards" data-element-type="dButtonLinkId" id="1454285451"> <span class="iconBg" aria-hidden="true" id="1535614613"> <span class="icon hasFontIcon icon-star" id="1488447936"></span> 1018</span> 1019 <span class="text" id="1397777716">Gift Cards</span> 1020</a> 1021</div> 1022</div> 1023</div> 1024</div> 1025 <div class="dmRespCol small-12 u_1844018277 medium-4 large-4" id="1844018277"> <a data-display-type="block" class="u_1953677432 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient" file="false" href="/services-scheduler" data-element-type="dButtonLinkId" id="1953677432"> <span class="iconBg" aria-hidden="true" id="1271391191"> <span class="icon hasFontIcon icon-star" id="1036251478"></span> 1026</span> 1027 <span class="text" id="1198332055">Services Scheduler</span> 1028</a> 1029</div> 1030</div> 1031</div> 1032 <div class="u_1427184111 dmRespRow fullBleedChanged fullBleedMode" style="text-align: center;" id="1427184111"> <div class="dmRespColsWrapper" id="1650955481"> <div class="dmRespCol small-12 u_1951617753 large-3 medium-3" id="1951617753"> <div class="u_1424790133 dmRespRow" id="1424790133"> <div class="dmRespColsWrapper" id="1027906560"> <div class="dmRespCol small-12 u_1259667242 medium-12 large-12" id="1259667242"> <div class="u_1358689449 graphicWidget" data-element-type="graphic" data-widget-type="graphic" id="1358689449"> <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 70 70" id="1433059106" class="svg u_1433059106" 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 1033 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 1034 c-3.3,0-6-2.7-6-6s2.7-6,6-6c3.3,0,6,2.7,6,6S38.3,33,35,33z" id="1703144790"></path> 1035</svg> 1036</div> 1037 <div class="widget-7b6cfb u_1931949259 dmCustomWidget" data-lazy-load="" data-title="" id="1931949259" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" icon="false" surround="false" data-widget-id="7b6cfbac88324cffbaaf57354cd7a334" data-widget-version="227" data-widget-config="eyJnZXREaXJlY3Rpb25zVGV4dCI6IkdldCBEaXJlY3Rpb25zIiwiZ3JvdXBZZWFyRXN0YWJsaXNoZWQiOm51bGwsImgzRW1haWxUZXh0IjoiIiwidG9nZ2xlSDNBc3NvY2lhdGlvbnMiOm51bGwsImdyb3VwQml6TmFtZURlc2lnbiI6bnVsbCwidG9nZ2xlSDNTZXJ2aWNlcyI6bnVsbCwidHlwZSI6ImFkZHJlc3MiLCJib2xkTG9jYXRpb25OYW1lIjpmYWxzZSwiY29sb3JQaWNrZXIxIjpudWxsLCJoM1BheW1lbnRzVGV4dCI6bnVsbCwiZ3JvdXBHb29nbGVBdHRyaWJ1dGVzIjpudWxsLCJwYXltZW50R3JvdXAiOm51bGwsInRvZ2dsZUgzU3BlY2lhbHRpZXMiOm51bGwsInNlcnZpY2VBcmVhR3JvdXAiOm51bGwsInN0YXRlIjp0cnVlLCJncm91cFNvY2lhbEljb25zIjpudWxsLCJ0b2dnbGVIM1NlcnZpY2VBcmVhIjpudWxsLCJzb2NpYWxHcm91cCI6bnVsbCwiemlwIjp0cnVlLCJwaG9uZUxpc3RTdHlsZXMiOm51bGwsImNhcmRTdHlsZURhcmtPckxpZ2h0IjoiX2Quc3ZnIiwiaDNZZWFySGVhZFRleHQiOiIiLCJwYXltZW50T3B0aW9uc0J1bGxldCI6ImJ1bGxldCIsIi5hZGRyZXNzSGVhZGVyIjpudWxsLCJ0b2dnbGVIM2ZlYXRNZXNzYWdlIjpudWxsLCJicmFuZHNHcm91cCI6bnVsbCwicHJvZHVjdHNHcm91cCI6bnVsbCwiaDNLZXl3b3Jkc1RleHQiOm51bGwsInNjcmlwdCI6IjxzY3JpcHQgYXN5bmMgc3JjP
1037VwiaHR0cHM6Ly9rbm93bGVkZ2V0YWdzLnlleHRwYWdlcy5uZXQvZW1iZWQ/a2V5PVNiMnZJbzMzaktwNlJUVlV3emI0T2FyeUZaRl85OVFvd2dQQjZmZzR2SHJZYkwxQXZEdl94elBfNHVJQU5ZTTEmYWNjb3VudF9pZD03MDAzMjU4NDMwJmVudGl0eV9pZD03MDAzMjU4NDMwJmxvY2FsZT1lblwiIHR5cGU9XCJ0ZXh0L2phdmFzY3JpcHRcIj48L3NjcmlwdD4iLCJncm91cEtleXdvcmRzRGVzaWduIjpudWxsLCJncm91cEF0dHJpYnV0ZXMiOm51bGwsInNvY2lhbEljb25zQWxpZ25tZW50IjoibGVmdCIsImxhbmd1YWdlc0J1bGxldCI6ImJ1bGxldCIsImdyb3VwRW1haWxEZXNpZ24iOm51bGwsImgzSG9saWRheUhvdXJzIjoiSG9saWRheSBIb3VycyIsInNob3dQYXltZW50c0FzIjpudWxsLCJzZXJ2aWNlc0dyb3VwIjpudWxsLCJib2xkU3RhdHVzVGV4dCI6dHJ1ZSwiaDNTb2NpYWxUZXh0IjpudWxsLCJsb2dvR3JvdXAiOm51bGwsImdyb3VwUGhvbmVEZXNpZ24iOm51bGwsInBob25lR3JvdXAiOm51bGwsImNpdHkiOnRydWUsImdyb3VwQml6RGVzRGVzaWduIjpudWxsLCJoM2hvdXJzVGV4dCI6IiIsImgzU2VydmljZUFyZWFUZXh0IjpudWxsLCJpc0xpc3QiOnRydWUsImJvbGRIb3VycyI6dHJ1ZSwidG9nZ2xlSDNob3VycyI6bnVsbCwiZ3JvdXBBZGRpdGlvbmFsSG91cnNUZXh0IjpudWxsLCJkZXNjcmlwdGlvblRleHRHcm91cCI6bnVsbCwiYnJhbmRzQnVsbGV0IjoiYnVsbGV0IiwidG9nZ2xlSDNob2xpZGF5SG91cnMiOnRydWUsImFzc29jaWF0aW9uc0J1bGxldCI6ImJ1bGxldCIsImxvY2F0aW9uR3JvdXAiOm51bGwsInRvZ2dsZUgzR29vZ2xlQXR0cmlidXRlcyI6dHJ1ZSwidG9nZ2xlSDNkZXNjcmlwdGlvbiI6bnVsbCwiaG9saWRheUhvdXJzQnVsbGV0IjoiYnVsbGV0cyIsInRvZ2dsZUgzTGFuZ3VhZ2VzIjpudWxsLCJwaG9uZVR5cGUiOiJwaG9uZSIsImxvY2F0aW9uTmFtZSI6dHJ1ZSwidG9nZ2xlSDNQYXltZW50cyI6bnVsbCwic2VydmljZUFyZWFCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM1Byb2R1Y3RzIjpudWxsLCJncm91cEFkZHJlc3NEZXNpZ24iOm51bGwsIlBob25lIEhlYWRlciBHcm91cCI6bnVsbCwidG9nZ2xlSDNTb2NpYWwiOm51bGwsInNob3dTZXJ2aWNlQXJlYUZpcnN0IjpudWxsLCJhZGRpdGlvbmFsSG91cnNUZXh0IjpudWxsLCJoM1NwZWNpYWx0aWVzVGV4dCI6IiIsInRvZ2dsZUgzWWVhciI6bnVsbCwic3BlY2lhbHRpZXNHcm91cCI6bnVsbCwiZHJhd01hcCI6bnVsbCwiaW5zdHJ1Y3Rpb25zIjpudWxsLCJncm91cFByb2R1Y3RzRGVzaWduIjpudWxsLCJncm91cFNlcnZpY2VBcmVhRGVzaWduIjpudWxsLCJoM0FkZHJlc3NUZXh0IjoiVklTSVQgVVMiLCJncm91cFNlcnZpY2VzRGVzaWduIjpudWxsLCJ0b2dnbGVIM1Bob25lTGlzdCI6bnVsbCwiZ3JvdXBGZWF0dXJlZE1lc3NhZ2VEZXNpZ24iOm51bGwsImgzU2VydmljZXNUZXh0IjpudWxsLCJoM1Bob25lVGV4dCI6IiIsImgzQXNzb2NpYXRpb25zVGV4dCI6IiIsInBheW1lbnRUZXh0R3JvdXAiOm51bGwsImgzRGVzY3JpcHRpb25UZXh0IjpudWxsLCJzaG93R2V0RGlyZWN0aW9uc0xpbmsiOmZhbHNlLCJncm91cFBheW1lbnREZWlzZ24iOm51bGwsImgzR29vZ2xlQXR0cmlidXRlcyI6IkJ1c2luZXNzIEF0dHJpYnV0ZXMiLCJ0b2dnbGVIM0FkZHJlc3MiOnRydWUsInNob3dFbWFpbEFzQnRuIjpudWxsLCJhc3NvY2lhdGlvbnNHcm91cCI6bnVsbCwiaDNQcm9kdWN0c1RleHQiOiIiLCJmb3JtYXRQaG9uZSI6dHJ1ZSwiZ3JvdXBMYW5ndWFnZXNEZXNpZ24iOm51bGwsInRvZ2dsZUgzS2V5d29yZHMiOm51bGwsImtleXdvcmRzR3JvdXAiOm51bGwsImFsdCI6bnVsbCwiaGlkZUhvdXJzTGlzdCI6ZmFsc2UsImdyb3VwSG9saWRheUhvdXJzRGVzaWduIjpudWxsLCJwaG9uZVNob3dBcyI6ImJ1dHRvbiIsImdvb2dsZUF0dHJpYnV0ZXNGb3JtYXR0ZWRMaXN0QnVsbGV0IjoiYnVsbGV0cyIsIm1hcFpvb20iOiIxMyIsImhvbGlkYXlIb3VycyI6bnVsbCwiZ3JvdXBIb3Vyc0Rlc2lnbiI6bnVsbCwiaDNMYW5ndWFnZXNUZXh0IjpudWxsLCJob3Vyc1Nob3dBcyI6Imxpc3QiLCJlbWFpbFRleHRHcm91cCI6bnVsbCwicGhvbmVMaXN0U3R5bGUiOiJidWxsZXRzIiwidG9nZ2xlMSI6bnVsbCwiaDNCcmFuZFRleHQiOiIiLCJsaW5rIjpudWxsLCJncm91cFBheW1lbnRDYXJkRGVzaWduIjpudWxsLCJncm91cFNwZWNpYWx0aWVzRGVzaWduIjpudWxsLCJ5ZWFyRXN0YWJpbGlzaGVkR3JvdXAiOm51bGwsInBob25lVGV4dFN0eWxlcyI6bnVsbCwiZ3JvdXBBc3NvY2lhdGlvbnNEZXNpZ24iOm51bGwsInNwZWNpYWx0aWVzQnVsbGV0IjoiYnVsbGV0IiwiaDNGZWF0TWVzc2FnZVRleHQiOm51bGwsInRvZ2dsZUgzQnJhbmRzIjpudWxsLCJhZGRyZXNzMiI6dHJ1ZSwiYWRkcmVzczEiOnRydWUsImNhcmRBbGlnbm1lbnQiOiJwaWNvbnMtY2VudGVyIiwiZ3JvdXBMb2dvRGVzaWduIjpudWxsLCJncm91cE9wZW5Ib3Vyc0Rlc2lnbiI6bnVsbCwiZmVhdE1lc3NhZ2VHcm91cCI6bnVsbCwia2V5d29yZHNCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM0VtYWlsIjpudWxsLCJzZXJ2aWNlc0J1bGxldCI6bnVsbCwiZ3JvdXBCcmFuZHNEZXNpZ24iOm51bGwsInByb2R1Y3RzQnVsbGV0IjoiYnVsbGV0IiwibGFuZ3VhZ2VzR3JvdXAiOm51bGwsImhvdXJzR3JvdXAiOm51bGx9"> <h3 class="addressHeader">VISIT US</h3> 1038 <div class="yextAddress"> <div> <span class="" data-yext-field="locationName"></span> 1039</div> 1040 <div> <span data-yext-field="address1"></span> 1041</div> 1042 <div> <span data-yext-field="address2"></span> 1043</div> 1044 <div> <span> <span data-yext-field="city"></span> 1045 <span style="margin-left: -3px;">,</span> 1046</span> 1047 <span> <span data-yext-field="state"></span> 1048</span> 1049 <span> <span data-yext-field="zip"></span> 1050</span> 1051</div> 1052</div> 1053 <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> 1054 <div class="wrongScriptError" data-nosnippet=""><!--The Yext script you entered is empty or incorrect: <script async src="https://knowledgetags.yextpages.net/embed?key=Sb2vIo33jKp6RTVUwzb4OaryFZF_99QowgPB6fg4vHrYbL1AvDv_xzP_4uIANYM1&account_id=7003258430&entity_id=7003258430&locale=en" type="text/javascript"></script>.<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> 1055<!-- Load Yext Script into page source so schema validates with Structured Data testing tool -->
1055<script async="" src="https://knowledgetags.yextpages.net/embed?key=Sb2vIo33jKp6RTVUwzb4OaryFZF_99QowgPB6fg4vHrYbL1AvDv_xzP_4uIANYM1&account_id=7003258430&entity_id=7003258430&locale=en" type="text/javascript"> 1056 </script>
1056 1057</div> 1058 <div class="u_1877182839 widget-7b6cfb dmCustomWidget" data-lazy-load="" data-title="" id="1877182839" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" icon="false" surround="false" data-widget-id="7b6cfbac88324cffbaaf57354cd7a334" data-widget-version="227" data-widget-config="eyJnZXREaXJlY3Rpb25zVGV4dCI6IkdldCBEaXJlY3Rpb25zIiwiZ3JvdXBZZWFyRXN0YWJsaXNoZWQiOm51bGwsImgzRW1haWxUZXh0IjoiIiwidG9nZ2xlSDNBc3NvY2lhdGlvbnMiOm51bGwsImdyb3VwQml6TmFtZURlc2lnbiI6bnVsbCwidG9nZ2xlSDNTZXJ2aWNlcyI6bnVsbCwidHlwZSI6ImFkZHJlc3MiLCJib2xkTG9jYXRpb25OYW1lIjp0cnVlLCJjb2xvclBpY2tlcjEiOm51bGwsImgzUGF5bWVudHNUZXh0IjpudWxsLCJncm91cEdvb2dsZUF0dHJpYnV0ZXMiOm51bGwsInBheW1lbnRHcm91cCI6bnVsbCwidG9nZ2xlSDNTcGVjaWFsdGllcyI6bnVsbCwic2VydmljZUFyZWFHcm91cCI6bnVsbCwic3RhdGUiOmZhbHNlLCJncm91cFNvY2lhbEljb25zIjpudWxsLCJ0b2dnbGVIM1NlcnZpY2VBcmVhIjpudWxsLCJzb2NpYWxHcm91cCI6bnVsbCwiemlwIjpmYWxzZSwicGhvbmVMaXN0U3R5bGVzIjpudWxsLCJjYXJkU3R5bGVEYXJrT3JMaWdodCI6Il9kLnN2ZyIsImgzWWVhckhlYWRUZXh0IjoiIiwicGF5bWVudE9wdGlvbnNCdWxsZXQiOiJidWxsZXQiLCIuYWRkcmVzc0hlYWRlciI6bnVsbCwidG9nZ2xlSDNmZWF0TWVzc2FnZSI6bnVsbCwiYnJhbmRzR3JvdXAiOm51bGwsInByb2R1Y3RzR3JvdXAiOm51bGwsImgzS2V5d29yZHNUZXh0IjpudWxsLCJzY3JpcHQiOiIiLCJncm91cEtleXdvcmRzRGVzaWduIjpudWxsLCJncm91cEF0dHJpYnV0ZXMiOm51bGwsInNvY2lhbEljb25zQWxpZ25tZW50IjoibGVmdCIsImxhbmd1YWdlc0J1bGxldCI6ImJ1bGxldCIsImdyb3VwRW1haWxEZXNpZ24iOm51bGwsImgzSG9saWRheUhvdXJzIjoiSG9saWRheSBIb3VycyIsInNob3dQYXltZW50c0FzIjpudWxsLCJzZXJ2aWNlc0dyb3VwIjpudWxsLCJib2xkU3RhdHVzVGV4dCI6dHJ1ZSwiaDNTb2NpYWxUZXh0IjpudWxsLCJsb2dvR3JvdXAiOm51bGwsImdyb3VwUGhvbmVEZXNpZ24iOm51bGwsInBob25lR3JvdXAiOm51bGwsImNpdHkiOmZhbHNlLCJncm91cEJpekRlc0Rlc2lnbiI6bnVsbCwiaDNob3Vyc1RleHQiOiIiLCJoM1NlcnZpY2VBcmVhVGV4dCI6bnVsbCwiaXNMaXN0Ijp0cnVlLCJib2xkSG91cnMiOnRydWUsInRvZ2dsZUgzaG91cnMiOm51bGwsImdyb3VwQWRkaXRpb25hbEhvdXJzVGV4dCI6bnVsbCwiZGVzY3JpcHRpb25UZXh0R3JvdXAiOm51bGwsImJyYW5kc0J1bGxldCI6ImJ1bGxldCIsInRvZ2dsZUgzaG9saWRheUhvdXJzIjp0cnVlLCJhc3NvY2lhdGlvbnNCdWxsZXQiOiJidWxsZXQiLCJsb2NhdGlvbkdyb3VwIjpudWxsLCJ0b2dnbGVIM0dvb2dsZUF0dHJpYnV0ZXMiOnRydWUsInRvZ2dsZUgzZGVzY3JpcHRpb24iOm51bGwsImhvbGlkYXlIb3Vyc0J1bGxldCI6ImJ1bGxldHMiLCJ0b2dnbGVIM0xhbmd1YWdlcyI6bnVsbCwicGhvbmVUeXBlIjoicGhvbmUiLCJsb2NhdGlvbk5hbWUiOmZhbHNlLCJ0b2dnbGVIM1BheW1lbnRzIjpudWxsLCJzZXJ2aWNlQXJlYUJ1bGxldCI6ImJ1bGxldCIsInRvZ2dsZUgzUHJvZHVjdHMiOm51bGwsImdyb3VwQWRkcmVzc0Rlc2lnbiI6bnVsbCwiUGhvbmUgSGVhZGVyIEdyb3VwIjpudWxsLCJ0b2dnbGVIM1NvY2lhbCI6bnVsbCwic2hvd1NlcnZpY2VBcmVhRmlyc3QiOm51bGwsImFkZGl0aW9uYWxIb3Vyc1RleHQiOm51bGwsImgzU3BlY2lhbHRpZXNUZXh0IjoiIiwidG9nZ2xlSDNZZWFyIjpudWxsLCJzcGVjaWFsdGllc0dyb3VwIjpudWxsLCJkcmF3TWFwIjpudWxsLCJpbnN0cnVjdGlvbnMiOm51bGwsImdyb3VwUHJvZHVjdHNEZXNpZ24iOm51bGwsImdyb3VwU2VydmljZUFyZWFEZXNpZ24iOm51bGwsImgzQWRkcmVzc1RleHQiOiJWSVNJVCBVUyIsImdyb3VwU2VydmljZXNEZXNpZ24iOm51bGwsInRvZ2dsZUgzUGhvbmVMaXN0IjpudWxsLCJncm91cEZlYXR1cmVkTWVzc2FnZURlc2lnbiI6bnVsbCwiaDNTZXJ2aWNlc1RleHQiOm51bGwsImgzUGhvbmVUZXh0IjoiIiwiaDNBc3NvY2lhdGlvbnNUZXh0IjoiIiwicGF5bWVudFRleHRHcm91cCI6bnVsbCwiaDNEZXNjcmlwdGlvblRleHQiOm51bGwsInNob3dHZXREaXJlY3Rpb25zTGluayI6dHJ1ZSwiZ3JvdXBQYXltZW50RGVpc2duIjpudWxsLCJoM0dvb2dsZUF0dHJpYnV0ZXMiOiJCdXNpbmVzcyBBdHRyaWJ1dGVzIiwidG9nZ2xlSDNBZGRyZXNzIjpmYWxzZSwic2hvd0VtYWlsQXNCdG4iOm51bGwsImFzc29jaWF0aW9uc0dyb3VwIjpudWxsLCJoM1Byb2R1Y3RzVGV4dCI6IiIsImZvcm1hdFBob25lIjp0cnVlLCJncm91cExhbmd1YWdlc0Rlc2lnbiI6bnVsbCwidG9nZ2xlSDNLZXl3b3JkcyI6bnVsbCwia2V5d29yZHNHcm91cCI6bnVsbCwiYWx0IjpudWxsLCJoaWRlSG91cnNMaXN0IjpmYWxzZSwiZ3JvdXBIb2xpZGF5SG91cnNEZXNpZ24iOm51bGwsInBob25lU2hvd0FzIjoiYnV0dG9uIiwiZ29vZ2xlQXR0cmlidXRlc0Zvcm1hdHRlZExpc3RCdWxsZXQiOiJidWxsZXRzIiwibWFwWm9vbSI6IjEzIiwiaG9saWRheUhvdXJzIjpudWxsLCJncm91cEhvdXJzRGVzaWduIjpudWxsLCJoM0xhbmd1YWdlc1RleHQiOm51bGwsImhvdXJzU2hvd0FzIjoibGlzdCIsImVtYWlsVGV4dEdyb3VwIjpudWxsLCJwaG9uZUxpc3RTdHlsZSI6ImJ1bGxldHMiLCJ0b2dnbGUxIjpudWxsLCJoM0JyYW5kVGV4dCI6IiIsImxpbmsiOm51bGwsImdyb3VwUGF5bWVudENhcmREZXNpZ24iOm51bGwsImdyb3VwU3BlY2lhbHRpZXNEZXNpZ24iOm51bGwsInllYXJFc3RhYmlsaXNoZWRHcm91cCI6bnVsbCwicGhvbmVUZXh0U3R5bGVzIjpudWxsLCJncm91cEFzc29jaWF0aW9uc0Rlc2lnbiI6bnVsbCwic3BlY2lhbHRpZXNCdWxsZXQiOiJidWxsZXQiLCJoM0ZlYXRNZXNzYWdlVGV4dCI6bnVsbCwidG9nZ2xlSDNCcmFuZHMiOm51bGwsImFkZHJlc3MyIjpmYWxzZSwiYWRkcmVzczEiOmZhbHNlLCJjYXJkQWxpZ25tZW50IjoicGljb25zLWNlbnRlciIsImdyb3VwTG9nb0Rlc2lnbiI6bnVsbCwiZ3JvdXBPcGVuSG91cnNEZXNpZ24iOm51bGwsImZlYXRNZXNzYWdlR3JvdXAiOm51bGwsImtleXdvcmRzQnVsbGV0IjoiYnVsbGV0IiwidG9nZ2xlSDNFbWFpbCI6bnVsbCwic2VydmljZXNCdWxsZXQiOm51bGwsImdyb3VwQnJhbmRzRGVzaWduIjpudWxsLCJwcm9kdWN0c0J1bGxldCI6ImJ1bGxldCIsImxhbmd1YWdlc0dyb3VwIjpudWxsLCJob3Vyc0dyb3VwIjpudWxsfQ=="> <div class="yextAddress"> <div style="display:none"> <span class="bold" data-yext-field="locationName"></span> 1059</div> 1060 <div style="display:none"> <span data-yext-field="address1"></span> 1061</div> 1062 <div style="display:none"> <span data-yext-field="address2"></span> 1063</div> 1064 <div> <span style="display:none"> <span data-yext-field="city"></span> 1065</span> 1066 <span style="display:none"> <span data-yext-field="state"></span> 1067</span> 1068 <span style="display:none"> <span data-yext-field="zip"></span> 1069</span> 1070</div> 1071</div> 1072 <a onclick=";
1072return dm_gaq_push_event('ClickToMap', 'Map',null, dmAPI.getSiteName(), this,{hitCallBack:true});" href="" class="getDirections" data-yext-field="get-directions-link">Get Directions</a> 1073 <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> 1074 <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> 1075<!-- Load Yext Script into page source so schema validates with Structured Data testing tool --></div> 1076</div> 1077</div> 1078</div> 1079</div> 1080 <div class="u_1615827339 dmRespCol small-12 large-3 medium-3" id="1615827339"> <div class="u_1100803129 dmRespRow" id="1100803129"> <div class="dmRespColsWrapper" id="1075324755"> <div class="dmRespCol small-12 medium-12 large-12 u_1560324035" id="1560324035"> <div class="u_1956703203 graphicWidget" data-element-type="graphic" data-widget-type="graphic" id="1956703203"> <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 70 70" id="1836706466" class="svg u_1836706466" data-icon-name="wp-clock"> <g id="1072690251"> <path d="M35,60c-13.8,0-25-11.2-25-25s11.2-25,25-25c13.8,0,25,11.2,25,25S48.8,60,35,60z M35,12c-12.7,0-23,10.3-23,23 1081 s10.3,23,23,23c12.7,0,23-10.3,23-23S47.7,12,35,12z" id="1032645214"></path> 1082 <path d="M35,14c-11.6,0-21,9.4-21,21s9.4,21,21,21c11.6,0,21-9.4,21-21S46.6,14,35,14z M36,35c0,0.3-0.1,0.5-0.3,0.7l-8,8 1083 C27.5,43.9,27.3,44,27,44c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l7.7-7.7V19c0-0.6,0.4-1,1-1c0.6,0,1,0.4,1,1V35z" id="1306416751"></path> 1084</g> 1085</svg> 1086</div> 1087 <div class="u_1707267328 widget-7b6cfb hide-for-small hide-for-large dmCustomWidget" data-lazy-load="" data-title="" id="1707267328" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" icon="false" surround="false" data-widget-id="7b6cfbac88324cffbaaf57354cd7a334" data-widget-version="227" data-widget-config="eyJnZXREaXJlY3Rpb25zVGV4dCI6IkdldCBEaXJlY3Rpb25zIiwiZ3JvdXBZZWFyRXN0YWJsaXNoZWQiOm51bGwsImgzRW1haWxUZXh0IjoiIiwidG9nZ2xlSDNBc3NvY2lhdGlvbnMiOm51bGwsImdyb3VwQml6TmFtZURlc2lnbiI6bnVsbCwidG9nZ2xlSDNTZXJ2aWNlcyI6bnVsbCwidHlwZSI6ImhvdXJzIiwiYm9sZExvY2F0aW9uTmFtZSI6bnVsbCwiY29sb3JQaWNrZXIxIjpudWxsLCJoM1BheW1lbnRzVGV4dCI6bnVsbCwiZ3JvdXBHb29nbGVBdHRyaWJ1dGVzIjpudWxsLCJwYXltZW50R3JvdXAiOm51bGwsInRvZ2dsZUgzU3BlY2lhbHRpZXMiOm51bGwsInNlcnZpY2VBcmVhR3JvdXAiOm51bGwsInN0YXRlIjp0cnVlLCJncm91cFNvY2lhbEljb25zIjpudWxsLCJ0b2dnbGVIM1NlcnZpY2VBcmVhIjpudWxsLCJzb2NpYWxHcm91cCI6bnVsbCwiemlwIjp0cnVlLCJwaG9uZUxpc3RTdHlsZXMiOm51bGwsImNhcmRTdHlsZURhcmtPckxpZ2h0IjoiX2Quc3ZnIiwiaDNZZWFySGVhZFRleHQiOiIiLCJwYXltZW50T3B0aW9uc0J1bGxldCI6ImJ1bGxldCIsIi5hZGRyZXNzSGVhZGVyIjpudWxsLCJ0b2dnbGVIM2ZlYXRNZXNzYWdlIjpudWxsLCJicmFuZHNHcm91cCI6bnVsbCwicHJvZHVjdHNHcm91cCI6bnVsbCwiaDNLZXl3b3Jkc1RleHQiOm51bGwsInNjcmlwdCI6IiIsImdyb3VwS2V5d29yZHNEZXNpZ24iOm51bGwsImdyb3VwQXR0cmlidXRlcyI6bnVsbCwic29jaWFsSWNvbnNBbGlnbm1lbnQiOiJsZWZ0IiwibGFuZ3VhZ2VzQnVsbGV0IjoiYnVsbGV0IiwiZ3JvdXBFbWFpbERlc2lnbiI6bnVsbCwiaDNIb2xpZGF5SG91cnMiOiJIb2xpZGF5IEhvdXJzIiwic2hvd1BheW1lbnRzQXMiOm51bGwsInNlcnZpY2VzR3JvdXAiOm51bGwsImJvbGRTdGF0dXNUZXh0Ijp0cnVlLCJoM1NvY2lhbFRleHQiOm51bGwsImxvZ29Hcm91cCI6bnVsbCwiZ3JvdXBQaG9uZURlc2lnbiI6bnVsbCwicGhvbmVHcm91cCI6bnVsbCwiY2l0eSI6dHJ1ZSwiZ3JvdXBCaXpEZXNEZXNpZ24iOm51bGwsImgzaG91cnNUZXh0IjoiSE9VUlMiLCJoM1NlcnZpY2VBcmVhVGV4dCI6bnVsbCwiaXNMaXN0IjpmYWxzZSwiYm9sZEhvdXJzIjp0cnVlLCJ0b2dnbGVIM2hvdXJzIjp0cnVlLCJncm91cEFkZGl0aW9uYWxIb3Vyc1RleHQiOm51bGwsImRlc2NyaXB0aW9uVGV4dEdyb3VwIjpudWxsLCJicmFuZHNCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM2hvbGlkYXlIb3VycyI6dHJ1ZSwiYXNzb2NpYXRpb25zQnVsbGV0IjoiYnVsbGV0IiwibG9jYXRpb25Hcm91cCI6bnVsbCwidG9nZ2xlSDNHb29nbGVBdHRyaWJ1dGVzIjp0cnVlLCJ0b2dnbGVIM2Rlc2NyaXB0aW9uIjpudWxsLCJob2xpZGF5SG91cnNCdWxsZXQiOiJidWxsZXRzIiwidG9nZ2xlSDNMYW5ndWFnZXMiOm51bGwsInBob25lVHlwZSI6InBob25lIiwibG9jYXRpb25OYW1lIjpmYWxzZSwidG9nZ2xlSDNQYXltZW50cyI6bnVsbCwic2VydmljZUFyZWFCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM1Byb2R1Y3RzIjpudWxsLCJncm91cEFkZHJl
1087c3NEZXNpZ24iOm51bGwsIlBob25lIEhlYWRlciBHcm91cCI6bnVsbCwidG9nZ2xlSDNTb2NpYWwiOm51bGwsInNob3dTZXJ2aWNlQXJlYUZpcnN0IjpudWxsLCJhZGRpdGlvbmFsSG91cnNUZXh0IjpmYWxzZSwiaDNTcGVjaWFsdGllc1RleHQiOiIiLCJ0b2dnbGVIM1llYXIiOm51bGwsInNwZWNpYWx0aWVzR3JvdXAiOm51bGwsImRyYXdNYXAiOm51bGwsImluc3RydWN0aW9ucyI6bnVsbCwiZ3JvdXBQcm9kdWN0c0Rlc2lnbiI6bnVsbCwiZ3JvdXBTZXJ2aWNlQXJlYURlc2lnbiI6bnVsbCwiaDNBZGRyZXNzVGV4dCI6IiIsImdyb3VwU2VydmljZXNEZXNpZ24iOm51bGwsInRvZ2dsZUgzUGhvbmVMaXN0IjpudWxsLCJncm91cEZlYXR1cmVkTWVzc2FnZURlc2lnbiI6bnVsbCwiaDNTZXJ2aWNlc1RleHQiOm51bGwsImgzUGhvbmVUZXh0IjoiIiwiaDNBc3NvY2lhdGlvbnNUZXh0IjoiIiwicGF5bWVudFRleHRHcm91cCI6bnVsbCwiaDNEZXNjcmlwdGlvblRleHQiOm51bGwsInNob3dHZXREaXJlY3Rpb25zTGluayI6bnVsbCwiZ3JvdXBQYXltZW50RGVpc2duIjpudWxsLCJoM0dvb2dsZUF0dHJpYnV0ZXMiOiJCdXNpbmVzcyBBdHRyaWJ1dGVzIiwidG9nZ2xlSDNBZGRyZXNzIjpudWxsLCJzaG93RW1haWxBc0J0biI6bnVsbCwiYXNzb2NpYXRpb25zR3JvdXAiOm51bGwsImgzUHJvZHVjdHNUZXh0IjoiIiwiZm9ybWF0UGhvbmUiOnRydWUsImdyb3VwTGFuZ3VhZ2VzRGVzaWduIjpudWxsLCJ0b2dnbGVIM0tleXdvcmRzIjpudWxsLCJrZXl3b3Jkc0dyb3VwIjpudWxsLCJhbHQiOm51bGwsImhpZGVIb3Vyc0xpc3QiOmZhbHNlLCJncm91cEhvbGlkYXlIb3Vyc0Rlc2lnbiI6bnVsbCwicGhvbmVTaG93QXMiOiJidXR0b24iLCJnb29nbGVBdHRyaWJ1dGVzRm9ybWF0dGVkTGlzdEJ1bGxldCI6ImJ1bGxldHMiLCJtYXBab29tIjoiMTMiLCJob2xpZGF5SG91cnMiOm51bGwsImdyb3VwSG91cnNEZXNpZ24iOm51bGwsImgzTGFuZ3VhZ2VzVGV4dCI6bnVsbCwiaG91cnNTaG93QXMiOiJsaXN0IiwiZW1haWxUZXh0R3JvdXAiOm51bGwsInBob25lTGlzdFN0eWxlIjoiYnVsbGV0cyIsInRvZ2dsZTEiOm51bGwsImgzQnJhbmRUZXh0IjoiIiwibGluayI6bnVsbCwiZ3JvdXBQYXltZW50Q2FyZERlc2lnbiI6bnVsbCwiZ3JvdXBTcGVjaWFsdGllc0Rlc2lnbiI6bnVsbCwieWVhckVzdGFiaWxpc2hlZEdyb3VwIjpudWxsLCJwaG9uZVRleHRTdHlsZXMiOm51bGwsImdyb3VwQXNzb2NpYXRpb25zRGVzaWduIjpudWxsLCJzcGVjaWFsdGllc0J1bGxldCI6ImJ1bGxldCIsImgzRmVhdE1lc3NhZ2VUZXh0IjpudWxsLCJ0b2dnbGVIM0JyYW5kcyI6bnVsbCwiYWRkcmVzczIiOnRydWUsImFkZHJlc3MxIjp0cnVlLCJjYXJkQWxpZ25tZW50IjoicGljb25zLWNlbnRlciIsImdyb3VwTG9nb0Rlc2lnbiI6bnVsbCwiZ3JvdXBPcGVuSG91cnNEZXNpZ24iOm51bGwsImZlYXRNZXNzYWdlR3JvdXAiOm51bGwsImtleXdvcmRzQnVsbGV0IjoiYnVsbGV0IiwidG9nZ2xlSDNFbWFpbCI6bnVsbCwic2VydmljZXNCdWxsZXQiOm51bGwsImdyb3VwQnJhbmRzRGVzaWduIjpudWxsLCJwcm9kdWN0c0J1bGxldCI6ImJ1bGxldCIsImxhbmd1YWdlc0dyb3VwIjpudWxsLCJob3Vyc0dyb3VwIjpudWxsfQ=="> <h3 class="hoursHeader">HOURS</h3> 1088 <div class="yextHours" id="hoursSmall"></div> 1089 <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> 1090 <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> 1091<!-- Load Yext Script into page source so schema validates with Structured Data testing tool --></div> 1092 <div class="u_1077196022 widget-7b6cfb hide-for-medium dmCustomWidget" data-lazy-load="" data-title="" id="1077196022" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" icon="false" surround="false" data-widget-id="7b6cfbac88324cffbaaf57354cd7a334" data-widget-version="227" data-widget-config="eyJnZXREaXJlY3Rpb25zVGV4dCI6IkdldCBEaXJlY3Rpb25zIiwiZ3JvdXBZZWFyRXN0YWJsaXNoZWQiOm51bGwsImgzRW1haWxUZXh0IjoiIiwidG9nZ2xlSDNBc3NvY2lhdGlvbnMiOm51bGwsImdyb3VwQml6TmFtZURlc2lnbiI6bnVsbCwidG9nZ2xlSDNTZXJ2aWNlcyI6bnVsbCwidHlwZSI6ImhvdXJzIiwiYm9sZExvY2F0aW9uTmFtZSI6bnVsbCwiY29sb3JQaWNrZXIxIjpudWxsLCJoM1BheW1lbnRzVGV4dCI6bnVsbCwiZ3JvdXBHb29nbGVBdHRyaWJ1dGVzIjpudWxsLCJwYXltZW50R3JvdXAiOm51bGwsInRvZ2dsZUgzU3BlY2lhbHRpZXMiOm51bGwsInNlcnZpY2VBcmVhR3JvdXAiOm51bGwsInN0YXRlIjp0cnVlLCJncm91cFNvY2lhbEljb25zIjpudWxsLCJ0b2dnbGVIM1NlcnZpY2VBcmVhIjpudWxsLCJzb2NpYWxHcm91cCI6bnVsbCwiemlwIjp0cnVlLCJwaG9uZUxpc3RTdHlsZXMiOm51bGwsImNhcmRTdHlsZURhcmtPckxpZ2h0IjoiX2Quc3ZnIiwiaDNZZWFySGVhZFRleHQiOiIiLCJwYXltZW50T3B0aW9uc0J1bGxldCI6ImJ1bGxldCIsIi5hZGRyZXNzSGVhZGVyIjpudWxsLCJ0b2dnbGVIM2ZlYXRNZXNzYWdlIjpudWxsLCJicmFuZHNHcm91cCI6bnVsbCwicHJvZHVjdHNHcm91cCI6bnVsbCwiaDNLZXl3b3Jkc1RleHQiOm51bGwsInNjcmlwdCI6IiIsImdyb3VwS2V5d29yZHNEZXNpZ24iOm51bGwsImdyb3VwQXR0cmlidXRlcyI6bnVsbCwic29jaWFsSWNvbnNBbGlnbm1lbnQiOiJsZWZ0IiwibGFuZ3VhZ2VzQnVsbGV0IjoiYnVsbGV0IiwiZ3JvdXBFbWFpbERlc2lnbiI6bnVsbCwiaDNIb2xpZGF5SG91cnMiOiJIb2xpZGF5IEhvdXJzIiwic2hvd1BheW1lbnRzQXMiOm51bGwsInNlcnZpY2VzR3JvdXAiOm51bGwsImJvbGRTdGF0dXNUZXh0Ijp0cnVlLCJoM1NvY2lhbFRleHQiOm51bGwsImxvZ29Hcm91cCI6bnVsbCwiZ3JvdXBQaG9uZURlc2lnbiI6bnVsbCwicGhvbmVHcm91cCI6bnVsbCwiY2l0eSI6dHJ1ZSwiZ3JvdXBCaXpEZXNEZXNpZ24iOm51bGwsImgzaG91cnNUZXh0IjoiSE9VUlMiLCJoM1NlcnZpY2VBcmVhVGV4dCI6bnVsbCwiaXNMaXN0IjpmYWxzZSwiYm9sZEhvdXJzIjp0cnVlLCJ0b2dnbGVIM2hvdXJzIjp0cnVlLCJncm91cEFkZGl0aW9uYWxIb3Vyc1RleHQiOm51bGwsImRlc2NyaXB0aW9uVGV4dEdyb3VwIjpudWxsLCJicmFuZHNCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM2hvbGlkYXlIb3VycyI6dHJ1ZSwiYXNzb2NpYXRpb25zQnVsbGV0IjoiYnVsbGV0IiwibG9jYXRpb25Hcm91cCI6bnVsbCwidG9nZ2xlSDNHb29nbGVBdHRyaWJ1dGVzIjp0cnVlLCJ0b2dnbGVIM2Rlc2NyaXB0aW9uIjpudWxsLCJob2xpZGF5SG91cnNCdWxsZXQiOiJidWxsZXRzIiwidG9nZ2xlSDNMYW5ndWFnZXMiOm51bGwsInBob25lVHlwZSI6InBob25lIiwibG9jYXRpb25OYW1lIjpmYWxzZSwidG9nZ2xlSDNQYXltZW50cyI6bnVsbCwic2VydmljZUFyZWFCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM1Byb2R1Y3RzIjpudWxsLCJncm91cEFkZHJl
1092c3NEZXNpZ24iOm51bGwsIlBob25lIEhlYWRlciBHcm91cCI6bnVsbCwidG9nZ2xlSDNTb2NpYWwiOm51bGwsInNob3dTZXJ2aWNlQXJlYUZpcnN0IjpudWxsLCJhZGRpdGlvbmFsSG91cnNUZXh0IjpmYWxzZSwiaDNTcGVjaWFsdGllc1RleHQiOiIiLCJ0b2dnbGVIM1llYXIiOm51bGwsInNwZWNpYWx0aWVzR3JvdXAiOm51bGwsImRyYXdNYXAiOm51bGwsImluc3RydWN0aW9ucyI6bnVsbCwiZ3JvdXBQcm9kdWN0c0Rlc2lnbiI6bnVsbCwiZ3JvdXBTZXJ2aWNlQXJlYURlc2lnbiI6bnVsbCwiaDNBZGRyZXNzVGV4dCI6IiIsImdyb3VwU2VydmljZXNEZXNpZ24iOm51bGwsInRvZ2dsZUgzUGhvbmVMaXN0IjpudWxsLCJncm91cEZlYXR1cmVkTWVzc2FnZURlc2lnbiI6bnVsbCwiaDNTZXJ2aWNlc1RleHQiOm51bGwsImgzUGhvbmVUZXh0IjoiIiwiaDNBc3NvY2lhdGlvbnNUZXh0IjoiIiwicGF5bWVudFRleHRHcm91cCI6bnVsbCwiaDNEZXNjcmlwdGlvblRleHQiOm51bGwsInNob3dHZXREaXJlY3Rpb25zTGluayI6bnVsbCwiZ3JvdXBQYXltZW50RGVpc2duIjpudWxsLCJoM0dvb2dsZUF0dHJpYnV0ZXMiOiJCdXNpbmVzcyBBdHRyaWJ1dGVzIiwidG9nZ2xlSDNBZGRyZXNzIjpudWxsLCJzaG93RW1haWxBc0J0biI6bnVsbCwiYXNzb2NpYXRpb25zR3JvdXAiOm51bGwsImgzUHJvZHVjdHNUZXh0IjoiIiwiZm9ybWF0UGhvbmUiOnRydWUsImdyb3VwTGFuZ3VhZ2VzRGVzaWduIjpudWxsLCJ0b2dnbGVIM0tleXdvcmRzIjpudWxsLCJrZXl3b3Jkc0dyb3VwIjpudWxsLCJhbHQiOm51bGwsImhpZGVIb3Vyc0xpc3QiOmZhbHNlLCJncm91cEhvbGlkYXlIb3Vyc0Rlc2lnbiI6bnVsbCwicGhvbmVTaG93QXMiOiJidXR0b24iLCJnb29nbGVBdHRyaWJ1dGVzRm9ybWF0dGVkTGlzdEJ1bGxldCI6ImJ1bGxldHMiLCJtYXBab29tIjoiMTMiLCJob2xpZGF5SG91cnMiOm51bGwsImdyb3VwSG91cnNEZXNpZ24iOm51bGwsImgzTGFuZ3VhZ2VzVGV4dCI6bnVsbCwiaG91cnNTaG93QXMiOiJsaXN0IiwiZW1haWxUZXh0R3JvdXAiOm51bGwsInBob25lTGlzdFN0eWxlIjoiYnVsbGV0cyIsInRvZ2dsZTEiOm51bGwsImgzQnJhbmRUZXh0IjoiIiwibGluayI6bnVsbCwiZ3JvdXBQYXltZW50Q2FyZERlc2lnbiI6bnVsbCwiZ3JvdXBTcGVjaWFsdGllc0Rlc2lnbiI6bnVsbCwieWVhckVzdGFiaWxpc2hlZEdyb3VwIjpudWxsLCJwaG9uZVRleHRTdHlsZXMiOm51bGwsImdyb3VwQXNzb2NpYXRpb25zRGVzaWduIjpudWxsLCJzcGVjaWFsdGllc0J1bGxldCI6ImJ1bGxldCIsImgzRmVhdE1lc3NhZ2VUZXh0IjpudWxsLCJ0b2dnbGVIM0JyYW5kcyI6bnVsbCwiYWRkcmVzczIiOnRydWUsImFkZHJlc3MxIjp0cnVlLCJjYXJkQWxpZ25tZW50IjoicGljb25zLWNlbnRlciIsImdyb3VwTG9nb0Rlc2lnbiI6bnVsbCwiZ3JvdXBPcGVuSG91cnNEZXNpZ24iOm51bGwsImZlYXRNZXNzYWdlR3JvdXAiOm51bGwsImtleXdvcmRzQnVsbGV0IjoiYnVsbGV0IiwidG9nZ2xlSDNFbWFpbCI6bnVsbCwic2VydmljZXNCdWxsZXQiOm51bGwsImdyb3VwQnJhbmRzRGVzaWduIjpudWxsLCJwcm9kdWN0c0J1bGxldCI6ImJ1bGxldCIsImxhbmd1YWdlc0dyb3VwIjpudWxsLCJob3Vyc0dyb3VwIjpudWxsfQ=="> <h3 class="hoursHeader">HOURS</h3> 1093 <div class="yextHours" id="hoursSmall"></div> 1094 <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> 1095 <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> 1096<!-- Load Yext Script into page source so schema validates with Structured Data testing tool --></div> 1097</div> 1098</div> 1099</div> 1100</div> 1101 <div class="u_1838863458 dmRespCol small-12 large-3 medium-3" id="1838863458"> <div class="dmRespRow u_1669620875" id="1669620875"> <div class="dmRespColsWrapper" id="1334634159"> <div class="dmRespCol small-12 medium-12 large-12 u_1406850502" id="1406850502"> <div class="u_1398448533 graphicWidget" data-element-type="graphic" data-widget-type="graphic" id="1398448533"> <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 70 70" id="1551300914" class="svg u_1551300914" data-icon-name="wp-bullhorn"> <path d="M53,17c-0.4,0-0.8,0.1-1.1,0.2c0,0-38.6,12.7-39.2,12.8c-1.6,0.5-2.7,2.5-2.7,5s1.1,4.5,2.7,5c0.2,0.1,4.4,1.4,9.9,3.2 1102 l-0.4,1.1c-0.8,2.4,0.4,5,2.8,5.8l7.3,2.6c0.5,0.2,1,0.3,1.6,0.3c0.7,0,1.4-0.2,2-0.5c1.1-0.5,2-1.5,2.4-2.6l0.5-1.4 1103 c7.1,2.3,13.1,4.3,13.1,4.3c0.4,0.1,0.7,0.2,1.1,0.2c4.5,0,7-9.3,7-18S57.5,17,53,17z M36.4,49.3c-0.2,0.7-0.7,1.2-1.3,1.5 1104 c-0.6,0.3-1.3,0.3-2,0.1l-7.3-2.6c-1.3-0.5-2-2-1.6-3.3l0.4-1.1c3.9,1.3,8.3,2.7,12.4,4.1L36.4,49.3z M53,51c-2.1,0-5-6.1-5-16 1105 s2.9-16,5-16c2.1,0,5,6.1,5,16S55.1,51,53,51z" id="1459554540"></path> 1106</svg> 1107</div> 1108 <div class="u_1471720011 widget-7b6cfb dmCustomWidget" data-lazy-load="" data-title="" id="1471720011" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" icon="false" surround="false" data-widget-id="7b6cfbac88324cffbaaf57354cd7a334" data-widget-version="227" data-widget-config="eyJnZXREaXJlY3Rpb25zVGV4dCI6IkdldCBEaXJlY3Rpb25zIiwiZ3JvdXBZZWFyRXN0YWJsaXNoZWQiOm51bGwsImgzRW1haWxUZXh0IjoiIiwidG9nZ2xlSDNBc3NvY2lhdGlvbnMiOm51bGwsImdyb3VwQml6TmFtZURlc2lnbiI6bnVsbCwidG9nZ2xlSDNTZXJ2aWNlcyI6bnVsbCwidHlwZSI6InBob25lIiwiYm9sZExvY2F0aW9uTmFtZSI6bnVsbCwiY29sb3JQaWNrZXIxIjpudWxsLCJoM1BheW1lbnRzVGV4dCI6bnVsbCwiZ3JvdXBHb29nbGVBdHRyaWJ1dGVzIjpudWxsLCJwYXltZW50R3JvdXAiOm51bGwsInRvZ2dsZUgzU3BlY2lhbHRpZXMiOm51bGwsInNlcnZpY2VBcmVhR3JvdXAiOm51bGwsInN0YXRlIjp0cnVlLCJncm91cFNvY2lhbEljb25zIjpudWxsLCJ0b2dnbGVIM1NlcnZpY2VBcmVhIjpudWxsLCJzb2NpYWxHcm91cCI6bnVsbCwiemlwIjp0cnVlLCJwaG9uZUxpc3RTdHlsZXMiOm51bGwsImNhcmRTdHlsZURhcmtPckxpZ2h0IjoiX2Quc3ZnIiwiaDNZZWFySGVhZFRleHQiOiIiLCJwYXltZW50T3B0aW9uc0J1bGxldCI6ImJ1bGxldCIsIi5hZGRyZXNzSGVhZGVyIjpudWxsLCJ0b2dnbGVIM2ZlYXRNZXNzYWdlIjpudWxsLCJicmFuZHNHcm91cCI6bnVsbCwicHJvZHVjdHNHcm91cCI6bnVsbCwiaDNLZXl3b3Jkc1RleHQiOm51bGwsInNjcmlwdCI6IiIsImdyb3VwS2V5d29yZHNEZXNpZ24iOm51bGwsImdyb3VwQXR0cmlidXRlcyI6bnVsbCwic29jaWFsSWNvbnNBbGlnbm1lbnQiOiJsZWZ0IiwibGFuZ3VhZ2VzQnVsbGV0IjoiYnVsbGV0IiwiZ3JvdXBFbWFpbERlc2lnbiI6bnVsbCwiaDNIb2xpZGF5SG91cnMiOiJIb2xpZGF5IEhvdXJzIiwic2hvd1BheW1lbnRzQXMiOm51bGwsInNlcnZpY2VzR3JvdXAiOm51bGwsImJvbGRTdGF0dXNUZXh0Ijp0cnVlLCJoM1NvY2lhbFRleHQiOm51bGwsImxvZ29Hcm91cCI6bnVsbCwiZ3JvdXBQaG9uZURlc2lnbiI6bnVsbCwicGhvbmVHcm91cCI6bnVsbCwiY2l0eSI6dHJ1ZSwiZ3JvdXBCaXpEZXNEZXNpZ24iOm51bGwsImgzaG91cnNUZXh0IjoiIiwiaDNTZXJ2aWNlQXJlYVRleHQiOm51bGwsImlzTGlzdCI6dHJ1ZSwiYm9sZEhvdXJzIjp0cnVlLCJ0b2dnbGVIM2hvdXJzIjpudWxsLCJncm91cEFkZGl0aW9uYWxIb3Vyc1RleHQiOm51bGwsImRlc2NyaXB0aW9uVGV4dEdyb3VwIjpudWxsLCJicmFuZHNCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM2hvbGlkYXlIb3VycyI6dHJ1ZSwiYXNzb2NpYXRpb25zQnVsbGV0IjoiYnVsbGV0IiwibG9jYXRpb25Hcm91cCI6bnVsbCwidG9nZ2xlSDNHb29nbGVBdHRyaWJ1dGVzIjp0cnVlLCJ0b2dnbGVIM2Rlc2NyaXB0aW9uIjpudWxsLCJob2xpZGF5SG91cnNCdWxsZXQiOiJidWxsZXRzIiwidG9nZ2xlSDNMYW5ndWFnZXMiOm51bGwsInBob25lVHlwZSI6InBob25lIiwibG9jYXRpb25OYW1lIjpmYWxzZSwidG9nZ2xlSDNQYXltZW50cyI6bnVsbCwic2VydmljZUFyZWFCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM1Byb2R1Y3RzIjpudWxsLCJncm91cEFkZHJl
1108c3NEZXNpZ24iOm51bGwsIlBob25lIEhlYWRlciBHcm91cCI6bnVsbCwidG9nZ2xlSDNTb2NpYWwiOm51bGwsInNob3dTZXJ2aWNlQXJlYUZpcnN0IjpudWxsLCJhZGRpdGlvbmFsSG91cnNUZXh0IjpudWxsLCJoM1NwZWNpYWx0aWVzVGV4dCI6IiIsInRvZ2dsZUgzWWVhciI6bnVsbCwic3BlY2lhbHRpZXNHcm91cCI6bnVsbCwiZHJhd01hcCI6bnVsbCwiaW5zdHJ1Y3Rpb25zIjpudWxsLCJncm91cFByb2R1Y3RzRGVzaWduIjpudWxsLCJncm91cFNlcnZpY2VBcmVhRGVzaWduIjpudWxsLCJoM0FkZHJlc3NUZXh0IjoiIiwiZ3JvdXBTZXJ2aWNlc0Rlc2lnbiI6bnVsbCwidG9nZ2xlSDNQaG9uZUxpc3QiOnRydWUsImdyb3VwRmVhdHVyZWRNZXNzYWdlRGVzaWduIjpudWxsLCJoM1NlcnZpY2VzVGV4dCI6bnVsbCwiaDNQaG9uZVRleHQiOiJDT05UQUNUIFVTIiwiaDNBc3NvY2lhdGlvbnNUZXh0IjoiIiwicGF5bWVudFRleHRHcm91cCI6bnVsbCwiaDNEZXNjcmlwdGlvblRleHQiOm51bGwsInNob3dHZXREaXJlY3Rpb25zTGluayI6bnVsbCwiZ3JvdXBQYXltZW50RGVpc2duIjpudWxsLCJoM0dvb2dsZUF0dHJpYnV0ZXMiOiJCdXNpbmVzcyBBdHRyaWJ1dGVzIiwidG9nZ2xlSDNBZGRyZXNzIjpudWxsLCJzaG93RW1haWxBc0J0biI6bnVsbCwiYXNzb2NpYXRpb25zR3JvdXAiOm51bGwsImgzUHJvZHVjdHNUZXh0IjoiIiwiZm9ybWF0UGhvbmUiOnRydWUsImdyb3VwTGFuZ3VhZ2VzRGVzaWduIjpudWxsLCJ0b2dnbGVIM0tleXdvcmRzIjpudWxsLCJrZXl3b3Jkc0dyb3VwIjpudWxsLCJhbHQiOm51bGwsImhpZGVIb3Vyc0xpc3QiOmZhbHNlLCJncm91cEhvbGlkYXlIb3Vyc0Rlc2lnbiI6bnVsbCwicGhvbmVTaG93QXMiOiJsaXN0IiwiZ29vZ2xlQXR0cmlidXRlc0Zvcm1hdHRlZExpc3RCdWxsZXQiOiJidWxsZXRzIiwibWFwWm9vbSI6IjEzIiwiaG9saWRheUhvdXJzIjpudWxsLCJncm91cEhvdXJzRGVzaWduIjpudWxsLCJoM0xhbmd1YWdlc1RleHQiOm51bGwsImhvdXJzU2hvd0FzIjoibGlzdCIsImVtYWlsVGV4dEdyb3VwIjpudWxsLCJwaG9uZUxpc3RTdHlsZSI6Im5vLWxpc3QiLCJ0b2dnbGUxIjpudWxsLCJoM0JyYW5kVGV4dCI6IiIsImxpbmsiOm51bGwsImdyb3VwUGF5bWVudENhcmREZXNpZ24iOm51bGwsImdyb3VwU3BlY2lhbHRpZXNEZXNpZ24iOm51bGwsInllYXJFc3RhYmlsaXNoZWRHcm91cCI6bnVsbCwicGhvbmVUZXh0U3R5bGVzIjpudWxsLCJncm91cEFzc29jaWF0aW9uc0Rlc2lnbiI6bnVsbCwic3BlY2lhbHRpZXNCdWxsZXQiOiJidWxsZXQiLCJoM0ZlYXRNZXNzYWdlVGV4dCI6bnVsbCwidG9nZ2xlSDNCcmFuZHMiOm51bGwsImFkZHJlc3MyIjp0cnVlLCJhZGRyZXNzMSI6dHJ1ZSwiY2FyZEFsaWdubWVudCI6InBpY29ucy1jZW50ZXIiLCJncm91cExvZ29EZXNpZ24iOm51bGwsImdyb3VwT3BlbkhvdXJzRGVzaWduIjpudWxsLCJmZWF0TWVzc2FnZUdyb3VwIjpudWxsLCJrZXl3b3Jkc0J1bGxldCI6ImJ1bGxldCIsInRvZ2dsZUgzRW1haWwiOm51bGwsInNlcnZpY2VzQnVsbGV0IjpudWxsLCJncm91cEJyYW5kc0Rlc2lnbiI6bnVsbCwicHJvZHVjdHNCdWxsZXQiOiJidWxsZXQiLCJsYW5ndWFnZXNHcm91cCI6bnVsbCwiaG91cnNHcm91cCI6bnVsbH0="> <h3 class="phoneHeader">CONTACT US</h3> 1109 <ul id="phoneList" class="no-list"></ul> 1110 <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> 1111 <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> 1112<!-- Load Yext Script into page source so schema validates with Structured Data testing tool --></div> 1113 <div class="u_1528391394 widget-7b6cfb dmCustomWidget" data-lazy-load="" data-title="" id="1528391394" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" icon="false" surround="false" data-widget-id="7b6cfbac88324cffbaaf57354cd7a334" data-widget-version="227" data-widget-config="eyJnZXREaXJlY3Rpb25zVGV4dCI6IkdldCBEaXJlY3Rpb25zIiwiZ3JvdXBZZWFyRXN0YWJsaXNoZWQiOm51bGwsImgzRW1haWxUZXh0IjoiIiwidG9nZ2xlSDNBc3NvY2lhdGlvbnMiOm51bGwsImdyb3VwQml6TmFtZURlc2lnbiI6bnVsbCwidG9nZ2xlSDNTZXJ2aWNlcyI6bnVsbCwidHlwZSI6ImVtYWlsIiwiYm9sZExvY2F0aW9uTmFtZSI6bnVsbCwiY29sb3JQaWNrZXIxIjpudWxsLCJoM1BheW1lbnRzVGV4dCI6bnVsbCwiZ3JvdXBHb29nbGVBdHRyaWJ1dGVzIjpudWxsLCJwYXltZW50R3JvdXAiOm51bGwsInRvZ2dsZUgzU3BlY2lhbHRpZXMiOm51bGwsInNlcnZpY2VBcmVhR3JvdXAiOm51bGwsInN0YXRlIjp0cnVlLCJncm91cFNvY2lhbEljb25zIjpudWxsLCJ0b2dnbGVIM1NlcnZpY2VBcmVhIjpudWxsLCJzb2NpYWxHcm91cCI6bnVsbCwiemlwIjp0cnVlLCJwaG9uZUxpc3RTdHlsZXMiOm51bGwsImNhcmRTdHlsZURhcmtPckxpZ2h0IjoiX2Quc3ZnIiwiaDNZZWFySGVhZFRleHQiOiIiLCJwYXltZW50T3B0aW9uc0J1bGxldCI6ImJ1bGxldCIsIi5hZGRyZXNzSGVhZGVyIjpudWxsLCJ0b2dnbGVIM2ZlYXRNZXNzYWdlIjpudWxsLCJicmFuZHNHcm91cCI6bnVsbCwicHJvZHVjdHNHcm91cCI6bnVsbCwiaDNLZXl3b3Jkc1RleHQiOm51bGwsInNjcmlwdCI6IiIsImdyb3VwS2V5d29yZHNEZXNpZ24iOm51bGwsImdyb3VwQXR0cmlidXRlcyI6bnVsbCwic29jaWFsSWNvbnNBbGlnbm1lbnQiOiJsZWZ0IiwibGFuZ3VhZ2VzQnVsbGV0IjoiYnVsbGV0IiwiZ3JvdXBFbWFpbERlc2lnbiI6bnVsbCwiaDNIb2xpZGF5SG91cnMiOiJIb2xpZGF5IEhvdXJzIiwic2hvd1BheW1lbnRzQXMiOm51bGwsInNlcnZpY2VzR3JvdXAiOm51bGwsImJvbGRTdGF0dXNUZXh0Ijp0cnVlLCJoM1NvY2lhbFRleHQiOm51bGwsImxvZ29Hcm91cCI6bnVsbCwiZ3JvdXBQaG9uZURlc2lnbiI6bnVsbCwicGhvbmVHcm91cCI6bnVsbCwiY2l0eSI6dHJ1ZSwiZ3JvdXBCaXpEZXNEZXNpZ24iOm51bGwsImgzaG91cnNUZXh0IjoiIiwiaDNTZXJ2aWNlQXJlYVRleHQiOm51bGwsImlzTGlzdCI6dHJ1ZSwiYm9sZEhvdXJzIjp0cnVlLCJ0b2dnbGVIM2hvdXJzIjpudWxsLCJncm91cEFkZGl0aW9uYWxIb3Vyc1RleHQiOm51bGwsImRlc2NyaXB0aW9uVGV4dEdyb3VwIjpudWxsLCJicmFuZHNCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM2hvbGlkYXlIb3VycyI6dHJ1ZSwiYXNzb2NpYXRpb25zQnVsbGV0IjoiYnVsbGV0IiwibG9jYXRpb25Hcm91cCI6bnVsbCwidG9nZ2xlSDNHb29nbGVBdHRyaWJ1dGVzIjp0cnVlLCJ0b2dnbGVIM2Rlc2NyaXB0aW9uIjpudWxsLCJob2xpZGF5SG91cnNCdWxsZXQiOiJidWxsZXRzIiwidG9nZ2xlSDNMYW5ndWFnZXMiOm51bGwsInBob25lVHlwZSI6InBob25lIiwibG9jYXRpb25OYW1lIjpmYWxzZSwidG9nZ2xlSDNQYXltZW50cyI6bnVsbCwic2VydmljZUFyZWFCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM1Byb2R1Y3RzIjpudWxsLCJncm91cEFkZHJl
1113c3NEZXNpZ24iOm51bGwsIlBob25lIEhlYWRlciBHcm91cCI6bnVsbCwidG9nZ2xlSDNTb2NpYWwiOm51bGwsInNob3dTZXJ2aWNlQXJlYUZpcnN0IjpudWxsLCJhZGRpdGlvbmFsSG91cnNUZXh0IjpudWxsLCJoM1NwZWNpYWx0aWVzVGV4dCI6IiIsInRvZ2dsZUgzWWVhciI6bnVsbCwic3BlY2lhbHRpZXNHcm91cCI6bnVsbCwiZHJhd01hcCI6bnVsbCwiaW5zdHJ1Y3Rpb25zIjpudWxsLCJncm91cFByb2R1Y3RzRGVzaWduIjpudWxsLCJncm91cFNlcnZpY2VBcmVhRGVzaWduIjpudWxsLCJoM0FkZHJlc3NUZXh0IjoiIiwiZ3JvdXBTZXJ2aWNlc0Rlc2lnbiI6bnVsbCwidG9nZ2xlSDNQaG9uZUxpc3QiOm51bGwsImdyb3VwRmVhdHVyZWRNZXNzYWdlRGVzaWduIjpudWxsLCJoM1NlcnZpY2VzVGV4dCI6bnVsbCwiaDNQaG9uZVRleHQiOiIiLCJoM0Fzc29jaWF0aW9uc1RleHQiOiIiLCJwYXltZW50VGV4dEdyb3VwIjpudWxsLCJoM0Rlc2NyaXB0aW9uVGV4dCI6bnVsbCwic2hvd0dldERpcmVjdGlvbnNMaW5rIjpudWxsLCJncm91cFBheW1lbnREZWlzZ24iOm51bGwsImgzR29vZ2xlQXR0cmlidXRlcyI6IkJ1c2luZXNzIEF0dHJpYnV0ZXMiLCJ0b2dnbGVIM0FkZHJlc3MiOm51bGwsInNob3dFbWFpbEFzQnRuIjpudWxsLCJhc3NvY2lhdGlvbnNHcm91cCI6bnVsbCwiaDNQcm9kdWN0c1RleHQiOiIiLCJmb3JtYXRQaG9uZSI6dHJ1ZSwiZ3JvdXBMYW5ndWFnZXNEZXNpZ24iOm51bGwsInRvZ2dsZUgzS2V5d29yZHMiOm51bGwsImtleXdvcmRzR3JvdXAiOm51bGwsImFsdCI6bnVsbCwiaGlkZUhvdXJzTGlzdCI6ZmFsc2UsImdyb3VwSG9saWRheUhvdXJzRGVzaWduIjpudWxsLCJwaG9uZVNob3dBcyI6ImJ1dHRvbiIsImdvb2dsZUF0dHJpYnV0ZXNGb3JtYXR0ZWRMaXN0QnVsbGV0IjoiYnVsbGV0cyIsIm1hcFpvb20iOiIxMyIsImhvbGlkYXlIb3VycyI6bnVsbCwiZ3JvdXBIb3Vyc0Rlc2lnbiI6bnVsbCwiaDNMYW5ndWFnZXNUZXh0IjpudWxsLCJob3Vyc1Nob3dBcyI6Imxpc3QiLCJlbWFpbFRleHRHcm91cCI6bnVsbCwicGhvbmVMaXN0U3R5bGUiOiJidWxsZXRzIiwidG9nZ2xlMSI6bnVsbCwiaDNCcmFuZFRleHQiOiIiLCJsaW5rIjpudWxsLCJncm91cFBheW1lbnRDYXJkRGVzaWduIjpudWxsLCJncm91cFNwZWNpYWx0aWVzRGVzaWduIjpudWxsLCJ5ZWFyRXN0YWJpbGlzaGVkR3JvdXAiOm51bGwsInBob25lVGV4dFN0eWxlcyI6bnVsbCwiZ3JvdXBBc3NvY2lhdGlvbnNEZXNpZ24iOm51bGwsInNwZWNpYWx0aWVzQnVsbGV0IjoiYnVsbGV0IiwiaDNGZWF0TWVzc2FnZVRleHQiOm51bGwsInRvZ2dsZUgzQnJhbmRzIjpudWxsLCJhZGRyZXNzMiI6dHJ1ZSwiYWRkcmVzczEiOnRydWUsImNhcmRBbGlnbm1lbnQiOiJwaWNvbnMtY2VudGVyIiwiZ3JvdXBMb2dvRGVzaWduIjpudWxsLCJncm91cE9wZW5Ib3Vyc0Rlc2lnbiI6bnVsbCwiZmVhdE1lc3NhZ2VHcm91cCI6bnVsbCwia2V5d29yZHNCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM0VtYWlsIjpudWxsLCJzZXJ2aWNlc0J1bGxldCI6bnVsbCwiZ3JvdXBCcmFuZHNEZXNpZ24iOm51bGwsInByb2R1Y3RzQnVsbGV0IjoiYnVsbGV0IiwibGFuZ3VhZ2VzR3JvdXAiOm51bGwsImhvdXJzR3JvdXAiOm51bGx9"> <a onclick=";return dm_gaq_push_event('ClickToEmail', 'Email',null, dmAPI.getSiteName(), this);" data-yext-field="email" class="yextEmail "> <span data-yext-field="email" class="text"></span> 1114</a> 1115 <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> 1116 <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> 1117<!-- Load Yext Script into page source so schema validates with Structured Data testing tool --></div> 1118</div> 1119</div> 1120</div> 1121</div> 1122 <div class="dmRespCol large-3 medium-3 small-12" id="1023430400"> <div class="u_1789873941 graphicWidget" data-element-type="graphic" data-widget-type="graphic" id="1789873941"> <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 70 70" id="1160305910" class="svg u_1160305910" 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 1123 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 1124 c-3.3,0-6-2.7-6-6s2.7-6,6-6c3.3,0,6,2.7,6,6S38.3,33,35,33z" id="1703144790"></path> 1125</svg> 1126</div> 1127 <div class="dmNewParagraph u_1886859587" data-element-type="paragraph" data-version="5" id="1886859587" style="transition: none 0s ease 0s; text-align: left; display: block;"><p class="text-align-center"><span style="color: rgb(255, 255, 255); font-weight: bold; display: initial;">OUR STUDIOS</span></p></div> 1128 <div class="u_1397849683 dmNewParagraph" data-element-type="paragraph" data-version="5" id="1397849683" style="transition: opacity 1s ease-in-out 0s;"><p class="text-align-center"><span style="color: rgb(255, 255, 255); display: unset;">Tree House</span></p><p class="text-align-center"><span style="color: rgb(255, 255, 255); display: unset;">Santosa</span></p><p class="text-align-center"><span style="color: rgb(255, 255, 255); display: unset;">Roof Top</span></p></div> 1129</div> 1130</div> 1131</div> 1132 <div class="dmRespRow u_1208212881 fullBleedChanged fullBleedMode" id="1208212881"> <div class="dmRespColsWrapper" id="1488901709"> <div class="u_1637410778 dmRespCol small-12 large-5 medium-5" id="1637410778"> <div class="u_1257534066 dmDividerWrapper clearfix" data-element-type="dDividerId" data-layout="divider-style-1" data-widget-version="2" id="1257534066" layout="divider-style-3"><hr class="dmDivider" style="border-width:2px; border-top-style:solid; color:grey;" id="1820698205"/></div> 1133</div> 1134 <div class="u_1974933848 dmRespCol small-12 large-2 medium-2" id="1974933848"> <div class="u_1817020446 widget-7b6cfb dmCustomWidget" data-lazy-load="" data-title="" id="1817020446" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" icon="false" surround="false" data-widget-id="7b6cfbac88324cffbaaf57354cd7a334" data-widget-version="227" data-widget-config="eyJnZXREaXJlY3Rpb25zVGV4dCI6IkdldCBEaXJlY3Rpb25zIiwiZ3JvdXBZZWFyRXN0YWJsaXNoZWQiOm51bGwsImgzRW1haWxUZXh0IjoiIiwidG9nZ2xlSDNBc3NvY2lhdGlvbnMiOm51bGwsImdyb3VwQml6TmFtZURlc2lnbiI6bnVsbCwidG9nZ2xlSDNTZXJ2aWNlcyI6bnVsbCwidHlwZSI6InNvY2lhbCIsImJvbGRMb2NhdGlvbk5hbWUiOm51bGwsImNvbG9yUGlja2VyMSI6bnVsbCwiaDNQYXltZW50c1RleHQiOm51bGwsImdyb3VwR29vZ2xlQXR0cmlidXRlcyI6bnVsbCwicGF5bWVudEdyb3VwIjpudWxsLCJ0b2dnbGVIM1NwZWNpYWx0aWVzIjpudWxsLCJzZXJ2aWNlQXJlYUdyb3VwIjpudWxsLCJzdGF0ZSI6dHJ1ZSwiZ3JvdXBTb2NpYWxJY29ucyI6bnVsbCwidG9nZ2xlSDNTZXJ2aWNlQXJlYSI6bnVsbCwic29jaWFsR3JvdXAiOm51bGwsInppcCI6dHJ1ZSwicGhvbmVMaXN0U3R5bGVzIjpudWxsLCJjYXJkU3R5bGVEYXJrT3JMaWdodCI6Il9kLnN2ZyIsImgzWWVhckhlYWRUZXh0IjoiIiwicGF5bWVudE9wdGlvbnNCdWxsZXQiOiJidWxsZXQiLCIuYWRkcmVzc0hlYWRlciI6bnVsbCwidG9nZ2xlSDNmZWF0TWVzc2FnZSI6bnVsbCwiYnJhbmRzR3JvdXAiOm51bGwsInByb2R1Y3RzR3JvdXAiOm51bGwsImgzS2V5d29yZHNUZXh0IjpudWxsLCJzY3JpcHQiOiIiLCJncm91cEtleXdvcmRzRGVzaWduIjpudWxsLCJncm91cEF0dHJpYnV0ZXMiOm51bGwsInNvY2lhbEljb25zQWxpZ25tZW50IjoiY2VudGVyIiwibGFuZ3VhZ2VzQnVsbGV0IjoiYnVsbGV0IiwiZ3JvdXBFbWFpbERlc2lnbiI6bnVsbCwiaDNIb2xpZGF5SG91cnMiOiJIb2xpZGF5IEhvdXJzIiwic2hvd1BheW1lbnRzQXMiOm51bGwsInNlcnZpY2VzR3JvdXAiOm51bGwsImJvbGRTdGF0dXNUZXh0Ijp0cnVlLCJoM1NvY2lhbFRleHQiOm51bGwsImxvZ29Hcm91cCI6bnVsbCwiZ3JvdXBQaG9uZURlc2lnbiI6bnVsbCwicGhvbmVHcm91cCI6bnVsbCwiY2l0eSI6dHJ1ZSwiZ3JvdXBCaXpEZXNEZXNpZ24iOm51bGwsImgzaG91cnNUZXh0IjoiIiwiaDNTZXJ2aWNlQXJlYVRleHQiOm51bGwsImlzTGlzdCI6dHJ1ZSwiYm9sZEhvdXJzIjp0cnVlLCJ0b2dnbGVIM2hvdXJzIjpudWxsLCJncm91cEFkZGl0aW9uYWxIb3Vyc1RleHQiOm51bGwsImRlc2NyaXB0aW9uVGV4dEdyb3VwIjpudWxsLCJicmFuZHNCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM2hvbGlkYXlIb3VycyI6dHJ1ZSwiYXNzb2NpYXRpb25zQnVsbGV0IjoiYnVsbGV0IiwibG9jYXRpb25Hcm91cCI6bnVsbCwidG9nZ2xlSDNHb29nbGVBdHRyaWJ1dGVzIjp0cnVlLCJ0b2dnbGVIM2Rlc2NyaXB0aW9uIjpudWxsLCJob2xpZGF5SG91cnNCdWxsZXQiOiJidWxsZXRzIiwidG9nZ2xlSDNMYW5ndWFnZXMiOm51bGwsInBob25lVHlwZSI6InBob25lIiwibG9jYXRpb25OYW1lIjpmYWxzZSwidG9nZ2xlSDNQYXltZW50cyI6bnVsbCwic2VydmljZUFyZWFCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM1Byb2R1Y3RzIjpudWxsLCJncm91cEFkZHJl
1134c3NEZXNpZ24iOm51bGwsIlBob25lIEhlYWRlciBHcm91cCI6bnVsbCwidG9nZ2xlSDNTb2NpYWwiOm51bGwsInNob3dTZXJ2aWNlQXJlYUZpcnN0IjpudWxsLCJhZGRpdGlvbmFsSG91cnNUZXh0IjpudWxsLCJoM1NwZWNpYWx0aWVzVGV4dCI6IiIsInRvZ2dsZUgzWWVhciI6bnVsbCwic3BlY2lhbHRpZXNHcm91cCI6bnVsbCwiZHJhd01hcCI6bnVsbCwiaW5zdHJ1Y3Rpb25zIjpudWxsLCJncm91cFByb2R1Y3RzRGVzaWduIjpudWxsLCJncm91cFNlcnZpY2VBcmVhRGVzaWduIjpudWxsLCJoM0FkZHJlc3NUZXh0IjoiIiwiZ3JvdXBTZXJ2aWNlc0Rlc2lnbiI6bnVsbCwidG9nZ2xlSDNQaG9uZUxpc3QiOm51bGwsImdyb3VwRmVhdHVyZWRNZXNzYWdlRGVzaWduIjpudWxsLCJoM1NlcnZpY2VzVGV4dCI6bnVsbCwiaDNQaG9uZVRleHQiOiIiLCJoM0Fzc29jaWF0aW9uc1RleHQiOiIiLCJwYXltZW50VGV4dEdyb3VwIjpudWxsLCJoM0Rlc2NyaXB0aW9uVGV4dCI6bnVsbCwic2hvd0dldERpcmVjdGlvbnNMaW5rIjpudWxsLCJncm91cFBheW1lbnREZWlzZ24iOm51bGwsImgzR29vZ2xlQXR0cmlidXRlcyI6IkJ1c2luZXNzIEF0dHJpYnV0ZXMiLCJ0b2dnbGVIM0FkZHJlc3MiOm51bGwsInNob3dFbWFpbEFzQnRuIjpudWxsLCJhc3NvY2lhdGlvbnNHcm91cCI6bnVsbCwiaDNQcm9kdWN0c1RleHQiOiIiLCJmb3JtYXRQaG9uZSI6dHJ1ZSwiZ3JvdXBMYW5ndWFnZXNEZXNpZ24iOm51bGwsInRvZ2dsZUgzS2V5d29yZHMiOm51bGwsImtleXdvcmRzR3JvdXAiOm51bGwsImFsdCI6bnVsbCwiaGlkZUhvdXJzTGlzdCI6ZmFsc2UsImdyb3VwSG9saWRheUhvdXJzRGVzaWduIjpudWxsLCJwaG9uZVNob3dBcyI6Imxpc3QiLCJnb29nbGVBdHRyaWJ1dGVzRm9ybWF0dGVkTGlzdEJ1bGxldCI6ImJ1bGxldHMiLCJtYXBab29tIjoiMTMiLCJob2xpZGF5SG91cnMiOm51bGwsImdyb3VwSG91cnNEZXNpZ24iOm51bGwsImgzTGFuZ3VhZ2VzVGV4dCI6bnVsbCwiaG91cnNTaG93QXMiOiJsaXN0IiwiZW1haWxUZXh0R3JvdXAiOm51bGwsInBob25lTGlzdFN0eWxlIjoibm8tbGlzdCIsInRvZ2dsZTEiOm51bGwsImgzQnJhbmRUZXh0IjoiIiwibGluayI6bnVsbCwiZ3JvdXBQYXltZW50Q2FyZERlc2lnbiI6bnVsbCwiZ3JvdXBTcGVjaWFsdGllc0Rlc2lnbiI6bnVsbCwieWVhckVzdGFiaWxpc2hlZEdyb3VwIjpudWxsLCJwaG9uZVRleHRTdHlsZXMiOm51bGwsImdyb3VwQXNzb2NpYXRpb25zRGVzaWduIjpudWxsLCJzcGVjaWFsdGllc0J1bGxldCI6ImJ1bGxldCIsImgzRmVhdE1lc3NhZ2VUZXh0IjpudWxsLCJ0b2dnbGVIM0JyYW5kcyI6bnVsbCwiYWRkcmVzczIiOnRydWUsImFkZHJlc3MxIjp0cnVlLCJjYXJkQWxpZ25tZW50IjoicGljb25zLWNlbnRlciIsImdyb3VwTG9nb0Rlc2lnbiI6bnVsbCwiZ3JvdXBPcGVuSG91cnNEZXNpZ24iOm51bGwsImZlYXRNZXNzYWdlR3JvdXAiOm51bGwsImtleXdvcmRzQnVsbGV0IjoiYnVsbGV0IiwidG9nZ2xlSDNFbWFpbCI6bnVsbCwic2VydmljZXNCdWxsZXQiOm51bGwsImdyb3VwQnJhbmRzRGVzaWduIjpudWxsLCJwcm9kdWN0c0J1bGxldCI6ImJ1bGxldCIsImxhbmd1YWdlc0dyb3VwIjpudWxsLCJob3Vyc0dyb3VwIjpudWxsfQ=="> <div id="socialIcons" class="center"></div> 1135 <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> 1136 <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> 1137<!-- Load Yext Script into page source so schema validates with Structured Data testing tool --></div> 1138</div> 1139 <div class="u_1748281358 dmRespCol small-12 large-5 medium-5" id="1748281358"> <div class="u_1393808904 dmDividerWrapper clearfix" data-element-type="dDividerId" data-layout="divider-style-1" data-widget-version="2" id="1393808904" layout="divider-style-3"><hr class="dmDivider" style="border-width:2px; border-top-style:solid; color:grey;" id="1145475001"/></div> 1140</div> 1141</div> 1142</div> 1143 <div class="u_1651083035 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="eyJJY29uIFNpemUiOm51bGwsIkljb25MaXN0IjpbeyJFbWFpbEFkZHIiOm51bGwsIkFjdGlvbiI6IkNhbGwiLCJDYWxsTnVtIjoiNDQzLTQzMy0wNDYyIiwiRW1haWwiOnRydWUsIlF1ZXJ5IjoiU3RyZWV0IEFkZHJlc3MsIENpdHksIFNULCAxMjM0NSIsIlNoYXJlVGl0bGUiOiIiLCJUdW1ibHIiOmZhbHNlLCJzaG93b25tb2JpbGUiOnRydWUsIkZiVXNlciI6bnVsbCwiTGFiZWwiOiJDYWxsIFVzIiwiVHdpdHRlciI6dHJ1ZSwic2hvd29uZGVza3RvcCI6ZmFsc2UsIkN1c3RvbUljb25fU2VsZWN0IjoiY3VzdG9tX2ljb24xIiwiUmVkZGl0Ijp0cnVlLCJDaGF0U2NyaXB0IjpudWxsLCJQaW50ZXJlc3QiOnRydWUsIlNtc051bSI6IjU1NS01NTUtNTU1NSIsIkdvb2dsZVBsdXMiOnRydWUsIkZhY2Vib29rIjp0cnVlLCJBbmltYXRlIjpudWxsLCJDdXN0b21JY29uIjpudWxsLCJMaW5rZWRJbiI6dHJ1ZSwiZGVmRW1haWxCb2R5IjoiIiwiZW1haWxEZWZTdWJqZWN0IjoiUXVlc3Rpb25zIEFib3V0IFlvdXIgQnVzaW5lc3MiLCJTaGFyZUxpbmsiOm51bGwsIkxpbmsiOm51bGx9LHsiRW1haWxBZGRyIjpudWxsLCJBY3Rpb24iOiJMaW5rIiwiQ2FsbE51bSI6IjU1NS01NTUtNTU1NSIsIkVtYWlsIjp0cnVlLCJRdWVyeSI6IlN0cmVldCBBZGRyZXNzLCBDaXR5LCBTVCwgMTIzNDUiLCJTaGFyZVRpdGxlIjoiIiwiVHVtYmxyIjpmYWxzZSwic2hvd29ubW9iaWxlIjp0cnVlLCJGYlVzZXIiOm51bGwsIkxhYmVsIjoiUmVhZCBSZXZpZXdzIiwiVHdpdHRlciI6dHJ1ZSwic2hvd29uZGVza3RvcCI6dHJ1ZSwiQ3VzdG9tSWNvbl9TZWxlY3QiOiJjdXN0b21faWNvbjEiLCJSZWRkaXQiOnRydWUsIkNoYXRTY3JpcHQiOm51bGwsIlBpbnRlcmVzdCI6dHJ1ZSwiU21zTnVtIjoiNTU1LTU1NS01NTU1IiwiR29vZ2xlUGx1cyI6dHJ1ZSwiRmFjZWJvb2siOnRydWUsIkFuaW1hdGUiOm51bGwsIkN1c3RvbUljb24iOnRydWUsIkxpbmtlZEluIjp0cnVlLCJkZWZFbWFpbEJvZHkiOiIiLCJlbWFpbERlZlN1YmplY3QiOiJRdWVzdGlvbnMgQWJvdXQgWW91ciBCdXNpbmVzcyIsIlNoYXJlTGluayI6bnVsbCwiTGluayI6eyJ2YWx1ZSI6InJldmlld3MiLCJsYWJlbCI6IiIsInR5cGUiOiJwYWdlIiwiaHJlZiI6Ii9yZXZpZXdzIiwicmF3X3VybCI6Ii9zaXRlLzFjMDJhNWUzMzI2MjQ4ZDQ4NDc2ZTliYjZmZGFhOWQ4L3Jldmlld3M/bmVlPXRydWUmZWQ9dHJ1ZSZzaG93T3JpZ2luYWw9dHJ1ZSZwcmV2aWV3PXRydWUmZG1fdHJ5X21vZGU9dHJ1ZSZkbV9jaGVja1N5bmM9MSJ9fSx7IkVtYWlsQWRkciI6ImluZm9AcmlkZ2VseXJldHJlYXQuY29tIiwiQWN0aW9uIjoiRW
11431haWwiLCJDYWxsTnVtIjoiNTU1LTU1NS01NTU1IiwiRW1haWwiOnRydWUsIlF1ZXJ5IjoiU3RyZWV0IEFkZHJlc3MsIENpdHksIFNULCAxMjM0NSIsIlNoYXJlVGl0bGUiOiIiLCJUdW1ibHIiOmZhbHNlLCJzaG93b25tb2JpbGUiOnRydWUsIkZiVXNlciI6bnVsbCwiTGFiZWwiOiJFbWFpbCBVcyIsIlR3aXR0ZXIiOnRydWUsInNob3dvbmRlc2t0b3AiOnRydWUsIkN1c3RvbUljb25fU2VsZWN0IjoiY3VzdG9tX2ljb24xIiwiUmVkZGl0Ijp0cnVlLCJDaGF0U2NyaXB0IjpudWxsLCJQaW50ZXJlc3QiOnRydWUsIlNtc051bSI6IjU1NS01NTUtNTU1NSIsIkdvb2dsZVBsdXMiOnRydWUsIkZhY2Vib29rIjp0cnVlLCJBbmltYXRlIjpudWxsLCJDdXN0b21JY29uIjpudWxsLCJMaW5rZWRJbiI6dHJ1ZSwiZGVmRW1haWxCb2R5IjoiIiwiZW1haWxEZWZTdWJqZWN0IjoiUXVlc3Rpb25zIEFib3V0IFlvdXIgQnVzaW5lc3MiLCJTaGFyZUxpbmsiOm51bGwsIkxpbmsiOm51bGx9LHsiRW1haWxBZGRyIjpudWxsLCJBY3Rpb24iOiJNYXAiLCJDYWxsTnVtIjoiNTU1LTU1NS01NTU1IiwiRW1haWwiOnRydWUsIlF1ZXJ5IjoiMjAzIFJpZGdlbHkgQXZlIEFubmFwb2xpcywgTUQgMjE0MDEiLCJTaGFyZVRpdGxlIjoiIiwiVHVtYmxyIjpmYWxzZSwic2hvd29ubW9iaWxlIjp0cnVlLCJGYlVzZXIiOm51bGwsIkxhYmVsIjoiR2V0IERpcmVjdGlvbnMiLCJUd2l0dGVyIjp0cnVlLCJzaG93b25kZXNrdG9wIjp0cnVlLCJDdXN0b21JY29uX1NlbGVjdCI6ImN1c3RvbV9pY29uMSIsIlJlZGRpdCI6dHJ1ZSwiQ2hhdFNjcmlwdCI6bnVsbCwiUGludGVyZXN0Ijp0cnVlLCJTbXNOdW0iOiI1NTUtNTU1LTU1NTUiLCJHb29nbGVQbHVzIjp0cnVlLCJGYWNlYm9vayI6dHJ1ZSwiQW5pbWF0ZSI6bnVsbCwiQ3VzdG9tSWNvbiI6bnVsbCwiTGlua2VkSW4iOnRydWUsImRlZkVtYWlsQm9keSI6IiIsImVtYWlsRGVmU3ViamVjdCI6IlF1ZXN0aW9ucyBBYm91dCBZb3VyIEJ1c2luZXNzIiwiU2hhcmVMaW5rIjpudWxsLCJMaW5rIjpudWxsfSx7IkVtYWlsQWRkciI6bnVsbCwiQWN0aW9uIjoiU2hhcmUiLCJDYWxsTnVtIjoiNTU1LTU1NS01NTU1IiwiRW1haWwiOnRydWUsIlF1ZXJ5IjoiU3RyZWV0IEFkZHJlc3MsIENpdHksIFNULCAxMjM0NSIsIlNoYXJlVGl0bGUiOiIiLCJUdW1ibHIiOnRydWUsInNob3dvbm1vYmlsZSI6dHJ1ZSwiRmJVc2VyIjpudWxsLCJMYWJlbCI6IlNoYXJlIFVzIiwiVHdpdHRlciI6dHJ1ZSwic2hvd29uZGVza3RvcCI6dHJ1ZSwiQ3VzdG9tSWNvbl9TZWxlY3QiOiJjdXN0b21faWNvbjEiLCJSZWRkaXQiOnRydWUsIkNoYXRTY3JpcHQiOm51bGwsIlBpbnRlcmVzdCI6dHJ1ZSwiU21zTnVtIjoiNTU1LTU1NS01NTU1IiwiR29vZ2xlUGx1cyI6ZmFsc2UsIkZhY2Vib29rIjp0cnVlLCJBbmltYXRlIjpudWxsLCJDdXN0b21JY29uIjpudWxsLCJMaW5rZWRJbiI6dHJ1ZSwiZGVmRW1haWxCb2R5IjoiIiwiZW1haWxEZWZTdWJqZWN0IjoiUXVlc3Rpb25zIEFib3V0IFlvdXIgQnVzaW5lc3MiLCJTaGFyZUxpbmsiOm51bGwsIkxpbmsiOm51bGx9XSwiR2xvYmFsIjpudWxsLCJGb2N1c0RlbGF5IjoiNTAwMCIsIkFuaW1hdGlvbk9wdGlvbnMiOm51bGwsIk1vYmlsZUxheW91dCI6IkZ1bGwiLCJNb2RhbFRpdGxlIjoiU2hhcmUgT246IiwiTW9iaWxlVGhlbWUiOiJMaWdodCIsIk1vYmlsZU9yaWVudGF0aW9uIjoicmlnaHQiLCJIZWxwVGV4dCI6IkhpLiBEbyB5b3UgbmVlZCBhbnkgaGVscD8iLCJNb2JpbGVPcHRpb25zIjpudWxsLCJNb2JpbGUiOm51bGwsIkZvY3VzSXRlciI6IjEiLCJEZXNrdG9wIjpudWxsLCJEZXNrdG9wTGF5b3V0IjoiRmxvYXQiLCJEZXNrdG9wT3B0aW9ucyI6bnVsbCwiY3VzdG9tX2ljb240IjoiPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI5OC4yOFwiIGhlaWdodD1cIjk4LjI4XCIgdmlld0JveD1cIjAgMCA5OC4yOCA5OC4yOFwiPjxjaXJjbGUgY3g9XCI0OS4xNFwiIGN5PVwiNDkuMTRcIiByPVwiNDkuMTRcIiBmaWxsPVwiIzI3MmEzZFwiLz48cGF0aCBkPVwiTTYwLjE4LDUzLjVhMywzLDAsMCwxLDIuMzIuNzUsMywzLDAsMCwxLC42NSwyLjA5LDYuNTMsNi41MywwLDAsMS0uMjQsMS44LDQuMzgsNC4zOCwwLDAsMS0uNDMsMS4xMkg1OC41NHY2LjY4SDUxLjkyVjU5LjI2aC03LjNxLTQuNTYsMC02LjQ4LTEuNDFhNS4xNyw1LjE3LDAsMCwxLTEuOTItNC40NCwxMC42NSwxMC42NSwwLDAsMSwuNDYtMywxOC45LDE4LjksMCwwLDEsMS4yLTMsMjYuNTcsMjYuNTcsMCwwLDEsMS43My0zLDMyLjg1LDMyLjg1LDAsMCwxLDItMi43NnExLjQ0LTEuNzgsMy0zLjM0YTMwLDMwLDAsMCwxLDMuMTItMi43NkExNSwxNSwwLDAsMSw1MSwzMy42NmE4LjQ4LDguNDgsMCwwLDEsMy4zNC0uNyw3LjczLDcuNzMsMCwwLDEsMi44OC40Myw2LjI3LDYuMjcsMCwwLDEsMS4zNC42N1Y1My41Wk01MS45MiwzOS40NGMtLjI2LjE2LS45LjY2LTEuOTIsMS40OWEyNC41OCwyNC41OCwwLDAsMC0zLjQxLDMuNTUsMjQuMTgsMjQuMTgsMCwwLDAtMi44Myw0LjE1LDYuODksNi44OSwwLDAsMC0uOTEsMi45MSwxLjU3LDEuNTcsMCwwLDAsLjg2LDEuNTNBNS4wNiw1LjA2LDAsMCwwLDQ2LDUzLjVoNlpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTAuNCAtMC4zNylcIiBmaWxsPVwiIzRkYWY3Y1wiLz48L3N2Zz4iLCJNb2JpbGVNYWluIjoicGx1cyIsIkRlc2tNYWluIjoiZW52ZWxvcGUiLCJjdXN0b21faWNvbjMiOiI8P3htbCB2ZXJzaW9uPVwiMS4wXCIgZW5jb2Rpbmc9XCJpc28tODg1OS0xXCI/PlxyXG48IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+XHJcbjxzdmcgdmVyc2lvbj1cIjEuMVwiIGlkPVwiTGF5ZXJfMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB4PVwiMHB4XCIgeT1cIjBweFwiXHJcblx0IHZpZXdCb3g9XCIwIDAgNDk2LjE1OCA0OTYuMTU4XCIgc3R5bGU9XCJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ5Ni4xNTggNDk2LjE1ODtcIiB4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiPlxyXG48cGF0aCBzdHlsZT1cImZpbGw6IzU2QjQ4QztcIiBkPVwiTTI0OC4wODIsMC4wMDNDMTExLjA3LDAuMDAzLDAsMTExLjA2MSwwLDI0OC4wODVjMCwxMzcsMTExLjA3LDI0OC4wNywyNDguMDgyLDI0OC4wN1xyXG5cdGMxMzcuMDA2LDAsMjQ4LjA3Ni0xMTEuMDcsMjQ4LjA3Ni0yNDguMDdDNDk2LjE1OCwxMTEuMDYxLDM4NS4wODgsMC4wMDMsMjQ4LjA4MiwwLjAwM3pcIi8+XHJcbjxwYXRoIHN0eWxlPVwiZmlsbDojRkZGRkZGO1wiIGQ9XCJNMzE5LjYzNywyNjkuNzExYy0yLjYzNy02LjM5NS02LjU2OS0xMi4yMzEtMTEuNzkyLTE3LjUwNWMtNS4yMjYtNS4yNzMtMTEuNjQ2LTkuOTYxLTE5LjI2My0xNC4wNjNcclxuXHRjNy45MS02LjY0LDEzLjk4OS0xMy40NTEsMTguMjM3LTIwLjQzNWM0LjI0OC02Ljk4MSw2LjM3Mi0xNS4zNTUsNi4zNzItMjUuMTIyYzAtNy40Mi0xLjQ2NS0xNC4zNTUtNC4zOTUtMjAuODAxXHJcblx0cy03LjI3Ni0xMi4xMDgtMTMuMDM3LTE2Ljk5MmMtNS43NjMtNC44ODItMTIuNTUtOC42MTctMjAuMzYxLTExLjIwNmMtNy44MTQtMi41ODYtMTYuNDU3LTMuODgyLTI1LjkyOC0zLjg4MlxyXG5cdGMtMTAuODQsMC0yMC42NTQsMS41MzgtMjkuNDQzLDQuNjE0cy0xNi4xMzksNy4xNTUtMjIuMDQ2LDEyLjIzMWMtNS45MSw1LjA3OS0xMC40LDEwLjQyNi0xMy40NzcsMTYuMDRcclxuXHRjLTMuMDc2LDUuNjE3LTQuNjE0LDEwLjk2My00LjYxNCwxNi4wNGMwLDUuMjczLDEuNjM0LDkuNDk5LDQuOTA3LDEyLjY3MWMzLjI3MSwzLjE3NSw2Ljg1OSw0Ljc2MSwxMC43NjcsNC43NjFcclxuXHRjMy4zMTksMCw2LjI0OS0wLjU4Niw4Ljc4OS0xLjc1OGMyLjUzOC0xLjE3Miw0LjI5Ni0yLjc4Myw1LjI3My00LjgzNGMxLjY1OS0zLjgwOSwzLjQ5LTcuODYsNS40OTMtMTIuMTU4XHJcblx0YzItNC4yOTYsNC4xMjUtNy44MTIsNi4zNzItMTAuNTQ3YzIuMjQ1LTIuNzMzLDUuMjk2LTQuOTMsOS4xNTUtNi41OTJjMy44NTYtMS42NTksOC43NjQtMi40OSwxNC43MjItMi40OVxyXG5cdGM4Ljc4OSwwLDE1Ljc3LDIuNzEsMjAuOTQ3LDguMTNjNS4xNzUsNS40Miw3Ljc2NCwxMS44OTEsNy43NjQsMTkuNDA5YzAsOS44NjUtMy4yNDgsMTcuNDMyLTkuNzQxLDIyLjcwNVxyXG5cdGMtNi40OTYsNS4yNzMtMTQuMjM0LDcuOTEtMjMuMjE4LDcuOTFoLTYuMDA2Yy02LjkzNSwwLTEyLjE1OCwxLjQ0Mi0xNS42NzQsNC4zMjFjLTMuNTE2LDIuODgyLTUuMjczLDYuNjY1LTUuMjczLDExLjM1M1xyXG5cdGMwLDQuNzg2LDEuNDY1LDguNTIxLDQuMzk1LDExLjIwNmMyLjkzLDIuNjg3LDcuMDc5LDQuMDI4LDEyLjQ1MSw0LjAyOGMxLjE3MiwwLDMuODA5LTAuMTk0LDcuOTEtMC41ODZcclxuXHRjNC4xMDItMC4zODksNy4xMjctMC41ODYsOS4wODItMC41ODZjMTEuMTMzLDAsMTkuODIzLDMuMjQ4LDI2LjA3NCw5Ljc0MWM2LjI0OSw2LjQ5Niw5LjM3NSwxNS40NTQsOS4zNzUsMjYuODhcclxuXHRjMCw3LjcxNi0xLjgzMSwxNC41MDItNS40OTMsMjAuMzYxcy04LjMwMiwxMC4yNzktMTMuOTE2LDEzLjI1N2MtNS42MTcsMi45OC0xMS40NTEsNC40NjgtMTcuNTA1LDQuNDY4XHJcblx0Yy0xMC41NDcsMC0xOC43MjctMy4yOTYtMjQuNTM2LTkuODg4Yy01LjgxMi02LjU5Mi0xMS4yNTYtMTYuNjc0LTE2LjMzMy0zMC4yNDljLTAuNzgzLTIuMjQ1LTIuNDQyLTQuMTc1LTQuOTgtNS43ODZcclxuXHRjLTIuNTQxLTEuNjExLTUuMTc3LTIuNDE3LTcuOTEtMi40MTdjLTUuNDcsMC0xMC4wMzQsMS43MzUtMTMuNjk2LDUuMmMtMy42NjIsMy40NjgtNS40OTMsOC4wMzQtNS40OTMsMTMuNjk2XHJcblx0YzAsNC4zOTUsMS41MzgsOS45NjEsNC42MTQsMTYuNjk5czcuNjE3LDEzLjI1NywxMy42MjMsMTkuNTU2czEzLjY0NiwxMS41NDksMjIuOTI1LDE1Ljc0N2M5LjI3Niw0LjE5OCwxOS43NzUsNi4yOTksMzEuNDk0LDYuMjk5XHJcblx0YzExLjUyMiwwLDIyLjA0Ni0xLjgzMSwzMS41NjctNS40OTNzMTcuNzQ4LTguNzM5LDI0LjY4My0xNS4yMzRjNi45MzMtNi40OTMsMTIuMTgxLTEzLjg5MSwxNS43NDctMjIuMTkyXHJcblx0YzMuNTYzLTguMjk5LDUuMzQ3LTE2Ljg5NCw1LjM0Ny0yNS43ODFDMzIzLjU5MiwyODMuMDE4LDMyMi4yNzMsMjc2LjEwOSwzMTkuNjM3LDI2OS43MTF6XCIvPlxyXG48Zz5cclxuPC9nPlxyXG48Zz5cclxuPC9nPlxyXG48Zz5cclxuPC9nPlxyXG48Zz5cclxuPC9nPlxyXG48Zz5cclxuPC9nPlxyXG48Zz5cclxuPC9nPlxyXG48Zz5cclxuPC9nPlxyXG48Zz5cclxuPC9nPlxyXG48Zz5cclxuPC9nPlxyXG48Zz5cclxuPC9nPlxyXG48Zz5cclxuPC9nPlxyXG48Zz5cclxuPC9nPlxyXG48Zz5cclxuPC9nPlxyXG48Zz5cclxuPC9nPlxyXG48Zz5cclxuPC9nPlxyXG48L3N2Zz5cclxuIiwiQ3VzdG9tSWNvbk9wdGlvbnMiOm51bGwsImN1c3RvbV9pY29uNiI6IjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiOTguMjhcIiBoZWlnaHQ9XCI5OC4yOFwiIHZpZXdCb3g9XCIwIDAgOTguMjggOTguMjhcIj48Y2lyY2xlIGN4PVwiNDkuMTRcIiBjeT1cIjQ5LjE0XCIgcj1cIjQ5LjE0XCIgZmlsbD1cIiMyNzJhM2RcIi8+PHBhdGggZD1cIk02Mi41Myw1NC44NWExMS41MywxMS41MywwLDAsMS0xLDQuNzcsMTEuNCwxMS40LDAsMCwxLTIuNzEsMy43NywxMi40MSwxMi40MSwwLDAsMS00LjA3LDIuNDcsMTQuMjUsMTQuMjUsMCwwLDEtNS4xMy44OSwxNC45MywxNC45MywwLDAsMS01LjEzLS44NiwxMi40MiwxMi40MiwwLDAsMS00LTIuNCwxMSwxMSwwLDAsMS0yLjY2LTMuNjUsMTEuMTMsMTEuMTMsMCwwLDEtMS00LjY2QTEzLjU2LDEzLjU2LDAsMCwxLDM4LjMxLDQ5YTMzLjU1LDMzLjU1LDAsMCwxLDMuMzgtNS4zN2w2LjQyLTguNDVjLjE5LS4yMy40LS40Ny42Mi0uNzVhMy44MiwzLjgyLDAsMCwxLC44Mi0uNzIsNC45LDQuOSwwLDAsMSwxLjE3LS41MkE1LjQ3LDUuNDcsMCwwLDEsNTIuMzgsMzNhNC41Nyw0LjU3LDAsMCwxLDIuNzEuNyw0LjUsNC41LDAsMCwxLDEuMjMsMS4xMkw0OC4yNSw0NS4xNWE3LjM3LDcuMzcsMCwwLDEsMS41My0uNTVBOC44Miw4LjgyLDAsMCwxLDUyLDQ0LjM0YTExLjQ0LDExLjQ0LDAsMCwxLDQuMzguNzksOS40LDkuNCwwLDAsMSw1LjM5LDUuNTRBMTEuOCwxMS44LDAsMCwxLDYyLjUzLDU0Ljg1Wm0tNi43Mi4zM2E2LjEyLDYuMTIsMCwwLDAtMS43My00LjQ4LDYsNiwwLDAsMC00LjQ2LTEuNzYsNi4yMiw2LjIyLDAsMCwwLTQuNDQsMS43OCw1LjU1LDUuNTUsMCwwLDAtMS4zLDIsNyw3LDAsMCwwLDAsNSw1LjQ3LDUuNDcsMCwwLDAsMS4zLDIsNi4yNyw2LjI3LDAsMCwwLDQuNDQsMS43Nyw2LDYsMCwwLDAsNC40Ni0xLjc1QTYuMTMsNi4xMywwLDAsMCw1NS44MSw1NS4xOFpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTAuNCAtMC4zNylcIiBmaWxsPVwiIzRkYWY3Y1wiLz48L3N2Zz4iLCJjdXN0b21faWNvbjUiOiI8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjk4LjI4XCIgaGVpZ2h0PVwiOTguMjhcIiB2aWV3Qm94PVwiMCAwIDk4LjI4IDk4LjI4XCI+PGNpcmNsZSBjeD1cIjQ5LjE0XCIgY3k9XCI0OS4xNFwiIHI9XCI0OS4xNFwiIGZpbGw9XCIjMjcyYTNkXCIvPjxwYXRoIGQ9XCJNNDAsMzcuNThhNC4yMSw0LjIxLDAsMCwxLDEtMi44MiwzLjg2LDMuODYsMCwwLDEsMi44OC0uOTRINTdhNC4zNiw0LjM2LDAsMCwxLDIuODMuNzEsMi44MSwyLjgxLDAsMCwxLC44MiwyLjI1LDUuMDcsNS4wNywwLDAsMS0uMzYsMiw3LjQyLDcuNDIsMCwwLDEtLjU2LDEuMTRINDUuOTJsLS4xOSw1LjksMS41MS0uMjFhMjIuMjksMjIuMjksMCwwLDEsMi42Ni0uMTIsMTYuNCwxNi40LDAsMCwxLDUuNjQuODYsMTAuNTQsMTAuNTQsMCwwLDEsMy43NywyLjI4LDguNDQsOC40NCwwLDAsMSwyLjA5LDMuMjksMTEuODUsMTEuODUsMCwwLDEsLjY1LDMuODksMTEuMTIsMTEuMTIsMCwwLDEtLjg3LDQuNDYsOS4xOCw5LjE4LDAsMCwxLTIuNTYsMy40NkExMi4xOCwxMi4xOCwwLDAsMSw1NC40Miw2NmExOS4wNSwxOS4wNSwwLDAsMS01Ljc2Ljc5LDIzLjg4LDIzLjg4LDAsMCwxLTUtLjQ1LDIyLjM1LDIyLjM1LDAsMCwxLTMuNDgtMSwxMS4yOCwxMS4yOCwwLDAsMS0yLjExLTEsNC4zNyw0LjM3LDAsMCwxLS43Ny0uNTdMNDAsNTguOTNhNy4zMSw3LjMxLDAsMCwwLC42OS40MywxMi40NiwxMi40NiwwLDAsMCwxLjczLjgyLDE3LjgsMTcuOCwwLDAsMCwyLjU3Ljc2LDE0LjQ0LDE0LjQ0LDAsMCwwLDMuMjYuMzQsMTEsMTEsMCwwLDAsMy4yMi0uNDEsNiw2LDAsMCwwLDIuMDktMS4wOCwzLjgzLDMuODMsMCwwLDAsMS4xMi0xLjZBNS4zOSw1LjM5LDAsMCwwLDU1LDU2LjI3YTYuMTQsNi4xNCwwLDAsMC0uMzEtMiwzLjcxLDMuNzEsMCwwLDAtMS4xNS0xLjY2LDYuMjUsNi4yNSwwLDAsMC0yLjI4LTEuMTYsMTMuMzIsMTMuMzIsMCwwLDAtMy43NS0uNDMsMTguNCwxOC40LDAsMCwwLTUuMTEuNiwzMC4wOCwzMC4wOCwwLDAsMC0yLjk1LDFaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0wLjQgLTAuMzcpXCIgZmlsbD1cIiM0ZGFmN2NcIi8+PC9zdmc+IiwiTWFpbkxhYmVsIjoiQ29udGFjdCBVcyIsIm
1143N1c3RvbV9pY29uMiI6IjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTY2NCAxNzkyXCI+PHBhdGggZmlsbD1cImluaGVyaXRcIiBkPVwiTTEyOCAxNjY0aDI4OHYtMjg4aC0yODh2Mjg4ek00ODAgMTY2NGgzMjB2LTI4OGgtMzIwdjI4OHpNMTI4IDEzMTJoMjg4di0zMjBoLTI4OHYzMjB6TTQ4MCAxMzEyaDMyMHYtMzIwaC0zMjB2MzIwek0xMjggOTI4aDI4OHYtMjg4aC0yODh2Mjg4ek04NjQgMTY2NGgzMjB2LTI4OGgtMzIwdjI4OHpNNDgwIDkyOGgzMjB2LTI4OGgtMzIwdjI4OHpNMTI0OCAxNjY0aDI4OHYtMjg4aC0yODh2Mjg4ek04NjQgMTMxMmgzMjB2LTMyMGgtMzIwdjMyMHpNNTEyIDQ0OHYtMjg4cTAtMTMtOS41LTIyLjV0LTIyLjUtOS41aC02NHEtMTMgMC0yMi41IDkuNXQtOS41IDIyLjV2Mjg4cTAgMTMgOS41IDIyLjV0MjIuNSA5LjVoNjRxMTMgMCAyMi41LTkuNXQ5LjUtMjIuNXpNMTI0OCAxMzEyaDI4OHYtMzIwaC0yODh2MzIwek04NjQgOTI4aDMyMHYtMjg4aC0zMjB2Mjg4ek0xMjQ4IDkyOGgyODh2LTI4OGgtMjg4djI4OHpNMTI4MCA0NDh2LTI4OHEwLTEzLTkuNS0yMi41dC0yMi41LTkuNWgtNjRxLTEzIDAtMjIuNSA5LjV0LTkuNSAyMi41djI4OHEwIDEzIDkuNSAyMi41dDIyLjUgOS41aDY0cTEzIDAgMjIuNS05LjV0OS41LTIyLjV6TTE2NjQgMzg0djEyODBxMCA1Mi0zOCA5MHQtOTAgMzhoLTE0MDhxLTUyIDAtOTAtMzh0LTM4LTkwdi0xMjgwcTAtNTIgMzgtOTB0OTAtMzhoMTI4di05NnEwLTY2IDQ3LTExM3QxMTMtNDdoNjRxNjYgMCAxMTMgNDd0NDcgMTEzdjk2aDM4NHYtOTZxMC02NiA0Ny0xMTN0MTEzLTQ3aDY0cTY2IDAgMTEzIDQ3dDQ3IDExM3Y5NmgxMjhxNTIgMCA5MCAzOHQzOCA5MHpcIi8+XG48L3N2Zz4iLCJjdXN0b21faWNvbjEiOiI8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2NjQgMTc5MlwiPjxwYXRoIGZpbGw9XCJpbmhlcml0XCIgZD1cIk0xNjY0IDY0N3EwIDIyLTI2IDQ4bC0zNjMgMzU0IDg2IDUwMHExIDcgMSAyMCAwIDIxLTEwLjUgMzUuNXQtMzAuNSAxNC41cS0xOSAwLTQwLTEybC00NDktMjM2LTQ0OSAyMzZxLTIyIDEyLTQwIDEyLTIxIDAtMzEuNS0xNC41dC0xMC41LTM1LjVxMC02IDItMjBsODYtNTAwLTM2NC0zNTRxLTI1LTI3LTI1LTQ4IDAtMzcgNTYtNDZsNTAyLTczIDIyNS00NTVxMTktNDEgNDktNDF0NDkgNDFsMjI1IDQ1NSA1MDIgNzNxNTYgOSA1NiA0NnpcIi8+XG48L3N2Zz4iLCJGb2N1c0FuaSI6dHJ1ZX0="> <style>/* Pulse animation */ 1144 .pulse, .pulse2, .slide-pulse { 1145 -webkit-animation-iteration-count: 1; 1146 -moz-animation-iteration-count: 1; 1147 -o-animation-iteration-count: 1; 1148 animation-iteration-count: 1; 1149 }</style> 1150 <div id="conversion-menu-container"> <div class="overlay"></div> 1151 <div class="mobile-bg"></div> 1152 <div class="social-bg"></div> 1153 <div class="fab" id="masterfab"> <div class="desktop-bg"> <div id="help-text">Hi. Do you need any help?</div> 1154 <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> 1155 <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> 1156</g> 1157 <g></g> 1158 <g></g> 1159 <g></g> 1160 <g></g> 1161 <g></g> 1162 <g></g> 1163 <g></g> 1164 <g></g> 1165 <g></g> 1166 <g></g> 1167 <g></g> 1168 <g></g> 1169 <g></g> 1170 <g></g> 1171 <g></g> 1172</svg> 1173</div> 1174</div> 1175 <span id="main-container"></span> 1176</div> 1177 <div id="float-container"></div> 1178</div> 1179 <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> 1180 <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> 1181 <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> 1182</g> 1183 <g></g> 1184 <g></g> 1185 <g></g> 1186 <g></g> 1187 <g></g> 1188 <g></g> 1189 <g></g> 1190 <g></g> 1191 <g></g> 1192 <g></g> 1193 <g></g> 1194 <g></g> 1195 <g></g> 1196 <g></g> 1197 <g></g> 1198</svg> 1199</button> 1200</header> 1201 <main class="modal__content" id="modal-1-content"> <div class="share-container"></div> 1202</main> 1203</div> 1204</div> 1205</div> 1206</div> 1207</div> 1208</div> 1209</div> 1210</div> 1211 <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> 1212</div> 1213 <div class="poweredLine2">© <span id="hibuYear">2026</span> 1214The content on this website is owned by us and our licensors. Do not copy any content (including images) without our consent.</div> 1215</div> 1216</div> 1217</div> 1218</div> 1219</div> 1220</div> 1221</div> 1222</div> 1223</div> 1224</div> 1225</div> 1226 1227 </div> 1228</div> 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267
1268<script> 1269 var isWLR = true; 1270 1271 window.customWidgetsFunctions = {}; 1272 window.customWidgetsStrings = {}; 1273 window.collections = {}; 1274 window.currentLanguage = "ENGLISH" 1275 window.isSitePreview = false; 1276</script>
1276 1277 1278 1279
1280<script> 1281 window.customWidgetsFunctions["d1ee5d5bf037471ea1770683731e577a~23"] = function (element, data, api) { 1282 $(document).ready(function(){ 1283 $.getScript('https://widget.hibu.us/static/js/index.js') 1284 .done(function(){ 1285 dmAPI.runOnReady('hibu_header_reviews',function(){ 1286 window.renderApp(); 1287 }); 1288 1289 }) 1290 .fail(function(){ 1291 console.log("failed to loaded header reviews js file") 1292 }); 1293}) 1294 1295 1296 }; 1297</script>
1297 1298
1299<script> 1300 window.customWidgetsFunctions["7b6cfbac88324cffbaaf57354cd7a334~227"] = function (element, data, api) { 1301 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>" 1302 1303/* find yext src */ 1304var findYextSrc = function(){ 1305 var keyExp = new RegExp(/src="(.*?)"/); 1306 if (data.config.script.includes('location_id')) { 1307 data.config.script = data.config.script.replace('location_id', 'entity_id'); 1308 } 1309 var result = keyExp.exec(data.config.script); 1310 if(result && result.length == 2){ 1311 window.yextScriptSrc=result[1]; 1312 return result[1]; 1313 }else{ 1314 return window.yextScriptSrc; 1315 } 1316} 1317 1318window.yextLoadedCallback = function(yextData) { 1319 $('.wrongScriptError').removeClass('hasError'); 1320 window.yextInitialized = true; 1321 1322 if(yextData) { 1323 window._yextData = yextData; 1324 } else { 1325 throw "Yext loaded but no data was passed"; 1326 } 1327} 1328 1329function loadYextScript(src){ 1330 $(element).find('.wrongScriptError').removeClass('hasError'); 1331 var yextScript = document.getElementById('d-yext-script'); 1332 if (yextScript) { 1333 yextScript.parentNode.removeChild(yextScript); 1334 } 1335 yextScript = document.createElement('script'); 1336 yextScript.charset = 'utf-8'; 1337 yextScript.type = 'text/javascript'; 1338 1339 src += "&callback=yextLoadedCallback" 1340 1341 yextScript.src = src; 1342 yextScript.id = 'd-yext-script'; 1343 document.body.appendChild(yextScript); 1344} 1345 1346/* load yext script */ 1347var loadYext = function(forceRefresh) { 1348 // Make sure we call Yext only once 1349 if(window.yextInitialized && !forceRefresh){ 1350 return; 1351 } 1352 1353 startIntervalToWaitAndLoadWidgets(data.config.type); 1354 1355 // We extract the "src" attribute from the string provided ina safe way 1356 // The format we expect is the following: 1357 1358 try{ 1359 var src = findYextSrc(); 1360 if(src){ 1361 1362 loadYextScript(src); 1363 1364 } else if(data.inEditor) { 1365 // $(document).load(function(){ 1366 // if(!window._yextData) { 1367 // $(element).find('.wrongScriptError').addClass('hasError'); 1368 // } 1369 // }) 1370 1371 // $(element).find('.wrongScriptError').addClass('hasError'); 1372 1373 return; 1374 } 1375 1376 } catch(exp) { 1377 // $(element).find('.wrongScript').addClass('hasError'); 1378 console.log(exp) 1379 return; 1380 } 1381 1382 if (data.inEditor) { 1383 if($('.multipleYextError').length > 1){ 1384 $(element).find('.multipleYextError').addClass('hasError'); 1385 return; 1386 }else if(data.config.type === 'none'){ 1387 $(element).find('.editorOnlyInfo').addClass('inEditor'); 1388 } 1389 } 1390} 1391 1392/* refresh yext script */ 1393window.refreshYext = function(){ 1394 loadYext(true); 1395} 1396 1397//function for Omniture tracking 1398window._trackConvWidgetClickEvent = function(eventName) { 1399 if(typeof(HAF)==="object"){ 1400 HAF.OmTracking.onCMClick(eventName) 1401 } 1402 return; 1403} 1404 1405/* draw yext map */ 1406var drawMap = function(yextData){ 1407 var zoom = data.config.mapZoom; 1408 var yData = yextData.entities[0].attributes; 1409 var addressQuery = yData['address1'] + " " + yData['address2'] + " " + yData['city'] + " " + yData['state'] + " " + yData['zip']; 1410 dmAPI.drawMap({addressQuery: addressQuery, zoom: zoom, container: $(element).find('.yextMap')}); 1411} 1412 1413 1414 1415var formatPhoneBeforeRender = function(num,cb) { 1416 if (!cb) 1417 cb = function(){return} 1418 if(data.config.formatPhone){ 1419 var s2 = (""+num).replace(/\D/g, ''); 1420 var m = s2.match(/^(\d{3})(\d{3})(\d{4})$/); 1421 var formatted = (!m) ? null : "(" + m[1] + ") " + m[2] + "-" + m[3]; 1422 cb(formatted); 1423 return formatted; 1424 } else { 1425 cb(num); 1426 return num; 1427 } 1428} 1429 1430var displayTextdList = function(type,yextData,firstOnly) { 1431 var list = ""; 1432 if(yextData.entities[0].attributes[type]) { 1433 var yextAtt = yextData.entities[0].attributes[type] 1434 } else { 1435 var yextAtt = false 1436 } 1437 1438 if(yextAtt && Array.isArray(yextAtt)) { 1439 for (var i=0; i< yextAtt.length; i++) { 1440 if (yextAtt[i] === 'Android Pay') { 1441 list += '<li>Google Pay</li>'; 1442 } 1443 else { 1444 list += '<li>' + yextAtt[i] + '</li>'; 1445 } 1446 } 1447 $(element).find('#' + type + 'List').html(list); 1448 } else if (yextAtt) { 1449 var yextAtt = yextAtt.split(", "); 1450 for (var i=0; i< yextAtt.length; i++) { 1451 list += '<li>' + yextAtt[i] + '</li>'; 1452 } 1453 $(element).find('#' + type + 'List').html(list); 1454 } else if (data.inEditor) { 1455 $(element).html(emptyListPlaceHolder); 1456 } else { 1457 $(element).css('display','none'); 1458 } 1459 1460 1461} 1462 1463var displaySpecialties = function(yextData){ 1464 var list = ""; 1465 if(yextData.entities[0].attributes["specialties"]) { 1466 var yextAtt = yextData.entities[0].attributes["specialties"] 1467 } else if (yextData.entities[0].attributes["specialities"]) { 1468 var yextAtt = yextData.entities[0].attributes["specialities"] 1469 } else { 1470 var yextAtt = false 1471 } 1472 1473 if(yextAtt && Array.isArray(yextAtt)) { 1474 for (var i=0; i< yextAtt.length; i++) { 1475 list += '<li>' + yextAtt[i] + '</li>'; 1476 } 1477 $(element).find('#specialtiesList').html(list); 1478 } else if (yextAtt) { 1479 var yextAtt = yextAtt.split(", "); 1480 for (var i=0; i< yextAtt.length; i++) { 1481 list += '<li>' + yextAtt[i] + '</li>'; 1482 } 1483 $(element).find('#specialtiesList').html(list); 1484 } else if (data.inEditor) { 1485 $(element).html(emptyListPlaceHolder); 1486 } else { 1487 $(element).css('display','none'); 1488 } 1489} 1490 1491var displayHours = function(type,yextData) { 1492 var list = ""; 1493 if(yextData.entities[0].attributes[type]) { 1494 var yextAtt = yextData.entities[0].attributes[type] 1495 } else { 1496 var yextAtt = false 1497 } 1498 1499 if(yextAtt && Array.isArray(yextAtt)) { 1500 for(var i=0;i < yextAtt.length;i++) { 1501 var indexEndDay = yextAtt[i].lastIndexOf('day ') + 3; 1502 1503 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"); 1504 1505 var rightSide = yextAtt[i].substr(indexEndDay + 1) 1506 1507 list += '<div class="row"><div class="left">' + leftSide + '</div><div class="right">' + rightSide + '</div></div>'; 1508 } 1509 1510 $(element).find('#hoursSmall').html(list); 1511 1512 } else if(yextAtt) { 1513 var yextAtt = yextAtt.split(", "); 1514 for(var i=0;i < yextAtt.length;i++) { 1515 if((/\s/.test(yextAtt[i])) === false){ 1516 yextAtt[i] = yextAtt[i] + ' - ' + yextAtt[i+1] 1517 yextAtt.splice(i+1, 1) 1518 } 1519 if (yextAtt[i].includes('day') === false ){ 1520 var leftSide = ' '; 1521 1522 var rightSide = yextAtt[i] 1523 }else { 1524 var indexEndDay = yextAtt[i].lastIndexOf('day ') + 3; 1525 1526 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"); 1527 1528 var rightSide = yextAtt[i].substr(indexEndDay + 1) 1529 } 1530 1531 list += '<div class="row"><div class="left">' + leftSide + '</div><div class="right">' + rightSide + '</div></div>'; 1532 } 1533 $(element).find('#hoursSmall').html(list); 1534 } else if (data.inEditor) { 1535 $(element).html(emptyListPlaceHolder); 1536 } else { 1537 $(element).css('display','none'); 1538 } 1539 1540} 1541 1542var displayOpenHours = function(type, yextData){ 1543 if(yextData.entities[0].attributes['timezone']){ 1544 var zone = yextData.entities[0].attributes['timezone'] 1545 } else { 1546 var zone = false 1547 } 1548 1549 if(zone){
1550 var time = new Date().toLocaleString("en-US", {timeZone: zone}); 1551 var today = new Date(time ); 1552 1553 var thirtyMins = 30 * 60 * 1000 1554 1555 var days = ['sunday','monday','tuesday','wednesday','thursday','friday','saturday']; 1556 var daysShort = ['Sun','Mon','Tues','Wed','Thurs','Fri','Sat']; 1557 1558 var day = days[today.getDay()]; 1559 var hour = today.getHours(); 1560 var min = today.getMinutes(); 1561 var dd = ("0" + today.getDate()).slice(-2); 1562 var mm = ("0" + (today.getMonth() + 1)).slice(-2) 1563 var yyyy = today.getFullYear(); 1564 var todayDate = yyyy + '-' + mm + '-' + dd 1565 var mm = mm - 1 1566 1567 const tomorrow = new Date(today) 1568 tomorrow.setDate(tomorrow.getDate() + 1) 1569 var mmTmw = ("0" + (tomorrow.getMonth() + 1)).slice(-2) 1570 var ddTmw = ("0" + tomorrow.getDate()).slice(-2) 1571 var yyyyTmw = tomorrow.getFullYear(); 1572 var nextDay = days[tomorrow.getDay()] 1573 var tommorrow = yyyyTmw + '-' + mmTmw + '-' + ddTmw 1574 var mmTmw = mmTmw - 1 1575 } 1576 1577 if(yextData.entities[0].attributes[type + '-' + day]) { 1578 var yextAtt = yextData.entities[0].attributes[type + '-' + day] 1579 if (yextAtt === "Closed"){ 1580 yextAtt = false 1581 } 1582 } else { 1583 var yextAtt = false 1584 } 1585 1586 //check if day is closed 1587 if(yextData.entities[0].attributes[type + '.' + day + '.isClosed'] === true) { 1588 var closed = true 1589 } 1590 1591 //collects business holiday hours 1592 if(yextData.entities[0].attributes[type + '.holidayHours']){ 1593 var holidayHours = yextData.entities[0].attributes[type + '.holidayHours'] 1594 } else{ 1595 var holidayHours = false 1596 } 1597 1598 //gets next days start time 1599 if(yextData.entities[0].attributes[type + '.' + nextDay + '.isClosed'] === true){ 1600 var tomorrowOpen = false 1601 } else { 1602 var tomorrowOpen = true 1603 var tmrwStart = yextData.entities[0].attributes[type + '-' + nextDay].split(" - ")[0] 1604 } 1605 1606 //checks if holiday hours change 1607 if(holidayHours) { 1608 for(var i=0;i < holidayHours.length;i++){ 1609 if(holidayHours[i].date === todayDate && holidayHours[i].openIntervals){ 1610 yextAtt = holidayHours[i].hoursFormatted 1611 } 1612 } 1613 } 1614 1615 //split hours 1616 if(yextAtt && yextAtt.includes(",")){ 1617 yextAtt = yextAtt.split(", ") 1618 for(var i=0;i < yextAtt.length;i++){ 1619 var end = yextAtt[i].split(' - ')[1] 1620 var start = yextAtt[i].split(' - ')[0] 1621 if (i+1 != yextAtt.length){ 1622 var nextStart = yextAtt[i + 1].split(' - ')[0] 1623 } 1624 if(start.includes("pm") && start.split(/\s+|:/)[0] != "12"){ 1625 var startDate = new Date(yyyy, mm, dd, parseInt(start.split(/\s+|:/)[0]) + 12, parseInt(start.split(/\s+|:/)[1])) 1626 } else { 1627 var startDate = new Date(yyyy, mm, dd, parseInt(start.split(/\s+|:/)[0]), parseInt(start.split(/\s+|:/)[1])) 1628 } 1629 1630 if(nextStart.includes("pm") && nextStart.split(/\s+|:/)[0] != "12"){ 1631 var nextStartDate = new Date(yyyy, mm, dd, parseInt(nextStart.split(/\s+|:/)[0]) + 12, parseInt(nextStart.split(/\s+|:/)[1])) 1632 } else { 1633 var nextStartDate = new Date(yyyy, mm, dd, parseInt(nextStart), parseInt(nextStart.split(/\s+|:/)[1])) 1634 } 1635 1636 if(end.includes("pm") && end.split(/\s+|:/)[0] != "12"){ 1637 var endDate = new Date(yyyy, mm, dd, parseInt(end.split(/\s+|:/)[0]) + 12, parseInt(end.split(/\s+|:/)[1])) 1638 } else { 1639 var endDate = new Date(yyyy, mm, dd, parseInt(end.split(/\s+|:/)[0]), parseInt(end.split(/\s+|:/)[1])) 1640 } 1641 1642 if (end.includes("am") && (endDate < startDate)){ 1643 endDate = new Date(yyyyTmw, mmTmw, ddTmw, parseInt(end.split(/\s+|:/)[0]), parseInt(end.split(/\s+|:/)[1])) 1644 } 1645 1646 if(today < startDate){ 1647 var closed = true 1648 tmrwStart = start 1649 break 1650 }else if(today > startDate && today < endDate){ 1651 yextAtt = start + ' - ' + end 1652 break 1653 }else if(today > endDate && (i+1 != yextAtt.length) && today < nextStartDate){ 1654 var closed = true 1655 tmrwStart = nextStart 1656 tomorrowOpen = true 1657 }else if(today > endDate && i+1 === yextAtt.length){ 1658 var closed = true 1659 } 1660 } 1661 } 1662 1663 1664 if(yextAtt || closed) { 1665 if(typeof yextAtt === "string"){ 1666 var start = yextAtt.split(" - ")[0] 1667 var end = yextAtt.split(" - ")[1] 1668 if(start.includes("pm") && start.split(/\s+|:/)[0] != "12"){ 1669 var startDate = new Date(yyyy, mm, dd, parseInt(start.split(/\s+|:/)[0]) + 12, parseInt(start.split(/\s+|:/)[1])) 1670 } else { 1671 var startDate = new Date(yyyy, mm, dd, parseInt(start.split(/\s+|:/)[0]), parseInt(start.split(/\s+|:/)[1])) 1672 } 1673 1674 if(end.includes("pm") && end.split(/\s+|:/)[0] != "12"){ 1675 var endDate = new Date(yyyy, mm, dd, parseInt(end.split(/\s+|:/)[0]) + 12, parseInt(end.split(/\s+|:/)[1])) 1676 } else if (end.includes("am") && end.split(/\s+|:/)[0] === "12") { 1677 var endDate = new Date(yyyy, mm, dd, parseInt(end.split(/\s+|:/)[0]) - 12, parseInt(end.split(/\s+|:/)[1])) 1678 } else { 1679 var endDate = new Date(yyyy, mm, dd, parseInt(end.split(/\s+|:/)[0]), parseInt(end.split(/\s+|:/)[1])) 1680 } 1681 1682 if (end.includes("am") && (endDate < startDate)){ 1683 endDate = new Date(yyyyTmw, mmTmw, ddTmw, parseInt(end.split(/\s+|:/)[0]), parseInt(end.split(/\s+|:/)[1])) 1684 } 1685 1686 //check if closed 1687 if(today > endDate){ 1688 var closed = true 1689 //opened 24 hours 1690 } else if(start === '12:00 am' && end === '11:59 pm'){ 1691 var status = "Open " 1692 var cssClass = "allDayStatus" 1693 var busHours = ' 24 hours ' 1694 //opened 1695 } else if(today < startDate){ 1696 var closed = true 1697 //check if closing soon 1698 } else if (endDate - today < thirtyMins && endDate - today < 0 === false ){ 1699 var status = "Closing Soon " 1700 var cssClass = "soonStatus" 1701 var busHours = ' • ' + end 1702 } else { 1703 var status = "Open " 1704 var cssClass = "openedStatus" 1705 var busHours = '• Closes ' + end 1706 } 1707 1708 } 1709 1710 if(closed){ 1711 1712 // closed & opening today 1713 if((today < startDate)){ 1714 var status = "Closed " 1715 var cssClass = "closedStatus" 1716 var busHours = ' Opens ' + start 1717 //closed & open tomorrow 1718 } else if(closed && tomorrowOpen === true){ 1719 var status = "Closed " 1720 var cssClass = "closedStatus" 1721 var busHours = ' • Opens ' + tmrwStart 1722 //closed and not open tomorrow 1723 } else if(closed && tomorrowOpen != true){ 1724 var offset = days.indexOf(day) + 1 1725 for( var i=0; i < days.length; i++) { 1726 var dayIndex = (i + offset) % days.length; 1727 if(yextData.entities[0].attributes[type + '.' + days[dayIndex] + '.openIntervals']){ 1728 tmrwStart = daysShort[dayIndex] + " " + yextData.entities[0].attributes[type + '-' + days[dayIndex]].split(" - ")[0] 1729 break 1730 } 1731 } 1732 var status = "Closed " 1733 var cssClass = "closedStatus" 1734 var busHours = ' • Opens ' + tmrwStart 1735 1736 } 1737 } 1738 } 1739 1740 // checks if holiday 1741 if(holidayHours) { 1742 for(var i=0;i < holidayHours.length;i++){ 1743 if(holidayHours[i].date === todayDate && holidayHours[i].isClosed === true && tomorrowOpen === false){ 1744 var offset = days.indexOf(day) + 1 1745 for( var i=0; i < days.length; i++) { 1746 var dayIndex = (i + offset) % days.length; 1747 if(yextData.entities[0].attributes[type + '.' + days[dayIndex] + '.openIntervals']){ 1748 tmrwStart = daysShort[dayIndex] + " " + yextData.entities[0].attributes[type + '-' + days[dayIndex]].split(" - ")[0] 1749 break 1750 } 1751 } 1752 var status = "Closed " 1753 var cssClass = "closedStatus" 1754 var busHours = ' • Opens ' + tmrwStart 1755 } else if(holidayHours[i].date === todayDate && holidayHours[i].isClosed === true && tomorrowOpen === true){ 1756 var status = "Closed " 1757 var cssClass = "closedStatus" 1758 var busHours = ' • Opens ' + tmrwStart 1759 1760 } 1761 } 1762 } 1763 if(cssClass){ 1764 var hoursWidgets = document.getElementsByClassName('status') 1765 for( var i=0; i < hoursWidgets.length; i++) { 1766 hoursWidgets[i].classList.add(cssClass); 1767 } 1768 } 1769 if(status){ 1770 var hoursWidgets = document.getElementsByClassName('status') 1771 for( var i=0; i < hoursWidgets.length; i++) { 1772 hoursWidgets[i].innerText = status; 1773 } 1774 } 1775 if(cssClass === 'allDayStatus'){ 1776 var hoursWidgets = $(element).find('.openHours') 1777 for( var i=0; i < hoursWidgets.length; i++) { 1778 hoursWidgets[i].children[0].textContent = "" 1779 } 1780 } 1781 if(document.getElementsByClassName('openHours')[0].childElementCount > 1){ 1782 var hoursWidgets = document.getElementsByClassName('openHours') 1783 for( var i=0; i < hoursWidgets.length; i++) { 1784 var openHoursLength = hoursWidgets[i].childNodes.length 1785 var oldHours = hoursWidgets[i] 1786 oldHours.removeChild(oldHours.childNodes[openHoursLength - 1]) 1787 } 1788 } 1789 var hoursWidgets = document.getElementsByClassName('openHours') 1790 for( var i=0; i < hoursWidgets.length; i++) { 1791 hoursWidgets[i].append(busHours) 1792 } 1793} 1794 1795 1796var displayHolidayHoursList = function(type,yextData) { 1797 var list = ""; 1798 1799 if(yextData.entities[0].attributes["hours.holidayHours"]) { 1800 var yextAtt = yextData.entities[0].attributes["hours.holidayHours"] 1801 } else if(yextData.entities[0].attributes["holidayHours"]) { 1802 var yextAtt = yextData.entities[0].attributes["holidayHours"] 1803 } else { 1804 var yextAtt = false 1805 } 1806 1807 1808 1809 if(yextAtt) { 1810 for (var i=0; i< yextAtt.length; i++) { 1811 1812 var dateHol = new Date(Date.parse(yextAtt[i].date)); 1813 1814 var dateNow = new Date(); 1815 var numDaysBetween = getNumDaysBetween(dateHol,dateNow); 1816 1817 if (numDaysBetween > -1) { 1818 // write to dom 1819 list += '<li>' + yextAtt[i].dateFormatted + ' - <span class="holidayHoursStatus">' + yextAtt[i].hoursFormatted + '</span></li>'; 1820 } 1821 1822 } 1823 $(element).find('#' + type + 'List').html(list); 1824 } else if (data.inEditor) { 1825 // if in editor display place holder 1826 $(element).html(emptyListPlaceHolder); 1827 } else { 1828 // if empty, hide element on runtime 1829 $(element).css('display','none'); 1830 } 1831} 1832 1833var displayServiceArea = function(type,yextData,firstOnly) { 1834 var list = ""; 1835 if(yextData.entities[0].attributes[type]) { 1836 var yextAtt = yextData.entities[0].attributes[type] 1837 } else { 1838 var yextAtt = false 1839 } 1840 1841 if (firstOnly) { 1842 list = '<li>' + yextAtt[0] + '</li>'; 1843 $(element).find('#' + type + 'List').html(list); 1844 } else if (yextAtt && Array.isArray(yextAtt)) { 1845 for (var i=0; i< yextAtt.length; i++) { 1846 list += '<li>' + yextAtt[i] + '</li>'; 1847 } 1848 $(element).find('#' + type + 'List').html(list); 1849 } else if (yextAtt) { 1850 var yextAtt = yextData.entities[0].attributes[type + ".places"] 1851 for (var i=0; i< yextAtt.length; i++) { 1852 list += '<li>' + yextAtt[i] + '</li>'; 1853 } 1854 $(element).find('#' + type + 'List').html(list); 1855 } else if (data.inEditor) { 1856 $(element).html(emptyListPlaceHolder); 1857 } else { 1858 $(element).css('display','none'); 1859 } 1860 1861} 1862 1863var displayPhoneList = function(type,yextData) { 1864 var list = ""; 1865 1866 var locData = yextData.entities[0].attributes; 1867 1868 if(locData.phone) { 1869 list += '<li><span class="phoneLabel">Main:</span><span class="phoneNum"> ' + formatPhoneBeforeRender(locData.phone) + '</span></li>'; 1870 } 1871 if(locData.localPhone) { 1872 list += '<li><span class="phoneLabel">Local:</span><span class="phoneNum"> ' + formatPhoneBeforeRender(locData.localPhone) + '</span></li>'; 1873 } 1874 if(locData.alternatePhone) { 1875 list += '<li><span class="phoneLabel">Alternate:</span><span class="phoneNum"> ' + formatPhoneBeforeRender(locData.alternatePhone) + '</span></li>'; 1876 } 1877 if(locData.tollFreePhone) { 1878 list += '<li><span class="phoneLabel">Toll Free:</span><span class="phoneNum"> ' + formatPhoneBeforeRender(locData.tollFreePhone) + '</span></li>'; 1879 } 1880 if(locData.mobilePhone) { 1881 list += '<li><span class="phoneLabel">Mobile:</span><span class="phoneNum"> ' + formatPhoneBeforeRender(locData.mobilePhone) + '</span></li>'; 1882 } 1883 if(locData.faxPhone) { 1884 list += '<li><span class="phoneLabel">Fax:</span><span class="phoneNum"> ' + formatPhoneBeforeRender(locData.faxPhone) + '</span></li>'; 1885 } 1886 if(locData.ttyPhone) { 1887 list += '<li><span class="phoneLabel">TTY:</span><span class="phoneNum"> ' + formatPhoneBeforeRender(locData.ttyPhone) + '</span></li>'; 1888 } 1889 1890 if(list.length > 0) { 1891 $(element).find('#' + type + 'List').html(list); 1892 } else if (data.inEditor) { 1893 $(element).html(emptyListPlaceHolder); 1894 } else { 1895 $(element).css('display','none'); 1896 } 1897 1898 emitYextPhoneRenderEvent(formatPhoneBeforeRender(locData.phone)); 1899 1900} 1901 1902var getNumDaysBetween = function(d1, d2) { 1903 var diff = d1.getTime() - d2.getTime(); 1904 return diff / (1000 * 60 * 60 * 24); 1905}; 1906 1907var orderPaymentsList = function(listData) { 1908 1909 if(listData.indexOf('Discover') >= 0) { 1910 listData.splice(listData.indexOf("Discover"), 1); 1911 listData.unshift('Discover'); 1912 } 1913 1914 if(listData.indexOf('American Express') >= 0) { 1915 listData.splice(listData.indexOf("American Express"), 1); 1916 listData.unshift('American Express'); 1917 } 1918 1919 if(listData.indexOf('MasterCard') >= 0) { 1920 listData.splice(listData.indexOf("MasterCard"), 1); 1921 listData.unshift('MasterCard'); 1922 } 1923 1924 if(listData.indexOf('Visa') >= 0) { 1925 listData.splice(listData.indexOf("Visa"), 1); 1926 listData.unshift('Visa'); 1927 } 1928 1929 return listData 1930} 1931 1932var displayImageList = function(type,yextData) { 1933 var list = ""; 1934 var listData = orderPaymentsList(_yextData.entities[0].attributes[type]); 1935 1936 1937 for (var i=0; i< listData.length; i++) { 1938 1939 list += '<img src="' + getImageUrl(listData[i],data.config.cardStyleDarkOrLight) + '" alt="' + listData[i] + '"/>' 1940 } 1941 1942 if(list.length > 0) { 1943 $(element).find('#paymentOptionsImages').html(list) 1944 } else if (data.inEditor) { 1945 $(element).html(emptyListPlaceHolder); 1946 } else { 1947 $(element).css('display','none'); 1948 } 1949 1950 1951 1952} 1953 1954var displaySocialIcons = function(type,yextData) { 1955 var list = ""; 1956 1957 if(yextData.entities[0].attributes.facebookPageUrl) { 1958 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>' 1959 } 1960 if(yextData.entities[0].attributes.twitterHandle) { 1961 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>' 1962 } 1963 if(yextData.entities[0].attributes.instagramHandle) { 1964 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>'
1965 } 1966 1967 if(list.length > 0) { 1968 $(element).find('#socialIcons').html(list); 1969 } else if (data.inEditor) { 1970 $(element).html(emptyListPlaceHolder); 1971 } else { 1972 $(element).css('display','none'); 1973 } 1974 1975 1976} 1977 1978var getImageUrl = function(name,style) { 1979 var cdnPath = 'https://cdn.websites.hibu.com/-resellers-preview/_cc_icons/'; 1980 if(!style) { 1981 style = '_d.svg' 1982 } 1983 if (name === "ZELLE"){ 1984 name = "Zelle" 1985 } 1986 if (name === "Google Pay"){ 1987 name = "Android Pay" 1988 } 1989 if (name === "KLARNA"){ 1990 name = "Klarna" 1991 } 1992 var imageUrl=''; 1993 switch (name) { 1994 case 'Visa': 1995 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 1996 break; 1997 case 'MasterCard': 1998 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 1999 break; 2000 case 'Discover': 2001 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 2002 break; 2003 case 'American Express': 2004 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 2005 break; 2006 case 'Android Pay': 2007 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 2008 break; 2009 case 'Apple Pay': 2010 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 2011 break; 2012 case 'Bitcoin': 2013 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 2014 break; 2015 case 'Cash': 2016 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 2017 break; 2018 case 'Check': 2019 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 2020 break; 2021 case 'Diners Club': 2022 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 2023 break; 2024 case 'Discover': 2025 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 2026 break; 2027 case 'Financing': 2028 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 2029 break; 2030 case 'Invoice': 2031 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 2032 break; 2033 case 'PayPal': 2034 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 2035 break; 2036 case 'Samsung Pay': 2037 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 2038 break; 2039 case "Traveler's Check": 2040 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 2041 break; 2042 case "Zelle": 2043 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 2044 break 2045 case "Klarna": 2046 imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; 2047 break 2048 } 2049 return imageUrl 2050} 2051 2052function emitYextPhoneRenderEvent(phone) { 2053 var yextPhoneRenderEvent = new CustomEvent('YextPhoneChangeEvent', 2054 { 2055 detail: phone, 2056 bubbles: true, 2057 cancelable: true 2058 }); 2059 2060 document.dispatchEvent(yextPhoneRenderEvent); 2061} 2062 2063var initYextElements = function(yextData,widgetType){ 2064 if (widgetType === 'address' && data.config.drawMap) { 2065 drawMap(yextData); 2066 } else if (widgetType === 'paymentOptions' && data.config.showPaymentsAs === 'paymentIcons') { 2067 displayImageList(widgetType,yextData); 2068 } else if (widgetType === 'phone' && data.config.phoneShowAs === 'list') { 2069 displayPhoneList(widgetType,yextData); 2070 // check for any list type 2071 } else if(widgetType === 'phone' && data.config.phoneShowAs === 'button') { 2072 var phFormatted = formatPhoneBeforeRender(yextData.entities[0].attributes[data.config.phoneType],function(phone) { 2073 $(element).find(".dmButtonLink").html('<span class="text">' + phone + '</span>'); 2074 2075 emitYextPhoneRenderEvent(phone); 2076 2077 }); 2078 } else if(widgetType === 'phone' && data.config.phoneShowAs === 'text') { 2079 var phFormatted = formatPhoneBeforeRender(yextData.entities[0].attributes[data.config.phoneType],function(phone) { 2080 $(element).find('.yextPhoneText').html('<span class="text">' + phone + '</span>'); 2081 2082 emitYextPhoneRenderEvent(phone); 2083 2084 }); 2085 } else if (widgetType === 'services' || widgetType === 'googleAttributesFormatted' || widgetType === 'languages' || widgetType === 'paymentOptions' || widgetType === 'keywords' || widgetType === 'products' || widgetType === 'associations' || widgetType === 'brands') { 2086 setTimeout(function() { 2087 displayTextdList(widgetType,yextData) 2088 },1); 2089 } else if(widgetType === 'specialties') { 2090 setTimeout(function() { 2091 displaySpecialties(yextData) 2092 },1) 2093 }else if (widgetType ==='serviceArea') { 2094 setTimeout(function() { 2095 displayServiceArea(widgetType,yextData,data.config.showServiceAreaFirst) 2096 },1) 2097 } else if (widgetType ==='hours' && data.config.hoursShowAs === 'list' && data.config.isList == false) { 2098 setTimeout(function() { 2099 displayHours(widgetType,yextData) 2100 },1) 2101 } else if (widgetType ==='hours' && data.config.hoursShowAs === 'openHours') { 2102 setTimeout(function() { 2103 displayOpenHours(widgetType,yextData) 2104 },1) 2105 } else if (widgetType === 'social') { 2106 displaySocialIcons(widgetType,yextData); 2107 } else if (widgetType === 'holidayHours') { 2108 setTimeout(function() { 2109 displayHolidayHoursList(widgetType,yextData) 2110 },1); 2111 } else if (widgetType === 'hours') { 2112 //hide hours list if toggle enabled 2113 if(data.config.hideHoursList === true) { 2114 $(element).find('.yextHours').css('display','none'); 2115 } 2116 } else if (widgetType === 'description' || widgetType === 'yearEstablished' || widgetType === 'email' || widgetType === 'name') { 2117 // check 2118 hideIfEmpty(widgetType,yextData) 2119 } 2120 //remove error if script not entered correctly. 2121 $(element).find('.wrongScriptError').removeClass('hasError'); 2122 2123} 2124 2125function hideIfEmpty(type,yextData) { 2126 if(!yextData.entities[0].attributes[type]) { 2127 if(data.inEditor) { 2128 $(element).html(emptyListPlaceHolder); 2129 } else { 2130 $(element).css('display','none'); 2131 } 2132 2133 } 2134} 2135 2136// TODO CHANGE TO EVENT CALL BACK 2137var startIntervalToWaitAndLoadWidgets = function(widgetType) { 2138 //start interval for this specific widget 2139 var intervalCheckYextLoaded = setInterval(function(){ 2140 if (window._yextData) { 2141 clearInterval(intervalCheckYextLoaded); 2142 initYextElements(window._yextData,widgetType); 2143 } 2144 },50) 2145} 2146 2147 2148/* initialization */ 2149if(data.inEditor){ 2150 window.refreshYext && window.refreshYext(); 2151 2152 2153 $(document).ready(function(){ 2154 if(!window.yextInitialized){ 2155 $(element).find('.missingYextWidget').addClass('show'); 2156 } else { 2157 $(element).find('.missingYextWidget').removeClass('show'); 2158 } 2159 }); 2160 2161} else { 2162 dmAPI.runOnReady('yext' , function(){ 2163 loadYext(); 2164 }); 2165 // Before navigating with Ajax, we set the yext initialized to be false so it will be initialized again after the ajax navigation 2166 dmAPI.runBeforeAjaxNavigation('yext', function(){ 2167 window.yextInitialized = false;
2168 }); 2169} 2170 }; 2171</script>
2171 2172
2173<script> 2174 window.customWidgetsFunctions["afd4bc7f907140298e111130d715031d~99"] = function (element, data, api) { 2175 let HasOpenedMenu = false; 2176 2177$(document).ready(function() { 2178 displayType(); 2179}); 2180 2181function displayType() { 2182 if(isMobile()) { 2183 displayMobile(); 2184 } else { 2185 displayDesktop(); 2186 } 2187} 2188 2189function displayMobile() { 2190 var masterFabEle = $(element).find('#masterfab'); 2191 $('#main-container').empty().append(getSvg(data.config.MobileMain)); 2192 2193 $(masterFabEle).attr('class', 'fab master-mobile');// add mobile class for custom style 2194 2195 $(masterFabEle).css('display', 'flex'); //since element is hidden by default, show instead 2196 2197 // set the text alignment var here for use below (update BSR:20200421) 2198 var moText = (data.config.MobileOrientation === 'left') ? 'bsrRightText' : 'leftText'; 2199 2200 // add items with or without overlay and label text 2201 if(data.config.MobileLayout === 'Full') { 2202 $('.mobile-bg').after(getItems(moText)); 2203 } 2204 else { 2205 $('.mobile-bg').after(getItems()); 2206 } 2207 2208 mobileTheme(); // add light or dark theme 2209 bsrIconResize(); // makes a custom icon resizable (update BSR:20200529) 2210 bsrMobileOrientation(); // positions menu left or right (update BSR:20200421) 2211 addListener(); 2212 2213 if (typeof fbq === "function") { // this makes sure that fbq is on the page 2214 addPixelListener(); // Facebook Pixel conversion tracking (update BSR:20200422) 2215 } 2216 addChatListener(); // Add chat script injection (update BSR:20200526) 2217
2218 // add focus animation 2219 if(data.config.FocusAni) animateFocus(); 2220} 2221function displayDesktop() { 2222 var masterFabEle = $(element).find('#masterfab'); 2223 $(masterFabEle).css('display', 'flex'); //since element is hidden by default, show instead 2224 if(data.config.DesktopLayout === 'Bar') { 2225 $('#main-container').empty().append(getSvg(data.config.DeskMain)); 2226 $(masterFabEle).append(getItems('rightText')); 2227 } 2228 else { 2229 $('#float-container').empty().append(getItems('rightText', true)); 2230 } 2231 desktopType(); 2232 bsrIconResize(); // makes a custom icon resizable (update BSR:20200529) 2233 addListener(); 2234 2235 if (typeof fbq === "function") { // this makes sure that fbq is on the page 2236 addPixelListener(); // Facebook Pixel conversion tracking (update BSR:20200422) 2237 } 2238 addChatListener(); // Add chat script injection (update BSR:20200526) 2239 2240 // add focus animation 2241 if(data.config.FocusAni) animateFocus(); 2242} 2243// handles style changes for desktop types 2244function desktopType() { 2245 $('#masterfab').attr('class', 'fab master-desktop'); // add desktop class for styling 2246 $('.icon-container').addClass('desktop'); 2247 if(data.config.DesktopLayout === 'Bar') { 2248 $('.menu-link').addClass('desk-bar'); // add class for fixed bar text 2249 $('.child').attr('class', 'fab child child-desktop-bar'); 2250 2251 const masterLabel = '<span id="master-label">'+data.config.MainLabel+'</span>'; 2252 $('#master-label').remove(); 2253 $('#masterfab').append(masterLabel); 2254 2255 $('#masterfab').addClass('master-bar'); 2256 } else if(data.config.DesktopLayout === 'Float') { 2257 $('#masterfab').hide(); 2258 } 2259} 2260// styles light and dark mobile themes 2261function mobileTheme() { 2262 $('.child').attr('class', 'fab child child-mobile'); 2263 if(data.config.MobileTheme === 'Light') { 2264 $('.overlay, .child, .social-icon, .icon-container, .mobile-bg, social-bg, .menu-link').addClass('mobile light'); 2265 } 2266 else if(data.config.MobileTheme === 'Dark') { 2267 $('.overlay, .child, .social-icon, .icon-container, .mobile-bg, social-bg, .menu-link').addClass('mobile dark'); 2268 } 2269} 2270// adds the menu to the left or right of the mobile screen (update BSR:20200421) 2271function bsrMobileOrientation() { 2272 if(data.config.MobileOrientation === 'left') { 2273 $('.fab.master-mobile, .child.mobile').addClass('bsr-left'); 2274 } 2275 else { 2276 $('.fab.master-mobile, .child.mobile').removeClass('bsr-left'); 2277 } 2278} 2279 2280/* 2281 Previous implementation places custom icons in a new <div> 2282 I found this to be inconsistent in resizing so the function 2283 adds the appropriate class directly to the svg element 2284 (update BSR:20200529) 2285*/ 2286function bsrIconResize() { 2287 customIcons = $(element).find('.custom-user-icon'); 2288 if(customIcons.length > 0) { 2289 $.each(customIcons, function(i, cicon) { 2290 var classList = $(cicon).attr('class').split(/\s+/); 2291 $.each(classList, function(index, item) { 2292 if(item != 'custom-user-icon') { 2293 $( "." + item + " > svg" ).addClass(item); // add the calling class to the child svg element directly 2294 $( "." + item + " > svg" ).unwrap(); // remove the parent div 2295 } 2296 }); 2297 }); 2298 } 2299} 2300 2301 2302// adds click or hover listeners 2303function addListener() { 2304 // add listener and animation for floating icons hover animation 2305 if(!isMobile() && data.config.DesktopLayout === 'Float') animateFloat('.float-container', 300); 2306 // click handlers for desktop bar and mobile options 2307 else { 2308 $("#conversion-menu-container").off('click', '.fab,.overlay'); 2309 $("#conversion-menu-container").on('click', '.fab,.overlay', function(){ 2310 HasOpenedMenu = true; 2311 $('.animation').remove(); // remove any animations we have 2312 if(isMobile()) { 2313 animateIcons('overlay'); 2314 data.config.MobileLayout === 'Full'? animateBg('.mobile-bg') : ''; 2315 } else { // bar desktop 2316 animateIcons('helpText'); 2317 animateBg('.desktop-bg'); 2318 } 2319 }); 2320 } 2321} 2322 2323// listens for share button click and triggers response 2324function addShareListener() { 2325 $("#conversion-menu-container").off('click', '.share'); 2326 $(".share").on('click', function() { 2327 // console.log('share clicked modal should open'); 2328 MicroModal.show('social-modal-menu'); 2329 });
2330} 2331function addPixelListener() { 2332 $('.bsr-menulink').click(function() { 2333 var eventName = $(this).data('eventname'); 2334 if(!eventName) { 2335 fbq('track', 'Contact'); 2336 } else { 2337 fbq('trackCustom', eventName); 2338 } 2339 }); 2340} 2341function addChatListener() { 2342 $(".bsr-chat").on('click', function() { 2343 $("#chat-script").remove(); // Get rid of any chat-script on the page 2344 $.each(data.config.IconList, function(index,value){ 2345 if(value.hasOwnProperty('ChatScript')) 2346 { 2347 var cscript = value.ChatScript; 2348 // Check if the script is a src or raw script 2349 // Changed mind and wanted to input
2349<script> tags so this is saved for posterity 2350 /* 2351 var re = new RegExp('^(?:[a-z]+:)?//', 'i'); // non case-sensitive, protocol-agnostic 2352 if (re.test(cscript)) { 2353 $('body').append('
2353<script async="async" src="' + cscript + '" type="text/javascript" id="chat-script"><\/script>'); 2354 return false; // break out of the $.each() on first occurence 2355 } else { 2356 $('body').append('
2356<script type="text/javascript" id="chat-script">' + cscript + '<\/script>'); 2357 return false; // break out of the $.each() on first occurence 2358 } 2359 */ 2360 $('body').append(cscript); 2361 } 2362 }); 2363 }); 2364} 2365// 2366// ANIMATIONS 2367// 2368function animateFocus() { 2369 $('.animation').remove(); //in case already in DOM 2370 if(!HasOpenedMenu) { 2371 if(isMobile()) { 2372 const pulse = '<div class="pulse2 animation"/><div class="pulse animation"/>'; 2373 setTimeout(function() { 2374 $('#masterfab').append(pulse); 2375 }, +data.config.FocusDelay); 2376 } 2377 // desktop 2378 else { 2379 data.config.DesktopLayout === 'Float'? 2380 animateFloatFocus() : animateBarFocus(); 2381 } 2382 } 2383} 2384function animateFloatFocus() { 2385 if($('.focus')[0]) { 2386 const id = $('.focus')[0].id; 2387 setTimeout(function() { 2388 $('#'+id).css('max-width', ''); 2389 $('#'+id).addClass('slide-pulse'); 2390 }, +data.config.FocusDelay); 2391 } 2392} 2393// opens fixed bar on desktop after set interval 2394function animateBarFocus() { 2395 if(!$(".desktop-bg").is(":visible")) { 2396 setTimeout(function() { 2397 animateIcons('helpText'); 2398 animateBg('.desktop-bg'); 2399 }, +data.config.FocusDelay); 2400 } 2401} 2402// adds hover listeners and animates floating icons on desktop 2403function animateFloat(selector, dur) { 2404 $("#float-container").off("mouseenter", selector); 2405 $("#float-container").on("mouseenter", selector, function(event) { 2406 // console.log('float mouse enter'); 2407 HasOpenedMenu = true; 2408 var id = $(this)[0].id; 2409 // cancel animation on hover 2410 data.config.FocusAni? $('#'+id).removeClass('slide-pulse') : 0; 2411 2412 $('#text-'+id).fadeIn(); 2413 $('#float-text-'+id).fadeIn(dur).css("display","inline-flex"); 2414 $('#'+id).stop().animate({ 2415 "max-width": "200px", 2416 }, dur); 2417 }); 2418 2419 $("#float-container").off("mouseleave", selector); 2420 $("#float-container").on("mouseleave", selector, function(event) { 2421 // console.log('float mouse leave'); 2422 var id = $(this)[0].id; 2423 $('#text-'+id).fadeOut(dur); 2424 $('#'+id).stop().animate({ 2425 "max-width": "42.666px", 2426 }, dur); 2427 }); 2428} 2429// animates icons slide up and transparent overlay(depending on showType) 2430function animateIcons(showType) { 2431 if($(".overlay").is(":visible") || $(".desktop-bg").is(":visible")) { 2432 if(showType === 'overlay') $('.overlay').fadeOut(125); 2433 else if(showType === 'helpText') $('#help-text').fadeOut(125); 2434 2435 // add plus icon back 2436 $('#main-container').empty().append(getSvg(data.config.MobileMain)); 2437 2438 $('.fab.child').stop().animate({ 2439 bottom : $('#masterfab').css('bottom'), 2440 opacity : 0 2441 }, 125, function() { 2442 $(this).hide(); 2443 }); 2444 } else { 2445 if(showType === 'overlay') $('.overlay').fadeIn(125); 2446 else if(showType === 'helpText') $('#help-text').fadeIn(125); 2447 2448 // add close icon on mobile only 2449 if(isMobile()) $('#main-container').empty().append(getSvg('close')); 2450 $(".fab.child").each(function(){ 2451 $(this).stop().show().animate({ 2452 bottom : (parseInt($("#masterfab").css("bottom")) + parseInt($("#masterfab").outerHeight() + 20) + 56 * $(this).data("subitem") - $(".fab.child").outerHeight()) + "px", 2453 opacity : 1 2454 }, 125); 2455 }); 2456 } 2457} 2458// adds overlay that slides up 2459function animateBg(selector) { 2460 if($(selector).is(":visible")) { 2461 $('#main-container').removeClass('open'); 2462 $("#masterfab.fab.master-mobile").removeClass('mobile-open') 2463 var mainIcon = data.config.DeskMain 2464 // revert to default main icon style 2465 if(isMobile()) { 2466 mainIcon = data.config.MobileMain; 2467 $('#masterfab').css({'background': '', 'box-shadow': ''}); // restore default 2468 } 2469 $('#main-container').empty().append(getSvg(mainIcon)); 2470 2471 $('.menu-link, .child').hide(); 2472 // slide down to cloes 2473 $(selector).stop().animate({ 2474 height : 0, 2475 opacity : 0 2476 }, 125, function(){ 2477 $(this).hide(); 2478 }); 2479 } else { 2480 $('#main-container').addClass('open'); 2481 $("#masterfab.fab.master-mobile").addClass('mobile-open') 2482 var topArea = 100; 2483 if(isMobile()) { 2484 $('#masterfab').css({'background': 'none', 'box-shadow': 'none'}); // make icon flat 2485 $('#main-container').empty().append(getSvg('close')); // add x icon 2486 } 2487 else if(data.config.DesktopLayout === 'Bar') { 2488 // hack to get height of bar help text before it's visible 2489 $(selector).css({'position':'absolute','visibility':'hidden', 'display':'block'});
2490 topArea = $("#help-text").height()? $("#help-text").height() + 60 : 40; 2491 $(selector).removeAttr('style'); 2492 } 2493 2494 // slide up to open 2495 $(selector).stop().show().animate({ 2496 height : (((data.config.IconList.length+1) * 56) + topArea) + "px", 2497 opacity : 1 2498 },125, function() { 2499 $('.menu-link').fadeIn(125); 2500 $(selector).css("display","flex") 2501 }); 2502 } 2503} 2504function getItems(type, float) { 2505 $('.child').remove(); // remove any items already in DOM 2506 var html = '', label = '', icon = '', text = ''; 2507 var items = float? data.config.IconList : data.config.IconList.reverse(); 2508 items.forEach(function(item, index) { 2509 2510 if(item.showonmobile==true && data.device === 'mobile'){ 2511 index = index+1; 2512 if(type === 'rightText'){ 2513 label = '<span class="right-text">' + item.Label + '</span>'; 2514 } 2515 if(type === 'leftText') { 2516 label = '<span class="left-text">' + item.Label + '</span>'; 2517 } 2518 if(type === 'bsrRightText') { 2519 label = '<span class="bsr-right-text">' + item.Label + '</span>'; 2520 } 2521 2522 2523 2524 icon = '<span class="icon-container">'+getItemIcon(item)+'</span>'; 2525 html += 2526 '<div class="fab child" id="child-'+index+'" data-subitem="'+index+'"> \ 2527 '+getItemAction(item, icon+label)+' \ 2528 </div>'; 2529 2530 if(item.Action === 'Share') { 2531 $.getScript('https://cdn.jsdelivr.net/npm/micromodal/dist/micromodal.min.js', function() { 2532 MicroModal.init(); 2533 $('.share-container').html(getSocialItems(item)); // add social icons to modal 2534 addShareListener(); // if social sharing enabled add click handler 2535 }); 2536 } 2537 } 2538 2539 else if(item.showondesktop==true && (data.device === 'desktop' || data.device === 'tablet') ){ 2540 2541 if(type === 'rightText'){ 2542 label = '<span class="right-text">' + item.Label + '</span>'; 2543 } 2544 if(type === 'leftText') { 2545 label = '<span class="left-text">' + item.Label + '</span>'; 2546 } 2547 if(!float) { 2548 icon = '<span class="icon-container">'+getItemIcon(item)+'</span>'; 2549 html += 2550 '<div class="fab child" id="child-'+index+'" data-subitem="'+index+'"> \ 2551 '+getItemAction(item, icon+label)+' \ 2552 </div>'; 2553 } 2554 // floating icons on desktop only 2555 else { 2556
2557 // add focus class for focus animation 2558 label = item.Label; 2559 var focusClass = item.Animate? 'focus' : ''; 2560 icon = '<span class="icon-container">'+getItemIcon(item)+'</span>'; 2561 text = '<span class="float-text" id="text-'+index+'">'+label+'</span>'; 2562 html += 2563 '<div class="float-container '+focusClass+'" id="'+index+'"> \ 2564 <span class="fab child float" id="child-'+index+'" data-subitem="'+index+'" style="display: inline-flex;"> \ 2565 '+getItemAction(item, icon)+' \ 2566 </span> \ 2567 <span class="float-text-container" id="float-text-'+index+'"> \ 2568 '+getItemAction(item, text)+' \ 2569 </span> \ 2570 </div>'; 2571 } 2572 // if action is share add share items to modal 2573 if(item.Action === 'Share') { 2574 $.getScript('https://cdn.jsdelivr.net/npm/micromodal/dist/micromodal.min.js', function() { 2575 MicroModal.init(); 2576 $('.share-container').html(getSocialItems(item)); // add social icons to modal 2577 addShareListener(); // if social sharing enabled add click handler 2578 }); 2579 } 2580 } 2581 }); 2582 return html; 2583} 2584function getSocialItems(item) { 2585 let html = ''; 2586 const content = getShareContent(item); 2587 if(item.Email) html += getShareHtml('Email', content.link, content.title, 'Tab', 'social'); 2588 if(item.Facebook) html += getShareHtml('Facebook', content.link, content.title, 'Tab', 'social'); 2589 if(item.Tumblr) html += getShareHtml('Tumblr', content.link, content.title, 'Tab', 'social'); 2590 if(item.LinkedIn) html += getShareHtml('LinkedIn', content.link, content.title, 'Tab', 'social'); 2591 if(item.Twitter) html += getShareHtml('Twitter', content.link, content.title, 'Tab', 'social'); 2592 if(item.Reddit) html += getShareHtml('Reddit', content.link, content.title, 'Tab', 'social'); 2593 //if(item.GooglePlus) html += getShareHtml('GooglePlus', content.link, content.title, 'Tab', 'social'); 2594 if(item.Pinterest) html += getShareHtml('Pinterest', content.link, content.title, 'Tab', 'social'); 2595 return html; 2596} 2597 2598// 2599// Social Share Functions 2600// 2601function getShareContent(item) { 2602 // set link to the current page url 2603 let link = item.ShareLink? item.Link.href : window.top.location.href; 2604 link = encodeURI(link); 2605 2606 // get default page title from the actual page title 2607 const pageTitle = item.ShareTitle? item.ShareTitle : document.title; 2608 const encodedTitle = encodeURI(pageTitle); 2609 2610 return {link: link, title: encodedTitle}; 2611} 2612function getShareHtml(site, link, encodedTitle, action, linkClass) { 2613 let href = ''; 2614 switch(site) { 2615 case 'Email': 2616 href = "mailto:?Subject="+encodedTitle+"&body=Check out this site: "+window.location.href; 2617 2618 statsEventName = 'CM_SHARE_EMAIL'; 2619 return ( 2620 '<div class="social-icon" style="background-color: grey;"> \ 2621 <a href="'+href+'" class="'+linkClass+'" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');;"> \ 2622 '+getSvg('shareenvelope')+' \ 2623 </a> \ 2624 </div>'); 2625 case 'Facebook': 2626 href = 'https://www.facebook.com/sharer/sharer.php?u='+link; 2627 statsEventName = 'CM_SHARE_FB'; 2628 return ( 2629 '<div class="social-icon" style="background-color: #3b5998;"> \ 2630 <a href="'+href+'" class="'+linkClass+'" target="_blank" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');"> \ 2631 '+getSvg('facebook')+' \ 2632 </a> \ 2633 </div>'); 2634 case 'Tumblr': 2635 href = 'http://tumblr.com/share/link?url='+link+'&name='+encodedTitle; 2636 return ( 2637 '<div class="social-icon" style="background-color: #35465c;"> \ 2638 <a href="'+href+'" class="'+linkClass+'" target="_blank" > \ 2639 '+getSvg('tumblr')+' \ 2640 </a> \ 2641 </div>'); 2642 case 'LinkedIn': 2643 href = 'http://www.linkedin.com/shareArticle?mini=true&url='+link+'&title='+encodedTitle; 2644 statsEventName = 'CM_SHARE_LINKEDIN'; 2645 return ( 2646 '<div class="social-icon" style="background-color: #4875B4;"> \ 2647 <a href="'+href+'" class="'+linkClass+'" target="_blank" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');"> \ 2648 '+getSvg('linkedIn')+' \ 2649 </a> \ 2650 </div>'); 2651 case 'Twitter': 2652 href = 'https://twitter.com/intent/tweet?text='+link; 2653 statsEventName = 'CM_SHARE_TWITTER'; 2654 return ( 2655 '<div class="social-icon" style="background-color: #000000;"> \ 2656 <a href="'+href+'" class="'+linkClass+'" target="_blank" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');"> \ 2657 '+getSvg('twitter')+' \ 2658 </a> \ 2659 </div>'); 2660 case 'Reddit': 2661 href = 'http://www.reddit.com/submit?url='+link+'&title='+encodedTitle+'&text='+encodedTitle; 2662 return ( 2663 '<div class="social-icon" style="background-color: #ff4500;"> \ 2664 <a href="'+href+'" class="'+linkClass+'" target="_blank"> \ 2665 '+getSvg('reddit')+' \ 2666 </a> \ 2667 </div>'); 2668 /* case 'GooglePlus': 2669 href = 'https://plus.google.com/share?url='+link; 2670 statsEventName = 'CM_SHARE_GOOGLE_PLUS'; 2671 return ( 2672 '<div class="social-icon" style="background-color: #d34836;"> \ 2673 <a href="'+href+'" class="'+linkClass+'" target="_blank" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');"> \ 2674 '+getSvg('gPlus')+' \ 2675 </a> \ 2676 </div>'); */ 2677 case 'Pinterest': 2678 href = 'http://pinterest.com/pin/create/button/?url='+link+'&description='+encodedTitle; 2679 return ( 2680 '<div class="social-icon" style="background-color: #cb2027;"> \ 2681 <a href="'+href+'" class="'+linkClass+'" target="_blank"> \ 2682 '+getSvg('pinterest')+' \ 2683 </a> \ 2684 </div>'); 2685 default: 2686 return ''; 2687 } 2688} 2689 2690// 2691// Helpers 2692// 2693// check display type 2694function isMobile() { 2695 return data.device === 'mobile'; 2696} 2697function getItemAction(item, elem) { 2698 var statsEventName=''; 2699 switch(item.Action) { 2700 case 'Link': 2701 if(!item.Link) item.Link = { target: 'target="_blank', href: 'http://www.google.com' } // default link 2702 var target = item.Link.target? item.Link.target : ''; 2703 var statsEventName = 'CM_LINK_CLICK'; 2704 return '<a '+target+' href="'+item.Link.href+'" class="menu-link bsr-menulink" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');">
2704'+elem+'</a>'; 2705 case 'Call': 2706 statsEventName = 'CM_CLICK_TO_CALL'; 2707 return '<a href="tel:'+item.CallNum+'" class="menu-link bsr-menulink" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');">'+elem+'</a>'; 2708 case 'Sms': 2709 statsEventName = 'CM_CLICK_TO_SMS'; 2710 return '<a href="sms:'+item.SmsNum+'" class="menu-link bsr-menulink" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');">'+elem+'</a>'; 2711 case 'Email': 2712 statsEventName = 'CM_CLICK_TO_EMAIL'; 2713 return '<a href="mailto:'+item.EmailAddr+'?subject='+item.emailDefSubject + '&body=' + item.defEmailBody + '" target="_blank" class="menu-link bsr-menulink" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');">'+elem+'</a>'; 2714 case 'Map': 2715 statsEventName = 'CM_DIRECTION'; 2716 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>'; 2717 case 'Mess': 2718 statsEventName = 'CM_FB_MESSAGE'; 2719 return '<a href="http://m.me/'+item.FbUser+'" class="menu-link bsr-menulink" target="_blank" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');">'+elem+'</a>'; 2720 case 'Share': 2721 return '<a href="#" class="menu-link share bsr-menulink">'+elem+'</a>'; 2722 case 'Chat': 2723 return '<a href="#" class="menu-link bsr-chat bsr-menulink">'+elem+'</a>'; 2724 default: 2725 return ''; 2726 } 2727} 2728// returns new default icon only if icon is default (identified by path data in default svg MUST CHANGE FOR DIFFERENT DEFAUTL) 2729function xgetItemIcon(item) { 2730 // icon is default 2731 if(item.CustomIcon) { 2732 return '<div class="new-container">'+item.Icon+'</div>'; 2733 } else { 2734 switch(item.Action) { 2735 case 'Link': 2736 return getSvg('link'); 2737 case 'Call': 2738 return getSvg('phone'); 2739 case 'Sms': 2740 return getSvg('sms'); 2741 case 'Email': 2742 return getSvg('envelope'); 2743 case 'Mess': 2744 return getSvg('messenger'); 2745 case 'Map': 2746 return getSvg('map'); 2747 case 'Share': 2748 return getSvg('share'); 2749 } 2750 } 2751} 2752 2753/* --------------------- */ 2754function getItemIcon(item) { 2755 var lcase = item.Action.toLowerCase(); 2756 2757 if(item.CustomIcon) { 2758 switch(item.CustomIcon_Select) { 2759 case 'custom_icon1': 2760 // return '<div class="'+lcase+'-icon-prev custom-user-icon ' + item.CustomIcon_Select + '">' + data.config.custom_icon1 + '</div>'; 2761 return '<div class="custom-user-icon ' + item.CustomIcon_Select + '">' + data.config.custom_icon1 + '</div>'; 2762 case 'custom_icon2': 2763 return '<div class="custom-user-icon ' + item.CustomIcon_Select + '">' + data.config.custom_icon2 + '</div>'; 2764 case 'custom_icon3': 2765 return '<div class="custom-user-icon ' + item.CustomIcon_Select + '">' + data.config.custom_icon3 + '</div>'; 2766 case 'custom_icon4': 2767 return '<div class="custom-user-icon ' + item.CustomIcon_Select + '">' + data.config.custom_icon4 + '</div>'; 2768 case 'custom_icon5': 2769 return '<div class="custom-user-icon ' + item.CustomIcon_Select + '">' + data.config.custom_icon5 + '</div>'; 2770 case 'custom_icon6': 2771 return '<div class="custom-user-icon ' + item.CustomIcon_Select + '">' + data.config.custom_icon6 + '</div>'; 2772 } 2773 } else { 2774 switch(item.Action) { 2775 case 'Link': 2776 return getSvg('link'); 2777 case 'Call': 2778 return getSvg('phone'); 2779 case 'Sms': 2780 return getSvg('sms'); 2781 case 'Email': 2782 return getSvg('envelope'); 2783 case 'Mess': 2784 return getSvg('messenger'); 2785 case 'Map': 2786 return getSvg('map'); 2787 case 'Share': 2788 return getSvg('share'); 2789 case 'Chat': 2790 return getSvg('chat'); 2791 } 2792 } 2793} 2794/* --------------------- */ 2795 2796window._trackConvWidgetClickEvent = function(eventName) { 2797 if(typeof(HAF)==="object"){ 2798 HAF.OmTracking.onCMClick(eventName) 2799 } 2800 return; 2801} 2802 2803function dudaicon(icon){ 2804 return '<span class="new-container">'+icon+'</span>' 2805 2806 2807} 2808function xgetSvg(name) { 2809 const type = name? name : data.config.DeskMain; 2810 switch(type) { 2811 case 'vEllipsis': 2812 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>'; 2813 case 'map': 2814 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>' 2815 case 'hEllipsis': 2816 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>'; 2817 case 'plus': 2818 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>'; 2819 case 'bars': 2820 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>'; 2821 case 'envelope': 2822 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
282279-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>'; 2823 case 'shareenvelope': 2824 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>'; 2825 case 'phone': 2826 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>'; 2827 case 'close': 2828 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>'; 2829 case 'facebook': 2830 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>'; 2831 case 'messenger': 2832 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>' 2833 case 'tumblr': 2834 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>'; 2835 case 'linkedIn': 2836 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>'; 2837 case 'twitter': 2838 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>'; 2839 case 'reddit': 2840 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
284017.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>'; 2841 case 'pinterest': 2842 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>'; 2843 case 'share': 2844 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>'; 2845 case 'sms': 2846 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>'; 2847 case 'link': 2848 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>'; 2849 default: 2850 return ''; 2851 } 2852} 2853function getSvg(name) { 2854 const type = name? name : data.config.DeskMain; 2855 switch(type) { 2856 case 'vEllipsis': 2857 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>'; 2858 case 'map': 2859 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>' 2860 case 'hEllipsis': 2861 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>'; 2862 case 'plus': 2863 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>'; 2864 case 'bars': 2865 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>'; 2866 case 'envelope': 2867 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
286779-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>'; 2868 case 'shareenvelope': 2869 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>'; 2870 case 'phone': 2871 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>'; 2872 case 'close': 2873 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>'; 2874 case 'facebook': 2875 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>'; 2876 case 'messenger': 2877 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>' 2878 case 'tumblr': 2879 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>'; 2880 case 'linkedIn': 2881 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>'; 2882 case 'twitter': 2883 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>'; 2884 case 'reddit': 2885 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
288517.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>'; 2886 case 'pinterest': 2887 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>'; 2888 case 'share': 2889 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>'; 2890 case 'sms': 2891 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>'; 2892 case 'link': 2893 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>'; 2894 case 'chat': 2895 // 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>'; 2896 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>'; 2897 default: 2898 return ''; 2899 } 2900} 2901 2902 }; 2903</script>
2903 2904 2905
2906<script type="text/javascript"> 2907 2908 var d_version = "production_6817"; 2909 var build = "2026-10-01T14_02_32"; 2910 window['v' + 'ersion'] = d_version; 2911 2912 function buildEditorParent() { 2913 window.isMultiScreen = true; 2914 window.editorParent = {}; 2915 window.previewParent = {}; 2916 window.assetsCacheQueryParam = "?version=2026-10-01T14_02_32"; 2917 try { 2918 var _p = window.parent; 2919 if (_p && _p.document && _p.$ && _p.$.dmfw) { 2920 window.editorParent = _p; 2921 } else if (_p.isSitePreview) { 2922 window.previewParent = _p; 2923 } 2924 } catch (e) { 2925 2926 } 2927 } 2928 2929 buildEditorParent(); 2930</script>
2930 2931 2932 2933 2934
2935<script type="text/javascript" id='d-js-jquery' 2936 src="https://static-res-cdn.websites.hibu.com/libs/jquery/jquery-3.7.0.min.js"></script>
2936 2937 2938 2939 2940 2941<!-- Injecting site-wide before scripts --> 2942 2943
2944<script src="https://app.termly.io/resource-blocker/76892a1b-0338-4ed1-9817-b3e9e297ae5a?autoBlock=on" data-swh-uuid="409081dc6e914d5caf3ca16b0e287f0c"> 2945</script>
2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964
2965<script type="text/javascript" id="d_track_campaign" data-entry-referrer> 2966 (function() { 2967 if (!window.location.search) { 2968 return; 2969 } 2970 const cleanParams = window.location.search.substring(1); // Strip ? 2971 const queryParams = cleanParams.split('&'); 2972 2973 const expires = 'expires=' + new Date().getTime() + 24 * 60 * 60 * 1000; 2974 const domain = 'domain=' + window.location.hostname; 2975 const path = "path=/"; 2976 2977 queryParams.forEach((param) => { 2978 const [key, value = ''] = param.split('='); 2979 if (key.startsWith('utm_')) { 2980 const cookieName = "_dm_rt_" + key.substring(4); 2981 const cookie = cookieName + "=" + value; 2982 const joined = [cookie, expires, domain, path].join(";"); 2983 document.cookie = joined; 2984 } 2985 }); 2986 }()); 2987</script>
2987 2988
2989<script type="text/javascript" > 2990 var _dm_gaq = {}; 2991 var _gaq = _gaq || []; 2992 var _dm_insite = []; 2993</script>
2993 2994 2995 2996 2997
2998<script> 2999 const siteGoogleAnalyticsTagIds = ['GTM-W487CGFD']; 3000 (function (w, i, g) { w[g] = w[g] || []; if (typeof w[g].push == 'function') w[g].push.apply(w[g], i) }) 3001 (window, siteGoogleAnalyticsTagIds, 'google_tags_first_party'); 3002</script>
vendor: 1 bytes, line 3002
3002
3003<script async src="/fyb52nqswd-0159bd25468748e19a184f724c6b8760/lXMQknv-DS9VPypeJVfB558Kxjs" id="d-js-gtm" 3004 onload="window.dispatchEvent(new CustomEvent('gtmLoaded', { bubbles: true }))"></script>
3004 3005
3006<script type="text/javascript" id="d_track_ga"> 3007 window.dataLayer = window.dataLayer || []; 3008 _dm_gaq.siteAlias = '0159bd25468748e19a184f724c6b8760'; 3009 _dm_gaq.externalGaqID = 'non-empty'; 3010 3011 function gtag() { dataLayer.push(arguments); } 3012 3013 function pushInsiteImpressions(id) { 3014 _dm_insite.forEach((rule) => { 3015 _dm_gaq.pushEvent(id, 'insite_impression', 'insite', rule.ruleType + '__' + rule.ruleId); 3016 }); 3017 } 3018 3019 _dm_gaq.pushEvent = function(trackingId, event, category, label, value, additionalParams = {}) { 3020 const eventProps = { 3021 event_category: category, 3022 event_label: label, 3023 value, 3024 ...additionalParams 3025 }; 3026 gtag('event', event, eventProps); 3027 } 3028 3029 gtag('js', new Date()) 3030 3031 3032gtag('set', 'developer_id.dMDU5Nj', true); 3033gtag('set', 'developer_id.dYmRlZG', true); 3034 3035 _dm_gaq.pushEvent('', 'page_view'); 3036 3037 pushInsiteImpressions(_dm_gaq.externalGaqID); 3038</script>
3038 3039 3040 3041 3042 3043 3044 3045<!-- End Injecting site-wide to the head --> 3046 3047 3048
3049<script> 3050 var _jquery = window.$; 3051 3052 var jqueryAliases = ['$', 'jquery', 'jQuery']; 3053 3054 jqueryAliases.forEach((alias) => { 3055 Object.defineProperty(window, alias, { 3056 get() { 3057 return _jquery; 3058 }, 3059 set() { 3060 console.warn("Trying to over-write the global jquery object!"); 3061 } 3062 }); 3063 }); 3064 window.jQuery.migrateMute = true; 3065</script>
3065 3066 3067 3068 3069
3070<script> 3071 window.cookiesNotificationMarkupPreview = 'null'; 3072</script>
3072 3073 3074
3075<script id='d-js-params'> 3076 window.INSITE = window.INSITE || {}; 3077 window.INSITE.device = "desktop"; 3078 3079 window.rtCommonProps = {}; 3080 rtCommonProps["runtimecollector.url"] = 'https://rtc.hibuwebsites.com'; 3081 rtCommonProps["performance.tabletPreview.removeScroll"] = 'false'; 3082 rtCommonProps["inlineEditGrid.snap"] =true; 3083 rtCommonProps["popup.insite.cookie.ttl"] = '0.5'; 3084 rtCommonProps["common.mapbox.token"] = 'pk.eyJ1IjoiZGFubnliMTIzIiwiYSI6ImNqMGljZ256dzAwMDAycXBkdWxwbDgzeXYifQ.Ck5P-0NKPVKAZ6SH98gxxw'; 3085 rtCommonProps["common.mapbox.js.override"] =false; 3086 rtCommonProps["common.here.appId"] = 'iYvDjIQ2quyEu0rg0hLo'; 3087 rtCommonProps["common.here.appCode"] = '1hcIxLJcbybmtBYTD9Z1UA'; 3088 rtCommonProps["ecommerce.ecwid.script"] = 'https://app.multiscreenstore.com/script.js'; 3089 rtCommonProps["common.build.dist.folder"] = 'production/6817'; 3090 rtCommonProps["common.resources.cdn.host"] = 'https://static-res-cdn.websites.hibu.com'; 3091 rtCommonProps["common.resources.folder"] = 'https://static-res-cdn.websites.hibu.com/mnlt/production/6817'; 3092 rtCommonProps["common.fonts.api.v2.url"] = 'https://cdn.hibuwebsites.com/fonts/css2?family='; 3093 rtCommonProps["feature.flag.runtime.backgroundSlider.preload.slowly"] =true; 3094 rtCommonProps["feature.flag.runtime.newAnimation.jitAnimation.enabled"] =true; 3095 rtCommonProps["feature.flag.sites.google.analytics.gtag"] =true; 3096 rtCommonProps["feature.flag.runOnReadyNewTask"] =true; 3097 rtCommonProps["isAutomation.test"] =false; 3098 rtCommonProps["booking.cal.api.domain"] = 'api.cal.com'; 3099 3100 3101 rtCommonProps['common.mapsProvider'] = 'mapbox'; 3102 3103 rtCommonProps['common.mapsProvider.version'] = '0.52.0'; 3104 rtCommonProps['common.geocodeProvider'] = 'mapbox'; 3105 rtCommonProps['server.for.resources'] = ''; 3106 rtCommonProps['feature.flag.lazy.widgets'] = false; 3107 rtCommonProps['feature.flag.single.wow'] = false; 3108 rtCommonProps['feature.flag.disallowPopupsInEditor'] = true; 3109 rtCommonProps['feature.flag.mark.anchors'] = true; 3110 rtCommonProps['captcha.public.key'] = '6LffcBsUAAAAAMU-MYacU-6QHY4iDtUEYv_Ppwlz'; 3111 rtCommonProps['captcha.invisible.public.key'] = '6LeiWB8UAAAAAHYnVJM7_-7ap6bXCUNGiv7bBPME'; 3112 rtCommonProps["images.sizes.small"] =160; 3113 rtCommonProps["images.sizes.mobile"] =640; 3114 rtCommonProps["images.sizes.tablet"] =1280; 3115 rtCommonProps["images.sizes.desktop"] =1920; 3116 rtCommonProps["import.images.storage.imageCDN"] = 'https://le-cdn.hibuwebsites.com/'; 3117 rtCommonProps["feature.flag.performance.logs"] =false; 3118 rtCommonProps["site.widget.form.captcha.type"] = 'g_recaptcha'; 3119 rtCommonProps["friendly.captcha.site.key"] = 'FCMGSQG9GVNMFS8K'; 3120 rtCommonProps["cookiebot.mapbox.consent.category"] = 'marketing'; 3121 rtCommonProps["termly.mapbox.consent.category"] = 'performance'; 3122 // feature flags that's used out of runtime module (in legacy files) 3123 rtCommonProps["platform.monolith.personalization.dateTimeCondition.popupMsgAction.moveToclient.enabled"] =true; 3124 3125 window.rtFlags = {}; 3126 rtFlags["unsuspendEcwidStoreOnRuntime.enabled"] =false; 3127 rtFlags["scripts.widgetCount.enabled"] =true; 3128 rtFlags["fnb.animations.tracking.enabled"] =true; 3129 rtFlags["ecom.ecwidNewUrlStructure.enabled"] = false; 3130 rtFlags["ecom.ecwid.accountPage.emptyBaseUrl.enabled"] = true; 3131 rtFlags["ecom.ecwid.accountPage.repeatOrderRedirect.enabled"] = false; 3132 rtFlags["ecom.ecwid.oldStore.keepScrollOnLoad.enabled"] = true; 3133 rtFlags["ecom.ecwid.storefrontV3.enabled"] = false; 3134 rtFlags["ecom.monolith.legacy.js.api.disabled.for.new.sites"] = false; 3135 rtFlags["geocode.search.localize"] =false; 3136 rtFlags["feature.flag.runtime.newAnimation.asyncInit.setTimeout.enabled"] =false; 3137 rtFlags["twitter.heightLimit.enabled"] = true; 3138 rtFlags["streamline.monolith.personalization.supportMultipleConditions.enabled"] =false; 3139 rtFlags["flex.animation.design.panel.layout"] =true; 3140 rtFlags["runtime.cwv.report.cls.enabled"] =false; 3141 rtFlags["runtime.cwv.report.lcp.enabled"] =false; 3142 rtFlags["runtime.lcp.preload.selfheal.enabled"] =true; 3143 rtFlags["runtime.lcp.preload.bootstrap.enabled"] =true; 3144 rtFlags["runtime.lcp.preload.monitor.enabled"] =false; 3145 rtFlags["runtime.customwidget.heightpin.enabled"] =true; 3146 rtFlags["runtime.video.widget.lazy.enabled"] =true; 3147 rtFlags["contact.form.useActiveForm"] =true; 3148 rtFlags["contact.form.custom.errors.enabled"] =true; 3149 rtFlags["runtime.ssr.productStore.internal.observer"] =true; 3150 rtFlags["editor.widget.form.a11y"] =true; 3151</script>
vendor: 1 bytes, line 3151
3151
3152<script src="https://static-res-cdn.websites.hibu.com/mnlt/production/6817/_dm/s/rt/dist/scripts/d-js-one-runtime-unified-desktop.min.js" id="d-js-core"></script>
3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166
3166<script src="https://static-res-cdn.websites.hibu.com/mnlt/production/6817/_dm/s/rt/dist/scripts/d-js-jquery-migrate.min.js" ></script>
3166 3167 3168 3169 3170 3171
3172<script> 3173 3174 $(window).bind("orientationchange", function (e) { 3175 $.layoutManager.initLayout(); 3176 3177 }); 3178 $(document).resize(function () { 3179 3180 }); 3181</script>
3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200
3201<script type="text/javascript" id="d_track_sp"> 3202 ;(function(p,l,o,w,i,n,g){if(!p[i]){p.GlobalSnowplowNamespace=p.GlobalSnowplowNamespace||[]; 3203 p.GlobalSnowplowNamespace.push(i);p[i]=function(){(p[i].q=p[i].q||[]).push(arguments) 3204 };p[i].q=p[i].q||[];n=l.createElement(o);g=l.getElementsByTagName(o)[0];n.async=1; 3205 n.src=w;g.parentNode.insertBefore(n,g)}}(window,document,"script","//d32hwlnfiv2gyn.cloudfront.net/sp-2.0.0-dm-0.1.min.js","snowplow")); 3206 window.dmsnowplow = window.snowplow; 3207 3208 dmsnowplow('newTracker', 'cf', 'd32hwlnfiv2gyn.cloudfront.net', { // Initialise a tracker 3209 appId: '0159bd25468748e19a184f724c6b8760' 3210 }); 3211 3212 // snowplow queries element styles so we wait until CSS calculations are done. 3213 requestAnimationFrame(() => { 3214 dmsnowplow('trackPageView'); 3215 _dm_insite.forEach((rule) => { 3216 // Specifically in popup only the client knows if it is shown or not so we don't always want to track its impression here 3217 // the tracking is in popup.js 3218 if (rule.actionName !== "popup") { 3219 dmsnowplow('trackStructEvent', 'insite', 'impression', rule.ruleType, rule.ruleId); 3220 } 3221 window?.waitForDeferred?.('dmAjax', () => { 3222 $.DM.events.trigger('event-ruleTriggered', {value: rule}); 3223 }); 3224 }); 3225 }); 3226</script>
3226 3227 3228 3229 3230<div style="display:none;" id="P6iryBW0Wu"></div> 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true"> 3243 3244 3245 <div class="pswp__bg"></div> 3246 3247 3248 <div class="pswp__scroll-wrap"> 3249 3250 3251 <div class="pswp__container"> 3252 <div class="pswp__item"></div> 3253 <div class="pswp__item"></div> 3254 <div class="pswp__item"></div> 3255 </div> 3256 3257 3258 <div class="pswp__ui pswp__ui--hidden"> 3259 3260 <div class="pswp__top-bar"> 3261 3262 3263 3264 <div class="pswp__counter"></div> 3265 3266 <button class="pswp__button pswp__button--close" data-auto="pswp-close" title="Close (Esc)"></button> 3267 3268 <button class="pswp__button pswp__button--share" data-auto="pswp-share" title="Share"></button> 3269 3270 <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button> 3271 3272 <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button> 3273 3274 3275 3276 <div class="pswp__preloader"> 3277 <div class="pswp__preloader__icn"> 3278 <div class="pswp__preloader__cut"> 3279 <div class="pswp__preloader__donut"></div> 3280 </div> 3281 </div> 3282 </div> 3283 </div> 3284 3285 <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap"> 3286 <div class="pswp__share-tooltip"></div> 3287 </div> 3288 3289 <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)"> 3290 </button> 3291 3292 <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)"> 3293 </button> 3294 3295 <div class="pswp__caption"> 3296 <div class="pswp__caption__center"></div> 3297 </div> 3298 3299 </div> 3300 3301 </div> 3302 3303</div> 3304<div id="fb-root" 3305 data-locale="en"></div> 3306<!-- Alias: 0159bd25468748e19a184f724c6b8760 --> 3307<div class="dmPopupMask" id="dmPopupMask"></div> 3308<div id="dmPopup" class="dmPopup" data-auto="popup"> 3309 <div class="dmPopupCloseWrapper"> <div class="dmPopupClose dm-common-icons-close oneIcon" data-auto="popup-close" onclick="dmHidePopup(event);"></div> </div> 3310 <div class="dmPopupTitle"> <span></span> Share by:</div> 3311 <div class="data"></div> 3312</div>
3312<script id="d_track_personalization"> 3313 window?.waitForDeferred?.('dmAjax', () => { 3314 // Collects client data and updates cookies used by smart sites 3315 window.expireDays = 365; 3316 window.visitLength = 30 * 60000; 3317 $.setCookie("dm_timezone_offset", (new Date()).getTimezoneOffset(), window.expireDays); 3318 setSmartSiteCookiesInternal("dm_this_page_view","dm_last_page_view","dm_total_visits","dm_last_visit"); 3319 }); 3320</script>
vendor: 1 bytes, line 3320
3320
3321<script type="text/javascript"> 3322 3323 Parameters.NavigationAreaParams.MoreButtonText = 'MORE'; 3324 3325 Parameters.NavigationAreaParams.LessButtonText = 'LESS'; 3326 Parameters.HomeLinkText = 'Home'; 3327 </script>
3327 3328<!-- Begin Body End Markup --> 3329<!-- Begin Body End Markup --><div id="placeholder_retargeting_pixel" style="display: none;" data-inject="placeholder_retargeting_pixel"> 3330 3331 3332 3333 3334 3335 3336 3337 {{placeholder_retargeting_pixel}} 3338</div> 3339<div id="placeholder_dpni" style="display: none;" data-inject="placeholder_dpni"> 3340 <!-- phone insertion script begins -->
3340<script type="text/javascript" src="https://reports.hibu.com/analytics/js/ybDynamicPhoneInsertion.js"> 3341 </script>
3341 3342
3342<script> 3343//<![CDATA[ 3344 3345 3346ybFindPhNums = ['14434330462', '14434330462']; 3347ybReplacePhNums = ['14432104575', '14432169026']; 3348 3349 document.addEventListener("YextPhoneChangeEvent", yextPhoneChangeEventHandler, false); 3350 3351 function yextPhoneChangeEventHandler(e) { 3352 e.preventDefault(); 3353 ybFun_ReplaceText(); 3354 } 3355 3356 if (typeof dmAPI != 'undefined') { 3357 dmAPI.runOnReady('dpni', function() { 3358 setTimeout(ybFun_ReplaceText, 500); 3359 }); 3360 dmAPI.subscribeEvent(dmAPI.EVENTS.SHOW_POPUP, function(data) { 3361 setTimeout(ybFun_ReplaceText, 500); 3362 console.log('dmAPI.EVENTS.SHOW_POPUP' + data); 3363 }); 3364 } else { 3365 window.onload = function() { 3366 setTimeout(ybFun_ReplaceText, 500); 3367 } 3368 } 3369 3370 3371//]]> 3372 </script>
3372 3373 <!-- phone insertion script ends --> 3374</div> 3375<div id="placeholder_analytics" style="display: none;" data-inject="placeholder_analytics"> 3376
3376<script> 3377 3378 3379 3380 3381 3382 3383//<![CDATA[ 3384 3385 //yellAnalyticsConfig need to set before s_code.js 3386 var yellAnalyticsConfig = { 3387 "global" : { 3388 "trackDownloadLinks": true, 3389 "downloadFileTypes": "exe,zip,wav,mp3,mov,mpg,avi,wmv,pdf,doc,docx,xls,xlsx,ppt,pptx", 3390 "currency": "USD", 3391 "trackExternalLinks": true, 3392 "internalDomains": "javascript:", 3393 "charset": "UTF-8" 3394 }, 3395 "omniture" : { 3396 "enabled": true, 3397 "server": "yellgroup.122.2o7.net", 3398 "serverSecure": "yellgroup.122.2o7.net", 3399 "namespace": "yellgroup", 3400 "account": "yelldudalive", 3401 "campaign": "CID|cam" 3402 }} 3403 3404 var hibuWebsiteConfig={ 3405 "prodSKU":"WBS-PRO-01", 3406 "assetID":"631433296", 3407 "customerID":"7003258430" 3408 } 3409 3410//]]> 3411 3412 3413 3414 3415 3416 3417 </script>
3417 3418
3418<script type="text/javascript" src="https://dh-static-files.s3.amazonaws.com/prod/AppMeasurement.js"> 3419 3420 3421 3422 3423 3424//<![CDATA[ 3425 3426 3427//]]> 3428 3429 3430 3431 3432 3433 </script>
3433 3434
3434<script type="text/javascript" src="https://dh-static-files.s3.amazonaws.com/prod/hibu-analytics.min.js"> 3435 3436 3437 3438 3439 3440//<![CDATA[ 3441 3442 3443//]]> 3444 3445 3446 3447 3448 3449 </script>
3449 3450
3450<script type="text/javascript" src="https://dh-static-files.s3.amazonaws.com/prod/omn_setting.js"> 3451 3452 3453 3454 3455 3456//<![CDATA[ 3457 3458 3459//]]> 3460 3461 3462 3463 3464 3465 </script>
3465 3466</div> 3467<div id="placeholder_footer_reserve1" style="display: none;" data-inject="placeholder_footer_reserve1"> 3468 3469 3470 3471 3472 3473 3474 3475 {{placeholder_footer_reserve1}} 3476</div> 3477<div id="placeholder_footer_reserve2" style="display: none;" data-inject="placeholder_footer_reserve2"> 3478 3479 3480 3481 3482 3483 3484 3485 {{placeholder_footer_reserve2}} 3486</div> 3487<div id="placeholder_footer_reserve3" style="display: none;" data-inject="placeholder_footer_reserve3"> 3488 3489 3490 3491 3492 3493 3494 3495 {{placeholder_footer_reserve3}} 3496</div> 3497<div id="placeholder_footer_reserve4" style="display: none;" data-inject="placeholder_footer_reserve4"> 3498 3499 3500 3501 3502 3503 3504 3505 {{placeholder_footer_reserve4}} 3506</div> 3507<div id="placeholder_footer_reserve5" style="display: none;" data-inject="placeholder_footer_reserve5"> 3508 3509 3510 3511 3512 3513 3514 3515 {{placeholder_footer_reserve5}} 3516</div> 3517<div id="placeholder_footer_reserve6" style="display: none;" data-inject="placeholder_footer_reserve6"> 3518 3519 3520 3521 3522 3523 3524 3525 {{placeholder_footer_reserve6}} 3526</div> 3527<div id="placeholder_footer_reserve7" style="display: none;" data-inject="placeholder_footer_reserve7"> 3528 3529 3530 3531 3532 3533 3534 3535 {{placeholder_footer_reserve7}} 3536</div> 3537<!-- End Body End Markup --><!-- End Body End Markup --> 3538<!-- Site Wide Html Markup --> 3539<div id="swh-5acbed99d5ef46aba606c703d6a65d4c">
3539<script> if (window.location.search.match(/[?,&]preview=true/) && window.top !== window) { window.__AudioEyePreviewMode=true;}</script>
3539 3540
3540<script type="text/javascript">!function(){ 3541 var b=function(){ 3542 window.__AudioEyeSiteHash = "be015a3f9dab6a5bb1a528a3c3376247"; 3543 window.__AudioEyeInstallSource = "duda"; 3544 var a=document.createElement("script"); 3545 a.src="https://wsmcdn.audioeye.com/aem.js"; 3546 a.type="text/javascript"; 3547 a.setAttribute("async",""); 3548 document.getElementsByTagName("body")[0].appendChild(a)}; 3549 "complete"!==document.readyState?window.addEventListener?window.addEventListener("load",b):window.attachEvent&&window.attachEvent("onload",b):b()}(); 3550 </script>
3550</div><!-- Site Wide Html Markup --> 3551<!-- Begin Product Custom HTML Markup --> 3552<div id="fb-root"></div>
3553<script>(function(d, s, id) { 3554var js, fjs = d.getElementsByTagName(s)[0]; 3555if (d.getElementById(id)) return; 3556js = d.createElement(s); js.id = id; 3557js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.8&appId=1822295708016537"; 3558fjs.parentNode.insertBefore(js, fjs); 3559}(document, 'script', 'facebook-jssdk'));</script>
vendor: 2 bytes, line 3559
3559
3560<script> 3561//make sure video's on iOS load first screen of the video. 3562dmAPI.runOnReady('russTest',function() { 3563 var _hibu_vid = document.getElementsByTagName('video'); 3564 for (var i = 0; i < _hibu_vid.length; i++) { 3565 _hibu_vid[i].load(); 3566 } 3567}) 3568</script>
vendor: 2 bytes, line 3568
3568
3569<script> 3570//simple addition by Russ to add consent banner link into footer - updated by Adrian to account for Termly installs. 3571(function () { 3572 var poweredByFirstAnchor = document.querySelector('.poweredBy a:first-child'); 3573 if (!poweredByFirstAnchor) return; 3574 3575 if (window.Termly) { 3576 var termlySpan = document.createElement('span'); 3577 termlySpan.className = 'termly-display-preferences'; 3578 termlySpan.textContent = 'Manage Consent Preferences'; 3579 poweredByFirstAnchor.insertAdjacentElement('afterend', termlySpan); 3580 } else { 3581 var spSpan = document.createElement('span'); 3582 spSpan.id = 'spConsentWrapper'; 3583 poweredByFirstAnchor.insertAdjacentElement('afterend', spSpan); 3584 window.localStorage.setItem('__springtime__repop__target', '#spConsentWrapper'); 3585 } 3586})(); 3587</script>
3587 3588<style> 3589 #spConsentWrapper:before, 3590 .poweredBy .termly-display-preferences:before { content: " | " } 3591 .poweredBy .termly-display-preferences { cursor: pointer; } 3592</style>
3593<script> 3594if (window.location.search.indexOf('preview') > 0) { 3595 window.localStorage.setItem('ae_user_consent_decision_has_been_made', true); 3596 var spEl = document.getElementById('spConsentWrapper'); 3597 if (spEl) spEl.remove(); 3598} 3599</script>
3599<!-- End Product Custom HTML Markup --> 3600</body> 3601</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.