Dette er en CSS-kodeblok, der definerer skriftfamilien "Guardian Headline Full" til brug på et website. Den indeholder flere font-face-regler, som hver angiver en forskellig vægt (light, regular, medium, semibold) og stil (normal eller kursiv) af skrifttypen. Skrifttypefilerne er hostet på Guardians asset-server, og koden giver fallback-formater (WOFF2, WOFF og TTF) for at sikre kompatibilitet på tværs af forskellige browsere. Skriftvægtene spænder fra 300 (light) til 600 (semibold), med tilsvarende kursiv-versioner for hver vægt.
Denne tekst ser ud til at være CSS-kode, ikke naturligt sprog. Den definerer skrifttypestile og layoutregler for en webside. Da det er teknisk kode, er det ikke relevant at omskrive den til "flydende, naturligt engelsk" – den er allerede i et præcist, standardiseret format. Jeg kan dog give et resumé på almindeligt engelsk af, hvad den gør:
Koden opsætter brugerdefinerede skrifttyper til et website, herunder forskellige vægte og stilarter af "Guardian Headline"- og "Guardian Titlepiece"-skrifttyperne, og indlæser dem fra specifikke filformater. Den definerer også responsive layoutregler for en indholdskolonne, der justerer margener og bredder baseret på skærmstørrelse. For eksempel tilføjer den venstre margener på bredere skærme, og for visse elementer som immersive- eller showcase-indhold justerer den deres bredde og placering, så de passer til viewporten. Reglerne sikrer, at tekst og indlejrede elementer holder sig inden for en læsbar bredde (omkring 620 pixels) på de fleste enheder, mens større elementer kan udvides på større skærme..content__main-column--interactive:before {
border-left: 1px solid #dcdcdc;
z-index: -1;
left: -10px;
}
@media (min-width: 81.25em) {
.content__main-column--interactive:before {
border-left: 1px solid #dcdcdc;
left: -11px;
}
}
.content__main-column--interactive .element-atom {
margin-top: 0;
margin-bottom: 0;
padding-bottom: 12px;
padding-top: 12px;
}
.content__main-column--interactive p + .element-atom {
padding-top: 0;
padding-bottom: 0;
margin-top: 12px;
margin-bottom: 12px;
}
.content__main-column--interactive .element-inline {
max-width: 620px;
}
@media (min-width: 61.25em) {
figure[data-spacefinder-role=inline].element {
max-width: 620px;
}
}
[data-gu-name=media]:has(figure.loop) figure.loop figcaption:not(.hidden) {
z-index: 6;
}
[data-gu-name=media]:has(figure.loop) figure.loop button[data-link-name*=gu-video-loop] {
align-self: flex-end;
margin-bottom: 40px;
margin-right: 3px;
}
[data-gu-name=media]:has(figure.loop) .controls-container div:has(button[data-testid=unmute-icon]),
[data-gu-name=media]:has(figure.loop) .controls-container div:has(button[data-testid=mute-icon]) {
right: 0;
padding-left: 10px;
}
[data-gu-name=media]:has(figure.loop) #caption-button {
z-index: 100;
}
@media (min-width: 61.25em) {
[data-gu-name=media]:has(figure.loop) #caption-button {
bottom: 20px;
}
}
@media (min-width: 46.25em) {
[data-gu-name=media]:has(figure.cinemagraph) .cinemagraph > div {
max-height: unset;
}
}
[data-gu-name=body] gu-island[name=SelfHostedVideo] {
width: 100%;
max-width: 620px;
display: block;
margin-top: 12px;
margin-bottom: 12px;
}
[data-gu-name=body] gu-island[name=SelfHostedVideo] figure.loop,
[data-gu-name=body] gu-island[name=SelfHostedVideo] figure.loop video {
width: 100%;
height: auto;
max-width: 620px;
margin: 0 auto;
}
[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive) {
max-width: unset;
margin: 12px 0;
}
[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive) figure.loop,
[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive) figure.loop video {
max-width: unset;
margin: 0;
}
@media (min-width: 71.25em) {
[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive) {
width: 1140px;
margin-left: -180px;
}
[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive) figure figcaption {
margin-left: 20px;
}
}
@media (min-width: 81.25em) {
[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive) {
width: 1300px;
margin-left: -260px;
}
}
:root {
--dateline: #606060;
--headerBorder: #dcdcdc;
--captionText: #999;
--captionBackground: hsla(0, 0%, 7%, .72);
--feature: #c70000;
--new-pillar-colour: var(--primary-pillar, var(--feature));
}
:root:root {
--subheading-text: var(--secondary-pillar);
--pullquote-text: var(--secondary-pillar);
--pullquote-icon: var(--secondary-pillar);
--block-quote-text: var(--article-text);
}
:root:root blockquote {
--block-quote-fill: var(--secondary-pillar);
}
@media (prefers-color-scheme: dark) {
:root:root:not([data-color-scheme=light]) {
--subheading-text: var(--darkmode-pillar);
--pullquote-text: var(--darkmode-pillar);
--pullquote-icon: var(--darkmode-pillar);
}
:root:root:not([data-color-scheme=light]) blockquote {
--block-quote-fill: var(--darkmode-pillar);
}
}
.content__main-column--interactive .element.element-atom,
.element.element-atom {
padding: 0;
}
.content__main-column--interactive .element-atom:first-of-type + p:first-of-type,
.content__main-column--interactive .element-atom:first-of-type + .sign-in-gate + p:first-of-type,
.content__main-column--interactive .element-atom:first-of-type + #sign-in-gate + p:first-of-type,
.content__main-column--interactive .element-atom:first-of-type + .element-atom + p:first-of-type,
.content__main-column--interactive hr:not(.last-horizontal-rule) + p,
.content__main-column--interactive hr:not(.last-horizontal-rule) + .ad-slot-container + p,
#article-body > div .element-atom:first-of-type + p:first-of-type,
#article-body > div .element-atom:first-of-type + .sign-in-gate + p:first-of-type,
#article-body > div .element-atom:first-of-type + #sign-in-gate + p:first-of-type,
#article-body > div .element-atom:first-of-type + .element-atom + p:first-of-type,
#article-body > div hr { ... }Det første afsnit efter en vandret linje eller et element-atom skal have ekstra plads øverst. Dette gælder for det første afsnit, der følger efter et af disse elementer, uanset om det kommer direkte efter elementet eller efter en annonceslot-container. Den samme regel gælder i forskellige sektioner af siden, såsom artikelbrødteksten, interaktivt indhold, kommentarer og feature-sektioner.
Derudover skal det første bogstav i det første afsnit styles på en særlig måde. Denne styling anvendes på det første bogstav i afsnittet, der kommer efter en vandret linje eller et element-atom, uanset om det er direkte efter elementet eller efter en annonceslot-container. Dette gælder på tværs af alle de samme sektioner, der er nævnt ovenfor.[data-gu-name=body] .element-atom:first-of-type+.element-atom+p:first-of-type:first-letter,
[data-gu-name=body] hr:not(.last-horizontal-rule)+p:first-letter,
[data-gu-name=body] hr:not(.last-horizontal-rule)+.ad-slot-container+p:first-letter,
#feature-body .element-atom:first-of-type+p:first-of-type:first-letter,
#feature-body .element-atom:first-of-type+.sign-in-gate+p:first-of-type:first-letter,
#feature-body .element-atom:first-of-type+#sign-in-gate+p:first-of-type:first-letter,
#feature-body .element-atom:first-of-type+.element-atom+p:first-of-type:first-letter,
#feature-body hr:not(.last-horizontal-rule)+p:first-letter,
#feature-body hr:not(.last-horizontal-rule)+.ad-slot-container+p:first-letter {
font-family: Guardian Headline, Guardian Egyptian Web, Guardian Headline Full, Georgia, serif;
font-weight: 700;
font-size: 111px;
line-height: 92px;
float: left;
text-transform: uppercase;
box-sizing: border-box;
margin-right: 8px;
vertical-align: text-top;
color: var(--drop-cap, var(--new-pillar-colour));
}
.content__main-column--interactive hr+p,
.content__main-column--interactive hr+.ad-slot-container+p,
#article-body>div hr+p,
#article-body>div hr+.ad-slot-container+p,
.content--interactive>div hr+p,
.content--interactive>div hr+.ad-slot-container+p,
#comment-body hr+p,
#comment-body hr+.ad-slot-container+p,
[data-gu-name=body] hr+p,
[data-gu-name=body] hr+.ad-slot-container+p,
#feature-body hr+p,
#feature-body hr+.ad-slot-container+p {
padding-top: 0;
}
.content__main-column--interactive [data-gu-name=pullquote],
#article-body>div [data-gu-name=pullquote],
.content--interactive>div [data-gu-name=pullquote],
#comment-body [data-gu-name=pullquote],
[data-gu-name=body] [data-gu-name=pullquote],
#feature-body [data-gu-name=pullquote] {
max-width: 620px;
}
#maincontent figure.element.element--showcase.element-showcase figcaption,
#feature-article-container figure.element.element--showcase.element-showcase figcaption,
#standard-article-container figure.element.element--showcase.element-showcase figcaption,
#comment-article-container figure.element.element--showcase.element-showcase figcaption {
position: static !important;
width: 100%;
max-width: 620px;
}
@media (min-width: 71.25em) {
#maincontent figure.element.element--showcase.element-showcase figcaption,
#feature-article-container figure.element.element--showcase.element-showcase figcaption,
#standard-article-container figure.element.element--showcase.element-showcase figcaption,
#comment-article-container figure.element.element--showcase.element-showcase figcaption {
position: absolute !important;
max-width: 140px;
}
}
@media (min-width: 81.25em) {
#maincontent figure.element.element--showcase.element-showcase figcaption,
#feature-article-container figure.element.element--showcase.element-showcase figcaption,
#standard-article-container figure.element.element--showcase.element-showcase figcaption,
#comment-article-container figure.element.element--showcase.element-showcase figcaption {
max-width: 220px;
}
}
.element.element--immersive.element-immersive {
width: calc(100vw - var(--scrollbar-width, 0px));
}
@media (max-width: 71.24em) {
.element.element--immersive.element-immersive {
max-width: 978px;
}
.element.element--immersive.element-immersive figcaption {
padding-inline: 10px;
}
}
@media (max-width: 71.24em) and (min-width: 30em) {
.element.element--immersive.element-immersive figcaption {
padding-inline: 20px;
}
}
@media (min-width: 46.25em) and (max-width: 61.24em) {
.element.element--immersive.element-immersive {
max-width: 738px;
}
}
@media (max-width: 46.24em) {
.element.element--immersive.element-immersive {
margin-left: -10px !important;
margin-right: 0 !important;
left: 0;
}
}
@media (max-width: 46.24em) and (min-width: 30em) {
.element.element--immersive.element-immersive {
margin-left: -20px !important;
}
.element.element--immersive.element-immersive figcaption {
padding-inline: 20px;
}
}
@media (min-width: 71.25em) {
[data-gu-name=body] figure.element.element--showcase.element-showcase,
[data-gu-name=body] .content__main-column--interactive figure.element.element--showcase.element-showcase {
margin-left: -160px !important;
}
}
@media (min-width: 81.25em) {
[data-gu-name=body] figure.element.element--showcase.element-showcase,
[data-gu-n[body] .content__main-column--interactive figure.element.element--showcase.element-showcase {
margin-left: -240px !important;
}
.furniture-wrapper {
position: relative;
}
@media (min-width: 61.25em) {
.furniture-wrapper {
display: grid;
grid-column-gap: 20px;
grid-row-gap: 0px;
grid-template-columns: [title-start headline-start meta-start standfirst-start] repeat(5, 1fr) [title-end headline-end meta-end standfirst-end portrait-start] repeat(5, 1fr) [portrait-end];
grid-template-rows: [title-start portrait-start] .25fr [title-end headline-start] 1fr [headline-end standfirst-start] .75fr [standfirst-end meta-start] auto [meta-end portrait-end];
}
.furniture-wrapper #headline > div:first-child,
.furniture-wrapper [data-gu-name="headline"] > div:first-child,
.furniture-wrapper .headline > div:first-child {
border-top: 1px solid var(--headerBorder);
}
.furniture-wrapper #meta,
.furniture-wrapper [data-gu-name="meta"] {
position: relative;
padding-top: 2px;
margin-right: 0;
}
.furniture-wrapper .standfirst .content__standfirst,
.furniture-wrapper #standfirst .content__standfirst,
.furniture-wrapper [data-gu-name="standfirst"] .content__standfirst {
margin-bottom: 4px;
}
.furniture-wrapper .standfirst ul li,
.furniture-wrapper #standfirst ul li,
.furniture-wrapper [data-gu-name="standfirst"] ul li {
font-size: 20px;
}
.furniture-wrapper .standfirst li a,
.furniture-wrapper .standfirst a,
.furniture-wrapper #standfirst li a,
.furniture-wrapper #standfirst a,
.furniture-wrapper [data-gu-name="standfirst"] li a,
.furniture-wrapper [data-gu-name="standfirst"] a {
border-bottom: none;
background-image: none !important;
text-decoration: underline;
text-underline-offset: 6px;
text-decoration-color: var(--headerBorder, #dcdcdc);
text-decoration-thickness: 1px;
}
.furniture-wrapper .standfirst li a:hover,
.furniture-wrapper .standfirst a:hover,
.furniture-wrapper #standfirst li a:hover,
.furniture-wrapper #standfirst a:hover,
.furniture-wrapper [data-gu-name="standfirst"] li a:hover,
.furniture-wrapper [data-gu-name="standfirst"] a:hover {
text-decoration-color: var(--new-pillar-colour);
}
.furniture-wrapper .standfirst p:first-of-type,
.furniture-wrapper #standfirst p:first-of-type,
.furniture-wrapper [data-gu-name="standfirst"] p:first-of-type {
border-top: 1px solid var(--headerBorder);
padding-bottom: 0;
}
}
@media (min-width: 61.25em) and (min-width: 71.25em) {
.furniture-wrapper .standfirst p:first-of-type,
.furniture-wrapper #standfirst p:first-of-type,
.furniture-wrapper [data-gu-name="standfirst"] p:first-of-type {
border-top: unset;
}
}
@media (min-width: 61.25em) {
.furniture-wrapper figure {
margin: 0 0 0 -10px;
}
.furniture-wrapper figure[data-spacefinder-role="inline"].element {
max-width: 630px;
}
}
@media (min-width: 71.25em) {
.furniture-wrapper {
grid-template-columns: [title-start headline-start meta-start] repeat(2, 1fr) [meta-end standfirst-start] repeat(5, 1fr) [title-end headline-end standfirst-end portrait-start] repeat(7, 1fr) [portrait-end];
grid-template-rows: [title-start portrait-start] 80px [title-end headline-start] auto [headline-end standfirst-start meta-start] auto [standfirst-end meta-end portrait-end];
}
.furniture-wrapper #meta:before,
.furniture-wrapper [data-gu-name="meta"]:before {
content: "";
width: 540px;
position: absolute;
top: 0;
background-color: var(--headerBorder);
height: 1px;
}
.furniture-wrapper .standfirst p,
.furniture-wrapper #standfirst p,
.furniture-wrapper [data-gu-name="standfirst"] p {
border-top: unset;
}
.furniture-wrapper .standfirst:before,
.furniture-wrapper #standfirst:before,
.furniture-wrapper [data-gu-name="standfirst"]:before {
content: "";
width: 1px;
background-color: var(--headerBorder);
height: 100%;
position: absolute;
top: 0;
left: .5px;
}
}
@media (min-width: 81.25em) {
.furniture-wrapper {
grid-template-columns: [title-start headline-start meta-start] repeat(3, 1fr) [meta-end standfirst-start] repeat(5, 1fr) [title-end headline-end standfirst-end portrait-start] repeat(8, 1fr) [portrait-end];
grid-template-rows: [title-start portrait-start] .25fr [title-end headline-start] 1fr [headline-end standfirst-start meta-start] .75fr [standfirst-end meta-end portrait-end];
}
.furniture-wrapper #meta:before,
.furniture-wrapper [data-gu-name="meta"]:before {
width: 620px;
}
.furniture-wrapper .standfirst:before,
.furniture-wrapper #standfirst:before,
.furniture-wrapper [data-gu-name="standfirst"]:before {
/ Ingen yderligere stilarter specificeret /
}
}Her er den omskrevne tekst på flydende, naturligt engelsk:
Furniture-wrapper-stilarterne justerer layoutet og udseendet af artikeloverskrifter, standfirsts og medieelementer. Standfirst-sektionen har et lille venstre forskydning og polstring, med en subtil kant på venstre side. På større skærme får den lidt ekstra top-polstring.
Overskrifter er fede, med en maksimal bredde på 620 pixels og en skriftstørrelse på 32 pixels. På meget brede skærme indsnævres bredden til 540 pixels, og skriftstørrelsen øges til 50 pixels.
Dekorative linjer (keyline-4) er skjult på mellemstore og store skærme, men når de er synlige, bruger de en stregfarve defineret af en CSS-variabel.
Meta-sektionen (som inkluderer social deling og kommentarer) har ingen højre margen på mellemstore skærme. Dens kanter matcher header-kantfarven. Nogle interaktive elementer i meta-sektionen er skjult.
Det primære medieområde er placeret relativt i forhold til sin container, uden top-margen og med en lille bund-margen. På mobile enheder udvides det til fuld viewport-bredde med en negativ venstre margen for at justere korrekt. På større skærme fjernes bund-margenen.
Billedtekster er overlejret i bunden af mediet, med en semi-transparent baggrund og tekstfarve. De har en minimumshøjde og inkluderer et lille ikon. Det første ikon er skjult, mens det andet vises med en maksimal bredde. En billedtekst-knap vises som en cirkulær knap i hjørnet, så brugerne kan skifte synligheden af billedteksten.
I mørk tilstand justeres visse tekst- og linkfarver for bedre kontrast ved hjælp af specifikke CSS-variabler.
Endelig, på meget brede skærme, har hovedindholdskolonnen en let forlænget top- og bundkant. Overskrifter i denne kolonne er begrænset til en maksimal bredde på 620 pixels.Jeg er ked af det, men jeg kan ikke hjælpe med at omskrive denne tekst, da den ser ud til at være CSS-kode, ikke naturligt sprog. Kan du give mig den tekst, du vil have mig til at omskrive på flydende, naturligt engelsk?irst li a:hover, .furniture-wrapper [data-gu-name="standfirst"] a:hover, .furniture-wrapper [data-gu-name="standfirst"] li a:hover {
border-bottom: none;
text-decoration-color: var(--new-pillar-colour, --darkModeFeature);
}
.furniture-wrapper .standfirst p,
.furniture-wrapper #standfirst p,
.furniture-wrapper [data-gu-name="standfirst"] p {
color: #dcdcdc;
}
@media (min-width: 61.25em) {
.furniture-wrapper .standfirst p:first-of-type,
.furniture-wrapper #standfirst p:first-of-type,
.furniture-wrapper [data-gu-name="standfirst"] p:first-of-type {
border-top: 1px solid var(--headerBorderColor);
}
}
@media (min-width: 71.25em) {
.furniture-wrapper .standfirst p:first-of-type,
.furniture-wrapper #standfirst p:first-of-type,
.furniture-wrapper [data-gu-name="standfirst"] p:first-of-type {
border-top: unset;
}
}
.furniture-wrapper .standfirst ul li,
.furniture-wrapper #standfirst ul li,
.furniture-wrapper [data-gu-name="standfirst"] ul li {
color: #dcdcdc;
}
@media (min-width: 71.25em) {
.furniture-wrapper .standfirst:before,
.furniture-wrapper #standfirst:before,
.furniture-wrapper [data-gu-name="standfirst"]:before {
background-color: var(--headerBorderColor);
}
}
@media (min-width: 46.25em) {
.furniture-wrapper:before {
content: "";
height: 100%;
top: 0;
position: absolute;
background-color: var(--darkBackground);
border-right: 1px solid var(--headerBorderColor);
left: calc((100vw - var(--scrollbar-width, 0px) - 738px) / -2);
width: calc((100vw - var(--scrollbar-width, 0px) - 738px) / 2);
}
.furniture-wrapper:after {
content: "";
height: 100%;
top: 0;
position: absolute;
background-color: var(--darkBackground);
border-left: 1px solid var(--headerBorderColor);
right: calc((100vw - var(--scrollbar-width, 0px) - 738px) / -2);
width: calc((100vw - var(--scrollbar-width, 0px) - 738px) / 2);
}
}
@media (min-width: 61.25em) {
.furniture-wrapper:before {
content: "";
width: calc((100vw - var(--scrollbar-width, 0px) - 978px) / 2);
left: calc((100vw - var(--scrollbar-width, 0px) - 978px) / -2);
}
.furniture-wrapper:after {
content: "";
width: calc((100vw - var(--scrollbar-width, 0px) - 978px) / 2);
right: calc((100vw - var(--scrollbar-width, 0px) - 978px) / -2);
}
}
@media (min-width: 71.25em) {
.furniture-wrapper:before {
content: "";
width: calc((100vw - var(--scrollbar-width, 0px) - 1138px) / 2);
left: calc((100vw - var(--scrollbar-width, 0px) - 1138px) / -2);
}
.furniture-wrapper:after {
content: "";
width: calc((100vw - var(--scrollbar-width, 0px) - 1138px) / 2);
right: calc((100vw - var(--scrollbar-width, 0px) - 1138px) / -2);
}
}
@media (min-width: 81.25em) {
.furniture-wrapper:before {
content: "";
width: calc((100vw - var(--scrollbar-width, 0px) - 1298px) / 2);
left: calc((100vw - var(--scrollbar-width, 0px) - 1298px) / -2);
}
.furniture-wrapper:after {
content: "";
width: calc((100vw - var(--scrollbar-width, 0px) - 1298px) / 2);
right: calc((100vw - var(--scrollbar-width, 0px) - 1298px) / -2);
}
}
.furniture-wrapper .keyline-4 svg,
.furniture-wrapper [data-gu-name="lines"] svg {
stroke: var(--headerBorderColor);
}
.furniture-wrapper #meta .meta__social,
.furniture-wrapper #meta .meta__social ul li a span,
.furniture-wrapper #meta .meta__comment,
.furniture-wrapper [data-gu-name="meta"] .meta__social,
.furniture-wrapper [data-gu-name="meta"] .meta__social ul li a span,
.furniture-wrapper [data-gu-name="meta"] .meta__comment {
border-color: var(--headerBorderColor);
}
.article .article__body h2,
article.content--interactive [data-gu-name="body"] h2 {
font-weight: 200;
}
.article .article__body h2:has(strong),
article.content--interactive [data-gu-name="body"] h2:has(strong) {
font-weight: 700;
}
div[data-print-layout="hide"] ul {
background-image: none;
}
:root[data-rendering-target="apps"] {
--follow-text: #dcdcdc;
--follow-icon-fill: var(--new-pillar-colour);
--standfirst-text: #dcdcdc;
--standfirst-link-text: var(--new-pillar-colour);
--standfirst-link-border: var(--new-pillar-colour);
--byline: var(--new-pillar-colour);
--article-meta-lines: var(--headerBorderColor);
--byline: var(--darkmode-pillar);
}
:root[data-rendering-target="apps"] .byline > span {
color: var(--new-pillar-colour);
}
:root[data-rendering-target="apps"] .byline > span > div:has(+[name="FollowWapper"]) {
background-image: var(--headerBorderColor), var(--headerBorderColor) 1px, transparent 1px;
}
@media (prefers-color-schemeJeg rejste til Oslo i det tidlige efterår, og det føltes som at træde ind i fremtiden – eller i det mindste et glimt af en mulig fremtid. Jeg kørte nordpå i den stille, digitale boble af min elektriske lejebil. I 2024 blev Norge det første land i verden, hvor elbiler oversteg benzinbiler.
En glat, uberørt motorvej strakte sig mellem landbrugsområder og lave bakker dækket af tæt grøn skov. Lange tunneller førte ruten op over bredden af Mjøsa, Norges største sø. Efter lidt over en time svingede vejen nedad og løb parallelt med søbredden.
Gennem huller i en række gyldne birketræer brød en høj, slank struktur horisonten. Den rejste sig fra vandkanten, toppet af en trekantet krone af bare, sammenflettede bjælker. Mod den tunge grå himmel og den omgivende tåge udstrålede dens blege, brændte orange ydre en blid varme. Det var den eneste høje bygning i hele landskabet, kendt som Mjøstårnet, "Mjøsa-tårnet": en 18-etagers, 277 fod (84 m) høj træskyskraber – den højeste helt i træ bygning i verden.
Mjøstårnet ligger på en stribe kystlinje ved siden af den lille by Brumunddal. Det huser kontorer, lejligheder og et hotel med 72 værelser. Jeg boede på 11. sal, og jeg kørte op i en elevatorskakt lavet helt af træ (selvom elevatorkabinen selv var af stål og glas).
To sider af mit hjørneværelse havde store panoramavinduer – et mod vest ud over søen, det andet mod nord langs kysten. Gulvene var af træ, ligesom borde og lamper. Der var en træseng og et par lave drejestole lavet af tynde strimler af bøjet fyrretræ.
Det mest slående træk var den enorme træsøjle, der dannede både hjørnet af mit værelse og, strækkende sig i segmenter over og under mig, et af de fire kantpunkter på hele tårnet. Den så betryggende robust ud, som stammen af et massivt træ, der var blevet strippet for bark og formet til en glat, organisk version af en stål- eller betonstiver. Det var næsten præcis, hvad det var – bortset fra at det ikke bare var ét træ, men mange: en serie af præcisionsskårne tømmerblokke presset og holdt sammen med ekstremt stærk lim, hvilket skaber det, der er kendt som massivt træ, eller glulam (forkortelse for "glued laminated timber").
Stykket på mit værelse var det største af sin slags i bygningen, med et tværsnit på omkring 2 fod gange 5 fod (0,6 m gange 1,5 m). Selvom det var belagt med en bleg vokslamina, kunne man stadig se de unikke knaster og hvirvler løbe hen over dets sammensatte skiver af træ.
Gennem vinduet gled tåge i bølger ned ad de skovklædte skråninger på den fjerne bred. Vindstød blæste fin regn mod glasset. Indenfor var der ingen lyd. Udsigten skiftede fra hvid til grå til den indtrængende blå nat. Til sidst lagde jeg mig til at sove i det, jeg indså, var noget af en barndomsfantasi – et kæmpe træhus i himlen.
Mjøstårnet begyndte som en skitse på en serviet. To rektangulære kasser tegnet med blå kuglepen: en liggende fladt, den anden stående på ende oven på den. Den færdige struktur er ikke langt fra det oprindelige udkast – bortset fra at det andet rektangel bare blev ved med at strække sig højere og højere. "Højde var meget vigtigt her," fortalte Arthur Buchardt, udvikleren, der tegnede skitsen, mig. "Det skulle være et signal. For at vise, hvad der er muligt. Og jeg tror, det nu har fået mange mennesker til at vågne op."
Jeg mødte Buchardt dagen efter, jeg ankom, på 18. sal i tårnet, hvor han har sin egen penthouselejlighed. Nu i slutningen af 70'erne har han udseendet af en Bond-skurk – høj, bred, energisk sund, perfekt skaldet – og manererne fra en elsket grandonkel, hurtig til at le og fuld af en lys, ungdommelig energi. Vi sad ved hans stuebord – af træ, naturligvis – nippede til sort kaffe og kigged