PageSourceSearch

https://architizer.com/image-search/popular-images

html architizer.com collected 2026-09-24 08:26:03 UTC 115,793 bytes, 1,181 lines download raw bytes

1<!doctype html>
2<html class="adk no-js" lang="en">
3<head>
4<!-- Osano Cookie Consent Notice start for architizer.com -->
5<script src="https://cmp.osano.com/wUT9VI4MoJ/75baa6ed-a964-4131-935d-ac5a5bf33da2/osano.js"></script>
5
6<!-- Osano Cookie Consent Notice end for architizer.com -->
7<style>
8.osano-cm-widget { display: none !important; }
9</style>
10<!-- Google Tag Manager -->
11<script>
vendor: 327 bytes, lines 11-15
11(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
12new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
13j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
14'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
15})(window,document,'script','dataLayer','
15GTM-T9W58Q
vendor: 3 bytes, line 15
15');
15</script>
15
16<!-- End Google Tag Manager -->
17<title>Most Popular Ideas - Architizer</title>
18<meta name='description' content='Browse images. Discover inspiration and find the perfect architecture firm for your project based on your requirements and vision.' />
19<meta name='keywords' content=', residential, multi unit housing, architecture, architecture news, architecture design, architecture magazine, architect, design news, buildings, interiors, interior design, portfolio, spec, brands, marketplace, products, Most Popular Ideas' />
20<link rel='canonical' id='canonical-link' href='https://architizer.com/image-search/popular-images'>
21<link rel='shortcut icon' type='image/x-icon' href='//static-web-prod.arc.ht/img/favicon.512d75d1f9cb.png?v=2'>
22<link rel='apple-touch-icon-precomposed' href='//static-web-prod.arc.ht/img/ios/Icon.bc5fcf152942.png' />
23<link rel='apple-touch-icon-precomposed' sizes='72x72' href='//static-web-prod.arc.ht/img/ios/Icon-72.f94a60494ed7.png' />
24<link rel='apple-touch-icon-precomposed' sizes='114x114' href='//static-web-prod.arc.ht/img/ios/[email protected]' />
25<link rel='apple-touch-icon-precomposed' sizes='144x144' href='//static-web-prod.arc.ht/img/ios/[email protected]' />
26<meta charset='utf-8' />
27<meta http-equiv='X-UA-Compatible' content='IE=edge' />
27<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","errorBeacon":"bam.nr-data.net","licenseKey":"NRJS-a96a8272f1b3d0380bf","applicationID":"1037257492","transactionName":"ZQRaYBdVCxdYUxYNXVxOf0YERA01dR8TEVdAGBcIBFoKCkBdDRFBDE5ZWAl9CAVeVRE=","queueTime":1,"applicationTime":1167,"agent":""};
28(window.NREUM||(NREUM={})).init={ajax:{deny_list:["bam.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={licenseKey:"NRJS-a96a8272f1b3d0380bf",applicationID:"1037257492",browserID:"1037500620"};;/*! For license information please see nr-loader-rum-1.322.0.min.js.LICENSE.txt */
29(()=>{var e={8122(e,t,r){"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),a=0===Object.keys(r).length?e:r;for(let s in a)if(void 0!==e[s])try{if(null===e[s]){r[s]=null;continue}Array.isArray(e[s])&&Array.isArray(t[s])?r[s]=Array.from(new Set([...e[s],...t[s]])):e[s]instanceof Map||e[s]instanceof Set||e[s]instanceof Date||e[s]instanceof RegExp?r[s]=e[s]:"object"==typeof e[s]&&null!==t[s]&&"object"==typeof t[s]?r[s]=i(e[s],t[s]):r[s]=e[s]}catch(e){r[s]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555(e,t,r){"use strict";r.d(t,{f:()=>s});var n=r(384),i=r(8122);const a={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function s(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}r.d(t,["D",0,e=>(0,i.a)(e,a)])},7699(e,t,r){"use strict";var n=r(860);const i={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0};r.d(t,["It",0,1e6,"KC",0,i,"qh",0,"SESSION_ERROR"])},9324(e,t,r){"use strict";r.d(t,["xv",0,"1.322.0"])},981(e,t,r){"use strict";r.d(t,["R",0,{AJAX:"AjaxRequest",PA:"PageAction",UA:"UserAction",BP:"BrowserPerformance",WS:"WebSocket",SPV:"SecurityPolicyViolation",JSE:"JavaScriptError",LOG:"Log",PVE:"PageView",PVT:"PageViewTiming",SR:"SessionReplay",ST:"SessionTrace",BI:"BrowserInteraction"}])},6154(e,t,r){"use strict";var n=r(1863);const i="undefined"!=typeof window&&!!window.document,a="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),s=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),o=Boolean("hidden"===s?.document?.visibilityState),c=""+s?.location,u=/iPad|iPhone|iPod/.test(s.navigator?.userAgent),d=u&&"undefined"==typeof SharedWorker,l=((()=>{const e=s.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);Array.isArray(e)&&e.length>=2&&e[1]})(),Date.now()-(0,n.t)());r.d(t,["OF",0,u,"RI",0,i,"WN",0,l,"bv",0,a,"gm",0,s,"m",0,c,"mw",0,o,"sb",0,d,"zk",0,()=>{const e=s?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<s.performance.now())return e}])},3241(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent("newrelic",{detail:e}))}catch(e){}}},1687(e,t,r){"use strict";r.d(t,{Ak:()=>o,Ze:()=>u,x3:()=>c});var n=r(3241),i=r(3606),a=r(860),s=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:a.P3[t]||0};e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r&&(r.get(t)&&r.delete(t),l(e,t,!1),r.size&&d(e))}function u(e,t="feature",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,d(e)}}function d(e){if(!e)return;
29const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=>t.staged)&&(t.sort((e,t)=>e[1].priority-t[1].priority),t.forEach(([t])=>{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const a=e.ee,o=i.i.handlers;if(a&&!a.aborted&&a.backlog&&o){if((0,n.W)({type:"lifecycle",name:"drain",feature:t}),r){const e=a.backlog[t],r=o[t];if(r){for(let t=0;e&&t<e.length;++t)f(e[t],r);Object.entries(r).forEach(([e,t])=>{Object.values(t||{}).forEach(t=>{t[0]?.on&&t[0].context()instanceof s.y&&!t[0].listeners(e).includes(t[1])&&t[0].on(e,t[1])})})}}a.isolatedBacklog||delete o[t],a.backlog[t]=null,a.emit("drain-"+t,[])}}function f(e,t){var r=e[1];Object.values(t[r]||{}).forEach(t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],a=e[2];n.apply(i,a)}})}},7836(e,t,r){"use strict";var n=r(384),i=r(8990),a=r(2646),s=r(5607);const o="nr@context:".concat(s.W),c=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&u.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,a){!1!==a&&(a=!0);if(c.aborted&&!i)return;t&&a&&t.emit(e,r,n);var o=g(n);m(e).forEach(e=>{e.apply(o,r)});var u=v()[s[e]];u&&u.push([f,e,r,o]);return o},get:h,listeners:m,context:g,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach(([e,n])=>{s[n]=t,t in r||(r[t]=[])})},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach(e=>{delete f.backlog[e]})},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function g(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,o,()=>new a.y(o)):new a.y(o)}function p(e,t){n[e]=m(e).concat(t)}function m(e){return n[e]||[]}function h(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),u=(0,n.Zm)();u.ee||(u.ee=c),r.d(t,["P",0,o,"ee",0,c])},2646(e,t,r){"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908(e,t,r){"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,a){a?(a.buffer([e],i),a.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606(e,t,r){"use strict";r.d(t,{i:()=>a});var n=r(9908);a.on=s;var i=a.handlers={};function a(e,t,r,a){s(a||n.d,i,e,t,r)}function s(e,t,r,i,a){a||(a="feature"),e||(e=n.d);var s=t[a]=t[a]||{};(s[r]=s[r]||[]).push([e,i])}},3878(e,t,r){"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function a(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>a,jT:()=>n,sp:()=>i})},5607(e,t,r){"use strict";const n=(0,r(9566).bz)();r.d(t,["W",0,n])},9566(e,t,r){"use strict";r.d(t,{LA:()=>s,bz:()=>a});var n=r(6154);function i(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".split("").map(e=>"x"===e?i(t,r++).toString(16):"y"===e?(3&i()|8).toString(16):e).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,a=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const s=[];for(var o=0;o<e;o++)s.push(i(r,a++).toString(16));return s.join("")}},2614(e,t,r){"use strict";r.d(t,["BB",0,18e5,"Wt",0,"NRBA_SESSION::","iL",0,{SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},"tS",0,{STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},"wk",0,144e5])},1863(e,t,r){"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},944(e,t,r){"use strict";r.d(t,{R:()=>i});var n=r(3241);function i(e,t){"function"==typeof console.debug&&(console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t),(0,n.W)({drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},8990(e,t,r){"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389(e,t,r){"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout(()=>{i=clearTimeout(i)},t)),n||(clearTimeout(i),i=setTimeout(()=>{e.apply(this,r)},t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},1910(e,t,r){"use strict";r.d(t,{i:()=>a});var n=r(944);const i=new Map;function a(...e){return e.every(e=>{if(i.has(e))return i.get(e);const t="function"==typeof e?e.toString():"",r=t.includes("[native code]"),a=t.includes("nrWrapper");return r||a||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},5289(e,t,r){"use strict";r.d(t,{GG:()=>s,Qr:()=>c,sB:()=>o});var n=r(3878),i=r(6389);function a(){return"undefined"==typeof document||"complete"===document.readyState}function s(e,t){if(a())return e();const r=(0,i.J)(e),s=setInterval(()=>
29{a()&&(clearInterval(s),r())},500);(0,n.sp)("load",r,t)}function o(e){if(a())return e();(0,n.DD)("DOMContentLoaded",e)}function c(e){if(a())return e();(0,n.sp)("popstate",e)}},384(e,t,r){"use strict";r.d(t,{Zm:()=>c,bQ:()=>d,dV:()=>u,pV:()=>l});var n=r(6154),i=r(1863),a=r(944),s=r(1910);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function u(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket},(0,s.i)(...Object.values(e.o))),e}function d(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length&&(0,a.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),u(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}r.d(t,["NT",0,o])},2843(e,t,r){"use strict";r.d(t,{G:()=>a,u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)},r,i)}function a(e,t,r){(0,n.sp)("pagehide",e,t,r)}},9300(e,t,r){"use strict";r(860).K7.ajax;r.d(t,["mo",0,{NONE:"none",FAILURES:"failures",ALL:"all"}])},3969(e,t,r){"use strict";const n=r(860).K7.metrics;r.d(t,["TZ",0,n,"XG",0,"storeEventMetrics","xV",0,"storeSupportabilityMetrics"])},6630(e,t,r){"use strict";const n=r(860).K7.pageViewEvent;r.d(t,["T",0,n])},782(e,t,r){"use strict";const n=r(860).K7.pageViewTiming;r.d(t,["T",0,n])},4234(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},7767(e,t,r){"use strict";var n=r(6154);r.d(t,["V",0,e=>n.RI&&!0===e?.privacy.cookies_enabled])},8362(e,t,r){"use strict";r.d(t,{d:()=>a});var n=r(9566),i=r(1741);class a extends i.W{agentIdentifier=(0,n.LA)(16)}},1741(e,t,r){"use strict";r.d(t,{W:()=>a});var n=r(944),i=r(4261);class a{#e(e,...t){if(this[e]!==a.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e("log",e,t)}start(){return this.#e("start")}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},4261(e,t,r){"use strict";r.d(t,["BL",0,"finished","CH",0,"recordReplay","Dl",0,"setUserId","Fw",0,"setPageViewName","PA",0,"setCurrentRouteName","Pv",0,"consent","Tb",0,"pauseReplay","U2",0,"addToTrace","V1",0,"measure","Wb",0,"wrapLogger","bt",0,"setErrorHandler","cD",0,"setCustomAttribute","dT",0,"interaction","eY",0,"register","fF",0,"recordCustomEvent","hG",0,"addPageAction","k6",0,"addRelease","nb",0,"setApplicationVersion","o5",0,"noticeError"])},1738(e,t,r){"use strict";r.d(t,{U:()=>l,Y:()=>d});var n=r(3241),i=r(9908),a=r(1863),s=r(944),o=r(3969),c=r(8362),u=r(860);function d(e,t,r,a){const d=a||r;!d||d[e]&&d[e]!==c.d.prototype[e]||(d[e]=function(){(0,i.p)(o.xV,["API/"+e+"/called"],void 0,u.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:"data",name:"api",feature:"api-"+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,s.R)(23,e)}})}function l(e,t,r,n,s){const o=e.info;null===r?delete o.jsAttributes[t]:o.jsAttributes[t]=r,(s||null===r)&&(0,i.p)("api-"+n,[(0,a.t)(),t,r],void 0,"session",e.ee)}},8374(e,t,r){r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860(e,t,r){"use strict";const n="events",i="jserrors",a="browser/blobs",s="browser/logs",o={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations"},c={[o.pageViewEvent]:1,[o.pageViewTiming]:2,[o.metrics]:3,[o.jserrors]:4,[o.softNav]:5,[o.ajax]:6,[o.sessionTrace]:7,[o.sessionReplay]:8,[o.logging]:9,[o.genericEvents]:10},u={[o.pageViewEvent]:"rum",[o.pageViewTiming]:n,[o.ajax]:n,[o.softNav]:n,[o.metrics]:i,[o.jserrors]:i,[o.sessionTrace]:a,[o.sessionReplay]:a,[o.logging]:s,[o.genericEvents]:"ins"};r.d(t,["$J",0,u,"K7",0,o,"P3",0,c,"XX",0,i,"Yy",0,s,"df",0,a,"hg",0,"connect"])}};const t={};function r(n){const i=t[n];if(void 0!==i)return i.exports;const a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.m=e,r.d=(e,t)=>{if(Array.isArray(t))for(var n=0;n<t.length;){var i=t[n++],a=t[n++];r.o(e,i)?0===a&&n++:0===a?Object.defineProperty(e,i,{enumerable:!0,value:t[n++]}):Object.defineProperty(e,i,{enumerable:!0,get:a})}else for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,n)=>(r.f[n](e,t),t),[])),r.u=e=>"nr-rum-1.322.0.min.js",r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.322.0.PROD:";r.l=(n,i,a,s)=>{if(e[n])return void e[n].push(i);let o,c;if(void 0!==a){const e=document.getElementsByTagName("script");for(var u=0;u<e.length;u++){const r=e[u];if(r.getAttribute("src")==n||r.getAttribute("data-webpack")==t+a){o=r;break}}}if(!o){c=!0;var d={296:"sha512-/59P7qAoMYQDJAZerTRPChdYcdrlcoEAw2TwA1wz6Y0/XLmt3sblL
29I5JCXAuxG0YxsW7iqJzgrcO7NJWO58EfQ=="};o=document.createElement("script"),o.charset="utf-8",r.nc&&o.setAttribute("nonce",r.nc),o.setAttribute("data-webpack",t+a),o.src=n,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous"),d[s]&&(o.integrity=d[s])}e[n]=[i];const l=(t,r)=>{o.onerror=o.onload=null,clearTimeout(f);const i=e[n];if(delete e[n],o.parentNode?.removeChild(o),i?.forEach(e=>e(r)),t)return t(r)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c&&document.head.appendChild(o)}})(),r.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="https://js-agent.newrelic.com/",(()=>{const e={374:0,840:0};r.f.j=(t,n)=>{let i=r.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const a=new Promise((r,n)=>i=e[t]=[r,n]);n.push(i[2]=a);const s=r.p+r.u(t),o=new Error,c=n=>{if(r.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){const e=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed: ("+e+": "+r+")",o.name="ChunkLoadError",o.type=e,o.request=r,i[1](o)}};r.l(s,c,"chunk-"+t,t)}};const t=(t,n)=>{let[i,a,s]=n;var o,c,u=0;if(i.some(t=>0!==e[t])){for(o in a)r.o(a,o)&&(r.m[o]=a[o]);if(s)s(r)}for(t&&t(n);u<i.length;u++)c=i[u],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0},n=self["webpackChunk:NRBA-1.322.0.PROD"]=self["webpackChunk:NRBA-1.322.0.PROD"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{"use strict";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),a=r(1741);var s=r(2555),o=r(981);t.K7.genericEvents,o.R.PA,o.R.UA,o.R.BP;const c={RESOURCES:"experimental.resources",REGISTER:"register"};var u=r(9300);const d=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var l=r(2614),f=r(944),g=r(8122);const p="[data-nr-mask]",m=e=>(0,g.a)(e,(()=>{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0,capture_payloads:u.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(c.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(c.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,f.R)(1,t)}}},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(c.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:l.wk,inactiveMs:l.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){d(t)?e.mask_selector="".concat(t,",").concat(p):""===t||null===t?e.mask_selector=p:(0,f.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){d(t)?e.block_selector+=",".concat(t):""!==t&&(0,f.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,f.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]},web_sockets:{enabled:!1}}})());var h=r(6154),v=r(9324);let b=0;const y={buildEnv:"PROD",distMethod:"CDN",version:v.xv,originTime:h.WN},_={consented:!1},w={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||_.consented},set consented(e){_.consented=e}
29,customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,connector:void 0,harvester:void 0,v2Target:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++b},listeningForIframeMessages:!1},R="BA";var A=r(7836),x=r(3241);const E={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0};var S=r(9908);const k="newrelic-iframe-";function T(e,t={},n,o){let{init:c,info:u,loader_config:d,runtime:l={},exposed:f=!0}=t;if(!u){const e=(0,i.pV)();c=e.init,u=e.info,d=e.loader_config}var p;e.init=m(c||{}),e.loader_config=(p=d||{},(0,g.a)(p,E)),u.jsAttributes??={},h.bv&&(u.jsAttributes.isWorker=!0),e.info=(0,s.D)(u);const v=e.init;e.runtime??=(e=>{const t=(0,g.a)(e,w),r=Object.keys(y).reduce((e,t)=>(e[t]={value:y[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)})(l),e.runtime.v2Target??={type:R,instance:e.agentIdentifier,get id(){return e.runtime.appMetadata?.agents?.[0]?.entityGuid},get attributes(){return{"entity.guid":this.id,appId:e.info.applicationID}}},v.proxy.assets&&(e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e})(v.proxy.assets),e.runtime.configured||(Object.defineProperty(e,"beacons",{get:()=>[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,"denyList",{get:()=>[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,i.pV)();Object.getOwnPropertyNames(a.W.prototype).forEach(r=>{const n=a.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let i=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return i?i(...t):n})})}(e),e.runtime.loaderType=n,e.ee=A.ee.get(e.agentIdentifier),e.exposed=f,(0,x.W)({drained:!!e.runtime.activatedFeatures,type:"lifecycle",name:"initialize",feature:void 0,data:e.config}),e.init.api.register.allow_iframe_bridge&&h.gm.addEventListener("message",t=>{"string"==typeof t.data?.type&&t.data.type.startsWith(k)&&(0,S.p)("iframe-message",[t],void 0,"IFRAME",e.ee)}),e.runtime.configured=!0)}var j=r(1863),P=r(4261),N=r(1738);
29var O=r(1687),M=r(4234),I=r(5289),D=r(7767);function V(e){return!!(0,i.dV)().o.MO&&(0,D.V)(e)&&!0===e?.session_trace.enabled}var W=r(6389),B=r(7699);const C=new WeakSet,K=new WeakMap;class U extends M.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=>{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=>{this.ee.on("manual-start-all",(0,W.J)(()=>{(0,O.Ak)(e,this.featureName),t()}))}):(0,O.Ak)(e,t)}importAggregator(e,t,n={}){if(this.featAggregate)return;const i=async()=>{if(await this.deferred,this.#t(e),!(0,s.f)(e.info))return(0,f.R)(43),e.ee.abort(),void this.loadedSuccessfully(!1);try{await async function(e,t,n){if(K.has(e))return K.get(e);const i=(async()=>{if((0,D.V)(e.init))try{const{setupAgentSession:t}=await r.e(296).then(r.bind(r,1768));t(e)}catch(e){(0,f.R)(20,e),t.emit("internal-error",[e]),(0,S.p)(B.qh,[e],void 0,n,t)}if(e.init.api.register.allow_iframe_bridge)try{const{setupIframeMFEMessageListener:t}=await Promise.resolve().then(function(){const e=new Error("Cannot find module '../../loaders/configure/iframe-message-handler'");throw e.code="MODULE_NOT_FOUND",e});t(e)}catch(e){(0,f.R)(23,e)}const[{Connector:i},{Harvester:a}]=await Promise.all([r.e(296).then(r.bind(r,6589)),r.e(296).then(r.bind(r,5237))]);e.runtime.connector=new i(e),e.runtime.harvester=new a(e);const s=Object.values(e.features).filter(t=>e.runtime.drainRegistry.has(t.featureName));Promise.all(s.map(e=>e.onAggregateImported)).then(()=>e.runtime.harvester.startTimer())})();K.set(e,i),await i}(e,this.ee,this.featureName)}catch(e){return(0,f.R)(79,e),this.ee.abort(),void this.loadedSuccessfully(!1)}try{if(!this.#r(this.featureName,e.runtime.session,e.init))return this.abortHandler?.(),(0,O.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:r}=await t();this.featAggregate=new r(e,n),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,f.R)(34,e),this.abortHandler?.(),(0,O.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1)}};h.RI?(0,I.GG)(()=>i(),!0):i()}#r(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return V(n)&&!!r;case t.K7.sessionTrace:return!!r;default:return!0}}#t(e){if(!C.has(e)&&(C.add(e),!(0,s.f)(e.info))){const t=(0,i.pV)();let r={...t.info?.jsAttributes};try{r={...r,...e.info?.jsAttributes}}catch(e){}T(e,{...t,info:{...t.info,jsAttributes:r},runtime:e.runtime},e.runtime.loaderType)}}}var L=r(6630);class F extends U{static featureName=L.T;constructor(e){var t;super(e,L.T),this.setupInspectionEvents(),t=e,(0,N.Y)(P.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,S.p)("api-"+P.Fw,[(0,j.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>e.init.feature_flags.includes("rum_v2")?r.e(296).then(r.bind(r,908)):r.e(296).then(r.bind(r,7927)))}setupInspectionEvents(){const e=(e,t)=>{e&&(0,x.W)({timeStamp:e.timeStamp,loaded:"complete"===e.target.readyState,type:"window",name:t,data:e.target.location+""})};(0,I.sB)(t=>{e(t,"DOMContentLoaded")}),(0,I.GG)(t=>{e(t,"load")}),(0,I.Qr)(t=>{e(t,"navigate")}),this.ee.on(l.tS.UPDATE,(e,t)=>{(0,x.W)({type:"lifecycle",name:"session",data:t})})}}class G extends e.d{constructor(e){var t;(super(),h.gm)?(this.features={},(0,i.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(F),T(this,e,e.loaderType||"agent"),t=this,(0,N.Y)(P.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,N.U)(t,e,r,P.cD,n);(0,f.R)(40,typeof r)}else(0,f.R)(39,typeof e)},t),function(e){(0,N.Y)(P.Dl,function(t,r=!1){if("string"!=typeof t&&null!==t)return void(0,f.R)(41,typeof t);const n=e.info.jsAttributes["enduser.id"];r&&null!=n&&n!==t?(0,S.p)("api-setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,N.U)(e,"enduser.id",t,P.Dl,!0)},e)}(this),function(e){(0,N.Y)(P.nb,function(t){if("string"==typeof t||null===t)return(0,N.U)(e,"application.version",t,P.nb,!1);(0,f.R)(42,typeof t)},e)}(this),function(e){(0,N.Y)("start",function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,N.Y)(P.Pv,function(t=!0){if("boolean"==typeof t){if((0,S.p)("api-"+P.Pv,[t],void 0,"session",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=>{const r=t.featAggregate;e&&!r.sentRum&&r.sendRum?.()})}}else(0,f.R)(65,typeof t)},e)}(this),this.run()):(0,f.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};
29return n.forEach(r=>{t[r]=!!e[r]?.enabled}),t}(this.init),r=[...this.desiredFeatures],i=this.init.feature_flags.includes("rum_v2");r.sort((e,r)=>t.P3[e.featureName]-t.P3[r.featureName]),r.forEach(r=>{if(!e[r.featureName]&&(i||r.featureName!==t.K7.pageViewEvent))return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=>!(e in this.features));n.length>0&&(0,f.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,f.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,i.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var H=r(2843),z=r(782);class Y extends U{static featureName=z.T;constructor(e){super(e,z.T),h.RI&&((0,H.u)(()=>(0,S.p)("docHidden",[(0,j.t)()],void 0,z.T,this.ee),!0),(0,H.G)(()=>(0,S.p)("winPagehide",[(0,j.t)()],void 0,z.T,this.ee)),this.importAggregator(e,()=>r.e(296).then(r.bind(r,9981))))}}var Z=r(3969);class q extends U{static featureName=Z.TZ;constructor(e){super(e,Z.TZ),this.importAggregator(e,()=>r.e(296).then(r.bind(r,9623)))}}new G({features:[F,Y,q],loaderType:"lite"})})()})();</script>
29
30<meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />
31<meta name='viewport' content='width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no' />
32<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1">
33<meta name='apple-mobile-web-app-capable' content='yes' />
34<meta name='apple-mobile-web-app-status-bar-style' content='black' />
35<meta name='google-site-verification' content='sFSGABaAfjOq85cU8JnjpRBtHpJNjH3c1gPXrBkUZ20' />
36<meta property='fb:app_id' content='403663046397577' />
37<meta property='fb:pages' content='94300828653' />
38<meta property='og:type' content='article'/>
39<meta property='og:site_name' content='Architizer'/>
40<meta property='og:locale' content='en_US' />
41<meta property='og:title' content='Most Popular Ideas' />
42<meta property='og:url' content='https://architizer.com/image-search/popular-images' />
43<meta property='og:description' content='Browse images. Discover inspiration and find the perfect architecture firm for your project based on your requirements and vision.' />
44<meta property="og:image" content="http://architizer-prod.imgix.net/media/mediadata/uploads/1776887779951PW_HGI_Modular_Timber_Housing_View_01_AS.jpg" />
45<meta property="og:image:secure_url" content="https://architizer-prod.imgix.net/media/mediadata/uploads/1776887779951PW_HGI_Modular_Timber_Housing_View_01_AS.jpg" />
46<meta property="og:image" content="http://architizer-prod.imgix.net/media/mediadata/uploads/1776887780885PW_HGI_Modular_Timber_Housing_View_03_AS.jpg" />
47<meta property="og:image:secure_url" content="https://architizer-prod.imgix.net/media/mediadata/uploads/1776887780885PW_HGI_Modular_Timber_Housing_View_03_AS.jpg" />
48<meta property="og:image" content="http://architizer-prod.imgix.net/media/mediadata/uploads/1776887780939PW_HGI_Modular_Timber_Housing_View_04_AS.jpg" />
49<meta property="og:image:secure_url" content="https://architizer-prod.imgix.net/media/mediadata/uploads/1776887780939PW_HGI_Modular_Timber_Housing_View_04_AS.jpg" />
50<meta property="og:image" content="http://architizer-prod.imgix.net/media/mediadata/uploads/1776887779952PW_HGI_Modular_Timber_Housing_View_02_AS.jpg" />
51<meta property="og:image:secure_url" content="https://architizer-prod.imgix.net/media/mediadata/uploads/1776887779952PW_HGI_Modular_Timber_Housing_View_02_AS.jpg" />
52<meta property="og:image" content="http://architizer-prod.imgix.net/media/mediadata/uploads/1776887781200PW_HGI_Modular_Timber_Housing_View_06_AS.jpg" />
53<meta property="og:image:secure_url" content="https://architizer-prod.imgix.net/media/mediadata/uploads/1776887781200PW_HGI_Modular_Timber_Housing_View_06_AS.jpg" />
54<meta property='article:section' content=''>
55<meta property='article:published_time' content=''>
56<meta property='article:modified_time' content='2026-09-24T04:26:03.450086'>
57<meta property='article:tag' content=''>
58<meta property='article:tag' content='Residential'>
59<meta property='article:tag' content='Multi Unit Housing'>
60<meta name='twitter:card' content='summary_large_image'>
61<meta name='twitter:site' content='@Architizer'>
62<meta name='twitter:creator' content='@Architizer'>
63<meta name='twitter:title' content='Most Popular Ideas'>
64<meta name='twitter:image' content='https://architizer-prod.imgix.net/media/mediadata/uploads/1776887779951PW_HGI_Modular_Timber_Housing_View_01_AS.jpg'>
65<meta name='twitter:description' content='Browse images. Discover inspiration and find the perfect architecture firm for your project based on your requirements and vision.'>
66<script>
67window.ENV = "prod";
68</script>
68
69<link rel="stylesheet" href="https://design-kit.arc.ht/css/adk.css?v=20260729" />
70<link rel="stylesheet" href="//static-web-prod.arc.ht/css/osano-adk-overrides.3822dae4a041.css" />
71<script async="async" src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
vendor: 1 bytes, line 71
71
72<script type="text/javascript">
73window.googletag = window.googletag || { cmd: [] };
74googletag.architizer_slots = googletag.architizer_slots || {};
75googletag.cmd.push(function() {
76googletag.pubads().set("adsense_background_color", "FFFFFF");
77});
78</script>
vendor: 1 bytes, line 78
78
79<script type="text/javascript" src="//design-kit.arc.ht/js/gpt.js" onload="window.isUsingAdb = false" onerror="window.isUsingAdb = true"></script>
79
80</head>
81<body class="bg-extra-light-gray">
82<!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 82-83
82
83<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
83GTM-T9W58Q
vendor: 83 bytes, lines 83-84
83"
84height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
85<!-- End Google Tag Manager (noscript) -->
86<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
vendor: 1 bytes, line 86
86
87<script src="//cdnjs.cloudflare.com/ajax/libs/what-input/2.1.1/what-input.min.js"></script>
vendor: 1 bytes, line 87
87
88<script src="//cdnjs.cloudflare.com/ajax/libs/foundation/6.3.1/js/foundation.min.js"></script>
88
89<div class="adk header-container">
90<div id="Header">
91<header>
92<div id="small-screen-header"
93class="row align-justify bg-black hide-for-large">
94<div class="columns align-self-middle shrink">
95<a href="/"
96target="_self">
97<svg id="architizer-logotype-mobile" xmlns="http://www.w3.org/2000/svg" viewBox="0 -4 12 18" style="height: 18px;" title="Architizer">
98<title>Architizer</title>
99<defs><style>.architizer-logo { fill: #fff; }</style></defs>
100<polygon id="letter-a" class="architizer-logo" points="9.63 13.7 5.76 2.18 5.76 2.18 2.38 12.01 7.15 12.01 7.15 13.6 0 13.6 4.87 0.1 6.85 0.1 11.62 13.6 9.63 13.6 9.63 13.7" />
101</svg>
102</a>
103</div>
104<div class="columns align-self-middle shrink">
105<form class="search-form" method="get" action="/blog" onsubmit="handleSearchFormSubmit(event)">
106<button type="submit" class="gray-300 hover-white cursor-pointer">
107<i class="material-icons">search</i>
108</button>
109<input type="text" name="s" class="pl-xxl gray-300" placeholder="Search.." size="6">
110</form>
111<script type="application/javascript">
112function handleSearchFormSubmit(event) {
113if (!event.target.elements['s'].value) {
114event.preventDefault();
115if (document.getElementById('sidebar-content').style.display !== 'block') {
116event.target.elements['s'].focus();
117}
118return;
119}
120analytics.track('search', {
121label: event.target.elements['s'].value,
122query_string: event.target.elements['s'].value
123});
124}
125</script>
125
126<a id="sidebar-link">
127<i class="material-icons fs-l">menu</i>
128</a>
129</div>
130</div>
131<div id="sidebar-content"
132class="bg-black">
133<a href="/projects/q/"
134target="_self"
135class="js-use-pushstate">
136<div class="row align-middle mr-0 p-xs">
137<div class="columns">
138<span class="link-projects">Projects</span>
139</div>
140</div>
141</a>
142<a href="/image-search/popular-images"
143target="_self">
144<div class="row align-middle mr-0 p-xs">
145<div class="columns">
146<span class="link-image-search">Images</span>
147</div>
148</div>
149</a>
150<a href="/firms/"
151target="_self">
152<div class="row align-middle mr-0 p-xs">
153<div class="columns">
154<span class="link-firm-search">Firms</span>
155</div>
156</div>
157</a>
158<a href="/brands/"
159target="_self">
160<div class="row align-middle mr-0 p-xs">
161<div class="columns">
162<span class="link-brands">Brands</span>
163</div>
164</div>
165</a>
166<a href="/blog"
167target="_self">
168<div class="row align-middle mr-0 p-xs">
169<div class="columns">
170<span class="link-journal">Journal</span>
171</div>
172</div>
173</a>
174<a href="https://enter.architizer.com/?utm_source=architizer&utm_medium=nav"
175target="_blank">
176<div class="row align-middle mr-0 p-xs">
177<div class="columns">
178<span class="link-awards">A+Awards</span>
179</div>
180</div>
181</a>
182<a href="https://info.architizer.com/vision-awards?utm_source=architizer&utm_medium=nav"
183target="_blank">
184<div class="row align-middle mr-0 p-xs">
185<div class="columns">
186<span class="link-awards">Vision Awards</span>
187</div>
188</div>
189</a>
190<a href="https://enter.architizerproductawards.com/?utm_source=architizer&utm_medium=nav"
191target="_blank">
192<div class="row align-middle mr-0 p-xs">
193<div class="columns">
194<span class="link-awards">A+Product Awards</span>
195</div>
196</div>
197</a>
198<a href="https://winners.architizer.com/?utm_source=architizer&utm_medium=nav"
199target="_blank">
200<div class="row align-middle mr-0 p-xs">
201<div class="columns">
202<span class="link-vision-awards">Winners Gallery</span>
203</div>
204</div>
205</a>
206<a href="https://shop.architizer.com/"
207target="_blank">
208<div class="row align-middle mr-0 p-xs">
209<div class="columns">
210<span class="link-vision-awards">Shop</span>
211</div>
212</div>
213</a>
214<a href="https://architecture-jobs.architizer.com"
215target="_blank">
216<div class="row align-middle mr-0 p-xs">
217<div class="columns">
218<span>Jobs</span>
219</div>
220</div>
221</a>
222<hr class="m-0"></hr>
223<!-- -->
224<!-- -->
225<a href="/login/"
226id="sidebar-sign-in-link"
227target="_self"
228class="js-use-pushstate">
229<div class="row align-middle mr-0 p-xs">
230<div class="columns">
231<span>Sign In</span>
232</div>
233</div>
234</a>
235<a href="/register/"
236id="sidebar-join-now-link"
237target="_self"
238class="js-use-pushstate">
239<div class="row align-middle mr-0 p-xs">
240<div class="columns">
241<span>Join Now</span>
242</div>
243</div>
244</a>
245<!-- -->
246</div>
247<div id="large-screen-header"
248class="row bg-black show-for-large">
249<div class="columns align-self-middle shrink pr-0">
250<a href="/"
251target="_self">
252<svg id="architizer-logotype" xmlns="http://www.w3.org/2000/svg" viewBox="0 -4 72 18" style="height: 18px;" title="Architizer">
253<title>Architizer</title>
254<defs><style>.architizer-logo { fill: #fff; }</style></defs>
255<polygon id="letter-a" class="architizer-logo" points="9.63 13.7 5.76 2.18 5.76 2.18 2.38 12.01 7.15 12.01 7.15 13.6 0 13.6 4.87 0.1 6.85 0.1 11.62 13.6 9.63 13.6 9.63 13.7" />
256<path id="letter-r" class="architizer-logo" d="M17.67,5.66c-.2,0-.4-.1-.6-.1A2.93,2.93,0,0,0,14.3,8.74v5H12.61V4.27H14.3V6.06a3,3,0,0,1,2.88-2,.74.74,0,0,1,.5.1Z" transform="translate(0)" />
257<path id="letter-c" class="architizer-logo" d="M22.14,13.9c-2.78,0-4.47-1.89-4.47-5s1.89-5,4.47-5a4.05,4.05,0,0,1,4,2.58l-1.39.7a2.59,2.59,0,0,0-2.58-1.89c-1.69,0-2.78,1.29-2.78,3.57s1.19,3.57,2.78,3.57a2.93,2.93,0,0,0,2.78-1.69l1.29.7A4.22,4.22,0,0,1,22.14,13.9Z" transform="translate(0)" />
258<path id="letter-h" class="architizer-logo" d="M35.15,13.7H33.46V8.24c0-2.09-.79-2.68-2.18-2.68a2.53,2.53,0,0,0-2.48,2.78V13.8H27.11V.2h1.69V5.66a3.29,3.29,0,0,1,3.08-1.59,3,3,0,0,1,2.68,1.19,4.51,4.51,0,0,1,.6,2.58V13.7Z" transform="translate(0)" />
259<g id="letter-i">
260<rect id="letter-i-line" class="architizer-logo" x="36.54" y="4.27" width="1.69" height="9.43" />
261<path id="letter-i-dot" class="architizer-logo" d="M37.43,2.18a1.1,1.1,0,0,1-1.09-1.09,1.09,1.09,0,1,1,2.18,0A1,1,0,0,1,37.43,2.18Z" transform="translate(0)" />
262</g>
263<polygon id="letter-t" class="architizer-logo" points="45.18 5.56 43.09 5.56 43.09 13.6 41.4 13.6 41.4 5.56 39.62 5.56 39.62 4.17 41.4 4.17 41.4 1.19 43.09 1.19 43.09 4.17 45.18 4.17 45.18 5.56" />
264<g id="letter-i-2" data-name="letter-i">
265<rect id="letter-i-line-2" data-name="letter-i-line" class="architizer-logo" x="46.47" y="4.27" width="1.69" height="9.43" />
266<circle id="letter-i-dot-2" data-name="letter-i-dot" class="architizer-logo" cx="47.36" cy="1.09" r="1.09" />
267</g>
268<polygon id="letter-z" class="architizer-logo" points="56.89 13.7 49.45 13.7 49.45 12.41 54.81 5.66 49.74 5.66 49.74 4.27 56.89 4.27 56.89 5.56 51.43 12.41 56.89 12.41 56.89 13.7 56.89 13.7" />
269<path id="letter-e" class="architizer-logo" d="M66.13,9.13c0-2.78-1.39-5-4.27-5-2.58,0-4.47,2-4.47,4.87,0,3.08,1.79,5,4.47,5A4.79,4.79,0,0,0,66,11.82l-1.19-.89a3.13,3.13,0,0,1-2.78,1.59,2.91,2.91,0,0,1-3-3.18h7ZM59.18,8A2.75,2.75,0,0,1,62,5.36c1.39,0,2.28,1,2.48,2.68Z" transform="translate(0)" />
270<path id="letter-r-2" data-name="letter-r" class="architizer-logo" d="M72.48,5.66c-.2,0-.4-.1-.6-.1a2.93,2.93,0,0,0-2.78,3.18v5H67.42V4.27h1.69V6.06a3,3,0,0,1,2.88-2,.74.74,0,0,1,.5.1Z" transform="translate(0)" />
271</svg>
272</a>
273</div>
274<div class="columns align-self-middle">
275<ul class="menu"
276id="largeNavbarLinks">
277<li>
278<a href="/projects/q/"
279target="_self"
280class="js-use-pushstate link-projects">Projects</a>
281</li>
282<li>
283<a href="/image-search/popular-images"
284target="_self"
285class="link-image-search">Images</a>
286</li>
287<li>
288<a href="/firms/"
289target="_self"
290class="link-firm-search">Firms</a>
291</li>
292<li>
293<a href="/brands/"
294target="_self"
295class="link-brands">Brands</a>
296</li>
297<li>
298<a href="/blog"
299target="_self"
300class="link-journal">Journal</a>
301</li>
302<li id="dropdown-link-awards">
303<a
304id="awards-dropdown"
305target="_self"
306class="link-awards">
307Awards
308<span class="fs-xs">&#9660;</span>
309</a>
310<div id="dropdown-content-awards" class="bg-gray-900 pb-xs">
311<div><a target="_blank" href="https://enter.architizer.com/?utm_source=architizer&utm_medium=nav">A+Awards</a></div>
312<div><a target="_blank" href="https://enter.architizerproductawards.com/?utm_source=architizer&utm_medium=nav">A+Product Awards</a></div>
313<div><a target="_blank" href="https://info.architizer.com/vision-awards?utm_source=architizer&utm_medium=nav">Vision Awards</a></div>
314<div><a target="_blank" href="https://winners.architizer.com/?utm_source=architizer&utm_medium=nav">Winners Gallery</a></div>
315<div>
315<a target="_blank" href="https://shop.architizer.com/">Shop</a></div>
316</div>
317</li>
318<li>
319<a href="https://architecture-jobs.architizer.com"
320target="_blank">Jobs</a>
321</li>
322<li class="flex-child-grow">
323<form class="search-form" method="get" action="/blog" onsubmit="handleSearchFormSubmit(event)">
324<button type="submit" class="gray-300 hover-white cursor-pointer">
325<i class="material-icons">search</i>
326</button>
327<input type="text" name="s" class="pl-xxl gray-300" placeholder="Search.." size="6">
328</form>
329<script type="application/javascript">
330function handleSearchFormSubmit(event) {
331if (!event.target.elements['s'].value) {
332event.preventDefault();
333if (document.getElementById('sidebar-content').style.display !== 'block') {
334event.target.elements['s'].focus();
335}
336return;
337}
338analytics.track('search', {
339label: event.target.elements['s'].value,
340query_string: event.target.elements['s'].value
341});
342}
343</script>
343
344</li>
345</ul>
346</div>
347<a href="/login/"
348id="sign-in-link"
349target="_self">
350<div class="columns align-self-middle shrink ">
351<div class="row align-middle"
352style="height: 3rem;">
353<div class="columns shrink">
354<span>Sign In</span>
355</div>
356</div>
357</div>
358</a>
359<a href="/register/"
360id="join-now-link"
361target="_self">
362<div class="columns align-self-middle shrink ">
363<div class="row align-middle bg-blue"
364style="height: 3rem;">
365<div class="columns shrink">
366<span class="white hover-black">Join Now</span>
367</div>
368</div>
369</div>
370</a>
371</div>
372</header>
373<style type="text/css">
374.header-container {
375position: sticky;
376top:0;
377z-index: 100;
378}
379.native-ad-container iframe {
380width: 100%;
381}
382header {
383z-index: 1000;
384position: sticky;
385top: 0;
386width: 100%;
387}
388#large-screen-header .row:before, #large-screen-header .row:after,
389#small-screen-header.row:before, #small-screen-header.row:after {
390display: none;
391}
392#search-results-container {
393top: 3rem;
394}
395a, div {
396outline: 0;
397}
398a:hover, div:hover,
399a:active, div:active,
400a:focus, div:focus {
401outline: none;
402}
403.adk .togglable, .adk .tooltip {
404white-space: nowrap;
405max-width: none;
406}
407.adk .togglable {
408top: 0;
409right: -15px;
410bottom: 0;
411left: 0;
412position: absolute;
413font-size: 22px;
414display: block;
415}
416.adk .tooltip {
417display: none;
418}
419.adk .togglable:hover .tooltip {
420display: block;
421}
422.adk .tooltip {
423position: absolute;
424font-size: 11px;
425line-height: 13.2px;
426background: #292827;
427background: rgba(41,40,39,.7);
428min-width: 60px;
429min-height: 13.2px;
430padding: 6px;
431color: #ebeae8;
432-moz-box-shadow: none 0 0 0 transparent;
433-webkit-box-shadow: none 0 0 0 transparent;
434box-shadow: none 0 0 0 transparent;
435-webkit-transition: box-shadow 1.5s 0s ease-in-out;
436-moz-transition: box-shadow 1.5s 0s ease-in-out;
437-ms-transition: box-shadow 1.5s 0s ease-in-out;
438-o-transition: box-shadow 1.5s 0s ease-in-out;
439transition: box-shadow 1.5s 0s ease-in-out;
440-webkit-user-select: none;
441-ms-user-select: none;
442user-select: none;
443}
444.adk .tooltip.join-now {
445display: block;
446top: 0;
447z-index: 10;
448white-space: normal;
449width: 10rem;
450}
451#large-screen-header a.upload-project .tooltip{
452top: 2.85rem;
453}
454#large-screen-header a.upload-project:hover i.material-icons {
455color: #fff !important;
456}
457#unverified-banner {
458background-color: #E47746;
459height: 2.5rem;
460line-height: 2.5rem;
461overflow: hidden;
462}
463#unverified-banner a {
464border-bottom: 1px solid rgba(255,255,255,.75);
465}
466#unverified-banner a:hover {
467border-bottom-color: rgba(255,255,255,1);
468}
469#sso-banner {
470height: 3rem;
471}
472@media screen and (max-width: 39.9375em) {
473#unverified-banner,
474#sso-banner {
475font-size: .85rem;
476}
477#unverified-banner i,
478#sso-banner i {
479font-size: 1rem;
480}
481}
482@media (min-width: 2401px) {
483.native-ad-container {
484display: none;
485}
486}
487</style>
488<script id="header-script" type="text/javascript">
489function isInRectangle(mouseX, mouseY, rectX, rectY, rectWidth, rectHeight) {
490return mouseX >= rectX && mouseX <= rectX + rectWidth && mouseY >= rectY && mouseY <= rectY + rectHeight
491}
492var GlobalHeader = function() {};
493GlobalHeader.prototype.isChildOf = function(child, parent) {
494if (!child.parentNode) {
495return false;
496} else if (child.parentNode === parent) {
497return true;
498} else {
499return this.isChildOf(child.parentNode, parent);
500}
501};
502////////////////////////////////////////////////////////////////////////////////
503// User Dropdown
504////////////////////////////////////////////////////////////////////////////////
505var UserDropdown = function() {
506this.link = document.getElementById('dropdown-link');
507this.dropdown = document.getElementById('user-dropdown');
508this.dropdownContent = document.getElementById('dropdown-content');
509this.header = document.getElementById('large-screen-header');
510};
511UserDropdown.prototype = Object.create(GlobalHeader.prototype);
512UserDropdown.prototype.mouseMoveEvent = function (event) {
513if (!this.dropdownContent || !this.link || this.dropdownContent.style.display !== 'block') {
514//  Not displayed, don't need to continue. Since the goal is to know when to hide it
515return;
516}
517var mouseX = event.clientX;
518var mouseY = event.clientY;
519var linkRect = this.link.getBoundingClientRect();
520var contentRect = this.dropdownContent.getBoundingClientRect();
521var inRect1 = isInRectangle(
522mouseX, mouseY,
523linkRect.x, this.header.offsetTop,
524window.innerWidth - linkRect.x, linkRect.y + linkRect.height + contentRect.height
525)
526var inRect2 = isInRectangle(
527mouseX, mouseY,
528contentRect.x, contentRect.y,
529contentRect.width, contentRect.height
530)
531if (!inRect1 && !inRect2) {
532this.closeUserDropdown();
533}
534};
535UserDropdown.prototype.bindEventListeners = function () {
536if (this.dropdown) {
537this.dropdown.addEventListener('mouseover', this.hoverUserDropdown.bind(this));
538}
539document.addEventListener('mousemove', this.mouseMoveEvent.bind(this));
540};
541UserDropdown.prototype.hoverUserDropdown = function() {
542if (this.dropdownContent.style.display !== 'block') {
543this.openUserDropdown();
544}
545};
546UserDropdown.prototype.openUserDropdown = function() {
547// Display dropdown content
548this.dropdownContent.style.display = 'block';
549var bottom = this.header.offsetTop + this.header.offsetHeight;
550this.dropdownContent.style.top = `${bottom}px`;
551// Add event listeners to close on resize and outside clicks
552window.addEventListener('resize', this.closeUserDropdown.bind(this));
553};
554UserDropdown.prototype.closeUserDropdown = function(e) {
555// Hide dropdown content
556this.dropdownContent.style.display = 'none';
557// Remove event listeners
558window.removeEventListener('resize', this.closeUserDropdown.bind(this));
559};
560////////////////////////////////////////////////////////////////////////////////
561// Awards Dropdown
562////////////////////////////////////////////////////////////////////////////////
563var AwardsDropdown = function() {
564this.link = document.getElementById('dropdown-link-awards');
565this.dropdown = document.getElementById('awards-dropdown');
566this.dropdownContent = document.getElementById('dropdown-content-awards');
567};
568AwardsDropdown.prototype = Object.create(GlobalHeader.prototype);
569AwardsDropdown.prototype.mouseMoveEvent = function (event) {
570if (!this.dropdownContent || !this.link || this.dropdownContent.style.display !== 'block') {
571//  Not displayed, don't need to continue. Since the goal is to know when to hide it
572return;
573}
574var mouseX = event.clientX;
575var mouseY = event.clientY;
576var linkRect = this.link.getBoundingClientRect();
577var contentRect = this.dropdownContent.getBoundingClientRect();
578var inRect1 = isInRectangle(
579mouseX, mouseY,
580linkRect.x - 10, 0,
581linkRect.width + 10, linkRect.y + linkRect.height + contentRect.height
582)
583var inRect2 = isInRectangle(
584mouseX, mouseY,
585contentRect.x, contentRect.y,
586contentRect.width, contentRect.height
587)
588if (!inRect1 && !inRect2) {
589this.closeAwardsDropdown();
590}
591};
592AwardsDropdown.prototype.bindEventListeners = function () {
593if (this.dropdown) {
594this.dropdown.addEventListener('mouseover', this.hoverAwardsDropdown.bind(this));
595}
596document.addEventListener('mousemove', this.mouseMoveEvent.bind(this));
597};
598AwardsDropdown.prototype.hoverAwardsDropdown = function() {
599if (this.dropdownContent.style.display !== 'block') {
600this.openAwardsDropdown();
601}
602};
603AwardsDropdown.prototype.openAwardsDropdown = function() {
604// Display dropdown content
605this.dropdownContent.style.display = 'block';
606// Add event listeners to close on resize
607window.addEventListener('resize', this.closeAwardsDropdown.bind(this));
608};
609AwardsDropdown.prototype.closeAwardsDropdown = function(e) {
610// Hide dropdown content
611this.dropdownContent.style.display = 'none';
612// Remove event listeners
613window.removeEventListener('resize', this.closeAwardsDropdown.bind(this));
614};
615////////////////////////////////////////////////////////////////////////////////
616// Product Dropdown
617////////////////////////////////////////////////////////////////////////////////
618var ProductsDropdown = function() {
619this.link = document.getElementById('dropdown-link-products');
620this.dropdown = document.getElementById('products-dropdown');
621this.dropdownContent = document.getElementById('dropdown-content-products');
622};
623ProductsDropdown.prototype = Object.create(GlobalHeader.prototype);
624ProductsDropdown.prototype.mouseMoveEvent = function (event) {
625if (!this.dropdownContent || !this.link || this.dropdownContent.style.display !== 'block') {
626//  Not displayed, don't need to continue. Since the goal is to know when to hide it
627return;
628}
629var mouseX = event.clientX;
630var mouseY = event.clientY;
631var linkRect = this.link.getBoundingClientRect();
632var contentRect = this.dropdownContent.getBoundingClientRect();
633var inRect1 = isInRectangle(
634mouseX, mouseY,
635linkRect.x - 10, 0,
636linkRect.width + 10, linkRect.y + linkRect.height + contentRect.height
637)
638var inRect2 = isInRectangle(
639mouseX, mouseY,
640contentRect.x, contentRect.y,
641contentRect.width, contentRect.height
642)
643if (!inRect1 && !inRect2) {
644this.closeProductsDropdown();
645}
646};
647ProductsDropdown.prototype.bindEventListeners = function () {
648if (this.dropdown) {
649this.dropdown.addEventListener('mouseover', this.hoverProductsDropdown.bind(this));
650}
651document.addEventListener('mousemove', this.mouseMoveEvent.bind(this));
652};
653ProductsDropdown.prototype.hoverProductsDropdown = function() {
654if (this.dropdownContent.style.display !== 'block') {
655this.openProductsDropdown();
656}
657};
658ProductsDropdown.prototype.openProductsDropdown = function() {
659// Display dropdown content
660this.dropdownContent.style.display = 'block';
661// Add event listeners to close on resize
662window.addEventListener('resize', this.closeProductsDropdown.bind(this));
663};
664ProductsDropdown.prototype.closeProductsDropdown = function(e) {
665// Hide dropdown content
666this.dropdownContent.style.display = 'none';
667// Remove event listeners
668window.removeEventListener('resize', this.closeProductsDropdown.bind(this));
669};
670////////////////////////////////////////////////////////////////////////////////
671// Sign In Link
672////////////////////////////////////////////////////////////////////////////////
673var SignInLink = function () {
674this.signInLink = document.getElementById('sign-in-link');
675this.sidebarLink = document.getElementById('sidebar-sign-in-link');
676this.joinNowLink = document.getElementById('join-now-link');
677};
678SignInLink.prototype = Object.create(GlobalHeader.prototype);
679SignInLink.prototype.bindEventListeners = function () {
680if (this.signInLink) {
681this.signInLink.addEventListener('click', setNextParameter.bind(this, this.signInLink.pathname, this.joinNowLink.pathname));
682}
683if (this.sidebarLink) {
684this.sidebarLink.addEventListener('click', setNextParameter.bind(this, this.signInLink.pathname, this.joinNowLink.pathname));
685}
686};
687var setNextParameter = function (clickedLinkHref, secondLinkHref, event) {
688event.preventDefault();
689var currentPath = window.location.pathname;
690var currentQueryParams = window.location.search;
691// Append URI-encoded current path and query parameters to the href of the Sign In link
692if (currentPath && currentPath !== '/') {
693var LinkWithNext = '';
694// if the user in the same link keep him at the same page
695if (currentPath === clickedLinkHref) {
696LinkWithNext = window.location;
697}
698// if the user in the is switching between join now and sign in pages, pass the params to the other page
699else if (currentPath === secondLinkHref) {
700LinkWithNext = clickedLinkHref + currentQueryParams;
701}
702// if the user in any other page and he clicks sign in or join now links, pass the page path as next param
703else {
704LinkWithNext = clickedLinkHref + '?next=' + encodeURIComponent(currentPath + currentQueryParams);
705}
706// Redirect to the Join Now or Sign In urls with the ?next= parameter appended
707window.location.assign(LinkWithNext);
708} else {
709// Otherwise just use the Join Now or Sign In links without a ?next= parameter appended
710window.location.assign(clickedLinkHref);
711}
712};
713////////////////////////////////////////////////////////////////////////////////
714// Sign Out Link
715////////////////////////////////////////////////////////////////////////////////
716var SignOutLink = function () {
717this.signOutLinks = document.getElementsByClassName('sign-out-link');
718this.resetIntercomSession = function (e) {
719// Reset Intercom session
720if (typeof window.Intercom === 'function') {
721window.Intercom('shutdown');
722}
723}
724};
725SignOutLink.prototype = Object.create(GlobalHeader.prototype);
726SignOutLink.prototype.bindEventListeners = function () {
727if (this.signOutLinks) {
728for (var i = 0; i < this.signOutLinks.length; i++) {
729this.signOutLinks[i].addEventListener('click', this.resetIntercomSession);
730}
731}
732};
733////////////////////////////////////////////////////////////////////////////////
734// Join Now Link
735////////////////////////////////////////////////////////////////////////////////
736var JoinNowLink = function () {
737this.joinNowLink = document.getElementById('join-now-link');
738this.sidebarJoinNowLink = document.getElementById('sidebar-join-now-link');
739this.signInLink = document.getElementById('sign-in-link');
740};
741JoinNowLink.prototype = Object.create(GlobalHeader.prototype);
742JoinNowLink.prototype.bindEventListeners = function () {
743if (this.joinNowLink) {
744this.joinNowLink.addEventListener('click', setNextParameter.bind(this, this.joinNowLink.pathname, this.signInLink.pathname));
745}
746if (this.sidebarJoinNowLink) {
747this.sidebarJoinNowLink.addEventListener('click', setNextParameter.bind(this, this.joinNowLink.pathname, this.signInLink.pathname));
748}
749};
750////////////////////////////////////////////////////////////////////////////////
751// Sidebar
752////////////////////////////////////////////////////////////////////////////////
753var Sidebar = function() {
754this.sidebarContent = document.getElementById('sidebar-content');
755this.sidebarLinks = this.sidebarContent.getElementsByTagName('a');
756this.smallScreenHeader = document.getElementById('small-screen-header');
757this.link = document.getElementById('sidebar-link');
758};
759Sidebar.prototype.bindEventListeners = function() {
760this.link.addEventListener('click', this.toggleSidebar.bind(this));
761// Add "Close Sidebar" listeners to links in sidebar on click
762for (var i = 0; i < this.sidebarLinks.length; i++) {
763this.sidebarLinks[i].addEventListener('click', this.closeSidebar.bind(this));
764}
765};
766Sidebar.prototype.toggleSidebar = function() {
767if (this.sidebarContent.style.display === 'block') {
768this.closeSidebar();
769} else {
770this.openSidebar();
771}
772};
773Sidebar.prototype.openSidebar = function() {
774// Display sidebar and descrease width of header row to 50%
775this.sidebarContent.style.display = 'block';
776this.smallScreenHeader.style.width = '50%';
777window.addEventListener('resize', this.closeSidebar.bind(this));
778};
779Sidebar.prototype.closeSidebar = function() {
780// Hide sidebar and increase width of header row to 100%
781this.sidebarContent.style.display = 'none';
782this.smallScreenHeader.style.width = '100%';
783window.removeEventListener('resize', this.closeSidebar.bind(this));
784// Remove "Close Sidebar" listeners on links in sidebar
785for (var i = 0; i < this.sidebarLinks.length; i++) {
786this.sidebarLinks[i].removeEventListener('click', this.closeSidebar.bind(this));
787}
788};
789////////////////////////////////////////////////////////////////////////////////
790// Active Links
791////////////////////////////////////////////////////////////////////////////////
792var ActiveLinks = function() {
793this.profileAndCollectionsLinks = document.querySelectorAll('.link-profile-and-collections');
794this.projectsLinks = document.querySelectorAll('.link-projects');
795this.imageSearchLinks = document.querySelectorAll('.link-image-search');
796this.firmSearchLinks = document.querySelectorAll('.link-firm-search');
797this.manufacturersLinks = document.querySelectorAll('.link-manufacturers');
798this.brandsLinks = document.querySelectorAll('.link-brands');
799this.productsLinks = document.querySelectorAll('.link-products');
800this.journalLinks = document.querySelectorAll('.link-journal');
801this.ACTIVE_CLASS = 'white';
802this.INACTIVE_CLASS = 'light-gray';
803this.addActiveClass = function (links) {
804var ACTIVE_CLASS = 'white';
805for(var i = 0; i < links.length; i++) {
806links[i].classList.add(ACTIVE_CLASS);
807}
808};
809};
810ActiveLinks.prototype.bindEventListeners = function() {
811window.addEventListener('load', function() {
812/* For MERLIN pages:
813Detects `Pushstate` events from Merlin and restores all nav links to inactive
814when user clicks on any user profile-related links */
815if(window.__app) {
816window.__app.events.on('navigationEvent:Pushstate', function() {
817// Reset all links to inactive initially before highlighting clicked links
818this.unHighlightActiveLinks();
819this.highlightActiveLinks();
820}.bind(this));
821}
822}.bind(this));
823/* For DJANGO pages:
824Reset all links before highlighting clicked links after initial page load */
825this.unHighlightActiveLinks();
826this.highlightActiveLinks();
827// Close all universal modals on links click
828this.closeUniversalModals();
829};
830// Resets all nav links to the inactive state
831ActiveLinks.prototype.unHighlightActiveLinks = function() {
832var navlinks = document.querySelectorAll('#sidebar-content span, #largeNavbarLinks a');
833var ACTIVE_CLASS = 'white';
834for(var i = 0; i < navlinks.length; i++) {
835navlinks[i].classList.remove(ACTIVE_CLASS);
836}
837};
838// Highlights any link clicked on after initial page load
839ActiveLinks.prototype.highlightActiveLinks = function () {
840var pathname = window.location.pathname;
841if (pathname === '/') {
842this.unHighlightActiveLinks();
843} else {
844switch(pathname !== '/'){
845// Brands
846case (/(\/products\/)|(\/brands\/)/.test(pathname)):
847this.addActiveClass(this.manufacturersLinks);
848this.addActiveClass(this.brandsLinks);
849break;
850// Projects or Firms
851case (/(\/projects\/)/.test(pathname)):
852this.addActiveClass(this.projectsLinks);
853break;
854// Image Search
855case (/(\/image\/)|(\/image-search\/)/.test(pathname)):
856this.addActiveClass(this.imageSearchLinks);
857break;
858// Firm Search
859case (/(\/firms\/)/.test(pathname)):
860this.addActiveClass(this.firmSearchLinks);
861break;
862case (/(\/product-search)/.test(pathname)):
863this.addActiveClass(this.productsLinks);
864break;
865// Journal
866case (/(\/blog\/)/.test(pathname)):
867this.addActiveClass(this.journalLinks);
868break;
869}
870}
871};
872/* Close all universal modals when navigating internally in Merlin pages */
873ActiveLinks.prototype.closeUniversalModals = function() {
874var affectedLinks = [
875this.projectsLinks,
876this.profileAndCollectionsLinks
877// Add any other necessary links here
878];
879for (var affectedLinksI = 0; affectedLinksI < affectedLinks.length; affectedLinksI++) {
880for (var affectedLinksJ = 0; affectedLinksJ < affectedLinks[affectedLinksI].length; affectedLinksJ++) {
881affectedLinks[affectedLinksI][affectedLinksJ].addEventListener('click', function() {
882if (window.closeUniversalModals) {
883window.closeUniversalModals();
884}
885});
886}
887}
888};
889var dropdown = new UserDropdown();
890var dropdownAwards = new AwardsDropdown();
891var dropdownProducts = new ProductsDropdown();
892var sidebar = new Sidebar();
893var activeLinks = new ActiveLinks();
894var signInLink = new SignInLink();
895var signOutLink = new SignOutLink();
896var joinNowLink = new JoinNowLink();
897// Bind event listeners
898dropdown.bindEventListeners();
899dropdownAwards.bindEventListeners();
900dropdownProducts.bindEventListeners();
901sidebar.bindEventListeners();
902activeLinks.bindEventListeners();
903signInLink.bindEventListeners();
904signOutLink.bindEventListeners();
905joinNowLink.bindEventListeners();
906</script>
906
907</div>
908</div>
909<script>
910window.props = "{\u0022isSuperuser\u0022: false, \u0022userId\u0022: null, \u0022sessionId\u0022: \u0022\u0022, \u0022types\u0022: [\u0022Multi Unit Housing\u0022, \u0022Residential\u0022, \u0022Residential\u0022, \u0022Private House\u0022, \u0022Commercial\u0022, \u0022Cultural\u0022, \u0022Hospitality + Sport\u0022, \u0022Office\u0022, \u0022Educational\u0022, \u0022Apartment\u0022, \u0022Multi Unit Housing\u0022, \u0022Landscape + Planning\u0022, \u0022Retail\u0022, \u0022Restaurant\u0022, \u0022Cultural Center\u0022, \u0022Hotel\u0022, \u0022Government + Health\u0022, \u0022Pavilion\u0022, \u0022Industrial\u0022, \u0022Museum\u0022, \u0022Gallery\u0022, \u0022Public Park\u0022, \u0022Urban Green Space\u0022, \u0022Other\u0022, \u0022University\u0022, \u0022Exhibition Center\u0022, \u0022Elementary School\u0022, \u0022Community Center\u0022, \u0022Transport + Infrastructure\u0022, \u0022Sports Center\u0022, \u0022Showroom\u0022, \u0022Hall/Theater\u0022, \u0022Library\u0022, \u0022Wellness/Spa\u0022, \u0022Religious\u0022, \u0022Bar/Nightclub\u0022, \u0022Masterplan\u0022, \u0022Private Garden\u0022, \u0022Nursery\u0022, \u0022Sculpture\u0022, \u0022Pop\u002DUp\u0022, \u0022Playground\u0022, \u0022Medical Facility\u0022, \u0022High School\u0022, \u0022Factory\u0022, \u0022Auditorium\u0022, \u0022Research Facility\u0022, \u0022Shopping Mall\u0022, \u0022Memorial\u0022, \u0022Student Housing\u0022, \u0022Information Center\u0022, \u0022Laboratory\u0022, \u0022Warehouse\u0022, \u0022Parking\u0022, \u0022Stadium\u0022, \u0022Bridge\u0022, \u0022Observation Tower\u0022, \u0022Hospital\u0022, \u0022Train/Subway\u0022, \u0022Winery\u0022, \u0022Farm\u0022, \u0022Waterway/Wetland\u0022, \u0022City Hall\u0022, \u0022Bank\u0022, \u0022Supermarket\u0022, \u0022Aging Facility\u0022, \u0022Bicycles\u0022, \u0022Marina and Ports\u0022, \u0022Fire/Police/Military\u0022, \u0022Movie Theater\u0022, \u0022Airport\u0022, \u0022Bus\u0022, \u0022Amusement Park\u0022, \u0022Water Facility\u0022, \u0022Power Plant\u0022, \u0022Zoo/Aquarium\u0022, \u0022Court/Post Office\u0022, \u0022Cemetery\u0022, \u0022Consulate/Embassy\u0022, \u0022Highway\u0022], \u0022allTypes\u0022: [\u0022Residential\u0022, \u0022Private House\u0022, \u0022Commercial\u0022, \u0022Hospitality + Sport\u0022, \u0022Office\u0022, \u0022Cultural\u0022, \u0022Apartment\u0022, \u0022Educational\u0022, \u0022Multi Unit Housing\u0022, \u0022Retail\u0022, \u0022Restaurant\u0022, \u0022Landscape + Planning\u0022, \u0022Hotel\u0022, \u0022Government + Health\u0022, \u0022Cultural Center\u0022, \u0022Gallery\u0022, \u0022Public Park\u0022, \u0022Industrial\u0022, \u0022Museum\u0022, \u0022Transport + Infrastructure\u0022, \u0022Showroom\u0022, \u0022Exhibition Center\u0022, \u0022Pavilion\u0022, \u0022University\u0022, \u0022Urban Green Space\u0022, \u0022Other\u0022, \u0022Bar/Nightclub\u0022, \u0022Elementary School\u0022, \u0022Sports Center\u0022, \u0022Hall/Theater\u0022, \u0022Masterplan\u0022, \u0022Community Center\u0022, \u0022Wellness/Spa\u0022, \u0022Library\u0022, \u0022Medical Facility\u0022, \u0022Shopping Mall\u0022, \u0022Private Garden\u0022, \u0022Religious\u0022, \u0022High School\u0022, \u0022Sculpture\u0022, \u0022Factory\u0022, \u0022Pop\u002DUp\u0022, \u0022Auditorium\u0022, \u0022Playground\u0022, \u0022Research Facility\u0022, \u0022Hospital\u0022, \u0022Nursery\u0022, \u0022Parking\u0022, \u0022Memorial\u0022, \u0022Student Housing\u0022, \u0022Train/Subway\u0022, \u0022Warehouse\u0022, \u0022Information Center\u0022, \u0022Stadium\u0022, \u0022Laboratory\u0022, \u0022City Hall\u0022, \u0022Waterway/Wetland\u0022, \u0022Bank\u0022, \u0022Supermarket\u0022, \u0022Bridge\u0022, \u0022Airport\u0022, \u0022Marina and Ports\u0022, \u0022Movie Theater\u0022, \u0022Bus\u0022, \u0022Fire/Police/Military\u0022, \u0022Farm\u0022, \u0022Amusement Park\u0022, \u0022Winery\u0022, \u0022Aging Facility\u0022, \u0022Bicycles\u0022, \u0022Observation Tower\u0022, \u0022Zoo/Aquarium\u0022, \u0022Court/Post Office\u0022, \u0022Water Facility\u0022, \u0022Power Plant\u0022, \u0022Highway\u0022, \u0022Cemetery\u0022, \u0022Consulate/Embassy\u0022], \u0022searchTerms\u0022: [\u0022Popular Images\u0022, \u0022Interior\u0022, \u0022Window\u0022, \u0022Furniture\u0022, \u0022Chair\u0022, \u0022Seating\u0022, \u0022Table\u0022, \u0022Architectural Drawings\u0022, \u0022Lamp\u0022, \u0022Facade\u0022, \u0022Sofa\u0022, \u0022Stairs\u0022, \u0022Door\u0022, \u0022Rug\u0022, \u0022Ceiling\u0022, \u0022Terrace\u0022, \u0022Wood Flooring\u0022, \u0022Hallway\u0022, \u0022Entrance\u0022, \u0022Shelf\u0022, \u0022Bedroom\u0022, \u0022Wall\u0022, \u0022Garden\u0022, \u0022Living Room\u0022, \u0022Faucet\u0022, \u0022Bridge\u0022, \u0022Balcony\u0022, \u0022Bathroom\u0022, \u0022Bathtub\u0022, \u0022Lawn\u0022, \u0022Desk\u0022, \u0022Cabinet\u0022, \u0022Park\u0022, \u0022Lobby\u0022, \u0022Dining Room\u0022, \u0022Shower\u0022, \u0022Garage\u0022, \u0022Yard\u0022, \u0022Patio\u0022, \u0022Oven\u0022, \u0022Restroom\u0022, \u0022Counter\u0022, \u0022Bookcase\u0022, \u0022Kitchen\u0022, \u0022Refrigerator\u0022, \u0022Fireplace\u0022, \u0022Sketches\u0022, \u0022Bar\u0022, \u0022Driveway\u0022, \u0022Curtain\u0022, \u0022Conference Room\u0022, \u0022Coffee Table\u0022, \u0022Kids Area\u0022, \u0022Handrail\u0022, \u0022Bathrooom\u0022, \u0022Reception\u0022, \u0022Tennis Court\u0022, \u0022Porch\u0022, \u0022Outdoor Pool\u0022, \u0022Lounge\u0022, \u0022Bench\u0022, \u0022Chandelier\u0022, \u0022Wardrobe\u0022, \u0022Sauna\u0022, \u0022Auditorium\u0022, \u0022Gift Shop\u0022, \u0022Indoor Swimming Pool\u0022, \u0022Market\u0022, \u0022Deck\u0022, \u0022Pavement\u0022, \u0022Parking Lot\u0022, \u0022Terminal\u0022, \u0022Pier\u0022, \u0022Escalator\u0022, \u0022Theater\u0022, \u0022Cafeteria\u0022, \u0022Stage\u0022, \u0022Floor\u0022, \u0022Greenhouse\u0022, \u0022Wine Cellar\u0022, \u0022Classroom\u0022, \u0022Arch\u0022, \u0022Attic\u0022, \u0022Wellness \u0026 Spa\u0022, \u0022Column\u0022, \u0022Display\u0022, \u0022Panel\u0022, \u0022Gym\u0022, \u0022Bleachers\u0022, \u0022Sports \u0026 Activities\u0022, \u0022Stool\u0022, \u0022Meeting Spaces\u0022, \u0022Rack\u0022, \u0022Atrium\u0022, \u0022Home Appliance\u0022, \u0022Backyard\u0022, \u0022Basketball Court\u0022, \u0022Courtyard\u0022, \u0022Skylight\u0022, \u0022Shed\u0022, \u0022Rooftop\u0022, \u0022Dome\u0022, \u0022Bookstore\u0022, \u0022Sink\u0022, \u0022Armchair\u0022, \u0022Tent\u0022, \u0022Aisle\u0022, \u0022Solar Panels\u0022, \u0022Showroom\u0022, \u0022Lecture Hall\u0022, \u0022Chapel\u0022, \u0022Gazebo\u0022, \u0022Port\u0022, \u0022Laboratory\u0022, \u0022Footpath\u0022, \u0022Hot Tub\u0022, \u0022Operating Room\u0022, \u0022Campsite\u0022, \u0022Boardroom\u0022, \u0022Football Stadium\u0022, \u0022Park Bench\u0022, \u0022Communal Areas\u0022, \u0022Public Walkway\u0022, \u0022Stonewall\u0022, \u0022Residential\u0022, \u0022Private House\u0022, \u0022Commercial\u0022, \u0022Hospital
910ity + Sport\u0022, \u0022Office\u0022, \u0022Cultural\u0022, \u0022Apartment\u0022, \u0022Educational\u0022, \u0022Multi Unit Housing\u0022, \u0022Retail\u0022, \u0022Restaurant\u0022, \u0022Landscape + Planning\u0022, \u0022Hotel\u0022, \u0022Government + Health\u0022, \u0022Cultural Center\u0022, \u0022Gallery\u0022, \u0022Public Park\u0022, \u0022Industrial\u0022, \u0022Museum\u0022, \u0022Transport + Infrastructure\u0022, \u0022Showroom\u0022, \u0022Exhibition Center\u0022, \u0022Pavilion\u0022, \u0022University\u0022, \u0022Urban Green Space\u0022, \u0022Other\u0022, \u0022Bar/Nightclub\u0022, \u0022Elementary School\u0022, \u0022Sports Center\u0022, \u0022Hall/Theater\u0022, \u0022Masterplan\u0022, \u0022Community Center\u0022, \u0022Wellness/Spa\u0022, \u0022Library\u0022, \u0022Medical Facility\u0022, \u0022Shopping Mall\u0022, \u0022Private Garden\u0022, \u0022Religious\u0022, \u0022High School\u0022, \u0022Sculpture\u0022, \u0022Factory\u0022, \u0022Pop\u002DUp\u0022, \u0022Auditorium\u0022, \u0022Playground\u0022, \u0022Research Facility\u0022, \u0022Hospital\u0022, \u0022Nursery\u0022, \u0022Parking\u0022, \u0022Memorial\u0022, \u0022Student Housing\u0022, \u0022Train/Subway\u0022, \u0022Warehouse\u0022, \u0022Information Center\u0022, \u0022Stadium\u0022, \u0022Laboratory\u0022, \u0022City Hall\u0022, \u0022Waterway/Wetland\u0022, \u0022Bank\u0022, \u0022Supermarket\u0022, \u0022Bridge\u0022, \u0022Airport\u0022, \u0022Marina and Ports\u0022, \u0022Movie Theater\u0022, \u0022Bus\u0022, \u0022Fire/Police/Military\u0022, \u0022Farm\u0022, \u0022Amusement Park\u0022, \u0022Winery\u0022, \u0022Aging Facility\u0022, \u0022Bicycles\u0022, \u0022Observation Tower\u0022, \u0022Zoo/Aquarium\u0022, \u0022Court/Post Office\u0022, \u0022Water Facility\u0022, \u0022Power Plant\u0022, \u0022Highway\u0022, \u0022Cemetery\u0022, \u0022Consulate/Embassy\u0022], \u0022materials\u0022: [\u0022Wood\u0022, \u0022Glass\u0022, \u0022Steel\u0022, \u0022Hardwood\u0022, \u0022Brick\u0022, \u0022Stone\u0022, \u0022Stainless Steel\u0022, \u0022Cement\u0022, \u0022Iron\u0022, \u0022Fabric\u0022, \u0022Bamboo\u0022, \u0022Plywood\u0022, \u0022Aluminum\u0022, \u0022Bedrock\u0022, \u0022Asphalt\u0022, \u0022Metallic\u0022, \u0022Woodgrain\u0022, \u0022Leather\u0022, \u0022Clay\u0022, \u0022Plastic\u0022, \u0022Marble\u0022, \u0022Ceramic\u0022, \u0022Brass\u0022, \u0022Cobblestone\u0022, \u0022Acrylic\u0022, \u0022Crystal\u0022, \u0022Limestone\u0022, \u0022Alloy\u0022, \u0022Sandstone\u0022], \u0022styles\u0022: [\u0022Contemporary\u0022, \u0022Minimalist\u0022, \u0022Empty\u0022, \u0022Luxury\u0022, \u0022Light\u0022, \u0022Modern\u0022, \u0022Perspective\u0022, \u0022Minimalism\u0022, \u0022Old\u0022, \u0022Spacious\u0022, \u0022Monochrome\u0022, \u0022Expression\u0022, \u0022Futuristic\u0022, \u0022Industry\u0022, \u0022Abstract\u0022, \u0022Retro\u0022, \u0022Geometric\u0022, \u0022Dark\u0022, \u0022Texture\u0022, \u0022Pattern\u0022, \u0022Tall\u0022, \u0022Rough\u0022, \u0022Blur\u0022, \u0022Fisheye\u0022, \u0022Rustic\u0022, \u0022Commercial\u0022, \u0022Vintage\u0022, \u0022Stripe\u0022, \u0022Hanging\u0022, \u0022Square\u0022, \u0022Fast\u0022, \u0022Traditional\u0022, \u0022Antique\u0022, \u0022Energy\u0022, \u0022Gothic\u0022, \u0022Triangle\u0022, \u0022Shape\u0022, \u0022Illuminated\u0022, \u0022Artistic\u0022, \u0022Chrome\u0022, \u0022Gold\u0022, \u0022Spiral\u0022, \u0022Simplicity\u0022, \u0022Exotic\u0022, \u0022Narrow\u0022, \u0022Flat\u0022, \u0022Repetition\u0022, \u0022Elegant\u0022, \u0022Neon\u0022, \u0022Round\u0022, \u0022Balloon\u0022, \u0022Spherical\u0022, \u0022Ambient\u0022, \u0022Curve\u0022, \u0022Hexagon\u0022, \u0022Cozy\u0022, \u0022Parallel\u0022, \u0022Floral\u0022, \u0022Panoramic\u0022, \u0022Trendy\u0022, \u0022Vertical\u0022, \u0022Baroque\u0022, \u0022Glisten\u0022, \u0022Goth Like\u0022, \u0022Polygon\u0022], \u0022environments\u0022: [\u0022Sky\u0022, \u0022Street\u0022, \u0022Interior\u0022, \u0022Urban\u0022, \u0022Landscape\u0022, \u0022Water\u0022, \u0022Downtown\u0022, \u0022Winter\u0022, \u0022River\u0022, \u0022Skyline\u0022, \u0022Mountain\u0022, \u0022Ocean\u0022, \u0022Dawn\u0022, \u0022Dusk\u0022, \u0022Seashore\u0022, \u0022Suburban\u0022, \u0022Countryside\u0022, \u0022Evening\u0022, \u0022Desert\u0022, \u0022Exterior\u0022, \u0022Crowd\u0022, \u0022Fair Weather\u0022, \u0022Cloud\u0022, \u0022Waterfront\u0022, \u0022Dune\u0022, \u0022Nightlife\u0022, \u0022Fjord\u0022, \u0022Powder\u0022], \u0022locations\u0022: [\u0022China\u0022, \u0022Japan\u0022, \u0022United States\u0022, \u0022Bangkok, Thailand\u0022, \u0022Vietnam\u0022, \u0022Beijing, China\u0022, \u0022New York, United States\u0022, \u0022London, United Kingdom\u0022, \u0022Shanghai, China\u0022, \u0022Thailand\u0022], \u0022firms\u0022: [\u0022Perkins\u0026Will\u0022, \u0022Fran Silvestre Arquitectos\u0022, \u0022C.F. M\u005Cu00f8ller Architects\u0022, \u0022Olson Kundig\u0022, \u0022Studio Gaon\u0022, \u0022Wutopia Lab\u0022, \u0022Mecanoo\u0022, \u0022IDIN Architects\u0022, \u0022Zaha Hadid Architects\u0022, \u0022line+ studio\u0022, \u0022Architectural bureau G.Natkevicius and partners\u0022], \u0022images\u0022: [{\u0022globalId\u0022: \u0022media.mediaitem.3952027\u0022, \u0022mediaId\u0022: \u00223952027\u0022, \u0022mediaAttributionId\u0022: \u00224470963\u0022, \u0022url\u0022: \u0022https://architizer\u002Dprod.imgix.net/media/mediadata/uploads/1776887779951PW_HGI_Modular_Timber_Housing_View_01_AS.jpg\u0022, \u0022projectUrl\u0022: \u0022https://architizer.com/projects/modular\u002Dtimber\u002Dhousing/\u0022, \u0022projectName\u0022: \u0022Modular Timber Housing\u0022, \u0022firmNames\u0022: [\u0022Perkins\u0026Will\u0022], \u0022firmSlugs\u0022: [\u0022perkinswill\u0022], \u0022firmIds\u0022: [257], \u0022searchTerms\u0022: [], \u0022projectTypes\u0022: [\u0022Multi Unit Housing\u0022, \u0022Residential\u0022]}, {\u0022globalId\u0022: \u0022media.mediaitem.3952029\u0022, \u0022mediaId\u0022: \u00223952029\u0022, \u0022mediaAttributionId\u0022: \u00224470965\u0022, \u0022url\u0022: \u0022https://architizer\u002Dprod.imgix.net/media/mediadata/uploads/1776887780885PW_HGI_Modular_Timber_Housing_View_03_AS.jpg\u0022, \u0022projectUrl\u0022: \u0022https://architizer.com/projects/modular\u002Dtimber\u002Dhousing/\u0022, \u0022projectName\u0022: \u0022Modular Timber Housing\u0022, \u0022firmNames\u0022: [\u0022Perkins\u0026Will\u0022], \u0022firmSlugs\u0022: [\u0022perkinswill\u0022], \u0022firmIds\u0022: [257], \u0022searchTerms\u0022: [], \u0022projectTypes\u0022: [\u0022Multi Unit Housing\u0022, \u0022Residential\u0022]}, {\u0022globalId\u0022: \u0022media.mediaitem.3952030\u0022, \u0022mediaId\u0022: \u00223952030\u0022, \u0022mediaAttributionId\u0022: \u00224470966\u0022, \u0022url\u0022: \u0022https://architizer\u002Dprod.imgix.net/media/mediadata/uploads/1776887780939PW_HGI_Modular_Timber_Housing_View_04_AS.jpg\u0022, \u0022projectUrl\u0022: \u0022https://architizer.com/projects/modular\u002Dtimber\u002Dhousing/\u0022, \u0022projectName\u0022: \u0022Modular Timber Housing\u0022, \u0022firmNames\u0022: [\u0022Perkins\u0026Will\u0022], \u0022firmSlugs\u0022: [\u0022perkinswill\u0022], \u0022firmIds\u0022: [257], \u0022searchTerms\u0022: [], \u0022projectTypes\u0022: [\u0022Multi Unit Housing\u0022, \u0022Residential\u0022]}, {\u0022globalId\u0022: \u0022media.mediaitem.3952028\u0022, \u0022mediaId\u0022: \u00223952028\u0022, \u0022mediaAttributionId\u0022: \u00224470964\u0022, \u0022url\u0022: \u0022https://architizer\u002Dprod.imgix.net/media/mediadata/uploads/1776887779952PW_HGI_Modular_Timber_Housing_View_02_AS.jpg\u0022, \u0022projectUrl\u0022: \u0022https://architizer.com/projects/modular\u002Dtimber\u002Dhousing/\u0022, \u0022projectName\u0022: \u0022Modular Timber Housing\u0022, \u0022firmNames\u0022: [\u0022Perkins\u0026Will\u0022], \u0022firmSlugs\u0022: [\u0022perkinswill\u0022], \u0022firmIds\u0022: [257], \u0022searchTerms\u0022: [], \u0022projectTypes\u0022: [\u0022Multi Unit Housing\u0022, \u0022Residential\u0022]}, {\u0022globalId\u0022: \u0022media.mediaitem.3952032\u0022, \u0022mediaId\u0022: \u00223952032\u0022, \u0022mediaAttributionId\u0022: \u00224470968\u0022, \u0022url\u0022: \u0022https://architizer\u002Dprod.imgix.net/media/mediadata/uploads/1776887781200PW_HGI_Modular_Timber_Housing_View_06_AS.jpg\u0022, \u0022projectUrl\u0022: \u0022https://architizer.com/projects/modular\u002Dtimber\u002Dhousing/\u0022, \u0022projectName\u0022: \u0022Modular Timber Housing\u0022, \u0022firmNames\u0022: [\u0022Perkins\u0026Will\u0022], \u0022firmSlugs\u0022: [\u0022perkinswill\u0022], \u0022firmIds\u0022: [257], \u0022searchTerms\u0022: [], \u0022projectTypes\u0022: [\u0022Multi Unit Housing\u0022, \u0022Residential\u0022]}, {\u0022globalId\u0022: \u0022media.mediaitem.3952033\u0022, \u0022mediaId\u0022: \u00223952033\u0022, \u0022mediaAttributionId\u0022: \u00224470970\u0022, \u0022url\u0022: \u0022https://architizer\u002Dprod.imgix.net/media/mediadata/uploads/1776887781442PW_HGI_Modular_Timber_Housing_View_07_AS.jpg\u0022, \u0022projectUrl\u0022: \u0022https://architizer.com/projects/modular\u002Dtimber\u002Dhousing/\u0022, \u0022projectName\u0022: \u0022Modular Timber Housing\u0022, \u0022firmNames\u0022: [\u0022Perkins\u0026Will\u0022], \u0022firmSlugs\u0022: [\u0022perkinswill\u0022], \u0022firmIds\u0022: [257], \u0022searchTerms\u0022: [], \u0022projectTypes\u0022: [\u0022Multi Unit Housing\u0022, \u0022Residential\u0022]}, {\u0022globalId\u0022: \u0022media.mediaitem.3952031\u0022, \u0022mediaId\u0022: \u00223952031\u0022, \u0022mediaAttributionId\u0022: \u00224470967\u0022, \u0022url\u0022: \u0022https://architizer\u002Dprod.imgix.net/media/mediadata/uploads/1776887781161PW_HGI_Modular_Timber_Housing_View_05_AS.jpg\u0022, \u0022projectUrl\u0022: \u0022https://architizer.com/projects/modular\u002Dtimber\u002Dhousing/\u0022, \u0022projectName\u0022: \u0022Modular Timber Housing\u0022, \u0022firmNames\u0022: [\u0022Perkins\u0026Will\u0022], \u0022firmSlugs\u0022: [\u0022perkinswill\u0022], \u0022firmIds\u0022: [257], \u0022searchTerms\u0022: [], \u0022projectTypes\u0022: [\u0022Multi Unit Housing\u0022, \u0022Residential\u0022]}, {\u0022globalId\u0022: \u0022media.mediaitem.826068\u0022, \u0022mediaId\u0022: \u0022826068\u0022, \u0022mediaAttributionId\u0022: \u0022747553\u0022, \u0022url\u0022: \u0022https://architizer\u002Dprod.imgix.net/media/1392669909078TH130923_Blackwell_VOLWALK_P1\u002D2064
9101.jpg\u0022, \u0022projectUrl\u0022: \u0022https://architizer.com/projects/vol\u002Dwalker\u002Dhall\u002Dand\u002Dthe\u002Dsteven\u002Dl\u002Danderson\u002Ddesign\u002Dcenter/\u0022, \u0022projectName\u0022: \u0022Vol Walker Hall and the Steven L. Anderson Design Center\u0022, \u0022firmNames\u0022: [\u0022Marlon Blackwell Architects\u0022], \u0022firmSlugs\u0022: [\u0022marlon\u002Dblackwell\u002Darchitect\u0022], \u0022firmIds\u0022: [9028], \u0022searchTerms\u0022: [], \u0022projectTypes\u0022: [\u0022University\u0022, \u0022Educational\u0022]}, {\u0022globalId\u0022: \u0022media.mediaitem.2157510\u0022, \u0022mediaId\u0022: \u00222157510\u0022, \u0022mediaAttributionId\u0022: \u00222544047\u0022, \u0022url\u0022: \u0022https://architizer\u002Dprod.imgix.net/media/mediadata/uploads/152333833476502.jpg\u0022, \u0022projectUrl\u0022: \u0022https://architizer.com/projects/house\u002Dof\u002Dsecret\u002Dgarden/\u0022, \u0022projectName\u0022: \u0022House of Secret Gardens\u0022, \u0022firmNames\u0022: [\u0022SPASM Design Architects\u0022], \u0022firmSlugs\u0022: [\u0022spasm\u002Ddesign\u002Darchitects\u0022], \u0022firmIds\u0022: [15371], \u0022searchTerms\u0022: [], \u0022projectTypes\u0022: [\u0022Private House\u0022, \u0022Residential\u0022]}, {\u0022globalId\u0022: \u0022media.mediaitem.3158069\u0022, \u0022mediaId\u0022: \u00223158069\u0022, \u0022mediaAttributionId\u0022: \u00223629542\u0022, \u0022url\u0022: \u0022https://architizer\u002Dprod.imgix.net/media/mediadata/uploads/1679014260260ANX_ECHO_HOUSE_24.jpg\u0022, \u0022projectUrl\u0022: \u0022https://architizer.com/projects/echo\u002Dhouse\u002D2/\u0022, \u0022projectName\u0022: \u0022Echo House\u0022, \u0022firmNames\u0022: [\u0022Aaron Neubert Architects\u0022], \u0022firmSlugs\u0022: [\u0022aaron\u002Dneubert\u002Darchitects\u0022], \u0022firmIds\u0022: [25134], \u0022searchTerms\u0022: [], \u0022projectTypes\u0022: [\u0022Private House\u0022, \u0022Residential\u0022]}, {\u0022globalId\u0022: \u0022media.mediaitem.1439723\u0022, \u0022mediaId\u0022: \u00221439723\u0022, \u0022mediaAttributionId\u0022: \u00221557343\u0022, \u0022url\u0022: \u0022https://architizer\u002Dprod.imgix.net/media/1459964935458MBAC_WED_JFSP_P19.JPG\u0022, \u0022projectUrl\u0022: \u0022https://architizer.com/projects/john\u002Dfry\u002Dsports\u002Dpark\u002Dpavilion/\u0022, \u0022projectName\u0022: \u0022John Fry Sports Park Pavilion\u0022, \u0022firmNames\u0022: [\u0022the marc boutin architectural collaborative\u0022], \u0022firmSlugs\u0022: [\u0022the\u002Dmarc\u002Dboutin\u002Darchitectural\u002Dcollaborative\u0022], \u0022firmIds\u0022: [64226], \u0022searchTerms\u0022: [], \u0022projectTypes\u0022: [\u0022Hospitality + Sport\u0022, \u0022Sports Center\u0022]}, {\u0022globalId\u0022: \u0022media.mediaitem.867347\u0022, \u0022mediaId\u0022: \u0022867347\u0022, \u0022mediaAttributionId\u0022: \u0022800224\u0022, \u0022url\u0022: \u0022https://architizer\u002Dprod.imgix.net/media/1396143795698DSC_6645.jpg\u0022, \u0022projectUrl\u0022: \u0022https://architizer.com/projects/batin\u002Dhouse/\u0022, \u0022projectName\u0022: \u0022Batin House\u0022, \u0022firmNames\u0022: [\u0022Estudio Galera\u0022], \u0022firmSlugs\u0022: [\u0022estudio\u002Dgalera\u0022], \u0022firmIds\u0022: [40552], \u0022searchTerms\u0022: [], \u0022projectTypes\u0022: [\u0022Private House\u0022, \u0022Residential\u0022]}, {\u0022globalId\u0022: \u0022media.mediaitem.3688415\u0022, \u0022mediaId\u0022: \u00223688415\u0022, \u0022mediaAttributionId\u0022: \u00224191039\u0022, \u0022url\u0022: \u0022https://architizer\u002Dprod.imgix.net/media/mediadata/uploads/174543220810307\u002DLlubertOSF18.jpg\u0022, \u0022projectUrl\u0022: \u0022https://architizer.com/projects/the\u002Dcave\u002Dofifce/\u0022, \u0022projectName\u0022: \u0022The Cave Ofifce\u0022, \u0022firmNames\u0022: [\u0022Senosiain Arquitectos\u0022], \u0022firmSlugs\u0022: [\u0022organic\u002Darchitecture\u0022], \u0022firmIds\u0022: [207437], \u0022searchTerms\u0022: [], \u0022projectTypes\u0022: [\u0022Commercial\u0022, \u0022Office\u0022]}, {\u0022globalId\u0022: \u0022media.mediaitem.156670\u0022, \u0022mediaId\u0022: \u0022156670\u0022, \u0022mediaAttributionId\u0022: \u0022142677\u0022, \u0022url\u0022: \u0022https://architizer\u002Dprod.imgix.net/mediadata/projects/322010/1b9a63d0.jpg\u0022, \u0022projectUrl\u0022: \u0022https://architizer.com/projects/chairama\u002Dspa/\u0022, \u0022projectName\u0022: \u0022CHAIRAMA SPA\u0022, \u0022firmNames\u0022: [\u0022plan:b\u0022, \u0022EL EQUIPO MAZZANTI\u0022], \u0022firmSlugs\u0022: [\u0022planb\u0022, \u0022mazzanti\u002Darquitectos\u0022], \u0022firmIds\u0022: [9959, 19954], \u0022searchTerms\u0022: [], \u0022projectTypes\u0022: [\u0022Commercial\u0022]}, {\u0022globalId\u0022: \u0022media.mediaitem.315799\u0022, \u0022mediaId\u0022: \u0022315799\u0022, \u0022mediaAttributionId\u0022: \u0022268286\u0022, \u0022url\u0022: \u0022https://architizer\u002Dprod.imgix.net/mediadata/projects/352011/b1eb9c39.jpg\u0022, \u0022projectUrl\u0022: \u0022https://architizer.com/projects/norman\u002Dy\u002Dmineta\u002Dsan\u002Djose\u002Dinternational\u002Dairport\u002Dterminal\u002Db/\u0022, \u0022projectName\u0022: \u0022Norman Y. Mineta San Jose International Airport Terminal B\u0022, \u0022firmNames\u0022: [], \u0022firmSlugs\u0022: [], \u0022firmIds\u0022: [], \u0022searchTerms\u0022: [], \u0022projectTypes\u0022: [\u0022Transport + Infrastru
910cture\u0022, \u0022Airport\u0022]}, {\u0022globalId\u0022: \u0022media.mediaitem.173666\u0022, \u0022mediaId\u0022: \u0022173666\u0022, \u0022mediaAttributionId\u0022: \u0022157103\u0022, \u0022url\u0022: \u0022https://architizer\u002Dprod.imgix.net/mediadata/projects/402010/c548b7be.jpg\u0022, \u0022projectUrl\u0022: \u0022https://architizer.com/projects/toni\u002Dstabile\u002Dstudent\u002Dcenter\u002Dgraduate\u002Dschool\u002Dof\u002Djournalism\u002Dcolumbia\u002Duniversity/\u0022, \u0022projectName\u0022: \u0022Toni Stabile Student Center, Columbia University Graduate School of Journalism\u0022, \u0022firmNames\u0022: [\u0022Marble Fairbanks\u0022], \u0022firmSlugs\u0022: [\u0022marble\u002Dfairbanks\u0022], \u0022firmIds\u0022: [962], \u0022searchTerms\u0022: [], \u0022projectTypes\u0022: [\u0022University\u0022, \u0022Educational\u0022]}, {\u0022globalId\u0022: \u0022media.mediaitem.1976914\u0022, \u0022mediaId\u0022: \u00221976914\u0022, \u0022mediaAttributionId\u0022: \u00222248476\u0022, \u0022url\u0022: \u0022https://architizer\u002Dprod.imgix.net/media/mediadata/uploads/1507553625893R_Hjortshoj_Vestre\u002DFjordpark\u002D09.jpg\u0022, \u0022projectUrl\u0022: \u0022https://architizer.com/projects/vestre\u002Dfjord\u002Dpark/\u0022, \u0022projectName\u0022: \u0022Vestre Fjord Park\u0022, \u0022firmNames\u0022: [\u0022ADEPT\u0022], \u0022firmSlugs\u0022: [\u0022adept\u002Darchitects\u0022], \u0022firmIds\u0022: [2732], \u0022searchTerms\u0022: [], \u0022projectTypes\u0022: [\u0022Hospitality + Sport\u0022, \u0022Sports Center\u0022]}, {\u0022globalId\u0022: \u0022media.mediaitem.2685927\u0022, \u0022mediaId\u0022: \u00222685927\u0022, \u0022mediaAttributionId\u0022: \u00223132962\u0022, \u0022url\u0022: \u0022https://architizer\u002Dprod.imgix.net/media/mediadata/uploads/1601940995718V1.8_8_Spacecube_Monash_Healthjpg.jpg\u0022, \u0022projectUrl\u0022: \u0022https://architizer.com/projects/modular\u002Dresus\u002Dfacility\u002Dby\u002Dspacecube/\u0022, \u0022projectName\u0022: \u0022Modular RESUS Facility\u0022, \u0022firmNames\u0022: [\u0022SPACECUBE\u0022], \u0022firmSlugs\u0022: [\u0022space\u002Dcube\u0022], \u0022firmIds\u0022: [136253], \u0022searchTerms\u0022: [], \u0022projectTypes\u0022: [\u0022Government + Health\u0022, \u0022Medical Facility\u0022, \u0022Hospital\u0022]}, {\u0022globalId\u0022: \u0022media.mediaitem.3047901\u0022, \u0022mediaId\u0022: \u00223047901\u0022, \u0022mediaAttributionId\u0022: \u00223512864\u0022, \u0022url\u0022: \u0022https://architizer\u002Dprod.imgix.net/media/mediadata/uploads/1657739027569SJW_17_SM_Sparano__Mooney.jpg\u0022, \u0022projectUrl\u0022: \u0022https://architizer.com/projects/st\u002Djoseph\u002Dthe\u002Dworker\u002Dcatholic\u002Dchurch\u002D1/\u0022, \u0022projectName\u0022: \u0022St. Joseph the Worker Catholic Church\u0022, \u0022firmNames\u0022: [\u0022Sparano + Mooney Architecture\u0022], \u0022firmSlugs\u0022: [\u0022sparano\u002Dmooney\u002Darchitecture\u0022], \u0022firmIds\u0022: [733], \u0022searchTerms\u0022: [], \u0022projectTypes\u0022: [\u0022Cultural\u0022, \u0022Religious\u0022]}, {\u0022globalId\u0022: \u0022media.mediaitem.2858928\u0022, \u0022mediaId\u0022: \u00222858928\u0022, \u0022mediaAttributionId\u0022: \u00223313833\u0022, \u0022url\u0022: \u0022https://architizer\u002Dprod.imgix.net/media/mediadata/uploads/162558907580701_CHANTRE.jpg\u0022, \u0022projectUrl\u0022: \u0022https://architizer.com/projects/chantre/\u0022, \u0022projectName\u0022: \u0022Chantre\u0022, \u0022firmNames\u0022: [\u0022Ventura + Partners\u0022], \u0022firmSlugs\u0022: [\u0022venturaandpartners\u0022], \u0022firmIds\u0022: [116461], \u0022searchTerms\u0022: [], \u0022projectTypes\u0022: [\u0022Private House\u0022, \u0022Residential\u0022]}], \u0022randomSeed\u0022: 8953, \u0022randomSeedsSet\u0022: [251, 8953], \u0022metadata\u0022: {\u0022allImages\u0022: {\u0022endCursor\u0022: \u002213\u0022, \u0022hasNextPage\u0022: true}}, \u0022totalCount\u0022: 392860}";
911window.env = "prod";
912</script>
912
913<div id="app" class="bg-white">
914<div id="image-search-root"></div>
915<footer>
916<div id="Footer" class="adk footer">
917<div class="row collapse">
918<div class="small-12 medium-8 large-6 mb-s columns">
919<div class="row collapse" style="display: flex; justify-content: space-between;">
920<div>
921<h5 class="mb-xxs" style="text-transform: unset; letter-spacing: unset; font-variant: small-caps;"><strong>about</strong></h5>
922<ul class="pr-xxs">
923<li class="fs-s"><a href="/about/" title="About us">About us</a></li>
924<li class="fs-s"><a href="https://enter.architizer.com/" title="A+Awards">A+Awards</a></li>
925<li class="fs-s"><a href="/careers/" title="Careers">Careers</a></li>
926<li class="fs-s"><a href="//support.architizer.com" title="Help Center">Help Center</a></li>
927</ul>
928</div>
929<div class="hide-for-small-only">
930<h5 class="mb-xxs" style="text-transform: unset; letter-spacing: unset; font-variant: small-caps;"><strong>connect</strong></h5>
931<ul class="pr-xxs">
932<li class="fs-s"><a href="//www.facebook.com/Architizer?utm_source=architizer" target="_blank" title="Facebook">
933<svg style="width: 10px; height: 10px;" aria-labelledby="simpleicons-facebook-icon" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title id="simpleicons-facebook-icon">Facebook icon</title><path d="M22.676 0H1.324C.593 0 0 .593 0 1.324v21.352C0 23.408.593 24 1.324 24h11.494v-9.294H9.689v-3.621h3.129V8.41c0-3.099 1.894-4.785 4.659-4.785 1.325 0 2.464.097 2.796.141v3.24h-1.921c-1.5 0-1.792.721-1.792 1.771v2.311h3.584l-.465 3.63H16.56V24h6.115c.733 0 1.325-.592 1.325-1.324V1.324C24 .593 23.408 0 22.676 0"/></svg>
934Facebook</a></li>
935<li class="fs-s"><a href="//twitter.com/Architizer?utm_source=architizer" target="_blank" title="Twitter">
936<svg style="width: 10px; height: 10px;" aria-labelledby="simpleicons-twitter-icon" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title id="simpleicons-twitter-icon">Twitter icon</title><path d="M23.954 4.569c-.885.389-1.83.654-2.825.775 1.014-.611 1.794-1.574 2.163-2.723-.951.555-2.005.959-3.127 1.184-.896-.959-2.173-1.559-3.591-1.559-2.717 0-4.92 2.203-4.92 4.917 0 .39.045.765.127 1.124C7.691 8.094 4.066 6.13 1.64 3.161c-.427.722-.666 1.561-.666 2.475 0 1.71.87 3.213 2.188 4.096-.807-.026-1.566-.248-2.228-.616v.061c0 2.385 1.693 4.374 3.946 4.827-.413.111-.849.171-1.296.171-.314 0-.615-.03-.916-.086.631 1.953 2.445 3.377 4.604 3.417-1.68 1.319-3.809 2.105-6.102 2.105-.39 0-.779-.023-1.17-.067 2.189 1.394 4.768 2.209 7.557 2.209 9.054 0 13.999-7.496 13.999-13.986 0-.209 0-.42-.015-.63.961-.689 1.8-1.56 2.46-2.548l-.047-.02z"/></svg>
937Twitter</a></li>
938<li class="fs-s"><a href="//pinterest.com/architizer/?utm_source=architizer" target="_blank" title="Pinterest">
939<svg style="width: 10px; height: 10px;" aria-labelledby="simpleicons-pinterest-icon" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title id="simpleicons-pinterest-icon">Pinterest icon</title><path d="M12.017 0C5.396 0 .029 5.367.029 11.987c0 5.079 3.158 9.417 7.618 11.162-.105-.949-.199-2.403.041-3.439.219-.937 1.406-5.957 1.406-5.957s-.359-.72-.359-1.781c0-1.663.967-2.911 2.168-2.911 1.024 0 1.518.769 1.518 1.688 0 1.029-.653 2.567-.992 3.992-.285 1.193.6 2.165 1.775 2.165 2.128 0 3.768-2.245 3.768-5.487 0-2.861-2.063-4.869-5.008-4.869-3.41 0-5.409 2.562-5.409 5.199 0 1.033.394 2.143.889 2.741.099.12.112.225.085.345-.09.375-.293 1.199-.334 1.363-.053.225-.172.271-.401.165-1.495-.69-2.433-2.878-2.433-4.646 0-3.776 2.748-7.252 7.92-7.252 4.158 0 7.392 2.967 7.392 6.923 0 4.135-2.607 7.462-6.233 7.462-1.214 0-2.354-.629-2.758-1.379l-.749 2.848c-.269 1.045-1.004 2.352-1.498 3.146 1.123.345 2.306.535 3.55.535 6.607 0 11.985-5.365 11.985-11.987C23.97 5.39 18.592.026 11.985.026L12.017 0z"/></svg>
940Pinterest</a></li>
941<li class="fs-s"><a href="//instagram.com/architizer/?utm_source=architizer" target="_blank" title="Instagram">
942<svg style="width: 10px; height: 10px;" aria-labelledby="simpleicons-instagram-icon" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title id="simpleicons-instagram-icon">Instagram icon</title><path d="M12 0C8.74 0 8.333.015 7.053.072 5.775.132 4.905.333 4.14.63c-.789.306-1.459.717-2.126 1.384S.935 3.35.63 4.14C.333 4.905.131 5.775.072 7.053.012 8.333 0 8.74 0 12s.015 3.667.072 4.947c.06 1.277.261 2.148.558 2.913.306.788.717 1.459 1.384 2.126.667.666 1.336 1.079 2.126 1.384.766.296 1.636.499 2.913.558C8.333 23.988 8.74 24 
94212 24s3.667-.015 4.947-.072c1.277-.06 2.148-.262 2.913-.558.788-.306 1.459-.718 2.126-1.384.666-.667 1.079-1.335 1.384-2.126.296-.765.499-1.636.558-2.913.06-1.28.072-1.687.072-4.947s-.015-3.667-.072-4.947c-.06-1.277-.262-2.149-.558-2.913-.306-.789-.718-1.459-1.384-2.126C21.319 1.347 20.651.935 19.86.63c-.765-.297-1.636-.499-2.913-.558C15.667.012 15.26 0 12 0zm0 2.16c3.203 0 3.585.016 4.85.071 1.17.055 1.805.249 2.227.415.562.217.96.477 1.382.896.419.42.679.819.896 1.381.164.422.36 1.057.413 2.227.057 1.266.07 1.646.07 4.85s-.015 3.585-.074 4.85c-.061 1.17-.256 1.805-.421 2.227-.224.562-.479.96-.899 1.382-.419.419-.824.679-1.38.896-.42.164-1.065.36-2.235.413-1.274.057-1.649.07-4.859.07-3.211 0-3.586-.015-4.859-.074-1.171-.061-1.816-.256-2.236-.421-.569-.224-.96-.479-1.379-.899-.421-.419-.69-.824-.9-1.38-.165-.42-.359-1.065-.42-2.235-.045-1.26-.061-1.649-.061-4.844 0-3.196.016-3.586.061-4.861.061-1.17.255-1.814.42-2.234.21-.57.479-.96.9-1.381.419-.419.81-.689 1.379-.898.42-.166 1.051-.361 2.221-.421 1.275-.045 1.65-.06 4.859-.06l.045.03zm0 3.678c-3.405 0-6.162 2.76-6.162 6.162 0 3.405 2.76 6.162 6.162 6.162 3.405 0 6.162-2.76 6.162-6.162 0-3.405-2.76-6.162-6.162-6.162zM12 16c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4zm7.846-10.405c0 .795-.646 1.44-1.44 1.44-.795 0-1.44-.646-1.44-1.44 0-.794.646-1.439 1.44-1.439.793-.001 1.44.645 1.44 1.439z"/></svg>
943Instagram</a></li>
944</ul>
945</div>
946<div class="">
947<h5 class="mb-xxs" style="text-transform: unset; letter-spacing: unset; font-variant: small-caps;"><strong>join today</strong></h5>
948<ul class="pr-xxs">
949<li class="fs-s"><a href="https://join.architizer.com/architect/" title="Join as an Architect">Join as an Architect</a></li>
950<li class="fs-s"><a href="https://join.architizer.com/consultant/" title="Join as a Consultant">Join as a Consultant</a></li>
951<li class="fs-s"><a href="https://join.architizer.com/media-kit/" title="Advertise on Architizer">Advertise on Architizer</a></li>
952</ul>
953</div>
954<div class="">
955<h5 class="mb-xxs" style="text-transform: unset; letter-spacing: unset; font-variant: small-caps;"><strong>resources</strong></h5>
956<ul class="pr-xxs">
957<li class="fs-s"><a href="https://architecture-jobs.architizer.com" title="Architecture Jobs">Architecture Jobs</a></li>
958<li class="fs-s"><a href="/product-search/" title="Product Search">Product Search</a></li>
959<li class="fs-s"><a href="/brands/" title="Brand Directory">Brand Directory</a></li>
960</ul>
961</div>
962</div>
963</div>
964<div class="small-6 columns show-for-small-only mb-m">
965<div class="row align-left collapse">
966<div class="column"><a href="//www.facebook.com/Architizer?utm_source=architizer" title="Facebook" target="_blank">
967<svg style="width: 24px; height: 24px;" aria-labelledby="simpleicons-facebook-icon" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title id="simpleicons-facebook-icon">Facebook icon</title><path d="M22.676 0H1.324C.593 0 0 .593 0 1.324v21.352C0 23.408.593 24 1.324 24h11.494v-9.294H9.689v-3.621h3.129V8.41c0-3.099 1.894-4.785 4.659-4.785 1.325 0 2.464.097 2.796.141v3.24h-1.921c-1.5 0-1.792.721-1.792 1.771v2.311h3.584l-.465 3.63H16.56V24h6.115c.733 0 1.325-.592 1.325-1.324V1.324C24 .593 23.408 0 22.676 0"/></svg>
968</a></div>
969<div class="column"><a href="//twitter.com/Architizer?utm_source=architizer" title="Twitter" target="_blank">
970<svg style="width: 24px; height: 24px;" aria-labelledby="simpleicons-twitter-icon" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title id="simpleicons-twitter-icon">Twitter icon</title><path d="M23.954 4.569c-.885.389-1.83.654-2.825.775 1.014-.611 1.794-1.574 2.163-2.723-.951.555-2.005.959-3.127 1.184-.896-.959-2.173-1.559-3.591-1.559-2.717 0-4.92 2.203-4.92 4.917 0 .39.045.765.127 1.124C7.691 8.094 4.066 6.13 1.64 3.161c-.427.722-.666 1.561-.666 2.475 0 1.71.87 3.213 2.188 4.096-.807-.026-1.566-.248-2.228-.616v.061c0 2.385 1.693 4.374 3.946 4.827-.413.111-.849.171-1.296.171-.314 0-.615-.03-.916-.086.631 1.953 2.445 3.377 4.604 3.417-1.68 1.319-3.809 2.105-6.102 2.105-.39 0-.779-.023-1.17-.067 2.189 1.394 4.768 2.209 7.557 2.209 9.054 0 13.999-7.496 13.999-13.986 0-.209 0-.42-.015-.63.961-.689 1.8-1.56 2.46-2.548l-.047-.02z"/></svg>
971</a></div>
972<div class="column"><a href="//pinterest.com/architizer/?utm_source=architizer" title="Pinterest" target="_blank">
973<svg style="width: 24px; height: 24px;" aria-labelledby="simpleicons-pinterest-icon" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title id="simpleicons-pinterest-icon">Pinterest icon</title><path d="M12.017 0C5.396 0 .029 5.367.029 11.987c0 5.079 3.158 9.417 7.618 11.162-.105-.949-.199-2.403.041-3.439.219-.937 1.406-5.957 1.406-5.957s-.359-.72-.359-1.781c0-1.663.967-2.911 2.168-2.911 1.024 0 1.518.769 1.518 1.688 0 1.029-.653 2.567-.992 3.992-.285 1.193.6 2.165 1.775 2.165 2.128 0 3.768-2.245 3.768-5.487 0-2.861-2.063-4.869-5.008-4.869-3.41 0-5.409 2.562-5.409 5.199 0 1.033.394 2.143.889 2.741.099.12.112.225.085.345-.09.375-.293 1.199-.334 1.363-.053.225-.172.271-.401.165-1.495-.69-2.433-2.878-2.433-4.646 0-3.776 2.748-7.252 7.92-7.252 4.158 0 7.392 2.967 7.392 6.923 0 4.135-2.607 7.462-6.233 7.462-1.214 0-2.354-.629-2.758-1.379l-.749 2.848c-.269 1.045-1.004 2.352-1.498 3.146 1.123.345 2.306.535 3.55.535 6.607 0 11.985-5.365 11.985-11.987C23.97 5.39 18.592.026 11.985.026L12.017 0z"/></svg>
974</a></div>
975<div class="column"><a href="//instagram.com/architizer/?utm_source=architizer" title="Instagram" target="_blank">
976<svg style="width: 24px; height: 24px;" aria-labelledby="simpleicons-instagram-icon" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title id="simpleicons-instagram-icon">Instagram icon</title><path d="M12 0C8.74 0 8.333.015 7.053.072 5.775.132 4.905.333 4.14.63c-.789.306-1.459.717-2.126 1.384S.935 3.35.63 4.14C.333 4.905.131 5.775.072 7.053.012 8.333 0 8.74 0 12s.015 3.667.072 4.947c.06 1.277.261 2.148.558 2.913.306.788.717 1.459 1.384 2.126.667.666 1.336 1.079 2.126 1.384.766.296 1.636.499 2.913.558C8.333 23.988 8.74 24 
97612 24s3.667-.015 4.947-.072c1.277-.06 2.148-.262 2.913-.558.788-.306 1.459-.718 2.126-1.384.666-.667 1.079-1.335 1.384-2.126.296-.765.499-1.636.558-2.913.06-1.28.072-1.687.072-4.947s-.015-3.667-.072-4.947c-.06-1.277-.262-2.149-.558-2.913-.306-.789-.718-1.459-1.384-2.126C21.319 1.347 20.651.935 19.86.63c-.765-.297-1.636-.499-2.913-.558C15.667.012 15.26 0 12 0zm0 2.16c3.203 0 3.585.016 4.85.071 1.17.055 1.805.249 2.227.415.562.217.96.477 1.382.896.419.42.679.819.896 1.381.164.422.36 1.057.413 2.227.057 1.266.07 1.646.07 4.85s-.015 3.585-.074 4.85c-.061 1.17-.256 1.805-.421 2.227-.224.562-.479.96-.899 1.382-.419.419-.824.679-1.38.896-.42.164-1.065.36-2.235.413-1.274.057-1.649.07-4.859.07-3.211 0-3.586-.015-4.859-.074-1.171-.061-1.816-.256-2.236-.421-.569-.224-.96-.479-1.379-.899-.421-.419-.69-.824-.9-1.38-.165-.42-.359-1.065-.42-2.235-.045-1.26-.061-1.649-.061-4.844 0-3.196.016-3.586.061-4.861.061-1.17.255-1.814.42-2.234.21-.57.479-.96.9-1.381.419-.419.81-.689 1.379-.898.42-.166 1.051-.361 2.221-.421 1.275-.045 1.65-.06 4.859-.06l.045.03zm0 3.678c-3.405 0-6.162 2.76-6.162 6.162 0 3.405 2.76 6.162 6.162 6.162 3.405 0 6.162-2.76 6.162-6.162 0-3.405-2.76-6.162-6.162-6.162zM12 16c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4zm7.846-10.405c0 .795-.646 1.44-1.44 1.44-.795 0-1.44-.646-1.44-1.44 0-.794.646-1.439 1.44-1.439.793-.001 1.44.645 1.44 1.439z"/></svg>
977</a></div>
978</div>
979</div>
980<div class="small-12 medium-4 large-offset-2 columns mb-m">
981<div><a href="/">
982<svg id="architizer-logotype" xmlns="http://www.w3.org/2000/svg" viewBox="0 -4 72 18" style="height: 18px;" title="Architizer">
983<title>Architizer</title>
984<defs><style>.architizer-logo { fill: #fff; }</style></defs>
985<polygon id="letter-a" class="architizer-logo" points="9.63 13.7 5.76 2.18 5.76 2.18 2.38 12.01 7.15 12.01 7.15 13.6 0 13.6 4.87 0.1 6.85 0.1 11.62 13.6 9.63 13.6 9.63 13.7" />
986<path id="letter-r" class="architizer-logo" d="M17.67,5.66c-.2,0-.4-.1-.6-.1A2.93,2.93,0,0,0,14.3,8.74v5H12.61V4.27H14.3V6.06a3,3,0,0,1,2.88-2,.74.74,0,0,1,.5.1Z" transform="translate(0)" />
987<path id="letter-c" class="architizer-logo" d="M22.14,13.9c-2.78,0-4.47-1.89-4.47-5s1.89-5,4.47-5a4.05,4.05,0,0,1,4,2.58l-1.39.7a2.59,2.59,0,0,0-2.58-1.89c-1.69,0-2.78,1.29-2.78,3.57s1.19,3.57,2.78,3.57a2.93,2.93,0,0,0,2.78-1.69l1.29.7A4.22,4.22,0,0,1,22.14,13.9Z" transform="translate(0)" />
988<path id="letter-h" class="architizer-logo" d="M35.15,13.7H33.46V8.24c0-2.09-.79-2.68-2.18-2.68a2.53,2.53,0,0,0-2.48,2.78V13.8H27.11V.2h1.69V5.66a3.29,3.29,0,0,1,3.08-1.59,3,3,0,0,1,2.68,1.19,4.51,4.51,0,0,1,.6,2.58V13.7Z" transform="translate(0)" />
989<g id="letter-i">
990<rect id="letter-i-line" class="architizer-logo" x="36.54" y="4.27" width="1.69" height="9.43" />
991<path id="letter-i-dot" class="architizer-logo" d="M37.43,2.18a1.1,1.1,0,0,1-1.09-1.09,1.09,1.09,0,1,1,2.18,0A1,1,0,0,1,37.43,2.18Z" transform="translate(0)" />
992</g>
993<polygon id="letter-t" class="architizer-logo" points="45.18 5.56 43.09 5.56 43.09 13.6 41.4 13.6 41.4 5.56 39.62 5.56 39.62 4.17 41.4 4.17 41.4 1.19 43.09 1.19 43.09 4.17 45.18 4.17 45.18 5.56" />
994<g id="letter-i-2" data-name="letter-i">
995<rect id="letter-i-line-2" data-name="letter-i-line" class="architizer-logo" x="46.47" y="4.27" width="1.69" height="9.43" />
996<circle id="letter-i-dot-2" data-name="letter-i-dot" class="architizer-logo" cx="47.36" cy="1.09" r="1.09" />
997</g>
998<polygon id="letter-z" class="architizer-logo" points="56.89 13.7 49.45 13.7 49.45 12.41 54.81 5.66 49.74 5.66 49.74 4.27 56.89 4.27 56.89 5.56 51.43 12.41 56.89 12.41 56.89 13.7 56.89 13.7" />
999<path id="letter-e" class="architizer-logo" d="M66.13,9.13c0-2.78-1.39-5-4.27-5-2.58,0-4.47,2-4.47,4.87,0,3.08,1.79,5,4.47,5A4.79,4.79,0,0,0,66,11.82l-1.19-.89a3.13,3.13,0,0,1-2.78,1.59,2.91,2.91,0,0,1-3-3.18h7ZM59.18,8A2.75,2.75,0,0,1,62,5.36c1.39,0,2.28,1,2.48,2.68Z" transform="translate(0)" />
1000<path id="letter-r-2" data-name="letter-r" class="architizer-logo" d="M72.48,5.66c-.2,0-.4-.1-.6-.1a2.93,2.93,0,0,0-2.78,3.18v5H67.42V4.27h1.69V6.06a3,3,0,0,1,2.88-2,.74.74,0,0,1,.5.1Z" transform="translate(0)" />
1001</svg>
1002</a></div>
1003<span class="fs-s">Architizer is how architects find building products.</span>
1004<div class="hide-for-small-only mt-xs"><a href="//www.digital.nyc/startup-collection/we-are-made-ny?utm_source=architizer" target="_blank">
1005<svg style="width: 40px; height: 40px;" aria-labelledby="made-in-ny-icon" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1133.9 952.5"><title id="made-in-ny-icon">Made in New York icon</title>
1006<path d="M1015.1,477.4c0.2,249-203.7,453.5-457.6,449C315.6,922,116.1,724.5,117,475.2c0.9-248.9,204.4-450.2,455-447
1007C816.7,31.4,1015.1,230.6,1015.1,477.4z M566.4,61.3C337.8,61,151.2,245.8,150.1,475.1c-1.1,23
10071.2,184.2,414.1,407.8,418.2
1008c233.3,4.3,421.3-182.5,424.1-410.5C984.9,249.6,796.5,61.3,566.4,61.3z"/>
1009<path d="M530.5,682.8c0-74.7,0-149.5,0-224.7c14.3,0,28.2,0,42.6,0c0,98.9,0,197.9,0,297.5c-9.2,0-33.5,0.2-42.4,0.2
1010c0,0-3.2-3.5-10-12.3c-54.7-70.7-109.9-141-165-211.4c-0.7-0.9-1.4-1.6-3.1-3.5c0,76.3,0,151.3,0,226.6c-14.5,0-28.4,0-42.6,0
1011c0-99.1,0-198,0-297.6c5.8,0,11.6,0,17.4,0c6.8,0,18.8,0.1,25.6-0.1c0,0,0.4,0.8,2.5,3.5c27.9,35.9,55.9,71.6,83.9,107.4
1012c29.2,37.4,58.4,74.7,87.7,112.1c0.7,0.9,1.5,1.7,2.3,2.5C529.7,683.1,530.1,683,530.5,682.8z"/>
1013<path d="M902.1,457.7c-9.5,13-18.2,25-26.9,36.9c-31.5,43.1-63,86.2-94.4,129.5c-1.6,2.2-2.6,5.4-2.6,8.1
1014c-0.2,39.1-0.1,78.3-0.1,117.4c0,1.8,0,3.6,0,5.7c-14.4,0-28.3,0-42.9,0c0-2.1,0-4,0-6c0-39,0.1-78-0.1-116.9c0-3.1-1.2-6.6-2.9-9.1
1015c-37.9-53.7-75.9-107.3-113.9-160.9c-0.9-1.3-1.7-2.7-3.1-4.8c8.9,0,16.8,0,24.8,0c7.3,0,14.7,0.2,22-0.1c3.6-0.1,5.7,1.1,7.7,4
1016c28.3,39.7,56.7,79.3,85.1,119c0.8,1.2,1.7,2.3,2.9,3.9c8.2-11.6,16.2-22.8,24.2-34.1c21.1-29.7,42.1-59.5,63.3-89.1
1017c1.1-1.5,2.9-3.4,4.4-3.4C866.5,457.6,883.7,457.7,902.1,457.7z"/>
1018<path d="M442.4,239.5c-5,3.4-9.4,6.4-14.3,9.8c-9.9-14.4-19.8-28.7-29.6-43.1c-0.4,0.2-0.9,0.3-1.3,0.5c0,16.4,0,32.8,0,50.1
1019c-16.4-6.2-32-12.1-47.5-18.1c-0.3,0.3-0.6,0.5-0.9,0.8c9.8,14.4,19.6,28.8,29.7,43.6c-4.7,3.3-9.2,6.4-14.2,9.8
1020c-16.2-23.6-32.2-47-48.4-70.7c4.4-3.1,8.3-6.2,12.6-8.6c1.4-0.8,3.8-0.4,5.5,0.3c12.8,4.7,25.5,9.6,38.3,14.4c2,0.8,4,1.4,7.4,2.5
1021c0-8.5,0-16.4,0-24.3c0-7.8,0.3-15.7,0.1-23.5c-0.1-3.4,0.9-5.6,3.9-7.3c3.4-2,6.6-4.4,10.4-7C410.1,192.3,426.1,215.7,442.4,239.5z
1022"/>
1023<path d="M592,212.8c6.8-28.1,13.4-55.5,20.2-83.7c18.4,4.9,36.4,9.5,54.3,14.5c3.6,1,6.9,3.3,10,5.5c14.4,10.7,17.2,25.4,13.2,41.9
1024c-6.4,26.9-26.4,38.9-53.3,32.5C621.8,220,607.3,216.5,592,212.8z M612.8,200.5c12.6,2.5,24.7,5.7,36.9,7c9.9,1.1,17-4.8,21-13.9
1025c1.4-3.3,2.2-7,2.8-10.6c1.6-9.9-2-18.8-11.2-22.3c-12-4.6-24.7-7.3-37.3-10.9C620.8,167.2,616.9,183.3,612.8,200.5z"/>
1026<path d="M558.9,300.5c5.1,0,11.5-0.1,16.7,0c0,0,0.9,1.5,2.1,2.8c13.1,16,26,32.1,39,48.1c1.2,1.5,1.7,2.2,4.9,5.1
1027c0-18,0-37.5,0-55.7c5.9,0,11.2,0,16.8,0c0,27.7,0,55.5,0,83.8c-5,0-11.9,0.1-16,0c0,0-2.4-2.3-3.7-3.8
1028c-13.2-16.1-26.3-32.3-39.4-48.5c-0.9-1.1-1.9-2.1-3.7-4.2c0,19.5,0,37.7,0,56.2c-5.8,0-11.1,0-16.7,0
1029C558.9,356.4,558.9,328.7,558.9,300.5z"/>
1030<path d="M778.7,279.5c-3.5,4.9-6.7,9.4-10,14.1c-21.4-15.1-42.4-29.9-63.8-45.1c16.5-23.4,32.8-46.5,49.5-70.1
1031c20.7,14.6,41.2,29.1,62.2,43.9c-3.4,4.9-6.6,9.4-10,14.2c-16.1-11.3-31.8-22.4-48-33.8c-3.1,4.3-5.9,8.1-8.9,12.4
1032c8.4,6,16.7,11.9,25.3,18c-3.3,4.7-6.5,9.2-10,14.1c-8.6-6-16.7-11.7-25.3-17.8c-3.5,4.9-6.8,9.5-10.6,14.8
1033C745.6,256,761.9,267.6,778.7,279.5z"/>
1034<path d="M482.7,223.4c0,0-12.9,4.5-19.8,6.3c5.9-21.1,11.6-41.3,17.3-61.6c2.4-8.6,5.1-17.2,7.2-25.9c0.8-3.3,1.1-4.3,1.1-4.3
1035c3.9-0.6,19.3-3.4,23.1-4.3c0,0,0.8,1.6,3.9,5.9c16,22.3,32.3,44.4,48.6,66.5c1.1,1.4,2,3,3.4,5.1c-6.6,0.8-12.8,1.2-19.5,1.9
1036l-10.9-15.2c0,0-1.6,0.4-15.2,2.8c-8.2,1.5-23.9,4.3-34.2,6.4 M503.1,152.6c-3.6,12.5-6.8,23.8-10.2,35.9c11.1-2,21.3-3.8,32.2-5.8
1037C517.7,172.5,510.8,163.1,503.1,152.6z"/>
1038<path d="M498.2,384.3c0-27.8,0-55.4,0-83.4c5.3,0,10.6,0,16.3,0c0,27.8,0,55.5,0,83.4C509,384.3,503.8,384.3,498.2,384.3z"/>
1039</svg>
1040</a></div>
1041</div>
1042</div>
1043<div class="row collapse">
1044<div class="columns">
1045<span class="fs-s">Copyright &copy; 2026 Architizer, Inc. All rights reserved.
1046<a class="nowrap js-use-pushstate" target="_self" href="/privacy-policy/">Privacy.</a>
1047<a class="nowrap js-use-pushstate" target="_self" href="/terms-of-use/">Terms of Use.</a>
1048<a class="nowrap js-use-pushstate" target="_self" href="/cookie-policy/">Cookie Policy.</a>
1049<a class="nowrap" target="_blank" title="Do Not Sell or Share my Personal Information" href="/do-not-sell-my-personal-information/">Do Not Sell or Share my Personal Information.</a>
1050<a class="nowrap js-privacy-choices" href="#" role="button">Your Privacy Choices.</a>
1051<a class="nowrap js-use-pushstate" target="_self" href="/copyright/">Copyright</a>
1052</span>
1053</div>
1054</div>
1055</div>
1056<script>
1057document.addEventListener('click', function (event) {
1058var trigger = event.target.closest('.js-privacy-choices');
1059if (!trigger) {
1060return;
1061}
1062event.preventDefault();
1063if (window.Osano && window.Osano.cm) {
1064window.Osano.cm.showDrawer();
1065}
1066});
1067</script>
1067
1068</footer>
1069</div>
1070<style type="text/css">
1071.adk .card:hover .overlay {
1072opacity: .4;
1073}
1074</style>
1075<script src="https://cdn.ravenjs.com/3.22.1/raven.min.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1075
1075
1076<script type="text/javascript">
1077// Ignore list based off: https://gist.github.com/1878283
1078var ravenOptions = {
1079ignoreErrors: [
1080'JSON Parse error: Unexpected identifier "rdy"',
1081'setTimeout is not a function. (In \'setTimeout(function(){a();c=null},b)\', \'setTimeout\' is undefined)',
1082'Cannot read property \'document\' of null',
1083'$ is not defined',
1084'Can\'t find variable: twttr',
1085'ReferenceError: twttr is not defined',
1086'Can\'t find variable: $'
1087],
1088ignoreUrls: [
1089// Facebook flakiness
1090/graph\.facebook\.com/i,
1091// Facebook blocked
1092/connect\.facebook\.net\/en_US\/all\.js/i,
1093// Chrome extensions
1094/extensions\//i,
1095/^chrome:\/\//i,
1096// Architizer
1097/s\.yimg\.com/i,
1098/((cdn|www)\.)?adpushup\.com/i,
1099/d\.cp\.yahoo\.com/i,
1100/s0\.2mdn\.net/i,
1101/cdn\.ampproject\.org/i,
1102/tru\.am/i,
1103/pagead2.googlesyndication.com/i,
1104/cdn.flashtalking.com/i,
1105/moatads.com/i
1106]
1107};
1108Raven.config('https://[email protected]/11187', ravenOptions).install();
1109</script>
vendor: 1 bytes, line 1109
1109
1110<script>
1111$(document).ready(function() {
1112if ($(document).foundation) {
1113$(document).foundation();
1114}
1115});
1116</script>
1116
1117<input type="hidden" name="csrfmiddlewaretoken" value="d9AGBfTEHa0Sd9Fqk7d6Fq9kXKcraZEHA8xOqKUBAPORewUqth3P1rphW3GSveBk">
1118<script>
1119window.USER_PROGRESSES = JSON.parse("{\u0022PROFESSIONAL\u0022: \u0022PROFESSIONAL\u0022, \u0022PENDING_PROFESSIONAL\u0022: \u0022PENDING_PROFESSIONAL\u0022, \u0022NON_PROFESSIONAL\u0022: \u0022NON_PROFESSIONAL\u0022, \u0022GENERIC\u0022: \u0022GENERIC\u0022, \u0022NOT_VERIFIED\u0022: \u0022NOT_VERIFIED\u0022}");
1120window.SINGULAR_TOKEN = '09242026-1438-407f-817d-3c9030178bee';
1121</script>
1121
1122<!-- Segment tracking snippet -->
1123<script type="text/javascript">
1124!function(){
1125var analytics=window.analytics=window.analytics||[];if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{analytics.invoked=!0;analytics.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","debug","page","once","off","on"];analytics.factory=function(t){return function(){var e=Array.prototype.slice.call(arguments);e.unshift(t);analytics.push(e);return analytics}};for(var t=0;t<analytics.methods.length;t++){var e=analytics.methods[t];analytics[e]=analytics.factory(e)}analytics.load=function(t){var e=document.createElement("script");e.type="text/javascript";e.async=!0;e.src=("https:"===document.location.protocol?"https://":"http://")+"cdn.segment.com/analytics.js/v1/"+t+"/analytics.min.js";var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(e,n)};analytics.SNIPPET_VERSION="4.0.0";
1126window.SEGMENTKEY="rkHX5v2N0jRWh7aRlPl6M2WbePRhSaLw";
1127window.analytics.load("rkHX5v2N0jRWh7aRlPl6M2WbePRhSaLw");
1128window.globalSegmentOptions = {
1129anonymousId: '09242026-1438-407f-817d-3c9030178bee',
1130userId: null,
1131context: {
1132ip: '0.0.0.0',
1133},
1134integrations: {}
1135};
1136try {
1137localStorage.setItem('ajs_user_id', null);
1138var expires = new Date(new Date().setFullYear(new Date().getFullYear() + 1)).toUTCString();
1139var domain = (location.host[0] === '.' ? '' : '.') + location.host;
1140document.cookie = 'ajs_user_id=null;expires=' + expires + ';domain=' + domain + ';path=/';
1141} catch(_) {}
1142window.analytics.page({
1143'user_type': '',
1144'is_using_adblocker': window.isUsingAdb
1145}, window.globalSegmentOptions);
1146}}();
1147</script>
vendor: 1 bytes, line 1147
1147
1148<script src='//static-web-prod.arc.ht/js/dist/commons.bundle.1442134e5636.js'></script>
vendor: 1 bytes, line 1148
1148
1149<script>
1150window.UNIVERSAL_MODAL = JSON.parse("{\u0022EVENT_NAME\u0022: \u0022UNIVERSAL_MODAL_EVENT\u0022, \u0022ROOT\u0022: \u0022universal\u002Dmodal\u0022, \u0022OPEN\u0022: \u0022OPEN\u0022, \u0022CLOSE\u0022: \u0022CLOSE\u0022, \u0022TYPE\u0022: {\u0022MEDIA_ITEM\u0022: \u0022MEDIA_ITEM\u0022, \u0022BRAND_PHOTO\u0022: \u0022BRAND_PHOTO\u0022, \u0022ADD_TO_COLLECTION\u0022: \u0022ADD_TO_COLLECTION\u0022, \u0022COLLECTIONS\u0022: \u0022COLLECTIONS\u0022, \u0022MEDIA_CREDIT\u0022: \u0022MEDIA_CREDIT\u0022, \u0022BRAND_MESSAGE\u0022: \u0022BRAND_MESSAGE\u0022, \u0022NOT_FOUND\u0022: \u0022NOT_FOUND\u0022, \u0022GENERIC_MESSAGE\u0022: \u0022GENERIC_MESSAGE\u0022}}");
1151window.userId = parseInt("None", 10);
1152window.isSuperUser = "False";
1153</script>
1153
1154<span id="universal-modal" class="adk"></span>
1155<script src='//static-web-prod.arc.ht/js/dist/UniversalModalDispatcher.bundle.2ef53c52dc15.js'></script>
vendor: 1 bytes, line 1155
1155
1156<script src='//static-web-prod.arc.ht/js/dist/UniversalModal.bundle.32c0015552f2.js'></script>
vendor: 1 bytes, line 1156
1156
1157<script>
1158(function () {
1159var trackApiUrl = '/api/v3.0/track-image-action';
1160var ACTIONS_CODES = {
1161'find-similar': 'FIND_SIMILAR',
1162'add-to-collection': 'ADD_TO_COLLECTION',
1163};
1164function sendRequest(action, data) {
1165if (data.id) {
1166var xhr = new XMLHttpRequest();
1167xhr.open('GET', trackApiUrl + '?action=' + action + '&mia=' + data.id);
1168xhr.send();
1169}
1170}
1171window.imageActionsTracker = function (action, data) {
1172if (ACTIONS_CODES[action]) {
1173sendRequest(ACTIONS_CODES[action], data);
1174}
1175}
1176})();
1177</script>
vendor: 1 bytes, line 1177
1177
1178<script src='//static-web-prod.arc.ht/js/dist/ImageSearch.bundle.d1f16308ae2d.js'></script>
vendor: 1 bytes, line 1178
1178
1179<script src="//tru.am/scripts/custom/architizer.js"></script>
1179
1180</body>
1181</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.