@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Light.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Light.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Light.ttf’) format(‘truetype’);
font-weight: 300;
font-style: normal;
}
@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-LightItalic.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-LightItalic.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-LightItalic.ttf’) format(‘truetype’);
font-weight: 300;
font-style: italic;
}
@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Regular.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Regular.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Regular.ttf’) format(‘truetype’);
font-weight: 400;
font-style: normal;
}
@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-RegularItalic.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-RegularItalic.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-RegularItalic.ttf’) format(‘truetype’);
font-weight: 400;
font-style: italic;
}
@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Medium.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Medium.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Medium.ttf’) format(‘truetype’);
font-weight: 500;
font-style: normal;
}
@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-MediumItalic.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-MediumItalic.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-MediumItalic.ttf’) format(‘truetype’);
font-weight: 500;
font-style: italic;
}
@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Semibold.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Semibold.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Semibold.ttf’) format(‘truetype’);
font-weight: 600;
font-style: normal;
}
@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-SemiboldItalic.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-SemiboldItalic.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-SemiboldItalic.ttf’) format(‘truetype’);
font-weight: 600;
font-style: italic;
}Here is the rewritten text in fluent, natural English:
“`css
@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Bold.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Bold.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Bold.ttf’) format(‘truetype’);
font-weight: 700;
font-style: normal;
}
@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BoldItalic.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BoldItalic.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BoldItalic.ttf’) format(‘truetype’);
font-weight: 700;
font-style: italic;
}
@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Black.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Black.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Black.ttf’) format(‘truetype’);
font-weight: 900;
font-style: normal;
}
@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BlackItalic.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BlackItalic.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BlackItalic.ttf’) format(‘truetype’);
font-weight: 900;
font-style: italic;
}
@font-face {
font-family: ‘Guardian Titlepiece’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-titlepiece/noalts-not-hinted/GTGuardianTitlepiece-Bold.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-titlepiece/noalts-not-hinted/GTGuardianTitlepiece-Bold.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-titlepiece/noalts-not-hinted/GTGuardianTitlepiece-Bold.ttf’) format(‘truetype’);
font-weight: 700;
font-style: normal;
}
@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Light.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Light.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Light.ttf’) format(‘truetype’);
font-weight: 300;
font-style: normal;
}
@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-LightItalic.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-LightItalic.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-LightItalic.ttf’) format(‘truetype’);
font-weight: 300;
font-style: italic;
}
@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Regular.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Regular.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Regular.ttf’) format(‘truetype’);
font-weight: 400;
font-style: normal;
}
@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-RegularItalic.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-RegularItalic.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-RegularItalic.ttf’) format(‘truetype’);
font-weight: 400;
font-style: italic;
}
“`Here is the rewritten text in fluent, natural English:
“`css
@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-RegularItalic.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-RegularItalic.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-RegularItalic.ttf’) format(‘truetype’);
font-weight: 400;
font-style: italic;
}
@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Medium.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Medium.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Medium.ttf’) format(‘truetype’);
font-weight: 500;
font-style: normal;
}
@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-MediumItalic.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-MediumItalic.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-MediumItalic.ttf’) format(‘truetype’);
font-weight: 500;
font-style: italic;
}
@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Semibold.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Semibold.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Semibold.ttf’) format(‘truetype’);
font-weight: 600;
font-style: normal;
}
@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-SemiboldItalic.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-SemiboldItalic.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-SemiboldItalic.ttf’) format(‘truetype’);
font-weight: 600;
font-style: italic;
}
@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Bold.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Bold.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Bold.ttf’) format(‘truetype’);
font-weight: 700;
font-style: normal;
}
@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BoldItalic.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BoldItalic.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BoldItalic.ttf’) format(‘truetype’);
font-weight: 700;
font-style: italic;
}
@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Black.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Black.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Black.ttf’) format(‘truetype’);
font-weight: 900;
font-style: normal;
}
@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BlackItalic.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BlackItalic.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BlackItalic.ttf’) format(‘truetype’);
font-weight: 900;
font-style: italic;
}
“““css
@font-face {
font-family: Guardian Headline;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BlackItalic.woff2) format(“woff2”),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BlackItalic.woff) format(“woff”),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BlackItalic.ttf) format(“truetype”);
font-weight: 900;
font-style: italic;
}
@font-face {
font-family: Guardian Titlepiece;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-titlepiece/noalts-not-hinted/GTGuardianTitlepiece-Bold.woff2) format(“woff2”),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-titlepiece/noalts-not-hinted/GTGuardianTitlepiece-Bold.woff) format(“woff”),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-titlepiece/noalts-not-hinted/GTGuardianTitlepiece-Bold.ttf) format(“truetype”);
font-weight: 700;
font-style: normal;
}
#article-body > div .content–interactive-grid,
.content–interactive > div .content–interactive-grid,
#comment-body .content–interactive-grid,
[data-gu-name=”body”] .content–interactive-grid,
#feature-body .content–interactive-grid {
grid-column-gap: 0px;
grid-template-columns: 100%;
grid-template-areas:
“media”
“title”
“headline”
“standfirst”
“lines”
“meta”
“body”;
}
@media (min-width: 30em) {
#article-body > div .content–interactive-grid figure.element–immersive figcaption,
.content–interactive > div .content–interactive-grid figure.element–immersive figcaption,
#comment-body .content–interactive-grid figure.element–immersive figcaption,
[data-gu-name=”body”] .content–interactive-grid figure.element–immersive figcaption,
#feature-body .content–interactive-grid figure.element–immersive figcaption {
padding: 0 20px;
max-width: 620px;
}
}
@media (min-width: 46.25em) {
#article-body > div .content–interactive-grid,
.content–interactive > div .content–interactive-grid,
#comment-body .content–interactive-grid,
[data-gu-name=”body”] .content–interactive-grid,
#feature-body .content–interactive-grid {
grid-template-columns: 100%;
grid-column-gap: 10px;
grid-template-areas:
“title”
“headline”
“standfirst”
“media”
“lines”
“meta”
“body”;
}
#article-body > div .content–interactive-grid #maincontent,
.content–interactive > div .content–interactive-grid #maincontent,
#comment-body .content–interactive-grid #maincontent,
[data-gu-name=”body”] .content–interactive-grid #maincontent,
#feature-body .content–interactive-grid #maincontent {
padding-right: 80px;
}
}
@media (min-width: 61.25em) {
#article-body > div .content–interactive-grid,
.content–interactive > div .content–interactive-grid,
#comment-body .content–interactive-grid,
[data-gu-name=”body”] .content–interactive-grid,
#feature-body .content–interactive-grid {
grid-template-columns: 620px 300px;
grid-template-areas:
“title right-column”
“headline right-column”
“standfirst right-column”
“media right-column”
“lines right-column”
“meta right-column”
“body right-column”
“. right-column”;
}
#article-body > div .content–interactive-grid #maincontent,
.content–interactive > div .content–interactive-grid #maincontent,
#comment-body .content–interactive-grid #maincontent,
[data-gu-name=”body”] .content–interactive-grid #maincontent,
#feature-body .content–interactive-grid #maincontent {
padding-right: unset;
}
}
@media (min-width: 71.25em) {
#article-body > div .content–interactive-grid,
.content–interactive > div .content–interactive-grid,
#comment-body .content–interactive-grid,
[data-gu-name=”body”] .content–interactive-grid,
#feature-body .content–interactive-grid {
grid-template-columns: 140px 1px 620px 300px;
grid-template-areas:
“title border headline right-column”
“. border standfirst right-column”
“. border media right-column”
“. border body right-column”
“. border . right-column”;
}
#article-body > div .content–interactive-grid .content__standfirst,
.content–interactive > div .content–interactive-grid .content__standfirst,
#comment-body .content–interactive-grid .content__standfirst,
[data-gu-name=”body”] .content–interactive-grid .content__standfirst,
#feature-body .content–interactive-grid .content__standfirst {
padding-bottom: 0;
}
#article-body > div .content–interactive-grid figure.element–immersive figcaption,
.content–interactive > div .content–interactive-grid figure.element–immersive figcaption,
#comment-body .cont
“`Here is the rewritten text in fluent, natural English:
For interactive grid figures with immersive elements, the caption should have 4 pixels of padding at the top and none on the sides. In the main article body, interactive grid sections for lines and metadata should be placed in grid area 2/1/5/2. The lines section should have a height set to “max-content” and a top margin of 5 pixels. The metadata section should have a top margin of 18 pixels.
On screens wider than 81.25em (about 1300 pixels), the interactive grid layout should use columns of 219px, 1px, 620px, 80px, and 300px.
On iOS and Android devices, the standfirst text in the article header should use the Guardian Headline font family with a weight of 500. The article kicker section should be displayed as a block, and its first letter should be uppercase. The keyline-4 element should have 12 pixels of padding at the top. The byline author name should use the Guardian Headline font family with a weight of 700, and any links within it should also be bold. For images in articles, the figure inner container should have automatic height. For atom elements followed by a paragraph, there should be no top margin on the paragraph.
The Guardian Headline Full font is defined in two styles: light (weight 300) and light italic (weight 300), both using the same font family name.I’m sorry, but the text you’ve provided appears to be CSS code for defining font faces, not a piece of writing that can be rewritten into fluent, natural English. Could you please provide the actual text you’d like me to rewrite?@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Black.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Black.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Black.ttf’) format(‘truetype’);
font-weight: 900;
font-style: normal;
}
@font-face {
font-family: ‘Guardian Headline Full’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BlackItalic.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BlackItalic.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BlackItalic.ttf’) format(‘truetype’);
font-weight: 900;
font-style: italic;
}
@font-face {
font-family: ‘Guardian Titlepiece’;
src: url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-titlepiece/noalts-not-hinted/GTGuardianTitlepiece-Bold.woff2’) format(‘woff2’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-titlepiece/noalts-not-hinted/GTGuardianTitlepiece-Bold.woff’) format(‘woff’),
url(‘https://assets.guim.co.uk/static/frontend/fonts/guardian-titlepiece/noalts-not-hinted/GTGuardianTitlepiece-Bold.ttf’) format(‘truetype’);
font-weight: 700;
font-style: normal;
}
@media (min-width: 71.25em) {
.content__main-column–interactive {
margin-left: 160px;
}
}
@media (min-width: 81.25em) {
.content__main-column–interactive {
margin-left: 240px;
}
}
.content__main-column–interactive .element-atom {
max-width: 620px;
}
@media (max-width: 46.24em) {
.content__main-column–interactive .element-atom {
max-width: 100%;
}
}
.content__main-column–interactive .element-showcase {
margin-left: 0;
}
@media (min-width: 46.25em) {
.content__main-column–interactive .element-showcase {
max-width: 620px;
}
}
@media (min-width: 71.25em) {
.content__main-column–interactive .element-showcase {
max-width: 860px;
}
}
.content__main-column–interactive .element-immersive {
max-width: 1100px;
}
@media (max-width: 46.24em) {
.content__main-column–interactive .element-immersive {
width: calc(100vw – var(–scrollbar-width, 0px));
position: relative;
left: 50%;
right: 50%;
margin-left: calc(-50vw + var(–half-scrollbar-width, 0px)) !important;
margin-right: calc(-50vw + var(–half-scrollbar-width, 0px)) !important;
}
}
@media (min-width: 46.25em) {
.content__main-column–interactive .element-immersive {
transform: translate(-20px);
width: calc(100% + 60px);
}
}
@media (max-width: 71.24em) {
.content__main-column–interactive .element-immersive {
margin-left: 0;
margin-right: 0;
}
}
@media (min-width: 71.25em) {
.content__main-column–interactive .element-immersive {
transform: translate(0);
width: auto;
}
}
@media (min-width: 81.25em) {
.content__main-column–interactive .element-immersive {
max-width: 1260px;
}
}
.content__main-column–interactive p,
.content__main-column–interactive ul {
max-width: 620px;
}
.content__main-column–interactive::before {
position: absolute;
top: 0;
height: calc(100% + 15px);
min-height: 100px;
content: “”;
}
@media (min-width: 71.25em) {
.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”] {
width: 32px;
align-self: flex-end;
margin-bottom: 40px;
margin-right: 3px;
}
[data-gu-name=”media”]:has(figure.loop) #caption-button {
z-index: 100;
}
[data-gu-name=”body”] gu-island[name=”SelfHostedVideo”] {
width: 100%;
max-width: 620px;
}Here is the rewritten text in fluent, natural English:
For self-hosted videos inside the article body, the video and its container should be displayed as a block with a top and bottom margin of 12px. The video should take up the full width of its container, with a maximum width of 620px, and be centered horizontally.
If the video has the class “element-video-immersive”, the container should have no maximum width and a margin of 12px on top and bottom. The video itself should also have no maximum width and no margin.
On screens wider than 71.25em (1140px), an immersive video container should be 1140px wide with a left margin of -180px. Its caption should have a left margin of 20px.
On screens wider than 81.25em (1300px), the immersive video container should be 1300px wide with a left margin of -260px.
The following CSS variables are defined:
– `–dateline`: #606060
– `–headerBorder`: #dcdcdc
– `–captionText`: #999
– `–captionBackground`: hsla(0, 0%, 7%, .72)
– `–feature`: #c70000
– `–new-pillar-colour`: falls back to `–primary-pillar`, then `–feature`
Additional variables are set for subheadings, pull quotes, and block quotes, all using `–secondary-pillar` as their text color. Block quotes also use `–secondary-pillar` for their fill color.
In dark mode (when the user’s system preference is dark and no light color scheme is forced), the subheading, pull quote text, and pull quote icon use `–darkmode-pillar`. Block quotes also use `–darkmode-pillar` for their fill.
Interactive content and article body sections should have no padding for elements with the class “element-atom”.
When an element-atom is the first child inside a section, the paragraph that follows it should have a top padding of 14px. The same applies if the first child is a horizontal rule that is not the last one.
The first letter of that following paragraph should also have some styling applied (though the specific style is not defined here).Here’s the rewritten text in fluent, natural English:
For the first letter of certain paragraphs, the styling uses the Guardian Headline font family with a bold weight, a size of 111px, and a line height of 92px. It floats to the left, is uppercase, and has a box-sizing of border-box. There’s an 8px right margin, vertical alignment to the text top, and the color is set by a custom property for drop caps.
Paragraphs that follow a horizontal rule have no top padding.
Pull quotes are limited to a maximum width of 620px.
For showcase elements in main content, feature articles, standard articles, and comment articles, the figcaption is positioned statically, takes up the full width, and has a max width of 620px. On screens wider than 71.25em, the max width is 140px, and on screens wider than 81.25em, it’s 220px.
Immersive elements take up the full viewport width minus the scrollbar width. On screens up to 71.24em, the max width is 978px, and the figcaption has 10px padding on each side. On screens between 30em and 71.24em, the padding increases to 20px. On screens between 46.25em and 61.24em, the max width is 738px. On screens up to 46.24em, the element has a left margin of -10px and no right margin, with a left offset of 0. On screens between 30em and 46.24em, the left margin is -20px, and the figcaption padding is 20px.
Showcase elements have a left margin of -160px on screens wider than 71.25em, and -240px on screens wider than 81.25em.
On screens wider than 61.25em, the furniture wrapper uses a grid layout with a 20px column gap and no row gap. The grid has two columns of five equal parts each, and rows for title, headline, standfirst, and meta. The headline’s first child has a border.Here’s the rewritten version in fluent, natural English:
The top border of the header is set to 1 pixel solid using the header border color. In the furniture wrapper, the meta section is positioned relatively with 2 pixels of padding on top and no right margin. The standfirst content has a bottom margin of 4 pixels. List items inside the standfirst have a font size of 20 pixels. Links within the standfirst have no bottom border, no background image, and are underlined with a 6-pixel offset. The underline color matches the header border. When you hover over these links, the underline color changes to the new pillar color.
The first paragraph in the standfirst has a top border of 1 pixel solid using the header border color and no bottom padding. On screens wider than 61.25em (980px) and also wider than 71.25em (1140px), this top border is removed. On screens wider than 61.25em, figures have no margin on the left and a negative left margin of 10 pixels. Inline figures have a maximum width of 630 pixels.
On screens wider than 71.25em, the furniture wrapper uses a grid layout with specific column and row definitions. The meta section has a 540-pixel-wide line above it. Standfirst paragraphs have no top border, and a vertical line appears to the left of the standfirst, 1 pixel wide, using the header border color.
On screens wider than 81.25em (1300px), the grid layout adjusts: the meta section’s top line becomes 620 pixels wide, and the vertical line in the standfirst shifts slightly to the left.
In the article header, labels within the title section have 2 pixels of top padding. The headline (h1) has a font weight of 600, a maximum width of 620 pixels, and a font size of 32 pixels. On screens wider than 71.25em, the headline’s maximum width is 540 pixels and the font size increases to 50 pixels.
On screens wider than 46.25em (740px), the keyline-4 element has no right margin. On screens wider than 61.25em, the keyline-4 element is hidden.eyline-4 svg, .furniture-wrapper [data-gu-name=”lines”] svg {
stroke: var(–headerBorder);
}
@media (min-width: 46.25em) {
.furniture-wrapper #meta,
.furniture-wrapper [data-gu-name=”meta”] {
margin-right: 0;
}
}
.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(–headerBorder);
}
.furniture-wrapper #meta .content__meta-container_dcr > div > gu-island,
.furniture-wrapper [data-gu-name=”meta”] .content__meta-container_dcr > div > gu-island {
display: none;
}
.furniture-wrapper .standfirst,
.furniture-wrapper #standfirst,
.furniture-wrapper [data-gu-name=”standfirst”] {
margin-left: -10px;
padding-left: 10px;
position: relative;
}
@media (min-width: 46.25em) {
.furniture-wrapper .standfirst,
.furniture-wrapper #standfirst,
.furniture-wrapper [data-gu-name=”standfirst”] {
padding-top: 2px;
}
}
.furniture-wrapper .standfirst p,
.furniture-wrapper #standfirst p,
.furniture-wrapper [data-gu-name=”standfirst”] p {
font-weight: 400;
font-size: 20px;
padding-bottom: 14px;
}
.furniture-wrapper #main-media,
.furniture-wrapper [data-gu-name=”media”] {
position: relative;
margin-top: 0;
margin-bottom: 2px;
grid-area: portrait;
}
.furniture-wrapper #main-media div div,
.furniture-wrapper [data-gu-name=”media”] div div {
width: 100%;
margin-inline: 0;
}
@media (min-width: 61.25em) {
.furniture-wrapper #main-media,
.furniture-wrapper [data-gu-name=”media”] {
margin-bottom: 0;
}
}
@media (max-width: 46.24em) {
.furniture-wrapper #main-media,
.furniture-wrapper [data-gu-name=”media”] {
width: calc(100vw – var(–scrollbar-width, 0px));
margin-left: -10px;
}
}
@media (max-width: 46.24em) and (min-width: 30em) {
.furniture-wrapper #main-media,
.furniture-wrapper [data-gu-name=”media”] {
margin-left: -20px;
}
}
.furniture-wrapper figcaption {
position: absolute;
bottom: 0;
padding: 4px 10px 12px;
background-color: var(–captionBackground);
color: var(–captionText);
max-width: unset;
width: 100%;
margin-bottom: 0;
min-height: 46px;
}
.furniture-wrapper figcaption span {
color: var(–headerBorder);
}
.furniture-wrapper figcaption span svg {
fill: var(–headerBorder);
}
.furniture-wrapper figcaption span:nth-of-type(1) {
display: none;
}
.furniture-wrapper figcaption span:nth-of-type(2) {
display: block;
max-width: 90%;
}
@media (min-width: 30em) {
.furniture-wrapper figcaption {
padding: 4px 20px 12px;
}
}
.furniture-wrapper figcaption.hidden {
opacity: 0;
}
.furniture-wrapper #caption-button {
display: block;
position: absolute;
bottom: 10px;
right: 8px;
z-index: 30;
background-color: var(–captionBackground);
border: none;
border-radius: 50%;
padding: 6px 5px 5px;
}
.furniture-wrapper #caption-button svg {
transform: scale(0.85);
}
@media (min-width: 30em) {
.furniture-wrapper #caption-button {
right: 10px;
}
}
@media (min-width: 71.25em) {
.content__main-column–interactive:before {
top: -12px !important;
height: calc(100% + 24px) !important;
}
}
.content__main-column–interactive h2 {
max-width: 620px;
}
:root:has(.ios, .android) {
–darkBackground: #1a1a1a;
–feature: #c70000;
–darkmodeFeature: #ff5943;
–new-pillar-colour: var(–primary-pillar, var(–feature));
}
@media (prefers-color-scheme: dark) {
:root:has(.ios, .android) {
–new-pillar-colour: var(–darkmode-pillar, var(–darkmodeFeature));
}
}
body.ios #feature-article-container .element-atom:first-of-type + p:first-of-type:first-letter,
body.ios #feature-article-container .element-atom:first-of-type + .sign-in-gate + p:first-of-type:first-letter,
body.ios #feature-article-container .element-atom:first-of-type + #sign-in-gate + p:first-of-type:first-letter,
body.ios #standard-article-container .element-atom:first-of-type + p:first-of-type:first-letter,
body.ios #standard-article-container .element-atom:first-of-type + .sign-in-gate + p:first-of-type:first-letter,
body.ios #standard-article-container .element-atom:first-of-type + #sign-in-gate + p:first-of-type:first-letter,
body.ios #comment-article-container .element-atom:first-of-type + p:first-of-type:first-letter,
body.ios #comment-article-container .element-atom:first-of-type + .sign-in-gate + p:first-of-type:first-letter,
body.ios #comment-article-container .element-atom:first-of-type + #sign-in-gate + p:first-of-type:first-letter {
/ No styles defined here /
}On Android devices, the first letter of the first paragraph after certain elements (like `.element-atom:first-of-type` or `.sign-in-gate`) in article containers should be styled with the secondary pillar color, which defaults to black if not set.
On both iOS and Android, the article header in feature, standard, and comment article containers should have a height of zero.
For the furniture wrapper in these containers on both platforms, add padding of 4px on top and 10px on the sides. The content labels inside should use bold font weight, the font family “Guardian Headline, Guardian Egyptian Web, Guardian Headline Full, Georgia, serif”, the new pillar color, and capitalize the text.
The headline (h1) inside the furniture wrapper should have a font size of 32px, bold weight, 12px of padding at the bottom, and a color of #121212 (important).
For images inside figure elements with the class “element-image” in the furniture wrapper, set the position to relative, add a top margin of 14px and a left margin of -10px. The width should be the full viewport width minus any scrollbar width, and the height should be auto. The inner figure container, the image itself, and any links inside should also follow these styles.For iOS and Android, in the article containers (feature, standard, and comment), the furniture wrapper’s figure element with the class “element-image” and its inner elements (links, images, and figure inner divs) have a transparent background. Their width is set to the full viewport width minus the scrollbar width, and the height is automatically adjusted (with !important).
For the standfirst sections in these containers on both iOS and Android, there is 4px of padding on top and 24px on the bottom, with a right margin of -10px.
The paragraph text inside the standfirst inner div uses the font family: Guardian Headline, Guardian Egyptian Web, Guardian Headline Full, Georgia, serif.
Links inside the standfirst inner div (including list item links) are styled with the new pillar colour (using !important), no background image, an underline with a 6px offset, a decoration color set to the header border (default #dcdcdc), and no bottom border.
When hovering over these links, the styling remains the same as the default state.For Android: When you hover over a link inside `.standfirst__inner a` within `#comment-article-container .furniture-wrapper`, the text underline color changes to the new pillar color.
For both iOS and Android: In `#feature-article-container`, `#standard-article-container`, and `#comment-article-container`, the `.furniture-wrapper .meta` has no margin. The byline text, including author names and links, uses the new pillar color. The `.meta__misc` section has no padding, and any SVG icons inside it use the new pillar color for their stroke.
For both iOS and Android: In the `.element–showcase` section within these containers, the `#caption-button` is displayed as a flexbox, with 5px padding, centered content, and a width and height of 28px, positioned 14px from the right.Here’s the rewritten CSS in fluent, natural English:
For article body sections on iOS and Android devices, the padding is set to 0 on the left and right (12px each side).
On iOS and Android, when an image inside an article body is not a thumbnail or immersive element, it has no margin. Its width is calculated as the full viewport width minus 24px and any scrollbar width. The height is automatic. The caption for such images has no padding.
For immersive images in article bodies on iOS and Android, the width is the full viewport width minus any scrollbar width.
In the prose sections of article bodies on iOS and Android, quoted blockquotes have a color set to a variable called `–new-pillar-colour` for the pseudo-element `:before`.
Links in the prose sections on iOS and Android are styled with the color from `–primary-pillar`. They have no background image, are underlined, with the underline offset by 6px, and the underline color comes from `–headerBorder`. When you hover over these links, the underline color changes to `–new-pillar-colour`.
For users who prefer dark color schemes (via `prefers-color-scheme: dark`), the furniture section in the feature article container on iOS is affected.On iOS and Android, the `.furniture-wrapper` inside `#feature-article-container`, `#standard-article-container`, and `#comment-article-container` has a background color of `#1a1a1a`.
For the same containers, the `.content__labels` text color is set to `var(–new-pillar-colour)`.
The `h1.headline` inside these wrappers has no background color and uses `var(–headerBorder)` for its text color.
The `.standfirst p` text color is also `var(–headerBorder)`.
Links in `.standfirst a`, as well as `.byline__author` and `span.byline__author a` inside `.meta`, all use `var(–new-pillar-colour)`.
Finally, the SVG icons in `.meta__misc` have a stroke color of `var(–new-pillar-colour)`.For iOS and Android devices, the caption under the image in the furniture section of article containers uses the dateline color. On both iOS and Android, quoted block quotes in the article body of feature, standard, and comment article containers use the new pillar color.
For iOS and Android, the main content areas in feature, standard, and comment article containers—including the article body, interactive content, feature body, comment body, and the body data attribute—have a dark background color.
On iOS, in these same content areas, the first letter of a paragraph that follows an element atom (or a sign-in gate after an element atom) is styled in a specific way.Here’s the rewritten text in fluent, natural English:
On iOS devices, the first letter of a paragraph that comes right after an element-atom (or after a sign-in gate that follows an element-atom) should be styled in a specific way. This applies in several places within the standard article container: inside interactive content areas, feature body sections, data-gu-name=”body” sections, and comment body sections. The same styling also applies in the comment article container, in article body, interactive content, feature body, data-gu-name=”body”, and comment body sections.
On Android devices, the same first-letter styling applies in the feature article container and the standard article container, in article body, interactive content, feature body, data-gu-name=”body”, and comment body sections.Here’s the rewritten version in fluent, natural English:
On Android devices, the first letter of certain paragraphs should use the new pillar color (white by default). This applies to paragraphs that come right after an element atom in various sections of standard and comment article containers, including the article body, interactive content, feature body, comment body, and data-gu-name sections.
For iOS and Android comment articles, the standfirst section inside the furniture wrapper should have 24 pixels of padding at the top and no margin.
In prose sections, heading 2 (h2) should be 24 pixels in size.
For iOS devices, the caption button in feature, standard, and comment article containers should have 6 pixels of top padding and 5 pixels on the sides, with no bottom padding. For Android devices, the same button should have 4 pixels of padding on all sides.
When the device is in dark mode (and no light color scheme is specified), the following colors should be used:
– Follow text: #dcdcdc
– Follow icon fill: the dark mode pillar color
– Standfirst text: #dcdcdc
– Standfirst link text: the dark mode pillar color
– Standfirst link border: the dark mode pillar color
– Byline: the dark mode pillar color
For both iOS and Android, the content labels inside the furniture wrapper of feature, standard, and comment article containers should follow the same styling rules.The following CSS rules apply a font weight of 500 to various headline and standfirst elements inside the furniture wrapper:
“`
icle-container .furniture-wrapper .content__labels,
body.android #comment-article-container .furniture-wrapper .content__labels,
body.ios #feature-article-container .furniture-wrapper h1.headline,
body.ios #standard-article-container .furniture-wrapper h1.headline,
body.ios #comment-article-container .furniture-wrapper h1.headline,
body.android #feature-article-container .furniture-wrapper h1.headline,
body.android #standard-article-container .furniture-wrapper h1.headline,
body.android #comment-article-container .furniture-wrapper h1.headline,
.furniture-wrapper #headline h1,
.furniture-wrapper [data-gu-name=headline] h1,
.furniture-wrapper .headline h1,
.furniture-wrapper .standfirst div p,
.furniture-wrapper #standfirst div p,
.furniture-wrapper [data-gu-name=standfirst] div p {
font-weight: 500;
}
:root body {
–weekend-essay-bg: #fff4f2;
background: var(–weekend-essay-bg, #fff4f2);
–article-section-background: var(–weekend-essay-bg, #fff4f2);
–sub-meta-background: var(–weekend-essay-bg, #fff4f2);
}
[data-gu-name=lines] {
display: none;
}
.furniture-wrapper {
position: relative;
}
@media (min-width: 81.25em) {
.furniture-wrapper {
grid-template-rows: [title-start portrait-start] 0.25fr [title-end headline-start] 1fr [headline-end standfirst-start meta-start] 0.3fr [standfirst-end meta-end portrait-end];
}
}
.furniture-wrapper .article-header,
.furniture-wrapper [data-gu-name=title] {
position: relative;
height: 70px;
}
.furniture-wrapper .article-header .content__labels,
.furniture-wrapper [data-gu-name=title] .content__labels {
height: inherit;
}
.furniture-wrapper .article-header .content__labels:after,
.furniture-wrapper [data-gu-name=title] .content__labels:after {
content: “”;
display: block;
width: 70px;
height: 70px;
background-image: url(https://interactive.guim.co.uk/atoms/2025/04/2025-weekend-essay-test/assets/v/1777034148/book.gif);
background-size: contain;
background-position: center;
background-repeat: no-repeat;
position: absolute;
bottom: 0;
right: 0;
}
@media (min-width: 81.25em) {
.furniture-wrapper .article-header .content__labels:after,
.furniture-wrapper [data-gu-name=title] .content__labels:after {
width: 110px;
height: 110px;
}
}
.furniture-wrapper .article-header .content__labels > div,
.furniture-wrapper [data-gu-name=title] .content__labels > div {
height: 100%;
}
.furniture-wrapper .article-header .content__labels > div:after,
.furniture-wrapper [data-gu-name=title] .content__labels > div:after {
content: “”;
display: block;
width: calc(100vw – var(–scrollbar-width, 0px));
height: 1px;
background-color: #dcdcdc;
position: absolute;
bottom: 0;
left: -10px;
}
@media (min-width: 46.25em) {
.furniture-wrapper .article-header .content__labels > div:after,
.furniture-wrapper [data-gu-name=title] .content__labels > div:after {
left: -20px;
width: 738px;
}
}
@media (min-width: 61.25em) {
.furniture-wrapper .article-header .content__labels > div:after,
.furniture-wrapper [data-gu-name=title] .content__labels > div:after {
display: none;
}
}
@media (min-width: 71.25em) {
.furniture-wrapper .article-header,
.furniture-wrapper [data-gu-name=title] {
height: 80px;
}
}
@media (min-width: 81.25em) {
.furniture-wrapper .article-header,
.furniture-wrapper [data-gu-name=title] {
height: 125px;
}
}
@media (min-width: 81.25em) {
.furniture-wrapper #headline,
.furniture-wrapper [data-gu-name=headline],
.furniture-wrapper .headline {
margin-top: -2px;
}
}
.furniture-wrapper #headline > div > div,
.furniture-wrapper [data-gu-name=headline] > div > div,
.furniture-wrapper .headline > div > div {
padding-bottom: 0;
}
.furniture-wrapper #headline .portrait-mainmedia__headline-wrapper,
.furniture-wrapper [data-gu-name=headline] .portrait-mainmedia__headline-wrapper,
.furniture-wrapper .headline .portrait-mainmedia__headline-wrapper {
height: 100%;
position: relative;
overflow: hidden;
padding-bottom: 24px;
}
.furniture-wrapper #headline .portrait-mainmedia__headline-wrapper h1,
.furniture-wrapper #headline .portrait-mainmedia__headline-wrapper a,
.furniture-wrapper [data-gu-name=headline] .portrait-mainmedia__headline-wrapper h1,
.furniture-wrapper [data-gu-name=headline] .portrait-mainmedia__headline-wrapper a,
.furniture-wrapper .headline .portrait-mainmedia__headline-wrapper h1,
.furniture-wrapper .headline .portrait-mainmedia__headline-wrapper
“`a {
max-width: unset;
}
.furniture-wrapper #headline .portrait-mainmedia__headline-wrapper h1:hover,
.furniture-wrapper #headline .portrait-mainmedia__headline-wrapper a:hover,
.furniture-wrapper [data-gu-name=headline] .portrait-mainmedia__headline-wrapper h1:hover,
.furniture-wrapper [data-gu-name=headline] .portrait-mainmedia__headline-wrapper a:hover,
.furniture-wrapper .headline .portrait-mainmedia__headline-wrapper h1:hover,
.furniture-wrapper .headline .portrait-mainmedia__headline-wrapper a:hover {
text-decoration-thickness: 2px;
text-underline-offset: 6px;
}
.furniture-wrapper #headline .portrait-mainmedia__headline-wrapper h1,
.furniture-wrapper #headline .portrait-mainmedia__headline-wrapper a,
.furniture-wrapper #headline .portrait-mainmedia__headline-wrapper .byline span,
.furniture-wrapper [data-gu-name=headline] .portrait-mainmedia__headline-wrapper h1,
.furniture-wrapper [data-gu-name=headline] .portrait-mainmedia__headline-wrapper a,
.furniture-wrapper [data-gu-name=headline] .portrait-mainmedia__headline-wrapper .byline span,
.furniture-wrapper .headline .portrait-mainmedia__headline-wrapper h1,
.furniture-wrapper .headline .portrait-mainmedia__headline-wrapper a,
.furniture-wrapper .headline .portrait-mainmedia__headline-wrapper .byline span {
line-height: 115%;
font-weight: 500;
font-size: 36px;
}
@media (min-width: 71.25em) {
.furniture-wrapper #headline .portrait-mainmedia__headline-wrapper h1,
.furniture-wrapper #headline .portrait-mainmedia__headline-wrapper a,
.furniture-wrapper #headline .portrait-mainmedia__headline-wrapper .byline span,
.furniture-wrapper [data-gu-name=headline] .portrait-mainmedia__headline-wrapper h1,
.furniture-wrapper [data-gu-name=headline] .portrait-mainmedia__headline-wrapper a,
.furniture-wrapper [data-gu-name=headline] .portrait-mainmedia__headline-wrapper .byline span,
.furniture-wrapper .headline .portrait-mainmedia__headline-wrapper h1,
.furniture-wrapper .headline .portrait-mainmedia__headline-wrapper a,
.furniture-wrapper .headline .portrait-mainmedia__headline-wrapper .byline span {
font-size: 50px;
}
}
.furniture-wrapper .standfirst,
.furniture-wrapper #standfirst,
.furniture-wrapper [data-gu-name=standfirst] {
position: relative;
padding-top: 4px;
}
@media (min-width: 61.25em) {
.furniture-wrapper .standfirst,
.furniture-wrapper #standfirst,
.furniture-wrapper [data-gu-name=standfirst] {
padding-top: 0;
}
}
@media (min-width: 71.25em) {
.furniture-wrapper .standfirst,
.furniture-wrapper #standfirst,
.furniture-wrapper [data-gu-name=standfirst] {
padding-top: 2px;
}
}
.furniture-wrapper #meta .content__meta-container_dcr gu-island[name=Branding],
.furniture-wrapper [data-gu-name=meta] .content__meta-container_dcr gu-island[name=Branding] {
display: block;
}
.furniture-wrapper #main-media,
.furniture-wrapper [data-gu-name=media] {
position: relative;
}
@media (min-width: 61.25em) {
.furniture-wrapper #main-media,
.furniture-wrapper [data-gu-name=media] {
grid-area: portrait;
}
}
.furniture-wrapper #main-media > div,
.furniture-wrapper [data-gu-name=media] > div {
position: relative;
}
.furniture-wrapper #main-media div + span,
.furniture-wrapper [data-gu-name=media] div + span {
display: block;
}
.furniture-wrapper #main-media figure,
.furniture-wrapper [data-gu-name=media] figure {
height: 100%;
margin-left: 10px;
}
.furniture-wrapper #main-media figure picture img,
.furniture-wrapper #main-media figure figcaption,
.furniture-wrapper [data-gu-name=media] figure picture img,
.furniture-wrapper [data-gu-name=media] figure figcaption {
width: calc(100vw – 40px – var(–scrollbar-width, 0px));
height: auto;
margin-left: 10px;
padding: 10px 0;
}
.furniture-wrapper #main-media figure figcaption,
.furniture-wrapper [data-gu-name=media] figure figcaption {
margin-bottom: 10px;
padding: 10px;
}
.furniture-wrapper #main-media figure:before,
.furniture-wrapper [data-gu-name=media] figure:before {
content: “”;
display: block;
width: calc(100vw – 20px – var(–scrollbar-width, 0px));
background-image: url(https://interactive.guim.co.uk/atoms/2025/04/2025-weekend-essay-test/assets/v/1777034148/frame.png);
background-size: contain;
background-position: center;
background-repeat: no-repeat;
position: absolute;
top: 0;
left: 10px;
height: inherit;
}
@media (min-width:At screen widths of 46.25em and above, within `.furniture-wrapper #main-media` and `.furniture-wrapper [data-gu-name=media]`, the `figure` element has no left margin. The `picture img` inside these figures is set to 670px wide, auto height, with a 5px left margin and 15px top and bottom padding plus 10px side padding. The `figure:before` pseudo-element is 700px wide and positioned 10px to the left. The `figcaption` is 650px wide, with a 15px left margin and bottom margin, and 15px top and bottom padding plus 10px side padding.
At 61.25em and above, the `figure:before` width reduces to 470px. The `picture img` and `figcaption` are both 450px wide with no left margin. The `picture img` has 10px top and bottom padding with no side padding, and the `figcaption` has a 10px bottom margin.
At 71.25em and above, the `figure:before` width increases to 550px. The `picture img` is 520px wide with a 5px left margin and 10px top and bottom padding plus 5px side padding. The `figcaption` is 510px wide, with a 10px left margin and bottom margin.
At 81.25em and above, the `figure:before` width is 630px. The `picture img` is 600px wide with 15px top and bottom padding and no side padding. The `figcaption` is 600px wide, with a 5px left margin and a 15px bottom margin.
The `#caption-button` inside these elements is positioned 15px from the right and 20px from the bottom. At 46.25em and above, it moves to 45px from the right and 30px from the bottom. At 61.25em and above, it returns to 15px from the right and 20px from the bottom. At 71.25em and above, it is 20px from the right, and at 81.25em and above, it is 30px from the bottom.
The `.no-media-div` class inside these elements uses flexbox to center its content both horizontally and vertically, taking full width. The paragraph inside it is 24px font size, with a font weight of 500, line height of 115%, and uses the `–byline-anchor` color. It is also bold, underlined, and displayed as a block.
For screens 71.25em and above, `.content__main-column–interactive` has no left margin, and its `:before` pseudo-element is hidden. Any `aside[data-spacefinder-role=supporting]` that contains a `blockquote` inside this column uses a background color of `–weekend-essay-bg` (defaulting to `#fff4f2`). The first letter of the first paragraph has a font weight of 300. For the first letter after an `hr`, a `.progress-bar-wrapper`, or in a paragraph with the `.drop-cap` class, the styling uses the font family `Guardian Headline, Guardian Egyptian Web, Guardian Headline Full, Georgia, serif`, with a font weight of 300, font size of 111px, line height of 92px, uppercase text, floated left, with an 8px right margin, vertical alignment at the text top, box-sizing as border-box, and color set to `–drop-cap` (defaulting to `–new-pillar-colour`).Here is the rewritten text in fluent, natural English:
– Color: #8d2700
– Font size: 28px
– Font style: normal
– Font weight: 300
– Line height: normal
– Margin bottom: 8px
For screens wider than 71.25em, the main column headings should have a font size of 32px. If a heading contains a strong tag, its font weight should be 500.
If a figure contains an iframe, its background color should match the weekend essay background (default is #fff4f2).
On apps and iOS or Android devices, the follow wrapper inside the byline should be displayed as a block with a 10px top margin. The text inside it should have a font size of 14px.
For the main media and media sections on apps and mobile devices, all div, figure, and picture elements should have a width set to fit-content.
In dark mode (prefers-color-scheme: dark), the body background for apps and mobile devices should be #1a1a1a, and the weekend essay background should also be #1a1a1a. The decorative line after the article header or title labels should use a white book GIF. The SVG paths in the follow wrapper should use a white fill. And the background image before the main media figure should also use the same white book GIF.Here’s the rewritten version in fluent, natural English:
(https://interactive.guim.co.uk/atoms/2025/04/2025-weekend-essay-test/assets/v/1777034148/frame-white.png)!important}}
body.ios, body.android {
background-color: #fff;
}
body.ios #feature-article-container .furniture-wrapper .content__labels,
body.ios #standard-article-container .furniture-wrapper .content__labels,
body.ios #comment-article-container .furniture-wrapper .content__labels,
body.android #feature-article-container .furniture-wrapper .content__labels,
body.android #standard-article-container .furniture-wrapper .content__labels,
body.android #comment-article-container .furniture-wrapper .content__labels,
body.ios #feature-article-container .furniture-wrapper h1.headline,
body.ios #standard-article-container .furniture-wrapper h1.headline,
body.ios #comment-article-container .furniture-wrapper h1.headline,
body.android #feature-article-container .furniture-wrapper h1.headline,
body.android #standard-article-container .furniture-wrapper h1.headline,
body.android #comment-article-container .furniture-wrapper h1.headline {
font-weight: 500;
}
@media (prefers-color-scheme: light) {
html:has(body.ios, body.android) {
background-color: var(–weekend-essay-bg, #fff4f2);
}
}
html:has(body.ios, body.android) body.ios,
html:has(body.ios, body.android) body.android {
–opinion-primary: #c74600;
–byline-anchor: var(–opinion-primary, #c74600);
–primary-pillar: var(–opinion-primary, #c74600);
}
@media (prefers-color-scheme: light) {
html:has(body.ios, body.android) body.ios,
html:has(body.ios, body.android) body.android {
background-color: var(–weekend-essay-bg, #fff4f2);
}
}
@media (prefers-color-scheme: dark) {
html:has(body.ios, body.android) body.ios,
html:has(body.ios, body.android) body.android {
–weekend-essay-bg: #1a1a1a;
–opinion-primary: #ff7f0f;
}
html:has(body.ios, body.android) .garnett–pillar-opinion:not(.garnett–type-media).ios .article__body,
html:has(body.ios, body.android) .garnett–pillar-opinion:not(.garnett–type-media).ios .tags {
background-color: unset;
}
}
body.ios #feature-article-container,
body.ios #standard-article-container,
body.ios #comment-article-container,
body.android #feature-article-container,
body.android #standard-article-container,
body.android #comment-article-container {
background-color: var(–weekend-essay-bg, #fff4f2);
}
@media (min-width: 61.25em) {
body.ios #feature-article-container .furniture-wrapper,
body.ios #standard-article-container .furniture-wrapper,
body.ios #comment-article-container .furniture-wrapper,
body.android #feature-article-container .furniture-wrapper,
body.android #standard-article-container .furniture-wrapper,
body.android #comment-article-container .furniture-wrapper {
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] 0.25fr [title-end headline-start] 1fr [headline-end standfirst-start] 1.25fr [standfirst-end meta-start] auto [meta-end portrait-end];
}
}
body.ios #feature-article-container .furniture-wrapper .title-and-gif-wrapper,
body.ios #standard-article-container .furniture-wrapper .title-and-gif-wrapper,
body.ios #comment-article-container .furniture-wrapper .title-and-gif-wrapper,
body.android #feature-article-container .furniture-wrapper .title-and-gif-wrapper,
body.android #standard-article-container .furniture-wrapper .title-and-gif-wrapper,
body.android #comment-article-container .furniture-wrapper .title-and-gif-wrapper {
display: flex;
flex-direction: row nowrap;
justify-content: space-between;
position: relative;
}
body.ios #feature-article-container .furniture-wrapper .title-and-gif-wrapper .content__labels,
body.ios #standard-article-container .furniture-wrapper .title-and-gif-wrapper .content__labels,
body.ios #comment-article-container .furniture-wrapper .title-and-gif-wrapper .content__labels,
body.android #feature-article-container .furniture-wrapper .title-and-gif-wrapper .content__labels,
body.android #standard-article-container .furniture-wrapper .title-and-gif-wrapper .content__labels,
body.android #comment-article-container .furniture-wrapper .title-and-gif-wrapper .content__labelsHere’s the rewritten CSS in fluent, natural English:
The `.furniture-wrapper .title-and-gif-wrapper .content__labels` has a font size of 17px, normal style, bold weight, and 115% line height.
On iOS and Android devices, within the feature, standard, and comment article containers, the `.furniture-wrapper .title-and-gif-wrapper .content__labels a` uses the color `var(–new-pillar-colour, #c74600)` and has no text transformation.
Also on iOS and Android, in the same article containers, the `.gif-container` and its images inside `.title-and-gif-wrapper` are set to 70px wide and 70px tall.
For the `.book-gif-white` class inside the `.gif-container` and its images, on both iOS and Android across all article containers, the display is set to none.
In dark mode (when the user’s system prefers a dark color scheme), on iOS and Android, the `.book-gif` class inside the `.gif-container` and its images is hidden (display none).On Android devices, the following elements are hidden:
– `.book-gif` inside `.gif-container` or `img.book-gif` within the title-and-gif-wrapper of feature, standard, and comment article containers.
On both iOS and Android, the `.book-gif-white` versions (in the same containers) are displayed as block elements.
For both iOS and Android, after the title-and-gif-wrapper in feature, standard, and comment article containers, a 1-pixel-wide, full-viewport-width line is added at the bottom, positioned 10 pixels to the left, with a light gray color (#dcdcdc).
When the screen width is at least 61.25em (about 980px), the title-and-gif-wrapper is placed in the “title” grid area, and the line width is reduced to half the viewport width (50vw).
In dark mode (prefers-color-scheme: dark), the line color remains the same for both iOS and Android.Here’s the rewritten version in fluent, natural English:
The background color of the title and GIF wrapper inside the comment article container is set to #606060. On screens wider than 61.25em, for both iOS and Android devices, the headline area in the furniture wrapper of feature, standard, and comment article containers is defined as a grid area called “headline.”
For iOS and Android devices, the headline, byline, and byline links in the furniture wrapper of feature, standard, and comment article containers all have a font size of 36px, normal font style, a font weight of 500, and a line height of 115%.
Also on these devices, the byline, byline text, and byline links in the same containers use a color that matches the new pillar color, which defaults to #c70000.
In dark mode, the byline styling for iOS and Android devices in these article containers follows the same rules.On iOS and Android, for feature, standard, and comment article containers, the byline links and text inside `.furniture-wrapper .meta__byline` should use the new pillar color (defaulting to `#c74600`) with `!important`. Also, hide the avatar in those byline sections with `display: none !important`. For the headline (`h1.headline`) in the same containers, set `margin-bottom` and `padding-bottom` to `0`. Make the byline text italic (`font-style: italic !important`), but keep the author name inside `.byline__author` normal (not italic). Finally, for the main media element (`#main-media`), set its height to `auto`, aspect ratio to `4/5`, and background color to transparent.Here’s the rewritten version in fluent, natural English:
The main media figure inside the wrapper should take up the full height and have no left margin. On iOS and Android devices, the inner part of the figure in article containers should be positioned normally (top and left set to zero). The background of the element’s inner section should be transparent, with no overflow hidden and no padding.
Images inside these figures should be as wide as the screen minus 40 pixels, with a 20-pixel left margin and a 25-pixel top margin. However, if the image is inside the element’s inner section, the top margin should be reduced to 13 pixels.
The caption for the figure should automatically adjust its height. Any text inside the caption, including paragraphs and spans, should display normally without extra styling.Here’s the rewritten version in fluent, natural English:
For standard, comment, and feature articles on both iOS and Android, the caption text inside the main media figure should be displayed as a block. It should not have a maximum height, should be positioned relatively, and its color should use the variable `–captionText`, which defaults to `#999`.
On screens wider than 46.25em (about 740px), the main media figure should not have a maximum width. A pseudo-element before the figure should be positioned 10px from the left and have a width equal to the full viewport width minus 20px. Images inside the figure should be 60px narrower than the viewport, with a 30px left margin and a 40px top margin.
On screens wider than 61.25em (about 980px), the pseudo-element before the figure should have a width equal to half the viewport width minus 20px, also accounting for any scrollbar width.Here’s the rewritten version in fluent, natural English:
For images inside the main media section on iOS and Android devices, the width is set to half the viewport width minus 40 pixels and the scrollbar width. The image has a left margin of 18 pixels, auto height, no padding, and a top margin of 10 pixels.
When the screen is at least 71.25em wide, the top position of the element’s decorative element is moved up by 4 pixels.
At 81.25em and wider, the left position of that decorative element is shifted 20 pixels to the left. The image width is then half the viewport width minus 90 pixels and the scrollbar width, with a left margin of 12 pixels, auto height, a top margin of negative 10 pixels, and top padding of 21 pixels.
In dark mode, the decorative element uses a white frame image instead of the default.
For the first image in the main media section, the decorative element spans the full viewport width minus 20 pixels and the scrollbar width, with no left offset.Here’s the rewritten version in fluent, natural English:
For the first image in an article, the image width is set to fill the full screen width minus 20 pixels and the scrollbar width. It has no left margin and includes 10 pixels of padding.
On screens wider than 61.25em (about 980px), the image width is reduced to half the screen width minus 30 pixels and the scrollbar width. It gets a 5-pixel left margin, keeps its height proportional, and adds 21 pixels of top padding.
On screens wider than 81.25em (about 1300px), the image width is further reduced to half the screen width minus 70 pixels and the scrollbar width. It still has a 5-pixel left margin, maintains its height, but now has a negative top margin of 10 pixels and 21 pixels of top padding.
For screens wider than 61.25em, the image container itself is set to full height with a maximum width of 620 pixels. A pseudo-element (“:before”) is added to the container, which spans half the screen width minus 20 pixels and the scrollbar width, aligned to the left, and matches the container’s full height.
For screens wider than 81.25em, this pseudo-element’s width is adjusted to half the screen width minus 70 pixels and the scrollbar width.Here’s the rewritten version in fluent, natural English:
The `.furniture-wrapper #main-media figure.element.is-first-image:before` rule has a left offset of -20px.
For screens wider than 46.25em (740px), on both iOS and Android devices, the caption button inside the main media area of feature, standard, and comment articles is positioned 45px from the bottom.
For screens wider than 61.25em (980px), on both iOS and Android, the main media area in these article types is set to a grid area called “portrait,” with a maximum width of 620px and automatic height.
On both iOS and Android, the figure elements inside the furniture wrapper for feature, standard, and comment articles are positioned relatively with no top margin. Their inner content (`.figure__inner`) is positioned absolutely, 15px from the top and 20px from the left, with a width that fills the viewport minus 40px and automatic height. Images inside this inner container fill the full width and height, using `object-fit: cover`.
The caption button inside these figure elements is placed 24px from the right and 20px from the bottom.
For screens wider than 46.25em (740px), on both iOS and Android, the inner content of these figure elements is 680px wide with automatic height, positioned 10px from the top and left. The caption button remains in the same position.For the caption button inside figure elements within the furniture wrapper on iOS and Android devices, the bottom position is set to 25px. This applies to feature, standard, and comment article containers.
On screens wider than 61.25em, the figure element inside the furniture wrapper on iOS and Android devices has a width calculated as half the viewport width minus 20px, minus the scrollbar width if present.
For the standfirst section inside the furniture wrapper on iOS and Android devices, the top margin is removed, and it has 8px of padding on top and 10px on the right. The pseudo-element before the standfirst is hidden.
Inside the standfirst, paragraphs, links, and list items have a font size of 20px, normal font style, medium font weight, 115% line height, and no bottom padding.
On screens wider than 61.25em, the standfirst section is placed in the grid area named “standfirst.”
The meta section inside the furniture wrapper on iOS and Android devices is also styled accordingly.For Android:
In `#standard-article-container .furniture-wrapper .meta` and `#comment-article-container .furniture-wrapper .meta`, remove top padding.
For iOS and Android:
In `#feature-article-container`, `#standard-article-container`, and `#comment-article-container`, inside `.furniture-wrapper .meta .meta__published`, set the position to relative.
Then, for the same elements, add a pseudo-element `:after` with:
– No content
– A block display
– Full viewport width
– 1px height
– Background color `#dcdcdc`
– Absolute positioning at the bottom, offset 10px to the left
At screen widths of 61.25em and above:
For iOS and Android, in the same containers, set `.furniture-wrapper .meta` to use grid area “meta” and display as block. Also, change the `:after` pseudo-element width to 50vw.
At screen widths of 81.25em and above:
For iOS and Android, in the same containers, set `.furniture-wrapper .meta .meta__misc` to have no left margin.
In dark mode (prefers-color-scheme: dark):
For iOS and Android, change the `:after` background color to `#606060`.
For iOS and Android:
In `#feature-article-container`, `#standard-article-container`, and `#comment-article-container`, inside `.furniture-wrapper .meta:before` and `.furniture-wrapper .keyline:before`, apply the same styling.“`css
.rapper .meta:before,
body.android #comment-article-container .furniture-wrapper .keyline:before {
display: none;
}
body.ios #feature-article-container .furniture-wrapper aside.element-rich-link,
body.ios #standard-article-container .furniture-wrapper aside.element-rich-link,
body.ios #comment-article-container .furniture-wrapper aside.element-rich-link,
body.android #feature-article-container .furniture-wrapper aside.element-rich-link,
body.android #standard-article-container .furniture-wrapper aside.element-rich-link,
body.android #comment-article-container .furniture-wrapper aside.element-rich-link {
display: none;
}
body.ios #feature-article-container #comment-header #cutout-container,
body.ios #standard-article-container #comment-header #cutout-container,
body.ios #comment-article-container #comment-header #cutout-container,
body.android #feature-article-container #comment-header #cutout-container,
body.android #standard-article-container #comment-header #cutout-container,
body.android #comment-article-container #comment-header #cutout-container {
display: none !important;
}
body.ios #article-body,
body.ios #feature-body,
body.android #article-body,
body.android #feature-body {
background-color: var(–weekend-essay-bg, #fff4f2);
margin-top: 6px;
}
body.ios #article-body hr,
body.ios #feature-body hr,
body.android #article-body hr,
body.android #feature-body hr {
height: 1px;
border: 0;
margin-bottom: 3px;
background-color: #dcdcdc;
width: 150px;
margin-left: 0;
margin-top: 48px;
}
body.ios #article-body p:not(:has(span)):first-of-type:first-letter,
body.ios #article-body hr + p:first-letter,
body.ios #feature-body p:not(:has(span)):first-of-type:first-letter,
body.ios #feature-body hr + p:first-letter,
body.android #article-body p:not(:has(span)):first-of-type:first-letter,
body.android #article-body hr + p:first-letter,
body.android #feature-body p:not(:has(span)):first-of-type:first-letter,
body.android #feature-body hr + p:first-letter {
font-family: Guardian Headline, Guardian Egyptian Web, Guardian Headline Full, Georgia, serif;
font-weight: 300 !important;
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(–secondary-pillar));
}
body.ios #article-body h2:has(strong),
body.ios #article-body .prose h2 strong,
body.ios #article-body .prose h2 b,
body.ios #feature-body h2:has(strong),
body.ios #feature-body .prose h2 strong,
body.ios #feature-body .prose h2 b,
body.android #article-body h2:has(strong),
body.android #article-body .prose h2 strong,
body.android #article-body .prose h2 b,
body.android #feature-body h2:has(strong),
body.android #feature-body .prose h2 strong,
body.android #feature-body .prose h2 b {
font-weight: 500 !important;
}
@media (prefers-color-scheme: dark) {
body.ios #article-body hr,
body.ios #feature-body hr,
body.android #article-body hr,
body.android #feature-body hr {
background-color: #606060;
}
body.ios #article-body hr + p:first-letter,
body.ios #feature-body hr + p:first-letter,
body.android #article-body hr + p:first-letter,
body.android #feature-body hr + p:first-letter {
color: var(–new-pillar-colour, #ff5943);
}
body.ios #article-body p > a,
body.ios #feature-body p > a,
body.android #article-body p > a,
body.android #feature-body p > a {
text-decoration: none !important;
}
}
body.ios #article-body > div .element-atom:first-of-type + p:first-of-type:first-letter,
body.ios #feature-body > div .element-atom:first-of-type + p:first-of-type:first-letter,
body.android #article-body > div .element-atom:first-of-type + p:first-of-type:first-letter,
body.android #feature-body > div .element-atom:first-of-type + p:first-of-type:first-letter {
font-weight: 500;
}
body.ios #comment-body .element-atom + p:first-of-type:first-letter,
body.ios #comment-body .element-atom + .sign-in-gate + p:first-of-type:first-letter,
body.ios #comment-body .element-atom + #sign-in-gate + p:first-of-type:first-letter,
body.ios [data-gu-name=”body”] .element-atom + p:first-of-type:first-letter,
body.ios [data-gu-name=”body”] .element-atom + .sign-in-gate + p:first-of-type:first-letter,
body.ios [data-gu-name=”body”] .element-atom + #sign-in-gate + p:first-of-type:first-letter,
body.android #comment-body .element-a
“`Here’s the revised text in fluent, natural English:
The dosimeter clipped to your chest ticks faster the moment you step off the designated path inside the Chornobyl nuclear power plant. Step back, and it slows again — an invisible line between clean ground and contamination.
Above rises the “new safe confinement” (NSC) — the largest movable steel structure ever built. It’s taller than the Statue of Liberty, wider than the Colosseum, with an arch curving overhead like an aircraft hangar built for giant planes.
Completed in 2019 at a cost of $2.5 billion (£1.85 billion) and funded by 45 countries, the NSC was built to shield the world from what lies beneath it. It sits at the heart of a vast exclusion zone — a radioactive landscape the size of Cyprus, largely abandoned by humanity. Stray dogs roam the plant in packs, and workers advise against petting them.
Inside is “the sarcophagus” — a grey concrete tomb erected in just 206 days to cover the ruins of reactor No. 4, which exploded on April 26, 1986, in the worst nuclear accident to date.
Up close, the sarcophagus looks almost makeshift — massive slabs stacked like giant building blocks, with rust streaking the joins. Inside, 180 tonnes of nuclear fuel and four to five tonnes of radioactive dust remain trapped.
The NSC was built to buy time: to allow the unstable sarcophagus to be dismantled safely over decades, while shielding against the consequences if it collapses.
What its funders did not anticipate was a war — Chornobyl was occupied in the first weeks of Russia’s 2022 invasion of Ukraine — much less a drone strike on the facility three years later.
In the northwest corner of the roof, a temporary patch marks where a cheap $20,000 Russian drone tore through the structure on February 14, 2025, punching a hole in the arch and compromising the shelter.The arch was built for one main purpose. “If the sarcophagus collapses, over a hundred tonnes of nuclear fuel would be released into the air,” said Serhii Tarakanov, the plant’s director general.
Ukrainian officials and Western experts say a full repair is needed within four years, or the NSC’s 100-year lifespan can no longer be guaranteed. The estimated cost is up to €500 million (£432 million) – money that Ukraine’s cash-strapped government hasn’t found yet.
Meanwhile, the war in Ukraine continues, and Russia has repeatedly launched drones and missiles along flight paths near the Chornobyl nuclear plant, raising the risk of another disaster.
On the 40th anniversary of the Chornobyl disaster, one of the world’s most vulnerable sites remains under threat.
The drone strike
Oleksandr Skomarokhov was woken by a security guard in the early hours of 14 February 2025. The deputy chief engineer, with a grey moustache, thick-rimmed glasses, and nearly four decades of experience at the plant, quickly realized the situation was serious. “We’ve seen shelling before, but I knew they would only wake me if something critical had happened,” he recalled.
A Russian Geran-2 drone had struck the north-west face of the arch about 85 metres above the ground – roughly the height of an eight-storey building.
The blast, which Ukraine said was intentional, punched a 15-square-metre hole through the NSC’s outer and inner walls. It was powerful enough to register on the structure’s earthquake monitoring system.
“Then, the real problems started after the fire broke out,” Skomarokhov said.
Firefighters arrived within minutes, but a rubber sealing membrane inside the roof had caught fire and kept smouldering deep within the structure, out of reach. For three weeks, teams cut 332 holes into the outer wall to reach the hotspots with water hoses.
When the fires were finally out, officials at Chornobyl said the strike had destroyed two key systems. The confinement function – the NSC’s ability to contain any radioactive release from the sarcophagus – had been compromised. So had the humidity control system, which prevents the steel structure from corroding and keeps the arch from failing.
“The Russian drone strike destroyed the main functions of the new safe confinement,” said Eric Schmieman, an engineer who led the conceptual design of the arch in the late 1990s, in a damage assessment commissioned by Greenpeace Ukraine.
If the sarcophagus collapses – whether from a strike, structural failure, or age (built for 20 years, now standing for 40) – experts say it would release another cloud of radioactive particles into the air with no safeguard to contain it.
“The collapse of the sarcophagus would primarily be a huge danger for those working at the Chornobyl plant and would set back dealing with the disaster for many more years,” said Shaun Burnie, a senior nuclear specialist with Greenpeace.
Beyond the financial costs and the war, there’s the question of how to repair the confinement shelter at all. High radiation levels directly above the damaged section mean workers can legally spend no more than about 20 hours a year in that zone before hitting their annual dose limit.
Serhii Tarakanov, Chornobyl’s director general, says repair work to the confinement shelter will require about 100 qualified construction workers.Workers will be able to do their jobs there for just a few hours, or even a few minutes at a time,” said Tarakanov. He added that the work would need about 100 skilled construction workers, who would operate in short shifts high up on a curved, contaminated surface.
View image in fullscreen: Inside the control room of reactor No. 4, where the disaster happened in 1986.
There’s something hard to fully grasp about all of this, reflected Skomarokhov, who started working at Chornobyl in 1987, a year after the disaster. “I knew what happened here and wanted to make sure it would never happen again,” he said, speaking in what remains of control room No. 4. It was here, at 1:23 a.m. on April 26, 1986, that operators pressed the AZ-5 emergency button in a last attempt to shut down the reactor.
Instead, a deadly mix of design flaws and an unstable core caused an explosion.
In the room, Soviet control panels, dials, and switches are frozen in place, with paint peeling off in long strips. But you can still see where the button once was—a dark hole marks its spot.
View image in fullscreen: The control room of reactor No. 4, where operators pressed the AZ-5 emergency shutdown button in a last attempt to shut down the reactor.
Twenty-eight people died from acute radiation sickness in the weeks that followed. About 116,000 people were evacuated. Radioactive particles drifted northwest across Europe. The disaster was first detected not in the Soviet Union, but in Sweden a few days later, when a worker at a nuclear plant set off radiation alarms on his way into work.
View image in fullscreen: An aerial view of the Chornobyl nuclear plant shows the damage from the explosion on April 26, 1986. Photograph: Volodymyr Repik/AP
In his book on Chornobyl, Ukrainian historian Serhii Plokhy argues that the disaster helped shape a modern Ukrainian national identity by exposing the failures of the Soviet system. For many people, he writes, it was a breaking point—a sudden clarity about the nature of the system they lived under.
Russia’s full-scale invasion in 2022 was another moment of national unity, and once again Chornobyl was caught up in it. Russian forces crossed the border on February 24, 2022, and moved directly toward the plant, using the route through Belarus that passes within kilometers of the exclusion zone.
View image in fullscreen: A committee watches archival videos of the Russian occupation in 2022 in Chornobyl.
Within hours, the site became an active military zone. Russian soldiers dug defensive trenches very close to the “red forest”—the area just west of the plant that received some of the heaviest contamination in 1986 and remains among the most radioactive parts of the exclusion zone.
Staff who arrived for scheduled shifts before the Russian attack were held and forced to work continuous rotations for nearly a month.
View image in fullscreen: Staff in one of the control rooms at the Chornobyl nuclear plant.
“I’ve seen a lot in my life, but I never imagined war would come here,” said Natalia, who has worked at Chornobyl since 1980, making her one of the longest-serving staff members.
Natalia, who asked that her last name not be used, later moved to Slavutych, the last Soviet city built in 1987 to house plant workers after Pripyat—the original company town 4 km from the reactor—was abandoned overnight.
During the town’s occupation, she and her colleagues were cut off from the rest of the country, with no internet or supply lines. “Local farmers had to smuggle in milk,” she said.
View image in fullscreen: Damage and military remains from soldiers after Russian troops withdrew from Chornobyl, Ukraine. Photograph: Anadolu Agency/Getty
When Russian forces withdrew from Chornobyl after 35 days, they left behind looted offices—computers, microwaves, and fridges taken from the rooms where staff had worked for decades.
Posters around the site still bear the names of six Chornobyl workers taken during the occupation.Upon entering the 1,000-square-mile exclusion zone, the first thing you notice is the military presence—checkpoints, soldiers, and the occasional armored vehicle. As you drive deeper, the forest takes over, with pine trees pressing in on both sides and small villages appearing through the treeline. The homes are abandoned, and small signs on some doors record how many people used to live there.
Where humans can no longer live, other species have moved in. Stocky Przewalski’s horses graze, and wolves and lynx hunt in forests that have regrown over former farmland. In the cooling pond beside the reactor, catfish have grown to extraordinary sizes.
But the exclusion zone’s isolation offers no protection from the war.
Since October 2024, the plant has experienced four total blackouts caused by Russian strikes on the electricity grid. Each time, emergency diesel generators were needed to keep the spent fuel cooling systems running.
Additional air defenses and soldiers have been brought in, said Vadim Slipukha, the deputy director general for security at the site. However, he noted that the threat hasn’t gone away. Even an unintentional strike from a drone knocked off course by electronic warfare could trigger a collapse of the sarcophagus.
“We are begging the international community to understand,” said Tarakanov. “There is a real risk of a new incident. It could happen any night, any day.”
Frequently Asked Questions
Here is a list of FAQs about the ongoing risks at the Chornobyl site 40 years after the disaster and amid Russias war in Ukraine
BeginnerLevel Questions
1 Is the Chornobyl nuclear plant still running
No Reactor 4 exploded in 1986 and the other three reactors were shut down by 2000 The site is now a decommissioning and waste management facility
2 Why is Chornobyl still dangerous 40 years later
The main danger is the radioactive material left behind While the explosion was contained highly radioactive fuel dust and waste remain inside the damaged reactor and in the surrounding Exclusion Zone This material takes hundreds to thousands of years to decay
3 What does Russias war have to do with Chornobyl
In February 2022 Russian forces invaded and occupied the Chornobyl site for several weeks This broke the security protocols damaged sensitive equipment and raised fears of a new radiation leak
4 Did the Russian occupation cause a new disaster
No major disaster happened but it created serious risks The occupation disrupted power supplies to the cooling systems for stored nuclear waste which could have overheated and released radiation Soldiers also stirred up radioactive dust by driving heavy vehicles through contaminated areas
5 Is it safe to visit the Chornobyl Exclusion Zone now
It depends on the current security situation Before the war it was open to tourists with strict safety rules During the war it is closed due to active fighting mines and the risk of radiation exposure from damaged facilities
AdvancedLevel Questions
6 What specific damage did the Russian occupation cause to the New Safe Confinement arch
The NSC is the massive steel arch built to cover the destroyed Reactor 4 While the structure itself wasnt structurally damaged the occupation caused a loss of power and control This meant the ventilation and filtration systems inside the arch were offline increasing the risk of radioactive dust buildup and potential release
7 How does the war affect the longterm cleanup and waste storage at Chornobyl
The war has halted all nonessential decommissioning work Scientists and engineers have been evacuated and the site is now a military hazard zone This delays the crucial process of safely removing and storing the tons of highly radioactive fuel