@certrev/cert-block 1.2.0-canary.1 → 1.2.0-canary.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +86 -0
- package/README.md +30 -10
- package/dist/reader/logo-assets.generated.d.ts +3 -0
- package/dist/reader/logo-assets.generated.d.ts.map +1 -0
- package/dist/reader/logo-assets.generated.js +8 -0
- package/dist/reader/logo-assets.generated.js.map +1 -0
- package/dist/reader/logo.d.ts.map +1 -1
- package/dist/reader/logo.js +11 -14
- package/dist/reader/logo.js.map +1 -1
- package/dist/reader/reader-css.generated.d.ts +1 -1
- package/dist/reader/reader-css.generated.d.ts.map +1 -1
- package/dist/reader/reader-css.generated.js +1 -1
- package/dist/reader/reader-css.generated.js.map +1 -1
- package/dist/reader/render.d.ts.map +1 -1
- package/dist/reader/render.js +34 -14
- package/dist/reader/render.js.map +1 -1
- package/dist/reader/tokens.d.ts.map +1 -1
- package/dist/reader/tokens.js +6 -5
- package/dist/reader/tokens.js.map +1 -1
- package/package.json +1 -1
- package/src/reader/logo-assets.generated.ts +7 -0
- package/src/reader/logo.ts +11 -15
- package/src/reader/reader-css.generated.ts +1 -1
- package/src/reader/reader.css +630 -121
- package/src/reader/render.ts +34 -15
- package/src/reader/tokens.ts +6 -5
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,92 @@ change the rendered cert output and never break a compiling integration** (regis
|
|
|
5
5
|
exports, types). Anything that would alter what a visitor sees, or require integration changes,
|
|
6
6
|
is announced loudly here first.
|
|
7
7
|
|
|
8
|
+
## 1.2.0-canary.3 · 2026-10-04
|
|
9
|
+
|
|
10
|
+
Minor, still on the `canary` dist-tag: the reader face brought to the portal's M9 reader (the judge's round 3
|
|
11
|
+
text and image leaves; portal `d232d7e2ae`). **Legacy output is unchanged**: a def without `face: 'reader'`
|
|
12
|
+
paints the 1.1.1 bytes (the 1.1.1 golden still passes), an options-only block never reads the def, and the
|
|
13
|
+
modal, `CERT_FONT_FACE_CSS` and `@certrev/cert-contract` are as they were. No integration needs a code change.
|
|
14
|
+
|
|
15
|
+
- **The logo is the demo's own file (R3-W2 / R3-S2 b).** certrev.com's reader card prints `<img>` elements that
|
|
16
|
+
point at `logo-white.svg` and `logo-mono.svg`, and the judge compares the `src`. The face's logo was a
|
|
17
|
+
redrawn inline mark. It is now the two files themselves, as base64 `data:image/svg+xml` URIs of their exact
|
|
18
|
+
bytes, which is what the portal's Liquid parity engine prints for the Shopify snippet's `asset_url`:
|
|
19
|
+
`logo-white.svg` on a dark accent's cap, `logo-mono.svg` in the verified footer and on a light accent's cap
|
|
20
|
+
(sha256 `3c819f65...2d07` and `da906f44...3c3e`, 9,289 bytes each). They are bundled in
|
|
21
|
+
`src/reader/logo-assets.generated.ts`, written by `pnpm refresh:reader` from the portal's copies; it is still
|
|
22
|
+
a `data:` URI, so no host `img-src` changes, and the face still makes no request. Eight goldens changed on
|
|
23
|
+
this account, in the `<img src>` only: the banner and sidebar of navy-full, gold-serif-sharp-full,
|
|
24
|
+
burgundy-mono-pill-nophoto and navy-sparse. The two files' bytes make a banner with a memo (it paints both)
|
|
25
|
+
about 22 KB larger in its server HTML.
|
|
26
|
+
- **Scope text nodes (R3-W2 / R3-S2 a).** The cue's separator in the scope line is followed by an empty
|
|
27
|
+
`<!-- -->` (`<em>Illustrative example</em> · <!-- -->Independent editorial review ...`, and the same after
|
|
28
|
+
`<em>Compensated expert</em>`), as the demo's React server render leaves it: the element's DOM holds " · " and
|
|
29
|
+
the sentence as two text nodes, which is what the judge compares. The comment is not text, so the
|
|
30
|
+
`data-ftc-line` element still reads `{cue} · {sentence}` and the FTC sentence is byte-exact. With no cue there
|
|
31
|
+
is no separator and no comment. Six goldens changed on this account (the banner and the sidebar of the three
|
|
32
|
+
cued cells, navy-full, gold-serif-sharp-full and burgundy-mono-pill-nophoto), each by exactly the inserted
|
|
33
|
+
comment; the sparse cells carry no cue and are unchanged.
|
|
34
|
+
- **Wrapper armor.** The stylesheet ends with the portal's rule
|
|
35
|
+
`:is(.certrev-card-wrap, .certrev-memo-wrap):has(.certrev-reader) { margin-block: 0 !important; padding: 0 !important; }`
|
|
36
|
+
(WordPress's block-gap margin and Shopify's body-fallback padding stacked on the card's own). The Builder face
|
|
37
|
+
paints neither wrapper, so the rule matches nothing on a Builder page; it is carried because `reader.css` is the
|
|
38
|
+
portal's generated section byte for byte (31,664 bytes, sha256 `5f90e70a...a466`; full value in
|
|
39
|
+
`src/reader/__tests__/fixtures/SOURCES.json`). Nothing else in the stylesheet changed.
|
|
40
|
+
- **Not in this release.** The portal's trimmed Liquid doc comments and its rebuilt WordPress zip change nothing
|
|
41
|
+
here: no renderer, stylesheet or golden of the Builder face depends on them.
|
|
42
|
+
- **Tests.** New: `reader-logo-files.test.ts` (the two files' sha256, the white/mono choice per accent, no inline
|
|
43
|
+
mark left) and `reader-scope-text-nodes.test.ts` (the scope line's DOM shape, cued, illustrative and uncued).
|
|
44
|
+
Goldens, the oracle cells (236, now carrying the data URIs) and SOURCES.json, which now also records the two
|
|
45
|
+
logo files, come from portal `d232d7e2ae` by `pnpm refresh:reader --portal --oracle`; the script now writes
|
|
46
|
+
the logo module too and formats the oracle file past biome's 1 MiB default. Two tests that encoded the old
|
|
47
|
+
bytes are updated to the new exact values, not loosened: the stylesheet sha pin in
|
|
48
|
+
`reader-face-card.test.tsx`, and the list of reader sources in `reader-safety.test.ts`, which gains
|
|
49
|
+
`logo-assets.generated.ts` (so the new file is held to the same no-network, no-script rules as the rest).
|
|
50
|
+
|
|
51
|
+
## 1.2.0-canary.2 · 2026-10-04
|
|
52
|
+
|
|
53
|
+
Minor, still on the `canary` dist-tag: the reader face brought to the portal's current render (its M4, judge
|
|
54
|
+
round 2; portal `4cc33bd`). **Legacy output is unchanged**: a def without `face: 'reader'` paints the 1.1.1
|
|
55
|
+
bytes (the 1.1.1 golden still passes), an options-only block never reads the def, and the legacy `@font-face`
|
|
56
|
+
rules and the modal's font injection are as they were. No integration needs a code change.
|
|
57
|
+
|
|
58
|
+
- **Fonts (B1).** The "CertREV Reader Serif" and "CertREV Reader Grotesk" aliases are gone. The serif and
|
|
59
|
+
grotesk `--cr-bf` stacks are the demo's own (`'Playfair Display', ui-serif, Georgia, serif` and
|
|
60
|
+
`'Plus Jakarta Sans', ui-sans-serif, system-ui, sans-serif`), and the stylesheet ends with 44 `@font-face`
|
|
61
|
+
rules: certrev.com's own DM Sans, Playfair Display, Plus Jakarta Sans and JetBrains Mono faces (40 rules over
|
|
62
|
+
12 `https://assets.certrev.com/fonts/cert-reader-*.woff2` files) and the four metric "* Fallback" faces
|
|
63
|
+
(`src: local(Arial)`, no fetch), all at `font-stretch: 101%`. The reader root asks for 101%, so the faces
|
|
64
|
+
apply to reader text only and never to a legacy face of the same name. The card inlines this stylesheet in
|
|
65
|
+
its own `<style data-certrev-reader-css>` (server HTML and a browser-only mount alike), so DM Sans and
|
|
66
|
+
JetBrains Mono, which the card used to name with no face of its own until a modal had opened, are in the
|
|
67
|
+
document when the card mounts. A host with a `font-src` CSP needs `https://assets.certrev.com` for the card
|
|
68
|
+
on every slot now, not only serif and grotesk; without it the stack falls to its generic family.
|
|
69
|
+
- **Theme armor (W1).** Every declaration on the `.certrev-reader` root is `!important` (colour, font family,
|
|
70
|
+
size, style, weight, `font-stretch: 101%`, line height, spacing, alignment, case, shadow, wrapping and
|
|
71
|
+
hyphenation), and `box-sizing: border-box` covers the root and everything in it. A guard rule,
|
|
72
|
+
`.certrev-reader :is(div, section, aside, p, blockquote, span, a, b, strong, em, i, time, small)`, makes
|
|
73
|
+
descendant text inherit those over a host theme's element rules; `b`/`strong` stay `bolder`, `em`/`i`
|
|
74
|
+
italic, and `p` carries the DM Sans stack, all `!important`.
|
|
75
|
+
- **Square images (B2).** The image armor adds `border-radius: 0 !important`: Hydrogen's starter `app.css`
|
|
76
|
+
rounds every `img` 4px, which reached the cap and verified logos and the reviewer photo. The round avatar
|
|
77
|
+
stays its wrapper's 50% clip.
|
|
78
|
+
- **Text leaves are the demo's.** The Liquid snippets split text as the demo's React does, and the face follows
|
|
79
|
+
them (the Liquid-harness oracle and the goldens hold it byte for byte): the memo name is the name, `,` and
|
|
80
|
+
the credential (`<b>Name</b>, <!-- -->RDN, LD, PhD`); the profile link is "View", the first name and
|
|
81
|
+
"’s profile" (`View <!-- -->Avery<!-- -->’s profile`); the sidebar name is the name, `,` and the
|
|
82
|
+
credential in one `<b>`; the certified date is direct text of its span beside the "Certified" cue (no
|
|
83
|
+
`<time>`); and the scope sentence is direct text of the scope element, which now carries `data-ftc-line`
|
|
84
|
+
itself (no inner `<span>`; still one marker per render). The "Certified" and "Illustrative example" mono
|
|
85
|
+
labels are nested in the date's and the disclaimer's elements, as in the demo.
|
|
86
|
+
- **Stylesheet and tests.** `reader.css` is 31,542 bytes, sha256 `e43fd748...fbab` (full value in
|
|
87
|
+
`src/reader/__tests__/fixtures/SOURCES.json`); goldens, the oracle cells and SOURCES.json come from portal
|
|
88
|
+
`4cc33bd` by `pnpm refresh:reader --portal --oracle`. New: `reader-face-card-fonts.test.tsx` (10), which
|
|
89
|
+
mounts the card with no modal opened and finds the DM Sans `@font-face` at `font-stretch: 101%` in the
|
|
90
|
+
document, and checks that every family the card or the stylesheet asks for has a face. Two tests that
|
|
91
|
+
encoded the old aliases are updated to the new rules: the stylesheet-loads-only-CertREV-fonts test in
|
|
92
|
+
`reader-safety.test.ts` and the stylesheet sha pin in `reader-face-card.test.tsx`.
|
|
93
|
+
|
|
8
94
|
## 1.2.0-canary.1 · 2026-10-04
|
|
9
95
|
|
|
10
96
|
Minor, still on the `canary` dist-tag: the reader face brought to the portal's current render (its M3).
|
package/README.md
CHANGED
|
@@ -304,12 +304,31 @@ the `delivery` marker (an options-only block) never reads the envelope, so it st
|
|
|
304
304
|
and as `READER_CSS`. The card inlines it once, in a `<style data-certrev-reader-css>`, inside the face's
|
|
305
305
|
wrapper; the brand's colours, corners and font ride the `--cr-*` variables on `.certrev-reader`.
|
|
306
306
|
`pnpm refresh:reader` regenerates the CSS, the TS copy and the fixtures from a portal checkout.
|
|
307
|
-
The stylesheet
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
307
|
+
The stylesheet ends with 44 `@font-face` rules: certrev.com's own DM Sans, Playfair Display, Plus Jakarta
|
|
308
|
+
Sans and JetBrains Mono faces (40 rules over 12 files, `https://assets.certrev.com/fonts/cert-reader-*.woff2`)
|
|
309
|
+
and the four metric "* Fallback" faces (`src: local(Arial)`, so no fetch). They are declared at
|
|
310
|
+
`font-stretch: 101%` and the reader root asks for 101%, so they apply to reader text only and never to a
|
|
311
|
+
legacy face of the same name. The brand font stacks are the demo's own (`'DM Sans', ui-sans-serif, ...`);
|
|
312
|
+
there are no "CertREV Reader" aliases. The faces ride the card's own `<style>`, so they are in the document
|
|
313
|
+
whenever the card is, with no modal opened; the **browser** loads a file when the card paints with that
|
|
314
|
+
family, and the card itself makes no request. A host whose CSP has no `font-src` for that origin gets the
|
|
315
|
+
stack's generic family (and the Fallback metric face for the demo's stacks), never a broken card.
|
|
316
|
+
Every declaration on the `.certrev-reader` root is `!important`, a guard rule makes descendant text inherit
|
|
317
|
+
the reader's font, colour and spacing over a host theme's element rules, and an image armor keeps `img`
|
|
318
|
+
corners square (`border-radius: 0 !important`; Hydrogen's starter `app.css` rounds every `img` 4px).
|
|
319
|
+
The stylesheet also ends with the portal's wrapper rule,
|
|
320
|
+
`:is(.certrev-card-wrap, .certrev-memo-wrap):has(.certrev-reader) { margin-block: 0 !important; padding: 0 !important; }`,
|
|
321
|
+
which a Shopify or WordPress page needs so its card and memo wrappers add no spacing around a reader card.
|
|
322
|
+
The Builder face paints no such wrapper (it emits the `.certrev-reader` sections alone), so the rule matches
|
|
323
|
+
nothing there; it is in the file because the file is the portal's bytes.
|
|
324
|
+
- **The logo is the demo's own file.** The `<img>` in the card cap and in the memo's verified footer is
|
|
325
|
+
`logo-white.svg` (the cap on a dark accent) or `logo-mono.svg` (the footer, and the cap on a light accent),
|
|
326
|
+
printed as a base64 `data:image/svg+xml` URI of the file's exact bytes
|
|
327
|
+
(`src/reader/logo-assets.generated.ts`, from the portal by `pnpm refresh:reader`; sha256 `3c819f65...2d07` and
|
|
328
|
+
`da906f44...3c3e`). It is a `data:` URI as before, so a host's `img-src` needs nothing new, and the face
|
|
329
|
+
still loads no image of its own. The scope line's cue separator is followed by an empty `<!-- -->`
|
|
330
|
+
(`<em>Compensated expert</em> · <!-- -->Independent editorial review ...`), as the demo's React render leaves
|
|
331
|
+
it, so the separator and the sentence are two text nodes.
|
|
313
332
|
- **Modal and links.** The profile and certificate links carry `data-certrev-modal-open` (the profile's
|
|
314
333
|
with `="expert"`), as in the Liquid face; the card only emits the hooks, and the host loads the modal
|
|
315
334
|
script as for any face. The face makes no request of its own. Its links carry `CERTREV_LINK_REL`
|
|
@@ -406,9 +425,10 @@ import certScriptUrl from '@certrev/cert-block/modal/certrev-cert.js?url'
|
|
|
406
425
|
|
|
407
426
|
CSP allowances for the headless host. The **registered card** needs none on the legacy face: it fetches
|
|
408
427
|
no font, loads no image (the avatar is rendered initials) and inlines its logo as SVG. The reader face's
|
|
409
|
-
inlined stylesheet names `https://assets.certrev.com/fonts/` in its `@font-face` rules for
|
|
410
|
-
|
|
411
|
-
modal (`data-fonts="host"` only stops the modal's injection).
|
|
428
|
+
inlined stylesheet names `https://assets.certrev.com/fonts/` in its `@font-face` rules for every font slot
|
|
429
|
+
(DM Sans, Playfair Display, Plus Jakarta Sans, JetBrains Mono), so a host that wants those fonts needs the
|
|
430
|
+
`font-src` below for the card as well as the modal (`data-fonts="host"` only stops the modal's injection).
|
|
431
|
+
These are what the **modal** needs:
|
|
412
432
|
|
|
413
433
|
- `connect-src` → the CertREV Delivery origin the element fetches the signed envelope from
|
|
414
434
|
(production `https://portal.certrev.com`; staging `https://staging.portal.certrev.com`).
|
|
@@ -687,7 +707,7 @@ published at `@certrev/cert-block/fixtures`).
|
|
|
687
707
|
|
|
688
708
|
## Version
|
|
689
709
|
|
|
690
|
-
`1.2.0-canary.
|
|
710
|
+
`1.2.0-canary.3`: see [CHANGELOG.md](./CHANGELOG.md) for the release history and the semver contract
|
|
691
711
|
(patch/minor never change the rendered cert output or break a compiling integration). Publishes
|
|
692
712
|
**publicly** to npm as `@certrev/cert-block` (`publishConfig.access: public`) via GitHub Actions
|
|
693
713
|
trusted publishing (OIDC); the internal `@certrev` GitHub-Packages channel mirrors it.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logo-assets.generated.d.ts","sourceRoot":"","sources":["../../src/reader/logo-assets.generated.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,mBAAmB,EAAE,MAAyoY,CAAA;AAC3qY,eAAO,MAAM,kBAAkB,EAAE,MAAyoY,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// biome-ignore-all format: generated file
|
|
2
|
+
// biome-ignore-all lint: generated file
|
|
3
|
+
// GENERATED by scripts/refresh-reader.mjs from the portal's certrev-logo-{white,mono}.svg (the demo's own logo
|
|
4
|
+
// files) as the base64 data URIs the portal parity engine prints for them. Do not edit: run the script.
|
|
5
|
+
// reader-logo-files.test.ts decodes each and pins the sha256 of its bytes. (Typed `string`, so the .d.ts stays small.)
|
|
6
|
+
export const LOGO_WHITE_DATA_URI = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNTAwIiB6b29tQW5kUGFuPSJtYWduaWZ5IiB2aWV3Qm94PSIwIDAgMzc1IDM3NC45OTk5OTEiIGhlaWdodD0iNTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0IiB2ZXJzaW9uPSIxLjAiPjxkZWZzPjxjbGlwUGF0aCBpZD0iNGM1Mjk4ODk3MiI+PHBhdGggZD0iTSAxOSAyMTYgTCAxNDUgMjE2IEwgMTQ1IDM0MSBMIDE5IDM0MSBaIE0gMTkgMjE2ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjNiZjBhODc4YWYiPjxwYXRoIGQ9Ik0gNTQuMzMyMDMxIDIwOC41MTE3MTkgTCAxNTIuMDg1OTM4IDMwNi4yNjU2MjUgTCAxMDkuODEyNSAzNDguNTM1MTU2IEwgMTIuMDYyNSAyNTAuNzgxMjUgWiBNIDU0LjMzMjAzMSAyMDguNTExNzE5ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImMwMzMzNzViMjIiPjxwYXRoIGQ9Ik0gNjcuNTg5ODQ0IDIyMS43Njk1MzEgTCAxMzguNzczNDM4IDI5Mi45NTMxMjUgQyAxNDIuMjg5MDYyIDI5Ni40Njg3NSAxNDQuMjY1NjI1IDMwMS4yMzgyODEgMTQ0LjI2NTYyNSAzMDYuMjEwOTM4IEMgMTQ0LjI2NTYyNSAzMTEuMTgzNTk0IDE0Mi4yODkwNjIgMzE1Ljk1MzEyNSAxMzguNzczNDM4IDMxOS40Njg3NSBMIDEyMy4wMTk1MzEgMzM1LjIyMjY1NiBDIDExOS41MDM5MDYgMzM4Ljc0MjE4OCAxMTQuNzM0Mzc1IDM0MC43MTQ4NDQgMTA5Ljc2MTcxOSAzNDAuNzE0ODQ0IEMgMTA0Ljc4OTA2MiAzNDAuNzE0ODQ0IDEwMC4wMTk1MzEgMzM4Ljc0MjE4OCA5Ni41MDM5MDYgMzM1LjIyMjY1NiBMIDI1LjMyMDMxMiAyNjQuMDQyOTY5IEMgMjEuODA0Njg4IDI2MC41MjM0MzggMTkuODI4MTI1IDI1NS43NTc4MTIgMTkuODI4MTI1IDI1MC43ODEyNSBDIDE5LjgyODEyNSAyNDUuODA4NTk0IDIxLjgwNDY4OCAyNDEuMDQyOTY5IDI1LjMyMDMxMiAyMzcuNTIzNDM4IEwgNDEuMDc0MjE5IDIyMS43Njk1MzEgQyA0NC41ODk4NDQgMjE4LjI1MzkwNiA0OS4zNTkzNzUgMjE2LjI3NzM0NCA1NC4zMzIwMzEgMjE2LjI3NzM0NCBDIDU5LjMwNDY4OCAyMTYuMjc3MzQ0IDY0LjA3NDIxOSAyMTguMjUzOTA2IDY3LjU4OTg0NCAyMjEuNzY5NTMxIFogTSA2Ny41ODk4NDQgMjIxLjc2OTUzMSAiIGNsaXAtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSI5OTczNDdhYTk0Ij48cGF0aCBkPSJNIDAuNjc5Njg4IDAuMjM4MjgxIEwgMTI1LjQ4MDQ2OSAwLjIzODI4MSBMIDEyNS40ODA0NjkgMTI0LjgwMDc4MSBMIDAuNjc5Njg4IDEyNC44MDA3ODEgWiBNIDAuNjc5Njg4IDAuMjM4MjgxICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNiNGY0NmMwODgiPjxwYXRoIGQ9Ik0gMzUuMzMyMDMxIC03LjQ4ODI4MSBMIDEzMy4wODU5MzggOTAuMjY1NjI1IEwgOTAuODEyNSAxMzIuNTM1MTU2IEwgLTYuOTM3NSAzNC43ODEyNSBaIE0gMzUuMzMyMDMxIC03LjQ4ODI4MSAiIGNsaXAtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSI1ZDAzOTc0ODg0Ij48cGF0aCBkPSJNIDQ4LjU4OTg0NCA1Ljc2OTUzMSBMIDExOS43NzM0MzggNzYuOTUzMTI1IEMgMTIzLjI4OTA2MiA4MC40Njg3NSAxMjUuMjY1NjI1IDg1LjIzODI4MSAxMjUuMjY1NjI1IDkwLjIxMDkzOCBDIDEyNS4yNjU2MjUgOTUuMTgzNTk0IDEyMy4yODkwNjIgOTkuOTUzMTI1IDExOS43NzM0MzggMTAzLjQ2ODc1IEwgMTA0LjAxOTUzMSAxMTkuMjIyNjU2IEMgMTAwLjUwMzkwNiAxMjIuNzQyMTg4IDk1LjczNDM3NSAxMjQuNzE0ODQ0IDkwLjc2MTcxOSAxMjQuNzE0ODQ0IEMgODUuNzg5MDYyIDEyNC43MTQ4NDQgODEuMDE5NTMxIDEyMi43NDIxODggNzcuNTAzOTA2IDExOS4yMjI2NTYgTCA2LjMyMDMxMiA0OC4wNDI5NjkgQyAyLjgwNDY4OCA0NC41MjM0MzggMC44MjgxMjUgMzkuNzU3ODEyIDAuODI4MTI1IDM0Ljc4MTI1IEMgMC44MjgxMjUgMjkuODA4NTk0IDIuODA0Njg4IDI1LjA0Mjk2OSA2LjMyMDMxMiAyMS41MjM0MzggTCAyMi4wNzQyMTkgNS43Njk1MzEgQyAyNS41ODk4NDQgMi4yNTM5MDYgMzAuMzU5Mzc1IDAuMjc3MzQ0IDM1LjMzMjAzMSAwLjI3NzM0NCBDIDQwLjMwNDY4OCAwLjI3NzM0NCA0NS4wNzQyMTkgMi4yNTM5MDYgNDguNTg5ODQ0IDUuNzY5NTMxIFogTSA0OC41ODk4NDQgNS43Njk1MzEgIiBjbGlwLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iYjczZDEwMDVlMiI+PHJlY3QgeD0iMCIgd2lkdGg9IjEyNiIgeT0iMCIgaGVpZ2h0PSIxMjUiPjwvcmVjdD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iN2ViNDE0OWQ2OCI+PHBhdGggZD0iTSA3NSA1MiBMIDM2NCA1MiBMIDM2NCAzNDEgTCA3NSAzNDEgWiBNIDc1IDUyICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjVmYTczOGE2YmIiPjxwYXRoIGQ9Ik0gMzcxLjI5Mjk2OSA4Ny4wNzgxMjUgTCAxMDkuODk4NDM4IDM0OC40NzI2NTYgTCA2Ny43MzQzNzUgMzA2LjMwNDY4OCBMIDMyOS4xMjUgNDQuOTE0MDYyIFogTSAzNzEuMjkyOTY5IDg3LjA3ODEyNSAiIGNsaXAtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSIxNWQ5N2IwOTAxIj48cGF0aCBkPSJNIDk2Ljc4NTE1NiAzMzUuMDgyMDMxIEwgODEuMTIxMDk0IDMxOS40MTc5NjkgQyA3My44MDQ2ODggMzEyLjEwMTU2MiA3My44MDQ2ODggMzAwLjIzNDM3NSA4MS4xMjEwOTQgMjkyLjkxNzk2OSBMIDMxNS44NzUgNTguMTY0MDYyIEMgMzIzLjE5NTMxMiA1MC44NDc2NTYgMzM1LjA1ODU5NCA1MC44NDc2NTYgMzQyLjM3NSA1OC4xNjQwNjIgTCAzNTguMDM5MDYyIDczLjgyODEyNSBDIDM2NS4zNTkzNzUgODEuMTQ0NTMxIDM2NS4zNTkzNzUgOTMuMDExNzE5IDM1OC4wMzkwNjIgMTAwLjMyODEyNSBMIDEyMy4yODkwNjIgMzM1LjA4MjAzMSBDIDExNS45Njg3NSAzNDIuMzk4NDM4IDEwNC4xMDU0NjkgMzQyLjM5ODQzOCA5Ni43ODUxNTYgMzM1LjA4MjAzMSBaIE0gOTYuNzg1MTU2IDMzNS4wODIwMzEgIiBjbGlwLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iYTZiODYyYTYxNSI+PHBhdGggZD0iTSAwIDAgTCAyODkgMCBMIDI4OSAyODkgTCAwIDI4OSBaIE0gMCAwICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImFlOTczYWI1MGMiPjxwYXRoIGQ9Ik0gMjk2LjI5Mjk2OSAzNS4wNzgxMjUgTCAzNC44OTg0MzggMjk2LjQ3MjY1NiBMIC03LjI2NTYyNSAyNTQuMzA0Njg4IEwgMjU0LjEyNSAtNy4wODU5MzggWiBNIDI5Ni4yOTI5NjkgMzUuMDc4MTI1ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImMyM2QxYzViZDMiPjxwYXRoIGQ9Ik0gMjEuNzg1MTU2IDI4My4wODIwMzEgTCA2LjEyMTA5NCAyNjcuNDE3OTY5IEMgLTEuMTk1MzEyIDI2MC4xMDE1NjIgLTEuMTk1MzEyIDI0OC4yMzQzNzUgNi4xMjEwOTQgMjQwLjkxNzk2OSBMIDI0MC44NzUgNi4xNjQwNjIgQyAyNDguMTk1MzEyIC0xLjE1MjM0NCAyNjAuMDU4NTk0IC0xLjE1MjM0NCAyNjcuMzc1IDYuMTY0MDYyIEwgMjgzLjAzOTA2MiAyMS44MjgxMjUgQyAyOTAuMzU5Mzc1IDI5LjE0NDUzMSAyOTAuMzU5Mzc1IDQxLjAxMTcxOSAyODMuMDM5MDYyIDQ4LjMyODEyNSBMIDQ4LjI4OTA2MiAyODMuMDgyMDMxIEMgNDAuOTY4NzUgMjkwLjM5ODQzOCAyOS4xMDU0NjkgMjkwLjM5ODQzOCAyMS43ODUxNTYgMjgzLjA4MjAzMSBaIE0gMjEuNzg1MTU2IDI4My4wODIwMzEgIiBjbGlwLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iNWJjYTg0ZjYzYSI+PHJlY3QgeD0iMCIgd2lkdGg9IjI4OSIgeT0iMCIgaGVpZ2h0PSIyODkiPjwvcmVjdD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iOGE1NDE0NmE5MiI+PHBhdGggZD0iTSAxODIgMTU5IEwgMzY0IDE1OSBMIDM2NCAzNDEgTCAxODIgMzQxIFogTSAxODIgMTU5ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjhkNTM3ZjYwNTYiPjxwYXRoIGQ9Ik0gMzcxLjI5Mjk2OSAxOTMuODQ3NjU2IEwgMjE2LjYyODkwNiAzNDguNTExNzE5IEwgMTc0LjQ2NDg0NCAzMDYuMzQzNzUgTCAzMjkuMTI1IDE1MS42ODM1OTQgWiBNIDM3MS4yOTI5NjkgMTkzLjg0NzY1NiAiIGNsaXAtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJhYzRhZmU3YTAwIj48cGF0aCBkPSJNIDIwMy40OTYwOTQgMzM1LjE0MDYyNSBMIDE4Ny44MzIwMzEgMzE5LjQ3NjU2MiBDIDE4MC41MTU2MjUgMzEyLjE2MDE1NiAxODAuNTE1NjI1IDMwMC4yOTI5NjkgMTg3LjgzMjAzMSAyOTIuOTc2NTYyIEwgMzE1Ljg3NSAxNjQuOTMzNTk0IEMgMzIzLjE5NTMxMiAxNTcuNjE3MTg4IDMzNS4wNTg1OTQgMTU3LjYxNzE4OCAzNDIuMzc4OTA2IDE2NC45MzM1OTQgTCAzNTguMDQyOTY5IDE4MC41OTc2NTYgQyAzNjUuMzU5Mzc1IDE4Ny45MTc5NjkgMzY1LjM1OTM3NSAxOTkuNzgxMjUgMzU4LjA0Mjk2OSAyMDcuMTAxNTYyIEwgMjMwIDMzNS4xNDA2MjUgQyAyMjIuNjc5Njg4IDM0Mi40NjA5MzggMjEwLjgxNjQwNiAzNDIuNDYwOTM4IDIwMy40OTYwOTQgMzM1LjE0MDYyNSBaIE0gMjAzLjQ5NjA5NCAzMzUuMTQwNjI1ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjA4Y2Y2YWZmZGQiPjxwYXRoIGQ9Ik0gMCAwIEwgMTgyIDAgTCAxODIgMTgyIEwgMCAxODIgWiBNIDAgMCAiIGNsaXAtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSIwMzQyZmEyNmM3Ij48cGF0aCBkPSJNIDE4OS4yOTI5NjkgMzQuODQ3NjU2IEwgMzQuNjI4OTA2IDE4OS41MTE3MTkgTCAtNy41MzUxNTYgMTQ3LjM0Mzc1IEwgMTQ3LjEyNSAtNy4zMTY0MDYgWiBNIDE4OS4yOTI5NjkgMzQuODQ3NjU2ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjBjODkxNjFmZjIiPjxwYXRoIGQ9Ik0gMjEuNDk2MDk0IDE3Ni4xNDA2MjUgTCA1LjgzMjAzMSAxNjAuNDc2NTYyIEMgLTEuNDg0Mzc1IDE1My4xNjAxNTYgLTEuNDg0Mzc1IDE0MS4yOTI5NjkgNS44MzIwMzEgMTMzLjk3NjU2MiBMIDEzMy44NzUgNS45MzM1OTQgQyAxNDEuMTk1MzEyIC0xLjM4MjgxMiAxNTMuMDU4NTk0IC0xLjM4MjgxMiAxNjAuMzc4OTA2IDUuOTMzNTk0IEwgMTc2LjA0Mjk2OSAyMS41OTc2NTYgQyAxODMuMzU5Mzc1IDI4LjkxNzk2OSAxODMuMzU5Mzc1IDQwLjc4MTI1IDE3Ni4wNDI5NjkgNDguMTAxNTYyIEwgNDggMTc2LjE0MDYyNSBDIDQwLjY3OTY4OCAxODMuNDYwOTM4IDI4LjgxNjQwNiAxODMuNDYwOTM4IDIxLjQ5NjA5NCAxNzYuMTQwNjI1IFogTSAyMS40OTYwOTQgMTc2LjE0MDYyNSAiIGNsaXAtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJhMjFlODA1NzcwIj48cmVjdCB4PSIwIiB3aWR0aD0iMTgyIiB5PSIwIiBoZWlnaHQ9IjE4MiI+PC9yZWN0PjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSI2ZTc3ODBkOTcyIj48cGF0aCBkPSJNIDI4OSAyNjYgTCAzNjQgMjY2IEwgMzY0IDM0MSBMIDI4OSAzNDEgWiBNIDI4OSAyNjYgIiBjbGlwLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iOGYyMTkwMTRkZSI+PHBhdGggZD0iTSAzNzEuMjkyOTY5IDMwMC42MjEwOTQgTCAzMjMuMzYzMjgxIDM0OC41NTA3ODEgTCAyODEuMTk1MzEyIDMwNi4zODI4MTIgTCAzMjkuMTI1IDI1OC40NTMxMjUgWiBNIDM3MS4yOTI5NjkgMzAwLjYyMTA5NCAiIGNsaXAtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSIxNzE3YWM2MjMwIj48cGF0aCBkPSJNIDMxMC4yMDcwMzEgMzM1LjIwMzEyNSBMIDI5NC41NDI5NjkgMzE5LjUzOTA2MiBDIDI4Ny4yMjY1NjIgMzEyLjIxODc1IDI4Ny4yMjY1NjIgMzAwLjM1NTQ2OSAyOTQuNTQyOTY5IDI5My4wMzUxNTYgTCAzMTUuODc1IDI3MS43MDcwMzEgQyAzMjMuMTk1MzEyIDI2NC4zODY3MTkgMzM1LjA1ODU5NCAyNjQuMzg2NzE5IDM0Mi4zNzg5MDYgMjcxLjcwNzAzMSBMIDM1OC4wNDI5NjkgMjg3LjM2NzE4OCBDIDM2NS4zNTkzNzUgMjk0LjY4NzUgMzY1LjM1OTM3NSAzMDYuNTUwNzgxIDM1OC4wNDI5NjkgMzEzLjg3MTA5NCBMIDMzNi43MTA5MzggMzM1LjIwMzEyNSBDIDMyOS4zOTA2MjUgMzQyLjUxOTUzMSAzMTcuNTI3MzQ0IDM0Mi41MTk1MzEgMzEwLjIwNzAzMSAzMzUuMjAzMTI1IFogTSAzMTAuMjA3MDMxIDMzNS4yMDMxMjUgIiBjbGlwLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iMTA1OGNkNzJkZiI+PHBhdGggZD0iTSAwIDAgTCA3NSAwIEwgNzUgNzUgTCAwIDc1IFogTSAwIDAgIiBjbGlwLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iYmM4NGY4MTIwOCI+PHBhdGggZD0iTSA4Mi4yOTI5NjkgMzQuNjIxMDk0IEwgMzQuMzYzMjgxIDgyLjU1MDc4MSBMIC03LjgwNDY4OCA0MC4zODI4MTIgTCA0MC4xMjUgLTcuNTQ2ODc1IFogTSA4Mi4yOTI5NjkgMzQuNjIxMDk0ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImYwZjk4MjVlZDIiPjxwYXRoIGQ9Ik0gMjEuMjA3MDMxIDY5LjIwMzEyNSBMIDUuNTQyOTY5IDUzLjUzOTA2MiBDIC0xLjc3MzQzOCA0Ni4yMTg3NSAtMS43NzM0MzggMzQuMzU1NDY5IDUuNTQyOTY5IDI3LjAzNTE1NiBMIDI2Ljg3NSA1LjcwNzAzMSBDIDM0LjE5NTMxMiAtMS42MTMyODEgNDYuMDU4NTk0IC0xLjYxMzI4MSA1My4zNzg5MDYgNS43MDcwMzEgTCA2OS4wNDI5NjkgMjEuMzY3MTg4IEMgNzYuMzU5Mzc1IDI4LjY4NzUgNzYuMzU5Mzc1IDQwLjU1MDc4MSA2OS4wNDI5NjkgNDcuODcxMDk0IEwgNDcuNzEwOTM4IDY5LjIwMzEyNSBDIDQwLjM5MDYyNSA3Ni41MTk1MzEgMjguNTI3MzQ0IDc2LjUxOTUzMSAyMS4yMDcwMzEgNjkuMjAzMTI1IFogTSAyMS4yMDcwMzEgNjkuMjAzMTI1ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjQwN2JjZmM1NWQiPjxyZWN0IHg9IjAiIHdpZHRoPSI3NSIgeT0iMCIgaGVpZ2h0PSI3NSI+PC9yZWN0PjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCM0YzUyOTg4OTcyKSI+PGcgY2xpcC1wYXRoPSJ1cmwoIzNiZjBhODc4YWYpIj48ZyBjbGlwLXBhdGg9InVybCgjYzAzMzM3NWIyMikiPjxnIHRyYW5zZm9ybT0ibWF0cml4KDEsIDAsIDAsIDEsIDE5LCAyMTYpIj48ZyBjbGlwLXBhdGg9InVybCgjYjczZDEwMDVlMikiPjxnIGNsaXAtcGF0aD0idXJsKCM5OTczNDdhYTk0KSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2NiNGY0NmMwODgpIj48ZyBjbGlwLXBhdGg9InVybCgjNWQwMzk3NDg4NCkiPjxwYXRoIGZpbGw9IiNmZmZmZmYiIGQ9Ik0gMzUuMzMyMDMxIC03LjQ4ODI4MSBMIDEzMy4wODU5MzggOTAuMjY1NjI1IEwgOTAuODEyNSAxMzIuNTM1MTU2IEwgLTYuOTM3NSAzNC43ODEyNSBaIE0gMzUuMzMyMDMxIC03LjQ4ODI4MSAiIGZpbGwtb3BhY2l0eT0iMSIgZmlsbC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvZz48L2c+PC9nPjwvZz48ZyBjbGlwLXBhdGg9InVybCgjN2ViNDE0OWQ2OCkiPjxnIGNsaXAtcGF0aD0idXJsKCM1ZmE3MzhhNmJiKSI+PGcgY2xpcC1wYXRoPSJ1cmwoIzE1ZDk3YjA5MDEpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLCAwLCAwLCAxLCA3NSwgNTIpIj48ZyBjbGlwLXBhdGg9InVybCgjNWJjYTg0ZjYzYSkiPjxnIGNsaXAtcGF0aD0idXJsKCNhNmI4NjJhNjE1KSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2FlOTczYWI1MGMpIj48ZyBjbGlwLXBhdGg9InVybCgjYzIzZDFjNWJkMykiPjxwYXRoIGZpbGw9IiNmZmZmZmYiIGQ9Ik0gMjk2LjI5Mjk2OSAzNS4wNzgxMjUgTCAzNS4wNjI1IDI5Ni4zMDg1OTQgTCAtNy4xMDE1NjIgMjU0LjE0MDYyNSBMIDI1NC4xMjUgLTcuMDg1OTM4IFogTSAyOTYuMjkyOTY5IDM1LjA3ODEyNSAiIGZpbGwtb3BhY2l0eT0iMSIgZmlsbC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvZz48L2c+PC9nPjwvZz48ZyBjbGlwLXBhdGg9InVybCgjOGE1NDE0NmE5MikiPjxnIGNsaXAtcGF0aD0idXJsKCM4ZDUzN2Y2MDU2KSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2FjNGFmZTdhMDApIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLCAwLCAwLCAxLCAxODIsIDE1OSkiPjxnIGNsaXAtcGF0aD0idXJsKCNhMjFlODA1NzcwKSI+PGcgY2xpcC1wYXRoPSJ1cmwoIzA4Y2Y2YWZmZGQpIj48ZyBjbGlwLXBhdGg9InVybCgjMDM0MmZhMjZjNykiPjxnIGNsaXAtcGF0aD0idXJsKCMwYzg5MTYxZmYyKSI+PHBhdGggZmlsbD0iI2ZmZmZmZiIgZD0iTSAxODkuMjkyOTY5IDM0Ljg0NzY1NiBMIDM0Ljc5Mjk2OSAxODkuMzQ3NjU2IEwgLTcuMzcxMDk0IDE0Ny4xNzk2ODggTCAxNDcuMTI1IC03LjMxNjQwNiBaIE0gMTg5LjI5Mjk2OSAzNC44NDc2NTYgIiBmaWxsLW9wYWNpdHk9IjEiIGZpbGwtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L2c+PC9nPjwvZz48L2c+PGcgY2xpcC1wYXRoPSJ1cmwoIzZlNzc4MGQ5NzIpIj48ZyBjbGlwLXBhdGg9InVybCgjOGYyMTkwMTRkZSkiPjxnIGNsaXAtcGF0aD0idXJsKCMxNzE3YWM2MjMwKSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMSwgMCwgMCwgMSwgMjg5LCAyNjYpIj48ZyBjbGlwLXBhdGg9InVybCgjNDA3YmNmYzU1ZCkiPjxnIGNsaXAtcGF0aD0idXJsKCMxMDU4Y2Q3MmRmKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2JjODRmODEyMDgpIj48ZyBjbGlwLXBhdGg9InVybCgjZjBmOTgyNWVkMikiPjxwYXRoIGZpbGw9IiNmZmZmZmYiIGQ9Ik0gODIuMjkyOTY5IDM0LjYyMTA5NCBMIDM0LjUyNzM0NCA4Mi4zODY3MTkgTCAtNy42NDA2MjUgNDAuMjE4NzUgTCA0MC4xMjUgLTcuNTQ2ODc1IFogTSA4Mi4yOTI5NjkgMzQuNjIxMDk0ICIgZmlsbC1vcGFjaXR5PSIxIiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD48L2c+PC9nPjwvZz48L2c+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==";
|
|
7
|
+
export const LOGO_MONO_DATA_URI = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNTAwIiB6b29tQW5kUGFuPSJtYWduaWZ5IiB2aWV3Qm94PSIwIDAgMzc1IDM3NC45OTk5OTEiIGhlaWdodD0iNTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0IiB2ZXJzaW9uPSIxLjAiPjxkZWZzPjxjbGlwUGF0aCBpZD0iZmExNzk1MDkxMCI+PHBhdGggZD0iTSAxOSAyMTYgTCAxNDUgMjE2IEwgMTQ1IDM0MSBMIDE5IDM0MSBaIE0gMTkgMjE2ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjE4MDNhNTI2MGMiPjxwYXRoIGQ9Ik0gNTQuMzMyMDMxIDIwOC41MTE3MTkgTCAxNTIuMDg1OTM4IDMwNi4yNjU2MjUgTCAxMDkuODEyNSAzNDguNTM1MTU2IEwgMTIuMDYyNSAyNTAuNzgxMjUgWiBNIDU0LjMzMjAzMSAyMDguNTExNzE5ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjUyZTU3YjE5MjAiPjxwYXRoIGQ9Ik0gNjcuNTg5ODQ0IDIyMS43Njk1MzEgTCAxMzguNzczNDM4IDI5Mi45NTMxMjUgQyAxNDIuMjg5MDYyIDI5Ni40Njg3NSAxNDQuMjY1NjI1IDMwMS4yMzgyODEgMTQ0LjI2NTYyNSAzMDYuMjEwOTM4IEMgMTQ0LjI2NTYyNSAzMTEuMTgzNTk0IDE0Mi4yODkwNjIgMzE1Ljk1MzEyNSAxMzguNzczNDM4IDMxOS40Njg3NSBMIDEyMy4wMTk1MzEgMzM1LjIyMjY1NiBDIDExOS41MDM5MDYgMzM4Ljc0MjE4OCAxMTQuNzM0Mzc1IDM0MC43MTQ4NDQgMTA5Ljc2MTcxOSAzNDAuNzE0ODQ0IEMgMTA0Ljc4OTA2MiAzNDAuNzE0ODQ0IDEwMC4wMTk1MzEgMzM4Ljc0MjE4OCA5Ni41MDM5MDYgMzM1LjIyMjY1NiBMIDI1LjMyMDMxMiAyNjQuMDQyOTY5IEMgMjEuODA0Njg4IDI2MC41MjM0MzggMTkuODI4MTI1IDI1NS43NTc4MTIgMTkuODI4MTI1IDI1MC43ODEyNSBDIDE5LjgyODEyNSAyNDUuODA4NTk0IDIxLjgwNDY4OCAyNDEuMDQyOTY5IDI1LjMyMDMxMiAyMzcuNTIzNDM4IEwgNDEuMDc0MjE5IDIyMS43Njk1MzEgQyA0NC41ODk4NDQgMjE4LjI1MzkwNiA0OS4zNTkzNzUgMjE2LjI3NzM0NCA1NC4zMzIwMzEgMjE2LjI3NzM0NCBDIDU5LjMwNDY4OCAyMTYuMjc3MzQ0IDY0LjA3NDIxOSAyMTguMjUzOTA2IDY3LjU4OTg0NCAyMjEuNzY5NTMxIFogTSA2Ny41ODk4NDQgMjIxLjc2OTUzMSAiIGNsaXAtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJhOTQ1NjE4M2Q3Ij48cGF0aCBkPSJNIDAuNjc5Njg4IDAuMjM4MjgxIEwgMTI1LjQ4MDQ2OSAwLjIzODI4MSBMIDEyNS40ODA0NjkgMTI0LjgwMDc4MSBMIDAuNjc5Njg4IDEyNC44MDA3ODEgWiBNIDAuNjc5Njg4IDAuMjM4MjgxICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9Ijg2ZmE5MDJkNTIiPjxwYXRoIGQ9Ik0gMzUuMzMyMDMxIC03LjQ4ODI4MSBMIDEzMy4wODU5MzggOTAuMjY1NjI1IEwgOTAuODEyNSAxMzIuNTM1MTU2IEwgLTYuOTM3NSAzNC43ODEyNSBaIE0gMzUuMzMyMDMxIC03LjQ4ODI4MSAiIGNsaXAtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSIzYzRkM2I1MjA5Ij48cGF0aCBkPSJNIDQ4LjU4OTg0NCA1Ljc2OTUzMSBMIDExOS43NzM0MzggNzYuOTUzMTI1IEMgMTIzLjI4OTA2MiA4MC40Njg3NSAxMjUuMjY1NjI1IDg1LjIzODI4MSAxMjUuMjY1NjI1IDkwLjIxMDkzOCBDIDEyNS4yNjU2MjUgOTUuMTgzNTk0IDEyMy4yODkwNjIgOTkuOTUzMTI1IDExOS43NzM0MzggMTAzLjQ2ODc1IEwgMTA0LjAxOTUzMSAxMTkuMjIyNjU2IEMgMTAwLjUwMzkwNiAxMjIuNzQyMTg4IDk1LjczNDM3NSAxMjQuNzE0ODQ0IDkwLjc2MTcxOSAxMjQuNzE0ODQ0IEMgODUuNzg5MDYyIDEyNC43MTQ4NDQgODEuMDE5NTMxIDEyMi43NDIxODggNzcuNTAzOTA2IDExOS4yMjI2NTYgTCA2LjMyMDMxMiA0OC4wNDI5NjkgQyAyLjgwNDY4OCA0NC41MjM0MzggMC44MjgxMjUgMzkuNzU3ODEyIDAuODI4MTI1IDM0Ljc4MTI1IEMgMC44MjgxMjUgMjkuODA4NTk0IDIuODA0Njg4IDI1LjA0Mjk2OSA2LjMyMDMxMiAyMS41MjM0MzggTCAyMi4wNzQyMTkgNS43Njk1MzEgQyAyNS41ODk4NDQgMi4yNTM5MDYgMzAuMzU5Mzc1IDAuMjc3MzQ0IDM1LjMzMjAzMSAwLjI3NzM0NCBDIDQwLjMwNDY4OCAwLjI3NzM0NCA0NS4wNzQyMTkgMi4yNTM5MDYgNDguNTg5ODQ0IDUuNzY5NTMxIFogTSA0OC41ODk4NDQgNS43Njk1MzEgIiBjbGlwLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iNzcwZmUxY2E3MiI+PHJlY3QgeD0iMCIgd2lkdGg9IjEyNiIgeT0iMCIgaGVpZ2h0PSIxMjUiPjwvcmVjdD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iZDA1Y2Q5OTcwOCI+PHBhdGggZD0iTSA3NSA1MiBMIDM2NCA1MiBMIDM2NCAzNDEgTCA3NSAzNDEgWiBNIDc1IDUyICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjBmZDYwYTQ2N2EiPjxwYXRoIGQ9Ik0gMzcxLjI5Mjk2OSA4Ny4wNzgxMjUgTCAxMDkuODk4NDM4IDM0OC40NzI2NTYgTCA2Ny43MzQzNzUgMzA2LjMwNDY4OCBMIDMyOS4xMjUgNDQuOTE0MDYyIFogTSAzNzEuMjkyOTY5IDg3LjA3ODEyNSAiIGNsaXAtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSI4YzVhZDFlNzkxIj48cGF0aCBkPSJNIDk2Ljc4NTE1NiAzMzUuMDgyMDMxIEwgODEuMTIxMDk0IDMxOS40MTc5NjkgQyA3My44MDQ2ODggMzEyLjEwMTU2MiA3My44MDQ2ODggMzAwLjIzNDM3NSA4MS4xMjEwOTQgMjkyLjkxNzk2OSBMIDMxNS44NzUgNTguMTY0MDYyIEMgMzIzLjE5NTMxMiA1MC44NDc2NTYgMzM1LjA1ODU5NCA1MC44NDc2NTYgMzQyLjM3NSA1OC4xNjQwNjIgTCAzNTguMDM5MDYyIDczLjgyODEyNSBDIDM2NS4zNTkzNzUgODEuMTQ0NTMxIDM2NS4zNTkzNzUgOTMuMDExNzE5IDM1OC4wMzkwNjIgMTAwLjMyODEyNSBMIDEyMy4yODkwNjIgMzM1LjA4MjAzMSBDIDExNS45Njg3NSAzNDIuMzk4NDM4IDEwNC4xMDU0NjkgMzQyLjM5ODQzOCA5Ni43ODUxNTYgMzM1LjA4MjAzMSBaIE0gOTYuNzg1MTU2IDMzNS4wODIwMzEgIiBjbGlwLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iOWMyYjdmOGNkMSI+PHBhdGggZD0iTSAwIDAgTCAyODkgMCBMIDI4OSAyODkgTCAwIDI4OSBaIE0gMCAwICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjVkM2YzZmJlZjYiPjxwYXRoIGQ9Ik0gMjk2LjI5Mjk2OSAzNS4wNzgxMjUgTCAzNC44OTg0MzggMjk2LjQ3MjY1NiBMIC03LjI2NTYyNSAyNTQuMzA0Njg4IEwgMjU0LjEyNSAtNy4wODU5MzggWiBNIDI5Ni4yOTI5NjkgMzUuMDc4MTI1ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNiMDlmZDdjNTEiPjxwYXRoIGQ9Ik0gMjEuNzg1MTU2IDI4My4wODIwMzEgTCA2LjEyMTA5NCAyNjcuNDE3OTY5IEMgLTEuMTk1MzEyIDI2MC4xMDE1NjIgLTEuMTk1MzEyIDI0OC4yMzQzNzUgNi4xMjEwOTQgMjQwLjkxNzk2OSBMIDI0MC44NzUgNi4xNjQwNjIgQyAyNDguMTk1MzEyIC0xLjE1MjM0NCAyNjAuMDU4NTk0IC0xLjE1MjM0NCAyNjcuMzc1IDYuMTY0MDYyIEwgMjgzLjAzOTA2MiAyMS44MjgxMjUgQyAyOTAuMzU5Mzc1IDI5LjE0NDUzMSAyOTAuMzU5Mzc1IDQxLjAxMTcxOSAyODMuMDM5MDYyIDQ4LjMyODEyNSBMIDQ4LjI4OTA2MiAyODMuMDgyMDMxIEMgNDAuOTY4NzUgMjkwLjM5ODQzOCAyOS4xMDU0NjkgMjkwLjM5ODQzOCAyMS43ODUxNTYgMjgzLjA4MjAzMSBaIE0gMjEuNzg1MTU2IDI4My4wODIwMzEgIiBjbGlwLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iMGE4ZDI1YjczMyI+PHJlY3QgeD0iMCIgd2lkdGg9IjI4OSIgeT0iMCIgaGVpZ2h0PSIyODkiPjwvcmVjdD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iMjRkMWVkNzI2OCI+PHBhdGggZD0iTSAxODIgMTU5IEwgMzY0IDE1OSBMIDM2NCAzNDEgTCAxODIgMzQxIFogTSAxODIgMTU5ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjRkNDYxYzI1NzciPjxwYXRoIGQ9Ik0gMzcxLjI5Mjk2OSAxOTMuODQ3NjU2IEwgMjE2LjYyODkwNiAzNDguNTExNzE5IEwgMTc0LjQ2NDg0NCAzMDYuMzQzNzUgTCAzMjkuMTI1IDE1MS42ODM1OTQgWiBNIDM3MS4yOTI5NjkgMTkzLjg0NzY1NiAiIGNsaXAtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJmZWI2OTI4MmFjIj48cGF0aCBkPSJNIDIwMy40OTYwOTQgMzM1LjE0MDYyNSBMIDE4Ny44MzIwMzEgMzE5LjQ3NjU2MiBDIDE4MC41MTU2MjUgMzEyLjE2MDE1NiAxODAuNTE1NjI1IDMwMC4yOTI5NjkgMTg3LjgzMjAzMSAyOTIuOTc2NTYyIEwgMzE1Ljg3NSAxNjQuOTMzNTk0IEMgMzIzLjE5NTMxMiAxNTcuNjE3MTg4IDMzNS4wNTg1OTQgMTU3LjYxNzE4OCAzNDIuMzc4OTA2IDE2NC45MzM1OTQgTCAzNTguMDQyOTY5IDE4MC41OTc2NTYgQyAzNjUuMzU5Mzc1IDE4Ny45MTc5NjkgMzY1LjM1OTM3NSAxOTkuNzgxMjUgMzU4LjA0Mjk2OSAyMDcuMTAxNTYyIEwgMjMwIDMzNS4xNDA2MjUgQyAyMjIuNjc5Njg4IDM0Mi40NjA5MzggMjEwLjgxNjQwNiAzNDIuNDYwOTM4IDIwMy40OTYwOTQgMzM1LjE0MDYyNSBaIE0gMjAzLjQ5NjA5NCAzMzUuMTQwNjI1ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjE1NDI4ZmFhZWYiPjxwYXRoIGQ9Ik0gMCAwIEwgMTgyIDAgTCAxODIgMTgyIEwgMCAxODIgWiBNIDAgMCAiIGNsaXAtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSI5MzZlYTRiMmFkIj48cGF0aCBkPSJNIDE4OS4yOTI5NjkgMzQuODQ3NjU2IEwgMzQuNjI4OTA2IDE4OS41MTE3MTkgTCAtNy41MzUxNTYgMTQ3LjM0Mzc1IEwgMTQ3LjEyNSAtNy4zMTY0MDYgWiBNIDE4OS4yOTI5NjkgMzQuODQ3NjU2ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjM5MDRiZDQxNGUiPjxwYXRoIGQ9Ik0gMjEuNDk2MDk0IDE3Ni4xNDA2MjUgTCA1LjgzMjAzMSAxNjAuNDc2NTYyIEMgLTEuNDg0Mzc1IDE1My4xNjAxNTYgLTEuNDg0Mzc1IDE0MS4yOTI5NjkgNS44MzIwMzEgMTMzLjk3NjU2MiBMIDEzMy44NzUgNS45MzM1OTQgQyAxNDEuMTk1MzEyIC0xLjM4MjgxMiAxNTMuMDU4NTk0IC0xLjM4MjgxMiAxNjAuMzc4OTA2IDUuOTMzNTk0IEwgMTc2LjA0Mjk2OSAyMS41OTc2NTYgQyAxODMuMzU5Mzc1IDI4LjkxNzk2OSAxODMuMzU5Mzc1IDQwLjc4MTI1IDE3Ni4wNDI5NjkgNDguMTAxNTYyIEwgNDggMTc2LjE0MDYyNSBDIDQwLjY3OTY4OCAxODMuNDYwOTM4IDI4LjgxNjQwNiAxODMuNDYwOTM4IDIxLjQ5NjA5NCAxNzYuMTQwNjI1IFogTSAyMS40OTYwOTQgMTc2LjE0MDYyNSAiIGNsaXAtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJlOGEzYjYyYzcyIj48cmVjdCB4PSIwIiB3aWR0aD0iMTgyIiB5PSIwIiBoZWlnaHQ9IjE4MiI+PC9yZWN0PjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSI1NDMzYmU2MmY2Ij48cGF0aCBkPSJNIDI4OSAyNjYgTCAzNjQgMjY2IEwgMzY0IDM0MSBMIDI4OSAzNDEgWiBNIDI4OSAyNjYgIiBjbGlwLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iZDhlOTU4NTFlNyI+PHBhdGggZD0iTSAzNzEuMjkyOTY5IDMwMC42MjEwOTQgTCAzMjMuMzYzMjgxIDM0OC41NTA3ODEgTCAyODEuMTk1MzEyIDMwNi4zODI4MTIgTCAzMjkuMTI1IDI1OC40NTMxMjUgWiBNIDM3MS4yOTI5NjkgMzAwLjYyMTA5NCAiIGNsaXAtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSIyNDg4ZjdkNDZiIj48cGF0aCBkPSJNIDMxMC4yMDcwMzEgMzM1LjIwMzEyNSBMIDI5NC41NDI5NjkgMzE5LjUzOTA2MiBDIDI4Ny4yMjY1NjIgMzEyLjIxODc1IDI4Ny4yMjY1NjIgMzAwLjM1NTQ2OSAyOTQuNTQyOTY5IDI5My4wMzUxNTYgTCAzMTUuODc1IDI3MS43MDcwMzEgQyAzMjMuMTk1MzEyIDI2NC4zODY3MTkgMzM1LjA1ODU5NCAyNjQuMzg2NzE5IDM0Mi4zNzg5MDYgMjcxLjcwNzAzMSBMIDM1OC4wNDI5NjkgMjg3LjM2NzE4OCBDIDM2NS4zNTkzNzUgMjk0LjY4NzUgMzY1LjM1OTM3NSAzMDYuNTUwNzgxIDM1OC4wNDI5NjkgMzEzLjg3MTA5NCBMIDMzNi43MTA5MzggMzM1LjIwMzEyNSBDIDMyOS4zOTA2MjUgMzQyLjUxOTUzMSAzMTcuNTI3MzQ0IDM0Mi41MTk1MzEgMzEwLjIwNzAzMSAzMzUuMjAzMTI1IFogTSAzMTAuMjA3MDMxIDMzNS4yMDMxMjUgIiBjbGlwLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iMTQ4MWFmOTQ2MyI+PHBhdGggZD0iTSAwIDAgTCA3NSAwIEwgNzUgNzUgTCAwIDc1IFogTSAwIDAgIiBjbGlwLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2Y0OWU1ZmM0MSI+PHBhdGggZD0iTSA4Mi4yOTI5NjkgMzQuNjIxMDk0IEwgMzQuMzYzMjgxIDgyLjU1MDc4MSBMIC03LjgwNDY4OCA0MC4zODI4MTIgTCA0MC4xMjUgLTcuNTQ2ODc1IFogTSA4Mi4yOTI5NjkgMzQuNjIxMDk0ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjY5MjQzZTMwZDciPjxwYXRoIGQ9Ik0gMjEuMjA3MDMxIDY5LjIwMzEyNSBMIDUuNTQyOTY5IDUzLjUzOTA2MiBDIC0xLjc3MzQzOCA0Ni4yMTg3NSAtMS43NzM0MzggMzQuMzU1NDY5IDUuNTQyOTY5IDI3LjAzNTE1NiBMIDI2Ljg3NSA1LjcwNzAzMSBDIDM0LjE5NTMxMiAtMS42MTMyODEgNDYuMDU4NTk0IC0xLjYxMzI4MSA1My4zNzg5MDYgNS43MDcwMzEgTCA2OS4wNDI5NjkgMjEuMzY3MTg4IEMgNzYuMzU5Mzc1IDI4LjY4NzUgNzYuMzU5Mzc1IDQwLjU1MDc4MSA2OS4wNDI5NjkgNDcuODcxMDk0IEwgNDcuNzEwOTM4IDY5LjIwMzEyNSBDIDQwLjM5MDYyNSA3Ni41MTk1MzEgMjguNTI3MzQ0IDc2LjUxOTUzMSAyMS4yMDcwMzEgNjkuMjAzMTI1IFogTSAyMS4yMDcwMzEgNjkuMjAzMTI1ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjFlZDUyMTE5YmEiPjxyZWN0IHg9IjAiIHdpZHRoPSI3NSIgeT0iMCIgaGVpZ2h0PSI3NSI+PC9yZWN0PjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNmYTE3OTUwOTEwKSI+PGcgY2xpcC1wYXRoPSJ1cmwoIzE4MDNhNTI2MGMpIj48ZyBjbGlwLXBhdGg9InVybCgjNTJlNTdiMTkyMCkiPjxnIHRyYW5zZm9ybT0ibWF0cml4KDEsIDAsIDAsIDEsIDE5LCAyMTYpIj48ZyBjbGlwLXBhdGg9InVybCgjNzcwZmUxY2E3MikiPjxnIGNsaXAtcGF0aD0idXJsKCNhOTQ1NjE4M2Q3KSI+PGcgY2xpcC1wYXRoPSJ1cmwoIzg2ZmE5MDJkNTIpIj48ZyBjbGlwLXBhdGg9InVybCgjM2M0ZDNiNTIwOSkiPjxwYXRoIGZpbGw9IiMwMDAwMDAiIGQ9Ik0gMzUuMzMyMDMxIC03LjQ4ODI4MSBMIDEzMy4wODU5MzggOTAuMjY1NjI1IEwgOTAuODEyNSAxMzIuNTM1MTU2IEwgLTYuOTM3NSAzNC43ODEyNSBaIE0gMzUuMzMyMDMxIC03LjQ4ODI4MSAiIGZpbGwtb3BhY2l0eT0iMSIgZmlsbC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvZz48L2c+PC9nPjwvZz48ZyBjbGlwLXBhdGg9InVybCgjZDA1Y2Q5OTcwOCkiPjxnIGNsaXAtcGF0aD0idXJsKCMwZmQ2MGE0NjdhKSI+PGcgY2xpcC1wYXRoPSJ1cmwoIzhjNWFkMWU3OTEpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLCAwLCAwLCAxLCA3NSwgNTIpIj48ZyBjbGlwLXBhdGg9InVybCgjMGE4ZDI1YjczMykiPjxnIGNsaXAtcGF0aD0idXJsKCM5YzJiN2Y4Y2QxKSI+PGcgY2xpcC1wYXRoPSJ1cmwoIzVkM2YzZmJlZjYpIj48ZyBjbGlwLXBhdGg9InVybCgjY2IwOWZkN2M1MSkiPjxwYXRoIGZpbGw9IiMwMDAwMDAiIGQ9Ik0gMjk2LjI5Mjk2OSAzNS4wNzgxMjUgTCAzNS4wNjI1IDI5Ni4zMDg1OTQgTCAtNy4xMDE1NjIgMjU0LjE0MDYyNSBMIDI1NC4xMjUgLTcuMDg1OTM4IFogTSAyOTYuMjkyOTY5IDM1LjA3ODEyNSAiIGZpbGwtb3BhY2l0eT0iMSIgZmlsbC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvZz48L2c+PC9nPjwvZz48ZyBjbGlwLXBhdGg9InVybCgjMjRkMWVkNzI2OCkiPjxnIGNsaXAtcGF0aD0idXJsKCM0ZDQ2MWMyNTc3KSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2ZlYjY5MjgyYWMpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLCAwLCAwLCAxLCAxODIsIDE1OSkiPjxnIGNsaXAtcGF0aD0idXJsKCNlOGEzYjYyYzcyKSI+PGcgY2xpcC1wYXRoPSJ1cmwoIzE1NDI4ZmFhZWYpIj48ZyBjbGlwLXBhdGg9InVybCgjOTM2ZWE0YjJhZCkiPjxnIGNsaXAtcGF0aD0idXJsKCMzOTA0YmQ0MTRlKSI+PHBhdGggZmlsbD0iIzAwMDAwMCIgZD0iTSAxODkuMjkyOTY5IDM0Ljg0NzY1NiBMIDM0Ljc5Mjk2OSAxODkuMzQ3NjU2IEwgLTcuMzcxMDk0IDE0Ny4xNzk2ODggTCAxNDcuMTI1IC03LjMxNjQwNiBaIE0gMTg5LjI5Mjk2OSAzNC44NDc2NTYgIiBmaWxsLW9wYWNpdHk9IjEiIGZpbGwtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L2c+PC9nPjwvZz48L2c+PGcgY2xpcC1wYXRoPSJ1cmwoIzU0MzNiZTYyZjYpIj48ZyBjbGlwLXBhdGg9InVybCgjZDhlOTU4NTFlNykiPjxnIGNsaXAtcGF0aD0idXJsKCMyNDg4ZjdkNDZiKSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMSwgMCwgMCwgMSwgMjg5LCAyNjYpIj48ZyBjbGlwLXBhdGg9InVybCgjMWVkNTIxMTliYSkiPjxnIGNsaXAtcGF0aD0idXJsKCMxNDgxYWY5NDYzKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2NmNDllNWZjNDEpIj48ZyBjbGlwLXBhdGg9InVybCgjNjkyNDNlMzBkNykiPjxwYXRoIGZpbGw9IiMwMDAwMDAiIGQ9Ik0gODIuMjkyOTY5IDM0LjYyMTA5NCBMIDM0LjUyNzM0NCA4Mi4zODY3MTkgTCAtNy42NDA2MjUgNDAuMjE4NzUgTCA0MC4xMjUgLTcuNTQ2ODc1IFogTSA4Mi4yOTI5NjkgMzQuNjIxMDk0ICIgZmlsbC1vcGFjaXR5PSIxIiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD48L2c+PC9nPjwvZz48L2c+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==";
|
|
8
|
+
//# sourceMappingURL=logo-assets.generated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logo-assets.generated.js","sourceRoot":"","sources":["../../src/reader/logo-assets.generated.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,wCAAwC;AACxC,+GAA+G;AAC/G,wGAAwG;AACxG,uHAAuH;AACvH,MAAM,CAAC,MAAM,mBAAmB,GAAW,goYAAgoY,CAAA;AAC3qY,MAAM,CAAC,MAAM,kBAAkB,GAAW,goYAAgoY,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logo.d.ts","sourceRoot":"","sources":["../../src/reader/logo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logo.d.ts","sourceRoot":"","sources":["../../src/reader/logo.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,CAAA;AAE5C,qHAAqH;AACrH,wBAAgB,UAAU,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAMhF"}
|
package/dist/reader/logo.js
CHANGED
|
@@ -1,23 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The CertREV mark the reader face paints in the card cap (18px) and the memo footer (17px): the
|
|
3
|
-
* `
|
|
4
|
-
*
|
|
2
|
+
* The CertREV mark the reader face paints in the card cap (18px) and the memo footer (17px): the demo's own logo
|
|
3
|
+
* files, `logo-white.svg` (the cap on a dark accent) and `logo-mono.svg` (the verified footer, and the cap on a light
|
|
4
|
+
* accent), as the base64 `data:image/svg+xml` URIs of their exact bytes. That is what the portal's Liquid parity engine
|
|
5
|
+
* prints for the Shopify snippet's `asset_url`, so a Builder page and a Shopify page carry the same image, and what
|
|
6
|
+
* certrev.com's own `<img>` elements point at.
|
|
5
7
|
*
|
|
6
|
-
* The
|
|
7
|
-
*
|
|
8
|
+
* The URIs live in `logo-assets.generated.ts`, written by `scripts/refresh-reader.mjs` from the portal's copies of
|
|
9
|
+
* the two files; `reader-logo-files.test.ts` decodes each and pins the sha256 of its bytes. The golden tests compare
|
|
10
|
+
* the whole element, so a different image fails there.
|
|
8
11
|
*/
|
|
9
12
|
import { escapeHtml } from '../components/escape.js';
|
|
10
|
-
|
|
11
|
-
'M67.59 221.77L138.77 292.95C145.8 299.98 145.8 311.44 138.77 318.47L123.02 334.22C116 341.25 104.54 341.25 97.5 334.22L26.32 263.04C19.29 256.01 19.29 244.55 26.32 237.52L42.07 221.77C49.1 214.74 60.56 214.74 67.59 221.77Z',
|
|
12
|
-
'M96.79 335.08L81.12 319.42C73.8 312.1 73.8 300.23 81.12 292.92L315.88 58.16C323.2 50.85 335.06 50.85 342.38 58.16L358.04 73.83C365.36 81.14 365.36 93.01 358.04 100.33L123.29 335.08C115.97 342.4 104.1 342.4 96.79 335.08Z',
|
|
13
|
-
'M203.5 335.14L187.83 319.48C180.52 312.16 180.52 300.29 187.83 292.98L315.88 164.93C323.2 157.62 335.06 157.62 342.38 164.93L358.04 180.6C365.36 187.92 365.36 199.78 358.04 207.1L230 335.14C222.68 342.46 210.82 342.46 203.5 335.14Z',
|
|
14
|
-
'M310.21 335.2L294.54 319.54C287.23 312.22 287.23 300.36 294.54 293.04L315.88 271.71C323.2 264.39 335.06 264.39 342.38 271.71L358.04 287.37C365.36 294.69 365.36 306.55 358.04 313.87L336.71 335.2C329.39 342.52 317.53 342.52 310.21 335.2Z',
|
|
15
|
-
];
|
|
13
|
+
import { LOGO_MONO_DATA_URI, LOGO_WHITE_DATA_URI } from './logo-assets.generated.js';
|
|
16
14
|
/** The `<img>` for the mark: `size` is the pixel width and height, `alt` is '' where the words carry the meaning. */
|
|
17
15
|
export function readerLogo(ink, size, alt) {
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
return (`<img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 375 375'%3E${paths}%3C/svg%3E" ` +
|
|
16
|
+
const src = ink === 'white' ? LOGO_WHITE_DATA_URI : LOGO_MONO_DATA_URI;
|
|
17
|
+
return (`<img src="${src}" ` +
|
|
21
18
|
`alt="${escapeHtml(alt)}" width="${escapeHtml(String(size))}" height="${escapeHtml(String(size))}" decoding="async">`);
|
|
22
19
|
}
|
|
23
20
|
//# sourceMappingURL=logo.js.map
|
package/dist/reader/logo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logo.js","sourceRoot":"","sources":["../../src/reader/logo.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"logo.js","sourceRoot":"","sources":["../../src/reader/logo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAIpF,qHAAqH;AACrH,MAAM,UAAU,UAAU,CAAC,GAAkB,EAAE,IAAY,EAAE,GAAW;IACvE,MAAM,GAAG,GAAG,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,kBAAkB,CAAA;IACtE,OAAO,CACN,aAAa,GAAG,IAAI;QACpB,QAAQ,UAAU,CAAC,GAAG,CAAC,YAAY,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CACrH,CAAA;AACF,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const READER_CSS = "/* CERTREV-READER-GEN:BEGIN */\n/* GENERATED by scripts/build-cert-reader-css.mjs from src/lib/cert-render/reader/site-snapshot/ (certrev.com,\n * component Reader, \"What your reader sees\"). DO NOT EDIT: run `pnpm build:cert-reader-css`. The face is driven by\n * four variables the Liquid root sets inline: --cr-ba accent, --cr-ba-fg accent foreground, --cr-br corner, --cr-bf\n * font. */\n.certrev-reader {\n\tcolor: #141414;\n\tfont-family: var(--cr-bf);\n\tfont-size: 16px;\n\tline-height: 1.65;\n\t-webkit-font-smoothing: antialiased;\n\ttext-rendering: optimizelegibility;\n}\n.certrev-reader,\n.certrev-reader *,\n.certrev-reader *:before,\n.certrev-reader *:after {\n\tbox-sizing: border-box;\n}\n.certrev-reader .certrev-r-card {\n\tz-index: 1;\n\tborder: 1px solid #14141421;\n\tborder-radius: calc(var(--cr-br) * 0.7);\n\tbackground: #fff;\n\tflex-shrink: 0;\n\tmargin: 12px 0 0;\n\tposition: relative;\n\toverflow: hidden;\n}\n.certrev-reader .certrev-r-card.pad {\n\tpadding: 15px 18px;\n\toverflow: visible;\n}\n.certrev-reader .certrev-r-card.pad .certrev-r-bys {\n\tgap: 14px;\n}\n.certrev-reader .certrev-r-cap {\n\twhite-space: nowrap;\n\tbackground: var(--cr-ba);\n\tcolor: var(--cr-ba-fg);\n\tfont-family: \"JetBrains Mono\", ui-monospace, SFMono-Regular, Menlo, monospace;\n\tletter-spacing: 0.14em;\n\ttext-transform: uppercase;\n\talign-items: center;\n\tgap: 11px;\n\tpadding: 14px 20px;\n\tfont-size: 10.5px;\n\tfont-weight: 700;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-cap.center {\n\tletter-spacing: 0.16em;\n\tjustify-content: center;\n\tpadding: 12px;\n}\n.certrev-reader .certrev-r-cap img {\n\tflex-shrink: 0;\n\twidth: 18px;\n\theight: 18px;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-cap-body {\n\tpadding: 15px 18px 13px;\n}\n.certrev-reader .certrev-r-bys {\n\tgrid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);\n\tgap: 20px;\n\tdisplay: grid;\n}\n.certrev-reader .certrev-r-by {\n\talign-items: flex-start;\n\tgap: 12px;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-by > div {\n\tmin-width: 0;\n}\n.certrev-reader .certrev-r-by b {\n\tfont-size: 14.5px;\n\tfont-weight: 700;\n\tline-height: 1.3;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-by em {\n\tcolor: #14141495;\n\tmargin-top: 4px;\n\tfont-size: 12.5px;\n\tfont-style: normal;\n\tline-height: 1.45;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-role {\n\tfont-family: \"JetBrains Mono\", ui-monospace, SFMono-Regular, Menlo, monospace;\n\tletter-spacing: 0.14em;\n\ttext-transform: uppercase;\n\tcolor: #14141495;\n\tmargin-top: 9px;\n\tfont-size: 9px;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-role.on {\n\tcolor: #141414;\n\tfont-weight: 700;\n}\n.certrev-reader .certrev-r-face {\n\tbackground: #14141412;\n\twidth: 42px;\n\theight: 42px;\n\tcolor: #141414;\n\tborder-radius: 50%;\n\tflex-shrink: 0;\n\tdisplay: block;\n\toverflow: hidden;\n}\n.certrev-reader .certrev-r-face.sm {\n\twidth: 36px;\n\theight: 36px;\n}\n.certrev-reader .certrev-r-face.lg {\n\twidth: 46px;\n\theight: 46px;\n}\n.certrev-reader .certrev-r-face svg {\n\tfill: currentColor;\n\topacity: 0.38;\n\twidth: 100%;\n\theight: 100%;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-rule {\n\tbackground: #14141421;\n\theight: 1px;\n\tmargin: 15px 0 12px;\n}\n.certrev-reader .certrev-r-foot {\n\tjustify-content: space-between;\n\talign-items: center;\n\tgap: 16px;\n\tfont-size: 12.5px;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-foot span {\n\twhite-space: nowrap;\n}\n.certrev-reader .certrev-r-foot em {\n\tfont-style: normal;\n\tfont-family: \"JetBrains Mono\", ui-monospace, SFMono-Regular, Menlo, monospace;\n\tletter-spacing: 0.14em;\n\ttext-transform: uppercase;\n\tcolor: #14141495;\n\tmargin-right: 9px;\n\tfont-size: 9.5px;\n}\n.certrev-reader .certrev-r-foot span + span {\n\tcolor: #14141495;\n}\n.certrev-reader .certrev-r-kick {\n\tfont-family: \"JetBrains Mono\", ui-monospace, SFMono-Regular, Menlo, monospace;\n\tletter-spacing: 0.16em;\n\ttext-transform: uppercase;\n\tcolor: #14141495;\n\tmargin-bottom: 14px;\n\tfont-size: 9.5px;\n}\n.certrev-reader .certrev-r-memo {\n\tgap: 15px;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-memo > div {\n\tflex: 1;\n\tmin-width: 0;\n}\n.certrev-reader .certrev-r-memo-name {\n\tcolor: #14141495;\n\tmargin-bottom: 11px;\n\tfont-size: 15px;\n}\n.certrev-reader .certrev-r-memo-name b {\n\tcolor: #141414;\n\tfont-weight: 700;\n}\n.certrev-reader blockquote {\n\tborder-left: 3px solid var(--cr-ba);\n\tcolor: #141414b8;\n\ttext-wrap: pretty;\n\tmargin: 0;\n\tpadding-left: 16px;\n\tfont-size: 13.5px;\n\tfont-style: italic;\n\tline-height: 1.55;\n}\n.certrev-reader .certrev-r-links {\n\tgap: 22px;\n\tmargin-top: 14px;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-links a {\n\tcolor: #141414;\n\twhite-space: nowrap;\n\tfont-size: 13.5px;\n\tfont-weight: 700;\n\ttext-decoration: none;\n}\n.certrev-reader .certrev-r-links a:hover {\n\tcolor: var(--cr-ba);\n}\n.certrev-reader .certrev-r-vfoot {\n\talign-items: baseline;\n\tgap: 16px;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-vfoot .certrev-r-scope {\n\tflex: 1;\n\tmin-width: 0;\n\tmargin-top: 0;\n}\n.certrev-reader .certrev-r-verified {\n\tcolor: #141414b8;\n\tflex-shrink: 0;\n\talign-items: center;\n\tgap: 9px;\n\tfont-size: 12.5px;\n\tdisplay: inline-flex;\n}\n.certrev-reader .certrev-r-verified img {\n\tflex-shrink: 0;\n\twidth: 17px;\n\theight: 17px;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-verified b {\n\tfont-family: \"Plus Jakarta Sans\", -apple-system, system-ui, Helvetica, Arial, sans-serif;\n\tfont-weight: 800;\n}\n.certrev-reader .certrev-r-scope {\n\tcolor: #14141495;\n\ttext-wrap: pretty;\n\tmargin-top: 9px;\n\tfont-size: 12.5px;\n\tline-height: 1.5;\n}\n.certrev-reader .certrev-r-scope em {\n\tfont-style: normal;\n\tfont-family: \"JetBrains Mono\", ui-monospace, SFMono-Regular, Menlo, monospace;\n\tletter-spacing: 0.1em;\n\ttext-transform: uppercase;\n\tfont-size: 9.5px;\n}\n.certrev-reader .certrev-r-side {\n\tz-index: 1;\n\tfloat: right;\n\tborder: 1px solid #14141421;\n\tborder-radius: var(--cr-br);\n\twidth: 268px;\n\tbox-shadow: 0 4px 18px #14141412;\n\tbackground: #fff;\n\tmargin: 2px 0 18px 28px;\n\tposition: relative;\n\toverflow: hidden;\n}\n.certrev-reader .certrev-r-side-body {\n\tpadding: 18px;\n}\n.certrev-reader .certrev-r-side-body .certrev-r-by b {\n\tfont-size: 14px;\n}\n.certrev-reader .certrev-r-side-body p {\n\tcolor: #141414b8;\n\ttext-wrap: pretty;\n\tmargin: 15px 0 0;\n\tfont-size: 13px;\n\tline-height: 1.55;\n}\n.certrev-reader .certrev-r-side-body blockquote {\n\tmargin-top: 15px;\n\tpadding-left: 15px;\n\tfont-size: 13.5px;\n\tline-height: 1.55;\n}\n.certrev-reader .certrev-r-side-body .certrev-r-scope {\n\tmargin-top: 15px;\n\tfont-size: 11.5px;\n}\n.certrev-reader .certrev-r-side-links {\n\tborder-top: 1px solid #14141421;\n\tgrid-template-columns: 1fr 1fr;\n\tdisplay: grid;\n}\n.certrev-reader .certrev-r-side-links a {\n\ttext-align: center;\n\tcolor: #141414;\n\tpadding: 13px;\n\tfont-size: 13px;\n\tfont-weight: 700;\n\ttext-decoration: none;\n}\n.certrev-reader .certrev-r-side-links a:first-child {\n\tborder-right: 1px solid #14141421;\n}\n.certrev-reader .certrev-r-side-links a:hover {\n\tcolor: var(--cr-ba);\n}\n.certrev-reader .certrev-r-pill {\n\tz-index: 3;\n\tbackground: var(--cr-ba);\n\tcolor: var(--cr-ba-fg);\n\tborder-radius: 999px;\n\talign-items: center;\n\tgap: 13px;\n\tpadding: 12px 21px;\n\tdisplay: inline-flex;\n\tposition: absolute;\n\tbottom: 26px;\n\tright: 26px;\n\tbox-shadow: 0 10px 26px #14141429;\n}\n.certrev-reader .certrev-r-pill span {\n\twhite-space: nowrap;\n\tfont-family: \"JetBrains Mono\", ui-monospace, SFMono-Regular, Menlo, monospace;\n\tletter-spacing: 0.14em;\n\ttext-transform: uppercase;\n\tfont-size: 10.5px;\n\tfont-weight: 700;\n}\n.certrev-reader .certrev-r-pill a {\n\tcolor: inherit;\n\ttext-underline-offset: 3px;\n\tfont-size: 13.5px;\n\tfont-weight: 700;\n\ttext-decoration: underline;\n}\n.certrev-reader .certrev-r-pill i {\n\topacity: 0.42;\n\tfont-style: normal;\n}\n@media (max-width: 820px) {\n\t.certrev-reader .certrev-r-side {\n\t\tfloat: none;\n\t\twidth: auto;\n\t\tmargin: 20px 0;\n\t}\n\t.certrev-reader .certrev-r-bys {\n\t\tgrid-template-columns: 1fr;\n\t\tgap: 18px;\n\t}\n\t.certrev-reader .certrev-r-cap {\n\t\tletter-spacing: 0.1em;\n\t\tpadding: 12px 16px;\n\t\tfont-size: 9.5px;\n\t}\n\t.certrev-reader .certrev-r-cap-body,\n\t.certrev-reader .certrev-r-card.pad {\n\t\tpadding: 16px 18px;\n\t}\n\t.certrev-reader .certrev-r-pill {\n\t\tgap: 10px;\n\t\tpadding: 10px 16px;\n\t\tbottom: 20px;\n\t\tright: 20px;\n\t}\n}\n@media (max-width: 560px) {\n\t.certrev-reader .certrev-r-links {\n\t\tflex-direction: column;\n\t\tgap: 9px;\n\t}\n\t.certrev-reader .certrev-r-foot {\n\t\tflex-direction: column;\n\t\talign-items: flex-start;\n\t\tgap: 6px;\n\t}\n\t.certrev-reader .certrev-r-foot span {\n\t\twhite-space: normal;\n\t}\n\t.certrev-reader .certrev-r-vfoot {\n\t\tflex-direction: column;\n\t\talign-items: flex-start;\n\t\tgap: 10px;\n\t}\n\t.certrev-reader .certrev-r-vfoot .certrev-r-scope {\n\t\twidth: 100%;\n\t}\n\t.certrev-reader .certrev-r-cap {\n\t\twhite-space: normal;\n\t\tletter-spacing: 0.08em;\n\t\tpadding: 11px 14px;\n\t\tfont-size: 9px;\n\t}\n\t.certrev-reader .certrev-r-cap-body,\n\t.certrev-reader .certrev-r-card.pad {\n\t\tpadding: 14px 15px;\n\t}\n\t.certrev-reader .certrev-r-foot {\n\t\tflex-wrap: wrap;\n\t\tgap: 8px 14px;\n\t}\n\t.certrev-reader .certrev-r-links {\n\t\tflex-wrap: wrap;\n\t\tgap: 16px;\n\t}\n\t.certrev-reader .certrev-r-vfoot {\n\t\tflex-wrap: wrap;\n\t\tgap: 10px;\n\t}\n\t.certrev-reader .certrev-r-face.lg {\n\t\twidth: 38px;\n\t\theight: 38px;\n\t}\n\t.certrev-reader .certrev-r-side {\n\t\tmargin: 16px 0;\n\t}\n\t.certrev-reader .certrev-r-side-links a {\n\t\tpadding: 12px 8px;\n\t}\n\t.certrev-reader .certrev-r-pill {\n\t\ttext-align: center;\n\t\tflex-wrap: wrap;\n\t\tjustify-content: center;\n\t\tgap: 6px 12px;\n\t\tpadding: 11px 14px;\n\t\tbottom: 14px;\n\t\tleft: 14px;\n\t\tright: 14px;\n\t}\n\t.certrev-reader .certrev-r-pill span {\n\t\twhite-space: normal;\n\t}\n}\n/* Theme-bleed armor (hand-written, not from the snapshot; see build-cert-reader-css.mjs). */\n.certrev-reader img {\n\tmargin: 0 !important;\n\tmax-width: 100% !important;\n\tfloat: none !important;\n}\n.certrev-reader a {\n\tbackground-image: none !important;\n}\n.certrev-reader .certrev-r-links a,\n.certrev-reader .certrev-r-side-links a {\n\ttext-decoration: none !important;\n}\n.certrev-reader .certrev-r-links a:not(:hover),\n.certrev-reader .certrev-r-side-links a:not(:hover) {\n\tcolor: #141414 !important;\n}\n.certrev-reader .certrev-r-links a:hover,\n.certrev-reader .certrev-r-side-links a:hover {\n\tcolor: var(--cr-ba) !important;\n}\n.certrev-reader .certrev-r-pill a {\n\tcolor: inherit !important;\n\ttext-decoration: underline !important;\n}\n.certrev-reader .certrev-r-face img {\n\tdisplay: block;\n\twidth: 100%;\n\theight: 100%;\n\tobject-fit: cover;\n}\n.certrev-reader .certrev-r-bys.solo {\n\tgrid-template-columns: minmax(0, 1fr);\n}\n.certrev-reader .certrev-r-foot a {\n\tcolor: inherit !important;\n\ttext-decoration: underline !important;\n}\n.certrev-reader .certrev-r-pill {\n\tposition: fixed;\n\tmargin-bottom: env(safe-area-inset-bottom, 0px);\n}\n.certrev-memo-wrap[data-certrev-placement=\"rail\"] .certrev-reader .certrev-r-side {\n\tfloat: none;\n\twidth: auto;\n\tmargin: 0;\n}\n.certrev-memo-wrap[data-certrev-placement=\"body-fallback\"] .certrev-reader .certrev-r-side,\n.certrev-sidebar-wrap:not([data-certrev-placement]) .certrev-reader .certrev-r-side {\n\tfloat: none;\n\twidth: auto;\n\tmax-width: 360px;\n\tmargin: 0 auto;\n}\n.certrev-reader .certrev-r-side-links.single {\n\tgrid-template-columns: minmax(0, 1fr);\n}\n.certrev-reader .certrev-r-side-links.single a:first-child {\n\tborder-right: 0;\n}\n/* Reader-only font aliases (generated from the CERTREV-FONTS rules above: the same files and unicode ranges, only the family and\n * the weight range differ, so the reader paints weights the legacy card does not declare). */\n@font-face {\n\tfont-family: \"CertREV Reader Serif\";\n\tfont-style: normal;\n\tfont-weight: 400 700;\n\tfont-display: swap;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-playfair-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"CertREV Reader Serif\";\n\tfont-style: normal;\n\tfont-weight: 400 700;\n\tfont-display: swap;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-playfair-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"CertREV Reader Serif\";\n\tfont-style: italic;\n\tfont-weight: 400 700;\n\tfont-display: swap;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-playfair-italic-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"CertREV Reader Serif\";\n\tfont-style: italic;\n\tfont-weight: 400 700;\n\tfont-display: swap;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-playfair-italic-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"CertREV Reader Grotesk\";\n\tfont-style: normal;\n\tfont-weight: 400 800;\n\tfont-display: swap;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-jakarta-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"CertREV Reader Grotesk\";\n\tfont-style: normal;\n\tfont-weight: 400 800;\n\tfont-display: swap;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-jakarta-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* CERTREV-READER-GEN:END */\n";
|
|
1
|
+
export declare const READER_CSS = "/* CERTREV-READER-GEN:BEGIN */\n/* GENERATED by scripts/build-cert-reader-css.mjs from src/lib/cert-render/reader/site-snapshot/ (certrev.com,\n * component Reader, \"What your reader sees\"). DO NOT EDIT: run `pnpm build:cert-reader-css`. The face is driven by\n * four variables the Liquid root sets inline: --cr-ba accent, --cr-ba-fg accent foreground, --cr-br corner, --cr-bf\n * font. */\n.certrev-reader {\n\tcolor: #141414 !important;\n\tfont-family: var(--cr-bf) !important;\n\tfont-size: 16px !important;\n\tline-height: 1.65 !important;\n\t-webkit-font-smoothing: antialiased !important;\n\ttext-rendering: optimizelegibility !important;\n\tfont-style: normal !important;\n\tfont-weight: 400 !important;\n\tfont-stretch: 101% !important;\n\tfont-variant: normal !important;\n\tfont-feature-settings: normal !important;\n\tfont-variation-settings: normal !important;\n\tfont-kerning: auto !important;\n\tfont-optical-sizing: auto !important;\n\tfont-size-adjust: none !important;\n\tletter-spacing: normal !important;\n\tword-spacing: normal !important;\n\ttext-transform: none !important;\n\ttext-align: start !important;\n\ttext-indent: 0 !important;\n\ttext-shadow: none !important;\n\twhite-space: normal !important;\n\tword-break: normal !important;\n\toverflow-wrap: normal !important;\n\thyphens: manual !important;\n}\n.certrev-reader,\n.certrev-reader *,\n.certrev-reader *:before,\n.certrev-reader *:after {\n\tbox-sizing: border-box;\n}\n.certrev-reader :is(div, section, aside, p, blockquote, span, a, b, strong, em, i, time, small) {\n\tcolor: inherit !important;\n\tfont-family: inherit !important;\n\tfont-size: inherit !important;\n\tfont-style: inherit !important;\n\tfont-weight: inherit !important;\n\tfont-stretch: inherit !important;\n\tletter-spacing: inherit !important;\n\tline-height: inherit !important;\n\ttext-transform: inherit !important;\n\tword-spacing: inherit !important;\n\ttext-align: inherit !important;\n\ttext-indent: inherit !important;\n}\n.certrev-reader :is(b, strong) {\n\tfont-weight: bolder !important;\n}\n.certrev-reader :is(em, i) {\n\tfont-style: italic !important;\n}\n.certrev-reader p {\n\tfont-family:\n\t\t\"DM Sans\", \"DM Sans Fallback\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif !important;\n}\n.certrev-reader .certrev-r-card {\n\tz-index: 1;\n\tborder: 1px solid #14141421;\n\tborder-radius: calc(var(--cr-br) * 0.7);\n\tbackground: #fff;\n\tflex-shrink: 0;\n\tmargin: 12px 0 0;\n\tposition: relative;\n\toverflow: hidden;\n}\n.certrev-reader .certrev-r-card.pad {\n\tpadding: 15px 18px;\n\toverflow: visible;\n}\n.certrev-reader .certrev-r-card.pad .certrev-r-bys {\n\tgap: 14px;\n}\n.certrev-reader .certrev-r-cap {\n\twhite-space: nowrap;\n\tbackground: var(--cr-ba);\n\tcolor: var(--cr-ba-fg) !important;\n\tfont-family: \"JetBrains Mono\", \"JetBrains Mono Fallback\", ui-monospace, SFMono-Regular, Menlo, monospace !important;\n\tletter-spacing: 0.14em !important;\n\ttext-transform: uppercase !important;\n\talign-items: center;\n\tgap: 11px;\n\tpadding: 14px 20px;\n\tfont-size: 10.5px !important;\n\tfont-weight: 700 !important;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-cap.center {\n\tletter-spacing: 0.16em !important;\n\tjustify-content: center;\n\tpadding: 12px;\n}\n.certrev-reader .certrev-r-cap img {\n\tflex-shrink: 0;\n\twidth: 18px;\n\theight: 18px;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-cap-body {\n\tpadding: 15px 18px 13px;\n}\n.certrev-reader .certrev-r-bys {\n\tgrid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);\n\tgap: 20px;\n\tdisplay: grid;\n}\n.certrev-reader .certrev-r-by {\n\talign-items: flex-start;\n\tgap: 12px;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-by > div {\n\tmin-width: 0;\n}\n.certrev-reader .certrev-r-by b {\n\tfont-size: 14.5px !important;\n\tfont-weight: 700 !important;\n\tline-height: 1.3 !important;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-by em {\n\tcolor: #14141495 !important;\n\tmargin-top: 4px;\n\tfont-size: 12.5px !important;\n\tfont-style: normal !important;\n\tline-height: 1.45 !important;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-role {\n\tfont-family: \"JetBrains Mono\", \"JetBrains Mono Fallback\", ui-monospace, SFMono-Regular, Menlo, monospace !important;\n\tletter-spacing: 0.14em !important;\n\ttext-transform: uppercase !important;\n\tcolor: #14141495 !important;\n\tmargin-top: 9px;\n\tfont-size: 9px !important;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-role.on {\n\tcolor: #141414 !important;\n\tfont-weight: 700 !important;\n}\n.certrev-reader .certrev-r-face {\n\tbackground: #14141412;\n\twidth: 42px;\n\theight: 42px;\n\tcolor: #141414 !important;\n\tborder-radius: 50%;\n\tflex-shrink: 0;\n\tdisplay: block;\n\toverflow: hidden;\n}\n.certrev-reader .certrev-r-face.sm {\n\twidth: 36px;\n\theight: 36px;\n}\n.certrev-reader .certrev-r-face.lg {\n\twidth: 46px;\n\theight: 46px;\n}\n.certrev-reader .certrev-r-face svg {\n\tfill: currentColor;\n\topacity: 0.38;\n\twidth: 100%;\n\theight: 100%;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-rule {\n\tbackground: #14141421;\n\theight: 1px;\n\tmargin: 15px 0 12px;\n}\n.certrev-reader .certrev-r-foot {\n\tjustify-content: space-between;\n\talign-items: center;\n\tgap: 16px;\n\tfont-size: 12.5px !important;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-foot span {\n\twhite-space: nowrap;\n}\n.certrev-reader .certrev-r-foot em {\n\tfont-style: normal !important;\n\tfont-family: \"JetBrains Mono\", \"JetBrains Mono Fallback\", ui-monospace, SFMono-Regular, Menlo, monospace !important;\n\tletter-spacing: 0.14em !important;\n\ttext-transform: uppercase !important;\n\tcolor: #14141495 !important;\n\tmargin-right: 9px;\n\tfont-size: 9.5px !important;\n}\n.certrev-reader .certrev-r-foot span + span {\n\tcolor: #14141495 !important;\n}\n.certrev-reader .certrev-r-kick {\n\tfont-family: \"JetBrains Mono\", \"JetBrains Mono Fallback\", ui-monospace, SFMono-Regular, Menlo, monospace !important;\n\tletter-spacing: 0.16em !important;\n\ttext-transform: uppercase !important;\n\tcolor: #14141495 !important;\n\tmargin-bottom: 14px;\n\tfont-size: 9.5px !important;\n}\n.certrev-reader .certrev-r-memo {\n\tgap: 15px;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-memo > div {\n\tflex: 1;\n\tmin-width: 0;\n}\n.certrev-reader .certrev-r-memo-name {\n\tcolor: #14141495 !important;\n\tmargin-bottom: 11px;\n\tfont-size: 15px !important;\n}\n.certrev-reader .certrev-r-memo-name b {\n\tcolor: #141414 !important;\n\tfont-weight: 700 !important;\n}\n.certrev-reader blockquote {\n\tborder-left: 3px solid var(--cr-ba);\n\tcolor: #141414b8 !important;\n\ttext-wrap: pretty;\n\tmargin: 0;\n\tpadding-left: 16px;\n\tfont-size: 13.5px !important;\n\tfont-style: italic !important;\n\tline-height: 1.55 !important;\n}\n.certrev-reader .certrev-r-links {\n\tgap: 22px;\n\tmargin-top: 14px;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-links a {\n\tcolor: #141414 !important;\n\twhite-space: nowrap;\n\tfont-size: 13.5px !important;\n\tfont-weight: 700 !important;\n\ttext-decoration: none;\n}\n.certrev-reader .certrev-r-links a:hover {\n\tcolor: var(--cr-ba) !important;\n}\n.certrev-reader .certrev-r-vfoot {\n\talign-items: baseline;\n\tgap: 16px;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-vfoot .certrev-r-scope {\n\tflex: 1;\n\tmin-width: 0;\n\tmargin-top: 0;\n}\n.certrev-reader .certrev-r-verified {\n\tcolor: #141414b8 !important;\n\tflex-shrink: 0;\n\talign-items: center;\n\tgap: 9px;\n\tfont-size: 12.5px !important;\n\tdisplay: inline-flex;\n}\n.certrev-reader .certrev-r-verified img {\n\tflex-shrink: 0;\n\twidth: 17px;\n\theight: 17px;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-verified b {\n\tfont-family:\n\t\t\"Plus Jakarta Sans\", \"Plus Jakarta Sans Fallback\", -apple-system, system-ui, Helvetica, Arial, sans-serif !important;\n\tfont-weight: 800 !important;\n}\n.certrev-reader .certrev-r-scope {\n\tcolor: #14141495 !important;\n\ttext-wrap: pretty;\n\tmargin-top: 9px;\n\tfont-size: 12.5px !important;\n\tline-height: 1.5 !important;\n}\n.certrev-reader .certrev-r-scope em {\n\tfont-style: normal !important;\n\tfont-family: \"JetBrains Mono\", \"JetBrains Mono Fallback\", ui-monospace, SFMono-Regular, Menlo, monospace !important;\n\tletter-spacing: 0.1em !important;\n\ttext-transform: uppercase !important;\n\tfont-size: 9.5px !important;\n}\n.certrev-reader .certrev-r-side {\n\tz-index: 1;\n\tfloat: right;\n\tborder: 1px solid #14141421;\n\tborder-radius: var(--cr-br);\n\twidth: 268px;\n\tbox-shadow: 0 4px 18px #14141412;\n\tbackground: #fff;\n\tmargin: 2px 0 18px 28px;\n\tposition: relative;\n\toverflow: hidden;\n}\n.certrev-reader .certrev-r-side-body {\n\tpadding: 18px;\n}\n.certrev-reader .certrev-r-side-body .certrev-r-by b {\n\tfont-size: 14px !important;\n}\n.certrev-reader .certrev-r-side-body p {\n\tcolor: #141414b8 !important;\n\ttext-wrap: pretty;\n\tmargin: 15px 0 0;\n\tfont-size: 13px !important;\n\tline-height: 1.55 !important;\n}\n.certrev-reader .certrev-r-side-body blockquote {\n\tmargin-top: 15px;\n\tpadding-left: 15px;\n\tfont-size: 13.5px !important;\n\tline-height: 1.55 !important;\n}\n.certrev-reader .certrev-r-side-body .certrev-r-scope {\n\tmargin-top: 15px;\n\tfont-size: 11.5px !important;\n}\n.certrev-reader .certrev-r-side-links {\n\tborder-top: 1px solid #14141421;\n\tgrid-template-columns: 1fr 1fr;\n\tdisplay: grid;\n}\n.certrev-reader .certrev-r-side-links a {\n\ttext-align: center !important;\n\tcolor: #141414 !important;\n\tpadding: 13px;\n\tfont-size: 13px !important;\n\tfont-weight: 700 !important;\n\ttext-decoration: none;\n}\n.certrev-reader .certrev-r-side-links a:first-child {\n\tborder-right: 1px solid #14141421;\n}\n.certrev-reader .certrev-r-side-links a:hover {\n\tcolor: var(--cr-ba) !important;\n}\n.certrev-reader .certrev-r-pill {\n\tz-index: 3;\n\tbackground: var(--cr-ba);\n\tcolor: var(--cr-ba-fg) !important;\n\tborder-radius: 999px;\n\talign-items: center;\n\tgap: 13px;\n\tpadding: 12px 21px;\n\tdisplay: inline-flex;\n\tposition: absolute;\n\tbottom: 26px;\n\tright: 26px;\n\tbox-shadow: 0 10px 26px #14141429;\n}\n.certrev-reader .certrev-r-pill span {\n\twhite-space: nowrap;\n\tfont-family: \"JetBrains Mono\", \"JetBrains Mono Fallback\", ui-monospace, SFMono-Regular, Menlo, monospace !important;\n\tletter-spacing: 0.14em !important;\n\ttext-transform: uppercase !important;\n\tfont-size: 10.5px !important;\n\tfont-weight: 700 !important;\n}\n.certrev-reader .certrev-r-pill a {\n\tcolor: inherit !important;\n\ttext-underline-offset: 3px;\n\tfont-size: 13.5px !important;\n\tfont-weight: 700 !important;\n\ttext-decoration: underline;\n}\n.certrev-reader .certrev-r-pill i {\n\topacity: 0.42;\n\tfont-style: normal !important;\n}\n@media (max-width: 820px) {\n\t.certrev-reader .certrev-r-side {\n\t\tfloat: none;\n\t\twidth: auto;\n\t\tmargin: 20px 0;\n\t}\n\t.certrev-reader .certrev-r-bys {\n\t\tgrid-template-columns: 1fr;\n\t\tgap: 18px;\n\t}\n\t.certrev-reader .certrev-r-cap {\n\t\tletter-spacing: 0.1em !important;\n\t\tpadding: 12px 16px;\n\t\tfont-size: 9.5px !important;\n\t}\n\t.certrev-reader .certrev-r-cap-body,\n\t.certrev-reader .certrev-r-card.pad {\n\t\tpadding: 16px 18px;\n\t}\n\t.certrev-reader .certrev-r-pill {\n\t\tgap: 10px;\n\t\tpadding: 10px 16px;\n\t\tbottom: 20px;\n\t\tright: 20px;\n\t}\n}\n@media (max-width: 560px) {\n\t.certrev-reader .certrev-r-links {\n\t\tflex-direction: column;\n\t\tgap: 9px;\n\t}\n\t.certrev-reader .certrev-r-foot {\n\t\tflex-direction: column;\n\t\talign-items: flex-start;\n\t\tgap: 6px;\n\t}\n\t.certrev-reader .certrev-r-foot span {\n\t\twhite-space: normal;\n\t}\n\t.certrev-reader .certrev-r-vfoot {\n\t\tflex-direction: column;\n\t\talign-items: flex-start;\n\t\tgap: 10px;\n\t}\n\t.certrev-reader .certrev-r-vfoot .certrev-r-scope {\n\t\twidth: 100%;\n\t}\n\t.certrev-reader .certrev-r-cap {\n\t\twhite-space: normal;\n\t\tletter-spacing: 0.08em !important;\n\t\tpadding: 11px 14px;\n\t\tfont-size: 9px !important;\n\t}\n\t.certrev-reader .certrev-r-cap-body,\n\t.certrev-reader .certrev-r-card.pad {\n\t\tpadding: 14px 15px;\n\t}\n\t.certrev-reader .certrev-r-foot {\n\t\tflex-wrap: wrap;\n\t\tgap: 8px 14px;\n\t}\n\t.certrev-reader .certrev-r-links {\n\t\tflex-wrap: wrap;\n\t\tgap: 16px;\n\t}\n\t.certrev-reader .certrev-r-vfoot {\n\t\tflex-wrap: wrap;\n\t\tgap: 10px;\n\t}\n\t.certrev-reader .certrev-r-face.lg {\n\t\twidth: 38px;\n\t\theight: 38px;\n\t}\n\t.certrev-reader .certrev-r-side {\n\t\tmargin: 16px 0;\n\t}\n\t.certrev-reader .certrev-r-side-links a {\n\t\tpadding: 12px 8px;\n\t}\n\t.certrev-reader .certrev-r-pill {\n\t\ttext-align: center !important;\n\t\tflex-wrap: wrap;\n\t\tjustify-content: center;\n\t\tgap: 6px 12px;\n\t\tpadding: 11px 14px;\n\t\tbottom: 14px;\n\t\tleft: 14px;\n\t\tright: 14px;\n\t}\n\t.certrev-reader .certrev-r-pill span {\n\t\twhite-space: normal;\n\t}\n}\n/* Theme-bleed armor (hand-written, not from the snapshot; see build-cert-reader-css.mjs). */\n.certrev-reader img {\n\tmargin: 0 !important;\n\tmax-width: 100% !important;\n\tfloat: none !important;\n\tborder-radius: 0 !important;\n}\n.certrev-reader a {\n\tbackground-image: none !important;\n}\n.certrev-reader .certrev-r-links a,\n.certrev-reader .certrev-r-side-links a {\n\ttext-decoration: none !important;\n}\n.certrev-reader .certrev-r-links a:not(:hover),\n.certrev-reader .certrev-r-side-links a:not(:hover) {\n\tcolor: #141414 !important;\n}\n.certrev-reader .certrev-r-links a:hover,\n.certrev-reader .certrev-r-side-links a:hover {\n\tcolor: var(--cr-ba) !important;\n}\n.certrev-reader .certrev-r-pill a {\n\tcolor: inherit !important;\n\ttext-decoration: underline !important;\n}\n.certrev-reader .certrev-r-face img {\n\tdisplay: block;\n\twidth: 100%;\n\theight: 100%;\n\tobject-fit: cover;\n}\n.certrev-reader .certrev-r-bys.solo {\n\tgrid-template-columns: minmax(0, 1fr);\n}\n.certrev-reader .certrev-r-foot a {\n\tcolor: inherit !important;\n\ttext-decoration: underline !important;\n}\n.certrev-reader .certrev-r-pill {\n\tposition: fixed;\n\tmargin-bottom: env(safe-area-inset-bottom, 0px);\n}\n.certrev-memo-wrap[data-certrev-placement=\"rail\"] .certrev-reader .certrev-r-side {\n\tfloat: none;\n\twidth: auto;\n\tmargin: 0;\n}\n.certrev-memo-wrap[data-certrev-placement=\"body-fallback\"] .certrev-reader .certrev-r-side,\n.certrev-sidebar-wrap:not([data-certrev-placement]) .certrev-reader .certrev-r-side {\n\tfloat: none;\n\tmargin-right: auto;\n\tmargin-left: auto;\n}\n.certrev-reader .certrev-r-side-links.single {\n\tgrid-template-columns: minmax(0, 1fr);\n}\n.certrev-reader .certrev-r-side-links.single a:first-child {\n\tborder-right: 0;\n}\n:is(.certrev-card-wrap, .certrev-memo-wrap):has(.certrev-reader) {\n\tmargin-block: 0 !important;\n\tpadding: 0 !important;\n}\n/* Reader fonts (generated from site-snapshot/site-fonts.css.txt: certrev.com's own faces and metric-matched\n * fallbacks, the same declarations but for the file, the committed copy on assets.certrev.com, and the stretch, which\n * keeps them to reader text; see build-cert-reader-css.mjs). */\n@font-face {\n\tfont-family: \"DM Sans Fallback\";\n\tfont-stretch: 101%;\n\tsrc: local(Arial);\n\tascent-override: 94.9%;\n\tdescent-override: 29.66%;\n\tline-gap-override: 0.0%;\n\tsize-adjust: 104.53%;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display Fallback\";\n\tfont-stretch: 101%;\n\tsrc: local(Times New Roman);\n\tascent-override: 97.25%;\n\tdescent-override: 22.56%;\n\tline-gap-override: 0.0%;\n\tsize-adjust: 111.26%;\n}\n\n@font-face {\n\tfont-family: \"JetBrains Mono Fallback\";\n\tfont-stretch: 101%;\n\tsrc: local(Arial);\n\tascent-override: 75.79%;\n\tdescent-override: 22.29%;\n\tline-gap-override: 0.0%;\n\tsize-adjust: 134.59%;\n}\n\n@font-face {\n\tfont-family: \"Plus Jakarta Sans Fallback\";\n\tfont-stretch: 101%;\n\tsrc: local(Arial);\n\tascent-override: 98.88%;\n\tdescent-override: 21.15%;\n\tline-gap-override: 0.0%;\n\tsize-adjust: 104.98%;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: italic;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-italic-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: italic;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-italic-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: italic;\n\tfont-weight: 500;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-italic-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: italic;\n\tfont-weight: 500;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-italic-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: italic;\n\tfont-weight: 600;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-italic-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: italic;\n\tfont-weight: 600;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-italic-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: italic;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-italic-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: italic;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-italic-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: normal;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: normal;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: normal;\n\tfont-weight: 500;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: normal;\n\tfont-weight: 500;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: normal;\n\tfont-weight: 600;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: normal;\n\tfont-weight: 600;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: normal;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: normal;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: italic;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-italic-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: italic;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-italic-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: italic;\n\tfont-weight: 600;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-italic-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: italic;\n\tfont-weight: 600;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-italic-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: italic;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-italic-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: italic;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-italic-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: italic;\n\tfont-weight: 900;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-italic-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: italic;\n\tfont-weight: 900;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-italic-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: normal;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: normal;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: normal;\n\tfont-weight: 600;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: normal;\n\tfont-weight: 600;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: normal;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: normal;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: normal;\n\tfont-weight: 900;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: normal;\n\tfont-weight: 900;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"JetBrains Mono\";\n\tfont-style: normal;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-jetbrains-mono-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"JetBrains Mono\";\n\tfont-style: normal;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-jetbrains-mono-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"JetBrains Mono\";\n\tfont-style: normal;\n\tfont-weight: 500;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-jetbrains-mono-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"JetBrains Mono\";\n\tfont-style: normal;\n\tfont-weight: 500;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-jetbrains-mono-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"JetBrains Mono\";\n\tfont-style: normal;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-jetbrains-mono-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"JetBrains Mono\";\n\tfont-style: normal;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-jetbrains-mono-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"Plus Jakarta Sans\";\n\tfont-style: normal;\n\tfont-weight: 800;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-jakarta-800-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"Plus Jakarta Sans\";\n\tfont-style: normal;\n\tfont-weight: 800;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-jakarta-800-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* CERTREV-READER-GEN:END */\n";
|
|
2
2
|
//# sourceMappingURL=reader-css.generated.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reader-css.generated.d.ts","sourceRoot":"","sources":["../../src/reader/reader-css.generated.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"reader-css.generated.d.ts","sourceRoot":"","sources":["../../src/reader/reader-css.generated.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,UAAU,gniCAAgniC,CAAA"}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
// biome-ignore-all lint: generated file
|
|
3
3
|
// GENERATED by scripts/refresh-reader.mjs from src/reader/reader.css (the portal reader stylesheet, byte for
|
|
4
4
|
// byte). Do not edit: run the script. reader-css.test.ts asserts this string equals the .css file.
|
|
5
|
-
export const READER_CSS = "/* CERTREV-READER-GEN:BEGIN */\n/* GENERATED by scripts/build-cert-reader-css.mjs from src/lib/cert-render/reader/site-snapshot/ (certrev.com,\n * component Reader, \"What your reader sees\"). DO NOT EDIT: run `pnpm build:cert-reader-css`. The face is driven by\n * four variables the Liquid root sets inline: --cr-ba accent, --cr-ba-fg accent foreground, --cr-br corner, --cr-bf\n * font. */\n.certrev-reader {\n\tcolor: #141414;\n\tfont-family: var(--cr-bf);\n\tfont-size: 16px;\n\tline-height: 1.65;\n\t-webkit-font-smoothing: antialiased;\n\ttext-rendering: optimizelegibility;\n}\n.certrev-reader,\n.certrev-reader *,\n.certrev-reader *:before,\n.certrev-reader *:after {\n\tbox-sizing: border-box;\n}\n.certrev-reader .certrev-r-card {\n\tz-index: 1;\n\tborder: 1px solid #14141421;\n\tborder-radius: calc(var(--cr-br) * 0.7);\n\tbackground: #fff;\n\tflex-shrink: 0;\n\tmargin: 12px 0 0;\n\tposition: relative;\n\toverflow: hidden;\n}\n.certrev-reader .certrev-r-card.pad {\n\tpadding: 15px 18px;\n\toverflow: visible;\n}\n.certrev-reader .certrev-r-card.pad .certrev-r-bys {\n\tgap: 14px;\n}\n.certrev-reader .certrev-r-cap {\n\twhite-space: nowrap;\n\tbackground: var(--cr-ba);\n\tcolor: var(--cr-ba-fg);\n\tfont-family: \"JetBrains Mono\", ui-monospace, SFMono-Regular, Menlo, monospace;\n\tletter-spacing: 0.14em;\n\ttext-transform: uppercase;\n\talign-items: center;\n\tgap: 11px;\n\tpadding: 14px 20px;\n\tfont-size: 10.5px;\n\tfont-weight: 700;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-cap.center {\n\tletter-spacing: 0.16em;\n\tjustify-content: center;\n\tpadding: 12px;\n}\n.certrev-reader .certrev-r-cap img {\n\tflex-shrink: 0;\n\twidth: 18px;\n\theight: 18px;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-cap-body {\n\tpadding: 15px 18px 13px;\n}\n.certrev-reader .certrev-r-bys {\n\tgrid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);\n\tgap: 20px;\n\tdisplay: grid;\n}\n.certrev-reader .certrev-r-by {\n\talign-items: flex-start;\n\tgap: 12px;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-by > div {\n\tmin-width: 0;\n}\n.certrev-reader .certrev-r-by b {\n\tfont-size: 14.5px;\n\tfont-weight: 700;\n\tline-height: 1.3;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-by em {\n\tcolor: #14141495;\n\tmargin-top: 4px;\n\tfont-size: 12.5px;\n\tfont-style: normal;\n\tline-height: 1.45;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-role {\n\tfont-family: \"JetBrains Mono\", ui-monospace, SFMono-Regular, Menlo, monospace;\n\tletter-spacing: 0.14em;\n\ttext-transform: uppercase;\n\tcolor: #14141495;\n\tmargin-top: 9px;\n\tfont-size: 9px;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-role.on {\n\tcolor: #141414;\n\tfont-weight: 700;\n}\n.certrev-reader .certrev-r-face {\n\tbackground: #14141412;\n\twidth: 42px;\n\theight: 42px;\n\tcolor: #141414;\n\tborder-radius: 50%;\n\tflex-shrink: 0;\n\tdisplay: block;\n\toverflow: hidden;\n}\n.certrev-reader .certrev-r-face.sm {\n\twidth: 36px;\n\theight: 36px;\n}\n.certrev-reader .certrev-r-face.lg {\n\twidth: 46px;\n\theight: 46px;\n}\n.certrev-reader .certrev-r-face svg {\n\tfill: currentColor;\n\topacity: 0.38;\n\twidth: 100%;\n\theight: 100%;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-rule {\n\tbackground: #14141421;\n\theight: 1px;\n\tmargin: 15px 0 12px;\n}\n.certrev-reader .certrev-r-foot {\n\tjustify-content: space-between;\n\talign-items: center;\n\tgap: 16px;\n\tfont-size: 12.5px;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-foot span {\n\twhite-space: nowrap;\n}\n.certrev-reader .certrev-r-foot em {\n\tfont-style: normal;\n\tfont-family: \"JetBrains Mono\", ui-monospace, SFMono-Regular, Menlo, monospace;\n\tletter-spacing: 0.14em;\n\ttext-transform: uppercase;\n\tcolor: #14141495;\n\tmargin-right: 9px;\n\tfont-size: 9.5px;\n}\n.certrev-reader .certrev-r-foot span + span {\n\tcolor: #14141495;\n}\n.certrev-reader .certrev-r-kick {\n\tfont-family: \"JetBrains Mono\", ui-monospace, SFMono-Regular, Menlo, monospace;\n\tletter-spacing: 0.16em;\n\ttext-transform: uppercase;\n\tcolor: #14141495;\n\tmargin-bottom: 14px;\n\tfont-size: 9.5px;\n}\n.certrev-reader .certrev-r-memo {\n\tgap: 15px;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-memo > div {\n\tflex: 1;\n\tmin-width: 0;\n}\n.certrev-reader .certrev-r-memo-name {\n\tcolor: #14141495;\n\tmargin-bottom: 11px;\n\tfont-size: 15px;\n}\n.certrev-reader .certrev-r-memo-name b {\n\tcolor: #141414;\n\tfont-weight: 700;\n}\n.certrev-reader blockquote {\n\tborder-left: 3px solid var(--cr-ba);\n\tcolor: #141414b8;\n\ttext-wrap: pretty;\n\tmargin: 0;\n\tpadding-left: 16px;\n\tfont-size: 13.5px;\n\tfont-style: italic;\n\tline-height: 1.55;\n}\n.certrev-reader .certrev-r-links {\n\tgap: 22px;\n\tmargin-top: 14px;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-links a {\n\tcolor: #141414;\n\twhite-space: nowrap;\n\tfont-size: 13.5px;\n\tfont-weight: 700;\n\ttext-decoration: none;\n}\n.certrev-reader .certrev-r-links a:hover {\n\tcolor: var(--cr-ba);\n}\n.certrev-reader .certrev-r-vfoot {\n\talign-items: baseline;\n\tgap: 16px;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-vfoot .certrev-r-scope {\n\tflex: 1;\n\tmin-width: 0;\n\tmargin-top: 0;\n}\n.certrev-reader .certrev-r-verified {\n\tcolor: #141414b8;\n\tflex-shrink: 0;\n\talign-items: center;\n\tgap: 9px;\n\tfont-size: 12.5px;\n\tdisplay: inline-flex;\n}\n.certrev-reader .certrev-r-verified img {\n\tflex-shrink: 0;\n\twidth: 17px;\n\theight: 17px;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-verified b {\n\tfont-family: \"Plus Jakarta Sans\", -apple-system, system-ui, Helvetica, Arial, sans-serif;\n\tfont-weight: 800;\n}\n.certrev-reader .certrev-r-scope {\n\tcolor: #14141495;\n\ttext-wrap: pretty;\n\tmargin-top: 9px;\n\tfont-size: 12.5px;\n\tline-height: 1.5;\n}\n.certrev-reader .certrev-r-scope em {\n\tfont-style: normal;\n\tfont-family: \"JetBrains Mono\", ui-monospace, SFMono-Regular, Menlo, monospace;\n\tletter-spacing: 0.1em;\n\ttext-transform: uppercase;\n\tfont-size: 9.5px;\n}\n.certrev-reader .certrev-r-side {\n\tz-index: 1;\n\tfloat: right;\n\tborder: 1px solid #14141421;\n\tborder-radius: var(--cr-br);\n\twidth: 268px;\n\tbox-shadow: 0 4px 18px #14141412;\n\tbackground: #fff;\n\tmargin: 2px 0 18px 28px;\n\tposition: relative;\n\toverflow: hidden;\n}\n.certrev-reader .certrev-r-side-body {\n\tpadding: 18px;\n}\n.certrev-reader .certrev-r-side-body .certrev-r-by b {\n\tfont-size: 14px;\n}\n.certrev-reader .certrev-r-side-body p {\n\tcolor: #141414b8;\n\ttext-wrap: pretty;\n\tmargin: 15px 0 0;\n\tfont-size: 13px;\n\tline-height: 1.55;\n}\n.certrev-reader .certrev-r-side-body blockquote {\n\tmargin-top: 15px;\n\tpadding-left: 15px;\n\tfont-size: 13.5px;\n\tline-height: 1.55;\n}\n.certrev-reader .certrev-r-side-body .certrev-r-scope {\n\tmargin-top: 15px;\n\tfont-size: 11.5px;\n}\n.certrev-reader .certrev-r-side-links {\n\tborder-top: 1px solid #14141421;\n\tgrid-template-columns: 1fr 1fr;\n\tdisplay: grid;\n}\n.certrev-reader .certrev-r-side-links a {\n\ttext-align: center;\n\tcolor: #141414;\n\tpadding: 13px;\n\tfont-size: 13px;\n\tfont-weight: 700;\n\ttext-decoration: none;\n}\n.certrev-reader .certrev-r-side-links a:first-child {\n\tborder-right: 1px solid #14141421;\n}\n.certrev-reader .certrev-r-side-links a:hover {\n\tcolor: var(--cr-ba);\n}\n.certrev-reader .certrev-r-pill {\n\tz-index: 3;\n\tbackground: var(--cr-ba);\n\tcolor: var(--cr-ba-fg);\n\tborder-radius: 999px;\n\talign-items: center;\n\tgap: 13px;\n\tpadding: 12px 21px;\n\tdisplay: inline-flex;\n\tposition: absolute;\n\tbottom: 26px;\n\tright: 26px;\n\tbox-shadow: 0 10px 26px #14141429;\n}\n.certrev-reader .certrev-r-pill span {\n\twhite-space: nowrap;\n\tfont-family: \"JetBrains Mono\", ui-monospace, SFMono-Regular, Menlo, monospace;\n\tletter-spacing: 0.14em;\n\ttext-transform: uppercase;\n\tfont-size: 10.5px;\n\tfont-weight: 700;\n}\n.certrev-reader .certrev-r-pill a {\n\tcolor: inherit;\n\ttext-underline-offset: 3px;\n\tfont-size: 13.5px;\n\tfont-weight: 700;\n\ttext-decoration: underline;\n}\n.certrev-reader .certrev-r-pill i {\n\topacity: 0.42;\n\tfont-style: normal;\n}\n@media (max-width: 820px) {\n\t.certrev-reader .certrev-r-side {\n\t\tfloat: none;\n\t\twidth: auto;\n\t\tmargin: 20px 0;\n\t}\n\t.certrev-reader .certrev-r-bys {\n\t\tgrid-template-columns: 1fr;\n\t\tgap: 18px;\n\t}\n\t.certrev-reader .certrev-r-cap {\n\t\tletter-spacing: 0.1em;\n\t\tpadding: 12px 16px;\n\t\tfont-size: 9.5px;\n\t}\n\t.certrev-reader .certrev-r-cap-body,\n\t.certrev-reader .certrev-r-card.pad {\n\t\tpadding: 16px 18px;\n\t}\n\t.certrev-reader .certrev-r-pill {\n\t\tgap: 10px;\n\t\tpadding: 10px 16px;\n\t\tbottom: 20px;\n\t\tright: 20px;\n\t}\n}\n@media (max-width: 560px) {\n\t.certrev-reader .certrev-r-links {\n\t\tflex-direction: column;\n\t\tgap: 9px;\n\t}\n\t.certrev-reader .certrev-r-foot {\n\t\tflex-direction: column;\n\t\talign-items: flex-start;\n\t\tgap: 6px;\n\t}\n\t.certrev-reader .certrev-r-foot span {\n\t\twhite-space: normal;\n\t}\n\t.certrev-reader .certrev-r-vfoot {\n\t\tflex-direction: column;\n\t\talign-items: flex-start;\n\t\tgap: 10px;\n\t}\n\t.certrev-reader .certrev-r-vfoot .certrev-r-scope {\n\t\twidth: 100%;\n\t}\n\t.certrev-reader .certrev-r-cap {\n\t\twhite-space: normal;\n\t\tletter-spacing: 0.08em;\n\t\tpadding: 11px 14px;\n\t\tfont-size: 9px;\n\t}\n\t.certrev-reader .certrev-r-cap-body,\n\t.certrev-reader .certrev-r-card.pad {\n\t\tpadding: 14px 15px;\n\t}\n\t.certrev-reader .certrev-r-foot {\n\t\tflex-wrap: wrap;\n\t\tgap: 8px 14px;\n\t}\n\t.certrev-reader .certrev-r-links {\n\t\tflex-wrap: wrap;\n\t\tgap: 16px;\n\t}\n\t.certrev-reader .certrev-r-vfoot {\n\t\tflex-wrap: wrap;\n\t\tgap: 10px;\n\t}\n\t.certrev-reader .certrev-r-face.lg {\n\t\twidth: 38px;\n\t\theight: 38px;\n\t}\n\t.certrev-reader .certrev-r-side {\n\t\tmargin: 16px 0;\n\t}\n\t.certrev-reader .certrev-r-side-links a {\n\t\tpadding: 12px 8px;\n\t}\n\t.certrev-reader .certrev-r-pill {\n\t\ttext-align: center;\n\t\tflex-wrap: wrap;\n\t\tjustify-content: center;\n\t\tgap: 6px 12px;\n\t\tpadding: 11px 14px;\n\t\tbottom: 14px;\n\t\tleft: 14px;\n\t\tright: 14px;\n\t}\n\t.certrev-reader .certrev-r-pill span {\n\t\twhite-space: normal;\n\t}\n}\n/* Theme-bleed armor (hand-written, not from the snapshot; see build-cert-reader-css.mjs). */\n.certrev-reader img {\n\tmargin: 0 !important;\n\tmax-width: 100% !important;\n\tfloat: none !important;\n}\n.certrev-reader a {\n\tbackground-image: none !important;\n}\n.certrev-reader .certrev-r-links a,\n.certrev-reader .certrev-r-side-links a {\n\ttext-decoration: none !important;\n}\n.certrev-reader .certrev-r-links a:not(:hover),\n.certrev-reader .certrev-r-side-links a:not(:hover) {\n\tcolor: #141414 !important;\n}\n.certrev-reader .certrev-r-links a:hover,\n.certrev-reader .certrev-r-side-links a:hover {\n\tcolor: var(--cr-ba) !important;\n}\n.certrev-reader .certrev-r-pill a {\n\tcolor: inherit !important;\n\ttext-decoration: underline !important;\n}\n.certrev-reader .certrev-r-face img {\n\tdisplay: block;\n\twidth: 100%;\n\theight: 100%;\n\tobject-fit: cover;\n}\n.certrev-reader .certrev-r-bys.solo {\n\tgrid-template-columns: minmax(0, 1fr);\n}\n.certrev-reader .certrev-r-foot a {\n\tcolor: inherit !important;\n\ttext-decoration: underline !important;\n}\n.certrev-reader .certrev-r-pill {\n\tposition: fixed;\n\tmargin-bottom: env(safe-area-inset-bottom, 0px);\n}\n.certrev-memo-wrap[data-certrev-placement=\"rail\"] .certrev-reader .certrev-r-side {\n\tfloat: none;\n\twidth: auto;\n\tmargin: 0;\n}\n.certrev-memo-wrap[data-certrev-placement=\"body-fallback\"] .certrev-reader .certrev-r-side,\n.certrev-sidebar-wrap:not([data-certrev-placement]) .certrev-reader .certrev-r-side {\n\tfloat: none;\n\twidth: auto;\n\tmax-width: 360px;\n\tmargin: 0 auto;\n}\n.certrev-reader .certrev-r-side-links.single {\n\tgrid-template-columns: minmax(0, 1fr);\n}\n.certrev-reader .certrev-r-side-links.single a:first-child {\n\tborder-right: 0;\n}\n/* Reader-only font aliases (generated from the CERTREV-FONTS rules above: the same files and unicode ranges, only the family and\n * the weight range differ, so the reader paints weights the legacy card does not declare). */\n@font-face {\n\tfont-family: \"CertREV Reader Serif\";\n\tfont-style: normal;\n\tfont-weight: 400 700;\n\tfont-display: swap;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-playfair-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"CertREV Reader Serif\";\n\tfont-style: normal;\n\tfont-weight: 400 700;\n\tfont-display: swap;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-playfair-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"CertREV Reader Serif\";\n\tfont-style: italic;\n\tfont-weight: 400 700;\n\tfont-display: swap;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-playfair-italic-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"CertREV Reader Serif\";\n\tfont-style: italic;\n\tfont-weight: 400 700;\n\tfont-display: swap;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-playfair-italic-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"CertREV Reader Grotesk\";\n\tfont-style: normal;\n\tfont-weight: 400 800;\n\tfont-display: swap;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-jakarta-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"CertREV Reader Grotesk\";\n\tfont-style: normal;\n\tfont-weight: 400 800;\n\tfont-display: swap;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-jakarta-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* CERTREV-READER-GEN:END */\n";
|
|
5
|
+
export const READER_CSS = "/* CERTREV-READER-GEN:BEGIN */\n/* GENERATED by scripts/build-cert-reader-css.mjs from src/lib/cert-render/reader/site-snapshot/ (certrev.com,\n * component Reader, \"What your reader sees\"). DO NOT EDIT: run `pnpm build:cert-reader-css`. The face is driven by\n * four variables the Liquid root sets inline: --cr-ba accent, --cr-ba-fg accent foreground, --cr-br corner, --cr-bf\n * font. */\n.certrev-reader {\n\tcolor: #141414 !important;\n\tfont-family: var(--cr-bf) !important;\n\tfont-size: 16px !important;\n\tline-height: 1.65 !important;\n\t-webkit-font-smoothing: antialiased !important;\n\ttext-rendering: optimizelegibility !important;\n\tfont-style: normal !important;\n\tfont-weight: 400 !important;\n\tfont-stretch: 101% !important;\n\tfont-variant: normal !important;\n\tfont-feature-settings: normal !important;\n\tfont-variation-settings: normal !important;\n\tfont-kerning: auto !important;\n\tfont-optical-sizing: auto !important;\n\tfont-size-adjust: none !important;\n\tletter-spacing: normal !important;\n\tword-spacing: normal !important;\n\ttext-transform: none !important;\n\ttext-align: start !important;\n\ttext-indent: 0 !important;\n\ttext-shadow: none !important;\n\twhite-space: normal !important;\n\tword-break: normal !important;\n\toverflow-wrap: normal !important;\n\thyphens: manual !important;\n}\n.certrev-reader,\n.certrev-reader *,\n.certrev-reader *:before,\n.certrev-reader *:after {\n\tbox-sizing: border-box;\n}\n.certrev-reader :is(div, section, aside, p, blockquote, span, a, b, strong, em, i, time, small) {\n\tcolor: inherit !important;\n\tfont-family: inherit !important;\n\tfont-size: inherit !important;\n\tfont-style: inherit !important;\n\tfont-weight: inherit !important;\n\tfont-stretch: inherit !important;\n\tletter-spacing: inherit !important;\n\tline-height: inherit !important;\n\ttext-transform: inherit !important;\n\tword-spacing: inherit !important;\n\ttext-align: inherit !important;\n\ttext-indent: inherit !important;\n}\n.certrev-reader :is(b, strong) {\n\tfont-weight: bolder !important;\n}\n.certrev-reader :is(em, i) {\n\tfont-style: italic !important;\n}\n.certrev-reader p {\n\tfont-family:\n\t\t\"DM Sans\", \"DM Sans Fallback\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif !important;\n}\n.certrev-reader .certrev-r-card {\n\tz-index: 1;\n\tborder: 1px solid #14141421;\n\tborder-radius: calc(var(--cr-br) * 0.7);\n\tbackground: #fff;\n\tflex-shrink: 0;\n\tmargin: 12px 0 0;\n\tposition: relative;\n\toverflow: hidden;\n}\n.certrev-reader .certrev-r-card.pad {\n\tpadding: 15px 18px;\n\toverflow: visible;\n}\n.certrev-reader .certrev-r-card.pad .certrev-r-bys {\n\tgap: 14px;\n}\n.certrev-reader .certrev-r-cap {\n\twhite-space: nowrap;\n\tbackground: var(--cr-ba);\n\tcolor: var(--cr-ba-fg) !important;\n\tfont-family: \"JetBrains Mono\", \"JetBrains Mono Fallback\", ui-monospace, SFMono-Regular, Menlo, monospace !important;\n\tletter-spacing: 0.14em !important;\n\ttext-transform: uppercase !important;\n\talign-items: center;\n\tgap: 11px;\n\tpadding: 14px 20px;\n\tfont-size: 10.5px !important;\n\tfont-weight: 700 !important;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-cap.center {\n\tletter-spacing: 0.16em !important;\n\tjustify-content: center;\n\tpadding: 12px;\n}\n.certrev-reader .certrev-r-cap img {\n\tflex-shrink: 0;\n\twidth: 18px;\n\theight: 18px;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-cap-body {\n\tpadding: 15px 18px 13px;\n}\n.certrev-reader .certrev-r-bys {\n\tgrid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);\n\tgap: 20px;\n\tdisplay: grid;\n}\n.certrev-reader .certrev-r-by {\n\talign-items: flex-start;\n\tgap: 12px;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-by > div {\n\tmin-width: 0;\n}\n.certrev-reader .certrev-r-by b {\n\tfont-size: 14.5px !important;\n\tfont-weight: 700 !important;\n\tline-height: 1.3 !important;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-by em {\n\tcolor: #14141495 !important;\n\tmargin-top: 4px;\n\tfont-size: 12.5px !important;\n\tfont-style: normal !important;\n\tline-height: 1.45 !important;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-role {\n\tfont-family: \"JetBrains Mono\", \"JetBrains Mono Fallback\", ui-monospace, SFMono-Regular, Menlo, monospace !important;\n\tletter-spacing: 0.14em !important;\n\ttext-transform: uppercase !important;\n\tcolor: #14141495 !important;\n\tmargin-top: 9px;\n\tfont-size: 9px !important;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-role.on {\n\tcolor: #141414 !important;\n\tfont-weight: 700 !important;\n}\n.certrev-reader .certrev-r-face {\n\tbackground: #14141412;\n\twidth: 42px;\n\theight: 42px;\n\tcolor: #141414 !important;\n\tborder-radius: 50%;\n\tflex-shrink: 0;\n\tdisplay: block;\n\toverflow: hidden;\n}\n.certrev-reader .certrev-r-face.sm {\n\twidth: 36px;\n\theight: 36px;\n}\n.certrev-reader .certrev-r-face.lg {\n\twidth: 46px;\n\theight: 46px;\n}\n.certrev-reader .certrev-r-face svg {\n\tfill: currentColor;\n\topacity: 0.38;\n\twidth: 100%;\n\theight: 100%;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-rule {\n\tbackground: #14141421;\n\theight: 1px;\n\tmargin: 15px 0 12px;\n}\n.certrev-reader .certrev-r-foot {\n\tjustify-content: space-between;\n\talign-items: center;\n\tgap: 16px;\n\tfont-size: 12.5px !important;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-foot span {\n\twhite-space: nowrap;\n}\n.certrev-reader .certrev-r-foot em {\n\tfont-style: normal !important;\n\tfont-family: \"JetBrains Mono\", \"JetBrains Mono Fallback\", ui-monospace, SFMono-Regular, Menlo, monospace !important;\n\tletter-spacing: 0.14em !important;\n\ttext-transform: uppercase !important;\n\tcolor: #14141495 !important;\n\tmargin-right: 9px;\n\tfont-size: 9.5px !important;\n}\n.certrev-reader .certrev-r-foot span + span {\n\tcolor: #14141495 !important;\n}\n.certrev-reader .certrev-r-kick {\n\tfont-family: \"JetBrains Mono\", \"JetBrains Mono Fallback\", ui-monospace, SFMono-Regular, Menlo, monospace !important;\n\tletter-spacing: 0.16em !important;\n\ttext-transform: uppercase !important;\n\tcolor: #14141495 !important;\n\tmargin-bottom: 14px;\n\tfont-size: 9.5px !important;\n}\n.certrev-reader .certrev-r-memo {\n\tgap: 15px;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-memo > div {\n\tflex: 1;\n\tmin-width: 0;\n}\n.certrev-reader .certrev-r-memo-name {\n\tcolor: #14141495 !important;\n\tmargin-bottom: 11px;\n\tfont-size: 15px !important;\n}\n.certrev-reader .certrev-r-memo-name b {\n\tcolor: #141414 !important;\n\tfont-weight: 700 !important;\n}\n.certrev-reader blockquote {\n\tborder-left: 3px solid var(--cr-ba);\n\tcolor: #141414b8 !important;\n\ttext-wrap: pretty;\n\tmargin: 0;\n\tpadding-left: 16px;\n\tfont-size: 13.5px !important;\n\tfont-style: italic !important;\n\tline-height: 1.55 !important;\n}\n.certrev-reader .certrev-r-links {\n\tgap: 22px;\n\tmargin-top: 14px;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-links a {\n\tcolor: #141414 !important;\n\twhite-space: nowrap;\n\tfont-size: 13.5px !important;\n\tfont-weight: 700 !important;\n\ttext-decoration: none;\n}\n.certrev-reader .certrev-r-links a:hover {\n\tcolor: var(--cr-ba) !important;\n}\n.certrev-reader .certrev-r-vfoot {\n\talign-items: baseline;\n\tgap: 16px;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-vfoot .certrev-r-scope {\n\tflex: 1;\n\tmin-width: 0;\n\tmargin-top: 0;\n}\n.certrev-reader .certrev-r-verified {\n\tcolor: #141414b8 !important;\n\tflex-shrink: 0;\n\talign-items: center;\n\tgap: 9px;\n\tfont-size: 12.5px !important;\n\tdisplay: inline-flex;\n}\n.certrev-reader .certrev-r-verified img {\n\tflex-shrink: 0;\n\twidth: 17px;\n\theight: 17px;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-verified b {\n\tfont-family:\n\t\t\"Plus Jakarta Sans\", \"Plus Jakarta Sans Fallback\", -apple-system, system-ui, Helvetica, Arial, sans-serif !important;\n\tfont-weight: 800 !important;\n}\n.certrev-reader .certrev-r-scope {\n\tcolor: #14141495 !important;\n\ttext-wrap: pretty;\n\tmargin-top: 9px;\n\tfont-size: 12.5px !important;\n\tline-height: 1.5 !important;\n}\n.certrev-reader .certrev-r-scope em {\n\tfont-style: normal !important;\n\tfont-family: \"JetBrains Mono\", \"JetBrains Mono Fallback\", ui-monospace, SFMono-Regular, Menlo, monospace !important;\n\tletter-spacing: 0.1em !important;\n\ttext-transform: uppercase !important;\n\tfont-size: 9.5px !important;\n}\n.certrev-reader .certrev-r-side {\n\tz-index: 1;\n\tfloat: right;\n\tborder: 1px solid #14141421;\n\tborder-radius: var(--cr-br);\n\twidth: 268px;\n\tbox-shadow: 0 4px 18px #14141412;\n\tbackground: #fff;\n\tmargin: 2px 0 18px 28px;\n\tposition: relative;\n\toverflow: hidden;\n}\n.certrev-reader .certrev-r-side-body {\n\tpadding: 18px;\n}\n.certrev-reader .certrev-r-side-body .certrev-r-by b {\n\tfont-size: 14px !important;\n}\n.certrev-reader .certrev-r-side-body p {\n\tcolor: #141414b8 !important;\n\ttext-wrap: pretty;\n\tmargin: 15px 0 0;\n\tfont-size: 13px !important;\n\tline-height: 1.55 !important;\n}\n.certrev-reader .certrev-r-side-body blockquote {\n\tmargin-top: 15px;\n\tpadding-left: 15px;\n\tfont-size: 13.5px !important;\n\tline-height: 1.55 !important;\n}\n.certrev-reader .certrev-r-side-body .certrev-r-scope {\n\tmargin-top: 15px;\n\tfont-size: 11.5px !important;\n}\n.certrev-reader .certrev-r-side-links {\n\tborder-top: 1px solid #14141421;\n\tgrid-template-columns: 1fr 1fr;\n\tdisplay: grid;\n}\n.certrev-reader .certrev-r-side-links a {\n\ttext-align: center !important;\n\tcolor: #141414 !important;\n\tpadding: 13px;\n\tfont-size: 13px !important;\n\tfont-weight: 700 !important;\n\ttext-decoration: none;\n}\n.certrev-reader .certrev-r-side-links a:first-child {\n\tborder-right: 1px solid #14141421;\n}\n.certrev-reader .certrev-r-side-links a:hover {\n\tcolor: var(--cr-ba) !important;\n}\n.certrev-reader .certrev-r-pill {\n\tz-index: 3;\n\tbackground: var(--cr-ba);\n\tcolor: var(--cr-ba-fg) !important;\n\tborder-radius: 999px;\n\talign-items: center;\n\tgap: 13px;\n\tpadding: 12px 21px;\n\tdisplay: inline-flex;\n\tposition: absolute;\n\tbottom: 26px;\n\tright: 26px;\n\tbox-shadow: 0 10px 26px #14141429;\n}\n.certrev-reader .certrev-r-pill span {\n\twhite-space: nowrap;\n\tfont-family: \"JetBrains Mono\", \"JetBrains Mono Fallback\", ui-monospace, SFMono-Regular, Menlo, monospace !important;\n\tletter-spacing: 0.14em !important;\n\ttext-transform: uppercase !important;\n\tfont-size: 10.5px !important;\n\tfont-weight: 700 !important;\n}\n.certrev-reader .certrev-r-pill a {\n\tcolor: inherit !important;\n\ttext-underline-offset: 3px;\n\tfont-size: 13.5px !important;\n\tfont-weight: 700 !important;\n\ttext-decoration: underline;\n}\n.certrev-reader .certrev-r-pill i {\n\topacity: 0.42;\n\tfont-style: normal !important;\n}\n@media (max-width: 820px) {\n\t.certrev-reader .certrev-r-side {\n\t\tfloat: none;\n\t\twidth: auto;\n\t\tmargin: 20px 0;\n\t}\n\t.certrev-reader .certrev-r-bys {\n\t\tgrid-template-columns: 1fr;\n\t\tgap: 18px;\n\t}\n\t.certrev-reader .certrev-r-cap {\n\t\tletter-spacing: 0.1em !important;\n\t\tpadding: 12px 16px;\n\t\tfont-size: 9.5px !important;\n\t}\n\t.certrev-reader .certrev-r-cap-body,\n\t.certrev-reader .certrev-r-card.pad {\n\t\tpadding: 16px 18px;\n\t}\n\t.certrev-reader .certrev-r-pill {\n\t\tgap: 10px;\n\t\tpadding: 10px 16px;\n\t\tbottom: 20px;\n\t\tright: 20px;\n\t}\n}\n@media (max-width: 560px) {\n\t.certrev-reader .certrev-r-links {\n\t\tflex-direction: column;\n\t\tgap: 9px;\n\t}\n\t.certrev-reader .certrev-r-foot {\n\t\tflex-direction: column;\n\t\talign-items: flex-start;\n\t\tgap: 6px;\n\t}\n\t.certrev-reader .certrev-r-foot span {\n\t\twhite-space: normal;\n\t}\n\t.certrev-reader .certrev-r-vfoot {\n\t\tflex-direction: column;\n\t\talign-items: flex-start;\n\t\tgap: 10px;\n\t}\n\t.certrev-reader .certrev-r-vfoot .certrev-r-scope {\n\t\twidth: 100%;\n\t}\n\t.certrev-reader .certrev-r-cap {\n\t\twhite-space: normal;\n\t\tletter-spacing: 0.08em !important;\n\t\tpadding: 11px 14px;\n\t\tfont-size: 9px !important;\n\t}\n\t.certrev-reader .certrev-r-cap-body,\n\t.certrev-reader .certrev-r-card.pad {\n\t\tpadding: 14px 15px;\n\t}\n\t.certrev-reader .certrev-r-foot {\n\t\tflex-wrap: wrap;\n\t\tgap: 8px 14px;\n\t}\n\t.certrev-reader .certrev-r-links {\n\t\tflex-wrap: wrap;\n\t\tgap: 16px;\n\t}\n\t.certrev-reader .certrev-r-vfoot {\n\t\tflex-wrap: wrap;\n\t\tgap: 10px;\n\t}\n\t.certrev-reader .certrev-r-face.lg {\n\t\twidth: 38px;\n\t\theight: 38px;\n\t}\n\t.certrev-reader .certrev-r-side {\n\t\tmargin: 16px 0;\n\t}\n\t.certrev-reader .certrev-r-side-links a {\n\t\tpadding: 12px 8px;\n\t}\n\t.certrev-reader .certrev-r-pill {\n\t\ttext-align: center !important;\n\t\tflex-wrap: wrap;\n\t\tjustify-content: center;\n\t\tgap: 6px 12px;\n\t\tpadding: 11px 14px;\n\t\tbottom: 14px;\n\t\tleft: 14px;\n\t\tright: 14px;\n\t}\n\t.certrev-reader .certrev-r-pill span {\n\t\twhite-space: normal;\n\t}\n}\n/* Theme-bleed armor (hand-written, not from the snapshot; see build-cert-reader-css.mjs). */\n.certrev-reader img {\n\tmargin: 0 !important;\n\tmax-width: 100% !important;\n\tfloat: none !important;\n\tborder-radius: 0 !important;\n}\n.certrev-reader a {\n\tbackground-image: none !important;\n}\n.certrev-reader .certrev-r-links a,\n.certrev-reader .certrev-r-side-links a {\n\ttext-decoration: none !important;\n}\n.certrev-reader .certrev-r-links a:not(:hover),\n.certrev-reader .certrev-r-side-links a:not(:hover) {\n\tcolor: #141414 !important;\n}\n.certrev-reader .certrev-r-links a:hover,\n.certrev-reader .certrev-r-side-links a:hover {\n\tcolor: var(--cr-ba) !important;\n}\n.certrev-reader .certrev-r-pill a {\n\tcolor: inherit !important;\n\ttext-decoration: underline !important;\n}\n.certrev-reader .certrev-r-face img {\n\tdisplay: block;\n\twidth: 100%;\n\theight: 100%;\n\tobject-fit: cover;\n}\n.certrev-reader .certrev-r-bys.solo {\n\tgrid-template-columns: minmax(0, 1fr);\n}\n.certrev-reader .certrev-r-foot a {\n\tcolor: inherit !important;\n\ttext-decoration: underline !important;\n}\n.certrev-reader .certrev-r-pill {\n\tposition: fixed;\n\tmargin-bottom: env(safe-area-inset-bottom, 0px);\n}\n.certrev-memo-wrap[data-certrev-placement=\"rail\"] .certrev-reader .certrev-r-side {\n\tfloat: none;\n\twidth: auto;\n\tmargin: 0;\n}\n.certrev-memo-wrap[data-certrev-placement=\"body-fallback\"] .certrev-reader .certrev-r-side,\n.certrev-sidebar-wrap:not([data-certrev-placement]) .certrev-reader .certrev-r-side {\n\tfloat: none;\n\tmargin-right: auto;\n\tmargin-left: auto;\n}\n.certrev-reader .certrev-r-side-links.single {\n\tgrid-template-columns: minmax(0, 1fr);\n}\n.certrev-reader .certrev-r-side-links.single a:first-child {\n\tborder-right: 0;\n}\n:is(.certrev-card-wrap, .certrev-memo-wrap):has(.certrev-reader) {\n\tmargin-block: 0 !important;\n\tpadding: 0 !important;\n}\n/* Reader fonts (generated from site-snapshot/site-fonts.css.txt: certrev.com's own faces and metric-matched\n * fallbacks, the same declarations but for the file, the committed copy on assets.certrev.com, and the stretch, which\n * keeps them to reader text; see build-cert-reader-css.mjs). */\n@font-face {\n\tfont-family: \"DM Sans Fallback\";\n\tfont-stretch: 101%;\n\tsrc: local(Arial);\n\tascent-override: 94.9%;\n\tdescent-override: 29.66%;\n\tline-gap-override: 0.0%;\n\tsize-adjust: 104.53%;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display Fallback\";\n\tfont-stretch: 101%;\n\tsrc: local(Times New Roman);\n\tascent-override: 97.25%;\n\tdescent-override: 22.56%;\n\tline-gap-override: 0.0%;\n\tsize-adjust: 111.26%;\n}\n\n@font-face {\n\tfont-family: \"JetBrains Mono Fallback\";\n\tfont-stretch: 101%;\n\tsrc: local(Arial);\n\tascent-override: 75.79%;\n\tdescent-override: 22.29%;\n\tline-gap-override: 0.0%;\n\tsize-adjust: 134.59%;\n}\n\n@font-face {\n\tfont-family: \"Plus Jakarta Sans Fallback\";\n\tfont-stretch: 101%;\n\tsrc: local(Arial);\n\tascent-override: 98.88%;\n\tdescent-override: 21.15%;\n\tline-gap-override: 0.0%;\n\tsize-adjust: 104.98%;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: italic;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-italic-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: italic;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-italic-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: italic;\n\tfont-weight: 500;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-italic-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: italic;\n\tfont-weight: 500;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-italic-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: italic;\n\tfont-weight: 600;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-italic-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: italic;\n\tfont-weight: 600;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-italic-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: italic;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-italic-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: italic;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-italic-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: normal;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: normal;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: normal;\n\tfont-weight: 500;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: normal;\n\tfont-weight: 500;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: normal;\n\tfont-weight: 600;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: normal;\n\tfont-weight: 600;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: normal;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: normal;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: italic;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-italic-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: italic;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-italic-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: italic;\n\tfont-weight: 600;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-italic-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: italic;\n\tfont-weight: 600;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-italic-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: italic;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-italic-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: italic;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-italic-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: italic;\n\tfont-weight: 900;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-italic-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: italic;\n\tfont-weight: 900;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-italic-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: normal;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: normal;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: normal;\n\tfont-weight: 600;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: normal;\n\tfont-weight: 600;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: normal;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: normal;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: normal;\n\tfont-weight: 900;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: normal;\n\tfont-weight: 900;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"JetBrains Mono\";\n\tfont-style: normal;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-jetbrains-mono-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"JetBrains Mono\";\n\tfont-style: normal;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-jetbrains-mono-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"JetBrains Mono\";\n\tfont-style: normal;\n\tfont-weight: 500;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-jetbrains-mono-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"JetBrains Mono\";\n\tfont-style: normal;\n\tfont-weight: 500;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-jetbrains-mono-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"JetBrains Mono\";\n\tfont-style: normal;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-jetbrains-mono-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"JetBrains Mono\";\n\tfont-style: normal;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-jetbrains-mono-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"Plus Jakarta Sans\";\n\tfont-style: normal;\n\tfont-weight: 800;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-jakarta-800-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"Plus Jakarta Sans\";\n\tfont-style: normal;\n\tfont-weight: 800;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-jakarta-800-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* CERTREV-READER-GEN:END */\n";
|
|
6
6
|
//# sourceMappingURL=reader-css.generated.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reader-css.generated.js","sourceRoot":"","sources":["../../src/reader/reader-css.generated.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,wCAAwC;AACxC,6GAA6G;AAC7G,mGAAmG;AACnG,MAAM,CAAC,MAAM,UAAU,GAAG,
|
|
1
|
+
{"version":3,"file":"reader-css.generated.js","sourceRoot":"","sources":["../../src/reader/reader-css.generated.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,wCAAwC;AACxC,6GAA6G;AAC7G,mGAAmG;AACnG,MAAM,CAAC,MAAM,UAAU,GAAG,6miCAA6miC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/reader/render.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/reader/render.ts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAmBxD,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAA;AAE5D,wHAAwH;AACxH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAA;AAEnD,MAAM,WAAW,eAAe;IAC/B,iDAAiD;IACjD,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;IAC7B,sGAAsG;IACtG,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,+FAA+F;IAC/F,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,2GAA2G;IAC3G,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,8FAA8F;IAC9F,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAC/B;AA+PD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAQ/D"}
|