301 Moved Permanently, istenen kaynağın kalıcı olarak yeni bir URL'ye taşındığı anlamına gelir. Gelecekteki tüm istekler yeni adresi kullanmalıdır.
Tarayıcı kullanıcıyı otomatik olarak yeni adrese yönlendirecek ve arama motorları dizinlerini güncelleyecektir.
200 OK, standart bir başarılı HTTP sunucu yanıtıdır. Bu, istemcinin isteğinin (örneğin, bir tarayıcıdan) başarıyla işlendiği ve sunucunun istenen verileri ilettiği anlamına gelir.
Kullanıcı içeriği hatasız alır ve sayfa veya uygulama düzgün çalışır. Kod 200'e veri eşlik ediyorsa, tarayıcı veya program bunu işler ve kullanıcıya görüntüler.
GET / HTTP/1.1 Host: tswrs.com Accept: */* User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
<!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.tswroofingsolutionsinc.com/', AccountUUID: 'c1f9a940fb4d4c0392fd141cac88908c', SystemID: 'US_HIBU_PRODUCTION', SiteAlias: '9b20844f25784bd9bf32518bd012c549', SiteType: atob('RFVEQU9ORQ=='), PublicationDate: 'Mon May 05 21:31:51 UTC 2025', ExternalUid: '669247898', IsSiteMultilingual: false, InitialPostAlias: '', InitialPostPageUuid: '', InitialDynamicItem: '', DynamicPageInfo: { isDynamicPage: false, base64JsonRowData: 'null', }, InitialPageAlias: 'home', InitialPageUuid: 'befea2eca6c5432793e3f9b55e2a75bf', InitialPageId: '101458201', InitialEncodedPageAlias: 'aG9tZQ==', InitialHeaderUuid: 'c3d15140ccd34b00a6d0ad178f1b9469', CurrentPageUrl: '', IsCurrentHomePage: true, AllowAjax: false, AfterAjaxCommand: null, HomeLinkText: 'Back To Home', UseGalleryModule: false, CurrentThemeName: 'Layout Theme', ThemeVersion: '52220', 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, 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: -1, NavbarLiveHomePage: 'https://www.tswroofingsolutionsinc.com/', BlockContainerSelector: '.dmBody', NavbarSelector: '#dmNav:has(a)', SubNavbarSelector: '#subnav_main' }, hasCustomCode: true, planID: '755', customTemplateId: 'null', siteTemplateId: 'null', productId: 'DM_DIRECT', disableTracking: false, pageType: 'FROM_SCRATCH', isRuntimeServer: true, isInEditor: false, hasNativeStore: false, defaultLang: 'en', hamburgerMigration: null, isFlexSite : false }; 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="YiygtlioJm_nhQ9qa55eShXbTrn3OLwc0LAKQ370QCs" data-swh-uuid="11723d214692481ab56ed86cfe95d468"/> <!-- 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.tswroofingsolutionsinc.com/"> <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/9b20844f25784bd9bf32518bd012c549/site_favicon_16_1739570182707.ico"/> <!-- End favorite icons --> <link rel="preconnect" href="https://le-cdn.hibuwebsites.com/"/> <!-- render the required CSS and JS in the head section --> <script id='d-js-dmapi'> 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} body #dm #\31 541415534:not(.photo-gallery-done):not([data-widget-initialized]) { height: 45.0px !important; min-height: initial;} body #dm #\31 544161175:not(.photo-gallery-done):not([data-widget-initialized]) { height: 132.0px !important; min-height: initial;} body #dm #\31 468687412:not(.photo-gallery-done):not([data-widget-initialized]) { height: 19.5px !important; min-height: initial;} </style> <style id="cssVariables" type="text/css"> :root { --color_1: rgba(255, 255, 255, 1); --color_2: rgba(0, 0, 0, 1); --color_3: rgba(27, 22, 84, 1); --color_4: rgba(51, 53, 143, 1); --color_5: rgba(27, 22, 84, 0.5); --color_6: rgba(206, 206, 220, 1); --color_7: rgba(255, 200, 52, 1); --color_8: rgba(27, 22, 84, 1); } </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; } #dmRoot:not(.editGrid) .flex-element [data-anim-extended] { visibility: hidden; } </style> <style id="criticalCss"> @charset "UTF-8";@font-face{font-family:Roboto;font-style:normal;font-weight:100;font-stretch:100%;font-display:swap;src:url(https://cdn.hibuwebsites.com/fonts/s/roboto/v47/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:italic;font-weight:100;font-stretch:100%;font-display:swap;src:url(https://cdn.hibuwebsites.com/fonts/s/roboto/v47/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBnka.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(https://cdn.hibuwebsites.com/fonts/s/roboto/v47/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:italic;font-weight:300;font-stretch:100%;font-display:swap;src:url(https://cdn.hibuwebsites.com/fonts/s/roboto/v47/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBnka.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:FontAwesome;font-display:block;src:url(https://static-res-cdn.websites.hibu.com/fonts/fontawesome-webfont.eot?v=6);src:url(https://static-res-cdn.websites.hibu.com/fonts/fontawesome-webfont.eot?#iefix&v=6) format("embedded-opentype"),url(https://static-res-cdn.websites.hibu.com/fonts/fontawesome-webfont.woff?v=6) format("woff"),url(https://static-res-cdn.websites.hibu.com/fonts/fontawesome-webfont.ttf?v=6) format("truetype"),url(https://static-res-cdn.websites.hibu.com/fonts/fontawesome-webfont.svg#fontawesomeregular?v=6) format("svg");font-weight:400;font-style:normal}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(https://cdn.hibuwebsites.com/fonts/s/roboto/v47/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(https://cdn.hibuwebsites.com/fonts/s/roboto/v47/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBnka.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(https://cdn.hibuwebsites.com/fonts/s/roboto/v47/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:italic;font-weight:500;font-stretch:100%;font-display:swap;src:url(https://cdn.hibuwebsites.com/fonts/s/roboto/v47/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBnka.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(https://cdn.hibuwebsites.com/fonts/s/roboto/v47/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:italic;font-weight:700;font-stretch:100%;font-display:swap;src:url(https://cdn.hibuwebsites.com/fonts/s/roboto/v47/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBnka.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(https://cdn.hibuwebsites.com/fonts/s/poppins/v22/pxiByp8kv8JHgFVrLCz7Z1xlFQ.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:normal;font-weight:900;font-stretch:100%;font-display:swap;src:url(https://cdn.hibuwebsites.com/fonts/s/roboto/v47/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:italic;font-weight:900;font-stretch:100%;font-display:swap;src:url(https://cdn.hibuwebsites.com/fonts/s/roboto/v47/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBnka.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color_1:rgba(255, 255, 255, 1);--color_2:rgba(0, 0, 0, 1);--color_3:rgba(27, 22, 84, 1);--color_4:rgba(51, 53, 143, 1);--color_5:rgba(27, 22, 84, 0.5);--color_6:rgba(206, 206, 220, 1);--color_7:rgba(255, 200, 52, 1);--color_8:rgba(27, 22, 84, 1)}.dmInner{min-height:100vh!important;position:relative;min-width:768px!important}[dmtemplateid*=amburger] .dmLayoutWrapper{overflow:hidden}.clearfix:after{clear:both;visibility:hidden;line-height:0;height:0}.clearfix:after,.clearfix:before{content:' ';display:table}.clearfix{display:inline-block}#dm .dmWidget .icon{font-size:26px}body.dmRoot #dm .dmOuter .dmInner .dmWidget .icon.hasFontIcon{height:26px;margin-top:-13px;line-height:normal;text-align:center;background-image:none}.dmRoot .hasFontIcon{background-image:none!important}.dmPopupMask{position:fixed;margin:0;display:none;width:10px;z-index:1000000999;top:0;left:0}#dmRoot .dmPopup,.dmPopup,.dmPopupClose:before,[data-display-type=block]{display:block}.dmPopup{text-align:left;position:fixed;top:10px;left:0;width:93%;z-index:1000009999!important;box-sizing:border-box;background:#f5f5f5;overflow-y:auto;height:100%}.dmPopup .dmPopupTitle{text-align:left;font:700 19px Helvetica,Arial;margin:20px 20px 35px;color:#999}#dmPopup{opacity:0}.dmPopupClose,.dmPopupClose:before{position:absolute;visibility:visible}.dmPopupClose{border-radius:25px;width:27px;height:27px;z-index:1;background-color:rgba(255,255,255,.4);top:12px;right:12px}.dmPopupClose:before{font-size:20px;color:#000;top:3px;right:3px}body.dmDesktopBody:not(.mac) .data::-webkit-scrollbar{width:5px;height:5px}body.dmDesktopBody:not(.mac) .data::-webkit-scrollbar-track{background:rgba(0,0,0,.1)}body.dmDesktopBody:not(.mac) .data::-webkit-scrollbar-thumb{background:#c8c8c8;box-shadow:inset 0 1px 2px #454545;border-radius:45px}.dmRespRow.fullBleedMode>.dmRespColsWrapper{width:100%!important;max-width:100%!important}.dmRespRow.fullBleedMode{padding-left:0!important;padding-right:0!important}#dm .dmRespRow .dmRespColsWrapper{display:flex}#dm .hasBackgroundOverlay:not(.dmPopupPage):not(.layout-drawer){position:relative!important}#dm .hasBackgroundOverlay:not(.hasExtraLayerOverlay):before{display:block!important;position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;content:' '!important;border-radius:inherit}#dm .dmInner .dmWidget.align-center,.align-center{margin-left:auto;margin-right:auto}.text-align-center{text-align:center}body.fix-mobile-scrolling{overflow:initial}#hcontainer[has-shadow=true]{position:relative;z-index:1}#dmRoot{text-decoration-skip-ink:none}@media (min-width:1025px){#dmRoot.responsiveTablet #dm #dmStyle_outerContainer #dmStyle_innerContainer .showOnMedium{display:none!important}#dmRoot.responsiveTablet #dm [data-responsive-name=ResponsiveDesktopTopTabletHamburger] .site_content{margin-top:0!important}:root{--btn-text-font-size:16px}}@media (max-width:767px){#dmRoot.responsiveTablet #dm #dmStyle_outerContainer #dmStyle_innerContainer #hamburger-header-container~#stickyHeaderSpacer,#dmRoot.responsiveTablet #dm #dmStyle_outerContainer #dmStyle_innerContainer .showOnLarge,#dmRoot.responsiveTablet #dm .dmInner .hide-for-small{display:none!important}}@media (min-width:768px) and (max-width:1024px){#dmRoot.responsiveTablet #dm #dmStyle_outerContainer #dmStyle_innerContainer #hamburger-header-container~#stickyHeaderSpacer,#dmRoot.responsiveTablet #dm #dmStyle_outerContainer #dmStyle_innerContainer .showOnLarge,#dmRoot.responsiveTablet #dm .dmInner .hide-for-medium,[data-hidden-on-tablet]{display:none!important}.button_2,:root{--btn-text-font-size:16px}}@media (min-width:1025px) and (max-width:1399px){[data-hidden-on-desktop]{display:none!important}}body{-webkit-overflow-scrolling:touch}:not(.runtime-module-container) .layout-drawer,:not(.runtime-module-container) .layout-drawer-hamburger,:not(.runtime-module-container) .layout-drawer-overlay{visibility:hidden}:not(.runtime-module-container) .layout-drawer{position:fixed;transform:translate(-100%,-100%)}:not(.runtime-module-container) .layout-drawer[data-origin=side-reverse]{transform:translate(100%,0)}:not(.runtime-module-container) .layout-drawer-overlay{opacity:0}.runtime-module-container{width:100%}.runtime-module-container[dmtemplateid*=amburger] #site_content,.runtime-module-container[dmtemplateid*=amburger] .dmInner{position:static}.runtime-module-container[dmtemplateid*=amburger] #site_content .site_content{position:relative}.runtime-module-container[dmtemplateid*=amburger] .dmLayoutWrapper{background-color:transparent}.runtime-module-container .hamburger-header-container{position:fixed;z-index:2;top:0;left:0;width:100%}.runtime-module-container .hamburger-header-container .hamburger-header{min-height:43px}.runtime-module-container .layout-drawer,.runtime-module-container .layout-drawer-hamburger,.runtime-module-container .layout-drawer-overlay{visibility:visible}.runtime-module-container[dmtemplateid*=amburger] .site_content{margin-top:59px}.runtime-module-container .layout-drawer,.runtime-module-container .layout-drawer-overlay{height:100%;position:fixed;top:0;left:0}.runtime-module-container .layout-drawer{background-color:#fff;width:75vw;transform:translate(-100%,0);overflow:auto;-webkit-overflow-scrolling:auto;z-index:13;display:flex;flex-direction:column}.runtime-module-container .layout-drawer .dmRespRow:not(.dmPlaceHolderRespRow) .dmRespColsWrapper .dmRespCol:not(.content-removed):only-child:empty{min-height:0}.runtime-module-container .layout-drawer[data-origin=side-reverse]{transform:translate(100%,0);left:auto;right:0}.runtime-module-container .layout-drawer-overlay{width:100vw;background-color:rgba(0,0,0,.4);opacity:0;z-index:6}body:not([data-flex-site]) .layout-drawer .dmRespRow:not(:first-of-type):not(:last-of-type){flex:1 1 auto}.layout-drawer-hamburger{background:0 0;-webkit-appearance:none;appearance:none;position:fixed;left:18px;margin-left:env(safe-area-inset-left);padding:17px 11px;z-index:14;width:52px;height:52px;color:#787878;display:flex;flex-direction:column;border:0;justify-content:space-between;align-items:stretch;top:18px;border-radius:0}.layout-drawer-hamburger:not(:focus){outline:unset}.layout-drawer-hamburger .hamburger__slice{display:block;height:0;width:100%;border:1px solid currentColor;transform-origin:center}@media (max-width:767px){.layout-drawer-hamburger{background:0 0;-webkit-appearance:none;appearance:none;position:fixed;left:10px;margin-left:env(safe-area-inset-left);padding:13px 9px;z-index:14;width:40px;height:40px;color:#787878;display:flex;flex-direction:column;border:0;justify-content:space-between;align-items:stretch;top:10px;border-radius:0}.layout-drawer-hamburger:not(:focus){outline:unset}.layout-drawer-hamburger .hamburger__slice{display:block;height:0;width:100%;border:1px solid currentColor;transform-origin:center}}.hamburger-reverse .layout-drawer-hamburger{left:auto;right:10px;margin-right:env(safe-area-inset-right)}#dm-outer-wrapper #hamburger-header-container #hamburger-header .dmRespCol{display:flex;flex-direction:column;justify-content:center}header,main,nav{display:block}html{font-family:Source Sans Pro;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}h1{font-size:2em;margin:.67em 0}strong{font-weight:700}hr{box-sizing:content-box;height:0}img{border:0;max-width:100%;-ms-interpolation-mode:bicubic;display:inline-block}svg:not(:root){overflow:hidden}button{font-family:inherit;font-size:100%;margin:0;line-height:normal;text-transform:none;-webkit-appearance:button}button::-moz-focus-inner{border:0;padding:0}*,:after,:before{box-sizing:border-box}.dmRespRow{padding-top:15px;padding-bottom:15px}.dmRespRow .dmRespRow:after,.dmRespRow .dmRespRow:before,.dmRespRow:after,.dmRespRow:before{content:' ';display:table}.dmRespRow .dmRespRow:after,.dmRespRow:after{clear:both}.dmRespRow,.dmRespRow .dmRespColsWrapper{max-width:960px;position:relative;margin:0 auto;width:100%}@media screen and (min-width:1200px){.rows-1200 .dmRespRow:not(.fullBleedMode) .dmRespColsWrapper{max-width:1200px}}.dmRespRow .dmRespCol{position:relative;width:100%;display:inline-block;vertical-align:top;float:left}.dmRespRow .dmRespCol>*{max-width:100%}.dmRespRow .dmRespRow{width:auto;margin-top:0;margin-bottom:0;max-width:none}.dmDesktopBody .dmRespRow .large-2{position:relative;width:16.66667%}.dmDesktopBody .dmRespRow .large-4{position:relative;width:33.33333%}.dmDesktopBody .dmRespRow .large-6{position:relative;width:50%}.dmDesktopBody .dmRespRow .large-12{position:relative;width:100%}[class*=' dm-common-icons-']{speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:dm-common-icons!important}.dm-common-icons-close:before{content:'\e901'}#dm div.dmContent [class*=' icon-'],[class*=' icon-']{font-family:FontAwesome!important;font-weight:400;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased}[class*=' icon-']:before{text-decoration:none;display:inline-block;speak:none}a [class*=' icon-']{display:inline}[class*=' icon-']{display:inline;width:auto;height:auto;line-height:normal;vertical-align:baseline;background-image:none;background-position:0 0;background-repeat:repeat;margin-top:0}.icon-star:before{content:'\f005'}.icon-angle-right:before{content:'\f105'}.icon-angle-down:before{content:'\f107'}#dm .dmRespRow .dmRespCol>.dmWidget{overflow:initial}@media (min-width:768px){.hamburger-reverse .layout-drawer-hamburger{right:18px}#dm .dmRespRow .dmRespCol>.dmWidget{width:280px;max-width:100%}#dm .dmRespRow .dmRespCol.large-2>.dmWidget{width:100%}}@media (max-width:767px){#dm .dmInner .dmWidget{width:100%}}#dm .dmInner .dmWidget:not(.displayNone){display:inline-block}#dm .dmInner .dmWidget:not(.flexButton):not(.displayNone)[data-display-type=block]{display:block}#dm .dmInner .dmWidget{text-decoration:none;margin:10px 0;clear:both;position:relative;text-align:center;line-height:22px;box-shadow:none;background-image:none;padding:0;height:auto;border-style:solid;white-space:nowrap}.desktop-bg,.fab{box-shadow:0 0 3px rgba(0,0,0,.5),3px 3px 3px rgba(0,0,0,.25)}#dm .dmInner .dmWidget:after{content:'';display:inline-block;height:100%;vertical-align:middle;width:0;margin-right:-.25em}#dm .dmInner .dmWidget .iconBg{position:absolute;left:0;width:50px;top:50%;margin-top:-13px}#dm .dmWidget .text{display:inline-block;vertical-align:middle;font-size:1.125em;line-height:normal;white-space:normal;padding:10px 7px;max-width:98%}#float-container,.main-navigation.unifiednav .unifiednav__container>.unifiednav__item-wrap>.unifiednav__item .nav-item-text{white-space:nowrap}p.rteBlock{margin:0}html:not(.ios-preview) #dm .hasStickyHeader .dmInner div.dmHeaderContainer{position:fixed!important;z-index:101;width:100%;min-width:768px}.imageWidget{position:relative}.imageWidget a{font-style:italic;text-align:center}.imageWidget img[width][height]{height:auto}.dmNewParagraph[data-version]{line-height:initial}.dmNewParagraph[data-version] .text-align-left{text-align:left!important}.dmNewParagraph[data-version] .text-align-center{text-align:center!important}.dmNewParagraph[data-version] .text-align-right{text-align:right!important}.dmNewParagraph[data-version] h1,.dmNewParagraph[data-version] h2,.dmNewParagraph[data-version] p{margin-top:0;margin-bottom:0}.dmNewParagraph[data-version] a{vertical-align:initial}.inlineBindingLink{color:inherit!important;text-decoration:inherit!important}.motFactCont{margin-top:8px;margin-bottom:8px}.motFactCont p.rteBlock{display:block;line-height:22px;color:#fff!important;font-size:20px}#main-container,.fab{display:inline-block}.MFalignC{text-align:center!important}.dmHeader,.fab{text-align:center}p.rteBlock:after{color:#fff}.headerWidget{min-height:10px}svg{width:100%}.bold{font-weight:700}#main-container{margin:0 auto}#close-bar{width:42.67px;z-index:10000006;position:absolute;bottom:.5em;right:.5em}#close-bar svg{fill:#fff!important}.fab{background:#fff;width:64px;height:64px;border-radius:50%;color:#333;position:fixed;bottom:0;right:0;font-size:2.6667em;vertical-align:middle}.mobile-bg,.overlay,.social-bg{position:fixed;width:100%;left:0}.overlay{top:0;height:100%;background:#ECECEC;opacity:.9;display:none;z-index:10000001}.mobile-bg,.social-bg{bottom:0;z-index:10000002;display:none}#help-text,.desktop-bg{position:absolute;display:none}.social-bg{z-index:10000005}.desktop-bg{min-width:200px;bottom:0;left:0;z-index:10000004;background:#fff;border-bottom:6px solid #333}#float-container{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:10000005}#help-text{margin:20px;color:#333;font-size:24px;text-align:left}#masterfab{z-index:10000006;display:none;align-items:center}#masterfab svg{fill:#ccc;margin:0 auto;display:block;width:60%;max-width:70px;max-height:50px}.modal__overlay{top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;justify-content:center;align-items:center;position:relative;height:100%;width:100%}.modal__container{background-color:#fff;padding:30px;max-width:500px;min-width:200px;max-height:100vh;border-radius:4px;overflow-y:auto;box-sizing:border-box}.modal__header{display:flex;justify-content:space-between;align-items:center}.modal__title{margin:0 auto;color:#000;font-weight:600;font-size:1.25rem;line-height:1.25;box-sizing:border-box}#dm div.dmRespCol>*,.modal__content{line-height:1.5}.modal__close{background:0 0;border:0;position:absolute;top:14px;right:14px}.modal__close,.modal__close svg{width:20px;height:20px;outline:0!important}.modal__close svg{position:absolute;left:0;top:0}.modal__content{margin-top:2rem;margin-bottom:2rem;color:rgba(0,0,0,.8)}@keyframes mmfadeOut{from{opacity:1}to{opacity:0}}@keyframes mmslideOut{from{transform:translateY(0)}to{transform:translateY(-10%)}}.micromodal-slide{display:none}.micromodal-slide[aria-hidden=true] .modal__overlay{animation:mmfadeOut .3s cubic-bezier(0,0,.2,1)}.micromodal-slide[aria-hidden=true] .modal__container{animation:mmslideOut .3s cubic-bezier(0,0,.2,1)}.micromodal-slide .modal__container,.micromodal-slide .modal__overlay{will-change:transform}img[width][height]{height:auto}*{border:0 solid #333;scrollbar-arrow-color:#fff;scrollbar-track-color:#F2F2F2;scrollbar-face-color:silver;scrollbar-highlight-color:silver;scrollbar-3dlight-color:silver;scrollbar-shadow-color:silver;scrollbar-darkshadow-color:silver;scrollbar-width:12px}A IMG{border:none}h1,h2,ul{margin-left:0;margin-right:0}.dmInner *{-webkit-font-smoothing:antialiased}.clearfix,a,img,li,ul{vertical-align:top}#site_content{position:relative}.dmOuter{word-wrap:break-word}.dmInner{font-size:16px;background:#fff;color:#666}.dmDesktopBody .dmInner{min-width:960px}.dmInner a{color:#463939;outline:0;vertical-align:inherit}.dmInner ul:not(.defaultList){padding:0}.dmHeader{background:#68ccd1;color:#666;position:relative;width:100%;max-width:100%}DIV.dmBody{padding:0;clear:both}.dmContent{margin:0;padding:0}#site_content ul:not(.defaultList){-webkit-padding-start:0;-moz-padding-start:0;list-style-position:inside}.dmRespRowsWrapper{max-width:960px;margin:0 auto}.dmRespCol>[dmle_extension]:not(:first-child){margin-top:10px}.dmLargeBody .imageWidget:not(.displayNone){display:inline-block;max-width:100%}#dm .dmRespColsWrapper,.dmStandardDesktop{display:block}.imageWidget:not(.displayNone) img{width:100%}.dmNewParagraph{text-align:left;margin:8px 0;padding:2px 0}.dmLargeBody .dmRespRowsWrapper>.dmRespRow .dmRespCol,.dmLargeBody .fHeader .dmRespRow .dmRespCol{padding-left:.75%;padding-right:.75%}.dmLargeBody .dmRespRowsWrapper>.dmRespRow .dmRespCol:first-child,.dmLargeBody .fHeader .dmRespRow .dmRespCol:first-child{padding-left:0;padding-right:1.5%}.dmLargeBody .dmRespRowsWrapper>.dmRespRow .dmRespCol:last-child,.dmLargeBody .fHeader .dmRespRow .dmRespCol:last-child{padding-right:0;padding-left:1.5%}.dmLargeBody .dmRespRowsWrapper>.dmRespRow .dmRespCol:only-child,.dmLargeBody .fHeader .dmRespRow .dmRespCol:only-child{padding-left:0;padding-right:0}#dmFirstContainer .dmRespRowsWrapper:after,#dmFirstContainer .dmRespRowsWrapper:before{content:"";display:table}.dmLinksMenu>ul{display:block;margin:0;font-size:inherit}.dmStandardDesktop{margin:0 auto}#dm .dmDivider{display:block;margin:10px 0}body{width:100%;overflow:hidden;-webkit-text-size-adjust:100%!important;-ms-text-size-adjust:100%!important;background-color:#eee}.dmDivider{min-height:2px;border:currentColor;color:grey;background:0 0}#dm .dmDividerWrapper{display:block}.main-navigation.unifiednav{-js-display:flex;display:flex;justify-content:flex-start;align-items:stretch;overflow:visible}.main-navigation.unifiednav ul{list-style:none;padding:0;margin:0;font-size:1rem}.main-navigation.unifiednav .unifiednav__container{-js-display:flex;display:flex;justify-content:flex-start;list-style:none}.main-navigation.unifiednav .unifiednav__container>.unifiednav__item-wrap{-js-display:flex;display:flex;justify-content:flex-start;position:relative;font-weight:400}.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap::after,.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap::before{content:'';align-self:center;font-weight:700}.main-navigation.unifiednav .unifiednav__container>.unifiednav__item-wrap>.unifiednav__item{-js-display:flex;display:flex;justify-content:flex-start;align-items:center;flex-direction:row;color:inherit;text-decoration:none;position:relative;padding:12px 15px;margin:0;font-weight:inherit;letter-spacing:.03em}.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item{padding:0 15px}.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item .nav-item-text::after,.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item .nav-item-text::before{content:'';width:100%;height:0;border:0 solid transparent;border-top-color:currentColor;display:block;opacity:0}.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item.dmNavItemSelected .nav-item-text::after,.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item.dmNavItemSelected .nav-item-text::before{opacity:1}.main-navigation.unifiednav.effect-top-bottom{padding:calc(12px - .2em - 2px) 15px}.main-navigation.unifiednav.effect-top-bottom .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item .nav-item-text::before{margin-bottom:.2em;transform:translate3d(0,-8px,0)}.main-navigation.unifiednav.effect-top-bottom .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item .nav-item-text::after,.main-navigation.unifiednav.effect-top-bottom .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item .nav-item-text::before{border-top-width:2px}.main-navigation.unifiednav.effect-top-bottom .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item .nav-item-text::after{margin-top:.2em;transform:translate3d(0,8px,0)}.main-navigation.unifiednav.effect-top-bottom .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item.dmNavItemSelected .nav-item-text::after,.main-navigation.unifiednav.effect-top-bottom .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item.dmNavItemSelected .nav-item-text::before{transform:translate3d(0,0,0)}.main-navigation.unifiednav .unifiednav__container .unifiednav__item:not(.unifiednav__item_has-sub-nav) .icon{display:none}.main-navigation.unifiednav .unifiednav__container[data-depth]{position:absolute;top:0;left:0;flex-direction:column;opacity:0;z-index:100;background-color:#faf9f9}.main-navigation.unifiednav .unifiednav__container[data-depth='0']{top:100%;transform:translateY(-10px)}.main-navigation.unifiednav:not(.unifiednav_vertical) .unifiednav__container[data-depth='0']{left:15px}.main-navigation.unifiednav .unifiednav__container>.unifiednav__item-wrap .unifiednav__container>.unifiednav__item-wrap{flex-direction:column}.main-navigation.unifiednav .unifiednav__container[data-depth]>.unifiednav__item-wrap .unifiednav__item{padding:15px 30px 15px 15px;margin:0}.main-navigation.unifiednav[layout-sub=submenu_horizontal_2] .unifiednav__container[data-depth]{color:#999}.main-navigation.unifiednav .unifiednav__container>.unifiednav__item-wrap>.unifiednav__item.unifiednav__item_has-sub-nav .icon{display:initial;padding-left:10px;margin-left:0}.main-navigation.unifiednav:not(.unifiednav_vertical)>.unifiednav__container{justify-content:inherit}#dm .dmBody nav.main-navigation.unifiednav,#dm .p_hfcontainer nav.main-navigation.unifiednav{min-width:9em!important;text-align:initial!important}#dm .main-navigation.unifiednav .unifiednav__container[data-depth]{background-color:transparent}#dm .main-navigation.unifiednav[layout-sub=submenu_horizontal_2] .unifiednav__container[data-depth]{background-color:#faf9f9}#dm .main-navigation.unifiednav[data-nav-structure=VERTICAL] .unifiednav__container{flex-direction:column;flex:1 1 100%}#dm .main-navigation.unifiednav[data-nav-structure=VERTICAL] .unifiednav__container>.unifiednav__item-wrap>.unifiednav__item{padding:8px 0;margin:0}#dm .main-navigation.unifiednav[data-nav-structure=VERTICAL] .unifiednav__container>.unifiednav__item-wrap>.unifiednav__item.unifiednav__item_has-sub-nav .icon{padding-left:15px}#dm .main-navigation.unifiednav[data-nav-structure=VERTICAL] .unifiednav__container>.unifiednav__item-wrap>.unifiednav__item .nav-item-text{white-space:initial}#dm .main-navigation.unifiednav[data-nav-structure=VERTICAL] .unifiednav__container:not([data-depth])>.unifiednav__item-wrap{flex-direction:column}#dm .main-navigation.unifiednav[data-nav-structure=VERTICAL] .unifiednav__container:not([data-depth])>.unifiednav__item-wrap .unifiednav__container[data-depth]{opacity:1;position:static;transform:translate(0)}#dm .main-navigation.unifiednav[data-nav-structure=VERTICAL] .unifiednav__container:not([data-depth])>.unifiednav__item-wrap .unifiednav__container[data-depth]>.unifiednav__item-wrap .unifiednav__item{justify-content:inherit;padding:8px 1em;margin:0;font-size:.8em}#dm .main-navigation.unifiednav[data-nav-structure=VERTICAL] .unifiednav__container:not([data-depth])>.unifiednav__item-wrap::after{content:''!important;width:100%;height:0;color:#d1d1d1;align-self:flex-start;border:0 solid currentColor}#dm .main-navigation.unifiednav[data-nav-structure=VERTICAL][layout-main=vertical_nav_layout_2] .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item{padding:5px 0}#dm .main-navigation.unifiednav[data-nav-structure=VERTICAL][layout-main=vertical_nav_layout_2] .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__container[data-depth]>.unifiednav__item-wrap .unifiednav__item{padding:8px 12px}#dm .main-navigation.unifiednav[data-nav-structure=VERTICAL][data-show-vertical-sub-items=HIDE] .unifiednav__container[data-depth]{transform-origin:top;height:auto;overflow:hidden}#dm .main-navigation.unifiednav[data-nav-structure=VERTICAL][data-show-vertical-sub-items=HIDE]>.unifiednav__container:not([data-depth])>.unifiednav__item-wrap .unifiednav__container[data-depth]{opacity:0;max-height:0}#dm .dmBody .u_1116642210:before,#dm .p_hfcontainer .u_1129387757:before{opacity:.5!important;background-color:#fff!important}#dm .main-navigation.unifiednav[data-nav-structure=VERTICAL][data-show-vertical-sub-items=HIDE]>.unifiednav__container:not([data-depth])>.unifiednav__item-wrap .unifiednav__item.dmNavItemSelected>.nav-item-text .icon::before{transform:rotate(180deg)}#dm .main-navigation.unifiednav:not([data-nav-structure=VERTICAL])>.unifiednav__container{flex-wrap:wrap;justify-content:inherit}#dm .main-navigation.unifiednav:not([data-nav-structure=VERTICAL])>.unifiednav__container .nav-item-text::before{text-align:left}#dm .main-navigation.unifiednav:not([data-nav-structure=VERTICAL]) .unifiednav__container:not([data-depth])>.unifiednav__item-wrap:not(:last-child)::after,#dm .main-navigation.unifiednav:not([data-nav-structure=VERTICAL]) .unifiednav__container:not([data-depth])>.unifiednav__item-wrap:not(:last-child)::before{content:''}#dm .main-navigation.unifiednav:not([data-nav-structure=SPLIT]) .unifiednav__container:not([data-depth])>.unifiednav__item-wrap:last-child .unifiednav__container[data-depth='0']{left:auto;right:0}#dm .main-navigation.unifiednav[data-nav-structure=VERTICAL] .unifiednav__container>.unifiednav__item-wrap>.unifiednav__item.unifiednav__item_has-sub-nav .icon{display:inline-block;padding-right:0}#dm .dmBody .dmRespRowsWrapper{max-width:none;background-color:transparent}.dmLargeBody .dmRespRow{width:100%;max-width:none;margin-left:0;margin-right:0;padding-left:40px;padding-right:40px}.dm-bfs.dm-layout-home div.dmInner{background-color:#fff}.dmStandardDesktop .dmHeader{background-color:#68ccd1;max-width:100%}.dmRespRow:not(.dmPlaceHolderRespRow) .dmRespColsWrapper .dmRespCol:not(.content-removed).empty-column,.dmRespRow:not(.dmPlaceHolderRespRow) .dmRespColsWrapper .dmRespCol:not(.content-removed):only-child:empty{min-height:100px}.dmRespRow:not(.dmPlaceHolderRespRow) .dmRespCol:not(.content-removed).empty-column,.dmRespRow:not(.dmPlaceHolderRespRow) .dmRespCol:not(.content-removed):empty{min-height:1px}.dmRespRow:not(.dmPlaceHolderRespRow) .dmRespColsWrapper .dmRespCol:not(.content-removed):only-child.empty-column{min-height:100px}#dm div.dmContent h1{color:#666}#dm div.dmInner{line-height:initial}#dm div.dmInner h1,#dm div.dmInner h2{font-family:Montserrat,"Montserrat Fallback"}#dm div.dmContent h2,#dm div.dmFooter h2{color:#333;font-size:30px}#dm DIV.dmInner{background-repeat:no-repeat;background-image:url(https://irt-cdn.multiscreensite.com/ce0bb35f932b47bb809d0e37905542ba/dms3rep/multi/site_background_education-2087x1173.jpg);background-size:cover;background-position:50% 0}#dm div.dmOuter div.dmInner{background-position:center center;background-repeat:repeat;background-size:auto}#dm .dmNewParagraph a,#dm div.dmNewParagraph a{text-decoration:underline;color:rgba(147,147,147,1)}#dm div.dmInner,#dm div.dmInner .dmRespCol{color:rgba(147,147,147,1);font-family:Roboto,"Roboto Fallback";font-size:16px}.dmLargeBody .dmBody .dmRespRowsWrapper{background-color:transparent}#dm .dmRespCol div.dmNewParagraph,#dm div.dmInner,#dm div.dmInner .dmRespCol{color:var(--color_2);font-family:Roboto,"Roboto Fallback";font-weight:400}#dm div.dmContent h1,#dm div.dmContent h2,#dm div.dmFooter h2,#dm div.p_hfcontainer h2{color:rgba(0,0,0,1)}#dm .dmNewParagraph a,#dm div.dmNewParagraph a{color:var(--color_3)}#dm div.dmNewParagraph p{color:var(--color_2);direction:ltr;font-family:Roboto,"Roboto Fallback";font-weight:400;font-style:normal;text-decoration:none;line-height:1.5}#dm div.dmContent h1,#dm div.dmContent h2,#dm div.dmFooter h2,#dm div.p_hfcontainer h2{font-family:Poppins,"Poppins Fallback";font-weight:700;font-style:normal}#dm div.dmContent h1{color:var(--color_1);direction:ltr;text-decoration:none;text-transform:uppercase;text-shadow:rgba(0,0,0,.4) 0 0 15px;font-size:42px}#dm div.dmContent .dmNewParagraph[data-version] h1{text-decoration:inherit}#dm div.dmContent .dmNewParagraph[data-version] h1 *{text-decoration:none}#dm div.dmContent h2,#dm div.dmFooter h2,#dm div.p_hfcontainer h2{color:var(--color_3);direction:ltr;text-decoration:none;font-size:28px}#dm div.dmContent .dmNewParagraph[data-version] h2{text-decoration:inherit}#dm div.dmContent .dmNewParagraph[data-version] h2 *{text-decoration:none}#dm div.dmContent h1,#dm div.dmContent h2,#dm div.dmFooter h2{line-height:initial}#dm DIV.dmOuter DIV.dmInner{background-image:none;background-color:var(--color_1)}#dm .dmContent .dmRespRow{margin:0;padding:15px 40px}#dm .dmContent .dmRespRow .dmRespCol{margin:0;padding:0}@media all{:root{--btn-border-l-color:rgb(255, 255, 255);--btn-border-r-color:rgb(255, 255, 255);--btn-border-b-width:1px;--btn-text-direction:ltr;--btn-border-radius:8px;--btn-border-t-width:1px;--btn-border-tl-radius:var(--btn-border-radius);--btn-border-br-radius:var(--btn-border-radius);--btn-border-bl-radius:var(--btn-border-radius);--btn-bg-color:var(--color_3);--btn-border-r-width:1px;--btn-border-tr-radius:var(--btn-border-radius);--btn-border-b-color:rgb(255, 255, 255);--btn-border-l-width:1px;--border-style:solid;--btn-border-t-color:rgb(255, 255, 255);--btn-text-align:center;--btn-text-color:var(--color_1);--btn-text-decoration:none;--btn-text-font-weight:700;--btn-icon-color:rgb(247, 247, 247);--btn-icon-fill:rgb(247, 247, 247);--btn-icon-wrpr-display:none;--btn-hover-border-b-color:var(--btn-hover-border-color);--btn-hover-bg:var(--color_4);--btn-hover-border-t-color:var(--btn-hover-border-color);--btn-hover-border-r-color:var(--btn-hover-border-color);--btn-hover-border-l-color:var(--btn-hover-border-color);--btn-hover-border-color:var(--color_1);--btn-hover-text-color:var(--color_1);--btn-hover-text-font-weight:var(--btn-text-font-weight);--btn-hover-text-decoration:var(--btn-text-decoration);--btn-hover-text-font-style:var(--btn-text-font-style)}.button_2{--btn-border-l-color:rgb(255, 255, 255);--btn-border-r-color:rgb(255, 255, 255);--btn-border-b-width:1px;--btn-text-direction:ltr;--btn-border-radius:8px;--btn-border-t-width:1px;--btn-border-tl-radius:var(--btn-border-radius);--btn-border-br-radius:var(--btn-border-radius);--btn-border-bl-radius:var(--btn-border-radius);--btn-bg-color:var(--color_4);--btn-border-r-width:1px;--btn-border-tr-radius:var(--btn-border-radius);--btn-border-b-color:rgb(255, 255, 255);--btn-border-l-width:1px;--border-style:solid;--btn-border-t-color:rgb(255, 255, 255);--btn-text-align:center;--btn-text-color:var(--color_1);--btn-text-decoration:none;--btn-text-font-weight:700;--btn-icon-color:rgb(247, 247, 247);--btn-icon-fill:rgb(247, 247, 247);--btn-icon-wrpr-display:none;--btn-hover-border-b-color:var(--btn-hover-border-color);--btn-hover-bg:var(--color_3);--btn-hover-border-t-color:var(--btn-hover-border-color);--btn-hover-border-r-color:var(--btn-hover-border-color);--btn-hover-border-l-color:var(--btn-hover-border-color);--btn-hover-border-color:var(--color_1);--btn-hover-text-color:var(--color_1);--btn-hover-text-font-weight:var(--btn-text-font-weight);--btn-hover-text-decoration:var(--btn-text-decoration);--btn-hover-text-font-style:var(--btn-text-font-style)}}@media (min-width:0px) and (max-width:767px){.button_2,:root{--btn-text-font-size:16px}}#dm .dmWidget.button_2:not([data-buttonstyle]),#dm .dmWidget:not([data-buttonstyle]){border-radius:50px}#dm .dmWidget.button_2:not([data-buttonstyle]) .text,#dm .dmWidget:not([data-buttonstyle]) .text{padding:10px 0}#dm .dmWidget.button_2:not([data-buttonstyle]) .iconBg,#dm .dmWidget:not([data-buttonstyle]) .iconBg{display:none}#dm div.dmInner #site_content .dmWidget,#dm div.dmInner .dmHeader .dmWidget{background-color:var(--btn-bg-color);border-color:var(--btn-border-color);border-bottom-color:var(--btn-border-b-color);border-left-color:var(--btn-border-l-color);border-right-color:var(--btn-border-r-color);border-top-color:var(--btn-border-t-color);border-radius:var(--btn-border-radius);border-bottom-left-radius:var(--btn-border-bl-radius);border-bottom-right-radius:var(--btn-border-br-radius);border-top-left-radius:var(--btn-border-tl-radius);border-top-right-radius:var(--btn-border-tr-radius);border-width:var(--btn-border-width);border-bottom-width:var(--btn-border-b-width);border-left-width:var(--btn-border-l-width);border-right-width:var(--btn-border-r-width);border-top-width:var(--btn-border-t-width);direction:var(--btn-text-direction);text-align:var(--btn-text-align)}#dm div.dmInner #site_content .dmWidget span.text{color:var(--btn-text-color);font-size:var(--btn-text-font-size);font-weight:var(--btn-text-font-weight);text-decoration:var(--btn-text-decoration)}#dm div.dmInner #site_content .dmWidget span.icon,#dm div.dmInner .dmHeader .dmWidget span.icon{color:var(--btn-icon-color);fill:var(--btn-icon-fill)}#dm div.dmInner #site_content .dmWidget:not([data-buttonstyle]) .iconBg,#dm div.dmInner .dmHeader .dmWidget:not([data-buttonstyle]) .iconBg{display:var(--btn-icon-wrpr-display)}#dm .p_hfcontainer .main-navigation.unifiednav:not(.unifiednav_vertical) .unifiednav__container:not([data-depth])>.unifiednav__item-wrap:not(:last-child)::after,#dm .p_hfcontainer .main-navigation.unifiednav:not(.unifiednav_vertical) .unifiednav__container:not([data-depth])>.unifiednav__item-wrap:not(:last-child)::before{font-size:14px!important}#dm .dmInner div.dmHeader,#dm .dmInner div.dmHeader.u_hcontainer,#dm .dmInner div.u_hcontainer{background-color:var(--color_1)!important;box-shadow:rgba(0,0,0,.25) 0 3px 11px 0!important;-moz-box-shadow:rgba(0,0,0,.25) 0 3px 11px 0!important;-webkit-box-shadow:rgba(0,0,0,.25) 0 3px 11px 0!important}#dm .p_hfcontainer div.u_1073006314 .mobile-bg{background-color:var(--color_1)!important}#dm .p_hfcontainer div.u_1133041273 img{border-radius:0!important;-moz-border-radius:0!important;-webkit-border-radius:0!important}#dm .p_hfcontainer .u_1648910732.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item{justify-content:flex-start!important;text-align:left!important;padding-top:12px!important;padding-bottom:12px!important}#dm .p_hfcontainer .u_1648910732.main-navigation.unifiednav[data-nav-structure=VERTICAL] .unifiednav__container:not([data-depth])>.unifiednav__item-wrap::after{align-self:flex-start!important}#dm .p_hfcontainer .u_1648910732.main-navigation.unifiednav .unifiednav__container[data-depth] .unifiednav__item{justify-content:flex-start!important;padding-top:10px!important;padding-bottom:10px!important}#dm .p_hfcontainer .u_1133041273{width:100%!important}#dm .p_hfcontainer nav.u_1648910732{color:#000!important}#dm .p_hfcontainer div.u_1138580787{background-color:var(--color_3)!important}#dm .p_hfcontainer nav.u_1648910732.main-navigation.unifiednav{background-color:rgba(0,0,0,0)!important}#dm .p_hfcontainer nav.u_1648910732.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item{color:var(--color_1)!important;font-weight:400!important}#dm .p_hfcontainer nav.u_1648910732.main-navigation.unifiednav .unifiednav__container[data-depth] .unifiednav__item{font-weight:400!important;color:var(--color_1)!important;font-size:20px!important}#dm .p_hfcontainer nav.u_1648910732.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item.dmNavItemSelected{font-weight:400!important}#dm .p_hfcontainer .u_1648910732.main-navigation.unifiednav:not([image]) .unifiednav__container[data-depth="0"]{top:calc(100% - 12px - 0px)!important}div.u_1129387757{background-repeat:no-repeat!important;background-image:url(https://le-cdn.hibuwebsites.com/9b20844f25784bd9bf32518bd012c549/dms3rep/multi/opt/samuel-scalzo-xyuYk9oLA8I-unsplash-1920w.jpg),url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAABhGlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9TpUUqHSwo4pChOlkQFemoVShChVArtOpgcukXNGlIUlwcBdeCgx+LVQcXZ10dXAVB8APEzc1J0UVK/F9aaBHjwXE/3t173L0DhEaFaVbPBKDptplOJsRsblUMvEJAGEEMIi4zy5iTpBQ8x9c9fHy9i/Es73N/jn41bzHAJxLPMsO0iTeIZzZtg/M+cYSVZJX4nHjcpAsSP3JdafEb56LLAs+MmJn0PHGEWCx2sdLFrGRqxNPEUVXTKV/ItljlvMVZq9RY+578haG8vrLMdZojSGIRS5AgQkENZVRgI0arToqFNO0nPPzDrl8il0KuMhg5FlCFBtn1g//B726twtRkKymUAHpfHOdjFAjsAs2643wfO07zBPA/A1d6x19tAPFP0usdLXoEhLeBi+uOpuwBlzvA0JMhm7Ir+WkKhQLwfkbflAMGboG+tVZv7X2cPgAZ6ip1AxwcAmNFyl73eHewu7d/z7T7+wFwJnKmZ9+MiwAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAuIwAALiMBeKU/dgAAAAd0SU1FB+UCDwksLkLIPkkAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAC0lEQVQI12NgAAIAAAUAAeImBZsAAAAASUVORK5CYII=)!important;background-size:cover!important}#dm .p_hfcontainer .u_1667374225.main-navigation.unifiednav .unifiednav__container[data-depth="0"]{top:calc(100% - 0px - 0px)!important}#dm .p_hfcontainer .u_1667374225.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item{padding-right:15px!important;padding-left:15px!important;padding-top:0!important}#dm .p_hfcontainer .u_1667374225.main-navigation.unifiednav .unifiednav__container[data-depth] .unifiednav__item{margin:0!important;padding:7px 30px 7px 15px!important}nav.u_1667374225.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item{color:rgba(255,255,255,1)!important;font-weight:700!important}nav.u_1667374225{color:#000!important}#dm .p_hfcontainer .u_1860993815{text-align:CENTER!important}#dm .p_hfcontainer .u_1342241740{width:100%!important}div.u_1129387757:before{background-color:var(--color_2)!important;opacity:.4!important}#dm .p_hfcontainer .u_1667374225.main-navigation.unifiednav:not([image]) .unifiednav__container[data-depth="0"]{top:calc(100% - 0px - 0px)!important}div.u_1289150689{background-color:rgba(0,0,0,0)!important}nav.u_1667374225.main-navigation.unifiednav .unifiednav__container[data-depth]{background-color:var(--color_3)!important}div.u_1041956477,div.u_1965230034,nav.u_1667374225.main-navigation.unifiednav{background-color:rgba(0,0,0,0)!important}#dm .p_hfcontainer div.u_1129387757{background-color:var(--color_4)!important;background-image:none!important}#dm .p_hfcontainer a.u_1936162938,#dm .p_hfcontainer div.u_1041956477{background-color:var(--color_3)!important}#dm .dmInner div.u_hcontainer{float:none!important;top:0!important;left:0!important;width:100%!important;position:relative!important;height:auto!important;max-width:100%!important;min-width:0!important;text-align:center!important;padding:25px 0 20px!important;margin:0 auto!important}#dm .dmInner div.dmHeader.u_hcontainer{padding-bottom:20px!important;padding-top:25px!important}[dmtemplateid=Hamburger].runtime-module-container .layout-drawer-hamburger{top:20.5px!important}[dmtemplateid=Hamburger] .site_content{margin-top:93px!important}#dm .dmInner div.fHeader .dmHeader[freeheader=true]{padding-top:12px!important;padding-bottom:12px!important}.fHeader #hcontainer.dmHeader[freeheader=true]{padding-top:initial!important;padding-bottom:initial!important}#dm .p_hfcontainer div#hamburger-header{box-shadow:rgba(0,0,0,.25) 0 3px 11px 0!important;-moz-box-shadow:rgba(0,0,0,.25) 0 3px 11px 0!important;-webkit-box-shadow:rgba(0,0,0,.25) 0 3px 11px 0!important;background-color:#fff!important;background-image:none!important;background-repeat:repeat!important;background-size:auto!important;background-position:0 0!important}.stickyHeaderSpacer{height:244.19px!important}@media (min-width:768px) and (max-width:1024px){.responsiveTablet .stickyHeaderSpacer{height:456.44px!important}.responsiveTablet [dmtemplateid=Hamburger].runtime-module-container .layout-drawer-hamburger{top:54.25px!important}.responsiveTablet [dmtemplateid=Hamburger] .site_content{margin-top:160.5px!important}}#dm .dmInner div.fHeader.dmHeaderContainer #hcontainer.dmHeader[freeheader=true],#dm .p_hfcontainer div.u_1242654371{margin:0!important;padding:0!important}@media (min-width:1025px){.responsiveTablet .stickyHeaderSpacer{height:224.17px!important}}#dm .p_hfcontainer div.u_1133041273,#dm .p_hfcontainer div.u_1138580787,#dm .p_hfcontainer nav.u_1648910732,nav.u_1667374225{float:none!important;top:0!important;left:0!important;position:relative!important;height:auto!important}#dm .p_hfcontainer #hamburger-drawer.layout-drawer:not([data-origin=top]){width:35vw!important}#dm .p_hfcontainer div.u_1094169612{margin-top:0!important;padding:0!important}#dm .p_hfcontainer nav.u_1648910732{width:892.99px!important;max-width:calc(100% - 0px)!important;justify-content:flex-start!important;align-items:stretch!important;min-width:25px!important;text-align:start!important;padding:0!important;margin:70px 0 0!important}#dm .p_hfcontainer div.u_1354901402{margin-top:0!important;padding:0 50px 100px!important}#dm .p_hfcontainer div.u_1133041273{width:170px!important;max-width:100%!important;min-width:0!important;text-align:center!important;display:block!important;min-height:auto!important;padding:0!important;margin:0 auto!important}#dm .p_hfcontainer div.u_1138580787{width:auto!important;max-width:none!important;min-width:0!important;text-align:center!important;margin:0!important;padding:0 40px!important}[dmtemplateid=Hamburger] .layout-drawer-hamburger.hamburger-on-header{color:var(--color_1)!important;background-color:rgba(0,0,0,0)!important}#dm .p_hfcontainer div#hamburger-drawer.layout-drawer{background-color:var(--color_3)!important}#dm .p_hfcontainer nav.u_1648910732.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item{font-size:22px!important}#dm .p_hfcontainer div.u_1479300898{width:auto!important;padding:30px 30px 15px!important;margin:0!important}div.u_1203114946{padding-top:0!important}div.u_1129387757{background-position:50% 50%!important;background-attachment:initial!important;width:auto!important;padding:0!important}nav.u_1667374225.main-navigation.unifiednav:not(.unifiednav_vertical) .unifiednav__container:not([data-depth])>.unifiednav__item-wrap:not(:last-child)::after,nav.u_1667374225.main-navigation.unifiednav:not(.unifiednav_vertical) .unifiednav__container:not([data-depth])>.unifiednav__item-wrap:not(:last-child)::before,nav.u_1667374225.main-navigation.unifiednav:not([data-nav-structure=VERTICAL]) .unifiednav__container:not([data-depth])>.unifiednav__item-wrap:not(:last-child)::after,nav.u_1667374225.main-navigation.unifiednav:not([data-nav-structure=VERTICAL]) .unifiednav__container:not([data-depth])>.unifiednav__item-wrap:not(:last-child)::before{padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important}div.u_1041956477{width:auto!important;padding:5px 40px!important}div.u_1676089735,nav.u_1667374225{width:calc(100% - 0px)!important;min-width:25px!important}nav.u_1667374225{max-width:100%!important;justify-content:center!important;align-items:stretch!important;text-align:start!important;padding:6px 0 6.8px!important;margin:0!important}nav.u_1667374225.main-navigation.unifiednav .unifiednav__container[data-depth] .unifiednav__item{color:var(--color_1)!important;font-weight:700!important;font-size:15px!important}div.u_1920760960{margin:0!important;padding:0!important}div.u_1273434017{margin:0!important;padding:0 0 0 20px!important}div.u_1253849326{margin:0!important;padding:0 20px 0 0!important}div.u_1676089735,div.u_1860993815{max-width:100%!important;padding:0!important;float:none!important;position:relative!important;left:0!important;height:auto!important;top:0!important}div.u_1676089735{display:block!important;min-height:auto!important;margin:18px 0 -6px .68px!important}div.u_1860993815{font-weight:700!important;font-size:20px!important;width:300.97px!important;min-width:0!important;display:block!important;margin:0 0 0 auto!important}div.u_1289150689{width:auto!important;padding:0 0 8px!important;margin:0!important}div.u_1392410858{float:none!important;top:0!important;left:0!important;width:calc(100% - 0px)!important;position:relative!important;height:auto!important;min-height:auto!important;max-width:339.92px!important;min-width:25px!important;padding:2px 0!important;margin:8px 0!important}#dm .p_hfcontainer nav.u_1667374225,a.u_1150258510,div.u_1342241740{float:none!important;position:relative!important;min-width:0!important;max-width:100%!important}div.u_1584170078,div.u_1623142754{margin:0!important;padding:0!important}div.u_1965230034{width:auto!important;margin:0!important;padding:25px 20px 0!important}a.u_1150258510{display:block!important;top:0!important;left:0!important;width:278px!important;height:45px!important;text-align:center!important;padding:0!important;margin:0 0 0 auto!important}div.u_1512876335{margin:0!important;padding:0!important}div.u_1342241740{width:180px!important;height:auto!important;display:block!important;top:0!important;left:0!important;text-align:start!important;min-height:auto!important;padding:0!important;margin:-80px auto 0!important}#dm .p_hfcontainer nav.u_1667374225{top:0!important;left:0!important;width:100%!important;height:auto!important;min-height:auto!important;justify-content:center!important;align-items:stretch!important;text-align:center!important;padding:6px 0 6.8px!important;margin:0 auto!important}#dm .p_hfcontainer div.u_1392410858,#dm .p_hfcontainer div.u_1676089735,#dm .p_hfcontainer div.u_1860993815{float:none!important;left:0!important;position:relative!important;min-height:auto!important;min-width:25px!important;height:auto!important}#dm .p_hfcontainer div.u_1041956477{padding:0!important}#dm .p_hfcontainer div.u_1676089735{top:0!important;width:calc(100% - 0px)!important;max-width:100%!important;padding:0!important;margin:15.99px 0 -6px .68px!important}#dm .p_hfcontainer div.u_1860993815{top:0!important;width:calc(100% - 79px)!important;max-width:300.96px!important;padding:0!important;margin:7px 0 0 79.01px!important}#dm .p_hfcontainer div.u_1392410858{top:0!important;width:calc(100% - 0px)!important;max-width:265px!important;padding:2px 0!important;margin:6.98px 0 8px!important}#dm .p_hfcontainer a.u_1936162938,#dm .p_hfcontainer div.u_1702463622{margin:0 auto!important;display:block!important;float:none!important;top:0!important;left:0!important;position:relative!important;min-height:auto!important;max-width:100%!important;padding:0!important}#dm .p_hfcontainer a.u_1936162938{width:176px!important;height:45px!important;min-width:0!important;text-align:center!important}#dm .p_hfcontainer div.u_1702463622{width:241.64px!important;height:65px!important;min-width:0!important;text-align:center!important}#dm .p_hfcontainer a.u_1150258510,#dm .p_hfcontainer a.u_1266965214,#dm .p_hfcontainer div.u_1512876335,a.u_1266965214,a.u_1462729595{height:45px!important;text-align:center!important;min-width:0!important}a.u_1266965214{display:block!important;float:none!important;top:0!important;left:0!important;width:278px!important;position:relative!important;min-height:auto!important;max-width:100%!important;padding:0!important}#dm .p_hfcontainer a.u_1266965214{width:174px!important;float:none!important;top:0!important;left:0!important;position:relative!important;min-height:auto!important;max-width:100%!important;display:block!important;padding:0!important;margin:0 auto 10px!important}a.u_1462729595{display:block!important;float:none!important;top:0!important;left:0!important;width:278px!important;position:relative!important;min-height:auto!important;max-width:100%!important;padding:0!important}#dm .p_hfcontainer div.u_1250396029{margin:0!important;padding:0 0 0 5px!important}#dm .p_hfcontainer div.u_1965230034{width:auto!important;margin:0!important;padding:15px 20px 0!important}#dm .p_hfcontainer a.u_1150258510,#dm .p_hfcontainer a.u_1462729595,#dm .p_hfcontainer div.u_1342241740,#dm .p_hfcontainer div.u_1512876335{top:0!important;padding:0!important;position:relative!important;max-width:100%!important;left:0!important;float:none!important;min-height:auto!important;display:block!important}#dm .p_hfcontainer div.u_1512876335{width:384.64px!important;margin:0 auto 0 0!important}#dm .p_hfcontainer a.u_1150258510{width:187px!important;margin:0 0 0 auto!important}#dm .p_hfcontainer div.u_1342241740{width:179px!important;height:auto!important;min-width:0!important;text-align:start!important;margin:-70px auto 0!important}#dm .p_hfcontainer a.u_1462729595{width:187.3px!important;height:45px!important;min-width:0!important;text-align:center!important;margin:0 0 10px auto!important}#dm .dmBody .u_1211249662.main-navigation.unifiednav .unifiednav__container[data-depth="0"],#dm .dmBody .u_1211249662.main-navigation.unifiednav:not([image]) .unifiednav__container[data-depth="0"]{top:calc(100% - 0px - 0px)!important}#dm .dmBody .u_1226078245,#dm .dmBody .u_1321281348,#dm .dmBody .u_1468687412 .openHours{text-align:CENTER!important}#dm .dmBody div.u_1226078245{color:rgba(255,255,255,1)!important;font-weight:700!important}#dm .dmBody div.u_1544161175 .motFactCont p.rteBlock{font-weight:700!important}#dm .dmBody div.u_1468687412 .openHours{color:rgba(255,255,255,1)!important;font-weight:700!important}#dm .dmBody .u_1211249662.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item{padding-right:15px!important;padding-left:15px!important;padding-top:0!important}#dm .dmBody .u_1211249662.main-navigation.unifiednav .unifiednav__container[data-depth] .unifiednav__item{margin:0!important;padding:7px 30px 7px 15px!important}#dm .dmBody nav.u_1211249662.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item{color:rgba(255,255,255,1)!important;font-weight:700!important}#dm .dmBody .u_1919885802{width:100%!important}#dm .dmBody div.u_1045463967,#dm .dmBody div.u_1085604804{background-color:rgba(0,0,0,0)!important}#dm .dmBody nav.u_1211249662.main-navigation.unifiednav .unifiednav__container[data-depth]{background-color:var(--color_3)!important}#dm .dmBody div.u_1541513481,#dm .dmBody nav.u_1211249662.main-navigation.unifiednav{background-color:rgba(0,0,0,0)!important}#dm .dmBody nav.u_1211249662.main-navigation.unifiednav .unifiednav__container[data-depth] .unifiednav__item{color:var(--color_1)!important;font-weight:700!important;font-size:15px!important}#dm .dmBody div.u_1489538321 hr{background:linear-gradient(89deg,transparent,currentColor,transparent)!important;height:2px!important;color:rgba(187,187,187,1)!important;border:none!important}#dm .d-page-1716942098 DIV.dmInner,#dm .dmBody div.u_1116642210{background-repeat:no-repeat!important;background-size:cover!important}#dm .dmBody div.u_1496858348{background-color:var(--color_3)!important}div.u_1541513481{background-color:rgba(68,68,68,1)!important}#dm .dmBody div.u_1296086959{background-color:var(--color_5)!important}#dm .dmBody div.u_1116642210:before{background-color:var(--color_2)!important;opacity:.45!important}#dm .d-page-1716942098 DIV.dmInner{background-attachment:fixed!important;background-position:50% 50%!important}#dm .dmBody div.u_1489538321{width:150px!important;display:block!important;float:none!important;top:0!important;left:0!important;position:relative!important;height:auto!important;max-width:100%!important;min-width:0!important;text-align:start!important;padding:0!important;margin:0 auto!important}#dm .dmBody div.u_1621665363{float:none!important;top:0!important;max-width:895px!important;left:0!important;width:calc(100% - 85px)!important;position:relative!important;min-width:25px!important;height:auto!important;padding:2px 15px 2px 0!important;margin:10px auto 8px!important}#dm .dmBody div.u_1376240788,#dm .dmBody nav.u_1211249662{width:calc(100% - 0px)!important;max-width:100%!important;position:relative!important;left:0!important;height:auto!important}#dm .dmBody div.u_1969202070{padding-top:0!important}#dm .dmBody div.u_1544161175{padding:0!important;margin:10px 0 40px!important}#dm .dmBody .u_1544161175 .motFactCont p.rteBlock{line-height:27px!important}#dm .dmBody .u_1544161175 .motFactCont{margin-top:25px!important}#dm .dmBody nav.u_1211249662.main-navigation.unifiednav:not(.unifiednav_vertical) .unifiednav__container:not([data-depth])>.unifiednav__item-wrap:not(:last-child)::after,#dm .dmBody nav.u_1211249662.main-navigation.unifiednav:not(.unifiednav_vertical) .unifiednav__container:not([data-depth])>.unifiednav__item-wrap:not(:last-child)::before,#dm .dmBody nav.u_1211249662.main-navigation.unifiednav:not([data-nav-structure=VERTICAL]) .unifiednav__container:not([data-depth])>.unifiednav__item-wrap:not(:last-child)::after,#dm .dmBody nav.u_1211249662.main-navigation.unifiednav:not([data-nav-structure=VERTICAL]) .unifiednav__container:not([data-depth])>.unifiednav__item-wrap:not(:last-child)::before{padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important}#dm .dmBody nav.u_1211249662{color:#fff!important;float:none!important;top:0!important;justify-content:center!important;align-items:stretch!important;min-width:25px!important;text-align:start!important;padding:6px 0 6.8px!important;margin:0!important}#dm .dmBody div.u_1468687412,a.u_1197447746{text-align:center!important;float:none!important}#dm .dmBody div.u_1492127244{margin:0!important;padding:0!important}#dm .dmBody div.u_1357272037{margin:0!important;padding:0 0 0 20px!important}#dm .dmBody div.u_1596562804{margin:0!important;padding:0 20px 0 0!important}div.u_1922262552{padding:0 0 2px!important}#dm .dmBody div.u_1226078245{font-size:28px!important;padding:0!important;margin:0 0 8px!important}@media (min-width:1025px){.responsiveTablet .d-header-wrapper,.responsiveTablet .stickyHeaderSpacer{display:none!important}}#dm .dmBody div.u_1085604804{width:auto!important;padding:0 0 8px!important;margin:0!important}#dm .dmBody div.u_1496858348{width:auto!important;margin:0!important;padding:30px 40px!important}div.u_1378651247,div.u_1981837653{margin:0!important;padding:0!important}div.u_1541513481{width:auto!important;padding:4px 20px!important}a.u_1197447746{display:block!important;top:0!important;left:0!important;width:278px!important;position:relative!important;height:45px!important;max-width:100%!important;min-width:0!important;padding:0!important;margin:0 0 0 auto!important}div.u_1541415534{margin:0!important;padding:0!important}#dm .dmBody div.u_1376240788{display:block!important;float:none!important;top:0!important;min-width:25px!important;min-height:auto!important;padding:2px 0!important;margin:8px auto!important}#dm .dmBody div.u_1156262175{display:block!important;float:none!important;top:0!important;max-width:100%!important;left:0!important;width:961.22px!important;position:relative!important;min-width:0!important;height:auto!important;min-height:auto!important;padding:2px 25px!important;margin:20px auto 0!important}#dm .dmBody div.u_1321281348{font-weight:700!important;font-size:20px!important;float:none!important;top:0!important;left:0!important;width:calc(100% - 79px)!important;position:relative!important;height:auto!important;max-width:300.97px!important;min-width:25px!important;display:block!important;min-height:auto!important;padding:0!important;margin:0 0 0 79.02px!important}#dm .dmBody div.u_1296086959{width:auto!important;padding:0!important}#dm .dmBody div.u_1373617765,#dm .dmBody div.u_1468687412,#dm .dmBody div.u_1922262552,div.u_1420953297{width:calc(100% - 0px)!important;position:relative!important;min-width:25px!important}div.u_1420953297{float:none!important;top:0!important;left:0!important;height:auto!important;min-height:auto!important;max-width:339.92px!important;padding:2px 0!important}#dm .dmBody div.u_1373617765,#dm .dmBody div.u_1468687412,#dm .dmBody div.u_1541415534,#dm .dmBody div.u_1922262552{max-width:100%!important;top:0!important;left:0!important}#dm .dmBody div.u_1922262552{display:block!important;float:none!important;height:auto!important;min-height:auto!important;padding:0!important;margin:22px 0 -6px .68px!important}#dm .dmBody div.u_1373617765{float:none!important;height:auto!important;min-height:auto!important;padding:2px 0 0!important;margin:-40px auto 8px!important}#dm .dmBody div.u_1468687412{height:19.5px!important;min-height:auto!important;padding:0!important;margin:15px auto 0!important}#dm .dmBody div.u_1116642210{background-image:url(https://le-cdn.hibuwebsites.com/9b20844f25784bd9bf32518bd012c549/dms3rep/multi/opt/tsw-roofing-solutions-hero-home-03-1920w.jpg),url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAABhGlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9TpUUqHSwo4pChOlkQFemoVShChVArtOpgcukXNGlIUlwcBdeCgx+LVQcXZ10dXAVB8APEzc1J0UVK/F9aaBHjwXE/3t173L0DhEaFaVbPBKDptplOJsRsblUMvEJAGEEMIi4zy5iTpBQ8x9c9fHy9i/Es73N/jn41bzHAJxLPMsO0iTeIZzZtg/M+cYSVZJX4nHjcpAsSP3JdafEb56LLAs+MmJn0PHGEWCx2sdLFrGRqxNPEUVXTKV/ItljlvMVZq9RY+578haG8vrLMdZojSGIRS5AgQkENZVRgI0arToqFNO0nPPzDrl8il0KuMhg5FlCFBtn1g//B726twtRkKymUAHpfHOdjFAjsAs2643wfO07zBPA/A1d6x19tAPFP0usdLXoEhLeBi+uOpuwBlzvA0JMhm7Ir+WkKhQLwfkbflAMGboG+tVZv7X2cPgAZ6ip1AxwcAmNFyl73eHewu7d/z7T7+wFwJnKmZ9+MiwAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAuIwAALiMBeKU/dgAAAAd0SU1FB+UCDwksLkLIPkkAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAC0lEQVQI12NgAAIAAAUAAeImBZsAAAAASUVORK5CYII=)!important;background-position:50% 0!important;background-attachment:initial!important;width:auto!important;padding:0!important;margin:0!important}#dm .dmBody div.u_1541415534{display:block!important;float:none!important;width:100%!important;position:relative!important;height:45px!important;min-height:auto!important;min-width:0!important;text-align:start!important;padding:0!important;margin:0 auto 0 0!important}#dm .dmBody div.u_1420953297{float:none!important;top:0!important;left:0!important;width:calc(100% - 0px)!important;position:relative!important;height:auto!important;min-height:auto!important;max-width:268.92px!important;min-width:25px!important;display:block!important;padding:2px 0!important;margin:7px 56.41px 8px 0!important}#dm .dmBody a.u_1197447746,a.u_1578709304{float:none!important;top:0!important;left:0!important;position:relative!important;max-width:100%!important;min-width:0!important;text-align:center!important}a.u_1578709304{display:block!important;width:278px!important;height:45px!important;padding:0!important}#dm .dmBody div.u_1541513481{width:auto!important;margin:0!important;padding:10px 20px 0!important}#dm .dmBody a.u_1197447746{width:278px!important;height:45px!important;min-height:auto!important;padding:0!important;margin:0!important}#dm .dmBody div.u_1378651247{margin:0!important;padding:0 5px 0 0!important}#dm .dmBody a.u_1578709304,#dm .dmBody div.u_1919885802{float:none!important;top:0!important;left:0!important;position:relative!important;max-width:100%!important;min-width:0!important;min-height:auto!important;padding:0!important}#dm .dmBody a.u_1578709304{display:block!important;width:192px!important;height:45px!important;text-align:center!important;margin:0 0 10px auto!important}#dm .dmBody div.u_1919885802{width:179px!important;height:auto!important;display:block!important;text-align:start!important;margin:-70px auto 0!important}#dm .dmBody div.u_1795195367{margin:0!important;padding:0 0 0 5px!important}#dm .dmBody div.u_1045463967{width:auto!important;padding:50px 40px 100px!important;margin:0!important}.font-size-22,.size-22{font-size:22px!important}.font-size-16,.size-16{font-size:16px!important}.font-size-24,.size-24{font-size:24px!important}#\31 112432406,#\31 487560650,#\31 668164516,#\31 819853933,#\31 987319665,#hamburger-drawer{order:0}#\31 487560650,#\31 987319665{flex-direction:row}#\30,#\31,#\31 025176510,#\31 042792966,#\31 152653516,#\31 211249662,#\31 233457068,#\31 247955519,#\31 253858808,#\31 303778391,#\31 349724553,#\31 377296544,#\31 382034199,#\31 417543498,#\31 480964944,#\31 619432455,#\31 624539560,#\31 648910732,#\31 667374225,#\31 700203110,#\31 716137522,#\31 758437053,#\31 761050951,#\31 786785446,#\31 841474639,#\31 890768626,#\31 972001438,#\32,#\33,#child-0,#child-1,#child-2,#child-3{order:0;flex-direction:row} #dm .dmPhotoGallery.newPhotoGallery .dmPhotoGalleryHolder:not(.photo-gallery-done) {display: none;} @media (max-width:767px){ [data-hidden-on-mobile] {display:none!important}} .dmDesktopBody [data-anim-desktop]:not([data-anim-desktop='none']) { visibility: hidden; } </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: "Montserrat Fallback"; src: local('Arial'); ascent-override: 84.9466%; descent-override: 22.0264%; size-adjust: 113.954%; line-gap-override: 0%; }@font-face { font-family: "Poppins Fallback"; src: local('Arial'); ascent-override: 92.326%; descent-override: 30.7753%; line-gap-override: 8.793%; size-adjust: 113.7274%; } </style> <!-- End render the required css and JS in the head section --> <meta property="og:type" content="website"> <meta property="og:url" content="https://www.tswroofingsolutionsinc.com/"> <script type="application/ld+json"> { "@context" : "https://schema.org", "@type" : "WebSite", "name" : "TSW Roofing Solutions Inc", "url" : "https://www.tswroofingsolutionsinc.com/" } </script> <title> Roofing | TSW Roofing Solutions Inc | Forest Hill, MD </title> <meta name="description" content="Expert roofing services, including replacement & repair. Serving Forest Hill, MD."/> <!-- Begin Name of Code --> <!-- End Name of Code --> <meta name="twitter:card" content="summary"/> <meta name="twitter:title" content="Roofing | TSW Roofing Solutions Inc | Forest Hill, MD"/> <meta name="twitter:description" content="Expert roofing services, including replacement & repair. Serving Forest Hill, MD."/> <meta name="twitter:image" content="https://le-cdn.hibuwebsites.com/9b20844f25784bd9bf32518bd012c549/dms3rep/multi/opt/tsw-roofing-solutions-hero-home-1920w.jpg"/> <meta property="og:description" content="Expert roofing services, including replacement & repair. Serving Forest Hill, MD."/> <meta property="og:title" content="Roofing | TSW Roofing Solutions Inc | Forest Hill, MD"/> <meta property="og:image" content="https://le-cdn.hibuwebsites.com/9b20844f25784bd9bf32518bd012c549/dms3rep/multi/opt/tsw-roofing-solutions-hero-home-1920w.jpg"/> <script type="application/ld+json"> { "@context" : { "@vocab" : "http://schema.org/" }, "@type" : "LocalBusiness", "name" : "TSW Roofing Solutions Inc", "address" : { "@type" : "PostalAddress", "streetAddress" : "1615 Robin Cir #G", "addressLocality" : "Forest Hill", "addressRegion" : "MD", "postalCode" : "21050", "addressCountry" : "US" }, "geo" : { "@type" : "GeoCoordinates", "latitude" : "39.56832", "longitude" : "-76.36384" }, "url" : "https://www.tswroofingsolutionsinc.com", "telephone" : "(443) 261-0605", "email" : "[email protected]", "logo" : "https://a.mktgcdn.com/p/R3jBi6v5YTys5M39Dr8XunyETX4YgNhTOjVDSsaiMjQ/400x400.jpg", "sameAs" : [ "https://yelp.com/biz/tsw-roofing-solutions-forest-hill" ], "image" : [ "https://cdn.hibuwebsites.com/9b20844f25784bd9bf32518bd012c549/dms3rep/multi/tsw-roofing-solutions-video.JPEG", "https://cdn.hibuwebsites.com/9b20844f25784bd9bf32518bd012c549/dms3rep/multi/tsw-roofing-solutions-logo-885eaf35.png", "https://cdn.hibuwebsites.com/9b20844f25784bd9bf32518bd012c549/dms3rep/multi/tsw-roofing-solutions-logo-885eaf35.png" ], "openingHoursSpecification" : [ { "@type" : "OpeningHoursSpecification", "dayOfWeek" : [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" ], "opens" : "08:00", "closes" : "17:00" } ], "@id" : "https://www.tswroofingsolutionsinc.com", "foundingDate" : "2009", "description" : "TSW Roofing Solutions Inc provides roof replacement, roof repair, roof inspection, and roof preventative maintenance to Baltimore County and the surrounding area." } </script> <!-- SYS- VVNfSElCVV9QUk9EVUNUSU9O --> <script type="text/javascript">(function(){ if (typeof(___zen) === "undefined") {setTimeout(arguments.callee, 50); return; }___zen.hic("__ZEHIC3701", 1748519242, 1, 0, 60); })()</script><script type="text/javascript" async="async" src="/__zenedge/assets/hic.js"></script></head> <body id="dmRoot" data-page-alias="home" class="dmRoot dmDesktopBody fix-mobile-scrolling addCanvasBorder dmResellerSite dmLargeBody responsiveTablet " 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="1901957768" class="dm-home-page" themewaschanged="true"> <div dmtemplateid="Hamburger" data-responsive-name="ResponsiveDesktopTopTabletHamburger" class="runtime-module-container dm-bfs dm-layout-home hasAnimations rows-1200 hide-back-to-top hamburger-reverse hasStickyHeader dmPageBody d-page-1716942098 inputs-css-clean dmFreeHeader" id="dm-outer-wrapper" data-page-class="1716942098" data-soch="true" data-background-parallax-selector=".dmHomeSection1, .dmSectionParallex"> <div id="dmStyle_outerContainer" class="dmOuter"> <div id="dmStyle_innerContainer" class="dmInner"> <div class="dmLayoutWrapper standard-var dmStandardDesktop"> <div id="site_content"> <div class="p_hfcontainer showOnMedium"> <div id="hamburger-drawer" class="hamburger-drawer layout-drawer" layout="e9d510f4eb904e939c2be8efaf777e6e===header" data-origin="side-reverse"> <div class="u_1094169612 dmRespRow" style="text-align: center;" id="1094169612"> <div class="dmRespColsWrapper" id="1987319665"> <div class="u_1242654371 dmRespCol small-12 medium-12 large-12 empty-column" id="1242654371"></div> </div> </div> <div class="u_1479300898 dmRespRow middleDrawerRow" style="text-align: center;" id="1479300898"> <div class="dmRespColsWrapper" id="1025176510"> <div class="dmRespCol small-12 u_1200699784 medium-12 large-12" id="1200699784"> <nav class="u_1648910732 effect-top-bottom main-navigation unifiednav dmLinksMenu" role="navigation" layout-main="vertical_nav_layout_2" layout-sub="" data-show-vertical-sub-items="HIDE" id="1648910732" dmle_extension="onelinksmenu" data-element-type="onelinksmenu" data-logo-src="" alt="" data-nav-structure="VERTICAL" 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 dmNavItemSelected dmUDNavigationItem_00 " target="" data-target-page-alias="" data-auto="selected-page"> <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="/roof-replacement" class="unifiednav__item dmUDNavigationItem_01010147961 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Roof Replacement" data-auto="page-text-style">Roof Replacement<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="/roof-repair" class="unifiednav__item dmUDNavigationItem_010101274511 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Roof Repair" data-auto="page-text-style">Roof Repair<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="/specialty-roofing-solutions" class="unifiednav__item dmUDNavigationItem_010101340793 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Specialty Roofing Solutions" data-auto="page-text-style">Specialty Roofing Solutions<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="/reviews" class="unifiednav__item dmUDNavigationItem_010101598202 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" Reviews " data-auto="page-text-style">Reviews<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="/about" class="unifiednav__item dmUDNavigationItem_010101436714 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" About " data-auto="page-text-style">About<span class="icon icon-angle-down" data-hidden-on-mobile="" data-hidden-on-desktop="" data-hidden-on-tablet=""></span> </span> </a> </li> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/faqs" class="unifiednav__item dmUDNavigationItem_010101199220 " 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-down"></span> </span> </a> </li> <li role="menuitem" aria-haspopup="true" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/contact" class="unifiednav__item dmUDNavigationItem_010101943230 unifiednav__item_has-sub-nav" target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" Contact " data-auto="page-text-style">Contact<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="/request-call-back-form" class="unifiednav__item dmUDNavigationItem_010101803352 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Request Call Back" data-auto="page-text-style">Request Call Back<span class="icon icon-angle-right"></span> </span> </a> </li> </ul> </li> </ul> </nav> </div> </div> </div> <div class="dmRespRow u_1354901402" style="text-align: center;" id="1354901402"> <div class="dmRespColsWrapper" id="1619432455"> <div class="u_1033971531 dmRespCol small-12 medium-12 large-12 empty-column" id="1033971531"></div> </div> </div> </div> <div class="layout-drawer-overlay" id="layout-drawer-overlay"></div> </div> <div class="site_content"> <div id="hamburger-header-container" class="showOnMedium hamburger-header-container p_hfcontainer"> <div id="hamburger-header" class="hamburger-header p_hfcontainer" layout="44dc38f951e9489490b055748e10ba9f===header"> <div class="u_1138580787 dmRespRow" style="text-align: center;" id="1138580787"> <div class="dmRespColsWrapper" id="1152653516"> <div class="dmRespCol small-12 u_1819853933 medium-4 large-4 content-removed" id="1819853933"> <div class="u_1702463622 widget-9015bc dmCustomWidget" data-lazy-load="true" data-title="" id="1702463622" dmle_extension="custom_extension" data-element-type="custom_extension" icon="false" surround="false" data-widget-id="9015bcbf1ace437aa6f0e66d5bb2e7d3" data-widget-version="25" data-widget-config="eyJtZXJjaGFudElkIjoiNjc0MTEiLCJtaW4tcmV2aWV3cyI6IjMiLCJtaW4tcmF0aW5nIjoiNCIsInNob3ctd3JpdGUiOnRydWUsImhpZGUtc3VtbWFyeSI6ZmFsc2UsImxpbmUtYnJlYWsiOnRydWUsInRoZW1lIjoibGlnaHQifQ=="> <div class="headerWidget" data-merchant="67411" data-theme="light" data-break="true" data-count-limit="3" data-rating-limit="4" data-show-write="true" data-hide-summary="false"></div> </div> </div> <div class="dmRespCol small-12 medium-4 large-4" id="1668164516"> <div class="u_1133041273 imageWidget align-center" data-element-type="image" data-widget-type="image" id="1133041273" data-binding="W3siYmluZGluZ05hbWUiOiJpbWFnZSIsInZhbHVlIjoic2l0ZV9pbWFnZXMucGVyc2lzdGVkLmRhcmstbG9nbyJ9XQ=="> <a href="/" id="1894490195" file="false"><img src="https://le-cdn.hibuwebsites.com/9b20844f25784bd9bf32518bd012c549/dms3rep/multi/opt/tsw-roofing-solutions-logo-885eaf35-1920w.png" id="1543394131" class="" data-dm-image-path="https://cdn.hibuwebsites.com/9b20844f25784bd9bf32518bd012c549/dms3rep/multi/tsw-roofing-solutions-logo-885eaf35.png" width="0.0" height="0.0" data-diy-image="" alt="TSW Roofing Solutions Inc- logo" onerror="handleImageLoadError(this)"/></a> </div> </div> <div class="dmRespCol small-12 medium-4 large-4" id="1112432406"> <a data-display-type="block" class="u_1266965214 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient" file="false" href="https://einvoice.gettrx.com/d955d1c2-d93b-4b22-9a23-13f2d5cf0279/payment/375af562-26d8-490d-9a6f-2412cc9d85ea" data-element-type="dButtonLinkId" id="1266965214" target="_blank"> <span class="iconBg" id="1644428788"> <span class="icon hasFontIcon icon-star" id="1377358276"></span> </span> <span class="text" id="1591286517">Make a Payment</span> </a> <a data-display-type="block" class="u_1936162938 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient button_2 u_1936162938 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient button_2" file="false" href="tel:(443) 261-0605" data-element-type="dButtonLinkId" id="1936162938" data-binding="W3siYmluZGluZ05hbWUiOiJsaW5rIiwidmFsdWUiOiJjb250ZW50X2xpYnJhcnkuZ2xvYmFsLnBob25lLnBob25lIC0gbWFpbiAtIGxvYyAxIn0seyJiaW5kaW5nTmFtZSI6ImJ1dHRvbl90ZXh0IiwidmFsdWUiOiJjb250ZW50X2xpYnJhcnkuZ2xvYmFsLnBob25lLnBob25lIC0gbWFpbiAtIGxvYyAxIn1d" data-diy-link=""> <span class="iconBg" id="1668618296"> <span class="icon hasFontIcon icon-star" id="1582223844"></span> </span> <span class="text" id="1893439189" data-diy-text="">(443) 261-0605</span> </a> </div> </div> </div> </div> </div> <button class="showOnMedium layout-drawer-hamburger hamburger-on-header" id="layout-drawer-hamburger" aria-label="menu"> <span class="hamburger__slice"></span> <span class="hamburger__slice"></span> <span class="hamburger__slice"></span> </button> <div class="dmHeaderContainer fHeader d-header-wrapper showOnLarge"> <div id="hcontainer" class="u_hcontainer dmHeader p_hfcontainer" freeheader="true" headerlayout="b58ba5b5703b4cd7b5f5f7951565dc87===horizontal-layout-5" layout="78f5c343822e4eb3aac27f4ad5d13812===header" has-shadow="true"> <div dm:templateorder="85" class="dmHeaderResp dmHeaderStack noSwitch" id="1709005236"> <div class="dmRespRow u_1129387757 fullBleedChanged fullBleedMode" id="1129387757" data-page-element-type="section" data-page-element-id="1330055665"> <div class="dmRespColsWrapper" id="1487560650"> <div class="dmRespCol large-12 medium-12 small-12 u_1203114946" id="1203114946"> <div class="dmRespRow u_1965230034" id="1965230034"> <div class="dmRespColsWrapper" id="1417543498"> <div class="dmRespCol small-12 u_1584170078 large-4 medium-4" id="1584170078"> <div class="u_1512876335 widget-9015bc dmCustomWidget" data-lazy-load="true" data-title="" id="1512876335" dmle_extension="custom_extension" data-element-type="custom_extension" icon="false" surround="false" data-widget-id="9015bcbf1ace437aa6f0e66d5bb2e7d3" data-widget-version="25" data-widget-config="eyJtZXJjaGFudElkIjoiNjc0MTEiLCJtaW4tcmV2aWV3cyI6IjMiLCJtaW4tcmF0aW5nIjoiNCIsInNob3ctd3JpdGUiOnRydWUsImhpZGUtc3VtbWFyeSI6ZmFsc2UsInRoZW1lIjoiZGFyayJ9"> <div class="headerWidget" data-merchant="67411" data-theme="dark" data-break="" data-count-limit="3" data-rating-limit="4" data-show-write="true" data-hide-summary="false"></div> </div> </div> <div class="u_1623142754 dmRespCol small-12 large-6 medium-6" id="1623142754"> <a data-display-type="block" class="u_1150258510 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient" file="false" href="/request-call-back-form" data-element-type="dButtonLinkId" id="1150258510"> <span class="iconBg" id="1952933972"> <span class="icon hasFontIcon icon-star" id="1740940435"></span> </span> <span class="text" id="1711966875">Request Call Back</span> </a> </div> <div class="u_1250396029 dmRespCol small-12 large-2 medium-2" id="1250396029"> <a data-display-type="block" class="u_1462729595 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient" file="false" href="https://einvoice.gettrx.com/d955d1c2-d93b-4b22-9a23-13f2d5cf0279/payment/375af562-26d8-490d-9a6f-2412cc9d85ea" data-element-type="dButtonLinkId" id="1462729595" target="_blank"> <span class="iconBg" id="1886945775"> <span class="icon hasFontIcon icon-star" id="1958111757"></span> </span> <span class="text" id="1428495229">Make a Payment</span> </a> </div> </div> </div> <div class="u_1289150689 dmRespRow hide-for-small hide-for-medium" id="1289150689"> <div class="dmRespColsWrapper" id="1761050951"> <div class="dmRespCol small-12 large-4 medium-4 u_1273434017" id="1273434017"> <div class="u_1392410858 dmNewParagraph" data-element-type="paragraph" data-version="5" id="1392410858" style="transition: none; text-align: left; display: block;"><p class="text-align-left m-size-18 size-22"><strong style="color: var(--color_1); font-weight: bold; display: unset;" class="font-size-22 m-font-size-18">Serving Greater Baltimore & Surrounding Counties</strong></p></div> </div> <div class="dmRespCol small-12 large-4 medium-4 u_1920760960" id="1920760960"> <div class="u_1342241740 imageWidget align-center" data-element-type="image" data-widget-type="image" id="1342241740" data-binding="W3siYmluZGluZ05hbWUiOiJpbWFnZSIsInZhbHVlIjoic2l0ZV9pbWFnZXMucGVyc2lzdGVkLmxpZ2h0LWxvZ28ifV0="><img src="https://le-cdn.hibuwebsites.com/9b20844f25784bd9bf32518bd012c549/dms3rep/multi/opt/tsw-roofing-solutions-logo-885eaf35-1920w.png" alt="TSW Roofing Solutions Inc - logo" id="1793316484" class="" data-dm-image-path="https://cdn.hibuwebsites.com/9b20844f25784bd9bf32518bd012c549/dms3rep/multi/tsw-roofing-solutions-logo-885eaf35.png" width="0.0" height="0.0" data-diy-image="" onerror="handleImageLoadError(this)"/></div> </div> <div class="dmRespCol large-4 medium-4 small-12 u_1253849326" id="1253849326"> <div class="u_1676089735 dmNewParagraph" data-element-type="paragraph" data-version="5" id="1676089735" style="transition: opacity 1s ease-in-out 0s; text-align: left;"><p class="m-size-13 text-align-right size-16"><span class="m-font-size-13 font-size-16" style="display: unset; font-style: normal; color: rgb(255, 255, 255);"><span style="display: unset; font-style: normal; color: rgb(255, 255, 255);" class="m-font-size-13 font-size-16">Call</span> </span></p></div> <div class="u_1860993815 dmNewParagraph" data-element-type="paragraph" data-version="5" id="1860993815" style="transition: none 0s ease 0s; text-align: center;" new-inline-bind-applied="true" data-diy-text=""><p class="text-align-right m-size-19 size-24"><span class="m-font-size-19 font-size-24" style="font-weight: bold; color: rgb(255, 255, 255); display: initial;"><span class="inline-data-binding" data-encoded-value="KDUwOCkgMjkxLTMwMzM=" data-inline-binding="content_library.global.phone.phone - main - loc 1"><a class="inlineBindingLink" target="_blank" href="tel:(443) 261-0605">(443) 261-0605</a></span></span></p></div> </div> </div> </div> <div class="u_1041956477 dmRespRow hide-for-small hide-for-medium" id="1041956477"> <div class="dmRespColsWrapper" id="1758437053"> <div class="dmRespCol large-12 medium-12 small-12 u_1590536295" id="1590536295"> <nav class="u_1667374225 effect-top-bottom main-navigation unifiednav dmLinksMenu" role="navigation" layout-main="horizontal_nav_layout_3" layout-sub="submenu_horizontal_2" data-show-vertical-sub-items="HOVER" id="1667374225" 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 dmNavItemSelected dmUDNavigationItem_00 " target="" data-target-page-alias="" data-auto="selected-page"> <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="/roof-replacement" class="unifiednav__item dmUDNavigationItem_01010147961 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Roof Replacement" data-auto="page-text-style">Roof Replacement<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="/roof-repair" class="unifiednav__item dmUDNavigationItem_010101274511 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Roof Repair" data-auto="page-text-style">Roof Repair<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="/specialty-roofing-solutions" class="unifiednav__item dmUDNavigationItem_010101340793 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Specialty Roofing Solutions" data-auto="page-text-style">Specialty Roofing Solutions<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="/reviews" class="unifiednav__item dmUDNavigationItem_010101598202 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" Reviews " data-auto="page-text-style">Reviews<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="/about" class="unifiednav__item dmUDNavigationItem_010101436714 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" About " data-auto="page-text-style">About<span class="icon icon-angle-down" data-hidden-on-mobile="" data-hidden-on-desktop="" data-hidden-on-tablet=""></span> </span> </a> </li> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/faqs" class="unifiednav__item dmUDNavigationItem_010101199220 " 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-down"></span> </span> </a> </li> <li role="menuitem" aria-haspopup="true" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/contact" class="unifiednav__item dmUDNavigationItem_010101943230 unifiednav__item_has-sub-nav" target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" Contact " data-auto="page-text-style">Contact<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="/request-call-back-form" class="unifiednav__item dmUDNavigationItem_010101803352 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Request Call Back" data-auto="page-text-style">Request Call Back<span class="icon icon-angle-right"></span> </span> </a> </li> </ul> </li> </ul> </nav> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="stickyHeaderSpacer" id="stickyHeaderSpacer" data-new="true"></div> <div dmwrapped="true" id="dmFirstContainer" class="dmBody u_dmStyle_template_home dm-home-page" themewaschanged="true"> <div id="allWrapper" class="allWrapper"><!-- navigation placeholders --> <div id="dm_content" class="dmContent" role="main"> <div dm:templateorder="170" class="dmHomeRespTmpl mainBorder dmRespRowsWrapper dmFullRowRespTmpl" id="1716942098"> <div class="dmRespRow u_1116642210 hasBackgroundOverlay fullBleedChanged fullBleedMode" id="1116642210" data-page-element-type="section" data-page-element-id="1330055665"> <div class="dmRespColsWrapper" id="1377296544"> <div class="dmRespCol large-12 medium-12 small-12 u_1969202070" id="1969202070"> <div class="u_1541513481 dmRespRow hide-for-small hide-for-medium" id="1541513481"> <div class="dmRespColsWrapper" id="1624539560"> <div class="dmRespCol small-12 u_1981837653 large-4 medium-4" id="1981837653"> <div class="u_1541415534 widget-9015bc dmCustomWidget" data-lazy-load="true" data-title="" id="1541415534" dmle_extension="custom_extension" data-element-type="custom_extension" icon="false" surround="false" data-widget-id="9015bcbf1ace437aa6f0e66d5bb2e7d3" data-widget-version="25" data-widget-config="eyJtZXJjaGFudElkIjoiNjc0MTEiLCJtaW4tcmV2aWV3cyI6IjMiLCJtaW4tcmF0aW5nIjoiNCIsInNob3ctd3JpdGUiOnRydWUsImhpZGUtc3VtbWFyeSI6ZmFsc2UsInRoZW1lIjoiZGFyayJ9"> <div class="headerWidget" data-merchant="67411" data-theme="dark" data-break="" data-count-limit="3" data-rating-limit="4" data-show-write="true" data-hide-summary="false"></div> </div> </div> <div class="u_1378651247 dmRespCol small-12 large-6 medium-6" id="1378651247"> <a data-display-type="block" class="u_1578709304 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient" file="false" href="/request-call-back-form" data-element-type="dButtonLinkId" id="1578709304"> <span class="iconBg" id="1691224543"> <span class="icon hasFontIcon icon-star" id="1232506942"></span> </span> <span class="text" id="1452980934">Request Call Back</span> </a> </div> <div class="u_1795195367 dmRespCol small-12 large-2 medium-2" id="1795195367"> <a data-display-type="block" class="u_1197447746 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient" file="false" href="https://einvoice.gettrx.com/d955d1c2-d93b-4b22-9a23-13f2d5cf0279/payment/375af562-26d8-490d-9a6f-2412cc9d85ea" data-element-type="dButtonLinkId" id="1197447746" target="_blank"> <span class="iconBg" id="1451878646"> <span class="icon hasFontIcon icon-star" id="1708855459"></span> </span> <span class="text" id="1955495529">Make a Payment</span> </a> </div> </div> </div> <div class="u_1085604804 dmRespRow hide-for-small hide-for-medium" id="1085604804"> <div class="dmRespColsWrapper" id="1890768626"> <div class="dmRespCol small-12 large-4 medium-4 u_1357272037" id="1357272037"> <div class="u_1420953297 dmNewParagraph" data-element-type="paragraph" data-version="5" id="1420953297" style="transition: opacity 1s ease-in-out;"><p class="m-size-18 text-align-left size-22"><strong style="display: unset; color: var(--color_1); font-weight: bold;" class="m-font-size-18 font-size-22">Serving Greater Baltimore & Surrounding Counties</strong></p></div> </div> <div class="dmRespCol small-12 large-4 medium-4 u_1492127244" id="1492127244"> <div class="u_1919885802 imageWidget align-center" data-element-type="image" data-widget-type="image" id="1919885802" data-binding="W3siYmluZGluZ05hbWUiOiJpbWFnZSIsInZhbHVlIjoic2l0ZV9pbWFnZXMucGVyc2lzdGVkLmxpZ2h0LWxvZ28ifV0="> <a href="/" id="1624503735" file="false"><img src="https://le-cdn.hibuwebsites.com/9b20844f25784bd9bf32518bd012c549/dms3rep/multi/opt/tsw-roofing-solutions-logo-885eaf35-214w.png" alt="TSW Roofing Solutions Inc - logo" id="1549935597" class="" data-dm-image-path="https://cdn.hibuwebsites.com/9b20844f25784bd9bf32518bd012c549/dms3rep/multi/tsw-roofing-solutions-logo-885eaf35.png" width="179.0" height="169.0" data-diy-image="" onerror="handleImageLoadError(this)"/></a> </div> </div> <div class="dmRespCol large-4 medium-4 small-12 u_1596562804" id="1596562804"> <div class="u_1922262552 dmNewParagraph" data-element-type="paragraph" data-version="5" id="1922262552" style="transition: opacity 1s ease-in-out 0s; text-align: left;"><p class="m-size-13 text-align-right size-16"><span class="m-font-size-13 font-size-16" style="display: unset; font-style: normal; color: rgb(255, 255, 255);"><span class="m-font-size-13 font-size-16" style="display: unset; font-style: normal; color: rgb(255, 255, 255);">Call</span> </span></p></div> <div class="u_1321281348 dmNewParagraph" data-element-type="paragraph" data-version="5" id="1321281348" style="transition: none 0s ease 0s; text-align: center;" new-inline-bind-applied="true" data-diy-text=""><p class="text-align-right m-size-19 size-24"><span class="m-font-size-19 font-size-24" style="font-weight: bold; color: rgb(255, 255, 255); display: initial;"><span class="inline-data-binding" data-encoded-value="KDUwOCkgMjkxLTMwMzM=" data-inline-binding="content_library.global.phone.phone - main - loc 1"><a class="inlineBindingLink" target="_blank" href="tel:(443) 261-0605">(443) 261-0605</a></span></span></p></div> </div> </div> </div> <div class="u_1296086959 dmRespRow hide-for-small hide-for-medium" id="1296086959"> <div class="dmRespColsWrapper" id="1247955519"> <div class="dmRespCol large-12 medium-12 small-12 u_1278921266" id="1278921266"> <nav class="u_1211249662 effect-top-bottom main-navigation unifiednav dmLinksMenu" role="navigation" layout-main="horizontal_nav_layout_3" layout-sub="submenu_horizontal_2" data-show-vertical-sub-items="HOVER" id="1211249662" 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 dmNavItemSelected dmUDNavigationItem_00 " target="" data-target-page-alias="" data-auto="selected-page"> <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="/roof-replacement" class="unifiednav__item dmUDNavigationItem_01010147961 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Roof Replacement" data-auto="page-text-style">Roof Replacement<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="/roof-repair" class="unifiednav__item dmUDNavigationItem_010101274511 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Roof Repair" data-auto="page-text-style">Roof Repair<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="/specialty-roofing-solutions" class="unifiednav__item dmUDNavigationItem_010101340793 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Specialty Roofing Solutions" data-auto="page-text-style">Specialty Roofing Solutions<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="/reviews" class="unifiednav__item dmUDNavigationItem_010101598202 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" Reviews " data-auto="page-text-style">Reviews<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="/about" class="unifiednav__item dmUDNavigationItem_010101436714 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" About " data-auto="page-text-style">About<span class="icon icon-angle-down" data-hidden-on-mobile="" data-hidden-on-desktop="" data-hidden-on-tablet=""></span> </span> </a> </li> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/faqs" class="unifiednav__item dmUDNavigationItem_010101199220 " 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-down"></span> </span> </a> </li> <li role="menuitem" aria-haspopup="true" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/contact" class="unifiednav__item dmUDNavigationItem_010101943230 unifiednav__item_has-sub-nav" target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" Contact " data-auto="page-text-style">Contact<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="/request-call-back-form" class="unifiednav__item dmUDNavigationItem_010101803352 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Request Call Back" data-auto="page-text-style">Request Call Back<span class="icon icon-angle-right"></span> </span> </a> </li> </ul> </li> </ul> </nav> </div> </div> </div> <div class="dmRespRow u_1045463967" id="1045463967"> <div class="dmRespColsWrapper" id="1716137522"> <div class="u_1004324266 dmRespCol small-12 medium-12 large-12" id="1004324266"> <div class="u_1376240788 dmNewParagraph" data-element-type="paragraph" id="1376240788" data-anim-desktop="none" data-version="5" style="text-align: center;"> <h1><span style="display: initial;">baltimore county's roof maintenance service</span></h1> </div> <div class="widget-c4b2f9 u_1544161175 dmCustomWidget" data-lazy-load="true" data-title="" id="1544161175" dmle_extension="custom_extension" data-element-type="custom_extension" data-binding="W3siYmluZGluZ05hbWUiOiJtb3RGYWN0VGV4dCIsInZhbHVlIjoic2l0ZV90ZXh0Lm1vdGl2YXRpbmcgZmFjdG9ycyJ9XQ==" data-anim-desktop="none" icon="false" surround="false" data-widget-id="c4b2f903d115403c8c21e9ec6044a4fe" data-widget-version="59" data-widget-config="eyJtb3RGYWN0VGV4dCI6IjxwIGNsYXNzPVwicnRlQmxvY2tcIj48c3Ryb25nPkZpbmFuY2luZyBPcHRpb25zIEF2YWlsYWJsZTwvc3Ryb25nPjwvcD48cCBjbGFzcz1cInJ0ZUJsb2NrXCI+PHN0cm9uZz5Xb3JrcyBEaXJlY3RseSBXaXRoIEluc3VyYW5jZTwvc3Ryb25nPjwvcD48cCBjbGFzcz1cInJ0ZUJsb2NrXCI+PHN0cm9uZz5Ta2lsbGVkIENyYWZ0c21hbnNoaXA8L3N0cm9uZz48L3A+PHAgY2xhc3M9XCJydGVCbG9ja1wiPjxzdHJvbmc+U3BlY2lhbGl6ZWQgaW4gU2xhdGUsIENvcHBlciwgU2hpbmdsZXMsIGFuZCBDZWRhciBTaGFrZTwvc3Ryb25nPjwvcD48YnI+IiwiaG9yaXpUb2dnbGUiOmZhbHNlLCJtZkFsaWduIjoiTUZhbGlnbkMiLCJkaXZTdHlsZSI6Im1mLWhvcml6LWJ1bCJ9"> <div class="motFactCont MFalignC "> <p class="rteBlock"><strong>Financing Options Available</strong></p><p class="rteBlock"><strong>Works Directly With Insurance</strong></p><p class="rteBlock"><strong>Skilled Craftsmanship</strong></p><p class="rteBlock"><strong>Specialized in Slate, Copper, Shingles, and Cedar Shake</strong></p><br/></div> </div> <div class="u_1373617765 dmNewParagraph hide-for-small" data-element-type="paragraph" data-version="5" id="1373617765" style="transition: opacity 1s ease-in-out 0s;"><p class="m-size-13 text-align-center size-16"><span class="m-font-size-13 font-size-16" style="display: unset; color: rgb(255, 255, 255);"><span class="m-font-size-13 font-size-16" style="display: unset; color: rgb(255, 255, 255);">Call</span> </span></p></div> <div class="u_1226078245 dmNewParagraph hide-for-small" data-element-type="paragraph" data-version="5" id="1226078245" style="transition: opacity 1s ease-in-out 0s;" new-inline-bind-applied="true" data-diy-text=""><p><span style="display: initial; color: rgb(255, 255, 255); font-weight: bold;"><span class="inline-data-binding" data-encoded-value="KDYxMCkgNjgwLTM3Njk=" data-inline-binding="content_library.global.phone.phone - main - loc 1"><a class="inlineBindingLink" target="_blank" href="tel:(443) 261-0605">(443) 261-0605</a></span></span></p></div> <div class="u_1468687412 widget-8293d7 dmCustomWidget" data-lazy-load="true" data-title="" id="1468687412" dmle_extension="custom_extension" data-element-type="custom_extension" data-binding="W3siYmluZGluZ05hbWUiOiJob3VycyIsInZhbHVlIjoic2l0ZV90ZXh0LmJ1c2luZXNzIGhvdXJzIHRleHQgbG9jIDEifV0=" icon="false" surround="false" data-widget-id="8293d76ae0f045c88bd69a5907adb323" data-widget-version="18" data-widget-config="eyJob3VycyI6IntcInRpbWV6b25lXCI6XCJBbWVyaWNhL05ld19Zb3JrXCIsXCJob3Vyc1wiOntcIm1vbmRheVwiOntcIm9wZW5JbnRlcnZhbHNcIjpbe1wic3RhcnRcIjpcIjA4OjAwXCIsXCJlbmRcIjpcIjE3OjAwXCJ9XX0sXCJ0dWVzZGF5XCI6e1wib3BlbkludGVydmFsc1wiOlt7XCJzdGFydFwiOlwiMDg6MDBcIixcImVuZFwiOlwiMTc6MDBcIn1dfSxcIndlZG5lc2RheVwiOntcIm9wZW5JbnRlcnZhbHNcIjpbe1wic3RhcnRcIjpcIjA4OjAwXCIsXCJlbmRcIjpcIjE3OjAwXCJ9XX0sXCJ0aHVyc2RheVwiOntcIm9wZW5JbnRlcnZhbHNcIjpbe1wic3RhcnRcIjpcIjA4OjAwXCIsXCJlbmRcIjpcIjE3OjAwXCJ9XX0sXCJmcmlkYXlcIjp7XCJvcGVuSW50ZXJ2YWxzXCI6W3tcInN0YXJ0XCI6XCIwODowMFwiLFwiZW5kXCI6XCIxNzowMFwifV19LFwic2F0dXJkYXlcIjp7XCJpc0Nsb3NlZFwiOnRydWV9LFwic3VuZGF5XCI6e1wiaXNDbG9zZWRcIjp0cnVlfSxcImhvbGlkYXlIb3Vyc1wiOlt7XCJkYXRlXCI6XCIyMDI1LTA1LTI2XCIsXCJpc0Nsb3NlZFwiOnRydWV9LHtcImRhdGVcIjpcIjIwMjUtMDctMDRcIixcImlzQ2xvc2VkXCI6dHJ1ZX0se1wiZGF0ZVwiOlwiMjAyNS0wOS0wMVwiLFwiaXNDbG9zZWRcIjp0cnVlfSx7XCJkYXRlXCI6XCIyMDI1LTExLTI3XCIsXCJpc0Nsb3NlZFwiOnRydWV9LHtcImRhdGVcIjpcIjIwMjUtMTItMjVcIixcImlzQ2xvc2VkXCI6dHJ1ZX0se1wiZGF0ZVwiOlwiMjAyNi0wMS0wMVwiLFwiaXNDbG9zZWRcIjp0cnVlfV19fSIsImJvbGRTdGF0dXNUZXh0Ijp0cnVlLCJncm91cE9wZW5Ib3Vyc0Rlc2lnbiI6bnVsbCwiYm9sZEhvdXJzIjp0cnVlfQ=="> <p class="openHours"> <span class="bold">Hours:</span> <span class="status bold"></span> </p> </div> </div> </div> </div> </div> </div> </div> <div class="dmRespRow u_1496858348" id="1496858348" data-page-element-type="section" data-page-element-id="1625527933"> <div class="dmRespColsWrapper" id="1480964944"> <div class="dmRespCol large-12 medium-12 small-12 u_1651663842" id="1651663842"> <div class="u_1156262175 dmNewParagraph" id="1156262175" data-element-type="paragraph" style="display: block; text-align: center; transition: none;" data-version="5"> <h2><span style="display: initial; color: var(--color_1);">Expert Roofing Solutions For Greater Baltimore & Beyond</span></h2> </div> <div class="u_1489538321 dmDividerWrapper clearfix" data-element-type="dDividerId" data-layout="divider-style-1" data-widget-version="2" id="1489538321" layout="divider-gradient-line"><hr class="dmDivider" style="border-width:2px; border-top-style:solid; color:grey;" id="1439808269"/></div> <div class="u_1621665363 dmNewParagraph" id="1621665363" background-image="" :="" style="line-height:initial;" data-version="5"><p class="text-align-center"><span class="" style="display: initial; color: var(--color_1);"><span style="display: initial; color: var(--color_1);">TSW Roofing Solutions Inc is your trusted partner for comprehensive roofing services in Greater Baltimore Area and the surrounding counties. With over 35 years of combined experience, our team of skilled professionals delivers exceptional results for all your roofing needs. We pride ourselves on our commitment to quality craftsmanship, use of premium materials, and dedication to customer satisfaction.</span> </span></p><p class="text-align-center"><span style="display: initial; color: var(--color_1);"><br/></span></p><p class="text-align-center"><span class="" style="display: initial; color: var(--color_1);"><span style="display: initial; color: var(--color_1);">Whether you require a full roof replacement, urgent repairs, or specialized roofing solutions, our experts are equipped to handle projects of any scale with precision and care. We understand that investing in your roof is a significant decision, which is why we offer flexible financing options to make quality roofing accessible to all our clients. Choose TSW Roofing Solutions for a roof that not only protects your property but also enhances its value and curb appeal.</span> </span><a href="/contact" runtime_url="/contact" type="page" style="display: initial; color: var(--color_1);">Contact us</a><span class="" style="display: initial; color: var(--color_1);"> <span style="display: initial; color: var(--color_1);">today.</span></span></p></div></div> </div> </div> <div class="dmRespRow u_1186659567" id="1186659567"> <div class="dmRespColsWrapper" id="1972001438"> <div class="dmRespCol large-12 medium-12 small-12" id="1196538197"> <div class="widget-22eebe u_1790679040 dmCustomWidget" data-lazy-load="true" data-title="" id="1790679040" dmle_extension="custom_extension" data-element-type="custom_extension" icon="false" surround="false" data-widget-id="22eebe93636d4d1295bb7b863c039867" data-widget-version="28" data-widget-config="eyJzbGFudCI6ImNoZXZyb24tZCIsImFuZ2xlQ29sb3IiOiJ2YXIoLS1jb2xvcl8zKSIsImRyb3BTaGFkb3ciOiJub25lIn0="> <div class="svgCont"> <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 100 100" preserveaspectratio="none" style="fill:var(--color_3);" class="svgChevL"> <polygon points="100 100 50 50 0 0 100 0 100 100"></polygon> </svg> <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 100 100" preserveaspectratio="none" style="fill:var(--color_3);" class="svgChevR"> <polygon points="0 0 100 0 0 100"></polygon> </svg> </div> </div> </div> </div> </div> <div class="dmRespRow u_1926807709" id="1926807709" data-page-element-type="section" data-page-element-id="1625527933"> <div class="dmRespColsWrapper" id="1233457068"> <div class="dmRespCol large-12 medium-12 small-12 u_1450690306" id="1450690306"> <div class="u_1318370329 dmNewParagraph" id="1318370329" style="transition: none 0s ease 0s; text-align: center; display: block;" data-element-type="paragraph" data-version="5" data-diy-text=""> <h2><span style="display: initial;">Why TSW Roofing Solutions Inc Stands Out</span></h2> </div> <div class="u_1939578087 dmDividerWrapper clearfix" data-element-type="dDividerId" data-layout="divider-style-1" data-widget-version="2" id="1939578087" layout="divider-gradient-line"><hr class="dmDivider" style="border-width:2px; border-top-style:solid; color:grey;" id="1293440269"/></div> </div> </div> </div> <div class="dmRespRow u_1067985203" id="1067985203" data-page-element-type="section" data-page-element-id="1625527933"> <div class="dmRespColsWrapper" id="1841474639"> <div class="u_1634464723 dmRespCol small-12 large-5 medium-5" id="1634464723"> <div class="widget-a9c2f2 u_1853377499 dmCustomWidget" data-lazy-load="" data-title="" id="1853377499" dmle_extension="custom_extension" data-element-type="custom_extension" icon="false" surround="false" data-widget-id="a9c2f21bcfb4498cafd451d55f94b46b" data-widget-version="11" data-widget-config="eyJiSW1hZ2UiOiI8c3ZnIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjEwMCVcIiB2ZXJzaW9uPVwiMS4xXCIgdmlld0JveD1cIjAgMCAxMDAgMTAwXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuIDxwYXRoIGQ9XCJtMTkuMDgyIDk4LjM0OGMyMC42MDkgMi4yMDMxIDQxLjIyMyAyLjIwMzEgNjEuODMyIDAgOC4zOTg0LTAuOTc2NTYgMTYuNDU3LTkuMDMxMiAxNy40My0xNy40MyAyLjIwMzEtMjAuNjA5IDIuMjAzMS00MS4yMjMgMC02MS44MzItMC45NzY1Ni04LjM5ODQtOS4wMzEyLTE2LjQ1My0xNy40My0xNy40My0yMC42MDktMi4yMDMxLTQxLjIyMy0yLjIwMzEtNjEuODMyIDAtOC40MDIzIDAuOTY4NzUtMTYuNDU3IDkuMDIzNC0xNy40MyAxNy40MjYtMi4yMDMxIDIwLjYwOS0yLjIwMzEgNDEuMjIzIDAgNjEuODMyIDAuOTc2NTYgOC4zOTg0IDkuMDMxMiAxNi40NTMgMTcuNDMgMTcuNDN6bTEuMTYwMi01NS44NjNjMy4xMzI4LTIuODA4NiA3Ljk0NTMtMi41NDY5IDEwLjc1OCAwLjU4NTk0bDExLjUgMTIuODIgMjYuNjM3LTI4LjI0NmMyLjg4NjctMy4wNjI1IDcuNzA3LTMuMjAzMSAxMC43NjYtMC4zMTY0MSAzLjA2MjUgMi44ODY3IDMuMjAzMSA3LjcwNyAwLjMxNjQxIDEwLjc2NmwtMzIuMzIgMzQuMjczYy0xLjQzNzUgMS41MjczLTMuNDQ1MyAyLjM5MDYtNS41MzkxIDIuMzkwNmgtMC4wOTM3NWMtMi4xMzI4LTAuMDI3MzQzLTQuMTUyMy0wLjk0NTMxLTUuNTc4MS0yLjUzMTJsLTE3LjAzMS0xOC45ODRjLTIuODA4Ni0zLjEzMjgtMi41NDY5LTcuOTQ1MyAwLjU4NTk0LTEwLjc1OHpcIi8+XG48L3N2Zz4iLCJsaXN0MSI6W3sibGlzdElubmVyVGV4dCI6IjxwIGNsYXNzPVwicnRlQmxvY2tcIj5BdHRlbnRpdmUgQ3VzdG9tZXIgQ2FyZTwvcD4ifSx7Imxpc3RJbm5lclRleHQiOiI8cCBjbGFzcz1cInJ0ZUJsb2NrXCI+RmluYW5jaW5nIE9wdGlvbnMgQXZhaWxhYmxlPC9wPiJ9LHsibGlzdElubmVyVGV4dCI6IjxwIGNsYXNzPVwicnRlQmxvY2tcIj5Db21wZXRlbnQgV29yazwvcD4ifSx7Imxpc3RJbm5lclRleHQiOiI8cCBjbGFzcz1cInJ0ZUJsb2NrXCI+UXVhbGl0eSBNYXRlcmlhbHM8L3A+In0seyJsaXN0SW5uZXJUZXh0IjoiPHAgY2xhc3M9XCJydGVCbG9ja1wiPldvcmtzIERpcmVjdGx5IFdpdGggSW5zdXJhbmNlPC9wPiJ9XSwibGktcG9zaXRpb24iOiJsaS1jZW50ZXIifQ=="> <div class="classWidgetList li-center"> <div class="li-mWrapper"> <div class="wrapListbull "> <div class="containerBullet"> <div class="IconBulletText"> <svg width="100%" height="100%" version="1.1" viewbox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"> <path d="m19.082 98.348c20.609 2.2031 41.223 2.2031 61.832 0 8.3984-0.97656 16.457-9.0312 17.43-17.43 2.2031-20.609 2.2031-41.223 0-61.832-0.97656-8.3984-9.0312-16.453-17.43-17.43-20.609-2.2031-41.223-2.2031-61.832 0-8.4023 0.96875-16.457 9.0234-17.43 17.426-2.2031 20.609-2.2031 41.223 0 61.832 0.97656 8.3984 9.0312 16.453 17.43 17.43zm1.1602-55.863c3.1328-2.8086 7.9453-2.5469 10.758 0.58594l11.5 12.82 26.637-28.246c2.8867-3.0625 7.707-3.2031 10.766-0.31641 3.0625 2.8867 3.2031 7.707 0.31641 10.766l-32.32 34.273c-1.4375 1.5273-3.4453 2.3906-5.5391 2.3906h-0.09375c-2.1328-0.027343-4.1523-0.94531-5.5781-2.5312l-17.031-18.984c-2.8086-3.1328-2.5469-7.9453 0.58594-10.758z"></path> </svg> </div> <div class="bulltext"><p class="rteBlock">Attentive Customer Care</p></div> </div> </div> <div class="wrapListbull "> <div class="containerBullet"> <div class="IconBulletText"> <svg width="100%" height="100%" version="1.1" viewbox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"> <path d="m19.082 98.348c20.609 2.2031 41.223 2.2031 61.832 0 8.3984-0.97656 16.457-9.0312 17.43-17.43 2.2031-20.609 2.2031-41.223 0-61.832-0.97656-8.3984-9.0312-16.453-17.43-17.43-20.609-2.2031-41.223-2.2031-61.832 0-8.4023 0.96875-16.457 9.0234-17.43 17.426-2.2031 20.609-2.2031 41.223 0 61.832 0.97656 8.3984 9.0312 16.453 17.43 17.43zm1.1602-55.863c3.1328-2.8086 7.9453-2.5469 10.758 0.58594l11.5 12.82 26.637-28.246c2.8867-3.0625 7.707-3.2031 10.766-0.31641 3.0625 2.8867 3.2031 7.707 0.31641 10.766l-32.32 34.273c-1.4375 1.5273-3.4453 2.3906-5.5391 2.3906h-0.09375c-2.1328-0.027343-4.1523-0.94531-5.5781-2.5312l-17.031-18.984c-2.8086-3.1328-2.5469-7.9453 0.58594-10.758z"></path> </svg> </div> <div class="bulltext"><p class="rteBlock">Financing Options Available</p></div> </div> </div> <div class="wrapListbull "> <div class="containerBullet"> <div class="IconBulletText"> <svg width="100%" height="100%" version="1.1" viewbox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"> <path d="m19.082 98.348c20.609 2.2031 41.223 2.2031 61.832 0 8.3984-0.97656 16.457-9.0312 17.43-17.43 2.2031-20.609 2.2031-41.223 0-61.832-0.97656-8.3984-9.0312-16.453-17.43-17.43-20.609-2.2031-41.223-2.2031-61.832 0-8.4023 0.96875-16.457 9.0234-17.43 17.426-2.2031 20.609-2.2031 41.223 0 61.832 0.97656 8.3984 9.0312 16.453 17.43 17.43zm1.1602-55.863c3.1328-2.8086 7.9453-2.5469 10.758 0.58594l11.5 12.82 26.637-28.246c2.8867-3.0625 7.707-3.2031 10.766-0.31641 3.0625 2.8867 3.2031 7.707 0.31641 10.766l-32.32 34.273c-1.4375 1.5273-3.4453 2.3906-5.5391 2.3906h-0.09375c-2.1328-0.027343-4.1523-0.94531-5.5781-2.5312l-17.031-18.984c-2.8086-3.1328-2.5469-7.9453 0.58594-10.758z"></path> </svg> </div> <div class="bulltext"><p class="rteBlock">Competent Work</p></div> </div> </div> <div class="wrapListbull "> <div class="containerBullet"> <div class="IconBulletText"> <svg width="100%" height="100%" version="1.1" viewbox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"> <path d="m19.082 98.348c20.609 2.2031 41.223 2.2031 61.832 0 8.3984-0.97656 16.457-9.0312 17.43-17.43 2.2031-20.609 2.2031-41.223 0-61.832-0.97656-8.3984-9.0312-16.453-17.43-17.43-20.609-2.2031-41.223-2.2031-61.832 0-8.4023 0.96875-16.457 9.0234-17.43 17.426-2.2031 20.609-2.2031 41.223 0 61.832 0.97656 8.3984 9.0312 16.453 17.43 17.43zm1.1602-55.863c3.1328-2.8086 7.9453-2.5469 10.758 0.58594l11.5 12.82 26.637-28.246c2.8867-3.0625 7.707-3.2031 10.766-0.31641 3.0625 2.8867 3.2031 7.707 0.31641 10.766l-32.32 34.273c-1.4375 1.5273-3.4453 2.3906-5.5391 2.3906h-0.09375c-2.1328-0.027343-4.1523-0.94531-5.5781-2.5312l-17.031-18.984c-2.8086-3.1328-2.5469-7.9453 0.58594-10.758z"></path> </svg> </div> <div class="bulltext"><p class="rteBlock">Quality Materials</p></div> </div> </div> <div class="wrapListbull "> <div class="containerBullet"> <div class="IconBulletText"> <svg width="100%" height="100%" version="1.1" viewbox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"> <path d="m19.082 98.348c20.609 2.2031 41.223 2.2031 61.832 0 8.3984-0.97656 16.457-9.0312 17.43-17.43 2.2031-20.609 2.2031-41.223 0-61.832-0.97656-8.3984-9.0312-16.453-17.43-17.43-20.609-2.2031-41.223-2.2031-61.832 0-8.4023 0.96875-16.457 9.0234-17.43 17.426-2.2031 20.609-2.2031 41.223 0 61.832 0.97656 8.3984 9.0312 16.453 17.43 17.43zm1.1602-55.863c3.1328-2.8086 7.9453-2.5469 10.758 0.58594l11.5 12.82 26.637-28.246c2.8867-3.0625 7.707-3.2031 10.766-0.31641 3.0625 2.8867 3.2031 7.707 0.31641 10.766l-32.32 34.273c-1.4375 1.5273-3.4453 2.3906-5.5391 2.3906h-0.09375c-2.1328-0.027343-4.1523-0.94531-5.5781-2.5312l-17.031-18.984c-2.8086-3.1328-2.5469-7.9453 0.58594-10.758z"></path> </svg> </div> <div class="bulltext"><p class="rteBlock">Works Directly With Insurance</p></div> </div> </div> </div> </div> </div> </div> <div class="u_1626605953 dmRespCol small-12 large-7 medium-7" id="1626605953"> <div class="u_1172663090 dmNewParagraph" data-element-type="paragraph" data-version="5" id="1172663090" style="transition: opacity 1s ease-in-out 0s;"><p><span style="display: initial;">Selecting the right roofing contractor is crucial for ensuring the longevity and reliability of your roof. TSW Roofing Solutions distinguishes itself through a combination of extensive industry experience, unwavering commitment to quality, and a customer-focused approach. Our team's collective expertise of over 35 years translates into superior workmanship and innovative solutions for even the most challenging roofing projects. We source only the highest grade materials, ensuring that every roof we install or repair is built to last.</span></p><p><span style="display: initial;"><br/></span></p><p><span style="display: initial;">Our attentive customer care sets us apart, as we prioritize clear communication and personalized service throughout the entire process. We understand the financial considerations of roofing projects and offer flexible financing options to make premium roofing services accessible to a wider range of homeowners. By choosing TSW Roofing Solutions, you're not just getting a new roof - you're investing in peace of mind and long-term value for your property.</span></p></div> </div> </div> </div> <div class="u_1202152365 dmRespRow" id="1202152365" data-page-element-type="section" data-page-element-id="1625527933"> <div class="dmRespColsWrapper" id="1700203110"> <div class="u_1945066088 dmRespCol small-12 large-5 medium-5" id="1945066088"> <div data-element-type="spacer" class="dmSpacer" id="1233710000"></div> </div> <div class="u_1050843927 dmRespCol small-12 large-7 medium-7" id="1050843927"> <a data-display-type="block" class="u_1001136773 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient" file="false" href="/request-call-back-form" data-element-type="dButtonLinkId" id="1001136773"> <span class="iconBg" aria-hidden="true" id="1508460555"> <span class="icon hasFontIcon icon-star" id="1392414770"></span> </span> <span class="text" id="1154062166">Request Call Back</span> </a> </div> </div> </div> <div class="dmRespRow u_1878539492 fullBleedChanged fullBleedMode" style="text-align: center;" id="1878539492" data-page-element-type="section" data-page-element-id="1625527933"> <div class="dmRespColsWrapper" id="1349724553"> <div class="dmRespCol small-12 medium-4 large-4 u_1611568233" id="1611568233"> <div class="graphicWidget u_1343379441" data-element-type="graphic" data-widget-type="graphic" id="1343379441" data-anim-extended="eyJtb2JpbGUiOnsidHJpZ2dlciI6ImVudHJhbmNlIiwiYW5pbWF0aW9uIjoiYm91bmNlSW4ifSwiZGVza3RvcCI6eyJ0cmlnZ2VyIjoiZW50cmFuY2UiLCJhbmltYXRpb24iOiJ6b29tSW4ifX0=" data-anim-mobile="bounceIn" data-anim-desktop="zoomIn"> <svg width="100%" height="100%" version="1.1" viewbox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" id="1208965023" class="svg u_1208965023" data-icon-custom="true"> <title id="1994825560">black and white roof logo.</title> <path d="m48.91 79.672v1.7656c-5.1133-5.4805-17.859-5.5391-23.117-0.19531l0.011719-0.10938 0.066406-1.4414c0.65234-1.6328 1.9883-2.8906 3.4688-3.7852 5.5977-3.457 16.527-2.8203 19.57 3.7656zm-23.766-27.473c-0.76953-1.5977-2.2539-2.7383-3.8086-3.5234-5.4414-2.9648-15.457-1.2734-17.414 3.9727l-0.042969 0.41406-2.7148 22.297c5.5977-4.6328 14.348-4.8945 20.48-1.1562 0.82422 0.51953 1.5859 1.1484 2.2578 1.8438l1.3438-22.215c-0.042969-0.12109-0.066406-0.25-0.054688-0.39453l0.054688-1.0586c-0.035156-0.058594-0.066406-0.125-0.10156-0.17969zm-17.934-28.805-2.543 20.926c5.8633-4.668 15.492-4.5508 20.992 0.64453l1.3086-21.68c-2.6836-6.5078-17.195-6.457-19.758 0.10938zm-3.0664 25.258c5.7969-4.9609 15.648-4.9141 21.273 0.28516l0.023437-0.42578c-3.1719-7.1758-18.305-7.1445-21.297 0.14062zm0.34766 27.047c-1.6445 0.90625-3.1641 2.2422-3.8516 4.0273l-0.14062 1.3086c5.4258-5.2031 18.094-4.9922 23.086 0.58984l0.097656-1.9766c-2.9961-6.4414-13.598-7.1602-19.191-3.9492zm67.633-31.16c0.011719 0 0.011719 0 0.023438 0.011719l-1.2891-21.199c-1.1562-2.8906-5.2812-4.9766-9.8867-4.9766-4.6055 0-8.7188 2.0742-9.8867 4.9531v21.43c5.6289-5.0156 15.305-5.0938 21.039-0.21875zm1.7695 31.062c-0.019531-0.54297-1.3008-20.953-1.3438-22.301l-0.011719-0.011719-0.03125-0.6875c-2.1719-4.6172-8.4766-5.9688-13.473-5.1719-2.7891 0.51172-5.6836 1.7031-7.3633 4.0898-0.23047 0.34375-0.41406 0.69922-0.57812 1.082v23.227c6.0352-5.5625 16.629-5.6172 22.801-0.22656zm-21.812-27.605c5.8242-4.1992 14.863-4.0469 20.305 0.74219-0.26953-1.2695-1.3555-2.3086-2.3438-3.0977-3.1406-2.2734-7.2695-2.8789-11.043-2.2578-2.5898 0.46875-5.2266 1.5156-6.9609 3.5664-0.40234 0.55469-0.95703 1.1797-0.94922 1.8867 0.32422-0.27344 0.61328-0.5625 0.97266-0.81641 0-0.011719 0.011719-0.023437 0.019531-0.023437zm-13.855-0.79297c-4.9414-0.003906-10.441 2.4688-10.77 6.1328-0.31641 5.2656-1.0195 16.895-1.3438 22.27 6.1562-5.3789 16.773-5.3516 22.793 0.23047l0.003906-23.223c-1.7656-3.9648-6.6602-5.3711-10.684-5.4102zm60.617 28.156c-0.039062-0.074219-2.6758-22.281-2.7148-22.355-0.89844-3.5156-5.6641-5.75-10.758-5.8047-3.9805 0.035156-8.707 1.3711-10.605 5.1836 0.17188 6.1875 1.0156 17.5 1.3438 23.664 1.3867-1.4609 3.1562-2.4961 5.0312-3.2305 5.7812-2.0898 12.895-1.4883 17.703 2.543zm-2.9766-26.707c-2.5312-6.043-12.734-6.7617-17.816-3.7539-1.1992 0.66797-2.3281 1.5703-3.043 2.75-0.27734 0.45312-0.51172 0.75391-0.42578 1.2891 5.6523-5.1797 15.48-5.2578 21.285-0.28516zm3.5 31.074c-0.52734-1.3906-1.5859-2.4883-2.7695-3.3594-4.4141-2.9805-10.422-3.2812-15.285-1.2422-2.082 0.91016-4.1211 2.3555-4.9844 4.5273l0.097656 1.9766c4.9844-5.5742 17.652-5.8086 23.074-0.59375zm-4.0234-35.406-2.543-20.926c-1.1328-2.9141-5.2578-5.0195-9.8945-5.0195-4.582 0-8.6836 2.0625-9.8633 4.9219l1.3086 21.668c5.5-5.1953 15.133-5.3125 20.992-0.64453zm-63.129 0.035157c-1.8828 0.86328-4.0469 2.2852-4.5938 4.3867 5.4453-4.7891 14.48-4.9414 20.305-0.74219 0.35156 0.25391 0.66797 0.55078 0.98047 0.83984v-0.30469c-2.5469-5.6406-11.594-6.4688-16.691-4.1797zm-3.0625-21.004c-0.19141 3.1484-1.1055 18.387-1.2891 21.199 0.011719-0.011719 0.011719-0.011719 0.023438-0.011719 5.7305-4.8672 15.414-4.8086 21.023 0.21875v-21.43c-2.6367-6.5391-17.145-6.5117-19.758 0.023437zm43.684 54.301c-3.3164-3.4453-8.6094-4.3047-13.18-3.5781-3.3008 0.61328-6.9219 2.1445-8.4453 5.3359-0.21484 0.16406-0.085938 1.7891-0.12109 2.0312 5.1328-5.4688 17.852-5.5508 23.129-0.19531-0.007812-0.30078-0.066406-1.2383-0.078125-1.5508-0.30469-0.75-0.74609-1.457-1.3047-2.043z"></path> </svg> </div> <div class="u_1905826779 dmNewParagraph" data-element-type="paragraph" id="1905826779" style="transition: opacity 1s ease-in-out 0s; text-align: center;" data-version="5"> <h3><span style="display: initial;">Roof Replacement Help</span></h3> </div> <div class="u_1492112573 dmDividerWrapper clearfix" data-element-type="dDividerId" data-layout="divider-style-1" data-widget-version="2" id="1492112573" layout="divider-gradient-line"><hr class="dmDivider" style="border-width:2px; border-top-style:solid; color:grey;" id="1560047701"/></div> <div class="u_1114160477 dmNewParagraph text-align-center" id="1114160477" style="transition: opacity 1s ease-in-out 0s; text-align: center;" data-version="5"><p class="text-align-center"><span class="" style="display: initial;"><span style="display: initial;">When it comes to roof replacement, TSW Roofing Solutions offers comprehensive services so your new roof is installed with precision and care. Our experienced team conducts thorough assessments and considers all factors to determine the best roofing system for your specific needs. We handle everything using advanced techniques and quality materials to guarantee longevity and performance.</span> </span><a href="/call-or-text-pop" runtime_url="/call-or-text-pop" type="popup" style="display: initial;" popup_target="call-or-text-pop" link_type="popup">Call or text</a><span class="" style="display: initial;"> <span style="display: initial;">us today to learn more about our work.</span></span></p></div> <a data-display-type="block" class="u_1988201845 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient" file="false" href="/roof-replacement" data-element-type="dButtonLinkId" id="1988201845"> <span class="iconBg" id="1244202080"> <span class="icon hasFontIcon icon-star" id="1018850795"></span> </span> <span class="text" id="1041791596">Learn More</span> </a> </div> <div class="dmRespCol small-12 medium-4 large-4 u_1984488916" id="1984488916"> <div class="graphicWidget u_1690030021" data-element-type="graphic" data-widget-type="graphic" id="1690030021" data-anim-extended="eyJtb2JpbGUiOnsidHJpZ2dlciI6ImVudHJhbmNlIiwiYW5pbWF0aW9uIjoiYm91bmNlSW4ifSwiZGVza3RvcCI6eyJ0cmlnZ2VyIjoiZW50cmFuY2UiLCJhbmltYXRpb24iOiJ6b29tSW4ifX0=" data-anim-mobile="bounceIn" data-anim-desktop="zoomIn"> <svg width="100%" height="100%" version="1.1" viewbox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" id="1476888583" class="svg u_1476888583" data-icon-custom="true"> <title id="1487939078">black and white roofing repair logo.</title> <path d="m80.148 51.562h-2.3359c-0.96484 0-1.8438-0.55859-2.1875-1.4375l-0.36328-0.96484c-1.1367-0.30078-2.207-0.75-3.2344-1.3281l-0.94141 0.40625c-0.89844 0.38672-1.9492 0.12891-2.6133-0.57812l-1.6055-1.6055c-0.6875-0.68359-0.89844-1.6914-0.53516-2.5508l0.42969-0.96484c-0.57812-1.0312-1.0273-2.1016-1.3281-3.2344l-0.94141-0.36328c-0.89844-0.32031-1.4805-1.1797-1.4805-2.207l-0.003907-2.3125c0-1.0078 0.60156-1.8867 1.4805-2.207l0.94141-0.36328c0.30078-1.1367 0.75-2.207 1.3281-3.2148l-0.42969-0.94531c-0.36328-0.92188-0.14844-1.9062 0.53516-2.5938l1.6484-1.6484c0.60156-0.64453 1.6914-0.92188 2.5508-0.53516l0.98438 0.42969c1.0078-0.55859 2.0781-1.0078 3.2148-1.3281l0.36328-0.96484c0.34375-0.89844 1.2227-1.457 2.1875-1.457h2.3359c1.0273 0 1.9297 0.59766 2.2305 1.5l0.34375 0.92188c1.1367 0.32031 2.207 0.77344 3.2148 1.3281l0.94141-0.42969c0.34375-0.12891 0.62109-0.19141 0.89844-0.19141 0.64453 0 1.2422 0.25391 1.7148 0.72656l1.6289 1.6484c0.73047 0.76953 0.89844 1.7578 0.51562 2.6133l-0.40625 0.92187c0.57812 1.0078 1.0273 2.0781 1.3281 3.2148l0.96484 0.36328c0.87891 0.32031 1.457 1.1992 1.457 2.207v2.3125c0 1.0273-0.55859 1.8867-1.457 2.207l-0.96484 0.38672c-0.30078 1.1133-0.75 2.1836-1.3281 3.2148l0.42969 0.96484c0.36328 0.75 0.19141 1.7773-0.49219 2.5078l-1.6914 1.6914c-0.66406 0.6875-1.6719 0.89844-2.5273 0.55859l-1.0078-0.42969c-1.0078 0.57812-2.1016 1.0312-3.2148 1.3281l-0.36328 0.96484c-0.28516 0.83984-1.1836 1.4375-2.2148 1.4375zm-68.125 13.074c-0.36328 0-0.75-0.14844-1.0312-0.42969l-5.5508-5.5508c-0.36328-0.36328-0.51172-0.89844-0.36328-1.4141 0.12891-0.49219 0.53516-0.89844 1.0273-1.0273 2.3359-0.60156 4.0703-2.3789 5.293-5.4023 0.085937-0.19141 0.19141-0.36328 0.32031-0.49219l10.844-10.844c0.79297-0.77344 1.8438-1.1992 2.8711-1.1992h0.0625l7.3945-7.4141c0.17188-0.94141 0.019531-1.6914-0.47266-2.3789-1.1133-1.4805-4.4766-3.3438-14.25-3.75-0.70703-0.023437-1.2852-0.53516-1.3906-1.2227-0.10547-0.6875 0.27734-1.3516 0.94141-1.6055 4.1562-1.543 8.0781-2.3125 11.637-2.3125 6.8359 0 12.559 2.8281 17.016 8.4414 0.27734 0.34375 0.36328 0.79297 0.27734 1.2422l-0.12891 0.53516c-0.0625 0.23438-0.12891 0.47266-0.17188 0.6875 3.0859 0.72656 5.5078 2.3789 7.2852 4.9688 0.38672 0.57812 0.32031 1.3516-0.19531 1.8438l-6.4297 6.4297c-0.27734 0.27734-0.64453 0.42969-1.0273 0.42969-0.27734 0-0.57812-0.085937-0.8125-0.25781-2.8086-1.9297-4.5234-4.6289-5.1016-7.9922-0.51562-0.10547-1.0273-0.019531-1.6289 0.23438l-7.1562 7.1797c0.32031 1.2422-0.0625 2.6797-1.1133 3.7305l-10.836 10.84c-0.12891 0.14844-0.27734 0.25391-0.47266 0.32031-3.043 1.2461-4.8203 2.9805-5.4219 5.3164-0.12891 0.51562-0.51562 0.89844-1.0273 1.0508-0.12891 0.019531-0.25781 0.042969-0.38672 0.042969zm64.098-8.082v-0.32031c-0.76953-0.042969-1.3945-0.66406-1.3945-1.457 0-0.79297 0.66406-1.4609 1.457-1.4609h11.895c0.8125 0 1.457 0.66406 1.457 1.4609 0 0.78906-0.60156 1.4375-1.3945 1.457v12.344zm-35.211 23.855h-31.949c-0.57813 0-1.1133-0.34375-1.3281-0.90234-0.23437-0.53516-0.10547-1.1797 0.30078-1.5859l6.0859-6.0859h36.09l-8.1641 8.1445c-0.26172 0.27734-0.64844 0.42969-1.0352 0.42969zm-23.98-11.488 5.6562-5.6562h36.09l-5.6562 5.6562zm8.5742-8.5703 8.1445-8.1445c0.27734-0.27734 0.64453-0.42969 1.0273-0.42969h31.953c0.38672 0 0.76953 0.17578 1.0273 0.42969l24.41 24.41c0.57812 0.57812 0.57812 1.5 0 2.0586-0.55859 0.57812-1.4805 0.57812-2.0586 0l-23.379-23.383-5.0352 5.0586zm2.7617-20.723 1.2852 1.3086 5.9766-5.9805-1.3086-1.3086zm50.727 4.3906c-4.6484 0-8.4414-3.793-8.4414-8.4453 0-4.6484 3.793-8.4414 8.4414-8.4414 4.6719 0 8.4453 3.793 8.4453 8.4414-0.003906 4.6523-3.7734 8.4453-8.4453 8.4453z" fill-rule="evenodd"></path> </svg> </div> <div class="u_1636386769 dmNewParagraph" data-element-type="paragraph" id="1636386769" style="transition: opacity 1s ease-in-out 0s; text-align: center;" data-version="5"> <h3><span style="display: initial;">Roof Repair & Maintenance</span></h3> </div> <div class="u_1030358511 dmDividerWrapper clearfix" data-element-type="dDividerId" data-layout="divider-style-1" data-widget-version="2" id="1030358511" layout="divider-gradient-line"><hr class="dmDivider" style="border-width:2px; border-top-style:solid; color:grey;" id="1657428934"/></div> <div class="u_1477314274 dmNewParagraph" id="1477314274" style="transition: opacity 1s ease-in-out 0s; text-align: center;" data-version="5"><p class="text-align-center"><span style="display: initial;">If you need a repair, TSW Roofing Solutions excels in providing prompt and effective roof repair services. Our skilled technicians are adept at diagnosing and addressing a wide range of roofing issues, from minor leaks to more extensive damage. We utilize state-of-the-art equipment and proven repair methods to restore the integrity of your roof, preventing further damage and extending its lifespan. Our quality materials include asphalt, slate, and copper.</span></p></div> <a data-display-type="block" class="u_1930626397 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient" file="false" href="/roof-repair" data-element-type="dButtonLinkId" id="1930626397"> <span class="iconBg" id="1556768790"> <span class="icon hasFontIcon icon-star" id="1474727863"></span> </span> <span class="text" id="1094079734">Learn More</span> </a> </div> <div class="dmRespCol small-12 medium-4 large-4 u_1889131299" id="1889131299"> <div class="u_1229955167 graphicWidget" data-element-type="graphic" data-widget-type="graphic" id="1229955167" data-anim-extended="eyJtb2JpbGUiOnsidHJpZ2dlciI6ImVudHJhbmNlIiwiYW5pbWF0aW9uIjoiYm91bmNlSW4ifSwiZGVza3RvcCI6eyJ0cmlnZ2VyIjoiZW50cmFuY2UiLCJhbmltYXRpb24iOiJ6b29tSW4ifX0=" data-anim-mobile="bounceIn" data-anim-desktop="zoomIn"> <svg width="100%" height="100%" version="1.1" viewbox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" id="1572129370" class="svg u_1572129370" data-icon-custom="true"> <title id="1763209942">black and white home logo.</title> <g> <path d="m51.773 15c-0.46875-0.47266-1.1055-0.73828-1.7734-0.73828s-1.3047 0.26562-1.7734 0.73828l-15.352 15.375c-0.082031-2.7031-2.2969-4.8516-5-4.8516h-5.375c-2.7617 0-5 2.2383-5 5v15.227l-11.773 11.75c-0.46875 0.47266-0.73047 1.1094-0.72656 1.7734v16.25c0.003906 1.0117 0.61719 1.918 1.5508 2.3008 0.89062 0.44531 1.9609 0.31641 2.7227-0.32422l40.727-40.852 40.727 40.852c0.72656 0.73438 1.832 0.94922 2.7812 0.53125 0.94531-0.41406 1.5391-1.3711 1.4922-2.4062v-16.25c0.003906-0.66406-0.25781-1.3047-0.72656-1.7734z"></path> <path d="m55 85.625c4.1406 0 7.5-3.3594 7.5-7.5v-10c0-4.1406-3.3594-7.5-7.5-7.5h-10c-4.1406 0-7.5 3.3594-7.5 7.5v10c0 4.1406 3.3594 7.5 7.5 7.5zm-12.5-7.5v-10c0-1.3789 1.1211-2.5 2.5-2.5h10c0.66406 0 1.3008 0.26172 1.7695 0.73047s0.73047 1.1055 0.73047 1.7695v10c0 0.66406-0.26172 1.3008-0.73047 1.7695s-1.1055 0.73047-1.7695 0.73047h-10c-1.3789 0-2.5-1.1211-2.5-2.5z"></path> </g> </svg> </div> <div class="u_1142406123 dmNewParagraph" data-element-type="paragraph" id="1142406123" style="transition: opacity 1s ease-in-out 0s; text-align: center;" data-version="5"> <h3><span style="display: initial;">Other Roofing Solutions</span></h3> </div> <div class="u_1083654721 dmDividerWrapper clearfix" data-element-type="dDividerId" data-layout="divider-style-1" data-widget-version="2" id="1083654721" layout="divider-gradient-line"><hr class="dmDivider" style="border-width:2px; border-top-style:solid; color:grey;" id="1239500595"/></div> <div class="u_1895549762 dmNewParagraph" id="1895549762" style="transition: none; text-align: center; display: block;" data-version="5"><p class="text-align-center"><span style="display: initial;">Beyond replacement and repair, TSW Roofing Solutions offers a diverse array of specialized services. This includes roof inspections, maintenance programs, gutter installation and repair, skylight installation, and weatherproofing solutions. Our comprehensive approach means every aspect of your roofing system is addressed, providing complete protection for your property as well as peace of mind.</span></p></div> <a data-display-type="block" class="u_1252142733 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient" file="false" href="/specialty-roofing-solutions" data-element-type="dButtonLinkId" id="1252142733"> <span class="iconBg" id="1465828320"> <span class="icon hasFontIcon icon-star" id="1618551657"></span> </span> <span class="text" id="1280272019">Learn More</span> </a> </div> </div> </div> <div class="dmRespRow u_1300093522 fullBleedChanged fullBleedMode" style="text-align: center;" id="1300093522" data-page-element-type="section" data-page-element-id="1579560222"> <div class="dmRespColsWrapper" id="1042792966"> <div class="u_1965194807 dmRespCol small-12 medium-6 large-6" id="1965194807"> <div class="u_1715377655 graphicWidget" data-element-type="graphic" data-widget-type="graphic" id="1715377655"> <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 100 100" id="1791193094" class="svg u_1791193094" data-icon-name="li-message"> <title id="1546637911">Black and white text message</title> <g id="1856955135"> <path d="M75.4,23.9H24.6c-2.7,0-4.9,2.2-4.9,4.9v31.3c0,2.7,2.2,4.9,4.9,4.9h34.8l11.2,11.2V65h4.9c2.7,0,4.9-2.2,4.9-4.9V28.8 C80.3,26.1,78.1,23.9,75.4,23.9z M78.4,60.1c0,1.6-1.3,2.9-2.9,2.9h-6.8v8.4L60.2,63H24.6c-1.6,0-2.9-1.3-2.9-2.9V28.8 c0-1.6,1.3-2.9,2.9-2.9h50.9c1.6,0,2.9,1.3,2.9,2.9V60.1z" id="1598447490"></path> <rect x="35.3" y="43.4" width="29.3" height="2" id="1983409728"></rect> <rect x="35.3" y="33.7" width="29.3" height="2" id="1407239196"></rect> <rect x="35.3" y="53.2" width="19.6" height="2" id="1762718789"></rect> </g> </svg> </div> <div class="u_1455797367 dmNewParagraph" data-element-type="paragraph" id="1455797367" style="transition: none 0s ease 0s; display: block; line-height: initial; text-align: center;" data-version="5"> <h2 class="text-align-left" style="line-height: 1.2;"><span style="display: initial; color: rgb(255, 255, 255);">Here's what our satisfied customers are saying...</span></h2> </div> <div class="u_1368587309 dmNewParagraph" data-element-type="paragraph" data-version="5" id="1368587309" style="transition: none 0s ease 0s; text-align: left; display: block;" new-inline-bind-applied="true" data-diy-text=""><p class="m-size-16 size-16" style="line-height: 1.5;"><span style="color: rgb(255, 255, 255); display: initial;" class="font-size-16 m-font-size-16" m-font-size-set="true">At <span class="inline-data-binding" data-encoded-value="VFNXIFJvb2ZpbmcgU29sdXRpb25zIEluYw==" data-inline-binding="content_library.global.company_name">TSW Roofing Solutions Inc</span>, we take pride in providing exceptional roofing services to our customers. We would be grateful if you could share your thoughts about our business with others. Your feedback helps us improve and helps others make informed decisions. Please take a moment to</span> <span single-space="true" class="" style="display: initial;"> <span style="display: initial;"></span> </span> <a href="/reviews" runtime_url="/reviews" type="page" style="display: initial; color: rgb(255, 255, 255);" class="font-size-16 m-font-size-16" m-font-size-set="true">leave a review</a><span class="" style="display: initial;"><span style="display: initial;"> </span> </span> <span single-space="true" class="font-size-16 m-font-size-16" style="display: initial;"> <span style="display: initial;" class="font-size-16 m-font-size-16"></span> </span> <span style="display: initial; color: rgb(255, 255, 255);" class="font-size-16 m-font-size-16" m-font-size-set="true">of <span class="inline-data-binding" data-encoded-value="VFNXIFJvb2ZpbmcgU29sdXRpb25zIEluYw==" data-inline-binding="content_library.global.company_name">TSW Roofing Solutions Inc</span> and let others know what you think.</span></p></div> </div> <div class="u_1601100376 dmRespCol small-12 medium-6 large-6" id="1601100376"> <div class="u_1194244400 widget-328e6f dmCustomWidget" data-lazy-load="true" data-title="" id="1194244400" dmle_extension="custom_extension" data-element-type="custom_extension" data-binding="W3siYmluZGluZ05hbWUiOiJtZXJjaGFudElkIiwidmFsdWUiOiJzaXRlX3RleHQuaGlidSByZXZpZXdzIG1lcmNoYW50IGlkIn1d" icon="false" surround="false" data-widget-id="328e6f1fbcec4101ac4f8d9184710a14" data-widget-version="7" data-widget-config="eyJtZXJjaGFudElkIjoiPHAgY2xhc3M9XCJydGVCbG9ja1wiPjY3NDExPC9wPiIsIkRhdGFMaW5lcyI6IjIiLCJEYXRhTnVtIjoiMiIsIlRydW5jYXRlRGVzdCI6Ii9yZXZpZXdzIiwiRGF0YVRoaXJkUGFydHkiOiJ0cnVlIiwiRGF0YVJhbmRvbWl6ZSI6ImZhbHNlIiwicmV2LWRhcmsiOnRydWV9"> <div id="recentReviewsWidget" class="rev-dark fb-dark" data-lines="2" data-num="2" data-truncate-dest="/reviews" data-randomize="false" data-third-party="true" data-merchant="<p class=" rteblock"="">67411 <p></p> "></div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="dmFooterContainer"> <div id="fcontainer" class="u_fcontainer f_hcontainer dmFooter p_hfcontainer"> <div dm:templateorder="250" class="dmFooterResp generalFooter" id="1943048428"> <div class="dmRespRow u_1459810010" id="1459810010" data-page-element-type="section" data-page-element-id="1167735816"> <div class="dmRespColsWrapper" id="1786785446"> <div class="dmRespCol small-12 large-6 medium-6 u_1212110654" id="1212110654"> <div class="u_1344134720 dmNewParagraph" data-element-type="paragraph" data-version="5" id="1344134720" style="transition: none; text-align: left; display: block;" new-inline-bind-applied="true" data-diy-text=""> <h3><span class="" style="color: var(--color_3); display: unset;"><span style="color: var(--color_3); display: unset;">Learn More About</span> </span> </h3> <h3><span style="color: var(--color_3); display: initial;"><span class="inline-data-binding" data-encoded-value="VFNXIFJvb2ZpbmcgU29sdXRpb25zIEluYw==" data-inline-binding="content_library.global.company_name">TSW Roofing Solutions Inc</span></span></h3> </div> <div class="u_1659035820 dmNewParagraph" data-element-type="paragraph" data-version="5" id="1659035820" style="transition: opacity 1s ease-in-out;" new-inline-bind-applied="true" data-diy-text=""><p class="m-size-16"><span class="m-font-size-16" style="color: var(--color_3); display: initial;"><span style="color: var(--color_3); display: initial;" class="m-font-size-16" m-font-size-set="true"><span class="inline-data-binding" data-encoded-value="U2VydmluZyBCYWx0aW1vcmUgQ291bnR5IGFuZCB0aGUgc3Vycm91bmRpbmcgYXJlYS4gVFNXIFJvb2ZpbmcgU29sdXRpb25zIEluYyBzcGVjaWFsaXplcyBpbiByb29mIHJlcGxhY2VtZW50IGFuZCByb29mIHJlcGFpci4gMzUrIHllYXJzIG9mIGNvbWJpbmVkIGV4cGVyaWVuY2UuIEF0dGVudGl2ZSBjdXN0b21lciBjYXJlLiBGaW5hbmNpbmcgb3B0aW9ucyBhdmFpbGFibGUuIFJlcXVlc3QgYSBjYWxsIGJhY2sgdG9kYXku" data-inline-binding="site_text.video transcript">Serving Baltimore County and the surrounding area. TSW Roofing Solutions Inc specializes in roof replacement and roof repair. 10% off discount available. Financing options available. Works directly with insurance. Request a call back today.</span> </span> </span> <span single-space="true" class="m-font-size-16" style="color: var(--color_3); display: initial;"> <span class="m-font-size-16" style="color: var(--color_3); display: initial;"></span> </span> </p></div> <a data-display-type="block" class="u_1921768711 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient" file="false" href="/hibu-video-splash" data-element-type="dButtonLinkId" id="1921768711" link_type="popup" popup_target="hibu-video-splash"> <span class="iconBg" aria-hidden="true" id="1508219456"> <span class="icon hasFontIcon icon-star" id="1962868245"></span> </span> <span class="text" id="1302725011">Watch Video</span> </a> </div> <div class="dmRespCol large-6 medium-6 small-12 u_1457928375" id="1457928375" data-binding="W3siYmluZGluZ05hbWUiOiJiYWNrZ3JvdW5kIiwidmFsdWUiOiJzaXRlX2ltYWdlcy5wZXJzaXN0ZWQuVmlkZW8gU3BsYXNoIEltYWdlIn1d" style="background-image: url('https://le-cdn.hibuwebsites.com/9b20844f25784bd9bf32518bd012c549/dms3rep/multi/opt/tsw-roofing-solutions-video-1920w.JPEG') !important;"> <div class="widget-ca4188 u_1502299771 dmCustomWidget" data-lazy-load="" data-title="" id="1502299771" dmle_extension="custom_extension" data-element-type="custom_extension" icon="false" surround="false" data-widget-id="ca4188fe92024514a23a858f63ab6658" data-widget-version="18" data-widget-config="eyJ2aWRUaXRsZTEiOiIiLCJ2aWRUaXRsZTIiOiIiLCJwbGF5SWNvbiI6Ijxzdmcgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMTAwJVwiIHZlcnNpb249XCIxLjFcIiB2aWV3Qm94PVwiMCAwIDEwMCAxMDBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gPHBhdGggZD1cIm01MCA0LjVjLTI1LjE5OSAwLTQ1LjUgMjAuMzAxLTQ1LjUgNDUuNXMyMC4zMDEgNDUuNSA0NS41IDQ1LjUgNDUuNS0yMC4zMDEgNDUuNS00NS41LTIwLjMwMS00NS41LTQ1LjUtNDUuNXptMjAuODAxIDQ4LjgwMWwtMzAuMzAxIDE3LjY5OWMtMC42MDE1NiAwLjM5ODQ0LTEuMzAwOCAwLjUtMS44OTg0IDAuNS0wLjYwMTU2IDAtMS4zMDA4LTAuMTAxNTYtMS44OTg0LTAuNS0xLjEwMTYtMC42MDE1Ni0xLjg5ODQtMS44OTg0LTEuODk4NC0zLjMwMDhsLTAuMDAzOTA3LTM1LjM5OGMwLTEuMzk4NCAwLjgwMDc4LTIuNjk5MiAxLjg5ODQtMy4zMDA4IDEuMTAxNi0wLjYwMTU2IDIuNjk5Mi0wLjYwMTU2IDMuODAwOCAwbDMwLjM5OCAxNy42OTljMS4xMDE2IDAuNjAxNTYgMS44MDA4IDEuODk4NCAxLjgwMDggMy4zMDA4IDAgMS4zOTg0LTAuODAwNzggMi42OTkyLTEuODk4NCAzLjMwMDh6XCIvPlxuPC9zdmc+IiwicGxheUxpbmsiOnsidmFsdWUiOiJoaWJ1LXZpZGVvLXNwbGFzaCIsInR5cGUiOiJwb3B1cCIsImhyZWYiOiIvaGlidS12aWRlby1zcGxhc2giLCJyYXdfdXJsIjoiL3NpdGUvOWIyMDg0NGYyNTc4NGJkOWJmMzI1MThiZDAxMmM1NDkvaGlidS12aWRlby1zcGxhc2g/bmVlPXRydWUmZWQ9dHJ1ZSZzaG93T3JpZ2luYWw9dHJ1ZSZwcmV2aWV3PXRydWUmZG1fdHJ5X21vZGU9dHJ1ZSZkbV9jaGVja1N5bmM9MSIsInBvcHVwX3RhcmdldCI6ImhpYnUtdmlkZW8tc3BsYXNoIiwibGlua190eXBlIjoicG9wdXAifSwicGxheUljb25BbHQiOiJQbGF5IFZpZGVvIiwidHJhbnNjcmlwdGlvbiI6IlNlcnZpbmcgQmFsdGltb3JlIENvdW50eSBhbmQgdGhlIHN1cnJvdW5kaW5nIGFyZWEuIFRTVyBSb29maW5nIFNvbHV0aW9ucyBJbmMgc3BlY2lhbGl6ZXMgaW4gcm9vZiByZXBsYWNlbWVudCBhbmQgcm9vZiByZXBhaXIuIDEwJSBvZmYgZGlzY291bnQgYXZhaWxhYmxlLiBGaW5hbmNpbmcgb3B0aW9ucyBhdmFpbGFibGUuIFdvcmtzIGRpcmVjdGx5IHdpdGggaW5zdXJhbmNlLiBSZXF1ZXN0IGEgY2FsbCBiYWNrIHRvZGF5LiIsIm5hbWUiOiJUU1cgUm9vZmluZyBTb2x1dGlvbnMgSW5jIiwidGh1bWJuYWlsVXJsIjoiaHR0cHM6Ly9jZG4uaGlidXdlYnNpdGVzLmNvbS85YjIwODQ0ZjI1Nzg0YmQ5YmYzMjUxOGJkMDEyYzU0OS9kbXMzcmVwL211bHRpL3Rzdy1yb29maW5nLXNvbHV0aW9ucy12aWRlby5KUEVHIiwidXBsb2FkRGF0ZSI6IjIwMjUtMDEtMjMiLCJjb250ZW50VXJsIjoidmlkZW9zLmhpYnVzdHVkaW8uY29tLzIwMjUvdHN3LXJvb2Zpbmctc29sdXRpb25zLWluYy03MDE2MDgzMjgwLm1wNCIsImRlc2NyaXB0aW9uIjoiRXhwZXJ0IHJvb2Zpbmcgc2VydmljZXMsIGluY2x1ZGluZyByZXBsYWNlbWVudCAmIHJlcGFpci4gU2VydmluZyBGb3Jlc3QgSGlsbCwgTUQuIn0="> <div class="vidWrapper" itemprop="video" itemscope="" itemtype="http://schema.org/VideoObject"> <meta itemprop="name" content="TSW Roofing Solutions Inc"></meta> <meta itemprop="duration" content="T1M36S"></meta> <meta itemprop="uploadDate" content="2025-01-23"></meta> <meta itemprop="thumbnailUrl" content="https://cdn.hibuwebsites.com/9b20844f25784bd9bf32518bd012c549/dms3rep/multi/tsw-roofing-solutions-video.JPEG"></meta> <meta itemprop="contentURL" content="videos.hibustudio.com/2025/tsw-roofing-solutions-inc-7016083280.mp4"></meta> <meta itemprop="description" content="Expert roofing services, including replacement & repair. Serving Forest Hill, MD."></meta> <meta itemprop="transcript" content=""></meta> <div class="vidInner"> <center> <p class="vidTitle1"></p> <p class="vidTitle2"></p> <div class="playIcon"> <a value="hibu-video-splash" type="popup" href="/hibu-video-splash" raw_url="/site/9b20844f25784bd9bf32518bd012c549/hibu-video-splash?nee=true&ed=true&showOriginal=true&preview=true&dm_try_mode=true&dm_checkSync=1" popup_target="hibu-video-splash" link_type="popup"> <svg width="100%" height="100%" version="1.1" viewbox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"> <path d="m50 4.5c-25.199 0-45.5 20.301-45.5 45.5s20.301 45.5 45.5 45.5 45.5-20.301 45.5-45.5-20.301-45.5-45.5-45.5zm20.801 48.801l-30.301 17.699c-0.60156 0.39844-1.3008 0.5-1.8984 0.5-0.60156 0-1.3008-0.10156-1.8984-0.5-1.1016-0.60156-1.8984-1.8984-1.8984-3.3008l-0.003907-35.398c0-1.3984 0.80078-2.6992 1.8984-3.3008 1.1016-0.60156 2.6992-0.60156 3.8008 0l30.398 17.699c1.1016 0.60156 1.8008 1.8984 1.8008 3.3008 0 1.3984-0.80078 2.6992-1.8984 3.3008z"></path> </svg> </a> </div> </center> </div> <div class="vidOverlay"></div> </div> </div> </div> </div> </div> <div class="dmRespRow u_1925622441" id="1925622441"> <div class="dmRespColsWrapper" id="1382034199"> <div class="dmRespCol large-12 medium-12 small-12 u_1820058374" id="1820058374"> <div class="dmRespRow u_1168543724" id="1168543724"> <div class="dmRespColsWrapper" id="1303778391"> <div class="dmRespCol small-12 large-4 medium-4 u_1063331926" id="1063331926"> <div class="u_1272353659 dmNewParagraph" data-element-type="paragraph" data-version="5" id="1272353659" style="transition: none; text-align: left; display: block;"> <h4 style="letter-spacing: 0.06em;"><span style="text-transform: uppercase; display: unset; color: rgb(255, 255, 255);">serving AreaS</span></h4> </div> <div class="u_1599537200 dmDividerWrapper clearfix" data-element-type="dDividerId" data-layout="divider-style-1" data-widget-version="2" id="1599537200" layout="divider-gradient-line"><hr class="dmDivider" style="border-width:2px; border-top-style:solid; color:grey;" id="1437965735"/></div> <div data-element-type="spacer" class="dmSpacer u_1475783098" id="1475783098"></div> <div class="u_1850694843 dmNewParagraph" data-element-type="paragraph" data-version="5" id="1850694843" data-binding="W3siYmluZGluZ05hbWUiOiJ0ZXh0IiwidmFsdWUiOiJzaXRlX3RleHQuc2VydmljZSBhcmVhIGxvYyAxIn1d" data-styletopreserve="{" background-image":""}"="" data-diy-text=""> <div class="rteBlock defaultList"><p>Baltimore, MD</p><p>Baltimore County, MD</p><p>Harford County, MD</p></div> </div> </div> <div class="dmRespCol large-4 medium-4 small-12 u_1985167550" id="1985167550"> <div class="u_1684919386 dmNewParagraph" data-element-type="paragraph" data-version="5" id="1684919386" style="transition: opacity 1s ease-in-out 0s;"> <h4 style="letter-spacing: 0.06em;"><span style="text-transform: uppercase; display: unset; color: rgb(255, 255, 255);">Contact Us</span></h4> </div> <div class="u_1478631455 dmDividerWrapper clearfix" data-element-type="dDividerId" data-layout="divider-style-1" data-widget-version="2" id="1478631455" layout="divider-gradient-line"><hr class="dmDivider" style="border-width:2px; border-top-style:solid; color:grey;" id="1290773887"/></div> <div data-element-type="spacer" class="dmSpacer u_1224128143" id="1224128143"></div> <a data-display-type="block" class="u_1716343180 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient button_2" file="false" href="/call-or-text-pop" data-element-type="dButtonLinkId" id="1716343180" link_type="popup" popup_target="call-or-text-pop"> <span class="iconBg" aria-hidden="true" id="1621809595"> <span class="icon hasFontIcon icon-star" id="1870251308"></span> </span> <span class="text" id="1837278860">Call</span> </a> <a data-display-type="block" class="u_1724104197 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient button_2" file="false" href="/contact" data-element-type="dButtonLinkId" id="1724104197"> <span class="iconBg" aria-hidden="true" id="1600628965"> <span class="icon hasFontIcon icon-star" id="1590595636"></span> </span> <span class="text" id="1285948976">Send a Message</span> </a> <div class="u_1367184631 align-center text-align-center dmSocialHub gapSpacing" id="1367184631" dmle_extension="social_hub" data-element-type="social_hub" data-binding="W3siYmluZGluZ05hbWUiOiJzb2NpYWwiLCJ2YWx1ZSI6ImNvbnRlbnRfbGlicmFyeS5nbG9iYWwuc29jaWFsIn1d" wr="true" networks="" icon="true" surround="true" adwords=""> <div class="socialHubWrapper"> <div class="socialHubInnerDiv "> <a href="https://yelp.com/biz/tsw-roofing-solutions-forest-hill" target="_blank" dm_dont_rewrite_url="true" aria-label="yelp" onclick="dm_gaq_push_event && dm_gaq_push_event('socialLink', 'click', 'Yelp')"> <span class="dmSocialYelp dm-social-icons-yelp oneIcon socialHubIcon style3" aria-hidden="true" data-hover-effect=""></span> </a> </div> </div> </div> </div> <div class="dmRespCol small-12 large-4 medium-4 u_1560289685" id="1560289685"> <div class="u_1413870224 dmNewParagraph" data-element-type="paragraph" data-version="5" id="1413870224" style="transition: opacity 1s ease-in-out 0s;"> <h4 style="letter-spacing: 0.06em;"><span style="text-transform: uppercase; display: unset; color: rgb(255, 255, 255);">Business Hours</span></h4> </div> <div class="u_1200308566 dmDividerWrapper clearfix" data-element-type="dDividerId" data-layout="divider-style-1" data-widget-version="2" id="1200308566" layout="divider-gradient-line"><hr class="dmDivider" style="border-width:2px; border-top-style:solid; color:grey;" id="1327679971"/></div> <div data-element-type="spacer" class="dmSpacer u_1319163538" id="1319163538"></div> <div class="u_1308619812 default dmHoursOfOperation" id="1308619812" dmle_extension="open_hours" data-element-type="open_hours" data-binding="W3siYmluZGluZ05hbWUiOiJidXNpbmVzc19ob3VycyIsInZhbHVlIjoiY29udGVudF9saWJyYXJ5Lmdsb2JhbC5idXNpbmVzc19ob3VycyJ9XQ==" time_format="12" wr="true" displaytitle="false" forcedisplay="false" icon="true" surround="true" adwords=""> <dl class="open-hours-data"> <div class="open-hours-item"> <dt day="0">Mon - Fri</dt> <dd> <time>8:00 am</time> - <time>5:00 pm</time> </dd> </div> <div class="open-hours-item"> <dt day="5">Sat - Sun</dt> <dd>Closed</dd> </div> </dl> </div> <div class="u_1739699858 dmNewParagraph" data-element-type="paragraph" data-version="5" id="1739699858" style="transition: opacity 1s ease-in-out 0s;" new-inline-bind-applied="true" data-diy-text=""><p class="m-size-12 size-15"><span class="m-font-size-12 font-size-15" m-font-size-set="true" style="font-weight: bold; color: rgb(255, 255, 255); display: initial;"><span class="inline-data-binding" data-encoded-value="VGhpcyBpcyBhIHBsYWNlaG9sZGVyIGFuZCB3b24ndCBhcHBlYXIgb24gdGhlIGxpdmUgc2l0ZS4=" data-inline-binding="site_text.additional hours text loc 1"></span></span></p></div> </div> </div> </div> </div> </div> </div> <div class="u_1632155419 dmRespRow" style="text-align: center;" id="1632155419"> <div class="dmRespColsWrapper" id="1253858808"> <div class="u_1063824722 dmRespCol small-12 medium-12 large-12" id="1063824722"> <div data-element-type="spacer" class="dmSpacer u_1663058138" id="1663058138"></div> <div class="widget-afd4bc u_1073006314 dmCustomWidget" data-lazy-load="" data-title="" id="1073006314" dmle_extension="custom_extension" data-element-type="custom_extension" icon="false" surround="false" data-widget-id="afd4bc7f907140298e111130d715031d" data-widget-version="100" data-widget-config="eyJJY29uTGlzdCI6W3siQWN0aW9uIjoiQ2FsbCIsIkxhYmVsIjoiQ2FsbCBVcyIsIkNhbGxOdW0iOiIoNDQzKSAyNjEtMDYwNSIsIlF1ZXJ5IjoiU3RyZWV0IEFkZHJlc3MsIENpdHksIFNULCAxMjM0NSIsIlNtc051bSI6IjU1NS01NTUtNTU1NSIsImVtYWlsRGVmU3ViamVjdCI6IlF1ZXN0aW9ucyBBYm91dCBZb3VyIEJ1c2luZXNzIiwiRW1haWwiOnRydWUsIkZhY2Vib29rIjp0cnVlLCJUdW1ibHIiOnRydWUsIkxpbmtlZEluIjp0cnVlLCJUd2l0dGVyIjp0cnVlLCJSZWRkaXQiOnRydWUsIlBpbnRlcmVzdCI6dHJ1ZSwiQ3VzdG9tSWNvbl9TZWxlY3QiOiJjdXN0b21faWNvbjEiLCJzaG93b25tb2JpbGUiOnRydWUsInNob3dvbmRlc2t0b3AiOnRydWUsIkVtYWlsQWRkciI6bnVsbCwiU2hhcmVUaXRsZSI6IiIsIkZiVXNlciI6bnVsbCwiQ2hhdFNjcmlwdCI6bnVsbCwiR29vZ2xlUGx1cyI6ZmFsc2UsIkFuaW1hdGUiOm51bGwsIkN1c3RvbUljb24iOm51bGwsImRlZkVtYWlsQm9keSI6IiIsIlNoYXJlTGluayI6bnVsbCwiTGluayI6bnVsbH0seyJBY3Rpb24iOiJMaW5rIiwiTGFiZWwiOiJSZWFkIFJldmlld3MiLCJDYWxsTnVtIjoiNTU1LTU1NS01NTU1IiwiUXVlcnkiOiJTdHJlZXQgQWRkcmVzcywgQ2l0eSwgU1QsIDEyMzQ1IiwiU21zTnVtIjoiNTU1LTU1NS01NTU1IiwiZW1haWxEZWZTdWJqZWN0IjoiUXVlc3Rpb25zIEFib3V0IFlvdXIgQnVzaW5lc3MiLCJFbWFpbCI6dHJ1ZSwiRmFjZWJvb2siOnRydWUsIlR1bWJsciI6dHJ1ZSwiTGlua2VkSW4iOnRydWUsIlR3aXR0ZXIiOnRydWUsIlJlZGRpdCI6dHJ1ZSwiUGludGVyZXN0Ijp0cnVlLCJDdXN0b21JY29uX1NlbGVjdCI6ImN1c3RvbV9pY29uMSIsInNob3dvbm1vYmlsZSI6dHJ1ZSwic2hvd29uZGVza3RvcCI6dHJ1ZSwiRW1haWxBZGRyIjpudWxsLCJTaGFyZVRpdGxlIjoiIiwiRmJVc2VyIjpudWxsLCJDaGF0U2NyaXB0IjpudWxsLCJHb29nbGVQbHVzIjpmYWxzZSwiQW5pbWF0ZSI6bnVsbCwiQ3VzdG9tSWNvbiI6dHJ1ZSwiZGVmRW1haWxCb2R5IjoiIiwiU2hhcmVMaW5rIjpudWxsLCJMaW5rIjp7InZhbHVlIjoicmV2aWV3cyIsImxhYmVsIjoiIiwidHlwZSI6InBhZ2UiLCJocmVmIjoiL3Jldmlld3MiLCJyYXdfdXJsIjoiL3NpdGUvNzRkMjU0NDNlMDRlNGQwYmI4OGU1ODI4NGM3MjcwNzMvcmV2aWV3cz9uZWU9dHJ1ZSZlZD10cnVlJnNob3dPcmlnaW5hbD10cnVlJnByZXZpZXc9dHJ1ZSZkbV90cnlfbW9kZT10cnVlJmRtX2NoZWNrU3luYz0xIn19LHsiQWN0aW9uIjoiTGluayIsIkxhYmVsIjoiUmVxdWVzdCBDYWxsIEJhY2siLCJDYWxsTnVtIjoiNTU1LTU1NS01NTU1IiwiUXVlcnkiOiJTdHJlZXQgQWRkcmVzcywgQ2l0eSwgU1QsIDEyMzQ1IiwiU21zTnVtIjoiNTU1LTU1NS01NTU1IiwiZW1haWxEZWZTdWJqZWN0IjoiUXVlc3Rpb25zIEFib3V0IFlvdXIgQnVzaW5lc3MiLCJFbWFpbCI6dHJ1ZSwiRmFjZWJvb2siOnRydWUsIlR1bWJsciI6dHJ1ZSwiTGlua2VkSW4iOnRydWUsIlR3aXR0ZXIiOnRydWUsIlJlZGRpdCI6dHJ1ZSwiUGludGVyZXN0Ijp0cnVlLCJDdXN0b21JY29uX1NlbGVjdCI6ImN1c3RvbV9pY29uMiIsInNob3dvbm1vYmlsZSI6dHJ1ZSwic2hvd29uZGVza3RvcCI6dHJ1ZSwiRW1haWxBZGRyIjpudWxsLCJTaGFyZVRpdGxlIjoiIiwiRmJVc2VyIjpudWxsLCJDaGF0U2NyaXB0IjpudWxsLCJHb29nbGVQbHVzIjpmYWxzZSwiQW5pbWF0ZSI6bnVsbCwiQ3VzdG9tSWNvbiI6dHJ1ZSwiZGVmRW1haWxCb2R5IjoiIiwiU2hhcmVMaW5rIjpudWxsLCJMaW5rIjp7InZhbHVlIjoicmVxdWVzdC1jYWxsLWJhY2stZm9ybSIsImxhYmVsIjoiIiwidHlwZSI6InBhZ2UiLCJocmVmIjoiL3JlcXVlc3QtY2FsbC1iYWNrLWZvcm0iLCJyYXdfdXJsIjoiL3NpdGUvOWIyMDg0NGYyNTc4NGJkOWJmMzI1MThiZDAxMmM1NDkvcmVxdWVzdC1jYWxsLWJhY2stZm9ybT9uZWU9dHJ1ZSZlZD10cnVlJnNob3dPcmlnaW5hbD10cnVlJnByZXZpZXc9dHJ1ZSZkbV90cnlfbW9kZT10cnVlJmRtX2NoZWNrU3luYz0xIn19LHsiQWN0aW9uIjoiU2hhcmUiLCJMYWJlbCI6IlNoYXJlIFVzIiwiQ2FsbE51bSI6IjU1NS01NTUtNTU1NSIsIlF1ZXJ5IjoiU3RyZWV0IEFkZHJlc3MsIENpdHksIFNULCAxMjM0NSIsIlNtc051bSI6IjU1NS01NTUtNTU1NSIsImVtYWlsRGVmU3ViamVjdCI6IlF1ZXN0aW9ucyBBYm91dCBZb3VyIEJ1c2luZXNzIiwiRW1haWwiOnRydWUsIkZhY2Vib29rIjp0cnVlLCJUdW1ibHIiOnRydWUsIkxpbmtlZEluIjp0cnVlLCJUd2l0dGVyIjp0cnVlLCJSZWRkaXQiOnRydWUsIlBpbnRlcmVzdCI6dHJ1ZSwiQ3VzdG9tSWNvbl9TZWxlY3QiOiJjdXN0b21faWNvbjEiLCJzaG93b25tb2JpbGUiOnRydWUsInNob3dvbmRlc2t0b3AiOnRydWUsIkVtYWlsQWRkciI6bnVsbCwiU2hhcmVUaXRsZSI6IiIsIkZiVXNlciI6bnVsbCwiQ2hhdFNjcmlwdCI6bnVsbCwiR29vZ2xlUGx1cyI6ZmFsc2UsIkFuaW1hdGUiOm51bGwsIkN1c3RvbUljb24iOm51bGwsImRlZkVtYWlsQm9keSI6IiIsIlNoYXJlTGluayI6bnVsbCwiTGluayI6bnVsbH1dLCJNb2RhbFRpdGxlIjoiU2hhcmUgT246IiwiRGVza3RvcE9wdGlvbnMiOm51bGwsIkRlc2t0b3BMYXlvdXQiOiJGbG9hdCIsIkRlc2tNYWluIjoiZW52ZWxvcGUiLCJNYWluTGFiZWwiOiJDb250YWN0IFVzIiwiSGVscFRleHQiOiJIaS4gRG8geW91IG5lZWQgYW55IGhlbHA/IiwiTW9iaWxlT3B0aW9ucyI6bnVsbCwiTW9iaWxlTGF5b3V0IjoiRnVsbCIsIk1vYmlsZVRoZW1lIjoiTGlnaHQiLCJNb2JpbGVNYWluIjoicGx1cyIsIk1vYmlsZU9yaWVudGF0aW9uIjoicmlnaHQiLCJBbmltYXRpb25PcHRpb25zIjpudWxsLCJGb2N1c0FuaSI6ZmFsc2UsIkZvY3VzRGVsYXkiOiI1MDAwIiwiRm9jdXNJdGVyIjoiMSIsIkN1c3RvbUljb25PcHRpb25zIjpudWxsLCJjdXN0b21faWNvbjEiOiI8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2NjQgMTc5MlwiPjxwYXRoIGZpbGw9XCJpbmhlcml0XCIgZD1cIk0xNjY0IDY0N3EwIDIyLTI2IDQ4bC0zNjMgMzU0IDg2IDUwMHExIDcgMSAyMCAwIDIxLTEwLjUgMzUuNXQtMzAuNSAxNC41cS0xOSAwLTQwLTEybC00NDktMjM2LTQ0OSAyMzZxLTIyIDEyLTQwIDEyLTIxIDAtMzEuNS0xNC41dC0xMC41LTM1LjVxMC02IDItMjBsODYtNTAwLTM2NC0zNTRxLTI1LTI3LTI1LTQ4IDAtMzcgNTYtNDZsNTAyLTczIDIyNS00NTVxMTktNDEgNDktNDF0NDkgNDFsMjI1IDQ1NSA1MDIgNzNxNTYgOSA1NiA0NnpcIi8+IDwvc3ZnPiIsImN1c3RvbV9pY29uMiI6Ijxzdmcgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMTAwJVwiIHZlcnNpb249XCIxLjFcIiB2aWV3Qm94PVwiMCAwIDEwMCAxMDBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gPHBhdGggZD1cIm04OS44OTEgODUuOThjLTEuMDg5OCAyLjU1ODYtMi42MDk0IDQuODU5NC00LjU3MDMgNi44MjAzLTEyLjg0IDEyLjg0LTM5LjgyOCA2LjY2MDItNjAuMjgxLTEzLjc4OS0yMC40NDktMjAuNDUzLTI2LjYyOS00Ny40NDEtMTMuNzg5LTYwLjI4MSAxLjk2ODgtMS45NjA5IDQuMjYxNy0zLjQ4MDUgNi44MjAzLTQuNTcwMyAyLjYwOTQtMS4xMDk0IDUuNTc4MS0wLjE5MTQxIDcuMDg5OCAyLjIxMDlsMTEuMjg5IDE3Ljg3OWMwLjk2MDk0IDEuNTMxMiAwLjc1IDMuNDYwOS0wLjUzMTI1IDQuNzM4M2wtOS4wNzgxIDkuMDc4MWMtMS4yMzgzIDEuMjM4My0xLjQ4ODMgMy4xMDk0LTAuNTg5ODQgNC42Mjg5IDUuNzE4OCA5Ljc2OTUgMTUuMzIgMTkuMzc5IDI1LjEwMiAyNS4xMDIgMS41MTk1IDAuODkwNjIgMy4zOTA2IDAuNjQ4NDQgNC42Mjg5LTAuNTg5ODRsOS4wNzgxLTkuMDc4MWMxLjI4MTItMS4yODEyIDMuMjEwOS0xLjQ4ODMgNC43MzgzLTAuNTMxMjVsMTcuODc5IDExLjI4OWMyLjQwMjMgMS41MTE3IDMuMzI0MiA0LjQ4NDQgMi4yMTQ4IDcuMDkzOHptNC4yMzgzLTQxLjA1MWMtMS45Njg4LTguMjMwNS02LjE2MDItMTYuMDMxLTEyLjU3LTIyLjQzLTYuMzk4NC02LjQxMDItMTQuMTk5LTEwLjU5LTIyLjQzLTEyLjU3LTIuNjkxNC0wLjY0ODQ0LTUuNDIxOS0xLjA1MDgtOC4xNDg0LTEuMjE4OC0wLjcxMDk0LTAuMDM5MDYzLTEuMjgxMi0wLjU3ODEzLTEuMzU5NC0xLjI4MTJsLTAuNzMwNDctNS42NDg0Yy0wLjA3ODEyNS0wLjYwMTU2LTAuNDg4MjgtMS4wNzAzLTEuMDcwMy0xLjIzMDUtMC41ODk4NC0wLjE2MDE2LTEuMTcxOSAwLjAzOTA2My0xLjU1MDggMC41MTk1M2wtMTAuNDY5IDEzLjU3OGMtMC40ODgyOCAwLjY0MDYyLTAuMzcxMDkgMS41NzAzIDAuMjYxNzIgMi4wNTg2bDEzLjU3OCAxMC40NjFjMC40ODA0NyAwLjM3MTA5IDEuMTAxNiAwLjQyMTg4IDEuNjI4OSAwLjEwOTM4IDAuNTE5NTMtMC4zMDA3OCAwLjgwMDc4LTAuODU5MzggMC43MTg3NS0xLjQ2MDlsLTAuNjQ4NDQtNC45ODA1Yy0wLjA1ODU5NC0wLjQ2ODc1IDAuMDg5ODQ0LTAuODkwNjMgMC40MjE4OC0xLjIzMDUgMC4zMjgxMi0wLjMyODEyIDAuNzYxNzItMC40ODA0NyAxLjIzMDUtMC40MjE4OCAxLjI1IDAuMTcxODggMi40ODgzIDAuMzk4NDQgMy43MTg4IDAuNjkxNDEgNi40Mjk3IDEuNTUwOCAxMi41MzkgNC44MjgxIDE3LjU3OCA5Ljg3MTEgNS4wMzkxIDUuMDM5MSA4LjMyODEgMTEuMTQ4IDkuODcxMSAxNy41NzggMS40ODA1IDYuMTkxNCAxLjM1MTYgMTIuNzExLTAuMzk4NDQgMTguODcxLTAuMjEwOTQgMC43NjE3MiAwLjIxMDk0IDEuNTU4NiAwLjk2MDk0IDEuODAwOGw2Ljk4MDUgMi4yNjk1YzAuMzkwNjIgMC4xMjg5MSAwLjc2OTUzIDAuMDg5ODQ0IDEuMTQwNi0wLjEwMTU2IDAuMzU5MzgtMC4xOTkyMiAwLjYwOTM4LTAuNDg4MjggMC43MTg3NS0wLjg5MDYyIDIuMzA4Ni03LjkwMjMgMi40ODgzLTE2LjMyNCAwLjU2NjQxLTI0LjM0NHpcIiBmaWxsLXJ1bGU9XCJldmVub2RkXCIvPlxuPC9zdmc+IiwiY3VzdG9tX2ljb24zIjoiPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNzkyIDE3OTJcIj48cGF0aCBmaWxsPVwiaW5oZXJpdFwiIGQ9XCJNMTc5MiA3MTB2Nzk0cTAgNjYtNDcgMTEzdC0xMTMgNDdoLTE0NzJxLTY2IDAtMTEzLTQ3dC00Ny0xMTN2LTc5NHE0NCA0OSAxMDEgODcgMzYyIDI0NiA0OTcgMzQ1IDU3IDQyIDkyLjUgNjUuNXQ5NC41IDQ4IDExMCAyNC41aDEgMXE1MSAwIDExMC0yNC41dDk0LjUtNDggOTIuNS02NS41cTE3MC0xMjMgNDk4LTM0NSA1Ny0zOSAxMDAtODd6TTE3OTIgNDE2cTAgNzktNDkgMTUxdC0xMjIgMTIzcS0zNzYgMjYxLTQ2OCAzMjUtMTAgNy00Mi41IDMwLjV0LTU0IDM4LTUyIDMyLjUtNTcuNSAyNy01MCA5aC0xLTFxLTIzIDAtNTAtOXQtNTcuNS0yNy01Mi0zMi41LTU0LTM4LTQyLjUtMzAuNXEtOTEtNjQtMjYyLTE4Mi41dC0yMDUtMTQyLjVxLTYyLTQyLTExNy0xMTUuNXQtNTUtMTM2LjVxMC03OCA0MS41LTEzMHQxMTguNS01MmgxNDcycTY1IDAgMTEyLjUgNDd0NDcuNSAxMTN6XCIvPiA8L3N2Zz4iLCJjdXN0b21faWNvbjQiOiI8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjk4LjI4XCIgaGVpZ2h0PVwiOTguMjhcIiB2aWV3Qm94PVwiMCAwIDk4LjI4IDk4LjI4XCI+PGNpcmNsZSBjeD1cIjQ5LjE0XCIgY3k9XCI0OS4xNFwiIHI9XCI0OS4xNFwiIGZpbGw9XCIjMjcyYTNkXCIvPjxwYXRoIGQ9XCJNNjAuMTgsNTMuNWEzLDMsMCwwLDEsMi4zMi43NSwzLDMsMCwwLDEsLjY1LDIuMDksNi41Myw2LjUzLDAsMCwxLS4yNCwxLjgsNC4zOCw0LjM4LDAsMCwxLS40MywxLjEySDU4LjU0djYuNjhINTEuOTJWNTkuMjZoLTcuM3EtNC41NiwwLTYuNDgtMS40MWE1LjE3LDUuMTcsMCwwLDEtMS45Mi00LjQ0LDEwLjY1LDEwLjY1LDAsMCwxLC40Ni0zLDE4LjksMTguOSwwLDAsMSwxLjItMywyNi41NywyNi41NywwLDAsMSwxLjczLTMsMzIuODUsMzIuODUsMCwwLDEsMi0yLjc2cTEuNDQtMS43OCwzLTMuMzRhMzAsMzAsMCwwLDEsMy4xMi0yLjc2QTE1LDE1LDAsMCwxLDUxLDMzLjY2YTguNDgsOC40OCwwLDAsMSwzLjM0LS43LDcuNzMsNy43MywwLDAsMSwyLjg4LjQzLDYuMjcsNi4yNywwLDAsMSwxLjM0LjY3VjUzLjVaTTUxLjkyLDM5LjQ0Yy0uMjYuMTYtLjkuNjYtMS45MiwxLjQ5YTI0LjU4LDI0LjU4LDAsMCwwLTMuNDEsMy41NSwyNC4xOCwyNC4xOCwwLDAsMC0yLjgzLDQuMTUsNi44OSw2Ljg5LDAsMCwwLS45MSwyLjkxLDEuNTcsMS41NywwLDAsMCwuODYsMS41M0E1LjA2LDUuMDYsMCwwLDAsNDYsNTMuNWg2WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMC40IC0wLjM3KVwiIGZpbGw9XCIjNGRhZjdjXCIvPjwvc3ZnPiIsImN1c3RvbV9pY29uNSI6IjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiOTguMjhcIiBoZWlnaHQ9XCI5OC4yOFwiIHZpZXdCb3g9XCIwIDAgOTguMjggOTguMjhcIj48Y2lyY2xlIGN4PVwiNDkuMTRcIiBjeT1cIjQ5LjE0XCIgcj1cIjQ5LjE0XCIgZmlsbD1cIiMyNzJhM2RcIi8+PHBhdGggZD1cIk00MCwzNy41OGE0LjIxLDQuMjEsMCwwLDEsMS0yLjgyLDMuODYsMy44NiwwLDAsMSwyLjg4LS45NEg1N2E0LjM2LDQuMzYsMCwwLDEsMi44My43MSwyLjgxLDIuODEsMCwwLDEsLjgyLDIuMjUsNS4wNyw1LjA3LDAsMCwxLS4zNiwyLDcuNDIsNy40MiwwLDAsMS0uNTYsMS4xNEg0NS45MmwtLjE5LDUuOSwxLjUxLS4yMWEyMi4yOSwyMi4yOSwwLDAsMSwyLjY2LS4xMiwxNi40LDE2LjQsMCwwLDEsNS42NC44NiwxMC41NCwxMC41NCwwLDAsMSwzLjc3LDIuMjgsOC40NCw4LjQ0LDAsMCwxLDIuMDksMy4yOSwxMS44NSwxMS44NSwwLDAsMSwuNjUsMy44OSwxMS4xMiwxMS4xMiwwLDAsMS0uODcsNC40Niw5LjE4LDkuMTgsMCwwLDEtMi41NiwzLjQ2QTEyLjE4LDEyLjE4LDAsMCwxLDU0LjQyLDY2YTE5LjA1LDE5LjA1LDAsMCwxLTUuNzYuNzksMjMuODgsMjMuODgsMCwwLDEtNS0uNDUsMjIuMzUsMjIuMzUsMCwwLDEtMy40OC0xLDExLjI4LDExLjI4LDAsMCwxLTIuMTEtMSw0LjM3LDQuMzcsMCwwLDEtLjc3LS41N0w0MCw1OC45M2E3LjMxLDcuMzEsMCwwLDAsLjY5LjQzLDEyLjQ2LDEyLjQ2LDAsMCwwLDEuNzMuODIsMTcuOCwxNy44LDAsMCwwLDIuNTcuNzYsMTQuNDQsMTQuNDQsMCwwLDAsMy4yNi4zNCwxMSwxMSwwLDAsMCwzLjIyLS40MSw2LDYsMCwwLDAsMi4wOS0xLjA4LDMuODMsMy44MywwLDAsMCwxLjEyLTEuNkE1LjM5LDUuMzksMCwwLDAsNTUsNTYuMjdhNi4xNCw2LjE0LDAsMCwwLS4zMS0yLDMuNzEsMy43MSwwLDAsMC0xLjE1LTEuNjYsNi4yNSw2LjI1LDAsMCwwLTIuMjgtMS4xNiwxMy4zMiwxMy4zMiwwLDAsMC0zLjc1LS40MywxOC40LDE4LjQsMCwwLDAtNS4xMS42LDMwLjA4LDMwLjA4LDAsMCwwLTIuOTUsMVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTAuNCAtMC4zNylcIiBmaWxsPVwiIzRkYWY3Y1wiLz48L3N2Zz4iLCJjdXN0b21faWNvbjYiOiI8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjk4LjI4XCIgaGVpZ2h0PVwiOTguMjhcIiB2aWV3Qm94PVwiMCAwIDk4LjI4IDk4LjI4XCI+PGNpcmNsZSBjeD1cIjQ5LjE0XCIgY3k9XCI0OS4xNFwiIHI9XCI0OS4xNFwiIGZpbGw9XCIjMjcyYTNkXCIvPjxwYXRoIGQ9XCJNNjIuNTMsNTQuODVhMTEuNTMsMTEuNTMsMCwwLDEtMSw0Ljc3LDExLjQsMTEuNCwwLDAsMS0yLjcxLDMuNzcsMTIuNDEsMTIuNDEsMCwwLDEtNC4wNywyLjQ3LDE0LjI1LDE0LjI1LDAsMCwxLTUuMTMuODksMTQuOTMsMTQuOTMsMCwwLDEtNS4xMy0uODYsMTIuNDIsMTIuNDIsMCwwLDEtNC0yLjQsMTEsMTEsMCwwLDEtMi42Ni0zLjY1LDExLjEzLDExLjEzLDAsMCwxLTEtNC42NkExMy41NiwxMy41NiwwLDAsMSwzOC4zMSw0OWEzMy41NSwzMy41NSwwLDAsMSwzLjM4LTUuMzdsNi40Mi04LjQ1Yy4xOS0uMjMuNC0uNDcuNjItLjc1YTMuODIsMy44MiwwLDAsMSwuODItLjcyLDQuOSw0LjksMCwwLDEsMS4xNy0uNTJBNS40Nyw1LjQ3LDAsMCwxLDUyLjM4LDMzYTQuNTcsNC41NywwLDAsMSwyLjcxLjcsNC41LDQuNSwwLDAsMSwxLjIzLDEuMTJMNDguMjUsNDUuMTVhNy4zNyw3LjM3LDAsMCwxLDEuNTMtLjU1QTguODIsOC44MiwwLDAsMSw1Miw0NC4zNGExMS40NCwxMS40NCwwLDAsMSw0LjM4Ljc5LDkuNCw5LjQsMCwwLDEsNS4zOSw1LjU0QTExLjgsMTEuOCwwLDAsMSw2Mi41Myw1NC44NVptLTYuNzIuMzNhNi4xMiw2LjEyLDAsMCwwLTEuNzMtNC40OCw2LDYsMCwwLDAtNC40Ni0xLjc2LDYuMjIsNi4yMiwwLDAsMC00LjQ0LDEuNzgsNS41NSw1LjU1LDAsMCwwLTEuMywyLDcsNywwLDAsMCwwLDUsNS40Nyw1LjQ3LDAsMCwwLDEuMywyLDYuMjcsNi4yNywwLDAsMCw0LjQ0LDEuNzcsNiw2LDAsMCwwLDQuNDYtMS43NUE2LjEzLDYuMTMsMCwwLDAsNTUuODEsNTUuMThaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0wLjQgLTAuMzcpXCIgZmlsbD1cIiM0ZGFmN2NcIi8+PC9zdmc+IiwiSWNvbiBTaXplIjpudWxsLCJHbG9iYWwiOm51bGwsIk1vYmlsZSI6bnVsbCwiRGVza3RvcCI6bnVsbH0="> <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">2025</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 id="swh-d7e794ba29244e8ba4474fdfea930049"> <div data-wrapper-source="appstore"> <script> if (window.location.search.match(/[?,&]preview=true/) && window.top !== window) { window.__AudioEyePreviewMode=true; } </script> <script type="text/javascript">!function(){ var b=function(){ window.__AudioEyeSiteHash = "d43efaefbc37b790fa7e6ca2a10ac2ff"; window.__AudioEyeInstallSource = "duda"; 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> </div> </div> </div> </div> </div> </div> </div> </div> </div> <!-- Add full CSS and Javascript before the close tag of the body if needed --> <!-- Google Fonts Include --> <!-- loadCSS function fonts.jsp--> <link rel="preload" href="https://cdn.hibuwebsites.com/fonts/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&subset=latin-ext&display=swap" as="style" fetchpriority="low" onload="loadCSS(this)" /> <style> @font-face { font-family: "truenolt"; src: url("https://cdn.hibuwebsites.com/9b20844f25784bd9bf32518bd012c549/fonts/truenolt-2f8e_400.otf"); font-weight: 400; font-style: normal; } </style> <!-- RT CSS Include d-css-runtime-desktop-one-package-structured-global--> <link rel="preload" as="style" fetchpriority="low" onload="loadCSS(this)" href="https://static-res-cdn.websites.hibu.com/mnlt/production/5500/_dm/s/rt/dist/css/d-css-runtime-desktop-one-package-structured-global.min.css" /> <!-- End of RT CSS Include --> <link rel="preload" href="https://cdn.hibuwebsites.com/WIDGET_CSS/095a7ff8f9f81475c972ce7d47aaaf32.css" id="widgetCSS" as="style" fetchpriority="low" onload="loadCSS(this)" /> <!-- Support `img` size attributes --> <style>img[width][height] { height: auto; }</style> <!-- Support showing sticky element on page only --> <style> body[data-page-alias="home"] #dm [data-show-on-page-only="home"] { display: block !important; } </style> <!-- This is populated in Ajax navigation --> <style id="pageAdditionalWidgetsCss" type="text/css"> </style> <!-- Site CSS --> <link rel="preload" href="https://cdn.hibuwebsites.com/9b20844f25784bd9bf32518bd012c549/files/9b20844f25784bd9bf32518bd012c549_withFlex_1.min.css?v=90" id="siteGlobalCss" as="style" fetchpriority="low" onload="loadCSS(this)" /> <!-- additional css file per platform --> <link type="text/css" rel="stylesheet" href="/_dm/s/rt/css/hibu/hibu-runtime.css?version=2025-05-28T08_48_37" /> <style id="customWidgetStyle" type="text/css"> </style> <style id="innerPagesStyle" type="text/css"> </style> <style id="additionalGlobalCss" type="text/css" > </style> <!-- Page CSS --> <link rel="preload" href="https://cdn.hibuwebsites.com/9b20844f25784bd9bf32518bd012c549/files/9b20844f25784bd9bf32518bd012c549_home_withFlex_1.min.css?v=90" id="homeCssLink" as="style" fetchpriority="low" onload="loadCSS(this)" /> <style id="pagestyle" type="text/css"> </style> <style id="pagestyleDevice" type="text/css"> </style> <!-- Flex Sections CSS --> <style id="globalFontSizeStyle" type="text/css"> .font-size-22, .size-22, .size-22 > font { font-size: 22px !important; }.font-size-16, .size-16, .size-16 > font { font-size: 16px !important; }.font-size-24, .size-24, .size-24 > font { font-size: 24px !important; }.font-size-15, .size-15, .size-15 > font { font-size: 15px !important; } </style> <style id="pageFontSizeStyle" type="text/css"> </style> <!-- ========= JS Section ========= --> <script> var isWLR = true; window.customWidgetsFunctions = {}; window.customWidgetsStrings = {}; window.collections = {}; window.currentLanguage = "ENGLISH" window.isSitePreview = false; </script> <script> window.customWidgetsFunctions["9015bcbf1ace437aa6f0e66d5bb2e7d3~25"] = function (element, data, api) { $(document).ready(function(){ $.getScript('https://widget.hibu.us/static/js/index.js') //$.getScript('//survlywidget-uat.firebaseapp.com/static/js/index.js') .done(function(){ dmAPI.runOnReady('hibu_header_reviews',function(){ window.renderApp(); }); }) .fail(function(){ console.log("failed to load header reviews js file") }); element.children[0].removeAttribute(`rteblock"`) var merchantId = data.config.merchantId merchantId = merchantId.replace(/<p.*?>/g, '') merchantId = merchantId.replace(/"/g, '"') merchantId = merchantId.replace(/\<\/p\>/g, '') element.children[0].setAttribute('data-merchant', merchantId) }) }; </script> <script> window.customWidgetsFunctions["a9c2f21bcfb4498cafd451d55f94b46b~11"] = function (element, data, api) { null }; </script> <script> window.customWidgetsFunctions["22eebe93636d4d1295bb7b863c039867~28"] = function (element, data, api) { null }; </script> <script> window.customWidgetsFunctions["ca4188fe92024514a23a858f63ab6658~18"] = function (element, data, api) { null }; </script> <script> window.customWidgetsFunctions["c4b2f903d115403c8c21e9ec6044a4fe~59"] = function (element, data, api) { null }; </script> <script> window.customWidgetsFunctions["8293d76ae0f045c88bd69a5907adb323~18"] = function (element, data, api) { var busHours = data.config.hours busHours = busHours.replace(/<p.*?>/g, '') busHours = busHours.replace(/"/g, '"') busHours = busHours.replace(/\<\/p\>/g, '') busHours = busHours.replace(/\<br\>/g, '') busHours = JSON.parse(busHours) var formatTime = function(time) { if (time.substring(0,2) === '00'){ time = time.replace('00', '12') + ' am' }else if (time.substring(0,2) > 12){ let hour = time.substring(0,2) hour = parseInt(hour) - 12 time = time.replace(time.substring(0,2), hour) + ' pm' }else if (time.substring(0,2) === '12'){ time = time + ' pm' }else{ time = time + ' am' } return time; } var displayOpenHours = function(busHours) { var hours = busHours.hours; var zone = busHours.timezone ?? 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 var 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()] tomorrow = yyyyTmw + '-' + mmTmw + '-' + ddTmw var mmTmw = mmTmw - 1 } //check if day is closed var todayHours = hours[day].openIntervals ?? false var closed = hours[day].isClosed ?? false //collects business holiday hours var holidayHours = hours.holidayHours ?? false // //gets next days start time if (hours[nextDay].isClosed === true) { var tomorrowOpen = false } else { var tomorrowOpen = true var tmrwStart = hours[nextDay].openIntervals[0].start } //checks if holiday hours change if (holidayHours) { for (var i = 0; i < holidayHours.length; i++) { if (holidayHours[i].date === todayDate && holidayHours[i].openIntervals) { var todayHours = holidayHours[i] } } } //split hours if(todayHours.length > 1){ for(var i=0;i < todayHours.length;i++){ var start = todayHours[i].start var end = todayHours[i].end if (i+1 != todayHours.length){ var nextStart = todayHours[i + 1].start } var startDate = new Date(yyyy, mm, dd, parseInt(start.split(/\s+|:/)[0]), parseInt(start.split(/\s+|:/)[1])) var nextStartDate = new Date(yyyy, mm, dd, parseInt(nextStart), parseInt(nextStart.split(/\s+|:/)[1])) var endDate = new Date(yyyy, mm, dd, parseInt(end.split(/\s+|:/)[0]), parseInt(end.split(/\s+|:/)[1])) if (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 todayHours = [{"start": start ,"end":end}] break }else if(today > endDate && (i+1 != todayHours.length) && today < nextStartDate){ var closed = true tmrwStart = nextStart tomorrowOpen = true }else if(today > endDate && i+1 === todayHours.length){ var closed = true } } } if (todayHours.length === 1 ) { var start = todayHours[0].start var end = todayHours[0].end var startDate = new Date(yyyy, mm, dd, parseInt(start.split(/\s+|:/)[0]), parseInt(start.split(/\s+|:/)[1])) var endDate = new Date(yyyy, mm, dd, parseInt(end.split(/\s+|:/)[0]), parseInt(end.split(/\s+|:/)[1])) if (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 === '00:00' && end === '23:59') { 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 = ` • ${formatTime(end)}` } else { var status = "Open " var cssClass = "openedStatus" var busHours = `• Closes ${formatTime(end)}` } } if (closed) { // closed & opening today if ((today < startDate)) { var status = "Closed " var cssClass = "closedStatus" var busHours = `• Opens ${formatTime(start)}` //closed & open tomorrow } else if (closed && tomorrowOpen === true) { var status = "Closed " var cssClass = "closedStatus" var busHours = ` • Opens ${formatTime(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++) { if(offset + i > 6){ offset = offset - days.length; } var dayIndex = days[i + offset] if (hours[dayIndex].openIntervals) { tmrwDay = daysShort[days.indexOf(dayIndex)] tmrwStart = formatTime(hours[dayIndex].openIntervals[0].start) break } } var status = "Closed " var cssClass = "closedStatus" var busHours = ` • Opens ${tmrwDay} ${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++) { if(offset + i > 6){ offset = offset - days.length; } var dayIndex = days[i + offset] if (hours[dayIndex].openIntervals) { tmrwDay = daysShort[days.indexOf(dayIndex)] tmrwStart = formatTime(hours[dayIndex].openIntervals[0].start) break } } var status = "Closed " var cssClass = "closedStatus" var busHours = ` • Opens ${tmrwDay} ${tmrwStart}` } else if(holidayHours[i].date === todayDate && holidayHours[i].isClosed === true && tomorrowOpen === true){ var status = "Closed " var cssClass = "closedStatus" var busHours = ` • Opens ${formatTime(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) } } displayOpenHours(busHours) }; </script> <script> window.customWidgetsFunctions["afd4bc7f907140298e111130d715031d~100"] = 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 // set the text alignment var here for use below (update BSR:20200421) var moText = (data.config.MobileOrientation === 'left') ? 'bsrRightText' : 'leftText'; // add items with or without overlay and label text if(data.config.MobileLayout === 'Full') { $('.mobile-bg').after(getItems(moText)); } else { $('.mobile-bg').after(getItems()); } mobileTheme(); // add light or dark theme bsrIconResize(); // makes a custom icon resizable (update BSR:20200529) bsrMobileOrientation(); // positions menu left or right (update BSR:20200421) addListener(); if (typeof fbq === "function") { // this makes sure that fbq is on the page addPixelListener(); // Facebook Pixel conversion tracking (update BSR:20200422) } addChatListener(); // Add chat script injection (update BSR:20200526) // 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(); bsrIconResize(); // makes a custom icon resizable (update BSR:20200529) addListener(); if (typeof fbq === "function") { // this makes sure that fbq is on the page addPixelListener(); // Facebook Pixel conversion tracking (update BSR:20200422) } addChatListener(); // Add chat script injection (update BSR:20200526) // 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 the menu to the left or right of the mobile screen (update BSR:20200421) function bsrMobileOrientation() { if(data.config.MobileOrientation === 'left') { $('.fab.master-mobile, .child.mobile').addClass('bsr-left'); } else { $('.fab.master-mobile, .child.mobile').removeClass('bsr-left'); } } /* Previous implementation places custom icons in a new <div> I found this to be inconsistent in resizing so the function adds the appropriate class directly to the svg element (update BSR:20200529) */ function bsrIconResize() { customIcons = $(element).find('.custom-user-icon'); if(customIcons.length > 0) { $.each(customIcons, function(i, cicon) { var classList = $(cicon).attr('class').split(/\s+/); $.each(classList, function(index, item) { if(item != 'custom-user-icon') { $( "." + item + " > svg" ).addClass(item); // add the calling class to the child svg element directly $( "." + item + " > svg" ).unwrap(); // remove the parent div } }); }); } } // 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'); }); } function addPixelListener() { $('.bsr-menulink').click(function() { var eventName = $(this).data('eventname'); if(!eventName) { fbq('track', 'Contact'); } else { fbq('trackCustom', eventName); } }); } function addChatListener() { $(".bsr-chat").on('click', function() { $("#chat-script").remove(); // Get rid of any chat-script on the page $.each(data.config.IconList, function(index,value){ if(value.hasOwnProperty('ChatScript')) { var cscript = value.ChatScript; // Check if the script is a src or raw script // Changed mind and wanted to input <script> tags so this is saved for posterity /* var re = new RegExp('^(?:[a-z]+:)?//', 'i'); // non case-sensitive, protocol-agnostic if (re.test(cscript)) { $('body').append('<script async="async" src="' + cscript + '" type="text/javascript" id="chat-script"><\/script>'); return false; // break out of the $.each() on first occurence } else { $('body').append('<script type="text/javascript" id="chat-script">' + cscript + '<\/script>'); return false; // break out of the $.each() on first occurence } */ $('body').append(cscript); } }); }); } // // 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>'; } if(type === 'bsrRightText') { label = '<span class="bsr-right-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? `target="${item.Link.target}"` : ''; var statsEventName = 'CM_LINK_CLICK'; return '<a '+target+' href="'+item.Link.href+'" class="menu-link bsr-menulink" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');">'+elem+'</a>'; case 'Call': statsEventName = 'CM_CLICK_TO_CALL'; return '<a href="tel:'+item.CallNum+'" class="menu-link bsr-menulink" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');">'+elem+'</a>'; case 'Sms': statsEventName = 'CM_CLICK_TO_SMS'; return '<a href="sms:'+item.SmsNum+'" class="menu-link bsr-menulink" 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 bsr-menulink" 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 bsr-menulink" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');" data-eventname="Find Location">'+elem+'</a>'; case 'Mess': statsEventName = 'CM_FB_MESSAGE'; return '<a href="http://m.me/'+item.FbUser+'" class="menu-link bsr-menulink" target="_blank" onclick="_trackConvWidgetClickEvent(\''+statsEventName+'\');">'+elem+'</a>'; case 'Share': return '<a href="#" class="menu-link share bsr-menulink">'+elem+'</a>'; case 'Chat': return '<a href="#" class="menu-link bsr-chat bsr-menulink">'+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 xgetItemIcon(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'); } } } /* --------------------- */ function getItemIcon(item) { var lcase = item.Action.toLowerCase(); if(item.CustomIcon) { switch(item.CustomIcon_Select) { case 'custom_icon1': // return '<div class="'+lcase+'-icon-prev custom-user-icon ' + item.CustomIcon_Select + '">' + data.config.custom_icon1 + '</div>'; return '<div class="custom-user-icon ' + item.CustomIcon_Select + '">' + data.config.custom_icon1 + '</div>'; case 'custom_icon2': return '<div class="custom-user-icon ' + item.CustomIcon_Select + '">' + data.config.custom_icon2 + '</div>'; case 'custom_icon3': return '<div class="custom-user-icon ' + item.CustomIcon_Select + '">' + data.config.custom_icon3 + '</div>'; case 'custom_icon4': return '<div class="custom-user-icon ' + item.CustomIcon_Select + '">' + data.config.custom_icon4 + '</div>'; case 'custom_icon5': return '<div class="custom-user-icon ' + item.CustomIcon_Select + '">' + data.config.custom_icon5 + '</div>'; case 'custom_icon6': return '<div class="custom-user-icon ' + item.CustomIcon_Select + '">' + data.config.custom_icon6 + '</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'); case 'Chat': return getSvg('chat'); } } } /* --------------------- */ window._trackConvWidgetClickEvent = function(eventName) { if(typeof(HAF)==="object"){ HAF.OmTracking.onCMClick(eventName) } return; } function dudaicon(icon){ return '<span class="new-container">'+icon+'</span>' } function xgetSvg(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 ''; } } 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="map-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512" data-default="true"><path d="M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z"/></svg>' 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="email-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><title>Email</title><path d="M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.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="call-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-default><title>Phone</title><path d="M493.4 24.6l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-36 76.7-98.9 140.5-177.2 177.2l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48C3.9 366.5-2 378.1.6 389.4l24 104C27.1 504.2 36.7 512 48 512c256.1 0 464-207.5 464-464 0-11.2-7.7-20.9-18.6-23.4z"/></svg>'; 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="mess-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><title>Facebook Messenger</title><path d="M224 32C15.9 32-77.5 278 84.6 400.6V480l75.7-42c142.2 39.8 285.4-59.9 285.4-198.7C445.8 124.8 346.5 32 224 32zm23.4 278.1L190 250.5 79.6 311.6l121.1-128.5 57.4 59.6 110.4-61.1-121.1 128.5z"/></svg>' 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="share-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1536 1792"><title>Share</title><path d="M1216 1024q133 0 226.5 93.5t93.5 226.5-93.5 226.5-226.5 93.5-226.5-93.5-93.5-226.5q0-12 2-34l-360-180q-92 86-218 86-133 0-226.5-93.5t-93.5-226.5 93.5-226.5 226.5-93.5q126 0 218 86l360-180q-2-22-2-34 0-133 93.5-226.5t226.5-93.5 226.5 93.5 93.5 226.5-93.5 226.5-226.5 93.5q-126 0-218-86l-360 180q2 22 2 34t-2 34l360 180q92-86 218-86z"/></svg>'; case 'sms': return '<svg class="sms-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><title>SMS Text</title><path d="M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 9.8 11.2 15.5 19.1 9.7L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64z"/></svg>'; case 'link': return '<svg class="link-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"/></svg>'; case 'chat': // return '<svg class="chat-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><title>Email</title><path d="M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z"/></svg>'; return '<svg class="chat-icon" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><g><path d="m460.747 439.163c89.119-102.791 58.111-262.592-63.094-324.93-35.004-67.784-105.754-114.233-187.153-114.233-116.064 0-210.488 94.43-210.488 210.5 0 51.099 18.088 99.427 51.237 137.663l-46.774 46.16c-9.48 9.357-2.913 25.612 10.465 25.677l112.956.538c38.925 56.641 103.228 91.462 173.6 91.462.144 0 195.446-.999 195.561-1 13.333-.064 19.975-16.29 10.464-25.677zm-377.985-101.146c-34.017-34.08-52.752-79.367-52.752-127.517 0-99.528 80.968-180.5 180.49-180.5s180.49 80.972 180.49 180.5c0 95.373-75.473 181.269-186.343 180.403l-153.258-.73 31.293-30.882c5.918-5.842 5.953-15.389.08-21.274zm218.734 143.983c-52.634 0-101.557-22.489-135.565-61.281 57.104.376 41.945.281 44.569.281 135.402 0 236.506-127.009 204.689-259.617 82.966 67.774 89.761 191.779 14.045 267.634-5.874 5.885-5.838 15.433.08 21.274l31.293 30.882c-.119 0-158.995.827-159.111.827z"/><path d="m121.005 166h179.99c8.284 0 14.999-6.716 14.999-15s-6.715-15-14.999-15h-179.99c-8.284 0-14.999 6.716-14.999 15s6.716 15 14.999 15z"/><path d="m121.005 226h179.99c8.284 0 14.999-6.716 14.999-15s-6.715-15-14.999-15h-179.99c-8.284 0-14.999 6.716-14.999 15s6.716 15 14.999 15z"/><path d="m121.005 286h179.99c8.284 0 14.999-6.716 14.999-15s-6.715-15-14.999-15h-179.99c-8.284 0-14.999 6.716-14.999 15s6.716 15 14.999 15z"/></g></svg>'; default: return ''; } } }; </script> <script> window.customWidgetsFunctions["328e6f1fbcec4101ac4f8d9184710a14~7"] = function (element, data, api) { $(document).ready(function(){ $.getScript('https://widget.hibu.us/static/js/recent.js') .done(function(){ dmAPI.runOnReady('hibu_recent_reviews',function(){ //window.renderApp(); }); }) .fail(function(){ console.log("failed to load recent reviews js file") }); element.children[0].removeAttribute(`rteblock"`) var merchantId = data.config.merchantId merchantId = merchantId.replace(/<p.*?>/g, '') merchantId = merchantId.replace(/"/g, '"') merchantId = merchantId.replace(/\<\/p\>/g, '') element.children[0].setAttribute('data-merchant', merchantId) }) }; </script> <script type="text/javascript"> var d_version = "production_5500"; var build = "2025-05-28T08_48_37"; window['v' + 'ersion'] = d_version; function buildEditorParent() { window.isMultiScreen = true; window.editorParent = {}; window.previewParent = {}; window.assetsCacheQueryParam = "?version=2025-05-28T08_48_37"; 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="8b8e65f7af4b4c64a436df8955762d3d"> if (window.location.search.match(/[?,&]preview=true/) && window.top !== window) { window.__AudioEyePreviewMode=true; } </script> <script type="text/javascript" data-swh-uuid="8b8e65f7af4b4c64a436df8955762d3d"> !function(){ var b=function(){ window.__AudioEyeSiteHash = "d43efaefbc37b790fa7e6ca2a10ac2ff"; 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 type="text/javascript"> window.popups = [{"title":"Hibu Video Splash","url":"/hibu-video-splash","options":{"backgroundColor":"#FFFFFF","borderRadius":"5","width":"520","overlayColor":"rgba(0, 0, 0, 0.5)","height":"624.835875","animation":"fadeIn"},"name":"hibu-video-splash"},{"title":"Call or Text Pop","url":"/call-or-text-pop","options":{"backgroundColor":"#FFFFFF","borderRadius":"5","width":"357","overlayColor":"rgba(0, 0, 0, 0.5)","height":"396","animation":"fadeIn"},"name":"call-or-text-pop"}]</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/5500'; 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/5500'; rtCommonProps["feature.flag.runtime.backgroundSlider.preload.slowly"] =true; rtCommonProps["feature.flag.runtime.newAnimation.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["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'; // feature flags that's used out of runtime module (in legacy files) rtCommonProps["platform.monolith.personalization.dateTimeCondition.popupMsgAction.moveToclient.enabled"] =true; rtCommonProps["streamline.monolith.personalization.skipRuleConditionsForPreview.enabled"] =false; window.rtFlags = {}; rtFlags["unsuspendEcwidStoreOnRuntime.enabled"] =false; rtFlags["scripts.widgetCount.enabled"] =true; rtFlags["ecom.ecwidNewUrlStructure.enabled"] = false; rtFlags["ecom.ecwid.storefrontV3.enabled"] = false; rtFlags["ecom.ecwid.old.store.fix.facebook.share"] = true; rtFlags["feature.flag.photo.gallery.exact.size"] =true; rtFlags["geocode.search.localize"] =false; rtFlags["feature.flag.runtime.newAnimation.asyncInit.setTimeout.enabled"] =false; rtFlags["twitter.heightLimit.enabled"] = true; rtFlags["editor.classicHybrid.photogallery.fix"] =true; rtFlags["runtime.lottieOverflow"] =false; rtFlags["runtime.monitoring.sentry.ignoreErrors"] = ""; rtFlags["contact.form.browserValidation.enabled"] =true; rtFlags["streamline.monolith.personalization.supportMultipleConditions.enabled"] =false; rtFlags["runtime.cwv.report.cls.enabled"] =false; rtFlags["editor.link.on.container"] =true; rtFlags["flex.runtime.popup.with.show"] =true; rtFlags["contact.form.useActiveForm"] =true; rtFlags["runtime.ssr.productStore.internal.observer"] =true; rtFlags["runtime.ssr.productCustomizations"] =true; rtFlags["flex.megaMenu.a11y"] =false; </script> <script src="https://static-res-cdn.websites.hibu.com/mnlt/production/5500/_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/5500/_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() { if (!window.location.search) { return; } const cleanParams = window.location.search.substring(1); // Strip ? const queryParams = cleanParams.split('&'); const expires = 'expires=' + new Date().getTime() + 24 * 60 * 60 * 1000; const domain = 'domain=' + window.location.hostname; const path = "path=/"; queryParams.forEach((param) => { const [key, value = ''] = param.split('='); 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> window.dataLayer = window.dataLayer || []; window.dataLayer.push({'gtm.start': new Date().getTime(), event: 'gtm.js'}); </script> <script async src="https://www.googletagmanager.com/gtm.js?id=GTM-W487CGFD" id="d-js-gtm" onload="window.dispatchEvent(new CustomEvent('gtmLoaded', { bubbles: true }))"></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: '9b20844f25784bd9bf32518bd012c549' }); // 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: 9b20844f25784bd9bf32518bd012c549 --> <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 --><!-- Begin Name of Code --><!-- End Name of Code --><div id="placeholder_retargeting_pixel" style="display: none;" data-inject="placeholder_retargeting_pixel"> <script> //<![CDATA[ (function(w,d,t,r,u){var f,n,i;w[u]=w[u]||[],f=function(){var o={ti:"187178761"};o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")},n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function(){var s=this.readyState;s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)},i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)})(window,document,"script","//bat.bing.com/bat.js","uetq"); //]]> </script> <noscript> <img src="//bat.bing.com/action/0?ti=187178761&Ver=2" height="0" width="0" style="display:none; visibility: hidden;"/> </noscript> <img src="//servedby.ipromote.com/ad/?src=pixel_cid&nid=2185&cid=1JJW4NIKDO0G&cat=2784" width="1" height="1" border="0" alt=""/> </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 = ['14432610605', '14432610605', '14432610605', '14432610605', '14432610605']; ybReplacePhNums = ['14433160020', '14433160021', '14433160023', '14433160024', '14433160025']; 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-PRO-01", "assetID":"669247898", "customerID":"7016083280" } //]]> </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"> <style> iframe[name="google_conversion_frame"] {height: 0 !important;width: 0 !important;line-height: 0 !important;font-size: 0 !important;margin-top: -13px;float: left;} </style> <script> //<![CDATA[ (function(w,d,t,r,u){var f,n,i;w[u]=w[u]||[],f=function(){var o={ti:"343173852"};o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")},n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function(){var s=this.readyState;s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)},i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)})(window,document,"script","//bat.bing.com/bat.js","uetq"); //]]> </script> <noscript> <img src="//bat.bing.com/action/0?ti=343173852&Ver=2" height="0" width="0" style="display:none; visibility: hidden;"/> </noscript> </div> <div id="placeholder_footer_reserve2" style="display: none;" data-inject="placeholder_footer_reserve2"> <!-- Facebook Pixel Code --> <script nonce="T82ss7ll"> //<![CDATA[ !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n; n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '1110359637049502'); fbq('track', "PageView"); //]]> </script> <noscript> <img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1110359637049502&ev=PageView&noscript=1"/> </noscript> <!-- End Facebook Pixel Code --> </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 --><!-- Combined Form Value Replacement and Dropdown Code --><!-- End Body End Markup --> <!-- Site Wide Html Markup --> <div id="swh-14129984ed3044f59edeb4d92f7fa285"><div data-wrapper-source="appstore" > <script type='text/javascript'>/* v3:script */ function rowHasLocDataBindingFn(row) { let hasLoc = false; const rowDataBoundElements = row.querySelectorAll('[data-binding]'); var rowArrOfDataElements = Array.prototype.slice.call(rowDataBoundElements); rowArrOfDataElements.map((ele) => { const dataBinding = JSON.parse(atob(ele.getAttribute('data-binding')));if (dataBinding[0].value.contains(' loc ')) {hasLoc = true;}}); return hasLoc; }; function hideEmptyLocDataHeadings() { const h3s1 = document.querySelectorAll('.dmNewParagraph h3'); var h3sArr = Array.prototype.slice.call(h3s1); let h3sParents = h3sArr.map((h3) => { return h3.closest('.dmNewParagraph'); }); h3sParents.map((h3parent) => { const closestRow = h3parent.closest('.dmRespRow'); const rowHasLocDataBinding = rowHasLocDataBindingFn(closestRow); const nextEleHasDataBinding = h3parent.nextElementSibling?.hasAttribute('data-binding'); const nextEleHasDataBindingWithin = h3parent.nextElementSibling?.querySelector('[data-binding]') ? true : false; if (rowHasLocDataBinding && !(nextEleHasDataBinding || nextEleHasDataBindingWithin)) { h3parent.style.display = 'none'; } }) }; const dmEnvironment = dmAPI.getCurrentEnvironment(); const dmPageAlias = window.Parameters.InitialPageAlias.toUpperCase(); if (dmEnvironment === 'live' && ['ABOUT', 'ABOUT-US'].includes(dmPageAlias)) { hideEmptyLocDataHeadings(); }</script> </div></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"></script><script>(function () { var v = 1748519242 * 3.1415926535898; v = Math.floor(v); document.cookie = "__zjc6197="+v+"; expires=Thu, 29 May 2025 11:49:22 UTC; path=/"; })()</script></body> </html>