From 3bbbacf66cf29977116fe3bf74f1ee6d1973d74d Mon Sep 17 00:00:00 2001 From: Ingo Fahrentholz Date: Mon, 5 Feb 2024 21:45:04 +0100 Subject: [PATCH] WIP --- .../building-storefront.GI5O3UY2.js | 5 + .../building-storefront.GI5O3UY2.js.map | 1 + .../chat-bubble-left-right.RdWapjj4.js | 5 + .../chat-bubble-left-right.RdWapjj4.js.map | 1 + dist/__chunks__/cpu-chip.e4997-9R.js | 5 + dist/__chunks__/cpu-chip.e4997-9R.js.map | 1 + .../cursor-arrow-ripple.5f05fUdo.js | 5 + .../cursor-arrow-ripple.5f05fUdo.js.map | 1 + dist/__chunks__/custom-element.qyLKk-84.js | 6 - .../__chunks__/custom-element.qyLKk-84.js.map | 1 - dist/__chunks__/hamburger.B4eeRdlK.js | 5 + dist/__chunks__/hamburger.B4eeRdlK.js.map | 1 + dist/__chunks__/preload-helper.hlDPvxQM.js | 2 + .../__chunks__/preload-helper.hlDPvxQM.js.map | 1 + dist/__chunks__/property.0daVBkvz.js | 10 + dist/__chunks__/property.0daVBkvz.js.map | 1 + dist/__chunks__/property.y-6B4rf9.js | 6 - dist/__chunks__/property.y-6B4rf9.js.map | 1 - ...ml.tmuruS4o.js => unsafe-html.dKgBHtsI.js} | 6 +- ...S4o.js.map => unsafe-html.dKgBHtsI.js.map} | 2 +- dist/banner/banner.js | 2 +- dist/counter/counter.js | 2 +- dist/counter/counter.js.map | 2 +- dist/features/features.js | 28 +- dist/features/features.js.map | 2 +- dist/main/main.js | 8 +- dist/main/main.js.map | 2 +- dist/styles/styles.css | 2 +- src/blocks/features/features.ts | 2 +- src/components/icon.ts | 49 +-- src/components/sidebar/sidebar.ts | 8 +- src/icons/README.md | 3 - src/icons/angle-down.svg | 2 - src/icons/angle-left.svg | 2 - src/icons/angle-right.svg | 2 - src/icons/angle-small-down.svg | 2 - src/icons/angle-small-left.svg | 2 - src/icons/angle-small-right.svg | 2 - src/icons/angle-up.svg | 2 - src/icons/bolt.svg | 2 - src/icons/building-storefront.svg | 3 + src/icons/chat-bubble-left-right.svg | 3 + src/icons/check.svg | 2 - src/icons/clip.svg | 2 - src/icons/clock.svg | 2 - src/icons/cpu-chip.svg | 3 + src/icons/cross.svg | 2 - src/icons/cursor-arrow-ripple.svg | 3 + src/icons/download.svg | 2 - src/icons/envelope.svg | 2 - src/icons/eye-crossed.svg | 2 - src/icons/eye.svg | 2 - src/icons/globe.svg | 2 - src/icons/hamburger.svg | 3 + src/icons/heart.svg | 2 - src/icons/home.svg | 2 - src/icons/menu-burger.svg | 2 - src/icons/paper-plane.svg | 2 - src/icons/plus.svg | 2 - src/icons/rocket-lunch.svg | 2 - src/icons/search.svg | 2 - src/icons/share.svg | 2 - src/icons/social-network.svg | 2 - src/icons/trash.svg | 2 - src/icons/user.svg | 2 - src/styles/sass/components/_features.scss | 303 +++++++++--------- src/styles/sass/layout/_sidebar.scss | 53 ++- tsconfig.json | 1 + types/components/icon.d.ts | 11 +- types/components/sidebar/sidebar.d.ts | 2 +- 70 files changed, 318 insertions(+), 299 deletions(-) create mode 100644 dist/__chunks__/building-storefront.GI5O3UY2.js create mode 100644 dist/__chunks__/building-storefront.GI5O3UY2.js.map create mode 100644 dist/__chunks__/chat-bubble-left-right.RdWapjj4.js create mode 100644 dist/__chunks__/chat-bubble-left-right.RdWapjj4.js.map create mode 100644 dist/__chunks__/cpu-chip.e4997-9R.js create mode 100644 dist/__chunks__/cpu-chip.e4997-9R.js.map create mode 100644 dist/__chunks__/cursor-arrow-ripple.5f05fUdo.js create mode 100644 dist/__chunks__/cursor-arrow-ripple.5f05fUdo.js.map delete mode 100644 dist/__chunks__/custom-element.qyLKk-84.js delete mode 100644 dist/__chunks__/custom-element.qyLKk-84.js.map create mode 100644 dist/__chunks__/hamburger.B4eeRdlK.js create mode 100644 dist/__chunks__/hamburger.B4eeRdlK.js.map create mode 100644 dist/__chunks__/preload-helper.hlDPvxQM.js create mode 100644 dist/__chunks__/preload-helper.hlDPvxQM.js.map create mode 100644 dist/__chunks__/property.0daVBkvz.js create mode 100644 dist/__chunks__/property.0daVBkvz.js.map delete mode 100644 dist/__chunks__/property.y-6B4rf9.js delete mode 100644 dist/__chunks__/property.y-6B4rf9.js.map rename dist/__chunks__/{unsafe-html.tmuruS4o.js => unsafe-html.dKgBHtsI.js} (68%) rename dist/__chunks__/{unsafe-html.tmuruS4o.js.map => unsafe-html.dKgBHtsI.js.map} (92%) delete mode 100644 src/icons/README.md delete mode 100644 src/icons/angle-down.svg delete mode 100644 src/icons/angle-left.svg delete mode 100644 src/icons/angle-right.svg delete mode 100644 src/icons/angle-small-down.svg delete mode 100644 src/icons/angle-small-left.svg delete mode 100644 src/icons/angle-small-right.svg delete mode 100644 src/icons/angle-up.svg delete mode 100644 src/icons/bolt.svg create mode 100644 src/icons/building-storefront.svg create mode 100644 src/icons/chat-bubble-left-right.svg delete mode 100644 src/icons/check.svg delete mode 100644 src/icons/clip.svg delete mode 100644 src/icons/clock.svg create mode 100644 src/icons/cpu-chip.svg delete mode 100644 src/icons/cross.svg create mode 100644 src/icons/cursor-arrow-ripple.svg delete mode 100644 src/icons/download.svg delete mode 100644 src/icons/envelope.svg delete mode 100644 src/icons/eye-crossed.svg delete mode 100644 src/icons/eye.svg delete mode 100644 src/icons/globe.svg create mode 100644 src/icons/hamburger.svg delete mode 100644 src/icons/heart.svg delete mode 100644 src/icons/home.svg delete mode 100644 src/icons/menu-burger.svg delete mode 100644 src/icons/paper-plane.svg delete mode 100644 src/icons/plus.svg delete mode 100644 src/icons/rocket-lunch.svg delete mode 100644 src/icons/search.svg delete mode 100644 src/icons/share.svg delete mode 100644 src/icons/social-network.svg delete mode 100644 src/icons/trash.svg delete mode 100644 src/icons/user.svg diff --git a/dist/__chunks__/building-storefront.GI5O3UY2.js b/dist/__chunks__/building-storefront.GI5O3UY2.js new file mode 100644 index 00000000..d5d7cfde --- /dev/null +++ b/dist/__chunks__/building-storefront.GI5O3UY2.js @@ -0,0 +1,5 @@ +const o=` + + +`;export{o as default}; +//# sourceMappingURL=building-storefront.GI5O3UY2.js.map diff --git a/dist/__chunks__/building-storefront.GI5O3UY2.js.map b/dist/__chunks__/building-storefront.GI5O3UY2.js.map new file mode 100644 index 00000000..0f5b4b92 --- /dev/null +++ b/dist/__chunks__/building-storefront.GI5O3UY2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"building-storefront.GI5O3UY2.js","sources":["../../src/icons/building-storefront.svg?raw"],"sourcesContent":["export default \"\\n \\n\\n\""],"names":["buildingStorefront"],"mappings":"AAAA,MAAeA,EAAA;AAAA;AAAA;"} \ No newline at end of file diff --git a/dist/__chunks__/chat-bubble-left-right.RdWapjj4.js b/dist/__chunks__/chat-bubble-left-right.RdWapjj4.js new file mode 100644 index 00000000..6a1e73ee --- /dev/null +++ b/dist/__chunks__/chat-bubble-left-right.RdWapjj4.js @@ -0,0 +1,5 @@ +const t=` + + +`;export{t as default}; +//# sourceMappingURL=chat-bubble-left-right.RdWapjj4.js.map diff --git a/dist/__chunks__/chat-bubble-left-right.RdWapjj4.js.map b/dist/__chunks__/chat-bubble-left-right.RdWapjj4.js.map new file mode 100644 index 00000000..be6a02ad --- /dev/null +++ b/dist/__chunks__/chat-bubble-left-right.RdWapjj4.js.map @@ -0,0 +1 @@ +{"version":3,"file":"chat-bubble-left-right.RdWapjj4.js","sources":["../../src/icons/chat-bubble-left-right.svg?raw"],"sourcesContent":["export default \"\\n \\n\\n\""],"names":["chatBubbleLeftRight"],"mappings":"AAAA,MAAeA,EAAA;AAAA;AAAA;"} \ No newline at end of file diff --git a/dist/__chunks__/cpu-chip.e4997-9R.js b/dist/__chunks__/cpu-chip.e4997-9R.js new file mode 100644 index 00000000..e0b20088 --- /dev/null +++ b/dist/__chunks__/cpu-chip.e4997-9R.js @@ -0,0 +1,5 @@ +const o=` + + +`;export{o as default}; +//# sourceMappingURL=cpu-chip.e4997-9R.js.map diff --git a/dist/__chunks__/cpu-chip.e4997-9R.js.map b/dist/__chunks__/cpu-chip.e4997-9R.js.map new file mode 100644 index 00000000..795fddb8 --- /dev/null +++ b/dist/__chunks__/cpu-chip.e4997-9R.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cpu-chip.e4997-9R.js","sources":["../../src/icons/cpu-chip.svg?raw"],"sourcesContent":["export default \"\\n \\n\\n\""],"names":["cpuChip"],"mappings":"AAAA,MAAeA,EAAA;AAAA;AAAA;"} \ No newline at end of file diff --git a/dist/__chunks__/cursor-arrow-ripple.5f05fUdo.js b/dist/__chunks__/cursor-arrow-ripple.5f05fUdo.js new file mode 100644 index 00000000..7b03e8af --- /dev/null +++ b/dist/__chunks__/cursor-arrow-ripple.5f05fUdo.js @@ -0,0 +1,5 @@ +const o=` + + +`;export{o as default}; +//# sourceMappingURL=cursor-arrow-ripple.5f05fUdo.js.map diff --git a/dist/__chunks__/cursor-arrow-ripple.5f05fUdo.js.map b/dist/__chunks__/cursor-arrow-ripple.5f05fUdo.js.map new file mode 100644 index 00000000..02597696 --- /dev/null +++ b/dist/__chunks__/cursor-arrow-ripple.5f05fUdo.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cursor-arrow-ripple.5f05fUdo.js","sources":["../../src/icons/cursor-arrow-ripple.svg?raw"],"sourcesContent":["export default \"\\n \\n\\n\""],"names":["cursorArrowRipple"],"mappings":"AAAA,MAAeA,EAAA;AAAA;AAAA;"} \ No newline at end of file diff --git a/dist/__chunks__/custom-element.qyLKk-84.js b/dist/__chunks__/custom-element.qyLKk-84.js deleted file mode 100644 index a6cd46b8..00000000 --- a/dist/__chunks__/custom-element.qyLKk-84.js +++ /dev/null @@ -1,6 +0,0 @@ -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const n=e=>(t,i)=>{i!==void 0?i.addInitializer(()=>{customElements.define(e,t)}):customElements.define(e,t)};export{n as t}; -//# sourceMappingURL=custom-element.qyLKk-84.js.map diff --git a/dist/__chunks__/custom-element.qyLKk-84.js.map b/dist/__chunks__/custom-element.qyLKk-84.js.map deleted file mode 100644 index 87cee003..00000000 --- a/dist/__chunks__/custom-element.qyLKk-84.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"custom-element.qyLKk-84.js","sources":["../../node_modules/@lit/reactive-element/decorators/custom-element.js"],"sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=t=>(e,o)=>{void 0!==o?o.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)};export{t as customElement};\n//# sourceMappingURL=custom-element.js.map\n"],"names":["t","e","o"],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA,GAKK,MAACA,EAAEA,GAAG,CAACC,EAAEC,IAAI,CAAUA,IAAT,OAAWA,EAAE,eAAgB,IAAI,CAAC,eAAe,OAAOF,EAAEC,CAAC,CAAC,CAAG,EAAC,eAAe,OAAOD,EAAEC,CAAC,CAAC","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/dist/__chunks__/hamburger.B4eeRdlK.js b/dist/__chunks__/hamburger.B4eeRdlK.js new file mode 100644 index 00000000..260d801b --- /dev/null +++ b/dist/__chunks__/hamburger.B4eeRdlK.js @@ -0,0 +1,5 @@ +const o=` + + +`;export{o as default}; +//# sourceMappingURL=hamburger.B4eeRdlK.js.map diff --git a/dist/__chunks__/hamburger.B4eeRdlK.js.map b/dist/__chunks__/hamburger.B4eeRdlK.js.map new file mode 100644 index 00000000..cceea7f5 --- /dev/null +++ b/dist/__chunks__/hamburger.B4eeRdlK.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hamburger.B4eeRdlK.js","sources":["../../src/icons/hamburger.svg?raw"],"sourcesContent":["export default \"\\n \\n\\n\""],"names":["hamburger"],"mappings":"AAAA,MAAeA,EAAA;AAAA;AAAA;"} \ No newline at end of file diff --git a/dist/__chunks__/preload-helper.hlDPvxQM.js b/dist/__chunks__/preload-helper.hlDPvxQM.js new file mode 100644 index 00000000..b01b71da --- /dev/null +++ b/dist/__chunks__/preload-helper.hlDPvxQM.js @@ -0,0 +1,2 @@ +const d="modulepreload",m=function(i){return"/"+i},c={},E=function(u,l,f){let a=Promise.resolve();if(l&&l.length>0){const n=document.getElementsByTagName("link");a=Promise.all(l.map(e=>{if(e=m(e),e in c)return;c[e]=!0;const r=e.endsWith(".css"),h=r?'[rel="stylesheet"]':"";if(!!f)for(let s=n.length-1;s>=0;s--){const o=n[s];if(o.href===e&&(!r||o.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${e}"]${h}`))return;const t=document.createElement("link");if(t.rel=r?"stylesheet":d,r||(t.as="script",t.crossOrigin=""),t.href=e,document.head.appendChild(t),r)return new Promise((s,o)=>{t.addEventListener("load",s),t.addEventListener("error",()=>o(new Error(`Unable to preload CSS for ${e}`)))})}))}return a.then(()=>u()).catch(n=>{const e=new Event("vite:preloadError",{cancelable:!0});if(e.payload=n,window.dispatchEvent(e),!e.defaultPrevented)throw n})};export{E as _}; +//# sourceMappingURL=preload-helper.hlDPvxQM.js.map diff --git a/dist/__chunks__/preload-helper.hlDPvxQM.js.map b/dist/__chunks__/preload-helper.hlDPvxQM.js.map new file mode 100644 index 00000000..8b8edf93 --- /dev/null +++ b/dist/__chunks__/preload-helper.hlDPvxQM.js.map @@ -0,0 +1 @@ +{"version":3,"file":"preload-helper.hlDPvxQM.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/dist/__chunks__/property.0daVBkvz.js b/dist/__chunks__/property.0daVBkvz.js new file mode 100644 index 00000000..68ae9cc1 --- /dev/null +++ b/dist/__chunks__/property.0daVBkvz.js @@ -0,0 +1,10 @@ +import{u as d,f as l}from"./lit-element.XkUWx5ik.js";/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const f=e=>(r,t)=>{t!==void 0?t.addInitializer(()=>{customElements.define(e,r)}):customElements.define(e,r)};/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const p={attribute:!0,type:String,converter:d,reflect:!1,hasChanged:l},u=(e=p,r,t)=>{const{kind:s,metadata:i}=t;let o=globalThis.litPropertyMetadata.get(i);if(o===void 0&&globalThis.litPropertyMetadata.set(i,o=new Map),o.set(t.name,e),s==="accessor"){const{name:n}=t;return{set(a){const c=r.get.call(this);r.set.call(this,a),this.requestUpdate(n,c,e)},init(a){return a!==void 0&&this.P(n,void 0,e),a}}}if(s==="setter"){const{name:n}=t;return function(a){const c=this[n];r.call(this,a),this.requestUpdate(n,c,e)}}throw Error("Unsupported decorator location: "+s)};function m(e){return(r,t)=>typeof t=="object"?u(e,r,t):((s,i,o)=>{const n=i.hasOwnProperty(o);return i.constructor.createProperty(o,n?{...s,wrapped:!0}:s),n?Object.getOwnPropertyDescriptor(i,o):void 0})(e,r,t)}export{m as n,f as t}; +//# sourceMappingURL=property.0daVBkvz.js.map diff --git a/dist/__chunks__/property.0daVBkvz.js.map b/dist/__chunks__/property.0daVBkvz.js.map new file mode 100644 index 00000000..d45069a8 --- /dev/null +++ b/dist/__chunks__/property.0daVBkvz.js.map @@ -0,0 +1 @@ +{"version":3,"file":"property.0daVBkvz.js","sources":["../../node_modules/@lit/reactive-element/decorators/custom-element.js","../../node_modules/@lit/reactive-element/decorators/property.js"],"sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=t=>(e,o)=>{void 0!==o?o.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)};export{t as customElement};\n//# sourceMappingURL=custom-element.js.map\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.P(o,void 0,t),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,r?{...t,wrapped:!0}:t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n"],"names":["t","e","o","r","n","s"],"mappings":"qDAAA;AAAA;AAAA;AAAA;AAAA,GAKK,MAACA,EAAEA,GAAG,CAACC,EAAEC,IAAI,CAAUA,IAAT,OAAWA,EAAE,eAAgB,IAAI,CAAC,eAAe,OAAOF,EAAEC,CAAC,CAAC,CAAG,EAAC,eAAe,OAAOD,EAAEC,CAAC,CAAC,ECJ7G;AAAA;AAAA;AAAA;AAAA,GAIG,MAAMC,EAAE,CAAC,UAAU,GAAG,KAAK,OAAO,UAAUF,EAAE,QAAQ,GAAG,WAAWC,CAAC,EAAEE,EAAE,CAACH,EAAEE,EAAED,EAAEE,IAAI,CAAC,KAAK,CAAC,KAAKC,EAAE,SAAS,CAAC,EAAED,EAAE,IAAIE,EAAE,WAAW,oBAAoB,IAAI,CAAC,EAAE,GAAYA,IAAT,QAAY,WAAW,oBAAoB,IAAI,EAAEA,EAAE,IAAI,GAAG,EAAEA,EAAE,IAAIF,EAAE,KAAKH,CAAC,EAAeI,IAAb,WAAe,CAAC,KAAK,CAAC,KAAKF,CAAC,EAAEC,EAAE,MAAM,CAAC,IAAIA,EAAE,CAAC,MAAMC,EAAEH,EAAE,IAAI,KAAK,IAAI,EAAEA,EAAE,IAAI,KAAK,KAAKE,CAAC,EAAE,KAAK,cAAcD,EAAEE,EAAEJ,CAAC,CAAC,EAAE,KAAKC,EAAE,CAAC,OAAgBA,IAAT,QAAY,KAAK,EAAEC,EAAE,OAAOF,CAAC,EAAEC,CAAC,CAAC,CAAC,CAAC,GAAcG,IAAX,SAAa,CAAC,KAAK,CAAC,KAAKF,CAAC,EAAEC,EAAE,OAAO,SAASA,EAAE,CAAC,MAAMC,EAAE,KAAKF,CAAC,EAAED,EAAE,KAAK,KAAKE,CAAC,EAAE,KAAK,cAAcD,EAAEE,EAAEJ,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,mCAAmCI,CAAC,CAAC,EAAE,SAASA,EAAEJ,EAAE,CAAC,MAAM,CAACC,EAAEC,IAAc,OAAOA,GAAjB,SAAmBC,EAAEH,EAAEC,EAAEC,CAAC,GAAG,CAACF,EAAEC,EAAE,IAAI,CAAC,MAAME,EAAEF,EAAE,eAAe,CAAC,EAAE,OAAOA,EAAE,YAAY,eAAe,EAAEE,EAAE,CAAC,GAAGH,EAAE,QAAQ,EAAE,EAAEA,CAAC,EAAEG,EAAE,OAAO,yBAAyBF,EAAE,CAAC,EAAE,MAAM,GAAGD,EAAEC,EAAEC,CAAC,CAAC","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/dist/__chunks__/property.y-6B4rf9.js b/dist/__chunks__/property.y-6B4rf9.js deleted file mode 100644 index 662a6108..00000000 --- a/dist/__chunks__/property.y-6B4rf9.js +++ /dev/null @@ -1,6 +0,0 @@ -import{u as p,f as l}from"./lit-element.XkUWx5ik.js";/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const d={attribute:!0,type:String,converter:p,reflect:!1,hasChanged:l},h=(r=d,n,t)=>{const{kind:s,metadata:a}=t;let o=globalThis.litPropertyMetadata.get(a);if(o===void 0&&globalThis.litPropertyMetadata.set(a,o=new Map),o.set(t.name,r),s==="accessor"){const{name:e}=t;return{set(i){const c=n.get.call(this);n.set.call(this,i),this.requestUpdate(e,c,r)},init(i){return i!==void 0&&this.P(e,void 0,r),i}}}if(s==="setter"){const{name:e}=t;return function(i){const c=this[e];n.call(this,i),this.requestUpdate(e,c,r)}}throw Error("Unsupported decorator location: "+s)};function f(r){return(n,t)=>typeof t=="object"?h(r,n,t):((s,a,o)=>{const e=a.hasOwnProperty(o);return a.constructor.createProperty(o,e?{...s,wrapped:!0}:s),e?Object.getOwnPropertyDescriptor(a,o):void 0})(r,n,t)}export{f as n}; -//# sourceMappingURL=property.y-6B4rf9.js.map diff --git a/dist/__chunks__/property.y-6B4rf9.js.map b/dist/__chunks__/property.y-6B4rf9.js.map deleted file mode 100644 index f78b1df3..00000000 --- a/dist/__chunks__/property.y-6B4rf9.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"property.y-6B4rf9.js","sources":["../../node_modules/@lit/reactive-element/decorators/property.js"],"sourcesContent":["import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.P(o,void 0,t),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,r?{...t,wrapped:!0}:t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n"],"names":["o","t","e","r","n","i","s"],"mappings":"qDACA;AAAA;AAAA;AAAA;AAAA,GAIG,MAAMA,EAAE,CAAC,UAAU,GAAG,KAAK,OAAO,UAAUC,EAAE,QAAQ,GAAG,WAAWC,CAAC,EAAEC,EAAE,CAACF,EAAED,EAAEE,EAAEC,IAAI,CAAC,KAAK,CAAC,KAAKC,EAAE,SAASC,CAAC,EAAEF,EAAE,IAAIG,EAAE,WAAW,oBAAoB,IAAID,CAAC,EAAE,GAAYC,IAAT,QAAY,WAAW,oBAAoB,IAAID,EAAEC,EAAE,IAAI,GAAG,EAAEA,EAAE,IAAIH,EAAE,KAAKF,CAAC,EAAeG,IAAb,WAAe,CAAC,KAAK,CAAC,KAAKJ,CAAC,EAAEG,EAAE,MAAM,CAAC,IAAIA,EAAE,CAAC,MAAMC,EAAEF,EAAE,IAAI,KAAK,IAAI,EAAEA,EAAE,IAAI,KAAK,KAAKC,CAAC,EAAE,KAAK,cAAcH,EAAEI,EAAEH,CAAC,CAAC,EAAE,KAAKC,EAAE,CAAC,OAAgBA,IAAT,QAAY,KAAK,EAAEF,EAAE,OAAOC,CAAC,EAAEC,CAAC,CAAC,CAAC,CAAC,GAAcE,IAAX,SAAa,CAAC,KAAK,CAAC,KAAKJ,CAAC,EAAEG,EAAE,OAAO,SAASA,EAAE,CAAC,MAAMC,EAAE,KAAKJ,CAAC,EAAEE,EAAE,KAAK,KAAKC,CAAC,EAAE,KAAK,cAAcH,EAAEI,EAAEH,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,mCAAmCG,CAAC,CAAC,EAAE,SAASA,EAAEH,EAAE,CAAC,MAAM,CAACC,EAAEF,IAAc,OAAOA,GAAjB,SAAmBG,EAAEF,EAAEC,EAAEF,CAAC,GAAG,CAACC,EAAEC,EAAE,IAAI,CAAC,MAAMC,EAAED,EAAE,eAAe,CAAC,EAAE,OAAOA,EAAE,YAAY,eAAe,EAAEC,EAAE,CAAC,GAAGF,EAAE,QAAQ,EAAE,EAAEA,CAAC,EAAEE,EAAE,OAAO,yBAAyBD,EAAE,CAAC,EAAE,MAAM,GAAGD,EAAEC,EAAEF,CAAC,CAAC","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/dist/__chunks__/unsafe-html.tmuruS4o.js b/dist/__chunks__/unsafe-html.dKgBHtsI.js similarity index 68% rename from dist/__chunks__/unsafe-html.tmuruS4o.js rename to dist/__chunks__/unsafe-html.dKgBHtsI.js index fc5a89d2..6964ba8d 100644 --- a/dist/__chunks__/unsafe-html.tmuruS4o.js +++ b/dist/__chunks__/unsafe-html.dKgBHtsI.js @@ -1,4 +1,4 @@ -import{T as s,w as o}from"./lit-element.XkUWx5ik.js";/** +import{T as r,w as o}from"./lit-element.XkUWx5ik.js";/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause @@ -6,5 +6,5 @@ import{T as s,w as o}from"./lit-element.XkUWx5ik.js";/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */class r extends h{constructor(t){if(super(t),this.it=s,t.type!==u.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===s||t==null)return this._t=void 0,this.it=t;if(t===o)return t;if(typeof t!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;const i=[t];return i.raw=i,this._t={_$litType$:this.constructor.resultType,strings:i,values:[]}}}r.directiveName="unsafeHTML",r.resultType=1;const l=c(r);export{l as o}; -//# sourceMappingURL=unsafe-html.tmuruS4o.js.map + */class s extends h{constructor(t){if(super(t),this.it=r,t.type!==u.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===r||t==null)return this._t=void 0,this.it=t;if(t===o)return t;if(typeof t!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;const i=[t];return i.raw=i,this._t={_$litType$:this.constructor.resultType,strings:i,values:[]}}}s.directiveName="unsafeHTML",s.resultType=1;const l=c(s);export{c as a,s as e,h as i,l as o,u as t}; +//# sourceMappingURL=unsafe-html.dKgBHtsI.js.map diff --git a/dist/__chunks__/unsafe-html.tmuruS4o.js.map b/dist/__chunks__/unsafe-html.dKgBHtsI.js.map similarity index 92% rename from dist/__chunks__/unsafe-html.tmuruS4o.js.map rename to dist/__chunks__/unsafe-html.dKgBHtsI.js.map index 79c2b159..7dd5a4f1 100644 --- a/dist/__chunks__/unsafe-html.tmuruS4o.js.map +++ b/dist/__chunks__/unsafe-html.dKgBHtsI.js.map @@ -1 +1 @@ -{"version":3,"file":"unsafe-html.tmuruS4o.js","sources":["../../node_modules/lit-html/directive.js","../../node_modules/lit-html/directives/unsafe-html.js"],"sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{nothing as t,noChange as i}from\"../lit-html.js\";import{Directive as r,PartType as s,directive as n}from\"../directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends r{constructor(i){if(super(i),this.it=t,i.type!==s.CHILD)throw Error(this.constructor.directiveName+\"() can only be used in child bindings\")}render(r){if(r===t||null==r)return this._t=void 0,this.it=r;if(r===i)return r;if(\"string\"!=typeof r)throw Error(this.constructor.directiveName+\"() called with a non-string value\");if(r===this.it)return this._t;this.it=r;const s=[r];return s.raw=s,this._t={_$litType$:this.constructor.resultType,strings:s,values:[]}}}e.directiveName=\"unsafeHTML\",e.resultType=1;const o=n(e);export{e as UnsafeHTMLDirective,o as unsafeHTML};\n//# sourceMappingURL=unsafe-html.js.map\n"],"names":["t","e","i","r","s","o","n"],"mappings":"qDAAA;AAAA;AAAA;AAAA;AAAA,GAKA,MAAMA,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAEC,EAAED,GAAG,IAAIC,KAAK,CAAC,gBAAgBD,EAAE,OAAOC,CAAC,GAAG,MAAMC,CAAC,CAAC,YAAY,EAAE,CAAE,CAAA,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,KAAK,EAAED,EAAEC,EAAE,CAAC,KAAK,KAAK,EAAE,KAAK,KAAKD,EAAE,KAAK,KAAKC,CAAC,CAAC,KAAK,EAAED,EAAE,CAAC,OAAO,KAAK,OAAO,EAAEA,CAAC,CAAC,CAAC,OAAO,EAAEA,EAAE,CAAC,OAAO,KAAK,OAAO,GAAGA,CAAC,CAAC,CAAC,CCJ3S;AAAA;AAAA;AAAA;AAAA,GAIG,MAAMA,UAAUE,CAAC,CAAC,YAAYD,EAAE,CAAC,GAAG,MAAMA,CAAC,EAAE,KAAK,GAAGF,EAAEE,EAAE,OAAOE,EAAE,MAAM,MAAM,MAAM,KAAK,YAAY,cAAc,uCAAuC,CAAC,CAAC,OAAOD,EAAE,CAAC,GAAGA,IAAIH,GAASG,GAAN,KAAQ,OAAO,KAAK,GAAG,OAAO,KAAK,GAAGA,EAAE,GAAGA,IAAID,EAAE,OAAOC,EAAE,GAAa,OAAOA,GAAjB,SAAmB,MAAM,MAAM,KAAK,YAAY,cAAc,mCAAmC,EAAE,GAAGA,IAAI,KAAK,GAAG,OAAO,KAAK,GAAG,KAAK,GAAGA,EAAE,MAAMC,EAAE,CAACD,CAAC,EAAE,OAAOC,EAAE,IAAIA,EAAE,KAAK,GAAG,CAAC,WAAW,KAAK,YAAY,WAAW,QAAQA,EAAE,OAAO,CAAA,CAAE,CAAC,CAAC,CAACH,EAAE,cAAc,aAAaA,EAAE,WAAW,EAAO,MAACI,EAAEC,EAAEL,CAAC","x_google_ignoreList":[0,1]} \ No newline at end of file +{"version":3,"file":"unsafe-html.dKgBHtsI.js","sources":["../../node_modules/lit-html/directive.js","../../node_modules/lit-html/directives/unsafe-html.js"],"sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{nothing as t,noChange as i}from\"../lit-html.js\";import{Directive as r,PartType as s,directive as n}from\"../directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends r{constructor(i){if(super(i),this.it=t,i.type!==s.CHILD)throw Error(this.constructor.directiveName+\"() can only be used in child bindings\")}render(r){if(r===t||null==r)return this._t=void 0,this.it=r;if(r===i)return r;if(\"string\"!=typeof r)throw Error(this.constructor.directiveName+\"() called with a non-string value\");if(r===this.it)return this._t;this.it=r;const s=[r];return s.raw=s,this._t={_$litType$:this.constructor.resultType,strings:s,values:[]}}}e.directiveName=\"unsafeHTML\",e.resultType=1;const o=n(e);export{e as UnsafeHTMLDirective,o as unsafeHTML};\n//# sourceMappingURL=unsafe-html.js.map\n"],"names":["t","e","i","r","s","o","n"],"mappings":"qDAAA;AAAA;AAAA;AAAA;AAAA,GAKK,MAACA,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAEC,EAAED,GAAG,IAAIC,KAAK,CAAC,gBAAgBD,EAAE,OAAOC,CAAC,GAAG,MAAMC,CAAC,CAAC,YAAY,EAAE,CAAA,CAAE,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,KAAK,EAAED,EAAEC,EAAE,CAAC,KAAK,KAAK,EAAE,KAAK,KAAKD,EAAE,KAAK,KAAKC,CAAC,CAAC,KAAK,EAAED,EAAE,CAAC,OAAO,KAAK,OAAO,EAAEA,CAAC,CAAC,CAAC,OAAO,EAAEA,EAAE,CAAC,OAAO,KAAK,OAAO,GAAGA,CAAC,CAAC,CAAC,CCJ3S;AAAA;AAAA;AAAA;AAAA,GAIG,MAAMA,UAAUE,CAAC,CAAC,YAAYD,EAAE,CAAC,GAAG,MAAMA,CAAC,EAAE,KAAK,GAAGF,EAAEE,EAAE,OAAOE,EAAE,MAAM,MAAM,MAAM,KAAK,YAAY,cAAc,uCAAuC,CAAC,CAAC,OAAOD,EAAE,CAAC,GAAGA,IAAIH,GAASG,GAAN,KAAQ,OAAO,KAAK,GAAG,OAAO,KAAK,GAAGA,EAAE,GAAGA,IAAID,EAAE,OAAOC,EAAE,GAAa,OAAOA,GAAjB,SAAmB,MAAM,MAAM,KAAK,YAAY,cAAc,mCAAmC,EAAE,GAAGA,IAAI,KAAK,GAAG,OAAO,KAAK,GAAG,KAAK,GAAGA,EAAE,MAAMC,EAAE,CAACD,CAAC,EAAE,OAAOC,EAAE,IAAIA,EAAE,KAAK,GAAG,CAAC,WAAW,KAAK,YAAY,WAAW,QAAQA,EAAE,OAAO,CAAA,CAAE,CAAC,CAAC,CAACH,EAAE,cAAc,aAAaA,EAAE,WAAW,EAAO,MAACI,EAAEC,EAAEL,CAAC","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/dist/banner/banner.js b/dist/banner/banner.js index c6b9eca9..62313b84 100644 --- a/dist/banner/banner.js +++ b/dist/banner/banner.js @@ -1,2 +1,2 @@ -import{j as s,x as c}from"../__chunks__/lit-element.XkUWx5ik.js";import{o as h}from"../__chunks__/unsafe-html.tmuruS4o.js";const u=({headline:r,subline:e,texts:n,buttons:l,picture:i})=>c``;function $(r){var p,t;const e=r.querySelector("div"),n=r.children[1],l=(p=e==null?void 0:e.querySelector("h1"))==null?void 0:p.innerText,i=(t=e==null?void 0:e.querySelector("h3"))==null?void 0:t.innerText,a=e?[...e.querySelectorAll("p")]:[],o=[...n==null?void 0:n.querySelectorAll("a")],d=(e==null?void 0:e.querySelector("picture"))||void 0;r.innerHTML="",r.style.removeProperty("display"),s(u({headline:l,subline:i,texts:a,buttons:o,picture:d}),r)}export{$ as default}; +import{j as s,x as c}from"../__chunks__/lit-element.XkUWx5ik.js";import{o as h}from"../__chunks__/unsafe-html.dKgBHtsI.js";const u=({headline:r,subline:e,texts:n,buttons:l,picture:i})=>c``;function $(r){var p,t;const e=r.querySelector("div"),n=r.children[1],l=(p=e==null?void 0:e.querySelector("h1"))==null?void 0:p.innerText,i=(t=e==null?void 0:e.querySelector("h3"))==null?void 0:t.innerText,a=e?[...e.querySelectorAll("p")]:[],o=[...n==null?void 0:n.querySelectorAll("a")],d=(e==null?void 0:e.querySelector("picture"))||void 0;r.innerHTML="",r.style.removeProperty("display"),s(u({headline:l,subline:i,texts:a,buttons:o,picture:d}),r)}export{$ as default}; //# sourceMappingURL=banner.js.map diff --git a/dist/counter/counter.js b/dist/counter/counter.js index 32ee9dff..8eccde24 100644 --- a/dist/counter/counter.js +++ b/dist/counter/counter.js @@ -1,2 +1,2 @@ -import{i as a,s as l,x as p}from"../__chunks__/lit-element.XkUWx5ik.js";import{t as d}from"../__chunks__/custom-element.qyLKk-84.js";import{n as f}from"../__chunks__/property.y-6B4rf9.js";var m=Object.defineProperty,h=Object.getOwnPropertyDescriptor,u=(r,o,i,e)=>{for(var t=e>1?void 0:e?h(o,i):o,s=r.length-1,c;s>=0;s--)(c=r[s])&&(t=(e?c(o,i,t):c(t))||t);return e&&t&&m(o,i,t),t};let n=class extends l{constructor(){super(...arguments),this.count=0}firstUpdated(){console.log("first updated")}render(){return p`

