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.twinpineelectric.com/', 49 50 SystemID: 'US_DIRECT_PRODUCTION', 51 SiteAlias: '4df566b50e774e94a0b334f3a8cb979b', 52 SiteType: atob('RFVEQU9ORQ=='), 53 PublicationDate: 'Oct 16, 2023', 54 ExternalUid: 'oyva2d26fm9l62km', 55 IsSiteMultilingual: false, 56 InitialPostAlias: '', 57 InitialPostPageUuid: '', 58 InitialDynamicItem: '', 59 DynamicPageInfo: { 60 isDynamicPage: false, 61 base64JsonRowData: 'null', 62 }, 63 InitialPageAlias: 'electrical', 64 InitialPageUuid: '812be9f8769b48828375145710d9b35a', 65 InitialPageId: '26625351', 66 InitialEncodedPageAlias: 'ZWxlY3RyaWNhbA==', 67 InitialHeaderUuid: 'c2784a9a1a6f4f80882be9e73d5f0e45', 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: '38360', 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: -1, 115 NavbarLiveHomePage: 'https://www.twinpineelectric.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<!-- Injecting site-wide to the head --> 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179
180<script type="text/javascript" id="d_track_campaign"> 181 (function() { 182 if (!window.location.search) { 183 return; 184 } 185 const cleanParams = window.location.search.substring(1); // Strip ? 186 const queryParams = cleanParams.split('&'); 187 188 const expires = 'expires=' + new Date().getTime() + 24 * 60 * 60 * 1000; 189 const domain = 'domain=' + window.location.hostname; 190 const path = "path=/"; 191 192 queryParams.forEach((param) => { 193 const [key, value = ''] = param.split('='); 194 if (key.startsWith('utm_')) { 195 const cookieName = "_dm_rt_" + key.substring(4); 196 const cookie = cookieName + "=" + value; 197 const joined = [cookie, expires, domain, path].join(";"); 198 document.cookie = joined; 199 } 200 }); 201 }()); 202</script>
vendor: 1 bytes, line 202
202
203<script type="text/javascript" id="d_track_referrer"> 204 (function() { 205 const cookieName = '_dm_entry_referrer'; 206 const referrer = document.referrer; 207 if (!referrer) { 208 return; 209 } 210 let referrerOrigin; 211 try { 212 referrerOrigin = new URL(referrer).origin; 213 } catch (e) { 214 return; 215 } 216 // 'null' is what an opaque origin (sandboxed iframe, file://) serializes to. 217 if (!referrerOrigin || referrerOrigin === 'null' || referrerOrigin === window.location.origin) { 218 return; 219 } 220 try { 221 const existing = document.cookie 222 .split('; ') 223 .find((candidate) => candidate.indexOf(cookieName + '=') === 0); 224 if (existing && decodeURIComponent(existing.slice(cookieName.length + 1))) { 225 return; 226 } 227 // No expiry: session-scoped, matching the _dm_rt_ cookies above that a submission 228 // reads alongside this one (session-scoped in practice â see FBN-5389). 229 const secure = window.location.protocol === 'https:' ? ';Secure' : ''; 230 document.cookie = cookieName + '=' + encodeURIComponent(referrerOrigin) 231 + ';path=/;SameSite=Lax' + secure; 232 } catch (e) { 233 return; 234 } 235 }()); 236</script>
236 237
238<script type="text/javascript" > 239 var _dm_gaq = {}; 240 var _gaq = _gaq || []; 241 var _dm_insite = []; 242</script>
242 243 244 245 246 247 248 249<!-- End Injecting site-wide to the head --> 250 251<!-- Inject secured cdn script --> 252 253 254<!-- ========= Meta Tags ========= -->
255<script> 256 try { 257 if ( 258 navigator.serviceWorker && 259 navigator.serviceWorker.getRegistrations && 260 location.protocol === 'https:' 261 ) { 262 // remove all service workers 263 navigator.serviceWorker 264 .getRegistrations() 265 .then(function (registrations) { 266 if (registrations && registrations.length) { 267 console.log('unregistering service workers'); 268 registrations.forEach(function (registration) { 269 registration.unregister(); 270 }); 271 } 272 }); 273 // clear caches 274 if (caches) { 275 caches.keys().then(function (keyList) { 276 if (keyList && keyList.length) { 277 console.log('deleting caches'); 278 keyList.forEach(function (key) { 279 if (key && key.indexOf('druntime') === 0) { 280 caches.delete(key); 281 } 282 }); 283 } 284 }); 285 } 286 } 287} catch (err) { 288 // not a secured location 289} 290</script>
290 291 292 293 294<link rel="canonical" href="https://www.twinpineelectric.com/electrical"> 295 296<meta id="view" name="viewport" content="initial-scale=1, minimum-scale=1, maximum-scale=5, viewport-fit=cover"> 297 298<meta name="apple-mobile-web-app-capable" content="yes"> 299 300<!--Add favorites icons--> 301 302<link rel="icon" type="image/x-icon" href="https://irp.cdn-website.com/4df566b50e774e94a0b334f3a8cb979b/site_favicon_16_1619583257217.ico"/> 303 304<!-- End favorite icons --> 305<link rel="preconnect" href="https://irp.cdn-website.com"/> 306<link rel="preconnect" href="https://irp.cdn-website.com" crossorigin/> 307<link rel="preconnect" href="https://static.cdn-website.com"/> 308 309 310 311<!-- render the required CSS and JS in the head section -->
312<script id='d-js-dmapi'> 313 window.SystemID = 'US_DIRECT_PRODUCTION'; 314 315 if (!window.dmAPI) { 316 window.dmAPI = { 317 registerExternalRuntimeComponent: function () { 318 }, 319 getCurrentDeviceType: function () { 320 return window._currentDevice; 321 }, 322 runOnReady: (ns, fn) => { 323 const safeFn = dmAPI.toSafeFn(fn); 324 ns = ns || 'global_' + Math.random().toString(36).slice(2, 11); 325 const eventName = 'afterAjax.' + ns; 326 327 if (document.readyState === 'complete') { 328 $.DM.events.off(eventName).on(eventName, safeFn); 329 setTimeout(function () { 330 safeFn({ 331 isAjax: false, 332 }); 333 }, 0); 334 } else { 335 window?.waitForDeferred?.('dmAjax', () => { 336 $.DM.events.off(eventName).on(eventName, safeFn); 337 safeFn({ 338 isAjax: false, 339 }); 340 }); 341 } 342 }, 343 toSafeFn: (fn) => { 344 if (fn?.safe) { 345 return fn; 346 } 347 const safeFn = function (...args) { 348 try { 349 return fn?.apply(null, args); 350 } catch (e) { 351 console.log('function failed ' + e.message); 352 } 353 }; 354 safeFn.safe = true; 355 return safeFn; 356 } 357 }; 358 } 359 360 if (!window.requestIdleCallback) { 361 window.requestIdleCallback = function (fn) { 362 setTimeout(fn, 0); 363 } 364 } 365</script>
365 366 367<!-- loadCSS function header.jsp--> 368 369 370 371 372 373
374<script id="d-js-load-css"> 375/** 376 * There are a few <link> tags with CSS resource in them that are preloaded in the page 377 * in each of those there is a "onload" handler which invokes the loadCSS callback 378 * defined here. 379 * We are monitoring 3 main CSS files - the runtime, the global and the page. 380 * When each load we check to see if we can append them all in a batch. If threre 381 * is no page css (which may happen on inner pages) then we do not wait for it 382 */ 383(function () { 384 let cssLinks = {}; 385 function loadCssLink(link) { 386 link.onload = null; 387 link.rel = "stylesheet"; 388 link.type = "text/css"; 389 } 390 391 function checkCss() { 392 const pageCssLink = document.querySelector("[id*='CssLink']"); 393 const widgetCssLink = document.querySelector("[id*='widgetCSS']"); 394 395 if (cssLinks && cssLinks.runtime && cssLinks.global && (!pageCssLink || cssLinks.page) && (!widgetCssLink || cssLinks.widget)) { 396 const storedRuntimeCssLink = cssLinks.runtime; 397 const storedPageCssLink = cssLinks.page; 398 const storedGlobalCssLink = cssLinks.global; 399 const storedWidgetCssLink = cssLinks.widget; 400 401 storedGlobalCssLink.disabled = true; 402 loadCssLink(storedGlobalCssLink); 403 404 if (storedPageCssLink) { 405 storedPageCssLink.disabled = true; 406 loadCssLink(storedPageCssLink); 407 } 408 409 if(storedWidgetCssLink) { 410 storedWidgetCssLink.disabled = true; 411 loadCssLink(storedWidgetCssLink); 412 } 413 414 storedRuntimeCssLink.disabled = true; 415 loadCssLink(storedRuntimeCssLink); 416 417 requestAnimationFrame(() => { 418 setTimeout(() => { 419 storedRuntimeCssLink.disabled = false; 420 storedGlobalCssLink.disabled = false; 421 if (storedPageCssLink) { 422 storedPageCssLink.disabled = false; 423 } 424 if (storedWidgetCssLink) { 425 storedWidgetCssLink.disabled = false; 426 } 427 // (SUP-4179) Clear the accumulated cssLinks only when we're 428 // sure that the document has finished loading and the document 429 // has been parsed. 430 if(document.readyState === 'interactive') { 431 cssLinks = null; 432 } 433 }, 0); 434 }); 435 } 436 } 437 438 439 function loadCSS(link) { 440 try { 441 var urlParams = new URLSearchParams(window.location.search); 442 var noCSS = !!urlParams.get("nocss"); 443 var cssTimeout = urlParams.get("cssTimeout") || 0; 444 445 if (noCSS) { 446 return; 447 } 448 if (link.href && link.href.includes("d-css-runtime")) { 449 cssLinks.runtime = link; 450 checkCss(); 451 } else if (link.id === "siteGlobalCss") { 452 cssLinks.global = link; 453 checkCss(); 454 } 455 456 else if (link.id && link.id.includes("CssLink")) { 457 cssLinks.page = link; 458 checkCss(); 459 } else if (link.id && link.id.includes("widgetCSS")) { 460 cssLinks.widget = link; 461 checkCss(); 462 } 463 464 else { 465 requestIdleCallback(function () { 466 window.setTimeout(function () { 467 loadCssLink(link); 468 }, parseInt(cssTimeout, 10)); 469 }); 470 } 471 } catch (e) { 472 throw e 473 } 474 } 475 window.loadCSS = window.loadCSS || loadCSS; 476})(); 477</script>
477 478 479 480
481<script data-role="deferred-init" type="text/javascript"> 482 /* usage: window.getDeferred(<deferred name>).resolve() or window.getDeferred(<deferred name>).promise.then(...)*/ 483 function Def() { 484 this.promise = new Promise((function (a, b) { 485 this.resolve = a, this.reject = b 486 }).bind(this)) 487 } 488 489 const defs = {}; 490 window.getDeferred = function (a) { 491 return null == defs[a] && (defs[a] = new Def), defs[a] 492 } 493 window.waitForDeferred = function (b, a, c) { 494 let d = window?.getDeferred?.(b); 495 d 496 ? d.promise.then(a) 497 : c && ["complete", "interactive"].includes(document.readyState) 498 ? setTimeout(a, 1) 499 : c 500 ? document.addEventListener("DOMContentLoaded", a) 501 : console.error(`Deferred does not exist`); 502 }; 503</script>
503 504<style id="forceCssIncludes"> 505 /* This file is auto-generated from a `scss` file with the same name */ 506 507.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}} 508 509 510</style> 511<style id="cssVariables" type="text/css"> 512 513</style> 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539<!-- Google Fonts Include --> 540 541 542 543 544 545 546 547 548 549 550 551 552 553<!-- loadCSS function fonts.jsp--> 554 555 556 557<link type="text/css" rel="stylesheet" href="https://irp.cdn-website.com/fonts/css2?family=Catamaran:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Merienda:ital,wght@0,300..900;1,300..900&family=Karla:ital,wght@0,200..800;1,200..800&subset=latin-ext&display=swap" /> 558 559 560 561 562 563<!-- RT CSS Include d-css-runtime-desktop-one-package-structured-global--> 564<link rel="stylesheet" type="text/css" href="https://static.cdn-website.com/mnlt/production/6787/_dm/s/rt/dist/css/d-css-runtime-desktop-one-package-structured-global.min.css" /> 565 566<!-- End of RT CSS Include --> 567 568<link type="text/css" rel="stylesheet" href="https://irp.cdn-website.com/WIDGET_CSS/7d9f0f0e3423bd3b888f92f391ba9b64.css" id="widgetCSS" /> 569 570<!-- Support `img` size attributes --> 571<style>img[width][height] { 572 height: auto; 573}</style> 574 575<!-- Support showing sticky element on page only --> 576<style> 577 body[data-page-alias="electrical"] #dm [data-show-on-page-only="electrical"] { 578 display: block !important; 579 } 580</style> 581 582<!-- This is populated in Ajax navigation --> 583<style id="pageAdditionalWidgetsCss" type="text/css"> 584</style> 585 586 587 588 589<!-- Site CSS --> 590<link type="text/css" rel="stylesheet" href="https://irp.cdn-website.com/4df566b50e774e94a0b334f3a8cb979b/files/4df566b50e774e94a0b334f3a8cb979b_1.min.css?v=69" id="siteGlobalCss" /> 591 592 593 594<style id="customWidgetStyle" type="text/css"> 595 596</style> 597<style id="innerPagesStyle" type="text/css"> 598 599</style> 600 601 602<style 603 id="additionalGlobalCss" type="text/css" 604> 605</style> 606 607<style id="pagestyle" type="text/css"> 608 *#dm *.dmBody a.span.textonly { 609 color: rgb(255, 255, 255) !important; 610 } 611*#dm *.dmBody a.span.textonly { 612 color: rgb(255, 255, 255) !important; 613 } 614*#dm *.dmBody div.dmform-error { 615 font-style: normal !important; 616 } 617*#dm *.dmBody div.dmforminput textarea { 618 font-style: italic !important; 619 } 620*#dm *.dmBody div.dmforminput *.fileUploadLink { 621 font-style: italic !important; 622 } 623*#dm *.dmBody div.checkboxwrapper span { 624 font-style: italic !important; 625 } 626*#dm *.dmBody div.radiowrapper span { 627 font-style: italic !important; 628 } 629*#dm *.dmBody div.u_1157281314 hr { 630 border-top-width: 3px !important; 631 border-top-style: solid !important; 632 color: rgba(255, 255, 255, 1) !important; 633 } 634*#dm *.dmBody div.u_1509728744 hr { 635 border-top-width: 3px !important; 636 border-top-style: solid !important; 637 color: rgba(255, 255, 255, 1) !important; 638 } 639*#dm *.dmBody div.u_1146704239 { 640 background-color: rgba(255, 255, 255, 1) !important; 641 } 642*#dm *.dmBody div.u_1483521301 { 643 color: rgba(255, 255, 255, 1) !important; 644 } 645*#dm *.dmBody div.u_1283751998 { 646 background-color: rgba(232, 187, 138, 1) !important; 647 } 648*#dm *.dmBody div.u_1774046426 { 649 background-repeat: no-repeat !important; 650 background-image: url('https://irp.cdn-website.com//4df566b50e774e94a0b334f3a8cb979b/dms3rep/multi/opt/GettyImages-811765334-2880w.jpg') !important; 651 background-size: cover !important; 652 box-shadow: rgba(0, 0, 0, 0.25) 0px 3px 11px 0px !important; 653 -moz-box-shadow: rgba(0, 0, 0, 0.25) 0px 3px 11px 0px !important; 654 -webkit-box-shadow: rgba(0, 0, 0, 0.25) 0px 3px 11px 0px !important; 655 } 656*#dm *.dmBody div.u_1383733699 { 657 background-repeat: no-repeat !important; 658 background-image: url('https://irp.cdn-website.com//4df566b50e774e94a0b334f3a8cb979b/dms3rep/multi/opt/GettyImages-861291290-2880w.jpg') !important; 659 } 660*#dm *.dmBody *.u_1383733699:before { 661 opacity: 0.5 !important; 662 background-color: rgb(255, 255, 255) !important; 663 } 664*#dm *.dmBody *.u_1383733699.before { 665 opacity: 0.5 !important; 666 background-color: rgb(255, 255, 255) !important; 667 } 668*#dm *.dmBody *.u_1383733699> *.bgExtraLayerOverlay { 669 opacity: 0.5 !important; 670 background-color: rgb(255, 255, 255) !important; 671 } 672*#dm *.dmBody div.u_1959483822 { 673 background-color: rgba(0, 0, 0, 0.5) !important; 674 } 675*#dm *.dmBody div.u_1383733699:before { 676 background-color: rgba(0, 0, 0, 1) !important; 677 opacity: 0.6 !important; 678 } 679*#dm *.dmBody div.u_1383733699.before { 680 background-color: rgba(0, 0, 0, 1) !important; 681 opacity: 0.6 !important; 682 } 683*#dm *.dmBody div.u_1383733699> *.bgExtraLayerOverlay { 684 background-color: rgba(0, 0, 0, 1) !important; 685 opacity: 0.6 !important; 686 } 687*#dm *.dmBody div.u_1651604972 { 688 background-repeat: no-repeat !important; 689 background-image: none !important; 690 background-size: cover !important; 691 background-color: rgba(1, 130, 101, 1) !important; 692 } 693*#dm *.dmBody div.u_1098762708 { 694 background-repeat: no-repeat !important; 695 background-image: none !important; 696 background-size: cover !important; 697 background-color: rgba(1, 130, 101, 1) !important; 698 } 699 700</style> 701 702<style id="pagestyleDevice" type="text/css"> 703 *#dm *.dmBody div.u_1509728744 { 704 width:150px !important; 705 display:block !important; 706 float:none !important; 707 top:0px !important; 708 left:0 !important; 709 position:relative !important; 710 height:auto !important; 711 padding-top:0px !important; 712 padding-left:0px !important; 713 padding-bottom:0px !important; 714 max-width:100% !important; 715 padding-right:0px !important; 716 min-width:0 !important; 717 text-align:center !important; 718 margin-right:auto !important; 719 margin-left:auto !important; 720 margin-bottom:0px !important; 721 margin-top:15px !important; 722} 723 724*#dm *.d-page-1716942098 DIV.dmInner { 725 background-repeat:no-repeat !important; 726 background-image:none !important; 727 background-size:cover !important; 728 background-attachment:fixed !important; 729 background-position:50% 50% !important; 730} 731 732*#dm *.d-page-1716942098 DIV#dmSlideRightNavRight { 733 background-repeat:no-repeat !important; 734 background-image:none !important; 735 background-size:cover !important; 736 background-attachment:fixed !important; 737 background-position:50% 50% !important; 738} 739 740*#dm *.dmBody div.u_1959483822 { 741 padding-top:20px !important; 742 padding-bottom:20px !important; 743 padding-right:20px !important; 744 padding-left:20px !important; 745 margin-top:20px !important; 746} 747 748*#dm *.dmBody div.u_1146704239 { 749 padding-top:50px !important; 750 padding-bottom:50px !important; 751} 752 753*#dm *.dmBody div.u_1283751998 { 754 padding-top:50px !important; 755 padding-bottom:50px !important; 756} 757 758*#dm *.dmBody h2.u_1578735290 { 759 display:block !important; 760 float:none !important; 761 top:0px !important; 762 left:0 !important; 763 width:100% !important; 764 position:relative !important; 765 height:auto !important; 766 padding-top:2px !important; 767 padding-left:0px !important; 768 padding-bottom:2px !important; 769 max-width:100% !important; 770 padding-right:0px !important; 771 min-width:0 !important; 772 text-align:center !important; 773} 774 775*#dm *.dmBody div.u_1483521301 { 776 display:block !important; 777 float:none !important; 778 top:0px !important; 779 left:0px !important; 780 width:100% !important; 781 position:relative !important; 782 height:auto !important; 783 padding-top:2px !important; 784 padding-left:0px !important; 785 padding-bottom:2px !important; 786 margin-right:auto !important; 787 margin-left:0 !important; 788 max-width:100% !important; 789 margin-top:8px !important; 790 margin-bottom:8px !important; 791 padding-right:0px !important; 792 min-width:0 !important; 793 text-align:left !important; 794} 795 796*#dm *.dmBody h1.u_1804309164 { 797 margin-left:auto !important; 798 padding-top:0px !important; 799 padding-left:0px !important; 800 padding-bottom:0px !important; 801 margin-top:0px !important; 802 margin-bottom:0px !important; 803 padding-right:0px !important; 804 margin-right:auto !important; 805 float:none !important; 806 top:0px !important; 807 left:0 !important; 808 width:902px !important; 809 position:relative !important; 810 height:auto !important; 811 max-width:calc(100% - 29px) !important; 812 min-width:25px !important; 813 text-align:center !important; 814} 815 816*#dm *.dmBody div.u_1357024276 { 817 padding-top:0px !important; 818 padding-bottom:0px !important; 819 padding-right:0px !important; 820 padding-left:0px !important; 821} 822 823*#dm *.dmBody h2.u_1117823343 { 824 display:block !important; 825 float:none !important; 826 top:0px !important; 827 left:0 !important; 828 width:100% !important; 829 position:relative !important; 830 height:auto !important; 831 padding-top:2px !important; 832 padding-left:0px !important; 833 padding-bottom:2px !important; 834 max-width:100% !important; 835 padding-right:0px !important; 836 min-width:0 !important; 837 text-align:center !important; 838} 839 840*#dm *.dmBody div.u_1774046426 { background-position:50% 50% !important; } 841 842*#dm *.dmBody div.u_1132721902 { 843 float:none !important; 844 top:0px !important; 845 left:0px !important; 846 width:100% !important; 847 position:relative !important; 848 height:auto !important; 849 padding-top:2px !important; 850 padding-left:0px !important; 851 padding-bottom:2px !important; 852 margin-right:0px !important; 853 margin-left:0px !important; 854 max-width:calc(100% - 0px) !important; 855 margin-top:8px !important; 856 margin-bottom:8px !important; 857 padding-right:0px !important; 858 min-width:25px !important; 859 text-align:left !important; 860} 861 862*#dm *.dmBody div.u_1460684644 { 863 padding-top:0px !important; 864 padding-left:18px !important; 865} 866 867*#dm *.dmBody div.u_1157281314 { 868 width:150px !important; 869 display:block !important; 870 float:none !important; 871 top:0px !important; 872 left:0 !important; 873 position:relative !important; 874 height:auto !important; 875 padding-top:0px !important; 876 padding-left:0px !important; 877 padding-bottom:0px !important; 878 max-width:calc(100% - 405px) !important; 879 padding-right:0px !important; 880 min-width:25px !important; 881 text-align:center !important; 882 margin-right:auto !important; 883 margin-left:auto !important; 884 margin-bottom:0px !important; 885 margin-top:15px !important; 886} 887 888*#dm *.dmBody div.u_1383733699 { 889 background-attachment:fixed !important; 890 background-size:cover !important; 891 margin-left:0px !important; 892 padding-top:80px !important; 893 padding-left:30px !important; 894 padding-bottom:80px !important; 895 margin-top:0px !important; 896 margin-bottom:0px !important; 897 padding-right:30px !important; 898 margin-right:0px !important; 899 background-position:50% 100% !important; 900} 901 902*#dm *.dmBody h2.u_1413989671 { 903 padding-top:0px !important; 904 margin-left:0px !important; 905 padding-left:0px !important; 906 padding-bottom:0px !important; 907 margin-top:0px !important; 908 margin-bottom:0px !important; 909 padding-right:0px !important; 910 margin-right:0px !important; 911} 912 913*#dm *.dmBody div.u_1244160394 { 914 padding-top:0px !important; 915 padding-bottom:0px !important; 916 padding-right:0px !important; 917 padding-left:0px !important; 918 margin-bottom:10px !important; 919} 920 921*#dm *.dmBody div.u_1651604972 { 922 background-repeat:no-repeat !important; 923 background-size:cover !important; 924 padding-left:40px !important; 925 padding-right:40px !important; 926 padding-top:30px !important; 927 padding-bottom:30px !important; 928 background-position:50% 50% !important; 929 margin-top:50px !important; 930} 931 932*#dm *.dmBody h1.u_1195746904 { 933 margin-left:auto !important; 934 padding-top:0px !important; 935 padding-left:0px !important; 936 padding-bottom:0px !important; 937 margin-top:0px !important; 938 margin-bottom:0px !important; 939 padding-right:0px !important; 940 margin-right:auto !important; 941 float:none !important; 942 top:0px !important; 943 left:0 !important; 944 width:902px !important; 945 position:relative !important; 946 height:auto !important; 947 max-width:calc(100% - 29px) !important; 948 min-width:25px !important; 949 text-align:center !important; 950} 951 952*#dm *.dmBody div.u_1098762708 { 953 background-repeat:no-repeat !important; 954 background-size:cover !important; 955 padding-left:40px !important; 956 padding-right:40px !important; 957 padding-top:30px !important; 958 padding-bottom:30px !important; 959 background-position:50% 50% !important; 960} 961 962*#dm *.dmBody div.u_1117972630 { 963 float:none !important; 964 top:0px !important; 965 left:0px !important; 966 width:calc(100% - 84px) !important; 967 position:relative !important; 968 height:auto !important; 969 padding-top:0px !important; 970 padding-left:0px !important; 971 padding-bottom:0px !important; 972 margin-right:0px !important; 973 margin-left:84px !important; 974 max-width:255px !important; 975 margin-top:0px !important; 976 margin-bottom:0px !important; 977 padding-right:0px !important; 978 min-width:25px !important; 979 text-align:start !important; 980} 981 982</style> 983 984<!-- Flex Sections CSS --> 985 986 987 988 989 990 991 992<style id="globalFontSizeStyle" type="text/css"> 993 .font-size-18, .size-18, .size-18 > font { font-size: 18px !important; }.font-size-15, .size-15, .size-15 > font { font-size: 15px !important; } 994</style> 995<style id="pageFontSizeStyle" type="text/css"> 996</style> 997 998 999 1000 1001<style id="hideAnimFix"> 1002 .dmDesktopBody:not(.editGrid) [data-anim-desktop]:not([data-anim-desktop='none']), .dmDesktopBody:not(.editGrid) [data-anim-extended] { 1003 visibility: hidden; 1004 } 1005 1006 .dmDesktopBody:not(.editGrid) .dmNewParagraph[data-anim-desktop]:not([data-anim-desktop='none']), .dmDesktopBody:not(.editGrid) .dmNewParagraph[data-anim-extended] { 1007 visibility: hidden !important; 1008 } 1009 1010 #dmRoot:not(.editGrid) .flex-element [data-anim-extended] { 1011 visibility: hidden; 1012 } 1013 1014</style> 1015 1016 1017 1018 1019<style id="fontFallbacks"> 1020 @font-face { 1021 font-family: "Catamaran Fallback"; 1022 src: local('Arial'); 1023 ascent-override: 118.4261%; 1024 descent-override: 58.1364%; 1025 size-adjust: 92.885%; 1026 line-gap-override: 0%; 1027 }@font-face { 1028 font-family: "Roboto Fallback"; 1029 src: local('Arial'); 1030 ascent-override: 92.6709%; 1031 descent-override: 24.3871%; 1032 size-adjust: 100.1106%; 1033 line-gap-override: 0%; 1034 }@font-face { 1035 font-family: "Playfair Display Fallback"; 1036 src: local('Arial'); 1037 ascent-override: 106.3701%; 1038 descent-override: 24.6755%; 1039 size-adjust: 101.7204%; 1040 line-gap-override: 0%; 1041 }@font-face { 1042 font-family: "Montserrat Fallback"; 1043 src: local('Arial'); 1044 ascent-override: 84.9466%; 1045 descent-override: 22.0264%; 1046 size-adjust: 113.954%; 1047 line-gap-override: 0%; 1048 }@font-face { 1049 font-family: "Poppins Fallback"; 1050 src: local('Arial'); 1051 ascent-override: 92.326%; 1052 descent-override: 30.7753%; 1053 line-gap-override: 8.793%; 1054 size-adjust: 113.7274%; 1055}@font-face { 1056 font-family: "Merienda Fallback"; 1057 src: local('Arial'); 1058 ascent-override: 97.0918%; 1059 descent-override: 30.1319%; 1060 size-adjust: 113.5009%; 1061 line-gap-override: 0%; 1062 }@font-face { 1063 font-family: "Karla Fallback"; 1064 src: local('Arial'); 1065 ascent-override: 88.668%; 1066 descent-override: 24.3668%; 1067 size-adjust: 103.4195%; 1068 line-gap-override: 0%; 1069 } 1070</style> 1071 1072 1073<!-- End render the required css and JS in the head section --> 1074 1075 1076 1077 1078 1079 1080<meta property="og:type" content="website"> 1081<meta property="og:url" content="https://www.twinpineelectric.com/electrical"> 1082 1083 <title> 1084 Electrician | Salunga-Landisville, PA | Twin Pine Electric & Plumbing 1085 </title> 1086 <meta name="keywords" content="Re-wire, Lighting Repairs, Wiring installation, Electrician"/> 1087 <meta name="description" content="Dependable & Affordable Electrician. Located in and serving Salunga-Landisville, Pennsylvania. Call us today at 717-898-4750."/> 1088 <style> 1089 1090 1091 1092 1093 1094 1095 1096 1097
1098 1099*#dm *.p_hfcontainer div.u_1909688503, 1100*#dm *.p_hfcontainer div.u_1714227195 { 1101display : none !important; 1102} 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 </style> 1113 1114 <style> 1115 1116 1117 1118 1119 1120body.dmDesktopBody div#livesite_action_buttons{ 1121top: 200px !important; 1122} 1123body.dmTabletBody div#livesite_action_buttons{ 1124top: 180px !important; 1125} 1126 1127 1128 1129 1130 </style> 1131 1132 <meta name="twitter:card" content="summary"/> 1133 <meta name="twitter:title" content="Electrician | Salunga-Landisville, PA | Twin Pine Electric & Plumbing"/> 1134 <meta name="twitter:description" content="Dependable & Affordable Electrician. Located in and serving Salunga-Landisville, Pennsylvania. Call us today at 717-898-4750."/> 1135 <meta property="og:description" content="Dependable & Affordable Electrician. Located in and serving Salunga-Landisville, Pennsylvania. Call us today at 717-898-4750."/> 1136 <meta property="og:title" content="Electrician | Salunga-Landisville, PA | Twin Pine Electric & Plumbing"/> 1137 1138 1139 1140 1141<!-- SYS- VVNfRElSRUNUX1BST0RVQ1RJT04= --> 1142</head> 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164<body id="dmRoot" data-page-alias="electrical" class="dmRoot dmDesktopBody fix-mobile-scrolling addCanvasBorder dmResellerSite dmLargeBody " 1165 style="padding:0;margin:0;" 1166 1167 > 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183<!-- ========= Site Content ========= --> 1184<div id="dm" class='dmwr'> 1185 1186 <div class="dm_wrapper standard-var5 widgetStyle-3 standard"> 1187 <div dmwrapped="true" id="1901957768" class="dm-home-page" themewaschanged="true"> <div dmtemplateid="StandardLayoutMultiD" class="standardHeaderLayout dm-bfs dm-layout-sec hasAnimations 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"> <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="b58ba5b5703b4cd7b5f5f7951565dc87===horizontal-layout-5" mini-header-show-only-navigation-row="true"> <div dm:templateorder="85" class="dmHeaderResp dmHeaderStack noSwitch" id="1709005236"> <div class="dmRespRow u_1273547666 fullBleedChanged fullBleedMode" id="1273547666"> <div class="dmRespColsWrapper" id="1567336907"> <div class="dmRespCol large-12 medium-12 small-12" id="1102668381"> <div class="dmRespRow u_1195892306 fullBleedChanged fullBleedMode" id="1195892306"> <div class="dmRespColsWrapper" id="1540970311"> <div class="dmRespCol small-12 medium-4 large-4" id="1001888480"> <div class="u_1425195815 imageWidget align-center" data-element-type="image" data-widget-type="image" id="1425195815"> <a href="/" id="1818596407"><img src="https://irp.cdn-website.com/4df566b50e774e94a0b334f3a8cb979b/dms3rep/multi/opt/TwinPine--logo_RGB-1920w.jpg" id="1397962030" class="" data-dm-image-path="https://irp.cdn-website.com/4df566b50e774e94a0b334f3a8cb979b/dms3rep/multi/TwinPine--logo_RGB.jpg" title="Twin Pine Electric & Plumbing Inc" width="962" height="306" onerror="handleImageLoadError(this)"/></a> 1188</div> 1189</div> 1190 <div class="dmRespCol small-12 medium-4 large-4" id="1156931574"> <div class="u_1343381882 imageWidget align-center" data-element-type="image" data-widget-type="image" id="1343381882"> <a href="https://www.google.com/search?q=twin+pine+electric+and+plumbing&rlz=1C1GCEA_enUS1053US1053&oq=twin&gs_lcrp=EgZjaHJvbWUqCAgAEEUYJxg7MggIABBFGCcYOzIICAEQRRgnGDsyBggCEEUYOzIGCAMQRRg5MgYIBBBFGEAyBggFEEUYPDIGCAYQRRg9MgYIBxBFGDzSAQgxNjY1ajBqN6gCALACAA&sourceid=chrome&ie=UTF-8#ip=1&lrd=0x89c620eeab32f8f9:0x8629b15e1fa61bea,3,,,," id="1803370054" class="" target="_blank" file="false"><img src="https://irp.cdn-website.com/4df566b50e774e94a0b334f3a8cb979b/dms3rep/multi/opt/google-review-btn-1-338w-1920w.webp" alt="" id="1727815130" class="" data-dm-image-path="https://irp.cdn-website.com/4df566b50e774e94a0b334f3a8cb979b/dms3rep/multi/google-review-btn-1-338w.webp" width="340" height="132" onerror="handleImageLoadError(this)"/></a> 1191</div> 1192 <div class="u_1596020208 align-center text-align-center dmSocialHub gapSpacing" id="1596020208" dmle_extension="social_hub" data-element-type="social_hub" wr="true" networks="" icon="true" surround="true" adwords=""> <div class="socialHubWrapper"> <div class="socialHubInnerDiv "> <a href="https://www.facebook.com/cliffandscott99" target="_blank" dm_dont_rewrite_url="true" aria-label="facebook" onclick="dm_gaq_push_event &&
1192 dm_gaq_push_event('socialLink', 'click', 'Facebook')"> <span class="dmSocialFacebook dm-social-icons-facebook oneIcon socialHubIcon style6" aria-hidden="true" data-hover-effect=""></span> 1193</a> 1194</div> 1195</div> 1196</div> 1197</div> 1198 <div class="dmRespCol small-12 medium-4 large-4" id="1798289033"> <a data-display-type="block" class="u_1752286687 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient" file="false" href="tel:717-898-4750" data-element-type="dButtonLinkId" id="1752286687"> <span class="iconBg" aria-hidden="true" id="1287503778"> <span class="icon hasFontIcon icon-star" id="1543420235"></span> 1199</span> 1200 <span class="text" id="1838443104">717-898-4750</span> 1201</a> 1202 <a data-display-type="block" class="u_1437792879 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient" file="false" href="https://go.thryv.com/site/oyva2d26fm9l62km/make-payment?action=qpsb61nss9mx63s0" data-element-type="dButtonLinkId" id="1437792879" target="_blank"> <span class="iconBg" aria-hidden="true" id="1685509923"> <span class="icon hasFontIcon icon-star" id="1261471944"></span> 1203</span> 1204 <span class="text" id="1037598165">Make A Payment</span> 1205</a> 1206</div> 1207</div> 1208</div> 1209 <div class="u_1499784207 dmRespRow fullBleedChanged fullBleedMode" id="1499784207"> <div class="dmRespColsWrapper" id="1343463925"> <div class="dmRespCol small-12 medium-12 large-12" id="1654917136"> <nav class="u_1861820796 effect-background main-navigation unifiednav dmLinksMenu" role="navigation" layout-main="horizontal_nav_layout_1" layout-sub="submenu_horizontal_1" data-show-vertical-sub-items="HOVER" id="1861820796" 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=" 1210 HOME 1211 " data-auto="page-text-style">HOME<span class="icon icon-angle-down"></span> 1212</span> 1213</a> 1214</li> 1215 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/about-us" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101511079 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1216 ABOUT US 1217 " data-auto="page-text-style">ABOUT US<span class="icon icon-angle-down"></span> 1218</span> 1219</a> 1220</li> 1221 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/plumbing" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101358704 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1222 PLUMBING 1223 " data-auto="page-text-style">PLUMBING<span class="icon icon-angle-down"></span> 1224</span> 1225</a> 1226</li> 1227 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/electrical" class="unifiednav__item unav-item unav-top-item dmNavItemSelected dmUDNavigationItem_010101448923 " target="" data-target-page-alias="" aria-current="page" data-auto="selected-page"> <span class="nav-item-text " data-link-text=" 1228 ELECTRICAL 1229 " data-auto="page-text-style">ELECTRICAL<span class="icon icon-angle-down"></span> 1230</span> 1231</a> 1232</li> 1233 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/landscape-lighting" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101390425 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1234 LANDSCAPE LIGHTING 1235 " data-auto="page-text-style">LANDSCAPE LIGHTING<span class="icon icon-angle-down"></span> 1236</span> 1237</a> 1238</li> 1239 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/contact-us" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101419726 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1240 CONTACT US 1241 " data-auto="page-text-style">CONTACT US<span class="icon icon-angle-down"></span> 1242</span> 1243</a> 1244</li> 1245</ul> 1246</nav> 1247</div> 1248</div> 1249</div> 1250</div> 1251</div> 1252</div> 1253</div> 1254</div> 1255</div> 1256 <div class="dmRespRow dmRespRowStable dmRespRowNoPadding dmPageTitleRow "> <div class="dmRespColsWrapper">
1256 <div class="large-12 dmRespCol"> <div id="innerBar" class="innerBar lineInnerBar dmDisplay_None"> <div class="titleLine display_None"><hr/></div> 1257<!-- 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">ELECTRICAL</div> 1258</div> 1259 <div class="titleLine display_None"><hr/></div> 1260</div> 1261</div> 1262</div> 1263</div> 1264 <div dmwrapped="true" id="dmFirstContainer" class="dmBody u_dmStyle_template_electrical 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="u_1098762708 dmRespRow hide-for-large hide-for-small" style="text-align: center;" id="1098762708"> <div class="dmRespColsWrapper" id="1558651671"> <div class="dmRespCol small-12 medium-12 large-12" id="1431877531"> <h1 class="u_1195746904 dmNewParagraph" data-element-type="paragraph" id="1195746904" style="text-align: center; transition: opacity 1s ease-in-out;">WE CAN ADDRESS ALL OF YOUR HOMES ELECTRICAL AND WIRING ISSUES</h1></div> 1265</div> 1266</div> 1267 <div class="u_1651604972 dmRespRow hide-for-medium" style="text-align: center;" id="1651604972"> <div class="dmRespColsWrapper" id="1900624987"> <div class="dmRespCol small-12 medium-12 large-12" id="1177526108"> <h1 class="u_1804309164 dmNewParagraph" data-element-type="paragraph" id="1804309164" style="text-align: center; transition: opacity 1s ease-in-out;">WE CAN ADDRESS ALL OF YOUR HOMES ELECTRICAL AND WIRING ISSUES</h1></div> 1268</div> 1269</div> 1270 <div class="dmRespRow u_1146704239" id="1146704239"> <div class="dmRespColsWrapper" id="1071137685"> <div class="dmRespCol small-12 large-4 medium-4" id="1281115928"> <div class="u_1132721902 dmNewParagraph" data-element-type="paragraph" id="1132721902" style="transition: opacity 1s ease-in-out 0s;"><span style="font-size: 18px;"><b>Twin Pine's technicians are trained to treat you and your home with the highest level of respect and courtesy. From merely wiring your ceiling fan to wiring your dream home, let our professional staff handle all the details for you. Call Twin Pine Electric and Plumbing, Inc. today <font style="color: rgb(19, 190, 152);">717-898-4750</font> 1271if you need electrical assistance at your home or business</b></span></div></div> 1272 <div class="dmRespCol small-12 large-4 medium-4" id="1450866424"> <div class="imageWidget align-center u_1099227634" data-element-type="image" data-widget-type="image" id="1099227634"><img src="https://irp.cdn-website.com//4df566b50e774e94a0b334f3a8cb979b/dms3rep/multi/opt/twin-kitchen+2-1920w.jpg" id="1238750163" class="" data-dm-image-path="https://cdn.website.thryv.com/4df566b50e774e94a0b334f3a8cb979b/dms3rep/multi/twin-kitchen+2.jpg" onerror="handleImageLoadError(this)"/></div> 1273</div> 1274 <div class="dmRespCol large-4 medium-4 small-12" id="1325951901"> <div class="imageWidget align-center u_1103054592" data-element-type="image" data-widget-type="image" id="1103054592"><img src="https://irp.cdn-website.com//4df566b50e774e94a0b334f3a8cb979b/dms3rep/multi/opt/twin-+kitchen+lighting-1920w.jpg" id="1917785608" class="" data-dm-image-path="https://cdn.website.thryv.com/4df566b50e774e94a0b334f3a8cb979b/dms3rep/multi/twin-+kitchen+lighting.jpg" onerror="handleImageLoadError(this)"/></div> 1275</div> 1276</div> 1277</div> 1278 <div class="dmRespRow u_1283751998" id="1283751998"> <div class="dmRespColsWrapper" id="1128415618"> <div class="dmRespCol large-12 medium-12 small-12" id="1631665612"> <div class="u_1244160394 dmRespRow" id="1244160394"> <div class="dmRespColsWrapper" id="1070457802"> <div class="dmRespCol small-12 large-6 medium-6 u_1774046426 empty-column" id="1774046426"></div> 1279 <div class="dmRespCol large-6 medium-6 small-12 u_1460684644" id="1460684644"> <h2 class="u_1578735290 dmNewParagraph" data-element-type="paragraph" id="1578735290"><font style="color: rgb(15, 76, 159);">Increase Security and Add Convenience with an Automated Lighting System</font></h2> <div class="dmNewParagraph" id="1137644981" style="transition: opacity 1s ease-in-out;"><span style="font-size: 18px;"><b>Allow Twin Pine Electric and Plumbing, Inc. to design and install a lighting control system that will not only meet your lifestyle needs but also your budgeting needs. Explore lighting control options with us today… You will be surprised at the possibilities. </b></span></div></div> 1280</div> 1281</div> 1282 <div class="u_1357024276 dmRespRow" id="1357024276"> <div class="dmRespColsWrapper" id="1660816162"> <div class="dmRespCol small-12 large-6 medium-6" id="1183911037"> <h2 class="u_1117823343 dmNewParagraph" data-element-type="paragraph" id="1117823343"><font style="color: rgb(15, 76, 159);">Safe and Easy Rewiring with Twin Pine Electric and Plumbing, Inc. </font></h2> <div class="dmNewParagraph" id="1653594082" style="transition: opacity 1s ease-in-out;"><span style="font-size: 18px;"><b>Safety and peace of mind comes when your old and outdated electrical system is upgraded by Twin Pine Electric and Plumbing, Inc. Our qualified, experienced and competent technicians are able to rewire older homes, hot tubs, storage units and more. Electrical work is dangerous and should only be completed by a professional like a Twin Pine Electric and Plumbing, Inc. electrician. </b></span></div></div> 1283 <div class="dmRespCol large-6 medium-6 small-12" id="1408892080"> <div class="u_1117972630 imageWidget align-center" data-element-type="image" data-widget-type="image" id="1117972630"><img src="https://irp.cdn-website.com//4df566b50e774e94a0b334f3a8cb979b/dms3rep/multi/opt/twin-+home+lighting+-1920w.jpg" id="1045450535" class="" data-dm-image-path="https://cdn.website.thryv.com/4df566b50e774e94a0b334f3a8cb979b/dms3rep/multi/twin-+home+lighting+.jpg" onerror="handleImageLoadError(this)"/></div> 1284</div> 1285</div> 1286</div> 1287</div> 1288</div> 1289</div>
1290 <div class="dmRespRow u_1383733699 hasBackgroundOverlay dmSectionNoParallax" style="text-align: center;" id="1383733699"> <div class="dmRespColsWrapper" id="1316464187"> <div class="dmRespCol small-12 medium-12 large-12" id="1753667163"> <div class="u_1509728744 dmDividerWrapper clearfix" data-element-type="dDividerId" data-layout="divider-style-1" data-widget-version="2" id="1509728744"><hr class="dmDivider" style="border-width:2px; border-top-style:solid; color:grey;" id="1929933363"/></div> 1291 <h2 class="dmNewParagraph u_1413989671" data-element-type="paragraph" id="1413989671" style="text-align: center;"><font color="#ffffff">Professional Installation of NuTone Central Vacuum Systems</font></h2> <div class="u_1157281314 dmDividerWrapper clearfix" data-element-type="dDividerId" data-layout="divider-style-1" data-widget-version="2" id="1157281314"><hr class="dmDivider" style="border-width:2px; border-top-style:solid; color:grey;" id="1233931642"/></div> 1292 <div class="u_1959483822 dmRespRow" id="1959483822"> <div class="dmRespColsWrapper" id="1847951234"> <div class="dmRespCol small-12 medium-12 large-12" id="1401788533"> <div class="u_1483521301 dmNewParagraph" data-element-type="paragraph" id="1483521301" style="transition: opacity 1s ease-in-out 0s;"><b><span style="font-weight: 700;" class="font-size-18 lh-1">Twin Pine Electric and Plumbing, Inc. can install a NuTone central vacuum in your home and make cleaning every corner of your house unbelievably easy. A NuTone Central Vacuum System is one of America’s “most wanted” built-in appliances. Quiet, powerful and versatile, they offer convenience and value. Just insert the lightweight hose into a wall inlet. Powerful cleaning suction begins immediately. Remove the hose, and the system shuts off. Best of all, there’s no cumbersome vacuum cleaner to lug from room to room or up and down stairs. Unlike conventional vacuum cleaners, a NuTone central vacuum system is a long-lasting built-in convenience that adds value to your home. </span></b></div></div> 1293</div> 1294</div> 1295</div> 1296</div> 1297</div> 1298</div> 1299</div> 1300</div> 1301</div> 1302 <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_1092534898 dmRespRow hide-for-medium hide-for-small" id="1092534898"> <div class="dmRespColsWrapper" id="1639390256"> <div class="dmRespCol large-12 medium-12 small-12" id="1372334440"> <div class="u_1978912661 dmRespRow" id="1978912661"> <div class="dmRespColsWrapper" id="1881975052"> <div class="dmRespCol large-12 medium-12 small-12" id="1658172006"> <nav class="u_1181908747 effect-bottom2 main-navigation unifiednav dmLinksMenu" role="navigation" layout-main="horizontal_nav_layout_1" layout-sub="submenu_horizontal_1" data-show-vertical-sub-items="HOVER" id="1181908747" dmle_extension="onelinksmenu" data-element-type="onelinksmenu" data-logo-src="https://cdn.website.thryv.com/4df566b50e774e94a0b334f3a8cb979b/dms3rep/multi/desktop/TwinPine++logo_RGB.jpg" 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=" 1303 HOME 1304 " data-auto="page-text-style">HOME<span class="icon icon-angle-down"></span> 1305</span> 1306</a> 1307</li> 1308 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/about-us" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101511079 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1309 ABOUT US 1310 " data-auto="page-text-style">ABOUT US<span class="icon icon-angle-down"></span> 1311</span> 1312</a> 1313</li> 1314 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/plumbing" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101358704 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1315 PLUMBING 1316 " data-auto="page-text-style">
1316PLUMBING<span class="icon icon-angle-down"></span> 1317</span> 1318</a> 1319</li> 1320 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/electrical" class="unifiednav__item unav-item unav-top-item dmNavItemSelected dmUDNavigationItem_010101448923 " target="" data-target-page-alias="" aria-current="page" data-auto="selected-page"> <span class="nav-item-text " data-link-text=" 1321 ELECTRICAL 1322 " data-auto="page-text-style">ELECTRICAL<span class="icon icon-angle-down"></span> 1323</span> 1324</a> 1325</li> 1326 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/landscape-lighting" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101390425 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1327 LANDSCAPE LIGHTING 1328 " data-auto="page-text-style">LANDSCAPE LIGHTING<span class="icon icon-angle-down"></span> 1329</span> 1330</a> 1331</li> 1332 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/contact-us" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101419726 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1333 CONTACT US 1334 " data-auto="page-text-style">CONTACT US<span class="icon icon-angle-down"></span> 1335</span> 1336</a> 1337</li> 1338</ul> 1339</nav> 1340 <div class="dmNewParagraph u_1480441524" id="1480441524"><font style="" class="font-size-15 lh-1"><a href="tel:717-898-4750" runtime_url="tel:717-898-4750" style=""><font style="color: rgb(232, 187, 138);"><b style=""><span style="font-weight: 700;">717-898-4750</span></b></font></a><font style=""> <font style="color: rgb(255, 255, 255);">|</font> 1341 <b><a href="mailto:[email protected]" runtime_url="mailto:[email protected]" style=""><font style="color: rgb(232, 187, 138);"></font></a><span style="font-weight: 700;"><a href="mailto:[email protected]" runtime_url="mailto:[email protected]" style=""><font style="color: rgb(232, 187, 138);">[email protected]</font></a></span> 1342</b><font style="color: rgb(222, 184, 135);">| 69 West Main Street • Salunga, PA 17538</font></font></font></div> <div class="u_1176083254 widget-b80a9d dmCustomWidget" data-lazy-load="true" data-title="" id="1176083254" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" icon="false" surround="false" data-widget-id="b80a9dfa6b544a12aea2a86f748d9032" data-widget-version="15" data-widget-config="eyJjYXJkTGlzdCI6W3sicGF5bWVudE1ldGhvZCI6IjFfdmlzYSJ9LHsicGF5bWVudE1ldGhvZCI6IjJfbWFzdGVyX2NhcmQifSx7InBheW1lbnRNZXRob2QiOiI0X2FtZXJpY2FuX2V4cHJlc3MifSx7InBheW1lbnRNZXRob2QiOiI2X2Nhc2gifV0sIm5ld0xvZ29zIjp0cnVlLCJkaXJHcm91cCI6bnVsbCwiYWxpZ24iOiJjZW50ZXIiLCJjaGVja2JveFNpemVzIjpudWxsLCJkaXJlY3Rpb24iOiJyb3ciLCJncm91cDEiOm51bGx9"> <div class="cardList row center"> <div class="cardItem" style="max-width:56px !important;max-height:37px !important;"><img src="https://cdn.website.thryv.com/-resellers-preview/_widget_builder_files/visa.png" alt="Visa Payment Accepted" onerror="handleImageLoadError(this)"/></div> 1343 <div class="cardItem" style="max-width:56px !important;max-height:37px !important;"><img src="https://cdn.website.thryv.com/-resellers-preview/_widget_builder_files/mastercard.png" alt="MasterCard Payment Accepted" onerror="handleImageLoadError(this)"/></div> 1344 <div class="cardItem" style="max-width:56px !important;max-height:37px !important;"><img src="https://cdn.website.thryv.com/-resellers-preview/_widget_builder_files/amex.png" alt="American Express Payment Accepted" onerror="handleImageLoadError(this)"/></div> 1345 <div class="cardItem" style="max-width:56px !important;max-height:37px !important;"><img src="https://cdn.website.thryv.com/-resellers-preview/_widget_builder_files/cash.png" alt="Cash Payment Accepted" onerror="handleImageLoadError(this)"/></div> 1346</div> 1347</div> 1348</div> 1349</div> 1350</div> 1351</div> 1352</div> 1353</div> 1354 <div class="u_1909688503 dmRespRow hide-for-medium hide-for-small" id="1909688503"> <div class="dmRespColsWrapper" id="1115630800"> <div class="dmRespCol large-12 medium-12 small-12" id="1280930127"> <div class="u_1925357679 dmRespRow" id="1925357679"> <div class="dmRespColsWrapper" id="1555466534"> <div class="dmRespCol large-12 medium-12 small-12" id="1092681805"> <nav class="u_1267726346 effect-bottom2 main-navigation unifiednav dmLinksMenu" role="navigation" layout-main="horizontal_nav_layout_1" layout-sub="submenu_horizontal_1" data-show-vertical-sub-items="HOVER" id="1267726346" dmle_extension="onelinksmenu" data-element-type="onelinksmenu" data-logo-src="https://cdn.website.thryv.com/4df566b50e774e94a0b334f3a8cb979b/dms3rep/multi/desktop/TwinPine++logo_RGB.jpg" 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=" 1355 HOME 1356 " data-auto="page-text-style">HOME<span class="icon icon-angle-down"></span> 1357</span> 1358</a> 1359</li> 1360 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/about-us" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101511079 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1361 ABOUT US 1362 " data-auto="page-text-style">ABOUT US<span class="icon icon-angle-down"></span> 1363</span> 1364</a> 1365</li> 1366 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/plumbing" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101358704 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1367 PLUMBING 1368 " data-auto="page-text-style">
1368PLUMBING<span class="icon icon-angle-down"></span> 1369</span> 1370</a> 1371</li> 1372 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/electrical" class="unifiednav__item unav-item unav-top-item dmNavItemSelected dmUDNavigationItem_010101448923 " target="" data-target-page-alias="" aria-current="page" data-auto="selected-page"> <span class="nav-item-text " data-link-text=" 1373 ELECTRICAL 1374 " data-auto="page-text-style">ELECTRICAL<span class="icon icon-angle-down"></span> 1375</span> 1376</a> 1377</li> 1378 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/landscape-lighting" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101390425 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1379 LANDSCAPE LIGHTING 1380 " data-auto="page-text-style">LANDSCAPE LIGHTING<span class="icon icon-angle-down"></span> 1381</span> 1382</a> 1383</li> 1384 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/contact-us" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101419726 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 1385 CONTACT US 1386 " data-auto="page-text-style">CONTACT US<span class="icon icon-angle-down"></span> 1387</span> 1388</a> 1389</li> 1390</ul> 1391</nav> 1392</div> 1393</div> 1394</div> 1395</div> 1396</div> 1397</div> 1398 <div class="u_1750472421 dmRespRow hide-for-medium hide-for-large" id="1750472421"> <div class="dmRespColsWrapper" id="1445850997"> <div class="dmRespCol large-12 medium-12 small-12" id="1481072427"> <div class="u_1575293895 dmRespRow" id="1575293895"> <div class="dmRespColsWrapper" id="1216183239"> <div class="dmRespCol large-12 medium-12 small-12" id="1954318912"> <div class="u_1954215818 imageWidget align-center hide-for-medium hide-for-large" data-element-type="image" data-widget-type="image" id="1954215818"> <a href="https://www.google.com/search?q=twin+pine+electric+and+plumbing&rlz=1C1GCEA_enUS1053US1053&oq=twin&gs_lcrp=EgZjaHJvbWUqCAgAEEUYJxg7MggIABBFGCcYOzIICAEQRRgnGDsyBggCEEUYOzIGCAMQRRg5MgYIBBBFGEAyBggFEEUYPDIGCAYQRRg9MgYIBxBFGDzSAQgxNjY1ajBqN6gCALACAA&sourceid=chrome&ie=UTF-8#ip=1&lrd=0x89c620eeab32f8f9:0x8629b15e1fa61bea,3,,,," id="1903086879" class="" target="_blank" file="false"><img src="https://irp.cdn-website.com/4df566b50e774e94a0b334f3a8cb979b/dms3rep/multi/opt/google-review-btn-1-338w-1920w.webp" alt="" id="1799440242" class="" data-dm-image-path="https://irp.cdn-website.com/4df566b50e774e94a0b334f3a8cb979b/dms3rep/multi/google-review-btn-1-338w.webp" width="340" height="132" onerror="handleImageLoadError(this)"/></a> 1399</div> 1400 <div class="u_1688118341 align-center text-align-center hide-for-large hide-for-medium dmSocialHub gapSpacing" id="1688118341" dmle_extension="social_hub" data-element-type="social_hub" wr="true" networks="" icon="true" surround="true" adwords=""> <div class="socialHubWrapper"> <div class="socialHubInnerDiv "> <a href="https://www.facebook.com/cliffandscott99" target="_blank" dm_dont_rewrite_url="true" aria-label="facebook" onclick="dm_gaq_push_event && dm_gaq_push_event('socialLink', 'click', 'Facebook')"> <span class="dmSocialFacebook dm-social-icons-facebook oneIcon socialHubIcon style6" aria-hidden="true" data-hover-effect=""></span> 1401</a> 1402</div> 1403</div> 1404</div> 1405 <div class="dmNewParagraph u_1271334633 hide-for-medium hide-for-large" id="1271334633" style=""><div style="text-align: center;"><font style="color: rgb(232, 187, 133);"><b style=""><span style="" class="m-specific m-font-size-16 lh-1"><a href="tel:717-898-4750" runtime_url="tel:717-898-4750" style="color: rgb(232, 187, 133);">717-898-4750</a></span></b></font><font style="font-size: 15px;"> </font></div><div style="text-align: center;"><font style="font-size: 15px;"><b><span><a href="mailto:[email protected]" runtime_url="mailto:[email protected]"><font style="color: rgb(232, 187, 138);">[email protected]</font></a></span> </b></font></div><div style="text-align: center;"><span style="color: rgb(232, 187, 138);">69 West Main Street • Salunga, PA 17538</span><br/></div></div> <div class="u_1350350708 dmNewParagraph hide-for-small" id="1350350708"><div style="text-align: center;"><a href="tel:717-898-4750" runtime_url="tel:717-898-4750" style="font-size: 15px;"><font style="color: rgb(232, 187, 138);"><b><span>717-898-4750</span></b></font></a><font style="font-size: 15px;"> <b><span><a href="mailto:[email protected]" runtime_url="mailto:[email protected]"><font style="color: rgb(232, 187, 138);">[email protected]</font></a></span> </b></font></div><div style="text-align: center;"><font style="color: rgb(232, 187, 138);">69 West Main Street • Salunga, PA 17538</font></div></div> <div class="u_1526143485 widget-b80a9d dmCustomWidget" data-lazy-load="true" data-title="" id="1526143485" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" icon="false" surround="false" data-widget-id="b80a9dfa6b544a12aea2a86f748d9032" data-widget-version="22" data-widget-config="eyJuZXdMb2dvcyI6dHJ1ZSwiY2hlY2tib3hTaXplcyI6bnVsbCwiY2FyZExpc3QiOlt7InBheW1lbnRNZXRob2QiOiIxX3Zpc2EifSx7InBheW1lbnRNZXRob2QiOiIyX21hc3Rlcl9jYXJkIn0seyJwYXltZW50TWV0aG9kIjoiNF9hbWVyaWNhbl9leHByZXNzIn0seyJwYXltZW50TWV0aG9kIjoiNl9jYXNoIn1dLCJkaXJHcm91cCI6bnVsbCwiYWxpZ24iOiJjZW50ZXIiLCJkaXJlY3Rpb24iOiJyb3ciLCJncm91cDEiOm51bGx9"> <div class="cardList row center"> <div class="cardItem" style="width:56px !important;height:37px !important;"><img src="https://cdn.website.thryv.com/-resellers-preview/_widget_builder_files/visa.png" alt="Visa Payment Accepted" onerror="handleImageLoadError(this)"/></div> 1406 <div class="cardItem" style="width:56px !important;height:37px !important;"><img src="https://cdn.website.thryv.com/-resellers-preview/_widget_builder_files/mastercard.png" alt="MasterCard Payment Accepted" onerror="handleImageLoadError(this)"/></div> 1407 <div class="cardItem" style="width:56px !important;height:37px !important;"><img src="https://cdn.website.thryv.com/-resellers-preview/_widget_builder_files/amex.png" alt="American Express Payment Accepted" onerror="handleImageLoadError(this)"/></div> 1408 <div class="cardItem" style="width:56px !important;height:37px !important;"><img src="https://cdn.website.thryv.com/-resellers-preview/_widget_builder_files/cash.png" alt="Cash Payment Accepted" onerror="handleImageLoadError(this)"/></div> 1409</div> 1410</div> 1411</div> 1412</div> 1413</div> 1414</div> 1415</div> 1416</div> 1417 <div class="u_1902428526 dmRespRow hide-for-large hide-for-small" id="1902428526"> <div class="dmRespColsWrapper" id="1953397631"> <div class="dmRespCol large-12 medium-12 small-12" id="1451147392"> <div class="u_1053219038 dmRespRow" id="1053219038"> <div class="dmRespColsWrapper" id="1448983998"> <div class="dmRespCol large-12 medium-12 small-12" id="1855123718"> <div class="dmNewParagraph u_1829234240" id="1829234240"><font style="" class="font-size-15 lh-1"><a href="tel:717-898-4750" runtime_url="tel:717-898-4750" style=""><font style="color: rgb(232, 187, 138);"><b style=""><span style="font-weight: 700;">717-898-4750</span></b></font></a><font style=""> <font style="color: rgb(255, 255, 255);">|</font> 1418 <b><a href="mailto:[email protected]" runtime_url="mailto:[email protected]" style=""><font style="color: rgb(232, 187, 138);"></font></a><span style="font-weight: 700;"><a href="mailto:[email protected]" runtime_url="mailto:[email protected]" style=""><font style="color: rgb(232, 187, 138);">[email protected]</font></a></span> 1419</b><font style="color: rgb(255, 255, 255);">| </font><font style="color: rgb(232, 187, 138);">69 West Main Street • Salunga, PA 17538</font></font></font></div> <div class="u_1238493474 widget-b80a9d dmCustomWidget" data-lazy-load="true" data-title="" id="1238493474" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" icon="false" surround="false" data-widget-id="b80a9dfa6b544a12aea2a86f748d9032" data-widget-version="15" data-widget-config="eyJjYXJkTGlzdCI6W3sicGF5bWVudE1ldGhvZCI6IjFfdmlzYSJ9LHsicGF5bWVudE1ldGhvZCI6IjJfbWFzdGVyX2NhcmQifSx7InBheW1lbnRNZXRob2QiOiI0X2FtZXJpY2FuX2V4cHJlc3MifSx7InBheW1lbnRNZXRob2QiOiI2X2Nhc2gifV0sIm5ld0xvZ29zIjp0cnVlLCJkaXJHcm91cCI6bnVsbCwiYWxpZ24iOiJjZW50ZXIiLCJjaGVja2JveFNpemVzIjpudWxsLCJkaXJlY3Rpb24iOiJyb3ciLCJncm91cDEiOm51bGx9"> <div class="cardList row center"> <div class="cardItem" style="max-width:56px !important;max-height:37px !important;"><img src="https://cdn.website.thryv.com/-resellers-preview/_widget_builder_files/visa.png" alt="Visa Payment Accepted" onerror="handleImageLoadError(this)"/></div> 1420 <div class="cardItem" style="max-width:56px !important;max-height:37px !important;"><img src="https://cdn.website.thryv.com/-resellers-preview/_widget_builder_files/mastercard.png" alt="MasterCard Payment Accepted" onerror="handleImageLoadError(this)"/></div> 1421 <div class="cardItem" style="max-width:56px !important;max-height:37px !important;"><img src="https://cdn.website.thryv.com/-resellers-preview/_widget_builder_files/amex.png" alt="American Express Payment Accepted" onerror="handleImageLoadError(this)"/></div> 1422 <div class="cardItem" style="max-width:56px !important;max-height:37px !important;"><img src="https://cdn.website.thryv.com/-resellers-preview/_widget_builder_files/cash.png" alt="Cash Payment Accepted" onerror="handleImageLoadError(this)"/></div> 1423</div> 1424</div> 1425</div> 1426</div> 1427</div> 1428</div> 1429</div> 1430</div> 1431 <div class="u_1714227195 dmRespRow hide-for-large" id="1714227195"> <div class="dmRespColsWrapper" id="1074937208"> <div class="dmRespCol large-12 medium-12 small-12" id="1786310361"> <div class="u_1171384497 widget-d3c663 dmCustomWidget" data-lazy-load="" data-title="" id="1171384497" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" icon="false" surround="false" data-widget-id="d3c66308b2ae4c2eb8bccd831a63a3d8" data-widget-version="79" data-widget-config="eyJ3ZWJDaGF0IjpmYWxzZX0=">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> 1432 <style>.dm-social-icons-google-my-business:before { 1433 content: '' !important; 1434}</style> 1435 <div data-inject="tmc-inject"></div> 1436</div> 1437</div> 1438</div> 1439</div> 1440 <div class="u_1446979486 dmRespRow hide-for-medium hide-for-small" id="1446979486"> <div class="dmRespColsWrapper" id="1754669590"> <div class="dmRespCol large-12 medium-12 small-12" id="1249411736"> <div class="u_1515823867 widget-d3c663 dmCustomWidget" data-lazy-load="" data-title="" id="1515823867" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" icon="false" surround="false" data-widget-id="d3c66308b2ae4c2eb8bccd831a63a3d8" data-widget-version="79" data-widget-config="eyJ3ZWJDaGF0IjpmYWxzZX0=">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> 1441 <style>.dm-social-icons-google-my-business:before { 1442 content: '' !important; 1443}</style> 1444 <div data-inject="tmc-inject"></div> 1445</div> 1446</div> 1447</div> 1448</div> 1449 <div class="u_1525173484 dmRespRow hide-for-large" id="1525173484"> <div class="dmRespColsWrapper" id="1328563975"> <div class="dmRespCol large-12 medium-12 small-12" id="1536775317"> <div class="u_1739378591 widget-d3c663 dmCustomWidget" data-lazy-load="" data-title="" id="1739378591" dmle_extension="custom_extension" data-element-type="custom_extension" wr="false" icon="false" surround="false" data-widget-id="d3c66308b2ae4c2eb8bccd831a63a3d8" data-widget-version="79" data-widget-config="eyJ3ZWJDaGF0IjpmYWxzZX0=">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> 1450 <style>.dm-social-icons-google-my-business:before { 1451 content: '' !important; 1452}</style> 1453 <div data-inject="tmc-inject"></div> 1454</div> 1455</div> 1456</div> 1457</div> 1458</div> 1459 <div id="1236746004" dmle_extension="powered_by" data-element-type="powered_by" icon="true" surround="false"></div> 1460</div> 1461</div> 1462</div> 1463</div> 1464</div> 1465</div> 1466</div> 1467</div> 1468</div> 1469</div> 1470 1471 </div> 1472</div> 1473<!-- Add full CSS and Javascript before the close tag of the body if needed --> 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512<!-- ========= JS Section ========= -->
1513<script> 1514 var isWLR = true; 1515 1516 window.customWidgetsFunctions = {}; 1517 window.customWidgetsStrings = {}; 1518 window.collections = {}; 1519 window.currentLanguage = "ENGLISH" 1520 window.isSitePreview = false; 1521</script>
1521 1522 1523 1524
1525<script> 1526 window.customWidgetsFunctions["b80a9dfa6b544a12aea2a86f748d9032~22"] = function (element, data, api) { 1527 null 1528 }; 1529</script>
1529 1530
1531<script> 1532 window.customWidgetsFunctions["d3c66308b2ae4c2eb8bccd831a63a3d8~79"] = function (element, data, api) { 1533 if (data.config.webchat){ 1534 1535let thryvId = dmAPI.getSiteExternalId(); 1536var integrationId = data.config.integration_id; 1537 1538 1539setTimeout(() => { 1540 1541 !(function (o, p, s, e, c) { 1542 var i, 1543 a, 1544 h, 1545 u = [], 1546 d = []; 1547 function t() { 1548 var t = "You must provide a supported major version."; 1549 try { 1550 if (!c) throw new Error(t); 1551 var e, 1552 n = "https://cdn.smooch.io/", 1553 r = "smooch"; 1554 if ((e = "string" == typeof this.response ? JSON.parse(this.response) : this.response).url) { 1555 var o = p.getElementsByTagName("script")[0], 1556 s = p.createElement("script"); 1557 s.async = !0; 1558 var i = c.match(/([0-9]+).?([0-9]+)?.?([0-9]+)?/), 1559 a = i && i[1]; 1560 if (i && i[3]) s.src = n + r + "." + c + ".min.js"; 1561 else { 1562 if (!(4 <= a && e["v" + a])) throw new Error(t); 1563 s.src = e["v" + a]; 1564 } 1565 o.parentNode.insertBefore(s, o); 1566 } 1567 } catch (e) { 1568 e.message === t && console.error(e); 1569 } 1570 } 1571 (o[s] = { 1572 init: function () { 1573 i = arguments; 1574 var t = { 1575 then: function (e) { 1576 return d.push({ type: "t", next: e }), t; 1577 }, 1578 catch: function (e) { 1579 return d.push({ type: "c", next: e }), t; 1580 }, 1581 }; 1582 return t; 1583 }, 1584 on: function () { 1585 u.push(arguments); 1586 }, 1587 render: function () { 1588 a = arguments; 1589 }, 1590 destroy: function () { 1591 h = arguments; 1592 }, 1593 }), 1594 (o.__onWebMessengerHostReady__ = function (e) { 1595 if ((delete o.__onWebMessengerHostReady__, (o[s] = e), i)) 1596 for (var t = e.init.apply(e, i), n = 0; n < d.length; n++) { 1597 var r = d[n]; 1598 t = "t" === r.type ? t.then(r.next) : t.catch(r.next); 1599 } 1600 a && e.render.apply(e, a), h && e.destroy.apply(e, h); 1601 for (n = 0; n < u.length; n++) e.on.apply(e, u[n]); 1602 }); 1603 var n = new XMLHttpRequest(); 1604 n.addEventListener("load", t), n.open("GET", "https://" + e + ".webloader.smooch.io/", !0), (n.responseType = "json"), n.send(); 1605 })(window, document, "Smooch", integrationId, "5"); 1606 setTimeout(() => { 1607 const delegate = { 1608 beforeSend(message, data) { 1609 const urlParams = new URLSearchParams(window.location.search); 1610 const utm_ci = urlParams.get('utm_ci'); 1611 const utm_channel = urlParams.get('utm_channel'); 1612 const utm_ad = urlParams.get('utm_ad'); 1613 const utm_cm = urlParams.get('utm_cm'); 1614 1615 if (utm_ci && utm_channel && utm_ad && utm_cm) { 1616 message.metadata = { 1617 utm_ci, 1618 utm_channel, 1619 utm_ad, 1620 utm_cm 1621 }; 1622 } 1623 1624 return message; 1625 } 1626 }; 1627 Smooch.init({ 1628 integrationId: integrationId, 1629 delegate: delegate, 1630 menuItems: {}, 1631 prechatCapture: { 1632 enabled: true, 1633 enableEmailLinking: true, 1634 fields: [ 1635 { 1636 type: 'email', 1637 name: 'email', 1638 label: 'Email', 1639 placeholder: '[email protected]' 1640 }, 1641 { 1642 type: 'text', 1643 name: 'phone', 1644 label: 'Phone', 1645 placeholder: '555-555-5555' 1646 }, 1647 { 1648 type: 'text', 1649 name: 'first_name', 1650 label: 'First Name', 1651 placeholder: 'first name' 1652 }, 1653 { 1654 type: 'text', 1655 name: 'last_name', 1656 label: 'Last Name', 1657 placeholder: 'last name' 1658 } 1659 ] 1660 }, 1661 customText: { 1662 prechatCaptureGreetingText: 1663 "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." 1664 }, 1665 }).then( 1666 function () { 1667 console.log("Script Ran for Sunshine"); 1668 }, 1669 function (err) { 1670 console.log("Script Error for Sunshine"); 1671 } 1672 ); 1673 }, 3000) 1674 }, 5000); 1675 1676} 1677 1678 // Find the span elements with the specified classes 1679var spans = document.querySelectorAll('.dmSocialGoogleMyBusiness.dm-social-icons-google-my-business'); 1680 1681 1682// Loop through each found span element 1683spans.forEach(function(span) { 1684 // Replace inner HTML with SVG code of legal-approved GMB 1685 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
1685-.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>'; 1686}); 1687 }; 1688</script>
1688 1689
1690<script> 1691 window.customWidgetsFunctions["b80a9dfa6b544a12aea2a86f748d9032~15"] = function (element, data, api) { 1692 null 1693 }; 1694</script>
1694 1695 1696
1697<script type="text/javascript"> 1698 1699 var d_version = "production_6787"; 1700 var build = "2026-09-17T10_53_24"; 1701 window['v' + 'ersion'] = d_version; 1702 1703 function buildEditorParent() { 1704 window.isMultiScreen = true; 1705 window.editorParent = {}; 1706 window.previewParent = {}; 1707 window.assetsCacheQueryParam = "?version=2026-09-17T10_53_24"; 1708 try { 1709 var _p = window.parent; 1710 if (_p && _p.document && _p.$ && _p.$.dmfw) { 1711 window.editorParent = _p; 1712 } else if (_p.isSitePreview) { 1713 window.previewParent = _p; 1714 } 1715 } catch (e) { 1716 1717 } 1718 } 1719 1720 buildEditorParent(); 1721</script>
1721 1722 1723 1724<!-- Load jQuery --> 1725
1726<script type="text/javascript" id='d-js-jquery' 1727 src="https://static.cdn-website.com/libs/jquery/jquery-3.7.0.min.js"></script>
1727 1728 1729<!-- End Load jQuery --> 1730 1731 1732<!-- Injecting site-wide before scripts --> 1733 1734<!-- End Injecting site-wide to the head --> 1735 1736 1737
1738<script> 1739 var _jquery = window.$; 1740 1741 var jqueryAliases = ['$', 'jquery', 'jQuery']; 1742 1743 jqueryAliases.forEach((alias) => { 1744 Object.defineProperty(window, alias, { 1745 get() { 1746 return _jquery; 1747 }, 1748 set() { 1749 console.warn("Trying to over-write the global jquery object!"); 1750 } 1751 }); 1752 }); 1753 window.jQuery.migrateMute = true; 1754</script>
1754 1755 1756 1757 1758
1759<script> 1760 window.cookiesNotificationMarkupPreview = 'null'; 1761</script>
1761 1762 1763<!-- HEAD RT JS Include -->
1764<script id='d-js-params'> 1765 window.INSITE = window.INSITE || {}; 1766 window.INSITE.device = "desktop"; 1767 1768 window.rtCommonProps = {}; 1769 rtCommonProps["rt.ajax.ajaxScriptsFix"] =true; 1770 rtCommonProps["rt.pushnotifs.sslframe.encoded"] = 'aHR0cHM6Ly97c3ViZG9tYWlufS5wdXNoLW5vdGlmcy5jb20='; 1771 rtCommonProps["runtimecollector.url"] = 'https://rtc.multiscreensite.com'; 1772 rtCommonProps["performance.tabletPreview.removeScroll"] = 'false'; 1773 rtCommonProps["inlineEditGrid.snap"] =true; 1774 rtCommonProps["popup.insite.cookie.ttl"] = '0.5'; 1775 rtCommonProps["rt.pushnotifs.force.button"] =true; 1776 rtCommonProps["common.mapbox.token"] = 'pk.eyJ1IjoiZGFubnliMTIzIiwiYSI6ImNqMGljZ256dzAwMDAycXBkdWxwbDgzeXYifQ.Ck5P-0NKPVKAZ6SH98gxxw'; 1777 rtCommonProps["common.mapbox.js.override"] =false; 1778 rtCommonProps["common.here.appId"] = 'iYvDjIQ2quyEu0rg0hLo'; 1779 rtCommonProps["common.here.appCode"] = '1hcIxLJcbybmtBYTD9Z1UA'; 1780 rtCommonProps["isCoverage.test"] =false; 1781 rtCommonProps["ecommerce.ecwid.script"] = 'https://app.multiscreenstore.com/script.js'; 1782 rtCommonProps["common.resources.dist.cdn"] =true; 1783 rtCommonProps["common.build.dist.folder"] = 'production/6787'; 1784 rtCommonProps["common.resources.cdn.host"] = 'https://static.cdn-website.com'; 1785 rtCommonProps["common.resources.folder"] = 'https://static.cdn-website.com/mnlt/production/6787'; 1786 rtCommonProps["common.fonts.api.v2.url"] = 'https://irp.cdn-website.com/fonts/css2?family='; 1787 rtCommonProps["feature.flag.runtime.backgroundSlider.preload.slowly"] =true; 1788 rtCommonProps["feature.flag.runtime.newAnimation.enabled"] =true; 1789 rtCommonProps["feature.flag.runtime.newAnimation.jitAnimation.enabled"] =true; 1790 rtCommonProps["feature.flag.sites.google.analytics.gtag"] =true; 1791 rtCommonProps["feature.flag.runOnReadyNewTask"] =true; 1792 rtCommonProps["isAutomation.test"] =false; 1793 rtCommonProps["booking.cal.api.domain"] = 'api.cal.com'; 1794 1795 1796 rtCommonProps['common.mapsProvider'] = 'mapbox'; 1797 1798 rtCommonProps['common.mapsProvider.version'] = '0.52.0'; 1799 rtCommonProps['common.geocodeProvider'] = 'mapbox'; 1800 rtCommonProps['server.for.resources'] = ''; 1801 rtCommonProps['feature.flag.lazy.widgets'] = true; 1802 rtCommonProps['feature.flag.single.wow'] = false; 1803 rtCommonProps['feature.flag.disallowPopupsInEditor'] = true; 1804 rtCommonProps['feature.flag.mark.anchors'] = true; 1805 rtCommonProps['captcha.public.key'] = '6LffcBsUAAAAAMU-MYacU-6QHY4iDtUEYv_Ppwlz'; 1806 rtCommonProps['captcha.invisible.public.key'] = '6LeiWB8UAAAAAHYnVJM7_-7ap6bXCUNGiv7bBPME'; 1807 rtCommonProps["images.sizes.small"] =160; 1808 rtCommonProps["images.sizes.mobile"] =640; 1809 rtCommonProps["images.sizes.tablet"] =1280; 1810 rtCommonProps["images.sizes.desktop"] =1920; 1811 rtCommonProps["modules.resources.cdn"] =true; 1812 rtCommonProps["import.images.storage.imageCDN"] = 'https://irp.cdn-website.com/'; 1813 rtCommonProps["feature.flag.runtime.inp.threshold"] =150; 1814 rtCommonProps["feature.flag.performance.logs"] =false; 1815 rtCommonProps["site.widget.form.captcha.type"] = 'g_recaptcha'; 1816 rtCommonProps["friendly.captcha.site.key"] = 'FCMGSQG9GVNMFS8K'; 1817 rtCommonProps["cookiebot.mapbox.consent.category"] = 'marketing'; 1818 rtCommonProps["termly.mapbox.consent.category"] = 'performance'; 1819 // feature flags that's used out of runtime module (in legacy files) 1820 rtCommonProps["platform.monolith.personalization.dateTimeCondition.popupMsgAction.moveToclient.enabled"] =true; 1821 1822 window.rtFlags = {}; 1823 rtFlags["unsuspendEcwidStoreOnRuntime.enabled"] =true; 1824 rtFlags["scripts.widgetCount.enabled"] =true; 1825 rtFlags["fnb.animations.tracking.enabled"] =true; 1826 rtFlags["ecom.ecwidNewUrlStructure.enabled"] = false; 1827 rtFlags["ecom.ecwid.accountPage.emptyBaseUrl.enabled"] = true; 1828 rtFlags["ecom.ecwid.accountPage.repeatOrderRedirect.enabled"] = false; 1829 rtFlags["ecom.ecwid.pages.links.disable.listeners"] = true; 1830 rtFlags["ecom.ecwid.storefrontV3.enabled"] = false; 1831 rtFlags["ecom.monolith.legacy.js.api.disabled.for.new.sites"] = false; 1832 rtFlags["geocode.search.localize"] =false; 1833 rtFlags["feature.flag.runtime.newAnimation.asyncInit.setTimeout.enabled"] =false; 1834 rtFlags["twitter.heightLimit.enabled"] = true; 1835 rtFlags["runtime.lottieOverflow"] =false; 1836 rtFlags["runtime.monitoring.sentry.ignoreErrors"] = ""; 1837 rtFlags["streamline.monolith.personalization.supportMultipleConditions.enabled"] =false; 1838 rtFlags["flex.animation.design.panel.layout"] =true; 1839 rtFlags["runtime.cwv.report.cls.enabled"] =false; 1840 rtFlags["runtime.cwv.report.lcp.enabled"] =false; 1841 rtFlags["runtime.lcp.preload.selfheal.enabled"] =true; 1842 rtFlags["runtime.lcp.preload.bootstrap.enabled"] =true; 1843 rtFlags["runtime.lcp.preload.monitor.enabled"] =false; 1844 rtFlags["runtime.customwidget.heightpin.enabled"] =true; 1845 rtFlags["contact.form.useActiveForm"] =true; 1846 rtFlags["contact.form.custom.errors.enabled"] =false; 1847 rtFlags["runtime.ssr.productStore.internal.observer"] =true;
1848 rtFlags["runtime.ssr.productCustomizations"] =true; 1849 rtFlags["runtime.ssr.runtime.filter-sort.newFilterSortWidgetWithOptions.enabled"] =true; 1850 rtFlags["runtime.ssr.ssrSlider.jumpThreshold.enabled"] =true; 1851 rtFlags["termly.map.consent.overlay.enabled"] =false; 1852 rtFlags["editor.widget.form.a11y"] =true; 1853</script>
vendor: 1 bytes, line 1853
1853
1854<script src="https://static.cdn-website.com/mnlt/production/6787/_dm/s/rt/dist/scripts/d-js-one-runtime-unified-desktop.min.js" id="d-js-core"></script>
1854 1855 1856<!-- End of HEAD RT JS Include --> 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868
1868<script src="https://static.cdn-website.com/mnlt/production/6787/_dm/s/rt/dist/scripts/d-js-jquery-migrate.min.js" ></script>
1868 1869 1870 1871 1872 1873
1874<script> 1875 1876 $(window).bind("orientationchange", function (e) { 1877 $.layoutManager.initLayout(); 1878 1879 }); 1880 $(document).resize(function () { 1881 1882 }); 1883</script>
1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902
1903<script type="text/javascript" id="d_track_sp"> 1904 ;(function(p,l,o,w,i,n,g){if(!p[i]){p.GlobalSnowplowNamespace=p.GlobalSnowplowNamespace||[]; 1905 p.GlobalSnowplowNamespace.push(i);p[i]=function(){(p[i].q=p[i].q||[]).push(arguments) 1906 };p[i].q=p[i].q||[];n=l.createElement(o);g=l.getElementsByTagName(o)[0];n.async=1; 1907 n.src=w;g.parentNode.insertBefore(n,g)}}(window,document,"script","//d32hwlnfiv2gyn.cloudfront.net/sp-2.0.0-dm-0.1.min.js","snowplow")); 1908 window.dmsnowplow = window.snowplow; 1909 1910 dmsnowplow('newTracker', 'cf', 'd32hwlnfiv2gyn.cloudfront.net', { // Initialise a tracker 1911 appId: '4df566b50e774e94a0b334f3a8cb979b' 1912 }); 1913 1914 // snowplow queries element styles so we wait until CSS calculations are done. 1915 requestAnimationFrame(() => { 1916 dmsnowplow('trackPageView'); 1917 _dm_insite.forEach((rule) => { 1918 // Specifically in popup only the client knows if it is shown or not so we don't always want to track its impression here 1919 // the tracking is in popup.js 1920 if (rule.actionName !== "popup") { 1921 dmsnowplow('trackStructEvent', 'insite', 'impression', rule.ruleType, rule.ruleId); 1922 } 1923 window?.waitForDeferred?.('dmAjax', () => { 1924 $.DM.events.trigger('event-ruleTriggered', {value: rule}); 1925 }); 1926 }); 1927 }); 1928</script>
1928 1929 1930 1931 1932<div style="display:none;" id="P6iryBW0Wu"></div> 1933 1934<!-- photoswipe markup --> 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944<!-- Root element of PhotoSwipe. Must have class pswp. --> 1945<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true"> 1946 1947 <!-- Background of PhotoSwipe. 1948 It's a separate element as animating opacity is faster than rgba(). --> 1949 <div class="pswp__bg"></div> 1950 1951 <!-- Slides wrapper with overflow:hidden. --> 1952 <div class="pswp__scroll-wrap"> 1953 1954 <!-- Container that holds slides. 1955 PhotoSwipe keeps only 3 of them in the DOM to save memory. 1956 Don't modify these 3 pswp__item elements, data is added later on. --> 1957 <div class="pswp__container"> 1958 <div class="pswp__item"></div> 1959 <div class="pswp__item"></div> 1960 <div class="pswp__item"></div> 1961 </div> 1962 1963 <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --> 1964 <div class="pswp__ui pswp__ui--hidden"> 1965 1966 <div class="pswp__top-bar"> 1967 1968 <!-- Controls are self-explanatory. Order can be changed. --> 1969 1970 <div class="pswp__counter"></div> 1971 1972 <button class="pswp__button pswp__button--close" title="Close (Esc)"></button> 1973 1974 <button class="pswp__button pswp__button--share" title="Share"></button> 1975 1976 <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button> 1977 1978 <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button> 1979 1980 <!-- Preloader demo http://codepen.io/dimsemenov/pen/yyBWoR --> 1981 <!-- element will get class pswp__preloader--active when preloader is running --> 1982 <div class="pswp__preloader"> 1983 <div class="pswp__preloader__icn"> 1984 <div class="pswp__preloader__cut"> 1985 <div class="pswp__preloader__donut"></div> 1986 </div> 1987 </div> 1988 </div> 1989 </div> 1990 1991 <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap"> 1992 <div class="pswp__share-tooltip"></div> 1993 </div> 1994 1995 <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)"> 1996 </button> 1997 1998 <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)"> 1999 </button> 2000 2001 <div class="pswp__caption"> 2002 <div class="pswp__caption__center"></div> 2003 </div> 2004 2005 </div> 2006 2007 </div> 2008 2009</div> 2010<div id="fb-root" 2011 data-locale="en"></div> 2012<!-- Alias: 4df566b50e774e94a0b334f3a8cb979b --> 2013<div class="dmPopupMask" id="dmPopupMask"></div> 2014<div id="dmPopup" class="dmPopup"> 2015 <div class="dmPopupCloseWrapper"> <div class="dmPopupClose dm-common-icons-close oneIcon" onclick="dmHidePopup(event);"></div> </div> 2016 <div class="dmPopupTitle"> <span></span> Share by:</div> 2017 <div class="data"></div> 2018</div>
2018<script id="d_track_personalization"> 2019 window?.waitForDeferred?.('dmAjax', () => { 2020 // Collects client data and updates cookies used by smart sites 2021 window.expireDays = 365; 2022 window.visitLength = 30 * 60000; 2023 $.setCookie("dm_timezone_offset", (new Date()).getTimezoneOffset(), window.expireDays); 2024 setSmartSiteCookiesInternal("dm_this_page_view","dm_last_page_view","dm_total_visits","dm_last_visit"); 2025 }); 2026</script>
vendor: 1 bytes, line 2026
2026
2027<script type="text/javascript"> 2028 2029 Parameters.NavigationAreaParams.MoreButtonText = 'MORE'; 2030 2031 Parameters.NavigationAreaParams.LessButtonText = 'LESS'; 2032 Parameters.HomeLinkText = 'Home'; 2033 </script>
2033 2034<!-- End Script tags --> 2035<!-- Begin Body End Markup -->
2036<script src="//mpactions.superpages.com/actionthru/js/dxmscript.min.js" type="text/javascript"></script>
2036 2037<!-- luxury-homes-thryv3.0-template --><!-- End Body End Markup --> 2038<!-- Site Wide Html Markup --> 2039<!-- Site Wide Html Markup --> 2040<!-- Begin Product Custom HTML Markup -->
2041<script type="text/javascript" charset="utf-8"> 2042document.addEventListener("DOMContentLoaded", () => { 2043 var _extID; 2044 var _device = 'desktop'; 2045 var _plan = window.Parameters.planID; 2046 //set the external ID, if the site is fast migrated or normal site 2047 if (typeof(dmAPI) === 'object') { 2048 _extID = dmAPI.getSiteExternalId() 2049 } else if (typeof(siteDetails) === 'object') { 2050 _extID = siteDetails.ExternalUid; 2051 } else { 2052 _extID = false; 2053 } 2054 //if site is normal site & mobile visitor 2055 if(typeof($.layoutDevice) !== "undefined") { 2056 if($.layoutDevice.type === "mobile") { 2057 _device = 'mobile'; 2058 } 2059 } else if(typeof(camilyo.platform)){ 2060 _device = camilyo.platform.toLowerCase(); 2061 } 2062 //if site has an external ID set, load floating widgets 2063 if (_extID && _plan === "1280") { 2064 window.liveSiteAsyncInit = function() { 2065 LiveSite.init({ 2066 id: _extID, 2067 mode: _device 2068 }); 2069 }; 2070 (function(d, s, id) { 2071 var js, fjs = d.getElementsByTagName(s)[0], 2072 p = "https://", 2073 r = Math.floor(new Date().getTime() / 1000000); 2074 if (d.getElementById(id)) { return; } 2075 js = d.createElement(s); 2076 js.id = id; 2077 js.src = p + "widgets.vcdnita.com/assets/livesite.js?" + r; 2078 fjs.parentNode.insertBefore(js, fjs); 2079 }(document, "script", "livesite-jssdk")); 2080 if(window.flexSite && window.top !== window) { 2081 function isMobile() { 2082 return $.layoutDevice && $.layoutDevice.type === 'mobile'; 2083 } 2084 let isMobileValue = isMobile(); 2085 window.addEventListener('resize', () => { 2086 const currentIsMobileValue = isMobile(); 2087 if(isMobileValue !== currentIsMobileValue){ 2088 window.location.reload(); 2089 } 2090 }); 2091 } 2092 } else { 2093 console.log("ExternalID/vID has not been added to site") 2094 } 2095}) 2096</script>
2096 2097<!-- End Product Custom HTML Markup --> 2098</body> 2099</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.