@codeforamerica/marcomms-design-system 1.9.0 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see index.js.LICENSE.txt */
2
- (()=>{"use strict";const n=globalThis,e=n.ShadowRoot&&(void 0===n.ShadyCSS||n.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,t=Symbol(),r=new WeakMap;class i{constructor(n,e,r){if(this._$cssResult$=!0,r!==t)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=n,this.t=e}get styleSheet(){let n=this.o;const t=this.t;if(e&&void 0===n){const e=void 0!==t&&1===t.length;e&&(n=r.get(t)),void 0===n&&((this.o=n=new CSSStyleSheet).replaceSync(this.cssText),e&&r.set(t,n))}return n}toString(){return this.cssText}}const o=(n,...e)=>{const r=1===n.length?n[0]:e.reduce((e,t,r)=>e+(n=>{if(!0===n._$cssResult$)return n.cssText;if("number"==typeof n)return n;throw Error("Value passed to 'css' function must be a 'css' function result: "+n+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(t)+n[r+1],n[0]);return new i(r,n,t)},a=(t,r)=>{if(e)t.adoptedStyleSheets=r.map(n=>n instanceof CSSStyleSheet?n:n.styleSheet);else for(const e of r){const r=document.createElement("style"),i=n.litNonce;void 0!==i&&r.setAttribute("nonce",i),r.textContent=e.cssText,t.appendChild(r)}},s=e?n=>n:n=>n instanceof CSSStyleSheet?(n=>{let e="";for(const t of n.cssRules)e+=t.cssText;return(n=>new i("string"==typeof n?n:n+"",void 0,t))(e)})(n):n,{is:l,defineProperty:c,getOwnPropertyDescriptor:h,getOwnPropertyNames:d,getOwnPropertySymbols:u,getPrototypeOf:p}=Object,f=globalThis,v=f.trustedTypes,g=v?v.emptyScript:"",b=f.reactiveElementPolyfillSupport,m=(n,e)=>n,w={toAttribute(n,e){switch(e){case Boolean:n=n?g:null;break;case Object:case Array:n=null==n?n:JSON.stringify(n)}return n},fromAttribute(n,e){let t=n;switch(e){case Boolean:t=null!==n;break;case Number:t=null===n?null:Number(n);break;case Object:case Array:try{t=JSON.parse(n)}catch(n){t=null}}return t}},y=(n,e)=>!l(n,e),x={attribute:!0,type:String,converter:w,reflect:!1,useDefault:!1,hasChanged:y};Symbol.metadata??=Symbol("metadata"),f.litPropertyMetadata??=new WeakMap;class k extends HTMLElement{static addInitializer(n){this._$Ei(),(this.l??=[]).push(n)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(n,e=x){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(n)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(n,e),!e.noAccessor){const t=Symbol(),r=this.getPropertyDescriptor(n,t,e);void 0!==r&&c(this.prototype,n,r)}}static getPropertyDescriptor(n,e,t){const{get:r,set:i}=h(this.prototype,n)??{get(){return this[e]},set(n){this[e]=n}};return{get:r,set(e){const o=r?.call(this);i?.call(this,e),this.requestUpdate(n,o,t)},configurable:!0,enumerable:!0}}static getPropertyOptions(n){return this.elementProperties.get(n)??x}static _$Ei(){if(this.hasOwnProperty(m("elementProperties")))return;const n=p(this);n.finalize(),void 0!==n.l&&(this.l=[...n.l]),this.elementProperties=new Map(n.elementProperties)}static finalize(){if(this.hasOwnProperty(m("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(m("properties"))){const n=this.properties,e=[...d(n),...u(n)];for(const t of e)this.createProperty(t,n[t])}const n=this[Symbol.metadata];if(null!==n){const e=litPropertyMetadata.get(n);if(void 0!==e)for(const[n,t]of e)this.elementProperties.set(n,t)}this._$Eh=new Map;for(const[n,e]of this.elementProperties){const t=this._$Eu(n,e);void 0!==t&&this._$Eh.set(t,n)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(n){const e=[];if(Array.isArray(n)){const t=new Set(n.flat(1/0).reverse());for(const n of t)e.unshift(s(n))}else void 0!==n&&e.push(s(n));return e}static _$Eu(n,e){const t=e.attribute;return!1===t?void 0:"string"==typeof t?t:"string"==typeof n?n.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(n=>this.enableUpdating=n),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(n=>n(this))}addController(n){(this._$EO??=new Set).add(n),void 0!==this.renderRoot&&this.isConnected&&n.hostConnected?.()}removeController(n){this._$EO?.delete(n)}_$E_(){const n=new Map,e=this.constructor.elementProperties;for(const t of e.keys())this.hasOwnProperty(t)&&(n.set(t,this[t]),delete this[t]);n.size>0&&(this._$Ep=n)}createRenderRoot(){const n=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return a(n,this.constructor.elementStyles),n}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(n=>n.hostConnected?.())}enableUpdating(n){}disconnectedCallback(){this._$EO?.forEach(n=>n.hostDisconnected?.())}attributeChangedCallback(n,e,t){this._$AK(n,t)}_$ET(n,e){const t=this.constructor.elementProperties.get(n),r=this.constructor._$Eu(n,t);if(void 0!==r&&!0===t.reflect){const i=(void 0!==t.converter?.toAttribute?t.converter:w).toAttribute(e,t.type);this._$Em=n,null==i?this.removeAttribute(r):this.setAttribute(r,i),this._$Em=null}}_$AK(n,e){const t=this.constructor,r=t._$Eh.get(n);if(void 0!==r&&this._$Em!==r){const n=t.getPropertyOptions(r),i="function"==typeof n.converter?{fromAttribute:n.converter}:void 0!==n.converter?.fromAttribute?n.converter:w;this._$Em=r;const o=i.fromAttribute(e,n.type);this[r]=o??this._$Ej?.get(r)??o,this._$Em=null}}requestUpdate(n,e,t){if(void 0!==n){const r=this.constructor,i=this[n];if(t??=r.getPropertyOptions(n),!((t.hasChanged??y)(i,e)||t.useDefault&&t.reflect&&i===this._$Ej?.get(n)&&!this.hasAttribute(r._$Eu(n,t))))return;this.C(n,e,t)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(n,e,{useDefault:t,reflect:r,wrapped:i},o){t&&!(this._$Ej??=new Map).has(n)&&(this._$Ej.set(n,o??e??this[n]),!0!==i||void 0!==o)||(this._$AL.has(n)||(this.hasUpdated||t||(e=void 0),this._$AL.set(n,e)),!0===r&&this._$Em!==n&&(this._$Eq??=new Set).add(n))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(n){Promise.reject(n)}const n=this.scheduleUpdate();return null!=n&&await n,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[n,e]of this._$Ep)this[n]=e;this._$Ep=void 0}const n=this.constructor.elementProperties;if(n.size>0)for(const[e,t]of n){const{wrapped:n}=t,r=this[e];!0!==n||this._$AL.has(e)||void 0===r||this.C(e,void 0,t,r)}}let n=!1;const e=this._$AL;try{n=this.shouldUpdate(e),n?(this.willUpdate(e),this._$EO?.forEach(n=>n.hostUpdate?.()),this.update(e)):this._$EM()}catch(e){throw n=!1,this._$EM(),e}n&&this._$AE(e)}willUpdate(n){}_$AE(n){this._$EO?.forEach(n=>n.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(n)),this.updated(n)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(n){return!0}update(n){this._$Eq&&=this._$Eq.forEach(n=>this._$ET(n,this[n])),this._$EM()}updated(n){}firstUpdated(n){}}k.elementStyles=[],k.shadowRootOptions={mode:"open"},k[m("elementProperties")]=new Map,k[m("finalized")]=new Map,b?.({ReactiveElement:k}),(f.reactiveElementVersions??=[]).push("2.1.1");const z=globalThis,j=z.trustedTypes,_=j?j.createPolicy("lit-html",{createHTML:n=>n}):void 0,E="$lit$",S=`lit$${Math.random().toFixed(9).slice(2)}$`,$="?"+S,A=`<${$}>`,P=document,O=()=>P.createComment(""),C=n=>null===n||"object"!=typeof n&&"function"!=typeof n,T=Array.isArray,U="[ \t\n\f\r]",L=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,M=/-->/g,H=/>/g,N=RegExp(`>|${U}(?:([^\\s"'>=/]+)(${U}*=${U}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),R=/'/g,I=/"/g,B=/^(?:script|style|textarea|title)$/i,F=n=>(e,...t)=>({_$litType$:n,strings:e,values:t}),q=F(1),V=F(2),D=(F(3),Symbol.for("lit-noChange")),W=Symbol.for("lit-nothing"),Z=new WeakMap,K=P.createTreeWalker(P,129);function J(n,e){if(!T(n)||!n.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==_?_.createHTML(e):e}const X=(n,e)=>{const t=n.length-1,r=[];let i,o=2===e?"<svg>":3===e?"<math>":"",a=L;for(let e=0;e<t;e++){const t=n[e];let s,l,c=-1,h=0;for(;h<t.length&&(a.lastIndex=h,l=a.exec(t),null!==l);)h=a.lastIndex,a===L?"!--"===l[1]?a=M:void 0!==l[1]?a=H:void 0!==l[2]?(B.test(l[2])&&(i=RegExp("</"+l[2],"g")),a=N):void 0!==l[3]&&(a=N):a===N?">"===l[0]?(a=i??L,c=-1):void 0===l[1]?c=-2:(c=a.lastIndex-l[2].length,s=l[1],a=void 0===l[3]?N:'"'===l[3]?I:R):a===I||a===R?a=N:a===M||a===H?a=L:(a=N,i=void 0);const d=a===N&&n[e+1].startsWith("/>")?" ":"";o+=a===L?t+A:c>=0?(r.push(s),t.slice(0,c)+E+t.slice(c)+S+d):t+S+(-2===c?e:d)}return[J(n,o+(n[t]||"<?>")+(2===e?"</svg>":3===e?"</math>":"")),r]};class Y{constructor({strings:n,_$litType$:e},t){let r;this.parts=[];let i=0,o=0;const a=n.length-1,s=this.parts,[l,c]=X(n,e);if(this.el=Y.createElement(l,t),K.currentNode=this.el.content,2===e||3===e){const n=this.el.content.firstChild;n.replaceWith(...n.childNodes)}for(;null!==(r=K.nextNode())&&s.length<a;){if(1===r.nodeType){if(r.hasAttributes())for(const n of r.getAttributeNames())if(n.endsWith(E)){const e=c[o++],t=r.getAttribute(n).split(S),a=/([.?@])?(.*)/.exec(e);s.push({type:1,index:i,name:a[2],strings:t,ctor:"."===a[1]?tn:"?"===a[1]?rn:"@"===a[1]?on:en}),r.removeAttribute(n)}else n.startsWith(S)&&(s.push({type:6,index:i}),r.removeAttribute(n));if(B.test(r.tagName)){const n=r.textContent.split(S),e=n.length-1;if(e>0){r.textContent=j?j.emptyScript:"";for(let t=0;t<e;t++)r.append(n[t],O()),K.nextNode(),s.push({type:2,index:++i});r.append(n[e],O())}}}else if(8===r.nodeType)if(r.data===$)s.push({type:2,index:i});else{let n=-1;for(;-1!==(n=r.data.indexOf(S,n+1));)s.push({type:7,index:i}),n+=S.length-1}i++}}static createElement(n,e){const t=P.createElement("template");return t.innerHTML=n,t}}function G(n,e,t=n,r){if(e===D)return e;let i=void 0!==r?t._$Co?.[r]:t._$Cl;const o=C(e)?void 0:e._$litDirective$;return i?.constructor!==o&&(i?._$AO?.(!1),void 0===o?i=void 0:(i=new o(n),i._$AT(n,t,r)),void 0!==r?(t._$Co??=[])[r]=i:t._$Cl=i),void 0!==i&&(e=G(n,i._$AS(n,e.values),i,r)),e}class Q{constructor(n,e){this._$AV=[],this._$AN=void 0,this._$AD=n,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(n){const{el:{content:e},parts:t}=this._$AD,r=(n?.creationScope??P).importNode(e,!0);K.currentNode=r;let i=K.nextNode(),o=0,a=0,s=t[0];for(;void 0!==s;){if(o===s.index){let e;2===s.type?e=new nn(i,i.nextSibling,this,n):1===s.type?e=new s.ctor(i,s.name,s.strings,this,n):6===s.type&&(e=new an(i,this,n)),this._$AV.push(e),s=t[++a]}o!==s?.index&&(i=K.nextNode(),o++)}return K.currentNode=P,r}p(n){let e=0;for(const t of this._$AV)void 0!==t&&(void 0!==t.strings?(t._$AI(n,t,e),e+=t.strings.length-2):t._$AI(n[e])),e++}}class nn{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(n,e,t,r){this.type=2,this._$AH=W,this._$AN=void 0,this._$AA=n,this._$AB=e,this._$AM=t,this.options=r,this._$Cv=r?.isConnected??!0}get parentNode(){let n=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===n?.nodeType&&(n=e.parentNode),n}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(n,e=this){n=G(this,n,e),C(n)?n===W||null==n||""===n?(this._$AH!==W&&this._$AR(),this._$AH=W):n!==this._$AH&&n!==D&&this._(n):void 0!==n._$litType$?this.$(n):void 0!==n.nodeType?this.T(n):(n=>T(n)||"function"==typeof n?.[Symbol.iterator])(n)?this.k(n):this._(n)}O(n){return this._$AA.parentNode.insertBefore(n,this._$AB)}T(n){this._$AH!==n&&(this._$AR(),this._$AH=this.O(n))}_(n){this._$AH!==W&&C(this._$AH)?this._$AA.nextSibling.data=n:this.T(P.createTextNode(n)),this._$AH=n}$(n){const{values:e,_$litType$:t}=n,r="number"==typeof t?this._$AC(n):(void 0===t.el&&(t.el=Y.createElement(J(t.h,t.h[0]),this.options)),t);if(this._$AH?._$AD===r)this._$AH.p(e);else{const n=new Q(r,this),t=n.u(this.options);n.p(e),this.T(t),this._$AH=n}}_$AC(n){let e=Z.get(n.strings);return void 0===e&&Z.set(n.strings,e=new Y(n)),e}k(n){T(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let t,r=0;for(const i of n)r===e.length?e.push(t=new nn(this.O(O()),this.O(O()),this,this.options)):t=e[r],t._$AI(i),r++;r<e.length&&(this._$AR(t&&t._$AB.nextSibling,r),e.length=r)}_$AR(n=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);n!==this._$AB;){const e=n.nextSibling;n.remove(),n=e}}setConnected(n){void 0===this._$AM&&(this._$Cv=n,this._$AP?.(n))}}class en{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(n,e,t,r,i){this.type=1,this._$AH=W,this._$AN=void 0,this.element=n,this.name=e,this._$AM=r,this.options=i,t.length>2||""!==t[0]||""!==t[1]?(this._$AH=Array(t.length-1).fill(new String),this.strings=t):this._$AH=W}_$AI(n,e=this,t,r){const i=this.strings;let o=!1;if(void 0===i)n=G(this,n,e,0),o=!C(n)||n!==this._$AH&&n!==D,o&&(this._$AH=n);else{const r=n;let a,s;for(n=i[0],a=0;a<i.length-1;a++)s=G(this,r[t+a],e,a),s===D&&(s=this._$AH[a]),o||=!C(s)||s!==this._$AH[a],s===W?n=W:n!==W&&(n+=(s??"")+i[a+1]),this._$AH[a]=s}o&&!r&&this.j(n)}j(n){n===W?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,n??"")}}class tn extends en{constructor(){super(...arguments),this.type=3}j(n){this.element[this.name]=n===W?void 0:n}}class rn extends en{constructor(){super(...arguments),this.type=4}j(n){this.element.toggleAttribute(this.name,!!n&&n!==W)}}class on extends en{constructor(n,e,t,r,i){super(n,e,t,r,i),this.type=5}_$AI(n,e=this){if((n=G(this,n,e,0)??W)===D)return;const t=this._$AH,r=n===W&&t!==W||n.capture!==t.capture||n.once!==t.once||n.passive!==t.passive,i=n!==W&&(t===W||r);r&&this.element.removeEventListener(this.name,this,t),i&&this.element.addEventListener(this.name,this,n),this._$AH=n}handleEvent(n){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,n):this._$AH.handleEvent(n)}}class an{constructor(n,e,t){this.element=n,this.type=6,this._$AN=void 0,this._$AM=e,this.options=t}get _$AU(){return this._$AM._$AU}_$AI(n){G(this,n)}}const sn=z.litHtmlPolyfillSupport;sn?.(Y,nn),(z.litHtmlVersions??=[]).push("3.3.1");const ln=globalThis;class cn extends k{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const n=super.createRenderRoot();return this.renderOptions.renderBefore??=n.firstChild,n}update(n){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(n),this._$Do=((n,e,t)=>{const r=t?.renderBefore??e;let i=r._$litPart$;if(void 0===i){const n=t?.renderBefore??null;r._$litPart$=i=new nn(e.insertBefore(O(),n),n,void 0,t??{})}return i._$AI(n),i})(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return D}}cn._$litElement$=!0,cn.finalized=!0,ln.litElementHydrateSupport?.({LitElement:cn});const hn=ln.litElementPolyfillSupport;var dn;hn?.({LitElement:cn}),(ln.litElementVersions??=[]).push("4.2.1");const un=o(dn||(dn=function(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}(["\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n *:focus-visible,\n *:target {\n outline: var(--focus-outline);\n position: relative;\n }\n"])));var pn,fn,vn,gn,bn,mn,wn,yn,xn,kn,zn;function jn(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function _n(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}class En extends cn{render(){return q(pn||(pn=jn(["\n <style>\n :host {\n --size: var(--spacing-layout-",", 8rem);\n }\n </style>\n <picture>\n ","\n </picture>\n "])),this.size||"4",this.imageUrl?q(fn||(fn=jn(['\n <img\n src="','"\n loading="lazy"\n alt="','"\n />\n '])),this.imageUrl,this.altText):W)}}function Sn(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function $n(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}_n(En,"properties",{imageUrl:{},altText:{},size:{}}),_n(En,"styles",[un,o(vn||(vn=jn(["\n :host {\n --bg-color: var(--blue-20);\n\n display: inline-block;\n max-width: 100%;\n }\n\n picture {\n aspect-ratio: 1 / 1;\n background-color: var(--bg-color);\n border-radius: 50%;\n display: block;\n max-width: 100%;\n overflow: hidden;\n width: var(--size);\n }\n\n img {\n display: block;\n height: 100%;\n object-fit: cover;\n width: 100%;\n }\n "])))]),customElements.get("cfa-avatar")||customElements.define("cfa-avatar",En);class An extends cn{constructor(){super(),this.shape="1"}blobTemplate(){let n;switch(this.shape){case"1":n=q(gn||(gn=Sn(['<svg\n width="628"\n height="577"\n viewBox="0 0 628 577"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n fill-rule="evenodd"\n clip-rule="evenodd"\n d="M304.482 3.44206C399.413 -5.50752 504.225 1.17063 567.446 72.5295C633.526 147.115 639.549 256.491 613.992 352.793C589.57 444.814 526.084 523.087 438.164 559.679C355.477 594.092 265.039 570.416 184.315 531.621C103.504 492.784 22.0294 438.546 3.59029 350.826C-14.5863 264.355 39.2746 183.666 97.1329 116.868C151.394 54.223 221.956 11.2221 304.482 3.44206Z"\n />\n </svg>'])));break;case"2":n=q(bn||(bn=Sn(['<svg\n width="580"\n height="592"\n viewBox="0 0 580 592"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M238.814 591.215C210.461 592.077 182.849 587.767 155.66 580.979C60.4457 557.059 4.05766 489.933 0.460672 390.376C-2.50155 306.442 8.71258 223.693 37.2769 144.499C73.2468 44.6185 170.894 -12.5948 276.159 2.81295C358.996 14.9883 437.177 39.3389 499.172 100.108C588.039 187.167 604.437 293.512 544.346 402.767C514.618 456.855 477.59 505.988 426.386 541.544C369.892 580.656 304.723 587.767 238.814 591.215Z"\n />\n </svg>'])));break;case"3":n=q(mn||(mn=Sn(['<svg\n width="620"\n height="613"\n viewBox="0 0 620 613"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n fill-rule="evenodd"\n clip-rule="evenodd"\n d="M619.142 301.769C615.581 212.393 536.92 153.752 466.654 98.7402C397.998 44.9883 323.934 -10.5844 236.421 2.12929C141.656 15.8965 53.9975 76.8338 15.687 164.256C-20.6955 247.277 16.2818 336.243 54.5575 417.127C92.4807 497.265 137.965 580.831 224.139 604.752C314.166 629.742 409.183 593.817 484.092 536.359C559.738 478.336 622.883 395.641 619.142 301.769Z"\n />\n </svg>'])));break;case"4":n=q(wn||(wn=Sn(['<svg\n width="656"\n height="566"\n viewBox="0 0 656 566"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n fill-rule="evenodd"\n clip-rule="evenodd"\n d="M332.011 564.695C235.808 569.34 135.091 552.4 71.2946 488.381C4.66596 421.518 -10.0767 327.738 8.2158 239.764C27.3773 147.61 73.5054 52.3693 169.88 14.2546C263.181 -22.6447 364.8 21.5179 455.491 62.8734C540.631 101.698 627.337 150.367 649.771 233.088C672.265 316.032 626.78 399.503 564.43 464.569C505.684 525.875 422.382 560.331 332.011 564.695Z"\n />\n </svg>'])));break;default:n=q(yn||(yn=Sn(['<svg\n width="628"\n height="577"\n viewBox="0 0 628 577"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n fill-rule="evenodd"\n clip-rule="evenodd"\n d="M304.482 3.44206C399.413 -5.50752 504.225 1.17063 567.446 72.5295C633.526 147.115 639.549 256.491 613.992 352.793C589.57 444.814 526.084 523.087 438.164 559.679C355.477 594.092 265.039 570.416 184.315 531.621C103.504 492.784 22.0294 438.546 3.59029 350.826C-14.5863 264.355 39.2746 183.666 97.1329 116.868C151.394 54.223 221.956 11.2221 304.482 3.44206Z"\n />\n </svg>'])))}return n}render(){const n=this.color?"var(--".concat(this.color,")"):"var(--blue-20)";return q(xn||(xn=Sn([' \n <div \n class="blob" \n style="--color: ','"\n >\n ',"\n </div> \n "])),n,this.blobTemplate())}}$n(An,"properties",{color:{},shape:{},styles:{}}),$n(An,"styles",[un,o(kn||(kn=Sn(["\n :host {\n --color: var(--blue-20);\n\n display: block;\n }\n\n .blob,\n svg {\n height: 100%;\n width: 100%;\n }\n\n svg path {\n fill: var(--color, #fff);\n }\n "])))]),customElements.get("cfa-blob")||customElements.define("cfa-blob",An);const Pn=o(zn||(zn=function(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}(['\n .cfa-button,\n a.cfa-button, \n .cfa-button > a,\n .wp-block-button > * {\n --bg-color: var(--white);\n --border-color: transparent;\n --font-family: var(--font-family-sans-serif);\n --font-size: var(--font-size-base);\n --hover-bg-color: var(--blue-20);\n --hover-border-color: var(--border-color);\n --line-height: var(--line-height-base);\n --text-color: var(--purple-80);\n\n background-color: var(--bg-color);\n border: var(--hairline) solid var(--border-color);\n border-radius: var(--rounded-corners);\n box-shadow: var(--shadow-small);\n color: var(--text-color);\n cursor: pointer;\n display: block;\n font-family: var(--font-family);\n font-size: var(--font-size);\n font-weight: bold;\n padding: var(--spacing-component-2) var(--spacing-component-3);\n text-align: center;\n text-decoration: none;\n transition: background-color 0.5s, box-shadow 0.5s;\n\n &:hover {\n background-color: var(--hover-bg-color);\n border-color: var(--hover-border-color);\n box-shadow: var(--shadow-medium);\n color: var(--text-color);\n }\n }\n\n @media (max-width: 768px) {\n .cfa-button, \n a.cfa-button, \n .cfa-button > a,\n .wp-block-button > * {\n width: 100%;\n \n & + & {\n margin-block-start: var(--spacing-layout-half);\n }\n }\n\n .wp-block-button {\n width: 100%;\n }\n }\n\n @media (min-width: 768px) {\n .cfa-button, \n a.cfa-button, \n .cfa-button > a,\n .wp-block-button > * {\n display: inline-block;\n\n & {\n margin-block: var(--spacing-component-2);\n margin-inline-end: var(--spacing-component-2);\n }\n }\n }\n\n // Themes / variants\n\n .cfa-button--primary,\n a.cfa-button--primary,\n .cfa-button--primary > a,\n .wp-block-button.is-style-primary > * {\n --bg-color: var(--red-60);\n --hover-bg-color: var(--red-80);\n --text-color: var(--white,);\n }\n\n .cfa-button--outline,\n a.cfa-button--outline,\n .cfa-button--outline > a,\n .wp-block-button.is-style-outline > * {\n --border-color: var(--black-20);\n --bg-color: transparent;\n }\n\n .cfa-button--outline-white,\n a.cfa-button--outline-white,\n .cfa-button--outline-white > a,\n .wp-block-button.is-style-outline-white > * {\n --border-color: var(--white);\n --bg-color: transparent;\n --hover-bg-color: var(--black-20);\n --shadow-color: var(--white-20);\n --text-color: var(--white);\n }\n\n .cfa-button--prominent-link,\n a.cfa-button--prominent-link,\n .cfa-button--prominent-link > a,\n .wp-block-button.is-style-prominent-link > * {\n --accent-color: var(--purple-60);\n\n background: unset;\n box-shadow: unset;\n color: inherit;\n font-weight: bold;\n padding: 0;\n text-decoration: underline;\n text-decoration-color: var(--accent-color);\n text-decoration-thickness: var(--medium);\n text-underline-offset: 0.4em;\n transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out; \n\n &:hover {\n --accent-color: var(--red-60);\n \n background: unset;\n box-shadow: unset;\n }\n\n &::after {\n @include icon.icon;\n \n content: "arrow_right_alt";\n display: inline-block;\n padding-inline-start: 0.1em;\n text-decoration: none;\n transition: transform 0.2s ease-in-out;\n width: 1em;\n }\n\n &:hover::after {\n transform: translateX(0.3em);\n }\n\n cfa-icon {\n text-decoration: none;\n }\n }\n\n // Sizes\n\n .cfa-button--sm,\n a.cfa-button--sm,\n .cfa-button--sm > a {\n --font-size: var(--font-size-small);\n --line-height: var(--line-height-small);\n }\n\n .cfa-button--md,\n a.cfa-button--md,\n .cfa-button--md > a {\n --font-size: var(--font-size-base);\n --line-height: var(--line-height-base);\n }\n'])));var On,Cn,Tn;function Un(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}class Ln extends cn{render(){return q(On||(On=Un(['\n <span class="icon">\n <slot></slot>\n </span>\n '])))}}!function(n,e,t){(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t}(Ln,"styles",[un,o(Cn||(Cn=Un(['\n :host {\n --size: 1.2em;\n\n display: inline;\n line-height: inherit;\n }\n\n .icon {\n -webkit-font-feature-settings: "liga";\n direction: ltr;\n display: inline-block;\n font-family: "Material Symbols Rounded";\n font-size: var(--size);\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n margin-top: -0.1em;\n text-transform: none;\n vertical-align: middle;\n white-space: nowrap;\n word-wrap: normal;\n }\n '])))]),customElements.get("cfa-icon")||customElements.define("cfa-icon",Ln);const Mn=o(Tn||(Tn=function(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}(['\n .serif {\n font-family: var(--font-family-serif) !important;\n }\n\n .sans-serif {\n font-family: var(--font-family-sans-serif) !important;\n }\n\n .normal {\n font-weight: normal !important;\n }\n\n .strong {\n font-weight: bold !important;\n }\n\n italic {\n font-style: italic !important;\n }\n\n .display 1 {\n font-family: var(--font-family-display-1);\n font-size: var(--font-size-display-1);\n font-weight: var(--font-weight-display-1);\n letter-spacing: var(--letter-spacing-display-1);\n line-height: var(--line-height-display-1);\n }\n\n .display-2 {\n font-family: var(--font-family-display-2);\n font-size: var(--font-size-display-2);\n font-weight: var(--font-weight-display-2);\n letter-spacing: var(--letter-spacing-display-2);\n line-height: var(--line-height-display-2);\n }\n\n .h1 {\n font-family: var(--font-family-h1);\n font-size: var(--font-size-h1);\n font-weight: var(--font-weight-h1);\n letter-spacing: var(--letter-spacing-h1);\n line-height: var(--line-height-h1);\n }\n\n .h2 {\n font-family: var(--font-family-h2);\n font-size: var(--font-size-h2);\n font-weight: var(--font-weight-h2);\n letter-spacing: var(--letter-spacing-h2);\n line-height: var(--line-height-h2);\n }\n\n .h3 {\n font-family: var(--font-family-h3);\n font-size: var(--font-size-h3);\n font-weight: var(--font-weight-h3);\n letter-spacing: var(--letter-spacing-h3);\n line-height: var(--line-height-h3);\n }\n\n .h4 {\n font-family: var(--font-family-h4);\n font-size: var(--font-size-h4);\n font-weight: var(--font-weight-h4);\n letter-spacing: var(--letter-spacing-h4);\n line-height: var(--line-height-h4);\n }\n\n .eyebrow {\n font-family: var(--font-family-eyebrow);\n font-size: var(--font-size-eyebrow);\n font-weight: var(--font-weight-eyebrow);\n letter-spacing: var(--letter-spacing-eyebrow);\n line-height: var(--line-height-eyebrow);\n text-transform: uppercase;\n }\n\n .eyebrow-with-line {\n align-items: center;\n color: var(--text-color);\n display: flex;\n font-family: var(--font-family-eyebrow);\n font-size: var(--font-size-eyebrow);\n font-weight: var(--font-weight-eyebrow);\n letter-spacing: var(--letter-spacing-eyebrow);\n line-height: var(--line-height-eyebrow);\n margin-block-end: var(--spacing-layout-half);\n position: relative;\n text-transform: uppercase;\n }\n\n .eyebrow-with-line::after {\n border-block-end: var(--hairline) solid var(--text-color);\n content: "";\n flex-grow: 1;\n margin-left: var(--spacing-component-3);\n }\n\n .small {\n font-size: var(--font-size-small);\n letter-spacing: var(--letter-spacing-small);\n line-height: var(--line-height-small);\n }\n\n .subtle {\n color: var(--text-color-subtle);\n }\n'])));var Hn,Nn,Rn,In,Bn,Fn,qn,Vn,Dn,Wn,Zn,Kn,Jn,Xn,Yn,Gn,Qn,ne,ee,te,re,ie,oe,ae,se,le,ce,he,de,ue,pe,fe,ve,ge,be,me,we,ye,xe,ke,ze,je,_e,Ee,Se,$e,Ae,Pe,Oe,Ce,Te,Ue,Le,Me,He,Ne,Re,Ie,Be,Fe,qe,Ve,De,We,Ze,Ke,Je,Xe,Ye,Ge,Qe,nt,et,tt,rt,it,ot,at,st,lt,ct,ht,dt,ut,pt,ft,vt,gt,bt,mt,wt,yt,xt,kt,zt,jt,_t,Et,St,$t,At,Pt,Ot,Ct,Tt,Ut,Lt,Mt,Ht,Nt;function Rt(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function It(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}class Bt extends cn{render(){return q(Hn||(Hn=Rt(['\n <div class="label small strong" color="','">\n <slot />\n </div>\n '])),this.color)}}function Ft(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}It(Bt,"properties",{color:""}),It(Bt,"styles",[un,Mn,o(Nn||(Nn=Rt(['\n .label {\n --background-color: var(--gray-20);\n --text-color: var(--black, #000);\n\n background-color: var(--background-color);\n color: var(--text-color);\n display: inline-block;\n line-height: 1em;\n padding: var(--spacing-component-2) var(--spacing-component-3);\n }\n\n .label[color="white"] {\n --background-color: var(--white, #fff);\n box-shadow: var(--shadow-small);\n }\n\n .label[color="purple"] {\n --background-color: var(--purple-20);\n }\n\n .label[color="red"] {\n --background-color: var(--red-20);\n }\n\n .label[color="blue"] {\n --background-color: var(--blue-20);\n }\n\n .label[color="green"] {\n --background-color: var(--green-20);\n }\n\n .label[color="yellow"] {\n --background-color: var(--yellow-20);\n }\n '])))]),customElements.get("cfa-label")||customElements.define("cfa-label",Bt);class qt extends cn{render(){return q(Rn||(Rn=Ft([" <slot /> "])))}}function Vt(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function Dt(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}!function(n,e,t){(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t}(qt,"styles",[un,o(In||(In=Ft(["\n :host {\n --bg-color: var(--gray-20);\n --text-color: var(--gray-80);\n\n background-color: var(--bg-color);\n border-radius: var(--spacing-component-3);\n color: var(--text-color);\n display: inline-block;\n font-size: var(--font-size-small);\n font-weight: bold;\n line-height: 1;\n margin-right: var(--spacing-component-1);\n padding: var(--spacing-component-1) var(--spacing-component-2);\n vertical-align: middle;\n }\n "])))]),customElements.get("cfa-pill")||customElements.define("cfa-pill",qt);class Wt extends cn{render(){return q(Bn||(Bn=Vt(["\n <blockquote>\n <slot />\n </blockquote>\n "])))}}function Zt(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function Kt(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Dt(Wt,"properties",{}),Dt(Wt,"styles",[un,o(Fn||(Fn=Vt(["\n :host {\n --color: var(--purple-60);\n\n display: block;\n }\n blockquote {\n border-inline-start: var(--thick) solid var(--color);\n color: var(--color);\n font-size: var(--font-size-h3);\n font-weight: 600;\n line-height: var(--line-height-h3);\n margin: 0;\n padding: var(--spacing-layout-half) var(--spacing-layout-1);\n }\n p {\n margin: 0;\n }\n p + p {\n margin-block-start: var(--spacing-layout-half);\n }\n "])))]),customElements.get("cfa-pullquote")||customElements.define("cfa-pullquote",Wt);class Jt extends cn{render(){return q(qn||(qn=Zt(['\n <figure>\n <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 339.42 264.4" aria-hidden="true" shape-rendering="geometricPrecision">\n <path d="M91.69,126.5c-9.19,0-15.39,1-18.59,3,4.01-16,12.59-32.41,25.8-49.21h0c12.8-15.99,26.61-27.79,41.4-35.39h1.2l.61-1.21c3.19-1.2,4.79-4.2,4.79-9,0-3.2-1.39-6-4.21-8.4L104.9,2.29c-1.61-1.2-3.79-1.79-6.6-1.79l-4.2,1.2c-28.8,20.8-51.4,45.6-67.8,74.4C9.09,106.1.5,137.7.5,170.9c0,28.39,8.21,51.2,24.61,68.39,14.79,16.4,33.4,24.61,55.79,24.61,19.61,0,36.6-7.01,51-21,14-14.4,21-31.4,21-51s-6-34.8-18-46.8c-11.6-12.39-26-18.6-43.21-18.6Z"/>\n <path d="M276.52,126.5c-8.39,0-14.39,1-18,3,4.01-16,12.79-32.4,26.4-49.21,13.21-16,27-27.79,41.4-35.39l.6-1.21c4-1.2,6-4.2,6-9,0-2.8-1.39-5.61-4.21-8.4l-37.8-24c-2-1.2-4.21-1.79-6.6-1.79l-4.2,1.2h-.6c-29.21,20.8-52,45.61-68.39,74.4-17.21,30-25.8,61.6-25.8,94.8,0,28.39,8.21,51.2,24.6,68.39,15.6,16.4,34.61,24.61,57,24.61,19.61,0,36.6-7.01,51-21,14-14.4,21-31.4,21-51s-6-34.8-18-46.8c-11.6-12.39-26.4-18.6-44.4-18.6Z"/>\n </svg>\n <div class="content">\n <blockquote>\n <slot name="text" /><slot />\n </blockquote>\n <figcaption>\n <slot name="attribution" />\n </figcaption>\n </div>\n </figure>\n '])))}}function Xt(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function Yt(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Kt(Jt,"properties",{text:{},attribution:{}}),Kt(Jt,"styles",[un,o(Vn||(Vn=Zt(['\n :host {\n --attribution-color: var(--purple-60);\n container-type: inline-size;\n display: block;\n width: 100%;\n }\n\n figure {\n margin: 0 auto;\n position: relative;\n width: 100%;\n }\n\n @container (min-width: 25rem) {\n figure {\n display: grid;\n grid-template-columns: 3rem 1fr;\n column-gap: var(--spacing-layout-1);\n grid-template-areas: \n "icon content";\n }\n\n svg {\n grid-area: icon;\n margin-block-end: 0;\n }\n\n .content {\n grid-area: content;\n }\n }\n\n blockquote {\n font-family: var(--font-family-serif);\n font-size: var(--font-size-h3);\n line-height: var(--line-height-h3);\n padding: 0;\n margin: 0;\n position: relative;\n }\n\n ::slotted(*) {\n display: inline;\n }\n\n figcaption {\n color: var(--attribution-color);\n font-size: var(--font-size-small);\n line-height: var(--line-height-small);\n font-weight: 600;\n margin-block-start: var(--spacing-layout-half);\n margin-inline: 0;\n position: relative;\n padding-inline-start: calc(var(--spacing-component-4) + var(--spacing-component-2));\n }\n\n figcaption::before {\n background-color: currentColor;\n content: "";\n display: block;\n position: absolute;\n left: 0;\n top: calc(var(--line-height-small) / 2 - var(--hairline) / 2);\n height: var(--hairline);\n width: var(--spacing-component-4);\n }\n\n svg {\n display: block;\n fill: var(--purple-60);\n height: calc(1.5 * var(--spacing-layout-1));\n margin-block-end: var(--spacing-layout-half);\n opacity: 0.5;\n width: auto;\n }\n '])))]),customElements.get("cfa-quote")||customElements.define("cfa-quote",Jt);class Gt extends cn{constructor(){super()}iconTemplate(n){switch(n){case"bluesky":return q(Dn||(Dn=Xt(['\n <svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 568 501">\n <path class="st0" d="M123.1,33.7c65.1,48.9,135.2,148,160.9,201.2,25.7-53.2,95.8-152.3,160.9-201.2,47-35.3,123.1-62.6,123.1,24.3s-9.9,145.7-15.8,166.6c-20.3,72.5-94.2,90.9-159.9,79.7,114.9,19.6,144.1,84.3,81,149.1-119.9,123-172.3-30.9-185.7-70.3-2.5-7.2-3.6-10.6-3.6-7.7,0-2.9-1.2.5-3.6,7.7-13.4,39.4-65.8,193.3-185.7,70.3-63.1-64.8-33.9-129.5,81-149.1-65.7,11.2-139.6-7.3-159.9-79.7C9.9,203.7,0,75.3,0,57.9,0-28.9,76.1-1.6,123.1,33.7Z"/>\n </svg>\n '])));case"dropbox":return q(Wn||(Wn=Xt(['\n <svg\n xmlns="http://www.w3.org/2000/svg"\n height="16"\n width="16.5"\n viewBox="0 0 528 512"\n >\n \x3c!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e\n <path\n d="M264.4 116.3l-132 84.3 132 84.3-132 84.3L0 284.1l132.3-84.3L0 116.3 132.3 32l132.1 84.3zM131.6 395.7l132-84.3 132 84.3-132 84.3-132-84.3zm132.8-111.6l132-84.3-132-83.6L395.7 32 528 116.3l-132.3 84.3L528 284.8l-132.3 84.3-131.3-85z"\n />\n </svg>\n '])));case"facebook":return q(Zn||(Zn=Xt(['\n <svg\n xmlns="http://www.w3.org/2000/svg"\n height="16"\n width="16"\n viewBox="0 0 512 512"\n >\n \x3c!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e\n <path\n d="M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256C0 376 82.7 476.8 194.2 504.5V334.2H141.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287V510.1C413.8 494.8 512 386.9 512 256h0z"\n />\n </svg>\n '])));case"github":return q(Kn||(Kn=Xt(['\n <svg\n xmlns="http://www.w3.org/2000/svg"\n height="16"\n width="15.5"\n viewBox="0 0 496 512"\n >\n \x3c!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e\n <path\n d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3 .3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5 .3-6.2 2.3zm44.2-1.7c-2.9 .7-4.9 2.6-4.6 4.9 .3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3 .7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3 .3 2.9 2.3 3.9 1.6 1 3.6 .7 4.3-.7 .7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3 .7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3 .7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"\n />\n </svg>\n '])));case"google-drive":return q(Jn||(Jn=Xt(['\n <svg\n xmlns="http://www.w3.org/2000/svg"\n height="16"\n width="16"\n viewBox="0 0 512 512"\n >\n \x3c!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e\n <path\n d="M339 314.9L175.4 32h161.2l163.6 282.9H339zm-137.5 23.6L120.9 480h310.5L512 338.5H201.5zM154.1 67.4L0 338.5 80.6 480 237 208.8 154.1 67.4z"\n />\n </svg>\n '])));case"google":return q(Xn||(Xn=Xt(['\n <svg\n xmlns="http://www.w3.org/2000/svg"\n height="16"\n width="15.25"\n viewBox="0 0 488 512"\n >\n \x3c!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e\n <path\n d="M488 261.8C488 403.3 391.1 504 248 504 110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4z"\n />\n </svg>\n '])));case"instagram":return q(Yn||(Yn=Xt(['\n <svg\n xmlns="http://www.w3.org/2000/svg"\n height="16"\n width="14"\n viewBox="0 0 448 512"\n >\n \x3c!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e\n <path\n d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"\n />\n </svg>\n '])));case"linkedin":return q(Gn||(Gn=Xt(['\n <svg\n xmlns="http://www.w3.org/2000/svg"\n height="16"\n width="14"\n viewBox="0 0 448 512"\n >\n \x3c!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e\n <path\n d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"\n />\n </svg>\n '])));case"reddit":return q(Qn||(Qn=Xt(['\n <svg\n xmlns="http://www.w3.org/2000/svg"\n height="16"\n width="16"\n viewBox="0 0 512 512"\n >\n \x3c!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e\n <path\n d="M0 256C0 114.6 114.6 0 256 0S512 114.6 512 256s-114.6 256-256 256L37.1 512c-13.7 0-20.5-16.5-10.9-26.2L75 437C28.7 390.7 0 326.7 0 256zM349.6 153.6c23.6 0 42.7-19.1 42.7-42.7s-19.1-42.7-42.7-42.7c-20.6 0-37.8 14.6-41.8 34c-34.5 3.7-61.4 33-61.4 68.4l0 .2c-37.5 1.6-71.8 12.3-99 29.1c-10.1-7.8-22.8-12.5-36.5-12.5c-33 0-59.8 26.8-59.8 59.8c0 24 14.1 44.6 34.4 54.1c2 69.4 77.6 125.2 170.6 125.2s168.7-55.9 170.6-125.3c20.2-9.6 34.1-30.2 34.1-54c0-33-26.8-59.8-59.8-59.8c-13.7 0-26.3 4.6-36.4 12.4c-27.4-17-62.1-27.7-100-29.1l0-.2c0-25.4 18.9-46.5 43.4-49.9l0 0c4.4 18.8 21.3 32.8 41.5 32.8zM177.1 246.9c16.7 0 29.5 17.6 28.5 39.3s-13.5 29.6-30.3 29.6s-31.4-8.8-30.4-30.5s15.4-38.3 32.1-38.3zm190.1 38.3c1 21.7-13.7 30.5-30.4 30.5s-29.3-7.9-30.3-29.6c-1-21.7 11.8-39.3 28.5-39.3s31.2 16.6 32.1 38.3zm-48.1 56.7c-10.3 24.6-34.6 41.9-63 41.9s-52.7-17.3-63-41.9c-1.2-2.9 .8-6.2 3.9-6.5c18.4-1.9 38.3-2.9 59.1-2.9s40.7 1 59.1 2.9c3.1 .3 5.1 3.6 3.9 6.5z"\n />\n </svg>\n '])));case"soundcloud":return q(ne||(ne=Xt(['\n <svg\n xmlns="http://www.w3.org/2000/svg"\n height="16"\n width="20"\n viewBox="0 0 640 512"\n >\n \x3c!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e\n <path\n d="M111.4 256.3l5.8 65-5.8 68.3c-.3 2.5-2.2 4.4-4.4 4.4s-4.2-1.9-4.2-4.4l-5.6-68.3 5.6-65c0-2.2 1.9-4.2 4.2-4.2 2.2 0 4.1 2 4.4 4.2zm21.4-45.6c-2.8 0-4.7 2.2-5 5l-5 105.6 5 68.3c.3 2.8 2.2 5 5 5 2.5 0 4.7-2.2 4.7-5l5.8-68.3-5.8-105.6c0-2.8-2.2-5-4.7-5zm25.5-24.1c-3.1 0-5.3 2.2-5.6 5.3l-4.4 130 4.4 67.8c.3 3.1 2.5 5.3 5.6 5.3 2.8 0 5.3-2.2 5.3-5.3l5.3-67.8-5.3-130c0-3.1-2.5-5.3-5.3-5.3zM7.2 283.2c-1.4 0-2.2 1.1-2.5 2.5L0 321.3l4.7 35c.3 1.4 1.1 2.5 2.5 2.5s2.2-1.1 2.5-2.5l5.6-35-5.6-35.6c-.3-1.4-1.1-2.5-2.5-2.5zm23.6-21.9c-1.4 0-2.5 1.1-2.5 2.5l-6.4 57.5 6.4 56.1c0 1.7 1.1 2.8 2.5 2.8s2.5-1.1 2.8-2.5l7.2-56.4-7.2-57.5c-.3-1.4-1.4-2.5-2.8-2.5zm25.3-11.4c-1.7 0-3.1 1.4-3.3 3.3L47 321.3l5.8 65.8c.3 1.7 1.7 3.1 3.3 3.1 1.7 0 3.1-1.4 3.1-3.1l6.9-65.8-6.9-68.1c0-1.9-1.4-3.3-3.1-3.3zm25.3-2.2c-1.9 0-3.6 1.4-3.6 3.6l-5.8 70 5.8 67.8c0 2.2 1.7 3.6 3.6 3.6s3.6-1.4 3.9-3.6l6.4-67.8-6.4-70c-.3-2.2-2-3.6-3.9-3.6zm241.4-110.9c-1.1-.8-2.8-1.4-4.2-1.4-2.2 0-4.2 .8-5.6 1.9-1.9 1.7-3.1 4.2-3.3 6.7v.8l-3.3 176.7 1.7 32.5 1.7 31.7c.3 4.7 4.2 8.6 8.9 8.6s8.6-3.9 8.6-8.6l3.9-64.2-3.9-177.5c-.4-3-2-5.8-4.5-7.2zm-26.7 15.3c-1.4-.8-2.8-1.4-4.4-1.4s-3.1 .6-4.4 1.4c-2.2 1.4-3.6 3.9-3.6 6.7l-.3 1.7-2.8 160.8s0 .3 3.1 65.6v.3c0 1.7 .6 3.3 1.7 4.7 1.7 1.9 3.9 3.1 6.4 3.1 2.2 0 4.2-1.1 5.6-2.5 1.7-1.4 2.5-3.3 2.5-5.6l.3-6.7 3.1-58.6-3.3-162.8c-.3-2.8-1.7-5.3-3.9-6.7zm-111.4 22.5c-3.1 0-5.8 2.8-5.8 6.1l-4.4 140.6 4.4 67.2c.3 3.3 2.8 5.8 5.8 5.8 3.3 0 5.8-2.5 6.1-5.8l5-67.2-5-140.6c-.2-3.3-2.7-6.1-6.1-6.1zm376.7 62.8c-10.8 0-21.1 2.2-30.6 6.1-6.4-70.8-65.8-126.4-138.3-126.4-17.8 0-35 3.3-50.3 9.4-6.1 2.2-7.8 4.4-7.8 9.2v249.7c0 5 3.9 8.6 8.6 9.2h218.3c43.3 0 78.6-35 78.6-78.3 .1-43.6-35.2-78.9-78.5-78.9zm-296.7-60.3c-4.2 0-7.5 3.3-7.8 7.8l-3.3 136.7 3.3 65.6c.3 4.2 3.6 7.5 7.8 7.5 4.2 0 7.5-3.3 7.5-7.5l3.9-65.6-3.9-136.7c-.3-4.5-3.3-7.8-7.5-7.8zm-53.6-7.8c-3.3 0-6.4 3.1-6.4 6.7l-3.9 145.3 3.9 66.9c.3 3.6 3.1 6.4 6.4 6.4 3.6 0 6.4-2.8 6.7-6.4l4.4-66.9-4.4-145.3c-.3-3.6-3.1-6.7-6.7-6.7zm26.7 3.4c-3.9 0-6.9 3.1-6.9 6.9L227 321.3l3.9 66.4c.3 3.9 3.1 6.9 6.9 6.9s6.9-3.1 6.9-6.9l4.2-66.4-4.2-141.7c0-3.9-3-6.9-6.9-6.9z"\n />\n </svg>\n '])));case"threads":return q(ee||(ee=Xt(['\n <svg\n xmlns="http://www.w3.org/2000/svg"\n height="16"\n width="14"\n viewBox="0 0 448 512"\n >\n \x3c!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e\n <path\n d="M331.5 235.7c2.2 .9 4.2 1.9 6.3 2.8c29.2 14.1 50.6 35.2 61.8 61.4c15.7 36.5 17.2 95.8-30.3 143.2c-36.2 36.2-80.3 52.5-142.6 53h-.3c-70.2-.5-124.1-24.1-160.4-70.2c-32.3-41-48.9-98.1-49.5-169.6V256v-.2C17 184.3 33.6 127.2 65.9 86.2C102.2 40.1 156.2 16.5 226.4 16h.3c70.3 .5 124.9 24 162.3 69.9c18.4 22.7 32 50 40.6 81.7l-40.4 10.8c-7.1-25.8-17.8-47.8-32.2-65.4c-29.2-35.8-73-54.2-130.5-54.6c-57 .5-100.1 18.8-128.2 54.4C72.1 146.1 58.5 194.3 58 256c.5 61.7 14.1 109.9 40.3 143.3c28 35.6 71.2 53.9 128.2 54.4c51.4-.4 85.4-12.6 113.7-40.9c32.3-32.2 31.7-71.8 21.4-95.9c-6.1-14.2-17.1-26-31.9-34.9c-3.7 26.9-11.8 48.3-24.7 64.8c-17.1 21.8-41.4 33.6-72.7 35.3c-23.6 1.3-46.3-4.4-63.9-16c-20.8-13.8-33-34.8-34.3-59.3c-2.5-48.3 35.7-83 95.2-86.4c21.1-1.2 40.9-.3 59.2 2.8c-2.4-14.8-7.3-26.6-14.6-35.2c-10-11.7-25.6-17.7-46.2-17.8H227c-16.6 0-39 4.6-53.3 26.3l-34.4-23.6c19.2-29.1 50.3-45.1 87.8-45.1h.8c62.6 .4 99.9 39.5 103.7 107.7l-.2 .2zm-156 68.8c1.3 25.1 28.4 36.8 54.6 35.3c25.6-1.4 54.6-11.4 59.5-73.2c-13.2-2.9-27.8-4.4-43.4-4.4c-4.8 0-9.6 .1-14.4 .4c-42.9 2.4-57.2 23.2-56.2 41.8l-.1 .1z"\n />\n </svg>\n '])));case"twitter":return q(te||(te=Xt(['\n <svg\n xmlns="http://www.w3.org/2000/svg"\n height="16"\n width="16"\n viewBox="0 0 512 512"\n >\n \x3c!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e\n <path\n d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"\n />\n </svg>\n '])));case"wikipedia":return q(re||(re=Xt(['\n <svg\n xmlns="http://www.w3.org/2000/svg"\n height="16"\n width="20"\n viewBox="0 0 640 512"\n >\n \x3c!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e\n <path\n d="M640 51.2l-.3 12.2c-28.1 .8-45 15.8-55.8 40.3-25 57.8-103.3 240-155.3 358.6H415l-81.9-193.1c-32.5 63.6-68.3 130-99.2 193.1-.3 .3-15 0-15-.3C172 352.3 122.8 243.4 75.8 133.4 64.4 106.7 26.4 63.4 .2 63.7c0-3.1-.3-10-.3-14.2h161.9v13.9c-19.2 1.1-52.8 13.3-43.3 34.2 21.9 49.7 103.6 240.3 125.6 288.6 15-29.7 57.8-109.2 75.3-142.8-13.9-28.3-58.6-133.9-72.8-160-9.7-17.8-36.1-19.4-55.8-19.7V49.8l142.5 .3v13.1c-19.4 .6-38.1 7.8-29.4 26.1 18.9 40 30.6 68.1 48.1 104.7 5.6-10.8 34.7-69.4 48.1-100.8 8.9-20.6-3.9-28.6-38.6-29.4 .3-3.6 0-10.3 .3-13.6 44.4-.3 111.1-.3 123.1-.6v13.6c-22.5 .8-45.8 12.8-58.1 31.7l-59.2 122.8c6.4 16.1 63.3 142.8 69.2 156.7L559.2 91.8c-8.6-23.1-36.4-28.1-47.2-28.3V49.6l127.8 1.1 .2 .5z"\n />\n </svg>\n '])));case"youtube":return q(ie||(ie=Xt(['\n <svg\n xmlns="http://www.w3.org/2000/svg"\n height="16"\n width="18"\n viewBox="0 0 576 512"\n >\n \x3c!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e\n <path\n d="M549.7 124.1c-6.3-23.7-24.8-42.3-48.3-48.6C458.8 64 288 64 288 64S117.2 64 74.6 75.5c-23.5 6.3-42 24.9-48.3 48.6-11.4 42.9-11.4 132.3-11.4 132.3s0 89.4 11.4 132.3c6.3 23.7 24.8 41.5 48.3 47.8C117.2 448 288 448 288 448s170.8 0 213.4-11.5c23.5-6.3 42-24.2 48.3-47.8 11.4-42.9 11.4-132.3 11.4-132.3s0-89.4-11.4-132.3zm-317.5 213.5V175.2l142.7 81.2-142.7 81.2z"\n />\n </svg>\n '])));default:return""}}render(){return q(oe||(oe=Xt(['\n <span class="social-icon ','" aria-hidden="true">\n ',"\n </span>\n "])),this.icon,this.iconTemplate(this.icon))}}function Qt(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function nr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Yt(Gt,"properties",{icon:""}),Yt(Gt,"styles",[un,o(ae||(ae=Xt(["\n .social-icon {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n }\n\n svg {\n fill: currentColor;\n height: 1em;\n vertical-align: -0.125em;\n width: 1em;\n }\n "])))]),customElements.get("cfa-social-icon")||customElements.define("cfa-social-icon",Gt);class er extends cn{constructor(){super(),this.animated=!0}firstUpdated(){const n=this.shadowRoot.querySelector(".stat");new IntersectionObserver(n=>{n.forEach(n=>{n.isIntersecting&&n.target.classList.add("is-visible")})},{rootMargin:"0px 0px -20% 0px"}).observe(n)}render(){return q(se||(se=Qt(['\n <div class="stat ','">\n <div class="above-label strong">','</div>\n <div class="figure display-2">\n <span>','</span>\n </div>\n <div class="below-label strong">',"</div>\n </div>\n "])),this.animated?"is-animated":"",this.beforeLabel,this.figure,this.afterLabel)}}function tr(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function rr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}nr(er,"properties",{beforeLabel:{},figure:{},afterLabel:{},animated:{}}),nr(er,"styles",[un,Mn,o(le||(le=Qt(["\n :host {\n --text-color: var(--text-dark);\n --highlight-color: var(--purple-20);\n --highlight-thickness: var(--spacing-layout-half);\n\n align-self: center;\n display: block;\n margin-inline: auto;\n }\n .stat {\n align-items: center;\n color: var(--text-color);\n display: flex;\n flex-direction: column;\n text-align: center;\n }\n .figure {\n min-width: var(--spacing-layout-3);\n padding-inline: var(--spacing-component-2);\n }\n .figure > span {\n background-image: linear-gradient(\n var(--highlight-color),\n var(--highlight-color)\n );\n background-size: 100% var(--highlight-thickness);\n background-position: bottom 0.15em left;\n background-repeat: no-repeat;\n padding-inline: 0.25em;\n }\n /* Animation */\n @media (prefers-reduced-motion: no-preference) {\n .stat.is-animated .figure > span {\n background-size: 0% var(--highlight-thickness);\n transition: background-size 1s ease;\n }\n .stat.is-animated.is-visible .figure > span {\n background-size: 100% var(--highlight-thickness);\n }\n }\n "])))]),customElements.get("cfa-stat")||customElements.define("cfa-stat",er);class ir extends cn{constructor(){super(),this.open=!1}toggle(){this.open=!this.open}handleKeyPress(n){"Enter"!==n.key&&" "!==n.key||this.toggle()}render(){return q(ce||(ce=tr(['\n <div class="item">\n <div\n class="header"\n role="button"\n aria-expanded=','\n tabindex="0"\n @click=',"\n @keypress=",'\n >\n <div class="title">\n <slot name="title"></slot>\n </div>\n <span class="icon" aria-hidden="true">\n ','\n </span>\n </div>\n <div\n class="body ','"\n role="region"\n aria-hidden=',"\n >\n <slot></slot>\n </div>\n </div>\n "])),this.open?"true":"false",this.toggle,this.handleKeyPress,this.open?q(he||(he=tr(["<cfa-icon>expand_less</cfa-icon>"]))):q(de||(de=tr(["<cfa-icon>expand_more</cfa-icon>"]))),this.open?"open":"",this.open?"false":"true")}}rr(ir,"properties",{open:{type:Boolean}}),rr(ir,"styles",[un,o(pe||(pe=tr(["\n :host {\n --color: var(--purple-60);\n --hover-bg-color: var(--blue-20);\n\n display: block;\n }\n\n .item {\n border-bottom: var(--thin) solid var(--black-20);\n max-width: var(--column-span-8);\n margin-inline: auto;\n background-color: var(--bg-color);\n }\n\n .header {\n align-items: center;\n color: var(--color);\n cursor: pointer;\n display: flex;\n flex-direction: row;\n padding-block: var(--spacing-component-3);\n }\n\n .header:hover {\n background-color: var(--hover-bg-color);\n box-shadow:\n var(--spacing-component-3) 0 var(--blue-20),\n calc(-1 * var(--spacing-component-3)) 0 var(--blue-20);\n }\n\n .header:focus {\n outline: none;\n }\n\n .title {\n flex: 1;\n }\n\n .title ::slotted(*) {\n font-family: var(--font-family-sans-serif) !important;\n font-size: var(--base-font-size) !important;\n }\n\n .icon {\n flex: 0;\n }\n\n .body {\n opacity: 0;\n max-height: 0;\n overflow: hidden;\n }\n\n .body.open {\n max-height: unset;\n opacity: 1;\n padding-block: var(--spacing-layout-half) var(--spacing-layout-1);\n }\n\n .body ::slotted(*) {\n margin-block-start: 0 !important;\n }\n "])))]);class or extends cn{render(){return q(ue||(ue=tr(['\n <div role="tablist">\n <slot></slot>\n </div>\n '])))}}function ar(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function sr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}rr(or,"styles",o(fe||(fe=tr(["\n :host {\n display: block;\n }\n "])))),customElements.get("cfa-accordion-item")||customElements.define("cfa-accordion-item",ir),customElements.get("cfa-accordion")||customElements.define("cfa-accordion",or);class lr extends cn{firstUpdated(){const n=this.shadowRoot.querySelector(".content"),e=n=>{n.classList.toggle("is-overflowing",n.scrollWidth>n.clientWidth)};"ResizeObserver"in window&&new ResizeObserver(n=>{e(n[0].target)}).observe(n),"MutationObserver"in window&&new MutationObserver(()=>{e(n)}).observe(n,{childList:!0}),e(n)}render(){return q(ve||(ve=ar(['\n <div class="bar">\n <div class="content">\n <slot></slot>\n </div>\n </div>\n '])))}}function cr(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function hr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}sr(lr,"properties",{theme:{}}),sr(lr,"styles",[un,o(ge||(ge=ar(['\n :host {\n --bg-color: var(--purple-80);\n --text-color: var(--white);\n --link-color: var(--white);\n --link-hover-color: var(--white);\n --scrollbar-color: var(--white);\n --spacing: var(--spacing-layout-half);\n\n display: block;\n }\n\n .bar {\n background-color: var(--bg-color);\n color: var(--text-color);\n\n a {\n color: var(--link-color);\n }\n\n a:hover {\n color: var(--link-hover-color);\n }\n }\n\n .content {\n display: flex;\n column-gap: var(--spacing);\n justify-content: center; \n overflow-x: auto;\n overflow-y: hidden;\n padding-bottom: var(--spacing-layout-half);\n padding-top: var(--spacing-layout-half);\n scrollbar-color: var(--scrollbar-color) var(--bg-color);\n scrollbar-width: thin;\n\n &::before,\n &::after {\n content: "";\n flex-basis: calc(var(--outer-margin) - var(--spacing));\n flex-shrink: 0;\n }\n }\n \n .content.is-overflowing {\n justify-content: start; \n }\n\n ::slotted(*) {\n max-width: none !important;\n white-space: nowrap !important;\n }\n '])))]),customElements.get("cfa-bar")||customElements.define("cfa-bar",lr);class dr extends cn{render(){return q(be||(be=cr(['\n <div class="box ','">\n <slot />\n </div>\n '])),this.theme?"box--"+this.theme:"")}}function ur(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function pr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}hr(dr,"properties",{theme:{}}),hr(dr,"styles",[un,o(me||(me=cr(["\n :host {\n --bg-color: var(--white);\n --padding: var(--spacing-component-4);\n --shadow: var(--shadow-small);\n --text-color: var(--black);\n\n display: flex;\n flex: 1;\n }\n\n .box {\n background-color: var(--bg-color);\n box-shadow: var(--shadow);\n color: var(--text-color, #000);\n display: flex;\n flex-direction: column;\n gap: var(--spacing-layout-half);\n padding: var(--padding);\n width: 100%;\n }\n\n .box--rounded {\n border-radius: var(--spacing-layout-half, 0.5rem);\n }\n\n ::slotted(*) {\n --spacing: var(--spacing-layout-half);\n\n max-width: 100%;\n }\n "])))]),customElements.get("cfa-box")||customElements.define("cfa-box",dr);class fr extends cn{handleSlotchange(n){const e=n.target.assignedNodes({flatten:!0});console.log(e);const t=this.shadowRoot.querySelector(".breadcrumbs");t.innerHTML="",e.forEach(n=>{"UL"===n.tagName&&n.querySelectorAll("li").forEach(n=>{t.appendChild(n.cloneNode(!0))})})}render(){return q(we||(we=ur(["\n <slot @slotchange=",'></slot>\n <ul class="breadcrumbs"></ul>\n '])),this.handleSlotchange)}}function vr(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}pr(fr,"properties",{}),pr(fr,"styles",[un,o(ye||(ye=ur(['\n slot {\n display: none;\n }\n\n :host {\n display: block;\n }\n\n .breadcrumbs {\n margin: 0;\n margin-inline: calc(-1 * var(--outer-margin));\n overflow-x: auto;\n overflow-y: hidden;\n padding: 0;\n scrollbar-width: none;\n white-space: nowrap;\n }\n\n .breadcrumbs::before,\n .breadcrumbs::after {\n content: "";\n display: inline-block;\n width: var(--outer-margin);\n }\n\n .breadcrumbs > * {\n display: inline-block;\n font-size: var(--font-size-small);\n font-weight: 600;\n line-height: var(--line-height-small);\n margin: 0;\n padding: 0;\n }\n\n .breadcrumbs > *:not(:last-child)::after {\n content: "/";\n opacity: 0.5;\n padding-inline: 0.75em;\n }\n\n .breadcrumbs a {\n color: var(--link-color);\n text-decoration: none;\n }\n '])))]),customElements.get("cfa-breadcrumbs")||customElements.define("cfa-breadcrumbs",fr);class gr extends cn{render(){return q(xe||(xe=vr(['\n <div class="callout">\n <div class="icon">\n <cfa-icon>info</cfa-icon>\n </div>\n <div class="text">\n <slot></slot>\n </div>\n </div>\n '])))}}function br(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function mr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}!function(n,e,t){(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t}(gr,"styles",[un,o(ke||(ke=vr(["\n :host {\n --background: var(--white);\n --icon-color: var(--purple-80);\n --link-color: var(--base-link-color);\n --link-hover-color: var(--base-link-hover-color);\n --text-color: var(--black);\n\n display: block;\n }\n\n .callout {\n align-items: flex-start;\n background: var(--background);\n box-shadow: var(--shadow-medium);\n color: var(--text-color);\n display: flex;\n flex-direction: row;\n gap: var(--spacing-component-2);\n padding: var(--spacing-component-3);\n }\n\n .icon {\n color: var(--icon-color);\n flex-direction: column;\n flex-grow: 0;\n font-size: var(--font-size-h3);\n height: 100%;\n margin-block-start: -0.075em;\n margin-inline-end: var(--spacing-component-2);\n }\n\n .callout + .callout {\n margin-top: var(--spacing-layout-half);\n }\n "])))]),customElements.get("cfa-callout")||customElements.define("cfa-callout",gr);class wr extends cn{visualTemplate(){let n;return"image"===this.visualType?n=q(ze||(ze=br(['\n <div class="visual image">\n <div class="fallback-image">\n ',"\n </div>\n ","\n </div>\n "])),V(je||(je=br(['\n <svg \n width="1600" \n height="900" \n viewBox="0 0 1600 900" \n fill="none" \n preserveAspectRatio="xMinYMin slice"\n xmlns="http://www.w3.org/2000/svg"\n >\n <g clip-path="url(#clip0)">\n <rect width="1600" height="900" fill="#2B1A78"/>\n <path fill-rule="evenodd" clip-rule="evenodd" d="M1218.12 -444.87C1375.54 -448.403 1528.96 -379.695 1624.93 -254.874C1718.97 -132.569 1729.75 28.0324 1697.74 178.942C1664.98 333.396 1596.67 491.622 1452.8 556.721C1311.8 620.52 1155.18 556.724 1017.04 486.944C883.26 419.362 752.204 329.485 715.393 184.213C677.697 35.4535 737.759 -117.225 833.568 -237.116C929.253 -356.852 1064.86 -441.431 1218.12 -444.87Z" fill="#5650BE"/>\n <path fill-rule="evenodd" clip-rule="evenodd" d="M372.893 247.378C457.708 243.989 548.299 262.758 600.503 329.652C652.21 395.908 640.741 485.984 623.238 568.169C605.287 652.459 579.269 741.096 503.945 783.041C424.143 827.479 324.366 822.072 243.48 779.638C165.755 738.862 118.175 659.045 102.906 572.65C88.5877 491.632 114.457 410.294 167.015 346.974C218.23 285.272 292.743 250.581 372.893 247.378Z" fill="#5650BE"/>\n </g>\n <defs>\n <clipPath id="clip0">\n <rect width="1600" height="900" fill="white"/>\n </clipPath>\n </defs>\n </svg>\n ']))),this.visualUrl?q(_e||(_e=br(['\n <picture>\n <source srcset="','" />\n <img\n src="','"\n alt="','"\n loading="lazy"\n onerror="this.style.display=\'none\'"\n />\n </picture>\n '])),this.visualUrl,this.visualThumbnailUrl,this.visualAltText):W):"logo"===this.visualType&&(n=q(Ee||(Ee=br(['\n <div class="visual logo">\n <picture>\n <source srcset="','" />\n <img\n src="','"\n alt="','"\n loading="lazy"\n />\n </picture>\n </div>\n '])),this.visualUrl,this.visualThumbnailUrl,this.visualAltText)),n}cardContentTemplate(){return q(Se||(Se=br(["\n ",'\n <div class="content">\n <div class="header">\n <div>\n ',"\n ","\n </div>\n ",'\n </div>\n <div class="body">\n ',"\n ","\n ","\n </div>\n </div>\n "])),this.visualTemplate(),this.eyebrow?q($e||($e=br([' <div class="eyebrow">',"</div> "])),this.eyebrow):W,this.title?q(Ae||(Ae=br([' <div class="h3 title">',"</div> "])),this.title):W,this.label?q(Pe||(Pe=br(['\n <div>\n <cfa-label color="green">',"</cfa-label>\n </div>\n "])),this.label):W,this.text?q(Oe||(Oe=br([' <div class="small" .innerHTML="','"></div> '])),this.text):W,this.metaText?q(Ce||(Ce=br(['\n <div\n class="meta-text small"\n .innerHTML="','"\n ></div>\n '])),this.metaText):W,this.actionLabel?q(Te||(Te=br([' <div class="action-label">',"</div> "])),this.actionLabel):W)}render(){return q(Ue||(Ue=br(["\n ","\n "])),this.linkUrl?q(Le||(Le=br(['\n <a\n href="','"\n target="','"\n rel="','"\n class="card ','"\n >\n ',"\n </a>\n "])),this.linkUrl,this.linkTarget,"_blank"==this.linkTarget?"noopener":W,this.theme?"card--"+this.theme:"",this.cardContentTemplate()):q(Me||(Me=br(['\n <div class="card ','">\n ',"\n </div>\n "])),this.theme?"card--"+this.theme:"",this.cardContentTemplate()))}}function yr(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function xr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}mr(wr,"properties",{theme:{},linkUrl:{},linkTarget:{},visualType:{},visualUrl:{},visualThumbnailUrl:{},visualAltText:{},eyebrow:{},label:{},title:{},text:{},metaText:{},actionLabel:{}}),mr(wr,"styles",[un,Mn,o(He||(He=br(['\n :host {\n --action-border-color: var(--purple-20);\n --action-border-hover-color: var(--red-60);\n --action-text-color: var(--purple-60);\n --action-text-hover-color: var(--red-60);\n --bg-color: var(--white);\n --padding: var(--spacing-component-4);\n --text-color: var(--black);\n\n display: flex;\n flex-direction: column;\n margin-inline: auto;\n max-width: 100%;\n width: 100%;\n }\n\n .card,\n a.card {\n box-shadow: var(--shadow-small);\n border: var(--hairline) solid var(--gray-20);\n color: var(--text-color);\n display: flex;\n flex-direction: column;\n flex: 1;\n height: 100%;\n text-decoration: none;\n transition: 500ms;\n }\n\n a.card:hover {\n --action-color: var(--action-hover-color);\n\n box-shadow: var(--shadow-medium);\n }\n\n .content {\n background-color: var(--bg-color);\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n padding: var(--padding);\n }\n\n .header {\n align-items: start;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-layout-half);\n margin-block-end: var(--spacing-layout-half);\n }\n\n .body {\n display: flex;\n flex-flow: column nowrap;\n gap: var(--spacing-layout-half);\n height: 100%;\n text-align: var(--text-alignment, start);\n }\n\n .eyebrow {\n color: var(--purple-60);\n }\n\n .eyebrow + * {\n margin-block-start: var(--spacing-component-2);\n }\n\n .meta-text {\n color: var(--gray-60);\n }\n\n .action-label {\n align-self: flex-start;\n color: var(--action-text-color);\n display: inline-block;\n font-size: var(--font-size-small);\n font-weight: bold;\n margin-block-start: auto;\n padding-block-start: var(--spacing-component-3);\n }\n\n a:hover .action-label {\n color: var(--action-text-hover-color);\n }\n\n .action-label::after {\n background: linear-gradient(\n to top,\n var(--action-border-hover-color) 0% 50%,\n var(--action-border-color) 50% 100%\n );\n background-position: 0% 0%;\n background-size: 100% 200%;\n content: "";\n display: block;\n height: var(--spacing-component-2);\n transition: background-position 0.3s;\n }\n\n a:hover .action-label::after {\n background-position: 0% 100%;\n }\n\n .visual {\n box-sizing: border-box;\n display: flex;\n height: auto;\n height: var(--spacing-layout-7);\n position: relative;\n width: 100%;\n }\n\n img {\n height: 100%;\n object-fit: cover;\n width: 100%;\n }\n\n .fallback-image {\n background-color: var(--purple-80);\n position: absolute;\n inline-start: 0;\n block-start: 0;\n width: 100%;\n height: 100%;\n z-index: 0;\n }\n\n .fallback-image svg {\n height: 100%;\n width: 100%;\n }\n\n .visual picture {\n position: relative;\n z-index: 1;\n width: 100%;\n }\n\n .image::after {\n block-end: 0;\n block-start: 0;\n bottom: 0;\n box-shadow: inset 0 -50px 50px -50px var(--black-60);\n content: "";\n inline-end: 0;\n inline-start: 0;\n position: absolute;\n z-index: 2;\n }\n\n .logo {\n background-color: var(--white, #fff);\n box-sizing: border-box;\n border-block-end: 1px solid var(--gray-20);\n padding: var(--spacing-component-5);\n }\n\n .logo img {\n object-fit: contain;\n }\n\n /* --- */\n\n /* Theme: Compact Card */\n\n .card--compact {\n --padding: var(--spacing-component-3);\n }\n\n .card--compact .title {\n font-size: var(--font-size-h4);\n line-height: var(--line-height-h4);\n }\n\n .card--compact .action-label {\n padding-block-start: 0;\n }\n\n /* --- */\n\n /* Theme: Horizontal Card */\n\n @media (min-width: 768px) {\n .card--horizontal,\n a.card--horizontal {\n align-items: stretch;\n flex-direction: row;\n }\n\n .card--horizontal .visual {\n aspect-ratio: initial;\n height: auto;\n flex: 0 0 50%;\n }\n\n .card--horizontal .logo {\n border-block-end: 0;\n border-inline-end: 1px solid var(--gray-20);\n }\n }\n\n /* --- */\n\n /* Theme: Horizontal Compact Card */\n\n @media (min-width: 768px) {\n .card--horizontal-compact,\n a.card--horizontal-compact {\n align-items: stretch;\n flex-direction: row;\n }\n\n .card--horizontal-compact .visual {\n aspect-ratio: initial;\n flex: 0 0 34%;\n height: auto;\n position: relative;\n }\n\n .card--horizontal-compact .image picture {\n position: absolute;\n height: 100%;\n width: 100%;\n }\n\n .card--horizontal-compact .logo {\n border-block-end: 0;\n border-right: 1px solid var(--gray-20);\n padding: var(--spacing-component-4);\n }\n }\n\n .card--horizontal-compact,\n a.card--horizontal-compact {\n --padding: var(--spacing-component-3);\n }\n\n .card--horizontal-compact .body {\n gap: var(--spacing-component-2);\n }\n\n .card--horizontal-compact .header {\n margin-block-end: var(--spacing-component-2);\n }\n\n .card--horizontal-compact .title {\n font-size: var(--font-size-h4);\n line-height: var(--line-height-h4);\n }\n\n .card--horizontal-compact .action-label {\n padding-block-start: var(--spacing-component-2);\n }\n '])))]),customElements.get("cfa-card")||customElements.define("cfa-card",wr);class kr extends cn{cardContentTemplate(){let n;return n=this.imageUrl?q(Ne||(Ne=yr([' <img src="','" alt="','" /> '])),this.imageUrl,this.name):q(Re||(Re=yr([" "," "])),this.name),n}render(){return q(Ie||(Ie=yr(["\n ","\n "])),this.linkUrl?q(Be||(Be=yr(['\n <a\n href="','"\n target="','"\n rel="','"\n class="card"\n >\n ',"\n </a>\n "])),this.linkUrl,this.linkTarget||"_self","_blank"==this.linkTarget?"noopener noreferrer":W,this.cardContentTemplate()):q(Fe||(Fe=yr([' <div class="card">',"</div> "])),this.cardContentTemplate()))}}function zr(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function jr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}xr(kr,"properties",{name:{},imageUrl:{},linkUrl:{},linkTarget:{}}),xr(kr,"styles",[un,Mn,o(qe||(qe=yr(["\n :host {\n --bg-color: var(--blue-20);\n --text-color: var(--black);\n\n align-items: stretch;\n display: flex;\n flex-direction: row;\n }\n\n .card {\n align-items: center;\n background-color: var(--white);\n border: var(--hairline) solid var(--black-10);\n color: var(--text-color);\n display: flex;\n flex-direction: column;\n font-size: var(--font-size-h3);\n font-weight: bold;\n justify-content: center;\n line-height: var(--line-height-h4);\n margin-inline: auto;\n max-width: 100%;\n min-height: var(--spacing-layout-8);\n padding: var(--spacing-component-5);\n text-align: center;\n text-decoration: none;\n transition: box-shadow 1s;\n width: var(--column-span-4);\n }\n\n a.card {\n box-shadow: var(--shadow-small);\n color: var(--text-color);\n }\n\n a.card:hover {\n box-shadow: var(--shadow-medium);\n }\n\n img {\n aspect-ratio: 2 / 1;\n object-fit: contain;\n width: 100%;\n }\n "])))]),customElements.get("cfa-logo-card")||customElements.define("cfa-logo-card",kr);class _r extends cn{handleSlotchange(n){const e=n.target.assignedNodes({flatten:!0}),t=this.shadowRoot.querySelector("ul");t.innerHTML="",e.forEach(n=>{"UL"===n.tagName&&n.querySelectorAll("li").forEach(n=>{t.appendChild(n.cloneNode(!0))})})}render(){return q(Ve||(Ve=zr(["\n <slot @slotchange=",'></slot>\n <nav data-font-size="','">\n <ul></ul>\n </nav>\n '])),this.handleSlotchange,this.fontSize)}}function Er(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function Sr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}jr(_r,"properties",{fontSize:{}}),jr(_r,"styles",[un,o(De||(De=zr(['\n :host {\n --link-color: var(--purple-80);\n --link-hover-color: var(--purple-80);\n\n display: block;\n font-family: var(--font-family-sans-serif);\n }\n\n slot {\n display: none;\n }\n\n nav {\n font-size: var(--font-size-base);\n line-height: var(--line-height-base);\n }\n\n nav[data-font-size="small"] {\n font-size: var(--font-size-small);\n line-height: var(--line-height-small);\n }\n\n nav[data-font-size="large"] {\n font-size: var(--font-size-h3);\n line-height: var(--line-height-h3);\n }\n\n ul {\n display: flex;\n flex-direction: row;\n gap: var(--spacing-component-1);\n list-style: none;\n margin: 0;\n padding: 0;\n }\n\n li {\n flex-shrink: 0;\n margin: 0;\n padding: 0;\n }\n\n li.is-active a {\n box-shadow: inset 0 calc(-1 * var(--medium)) var(--link-hover-color);\n }\n\n a {\n box-shadow: 0;\n color: var(--link-color);\n display: block;\n font-weight: bold;\n height: 100%;\n padding: var(--spacing-component-2) var(--spacing-component-3);\n text-decoration: none;\n transition: box-shadow 0.25s ease-in-out;\n }\n\n a:hover {\n box-shadow: inset 0 calc(-1 * var(--medium)) var(--link-hover-color);\n }\n '])))]),customElements.get("cfa-nav")||customElements.define("cfa-nav",_r);class $r extends cn{handleSlotchange(n){const e=n.target.assignedNodes({flatten:!0}),t=this.shadowRoot.querySelector("ul"),r=[];e.forEach(n=>{"UL"===n.tagName&&n.querySelectorAll("li").forEach(n=>{var e;t.appendChild(n.cloneNode(!0));const i=null===(e=n.querySelector("a"))||void 0===e?void 0:e.getAttribute("href");i&&i.startsWith("#")&&r.push(i.substring(1))})}),window.addEventListener("scroll",()=>this.updateActiveNav(r))}updateActiveNav(n){const e=window.scrollY;let t=null;if(n.forEach(n=>{const r=document.getElementById(n);r&&r.offsetTop<=e+256&&(t=n)}),this.shadowRoot.querySelectorAll("li a").forEach(n=>{n.classList.remove("is-active")}),t){const n=this.shadowRoot.querySelector('li a[href*="#'.concat(t,'"]'));n&&n.classList.add("is-active")}}render(){return q(We||(We=Er(["\n <slot @slotchange=","></slot>\n <nav>\n <ul>\n <li><strong>On this page: &ensp;</strong></li>\n </ul>\n </nav>\n "])),this.handleSlotchange)}}function Ar(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function Pr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Sr($r,"properties",{fontSize:{}}),Sr($r,"styles",[un,o(Ze||(Ze=Er(["\n :host {\n --bg-color: var(--white);\n --link-color: var(--purple-80);\n --link-hover-color: var(--purple-80);\n\n background-color: var(--bg-color);\n display: block;\n padding-block: var(--spacing-layout-1);\n display: block;\n font-family: var(--font-family-sans-serif);\n font-size: var(--font-size-small);\n line-height: var(--font-size-small);\n }\n\n slot {\n display: none;\n }\n\n nav {\n }\n\n ul {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-layout-half);\n margin: 0;\n padding: 0 var(--outer-margin);\n min-height: var(--spacing-layout-2);\n }\n\n li {\n display: block;\n }\n\n a {\n background-color: var(--purple-10);\n border-radius: var(--rounded-corners);\n color: var(--link-color);\n display: block;\n position: relative;\n padding: var(--spacing-layout-half);\n text-decoration: none;\n }\n\n a:hover {\n background-color: var(--blue-20);\n color: var(--link-hover-color);\n }\n\n a:active {\n background-color: var(--blue-40);\n color: var(--link-color);\n }\n\n @media (min-width: 768px) {\n :host {\n box-shadow: var(--shadow-small);\n padding-block: var(--spacing-component-2);\n position: sticky;\n top: 0;\n z-index: 3;\n }\n\n nav {\n align-items: center;\n display: flex;\n flex-direction: row;\n margin-inline: auto;\n max-width: var(--grid-max-width);\n overflow-x: auto;\n overflow-y: hidden;\n scrollbar-width: none;\n }\n\n ul {\n align-items: center;\n display: flex;\n flex-direction: row;\n gap: var(--spacing-component-2);\n }\n\n a,\n li {\n max-width: none;\n white-space: nowrap;\n }\n\n a.is-active {\n background-color: var(--blue-40);\n }\n }\n "])))]),customElements.get("cfa-page-nav")||customElements.define("cfa-page-nav",$r);class Or extends cn{render(){return q(Ke||(Ke=Ar(['\n <nav>\n <div class="next">\n ','\n </div>\n <div class="previous">\n ',"\n </div>\n </nav>\n "])),this.nextUrl?q(Je||(Je=Ar(['\n <a href="','" class="cfa-button">\n <span class="small label"\n >Next <cfa-icon>arrow_forward</cfa-icon></span\n ><br />\n <span class="title normal">',"</span>\n </a>\n "])),this.nextUrl,this.nextTitle):"",this.previousUrl?q(Xe||(Xe=Ar(['\n <a\n href="','"\n class="cfa-button cfa-button--outline"\n >\n <span class="small label"\n ><cfa-icon>arrow_back</cfa-icon> Previous</span\n ><br />\n <span class="title normal">',"</span>\n </a>\n "])),this.previousUrl,this.previousTitle):"")}}function Cr(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function Tr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Pr(Or,"properties",{previousTitle:{},previousUrl:{},nextTitle:{},nextUrl:{}}),Pr(Or,"styles",[un,Mn,Pn,o(Ye||(Ye=Ar(["\n :host {\n display: block;\n }\n\n * {\n box-sizing: border-box;\n text-wrap: comfortable;\n }\n\n nav {\n display: flex;\n flex-direction: column;\n column-gap: var(--gutter-width);\n row-gap: var(--spacing-layout-half);\n }\n\n nav > * > * {\n width: 100%;\n }\n\n @media (min-width: 768px) {\n nav {\n flex-direction: row-reverse;\n justify-content: space-between;\n }\n\n a {\n min-width: var(--column-span-4);\n }\n\n .next a {\n text-align: end;\n }\n\n .previous a {\n text-align: start;\n }\n }\n "])))]),customElements.get("cfa-pager")||customElements.define("cfa-pager",Or);class Ur extends cn{constructor(){super(),this.previousLabel="Previous",this.nextLabel="Next",this.page=1,this.totalPages=1}render(){return q(Ge||(Ge=Cr(['\n <div class="pagination">\n <div class="previous">\n ','\n </div>\n <div class="status">Page '," of ",'</div>\n <div class="next">\n ',"\n </div>\n </div>\n "])),this.page>1?q(Qe||(Qe=Cr(['\n <button class="cfa-button" @click="','">\n <cfa-icon>arrow_back</cfa-icon>&nbsp;',"\n </button>\n "])),this.handlePreviousPage,this.previousLabel):"",this.page,this.totalPages,this.page<this.totalPages?q(nt||(nt=Cr(['\n <button class="cfa-button" @click="','">\n ',"&nbsp;<cfa-icon>arrow_forward</cfa-icon>\n </button>\n "])),this.handleNextPage,this.nextLabel):"")}handleNextPage(){if(this.page<this.totalPages){this.page++;const n=new CustomEvent("page-change",{bubbles:!0,cancelable:!0,detail:this.page});this.dispatchEvent(n)}}handlePreviousPage(){if(this.page>1){this.page--;const n=new CustomEvent("page-change",{bubbles:!0,cancelable:!0,detail:this.page});this.dispatchEvent(n)}}}function Lr(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function Mr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Tr(Ur,"properties",{page:{type:Number},totalPages:{type:Number},previousLabel:{},nextLabel:{}}),Tr(Ur,"styles",[un,Pn,o(et||(et=Cr(["\n :host {\n display: block;\n }\n\n .pagination {\n align-items: center;\n display: flex;\n flex-direction: row;\n gap: var(--gutter-width);\n justify-content: space-between;\n }\n\n .pagination > * {\n flex: 1;\n }\n\n .status {\n font-size: var(--font-size-small);\n line-height: var(-line-height-small);\n color: var(--gray-60);\n text-align: center;\n }\n\n @media (max-width: 768px) {\n .status {\n display: none;\n }\n }\n\n .previous {\n text-align: left;\n }\n\n .next {\n text-align: right;\n }\n "])))]),customElements.get("cfa-pagination")||customElements.define("cfa-pagination",Ur);class Hr extends cn{render(){var n,e;return q(tt||(tt=Lr(['\n <div class="card ','">\n \x3c!-- Link overlay pseudo-element so we can do nested links within the card --\x3e\n ','\n <div class="avatar">\n ','\n </div>\n <div class="details">\n <div>\n <div class="name h4">\n ',"\n </div>\n ",'\n </div>\n <div class="title small">\n ',"\n </div>\n ","\n </div>\n </div>\n "])),this.linkUrl?"has-link":"",this.linkUrl?q(rt||(rt=Lr(['\n <a\n href="','"\n target="','"\n rel="','"\n class="link-overlay"\n tabindex="-1"\n >\n </a>\n '])),this.linkUrl,this.linkTarget||"_self","_blank"==this.linkTarget?"noopener":W):"",this.linkUrl?q(it||(it=Lr(['\n <a\n href="','"\n target="','"\n rel="','"\n >\n <cfa-avatar\n imageUrl="','"\n altText="Avatar photo of ','"\n size="3"\n >\n </cfa-avatar>\n </a>\n '])),this.linkUrl,this.linkTarget||"_self","_blank"==this.linkTarget?"noopener":W,this.imageUrl,this.name):q(ot||(ot=Lr(['\n <cfa-avatar\n imageUrl="','"\n altText="Avatar photo of ','"\n size="3"\n >\n </cfa-avatar>\n '])),this.imageUrl,this.name),this.linkUrl?q(at||(at=Lr(['\n <a\n href="','"\n target="','"\n rel="','"\n >\n ',"\n </a>\n "])),this.linkUrl,this.linkTarget||"_self","_blank"==this.linkTarget?"noopener":W,this.name.trim()):q(st||(st=Lr([" "," "])),this.name.trim()),this.pronouns?q(lt||(lt=Lr([' <span class="pronouns small">(',")</span> "])),this.pronouns):"",[null===(n=this.title)||void 0===n?void 0:n.trim(),null===(e=this.company)||void 0===e?void 0:e.trim()].filter(Boolean).join(", "),this.linkedInUrl||this.twitterHandle?q(ct||(ct=Lr(['\n <div class="social">\n ',"\n ","\n </div>\n "])),this.linkedInUrl?q(ht||(ht=Lr(['\n <a\n href="','"\n target="_blank"\n rel="noopener"\n title="View ','\'s profile on LinkedIn"\n >\n <cfa-social-icon icon="linkedin" />\n </a>\n '])),this.linkedInUrl,this.name):W,this.twitterHandle?q(dt||(dt=Lr(['\n <a\n href="https://twitter.com/','"\n target="_blank"\n rel="noopener"\n title="View ','\'s profile on X (Twitter)"\n >\n <cfa-social-icon icon="twitter" />\n </a>\n '])),this.twitterHandle,this.name):W):W)}}function Nr(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function Rr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Mr(Hr,"properties",{name:{type:"string"},title:{type:"string"},company:{type:"string"},pronouns:{type:"string"},imageUrl:{type:"string"},imageAltText:{type:"string"},linkUrl:{type:"string"},linkedInUrl:{type:"string"},twitterHandle:{type:"string"}}),Mr(Hr,"styles",[un,Mn,o(ut||(ut=Lr(['\n :host {\n display: block;\n }\n\n .card {\n border-radius: var(--rounded-corners);\n position: relative;\n display: flex;\n flex-direction: row;\n margin-inline: auto;\n max-width: 100%;\n text-align: start;\n width: var(--column-span-4);\n transform: translate(0, 0); // hack to ensure pseudo element is stacked above parent background\n }\n\n .card.has-link::before {\n border-radius: var(--rounded-corners);\n bottom: calc(-1 * var(--thick));\n content: "";\n height: calc(100% + 2 * var(--thick)));\n left: calc(-1 * var(--thick));\n position: absolute;\n right: calc(-1 * var(--thick));\n top: calc(-1 * var(--thick));\n width: calc(100% + 2 * var(--thick)));\n z-index: -1;\n transition: \n background-color 0.5s ease-in-out,\n box-shadow 0.5s ease-in-out;\n }\n\n .card.has-link:hover::before,\n .card.has-link:focus-visible::before {\n background-color: var(--white);\n box-shadow: var(--shadow-medium);\n }\n\n .card.has-link .name a {\n box-shadow: 0;\n color: var(--purple-80);\n transition: box-shadow 0.5s ease-in-out;\n }\n\n .card.has-link:hover .name a {\n box-shadow: inset 0 calc(-1 * var(--thick)) 0 0 var(--purple-20);\n }\n\n a {\n position: relative;\n text-decoration: none;\n z-index: 1;\n }\n\n a.link-overlay {\n position: static;\n }\n\n a.link-overlay::before {\n content: "";\n position: absolute;\n z-index: 0;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n }\n \n .avatar {\n flex-grow: 0;\n }\n\n .name {\n display: inline-block;\n }\n\n .pronouns {\n color: var(--purple-60);\n }\n \n .details {\n color: var(--black);\n flex-grow: 1;\n padding-block-start: var(--spacing-component-2);\n padding-inline-start: var(--spacing-component-2);\n }\n\n .social {\n font-size: 0.9rem;\n margin-block-start: var(--spacing-component-1);\n }\n \n .social a {\n align-items: center;\n border-radius: 10000px;\n color: var(--purple-80);\n display: inline-flex;\n height: var(--spacing-component-4);\n justify-content: center;\n margin: calc(-1 * var(--spacing-component-2));\n width: var(--spacing-component-4);\n }\n\n .social a:hover {\n background-color: var(--purple-20);\n }\n\n .social > a + a {\n margin-inline-start: var(--spacing-component-2);\n }\n '])))]),customElements.get("cfa-person-card")||customElements.define("cfa-person-card",Hr);class Ir extends cn{render(){return q(pt||(pt=Nr(['\n <a\n href="','"\n target="','"\n class="promo\n "\n >\n ',"\n ","\n ","\n </a>\n "])),this.linkUrl||"javascript:void(0)",this.linkTarget||W,this.heading?q(ft||(ft=Nr([' <div class="h4 sans-serif">',"</div> "])),this.heading):W,this.text?q(vt||(vt=Nr([' <div class="small">',"</div> "])),this.text):W,this.actionLabel?q(gt||(gt=Nr(['\n <div class="action-label small strong">\n '," <cfa-icon>arrow_forward</cfa-icon>\n </div>\n "])),this.actionLabel):W)}}function Br(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function Fr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Rr(Ir,"properties",{heading:{},text:{},actionLabel:{},linkUrl:{},linkTarget:{}}),Rr(Ir,"styles",[un,Mn,o(bt||(bt=Nr(["\n :host {\n --bg-color: var(--blue-20);\n --padding: var(--spacing-component-4);\n --text-color: var(--black);\n --action-label-color: var(--purple-60);\n --action-label-hover-color: var(--red-60);\n\n display: block;\n }\n\n .promo,\n a.promo {\n background-color: var(--bg-color);\n box-shadow: var(--shadow-small);\n color: var(--text-color, #000);\n display: flex;\n flex-direction: column;\n gap: var(--spacing-layout-half);\n padding: var(--padding);\n text-align: center;\n text-decoration: none;\n transition: box-shadow 0.2s ease-in-out;\n width: 100%;\n }\n\n a.promo:hover {\n box-shadow: var(--shadow-medium);\n }\n\n .action-label {\n color: var(--action-label-color);\n }\n\n a.promo:hover .action-label {\n color: var(--action-label-hover-color);\n }\n "])))]),customElements.get("cfa-promo")||customElements.define("cfa-promo",Ir);class qr extends cn{constructor(){super(),this.showLabel="Show more",this.hideLabel="Show less",this.showIcon="expand_more",this.hideIcon="expand_less",this.expanded=!1}render(){return q(mt||(mt=Br(['\n <slot\n id="content"\n class="content ','"\n aria-labelledby="button"\n ?hidden="','"\n ></slot>\n <div class="controls">\n <button\n @click="','"\n aria-expanded="','"\n aria-controls="content"\n >\n ',"\n <cfa-icon>","</cfa-icon>\n </button>\n </div>\n "])),this.expanded?"is-expanded":"is-collapsed",!this.expanded,()=>this.expanded=!this.expanded,this.expanded,this.expanded?this.hideLabel:this.showLabel,this.expanded?this.hideIcon:this.showIcon)}}function Vr(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function Dr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Fr(qr,"properties",{showLabel:{type:String},hideLabel:{type:String},showIcon:{type:String},hideIcon:{type:String},expanded:{type:Boolean,reflect:!0}}),Fr(qr,"styles",[un,o(wt||(wt=Br(["\n :host {\n --color: var(--purple-60);\n --hover-color: var(--red-60);\n --margin-top: var(--spacing-layout-half) !important;\n\n display: flex;\n flex-direction: column;\n row-gap: var(--spacing-between, 1rem);\n }\n\n :host([expanded]) {\n --margin-top: var(--spacing) !important;\n }\n\n button {\n background: transparent;\n border: none;\n color: var(--color);\n cursor: pointer;\n font: inherit;\n font-size: var(--font-size-small, 0.8rem);\n font-weight: bold;\n color: var(--)\n line-height: normal;\n margin: 0;\n overflow: visible;\n padding: 0;\n width: auto;\n }\n\n button:hover {\n color: var(--hover-color);\n }\n "])))]),customElements.get("cfa-reveal")||customElements.define("cfa-reveal",qr);class Wr extends cn{constructor(){super(),this.linkUrl="javascript:void(0);",this.linkTarget="_self"}render(){return q(yt||(yt=Vr(['\n <a href="','" target="','" class="slide">\n <div class="image">\n ','\n </div>\n <div class="content">\n <slot></slot>\n </div>\n </a>\n '])),this.linkUrl,this.linkTarget,this.imageUrl?q(xt||(xt=Vr(['\n <img\n src="','"\n alt="','"\n loading="lazy"\n onerror="this.style.display=\'none\'"\n />\n '])),this.imageUrl,this.imageAltText):"")}}function Zr(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function Kr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Dr(Wr,"properties",{imageUrl:{},imageAltText:{},linkUrl:{},linkTarget:{}}),Dr(Wr,"styles",[un,o(kt||(kt=Vr(['\n :host {\n --background: var(--white, #fff);\n --width: var(--column-span-12);\n }\n\n .slide {\n background: var(--background);\n box-shadow: var(--shadow-small);\n color: inherit;\n display: flex;\n flex-direction: column;\n height: 100%;\n justify-content: stretch;\n margin-inline: auto;\n max-width: var(--width);\n text-decoration: none;\n transition: box-shadow 0.2s ease-in-out;\n width: 100%;\n }\n\n .slide:hover,\n .slide:focus {\n box-shadow: var(--shadow-medium);\n }\n\n .image {\n background-image: url("https://codeforamerica.org/wp-content/themes/cfa-core/static/images/bg-placeholder-03.svg");\n background-position: center center;\n background-size: cover;\n height: var(--spacing-layout-9);\n position: relative;\n }\n\n .image::after {\n bottom: 0;\n box-shadow: inset 0 -50px 50px -50px var(--black-40);\n content: "";\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n z-index: 2;\n }\n\n .image img {\n height: 100%;\n object-fit: cover;\n width: 100%;\n }\n\n .content {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: var(--spacing-component-4);\n }\n\n @media (min-width: 1024px) {\n .slide {\n flex-direction: row;\n min-height: calc(12 * var(--spacing-layout-1));\n }\n\n .slide > * {\n flex-basis: 50%;\n }\n\n .image {\n height: auto;\n }\n\n .image::after {\n box-shadow: inset -50px -50px 50px -50px var(--black-20);\n }\n }\n '])))]),customElements.get("cfa-slide")||customElements.define("cfa-slide",Wr);class Jr extends cn{constructor(){super(),this.active=!1,this.panelId=""}firstUpdated(){this.addEventListener("keydown",this._onKeyDown)}_onKeyDown(n){const e=Array.from(this.parentElement.querySelectorAll("cfa-tab")),t=e.indexOf(this);let r;switch(n.key){case"ArrowLeft":r=(t-1+e.length)%e.length,e[r].shadowRoot.querySelector("button").focus();break;case"ArrowRight":r=(t+1)%e.length,e[r].shadowRoot.querySelector("button").focus();break;case"Home":e[0].shadowRoot.querySelector("button").focus();break;case"End":e[e.length-1].shadowRoot.querySelector("button").focus()}}render(){return q(zt||(zt=Zr(['\n <button\n role="tab"\n aria-selected="','"\n aria-controls="','"\n class="','"\n tabindex="','"\n >\n <slot></slot>\n </button>\n '])),this.active?"true":"false",this.panelId,this.active?"active":"",this.active?"0":"-1")}}function Xr(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function Yr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Kr(Jr,"properties",{active:{type:Boolean},panelId:{type:String}}),Kr(Jr,"styles",[un,Mn,o(jt||(jt=Zr(["\n button {\n background: none;\n border: 0;\n box-shadow: inset 0 calc(-1 * var(--hairline)) 0 0 var(--gray-40);\n color: var(--gray-80);\n cursor: pointer;\n font-family: var(--font-family-sans-serif);\n font-size: var(--font-size-small);\n font-weight: normal;\n padding: var(--spacing-component-2) var(--spacing-component-3)\n calc(var(--spacing-component-2) + var(--medium));\n }\n button:focus {\n background-color: var(--focus-color);\n outline: none;\n }\n button:not(.active):hover {\n box-shadow: inset 0 calc(-1 * var(--medium)) 0 0 var(--purple-40);\n color: var(--black);\n }\n button.active {\n box-shadow: inset 0 calc(-1 * var(--medium)) 0 0 var(--purple-60);\n color: var(--black);\n font-weight: bold;\n }\n "])))]),customElements.get("cfa-tab")||customElements.define("cfa-tab",Jr);class Gr extends cn{constructor(){super()}firstUpdated(){this.addEventListener("click",this._onTabClick),this.setAttribute("role","tablist"),this._setInitialAriaAttributes()}_setInitialAriaAttributes(){this.querySelectorAll("cfa-tab").forEach((n,e)=>{n.setAttribute("role","tab"),n.setAttribute("aria-selected","false"),n.setAttribute("tabindex","-1"),0===e&&(n.setAttribute("aria-selected","true"),n.setAttribute("tabindex","0"))})}_onTabClick(n){const e=n.target.closest("cfa-tab");e&&this._setActiveTab(e)}_setActiveTab(n){this.querySelectorAll("cfa-tab").forEach(n=>{n.removeAttribute("active"),n.setAttribute("aria-selected","false"),n.setAttribute("tabindex","-1")}),n.setAttribute("active",""),n.setAttribute("aria-selected","true"),n.setAttribute("tabindex","0");let e=n.id;e&&e.startsWith("tab-")&&(e=e.substring(4)),console.log("Tab changed event dispatched with ID:",e),this.dispatchEvent(new CustomEvent("tab-changed",{detail:{id:e},bubbles:!0,composed:!0}))}render(){return q(_t||(_t=Xr(['\n <div class="tab-list" role="tablist">\n <slot></slot>\n </div>\n '])))}}function Qr(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function ni(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Yr(Gr,"properties",{}),Yr(Gr,"styles",[un,Pn,o(Et||(Et=Xr(['\n :host {\n display: block;\n width: calc(100% + var(--outer-margin));\n }\n\n .tab-list {\n display: flex;\n flex-direction: row;\n line-height: 1;\n margin-inline-start: calc(-1 * var(--outer-margin));\n overflow-x: auto;\n overflow-y: hidden;\n scrollbar-width: none;\n white-space: nowrap;\n }\n\n .tab-list::before {\n content: "";\n min-width: var(--outer-margin);\n }\n\n .tab-list::after {\n border-bottom: var(--hairline) solid var(--gray-40);\n content: "";\n flex-grow: 1;\n margin-right: var(--outer-margin);\n }\n\n ::slotted(*) {\n max-width: none !important;\n white-space: nowrap !important;\n }\n '])))]),customElements.get("cfa-tab-list")||customElements.define("cfa-tab-list",Gr);class ei extends cn{tileContentTemplate(){return q(St||(St=Qr(["\n ",'\n\n <div class="title h3">',"</div>\n\n \x3c!-- Description --\x3e\n ","\n\n \x3c!-- Action label --\x3e\n ","\n "])),this.imageUrl?q($t||($t=Qr(['\n <picture>\n <cfa-blob></cfa-blob>\n <img\n src="','"\n alt="','"\n load="lazy"\n />\n </picture>\n '])),this.imageUrl,this.imageAltText):W,this.title,this.description?q(At||(At=Qr([' <p class="small">',"</p> "])),this.description):W,this.actionLabel?q(Pt||(Pt=Qr(['\n <div class="label small strong">\n ',"&nbsp;<cfa-icon>arrow_forward</cfa-icon>\n </div>\n "])),this.actionLabel):W)}render(){return q(Ot||(Ot=Qr(["\n <style>\n cfa-blob {\n --color: var(--blob-color);\n }\n </style>\n ","\n "])),this.linkUrl?q(Ct||(Ct=Qr(['\n <a\n href="','"\n target="','"\n rel="','"\n class="tile"\n >\n ',"\n </a>\n "])),this.linkUrl,this.linkTarget,"_blank"==this.linkTarget?"noopener":W,this.tileContentTemplate()):q(Tt||(Tt=Qr([' <div class="tile">',"</div> "])),this.tileContentTemplate()))}}function ti(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}ni(ei,"properties",{title:{type:String},description:{type:String},actionLabel:{type:String},linkUrl:{type:String},linkTarget:{type:String},imageUrl:{type:String},imageThumbnailUrl:{type:String},imageAltText:{type:String}}),ni(ei,"styles",[un,Mn,o(Ut||(Ut=Qr(["\n :host {\n --bg-color: var(--white);\n --title-color: var(--purple-60);\n --text-color: var(--black);\n --action-label-color: var(--purple-80);\n --action-label-hover-highlight: var(--purple-20);\n --blob-color: var(--purple-20);\n\n align-items: stretch;\n display: flex;\n text-align: center;\n width: 100%;\n }\n\n .tile {\n background-color: var(--bg-color);\n border-radius: var(--spacing-component-2);\n border: var(--hairline) solid var(--black-20);\n color: var(--text-color);\n display: flex;\n flex-direction: column;\n padding: var(--spacing-component-4);\n text-decoration: none;\n transition:\n box-shadow 0.5s ease-in-out,\n border-color 0.5s ease-in-out;\n width: 100%;\n }\n\n a.tile:hover {\n box-shadow: var(--shadow-medium);\n border-color: rgba(0, 0, 0, 0);\n }\n\n picture {\n display: grid;\n place-items: center;\n padding-block-end: var(--spacing-layout-1);\n }\n\n picture > * {\n height: var(--spacing-layout-4);\n grid-area: 1 / 1;\n }\n\n cfa-blob {\n transition: scale 0.5s ease-in-out;\n }\n\n a.tile:hover cfa-blob {\n scale: 1.2;\n }\n\n img {\n object-fit: contain;\n z-index: 2;\n }\n\n .title {\n color: var(--title-color);\n }\n\n .label {\n color: var(--action-label-color);\n display: inline-block;\n margin-block-start: auto;\n padding-block-start: var(--spacing-layout-half);\n }\n "])))]),customElements.get("cfa-tile")||customElements.define("cfa-tile",ei);class ri extends cn{render(){return q(Lt||(Lt=ti(['\n <div class="label eyebrow-with-line">Transcript</div>\n <div class="text">\n <slot />\n </div>\n '])))}}function ii(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function oi(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}!function(n,e,t){(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t}(ri,"styles",[un,Mn,o(Mt||(Mt=ti(["\n :host {\n --label-color: var(--purple-60);\n\n display: block;\n max-width: var(--column-span-8);\n }\n\n .label {\n --text-color: var(--label-color);\n }\n\n .text {\n background-color: var(--white);\n border: var(--hairline) solid var(--black-20);\n color: var(--black);\n height: calc(12 * var(--spacing-layout-1));\n overflow: auto;\n padding: var(--spacing-component-3);\n }\n "])))]),customElements.get("cfa-transcript")||customElements.define("cfa-transcript",ri);class ai extends cn{constructor(){super(),this.atScrollStart=!0,this.atScrollEnd=!1}connectedCallback(){super.connectedCallback(),this.addEventListener("focusin",n=>{""===n.target.slot&&n.target.scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"})})}scrollPrevious(){const n=this.shadowRoot.querySelector(".carousel"),e=this.shadowRoot.querySelector("slot").assignedElements()[0].clientWidth;n.scrollBy({left:-e,behavior:"smooth"})}scrollNext(){const n=this.shadowRoot.querySelector(".carousel"),e=this.shadowRoot.querySelector("slot").assignedElements()[0].clientWidth;n.scrollBy({left:e,behavior:"smooth"})}handleScroll(n){0===n.target.scrollLeft?this.atScrollStart=!0:this.atScrollStart=!1,Math.round(n.target.scrollLeft+n.target.clientWidth)>=Math.round(n.target.scrollWidth)?this.atScrollEnd=!0:this.atScrollEnd=!1}render(){return q(Ht||(Ht=ii(['\n <div class="carousel" @scroll=','>\n <div class="spacer"></div>\n <slot></slot>\n <div class="spacer"></div>\n </div>\n <div class="controls">\n <button\n class="previous ','"\n @click="','"\n >\n <cfa-icon>arrow_back</cfa-icon>\n </button>\n <button\n class="next ','"\n @click="','"\n >\n <cfa-icon>arrow_forward</cfa-icon>\n </button>\n </div>\n '])),this.handleScroll,this.atScrollStart?"disabled":"",this.scrollPrevious,this.atScrollEnd?"disabled":"",this.scrollNext)}}oi(ai,"properties",{atScrollStart:{type:Boolean},atScrollEnd:{type:Boolean}}),oi(ai,"styles",[un,o(Nt||(Nt=ii(["\n :host {\n --slide-width-mobile: 75vw;\n --slide-width-desktop: var(--column-span-3);\n\n display: block;\n scrollbar-color: transparent transparent;\n scrollbar-width: 0px;\n scroll-behavior: smooth;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n }\n\n :host(:focus) {\n outline: none !important;\n }\n\n ::-webkit-scrollbar {\n background: transparent;\n width: 0px;\n }\n\n .carousel {\n display: flex;\n gap: var(--spacing-layout-1);\n overflow-x: scroll;\n scroll-snap-type: x mandatory;\n padding-block-start: var(--spacing-layout-half);\n padding-block-end: var(--spacing-layout-1);\n }\n\n .controls {\n margin-block-start: calc(-1 * var(--spacing-layout-half));\n margin-block-end: var(--spacing-layout-1);\n text-align: center;\n }\n\n .controls > * + * {\n margin-inline-start: var(--spacing-layout-half);\n }\n\n .controls button {\n background: transparent;\n border: none;\n border-radius: 50%;\n color: var(--purple-80);\n cursor: pointer;\n font-size: var(--font-size-large, 1.25rem);\n height: var(--spacing-layout-2);\n transition: background-color 0.2s ease-in-out;\n width: var(--spacing-layout-2);\n }\n\n .controls button:hover,\n .controls button:focus {\n background-color: var(--white, #fff);\n }\n\n .controls button:focus {\n outline: var(--focus-outline);\n }\n\n .controls button.disabled {\n color: var(--black-20);\n cursor: default;\n }\n\n .controls button.disabled:hover,\n .controls button.disabled:focus {\n background: transparent;\n outline: none;\n }\n\n ::slotted(*) {\n flex: 0 0 var(--slide-width-mobile);\n margin-block: var(--spacing-layout-1);\n scroll-snap-align: center;\n }\n\n @media (min-width: 1024px) {\n ::slotted(*) {\n flex: 0 0 var(--slide-width-desktop);\n }\n\n .spacer {\n flex: 0 0\n calc((100vw - var(--column-span-12)) / 2 - var(--outer-margin));\n }\n }\n "])))]),customElements.get("cfa-carousel")||customElements.define("cfa-carousel",ai)})();
2
+ (()=>{"use strict";const n=globalThis,e=n.ShadowRoot&&(void 0===n.ShadyCSS||n.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,t=Symbol(),r=new WeakMap;class i{constructor(n,e,r){if(this._$cssResult$=!0,r!==t)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=n,this.t=e}get styleSheet(){let n=this.o;const t=this.t;if(e&&void 0===n){const e=void 0!==t&&1===t.length;e&&(n=r.get(t)),void 0===n&&((this.o=n=new CSSStyleSheet).replaceSync(this.cssText),e&&r.set(t,n))}return n}toString(){return this.cssText}}const o=(n,...e)=>{const r=1===n.length?n[0]:e.reduce((e,t,r)=>e+(n=>{if(!0===n._$cssResult$)return n.cssText;if("number"==typeof n)return n;throw Error("Value passed to 'css' function must be a 'css' function result: "+n+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(t)+n[r+1],n[0]);return new i(r,n,t)},a=(t,r)=>{if(e)t.adoptedStyleSheets=r.map(n=>n instanceof CSSStyleSheet?n:n.styleSheet);else for(const e of r){const r=document.createElement("style"),i=n.litNonce;void 0!==i&&r.setAttribute("nonce",i),r.textContent=e.cssText,t.appendChild(r)}},s=e?n=>n:n=>n instanceof CSSStyleSheet?(n=>{let e="";for(const t of n.cssRules)e+=t.cssText;return(n=>new i("string"==typeof n?n:n+"",void 0,t))(e)})(n):n,{is:l,defineProperty:c,getOwnPropertyDescriptor:h,getOwnPropertyNames:d,getOwnPropertySymbols:u,getPrototypeOf:p}=Object,f=globalThis,v=f.trustedTypes,g=v?v.emptyScript:"",b=f.reactiveElementPolyfillSupport,m=(n,e)=>n,w={toAttribute(n,e){switch(e){case Boolean:n=n?g:null;break;case Object:case Array:n=null==n?n:JSON.stringify(n)}return n},fromAttribute(n,e){let t=n;switch(e){case Boolean:t=null!==n;break;case Number:t=null===n?null:Number(n);break;case Object:case Array:try{t=JSON.parse(n)}catch(n){t=null}}return t}},y=(n,e)=>!l(n,e),x={attribute:!0,type:String,converter:w,reflect:!1,useDefault:!1,hasChanged:y};Symbol.metadata??=Symbol("metadata"),f.litPropertyMetadata??=new WeakMap;class k extends HTMLElement{static addInitializer(n){this._$Ei(),(this.l??=[]).push(n)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(n,e=x){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(n)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(n,e),!e.noAccessor){const t=Symbol(),r=this.getPropertyDescriptor(n,t,e);void 0!==r&&c(this.prototype,n,r)}}static getPropertyDescriptor(n,e,t){const{get:r,set:i}=h(this.prototype,n)??{get(){return this[e]},set(n){this[e]=n}};return{get:r,set(e){const o=r?.call(this);i?.call(this,e),this.requestUpdate(n,o,t)},configurable:!0,enumerable:!0}}static getPropertyOptions(n){return this.elementProperties.get(n)??x}static _$Ei(){if(this.hasOwnProperty(m("elementProperties")))return;const n=p(this);n.finalize(),void 0!==n.l&&(this.l=[...n.l]),this.elementProperties=new Map(n.elementProperties)}static finalize(){if(this.hasOwnProperty(m("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(m("properties"))){const n=this.properties,e=[...d(n),...u(n)];for(const t of e)this.createProperty(t,n[t])}const n=this[Symbol.metadata];if(null!==n){const e=litPropertyMetadata.get(n);if(void 0!==e)for(const[n,t]of e)this.elementProperties.set(n,t)}this._$Eh=new Map;for(const[n,e]of this.elementProperties){const t=this._$Eu(n,e);void 0!==t&&this._$Eh.set(t,n)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(n){const e=[];if(Array.isArray(n)){const t=new Set(n.flat(1/0).reverse());for(const n of t)e.unshift(s(n))}else void 0!==n&&e.push(s(n));return e}static _$Eu(n,e){const t=e.attribute;return!1===t?void 0:"string"==typeof t?t:"string"==typeof n?n.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(n=>this.enableUpdating=n),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(n=>n(this))}addController(n){(this._$EO??=new Set).add(n),void 0!==this.renderRoot&&this.isConnected&&n.hostConnected?.()}removeController(n){this._$EO?.delete(n)}_$E_(){const n=new Map,e=this.constructor.elementProperties;for(const t of e.keys())this.hasOwnProperty(t)&&(n.set(t,this[t]),delete this[t]);n.size>0&&(this._$Ep=n)}createRenderRoot(){const n=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return a(n,this.constructor.elementStyles),n}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(n=>n.hostConnected?.())}enableUpdating(n){}disconnectedCallback(){this._$EO?.forEach(n=>n.hostDisconnected?.())}attributeChangedCallback(n,e,t){this._$AK(n,t)}_$ET(n,e){const t=this.constructor.elementProperties.get(n),r=this.constructor._$Eu(n,t);if(void 0!==r&&!0===t.reflect){const i=(void 0!==t.converter?.toAttribute?t.converter:w).toAttribute(e,t.type);this._$Em=n,null==i?this.removeAttribute(r):this.setAttribute(r,i),this._$Em=null}}_$AK(n,e){const t=this.constructor,r=t._$Eh.get(n);if(void 0!==r&&this._$Em!==r){const n=t.getPropertyOptions(r),i="function"==typeof n.converter?{fromAttribute:n.converter}:void 0!==n.converter?.fromAttribute?n.converter:w;this._$Em=r;const o=i.fromAttribute(e,n.type);this[r]=o??this._$Ej?.get(r)??o,this._$Em=null}}requestUpdate(n,e,t){if(void 0!==n){const r=this.constructor,i=this[n];if(t??=r.getPropertyOptions(n),!((t.hasChanged??y)(i,e)||t.useDefault&&t.reflect&&i===this._$Ej?.get(n)&&!this.hasAttribute(r._$Eu(n,t))))return;this.C(n,e,t)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(n,e,{useDefault:t,reflect:r,wrapped:i},o){t&&!(this._$Ej??=new Map).has(n)&&(this._$Ej.set(n,o??e??this[n]),!0!==i||void 0!==o)||(this._$AL.has(n)||(this.hasUpdated||t||(e=void 0),this._$AL.set(n,e)),!0===r&&this._$Em!==n&&(this._$Eq??=new Set).add(n))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(n){Promise.reject(n)}const n=this.scheduleUpdate();return null!=n&&await n,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[n,e]of this._$Ep)this[n]=e;this._$Ep=void 0}const n=this.constructor.elementProperties;if(n.size>0)for(const[e,t]of n){const{wrapped:n}=t,r=this[e];!0!==n||this._$AL.has(e)||void 0===r||this.C(e,void 0,t,r)}}let n=!1;const e=this._$AL;try{n=this.shouldUpdate(e),n?(this.willUpdate(e),this._$EO?.forEach(n=>n.hostUpdate?.()),this.update(e)):this._$EM()}catch(e){throw n=!1,this._$EM(),e}n&&this._$AE(e)}willUpdate(n){}_$AE(n){this._$EO?.forEach(n=>n.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(n)),this.updated(n)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(n){return!0}update(n){this._$Eq&&=this._$Eq.forEach(n=>this._$ET(n,this[n])),this._$EM()}updated(n){}firstUpdated(n){}}k.elementStyles=[],k.shadowRootOptions={mode:"open"},k[m("elementProperties")]=new Map,k[m("finalized")]=new Map,b?.({ReactiveElement:k}),(f.reactiveElementVersions??=[]).push("2.1.1");const z=globalThis,j=z.trustedTypes,_=j?j.createPolicy("lit-html",{createHTML:n=>n}):void 0,E="$lit$",S=`lit$${Math.random().toFixed(9).slice(2)}$`,$="?"+S,A=`<${$}>`,P=document,O=()=>P.createComment(""),C=n=>null===n||"object"!=typeof n&&"function"!=typeof n,T=Array.isArray,U="[ \t\n\f\r]",L=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,M=/-->/g,H=/>/g,N=RegExp(`>|${U}(?:([^\\s"'>=/]+)(${U}*=${U}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),R=/'/g,I=/"/g,B=/^(?:script|style|textarea|title)$/i,F=n=>(e,...t)=>({_$litType$:n,strings:e,values:t}),q=F(1),V=F(2),D=(F(3),Symbol.for("lit-noChange")),W=Symbol.for("lit-nothing"),Z=new WeakMap,K=P.createTreeWalker(P,129);function J(n,e){if(!T(n)||!n.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==_?_.createHTML(e):e}const X=(n,e)=>{const t=n.length-1,r=[];let i,o=2===e?"<svg>":3===e?"<math>":"",a=L;for(let e=0;e<t;e++){const t=n[e];let s,l,c=-1,h=0;for(;h<t.length&&(a.lastIndex=h,l=a.exec(t),null!==l);)h=a.lastIndex,a===L?"!--"===l[1]?a=M:void 0!==l[1]?a=H:void 0!==l[2]?(B.test(l[2])&&(i=RegExp("</"+l[2],"g")),a=N):void 0!==l[3]&&(a=N):a===N?">"===l[0]?(a=i??L,c=-1):void 0===l[1]?c=-2:(c=a.lastIndex-l[2].length,s=l[1],a=void 0===l[3]?N:'"'===l[3]?I:R):a===I||a===R?a=N:a===M||a===H?a=L:(a=N,i=void 0);const d=a===N&&n[e+1].startsWith("/>")?" ":"";o+=a===L?t+A:c>=0?(r.push(s),t.slice(0,c)+E+t.slice(c)+S+d):t+S+(-2===c?e:d)}return[J(n,o+(n[t]||"<?>")+(2===e?"</svg>":3===e?"</math>":"")),r]};class Y{constructor({strings:n,_$litType$:e},t){let r;this.parts=[];let i=0,o=0;const a=n.length-1,s=this.parts,[l,c]=X(n,e);if(this.el=Y.createElement(l,t),K.currentNode=this.el.content,2===e||3===e){const n=this.el.content.firstChild;n.replaceWith(...n.childNodes)}for(;null!==(r=K.nextNode())&&s.length<a;){if(1===r.nodeType){if(r.hasAttributes())for(const n of r.getAttributeNames())if(n.endsWith(E)){const e=c[o++],t=r.getAttribute(n).split(S),a=/([.?@])?(.*)/.exec(e);s.push({type:1,index:i,name:a[2],strings:t,ctor:"."===a[1]?tn:"?"===a[1]?rn:"@"===a[1]?on:en}),r.removeAttribute(n)}else n.startsWith(S)&&(s.push({type:6,index:i}),r.removeAttribute(n));if(B.test(r.tagName)){const n=r.textContent.split(S),e=n.length-1;if(e>0){r.textContent=j?j.emptyScript:"";for(let t=0;t<e;t++)r.append(n[t],O()),K.nextNode(),s.push({type:2,index:++i});r.append(n[e],O())}}}else if(8===r.nodeType)if(r.data===$)s.push({type:2,index:i});else{let n=-1;for(;-1!==(n=r.data.indexOf(S,n+1));)s.push({type:7,index:i}),n+=S.length-1}i++}}static createElement(n,e){const t=P.createElement("template");return t.innerHTML=n,t}}function G(n,e,t=n,r){if(e===D)return e;let i=void 0!==r?t._$Co?.[r]:t._$Cl;const o=C(e)?void 0:e._$litDirective$;return i?.constructor!==o&&(i?._$AO?.(!1),void 0===o?i=void 0:(i=new o(n),i._$AT(n,t,r)),void 0!==r?(t._$Co??=[])[r]=i:t._$Cl=i),void 0!==i&&(e=G(n,i._$AS(n,e.values),i,r)),e}class Q{constructor(n,e){this._$AV=[],this._$AN=void 0,this._$AD=n,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(n){const{el:{content:e},parts:t}=this._$AD,r=(n?.creationScope??P).importNode(e,!0);K.currentNode=r;let i=K.nextNode(),o=0,a=0,s=t[0];for(;void 0!==s;){if(o===s.index){let e;2===s.type?e=new nn(i,i.nextSibling,this,n):1===s.type?e=new s.ctor(i,s.name,s.strings,this,n):6===s.type&&(e=new an(i,this,n)),this._$AV.push(e),s=t[++a]}o!==s?.index&&(i=K.nextNode(),o++)}return K.currentNode=P,r}p(n){let e=0;for(const t of this._$AV)void 0!==t&&(void 0!==t.strings?(t._$AI(n,t,e),e+=t.strings.length-2):t._$AI(n[e])),e++}}class nn{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(n,e,t,r){this.type=2,this._$AH=W,this._$AN=void 0,this._$AA=n,this._$AB=e,this._$AM=t,this.options=r,this._$Cv=r?.isConnected??!0}get parentNode(){let n=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===n?.nodeType&&(n=e.parentNode),n}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(n,e=this){n=G(this,n,e),C(n)?n===W||null==n||""===n?(this._$AH!==W&&this._$AR(),this._$AH=W):n!==this._$AH&&n!==D&&this._(n):void 0!==n._$litType$?this.$(n):void 0!==n.nodeType?this.T(n):(n=>T(n)||"function"==typeof n?.[Symbol.iterator])(n)?this.k(n):this._(n)}O(n){return this._$AA.parentNode.insertBefore(n,this._$AB)}T(n){this._$AH!==n&&(this._$AR(),this._$AH=this.O(n))}_(n){this._$AH!==W&&C(this._$AH)?this._$AA.nextSibling.data=n:this.T(P.createTextNode(n)),this._$AH=n}$(n){const{values:e,_$litType$:t}=n,r="number"==typeof t?this._$AC(n):(void 0===t.el&&(t.el=Y.createElement(J(t.h,t.h[0]),this.options)),t);if(this._$AH?._$AD===r)this._$AH.p(e);else{const n=new Q(r,this),t=n.u(this.options);n.p(e),this.T(t),this._$AH=n}}_$AC(n){let e=Z.get(n.strings);return void 0===e&&Z.set(n.strings,e=new Y(n)),e}k(n){T(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let t,r=0;for(const i of n)r===e.length?e.push(t=new nn(this.O(O()),this.O(O()),this,this.options)):t=e[r],t._$AI(i),r++;r<e.length&&(this._$AR(t&&t._$AB.nextSibling,r),e.length=r)}_$AR(n=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);n!==this._$AB;){const e=n.nextSibling;n.remove(),n=e}}setConnected(n){void 0===this._$AM&&(this._$Cv=n,this._$AP?.(n))}}class en{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(n,e,t,r,i){this.type=1,this._$AH=W,this._$AN=void 0,this.element=n,this.name=e,this._$AM=r,this.options=i,t.length>2||""!==t[0]||""!==t[1]?(this._$AH=Array(t.length-1).fill(new String),this.strings=t):this._$AH=W}_$AI(n,e=this,t,r){const i=this.strings;let o=!1;if(void 0===i)n=G(this,n,e,0),o=!C(n)||n!==this._$AH&&n!==D,o&&(this._$AH=n);else{const r=n;let a,s;for(n=i[0],a=0;a<i.length-1;a++)s=G(this,r[t+a],e,a),s===D&&(s=this._$AH[a]),o||=!C(s)||s!==this._$AH[a],s===W?n=W:n!==W&&(n+=(s??"")+i[a+1]),this._$AH[a]=s}o&&!r&&this.j(n)}j(n){n===W?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,n??"")}}class tn extends en{constructor(){super(...arguments),this.type=3}j(n){this.element[this.name]=n===W?void 0:n}}class rn extends en{constructor(){super(...arguments),this.type=4}j(n){this.element.toggleAttribute(this.name,!!n&&n!==W)}}class on extends en{constructor(n,e,t,r,i){super(n,e,t,r,i),this.type=5}_$AI(n,e=this){if((n=G(this,n,e,0)??W)===D)return;const t=this._$AH,r=n===W&&t!==W||n.capture!==t.capture||n.once!==t.once||n.passive!==t.passive,i=n!==W&&(t===W||r);r&&this.element.removeEventListener(this.name,this,t),i&&this.element.addEventListener(this.name,this,n),this._$AH=n}handleEvent(n){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,n):this._$AH.handleEvent(n)}}class an{constructor(n,e,t){this.element=n,this.type=6,this._$AN=void 0,this._$AM=e,this.options=t}get _$AU(){return this._$AM._$AU}_$AI(n){G(this,n)}}const sn=z.litHtmlPolyfillSupport;sn?.(Y,nn),(z.litHtmlVersions??=[]).push("3.3.1");const ln=globalThis;class cn extends k{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const n=super.createRenderRoot();return this.renderOptions.renderBefore??=n.firstChild,n}update(n){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(n),this._$Do=((n,e,t)=>{const r=t?.renderBefore??e;let i=r._$litPart$;if(void 0===i){const n=t?.renderBefore??null;r._$litPart$=i=new nn(e.insertBefore(O(),n),n,void 0,t??{})}return i._$AI(n),i})(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return D}}cn._$litElement$=!0,cn.finalized=!0,ln.litElementHydrateSupport?.({LitElement:cn});const hn=ln.litElementPolyfillSupport;var dn;hn?.({LitElement:cn}),(ln.litElementVersions??=[]).push("4.2.1");const un=o(dn||(dn=function(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}(["\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n *:focus-visible,\n *:target {\n outline: var(--focus-outline);\n position: relative;\n }\n"])));var pn,fn,vn,gn,bn,mn,wn,yn,xn,kn,zn;function jn(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function _n(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}class En extends cn{render(){return q(pn||(pn=jn(["\n <style>\n :host {\n --size: var(--spacing-layout-",", 8rem);\n }\n </style>\n <picture>\n ","\n </picture>\n "])),this.size||"4",this.imageUrl?q(fn||(fn=jn(['\n <img\n src="','"\n loading="lazy"\n alt="','"\n />\n '])),this.imageUrl,this.altText):W)}}function Sn(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function $n(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}_n(En,"properties",{imageUrl:{},altText:{},size:{}}),_n(En,"styles",[un,o(vn||(vn=jn(["\n :host {\n --bg-color: var(--blue-20);\n\n display: inline-block;\n max-width: 100%;\n }\n\n picture {\n aspect-ratio: 1 / 1;\n background-color: var(--bg-color);\n border-radius: 50%;\n display: block;\n max-width: 100%;\n overflow: hidden;\n width: var(--size);\n }\n\n img {\n display: block;\n height: 100%;\n object-fit: cover;\n width: 100%;\n }\n "])))]),customElements.get("cfa-avatar")||customElements.define("cfa-avatar",En);class An extends cn{constructor(){super(),this.shape="1"}blobTemplate(){let n;switch(this.shape){case"1":n=q(gn||(gn=Sn(['<svg\n width="628"\n height="577"\n viewBox="0 0 628 577"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n fill-rule="evenodd"\n clip-rule="evenodd"\n d="M304.482 3.44206C399.413 -5.50752 504.225 1.17063 567.446 72.5295C633.526 147.115 639.549 256.491 613.992 352.793C589.57 444.814 526.084 523.087 438.164 559.679C355.477 594.092 265.039 570.416 184.315 531.621C103.504 492.784 22.0294 438.546 3.59029 350.826C-14.5863 264.355 39.2746 183.666 97.1329 116.868C151.394 54.223 221.956 11.2221 304.482 3.44206Z"\n />\n </svg>'])));break;case"2":n=q(bn||(bn=Sn(['<svg\n width="580"\n height="592"\n viewBox="0 0 580 592"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M238.814 591.215C210.461 592.077 182.849 587.767 155.66 580.979C60.4457 557.059 4.05766 489.933 0.460672 390.376C-2.50155 306.442 8.71258 223.693 37.2769 144.499C73.2468 44.6185 170.894 -12.5948 276.159 2.81295C358.996 14.9883 437.177 39.3389 499.172 100.108C588.039 187.167 604.437 293.512 544.346 402.767C514.618 456.855 477.59 505.988 426.386 541.544C369.892 580.656 304.723 587.767 238.814 591.215Z"\n />\n </svg>'])));break;case"3":n=q(mn||(mn=Sn(['<svg\n width="620"\n height="613"\n viewBox="0 0 620 613"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n fill-rule="evenodd"\n clip-rule="evenodd"\n d="M619.142 301.769C615.581 212.393 536.92 153.752 466.654 98.7402C397.998 44.9883 323.934 -10.5844 236.421 2.12929C141.656 15.8965 53.9975 76.8338 15.687 164.256C-20.6955 247.277 16.2818 336.243 54.5575 417.127C92.4807 497.265 137.965 580.831 224.139 604.752C314.166 629.742 409.183 593.817 484.092 536.359C559.738 478.336 622.883 395.641 619.142 301.769Z"\n />\n </svg>'])));break;case"4":n=q(wn||(wn=Sn(['<svg\n width="656"\n height="566"\n viewBox="0 0 656 566"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n fill-rule="evenodd"\n clip-rule="evenodd"\n d="M332.011 564.695C235.808 569.34 135.091 552.4 71.2946 488.381C4.66596 421.518 -10.0767 327.738 8.2158 239.764C27.3773 147.61 73.5054 52.3693 169.88 14.2546C263.181 -22.6447 364.8 21.5179 455.491 62.8734C540.631 101.698 627.337 150.367 649.771 233.088C672.265 316.032 626.78 399.503 564.43 464.569C505.684 525.875 422.382 560.331 332.011 564.695Z"\n />\n </svg>'])));break;default:n=q(yn||(yn=Sn(['<svg\n width="628"\n height="577"\n viewBox="0 0 628 577"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n fill-rule="evenodd"\n clip-rule="evenodd"\n d="M304.482 3.44206C399.413 -5.50752 504.225 1.17063 567.446 72.5295C633.526 147.115 639.549 256.491 613.992 352.793C589.57 444.814 526.084 523.087 438.164 559.679C355.477 594.092 265.039 570.416 184.315 531.621C103.504 492.784 22.0294 438.546 3.59029 350.826C-14.5863 264.355 39.2746 183.666 97.1329 116.868C151.394 54.223 221.956 11.2221 304.482 3.44206Z"\n />\n </svg>'])))}return n}render(){const n=this.color?"var(--".concat(this.color,")"):"var(--blue-20)";return q(xn||(xn=Sn([' \n <div \n class="blob" \n style="--color: ','"\n >\n ',"\n </div> \n "])),n,this.blobTemplate())}}$n(An,"properties",{color:{},shape:{},styles:{}}),$n(An,"styles",[un,o(kn||(kn=Sn(["\n :host {\n --color: var(--blue-20);\n\n display: block;\n }\n\n .blob,\n svg {\n height: 100%;\n width: 100%;\n }\n\n svg path {\n fill: var(--color, #fff);\n }\n "])))]),customElements.get("cfa-blob")||customElements.define("cfa-blob",An);const Pn=o(zn||(zn=function(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}(['\n .cfa-button,\n a.cfa-button, \n .cfa-button > a,\n .wp-block-button > * {\n --bg-color: var(--white);\n --border-color: transparent;\n --font-family: var(--font-family-sans-serif);\n --font-size: var(--font-size-base);\n --hover-bg-color: var(--blue-20);\n --hover-border-color: var(--border-color);\n --line-height: var(--line-height-base);\n --text-color: var(--purple-80);\n\n background-color: var(--bg-color);\n border: var(--hairline) solid var(--border-color);\n border-radius: var(--rounded-corners);\n box-shadow: var(--shadow-small);\n color: var(--text-color);\n cursor: pointer;\n display: block;\n font-family: var(--font-family);\n font-size: var(--font-size);\n font-weight: bold;\n padding: var(--spacing-component-2) var(--spacing-component-3);\n text-align: center;\n text-decoration: none;\n transition: background-color 0.5s, box-shadow 0.5s;\n\n &:hover {\n background-color: var(--hover-bg-color);\n border-color: var(--hover-border-color);\n box-shadow: var(--shadow-medium);\n color: var(--text-color);\n }\n }\n\n @media (max-width: 768px) {\n .cfa-button, \n a.cfa-button, \n .cfa-button > a,\n .wp-block-button > * {\n width: 100%;\n \n & + & {\n margin-block-start: var(--spacing-layout-half);\n }\n }\n\n .wp-block-button {\n width: 100%;\n }\n }\n\n @media (min-width: 768px) {\n .cfa-button, \n a.cfa-button, \n .cfa-button > a,\n .wp-block-button > * {\n display: inline-block;\n\n & {\n margin-block: var(--spacing-component-2);\n margin-inline-end: var(--spacing-component-2);\n }\n }\n }\n\n // Themes / variants\n\n .cfa-button--primary,\n a.cfa-button--primary,\n .cfa-button--primary > a,\n .wp-block-button.is-style-primary > * {\n --bg-color: var(--red-60);\n --hover-bg-color: var(--red-80);\n --text-color: var(--white,);\n }\n\n .cfa-button--outline,\n a.cfa-button--outline,\n .cfa-button--outline > a,\n .wp-block-button.is-style-outline > * {\n --border-color: var(--black-20);\n --bg-color: transparent;\n }\n\n .cfa-button--outline-white,\n a.cfa-button--outline-white,\n .cfa-button--outline-white > a,\n .wp-block-button.is-style-outline-white > * {\n --border-color: var(--white);\n --bg-color: transparent;\n --hover-bg-color: var(--black-20);\n --shadow-color: var(--white-20);\n --text-color: var(--white);\n }\n\n .cfa-button--prominent-link,\n a.cfa-button--prominent-link,\n .cfa-button--prominent-link > a,\n .wp-block-button.is-style-prominent-link > * {\n --accent-color: var(--purple-60);\n\n background: unset;\n box-shadow: unset;\n color: inherit;\n font-weight: bold;\n padding: 0;\n text-decoration: underline;\n text-decoration-color: var(--accent-color);\n text-decoration-thickness: var(--medium);\n text-underline-offset: 0.4em;\n transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out; \n\n &:hover {\n --accent-color: var(--red-60);\n \n background: unset;\n box-shadow: unset;\n }\n\n &::after {\n @include icon.icon;\n \n content: "arrow_right_alt";\n display: inline-block;\n padding-inline-start: 0.1em;\n text-decoration: none;\n transition: transform 0.2s ease-in-out;\n width: 1em;\n }\n\n &:hover::after {\n transform: translateX(0.3em);\n }\n\n cfa-icon {\n text-decoration: none;\n }\n }\n\n // Sizes\n\n .cfa-button--sm,\n a.cfa-button--sm,\n .cfa-button--sm > a {\n --font-size: var(--font-size-small);\n --line-height: var(--line-height-small);\n }\n\n .cfa-button--md,\n a.cfa-button--md,\n .cfa-button--md > a {\n --font-size: var(--font-size-base);\n --line-height: var(--line-height-base);\n }\n'])));var On,Cn,Tn;function Un(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}class Ln extends cn{render(){return q(On||(On=Un(['\n <span class="icon">\n <slot></slot>\n </span>\n '])))}}!function(n,e,t){(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t}(Ln,"styles",[un,o(Cn||(Cn=Un(['\n :host {\n --size: 1.2em;\n\n display: inline;\n line-height: inherit;\n }\n\n .icon {\n -webkit-font-feature-settings: "liga";\n direction: ltr;\n display: inline-block;\n font-family: "Material Symbols Rounded";\n font-size: var(--size);\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n margin-top: -0.1em;\n text-transform: none;\n vertical-align: middle;\n white-space: nowrap;\n word-wrap: normal;\n }\n '])))]),customElements.get("cfa-icon")||customElements.define("cfa-icon",Ln);const Mn=o(Tn||(Tn=function(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}(['\n .serif {\n font-family: var(--font-family-serif) !important;\n }\n\n .sans-serif {\n font-family: var(--font-family-sans-serif) !important;\n }\n\n .normal {\n font-weight: normal !important;\n }\n\n .strong {\n font-weight: bold !important;\n }\n\n italic {\n font-style: italic !important;\n }\n\n .display 1 {\n font-family: var(--font-family-display-1);\n font-size: var(--font-size-display-1);\n font-weight: var(--font-weight-display-1);\n letter-spacing: var(--letter-spacing-display-1);\n line-height: var(--line-height-display-1);\n }\n\n .display-2 {\n font-family: var(--font-family-display-2);\n font-size: var(--font-size-display-2);\n font-weight: var(--font-weight-display-2);\n letter-spacing: var(--letter-spacing-display-2);\n line-height: var(--line-height-display-2);\n }\n\n .h1 {\n font-family: var(--font-family-h1);\n font-size: var(--font-size-h1);\n font-weight: var(--font-weight-h1);\n letter-spacing: var(--letter-spacing-h1);\n line-height: var(--line-height-h1);\n }\n\n .h2 {\n font-family: var(--font-family-h2);\n font-size: var(--font-size-h2);\n font-weight: var(--font-weight-h2);\n letter-spacing: var(--letter-spacing-h2);\n line-height: var(--line-height-h2);\n }\n\n .h3 {\n font-family: var(--font-family-h3);\n font-size: var(--font-size-h3);\n font-weight: var(--font-weight-h3);\n letter-spacing: var(--letter-spacing-h3);\n line-height: var(--line-height-h3);\n }\n\n .h4 {\n font-family: var(--font-family-h4);\n font-size: var(--font-size-h4);\n font-weight: var(--font-weight-h4);\n letter-spacing: var(--letter-spacing-h4);\n line-height: var(--line-height-h4);\n }\n\n .eyebrow {\n font-family: var(--font-family-eyebrow);\n font-size: var(--font-size-eyebrow);\n font-weight: var(--font-weight-eyebrow);\n letter-spacing: var(--letter-spacing-eyebrow);\n line-height: var(--line-height-eyebrow);\n text-transform: uppercase;\n }\n\n .eyebrow-with-line {\n align-items: center;\n color: var(--text-color);\n display: flex;\n font-family: var(--font-family-eyebrow);\n font-size: var(--font-size-eyebrow);\n font-weight: var(--font-weight-eyebrow);\n letter-spacing: var(--letter-spacing-eyebrow);\n line-height: var(--line-height-eyebrow);\n margin-block-end: var(--spacing-layout-half);\n position: relative;\n text-transform: uppercase;\n }\n\n .eyebrow-with-line::after {\n border-block-end: var(--hairline) solid var(--text-color);\n content: "";\n flex-grow: 1;\n margin-left: var(--spacing-component-3);\n }\n\n .small {\n font-size: var(--font-size-small);\n letter-spacing: var(--letter-spacing-small);\n line-height: var(--line-height-small);\n }\n\n .subtle {\n color: var(--text-color-subtle);\n }\n'])));var Hn,Nn,Rn,In,Bn,Fn,qn,Vn,Dn,Wn,Zn,Kn,Jn,Xn,Yn,Gn,Qn,ne,ee,te,re,ie,oe,ae,se,le,ce,he,de,ue,pe,fe,ve,ge,be,me,we,ye,xe,ke,ze,je,_e,Ee,Se,$e,Ae,Pe,Oe,Ce,Te,Ue,Le,Me,He,Ne,Re,Ie,Be,Fe,qe,Ve,De,We,Ze,Ke,Je,Xe,Ye,Ge,Qe,nt,et,tt,rt,it,ot,at,st,lt,ct,ht,dt,ut,pt,ft,vt,gt,bt,mt,wt,yt,xt,kt,zt,jt,_t,Et,St,$t,At,Pt,Ot,Ct,Tt,Ut,Lt,Mt,Ht,Nt;function Rt(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function It(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}class Bt extends cn{render(){return q(Hn||(Hn=Rt(['\n <div class="label small strong" color="','">\n <slot />\n </div>\n '])),this.color)}}function Ft(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}It(Bt,"properties",{color:""}),It(Bt,"styles",[un,Mn,o(Nn||(Nn=Rt(['\n .label {\n --background-color: var(--gray-20);\n --text-color: var(--black, #000);\n\n background-color: var(--background-color);\n color: var(--text-color);\n display: inline-block;\n line-height: 1em;\n padding: var(--spacing-component-2) var(--spacing-component-3);\n }\n\n .label[color="white"] {\n --background-color: var(--white, #fff);\n box-shadow: var(--shadow-small);\n }\n\n .label[color="purple"] {\n --background-color: var(--purple-20);\n }\n\n .label[color="red"] {\n --background-color: var(--red-20);\n }\n\n .label[color="blue"] {\n --background-color: var(--blue-20);\n }\n\n .label[color="green"] {\n --background-color: var(--green-20);\n }\n\n .label[color="yellow"] {\n --background-color: var(--yellow-20);\n }\n '])))]),customElements.get("cfa-label")||customElements.define("cfa-label",Bt);class qt extends cn{render(){return q(Rn||(Rn=Ft([" <slot /> "])))}}function Vt(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function Dt(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}!function(n,e,t){(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t}(qt,"styles",[un,o(In||(In=Ft(["\n :host {\n --bg-color: var(--gray-20);\n --text-color: var(--gray-80);\n\n background-color: var(--bg-color);\n border-radius: var(--spacing-component-3);\n color: var(--text-color);\n display: inline-block;\n font-size: var(--font-size-small);\n font-weight: bold;\n line-height: 1;\n margin-right: var(--spacing-component-1);\n padding: var(--spacing-component-1) var(--spacing-component-2);\n vertical-align: middle;\n }\n "])))]),customElements.get("cfa-pill")||customElements.define("cfa-pill",qt);class Wt extends cn{render(){return q(Bn||(Bn=Vt(["\n <blockquote>\n <slot />\n </blockquote>\n "])))}}function Zt(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function Kt(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Dt(Wt,"properties",{}),Dt(Wt,"styles",[un,o(Fn||(Fn=Vt(["\n :host {\n --color: var(--purple-60);\n\n display: block;\n }\n blockquote {\n border-inline-start: var(--thick) solid var(--color);\n color: var(--color);\n font-size: var(--font-size-h3);\n font-weight: 600;\n line-height: var(--line-height-h3);\n margin: 0;\n padding: var(--spacing-layout-half) var(--spacing-layout-1);\n }\n p {\n margin: 0;\n }\n p + p {\n margin-block-start: var(--spacing-layout-half);\n }\n "])))]),customElements.get("cfa-pullquote")||customElements.define("cfa-pullquote",Wt);class Jt extends cn{render(){return q(qn||(qn=Zt(['\n <figure>\n <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 339.42 264.4" aria-hidden="true" shape-rendering="geometricPrecision">\n <path d="M91.69,126.5c-9.19,0-15.39,1-18.59,3,4.01-16,12.59-32.41,25.8-49.21h0c12.8-15.99,26.61-27.79,41.4-35.39h1.2l.61-1.21c3.19-1.2,4.79-4.2,4.79-9,0-3.2-1.39-6-4.21-8.4L104.9,2.29c-1.61-1.2-3.79-1.79-6.6-1.79l-4.2,1.2c-28.8,20.8-51.4,45.6-67.8,74.4C9.09,106.1.5,137.7.5,170.9c0,28.39,8.21,51.2,24.61,68.39,14.79,16.4,33.4,24.61,55.79,24.61,19.61,0,36.6-7.01,51-21,14-14.4,21-31.4,21-51s-6-34.8-18-46.8c-11.6-12.39-26-18.6-43.21-18.6Z"/>\n <path d="M276.52,126.5c-8.39,0-14.39,1-18,3,4.01-16,12.79-32.4,26.4-49.21,13.21-16,27-27.79,41.4-35.39l.6-1.21c4-1.2,6-4.2,6-9,0-2.8-1.39-5.61-4.21-8.4l-37.8-24c-2-1.2-4.21-1.79-6.6-1.79l-4.2,1.2h-.6c-29.21,20.8-52,45.61-68.39,74.4-17.21,30-25.8,61.6-25.8,94.8,0,28.39,8.21,51.2,24.6,68.39,15.6,16.4,34.61,24.61,57,24.61,19.61,0,36.6-7.01,51-21,14-14.4,21-31.4,21-51s-6-34.8-18-46.8c-11.6-12.39-26.4-18.6-44.4-18.6Z"/>\n </svg>\n <div class="content">\n <blockquote>\n <slot name="text" /><slot />\n </blockquote>\n <figcaption>\n <slot name="attribution" />\n </figcaption>\n </div>\n </figure>\n '])))}}function Xt(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function Yt(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Kt(Jt,"properties",{text:{},attribution:{}}),Kt(Jt,"styles",[un,o(Vn||(Vn=Zt(['\n :host {\n --attribution-color: var(--purple-60);\n container-type: inline-size;\n display: block;\n width: 100%;\n }\n\n figure {\n margin: 0 auto;\n position: relative;\n width: 100%;\n }\n\n @container (min-width: 25rem) {\n figure {\n display: grid;\n grid-template-columns: 3rem 1fr;\n column-gap: var(--spacing-layout-1);\n grid-template-areas: \n "icon content";\n }\n\n svg {\n grid-area: icon;\n margin-block-end: 0;\n }\n\n .content {\n grid-area: content;\n }\n }\n\n blockquote {\n font-family: var(--font-family-serif);\n font-size: var(--font-size-h3);\n line-height: var(--line-height-h3);\n padding: 0;\n margin: 0;\n position: relative;\n }\n\n ::slotted(*) {\n display: inline;\n }\n\n figcaption {\n color: var(--attribution-color);\n font-size: var(--font-size-small);\n line-height: var(--line-height-small);\n font-weight: 600;\n margin-block-start: var(--spacing-layout-half);\n margin-inline: 0;\n position: relative;\n padding-inline-start: calc(var(--spacing-component-4) + var(--spacing-component-2));\n }\n\n figcaption::before {\n background-color: currentColor;\n content: "";\n display: block;\n position: absolute;\n left: 0;\n top: calc(var(--line-height-small) / 2 - var(--hairline) / 2);\n height: var(--hairline);\n width: var(--spacing-component-4);\n }\n\n svg {\n display: block;\n fill: var(--purple-60);\n height: calc(1.5 * var(--spacing-layout-1));\n margin-block-end: var(--spacing-layout-half);\n opacity: 0.5;\n width: auto;\n }\n '])))]),customElements.get("cfa-quote")||customElements.define("cfa-quote",Jt);class Gt extends cn{constructor(){super()}iconTemplate(n){switch(n){case"bluesky":return q(Dn||(Dn=Xt(['\n <svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 568 501">\n <path class="st0" d="M123.1,33.7c65.1,48.9,135.2,148,160.9,201.2,25.7-53.2,95.8-152.3,160.9-201.2,47-35.3,123.1-62.6,123.1,24.3s-9.9,145.7-15.8,166.6c-20.3,72.5-94.2,90.9-159.9,79.7,114.9,19.6,144.1,84.3,81,149.1-119.9,123-172.3-30.9-185.7-70.3-2.5-7.2-3.6-10.6-3.6-7.7,0-2.9-1.2.5-3.6,7.7-13.4,39.4-65.8,193.3-185.7,70.3-63.1-64.8-33.9-129.5,81-149.1-65.7,11.2-139.6-7.3-159.9-79.7C9.9,203.7,0,75.3,0,57.9,0-28.9,76.1-1.6,123.1,33.7Z"/>\n </svg>\n '])));case"dropbox":return q(Wn||(Wn=Xt(['\n <svg\n xmlns="http://www.w3.org/2000/svg"\n height="16"\n width="16.5"\n viewBox="0 0 528 512"\n >\n \x3c!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e\n <path\n d="M264.4 116.3l-132 84.3 132 84.3-132 84.3L0 284.1l132.3-84.3L0 116.3 132.3 32l132.1 84.3zM131.6 395.7l132-84.3 132 84.3-132 84.3-132-84.3zm132.8-111.6l132-84.3-132-83.6L395.7 32 528 116.3l-132.3 84.3L528 284.8l-132.3 84.3-131.3-85z"\n />\n </svg>\n '])));case"facebook":return q(Zn||(Zn=Xt(['\n <svg\n xmlns="http://www.w3.org/2000/svg"\n height="16"\n width="16"\n viewBox="0 0 512 512"\n >\n \x3c!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e\n <path\n d="M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256C0 376 82.7 476.8 194.2 504.5V334.2H141.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287V510.1C413.8 494.8 512 386.9 512 256h0z"\n />\n </svg>\n '])));case"github":return q(Kn||(Kn=Xt(['\n <svg\n xmlns="http://www.w3.org/2000/svg"\n height="16"\n width="15.5"\n viewBox="0 0 496 512"\n >\n \x3c!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e\n <path\n d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3 .3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5 .3-6.2 2.3zm44.2-1.7c-2.9 .7-4.9 2.6-4.6 4.9 .3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3 .7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3 .3 2.9 2.3 3.9 1.6 1 3.6 .7 4.3-.7 .7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3 .7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3 .7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"\n />\n </svg>\n '])));case"google-drive":return q(Jn||(Jn=Xt(['\n <svg\n xmlns="http://www.w3.org/2000/svg"\n height="16"\n width="16"\n viewBox="0 0 512 512"\n >\n \x3c!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e\n <path\n d="M339 314.9L175.4 32h161.2l163.6 282.9H339zm-137.5 23.6L120.9 480h310.5L512 338.5H201.5zM154.1 67.4L0 338.5 80.6 480 237 208.8 154.1 67.4z"\n />\n </svg>\n '])));case"google":return q(Xn||(Xn=Xt(['\n <svg\n xmlns="http://www.w3.org/2000/svg"\n height="16"\n width="15.25"\n viewBox="0 0 488 512"\n >\n \x3c!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e\n <path\n d="M488 261.8C488 403.3 391.1 504 248 504 110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4z"\n />\n </svg>\n '])));case"instagram":return q(Yn||(Yn=Xt(['\n <svg\n xmlns="http://www.w3.org/2000/svg"\n height="16"\n width="14"\n viewBox="0 0 448 512"\n >\n \x3c!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e\n <path\n d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"\n />\n </svg>\n '])));case"linkedin":return q(Gn||(Gn=Xt(['\n <svg\n xmlns="http://www.w3.org/2000/svg"\n height="16"\n width="14"\n viewBox="0 0 448 512"\n >\n \x3c!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e\n <path\n d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"\n />\n </svg>\n '])));case"reddit":return q(Qn||(Qn=Xt(['\n <svg\n xmlns="http://www.w3.org/2000/svg"\n height="16"\n width="16"\n viewBox="0 0 512 512"\n >\n \x3c!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e\n <path\n d="M0 256C0 114.6 114.6 0 256 0S512 114.6 512 256s-114.6 256-256 256L37.1 512c-13.7 0-20.5-16.5-10.9-26.2L75 437C28.7 390.7 0 326.7 0 256zM349.6 153.6c23.6 0 42.7-19.1 42.7-42.7s-19.1-42.7-42.7-42.7c-20.6 0-37.8 14.6-41.8 34c-34.5 3.7-61.4 33-61.4 68.4l0 .2c-37.5 1.6-71.8 12.3-99 29.1c-10.1-7.8-22.8-12.5-36.5-12.5c-33 0-59.8 26.8-59.8 59.8c0 24 14.1 44.6 34.4 54.1c2 69.4 77.6 125.2 170.6 125.2s168.7-55.9 170.6-125.3c20.2-9.6 34.1-30.2 34.1-54c0-33-26.8-59.8-59.8-59.8c-13.7 0-26.3 4.6-36.4 12.4c-27.4-17-62.1-27.7-100-29.1l0-.2c0-25.4 18.9-46.5 43.4-49.9l0 0c4.4 18.8 21.3 32.8 41.5 32.8zM177.1 246.9c16.7 0 29.5 17.6 28.5 39.3s-13.5 29.6-30.3 29.6s-31.4-8.8-30.4-30.5s15.4-38.3 32.1-38.3zm190.1 38.3c1 21.7-13.7 30.5-30.4 30.5s-29.3-7.9-30.3-29.6c-1-21.7 11.8-39.3 28.5-39.3s31.2 16.6 32.1 38.3zm-48.1 56.7c-10.3 24.6-34.6 41.9-63 41.9s-52.7-17.3-63-41.9c-1.2-2.9 .8-6.2 3.9-6.5c18.4-1.9 38.3-2.9 59.1-2.9s40.7 1 59.1 2.9c3.1 .3 5.1 3.6 3.9 6.5z"\n />\n </svg>\n '])));case"soundcloud":return q(ne||(ne=Xt(['\n <svg\n xmlns="http://www.w3.org/2000/svg"\n height="16"\n width="20"\n viewBox="0 0 640 512"\n >\n \x3c!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e\n <path\n d="M111.4 256.3l5.8 65-5.8 68.3c-.3 2.5-2.2 4.4-4.4 4.4s-4.2-1.9-4.2-4.4l-5.6-68.3 5.6-65c0-2.2 1.9-4.2 4.2-4.2 2.2 0 4.1 2 4.4 4.2zm21.4-45.6c-2.8 0-4.7 2.2-5 5l-5 105.6 5 68.3c.3 2.8 2.2 5 5 5 2.5 0 4.7-2.2 4.7-5l5.8-68.3-5.8-105.6c0-2.8-2.2-5-4.7-5zm25.5-24.1c-3.1 0-5.3 2.2-5.6 5.3l-4.4 130 4.4 67.8c.3 3.1 2.5 5.3 5.6 5.3 2.8 0 5.3-2.2 5.3-5.3l5.3-67.8-5.3-130c0-3.1-2.5-5.3-5.3-5.3zM7.2 283.2c-1.4 0-2.2 1.1-2.5 2.5L0 321.3l4.7 35c.3 1.4 1.1 2.5 2.5 2.5s2.2-1.1 2.5-2.5l5.6-35-5.6-35.6c-.3-1.4-1.1-2.5-2.5-2.5zm23.6-21.9c-1.4 0-2.5 1.1-2.5 2.5l-6.4 57.5 6.4 56.1c0 1.7 1.1 2.8 2.5 2.8s2.5-1.1 2.8-2.5l7.2-56.4-7.2-57.5c-.3-1.4-1.4-2.5-2.8-2.5zm25.3-11.4c-1.7 0-3.1 1.4-3.3 3.3L47 321.3l5.8 65.8c.3 1.7 1.7 3.1 3.3 3.1 1.7 0 3.1-1.4 3.1-3.1l6.9-65.8-6.9-68.1c0-1.9-1.4-3.3-3.1-3.3zm25.3-2.2c-1.9 0-3.6 1.4-3.6 3.6l-5.8 70 5.8 67.8c0 2.2 1.7 3.6 3.6 3.6s3.6-1.4 3.9-3.6l6.4-67.8-6.4-70c-.3-2.2-2-3.6-3.9-3.6zm241.4-110.9c-1.1-.8-2.8-1.4-4.2-1.4-2.2 0-4.2 .8-5.6 1.9-1.9 1.7-3.1 4.2-3.3 6.7v.8l-3.3 176.7 1.7 32.5 1.7 31.7c.3 4.7 4.2 8.6 8.9 8.6s8.6-3.9 8.6-8.6l3.9-64.2-3.9-177.5c-.4-3-2-5.8-4.5-7.2zm-26.7 15.3c-1.4-.8-2.8-1.4-4.4-1.4s-3.1 .6-4.4 1.4c-2.2 1.4-3.6 3.9-3.6 6.7l-.3 1.7-2.8 160.8s0 .3 3.1 65.6v.3c0 1.7 .6 3.3 1.7 4.7 1.7 1.9 3.9 3.1 6.4 3.1 2.2 0 4.2-1.1 5.6-2.5 1.7-1.4 2.5-3.3 2.5-5.6l.3-6.7 3.1-58.6-3.3-162.8c-.3-2.8-1.7-5.3-3.9-6.7zm-111.4 22.5c-3.1 0-5.8 2.8-5.8 6.1l-4.4 140.6 4.4 67.2c.3 3.3 2.8 5.8 5.8 5.8 3.3 0 5.8-2.5 6.1-5.8l5-67.2-5-140.6c-.2-3.3-2.7-6.1-6.1-6.1zm376.7 62.8c-10.8 0-21.1 2.2-30.6 6.1-6.4-70.8-65.8-126.4-138.3-126.4-17.8 0-35 3.3-50.3 9.4-6.1 2.2-7.8 4.4-7.8 9.2v249.7c0 5 3.9 8.6 8.6 9.2h218.3c43.3 0 78.6-35 78.6-78.3 .1-43.6-35.2-78.9-78.5-78.9zm-296.7-60.3c-4.2 0-7.5 3.3-7.8 7.8l-3.3 136.7 3.3 65.6c.3 4.2 3.6 7.5 7.8 7.5 4.2 0 7.5-3.3 7.5-7.5l3.9-65.6-3.9-136.7c-.3-4.5-3.3-7.8-7.5-7.8zm-53.6-7.8c-3.3 0-6.4 3.1-6.4 6.7l-3.9 145.3 3.9 66.9c.3 3.6 3.1 6.4 6.4 6.4 3.6 0 6.4-2.8 6.7-6.4l4.4-66.9-4.4-145.3c-.3-3.6-3.1-6.7-6.7-6.7zm26.7 3.4c-3.9 0-6.9 3.1-6.9 6.9L227 321.3l3.9 66.4c.3 3.9 3.1 6.9 6.9 6.9s6.9-3.1 6.9-6.9l4.2-66.4-4.2-141.7c0-3.9-3-6.9-6.9-6.9z"\n />\n </svg>\n '])));case"threads":return q(ee||(ee=Xt(['\n <svg\n xmlns="http://www.w3.org/2000/svg"\n height="16"\n width="14"\n viewBox="0 0 448 512"\n >\n \x3c!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e\n <path\n d="M331.5 235.7c2.2 .9 4.2 1.9 6.3 2.8c29.2 14.1 50.6 35.2 61.8 61.4c15.7 36.5 17.2 95.8-30.3 143.2c-36.2 36.2-80.3 52.5-142.6 53h-.3c-70.2-.5-124.1-24.1-160.4-70.2c-32.3-41-48.9-98.1-49.5-169.6V256v-.2C17 184.3 33.6 127.2 65.9 86.2C102.2 40.1 156.2 16.5 226.4 16h.3c70.3 .5 124.9 24 162.3 69.9c18.4 22.7 32 50 40.6 81.7l-40.4 10.8c-7.1-25.8-17.8-47.8-32.2-65.4c-29.2-35.8-73-54.2-130.5-54.6c-57 .5-100.1 18.8-128.2 54.4C72.1 146.1 58.5 194.3 58 256c.5 61.7 14.1 109.9 40.3 143.3c28 35.6 71.2 53.9 128.2 54.4c51.4-.4 85.4-12.6 113.7-40.9c32.3-32.2 31.7-71.8 21.4-95.9c-6.1-14.2-17.1-26-31.9-34.9c-3.7 26.9-11.8 48.3-24.7 64.8c-17.1 21.8-41.4 33.6-72.7 35.3c-23.6 1.3-46.3-4.4-63.9-16c-20.8-13.8-33-34.8-34.3-59.3c-2.5-48.3 35.7-83 95.2-86.4c21.1-1.2 40.9-.3 59.2 2.8c-2.4-14.8-7.3-26.6-14.6-35.2c-10-11.7-25.6-17.7-46.2-17.8H227c-16.6 0-39 4.6-53.3 26.3l-34.4-23.6c19.2-29.1 50.3-45.1 87.8-45.1h.8c62.6 .4 99.9 39.5 103.7 107.7l-.2 .2zm-156 68.8c1.3 25.1 28.4 36.8 54.6 35.3c25.6-1.4 54.6-11.4 59.5-73.2c-13.2-2.9-27.8-4.4-43.4-4.4c-4.8 0-9.6 .1-14.4 .4c-42.9 2.4-57.2 23.2-56.2 41.8l-.1 .1z"\n />\n </svg>\n '])));case"twitter":return q(te||(te=Xt(['\n <svg\n xmlns="http://www.w3.org/2000/svg"\n height="16"\n width="16"\n viewBox="0 0 512 512"\n >\n \x3c!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e\n <path\n d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"\n />\n </svg>\n '])));case"wikipedia":return q(re||(re=Xt(['\n <svg\n xmlns="http://www.w3.org/2000/svg"\n height="16"\n width="20"\n viewBox="0 0 640 512"\n >\n \x3c!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e\n <path\n d="M640 51.2l-.3 12.2c-28.1 .8-45 15.8-55.8 40.3-25 57.8-103.3 240-155.3 358.6H415l-81.9-193.1c-32.5 63.6-68.3 130-99.2 193.1-.3 .3-15 0-15-.3C172 352.3 122.8 243.4 75.8 133.4 64.4 106.7 26.4 63.4 .2 63.7c0-3.1-.3-10-.3-14.2h161.9v13.9c-19.2 1.1-52.8 13.3-43.3 34.2 21.9 49.7 103.6 240.3 125.6 288.6 15-29.7 57.8-109.2 75.3-142.8-13.9-28.3-58.6-133.9-72.8-160-9.7-17.8-36.1-19.4-55.8-19.7V49.8l142.5 .3v13.1c-19.4 .6-38.1 7.8-29.4 26.1 18.9 40 30.6 68.1 48.1 104.7 5.6-10.8 34.7-69.4 48.1-100.8 8.9-20.6-3.9-28.6-38.6-29.4 .3-3.6 0-10.3 .3-13.6 44.4-.3 111.1-.3 123.1-.6v13.6c-22.5 .8-45.8 12.8-58.1 31.7l-59.2 122.8c6.4 16.1 63.3 142.8 69.2 156.7L559.2 91.8c-8.6-23.1-36.4-28.1-47.2-28.3V49.6l127.8 1.1 .2 .5z"\n />\n </svg>\n '])));case"youtube":return q(ie||(ie=Xt(['\n <svg\n xmlns="http://www.w3.org/2000/svg"\n height="16"\n width="18"\n viewBox="0 0 576 512"\n >\n \x3c!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e\n <path\n d="M549.7 124.1c-6.3-23.7-24.8-42.3-48.3-48.6C458.8 64 288 64 288 64S117.2 64 74.6 75.5c-23.5 6.3-42 24.9-48.3 48.6-11.4 42.9-11.4 132.3-11.4 132.3s0 89.4 11.4 132.3c6.3 23.7 24.8 41.5 48.3 47.8C117.2 448 288 448 288 448s170.8 0 213.4-11.5c23.5-6.3 42-24.2 48.3-47.8 11.4-42.9 11.4-132.3 11.4-132.3s0-89.4-11.4-132.3zm-317.5 213.5V175.2l142.7 81.2-142.7 81.2z"\n />\n </svg>\n '])));default:return""}}render(){return q(oe||(oe=Xt(['\n <span class="social-icon ','" aria-hidden="true">\n ',"\n </span>\n "])),this.icon,this.iconTemplate(this.icon))}}function Qt(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function nr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Yt(Gt,"properties",{icon:""}),Yt(Gt,"styles",[un,o(ae||(ae=Xt(["\n .social-icon {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n }\n\n svg {\n fill: currentColor;\n height: 1em;\n vertical-align: -0.125em;\n width: 1em;\n }\n "])))]),customElements.get("cfa-social-icon")||customElements.define("cfa-social-icon",Gt);class er extends cn{constructor(){super(),this.animated=!0}firstUpdated(){const n=this.shadowRoot.querySelector(".stat");new IntersectionObserver(n=>{n.forEach(n=>{n.isIntersecting&&n.target.classList.add("is-visible")})},{rootMargin:"0px 0px -20% 0px"}).observe(n)}render(){return q(se||(se=Qt(['\n <div class="stat ','">\n <div class="above-label strong">','</div>\n <div class="figure display-2">\n <span>','</span>\n </div>\n <div class="below-label strong">',"</div>\n </div>\n "])),this.animated?"is-animated":"",this.beforeLabel,this.figure,this.afterLabel)}}function tr(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function rr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}nr(er,"properties",{beforeLabel:{},figure:{},afterLabel:{},animated:{}}),nr(er,"styles",[un,Mn,o(le||(le=Qt(["\n :host {\n --text-color: var(--text-dark);\n --highlight-color: var(--purple-20);\n --highlight-thickness: var(--spacing-layout-half);\n\n align-self: center;\n display: block;\n margin-inline: auto;\n }\n .stat {\n align-items: center;\n color: var(--text-color);\n display: flex;\n flex-direction: column;\n text-align: center;\n }\n .figure {\n min-width: var(--spacing-layout-3);\n padding-inline: var(--spacing-component-2);\n }\n .figure > span {\n background-image: linear-gradient(\n var(--highlight-color),\n var(--highlight-color)\n );\n background-size: 100% var(--highlight-thickness);\n background-position: bottom 0.15em left;\n background-repeat: no-repeat;\n padding-inline: 0.25em;\n }\n /* Animation */\n @media (prefers-reduced-motion: no-preference) {\n .stat.is-animated .figure > span {\n background-size: 0% var(--highlight-thickness);\n transition: background-size 1s ease;\n }\n .stat.is-animated.is-visible .figure > span {\n background-size: 100% var(--highlight-thickness);\n }\n }\n "])))]),customElements.get("cfa-stat")||customElements.define("cfa-stat",er);class ir extends cn{constructor(){super(),this.open=!1}toggle(){this.open=!this.open}handleKeyPress(n){"Enter"!==n.key&&" "!==n.key||this.toggle()}render(){return q(ce||(ce=tr(['\n <div class="item">\n <div\n class="header"\n role="button"\n aria-expanded=','\n tabindex="0"\n @click=',"\n @keypress=",'\n >\n <div class="title">\n <slot name="title"></slot>\n </div>\n <span class="icon" aria-hidden="true">\n ','\n </span>\n </div>\n <div\n class="body ','"\n role="region"\n aria-hidden=',"\n >\n <slot></slot>\n </div>\n </div>\n "])),this.open?"true":"false",this.toggle,this.handleKeyPress,this.open?q(he||(he=tr(["<cfa-icon>expand_less</cfa-icon>"]))):q(de||(de=tr(["<cfa-icon>expand_more</cfa-icon>"]))),this.open?"open":"",this.open?"false":"true")}}rr(ir,"properties",{open:{type:Boolean}}),rr(ir,"styles",[un,o(pe||(pe=tr(["\n :host {\n --color: var(--purple-60);\n --hover-bg-color: var(--blue-20);\n\n display: block;\n }\n\n .item {\n border-bottom: var(--thin) solid var(--black-20);\n max-width: var(--column-span-8);\n margin-inline: auto;\n background-color: var(--bg-color);\n }\n\n .header {\n align-items: center;\n color: var(--color);\n cursor: pointer;\n display: flex;\n flex-direction: row;\n padding-block: var(--spacing-component-3);\n }\n\n .header:hover {\n background-color: var(--hover-bg-color);\n box-shadow:\n var(--spacing-component-3) 0 var(--blue-20),\n calc(-1 * var(--spacing-component-3)) 0 var(--blue-20);\n }\n\n .header:focus {\n outline: none;\n }\n\n .title {\n flex: 1;\n }\n\n .title ::slotted(*) {\n font-family: var(--font-family-sans-serif) !important;\n font-size: var(--base-font-size) !important;\n }\n\n .icon {\n flex: 0;\n }\n\n .body {\n opacity: 0;\n max-height: 0;\n overflow: hidden;\n }\n\n .body.open {\n max-height: unset;\n opacity: 1;\n padding-block: var(--spacing-layout-half) var(--spacing-layout-1);\n }\n\n .body ::slotted(*) {\n margin-block-start: 0 !important;\n }\n "])))]);class or extends cn{render(){return q(ue||(ue=tr(['\n <div role="tablist">\n <slot></slot>\n </div>\n '])))}}function ar(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function sr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}rr(or,"styles",o(fe||(fe=tr(["\n :host {\n display: block;\n }\n "])))),customElements.get("cfa-accordion-item")||customElements.define("cfa-accordion-item",ir),customElements.get("cfa-accordion")||customElements.define("cfa-accordion",or);class lr extends cn{firstUpdated(){const n=this.shadowRoot.querySelector(".content"),e=n=>{n.classList.toggle("is-overflowing",n.scrollWidth>n.clientWidth)};"ResizeObserver"in window&&new ResizeObserver(n=>{e(n[0].target)}).observe(n),"MutationObserver"in window&&new MutationObserver(()=>{e(n)}).observe(n,{childList:!0}),e(n)}render(){return q(ve||(ve=ar(['\n <div class="bar">\n <div class="content">\n <slot></slot>\n </div>\n </div>\n '])))}}function cr(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function hr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}sr(lr,"properties",{theme:{}}),sr(lr,"styles",[un,o(ge||(ge=ar(['\n :host {\n --bg-color: var(--purple-80);\n --text-color: var(--white);\n --link-color: var(--white);\n --link-hover-color: var(--white);\n --scrollbar-color: var(--white);\n --spacing: var(--spacing-layout-half);\n\n display: block;\n }\n\n .bar {\n background-color: var(--bg-color);\n color: var(--text-color);\n\n a {\n color: var(--link-color);\n }\n\n a:hover {\n color: var(--link-hover-color);\n }\n }\n\n .content {\n display: flex;\n column-gap: var(--spacing);\n justify-content: center; \n overflow-x: auto;\n overflow-y: hidden;\n padding-bottom: var(--spacing-layout-half);\n padding-top: var(--spacing-layout-half);\n scrollbar-color: var(--scrollbar-color) var(--bg-color);\n scrollbar-width: thin;\n\n &::before,\n &::after {\n content: "";\n flex-basis: calc(var(--outer-margin) - var(--spacing));\n flex-shrink: 0;\n }\n }\n \n .content.is-overflowing {\n justify-content: start; \n }\n\n ::slotted(*) {\n max-width: none !important;\n white-space: nowrap !important;\n }\n '])))]),customElements.get("cfa-bar")||customElements.define("cfa-bar",lr);class dr extends cn{render(){return q(be||(be=cr(['\n <div class="box ','">\n <slot />\n </div>\n '])),this.theme?"box--"+this.theme:"")}}function ur(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function pr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}hr(dr,"properties",{theme:{}}),hr(dr,"styles",[un,o(me||(me=cr(["\n :host {\n --bg-color: var(--white);\n --padding: var(--spacing-component-4);\n --shadow: var(--shadow-small);\n --text-color: var(--black);\n\n display: flex;\n flex: 1;\n }\n\n .box {\n background-color: var(--bg-color);\n box-shadow: var(--shadow);\n color: var(--text-color, #000);\n display: flex;\n flex-direction: column;\n gap: var(--spacing-layout-half);\n padding: var(--padding);\n width: 100%;\n }\n\n .box--rounded {\n border-radius: var(--spacing-layout-half, 0.5rem);\n }\n\n ::slotted(*) {\n --spacing: var(--spacing-layout-half);\n\n max-width: 100%;\n }\n "])))]),customElements.get("cfa-box")||customElements.define("cfa-box",dr);class fr extends cn{handleSlotchange(n){const e=n.target.assignedNodes({flatten:!0});console.log(e);const t=this.shadowRoot.querySelector(".breadcrumbs");t.innerHTML="",e.forEach(n=>{"UL"===n.tagName&&n.querySelectorAll("li").forEach(n=>{t.appendChild(n.cloneNode(!0))})})}render(){return q(we||(we=ur(["\n <slot @slotchange=",'></slot>\n <ul class="breadcrumbs"></ul>\n '])),this.handleSlotchange)}}function vr(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}pr(fr,"properties",{}),pr(fr,"styles",[un,o(ye||(ye=ur(['\n slot {\n display: none;\n }\n\n :host {\n display: block;\n }\n\n .breadcrumbs {\n margin: 0;\n margin-inline: calc(-1 * var(--outer-margin));\n overflow-x: auto;\n overflow-y: hidden;\n padding: 0;\n scrollbar-width: none;\n white-space: nowrap;\n }\n\n .breadcrumbs::before,\n .breadcrumbs::after {\n content: "";\n display: inline-block;\n width: var(--outer-margin);\n }\n\n .breadcrumbs > * {\n display: inline-block;\n font-size: var(--font-size-small);\n font-weight: 600;\n line-height: var(--line-height-small);\n margin: 0;\n padding: 0;\n }\n\n .breadcrumbs > *:not(:last-child)::after {\n content: "/";\n opacity: 0.5;\n padding-inline: 0.75em;\n }\n\n .breadcrumbs a {\n color: var(--link-color);\n text-decoration: none;\n }\n '])))]),customElements.get("cfa-breadcrumbs")||customElements.define("cfa-breadcrumbs",fr);class gr extends cn{render(){return q(xe||(xe=vr(['\n <div class="callout">\n <div class="icon">\n <cfa-icon>info</cfa-icon>\n </div>\n <div class="text">\n <slot></slot>\n </div>\n </div>\n '])))}}function br(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function mr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}!function(n,e,t){(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t}(gr,"styles",[un,o(ke||(ke=vr(["\n :host {\n --background: var(--white);\n --icon-color: var(--purple-80);\n --link-color: var(--base-link-color);\n --link-hover-color: var(--base-link-hover-color);\n --text-color: var(--black);\n\n display: block;\n }\n\n .callout {\n align-items: flex-start;\n background: var(--background);\n box-shadow: var(--shadow-medium);\n color: var(--text-color);\n display: flex;\n flex-direction: row;\n gap: var(--spacing-component-2);\n padding: var(--spacing-component-3);\n }\n\n .icon {\n color: var(--icon-color);\n flex-direction: column;\n flex-grow: 0;\n font-size: var(--font-size-h3);\n height: 100%;\n margin-block-start: -0.075em;\n margin-inline-end: var(--spacing-component-2);\n }\n\n .callout + .callout {\n margin-top: var(--spacing-layout-half);\n }\n "])))]),customElements.get("cfa-callout")||customElements.define("cfa-callout",gr);class wr extends cn{visualTemplate(){let n;return"image"===this.visualType?n=q(ze||(ze=br(['\n <div class="visual image">\n <div class="fallback-image">\n ',"\n </div>\n ","\n </div>\n "])),V(je||(je=br(['\n <svg \n width="1600" \n height="900" \n viewBox="0 0 1600 900" \n fill="none" \n preserveAspectRatio="xMinYMin slice"\n xmlns="http://www.w3.org/2000/svg"\n >\n <g clip-path="url(#clip0)">\n <rect width="1600" height="900" fill="#2B1A78"/>\n <path fill-rule="evenodd" clip-rule="evenodd" d="M1218.12 -444.87C1375.54 -448.403 1528.96 -379.695 1624.93 -254.874C1718.97 -132.569 1729.75 28.0324 1697.74 178.942C1664.98 333.396 1596.67 491.622 1452.8 556.721C1311.8 620.52 1155.18 556.724 1017.04 486.944C883.26 419.362 752.204 329.485 715.393 184.213C677.697 35.4535 737.759 -117.225 833.568 -237.116C929.253 -356.852 1064.86 -441.431 1218.12 -444.87Z" fill="#5650BE"/>\n <path fill-rule="evenodd" clip-rule="evenodd" d="M372.893 247.378C457.708 243.989 548.299 262.758 600.503 329.652C652.21 395.908 640.741 485.984 623.238 568.169C605.287 652.459 579.269 741.096 503.945 783.041C424.143 827.479 324.366 822.072 243.48 779.638C165.755 738.862 118.175 659.045 102.906 572.65C88.5877 491.632 114.457 410.294 167.015 346.974C218.23 285.272 292.743 250.581 372.893 247.378Z" fill="#5650BE"/>\n </g>\n <defs>\n <clipPath id="clip0">\n <rect width="1600" height="900" fill="white"/>\n </clipPath>\n </defs>\n </svg>\n ']))),this.visualUrl?q(_e||(_e=br(['\n <picture>\n <source srcset="','" />\n <img\n src="','"\n alt="','"\n loading="lazy"\n onerror="this.style.display=\'none\'"\n />\n </picture>\n '])),this.visualUrl,this.visualThumbnailUrl,this.visualAltText):W):"logo"===this.visualType&&(n=q(Ee||(Ee=br(['\n <div class="visual logo">\n <picture>\n <source srcset="','" />\n <img\n src="','"\n alt="','"\n loading="lazy"\n />\n </picture>\n </div>\n '])),this.visualUrl,this.visualThumbnailUrl,this.visualAltText)),n}cardContentTemplate(){return q(Se||(Se=br(["\n ",'\n <div class="content">\n <div class="header">\n <div>\n ',"\n ","\n </div>\n ",'\n </div>\n <div class="body">\n ',"\n ","\n ","\n </div>\n </div>\n "])),this.visualTemplate(),this.eyebrow?q($e||($e=br([' <div class="eyebrow">',"</div> "])),this.eyebrow):W,this.title?q(Ae||(Ae=br([' <div class="h3 title">',"</div> "])),this.title):W,this.label?q(Pe||(Pe=br(['\n <div>\n <cfa-label color="green">',"</cfa-label>\n </div>\n "])),this.label):W,this.text?q(Oe||(Oe=br([' <div class="small" .innerHTML="','"></div> '])),this.text):W,this.metaText?q(Ce||(Ce=br(['\n <div\n class="meta-text small"\n .innerHTML="','"\n ></div>\n '])),this.metaText):W,this.actionLabel?q(Te||(Te=br([' <div class="action-label">',"</div> "])),this.actionLabel):W)}render(){return q(Ue||(Ue=br(["\n ","\n "])),this.linkUrl?q(Le||(Le=br(['\n <a\n href="','"\n target="','"\n rel="','"\n class="card ','"\n >\n ',"\n </a>\n "])),this.linkUrl,this.linkTarget,"_blank"==this.linkTarget?"noopener":W,this.theme?"card--"+this.theme:"",this.cardContentTemplate()):q(Me||(Me=br(['\n <div class="card ','">\n ',"\n </div>\n "])),this.theme?"card--"+this.theme:"",this.cardContentTemplate()))}}function yr(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function xr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}mr(wr,"properties",{theme:{},linkUrl:{},linkTarget:{},visualType:{},visualUrl:{},visualThumbnailUrl:{},visualAltText:{},eyebrow:{},label:{},title:{},text:{},metaText:{},actionLabel:{}}),mr(wr,"styles",[un,Mn,o(He||(He=br(['\n :host {\n --action-border-color: var(--purple-20);\n --action-border-hover-color: var(--red-60);\n --action-text-color: var(--purple-60);\n --action-text-hover-color: var(--red-60);\n --bg-color: var(--white);\n --padding: var(--spacing-component-4);\n --text-color: var(--black);\n\n display: flex;\n flex-direction: column;\n margin-inline: auto;\n max-width: 100%;\n width: 100%;\n }\n\n .card,\n a.card {\n box-shadow: var(--shadow-small);\n border: var(--hairline) solid var(--gray-20);\n color: var(--text-color);\n display: flex;\n flex-direction: column;\n flex: 1;\n height: 100%;\n text-decoration: none;\n transition: 500ms;\n }\n\n a.card:hover {\n --action-color: var(--action-hover-color);\n\n box-shadow: var(--shadow-medium);\n }\n\n .content {\n background-color: var(--bg-color);\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n padding: var(--padding);\n }\n\n .header {\n align-items: start;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-layout-half);\n margin-block-end: var(--spacing-layout-half);\n }\n\n .body {\n display: flex;\n flex-flow: column nowrap;\n gap: var(--spacing-layout-half);\n height: 100%;\n text-align: var(--text-alignment, start);\n }\n\n .eyebrow {\n color: var(--purple-60);\n }\n\n .eyebrow + * {\n margin-block-start: var(--spacing-component-2);\n }\n\n .meta-text {\n color: var(--gray-60);\n }\n\n .action-label {\n align-self: flex-start;\n color: var(--action-text-color);\n display: inline-block;\n font-size: var(--font-size-small);\n font-weight: bold;\n margin-block-start: auto;\n padding-block-start: var(--spacing-component-3);\n }\n\n a:hover .action-label {\n color: var(--action-text-hover-color);\n }\n\n .action-label::after {\n background: linear-gradient(\n to top,\n var(--action-border-hover-color) 0% 50%,\n var(--action-border-color) 50% 100%\n );\n background-position: 0% 0%;\n background-size: 100% 200%;\n content: "";\n display: block;\n height: var(--spacing-component-2);\n transition: background-position 0.3s;\n }\n\n a:hover .action-label::after {\n background-position: 0% 100%;\n }\n\n .visual {\n box-sizing: border-box;\n display: flex;\n height: auto;\n height: var(--spacing-layout-7);\n position: relative;\n width: 100%;\n }\n\n img {\n height: 100%;\n object-fit: cover;\n width: 100%;\n }\n\n .fallback-image {\n background-color: var(--purple-80);\n position: absolute;\n inline-start: 0;\n block-start: 0;\n width: 100%;\n height: 100%;\n z-index: 0;\n }\n\n .fallback-image svg {\n height: 100%;\n width: 100%;\n }\n\n .visual picture {\n position: relative;\n z-index: 1;\n width: 100%;\n }\n\n .image::after {\n block-end: 0;\n block-start: 0;\n bottom: 0;\n box-shadow: inset 0 -50px 50px -50px var(--black-60);\n content: "";\n inline-end: 0;\n inline-start: 0;\n position: absolute;\n z-index: 2;\n }\n\n .logo {\n background-color: var(--white, #fff);\n box-sizing: border-box;\n border-block-end: 1px solid var(--gray-20);\n padding: var(--spacing-component-5);\n }\n\n .logo img {\n object-fit: contain;\n }\n\n /* --- */\n\n /* Theme: Compact Card */\n\n .card--compact {\n --padding: var(--spacing-component-3);\n }\n\n .card--compact .title {\n font-size: var(--font-size-h4);\n line-height: var(--line-height-h4);\n }\n\n .card--compact .action-label {\n padding-block-start: 0;\n }\n\n /* --- */\n\n /* Theme: Horizontal Card */\n\n @media (min-width: 768px) {\n .card--horizontal,\n a.card--horizontal {\n align-items: stretch;\n flex-direction: row;\n }\n\n .card--horizontal .visual {\n aspect-ratio: initial;\n height: auto;\n flex: 0 0 50%;\n }\n\n .card--horizontal .logo {\n border-block-end: 0;\n border-inline-end: 1px solid var(--gray-20);\n }\n }\n\n /* --- */\n\n /* Theme: Horizontal Compact Card */\n\n @media (min-width: 768px) {\n .card--horizontal-compact,\n a.card--horizontal-compact {\n align-items: stretch;\n flex-direction: row;\n }\n\n .card--horizontal-compact .visual {\n aspect-ratio: initial;\n flex: 0 0 34%;\n height: auto;\n position: relative;\n }\n\n .card--horizontal-compact .image picture {\n position: absolute;\n height: 100%;\n width: 100%;\n }\n\n .card--horizontal-compact .logo {\n border-block-end: 0;\n border-right: 1px solid var(--gray-20);\n padding: var(--spacing-component-4);\n }\n }\n\n .card--horizontal-compact,\n a.card--horizontal-compact {\n --padding: var(--spacing-component-3);\n }\n\n .card--horizontal-compact .body {\n gap: var(--spacing-component-2);\n }\n\n .card--horizontal-compact .header {\n margin-block-end: var(--spacing-component-2);\n }\n\n .card--horizontal-compact .title {\n font-size: var(--font-size-h4);\n line-height: var(--line-height-h4);\n }\n\n .card--horizontal-compact .action-label {\n padding-block-start: var(--spacing-component-2);\n }\n '])))]),customElements.get("cfa-card")||customElements.define("cfa-card",wr);class kr extends cn{cardContentTemplate(){let n;return n=this.imageUrl?q(Ne||(Ne=yr([' <img src="','" alt="','" /> '])),this.imageUrl,this.name):q(Re||(Re=yr([" "," "])),this.name),n}render(){return q(Ie||(Ie=yr(["\n ","\n "])),this.linkUrl?q(Be||(Be=yr(['\n <a\n href="','"\n target="','"\n rel="','"\n class="card"\n >\n ',"\n </a>\n "])),this.linkUrl,this.linkTarget||"_self","_blank"==this.linkTarget?"noopener noreferrer":W,this.cardContentTemplate()):q(Fe||(Fe=yr([' <div class="card">',"</div> "])),this.cardContentTemplate()))}}function zr(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function jr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}xr(kr,"properties",{name:{},imageUrl:{},linkUrl:{},linkTarget:{}}),xr(kr,"styles",[un,Mn,o(qe||(qe=yr(["\n :host {\n --bg-color: var(--blue-20);\n --text-color: var(--black);\n\n align-items: stretch;\n display: flex;\n flex-direction: row;\n }\n\n .card {\n align-items: center;\n background-color: var(--white);\n border: var(--hairline) solid var(--black-10);\n color: var(--text-color);\n display: flex;\n flex-direction: column;\n font-size: var(--font-size-h3);\n font-weight: bold;\n justify-content: center;\n line-height: var(--line-height-h4);\n margin-inline: auto;\n max-width: 100%;\n min-height: var(--spacing-layout-8);\n padding: var(--spacing-component-5);\n text-align: center;\n text-decoration: none;\n transition: box-shadow 1s;\n width: var(--column-span-4);\n }\n\n a.card {\n box-shadow: var(--shadow-small);\n color: var(--text-color);\n }\n\n a.card:hover {\n box-shadow: var(--shadow-medium);\n }\n\n img {\n aspect-ratio: 2 / 1;\n object-fit: contain;\n width: 100%;\n }\n "])))]),customElements.get("cfa-logo-card")||customElements.define("cfa-logo-card",kr);class _r extends cn{handleSlotchange(n){const e=n.target.assignedNodes({flatten:!0}),t=this.shadowRoot.querySelector("ul");t.innerHTML="",e.forEach(n=>{"UL"===n.tagName&&n.querySelectorAll("li").forEach(n=>{t.appendChild(n.cloneNode(!0))})})}render(){return q(Ve||(Ve=zr(["\n <slot @slotchange=",'></slot>\n <nav data-font-size="','">\n <ul></ul>\n </nav>\n '])),this.handleSlotchange,this.fontSize)}}function Er(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function Sr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}jr(_r,"properties",{fontSize:{}}),jr(_r,"styles",[un,o(De||(De=zr(['\n :host {\n --link-color: var(--purple-80);\n --link-hover-color: var(--purple-80);\n\n display: block;\n font-family: var(--font-family-sans-serif);\n }\n\n slot {\n display: none;\n }\n\n nav {\n font-size: var(--font-size-base);\n line-height: var(--line-height-base);\n }\n\n nav[data-font-size="small"] {\n font-size: var(--font-size-small);\n line-height: var(--line-height-small);\n }\n\n nav[data-font-size="large"] {\n font-size: var(--font-size-h3);\n line-height: var(--line-height-h3);\n }\n\n ul {\n display: flex;\n flex-direction: row;\n gap: var(--spacing-component-1);\n list-style: none;\n margin: 0;\n padding: 0;\n }\n\n li {\n flex-shrink: 0;\n margin: 0;\n padding: 0;\n }\n\n li.is-active a {\n box-shadow: inset 0 calc(-1 * var(--medium)) var(--link-hover-color);\n }\n\n a {\n box-shadow: 0;\n color: var(--link-color);\n display: block;\n font-weight: bold;\n height: 100%;\n padding: var(--spacing-component-2) var(--spacing-component-3);\n text-decoration: none;\n transition: box-shadow 0.25s ease-in-out;\n }\n\n a:hover {\n box-shadow: inset 0 calc(-1 * var(--medium)) var(--link-hover-color);\n }\n '])))]),customElements.get("cfa-nav")||customElements.define("cfa-nav",_r);class $r extends cn{handleSlotchange(n){const e=n.target.assignedNodes({flatten:!0}),t=this.shadowRoot.querySelector("ul"),r=[];e.forEach(n=>{"UL"===n.tagName&&n.querySelectorAll("li").forEach(n=>{var e;t.appendChild(n.cloneNode(!0));const i=null===(e=n.querySelector("a"))||void 0===e?void 0:e.getAttribute("href");i&&i.startsWith("#")&&r.push(i.substring(1))})}),window.addEventListener("scroll",()=>this.updateActiveNav(r))}updateActiveNav(n){const e=window.scrollY;let t=null;if(n.forEach(n=>{const r=document.getElementById(n);r&&r.offsetTop<=e+256&&(t=n)}),this.shadowRoot.querySelectorAll("li a").forEach(n=>{n.classList.remove("is-active")}),t){const n=this.shadowRoot.querySelector('li a[href*="#'.concat(t,'"]'));n&&n.classList.add("is-active")}}render(){return q(We||(We=Er(["\n <slot @slotchange=","></slot>\n <nav>\n <ul>\n <li><strong>On this page: &ensp;</strong></li>\n </ul>\n </nav>\n "])),this.handleSlotchange)}}function Ar(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function Pr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Sr($r,"properties",{fontSize:{}}),Sr($r,"styles",[un,o(Ze||(Ze=Er(["\n :host {\n --bg-color: var(--white);\n --link-color: var(--purple-80);\n --link-hover-color: var(--purple-80);\n\n background-color: var(--bg-color);\n display: block;\n padding-block: var(--spacing-layout-1);\n display: block;\n font-family: var(--font-family-sans-serif);\n font-size: var(--font-size-small);\n line-height: var(--font-size-small);\n }\n\n slot {\n display: none;\n }\n\n nav {\n }\n\n ul {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-layout-half);\n margin: 0;\n padding: 0 var(--outer-margin);\n min-height: var(--spacing-layout-2);\n }\n\n li {\n display: block;\n }\n\n a {\n background-color: var(--purple-10);\n border-radius: var(--rounded-corners);\n color: var(--link-color);\n display: block;\n position: relative;\n padding: var(--spacing-layout-half);\n text-decoration: none;\n }\n\n a:hover {\n background-color: var(--blue-20);\n color: var(--link-hover-color);\n }\n\n a:active {\n background-color: var(--blue-40);\n color: var(--link-color);\n }\n\n @media (min-width: 768px) {\n :host {\n box-shadow: var(--shadow-small);\n padding-block: var(--spacing-component-2);\n position: sticky;\n top: 0;\n z-index: 3;\n }\n\n nav {\n align-items: center;\n display: flex;\n flex-direction: row;\n margin-inline: auto;\n max-width: var(--grid-max-width);\n overflow-x: auto;\n overflow-y: hidden;\n scrollbar-width: none;\n }\n\n ul {\n align-items: center;\n display: flex;\n flex-direction: row;\n gap: var(--spacing-component-2);\n }\n\n a,\n li {\n max-width: none;\n white-space: nowrap;\n }\n\n a.is-active {\n background-color: var(--blue-40);\n }\n }\n "])))]),customElements.get("cfa-page-nav")||customElements.define("cfa-page-nav",$r);class Or extends cn{render(){return q(Ke||(Ke=Ar(['\n <nav>\n <div class="next">\n ','\n </div>\n <div class="previous">\n ',"\n </div>\n </nav>\n "])),this.nextUrl?q(Je||(Je=Ar(['\n <a href="','" class="cfa-button">\n <span class="small label"\n >Next <cfa-icon>arrow_forward</cfa-icon></span\n ><br />\n <span class="title normal">',"</span>\n </a>\n "])),this.nextUrl,this.nextTitle):"",this.previousUrl?q(Xe||(Xe=Ar(['\n <a\n href="','"\n class="cfa-button cfa-button--outline"\n >\n <span class="small label"\n ><cfa-icon>arrow_back</cfa-icon> Previous</span\n ><br />\n <span class="title normal">',"</span>\n </a>\n "])),this.previousUrl,this.previousTitle):"")}}function Cr(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function Tr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Pr(Or,"properties",{previousTitle:{},previousUrl:{},nextTitle:{},nextUrl:{}}),Pr(Or,"styles",[un,Mn,Pn,o(Ye||(Ye=Ar(["\n :host {\n display: block;\n }\n\n * {\n box-sizing: border-box;\n text-wrap: comfortable;\n }\n\n nav {\n display: flex;\n flex-direction: column;\n column-gap: var(--gutter-width);\n row-gap: var(--spacing-layout-half);\n }\n\n nav > * > * {\n width: 100%;\n }\n\n @media (min-width: 768px) {\n nav {\n flex-direction: row-reverse;\n justify-content: space-between;\n }\n\n a {\n min-width: var(--column-span-4);\n }\n\n .next a {\n text-align: end;\n }\n\n .previous a {\n text-align: start;\n }\n }\n "])))]),customElements.get("cfa-pager")||customElements.define("cfa-pager",Or);class Ur extends cn{constructor(){super(),this.previousLabel="Previous",this.nextLabel="Next",this.page=1,this.totalPages=1}render(){return q(Ge||(Ge=Cr(['\n <div class="pagination">\n <div class="previous">\n ','\n </div>\n <div class="status">Page '," of ",'</div>\n <div class="next">\n ',"\n </div>\n </div>\n "])),this.page>1?q(Qe||(Qe=Cr(['\n <button class="cfa-button" @click="','">\n <cfa-icon>arrow_back</cfa-icon>&nbsp;',"\n </button>\n "])),this.handlePreviousPage,this.previousLabel):"",this.page,this.totalPages,this.page<this.totalPages?q(nt||(nt=Cr(['\n <button class="cfa-button" @click="','">\n ',"&nbsp;<cfa-icon>arrow_forward</cfa-icon>\n </button>\n "])),this.handleNextPage,this.nextLabel):"")}handleNextPage(){if(this.page<this.totalPages){this.page++;const n=new CustomEvent("page-change",{bubbles:!0,cancelable:!0,detail:this.page});this.dispatchEvent(n)}}handlePreviousPage(){if(this.page>1){this.page--;const n=new CustomEvent("page-change",{bubbles:!0,cancelable:!0,detail:this.page});this.dispatchEvent(n)}}}function Lr(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function Mr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Tr(Ur,"properties",{page:{type:Number},totalPages:{type:Number},previousLabel:{},nextLabel:{}}),Tr(Ur,"styles",[un,Pn,o(et||(et=Cr(["\n :host {\n display: block;\n }\n\n .pagination {\n align-items: center;\n display: flex;\n flex-direction: row;\n gap: var(--gutter-width);\n justify-content: space-between;\n }\n\n .pagination > * {\n flex: 1;\n }\n\n .status {\n font-size: var(--font-size-small);\n line-height: var(-line-height-small);\n color: var(--gray-60);\n text-align: center;\n }\n\n @media (max-width: 768px) {\n .status {\n display: none;\n }\n }\n\n .previous {\n text-align: left;\n }\n\n .next {\n text-align: right;\n }\n "])))]),customElements.get("cfa-pagination")||customElements.define("cfa-pagination",Ur);class Hr extends cn{render(){var n,e;return q(tt||(tt=Lr(['\n <div class="card ','">\n \x3c!-- Link overlay pseudo-element so we can do nested links within the card --\x3e\n ','\n <div class="avatar">\n ','\n </div>\n <div class="details">\n <div>\n <div class="name h4">\n ',"\n </div>\n ",'\n </div>\n <div class="title small">\n ',"\n </div>\n ","\n </div>\n </div>\n "])),this.linkUrl?"has-link":"",this.linkUrl?q(rt||(rt=Lr(['\n <a\n href="','"\n target="','"\n rel="','"\n class="link-overlay"\n tabindex="-1"\n >\n </a>\n '])),this.linkUrl,this.linkTarget||"_self","_blank"==this.linkTarget?"noopener":W):"",this.linkUrl?q(it||(it=Lr(['\n <a\n href="','"\n target="','"\n rel="','"\n >\n <cfa-avatar\n imageUrl="','"\n altText="Avatar photo of ','"\n size="3"\n >\n </cfa-avatar>\n </a>\n '])),this.linkUrl,this.linkTarget||"_self","_blank"==this.linkTarget?"noopener":W,this.imageUrl,this.name):q(ot||(ot=Lr(['\n <cfa-avatar\n imageUrl="','"\n altText="Avatar photo of ','"\n size="3"\n >\n </cfa-avatar>\n '])),this.imageUrl,this.name),this.linkUrl?q(at||(at=Lr(['\n <a\n href="','"\n target="','"\n rel="','"\n >\n ',"\n </a>\n "])),this.linkUrl,this.linkTarget||"_self","_blank"==this.linkTarget?"noopener":W,this.name.trim()):q(st||(st=Lr([" "," "])),this.name.trim()),this.pronouns?q(lt||(lt=Lr([' <span class="pronouns small">(',")</span> "])),this.pronouns):"",[null===(n=this.title)||void 0===n?void 0:n.trim(),null===(e=this.company)||void 0===e?void 0:e.trim()].filter(Boolean).join(", "),this.linkedInUrl||this.twitterHandle?q(ct||(ct=Lr(['\n <div class="social">\n ',"\n ","\n </div>\n "])),this.linkedInUrl?q(ht||(ht=Lr(['\n <a\n href="','"\n target="_blank"\n rel="noopener"\n title="View ','\'s profile on LinkedIn"\n >\n <cfa-social-icon icon="linkedin" />\n </a>\n '])),this.linkedInUrl,this.name):W,this.twitterHandle?q(dt||(dt=Lr(['\n <a\n href="https://twitter.com/','"\n target="_blank"\n rel="noopener"\n title="View ','\'s profile on X (Twitter)"\n >\n <cfa-social-icon icon="twitter" />\n </a>\n '])),this.twitterHandle,this.name):W):W)}}function Nr(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function Rr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Mr(Hr,"properties",{name:{type:"string"},title:{type:"string"},company:{type:"string"},pronouns:{type:"string"},imageUrl:{type:"string"},imageAltText:{type:"string"},linkUrl:{type:"string"},linkedInUrl:{type:"string"},twitterHandle:{type:"string"}}),Mr(Hr,"styles",[un,Mn,o(ut||(ut=Lr(['\n :host {\n display: block;\n }\n\n .card {\n border-radius: var(--rounded-corners);\n position: relative;\n display: flex;\n flex-direction: row;\n margin-inline: auto;\n max-width: 100%;\n text-align: start;\n width: var(--column-span-4);\n transform: translate(0, 0); // hack to ensure pseudo element is stacked above parent background\n }\n\n .card.has-link::before {\n border-radius: var(--rounded-corners);\n bottom: calc(-1 * var(--thick));\n content: "";\n height: calc(100% + 2 * var(--thick)));\n left: calc(-1 * var(--thick));\n position: absolute;\n right: calc(-1 * var(--thick));\n top: calc(-1 * var(--thick));\n width: calc(100% + 2 * var(--thick)));\n z-index: -1;\n transition: \n background-color 0.5s ease-in-out,\n box-shadow 0.5s ease-in-out;\n }\n\n .card.has-link:hover::before,\n .card.has-link:focus-visible::before {\n background-color: var(--white);\n box-shadow: var(--shadow-medium);\n }\n\n .card.has-link .name a {\n box-shadow: 0;\n color: var(--purple-80);\n transition: box-shadow 0.5s ease-in-out;\n }\n\n .card.has-link:hover .name a {\n box-shadow: inset 0 calc(-1 * var(--thick)) 0 0 var(--purple-20);\n }\n\n a {\n position: relative;\n text-decoration: none;\n z-index: 1;\n }\n\n a.link-overlay {\n position: static;\n }\n\n a.link-overlay::before {\n content: "";\n position: absolute;\n z-index: 0;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n }\n \n .avatar {\n flex-grow: 0;\n }\n\n .name {\n display: inline-block;\n }\n\n .pronouns {\n color: var(--purple-60);\n }\n \n .details {\n color: var(--black);\n flex-grow: 1;\n padding-block-start: var(--spacing-component-2);\n padding-inline-start: var(--spacing-component-2);\n }\n\n .social {\n font-size: 0.9rem;\n margin-block-start: var(--spacing-component-1);\n }\n \n .social a {\n align-items: center;\n border-radius: 10000px;\n color: var(--purple-80);\n display: inline-flex;\n height: var(--spacing-component-4);\n justify-content: center;\n margin: calc(-1 * var(--spacing-component-2));\n width: var(--spacing-component-4);\n }\n\n .social a:hover {\n background-color: var(--purple-20);\n }\n\n .social > a + a {\n margin-inline-start: var(--spacing-component-2);\n }\n '])))]),customElements.get("cfa-person-card")||customElements.define("cfa-person-card",Hr);class Ir extends cn{render(){return q(pt||(pt=Nr(['\n <a\n href="','"\n target="','"\n class="promo\n "\n >\n ',"\n ","\n ","\n </a>\n "])),this.linkUrl||"javascript:void(0)",this.linkTarget||W,this.heading?q(ft||(ft=Nr([' <div class="h4 sans-serif">',"</div> "])),this.heading):W,this.text?q(vt||(vt=Nr([' <div class="small">',"</div> "])),this.text):W,this.actionLabel?q(gt||(gt=Nr(['\n <div class="action-label small strong">\n '," <cfa-icon>arrow_forward</cfa-icon>\n </div>\n "])),this.actionLabel):W)}}function Br(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function Fr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Rr(Ir,"properties",{heading:{},text:{},actionLabel:{},linkUrl:{},linkTarget:{}}),Rr(Ir,"styles",[un,Mn,o(bt||(bt=Nr(["\n :host {\n --bg-color: var(--blue-20);\n --padding: var(--spacing-component-4);\n --text-color: var(--black);\n --action-label-color: var(--purple-60);\n --action-label-hover-color: var(--red-60);\n\n display: block;\n }\n\n .promo,\n a.promo {\n background-color: var(--bg-color);\n box-shadow: var(--shadow-small);\n color: var(--text-color, #000);\n display: flex;\n flex-direction: column;\n gap: var(--spacing-layout-half);\n padding: var(--padding);\n text-align: center;\n text-decoration: none;\n transition: box-shadow 0.2s ease-in-out;\n width: 100%;\n }\n\n a.promo:hover {\n box-shadow: var(--shadow-medium);\n }\n\n .action-label {\n color: var(--action-label-color);\n }\n\n a.promo:hover .action-label {\n color: var(--action-label-hover-color);\n }\n "])))]),customElements.get("cfa-promo")||customElements.define("cfa-promo",Ir);class qr extends cn{constructor(){super(),this.showLabel="Show more",this.hideLabel="Show less",this.showIcon="expand_more",this.hideIcon="expand_less",this.expanded=!1}render(){return q(mt||(mt=Br(['\n <slot\n id="content"\n class="content ','"\n aria-labelledby="button"\n ?hidden="','"\n ></slot>\n <div class="controls">\n <button\n @click="','"\n aria-expanded="','"\n aria-controls="content"\n >\n ',"\n <cfa-icon>","</cfa-icon>\n </button>\n </div>\n "])),this.expanded?"is-expanded":"is-collapsed",!this.expanded,()=>this.expanded=!this.expanded,this.expanded,this.expanded?this.hideLabel:this.showLabel,this.expanded?this.hideIcon:this.showIcon)}}function Vr(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function Dr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Fr(qr,"properties",{showLabel:{type:String},hideLabel:{type:String},showIcon:{type:String},hideIcon:{type:String},expanded:{type:Boolean,reflect:!0}}),Fr(qr,"styles",[un,o(wt||(wt=Br(["\n :host {\n --color: var(--purple-60);\n --hover-color: var(--red-60);\n --margin-top: var(--spacing-layout-half) !important;\n\n display: flex;\n flex-direction: column;\n row-gap: var(--spacing-between, 1rem);\n }\n\n :host([expanded]) {\n --margin-top: var(--spacing) !important;\n }\n\n button {\n background: transparent;\n border: none;\n color: var(--color);\n cursor: pointer;\n font: inherit;\n font-size: var(--font-size-small, 0.8rem);\n font-weight: bold;\n color: var(--)\n line-height: normal;\n margin: 0;\n overflow: visible;\n padding: 0;\n width: auto;\n }\n\n button:hover {\n color: var(--hover-color);\n }\n "])))]),customElements.get("cfa-reveal")||customElements.define("cfa-reveal",qr);class Wr extends cn{constructor(){super(),this.linkUrl="javascript:void(0);",this.linkTarget="_self"}render(){return q(yt||(yt=Vr(['\n <a href="','" target="','" class="slide">\n <div class="image">\n ','\n </div>\n <div class="content">\n <slot></slot>\n </div>\n </a>\n '])),this.linkUrl,this.linkTarget,this.imageUrl?q(xt||(xt=Vr(['\n <img\n src="','"\n alt="','"\n loading="lazy"\n onerror="this.style.display=\'none\'"\n />\n '])),this.imageUrl,this.imageAltText):"")}}function Zr(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function Kr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Dr(Wr,"properties",{imageUrl:{},imageAltText:{},linkUrl:{},linkTarget:{}}),Dr(Wr,"styles",[un,o(kt||(kt=Vr(['\n :host {\n --background: var(--white, #fff);\n --width: var(--column-span-12);\n }\n\n .slide {\n background: var(--background);\n box-shadow: var(--shadow-small);\n color: inherit;\n display: flex;\n flex-direction: column;\n height: 100%;\n justify-content: stretch;\n margin-inline: auto;\n max-width: var(--width);\n text-decoration: none;\n transition: box-shadow 0.2s ease-in-out;\n width: 100%;\n }\n\n .slide:hover,\n .slide:focus {\n box-shadow: var(--shadow-medium);\n }\n\n .image {\n background-image: url("https://codeforamerica.org/wp-content/themes/cfa-core/static/images/bg-placeholder-03.svg");\n background-position: center center;\n background-size: cover;\n height: var(--spacing-layout-9);\n position: relative;\n }\n\n .image::after {\n bottom: 0;\n box-shadow: inset 0 -50px 50px -50px var(--black-40);\n content: "";\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n z-index: 2;\n }\n\n .image img {\n height: 100%;\n object-fit: cover;\n width: 100%;\n }\n\n .content {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: var(--spacing-component-4);\n }\n\n @media (min-width: 1024px) {\n .slide {\n flex-direction: row;\n min-height: calc(12 * var(--spacing-layout-1));\n }\n\n .slide > * {\n flex-basis: 50%;\n }\n\n .image {\n height: auto;\n }\n\n .image::after {\n box-shadow: inset -50px -50px 50px -50px var(--black-20);\n }\n }\n '])))]),customElements.get("cfa-slide")||customElements.define("cfa-slide",Wr);class Jr extends cn{constructor(){super(),this.active=!1,this.panelId=""}firstUpdated(){this.addEventListener("keydown",this._onKeyDown)}_onKeyDown(n){const e=Array.from(this.parentElement.querySelectorAll("cfa-tab")),t=e.indexOf(this);let r;switch(n.key){case"ArrowLeft":r=(t-1+e.length)%e.length,e[r].shadowRoot.querySelector("button").focus();break;case"ArrowRight":r=(t+1)%e.length,e[r].shadowRoot.querySelector("button").focus();break;case"Home":e[0].shadowRoot.querySelector("button").focus();break;case"End":e[e.length-1].shadowRoot.querySelector("button").focus()}}render(){return q(zt||(zt=Zr(['\n <button\n role="tab"\n aria-selected="','"\n aria-controls="','"\n class="','"\n tabindex="','"\n >\n <slot></slot>\n </button>\n '])),this.active?"true":"false",this.panelId,this.active?"active":"",this.active?"0":"-1")}}function Xr(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function Yr(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Kr(Jr,"properties",{active:{type:Boolean},panelId:{type:String}}),Kr(Jr,"styles",[un,Mn,o(jt||(jt=Zr(["\n button {\n background: none;\n border: 0;\n box-shadow: inset 0 calc(-1 * var(--hairline)) 0 0 var(--gray-40);\n color: var(--gray-80);\n cursor: pointer;\n font-family: var(--font-family-sans-serif);\n font-size: var(--font-size-small);\n font-weight: normal;\n padding: var(--spacing-component-2) var(--spacing-component-3)\n calc(var(--spacing-component-2) + var(--medium));\n }\n button:focus {\n background-color: var(--focus-color);\n outline: none;\n }\n button:not(.active):hover {\n box-shadow: inset 0 calc(-1 * var(--medium)) 0 0 var(--purple-40);\n color: var(--black);\n }\n button.active {\n box-shadow: inset 0 calc(-1 * var(--medium)) 0 0 var(--purple-60);\n color: var(--black);\n font-weight: bold;\n }\n "])))]),customElements.get("cfa-tab")||customElements.define("cfa-tab",Jr);class Gr extends cn{constructor(){super()}firstUpdated(){this.addEventListener("click",this._onTabClick),this.setAttribute("role","tablist"),this._setInitialAriaAttributes()}_setInitialAriaAttributes(){this.querySelectorAll("cfa-tab").forEach((n,e)=>{n.setAttribute("role","tab"),n.setAttribute("aria-selected","false"),n.setAttribute("tabindex","-1"),0===e&&(n.setAttribute("aria-selected","true"),n.setAttribute("tabindex","0"))})}_onTabClick(n){const e=n.target.closest("cfa-tab");e&&this._setActiveTab(e)}_setActiveTab(n){this.querySelectorAll("cfa-tab").forEach(n=>{n.removeAttribute("active"),n.setAttribute("aria-selected","false"),n.setAttribute("tabindex","-1")}),n.setAttribute("active",""),n.setAttribute("aria-selected","true"),n.setAttribute("tabindex","0");let e=n.id;e&&e.startsWith("tab-")&&(e=e.substring(4)),console.log("Tab changed event dispatched with ID:",e),this.dispatchEvent(new CustomEvent("tab-changed",{detail:{id:e},bubbles:!0,composed:!0}))}render(){return q(_t||(_t=Xr(['\n <div class="tab-list" role="tablist">\n <slot></slot>\n </div>\n '])))}}function Qr(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function ni(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Yr(Gr,"properties",{}),Yr(Gr,"styles",[un,Pn,o(Et||(Et=Xr(['\n :host {\n display: block;\n width: calc(100% + var(--outer-margin));\n }\n\n .tab-list {\n display: flex;\n flex-direction: row;\n line-height: 1;\n margin-inline-start: calc(-1 * var(--outer-margin));\n overflow-x: auto;\n overflow-y: hidden;\n scrollbar-width: none;\n white-space: nowrap;\n }\n\n .tab-list::before {\n content: "";\n min-width: var(--outer-margin);\n }\n\n .tab-list::after {\n border-bottom: var(--hairline) solid var(--gray-40);\n content: "";\n flex-grow: 1;\n margin-right: var(--outer-margin);\n }\n\n ::slotted(*) {\n max-width: none !important;\n white-space: nowrap !important;\n }\n '])))]),customElements.get("cfa-tab-list")||customElements.define("cfa-tab-list",Gr);class ei extends cn{tileContentTemplate(){return q(St||(St=Qr(["\n ",'\n\n <div class="title h3">',"</div>\n\n \x3c!-- Description --\x3e\n ","\n\n \x3c!-- Action label --\x3e\n ","\n "])),this.imageUrl?q($t||($t=Qr(['\n <picture>\n <cfa-blob></cfa-blob>\n <img\n src="','"\n alt="','"\n load="lazy"\n />\n </picture>\n '])),this.imageUrl,this.imageAltText):W,this.title,this.description?q(At||(At=Qr([' <p class="small">',"</p> "])),this.description):W,this.actionLabel?q(Pt||(Pt=Qr(['\n <div class="label small strong">\n ',"&nbsp;<cfa-icon>arrow_forward</cfa-icon>\n </div>\n "])),this.actionLabel):W)}render(){return q(Ot||(Ot=Qr(["\n <style>\n cfa-blob {\n --color: var(--blob-color);\n }\n </style>\n ","\n "])),this.linkUrl?q(Ct||(Ct=Qr(['\n <a\n href="','"\n target="','"\n rel="','"\n class="tile"\n >\n ',"\n </a>\n "])),this.linkUrl,this.linkTarget,"_blank"==this.linkTarget?"noopener":W,this.tileContentTemplate()):q(Tt||(Tt=Qr([' <div class="tile">',"</div> "])),this.tileContentTemplate()))}}function ti(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}ni(ei,"properties",{title:{type:String},description:{type:String},actionLabel:{type:String},linkUrl:{type:String},linkTarget:{type:String},imageUrl:{type:String},imageThumbnailUrl:{type:String},imageAltText:{type:String}}),ni(ei,"styles",[un,Mn,o(Ut||(Ut=Qr(["\n :host {\n --bg-color: var(--white);\n --title-color: var(--purple-60);\n --text-color: var(--black);\n --action-label-color: var(--purple-80);\n --action-label-hover-highlight: var(--purple-20);\n --blob-color: var(--purple-20);\n\n align-items: stretch;\n display: flex;\n text-align: center;\n width: 100%;\n }\n\n .tile {\n background-color: var(--bg-color);\n border-radius: var(--spacing-component-2);\n border: var(--hairline) solid var(--black-20);\n color: var(--text-color);\n display: flex;\n flex-direction: column;\n padding: var(--spacing-component-4);\n text-decoration: none;\n transition:\n box-shadow 0.5s ease-in-out,\n border-color 0.5s ease-in-out;\n width: 100%;\n }\n\n a.tile:hover {\n box-shadow: var(--shadow-medium);\n border-color: rgba(0, 0, 0, 0);\n }\n\n picture {\n display: grid;\n place-items: center;\n padding-block-end: var(--spacing-layout-1);\n }\n\n picture > * {\n height: var(--spacing-layout-4);\n grid-area: 1 / 1;\n }\n\n cfa-blob {\n transition: scale 0.5s ease-in-out;\n }\n\n a.tile:hover cfa-blob {\n scale: 1.2;\n }\n\n img {\n object-fit: contain;\n z-index: 2;\n }\n\n .title {\n color: var(--title-color);\n }\n\n .label {\n color: var(--action-label-color);\n display: inline-block;\n margin-block-start: auto;\n padding-block-start: var(--spacing-layout-half);\n }\n "])))]),customElements.get("cfa-tile")||customElements.define("cfa-tile",ei);class ri extends cn{render(){return q(Lt||(Lt=ti(['\n <div class="label eyebrow-with-line">Transcript</div>\n <div class="text small">\n <slot />\n </div>\n '])))}}function ii(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function oi(n,e,t){return(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}!function(n,e,t){(e=function(n){var e=function(n){if("object"!=typeof n||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof e?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t}(ri,"styles",[un,Mn,o(Mt||(Mt=ti(["\n :host {\n --label-color: var(--purple-60);\n\n display: block;\n max-width: var(--column-span-8);\n }\n\n .label {\n --text-color: var(--label-color);\n }\n\n .text {\n background-color: var(--white);\n border: var(--hairline) solid var(--black-20);\n color: var(--black);\n height: calc(12 * var(--spacing-layout-1));\n overflow: auto;\n padding: var(--spacing-component-3);\n }\n "])))]),customElements.get("cfa-transcript")||customElements.define("cfa-transcript",ri);class ai extends cn{constructor(){super(),this.atScrollStart=!0,this.atScrollEnd=!1}connectedCallback(){super.connectedCallback(),this.addEventListener("focusin",n=>{""===n.target.slot&&n.target.scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"})})}scrollPrevious(){const n=this.shadowRoot.querySelector(".carousel"),e=this.shadowRoot.querySelector("slot").assignedElements()[0].clientWidth;n.scrollBy({left:-e,behavior:"smooth"})}scrollNext(){const n=this.shadowRoot.querySelector(".carousel"),e=this.shadowRoot.querySelector("slot").assignedElements()[0].clientWidth;n.scrollBy({left:e,behavior:"smooth"})}handleScroll(n){0===n.target.scrollLeft?this.atScrollStart=!0:this.atScrollStart=!1,Math.round(n.target.scrollLeft+n.target.clientWidth)>=Math.round(n.target.scrollWidth)?this.atScrollEnd=!0:this.atScrollEnd=!1}render(){return q(Ht||(Ht=ii(['\n <div class="carousel" @scroll=','>\n <div class="spacer"></div>\n <slot></slot>\n <div class="spacer"></div>\n </div>\n <div class="controls">\n <button\n class="previous ','"\n @click="','"\n >\n <cfa-icon>arrow_back</cfa-icon>\n </button>\n <button\n class="next ','"\n @click="','"\n >\n <cfa-icon>arrow_forward</cfa-icon>\n </button>\n </div>\n '])),this.handleScroll,this.atScrollStart?"disabled":"",this.scrollPrevious,this.atScrollEnd?"disabled":"",this.scrollNext)}}oi(ai,"properties",{atScrollStart:{type:Boolean},atScrollEnd:{type:Boolean}}),oi(ai,"styles",[un,o(Nt||(Nt=ii(["\n :host {\n --slide-width-mobile: 75vw;\n --slide-width-desktop: var(--column-span-3);\n\n display: block;\n scrollbar-color: transparent transparent;\n scrollbar-width: 0px;\n scroll-behavior: smooth;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n }\n\n :host(:focus) {\n outline: none !important;\n }\n\n ::-webkit-scrollbar {\n background: transparent;\n width: 0px;\n }\n\n .carousel {\n display: flex;\n gap: var(--spacing-layout-1);\n overflow-x: scroll;\n scroll-snap-type: x mandatory;\n padding-block-start: var(--spacing-layout-half);\n padding-block-end: var(--spacing-layout-1);\n }\n\n .controls {\n margin-block-start: calc(-1 * var(--spacing-layout-half));\n margin-block-end: var(--spacing-layout-1);\n text-align: center;\n }\n\n .controls > * + * {\n margin-inline-start: var(--spacing-layout-half);\n }\n\n .controls button {\n background: transparent;\n border: none;\n border-radius: 50%;\n color: var(--purple-80);\n cursor: pointer;\n font-size: var(--font-size-large, 1.25rem);\n height: var(--spacing-layout-2);\n transition: background-color 0.2s ease-in-out;\n width: var(--spacing-layout-2);\n }\n\n .controls button:hover,\n .controls button:focus {\n background-color: var(--white, #fff);\n }\n\n .controls button:focus {\n outline: var(--focus-outline);\n }\n\n .controls button.disabled {\n color: var(--black-20);\n cursor: default;\n }\n\n .controls button.disabled:hover,\n .controls button.disabled:focus {\n background: transparent;\n outline: none;\n }\n\n ::slotted(*) {\n flex: 0 0 var(--slide-width-mobile);\n margin-block: var(--spacing-layout-1);\n scroll-snap-align: center;\n }\n\n @media (min-width: 1024px) {\n ::slotted(*) {\n flex: 0 0 var(--slide-width-desktop);\n }\n\n .spacer {\n flex: 0 0\n calc((100vw - var(--column-span-12)) / 2 - var(--outer-margin));\n }\n }\n "])))]),customElements.get("cfa-carousel")||customElements.define("cfa-carousel",ai)})();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codeforamerica/marcomms-design-system",
3
- "version": "1.9.0",
3
+ "version": "1.10.0",
4
4
  "main": "src/index.js",
5
5
  "dependencies": {
6
6
  "lit": "^3.2.1",
@@ -32,7 +32,7 @@ class Transcript extends LitElement {
32
32
  render() {
33
33
  return html`
34
34
  <div class="label eyebrow-with-line">Transcript</div>
35
- <div class="text">
35
+ <div class="text small">
36
36
  <slot />
37
37
  </div>
38
38
  `;
@@ -8,158 +8,94 @@ export default {
8
8
 
9
9
  const Template = () => html`
10
10
  <cfa-transcript>
11
- <p>00:00</p>
12
- <p>
13
- My dad’s first lesson to me was, “Look people in the eye, mi hija, make
14
- sure people see you and you see them.” He has been a proud janitor, farm
15
- worker, shoe shiner, home builder and small business owner. He has seen
16
- the world from so many different lenses and has lots of stories to tell.
17
- But theres one I’ve never been able to get out of my head. A story when
18
- my dad was a young kid.
19
- </p>
20
- <p>00:27</p>
21
- <p>
22
- He and my tio Milo knew exactly when the trucks would come in. Under the
23
- freeway, just as the sun set, they jumped the fence to get into the dump.
24
- And as they waited for the trucks, they’d make bets on who would find the
25
- best food. An uneaten apple they could clean, a perfect banana, sometimes
26
- a candy bar or a wrapped sandwich. And then theyd grab whatever they
27
- could find, and save the very best to bring home to their even younger
28
- brothers and sisters.
29
- </p>
30
- <p>01:00</p>
31
- <p>
32
- I hate that story. But I share it because we can’t solve what we can’t
33
- see.
34
- </p>
35
- <p>01:10</p>
36
- <p>
37
- In 1936, this image of the migrant mother captured the living conditions
38
- in the West, showing lawmakers what people were going through. After it
39
- published, the United States government sent 20,000 pounds of food, and
40
- that image solidified support for the very first safety-net programs in
41
- America. Yet still today, more than 37 million Americans are still living
42
- in poverty. One in six kids.
43
- </p>
44
- <p>01:37</p>
45
- <p>
46
- As a student of economics and a career public servant, I know we’ve been
47
- at this for a long time. But it’s my work today that has given me the hope
48
- that we can finally end poverty as we know it. And here’s why. Right now,
49
- there are 80 public benefit programs all across the country, intended to
50
- provide critical anti-poverty resources. Yet an estimated 60 billion
51
- dollars in benefits go unclaimed every year. Sixty billion. I believe, in
52
- large part, due to complicated, outdated systems that werent designed to
53
- see the people they serve.
54
- </p>
55
- <p>02:13</p>
56
- <p>
57
- I want you to imagine for a moment that you lost your job, and you don’t
58
- know how you’re going to put food on the table. But you hear about this
59
- government program that can help. And you begin the process of applying.
60
- The first thing you realize is you cant do it on the only online
61
- connection you have, your phone, because the only way to apply online is
62
- through a desktop computer. So you head to the community library, you go
63
- through screen after screen, answering close to 200 questions, wading
64
- through confusing instructions. It feels a little bit like a game of
65
- gotcha, except your benefits are at risk. Now, if you’re from a place like
66
- my hometown, a small rural farming town, there isnt an easily accessible
67
- public venue with desktop computers. So you have to find a ride to the
68
- nearest social services office, maybe 30 miles away. When you get there,
69
- you have to walk through metal detectors with two security guards, past a
70
- long table of scattered paper forms into the main waiting room. It’s loud,
71
- and theres a long line leading to that service counter. When you get to
72
- the front of it, you’re met with a thick, clouded sheet of bulletproof
73
- glass separating you from someone who could finally help.
74
- </p>
75
- <p>03:31</p>
76
- <p>
77
- That has been the system in America for many communities like mine. So
78
- it’s no wonder that 14 million Americans arent enrolled in child and food
79
- nutrition programs, or that six million are missing health care benefits.
80
- Technology has changed almost every aspect of our lives. It’s made things
81
- faster, more efficient, automatic. We need to do the same for people
82
- seeking benefits.
83
- </p>
84
- <p>03:56</p>
85
- <p>
86
- I work for an organization called Code for America. We deploy
87
- human-centered technology, the kind that respects you from the start,
88
- meets you where you are, provides an easy, positive experience. And our
89
- research has shown there are four factors we need to overcome. First, we
90
- know that far more people have access to the internet on their phone than
91
- a desktop computer. So applications should be online and mobile-friendly.
92
- Second, lots of people are falling off because the process is complicated.
93
- So applications need to be simple and easy to use. Third, we know that
94
- people who are eligible for one program, like food assistance, are pretty
95
- likely to be eligible for another, like health care. So let’s combine
96
- processes where we can. And finally, we know there are unseen heroes in
97
- government caseworkers, social workers on the front lines, navigating
98
- old systems. We can equip them with the data and tools to streamline their
99
- efforts.
100
- </p>
101
- <p>04:56</p>
102
- <p>
103
- Here’s what California’s food assistance used to look like. 183 questions,
104
- 51 pages of screens available only by desktop computer. We took that
105
- application and redesigned it. This is GetCalFresh, a mobile-first
106
- application available 24 hours a day in multiple languages, with chat
107
- support.
108
- </p>
109
- <p>05:17</p>
110
- <p>(Applause)</p>
111
- <p>05:23</p>
112
- <p>
113
- California’s food assistance application went from one of the most complex
114
- in the nation to being recognized as one of the easiest application
115
- experiences of any state. For 10 years we had been working with multiple
116
- states on projects just like that, showing the importance and potential of
117
- digital delivery of benefits. And that’s when the pandemic hit. And these
118
- images in West Valley, Utah; San Antonio, Texas; Pittsburgh, Pennsylvania.
119
- Parking lots filled with families waiting for food. America could finally
120
- see what we had been seeing for a decade. The growing number of people in
121
- poverty and communities left out as a result of failing systems. Our phone
122
- started ringing. From Washington to Maryland, we helped states distribute
123
- 600 million dollars in benefits to kids in school lunch programs.
124
- Louisiana used our best practices tools in notifying people. They
125
- proactively sent out more than 40 million texts to residents on how to
126
- access critical services. And in Minnesota, we developed an all-in-one
127
- application for nine different safety-net benefits. That can be completed
128
- in less than 14 minutes.
129
- </p>
130
- <p>06:41</p>
131
- <p>(Applause)</p>
132
- <p>06:47</p>
133
- <p>
134
- Nearly 200,000 people immediately applied in the first six months. And for
135
- the first time ever, Minnesota’s system integrated to reach all sovereign
136
- tribal nation members.
137
- </p>
138
- <p>06:58</p>
139
- <p>(Applause)</p>
140
- <p>07:02</p>
141
- <p>
142
- That’s what is possible, and this is the moment to keep going, redesigning
143
- our safety net for a new time and a new age. And we can do it all across
144
- the country, as governments reset.
145
- </p>
146
- <p>07:12</p>
147
- <p>
148
- Over the next seven years, we will partner to redesign systems to unlock
149
- 30 billion dollars in benefits for 13 million eligible people in at least
150
- 15 states. We will bring data scientists and engineers, technologists and
151
- researchers together, sitting side by side with government teams. And our
152
- Safety Net Innovation Lab will improve upon and share best practices so
153
- that every government can benefit. Because at the heart of our audacious
154
- goal is to show the world what’s possible when we use the best tools we
155
- have today: human-centered technology and government. So that families
156
- aren’t waiting in parking lots for resources. Or kids, growing up like my
157
- dad, aren’t searching for food by whatever means possible. Then, then we
158
- will see the true potential of every kid. And that’s the calling of this
159
- moment to redesign our systems to see people, all people.
160
- </p>
161
- <p>08:23</p>
162
- <p>Thank you.</p>
11
+ <p><b>[00:00:00] Michael Tubbs: </b>I remember the big joke when I became mayor was that the only thing I was older than was our legacy system, but only by a year. We were using technology from 1990 in 2016 in Stockton. We had our payroll department, wasn’t a department. It was a woman with like– It wasn’t even a spreadsheet, it’s something I’ve never seen before in my life. It was like a black screen with freaking green.</p>
12
+ <p><b>[00:00:26] Amanda Renteria: </b>[laughs] Yes.</p>
13
+ <p><b>[00:00:29] Michael: </b>I was like, “Wait, this is how we’re getting paid?”</p>
14
+ <p><i>[Theme music fades in]</i></p>
15
+ <p><b>[00:00:32] Amanda: </b>Although we might not realize it, we interact with government every single day. Maybe it’s while brushing our teeth, dropping our kids off at school, or taking out the trash. We’re almost always interacting with government systems. You hear a lot about how these systems fail, whether it’s potholes making your work commute a little bumpier or long wait times at the unemployment office. There’s plenty to complain about.</p>
16
+ <p><i>[Music plays]</i></p>
17
+ <p><b>[00:01:09] Amanda: </b>Welcome to <i>The Government Fix</i>. Im your host, Amanda Renteria. I’ve worked on Capitol Hill, in the classroom, on Wall Street, and now I’m the CEO of Code for America, an organization focused on using tech to improve public services and make government work well for everyone.</p>
18
+ <p>I know that a government that works for us can feel far away. It can be confusing, intimidating, and downright discouraging to find a way to just get by. But here at Code for America, we like to operate from a place of hope and informed optimism. We are looking to bridge the gap between the government we have and the government we need. We talk to the folks who are shaking things up from the inside and outside governments with big ideas and boots on the ground.</p>
19
+ <p>For our first episode, we’re focusing on the government fix for a government that just works. How do we simplify? How do we update old systems? How do we incorporate new research and rapid developments in the realm of AI? Are the young folks on TikTok holding a golden nugget of wisdom coming to save us all? Today’s guest is no stranger to these questions. Michael Tubbs was elected mayor of his native Stockton, California, at just 26 years old, making him one of the youngest mayors of a major American city.</p>
20
+ <p>For those who don’t know, Stockton wasn’t just any American city. Tubbs inherited a city with historically high rates of crime, poverty, and a newly declared citywide bankruptcy. He came in with a vision to remedy this. In 2019, Michael Tubbs launched SEED. That’s the Stockton Economic Empowerment Demonstration. The concept was simple. Give residents who are living at or below the city’s median income level a one-time $500 cash infusion. This is what some call universal basic income. No questions, no confusing paperwork, no strings attached.</p>
21
+ <p>After a year, researchers found that full-time employment actually increased among participants. Their physical and emotional health improved. The success of the program suggested that when you give people a little bit of a safety net, they don’t just stay afloat or stop working. They thrive. SEED sparked a global conversation about universal basic income, and since then, Tubbs has gone on to work at the state level in California, serving as a special advisor to Governor Gavin Newsom on economic mobility.</p>
22
+ <p>Michael understands that interacting with government can feel overwhelming. Whether it’s filing your taxes, applying for benefits, or navigating a complicated form, the process often leaves people wondering, “Did I even do this right?” He also knows what’s possible when government is designed with empathy, clarity, and efficiency at the center. When it feels less like a maze and more like a public service. Let’s talk about what it takes to believe in a government that just works.</p>
23
+ <p><i>[Music transition]</i></p>
24
+ <p><b>[00:04:17] Amanda: </b>I’m excited to have this conversation because when I think of innovative folks thinking about government in a different kind of way, you really started out innovative and really taking the lived experience, being there, understanding. What people really needed on the front lines. I want to take you back to that. If you could remember what sparked the, “I got to do something about this. I got to fix government.”</p>
25
+ <p><b>[00:04:43] Michael: </b>It was being in government, particularly in Stockton. I ran for city council in Stockton. I just graduated from Stanford, had spent a summer at Google. I was used to iteration and move fast and break things and put it back together and problem-solving. Given the immense need in the city of Stockton, from the high poverty rates to we had just declared bankruptcy, staff capacity issues, et cetera, I just expected there would be an opportunity to make government work. Because it had to work. Because we had to do more than the government of Beverly Hills, for example, or the government of Palo Alto. We just can’t do the regular government stuff.</p>
26
+ <p>Being from Stockton, there was such immense need, and folks were looking for leadership, and government had to deliver services. Government had to work. The fact that it wasnt working, we had just declared bankruptcy, we had the highest per capita motorway in the country. We had the lowest staff police force in the country, had very little staff capacity to do even the basics, just created a perfect storm, or an imperfect storm, if you will, of opportunity and need to figure, “How do we make this thing work to deliver for the folks who are counting on us?”</p>
27
+ <p><b>[00:05:52] Amanda: </b>Listen, you’re young, you’re coming out. What was it that sparked you to say, “I’m going to now do it. I see it, and I’m now going to run. I’m going to put my hat in the ring, and I’m going to do this, and I think I can win.” That moment when you’re like, “No, this is real now. I’m going to put myself on the line.”</p>
28
+ <p><b>[00:06:14] Michael: </b>It was literally Halloween 2010. I was interning in the White House. I had spent my last years of high school as the Youth Advisory Commission Chair, so I was familiar with local government. Now I was at Intergovernmental Affairs for the White House, and then my cousin in Stockton ended up being a victim of a homicide. It was really that juxtaposition between being at the seat of power, literally at the White House, and then feeling very powerless. It wasn’t enough to protect my family.</p>
29
+ <p>That made me think about, “Well, maybe my purpose isn’t just to be successful for me. Maybe it’s not just about me getting all the accolades and making a lot of money. Maybe I should probably go back to Stockton and see if this was the best government could do.”</p>
30
+ <p>Then, the next year, the city declared bankruptcy. I remember going home for Christmas, and the mayor at the time had said she had an anti-crime strategy that she was going to reveal at the end of the year. It was the end of the year, a reporter just asked her like, “Hey, any update on the anti-crime strategy?” There was so much stuff going on, she had no idea what the reporter was referring to. It was this big announcement that was made eight months ago, that this strategy was coming.</p>
31
+ <p>I took that very personal and I realized that maybe part of the issue is that if the job of government leaders are to set priorities, their priorities are set by their proximity and the fact that the murders and the homicides were proximate. Those weren’t the people at the country club, those weren’t the people at the state of the city, those weren’t the people even showed up to council meetings.</p>
32
+ <p>I said, “Look, I could just complain about it, or I could run,” but I really ran, Amanda, not even with this intent that I had to win, it was more of, “I have to run.” For me, it felt like there was something in the journey of running that was going to be important.</p>
33
+ <p><b>[00:07:59] Amanda: </b>I’m curious now, you’re still young, but as you think about that next generation and how they are living in their world, AI-enabled, you do AI work. Just in general, looking back on yourself and saying, what was it that you trusted, what was it that you knew? Or is it that you just don’t think about and you just follow it? I’m curious what kind of advice you give.</p>
34
+ <p><b>[00:08:27] Michael: </b>My advice is, A, for me, it’s having to say strong values and moral foundation that helps shape the decisions I make and shape the world I want to live in. Number two, I just remember being younger and reading all these biographies of people who I literally looked up to and admired. What did it for me was they were all a little bit crazy at the time.</p>
35
+ <p><b>[00:08:54] Amanda: </b>[laughs]</p>
36
+ <p><b>[00:08:55] Michael: </b>They were all a little bit crazy, and then number two, looking back, everything seemed inevitable, but in the moment, every choice, the opposites seemed like it would be more true. That’s always stuck with me, the fact that history is made on the margins and the fact that, like Nelson Mandela said, “It always looks impossible until it’s done.”</p>
37
+ <p>I tell people all the time that, if you’re actually going to change something and make a dent, it won’t look likely. It will look hard. It will look like it’s not going to happen. In fact, for me, that’s the indicator, “I should do this thing.” Even if it doesn’t work out, because there’s a lesson there, or there’s iteration there, or it gets you closer to whatever that next thing is. That’s why I tell folks to embrace the chaos, embrace the uncertainty, and embrace the journey, because you actually have no control over the destination.</p>
38
+ <p><b>[00:09:51] Amanda: </b>What’s weird is I think when people think about government, they think it’s this thing that’s bureaucratic, slow, big, and impossible. In fact, there are these pockets, these moments, these times where not just the moment opens up, where it’s a little chaotic and you’ve got to figure out your way, but people themselves can come in and open it up. I think that’s the part that, when I’m also talking to young people, I’m like, “No, get into government, figure it out.” You can actually disrupt things from the inside. When you do that, you actually then have the resources of government to shape and move, and that’s super powerful. As we think about this new generation, what are they bringing? Because I know you work with a lot of young folks. What are they bringing to the discussion today?</p>
39
+ <p><b>[00:10:41] Michael: </b>I think they bring a fluency [chuckles] with the tools. The tools are things that are already integrated into their everyday life. When I think of myself dating myself– I just created a TikTok a couple months ago. The people who are helping me understand how to use it, why it’s different than Instagram, how things go viral, et cetera, are 23, 24, 25-year-olds. They just get it. They didn’t go to school for TikTok. They didn’t go to these trainings. They’re TikTok fluent. They’re AI fluent. They just have an understanding of technology and don’t have a fear of it.</p>
40
+ <p>I also think that they just bring the beauty of our beginner’s mindset. They haven’t been so jaded with what hasn’t worked. They haven’t been so jaded with the time we did the ERP transition 20 years ago, and it was disastrous. They’re like, “What are you talking about?” It’s just like, “Let’s just do it.” If we don’t get it right this time, let’s get it right the next time. I just love that beginner’s mindset and that levity.</p>
41
+ <p><b>[00:11:38] Amanda: </b>One of the things that I have appreciated, and you’ve always been on the front lines of communicating your ideas and your thoughts, these folks who are young are doing it all the time in real time as the world is changing around them in different forms, like you mentioned, in TikTok, in short form, in long form, in just real-time talk.</p>
42
+ <p><b>[00:11:57] Michael: </b>They’re also so intuitive. Good or bad, they don’t wait for talking points. They don’t wait for the polls. They’re really very comfortable pulling out their phone and saying, “Hey, this just happened. This is what I feel.” I think that level of authenticity is what folks are craving. I think what we have to do is find a way to balance the authenticity with making sure things are factually accurate. As we know, emotions drive decision-making, not facts. The fact that these folks have figured out how to be emotional, how to be honest, how to be off-the-cuff, how to just say what they think is really powerful.</p>
43
+ <p><b>[00:12:35] Amanda: </b>There’s the part where you can explore and you can test. Now I’m interested in the seriousness of the Stockton Economic Empowerment Demonstration project that you did, where you gave 125 residents $500 a month. Big first question there is, how did you actually fund that? Because you could talk about it, we could do a TikTok about it, but at the end of the day, you got to get it funded, and it has to be funded in order for it to work. Let’s start there.</p>
44
+ <p><b>[00:13:05] Michael: </b>What was fascinating is that it was very serendipitous. Me and my team were talking about it would be cool to do something like that one day, but given the fiscal realities of Stockton, I didn’t even have money to fund it. In the next week, I was in San Francisco at a Tech for Government conversation. [chuckles] My good friend, Natalie Foster, was there, and she asked me what I was up to. I said, “Well, I’m in Stockton. What are you up to?” She said, “Well, we’re looking for cities to pilot a guaranteed income in. Are you familiar with the concept?”</p>
45
+ <p>I embellished it a little bit. I said, “I have a task force I’m looking at to a guaranteed income, and right now we’re trying to find a funding source.” She said, “Oh my gosh, well, we’re looking to fund the city.” We were lucky enough. We spent six months in deep conversation, meetings, et cetera. We were lucky enough to get $1 million from the Economic Security Project to fund the demonstration.</p>
46
+ <p>Then we got another $1 million from a philanthropist named Carol Tolan to extend the program from 18 months to 24 months during COVID. Then we got a bunch of money from foundations to pay for the evaluation and research, another $1.5 up to $2 million. What’s fascinating to me is that we got so much pushback and backlash, but since then we have like 90 or 80 governments piloting some form of guaranteed income in this country, and 90% of them are government-funded, almost $300 million of public dollars.</p>
47
+ <p>To the point of your question, to get off the ground to start to test, we had to use philanthropy. I would tell people because we got some critiques about that. I said, “Look, if we prove this is a great idea, it should be publicly funded.” I’m comfortable with testing ideas with philanthropy so we can see what works, and then we can use public dollars to scale it. Which is actually what’s happening, so I’m really proud of that.</p>
48
+ <p><b>[00:14:55] Amanda: </b>Yes, I think that’s what is pretty amazing about this country as I’ve looked at Code for America’s model, but just around the world, one of the incredible things about the United States is that you do have this social sector, and if done right, can be your risk capital for government. You can show what’s possible. I know at Code for America, we talk a lot about showing what’s possible through philanthropy in the way governments deliver services.</p>
49
+ <p>Sometimes it really works, and sometimes you test something out and you’re this is a good product, but not for government. When you think about how to make institutions better, what a remarkable muscle we have in this country that you can use philanthropy. Philanthropy is excited to share that talent or those ideas that they have, and they recognize that government is scale, but how do you get it to move in ways and really shape in ways that can make it not just better, but really innovative. This is one of those big examples of doing that. What did you learn out of this project?</p>
50
+ <p><b>[00:16:01] Michael: </b>Before that, let me go back to what you said, because I want to underline and double-click. What’s interesting in our experience–</p>
51
+ <p><b>[00:16:06] Amanda: </b>That’s so new agey of you.</p>
52
+ <p><b>[00:16:08] Michael: </b>[chuckles] What was interesting in our experience in Stockton was that philanthropy wanted to pay for the research and the data, but they didn’t want to pay for the cash at the time. They were acting like government, like, “We won’t pay for the cash transfers. We’re the individuals.” One of my critiques of philanthropy has been, “Look, you guys, you guys are the risk capital. You guys are the innovation capital. You are the folks that are able to let us try, and if youre acting like government, we’re stuck. If you’re scared to fund this stuff, we’re really in trouble.”</p>
53
+ <p>Now that they’ve come around, but literally, no foundation would fund the cash payments for the Stockton Economic Empowerment Demonstration. Everyone wanted to fund the research. In fact, at one point, we had more money for evaluation than for the payments to people. This is part of the issue. Anyway, what did we learn? We learned, number one, people can go to guaranteedincomeworks.com because now we just released results from 25 pilots. What we’ve learned in the Stockton pilot was that money wasn’t enough to stop people from working, which was so much of the trope and so much of the narrative. You can’t give people money, they’re not going to work.</p>
54
+ <p>In fact, we found the opposite, that the folks who received the guaranteed income were able to work more because they transitioned from part-time to full-time work because they could afford to take time off to apply for full-time jobs. They could afford to get their car fixed to go to work. They could afford childcare. They could afford getting their uniform dry cleaned. They could actually afford the cost associated with going to work. The second thing we found was that the guaranteed income was helpful in terms of stress levels, cortisol levels and anxiety levels.</p>
55
+ <p>On the qualitative side, folks kept saying they felt they can breathe, so much so that LA County, which now has the largest guaranteed income program in the country, led by Supervisor Holly Mitchell, named their program LA County Breathe because they read the report in Stockton and was like, “Oh my gosh, people said they could breathe. That’s such a big deal.” That it had comparable results to clinical trials or Prozac in terms of impacts on depression and anxiety.</p>
56
+ <p>The third thing we found is that smoothed out income volatility. It’s funny because one out of two Americans can afford one $500 emergency, so it’s like a fringe group of people. It’s like the majority of the country. For folks who aren’t in that majority, they were shocked to realize that folks’ incomes are so volatile month to month and that maybe one month food is the issue, but maybe the next month lights are the issue, and the next month housing’s the issue, and then life happens, and then something else, a kid gets sick.</p>
57
+ <p>That there’s no government official, there’s no government program, and there’s no government leader that’s smart enough to think of all the ways every single person in their community are going to need money. Cash allows for flexibility, which is something I didn’t appreciate, and that cash isn’t necessarily– Especially a small amount like $500, can’t be a replacement for the existing safety net. It’s about being mindful about the ways in which people use cash.</p>
58
+ <p>Then we also learned that– My biggest learning besides the data was that so much of our government, so much of our policy isn’t based off rigorous data, isn’t based off rigorous analysis, isn’t based off best practice, is based off narrative and fables, is based off vibes, is based off stories people misunderstood from Bible study when they were kids. [chuckles] It’s really not rooted in anything real, and that gave me so much courage because starting off, it was very scary because literally everybody was like, Democrats and Republicans, “You can’t do that. No, it’s not going to work. No, it’s not going to work.”</p>
59
+ <p>Then after we cracked and pushed, it was like, “Oh, the status quo is not really built on anything sturdy.” If you push and crack and question a little bit, it can move, and it’s like, “Oh, yes.” Now it’s like a no-brainer. Now we’re figuring out how much money to give to people, to who, and how come it doesn’t help with kids’ brain development? Now the pendulum has swung so much where it’s not even a radical idea when just eight years ago it was a ridiculous notion to most people.</p>
60
+ <p><b>[00:20:12] Amanda: </b>One of my questions that Ive been really thinking about when it comes to universal basic income is how important is it, or was it at the time when you did this, that the money was an infusion at a moment versus safety net, which is supposed to be there to hold you up?</p>
61
+ <p><b>[00:20:31] Michael: </b>To be honest, we couldn’t even grapple with those second-order questions because the first question was, can we just give people money? Whether it’s one time, whether it’s every month, whether it’s a week. The big question we were trying to answer is, can we just give people money? I was agnostic as to what it was going to be used for. Because I was curious myself.</p>
62
+ <p>I mean, we try everything, but let’s try trusting people with money and see what happens. Then since then, the discussion has evolved into, is it a safety net? Is it a one-time stimulus? Is there an amount of time? Should it just be a monthly thing? I’m actually shocked that we’re able to ask that question now because there was so much vitriol towards even giving money. I even think the fact that that question is posed is like a real victory. Like, “Wow, folks, we’ve established that giving money is not bad.”</p>
63
+ <p><b>[00:21:26] Amanda: </b>Heck yes. It is really, as we’re thinking about it, for folks who are trying new ideas in government, I think what you’re posing here is it’s not clear sometimes what the long run is going to be. You see a problem, you fix it. Part of the creativity in government, and why I’m so excited to talk to government leaders who try new things, is because where they thought it was going to start doesn’t necessarily end up what ends up happening with it. Universal basic income might actually be part of the new safety net after all these changes are happening with policy right now today and they’ve evolved.</p>
64
+ <p>It’s a real discussion about how do you do this. Not only the benefit itself, but the delivery of the benefit. Should it be at a city level versus a state level versus a federal government? I mean, all those questions. We are living at a time when those are all up in the air. To have these examples of people doing government fixes in the moment really is going to be the foundation for what does this look like in the future. You couldn’t have anticipated that at the time. One of the things you talk about is government being designed to say no rather than yes. What does government that says yes look like in your mind?</p>
65
+ <p><b>[00:22:46] Michael: </b>I think a government that says yes is deeply committed not to being right, but to getting it right. I tell people all the time, I don’t think people expect perfection, but they do expect progress. I get it. As a government, as a former mayor, former city council member, I understand you dont want to innovate on water delivery without rigorous testing because people drink fat.</p>
66
+ <p>There’s some things that you need to be very clear about, but there’s some things you can. What does policing look like in the 21st century? What does social workers and mental health professionals as part of our safety strategy, what does that look like? Thats something that we should be rigorously trying because we know that policing in and of itself does not create the safety people deserve. What does simple things like constituent services look like? Why is it so difficult for a family to know all the programs the city offers for their five-year-old?</p>
67
+ <p>The work you guys have been doing, I’m such a big fan of that. I’ve been talking about it all the time. How do we just deliver the benefits we’ve already paid for? SNAP while we still have it. I’m obsessed with this idea of a common app. Why do I have to fill out five different forms to the same government? Just find a way to cross-list it and cross-check. The issue is not even tech, it’s all legal and man-made and made up. We can actually solve those things. I think if we do that, you’ll have people who will see government as a force of good. Government can actually help. Government’s part of making things better versus just being in the way or sucking up all my time and not being efficient.</p>
68
+ <p><b>[00:24:24] Amanda: </b>Yes. That’s it. There’s no reason why government can’t do that. The vision is there. Then when you get on the backend, you realize, “Okay, we got to mix this department with that department.” They’re dealing with legacy systems. I suspect when you became mayor, one of the things you saw immediately was the backend systems and the tech system. It’s not just that you’re dealing with the politics and people are pushing you on a new idea. Then you get there and you’re like, “Wait a second, this place, I understand why it can’t move fast.” What did you do with that?</p>
69
+ <p><b>[00:24:58] Michael: </b>I remember the big joke when I became mayor was that the only thing I was older than was our legacy system, but only by a year. We were using technology from 1990 in 2016 in Stockton. Our payroll department wasn’t a department. It was a woman with like– It wasn’t even a spreadsheet. It’s something I’ve never seen before in my life. It was like a black screen with freaking green.</p>
70
+ <p><b>[00:25:26] Amanda: </b>[laughs] Yes.</p>
71
+ <p><b>[00:25:28] Michael: </b>I was like, “Wait, this is how were getting paid? This is crazy. I need my paycheck.” It was stuff like that. Our police chief, Eric Jones, he was very innovative. He figured out some workarounds. His stuff was state-of-the-art, but the rest of the city was moving so slow. Then this is where I learned the delta between any change and the necessary change isn’t that big. If you’re going to change it, just change it.</p>
72
+ <p>Then our city management time went through a transition to a 2010, 2012 legacy system. It took so much work and so much breaking and re-breaking and figuring out how to work. By the time it was done, that system was now outdated. [chuckles] I was like, “We should have just went for the ultimate because now we have to do the same thing again.” It was just such a primer that those fundamentals matter, that the messiness matters, that the minutiae matters, that the work of the infrastructure, the bones, it matters.</p>
73
+ <p>Another example I remember is we were talking about guaranteeing income statewide and how do we do that. Part of the issue was like, “Okay, how do we disperse the money?” Luckily, we had to do some policy stuff or some backdoor stuff with the franchise tax board to get them able to deliver money. It was like, “Wow.” Part of my vision for government is to do the sexy stuff, we have to do the unsexy stuff first. We have to make sure our systems, that we’re ready for innovation. We’re ready. We have the guardrails and the track and the road because I think what people get frustrated by is they want to plant the tree, but there’s no dirt. It’s just concrete.</p>
74
+ <p>Part of the work is, I think, and that’s the work Code for America does so well, which is why you all have been so effective, is understanding like, “No, look, we understand technology exists, but it has to interact with– Or the current system has to be ready for the change.”</p>
75
+ <p><b>[00:27:29] Amanda: </b>Yes. That’s what we spend so much time really learning. In the tech sector that’s moving so fast, there’s this philosophy that you can have a product and it’s perfect and it’s amazing and it can be just like you order DoorDash or something on Amazon. You’re like, “Right,” but in government, you have to link to systems that are really old or you have to have the resources to be able to redo those systems.</p>
76
+ <p>If you’re going to redo those systems, you also have to have the tech talent to figure out how to do it and how to do it in a way that is right for government. I don’t know how many talks I’ve been on with tech folks. We’re like, “Why is government so slow? We have such a great product. What’s wrong with them?” I have really appreciated seeing the rise of young folks and tech people get into government to go, “Oh, I get it.”</p>
77
+ <p>I see where to your question, which is I got to link into an old system, or where is the path for a brand new system? Because you might as well go there because you’re going to have to do it again. To your point, when you make a little change, it’s as big as making a big change [chuckles] because nothing– It’s just a bureaucracy.</p>
78
+ <p><b>[00:28:37] Michael: </b>It’s the same amount of effort. Its the same effort.</p>
79
+ <p><b>[00:28:41] Amanda: </b>You have seen government now at the local level and you also saw it at state level. Your takeaways from that transition?</p>
80
+ <p><b>[00:28:50] Michael: </b>Yes. California is so huge. It’s a nation state. It’s the fourth or fifth largest economy in the world for a reason, in that we spend so much time focused on the governor and lieutenant governor and the legislature, but not nearly enough time focused on the bureaucracy. The people and the systems and the folks who will be there regardless of who the governor is and who’s not and how they need to be a part of the change and part of the push and part of, “Let’s make this better.”</p>
81
+ <p>I remember spending a lot of time with some folks at the tech level of our state government figuring out the common– I was very serious about this common app thing. I was like, “What’s the issue?” We did a little plug-in, I think, with you all on SNAP benefits to tell people what they qualified for. I was like, “Yes, that’s great work and it’s an improvement,” but that took a lot. Why not just make it so we just auto-approve? Why can’t we just auto-approve people? Just help me understand why. It wasn’t anything, in my opinion, insurmountable. It was literally just legal. Never legal like the law, like legal– It was just about people could opt in for their privacy. I’m sure folks would be less upset if you use the data that I gave to you to match it with this other data set for the same person I gave–</p>
82
+ <p>I realize that so much leadership is needed to get folks to just think differently, or to think about, “Okay, how do we, within the frameworks of data privacy and security and et cetera, how do we make it work?” Because again, it makes no sense to anyone that if I’m sending you information, why can’t you share that information with the same organization in the– Because I don’t know I’m sending it to HSS. I know I’m sending it to the state. I don’t know why I have to go through all these loops. I’m still fascinated by that. That’s a problem I will continue to work on.</p>
83
+ <p><b>[00:30:47] Amanda: </b>It is interesting, just the framing of it. Right back in the day, you go to all the different buildings and in this remote young environment, they’re like, “What do you mean? Why can’t I just–? I see one government, why can’t–?” We can, right? It’s just going to take some time.</p>
84
+ <p><b>[00:31:02] Michael: </b>It’s going to take some time and real focus. No, we have to figure it out.</p>
85
+ <p><b>[00:31:06] Amanda: </b>That’s right. Intentional focus with leaders like you, people who are thinking about innovative ideas and bringing it together. As I say to folks, I know government looks scary right now, but I also believe it’s being rewritten right now for what the future is going to look like. While I’ve always said, “It’s a good time to be in government, come take a look, come be in it, come be part of writing that,” we literally are seeing history in the making, not only in our political sphere, but undoubtedly that leads to what happens on implementation.</p>
86
+ <p>To be in states right now, even though it’s scary and there’s a lot moving at this moment, it’s the people who are in there trying these innovative ideas saying, “Okay, we got to do it now differently.” That kind of mindset, I appreciate. I appreciate getting the chance to talk to you. My last question is, if you had a magic wand to change one thing about how government works, not policy, but how it actually functions and serves people, what would you fix first?</p>
87
+ <p><b>[00:32:08] Michael: </b>Well, that’s actually the problem I’m working on. I realize that so much of city staff time is spent writing and looking up documents and going back two years. I forgot what the general plan says and how it relates to the Parks and Rec plan to apply for this grant and to write the staff report. I’m working on AI tools that will let city government workers do jobs that’s not like going through bad data and records to try to create something, but allow the AI to be the institutional memory and with a really fine-tuned, trained LLM that can help draft and write and save staff incredible amounts of time so they can actually be out in community doing community work.</p>
88
+ <p>I just think that’s like a little thing, but can have a huge impact. With all these government employees that are retiring anyway, so much institutional memory is leaving, and no one in the city knows how all the documents talk to each other, but there’s technology that can. I’m so obsessed with the idea. It’s called Civic AI. We’re piloting with a couple cities now, but that’s the problem I want to help solve in the next couple of years.</p>
89
+ <p><b>[00:33:11] Amanda: </b>Well, I hear you because we’re doing that kind of thing at the state level. I think people would be surprised to hear that they’re like– We worked in one state where there were boxes, and literally they had 10 full-time staff, half of them printing and putting the paper in boxes, half of them taking those papers out and scanning them so that there’s a digital copy. I mean, we can do so much better than that.</p>
90
+ <p><b>[00:33:35] Michael: </b>Also, no one’s reading them. No one’s reading them. No one knows what these documents say.</p>
91
+ <p><b>[00:33:40] Amanda: </b>You don’t have time to get to them. It’s wonderful to be in partnership with you. Always, no doubt, us Central Valley kids are trying to figure this thing out, and I’m always lucky to have you as a partner in this space. Thanks so much for joining us, and look forward to the next time we cross paths.</p>
92
+ <p><b>[00:33:55] Michael: </b>Yes, thanks so much for having me.</p>
93
+ <p><i>[Music transition]</i></p>
94
+ <p><b>[00:34:06] Amanda: </b>After talking to Michael Tubbs, what really struck me is how important it is to meet people where they are. It’s important to listen to the communities we serve and see what they actually need. Maybe that one-time cash payment is just the thing to get someone back on their feet. I also liked how Tubbs talked about the next generation. His quote, “They don’t wait for the talking points, they don’t wait for the polls,” really landed with me. It’s exciting to hear how young people have a lot of fresh ideas about how to solve our biggest problems in this country.</p>
95
+ <p>I also liked hearing Tubbs talk about unsexy systems. A government that just works means we’ve got to get the basics right. How does this work, and how do we fund it, and how is it going to really reach people? That’s all for today on <i>The Government Fix</i>. Thanks for listening.</p>
96
+ <p><i>[Music plays]</i></p>
97
+ <p><b>[00:35:00] Amanda: </b>This podcast is brought to you by Code for America, the country’s leading civic tech nonprofit for over 15 years. We believe that government can work for the people, by the people, in the new digital age. We work with government at all levels across the country to make the delivery of public service better with technology. We partner with community organizations and governments to build digital tools, change policy, and improve programs. Our goal: a resilient government that works well for everyone. Learn more at codeforamerica.org.</p>
98
+ <p><i>[Theme music fades out]</i></p>
163
99
  </cfa-transcript>
164
100
  `;
165
101