1<!DOCTYPE html> 2<html lang="en-US"> 3<head> 4<meta charset="UTF-8"> 5<meta name="viewport" content="width=device-width, initial-scale=1"> 6<link rel="profile" href="http://gmpg.org/xfn/11"> 7<link rel="pingback" href="https://3dhomedesigns.com/xmlrpc.php"> 8 9<meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> 10 11 <!-- This site is optimized with the Yoast SEO Premium plugin v28.5 (Yoast SEO v28.6) - https://yoast.com/product/yoast-seo-premium-wordpress/ --> 12 <title>Home Design Articles & Project Guides | 3D Home Designs</title> 13 <meta name="description" content="Read current guides and reviewed archive articles about residential planning, 3D visualization, kitchens, bathrooms, contractors, and construction." /> 14 <link rel="canonical" href="https://3dhomedesigns.com/blog-posts/" /> 15 <link rel="next" href="https://3dhomedesigns.com/blog-posts/page/2/" /> 16 <meta property="og:locale" content="en_US" /> 17 <meta property="og:type" content="article" /> 18 <meta property="og:title" content="Home Design Articles & Project Guides | 3D Home Designs" /> 19 <meta property="og:description" content="Read current guides and reviewed archive articles about residential planning, 3D visualization, kitchens, bathrooms, contractors, and construction." /> 20 <meta property="og:url" content="https://3dhomedesigns.com/blog-posts/" /> 21 <meta property="og:site_name" content="3D Home Designs" /> 22 <meta name="twitter:card" content="summary_large_image" /> 23 <meta name="twitter:title" content="Home Design Articles & Project Guides | 3D Home Designs" /> 24 <meta name="twitter:description" content="Read current guides and reviewed archive articles about residential planning, 3D visualization, kitchens, bathrooms, contractors, and construction." /> 25 <meta name="twitter:site" content="@3DHomeDesigners" /> 26
26<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https:\/\/schema.org","@graph":[{"@type":["WebPage","CollectionPage"],"@id":"https:\/\/3dhomedesigns.com\/blog-posts\/","url":"https:\/\/3dhomedesigns.com\/blog-posts\/","name":"Unlocking the Secrets to Stunning Home Design: Tips and Tricks","isPartOf":{"@id":"https:\/\/3dhomedesigns.com\/#website"},"datePublished":"2017-08-19T18:07:17+00:00","dateModified":"2024-02-20T04:37:15+00:00","description":"Enhance your home with these valuable design tips. From color schemes to furniture arrangement, create a space you love.","breadcrumb":{"@id":"https:\/\/3dhomedesigns.com\/blog-posts\/#breadcrumb"},"inLanguage":"en-US"},{"@type":"BreadcrumbList","@id":"https:\/\/3dhomedesigns.com\/blog-posts\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/3dhomedesigns.com\/"},{"@type":"ListItem","position":2,"name":"All Blog Posts"}]},{"@type":"WebSite","@id":"https:\/\/3dhomedesigns.com\/#website","url":"https:\/\/3dhomedesigns.com\/","name":"3D Home Designs","description":"Home planning, concept renders, and builder\/designer support.","publisher":{"@id":"https:\/\/3dhomedesigns.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/3dhomedesigns.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Organization","HomeAndConstructionBusiness"],"@id":"https:\/\/3dhomedesigns.com\/#organization","name":"3D Home Designs","url":"https:\/\/3dhomedesigns.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/3dhomedesigns.com\/#\/schema\/logo\/image\/","url":"https:\/\/3dhomedesigns.com\/wp-content\/uploads\/2017\/08\/cropped-3DHD-Logo-1-e1504369672753.png","contentUrl":"https:\/\/3dhomedesigns.com\/wp-content\/uploads\/2017\/08\/cropped-3DHD-Logo-1-e1504369672753.png","width":240,"height":70,"caption":"3D Home Designs"},"image":{"@id":"https:\/\/3dhomedesigns.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/3DHomeDesigners\/","https:\/\/x.com\/3DHomeDesigners","https:\/\/www.instagram.com\/3dhomedesigners\/","https:\/\/www.pinterest.com\/3DHomeDesigns\/"],"description":"Lakeway-based 3D Home Designs supports homeowners and project teams in Austin, Houston, across Texas, and remotely when a virtual process fits, with home and remodel planning, concept renders, and builder\/designer support.","email":"[email protected]","legalName":"Interactive 3D Home Designs LLC","address":{"@type":"PostalAddress","addressLocality":"Lakeway","addressRegion":"TX","addressCountry":"US"},"areaServed":[{"@type":"City","name":"Lakeway"},{"@type":"City","name":"Austin"},{"@type":"City","name":"Houston"},{"@type":"State","name":"Texas"}],"founder":{"@type":"Person","@id":"https:\/\/3dhomedesigns.com\/#\/schema\/person\/8889920d22cd471138c34bf16823dd46","name":"Aaron Lytal","jobTitle":"Certified Professional Building Designer","worksFor":{"@id":"https:\/\/3dhomedesigns.com\/#organization"},"hasCredential":{"@type":"EducationalOccupationalCredential","credentialCategory":"Professional certification","name":"Certified Professional Building Designer (CPBD)","recognizedBy":{"@type":"Organization","name":"National Council of Building Designer Certification (NCBDC)","url":"https:\/\/aibd.org\/ncbdc-council\/"}}}}]}</script>
26 27 <!-- / Yoast SEO Premium plugin. --> 28 29 30<link rel='dns-prefetch' href='//fonts.googleapis.com' /> 31<link rel="alternate" type="application/rss+xml" title="3D Home Designs » Feed" href="https://3dhomedesigns.com/feed/" /> 32<link rel="alternate" type="application/rss+xml" title="3D Home Designs » Comments Feed" href="https://3dhomedesigns.com/comments/feed/" /> 33 <!-- This site uses the Google Analytics by MonsterInsights plugin v11.3.0 - Using Analytics tracking - https://www.monsterinsights.com/ -->
vendor: 59 bytes, lines 33-34
33 34 <script src="//www.googletagmanager.com/gtag/js?id=
34G-6VDYGSN7YV
vendor: 91 bytes, lines 34-35
34" data-cfasync="false" data-wpfc-render="false" type="text/javascript" async></script> 35
35<script data-cfasync="false" data-wpfc-render="false" type="text/javascript"> 36 var mi_version = '11.3.0'; 37 var mi_track_user = true; 38 var mi_no_track_reason = ''; 39 var MonsterInsightsDefaultLocations = {"page_location":"https:\/\/3dhomedesigns.com\/blog-posts\/"}; 40 if ( typeof MonsterInsightsPrivacyGuardFilter === 'function' ) { 41 var MonsterInsightsLocations = (typeof MonsterInsightsExcludeQuery === 'object') ? MonsterInsightsPrivacyGuardFilter( MonsterInsightsExcludeQuery ) : MonsterInsightsPrivacyGuardFilter( MonsterInsightsDefaultLocations ); 42 } else { 43 var MonsterInsightsLocations = (typeof MonsterInsightsExcludeQuery === 'object') ? MonsterInsightsExcludeQuery : MonsterInsightsDefaultLocations; 44 } 45 46 var disableStrs = [ 47 'ga-disable-G-6VDYGSN7YV', 48 ]; 49 50 /* Function to detect opted out users */ 51 function __gtagTrackerIsOptedOut() { 52 for (var index = 0; index < disableStrs.length; index++) { 53 if (document.cookie.indexOf(disableStrs[index] + '=true') > -1) { 54 return true; 55 } 56 } 57 58 return false; 59 } 60 61 /* Disable tracking if the opt-out cookie exists. */ 62 if (__gtagTrackerIsOptedOut()) { 63 for (var index = 0; index < disableStrs.length; index++) { 64 window[disableStrs[index]] = true; 65 } 66 } 67 68 /* Opt-out function */ 69 function __gtagTrackerOptout() { 70 for (var index = 0; index < disableStrs.length; index++) { 71 document.cookie = disableStrs[index] + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/'; 72 window[disableStrs[index]] = true; 73 } 74 } 75 76 if ('undefined' === typeof gaOptout) { 77 function gaOptout() { 78 __gtagTrackerOptout(); 79 } 80 } 81 window.dataLayer = window.dataLayer || []; 82 83 window.MonsterInsightsDualTracker = { 84 helpers: {}, 85 trackers: {}, 86 }; 87 if (mi_track_user) { 88 function __gtagDataLayer() { 89 dataLayer.push(arguments); 90 } 91 92 function __gtagTracker(type, name, parameters) { 93 if (!parameters) { 94 parameters = {}; 95 } 96 97 if (parameters.send_to) { 98 __gtagDataLayer.apply(null, arguments); 99 return; 100 } 101 102 if (type === 'event') { 103 parameters.send_to = monsterinsights_frontend.v4_id; 104 var hookName = name; 105 if (typeof parameters['event_category'] !== 'undefined') { 106 hookName = parameters['event_category'] + ':' + name; 107 } 108 109 if (typeof MonsterInsightsDualTracker.trackers[hookName] !== 'undefined') { 110 MonsterInsightsDualTracker.trackers[hookName](parameters); 111 } else { 112 __gtagDataLayer('event', name, parameters); 113 } 114 115 } else { 116 __gtagDataLayer.apply(null, arguments); 117 } 118 } 119 120 __gtagTracker('js', new Date()); 121 __gtagTracker('set', { 122 'developer_id.dZGIzZG': true, 123 }); 124 if ( MonsterInsightsLocations.page_location ) { 125 __gtagTracker('set', MonsterInsightsLocations); 126 } 127 __gtagTracker('config', 'G-6VDYGSN7YV', {"forceSSL":"true"} ); 128 window.gtag = __gtagTracker; (function () { 129 /* https://developers.google.com/analytics/devguides/collection/analyticsjs/ */ 130 /* ga and __gaTracker compatibility shim. */ 131 var noopfn = function () { 132 return null; 133 }; 134 var newtracker = function () { 135 return new Tracker(); 136 }; 137 var Tracker = function () { 138 return null; 139 }; 140 var p = Tracker.prototype; 141 p.get = noopfn; 142 p.set = noopfn; 143 p.send = function () { 144 var args = Array.prototype.slice.call(arguments); 145 args.unshift('send'); 146 __gaTracker.apply(null, args); 147 }; 148 var __gaTracker = function () { 149 var len = arguments.length; 150 if (len === 0) { 151 return; 152 } 153 var f = arguments[len - 1]; 154 if (typeof f !== 'object' || f === null || typeof f.hitCallback !== 'function') { 155 if ('send' === arguments[0]) { 156 var hitConverted, hitObject = false, action; 157 if ('event' === arguments[1]) { 158 if ('undefined' !== typeof arguments[3]) { 159 hitObject = { 160 'eventAction': arguments[3], 161 'eventCategory': arguments[2], 162 'eventLabel': arguments[4], 163 'value': arguments[5] ? arguments[5] : 1, 164 } 165 } 166 } 167 if ('pageview' === arguments[1]) { 168 if ('undefined' !== typeof arguments[2]) { 169 hitObject = { 170 'eventAction': 'page_view', 171 'page_path': arguments[2], 172 } 173 } 174 } 175 if (typeof arguments[2] === 'object') { 176 hitObject = arguments[2]; 177 } 178 if (typeof arguments[5] === 'object') { 179 Object.assign(hitObject, arguments[5]); 180 } 181 if ('undefined' !== typeof arguments[1].hitType) { 182 hitObject = arguments[1]; 183 if ('pageview' === hitObject.hitType) { 184 hitObject.eventAction = 'page_view'; 185 } 186 } 187 if (hitObject) { 188 action = 'timing' === arguments[1].hitType ? 'timing_complete' : hitObject.eventAction;
189 hitConverted = mapArgs(hitObject); 190 __gtagTracker('event', action, hitConverted); 191 } 192 } 193 return; 194 } 195 196 function mapArgs(args) { 197 var arg, hit = {}; 198 var gaMap = { 199 'eventCategory': 'event_category', 200 'eventAction': 'event_action', 201 'eventLabel': 'event_label', 202 'eventValue': 'event_value', 203 'nonInteraction': 'non_interaction', 204 'timingCategory': 'event_category', 205 'timingVar': 'name', 206 'timingValue': 'value', 207 'timingLabel': 'event_label', 208 'page': 'page_path', 209 'location': 'page_location', 210 'title': 'page_title', 211 'referrer' : 'page_referrer', 212 }; 213 for (arg in args) { 214 if (!(!args.hasOwnProperty(arg) || !gaMap.hasOwnProperty(arg))) { 215 hit[gaMap[arg]] = args[arg]; 216 } else { 217 hit[arg] = args[arg]; 218 } 219 } 220 return hit; 221 } 222 223 try { 224 f.hitCallback(); 225 } catch (ex) { 226 } 227 }; 228 __gaTracker.create = newtracker; 229 __gaTracker.getByName = newtracker; 230 __gaTracker.getAll = function () { 231 return []; 232 }; 233 __gaTracker.remove = noopfn; 234 __gaTracker.loaded = true; 235 window['__gaTracker'] = __gaTracker; 236 })(); 237 } else { 238 console.log(""); 239 (function () { 240 function __gtagTracker() { 241 return null; 242 } 243 244 window['__gtagTracker'] = __gtagTracker; 245 window['gtag'] = __gtagTracker; 246 })(); 247 } 248 </script>
248 249 <!-- / Google Analytics by MonsterInsights --> 250 <style id="wp-img-auto-sizes-contain-inline-css"> 251img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 252/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 253</style> 254<style id="wp-emoji-styles-inline-css"> 255 256 img.wp-smiley, img.emoji { 257 display: inline !important; 258 border: none !important; 259 box-shadow: none !important; 260 height: 1em !important; 261 width: 1em !important; 262 margin: 0 0.07em !important; 263 vertical-align: -0.1em !important; 264 background: none !important; 265 padding: 0 !important; 266 } 267/*# sourceURL=wp-emoji-styles-inline-css */ 268</style> 269<style id="wp-block-library-inline-css"> 270:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
270--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}} 271 272/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */ 273</style> 274 275<link rel='stylesheet' id='metaslider-blocks-editor-css-css' href='https://3dhomedesigns.com/wp-content/plugins/ml-slider/admin/assets/dist/css/editor-block.css?ver=3.113.1' media='all' property='stylesheet' />
276<style id="site-designer-shared-pattern-classes-inline-css"> 277/* Dark cover/section overlay + on-dark text. */ 278body .wp-site-blocks .is-style-overlay-dark .wp-block-cover__background { background-color: var(--wp--preset--color--base-3); color: var(--wp--preset--color--contrast-3); } 279.wp-block-cover.is-style-overlay-dark .wp-block-cover__background.has-background-dim { opacity: 0.50 !important; } 280:is(.wp-block-designsetgo-section, .wp-block-designsetgo-scroll-slides).is-style-overlay-dark { --dsgo-overlay-color: var(--wp--preset--color--base-3); --dsgo-overlay-opacity: 0.50; color: var(--wp--preset--color--contrast-3); } 281.dsgo-image-accordion-item.is-style-overlay-dark { --dsgo-overlay-color: var(--wp--preset--color--base-3); } 282.wp-block-group.has-background.is-style-overlay-dark { box-shadow: inset 0 0 0 9999px color-mix(in srgb, var(--wp--preset--color--base-3) 50%, transparent); } 283body .wp-site-blocks .is-style-overlay-dark, body .wp-site-blocks .is-style-on-dark { --dsgo-text-color: var(--wp--preset--color--contrast-3); color: var(--wp--preset--color--contrast-3) !important; } 284body .wp-site-blocks .is-style-overlay-dark :is(h1,h2,h3,h4,h5,h6,p,li,blockquote,cite), body .wp-site-blocks .is-style-on-dark :is(h1,h2,h3,h4,h5,h6,p,li,blockquote,cite) { color: var(--wp--preset--color--contrast-3) !important; } 285 286/* Solid dark section background + light text. */ 287.is-style-bg-dark { background-color: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); } 288.is-style-bg-dark a { color: var(--wp--preset--color--base); }
289/*# sourceURL=site-designer-shared-pattern-classes-inline-css */ 290</style> 291<style id="global-styles-inline-css"> 292:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--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--color--primary: #e86240;--wp--preset--color--heading: #333333;--wp--preset--color--body-text: #777777;--wp--preset--color--light-gray: #e9e9e9;--wp--preset--color--dark: #222222;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 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,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 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%);
292--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: 14px;--wp--preset--font-size--medium: 24px;--wp--preset--font-size--large: 32px;--wp--preset--font-size--x-large: 42px;--wp--preset--font-size--normal: 16px;--wp--preset--font-size--huge: 48px;--wp--preset--font-family--body: "Open Sans", Helvetica, Arial, sans-serif;--wp--preset--font-family--heading: "Montserrat", Helvetica, Arial, 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 rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:root { --wp--style--global--content-size: 1110px;--wp--style--global--wide-size: 1230px; }:where(body) { margin: 0; }.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(.wp-site-blocks) > * { margin-block-start: 1.5em; margin-block-end: 0; }:where(.wp-site-blocks) > :first-child { margin-block-start: 0; }:where(.wp-site-blocks) > :last-child { margin-block-end: 0; }:root { --wp--style--block-gap: 1.5em; }:root :where(.is-layout-flow) > :first-child{margin-block-start: 0;}:root :where(.is-layout-flow) > :last-child{margin-block-end: 0;}:root :where(.is-layout-flow) > *{margin-block-start: 1.5em;margin-block-end: 0;}:root :where(.is-layout-constrained) > :first-child{margin-block-start: 0;}:root :where(.is-layout-constrained) > :last-child{margin-block-end: 0;}:root :where(.is-layout-constrained) > *{margin-block-start: 1.5em;margin-block-end: 0;}:root :where(.is-layout-flex){gap: 1.5em;}:root :where(.is-layout-grid){gap: 1.5em;}.is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.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;}.is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{background-color: #ffffff;color: #777777;font-family: var(--wp--preset--font-family--body);font-size: 0.9375rem;line-height: 1.7;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}
292a:where(:not(.wp-element-button)){color: var(--wp--preset--color--primary);}:root :where(a:where(:not(.wp-element-button)):hover){color: #777777;text-decoration: underline;}h1, h2, h3, h4, h5, h6{color: #444444;font-family: var(--wp--preset--font-family--heading);font-weight: 400;line-height: 1.2;}h1{font-size: 2.5rem;line-height: 1.3;}h2{font-size: 2rem;}h3{font-size: 1.375rem;}h4{font-size: 1.25rem;}h5{font-size: 1.125rem;}h6{font-size: 1rem;}:root :where(.wp-element-button, .wp-block-button__link){background-color: var(--wp--preset--color--primary);border-radius: 3px;border-width: 0;color: var(--wp--preset--color--white);font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: 0.6em;padding-right: 1.2em;padding-bottom: 0.6em;padding-left: 1.2em;text-decoration: none;text-transform: inherit;}:root :where(.wp-element-caption, .wp-block-audio figcaption, .wp-block-embed figcaption, .wp-block-gallery figcaption, .wp-block-image figcaption, .wp-block-table figcaption, .wp-block-video figcaption){color: #777777;font-size: 13px;}.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-primary-color{color: var(--wp--preset--color--primary) !important;}.has-heading-color{color: var(--wp--preset--color--heading) !important;}.has-body-text-color{color: var(--wp--preset--color--body-text) !important;}.has-light-gray-color{color: var(--wp--preset--color--light-gray) !important;}.has-dark-color{color: var(--wp--preset--color--dark) !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-primary-background-color{background-color: var(--wp--preset--color--primary) !important;}.has-heading-background-color{background-color: var(--wp--preset--color--heading) !important;}.has-body-text-background-color{background-color: var(--wp--preset--color--body-text) !important;}.has-light-gray-background-color{background-color: var(--wp--preset--color--light-gray) !important;}.has-dark-background-color{background-color: var(--wp--preset--color--dark) !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-primary-border-color{border-color: var(--wp--preset--color--primary) !important;}.has-heading-border-color{border-color: var(--wp--preset--color--heading) !important;}.has-body-text-border-color{border-color: var(--wp--preset--color--body-text) !important;}.has-light-gray-border-color{border-color: var(--wp--preset--color--light-gray) !important;}.has-dark-border-color{border-color: var(--wp--preset--color--dark) !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;}
292.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-normal-font-size{font-size: var(--wp--preset--font-size--normal) !important;}.has-huge-font-size{font-size: var(--wp--preset--font-size--huge) !important;}.has-body-font-family{font-family: var(--wp--preset--font-family--body) !important;}.has-heading-font-family{font-family: var(--wp--preset--font-family--heading) !important;} 293/*# sourceURL=global-styles-inline-css */ 294</style> 295 296<link rel='stylesheet' id='widgetopts-styles-css' href='https://3dhomedesigns.com/wp-content/plugins/widget-options/assets/css/widget-options.css?ver=4.2.5' media='all' /> 297<link rel='stylesheet' id='wp-theme-css' href='https://3dhomedesigns.com/wp-includes/css/dist/theme/design-tokens.min.css?ver=7.1.2' media='all' /> 298<link rel='stylesheet' id='wp-components-css' href='https://3dhomedesigns.com/wp-includes/css/dist/components/style.min.css?ver=7.1.2' media='all' /> 299<link rel='stylesheet' id='godaddy-styles-css' href='https://3dhomedesigns.com/wp-content/mu-plugins/vendor/wpex/godaddy-launch/includes/Dependencies/GoDaddy/Styles/build/latest.css?ver=2.0.2' media='all' /> 300<link rel='stylesheet' id='screenr-fonts-css' href='https://fonts.googleapis.com/css?family=Open%2BSans%3A400%2C300%2C300italic%2C400italic%2C600%2C600italic%2C700%2C700italic%7CMontserrat%3A400%2C700&subset=latin%2Clatin-ext' media='all' /> 301<link rel='stylesheet' id='screenr-fa-css' href='https://3dhomedesigns.com/wp-content/themes/screenr/assets/fontawesome-v6/css/all.min.css?ver=6.5.1' media='all' /> 302<link rel='stylesheet' id='screenr-fa-shims-css' href='https://3dhomedesigns.com/wp-content/themes/screenr/assets/fontawesome-v6/css/v4-shims.min.css?ver=6.5.1' media='all' /> 303<link rel='stylesheet' id='bootstrap-css' href='https://3dhomedesigns.com/wp-content/themes/screenr/assets/css/bootstrap.min.css?ver=4.0.0' media='all' /> 304<link rel='stylesheet' id='screenr-style-css' href='https://3dhomedesigns.com/wp-content/themes/screenr/style.css?ver=7.1.2' media='all' /> 305<style id="screenr-style-inline-css"> 306 #page-header-cover.swiper-slider.no-image .swiper-slide .overlay { 307 background-color: #000000; 308 opacity: 1; 309 } 310 311 312 313 314 315 316 317 .gallery-carousel .g-item{ 318 padding: 0px 10px; 319 } 320 .gallery-carousel { 321 margin-left: -10px; 322 margin-right: -10px; 323 } 324 .gallery-grid .g-item, .gallery-masonry .g-item .inner { 325 padding: 10px; 326 } 327 .gallery-grid, .gallery-masonry { 328 margin: -10px; 329 } 330 331/*# sourceURL=screenr-style-inline-css */ 332</style> 333<link rel='stylesheet' id='screenr-blocks-css' href='https://3dhomedesigns.com/wp-content/themes/screenr/assets/css/blocks.css?ver=1.2.10' media='all' /> 334<link rel='stylesheet' id='screenr-gallery-lightgallery-css' href='https://3dhomedesigns.com/wp-content/themes/screenr/assets/css/lightgallery.css?ver=7.1.2' media='all' />
335<script async data-wp-strategy="async" id="monsterinsights-frontend-script-js" src="https://3dhomedesigns.com/wp-content/plugins/google-analytics-for-wordpress/assets/js/frontend-gtag.min.js?ver=11.3.0"></script>
vendor: 1 bytes, line 335
335
336<script data-cfasync="false" data-wpfc-render="false" type="text/javascript" id='monsterinsights-frontend-script-js-extra'>/* <![CDATA[ */ 337var monsterinsights_frontend = {"js_events_tracking":"true","download_extensions":"doc,pdf,ppt,zip,xls,docx,pptx,xlsx","inbound_paths":"[]","home_url":"https:\/\/3dhomedesigns.com","hash_tracking":"false","v4_id":"G-6VDYGSN7YV"};/* ]]> */ 338</script>
vendor: 1 bytes, line 338
338
339<script id="jquery-core-js" src="https://3dhomedesigns.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 339
339
340<script id="jquery-migrate-js" src="https://3dhomedesigns.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
340 341<link rel="https://api.w.org/" href="https://3dhomedesigns.com/wp-json/" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://3dhomedesigns.com/xmlrpc.php?rsd" /> 342<meta name="generator" content="WordPress 7.1.2" /> 343<style id="hd-footer-contrast-fix">.site-footer .site-info{color:#d8dee3!important}.site-footer .site-info .site-copyright{color:#f5f7fa!important}.site-footer .site-info a{color:#f5f7fa!important}</style><style id="hd-mobile-logo-display-size-fix">@media (max-width:782px){.site-branding .custom-logo{width:160px!important;height:auto!important;max-height:47px!important;object-fit:contain}}</style> <style id="hd-desktop-header-nav-wrap-fix"> 344 @media (min-width:1141px){ 345 .site-header.sticky-header .container{ 346 max-width:1140px!important; 347 } 348 349 .site-header.sticky-header .nav-menu{ 350 white-space:nowrap!important; 351 } 352 353 .site-header.sticky-header .nav-menu>li>a{ 354 padding-left:10px!important; 355 padding-right:10px!important; 356 font-size:13px!important; 357 } 358 } 359 360 @media (min-width:1141px) and (max-width:1199.98px){ 361 .site-header.sticky-header .nav-menu>li>a{ 362 padding-left:8px!important; 363 padding-right:8px!important; 364 font-size:12.5px!important; 365 } 366 } 367 </style> 368 <style id="seo004-topic-cluster-styles"> 369 .seo004-topic-directory,.seo004-resources{max-width:1120px;margin:2rem auto;padding:1.25rem;border:1px solid #d7dde3;border-radius:.5rem;background:#f8fafb}.seo004-topic-directory>h2,.seo004-resources>h2{margin-top:0}.seo004-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.seo004-topic-card{padding:1rem;background:#fff;border:1px solid #e3e7eb;border-radius:.35rem}.seo004-topic-card h3{margin-top:0;font-size:1.1rem}.seo004-topic-card ul,.seo004-resources ul{margin:.75rem 0 0;padding-left:1.25rem}.seo004-topic-card li,.seo004-resources li{margin:.45rem 0}.seo004-topic-card a,.seo004-resources a{text-decoration:underline;text-underline-offset:.15em}.seo004-topic-card a:focus-visible,.seo004-resources a:focus-visible{outline:3px solid #165d8f;outline-offset:3px}.seo004-resources{clear:both}.seo004-resources p{max-width:75ch} 370 @media(max-width:800px){.seo004-topic-grid{grid-template-columns:1fr}.seo004-topic-directory,.seo004-resources{margin:1.25rem 0;padding:1rem}.seo004-topic-card a,.seo004-resources a{display:inline-block;padding:.2rem 0;overflow-wrap:anywhere}} 371 </style> 372 <style id="ux-002-interior-layout-system"> 373 /* Shared interior shell. The homepage and blog/article widths remain separately owned. */ 374 .ux002-interior-page #page-header-cover { 375 display: none !important; 376 } 377 .ux002-interior-page #content-inside { 378 box-sizing: border-box; 379 width: 100%; 380 max-width: 1230px !important; 381 padding-right: clamp(1rem, 3vw, 1.5625rem) !important; 382 padding-left: clamp(1rem, 3vw, 1.5625rem) !important; 383 } 384 .ux002-interior-page #primary, 385 .ux002-interior-page .content-area { 386 float: none !important; 387 width: 100% !important; 388 max-width: 100% !important; 389 padding: clamp(2.25rem, 5vw, 4rem) 0 clamp(3rem, 6vw, 5rem) !important; 390 border-right: 0 !important; 391 border-left: 0 !important; 392 } 393 .ux002-interior-page #secondary, 394 .ux002-interior-page .site-content > .container > .widget-area { 395 display: none !important; 396 } 397 .ux002-interior-page .entry-content { 398 width: 100%; 399 max-width: 1180px !important; 400 margin-top: 0; 401 font-size: 16px; 402 line-height: 1.65; 403 } 404 .ux002-interior-page.page-template-default .entry-content > p, 405 .ux002-interior-page.page-template-default .entry-content > ul, 406 .ux002-interior-page.page-template-default .entry-content > ol, 407 .ux002-interior-page.page-template-default .entry-content > blockquote { 408 max-width: 75ch; 409 } 410 .ux002-interior-page.page-template-default .entry-content > h1, 411 .ux002-interior-page.page-template-default .entry-content > h2, 412 .ux002-interior-page.page-template-default .entry-content > h3 { 413 max-width: 32ch; 414 line-height: 1.18; 415 } 416 .ux002-interior-page.page-template-default .entry-content > h1 { 417 font-size: clamp(2rem, 4vw, 3rem); 418 } 419 .ux002-interior-page.page-template-default .entry-content > h2 { 420 font-size: clamp(1.5rem, 3vw, 2.1rem); 421 } 422 .ux002-interior-page.page-template-default .entry-content > h3 { 423 font-size: clamp(1.15rem, 2.2vw, 1.4rem); 424 } 425 .ux002-interior-page .entry-content img, 426 .ux002-interior-page .entry-content iframe, 427 .ux002-interior-page .entry-content video, 428 .ux002-interior-page .ngg-galleryoverview, 429 .ux002-interior-page .gallery { 430 max-width: 100%; 431 } 432 .ux002-interior-page .entry-content img { 433 height: auto; 434 } 435 .ux002-interior-page main a:focus-visible, 436 .ux002-interior-page main button:focus-visible, 437 .ux002-interior-page main input:focus-visible, 438 .ux002-interior-page main select:focus-visible, 439 .ux002-interior-page main textarea:focus-visible, 440 .ux002-blog-context main a:focus-visible, 441 .ux002-blog-context main button:focus-visible { 442 outline: 3px solid #f3b61f !important; 443 outline-offset: 3px !important; 444 border-radius: 2px; 445 } 446 .ux002-interior-page .entry-content a.btn, 447 .ux002-interior-page .entry-content a[class*="button"], 448 .ux002-interior-page .entry-content button, 449 .ux002-interior-page .entry-content input[type="submit"] { 450 min-height: 44px;
451 } 452 @media (max-width: 1140px) { 453 body:not(.home) .nav-menu.nav-menu-mobile > li > a, 454 body:not(.home) .nav-menu.nav-menu-mobile ul li a { 455 padding-top: 12px; 456 padding-bottom: 12px; 457 font-size: 15px; 458 line-height: 1.35; 459 } 460 } 461 @media (max-width: 600px) { 462 .ux002-interior-page #primary, 463 .ux002-interior-page .content-area { 464 padding-top: 2.25rem !important; 465 padding-bottom: 3rem !important; 466 } 467 .ux002-interior-page .entry-content { 468 font-size: 16px; 469 } 470 } 471 </style> 472 <style id="ux001-sitewide-footer-css"> 473 #colophon.site-footer, 474 body > .hd-legal-footer-links, 475 #page ~ .hd-legal-footer-links { 476 display: none !important; 477 } 478 .ux001-site-footer, 479 .ux001-site-footer * { 480 box-sizing: border-box; 481 } 482 .ux001-site-footer { 483 clear: both; 484 width: 100%; 485 background: #17262e; 486 color: #e9f0f3; 487 font-size: 15px; 488 line-height: 1.6; 489 } 490 .ux001-footer-inner { 491 width: min(100%, 1236px); 492 margin: 0 auto; 493 padding: 48px 28px 22px; 494 } 495 .ux001-footer-grid { 496 display: grid; 497 grid-template-columns: minmax(260px, 1.35fr) repeat(3, minmax(160px, 1fr)); 498 gap: 34px; 499 } 500 .ux001-site-footer h2 { 501 margin: 0 0 14px; 502 color: #fff; 503 font-size: 18px; 504 font-weight: 700; 505 line-height: 1.25; 506 } 507 .ux001-footer-brand h2 { 508 font-size: 24px; 509 } 510 .ux001-footer-brand p { 511 max-width: 42ch; 512 margin: 0 0 18px; 513 color: #d5e0e5; 514 } 515 .ux001-footer-group ul, 516 .ux001-footer-bottom ul { 517 margin: 0; 518 padding: 0; 519 list-style: none; 520 } 521 .ux001-footer-group li + li { 522 margin-top: 6px; 523 } 524 .ux001-site-footer a { 525 color: #f4f8fa !important; 526 text-decoration: underline !important; 527 text-decoration-color: #8eb8cb !important; 528 text-underline-offset: 3px; 529 } 530 .ux001-site-footer a:hover { 531 color: #fff !important; 532 text-decoration-thickness: 2px !important; 533 } 534 .ux001-site-footer a:focus-visible { 535 outline: 3px solid #f3b61f !important; 536 outline-offset: 3px !important; 537 border-radius: 2px; 538 } 539 .ux001-footer-cta { 540 display: inline-flex; 541 align-items: center; 542 justify-content: center; 543 min-height: 46px; 544 margin: 0 0 12px; 545 padding: 10px 15px; 546 border: 2px solid #b65339; 547 border-radius: 3px; 548 background: #9b3f29; 549 color: #fff !important; 550 font-weight: 700; 551 text-decoration: none !important; 552 } 553 .ux001-footer-email { 554 display: block; 555 width: fit-content; 556 } 557 .ux001-footer-bottom { 558 display: flex; 559 align-items: center; 560 justify-content: space-between; 561 gap: 20px 32px; 562 margin-top: 34px; 563 padding-top: 20px; 564 border-top: 1px solid #49606b; 565 color: #d5e0e5; 566 font-size: 14px; 567 } 568 .ux001-footer-bottom ul { 569 display: flex; 570 flex-wrap: wrap; 571 gap: 10px 24px; 572 } 573 .ux001-footer-bottom p { 574 margin: 0; 575 text-align: right; 576 } 577 @media (max-width: 900px) { 578 .ux001-footer-grid { 579 grid-template-columns: repeat(2, minmax(0, 1fr)); 580 } 581 } 582 @media (max-width: 620px) { 583 .ux001-footer-inner { 584 padding: 36px 22px 20px; 585 } 586 .ux001-footer-grid { 587 grid-template-columns: 1fr; 588 gap: 28px; 589 } 590 .ux001-footer-group li + li { 591 margin-top: 9px; 592 } 593 .ux001-footer-cta { 594 width: 100%; 595 } 596 .ux001-footer-bottom { 597 align-items: flex-start; 598 flex-direction: column; 599 } 600 .ux001-footer-bottom ul { 601 flex-direction: column; 602 gap: 9px; 603 } 604 .ux001-footer-bottom p { 605 text-align: left; 606 } 607 } 608 </style> 609 <link rel="icon" href="https://3dhomedesigns.com/wp-content/uploads/2017/08/cropped-3DHD-Logo-1-1-32x32.png" sizes="32x32" /> 610<link rel="icon" href="https://3dhomedesigns.com/wp-content/uploads/2017/08/cropped-3DHD-Logo-1-1-192x192.png" sizes="192x192" /> 611<link rel="apple-touch-icon" href="https://3dhomedesigns.com/wp-content/uploads/2017/08/cropped-3DHD-Logo-1-1-180x180.png" /> 612<meta name="msapplication-TileImage" content="https://3dhomedesigns.com/wp-content/uploads/2017/08/cropped-3DHD-Logo-1-1-270x270.png" /> 613<style id="wp-site-designer-contrast-fallback"> .wp-block-group:not([data-dsgo-inline-bg]),.wp-block-column:not([data-dsgo-inline-bg]),.wp-block-columns:not([data-dsgo-inline-bg]){--dsgo-text-color:initial;}
613 :is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover:not(.has-text-color){color:var(--wp--preset--color--contrast-3) !important;--dsgo-text-color:var(--wp--preset--color--contrast-3);} body .wp-site-blocks :is(:is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover) h1:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(:is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover) h2:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(:is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover) h3:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(:is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover) h4:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(:is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover) h5:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(:is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover) h6:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(:is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover) p:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(:is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover) a:where(:not(.wp-element-button):not(.wp-block-social-link-anchor)):not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(:is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover) .wp-element-caption:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)){color:var(--dsgo-text-color,inherit) !important;} body .wp-site-blocks :is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column)[data-dsgo-inline-bg] .wp-block-button:is([class*="is-style-outline"],[class*="is-style-secondary"]) .wp-element-button{color:var(--dsgo-text-color,inherit) !important;border-color:currentColor !important;}body .wp-site-blocks :is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column)[data-dsgo-inline-bg] .wp-block-button:is([class*="is-style-outline"],[class*="is-style-secondary"]) .wp-element-button:hover{opacity:0.75;} body .wp-site-blocks [data-dsgo-inline-bg] h1:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks [data-dsgo-inline-bg] h2:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks [data-dsgo-inline-bg] h3:not(.has-text-color):where(:not
613(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks [data-dsgo-inline-bg] h4:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks [data-dsgo-inline-bg] h5:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks [data-dsgo-inline-bg] h6:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks [data-dsgo-inline-bg] p:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks [data-dsgo-inline-bg] a:where(:not(.wp-element-button):not(.wp-block-social-link-anchor)):not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks [data-dsgo-inline-bg] .wp-element-caption:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)){color:var(--dsgo-text-color,inherit) !important;} .wp-block-designsetgo-section.has-background:not([data-dsgo-inline-bg]):not(.has-text-color){color:var(--wp--preset--color--contrast);--dsgo-text-color:var(--wp--preset--color--contrast);} :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)),.has-background:is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)),.has-text-color:is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)){background-color:var(--wp--preset--color--accent-5);color:var(--wp--preset--color--contrast);} body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h1:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h2:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h3:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h4:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h5:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h6:where(:not
613(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) p:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) a:where(:not(.wp-element-button):not(.wp-block-social-link-anchor)):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) .wp-element-caption:where(:not(.elementor *):not([data-elementor-type] *)){color:var(--wp--preset--color--contrast);} :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)),.has-background:is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)),.has-text-color:is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)){background-color:var(--wp--preset--color--accent-2);color:var(--wp--preset--color--contrast);} body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h1:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h2:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h3:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h4:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h5:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h6:where(:not
613(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) p:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) a:where(:not(.wp-element-button):not(.wp-block-social-link-anchor)):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) .wp-element-caption:where(:not(.elementor *):not([data-elementor-type] *)){color:var(--wp--preset--color--contrast);} :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)),.has-background:is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)),.has-text-color:is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)){background-color:var(--wp--preset--color--accent-1);color:var(--wp--preset--color--contrast);} body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h1:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h2:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h3:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h4:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h5:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h6:where(:not
613(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) p:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) a:where(:not(.wp-element-button):not(.wp-block-social-link-anchor)):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) .wp-element-caption:where(:not(.elementor *):not([data-elementor-type] *)){color:var(--wp--preset--color--contrast);} :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)),.has-background:is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)),.has-text-color:is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)){background-color:var(--wp--preset--color--accent-3);color:var(--wp--preset--color--accent-2);} body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h1:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h2:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h3:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h4:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h5:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h6:where(:not
613(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) p:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) a:where(:not(.wp-element-button):not(.wp-block-social-link-anchor)):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) .wp-element-caption:where(:not(.elementor *):not([data-elementor-type] *)){color:var(--wp--preset--color--accent-2);} :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)),.has-background:is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)),.has-text-color:is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)){background-color:var(--wp--preset--color--contrast);color:var(--wp--preset--color--base);} body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h1:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h2:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h3:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h4:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h5:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) h6:where(:not
613(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) p:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) a:where(:not(.wp-element-button):not(.wp-block-social-link-anchor)):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color,.has-primary-background-color,.has-heading-background-color,.has-body-text-background-color,.has-light-gray-background-color,.has-dark-background-color)) .wp-element-caption:where(:not(.elementor *):not([data-elementor-type] *)){color:var(--wp--preset--color--base);} .is-style-footer-section:not(.has-text-color) .wp-block-navigation a,.is-style-footer-section:not(.has-text-color) .wp-block-navigation-item__content,.is-style-footer-section:not(.has-text-color) .wp-block-navigation .wp-block-navigation-item a{color:var(--dsgo-text-color,inherit) !important;} .is-style-header-section:not(.has-text-color) .wp-block-navigation a,.is-style-header-section:not(.has-text-color) .wp-block-navigation-item__content,.is-style-header-section:not(.has-text-color) .wp-block-navigation .wp-block-navigation-item a{color:var(--dsgo-text-color,inherit) !important;} body .wp-site-blocks input:not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="image"]):not([type="hidden"]),body .wp-site-blocks textarea,body .wp-site-blocks select{background-color:var(--wp--preset--color--base);color:var(--wp--preset--color--contrast);border:1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 30%, transparent);} .wp-site-blocks input[type="submit"]:not(.wp-element-button),.wp-site-blocks button[type="submit"]:not(.wp-element-button){background-color:var(--wp--preset--color--accent-2);color:var(--wp--preset--color--base);border-width:0;padding:12px 30px;font-family:inherit;font-size:var(--wp--preset--font-size--medium, 1rem);line-height:inherit;cursor:pointer;}</style> 614<style id="wp-custom-css"> 615 616.page-id-19 .widget_search{ 617 display:none; 618} 619 .page-id-1351 #secondary { 620 display:none; 621} 622.page-id-1351 .right-sidebar .content-area{ 623 624 border-right: 0px !important; 625} 626.page-id-1386 #secondary { 627 display:none; 628 629} 630 631.page-id-1386 .right-sidebar .content-area{ 632 border-right: 0px !important; 633} 634.page-id-1351 .sow-image-grid-image { 635 636 float:left; 637 margin-left:10px; 638} 639.page-id-1402 .so-widget-sow-hero { 640 641 display:none; 642} 643 644#faqsection{text-align:justify;} 645#aboutussection{ 646 text-align:justify; 647} 648 649.page-id-1605 #page-header-cover { 650 display: block; 651} 652.page-id-1605 .so-widget-sow-hero{ 653 display:none; 654} 655 656.nav-links a { 657 background: #e86240 !important; 658} 659.blog .entry-meta > span:last-child { 660 float: none !important; 661} 662.post-template-default .entry-meta > span:last-child { 663 float: none !important; 664} 665.home .so-widget-sow-post-carousel-default-d37c4737eca8 .sow-carousel-wrapper ul.sow-carousel-items li.sow-carousel-item{ 666 width: 520.2px !important; 667} 668 669.page-id-330 #secondary { 670 display:none; 671} 672.page-id-330 .right-sidebar .content-area{ 673 border-right: 0px !important; 674} 675.page-id-330{ 676 text-align:justify; 677} 678.page-id-332 #secondary { 679 display:none; 680} 681.page-id-332 .right-sidebar .content-area{ 682 border-right: 0px !important; 683} 684.page-id-332 { 685 text-align:justify; 686} 687.page-id-334 #secondary { 688 display:none; 689} 690.page-id-334 .right-sidebar .content-area{ 691 border-right: 0px !important; 692} 693.page-id-334 { 694 text-align:justify; 695} 696.page-id-334 #page-header-cover { 697 display: block; 698} 699.page-id-332 #page-header-cover { 700 display: block; 701} 702.page-id-330 #page-header-cover { 703 display: block; 704} 705 #pg-1294-1 > .panel-row-style { 706 padding: 3% 0% 10% 0% !important; 707} 708.theme-info { 709 display:none !important; 710} 711#panel-1294-1-0-1 > .panel-widget-style{ 712 padding: 0% 0% 0% 0% !important; 713} 714.page-id-1796 #secondary {
715 display:none; 716} 717.page-id-1796 .right-sidebar .content-area{ 718 border-right: 0px !important; 719} 720.page-id-1796 { 721 text-align:justify; 722} 723#pg-158-3 img{ 724 width:200px !important; 725 height:200px !important; 726} 727#pg-1784-3 img{ 728 width:200px !important; 729 height:200px !important; 730} 731#pg-1790-3 img{ 732 width:200px !important; 733 height:200px !important; 734} 735#pg-1796-3 img{ 736 width:200px !important; 737 height:200px !important; 738} 739#keybenefit img{height:700px;} 740/*.page-id-1402 #categories-3 { 741 display:none; 742} 743.page-id-1402 #recent-posts-2{ 744 display:none; 745} 746.page-id-1402 .right-sidebar .content-area{ 747 border-right: 0px !important; 748}*/ 749#whychooseus .widget-title{text-align:center;} 750#contact #pgc-1294-1-0{border-right: 1px solid #e9e9e9;} 751#whychoose img{height:200px; width:200px;} 752.page-id-1294 body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif !important;} 753.page-id-1294 .nav-menu a { 754 font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; 755} 756.textwidget ul li, ol li { 757 margin: 8px 0; 758 font-family: 'Sanchez',Georgia,"Times New Roman",serif; 759 font-size: 18px; 760} 761 762/* Hide generic blog title bar on the garage second-story guide. */ 763.single-post.postid-3301 #page-header-cover { 764 display: none !important; 765} 766 767/* Blog template design pass - 2026-07-03 */ 768 769.single-post #page-header-cover { 770 display: none !important; 771} 772 773.single-post .site-content, 774.single-post #content, 775.single-post #content-inside { 776 background: #ffffff; 777} 778 779.single-post .content-area { 780 border-right: 0 !important; 781} 782 783.single-post #secondary { 784 display: none !important; 785} 786 787.single-post .right-sidebar .content-area, 788.single-post .content-area { 789 width: 100% !important; 790 max-width: 100% !important; 791} 792 793.single-post article.post, 794.single-post .entry-content, 795.single-post .entry-header, 796.single-post .entry-footer { 797 max-width: 880px; 798 margin-left: auto; 799 margin-right: auto; 800} 801 802.single-post .entry-title { 803 color: #0b3557; 804 font-size: 38px; 805 line-height: 1.15; 806 letter-spacing: 0; 807 margin: 16px 0 18px; 808} 809 810.single-post .entry-meta, 811.single-post .entry-footer, 812.single-post .cat-links { 813 color: #657786; 814 font-size: 14px; 815} 816 817.single-post .entry-content { 818 color: #1f2d36; 819 font-size: 18px; 820 line-height: 1.72; 821} 822 823.single-post .entry-content p, 824.single-post .entry-content li { 825 letter-spacing: 0; 826} 827 828.single-post .entry-content h2 { 829 color: #0b3557; 830 font-size: 28px; 831 line-height: 1.25; 832 letter-spacing: 0; 833 margin: 44px 0 14px; 834} 835 836.single-post .entry-content h3 { 837 color: #173f5f; 838 font-size: 22px; 839 line-height: 1.3; 840 letter-spacing: 0; 841 margin: 30px 0 10px; 842} 843 844.single-post .entry-content a { 845 color: #0b5f89; 846 text-decoration-thickness: 1px; 847 text-underline-offset: 3px; 848} 849 850.single-post .entry-content a:hover { 851 color: #e86240; 852} 853 854.single-post .entry-content figure { 855 margin: 30px 0; 856} 857 858.single-post .entry-content figure img, 859.single-post .entry-content img { 860 max-width: 100%; 861 height: auto; 862} 863 864.single-post .entry-content figcaption { 865 color: #5f7280; 866 font-size: 15px; 867 line-height: 1.45; 868 margin-top: 8px; 869 text-align: center; 870} 871 872.single-post .entry-content blockquote { 873 background: #f7fafc; 874 border-left: 5px solid #0b3557; 875 color: #263844; 876 margin: 28px 0; 877 padding: 18px 22px; 878} 879 880.single-post .entry-content table { 881 border-collapse: collapse; 882 font-size: 16px; 883 line-height: 1.5; 884 width: 100%; 885} 886 887.single-post .entry-content th, 888.single-post .entry-content td { 889 border: 1px solid #d8e2ea; 890 padding: 10px; 891 text-align: left; 892 vertical-align: top; 893} 894 895.single-post .entry-content th { 896 background: #f3f7fa; 897 color: #0b3557; 898} 899 900.hd-article-toc, 901.hd-article-callout, 902.hd-source-note { 903 background: #f7fafc; 904 border: 1px solid #d8e2ea; 905 border-radius: 6px; 906 margin: 24px 0; 907 padding: 16px 18px; 908} 909 910.hd-article-toc p, 911.hd-article-callout p, 912.hd-source-note p { 913 margin-top: 0; 914} 915 916.hd-article-toc ul, 917.hd-article-callout ul { 918 margin-bottom: 0; 919} 920 921.hd-article-callout { 922 border-left: 5px solid #0b3557; 923 padding: 18px 20px; 924} 925 926.hd-article-callout p:last-child, 927.hd-source-note p:last-child { 928 margin-bottom: 0; 929} 930 931.hd-faq { 932 margin: 22px 0; 933} 934 935.hd-faq details { 936 background: #ffffff; 937 border: 1px solid #d8e2ea; 938 border-radius: 6px; 939 margin: 0 0 10px; 940 overflow: hidden; 941} 942 943.hd-faq details:last-child { 944 margin-bottom: 0; 945} 946 947.hd-faq summary { 948 color: #0b3557; 949 cursor: pointer; 950 font-weight: 700; 951 line-height: 1.35; 952 padding: 14px 16px; 953} 954 955.hd-faq summary:hover { 956 background: #f7fafc; 957} 958 959.hd-faq details[open] summary { 960 background: #f3f7fa; 961 border-bottom: 1px solid #d8e2ea; 962} 963 964.hd-faq .hd-faq-answer { 965 padding: 0 16px 16px; 966} 967 968.hd-faq .hd-faq-answer p:last-child { 969 margin-bottom: 0; 970} 971 972.hd-related-links { 973 background: #f7fafc; 974 border: 1px solid #d8e2ea; 975 border-radius: 6px; 976 margin: 32px 0 24px; 977 padding: 18px 20px; 978} 979 980.hd-related-links h2, 981.hd-related-links h3 { 982 margin-top: 0; 983} 984 985@media (max-width: 780px) { 986 .single-post article.post, 987 .single-post .entry-content, 988 .single-post .entry-header, 989 .single-post .entry-footer { 990 max-width: 100%; 991 } 992 993 .single-post .entry-title { 994 font-size: 30px; 995 } 996 997 .single-post .entry-content { 998 font-size: 17px; 999 line-height: 1.68; 1000 } 1001 1002 .single-post .entry-content h2 { 1003 font-size: 24px; 1004 } 1005 1006 .single-post .entry-content h3 { 1007 font-size: 20px; 1008 } 1009 1010 .single-post .entry-content table { 1011 font-size: 15px; 1012 } 1013 1014 .hd-article-toc, 1015 .hd-article-callout, 1016 .hd-source-note, 1017 .hd-related-links { 1018 padding: 15px; 1019 } 1020} 1021 1022 1023 1024 1025</style> 1026 <style id="a11y001-shared-contrast-css"> 1027 :root { 1028 --a11y-text: #3f4a50; 1029 --a11y-muted: #5e6a72; 1030 --a11y-link: #075d87; 1031 --a11y-visited: #6f3425; 1032 --a11y-hover: #7f321f; 1033 --a11y-button: #9b3f29; 1034 --a11y-button-hover: #7f321f; 1035 --a11y-focus-light: #075d87; 1036 --a11y-focus-dark: #f3b61f; 1037 --a11y-field-border: #667680; 1038 --a11y-error: #8a1c1c; 1039 --a11y-error-bg: #fff6f6; 1040 } 1041 1042 body, 1043 button, 1044 input, 1045 select, 1046 textarea { 1047 color: var(--a11y-text); 1048 } 1049 1050 .services-content p { 1051 color: var(--a11y-text); 1052 } 1053 1054 .entry-meta, 1055 .entry-footer, 1056 .cat-links, 1057 .wp-caption-text, 1058 .single-post .entry-meta, 1059 .single-post .entry-footer, 1060 .single-post .cat-links { 1061 color: var(--a11y-muted); 1062 } 1063 1064 .entry-meta a, 1065 .entry-footer a, 1066 .cat-links a, 1067 .sidebar .widget a, 1068 #comments .comment .comment-wrapper .comment-meta a { 1069 color: var(--a11y-link); 1070 text-decoration: underline; 1071 text-underline-offset: 3px; 1072 } 1073 1074 .entry-meta a:visited, 1075 .entry-footer a:visited, 1076 .cat-links a:visited, 1077 .sidebar .widget a:visited { 1078 color: var(--a11y-visited); 1079 } 1080 1081 .entry-meta a:hover, 1082 .entry-footer a:hover, 1083 .cat-links a:hover, 1084 .sidebar .widget a:hover, 1085 #comments .comment .comment-wrapper .comment-meta a:hover { 1086 color: var(--a11y-hover); 1087 } 1088
1089 main .entry-content p a:not(.btn):not([class*="button"]), 1090 main .entry-content li a:not(.btn):not([class*="button"]), 1091 main .entry-content td a:not(.btn):not([class*="button"]), 1092 main .entry-content dd a:not(.btn):not([class*="button"]), 1093 .seo004-topic-directory a, 1094 .seo004-resources a, 1095 .single-post .entry-content a:not(.btn):not([class*="button"]) { 1096 color: var(--a11y-link); 1097 text-decoration: underline; 1098 text-decoration-thickness: 1px; 1099 text-underline-offset: 3px; 1100 } 1101 1102 main .entry-content p a:visited:not(.btn):not([class*="button"]), 1103 main .entry-content li a:visited:not(.btn):not([class*="button"]), 1104 main .entry-content td a:visited:not(.btn):not([class*="button"]), 1105 main .entry-content dd a:visited:not(.btn):not([class*="button"]), 1106 .seo004-topic-directory a:visited, 1107 .seo004-resources a:visited, 1108 .single-post .entry-content a:visited:not(.btn):not([class*="button"]) { 1109 color: var(--a11y-visited); 1110 } 1111 1112 main .entry-content p a:hover:not(.btn):not([class*="button"]), 1113 main .entry-content li a:hover:not(.btn):not([class*="button"]), 1114 main .entry-content td a:hover:not(.btn):not([class*="button"]), 1115 main .entry-content dd a:hover:not(.btn):not([class*="button"]), 1116 .seo004-topic-directory a:hover, 1117 .seo004-resources a:hover, 1118 .single-post .entry-content a:hover:not(.btn):not([class*="button"]) { 1119 color: var(--a11y-hover); 1120 text-decoration-thickness: 2px; 1121 } 1122 1123 .site-header .nav-menu a, 1124 .nav-menu.nav-menu-mobile a { 1125 color: #27343b; 1126 } 1127 1128 .site-header .nav-menu ul li a, 1129 .nav-menu.nav-menu-mobile .nav-toggle-subarrow { 1130 color: #4d5a61; 1131 } 1132 1133 .site-header .nav-menu a:hover, 1134 .site-header .nav-menu a:focus, 1135 .site-header .nav-menu li.current-menu-item > a, 1136 .site-header .nav-menu li.onepress-current-item > a, 1137 .site-header .nav-menu li.nav-current-item > a, 1138 .site-header .nav-menu a.menu-actived, 1139 .nav-menu.nav-menu-mobile a:hover, 1140 .nav-menu.nav-menu-mobile li.nav-current-item > a { 1141 color: var(--a11y-hover); 1142 } 1143 1144 .post-edit-link, 1145 .screen-reader-text:focus { 1146 color: var(--a11y-link); 1147 } 1148 1149 body:not(.home) .btn-theme-primary, 1150 body:not(.home) main a.button:not(.button-secondary), 1151 body:not(.home) input[type="submit"], 1152 body:not(.home) input[type="button"], 1153 body:not(.home) button[type="submit"], 1154 #cnt-002-services .cnt002-button { 1155 border-color: var(--a11y-button) !important; 1156 background: var(--a11y-button) !important; 1157 color: #fff !important; 1158 } 1159 1160 body:not(.home) .btn-theme-primary:hover, 1161 body:not(.home) main a.button:not(.button-secondary):hover, 1162 body:not(.home) input[type="submit"]:hover, 1163 body:not(.home) input[type="button"]:hover, 1164 body:not(.home) button[type="submit"]:hover, 1165 #cnt-002-services .cnt002-button:hover { 1166 border-color: var(--a11y-button-hover) !important; 1167 background: var(--a11y-button-hover) !important; 1168 color: #fff !important; 1169 opacity: 1; 1170 } 1171 1172 .cnt002-button-secondary, 1173 .cnt003-button-secondary, 1174 .cnt004-button-secondary, 1175 .cnt005-button-secondary, 1176 body:not(.home) main a.button.button-secondary { 1177 border-color: var(--a11y-button) !important; 1178 background: #fff !important; 1179 color: var(--a11y-hover) !important; 1180 } 1181 1182 input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]), 1183 select, 1184 textarea { 1185 border-color: var(--a11y-field-border); 1186 color: #29343a; 1187 } 1188 1189 input::placeholder, 1190 textarea::placeholder { 1191 color: var(--a11y-muted); 1192 opacity: 1; 1193 } 1194 1195 .sow-contact-form .sow-error { 1196 padding: .65rem .8rem; 1197 border-left: 4px solid var(--a11y-error); 1198 background: var(--a11y-error-bg); 1199 color: var(--a11y-error) !important; 1200 } 1201 1202 .sow-contact-form [aria-invalid="true"] { 1203 border-color: var(--a11y-error) !important; 1204 box-shadow: 0 0 0 1px var(--a11y-error); 1205 } 1206 1207 a:focus-visible, 1208 button:focus-visible, 1209 input:focus-visible, 1210 select:focus-visible, 1211 textarea:focus-visible, 1212 summary:focus-visible, 1213 [tabindex]:focus-visible { 1214 outline: 3px solid var(--a11y-focus-light) !important; 1215 outline-offset: 3px !important; 1216 } 1217 1218 input:not([type="checkbox"]):not([type="radio"]):focus-visible, 1219 select:focus-visible, 1220 textarea:focus-visible { 1221 border-color: var(--a11y-focus-light) !important; 1222 } 1223 1224 .ux001-site-footer a:focus-visible, 1225 .cnt002-final a:focus-visible, 1226 .cnt003-final a:focus-visible, 1227 .cnt004-final a:focus-visible, 1228 .cnt005-final a:focus-visible, 1229 .port001-final a:focus-visible, 1230 .hd-final-cta a:focus-visible, 1231 .hd-pro-band a:focus-visible { 1232 outline-color: var(--a11y-focus-dark) !important; 1233 } 1234 1235 /* AR-A11Y-001 verified regression corrections - 2026-07-14. */ 1236 .single-post .entry-content .cnt005-final h2 { 1237 color: #fff !important; 1238 } 1239 1240 .sow-contact-form .sow-form-field-description { 1241 color: var(--a11y-muted) !important; 1242 } 1243 1244 .sow-contact-form .sow-form-field-description a { 1245 color: var(--a11y-link) !important; 1246 text-decoration: underline !important; 1247 text-decoration-thickness: 1px; 1248 text-underline-offset: 3px; 1249 } 1250 1251 .sow-contact-form .sow-form-field-description a:visited { 1252 color: var(--a11y-visited) !important; 1253 } 1254 1255 .sow-contact-form .sow-form-field-description a:hover, 1256 .sow-contact-form .sow-form-field-description a:active { 1257 color: var(--a11y-hover) !important; 1258 text-decoration-thickness: 2px; 1259 } 1260 1261 .sow-contact-form input[type="submit"]:disabled, 1262 .sow-contact-form button[type="submit"]:disabled, 1263 .sow-contact-form [aria-disabled="true"] { 1264 border-color: #59666d !important; 1265 background: #59666d !important; 1266 color: #fff !important; 1267 opacity: 1;
1268 } 1269 1270 .single-post .entry-content .mbap-button.mbap-button-primary, 1271 .single-post .entry-content .mbap-button.mbap-button-primary:visited { 1272 border-color: var(--a11y-button) !important; 1273 background: var(--a11y-button) !important; 1274 color: #fff !important; 1275 text-decoration: none !important; 1276 } 1277 1278 .single-post .entry-content .mbap-button.mbap-button-primary:hover, 1279 .single-post .entry-content .mbap-button.mbap-button-primary:active { 1280 border-color: var(--a11y-button-hover) !important; 1281 background: var(--a11y-button-hover) !important; 1282 color: #fff !important; 1283 } 1284 1285 .mbap-pin, 1286 .mbap-product-number { 1287 background: var(--a11y-button) !important; 1288 color: #fff !important; 1289 } 1290 1291 .cnt003-jump a, 1292 .cnt004-jump a, 1293 .ngg-galleryoverview .slideshowlink a { 1294 color: var(--a11y-link) !important; 1295 text-decoration: underline !important; 1296 text-decoration-thickness: 1px; 1297 text-underline-offset: 3px; 1298 } 1299 1300 .cnt003-jump a:visited, 1301 .cnt004-jump a:visited, 1302 .ngg-galleryoverview .slideshowlink a:visited { 1303 color: var(--a11y-visited) !important; 1304 } 1305 1306 .cnt003-jump a:hover, 1307 .cnt003-jump a:active, 1308 .cnt004-jump a:hover, 1309 .cnt004-jump a:active, 1310 .ngg-galleryoverview .slideshowlink a:hover, 1311 .ngg-galleryoverview .slideshowlink a:active { 1312 color: var(--a11y-hover) !important; 1313 text-decoration-thickness: 2px; 1314 } 1315 1316 .nav-links .nav-previous > a, 1317 .nav-links .nav-next > a { 1318 border-color: var(--a11y-button) !important; 1319 background: var(--a11y-button) !important; 1320 color: #fff !important; 1321 text-decoration: none !important; 1322 } 1323 1324 .nav-links .nav-previous > a:hover, 1325 .nav-links .nav-previous > a:active, 1326 .nav-links .nav-next > a:hover, 1327 .nav-links .nav-next > a:active { 1328 border-color: var(--a11y-button-hover) !important; 1329 background: var(--a11y-button-hover) !important; 1330 color: #fff !important; 1331 } 1332 1333 .postid-3301 .entry-content caption { 1334 color: var(--a11y-muted) !important; 1335 } 1336 1337 .page-id-1351 .hd-about-refresh > section:first-child > div > div:first-child { 1338 color: var(--a11y-visited) !important; 1339 } 1340 1341 body.ux002-interior-page main a:focus-visible, 1342 body.ux002-interior-page main button:focus-visible, 1343 body.ux002-interior-page main input:focus-visible, 1344 body.ux002-interior-page main select:focus-visible, 1345 body.ux002-interior-page main textarea:focus-visible, 1346 body.ux002-blog-context main a:focus-visible, 1347 body.ux002-blog-context main button:focus-visible, 1348 body.ux002-blog-context main input:focus-visible, 1349 body.ux002-blog-context main select:focus-visible, 1350 body.ux002-blog-context main textarea:focus-visible { 1351 outline-color: var(--a11y-focus-light) !important; 1352 } 1353 1354 body.ux002-interior-page main .cnt002-final a:focus-visible, 1355 body.ux002-interior-page main .cnt003-final a:focus-visible, 1356 body.ux002-interior-page main .cnt004-final a:focus-visible, 1357 body.ux002-interior-page main .port001-final a:focus-visible, 1358 body.ux002-interior-page main .hd-final-cta a:focus-visible, 1359 body.ux002-interior-page main .hd-pro-band a:focus-visible, 1360 body.ux002-blog-context main .cnt005-final a:focus-visible, 1361 body.ux002-blog-context main .hd-final-cta a:focus-visible, 1362 body.ux002-blog-context main .hd-pro-band a:focus-visible { 1363 outline-color: var(--a11y-focus-dark) !important; 1364 } 1365 </style> 1366 <style id="site-designer-logo-constraints"> 1367 .wp-block-site-logo.is-default-size img { 1368 width: auto; 1369 height: auto; 1370 max-width: 180px; 1371 max-height: 80px; 1372 } 1373 .wp-block-site-logo img { 1374 height: auto; 1375 } 1376 </style> 1377 <style id="a11y002-semantic-structure-css"> 1378 #nav-toggle { 1379 appearance: none; 1380 min-height: 44px; 1381 padding: 0; 1382 border: 0; 1383 background: transparent; 1384 font: inherit; 1385 cursor: pointer; 1386 } 1387 .nav-menu.nav-menu-mobile .nav-toggle-subarrow { 1388 appearance: none; 1389 background: transparent; 1390 font: inherit; 1391 } 1392 .a11y002-intro-heading { 1393 margin: 0 0 1rem; 1394 font-size: 1.25rem; 1395 font-weight: 600; 1396 line-height: 1.35; 1397 } 1398 main#main:focus { 1399 outline: none; 1400 } 1401 </style> 1402 <style id="cnt-005-blog-index-styles"> 1403 body.blog .entry-more { max-width:100%; } 1404 body.blog a.btn.btn-theme-primary { display:flex; align-items:center; justify-content:space-between; gap:.5rem; width:100%; max-width:100%; white-space:normal; overflow-wrap:anywhere; line-height:1.35; } 1405 </style> 1406 <style id="ar-nav-001-css"> 1407 /* Desktop: expose A11Y-002's submenu buttons and reserve space for them. */ 1408 @media screen and (min-width: 1141px) { 1409 #site-navigation .nav-menu > li.menu-item-has-children > a { 1410 /* Override the existing responsive-header !important rule. */ 1411 padding-right: 32px !important; 1412 } 1413 1414 #site-navigation .nav-menu > li.menu-item-has-children > .nav-toggle-subarrow { 1415 display: flex;
1416 align-items: center; 1417 justify-content: center; 1418 position: absolute; 1419 top: 50%; 1420 right: 1px; 1421 z-index: 3; 1422 width: 30px; 1423 height: 44px; 1424 min-height: 44px; 1425 padding: 0; 1426 transform: translateY(-50%); 1427 border: 0; 1428 background: transparent; 1429 color: #27343b; 1430 font: inherit; 1431 cursor: pointer; 1432 } 1433 1434 #site-navigation .nav-menu > li.nav-toggle-dropdown > ul.sub-menu { 1435 display: block; 1436 } 1437 1438 #site-navigation .nav-menu > li.nav-toggle-dropdown > .nav-toggle-subarrow .fa-angle-down, 1439 #site-navigation .nav-menu > li > .nav-toggle-subarrow[aria-expanded="true"] .fa-angle-down { 1440 transform: rotate(180deg); 1441 } 1442 1443 #site-navigation .nav-menu > li > .nav-toggle-subarrow .fa-angle-down { 1444 transition: transform 160ms ease-in-out; 1445 } 1446 1447 /* Design Guides has no hub URL, so its label and arrow become one control. */ 1448 #site-navigation .nav-menu > li.menu-item-has-children > .nav-toggle-subarrow.ar-nav-001-full-toggle { 1449 display: flex; 1450 align-items: center; 1451 gap: 8px; 1452 position: relative; 1453 top: auto; 1454 right: auto; 1455 width: auto; 1456 height: 85px; 1457 padding: 0 10px 0 17px; 1458 transform: none; 1459 font-size: 14px; 1460 font-weight: 600; 1461 white-space: nowrap; 1462 } 1463 1464 #site-navigation .ar-nav-001-full-toggle .fa-angle-down { 1465 position: static; 1466 right: auto; 1467 } 1468 1469 .sticky-header.transparent #site-navigation .nav-menu > li > .nav-toggle-subarrow { 1470 color: #ffffff; 1471 } 1472 } 1473 1474 /* Preserve a full-width, 44px-plus Design Guides control in Screenr's mobile menu. */ 1475 @media screen and (max-width: 1140px) { 1476 #site-navigation .nav-menu.nav-menu-mobile .nav-toggle-subarrow.ar-nav-001-full-toggle { 1477 display: flex; 1478 align-items: center; 1479 justify-content: space-between; 1480 position: relative; 1481 top: auto; 1482 right: auto; 1483 width: 100%; 1484 min-height: 46px; 1485 padding: 12px 20px; 1486 border: 0; 1487 background: #ffffff; 1488 color: #27343b; 1489 font-size: 14px; 1490 font-weight: 600; 1491 text-align: left; 1492 } 1493 1494 /* Keep the focus ring inside Screenr's overflow-clipped mobile menu. */ 1495 #site-navigation .nav-menu.nav-menu-mobile .nav-toggle-subarrow:focus-visible { 1496 outline-offset: -3px !important; 1497 } 1498 } 1499 1500 #site-navigation .nav-toggle-subarrow:focus-visible { 1501 outline: 3px solid #f3b61f; 1502 outline-offset: 2px; 1503 } 1504 1505 /* Keep the full-height Design Guides focus ring inside the desktop header. */ 1506 #site-navigation .nav-toggle-subarrow.ar-nav-001-full-toggle:focus-visible { 1507 outline-offset: -3px !important; 1508 } 1509 1510 @media (prefers-reduced-motion: reduce) { 1511 #site-navigation .nav-toggle-subarrow .fa-angle-down { 1512 transition: none !important; 1513 } 1514 } 1515 </style> 1516 <style id="a11y003-form-gallery-css"> 1517 .a11y003-field-error { 1518 display: block; 1519 margin-top: .45rem; 1520 color: #9f2d22; 1521 font-weight: 600; 1522 line-height: 1.45; 1523 } 1524 #a11y003-form-status:not(:empty) { 1525 margin: 0 0 1rem; 1526 padding: .85rem 1rem; 1527 border-left: 4px solid #9f2d22; 1528 background: #fff4f2; 1529 color: #5f1b15; 1530 } 1531 .a11y003-visually-hidden { 1532 position: absolute !important; 1533 width: 1px !important; 1534 height: 1px !important; 1535 padding: 0 !important; 1536 margin: -1px !important; 1537 overflow: hidden !important; 1538 clip: rect(0, 0, 0, 0) !important; 1539 white-space: nowrap !important; 1540 border: 0 !important; 1541 } 1542 #fancybox-wrap[role="dialog"] #fancybox-close, 1543 #fancybox-wrap[role="dialog"] #fancybox-left, 1544 #fancybox-wrap[role="dialog"] #fancybox-right { 1545 display: block !important; 1546 cursor: pointer; 1547 } 1548 #fancybox-wrap[role="dialog"] #fancybox-close { 1549 width: 44px !important; 1550 height: 44px !important; 1551 top: -18px !important; 1552 right: -18px !important; 1553 border: 2px solid #fff; 1554 border-radius: 50%; 1555 background: #15344f !important; 1556 box-shadow: 0 2px 8px rgba(0, 0, 0, .45); 1557 text-decoration: none; 1558 } 1559 #fancybox-wrap[role="dialog"] #fancybox-close::after { 1560 content: "\00d7"; 1561 display: block; 1562 color: #fff; 1563 font: 700 32px/36px Arial, sans-serif; 1564 text-align: center; 1565 } 1566 #fancybox-wrap[role="dialog"] #fancybox-left, 1567 #fancybox-wrap[role="dialog"] #fancybox-right { 1568 top: 0; 1569 width: 22% !important; 1570 height: 100% !important; 1571 background: transparent !important; 1572 text-decoration: none; 1573 } 1574 #fancybox-wrap[role="dialog"] #fancybox-left::after, 1575 #fancybox-wrap[role="dialog"] #fancybox-right::after { 1576 position: absolute; 1577 top: 50%; 1578 width: 44px; 1579 height: 52px; 1580 margin-top: -26px; 1581 border: 2px solid rgba(255, 255, 255, .9); 1582 border-radius: 4px; 1583 background: rgba(21, 52, 79, .88); 1584 color: #fff; 1585 font: 700 42px/44px Arial, sans-serif; 1586 text-align: center; 1587 box-shadow: 0 2px 8px rgba(0, 0, 0, .35); 1588 } 1589 #fancybox-wrap[role="dialog"] #fancybox-left::after { 1590 content: "\2039"; 1591 left: 12px; 1592 } 1593 #fancybox-wrap[role="dialog"] #fancybox-right::after { 1594 content: "\203a"; 1595 right: 12px; 1596 } 1597 #fancybox-wrap[role="dialog"] #fancybox-left-ico, 1598 #fancybox-wrap[role="dialog"] #fancybox-right-ico { 1599 display: none !important; 1600 } 1601 #fancybox-wrap[role="dialog"] #fancybox-close:focus-visible, 1602 #fancybox-wrap[role="dialog"] #fancybox-left:focus-visible, 1603 #fancybox-wrap[role="dialog"] #fancybox-right:focus-visible { 1604 outline: 3px solid #fff !important; 1605 outline-offset: 3px !important; 1606 box-shadow: 0 0 0 6px #15344f !important; 1607 } 1608 </style> 1609 <link rel='stylesheet' id='so-css-screenr-css' href='https://3dhomedesigns.com/w
1609p-content/uploads/so-css/so-css-screenr.css?ver=1784944186' media='all' /> 1610 1611</head> 1612 1613<body class="blog wp-custom-logo wp-embed-responsive wp-theme-screenr ux002-blog-context metaslider-plugin hfeed no-site-title no-site-tagline header-layout-fixed"> 1614<div id="page" class="site"> 1615 <a class="skip-link screen-reader-text" href="#main">Skip to content</a> 1616 <header id="masthead" class="site-header sticky-header" role="banner"> 1617 <div class="container"> 1618 <div class="site-branding"> 1619 <a href="https://3dhomedesigns.com/" class="custom-logo-link no-t-logo" rel="home" itemprop="url"><img width="240" height="70" src="https://3dhomedesigns.com/wp-content/uploads/2017/08/cropped-3DHD-Logo-1-e1504369672753.png" class="custom-logo" alt="3D Home Designs" itemprop="logo" decoding="async" /></a> </div><!-- .site-branding --> 1620 1621 <div class="header-right-wrapper"> 1622 <button type="button" id="nav-toggle" aria-controls="site-navigation" aria-expanded="false">Menu<span></span></button> 1623 <nav id="site-navigation" class="main-navigation" role="navigation" aria-label="Primary navigation"> 1624 <ul class="nav-menu"> 1625 <li id="menu-item-3439" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-3439"><a href="https://3dhomedesigns.com/">Home</a></li> 1626<li id="menu-item-169" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-169"><a href="https://3dhomedesigns.com/services/">Services</a> 1627<ul class="sub-menu"> 1628 <li id="menu-item-1805" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1805"><a href="https://3dhomedesigns.com/builder-designer-services/">Builder & Designer Services</a></li> 1629 <li id="menu-item-1806" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1806"><a href="https://3dhomedesigns.com/3d-home-design-services-concept-renders/">3D Home Design Services and Concept Renders</a></li> 1630 <li id="menu-item-1807" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1807"><a href="https://3dhomedesigns.com/home-design/">Home Planning & Design</a></li> 1631 <li id="menu-item-3314" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3314"><a href="https://3dhomedesigns.com/pricing/">Pricing</a></li> 1632</ul> 1633</li> 1634<li id="menu-item-1477" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-1477"><a href="https://3dhomedesigns.com/about-3d-home-designs/">About Us</a> 1635<ul class="sub-menu"> 1636 <li id="menu-item-2044" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2044"><a href="https://3dhomedesigns.com/key-benefits/">Key Benefits</a></li> 1637 <li id="menu-item-2043" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2043"><a href="https://3dhomedesigns.com/process/">Our Process</a></li> 1638</ul> 1639</li> 1640<li id="menu-item-1633" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-164 current_page_item current_page_parent menu-item-1633"><a href="https://3dhomedesigns.com/blog-posts/" aria-current="page">Blog</a></li> 1641<li id="menu-item-2237" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-2237"><a href="https://3dhomedesigns.com/gallery/">Gallery</a> 1642<ul class="sub-menu"> 1643 <li id="menu-item-2238" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2238"><a href="https://3dhomedesigns.com/cabinet-other-render-gallery/">Cabinets, Built-Ins & Details</a></li> 1644 <li id="menu-item-2239" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2239"><a href="https://3dhomedesigns.com/exterior-render-gallery/">Exterior Render Gallery</a></li> 1645 <li id="menu-item-2240" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2240"><a href="https://3dhomedesigns.com/kitchen-render-gallery/">Kitchen Render Gallery</a></li> 1646 <li id="menu-item-2241" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2241"><a href="https://3dhomedesigns.com/bathroom-render-gallery/">Bathroom Render Gallery</a></li> 1647</ul> 1648</li> 1649<li id="menu-item-3488" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-3488"><a href="#">Design Guides</a> 1650<ul class="sub-menu"> 1651 <li id="menu-item-3489" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3489"><a href="https://3dhomedesigns.com/bathroom-design/">
1651Bathroom Design Guide</a></li> 1652 <li id="menu-item-3503" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3503"><a href="https://3dhomedesigns.com/kitchen-design/">Kitchen Design Guide</a></li> 1653</ul> 1654</li> 1655<li id="menu-item-3283" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3283"><a href="https://3dhomedesigns.com/contact/">Contact Us</a></li> 1656<li id="menu-item-1480" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1480"><a href="https://3dhomedesigns.com/faq/">FAQ</a></li> 1657 </ul> 1658 </nav> 1659 <!-- #site-navigation --> 1660 </div> 1661 1662 </div> 1663 </header><!-- #masthead --> 1664 <section id="page-header-cover" class="section-slider swiper-slider fixed no-image" > 1665 <div class="swiper-container" data-autoplay="0"> 1666 <div class="swiper-wrapper "> 1667 <div class="swiper-slide slide-align-center "><div class="swiper-slide-intro"><div class="swiper-intro-inner" style="padding-top: 0%; padding-bottom: 0%; " ><p class="swiper-slide-heading">The Blog</p></div></div><div class="overlay"></div></div> </div> 1668 </div> 1669 </section> 1670 1671 <div id="content" class="site-content"> 1672 <div id="content-inside" class="container right-sidebar"> 1673 <div id="primary" class="content-area"> 1674 <main id="main" class="site-main" role="main" tabindex="-1"> 1675 1676 1677 <header> 1678 <h1 class="page-title screen-reader-text">Home Design Articles & Project Guides</h1> 1679 </header> 1680 1681 <section class="seo004-topic-directory" aria-labelledby="seo004-topic-directory"><h2 id="seo004-topic-directory">Browse residential planning topics</h2><p>Choose a subject to find current guides, practical planning articles, and clearly labeled archive examples.</p><div class="seo004-topic-grid"><section class="seo004-topic-card"><h3>Kitchen planning</h3><ul><li><a href="https://3dhomedesigns.com/tips-for-kitchen-remodeling-from-a-home-designer/">Kitchen remodel planning tips</a></li><li><a href="https://3dhomedesigns.com/practice-kitchen-design/">Chief Architect kitchen design study</a></li></ul></section><section class="seo004-topic-card"><h3>Bathroom planning and examples</h3><ul><li><a href="https://3dhomedesigns.com/shower-wall-options/">Compare shower wall, pony-wall, and glass options</a></li><li><a href="https://3dhomedesigns.com/1st-design-challenge/">Review the original modern-bathroom criteria</a></li><li><a href="https://3dhomedesigns.com/modern-bathroom-design-challenge/">Watch the archived bathroom concept session</a></li><li><a href="https://3dhomedesigns.com/modern-bath-design-challenge-final/">Explore the finished bathroom concept plan</a></li></ul></section><section class="seo004-topic-card"><h3>Custom homes, additions, and spaces</h3><ul><li><a href="https://3dhomedesigns.com/how-to-design-a-walk-in-closet/">Plan a walk-in closet around storage and circulation</a></li><li><a href="https://3dhomedesigns.com/revitalize-your-outdoor-space/">Consider seven outdoor-living planning factors</a></li><li><a href="https://3dhomedesigns.com/7-home-trends/">Evaluate home trends for function and long-term fit</a></li><li><a href="https://3dhomedesigns.com/what-to-consider-when-building-2nd-story-over-your-garage/">Plan a second story over a garage</a></li></ul></section><section class="seo004-topic-card"><h3>Permits and contractor preparation</h3><ul><li><a href="https://3dhomedesigns.com/austin-work-without-permit-remodel-mistakes/">Avoid common Austin remodel-permit mistakes</a></li><li><a href="https://3dhomedesigns.com/questions-for-your-contractor/">Prepare questions for contractor interviews</a></li></ul></section><section class="seo004-topic-card"><h3>Concept renders and interactive planning</h3><ul><li><a href="https://3dhomedesigns.com/virtual-showrooms/">Use virtual product models with appropriate verification</a></li><li><a href="https://3dhomedesigns.com/interactive-home-design/">Understand interactive design meetings and revisions</a></li><li><a href="https://3dhomedesigns.com/3d-home-design/">Review the practical uses and limits of 3D planning</a></li><li><a href="https://3dhomedesigns.com/personal-bed-design-challenge-pt-1/">See an archived custom-bed concept exercise</a></li></ul></section><section class="seo004-topic-card"><h3>Project teams and contractor comparison</h3><ul><li><a href="https://3dhomedesigns.com/interior-design-explained/">Understand residential design and coordination roles</a></li><li><a href="https://3dhomedesigns.com/find-your-contractor/">Compare residential contractors using consistent scope</a></li></ul></section></div></section> 1682 1683<article id="post-3419" class="post-3419 post type-post status-publish format-standard hentry category-contractor-tips category-home-design"> 1684 <header class="entry-header"> 1685 <h2 class="entry-title"><a href="https://3dhomedesigns.com/austin-work-without-permit-remodel-mistakes/" rel="bookmark">Austin Work Without a Permit: Remodel Mistakes to Avoid</a></h2> 1686 <div class="entry-meta"> 1687 <span class="posted-on"><i aria-hidden="true" class="fa fa-clock-o"></i> <a href="https://3dhomedesigns.com/austin-work-without-permit-remodel-mistakes/" rel="bookmark"><time class="entry-date published updated" datetime="2026-07-03T09:05:41-05:00">July 3, 2026</time></a></span><span class="byline"> Author: <span class="author vcard"><a class="url fn n" href="https://3dhomedesigns.com/author/alytal131/">Aaron</a></span></span> <span class="meta-cate">Category: <a href="https://3dhomedesigns.com/category/contractor-tips/">Contractor Tips</a></span> </div><!-- .entry-meta --> 1688 1689 </header><!-- .entry-header --> 1690 <div class="entry-content"> 1691 <p>Work without a permit is one of those problems most homeowners do not think about until the project is already moving. In Austin, the City lists work without a permit as one of the common code violations on residential properties, and remodels can cross that line faster than people expect….</p> 1692 </div><!-- .entry-content --> 1693 1694 <div class="entry-more"> 1695 <a href="https://3dhomedesigns.com/austin-work-without-permit-remodel-mistakes/" title="Austin Work Without a Permit: Remodel Mistakes to Avoid" class="btn btn-theme-primary">Continue reading: Austin Work Without a Permit: Remodel Mistakes to Avoid<i aria-hidden="true" class="fa fa-chevron-right"></i></a> 1696 </div> 1697 1698</article><!-- #post-## --> 1699 1700 1701 1702<article id="post-3301" class="post-3301 post type-post status-publish format-standard hentry category-contractor-tips category-home-design category-homes"> 1703 <header class="entry-header"> 1704 <h2 class="entry-title"><a href="https://3dhomedesigns.com/what-to-consider-when-building-2nd-story-over-your-garage/" rel="bookmark">Building a 2nd Story Over a Garage: Austin &
1704 Houston Guide</a></h2> 1705 <div class="entry-meta"> 1706 <span class="posted-on"><i aria-hidden="true" class="fa fa-clock-o"></i> <a href="https://3dhomedesigns.com/what-to-consider-when-building-2nd-story-over-your-garage/" rel="bookmark"><time class="entry-date published updated" datetime="2024-03-16T13:02:22-05:00">March 16, 2024</time></a></span><span class="byline"> Author: <span class="author vcard"><a class="url fn n" href="https://3dhomedesigns.com/author/alytal131/">Aaron</a></span></span> <span class="meta-cate">Category: <a href="https://3dhomedesigns.com/category/contractor-tips/">Contractor Tips</a></span> </div><!-- .entry-meta --> 1707 1708 </header><!-- .entry-header --> 1709 <div class="entry-content"> 1710 <p>Building a second story over a garage can turn underused space into a guest suite, home office, studio, garage apartment, or flexible family space. It can also become one of the more complicated additions on a home because the project sits at the intersection of structure, site constraints, access, fire…</p> 1711 </div><!-- .entry-content --> 1712 1713 <div class="entry-more"> 1714 <a href="https://3dhomedesigns.com/what-to-consider-when-building-2nd-story-over-your-garage/" title="Building a 2nd Story Over a Garage: Austin & Houston Guide" class="btn btn-theme-primary">Continue reading: Building a 2nd Story Over a Garage: Austin & Houston Guide<i aria-hidden="true" class="fa fa-chevron-right"></i></a> 1715 </div> 1716 1717</article><!-- #post-## --> 1718 1719 1720 1721<article id="post-2938" class="post-2938 post type-post status-publish format-standard has-post-thumbnail hentry category-home-design"> 1722 <header class="entry-header"> 1723 <h2 class="entry-title"><a href="https://3dhomedesigns.com/how-to-design-a-walk-in-closet/" rel="bookmark">How to Plan a Walk-In Closet</a></h2> 1724 <div class="entry-meta"> 1725 <span class="posted-on"><i aria-hidden="true" class="fa fa-clock-o"></i> <a href="https://3dhomedesigns.com/how-to-design-a-walk-in-closet/" rel="bookmark"><time class="entry-date published updated" datetime="2018-08-14T19:46:22-05:00">August 14, 2018</time></a></span><span class="byline"> Author: <span class="author vcard"><a class="url fn n" href="https://3dhomedesigns.com/author/alytal131/">Aaron</a></span></span> <span class="meta-cate">Category: <a href="https://3dhomedesigns.com/category/home-design/">Home Design</a></span> </div><!-- .entry-meta --> 1726 1727 <div class="entry-thumb"><img width="790" height="400" src="https://3dhomedesigns.com/wp-content/uploads/2018/08/Image_1-1-790x400.jpeg" class="attachment-screenr-blog-list size-screenr-blog-list wp-post-image" alt="Walk-in closet with hanging clothes, shelves, folded linens, and storage bins" decoding="async" fetchpriority="high" /></div> </header><!-- .entry-header --> 1728 <div class="entry-content"> 1729 <p>Use seven practical planning steps to organize wardrobe inventory, circulation, hanging space, drawers, shelving, lighting, and future flexibility.</p> 1730 </div><!-- .entry-content --> 1731 1732 <div class="entry-more"> 1733 <a href="https://3dhomedesigns.com/how-to-design-a-walk-in-closet/" title="How to Plan a Walk-In Closet" class="btn btn-theme-primary">Continue reading: How to Plan a Walk-In Closet<i aria-hidden="true" class="fa fa-chevron-right"></i></a> 1734 </div> 1735 1736</article><!-- #post-## --> 1737 1738 1739 1740<article id="post-2919" class="post-2919 post type-post status-publish format-standard has-post-thumbnail hentry category-home-design"> 1741 <header class="entry-header"> 1742 <h2 class="entry-title"><a href="https://3dhomedesigns.com/revitalize-your-outdoor-space/" rel="bookmark">Outdoor Living Ideas: Seven Planning Considerations</a></h2> 1743 <div class="entry-meta"> 1744 <span class="posted-on"><i aria-hidden="true" class="fa fa-clock-o"></i> <a href="https://3dhomedesigns.com/revitalize-your-outdoor-space/" rel="bookmark"><time class="entry-date published updated" datetime="2018-08-06T16:04:58-05:00">August 6, 2018</time></a></span><span class="byline"> Author: <span class="author vcard"><a class="url fn n" href="https://3dhomedesigns.com/author/alytal131/">Aaron</a></span></span> <span class="meta-cate">Category: <a href="https://3dhomedesigns.com/category/home-design/">Home Design</a></span> </div><!-- .entry-meta --> 1745 1746 <div class="entry-thumb">
1746<img width="790" height="400" src="https://3dhomedesigns.com/wp-content/uploads/2018/08/Image_1-790x400.jpeg" class="attachment-screenr-blog-list size-screenr-blog-list wp-post-image" alt="Outdoor patio with sectional seating, wood decking, steps, and a landscaped yard" decoding="async" /></div> </header><!-- .entry-header --> 1747 <div class="entry-content"> 1748 <p>Use seven practical planning considerations to organize comfort, seating, circulation, drainage, lighting, recreation, cooking, and maintenance for an outdoor living area.</p> 1749 </div><!-- .entry-content --> 1750 1751 <div class="entry-more"> 1752 <a href="https://3dhomedesigns.com/revitalize-your-outdoor-space/" title="Outdoor Living Ideas: Seven Planning Considerations" class="btn btn-theme-primary">Continue reading: Outdoor Living Ideas: Seven Planning Considerations<i aria-hidden="true" class="fa fa-chevron-right"></i></a> 1753 </div> 1754 1755</article><!-- #post-## --> 1756 1757 1758 1759<article id="post-2830" class="post-2830 post type-post status-publish format-standard has-post-thumbnail hentry category-home-design category-homes"> 1760 <header class="entry-header"> 1761 <h2 class="entry-title"><a href="https://3dhomedesigns.com/7-home-trends/" rel="bookmark">Seven Home Trends to Consider</a></h2> 1762 <div class="entry-meta"> 1763 <span class="posted-on"><i aria-hidden="true" class="fa fa-clock-o"></i> <a href="https://3dhomedesigns.com/7-home-trends/" rel="bookmark"><time class="entry-date published updated" datetime="2018-08-05T10:17:02-05:00">August 5, 2018</time></a></span><span class="byline"> Author: <span class="author vcard"><a class="url fn n" href="https://3dhomedesigns.com/author/alytal131/">Aaron</a></span></span> <span class="meta-cate">Category: <a href="https://3dhomedesigns.com/category/home-design/">Home Design</a></span> </div><!-- .entry-meta --> 1764 1765 <div class="entry-thumb"><img width="790" height="400" src="https://3dhomedesigns.com/wp-content/uploads/2018/07/Image_1-790x400.jpeg" class="attachment-screenr-blog-list size-screenr-blog-list wp-post-image" alt="Home Trends" decoding="async" /></div> </header><!-- .entry-header --> 1766 <div class="entry-content"> 1767 <p>Top 7 Home Trends to Give Your Home a Facelift Paying off your mortgage early may sound great. But for many Americans, it’s actually unwise to spend that money on an early mortgage payoff. The better value sometimes, is investing. And with these great new home trends to invest in,…</p> 1768 </div><!-- .entry-content --> 1769 1770 <div class="entry-more"> 1771 <a href="https://3dhomedesigns.com/7-home-trends/" title="Seven Home Trends to Consider" class="btn btn-theme-primary">Continue reading: Seven Home Trends to Consider<i aria-hidden="true" class="fa fa-chevron-right"></i></a> 1772 </div> 1773 1774</article><!-- #post-## --> 1775 1776 1777 1778 <nav class="navigation posts-navigation" aria-label="Posts"> 1779 <h2 class="screen-reader-text">Posts navigation</h2> 1780 <div class="nav-links"><div class="nav-previous"><a href="https://3dhomedesigns.com/blog-posts/page/2/" >Older posts</a></div></div> 1781 </nav> 1782 1783 </main><!-- #main --> 1784 </div><!-- #primary --> 1785 1786 1787<div id="secondary" class="widget-area sidebar" role="complementary"> 1788 <section id="categories-3" class="widget widget_categories"><h2 class="widget-title">Blog Categories</h2><form action="https://3dhomedesigns.com" method="get"><label class="screen-reader-text" for="cat">Blog Categories</label><select name='cat' id='cat' class='postform'> 1789 <option value='-1'>Select Category</option> 1790 <option class="level-0" value="8">3D Rendering (7)</option> 1791 <option class="level-0" value="9">Architectural Details (2)</option> 1792 <option class="level-0" value="10">Chief Architect (4)</option> 1793 <option class="level-0" value="17">Company News (2)</option> 1794 <option class="level-0" value="16">Contractor Tips (4)</option> 1795 <option class="level-0" value="13">Design Challenge (5)</option> 1796 <option class="level-0" value="484">Home Design (6)</option> 1797 <option class="level-0" value="4">Homes (12)</option> 1798 <option class="level-1" value="6"> Bathroom Design (5)</option> 1799 <option class="level-1" value="5"> Cabinet Design (2)</option> 1800 <option class="level-1" value="7">
1800Kitchen Design (3)</option> 1801 <option class="level-0" value="11">Website Information (6)</option> 1802</select> 1803</form>
1803<script> 1804( ( dropdownId ) => { 1805 const dropdown = document.getElementById( dropdownId ); 1806 function onSelectChange() { 1807 setTimeout( () => { 1808 if ( 'escape' === dropdown.dataset.lastkey ) { 1809 return; 1810 } 1811 if ( dropdown.value && parseInt( dropdown.value ) > 0 && dropdown instanceof HTMLSelectElement ) { 1812 dropdown.parentElement.submit(); 1813 } 1814 }, 250 ); 1815 } 1816 function onKeyUp( event ) { 1817 if ( 'Escape' === event.key ) { 1818 dropdown.dataset.lastkey = 'escape'; 1819 } else { 1820 delete dropdown.dataset.lastkey; 1821 } 1822 } 1823 function onClick() { 1824 delete dropdown.dataset.lastkey; 1825 } 1826 dropdown.addEventListener( 'keyup', onKeyUp ); 1827 dropdown.addEventListener( 'click', onClick ); 1828 dropdown.addEventListener( 'change', onSelectChange ); 1829})( "cat" ); 1830 1831//# sourceURL=WP_Widget_Categories%3A%3Awidget 1832</script>
1832 1833</section></div><!-- #secondary --> 1834 1835 </div><!--#content-inside --> 1836 </div><!-- #content --> 1837 1838 <footer id="colophon" class="site-footer" role="contentinfo"> 1839 1840 <div class=" site-info"> 1841 <div class="container"> 1842 <div class="site-copyright"> 1843 Copyright © 2026 3D Home Designs. All Rights Reserved. </div><!-- .site-copyright --> 1844 <div class="theme-info"> 1845 <a href="https://www.famethemes.com/themes/screenr">Screenr parallax theme</a> by FameThemes </div> 1846 </div> 1847 </div><!-- .site-info --> 1848 1849 </footer><!-- #colophon --> 1850</div><!-- #page --> 1851
1852<script type="speculationrules"> 1853{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/screenr/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 1854</script>
1854 1855 <footer id="ux001-site-footer" class="ux001-site-footer" role="contentinfo"> 1856 <div class="ux001-footer-inner"> 1857 <div class="ux001-footer-grid"> 1858 <section class="ux001-footer-brand" aria-labelledby="ux001-footer-brand-heading"> 1859 <h2 id="ux001-footer-brand-heading">3D Home Designs</h2> 1860 <p>Lakeway-based residential design support for homeowners and project teams in Austin, Houston, across Texas, and remotely when the process fits.</p> 1861 <a class="ux001-footer-cta" href="https://3dhomedesigns.com/contact/">Start a project conversation</a> 1862 <a class="ux001-footer-email" href="mailto:aaron@3dhomedesigns.com">Email 3D Home Designs</a> 1863 </section> 1864 1865 <nav class="ux001-footer-group" aria-labelledby="ux001-footer-services-heading"> 1866 <h2 id="ux001-footer-services-heading">Services</h2> 1867 <ul> 1868 <li><a href="https://3dhomedesigns.com/services/">Residential Design Services</a></li> 1869 <li><a href="https://3dhomedesigns.com/home-design/">Home & Remodel Planning</a></li> 1870 <li><a href="https://3dhomedesigns.com/3d-home-design-services-concept-renders/">Concept Renders & Finish Studies</a></li> 1871 <li><a href="https://3dhomedesigns.com/builder-designer-services/">Builder & Designer Support</a></li> 1872 </ul> 1873 </nav> 1874 1875 <nav class="ux001-footer-group" aria-labelledby="ux001-footer-plan-heading"> 1876 <h2 id="ux001-footer-plan-heading">Plan and explore</h2> 1877 <ul> 1878 <li><a href="https://3dhomedesigns.com/pricing/">Pricing & Estimate Process</a></li> 1879 <li><a href="https://3dhomedesigns.com/process/">Residential Design Process</a></li> 1880 <li><a href="https://3dhomedesigns.com/faq/">Project FAQ</a></li> 1881 <li><a href="https://3dhomedesigns.com/gallery/">Portfolio Gallery</a></li> 1882 <li><a href="https://3dhomedesigns.com/bathroom-design/">Bathroom Design Guide</a></li> 1883 <li><a href="https://3dhomedesigns.com/kitchen-design/">Kitchen Design Guide</a></li> 1884 <li><a href="https://3dhomedesigns.com/about-3d-home-designs/">About 3D Home Designs</a></li> 1885 </ul> 1886 </nav> 1887 1888 <nav class="ux001-footer-group" aria-labelledby="ux001-footer-connect-heading"> 1889 <h2 id="ux001-footer-connect-heading">Connect</h2> 1890 <ul> 1891 <li><a rel="me" href="https://www.facebook.com/3DHomeDesigners/">Facebook</a></li> 1892 <li><a rel="me" href="https://www.instagram.com/3dhomedesigners/">Instagram</a></li> 1893 <li><a rel="me" href="https://www.pinterest.com/3DHomeDesigns/">Pinterest</a></li> 1894 <li><a rel="me" href="https://x.com/3DHomeDesigners">X</a></li> 1895 <li><a href="https://3dhomedesigns.com/blog-posts/">Residential Design Articles</a></li> 1896 </ul> 1897 </nav> 1898 </div> 1899 1900 <div class="ux001-footer-bottom"> 1901 <nav aria-label="Legal and community"> 1902 <ul> 1903 <li><a href="https://3dhomedesigns.com/privacy-policy/">Privacy Policy</a></li> 1904 <li><a href="https://3dhomedesigns.com/kellyanne-elizabeth-lytal-memorial
1904-foundation/">Kellyanne Memorial Foundation</a></li> 1905 </ul> 1906 </nav> 1907 <p>© 2026 3D Home Designs. All rights reserved.</p> 1908 </div> 1909 </div> 1910 </footer> 1911
1911<script id="screenr-plugin-js" src="https://3dhomedesigns.com/wp-content/themes/screenr/assets/js/plugins.js?ver=4.0.0"></script>
vendor: 1 bytes, line 1911
1911
1912<script id="bootstrap-js" src="https://3dhomedesigns.com/wp-content/themes/screenr/assets/js/bootstrap.bundle.min.js?ver=4.0.0"></script>
vendor: 1 bytes, line 1912
1912
1913<script id="screenr-theme-js-extra"> 1914var Screenr = {"ajax_url":"https://3dhomedesigns.com/wp-admin/admin-ajax.php","full_screen_slider":"","header_layout":"fixed","slider_parallax":"1","is_home_front_page":"0","autoplay":"7000","speed":"700","effect":"slide","gallery_enable":"1"}; 1915//# sourceURL=screenr-theme-js-extra 1916</script>
vendor: 1 bytes, line 1916
1916
1917<script id="screenr-theme-js" src="https://3dhomedesigns.com/wp-content/themes/screenr/assets/js/theme.js?ver=20120206"></script>
vendor: 1 bytes, line 1917
1917
1918<script id="wp-emoji-settings" type="application/json"> 1919{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://3dhomedesigns.com/wp-includes/js/wp-emoji-release.min.js?ver=7.1.2"}} 1920</script>
vendor: 1 bytes, line 1920
1920
1921<script type="module"> 1922/*! This file is auto-generated */ 1923var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!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!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));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(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))}); 1924//# sourceURL=https://3dhomedesigns.com/wp-includes/js/wp-emoji-loader.min.js 1925</script>
1925 1926 <div class="hd-legal-footer-links" aria-label="Legal"> 1927 <a href="https://3dhomedesigns.com/privacy-policy/">Privacy Policy</a> 1928 </div> 1929 <style id="hd-privacy-footer-link-css"> 1930 .hd-legal-footer-links { 1931 box-sizing: border-box; 1932 width: 100%; 1933 padding: 12px 20px 18px; 1934 background: #111; 1935 color: #fff; 1936 text-align: center; 1937 font-size: 14px; 1938 line-height: 1.5; 1939 } 1940 1941 .hd-legal-footer-links a { 1942 color: #fff; 1943 text-decoration: underline; 1944 text-underline-offset: 3px; 1945 } 1946 1947 .hd-legal-footer-links a:hover, 1948 .hd-legal-footer-links a:focus { 1949 color: #fff; 1950 text-decoration-thickness: 2px; 1951 } 1952 1953 .hd-contact-privacy-note { 1954 margin: 4px 0 18px; 1955 font-size: 14px; 1956 line-height: 1.55; 1957 } 1958 </style> 1959
1959<script id="anl-002-non-form-events"> 1960 (function () { 1961 'use strict'; 1962 1963 var handledEvents = {}; 1964 var debugMode = false; 1965 1966 try { 1967 debugMode = new URLSearchParams(window.location.search).get('anl002_debug') === '1'; 1968 } catch (e) { 1969 debugMode = false; 1970 } 1971 1972 function getSender() { 1973 if (typeof window.__gtagTracker === 'function') return window.__gtagTracker; 1974 if (typeof window.gtag === 'function') return window.gtag; 1975 return null; 1976 } 1977 1978 function sendEvent(key, eventName, parameters) { 1979 if (handledEvents[key]) return; 1980 handledEvents[key] = true; 1981 1982 var sender = getSender(); 1983 if (!sender) return; 1984 1985 var payload = {}; 1986 Object.keys(parameters || {}).forEach(function (parameter) { 1987 payload[parameter] = parameters[parameter]; 1988 }); 1989 if (debugMode) payload.debug_mode = true; 1990 1991 sender('event', eventName, payload); 1992 1993 // Non-personal, in-memory diagnostic signal for controlled browser tests. 1994 if (typeof window.CustomEvent === 'function') { 1995 window.dispatchEvent(new CustomEvent('anl002:event', { 1996 detail: { event_name: eventName, parameters: payload } 1997 })); 1998 } 1999 } 2000 2001 function closestAnchor(target) { 2002 if (!target) return null; 2003 if (target.closest) return target.closest('a[href]'); 2004 return null; 2005 } 2006 2007 function safeUrl(anchor) { 2008 try { return new URL(anchor.href, window.location.href); } catch (e) { return null; } 2009 } 2010 2011 function isProjectIntake(url) { 2012 return url && url.hostname === window.location.hostname && url.pathname.replace(/\/+$/, '') === '/contact'; 2013 } 2014 2015 function isGalleryPath(pathname) { 2016 return pathname === '/gallery/' || /-render-gallery\/$/.test(pathname); 2017 } 2018 2019 function fileNameFor(pathname) { 2020 var name = pathname.split('/').pop().toLowerCase(); 2021 var allowed = { 2022 'bathroom-planning-checklist.pdf': 'bathroom_planning_checklist', 2023 'kitchen-planning-checklist.pdf': 'kitchen_planning_checklist', 2024 'design-challenge-1.pdf': 'design_challenge_plan_set', 2025 'bed-layout.pdf': 'bed_layout' 2026 }; 2027 return allowed[name] || 'pdf_resource'; 2028 } 2029 2030 document.addEventListener('click', function (event) { 2031 var anchor = closestAnchor(event.target); 2032 if (!anchor) return; 2033 2034 var url = safeUrl(anchor); 2035 if (!url) return; 2036 2037 var eventName = ''; 2038 var parameters = {}; 2039 var suppressMonsterInsights = false; 2040 2041 if (url.protocol === 'mailto:') { 2042 eventName = 'email_click'; 2043 parameters.contact_method = 'email'; 2044 suppressMonsterInsights = true; 2045 } else if (url.hostname.toLowerCase() === 'amzn.to') { 2046 eventName = 'affiliate_click'; 2047 parameters.affiliate_name = 'amazon'; 2048 suppressMonsterInsights = true; 2049 } else if (/\.pdf$/i.test(url.pathname)) { 2050 eventName = 'file_download'; 2051 parameters.file_extension = 'pdf'; 2052 parameters.file_name = fileNameFor(url.pathname); 2053 suppressMonsterInsights = true; 2054 } else if ( 2055 isProjectIntake(url) && 2056 anchor.closest('main') && 2057 window.location.pathname !== '/contact/' && 2058 window.location.pathname !== '/privacy-policy/' 2059 ) { 2060 eventName = isGalleryPath(window.location.pathname) ? 'gallery_contact_click' : 'primary_cta_click'; 2061 parameters.cta_destination = 'project_intake'; 2062 } 2063 2064 if (!eventName) return; 2065 2066 // MonsterInsights' generic listener otherwise includes raw mailto addresses, 2067 // URLs, and link text for these three link types. Preserve the browser's 2068 // default action while preventing that body-level analytics handler. 2069 if (suppressMonsterInsights) event.stopPropagation(); 2070 2071 var eventKey = eventName + ':' + String(Math.round(event.timeStamp)); 2072 sendEvent(eventKey, eventName, parameters); 2073 }, true); 2074 }()); 2075 </script>
2075 2076
2076<script id="a11y002-navigation-state-js"> 2077 (function ($) { 2078 'use strict'; 2079 2080 $(function () { 2081 var toggle = document.getElementById('nav-toggle'); 2082 var navigation = document.getElementById('site-navigation'); 2083 var enableKeyboardActivation = function (control) { 2084 control.addEventListener('keydown', function (event) { 2085 if ('Enter' === event.key || ' ' === event.key) { 2086 event.preventDefault(); 2087 control.click(); 2088 } 2089 }); 2090 }; 2091 2092 if (toggle && navigation) { 2093 var syncMainState = function () { 2094 var expanded = document.body.classList.contains('body-nav-is-visible'); 2095 toggle.setAttribute('aria-expanded', expanded ? 'true' : 'false'); 2096 }; 2097 2098 toggle.addEventListener('click', function () { 2099 window.setTimeout(syncMainState, 0); 2100 }); 2101 enableKeyboardActivation(toggle); 2102 syncMainState(); 2103 } 2104 2105 document.querySelectorAll('.nav-menu .nav-toggle-subarrow').forEach(function (original, index) { 2106 var item = original.parentElement; 2107 var link = item ? Array.prototype.find.call(item.children, function (child) { 2108 return child.matches('a'); 2109 }) : null; 2110 var submenu = item ? Array.prototype.find.call(item.children, function (child) { 2111 return child.matches('ul'); 2112 }) : null; 2113 2114 if (!item || !link || !submenu) { 2115 return; 2116 } 2117 2118 var label = link.textContent.trim() || 'menu item'; 2119 if (!submenu.id) { 2120 submenu.id = 'a11y002-submenu-' + (item.id || (index + 1)); 2121 } 2122 2123 var button = document.createElement('button'); 2124 button.type = 'button'; 2125 button.className = 'nav-toggle-subarrow'; 2126 button.setAttribute('aria-controls', submenu.id); 2127 button.setAttribute('aria-expanded', 'false'); 2128 button.setAttribute('aria-label', 'Expand submenu for ' + label); 2129 button.innerHTML = '<i class="fa fa-angle-down" aria-hidden="true"></i>'; 2130 original.replaceWith(button); 2131 2132 button.addEventListener('click', function (event) { 2133 event.preventDefault(); 2134 event.stopPropagation(); 2135 var expanded = item.classList.toggle('nav-toggle-dropdown'); 2136 button.setAttribute('aria-expanded', expanded ? 'true' : 'false'); 2137 button.setAttribute('aria-label', (expanded ? 'Collapse submenu for ' : 'Expand submenu for ') + label); 2138 }); 2139 enableKeyboardActivation(button); 2140 }); 2141 }); 2142 }(jQuery)); 2143 </script>
2143 2144
2144<script id="ar-nav-001-js"> 2145 (function () { 2146 'use strict'; 2147 2148 function directChild(parent, selector) { 2149 return Array.prototype.find.call(parent.children, function (child) { 2150 return child.matches(selector); 2151 }) || null; 2152 } 2153 2154 function initializeNavigation() { 2155 var navigation = document.getElementById('site-navigation'); 2156 if (!navigation || navigation.dataset.arNav001Ready === 'true') { 2157 return; 2158 } 2159 2160 var items = Array.prototype.slice.call( 2161 navigation.querySelectorAll('.nav-menu > .menu-item-has-children') 2162 ); 2163 2164 if (!items.length) { 2165 return; 2166 } 2167 2168 navigation.dataset.arNav001Ready = 'true'; 2169 2170 function getButton(item) { 2171 return directChild(item, '.nav-toggle-subarrow'); 2172 } 2173 2174 function getLabel(item) { 2175 var link = directChild(item, 'a'); 2176 var visibleLabel = item.querySelector('.ar-nav-001-button-label'); 2177 return (link ? link.textContent : (visibleLabel ? visibleLabel.textContent : 'menu item')).trim(); 2178 } 2179 2180 function syncItem(item, expanded) { 2181 var button = getButton(item); 2182 if (!button) { 2183 return; 2184 } 2185 2186 var label = getLabel(item); 2187 button.setAttribute('aria-expanded', expanded ? 'true' : 'false'); 2188 button.setAttribute( 2189 'aria-label', 2190 (expanded ? 'Collapse submenu for ' : 'Expand submenu for ') + label 2191 ); 2192 } 2193 2194 function closeItem(item) { 2195 item.classList.remove('nav-toggle-dropdown', 'sfHover'); 2196 syncItem(item, false); 2197 } 2198 2199 function closeOtherItems(current) { 2200 items.forEach(function (item) { 2201 if (item !== current) { 2202 closeItem(item); 2203 } 2204 }); 2205 } 2206 2207 items.forEach(function (item) { 2208 var link = directChild(item, 'a'); 2209 var button = getButton(item); 2210 var submenu = directChild(item, 'ul'); 2211 2212 if (!button || !submenu) { 2213 return; 2214 } 2215 2216 /* Put the destination link before its separate submenu control in focus order. */ 2217 if (link && button.nextElementSibling === link) { 2218 link.insertAdjacentElement('afterend', button); 2219 } 2220 2221 /* Replace the dead # destination with one named, full-label submenu button. */ 2222 if (link && '#' === link.getAttribute('href')) { 2223 var label = document.createElement('span'); 2224 var icon = document.createElement('i'); 2225 label.className = 'ar-nav-001-button-label'; 2226 label.textContent = link.textContent.trim(); 2227 icon.className = 'fa fa-angle-down'; 2228 icon.setAttribute('aria-hidden', 'true'); 2229 button.textContent = ''; 2230 button.appendChild(label); 2231 button.appendChild(icon); 2232 button.classList.add('ar-nav-001-full-toggle'); 2233 link.remove(); 2234 } 2235 2236 syncItem(item, item.classList.contains('nav-toggle-dropdown')); 2237 2238 button.addEventListener('click', function () { 2239 var expanded = item.classList.contains('nav-toggle-dropdown'); 2240 if (expanded) { 2241 closeOtherItems(item); 2242 } 2243 syncItem(item, expanded); 2244 }); 2245 2246 button.addEventListener('keydown', function (event) { 2247 if ('ArrowDown' === event.key) { 2248 event.preventDefault(); 2249 if (!item.classList.contains('nav-toggle-dropdown')) { 2250 button.click(); 2251 } 2252 window.setTimeout(function () { 2253 var firstLink = submenu.querySelector('a'); 2254 if (firstLink) { 2255 firstLink.focus(); 2256 } 2257 }, 0); 2258 } 2259 }); 2260 2261 item.addEventListener('keydown', function (event) { 2262 if ('Escape' === event.key && item.classList.contains('nav-toggle-dropdown')) { 2263 event.preventDefault(); 2264 closeItem(item); 2265 button.focus(); 2266 } 2267 }); 2268 2269 item.addEventListener('focusout', function () { 2270 window.setTimeout(function () { 2271 if (!item.contains(document.activeElement)) { 2272 closeItem(item); 2273 } 2274 }, 0); 2275 }); 2276 }); 2277 2278 document.addEventListener('click', function (event) { 2279 if (!navigation.contains(event.target)) { 2280 items.forEach(closeItem); 2281 } 2282 }); 2283 2284 var breakpoint = window.matchMedia('(min-width: 1141px)'); 2285 if (breakpoint.addEventListener) { 2286 breakpoint.addEventListener('change', function () {
2287 items.forEach(closeItem); 2288 }); 2289 } 2290 } 2291 2292 function queueInitialization() { 2293 window.setTimeout(initializeNavigation, 0); 2294 } 2295 2296 if ('loading' === document.readyState) { 2297 document.addEventListener('DOMContentLoaded', queueInitialization); 2298 } else { 2299 queueInitialization(); 2300 } 2301 }()); 2302 </script>
2302 2303
2303<script id="a11y003-form-gallery-js"> 2304 (function () { 2305 'use strict'; 2306 2307 function appendDescription(control, id) { 2308 var ids = (control.getAttribute('aria-describedby') || '').split(/\s+/).filter(Boolean); 2309 if (-1 === ids.indexOf(id)) { 2310 ids.push(id); 2311 } 2312 control.setAttribute('aria-describedby', ids.join(' ')); 2313 } 2314 2315 function removeDescription(control, id) { 2316 var ids = (control.getAttribute('aria-describedby') || '').split(/\s+/).filter(function (value) { 2317 return value && value !== id; 2318 }); 2319 if (ids.length) { 2320 control.setAttribute('aria-describedby', ids.join(' ')); 2321 } else { 2322 control.removeAttribute('aria-describedby'); 2323 } 2324 } 2325 2326 function initProjectIntake() { 2327 var form = document.querySelector('form[data-analytics-form="project_intake"]'); 2328 if (!form) { 2329 return; 2330 } 2331 2332 form.setAttribute('aria-label', 'Project intake form'); 2333 2334 var status = document.createElement('div'); 2335 status.id = 'a11y003-form-status'; 2336 status.setAttribute('role', 'alert'); 2337 status.setAttribute('aria-live', 'assertive'); 2338 status.setAttribute('aria-atomic', 'true'); 2339 status.setAttribute('tabindex', '-1'); 2340 var firstField = form.querySelector('.sow-form-field'); 2341 form.insertBefore(status, firstField || form.firstChild); 2342 2343 var checkboxField = form.querySelector('.sow-form-field-checkboxes'); 2344 if (checkboxField) { 2345 var groupLabel = checkboxField.querySelector('.sow-form-field-label-above'); 2346 var group = checkboxField.querySelector('.sow-field-container'); 2347 if (groupLabel && group) { 2348 groupLabel.id = 'a11y003-privacy-group-label'; 2349 groupLabel.removeAttribute('for'); 2350 group.setAttribute('role', 'group'); 2351 group.setAttribute('aria-labelledby', groupLabel.id); 2352 } 2353 } 2354 2355 var honeypot = form.querySelector('input[name="sow-name"]'); 2356 if (honeypot) { 2357 honeypot.setAttribute('tabindex', '-1'); 2358 } 2359 2360 function getMessage(control) { 2361 if (control.validity && control.validity.typeMismatch) { 2362 return 'Enter an email address in the format [email protected].'; 2363 } 2364 if ('SELECT' === control.tagName) { 2365 return 'Please choose an option.'; 2366 }
2367 if ('checkbox' === control.type) { 2368 return 'Please confirm the privacy acknowledgment.'; 2369 } 2370 return 'Please complete this required field.'; 2371 } 2372 2373 function showError(control) { 2374 if (!control.id || control === honeypot) { 2375 return; 2376 } 2377 var errorId = control.id + '-a11y003-error'; 2378 var error = document.getElementById(errorId); 2379 if (!error) { 2380 error = document.createElement('span'); 2381 error.id = errorId; 2382 error.className = 'a11y003-field-error'; 2383 var container = control.closest('.sow-field-container') || control.parentElement; 2384 container.appendChild(error); 2385 } 2386 error.textContent = getMessage(control); 2387 control.setAttribute('aria-invalid', 'true'); 2388 appendDescription(control, errorId); 2389 } 2390 2391 function clearError(control) { 2392 if (!control.id) { 2393 return; 2394 } 2395 var errorId = control.id + '-a11y003-error'; 2396 var error = document.getElementById(errorId); 2397 if (error) { 2398 error.remove(); 2399 } 2400 control.removeAttribute('aria-invalid'); 2401 removeDescription(control, errorId); 2402 } 2403 2404 var summaryTimer = null; 2405 function announceValidation() { 2406 window.clearTimeout(summaryTimer); 2407 summaryTimer = window.setTimeout(function () { 2408 var invalid = Array.prototype.filter.call(form.querySelectorAll(':invalid'), function (control) { 2409 return control !== honeypot && 'none' !== window.getComputedStyle(control).display; 2410 }); 2411 if (!invalid.length) { 2412 status.textContent = ''; 2413 return; 2414 } 2415 status.textContent = 'Please correct ' + invalid.length + (1 === invalid.length ? ' field.' : ' fields.') + ' Focus is on the first field that needs attention.'; 2416 invalid[0].focus(); 2417 }, 0); 2418 } 2419 2420 form.addEventListener('invalid', function (event) { 2421 showError(event.target); 2422 announceValidation(); 2423 }, true); 2424 2425 form.addEventListener('input', function (event) { 2426 if (event.target.validity && event.target.validity.valid) { 2427 clearError(event.target); 2428 } 2429 }, true); 2430 2431 form.addEventListener('change', function (event) { 2432 if (event.target.validity && event.target.validity.valid) { 2433 clearError(event.target); 2434 } 2435 }, true); 2436 2437 form.addEventListener('submit', function () { 2438 status.textContent = ''; 2439 }, true); 2440 } 2441 2442 function initNextGenLightbox() { 2443 var triggers = Array.prototype.slice.call(document.querySelectorAll('a.ngg-fancybox')); 2444 if (!triggers.length) { 2445 return; 2446 } 2447 2448 triggers.forEach(function (trigger) { 2449 trigger.setAttribute('aria-haspopup', 'dialog'); 2450 trigger.setAttribute('aria-controls', 'fancybox-wrap'); 2451 }); 2452 2453 var lastTrigger = null; 2454 var isOpen = false; 2455 var wrap = document.getElementById('fancybox-wrap'); 2456 var title = document.getElementById('fancybox-title'); 2457 var image = document.getElementById('fancybox-img'); 2458 var controls = []; 2459 var descriptionTimer = null; 2460 // AR-A11Y-002: restore after Fancybox hides without overriding legitimate post-close focus. 2461 var focusRestoreTimer = null; 2462 var focusStabilizeTimers = []; 2463 var lastTriggerHref = ''; 2464 var lastTriggerIndex = -1; 2465 2466 function rememberTrigger(trigger) { 2467 document.querySelectorAll('a.ngg-fancybox[data-a11y003-last-trigger="true"]').forEach(function (item) { 2468 item.removeAttribute('data-a11y003-last-trigger'); 2469 }); 2470 cancelFocusRestore(); 2471 lastTrigger = trigger; 2472 lastTriggerHref = trigger.href || ''; 2473 lastTriggerIndex = Array.prototype.indexOf.call(document.querySelectorAll('a.ngg-fancybox'), trigger); 2474 trigger.setAttribute('data-a11y003-last-trigger', 'true'); 2475 } 2476 2477 function visible(element) { 2478 return element && 'none' !== window.getComputedStyle(element).display && 'hidden' !== window.getComputedStyle(element).visibility; 2479 } 2480 2481 function triggerIsFocusable(trigger) { 2482 return !!( 2483 trigger && 2484 document.contains(trigger) && 2485 'true' !== trigger.getAttribute('aria-disabled') && 2486 !trigger.hasAttribute('disabled') && 2487 '-1' !== trigger.getAttribute('tabindex') 2488 ); 2489 } 2490 2491 function focusTargetForRestore(preferred) { 2492 var currentTriggers = Array.prototype.slice.call(document.querySelectorAll('a.ngg-fancybox')); 2493 var markedTrigger = document.querySelector('a.ngg-fancybox[data-a11y003-last-trigger="true"]'); 2494 var hrefTrigger = lastTriggerHref ? currentTriggers.find(function (trigger) { 2495 return trigger.href === lastTriggerHref; 2496 }) : null; 2497 var indexedTrigger = lastTriggerIndex >= 0 ? currentTriggers[lastTriggerIndex] : null; 2498 var nextTrigger = lastTriggerIndex >= 0 ? currentTriggers.slice(lastTriggerIndex + 1).find(triggerIsFocusable) : null; 2499 var previousTrigger = lastTriggerIndex > 0 ? currentTriggers.slice(0, lastTriggerIndex).reverse().find(triggerIsFocusable) : null;
2500 return [preferred, lastTrigger, markedTrigger, hrefTrigger, indexedTrigger, nextTrigger, previousTrigger].find(triggerIsFocusable) || null; 2501 } 2502 2503 function cancelFocusRestore() { 2504 window.clearTimeout(focusRestoreTimer); 2505 focusRestoreTimer = null; 2506 focusStabilizeTimers.forEach(window.clearTimeout); 2507 focusStabilizeTimers = []; 2508 } 2509 2510 function focusTriggerIfStale(preferred) { 2511 var focusTarget = focusTargetForRestore(preferred); 2512 if (!focusTarget || visible(wrap)) { 2513 return; 2514 } 2515 var active = document.activeElement; 2516 var staleLightboxFocus = !active || active === document.body || active === document.documentElement || (wrap && wrap.contains(active)); 2517 if (!staleLightboxFocus) { 2518 return; 2519 } 2520 try { 2521 focusTarget.focus({ preventScroll: true }); 2522 } catch (error) { 2523 focusTarget.focus(); 2524 } 2525 } 2526 2527 function requestFocusRestore(preferred) { 2528 var focusTarget = focusTargetForRestore(preferred); 2529 cancelFocusRestore(); 2530 if (!focusTarget) { 2531 return; 2532 } 2533 var attempts = 0; 2534 function restoreAfterClose() { 2535 wrap = document.getElementById('fancybox-wrap'); 2536 if (visible(wrap)) { 2537 attempts += 1; 2538 if (attempts < 80) { 2539 focusRestoreTimer = window.setTimeout(restoreAfterClose, 25); 2540 } 2541 return; 2542 } 2543 isOpen = false; 2544 window.clearInterval(descriptionTimer); 2545 focusTriggerIfStale(focusTarget); 2546 [50, 200].forEach(function (delay) { 2547 focusStabilizeTimers.push(window.setTimeout(function () { 2548 focusTriggerIfStale(focusTarget); 2549 }, delay)); 2550 }); 2551 } 2552 focusRestoreTimer = window.setTimeout(restoreAfterClose, 0); 2553 } 2554 2555 function activateControl(control) { 2556 ['mousedown', 'mouseup', 'click'].forEach(function (type) { 2557 control.dispatchEvent(new MouseEvent(type, { 2558 bubbles: true, 2559 cancelable: true, 2560 view: window, 2561 button: 0 2562 })); 2563 }); 2564 } 2565 2566 function updateImageDescription() { 2567 if (!wrap) { 2568 return; 2569 } 2570 title = document.getElementById('fancybox-title'); 2571 image = document.getElementById('fancybox-img'); 2572 var currentTrigger = image ? triggers.find(function (trigger) { 2573 return trigger.href === image.src; 2574 }) : null; 2575 currentTrigger = currentTrigger || lastTrigger; 2576 var triggerAlt = currentTrigger && currentTrigger.querySelector('img') ? currentTrigger.querySelector('img').getAttribute('alt') || '' : ''; 2577 var currentTitle = title ? title.textContent.trim() : ''; 2578 var titleFallback = currentTrigger ? currentTrigger.getAttribute('data-title') || triggerAlt : triggerAlt; 2579 if (!currentTitle && title && titleFallback) { 2580 title.textContent = titleFallback; 2581 currentTitle = titleFallback; 2582 } 2583 var nextAlt = currentTitle || triggerAlt || 'Gallery image'; 2584 if (image && image.getAttribute('alt') !== nextAlt) { 2585 image.setAttribute('alt', nextAlt); 2586 } 2587 var describedBy = 'a11y003-lightbox-instructions'; 2588 if (currentTitle && title) { 2589 describedBy += ' ' + title.id; 2590 } 2591 if (wrap.getAttribute('aria-describedby') !== describedBy) { 2592 wrap.setAttribute('aria-describedby', describedBy); 2593 } 2594 } 2595 2596 function enhanceOpenLightbox() { 2597 wrap = document.getElementById('fancybox-wrap'); 2598 if (!visible(wrap)) { 2599 return false; 2600 } 2601 title = document.getElementById('fancybox-title'); 2602 image = document.getElementById('fancybox-img'); 2603 wrap.setAttribute('role', 'dialog'); 2604 wrap.setAttribute('aria-modal', 'true'); 2605 wrap.setAttribute('aria-label', 'Image viewer'); 2606 wrap.setAttribute('tabindex', '-1'); 2607 2608 var instructions = document.getElementById('a11y003-lightbox-instructions'); 2609 if (!instructions) { 2610 instructions = document.createElement('p'); 2611 instructions.id = 'a11y003-lightbox-instructions'; 2612 instructions.className = 'a11y003-visually-hidden'; 2613 instructions.textContent = 'Use Previous and Next to move through images. Press Escape to close the image viewer.';
2614 wrap.appendChild(instructions); 2615 } 2616 2617 var close = document.getElementById('fancybox-close'); 2618 var previous = document.getElementById('fancybox-left'); 2619 var next = document.getElementById('fancybox-right'); 2620 var overlay = document.getElementById('fancybox-overlay'); 2621 controls = [close, previous, next].filter(Boolean); 2622 [ 2623 [close, 'Close image viewer'], 2624 [previous, 'Previous image'], 2625 [next, 'Next image'] 2626 ].forEach(function (item) { 2627 if (!item[0]) { 2628 return; 2629 } 2630 item[0].setAttribute('role', 'button'); 2631 item[0].setAttribute('aria-label', item[1]); 2632 item[0].setAttribute('tabindex', '0'); 2633 item[0].setAttribute('data-a11y003-lightbox-control', 'true'); 2634 if (!item[0].hasAttribute('data-a11y003-escape-bound')) { 2635 item[0].setAttribute('data-a11y003-escape-bound', 'true'); 2636 item[0].addEventListener('keyup', function (event) { 2637 var controlKeyName = String(event.key || event.code || '').toLowerCase(); 2638 if (('escape' === controlKeyName || 'esc' === controlKeyName || 27 === event.keyCode || 27 === event.which) && visible(wrap) && close) { 2639 event.preventDefault(); 2640 activateControl(close); 2641 } 2642 }); 2643 } 2644 }); 2645 2646 if (close && !close.hasAttribute('data-a11y003-focus-return')) { 2647 close.setAttribute('data-a11y003-focus-return', 'true'); 2648 close.addEventListener('click', function () { 2649 requestFocusRestore(); 2650 }); 2651 } 2652 if (overlay && !overlay.hasAttribute('data-a11y003-focus-return')) { 2653 overlay.setAttribute('data-a11y003-focus-return', 'true'); 2654 overlay.addEventListener('click', function () { 2655 requestFocusRestore(); 2656 }); 2657 } 2658 2659 updateImageDescription(); 2660 isOpen = true; 2661 window.clearInterval(descriptionTimer); 2662 descriptionTimer = window.setInterval(function () { 2663 if (visible(wrap)) { 2664 updateImageDescription(); 2665 } else { 2666 window.clearInterval(descriptionTimer); 2667 } 2668 }, 250); 2669 window.setTimeout(function () { 2670 if (isOpen && close) { 2671 close.focus(); 2672 } 2673 }, 0); 2674 return true; 2675 } 2676 2677 function restoreFocus() { 2678 if (!isOpen) { 2679 return; 2680 } 2681 window.clearInterval(descriptionTimer); 2682 requestFocusRestore(); 2683 } 2684 2685 function scheduleEnhancement() { 2686 var attempts = 0; 2687 var timer = window.setInterval(function () { 2688 attempts += 1; 2689 if (enhanceOpenLightbox() || attempts >= 20) { 2690 window.clearInterval(timer); 2691 } 2692 }, 50); 2693 } 2694 2695 function rememberTriggerFromEvent(event) { 2696 var trigger = event.target.closest ? event.target.closest('a.ngg-fancybox') : null; 2697 if (trigger) { 2698 rememberTrigger(trigger); 2699 } 2700 } 2701 2702 ['pointerdown', 'mousedown', 'touchstart'].forEach(function (eventName) { 2703 window.addEventListener(eventName, rememberTriggerFromEvent, { capture: true, passive: true }); 2704 }); 2705 2706 window.addEventListener('click', function (event) { 2707 var trigger = event.target.closest ? event.target.closest('a.ngg-fancybox') : null; 2708 if (trigger) { 2709 rememberTrigger(trigger); 2710 scheduleEnhancement(); 2711 } 2712 }, true); 2713 2714 window.addEventListener('keydown', function (event) { 2715 var trigger = event.target.closest ? event.target.closest('a.ngg-fancybox') : null; 2716 if (trigger && ('Enter' === event.key || ' ' === event.key)) { 2717 event.preventDefault(); 2718 rememberTrigger(trigger); 2719 trigger.click(); 2720 return; 2721 } 2722 2723 if (!visible(wrap)) { 2724 return; 2725 } 2726 if (!isOpen) { 2727 enhanceOpenLightbox(); 2728 } 2729 2730 var lightboxControl = event.target.closest ? event.target.closest('[data-a11y003-lightbox-control="true"]') : null; 2731 if (lightboxControl && ('Enter' === event.key || ' ' === event.key)) { 2732 event.preventDefault(); 2733 window.setTimeout(function () { 2734 activateControl(lightboxControl); 2735 }, 0); 2736 return; 2737 } 2738 2739 var keyName = String(event.key || event.code || '').toLowerCase(); 2740 if ('escape' === keyName || 'esc' === keyName || 27 === event.keyCode || 27 === event.which) { 2741 event.preventDefault(); 2742 event.stopImmediatePropagation(); 2743 var escapeFocusTarget = focusTargetForRestore(); 2744 var escapeCloseControl = document.getElementById('fancybox-close'); 2745 if (escapeCloseControl) { 2746 window.setTimeout(function () { 2747 activateControl(escapeCloseControl); 2748 }, 0); 2749 } 2750 requestFocusRestore(escapeFocusTarget); 2751 return; 2752 } 2753 2754 if ('ArrowLeft' === event.key) { 2755 event.preventDefault(); 2756 var previousControl = document.getElementById('fancybox-left'); 2757 if (previousControl) { 2758 window.setTimeout(function () { 2759 previousControl.click(); 2760 window.setTimeout(updateImageDescription, 100); 2761 }, 0); 2762 } 2763 return; 2764 } 2765 if ('ArrowRight' === event.key) { 2766 event.preventDefault(); 2767 var nextControl = document.getElementById('fancybox-right'); 2768 if (nextControl) { 2769 window.setTimeout(function () { 2770 nextControl.click(); 2771 window.setTimeout(updateImageDescription, 100); 2772 }, 0); 2773 } 2774 return; 2775 } 2776 2777 if ('Tab' === event.key) { 2778 var focusable = controls.filter(visible); 2779 if (!focusable.length) { 2780 event.preventDefault(); 2781 wrap.focus(); 2782 return; 2783 } 2784 var currentIndex = focusable.indexOf(document.activeElement); 2785 var nextIndex; 2786 if (event.shiftKey) { 2787 nextIndex = currentIndex >
2787 0 ? currentIndex - 1 : focusable.length - 1; 2788 } else { 2789 nextIndex = currentIndex >= 0 && currentIndex < focusable.length - 1 ? currentIndex + 1 : 0; 2790 } 2791 event.preventDefault(); 2792 focusable[nextIndex].focus(); 2793 } 2794 }, true); 2795 2796 if (wrap && window.MutationObserver) { 2797 new MutationObserver(function () { 2798 if (visible(wrap)) { 2799 if (isOpen) { 2800 updateImageDescription(); 2801 } else { 2802 enhanceOpenLightbox(); 2803 } 2804 } else { 2805 restoreFocus(); 2806 } 2807 }).observe(wrap, { attributes: true, childList: true, subtree: true, characterData: true }); 2808 } 2809 } 2810 2811 function init() { 2812 initProjectIntake(); 2813 initNextGenLightbox(); 2814 } 2815 2816 if ('loading' === document.readyState) { 2817 document.addEventListener('DOMContentLoaded', init); 2818 } else { 2819 init(); 2820 } 2821 }()); 2822 </script>
2822 2823
2823<script>'undefined'=== typeof _trfq || (window._trfq = []);'undefined'=== typeof _trfd && (window._trfd=[]), 2824 _trfd.push({'tccl.baseHost':'secureserver.net'}), 2825 _trfd.push({'ap':'wpaas_v2'}, 2826 {'server':'cf9a210d5d9b'}, 2827 {'pod':'c17-prod-p3-us-west-2'}, 2828 {'xid':'41316264'}, 2829 {'wp':'7.1.2'}, 2830 {'php':'8.2.33'}, 2831 {'loggedin':'0'}, 2832 {'cdn':'1'}, 2833 {'builder':'wp-classic-editor'}, 2834 {'theme':'screenr'}, 2835 {'wds':'0'}, 2836 {'wp_alloptions_count':'576'}, 2837 {'wp_alloptions_bytes':'580826'}, 2838 {'gdl_coming_soon_page':'0'} 2839 , {'appid':'907010'} ); 2840 var trafficScript = document.createElement('script'); trafficScript.src = 'https://img1.wsimg.com/signals/js/clients/scc-c2/scc-c2.min.js'; window.document.head.appendChild(trafficScript);</script>
2840 2841
2841<script>window.addEventListener('click', function (elem) { var _elem$target, _elem$target$dataset, _window, _window$_trfq; return (elem === null || elem === void 0 ? void 0 : (_elem$target = elem.target) === null || _elem$target === void 0 ? void 0 : (_elem$target$dataset = _elem$target.dataset) === null || _elem$target$dataset === void 0 ? void 0 : _elem$target$dataset.eid) && ((_window = window) === null || _window === void 0 ? void 0 : (_window$_trfq = _window._trfq) === null || _window$_trfq === void 0 ? void 0 : _window$_trfq.push(["cmdLogEvent", "click", elem.target.dataset.eid]));});</script>
2841 2842
2842<script src='https://img1.wsimg.com/traffic-assets/js/tccl-tti.min.js' onload="window.tti.calculateTTI()"></script>
2842 2843 2844</body> 2845</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.