@skyscanner/backpack-web 41.3.0 → 41.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/bpk-component-bubble/src/BpkBubble.module.css +1 -1
  2. package/bpk-component-card-list/src/BpkCardListRowRail/BpkCardListCarousel.module.css +1 -1
  3. package/bpk-component-code/index.d.ts +6 -0
  4. package/bpk-component-code/index.js +3 -1
  5. package/bpk-component-code/src/BpkCode.d.ts +9 -0
  6. package/bpk-component-code/src/BpkCode.js +14 -33
  7. package/bpk-component-code/src/BpkCodeBlock.d.ts +9 -0
  8. package/bpk-component-code/src/BpkCodeBlock.js +15 -28
  9. package/bpk-component-fieldset/src/BpkFieldset.js +0 -1
  10. package/bpk-component-label/index.d.ts +3 -0
  11. package/bpk-component-label/index.js +3 -1
  12. package/bpk-component-label/src/BpkLabel.d.ts +11 -0
  13. package/bpk-component-label/src/BpkLabel.js +11 -22
  14. package/bpk-component-navigation-tab-group/src/BpkNavigationTabGroup.js +3 -2
  15. package/bpk-component-nudger/src/BpkNudger.js +0 -1
  16. package/bpk-component-segmented-control/index.d.ts +3 -2
  17. package/bpk-component-segmented-control/index.js +2 -1
  18. package/bpk-component-segmented-control/src/BpkSegmentedControl.d.ts +36 -1
  19. package/bpk-component-segmented-control/src/BpkSegmentedControl.js +138 -13
  20. package/bpk-component-text/src/BpkText.module.css +1 -1
  21. package/bpk-component-theme-toggle/index.d.ts +4 -0
  22. package/bpk-component-theme-toggle/src/BpkThemeToggle.d.ts +16 -0
  23. package/bpk-component-theme-toggle/src/BpkThemeToggle.js +10 -7
  24. package/bpk-component-theme-toggle/src/theming.d.ts +136 -0
  25. package/bpk-component-theme-toggle/src/updateOnThemeChange.d.ts +42 -0
  26. package/bpk-component-theme-toggle/src/updateOnThemeChange.js +10 -8
  27. package/bpk-component-theme-toggle/src/utils.d.ts +3 -0
  28. package/bpk-component-theme-toggle/src/utils.js +1 -1
  29. package/bpk-mixins/_typography.scss +3 -3
  30. package/bpk-stylesheets/base.css +1 -1
  31. package/bpk-stylesheets/font.css +1 -1
  32. package/bpk-stylesheets/font.scss +423 -75
  33. package/bpk-stylesheets/index.scss +1 -1
  34. package/bpk-stylesheets/larken.css +1 -1
  35. package/bpk-stylesheets/larken.scss +268 -95
  36. package/package.json +2 -2
@@ -17,91 +17,439 @@
17
17
  */
18
18
 
19
19
  $base-url: 'https://js.skyscnr.com/sttc/bpk-fonts';
20
+ $font-formats: (woff2, woff, ttf);
20
21
 
21
- @font-face {
22
- font-family: 'Skyscanner Relative';
23
- font-style: normal;
24
- font-weight: 400;
25
- src:
26
- url('#{$base-url}/SkyscannerRelative-Book-f9356ad6.woff2') format('woff2'),
27
- url('#{$base-url}/SkyscannerRelative-Book-46f9f429.woff') format('woff'),
28
- url('#{$base-url}/SkyscannerRelative-Book-ab1dbcbe.ttf') format('ttf');
29
- }
22
+ @use 'sass:list';
23
+ @use 'sass:map';
30
24
 