Lit Counter

`}_onClick(){this.count++}};n.styles=a`:host{max-width:1280px;margin:0 auto;padding:2rem;text-align:center;display:flex;flex-direction:column}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#bada55;color:#333;cursor:pointer;transition:border-color .25s;width:100%}button:hover{background-color:#1a1a1a;color:#f9f9f9}`;u([f({type:Number})],n.prototype,"count",2);n=u([d("lit-counter")],n);function x(r){const o=r.innerHTML;r.innerHTML=`${o}`,r.style.removeProperty("display")}export{n as LitCounter,x as default}; +import{i as a,s as l,x as d}from"../__chunks__/lit-element.XkUWx5ik.js";import{n as p,t as f}from"../__chunks__/property.0daVBkvz.js";var m=Object.defineProperty,h=Object.getOwnPropertyDescriptor,u=(r,o,i,e)=>{for(var t=e>1?void 0:e?h(o,i):o,s=r.length-1,c;s>=0;s--)(c=r[s])&&(t=(e?c(o,i,t):c(t))||t);return e&&t&&m(o,i,t),t};let n=class extends l{constructor(){super(...arguments),this.count=0}firstUpdated(){console.log("first updated")}render(){return d`

Lit Counter

`}_onClick(){this.count++}};n.styles=a`:host{max-width:1280px;margin:0 auto;padding:2rem;text-align:center;display:flex;flex-direction:column}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#bada55;color:#333;cursor:pointer;transition:border-color .25s;width:100%}button:hover{background-color:#1a1a1a;color:#f9f9f9}`;u([p({type:Number})],n.prototype,"count",2);n=u([f("lit-counter")],n);function v(r){const o=r.innerHTML;r.innerHTML=`${o}`,r.style.removeProperty("display")}export{n as LitCounter,v as default}; //# sourceMappingURL=counter.js.map diff --git a/dist/counter/counter.js.map b/dist/counter/counter.js.map index 696ceb1f..09f6d861 100644 --- a/dist/counter/counter.js.map +++ b/dist/counter/counter.js.map @@ -1 +1 @@ -{"version":3,"file":"counter.js","sources":["../../src/blocks/counter/counter.ts"],"sourcesContent":["import { LitElement, css, html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\n/**\n * An example element.\n *\n * @slot - This element has a slot\n * @csspart button - The button\n */\n@customElement('lit-counter')\nexport class LitCounter extends LitElement {\n /**\n * The number of times the button has been clicked.\n */\n @property({ type: Number })\n count = 0;\n\n firstUpdated(): void {\n console.log('first updated');\n }\n\n render() {\n return html`\n
\n

Lit Counter

