/* @theme prime-q */ /* PRIME Q — Marp theme. Markdown in, slides out, same look as the PowerPoint template: white ground, navy type, a hairline rule with a short red lead-in, and the red kept for one thing at a time. Use it with: marp --theme prime-q.css deck.md --pdf The typeface is pulled from primeq.pl, which self-hosts it; if the machine is offline, Inter installed locally is used instead, and Arial after that. */ @import "default"; @font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap; src: local("Inter"), url("https://primeq.pl/assets/fonts/inter-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20AC, U+2122, U+2212; } @font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap; src: local("Inter"), url("https://primeq.pl/assets/fonts/inter-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+1E00-1E9F, U+2020, U+20A0-20AB, U+2C60-2C7F; } :root { --navy: #041e42; --navy-deep: #02142d; --red: #e11d2e; --slate: #6b7280; --line: #e5e7eb; --ink: #1f2937; --font: "Inter", Arial, sans-serif; } section { width: 1280px; height: 720px; padding: 58px 62px 64px; background: #fff; color: var(--ink); font-family: var(--font); font-size: 23px; line-height: 1.5; letter-spacing: -0.004em; } h1, h2, h3 { margin: 0; color: var(--navy); font-weight: 700; letter-spacing: -0.016em; line-height: 1.12; } /* The slide title, with the rule that opens every content slide under it. */ h2 { font-size: 40px; padding-bottom: 20px; border-bottom: 1px solid var(--line); margin-bottom: 30px; position: relative; } h2::after { content: ""; position: absolute; left: 0; bottom: -2px; width: 96px; height: 3px; background: var(--red); } h1 { font-size: 56px; font-weight: 800; } h3 { font-size: 26px; margin-bottom: 8px; } p { margin: 0 0 18px; } strong { color: var(--navy); font-weight: 700; } em { font-style: normal; color: var(--slate); } a { color: var(--red); text-decoration: none; border-bottom: 1px solid rgba(225, 29, 46, .35); } /* The bullet is the slash off the Q. */ ul { margin: 0; padding: 0; list-style: none; } ul > li { position: relative; padding-left: 30px; margin-bottom: 14px; } ul > li::before { content: "/"; position: absolute; left: 0; color: var(--red); font-weight: 700; } ul ul { margin-top: 10px; } ul ul > li { font-size: 20px; color: var(--slate); } ul ul > li::before { content: "\2013"; color: var(--slate); font-weight: 400; } ol { padding-left: 26px; } ol > li { margin-bottom: 14px; } ol > li::marker { color: var(--red); font-weight: 700; } blockquote { margin: 0; padding: 4px 0 4px 26px; border-left: 3px solid var(--red); color: var(--navy); font-size: 30px; font-weight: 600; line-height: 1.3; } table { width: 100%; border-collapse: collapse; font-size: 20px; } th { background: var(--navy); color: #fff; font-weight: 700; text-align: left; } th, td { padding: 11px 14px; border-bottom: 1px solid var(--line); } tbody tr:nth-child(even) { background: #f7f8fa; } code, pre { font-family: "JetBrains Mono", Consolas, monospace; font-size: 19px; } pre { background: #f7f8fa; border-left: 3px solid var(--line); padding: 16px 20px; } /* Footer furniture: a hairline, the deck name on the left, the number right. */ section::before { content: ""; position: absolute; left: 62px; right: 62px; bottom: 52px; height: 1px; background: var(--line); } footer { bottom: 24px; left: 62px; color: var(--slate); font-size: 14px; } section::after { right: 62px; bottom: 24px; color: var(--slate); font-size: 14px; font-weight: 400; } /* ---- the title slide: ---- */ section.title, section.section, section.closing { color: #fff; justify-content: flex-start; } section.title { background: #fff; color: var(--ink); } section.title h1 { margin-top: 150px; color: var(--navy); } section.title p { margin-top: 18px; font-size: 26px; color: var(--slate); } section.title strong { display: block; margin-top: 90px; font-size: 20px; } section.title::before { display: none; } /* ---- a section divider: ---- */ section.section, section.closing { background: var(--navy-deep); display: flex; flex-direction: column; justify-content: center; } section.section h1, section.closing h1 { color: #fff; font-size: 46px; } section.section h2, section.closing h2 { color: var(--red); font-size: 20px; border: 0; padding: 0; margin: 0 0 18px; letter-spacing: 0.08em; } section.section h2::after, section.closing h2::after { display: none; } section.section p, section.closing p { color: #c7d0dc; } section.section::before, section.closing::before { display: none; } section.section footer, section.closing footer { color: #6f7f96; } /* ---- one line, nothing else: ---- */ section.statement { display: flex; flex-direction: column; justify-content: center; text-align: center; } section.statement h1 { font-size: 44px; line-height: 1.26; max-width: 900px; margin: 0 auto; } section.statement p { margin-top: 26px; color: var(--slate); font-size: 22px; } /* ---- the legal notice, which every outgoing deck keeps ---- */ section.legal { font-size: 16px; color: var(--slate); line-height: 1.65; } section.legal h2 { font-size: 28px; } section.legal ul > li { margin-bottom: 10px; } section.legal ul > li::before { content: ""; }