31
- @font-face {
32
- font-family: 'Skyscanner Relative';
33
- font-style: italic;
34
- font-weight: 400;
35
- src:
36
- url('#{$base-url}/SkyscannerRelative-Italic-10532ac3.woff2') format('woff2'),
37
- url('#{$base-url}/SkyscannerRelative-Italic-db5d0ac5.woff') format('woff'),
38
- url('#{$base-url}/SkyscannerRelative-Italic-8eec3f3a.ttf') format('ttf');
39
- }
25
+ // Table-driven font registry: add families/weights in $bpk-fonts, and the mixin
26
+ // will emit matching @font-face rules. Filenames are the hashed names without
27
+ // extension; only the formats you provide will be output.
28
+ $bpk-fonts: (
29
+ 'Skyscanner Relative': (
30
+ (
31
+ style: normal,
32
+ weight: 400,
33
+ files: (
34
+ woff2: 'SkyscannerRelative-Book-f9356ad6',
35
+ woff: 'SkyscannerRelative-Book-46f9f429',
36
+ ttf: 'SkyscannerRelative-Book-ab1dbcbe',
37
+ ),
38
+ ),
39
+ (
40
+ style: italic,
41
+ weight: 400,
42
+ files: (
43
+ woff2: 'SkyscannerRelative-Italic-10532ac3',
44
+ woff: 'SkyscannerRelative-Italic-db5d0ac5',
45
+ ttf: 'SkyscannerRelative-Italic-8eec3f3a',
46
+ ),
47
+ ),
48
+ (
49
+ style: normal,
50
+ weight: 500,
51
+ files: (
52
+ woff2: 'SkyscannerRelative-Medium-c08dc28b',
53
+ woff: 'SkyscannerRelative-Medium-865e167a',
54
+ ttf: 'SkyscannerRelative-Medium-d0ae478a',
55
+ ),
56
+ ),
57
+ (
58
+ style: italic,
59
+ weight: 500,
60
+ files: (
61
+ woff2: 'SkyscannerRelative-MediumItalic-81517f37',
62
+ woff: 'SkyscannerRelative-MediumItalic-bbdb6b0c',
63
+ ttf: 'SkyscannerRelative-MediumItalic-226fe64c',
64
+ ),
65
+ ),
66
+ (
67
+ style: normal,
68
+ weight: 700,
69
+ files: (
70
+ woff2: 'SkyscannerRelative-Bold-8545937e',
71
+ woff: 'SkyscannerRelative-Bold-a099c9f7',
72
+ ttf: 'SkyscannerRelative-Bold-ec4cc5a7',
73
+ ),
74
+ ),
75
+ (
76
+ style: italic,
77
+ weight: 700,
78
+ files: (
79
+ woff2: 'SkyscannerRelative-BoldItalic-01b5d138',
80
+ woff: 'SkyscannerRelative-BoldItalic-4d6d36e3',
81
+ ttf: 'SkyscannerRelative-BoldItalic-dc9284dc',
82
+ ),
83
+ ),
84
+ (
85
+ style: normal,
86
+ weight: 900,
87
+ files: (
88
+ woff2: 'SkyscannerRelative-Black-bb3c9434',
89
+ woff: 'SkyscannerRelative-Black-bba2eb55',
90
+ ttf: 'SkyscannerRelative-Black-314703cc',
91
+ ),
92
+ ),
93
+ (
94
+ style: italic,
95
+ weight: 900,
96
+ files: (
97
+ woff2: 'SkyscannerRelative-BlackItalic-c2149c91',
98
+ woff: 'SkyscannerRelative-BlackItalic-a34cd594',
99
+ ttf: 'SkyscannerRelative-BlackItalic-7e516ee5',
100
+ ),
101
+ ),
102
+ ),
103
+ 'Noto Sans JP': (
104
+ (
105
+ style: normal,
106
+ weight: 900,
107
+ files: (
108
+ woff2: 'NotoSansJP-ExtraBold-d4e678e6',
109
+ woff: 'NotoSansJP-ExtraBold-071fa89b',
110
+ ttf: 'NotoSansJP-ExtraBold-71fc7f76',
111
+ ),
112
+ ),
113
+ (
114
+ style: normal,
115
+ weight: 700,
116
+ files: (
117
+ woff2: 'NotoSansJP-Bold-b656150c',
118
+ woff: 'NotoSansJP-Bold-6ddf472f',
119
+ ttf: 'NotoSansJP-Bold-deeb2988',
120
+ ),
121
+ ),
122
+ (
123
+ style: normal,
124
+ weight: 400,
125
+ files: (
126
+ woff2: 'NotoSansJP-Regular-6ab10d56',
127
+ woff: 'NotoSansJP-Regular-70c49e9e',
128
+ ttf: 'NotoSansJP-Regular-68d5dc69',
129
+ ),
130
+ ),
131
+ ),
132
+ 'Noto Sans KR': (
133
+ (
134
+ style: normal,
135
+ weight: 900,
136
+ files: (
137
+ woff2: 'NotoSansKR-ExtraBold-1dfe3b92',
138
+ woff: 'NotoSansKR-ExtraBold-6c571306',
139
+ ttf: 'NotoSansKR-ExtraBold-f350038a',
140
+ ),
141
+ ),
142
+ (
143
+ style: normal,
144
+ weight: 700,
145
+ files: (
146
+ woff2: 'NotoSansKR-Bold-5286cc6d',
147
+ woff: 'NotoSansKR-Bold-74c4cbc7',
148
+ ttf: 'NotoSansKR-Bold-5651f33d',
149
+ ),
150
+ ),
151
+ (
152
+ style: normal,
153
+ weight: 400,
154
+ files: (
155
+ woff2: 'NotoSansKR-Regular-b6a2ff73',
156
+ woff: 'NotoSansKR-Regular-96147637',
157
+ ttf: 'NotoSansKR-Regular-a2cd60b3',
158
+ ),
159
+ ),
160
+ ),
161
+ 'Noto Sans SC': (
162
+ (
163
+ style: normal,
164
+ weight: 900,
165
+ files: (
166
+ woff2: 'NotoSansSC-Bold-22c3e4e0',
167
+ woff: 'NotoSansSC-Bold-87ef5110',
168
+ ttf: 'NotoSansSC-Bold-57f04989',
169
+ ),
170
+ ),
171
+ (
172
+ style: normal,
173
+ weight: 700,
174
+ files: (
175
+ woff2: 'NotoSansSC-Bold-22c3e4e0',
176
+ woff: 'NotoSansSC-Bold-87ef5110',
177
+ ttf: 'NotoSansSC-Bold-57f04989',
178
+ ),
179
+ ),
180
+ (
181
+ style: normal,
182
+ weight: 400,
183
+ files: (
184
+ woff2: 'NotoSansSC-Regular-97e50cfd',
185
+ woff: 'NotoSansSC-Regular-cba63765',
186
+ ttf: 'NotoSansSC-Regular-f793115b',
187
+ ),
188
+ ),
189
+ ),
190
+ 'Noto Sans TC': (
191
+ (
192
+ style: normal,
193
+ weight: 900,
194
+ files: (
195
+ woff2: 'NotoSansTC-Bold-355d38e9',
196
+ woff: 'NotoSansTC-Bold-2abc3583',
197
+ ttf: 'NotoSansTC-Bold-86244830',
198
+ ),
199
+ ),
200
+ (
201
+ style: normal,
202
+ weight: 700,
203
+ files: (
204
+ woff2: 'NotoSansTC-Bold-355d38e9',
205
+ woff: 'NotoSansTC-Bold-2abc3583',
206
+ ttf: 'NotoSansTC-Bold-86244830',
207
+ ),
208
+ ),
209
+ (
210
+ style: normal,
211
+ weight: 400,
212
+ files: (
213
+ woff2: 'NotoSansTC-Regular-5d6d6915',
214
+ woff: 'NotoSansTC-Regular-c4185417',
215
+ ttf: 'NotoSansTC-Regular-d4301ce6',
216
+ ),
217
+ ),
218
+ ),
219
+ 'Noto Sans Thai': (
220
+ (
221
+ style: normal,
222
+ weight: 900,
223
+ files: (
224
+ woff2: 'NotoSansThai-Bold-74e247cc',
225
+ woff: 'NotoSansThai-Bold-91433b5b',
226
+ ttf: 'NotoSansThai-Bold-778d694c',
227
+ ),
228
+ ),
229
+ (
230
+ style: normal,
231
+ weight: 700,
232
+ files: (
233
+ woff2: 'NotoSansThai-Bold-74e247cc',
234
+ woff: 'NotoSansThai-Bold-91433b5b',
235
+ ttf: 'NotoSansThai-Bold-778d694c',
236
+ ),
237
+ ),
238
+ (
239
+ style: normal,
240
+ weight: 400,
241
+ files: (
242
+ woff2: 'NotoSansThai-Regular-49d26bc7',
243
+ woff: 'NotoSansThai-Regular-bc78fb35',
244
+ ttf: 'NotoSansThai-Regular-84e59eed',
245
+ ),
246
+ ),
247
+ ),
248
+ 'Noto Sans Devanagari': (
249
+ (
250
+ style: normal,
251
+ weight: 900,
252
+ files: (
253
+ woff2: 'NotoSansDevanagari-ExtraBold-ff675d8c',
254
+ woff: 'NotoSansDevanagari-ExtraBold-2b68fdf3',
255
+ ttf: 'NotoSansDevanagari-ExtraBold-ad7aee12',
256
+ ),
257
+ ),
258
+ (
259
+ style: normal,
260
+ weight: 700,
261
+ files: (
262
+ woff2: 'NotoSansDevanagari-Bold-19924491',
263
+ woff: 'NotoSansDevanagari-Bold-2598dc51',
264
+ ttf: 'NotoSansDevanagari-Bold-bca34adc',
265
+ ),
266
+ ),
267
+ (
268
+ style: normal,
269
+ weight: 400,
270
+ files: (
271
+ woff2: 'NotoSansDevanagari-Regular-2ddbe014',
272
+ woff: 'NotoSansDevanagari-Regular-b7e8aefe',
273
+ ttf: 'NotoSansDevanagari-Regular-e0474da6',
274
+ ),
275
+ ),
276
+ ),
277
+ 'Noto Sans': (
278
+ (
279
+ style: normal,
280
+ weight: 900,
281
+ files: (
282
+ woff2: 'NotoSans-ExtraBold-d8d5cc89',
283
+ woff: 'NotoSans-ExtraBold-177dbfc0',
284
+ ttf: 'NotoSans-ExtraBold-cac84afc',
285
+ ),
286
+ ),
287
+ (
288
+ style: italic,
289
+ weight: 900,
290
+ files: (
291
+ woff2: 'NotoSans-ExtraBoldItalic-cf3e028d',
292
+ woff: 'NotoSans-ExtraBoldItalic-be131c58',
293
+ ttf: 'NotoSans-ExtraBoldItalic-c435f928',
294
+ ),
295
+ ),
296
+ (
297
+ style: normal,
298
+ weight: 700,
299
+ files: (
300
+ woff2: 'NotoSans-Bold-0b4b7c45',
301
+ woff: 'NotoSans-Bold-68b2bc2e',
302
+ ttf: 'NotoSans-Bold-bc7f5e39',
303
+ ),
304
+ ),
305
+ (
306
+ style: italic,
307
+ weight: 700,
308
+ files: (
309
+ woff2: 'NotoSans-BoldItalic-61b665f1',
310
+ woff: 'NotoSans-BoldItalic-eff19cbf',
311
+ ttf: 'NotoSans-BoldItalic-695e28bf',
312
+ ),
313
+ ),
314
+ (
315
+ style: normal,
316
+ weight: 400,
317
+ files: (
318
+ woff2: 'NotoSans-Regular-31a7a3e7',
319
+ woff: 'NotoSans-Regular-aa4384e7',
320
+ ttf: 'NotoSans-Regular-f04a504e',
321
+ ),
322
+ ),
323
+ (
324
+ style: italic,
325
+ weight: 400,
326
+ files: (
327
+ woff2: 'NotoSans-Italic-136bdc6a',
328
+ woff: 'NotoSans-Italic-7cd36c44',
329
+ ttf: 'NotoSans-Italic-716d03e4',
330
+ ),
331
+ ),
332
+ ),
333
+ 'Noto Sans Arabic': (
334
+ (
335
+ style: normal,
336
+ weight: 900,
337
+ files: (
338
+ woff2: 'NotoSansArabic-ExtraBold-da8cf050',
339
+ woff: 'NotoSansArabic-ExtraBold-4ac084a2',
340
+ ttf: 'NotoSansArabic-ExtraBold-a965fbb5',
341
+ ),
342
+ ),
343
+ (
344
+ style: normal,
345
+ weight: 700,
346
+ files: (
347
+ woff2: 'NotoSansArabic-Bold-237618dd',
348
+ woff: 'NotoSansArabic-Bold-9e0190d0',
349
+ ttf: 'NotoSansArabic-Bold-d93e430c',
350
+ ),
351
+ ),
352
+ (
353
+ style: normal,
354
+ weight: 400,
355
+ files: (
356
+ woff2: 'NotoSansArabic-Regular-15a84e58',
357
+ woff: 'NotoSansArabic-Regular-a2985c7a',
358
+ ttf: 'NotoSansArabic-Regular-471fde3d',
359
+ ),
360
+ ),
361
+ ),
362
+ 'Noto Sans Hebrew': (
363
+ (
364
+ style: normal,
365
+ weight: 900,
366
+ files: (
367
+ woff2: 'NotoSansHebrew-ExtraBold-e04df8b4',
368
+ woff: 'NotoSansHebrew-ExtraBold-3303fb69',
369
+ ttf: 'NotoSansHebrew-ExtraBold-4cfb24e3',
370
+ ),
371
+ ),
372
+ (
373
+ style: normal,
374
+ weight: 700,
375
+ files: (
376
+ woff2: 'NotoSansHebrew-Bold-ad38ec01',
377
+ woff: 'NotoSansHebrew-Bold-6ecb028a',
378
+ ttf: 'NotoSansHebrew-Bold-752057d4',
379
+ ),
380
+ ),
381
+ (
382
+ style: normal,
383
+ weight: 400,
384
+ files: (
385
+ woff2: 'NotoSansHebrew-Regular-d42b5a85',
386
+ woff: 'NotoSansHebrew-Regular-bdcbbd78',
387
+ ttf: 'NotoSansHebrew-Regular-41f881f3',
388
+ ),
389
+ ),
390
+ ),
391
+ );
40
392
 
