Files
questions/custom.css
T
blandClaude Opus 5 d475861f2a
claude-issue-bot.yml (push) Invalid workflow file
lint-and-reload / lint (push) Successful in 2s
Kortene får mindre luft på mobil
Portal strammer inn padding på et kort under 40rem, men regelen her står
uten media query og dette arket lastes etter portalens - så kortene
beholdt skrivebordsluften på telefon. 1,8rem på hver side av en
360px-skjerm er en tiendedel av bredden gitt bort til ingenting.

Samme bruddpunkt som portal bruker, så de følger hverandre.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-10-14 23:48:57 +02:00

272 lines
5.8 KiB
CSS

/* Klingenberg Bygg - the skin over portal's own stylesheet
(site.yaml `stylesheet`, loaded after main.css, so these rules win).
One idea: a builder's drawing. Warm paper, near-black ink, the
logo's brick red as the only colour, heavy Futura for what is
asked and Garamond for what is said. Everything sits on one left
edge, from the wordmark down. Both colour schemes are drawn; the
page follows the reader's. */
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400&display=swap');
@font-face {
font-family: "FuturaNow";
font-weight: 800;
font-display: swap;
src: url("/site/fonts/futura-heavy.ttf") format("truetype");
}
@font-face {
font-family: "FuturaNow";
font-weight: 500;
font-display: swap;
src: url("/site/fonts/futura-medium.ttf") format("truetype");
}
/* ---- colour: light, then dark ---------------------------------- */
:root {
--brick: #8a1e12;
--accent: #8a1e12;
--accent-soft: rgba(138, 30, 18, 0.12);
--paper: #f6f5f3;
--ink: #201a18;
--ink-dim: #635953;
--line: #d8d0c9;
--card-bg: #ffffff;
--card-bg-opaque: #ffffff;
--card-shadow: rgba(60, 30, 20, 0.10);
--field: #fbfaf8;
--hero-glow: rgba(246, 245, 243, 0.85);
--error: #a8261a;
--heading: "FuturaNow", "Futura", "Century Gothic", sans-serif;
--sans: "EB Garamond", Georgia, "Times New Roman", serif;
--radius: 0.5rem;
--measure: 46rem;
color-scheme: light;
}
@media (prefers-color-scheme: dark) {
:root {
/* Brick does not carry as text on a dark ground; terracotta does.
The brick itself stays for what is filled: buttons, the rule. */
--accent: #e2a08f;
--accent-soft: rgba(226, 160, 143, 0.16);
--paper: #171412;
--ink: #f1ece6;
--ink-dim: #b9aea4;
--line: #3a322c;
--card-bg: #211c19;
--card-bg-opaque: #211c19;
--card-shadow: rgba(0, 0, 0, 0.45);
--field: #171412;
--hero-glow: rgba(23, 20, 18, 0.85);
--error: #ff8f80;
color-scheme: dark;
}
}
/* ---- type ------------------------------------------------------- */
body {
font-family: var(--sans);
font-size: 1.08rem;
line-height: 1.5;
}
h1, h2, h3 {
font-family: var(--heading);
font-weight: 800;
letter-spacing: -0.012em;
line-height: 1.1;
}
/* ---- the top: wordmark bar, pictures, question ------------------ */
.hero,
.hero-slides {
align-items: stretch;
text-align: left;
}
/* The bar and the copy share the page's one left edge. */
.hero-bar,
.hero-slides .hero-copy,
.hero:not(.hero-slides) {
width: 100%;
max-width: var(--measure);
margin-inline: auto;
box-sizing: border-box;
}
.hero-bar {
padding: 1rem 1.5rem;
}
.wordmark {
opacity: 1;
}
/* Who is here sits on the wordmark's line, at the page's right edge. */
.session {
font-family: var(--heading);
font-weight: 500;
font-size: 0.85rem;
}
.hero-top {
justify-content: space-between;
}
.hero-top .session {
position: static;
transform: none;
}
.slideshow {
--swiper-navigation-size: 1.6rem;
background: var(--line);
}
.slide figcaption {
font-size: 1rem;
font-style: italic;
padding: 2.6rem 1.1rem 0.9rem;
}
.hero-copy {
display: flex;
flex-direction: column;
align-items: flex-start;
text-align: left;
gap: 0.5rem;
}
/* What we do, then what we ask: the tagline leads the question. */
.hero-copy p {
order: 1;
margin: 0;
max-width: 34rem;
font-size: 1.15rem;
color: var(--ink-dim);
}
.hero-copy p strong {
color: var(--ink);
font-weight: 600;
}
.hero-copy h1 {
order: 2;
margin: 0.15rem 0 0;
font-size: clamp(2rem, 1.2rem + 3.2vw, 3rem);
}
/* ---- the cards -------------------------------------------------- */
.alternatives {
max-width: var(--measure);
gap: 1.5rem;
}
/* A sheet on the drawing board: flat, ruled in brick along its top. */
.alt-card {
background: var(--card-bg);
border: 0.06rem solid var(--line);
border-top: 0.3rem solid var(--brick);
border-radius: var(--radius);
box-shadow: 0 0.5rem 1.4rem var(--card-shadow);
padding: 1.7rem 1.8rem 1.8rem;
backdrop-filter: none;
}
/* Portal narrows a card's padding on a small screen; the rule above is
unconditional and this sheet loads after portal's, so without this the
desktop padding survived onto a phone - 1.8rem of margin either side of
a 360px screen, a tenth of the width given to nothing. Same breakpoint
portal uses, so the two stay in step. */
@media (width <= 40rem) {
.alt-card {
padding: 1.4rem 1.35rem 1.45rem;
}
}
.alt-card h2 {
font-size: 1.45rem;
margin: 0 0 0.35rem;
}
.alt-description {
font-size: 1.08rem;
}
.feature h3,
.feature-name {
font-family: var(--heading);
font-weight: 500;
}
.feature p a,
.alt-description a,
.hero-copy p a {
border-bottom-color: var(--accent);
}
.alt-encouragement {
color: var(--ink-dim);
}
/* ---- forms ------------------------------------------------------ */
.field-label {
font-family: var(--heading);
font-weight: 500;
font-size: 0.8em;
letter-spacing: 0.01em;
color: var(--ink);
}
input,
textarea,
.select-option {
background: var(--field);
border-color: var(--line);
border-radius: 0.35em;
}
.select-option {
border-radius: 999rem;
}
.select-option.selected {
background: var(--brick);
border-color: var(--brick);
color: #fdf3ef;
}
/* The button is always brick with cream on it, in either scheme. */
.alt-submit {
font-family: var(--heading);
font-weight: 800;
letter-spacing: 0.01em;
background: var(--brick);
color: #fdf3ef;
border-radius: 0.35em;
}
/* ---- the foot --------------------------------------------------- */
.question-nav,
.down-the-tree-foot,
.question-responsible {
font-family: var(--heading);
font-weight: 500;
}
/* Partner logos, when a text carries them as markdown images, sit
quiet and small rather than full width. */
.feature p img {
max-width: 9rem;
width: auto;
border: none;
}