@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:
@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;
}
@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.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 the class `element–immersive`, the caption should have 4px of padding on top and none on the sides or bottom. This applies to captions inside `[data-gu-name=body]`, `#feature-body`, and similar containers.
Inside the main article body, interactive grid elements with `[data-gu-name=lines]` or `[data-gu-name=meta]` should be placed in the grid area starting at row 2, column 1, and ending at row 5, column 2. This applies to `#article-body>div`, `.content–interactive>div`, `#comment-body`, `[data-gu-name=body]`, and `#feature-body`.
For `[data-gu-name=lines]` specifically, the height should be set to `max-content` (with a fallback for older browsers) and it should have a 5px top margin. For `[data-gu-name=meta]`, the top margin should be 18px.
On screens wider than 81.25em (1300px), the interactive grid layout should use five columns: 219px, 1px, 620px, 80px, and 300px.
On iOS and Android devices, the first paragraph inside the article header’s standfirst should use the font `Guardian Headline` (or similar fallbacks) 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 12px of top padding. The byline author’s name should use the same font family with a weight of 700, and any links inside it should also be bold. Images with the class `element-image` should have their inner figure height set to `auto`. Any paragraph that immediately follows an `element-atom` figure should have no top margin.
Finally, the custom font `Guardian Headline Full` is defined with three formats (woff2, woff, ttf) for light weight (300) and normal style, as well as a light italic version.Here is the rewritten text in fluent, natural English:
@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;
}
@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;
}Here is the rewritten text in fluent, natural English:
“`
@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”] {
align-self: flex-end;
margin-bottom: 40px;
margin-right: 3px;
}
[data-gu-name=”media”]:has(figure.loop) figure.loop .controls-container div:has(button[data-testid=”unmute-icon”]) {
/ No styles defined /
}
“`.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%, 0.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;
}
#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 hr:not(.last-horizontal-rule) + p,
.content–interactive > div .element-atom:first-of-type + p:first-of-type,
.content–interactive > div .element-atom:first-of-type + .sign-in-gate + p:first-of-type,
.content–interactive > div .element-atom:first-of-type + #sign-in-gate + p:first-of-type,
.content–interactive > div hr:not(.last-horizontal-rule) + p,
#comment-body .element-atom:first-of-type + p:first-of-type,
#comment-body .element-atom:first-of-type + .sign-in-gate + p:first-of-type,
#comment-body .element-atom:first-of-type + #sign-in-gate + p:first-of-type,
#comment-body hr:not(.last-horizontal-rule) + p,
[data-gu-name=”body”] .element-atom:first-of-type + p:first-of-type,
[data-gu-name=”body”] .element-atom:first-of-type + .sign-in-gate + p:first-of-type,
[data-gu-name=”body”] .element-atom:first-of-type + #sign-in-gate + p:first-of-type,
[data-gu-name=”body”] hr:not(.last-horizontal-rule) + p,
#feature-body .element-atom:first-of-type + p:first-of-type,
#feature-body .element-atom:first-of-type + .sign-in-gate + p:first-of-type,
#feature-body .element-atom:first-of-type + #sign-in-gate + p:first-of-type,
#feature-body hr:not(.last-horizontal-rule) + p {
padding-top: 14px;
}
#article-body > div .element-atom:first-of-type + p:first-of-type:first-letter,
#article-body > div .element-atom:first-of-type + .sign-in-gate + p:first-of-type:first-letter,
#article-body > div .element-atom:first-of-type + #sign-in-gate + p:first-of-type:first-letter,
#article-body > div hr:not(.last-horizontal-rule) + p:first-letter,
.content–interactive > div .element-atom:first-of-type + p:first-of-type:first-letter,
.content–interactive > div .element-atom:first-of-type + .sign-in-gate + p:first-of-type:first-letter,
.content–interactive > div .element-atom:first-of-type + #sign-in-gate + p:first-of-type:first-letter,
.content–interactive > div hr:not(.last-horizontal-rule) + p:first-letter {Here is the rewritten text in fluent, natural English:
The first letter of the first paragraph after a sign-in gate, an element atom, or a horizontal rule (excluding the last one) in various sections of the page should use the following style: font family “Guardian Headline” (or similar fallback fonts), bold, 111px font size, 92px line height, floated left, uppercase, with 8px right margin, aligned to the top of the text, and colored using the drop cap or pillar color variable.
Paragraphs that come right after a horizontal rule in the article body, interactive content, comment body, feature body, or body section should have no top padding.
Pull quotes in these sections should have a maximum width of 620px.
For showcase images in the main content, feature article, standard article, and comment article containers, the caption should be positioned statically with a width of 100% and a max width of 620px. On screens wider than 71.25em, the caption should be positioned absolutely with a max width of 140px. On screens wider than 81.25em, the max width should be 220px.
Immersive elements should take up the full viewport width (minus the scrollbar). On screens up to 71.24em, the max width should be 978px, and the caption should have 10px padding on each side. On screens between 30em and 71.24em, the caption padding should be 20px. On screens between 46.25em and 61.24em, the max width should be 738px. On screens up to 46.24em, the immersive element should have a left margin of -10px (or -20px on screens 30em and wider) and no right margin, with a left offset of 0. On screens 30em and wider, the caption padding should be 20px.
For showcase elements in the body section on screens wider than 71.25em, the left margin should be -160px. On screens wider than 81.25em, the left margin should be -220px.Here’s the rewritten version in fluent, natural English:
For showcase elements inside the main content column, the left margin is set to -240 pixels. This applies to figure elements with the classes “element element–showcase element-showcase” within the content area.
For screens wider than 61.25em (about 980px), the furniture wrapper uses a grid layout with a 20px gap between columns and no row gap. The grid has two rows and two sets of columns. The first row starts with the title and portrait, followed by the headline, then the standfirst and meta sections. The first child of the headline section gets a top border using the header border color.
The meta section has a small top padding and no right margin. The standfirst section has a bottom margin of 4px, and its list items use a 20px font size. Links in the standfirst have no bottom border or background image, but are underlined with a 6px offset. The underline color matches the header border. When you hover over these links, the underline color changes to the pillar color. The first paragraph in the standfirst has a top border and no bottom padding.
For screens wider than 71.25em (about 1140px), the first paragraph in the standfirst no longer has a top border. Figures in the furniture wrapper have no margin on the top, right, or bottom, and a -10px left margin. Inline figures with the data-spacefinder-role attribute have a maximum width of 630px.
For screens wider than 71.25em, the grid layout changes. It now has three column tracks: one for the title, headline, and meta (2 columns), one for the standfirst (5 columns), and one for the portrait (7 columns). The rows are set to 80px for the title, auto for the headline, and auto for the standfirst and meta. The meta section gets a 540px-wide top border using the header border color. The standfirst paragraphs no longer have a top border, but the standfirst section gets a 1px-wide left border using the header border color, spanning the full height.
For screens wider than 81.25em (about 1300px), the grid layout expands further. The first column track now has 3 columns for the title, headline, and meta. The second track has 5 columns for the standfirst, and the third track has 8 columns for the portrait. The rows are set to 0.25fr for the title, 1fr for the headline, and 0.75fr for the standfirst and meta. The meta section’s top border is now 620px wide. The standfirst section still has the 1px left border.Here’s the rewritten version in fluent, natural English:
The furniture wrapper styles adjust the layout and appearance of article headers, standfirsts, headlines, media, and captions. The headline uses a bold font weight, with a maximum width of 620px and a font size of 32px. On wider screens (over 71.25em), the headline width is reduced to 540px and the font size increases to 50px.
On medium screens (46.25em and above), the keyline and lines elements have no right margin. On larger screens (61.25em and above), these elements are hidden. The SVG inside them uses a stroke color defined by the header border variable.
The meta section also has no right margin on medium screens. Social and comment elements within the meta section use the header border color. Some meta container elements are hidden.
The standfirst section is positioned with a left margin of -10px and a left padding of 10px. On medium screens, it gets a small top padding. The standfirst text is 20px with normal weight and has bottom padding of 14px.
The main media section is positioned relative, with no top margin and a small bottom margin. It takes up the full width on small screens (up to 46.24em), with a left margin of -10px (or -20px on screens wider than 30em). On larger screens, the bottom margin is removed.
The figure caption is placed at the bottom of the media, with padding and background and text colors set by variables. It has a minimum height of 46px. The first span inside the caption is hidden, while the second span is shown and takes up to 90% width. On screens wider than 30em, the caption padding increases. If the caption has the “hidden” class, it becomes invisible.
The caption button is positioned at the bottom right of the media, with a circular background, no border, and some padding. Its SVG is slightly scaled down. On wider screens, the button moves slightly to the right.
For interactive article columns on very wide screens (71.25em and above), a pseudo-element is positioned with a negative top offset and increased height. The h2 headings inside these columns have a max width of 620px.
On iOS and Android devices, custom CSS variables are set for dark mode, feature colors, and pillar colors. These adjust based on the user’s color scheme preference.For iOS and Android devices, the first letter of the first paragraph after the first element atom (or after a sign-in gate) in feature, standard, and comment article containers should be colored using the secondary pillar color (defaulting to black).
On iOS and Android, the article header in feature, standard, and comment article containers should have a height of zero.
On iOS and Android, the furniture wrapper in feature, standard, and comment article containers should have padding of 4px on top and 10px on the sides. Inside the furniture wrapper, the content labels should be bold, use the font family “Guardian Headline, Guardian Egyptian Web, Guardian Headline Full, Georgia, serif”, be colored with the new pillar color, and have capitalized text.
On iOS and Android, the headline (h1) inside the furniture wrapper in feature, standard, and comment article containers should be 32px in size, bold, have 12px of padding at the bottom, and be colored #121212 (important).
On iOS and Android, any figure with the class “element-image” inside the furniture wrapper in feature, standard, and comment article containers should… (the text cuts off, so the rule is incomplete).Here’s the rewritten CSS in fluent, natural English:
The `.element-image` figure is positioned relatively, with a 14px top margin and a left offset of -10px. Its width spans the full viewport width minus the scrollbar width, and its height adjusts automatically.
On iOS and Android devices, within the furniture wrapper of feature, standard, and comment article containers, the `.figure__inner`, `img`, and `a` elements inside `.element-image` figures have a transparent background. They also take up the full viewport width minus the scrollbar, with height forced to auto.
For the same device and container combinations, the `.standfirst` section has 4px of top padding and 24px of bottom padding, with a right margin of -10px.
Inside `.standfirst__inner`, all paragraph text uses the font stack: Guardian Headline, Guardian Egyptian Web, Guardian Headline Full, Georgia, serif.
Links inside `.standfirst__inner` (including those in list items) are styled with the pillar colour, no background image, an underline with a 6px offset, and a decoration colour matching the header border (default `#dcdcdc`). The bottom border is removed. On hover, these links…For links inside the standfirst of article containers on iOS and Android, when you hover over them, the underline color changes to match the pillar color.
On iOS and Android, the meta section inside the furniture wrapper of feature, standard, and comment article containers has no margin.
The byline text, author names, and byline links inside the meta section of these article containers all use the pillar color.
The meta__misc section inside the furniture wrapper has no padding on iOS and Android.
The SVG icons inside the meta__misc section also have no padding on iOS and Android.per .meta__misc svg {
stroke: var(–new-pillar-colour);
}
body.ios #feature-article-container .furniture-wrapper .element–showcase #caption-button,
body.ios #standard-article-container .furniture-wrapper .element–showcase #caption-button,
body.ios #comment-article-container .furniture-wrapper .element–showcase #caption-button,
body.android #feature-article-container .furniture-wrapper .element–showcase #caption-button,
body.android #standard-article-container .furniture-wrapper .element–showcase #caption-button,
body.android #comment-article-container .furniture-wrapper .element–showcase #caption-button {
display: flex;
padding: 5px;
justify-content: center;
align-items: center;
width: 28px;
height: 28px;
right: 14px;
}
body.ios #feature-article-container .article__body,
body.ios #standard-article-container .article__body,
body.ios #comment-article-container .article__body,
body.android #feature-article-container .article__body,
body.android #standard-article-container .article__body,
body.android #comment-article-container .article__body {
padding: 0 12px;
}
body.ios #feature-article-container .article__body figure.element-image:not(.element–thumbnail):not(.element–immersive),
body.ios #standard-article-container .article__body figure.element-image:not(.element–thumbnail):not(.element–immersive),
body.ios #comment-article-container .article__body figure.element-image:not(.element–thumbnail):not(.element–immersive),
body.android #feature-article-container .article__body figure.element-image:not(.element–thumbnail):not(.element–immersive),
body.android #standard-article-container .article__body figure.element-image:not(.element–thumbnail):not(.element–immersive),
body.android #comment-article-container .article__body figure.element-image:not(.element–thumbnail):not(.element–immersive) {
margin: 0;
width: calc(100vw – 24px – var(–scrollbar-width, 0px));
height: auto;
}
body.ios #feature-article-container .article__body figure.element-image:not(.element–thumbnail):not(.element–immersive) figcaption,
body.ios #standard-article-container .article__body figure.element-image:not(.element–thumbnail):not(.element–immersive) figcaption,
body.ios #comment-article-container .article__body figure.element-image:not(.element–thumbnail):not(.element–immersive) figcaption,
body.android #feature-article-container .article__body figure.element-image:not(.element–thumbnail):not(.element–immersive) figcaption,
body.android #standard-article-container .article__body figure.element-image:not(.element–thumbnail):not(.element–immersive) figcaption,
body.android #comment-article-container .article__body figure.element-image:not(.element–thumbnail):not(.element–immersive) figcaption {
padding: 0;
}
body.ios #feature-article-container .article__body figure.element-image.element-immersive,
body.ios #standard-article-container .article__body figure.element-image.element-immersive,
body.ios #comment-article-container .article__body figure.element-image.element-immersive,
body.android #feature-article-container .article__body figure.element-image.element-immersive,
body.android #standard-article-container .article__body figure.element-image.element-immersive,
body.android #comment-article-container .article__body figure.element-image.element-immersive {
width: calc(100vw – var(–scrollbar-width, 0px));
}
body.ios #feature-article-container .article__body .prose blockquote.quoted:before,
body.ios #standard-article-container .article__body .prose blockquote.quoted:before,
body.ios #comment-article-container .article__body .prose blockquote.quoted:before,
body.android #feature-article-container .article__body .prose blockquote.quoted:before,
body.android #standard-article-container .article__body .prose blockquote.quoted:before,
body.android #comment-article-container .article__body .prose blockquote.quoted:before {
color: var(–new-pillar-colour);
}
body.ios #feature-article-container .article__body .prose a,
body.ios #standard-article-container .article__body .prose a,
body.ios #comment-article-container .article__body .prose a,
body.android #feature-article-container .article__body .prose a,
body.android #standard-article-container .article__body .prose a,
body.android #comment-article-container .article__body .prose a {
/ content continues /
}In the article container, links inside the article body text are styled with the primary pillar color, no background image, an underline, and a 6px offset. The underline color matches the header border.
On iOS and Android devices, when you hover over these links in feature, standard, or comment articles, the underline color changes to the new pillar color.
In dark mode (when the system prefers a dark color scheme), the furniture wrapper background in these article containers becomes dark gray (#1a1a1a). The content labels inside the wrapper use the new pillar color. The main headline (h1) has no background and uses the header border color. The standfirst text also uses the header border color. Links in the standfirst, as well as the byline author and its links, all use the new pillar color.For iOS and Android, the following styles apply:
– In article containers (feature, standard, and comment), the SVG icons inside `.meta__misc` within `.furniture-wrapper` use a stroke color set by `–new-pillar-colour`.
– On iOS and Android, in the same article containers, the captions for showcase images inside `.furniture-wrapper` use the color defined by `–dateline`.
– For quoted blockquotes in the article body (`.prose blockquote.quoted`), the text color is set to `–new-pillar-colour` on both iOS and Android.
– The background color of the main article body sections (like `#article-body > div`, `.content–interactive > div`, `#feature-body`, `[data-gu-name=body]`, and `#comment-body`) is forced to `–darkBackground` on both platforms.
– In those same body sections, the first letter of a paragraph that follows an `.element-atom` (or after `.sign-in-gate` or `#sign-in-gate`) is styled with a specific initial letter effect.Here is the rewritten text in fluent, natural English:
On iOS, the following CSS rules apply the `::first-letter` pseudo-element to paragraphs that come right after an `.element-atom` (or after a `.sign-in-gate` or `#sign-in-gate` that follows an `.element-atom`). These rules apply in several containers:
– Inside `#feature-article-container`, within `[data-gu-name=”body”]` and `#comment-body`.
– Inside `#standard-article-container`, within `#article-body > div`, `.content–interactive > div`, `#feature-body`, `[data-gu-name=”body”]`, and `#comment-body`.
– Inside `#comment-article-container`, within `#article-body > div`, `.content–interactive > div`, `#feature-body`, `[data-gu-name=”body”]`, and `#comment-body`.
On Android, the same `::first-letter` styling applies to paragraphs that come right after an `.element-atom` (or after a `.sign-in-gate` or `#sign-in-gate` that follows an `.element-atom`). These rules apply in:
– Inside `#feature-article-container`, within `#article-body > div`, `.content–interactive > div`, and `#feature-body`.Here’s the rewritten version in fluent, natural English:
On Android devices, the first letter of certain paragraphs should appear in white. This applies to paragraphs that come right after an element-atom, or after a sign-in gate followed by an element-atom, in various sections of feature, standard, and comment article containers. The specific sections include the article body, interactive content areas, feature body, data-gu-name body, and comment body.
For iOS and Android comment-type articles, the standfirst section inside the furniture wrapper should have 24 pixels of padding at the top and no margin above it.
In regular text, headings (h2) should be 24 pixels in size.
On iOS devices, the caption button in feature, standard, and comment article containers should have 6 pixels of padding on the top and bottom, and 5 pixels on the left and right, with no padding at the top.Here is the rewritten text in fluent, natural English:
“`css
/ Caption button styling for article containers on Android /
body.android #standard-article-container #caption-button,
body.android #comment-article-container #caption-button,
.ture-article-container #caption-button {
padding: 4px 4px 0;
}
/ Dark mode color overrides /
@media (prefers-color-scheme: dark) {
:root:root:not([data-color-scheme=light]) {
–follow-text: #dcdcdc;
–follow-icon-fill: var(–darkmode-pillar);
–standfirst-text: #dcdcdc;
–standfirst-link-text: var(–darkmode-pillar);
–standfirst-link-border: var(–darkmode-pillar);
–byline: var(–darkmode-pillar);
}
}
/ Font weight for headlines and standfirst text across platforms /
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,
.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 background and variable overrides for weekend essay /
: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);
}
/ Hide lines element /
[data-gu-name=lines] {
display: none;
}
/ Furniture wrapper positioning /
.furniture-wrapper {
position: relative;
}
/ Grid layout for larger screens /
@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];
}
}
/ Article header and title styling /
.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;
}
/ Decorative book icon after labels /
.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/1784045269/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;
}
}
/ Full height for labels container /
.furniture-wrapper .article-header .content__labels > div,
.furniture-wrapper [data-gu-name=title] .content__labels > div {
height: 100%;
}
/ Horizontal line below labels /
.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;
}
}
/ Responsive header heights /
@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;
}
}
/ Headline margin adjustment on large screens /
@media (min-width: 81.25em) {
.furniture-wrapper #headline,
.furniture-wrapper [data-gu-name=headline],
.furniture-wrapper .headline {
margin-top: -2px;
}
}
/ Headline inner div styling /
.furniture-wrapper #headline > div > div,
.furniture-wrapper [data-gu-name=headli
“`In `.furniture-wrapper > div > div` and `.furniture-wrapper .headline > div > div`, the bottom padding is set to zero.
For the headline section (using `#headline`, `[data-gu-name=headline]`, or `.headline`), the `.portrait-mainmedia__headline-wrapper` is styled to be full height, positioned relatively, with hidden overflow and 24px of bottom padding. Inside this wrapper, `h1` and `a` elements have no maximum width. When you hover over them, the underline becomes 2px thick and is offset by 6px from the text.
The `h1`, `a`, and `.byline span` inside the same wrapper have a line height of 115%, a font weight of 500, and a font size of 36px. On screens wider than 71.25em, the font size increases to 50px.
The standfirst section (using `.standfirst`, `#standfirst`, or `[data-gu-name=standfirst]`) is positioned relatively with 4px of top padding. On screens wider than 61.25em, the top padding is removed, and on screens wider than 71.25em, it becomes 2px.
In the meta section (using `#meta` or `[data-gu-name=meta]`), the `gu-island[name=Branding]` inside `.content__meta-container_dcr` is displayed as a block element.
The main media section (using `#main-media` or `[data-gu-name=media]`) is positioned relatively. On screens wider than 61.25em, it is placed in the grid area called “portrait”. Any direct child `div` inside this section is also positioned relatively. Any `div` followed by a `span` is displayed as a block. The `figure` element inside this section is full height with a left margin of 10px. Inside the `figure`, the `picture img` and `figcaption` elements follow the furniture…Here’s the rewritten CSS in fluent, natural English:
For the wrapper with `[data-gu-name=media]`, the image inside the figure and the figure caption should be 100% of the viewport width minus 40px and the scrollbar width. They should have automatic height, a left margin of 10px, and 10px padding on top and bottom.
For the furniture wrapper’s main media and media figures, the caption should have a 10px bottom margin and 10px padding all around.
Before the figure in both the main media and media sections, add a decorative element. It should be a block that spans the full viewport width minus 20px and the scrollbar width. Use a background image from the given URL, sized to fit, centered, and not repeated. Position it absolutely at the top with a 10px left offset, and let it inherit the figure’s height.
For cinemagraph figures, the first div should have a transparent background. The video inside should be 92% wide, with 16px top margin and 8px left/right margins. The caption should have a 12px bottom margin, be 93% wide, and have a 2px left margin.
On screens wider than 23.4375em (about 375px), the cinemagraph video should be 94% wide. The caption should still have a 12px bottom margin, but now be 91% wide with a 9px left margin.
On screens wider than 46.25em (about 740px), the figure should have no left margin. The image should be 670px wide with automatic height, a 5px left margin, and 15px top/bottom padding with 10px left/right padding. The decorative element should be 700px wide and shifted 10px to the left. The caption should be 650px wide, with a 15px left margin, 15px bottom margin, and 15px top/bottom padding with 10px left/right padding. The cinemagraph video should be 96% wide with 18px top margin and 6px left/right margins. Its caption should be 96% wide with a 6px left margin and 17px bottom margin.
On screens wider than 61.25em (about 980px), the decorative element should be 470px wide. The image and caption should both be 450px wide with no left margin. The image should have 10px top/bottom padding. The caption should have a 10px bottom margin. The cinemagraph video should have 10px top margin and 6px left/right margins. Its caption should have a 6px left margin and 12px bottom margin.
On screens wider than 71.25em (about 1140px), the decorative element should be 550px wide. The image should be 520px wide with a 5px left margin and 10px top/bottom padding with 5px left/right padding. The caption should be 510px wide with a 10px left margin and 10px bottom margin. The cinemagraph video should have 12px top margin and 6px left/right margins.Here is the rewritten text in fluent, natural English:
For the caption and furniture wrapper:
When a figure with the class “cinemagraph” is inside a media element, the caption should have a left margin of 6px and a bottom margin of 15px.
At screen widths of 81.25em and above:
– The figure inside `#main-media` or `[data-gu-name=media]` should have a `::before` pseudo-element that is 630px wide.
– The image inside the picture element should be 600px wide with 15px of padding on top and bottom.
– The figure caption should be 600px wide, with a left margin of 5px and a bottom margin of 15px.
– For cinemagraph figures, the video should have a top margin of 16px and left/right margins of 8px.
– The cinemagraph caption should have a left margin of 8px.
For the caption button inside `#main-media` or `[data-gu-name=media]`:
– It should be positioned 15px from the right and 20px from the bottom.
– At 46.25em and above: 45px from the right, 30px from the bottom.
– At 61.25em and above: 15px from the right, 20px from the bottom.
– At 71.25em and above: 20px from the right.
– At 81.25em and above: 30px from the bottom.
If the media element contains a cinemagraph:
– The caption button should be 20px from the right.
– At 46.25em and above: 35px from the right, 25px from the bottom.
– At 61.25em and above: 25px from the right, 20px from the bottom.
– At 71.25em and above: 25px from the bottom.
For the “no-media-div” inside `#main-media` or `[data-gu-name=media]`:
– It should use flexbox, centered both horizontally and vertically, and take up the full width.
– The paragraph inside it should be 24px in font size, with a font weight of 500, line height of 115%, and use the `–byline-anchor` color. It should also be bold, underlined, and displayed as a block.
At 71.25em and above:
– The `.content__main-column–interactive` class should have no left margin and its `::before` pseudo-element should be hidden.
For the interactive main column:
– An aside with `data-spacefinder-role=”supporting”` that contains a blockquote should have a background color of `var(–weekend-essay-bg, #fff4f2)`.
– The first paragraph’s first letter should have a font weight of 300.
– For paragraphs that follow an `
`, a `.progress-bar-wrapper`, or have the class `drop-cap`, the first letter should use the font family “Guardian Headline” (or similar), be 111px in size, have a line height of 92px, be uppercase, float left, have a right margin of 8px, and use the color `var(–drop-cap, var(–new-pillar-colour))`.
For h2 headings inside the interactive column:
– They should be colored `#8d2700`, 28px in size, with a font weight of 300 and no extra style. The bottom margin should be 8px.
– At 71.25em and above, the font size should increase to 32px.
– If the h2 contains a `` tag, the font weight should be 500.
For figures that contain an iframe:
– They should have a background color of `var(–weekend-essay-bg, #fff4f2)`.
At 71.25em and above:
– For a figure with the classes `element-showcase` and `element–showcase`, the caption should be positioned absolutely.For app-based views, the byline section with the FollowWrapper component should be displayed as a block with a 10px top margin. The text inside the FollowWrapper span should have a font size of 14 pixels.
For the main media section, images and figures should use a width that fits their content.
When the device is set to dark mode, the background color for articles should be a dark gray (#1a1a1a). In this mode, decorative elements like the article header line and the weekend essay label should use a white animated book icon. The FollowWrapper SVG icons should also appear in white. Additionally, the main media images should have a white frame overlay.
On iOS and Android devices, the page background is white. The content labels in feature, standard, and comment article containers should follow the same styling rules.For Android and iOS devices, the following styles apply:
– In article containers (feature, standard, and comment), the `.content__labels` and `h1.headline` inside `.furniture-wrapper` have a font weight of 500.
– When the device is set to light mode, the background color of the page (for iOS or Android) is set to `var(–weekend-essay-bg, #fff4f2)`.
– For both iOS and Android, the opinion theme uses these colors:
`–opinion-primary: #c74600`, `–byline-anchor: var(–opinion-primary)`, and `–primary-pillar: var(–opinion-primary)`.
– In light mode, the background for iOS and Android is `var(–weekend-essay-bg, #fff4f2)`.
– In dark mode:
– The background becomes `#1a1a1a` and the opinion primary color changes to `#ff7f0f`.
– For opinion articles (not media type) on iOS, the article body and tags have no background color.
– On iOS and Android, all article containers use `var(–weekend-essay-bg, #fff4f2)` as their background.
– On screens wider than 61.25em, the furniture wrapper in article containers uses a grid layout with 20px column gaps, no row gaps, and 10 columns. The grid rows are defined for title, headline, standfirst, and meta sections.
– The `.title-and-gif-wrapper` inside the furniture wrapper is displayed as a flex container with items in a row, spaced apart, and positioned relatively.
– Inside this wrapper, the `.content__labels` text is styled at 17px, normal style, bold (700), with 115% line height. The labels also contain links.Here’s the rewritten CSS in fluent, natural English:
For links inside the content labels of article wrappers on both Android and iOS, the text color is set to a custom pillar color (or a default orange-red), and text transformation is turned off.
On iOS and Android, the GIF containers and their images inside the title-and-GIF wrapper of feature, standard, and comment article containers are set to a fixed width and height of 70 pixels.
When a GIF container or its image has the class “book-gif-white,” it is hidden (not displayed) on both iOS and Android.
In dark mode (when the user’s system prefers a dark color scheme), the regular “book-gif” class (without “white”) is hidden instead, on both iOS and Android.Here’s the rewritten version in fluent, natural English:
– In `.ture-wrapper .title-and-gif-wrapper .gif-container.book-gif` and `body.android #comment-article-container .furniture-wrapper .title-and-gif-wrapper .gif-container img.book-gif`, the display is set to `none`.
– For iOS and Android devices, the following elements are set to `display: block`:
– `.book-gif-white` inside `.gif-container` in `#feature-article-container`, `#standard-article-container`, and `#comment-article-container`
– The `img.book-gif-white` inside those same containers
– On both iOS and Android, after the `.title-and-gif-wrapper` in all three article containers (`#feature-article-container`, `#standard-article-container`, and `#comment-article-container`), a pseudo-element is added. It shows a 1-pixel tall, light gray (`#dcdcdc`) horizontal line that spans the full width of the viewport. This line is positioned at the bottom of the wrapper, starting 10 pixels to the left.
– On screens wider than 61.25em (about 980px), the `.title-and-gif-wrapper` is placed in the `title` area of the grid. The horizontal line after it is reduced to half the viewport width (50vw).
– In dark mode (when the user’s system prefers a dark color scheme), the horizontal line changes to a darker gray (`#606060`).
– On larger screens (61.25em and above), the `.portrait-mainmedia__headline-wrapper` inside the same article containers is also adjusted for iOS and Android.For the headline wrapper in the media section, and on Android devices within the furniture wrapper of feature, standard, and comment article containers, the portrait main media headline wrapper is set to the grid area “headline.”
On iOS and Android devices, for the furniture wrapper in feature, standard, and comment article containers, the headline (h1), the byline, the byline text, and the byline links all have a font size of 36 pixels, normal font style, a font weight of 500, and a line height of 115%.
Also on iOS and Android, for the same containers and elements, the byline, byline text, and byline links use the color defined by the variable `–new-pillar-colour`, which defaults to `#c70000` (a shade of red).
In dark mode (when the user’s system prefers a dark color scheme), these same byline elements on iOS and Android devices keep the same color settings.For iOS and Android, the byline text and links inside the furniture wrapper of comment, feature, and standard article containers should use the new pillar color (default: #c74600) as the text color, with !important.
On iOS and Android, the avatar inside the byline of these containers should be hidden (display: none).
For the headline (h1) inside the furniture wrapper of these containers on both iOS and Android, set the bottom margin and padding to 0.
The byline text in these containers on iOS and Android should be italicized.
However, the author name inside the byline (byline__author) should not be italicized (font-style: normal).
For the main media section inside these containers on iOS and Android, set the height to auto, the aspect ratio to 4:5, and the background color to transparent.
Also, for the main media figure element inside these containers on iOS and Android, set the height to 100% (with !important) and remove the left margin. The inner part of the figure (figure__inner) should also have no left margin.For the `.figure__inner` inside `#main-media` within `.furniture-wrapper` in article containers, and for Android devices in standard and comment article containers, the position is set to relative, with top and left at 0.
For iOS and Android devices, in feature, standard, and comment article containers, the `.element__inner` inside `#main-media` within `.furniture-wrapper` has a transparent background, visible overflow, and no padding.
For images inside `.element__inner` or directly inside `figure.element` in the same containers on iOS and Android, the width is set to 100% of the viewport minus 40 pixels, with a left margin of 20 pixels and a top margin of 25 pixels. However, for images specifically inside `.element__inner`, the top margin is reduced to 13 pixels.
For the `figcaption` inside `figure.element` in these containers on iOS and Android, the height is set to auto. Additionally, for the `p` elements and `span` elements inside `figcaption` on iOS devices in feature, standard, and comment article containers, the styling applies similarly.On iOS, within the `#comment-article-container .furniture-wrapper #main-media figure.element figcaption`, the `p`, `p span`, and `span` elements are displayed as block-level elements. They have no maximum height, are positioned relatively, and use the caption text color (defaulting to `#999`).
On Android, the same styling applies to the `figcaption` elements inside `#feature-article-container`, `#standard-article-container`, and `#comment-article-container`.
For screens wider than 46.25em (740px):
– On both iOS and Android, the `figure.element` inside `#main-media` in all three article containers has no maximum width.
– The `::before` pseudo-element of these figures is positioned 10px from the left and spans the full viewport width minus 20px.
– The images inside `.element__inner` are set to the viewport width minus 60px, with a left margin of 30px and a top margin of 40px.
For screens wider than 61.25em (980px):
– The `::before` pseudo-element width is calculated as half the viewport width minus 20px, also accounting for the scrollbar width.
– The image width remains the same as above.Here’s the rewritten version in fluent, natural English:
For images inside the main media section of article containers on both 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 width is at least 71.25em, the decorative element above the main media image is shifted 4 pixels upward on both iOS and Android.
At screen widths of 81.25em or more, that decorative element is moved 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, and is aligned to the left edge.Here is the rewritten text in fluent, natural English:
For the first image inside a media element, the image should take up the full width of the screen minus 20 pixels and the scrollbar width (if any). It should have no left margin and 10 pixels of padding.
On screens wider than 61.25em (about 980px), the first image in the main media area should be half the screen width minus 30 pixels and the scrollbar width. It should have a 5-pixel left margin, automatic height, and 21 pixels of top padding. This applies to both iOS and Android devices across feature, standard, and comment article layouts.
On screens wider than 81.25em (about 1300px), the image width should be half the screen minus 70 pixels and the scrollbar width. It keeps the 5-pixel left margin, automatic height, and 21 pixels of top padding, but also gets a negative top margin of 10 pixels.
For screens wider than 61.25em, the figure element containing the first image should take up full height and have a maximum width of 620 pixels. A pseudo-element (“:before”) should be added to this figure, spanning half the screen width minus 20 pixels and the scrollbar width, aligned to the left, and with full height.
On screens wider than 81.25em, that pseudo-element should be shifted 20 pixels to the left.
Finally, on screens wider than 46.25em (about 740px), the caption button inside the main media area should be styled appropriately for both iOS and Android devices across all article types.Here’s the rewritten version in fluent, natural English:
On iOS and Android devices, the caption button inside the main media section of the furniture wrapper is positioned 45 pixels from the bottom.
For screens wider than 61.25em (about 980px), the main media area in the furniture wrapper is set to a portrait layout with a maximum width of 620px and automatic height adjustment.
On both iOS and Android, figure elements inside the furniture wrapper are positioned relatively with no top margin. The inner part of each figure is placed 15px from the top and 20px from the left, with a width that fills the viewport minus 40px, and its height adjusts automatically. Images inside these figures fill the entire width and height, using the “cover” object-fit property.
The caption button within these figures is positioned 24px from the right and 20px from the bottom.
For screens wider than 46.25em (about 740px), the inner part of each figure is set to 680px wide with automatic height, and is placed 10px from both the top and left. The caption button remains in the same position.Here’s the rewritten version in fluent, natural English:
On the bottom, there’s a 25px spacing. For screens wider than 61.25em, on iOS and Android devices, the figure element inside the furniture wrapper for feature, standard, and comment article containers should have a width calculated as half the viewport width minus 20px and the scrollbar width (if present).
For the standfirst section in these containers on iOS and Android, the top margin should be set to 0, with 8px padding on top and 10px on the right. The pseudo-element before the standfirst should be hidden.
Inside the standfirst, all paragraphs, links, and list items should have a font size of 20px, normal style, medium weight (500), line height of 115%, and no bottom padding.
For screens wider than 61.25em, the standfirst should be placed in the grid area named “standfirst.”
The meta section in these containers should have no top padding, and the published date within the meta should also follow this rule.On Android devices, the `.meta__published` element inside `.furniture-wrapper .meta` within `#feature-article-container`, `#standard-article-container`, and `#comment-article-container` is positioned relatively. On both iOS and Android, after these elements, a pseudo-element is added with an empty content, displayed as a block, spanning the full viewport width (100vw) with a height of 1 pixel, a background color of `#dcdcdc`, positioned absolutely at the bottom, and offset 10 pixels to the left.
For screens wider than 61.25em (about 980px), the `.meta` element in these containers is set to a grid area named “meta” and displayed as a block. The pseudo-element after `.meta__published` is then reduced to 50vw wide.
For screens wider than 81.25em (about 1300px), the `.meta__misc` element inside these containers has its left margin removed (set to 0).
In dark mode (when the user’s system prefers a dark color scheme), the background color of the pseudo-element after `.meta__published` changes to `#606060`.
On iOS and Android, the `:before` pseudo-elements for `.meta` and `.keyline` inside these containers are hidden (set to `display: none`).
Also on iOS and Android, the `aside.element-rich-link` elements inside these containers are… (the text cuts off here).Here’s the rewritten CSS in fluent, natural English:
On Android devices, hide the rich link element inside the furniture wrapper in the standard and comment article containers. On iOS devices, hide the cutout container inside the comment header for feature, standard, and comment article containers. On Android, do the same for the cutout container in those article types.
For both iOS and Android, set the background color of the article body and feature body to a light pinkish tone (defined by the CSS variable `–weekend-essay-bg`, or fallback to `#fff4f2`). Add a 6-pixel top margin.
Style horizontal rules inside the article and feature body: make them 1 pixel tall, remove the border, add a 3-pixel bottom margin, set the background color to light gray (`#dcdcdc`), limit the width to 150 pixels, align left, and add a 48-pixel top margin.
For the first letter of the first paragraph (that doesn’t contain a span) or the first paragraph after a horizontal rule, apply a large drop cap style: use the Guardian Headline font family, set font weight to 300, font size to 111 pixels, line height to 92 pixels, float left, uppercase, add an 8-pixel right margin, and color it using the drop cap variable (fallback to the secondary pillar color).
For headings (h2) that contain a strong element, or strong or bold text inside a prose h2, set the font weight to 500.
In dark mode (when the user’s system prefers a dark color scheme), change the horizontal rule background color to a darker gray (`#606060`). Also, change the drop cap color after a horizontal rule to a reddish tone (defined by `–new-pillar-colour`, or fallback to `#ff5943`). Remove text decoration from links inside paragraphs.
For the first letter of the first paragraph that follows an element atom inside the article or feature body, set the font weight to 500.
For the comment body or any element with `data-gu-name=”body”`, style the first letter of the first paragraph after an element atom (or after a sign-in gate) the same way, with font weight set to 500.When Donald Trump took over prime-time US television last Friday, he delivered a message that was familiar but still remarkable. The president once again argued that the results of the 2020 election, which he lost to Joe Biden, were not legitimate. Trump claimed that US elections are “vulnerable to being rigged and stolen,” and said that “the trust of the American people was lost” when he was defeated.
Historically, the party in power tends to do worse in midterm elections. With the president’s popularity falling—his approval rating is only 37%—Republicans seem likely to lose seats in the US Senate and House of Representatives, as well as in state and local elections, in November.
Trump’s latest move, where he accused China of interfering in the 2020 election, is seen by US voting rights activists as the latest step in the White House’s effort to influence, and possibly change, the results of the 2026 midterm elections.
“The biggest threat to American elections is the ongoing lies coming from the White House,” said Adrian Fontes, the Arizona secretary of state, who is responsible for overseeing the state’s elections.
The president is pushing Congress to pass a bill called the Save Act, which would give the US federal government more control over elections. Trump has also called for the federal government to take direct control of elections in some states, falsely claiming that his losses there in 2020 were not legitimate.
There’s just one problem. “Our election system is not run by the federal government,” said Ben Berwick, who leads Protect Democracy’s election law and litigation team. “It’s run by states and local authorities.”
He added that the president “really has no power over elections.” So what can Trump actually do?
In a few states, Republicans have already rushed, at Trump’s urging, to redraw their congressional maps. This follows a major decision by the US Supreme Court—controlled by a conservative supermajority—that effectively weakened a key part of the Voting Rights Act.
Louisiana led the way by tearing up its old map, which had four Republican and two Democratic districts, and replacing it with a new one. This new map will likely give Republicans five of the state’s six congressional seats. These efforts are meant to change the outcome of future elections. And with that threat…Regarding mail-in voting, there are growing fears about voting machines and a steady stream of baseless claims of election fraud. Many worry that Trump is setting the stage to challenge any results that don’t go his way in November. The memory of the deadly January 6, 2021 attack on the US Capitol, fueled by Trump’s refusal to accept his election loss, still looms large.
“It’s reckless that the president will keep doing what he’s doing, and that the people around him will keep letting him, potentially triggering behavior that could cost lives,” added Fontes. “This is a powder keg, and there are a lot of people who just want to move on with their lives and solve their own problems.”
Mail-in ballots
Trump has repeatedly tried to restrict mail-in voting, calling it cheating, even though he has used it himself. This is a key focus of his administration’s efforts. In November, the administration could use the US Postal Service (USPS) to “control the flow of mail-in ballots, and possibly not send ballots to certain voters,” Berwick said.
Democratic voters are more likely to vote by mail than Republicans: about one in four registered Democrats did so in 2024, compared to one in five registered Republicans, according to the States United Democracy Center. Eight states and the District of Columbia rely almost entirely on postal ballots. At Trump’s direction, the USPS proposed a rule requiring states to share their voter roll information with the federal government, which would then tell states which voters are ineligible.
That proposal, enforced by an executive order in March, faces many legal challenges and was ruled unconstitutional by a judge. Cases brought by the civil rights group NAACP in Washington DC and the League of Women Voters in Massachusetts have challenged the plan in court.
Celina Stewart, CEO of the League of Women Voters, said the organization stepped in to make sure the effort to restrict mail-in voting was “shut down” in time for state primary elections, which take place in the months before November’s general election. “And so I think that was really important for us,” she said, “just to make sure voters knew how it would work, understood their rights, and knew how to effectively cast their ballot.”
Voting machines
At polling stations, Trump is also targeting electronic voting machines. In a July 16 TV address, he suggested they could be compromised by foreign actors. “China carried out what is believed to be the largest compromise of election data in history, resulting in China’s illicit acquisition of 220 million US voter files,” he said.
Declassified files from US investigators show that China downloaded publicly available election data in 2022. Those same investigators concluded that China did not interfere in the election.
Voting rights advocates believe Trump may be signaling his intent to try to block the use of some voting machines in a last-minute election move, using national security as a justification.
“The thing that maybe worries me the most is what we saw in Fulton County and elsewhere,” Berwick said, referring to an FBI raid in January that seized 2020 ballots and election material in Georgia. The administration “may try to do something similar right after the election, under the pretext of investigating ineligible voting or votes cast by ineligible voters,” he suggested, “in a way that, if done immediately after the election, would be designed to disrupt states’ ability to count votes and certify elections.”Over time, the White House has actively weakened safeguards for the election system. The Election Assistance Commission, a U.S. federal agency meant to help states with technical challenges in running elections, currently has no commissioners. Trump fired the Democratic members and allowed the Republicans to resign. Meanwhile, more than a third of the staff at the Cybersecurity and Infrastructure Security Agency was cut by Trump’s so-called “Department of Government Efficiency,” a cost-cutting effort briefly led by Elon Musk. This included the entire team focused on cybersecurity threats in elections.
“You can’t help but notice the irony of the administration claiming to care about securing our election systems while gutting the very agency responsible for that,” said Hannah Fried, co-founder and CEO of All Voting is Local.
Save Act
The Save Act, which is stalled in Congress, would require voters to show a passport or birth certificate to register to vote, and then provide a photo ID from a limited list of accepted forms to vote in person. Advocates argue that such restrictions would disproportionately affect Black, Native, elderly, and student voters.
The legislation would also severely limit voting by mail. It would require states to hand over their voter rolls to the federal government.
Without that legislation—which is constitutionally questionable—federal agencies under Trump may still try to pressure states to purge voter rolls using unreliable or unverified federal data. Courts have consistently blocked federal attempts to force unvetted voter purges.
Some states, led by Republican officials, have already turned over their voter rolls when asked by the federal government.
Berwick pointed out that federal agencies like the Department of Justice and the Department of Homeland Security might seek voter lists from states, “presumably to then send states lists of voters they believe are ineligible, which are very likely to be inaccurate.”
While far-right figures like Steve Bannon, a Trump ally and former adviser, have called for deploying Immigration and Customs Enforcement (ICE) agents or federal law enforcement at polling places—and the president himself has raised the idea—it’s considered unlikely because federal law clearly bans troops or federal agents at polling sites.
Voter intimidation has already appeared at early voting sites and drop boxes, said Stewart of the League of Women Voters. She cited an incident in Arizona where armed contractors confronted voters. “The president in particular is pushing for increased ICE funding,” she said. “So you have to ask: for what?”
Stewart noted that her organization successfully sued to stop armed drop-box intimidation in 2022, getting a court order within 24 hours. The incident showed “how quickly things like that can happen,” she said, “but equally as quickly… how we can shut that down.”
Pins and needles
Trump’s increasingly inflammatory rhetoric itself threatens the integrity of the 2026 election, said Georgia state senator Saira Draper, a leading voting administration expert. She warned that these narrative attacks are designed to undermine outcomes, no matter who wins.
“By sowing distrust in elections, regardless of the outcome, he continues the division, whether his party wins or not, into the next term,” said Draper. She suggested that such constant rhetoric turns followers into “foot soldiers for the cause.”
Some of those foot soldiers sit on county boards of elections, which are required to certify elections. And some are running for office, successfully winning Republican nominations—like Alex Kolodin, who helped lead failed legal efforts to overturn Arizona’s 2020 and 2022 election results and is now the Republican candidate for Arizona.Oklahoma’s Secretary of State is the state’s top election official.
After the 2020 election, some Republican members of election boards refused to certify fair results, risking disruption of the process. If this happened on a large scale, it could cast doubt on outcomes in conservative states that leaned Democratic in a swing year.
“This federal interference led by the president isn’t helping anyone,” said Fontes. “In my view, it’s not good for any situation across the country, and it’s making everyone anxious for no real reason.”
“I mean, what’s the real reason people are afraid that something’s wrong with our elections? The only explanation is that Donald Trump can’t get over losing badly in 2020.”
Frequently Asked Questions
Here is a list of FAQs about how a president could potentially influence or weaken midterm elections based on the context of the topic
BeginnerLevel Questions
1 What exactly are midterm elections
Midterm elections are the national elections held two years after a presidential election Voters choose all 435 members of the House of Representatives and about onethird of the Senate They are seen as a report card on the sitting president
2 How could a sitting president weaken them Arent they run by states
While states run the actual voting the president has influence over federal agencies the Department of Justice and public messaging Weakening could mean reducing voter turnout spreading distrust in the results or changing rules at the federal level to make it harder for certain people to vote
3 Can a president just cancel a midterm election
No The Constitution sets the dates for federal elections A president has no legal power to cancel or postpone a midterm election unilaterally That would require an act of Congress
4 What does voter suppression mean in this context
It refers to tactics that make it harder for specific groups of people to vote A president could encourage or direct federal agencies to purge voter rolls reduce early voting or require stricter ID laws which can disproportionately affect certain voters
IntermediateLevel Questions
5 Can a president use the Department of Justice to influence an election
Potentially yes The DOJ oversees federal election crimes A president could pressure the DOJ to investigate opponents for false voter fraud claims or conversely order them to not investigate real misconduct by allies This can create an unfair playing field
6 How could the president spread misinformation about the election
Using the White House press room social media and rallies a president could repeatedly claim the election is rigged or that mailin ballots are fraudulenteven without evidence This can discourage people from voting or make them distrust the final results
7 Could a president change how the Postal Service handles mailin ballots
Yes The president appoints the Postmaster General and board They could slow down mail delivery remove sorting machines or ban overtime which could cause mailin ballots to arrive too late to be counted This is a real concern for states that rely heavily on mail voting