41
- @font-face {
42
- font-family: 'Skyscanner Relative';
43
- font-style: normal;
44
- font-weight: 500;
45
- src:
46
- url('#{$base-url}/SkyscannerRelative-Medium-c08dc28b.woff2') format('woff2'),
47
- url('#{$base-url}/SkyscannerRelative-Medium-865e167a.woff') format('woff'),
48
- url('#{$base-url}/SkyscannerRelative-Medium-d0ae478a.ttf') format('ttf');
49
- }
393
+ @mixin bpk-font-face($family, $style, $weight, $files) {
394
+ $srcs: ();
395
+
396
+ @each $ext in $font-formats {
397
+ $file: map.get($files, $ext);
398
+
399
+ @if $file != null and $file != '' {
400
+ $srcs: list.append(
401
+ $srcs,
402
+ "url('#{$base-url}/#{$file}.#{$ext}') format('#{$ext}')",
403
+ comma
404
+ );
405
+ }
406
+ }
50
407
 
51
- @font-face {
52
- font-family: 'Skyscanner Relative';
53
- font-style: italic;
54
- font-weight: 500;
55
- src:
56
- url('#{$base-url}/SkyscannerRelative-MediumItalic-81517f37.woff2')
57
- format('woff2'),
58
- url('#{$base-url}/SkyscannerRelative-MediumItalic-bbdb6b0c.woff')
59
- format('woff'),
60
- url('#{$base-url}/SkyscannerRelative-MediumItalic-226fe64c.ttf')
61
- format('ttf');
408
+ /* stylelint-disable backpack/use-typography-styles */
409
+ @font-face {
410
+ font-family: $family;
411
+ font-style: $style;
412
+ font-weight: $weight;
413
+ src: #{$srcs};
414
+ }
415
+ /* stylelint-enable backpack/use-typography-styles */
62
416
  }
63
417
 
64
- @font-face {
65
- font-family: 'Skyscanner Relative';
66
- font-style: normal;
67
- font-weight: 700;
68
- src:
69
- url('#{$base-url}/SkyscannerRelative-Bold-8545937e.woff2') format('woff2'),
70
- url('#{$base-url}/SkyscannerRelative-Bold-a099c9f7.woff') format('woff'),
71
- url('#{$base-url}/SkyscannerRelative-Bold-ec4cc5a7.ttf') format('ttf');
418
+ @each $family, $variants in $bpk-fonts {
419
+ @each $variant in $variants {
420
+ @include bpk-font-face(
421
+ $family,
422
+ map.get($variant, style),
423
+ map.get($variant, weight),
424
+ map.get($variant, files)
425
+ );
426
+ }
72
427
  }
73
428
 
74
- @font-face {
75
- font-family: 'Skyscanner Relative';
76
- font-style: italic;
77
- font-weight: 700;
78
- src:
79
- url('#{$base-url}/SkyscannerRelative-BoldItalic-01b5d138.woff2')
80
- format('woff2'),
81
- url('#{$base-url}/SkyscannerRelative-BoldItalic-4d6d36e3.woff')
82
- format('woff'),
83
- url('#{$base-url}/SkyscannerRelative-BoldItalic-dc9284dc.ttf') format('ttf');
429
+ [lang='ja-JP'],
430
+ :lang(ja-JP) {
431
+ --bpk-base-font-stack:
432
+ 'Skyscanner Relative', 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC',
433
+ 'Noto Sans KR', 'Noto Sans Arabic', 'Noto Sans Hebrew', 'Noto Sans',
434
+ 'Noto Sans Devanagari', 'Noto Sans Thai', -apple-system, blinkmacsystemfont,
435
+ roboto, oxygen, ubuntu, cantarell, 'Fira Sans', 'Droid Sans',
436
+ 'Helvetica Neue', sans-serif;
84
437
  }
85
438
 
86
- @font-face {
87
- font-family: 'Skyscanner Relative';
88
- font-style: normal;
89
- font-weight: 900;
90
- src:
91
- url('#{$base-url}/SkyscannerRelative-Black-bb3c9434.woff2') format('woff2'),
92
- url('#{$base-url}/SkyscannerRelative-Black-bba2eb55.woff') format('woff'),
93
- url('#{$base-url}/SkyscannerRelative-Black-314703cc.ttf') format('ttf');
439
+ [lang='zh-TW'],
440
+ :lang(zh-TW) {
441
+ --bpk-base-font-stack:
442
+ 'Skyscanner Relative', 'Noto Sans TC', 'Noto Sans SC', 'Noto Sans JP',
443
+ 'Noto Sans KR', 'Noto Sans Arabic', 'Noto Sans Hebrew', 'Noto Sans',
444
+ 'Noto Sans Devanagari', 'Noto Sans Thai', -apple-system, blinkmacsystemfont,
445
+ roboto, oxygen, ubuntu, cantarell, 'Fira Sans', 'Droid Sans',
446
+ 'Helvetica Neue', sans-serif;
94
447
  }
95
448
 
96
- @font-face {
97
- font-family: 'Skyscanner Relative';
98
- font-style: italic;
99
- font-weight: 900;
100
- src:
101
- url('#{$base-url}/SkyscannerRelative-BlackItalic-c2149c91.woff2')
102
- format('woff2'),
103
- url('#{$base-url}/SkyscannerRelative-BlackItalic-a34cd594.woff')
104
- format('woff'),
105
- url('#{$base-url}/SkyscannerRelative-BlackItalic-7e516ee5.ttf')
106
- format('ttf');
449
+ // Using :where([lang]) ensures that we trigger a re-evaluation of the font-stack
450
+ // variable for any element with a lang attribute, but with ZERO specificity.
451
+ // This means any component with its own class (like BpkBubble or Editorial text)
452
+ // will easily override this and use its own font-family logic.
453
+ :where([lang]) {
454
+ font-family: var(--bpk-base-font-stack);
107
455
  }
@@ -38,7 +38,7 @@ html {
38
38
  /* stylelint-disable selector-class-pattern */
39
39
  body {
40
40
  color: tokens.$bpk-font-color-base;
41
- font-family: tokens.$bpk-font-family-base;
41
+ font-family: var(--bpk-base-font-stack, tokens.$bpk-font-family-base);
42
42
  font-size: tokens.$bpk-font-size-base;
43
43
  line-height: 1.3rem; /* stylelint-disable-line scale-unlimited/declaration-strict-value */
44
44
  }
@@ -15,4 +15,4 @@
15
15
  * See the License for the specific language governing permissions and
16
16
  * limitations under the License.
17
17
  */
18
- @font-face{font-family:Larken;font-style:normal;font-weight:300;src:url("https://js.skyscnr.com/sttc/bpk-fonts/Larken-Light-8371ea16.woff2") format("woff2"),url("https://js.skyscnr.com/sttc/bpk-fonts/Larken-Light-39e53c9a.woff") format("woff")}@font-face{font-family:Larken;font-style:normal;font-weight:400;src:url("https://js.skyscnr.com/sttc/bpk-fonts/Larken-Regular-3d9dfe29.woff2") format("woff2"),url("https://js.skyscnr.com/sttc/bpk-fonts/Larken-Regular-626ee28c.woff") format("woff")}@font-face{font-family:"Noto Sans Arabic";font-style:normal;font-weight:300;src:url("https://js.skyscnr.com/sttc/bpk-fonts/NotoSansArabic-Light-e77dc47a.woff2") format("woff2"),url("https://js.skyscnr.com/sttc/bpk-fonts/NotoSansArabic-Light-ea83f673.woff") format("woff"),url("https://js.skyscnr.com/sttc/bpk-fonts/NotoSansArabic-Light-b2ff05f9.ttf") format("ttf")}@font-face{font-family:"Noto Sans Hebrew";font-style:normal;font-weight:300;src:url("https://js.skyscnr.com/sttc/bpk-fonts/NotoSansHebrew-Light-7e3d70ae.woff2") format("woff2"),url("https://js.skyscnr.com/sttc/bpk-fonts/NotoSansHebrew-Light-87087c3d.woff") format("woff"),url("https://js.skyscnr.com/sttc/bpk-fonts/NotoSansHebrew-Light-7b34032c.ttf") format("ttf")}@font-face{font-family:"Noto Serif";font-style:normal;font-weight:300;src:url("https://js.skyscnr.com/sttc/bpk-fonts/NotoSerif-Light-46d7aaea.woff2") format("woff2"),url("https://js.skyscnr.com/sttc/bpk-fonts/NotoSerif-Light-412a21b9.woff") format("woff"),url("https://js.skyscnr.com/sttc/bpk-fonts/NotoSerif-Light-9dbdd5d2.ttf") format("ttf")}@font-face{font-family:"Noto Serif Devanagari";font-style:normal;font-weight:300;src:url("https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifDevanagari-Light-6f8c3ec2.woff2") format("woff2"),url("https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifDevanagari-Light-9e5b16f1.woff") format("woff"),url("https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifDevanagari-Light-d396b2f0.ttf") format("ttf")}@font-face{font-family:"Noto Serif Thai";font-style:normal;font-weight:300;src:url("https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifThai-Light-c19b05eb.woff2") format("woff2"),url("https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifThai-Light-c8dd8e9a.woff") format("woff"),url("https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifThai-Light-7503fb65.ttf") format("ttf")}@font-face{font-family:"Noto Sans SC";font-style:normal;font-weight:300;src:url("https://js.skyscnr.com/sttc/bpk-fonts/NotoSansSC-Light-650e8f78.woff2") format("woff2"),url("https://js.skyscnr.com/sttc/bpk-fonts/NotoSansSC-Light-562944a8.woff") format("woff"),url("https://js.skyscnr.com/sttc/bpk-fonts/NotoSansSC-Light-a73eb63e.ttf") format("ttf")}@font-face{font-family:"Noto Sans TC";font-style:normal;font-weight:300;src:url("https://js.skyscnr.com/sttc/bpk-fonts/NotoSansTC-Light-44be0b13.woff2") format("woff2"),url("https://js.skyscnr.com/sttc/bpk-fonts/NotoSansTC-Light-a8473157.woff") format("woff"),url("https://js.skyscnr.com/sttc/bpk-fonts/NotoSansTC-Light-d77339b0.ttf") format("ttf")}@font-face{font-family:"Noto Sans JP";font-style:normal;font-weight:300;src:url("https://js.skyscnr.com/sttc/bpk-fonts/NotoSansJP-Light-1fed199d.woff2") format("woff2"),url("https://js.skyscnr.com/sttc/bpk-fonts/NotoSansJP-Light-828afdbb.woff") format("woff"),url("https://js.skyscnr.com/sttc/bpk-fonts/NotoSansJP-Light-477cc6a5.ttf") format("ttf")}@font-face{font-family:"Noto Sans KR";font-style:normal;font-weight:300;src:url("https://js.skyscnr.com/sttc/bpk-fonts/NotoSansKR-Light-8bef1aea.woff2") format("woff2"),url("https://js.skyscnr.com/sttc/bpk-fonts/NotoSansKR-Light-c07b4050.woff") format("woff"),url("https://js.skyscnr.com/sttc/bpk-fonts/NotoSansKR-Light-137d0733.ttf") format("ttf")}
18
+ @font-face{font-family:larken;font-style:normal;font-weight:300;src:url('https://js.skyscnr.com/sttc/bpk-fonts/Larken-Light-8371ea16.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/Larken-Light-39e53c9a.woff') format('woff')}@font-face{font-family:larken;font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/Larken-Regular-3d9dfe29.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/Larken-Regular-626ee28c.woff') format('woff')}@font-face{font-family:"Noto Sans Arabic";font-style:normal;font-weight:300;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansArabic-Light-e77dc47a.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansArabic-Light-ea83f673.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansArabic-Light-b2ff05f9.ttf') format('ttf')}@font-face{font-family:"Noto Sans Arabic";font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansArabic-Regular-15a84e58.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansArabic-Regular-a2985c7a.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansArabic-Regular-471fde3d.ttf') format('ttf')}@font-face{font-family:"Noto Serif Hebrew";font-style:normal;font-weight:300;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifHebrew-Light-24198867.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifHebrew-Light-7d94eb62.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifHebrew-Light-320a7a43.ttf') format('ttf')}@font-face{font-family:"Noto Serif Hebrew";font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifHebrew-Regular-a9e2c102.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifHebrew-Regular-41b2944d.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifHebrew-Regular-e8471015.ttf') format('ttf')}@font-face{font-family:"Noto Serif";font-style:normal;font-weight:300;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerif-Light-46d7aaea.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerif-Light-412a21b9.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerif-Light-9dbdd5d2.ttf') format('ttf')}@font-face{font-family:"Noto Serif";font-style:italic;font-weight:300;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerif-LightItalic-3df46bf3.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerif-LightItalic-b235c828.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerif-LightItalic-1a288873.ttf') format('ttf')}@font-face{font-family:"Noto Serif";font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerif-Regular-f9cc92ed.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerif-Regular-ea07f3b6.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerif-Regular-c8fe04e5.ttf') format('ttf')}@font-face{font-family:"Noto Serif";font-style:italic;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerif-Italic-132f7557.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerif-Italic-ceeb7a6f.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerif-Italic-25dbfc26.ttf') format('ttf')}@font-face{font-family:"Noto Serif Devanagari";font-style:normal;font-weight:300;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifDevanagari-Light-6f8c3ec2.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifDevanagari-Light-9e5b16f1.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifDevanagari-Light-d396b2f0.ttf') format('ttf')}@font-face{font-family:"Noto Serif Devanagari";font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifDevanagari-Regular-05c8f8c5.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifDevanagari-Regular-7b432355.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifDevanagari-Regular-49b7fded.ttf') format('ttf')}@font-face{font-family:"Noto Serif Thai";font-style:normal;font-weight:300;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifThai-Light-c19b05eb.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifThai-Light-c8dd8e9a.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifThai-Light-7503fb65.ttf') format('ttf')}@font-face{font-family:"Noto Serif Thai";font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifThai-Regular-807f25ca.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifThai-Regular-4930d4b0.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifThai-Regular-619e0cdd.ttf') format('ttf')}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:300;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifSC-Light-340f3714.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifSC-Light-0cad7edb.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifSC-Light-4a0300b1.ttf') format('ttf')}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifSC-Regular-81b3cace.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifSC-Regular-861a6d77.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifSC-Regular-e6f67c70.ttf') format('ttf')}@font-face{font-family:"Noto Serif TC";font-style:normal;font-weight:300;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifTC-Light-d06d870d.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifTC-Light-e7d41ebf.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifTC-Light-a575e20b.ttf') format('ttf')}@font-face{font-family:"Noto Serif TC";font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifTC-Regular-ba80e9e3.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifTC-Regular-24d6fd67.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifTC-Regular-81f7cfa9.ttf') format('ttf')}@font-face{font-family:"Noto Serif JP";font-style:normal;font-weight:300;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifJP-Light-300342ba.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifJP-Light-908de8db.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifJP-Light-4fdde149.ttf') format('ttf')}@font-face{font-family:"Noto Serif JP";font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifJP-Regular-04cd06e8.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifJP-Regular-5ec4849d.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifJP-Regular-5926d365.ttf') format('ttf')}@font-face{font-family:"Noto Serif KR";font-style:normal;font-weight:300;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifKR-Light-cafbe1fe.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifKR-Light-60488ca3.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifKR-Light-4149d2b6.ttf') format('ttf')}@font-face{font-family:"Noto Serif KR";font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifKR-Regular-f6377da5.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifKR-Regular-a5cc7c23.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSerifKR-Regular-2fa19520.ttf') format('ttf')}[lang=ja-JP],:lang(ja-JP){--bpk-larken-font-stack: larken, "Noto Serif JP", "Noto Serif SC", "Noto Serif TC", "Noto Serif KR", "Noto Sans Arabic", "Noto Serif Hebrew", "Noto Serif", "Noto Serif Devanagari", "Noto Serif Thai", sans-serif}[lang=zh-TW],:lang(zh-TW){--bpk-larken-font-stack: larken, "Noto Serif TC", "Noto Serif SC", "Noto Serif JP", "Noto Serif KR", "Noto Sans Arabic", "Noto Serif Hebrew", "Noto Serif", "Noto Serif Devanagari", "Noto Serif Thai", sans-serif}