CINXE.COM
Reviews about Manufacturing Inc. | Houston, TX Jackets
<!doctype html > <html xmlns="http://www.w3.org/1999/xhtml" lang="en" class=""> <head> <meta charset="utf-8"> <script type="text/javascript"> window._currentDevice = 'desktop'; window.Parameters = window.Parameters || { HomeUrl: 'https://www.flexin.us/', AccountUUID: 'c1f9a940fb4d4c0392fd141cac88908c', SystemID: 'US_HIBU_PRODUCTION', SiteAlias: '30008740a7b147b58f29a5477579f4e3', SiteType: atob('RFVEQU9ORQ=='), PublicationDate: 'Fri Jul 19 14:38:42 UTC 2024', ExternalUid: '455260', IsSiteMultilingual: false, InitialPostAlias: '', InitialDynamicItem: '', DynamicPageInfo: { isDynamicPage: false, base64JsonRowData: 'null', }, InitialPageAlias: 'reviews', InitialPageUuid: '6f7a4fe879554e008ff23c5f7a4938cb', InitialPageId: '89448798', InitialEncodedPageAlias: 'cmV2aWV3cw==', CurrentPageUrl: '', IsCurrentHomePage: false, AllowAjax: false, AfterAjaxCommand: null, HomeLinkText: 'Back To Home', UseGalleryModule: false, CurrentThemeName: 'Layout Theme', ThemeVersion: '45990', DefaultPageAlias: '', RemoveDID: true, WidgetStyleID: null, IsHeaderFixed: false, IsHeaderSkinny: false, IsBfs: true, StorePageAlias: 'null', StorePagesUrls: 'e30=', IsNewStore: 'false', StorePath: '', StoreId: 'null', StoreVersion: 0, StoreBaseUrl: '', StoreCleanUrl: true, StoreDisableScrolling: true, IsStoreSuspended: false, NotificationSubDomain: 'flexin5fac46d2', HasCustomDomain: true, SimpleSite: false, showCookieNotification: false, cookiesNotificationMarkup: 'null', translatedPageUrl: '', isFastMigrationSite: false, sidebarPosition: 'NA', currentLanguage: 'en', currentLocale: 'en', NavItems: '{}', errors: { general: 'There was an error connecting to the page.<br/> Make sure you are not offline.', password: 'Incorrect name/password combination', tryAgain: 'Try again' }, NavigationAreaParams: { ShowBackToHomeOnInnerPages: true, NavbarSize: 4, NavbarLiveHomePage: 'https://www.flexin.us/', BlockContainerSelector: '.dmBody', NavbarSelector: '#dmNav:has(a)', SubNavbarSelector: '#subnav_main' }, hasCustomCode: true, planID: '753', customTemplateId: 'null', siteTemplateId: 'null', productId: 'DM_DIRECT', disableTracking: false, pageType: 'FROM_SCRATCH', isRuntimeServer: true, isInEditor: false, hasNativeStore: false, defaultLang: 'en', hamburgerMigration: null }; window.Parameters.LayoutID = {}; window.Parameters.LayoutID[window._currentDevice] = 6; window.Parameters.LayoutVariationID = {}; window.Parameters.LayoutVariationID[window._currentDevice] = 5; </script> <!-- Injecting site-wide to the head --> <meta name="google-site-verification" content="1p8PrLVF7SzQv9tLdkpCbAj6MahRradqFAfAbwTBsAA" data-swh-uuid="9a6037c9042648ccabf0ff890b7fa923"/> <!-- End Injecting site-wide to the head --> <!-- Inject secured cdn script --> <!-- ========= Meta Tags ========= --> <!-- PWA settings --> <script> function toHash(str) { var hash = 5381, i = str.length; while (i) { hash = hash * 33 ^ str.charCodeAt(--i) } return hash >>> 0 } </script> <script> (function (global) { //const cacheKey = global.cacheKey; const isOffline = 'onLine' in navigator && navigator.onLine === false; const hasServiceWorkerSupport = 'serviceWorker' in navigator; if (isOffline) { console.log('offline mode'); } if (!hasServiceWorkerSupport) { console.log('service worker is not supported'); } if (hasServiceWorkerSupport && !isOffline) { window.addEventListener('load', function () { const serviceWorkerPath = '/runtime-service-worker.js?v=3'; navigator.serviceWorker .register(serviceWorkerPath, { scope: './' }) .then( function (registration) { // Registration was successful console.log( 'ServiceWorker registration successful with scope: ', registration.scope ); }, function (err) { // registration failed :( console.log('ServiceWorker registration failed: ', err); } ) .catch(function (err) { console.log(err); }); }); // helper function to refresh the page var refreshPage = (function () { var refreshing; return function () { if (refreshing) return; // prevent multiple refreshes var refreshkey = 'refreshed' + location.href; var prevRefresh = localStorage.getItem(refreshkey); if (prevRefresh) { localStorage.removeItem(refreshkey); if (Date.now() - prevRefresh < 30000) { return; // dont go into a refresh loop } } refreshing = true; localStorage.setItem(refreshkey, Date.now()); console.log('refereshing page'); window.location.reload(); }; })(); function messageServiceWorker(data) { return new Promise(function (resolve, reject) { if (navigator.serviceWorker.controller) { var worker = navigator.serviceWorker.controller; var messageChannel = new MessageChannel(); messageChannel.port1.onmessage = replyHandler; worker.postMessage(data, [messageChannel.port2]); function replyHandler(event) { resolve(event.data); } } else { resolve(); } }); } } })(window); </script> <!-- Add manifest --> <!-- End PWA settings --> <link rel="canonical" href="https://www.flexin.us/reviews"> <meta id="view" name="viewport" content="initial-scale=1, minimum-scale=1, maximum-scale=5, viewport-fit=cover"> <meta name="apple-mobile-web-app-capable" content="yes"> <!--Add favorites icons--> <link rel="icon" type="image/x-icon" href="https://cdn.hibuwebsites.com/30008740a7b147b58f29a5477579f4e3/site_favicon_16_1695321097597.ico"/> <!-- End favorite icons --> <link rel="preconnect" href="https://le-cdn.hibuwebsites.com/"/> <!-- render the required CSS and JS in the head section --> <script> window.SystemID = 'US_HIBU_PRODUCTION'; if (!window.dmAPI) { window.dmAPI = { registerExternalRuntimeComponent: function () { }, getCurrentDeviceType: function () { return window._currentDevice; }, runOnReady: (ns, fn) => { const safeFn = dmAPI.toSafeFn(fn); ns = ns || 'global_' + Math.random().toString(36).slice(2, 11); const eventName = 'afterAjax.' + ns; if (document.readyState === 'complete') { $.DM.events.off(eventName).on(eventName, safeFn); setTimeout(function () { safeFn({ isAjax: false, }); }, 0); } else { window?.waitForDeferred?.('dmAjax', () => { $.DM.events.off(eventName).on(eventName, safeFn); safeFn({ isAjax: false, }); }); } }, toSafeFn: (fn) => { if (fn?.safe) { return fn; } const safeFn = function (...args) { try { return fn?.apply(null, args); } catch (e) { console.log('function failed ' + e.message); } }; safeFn.safe = true; return safeFn; } }; } if (!window.requestIdleCallback) { window.requestIdleCallback = function (fn) { setTimeout(fn, 0); } } </script> <!-- loadCSS function header.jsp--> <script id="d-js-load-css"> /** * There are a few <link> tags with CSS resource in them that are preloaded in the page * in each of those there is a "onload" handler which invokes the loadCSS callback * defined here. * We are monitoring 3 main CSS files - the runtime, the global and the page. * When each load we check to see if we can append them all in a batch. If threre * is no page css (which may happen on inner pages) then we do not wait for it */ (function () { let cssLinks = {}; function loadCssLink(link) { link.onload = null; link.rel = "stylesheet"; link.type = "text/css"; } function checkCss() { const pageCssLink = document.querySelector("[id*='CssLink']"); const widgetCssLink = document.querySelector("[id*='widgetCSS']"); if (cssLinks && cssLinks.runtime && cssLinks.global && (!pageCssLink || cssLinks.page) && (!widgetCssLink || cssLinks.widget)) { const storedRuntimeCssLink = cssLinks.runtime; const storedPageCssLink = cssLinks.page; const storedGlobalCssLink = cssLinks.global; const storedWidgetCssLink = cssLinks.widget; storedGlobalCssLink.disabled = true; loadCssLink(storedGlobalCssLink); if (storedPageCssLink) { storedPageCssLink.disabled = true; loadCssLink(storedPageCssLink); } if(storedWidgetCssLink) { storedWidgetCssLink.disabled = true; loadCssLink(storedWidgetCssLink); } storedRuntimeCssLink.disabled = true; loadCssLink(storedRuntimeCssLink); requestAnimationFrame(() => { setTimeout(() => { storedRuntimeCssLink.disabled = false; storedGlobalCssLink.disabled = false; if (storedPageCssLink) { storedPageCssLink.disabled = false; } if (storedWidgetCssLink) { storedWidgetCssLink.disabled = false; } // (SUP-4179) Clear the accumulated cssLinks only when we're // sure that the document has finished loading and the document // has been parsed. if(document.readyState === 'interactive') { cssLinks = null; } }, 0); }); } } function loadCSS(link) { try { var urlParams = new URLSearchParams(window.location.search); var noCSS = !!urlParams.get("nocss"); var cssTimeout = urlParams.get("cssTimeout") || 0; if (noCSS) { return; } if (link.href && link.href.includes("d-css-runtime")) { cssLinks.runtime = link; checkCss(); } else if (link.id === "siteGlobalCss") { cssLinks.global = link; checkCss(); } else if (link.id && link.id.includes("CssLink")) { cssLinks.page = link; checkCss(); } else if (link.id && link.id.includes("widgetCSS")) { cssLinks.widget = link; checkCss(); } else { requestIdleCallback(function () { window.setTimeout(function () { loadCssLink(link); }, parseInt(cssTimeout, 10)); }); } } catch (e) { throw e } } window.loadCSS = window.loadCSS || loadCSS; })(); </script> <script data-role="deferred-init" type="text/javascript"> /* usage: window.getDeferred(<deferred name>).resolve() or window.getDeferred(<deferred name>).promise.then(...)*/ function Def() { this.promise = new Promise((function (a, b) { this.resolve = a, this.reject = b }).bind(this)) } const defs = {}; window.getDeferred = function (a) { return null == defs[a] && (defs[a] = new Def), defs[a] } window.waitForDeferred = function (b, a, c) { let d = window?.getDeferred?.(b); d ? d.promise.then(a) : c && ["complete", "interactive"].includes(document.readyState) ? setTimeout(a, 1) : c ? document.addEventListener("DOMContentLoaded", a) : console.error(`Deferred does not exist`); }; </script> <style id="forceCssIncludes"> /* This file is auto-generated from a `scss` file with the same name */ .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} </style> <style id="cssVariables" type="text/css"> </style> <!-- Google Fonts Include --> <!-- loadCSS function fonts.jsp--> <link type="text/css" rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Lora:ital,wght@0,400..700;1,400..700&family=Oswald:ital,wght@0,200..700;1,200..700&family=Source+Sans+Pro:ital,wght@0,200;0,300;0,400;0,600;0,700;0,900;1,200;1,300;1,400;1,600;1,700;1,900&subset=latin-ext&display=swap" /> <!-- RT CSS Include d-css-runtime-desktop-one-package-structured-global--> <link rel="stylesheet" type="text/css" href="https://static-res-cdn.websites.hibu.com/mnlt/production/4943/_dm/s/rt/dist/css/d-css-runtime-desktop-one-package-structured-global.min.css" /> <!-- End of RT CSS Include --> <link type="text/css" rel="stylesheet" href="https://cdn.hibuwebsites.com/WIDGET_CSS/aebfd7fd53b0cdf585bf32bfc4bc8ece.css" id="widgetCSS" /> <!-- Support `img` size attributes --> <style>img[width][height] { height: auto; }</style> <!-- Support showing sticky element on page only --> <style> body[data-page-alias="reviews"] #dm [data-show-on-page-only="reviews"] { display: block !important; } </style> <!-- This is populated in Ajax navigation --> <style id="pageAdditionalWidgetsCss" type="text/css"> </style> <!-- Site CSS --> <link type="text/css" rel="stylesheet" href="https://cdn.hibuwebsites.com/30008740a7b147b58f29a5477579f4e3/files/30008740a7b147b58f29a5477579f4e3_1.min.css?v=113" id="siteGlobalCss" /> <!-- additional css file per platform --> <link type="text/css" rel="stylesheet" href="/_dm/s/rt/css/hibu/hibu-runtime.css?version=2024-11-19T16_13_56" /> <style id="customWidgetStyle" type="text/css"> </style> <style id="innerPagesStyle" type="text/css"> </style> <style id="additionalGlobalCss" type="text/css" > </style> <style id="pagestyle" type="text/css"> </style> <style id="pagestyleDevice" type="text/css"> </style> <!-- Flex Sections CSS --> <style id="globalFontSizeStyle" type="text/css"> </style> <style id="pageFontSizeStyle" type="text/css"> </style> <style id="hideAnimFix"> .dmDesktopBody:not(.editGrid) [data-anim-desktop]:not([data-anim-desktop='none']), .dmDesktopBody:not(.editGrid) [data-anim-extended] { visibility: hidden; } .dmDesktopBody:not(.editGrid) .dmNewParagraph[data-anim-desktop]:not([data-anim-desktop='none']), .dmDesktopBody:not(.editGrid) .dmNewParagraph[data-anim-extended] { visibility: hidden !important; } </style> <style id="fontFallbacks"> @font-face { font-family: "Roboto Fallback"; src: local('Arial'); ascent-override: 92.6709%; descent-override: 24.3871%; size-adjust: 100.1106%; line-gap-override: 0%; }@font-face { font-family: "Lato Fallback"; src: local('Arial'); ascent-override: 101.3181%; descent-override: 21.865%; size-adjust: 97.4159%; line-gap-override: 0%; }@font-face { font-family: "Lora Fallback"; src: local('Arial'); ascent-override: 95.2907%; descent-override: 25.9539%; size-adjust: 105.5717%; line-gap-override: 0%; }@font-face { font-family: "Helvetica Fallback"; src: local('Arial'); ascent-override: 77.002%; descent-override: 22.998%; line-gap-override: 0%; }@font-face { font-family: "Oswald Fallback"; src: local('Arial'); ascent-override: 145.0682%; descent-override: 35.1423%; size-adjust: 82.2372%; line-gap-override: 0%; } </style> <!-- End render the required css and JS in the head section --> <link type="application/rss+xml" rel="alternate" href="https://www.flexin.us//feed/rss2"/> <link type="application/atom+xml" rel="alternate" href="https://www.flexin.us//feed/atom"/> <meta property="og:type" content="website"/> <title> Reviews about Manufacturing Inc. | Houston, TX Jackets </title> <meta name="description" content="Read or post a review about Flexin Manufacturing Inc. Call for a free estimate."/> <meta name="google-site-verification" content="r6ez9aCXImofo7_FrI3Rt4mmdbwrf2m2M2j3XsY6E2Y"/> <meta name="google-site-verification" content="JIpR5Qnf6DbNuT1ybKiIPVP7uN066x4vFg9Hk2nmp0Y"/> <meta name="format-detection" content="telephone=no"/> <meta name="twitter:card" content="summary"/> <meta name="twitter:title" content="Reviews about Manufacturing Inc. | Houston, TX Jackets"/> <meta name="twitter:description" content="Read or post a review about Flexin Manufacturing Inc. Call for a free estimate."/> <meta property="og:description" content="Read or post a review about Flexin Manufacturing Inc. Call for a free estimate."/> <meta property="og:title" content="Reviews about Manufacturing Inc. | Houston, TX Jackets"/> <!-- SYS- VVNfSElCVV9QUk9EVUNUSU9O --> <script type="text/javascript">(function(){ if (typeof(___zen) === "undefined") {setTimeout(arguments.callee, 50); return; }___zen.hic("__ZEHIC1740", 1732713356, 1, 0, 60); })()</script><script type="text/javascript" async="async" src="/__zenedge/assets/hic.js?v=1674207422"></script></head> <body id="dmRoot" data-page-alias="reviews" class="dmRoot dmDesktopBody fix-mobile-scrolling addCanvasBorder dmResellerSite dmLargeBody " style="padding:0;margin:0;" > <!-- ========= Site Content ========= --> <div id="dm" class='dmwr'> <div class="dm_wrapper standard-var5 widgetStyle-3 standard"> <div dmwrapped="true" id="1582363842"> <div dmtemplateid="StandardLayoutMultiD" class="standardHeaderLayout dm-bfs dm-layout-sec hasAnimations hasStickyHeader dmPageBody d-page-1683814473 dmFreeHeader" id="dm-outer-wrapper" data-page-class="1683814473" data-soch="true" data-background-parallax-selector=".dmHomeSection1, .dmSectionParallex"> <div id="dmStyle_outerContainer" class="dmOuter"> <div id="dmStyle_innerContainer" class="dmInner"> <div class="dmLayoutWrapper standard-var dmStandardDesktop"> <div> <div id="iscrollBody"> <div id="site_content"> <div class="dmHeaderContainer fHeader d-header-wrapper"> <div id="hcontainer" class="dmHeader p_hfcontainer u_hcontainer" freeheader="true" has-shadow="true"> <div dm:templateorder="85" class="dmHeaderResp dmHeaderStack noSwitch" id="1709005236"> <div class="u_1964788207 dmRespRow" id="1964788207"> <div class="dmRespColsWrapper" id="1781299465"> <div class="dmRespCol large-12 medium-12 small-12" id="1350397873"> <div class="u_1699008044 widget-d1ee5d dmCustomWidget" data-lazy-load="" data-title="" id="1699008044" dmle_extension="custom_extension" data-element-type="custom_extension" icon="false" surround="false" data-widget-id="d1ee5d5bf037471ea1770683731e577a" data-widget-version="23" data-widget-config="eyJtZXJjaGFudElkIjoiMzgwMDEiLCJ0aGVtZSI6ImxpZ2h0IiwibWluLXJldmlld3MiOiIzIiwibWluLXJhdGluZyI6IjMifQ=="> <div class="headerWidget" data-merchant="38001" data-theme="light" data-break="" data-count-limit="3" data-rating-limit="3"></div> </div> </div> </div> </div> <div class="dmRespRow u_1867331532" id="1867331532"> <div class="dmRespColsWrapper" id="1955305792"> <div class="u_1697596152 dmRespCol small-12 large-3 medium-3" id="1697596152"> <div class="u_1852591063 imageWidget align-center" data-element-type="image" data-widget-type="image" id="1852591063"><img src="https://le-cdn.hibuwebsites.com/30008740a7b147b58f29a5477579f4e3/dms3rep/multi/opt/insulation-blanket-30-yr-edit-1920w.jpg" alt="" id="1693406551" class="" data-dm-image-path="https://cdn.hibuwebsites.com/30008740a7b147b58f29a5477579f4e3/dms3rep/multi/insulation-blanket-30-yr-edit.jpg" width="524" height="378" onerror="handleImageLoadError(this)"/></div> </div> <div class="u_1155150290 dmRespCol small-12 large-5 medium-5" id="1155150290"> <div class="u_1280855790 imageWidget align-center" data-element-type="image" data-widget-type="image" id="1280855790"> <a id="1718291829" href="/" file="false"><img src="https://le-cdn.hibuwebsites.com/30008740a7b147b58f29a5477579f4e3/dms3rep/multi/opt/8256758_359x107-1920w.jpg" id="1513103595" class="" data-dm-image-path="https://cdn.websites.hibu.com/30008740a7b147b58f29a5477579f4e3/dms3rep/multi/8256758_359x107.jpg" alt="Flexin Manufacturing Inc. - logo" onerror="handleImageLoadError(this)"/></a> </div> </div> <div class="dmRespCol large-4 medium-4 small-12 u_1541614883" id="1541614883"> <a data-display-type="block" class="u_1918503016 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient" file="false" href="/request-a-quote" data-element-type="dButtonLinkId" id="1918503016"> <span class="iconBg" id="1693004465"> <span class="icon hasFontIcon icon-star" id="1675222523"></span> </span> <span class="text" id="1547468839">Request a Quote</span> </a> <div class="u_1735876590 widget-7b6cfb dmCustomWidget" data-lazy-load="" data-title="" id="1735876590" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" icon="false" surround="false" data-widget-id="7b6cfbac88324cffbaaf57354cd7a334" data-widget-version="219" data-widget-config="eyJnZXREaXJlY3Rpb25zVGV4dCI6IkdldCBEaXJlY3Rpb25zIiwiZ3JvdXBZZWFyRXN0YWJsaXNoZWQiOm51bGwsImgzRW1haWxUZXh0IjoiIiwidG9nZ2xlSDNBc3NvY2lhdGlvbnMiOm51bGwsImdyb3VwQml6TmFtZURlc2lnbiI6bnVsbCwidG9nZ2xlSDNTZXJ2aWNlcyI6bnVsbCwidHlwZSI6InBob25lIiwiYm9sZExvY2F0aW9uTmFtZSI6bnVsbCwiY29sb3JQaWNrZXIxIjpudWxsLCJoM1BheW1lbnRzVGV4dCI6bnVsbCwiZ3JvdXBHb29nbGVBdHRyaWJ1dGVzIjpudWxsLCJwYXltZW50R3JvdXAiOm51bGwsInRvZ2dsZUgzU3BlY2lhbHRpZXMiOm51bGwsInNlcnZpY2VBcmVhR3JvdXAiOm51bGwsInN0YXRlIjp0cnVlLCJncm91cFNvY2lhbEljb25zIjpudWxsLCJ0b2dnbGVIM1NlcnZpY2VBcmVhIjpudWxsLCJzb2NpYWxHcm91cCI6bnVsbCwiemlwIjp0cnVlLCJwaG9uZUxpc3RTdHlsZXMiOm51bGwsImNhcmRTdHlsZURhcmtPckxpZ2h0IjoidmFsdWUzIiwiaDNZZWFySGVhZFRleHQiOiIiLCJwYXltZW50T3B0aW9uc0J1bGxldCI6ImJ1bGxldCIsIi5hZGRyZXNzSGVhZGVyIjpudWxsLCJ0b2dnbGVIM2ZlYXRNZXNzYWdlIjpudWxsLCJicmFuZHNHcm91cCI6bnVsbCwicHJvZHVjdHNHcm91cCI6bnVsbCwiaDNLZXl3b3Jkc1RleHQiOm51bGwsInNjcmlwdCI6IiIsImdyb3VwS2V5d29yZHNEZXNpZ24iOm51bGwsImdyb3VwQXR0cmlidXRlcyI6bnVsbCwic29jaWFsSWNvbnNBbGlnbm1lbnQiOiJsZWZ0IiwibGFuZ3VhZ2VzQnVsbGV0IjoiYnVsbGV0IiwiZ3JvdXBFbWFpbERlc2lnbiI6bnVsbCwiaDNIb2xpZGF5SG91cnMiOiJIb2xpZGF5IEhvdXJzIiwic2hvd1BheW1lbnRzQXMiOm51bGwsInNlcnZpY2VzR3JvdXAiOm51bGwsImJvbGRTdGF0dXNUZXh0Ijp0cnVlLCJoM1NvY2lhbFRleHQiOm51bGwsImxvZ29Hcm91cCI6bnVsbCwiZ3JvdXBQaG9uZURlc2lnbiI6bnVsbCwicGhvbmVHcm91cCI6bnVsbCwiY2l0eSI6dHJ1ZSwiZ3JvdXBCaXpEZXNEZXNpZ24iOm51bGwsImgzaG91cnNUZXh0IjoiIiwiaDNTZXJ2aWNlQXJlYVRleHQiOm51bGwsImlzTGlzdCI6dHJ1ZSwiYm9sZEhvdXJzIjp0cnVlLCJ0b2dnbGVIM2hvdXJzIjpudWxsLCJncm91cEFkZGl0aW9uYWxIb3Vyc1RleHQiOm51bGwsImRlc2NyaXB0aW9uVGV4dEdyb3VwIjpudWxsLCJicmFuZHNCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM2hvbGlkYXlIb3VycyI6dHJ1ZSwiYXNzb2NpYXRpb25zQnVsbGV0IjoiYnVsbGV0IiwibG9jYXRpb25Hcm91cCI6bnVsbCwidG9nZ2xlSDNHb29nbGVBdHRyaWJ1dGVzIjp0cnVlLCJ0b2dnbGVIM2Rlc2NyaXB0aW9uIjpudWxsLCJob2xpZGF5SG91cnNCdWxsZXQiOiJidWxsZXRzIiwidG9nZ2xlSDNMYW5ndWFnZXMiOm51bGwsInBob25lVHlwZSI6InBob25lIiwibG9jYXRpb25OYW1lIjpmYWxzZSwidG9nZ2xlSDNQYXltZW50cyI6bnVsbCwic2VydmljZUFyZWFCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM1Byb2R1Y3RzIjpudWxsLCJncm91cEFkZHJlc3NEZXNpZ24iOm51bGwsIlBob25lIEhlYWRlciBHcm91cCI6bnVsbCwidG9nZ2xlSDNTb2NpYWwiOm51bGwsInNob3dTZXJ2aWNlQXJlYUZpcnN0IjpudWxsLCJhZGRpdGlvbmFsSG91cnNUZXh0IjpudWxsLCJoM1NwZWNpYWx0aWVzVGV4dCI6IiIsInRvZ2dsZUgzWWVhciI6bnVsbCwic3BlY2lhbHRpZXNHcm91cCI6bnVsbCwiZHJhd01hcCI6bnVsbCwiaW5zdHJ1Y3Rpb25zIjpudWxsLCJncm91cFByb2R1Y3RzRGVzaWduIjpudWxsLCJncm91cFNlcnZpY2VBcmVhRGVzaWduIjpudWxsLCJoM0FkZHJlc3NUZXh0IjoiIiwiZ3JvdXBTZXJ2aWNlc0Rlc2lnbiI6bnVsbCwidG9nZ2xlSDNQaG9uZUxpc3QiOm51bGwsImdyb3VwRmVhdHVyZWRNZXNzYWdlRGVzaWduIjpudWxsLCJoM1NlcnZpY2VzVGV4dCI6bnVsbCwiaDNQaG9uZVRleHQiOiIiLCJoM0Fzc29jaWF0aW9uc1RleHQiOiIiLCJwYXltZW50VGV4dEdyb3VwIjpudWxsLCJoM0Rlc2NyaXB0aW9uVGV4dCI6bnVsbCwic2hvd0dldERpcmVjdGlvbnNMaW5rIjpudWxsLCJncm91cFBheW1lbnREZWlzZ24iOm51bGwsImgzR29vZ2xlQXR0cmlidXRlcyI6IkJ1c2luZXNzIEF0dHJpYnV0ZXMiLCJ0b2dnbGVIM0FkZHJlc3MiOm51bGwsInNob3dFbWFpbEFzQnRuIjpudWxsLCJhc3NvY2lhdGlvbnNHcm91cCI6bnVsbCwiaDNQcm9kdWN0c1RleHQiOiIiLCJmb3JtYXRQaG9uZSI6dHJ1ZSwiZ3JvdXBMYW5ndWFnZXNEZXNpZ24iOm51bGwsInRvZ2dsZUgzS2V5d29yZHMiOm51bGwsImtleXdvcmRzR3JvdXAiOm51bGwsImFsdCI6bnVsbCwiaGlkZUhvdXJzTGlzdCI6ZmFsc2UsImdyb3VwSG9saWRheUhvdXJzRGVzaWduIjpudWxsLCJwaG9uZVNob3dBcyI6ImJ1dHRvbiIsImdvb2dsZUF0dHJpYnV0ZXNGb3JtYXR0ZWRMaXN0QnVsbGV0IjoiYnVsbGV0cyIsIm1hcFpvb20iOiIxMyIsImhvbGlkYXlIb3VycyI6bnVsbCwiZ3JvdXBIb3Vyc0Rlc2lnbiI6bnVsbCwiaDNMYW5ndWFnZXNUZXh0IjpudWxsLCJob3Vyc1Nob3dBcyI6Imxpc3QiLCJlbWFpbFRleHRHcm91cCI6bnVsbCwicGhvbmVMaXN0U3R5bGUiOiJidWxsZXRzIiwidG9nZ2xlMSI6bnVsbCwiaDNCcmFuZFRleHQiOiIiLCJsaW5rIjpudWxsLCJncm91cFBheW1lbnRDYXJkRGVzaWduIjpudWxsLCJncm91cFNwZWNpYWx0aWVzRGVzaWduIjpudWxsLCJ5ZWFyRXN0YWJpbGlzaGVkR3JvdXAiOm51bGwsInBob25lVGV4dFN0eWxlcyI6bnVsbCwiZ3JvdXBBc3NvY2lhdGlvbnNEZXNpZ24iOm51bGwsInNwZWNpYWx0aWVzQnVsbGV0IjoiYnVsbGV0IiwiaDNGZWF0TWVzc2FnZVRleHQiOm51bGwsInRvZ2dsZUgzQnJhbmRzIjpudWxsLCJhZGRyZXNzMiI6dHJ1ZSwiYWRkcmVzczEiOnRydWUsImNhcmRBbGlnbm1lbnQiOiJwaWNvbnMtY2VudGVyIiwiZ3JvdXBMb2dvRGVzaWduIjpudWxsLCJncm91cE9wZW5Ib3Vyc0Rlc2lnbiI6bnVsbCwiZmVhdE1lc3NhZ2VHcm91cCI6bnVsbCwia2V5d29yZHNCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM0VtYWlsIjpudWxsLCJzZXJ2aWNlc0J1bGxldCI6bnVsbCwiZ3JvdXBCcmFuZHNEZXNpZ24iOm51bGwsInByb2R1Y3RzQnVsbGV0IjoiYnVsbGV0IiwibGFuZ3VhZ2VzR3JvdXAiOm51bGwsImhvdXJzR3JvdXAiOm51bGx9"> <a onclick=";return dm_gaq_push_event('ClickToCall', 'Call',null, dmAPI.getSiteName(), this);" data-yext-field="phone" class="dmButtonLink dmWidget dmWwr yextButton"> <span class="text"></span> </a> <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> <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> <!-- Load Yext Script into page source so schema validates with Structured Data testing tool --></div> <div class="u_1864465045 widget-7b6cfb dmCustomWidget" data-lazy-load="" data-title="" id="1864465045" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" icon="false" surround="false" data-widget-id="7b6cfbac88324cffbaaf57354cd7a334" data-widget-version="219" data-widget-config="eyJnZXREaXJlY3Rpb25zVGV4dCI6IkdldCBEaXJlY3Rpb25zIiwiZ3JvdXBZZWFyRXN0YWJsaXNoZWQiOm51bGwsImgzRW1haWxUZXh0IjoiIiwidG9nZ2xlSDNBc3NvY2lhdGlvbnMiOm51bGwsImdyb3VwQml6TmFtZURlc2lnbiI6bnVsbCwidG9nZ2xlSDNTZXJ2aWNlcyI6bnVsbCwidHlwZSI6ImFkZHJlc3MiLCJib2xkTG9jYXRpb25OYW1lIjpudWxsLCJjb2xvclBpY2tlcjEiOm51bGwsImgzUGF5bWVudHNUZXh0IjpudWxsLCJncm91cEdvb2dsZUF0dHJpYnV0ZXMiOm51bGwsInBheW1lbnRHcm91cCI6bnVsbCwidG9nZ2xlSDNTcGVjaWFsdGllcyI6bnVsbCwic2VydmljZUFyZWFHcm91cCI6bnVsbCwic3RhdGUiOnRydWUsImdyb3VwU29jaWFsSWNvbnMiOm51bGwsInRvZ2dsZUgzU2VydmljZUFyZWEiOm51bGwsInNvY2lhbEdyb3VwIjpudWxsLCJ6aXAiOmZhbHNlLCJwaG9uZUxpc3RTdHlsZXMiOm51bGwsImNhcmRTdHlsZURhcmtPckxpZ2h0IjoidmFsdWUzIiwiaDNZZWFySGVhZFRleHQiOiIiLCJwYXltZW50T3B0aW9uc0J1bGxldCI6ImJ1bGxldCIsIi5hZGRyZXNzSGVhZGVyIjpudWxsLCJ0b2dnbGVIM2ZlYXRNZXNzYWdlIjpudWxsLCJicmFuZHNHcm91cCI6bnVsbCwicHJvZHVjdHNHcm91cCI6bnVsbCwiaDNLZXl3b3Jkc1RleHQiOm51bGwsInNjcmlwdCI6IiIsImdyb3VwS2V5d29yZHNEZXNpZ24iOm51bGwsImdyb3VwQXR0cmlidXRlcyI6bnVsbCwic29jaWFsSWNvbnNBbGlnbm1lbnQiOiJsZWZ0IiwibGFuZ3VhZ2VzQnVsbGV0IjoiYnVsbGV0IiwiZ3JvdXBFbWFpbERlc2lnbiI6bnVsbCwiaDNIb2xpZGF5SG91cnMiOiJIb2xpZGF5IEhvdXJzIiwic2hvd1BheW1lbnRzQXMiOm51bGwsInNlcnZpY2VzR3JvdXAiOm51bGwsImJvbGRTdGF0dXNUZXh0Ijp0cnVlLCJoM1NvY2lhbFRleHQiOm51bGwsImxvZ29Hcm91cCI6bnVsbCwiZ3JvdXBQaG9uZURlc2lnbiI6bnVsbCwicGhvbmVHcm91cCI6bnVsbCwiY2l0eSI6dHJ1ZSwiZ3JvdXBCaXpEZXNEZXNpZ24iOm51bGwsImgzaG91cnNUZXh0IjoiIiwiaDNTZXJ2aWNlQXJlYVRleHQiOm51bGwsImlzTGlzdCI6dHJ1ZSwiYm9sZEhvdXJzIjp0cnVlLCJ0b2dnbGVIM2hvdXJzIjpudWxsLCJncm91cEFkZGl0aW9uYWxIb3Vyc1RleHQiOm51bGwsImRlc2NyaXB0aW9uVGV4dEdyb3VwIjpudWxsLCJicmFuZHNCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM2hvbGlkYXlIb3VycyI6dHJ1ZSwiYXNzb2NpYXRpb25zQnVsbGV0IjoiYnVsbGV0IiwibG9jYXRpb25Hcm91cCI6bnVsbCwidG9nZ2xlSDNHb29nbGVBdHRyaWJ1dGVzIjp0cnVlLCJ0b2dnbGVIM2Rlc2NyaXB0aW9uIjpudWxsLCJob2xpZGF5SG91cnNCdWxsZXQiOiJidWxsZXRzIiwidG9nZ2xlSDNMYW5ndWFnZXMiOm51bGwsInBob25lVHlwZSI6InBob25lIiwibG9jYXRpb25OYW1lIjpmYWxzZSwidG9nZ2xlSDNQYXltZW50cyI6bnVsbCwic2VydmljZUFyZWFCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM1Byb2R1Y3RzIjpudWxsLCJncm91cEFkZHJlc3NEZXNpZ24iOm51bGwsIlBob25lIEhlYWRlciBHcm91cCI6bnVsbCwidG9nZ2xlSDNTb2NpYWwiOm51bGwsInNob3dTZXJ2aWNlQXJlYUZpcnN0IjpudWxsLCJhZGRpdGlvbmFsSG91cnNUZXh0IjpudWxsLCJoM1NwZWNpYWx0aWVzVGV4dCI6IiIsInRvZ2dsZUgzWWVhciI6bnVsbCwic3BlY2lhbHRpZXNHcm91cCI6bnVsbCwiZHJhd01hcCI6bnVsbCwiaW5zdHJ1Y3Rpb25zIjpudWxsLCJncm91cFByb2R1Y3RzRGVzaWduIjpudWxsLCJncm91cFNlcnZpY2VBcmVhRGVzaWduIjpudWxsLCJoM0FkZHJlc3NUZXh0IjoiIiwiZ3JvdXBTZXJ2aWNlc0Rlc2lnbiI6bnVsbCwidG9nZ2xlSDNQaG9uZUxpc3QiOm51bGwsImdyb3VwRmVhdHVyZWRNZXNzYWdlRGVzaWduIjpudWxsLCJoM1NlcnZpY2VzVGV4dCI6bnVsbCwiaDNQaG9uZVRleHQiOiIiLCJoM0Fzc29jaWF0aW9uc1RleHQiOiIiLCJwYXltZW50VGV4dEdyb3VwIjpudWxsLCJoM0Rlc2NyaXB0aW9uVGV4dCI6bnVsbCwic2hvd0dldERpcmVjdGlvbnNMaW5rIjpudWxsLCJncm91cFBheW1lbnREZWlzZ24iOm51bGwsImgzR29vZ2xlQXR0cmlidXRlcyI6IkJ1c2luZXNzIEF0dHJpYnV0ZXMiLCJ0b2dnbGVIM0FkZHJlc3MiOm51bGwsInNob3dFbWFpbEFzQnRuIjpudWxsLCJhc3NvY2lhdGlvbnNHcm91cCI6bnVsbCwiaDNQcm9kdWN0c1RleHQiOiIiLCJmb3JtYXRQaG9uZSI6dHJ1ZSwiZ3JvdXBMYW5ndWFnZXNEZXNpZ24iOm51bGwsInRvZ2dsZUgzS2V5d29yZHMiOm51bGwsImtleXdvcmRzR3JvdXAiOm51bGwsImFsdCI6bnVsbCwiaGlkZUhvdXJzTGlzdCI6ZmFsc2UsImdyb3VwSG9saWRheUhvdXJzRGVzaWduIjpudWxsLCJwaG9uZVNob3dBcyI6ImJ1dHRvbiIsImdvb2dsZUF0dHJpYnV0ZXNGb3JtYXR0ZWRMaXN0QnVsbGV0IjoiYnVsbGV0cyIsIm1hcFpvb20iOiIxMyIsImhvbGlkYXlIb3VycyI6bnVsbCwiZ3JvdXBIb3Vyc0Rlc2lnbiI6bnVsbCwiaDNMYW5ndWFnZXNUZXh0IjpudWxsLCJob3Vyc1Nob3dBcyI6Imxpc3QiLCJlbWFpbFRleHRHcm91cCI6bnVsbCwicGhvbmVMaXN0U3R5bGUiOiJidWxsZXRzIiwidG9nZ2xlMSI6bnVsbCwiaDNCcmFuZFRleHQiOiIiLCJsaW5rIjpudWxsLCJncm91cFBheW1lbnRDYXJkRGVzaWduIjpudWxsLCJncm91cFNwZWNpYWx0aWVzRGVzaWduIjpudWxsLCJ5ZWFyRXN0YWJpbGlzaGVkR3JvdXAiOm51bGwsInBob25lVGV4dFN0eWxlcyI6bnVsbCwiZ3JvdXBBc3NvY2lhdGlvbnNEZXNpZ24iOm51bGwsInNwZWNpYWx0aWVzQnVsbGV0IjoiYnVsbGV0IiwiaDNGZWF0TWVzc2FnZVRleHQiOm51bGwsInRvZ2dsZUgzQnJhbmRzIjpudWxsLCJhZGRyZXNzMiI6ZmFsc2UsImFkZHJlc3MxIjpmYWxzZSwiY2FyZEFsaWdubWVudCI6InBpY29ucy1jZW50ZXIiLCJncm91cExvZ29EZXNpZ24iOm51bGwsImdyb3VwT3BlbkhvdXJzRGVzaWduIjpudWxsLCJmZWF0TWVzc2FnZUdyb3VwIjpudWxsLCJrZXl3b3Jkc0J1bGxldCI6ImJ1bGxldCIsInRvZ2dsZUgzRW1haWwiOm51bGwsInNlcnZpY2VzQnVsbGV0IjpudWxsLCJncm91cEJyYW5kc0Rlc2lnbiI6bnVsbCwicHJvZHVjdHNCdWxsZXQiOiJidWxsZXQiLCJsYW5ndWFnZXNHcm91cCI6bnVsbCwiaG91cnNHcm91cCI6bnVsbH0="> <div class="yextAddress"> <div style="display:none"> <span class="" data-yext-field="locationName"></span> </div> <div style="display:none"> <span data-yext-field="address1"></span> </div> <div style="display:none"> <span data-yext-field="address2"></span> </div> <div> <span> <span data-yext-field="city"></span> <span style="margin-left: -3px;">,</span> </span> <span> <span data-yext-field="state"></span> </span> <span style="display:none"> <span data-yext-field="zip"></span> </span> </div> </div> <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> <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> <!-- Load Yext Script into page source so schema validates with Structured Data testing tool --></div> </div> </div> </div> <div class="dmRespRow u_1827972418" id="1827972418"> <div class="dmRespColsWrapper" id="1584211045"> <div class="dmRespCol large-12 medium-12 small-12 u_1239106891" id="1239106891"> <nav class="u_1190878319 effect-bottom2 main-navigation unifiednav dmLinksMenu" role="navigation" layout-main="horizontal_nav_layout_1" layout-sub="submenu_horizontal_1" data-show-vertical-sub-items="HOVER" id="1190878319" dmle_extension="onelinksmenu" data-element-type="onelinksmenu" wr="true" icon="true" surround="true" adwords="" navigation-id="unifiedNav"> <ul role="menubar" class="unifiednav__container " data-auto="navigation-pages"> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/" class="unifiednav__item dmUDNavigationItem_00 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" Home " data-auto="page-text-style">Home<span class="icon icon-angle-down"></span> </span> </a> </li> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/insulation-applications" class="unifiednav__item dmUDNavigationItem_010101387055 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" Applications " data-auto="page-text-style">Applications<span class="icon icon-angle-down"></span> </span> </a> </li> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/electrical-heated-blankets" class="unifiednav__item dmUDNavigationItem_010101856437 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" Electrical / Heated Blankets " data-auto="page-text-style">Electrical / Heated Blankets<span class="icon icon-angle-down"></span> </span> </a> </li> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/benefits-of-insulation-blankets" class="unifiednav__item dmUDNavigationItem_010101511203 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" Benefits of Insulation Blankets " data-auto="page-text-style">Benefits of Insulation Blankets<span class="icon icon-angle-down"></span> </span> </a> </li> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/request-a-quote" class="unifiednav__item dmUDNavigationItem_010101292291 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" Request a Quote " data-auto="page-text-style">Request a Quote<span class="icon icon-angle-down"></span> </span> </a> </li> <li role="menuitem" aria-haspopup="true" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/about-us" class="unifiednav__item dmUDNavigationItem_010101661768 unifiednav__item_has-sub-nav" target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" About Us " data-auto="page-text-style">About Us<span class="icon icon-angle-down"></span> </span> </a> <ul role="menu" aria-expanded="false" class="unifiednav__container unifiednav__container_sub-nav" data-depth="0" data-auto="sub-pages"> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/reviews" class="unifiednav__item dmNavItemSelected dmUDNavigationItem_010101497480 " target="" data-target-page-alias="" data-auto="selected-page"> <span class="nav-item-text " data-link-text=" Reviews " data-auto="page-text-style">Reviews<span class="icon icon-angle-right"></span> </span> </a> </li> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/blog" class="unifiednav__item dmUDNavigationItem_010101639054 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" Blog " data-auto="page-text-style">Blog<span class="icon icon-angle-right"></span> </span> </a> </li> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/faq" class="unifiednav__item dmUDNavigationItem_010101507056 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" FAQs " data-auto="page-text-style">FAQs<span class="icon icon-angle-right"></span> </span> </a> </li> </ul> </li> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/contact-us" class="unifiednav__item dmUDNavigationItem_01010198084 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" Contact Us " data-auto="page-text-style">Contact Us<span class="icon icon-angle-down"></span> </span> </a> </li> </ul> </nav> </div> </div> </div> </div> </div> </div> <div class="stickyHeaderSpacer" id="stickyHeaderSpacer" data-new="true"></div> <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> <!-- 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">Reviews</div> </div> <div class="titleLine display_None"><hr/></div> </div> </div> </div> </div> <div dmwrapped="true" id="dmFirstContainer" class="dmBody u_dmStyle_template_reviews"> <div id="allWrapper" class="allWrapper"><!-- navigation placeholders --> <div id="dm_content" class="dmContent"> <div dm:templateorder="100" class="dmAboutusRespTmpl mainBorder" id="1683814473"> <div class="innerPageTmplBox dmRespRowsWrapper" id="1396310947"> <div class="dmRespRow" style="text-align: center;" id="1444471546"> <div class="dmRespColsWrapper" id="1399591883"> <div class="dmRespCol small-12 medium-12 large-12" id="1189175964"> <div class="widget-200ed1 dmCustomWidget" data-lazy-load="" data-title="" id="1091718399" dmle_extension="custom_extension" data-element-type="custom_extension" icon="false" surround="false" data-widget-id="200ed1dd45924f549c4ca95509b266c3" data-widget-version="24" data-widget-config="eyJtZXJjaGFudElkIjoiMzgwMDEiLCJhZGoiOiJzYXRpc2ZpZWQiLCJub3VuIjoiY3VzdG9tZXJzIn0="> <div id="indexReviewsWidget" data-merchant="38001" data-header-adjective="satisfied" data-header-noun="customers" data-write-disable="false"></div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="dmFooterContainer"> <div id="fcontainer" class="f_hcontainer dmFooter p_hfcontainer"> <div dm:templateorder="250" class="dmFooterResp generalFooter" id="1943048428"> <div class="dmRespRow" id="1622570511"> <div class="dmRespColsWrapper" id="1273299977"> <div class="dmRespCol large-12 medium-12 small-12" id="1022165998"> <div class="dmDividerWrapper clearfix" data-element-type="dDividerId" data-layout="divider-style-1" data-widget-version="2" id="1702354030"><hr class="dmDivider" style="border-width:2px; border-top-style:solid; color:grey;" id="1285762105"/></div> </div> </div> </div> <div class="u_1824714004 dmRespRow" style="text-align: center;" id="1824714004"> <div class="dmRespColsWrapper" id="1669609772"> <div class="dmRespCol small-12 u_1592910028 medium-6 large-6" id="1592910028"> <div class="u_1291737877 dmRespRow" id="1291737877"> <div class="dmRespColsWrapper" id="1978888049"> <div class="dmRespCol small-12 medium-12 large-12 u_1906901153" id="1906901153"> <div class="u_1683383916 graphicWidget" data-element-type="graphic" data-widget-type="graphic" id="1683383916"> <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 70 70" id="1011079330" class="svg u_1011079330" 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 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 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="1793109344"></path> </svg> </div> <div class="widget-7b6cfb u_1744578858 dmCustomWidget" data-lazy-load="" data-title="" id="1744578858" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" icon="false" surround="false" data-widget-id="7b6cfbac88324cffbaaf57354cd7a334" data-widget-version="219" data-widget-config="eyJnZXREaXJlY3Rpb25zVGV4dCI6IkdldCBEaXJlY3Rpb25zIiwiZ3JvdXBZZWFyRXN0YWJsaXNoZWQiOm51bGwsImgzRW1haWxUZXh0IjoiIiwidG9nZ2xlSDNBc3NvY2lhdGlvbnMiOm51bGwsImdyb3VwQml6TmFtZURlc2lnbiI6bnVsbCwidG9nZ2xlSDNTZXJ2aWNlcyI6bnVsbCwidHlwZSI6ImFkZHJlc3MiLCJib2xkTG9jYXRpb25OYW1lIjp0cnVlLCJjb2xvclBpY2tlcjEiOm51bGwsImgzUGF5bWVudHNUZXh0IjpudWxsLCJncm91cEdvb2dsZUF0dHJpYnV0ZXMiOm51bGwsInBheW1lbnRHcm91cCI6bnVsbCwidG9nZ2xlSDNTcGVjaWFsdGllcyI6bnVsbCwic2VydmljZUFyZWFHcm91cCI6bnVsbCwic3RhdGUiOnRydWUsImdyb3VwU29jaWFsSWNvbnMiOm51bGwsInRvZ2dsZUgzU2VydmljZUFyZWEiOnRydWUsInNvY2lhbEdyb3VwIjpudWxsLCJ6aXAiOnRydWUsInBob25lTGlzdFN0eWxlcyI6bnVsbCwiY2FyZFN0eWxlRGFya09yTGlnaHQiOiJ2YWx1ZTMiLCJoM1llYXJIZWFkVGV4dCI6IiIsInBheW1lbnRPcHRpb25zQnVsbGV0IjoiYnVsbGV0IiwiLmFkZHJlc3NIZWFkZXIiOm51bGwsInRvZ2dsZUgzZmVhdE1lc3NhZ2UiOm51bGwsImJyYW5kc0dyb3VwIjpudWxsLCJwcm9kdWN0c0dyb3VwIjpudWxsLCJoM0tleXdvcmRzVGV4dCI6bnVsbCwic2NyaXB0IjoiPHNjcmlwdCBhc3luYyBzcmM9XCJodHRwczovL2tub3dsZWRnZXRhZ3MueWV4dHBhZ2VzLm5ldC9lbWJlZD9rZXk9Nks2ZTNJUlhLME42clFPRkdyMlRNaGZzeHlBejczckVfd0t2ckV4NnlFOVJ4b085Y0VqUHA2emRILXdpcTJ1aSZhY2NvdW50X2lkPTcwMTY0NDg3MTImbG9jYXRpb25faWQ9NzAxNjQ0ODcxMlwiIHR5cGU9XCJ0ZXh0L2phdmFzY3JpcHRcIj48L3NjcmlwdD4iLCJncm91cEtleXdvcmRzRGVzaWduIjpudWxsLCJncm91cEF0dHJpYnV0ZXMiOm51bGwsInNvY2lhbEljb25zQWxpZ25tZW50IjoibGVmdCIsImxhbmd1YWdlc0J1bGxldCI6ImJ1bGxldCIsImdyb3VwRW1haWxEZXNpZ24iOm51bGwsImgzSG9saWRheUhvdXJzIjoiSG9saWRheSBIb3VycyIsInNob3dQYXltZW50c0FzIjpudWxsLCJzZXJ2aWNlc0dyb3VwIjpudWxsLCJib2xkU3RhdHVzVGV4dCI6dHJ1ZSwiaDNTb2NpYWxUZXh0IjpudWxsLCJsb2dvR3JvdXAiOm51bGwsImdyb3VwUGhvbmVEZXNpZ24iOm51bGwsInBob25lR3JvdXAiOm51bGwsImNpdHkiOnRydWUsImdyb3VwQml6RGVzRGVzaWduIjpudWxsLCJoM2hvdXJzVGV4dCI6IiIsImgzU2VydmljZUFyZWFUZXh0IjoiU0VSVklORyIsImlzTGlzdCI6dHJ1ZSwiYm9sZEhvdXJzIjp0cnVlLCJ0b2dnbGVIM2hvdXJzIjpudWxsLCJncm91cEFkZGl0aW9uYWxIb3Vyc1RleHQiOm51bGwsImRlc2NyaXB0aW9uVGV4dEdyb3VwIjpudWxsLCJicmFuZHNCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM2hvbGlkYXlIb3VycyI6dHJ1ZSwiYXNzb2NpYXRpb25zQnVsbGV0IjoiYnVsbGV0IiwibG9jYXRpb25Hcm91cCI6bnVsbCwidG9nZ2xlSDNHb29nbGVBdHRyaWJ1dGVzIjp0cnVlLCJ0b2dnbGVIM2Rlc2NyaXB0aW9uIjpudWxsLCJob2xpZGF5SG91cnNCdWxsZXQiOiJidWxsZXRzIiwidG9nZ2xlSDNMYW5ndWFnZXMiOm51bGwsInBob25lVHlwZSI6InBob25lIiwibG9jYXRpb25OYW1lIjpmYWxzZSwidG9nZ2xlSDNQYXltZW50cyI6bnVsbCwic2VydmljZUFyZWFCdWxsZXQiOiJuby1saXN0IiwidG9nZ2xlSDNQcm9kdWN0cyI6bnVsbCwiZ3JvdXBBZGRyZXNzRGVzaWduIjpudWxsLCJQaG9uZSBIZWFkZXIgR3JvdXAiOm51bGwsInRvZ2dsZUgzU29jaWFsIjpudWxsLCJzaG93U2VydmljZUFyZWFGaXJzdCI6bnVsbCwiYWRkaXRpb25hbEhvdXJzVGV4dCI6bnVsbCwiaDNTcGVjaWFsdGllc1RleHQiOiIiLCJ0b2dnbGVIM1llYXIiOm51bGwsInNwZWNpYWx0aWVzR3JvdXAiOm51bGwsImRyYXdNYXAiOm51bGwsImluc3RydWN0aW9ucyI6bnVsbCwiZ3JvdXBQcm9kdWN0c0Rlc2lnbiI6bnVsbCwiZ3JvdXBTZXJ2aWNlQXJlYURlc2lnbiI6bnVsbCwiaDNBZGRyZXNzVGV4dCI6Ik9VUiBBRERSRVNTIiwiZ3JvdXBTZXJ2aWNlc0Rlc2lnbiI6bnVsbCwidG9nZ2xlSDNQaG9uZUxpc3QiOm51bGwsImdyb3VwRmVhdHVyZWRNZXNzYWdlRGVzaWduIjpudWxsLCJoM1NlcnZpY2VzVGV4dCI6bnVsbCwiaDNQaG9uZVRleHQiOiIiLCJoM0Fzc29jaWF0aW9uc1RleHQiOiIiLCJwYXltZW50VGV4dEdyb3VwIjpudWxsLCJoM0Rlc2NyaXB0aW9uVGV4dCI6bnVsbCwic2hvd0dldERpcmVjdGlvbnNMaW5rIjpmYWxzZSwiZ3JvdXBQYXltZW50RGVpc2duIjpudWxsLCJoM0dvb2dsZUF0dHJpYnV0ZXMiOiJCdXNpbmVzcyBBdHRyaWJ1dGVzIiwidG9nZ2xlSDNBZGRyZXNzIjp0cnVlLCJzaG93RW1haWxBc0J0biI6bnVsbCwiYXNzb2NpYXRpb25zR3JvdXAiOm51bGwsImgzUHJvZHVjdHNUZXh0IjoiIiwiZm9ybWF0UGhvbmUiOnRydWUsImdyb3VwTGFuZ3VhZ2VzRGVzaWduIjpudWxsLCJ0b2dnbGVIM0tleXdvcmRzIjpudWxsLCJrZXl3b3Jkc0dyb3VwIjpudWxsLCJhbHQiOm51bGwsImhpZGVIb3Vyc0xpc3QiOmZhbHNlLCJncm91cEhvbGlkYXlIb3Vyc0Rlc2lnbiI6bnVsbCwicGhvbmVTaG93QXMiOiJidXR0b24iLCJnb29nbGVBdHRyaWJ1dGVzRm9ybWF0dGVkTGlzdEJ1bGxldCI6ImJ1bGxldHMiLCJtYXBab29tIjoiMTMiLCJob2xpZGF5SG91cnMiOm51bGwsImdyb3VwSG91cnNEZXNpZ24iOm51bGwsImgzTGFuZ3VhZ2VzVGV4dCI6bnVsbCwiaG91cnNTaG93QXMiOiJsaXN0IiwiZW1haWxUZXh0R3JvdXAiOm51bGwsInBob25lTGlzdFN0eWxlIjoiYnVsbGV0cyIsInRvZ2dsZTEiOm51bGwsImgzQnJhbmRUZXh0IjoiIiwibGluayI6bnVsbCwiZ3JvdXBQYXltZW50Q2FyZERlc2lnbiI6bnVsbCwiZ3JvdXBTcGVjaWFsdGllc0Rlc2lnbiI6bnVsbCwieWVhckVzdGFiaWxpc2hlZEdyb3VwIjpudWxsLCJwaG9uZVRleHRTdHlsZXMiOm51bGwsImdyb3VwQXNzb2NpYXRpb25zRGVzaWduIjpudWxsLCJzcGVjaWFsdGllc0J1bGxldCI6ImJ1bGxldCIsImgzRmVhdE1lc3NhZ2VUZXh0IjpudWxsLCJ0b2dnbGVIM0JyYW5kcyI6bnVsbCwiYWRkcmVzczIiOnRydWUsImFkZHJlc3MxIjp0cnVlLCJjYXJkQWxpZ25tZW50IjoicGljb25zLWNlbnRlciIsImdyb3VwTG9nb0Rlc2lnbiI6bnVsbCwiZ3JvdXBPcGVuSG91cnNEZXNpZ24iOm51bGwsImZlYXRNZXNzYWdlR3JvdXAiOm51bGwsImtleXdvcmRzQnVsbGV0IjoiYnVsbGV0IiwidG9nZ2xlSDNFbWFpbCI6bnVsbCwic2VydmljZXNCdWxsZXQiOm51bGwsImdyb3VwQnJhbmRzRGVzaWduIjpudWxsLCJwcm9kdWN0c0J1bGxldCI6ImJ1bGxldCIsImxhbmd1YWdlc0dyb3VwIjpudWxsLCJob3Vyc0dyb3VwIjpudWxsfQ=="> <h3 class="addressHeader">OUR ADDRESS</h3> <div class="yextAddress"> <div style="display:none"> <span class="bold" data-yext-field="locationName"></span> </div> <div> <span data-yext-field="address1"></span> </div> <div> <span data-yext-field="address2"></span> </div> <div> <span> <span data-yext-field="city"></span> <span style="margin-left: -3px;">,</span> </span> <span> <span data-yext-field="state"></span> </span> <span> <span data-yext-field="zip"></span> </span> </div> </div> <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> <div class="wrongScriptError" data-nosnippet=""><!--The Yext script you entered is empty or incorrect: <script async src="https://knowledgetags.yextpages.net/embed?key=6K6e3IRXK0N6rQOFGr2TMhfsxyAz73rE_wKvrEx6yE9RxoO9cEjPp6zdH-wiq2ui&account_id=7016448712&location_id=7016448712" 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> <!-- Load Yext Script into page source so schema validates with Structured Data testing tool --> <script async="" src="https://knowledgetags.yextpages.net/embed?key=6K6e3IRXK0N6rQOFGr2TMhfsxyAz73rE_wKvrEx6yE9RxoO9cEjPp6zdH-wiq2ui&account_id=7016448712&location_id=7016448712" type="text/javascript"> </script> </div> </div> </div> </div> </div> <div class="u_1206154255 dmRespCol small-12 medium-6 large-6" id="1206154255"> <div class="dmRespRow u_1990848542" id="1990848542"> <div class="dmRespColsWrapper" id="1219673240"> <div class="dmRespCol small-12 medium-12 large-12 u_1116183340" id="1116183340"> <div class="u_1483065157 graphicWidget" data-element-type="graphic" data-widget-type="graphic" id="1483065157"> <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 70 70" id="1127483980" class="svg u_1127483980" 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 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 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 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 s2.9-16,5-16c2.1,0,5,6.1,5,16S55.1,51,53,51z" id="1620083044"></path> </svg> </div> <div class="u_1597993637 widget-7b6cfb dmCustomWidget" data-lazy-load="" data-title="" id="1597993637" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" icon="false" surround="false" data-widget-id="7b6cfbac88324cffbaaf57354cd7a334" data-widget-version="219" data-widget-config="eyJnZXREaXJlY3Rpb25zVGV4dCI6IkdldCBEaXJlY3Rpb25zIiwiZ3JvdXBZZWFyRXN0YWJsaXNoZWQiOm51bGwsImgzRW1haWxUZXh0IjoiIiwidG9nZ2xlSDNBc3NvY2lhdGlvbnMiOm51bGwsImdyb3VwQml6TmFtZURlc2lnbiI6bnVsbCwidG9nZ2xlSDNTZXJ2aWNlcyI6bnVsbCwidHlwZSI6InBob25lIiwiYm9sZExvY2F0aW9uTmFtZSI6bnVsbCwiY29sb3JQaWNrZXIxIjpudWxsLCJoM1BheW1lbnRzVGV4dCI6bnVsbCwiZ3JvdXBHb29nbGVBdHRyaWJ1dGVzIjpudWxsLCJwYXltZW50R3JvdXAiOm51bGwsInRvZ2dsZUgzU3BlY2lhbHRpZXMiOm51bGwsInNlcnZpY2VBcmVhR3JvdXAiOm51bGwsInN0YXRlIjp0cnVlLCJncm91cFNvY2lhbEljb25zIjpudWxsLCJ0b2dnbGVIM1NlcnZpY2VBcmVhIjpudWxsLCJzb2NpYWxHcm91cCI6bnVsbCwiemlwIjp0cnVlLCJwaG9uZUxpc3RTdHlsZXMiOm51bGwsImNhcmRTdHlsZURhcmtPckxpZ2h0IjoidmFsdWUzIiwiaDNZZWFySGVhZFRleHQiOiIiLCJwYXltZW50T3B0aW9uc0J1bGxldCI6ImJ1bGxldCIsIi5hZGRyZXNzSGVhZGVyIjpudWxsLCJ0b2dnbGVIM2ZlYXRNZXNzYWdlIjpudWxsLCJicmFuZHNHcm91cCI6bnVsbCwicHJvZHVjdHNHcm91cCI6bnVsbCwiaDNLZXl3b3Jkc1RleHQiOm51bGwsInNjcmlwdCI6IiIsImdyb3VwS2V5d29yZHNEZXNpZ24iOm51bGwsImdyb3VwQXR0cmlidXRlcyI6bnVsbCwic29jaWFsSWNvbnNBbGlnbm1lbnQiOiJsZWZ0IiwibGFuZ3VhZ2VzQnVsbGV0IjoiYnVsbGV0IiwiZ3JvdXBFbWFpbERlc2lnbiI6bnVsbCwiaDNIb2xpZGF5SG91cnMiOiJIb2xpZGF5IEhvdXJzIiwic2hvd1BheW1lbnRzQXMiOm51bGwsInNlcnZpY2VzR3JvdXAiOm51bGwsImJvbGRTdGF0dXNUZXh0Ijp0cnVlLCJoM1NvY2lhbFRleHQiOm51bGwsImxvZ29Hcm91cCI6bnVsbCwiZ3JvdXBQaG9uZURlc2lnbiI6bnVsbCwicGhvbmVHcm91cCI6bnVsbCwiY2l0eSI6dHJ1ZSwiZ3JvdXBCaXpEZXNEZXNpZ24iOm51bGwsImgzaG91cnNUZXh0IjoiIiwiaDNTZXJ2aWNlQXJlYVRleHQiOm51bGwsImlzTGlzdCI6dHJ1ZSwiYm9sZEhvdXJzIjp0cnVlLCJ0b2dnbGVIM2hvdXJzIjpudWxsLCJncm91cEFkZGl0aW9uYWxIb3Vyc1RleHQiOm51bGwsImRlc2NyaXB0aW9uVGV4dEdyb3VwIjpudWxsLCJicmFuZHNCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM2hvbGlkYXlIb3VycyI6dHJ1ZSwiYXNzb2NpYXRpb25zQnVsbGV0IjoiYnVsbGV0IiwibG9jYXRpb25Hcm91cCI6bnVsbCwidG9nZ2xlSDNHb29nbGVBdHRyaWJ1dGVzIjp0cnVlLCJ0b2dnbGVIM2Rlc2NyaXB0aW9uIjpudWxsLCJob2xpZGF5SG91cnNCdWxsZXQiOiJidWxsZXRzIiwidG9nZ2xlSDNMYW5ndWFnZXMiOm51bGwsInBob25lVHlwZSI6InBob25lIiwibG9jYXRpb25OYW1lIjpmYWxzZSwidG9nZ2xlSDNQYXltZW50cyI6bnVsbCwic2VydmljZUFyZWFCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM1Byb2R1Y3RzIjpudWxsLCJncm91cEFkZHJlc3NEZXNpZ24iOm51bGwsIlBob25lIEhlYWRlciBHcm91cCI6bnVsbCwidG9nZ2xlSDNTb2NpYWwiOm51bGwsInNob3dTZXJ2aWNlQXJlYUZpcnN0IjpudWxsLCJhZGRpdGlvbmFsSG91cnNUZXh0IjpudWxsLCJoM1NwZWNpYWx0aWVzVGV4dCI6IiIsInRvZ2dsZUgzWWVhciI6bnVsbCwic3BlY2lhbHRpZXNHcm91cCI6bnVsbCwiZHJhd01hcCI6bnVsbCwiaW5zdHJ1Y3Rpb25zIjpudWxsLCJncm91cFByb2R1Y3RzRGVzaWduIjpudWxsLCJncm91cFNlcnZpY2VBcmVhRGVzaWduIjpudWxsLCJoM0FkZHJlc3NUZXh0IjoiIiwiZ3JvdXBTZXJ2aWNlc0Rlc2lnbiI6bnVsbCwidG9nZ2xlSDNQaG9uZUxpc3QiOnRydWUsImdyb3VwRmVhdHVyZWRNZXNzYWdlRGVzaWduIjpudWxsLCJoM1NlcnZpY2VzVGV4dCI6bnVsbCwiaDNQaG9uZVRleHQiOiJDT05UQUNUIFVTIiwiaDNBc3NvY2lhdGlvbnNUZXh0IjoiIiwicGF5bWVudFRleHRHcm91cCI6bnVsbCwiaDNEZXNjcmlwdGlvblRleHQiOm51bGwsInNob3dHZXREaXJlY3Rpb25zTGluayI6bnVsbCwiZ3JvdXBQYXltZW50RGVpc2duIjpudWxsLCJoM0dvb2dsZUF0dHJpYnV0ZXMiOiJCdXNpbmVzcyBBdHRyaWJ1dGVzIiwidG9nZ2xlSDNBZGRyZXNzIjpudWxsLCJzaG93RW1haWxBc0J0biI6bnVsbCwiYXNzb2NpYXRpb25zR3JvdXAiOm51bGwsImgzUHJvZHVjdHNUZXh0IjoiIiwiZm9ybWF0UGhvbmUiOnRydWUsImdyb3VwTGFuZ3VhZ2VzRGVzaWduIjpudWxsLCJ0b2dnbGVIM0tleXdvcmRzIjpudWxsLCJrZXl3b3Jkc0dyb3VwIjpudWxsLCJhbHQiOm51bGwsImhpZGVIb3Vyc0xpc3QiOmZhbHNlLCJncm91cEhvbGlkYXlIb3Vyc0Rlc2lnbiI6bnVsbCwicGhvbmVTaG93QXMiOiJsaXN0IiwiZ29vZ2xlQXR0cmlidXRlc0Zvcm1hdHRlZExpc3RCdWxsZXQiOiJidWxsZXRzIiwibWFwWm9vbSI6IjEzIiwiaG9saWRheUhvdXJzIjpudWxsLCJncm91cEhvdXJzRGVzaWduIjpudWxsLCJoM0xhbmd1YWdlc1RleHQiOm51bGwsImhvdXJzU2hvd0FzIjoibGlzdCIsImVtYWlsVGV4dEdyb3VwIjpudWxsLCJwaG9uZUxpc3RTdHlsZSI6Im5vLWxpc3QiLCJ0b2dnbGUxIjpudWxsLCJoM0JyYW5kVGV4dCI6IiIsImxpbmsiOm51bGwsImdyb3VwUGF5bWVudENhcmREZXNpZ24iOm51bGwsImdyb3VwU3BlY2lhbHRpZXNEZXNpZ24iOm51bGwsInllYXJFc3RhYmlsaXNoZWRHcm91cCI6bnVsbCwicGhvbmVUZXh0U3R5bGVzIjpudWxsLCJncm91cEFzc29jaWF0aW9uc0Rlc2lnbiI6bnVsbCwic3BlY2lhbHRpZXNCdWxsZXQiOiJidWxsZXQiLCJoM0ZlYXRNZXNzYWdlVGV4dCI6bnVsbCwidG9nZ2xlSDNCcmFuZHMiOm51bGwsImFkZHJlc3MyIjp0cnVlLCJhZGRyZXNzMSI6dHJ1ZSwiY2FyZEFsaWdubWVudCI6InBpY29ucy1jZW50ZXIiLCJncm91cExvZ29EZXNpZ24iOm51bGwsImdyb3VwT3BlbkhvdXJzRGVzaWduIjpudWxsLCJmZWF0TWVzc2FnZUdyb3VwIjpudWxsLCJrZXl3b3Jkc0J1bGxldCI6ImJ1bGxldCIsInRvZ2dsZUgzRW1haWwiOm51bGwsInNlcnZpY2VzQnVsbGV0IjpudWxsLCJncm91cEJyYW5kc0Rlc2lnbiI6bnVsbCwicHJvZHVjdHNCdWxsZXQiOiJidWxsZXQiLCJsYW5ndWFnZXNHcm91cCI6bnVsbCwiaG91cnNHcm91cCI6bnVsbH0="> <h3 class="phoneHeader">CONTACT US</h3> <ul id="phoneList" class="no-list"></ul> <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> <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> <!-- Load Yext Script into page source so schema validates with Structured Data testing tool --></div> </div> </div> </div> </div> </div> </div> <div class="dmRespRow u_1716018902 fullBleedChanged fullBleedMode" id="1716018902"> <div class="dmRespColsWrapper" id="1451048946"> <div class="u_1220525953 dmRespCol small-12 large-5 medium-5" id="1220525953"> <div class="u_1421267677 dmDividerWrapper clearfix" data-element-type="dDividerId" data-layout="divider-style-1" data-widget-version="2" id="1421267677" layout="divider-style-3"><hr class="dmDivider" style="border-width:2px; border-top-style:solid; color:grey;" id="1326837313"/></div> </div> <div class="u_1582470640 dmRespCol small-12 large-2 medium-2" id="1582470640"> <div class="u_1749283142 widget-7b6cfb dmCustomWidget" data-lazy-load="" data-title="" id="1749283142" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" icon="false" surround="false" data-widget-id="7b6cfbac88324cffbaaf57354cd7a334" data-widget-version="219" data-widget-config="eyJnZXREaXJlY3Rpb25zVGV4dCI6IkdldCBEaXJlY3Rpb25zIiwiZ3JvdXBZZWFyRXN0YWJsaXNoZWQiOm51bGwsImgzRW1haWxUZXh0IjoiIiwidG9nZ2xlSDNBc3NvY2lhdGlvbnMiOm51bGwsImdyb3VwQml6TmFtZURlc2lnbiI6bnVsbCwidG9nZ2xlSDNTZXJ2aWNlcyI6bnVsbCwidHlwZSI6InNvY2lhbCIsImJvbGRMb2NhdGlvbk5hbWUiOm51bGwsImNvbG9yUGlja2VyMSI6bnVsbCwiaDNQYXltZW50c1RleHQiOm51bGwsImdyb3VwR29vZ2xlQXR0cmlidXRlcyI6bnVsbCwicGF5bWVudEdyb3VwIjpudWxsLCJ0b2dnbGVIM1NwZWNpYWx0aWVzIjpudWxsLCJzZXJ2aWNlQXJlYUdyb3VwIjpudWxsLCJzdGF0ZSI6dHJ1ZSwiZ3JvdXBTb2NpYWxJY29ucyI6bnVsbCwidG9nZ2xlSDNTZXJ2aWNlQXJlYSI6bnVsbCwic29jaWFsR3JvdXAiOm51bGwsInppcCI6dHJ1ZSwicGhvbmVMaXN0U3R5bGVzIjpudWxsLCJjYXJkU3R5bGVEYXJrT3JMaWdodCI6InZhbHVlMyIsImgzWWVhckhlYWRUZXh0IjoiIiwicGF5bWVudE9wdGlvbnNCdWxsZXQiOiJidWxsZXQiLCIuYWRkcmVzc0hlYWRlciI6bnVsbCwidG9nZ2xlSDNmZWF0TWVzc2FnZSI6bnVsbCwiYnJhbmRzR3JvdXAiOm51bGwsInByb2R1Y3RzR3JvdXAiOm51bGwsImgzS2V5d29yZHNUZXh0IjpudWxsLCJzY3JpcHQiOiIiLCJncm91cEtleXdvcmRzRGVzaWduIjpudWxsLCJncm91cEF0dHJpYnV0ZXMiOm51bGwsInNvY2lhbEljb25zQWxpZ25tZW50IjoiY2VudGVyIiwibGFuZ3VhZ2VzQnVsbGV0IjoiYnVsbGV0IiwiZ3JvdXBFbWFpbERlc2lnbiI6bnVsbCwiaDNIb2xpZGF5SG91cnMiOiJIb2xpZGF5IEhvdXJzIiwic2hvd1BheW1lbnRzQXMiOm51bGwsInNlcnZpY2VzR3JvdXAiOm51bGwsImJvbGRTdGF0dXNUZXh0Ijp0cnVlLCJoM1NvY2lhbFRleHQiOm51bGwsImxvZ29Hcm91cCI6bnVsbCwiZ3JvdXBQaG9uZURlc2lnbiI6bnVsbCwicGhvbmVHcm91cCI6bnVsbCwiY2l0eSI6dHJ1ZSwiZ3JvdXBCaXpEZXNEZXNpZ24iOm51bGwsImgzaG91cnNUZXh0IjoiIiwiaDNTZXJ2aWNlQXJlYVRleHQiOm51bGwsImlzTGlzdCI6dHJ1ZSwiYm9sZEhvdXJzIjp0cnVlLCJ0b2dnbGVIM2hvdXJzIjpudWxsLCJncm91cEFkZGl0aW9uYWxIb3Vyc1RleHQiOm51bGwsImRlc2NyaXB0aW9uVGV4dEdyb3VwIjpudWxsLCJicmFuZHNCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM2hvbGlkYXlIb3VycyI6dHJ1ZSwiYXNzb2NpYXRpb25zQnVsbGV0IjoiYnVsbGV0IiwibG9jYXRpb25Hcm91cCI6bnVsbCwidG9nZ2xlSDNHb29nbGVBdHRyaWJ1dGVzIjp0cnVlLCJ0b2dnbGVIM2Rlc2NyaXB0aW9uIjpudWxsLCJob2xpZGF5SG91cnNCdWxsZXQiOiJidWxsZXRzIiwidG9nZ2xlSDNMYW5ndWFnZXMiOm51bGwsInBob25lVHlwZSI6InBob25lIiwibG9jYXRpb25OYW1lIjpmYWxzZSwidG9nZ2xlSDNQYXltZW50cyI6bnVsbCwic2VydmljZUFyZWFCdWxsZXQiOiJidWxsZXQiLCJ0b2dnbGVIM1Byb2R1Y3RzIjpudWxsLCJncm91cEFkZHJlc3NEZXNpZ24iOm51bGwsIlBob25lIEhlYWRlciBHcm91cCI6bnVsbCwidG9nZ2xlSDNTb2NpYWwiOm51bGwsInNob3dTZXJ2aWNlQXJlYUZpcnN0IjpudWxsLCJhZGRpdGlvbmFsSG91cnNUZXh0IjpudWxsLCJoM1NwZWNpYWx0aWVzVGV4dCI6IiIsInRvZ2dsZUgzWWVhciI6bnVsbCwic3BlY2lhbHRpZXNHcm91cCI6bnVsbCwiZHJhd01hcCI6bnVsbCwiaW5zdHJ1Y3Rpb25zIjpudWxsLCJncm91cFByb2R1Y3RzRGVzaWduIjpudWxsLCJncm91cFNlcnZpY2VBcmVhRGVzaWduIjpudWxsLCJoM0FkZHJlc3NUZXh0IjoiIiwiZ3JvdXBTZXJ2aWNlc0Rlc2lnbiI6bnVsbCwidG9nZ2xlSDNQaG9uZUxpc3QiOm51bGwsImdyb3VwRmVhdHVyZWRNZXNzYWdlRGVzaWduIjpudWxsLCJoM1NlcnZpY2VzVGV4dCI6bnVsbCwiaDNQaG9uZVRleHQiOiIiLCJoM0Fzc29jaWF0aW9uc1RleHQiOiIiLCJwYXltZW50VGV4dEdyb3VwIjpudWxsLCJoM0Rlc2NyaXB0aW9uVGV4dCI6bnVsbCwic2hvd0dldERpcmVjdGlvbnNMaW5rIjpudWxsLCJncm91cFBheW1lbnREZWlzZ24iOm51bGwsImgzR29vZ2xlQXR0cmlidXRlcyI6IkJ1c2luZXNzIEF0dHJpYnV0ZXMiLCJ0b2dnbGVIM0FkZHJlc3MiOm51bGwsInNob3dFbWFpbEFzQnRuIjpudWxsLCJhc3NvY2lhdGlvbnNHcm91cCI6bnVsbCwiaDNQcm9kdWN0c1RleHQiOiIiLCJmb3JtYXRQaG9uZSI6dHJ1ZSwiZ3JvdXBMYW5ndWFnZXNEZXNpZ24iOm51bGwsInRvZ2dsZUgzS2V5d29yZHMiOm51bGwsImtleXdvcmRzR3JvdXAiOm51bGwsImFsdCI6bnVsbCwiaGlkZUhvdXJzTGlzdCI6ZmFsc2UsImdyb3VwSG9saWRheUhvdXJzRGVzaWduIjpudWxsLCJwaG9uZVNob3dBcyI6Imxpc3QiLCJnb29nbGVBdHRyaWJ1dGVzRm9ybWF0dGVkTGlzdEJ1bGxldCI6ImJ1bGxldHMiLCJtYXBab29tIjoiMTMiLCJob2xpZGF5SG91cnMiOm51bGwsImdyb3VwSG91cnNEZXNpZ24iOm51bGwsImgzTGFuZ3VhZ2VzVGV4dCI6bnVsbCwiaG91cnNTaG93QXMiOiJsaXN0IiwiZW1haWxUZXh0R3JvdXAiOm51bGwsInBob25lTGlzdFN0eWxlIjoibm8tbGlzdCIsInRvZ2dsZTEiOm51bGwsImgzQnJhbmRUZXh0IjoiIiwibGluayI6bnVsbCwiZ3JvdXBQYXltZW50Q2FyZERlc2lnbiI6bnVsbCwiZ3JvdXBTcGVjaWFsdGllc0Rlc2lnbiI6bnVsbCwieWVhckVzdGFiaWxpc2hlZEdyb3VwIjpudWxsLCJwaG9uZVRleHRTdHlsZXMiOm51bGwsImdyb3VwQXNzb2NpYXRpb25zRGVzaWduIjpudWxsLCJzcGVjaWFsdGllc0J1bGxldCI6ImJ1bGxldCIsImgzRmVhdE1lc3NhZ2VUZXh0IjpudWxsLCJ0b2dnbGVIM0JyYW5kcyI6bnVsbCwiYWRkcmVzczIiOnRydWUsImFkZHJlc3MxIjp0cnVlLCJjYXJkQWxpZ25tZW50IjoicGljb25zLWNlbnRlciIsImdyb3VwTG9nb0Rlc2lnbiI6bnVsbCwiZ3JvdXBPcGVuSG91cnNEZXNpZ24iOm51bGwsImZlYXRNZXNzYWdlR3JvdXAiOm51bGwsImtleXdvcmRzQnVsbGV0IjoiYnVsbGV0IiwidG9nZ2xlSDNFbWFpbCI6bnVsbCwic2VydmljZXNCdWxsZXQiOm51bGwsImdyb3VwQnJhbmRzRGVzaWduIjpudWxsLCJwcm9kdWN0c0J1bGxldCI6ImJ1bGxldCIsImxhbmd1YWdlc0dyb3VwIjpudWxsLCJob3Vyc0dyb3VwIjpudWxsfQ=="> <div id="socialIcons" class="center"></div> <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> <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> <!-- Load Yext Script into page source so schema validates with Structured Data testing tool --></div> </div> <div class="u_1293328659 dmRespCol small-12 large-5 medium-5" id="1293328659"> <div class="u_1309559294 dmDividerWrapper clearfix" data-element-type="dDividerId" data-layout="divider-style-1" data-widget-version="2" id="1309559294" layout="divider-style-3"><hr class="dmDivider" style="border-width:2px; border-top-style:solid; color:grey;" id="1956721639"/></div> </div> </div> </div> <div class="dmRespRow" id="1636271599"> <div class="dmRespColsWrapper" id="1501688634"> <div class="dmRespCol large-12 medium-12 small-12" id="1271322060"> <div class="widget-4297c6 u_1945604141 dmCustomWidget" data-lazy-load="" data-title="" id="1945604141" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" icon="false" surround="false" data-widget-id="4297c64e3aa349d4ac38764dde32ebef" data-widget-version="68" data-widget-config="eyJJY29uIFNpemUiOm51bGwsIkhlbHBUZXh0IjoiSGkuIERvIHlvdSBuZWVkIGFueSBoZWxwPyIsIk1vYmlsZU9wdGlvbnMiOm51bGwsIk1vYmlsZSI6bnVsbCwiSWNvbkxpc3QiOlt7IkVtYWlsQWRkciI6bnVsbCwiQWN0aW9uIjoiQ2FsbCIsIkNhbGxOdW0iOiI3MTMtOTIxLTI2ODgiLCJFbWFpbCI6dHJ1ZSwiUXVlcnkiOiJDaGljYWdvIiwiU2hhcmVUaXRsZSI6IiIsIlR1bWJsciI6ZmFsc2UsInNob3dvbm1vYmlsZSI6dHJ1ZSwiRmJVc2VyIjpudWxsLCJMYWJlbCI6IkNhbGwgVXMiLCJUd2l0dGVyIjp0cnVlLCJzaG93b25kZXNrdG9wIjpmYWxzZSwiUmVkZGl0IjpudWxsLCJQaW50ZXJlc3QiOm51bGwsIlNtc051bSI6IjU1NS01NTUtNTU1IiwiR29vZ2xlUGx1cyI6dHJ1ZSwiRmFjZWJvb2siOnRydWUsIkFuaW1hdGUiOm51bGwsIkN1c3RvbUljb24iOm51bGwsIkxpbmtlZEluIjp0cnVlLCJkZWZFbWFpbEJvZHkiOm51bGwsImVtYWlsRGVmU3ViamVjdCI6IlF1ZXN0aW9ucyBBYm91dCBZb3VyIEJ1c2luZXNzIiwiSWNvbiI6IjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzg0IDUxMlwiIGRhdGEtZGVmYXVsdD1cInRydWVcIj48cGF0aCBkPVwiTTE3Mi4yNjggNTAxLjY3QzI2Ljk3IDI5MS4wMzEgMCAyNjkuNDEzIDAgMTkyIDAgODUuOTYxIDg1Ljk2MSAwIDE5MiAwczE5MiA4NS45NjEgMTkyIDE5MmMwIDc3LjQxMy0yNi45NyA5OS4wMzEtMTcyLjI2OCAzMDkuNjctOS41MzUgMTMuNzc0LTI5LjkzIDEzLjc3My0zOS40NjQgMHpNMTkyIDI3MmM0NC4xODMgMCA4MC0zNS44MTcgODAtODBzLTM1LjgxNy04MC04MC04MC04MCAzNS44MTctODAgODAgMzUuODE3IDgwIDgwIDgwelwiLz48L3N2Zz4iLCJTaGFyZUxpbmsiOm51bGwsIkxpbmsiOm51bGx9LHsiRW1haWxBZGRyIjpudWxsLCJBY3Rpb24iOiJMaW5rIiwiQ2FsbE51bSI6IjU1NS01NTUtNTU1NSIsIkVtYWlsIjp0cnVlLCJRdWVyeSI6IkNoaWNhZ28iLCJTaGFyZVRpdGxlIjoiIiwiVHVtYmxyIjpmYWxzZSwic2hvd29ubW9iaWxlIjp0cnVlLCJGYlVzZXIiOm51bGwsIkxhYmVsIjoiUmVxdWVzdCBhIFF1b3RlIiwiVHdpdHRlciI6dHJ1ZSwic2hvd29uZGVza3RvcCI6dHJ1ZSwiUmVkZGl0IjpudWxsLCJQaW50ZXJlc3QiOm51bGwsIlNtc051bSI6IjU1NS01NTUtNTU1IiwiR29vZ2xlUGx1cyI6dHJ1ZSwiRmFjZWJvb2siOnRydWUsIkFuaW1hdGUiOnRydWUsIkN1c3RvbUljb24iOnRydWUsIkxpbmtlZEluIjp0cnVlLCJkZWZFbWFpbEJvZHkiOm51bGwsImVtYWlsRGVmU3ViamVjdCI6IlF1ZXN0aW9ucyBBYm91dCBZb3VyIEJ1c2luZXNzIiwiSWNvbiI6IjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTc5MiAxNzkyXCI+PHBhdGggZmlsbD1cImluaGVyaXRcIiBkPVwiTTM4NCAxNTM2cTAtNTMtMzcuNS05MC41dC05MC41LTM3LjUtOTAuNSAzNy41LTM3LjUgOTAuNSAzNy41IDkwLjUgOTAuNSAzNy41IDkwLjUtMzcuNSAzNy41LTkwLjV6TTc2OCAxNTM2cTAtNTMtMzcuNS05MC41dC05MC41LTM3LjUtOTAuNSAzNy41LTM3LjUgOTAuNSAzNy41IDkwLjUgOTAuNSAzNy41IDkwLjUtMzcuNSAzNy41LTkwLjV6TTM4NCAxMTUycTAtNTMtMzcuNS05MC41dC05MC41LTM3LjUtOTAuNSAzNy41LTM3LjUgOTAuNSAzNy41IDkwLjUgOTAuNSAzNy41IDkwLjUtMzcuNSAzNy41LTkwLjV6TTExNTIgMTUzNnEwLTUzLTM3LjUtOTAuNXQtOTAuNS0zNy41LTkwLjUgMzcuNS0zNy41IDkwLjUgMzcuNSA5MC41IDkwLjUgMzcuNSA5MC41LTM3LjUgMzcuNS05MC41ek03NjggMTE1MnEwLTUzLTM3LjUtOTAuNXQtOTAuNS0zNy41LTkwLjUgMzcuNS0zNy41IDkwLjUgMzcuNSA5MC41IDkwLjUgMzcuNSA5MC41LTM3LjUgMzcuNS05MC41ek0zODQgNzY4cTAtNTMtMzcuNS05MC41dC05MC41LTM3LjUtOTAuNSAzNy41LTM3LjUgOTAuNSAzNy41IDkwLjUgOTAuNSAzNy41IDkwLjUtMzcuNSAzNy41LTkwLjV6TTExNTIgMTE1MnEwLTUzLTM3LjUtOTAuNXQtOTAuNS0zNy41LTkwLjUgMzcuNS0zNy41IDkwLjUgMzcuNSA5MC41IDkwLjUgMzcuNSA5MC41LTM3LjUgMzcuNS05MC41ek03NjggNzY4cTAtNTMtMzcuNS05MC41dC05MC41LTM3LjUtOTAuNSAzNy41LTM3LjUgOTAuNSAzNy41IDkwLjUgOTAuNSAzNy41IDkwLjUtMzcuNSAzNy41LTkwLjV6TTE1MzYgMTUzNnYtMzg0cTAtNTItMzgtOTB0LTkwLTM4LTkwIDM4LTM4IDkwdjM4NHEwIDUyIDM4IDkwdDkwIDM4IDkwLTM4IDM4LTkwek0xMTUyIDc2OHEwLTUzLTM3LjUtOTAuNXQtOTAuNS0zNy41LTkwLjUgMzcuNS0zNy41IDkwLjUgMzcuNSA5MC41IDkwLjUgMzcuNSA5MC41LTM3LjUgMzcuNS05MC41ek0xNTM2IDQ0OHYtMjU2cTAtMjYtMTktNDV0LTQ1LTE5aC0xMjgwcS0yNiAwLTQ1IDE5dC0xOSA0NXYyNTZxMCAyNiAxOSA0NXQ0NSAxOWgxMjgwcTI2IDAgNDUtMTl0MTktNDV6TTE1MzYgNzY4cTAtNTMtMzcuNS05MC41dC05MC41LTM3LjUtOTAuNSAzNy41LTM3LjUgOTAuNSAzNy41IDkwLjUgOTAuNSAzNy41IDkwLjUtMzcuNSAzNy41LTkwLjV6TTE2NjQgMTI4djE1MzZxMCA1Mi0zOCA5MHQtOTAgMzhoLTE0MDhxLTUyIDAtOTAtMzh0LTM4LTkwdi0xNTM2cTAtNTIgMzgtOTB0OTAtMzhoMTQwOHE1MiAwIDkwIDM4dDM4IDkwelwiLz5cbjwvc3ZnPiIsIlNoYXJlTGluayI6bnVsbCwiTGluayI6eyJ2YWx1ZSI6InJlcXVlc3QtYS1xdW90ZSIsImxhYmVsIjoiIiwidHlwZSI6InBhZ2UiLCJocmVmIjoiL3JlcXVlc3QtYS1xdW90ZSIsInJhd191cmwiOiIvc2l0ZS8zMDAwODc0MGE3YjE0N2I1OGYyOWE1NDc3NTc5ZjRlMy9yZXF1ZXN0LWEtcXVvdGU/bmVlPXRydWUmZWQ9dHJ1ZSZzaG93T3JpZ2luYWw9dHJ1ZSZwcmV2aWV3PXRydWUmZG1fdHJ5X21vZGU9dHJ1ZSZkbV9jaGVja1N5bmM9MSJ9fSx7IkVtYWlsQWRkciI6bnVsbCwiQWN0aW9uIjoiTWFwIiwiQ2FsbE51bSI6IjU1NS01NTUtNTU1NSIsIkVtYWlsIjp0cnVlLCJRdWVyeSI6Ijc3NDggQXZlbnVlIEsgSG91c3RvbiAsIFRYIDc3MDEyIiwiU2hhcmVUaXRsZSI6IiIsIlR1bWJsciI6ZmFsc2UsInNob3dvbm1vYmlsZSI6dHJ1ZSwiRmJVc2VyIjpudWxsLCJMYWJlbCI6IkdldCBEaXJlY3Rpb25zIiwiVHdpdHRlciI6dHJ1ZSwic2hvd29uZGVza3RvcCI6dHJ1ZSwiUmVkZGl0IjpudWxsLCJQaW50ZXJlc3QiOm51bGwsIlNtc051bSI6IjU1NS01NTUtNTU1IiwiR29vZ2xlUGx1cyI6dHJ1ZSwiRmFjZWJvb2siOnRydWUsIkFuaW1hdGUiOnRydWUsIkN1c3RvbUljb24iOm51bGwsIkxpbmtlZEluIjp0cnVlLCJkZWZFbWFpbEJvZHkiOm51bGwsImVtYWlsRGVmU3ViamVjdCI6IlF1ZXN0aW9ucyBBYm91dCBZb3VyIEJ1c2luZXNzIiwiSWNvbiI6IjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzg0IDUxMlwiIGRhdGEtZGVmYXVsdD1cInRydWVcIj48cGF0aCBkPVwiTTE3Mi4yNjggNTAxLjY3QzI2Ljk3IDI5MS4wMzEgMCAyNjkuNDEzIDAgMTkyIDAgODUuOTYxIDg1Ljk2MSAwIDE5MiAwczE5MiA4NS45NjEgMTkyIDE5MmMwIDc3LjQxMy0yNi45NyA5OS4wMzEtMTcyLjI2OCAzMDkuNjctOS41MzUgMTMuNzc0LTI5LjkzIDEzLjc3My0zOS40NjQgMHpNMTkyIDI3MmM0NC4xODMgMCA4MC0zNS44MTcgODAtODBzLTM1LjgxNy04MC04MC04MC04MCAzNS44MTctODAgODAgMzUuODE3IDgwIDgwIDgwelwiLz48L3N2Zz4iLCJTaGFyZUxpbmsiOm51bGwsIkxpbmsiOm51bGx9LHsiRW1haWxBZGRyIjpudWxsLCJBY3Rpb24iOiJTaGFyZSIsIkNhbGxOdW0iOiI1NTUtNTU1LTU1NTUiLCJFbWFpbCI6dHJ1ZSwiUXVlcnkiOiJDaGljYWdvIiwiU2hhcmVUaXRsZSI6IlNoYXJlIFVzIiwiVHVtYmxyIjp0cnVlLCJzaG93b25tb2JpbGUiOnRydWUsIkZiVXNlciI6bnVsbCwiTGFiZWwiOiJTaGFyZSBVcyIsIlR3aXR0ZXIiOnRydWUsInNob3dvbmRlc2t0b3AiOnRydWUsIlJlZGRpdCI6dHJ1ZSwiUGludGVyZXN0Ijp0cnVlLCJTbXNOdW0iOiI1NTUtNTU1LTU1NSIsIkdvb2dsZVBsdXMiOmZhbHNlLCJGYWNlYm9vayI6dHJ1ZSwiQW5pbWF0ZSI6dHJ1ZSwiQ3VzdG9tSWNvbiI6ZmFsc2UsIkxpbmtlZEluIjp0cnVlLCJkZWZFbWFpbEJvZHkiOm51bGwsImVtYWlsRGVmU3ViamVjdCI6IlF1ZXN0aW9ucyBBYm91dCBZb3VyIEJ1c2luZXNzIiwiSWNvbiI6IjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTUzNiAxNzkyXCI+PHBhdGggZmlsbD1cImluaGVyaXRcIiBkPVwiTTEyMTYgMTAyNHExMzMgMCAyMjYuNSA5My41dDkzLjUgMjI2LjUtOTMuNSAyMjYuNS0yMjYuNSA5My41LTIyNi41LTkzLjUtOTMuNS0yMjYuNXEwLTEyIDItMzRsLTM2MC0xODBxLTkyIDg2LTIxOCA4Ni0xMzMgMC0yMjYuNS05My41dC05My41LTIyNi41IDkzLjUtMjI2LjUgMjI2LjUtOTMuNXExMjYgMCAyMTggODZsMzYwLTE4MHEtMi0yMi0yLTM0IDAtMTMzIDkzLjUtMjI2LjV0MjI2LjUtOTMuNSAyMjYuNSA5My41IDkzLjUgMjI2LjUtOTMuNSAyMjYuNS0yMjYuNSA5My41cS0xMjYgMC0yMTgtODZsLTM2MCAxODBxMiAyMiAyIDM0dC0yIDM0bDM2MCAxODBxOTItODYgMjE4LTg2elwiLz5cbjwvc3ZnPiIsIlNoYXJlTGluayI6bnVsbCwiTGluayI6bnVsbH1dLCJHbG9iYWwiOm51bGwsIkZvY3VzSXRlciI6IjEiLCJGb2N1c0RlbGF5IjoiNTAwMCIsIkRlc2t0b3AiOm51bGwsIkFuaW1hdGlvbk9wdGlvbnMiOm51bGwsIk1vYmlsZUxheW91dCI6IkZ1bGwiLCJEZXNrdG9wTGF5b3V0IjoiRmxvYXQiLCJEZXNrdG9wT3B0aW9ucyI6bnVsbCwiTW9iaWxlTWFpbiI6InBsdXMiLCJEZXNrTWFpbiI6ImVudmVsb3BlIiwiTW9kYWxUaXRsZSI6IlNoYXJlIE9uOiIsIk1haW5MYWJlbCI6IkNvbnRhY3QgVXMiLCJNb2JpbGVUaGVtZSI6IkxpZ2h0IiwiRm9jdXNBbmkiOnRydWV9"> <style>/* Pulse animation */ .pulse, .pulse2, .slide-pulse { -webkit-animation-iteration-count: 1; -moz-animation-iteration-count: 1; -o-animation-iteration-count: 1; animation-iteration-count: 1; }</style> <div id="conversion-menu-container"> <div class="overlay"></div> <div class="mobile-bg"></div> <div class="social-bg"></div> <div class="fab" id="masterfab"> <div class="desktop-bg"> <div id="help-text">Hi. Do you need any help?</div> <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> <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> </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> </div> </div> <span id="main-container"></span> </div> <div id="float-container"></div> </div> <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> <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> <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> </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> </button> </header> <main class="modal__content" id="modal-1-content"> <div class="share-container"></div> </main> </div> </div> </div> </div> </div> </div> </div> </div> <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> </div> <div class="poweredLine2">© <span id="hibuYear">2024</span> The content on this website is owned by us and our licensors. Do not copy any content (including images) without our consent.</div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <!-- Add full CSS and Javascript before the close tag of the body if needed --> <!-- ========= JS Section ========= --> <script> var isWLR = true; window.customWidgetsFunctions = {}; window.customWidgetsStrings = {}; window.collections = {}; window.currentLanguage = "ENGLISH" window.isSitePreview = false; </script> <script> window.customWidgetsFunctions["7b6cfbac88324cffbaaf57354cd7a334~219"] = function (element, data, api) { 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>" /* find yext src */ var findYextSrc = function(){ var keyExp = new RegExp(/src="(.*?)"/); if (data.config.script.includes('location_id')) { data.config.script = data.config.script.replace('location_id', 'entity_id'); } var result = keyExp.exec(data.config.script); if(result && result.length == 2){ window.yextScriptSrc=result[1]; return result[1]; }else{ return window.yextScriptSrc; } } window.yextLoadedCallback = function(yextData) { $('.wrongScriptError').removeClass('hasError'); window.yextInitialized = true; if(yextData) { window._yextData = yextData; } else { throw "Yext loaded but no data was passed"; } } function loadYextScript(src){ $(element).find('.wrongScriptError').removeClass('hasError'); var yextScript = document.getElementById('d-yext-script'); if (yextScript) { yextScript.parentNode.removeChild(yextScript); } yextScript = document.createElement('script'); yextScript.charset = 'utf-8'; yextScript.type = 'text/javascript'; src += "&callback=yextLoadedCallback" yextScript.src = src; yextScript.id = 'd-yext-script'; document.body.appendChild(yextScript); } /* load yext script */ var loadYext = function(forceRefresh) { // Make sure we call Yext only once if(window.yextInitialized && !forceRefresh){ return; } startIntervalToWaitAndLoadWidgets(data.config.type); // We extract the "src" attribute from the string provided ina safe way // The format we expect is the following: try{ var src = findYextSrc(); if(src){ loadYextScript(src); } else if(data.inEditor) { // $(document).load(function(){ // if(!window._yextData) { // $(element).find('.wrongScriptError').addClass('hasError'); // } // }) // $(element).find('.wrongScriptError').addClass('hasError'); return; } } catch(exp) { // $(element).find('.wrongScript').addClass('hasError'); console.log(exp) return; } if (data.inEditor) { if($('.multipleYextError').length > 1){ $(element).find('.multipleYextError').addClass('hasError'); return; }else if(data.config.type === 'none'){ $(element).find('.editorOnlyInfo').addClass('inEditor'); } } } /* refresh yext script */ window.refreshYext = function(){ loadYext(true); } //function for Omniture tracking window._trackConvWidgetClickEvent = function(eventName) { if(typeof(HAF)==="object"){ HAF.OmTracking.onCMClick(eventName) } return; } /* draw yext map */ var drawMap = function(yextData){ var zoom = data.config.mapZoom; var yData = yextData.entities[0].attributes; var addressQuery = yData['address1'] + " " + yData['address2'] + " " + yData['city'] + " " + yData['state'] + " " + yData['zip']; dmAPI.drawMap({addressQuery: addressQuery, zoom: zoom, container: $(element).find('.yextMap')}); } var formatPhoneBeforeRender = function(num,cb) { if (!cb) cb = function(){return} if(data.config.formatPhone){ var s2 = (""+num).replace(/\D/g, ''); var m = s2.match(/^(\d{3})(\d{3})(\d{4})$/); var formatted = (!m) ? null : "(" + m[1] + ") " + m[2] + "-" + m[3]; cb(formatted); return formatted; } else { cb(num); return num; } } var displayTextdList = function(type,yextData,firstOnly) { var list = ""; if(yextData.entities[0].attributes[type]) { var yextAtt = yextData.entities[0].attributes[type] } else { var yextAtt = false } if(yextAtt && Array.isArray(yextAtt)) { for (var i=0; i< yextAtt.length; i++) { if (yextAtt[i] === 'Android Pay') { list += '<li>Google Pay</li>'; } else { list += '<li>' + yextAtt[i] + '</li>'; } } $(element).find('#' + type + 'List').html(list); } else if (yextAtt) { var yextAtt = yextAtt.split(", "); for (var i=0; i< yextAtt.length; i++) { list += '<li>' + yextAtt[i] + '</li>'; } $(element).find('#' + type + 'List').html(list); } else if (data.inEditor) { $(element).html(emptyListPlaceHolder); } else { $(element).css('display','none'); } } var displaySpecialties = function(yextData){ var list = ""; if(yextData.entities[0].attributes["specialties"]) { var yextAtt = yextData.entities[0].attributes["specialties"] } else if (yextData.entities[0].attributes["specialities"]) { var yextAtt = yextData.entities[0].attributes["specialities"] } else { var yextAtt = false } if(yextAtt && Array.isArray(yextAtt)) { for (var i=0; i< yextAtt.length; i++) { list += '<li>' + yextAtt[i] + '</li>'; } $(element).find('#specialtiesList').html(list); } else if (yextAtt) { var yextAtt = yextAtt.split(", "); for (var i=0; i< yextAtt.length; i++) { list += '<li>' + yextAtt[i] + '</li>'; } $(element).find('#specialtiesList').html(list); } else if (data.inEditor) { $(element).html(emptyListPlaceHolder); } else { $(element).css('display','none'); } } var displayHours = function(type,yextData) { var list = ""; if(yextData.entities[0].attributes[type]) { var yextAtt = yextData.entities[0].attributes[type] } else { var yextAtt = false } if(yextAtt && Array.isArray(yextAtt)) { for(var i=0;i < yextAtt.length;i++) { var indexEndDay = yextAtt[i].lastIndexOf('day ') + 3; 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"); var rightSide = yextAtt[i].substr(indexEndDay + 1) list += '<div class="row"><div class="left">' + leftSide + '</div><div class="right">' + rightSide + '</div></div>'; } $(element).find('#hoursSmall').html(list); } else if(yextAtt) { var yextAtt = yextAtt.split(", "); for(var i=0;i < yextAtt.length;i++) { if((/\s/.test(yextAtt[i])) === false){ yextAtt[i] = yextAtt[i] + ' - ' + yextAtt[i+1] yextAtt.splice(i+1, 1) } if (yextAtt[i].includes('day') === false ){ var leftSide = ' '; var rightSide = yextAtt[i] }else { var indexEndDay = yextAtt[i].lastIndexOf('day ') + 3; 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"); var rightSide = yextAtt[i].substr(indexEndDay + 1) } list += '<div class="row"><div class="left">' + leftSide + '</div><div class="right">' + rightSide + '</div></div>'; } $(element).find('#hoursSmall').html(list); } else if (data.inEditor) { $(element).html(emptyListPlaceHolder); } else { $(element).css('display','none'); } } var displayOpenHours = function(type, yextData){ if(yextData.entities[0].attributes['timezone']){ var zone = yextData.entities[0].attributes['timezone'] } else { var zone = false } if(zone){ var time = new Date().toLocaleString("en-US", {timeZone: zone}); var today = new Date(time ); var thirtyMins = 30 * 60 * 1000 var days = ['sunday','monday','tuesday','wednesday','thursday','friday','saturday']; var daysShort = ['Sun','Mon','Tues','Wed','Thurs','Fri','Sat']; var day = days[today.getDay()]; var hour = today.getHours(); var min = today.getMinutes(); var dd = ("0" + today.getDate()).slice(-2); var mm = ("0" + (today.getMonth() + 1)).slice(-2) var yyyy = today.getFullYear(); var todayDate = yyyy + '-' + mm + '-' + dd var mm = mm - 1 const tomorrow = new Date(today) tomorrow.setDate(tomorrow.getDate() + 1) var mmTmw = ("0" + (tomorrow.getMonth() + 1)).slice(-2) var ddTmw = ("0" + tomorrow.getDate()).slice(-2) var yyyyTmw = tomorrow.getFullYear(); var nextDay = days[tomorrow.getDay()] var tommorrow = yyyyTmw + '-' + mmTmw + '-' + ddTmw var mmTmw = mmTmw - 1 } if(yextData.entities[0].attributes[type + '-' + day]) { var yextAtt = yextData.entities[0].attributes[type + '-' + day] if (yextAtt === "Closed"){ yextAtt = false } } else { var yextAtt = false } //check if day is closed if(yextData.entities[0].attributes[type + '.' + day + '.isClosed'] === true) { var closed = true } //collects business holiday hours if(yextData.entities[0].attributes[type + '.holidayHours']){ var holidayHours = yextData.entities[0].attributes[type + '.holidayHours'] } else{ var holidayHours = false } //gets next days start time if(yextData.entities[0].attributes[type + '.' + nextDay + '.isClosed'] === true){ var tomorrowOpen = false } else { var tomorrowOpen = true var tmrwStart = yextData.entities[0].attributes[type + '-' + nextDay].split(" - ")[0] } //checks if holiday hours change if(holidayHours) { for(var i=0;i < holidayHours.length;i++){ if(holidayHours[i].date === todayDate && holidayHours[i].openIntervals){ yextAtt = holidayHours[i].hoursFormatted } } } //split hours if(yextAtt && yextAtt.includes(",")){ yextAtt = yextAtt.split(", ") for(var i=0;i < yextAtt.length;i++){ var end = yextAtt[i].split(' - ')[1] var start = yextAtt[i].split(' - ')[0] if (i+1 != yextAtt.length){ var nextStart = yextAtt[i + 1].split(' - ')[0] } if(start.includes("pm") && start.split(/\s+|:/)[0] != "12"){ var startDate = new Date(yyyy, mm, dd, parseInt(start.split(/\s+|:/)[0]) + 12, parseInt(start.split(/\s+|:/)[1])) } else { var startDate = new Date(yyyy, mm, dd, parseInt(start.split(/\s+|:/)[0]), parseInt(start.split(/\s+|:/)[1])) } if(nextStart.includes("pm") && nextStart.split(/\s+|:/)[0] != "12"){ var nextStartDate = new Date(yyyy, mm, dd, parseInt(nextStart.split(/\s+|:/)[0]) + 12, parseInt(nextStart.split(/\s+|:/)[1])) } else { var nextStartDate = new Date(yyyy, mm, dd, parseInt(nextStart), parseInt(nextStart.split(/\s+|:/)[1])) } if(end.includes("pm") && end.split(/\s+|:/)[0] != "12"){ var endDate = new Date(yyyy, mm, dd, parseInt(end.split(/\s+|:/)[0]) + 12, parseInt(end.split(/\s+|:/)[1])) } else { var endDate = new Date(yyyy, mm, dd, parseInt(end.split(/\s+|:/)[0]), parseInt(end.split(/\s+|:/)[1])) } if (end.includes("am") && (endDate < startDate)){ endDate = new Date(yyyyTmw, mmTmw, ddTmw, parseInt(end.split(/\s+|:/)[0]), parseInt(end.split(/\s+|:/)[1])) } if(today < startDate){ var closed = true tmrwStart = start break }else if(today > startDate && today < endDate){ yextAtt = start + ' - ' + end break }else if(today > endDate && (i+1 != yextAtt.length) && today < nextStartDate){ var closed = true tmrwStart = nextStart tomorrowOpen = true }else if(today > endDate && i+1 === yextAtt.length){ var closed = true } } } if(yextAtt || closed) { if(typeof yextAtt === "string"){ var start = yextAtt.split(" - ")[0] var end = yextAtt.split(" - ")[1] if(start.includes("pm") && start.split(/\s+|:/)[0] != "12"){ var startDate = new Date(yyyy, mm, dd, parseInt(start.split(/\s+|:/)[0]) + 12, parseInt(start.split(/\s+|:/)[1])) } else { var startDate = new Date(yyyy, mm, dd, parseInt(start.split(/\s+|:/)[0]), parseInt(start.split(/\s+|:/)[1])) } if(end.includes("pm") && end.split(/\s+|:/)[0] != "12"){ var endDate = new Date(yyyy, mm, dd, parseInt(end.split(/\s+|:/)[0]) + 12, parseInt(end.split(/\s+|:/)[1])) } else if (end.includes("am") && end.split(/\s+|:/)[0] === "12") { var endDate = new Date(yyyy, mm, dd, parseInt(end.split(/\s+|:/)[0]) - 12, parseInt(end.split(/\s+|:/)[1])) } else { var endDate = new Date(yyyy, mm, dd, parseInt(end.split(/\s+|:/)[0]), parseInt(end.split(/\s+|:/)[1])) } if (end.includes("am") && (endDate < startDate)){ endDate = new Date(yyyyTmw, mmTmw, ddTmw, parseInt(end.split(/\s+|:/)[0]), parseInt(end.split(/\s+|:/)[1])) } //check if closed if(today > endDate){ var closed = true //opened 24 hours } else if(start === '12:00 am' && end === '11:59 pm'){ var status = "Open " var cssClass = "allDayStatus" var busHours = ' 24 hours ' //opened } else if(today < startDate){ var closed = true //check if closing soon } else if (endDate - today < thirtyMins && endDate - today < 0 === false ){ var status = "Closing Soon " var cssClass = "soonStatus" var busHours = ' • ' + end } else { var status = "Open " var cssClass = "openedStatus" var busHours = '• Closes ' + end } } if(closed){ // closed & opening today if((today < startDate)){ var status = "Closed " var cssClass = "closedStatus" var busHours = ' Opens ' + start //closed & open tomorrow } else if(closed && tomorrowOpen === true){ var status = "Closed " var cssClass = "closedStatus" var busHours = ' • Opens ' + tmrwStart //closed and not open tomorrow } else if(closed && tomorrowOpen != true){ var offset = days.indexOf(day) + 1 for( var i=0; i < days.length; i++) { var dayIndex = (i + offset) % days.length; if(yextData.entities[0].attributes[type + '.' + days[dayIndex] + '.openIntervals']){ tmrwStart = daysShort[dayIndex] + " " + yextData.entities[0].attributes[type + '-' + days[dayIndex]].split(" - ")[0] break } } var status = "Closed " var cssClass = "closedStatus" var busHours = ' • Opens ' + tmrwStart } } } // checks if holiday if(holidayHours) { for(var i=0;i < holidayHours.length;i++){ if(holidayHours[i].date === todayDate && holidayHours[i].isClosed === true && tomorrowOpen === false){ var offset = days.indexOf(day) + 1 for( var i=0; i < days.length; i++) { var dayIndex = (i + offset) % days.length; if(yextData.entities[0].attributes[type + '.' + days[dayIndex] + '.openIntervals']){ tmrwStart = daysShort[dayIndex] + " " + yextData.entities[0].attributes[type + '-' + days[dayIndex]].split(" - ")[0] break } } var status = "Closed " var cssClass = "closedStatus" var busHours = ' • Opens ' + tmrwStart } else if(holidayHours[i].date === todayDate && holidayHours[i].isClosed === true && tomorrowOpen === true){ var status = "Closed " var cssClass = "closedStatus" var busHours = ' • Opens ' + tmrwStart } } } if(cssClass){ var hoursWidgets = document.getElementsByClassName('status') for( var i=0; i < hoursWidgets.length; i++) { hoursWidgets[i].classList.add(cssClass); } } if(status){ var hoursWidgets = document.getElementsByClassName('status') for( var i=0; i < hoursWidgets.length; i++) { hoursWidgets[i].innerText = status; } } if(cssClass === 'allDayStatus'){ var hoursWidgets = $(element).find('.openHours') for( var i=0; i < hoursWidgets.length; i++) { hoursWidgets[i].children[0].textContent = "" } } if(document.getElementsByClassName('openHours')[0].childElementCount > 1){ var hoursWidgets = document.getElementsByClassName('openHours') for( var i=0; i < hoursWidgets.length; i++) { var openHoursLength = hoursWidgets[i].childNodes.length var oldHours = hoursWidgets[i] oldHours.removeChild(oldHours.childNodes[openHoursLength - 1]) } } var hoursWidgets = document.getElementsByClassName('openHours') for( var i=0; i < hoursWidgets.length; i++) { hoursWidgets[i].append(busHours) } } var displayHolidayHoursList = function(type,yextData) { var list = ""; if(yextData.entities[0].attributes["hours.holidayHours"]) { var yextAtt = yextData.entities[0].attributes["hours.holidayHours"] } else if(yextData.entities[0].attributes["holidayHours"]) { var yextAtt = yextData.entities[0].attributes["holidayHours"] } else { var yextAtt = false } if(yextAtt) { for (var i=0; i< yextAtt.length; i++) { var dateHol = new Date(Date.parse(yextAtt[i].date)); var dateNow = new Date(); var numDaysBetween = getNumDaysBetween(dateHol,dateNow); if (numDaysBetween > -1) { // write to dom list += '<li>' + yextAtt[i].dateFormatted + ' - <span class="holidayHoursStatus">' + yextAtt[i].hoursFormatted + '</span></li>'; } } $(element).find('#' + type + 'List').html(list); } else if (data.inEditor) { // if in editor display place holder $(element).html(emptyListPlaceHolder); } else { // if empty, hide element on runtime $(element).css('display','none'); } } var displayServiceArea = function(type,yextData,firstOnly) { var list = ""; if(yextData.entities[0].attributes[type]) { var yextAtt = yextData.entities[0].attributes[type] } else { var yextAtt = false } if (firstOnly) { list = '<li>' + yextAtt[0] + '</li>'; $(element).find('#' + type + 'List').html(list); } else if (yextAtt && Array.isArray(yextAtt)) { for (var i=0; i< yextAtt.length; i++) { list += '<li>' + yextAtt[i] + '</li>'; } $(element).find('#' + type + 'List').html(list); } else if (yextAtt) { var yextAtt = yextData.entities[0].attributes[type + ".places"] for (var i=0; i< yextAtt.length; i++) { list += '<li>' + yextAtt[i] + '</li>'; } $(element).find('#' + type + 'List').html(list); } else if (data.inEditor) { $(element).html(emptyListPlaceHolder); } else { $(element).css('display','none'); } } var displayPhoneList = function(type,yextData) { var list = ""; var locData = yextData.entities[0].attributes; if(locData.phone) { list += '<li><span class="phoneLabel">Main:</span><span class="phoneNum"> ' + formatPhoneBeforeRender(locData.phone) + '</span></li>'; } if(locData.localPhone) { list += '<li><span class="phoneLabel">Local:</span><span class="phoneNum"> ' + formatPhoneBeforeRender(locData.localPhone) + '</span></li>'; } if(locData.alternatePhone) { list += '<li><span class="phoneLabel">Alternate:</span><span class="phoneNum"> ' + formatPhoneBeforeRender(locData.alternatePhone) + '</span></li>'; } if(locData.tollFreePhone) { list += '<li><span class="phoneLabel">Toll Free:</span><span class="phoneNum"> ' + formatPhoneBeforeRender(locData.tollFreePhone) + '</span></li>'; } if(locData.mobilePhone) { list += '<li><span class="phoneLabel">Mobile:</span><span class="phoneNum"> ' + formatPhoneBeforeRender(locData.mobilePhone) + '</span></li>'; } if(locData.faxPhone) { list += '<li><span class="phoneLabel">Fax:</span><span class="phoneNum"> ' + formatPhoneBeforeRender(locData.faxPhone) + '</span></li>'; } if(locData.ttyPhone) { list += '<li><span class="phoneLabel">TTY:</span><span class="phoneNum"> ' + formatPhoneBeforeRender(locData.ttyPhone) + '</span></li>'; } if(list.length > 0) { $(element).find('#' + type + 'List').html(list); } else if (data.inEditor) { $(element).html(emptyListPlaceHolder); } else { $(element).css('display','none'); } emitYextPhoneRenderEvent(formatPhoneBeforeRender(locData.phone)); } var getNumDaysBetween = function(d1, d2) { var diff = d1.getTime() - d2.getTime(); return diff / (1000 * 60 * 60 * 24); }; var orderPaymentsList = function(listData) { if(listData.indexOf('Discover') >= 0) { listData.splice(listData.indexOf("Discover"), 1); listData.unshift('Discover'); } if(listData.indexOf('American Express') >= 0) { listData.splice(listData.indexOf("American Express"), 1); listData.unshift('American Express'); } if(listData.indexOf('MasterCard') >= 0) { listData.splice(listData.indexOf("MasterCard"), 1); listData.unshift('MasterCard'); } if(listData.indexOf('Visa') >= 0) { listData.splice(listData.indexOf("Visa"), 1); listData.unshift('Visa'); } return listData } var displayImageList = function(type,yextData) { var list = ""; var listData = orderPaymentsList(_yextData.entities[0].attributes[type]); for (var i=0; i< listData.length; i++) { list += '<img src="' + getImageUrl(listData[i],data.config.cardStyleDarkOrLight) + '" alt="' + listData[i] + '"/>' } if(list.length > 0) { $(element).find('#paymentOptionsImages').html(list) } else if (data.inEditor) { $(element).html(emptyListPlaceHolder); } else { $(element).css('display','none'); } } var displaySocialIcons = function(type,yextData) { var list = ""; if(yextData.entities[0].attributes.facebookPageUrl) { 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>' } if(yextData.entities[0].attributes.twitterHandle) { 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>' } if(yextData.entities[0].attributes.instagramHandle) { 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>' } if(list.length > 0) { $(element).find('#socialIcons').html(list); } else if (data.inEditor) { $(element).html(emptyListPlaceHolder); } else { $(element).css('display','none'); } } var getImageUrl = function(name,style) { var cdnPath = 'https://cdn.websites.hibu.com/-resellers-preview/_cc_icons/'; if(!style) { style = '_d.svg' } if (name === "ZELLE"){ name = "Zelle" } var imageUrl=''; switch (name) { case 'Visa': imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; break; case 'MasterCard': imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; break; case 'Discover': imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; break; case 'American Express': imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; break; case 'Android Pay': imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; break; case 'Apple Pay': imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; break; case 'Bitcoin': imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; break; case 'Cash': imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; break; case 'Check': imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; break; case 'Diners Club': imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; break; case 'Discover': imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; break; case 'Financing': imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; break; case 'Invoice': imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; break; case 'PayPal': imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; break; case 'Samsung Pay': imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; break; case "Traveler's Check": imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; break; case "Zelle": imageUrl = cdnPath + name.replace(/[\W_]+/g,'').toLowerCase() + style; break } return imageUrl } function emitYextPhoneRenderEvent(phone) { var yextPhoneRenderEvent = new CustomEvent('YextPhoneChangeEvent', { detail: phone, bubbles: true, cancelable: true }); document.dispatchEvent(yextPhoneRenderEvent); } var initYextElements = function(yextData,widgetType){ if (widgetType === 'address' && data.config.drawMap) { drawMap(yextData); } else if (widgetType === 'paymentOptions' && data.config.showPaymentsAs === 'paymentIcons') { displayImageList(widgetType,yextData); } else if (widgetType === 'phone' && data.config.phoneShowAs === 'list') { displayPhoneList(widgetType,yextData); // check for any list type } else if(widgetType === 'phone' && data.config.phoneShowAs === 'button') { var phFormatted = formatPhoneBeforeRender(yextData.entities[0].attributes[data.config.phoneType],function(phone) { $(element).find(".dmButtonLink").html('<span class="text">' + phone + '</span>'); emitYextPhoneRenderEvent(phone); }); } else if(widgetType === 'phone' && data.config.phoneShowAs === 'text') { var phFormatted = formatPhoneBeforeRender(yextData.entities[0].attributes[data.config.phoneType],function(phone) { $(element).find('.yextPhoneText').html('<span class="text">' + phone + '</span>'); emitYextPhoneRenderEvent(phone); }); } else if (widgetType === 'services' || widgetType === 'googleAttributesFormatted' || widgetType === 'languages' || widgetType === 'paymentOptions' || widgetType === 'keywords' || widgetType === 'products' || widgetType === 'associations' || widgetType === 'brands') { setTimeout(function() { displayTextdList(widgetType,yextData) },1); } else if(widgetType === 'specialties') { setTimeout(function() { displaySpecialties(yextData) },1) }else if (widgetType ==='serviceArea') { setTimeout(function() { displayServiceArea(widgetType,yextData,data.config.showServiceAreaFirst) },1) } else if (widgetType ==='hours' && data.config.hoursShowAs === 'list' && data.config.isList == false) { setTimeout(function() { displayHours(widgetType,yextData) },1) } else if (widgetType ==='hours' && data.config.hoursShowAs === 'openHours') { setTimeout(function() { displayOpenHours(widgetType,yextData) },1) } else if (widgetType === 'social') { displaySocialIcons(widgetType,yextData); } else if (widgetType === 'holidayHours') { setTimeout(function() { displayHolidayHoursList(widgetType,yextData) },1); } else if (widgetType === 'hours') { //hide hours list if toggle enabled if(data.config.hideHoursList === true) { $(element).find('.yextHours').css('display','none'); } } else if (widgetType === 'description' || widgetType === 'yearEstablished' || widgetType === 'email' || widgetType === 'name') { // check hideIfEmpty(widgetType,yextData) } //remove error if script not entered correctly. $(element).find('.wrongScriptError').removeClass('hasError'); } function hideIfEmpty(type,yextData) { if(!yextData.entities[0].attributes[type]) { if(data.inEditor) { $(element).html(emptyListPlaceHolder); } else { $(element).css('display','none'); } } } // TODO CHANGE TO EVENT CALL BACK var startIntervalToWaitAndLoadWidgets = function(widgetType) { //start interval for this specific widget var intervalCheckYextLoaded = setInterval(function(){ if (window._yextData) { clearInterval(intervalCheckYextLoaded); initYextElements(window._yextData,widgetType); } },50) } /* initialization */ if(data.inEditor){ window.refreshYext && window.refreshYext(); $(document).ready(function(){ if(!window.yextInitialized){ $(element).find('.missingYextWidget').addClass('show'); } else { $(element).find('.missingYextWidget').removeClass('show'); } }); } else { dmAPI.runOnReady('yext' , function(){ loadYext(); }); // Before navigating with Ajax, we set the yext initialized to be false so it will be initialized again after the ajax navigation dmAPI.runBeforeAjaxNavigation('yext', function(){ window.yextInitialized = false; }); } }; </script> <script> window.customWidgetsFunctions["d1ee5d5bf037471ea1770683731e577a~23"] = function (element, data, api) { $(document).ready(function(){ $.getScript('https://widget.hibu.us/static/js/index.js') .done(function(){ dmAPI.runOnReady('hibu_header_reviews',function(){ window.renderApp(); }); }) .fail(function(){ console.log("failed to loaded header reviews js file") }); }) }; </script> <script> window.customWidgetsFunctions["4297c64e3aa349d4ac38764dde32ebef~68"] = function (element, data, api) { let HasOpenedMenu = false; $(document).ready(function() { displayType(); }); function displayType() { if(isMobile()) { displayMobile(); } else { displayDesktop(); } } function displayMobile() { var masterFabEle = $(element).find('#masterfab'); $('#main-container').empty().append(getSvg(data.config.MobileMain)); $(masterFabEle).attr('class', 'fab master-mobile');// add mobile class for custom style $(masterFabEle).css('display', 'flex'); //since element is hidden by default, show instead // add items with or without overlay and label text if(data.config.MobileLayout === 'Full') $('.mobile-bg').after(getItems('leftText')); else $('.mobile-bg').after(getItems()); mobileTheme(); // add light or dark theme addListener(); // add focus animation if(data.config.FocusAni) animateFocus(); } function displayDesktop() { var masterFabEle = $(element).find('#masterfab'); $(masterFabEle).css('display', 'flex'); //since element is hidden by default, show instead if(data.config.DesktopLayout === 'Bar') { $('#main-container').empty().append(getSvg(data.config.DeskMain)); $(masterFabEle).append(getItems('rightText')); } else { $('#float-container').empty().append(getItems('rightText', true)); } desktopType(); addListener(); // add focus animation if(data.config.FocusAni) animateFocus(); } // handles style changes for desktop types function desktopType() { $('#masterfab').attr('class', 'fab master-desktop'); // add desktop class for styling $('.icon-container').addClass('desktop'); if(data.config.DesktopLayout === 'Bar') { $('.menu-link').addClass('desk-bar'); // add class for fixed bar text $('.child').attr('class', 'fab child child-desktop-bar'); const masterLabel = '<span id="master-label">'+data.config.MainLabel+'</span>'; $('#master-label').remove(); $('#masterfab').append(masterLabel); $('#masterfab').addClass('master-bar'); } else if(data.config.DesktopLayout === 'Float') { $('#masterfab').hide(); } } // styles light and dark mobile themes function mobileTheme() { $('.child').attr('class', 'fab child child-mobile'); if(data.config.MobileTheme === 'Light') { $('.overlay, .child, .social-icon, .icon-container, .mobile-bg, social-bg, .menu-link').addClass('mobile light'); } else if(data.config.MobileTheme === 'Dark') { $('.overlay, .child, .social-icon, .icon-container, .mobile-bg, social-bg, .menu-link').addClass('mobile dark'); } } // adds click or hover listeners function addListener() { // add listener and animation for floating icons hover animation if(!isMobile() && data.config.DesktopLayout === 'Float') animateFloat('.float-container', 300); // click handlers for desktop bar and mobile options else { $("#conversion-menu-container").off('click', '.fab,.overlay'); $("#conversion-menu-container").on('click', '.fab,.overlay', function(){ HasOpenedMenu = true; $('.animation').remove(); // remove any animations we have if(isMobile()) { animateIcons('overlay'); data.config.MobileLayout === 'Full'? animateBg('.mobile-bg') : ''; } else { // bar desktop animateIcons('helpText'); animateBg('.desktop-bg'); } }); } } // listens for share button click and triggers response function addShareListener() { $("#conversion-menu-container").off('click', '.share'); $(".share").on('click', function() { console.log('share clicked modal should open'); MicroModal.show('social-modal-menu'); }); } // // ANIMATIONS // function animateFocus() { $('.animation').remove(); //in case already in DOM if(!HasOpenedMenu) { if(isMobile()) { const pulse = '<div class="pulse2 animation"/><div class="pulse animation"/>'; setTimeout(function() { $('#masterfab').append(pulse); }, +data.config.FocusDelay); } // desktop else { data.config.DesktopLayout === 'Float'? animateFloatFocus() : animateBarFocus(); } } } function animateFloatFocus() { if($('.focus')[0]) { const id = $('.focus')[0].id; setTimeout(function() { $('#'+id).css('max-width', ''); $('#'+id).addClass('slide-pulse'); }, +data.config.FocusDelay); } } // opens fixed bar on desktop after set interval function animateBarFocus() { if(!$(".desktop-bg").is(":visible")) { setTimeout(function() { animateIcons('helpText'); animateBg('.desktop-bg'); }, +data.config.FocusDelay); } } // adds hover listeners and animates floating icons on desktop function animateFloat(selector, dur) { $("#float-container").off("mouseenter", selector); $("#float-container").on("mouseenter", selector, function(event) { console.log('float mouse enter'); HasOpenedMenu = true; var id = $(this)[0].id; // cancel animation on hover data.config.FocusAni? $('#'+id).removeClass('slide-pulse') : 0; $('#text-'+id).fadeIn(); $('#float-text-'+id).fadeIn(dur).css("display","inline-flex"); $('#'+id).stop().animate({ "max-width": "200px", }, dur); }); $("#float-container").off("mouseleave", selector); $("#float-container").on("mouseleave", selector, function(event) { console.log('float mouse leave'); var id = $(this)[0].id; $('#text-'+id).fadeOut(dur); $('#'+id).stop().animate({ "max-width": "42.666px", }, dur); }); } // animates icons slide up and transparent overlay(depending on showType) function animateIcons(showType) { if($(".overlay").is(":visible") || $(".desktop-bg").is(":visible")) { if(showType === 'overlay') $('.overlay').fadeOut(125); else if(showType === 'helpText') $('#help-text').fadeOut(125); // add plus icon back $('#main-container').empty().append(getSvg(data.config.MobileMain)); $('.fab.child').stop().animate({ bottom : $('#masterfab').css('bottom'), opacity : 0 }, 125, function() { $(this).hide(); }); } else { if(showType === 'overlay') $('.overlay').fadeIn(125); else if(showType === 'helpText') $('#help-text').fadeIn(125); // add close icon on mobile only if(isMobile()) $('#main-container').empty().append(getSvg('close')); $(".fab.child").each(function(){ $(this).stop().show().animate({ bottom : (parseInt($("#masterfab").css("bottom")) + parseInt($("#masterfab").outerHeight() + 20) + 56 * $(this).data("subitem") - $(".fab.child").outerHeight()) + "px", opacity : 1 }, 125); }); } } // adds overlay that slides up function animateBg(selector) { if($(selector).is(":visible")) { $('#main-container').removeClass('open'); $("#masterfab.fab.master-mobile").removeClass('mobile-open') var mainIcon = data.config.DeskMain // revert to default main icon style if(isMobile()) { mainIcon = data.config.MobileMain; $('#masterfab').css({'background': '', 'box-shadow': ''}); // restore default } $('#main-container').empty().append(getSvg(mainIcon)); $('.menu-link, .child').hide(); // slide down to cloes $(selector).stop().animate({ height : 0, opacity : 0 }, 125, function(){ $(this).hide(); }); } else { $('#main-container').addClass('open'); $("#masterfab.fab.master-mobile").addClass('mobile-open') var topArea = 100; if(isMobile()) { $('#masterfab').css({'background': 'none', 'box-shadow': 'none'}); // make icon flat $('#main-container').empty().append(getSvg('close')); // add x icon } else if(data.config.DesktopLayout === 'Bar') { // hack to get height of bar help text before it's visible $(selector).css({'position':'absolute','visibility':'hidden', 'display':'block'}); topArea = $("#help-text").height()? $("#help-text").height() + 60 : 40; $(selector).removeAttr('style'); } // slide up to open $(selector).stop().show().animate({ height : (((data.config.IconList.length+1) * 56) + topArea) + "px", opacity : 1 },125, function() { $('.menu-link').fadeIn(125); $(selector).css("display","flex") }); } } function getItems(type, float) { $('.child').remove(); // remove any items already in DOM var html = '', label = '', icon = '', text = ''; var items = float? data.config.IconList : data.config.IconList.reverse(); items.forEach(function(item, index) { if(item.showonmobile==true && data.device === 'mobile'){ index = index+1; if(type === 'rightText'){ label = '<span class="right-text">' + item.Label + '</span>'; } if(type === 'leftText') { label = '<span class="left-text">' + item.Label + '</span>'; } icon = '<span class="icon-container">'+getItemIcon(item)+'</span>'; html += '<div class="fab child" id="child-'+index+'" data-subitem="'+index+'"> \ '+getItemAction(item, icon+label)+' \ </div>'; if(item.Action === 'Share') { $.getScript('https://cdn.jsdelivr.net/npm/micromodal/dist/micromodal.min.js', function() { MicroModal.init(); $('.share-container').html(getSocialItems(item)); // add social icons to modal addShareListener(); // if social sharing enabled add click handler }); } } else if(item.showondesktop==true && (data.device === 'desktop' || data.device === 'tablet') ){ if(type === 'rightText'){ label = '<span class="right-text">' + item.Label + '</span>'; } if(type === 'leftText') { label = '<span class="left-text">' + item.Label + '</span>'; } if(!float) { icon = '<span class="icon-container">'+getItemIcon(item)+'</span>'; html += '<div class="fab child" id="child-'+index+'" data-subitem="'+index+'"> \ '+getItemAction(item, icon+label)+' \ </div>'; } // floating icons on desktop only else { // add focus class for focus animation label = item.Label; var focusClass = item.Animate? 'focus' : ''; icon = '<span class="icon-container">'+getItemIcon(item)+'</span>'; text = '<span class="float-text" id="text-'+index+'">'+label+'</span>'; html += '<div class="float-container '+focusClass+'" id="'+index+'"> \ <span class="fab child float" id="child-'+index+'" data-subitem="'+index+'" style="display: inline-flex;"> \ '+getItemAction(item, icon)+' \ </span> \ <span class="float-text-container" id="float-text-'+index+'"> \ '+getItemAction(item, text)+' \ </span> \ </div>'; } // if action is share add share items to modal if(item.Action === 'Share') { $.getScript('https://cdn.jsdelivr.net/npm/micromodal/dist/micromodal.min.js', function() { MicroModal.init(); $('.share-container').html(getSocialItems(item)); // add social icons to modal addShareListener(); // if social sharing enabled add click handler }); } } }); return html; } function getSocialItems(item) { let html = ''; const content = getShareContent(item); if(item.Email) html += getShareHtml('Email', content.link, content.title, 'Tab', 'social'); if(item.Facebook) html += getShareHtml('Facebook', content.link, content.title, 'Tab', 'social'); if(item.Tumblr) html += getShareHtml('Tumblr', content.link, content.title, 'Tab', 'social'); if(item.LinkedIn) html += getShareHtml('LinkedIn', content.link, content.title, 'Tab', 'social'); if(item.Twitter) html += getShareHtml('Twitter', content.link, content.title, 'Tab', 'social'); if(item.Reddit) html += getShareHtml('Reddit', content.link, content.title, 'Tab', 'social'); //if(item.GooglePlus) html += getShareHtml('GooglePlus', content.link, content.title, 'Tab', 'social'); if(item.Pinterest) html += getShareHtml('Pinterest', content.link, content.title, 'Tab', 'social'); return html; } // // Social Share Functions // function getShareContent(item) { // set link to the current page url let link = item.ShareLink? item.Link.href : window.top.location.href; link = encodeURI(link); // get default page title from the actual page title const pageTitle = item.ShareTitle? item.ShareTitle : document.title; const encodedTitle = encodeURI(pageTitle); return {link: link, title: encodedTitle}; } function getShareHtml(site, link, encodedTitle, action, linkClass) { let href = ''; switch(site) { case 'Email': href = "mailto:?Subject="+encodedTitle+"&body=Check out this site: "+window.location.href; statsEventName = 'CM_SHARE_EMAIL'; return ( '<div class="social-icon" style="background-color: grey;"> \ <a href="'+href+'" class="'+linkClass+'" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');;"> \ '+getSvg('shareenvelope')+' \ </a> \ </div>'); case 'Facebook': href = 'https://www.facebook.com/sharer/sharer.php?u='+link; statsEventName = 'CM_SHARE_FB'; return ( '<div class="social-icon" style="background-color: #3b5998;"> \ <a href="'+href+'" class="'+linkClass+'" target="_blank" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');"> \ '+getSvg('facebook')+' \ </a> \ </div>'); case 'Tumblr': href = 'http://tumblr.com/share/link?url='+link+'&name='+encodedTitle; return ( '<div class="social-icon" style="background-color: #35465c;"> \ <a href="'+href+'" class="'+linkClass+'" target="_blank" > \ '+getSvg('tumblr')+' \ </a> \ </div>'); case 'LinkedIn': href = 'http://www.linkedin.com/shareArticle?mini=true&url='+link+'&title='+encodedTitle; statsEventName = 'CM_SHARE_LINKEDIN'; return ( '<div class="social-icon" style="background-color: #4875B4;"> \ <a href="'+href+'" class="'+linkClass+'" target="_blank" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');"> \ '+getSvg('linkedIn')+' \ </a> \ </div>'); case 'Twitter': href = 'https://twitter.com/intent/tweet?text='+link; statsEventName = 'CM_SHARE_TWITTER'; return ( '<div class="social-icon" style="background-color: #000000;"> \ <a href="'+href+'" class="'+linkClass+'" target="_blank" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');"> \ '+getSvg('twitter')+' \ </a> \ </div>'); case 'Reddit': href = 'http://www.reddit.com/submit?url='+link+'&title='+encodedTitle+'&text='+encodedTitle; return ( '<div class="social-icon" style="background-color: #ff4500;"> \ <a href="'+href+'" class="'+linkClass+'" target="_blank"> \ '+getSvg('reddit')+' \ </a> \ </div>'); /* case 'GooglePlus': href = 'https://plus.google.com/share?url='+link; statsEventName = 'CM_SHARE_GOOGLE_PLUS'; return ( '<div class="social-icon" style="background-color: #d34836;"> \ <a href="'+href+'" class="'+linkClass+'" target="_blank" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');"> \ '+getSvg('gPlus')+' \ </a> \ </div>'); */ case 'Pinterest': href = 'http://pinterest.com/pin/create/button/?url='+link+'&description='+encodedTitle; return ( '<div class="social-icon" style="background-color: #cb2027;"> \ <a href="'+href+'" class="'+linkClass+'" target="_blank"> \ '+getSvg('pinterest')+' \ </a> \ </div>'); default: return ''; } } // // Helpers // // check display type function isMobile() { return data.device === 'mobile'; } function getItemAction(item, elem) { var statsEventName=''; switch(item.Action) { case 'Link': if(!item.Link) item.Link = { target: 'target="_blank', href: 'http://www.google.com' } // default link var target = item.Link.target? item.Link.target : ''; var statsEventName = 'CM_LINK_CLICK'; return '<a '+target+' href="'+item.Link.href+'" class="menu-link" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');">'+elem+'</a>'; case 'Call': statsEventName = 'CM_CLICK_TO_CALL'; return '<a href="tel:'+item.CallNum+'" class="menu-link" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');">'+elem+'</a>'; case 'Sms': statsEventName = 'CM_CLICK_TO_SMS'; return '<a href="sms:'+item.SmsNum+'" class="menu-link" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');">'+elem+'</a>'; case 'Email': statsEventName = 'CM_CLICK_TO_EMAIL'; return '<a href="mailto:'+item.EmailAddr+'?subject='+item.emailDefSubject + '&body=' + item.defEmailBody + '" target="_blank" class="menu-link" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');">'+elem+'</a>'; case 'Map': statsEventName = 'CM_DIRECTION'; return '<a target="_blank" href="https://www.google.com/maps?q='+item.Query+'" class="menu-link" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');">'+elem+'</a>'; case 'Mess': statsEventName = 'CM_FB_MESSAGE'; return '<a href="http://m.me/'+item.FbUser+'" class="menu-link" target="_blank" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');">'+elem+'</a>'; case 'Share': return '<a href="#" class="menu-link share">'+elem+'</a>'; default: return ''; } } // returns new default icon only if icon is default (identified by path data in default svg MUST CHANGE FOR DIFFERENT DEFAUTL) function getItemIcon(item) { // icon is default if(item.CustomIcon) { return '<div class="new-container">'+item.Icon+'</div>'; } else { switch(item.Action) { case 'Link': return getSvg('link'); case 'Call': return getSvg('phone'); case 'Sms': return getSvg('sms'); case 'Email': return getSvg('envelope'); case 'Mess': return getSvg('messenger'); case 'Map': return getSvg('map'); case 'Share': return getSvg('share'); } } } window._trackConvWidgetClickEvent = function(eventName) { if(typeof(HAF)==="object"){ HAF.OmTracking.onCMClick(eventName) } return; } function dudaicon(icon){ return '<span class="new-container">'+icon+'</span>' } function getSvg(name) { const type = name? name : data.config.DeskMain; switch(type) { case 'vEllipsis': 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>'; case 'map': 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>' case 'hEllipsis': 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>'; case 'plus': 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>'; case 'bars': 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>'; case 'envelope': 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.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>'; case 'shareenvelope': 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>'; case 'phone': 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>'; case 'close': 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>'; case 'facebook': 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>'; case 'messenger': 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>' case 'tumblr': 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>'; case 'linkedIn': 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>'; case 'twitter': 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>'; case 'reddit': 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 17.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>'; case 'pinterest': 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>'; case 'share': 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>'; case 'sms': 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>'; case 'link': 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>'; default: return ''; } } }; </script> <script> window.customWidgetsFunctions["200ed1dd45924f549c4ca95509b266c3~24"] = function (element, data, api) { $(document).ready(function(){ $.getScript('https://survlywidget.firebaseapp.com/static/js/index.js?version=2018-07-24T13_46_11') .done(function(){ }) .fail(function(){ console.log("failed to loaded header reviews js file") }); }) dmAPI.runOnReady('hibu_reviews_page',function(){ renderApp(); }) }; </script> <script type="text/javascript"> var d_version = "production_4943"; var build = "2024-11-19T16_13_56"; window['v' + 'ersion'] = d_version; function buildEditorParent() { window.isMultiScreen = true; window.editorParent = {}; window.previewParent = {}; window.assetsCacheQueryParam = "?version=2024-11-19T16_13_56"; try { var _p = window.parent; if (_p && _p.document && _p.$ && _p.$.dmfw) { window.editorParent = _p; } else if (_p.isSitePreview) { window.previewParent = _p; } } catch (e) { } } buildEditorParent(); </script> <!-- Load jQuery --> <script type="text/javascript" id='d-js-jquery' src="https://static-res-cdn.websites.hibu.com/libs/jquery/jquery-3.7.0.min.js"></script> <!-- End Load jQuery --> <!-- Injecting site-wide before scripts --> <script data-swh-uuid="154e2a63b92140e2b4a2fbbe14b71254"> if (window.location.search.match(/[?,&]preview=true/) && window.top !== window) { window.__AudioEyePreviewMode=true; } </script> <script type="text/javascript" data-swh-uuid="154e2a63b92140e2b4a2fbbe14b71254"> !function(){ var b=function(){ window.__AudioEyeSiteHash = "00448d1f764c808c8861d2d350175835"; var a=document.createElement("script"); a.src="https://wsmcdn.audioeye.com/aem.js"; a.type="text/javascript"; document.getElementsByTagName("body")[0].appendChild(a)}; "complete"!==document.readyState?window.addEventListener?window.addEventListener("load",b):window.attachEvent&&window.attachEvent("onload",b):b()}(); </script> <!-- End Injecting site-wide to the head --> <script> var _jquery = window.$; var jqueryAliases = ['$', 'jquery', 'jQuery']; jqueryAliases.forEach((alias) => { Object.defineProperty(window, alias, { get() { return _jquery; }, set() { console.warn("Trying to over-write the global jquery object!"); } }); }); window.jQuery.migrateMute = true; </script> <script> window.cookiesNotificationMarkupPreview = 'null'; </script> <!-- HEAD RT JS Include --> <script id='d-js-params'> window.INSITE = window.INSITE || {}; window.INSITE.device = "desktop"; window.rtCommonProps = {}; rtCommonProps["rt.ajax.ajaxScriptsFix"] =true; rtCommonProps["rt.pushnotifs.sslframe.encoded"] = 'aHR0cHM6Ly97c3ViZG9tYWlufS5wdXNoLW5vdGlmcy5jb20='; rtCommonProps["runtimecollector.url"] = 'https://rtc.hibuwebsites.com'; rtCommonProps["performance.tabletPreview.removeScroll"] = 'false'; rtCommonProps["inlineEditGrid.snap"] =true; rtCommonProps["popup.insite.cookie.ttl"] = '0.5'; rtCommonProps["rt.pushnotifs.force.button"] =true; rtCommonProps["common.mapbox.token"] = 'pk.eyJ1IjoiZGFubnliMTIzIiwiYSI6ImNqMGljZ256dzAwMDAycXBkdWxwbDgzeXYifQ.Ck5P-0NKPVKAZ6SH98gxxw'; rtCommonProps["common.mapbox.js.override"] =false; rtCommonProps["common.here.appId"] = 'iYvDjIQ2quyEu0rg0hLo'; rtCommonProps["common.here.appCode"] = '1hcIxLJcbybmtBYTD9Z1UA'; rtCommonProps["isCoverage.test"] =false; rtCommonProps["ecommerce.ecwid.script"] = 'https://app.multiscreenstore.com/script.js'; rtCommonProps["feature.flag.mappy.kml"] =false; rtCommonProps["common.resources.dist.cdn"] =true; rtCommonProps["common.build.dist.folder"] = 'production/4943'; rtCommonProps["common.resources.cdn.host"] = 'https://static-res-cdn.websites.hibu.com'; rtCommonProps["common.resources.folder"] = 'https://static-res-cdn.websites.hibu.com/mnlt/production/4943'; rtCommonProps["feature.flag.runtime.backgroundSlider.preload.slowly"] =true; rtCommonProps["feature.flag.runtime.newAnimation.enabled"] =true; rtCommonProps["feature.flag.runtime.newAnimation.respectCssAnimationProps.enabled"] =true; rtCommonProps["feature.flag.runtime.newAnimation.jitAnimation.enabled"] =true; rtCommonProps["feature.flag.sites.google.analytics.gtag"] =true; rtCommonProps["feature.flag.runOnReadyNewTask"] =true; rtCommonProps["isAutomation.test"] =false; rtCommonProps['common.mapsProvider'] = 'mapbox'; rtCommonProps['common.mapsProvider.version'] = '0.52.0'; rtCommonProps['common.geocodeProvider'] = 'mapbox'; rtCommonProps['common.map.defaults.radiusSize'] = '1500'; rtCommonProps['common.map.defaults.radiusBg'] = 'rgba(255, 255, 255, 0.4)'; rtCommonProps['common.map.defaults.strokeColor'] = 'rgba(255, 255, 255, 1)'; rtCommonProps['common.map.defaults.strokeSize'] = '2'; rtCommonProps['server.for.resources'] = ''; rtCommonProps['feature.flag.lazy.widgets'] = true; rtCommonProps['feature.flag.single.wow'] = false; rtCommonProps['feature.flag.disallowPopupsInEditor'] = true; rtCommonProps['feature.flag.mark.anchors'] = true; rtCommonProps['captcha.public.key'] = '6LffcBsUAAAAAMU-MYacU-6QHY4iDtUEYv_Ppwlz'; rtCommonProps['captcha.invisible.public.key'] = '6LeiWB8UAAAAAHYnVJM7_-7ap6bXCUNGiv7bBPME'; rtCommonProps["images.sizes.small"] =160; rtCommonProps["images.sizes.mobile"] =640; rtCommonProps["images.sizes.tablet"] =1280; rtCommonProps["images.sizes.desktop"] =1920; rtCommonProps["modules.resources.cdn"] =true; rtCommonProps["import.images.storage.imageCDN"] = 'https://le-cdn.hibuwebsites.com/'; rtCommonProps["facebook.api.version"] = '7.0'; rtCommonProps["feature.flag.runtime.inp.threshold"] =150; rtCommonProps["feature.flag.performance.logs"] =true; rtCommonProps["site.widget.form.captcha.type"] = 'g_recaptcha'; rtCommonProps["friendly.captcha.site.key"] = 'FCMGSQG9GVNMFS8K'; rtCommonProps["cookiebot.mapbox.consent.category"] = 'marketing'; rtCommonProps["platform.monolith.personalization.dateTimeCondition.popupMsgAction.moveToclient.enabled"] =true; // feature flags that's used out of runtime module (in legacy files) rtCommonProps["site.runtime.video.background.ssr"] =true; window.rtFlags = {}; rtFlags["unsuspendEcwidStoreOnRuntime.enabled"] =false; rtFlags["scripts.widgetCount.enabled"] =true; rtFlags["ecom.ecwid.categoryPage.modifyLinks"] = true; rtFlags["ecom.ecwid.delegateNavigationToEcwid.enabled"] = false; rtFlags["ecom.ecwidNewUrlStructure.enabled"] = false; rtFlags["ecom.ecwid.old.store.fix.scrolling.enabled"] = true; rtFlags["ecom.ecwid.old.store.fix.facebook.share"] = true; rtFlags["ecom.ecwid.fallBackInCaseLinksNotFound.enabled"] = true; rtFlags["feature.flag.photo.gallery.exact.size"] =true; rtFlags["new.store.fix.ecwid.back.bug"] =true; rtFlags["facebook.runtime.widgets.upgrade"] =true; rtFlags["ecom.ecwid.solve.url.modifications"] = true; rtFlags["ecom.ecwid.configOptions"] = true; rtFlags["geocode.search.localize"] =false; rtFlags["feature.flag.runtime.newAnimation.asyncInit.setTimeout.enabled"] =false; rtFlags["site.contact.form.fix.for.attribute"] =true; rtFlags["contact.form.date.format.enabled"] = true; rtFlags["twitter.heightLimit.enabled"] = true; rtFlags["ecom.ecwid.fixTranslations.enabled"] = true; rtFlags["runtime.load.script.native"] =true; rtFlags["editor.classicHybrid.photogallery.fix"] =true; rtFlags["runtime.lottieOverflow"] =false; rtFlags["runtime.monitoring.sentry.ignoreErrors"] = ""; rtFlags["ecom.ecwid.old.store.fix.scrolling.detect.enable"] =true; rtFlags["contact.form.browserValidation.enabled"] =true; </script> <script src="https://static-res-cdn.websites.hibu.com/mnlt/production/4943/_dm/s/rt/dist/scripts/d-js-one-runtime-unified-desktop.min.js" id="d-js-core"></script> <!-- End of HEAD RT JS Include --> <script src="https://static-res-cdn.websites.hibu.com/mnlt/production/4943/_dm/s/rt/dist/scripts/d-js-jquery-migrate.min.js" ></script> <script> $(window).bind("orientationchange", function (e) { $.layoutManager.initLayout(); }); $(document).resize(function () { }); </script> <script type="text/javascript" id="d_track_campaign"> (function() { const queryParams = new URLSearchParams(window.location.search); const expires = 'expires=' + new Date().getTime() + 24 * 60 * 60 * 1000; const domain = 'domain=' + window.location.hostname; const path = "path=/"; queryParams.forEach((value, key) => { if (key.startsWith('utm_')) { const cookieName = "_dm_rt_" + key.substring(4); const cookie = cookieName + "=" + value; const joined = [cookie, expires, domain, path].join(";"); document.cookie = joined; } }); }()); </script> <script type="text/javascript" > var _dm_gaq = {}; var _gaq = _gaq || []; var _dm_insite = []; </script> <script async src="https://www.googletagmanager.com/gtag/js?id=G-913DKFMXV3"></script> <script type="text/javascript" id="d_track_ga"> _dm_gaq.siteAlias = '30008740a7b147b58f29a5477579f4e3'; _dm_gaq.systemAggregatedGaqID = ''; _dm_gaq.externalGaqID = 'G-913DKFMXV3'; _dm_gaq.gaAggregatedEventAttributes = { 'site_alias': _dm_gaq.siteAlias, 'product': 'DM_DIRECT', 'plan': 'HIBU_HGCP-3', 'dfooter': 'true', 'sitetype': '1', 'pwaEnabled': 'true' } _dm_gaq.pushEvent = function(trackingId, event, category, label, value, additionalParams = {}) { const eventProps = { send_to: trackingId, event_category: category, event_label: label, value, ...additionalParams, ...(trackingId === _dm_gaq.systemAggregatedGaqID ? _dm_gaq.gaAggregatedEventAttributes : {}) }; gtag('event', event, eventProps); } window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); function pushInsiteImpressions(id) { _dm_insite.forEach((rule) => { _dm_gaq.pushEvent(id, 'insite_impression', 'insite', rule.ruleType + '__' + rule.ruleId); }); } if(_dm_gaq.systemAggregatedGaqID){ // track aggregated account gtag('config', '', { 'send_page_view': false, 'anonymize_ip': true, 'transport_type': 'beacon', 'custom_map': {'dimension1': 'site_alias', 'dimension2': 'product', 'dimension3': 'dFooter', 'dimension4': 'sitetype'} }); gtag('set', 'developer_id.dMDU5Nj', true); _dm_gaq.pushEvent('', 'page_view'); pushInsiteImpressions(_dm_gaq.systemAggregatedGaqID); } if(_dm_gaq.externalGaqID && _dm_gaq.externalGaqID!= '') { gtag('config', 'G-913DKFMXV3', { 'send_page_view': false, 'anonymize_ip': true, 'transport_type': 'beacon', 'linker': { 'domains': ['flexin.us'] } }); _dm_gaq.pushEvent('G-913DKFMXV3', 'page_view'); pushInsiteImpressions(_dm_gaq.externalGaqID); } </script> <script type="text/javascript" id="d_track_sp"> ;(function(p,l,o,w,i,n,g){if(!p[i]){p.GlobalSnowplowNamespace=p.GlobalSnowplowNamespace||[]; p.GlobalSnowplowNamespace.push(i);p[i]=function(){(p[i].q=p[i].q||[]).push(arguments) };p[i].q=p[i].q||[];n=l.createElement(o);g=l.getElementsByTagName(o)[0];n.async=1; n.src=w;g.parentNode.insertBefore(n,g)}}(window,document,"script","//d32hwlnfiv2gyn.cloudfront.net/sp-2.0.0-dm-0.1.min.js","snowplow")); window.dmsnowplow = window.snowplow; dmsnowplow('newTracker', 'cf', 'd32hwlnfiv2gyn.cloudfront.net', { // Initialise a tracker appId: '30008740a7b147b58f29a5477579f4e3' }); // snowplow queries element styles so we wait until CSS calculations are done. requestAnimationFrame(() => { dmsnowplow('trackPageView'); _dm_insite.forEach((rule) => { // Specifically in popup only the client knows if it is shown or not so we don't always want to track its impression here // the tracking is in popup.js if (rule.actionName !== "popup") { dmsnowplow('trackStructEvent', 'insite', 'impression', rule.ruleType, rule.ruleId); } window?.waitForDeferred?.('dmAjax', () => { $.DM.events.trigger('event-ruleTriggered', {value: rule}); }); }); }); </script> <div style="display:none;" id="P6iryBW0Wu"></div> <!-- photoswipe markup --> <!-- Root element of PhotoSwipe. Must have class pswp. --> <div class="pswp" tabindex="-1" role="dialog" aria-hidden="true"> <!-- Background of PhotoSwipe. It's a separate element as animating opacity is faster than rgba(). --> <div class="pswp__bg"></div> <!-- Slides wrapper with overflow:hidden. --> <div class="pswp__scroll-wrap"> <!-- Container that holds slides. PhotoSwipe keeps only 3 of them in the DOM to save memory. Don't modify these 3 pswp__item elements, data is added later on. --> <div class="pswp__container"> <div class="pswp__item"></div> <div class="pswp__item"></div> <div class="pswp__item"></div> </div> <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --> <div class="pswp__ui pswp__ui--hidden"> <div class="pswp__top-bar"> <!-- Controls are self-explanatory. Order can be changed. --> <div class="pswp__counter"></div> <button class="pswp__button pswp__button--close" title="Close (Esc)"></button> <button class="pswp__button pswp__button--share" title="Share"></button> <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button> <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button> <!-- Preloader demo http://codepen.io/dimsemenov/pen/yyBWoR --> <!-- element will get class pswp__preloader--active when preloader is running --> <div class="pswp__preloader"> <div class="pswp__preloader__icn"> <div class="pswp__preloader__cut"> <div class="pswp__preloader__donut"></div> </div> </div> </div> </div> <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap"> <div class="pswp__share-tooltip"></div> </div> <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)"> </button> <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)"> </button> <div class="pswp__caption"> <div class="pswp__caption__center"></div> </div> </div> </div> </div> <div id="fb-root" data-locale="en"></div> <!-- Alias: 30008740a7b147b58f29a5477579f4e3 --> <div class="dmPopupMask" id="dmPopupMask"></div> <div id="dmPopup" class="dmPopup"> <div class="dmPopupCloseWrapper"> <div class="dmPopupClose dm-common-icons-close oneIcon" onclick="dmHidePopup(event);"></div> </div> <div class="dmPopupTitle"> <span></span> Share by:</div> <div class="data"></div> </div><script id="d_track_personalization"> window?.waitForDeferred?.('dmAjax', () => { // Collects client data and updates cookies used by smart sites window.expireDays = 365; window.visitLength = 30 * 60000; $.setCookie("dm_timezone_offset", (new Date()).getTimezoneOffset(), window.expireDays); setSmartSiteCookiesInternal("dm_this_page_view","dm_last_page_view","dm_total_visits","dm_last_visit"); }); </script> <script type="text/javascript"> Parameters.NavigationAreaParams.MoreButtonText = 'MORE'; Parameters.NavigationAreaParams.LessButtonText = 'LESS'; Parameters.HomeLinkText = 'Home'; </script> <!-- End Script tags --> <!-- Begin Body End Markup --> <!-- Begin Body End Markup --><div id="placeholder_retargeting_pixel" style="display: none;" data-inject="placeholder_retargeting_pixel"> {{placeholder_retargeting_pixel}} </div> <div id="placeholder_dpni" style="display: none;" data-inject="placeholder_dpni"> <!-- phone insertion script begins --> <script type="text/javascript" src="https://reports.hibu.com/analytics/js/ybDynamicPhoneInsertion.js"> </script> <script> //<![CDATA[ ybFindPhNums = ['18323654742']; ybReplacePhNums = ['18324606908']; document.addEventListener("YextPhoneChangeEvent", yextPhoneChangeEventHandler, false); function yextPhoneChangeEventHandler(e) { e.preventDefault(); ybFun_ReplaceText(); } if (typeof dmAPI != 'undefined') { dmAPI.runOnReady('dpni', function() { setTimeout(ybFun_ReplaceText, 500); }); dmAPI.subscribeEvent(dmAPI.EVENTS.SHOW_POPUP, function(data) { setTimeout(ybFun_ReplaceText, 500); console.log('dmAPI.EVENTS.SHOW_POPUP' + data); }); } else { window.onload = function() { setTimeout(ybFun_ReplaceText, 500); } } //]]> </script> <!-- phone insertion script ends --> </div> <div id="placeholder_analytics" style="display: none;" data-inject="placeholder_analytics"> <script> //<![CDATA[ //yellAnalyticsConfig need to set before s_code.js var yellAnalyticsConfig = { "global" : { "trackDownloadLinks": true, "downloadFileTypes": "exe,zip,wav,mp3,mov,mpg,avi,wmv,pdf,doc,docx,xls,xlsx,ppt,pptx", "currency": "USD", "trackExternalLinks": true, "internalDomains": "javascript:", "charset": "UTF-8" }, "omniture" : { "enabled": true, "server": "yellgroup.122.2o7.net", "serverSecure": "yellgroup.122.2o7.net", "namespace": "yellgroup", "account": "yelldudalive", "campaign": "CID|cam" }} var hibuWebsiteConfig={ "prodSKU":"WBS-DT4OH-01-US", "assetID":"455260", "customerID":"7016448712" } //]]> </script> <script type="text/javascript" src="https://dh-static-files.s3.amazonaws.com/prod/AppMeasurement.js"> //<![CDATA[ //]]> </script> <script type="text/javascript" src="https://dh-static-files.s3.amazonaws.com/prod/hibu-analytics.min.js"> //<![CDATA[ //]]> </script> <script type="text/javascript" src="https://dh-static-files.s3.amazonaws.com/prod/omn_setting.js"> //<![CDATA[ //]]> </script> </div> <div id="placeholder_footer_reserve1" style="display: none;" data-inject="placeholder_footer_reserve1"> {{placeholder_footer_reserve1}} </div> <div id="placeholder_footer_reserve2" style="display: none;" data-inject="placeholder_footer_reserve2"> {{placeholder_footer_reserve2}} </div> <div id="placeholder_footer_reserve3" style="display: none;" data-inject="placeholder_footer_reserve3"> {{placeholder_footer_reserve3}} </div> <div id="placeholder_footer_reserve4" style="display: none;" data-inject="placeholder_footer_reserve4"> {{placeholder_footer_reserve4}} </div> <div id="placeholder_footer_reserve5" style="display: none;" data-inject="placeholder_footer_reserve5"> {{placeholder_footer_reserve5}} </div> <div id="placeholder_footer_reserve6" style="display: none;" data-inject="placeholder_footer_reserve6"> {{placeholder_footer_reserve6}} </div> <div id="placeholder_footer_reserve7" style="display: none;" data-inject="placeholder_footer_reserve7"> {{placeholder_footer_reserve7}} </div> <!-- End Body End Markup --><!-- End Body End Markup --> <!-- Site Wide Html Markup --> <div id="swh-9d8dd6f7aa9543c8b3c131de9cf7ab80"><script> // Set AE Preview mode within Site Editor Preview if (window.location.search.match(/[?,&]preview=true/) && window.top !== window) { window.__AudioEyePreviewMode = true; } </script> <script type="text/javascript">!function(){var b=function(){window.__AudioEyeSiteHash = "00448d1f764c808c8861d2d350175835"; var a=document.createElement("script");a.src="https://wsmcdn.audioeye.com/aem.js";a.type="text/javascript";a.setAttribute("async","");document.getElementsByTagName("body")[0].appendChild(a)};"complete"!==document.readyState?window.addEventListener?window.addEventListener("load",b):window.attachEvent&&window.attachEvent("onload",b):b()}();</script></div><!-- Site Wide Html Markup --> <!-- Begin Product Custom HTML Markup --> <div id="fb-root"></div> <script>(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.8&appId=1822295708016537"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));</script> <script> //make sure video's on iOS load first screen of the video. dmAPI.runOnReady('russTest',function() { var _hibu_vid = document.getElementsByTagName('video'); for (var i = 0; i < _hibu_vid.length; i++) { _hibu_vid[i].load(); } }) </script> <script> //simple addition by Russ to add consent banner link into footer const _spSpanForFooter = document.createElement('span'); _spSpanForFooter.id = "spConsentWrapper"; const poweredByFirstAnchor = document.querySelector('.poweredBy a:first-child'); poweredByFirstAnchor.insertAdjacentElement('afterend',_spSpanForFooter); window.localStorage.setItem("__springtime__repop__target", "#spConsentWrapper"); </script> <style>#spConsentWrapper:before { content: " | " }</style> <script>if(window.location.search.indexOf('preview')>0){window.localStorage.setItem('ae_user_consent_decision_has_been_made',true);document.getElementById('spConsentWrapper').remove();}</script><script>let comments = document.querySelectorAll('.dmFacebookComments');if (comments) {for (i=0;i<comments.length;i++) { comments[i].style.display = "none"; }}</script><!-- End Product Custom HTML Markup --> <script type="text/javascript" async="async" src="/__zenedge/assets/f.js?v=1674207422"></script><script>(function () { var v = 1732713356 * 3.1415926535898; v = Math.floor(v); document.cookie = "__zjc1669="+v+"; expires=Wed, 27 Nov 2024 13:17:56 UTC; path=/"; })()</script></body> </html>