@codeforamerica/marcomms-design-system 1.21.0 → 1.21.2

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.
@@ -1,877 +1,2 @@
1
1
  /*! For license information please see card.js.LICENSE.txt */
2
- (()=>{"use strict";var t={953(t,e,i){var r=i(161),s=i(601),a=i(205);class n extends r.WF{static properties={color:""};static styles=(()=>[s.s,a.g,r.AH`
3
- .label {
4
- --background-color: var(--gray-20);
5
- --text-color: var(--black, #000);
6
-
7
- background-color: var(--background-color);
8
- color: var(--text-color);
9
- display: inline-block;
10
- line-height: 1em;
11
- padding: var(--spacing-component-2) var(--spacing-component-3);
12
- }
13
-
14
- .label[color="white"] {
15
- --background-color: var(--white, #fff);
16
- box-shadow: var(--shadow-small);
17
- }
18
-
19
- .label[color="purple"] {
20
- --background-color: var(--purple-20);
21
- }
22
-
23
- .label[color="red"] {
24
- --background-color: var(--red-20);
25
- }
26
-
27
- .label[color="blue"] {
28
- --background-color: var(--blue-20);
29
- }
30
-
31
- .label[color="green"] {
32
- --background-color: var(--green-20);
33
- }
34
-
35
- .label[color="yellow"] {
36
- --background-color: var(--yellow-20);
37
- }
38
- `])();render(){return r.qy`
39
- <div class="label small strong" color="${this.color}">
40
- <slot />
41
- </div>
42
- `}}customElements.get("cfa-label")||customElements.define("cfa-label",n)},601(t,e,i){i.d(e,{s:()=>r});const r=i(161).AH`
43
- *:focus-visible,
44
- *:target {
45
- outline: var(--focus-outline);
46
- position: relative;
47
- }
48
-
49
- // RESET
50
-
51
- // Use a more-intuitive box-sizing model.
52
- *, *::before, *::after {
53
- box-sizing: border-box;
54
- }
55
-
56
- // Remove default margin
57
- * {
58
- margin: 0;
59
- }
60
-
61
- // Set default text-wrap of 'pretty'
62
- * {
63
- text-wrap: pretty;
64
- }
65
-
66
- // Wrap overly long words
67
- * {
68
- overflow-wrap: break-word;
69
- text-overflow: ellipsis;
70
- word-break: break-word;
71
- }
72
-
73
- // Fix Safari antialiasing for variable fonts
74
- * {
75
- font-synthesis: none !important;
76
- }
77
-
78
- // Improve text rendering
79
- body {
80
- -webkit-font-smoothing: antialiased;
81
- }
82
-
83
- // Reasonable media defaults
84
- img, picture, video, canvas, svg {
85
- display: block;
86
- height: auto;
87
- max-width: 100%;
88
- }
89
-
90
- // Remove built-in form typography styles
91
- input, button, textarea, select {
92
- font: inherit;
93
- }
94
-
95
- // Avoid text overflows
96
- p, h1, h2, h3, h4, h5, h6 {
97
- overflow-wrap: break-word;
98
- }
99
-
100
- // Create a root stacking context
101
- #root, #__next {
102
- isolation: isolate;
103
- }
104
- `},205(t,e,i){i.d(e,{g:()=>r});const r=i(161).AH`
105
- // =====
106
-
107
- // Typography spacing
108
-
109
- // Add a single space around paragraphs, blockquotes, and lists
110
- p, ul, ol, blockquote {
111
- & + * {
112
- margin-block-start: var(--spacing, var(--spacing-layout-1, 1.5rem));
113
- }
114
- * + & {
115
- margin-block-start: var(--spacing, var(--spacing-layout-1, 1.5rem));
116
- }
117
- }
118
-
119
- h1, h2, h3, h4, .h1, .h2, .h3, .h4, .display-1, .display-2 {
120
- // Add a single line space after headings
121
- & + * {
122
- margin-block-start: var(--spacing, var(--spacing-layout-1, 1.5rem));
123
- }
124
-
125
- // Add two line spaces before headings
126
- * + & {
127
- --spacing: var(--spacing-layout-2);
128
-
129
- margin-block-start: --spacing;
130
- }
131
-
132
- // Only add a single space between headings and other headings
133
- & + & {
134
- --spacing: var(--spacing-layout-1);
135
- }
136
-
137
- // Reduce space after breadcrumbs and eyebrows
138
- cfa-breadcrumbs + & {
139
- margin-block-start: var(--spacing-layout-half) !important;
140
- }
141
-
142
- .eyebrow + & {
143
- margin-block-start: 0 !important;
144
- }
145
- }
146
-
147
- h1, .h1, .display-1, .display-2 {
148
- text-wrap: balance;
149
- }
150
-
151
- // =====
152
-
153
- // Font styles
154
-
155
- .regular {
156
- font-family: var(--font-family-base);
157
- font-size: var(--font-size);
158
- line-height: var(--line-height);
159
- }
160
-
161
- .display-1 {
162
- font-family: var(--font-family-heading);
163
- font-size: var(--font-size-display-1);
164
- font-weight: bold;
165
- line-height: var(--line-height-display-1);
166
- letter-spacing: var(--letter-spacing-display-1);
167
- }
168
-
169
- .display-2 {
170
- font-family: var(--font-family-heading);
171
- font-size: var(--font-size-display-2);
172
- font-weight: bold;
173
- line-height: var(--line-height-display-2);
174
- letter-spacing: var(--letter-spacing-display-2);
175
- }
176
-
177
- h1,
178
- .h1 {
179
- font-family: var(--font-family-heading);
180
- font-size: var(--font-size-h1);
181
- font-weight: bold;
182
- line-height: var(--line-height-h1);
183
- letter-spacing: var(--letter-spacing-h1);
184
- }
185
-
186
- h2,
187
- .h2 {
188
- font-family: var(--font-family-heading);
189
- font-size: var(--font-size-h2);
190
- font-weight: bold;
191
- line-height: var(--line-height-h2);
192
- letter-spacing: var(--letter-spacing-h2);
193
- }
194
-
195
- h3,
196
- .h3 {
197
- font-family: var(--font-family-heading);
198
- font-size: var(--font-size-h3);
199
- font-weight: bold;
200
- line-height: var(--line-height-h3);
201
- letter-spacing: var(--letter-spacing-h3);
202
- }
203
-
204
- h4,
205
- .h4 {
206
- font-family: var(--font-family-heading);
207
- font-size: var(--font-size-h4);
208
- font-weight: bold;
209
- line-height: var(--line-height-h4);
210
- letter-spacing: var(--letter-spacing-h4);
211
- }
212
-
213
- .extra-large {
214
- font-size: var(--font-size-extra-large);
215
- line-height: var(--line-height-extra-large);
216
- letter-spacing: var(--letter-spacing-extra-large);
217
- }
218
-
219
- .large {
220
- font-size: var(--font-size-large);
221
- line-height: var(--line-height-large);
222
- letter-spacing: var(--letter-spacing-large);
223
- }
224
-
225
- .small {
226
- font-size: var(--font-size-small);
227
- line-height: var(--line-height-small);
228
- letter-spacing: var(--letter-spacing-small);
229
- }
230
-
231
- .eyebrow {
232
- font-family: var(--font-family-sans-serif);
233
- font-size: var(--font-size-eyebrow);
234
- font-weight: var(--font-weight-eyebrow);
235
- letter-spacing: var(--letter-spacing-eyebrow);
236
- line-height: var(--line-height-eyebrow);
237
- text-transform: uppercase;
238
- }
239
-
240
- .eyebrow-with-line {
241
- align-items: center;
242
- color: var(--text-color);
243
- display: flex;
244
- font-family: var(--font-family-eyebrow);
245
- font-size: var(--font-size-eyebrow);
246
- font-weight: var(--font-weight-eyebrow);
247
- letter-spacing: var(--letter-spacing-eyebrow);
248
- line-height: var(--line-height-eyebrow);
249
- margin-block-end: var(--spacing-layout-half);
250
- position: relative;
251
- text-transform: uppercase;
252
-
253
- &::after {
254
- border-block-end: var(--hairline) solid currentColor;
255
- content: "";
256
- flex-grow: 1;
257
- margin-left: var(--spacing-component-3);
258
- }
259
- }
260
-
261
- .subtle {
262
- opacity: 0.6;
263
- }
264
-
265
- .serif {
266
- font-family: var(--font-family-serif);
267
- }
268
-
269
- .sans-serif {
270
- font-family: var(--font-family-sans-serif);
271
- }
272
-
273
- i,
274
- em,
275
- .italic {
276
- font-style: italic;
277
- }
278
-
279
- b,
280
- strong,
281
- .strong {
282
- font-weight: bold;
283
- }
284
-
285
- .normal {
286
- font-weight: normal;
287
- }
288
-
289
- .balance {
290
- text-wrap: balance;
291
- }
292
-
293
- .prominent-link,
294
- a.prominent-link {
295
- --accent-color: var(--purple-60);
296
-
297
- font-weight: bold;
298
- text-decoration: underline;
299
- text-decoration-color: var(--accent-color);
300
- text-decoration-thickness: var(--medium);
301
- text-underline-offset: 0.4em;
302
- transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out;
303
-
304
- &:hover {
305
- --accent-color: var(--red-60);
306
- }
307
-
308
- &:not(:has(cfa-icon))::after {
309
- @include icon.icon;
310
-
311
- content: "arrow_right_alt";
312
- display: inline-block;
313
- padding-inline-start: 0.1em;
314
- text-decoration: none;
315
- transition: padding 0.2s ease-in-out;
316
- width: 1em;
317
- }
318
-
319
- &:not(:has(cfa-icon)):hover::after {
320
- padding-inline-start: 0.3em;
321
- }
322
-
323
- cfa-icon {
324
- text-decoration: none;
325
- }
326
- }
327
-
328
- .white-text,
329
- .text-light /* fallback */ {
330
- -moz-osx-font-smoothing: grayscale; // Sharper antialising for white text on a dark background
331
- -webkit-font-smoothing: antialiased; // Sharper antialising for white text on a dark background
332
- color: var(--white);
333
- --link-color: var(--white);
334
- --link-hover-color: var(--white);
335
- }
336
-
337
- // =====
338
-
339
- // Highlights
340
-
341
- .highlight {
342
- --highlight-offset: 0.2em;
343
-
344
- box-decoration-break: clone;
345
- display: inline;
346
- background: linear-gradient(to top, transparent 0%, transparent var(--highlight-offset), var(--highlight-color) var(--highlight-offset), var(--highlight-color) calc(var(--highlight-offset) + var(--highlight-thickness)), transparent calc(var(--highlight-offset) + var(--highlight-thickness)), transparent 100%);
347
- padding-inline: 0.1em;
348
- -webkit-box-decoration-break: clone;
349
- margin-inline-start: -0.1em;
350
- margin-inline-end: -0.1em;
351
- word-wrap: break-word;
352
- }
353
-
354
- // ======
355
-
356
- // Lists
357
-
358
- .ul {
359
- list-style-type: disc;
360
- padding-left: var(--spacing-layout-1);
361
- }
362
-
363
- .ul > li {
364
- margin-inline-start: 0;
365
- padding-left: var(--spacing-component-2);
366
- }
367
-
368
- .ul > li + li {
369
- margin-block-start: var(--spacing-layout-half);
370
- }
371
-
372
- .ul > li > ul {
373
- margin-block-start: var(--spacing-layout-half);
374
- }
375
-
376
- .ol {
377
- list-style-type: decimal;
378
- padding-left: var(--spacing-layout-1);
379
- }
380
-
381
- .ol > li {
382
- margin-inline-start: 0;
383
- padding-inline-start: var(--spacing-component-2);
384
- }
385
-
386
- .ol > li + li {
387
- margin-block-start: var(--spacing-layout-half);
388
- }
389
-
390
- .ol > li > ul {
391
- margin-block-start: var(--spacing-layout-half);
392
- }
393
-
394
- .ul--unstyled {
395
- list-style: none;
396
- padding: 0;
397
- }
398
-
399
- .ul--unstyled > li {
400
- margin-inline: 0;
401
- padding: 0;
402
- }
403
-
404
- .ul--line-separators > li + li::before {
405
- border-block-start: 1px solid var(--gray-20);
406
- content: "";
407
- display: block;
408
- margin-block: var(--spacing-layout-half);
409
- width: 100%;
410
- }
411
-
412
- .ul--inline,
413
- .ul--inline-with-separators,
414
- .ul--inline-with-line-separators {
415
- display: inline;
416
- list-style: none;
417
- padding-inline: 0 !important;
418
- padding-left: 0 !important;
419
- }
420
-
421
- .ul--inline > li,
422
- .ul--inline-with-separators > li,
423
- .ul--inline-with-line-separators > li {
424
- display: inline-block;
425
- margin-inline-end: var(--spacing-component-3);
426
- padding: 0 !important;
427
- }
428
-
429
- .ul--inline li:last-child,
430
- .ul--inline-with-separators li:last-child,
431
- .ul--inline-with-line-separators li:last-child {
432
- margin-inline-end: 0;
433
- }
434
-
435
- .ul--inline > li + li,
436
- .ul--inline-with-separators > li + li,
437
- .ul--inline-with-line-separators > li + li {
438
- margin-block-start: 0;
439
- }
440
-
441
- .ul--inline-with-separators li,
442
- .ul--inline-with-line-separators li {
443
- margin-inline-end: 0;
444
- }
445
-
446
- .ul--inline-with-separators > li::after {
447
- content: "•";
448
- margin-inline: var(--spacing-component-2);
449
- opacity: 0.5;
450
- }
451
-
452
- .ul--inline-with-separators > li:last-child::after {
453
- content: "";
454
- }
455
-
456
- .ul--inline-with-line-separators > li::after {
457
- content: "|";
458
- margin-inline: var(--spacing-component-2);
459
- opacity: 0.5;
460
- }
461
-
462
- .ul--inline-with-line-separators > li:last-child::after {
463
- content: "";
464
- }
465
-
466
- // ===
467
-
468
- // Horizontal rule
469
-
470
- hr {
471
- --color: currentColor;
472
-
473
- background-color: var(--color);
474
- border: 0;
475
- color: var(--color);
476
- display: block;
477
- font-size: 0;
478
- height: var(--hairline);
479
- margin-block: var(--spacing-layout-1);
480
- opacity: 0.4;
481
- }
482
-
483
- // ===
484
-
485
- // Icons
486
-
487
- .icon {
488
- -webkit-font-feature-settings: 'liga';
489
- direction: ltr;
490
- display: inline-block;
491
- font-family: 'Material Symbols Rounded';
492
- font-feature-settings: 'liga';
493
- font-size: 1.4em;
494
- font-style: normal;
495
- font-weight: normal;
496
- letter-spacing: normal;
497
- text-transform: none;
498
- vertical-align: middle;
499
- white-space: nowrap;
500
- word-wrap: normal;
501
- }
502
- `},826(t,e,i){i.d(e,{AH:()=>l,Rf:()=>h,sk:()=>c});const r=globalThis,s=r.ShadowRoot&&(void 0===r.ShadyCSS||r.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,a=Symbol(),n=new WeakMap;class o{constructor(t,e,i){if(this._$cssResult$=!0,i!==a)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(s&&void 0===t){const i=void 0!==e&&1===e.length;i&&(t=n.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),i&&n.set(e,t))}return t}toString(){return this.cssText}}const l=(t,...e)=>{const i=1===t.length?t[0]:e.reduce((e,i,r)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+t[r+1],t[0]);return new o(i,t,a)},h=(t,e)=>{if(s)t.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const i of e){const e=document.createElement("style"),s=r.litNonce;void 0!==s&&e.setAttribute("nonce",s),e.textContent=i.cssText,t.appendChild(e)}},c=s?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return(t=>new o("string"==typeof t?t:t+"",void 0,a))(e)})(t):t},760(t,e,i){i.d(e,{AH:()=>r.AH,mN:()=>y});var r=i(826);const{is:s,defineProperty:a,getOwnPropertyDescriptor:n,getOwnPropertyNames:o,getOwnPropertySymbols:l,getPrototypeOf:h}=Object,c=globalThis,d=c.trustedTypes,p=d?d.emptyScript:"",g=c.reactiveElementPolyfillSupport,u=(t,e)=>t,f={toAttribute(t,e){switch(e){case Boolean:t=t?p:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},v=(t,e)=>!s(t,e),m={attribute:!0,type:String,converter:f,reflect:!1,useDefault:!1,hasChanged:v};Symbol.metadata??=Symbol("metadata"),c.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=m){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,e);void 0!==r&&a(this.prototype,t,r)}}static getPropertyDescriptor(t,e,i){const{get:r,set:s}=n(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get:r,set(e){const a=r?.call(this);s?.call(this,e),this.requestUpdate(t,a,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??m}static _$Ei(){if(this.hasOwnProperty(u("elementProperties")))return;const t=h(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(u("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(u("properties"))){const t=this.properties,e=[...o(t),...l(t)];for(const i of e)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,i]of e)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const i=this._$Eu(t,e);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const t of i)e.unshift((0,r.sk)(t))}else void 0!==t&&e.push((0,r.sk)(t));return e}static _$Eu(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.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(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const i of e.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return(0,r.Rf)(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,i){this._$AK(t,i)}_$ET(t,e){const i=this.constructor.elementProperties.get(t),r=this.constructor._$Eu(t,i);if(void 0!==r&&!0===i.reflect){const s=(void 0!==i.converter?.toAttribute?i.converter:f).toAttribute(e,i.type);this._$Em=t,null==s?this.removeAttribute(r):this.setAttribute(r,s),this._$Em=null}}_$AK(t,e){const i=this.constructor,r=i._$Eh.get(t);if(void 0!==r&&this._$Em!==r){const t=i.getPropertyOptions(r),s="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:f;this._$Em=r;const a=s.fromAttribute(e,t.type);this[r]=a??this._$Ej?.get(r)??a,this._$Em=null}}requestUpdate(t,e,i,r=!1,s){if(void 0!==t){const a=this.constructor;if(!1===r&&(s=this[t]),i??=a.getPropertyOptions(t),!((i.hasChanged??v)(s,e)||i.useDefault&&i.reflect&&s===this._$Ej?.get(t)&&!this.hasAttribute(a._$Eu(t,i))))return;this.C(t,e,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,e,{useDefault:i,reflect:r,wrapped:s},a){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,a??e??this[t]),!0!==s||void 0!==a)||(this._$AL.has(t)||(this.hasUpdated||i||(e=void 0),this._$AL.set(t,e)),!0===r&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,i]of t){const{wrapped:t}=i,r=this[e];!0!==t||this._$AL.has(e)||void 0===r||this.C(e,void 0,i,r)}}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(e)):this._$EM()}catch(e){throw t=!1,this._$EM(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:"open"},y[u("elementProperties")]=new Map,y[u("finalized")]=new Map,g?.({ReactiveElement:y}),(c.reactiveElementVersions??=[]).push("2.1.2")},228(t,e,i){i.d(e,{AH:()=>r.AH,JW:()=>s.JW,WF:()=>n,qy:()=>s.qy,s6:()=>s.s6});var r=i(760),s=i(752);const a=globalThis;class n extends r.mN{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=(0,s.XX)(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return s.c0}}n._$litElement$=!0,n.finalized=!0,a.litElementHydrateSupport?.({LitElement:n});const o=a.litElementPolyfillSupport;o?.({LitElement:n}),(a.litElementVersions??=[]).push("4.2.2")},752(t,e,i){i.d(e,{JW:()=>k,XX:()=>B,c0:()=>E,qy:()=>A,s6:()=>S});const r=globalThis,s=t=>t,a=r.trustedTypes,n=a?a.createPolicy("lit-html",{createHTML:t=>t}):void 0,o="$lit$",l=`lit$${Math.random().toFixed(9).slice(2)}$`,h="?"+l,c=`<${h}>`,d=document,p=()=>d.createComment(""),g=t=>null===t||"object"!=typeof t&&"function"!=typeof t,u=Array.isArray,f="[ \t\n\f\r]",v=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,m=/-->/g,y=/>/g,b=RegExp(`>|${f}(?:([^\\s"'>=/]+)(${f}*=${f}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),$=/'/g,w=/"/g,_=/^(?:script|style|textarea|title)$/i,x=t=>(e,...i)=>({_$litType$:t,strings:e,values:i}),A=x(1),k=x(2),E=(x(3),Symbol.for("lit-noChange")),S=Symbol.for("lit-nothing"),C=new WeakMap,T=d.createTreeWalker(d,129);function z(t,e){if(!u(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==n?n.createHTML(e):e}const P=(t,e)=>{const i=t.length-1,r=[];let s,a=2===e?"<svg>":3===e?"<math>":"",n=v;for(let e=0;e<i;e++){const i=t[e];let h,d,p=-1,g=0;for(;g<i.length&&(n.lastIndex=g,d=n.exec(i),null!==d);)g=n.lastIndex,n===v?"!--"===d[1]?n=m:void 0!==d[1]?n=y:void 0!==d[2]?(_.test(d[2])&&(s=RegExp("</"+d[2],"g")),n=b):void 0!==d[3]&&(n=b):n===b?">"===d[0]?(n=s??v,p=-1):void 0===d[1]?p=-2:(p=n.lastIndex-d[2].length,h=d[1],n=void 0===d[3]?b:'"'===d[3]?w:$):n===w||n===$?n=b:n===m||n===y?n=v:(n=b,s=void 0);const u=n===b&&t[e+1].startsWith("/>")?" ":"";a+=n===v?i+c:p>=0?(r.push(h),i.slice(0,p)+o+i.slice(p)+l+u):i+l+(-2===p?e:u)}return[z(t,a+(t[i]||"<?>")+(2===e?"</svg>":3===e?"</math>":"")),r]};class U{constructor({strings:t,_$litType$:e},i){let r;this.parts=[];let s=0,n=0;const c=t.length-1,d=this.parts,[g,u]=P(t,e);if(this.el=U.createElement(g,i),T.currentNode=this.el.content,2===e||3===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=T.nextNode())&&d.length<c;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(o)){const e=u[n++],i=r.getAttribute(t).split(l),a=/([.?@])?(.*)/.exec(e);d.push({type:1,index:s,name:a[2],strings:i,ctor:"."===a[1]?N:"?"===a[1]?q:"@"===a[1]?L:R}),r.removeAttribute(t)}else t.startsWith(l)&&(d.push({type:6,index:s}),r.removeAttribute(t));if(_.test(r.tagName)){const t=r.textContent.split(l),e=t.length-1;if(e>0){r.textContent=a?a.emptyScript:"";for(let i=0;i<e;i++)r.append(t[i],p()),T.nextNode(),d.push({type:2,index:++s});r.append(t[e],p())}}}else if(8===r.nodeType)if(r.data===h)d.push({type:2,index:s});else{let t=-1;for(;-1!==(t=r.data.indexOf(l,t+1));)d.push({type:7,index:s}),t+=l.length-1}s++}}static createElement(t,e){const i=d.createElement("template");return i.innerHTML=t,i}}function H(t,e,i=t,r){if(e===E)return e;let s=void 0!==r?i._$Co?.[r]:i._$Cl;const a=g(e)?void 0:e._$litDirective$;return s?.constructor!==a&&(s?._$AO?.(!1),void 0===a?s=void 0:(s=new a(t),s._$AT(t,i,r)),void 0!==r?(i._$Co??=[])[r]=s:i._$Cl=s),void 0!==s&&(e=H(t,s._$AS(t,e.values),s,r)),e}class O{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:e},parts:i}=this._$AD,r=(t?.creationScope??d).importNode(e,!0);T.currentNode=r;let s=T.nextNode(),a=0,n=0,o=i[0];for(;void 0!==o;){if(a===o.index){let e;2===o.type?e=new M(s,s.nextSibling,this,t):1===o.type?e=new o.ctor(s,o.name,o.strings,this,t):6===o.type&&(e=new W(s,this,t)),this._$AV.push(e),o=i[++n]}a!==o?.index&&(s=T.nextNode(),a++)}return T.currentNode=d,r}p(t){let e=0;for(const i of this._$AV)void 0!==i&&(void 0!==i.strings?(i._$AI(t,i,e),e+=i.strings.length-2):i._$AI(t[e])),e++}}class M{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,i,r){this.type=2,this._$AH=S,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=i,this.options=r,this._$Cv=r?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t?.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=H(this,t,e),g(t)?t===S||null==t||""===t?(this._$AH!==S&&this._$AR(),this._$AH=S):t!==this._$AH&&t!==E&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):(t=>u(t)||"function"==typeof t?.[Symbol.iterator])(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==S&&g(this._$AH)?this._$AA.nextSibling.data=t:this.T(d.createTextNode(t)),this._$AH=t}$(t){const{values:e,_$litType$:i}=t,r="number"==typeof i?this._$AC(t):(void 0===i.el&&(i.el=U.createElement(z(i.h,i.h[0]),this.options)),i);if(this._$AH?._$AD===r)this._$AH.p(e);else{const t=new O(r,this),i=t.u(this.options);t.p(e),this.T(i),this._$AH=t}}_$AC(t){let e=C.get(t.strings);return void 0===e&&C.set(t.strings,e=new U(t)),e}k(t){u(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,r=0;for(const s of t)r===e.length?e.push(i=new M(this.O(p()),this.O(p()),this,this.options)):i=e[r],i._$AI(s),r++;r<e.length&&(this._$AR(i&&i._$AB.nextSibling,r),e.length=r)}_$AR(t=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);t!==this._$AB;){const e=s(t).nextSibling;s(t).remove(),t=e}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class R{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,i,r,s){this.type=1,this._$AH=S,this._$AN=void 0,this.element=t,this.name=e,this._$AM=r,this.options=s,i.length>2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=S}_$AI(t,e=this,i,r){const s=this.strings;let a=!1;if(void 0===s)t=H(this,t,e,0),a=!g(t)||t!==this._$AH&&t!==E,a&&(this._$AH=t);else{const r=t;let n,o;for(t=s[0],n=0;n<s.length-1;n++)o=H(this,r[i+n],e,n),o===E&&(o=this._$AH[n]),a||=!g(o)||o!==this._$AH[n],o===S?t=S:t!==S&&(t+=(o??"")+s[n+1]),this._$AH[n]=o}a&&!r&&this.j(t)}j(t){t===S?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class N extends R{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===S?void 0:t}}class q extends R{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==S)}}class L extends R{constructor(t,e,i,r,s){super(t,e,i,r,s),this.type=5}_$AI(t,e=this){if((t=H(this,t,e,0)??S)===E)return;const i=this._$AH,r=t===S&&i!==S||t.capture!==i.capture||t.once!==i.once||t.passive!==i.passive,s=t!==S&&(i===S||r);r&&this.element.removeEventListener(this.name,this,i),s&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class W{constructor(t,e,i){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=i}get _$AU(){return this._$AM._$AU}_$AI(t){H(this,t)}}const j=r.litHtmlPolyfillSupport;j?.(U,M),(r.litHtmlVersions??=[]).push("3.3.2");const B=(t,e,i)=>{const r=i?.renderBefore??e;let s=r._$litPart$;if(void 0===s){const t=i?.renderBefore??null;r._$litPart$=s=new M(e.insertBefore(p(),t),t,void 0,i??{})}return s._$AI(t),s}},161(t,e,i){i.d(e,{AH:()=>r.AH,JW:()=>r.JW,WF:()=>r.WF,qy:()=>r.qy,s6:()=>r.s6}),i(760),i(752);var r=i(228)}},e={};function i(r){var s=e[r];if(void 0!==s)return s.exports;var a=e[r]={exports:{}};return t[r](a,a.exports,i),a.exports}i.d=(t,e)=>{for(var r in e)i.o(e,r)&&!i.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var r=i(161),s=i(601),a=i(205);i(953);class n extends r.WF{static properties={theme:{},linkUrl:{},linkTarget:{},visualType:{},visualUrl:{},visualThumbnailUrl:{},visualAltText:{},eyebrow:{},label:{},title:{},text:{},metaText:{},actionLabel:{}};static styles=(()=>[s.s,a.g,r.AH`
503
- :host {
504
- --action-border-color: var(--purple-20);
505
- --action-border-hover-color: var(--red-60);
506
- --action-text-color: var(--purple-60);
507
- --action-text-hover-color: var(--red-60);
508
- --bg-color: var(--white);
509
- --padding: var(--spacing-component-4);
510
- --text-color: var(--black);
511
-
512
- display: flex;
513
- flex-direction: column;
514
- margin-inline: auto;
515
- max-width: 100%;
516
- width: 100%;
517
- }
518
-
519
- .card,
520
- a.card {
521
- box-shadow: var(--shadow-small);
522
- border: var(--hairline) solid var(--gray-20);
523
- color: var(--text-color);
524
- display: flex;
525
- flex-direction: column;
526
- flex: 1;
527
- height: 100%;
528
- text-decoration: none;
529
- transition: 500ms;
530
- }
531
-
532
- a.card:hover {
533
- --action-color: var(--action-hover-color);
534
-
535
- box-shadow: var(--shadow-medium);
536
- }
537
-
538
- .content {
539
- background-color: var(--bg-color);
540
- display: flex;
541
- flex-direction: column;
542
- flex-grow: 1;
543
- gap: var(--spacing-layout-half);
544
- padding: var(--padding);
545
- }
546
-
547
- .header {
548
- align-items: start;
549
- display: flex;
550
- flex-direction: column;
551
- gap: var(--spacing-layout-half);
552
- }
553
-
554
- .body {
555
- display: flex;
556
- flex-flow: column nowrap;
557
- flex-grow: 1;
558
- gap: var(--spacing-layout-half);
559
- height: 100%;
560
- text-align: var(--text-alignment, start);
561
- }
562
-
563
- .footer {
564
- display: flex;
565
- flex-direction: column;
566
- gap: var(--spacing-layout-half);
567
- }
568
-
569
- .eyebrow {
570
- color: var(--purple-60);
571
- }
572
-
573
- .eyebrow + * {
574
- margin-block-start: var(--spacing-component-2);
575
- }
576
-
577
- .meta-text {
578
- color: var(--gray-60);
579
- border-block-start: var(--hairline) solid var(--gray-40);
580
- padding-block-start: var(--spacing-component-2);
581
- }
582
-
583
- .card:has(.action-label) .meta-text {
584
- border-block-end: var(--hairline) solid var(--gray-40);
585
- padding-block-end: var(--spacing-component-2);
586
- }
587
-
588
- .action-label {
589
- align-self: flex-start;
590
- color: var(--action-text-color);
591
- display: inline-block;
592
- font-size: var(--font-size-small);
593
- font-weight: bold;
594
- }
595
-
596
- a:hover .action-label {
597
- color: var(--action-text-hover-color);
598
- }
599
-
600
- .action-label::after {
601
- background: linear-gradient(
602
- to top,
603
- var(--action-border-hover-color) 0% 50%,
604
- var(--action-border-color) 50% 100%
605
- );
606
- background-position: 0% 0%;
607
- background-size: 100% 200%;
608
- content: "";
609
- display: block;
610
- height: var(--spacing-component-2);
611
- transition: background-position 0.3s;
612
- }
613
-
614
- a:hover .action-label::after {
615
- background-position: 0% 100%;
616
- }
617
-
618
- .visual {
619
- box-sizing: border-box;
620
- display: flex;
621
- height: auto;
622
- height: var(--spacing-layout-7);
623
- position: relative;
624
- width: 100%;
625
- }
626
-
627
- img {
628
- height: 100%;
629
- object-fit: cover;
630
- width: 100%;
631
- }
632
-
633
- .fallback-image {
634
- background-color: var(--purple-80);
635
- position: absolute;
636
- inline-start: 0;
637
- block-start: 0;
638
- width: 100%;
639
- height: 100%;
640
- z-index: 0;
641
- }
642
-
643
- .fallback-image svg {
644
- height: 100%;
645
- width: 100%;
646
- }
647
-
648
- .visual picture {
649
- position: relative;
650
- z-index: 1;
651
- width: 100%;
652
- }
653
-
654
- .image::after {
655
- block-end: 0;
656
- block-start: 0;
657
- bottom: 0;
658
- box-shadow: inset 0 -50px 50px -50px var(--black-60);
659
- content: "";
660
- inline-end: 0;
661
- inline-start: 0;
662
- position: absolute;
663
- z-index: 2;
664
- }
665
-
666
- .logo {
667
- background-color: var(--white, #fff);
668
- box-sizing: border-box;
669
- border-block-end: 1px solid var(--gray-20);
670
- padding: var(--spacing-component-5);
671
- }
672
-
673
- .logo img {
674
- object-fit: contain;
675
- }
676
- `])();visualTemplate(){let t;return"image"===this.visualType?t=r.qy`
677
- <div class="visual image">
678
- <div class="fallback-image">
679
- ${r.JW`
680
- <svg
681
- width="1600"
682
- height="900"
683
- viewBox="0 0 1600 900"
684
- fill="none"
685
- preserveAspectRatio="xMinYMin slice"
686
- xmlns="http://www.w3.org/2000/svg"
687
- >
688
- <g clip-path="url(#clip0)">
689
- <rect width="1600" height="900" fill="#2B1A78"/>
690
- <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"/>
691
- <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"/>
692
- </g>
693
- <defs>
694
- <clipPath id="clip0">
695
- <rect width="1600" height="900" fill="white"/>
696
- </clipPath>
697
- </defs>
698
- </svg>
699
- `}
700
- </div>
701
- ${this.visualUrl?r.qy`
702
- <picture>
703
- <source srcset="${this.visualUrl}" />
704
- <img
705
- src="${this.visualThumbnailUrl}"
706
- alt="${this.visualAltText}"
707
- loading="lazy"
708
- onerror="this.style.display='none'"
709
- />
710
- </picture>
711
- `:r.s6}
712
- </div>
713
- `:"logo"===this.visualType&&(t=r.qy`
714
- <div class="visual logo">
715
- <picture>
716
- <source srcset="${this.visualUrl}" />
717
- <img
718
- src="${this.visualThumbnailUrl}"
719
- alt="${this.visualAltText}"
720
- loading="lazy"
721
- />
722
- </picture>
723
- </div>
724
- `),t}cardContentTemplate(){return r.qy`
725
- ${this.visualTemplate()}
726
- <div class="content">
727
- <div class="header">
728
- <div>
729
- ${this.eyebrow?r.qy` <div class="eyebrow">${this.eyebrow}</div> `:r.s6}
730
- ${this.title?r.qy` <div class="h3 title">${this.title}</div> `:r.s6}
731
- </div>
732
- ${this.label?r.qy`
733
- <div>
734
- <cfa-label color="green">${this.label}</cfa-label>
735
- </div>
736
- `:r.s6}
737
- </div>
738
- <div class="body">
739
- ${this.text?r.qy` <div class="small" .innerHTML=${this.text}></div> `:r.s6}
740
- </div>
741
- ${this.metaText||this.actionLabel?r.qy`
742
- <div class="footer">
743
- ${this.metaText?r.qy`
744
- <div
745
- class="meta-text small"
746
- .innerHTML=${this.metaText}
747
- ></div>
748
- `:r.s6}
749
- ${this.actionLabel?r.qy` <div class="action-label">${this.actionLabel}</div> `:r.s6}
750
- </div>
751
- `:r.s6}
752
- </div>
753
- `}render(){return r.qy`
754
- ${this.linkUrl?r.qy`
755
- <a
756
- href="${this.linkUrl}"
757
- target="${this.linkTarget}"
758
- rel="${"_blank"==this.linkTarget?"noopener":r.s6}"
759
- class="card ${this.theme?"card--"+this.theme:""}"
760
- >
761
- ${this.cardContentTemplate()}
762
- </a>
763
- `:r.qy`
764
- <div class="card ${this.theme?"card--"+this.theme:""}">
765
- ${this.cardContentTemplate()}
766
- </div>
767
- `}
768
- `}}class o extends r.WF{static styles=(()=>[s.s,a.g,r.AH`
769
- :host {
770
- display: flex;
771
- flex-direction: column;
772
- margin-inline: auto;
773
- max-width: 100%;
774
- width: 100%;
775
- }
776
-
777
- .card-skeleton {
778
- background-color: var(--white);
779
- border: var(--hairline) solid var(--gray-20);
780
- box-shadow: var(--shadow-small);
781
- color: var(--black);
782
- display: flex;
783
- flex: 1;
784
- flex-direction: column;
785
- height: 100%;
786
- }
787
-
788
- .visual-skeleton {
789
- background-color: var(--gray-20);
790
- height: var(--spacing-layout-7);
791
- overflow: hidden;
792
- position: relative;
793
- width: 100%;
794
- }
795
-
796
- .content {
797
- background-color: var(--white);
798
- display: flex;
799
- flex: 1;
800
- flex-direction: column;
801
- gap: var(--spacing-layout-half);
802
- padding: var(--spacing-component-4);
803
- }
804
-
805
- .body {
806
- display: flex;
807
- flex: 1;
808
- flex-direction: column;
809
- gap: var(--spacing-layout-half);
810
- }
811
-
812
- .line {
813
- background-color: var(--gray-20);
814
- border-radius: var(--spacing-component-1);
815
- display: block;
816
- overflow: hidden;
817
- position: relative;
818
- width: 100%;
819
- }
820
-
821
- .line::after {
822
- animation: shimmer 1.5s linear infinite;
823
- background: linear-gradient(
824
- 90deg,
825
- transparent 0%,
826
- var(--white-50, rgba(255, 255, 255, 0.45)) 50%,
827
- transparent 100%
828
- );
829
- content: "";
830
- inset: 0;
831
- position: absolute;
832
- transform: translateX(-100%);
833
- }
834
-
835
- .line--eyebrow {
836
- height: var(--line-height-small);
837
- max-width: 28%;
838
- }
839
-
840
- .line--title {
841
- height: var(--line-height-h3);
842
- max-width: 76%;
843
- }
844
-
845
- .line--body {
846
- height: var(--line-height);
847
- }
848
-
849
- .line--body-short {
850
- max-width: 86%;
851
- }
852
-
853
- .line--action {
854
- height: var(--line-height-small);
855
- margin-block-start: auto;
856
- max-width: 36%;
857
- }
858
-
859
- @keyframes shimmer {
860
- 100% {
861
- transform: translateX(100%);
862
- }
863
- }
864
- `])();render(){return r.qy`
865
- <div class="card-skeleton" role="status" aria-busy="true" aria-label="Loading card">
866
- <div class="visual-skeleton line" aria-hidden="true"></div>
867
- <div class="content">
868
- <div class="line line--eyebrow" aria-hidden="true"></div>
869
- <div class="line line--title" aria-hidden="true"></div>
870
- <div class="body" aria-hidden="true">
871
- <div class="line line--body"></div>
872
- <div class="line line--body line--body-short"></div>
873
- <div class="line line--action"></div>
874
- </div>
875
- </div>
876
- </div>
877
- `}}customElements.get("cfa-card")||customElements.define("cfa-card",n),customElements.get("cfa-card-skeleton")||customElements.define("cfa-card-skeleton",o)})();
2
+ (()=>{"use strict";var n={953(n,t,e){var i,r,a=e(161),s=e(601),o=e(205);function l(n,t){return t||(t=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(t)}}))}function h(n,t,e){return(t=function(n){var t=function(n){if("object"!=typeof n||!n)return n;var t=n[Symbol.toPrimitive];if(void 0!==t){var e=t.call(n,"string");if("object"!=typeof e)return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof t?t:t+""}(t))in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}class c extends a.WF{render(){return(0,a.qy)(i||(i=l(['\n <div class="label small strong" color="','">\n <slot />\n </div>\n '])),this.color)}}h(c,"properties",{color:""}),h(c,"styles",[s.s,o.g,(0,a.AH)(r||(r=l(['\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",c)},601(n,t,e){var i;e.d(t,{s:()=>r});const r=(0,e(161).AH)(i||(a=["\n *:focus-visible,\n *:target {\n outline: var(--focus-outline);\n position: relative;\n }\n\n // RESET\n\n // Use a more-intuitive box-sizing model.\n *, *::before, *::after {\n box-sizing: border-box;\n }\n\n // Remove default margin\n * {\n margin: 0;\n }\n\n // Set default text-wrap of 'pretty'\n * {\n text-wrap: pretty;\n }\n\n // Wrap overly long words\n * {\n overflow-wrap: break-word;\n text-overflow: ellipsis;\n word-break: break-word;\n }\n\n // Fix Safari antialiasing for variable fonts\n * {\n font-synthesis: none !important;\n }\n\n // Improve text rendering\n body {\n -webkit-font-smoothing: antialiased;\n }\n\n // Reasonable media defaults\n img, picture, video, canvas, svg {\n display: block;\n height: auto;\n max-width: 100%;\n }\n\n // Remove built-in form typography styles\n input, button, textarea, select {\n font: inherit;\n }\n\n // Avoid text overflows\n p, h1, h2, h3, h4, h5, h6 {\n overflow-wrap: break-word;\n }\n\n // Create a root stacking context\n #root, #__next {\n isolation: isolate;\n }\n"],s||(s=a.slice(0)),i=Object.freeze(Object.defineProperties(a,{raw:{value:Object.freeze(s)}}))));var a,s},205(n,t,e){var i;e.d(t,{g:()=>r});const r=(0,e(161).AH)(i||(a=['\n // =====\n\n // Typography spacing\n\n // Add a single space around paragraphs, blockquotes, and lists\n p, ul, ol, blockquote {\n & + * {\n margin-block-start: var(--spacing, var(--spacing-layout-1, 1.5rem));\n }\n * + & {\n margin-block-start: var(--spacing, var(--spacing-layout-1, 1.5rem));\n }\n }\n\n h1, h2, h3, h4, .h1, .h2, .h3, .h4, .display-1, .display-2 {\n // Add a single line space after headings\n & + * {\n margin-block-start: var(--spacing, var(--spacing-layout-1, 1.5rem));\n }\n\n // Add two line spaces before headings\n * + & {\n --spacing: var(--spacing-layout-2);\n\n margin-block-start: --spacing;\n }\n\n // Only add a single space between headings and other headings\n & + & {\n --spacing: var(--spacing-layout-1);\n }\n\n // Reduce space after breadcrumbs and eyebrows\n cfa-breadcrumbs + & {\n margin-block-start: var(--spacing-layout-half) !important;\n }\n\n .eyebrow + & {\n margin-block-start: 0 !important;\n }\n }\n\n h1, .h1, .display-1, .display-2 {\n text-wrap: balance;\n }\n\n // =====\n\n // Font styles\n\n .regular {\n font-family: var(--font-family-base);\n font-size: var(--font-size);\n line-height: var(--line-height);\n }\n\n .display-1 {\n font-family: var(--font-family-heading);\n font-size: var(--font-size-display-1);\n font-weight: bold;\n line-height: var(--line-height-display-1);\n letter-spacing: var(--letter-spacing-display-1);\n }\n\n .display-2 {\n font-family: var(--font-family-heading);\n font-size: var(--font-size-display-2);\n font-weight: bold;\n line-height: var(--line-height-display-2);\n letter-spacing: var(--letter-spacing-display-2);\n }\n\n h1, \n .h1 {\n font-family: var(--font-family-heading);\n font-size: var(--font-size-h1);\n font-weight: bold;\n line-height: var(--line-height-h1);\n letter-spacing: var(--letter-spacing-h1);\n }\n\n h2, \n .h2 {\n font-family: var(--font-family-heading);\n font-size: var(--font-size-h2);\n font-weight: bold;\n line-height: var(--line-height-h2);\n letter-spacing: var(--letter-spacing-h2);\n }\n\n h3, \n .h3 {\n font-family: var(--font-family-heading);\n font-size: var(--font-size-h3);\n font-weight: bold;\n line-height: var(--line-height-h3);\n letter-spacing: var(--letter-spacing-h3);\n }\n\n h4, \n .h4 {\n font-family: var(--font-family-heading);\n font-size: var(--font-size-h4);\n font-weight: bold;\n line-height: var(--line-height-h4);\n letter-spacing: var(--letter-spacing-h4);\n }\n\n .extra-large {\n font-size: var(--font-size-extra-large);\n line-height: var(--line-height-extra-large);\n letter-spacing: var(--letter-spacing-extra-large);\n }\n\n .large {\n font-size: var(--font-size-large);\n line-height: var(--line-height-large);\n letter-spacing: var(--letter-spacing-large);\n }\n\n .small {\n font-size: var(--font-size-small);\n line-height: var(--line-height-small);\n letter-spacing: var(--letter-spacing-small);\n }\n\n .eyebrow {\n font-family: var(--font-family-sans-serif);\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 &::after {\n border-block-end: var(--hairline) solid currentColor;\n content: "";\n flex-grow: 1;\n margin-left: var(--spacing-component-3);\n }\n }\n\n .subtle {\n opacity: 0.6;\n }\n\n .serif {\n font-family: var(--font-family-serif);\n }\n\n .sans-serif {\n font-family: var(--font-family-sans-serif);\n }\n\n i,\n em,\n .italic {\n font-style: italic;\n }\n\n b,\n strong,\n .strong {\n font-weight: bold;\n }\n\n .normal {\n font-weight: normal;\n }\n\n .balance {\n text-wrap: balance;\n }\n\n .prominent-link,\n a.prominent-link {\n --accent-color: var(--purple-60);\n\n font-weight: bold;\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\n &:not(:has(cfa-icon))::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: padding 0.2s ease-in-out;\n width: 1em;\n }\n\n &:not(:has(cfa-icon)):hover::after {\n padding-inline-start: 0.3em;\n }\n\n cfa-icon {\n text-decoration: none;\n }\n }\n\n .white-text,\n .text-light /* fallback */ {\n -moz-osx-font-smoothing: grayscale; // Sharper antialising for white text on a dark background\n -webkit-font-smoothing: antialiased; // Sharper antialising for white text on a dark background\n color: var(--white);\n --link-color: var(--white);\n --link-hover-color: var(--white);\n }\n\n // =====\n\n // Highlights\n\n .highlight { \n --highlight-offset: 0.2em;\n\n box-decoration-break: clone;\n display: inline;\n background: linear-gradient(to top, transparent 0%, transparent var(--highlight-offset), var(--highlight-color) var(--highlight-offset), var(--highlight-color) calc(var(--highlight-offset) + var(--highlight-thickness)), transparent calc(var(--highlight-offset) + var(--highlight-thickness)), transparent 100%);\n padding-inline: 0.1em;\n -webkit-box-decoration-break: clone;\n margin-inline-start: -0.1em;\n margin-inline-end: -0.1em;\n word-wrap: break-word;\n }\n\n // ======\n\n // Lists\n\n .ul {\n list-style-type: disc;\n padding-left: var(--spacing-layout-1);\n }\n\n .ul > li {\n margin-inline-start: 0;\n padding-left: var(--spacing-component-2);\n }\n\n .ul > li + li {\n margin-block-start: var(--spacing-layout-half);\n }\n\n .ul > li > ul {\n margin-block-start: var(--spacing-layout-half);\n }\n\n .ol {\n list-style-type: decimal;\n padding-left: var(--spacing-layout-1);\n }\n\n .ol > li {\n margin-inline-start: 0;\n padding-inline-start: var(--spacing-component-2);\n }\n\n .ol > li + li {\n margin-block-start: var(--spacing-layout-half);\n }\n\n .ol > li > ul {\n margin-block-start: var(--spacing-layout-half);\n }\n\n .ul--unstyled {\n list-style: none;\n padding: 0;\n }\n\n .ul--unstyled > li {\n margin-inline: 0;\n padding: 0;\n }\n\n .ul--line-separators > li + li::before {\n border-block-start: 1px solid var(--gray-20);\n content: "";\n display: block;\n margin-block: var(--spacing-layout-half);\n width: 100%;\n }\n\n .ul--inline,\n .ul--inline-with-separators,\n .ul--inline-with-line-separators {\n display: inline;\n list-style: none;\n padding-inline: 0 !important;\n padding-left: 0 !important;\n }\n\n .ul--inline > li,\n .ul--inline-with-separators > li,\n .ul--inline-with-line-separators > li {\n display: inline-block;\n margin-inline-end: var(--spacing-component-3);\n padding: 0 !important;\n }\n\n .ul--inline li:last-child,\n .ul--inline-with-separators li:last-child,\n .ul--inline-with-line-separators li:last-child {\n margin-inline-end: 0;\n }\n\n .ul--inline > li + li,\n .ul--inline-with-separators > li + li,\n .ul--inline-with-line-separators > li + li {\n margin-block-start: 0;\n }\n\n .ul--inline-with-separators li,\n .ul--inline-with-line-separators li {\n margin-inline-end: 0;\n }\n\n .ul--inline-with-separators > li::after {\n content: "•";\n margin-inline: var(--spacing-component-2);\n opacity: 0.5;\n }\n\n .ul--inline-with-separators > li:last-child::after {\n content: "";\n }\n\n .ul--inline-with-line-separators > li::after {\n content: "|";\n margin-inline: var(--spacing-component-2);\n opacity: 0.5;\n }\n\n .ul--inline-with-line-separators > li:last-child::after {\n content: "";\n }\n\n // ===\n\n // Horizontal rule\n\n hr {\n --color: currentColor;\n\n background-color: var(--color);\n border: 0;\n color: var(--color);\n display: block;\n font-size: 0;\n height: var(--hairline);\n margin-block: var(--spacing-layout-1);\n opacity: 0.4;\n }\n\n // ===\n\n // Icons\n\n .icon {\n -webkit-font-feature-settings: \'liga\';\n direction: ltr;\n display: inline-block;\n font-family: \'Material Symbols Rounded\';\n font-feature-settings: \'liga\';\n font-size: 1.4em; \n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n text-transform: none;\n vertical-align: middle;\n white-space: nowrap;\n word-wrap: normal;\n }\n'],s||(s=a.slice(0)),i=Object.freeze(Object.defineProperties(a,{raw:{value:Object.freeze(s)}}))));var a,s},826(n,t,e){e.d(t,{AH:()=>l,Rf:()=>h,sk:()=>c});const i=globalThis,r=i.ShadowRoot&&(void 0===i.ShadyCSS||i.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,a=Symbol(),s=new WeakMap;class o{constructor(n,t,e){if(this._$cssResult$=!0,e!==a)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=n,this.t=t}get styleSheet(){let n=this.o;const t=this.t;if(r&&void 0===n){const e=void 0!==t&&1===t.length;e&&(n=s.get(t)),void 0===n&&((this.o=n=new CSSStyleSheet).replaceSync(this.cssText),e&&s.set(t,n))}return n}toString(){return this.cssText}}const l=(n,...t)=>{const e=1===n.length?n[0]:t.reduce((t,e,i)=>t+(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.")})(e)+n[i+1],n[0]);return new o(e,n,a)},h=(n,t)=>{if(r)n.adoptedStyleSheets=t.map(n=>n instanceof CSSStyleSheet?n:n.styleSheet);else for(const e of t){const t=document.createElement("style"),r=i.litNonce;void 0!==r&&t.setAttribute("nonce",r),t.textContent=e.cssText,n.appendChild(t)}},c=r?n=>n:n=>n instanceof CSSStyleSheet?(n=>{let t="";for(const e of n.cssRules)t+=e.cssText;return(n=>new o("string"==typeof n?n:n+"",void 0,a))(t)})(n):n},760(n,t,e){e.d(t,{AH:()=>i.AH,mN:()=>b});var i=e(826);const{is:r,defineProperty:a,getOwnPropertyDescriptor:s,getOwnPropertyNames:o,getOwnPropertySymbols:l,getPrototypeOf:h}=Object,c=globalThis,d=c.trustedTypes,p=d?d.emptyScript:"",g=c.reactiveElementPolyfillSupport,u=(n,t)=>n,f={toAttribute(n,t){switch(t){case Boolean:n=n?p:null;break;case Object:case Array:n=null==n?n:JSON.stringify(n)}return n},fromAttribute(n,t){let e=n;switch(t){case Boolean:e=null!==n;break;case Number:e=null===n?null:Number(n);break;case Object:case Array:try{e=JSON.parse(n)}catch(n){e=null}}return e}},v=(n,t)=>!r(n,t),m={attribute:!0,type:String,converter:f,reflect:!1,useDefault:!1,hasChanged:v};Symbol.metadata??=Symbol("metadata"),c.litPropertyMetadata??=new WeakMap;class b 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,t=m){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(n)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(n,t),!t.noAccessor){const e=Symbol(),i=this.getPropertyDescriptor(n,e,t);void 0!==i&&a(this.prototype,n,i)}}static getPropertyDescriptor(n,t,e){const{get:i,set:r}=s(this.prototype,n)??{get(){return this[t]},set(n){this[t]=n}};return{get:i,set(t){const a=i?.call(this);r?.call(this,t),this.requestUpdate(n,a,e)},configurable:!0,enumerable:!0}}static getPropertyOptions(n){return this.elementProperties.get(n)??m}static _$Ei(){if(this.hasOwnProperty(u("elementProperties")))return;const n=h(this);n.finalize(),void 0!==n.l&&(this.l=[...n.l]),this.elementProperties=new Map(n.elementProperties)}static finalize(){if(this.hasOwnProperty(u("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(u("properties"))){const n=this.properties,t=[...o(n),...l(n)];for(const e of t)this.createProperty(e,n[e])}const n=this[Symbol.metadata];if(null!==n){const t=litPropertyMetadata.get(n);if(void 0!==t)for(const[n,e]of t)this.elementProperties.set(n,e)}this._$Eh=new Map;for(const[n,t]of this.elementProperties){const e=this._$Eu(n,t);void 0!==e&&this._$Eh.set(e,n)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(n){const t=[];if(Array.isArray(n)){const e=new Set(n.flat(1/0).reverse());for(const n of e)t.unshift((0,i.sk)(n))}else void 0!==n&&t.push((0,i.sk)(n));return t}static _$Eu(n,t){const e=t.attribute;return!1===e?void 0:"string"==typeof e?e:"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,t=this.constructor.elementProperties;for(const e of t.keys())this.hasOwnProperty(e)&&(n.set(e,this[e]),delete this[e]);n.size>0&&(this._$Ep=n)}createRenderRoot(){const n=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return(0,i.Rf)(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,t,e){this._$AK(n,e)}_$ET(n,t){const e=this.constructor.elementProperties.get(n),i=this.constructor._$Eu(n,e);if(void 0!==i&&!0===e.reflect){const r=(void 0!==e.converter?.toAttribute?e.converter:f).toAttribute(t,e.type);this._$Em=n,null==r?this.removeAttribute(i):this.setAttribute(i,r),this._$Em=null}}_$AK(n,t){const e=this.constructor,i=e._$Eh.get(n);if(void 0!==i&&this._$Em!==i){const n=e.getPropertyOptions(i),r="function"==typeof n.converter?{fromAttribute:n.converter}:void 0!==n.converter?.fromAttribute?n.converter:f;this._$Em=i;const a=r.fromAttribute(t,n.type);this[i]=a??this._$Ej?.get(i)??a,this._$Em=null}}requestUpdate(n,t,e,i=!1,r){if(void 0!==n){const a=this.constructor;if(!1===i&&(r=this[n]),e??=a.getPropertyOptions(n),!((e.hasChanged??v)(r,t)||e.useDefault&&e.reflect&&r===this._$Ej?.get(n)&&!this.hasAttribute(a._$Eu(n,e))))return;this.C(n,t,e)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(n,t,{useDefault:e,reflect:i,wrapped:r},a){e&&!(this._$Ej??=new Map).has(n)&&(this._$Ej.set(n,a??t??this[n]),!0!==r||void 0!==a)||(this._$AL.has(n)||(this.hasUpdated||e||(t=void 0),this._$AL.set(n,t)),!0===i&&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,t]of this._$Ep)this[n]=t;this._$Ep=void 0}const n=this.constructor.elementProperties;if(n.size>0)for(const[t,e]of n){const{wrapped:n}=e,i=this[t];!0!==n||this._$AL.has(t)||void 0===i||this.C(t,void 0,e,i)}}let n=!1;const t=this._$AL;try{n=this.shouldUpdate(t),n?(this.willUpdate(t),this._$EO?.forEach(n=>n.hostUpdate?.()),this.update(t)):this._$EM()}catch(t){throw n=!1,this._$EM(),t}n&&this._$AE(t)}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){}}b.elementStyles=[],b.shadowRootOptions={mode:"open"},b[u("elementProperties")]=new Map,b[u("finalized")]=new Map,g?.({ReactiveElement:b}),(c.reactiveElementVersions??=[]).push("2.1.2")},228(n,t,e){e.d(t,{AH:()=>i.AH,JW:()=>r.JW,WF:()=>s,qy:()=>r.qy,s6:()=>r.s6});var i=e(760),r=e(752);const a=globalThis;class s extends i.mN{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 t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(n),this._$Do=(0,r.XX)(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return r.c0}}s._$litElement$=!0,s.finalized=!0,a.litElementHydrateSupport?.({LitElement:s});const o=a.litElementPolyfillSupport;o?.({LitElement:s}),(a.litElementVersions??=[]).push("4.2.2")},752(n,t,e){e.d(t,{JW:()=>k,XX:()=>B,c0:()=>E,qy:()=>A,s6:()=>S});const i=globalThis,r=n=>n,a=i.trustedTypes,s=a?a.createPolicy("lit-html",{createHTML:n=>n}):void 0,o="$lit$",l=`lit$${Math.random().toFixed(9).slice(2)}$`,h="?"+l,c=`<${h}>`,d=document,p=()=>d.createComment(""),g=n=>null===n||"object"!=typeof n&&"function"!=typeof n,u=Array.isArray,f="[ \t\n\f\r]",v=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,m=/-->/g,b=/>/g,y=RegExp(`>|${f}(?:([^\\s"'>=/]+)(${f}*=${f}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),w=/'/g,$=/"/g,_=/^(?:script|style|textarea|title)$/i,x=n=>(t,...e)=>({_$litType$:n,strings:t,values:e}),A=x(1),k=x(2),E=(x(3),Symbol.for("lit-noChange")),S=Symbol.for("lit-nothing"),C=new WeakMap,P=d.createTreeWalker(d,129);function z(n,t){if(!u(n)||!n.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==s?s.createHTML(t):t}const T=(n,t)=>{const e=n.length-1,i=[];let r,a=2===t?"<svg>":3===t?"<math>":"",s=v;for(let t=0;t<e;t++){const e=n[t];let h,d,p=-1,g=0;for(;g<e.length&&(s.lastIndex=g,d=s.exec(e),null!==d);)g=s.lastIndex,s===v?"!--"===d[1]?s=m:void 0!==d[1]?s=b:void 0!==d[2]?(_.test(d[2])&&(r=RegExp("</"+d[2],"g")),s=y):void 0!==d[3]&&(s=y):s===y?">"===d[0]?(s=r??v,p=-1):void 0===d[1]?p=-2:(p=s.lastIndex-d[2].length,h=d[1],s=void 0===d[3]?y:'"'===d[3]?$:w):s===$||s===w?s=y:s===m||s===b?s=v:(s=y,r=void 0);const u=s===y&&n[t+1].startsWith("/>")?" ":"";a+=s===v?e+c:p>=0?(i.push(h),e.slice(0,p)+o+e.slice(p)+l+u):e+l+(-2===p?t:u)}return[z(n,a+(n[e]||"<?>")+(2===t?"</svg>":3===t?"</math>":"")),i]};class O{constructor({strings:n,_$litType$:t},e){let i;this.parts=[];let r=0,s=0;const c=n.length-1,d=this.parts,[g,u]=T(n,t);if(this.el=O.createElement(g,e),P.currentNode=this.el.content,2===t||3===t){const n=this.el.content.firstChild;n.replaceWith(...n.childNodes)}for(;null!==(i=P.nextNode())&&d.length<c;){if(1===i.nodeType){if(i.hasAttributes())for(const n of i.getAttributeNames())if(n.endsWith(o)){const t=u[s++],e=i.getAttribute(n).split(l),a=/([.?@])?(.*)/.exec(t);d.push({type:1,index:r,name:a[2],strings:e,ctor:"."===a[1]?j:"?"===a[1]?N:"@"===a[1]?q:R}),i.removeAttribute(n)}else n.startsWith(l)&&(d.push({type:6,index:r}),i.removeAttribute(n));if(_.test(i.tagName)){const n=i.textContent.split(l),t=n.length-1;if(t>0){i.textContent=a?a.emptyScript:"";for(let e=0;e<t;e++)i.append(n[e],p()),P.nextNode(),d.push({type:2,index:++r});i.append(n[t],p())}}}else if(8===i.nodeType)if(i.data===h)d.push({type:2,index:r});else{let n=-1;for(;-1!==(n=i.data.indexOf(l,n+1));)d.push({type:7,index:r}),n+=l.length-1}r++}}static createElement(n,t){const e=d.createElement("template");return e.innerHTML=n,e}}function U(n,t,e=n,i){if(t===E)return t;let r=void 0!==i?e._$Co?.[i]:e._$Cl;const a=g(t)?void 0:t._$litDirective$;return r?.constructor!==a&&(r?._$AO?.(!1),void 0===a?r=void 0:(r=new a(n),r._$AT(n,e,i)),void 0!==i?(e._$Co??=[])[i]=r:e._$Cl=r),void 0!==r&&(t=U(n,r._$AS(n,t.values),r,i)),t}class H{constructor(n,t){this._$AV=[],this._$AN=void 0,this._$AD=n,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(n){const{el:{content:t},parts:e}=this._$AD,i=(n?.creationScope??d).importNode(t,!0);P.currentNode=i;let r=P.nextNode(),a=0,s=0,o=e[0];for(;void 0!==o;){if(a===o.index){let t;2===o.type?t=new M(r,r.nextSibling,this,n):1===o.type?t=new o.ctor(r,o.name,o.strings,this,n):6===o.type&&(t=new L(r,this,n)),this._$AV.push(t),o=e[++s]}a!==o?.index&&(r=P.nextNode(),a++)}return P.currentNode=d,i}p(n){let t=0;for(const e of this._$AV)void 0!==e&&(void 0!==e.strings?(e._$AI(n,e,t),t+=e.strings.length-2):e._$AI(n[t])),t++}}class M{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(n,t,e,i){this.type=2,this._$AH=S,this._$AN=void 0,this._$AA=n,this._$AB=t,this._$AM=e,this.options=i,this._$Cv=i?.isConnected??!0}get parentNode(){let n=this._$AA.parentNode;const t=this._$AM;return void 0!==t&&11===n?.nodeType&&(n=t.parentNode),n}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(n,t=this){n=U(this,n,t),g(n)?n===S||null==n||""===n?(this._$AH!==S&&this._$AR(),this._$AH=S):n!==this._$AH&&n!==E&&this._(n):void 0!==n._$litType$?this.$(n):void 0!==n.nodeType?this.T(n):(n=>u(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!==S&&g(this._$AH)?this._$AA.nextSibling.data=n:this.T(d.createTextNode(n)),this._$AH=n}$(n){const{values:t,_$litType$:e}=n,i="number"==typeof e?this._$AC(n):(void 0===e.el&&(e.el=O.createElement(z(e.h,e.h[0]),this.options)),e);if(this._$AH?._$AD===i)this._$AH.p(t);else{const n=new H(i,this),e=n.u(this.options);n.p(t),this.T(e),this._$AH=n}}_$AC(n){let t=C.get(n.strings);return void 0===t&&C.set(n.strings,t=new O(n)),t}k(n){u(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let e,i=0;for(const r of n)i===t.length?t.push(e=new M(this.O(p()),this.O(p()),this,this.options)):e=t[i],e._$AI(r),i++;i<t.length&&(this._$AR(e&&e._$AB.nextSibling,i),t.length=i)}_$AR(n=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);n!==this._$AB;){const t=r(n).nextSibling;r(n).remove(),n=t}}setConnected(n){void 0===this._$AM&&(this._$Cv=n,this._$AP?.(n))}}class R{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(n,t,e,i,r){this.type=1,this._$AH=S,this._$AN=void 0,this.element=n,this.name=t,this._$AM=i,this.options=r,e.length>2||""!==e[0]||""!==e[1]?(this._$AH=Array(e.length-1).fill(new String),this.strings=e):this._$AH=S}_$AI(n,t=this,e,i){const r=this.strings;let a=!1;if(void 0===r)n=U(this,n,t,0),a=!g(n)||n!==this._$AH&&n!==E,a&&(this._$AH=n);else{const i=n;let s,o;for(n=r[0],s=0;s<r.length-1;s++)o=U(this,i[e+s],t,s),o===E&&(o=this._$AH[s]),a||=!g(o)||o!==this._$AH[s],o===S?n=S:n!==S&&(n+=(o??"")+r[s+1]),this._$AH[s]=o}a&&!i&&this.j(n)}j(n){n===S?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,n??"")}}class j extends R{constructor(){super(...arguments),this.type=3}j(n){this.element[this.name]=n===S?void 0:n}}class N extends R{constructor(){super(...arguments),this.type=4}j(n){this.element.toggleAttribute(this.name,!!n&&n!==S)}}class q extends R{constructor(n,t,e,i,r){super(n,t,e,i,r),this.type=5}_$AI(n,t=this){if((n=U(this,n,t,0)??S)===E)return;const e=this._$AH,i=n===S&&e!==S||n.capture!==e.capture||n.once!==e.once||n.passive!==e.passive,r=n!==S&&(e===S||i);i&&this.element.removeEventListener(this.name,this,e),r&&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 L{constructor(n,t,e){this.element=n,this.type=6,this._$AN=void 0,this._$AM=t,this.options=e}get _$AU(){return this._$AM._$AU}_$AI(n){U(this,n)}}const W=i.litHtmlPolyfillSupport;W?.(O,M),(i.litHtmlVersions??=[]).push("3.3.3");const B=(n,t,e)=>{const i=e?.renderBefore??t;let r=i._$litPart$;if(void 0===r){const n=e?.renderBefore??null;i._$litPart$=r=new M(t.insertBefore(p(),n),n,void 0,e??{})}return r._$AI(n),r}},161(n,t,e){e.d(t,{AH:()=>i.AH,JW:()=>i.JW,WF:()=>i.WF,qy:()=>i.qy,s6:()=>i.s6}),e(760),e(752);var i=e(228)}},t={};function e(i){var r=t[i];if(void 0!==r)return r.exports;var a=t[i]={exports:{}};return n[i](a,a.exports,e),a.exports}e.d=(n,t)=>{for(var i in t)e.o(t,i)&&!e.o(n,i)&&Object.defineProperty(n,i,{enumerable:!0,get:t[i]})},e.o=(n,t)=>Object.prototype.hasOwnProperty.call(n,t);var i,r,a,s,o,l,h,c,d,p,g,u,f,v,m,b,y,w,$=e(161),_=e(601),x=e(205);function A(n,t){return t||(t=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(t)}}))}function k(n,t,e){return(t=function(n){var t=function(n){if("object"!=typeof n||!n)return n;var t=n[Symbol.toPrimitive];if(void 0!==t){var e=t.call(n,"string");if("object"!=typeof e)return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==typeof t?t:t+""}(t))in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}e(953);class E extends $.WF{visualTemplate(){let n;return"image"===this.visualType?n=(0,$.qy)(i||(i=A(['\n <div class="visual image">\n <div class="fallback-image">\n ',"\n </div>\n ","\n </div>\n "])),(0,$.JW)(r||(r=A(['\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?(0,$.qy)(a||(a=A(['\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):$.s6):"logo"===this.visualType&&(n=(0,$.qy)(s||(s=A(['\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(0,$.qy)(o||(o=A(["\n ",'\n <div class="content">\n <div class="header">\n <div>\n ',"\n ","\n </div>\n ",'\n </div>\n <div class="body">\n ',"\n </div>\n ","\n </div>\n "])),this.visualTemplate(),this.eyebrow?(0,$.qy)(l||(l=A([' <div class="eyebrow">',"</div> "])),this.eyebrow):$.s6,this.title?(0,$.qy)(h||(h=A([' <div class="h3 title">',"</div> "])),this.title):$.s6,this.label?(0,$.qy)(c||(c=A(['\n <div>\n <cfa-label color="green">',"</cfa-label>\n </div>\n "])),this.label):$.s6,this.text?(0,$.qy)(d||(d=A([' <div class="small" .innerHTML=',"></div> "])),this.text):$.s6,this.metaText||this.actionLabel?(0,$.qy)(p||(p=A(['\n <div class="footer">\n ',"\n ","\n </div>\n "])),this.metaText?(0,$.qy)(g||(g=A(['\n <div\n class="meta-text small"\n .innerHTML=',"\n ></div>\n "])),this.metaText):$.s6,this.actionLabel?(0,$.qy)(u||(u=A([' <div class="action-label">',"</div> "])),this.actionLabel):$.s6):$.s6)}render(){return(0,$.qy)(f||(f=A(["\n ","\n "])),this.linkUrl?(0,$.qy)(v||(v=A(['\n <a\n href="','"\n target="','"\n rel="','"\n class="card ','"\n >\n ',"\n </a>\n "])),this.linkUrl,this.linkTarget,"_blank"==this.linkTarget?"noopener":$.s6,this.theme?"card--"+this.theme:"",this.cardContentTemplate()):(0,$.qy)(m||(m=A(['\n <div class="card ','">\n ',"\n </div>\n "])),this.theme?"card--"+this.theme:"",this.cardContentTemplate()))}}k(E,"properties",{theme:{},linkUrl:{},linkTarget:{},visualType:{},visualUrl:{},visualThumbnailUrl:{},visualAltText:{},eyebrow:{},label:{},title:{},text:{},metaText:{},actionLabel:{}}),k(E,"styles",[_.s,x.g,(0,$.AH)(y||(y=A(['\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 gap: var(--spacing-layout-half);\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 }\n\n .body {\n display: flex;\n flex-flow: column nowrap;\n flex-grow: 1;\n gap: var(--spacing-layout-half);\n height: 100%;\n text-align: var(--text-alignment, start);\n }\n\n .footer {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-layout-half);\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 border-block-start: var(--hairline) solid var(--gray-40);\n padding-block-start: var(--spacing-component-2);\n }\n\n .card:has(.action-label) .meta-text {\n border-block-end: var(--hairline) solid var(--gray-40);\n padding-block-end: var(--spacing-component-2);\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 }\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 '])))]);class S extends $.WF{render(){return(0,$.qy)(b||(b=A(['\n <div class="card-skeleton" role="status" aria-busy="true" aria-label="Loading card">\n <div class="visual-skeleton line" aria-hidden="true"></div>\n <div class="content">\n <div class="line line--eyebrow" aria-hidden="true"></div>\n <div class="line line--title" aria-hidden="true"></div>\n <div class="body" aria-hidden="true">\n <div class="line line--body"></div>\n <div class="line line--body line--body-short"></div>\n <div class="line line--action"></div>\n </div>\n </div>\n </div>\n '])))}}k(S,"styles",[_.s,x.g,(0,$.AH)(w||(w=A(['\n :host {\n display: flex;\n flex-direction: column;\n margin-inline: auto;\n max-width: 100%;\n width: 100%;\n }\n\n .card-skeleton {\n background-color: var(--white);\n border: var(--hairline) solid var(--gray-20);\n box-shadow: var(--shadow-small);\n color: var(--black);\n display: flex;\n flex: 1;\n flex-direction: column;\n height: 100%;\n }\n\n .visual-skeleton {\n background-color: var(--gray-20);\n height: var(--spacing-layout-7);\n overflow: hidden;\n position: relative;\n width: 100%;\n }\n\n .content {\n background-color: var(--white);\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--spacing-layout-half);\n padding: var(--spacing-component-4);\n }\n\n .body {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--spacing-layout-half);\n }\n\n .line {\n background-color: var(--gray-20);\n border-radius: var(--spacing-component-1);\n display: block;\n overflow: hidden;\n position: relative;\n width: 100%;\n }\n\n .line::after {\n animation: shimmer 1.5s linear infinite;\n background: linear-gradient(\n 90deg,\n transparent 0%,\n var(--white-50, rgba(255, 255, 255, 0.45)) 50%,\n transparent 100%\n );\n content: "";\n inset: 0;\n position: absolute;\n transform: translateX(-100%);\n }\n\n .line--eyebrow {\n height: var(--line-height-small);\n max-width: 28%;\n }\n\n .line--title {\n height: var(--line-height-h3);\n max-width: 76%;\n }\n\n .line--body {\n height: var(--line-height);\n }\n\n .line--body-short {\n max-width: 86%;\n }\n\n .line--action {\n height: var(--line-height-small);\n margin-block-start: auto;\n max-width: 36%;\n }\n\n @keyframes shimmer {\n 100% {\n transform: translateX(100%);\n }\n }\n '])))]),customElements.get("cfa-card")||customElements.define("cfa-card",E),customElements.get("cfa-card-skeleton")||customElements.define("cfa-card-skeleton",S)})();