CINXE.COM
Home Improvement & Design Listings | Philadelphia Magazine
<!DOCTYPE html> <html lang="en-US" class="no-js"> <head> <meta charset="UTF-8" /> <script type="text/javascript"> /* <![CDATA[ */ var gform;gform||(document.addEventListener("gform_main_scripts_loaded",function(){gform.scriptsLoaded=!0}),window.addEventListener("DOMContentLoaded",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,initializeOnLoaded:function(o){gform.domLoaded&&gform.scriptsLoaded?o():!gform.domLoaded&&gform.scriptsLoaded?window.addEventListener("DOMContentLoaded",o):document.addEventListener("gform_main_scripts_loaded",o)},hooks:{action:{},filter:{}},addAction:function(o,n,r,t){gform.addHook("action",o,n,r,t)},addFilter:function(o,n,r,t){gform.addHook("filter",o,n,r,t)},doAction:function(o){gform.doHook("action",o,arguments)},applyFilters:function(o){return gform.doHook("filter",o,arguments)},removeAction:function(o,n){gform.removeHook("action",o,n)},removeFilter:function(o,n,r){gform.removeHook("filter",o,n,r)},addHook:function(o,n,r,t,i){null==gform.hooks[o][n]&&(gform.hooks[o][n]=[]);var e=gform.hooks[o][n];null==i&&(i=n+"_"+e.length),gform.hooks[o][n].push({tag:i,callable:r,priority:t=null==t?10:t})},doHook:function(n,o,r){var t;if(r=Array.prototype.slice.call(r,1),null!=gform.hooks[n][o]&&((o=gform.hooks[n][o]).sort(function(o,n){return o.priority-n.priority}),o.forEach(function(o){"function"!=typeof(t=o.callable)&&(t=window[t]),"action"==n?t.apply(null,r):r[0]=t.apply(null,r)})),"filter"==n)return r[0]},removeHook:function(o,n,t,i){var r;null!=gform.hooks[o][n]&&(r=(r=gform.hooks[o][n]).filter(function(o,n,r){return!!(null!=i&&i!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][n]=r)}}); /* ]]> */ </script> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link rel="preconnect" href="https://securepubads.g.doubleclick.net" /><link rel="preconnect" href="https://www.googleadservices.com" /><link rel="preconnect" href="https://s.ntv.io" /><link rel="preconnect" href="https://ib.adnxs.com" /><link rel="preconnect" href="https://ap.lijit.com" /> <!-- Below is a recommended list of pre-connections, which allow the network to establish each connection quicker, speeding up response times and improving ad performance. --> <link rel="preconnect" href="https://a.pub.network/" crossorigin /> <link rel="preconnect" href="https://b.pub.network/" crossorigin /> <link rel="preconnect" href="https://c.pub.network/" crossorigin /> <link rel="preconnect" href="https://d.pub.network/" crossorigin /> <link rel="preconnect" href="https://btloader.com/" crossorigin /> <link rel="preconnect" href="https://api.btloader.com/" crossorigin /> <link rel="preconnect" href="https://cdn.confiant-integrations.net" crossorigin /> <!-- Below is a link to a CSS file that accounts for Cumulative Layout Shift, a new Core Web Vitals subset that Google uses to help rank your site in search --> <!-- The file is intended to eliminate the layout shifts that are seen when ads load into the page. If you don't want to use this, simply remove this file --> <!-- To find out more about CLS, visit https://web.dev/vitals/ --> <link rel="stylesheet" href="https://a.pub.network/phillymag-com/cls.css"> <script data-cfasync="false" type="text/javascript"> var freestar = freestar || {}; freestar.queue = freestar.queue || []; freestar.config = freestar.config || {}; freestar.config.enabled_slots = []; freestar.config.targeting = [ { "phillymag_banner-1": { "pos": ["1"], } }, { "phillymag_banner-2": { "pos": ["2"], } }, { "phillymag_banner-3": { "pos": ["3"], } }, { "phillymag_rail-1": { "pos": ["1"], } }, { "phillymag_rail-2": { "pos": ["2"], } }, { "phillymag_rail-3": { "pos": ["3"], } }, { "phillymag_curated_module-1": { "pos": ["1"], } }, { "phillymag_curated_module-2": { "pos": ["2"], } }, { "phillymag_curated_module-3": { "pos": ["3"], } }, ]; freestar.initCallback = function () { (freestar.config.enabled_slots.length === 0) ? freestar.initCallbackCalled = false : freestar.newAdSlots(freestar.config.enabled_slots) } </script> <script src="https://a.pub.network/phillymag-com/pubfig.min.js" data-cfasync="false" async></script> <style> #pmLink { visibility: hidden; text-decoration: none; cursor: pointer; background: transparent; border: none; } #pmLink:hover { visibility: visible; color: grey; } </style> <script>(function(html){html.className = html.className.replace(/\bno-js\b/,'js')})(document.documentElement);</script> <title>Home Improvement & Design Listings | Philadelphia Magazine</title> <meta name='robots' content='max-image-preview:large' /> <link rel='dns-prefetch' href='//securepubads.g.doubleclick.net' /> <link rel='dns-prefetch' href='//s.ntv.io' /> <link rel="alternate" type="application/rss+xml" title="Philadelphia Properties » Feed" href="https://www.phillymag.com/home-design/feed/" /> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/cdn10.phillymag.com\/home-design\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.5.5"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://cdn10.phillymag.com/wp-includes/css/dist/block-library/style.min.css?ver=6.5.5' type='text/css' media='all' /> <style id='co-authors-plus-coauthors-style-inline-css' type='text/css'> .wp-block-co-authors-plus-coauthors.is-layout-flow [class*=wp-block-co-authors-plus]{display:inline} </style> <style id='co-authors-plus-avatar-style-inline-css' type='text/css'> .wp-block-co-authors-plus-avatar :where(img){height:auto;max-width:100%;vertical-align:bottom}.wp-block-co-authors-plus-coauthors.is-layout-flow .wp-block-co-authors-plus-avatar :where(img){vertical-align:middle}.wp-block-co-authors-plus-avatar:is(.alignleft,.alignright){display:table}.wp-block-co-authors-plus-avatar.aligncenter{display:table;margin-inline:auto} </style> <style id='co-authors-plus-image-style-inline-css' type='text/css'> .wp-block-co-authors-plus-image{margin-bottom:0}.wp-block-co-authors-plus-image :where(img){height:auto;max-width:100%;vertical-align:bottom}.wp-block-co-authors-plus-coauthors.is-layout-flow .wp-block-co-authors-plus-image :where(img){vertical-align:middle}.wp-block-co-authors-plus-image:is(.alignfull,.alignwide) :where(img){width:100%}.wp-block-co-authors-plus-image:is(.alignleft,.alignright){display:table}.wp-block-co-authors-plus-image.aligncenter{display:table;margin-inline:auto} </style> <style id='global-styles-inline-css' type='text/css'> body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: var(--wp--custom--font-size--20);--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--font-size--2-xl: var(--wp--custom--font-size--48);--wp--preset--font-size--xl: var(--wp--custom--font-size--40);--wp--preset--font-size--l: var(--wp--custom--font-size--24);--wp--preset--font-size--ms: var(--wp--custom--font-size-18);--wp--preset--font-size--s: var(--wp--custom--font-size--16);--wp--preset--font-size--xs: var(--wp--custom--font-size--14);--wp--preset--font-family--inter: "Inter", sans-serif;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);--wp--custom--color--black: #111111;--wp--custom--color--white: #ffffff;--wp--custom--color--gray-50: #f4f4f4;--wp--custom--color--gray-100: #f1f2f3;--wp--custom--color--gray-200: #f9f9f9;--wp--custom--color--gray-300: #d4dbe0;--wp--custom--color--gray-400: #c4c4c4;--wp--custom--color--gray-500: #969696;--wp--custom--color--gray-600: #444545;--wp--custom--color--red: #d3242a;--wp--custom--color--blue: #00aeef;--wp--custom--color--blue-alt: #00648a;--wp--custom--color--blue-100: #f4f8fc;--wp--custom--font-weight--regular: 400;--wp--custom--font-weight--medium: 500;--wp--custom--font-weight--semi-bold: 600;--wp--custom--font-weight--bold: 700;--wp--custom--font-size--base: 1rem;--wp--custom--font-size--48: calc(var(--wp--custom--font-size--base) * 3);--wp--custom--font-size--40: calc(var(--wp--custom--font-size--base) * 2.5);--wp--custom--font-size--24: calc(var(--wp--custom--font-size--base) * 1.5);--wp--custom--font-size--20: calc(var(--wp--custom--font-size--base) * 1.25);--wp--custom--font-size--18: calc(var(--wp--custom--font-size--base) * 1.125);--wp--custom--font-size--16: var(--wp--custom--font-size--base);--wp--custom--font-size--14: calc(var(--wp--custom--font-size--base) * 0.875);--wp--custom--line-height--100: 1;--wp--custom--line-height--110: 1.1;--wp--custom--line-height--115: 1.15;--wp--custom--line-height--130: 1.30;--wp--custom--line-height--135: 1.35;--wp--custom--line-height--145: 1.45;--wp--custom--line-height--150: 1.50;--wp--custom--border-radius--s: 4px;--wp--custom--border-radius--m: 6px;--wp--custom--border-radius--l: 8px;--wp--custom--border-radius--xl: 16px;--wp--custom--box-shadow--1: 0px 5px 18px 0px rgba(0, 0, 0, 0.80);--wp--custom--box-shadow--2: 0px 20px 30px -10px rgba(0, 0, 0, 0.70);--wp--custom--box-shadow--3: 0 5px 18px 0 rgb(151 151 151 / 20%);--wp--custom--spacing--base: 8px;--wp--custom--spacing--08: calc(var(--wp--custom--spacing--base) * 1);--wp--custom--spacing--16: calc(var(--wp--custom--spacing--base) * 2);--wp--custom--spacing--24: calc(var(--wp--custom--spacing--base) * 3);--wp--custom--spacing--32: calc(var(--wp--custom--spacing--base) * 4);--wp--custom--spacing--40: calc(var(--wp--custom--spacing--base) * 5);--wp--custom--spacing--48: calc(var(--wp--custom--spacing--base) * 6);--wp--custom--spacing--56: calc(var(--wp--custom--spacing--base) * 7);--wp--custom--spacing--64: calc(var(--wp--custom--spacing--base) * 8);--wp--custom--spacing--72: calc(var(--wp--custom--spacing--base) * 9);--wp--custom--spacing--80: calc(var(--wp--custom--spacing--base) * 10);}body { margin: 0;--wp--style--global--content-size: 960px;--wp--style--global--wide-size: 1358px; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}body{font-family: "Inter", sans-serif;font-size: var(--wp--custom--font-size--base);padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}a:where(:not(.wp-element-button)){text-decoration: underline;}.wp-element-button, .wp-block-button__link{background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;line-height: inherit;padding: calc(0.667em + 2px) calc(1.333em + 2px);text-decoration: none;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.has-2-xl-font-size{font-size: var(--wp--preset--font-size--2-xl) !important;}.has-xl-font-size{font-size: var(--wp--preset--font-size--xl) !important;}.has-l-font-size{font-size: var(--wp--preset--font-size--l) !important;}.has-ms-font-size{font-size: var(--wp--preset--font-size--ms) !important;}.has-s-font-size{font-size: var(--wp--preset--font-size--s) !important;}.has-xs-font-size{font-size: var(--wp--preset--font-size--xs) !important;}.has-inter-font-family{font-family: var(--wp--preset--font-family--inter) !important;} .wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} .wp-block-pullquote{font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='styles-css' href='https://cdn10.phillymag.com/wp-content/themes/metrocorp-directory-new/dist/css/frontend.css?ver=3a8cacb665f12375223f' type='text/css' media='all' /> <script type="text/javascript" id="gpt-js-extra"> /* <![CDATA[ */ var mcAds = {"advertiserSlug":"","currentSite":"phillymag","gptNetworkID":"\/307442\/a.site195.tmus\/","hasBannerThree":"false","isArchive":"false","isGeodir":"true","isSingle":"","postType":"post","slots":{"banner-1":{"adUnit":"banner","adSizes":"[[728, 90], [320, 100], [970, 250], [320, 50], [970, 90]]","id":"banner-1","mapping":"bannerOneMapping","hasSettings":true,"targeting":{"pos":"1"}},"mobile_sticky":{"adUnit":"mobile_sticky","adSizes":"[320, 50]","id":"mobile_sticky","isMobile":true,"hasSettings":true}},"slotsFired":[],"slotsViewed":[],"targeting":{"post_ID":"9999934","cat":[],"directory":"Home Design Pro","environment":"production","post_type":"home","category":"property-listings","mgd_search":"property-listings-results"},"debug":""}; /* ]]> */ </script> <script type="text/javascript" src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" id="gpt-js" async></script> <script type="text/javascript" id="gpt-js-after"> /* <![CDATA[ */ !function(){var e={909:function(){window.googletag=window.googletag||{},googletag.cmd=googletag.cmd||[],googletag.cmd.push((function(){mcAds.mapping={},mcAds.mapping.bannerOneMapping=googletag.sizeMapping().addSize([0,0],[[320,100],[320,50]]).addSize([768,200],[[728,90]]).addSize([1050,200],[[728,90],[970,90],[970,250]]).build(),mcAds.mapping.bannerMapping=googletag.sizeMapping().addSize([0,0],[[300,250],[320,100],[320,50]]).addSize([768,200],[[728,90]]).addSize([1050,200],[[728,90],[970,90],[970,250]]).build(),mcAds.mapping.railMapping=googletag.sizeMapping().addSize([0,0],[[300,250],[320,100],[320,50]]).addSize([768,200],[[300,250],[300,600]]).addSize([1050,200],[[300,250],[300,600]]).build(),mcAds.mapping.toprailMapping=googletag.sizeMapping().addSize([0,0],[[300,150],[300,90]]).addSize([768,200],[[300,150],[300,90]]).addSize([1050,200],[[300,150],[300,90]]).build(),mcAds.mapping.inlineMapping=googletag.sizeMapping().addSize([0,0],[[300,250],[320,50],[320,100]]).addSize([768,200],[[300,250],[320,50],[320,100]]).addSize([1050,200],[[300,250],[320,50],[320,100]]).build(),mcAds.mapping.searchMapping=googletag.sizeMapping().addSize([0,0],[[300,250],[320,100],[320,50]]).addSize([768,200],[[728,90],[300,250]]).addSize([1050,200],[[728,90],[970,90],[970,250],[300,250]]).build(),mcAds.mapping.adrevealMapping=googletag.sizeMapping().addSize([0,0],[[360,585]]).addSize([650,200],[[780,300]]).addSize([1050,200],[[1300,500]]).build()}))},90:function(){gtpMaybeMoveRailOneSlot=function(){if(!(window.innerWidth<=768)&&"undefined"!==typeof mcAds&&mcAds.isSingle){var e=document.querySelector(".sidebar");if(e){var t=document.getElementById(mcAds.currentSite+"_rail-1");if(t){t.classList.remove("freestar-sticky"),t.classList.add("sticky-single-ad");var i=e.children.length;e.insertBefore(t,e.children[i]),window.stickyAds&&window.stickyAds.update()}}}},gptDirectoryMaybeRepositionBannerSlot=function(){if(!(window.innerWidth<=768)&&"undefined"!==typeof mcgdVars&&"isSingle"in mcgdVars&&"true"===mcgdVars.isSingle){var e=document.getElementById(mcAds.currentSite+"banner-1"),t=document.getElementById("geodir-wrapper-content").querySelector(".listing-profile");e&&t&&t.insertBefore(e,t.lastChild.nextSibling)}}},547:function(){window.googletag=window.googletag||{},googletag.cmd=googletag.cmd||[],googletag.cmd.push((function(){if(mcAds.slots){window.gptDirectoryMaybeRepositionBannerSlot();var e=window.innerWidth<=768;if("targeting"in mcAds&&"object"===typeof mcAds.targeting&&null!==mcAds.targeting)for(var t in mcAds.targeting)googletag.pubads().setTargeting(t,mcAds.targeting[t]);for(var i in mcAds.slots){var n;if((!("isMobile"in mcAds.slots[i])||!mcAds.slots[i].isMobile||e)&&((!("isDesktop"in mcAds.slots[i]&&mcAds.slots[i].isDesktop&&e)||document.getElementById("bestof-nav-wrapper"))&&document.getElementById(i))){if("outOfPage"in mcAds.slots[i]&&mcAds.slots[i].outOfPage){var o=mcAds.slots[i].id;"outOfPageFormat"in mcAds.slots[i]&&(o=googletag.enums.OutOfPageFormat[mcAds.slots[i].outOfPageFormat]),n=googletag.defineOutOfPageSlot(mcAds.gptNetworkID+mcAds.slots[i].adUnit,o)}else{var d=mcAds.slots[i].adSizes;0===d.lastIndexOf("[",0)&&(d=JSON.parse(d)),n=googletag.defineSlot(mcAds.gptNetworkID+mcAds.slots[i].adUnit,d,mcAds.slots[i].id)}if("mapping"in mcAds&&"mapping"in mcAds.slots[i]&&mcAds.slots[i].mapping in mcAds.mapping&&n.defineSizeMapping(mcAds.mapping[mcAds.slots[i].mapping]),"targeting"in mcAds.slots[i]&&"object"===typeof mcAds.slots[i].targeting&&null!==mcAds.slots[i].targeting)for(var s in mcAds.slots[i].targeting)n.setTargeting(s,mcAds.slots[i].targeting[s]);n.addService(googletag.pubads()),mcAds.slotsFired[mcAds.slots[i].id]=n}}googletag.pubads().enableAsyncRendering(),googletag.pubads().disableInitialLoad(),googletag.pubads().enableSingleRequest(),googletag.enableServices(),window.gtpMaybeMoveRailOneSlot(),googletag.pubads().addEventListener("slotRenderEnded",(function(t){var i=t.slot.getSlotElementId(),n=(String(t.size),mcAds.currentSite+"_ad-reveal");if(!t.isEmpty&&i===n){console.log("HAS AD REVEAL"),document.body.classList.add("has-reveal");var o=document.getElementById(n);console.log(o);var d=o.clientHeight,s=document.getElementsByTagName("body")[0],a=document.body,g=document.documentElement,l=Math.max(a.scrollHeight,a.offsetHeight,g.clientHeight,g.scrollHeight,g.offsetHeight),r=document.getElementById("under-reveal"),c=document.getElementById("wpadminbar");c&&(c.style.position="absolute",c.style.top=0),r.style.height=l+"px";var p=d,m=(p-0)/60,u=0,f=!1,y=setInterval((function(){if((u+=m)>=p)return clearInterval(y),s.style.marginTop=p+"px",r.style.top=p+"px",c&&(c.style.top=p+"px"),f=!0,void("undefined"!==window.stickyHeader&&window.mcStickyHeader.update());s.style.marginTop=u+"px",r.style.top=u+"px",c&&(c.style.top=u+"px")}),1e3/60);document.addEventListener("scroll",(function(t){if(f)if(window.pageYOffset>d){var i=document.getElementById("js-mobile-sticky");e&&(i.style.display="block"),c&&(c.style.position="fixed",c.style.top=0),o.style.visibility="hidden"}else c&&(c.style.position="absolute",c.style.top=p+"px"),o.style.visibility="visible"}))}}))}}))},193:function(){window.addEventListener("message",(function(e){if("initdfp"===e.data){if(!e.source)return;var t=window.innerWidth||document.body.clientWidth,i="tiny";t>=1400?i="x-large":t>=1024?i="large":t>=970?i="fullmenu":t>=768?i="medium":t>=560?i="small-medium":t>=320&&(i="small");var n="breakpoint:"+i+"-mc";e.source.postMessage(n,"*")}}),!1)}},t={};function i(n){var o=t[n];if(void 0!==o)return o.exports;var d=t[n]={exports:{}};return e[n](d,d.exports,i),d.exports}i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,{a:t}),t},i.d=function(e,t){for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){"use strict";i(90),i(909),i(547),i(193)}()}(); /* ]]> */ </script> <script type="text/javascript" src="https://s.ntv.io/serve/load.js" id="nativo-tracking-js" async></script> <link rel="https://api.w.org/" href="https://www.phillymag.com/home-design/wp-json/" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.phillymag.com/home-design/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress 6.5.5" /> <meta name="description" content="Find the top-rated home services businesses in Philadelphia. Get information on the top specialty businesses that can improve your Furniture, Lighting, Heating and Cooling, Wall Coverings, Custom Closets, Home Accent Decor and more."><style id='wp-fonts-local' type='text/css'> @font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:block;src:url('https://cdn10.phillymag.com/wp-content/themes/metrocorp-directory-new/assets/fonts/inter/inter-v12-latin-regular.woff2') format('woff2');} @font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:block;src:url('https://cdn10.phillymag.com/wp-content/themes/metrocorp-directory-new/assets/fonts/inter/inter-v12-latin-500.woff2') format('woff2');} @font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:block;src:url('https://cdn10.phillymag.com/wp-content/themes/metrocorp-directory-new/assets/fonts/inter/inter-v12-latin-600.woff2') format('woff2');} @font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:block;src:url('https://cdn10.phillymag.com/wp-content/themes/metrocorp-directory-new/assets/fonts/inter/inter-v12-latin-700.woff2') format('woff2');} </style> <link rel="icon" href="https://cdn10.phillymag.com/wp-content/uploads/sites/34/2018/05/cropped-phillymag-favicon-32x32.png" sizes="32x32" /> <link rel="icon" href="https://cdn10.phillymag.com/wp-content/uploads/sites/34/2018/05/cropped-phillymag-favicon-32x32.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://cdn10.phillymag.com/wp-content/uploads/sites/34/2018/05/cropped-phillymag-favicon-32x32.png" /> <meta name="msapplication-TileImage" content="https://cdn10.phillymag.com/wp-content/uploads/sites/34/2018/05/cropped-phillymag-favicon-32x32.png" /> <script>dataLayer = [{"content_type":"non-post","post_id":"non-post"}];gtmLoaded=true;</script><!-- Google Tag Manager --> <noscript> <iframe src="//www.googletagmanager.com/ns.html?id=GTM-PLKVN8" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <script> window.dataLayer = window.dataLayer || []; if ( typeof dataLayer[0].gaReferer === 'undefined' ) { var referrer = document.referrer, siteURL = window.location.origin; if ( ! referrer || referrer.indexOf( siteURL ) === 0 ) { dataLayer[0].gaReferer = null; } else { dataLayer[0].gaReferer = referrer; } } dataLayer.push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); </script> <script async type="text/javascript" src="https://www.googletagmanager.com/gtm.js?id=GTM-PLKVN8"></script><!-- End Google Tag Manager --> </head> <body class="home blog is-philly"> <a href="#main" class="skip-to-content-link visually-hidden-focusable">Skip to main content</a> <header class="banner banner--cta philly" id="banner"> <div class="header-top"> <div class="container"> <div id="inner-header"> <a href="https://www.phillymag.com/" class="site-logo"> <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="400.209" height="80.156" viewBox="0 0 400.209 80.156"><path fill="#231F20" d="M100.256 15.164H87.924V2.84h12.332v12.324zm3.152 51.054h-3.155V20.359H84.762v2.523h3.153V66.218h-3.153v2.847h18.646v-2.847zm254.328-51.054h-12.332V2.84h12.332v12.324zM16.855 2.943h2.523c5.836 0 7.177 1.64 7.177 11.626v10.655c0 9.908-1.341 11.549-7.177 11.549h-2.523V2.943zm3.132 63.266h-3.548V39.708h5.859c12.146 0 17.563-4.47 17.563-14.487V14.493C39.861 4.475 34.444.008 22.298.008H0v2.914h3.551v63.287H0v2.85h19.987v-2.85zm118.998-7.373c0 3.282.395 5.59 3.944 5.59 1.576 0 3.548-1.275 4.889-2.468V42.967c-1.42-1.116-3.155-1.938-4.889-1.938-3.392 0-3.944 2.011-3.944 5.143v12.664zm-12.674-2.827V49c0-8.201 3.676-12.025 11.569-12.025 2.271 0 6.555.257 9.74 1.964l.614.329V28.957c0-3.778-.36-6.672-4.912-6.672-4.317 0-4.675 3.156-4.675 6.672v3.225h-11.074v-1.36c0-7.49 5.152-11.133 15.749-11.133 11.185 0 17.248 2.132 17.248 13.371v33.515h3.154v2.848h-15.49v-3.875l-.68.559c-2.703 2.217-6.224 3.344-10.463 3.344-7.355 0-10.78-4.274-10.78-13.442m51.994-27.498c0-3.055.474-4.694 3.706-4.694 1.737 0 3.55.746 5.126 1.639v36.353c-1.34 1.119-3.31 2.392-4.888 2.392-3.55 0-3.962-2.234-3.962-5.511l.018-30.179zm-1.893 40.94c4.239 0 7.757-1.127 10.46-3.344l.681-.559v3.875h15.414v-2.848h-3.158V0h-15.41v2.835h3.154v19.339l-.6-.289c-3.017-1.465-6.508-2.273-9.83-2.273-7.734 0-11.491 3.449-11.491 10.54v25.857c0 9.168 3.424 13.442 10.78 13.442m40.717-27.378h9.743V29.081c.001-1.748.001-3.402-.586-4.698-.691-1.515-2.081-2.248-4.249-2.248-2.201 0-3.61.733-4.31 2.245-.599 1.294-.599 2.95-.598 4.7V42.073zM204.871 57.05V32.015c0-8.346 5.644-12.403 17.246-12.403 11.501 0 17.091 4.057 17.091 12.403v12.996h-22.079v14.943c0 3.954.368 6.976 4.988 6.976 1.58 0 2.728-.38 3.504-1.158 1.263-1.27 1.257-3.32 1.252-5.305l-.001-.438V49.792h12.336v7.258c0 8.344-5.59 12.401-17.091 12.401-11.602 0-17.246-4.057-17.246-12.401m54.887 9.542H256.525V0h-15.413v2.838h3.157V66.592h-3.157v2.847h18.646v-2.847zm-135.242 2.473h-18.645v-2.847h3.152V2.838h-3.152V.001h15.413v66.217H124.516v2.847zm250.683-22.893c0-3.132.55-5.143 3.942-5.143 1.737 0 3.47.822 4.89 1.938v18.991c-1.34 1.193-3.313 2.468-4.89 2.468-3.549 0-3.942-2.308-3.942-5.59V46.172zm-1.623 23.279c4.236 0 7.755-1.127 10.461-3.344l.681-.559v3.875h15.491v-2.848h-3.154V33.06c0-11.239-6.062-13.371-17.251-13.371-10.598 0-15.749 3.643-15.749 11.133v1.36h11.076v-3.225c0-3.516.357-6.672 4.673-6.672 4.553 0 4.914 2.894 4.914 6.672v10.311l-.612-.329c-3.192-1.707-7.472-1.964-9.741-1.964-7.895 0-11.573 3.824-11.573 12.025v7.009c0 9.168 3.428 13.442 10.784 13.442m-12.687-.386h-18.646v-2.847h3.153V22.882h-3.153v-2.523h15.491v45.859H360.889v2.847zm-84.543-43.682c1.578-.894 3.392-1.638 5.127-1.638 3.311 0 3.705 1.638 3.705 4.618v30.473c0 3.282-.394 5.59-3.942 5.59-1.577 0-3.549-.677-4.89-1.87V25.383zm-.898 40.778.678.54c3.021 2.415 6.854 2.75 10.547 2.75 7.299 0 10.7-4.272 10.7-13.445V30.077c0-7.039-3.735-10.462-11.413-10.462-3.374 0-6.895.805-9.911 2.27l-.601.292v-1.818h-15.41v2.521h3.157v54.435h-3.157v2.841h18.566v-2.841h-3.156V66.161zm42.475 2.904h-18.644v-2.847h3.155V2.838h-3.155V.001h15.489V22.241l.595-.282c3.189-1.507 6.502-2.271 9.837-2.271 7.573 0 11.413 3.522 11.413 10.464l.007 35.649v.417h3.227v2.847h-18.645v-2.847h3.154V28.885c0-2.694-.317-5.112-4.124-5.112-1.929 0-3.773.854-5.324 1.688l-.22.118v40.639h3.235v2.847zM60.379 66.218H57.147V25.579l.218-.118c1.458-.785 3.381-1.688 5.324-1.688 3.807 0 4.123 2.418 4.123 5.112v37.333H63.656v2.847h18.646v-2.847h-3.179V30.152c0-6.942-3.859-10.464-11.465-10.464-3.344 0-6.773.786-9.917 2.271l-.594.282V.001H41.733v2.837H44.889v63.38H41.733v2.847h18.646v-2.847z" /></svg> <span class="screen-reader-text">Philadelphia Properties</span> </a> <div id="submenu-container"> <ul class="mp-submenu"> <li id="menu-item-3970526" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3970526"><a href="/news/">City Life</a></li> <li id="menu-item-3970528" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3970528"><a href="/foobooz/">Restaurants</a></li> <li id="menu-item-3970532" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3970532"><a href="/be-well-philly/">Health</a></li> <li id="menu-item-3970533" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3970533"><a href="/life-style/">Life & Style</a></li> <li id="menu-item-3970535" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3970535"><a href="/philadelphia-wedding/">Weddings</a></li> <li id="menu-item-3970538" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3970538"><a href="/property/">Home & Property</a></li> <li id="menu-item-3970539" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3970539"><a href="/things-to-do/">Things To Do</a></li> </ul> </div> </div> <div id="mobile-nav" tabindex="0"> <button id="m-user-menu"><svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 36 36"><path d="M4 27h28v-3H4v3zm0-8h28v-3H4v3zM4 8v3h28V8H4z" /></svg></button> <ul class="mp-submenu" id="mobile-dropdown"> <li class='menu-item menu-item-type-custom menu-item-object-custom'><a href="/news/" tabindex="0">City Life</a></li> <li class='menu-item menu-item-type-custom menu-item-object-custom'><a href="/foobooz/" tabindex="0">Restaurants</a></li> <li class='menu-item menu-item-type-custom menu-item-object-custom'><a href="/be-well-philly/" tabindex="0">Health</a></li> <li class='menu-item menu-item-type-custom menu-item-object-custom'><a href="/life-style/" tabindex="0">Life & Style</a></li> <li class='menu-item menu-item-type-custom menu-item-object-custom'><a href="/philadelphia-wedding/" tabindex="0">Weddings</a></li> <li class='menu-item menu-item-type-custom menu-item-object-custom'><a href="/property/" tabindex="0">Home & Property</a></li> <li class='menu-item menu-item-type-custom menu-item-object-custom'><a href="/things-to-do/" tabindex="0">Things To Do</a></li> </ul> </div> <button id="m-close-menu"><svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="21" height="21" viewBox="7.5 7.5 21 21"><path d="M28.5 9.62 26.38 7.5 18 15.88 9.62 7.5 7.5 9.62 15.88 18 7.5 26.38l2.12 2.12L18 20.12l8.38 8.38 2.12-2.12L20.12 18l8.38-8.38z" /></svg></button> </div> </div> </header> <main id="main" role="main" tabindex="-1" class="main container"> <div class="listing-contact-container"> <h2>Send a message to Harth Builders</h2><a href="https://www.phillymag.com/home-design/harth-builders/" class="button-link"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="11" fill="none" viewBox="0 0 12 11"><path fill="#000" d="m6 .167.94.94-3.72 3.726h8.113v1.334H3.22l3.72 3.726-.94.94L.667 5.5 6 .167Z"/></svg> Back</a> </h2> <hr> <script type="text/javascript"></script> <div class='gf_browser_ie gf_browser_ie7 gform_wrapper gravity-theme gform-theme--no-framework' data-form-theme='gravity-theme' data-form-index='0' id='gform_wrapper_193' ><div id='gf_193' class='gform_anchor' tabindex='-1'></div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_193' id='gform_193' action='/home-design/contact/20688/#gf_193' data-formid='193' novalidate> <div class='gform-body gform_body'><div id='gform_fields_193' class='gform_fields top_label form_sublabel_below description_below validation_below'><div id="field_193_4" class="gfield gfield--type-text gfield--input-type-text gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible" data-js-reload="field_193_4" ><label class='gfield_label gform-field-label' for='input_193_4'>Name<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></label><div class='ginput_container ginput_container_text'><input name='input_4' id='input_193_4' type='text' value='' class='' aria-required="true" aria-invalid="false" /> </div></div><div id="field_193_1" class="gfield gfield--type-phone gfield--input-type-phone gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible" data-js-reload="field_193_1" ><label class='gfield_label gform-field-label' for='input_193_1'>Contact Number<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></label><div class='ginput_container ginput_container_phone'><input name='input_1' id='input_193_1' type='tel' value='' class='' aria-required="true" aria-invalid="false" /></div></div><div id="field_193_2" class="gfield gfield--type-email gfield--input-type-email gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible" data-js-reload="field_193_2" ><label class='gfield_label gform-field-label' for='input_193_2'>Email Address<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_193_2' type='email' value='' class='' aria-required="true" aria-invalid="false" /> </div></div><div id="field_193_3" class="gfield gfield--type-textarea gfield--input-type-textarea gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible" data-js-reload="field_193_3" ><label class='gfield_label gform-field-label' for='input_193_3'>Message<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></label><div class='ginput_container ginput_container_textarea'><textarea name='input_3' id='input_193_3' class='textarea ' aria-required="true" aria-invalid="false" rows='10' cols='50'></textarea></div></div><div id="field_193_5" class="gfield gfield--type-captcha gfield--input-type-captcha gfield--width-full field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible" data-js-reload="field_193_5" ><label class='gfield_label gform-field-label' for='input_193_5'>CAPTCHA</label><div id='input_193_5' class='ginput_container ginput_recaptcha' data-sitekey='6Lf6sxsUAAAAAF_IRoqWnbh77hXDwBRwmNxNLemK' data-theme='light' data-tabindex='0' data-badge=''></div></div></div></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_193' class='gform_button button' value='Send Message' onclick='if(window["gf_submitting_193"]){return false;} if( !jQuery("#gform_193")[0].checkValidity || jQuery("#gform_193")[0].checkValidity()){window["gf_submitting_193"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_193"]){return false;} if( !jQuery("#gform_193")[0].checkValidity || jQuery("#gform_193")[0].checkValidity()){window["gf_submitting_193"]=true;} jQuery("#gform_193").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=193&title=&description=&tabindex=0&theme=gravity-theme' /> <input type='hidden' class='gform_hidden' name='is_submit_193' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='193' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_193' value='WyJbXSIsImU2ZjAyNTg2ZTRjYjkyZTMwOTQyYzMwODFjNDc4NTUzIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_193' id='gform_target_page_number_193' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_193' id='gform_source_page_number_193' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_193' id='gform_ajax_frame_193' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script type="text/javascript"> /* <![CDATA[ */ gform.initializeOnLoaded( function() {gformInitSpinner( 193, 'https://www.phillymag.com/home-design/wp-content/plugins/gravityforms/images/spinner.svg', true );jQuery('#gform_ajax_frame_193').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_193');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_193').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_193').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_193').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_193').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_193').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_193').val();gformInitSpinner( 193, 'https://www.phillymag.com/home-design/wp-content/plugins/gravityforms/images/spinner.svg', true );jQuery(document).trigger('gform_page_loaded', [193, current_page]);window['gf_submitting_193'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}jQuery('#gform_wrapper_193').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_193').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [193]);window['gf_submitting_193'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_193').text());}else{jQuery('#gform_193').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger("gform_pre_post_render", [{ formId: "193", currentPage: "current_page", abort: function() { this.preventDefault(); } }]); if (event && event.defaultPrevented) { return; } const gformWrapperDiv = document.getElementById( "gform_wrapper_193" ); if ( gformWrapperDiv ) { const visibilitySpan = document.createElement( "span" ); visibilitySpan.id = "gform_visibility_test_193"; gformWrapperDiv.insertAdjacentElement( "afterend", visibilitySpan ); } const visibilityTestDiv = document.getElementById( "gform_visibility_test_193" ); let postRenderFired = false; function triggerPostRender() { if ( postRenderFired ) { return; } postRenderFired = true; jQuery( document ).trigger( 'gform_post_render', [193, current_page] ); gform.utils.trigger( { event: 'gform/postRender', native: false, data: { formId: 193, currentPage: current_page } } ); if ( visibilityTestDiv ) { visibilityTestDiv.parentNode.removeChild( visibilityTestDiv ); } } function debounce( func, wait, immediate ) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if ( !immediate ) func.apply( context, args ); }; var callNow = immediate && !timeout; clearTimeout( timeout ); timeout = setTimeout( later, wait ); if ( callNow ) func.apply( context, args ); }; } const debouncedTriggerPostRender = debounce( function() { triggerPostRender(); }, 200 ); if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) { const observer = new MutationObserver( ( mutations ) => { mutations.forEach( ( mutation ) => { if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) { debouncedTriggerPostRender(); observer.disconnect(); } }); }); observer.observe( document.body, { attributes: true, childList: false, subtree: true, attributeFilter: [ 'style', 'class' ], }); } else { triggerPostRender(); } } );} ); /* ]]> */ </script> <p><small> This site is protected by reCAPTCHA and the Google <a href="https://policies.google.com/privacy">Privacy Policy</a> and <a href="https://policies.google.com/terms">Terms of Service</a> apply. </small></p> </div> </main> <footer class="site-footer"> <div class="container"> <a href="https://www.phillymag.com/home-design" class="footer-logo"> <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="400.209" height="80.156" viewBox="0 0 400.209 80.156"><path fill="#231F20" d="M100.256 15.164H87.924V2.84h12.332v12.324zm3.152 51.054h-3.155V20.359H84.762v2.523h3.153V66.218h-3.153v2.847h18.646v-2.847zm254.328-51.054h-12.332V2.84h12.332v12.324zM16.855 2.943h2.523c5.836 0 7.177 1.64 7.177 11.626v10.655c0 9.908-1.341 11.549-7.177 11.549h-2.523V2.943zm3.132 63.266h-3.548V39.708h5.859c12.146 0 17.563-4.47 17.563-14.487V14.493C39.861 4.475 34.444.008 22.298.008H0v2.914h3.551v63.287H0v2.85h19.987v-2.85zm118.998-7.373c0 3.282.395 5.59 3.944 5.59 1.576 0 3.548-1.275 4.889-2.468V42.967c-1.42-1.116-3.155-1.938-4.889-1.938-3.392 0-3.944 2.011-3.944 5.143v12.664zm-12.674-2.827V49c0-8.201 3.676-12.025 11.569-12.025 2.271 0 6.555.257 9.74 1.964l.614.329V28.957c0-3.778-.36-6.672-4.912-6.672-4.317 0-4.675 3.156-4.675 6.672v3.225h-11.074v-1.36c0-7.49 5.152-11.133 15.749-11.133 11.185 0 17.248 2.132 17.248 13.371v33.515h3.154v2.848h-15.49v-3.875l-.68.559c-2.703 2.217-6.224 3.344-10.463 3.344-7.355 0-10.78-4.274-10.78-13.442m51.994-27.498c0-3.055.474-4.694 3.706-4.694 1.737 0 3.55.746 5.126 1.639v36.353c-1.34 1.119-3.31 2.392-4.888 2.392-3.55 0-3.962-2.234-3.962-5.511l.018-30.179zm-1.893 40.94c4.239 0 7.757-1.127 10.46-3.344l.681-.559v3.875h15.414v-2.848h-3.158V0h-15.41v2.835h3.154v19.339l-.6-.289c-3.017-1.465-6.508-2.273-9.83-2.273-7.734 0-11.491 3.449-11.491 10.54v25.857c0 9.168 3.424 13.442 10.78 13.442m40.717-27.378h9.743V29.081c.001-1.748.001-3.402-.586-4.698-.691-1.515-2.081-2.248-4.249-2.248-2.201 0-3.61.733-4.31 2.245-.599 1.294-.599 2.95-.598 4.7V42.073zM204.871 57.05V32.015c0-8.346 5.644-12.403 17.246-12.403 11.501 0 17.091 4.057 17.091 12.403v12.996h-22.079v14.943c0 3.954.368 6.976 4.988 6.976 1.58 0 2.728-.38 3.504-1.158 1.263-1.27 1.257-3.32 1.252-5.305l-.001-.438V49.792h12.336v7.258c0 8.344-5.59 12.401-17.091 12.401-11.602 0-17.246-4.057-17.246-12.401m54.887 9.542H256.525V0h-15.413v2.838h3.157V66.592h-3.157v2.847h18.646v-2.847zm-135.242 2.473h-18.645v-2.847h3.152V2.838h-3.152V.001h15.413v66.217H124.516v2.847zm250.683-22.893c0-3.132.55-5.143 3.942-5.143 1.737 0 3.47.822 4.89 1.938v18.991c-1.34 1.193-3.313 2.468-4.89 2.468-3.549 0-3.942-2.308-3.942-5.59V46.172zm-1.623 23.279c4.236 0 7.755-1.127 10.461-3.344l.681-.559v3.875h15.491v-2.848h-3.154V33.06c0-11.239-6.062-13.371-17.251-13.371-10.598 0-15.749 3.643-15.749 11.133v1.36h11.076v-3.225c0-3.516.357-6.672 4.673-6.672 4.553 0 4.914 2.894 4.914 6.672v10.311l-.612-.329c-3.192-1.707-7.472-1.964-9.741-1.964-7.895 0-11.573 3.824-11.573 12.025v7.009c0 9.168 3.428 13.442 10.784 13.442m-12.687-.386h-18.646v-2.847h3.153V22.882h-3.153v-2.523h15.491v45.859H360.889v2.847zm-84.543-43.682c1.578-.894 3.392-1.638 5.127-1.638 3.311 0 3.705 1.638 3.705 4.618v30.473c0 3.282-.394 5.59-3.942 5.59-1.577 0-3.549-.677-4.89-1.87V25.383zm-.898 40.778.678.54c3.021 2.415 6.854 2.75 10.547 2.75 7.299 0 10.7-4.272 10.7-13.445V30.077c0-7.039-3.735-10.462-11.413-10.462-3.374 0-6.895.805-9.911 2.27l-.601.292v-1.818h-15.41v2.521h3.157v54.435h-3.157v2.841h18.566v-2.841h-3.156V66.161zm42.475 2.904h-18.644v-2.847h3.155V2.838h-3.155V.001h15.489V22.241l.595-.282c3.189-1.507 6.502-2.271 9.837-2.271 7.573 0 11.413 3.522 11.413 10.464l.007 35.649v.417h3.227v2.847h-18.645v-2.847h3.154V28.885c0-2.694-.317-5.112-4.124-5.112-1.929 0-3.773.854-5.324 1.688l-.22.118v40.639h3.235v2.847zM60.379 66.218H57.147V25.579l.218-.118c1.458-.785 3.381-1.688 5.324-1.688 3.807 0 4.123 2.418 4.123 5.112v37.333H63.656v2.847h18.646v-2.847h-3.179V30.152c0-6.942-3.859-10.464-11.465-10.464-3.344 0-6.773.786-9.917 2.271l-.594.282V.001H41.733v2.837H44.889v63.38H41.733v2.847h18.646v-2.847z" /></svg> <span class="screen-reader-text">Philadelphia Properties</span> </a> <p class="footer-copyright">2024 © Metro Corp. All Rights Reserved.</p> </div> </footer> <button id="pmLink">Privacy Manager</button><link rel='stylesheet' id='gform_basic-css' href='https://cdn10.phillymag.com/wp-content/plugins/gravityforms/assets/css/dist/basic.min.css?ver=2.8.16' type='text/css' media='all' /> <link rel='stylesheet' id='gform_theme_components-css' href='https://cdn10.phillymag.com/wp-content/plugins/gravityforms/assets/css/dist/theme-components.min.css?ver=2.8.16' type='text/css' media='all' /> <link rel='stylesheet' id='gform_theme_ie11-css' href='https://cdn10.phillymag.com/wp-content/plugins/gravityforms/assets/css/dist/theme-ie11.min.css?ver=2.8.16' type='text/css' media='all' /> <link rel='stylesheet' id='gform_theme-css' href='https://cdn10.phillymag.com/wp-content/plugins/gravityforms/assets/css/dist/theme.min.css?ver=2.8.16' type='text/css' media='all' /> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-includes/js/dist/vendor/wp-polyfill-inert.min.js?ver=3.1.2" id="wp-polyfill-inert-js"></script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-includes/js/dist/vendor/regenerator-runtime.min.js?ver=0.14.0" id="regenerator-runtime-js"></script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-includes/js/dist/vendor/wp-polyfill.min.js?ver=3.15.0" id="wp-polyfill-js"></script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-includes/js/dist/dom-ready.min.js?ver=f77871ff7694fffea381" id="wp-dom-ready-js"></script> <script type="text/javascript" id="frontend-js-extra"> /* <![CDATA[ */ var mcDirectoryVars = {"directoryName":"Philadelphia Properties","isSingle":"","isEdl":"","endpoints":{"locationAutocomplete":"https:\/\/www.phillymag.com\/home-design\/wp-json\/metrocorp\/v1\/search\/location-autocomplete\/?s="},"showLess":"Less Details","showMore":"More Details"}; /* ]]> */ </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/themes/metrocorp-directory-new/dist/js/frontend.js?ver=3a8cacb665f12375223f" id="frontend-js"></script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-ads//dist/js/metrocorp-ads-secondary.js?ver=842a0c154e5d9bc4a95b" id="metrocorp-ads-secondary-js" defer></script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-includes/js/dist/hooks.min.js?ver=2810c76e705dd1a53b18" id="wp-hooks-js"></script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-includes/js/dist/i18n.min.js?ver=5e580eb46a90c2b997e6" id="wp-i18n-js"></script> <script type="text/javascript" id="wp-i18n-js-after"> /* <![CDATA[ */ wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); /* ]]> */ </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-includes/js/dist/a11y.min.js?ver=d90eebea464f6c09bfd5" id="wp-a11y-js"></script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script> <script type="text/javascript" defer='defer' src="https://cdn10.phillymag.com/wp-content/plugins/gravityforms/js/jquery.json.min.js?ver=2.8.16" id="gform_json-js"></script> <script type="text/javascript" id="gform_gravityforms-js-extra"> /* <![CDATA[ */ var gform_i18n = {"datepicker":{"days":{"monday":"Mo","tuesday":"Tu","wednesday":"We","thursday":"Th","friday":"Fr","saturday":"Sa","sunday":"Su"},"months":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"},"firstDay":1,"iconText":"Select date"}}; var gf_legacy_multi = []; var gform_gravityforms = {"strings":{"invalid_file_extension":"This type of file is not allowed. Must be one of the following:","delete_file":"Delete this file","in_progress":"in progress","file_exceeds_limit":"File exceeds size limit","illegal_extension":"This type of file is not allowed.","max_reached":"Maximum number of files reached","unknown_error":"There was a problem while saving the file on the server","currently_uploading":"Please wait for the uploading to complete","cancel":"Cancel","cancel_upload":"Cancel this upload","cancelled":"Cancelled"},"vars":{"images_url":"https:\/\/www.phillymag.com\/home-design\/wp-content\/plugins\/gravityforms\/images"}}; var gf_global = {"gf_currency_config":{"name":"U.S. Dollar","symbol_left":"$","symbol_right":"","symbol_padding":"","thousand_separator":",","decimal_separator":".","decimals":2,"code":"USD"},"base_url":"https:\/\/www.phillymag.com\/home-design\/wp-content\/plugins\/gravityforms","number_formats":[],"spinnerUrl":"https:\/\/www.phillymag.com\/home-design\/wp-content\/plugins\/gravityforms\/images\/spinner.svg","version_hash":"2578b7c9c00fb3d35e5316f7acd3661d","strings":{"newRowAdded":"New row added.","rowRemoved":"Row removed","formSaved":"The form has been saved. The content contains the link to return and complete the form."}}; /* ]]> */ </script> <script type="text/javascript" defer='defer' src="https://cdn10.phillymag.com/wp-content/plugins/gravityforms/js/gravityforms.min.js?ver=2.8.16" id="gform_gravityforms-js"></script> <script type="text/javascript" defer='defer' src="https://www.google.com/recaptcha/api.js?hl=en&ver=6.5.5#038;render=explicit" id="gform_recaptcha-js"></script> <script type="text/javascript" defer='defer' src="https://cdn10.phillymag.com/wp-content/plugins/gravityforms/assets/js/dist/utils.min.js?ver=035436dbad46538c18f30aeb67ac9c93" id="gform_gravityforms_utils-js"></script> <script type="text/javascript" defer='defer' src="https://cdn10.phillymag.com/wp-content/plugins/gravityforms/assets/js/dist/vendor-theme.min.js?ver=54e7080aa7a02c83aa61fae430b9d869" id="gform_gravityforms_theme_vendors-js"></script> <script type="text/javascript" id="gform_gravityforms_theme-js-extra"> /* <![CDATA[ */ var gform_theme_config = {"common":{"form":{"honeypot":{"version_hash":"2578b7c9c00fb3d35e5316f7acd3661d"}}},"hmr_dev":"","public_path":"https:\/\/www.phillymag.com\/home-design\/wp-content\/plugins\/gravityforms\/assets\/js\/dist\/"}; /* ]]> */ </script> <script type="text/javascript" defer='defer' src="https://cdn10.phillymag.com/wp-content/plugins/gravityforms/assets/js/dist/scripts-theme.min.js?ver=bab19fd84843dabc070e73326d787910" id="gform_gravityforms_theme-js"></script> <script type="text/javascript"> /* <![CDATA[ */ gform.initializeOnLoaded( function() { jQuery(document).on('gform_post_render', function(event, formId, currentPage){if(formId == 193) {} } );jQuery(document).on('gform_post_conditional_logic', function(event, formId, fields, isInit){} ) } ); /* ]]> */ </script> <script type="text/javascript"> /* <![CDATA[ */ gform.initializeOnLoaded( function() {jQuery(document).trigger("gform_pre_post_render", [{ formId: "193", currentPage: "1", abort: function() { this.preventDefault(); } }]); if (event && event.defaultPrevented) { return; } const gformWrapperDiv = document.getElementById( "gform_wrapper_193" ); if ( gformWrapperDiv ) { const visibilitySpan = document.createElement( "span" ); visibilitySpan.id = "gform_visibility_test_193"; gformWrapperDiv.insertAdjacentElement( "afterend", visibilitySpan ); } const visibilityTestDiv = document.getElementById( "gform_visibility_test_193" ); let postRenderFired = false; function triggerPostRender() { if ( postRenderFired ) { return; } postRenderFired = true; jQuery( document ).trigger( 'gform_post_render', [193, 1] ); gform.utils.trigger( { event: 'gform/postRender', native: false, data: { formId: 193, currentPage: 1 } } ); if ( visibilityTestDiv ) { visibilityTestDiv.parentNode.removeChild( visibilityTestDiv ); } } function debounce( func, wait, immediate ) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if ( !immediate ) func.apply( context, args ); }; var callNow = immediate && !timeout; clearTimeout( timeout ); timeout = setTimeout( later, wait ); if ( callNow ) func.apply( context, args ); }; } const debouncedTriggerPostRender = debounce( function() { triggerPostRender(); }, 200 ); if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) { const observer = new MutationObserver( ( mutations ) => { mutations.forEach( ( mutation ) => { if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) { debouncedTriggerPostRender(); observer.disconnect(); } }); }); observer.observe( document.body, { attributes: true, childList: false, subtree: true, attributeFilter: [ 'style', 'class' ], }); } else { triggerPostRender(); } } ); /* ]]> */ </script> </body> </html>