\n \n
\n `;\n }\n\n private _onClick() {\n this.count++;\n }\n\n static styles = css`\n :host {\n max-width: 1280px;\n margin: 0 auto;\n padding: 2rem;\n text-align: center;\n display: flex;\n flex-direction: column;\n }\n\n button {\n border-radius: 8px;\n border: 1px solid transparent;\n padding: 0.6em 1.2em;\n font-size: 1em;\n font-weight: 500;\n font-family: inherit;\n background-color: #bada55;\n color: #333;\n cursor: pointer;\n transition: border-color 0.25s;\n width: 100%;\n }\n button:hover {\n background-color: #1a1a1a;\n color: #f9f9f9;\n }\n `;\n}\n\nexport default function (block: HTMLElement) {\n const org_content = block.innerHTML;\n block.innerHTML = `${org_content}`;\n block.style.removeProperty('display');\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'lit-counter': LitCounter;\n }\n}\n"],"names":["LitCounter","LitElement","html","css","__decorateClass","property","customElement","counter","block","org_content"],"mappings":"4XAUa,IAAAA,EAAN,cAAyBC,CAAW,CAApC,aAAA,CAAA,MAAA,GAAA,SAAA,EAKG,KAAA,MAAA,CAAA,CAER,cAAqB,CACnB,QAAQ,IAAI,eAAe,CAC7B,CAEA,QAAS,CACA,OAAAC,0DAGc,KAAK,QAAQ,4BAA2B,KAAK,KAAK,iBAGzE,CAEQ,UAAW,CACZ,KAAA,OACP,CA8BF,EApDaF,EAwBJ,OAASG,qXAnBhBC,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,CAAA,EAJfL,EAKX,UAAA,QAAA,CAAA,EALWA,EAANI,EAAA,CADNE,EAAc,aAAa,CAAA,EACfN,CAAA,EAsDb,SAAAO,EAAyBC,EAAoB,CAC3C,MAAMC,EAAcD,EAAM,UACpBA,EAAA,UAAY,gBAAgBC,CAAW,iBACvCD,EAAA,MAAM,eAAe,SAAS,CACtC"} \ No newline at end of file +{"version":3,"file":"counter.js","sources":["../../src/blocks/counter/counter.ts"],"sourcesContent":["import { LitElement, css, html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\n/**\n * An example element.\n *\n * @slot - This element has a slot\n * @csspart button - The button\n */\n@customElement('lit-counter')\nexport class LitCounter extends LitElement {\n /**\n * The number of times the button has been clicked.\n */\n @property({ type: Number })\n count = 0;\n\n firstUpdated(): void {\n console.log('first updated');\n }\n\n render() {\n return html`\n
\n

Lit Counter

\n \n
\n `;\n }\n\n private _onClick() {\n this.count++;\n }\n\n static styles = css`\n :host {\n max-width: 1280px;\n margin: 0 auto;\n padding: 2rem;\n text-align: center;\n display: flex;\n flex-direction: column;\n }\n\n button {\n border-radius: 8px;\n border: 1px solid transparent;\n padding: 0.6em 1.2em;\n font-size: 1em;\n font-weight: 500;\n font-family: inherit;\n background-color: #bada55;\n color: #333;\n cursor: pointer;\n transition: border-color 0.25s;\n width: 100%;\n }\n button:hover {\n background-color: #1a1a1a;\n color: #f9f9f9;\n }\n `;\n}\n\nexport default function (block: HTMLElement) {\n const org_content = block.innerHTML;\n block.innerHTML = `${org_content}`;\n block.style.removeProperty('display');\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'lit-counter': LitCounter;\n }\n}\n"],"names":["LitCounter","LitElement","html","css","__decorateClass","property","customElement","counter","block","org_content"],"mappings":"sUAUa,IAAAA,EAAN,cAAyBC,CAAW,CAApC,aAAA,CAAA,MAAA,GAAA,SAAA,EAKG,KAAA,MAAA,CAAA,CAER,cAAqB,CACnB,QAAQ,IAAI,eAAe,CAC7B,CAEA,QAAS,CACA,OAAAC,0DAGc,KAAK,QAAQ,4BAA2B,KAAK,KAAK,iBAGzE,CAEQ,UAAW,CACZ,KAAA,OACP,CA8BF,EApDaF,EAwBJ,OAASG,qXAnBhBC,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,CAAA,EAJfL,EAKX,UAAA,QAAA,CAAA,EALWA,EAANI,EAAA,CADNE,EAAc,aAAa,CAAA,EACfN,CAAA,EAsDb,SAAAO,EAAyBC,EAAoB,CAC3C,MAAMC,EAAcD,EAAM,UACpBA,EAAA,UAAY,gBAAgBC,CAAW,iBACvCD,EAAA,MAAM,eAAe,SAAS,CACtC"} \ No newline at end of file diff --git a/dist/features/features.js b/dist/features/features.js index bd20a25e..ebbb0db4 100644 --- a/dist/features/features.js +++ b/dist/features/features.js @@ -1,2 +1,28 @@ -import{j as l,x as i}from"../__chunks__/lit-element.XkUWx5ik.js";import{o as p}from"../__chunks__/unsafe-html.tmuruS4o.js";import{t as h}from"../__chunks__/custom-element.qyLKk-84.js";var m=Object.defineProperty,f=Object.getOwnPropertyDescriptor,d=(e,t,s,o)=>{for(var n=o>1?void 0:o?f(t,s):t,r=e.length-1,c;r>=0;r--)(c=e[r])&&(n=(o?c(t,s,n):c(n))||n);return o&&n&&m(t,s,n),n};let a=class extends HTMLElement{get name(){const e=this.getAttribute("name");if(!e)throw new Error("Icon must have a name attribute");return e}connectedCallback(){console.log("RENDER ICON"),this.render()}async render(){const e=await this.fetchIcon();return console.log("render icon here",e),`${e}`}async fetchIcon(){return await(await fetch(`${window.hlx.codeBasePath}/dist/icons/${this.name}.svg`)).text()}};a=d([h("icon-component")],a);const u=e=>i`${e.map(t=>i`
${p(t.textBlock)}
`)}`;function g(e){const t=e.querySelectorAll(":scope > div");let s=[];[...t].forEach(o=>{const n=o.children[0].innerHTML,r=o.children[1].innerHTML;s.push({icon:n,textBlock:r})}),e.innerHTML="",e.style.removeProperty("display"),l(u(s),e)}export{g as default}; +import{w as v,i as O,s as b,x as f,j as E}from"../__chunks__/lit-element.XkUWx5ik.js";import{e as T,a as C,i as x,t as M,o as I}from"../__chunks__/unsafe-html.dKgBHtsI.js";import{_ as a}from"../__chunks__/preload-helper.hlDPvxQM.js";import{n as L,t as V}from"../__chunks__/property.0daVBkvz.js";/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */class p extends T{}p.directiveName="unsafeSVG",p.resultType=2;const D=C(p);/** + * @license + * Copyright 2020 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const N=t=>t===null||typeof t!="object"&&typeof t!="function",S=t=>t.strings===void 0;/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const d=(t,s)=>{var n;const e=t._$AN;if(e===void 0)return!1;for(const i of e)(n=i._$AO)==null||n.call(i,s,!1),d(i,s);return!0},u=t=>{let s,e;do{if((s=t._$AM)===void 0)break;e=s._$AN,e.delete(t),t=s}while((e==null?void 0:e.size)===0)},w=t=>{for(let s;s=t._$AM;t=s){let e=s._$AN;if(e===void 0)s._$AN=e=new Set;else if(e.has(t))break;e.add(t),q(s)}};function H(t){this._$AN!==void 0?(u(this),this._$AM=t,w(this)):this._$AM=t}function j(t,s=!1,e=0){const n=this._$AH,i=this._$AN;if(i!==void 0&&i.size!==0)if(s)if(Array.isArray(n))for(let o=e;o{t.type==M.CHILD&&(t._$AP??(t._$AP=j),t._$AQ??(t._$AQ=H))};class R extends x{constructor(){super(...arguments),this._$AN=void 0}_$AT(s,e,n){super._$AT(s,e,n),w(this),this.isConnected=s._$AU}_$AO(s,e=!0){var n,i;s!==this.isConnected&&(this.isConnected=s,s?(n=this.reconnected)==null||n.call(this):(i=this.disconnected)==null||i.call(this)),e&&(d(this,s),u(this))}setValue(s){if(S(this._$Ct))this._$Ct._$AI(s,this);else{const e=[...this._$Ct._$AH];e[this._$Ci]=s,this._$Ct._$AI(e,this,0)}}disconnected(){}reconnected(){}}/** + * @license + * Copyright 2021 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */class K{constructor(s){this.Y=s}disconnect(){this.Y=void 0}reconnect(s){this.Y=s}deref(){return this.Y}}class X{constructor(){this.Z=void 0,this.q=void 0}get(){return this.Z}pause(){this.Z??(this.Z=new Promise(s=>this.q=s))}resume(){var s;(s=this.q)==null||s.call(this),this.Z=this.q=void 0}}/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const m=t=>!N(t)&&typeof t.then=="function",g=1073741823;class Y extends R{constructor(){super(...arguments),this._$Cwt=g,this._$Cbt=[],this._$CK=new K(this),this._$CX=new X}render(...s){return s.find(e=>!m(e))??v}update(s,e){const n=this._$Cbt;let i=n.length;this._$Cbt=e;const o=this._$CK,c=this._$CX;this.isConnected||this.disconnected();for(let r=0;rthis._$Cwt);r++){const h=e[r];if(!m(h))return this._$Cwt=r,h;r{for(;c.get();)await c.get();const _=o.deref();if(_!==void 0){const l=_._$Cbt.indexOf(h);l>-1&&l<_._$Cwt&&(_._$Cwt=l,_.setValue(P))}}))}return v}disconnected(){this._$CK.disconnect(),this._$CX.pause()}reconnected(){this._$CK.reconnect(this),this._$CX.resume()}}const Z=C(Y);var z=Object.defineProperty,B=Object.getOwnPropertyDescriptor,y=(t,s,e,n)=>{for(var i=n>1?void 0:n?B(s,e):s,o=t.length-1,c;o>=0;o--)(c=t[o])&&(i=(n?c(s,e,i):c(i))||i);return n&&i&&z(s,e,i),i};const A=Object.assign({"/src/icons/building-storefront.svg":()=>a(()=>import("../__chunks__/building-storefront.GI5O3UY2.js"),__vite__mapDeps([])).then(t=>t.default),"/src/icons/chat-bubble-left-right.svg":()=>a(()=>import("../__chunks__/chat-bubble-left-right.RdWapjj4.js"),__vite__mapDeps([])).then(t=>t.default),"/src/icons/cpu-chip.svg":()=>a(()=>import("../__chunks__/cpu-chip.e4997-9R.js"),__vite__mapDeps([])).then(t=>t.default),"/src/icons/cursor-arrow-ripple.svg":()=>a(()=>import("../__chunks__/cursor-arrow-ripple.5f05fUdo.js"),__vite__mapDeps([])).then(t=>t.default),"/src/icons/hamburger.svg":()=>a(()=>import("../__chunks__/hamburger.B4eeRdlK.js"),__vite__mapDeps([])).then(t=>t.default)});let $=class extends b{constructor(){super(...arguments),this.name=""}async getSvg(t){const s=A[`/src/icons/${t}.svg`],n=await(s!==void 0?s:A["/src/icons/cross.svg"])().catch(i=>console.error(`SVG icon: ${i.message}`));return D(n)}render(){const t=this.getSvg(this.name);return f`${Z(t)}`}};$.styles=O`:host{display:flex;align-items:center}svg{width:100%;height:auto}`;y([L({type:String})],$.prototype,"name",2);$=y([V("icon-component")],$);const F=t=>f`${t.map(s=>f`
${I(s.textBlock)}
`)}`;function J(t){const s=t.querySelectorAll(":scope > div");let e=[];[...s].forEach(n=>{const i=n.children[0].innerHTML,o=n.children[1].innerHTML;e.push({icon:i,textBlock:o})}),t.innerHTML="",t.style.removeProperty("display"),E(F(e),t)}export{J as default}; +function __vite__mapDeps(indexes) { + if (!__vite__mapDeps.viteFileDeps) { + __vite__mapDeps.viteFileDeps = [] + } + return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) +} //# sourceMappingURL=features.js.map diff --git a/dist/features/features.js.map b/dist/features/features.js.map index 1063bfc9..2086393f 100644 --- a/dist/features/features.js.map +++ b/dist/features/features.js.map @@ -1 +1 @@ -{"version":3,"file":"features.js","sources":["../../src/components/icon.ts","../../src/blocks/features/features.ts"],"sourcesContent":["import { customElement } from 'lit/decorators.js';\n\n@customElement('icon-component')\nexport class Icon extends HTMLElement {\n get name() {\n const srcValue = this.getAttribute('name');\n if (!srcValue) {\n throw new Error('Icon must have a name attribute');\n }\n return srcValue;\n }\n\n connectedCallback() {\n console.log('RENDER ICON');\n this.render();\n }\n\n async render() {\n const svg = await this.fetchIcon();\n console.log('render icon here', svg);\n return `${svg}`;\n }\n\n async fetchIcon() {\n const response = await fetch(`${window.hlx.codeBasePath}/dist/icons/${this.name}.svg`);\n const textResponse = await response.text();\n return textResponse;\n }\n}\n","import { html, render } from 'lit';\nimport { unsafeHTML } from 'lit-html/directives/unsafe-html.js';\n\nimport '../../components/icon';\n\ninterface Feature {\n icon: string;\n textBlock: string;\n}\n\ntype TemplateArgs = Feature[];\n\nconst template = (features: TemplateArgs) => {\n return html`\n ${features.map(\n (feature) => html`\n
\n \n
${unsafeHTML(feature.textBlock)}
\n
\n `\n )}\n `;\n};\n\nexport default function (block: HTMLElement) {\n const rows = block.querySelectorAll(':scope > div');\n let features: Feature[] = [];\n [...rows].forEach((row) => {\n const icon = row.children[0].innerHTML;\n const textBlock = row.children[1].innerHTML;\n features.push({ icon, textBlock });\n });\n\n block.innerHTML = '';\n\n block.style.removeProperty('display');\n render(template(features), block);\n}\n"],"names":["Icon","srcValue","svg","__decorateClass","customElement","template","features","html","feature","unsafeHTML","block","rows","row","icon","textBlock","render"],"mappings":"wXAGa,IAAAA,EAAN,cAAmB,WAAY,CACpC,IAAI,MAAO,CACH,MAAAC,EAAW,KAAK,aAAa,MAAM,EACzC,GAAI,CAACA,EACG,MAAA,IAAI,MAAM,iCAAiC,EAE5C,OAAAA,CACT,CAEA,mBAAoB,CAClB,QAAQ,IAAI,aAAa,EACzB,KAAK,OAAO,CACd,CAEA,MAAM,QAAS,CACP,MAAAC,EAAM,MAAM,KAAK,YACf,eAAA,IAAI,mBAAoBA,CAAG,EAC5B,wIAAwIA,CAAG,EACpJ,CAEA,MAAM,WAAY,CAGT,OADc,MADJ,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,eAAe,KAAK,IAAI,MAAM,GACjD,MAEtC,CACF,EAzBaF,EAANG,EAAA,CADNC,EAAc,gBAAgB,CAAA,EAClBJ,CAAA,ECSb,MAAMK,EAAYC,GACTC,IACHD,EAAS,IACRE,GAAYD,6DAEyCC,EAAQ,IAAI,kDACvCC,EAAWD,EAAQ,SAAS,CAAC,kBAGzD,CAAA,GAIL,SAAAF,EAAyBI,EAAoB,CACrC,MAAAC,EAAOD,EAAM,iBAAiB,cAAc,EAClD,IAAIJ,EAAsB,CAAA,EAC1B,CAAC,GAAGK,CAAI,EAAE,QAASC,GAAQ,CACzB,MAAMC,EAAOD,EAAI,SAAS,CAAC,EAAE,UACvBE,EAAYF,EAAI,SAAS,CAAC,EAAE,UAClCN,EAAS,KAAK,CAAE,KAAAO,EAAM,UAAAC,CAAW,CAAA,CAAA,CAClC,EAEDJ,EAAM,UAAY,GAEZA,EAAA,MAAM,eAAe,SAAS,EAC7BK,EAAAV,EAASC,CAAQ,EAAGI,CAAK,CAClC"} \ No newline at end of file +{"version":3,"mappings":"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","names":["t","e","o","s","i","f","_a","r","c","h","n","_b","m","modules","Icon","LitElement","name","key","iconMarkup","unsafeSVG","svg","html","until","css","__decorateClass","property","customElement","template","features","feature","unsafeHTML","block","rows","row","icon","textBlock","render"],"sources":["../../node_modules/lit-html/directives/unsafe-svg.js","../../node_modules/lit-html/directive-helpers.js","../../node_modules/lit-html/async-directive.js","../../node_modules/lit-html/directives/private-async-helpers.js","../../node_modules/lit-html/directives/until.js","../../src/components/icon.ts","../../src/blocks/features/features.ts"],"sourcesContent":["import{directive as s}from\"../directive.js\";import{UnsafeHTMLDirective as e}from\"./unsafe-html.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class t extends e{}t.directiveName=\"unsafeSVG\",t.resultType=2;const o=s(t);export{o as unsafeSVG};\n//# sourceMappingURL=unsafe-svg.js.map\n","import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:t}=o,i=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,n={HTML:1,SVG:2},e=(o,t)=>void 0===t?void 0!==o?._$litType$:o?._$litType$===t,l=o=>null!=o?._$litType$?.h,c=o=>void 0!==o?._$litDirective$,d=o=>o?._$litDirective$,f=o=>void 0===o.strings,s=()=>document.createComment(\"\"),r=(o,i,n)=>{const e=o._$AA.parentNode,l=void 0===i?o._$AB:i._$AA;if(void 0===n){const i=e.insertBefore(s(),l),c=e.insertBefore(s(),l);n=new t(i,c,o,o.options)}else{const t=n._$AB.nextSibling,i=n._$AM,c=i!==o;if(c){let t;n._$AQ?.(o),n._$AM=o,void 0!==n._$AP&&(t=o._$AU)!==i._$AU&&n._$AP(t)}if(t!==l||c){let o=n._$AA;for(;o!==t;){const t=o.nextSibling;e.insertBefore(o,l),o=t}}}return n},v=(o,t,i=o)=>(o._$AI(t,i),o),u={},m=(o,t=u)=>o._$AH=t,p=o=>o._$AH,h=o=>{o._$AP?.(!1,!0);let t=o._$AA;const i=o._$AB.nextSibling;for(;t!==i;){const o=t.nextSibling;t.remove(),t=o}},j=o=>{o._$AR()};export{n as TemplateResultType,j as clearPart,p as getCommittedValue,d as getDirectiveClass,r as insertPart,l as isCompiledTemplateResult,c as isDirectiveResult,i as isPrimitive,f as isSingleExpression,e as isTemplateResult,h as removePart,v as setChildPartValue,m as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","import{isSingleExpression as i}from\"./directive-helpers.js\";import{Directive as t,PartType as e}from\"./directive.js\";export{Directive,PartType,directive}from\"./directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=(i,t)=>{const e=i._$AN;if(void 0===e)return!1;for(const i of e)i._$AO?.(t,!1),s(i,t);return!0},o=i=>{let t,e;do{if(void 0===(t=i._$AM))break;e=t._$AN,e.delete(i),i=t}while(0===e?.size)},r=i=>{for(let t;t=i._$AM;i=t){let e=t._$AN;if(void 0===e)t._$AN=e=new Set;else if(e.has(i))break;e.add(i),c(t)}};function h(i){void 0!==this._$AN?(o(this),this._$AM=i,r(this)):this._$AM=i}function n(i,t=!1,e=0){const r=this._$AH,h=this._$AN;if(void 0!==h&&0!==h.size)if(t)if(Array.isArray(r))for(let i=e;i{i.type==e.CHILD&&(i._$AP??=n,i._$AQ??=h)};class f extends t{constructor(){super(...arguments),this._$AN=void 0}_$AT(i,t,e){super._$AT(i,t,e),r(this),this.isConnected=i._$AU}_$AO(i,t=!0){i!==this.isConnected&&(this.isConnected=i,i?this.reconnected?.():this.disconnected?.()),t&&(s(this,i),o(this))}setValue(t){if(i(this._$Ct))this._$Ct._$AI(t,this);else{const i=[...this._$Ct._$AH];i[this._$Ci]=t,this._$Ct._$AI(i,this,0)}}disconnected(){}reconnected(){}}export{f as AsyncDirective};\n//# sourceMappingURL=async-directive.js.map\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=async(t,s)=>{for await(const i of t)if(!1===await s(i))return};class s{constructor(t){this.Y=t}disconnect(){this.Y=void 0}reconnect(t){this.Y=t}deref(){return this.Y}}class i{constructor(){this.Z=void 0,this.q=void 0}get(){return this.Z}pause(){this.Z??=new Promise((t=>this.q=t))}resume(){this.q?.(),this.Z=this.q=void 0}}export{i as Pauser,s as PseudoWeakRef,t as forAwaitOf};\n//# sourceMappingURL=private-async-helpers.js.map\n","import{noChange as t}from\"../lit-html.js\";import{isPrimitive as s}from\"../directive-helpers.js\";import{AsyncDirective as i}from\"../async-directive.js\";import{PseudoWeakRef as e,Pauser as r}from\"./private-async-helpers.js\";import{directive as o}from\"../directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const n=t=>!s(t)&&\"function\"==typeof t.then,h=1073741823;class c extends i{constructor(){super(...arguments),this._$Cwt=h,this._$Cbt=[],this._$CK=new e(this),this._$CX=new r}render(...s){return s.find((t=>!n(t)))??t}update(s,i){const e=this._$Cbt;let r=e.length;this._$Cbt=i;const o=this._$CK,c=this._$CX;this.isConnected||this.disconnected();for(let t=0;tthis._$Cwt);t++){const s=i[t];if(!n(s))return this._$Cwt=t,s;t{for(;c.get();)await c.get();const i=o.deref();if(void 0!==i){const e=i._$Cbt.indexOf(s);e>-1&&e console.error(`SVG icon: ${e.message}`));\n return unsafeSVG(iconMarkup as string);\n }\n\n render() {\n const svg = this.getSvg(this.name);\n return html`${until(svg)}`;\n }\n\n static styles = css`\n :host {\n display: flex;\n align-items: center;\n }\n\n svg {\n width: 100%;\n height: auto;\n }\n `;\n}\n","import { html, render } from 'lit';\nimport { unsafeHTML } from 'lit-html/directives/unsafe-html.js';\n\nimport '../../components/icon';\n\ninterface Feature {\n icon: string;\n textBlock: string;\n}\n\ntype TemplateArgs = Feature[];\n\nconst template = (features: TemplateArgs) => {\n return html`\n ${features.map(\n (feature) => html`\n
\n \n
${unsafeHTML(feature.textBlock)}
\n
\n `\n )}\n `;\n};\n\nexport default function (block: HTMLElement) {\n const rows = block.querySelectorAll(':scope > div');\n let features: Feature[] = [];\n [...rows].forEach((row) => {\n const icon = row.children[0].innerHTML;\n const textBlock = row.children[1].innerHTML;\n features.push({ icon, textBlock });\n });\n\n block.innerHTML = '';\n\n block.style.removeProperty('display');\n render(template(features), block);\n}\n"],"file":"features/features.js"} \ No newline at end of file diff --git a/dist/main/main.js b/dist/main/main.js index 1f44eaa7..c96393c8 100644 --- a/dist/main/main.js +++ b/dist/main/main.js @@ -1,16 +1,16 @@ -import{s as b,x as h}from"../__chunks__/lit-element.XkUWx5ik.js";import{t as E}from"../__chunks__/custom-element.qyLKk-84.js";import{n as P}from"../__chunks__/property.y-6B4rf9.js";const L="modulepreload",_=function(s){return"/"+s},g={},j=function(e,t,r){let n=Promise.resolve();if(t&&t.length>0){const o=document.getElementsByTagName("link");n=Promise.all(t.map(a=>{if(a=_(a),a in g)return;g[a]=!0;const i=a.endsWith(".css"),l=i?'[rel="stylesheet"]':"";if(!!r)for(let u=o.length-1;u>=0;u--){const p=o[u];if(p.href===a&&(!i||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${a}"]${l}`))return;const d=document.createElement("link");if(d.rel=i?"stylesheet":L,i||(d.as="script",d.crossOrigin=""),d.href=a,document.head.appendChild(d),i)return new Promise((u,p)=>{d.addEventListener("load",u),d.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${a}`)))})}))}return n.then(()=>e()).catch(o=>{const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=o,window.dispatchEvent(a),!a.defaultPrevented)throw o})};function m(s){return typeof s=="string"?s.toLowerCase().replace(/[^0-9a-z]/gi,"-").replace(/-+/g,"-").replace(/^-|-$/g,""):""}const y=(s,e)=>{e.split(",").forEach(t=>{s.classList.add(m(t.trim()))})};function S(s,e=document){const t=s&&s.includes(":")?"property":"name",n=[...e.head.querySelectorAll(`meta[${t}="${s}"]`)].map(o=>o.content).join(", ");return n.length?n:""}function q(s){return m(s).replace(/-([a-z])/g,e=>e[1].toUpperCase())}/** +import{_ as w}from"../__chunks__/preload-helper.hlDPvxQM.js";import{s as v,x as d}from"../__chunks__/lit-element.XkUWx5ik.js";import{n as C,t as y}from"../__chunks__/property.0daVBkvz.js";function h(s){return typeof s=="string"?s.toLowerCase().replace(/[^0-9a-z]/gi,"-").replace(/-+/g,"-").replace(/^-|-$/g,""):""}const m=(s,e)=>{e.split(",").forEach(t=>{s.classList.add(h(t.trim()))})};function f(s,e=document){const t=s&&s.includes(":")?"property":"name",r=[...e.head.querySelectorAll(`meta[${t}="${s}"]`)].map(a=>a.content).join(", ");return r.length?r:""}function $(s){return h(s).replace(/-([a-z])/g,e=>e[1].toUpperCase())}/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */function M(s){return P({...s,state:!0,attribute:!1})}/** + */function E(s){return C({...s,state:!0,attribute:!1})}/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */const w=(s,e,t)=>(t.configurable=!0,t.enumerable=!0,Reflect.decorate&&typeof e!="object"&&Object.defineProperty(s,e,t),t);/** + */const g=(s,e,t)=>(t.configurable=!0,t.enumerable=!0,Reflect.decorate&&typeof e!="object"&&Object.defineProperty(s,e,t),t);/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */function B(s,e){return(t,r,n)=>{const o=a=>{var i;return((i=a.renderRoot)==null?void 0:i.querySelector(s))??null};if(e){const{get:a,set:i}=typeof r=="object"?t:n??(()=>{const l=Symbol();return{get(){return this[l]},set(c){this[l]=c}}})();return w(t,r,{get(){let l=a.call(this);return l===void 0&&(l=o(this),(l!==null||this.hasUpdated)&&i.call(this,l)),l}})}return w(t,r,{get(){return o(this)}})}}var x=Object.defineProperty,A=Object.getOwnPropertyDescriptor,C=(s,e,t,r)=>{for(var n=r>1?void 0:r?A(e,t):e,o=s.length-1,a;o>=0;o--)(a=s[o])&&(n=(r?a(e,t,n):a(n))||n);return r&&n&&x(e,t,n),n};let f=class extends b{constructor(){super(...arguments),this.getSubmenuName=s=>s.path.split("/")[1],this.groupByFirstLevelPath=s=>{const e={};return s.forEach(r=>{const n=this.getSubmenuName(r);e[n]||(e[n]=[]),e[n].push({path:r.path,navtitle:this.getNavTitle(r)})}),Object.values(e).map(r=>r.length===1?r[0]:{navtitle:r[0].path.split("/")[1],path:r[0].path,children:r})}}createRenderRoot(){return this}async firstUpdated(){const s=await this.fetchSitemap();this.items=this.groupByFirstLevelPath(s)}render(){if(this.items)return h``}renderSubMenu(s){return h`${s.navtitle}`}renderMenuItem(s){return h`
  • ${s.children!==void 0?this.renderSubMenu(s):h`${s.navtitle}`}
  • `}renderMenuItems(){return h`
      ${this.items.map(s=>this.renderMenuItem(s))}
    `}async fetchSitemap(){return(await(await fetch(`${window.hlx.codeBasePath}/query-index.json`)).json()).data}getNavTitle(s){return s.path==="/"?"Homepage":s.navtitle||s.title}};C([M()],f.prototype,"items",2);f=C([E("sidebar-nav")],f);var T=Object.defineProperty,R=Object.getOwnPropertyDescriptor,$=(s,e,t,r)=>{for(var n=r>1?void 0:r?R(e,t):e,o=s.length-1,a;o>=0;o--)(a=s[o])&&(n=(r?a(e,t,n):a(n))||n);return r&&n&&T(e,t,n),n};let v=class extends b{constructor(){super(...arguments),this.handleToggleClick=s=>{s.preventDefault(),console.log("this",this),this.classList.toggle("inactive")}}createRenderRoot(){return this}firstUpdated(){this.toggle.addEventListener("click",this.handleToggleClick),console.log("toggle",this)}render(){return h`
    Toggle`}};$([B(".toggle")],v.prototype,"toggle",2);v=$([E("sidebar-component")],v);class O{readBlockConfig(e){const t={};return e.querySelectorAll(":scope > div").forEach(r=>{if(r.children){const n=[...r.children];if(n[1]){const o=n[1],a=m(n[0].textContent??"");let i="";if(o.querySelector("a")){const l=[...o.querySelectorAll("a")];l.length===1?i=l[0].href:i=l.map(c=>c.href)}else if(o.querySelector("img")){const l=[...o.querySelectorAll("img")];l.length===1?i=l[0].src:i=l.map(c=>c.src)}else if(o.querySelector("p")){const l=[...o.querySelectorAll("p")];l.length===1?i=l[0].textContent:i=l.map(c=>c.textContent)}else i=r.children[1].textContent;t[a]=i}}}),t}decorateBlocks(e){e.querySelectorAll("div.section > div > div").forEach(this.decorateBlock)}decorateBlock(e){const t=e.classList[0];if(t){e.classList.add("block"),e.dataset.blockName=t;const r=e.parentElement;r==null||r.classList.add(`${t}-wrapper`);const n=e.closest(".section");n&&n.classList.add(`${t}-container`)}}}class k{constructor(e){this.blockService=e}init(e){this.transformSection(e)}transformSection(e){e.querySelectorAll(":scope > div").forEach(t=>{this.adjustMarkup(t),this.processSectionMetaData(t)})}processSectionMetaData(e){const t=e.querySelector("div.section-metadata");if(t){const r=this.blockService.readBlockConfig(t);Object.keys(r).forEach(n=>{n==="style"?r.style.split(",").filter(a=>a).map(a=>m(a.trim())).forEach(a=>e.classList.add(a)):e.dataset[q(n)]=r[n]}),t.parentElement&&t.parentElement.remove()}}adjustMarkup(e){const t=[];let r=!1;[...e.children].forEach(n=>{if(n.tagName==="DIV"||!r){const o=document.createElement("div");t.push(o),r=n.tagName!=="DIV",r&&o.classList.add("default-content-wrapper")}t[t.length-1].append(n)}),t.forEach(n=>e.append(n)),e.classList.add("section"),e.dataset.sectionStatus="initialized",e.style.display="none"}}class D{constructor(e,t){this.sectionService=e,this.blockService=t,this.init=async()=>{this.setup(),await this.loadEager()},this.loadEager=async()=>{if(document.documentElement.lang="en",this.decorateTemplateAndTheme(),document){const n=document.querySelector("body");n&&(n.style.display="none")}const r=document.querySelector("main");r&&(r.setAttribute("id","main"),this.addSidebarContainer(r),this.sectionService.init(r),this.addInnerContainer(r),this.blockService.decorateBlocks(r),await this.loadComponents(),setTimeout(()=>{document.body.removeAttribute("style")},200))},this.loadComponents=async()=>{document.querySelectorAll(".section").forEach(n=>{const o=[],a=n.querySelectorAll("[data-block-name]");if(!a.length){n.style.removeProperty("display");return}a.forEach(i=>{i.style.display="none",o.push({name:i.dataset.blockName,element:i})}),o.length&&o.forEach(async i=>{const l=await j(()=>import(`${window.hlx.codeBasePath}/dist/${i.name}/${i.name}.js`),__vite__mapDeps([]));l.default&&await l.default(i.element)}),n.style.removeProperty("display")})}}setup(){window.hlx=window.hlx||{},window.hlx.RUM_MASK_URL="full",window.hlx.codeBasePath="",window.hlx.lighthouse=new URLSearchParams(window.location.search).get("lighthouse")==="on";const e=document.querySelector('script[src$="/scripts/scripts.js"]');if(e)try{[window.hlx.codeBasePath]=new URL(e.src).pathname.split("/scripts/scripts.js")}catch(t){console.log(t)}}addSidebarContainer(e){const t=document.createElement("sidebar-component");t.setAttribute("id","sidebar"),e.after(t)}addInnerContainer(e){const t=e.innerHTML;e.innerHTML=`
    ${t}
    `}decorateTemplateAndTheme(){const e=S("template");e&&y(document.body,e);const t=S("theme");t&&y(document.body,t)}}(async function(){const s=new O,e=new k(s);await new D(e,s).init()})(); + */function _(s,e){return(t,n,r)=>{const a=i=>{var c;return((c=i.renderRoot)==null?void 0:c.querySelector(s))??null};if(e){const{get:i,set:c}=typeof n=="object"?t:r??(()=>{const o=Symbol();return{get(){return this[o]},set(l){this[o]=l}}})();return g(t,n,{get(){let o=i.call(this);return o===void 0&&(o=a(this),(o!==null||this.hasUpdated)&&c.call(this,o)),o}})}return g(t,n,{get(){return a(this)}})}}var L=Object.defineProperty,P=Object.getOwnPropertyDescriptor,S=(s,e,t,n)=>{for(var r=n>1?void 0:n?P(e,t):e,a=s.length-1,i;a>=0;a--)(i=s[a])&&(r=(n?i(e,t,r):i(r))||r);return n&&r&&L(e,t,r),r};let u=class extends v{constructor(){super(...arguments),this.getSubmenuName=s=>s.path.split("/")[1],this.groupByFirstLevelPath=s=>{const e={};return s.forEach(n=>{const r=this.getSubmenuName(n);e[r]||(e[r]=[]),e[r].push({path:n.path,navtitle:this.getNavTitle(n)})}),Object.values(e).map(n=>n.length===1?n[0]:{navtitle:n[0].path.split("/")[1],path:n[0].path,children:n})}}createRenderRoot(){return this}async firstUpdated(){const s=await this.fetchSitemap();this.items=this.groupByFirstLevelPath(s)}render(){if(this.items)return d``}renderSubMenu(s){return d`${s.navtitle}`}renderMenuItem(s){return d`
  • ${s.children!==void 0?this.renderSubMenu(s):d`${s.navtitle}`}
  • `}renderMenuItems(){return d`
      ${this.items.map(s=>this.renderMenuItem(s))}
    `}async fetchSitemap(){return(await(await fetch(`${window.hlx.codeBasePath}/query-index.json`)).json()).data}getNavTitle(s){return s.path==="/"?"Homepage":s.navtitle||s.title}};S([E()],u.prototype,"items",2);u=S([y("sidebar-nav")],u);var j=Object.defineProperty,M=Object.getOwnPropertyDescriptor,b=(s,e,t,n)=>{for(var r=n>1?void 0:n?M(e,t):e,a=s.length-1,i;a>=0;a--)(i=s[a])&&(r=(n?i(e,t,r):i(r))||r);return n&&r&&j(e,t,r),r};let p=class extends v{constructor(){super(...arguments),this.handleToggleClick=s=>{s.preventDefault(),console.log("this",this),this.classList.toggle("inactive")}}createRenderRoot(){return this}firstUpdated(){this.toggle.addEventListener("click",this.handleToggleClick),console.log("toggle",this)}render(){return d`
    `}};b([_(".toggle")],p.prototype,"toggle",2);p=b([y("sidebar-component")],p);class q{readBlockConfig(e){const t={};return e.querySelectorAll(":scope > div").forEach(n=>{if(n.children){const r=[...n.children];if(r[1]){const a=r[1],i=h(r[0].textContent??"");let c="";if(a.querySelector("a")){const o=[...a.querySelectorAll("a")];o.length===1?c=o[0].href:c=o.map(l=>l.href)}else if(a.querySelector("img")){const o=[...a.querySelectorAll("img")];o.length===1?c=o[0].src:c=o.map(l=>l.src)}else if(a.querySelector("p")){const o=[...a.querySelectorAll("p")];o.length===1?c=o[0].textContent:c=o.map(l=>l.textContent)}else c=n.children[1].textContent;t[i]=c}}}),t}decorateBlocks(e){e.querySelectorAll("div.section > div > div").forEach(this.decorateBlock)}decorateBlock(e){const t=e.classList[0];if(t){e.classList.add("block"),e.dataset.blockName=t;const n=e.parentElement;n==null||n.classList.add(`${t}-wrapper`);const r=e.closest(".section");r&&r.classList.add(`${t}-container`)}}}class x{constructor(e){this.blockService=e}init(e){this.transformSection(e)}transformSection(e){e.querySelectorAll(":scope > div").forEach(t=>{this.adjustMarkup(t),this.processSectionMetaData(t)})}processSectionMetaData(e){const t=e.querySelector("div.section-metadata");if(t){const n=this.blockService.readBlockConfig(t);Object.keys(n).forEach(r=>{r==="style"?n.style.split(",").filter(i=>i).map(i=>h(i.trim())).forEach(i=>e.classList.add(i)):e.dataset[$(r)]=n[r]}),t.parentElement&&t.parentElement.remove()}}adjustMarkup(e){const t=[];let n=!1;[...e.children].forEach(r=>{if(r.tagName==="DIV"||!n){const a=document.createElement("div");t.push(a),n=r.tagName!=="DIV",n&&a.classList.add("default-content-wrapper")}t[t.length-1].append(r)}),t.forEach(r=>e.append(r)),e.classList.add("section"),e.dataset.sectionStatus="initialized",e.style.display="none"}}class A{constructor(e,t){this.sectionService=e,this.blockService=t,this.init=async()=>{this.setup(),await this.loadEager()},this.loadEager=async()=>{if(document.documentElement.lang="en",this.decorateTemplateAndTheme(),document){const r=document.querySelector("body");r&&(r.style.display="none")}const n=document.querySelector("main");n&&(n.setAttribute("id","main"),this.addSidebarContainer(n),this.sectionService.init(n),this.addInnerContainer(n),this.blockService.decorateBlocks(n),await this.loadComponents(),setTimeout(()=>{document.body.removeAttribute("style")},200))},this.loadComponents=async()=>{document.querySelectorAll(".section").forEach(r=>{const a=[],i=r.querySelectorAll("[data-block-name]");if(!i.length){r.style.removeProperty("display");return}i.forEach(c=>{c.style.display="none",a.push({name:c.dataset.blockName,element:c})}),a.length&&a.forEach(async c=>{const o=await w(()=>import(`${window.hlx.codeBasePath}/dist/${c.name}/${c.name}.js`),__vite__mapDeps([]));o.default&&await o.default(c.element)}),r.style.removeProperty("display")})}}setup(){window.hlx=window.hlx||{},window.hlx.RUM_MASK_URL="full",window.hlx.codeBasePath="",window.hlx.lighthouse=new URLSearchParams(window.location.search).get("lighthouse")==="on";const e=document.querySelector('script[src$="/scripts/scripts.js"]');if(e)try{[window.hlx.codeBasePath]=new URL(e.src).pathname.split("/scripts/scripts.js")}catch(t){console.log(t)}}addSidebarContainer(e){const t=document.createElement("sidebar-component");t.setAttribute("id","sidebar"),e.after(t)}addInnerContainer(e){const t=e.innerHTML;e.innerHTML=`
    ${t}
    `}decorateTemplateAndTheme(){const e=f("template");e&&m(document.body,e);const t=f("theme");t&&m(document.body,t)}}(async function(){const s=new q,e=new x(s);await new A(e,s).init()})(); function __vite__mapDeps(indexes) { if (!__vite__mapDeps.viteFileDeps) { __vite__mapDeps.viteFileDeps = [] diff --git a/dist/main/main.js.map b/dist/main/main.js.map index abdd25ab..4867ca59 100644 --- a/dist/main/main.js.map +++ b/dist/main/main.js.map @@ -1 +1 @@ -{"version":3,"mappings":"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","names":["toClassName","name","addClasses","element","classes","c","getMetadata","doc","attr","meta","m","toCamelCase","g","r","t","e","n","s","i","_a","SidebarNav","LitElement","entry","data","groups","item","firstLevelPath","group","sitemap","html","target","child","__decorateClass","state","customElement","SidebarComponent","query","BlockService","block","config","row","cols","col","value","as","a","imgs","img","ps","p","main","shortBlockName","blockWrapper","section","SectionService","blockService","container","sectionMeta","key","style","wrappers","defaultContent","wrapper","Main","sectionService","body","components","blocks","component","componentModule","scriptEl","error","sidebarContainer","children","template","theme"],"sources":["../../src/utils/toClassName.ts","../../src/utils/addClasses.ts","../../src/utils/getMetadata.ts","../../src/utils/toCamelCase.ts","../../node_modules/@lit/reactive-element/decorators/state.js","../../node_modules/@lit/reactive-element/decorators/base.js","../../node_modules/@lit/reactive-element/decorators/query.js","../../src/components/sidebar/sidebarNav.ts","../../src/components/sidebar/sidebar.ts","../../src/main.ts"],"sourcesContent":["export function toClassName(name: string) {\n return typeof name === 'string'\n ? name\n .toLowerCase()\n .replace(/[^0-9a-z]/gi, '-')\n .replace(/-+/g, '-')\n .replace(/^-|-$/g, '')\n : '';\n}\n","import { toClassName } from './toClassName';\n\nexport const addClasses = (element: HTMLElement, classes: string) => {\n classes.split(',').forEach((c) => {\n element.classList.add(toClassName(c.trim()));\n });\n};\n","export function getMetadata(name: string, doc = document) {\n const attr = name && name.includes(':') ? 'property' : 'name';\n const metaTags: HTMLMetaElement[] =\n ([...doc.head.querySelectorAll(`meta[${attr}=\"${name}\"]`)] as HTMLMetaElement[]) || [];\n const meta = metaTags\n .map((m) => {\n return m.content;\n })\n .join(', ');\n return meta.length ? meta : '';\n}\n","import { toClassName } from './toClassName';\n\n/**\n * Sanitizes a string for use as a js property name.\n * @param {string} name The unsanitized string\n * @returns {string} The camelCased name\n */\nexport function toCamelCase(name: string) {\n return toClassName(name).replace(/-([a-z])/g, (g) => g[1].toUpperCase());\n}\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=(e,t,c)=>(c.configurable=!0,c.enumerable=!0,Reflect.decorate&&\"object\"!=typeof t&&Object.defineProperty(e,t,c),c);export{e as desc};\n//# sourceMappingURL=base.js.map\n","import{desc as t}from\"./base.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function e(e,r){return(n,s,i)=>{const o=t=>t.renderRoot?.querySelector(e)??null;if(r){const{get:e,set:r}=\"object\"==typeof s?n:i??(()=>{const t=Symbol();return{get(){return this[t]},set(e){this[t]=e}}})();return t(n,s,{get(){let t=e.call(this);return void 0===t&&(t=o(this),(null!==t||this.hasUpdated)&&r.call(this,t)),t}})}return t(n,s,{get(){return o(this)}})}}export{e as query};\n//# sourceMappingURL=query.js.map\n","import { html, LitElement } from 'lit';\nimport { customElement, state } from 'lit/decorators.js';\n\ntype SiteMapEntry = {\n path: string;\n title: string;\n description: string;\n lastModified: string; // Assuming this is a string representing a timestamp\n image: string;\n imagealt: string;\n navtitle: string;\n 'nav-test': string;\n imageAlt: string;\n};\n\ninterface SubMenuItem {\n path: string;\n navtitle: string;\n}\n\ninterface MenuItem {\n path: string;\n navtitle: string;\n children?: SubMenuItem[];\n}\n\ntype Sitemap = SiteMapEntry[];\n\n@customElement('sidebar-nav')\nexport class SidebarNav extends LitElement {\n @state()\n items: MenuItem[];\n\n protected createRenderRoot(): HTMLElement | DocumentFragment {\n return this;\n }\n\n async firstUpdated() {\n const sitemap = await this.fetchSitemap();\n this.items = this.groupByFirstLevelPath(sitemap);\n }\n\n render() {\n if (!this.items) return;\n return html` `;\n }\n\n private renderSubMenu(item) {\n return html` target.classList.toggle('active')}\" class=\"opener\"\n >${item.navtitle}\n `;\n }\n\n private renderMenuItem(item) {\n return html`
  • \n ${item.children !== undefined ? this.renderSubMenu(item) : html`${item.navtitle}`}\n
  • `;\n }\n\n private renderMenuItems() {\n return html`
      \n ${this.items.map((item) => this.renderMenuItem(item))}\n
    `;\n }\n\n private async fetchSitemap(): Promise {\n const response = await fetch(`${window.hlx.codeBasePath}/query-index.json`);\n const json = await response.json();\n return json.data;\n }\n\n private getSubmenuName = (entry: SiteMapEntry) => {\n return entry.path.split('/')[1];\n };\n\n private getNavTitle(item: SiteMapEntry) {\n if (item.path === '/') return 'Homepage';\n return item.navtitle || item.title;\n }\n\n groupByFirstLevelPath = (data: Sitemap) => {\n const groups = {};\n data.forEach((item) => {\n const firstLevelPath = this.getSubmenuName(item); // Extracting the first level of the path\n if (!groups[firstLevelPath]) {\n groups[firstLevelPath] = [];\n }\n groups[firstLevelPath].push({\n path: item.path,\n navtitle: this.getNavTitle(item),\n });\n });\n\n const groupedData = Object.values(groups);\n\n return groupedData.map((group: MenuItem[]) => {\n if (group.length === 1) {\n return group[0];\n }\n\n return {\n navtitle: group[0].path.split('/')[1],\n path: group[0].path,\n children: group,\n };\n });\n };\n}\n","import { LitElement, html } from 'lit';\nimport { customElement, query } from 'lit/decorators.js';\nimport './sidebarNav.ts';\n\n@customElement('sidebar-component')\nexport class SidebarComponent extends LitElement {\n protected createRenderRoot(): HTMLElement | DocumentFragment {\n return this;\n }\n\n @query('.toggle')\n toggle: HTMLAnchorElement;\n\n firstUpdated(): void {\n this.toggle.addEventListener('click', this.handleToggleClick);\n console.log('toggle', this);\n }\n\n handleToggleClick = (e: Event) => {\n e.preventDefault();\n console.log('this', this);\n this.classList.toggle('inactive');\n };\n\n render() {\n return html`\n
    \n \n
    \n Toggle\n `;\n }\n}\n","// const LCP_BLOCKS: string[] = []; // add your LCP blocks to the list\n\nimport { addClasses } from '../src/utils/addClasses';\nimport { getMetadata } from '../src/utils/getMetadata';\nimport { toCamelCase } from '../src/utils/toCamelCase';\nimport { toClassName } from '../src/utils/toClassName';\nimport './components/sidebar/sidebar.ts';\n\ntype ComponentMapping = {\n name: string;\n element: HTMLDivElement;\n};\n\nclass BlockService {\n //TODO: Provider for fetch data\n\n /**\n * Extracts the config from a block.\n * @param {Element} block The block element\n * @returns {object} The block config\n */\n readBlockConfig(block: Element): Record {\n const config: Record = {};\n block.querySelectorAll(':scope > div').forEach((row) => {\n if (row.children) {\n const cols = [...row.children];\n if (cols[1]) {\n const col = cols[1];\n const name = toClassName(cols[0].textContent ?? '');\n let value: any = '';\n if (col.querySelector('a')) {\n const as = [...col.querySelectorAll('a')];\n if (as.length === 1) {\n value = as[0].href;\n } else {\n value = as.map((a) => a.href);\n }\n } else if (col.querySelector('img')) {\n const imgs = [...col.querySelectorAll('img')];\n if (imgs.length === 1) {\n value = imgs[0].src;\n } else {\n value = imgs.map((img) => img.src);\n }\n } else if (col.querySelector('p')) {\n const ps = [...col.querySelectorAll('p')];\n if (ps.length === 1) {\n value = ps[0].textContent;\n } else {\n value = ps.map((p) => p.textContent);\n }\n } else value = row.children[1].textContent;\n config[name] = value;\n }\n }\n });\n return config;\n }\n\n /**\n * Decorates all blocks in a container element.\n * @param {Element} main The container element\n */\n decorateBlocks(main: HTMLElement) {\n main.querySelectorAll('div.section > div > div').forEach(this.decorateBlock);\n }\n\n /**\n * Decorates a block.\n * @param {Element} block The block element\n */\n private decorateBlock(block: HTMLElement) {\n const shortBlockName = block.classList[0];\n if (shortBlockName) {\n block.classList.add('block');\n block.dataset.blockName = shortBlockName;\n const blockWrapper = block.parentElement;\n blockWrapper?.classList.add(`${shortBlockName}-wrapper`);\n const section = block.closest('.section');\n if (section) section.classList.add(`${shortBlockName}-container`);\n }\n }\n}\n\nclass SectionService {\n constructor(private blockService: BlockService) {}\n\n init(container: HTMLElement) {\n this.transformSection(container);\n }\n\n /**\n * Decorates all sections in a container element.\n * @param {Element} main The container element\n */\n private transformSection(main: HTMLElement) {\n main.querySelectorAll(':scope > div').forEach((section) => {\n this.adjustMarkup(section);\n this.processSectionMetaData(section);\n });\n }\n\n private processSectionMetaData(section: HTMLElement) {\n // Process section metadata\n const sectionMeta = section.querySelector('div.section-metadata');\n if (sectionMeta) {\n const meta = this.blockService.readBlockConfig(sectionMeta);\n Object.keys(meta).forEach((key) => {\n if (key === 'style') {\n const styles = meta.style\n .split(',')\n .filter((style: string) => style)\n .map((style: string) => toClassName(style.trim()));\n styles.forEach((style: string) => section.classList.add(style));\n } else {\n section.dataset[toCamelCase(key)] = meta[key];\n }\n });\n if (sectionMeta.parentElement) sectionMeta.parentElement.remove();\n }\n }\n\n private adjustMarkup(section: HTMLDivElement) {\n const wrappers: HTMLDivElement[] = [];\n let defaultContent = false;\n [...section.children].forEach((e) => {\n if (e.tagName === 'DIV' || !defaultContent) {\n const wrapper = document.createElement('div');\n wrappers.push(wrapper);\n defaultContent = e.tagName !== 'DIV';\n if (defaultContent) wrapper.classList.add('default-content-wrapper');\n }\n wrappers[wrappers.length - 1].append(e);\n });\n wrappers.forEach((wrapper) => section.append(wrapper));\n section.classList.add('section');\n section.dataset.sectionStatus = 'initialized';\n section.style.display = 'none';\n }\n}\n\nclass Main {\n constructor(\n private sectionService: SectionService,\n private blockService: BlockService\n ) {}\n\n init = async () => {\n this.setup();\n await this.loadEager();\n };\n\n /**\n * Setup block utils.\n */\n private setup() {\n window.hlx = window.hlx || {};\n window.hlx.RUM_MASK_URL = 'full';\n window.hlx.codeBasePath = '';\n window.hlx.lighthouse = new URLSearchParams(window.location.search).get('lighthouse') === 'on';\n\n const scriptEl = document.querySelector('script[src$=\"/scripts/scripts.js\"]') as HTMLScriptElement;\n if (scriptEl) {\n try {\n [window.hlx.codeBasePath] = new URL(scriptEl.src).pathname.split('/scripts/scripts.js');\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log(error);\n }\n }\n }\n\n private loadEager = async () => {\n // TODO: how to support different languages here\n document.documentElement.lang = 'en';\n this.decorateTemplateAndTheme();\n if (document) {\n const body = document.querySelector('body');\n if (body) {\n body.style.display = 'none';\n }\n }\n const main = document.querySelector('main');\n if (main) {\n main.setAttribute('id', 'main');\n this.addSidebarContainer(main);\n this.sectionService.init(main);\n this.addInnerContainer(main); // TODO refactor initializing\n this.blockService.decorateBlocks(main);\n await this.loadComponents();\n // TODO: Performace adjustment\n setTimeout(() => {\n document.body.removeAttribute('style');\n }, 200);\n\n // await this.waitForLCP(LCP_BLOCKS);\n }\n };\n\n private addSidebarContainer(main: HTMLElement) {\n const sidebarContainer = document.createElement('sidebar-component');\n sidebarContainer.setAttribute('id', 'sidebar');\n main.after(sidebarContainer);\n }\n\n private addInnerContainer(main: HTMLElement) {\n const children = main.innerHTML;\n main.innerHTML = `
    ${children}
    `;\n }\n\n // private loadLazy = async () => {};\n\n private decorateTemplateAndTheme() {\n const template = getMetadata('template');\n if (template) addClasses(document.body, template);\n const theme = getMetadata('theme');\n if (theme) addClasses(document.body, theme);\n }\n\n private loadComponents = async () => {\n const sections = document.querySelectorAll('.section');\n sections.forEach((section) => {\n const components: ComponentMapping[] = [];\n const blocks = section.querySelectorAll('[data-block-name]');\n if (!blocks.length) {\n section.style.removeProperty('display');\n return;\n }\n blocks.forEach((block: HTMLDivElement) => {\n block.style.display = 'none';\n components.push({\n name: block.dataset['blockName'] as string,\n element: block,\n });\n });\n if (components.length) {\n components.forEach(async (component) => {\n const componentModule = await import(\n `${window.hlx.codeBasePath}/dist/${component.name}/${component.name}.js`\n );\n if (componentModule.default) {\n await componentModule.default(component.element);\n }\n });\n }\n section.style.removeProperty('display');\n });\n };\n}\n\n(async function () {\n const blockService = new BlockService();\n const sectionService = new SectionService(blockService);\n const main = new Main(sectionService, blockService);\n await main.init();\n})();\n\n// /**\n// * Loads JS and CSS for a block.\n// * @param {Element} block The block element\n// */\n// async function loadBlock(block) {\n// const status = block.dataset.blockStatus;\n// if (status !== 'loading' && status !== 'loaded') {\n// block.dataset.blockStatus = 'loading';\n// const { blockName } = block.dataset;\n// try {\n// const cssLoaded = loadCSS(`${window.hlx.codeBasePath}/blocks/${blockName}/${blockName}.css`);\n// const decorationComplete = new Promise((resolve) => {\n// (async () => {\n// try {\n// const mod = await import(`${window.hlx.codeBasePath}/blocks/${blockName}/${blockName}.js`);\n// if (mod.default) {\n// await mod.default(block);\n// }\n// } catch (error) {\n// // eslint-disable-next-line no-console\n// console.log(`failed to load module for ${blockName}`, error);\n// }\n// resolve();\n// })();\n// });\n// await Promise.all([cssLoaded, decorationComplete]);\n// } catch (error) {\n// // eslint-disable-next-line no-console\n// console.log(`failed to load block ${blockName}`, error);\n// }\n// block.dataset.blockStatus = 'loaded';\n// }\n// return block;\n// }\n\ndeclare global {\n interface Window {\n hlx: {\n RUM_MASK_URL: string;\n codeBasePath: string;\n lighthouse: boolean;\n };\n }\n}\n"],"file":"main/main.js"} \ No newline at end of file +{"version":3,"mappings":"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","names":["toClassName","name","addClasses","element","classes","c","getMetadata","doc","attr","meta","m","toCamelCase","g","r","t","e","n","s","i","o","_a","SidebarNav","LitElement","entry","data","groups","item","firstLevelPath","group","sitemap","html","target","child","__decorateClass","state","customElement","SidebarComponent","query","BlockService","block","config","row","cols","col","value","as","a","imgs","img","ps","p","main","shortBlockName","blockWrapper","section","SectionService","blockService","container","sectionMeta","key","style","wrappers","defaultContent","wrapper","Main","sectionService","body","components","blocks","component","componentModule","scriptEl","error","sidebarContainer","children","template","theme"],"sources":["../../src/utils/toClassName.ts","../../src/utils/addClasses.ts","../../src/utils/getMetadata.ts","../../src/utils/toCamelCase.ts","../../node_modules/@lit/reactive-element/decorators/state.js","../../node_modules/@lit/reactive-element/decorators/base.js","../../node_modules/@lit/reactive-element/decorators/query.js","../../src/components/sidebar/sidebarNav.ts","../../src/components/sidebar/sidebar.ts","../../src/main.ts"],"sourcesContent":["export function toClassName(name: string) {\n return typeof name === 'string'\n ? name\n .toLowerCase()\n .replace(/[^0-9a-z]/gi, '-')\n .replace(/-+/g, '-')\n .replace(/^-|-$/g, '')\n : '';\n}\n","import { toClassName } from './toClassName';\n\nexport const addClasses = (element: HTMLElement, classes: string) => {\n classes.split(',').forEach((c) => {\n element.classList.add(toClassName(c.trim()));\n });\n};\n","export function getMetadata(name: string, doc = document) {\n const attr = name && name.includes(':') ? 'property' : 'name';\n const metaTags: HTMLMetaElement[] =\n ([...doc.head.querySelectorAll(`meta[${attr}=\"${name}\"]`)] as HTMLMetaElement[]) || [];\n const meta = metaTags\n .map((m) => {\n return m.content;\n })\n .join(', ');\n return meta.length ? meta : '';\n}\n","import { toClassName } from './toClassName';\n\n/**\n * Sanitizes a string for use as a js property name.\n * @param {string} name The unsanitized string\n * @returns {string} The camelCased name\n */\nexport function toCamelCase(name: string) {\n return toClassName(name).replace(/-([a-z])/g, (g) => g[1].toUpperCase());\n}\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=(e,t,c)=>(c.configurable=!0,c.enumerable=!0,Reflect.decorate&&\"object\"!=typeof t&&Object.defineProperty(e,t,c),c);export{e as desc};\n//# sourceMappingURL=base.js.map\n","import{desc as t}from\"./base.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function e(e,r){return(n,s,i)=>{const o=t=>t.renderRoot?.querySelector(e)??null;if(r){const{get:e,set:r}=\"object\"==typeof s?n:i??(()=>{const t=Symbol();return{get(){return this[t]},set(e){this[t]=e}}})();return t(n,s,{get(){let t=e.call(this);return void 0===t&&(t=o(this),(null!==t||this.hasUpdated)&&r.call(this,t)),t}})}return t(n,s,{get(){return o(this)}})}}export{e as query};\n//# sourceMappingURL=query.js.map\n","import { html, LitElement } from 'lit';\nimport { customElement, state } from 'lit/decorators.js';\n\ntype SiteMapEntry = {\n path: string;\n title: string;\n description: string;\n lastModified: string; // Assuming this is a string representing a timestamp\n image: string;\n imagealt: string;\n navtitle: string;\n 'nav-test': string;\n imageAlt: string;\n};\n\ninterface SubMenuItem {\n path: string;\n navtitle: string;\n}\n\ninterface MenuItem {\n path: string;\n navtitle: string;\n children?: SubMenuItem[];\n}\n\ntype Sitemap = SiteMapEntry[];\n\n@customElement('sidebar-nav')\nexport class SidebarNav extends LitElement {\n @state()\n items: MenuItem[];\n\n protected createRenderRoot(): HTMLElement | DocumentFragment {\n return this;\n }\n\n async firstUpdated() {\n const sitemap = await this.fetchSitemap();\n this.items = this.groupByFirstLevelPath(sitemap);\n }\n\n render() {\n if (!this.items) return;\n return html` `;\n }\n\n private renderSubMenu(item) {\n return html` target.classList.toggle('active')}\" class=\"opener\"\n >${item.navtitle}\n `;\n }\n\n private renderMenuItem(item) {\n return html`
  • \n ${item.children !== undefined ? this.renderSubMenu(item) : html`${item.navtitle}`}\n
  • `;\n }\n\n private renderMenuItems() {\n return html`
      \n ${this.items.map((item) => this.renderMenuItem(item))}\n
    `;\n }\n\n private async fetchSitemap(): Promise {\n const response = await fetch(`${window.hlx.codeBasePath}/query-index.json`);\n const json = await response.json();\n return json.data;\n }\n\n private getSubmenuName = (entry: SiteMapEntry) => {\n return entry.path.split('/')[1];\n };\n\n private getNavTitle(item: SiteMapEntry) {\n if (item.path === '/') return 'Homepage';\n return item.navtitle || item.title;\n }\n\n groupByFirstLevelPath = (data: Sitemap) => {\n const groups = {};\n data.forEach((item) => {\n const firstLevelPath = this.getSubmenuName(item); // Extracting the first level of the path\n if (!groups[firstLevelPath]) {\n groups[firstLevelPath] = [];\n }\n groups[firstLevelPath].push({\n path: item.path,\n navtitle: this.getNavTitle(item),\n });\n });\n\n const groupedData = Object.values(groups);\n\n return groupedData.map((group: MenuItem[]) => {\n if (group.length === 1) {\n return group[0];\n }\n\n return {\n navtitle: group[0].path.split('/')[1],\n path: group[0].path,\n children: group,\n };\n });\n };\n}\n","import { LitElement, html } from 'lit';\nimport { customElement, query } from 'lit/decorators.js';\nimport './sidebarNav.ts';\n\n@customElement('sidebar-component')\nexport class SidebarComponent extends LitElement {\n @query('.toggle')\n toggle: HTMLAnchorElement;\n\n protected createRenderRoot(): HTMLElement | DocumentFragment {\n return this;\n }\n\n firstUpdated(): void {\n this.toggle.addEventListener('click', this.handleToggleClick);\n console.log('toggle', this);\n }\n\n handleToggleClick = (e: Event) => {\n e.preventDefault();\n console.log('this', this);\n this.classList.toggle('inactive');\n };\n\n render() {\n return html`\n
    \n \n
    \n \n `;\n }\n}\n","// const LCP_BLOCKS: string[] = []; // add your LCP blocks to the list\n\nimport { addClasses } from '../src/utils/addClasses';\nimport { getMetadata } from '../src/utils/getMetadata';\nimport { toCamelCase } from '../src/utils/toCamelCase';\nimport { toClassName } from '../src/utils/toClassName';\nimport './components/sidebar/sidebar.ts';\n\ntype ComponentMapping = {\n name: string;\n element: HTMLDivElement;\n};\n\nclass BlockService {\n //TODO: Provider for fetch data\n\n /**\n * Extracts the config from a block.\n * @param {Element} block The block element\n * @returns {object} The block config\n */\n readBlockConfig(block: Element): Record {\n const config: Record = {};\n block.querySelectorAll(':scope > div').forEach((row) => {\n if (row.children) {\n const cols = [...row.children];\n if (cols[1]) {\n const col = cols[1];\n const name = toClassName(cols[0].textContent ?? '');\n let value: any = '';\n if (col.querySelector('a')) {\n const as = [...col.querySelectorAll('a')];\n if (as.length === 1) {\n value = as[0].href;\n } else {\n value = as.map((a) => a.href);\n }\n } else if (col.querySelector('img')) {\n const imgs = [...col.querySelectorAll('img')];\n if (imgs.length === 1) {\n value = imgs[0].src;\n } else {\n value = imgs.map((img) => img.src);\n }\n } else if (col.querySelector('p')) {\n const ps = [...col.querySelectorAll('p')];\n if (ps.length === 1) {\n value = ps[0].textContent;\n } else {\n value = ps.map((p) => p.textContent);\n }\n } else value = row.children[1].textContent;\n config[name] = value;\n }\n }\n });\n return config;\n }\n\n /**\n * Decorates all blocks in a container element.\n * @param {Element} main The container element\n */\n decorateBlocks(main: HTMLElement) {\n main.querySelectorAll('div.section > div > div').forEach(this.decorateBlock);\n }\n\n /**\n * Decorates a block.\n * @param {Element} block The block element\n */\n private decorateBlock(block: HTMLElement) {\n const shortBlockName = block.classList[0];\n if (shortBlockName) {\n block.classList.add('block');\n block.dataset.blockName = shortBlockName;\n const blockWrapper = block.parentElement;\n blockWrapper?.classList.add(`${shortBlockName}-wrapper`);\n const section = block.closest('.section');\n if (section) section.classList.add(`${shortBlockName}-container`);\n }\n }\n}\n\nclass SectionService {\n constructor(private blockService: BlockService) {}\n\n init(container: HTMLElement) {\n this.transformSection(container);\n }\n\n /**\n * Decorates all sections in a container element.\n * @param {Element} main The container element\n */\n private transformSection(main: HTMLElement) {\n main.querySelectorAll(':scope > div').forEach((section) => {\n this.adjustMarkup(section);\n this.processSectionMetaData(section);\n });\n }\n\n private processSectionMetaData(section: HTMLElement) {\n // Process section metadata\n const sectionMeta = section.querySelector('div.section-metadata');\n if (sectionMeta) {\n const meta = this.blockService.readBlockConfig(sectionMeta);\n Object.keys(meta).forEach((key) => {\n if (key === 'style') {\n const styles = meta.style\n .split(',')\n .filter((style: string) => style)\n .map((style: string) => toClassName(style.trim()));\n styles.forEach((style: string) => section.classList.add(style));\n } else {\n section.dataset[toCamelCase(key)] = meta[key];\n }\n });\n if (sectionMeta.parentElement) sectionMeta.parentElement.remove();\n }\n }\n\n private adjustMarkup(section: HTMLDivElement) {\n const wrappers: HTMLDivElement[] = [];\n let defaultContent = false;\n [...section.children].forEach((e) => {\n if (e.tagName === 'DIV' || !defaultContent) {\n const wrapper = document.createElement('div');\n wrappers.push(wrapper);\n defaultContent = e.tagName !== 'DIV';\n if (defaultContent) wrapper.classList.add('default-content-wrapper');\n }\n wrappers[wrappers.length - 1].append(e);\n });\n wrappers.forEach((wrapper) => section.append(wrapper));\n section.classList.add('section');\n section.dataset.sectionStatus = 'initialized';\n section.style.display = 'none';\n }\n}\n\nclass Main {\n constructor(\n private sectionService: SectionService,\n private blockService: BlockService\n ) {}\n\n init = async () => {\n this.setup();\n await this.loadEager();\n };\n\n /**\n * Setup block utils.\n */\n private setup() {\n window.hlx = window.hlx || {};\n window.hlx.RUM_MASK_URL = 'full';\n window.hlx.codeBasePath = '';\n window.hlx.lighthouse = new URLSearchParams(window.location.search).get('lighthouse') === 'on';\n\n const scriptEl = document.querySelector('script[src$=\"/scripts/scripts.js\"]') as HTMLScriptElement;\n if (scriptEl) {\n try {\n [window.hlx.codeBasePath] = new URL(scriptEl.src).pathname.split('/scripts/scripts.js');\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log(error);\n }\n }\n }\n\n private loadEager = async () => {\n // TODO: how to support different languages here\n document.documentElement.lang = 'en';\n this.decorateTemplateAndTheme();\n if (document) {\n const body = document.querySelector('body');\n if (body) {\n body.style.display = 'none';\n }\n }\n const main = document.querySelector('main');\n if (main) {\n main.setAttribute('id', 'main');\n this.addSidebarContainer(main);\n this.sectionService.init(main);\n this.addInnerContainer(main); // TODO refactor initializing\n this.blockService.decorateBlocks(main);\n await this.loadComponents();\n // TODO: Performace adjustment\n setTimeout(() => {\n document.body.removeAttribute('style');\n }, 200);\n\n // await this.waitForLCP(LCP_BLOCKS);\n }\n };\n\n private addSidebarContainer(main: HTMLElement) {\n const sidebarContainer = document.createElement('sidebar-component');\n sidebarContainer.setAttribute('id', 'sidebar');\n main.after(sidebarContainer);\n }\n\n private addInnerContainer(main: HTMLElement) {\n const children = main.innerHTML;\n main.innerHTML = `
    ${children}
    `;\n }\n\n // private loadLazy = async () => {};\n\n private decorateTemplateAndTheme() {\n const template = getMetadata('template');\n if (template) addClasses(document.body, template);\n const theme = getMetadata('theme');\n if (theme) addClasses(document.body, theme);\n }\n\n private loadComponents = async () => {\n const sections = document.querySelectorAll('.section');\n sections.forEach((section) => {\n const components: ComponentMapping[] = [];\n const blocks = section.querySelectorAll('[data-block-name]');\n if (!blocks.length) {\n section.style.removeProperty('display');\n return;\n }\n blocks.forEach((block: HTMLDivElement) => {\n block.style.display = 'none';\n components.push({\n name: block.dataset['blockName'] as string,\n element: block,\n });\n });\n if (components.length) {\n components.forEach(async (component) => {\n const componentModule = await import(\n `${window.hlx.codeBasePath}/dist/${component.name}/${component.name}.js`\n );\n if (componentModule.default) {\n await componentModule.default(component.element);\n }\n });\n }\n section.style.removeProperty('display');\n });\n };\n}\n\n(async function () {\n const blockService = new BlockService();\n const sectionService = new SectionService(blockService);\n const main = new Main(sectionService, blockService);\n await main.init();\n})();\n\n// /**\n// * Loads JS and CSS for a block.\n// * @param {Element} block The block element\n// */\n// async function loadBlock(block) {\n// const status = block.dataset.blockStatus;\n// if (status !== 'loading' && status !== 'loaded') {\n// block.dataset.blockStatus = 'loading';\n// const { blockName } = block.dataset;\n// try {\n// const cssLoaded = loadCSS(`${window.hlx.codeBasePath}/blocks/${blockName}/${blockName}.css`);\n// const decorationComplete = new Promise((resolve) => {\n// (async () => {\n// try {\n// const mod = await import(`${window.hlx.codeBasePath}/blocks/${blockName}/${blockName}.js`);\n// if (mod.default) {\n// await mod.default(block);\n// }\n// } catch (error) {\n// // eslint-disable-next-line no-console\n// console.log(`failed to load module for ${blockName}`, error);\n// }\n// resolve();\n// })();\n// });\n// await Promise.all([cssLoaded, decorationComplete]);\n// } catch (error) {\n// // eslint-disable-next-line no-console\n// console.log(`failed to load block ${blockName}`, error);\n// }\n// block.dataset.blockStatus = 'loaded';\n// }\n// return block;\n// }\n\ndeclare global {\n interface Window {\n hlx: {\n RUM_MASK_URL: string;\n codeBasePath: string;\n lighthouse: boolean;\n };\n }\n}\n"],"file":"main/main.js"} \ No newline at end of file diff --git a/dist/styles/styles.css b/dist/styles/styles.css index 57f6af55..4834fc87 100644 --- a/dist/styles/styles.css +++ b/dist/styles/styles.css @@ -1 +1 @@ -@import"https://fonts.googleapis.com/css?family=Open+Sans:400,600,400italic,600italic|Roboto+Slab:400,700";html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}body{-webkit-text-size-adjust:none}mark{background-color:transparent;color:inherit}input::-moz-focus-inner{border:0;padding:0}input,select,textarea{-moz-appearance:none;-webkit-appearance:none;-ms-appearance:none;appearance:none}@-ms-viewport{width:device-width}body{-ms-overflow-style:scrollbar}@media screen and (max-width: 480px){html,body{min-width:320px}}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{background:#fff}body.is-preload *,body.is-preload *:before,body.is-preload *:after,body.is-resizing *,body.is-resizing *:before,body.is-resizing *:after{-moz-animation:none!important;-webkit-animation:none!important;-ms-animation:none!important;animation:none!important;-moz-transition:none!important;-webkit-transition:none!important;-ms-transition:none!important;transition:none!important}body{display:flex;flex-direction:row-reverse;min-height:100vh}body>main{flex-grow:1;flex-shrink:1;width:100%}body,input,select,textarea{color:#7f888f;font-family:Open Sans,sans-serif;font-size:13pt;font-weight:400;line-height:1.65}@media screen and (max-width: 1680px){body,input,select,textarea{font-size:11pt}}@media screen and (max-width: 1280px){body,input,select,textarea{font-size:10pt}}@media screen and (max-width: 360px){body,input,select,textarea{font-size:9pt}}a{-moz-transition:color .2s ease-in-out,border-bottom-color .2s ease-in-out;-webkit-transition:color .2s ease-in-out,border-bottom-color .2s ease-in-out;-ms-transition:color .2s ease-in-out,border-bottom-color .2s ease-in-out;transition:color .2s ease-in-out,border-bottom-color .2s ease-in-out;border-bottom:dotted 1px;color:#f56a6a;text-decoration:none}a:hover{border-bottom-color:#f56a6a;color:#f56a6a!important}a:hover strong{color:inherit}strong,b{color:#3d4449;font-weight:600}em,i{font-style:italic}p{margin:0 0 2em}h1,h2,h3,h4,h5,h6{color:#3d4449;font-family:Roboto Slab,serif;font-weight:700;line-height:1.5;margin:0 0 1em}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{color:inherit;text-decoration:none;border-bottom:0}h1{font-size:4em;margin:0 0 .5em;line-height:1.3}h2{font-size:1.75em}h3{font-size:1.25em}h4{font-size:1.1em}h5{font-size:.9em}h6{font-size:.7em}@media screen and (max-width: 1680px){h1{font-size:3.5em}}@media screen and (max-width: 980px){h1{font-size:3.25em}}@media screen and (max-width: 736px){h1{font-size:2em;line-height:1.4}h2{font-size:1.5em}}sub{font-size:.8em;position:relative;top:.5em}sup{font-size:.8em;position:relative;top:-.5em}blockquote{border-left:solid 3px rgba(210,215,217,.75);font-style:italic;margin:0 0 2em;padding:.5em 0 .5em 2em}code{background:#e6ebed40;border-radius:.375em;border:solid 1px rgba(210,215,217,.75);font-family:Courier New,monospace;font-size:.9em;margin:0 .25em;padding:.25em .65em}pre{-webkit-overflow-scrolling:touch;font-family:Courier New,monospace;font-size:.9em;margin:0 0 2em}pre code{display:block;line-height:1.75;padding:1em 1.5em;overflow-x:auto}hr{border:0;border-bottom:solid 1px rgba(210,215,217,.75);margin:2em 0}hr.major{margin:3em 0}.align-left{text-align:left}.align-center{text-align:center}.align-right{text-align:right}.row{display:flex;flex-wrap:wrap;box-sizing:border-box;align-items:stretch}.row>*{box-sizing:border-box}.row.gtr-uniform>*>:last-child{margin-bottom:0}.row.aln-left{justify-content:flex-start}.row.aln-center{justify-content:center}.row.aln-right{justify-content:flex-end}.row.aln-top{align-items:flex-start}.row.aln-middle{align-items:center}.row.aln-bottom{align-items:flex-end}.row>.imp{order:-1}.row>.col-1{width:8.3333333333%}.row>.off-1{margin-left:8.3333333333%}.row>.col-2{width:16.6666666667%}.row>.off-2{margin-left:16.6666666667%}.row>.col-3{width:25%}.row>.off-3{margin-left:25%}.row>.col-4{width:33.3333333333%}.row>.off-4{margin-left:33.3333333333%}.row>.col-5{width:41.6666666667%}.row>.off-5{margin-left:41.6666666667%}.row>.col-6{width:50%}.row>.off-6{margin-left:50%}.row>.col-7{width:58.3333333333%}.row>.off-7{margin-left:58.3333333333%}.row>.col-8{width:66.6666666667%}.row>.off-8{margin-left:66.6666666667%}.row>.col-9{width:75%}.row>.off-9{margin-left:75%}.row>.col-10{width:83.3333333333%}.row>.off-10{margin-left:83.3333333333%}.row>.col-11{width:91.6666666667%}.row>.off-11{margin-left:91.6666666667%}.row>.col-12{width:100%}.row>.off-12{margin-left:100%}.row.gtr-0{margin-top:0;margin-left:0}.row.gtr-0>*{padding:0}.row.gtr-0.gtr-uniform{margin-top:0}.row.gtr-0.gtr-uniform>*{padding-top:0}.row.gtr-25{margin-top:0;margin-left:-.375em}.row.gtr-25>*{padding:0 0 0 .375em}.row.gtr-25.gtr-uniform{margin-top:-.375em}.row.gtr-25.gtr-uniform>*{padding-top:.375em}.row.gtr-50{margin-top:0;margin-left:-.75em}.row.gtr-50>*{padding:0 0 0 .75em}.row.gtr-50.gtr-uniform{margin-top:-.75em}.row.gtr-50.gtr-uniform>*{padding-top:.75em}.row{margin-top:0;margin-left:-1.5em}.row>*{padding:0 0 0 1.5em}.row.gtr-uniform{margin-top:-1.5em}.row.gtr-uniform>*{padding-top:1.5em}.row.gtr-150{margin-top:0;margin-left:-2.25em}.row.gtr-150>*{padding:0 0 0 2.25em}.row.gtr-150.gtr-uniform{margin-top:-2.25em}.row.gtr-150.gtr-uniform>*{padding-top:2.25em}.row.gtr-200{margin-top:0;margin-left:-3em}.row.gtr-200>*{padding:0 0 0 3em}.row.gtr-200.gtr-uniform{margin-top:-3em}.row.gtr-200.gtr-uniform>*{padding-top:3em}@media screen and (max-width: 1680px){.row{display:flex;flex-wrap:wrap;box-sizing:border-box;align-items:stretch}.row>*{box-sizing:border-box}.row.gtr-uniform>*>:last-child{margin-bottom:0}.row.aln-left{justify-content:flex-start}.row.aln-center{justify-content:center}.row.aln-right{justify-content:flex-end}.row.aln-top{align-items:flex-start}.row.aln-middle{align-items:center}.row.aln-bottom{align-items:flex-end}.row>.imp-xlarge{order:-1}.row>.col-1-xlarge{width:8.3333333333%}.row>.off-1-xlarge{margin-left:8.3333333333%}.row>.col-2-xlarge{width:16.6666666667%}.row>.off-2-xlarge{margin-left:16.6666666667%}.row>.col-3-xlarge{width:25%}.row>.off-3-xlarge{margin-left:25%}.row>.col-4-xlarge{width:33.3333333333%}.row>.off-4-xlarge{margin-left:33.3333333333%}.row>.col-5-xlarge{width:41.6666666667%}.row>.off-5-xlarge{margin-left:41.6666666667%}.row>.col-6-xlarge{width:50%}.row>.off-6-xlarge{margin-left:50%}.row>.col-7-xlarge{width:58.3333333333%}.row>.off-7-xlarge{margin-left:58.3333333333%}.row>.col-8-xlarge{width:66.6666666667%}.row>.off-8-xlarge{margin-left:66.6666666667%}.row>.col-9-xlarge{width:75%}.row>.off-9-xlarge{margin-left:75%}.row>.col-10-xlarge{width:83.3333333333%}.row>.off-10-xlarge{margin-left:83.3333333333%}.row>.col-11-xlarge{width:91.6666666667%}.row>.off-11-xlarge{margin-left:91.6666666667%}.row>.col-12-xlarge{width:100%}.row>.off-12-xlarge{margin-left:100%}.row.gtr-0{margin-top:0;margin-left:0}.row.gtr-0>*{padding:0}.row.gtr-0.gtr-uniform{margin-top:0}.row.gtr-0.gtr-uniform>*{padding-top:0}.row.gtr-25{margin-top:0;margin-left:-.375em}.row.gtr-25>*{padding:0 0 0 .375em}.row.gtr-25.gtr-uniform{margin-top:-.375em}.row.gtr-25.gtr-uniform>*{padding-top:.375em}.row.gtr-50{margin-top:0;margin-left:-.75em}.row.gtr-50>*{padding:0 0 0 .75em}.row.gtr-50.gtr-uniform{margin-top:-.75em}.row.gtr-50.gtr-uniform>*{padding-top:.75em}.row{margin-top:0;margin-left:-1.5em}.row>*{padding:0 0 0 1.5em}.row.gtr-uniform{margin-top:-1.5em}.row.gtr-uniform>*{padding-top:1.5em}.row.gtr-150{margin-top:0;margin-left:-2.25em}.row.gtr-150>*{padding:0 0 0 2.25em}.row.gtr-150.gtr-uniform{margin-top:-2.25em}.row.gtr-150.gtr-uniform>*{padding-top:2.25em}.row.gtr-200{margin-top:0;margin-left:-3em}.row.gtr-200>*{padding:0 0 0 3em}.row.gtr-200.gtr-uniform{margin-top:-3em}.row.gtr-200.gtr-uniform>*{padding-top:3em}}@media screen and (max-width: 1280px){.row{display:flex;flex-wrap:wrap;box-sizing:border-box;align-items:stretch}.row>*{box-sizing:border-box}.row.gtr-uniform>*>:last-child{margin-bottom:0}.row.aln-left{justify-content:flex-start}.row.aln-center{justify-content:center}.row.aln-right{justify-content:flex-end}.row.aln-top{align-items:flex-start}.row.aln-middle{align-items:center}.row.aln-bottom{align-items:flex-end}.row>.imp-large{order:-1}.row>.col-1-large{width:8.3333333333%}.row>.off-1-large{margin-left:8.3333333333%}.row>.col-2-large{width:16.6666666667%}.row>.off-2-large{margin-left:16.6666666667%}.row>.col-3-large{width:25%}.row>.off-3-large{margin-left:25%}.row>.col-4-large{width:33.3333333333%}.row>.off-4-large{margin-left:33.3333333333%}.row>.col-5-large{width:41.6666666667%}.row>.off-5-large{margin-left:41.6666666667%}.row>.col-6-large{width:50%}.row>.off-6-large{margin-left:50%}.row>.col-7-large{width:58.3333333333%}.row>.off-7-large{margin-left:58.3333333333%}.row>.col-8-large{width:66.6666666667%}.row>.off-8-large{margin-left:66.6666666667%}.row>.col-9-large{width:75%}.row>.off-9-large{margin-left:75%}.row>.col-10-large{width:83.3333333333%}.row>.off-10-large{margin-left:83.3333333333%}.row>.col-11-large{width:91.6666666667%}.row>.off-11-large{margin-left:91.6666666667%}.row>.col-12-large{width:100%}.row>.off-12-large{margin-left:100%}.row.gtr-0{margin-top:0;margin-left:0}.row.gtr-0>*{padding:0}.row.gtr-0.gtr-uniform{margin-top:0}.row.gtr-0.gtr-uniform>*{padding-top:0}.row.gtr-25{margin-top:0;margin-left:-.375em}.row.gtr-25>*{padding:0 0 0 .375em}.row.gtr-25.gtr-uniform{margin-top:-.375em}.row.gtr-25.gtr-uniform>*{padding-top:.375em}.row.gtr-50{margin-top:0;margin-left:-.75em}.row.gtr-50>*{padding:0 0 0 .75em}.row.gtr-50.gtr-uniform{margin-top:-.75em}.row.gtr-50.gtr-uniform>*{padding-top:.75em}.row{margin-top:0;margin-left:-1.5em}.row>*{padding:0 0 0 1.5em}.row.gtr-uniform{margin-top:-1.5em}.row.gtr-uniform>*{padding-top:1.5em}.row.gtr-150{margin-top:0;margin-left:-2.25em}.row.gtr-150>*{padding:0 0 0 2.25em}.row.gtr-150.gtr-uniform{margin-top:-2.25em}.row.gtr-150.gtr-uniform>*{padding-top:2.25em}.row.gtr-200{margin-top:0;margin-left:-3em}.row.gtr-200>*{padding:0 0 0 3em}.row.gtr-200.gtr-uniform{margin-top:-3em}.row.gtr-200.gtr-uniform>*{padding-top:3em}}@media screen and (max-width: 980px){.row{display:flex;flex-wrap:wrap;box-sizing:border-box;align-items:stretch}.row>*{box-sizing:border-box}.row.gtr-uniform>*>:last-child{margin-bottom:0}.row.aln-left{justify-content:flex-start}.row.aln-center{justify-content:center}.row.aln-right{justify-content:flex-end}.row.aln-top{align-items:flex-start}.row.aln-middle{align-items:center}.row.aln-bottom{align-items:flex-end}.row>.imp-medium{order:-1}.row>.col-1-medium{width:8.3333333333%}.row>.off-1-medium{margin-left:8.3333333333%}.row>.col-2-medium{width:16.6666666667%}.row>.off-2-medium{margin-left:16.6666666667%}.row>.col-3-medium{width:25%}.row>.off-3-medium{margin-left:25%}.row>.col-4-medium{width:33.3333333333%}.row>.off-4-medium{margin-left:33.3333333333%}.row>.col-5-medium{width:41.6666666667%}.row>.off-5-medium{margin-left:41.6666666667%}.row>.col-6-medium{width:50%}.row>.off-6-medium{margin-left:50%}.row>.col-7-medium{width:58.3333333333%}.row>.off-7-medium{margin-left:58.3333333333%}.row>.col-8-medium{width:66.6666666667%}.row>.off-8-medium{margin-left:66.6666666667%}.row>.col-9-medium{width:75%}.row>.off-9-medium{margin-left:75%}.row>.col-10-medium{width:83.3333333333%}.row>.off-10-medium{margin-left:83.3333333333%}.row>.col-11-medium{width:91.6666666667%}.row>.off-11-medium{margin-left:91.6666666667%}.row>.col-12-medium{width:100%}.row>.off-12-medium{margin-left:100%}.row.gtr-0{margin-top:0;margin-left:0}.row.gtr-0>*{padding:0}.row.gtr-0.gtr-uniform{margin-top:0}.row.gtr-0.gtr-uniform>*{padding-top:0}.row.gtr-25{margin-top:0;margin-left:-.375em}.row.gtr-25>*{padding:0 0 0 .375em}.row.gtr-25.gtr-uniform{margin-top:-.375em}.row.gtr-25.gtr-uniform>*{padding-top:.375em}.row.gtr-50{margin-top:0;margin-left:-.75em}.row.gtr-50>*{padding:0 0 0 .75em}.row.gtr-50.gtr-uniform{margin-top:-.75em}.row.gtr-50.gtr-uniform>*{padding-top:.75em}.row{margin-top:0;margin-left:-1.5em}.row>*{padding:0 0 0 1.5em}.row.gtr-uniform{margin-top:-1.5em}.row.gtr-uniform>*{padding-top:1.5em}.row.gtr-150{margin-top:0;margin-left:-2.25em}.row.gtr-150>*{padding:0 0 0 2.25em}.row.gtr-150.gtr-uniform{margin-top:-2.25em}.row.gtr-150.gtr-uniform>*{padding-top:2.25em}.row.gtr-200{margin-top:0;margin-left:-3em}.row.gtr-200>*{padding:0 0 0 3em}.row.gtr-200.gtr-uniform{margin-top:-3em}.row.gtr-200.gtr-uniform>*{padding-top:3em}}@media screen and (max-width: 736px){.row{display:flex;flex-wrap:wrap;box-sizing:border-box;align-items:stretch}.row>*{box-sizing:border-box}.row.gtr-uniform>*>:last-child{margin-bottom:0}.row.aln-left{justify-content:flex-start}.row.aln-center{justify-content:center}.row.aln-right{justify-content:flex-end}.row.aln-top{align-items:flex-start}.row.aln-middle{align-items:center}.row.aln-bottom{align-items:flex-end}.row>.imp-small{order:-1}.row>.col-1-small{width:8.3333333333%}.row>.off-1-small{margin-left:8.3333333333%}.row>.col-2-small{width:16.6666666667%}.row>.off-2-small{margin-left:16.6666666667%}.row>.col-3-small{width:25%}.row>.off-3-small{margin-left:25%}.row>.col-4-small{width:33.3333333333%}.row>.off-4-small{margin-left:33.3333333333%}.row>.col-5-small{width:41.6666666667%}.row>.off-5-small{margin-left:41.6666666667%}.row>.col-6-small{width:50%}.row>.off-6-small{margin-left:50%}.row>.col-7-small{width:58.3333333333%}.row>.off-7-small{margin-left:58.3333333333%}.row>.col-8-small{width:66.6666666667%}.row>.off-8-small{margin-left:66.6666666667%}.row>.col-9-small{width:75%}.row>.off-9-small{margin-left:75%}.row>.col-10-small{width:83.3333333333%}.row>.off-10-small{margin-left:83.3333333333%}.row>.col-11-small{width:91.6666666667%}.row>.off-11-small{margin-left:91.6666666667%}.row>.col-12-small{width:100%}.row>.off-12-small{margin-left:100%}.row.gtr-0{margin-top:0;margin-left:0}.row.gtr-0>*{padding:0}.row.gtr-0.gtr-uniform{margin-top:0}.row.gtr-0.gtr-uniform>*{padding-top:0}.row.gtr-25{margin-top:0;margin-left:-.375em}.row.gtr-25>*{padding:0 0 0 .375em}.row.gtr-25.gtr-uniform{margin-top:-.375em}.row.gtr-25.gtr-uniform>*{padding-top:.375em}.row.gtr-50{margin-top:0;margin-left:-.75em}.row.gtr-50>*{padding:0 0 0 .75em}.row.gtr-50.gtr-uniform{margin-top:-.75em}.row.gtr-50.gtr-uniform>*{padding-top:.75em}.row{margin-top:0;margin-left:-1.5em}.row>*{padding:0 0 0 1.5em}.row.gtr-uniform{margin-top:-1.5em}.row.gtr-uniform>*{padding-top:1.5em}.row.gtr-150{margin-top:0;margin-left:-2.25em}.row.gtr-150>*{padding:0 0 0 2.25em}.row.gtr-150.gtr-uniform{margin-top:-2.25em}.row.gtr-150.gtr-uniform>*{padding-top:2.25em}.row.gtr-200{margin-top:0;margin-left:-3em}.row.gtr-200>*{padding:0 0 0 3em}.row.gtr-200.gtr-uniform{margin-top:-3em}.row.gtr-200.gtr-uniform>*{padding-top:3em}}@media screen and (max-width: 480px){.row{display:flex;flex-wrap:wrap;box-sizing:border-box;align-items:stretch}.row>*{box-sizing:border-box}.row.gtr-uniform>*>:last-child{margin-bottom:0}.row.aln-left{justify-content:flex-start}.row.aln-center{justify-content:center}.row.aln-right{justify-content:flex-end}.row.aln-top{align-items:flex-start}.row.aln-middle{align-items:center}.row.aln-bottom{align-items:flex-end}.row>.imp-xsmall{order:-1}.row>.col-1-xsmall{width:8.3333333333%}.row>.off-1-xsmall{margin-left:8.3333333333%}.row>.col-2-xsmall{width:16.6666666667%}.row>.off-2-xsmall{margin-left:16.6666666667%}.row>.col-3-xsmall{width:25%}.row>.off-3-xsmall{margin-left:25%}.row>.col-4-xsmall{width:33.3333333333%}.row>.off-4-xsmall{margin-left:33.3333333333%}.row>.col-5-xsmall{width:41.6666666667%}.row>.off-5-xsmall{margin-left:41.6666666667%}.row>.col-6-xsmall{width:50%}.row>.off-6-xsmall{margin-left:50%}.row>.col-7-xsmall{width:58.3333333333%}.row>.off-7-xsmall{margin-left:58.3333333333%}.row>.col-8-xsmall{width:66.6666666667%}.row>.off-8-xsmall{margin-left:66.6666666667%}.row>.col-9-xsmall{width:75%}.row>.off-9-xsmall{margin-left:75%}.row>.col-10-xsmall{width:83.3333333333%}.row>.off-10-xsmall{margin-left:83.3333333333%}.row>.col-11-xsmall{width:91.6666666667%}.row>.off-11-xsmall{margin-left:91.6666666667%}.row>.col-12-xsmall{width:100%}.row>.off-12-xsmall{margin-left:100%}.row.gtr-0{margin-top:0;margin-left:0}.row.gtr-0>*{padding:0}.row.gtr-0.gtr-uniform{margin-top:0}.row.gtr-0.gtr-uniform>*{padding-top:0}.row.gtr-25{margin-top:0;margin-left:-.375em}.row.gtr-25>*{padding:0 0 0 .375em}.row.gtr-25.gtr-uniform{margin-top:-.375em}.row.gtr-25.gtr-uniform>*{padding-top:.375em}.row.gtr-50{margin-top:0;margin-left:-.75em}.row.gtr-50>*{padding:0 0 0 .75em}.row.gtr-50.gtr-uniform{margin-top:-.75em}.row.gtr-50.gtr-uniform>*{padding-top:.75em}.row{margin-top:0;margin-left:-1.5em}.row>*{padding:0 0 0 1.5em}.row.gtr-uniform{margin-top:-1.5em}.row.gtr-uniform>*{padding-top:1.5em}.row.gtr-150{margin-top:0;margin-left:-2.25em}.row.gtr-150>*{padding:0 0 0 2.25em}.row.gtr-150.gtr-uniform{margin-top:-2.25em}.row.gtr-150.gtr-uniform>*{padding-top:2.25em}.row.gtr-200{margin-top:0;margin-left:-3em}.row.gtr-200>*{padding:0 0 0 3em}.row.gtr-200.gtr-uniform{margin-top:-3em}.row.gtr-200.gtr-uniform>*{padding-top:3em}}section.special,article.special{text-align:center}.section .default-content-wrapper:first-child h2{border-bottom:solid 3px #f56a6a;display:inline-block;margin:0 0 2em;padding:0 .75em .5em 0}header p{font-family:Roboto Slab,serif;font-size:1em;font-weight:400;letter-spacing:.075em;margin-top:-.5em;text-transform:uppercase}header.major>:last-child{border-bottom:solid 3px #f56a6a;display:inline-block;margin:0 0 2em;padding:0 .75em .5em 0}header.main>:last-child{margin:0 0 1em}form{margin:0 0 2em}label{color:#3d4449;display:block;font-size:.9em;font-weight:600;margin:0 0 1em}input[type=text],input[type=password],input[type=email],input[type=tel],input[type=search],input[type=url],select,textarea{-moz-appearance:none;-webkit-appearance:none;-ms-appearance:none;appearance:none;background:#fff;border-radius:.375em;border:none;border:solid 1px rgba(210,215,217,.75);color:inherit;display:block;outline:0;padding:0 1em;text-decoration:none;width:100%}input[type=text]:invalid,input[type=password]:invalid,input[type=email]:invalid,input[type=tel]:invalid,input[type=search]:invalid,input[type=url]:invalid,select:invalid,textarea:invalid{box-shadow:none}input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=tel]:focus,input[type=search]:focus,input[type=url]:focus,select:focus,textarea:focus{border-color:#f56a6a;box-shadow:0 0 0 1px #f56a6a}select{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='rgba(210, 215, 217, 0.75)' /%3E%3C/svg%3E");background-size:1.25em;background-repeat:no-repeat;background-position:calc(100% - 1em) center;height:2.75em;padding-right:2.75em;text-overflow:ellipsis}select option{color:#3d4449;background:#fff}select:focus::-ms-value{background-color:transparent}select::-ms-expand{display:none}input[type=text],input[type=password],input[type=email],input[type=tel],input[type=search],input[type=url],select{height:2.75em}textarea{padding:.75em 1em}input[type=checkbox],input[type=radio]{-moz-appearance:none;-webkit-appearance:none;-ms-appearance:none;appearance:none;display:block;float:left;margin-right:-2em;opacity:0;width:1em;z-index:-1}input[type=checkbox]+label,input[type=radio]+label{text-decoration:none;color:#7f888f;cursor:pointer;display:inline-block;font-size:1em;font-weight:400;padding-left:2.4em;padding-right:.75em;position:relative}input[type=checkbox]+label:before,input[type=radio]+label:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1;text-transform:none!important;font-family:"Font Awesome 5 Free";font-weight:900}input[type=checkbox]+label:before,input[type=radio]+label:before{background:#fff;border-radius:.375em;border:solid 1px rgba(210,215,217,.75);content:"";display:inline-block;font-size:.8em;height:2.0625em;left:0;line-height:2.0625em;position:absolute;text-align:center;top:0;width:2.0625em}input[type=checkbox]:checked+label:before,input[type=radio]:checked+label:before{background:#3d4449;border-color:#3d4449;color:#fff;content:""}input[type=checkbox]:focus+label:before,input[type=radio]:focus+label:before{border-color:#f56a6a;box-shadow:0 0 0 1px #f56a6a}input[type=checkbox]+label:before{border-radius:.375em}input[type=radio]+label:before{border-radius:100%}::-webkit-input-placeholder{color:#9fa3a6!important;opacity:1}:-moz-placeholder{color:#9fa3a6!important;opacity:1}::-moz-placeholder{color:#9fa3a6!important;opacity:1}:-ms-input-placeholder{color:#9fa3a6!important;opacity:1}.box{border-radius:.375em;border:solid 1px rgba(210,215,217,.75);margin-bottom:2em;padding:1.5em}.box>:last-child,.box>:last-child>:last-child,.box>:last-child>:last-child>:last-child{margin-bottom:0}.box.alt{border:0;border-radius:0;padding:0}.icon{text-decoration:none;border-bottom:none;position:relative}.icon:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1;text-transform:none!important;font-family:"Font Awesome 5 Free";font-weight:400}.icon>.label{display:none}.icon:before{line-height:inherit}.icon.solid:before{font-weight:900}.icon.brands:before{font-family:"Font Awesome 5 Brands"}.image{border-radius:.375em;border:0;display:inline-block;position:relative}.image img{border-radius:.375em;display:block}.image.left,.image.right{max-width:40%}.image.left img,.image.right img{width:100%}.image.left{float:left;padding:0 1.5em 1em 0;top:.25em}.image.right{float:right;padding:0 0 1em 1.5em;top:.25em}.image.fit{display:block;margin:0 0 2em;width:100%}.image.fit img{width:100%}.image.main{display:block;margin:0 0 3em;width:100%}.image.main img{width:100%}a.image{overflow:hidden}a.image img{-moz-transition:-moz-transform .2s ease;-webkit-transition:-webkit-transform .2s ease;-ms-transition:-ms-transform .2s ease;transition:transform .2s ease}a.image:hover img{-moz-transform:scale(1.075);-webkit-transform:scale(1.075);-ms-transform:scale(1.075);transform:scale(1.075)}ol{list-style:decimal;margin:0 0 2em;padding-left:1.25em}ol li{padding-left:.25em}ul{list-style:disc;margin:0 0 2em;padding-left:1em}ul li{padding-left:.5em}ul.alt{list-style:none;padding-left:0}ul.alt li{border-top:solid 1px rgba(210,215,217,.75);padding:.5em 0}ul.alt li:first-child{border-top:0;padding-top:0}dl{margin:0 0 2em}dl dt{display:block;font-weight:600;margin:0 0 1em}dl dd{margin-left:2em}ul.actions{display:-moz-flex;display:-webkit-flex;display:-ms-flex;display:flex;cursor:default;list-style:none;margin-left:-1em;padding-left:0}ul.actions li{padding:0 0 0 1em;vertical-align:middle}ul.actions.special{-moz-justify-content:center;-webkit-justify-content:center;-ms-justify-content:center;justify-content:center;width:100%;margin-left:0}ul.actions.special li:first-child{padding-left:0}ul.actions.stacked{-moz-flex-direction:column;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-left:0}ul.actions.stacked li{padding:1.3em 0 0}ul.actions.stacked li:first-child{padding-top:0}ul.actions.fit{width:calc(100% + 1em)}ul.actions.fit li{-moz-flex-grow:1;-webkit-flex-grow:1;-ms-flex-grow:1;flex-grow:1;-moz-flex-shrink:1;-webkit-flex-shrink:1;-ms-flex-shrink:1;flex-shrink:1;width:100%}ul.actions.fit li>*{width:100%}ul.actions.fit.stacked{width:100%}ul.icons{cursor:default;list-style:none;padding-left:0}ul.icons li{display:inline-block;padding:0 1em 0 0}ul.icons li:last-child{padding-right:0}ul.icons li .icon{color:inherit}ul.icons li .icon:before{font-size:1.25em}ul.contact{list-style:none;padding:0}ul.contact li{text-decoration:none;border-top:solid 1px rgba(210,215,217,.75);margin:1.5em 0 0;padding:1.5em 0 0 3em;position:relative}ul.contact li:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1;text-transform:none!important;font-family:"Font Awesome 5 Free";font-weight:400}ul.contact li:before{color:#f56a6a;display:inline-block;font-size:1.5em;height:1.125em;left:0;line-height:1.125em;position:absolute;text-align:center;top:1em;width:1.5em}ul.contact li:first-child{border-top:0;margin-top:0;padding-top:0}ul.contact li:first-child:before{top:0}ul.contact li a{color:inherit}ul.pagination{cursor:default;list-style:none;padding-left:0}ul.pagination li{display:inline-block;padding-left:0;vertical-align:middle}ul.pagination li>.page{-moz-transition:background-color .2s ease-in-out,color .2s ease-in-out;-webkit-transition:background-color .2s ease-in-out,color .2s ease-in-out;-ms-transition:background-color .2s ease-in-out,color .2s ease-in-out;transition:background-color .2s ease-in-out,color .2s ease-in-out;border-bottom:0;border-radius:.375em;display:inline-block;font-size:.8em;font-weight:600;height:2em;line-height:2em;margin:0 .125em;min-width:2em;padding:0 .5em;text-align:center}ul.pagination li>.page.active{background-color:#f56a6a;color:#fff!important}ul.pagination li>.page.active:hover{background-color:#f67878}ul.pagination li>.page.active:active{background-color:#f45c5c}ul.pagination li:first-child{padding-right:.75em}ul.pagination li:last-child{padding-left:.75em}@media screen and (max-width: 480px){ul.pagination li:nth-child(n+2):nth-last-child(n+2){display:none}ul.pagination li:first-child{padding-right:0}}.table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}table{margin:0 0 2em;width:100%}table tbody tr{border:solid 1px rgba(210,215,217,.75);border-left:0;border-right:0}table tbody tr:nth-child(odd){background-color:#e6ebed40}table td{padding:.75em}table th{color:#3d4449;font-size:.9em;font-weight:600;padding:0 .75em .75em;text-align:left}table thead{border-bottom:solid 2px rgba(210,215,217,.75)}table tfoot{border-top:solid 2px rgba(210,215,217,.75)}table.alt{border-collapse:separate}table.alt tbody tr td{border:solid 1px rgba(210,215,217,.75);border-left-width:0;border-top-width:0}table.alt tbody tr td:first-child{border-left-width:1px}table.alt tbody tr:first-child td{border-top-width:1px}table.alt thead{border-bottom:0}table.alt tfoot{border-top:0}input[type=submit],input[type=reset],input[type=button],button,.button{-moz-appearance:none;-webkit-appearance:none;-ms-appearance:none;appearance:none;-moz-transition:background-color .2s ease-in-out,color .2s ease-in-out;-webkit-transition:background-color .2s ease-in-out,color .2s ease-in-out;-ms-transition:background-color .2s ease-in-out,color .2s ease-in-out;transition:background-color .2s ease-in-out,color .2s ease-in-out;background-color:transparent;border-radius:.375em;border:0;box-shadow:inset 0 0 0 2px #f56a6a;color:#f56a6a!important;cursor:pointer;display:inline-block;font-family:Roboto Slab,serif;font-size:.8em;font-weight:700;height:3.5em;letter-spacing:.075em;line-height:3.5em;padding:0 2.25em;text-align:center;text-decoration:none;text-transform:uppercase;white-space:nowrap}input[type=submit]:hover,input[type=reset]:hover,input[type=button]:hover,button:hover,.button:hover{background-color:#f56a6a0d}input[type=submit]:active,input[type=reset]:active,input[type=button]:active,button:active,.button:active{background-color:#f56a6a26}input[type=submit].icon:before,input[type=reset].icon:before,input[type=button].icon:before,button.icon:before,.button.icon:before{margin-right:.5em}input[type=submit].fit,input[type=reset].fit,input[type=button].fit,button.fit,.button.fit{width:100%}input[type=submit].small,input[type=reset].small,input[type=button].small,button.small,.button.small{font-size:.6em}input[type=submit].large,input[type=reset].large,input[type=button].large,button.large,.button.large{font-size:1em;height:3.65em;line-height:3.65em}input[type=submit].primary,input[type=reset].primary,input[type=button].primary,button.primary,.button.primary{background-color:#f56a6a;box-shadow:none;color:#fff!important}input[type=submit].primary:hover,input[type=reset].primary:hover,input[type=button].primary:hover,button.primary:hover,.button.primary:hover{background-color:#f67878}input[type=submit].primary:active,input[type=reset].primary:active,input[type=button].primary:active,button.primary:active,.button.primary:active{background-color:#f45c5c}input[type=submit].disabled,input[type=submit]:disabled,input[type=reset].disabled,input[type=reset]:disabled,input[type=button].disabled,input[type=button]:disabled,button.disabled,button:disabled,.button.disabled,.button:disabled{pointer-events:none;opacity:.25}.mini-posts article{border-top:solid 1px rgba(210,215,217,.75);margin-top:2em;padding-top:2em}.mini-posts article .image{display:block;margin:0 0 1.5em}.mini-posts article .image img{display:block;width:100%}.mini-posts article:first-child{border-top:0;margin-top:0;padding-top:0}.features{display:-moz-flex;display:-webkit-flex;display:-ms-flex;display:flex;-moz-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 0 2em -3em;width:calc(100% + 3em)}.features article{-moz-align-items:center;-webkit-align-items:center;-ms-align-items:center;align-items:center;display:-moz-flex;display:-webkit-flex;display:-ms-flex;display:flex;margin:0 0 3em 3em;position:relative;width:calc(50% - 3em)}.features article:nth-child(2n-1){margin-right:1.5em}.features article:nth-child(2n){margin-left:1.5em}.features article:nth-last-child(1),.features article:nth-last-child(2){margin-bottom:0}.features article .icon{-moz-flex-grow:0;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0;-moz-flex-shrink:0;-webkit-flex-shrink:0;-ms-flex-shrink:0;flex-shrink:0;display:block;height:10em;line-height:10em;margin:0 2em 0 0;text-align:center;width:10em}.features article .icon:before{color:#f56a6a;font-size:2.75rem;position:relative;top:.05em}.features article .icon:after{-moz-transform:rotate(45deg);-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);border-radius:.25rem;border:solid 2px rgba(210,215,217,.75);content:"";display:block;height:7em;left:50%;margin:-3.5em 0 0 -3.5em;position:absolute;top:50%;width:7em}.features article .content{-moz-flex-grow:1;-webkit-flex-grow:1;-ms-flex-grow:1;flex-grow:1;-moz-flex-shrink:1;-webkit-flex-shrink:1;-ms-flex-shrink:1;flex-shrink:1;width:100%}.features article .content>:last-child{margin-bottom:0}@media screen and (max-width: 980px){.features{margin:0 0 2em;width:100%}.features article{margin:0 0 3em;width:100%}.features article:nth-child(2n-1){margin-right:0}.features article:nth-child(2n){margin-left:0}.features article:nth-last-child(1),.features article:nth-last-child(2){margin-bottom:3em}.features article:last-child{margin-bottom:0}.features article .icon{height:8em;line-height:8em;width:8em}.features article .icon:before{font-size:2.25rem}.features article .icon:after{height:6em;margin:-3em 0 0 -3em;width:6em}}@media screen and (max-width: 480px){.features article{-moz-flex-direction:column;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-moz-align-items:-moz-flex-start;-webkit-align-items:-webkit-flex-start;-ms-align-items:-ms-flex-start;align-items:flex-start}.features article .icon{height:6em;line-height:6em;margin:0 0 1.5em;width:6em}.features article .icon:before{font-size:1.5rem}.features article .icon:after{height:4em;margin:-2em 0 0 -2em;width:4em}}@media screen and (max-width: 480px){.features article .icon:before{font-size:1.25rem}}.posts{display:-moz-flex;display:-webkit-flex;display:-ms-flex;display:flex;-moz-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 0 2em -6em;width:calc(100% + 6em)}.posts article{-moz-flex-grow:0;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0;-moz-flex-shrink:1;-webkit-flex-shrink:1;-ms-flex-shrink:1;flex-shrink:1;margin:0 0 6em 6em;position:relative;width:calc(33.3333333333% - 6em)}.posts article:before{background:#d2d7d9bf;content:"";display:block;height:calc(100% + 6em);left:-3em;position:absolute;top:0;width:1px}.posts article:after{background:#d2d7d9bf;bottom:-3em;content:"";display:block;height:1px;position:absolute;right:0;width:calc(100% + 6em)}.posts article>:last-child{margin-bottom:0}.posts article .image{display:block;margin:0 0 2em}.posts article .image img{display:block;width:100%}@media screen and (min-width: 1681px){.posts article:nth-child(3n+1):before{display:none}.posts article:nth-child(3n+1):after{width:100%}.posts article:nth-last-child(1),.posts article:nth-last-child(2),.posts article:nth-last-child(3){margin-bottom:0}.posts article:nth-last-child(1):before,.posts article:nth-last-child(2):before,.posts article:nth-last-child(3):before{height:100%}.posts article:nth-last-child(1):after,.posts article:nth-last-child(2):after,.posts article:nth-last-child(3):after{display:none}}@media screen and (max-width: 1680px){.posts article{width:calc(50% - 6em)}.posts article:nth-last-child(3){margin-bottom:6em}}@media screen and (min-width: 481px) and (max-width: 1680px){.posts article:nth-child(odd):before{display:none}.posts article:nth-child(odd):after{width:100%}.posts article:nth-last-child(1),.posts article:nth-last-child(2){margin-bottom:0}.posts article:nth-last-child(1):before,.posts article:nth-last-child(2):before{height:100%}.posts article:nth-last-child(1):after,.posts article:nth-last-child(2):after{display:none}}@media screen and (max-width: 736px){.posts{margin:0 0 2em -4.5em;width:calc(100% + 4.5em)}.posts article{margin:0 0 4.5em 4.5em;width:calc(50% - 4.5em)}.posts article:before{height:calc(100% + 4.5em);left:-2.25em}.posts article:after{bottom:-2.25em;width:calc(100% + 4.5em)}.posts article:nth-last-child(3){margin-bottom:4.5em}}@media screen and (max-width: 480px){.posts{margin:0 0 2em;width:100%}.posts article{margin:0 0 4.5em;width:100%}.posts article:before{display:none}.posts article:after{width:100%}.posts article:last-child{margin-bottom:0}.posts article:last-child:after{display:none}}#wrapper{display:-moz-flex;display:-webkit-flex;display:-ms-flex;display:flex;-moz-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;min-height:100vh}#main{-moz-flex-grow:1;-webkit-flex-grow:1;-ms-flex-grow:1;flex-grow:1;-moz-flex-shrink:1;-webkit-flex-shrink:1;-ms-flex-shrink:1;flex-shrink:1;width:100%}#main>.inner{padding:0 6em .1em;margin:0 auto;max-width:110em}#main>.inner .section{padding:6em 0 4em;border-top:solid 2px rgba(210,215,217,.75)}#main>.inner .section:first-child{border-top:0!important;padding:0}@media screen and (max-width: 1680px){#main>.inner{padding:0 5em .1em}#main>.inner>.section{padding:5em 0 3em}}@media screen and (max-width: 1280px){#main>.inner{padding:0 4em .1em}#main>.inner>.section{padding:4em 0 2em}}@media screen and (max-width: 736px){#main>.inner{padding:0 2em .1em}#main>.inner>.section{padding:3em 0 1em}}#search form{text-decoration:none;position:relative}#search form:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1;text-transform:none!important;font-family:"Font Awesome 5 Free";font-weight:900}#search form:before{-moz-transform:scaleX(-1);-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);transform:scaleX(-1);color:#7f888f;content:"";cursor:default;display:block;font-size:1.5em;height:2em;line-height:2em;opacity:.325;position:absolute;right:0;text-align:center;top:0;width:2em}#search form input[type=text]{padding-right:2.75em}#sidebar{-moz-flex-grow:0;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0;-moz-flex-shrink:0;-webkit-flex-shrink:0;-ms-flex-shrink:0;flex-shrink:0;-moz-transition:margin-left .5s ease,box-shadow .5s ease;-webkit-transition:margin-left .5s ease,box-shadow .5s ease;-ms-transition:margin-left .5s ease,box-shadow .5s ease;transition:margin-left .5s ease,box-shadow .5s ease;background-color:#f5f6f7;font-size:.9em;position:relative;width:26em}#sidebar h2{font-size:1.3888888889em}#sidebar>.inner{padding:2.2222222222em 2.2222222222em 2.4444444444em;position:relative;width:26em}#sidebar>.inner>*{border-bottom:solid 2px rgba(210,215,217,.75);margin:0 0 3.5em;padding:0 0 3.5em}#sidebar>.inner>*>:last-child{margin-bottom:0}#sidebar>.inner>*:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}#sidebar>.inner>.alt{background-color:#eff1f2;border-bottom:0;margin:-2.2222222222em 0 4.4444444444em -2.2222222222em;padding:2.2222222222em;width:calc(100% + 4.4444444444em)}#sidebar .toggle{text-decoration:none;-moz-transition:left .5s ease;-webkit-transition:left .5s ease;-ms-transition:left .5s ease;transition:left .5s ease;-webkit-tap-highlight-color:rgba(255,255,255,0);border:0;display:block;height:7.5em;left:26em;line-height:7.5em;outline:0;overflow:hidden;position:absolute;text-align:center;text-indent:-15em;white-space:nowrap;top:0;width:6em;z-index:10000}#sidebar .toggle:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1;text-transform:none!important;font-family:"Font Awesome 5 Free";font-weight:900}#sidebar .toggle:before{content:"";font-size:2rem;height:inherit;left:0;line-height:inherit;position:absolute;text-indent:0;top:0;width:inherit}#sidebar.inactive{margin-left:-26em}@media screen and (max-width: 1680px){#sidebar{width:24em}#sidebar>.inner{padding:1.6666666667em 1.6666666667em 1.3333333333em;width:24em}#sidebar>.inner>.alt{margin:-1.6666666667em 0 3.3333333333em -1.6666666667em;padding:1.6666666667em;width:calc(100% + 3.3333333333em)}#sidebar .toggle{height:6.25em;left:24em;line-height:6.25em;text-indent:5em;width:5em}#sidebar .toggle:before{font-size:1.5rem}#sidebar.inactive{margin-left:-24em}}@media screen and (max-width: 1280px){#sidebar{box-shadow:0 0 5em #0000002d;height:100%;left:0;position:fixed;top:0;z-index:10000}#sidebar.inactive{box-shadow:none}#sidebar>.inner{-webkit-overflow-scrolling:touch;height:100%;left:0;overflow-x:hidden;overflow-y:auto;position:absolute;top:0}#sidebar>.inner:after{content:"";display:block;height:4em;width:100%}#sidebar .toggle{text-indent:6em;width:6em}#sidebar .toggle:before{font-size:1.5rem;margin-left:-.4375em}body.is-preload #sidebar{display:none}}@media screen and (max-width: 736px){#sidebar .toggle{text-indent:7.25em;width:7.25em}#sidebar .toggle:before{color:#7f888f;margin-left:-.0625em;margin-top:-.25em;font-size:1.1rem;z-index:1}#sidebar .toggle:after{background:#dee1e2bf;border-radius:.375em;content:"";height:3.5em;left:1em;position:absolute;top:1em;width:5em}}#header{display:-moz-flex;display:-webkit-flex;display:-ms-flex;display:flex;border-bottom:solid 5px #f56a6a;padding:6em 0 1em;position:relative}#header>*{-moz-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;margin-bottom:0}#header .logo{border-bottom:0;color:inherit;font-family:Roboto Slab,serif;font-size:1.125em}#header .icons{text-align:right}@media screen and (max-width: 1680px){#header{padding-top:5em}}@media screen and (max-width: 736px){#header{padding-top:6.5em}#header .logo{font-size:1.25em;margin:0}#header .icons{height:5em;line-height:5em;position:absolute;right:-.5em;top:0}}#banner{padding:6em 0 4em;display:-moz-flex;display:-webkit-flex;display:-ms-flex;display:flex}#banner h1{margin-top:-.125em}#banner .content{-moz-flex-grow:1;-webkit-flex-grow:1;-ms-flex-grow:1;flex-grow:1;-moz-flex-shrink:1;-webkit-flex-shrink:1;-ms-flex-shrink:1;flex-shrink:1;width:50%}#banner .image{-moz-flex-grow:0;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0;-moz-flex-shrink:0;-webkit-flex-shrink:0;-ms-flex-shrink:0;flex-shrink:0;display:block;margin:0 0 2em 4em;width:50%}#banner .image img{height:100%;-moz-object-fit:cover;-webkit-object-fit:cover;-ms-object-fit:cover;object-fit:cover;-moz-object-position:center;-webkit-object-position:center;-ms-object-position:center;object-position:center;width:100%}@media screen and (orientation: portrait){#banner{-moz-flex-direction:column-reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}#banner h1 br{display:none}#banner .content{-moz-flex-grow:0;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0;-moz-flex-shrink:0;-webkit-flex-shrink:0;-ms-flex-shrink:0;flex-shrink:0;width:100%}#banner .image{-moz-flex-grow:0;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0;-moz-flex-shrink:0;-webkit-flex-shrink:0;-ms-flex-shrink:0;flex-shrink:0;margin:0 0 4em;height:25em;max-height:50vh;min-height:18em;width:100%}}@media screen and (orientation: portrait) and (max-width: 480px){#banner .image{max-height:35vh}}#footer .copyright{color:#9fa3a6;font-size:.9em}#footer .copyright a{color:inherit}#menu ul{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;color:#3d4449;font-family:Roboto Slab,serif;font-weight:400;letter-spacing:.075em;list-style:none;margin-bottom:0;padding:0;text-transform:uppercase}#menu ul a,#menu ul span{border-bottom:0;color:inherit;cursor:pointer;display:block;font-size:.9em;padding:.625em 0}#menu ul a:hover,#menu ul span:hover{color:#f56a6a}#menu ul a.opener,#menu ul span.opener{-moz-transition:color .2s ease-in-out;-webkit-transition:color .2s ease-in-out;-ms-transition:color .2s ease-in-out;transition:color .2s ease-in-out;text-decoration:none;-webkit-tap-highlight-color:rgba(255,255,255,0);position:relative}#menu ul a.opener:before,#menu ul span.opener:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1;text-transform:none!important;font-family:"Font Awesome 5 Free";font-weight:900}#menu ul a.opener:before,#menu ul span.opener:before{-moz-transition:color .2s ease-in-out,-moz-transform .2s ease-in-out;-webkit-transition:color .2s ease-in-out,-webkit-transform .2s ease-in-out;-ms-transition:color .2s ease-in-out,-ms-transform .2s ease-in-out;transition:color .2s ease-in-out,transform .2s ease-in-out;color:#9fa3a6;content:"";position:absolute;right:0}#menu ul a.opener:hover:before,#menu ul span.opener:hover:before{color:#f56a6a}#menu ul a.opener.active+ul,#menu ul span.opener.active+ul{display:block}#menu ul a.opener.active:before,#menu ul span.opener.active:before{-moz-transform:rotate(-180deg);-webkit-transform:rotate(-180deg);-ms-transform:rotate(-180deg);transform:rotate(-180deg)}#menu>ul>li{border-top:solid 1px rgba(210,215,217,.75);margin:.5em 0 0;padding:.5em 0 0}#menu>ul>li>ul{color:#9fa3a6;display:none;margin:.5em 0 1.5em;padding-left:1em}#menu>ul>li>ul a,#menu>ul>li>ul span{font-size:.8em}#menu>ul>li>ul>li{margin:.125em 0 0;padding:.125em 0 0}#menu>ul>li:first-child{border-top:0;margin-top:0;padding-top:0} +@import"https://fonts.googleapis.com/css?family=Open+Sans:400,600,400italic,600italic|Roboto+Slab:400,700";html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}body{-webkit-text-size-adjust:none}mark{background-color:transparent;color:inherit}input::-moz-focus-inner{border:0;padding:0}input,select,textarea{-moz-appearance:none;-webkit-appearance:none;-ms-appearance:none;appearance:none}@-ms-viewport{width:device-width}body{-ms-overflow-style:scrollbar}@media screen and (max-width: 480px){html,body{min-width:320px}}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{background:#fff}body.is-preload *,body.is-preload *:before,body.is-preload *:after,body.is-resizing *,body.is-resizing *:before,body.is-resizing *:after{-moz-animation:none!important;-webkit-animation:none!important;-ms-animation:none!important;animation:none!important;-moz-transition:none!important;-webkit-transition:none!important;-ms-transition:none!important;transition:none!important}body{display:flex;flex-direction:row-reverse;min-height:100vh}body>main{flex-grow:1;flex-shrink:1;width:100%}body,input,select,textarea{color:#7f888f;font-family:Open Sans,sans-serif;font-size:13pt;font-weight:400;line-height:1.65}@media screen and (max-width: 1680px){body,input,select,textarea{font-size:11pt}}@media screen and (max-width: 1280px){body,input,select,textarea{font-size:10pt}}@media screen and (max-width: 360px){body,input,select,textarea{font-size:9pt}}a{-moz-transition:color .2s ease-in-out,border-bottom-color .2s ease-in-out;-webkit-transition:color .2s ease-in-out,border-bottom-color .2s ease-in-out;-ms-transition:color .2s ease-in-out,border-bottom-color .2s ease-in-out;transition:color .2s ease-in-out,border-bottom-color .2s ease-in-out;border-bottom:dotted 1px;color:#f56a6a;text-decoration:none}a:hover{border-bottom-color:#f56a6a;color:#f56a6a!important}a:hover strong{color:inherit}strong,b{color:#3d4449;font-weight:600}em,i{font-style:italic}p{margin:0 0 2em}h1,h2,h3,h4,h5,h6{color:#3d4449;font-family:Roboto Slab,serif;font-weight:700;line-height:1.5;margin:0 0 1em}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{color:inherit;text-decoration:none;border-bottom:0}h1{font-size:4em;margin:0 0 .5em;line-height:1.3}h2{font-size:1.75em}h3{font-size:1.25em}h4{font-size:1.1em}h5{font-size:.9em}h6{font-size:.7em}@media screen and (max-width: 1680px){h1{font-size:3.5em}}@media screen and (max-width: 980px){h1{font-size:3.25em}}@media screen and (max-width: 736px){h1{font-size:2em;line-height:1.4}h2{font-size:1.5em}}sub{font-size:.8em;position:relative;top:.5em}sup{font-size:.8em;position:relative;top:-.5em}blockquote{border-left:solid 3px rgba(210,215,217,.75);font-style:italic;margin:0 0 2em;padding:.5em 0 .5em 2em}code{background:#e6ebed40;border-radius:.375em;border:solid 1px rgba(210,215,217,.75);font-family:Courier New,monospace;font-size:.9em;margin:0 .25em;padding:.25em .65em}pre{-webkit-overflow-scrolling:touch;font-family:Courier New,monospace;font-size:.9em;margin:0 0 2em}pre code{display:block;line-height:1.75;padding:1em 1.5em;overflow-x:auto}hr{border:0;border-bottom:solid 1px rgba(210,215,217,.75);margin:2em 0}hr.major{margin:3em 0}.align-left{text-align:left}.align-center{text-align:center}.align-right{text-align:right}.row{display:flex;flex-wrap:wrap;box-sizing:border-box;align-items:stretch}.row>*{box-sizing:border-box}.row.gtr-uniform>*>:last-child{margin-bottom:0}.row.aln-left{justify-content:flex-start}.row.aln-center{justify-content:center}.row.aln-right{justify-content:flex-end}.row.aln-top{align-items:flex-start}.row.aln-middle{align-items:center}.row.aln-bottom{align-items:flex-end}.row>.imp{order:-1}.row>.col-1{width:8.3333333333%}.row>.off-1{margin-left:8.3333333333%}.row>.col-2{width:16.6666666667%}.row>.off-2{margin-left:16.6666666667%}.row>.col-3{width:25%}.row>.off-3{margin-left:25%}.row>.col-4{width:33.3333333333%}.row>.off-4{margin-left:33.3333333333%}.row>.col-5{width:41.6666666667%}.row>.off-5{margin-left:41.6666666667%}.row>.col-6{width:50%}.row>.off-6{margin-left:50%}.row>.col-7{width:58.3333333333%}.row>.off-7{margin-left:58.3333333333%}.row>.col-8{width:66.6666666667%}.row>.off-8{margin-left:66.6666666667%}.row>.col-9{width:75%}.row>.off-9{margin-left:75%}.row>.col-10{width:83.3333333333%}.row>.off-10{margin-left:83.3333333333%}.row>.col-11{width:91.6666666667%}.row>.off-11{margin-left:91.6666666667%}.row>.col-12{width:100%}.row>.off-12{margin-left:100%}.row.gtr-0{margin-top:0;margin-left:0}.row.gtr-0>*{padding:0}.row.gtr-0.gtr-uniform{margin-top:0}.row.gtr-0.gtr-uniform>*{padding-top:0}.row.gtr-25{margin-top:0;margin-left:-.375em}.row.gtr-25>*{padding:0 0 0 .375em}.row.gtr-25.gtr-uniform{margin-top:-.375em}.row.gtr-25.gtr-uniform>*{padding-top:.375em}.row.gtr-50{margin-top:0;margin-left:-.75em}.row.gtr-50>*{padding:0 0 0 .75em}.row.gtr-50.gtr-uniform{margin-top:-.75em}.row.gtr-50.gtr-uniform>*{padding-top:.75em}.row{margin-top:0;margin-left:-1.5em}.row>*{padding:0 0 0 1.5em}.row.gtr-uniform{margin-top:-1.5em}.row.gtr-uniform>*{padding-top:1.5em}.row.gtr-150{margin-top:0;margin-left:-2.25em}.row.gtr-150>*{padding:0 0 0 2.25em}.row.gtr-150.gtr-uniform{margin-top:-2.25em}.row.gtr-150.gtr-uniform>*{padding-top:2.25em}.row.gtr-200{margin-top:0;margin-left:-3em}.row.gtr-200>*{padding:0 0 0 3em}.row.gtr-200.gtr-uniform{margin-top:-3em}.row.gtr-200.gtr-uniform>*{padding-top:3em}@media screen and (max-width: 1680px){.row{display:flex;flex-wrap:wrap;box-sizing:border-box;align-items:stretch}.row>*{box-sizing:border-box}.row.gtr-uniform>*>:last-child{margin-bottom:0}.row.aln-left{justify-content:flex-start}.row.aln-center{justify-content:center}.row.aln-right{justify-content:flex-end}.row.aln-top{align-items:flex-start}.row.aln-middle{align-items:center}.row.aln-bottom{align-items:flex-end}.row>.imp-xlarge{order:-1}.row>.col-1-xlarge{width:8.3333333333%}.row>.off-1-xlarge{margin-left:8.3333333333%}.row>.col-2-xlarge{width:16.6666666667%}.row>.off-2-xlarge{margin-left:16.6666666667%}.row>.col-3-xlarge{width:25%}.row>.off-3-xlarge{margin-left:25%}.row>.col-4-xlarge{width:33.3333333333%}.row>.off-4-xlarge{margin-left:33.3333333333%}.row>.col-5-xlarge{width:41.6666666667%}.row>.off-5-xlarge{margin-left:41.6666666667%}.row>.col-6-xlarge{width:50%}.row>.off-6-xlarge{margin-left:50%}.row>.col-7-xlarge{width:58.3333333333%}.row>.off-7-xlarge{margin-left:58.3333333333%}.row>.col-8-xlarge{width:66.6666666667%}.row>.off-8-xlarge{margin-left:66.6666666667%}.row>.col-9-xlarge{width:75%}.row>.off-9-xlarge{margin-left:75%}.row>.col-10-xlarge{width:83.3333333333%}.row>.off-10-xlarge{margin-left:83.3333333333%}.row>.col-11-xlarge{width:91.6666666667%}.row>.off-11-xlarge{margin-left:91.6666666667%}.row>.col-12-xlarge{width:100%}.row>.off-12-xlarge{margin-left:100%}.row.gtr-0{margin-top:0;margin-left:0}.row.gtr-0>*{padding:0}.row.gtr-0.gtr-uniform{margin-top:0}.row.gtr-0.gtr-uniform>*{padding-top:0}.row.gtr-25{margin-top:0;margin-left:-.375em}.row.gtr-25>*{padding:0 0 0 .375em}.row.gtr-25.gtr-uniform{margin-top:-.375em}.row.gtr-25.gtr-uniform>*{padding-top:.375em}.row.gtr-50{margin-top:0;margin-left:-.75em}.row.gtr-50>*{padding:0 0 0 .75em}.row.gtr-50.gtr-uniform{margin-top:-.75em}.row.gtr-50.gtr-uniform>*{padding-top:.75em}.row{margin-top:0;margin-left:-1.5em}.row>*{padding:0 0 0 1.5em}.row.gtr-uniform{margin-top:-1.5em}.row.gtr-uniform>*{padding-top:1.5em}.row.gtr-150{margin-top:0;margin-left:-2.25em}.row.gtr-150>*{padding:0 0 0 2.25em}.row.gtr-150.gtr-uniform{margin-top:-2.25em}.row.gtr-150.gtr-uniform>*{padding-top:2.25em}.row.gtr-200{margin-top:0;margin-left:-3em}.row.gtr-200>*{padding:0 0 0 3em}.row.gtr-200.gtr-uniform{margin-top:-3em}.row.gtr-200.gtr-uniform>*{padding-top:3em}}@media screen and (max-width: 1280px){.row{display:flex;flex-wrap:wrap;box-sizing:border-box;align-items:stretch}.row>*{box-sizing:border-box}.row.gtr-uniform>*>:last-child{margin-bottom:0}.row.aln-left{justify-content:flex-start}.row.aln-center{justify-content:center}.row.aln-right{justify-content:flex-end}.row.aln-top{align-items:flex-start}.row.aln-middle{align-items:center}.row.aln-bottom{align-items:flex-end}.row>.imp-large{order:-1}.row>.col-1-large{width:8.3333333333%}.row>.off-1-large{margin-left:8.3333333333%}.row>.col-2-large{width:16.6666666667%}.row>.off-2-large{margin-left:16.6666666667%}.row>.col-3-large{width:25%}.row>.off-3-large{margin-left:25%}.row>.col-4-large{width:33.3333333333%}.row>.off-4-large{margin-left:33.3333333333%}.row>.col-5-large{width:41.6666666667%}.row>.off-5-large{margin-left:41.6666666667%}.row>.col-6-large{width:50%}.row>.off-6-large{margin-left:50%}.row>.col-7-large{width:58.3333333333%}.row>.off-7-large{margin-left:58.3333333333%}.row>.col-8-large{width:66.6666666667%}.row>.off-8-large{margin-left:66.6666666667%}.row>.col-9-large{width:75%}.row>.off-9-large{margin-left:75%}.row>.col-10-large{width:83.3333333333%}.row>.off-10-large{margin-left:83.3333333333%}.row>.col-11-large{width:91.6666666667%}.row>.off-11-large{margin-left:91.6666666667%}.row>.col-12-large{width:100%}.row>.off-12-large{margin-left:100%}.row.gtr-0{margin-top:0;margin-left:0}.row.gtr-0>*{padding:0}.row.gtr-0.gtr-uniform{margin-top:0}.row.gtr-0.gtr-uniform>*{padding-top:0}.row.gtr-25{margin-top:0;margin-left:-.375em}.row.gtr-25>*{padding:0 0 0 .375em}.row.gtr-25.gtr-uniform{margin-top:-.375em}.row.gtr-25.gtr-uniform>*{padding-top:.375em}.row.gtr-50{margin-top:0;margin-left:-.75em}.row.gtr-50>*{padding:0 0 0 .75em}.row.gtr-50.gtr-uniform{margin-top:-.75em}.row.gtr-50.gtr-uniform>*{padding-top:.75em}.row{margin-top:0;margin-left:-1.5em}.row>*{padding:0 0 0 1.5em}.row.gtr-uniform{margin-top:-1.5em}.row.gtr-uniform>*{padding-top:1.5em}.row.gtr-150{margin-top:0;margin-left:-2.25em}.row.gtr-150>*{padding:0 0 0 2.25em}.row.gtr-150.gtr-uniform{margin-top:-2.25em}.row.gtr-150.gtr-uniform>*{padding-top:2.25em}.row.gtr-200{margin-top:0;margin-left:-3em}.row.gtr-200>*{padding:0 0 0 3em}.row.gtr-200.gtr-uniform{margin-top:-3em}.row.gtr-200.gtr-uniform>*{padding-top:3em}}@media screen and (max-width: 980px){.row{display:flex;flex-wrap:wrap;box-sizing:border-box;align-items:stretch}.row>*{box-sizing:border-box}.row.gtr-uniform>*>:last-child{margin-bottom:0}.row.aln-left{justify-content:flex-start}.row.aln-center{justify-content:center}.row.aln-right{justify-content:flex-end}.row.aln-top{align-items:flex-start}.row.aln-middle{align-items:center}.row.aln-bottom{align-items:flex-end}.row>.imp-medium{order:-1}.row>.col-1-medium{width:8.3333333333%}.row>.off-1-medium{margin-left:8.3333333333%}.row>.col-2-medium{width:16.6666666667%}.row>.off-2-medium{margin-left:16.6666666667%}.row>.col-3-medium{width:25%}.row>.off-3-medium{margin-left:25%}.row>.col-4-medium{width:33.3333333333%}.row>.off-4-medium{margin-left:33.3333333333%}.row>.col-5-medium{width:41.6666666667%}.row>.off-5-medium{margin-left:41.6666666667%}.row>.col-6-medium{width:50%}.row>.off-6-medium{margin-left:50%}.row>.col-7-medium{width:58.3333333333%}.row>.off-7-medium{margin-left:58.3333333333%}.row>.col-8-medium{width:66.6666666667%}.row>.off-8-medium{margin-left:66.6666666667%}.row>.col-9-medium{width:75%}.row>.off-9-medium{margin-left:75%}.row>.col-10-medium{width:83.3333333333%}.row>.off-10-medium{margin-left:83.3333333333%}.row>.col-11-medium{width:91.6666666667%}.row>.off-11-medium{margin-left:91.6666666667%}.row>.col-12-medium{width:100%}.row>.off-12-medium{margin-left:100%}.row.gtr-0{margin-top:0;margin-left:0}.row.gtr-0>*{padding:0}.row.gtr-0.gtr-uniform{margin-top:0}.row.gtr-0.gtr-uniform>*{padding-top:0}.row.gtr-25{margin-top:0;margin-left:-.375em}.row.gtr-25>*{padding:0 0 0 .375em}.row.gtr-25.gtr-uniform{margin-top:-.375em}.row.gtr-25.gtr-uniform>*{padding-top:.375em}.row.gtr-50{margin-top:0;margin-left:-.75em}.row.gtr-50>*{padding:0 0 0 .75em}.row.gtr-50.gtr-uniform{margin-top:-.75em}.row.gtr-50.gtr-uniform>*{padding-top:.75em}.row{margin-top:0;margin-left:-1.5em}.row>*{padding:0 0 0 1.5em}.row.gtr-uniform{margin-top:-1.5em}.row.gtr-uniform>*{padding-top:1.5em}.row.gtr-150{margin-top:0;margin-left:-2.25em}.row.gtr-150>*{padding:0 0 0 2.25em}.row.gtr-150.gtr-uniform{margin-top:-2.25em}.row.gtr-150.gtr-uniform>*{padding-top:2.25em}.row.gtr-200{margin-top:0;margin-left:-3em}.row.gtr-200>*{padding:0 0 0 3em}.row.gtr-200.gtr-uniform{margin-top:-3em}.row.gtr-200.gtr-uniform>*{padding-top:3em}}@media screen and (max-width: 736px){.row{display:flex;flex-wrap:wrap;box-sizing:border-box;align-items:stretch}.row>*{box-sizing:border-box}.row.gtr-uniform>*>:last-child{margin-bottom:0}.row.aln-left{justify-content:flex-start}.row.aln-center{justify-content:center}.row.aln-right{justify-content:flex-end}.row.aln-top{align-items:flex-start}.row.aln-middle{align-items:center}.row.aln-bottom{align-items:flex-end}.row>.imp-small{order:-1}.row>.col-1-small{width:8.3333333333%}.row>.off-1-small{margin-left:8.3333333333%}.row>.col-2-small{width:16.6666666667%}.row>.off-2-small{margin-left:16.6666666667%}.row>.col-3-small{width:25%}.row>.off-3-small{margin-left:25%}.row>.col-4-small{width:33.3333333333%}.row>.off-4-small{margin-left:33.3333333333%}.row>.col-5-small{width:41.6666666667%}.row>.off-5-small{margin-left:41.6666666667%}.row>.col-6-small{width:50%}.row>.off-6-small{margin-left:50%}.row>.col-7-small{width:58.3333333333%}.row>.off-7-small{margin-left:58.3333333333%}.row>.col-8-small{width:66.6666666667%}.row>.off-8-small{margin-left:66.6666666667%}.row>.col-9-small{width:75%}.row>.off-9-small{margin-left:75%}.row>.col-10-small{width:83.3333333333%}.row>.off-10-small{margin-left:83.3333333333%}.row>.col-11-small{width:91.6666666667%}.row>.off-11-small{margin-left:91.6666666667%}.row>.col-12-small{width:100%}.row>.off-12-small{margin-left:100%}.row.gtr-0{margin-top:0;margin-left:0}.row.gtr-0>*{padding:0}.row.gtr-0.gtr-uniform{margin-top:0}.row.gtr-0.gtr-uniform>*{padding-top:0}.row.gtr-25{margin-top:0;margin-left:-.375em}.row.gtr-25>*{padding:0 0 0 .375em}.row.gtr-25.gtr-uniform{margin-top:-.375em}.row.gtr-25.gtr-uniform>*{padding-top:.375em}.row.gtr-50{margin-top:0;margin-left:-.75em}.row.gtr-50>*{padding:0 0 0 .75em}.row.gtr-50.gtr-uniform{margin-top:-.75em}.row.gtr-50.gtr-uniform>*{padding-top:.75em}.row{margin-top:0;margin-left:-1.5em}.row>*{padding:0 0 0 1.5em}.row.gtr-uniform{margin-top:-1.5em}.row.gtr-uniform>*{padding-top:1.5em}.row.gtr-150{margin-top:0;margin-left:-2.25em}.row.gtr-150>*{padding:0 0 0 2.25em}.row.gtr-150.gtr-uniform{margin-top:-2.25em}.row.gtr-150.gtr-uniform>*{padding-top:2.25em}.row.gtr-200{margin-top:0;margin-left:-3em}.row.gtr-200>*{padding:0 0 0 3em}.row.gtr-200.gtr-uniform{margin-top:-3em}.row.gtr-200.gtr-uniform>*{padding-top:3em}}@media screen and (max-width: 480px){.row{display:flex;flex-wrap:wrap;box-sizing:border-box;align-items:stretch}.row>*{box-sizing:border-box}.row.gtr-uniform>*>:last-child{margin-bottom:0}.row.aln-left{justify-content:flex-start}.row.aln-center{justify-content:center}.row.aln-right{justify-content:flex-end}.row.aln-top{align-items:flex-start}.row.aln-middle{align-items:center}.row.aln-bottom{align-items:flex-end}.row>.imp-xsmall{order:-1}.row>.col-1-xsmall{width:8.3333333333%}.row>.off-1-xsmall{margin-left:8.3333333333%}.row>.col-2-xsmall{width:16.6666666667%}.row>.off-2-xsmall{margin-left:16.6666666667%}.row>.col-3-xsmall{width:25%}.row>.off-3-xsmall{margin-left:25%}.row>.col-4-xsmall{width:33.3333333333%}.row>.off-4-xsmall{margin-left:33.3333333333%}.row>.col-5-xsmall{width:41.6666666667%}.row>.off-5-xsmall{margin-left:41.6666666667%}.row>.col-6-xsmall{width:50%}.row>.off-6-xsmall{margin-left:50%}.row>.col-7-xsmall{width:58.3333333333%}.row>.off-7-xsmall{margin-left:58.3333333333%}.row>.col-8-xsmall{width:66.6666666667%}.row>.off-8-xsmall{margin-left:66.6666666667%}.row>.col-9-xsmall{width:75%}.row>.off-9-xsmall{margin-left:75%}.row>.col-10-xsmall{width:83.3333333333%}.row>.off-10-xsmall{margin-left:83.3333333333%}.row>.col-11-xsmall{width:91.6666666667%}.row>.off-11-xsmall{margin-left:91.6666666667%}.row>.col-12-xsmall{width:100%}.row>.off-12-xsmall{margin-left:100%}.row.gtr-0{margin-top:0;margin-left:0}.row.gtr-0>*{padding:0}.row.gtr-0.gtr-uniform{margin-top:0}.row.gtr-0.gtr-uniform>*{padding-top:0}.row.gtr-25{margin-top:0;margin-left:-.375em}.row.gtr-25>*{padding:0 0 0 .375em}.row.gtr-25.gtr-uniform{margin-top:-.375em}.row.gtr-25.gtr-uniform>*{padding-top:.375em}.row.gtr-50{margin-top:0;margin-left:-.75em}.row.gtr-50>*{padding:0 0 0 .75em}.row.gtr-50.gtr-uniform{margin-top:-.75em}.row.gtr-50.gtr-uniform>*{padding-top:.75em}.row{margin-top:0;margin-left:-1.5em}.row>*{padding:0 0 0 1.5em}.row.gtr-uniform{margin-top:-1.5em}.row.gtr-uniform>*{padding-top:1.5em}.row.gtr-150{margin-top:0;margin-left:-2.25em}.row.gtr-150>*{padding:0 0 0 2.25em}.row.gtr-150.gtr-uniform{margin-top:-2.25em}.row.gtr-150.gtr-uniform>*{padding-top:2.25em}.row.gtr-200{margin-top:0;margin-left:-3em}.row.gtr-200>*{padding:0 0 0 3em}.row.gtr-200.gtr-uniform{margin-top:-3em}.row.gtr-200.gtr-uniform>*{padding-top:3em}}section.special,article.special{text-align:center}.section .default-content-wrapper:first-child h2{border-bottom:solid 3px #f56a6a;display:inline-block;margin:0 0 2em;padding:0 .75em .5em 0}header p{font-family:Roboto Slab,serif;font-size:1em;font-weight:400;letter-spacing:.075em;margin-top:-.5em;text-transform:uppercase}header.major>:last-child{border-bottom:solid 3px #f56a6a;display:inline-block;margin:0 0 2em;padding:0 .75em .5em 0}header.main>:last-child{margin:0 0 1em}form{margin:0 0 2em}label{color:#3d4449;display:block;font-size:.9em;font-weight:600;margin:0 0 1em}input[type=text],input[type=password],input[type=email],input[type=tel],input[type=search],input[type=url],select,textarea{-moz-appearance:none;-webkit-appearance:none;-ms-appearance:none;appearance:none;background:#fff;border-radius:.375em;border:none;border:solid 1px rgba(210,215,217,.75);color:inherit;display:block;outline:0;padding:0 1em;text-decoration:none;width:100%}input[type=text]:invalid,input[type=password]:invalid,input[type=email]:invalid,input[type=tel]:invalid,input[type=search]:invalid,input[type=url]:invalid,select:invalid,textarea:invalid{box-shadow:none}input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=tel]:focus,input[type=search]:focus,input[type=url]:focus,select:focus,textarea:focus{border-color:#f56a6a;box-shadow:0 0 0 1px #f56a6a}select{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='rgba(210, 215, 217, 0.75)' /%3E%3C/svg%3E");background-size:1.25em;background-repeat:no-repeat;background-position:calc(100% - 1em) center;height:2.75em;padding-right:2.75em;text-overflow:ellipsis}select option{color:#3d4449;background:#fff}select:focus::-ms-value{background-color:transparent}select::-ms-expand{display:none}input[type=text],input[type=password],input[type=email],input[type=tel],input[type=search],input[type=url],select{height:2.75em}textarea{padding:.75em 1em}input[type=checkbox],input[type=radio]{-moz-appearance:none;-webkit-appearance:none;-ms-appearance:none;appearance:none;display:block;float:left;margin-right:-2em;opacity:0;width:1em;z-index:-1}input[type=checkbox]+label,input[type=radio]+label{text-decoration:none;color:#7f888f;cursor:pointer;display:inline-block;font-size:1em;font-weight:400;padding-left:2.4em;padding-right:.75em;position:relative}input[type=checkbox]+label:before,input[type=radio]+label:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1;text-transform:none!important;font-family:"Font Awesome 5 Free";font-weight:900}input[type=checkbox]+label:before,input[type=radio]+label:before{background:#fff;border-radius:.375em;border:solid 1px rgba(210,215,217,.75);content:"";display:inline-block;font-size:.8em;height:2.0625em;left:0;line-height:2.0625em;position:absolute;text-align:center;top:0;width:2.0625em}input[type=checkbox]:checked+label:before,input[type=radio]:checked+label:before{background:#3d4449;border-color:#3d4449;color:#fff;content:""}input[type=checkbox]:focus+label:before,input[type=radio]:focus+label:before{border-color:#f56a6a;box-shadow:0 0 0 1px #f56a6a}input[type=checkbox]+label:before{border-radius:.375em}input[type=radio]+label:before{border-radius:100%}::-webkit-input-placeholder{color:#9fa3a6!important;opacity:1}:-moz-placeholder{color:#9fa3a6!important;opacity:1}::-moz-placeholder{color:#9fa3a6!important;opacity:1}:-ms-input-placeholder{color:#9fa3a6!important;opacity:1}.box{border-radius:.375em;border:solid 1px rgba(210,215,217,.75);margin-bottom:2em;padding:1.5em}.box>:last-child,.box>:last-child>:last-child,.box>:last-child>:last-child>:last-child{margin-bottom:0}.box.alt{border:0;border-radius:0;padding:0}.icon{text-decoration:none;border-bottom:none;position:relative}.icon:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1;text-transform:none!important;font-family:"Font Awesome 5 Free";font-weight:400}.icon>.label{display:none}.icon:before{line-height:inherit}.icon.solid:before{font-weight:900}.icon.brands:before{font-family:"Font Awesome 5 Brands"}.image{border-radius:.375em;border:0;display:inline-block;position:relative}.image img{border-radius:.375em;display:block}.image.left,.image.right{max-width:40%}.image.left img,.image.right img{width:100%}.image.left{float:left;padding:0 1.5em 1em 0;top:.25em}.image.right{float:right;padding:0 0 1em 1.5em;top:.25em}.image.fit{display:block;margin:0 0 2em;width:100%}.image.fit img{width:100%}.image.main{display:block;margin:0 0 3em;width:100%}.image.main img{width:100%}a.image{overflow:hidden}a.image img{-moz-transition:-moz-transform .2s ease;-webkit-transition:-webkit-transform .2s ease;-ms-transition:-ms-transform .2s ease;transition:transform .2s ease}a.image:hover img{-moz-transform:scale(1.075);-webkit-transform:scale(1.075);-ms-transform:scale(1.075);transform:scale(1.075)}ol{list-style:decimal;margin:0 0 2em;padding-left:1.25em}ol li{padding-left:.25em}ul{list-style:disc;margin:0 0 2em;padding-left:1em}ul li{padding-left:.5em}ul.alt{list-style:none;padding-left:0}ul.alt li{border-top:solid 1px rgba(210,215,217,.75);padding:.5em 0}ul.alt li:first-child{border-top:0;padding-top:0}dl{margin:0 0 2em}dl dt{display:block;font-weight:600;margin:0 0 1em}dl dd{margin-left:2em}ul.actions{display:-moz-flex;display:-webkit-flex;display:-ms-flex;display:flex;cursor:default;list-style:none;margin-left:-1em;padding-left:0}ul.actions li{padding:0 0 0 1em;vertical-align:middle}ul.actions.special{-moz-justify-content:center;-webkit-justify-content:center;-ms-justify-content:center;justify-content:center;width:100%;margin-left:0}ul.actions.special li:first-child{padding-left:0}ul.actions.stacked{-moz-flex-direction:column;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-left:0}ul.actions.stacked li{padding:1.3em 0 0}ul.actions.stacked li:first-child{padding-top:0}ul.actions.fit{width:calc(100% + 1em)}ul.actions.fit li{-moz-flex-grow:1;-webkit-flex-grow:1;-ms-flex-grow:1;flex-grow:1;-moz-flex-shrink:1;-webkit-flex-shrink:1;-ms-flex-shrink:1;flex-shrink:1;width:100%}ul.actions.fit li>*{width:100%}ul.actions.fit.stacked{width:100%}ul.icons{cursor:default;list-style:none;padding-left:0}ul.icons li{display:inline-block;padding:0 1em 0 0}ul.icons li:last-child{padding-right:0}ul.icons li .icon{color:inherit}ul.icons li .icon:before{font-size:1.25em}ul.contact{list-style:none;padding:0}ul.contact li{text-decoration:none;border-top:solid 1px rgba(210,215,217,.75);margin:1.5em 0 0;padding:1.5em 0 0 3em;position:relative}ul.contact li:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1;text-transform:none!important;font-family:"Font Awesome 5 Free";font-weight:400}ul.contact li:before{color:#f56a6a;display:inline-block;font-size:1.5em;height:1.125em;left:0;line-height:1.125em;position:absolute;text-align:center;top:1em;width:1.5em}ul.contact li:first-child{border-top:0;margin-top:0;padding-top:0}ul.contact li:first-child:before{top:0}ul.contact li a{color:inherit}ul.pagination{cursor:default;list-style:none;padding-left:0}ul.pagination li{display:inline-block;padding-left:0;vertical-align:middle}ul.pagination li>.page{-moz-transition:background-color .2s ease-in-out,color .2s ease-in-out;-webkit-transition:background-color .2s ease-in-out,color .2s ease-in-out;-ms-transition:background-color .2s ease-in-out,color .2s ease-in-out;transition:background-color .2s ease-in-out,color .2s ease-in-out;border-bottom:0;border-radius:.375em;display:inline-block;font-size:.8em;font-weight:600;height:2em;line-height:2em;margin:0 .125em;min-width:2em;padding:0 .5em;text-align:center}ul.pagination li>.page.active{background-color:#f56a6a;color:#fff!important}ul.pagination li>.page.active:hover{background-color:#f67878}ul.pagination li>.page.active:active{background-color:#f45c5c}ul.pagination li:first-child{padding-right:.75em}ul.pagination li:last-child{padding-left:.75em}@media screen and (max-width: 480px){ul.pagination li:nth-child(n+2):nth-last-child(n+2){display:none}ul.pagination li:first-child{padding-right:0}}.table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}table{margin:0 0 2em;width:100%}table tbody tr{border:solid 1px rgba(210,215,217,.75);border-left:0;border-right:0}table tbody tr:nth-child(odd){background-color:#e6ebed40}table td{padding:.75em}table th{color:#3d4449;font-size:.9em;font-weight:600;padding:0 .75em .75em;text-align:left}table thead{border-bottom:solid 2px rgba(210,215,217,.75)}table tfoot{border-top:solid 2px rgba(210,215,217,.75)}table.alt{border-collapse:separate}table.alt tbody tr td{border:solid 1px rgba(210,215,217,.75);border-left-width:0;border-top-width:0}table.alt tbody tr td:first-child{border-left-width:1px}table.alt tbody tr:first-child td{border-top-width:1px}table.alt thead{border-bottom:0}table.alt tfoot{border-top:0}input[type=submit],input[type=reset],input[type=button],button,.button{-moz-appearance:none;-webkit-appearance:none;-ms-appearance:none;appearance:none;-moz-transition:background-color .2s ease-in-out,color .2s ease-in-out;-webkit-transition:background-color .2s ease-in-out,color .2s ease-in-out;-ms-transition:background-color .2s ease-in-out,color .2s ease-in-out;transition:background-color .2s ease-in-out,color .2s ease-in-out;background-color:transparent;border-radius:.375em;border:0;box-shadow:inset 0 0 0 2px #f56a6a;color:#f56a6a!important;cursor:pointer;display:inline-block;font-family:Roboto Slab,serif;font-size:.8em;font-weight:700;height:3.5em;letter-spacing:.075em;line-height:3.5em;padding:0 2.25em;text-align:center;text-decoration:none;text-transform:uppercase;white-space:nowrap}input[type=submit]:hover,input[type=reset]:hover,input[type=button]:hover,button:hover,.button:hover{background-color:#f56a6a0d}input[type=submit]:active,input[type=reset]:active,input[type=button]:active,button:active,.button:active{background-color:#f56a6a26}input[type=submit].icon:before,input[type=reset].icon:before,input[type=button].icon:before,button.icon:before,.button.icon:before{margin-right:.5em}input[type=submit].fit,input[type=reset].fit,input[type=button].fit,button.fit,.button.fit{width:100%}input[type=submit].small,input[type=reset].small,input[type=button].small,button.small,.button.small{font-size:.6em}input[type=submit].large,input[type=reset].large,input[type=button].large,button.large,.button.large{font-size:1em;height:3.65em;line-height:3.65em}input[type=submit].primary,input[type=reset].primary,input[type=button].primary,button.primary,.button.primary{background-color:#f56a6a;box-shadow:none;color:#fff!important}input[type=submit].primary:hover,input[type=reset].primary:hover,input[type=button].primary:hover,button.primary:hover,.button.primary:hover{background-color:#f67878}input[type=submit].primary:active,input[type=reset].primary:active,input[type=button].primary:active,button.primary:active,.button.primary:active{background-color:#f45c5c}input[type=submit].disabled,input[type=submit]:disabled,input[type=reset].disabled,input[type=reset]:disabled,input[type=button].disabled,input[type=button]:disabled,button.disabled,button:disabled,.button.disabled,.button:disabled{pointer-events:none;opacity:.25}.mini-posts article{border-top:solid 1px rgba(210,215,217,.75);margin-top:2em;padding-top:2em}.mini-posts article .image{display:block;margin:0 0 1.5em}.mini-posts article .image img{display:block;width:100%}.mini-posts article:first-child{border-top:0;margin-top:0;padding-top:0}.features{display:-moz-flex;display:-webkit-flex;display:-ms-flex;display:flex;-moz-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 0 2em -3em;width:calc(100% + 3em)}.features article{-moz-align-items:center;-webkit-align-items:center;-ms-align-items:center;align-items:center;display:-moz-flex;display:-webkit-flex;display:-ms-flex;display:flex;margin:0 0 3em 3em;position:relative;width:calc(50% - 3em)}.features article:nth-child(2n-1){margin-right:1.5em}.features article:nth-child(2n){margin-left:1.5em}.features article:nth-last-child(1),.features article:nth-last-child(2){margin-bottom:0}.features article .icon-wc{color:#f56a6a;width:44px}.features article .icon{-moz-flex-grow:0;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0;-moz-flex-shrink:0;-webkit-flex-shrink:0;-ms-flex-shrink:0;flex-shrink:0;display:flex;justify-content:center;height:10em;line-height:10em;margin:0 2em 0 0;text-align:center;width:10em;color:#f56a6a}.features article .icon:before{color:#f56a6a;font-size:2.75rem;position:relative;top:.05em}.features article .icon:after{-moz-transform:rotate(45deg);-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);border-radius:.25rem;border:solid 2px rgba(210,215,217,.75);content:"";display:block;height:7em;left:50%;margin:-3.5em 0 0 -3.5em;position:absolute;top:50%;width:7em}.features article .content{-moz-flex-grow:1;-webkit-flex-grow:1;-ms-flex-grow:1;flex-grow:1;-moz-flex-shrink:1;-webkit-flex-shrink:1;-ms-flex-shrink:1;flex-shrink:1;width:100%}.features article .content>:last-child{margin-bottom:0}@media screen and (max-width: 980px){.features{margin:0 0 2em;width:100%}.features article{margin:0 0 3em;width:100%}.features article:nth-child(2n-1){margin-right:0}.features article:nth-child(2n){margin-left:0}.features article:nth-last-child(1),.features article:nth-last-child(2){margin-bottom:3em}.features article:last-child{margin-bottom:0}.features article .icon{height:8em;line-height:8em;width:8em}.features article .icon:before{font-size:2.25rem}.features article .icon:after{height:6em;margin:-3em 0 0 -3em;width:6em}}@media screen and (max-width: 480px){.features article{-moz-flex-direction:column;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-moz-align-items:-moz-flex-start;-webkit-align-items:-webkit-flex-start;-ms-align-items:-ms-flex-start;align-items:flex-start}.features article .icon{height:6em;line-height:6em;margin:0 0 1.5em;width:6em}.features article .icon:before{font-size:1.5rem}.features article .icon:after{height:4em;margin:-2em 0 0 -2em;width:4em}}@media screen and (max-width: 480px){.features article .icon:before{font-size:1.25rem}}.posts{display:-moz-flex;display:-webkit-flex;display:-ms-flex;display:flex;-moz-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 0 2em -6em;width:calc(100% + 6em)}.posts article{-moz-flex-grow:0;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0;-moz-flex-shrink:1;-webkit-flex-shrink:1;-ms-flex-shrink:1;flex-shrink:1;margin:0 0 6em 6em;position:relative;width:calc(33.3333333333% - 6em)}.posts article:before{background:#d2d7d9bf;content:"";display:block;height:calc(100% + 6em);left:-3em;position:absolute;top:0;width:1px}.posts article:after{background:#d2d7d9bf;bottom:-3em;content:"";display:block;height:1px;position:absolute;right:0;width:calc(100% + 6em)}.posts article>:last-child{margin-bottom:0}.posts article .image{display:block;margin:0 0 2em}.posts article .image img{display:block;width:100%}@media screen and (min-width: 1681px){.posts article:nth-child(3n+1):before{display:none}.posts article:nth-child(3n+1):after{width:100%}.posts article:nth-last-child(1),.posts article:nth-last-child(2),.posts article:nth-last-child(3){margin-bottom:0}.posts article:nth-last-child(1):before,.posts article:nth-last-child(2):before,.posts article:nth-last-child(3):before{height:100%}.posts article:nth-last-child(1):after,.posts article:nth-last-child(2):after,.posts article:nth-last-child(3):after{display:none}}@media screen and (max-width: 1680px){.posts article{width:calc(50% - 6em)}.posts article:nth-last-child(3){margin-bottom:6em}}@media screen and (min-width: 481px) and (max-width: 1680px){.posts article:nth-child(odd):before{display:none}.posts article:nth-child(odd):after{width:100%}.posts article:nth-last-child(1),.posts article:nth-last-child(2){margin-bottom:0}.posts article:nth-last-child(1):before,.posts article:nth-last-child(2):before{height:100%}.posts article:nth-last-child(1):after,.posts article:nth-last-child(2):after{display:none}}@media screen and (max-width: 736px){.posts{margin:0 0 2em -4.5em;width:calc(100% + 4.5em)}.posts article{margin:0 0 4.5em 4.5em;width:calc(50% - 4.5em)}.posts article:before{height:calc(100% + 4.5em);left:-2.25em}.posts article:after{bottom:-2.25em;width:calc(100% + 4.5em)}.posts article:nth-last-child(3){margin-bottom:4.5em}}@media screen and (max-width: 480px){.posts{margin:0 0 2em;width:100%}.posts article{margin:0 0 4.5em;width:100%}.posts article:before{display:none}.posts article:after{width:100%}.posts article:last-child{margin-bottom:0}.posts article:last-child:after{display:none}}#wrapper{display:-moz-flex;display:-webkit-flex;display:-ms-flex;display:flex;-moz-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;min-height:100vh}#main{-moz-flex-grow:1;-webkit-flex-grow:1;-ms-flex-grow:1;flex-grow:1;-moz-flex-shrink:1;-webkit-flex-shrink:1;-ms-flex-shrink:1;flex-shrink:1;width:100%}#main>.inner{padding:0 6em .1em;margin:0 auto;max-width:110em}#main>.inner .section{padding:6em 0 4em;border-top:solid 2px rgba(210,215,217,.75)}#main>.inner .section:first-child{border-top:0!important;padding:0}@media screen and (max-width: 1680px){#main>.inner{padding:0 5em .1em}#main>.inner>.section{padding:5em 0 3em}}@media screen and (max-width: 1280px){#main>.inner{padding:0 4em .1em}#main>.inner>.section{padding:4em 0 2em}}@media screen and (max-width: 736px){#main>.inner{padding:0 2em .1em}#main>.inner>.section{padding:3em 0 1em}}#search form{text-decoration:none;position:relative}#search form:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1;text-transform:none!important;font-family:"Font Awesome 5 Free";font-weight:900}#search form:before{-moz-transform:scaleX(-1);-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);transform:scaleX(-1);color:#7f888f;content:"";cursor:default;display:block;font-size:1.5em;height:2em;line-height:2em;opacity:.325;position:absolute;right:0;text-align:center;top:0;width:2em}#search form input[type=text]{padding-right:2.75em}#sidebar{-moz-flex-grow:0;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0;-moz-flex-shrink:0;-webkit-flex-shrink:0;-ms-flex-shrink:0;flex-shrink:0;-moz-transition:margin-left .5s ease,box-shadow .5s ease;-webkit-transition:margin-left .5s ease,box-shadow .5s ease;-ms-transition:margin-left .5s ease,box-shadow .5s ease;transition:margin-left .5s ease,box-shadow .5s ease;background-color:#f5f6f7;font-size:.9em;position:relative;width:26em}#sidebar h2{font-size:1.3888888889em}#sidebar>.inner{padding:2.2222222222em 2.2222222222em 2.4444444444em;position:relative;width:26em}#sidebar>.inner>*{border-bottom:solid 2px rgba(210,215,217,.75);margin:0 0 3.5em;padding:0 0 3.5em}#sidebar>.inner>*>:last-child{margin-bottom:0}#sidebar>.inner>*:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}#sidebar>.inner>.alt{background-color:#eff1f2;border-bottom:0;margin:-2.2222222222em 0 4.4444444444em -2.2222222222em;padding:2.2222222222em;width:calc(100% + 4.4444444444em)}#sidebar .toggle{text-decoration:none;-moz-transition:left .5s ease;-webkit-transition:left .5s ease;-ms-transition:left .5s ease;transition:left .5s ease;-webkit-tap-highlight-color:rgba(255,255,255,0);border:0;display:flex;align-items:center;justify-content:center;height:7.5em;left:26em;line-height:7.5em;outline:0;overflow:hidden;position:absolute;text-align:center;text-indent:-15em;white-space:nowrap;top:0;width:6em;z-index:10000}#sidebar .toggle:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1;text-transform:none!important;font-family:"Font Awesome 5 Free";font-weight:900}#sidebar .toggle>icon-component{width:2.5rem;margin-left:-1.4375em}#sidebar.inactive{margin-left:-26em}@media screen and (max-width: 1680px){#sidebar{width:24em}#sidebar>.inner{padding:1.6666666667em 1.6666666667em 1.3333333333em;width:24em}#sidebar>.inner>.alt{margin:-1.6666666667em 0 3.3333333333em -1.6666666667em;padding:1.6666666667em;width:calc(100% + 3.3333333333em)}#sidebar .toggle{height:6.25em;left:24em;line-height:6.25em;text-indent:5em;width:5em}#sidebar .toggle>icon-component{margin-left:.5625em}#sidebar.inactive{margin-left:-24em}}@media screen and (max-width: 1280px){#sidebar{box-shadow:0 0 5em #0000002d;height:100%;left:0;position:fixed;top:0;z-index:10000}#sidebar.inactive{box-shadow:none}#sidebar>.inner{-webkit-overflow-scrolling:touch;height:100%;left:0;overflow-x:hidden;overflow-y:auto;position:absolute;top:0}#sidebar>.inner:after{content:"";display:block;height:4em;width:100%}#sidebar .toggle{text-indent:6em;width:6em}#sidebar .toggle>icon-component{margin-left:-1.4375em}body.is-preload #sidebar{display:none}}@media screen and (max-width: 736px){#sidebar .toggle{text-indent:7.25em;width:7.25em}#sidebar .toggle:before{color:#7f888f;margin-left:-.0625em;margin-top:-.25em;font-size:1.1rem;z-index:1}#sidebar .toggle:after{background:#dee1e2bf;border-radius:.375em;content:"";height:3.5em;left:1em;position:absolute;top:1em;width:5em}}#header{display:-moz-flex;display:-webkit-flex;display:-ms-flex;display:flex;border-bottom:solid 5px #f56a6a;padding:6em 0 1em;position:relative}#header>*{-moz-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;margin-bottom:0}#header .logo{border-bottom:0;color:inherit;font-family:Roboto Slab,serif;font-size:1.125em}#header .icons{text-align:right}@media screen and (max-width: 1680px){#header{padding-top:5em}}@media screen and (max-width: 736px){#header{padding-top:6.5em}#header .logo{font-size:1.25em;margin:0}#header .icons{height:5em;line-height:5em;position:absolute;right:-.5em;top:0}}#banner{padding:6em 0 4em;display:-moz-flex;display:-webkit-flex;display:-ms-flex;display:flex}#banner h1{margin-top:-.125em}#banner .content{-moz-flex-grow:1;-webkit-flex-grow:1;-ms-flex-grow:1;flex-grow:1;-moz-flex-shrink:1;-webkit-flex-shrink:1;-ms-flex-shrink:1;flex-shrink:1;width:50%}#banner .image{-moz-flex-grow:0;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0;-moz-flex-shrink:0;-webkit-flex-shrink:0;-ms-flex-shrink:0;flex-shrink:0;display:block;margin:0 0 2em 4em;width:50%}#banner .image img{height:100%;-moz-object-fit:cover;-webkit-object-fit:cover;-ms-object-fit:cover;object-fit:cover;-moz-object-position:center;-webkit-object-position:center;-ms-object-position:center;object-position:center;width:100%}@media screen and (orientation: portrait){#banner{-moz-flex-direction:column-reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}#banner h1 br{display:none}#banner .content{-moz-flex-grow:0;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0;-moz-flex-shrink:0;-webkit-flex-shrink:0;-ms-flex-shrink:0;flex-shrink:0;width:100%}#banner .image{-moz-flex-grow:0;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0;-moz-flex-shrink:0;-webkit-flex-shrink:0;-ms-flex-shrink:0;flex-shrink:0;margin:0 0 4em;height:25em;max-height:50vh;min-height:18em;width:100%}}@media screen and (orientation: portrait) and (max-width: 480px){#banner .image{max-height:35vh}}#footer .copyright{color:#9fa3a6;font-size:.9em}#footer .copyright a{color:inherit}#menu ul{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;color:#3d4449;font-family:Roboto Slab,serif;font-weight:400;letter-spacing:.075em;list-style:none;margin-bottom:0;padding:0;text-transform:uppercase}#menu ul a,#menu ul span{border-bottom:0;color:inherit;cursor:pointer;display:block;font-size:.9em;padding:.625em 0}#menu ul a:hover,#menu ul span:hover{color:#f56a6a}#menu ul a.opener,#menu ul span.opener{-moz-transition:color .2s ease-in-out;-webkit-transition:color .2s ease-in-out;-ms-transition:color .2s ease-in-out;transition:color .2s ease-in-out;text-decoration:none;-webkit-tap-highlight-color:rgba(255,255,255,0);position:relative}#menu ul a.opener:before,#menu ul span.opener:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1;text-transform:none!important;font-family:"Font Awesome 5 Free";font-weight:900}#menu ul a.opener:before,#menu ul span.opener:before{-moz-transition:color .2s ease-in-out,-moz-transform .2s ease-in-out;-webkit-transition:color .2s ease-in-out,-webkit-transform .2s ease-in-out;-ms-transition:color .2s ease-in-out,-ms-transform .2s ease-in-out;transition:color .2s ease-in-out,transform .2s ease-in-out;color:#9fa3a6;content:"";position:absolute;right:0}#menu ul a.opener:hover:before,#menu ul span.opener:hover:before{color:#f56a6a}#menu ul a.opener.active+ul,#menu ul span.opener.active+ul{display:block}#menu ul a.opener.active:before,#menu ul span.opener.active:before{-moz-transform:rotate(-180deg);-webkit-transform:rotate(-180deg);-ms-transform:rotate(-180deg);transform:rotate(-180deg)}#menu>ul>li{border-top:solid 1px rgba(210,215,217,.75);margin:.5em 0 0;padding:.5em 0 0}#menu>ul>li>ul{color:#9fa3a6;display:none;margin:.5em 0 1.5em;padding-left:1em}#menu>ul>li>ul a,#menu>ul>li>ul span{font-size:.8em}#menu>ul>li>ul>li{margin:.125em 0 0;padding:.125em 0 0}#menu>ul>li:first-child{border-top:0;margin-top:0;padding-top:0} diff --git a/src/blocks/features/features.ts b/src/blocks/features/features.ts index b49d0300..72a87ba3 100644 --- a/src/blocks/features/features.ts +++ b/src/blocks/features/features.ts @@ -15,7 +15,7 @@ const template = (features: TemplateArgs) => { ${features.map( (feature) => html`
    - +
    ${unsafeHTML(feature.textBlock)}
    ` diff --git a/src/components/icon.ts b/src/components/icon.ts index 31634946..8caf09d0 100644 --- a/src/components/icon.ts +++ b/src/components/icon.ts @@ -1,29 +1,36 @@ -import { customElement } from 'lit/decorators.js'; +import { LitElement, css, html } from 'lit'; +import { customElement, property } from 'lit/decorators.js'; +import { unsafeSVG } from 'lit/directives/unsafe-svg.js'; +import { until } from 'lit/directives/until.js'; + +const modules = import.meta.glob('/src/icons/*.svg', { as: 'raw' }); @customElement('icon-component') -export class Icon extends HTMLElement { - get name() { - const srcValue = this.getAttribute('name'); - if (!srcValue) { - throw new Error('Icon must have a name attribute'); - } - return srcValue; - } +export class Icon extends LitElement { + @property({ type: String }) + name: string = ''; - connectedCallback() { - console.log('RENDER ICON'); - this.render(); + async getSvg(name: string) { + const key = modules[`/src/icons/${name}.svg`]; + const iconMarkupFunc = key !== undefined ? key : modules[`/src/icons/cross.svg`]; + const iconMarkup = await iconMarkupFunc().catch((e: Error) => console.error(`SVG icon: ${e.message}`)); + return unsafeSVG(iconMarkup as string); } - async render() { - const svg = await this.fetchIcon(); - console.log('render icon here', svg); - return `${svg}`; + render() { + const svg = this.getSvg(this.name); + return html`${until(svg)}`; } - async fetchIcon() { - const response = await fetch(`${window.hlx.codeBasePath}/dist/icons/${this.name}.svg`); - const textResponse = await response.text(); - return textResponse; - } + static styles = css` + :host { + display: flex; + align-items: center; + } + + svg { + width: 100%; + height: auto; + } + `; } diff --git a/src/components/sidebar/sidebar.ts b/src/components/sidebar/sidebar.ts index 2d9271a5..62b3f85d 100644 --- a/src/components/sidebar/sidebar.ts +++ b/src/components/sidebar/sidebar.ts @@ -4,13 +4,13 @@ import './sidebarNav.ts'; @customElement('sidebar-component') export class SidebarComponent extends LitElement { + @query('.toggle') + toggle: HTMLAnchorElement; + protected createRenderRoot(): HTMLElement | DocumentFragment { return this; } - @query('.toggle') - toggle: HTMLAnchorElement; - firstUpdated(): void { this.toggle.addEventListener('click', this.handleToggleClick); console.log('toggle', this); @@ -27,7 +27,7 @@ export class SidebarComponent extends LitElement {
    - Toggle + `; } } diff --git a/src/icons/README.md b/src/icons/README.md deleted file mode 100644 index 1384f6a0..00000000 --- a/src/icons/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Icons - -Icons from [Flaticon](https://www.flaticon.com/icon-fonts-most-downloaded?weight=regular&type=uicon). \ No newline at end of file diff --git a/src/icons/angle-down.svg b/src/icons/angle-down.svg deleted file mode 100644 index fefe17a4..00000000 --- a/src/icons/angle-down.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/icons/angle-left.svg b/src/icons/angle-left.svg deleted file mode 100644 index ef8746a7..00000000 --- a/src/icons/angle-left.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/icons/angle-right.svg b/src/icons/angle-right.svg deleted file mode 100644 index 936b34d6..00000000 --- a/src/icons/angle-right.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/icons/angle-small-down.svg b/src/icons/angle-small-down.svg deleted file mode 100644 index 0c84cff6..00000000 --- a/src/icons/angle-small-down.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/icons/angle-small-left.svg b/src/icons/angle-small-left.svg deleted file mode 100644 index 99fbf673..00000000 --- a/src/icons/angle-small-left.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/icons/angle-small-right.svg b/src/icons/angle-small-right.svg deleted file mode 100644 index 7458533d..00000000 --- a/src/icons/angle-small-right.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/icons/angle-up.svg b/src/icons/angle-up.svg deleted file mode 100644 index bb485d10..00000000 --- a/src/icons/angle-up.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/icons/bolt.svg b/src/icons/bolt.svg deleted file mode 100644 index 4d843e80..00000000 --- a/src/icons/bolt.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/icons/building-storefront.svg b/src/icons/building-storefront.svg new file mode 100644 index 00000000..a43066d8 --- /dev/null +++ b/src/icons/building-storefront.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/chat-bubble-left-right.svg b/src/icons/chat-bubble-left-right.svg new file mode 100644 index 00000000..32682c8c --- /dev/null +++ b/src/icons/chat-bubble-left-right.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/check.svg b/src/icons/check.svg deleted file mode 100644 index f322b2bf..00000000 --- a/src/icons/check.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/icons/clip.svg b/src/icons/clip.svg deleted file mode 100644 index f75460d2..00000000 --- a/src/icons/clip.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/icons/clock.svg b/src/icons/clock.svg deleted file mode 100644 index 5f17cdbe..00000000 --- a/src/icons/clock.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/icons/cpu-chip.svg b/src/icons/cpu-chip.svg new file mode 100644 index 00000000..6d637096 --- /dev/null +++ b/src/icons/cpu-chip.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/cross.svg b/src/icons/cross.svg deleted file mode 100644 index 8b905b00..00000000 --- a/src/icons/cross.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/icons/cursor-arrow-ripple.svg b/src/icons/cursor-arrow-ripple.svg new file mode 100644 index 00000000..6a1377ce --- /dev/null +++ b/src/icons/cursor-arrow-ripple.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/download.svg b/src/icons/download.svg deleted file mode 100644 index 455f99d2..00000000 --- a/src/icons/download.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/icons/envelope.svg b/src/icons/envelope.svg deleted file mode 100644 index b99529cc..00000000 --- a/src/icons/envelope.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/icons/eye-crossed.svg b/src/icons/eye-crossed.svg deleted file mode 100644 index 8247d9fe..00000000 --- a/src/icons/eye-crossed.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/icons/eye.svg b/src/icons/eye.svg deleted file mode 100644 index a151c61f..00000000 --- a/src/icons/eye.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/icons/globe.svg b/src/icons/globe.svg deleted file mode 100644 index 7ab30de8..00000000 --- a/src/icons/globe.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/icons/hamburger.svg b/src/icons/hamburger.svg new file mode 100644 index 00000000..2d22fc94 --- /dev/null +++ b/src/icons/hamburger.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/heart.svg b/src/icons/heart.svg deleted file mode 100644 index 5562a9ea..00000000 --- a/src/icons/heart.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/icons/home.svg b/src/icons/home.svg deleted file mode 100644 index 5ab3d48c..00000000 --- a/src/icons/home.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/icons/menu-burger.svg b/src/icons/menu-burger.svg deleted file mode 100644 index a571bafe..00000000 --- a/src/icons/menu-burger.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/icons/paper-plane.svg b/src/icons/paper-plane.svg deleted file mode 100644 index ae798a4e..00000000 --- a/src/icons/paper-plane.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/icons/plus.svg b/src/icons/plus.svg deleted file mode 100644 index 1c87eae8..00000000 --- a/src/icons/plus.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/icons/rocket-lunch.svg b/src/icons/rocket-lunch.svg deleted file mode 100644 index f4a090a7..00000000 --- a/src/icons/rocket-lunch.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/icons/search.svg b/src/icons/search.svg deleted file mode 100644 index 0c9648b3..00000000 --- a/src/icons/search.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/icons/share.svg b/src/icons/share.svg deleted file mode 100644 index fcd28f5b..00000000 --- a/src/icons/share.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/icons/social-network.svg b/src/icons/social-network.svg deleted file mode 100644 index 8bb26207..00000000 --- a/src/icons/social-network.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/icons/trash.svg b/src/icons/trash.svg deleted file mode 100644 index d6a7d41d..00000000 --- a/src/icons/trash.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/icons/user.svg b/src/icons/user.svg deleted file mode 100644 index 4d69d08a..00000000 --- a/src/icons/user.svg +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/src/styles/sass/components/_features.scss b/src/styles/sass/components/_features.scss index 474e062b..58ebc182 100644 --- a/src/styles/sass/components/_features.scss +++ b/src/styles/sass/components/_features.scss @@ -6,151 +6,158 @@ /* Features */ - .features { - $gutter: _size(gutter); - - @include vendor('display', 'flex'); - @include vendor('flex-wrap', 'wrap'); - margin: 0 0 _size(element-margin) ($gutter * -1); - width: calc(100% + #{$gutter}); - - article { - @include vendor('align-items', 'center'); - @include vendor('display', 'flex'); - margin: 0 0 $gutter $gutter; - position: relative; - width: calc(50% - #{$gutter}); - - &:nth-child(2n - 1) { - margin-right: ($gutter * 0.5); - } - - &:nth-child(2n) { - margin-left: ($gutter * 0.5); - } - - &:nth-last-child(1), - &:nth-last-child(2) { - margin-bottom: 0; - } - - .icon { - @include vendor('flex-grow', '0'); - @include vendor('flex-shrink', '0'); - display: block; - height: 10em; - line-height: 10em; - margin: 0 _size(element-margin) 0 0; - text-align: center; - width: 10em; - - &:before { - color: _palette(accent); - font-size: 2.75rem; - position: relative; - top: 0.05em; - } - - &:after { - @include vendor('transform', 'rotate(45deg)'); - border-radius: 0.25rem; - border: solid 2px _palette(border); - content: ''; - display: block; - height: 7em; - left: 50%; - margin: -3.5em 0 0 -3.5em; - position: absolute; - top: 50%; - width: 7em; - } - } - - .content { - @include vendor('flex-grow', '1'); - @include vendor('flex-shrink', '1'); - width: 100%; - - > :last-child { - margin-bottom: 0; - } - } - } - - @include breakpoint('<=medium') { - margin: 0 0 _size(element-margin) 0; - width: 100%; - - article { - margin: 0 0 $gutter 0; - width: 100%; - - &:nth-child(2n - 1) { - margin-right: 0; - } - - &:nth-child(2n) { - margin-left: 0; - } - - &:nth-last-child(1), - &:nth-last-child(2) { - margin-bottom: $gutter; - } - - &:last-child { - margin-bottom: 0; - } - - .icon { - height: 8em; - line-height: 8em; - width: 8em; - - &:before { - font-size: 2.25rem; - } - - &:after { - height: 6em; - margin: -3em 0 0 -3em; - width: 6em; - } - } - } - } - - @include breakpoint('<=xsmall') { - article { - @include vendor('flex-direction', 'column'); - @include vendor('align-items', 'flex-start'); - - .icon { - height: 6em; - line-height: 6em; - margin: 0 0 (_size(element-margin) * 0.75) 0; - width: 6em; - - &:before { - font-size: 1.5rem; - } - - &:after { - height: 4em; - margin: -2em 0 0 -2em; - width: 4em; - } - } - } - } - - @include breakpoint('<=xsmall') { - article { - .icon { - &:before { - font-size: 1.25rem; - } - } - } - } - } \ No newline at end of file +.features { + $gutter: _size(gutter); + + @include vendor('display', 'flex'); + @include vendor('flex-wrap', 'wrap'); + margin: 0 0 _size(element-margin) ($gutter * -1); + width: calc(100% + #{$gutter}); + + article { + @include vendor('align-items', 'center'); + @include vendor('display', 'flex'); + margin: 0 0 $gutter $gutter; + position: relative; + width: calc(50% - #{$gutter}); + + &:nth-child(2n - 1) { + margin-right: ($gutter * 0.5); + } + + &:nth-child(2n) { + margin-left: ($gutter * 0.5); + } + + &:nth-last-child(1), + &:nth-last-child(2) { + margin-bottom: 0; + } + + .icon-wc { + color: _palette(accent); + width: 44px; + } + + .icon { + @include vendor('flex-grow', '0'); + @include vendor('flex-shrink', '0'); + display: flex; + justify-content: center; + height: 10em; + line-height: 10em; + margin: 0 _size(element-margin) 0 0; + text-align: center; + width: 10em; + color: _palette(accent); + + &:before { + color: _palette(accent); + font-size: 2.75rem; + position: relative; + top: 0.05em; + } + + &:after { + @include vendor('transform', 'rotate(45deg)'); + border-radius: 0.25rem; + border: solid 2px _palette(border); + content: ''; + display: block; + height: 7em; + left: 50%; + margin: -3.5em 0 0 -3.5em; + position: absolute; + top: 50%; + width: 7em; + } + } + + .content { + @include vendor('flex-grow', '1'); + @include vendor('flex-shrink', '1'); + width: 100%; + + > :last-child { + margin-bottom: 0; + } + } + } + + @include breakpoint('<=medium') { + margin: 0 0 _size(element-margin) 0; + width: 100%; + + article { + margin: 0 0 $gutter 0; + width: 100%; + + &:nth-child(2n - 1) { + margin-right: 0; + } + + &:nth-child(2n) { + margin-left: 0; + } + + &:nth-last-child(1), + &:nth-last-child(2) { + margin-bottom: $gutter; + } + + &:last-child { + margin-bottom: 0; + } + + .icon { + height: 8em; + line-height: 8em; + width: 8em; + + &:before { + font-size: 2.25rem; + } + + &:after { + height: 6em; + margin: -3em 0 0 -3em; + width: 6em; + } + } + } + } + + @include breakpoint('<=xsmall') { + article { + @include vendor('flex-direction', 'column'); + @include vendor('align-items', 'flex-start'); + + .icon { + height: 6em; + line-height: 6em; + margin: 0 0 (_size(element-margin) * 0.75) 0; + width: 6em; + + &:before { + font-size: 1.5rem; + } + + &:after { + height: 4em; + margin: -2em 0 0 -2em; + width: 4em; + } + } + } + } + + @include breakpoint('<=xsmall') { + article { + .icon { + &:before { + font-size: 1.25rem; + } + } + } + } +} diff --git a/src/styles/sass/layout/_sidebar.scss b/src/styles/sass/layout/_sidebar.scss index 3c5e2e91..4583008e 100644 --- a/src/styles/sass/layout/_sidebar.scss +++ b/src/styles/sass/layout/_sidebar.scss @@ -12,9 +12,9 @@ position: relative; &:before { - @include vendor("transform", "scaleX(-1)"); + @include vendor('transform', 'scaleX(-1)'); color: _palette(fg); - content: "\f002"; + content: '\f002'; cursor: default; display: block; font-size: 1.5em; @@ -28,7 +28,7 @@ width: calc(_size(element-height) / 1.375); } - input[type="text"] { + input[type='text'] { padding-right: _size(element-height); } } @@ -37,12 +37,9 @@ #sidebar { $pad: calc(2em / 0.9); - @include vendor("flex-grow", "0"); - @include vendor("flex-shrink", "0"); - @include vendor( - "transition", - ("margin-left 0.5s ease", "box-shadow 0.5s ease") - ); + @include vendor('flex-grow', '0'); + @include vendor('flex-shrink', '0'); + @include vendor('transition', ('margin-left 0.5s ease', 'box-shadow 0.5s ease')); background-color: _palette(bg-alt); font-size: 0.9em; position: relative; @@ -84,10 +81,12 @@ .toggle { @include icon(false, solid); - @include vendor("transition", "left 0.5s ease"); + @include vendor('transition', 'left 0.5s ease'); -webkit-tap-highlight-color: rgba(255, 255, 255, 0); border: 0; - display: block; + display: flex; + align-items: center; + justify-content: center; height: 7.5em; left: _size(sidebar-width); line-height: 7.5em; @@ -101,16 +100,9 @@ width: 6em; z-index: _misc(z-index-base); - &:before { - content: "\f0c9"; - font-size: 2rem; - height: inherit; - left: 0; - line-height: inherit; - position: absolute; - text-indent: 0; - top: 0; - width: inherit; + > icon-component { + width: 2.5rem; + margin-left: -1.4375em; } } @@ -118,7 +110,7 @@ margin-left: (_size(sidebar-width) * -1); } - @include breakpoint("<=xlarge") { + @include breakpoint('<=xlarge') { $pad: calc(1.5em / 0.9); width: _size(sidebar-width-alt); @@ -141,8 +133,8 @@ text-indent: 5em; width: 5em; - &:before { - font-size: 1.5rem; + > icon-component { + margin-left: 0.5625em; } } @@ -151,7 +143,7 @@ } } - @include breakpoint("<=large") { + @include breakpoint('<=large') { box-shadow: 0 0 5em 0 rgba(0, 0, 0, 0.175); height: 100%; left: 0; @@ -173,7 +165,7 @@ top: 0; &:after { - content: ""; + content: ''; display: block; height: 4em; width: 100%; @@ -184,9 +176,8 @@ text-indent: 6em; width: 6em; - &:before { - font-size: 1.5rem; - margin-left: calc(-0.875em / 2); + > icon-component { + margin-left: -1.4375em; } } @@ -195,7 +186,7 @@ } } - @include breakpoint("<=small") { + @include breakpoint('<=small') { .toggle { text-indent: 7.25em; width: 7.25em; @@ -211,7 +202,7 @@ &:after { background: transparentize(lighten(_palette(fg), 35), 0.25); border-radius: _size(border-radius); - content: ""; + content: ''; height: 3.5em; left: 1em; position: absolute; diff --git a/tsconfig.json b/tsconfig.json index 0acbe8d3..efbf169b 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,6 +3,7 @@ "module": "esnext", "target": "ES6", "lib": ["es2017", "dom", "dom.iterable"], + "types": ["vite/client"], "declaration": true, "emitDeclarationOnly": true, "outDir": "./types", diff --git a/types/components/icon.d.ts b/types/components/icon.d.ts index b19cfb39..d42b13fd 100644 --- a/types/components/icon.d.ts +++ b/types/components/icon.d.ts @@ -1,6 +1,7 @@ -export declare class Icon extends HTMLElement { - get name(): string; - connectedCallback(): void; - render(): Promise; - fetchIcon(): Promise; +import { LitElement } from 'lit'; +export declare class Icon extends LitElement { + name: string; + getSvg(name: string): Promise>; + render(): import("lit-html").TemplateResult<1>; + static styles: import("lit").CSSResult; } diff --git a/types/components/sidebar/sidebar.d.ts b/types/components/sidebar/sidebar.d.ts index 1d848142..702ef4ad 100644 --- a/types/components/sidebar/sidebar.d.ts +++ b/types/components/sidebar/sidebar.d.ts @@ -1,8 +1,8 @@ import { LitElement } from 'lit'; import './sidebarNav.ts'; export declare class SidebarComponent extends LitElement { - protected createRenderRoot(): HTMLElement | DocumentFragment; toggle: HTMLAnchorElement; + protected createRenderRoot(): HTMLElement | DocumentFragment; firstUpdated(): void; handleToggleClick: (e: Event) => void; render(): import("lit-html").TemplateResult<1>;