jsswift 1.0.41

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.
@@ -0,0 +1,621 @@
1
+ /* JSswift UI base */
2
+ /* =====================================================================
3
+ JSswift UI — Design Tokens v1 (PRO)
4
+ - Full color scales 50..950
5
+ - Semantic tokens for dev experience
6
+ - Light default + Dark via data-theme="dark"
7
+ - Brand skins via data-brand="*"
8
+ ===================================================================== */
9
+
10
+ :root {
11
+ /* ======================
12
+ 0) Meta / Layout tokens
13
+ ====================== */
14
+ --cms-brand: "JSswift";
15
+
16
+ --cms-space-1: 4px;
17
+ --cms-space-2: 8px;
18
+ --cms-space-3: 12px;
19
+ --cms-space-4: 16px;
20
+ --cms-space-5: 20px;
21
+ --cms-space-6: 24px;
22
+
23
+ /* ======================
24
+ 1) Neutral scale (foundation)
25
+ ====================== */
26
+ --cms-gray-50: #f8fafc;
27
+ --cms-gray-100: #f1f5f9;
28
+ --cms-gray-200: #e2e8f0;
29
+ --cms-gray-300: #cbd5e1;
30
+ --cms-gray-400: #94a3b8;
31
+ --cms-gray-500: #64748b;
32
+ --cms-gray-600: #475569;
33
+ --cms-gray-700: #334155;
34
+ --cms-gray-800: #1f2937;
35
+ --cms-gray-900: #0f172a;
36
+ --cms-gray-950: #020617;
37
+
38
+ /* ======================
39
+ 2) Primary scale (Swift Blue)
40
+ ====================== */
41
+ --cms-primary-50: #eef6ff;
42
+ --cms-primary-100: #dbeafe;
43
+ --cms-primary-200: #bfdbfe;
44
+ --cms-primary-300: #93c5fd;
45
+ --cms-primary-400: #60a5fa;
46
+ --cms-primary-500: #3b82f6;
47
+ --cms-primary-600: #3c78f7;
48
+ --cms-primary-700: #1d4ed8;
49
+ --cms-primary-800: #1e40af;
50
+ --cms-primary-900: #1e3a8a;
51
+ --cms-primary-950: #172554;
52
+
53
+ /* ======================
54
+ 3) Accent scale (Aurora Teal)
55
+ ====================== */
56
+ --cms-accent-50: #ecfeff;
57
+ --cms-accent-100: #cffafe;
58
+ --cms-accent-200: #a5f3fc;
59
+ --cms-accent-300: #67e8f9;
60
+ --cms-accent-400: #22d3ee;
61
+ --cms-accent-500: #06b6d4;
62
+ --cms-accent-600: #0891b2;
63
+ --cms-accent-700: #0e7490;
64
+ --cms-accent-800: #155e75;
65
+ --cms-accent-900: #164e63;
66
+ --cms-accent-950: #083344;
67
+
68
+ /* ======================
69
+ 4) Status scales
70
+ ====================== */
71
+ /* Success */
72
+ --cms-success-50: #f0fdf4;
73
+ --cms-success-100: #dcfce7;
74
+ --cms-success-200: #bbf7d0;
75
+ --cms-success-300: #86efac;
76
+ --cms-success-400: #4ade80;
77
+ --cms-success-500: #22c55e;
78
+ --cms-success-600: #16a34a;
79
+ --cms-success-700: #15803d;
80
+ --cms-success-800: #166534;
81
+ --cms-success-900: #14532d;
82
+ --cms-success-950: #052e16;
83
+
84
+ /* Warning */
85
+ --cms-warning-50: #fffbeb;
86
+ --cms-warning-100: #fef3c7;
87
+ --cms-warning-200: #fde68a;
88
+ --cms-warning-300: #fcd34d;
89
+ --cms-warning-400: #fbbf24;
90
+ --cms-warning-500: #f59e0b;
91
+ --cms-warning-600: #d97706;
92
+ --cms-warning-700: #b45309;
93
+ --cms-warning-800: #92400e;
94
+ --cms-warning-900: #78350f;
95
+ --cms-warning-950: #451a03;
96
+
97
+ /* Danger */
98
+ --cms-danger-50: #fef2f2;
99
+ --cms-danger-100: #fee2e2;
100
+ --cms-danger-200: #fecaca;
101
+ --cms-danger-300: #fca5a5;
102
+ --cms-danger-400: #f87171;
103
+ --cms-danger-500: #ef4444;
104
+ --cms-danger-600: #dc2626;
105
+ --cms-danger-700: #b91c1c;
106
+ --cms-danger-800: #991b1b;
107
+ --cms-danger-900: #7f1d1d;
108
+ --cms-danger-950: #450a0a;
109
+
110
+ /* Info */
111
+ --cms-info-50: #eef4ff;
112
+ --cms-info-100: #e0e7ff;
113
+ --cms-info-200: #c7d9fe;
114
+ --cms-info-300: #a5c9fc;
115
+ --cms-info-400: #819ff8;
116
+ --cms-info-500: #547dce;
117
+ --cms-info-600: #445fc1;
118
+ --cms-info-700: #3352b1;
119
+ --cms-info-800: #3051a3;
120
+ --cms-info-900: #2e3d81;
121
+ --cms-info-950: #1b264b;
122
+
123
+ /* ======================
124
+ 5) Special scales (optional but “premium”)
125
+ - Violet (creative)
126
+ - Pink (marketing)
127
+ - Orange (energy)
128
+ ====================== */
129
+ --cms-violet-50: #f5f3ff;
130
+ --cms-violet-100: #ede9fe;
131
+ --cms-violet-200: #ddd6fe;
132
+ --cms-violet-300: #c4b5fd;
133
+ --cms-violet-400: #a78bfa;
134
+ --cms-violet-500: #8b5cf6;
135
+ --cms-violet-600: #7c3aed;
136
+ --cms-violet-700: #6d28d9;
137
+ --cms-violet-800: #5b21b6;
138
+ --cms-violet-900: #4c1d95;
139
+ --cms-violet-950: #2e1065;
140
+
141
+ --cms-pink-50: #fdf2f8;
142
+ --cms-pink-100: #fce7f3;
143
+ --cms-pink-200: #fbcfe8;
144
+ --cms-pink-300: #f9a8d4;
145
+ --cms-pink-400: #f472b6;
146
+ --cms-pink-500: #ec4899;
147
+ --cms-pink-600: #db2777;
148
+ --cms-pink-700: #be185d;
149
+ --cms-pink-800: #9d174d;
150
+ --cms-pink-900: #831843;
151
+ --cms-pink-950: #500724;
152
+
153
+ --cms-orange-50: #fff7ed;
154
+ --cms-orange-100: #ffedd5;
155
+ --cms-orange-200: #fed7aa;
156
+ --cms-orange-300: #fdba74;
157
+ --cms-orange-400: #fb923c;
158
+ --cms-orange-500: #f97316;
159
+ --cms-orange-600: #ea580c;
160
+ --cms-orange-700: #c2410c;
161
+ --cms-orange-800: #9a3412;
162
+ --cms-orange-900: #7c2d12;
163
+ --cms-orange-950: #431407;
164
+
165
+ /* ======================
166
+ 6) Social / Brand colors
167
+ ====================== */
168
+ --cms-facebook: #1877f2;
169
+ --cms-twitter: #1da1f2;
170
+ --cms-x: #0b0f19;
171
+ --cms-linkedin: #0a66c2;
172
+ --cms-google: #ea4335;
173
+ --cms-youtube: #ff0000;
174
+ --cms-vimeo: #1ab7ea;
175
+ --cms-dribbble: #ea4c89;
176
+ --cms-github: #18181b;
177
+ --cms-instagram: #e1306c;
178
+ --cms-pinterest: #e60023;
179
+ --cms-rss: #f59e0b;
180
+
181
+ /* ======================
182
+ 7) Alpha tokens (glass / overlay)
183
+ ====================== */
184
+ --cms-alpha-1: rgba(2, 6, 23, 0.04);
185
+ --cms-alpha-2: rgba(2, 6, 23, 0.08);
186
+ --cms-alpha-3: rgba(2, 6, 23, 0.12);
187
+ --cms-alpha-4: rgba(2, 6, 23, 0.18);
188
+ --cms-alpha-5: rgba(2, 6, 23, 0.26);
189
+
190
+ /* ======================
191
+ 8) Shadows (premium)
192
+ ====================== */
193
+ --cms-shadow-sm: 0 1px 2px rgba(2, 6, 23, .30);
194
+ --cms-shadow-md: 0 10px 30px rgba(2, 6, 23, .50);
195
+ --cms-shadow-lg: 0 22px 60px rgba(2, 6, 23, .70);
196
+
197
+ /* =========================================================
198
+ SEMANTIC TOKENS (the real win)
199
+ ========================================================= */
200
+
201
+ /* Backgrounds & surfaces */
202
+ --cms-bg: var(--cms-gray-50);
203
+ --cms-bg-2: var(--cms-gray-100);
204
+ --cms-surface: var(--cms-gray-200);
205
+ --cms-surface-2: var(--cms-gray-300);
206
+ --cms-surface-3: var(--cms-gray-400);
207
+
208
+ /* Text */
209
+ --cms-text: var(--cms-gray-900);
210
+ --cms-text-2: var(--cms-gray-700);
211
+ --cms-text-3: var(--cms-gray-500);
212
+ --cms-text-inverse: #282828;
213
+
214
+ /* Borders */
215
+
216
+
217
+
218
+ /* Brand actions */
219
+ --cms-accent: var(--cms-accent-600);
220
+ --cms-accent-soft: var(--cms-accent-500);
221
+ --cms-accent-text: var(--cms-accent-800);
222
+
223
+ /* Focus ring */
224
+ --cms-ring: rgba(59, 130, 246, 0.45);
225
+ --cms-ring-strong: rgba(59, 130, 246, 0.65);
226
+
227
+ /* Components defaults */
228
+ --cms-card-bg: var(--cms-surface);
229
+ --cms-card-border: var(--cms-border-color);
230
+
231
+ --cms-btn-bg: var(--cms-primary);
232
+ --cms-btn-bg-hover: var(--cms-primary-hover);
233
+ --cms-btn-text: var(--cms-text-inverse);
234
+
235
+ --cms-input-bg: var(--cms-surface);
236
+ --cms-input-border: var(--cms-border-color);
237
+ --cms-input-text: var(--cms-text);
238
+ --cms-input-placeholder: var(--cms-text-3);
239
+
240
+ --cms-chip-bg: var(--cms-surface-2);
241
+ --cms-chip-text: var(--cms-text-2);
242
+ --cms-badge-bg: var(--cms-primary-soft);
243
+ --cms-badge-text: var(--cms-primary-text);
244
+
245
+
246
+ --cms-panel: #e9e9e9;
247
+ --cms-text: #434343;
248
+ --cms-muted: #5d5d5d;
249
+
250
+ --cms-border-color: rgba(93, 95, 100, 0.35);
251
+ --cms-border-color-2: var(--cms-gray-400);
252
+ --cms-font: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
253
+ --cms-shadow-sm: 0 8px 24px rgba(0, 0, 0, 0.25);
254
+ --cms-icon-color: var(--cms-text);
255
+ --cms-icon-size-xxs: 8px;
256
+ --cms-icon-size-xs: 10px;
257
+ --cms-icon-size-sm: 14px;
258
+ --cms-icon-size-md: 18px;
259
+ --cms-icon-size-lg: 24px;
260
+ --cms-icon-size-xl: 32px;
261
+ --cms-icon-size-xxl: 42px;
262
+ --cms-icon-size-xxxl: 64px;
263
+ --cms-icon-stroke-width: 0.1rem;
264
+
265
+ --cms-size-xxs: 6px;
266
+ --cms-size-xs: 10px;
267
+ --cms-size-sm: 18px;
268
+ --cms-size-md: 26px;
269
+ --cms-size-lg: 32px;
270
+ --cms-size-xl: 48px;
271
+ --cms-size-xxl: 64px;
272
+ --cms-size-xxxl: 128px;
273
+
274
+ /* States */
275
+
276
+ --cms-primary: var(--cms-primary-600);
277
+ --cms-primary-hover: var(--cms-primary-400);
278
+ --cms-primary-active: var(--cms-primary-800);
279
+ --cms-primary-focus: var(--cms-primary-600);
280
+ --cms-primary-disabled: var(--cms-primary-300);
281
+ --cms-primary-soft: var(--cms-primary-500);
282
+ --cms-primary-text: var(--cms-primary-500);
283
+
284
+ --cms-secondary: var(--cms-gray-600);
285
+ --cms-secondary-hover: var(--cms-gray-400);
286
+ --cms-secondary-active: var(--cms-gray-800);
287
+ --cms-secondary-focus: var(--cms-gray-600);
288
+ --cms-secondary-disabled: var(--cms-gray-300);
289
+ --cms-secondary-soft: var(--cms-gray-500);
290
+ --cms-secondary-text: var(--cms-gray-500);
291
+
292
+ --cms-danger: var(--cms-danger-600);
293
+ --cms-danger-hover: var(--cms-danger-400);
294
+ --cms-danger-active: var(--cms-danger-800);
295
+ --cms-danger-focus: var(--cms-danger-600);
296
+ --cms-danger-disabled: var(--cms-danger-300);
297
+ --cms-danger-soft: var(--cms-danger-400);
298
+ --cms-danger-text: var(--cms-danger-500);
299
+
300
+ --cms-warning: var(--cms-warning-500);
301
+ --cms-warning-hover: var(--cms-warning-400);
302
+ --cms-warning-active: var(--cms-warning-400);
303
+ --cms-warning-focus: var(--cms-warning-600);
304
+ --cms-warning-disabled: var(--cms-warning-700);
305
+ --cms-warning-soft: var(--cms-warning-400);
306
+ --cms-warning-text: var(--cms-warning-500);
307
+
308
+ --cms-success: var(--cms-success-600);
309
+ --cms-success-hover: var(--cms-success-500);
310
+ --cms-success-active: var(--cms-success-800);
311
+ --cms-success-focus: var(--cms-success-600);
312
+ --cms-success-disabled: var(--cms-success-300);
313
+ --cms-success-soft: var(--cms-success-600);
314
+ --cms-success-text: var(--cms-success-500);
315
+
316
+ --cms-info: var(--cms-info-600);
317
+ --cms-info-hover: var(--cms-info-400);
318
+ --cms-info-active: var(--cms-info-800);
319
+ --cms-info-focus: var(--cms-info-600);
320
+ --cms-info-disabled: var(--cms-info-300);
321
+ --cms-info-soft: var(--cms-info-500);
322
+ --cms-info-text: var(--cms-info-500);
323
+
324
+ --cms-dark: var(--cms-gray-800);
325
+ --cms-dark-hover: var(--cms-gray-600);
326
+ --cms-dark-active: var(--cms-gray-700);
327
+ --cms-dark-focus: var(--cms-gray-700);
328
+ --cms-dark-disabled: var(--cms-gray-700);
329
+ --cms-dark-soft: var(--cms-gray-700);
330
+ --cms-dark-text: var(--cms-gray-100);
331
+
332
+ --cms-light: var(--cms-bg-2);
333
+ --cms-light-hover: var(--cms-surface);
334
+ --cms-light-active: var(--cms-surface-2);
335
+ --cms-light-focus: var(--cms-bg-2);
336
+ --cms-light-disabled: var(--cms-surface-2);
337
+ --cms-light-soft: var(--cms-gray-100);
338
+ --cms-light-text: var(--cms-gray-900);
339
+
340
+ --cms-font-size: 14px;
341
+ --cms-font-weight: 400;
342
+ --cms-font-family: "Nunito", sans-serif;
343
+ --set-icon-size: calc(var(--cms-font-size) + 4px);
344
+
345
+ --cms-font-size-xxs: 6px;
346
+ --cms-font-size-xs: 10px;
347
+ --cms-font-size-sm: 12px;
348
+ --cms-font-size-md: 14px;
349
+ --cms-font-size-lg: 18px;
350
+ --cms-font-size-xl: 24px;
351
+ --cms-font-size-xxl: 32px;
352
+ --cms-font-size-xxxl: 48px;
353
+
354
+ --cms-input-height-xxs: 16px;
355
+ --cms-input-height-xs: 20px;
356
+ --cms-input-height-sm: 24px;
357
+ --cms-input-height-md: 32px;
358
+ --cms-input-height-lg: 48px;
359
+ --cms-input-height-xl: 64px;
360
+ --cms-input-height-xxl: 80px;
361
+
362
+ --set-shadow: 0 3px 6px color-mix(in srgb, var(--cms-gray-600) 40%, transparent);
363
+ --set-color-0: var(--cms-gray-100);
364
+ --set-color-1: var(--cms-gray-300);
365
+ --set-color-2: var(--cms-gray-300);
366
+ --set-color-3: var(--cms-gray-500);
367
+ --set-color-4: var(--cms-gray-600);
368
+ --set-border-width: 1px;
369
+
370
+ --set-gradient-deg: 180deg;
371
+
372
+ --cms-b-radius-default: 4px;
373
+ --cms-input-height-default: var(--cms-input-height-md);
374
+ --cms-select-bg-default: var(--cms-panel);
375
+ --cms-bg-default: var(--cms-panel);
376
+
377
+ --cms-theme-color-1: #f8f9fa;
378
+ --cms-theme-color-2: #e9ecef;
379
+ --cms-theme-color-3: #dee2e6;
380
+ --cms-theme-color-4: #ced4da;
381
+ --cms-theme-color-5: #adb5bd;
382
+ --cms-theme-color-6: #868e96;
383
+ --cms-theme-color-7: #495057;
384
+ --cms-theme-color-8: #343a40;
385
+ --cms-theme-color-9: #212529;
386
+ }
387
+
388
+ /* =====================================================================
389
+ DARK THEME (high quality)
390
+ ===================================================================== */
391
+ :root[data-theme="dark"] {
392
+ --cms-alpha-1: rgba(255, 255, 255, 0.04);
393
+ --cms-alpha-2: rgba(255, 255, 255, 0.08);
394
+ --cms-alpha-3: rgba(255, 255, 255, 0.12);
395
+ --cms-alpha-4: rgba(255, 255, 255, 0.18);
396
+ --cms-alpha-5: rgba(255, 255, 255, 0.26);
397
+
398
+ --cms-bg: #121212;
399
+ --cms-bg-2: #0b1020;
400
+ --cms-surface: #0f172a;
401
+ --cms-surface-2: #111c34;
402
+ --cms-surface-3: #16213f;
403
+
404
+ --cms-text: #e5e7eb;
405
+ --cms-text-2: #cbd5e1;
406
+ --cms-text-3: #94a3b8;
407
+ --cms-text-inverse: #0b1020;
408
+
409
+ --cms-panel: #10141e;
410
+ --cms-text: #cbcbcb;
411
+ --cms-muted: #6b6b6b;
412
+
413
+ --cms-border-color: rgba(148, 163, 184, 0.18);
414
+ --cms-border-color-2: rgba(148, 163, 184, 0.26);
415
+
416
+ --cms-accent: var(--cms-accent-400);
417
+ --cms-accent-soft: rgba(34, 211, 238, 0.12);
418
+ --cms-accent-text: var(--cms-accent-200);
419
+
420
+ --cms-ring: rgba(96, 165, 250, 0.45);
421
+ --cms-ring-strong: rgba(96, 165, 250, 0.65);
422
+
423
+ --cms-shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);
424
+ --cms-shadow-md: 0 10px 30px rgba(0, 0, 0, .40);
425
+ --cms-shadow-lg: 0 22px 60px rgba(0, 0, 0, .70);
426
+
427
+ --cms-card-bg: var(--cms-surface);
428
+ --cms-card-border: var(--cms-border-color);
429
+
430
+ --cms-input-bg: rgba(255, 255, 255, 0.02);
431
+ --cms-input-border: var(--cms-border-color);
432
+ --cms-input-text: var(--cms-text);
433
+
434
+ --cms-b-radius-default: 4px;
435
+ --cms-input-height-default: var(--cms-input-height-md);
436
+ --cms-select-bg-default: var(--cms-panel);
437
+ --cms-bg-default: var(--cms-panel);
438
+
439
+ --cms-theme-color-1: #212529;
440
+ --cms-theme-color-2: #343a40;
441
+ --cms-theme-color-3: #495057;
442
+ --cms-theme-color-4: #868e96;
443
+ --cms-theme-color-5: #adb5bd;
444
+ --cms-theme-color-6: #ced4da;
445
+ --cms-theme-color-7: #dee2e6;
446
+ --cms-theme-color-8: #e9ecef;
447
+ --cms-theme-color-9: #f8f9fa;
448
+
449
+ }
450
+
451
+ /* =====================================================================
452
+ BRAND SKINS (optional — 1 linea per cambiare “brand”)
453
+ ===================================================================== */
454
+
455
+ /* Emerald brand */
456
+ :root[data-brand="emerald"] {
457
+ --cms-primary-500: #10b981;
458
+ --cms-primary-600: #059669;
459
+ --cms-primary-700: #047857;
460
+
461
+ --cms-primary: var(--cms-primary-600);
462
+ --cms-primary-hover: var(--cms-primary-700);
463
+ --cms-ring: rgba(16, 185, 129, 0.45);
464
+ }
465
+
466
+ /* Violet brand */
467
+ :root[data-brand="violet"] {
468
+ --cms-primary-500: #8b5cf6;
469
+ --cms-primary-600: #7c3aed;
470
+ --cms-primary-700: #6d28d9;
471
+
472
+ --cms-primary: var(--cms-primary-600);
473
+ --cms-primary-hover: var(--cms-primary-700);
474
+ --cms-ring: rgba(139, 92, 246, 0.45);
475
+ }
476
+
477
+ /* FONTS */
478
+ @font-face {
479
+ font-family: "Nunito";
480
+ src: url("../fonts/Nunito-ExtraLight.ttf") format("truetype");
481
+ font-weight: 200;
482
+ font-style: normal;
483
+ font-display: swap;
484
+ }
485
+
486
+ @font-face {
487
+ font-family: "Nunito";
488
+ src: url("../fonts/Nunito-ExtraLightItalic.ttf") format("truetype");
489
+ font-weight: 200;
490
+ font-style: italic;
491
+ font-display: swap;
492
+ }
493
+
494
+ @font-face {
495
+ font-family: "Nunito";
496
+ src: url("../fonts/Nunito-Light.ttf") format("truetype");
497
+ font-weight: 300;
498
+ font-style: normal;
499
+ font-display: swap;
500
+ }
501
+
502
+ @font-face {
503
+ font-family: "Nunito";
504
+ src: url("../fonts/Nunito-LightItalic.ttf") format("truetype");
505
+ font-weight: 300;
506
+ font-style: italic;
507
+ font-display: swap;
508
+ }
509
+
510
+ @font-face {
511
+ font-family: "Nunito";
512
+ src: url("../fonts/Nunito-Regular.ttf") format("truetype");
513
+ font-weight: 400;
514
+ font-style: normal;
515
+ font-display: swap;
516
+ }
517
+
518
+ @font-face {
519
+ font-family: "Nunito";
520
+ src: url("../fonts/Nunito-Italic.ttf") format("truetype");
521
+ font-weight: 400;
522
+ font-style: italic;
523
+ font-display: swap;
524
+ }
525
+
526
+ @font-face {
527
+ font-family: "Nunito";
528
+ src: url("../fonts/Nunito-Medium.ttf") format("truetype");
529
+ font-weight: 500;
530
+ font-style: normal;
531
+ font-display: swap;
532
+ }
533
+
534
+ @font-face {
535
+ font-family: "Nunito";
536
+ src: url("../fonts/Nunito-MediumItalic.ttf") format("truetype");
537
+ font-weight: 500;
538
+ font-style: italic;
539
+ font-display: swap;
540
+ }
541
+
542
+ @font-face {
543
+ font-family: "Nunito";
544
+ src: url("../fonts/Nunito-SemiBold.ttf") format("truetype");
545
+ font-weight: 600;
546
+ font-style: normal;
547
+ font-display: swap;
548
+ }
549
+
550
+ @font-face {
551
+ font-family: "Nunito";
552
+ src: url("../fonts/Nunito-SemiBoldItalic.ttf") format("truetype");
553
+ font-weight: 600;
554
+ font-style: italic;
555
+ font-display: swap;
556
+ }
557
+
558
+ @font-face {
559
+ font-family: "Nunito";
560
+ src: url("../fonts/Nunito-Bold.ttf") format("truetype");
561
+ font-weight: 700;
562
+ font-style: normal;
563
+ font-display: swap;
564
+ }
565
+
566
+ @font-face {
567
+ font-family: "Nunito";
568
+ src: url("../fonts/Nunito-BoldItalic.ttf") format("truetype");
569
+ font-weight: 700;
570
+ font-style: italic;
571
+ font-display: swap;
572
+ }
573
+
574
+ @font-face {
575
+ font-family: "Nunito";
576
+ src: url("../fonts/Nunito-ExtraBold.ttf") format("truetype");
577
+ font-weight: 800;
578
+ font-style: normal;
579
+ font-display: swap;
580
+ }
581
+
582
+ @font-face {
583
+ font-family: "Nunito";
584
+ src: url("../fonts/Nunito-ExtraBoldItalic.ttf") format("truetype");
585
+ font-weight: 800;
586
+ font-style: italic;
587
+ font-display: swap;
588
+ }
589
+
590
+ @font-face {
591
+ font-family: "Nunito";
592
+ src: url("../fonts/Nunito-Black.ttf") format("truetype");
593
+ font-weight: 900;
594
+ font-style: normal;
595
+ font-display: swap;
596
+ }
597
+
598
+ @font-face {
599
+ font-family: "Nunito";
600
+ src: url("../fonts/Nunito-BlackItalic.ttf") format("truetype");
601
+ font-weight: 900;
602
+ font-style: italic;
603
+ font-display: swap;
604
+ }
605
+
606
+ @font-face {
607
+ font-family: 'Material Symbols Outlined';
608
+ font-style: normal;
609
+ font-weight: 100 700;
610
+ src: url(https://fonts.gstatic.com/s/materialsymbolsoutlined/v311/kJEhBvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oFsLjBuVY.woff2) format('woff2');
611
+ }
612
+
613
+ :root {
614
+ --cms-font: "Nunito", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
615
+ }
616
+
617
+ *,
618
+ *::before,
619
+ *::after {
620
+ font-family: var(--cms-font);
621
+ }