1<!doctype html > 2<html xmlns="http://www.w3.org/1999/xhtml" lang="en" 3 class="ios-preview-native-scroll"> 4<head> 5 <meta charset="utf-8"> 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
45<script type="text/javascript"> 46 window._currentDevice = 'desktop'; 47 window.Parameters = window.Parameters || { 48 HomeUrl: 'https://www.customremodelersinc.com/', 49 50 SystemID: 'US_DIRECT_PRODUCTION', 51 SiteAlias: 'ddb3bb04', 52 SiteType: atob('RFVEQU9ORQ=='), 53 PublicationDate: 'Jul 28, 2026', 54 ExternalUid: 'nvdmwwuytrja99du', 55 IsSiteMultilingual: false, 56 InitialPostAlias: '', 57 InitialPostPageUuid: '', 58 InitialDynamicItem: '', 59 DynamicPageInfo: { 60 isDynamicPage: false, 61 base64JsonRowData: 'null', 62 }, 63 InitialPageAlias: 'remodeling-contractors', 64 InitialPageUuid: '1ae0a35736ef478b9e123354a12d8e24', 65 InitialPageId: '42727496', 66 InitialEncodedPageAlias: 'cmVtb2RlbGluZy1jb250cmFjdG9ycw==', 67 InitialHeaderUuid: '9bddce7cf44241a6b5634ea0638594ad', 68 CurrentPageUrl: '', 69 IsCurrentHomePage: false, 70 AllowAjax: false, 71 AfterAjaxCommand: null, 72 HomeLinkText: 'Back To Home', 73 UseGalleryModule: false, 74 CurrentThemeName: 'Layout Theme', 75 ThemeVersion: '500000', 76 DefaultPageAlias: '', 77 RemoveDID: true, 78 WidgetStyleID: null, 79 IsHeaderFixed: false, 80 IsHeaderSkinny: false, 81 IsBfs: true, 82 StorePageAlias: 'null', 83 StorePagesUrls: 'e30=', 84 IsNewStore: 'false', 85 StorePath: '', 86 StoreId: 'null', 87 StoreVersion: 0, 88 StoreBaseUrl: '', 89 StoreCleanUrl: true, 90 StoreDisableScrolling: true, 91 IsStoreSuspended: false, 92 HasCustomDomain: true, 93 SimpleSite: false, 94 showCookieNotification: false, 95 cookiesNotificationMarkup: 'null', 96 translatedPageUrl: '', 97 isFastMigrationSite: false, 98 sidebarPosition: 'NA', 99 currentLanguage: 'en', 100 currentLocale: 'en', 101 NavItems: '{}', 102 errors: { 103 general: 'There was an error connecting to the page.<br/> Make sure you are not offline.', 104 password: 'Incorrect name/password combination', 105 tryAgain: 'Try again' 106 }, 107 108 mapConsent: { 109 message: 'This content is served by a third party, {0}. If enabled, {0} may collect information about your activity.', 110 enable: 'Enable' 111 }, 112 NavigationAreaParams: { 113 ShowBackToHomeOnInnerPages: true, 114 NavbarSize: 4, 115 NavbarLiveHomePage: 'https://www.customremodelersinc.com/', 116 BlockContainerSelector: '.dmBody', 117 NavbarSelector: '#dmNav:has(a)', 118 SubNavbarSelector: '#subnav_main' 119 }, 120 hasCustomCode: true, 121 planID: '1280', 122 customTemplateId: 'null', 123 siteTemplateId: 'null', 124 productId: 'DM_DIRECT', 125 disableTracking: false, 126 pageType: 'FROM_SCRATCH', 127 isRuntimeServer: true, 128 isInEditor: false, 129 isInPreview: false, 130 hasNativeStore: false, 131 defaultLang: 'en', 132 hamburgerMigration: null, 133 isFlexSite: false 134 }; 135 136 window.Parameters.LayoutID = {}; 137 window.Parameters.LayoutID[window._currentDevice] = 6; 138 window.Parameters.LayoutVariationID = {}; 139 window.Parameters.LayoutVariationID[window._currentDevice] = 5; 140</script>
140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163<!-- Injecting site-wide to the head --> 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181
182<script type="text/javascript" id="d_track_campaign"> 183 (function() { 184 if (!window.location.search) { 185 return; 186 } 187 const cleanParams = window.location.search.substring(1); // Strip ? 188 const queryParams = cleanParams.split('&'); 189 190 const expires = 'expires=' + new Date().getTime() + 24 * 60 * 60 * 1000; 191 const domain = 'domain=' + window.location.hostname; 192 const path = "path=/"; 193 194 queryParams.forEach((param) => { 195 const [key, value = ''] = param.split('='); 196 if (key.startsWith('utm_')) { 197 const cookieName = "_dm_rt_" + key.substring(4); 198 const cookie = cookieName + "=" + value; 199 const joined = [cookie, expires, domain, path].join(";"); 200 document.cookie = joined; 201 } 202 }); 203 }()); 204</script>
vendor: 1 bytes, line 204
204
205<script type="text/javascript" id="d_track_referrer"> 206 (function() { 207 const cookieName = '_dm_entry_referrer'; 208 const referrer = document.referrer; 209 if (!referrer) { 210 return; 211 } 212 let referrerOrigin; 213 try { 214 referrerOrigin = new URL(referrer).origin; 215 } catch (e) { 216 return; 217 } 218 // 'null' is what an opaque origin (sandboxed iframe, file://) serializes to. 219 if (!referrerOrigin || referrerOrigin === 'null' || referrerOrigin === window.location.origin) { 220 return; 221 } 222 try { 223 const existing = document.cookie 224 .split('; ') 225 .find((candidate) => candidate.indexOf(cookieName + '=') === 0); 226 if (existing && decodeURIComponent(existing.slice(cookieName.length + 1))) { 227 return; 228 } 229 // No expiry: session-scoped, matching the _dm_rt_ cookies above that a submission 230 // reads alongside this one (session-scoped in practice â see FBN-5389). 231 const secure = window.location.protocol === 'https:' ? ';Secure' : ''; 232 document.cookie = cookieName + '=' + encodeURIComponent(referrerOrigin) 233 + ';path=/;SameSite=Lax' + secure; 234 } catch (e) { 235 return; 236 } 237 }()); 238</script>
238 239
240<script type="text/javascript" > 241 var _dm_gaq = {}; 242 var _gaq = _gaq || []; 243 var _dm_insite = []; 244</script>
244 245 246 247 248
249<script> 250 const siteGoogleAnalyticsTagIds = ['G-760NZRLD0R']; 251 (function (w, i, g) { w[g] = w[g] || []; if (typeof w[g].push == 'function') w[g].push.apply(w[g], i) }) 252 (window, siteGoogleAnalyticsTagIds, 'google_tags_first_party'); 253</script>
vendor: 1 bytes, line 253
253
254<script async src="/qzn74mdkpb-ddb3bb04/PYhvGkTSN_vBjhgYQUBsN1fpIlo"></script>
254 255
256<script type="text/javascript" id="d_track_ga"> 257 window.dataLayer = window.dataLayer || []; 258 _dm_gaq.siteAlias = 'ddb3bb04'; 259 _dm_gaq.externalGaqID = 'non-empty'; 260 261 function gtag() { dataLayer.push(arguments); } 262 263 function pushInsiteImpressions(id) { 264 _dm_insite.forEach((rule) => { 265 _dm_gaq.pushEvent(id, 'insite_impression', 'insite', rule.ruleType + '__' + rule.ruleId); 266 }); 267 } 268 269 _dm_gaq.pushEvent = function(trackingId, event, category, label, value, additionalParams = {}) { 270 const eventProps = { 271 event_category: category, 272 event_label: label, 273 value, 274 ...additionalParams 275 }; 276 gtag('event', event, eventProps); 277 } 278 279 gtag('js', new Date()) 280 281 282gtag('set', 'developer_id.dMDU5Nj', true); 283gtag('set', 'developer_id.dYmRlZG', true); 284gtag('set', 'developer_id.dMWY5NG', true); 285gtag('config', 'G-760NZRLD0R', { 286 'send_page_view': false, 287 'linker': { 288 'domains': ['www.customremodelersinc.com'] 289 } 290}); 291 292 _dm_gaq.pushEvent('', 'page_view'); 293 294 pushInsiteImpressions(_dm_gaq.externalGaqID); 295</script>
295 296 297 298 299 300 301<!-- End Injecting site-wide to the head --> 302 303<!-- Inject secured cdn script --> 304 305 306<!-- ========= Meta Tags ========= -->
307<script> 308 try { 309 if ( 310 navigator.serviceWorker && 311 navigator.serviceWorker.getRegistrations && 312 location.protocol === 'https:' 313 ) { 314 // remove all service workers 315 navigator.serviceWorker 316 .getRegistrations() 317 .then(function (registrations) { 318 if (registrations && registrations.length) { 319 console.log('unregistering service workers'); 320 registrations.forEach(function (registration) { 321 registration.unregister(); 322 }); 323 } 324 }); 325 // clear caches 326 if (caches) { 327 caches.keys().then(function (keyList) { 328 if (keyList && keyList.length) { 329 console.log('deleting caches'); 330 keyList.forEach(function (key) { 331 if (key && key.indexOf('druntime') === 0) { 332 caches.delete(key); 333 } 334 }); 335 } 336 }); 337 } 338 } 339} catch (err) { 340 // not a secured location 341} 342</script>
342 343 344 345 346<link rel="canonical" href="https://www.customremodelersinc.com/remodeling-contractors"> 347 348<meta id="view" name="viewport" content="initial-scale=1, minimum-scale=1, maximum-scale=5, viewport-fit=cover"> 349<meta name="dm:lcp-preload" content="dm:lcp-frozen"> 350<meta name="apple-mobile-web-app-capable" content="yes"> 351 352<!--Add favorites icons--> 353 354<link rel="icon" type="image/x-icon" href="https://irp.cdn-website.com/ddb3bb04/site_favicon_16_1701200121720.ico"/> 355 356<!-- End favorite icons --> 357<link rel="preconnect" href="https://irp.cdn-website.com"/> 358<link rel="preconnect" href="https://irp.cdn-website.com" crossorigin/> 359<link rel="preconnect" href="https://static.cdn-website.com"/> 360 361 362 363<!-- render the required CSS and JS in the head section -->
364<script id='d-js-dmapi'> 365 window.SystemID = 'US_DIRECT_PRODUCTION'; 366 367 if (!window.dmAPI) { 368 window.dmAPI = { 369 registerExternalRuntimeComponent: function () { 370 }, 371 getCurrentDeviceType: function () { 372 return window._currentDevice; 373 }, 374 runOnReady: (ns, fn) => { 375 const safeFn = dmAPI.toSafeFn(fn); 376 ns = ns || 'global_' + Math.random().toString(36).slice(2, 11); 377 const eventName = 'afterAjax.' + ns; 378 379 if (document.readyState === 'complete') { 380 $.DM.events.off(eventName).on(eventName, safeFn); 381 setTimeout(function () { 382 safeFn({ 383 isAjax: false, 384 }); 385 }, 0); 386 } else { 387 window?.waitForDeferred?.('dmAjax', () => { 388 $.DM.events.off(eventName).on(eventName, safeFn); 389 safeFn({ 390 isAjax: false, 391 }); 392 }); 393 } 394 }, 395 toSafeFn: (fn) => { 396 if (fn?.safe) { 397 return fn; 398 } 399 const safeFn = function (...args) { 400 try { 401 return fn?.apply(null, args); 402 } catch (e) { 403 console.log('function failed ' + e.message); 404 } 405 }; 406 safeFn.safe = true; 407 return safeFn; 408 } 409 }; 410 } 411 412 if (!window.requestIdleCallback) { 413 window.requestIdleCallback = function (fn) { 414 setTimeout(fn, 0); 415 } 416 } 417</script>
417 418 419<!-- loadCSS function header.jsp--> 420 421 422 423 424 425
426<script id="d-js-load-css"> 427/** 428 * There are a few <link> tags with CSS resource in them that are preloaded in the page 429 * in each of those there is a "onload" handler which invokes the loadCSS callback 430 * defined here. 431 * We are monitoring 3 main CSS files - the runtime, the global and the page. 432 * When each load we check to see if we can append them all in a batch. If threre 433 * is no page css (which may happen on inner pages) then we do not wait for it 434 */ 435(function () { 436 let cssLinks = {}; 437 function loadCssLink(link) { 438 link.onload = null; 439 link.rel = "stylesheet"; 440 link.type = "text/css"; 441 } 442 443 function checkCss() { 444 const pageCssLink = document.querySelector("[id*='CssLink']"); 445 const widgetCssLink = document.querySelector("[id*='widgetCSS']"); 446 447 if (cssLinks && cssLinks.runtime && cssLinks.global && (!pageCssLink || cssLinks.page) && (!widgetCssLink || cssLinks.widget)) { 448 const storedRuntimeCssLink = cssLinks.runtime; 449 const storedPageCssLink = cssLinks.page; 450 const storedGlobalCssLink = cssLinks.global; 451 const storedWidgetCssLink = cssLinks.widget; 452 453 storedGlobalCssLink.disabled = true; 454 loadCssLink(storedGlobalCssLink); 455 456 if (storedPageCssLink) { 457 storedPageCssLink.disabled = true; 458 loadCssLink(storedPageCssLink); 459 } 460 461 if(storedWidgetCssLink) { 462 storedWidgetCssLink.disabled = true; 463 loadCssLink(storedWidgetCssLink); 464 } 465 466 storedRuntimeCssLink.disabled = true; 467 loadCssLink(storedRuntimeCssLink); 468 469 requestAnimationFrame(() => { 470 setTimeout(() => { 471 storedRuntimeCssLink.disabled = false; 472 storedGlobalCssLink.disabled = false; 473 if (storedPageCssLink) { 474 storedPageCssLink.disabled = false; 475 } 476 if (storedWidgetCssLink) { 477 storedWidgetCssLink.disabled = false; 478 } 479 // (SUP-4179) Clear the accumulated cssLinks only when we're 480 // sure that the document has finished loading and the document 481 // has been parsed. 482 if(document.readyState === 'interactive') { 483 cssLinks = null; 484 } 485 }, 0); 486 }); 487 } 488 } 489 490 491 function loadCSS(link) { 492 try { 493 var urlParams = new URLSearchParams(window.location.search); 494 var noCSS = !!urlParams.get("nocss"); 495 var cssTimeout = urlParams.get("cssTimeout") || 0; 496 497 if (noCSS) { 498 return; 499 } 500 if (link.href && link.href.includes("d-css-runtime")) { 501 cssLinks.runtime = link; 502 checkCss(); 503 } else if (link.id === "siteGlobalCss") { 504 cssLinks.global = link; 505 checkCss(); 506 } 507 508 else if (link.id && link.id.includes("CssLink")) { 509 cssLinks.page = link; 510 checkCss(); 511 } else if (link.id && link.id.includes("widgetCSS")) { 512 cssLinks.widget = link; 513 checkCss(); 514 } 515 516 else { 517 requestIdleCallback(function () { 518 window.setTimeout(function () { 519 loadCssLink(link); 520 }, parseInt(cssTimeout, 10)); 521 }); 522 } 523 } catch (e) { 524 throw e 525 } 526 } 527 window.loadCSS = window.loadCSS || loadCSS; 528})(); 529</script>
529 530 531 532
533<script data-role="deferred-init" type="text/javascript"> 534 /* usage: window.getDeferred(<deferred name>).resolve() or window.getDeferred(<deferred name>).promise.then(...)*/ 535 function Def() { 536 this.promise = new Promise((function (a, b) { 537 this.resolve = a, this.reject = b 538 }).bind(this)) 539 } 540 541 const defs = {}; 542 window.getDeferred = function (a) { 543 return null == defs[a] && (defs[a] = new Def), defs[a] 544 } 545 window.waitForDeferred = function (b, a, c) { 546 let d = window?.getDeferred?.(b); 547 d 548 ? d.promise.then(a) 549 : c && ["complete", "interactive"].includes(document.readyState) 550 ? setTimeout(a, 1) 551 : c 552 ? document.addEventListener("DOMContentLoaded", a) 553 : console.error(`Deferred does not exist`); 554 }; 555</script>
555 556<style id="forceCssIncludes"> 557 /* This file is auto-generated from a `scss` file with the same name */ 558 559.videobgwrapper{overflow:hidden;position:absolute;z-index:0;width:100%;height:100%;top:0;left:0;pointer-events:none;border-radius:inherit}.videobgframe{position:absolute;width:101%;height:100%;top:50%;left:50%;transform:translateY(-50%) translateX(-50%);object-fit:fill}#dm video.videobgframe{margin:0}@media (max-width:767px){.dmRoot .dmPhotoGallery.newPhotoGallery:not(.photo-gallery-done){min-height:80vh}}@media (min-width:1025px){.dmRoot .dmPhotoGallery.newPhotoGallery:not(.photo-gallery-done){min-height:45vh}}@media (min-width:768px) and (max-width:1024px){.responsiveTablet .dmPhotoGallery.newPhotoGallery:not(.photo-gallery-done){min-height:45vh}}#dm [data-show-on-page-only]{display:none!important}#dmRoot div.stickyHeaderFix div.site_content{margin-top:0!important}#dmRoot div.stickyHeaderFix div.hamburger-header-container{position:relative}@media (min-width:768px) and (max-width:1024px){.responsiveTablet #dm .dmInner .hide-for-medium,[data-hidden-on-tablet]{display:none!important}} 560 561 562</style> 563<style id="cssVariables" type="text/css"> 564 :root { 565 --color_1: rgba(255,255,255,1); 566 --color_2: rgba(80, 80, 80, 1); 567 --color_3: rgba(255, 203, 8, 1); 568 --color_4: rgba(0,0,0,1); 569 --color_5: rgba(209, 209, 209, 1); 570 --color_6: rgba(247, 247, 247, 1); 571 --color_7: rgba(32, 32, 32, 1); 572 --color_8: rgba(223,180,0,1); 573} 574</style> 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600<!-- Google Fonts Include --> 601 602 603 604 605 606 607 608 609 610 611 612 613 614<!-- loadCSS function fonts.jsp--> 615 616 617 618<link type="text/css" rel="stylesheet" href="https://irp.cdn-website.com/fonts/css2?family=Roboto:wght@100;300;400;500;700;900&family=Spartan:wght@100;200;300;400;600;700;800;900&family=Inter:[email protected]&family=Montserrat:[email protected]&family=Cabin:[email protected]&family=Pacifico:wght@400&family=Source+Sans+Pro:wght@200;300;400;600;700;900&family=Open+Sans:[email protected]&subset=latin-ext&display=swap" /> 619 620 621 622 623 624<!-- RT CSS Include d-css-runtime-desktop-one-package-structured-global--> 625<link rel="stylesheet" type="text/css" href="https://static.cdn-website.com/mnlt/production/6800/_dm/s/rt/dist/css/d-css-runtime-desktop-one-package-structured-global.min.css" /> 626 627<!-- End of RT CSS Include --> 628 629<link type="text/css" rel="stylesheet" href="https://irp.cdn-website.com/WIDGET_CSS/976864e4a39f932db8660b9a4a7662ee.css" id="widgetCSS" /> 630 631<!-- Support `img` size attributes --> 632<style>img[width][height] { 633 height: auto; 634}</style> 635 636<!-- Support showing sticky element on page only --> 637<style> 638 body[data-page-alias="remodeling-contractors"] #dm [data-show-on-page-only="remodeling-contractors"] { 639 display: block !important; 640 } 641</style> 642 643<!-- This is populated in Ajax navigation --> 644<style id="pageAdditionalWidgetsCss" type="text/css"> 645</style> 646 647 648 649 650<!-- Site CSS --> 651<link type="text/css" rel="stylesheet" href="https://irp.cdn-website.com/ddb3bb04/files/ddb3bb04_1.min.css?v=52" id="siteGlobalCss" /> 652 653 654 655<style id="customWidgetStyle" type="text/css"> 656 657</style> 658<style id="innerPagesStyle" type="text/css"> 659 660</style> 661 662 663<style 664 id="additionalGlobalCss" type="text/css" 665> 666</style> 667 668<style id="pagestyle" type="text/css"> 669 *#dm *.dmBody a.span.textonly 670{ 671 color:rgb(255,255,255) !important; 672} 673*#dm *.dmBody div.dmform-error 674{ 675 font-style:normal !important; 676} 677*#dm *.dmBody div.dmforminput textarea 678{ 679 font-style:italic !important; 680} 681*#dm *.dmBody div.dmforminput *.fileUploadLink 682{ 683 font-style:italic !important; 684} 685*#dm *.dmBody div.checkboxwrapper span 686{ 687 font-style:italic !important; 688} 689*#dm *.dmBody div.radiowrapper span 690{ 691 font-style:italic !important; 692} 693*#dm *.dmBody nav.u_1144820115 694{ 695 color:black !important; 696} 697*#dm *.dmBody div.u_1000891739 698{ 699 background-repeat:no-repeat !important; 700 background-image:url(https://irp.cdn-website.com/ddb3bb04/dms3rep/multi/opt/GettyImages-1341249479-2880w.jpg) !important; 701 background-size:cover !important; 702} 703*#dm *.dmBody *.u_1000891739:before 704{ 705 opacity:0.5 !important; 706 background-color:rgb(255,255,255) !important; 707} 708*#dm *.dmBody *.u_1000891739.before 709{ 710 opacity:0.5 !important; 711 background-color:rgb(255,255,255) !important; 712} 713*#dm *.dmBody *.u_1000891739>.bgExtraLayerOverlay 714{ 715 opacity:0.5 !important; 716 background-color:rgb(255,255,255) !important; 717} 718*#dm *.dmBody div.u_1461131687 719{ 720 background-color:var(--color_1) !important; 721} 722*#dm *.dmBody div.u_1543573928 723{ 724 box-shadow:rgba(0,0,0,0.25) 0 3px 11px 0 !important; 725 -moz-box-shadow:rgba(0,0,0,0.25) 0 3px 11px 0 !important; 726 -webkit-box-shadow:rgba(0,0,0,0.25) 0 3px 11px 0 !important; 727} 728*#dm *.dmBody div.u_1542241270 729{ 730 background-repeat:no-repeat !important; 731 background-image:url(https://irp.cdn-website.com/ddb3bb04/dms3rep/multi/opt/GettyImages-171574350-2880w.jpg) !important; 732} 733*#dm *.dmBody *.u_1542241270:before 734{ 735 opacity:0.5 !important; 736 background-color:rgb(255,255,255) !important; 737} 738*#dm *.dmBody *.u_1542241270.before 739{ 740 opacity:0.5 !important; 741 background-color:rgb(255,255,255) !important; 742} 743*#dm *.dmBody *.u_1542241270>.bgExtraLayerOverlay 744{ 745 opacity:0.5 !important; 746 background-color:rgb(255,255,255) !important; 747} 748*#dm *.dmBody div.u_1542241270:before 749{ 750 background-color:var(--color_4) !important; 751 opacity:0.85 !important; 752} 753*#dm *.dmBody div.u_1542241270.before 754{ 755 background-color:var(--color_4) !important; 756 opacity:0.85 !important; 757} 758*#dm *.dmBody div.u_1542241270>.bgExtraLayerOverlay 759{ 760 background-color:var(--color_4) !important; 761 opacity:0.85 !important; 762} 763*#dm *.dmBody *.u_1737725308:before 764{ 765 opacity:0.5 !important; 766 background-color:rgb(255,255,255) !important; 767} 768*#dm *.dmBody *.u_1737725308.before 769{ 770 opacity:0.5 !important; 771 background-color:rgb(255,255,255) !important; 772} 773*#dm *.dmBody *.u_1737725308>.bgExtraLayerOverlay 774{ 775 opacity:0.5 !important; 776 background-color:rgb(255,255,255) !important; 777} 778*#dm *.dmBody div.u_1737725308:before 779{ 780 background-color:rgba(38,38,38,1) !important; 781 opacity:0.8 !important; 782} 783*#dm *.dmBody div.u_1737725308.before 784{ 785 background-color:rgba(38,38,38,1) !important; 786 opacity:0.8 !important; 787} 788*#dm *.dmBody div.u_1737725308>.bgExtraLayerOverlay 789{ 790 background-color:rgba(38,38,38,1) !important; 791 opacity:0.8 !important; 792} 793*#dm *.dmBody div.u_1651268708 794{ 795 background-repeat:no-repeat !important; 796 background-image:url(https://irp.cdn-website.com/ddb3bb04/dms3rep/multi/opt/GettyImages-172330560-2880w.jpg) !important; 797} 798*#dm *.dmBody div.u_1588941882 799{ 800 background-repeat:no-repeat !important; 801 background-image:url(https://irp.cdn-website.com/ddb3bb04/dms3rep/multi/opt/GettyImages-171359888-2880w.JPG) !important; 802 background-size:cover !important; 803} 804*#dm *.dmBody *.u_1651268708:before 805{ 806 opacity:0.5 !important; 807 background-color:rgb(255,255,255) !important; 808} 809*#dm *.dmBody *.u_1651268708.before 810{ 811 opacity:0.5 !important; 812 background-color:rgb(255,255,255) !important; 813} 814*#dm *.dmBody *.u_1651268708>.bgExtraLayerOverlay 815{ 816 opacity:0.5 !important; 817 background-color:rgb(255,255,255) !important; 818} 819*#dm *.dmBody div.u_1651268708:before 820{ 821 background-color:var(--color_4) !important; 822} 823*#dm *.dmBody div.u_1651268708.before 824{ 825 background-color:var(--color_4) !important; 826} 827*#dm *.dmBody div.u_1651268708>.bgExtraLayerOverlay 828{ 829 background-color:var(--color_4) !important; 830} 831*#dm *.dmBody div.u_1190587415 832{ 833 background-repeat:no-repeat !important; 834 background-image:url(https://irp.cdn-website.com/ddb3bb04/dms3rep/multi/opt/GettyImages-171574350-2880w.jpg) !important; 835 background-size:cover !important; 836} 837*#dm *.dmBody div.u_1827442622 838{ 839 background-color:var(--color_3) !important; 840} 841*#dm *.dmBody div.u_1737725308 842{ 843 background-repeat:no-repeat !important; 844 background-image:url(https://irp.cdn-website.com/ddb3bb04/dms3rep/multi/opt/171369031-2880w.jpg) !important; 845 background-size:cover !important; 846} 847*#dm *.dmBody div.u_1045337413 848{ 849 background-color:rgba(209,209,209,1) !important; 850} 851 852</style> 853 854<style id="pagestyleDevice" type="text/css"> 855 *#dm *.d-page-1716942098 DIV.dmInner{ 856background-repeat:no-repeat !important; 857background-size:cover !important; 858background-attachment:fixed !important; 859background-position:50% 50% !important} 860*#dm *.d-page-1716942098 DIV#dmSlideRightNavRight{ 861background-repeat:no-repeat !important; 862background-image:none !important; 863background-size:cover !important; 864background-attachment:fixed !important; 865background-position:50% 50% !important} 866*#dm *.dmBody div.u_1596426900{ 867margin-left:0 !important; 868padding-top:0 !important; 869padding-left:0 !important; 870padding-bottom:0 !important; 871margin-top:0 !important; 872margin-bottom:0 !important; 873margin-right:0 !important; 874padding-right:0 !important} 875*#dm *.dmBody div.u_1651268708{ 876background-attachment:fixed !important; 877background-size:cover !important; 878padding-top:0 !important; 879padding-bottom:0 !important; 880padding-right:0 !important; 881padding-left:0 !important} 882*#dm *.dmBody div.u_1555761158{ 883height:440px !important} 884*#dm *.dmBody div.u_1000891739{
885padding-top:0 !important; 886padding-left:70px !important; 887padding-bottom:100px !important; 888padding-right:70px !important; 889width:auto !important; 890background-position:50% 0 !important} 891*#dm *.dmBody div.u_1588941882{ 892background-position:50% 50% !important} 893*#dm *.dmBody div.u_1543573928{ 894padding-top:0 !important; 895padding-bottom:0 !important; 896padding-right:0 !important; 897padding-left:0 !important; 898margin-left:0 !important; 899margin-top:-100px !important; 900margin-bottom:0 !important; 901margin-right:0 !important; 902width:auto !important} 903*#dm *.dmBody div.u_1461131687{ 904margin-left:0 !important; 905padding-top:40px !important; 906padding-left:40px !important; 907padding-bottom:40px !important; 908margin-top:0 !important; 909margin-bottom:0 !important; 910margin-right:0 !important; 911padding-right:40px !important} 912*#dm *.dmBody div.u_1217943377{ 913float:none !important; 914top:0 !important; 915left:0 !important; 916width:470px !important; 917position:relative !important; 918height:auto !important; 919padding-top:2px !important; 920padding-left:0 !important; 921padding-bottom:2px !important; 922margin-right:auto !important; 923margin-left:0 !important; 924max-width:100% !important; 925margin-top:8px !important; 926margin-bottom:8px !important; 927padding-right:0 !important; 928min-width:0 !important; 929display:block !important} 930*#dm *.dmBody div.u_1542241270{ 931background-attachment:fixed !important; 932background-size:cover !important} 933*#dm *.dmBody div.u_1737725308{ 934background-attachment:fixed !important; 935background-size:cover !important; 936padding-bottom:100px !important; 937padding-right:70px !important; 938width:auto !important} 939*#dm *.dmBody div.u_1188127629{ 940padding-top:0 !important; 941padding-bottom:0 !important; 942padding-right:0 !important; 943padding-left:0 !important} 944*#dm *.dmBody div.u_1827442622{ 945margin-left:0 !important; 946padding-top:0 !important; 947padding-left:0 !important; 948padding-bottom:0 !important; 949margin-top:0 !important; 950margin-bottom:0 !important; 951margin-right:0 !important; 952padding-right:0 !important} 953*#dm *.dmBody div.u_1190587415{ 954background-position:50% 50% !important} 955*#dm *.dmBody div.u_1044863440 ul{ 956column-count:2 !important} 957</style> 958 959<!-- Flex Sections CSS --> 960 961 962 963 964 965 966 967<style id="globalFontSizeStyle" type="text/css"> 968 .font-size-18, .size-18, .size-18 > font { font-size: 18px !important; }.font-size-14, .size-14, .size-14 > font { font-size: 14px !important; }.font-size-20, .size-20, .size-20 > font { font-size: 20px !important; } 969</style> 970<style id="pageFontSizeStyle" type="text/css"> 971</style> 972 973 974 975 976<style id="hideAnimFix"> 977 .dmDesktopBody:not(.editGrid) [data-anim-desktop]:not([data-anim-desktop='none']), .dmDesktopBody:not(.editGrid) [data-anim-extended] { 978 visibility: hidden; 979 } 980 981 .dmDesktopBody:not(.editGrid) .dmNewParagraph[data-anim-desktop]:not([data-anim-desktop='none']), .dmDesktopBody:not(.editGrid) .dmNewParagraph[data-anim-extended] { 982 visibility: hidden !important; 983 } 984 985 #dmRoot:not(.editGrid) .flex-element [data-anim-extended] { 986 visibility: hidden; 987 } 988 989</style> 990 991 992 993 994<style id="fontFallbacks"> 995 @font-face { 996 font-family: "Roboto Fallback"; 997 src: local('Arial'); 998 ascent-override: 92.6709%; 999 descent-override: 24.3871%; 1000 size-adjust: 100.1106%; 1001 line-gap-override: 0%; 1002 }@font-face { 1003 font-family: "Inter Fallback"; 1004 src: local('Arial'); 1005 ascent-override: 90.199%; 1006 descent-override: 22.4836%; 1007 size-adjust: 107.4014%; 1008 line-gap-override: 0%; 1009 }@font-face { 1010 font-family: "Montserrat Fallback"; 1011 src: local('Arial'); 1012 ascent-override: 84.9466%; 1013 descent-override: 22.0264%; 1014 size-adjust: 113.954%; 1015 line-gap-override: 0%; 1016 }@font-face { 1017 font-family: "Cabin Fallback"; 1018 src: local('Arial'); 1019 ascent-override: 101.7818%; 1020 descent-override: 26.3684%; 1021 size-adjust: 94.8106%; 1022 line-gap-override: 0%; 1023 }@font-face { 1024 font-family: "Pacifico Fallback"; 1025 src: local('Arial'); 1026 ascent-override: 140.9687%; 1027 descent-override: 49.0091%; 1028 size-adjust: 92.4319%; 1029 line-gap-override: 0%; 1030 }@font-face { 1031 font-family: "Open Sans Fallback"; 1032 src: local('Arial'); 1033 ascent-override: 101.1768%; 1034 descent-override: 27.7323%; 1035 size-adjust: 105.6416%; 1036 line-gap-override: 0%; 1037 } 1038</style> 1039 1040 1041<!-- End render the required css and JS in the head section --> 1042 1043 1044 1045 1046 1047 1048 1049 1050<meta property="og:type" content="website"> 1051<meta property="og:url" content="https://www.customremodelersinc.com/remodeling-contractors"> 1052 1053 <title> 1054 Renovation Contractors | Lino Lakes, MN | Custom Remodelers 1055 </title> 1056 <meta name="description" content="To learn more about Custom Remodelers in Lino Lakes, MN, call (800) 240-3038 today."/> 1057 1058 <meta name="twitter:card" content="summary"/> 1059 <meta name="twitter:title" content="Renovation Contractors | Lino Lakes, MN | Custom Remodelers"/> 1060 <meta name="twitter:description" content="To learn more about Custom Remodelers in Lino Lakes, MN, call (800) 240-3038 today."/> 1061 <meta property="og:description" content="To learn more about Custom Remodelers in Lino Lakes, MN, call (800) 240-3038 today."/> 1062 <meta property="og:title" content="Renovation Contractors | Lino Lakes, MN | Custom Remodelers"/> 1063 1064 1065 1066 1067<!-- SYS- VVNfRElSRUNUX1BST0RVQ1RJT04= --> 1068</head> 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090<body id="dmRoot" data-page-alias="remodeling-contractors" class="dmRoot dmDesktopBody fix-mobile-scrolling addCanvasBorder dmResellerSite dmLargeBody " 1091 style="padding:0;margin:0;" 1092 1093 > 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109<!-- ========= Site Content ========= --> 1110<div id="dm" class='dmwr'> 1111 1112 <div class="dm_wrapper standard-var5 widgetStyle-3 standard"> 1113 <div dmwrapped="true" id="1901957768" class="dm-home-page" themewaschanged="true"> <div dmtemplateid="StandardLayoutMultiD" class="standardHeaderLayout dm-bfs dm-layout-sec hasAnimations rows-1200 inMiniHeaderMode hasStickyHeader layout-drawer_push-content dmPageBody d-page-1716942098 inputs-css-clean dmFreeHeader" id="dm-outer-wrapper" data-page-class="1716942098" data-soch="true" data-background-parallax-selector=".dmHomeSection1, .dmSectionParallex"> <div id="dmStyle_outerContainer" class="dmOuter"> <div id="dmStyle_innerContainer" class="dmInner" data-auto="page-inner"> <div class="dmLayoutWrapper standard-var dmStandardDesktop"> <div> <div id="iscrollBody"> <div id="site_content"> <div class="dmHeaderContainer fHeader d-header-wrapper"> <div id="hcontainer" class="u_hcontainer dmHeader p_hfcontainer" freeheader="true" headerlayout="696" layout="7621f7e0002549258c16efb7610abc8f===header" data-gradient-background="true" data-scrollable-target="body" data-scrollable-target-threshold="1" data-scroll-responder-id="1" logo-size-target="66%"> <div dm:templateorder="85" class="dmHeaderResp dmHeaderStack noSwitch" id="1709005236"> <div class="u_1205492114 dmRespRow" id="1205492114"> <div class="dmRespColsWrapper" id="1874654390"> <div class="u_1472887107 dmRespCol small-12 large-8 medium-8" id="1472887107"> <div class="dmNewParagraph" data-element-type="paragraph" data-version="5" id="1527090093" style="transition: opacity 1s ease-in-out 0s;"><p class="m-size-14 size-18"><span class="m-font-size-14 font-size-18" style="color:var(--color_5);font-weight:normal;display:initial;font-family:Inter, 'Inter Fallback';"><span class="m-font-size-14 font-size-18" style="color:var(--color_5);font-weight:normal;display:initial;font-family:Inter, 'Inter Fallback';">Proudly Serving</span> 1114</span><span class="m-font-size-14 font-size-18" style="color:rgb(191, 187, 152);font-weight:normal;display:initial;font-family:Inter, 'Inter Fallback';">Minneapolis-St. Paul and the twin cities metro area since 1990</span><span style="display: initial;"><br/></span></p></div> 1115</div> 1116 <div class="u_1621071943 dmRespCol small-12 large-4 medium-4" id="1621071943"> <div class="u_1786233374 align-center text-align-center dmSocialHub gapSpacing" id="1786233374" dmle_extension="social_hub" data-element-type="social_hub" wr="true" networks="" icon="true" surround="true" adwords=""> <div class="socialHubWrapper"> <div class="socialHubInnerDiv " data-auto="social-hub-inner"> <a href="https://www.facebook.com/CustomRemodelersLLC/" target="_blank" dm_dont_rewrite_url="true" aria-label="facebook" onclick="dm_gaq_push_event &&
1116 dm_gaq_push_event('socialLink', 'click', 'Facebook')"> <span class="dmSocialFacebook dm-social-icons-facebook oneIcon socialHubIcon style8" aria-hidden="true" data-hover-effect=""></span> 1117</a> 1118 <a href="https://www.google.com/maps/place/Custom+Remodelers,+Inc./@45.1790007,-93.1186565,15z/data=!4m2!3m1!1s0x0:0x1cac61abd179e0f3?sa=X&ved=2ahUKEwituenhxYKBAxVLlYkEHTy4BpYQ_BJ6BAhLEAA&ved=2ahUKEwituenhxYKBAxVLlYkEHTy4BpYQ_BJ6BAhaEAg" target="_blank" dm_dont_rewrite_url="true" aria-label="google_my_business" onclick="dm_gaq_push_event && dm_gaq_push_event('socialLink', 'click', 'GoogleMyBusiness')"> <span class="dmSocialGoogleMyBusiness dm-social-icons-google-my-business oneIcon socialHubIcon style8" aria-hidden="true" data-hover-effect=""></span> 1119</a> 1120</div> 1121</div> 1122</div> 1123</div> 1124</div> 1125</div> 1126 <div class="u_1870603734 dmRespRow" id="1870603734"> <div class="dmRespColsWrapper" id="1490284470"> <div class="u_1973872107 dmRespCol small-12 large-4 medium-4" id="1973872107"> <div class="u_1687082077 imageWidget align-center" data-element-type="image" data-widget-type="image" id="1687082077"> <a href="/" id="1230436133"><img src="https://irp.cdn-website.com/ddb3bb04/dms3rep/multi/opt/Updated+Logo+2-1920w.png" alt="Custom Remodelers" id="1423720077" class="" data-dm-image-path="https://irp.cdn-website.com/ddb3bb04/dms3rep/multi/Updated+Logo+2.png" width="1920" height="1080" title="Custom Remodelers" onerror="handleImageLoadError(this)"/></a> 1127</div> 1128</div> 1129 <div class="dmRespCol large-4 medium-4 small-12 u_1927507084" id="1927507084"> <div class="dmPhotoGallery newPhotoGallery dmPhotoGalleryResp u_1567617037 photo-gallery-done text-layout-over captionAlignment-center_center photoGallery" galleryoptionsparams="{thumbnailsPerRow: 3, rowsToShow: 3, imageScaleMethod: true}" data-desktop-layout="square" data-desktop-columns="2" data-element-type="dPhotoGalleryId" data-desktop-text-layout="over" id="1567617037" data-placeholder="false" data-rows-to-show="100"> <div class="dmPhotoGalleryHolder clearfix gallery shadowEffectToChildren gallery4inArow" id="1362986591"></div> 1130 <div class="layout-container square"> <div class="photogallery-row " data-index=""> <div class="photogallery-column column-2" data-index="0"> <div index="0" class="photoGalleryThumbs animated " data-index="0"> <div class="thumbnailInnerWrapper" style="opacity: 1;"> <div class="image-container revealed"> <a data-dm-multisize-attr="temp" aria-label="Readers choice 2024 winner best of the press quad community press" data-dm-force-device="mobile" class="u_1891876588" data-image-url="https://irp.cdn-website.com/ddb3bb04/dms3rep/multi/2024+BEST+of+the+Press+Quad+WINNER.png" style="background-image: url('https://irp.cdn-website.com/ddb3bb04/dms3rep/multi/opt/2024+BEST+of+the+Press+Quad+WINNER-640w.png');"><img id="1883222196" data-src="https://irp.cdn-website.com/ddb3bb04/dms3rep/multi/opt/2024+BEST+of+the+Press+Quad+WINNER-1920w.png" alt="Readers choice 2024 winner best of the press quad community press" aria-label="Readers choice 2024 winner best of the press quad community press" onerror="handleImageLoadError(this)"/></a> 1131</div> 1132 <div id="1986148841" class="caption-container u_1986148841" style="display:none"> <span class="caption-inner"> <a id="1904351085" class="caption-button dmWidget clearfix u_1904351085" data-auto="caption-button" href="" style=""> <span class="iconBg" data-auto="button-icon-bg"> <span class="icon hasFontIcon " data-auto="button-icon"></span> 1133</span> 1134 <span class="text" data-auto="button-text">Button</span> 1135</a> 1136</span> 1137</div> 1138</div> 1139</div> 1140</div> 1141 <div class="photogallery-column column-2" data-index="1"> <div index="1" class="photoGalleryThumbs animated " data-index="1"> <div class="thumbnailInnerWrapper" style="opacity: 1;"> <div class="image-container revealed"> <a data-dm-multisize-attr="temp" aria-label="Readers choice 2025 winner best of the press quad community press" data-dm-force-device="mobile" class="u_1522274380" data-image-url="https://irp.cdn-website.com/ddb3bb04/dms3rep/multi/2025+BEST+of+the+Press+Quad+WINNER.png" style="background-image: url('https://irp.cdn-website.com/ddb3bb04/dms3rep/multi/opt/2025+BEST+of+the+Press+Quad+WINNER-640w.png');"><img id="1363493681" data-src="https://irp.cdn-website.com/ddb3bb04/dms3rep/multi/opt/2025+BEST+of+the+Press+Quad+WINNER-1920w.png" alt="Readers choice 2025 winner best of the press quad community press" aria-label="Readers choice 2025 winner best of the press quad community press" onerror="handleImageLoadError(this)"/></a> 1142</div> 1143 <div id="1914544645" class="caption-container u_1914544645" style="display:none"> <span class="caption-inner"> <a id="1391169215" class="caption-button dmWidget clearfix u_1391169215" data-auto="c
1143aption-button" href="" style=""> <span class="iconBg" data-auto="button-icon-bg"> <span class="icon hasFontIcon " data-auto="button-icon"></span> 1144</span> 1145 <span class="text" data-auto="button-text">Button</span> 1146</a> 1147</span> 1148</div> 1149</div> 1150</div> 1151</div> 1152</div> 1153</div> 1154</div> 1155 <div class="dmNewParagraph" data-element-type="paragraph" data-version="5" id="1252817514"><p class="m-size-11 text-align-center size-14" style="line-height: 1.5;"><strong class="m-font-size-11 font-size-14" style="font-weight: bold; color: var(--color_1); display: unset;">Thank You for Voting us Best Remodeler again in 2025 Press Publications</strong></p></div> 1156</div> 1157 <div class="u_1293422876 dmRespCol small-12 large-4 medium-4" id="1293422876"> <a data-display-type="block" class="u_1804993110 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient" file="false" href="https://www.google.com/maps/place//data=!4m3!3m2!1s0x52b2d8abb00278ef:0x1cac61abd179e0f3!12e1?source=g.page.m.ia._&laa=nmx-review-solicitation-ia2" data-element-type="dButtonLinkId" id="1804993110" target="_blank"> <span class="iconBg" aria-hidden="true" id="1118791448"> <span class="icon hasFontIcon icon-star" id="1417745565"></span> 1158</span> 1159 <span class="text" id="1337199393">Leave us a Review</span> 1160</a> 1161 <div class="u_1494721144 dmNewParagraph" data-element-type="paragraph" data-version="5" id="1494721144" style="transition: none 0s ease 0s; text-align: left; display: block;"><p class="text-align-right"><span class="" style="color: var(--color_5); display: unset;"><span style="color: var(--color_5); display: unset;">Give us a call:</span> 1162</span><a href="tel:800-240-3038" target="_blank" type="call" class="m-font-size-16 font-size-20" style="color:rgb(191, 187, 152);font-weight:600;display:unset;font-family:Montserrat, 'Montserrat Fallback';">800-240-3038</a></p></div> 1163</div> 1164</div> 1165</div> 1166 <div class="u_1837687442 dmRespRow fullBleedChanged fullBleedMode" id="1837687442"> <div class="dmRespColsWrapper" id="1230706154"> <div class="dmRespCol large-12 medium-12 small-12" id="1394380871"> <nav class="u_1403688735 effect-bottom2 main-navigation unifiednav dmLinksMenu" data-auto="links-menu" role="navigation" layout-main="horizontal_nav_layout_1" layout-sub="submenu_horizontal_1" data-show-vertical-sub-items="HOVER" id="1403688735" dmle_extension="onelinksmenu" data-element-type="onelinksmenu" data-logo-src="" alt="" data-nav-structure="HORIZONTAL" wr="true" icon="true" surround="true" adwords="" navigation-id="unifiedNav"> <ul role="menubar" class="unifiednav__container unav-top " data-auto="navigation-pages"> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_00 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1167 Home 1168 " data-auto="page-text-style">Home<span class="icon icon-angle-down"></span> 1169</span> 1170</a> 1171</li> 1172 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/remodeling-contractors" class="unifiednav__item unav-item unav-top-item dmNavItemSelected dmUDNavigationItem_010101969236 " target="" data-target-page-alias="" aria-current="page" data-auto="selected-page"> <span class="nav-item-text " data-link-text=" 1173 About 1174 " data-auto="page-text-style">About<span class="icon icon-angle-down"></span> 1175</span> 1176</a> 1177</li> 1178 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/remodeling-careers" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101978295 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1179 Work at Custom 1180 " data-auto="page-text-style">Work at Custom<span class="icon icon-angle-down"></span> 1181</span> 1182</a> 1183</li> 1184 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/giving-back-to-community" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_01010180888 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1185 Giving Back to Community 1186 " data-auto="page-text-style">Giving Back to Community<span class="icon icon-angle-down"></span> 1187</span> 1188</a> 1189</li> 1190 <li role="menuitem" aria-haspopup="true" aria-expanded="false" data-sub-nav-menu="true" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/products" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101899175 unifiednav__item_has-sub-nav" target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1191 Products 1192 " data-auto="page-text-style">Products<span class="icon icon-angle-down"></span> 1193</span> 1194</a> 1195 <ul role="menu" class="unifiednav__container unifiednav__container_sub-nav unav-sub" data-depth="0" data-auto="sub-pages"> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/products#Roofing" class="unifiednav__item unav-item dmUDNavigationItem_010101989311 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1196 Roofing 1197 " data-auto="page-text-style">Roofing<span class="icon icon-angle-right"></span> 1198</span> 1199</a> 1200</li> 1201 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/products#Doors" class="unifiednav__item unav-item dmUDNavigationItem_010101698368 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1202 Doors 1203 " data-auto="page-text-style">Doors<span class="icon icon-angle-right"></span> 1204</span> 1205</a> 1206</li> 1207 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/products#Siding" class="unifiednav__item unav-item dmUDNavigationItem_010101532415 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1208 Siding 1209 " data-auto="page-text-style">Siding<span class="icon icon-angle-right"></span> 1210</span> 1211</a> 1212</li> 1213 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/products#Gutters" class="unifiednav__item unav-item dmUDNavigationItem_010101733558 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1214 Gutters 1215 " data-auto="page-text-style">Gutters<span class="icon icon-angle-right"></span> 1216</span> 1217</a> 1218</li> 1219 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/window-installation" class="unifiednav__item unav-item dmUDNavigationItem_010101209117 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1220 Windows 1221 " data-auto="page-text-style">Windows<span class="icon icon-angle-right"></span> 1222</span> 1223</a> 1224</li> 1225</ul> 1226</li> 1227 <li role="menuitem" aria-haspopup="true" aria-expanded="false" data-sub-nav-menu="true" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/home-remodeling-projects" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101115824 unifiednav__item_has-sub-nav" target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1228 Recent Projects 1229 " data-auto="page-text-style">Recent Projects<span class="icon icon-angle-down"></span> 1230</span> 1231</a> 1232 <ul role="menu" class="unifiednav__container unifiednav__container_sub-nav unav-sub" data-depth="0" data-auto="sub-pages"> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/home-remodeling-projects#Windows" class="unifiednav__item unav-item dmUDNavigationItem_010101414257 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1233 Windows 1234 " data-auto="page-text-style">Windows<span class="icon icon-angle-right"></span> 1235</span> 1236</a> 1237</li> 1238 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/home-remodeling-projects#Doors" class="unifiednav__item unav-item dmUDNavigationItem_010101357093 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1239 Doors 1240 " data-auto="page-text-style">Doors<span class="icon icon-angle-right"></span> 1241</span> 1242</a> 1243</li> 1244 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/home-remodeling-projects#Siding" class="unifiednav__item unav-item dmUDNavigationItem_010101307494 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1245 Siding 1246 " data-auto="page-text-style">Siding<span class="icon icon-angle-right"></span> 1247</span> 1248</a> 1249</li> 1250 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/home-remodeling-projects#Roofing" class="unifiednav__item unav-item dmUDNavigationItem_010101784673 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1251 Roofing 1252 " data-auto="page-text-style">Roofing<span class="icon icon-angle-right"></span> 1253</span> 1254</a> 1255</li> 1256 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/home-remodeling-projects#Gutter" class="unifiednav__item unav-item dmUDNavigationItem_010101842231 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1257 Gutter 1258 " data-auto="page-text-style">Gutter<span class="icon icon-angle-right"></span> 1259</span> 1260</a> 1261</li> 1262</ul> 1263</li> 1264 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/remodeling-estimate" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101279041 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1265 Request a Quote 1266 " data-auto="page-text-style">Request a Quote<span class="icon icon-angle-down"></span> 1267</span> 1268</a> 1269</li> 1270 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/twin-cities-remodeling-company" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101516232 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1271 Contact 1272 " data-auto="page-text-style">Contact<span class="icon icon-angle-down"></span> 1273</span> 1274</a> 1275</li> 1276</ul> 1277</nav> 1278</div> 1279</div> 1280</div> 1281</div> 1282</div> 1283</div> 1284 <div class="stickyHeaderSpacer" id="stickyHeaderSpacer" data-auto="sticky-header-spacer" data-new="true"></div> 1285 <div class="dmRespRow dmRespRowStable dmRespRowNoPadding dmPageTitleRow "> <div class="dmRespColsWrapper">
1285 <div class="large-12 dmRespCol"> <div id="innerBar" class="innerBar lineInnerBar dmDisplay_None"> <div class="titleLine display_None"><hr/></div> 1286<!-- Page title is hidden in css for new responsive sites. It is left here only so we don't break old sites. Don't copy it to new layouts --> <div id="pageTitleText"> <div class="innerPageTitle">About</div> 1287</div> 1288 <div class="titleLine display_None"><hr/></div> 1289</div> 1290</div> 1291</div> 1292</div> 1293 <div dmwrapped="true" id="dmFirstContainer" class="dmBody u_dmStyle_template_remodeling-contractors 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_1651268708 dmSectionParallaxNew hasBackgroundOverlay" style="text-align: center;" id="1651268708"> <div class="dmRespColsWrapper" id="1530303912"> <div class="dmRespCol small-12 medium-12 large-12 u_1596426900" id="1596426900"> <div data-element-type="spacer" class="dmSpacer u_1555761158" id="1555761158"></div> 1294</div> 1295</div> 1296</div> 1297 <div class="dmRespRow u_1000891739 hasBackgroundOverlay" id="1000891739"> <div class="dmRespColsWrapper" id="1557533993"> <div class="dmRespCol large-12 medium-12 small-12" id="1339072211"> <div class="dmRespRow u_1543573928" id="1543573928"> <div class="dmRespColsWrapper" id="1212501688"> <div class="dmRespCol large-6 medium-6 small-12 u_1461131687" id="1461131687"> <div class="u_1217943377 dmNewParagraph" data-element-type="paragraph" data-version="5" id="1217943377" style="transition: opacity 1s ease-in-out 0s;"> <h1><span style="display: unset;">Learn More About Custom Remodelers in the Twin Cities</span></h1> 1298</div> 1299</div> 1300 <div class="dmRespCol empty-column large-6 medium-6 small-12 u_1588941882" id="1588941882"></div> 1301</div> 1302</div> 1303</div> 1304</div> 1305</div> 1306 <div class="dmRespRow u_1542241270 dmSectionParallaxNew hasBackgroundOverlay" id="1542241270"> <div class="dmRespColsWrapper" id="1447635809"> <div class="dmRespCol large-12 medium-12 small-12" id="1586745111"> <div class="dmNewParagraph" data-element-type="paragraph" data-version="5" id="1201500694" style="transition: opacity 1s ease-in-out 0s;"> <h2><span style="display: unset; color: var(--color_1);">Renovate with Custom Remodelers in Minnesota, West Wisconsin, and the Twin Cities Metro Area</span></h2> 1307</div> 1308 <div class="dmNewParagraph" data-element-type="paragraph" data-version="5" id="1575091569" style="transition: opacity 1s ease-in-out 0s;"><p><span style="display: unset; color: var(--color_1);">This family-owned company is managed by two brothers, Craig and Chad Carpenter. We believe trust and knowledge are the keys to the success of Custom Remodelers in the Twin Cities and the surrounding area, we have earned a reputation as an industry leader.</span></p></div> 1309</div> 1310</div> 1311</div> 1312 <div class="dmRespRow u_1188127629 fullBleedChanged fullBleedMode" id="1188127629"> <div class="dmRespColsWrapper" id="1562804276"> <div class="u_1827442622 dmRespCol small-12 large-undefined medium-undefined" id="1827442622"> <div class="dmRespRow u_1045337413" id="1045337413"> <div class="dmRespColsWrapper" id="1238953516"> <div class="dmRespCol small-12 medium-12 large-12" id="1244081101"> <div class="dmNewParagraph" data-element-type="paragraph" data-version="5" id="1664173828" style="transition: opacity 1s ease-in-out 0s;"> <h2><span style="color: var(--color_4); display: unset;">OUR GROWTH</span></h2> 1313</div> 1314 <div class="dmNewParagraph" data-element-type="paragraph" data-version="5" id="1271414589" style="transition: opacity 1s ease-in-out 0s;"><p><span style="display: unset; color: var(--color_4);">Through our years of service, we’ve realized the value of providing excellent customer service. Our belief in satisfaction-oriented business has built a reputation of reliability and honesty, earning respect from our North American manufacturers, our local suppliers, and individual homeowners alike.</span></p></div> 1315 <div class="u_1044863440 dmNewParagraph" data-element-type="paragraph" data-version="5" id="1044863440" style="transition: opacity 1s ease-in-out 0s;"><p><span style="display: initial; color: var(--color_4);">The kind of growth that Custom Remodelers has experienced requires more than just meeting the customers’ wants and needs. That’s why we focus on:</span></p> <ul class="defaultList bullet"><li style="color: var(--color_4);"><span style="display: initial; color: var(--color_4);">Innovative products</span></li><li style="color: var(--color_4);"><span style="display: initial; color: var(--color_4);">Quality workmanship</span></li><li style="color: var(--color_4);"><span style="display: initial; color: var(--color_4);">Excellent service</span><span style="display: initial;"><br/></span></li></ul> 1316</div> 1317</div> 1318</div> 1319</div> 1320</div> 1321 <div class="u_1190587415 dmRespCol empty-column small-12 large-undefined medium-undefined" id="1190587415"></div> 1322</div> 1323</div> 1324 <div class="dmRespRow" id="1093979761"> <div class="dmRespColsWrapper" id="1864724394"> <div class="dmRespCol large-12 medium-12 small-12" id="1245790121"> <div class="dmNewParagraph" data-element-type="paragraph" data-version="5" id="1352460487" style="transition: opacity 1s ease-in-out 0s;"> <h2><span style="display: unset;">Our Philosophy</span></h2> 1325</div> 1326 <div class="dmNewParagraph" data-element-type="paragraph" data-version="5" id="1003379703" style="transition: opacity 1s ease-in-out 0s;"><p><span style="display: unset;">At Custom Remodelers, we turn houses into homes. By taking the time to get to know y
1326ours. Doing right, for the right reasons is how our family has gone about our business for over 30 years. There is no place like your home.</span></p></div> 1327</div> 1328</div> 1329</div> 1330 <div class="u_1737725308 dmRespRow hasBackgroundOverlay" id="1737725308"> <div class="dmRespColsWrapper" id="1364752436"> <div class="dmRespCol large-12 medium-12 small-12" id="1574646678"> <div class="dmNewParagraph" data-element-type="paragraph" data-version="5" id="1185422987" style="transition: opacity 1s ease-in-out 0s;"><p class="text-align-center m-text-align-left"><span class="" style="color: var(--color_1); display: unset;"><span style="color: var(--color_1); display: unset;">Call</span> 1331</span><a href="tel:800-240-3038" target="_blank" type="call" style="color:rgb(191, 187, 152);font-weight:600;display:unset;font-family:Montserrat, 'Montserrat Fallback';">(800) 240-3038</a><span class="" style="color: var(--color_1); display: unset;"> <span style="color: var(--color_1); display: unset;">to request a free estimate.</span></span></p></div> 1332</div> 1333</div> 1334</div> 1335</div> 1336</div> 1337</div> 1338</div> 1339 <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="u_1517329823 dmRespRow hasBackgroundOverlay" id="1517329823"> <div class="dmRespColsWrapper" id="1299427893"> <div class="dmRespCol large-12 medium-12 small-12" id="1347189002"> <div class="dmNewParagraph" data-element-type="paragraph" data-version="5" id="1754464693" style="transition: opacity 1s ease-in-out 0s;"><p class="text-align-center m-text-align-left"><span style="color: rgb(255, 255, 255); display: initial;"><span style="color: rgb(255, 255, 255); display: initial;">Contact Custom Remodelers at</span> 1340</span><a href="tel:800-240-3038" target="_blank" type="call" style="color:rgb(191, 187, 152);font-weight:600;display:initial;font-family:Montserrat, 'Montserrat Fallback';">(800) 240-3038</a><span style="color: rgb(255, 255, 255); display: initial;"> <span style="color: rgb(255, 255, 255); display: initial;">for a consultation.</span></span></p></div> 1341 <a data-display-type="block" class="align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient" file="false" href="/twin-cities-remodeling-company" data-element-type="dButtonLinkId" id="1730627340"> <span class="iconBg" aria-hidden="true" id="1427868403"> <span class="icon hasFontIcon icon-star" id="1115365879"></span> 1342</span> 1343 <span class="text" id="1548085010">CONTACT US</span> 1344</a> 1345</div> 1346</div> 1347</div> 1348 <div class="dmRespRow u_1557400937" id="1557400937"> <div class="dmRespColsWrapper" id="1638595267"> <div class="dmRespCol large-12 medium-12 small-12 content-removed" id="1022956270"> <div class="u_1488452619 imageWidget align-center" data-element-type="image" data-widget-type="image" id="1488452619"> <a href="/" id="1888682790"><img src="https://irp.cdn-website.com/ddb3bb04/dms3rep/multi/opt/Updated+Logo+2-1920w.png" alt="Custom Remodelers" id="1109644882" class="" data-dm-image-path="https://irp.cdn-website.com/ddb3bb04/dms3rep/multi/Updated+Logo+2.png" width="1920" height="1080" title="Custom Remodelers" onerror="handleImageLoadError(this)"/></a> 1349</div> 1350 <nav class="u_1888695491 effect-bottom2 main-navigation unifiednav dmLinksMenu" data-auto="links-menu" role="navigation" layout-main="horizontal_nav_layout_1" layout-sub="submenu_horizontal_1" data-show-vertical-sub-items="HOVER" id="1888695491" dmle_extension="onelinksmenu" data-element-type="onelinksmenu" data-logo-src="" alt="" data-nav-structure="HORIZONTAL" wr="true" icon="true" surround="true" adwords="" navigation-id="unifiedNav"> <ul role="menubar" class="unifiednav__container unav-top " data-auto="navigation-pages"> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_00 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1351 Home 1352 " data-auto="page-text-style">Home<span class="icon icon-angle-down"></span> 1353</span> 1354</a> 1355</li> 1356 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/remodeling-contractors" class="unifiednav__item unav-item unav-top-item dmNavItemSelected dmUDNavigationItem_010101969236 " target="" data-target-page-alias="" aria-current="page" data-auto="selected-page"> <span class="nav-item-text " data-link-text=" 1357 About 1358 " data-auto="page-text-style">About<span class="icon icon-angle-down"></span> 1359</span> 1360</a> 1361</li> 1362 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/remodeling-careers" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101978295 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1363 Work at Custom 1364 " data-auto="page-text-style">Work at Custom<span class="icon icon-angle-down"></span> 1365</span> 1366</a> 1367</li> 1368 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/giving-back-to-community" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_01010180888 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1369 Giving Back to Community 1370 " data-auto="page-text-style">Giving Back to Community<span class="icon icon-angle-down"></span> 1371</span> 1372</a> 1373</li> 1374 <li role="menuitem" aria-haspopup="true" aria-expanded="false" data-sub-nav-menu="true" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/products" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101899175 unifiednav__item_has-sub-nav" target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1375 Products 1376 " data-auto="page-text-style">Products<span class="icon icon-angle-down"></span> 1377</span> 1378</a> 1379 <ul role="menu" class="unifiednav__container unifiednav__container_sub-nav unav-sub" data-depth="0" data-auto="sub-pages"> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/products#Roofing" class="unifiednav__item unav-item dmUDNavigationItem_010101989311 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1380 Roofing 1381 " data-auto="page-text-style">Roofing<span class="icon icon-angle-right"></span> 1382</span> 1383</a> 1384</li> 1385 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/products#Doors" class="unifiednav__item unav-item dmUDNavigationItem_010101698368 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1386 Doors 1387 " data-auto="page-text-style">Doors<span class="icon icon-angle-right"></span> 1388</span> 1389</a> 1390</li> 1391 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/products#Siding" class="unifiednav__item unav-item dmUDNavigationItem_010101532415 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1392 Siding 1393 " data-auto="page-text-style">Siding<span class="icon icon-angle-right"></span> 1394</span> 1395</a> 1396</li> 1397 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/products#Gutters" class="unifiednav__item unav-item dmUDNavigationItem_010101733558 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1398 Gutters 1399 " data-auto="page-text-style">Gutters<span class="icon icon-angle-right"></span> 1400</span> 1401</a> 1402</li> 1403 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/window-installation" class="unifiednav__item unav-item dmUDNavigationItem_010101209117 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1404 Windows 1405 " data-auto="page-text-style">Windows<span class="icon icon-angle-right"></span> 1406</span> 1407</a> 1408</li> 1409</ul> 1410</li> 1411 <li role="menuitem" aria-haspopup="true" aria-expanded="false" data-sub-nav-menu="true" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/home-remodeling-projects" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101115824 unifiednav__item_has-sub-nav" target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1412 Recent Projects 1413 " data-auto="page-text-style">Recent Projects<span class="icon icon-angle-down"></span> 1414</span> 1415</a> 1416 <ul role="menu" class="unifiednav__container unifiednav__container_sub-nav unav-sub" data-depth="0" data-auto="sub-pages"> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/home-remodeling-projects#Windows" class="unifiednav__item unav-item dmUDNavigationItem_010101414257 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1417 Windows 1418 " data-auto="page-text-style">Windows<span class="icon icon-angle-right"></span> 1419</span> 1420</a> 1421</li> 1422 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/home-remodeling-projects#Doors" class="unifiednav__item unav-item dmUDNavigationItem_010101357093 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1423 Doors 1424 " data-auto="page-text-style">Doors<span class="icon icon-angle-right"></span> 1425</span> 1426</a> 1427</li> 1428 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/home-remodeling-projects#Siding" class="unifiednav__item unav-item dmUDNavigationItem_010101307494 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1429 Siding 1430 " data-auto="page-text-style">Siding<span class="icon icon-angle-right"></span> 1431</span> 1432</a> 1433</li> 1434 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/home-remodeling-projects#Roofing" class="unifiednav__item unav-item dmUDNavigationItem_010101784673 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1435 Roofing 1436 " data-auto="page-text-style">Roofing<span class="icon icon-angle-right"></span> 1437</span> 1438</a> 1439</li> 1440 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/home-remodeling-projects#Gutter" class="unifiednav__item unav-item dmUDNavigationItem_010101842231 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1441 Gutter 1442 " data-auto="page-text-style">Gutter<span class="icon icon-angle-right"></span> 1443</span> 1444</a> 1445</li> 1446</ul> 1447</li> 1448 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/remodeling-estimate" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101279041 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1449 Request a Quote 1450 " data-auto="page-text-style">Request a Quote<span class="icon icon-angle-down"></span> 1451</span> 1452</a> 1453</li> 1454 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/twin-cities-remodeling-company" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101516232 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1455 Contact 1456 " data-auto="page-text-style">Contact<span class="icon icon-angle-down"></span> 1457</span> 1458</a> 1459</li> 1460</ul> 1461</nav> 1462 <a data-display-type="block" class="u_1188332013 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient" file="false" href="/design-tools" data-element-type="dButtonLinkId" id="1188332013"> <span class="iconBg" aria-hidden="true" id="1408005543"> <span class="icon hasFontIcon icon-star" id="1615975482"></span> 1463</span> 1464 <span class="text" id="1214448576">Design Tools</span> 1465</a> 1466 <div class="u_1080947148 align-center text-align-center dmSocialHub gapSpacing" id="1080947148" dmle_extension="social_hub" data-element-type="social_hub" wr="true" networks="" icon="true" surround="true" adwords=""> <div class="socialHubWrapper"> <div class="socialHubInnerDiv " data-auto="social-hub-inner"> <a href="https://www.facebook.com/CustomRemodelersLLC/" target="_blank" dm_dont_rewrite_url="true" aria-label="facebook" onclick="dm_gaq_push_event &&
1466 dm_gaq_push_event('socialLink', 'click', 'Facebook')"> <span class="dmSocialFacebook dm-social-icons-facebook oneIcon socialHubIcon style8" aria-hidden="true" data-hover-effect=""></span> 1467</a> 1468 <a href="https://google.com/maps/place/" target="_blank" dm_dont_rewrite_url="true" aria-label="google_my_business" onclick="dm_gaq_push_event && dm_gaq_push_event('socialLink', 'click', 'GoogleMyBusiness')"> <span class="dmSocialGoogleMyBusiness dm-social-icons-google-my-business oneIcon socialHubIcon style8" aria-hidden="true" data-hover-effect=""></span> 1469</a> 1470</div> 1471</div> 1472</div> 1473 <div class="dmNewParagraph u_1305716508" data-element-type="paragraph" data-version="5" id="1305716508" style="transition: opacity 1s ease-in-out 0s;"><p class="text-align-center"><span class="" style="color: var(--color_5); display: unset;"><span style="color: var(--color_5); display: unset;">Phone:</span> 1474</span><a href="tel:800-240-3038" target="_blank" type="call" style="color:rgb(191, 187, 152);font-weight:600;display:unset;font-family:Inter, 'Inter Fallback';">800-240-3038</a><span class="" style="color: var(--color_5); display: unset;"> <span style="color: var(--color_5); display: unset;">| Serving the Twin Cities and Minneapolis-St. Paul </span></span><span style="display: initial;"><br/></span></p></div> 1475 <a data-display-type="block" class="u_1466941978 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient" file="false" href="https://payzer.com/Payment/ExternalMake/businessId/9515" data-element-type="dButtonLinkId" id="1466941978" target="_blank"> <span class="iconBg" aria-hidden="true" id="1038222553"> <span class="icon hasFontIcon icon-star" id="1699849230"></span> 1476</span> 1477 <span class="text" id="1867155742">Make Payment</span> 1478</a> 1479</div> 1480</div> 1481</div> 1482 <div class="dmRespRow u_1640212074" id="1640212074"> <div class="dmRespColsWrapper" id="1380053304"> <div class="dmRespCol large-12 medium-12 small-12" id="1091056446"> <div class="widget-d3c663 u_1364649534 dmCustomWidget" data-lazy-load="" data-title="" id="1364649534" dmle_extension="custom_extension" data-element-type="custom_extension" icon="false" surround="false" data-widget-id="d3c66308b2ae4c2eb8bccd831a63a3d8" data-widget-version="79" data-widget-config="eyJpbnRlZ3JhdGlvbl9pZCI6bnVsbCwiY3VzdG9tTGlua3MiOm51bGwsInRvdUxpbmsiOnsiaHJlZiI6Ii9ob21lIn0sInBwTGluayI6eyJocmVmIjoiL2hvbWUifSwiYmNXaWRnZXRzTGVmdCI6ZmFsc2UsIndlYmNoYXQiOmZhbHNlfQ==">Content, including images, displayed on this website is protected by copyright laws. Downloading, republication, retransmission or reproduction of content on this website is strictly prohibited. <a href="https://www.thryv.com/client-terms-of-use/" rel="nofollow" target="_blank">Terms of Use</a>| <a href="https://www.thryv.com/client-privacy-policy/" rel="nofollow" target="_blank">Privacy Policy</a> 1483 <style>.dm-social-icons-google-my-business:before { 1484 content: '' !important; 1485}</style> 1486 <div data-inject="tmc-inject"></div> 1487</div> 1488</div> 1489</div> 1490</div> 1491</div> 1492 <div id="1236746004" dmle_extension="powered_by" data-element-type="powered_by" icon="true" surround="false"></div> 1493</div> 1494</div> 1495</div> 1496</div> 1497</div> 1498</div> 1499</div> 1500</div> 1501</div> 1502</div> 1503 1504 </div> 1505</div> 1506<!-- Add full CSS and Javascript before the close tag of the body if needed --> 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545<!-- ========= JS Section ========= -->
1546<script> 1547 var isWLR = true; 1548 1549 window.customWidgetsFunctions = {}; 1550 window.customWidgetsStrings = {}; 1551 window.collections = {}; 1552 window.currentLanguage = "ENGLISH" 1553 window.isSitePreview = false; 1554</script>
1554 1555 1556 1557
1558<script> 1559 window.customWidgetsFunctions["d3c66308b2ae4c2eb8bccd831a63a3d8~79"] = function (element, data, api) { 1560 if (data.config.webchat){ 1561 1562let thryvId = dmAPI.getSiteExternalId(); 1563var integrationId = data.config.integration_id; 1564 1565 1566setTimeout(() => { 1567 1568 !(function (o, p, s, e, c) { 1569 var i, 1570 a, 1571 h, 1572 u = [], 1573 d = []; 1574 function t() { 1575 var t = "You must provide a supported major version."; 1576 try { 1577 if (!c) throw new Error(t); 1578 var e, 1579 n = "https://cdn.smooch.io/", 1580 r = "smooch"; 1581 if ((e = "string" == typeof this.response ? JSON.parse(this.response) : this.response).url) { 1582 var o = p.getElementsByTagName("script")[0], 1583 s = p.createElement("script"); 1584 s.async = !0; 1585 var i = c.match(/([0-9]+).?([0-9]+)?.?([0-9]+)?/), 1586 a = i && i[1]; 1587 if (i && i[3]) s.src = n + r + "." + c + ".min.js"; 1588 else { 1589 if (!(4 <= a && e["v" + a])) throw new Error(t); 1590 s.src = e["v" + a]; 1591 } 1592 o.parentNode.insertBefore(s, o); 1593 } 1594 } catch (e) { 1595 e.message === t && console.error(e); 1596 } 1597 } 1598 (o[s] = { 1599 init: function () { 1600 i = arguments; 1601 var t = { 1602 then: function (e) { 1603 return d.push({ type: "t", next: e }), t; 1604 }, 1605 catch: function (e) { 1606 return d.push({ type: "c", next: e }), t; 1607 }, 1608 }; 1609 return t; 1610 }, 1611 on: function () { 1612 u.push(arguments); 1613 }, 1614 render: function () { 1615 a = arguments; 1616 }, 1617 destroy: function () { 1618 h = arguments; 1619 }, 1620 }), 1621 (o.__onWebMessengerHostReady__ = function (e) { 1622 if ((delete o.__onWebMessengerHostReady__, (o[s] = e), i)) 1623 for (var t = e.init.apply(e, i), n = 0; n < d.length; n++) { 1624 var r = d[n]; 1625 t = "t" === r.type ? t.then(r.next) : t.catch(r.next); 1626 } 1627 a && e.render.apply(e, a), h && e.destroy.apply(e, h); 1628 for (n = 0; n < u.length; n++) e.on.apply(e, u[n]); 1629 }); 1630 var n = new XMLHttpRequest(); 1631 n.addEventListener("load", t), n.open("GET", "https://" + e + ".webloader.smooch.io/", !0), (n.responseType = "json"), n.send(); 1632 })(window, document, "Smooch", integrationId, "5"); 1633 setTimeout(() => { 1634 const delegate = { 1635 beforeSend(message, data) { 1636 const urlParams = new URLSearchParams(window.location.search); 1637 const utm_ci = urlParams.get('utm_ci'); 1638 const utm_channel = urlParams.get('utm_channel'); 1639 const utm_ad = urlParams.get('utm_ad'); 1640 const utm_cm = urlParams.get('utm_cm'); 1641 1642 if (utm_ci && utm_channel && utm_ad && utm_cm) { 1643 message.metadata = { 1644 utm_ci, 1645 utm_channel, 1646 utm_ad, 1647 utm_cm 1648 }; 1649 } 1650 1651 return message; 1652 } 1653 }; 1654 Smooch.init({ 1655 integrationId: integrationId, 1656 delegate: delegate, 1657 menuItems: {}, 1658 prechatCapture: { 1659 enabled: true, 1660 enableEmailLinking: true, 1661 fields: [ 1662 { 1663 type: 'email', 1664 name: 'email', 1665 label: 'Email', 1666 placeholder: '[email protected]' 1667 }, 1668 { 1669 type: 'text', 1670 name: 'phone', 1671 label: 'Phone', 1672 placeholder: '555-555-5555' 1673 }, 1674 { 1675 type: 'text', 1676 name: 'first_name', 1677 label: 'First Name', 1678 placeholder: 'first name' 1679 }, 1680 { 1681 type: 'text', 1682 name: 'last_name', 1683 label: 'Last Name', 1684 placeholder: 'last name' 1685 } 1686 ] 1687 }, 1688 customText: { 1689 prechatCaptureGreetingText: 1690 "Hi there,\n\nBefore you begin, please note that a transcript of this chat may be retained.\n\nTo start off, we'd like to know a little bit about you. \n\n By providing your email and mobile number via this chat, you consent to our Terms of Use and Privacy Policy (found in the footer of this site) and to us sending emails and text messages or placing voice calls to you for advertising and marketing purposes. Giving this consent is not required as a condition of purchasing any goods or services." 1691 }, 1692 }).then( 1693 function () { 1694 console.log("Script Ran for Sunshine"); 1695 }, 1696 function (err) { 1697 console.log("Script Error for Sunshine"); 1698 } 1699 ); 1700 }, 3000) 1701 }, 5000); 1702 1703} 1704 1705 // Find the span elements with the specified classes 1706var spans = document.querySelectorAll('.dmSocialGoogleMyBusiness.dm-social-icons-google-my-business'); 1707 1708 1709// Loop through each found span element 1710spans.forEach(function(span) { 1711 // Replace inner HTML with SVG code of legal-approved GMB 1712 span.innerHTML = '<svg height="2185" width="2500" xmlns="http://www.w3.org/2000/svg" viewBox="0 0.43 1064 928.69"><linearGradient id="a" x1="0%" x2="99.999%" y1="49.999%" y2="49.999%"><stop offset=".03" stop-color="#4079d8"/><stop offset="1" stop-color="#4989f5"/></linearGradient><g fill="none" fill-rule="evenodd"><g fill-rule="nonzero"><rect fill="#4989f5" height="696.14" rx="36.88" width="931" x="53.45" y="232.98"/><path d="M936.81 227.75H100.06c-25.92 0-46.09 200.6-46.09 226.52L512.2 929.12h424.61c26-.071 47.059-21.13 47.13-47.13V274.87c-.077-25.996-21.134-47.049-47.13-47.12z" fill="url(#a)"/><path d="M266.03 349.56h266V.44H305.86z" fill="#3c4ba6"/><path d="M798.03 349.56h-266V.44H758.2zM984.45 66.62l.33 1.19c-.08-.42-.24
1712-.81-.33-1.19z" fill="#7babf7"/><path d="M984.78 67.8l-.33-1.19C976.017 27.993 941.837.455 902.31.43H758.2L798 349.56h266z" fill="#3f51b5"/><path d="M79.61 66.62l-.33 1.19c.08-.42.24-.81.33-1.19z" fill="#7babf7"/><path d="M79.27 67.8l.33-1.19C88.033 27.993 122.213.455 161.74.43h144.12L266 349.56H0z" fill="#7babf7"/></g><path d="M266.48 349.47c0 73.412-59.513 132.925-132.925 132.925S.63 422.882.63 349.47z" fill="#709be0"/><path d="M532.33 349.47c0 73.412-59.513 132.925-132.925 132.925S266.48 422.882 266.48 349.47z" fill="#3c4ba6"/><path d="M798.18 349.47c0 73.412-59.513 132.925-132.925 132.925S532.33 422.882 532.33 349.47z" fill="#709be0"/><path d="M1064 349.47c0 73.412-59.513 132.925-132.925 132.925S798.15 422.882 798.15 349.47z" fill="#3c4ba6"/><path d="M931.08 709.6c-.47-6.33-1.25-12.11-2.36-19.49h-145c0 20.28 0 42.41-.08 62.7h84a73.05 73.05 0 0 1-30.75 46.89s0-.35-.06-.36a88 88 0 0 1-34 13.27 99.85 99.85 0 0 1-36.79-.16 91.9 91.9 0 0 1-34.31-14.87 95.72 95.72 0 0 1-33.73-43.1c-.52-1.35-1-2.71-1.49-4.09v-.15l.13-.1a93 93 0 0 1-.05-59.84A96.27 96.27 0 0 1 718.9 654c23.587-24.399 58.829-33.576 91.32-23.78a83 83 0 0 1 33.23 19.56l28.34-28.34c5-5.05 10.19-9.94 15-15.16a149.78 149.78 0 0 0-49.64-30.74 156.08 156.08 0 0 0-103.83-.91c-1.173.4-2.34.817-3.5 1.25A155.18 155.18 0 0 0 646 651a152.61 152.61 0 0 0-13.42 38.78c-16.052 79.772 32.623 158.294 111.21 179.4 25.69 6.88 53 6.71 78.89.83a139.88 139.88 0 0 0 63.14-32.81c18.64-17.15 32-40 39-64.27a179 179 0 0 0 6.26-63.33z" fill="#fff" fill-rule="nonzero"/></g></svg>'; 1713}); 1714 }; 1715</script>
1715 1716 1717
1718<script type="text/javascript"> 1719 1720 var d_version = "production_6800"; 1721 var build = "2026-09-24T12_50_33"; 1722 window['v' + 'ersion'] = d_version; 1723 1724 function buildEditorParent() { 1725 window.isMultiScreen = true; 1726 window.editorParent = {}; 1727 window.previewParent = {}; 1728 window.assetsCacheQueryParam = "?version=2026-09-24T12_50_33"; 1729 try { 1730 var _p = window.parent; 1731 if (_p && _p.document && _p.$ && _p.$.dmfw) { 1732 window.editorParent = _p; 1733 } else if (_p.isSitePreview) { 1734 window.previewParent = _p; 1735 } 1736 } catch (e) { 1737 1738 } 1739 } 1740 1741 buildEditorParent(); 1742</script>
1742 1743 1744 1745<!-- Load jQuery --> 1746
1747<script type="text/javascript" id='d-js-jquery' 1748 src="https://static.cdn-website.com/libs/jquery/jquery-3.7.0.min.js"></script>
1748 1749 1750<!-- End Load jQuery --> 1751 1752 1753<!-- Injecting site-wide before scripts --> 1754 1755<!-- End Injecting site-wide to the head --> 1756 1757 1758
1759<script> 1760 var _jquery = window.$; 1761 1762 var jqueryAliases = ['$', 'jquery', 'jQuery']; 1763 1764 jqueryAliases.forEach((alias) => { 1765 Object.defineProperty(window, alias, { 1766 get() { 1767 return _jquery; 1768 }, 1769 set() { 1770 console.warn("Trying to over-write the global jquery object!"); 1771 } 1772 }); 1773 }); 1774 window.jQuery.migrateMute = true; 1775</script>
1775 1776 1777 1778 1779
1780<script> 1781 window.cookiesNotificationMarkupPreview = 'null'; 1782</script>
1782 1783 1784<!-- HEAD RT JS Include -->
1785<script id='d-js-params'> 1786 window.INSITE = window.INSITE || {}; 1787 window.INSITE.device = "desktop"; 1788 1789 window.rtCommonProps = {}; 1790 rtCommonProps["rt.ajax.ajaxScriptsFix"] =true; 1791 rtCommonProps["rt.pushnotifs.sslframe.encoded"] = 'aHR0cHM6Ly97c3ViZG9tYWlufS5wdXNoLW5vdGlmcy5jb20='; 1792 rtCommonProps["runtimecollector.url"] = 'https://rtc.multiscreensite.com'; 1793 rtCommonProps["performance.tabletPreview.removeScroll"] = 'false'; 1794 rtCommonProps["inlineEditGrid.snap"] =true; 1795 rtCommonProps["popup.insite.cookie.ttl"] = '0.5'; 1796 rtCommonProps["rt.pushnotifs.force.button"] =true; 1797 rtCommonProps["common.mapbox.token"] = 'pk.eyJ1IjoiZGFubnliMTIzIiwiYSI6ImNqMGljZ256dzAwMDAycXBkdWxwbDgzeXYifQ.Ck5P-0NKPVKAZ6SH98gxxw'; 1798 rtCommonProps["common.mapbox.js.override"] =false; 1799 rtCommonProps["common.here.appId"] = 'iYvDjIQ2quyEu0rg0hLo'; 1800 rtCommonProps["common.here.appCode"] = '1hcIxLJcbybmtBYTD9Z1UA'; 1801 rtCommonProps["isCoverage.test"] =false; 1802 rtCommonProps["ecommerce.ecwid.script"] = 'https://app.multiscreenstore.com/script.js'; 1803 rtCommonProps["common.resources.dist.cdn"] =true; 1804 rtCommonProps["common.build.dist.folder"] = 'production/6800'; 1805 rtCommonProps["common.resources.cdn.host"] = 'https://static.cdn-website.com'; 1806 rtCommonProps["common.resources.folder"] = 'https://static.cdn-website.com/mnlt/production/6800'; 1807 rtCommonProps["common.fonts.api.v2.url"] = 'https://irp.cdn-website.com/fonts/css2?family='; 1808 rtCommonProps["feature.flag.runtime.backgroundSlider.preload.slowly"] =true; 1809 rtCommonProps["feature.flag.runtime.newAnimation.enabled"] =true; 1810 rtCommonProps["feature.flag.runtime.newAnimation.jitAnimation.enabled"] =true; 1811 rtCommonProps["feature.flag.sites.google.analytics.gtag"] =true; 1812 rtCommonProps["feature.flag.runOnReadyNewTask"] =true; 1813 rtCommonProps["isAutomation.test"] =false; 1814 rtCommonProps["booking.cal.api.domain"] = 'api.cal.com'; 1815 1816 1817 rtCommonProps['common.mapsProvider'] = 'mapbox'; 1818 1819 rtCommonProps['common.mapsProvider.version'] = '0.52.0'; 1820 rtCommonProps['common.geocodeProvider'] = 'mapbox'; 1821 rtCommonProps['server.for.resources'] = ''; 1822 rtCommonProps['feature.flag.lazy.widgets'] = true; 1823 rtCommonProps['feature.flag.single.wow'] = false; 1824 rtCommonProps['feature.flag.disallowPopupsInEditor'] = true; 1825 rtCommonProps['feature.flag.mark.anchors'] = true; 1826 rtCommonProps['captcha.public.key'] = '6LffcBsUAAAAAMU-MYacU-6QHY4iDtUEYv_Ppwlz'; 1827 rtCommonProps['captcha.invisible.public.key'] = '6LeiWB8UAAAAAHYnVJM7_-7ap6bXCUNGiv7bBPME'; 1828 rtCommonProps["images.sizes.small"] =160; 1829 rtCommonProps["images.sizes.mobile"] =640; 1830 rtCommonProps["images.sizes.tablet"] =1280; 1831 rtCommonProps["images.sizes.desktop"] =1920; 1832 rtCommonProps["modules.resources.cdn"] =true; 1833 rtCommonProps["import.images.storage.imageCDN"] = 'https://irp.cdn-website.com/'; 1834 rtCommonProps["feature.flag.runtime.inp.threshold"] =150; 1835 rtCommonProps["feature.flag.performance.logs"] =false; 1836 rtCommonProps["site.widget.form.captcha.type"] = 'g_recaptcha'; 1837 rtCommonProps["friendly.captcha.site.key"] = 'FCMGSQG9GVNMFS8K'; 1838 rtCommonProps["cookiebot.mapbox.consent.category"] = 'marketing'; 1839 rtCommonProps["termly.mapbox.consent.category"] = 'performance'; 1840 // feature flags that's used out of runtime module (in legacy files) 1841 rtCommonProps["platform.monolith.personalization.dateTimeCondition.popupMsgAction.moveToclient.enabled"] =true; 1842 1843 window.rtFlags = {}; 1844 rtFlags["unsuspendEcwidStoreOnRuntime.enabled"] =true; 1845 rtFlags["scripts.widgetCount.enabled"] =true; 1846 rtFlags["fnb.animations.tracking.enabled"] =true; 1847 rtFlags["ecom.ecwidNewUrlStructure.enabled"] = false; 1848 rtFlags["ecom.ecwid.accountPage.emptyBaseUrl.enabled"] = true; 1849 rtFlags["ecom.ecwid.accountPage.repeatOrderRedirect.enabled"] = false; 1850 rtFlags["ecom.ecwid.pages.links.disable.listeners"] = true; 1851 rtFlags["ecom.ecwid.storefrontV3.enabled"] = false; 1852 rtFlags["ecom.monolith.legacy.js.api.disabled.for.new.sites"] = false; 1853 rtFlags["geocode.search.localize"] =false; 1854 rtFlags["feature.flag.runtime.newAnimation.asyncInit.setTimeout.enabled"] =false; 1855 rtFlags["twitter.heightLimit.enabled"] = true; 1856 rtFlags["runtime.lottieOverflow"] =false; 1857 rtFlags["runtime.monitoring.sentry.ignoreErrors"] = ""; 1858 rtFlags["streamline.monolith.personalization.supportMultipleConditions.enabled"] =false; 1859 rtFlags["flex.animation.design.panel.layout"] =true; 1860 rtFlags["runtime.cwv.report.cls.enabled"] =false; 1861 rtFlags["runtime.cwv.report.lcp.enabled"] =false; 1862 rtFlags["runtime.lcp.preload.selfheal.enabled"] =true; 1863 rtFlags["runtime.lcp.preload.bootstrap.enabled"] =true; 1864 rtFlags["runtime.lcp.preload.monitor.enabled"] =false; 1865 rtFlags["runtime.customwidget.heightpin.enabled"] =true; 1866 rtFlags["contact.form.useActiveForm"] =true; 1867 rtFlags["contact.form.custom.errors.enabled"] =false; 1868 rtFlags["runtime.ssr.productStore.internal.observer"] =true;
1869 rtFlags["runtime.ssr.productCustomizations"] =true; 1870 rtFlags["runtime.ssr.runtime.filter-sort.newFilterSortWidgetWithOptions.enabled"] =true; 1871 rtFlags["runtime.ssr.ssrSlider.jumpThreshold.enabled"] =true; 1872 rtFlags["termly.map.consent.overlay.enabled"] =false; 1873 rtFlags["editor.widget.form.a11y"] =true; 1874</script>
vendor: 1 bytes, line 1874
1874
1875<script src="https://static.cdn-website.com/mnlt/production/6800/_dm/s/rt/dist/scripts/d-js-one-runtime-unified-desktop.min.js" id="d-js-core"></script>
1875 1876 1877<!-- End of HEAD RT JS Include --> 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889
1889<script src="https://static.cdn-website.com/mnlt/production/6800/_dm/s/rt/dist/scripts/d-js-jquery-migrate.min.js" ></script>
1889 1890 1891 1892 1893 1894
1895<script> 1896 1897 $(window).bind("orientationchange", function (e) { 1898 $.layoutManager.initLayout(); 1899 1900 }); 1901 $(document).resize(function () { 1902 1903 }); 1904</script>
1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923
1924<script type="text/javascript" id="d_track_sp"> 1925 ;(function(p,l,o,w,i,n,g){if(!p[i]){p.GlobalSnowplowNamespace=p.GlobalSnowplowNamespace||[]; 1926 p.GlobalSnowplowNamespace.push(i);p[i]=function(){(p[i].q=p[i].q||[]).push(arguments) 1927 };p[i].q=p[i].q||[];n=l.createElement(o);g=l.getElementsByTagName(o)[0];n.async=1; 1928 n.src=w;g.parentNode.insertBefore(n,g)}}(window,document,"script","//d32hwlnfiv2gyn.cloudfront.net/sp-2.0.0-dm-0.1.min.js","snowplow")); 1929 window.dmsnowplow = window.snowplow; 1930 1931 dmsnowplow('newTracker', 'cf', 'd32hwlnfiv2gyn.cloudfront.net', { // Initialise a tracker 1932 appId: 'ddb3bb04' 1933 }); 1934 1935 // snowplow queries element styles so we wait until CSS calculations are done. 1936 requestAnimationFrame(() => { 1937 dmsnowplow('trackPageView'); 1938 _dm_insite.forEach((rule) => { 1939 // Specifically in popup only the client knows if it is shown or not so we don't always want to track its impression here 1940 // the tracking is in popup.js 1941 if (rule.actionName !== "popup") { 1942 dmsnowplow('trackStructEvent', 'insite', 'impression', rule.ruleType, rule.ruleId); 1943 } 1944 window?.waitForDeferred?.('dmAjax', () => { 1945 $.DM.events.trigger('event-ruleTriggered', {value: rule}); 1946 }); 1947 }); 1948 }); 1949</script>
1949 1950 1951 1952 1953<div style="display:none;" id="P6iryBW0Wu"></div> 1954 1955<!-- photoswipe markup --> 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965<!-- Root element of PhotoSwipe. Must have class pswp. --> 1966<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true"> 1967 1968 <!-- Background of PhotoSwipe. 1969 It's a separate element as animating opacity is faster than rgba(). --> 1970 <div class="pswp__bg"></div> 1971 1972 <!-- Slides wrapper with overflow:hidden. --> 1973 <div class="pswp__scroll-wrap"> 1974 1975 <!-- Container that holds slides. 1976 PhotoSwipe keeps only 3 of them in the DOM to save memory. 1977 Don't modify these 3 pswp__item elements, data is added later on. --> 1978 <div class="pswp__container"> 1979 <div class="pswp__item"></div> 1980 <div class="pswp__item"></div> 1981 <div class="pswp__item"></div> 1982 </div> 1983 1984 <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --> 1985 <div class="pswp__ui pswp__ui--hidden"> 1986 1987 <div class="pswp__top-bar"> 1988 1989 <!-- Controls are self-explanatory. Order can be changed. --> 1990 1991 <div class="pswp__counter"></div> 1992 1993 <button class="pswp__button pswp__button--close" data-auto="pswp-close" title="Close (Esc)"></button> 1994 1995 <button class="pswp__button pswp__button--share" data-auto="pswp-share" title="Share"></button> 1996 1997 <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button> 1998 1999 <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button> 2000 2001 <!-- Preloader demo http://codepen.io/dimsemenov/pen/yyBWoR --> 2002 <!-- element will get class pswp__preloader--active when preloader is running --> 2003 <div class="pswp__preloader"> 2004 <div class="pswp__preloader__icn"> 2005 <div class="pswp__preloader__cut"> 2006 <div class="pswp__preloader__donut"></div> 2007 </div> 2008 </div> 2009 </div> 2010 </div> 2011 2012 <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap"> 2013 <div class="pswp__share-tooltip"></div> 2014 </div> 2015 2016 <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)"> 2017 </button> 2018 2019 <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)"> 2020 </button> 2021 2022 <div class="pswp__caption"> 2023 <div class="pswp__caption__center"></div> 2024 </div> 2025 2026 </div> 2027 2028 </div> 2029 2030</div> 2031<div id="fb-root" 2032 data-locale="en"></div> 2033<!-- Alias: ddb3bb04 --> 2034<div class="dmPopupMask" id="dmPopupMask"></div> 2035<div id="dmPopup" class="dmPopup" data-auto="popup"> 2036 <div class="dmPopupCloseWrapper"> <div class="dmPopupClose dm-common-icons-close oneIcon" data-auto="popup-close" onclick="dmHidePopup(event);"></div> </div> 2037 <div class="dmPopupTitle"> <span></span> Share by:</div> 2038 <div class="data"></div> 2039</div>
2039<script id="d_track_personalization"> 2040 window?.waitForDeferred?.('dmAjax', () => { 2041 // Collects client data and updates cookies used by smart sites 2042 window.expireDays = 365; 2043 window.visitLength = 30 * 60000; 2044 $.setCookie("dm_timezone_offset", (new Date()).getTimezoneOffset(), window.expireDays); 2045 setSmartSiteCookiesInternal("dm_this_page_view","dm_last_page_view","dm_total_visits","dm_last_visit"); 2046 }); 2047</script>
vendor: 1 bytes, line 2047
2047
2048<script type="text/javascript"> 2049 2050 Parameters.NavigationAreaParams.MoreButtonText = 'MORE'; 2051 2052 Parameters.NavigationAreaParams.LessButtonText = 'LESS'; 2053 Parameters.HomeLinkText = 'Home'; 2054 </script>
2054 2055<!-- End Script tags --> 2056<!-- Begin Body End Markup -->
2057<script src="//mpactions.superpages.com/actionthru/js/dxmscript.min.js" type="text/javascript"> 2058</script>
2058 2059<div data-inject="thryv_mc_tag"> 2060
2060<script type="text/javascript"> 2061//<![CDATA[ 2062 2063 var utag_data = {}; 2064 (function(a,b,c,d){ 2065 a='https://tags.tiqcdn.com/utag/marketingcenter/common/prod/utag.js'; 2066 b=document;c='script';d=b.createElement(c);d.src=a;d.type='text/java'+c;d.async=true; 2067 a=b.getElementsByTagName(c)[0];a.parentNode.insertBefore(d,a); 2068 })(); 2069 2070//]]> 2071 </script>
2071 2072</div> 2073<div data-inject="heat_map_script_tag"> 2074</div> 2075<!-- End Body End Markup --> 2076<!-- Site Wide Html Markup --> 2077<!-- Site Wide Html Markup --> 2078<!-- Begin Product Custom HTML Markup -->
2079<script type="text/javascript" charset="utf-8"> 2080document.addEventListener("DOMContentLoaded", () => { 2081 var _extID; 2082 var _device = 'desktop'; 2083 var _plan = window.Parameters.planID; 2084 //set the external ID, if the site is fast migrated or normal site 2085 if (typeof(dmAPI) === 'object') { 2086 _extID = dmAPI.getSiteExternalId() 2087 } else if (typeof(siteDetails) === 'object') { 2088 _extID = siteDetails.ExternalUid; 2089 } else { 2090 _extID = false; 2091 } 2092 //if site is normal site & mobile visitor 2093 if(typeof($.layoutDevice) !== "undefined") { 2094 if($.layoutDevice.type === "mobile") { 2095 _device = 'mobile'; 2096 } 2097 } else if(typeof(camilyo.platform)){ 2098 _device = camilyo.platform.toLowerCase(); 2099 } 2100 //if site has an external ID set, load floating widgets 2101 if (_extID && _plan === "1280") { 2102 window.liveSiteAsyncInit = function() { 2103 LiveSite.init({ 2104 id: _extID, 2105 mode: _device 2106 }); 2107 }; 2108 (function(d, s, id) { 2109 var js, fjs = d.getElementsByTagName(s)[0], 2110 p = "https://", 2111 r = Math.floor(new Date().getTime() / 1000000); 2112 if (d.getElementById(id)) { return; } 2113 js = d.createElement(s); 2114 js.id = id; 2115 js.src = p + "widgets.vcdnita.com/assets/livesite.js?" + r; 2116 fjs.parentNode.insertBefore(js, fjs); 2117 }(document, "script", "livesite-jssdk")); 2118 if(window.flexSite && window.top !== window) { 2119 function isMobile() { 2120 return $.layoutDevice && $.layoutDevice.type === 'mobile'; 2121 } 2122 let isMobileValue = isMobile(); 2123 window.addEventListener('resize', () => { 2124 const currentIsMobileValue = isMobile(); 2125 if(isMobileValue !== currentIsMobileValue){ 2126 window.location.reload(); 2127 } 2128 }); 2129 } 2130 } else { 2131 console.log("ExternalID/vID has not been added to site") 2132 } 2133}) 2134</script>
2134 2135<!-- End Product Custom HTML Markup --> 2136</body> 2137</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.