The Guardian Headline Full font family includes several styles, each available in multiple file formats. The light version comes in both regular and italic styles, with font-weight 300. The regular version, with font-weight 400, also has regular and italic styles. The medium version, with font-weight 500, includes regular and italic styles. The semibold version, with font-weight 600, offers regular and italic styles as well. All font files are hosted on the Guardian’s assets server.@font-face {
font-family: Guardian Headline Full;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-Bold.woff2) format(“woff2”),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-Bold.woff) format(“woff”),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-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/full-not-hinted/GHGuardianHeadline-BoldItalic.woff2) format(“woff2”),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-BoldItalic.woff) format(“woff”),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-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/full-not-hinted/GHGuardianHeadline-Black.woff2) format(“woff2”),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-Black.woff) format(“woff”),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-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/full-not-hinted/GHGuardianHeadline-BlackItalic.woff2) format(“woff2”),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-BlackItalic.woff) format(“woff”),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-BlackItalic.ttf) format(“truetype”);
font-weight: 900;
font-style: italic;
}
@font-face {
font-family: Guardian Titlepiece;
src: url(https://interactive.guim.co.uk/fonts/garnett/GTGuardianTitlepiece-Bold.woff2) format(“woff2”),
url(https://interactive.guim.co.uk/fonts/garnett/GTGuardianTitlepiece-Bold.woff) format(“woff”),
url(https://interactive.guim.co.uk/fonts/garnett/GTGuardianTitlepiece-Bold.ttf) format(“truetype”);
font-weight: 700;
font-style: normal;
}
@media (scripting: enabled) {
:root article.content–interactive > div,
:root .article {
opacity: 0;
}
:root.interactive-loaded article.content–interactive > div,
:root.interactive-loaded .article {
opacity: 1;
transition: opacity 0.25s ease 0.25s;
}
}
@media (scripting: enabled) and (prefers-reduced-motion) {
:root.interactive-loaded article.content–interactive > div,
:root.interactive-loaded .article {
transition: opacity 0.25s ease 0.1s;
}
}
@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;
}
}The interactive content column and lists have a maximum width of 620 pixels. A vertical line is added to the left of the interactive column on larger screens, starting at 1140 pixels wide, with its position adjusting slightly on even larger screens. Spacing and padding for embedded elements are set to ensure proper layout, and the first paragraph after certain elements receives additional top padding and a styled drop cap.The first letter of the article body is styled with a large, bold, uppercase font in Georgia, colored with a specific variable, and floated to the left. Horizontal rules followed by paragraphs have no top padding. Pullquotes are limited to a maximum width of 620 pixels.
For showcase elements, captions are positioned statically and set to a full width of up to 620 pixels. Immersive elements span the full viewport width, adjusting for scrollbars, with a maximum width of 978 pixels on larger screens. Their captions have horizontal padding that varies with screen size. On medium screens, the maximum width is 738 pixels, while on smaller screens, these elements align to the left edge with adjusted margins.
For furniture wrappers on large screens, a grid layout is used with defined columns and rows. The headline’s first child has a top border. The meta section has a small top padding and no right margin. In the standfirst, list items are larger, links are underlined without a bottom border, and the underline color changes on hover. The first paragraph in the standfirst has a top border and no bottom padding, though this border is removed on even larger screens..furniture-wrapper figure {
margin: 0 0 0 -10px;
}
.furniture-wrapper figure[data-spacefinder-role=”inline”].element {
max-width: 630px;
}
@media (min-width: 71.25em) {
.furniture-wrapper {
grid-template-columns: [title-start headline-start meta-start] repeat(2, 1fr) [meta-end standfirst-start] repeat(5, 1fr) [title-end headline-end standfirst-end portrait-start] repeat(7, 1fr) [portrait-end];
grid-template-rows: [title-start portrait-start] 80px [title-end headline-start] auto [headline-end standfirst-start meta-start] auto [standfirst-end meta-end portrait-end];
}
.furniture-wrapper #meta:before,
.furniture-wrapper [data-gu-name=”meta”]:before {
content: “”;
width: 540px;
position: absolute;
top: 0;
background-color: var(–headerBorder);
height: 1px;
}
.furniture-wrapper .standfirst p,
.furniture-wrapper #standfirst p,
.furniture-wrapper [data-gu-name=”standfirst”] p {
border-top: unset;
}
.furniture-wrapper .standfirst:before,
.furniture-wrapper #standfirst:before,
.furniture-wrapper [data-gu-name=”standfirst”]:before {
content: “”;
width: 1px;
background-color: var(–headerBorder);
height: 100%;
position: absolute;
top: 0;
left: 0.5px;
}
}
@media (min-width: 81.25em) {
.furniture-wrapper {
grid-template-columns: [title-start headline-start meta-start] repeat(3, 1fr) [meta-end standfirst-start] repeat(5, 1fr) [title-end headline-end standfirst-end portrait-start] repeat(8, 1fr) [portrait-end];
grid-template-rows: [title-start portrait-start] 0.25fr [title-end headline-start] 1fr [headline-end standfirst-start meta-start] 0.75fr [standfirst-end meta-end portrait-end];
}
.furniture-wrapper #meta:before,
.furniture-wrapper [data-gu-name=”meta”]:before {
width: 620px;
}
.furniture-wrapper .standfirst:before,
.furniture-wrapper #standfirst:before,
.furniture-wrapper [data-gu-name=”standfirst”]:before {
left: -0.5px;
}
}
.furniture-wrapper .article-header .content__labels > div,
.furniture-wrapper [data-gu-name=”title”] .content__labels > div {
padding-top: 2px;
}
.furniture-wrapper #headline h1,
.furniture-wrapper [data-gu-name=”headline”] h1,
.furniture-wrapper .headline h1 {
font-weight: 600;
max-width: 620px;
font-size: 32px;
}
@media (min-width: 71.25em) {
.furniture-wrapper #headline h1,
.furniture-wrapper [data-gu-name=”headline”] h1,
.furniture-wrapper .headline h1 {
max-width: 540px;
font-size: 50px;
}
}
@media (min-width: 46.25em) {
.furniture-wrapper .keyline-4,
.furniture-wrapper [data-gu-name=”lines”] {
margin-right: 0;
}
}
@media (min-width: 61.25em) {
.furniture-wrapper .keyline-4,
.furniture-wrapper [data-gu-name=”lines”] {
display: none;
}
}
.furniture-wrapper .keyline-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 -The CSS code defines styles for a furniture wrapper element. It adjusts margins and padding for different screen sizes, positions captions and buttons, and sets background colors. Media queries modify these styles based on viewport width, ensuring proper layout across devices. The code also handles scrollbar width calculations and customizes typography and link appearances within specific components.The CSS code defines styles for a furniture wrapper and list wrapper. For the furniture wrapper, it sets margins, captions, and colors, adjusting for mobile and dark mode. The list wrapper handles list items with numbered paragraphs, alternating background colors, and fade-in animations, also adapting to different screen sizes and dark mode preferences.The provided text appears to be a block of CSS code, not standard English prose. Therefore, it cannot be rewritten into fluent, natural English while keeping its meaning intact, as its meaning is technical and defined by its syntax.
To make it more readable, the code could be formatted and commented. Here is a cleaned-up version with explanatory notes:
“`css
/ Styles for list items within the apps rendering target /
[data-rendering-target=apps] .list-wrapper .list-item h2:has(em) {
color: #dcdcdc;
}
[data-rendering-target=apps] .list-wrapper .list-item .ad-portal-placeholder {
padding-bottom: 100px;
}
[data-rendering-target=apps] .list-wrapper .list-item .ad-portal-placeholder aside div:last-of-type {
margin-top: -100px;
}
/ Adjustments for users who prefer reduced motion /
@media (prefers-reduced-motion: reduce) {
[data-rendering-target=apps] .list-wrapper .list-item .ad-portal-placeholder {
padding-bottom: 0;
}
[data-rendering-target=apps] .list-wrapper .list-item .ad-portal-placeholder aside div:last-of-type {
margin-top: 0;
}
}
/ Special styles for an “End of Year” (eoy) theme /
html.is-eoy {
–headerBorder: #4f6280;
–comment-count-fill: #eacca0;
}
html.is-eoy article.content–interactive>div {
border: none;
}
/ Create vertical border lines for the title section /
html.is-eoy [data-gu-name=title]:before,
html.is-eoy [data-gu-name=title]:after {
content: “”;
position: absolute;
top: 0;
width: 1px;
height: var(–furniture-bg-height, 100%);
background-color: var(–headerBorder, #4f6280);
display: none;
}
html.is-eoy [data-gu-name=title]:before { left: -20px; }
html.is-eoy [data-gu-name=title]:after { right: -20px; }
/ Show the title borders on medium to large screens /
@media (min-width: 46.3125em) and (max-width: 61.24em),
(min-width: 61.3125em) and (max-width: 71.24em),
(min-width: 71.3125em) and (max-width: 81.24em),
(min-width: 81.3125em) {
html.is-eoy [data-gu-name=title]:before,
html.is-eoy [data-gu-name=title]:after {
display: block;
}
}
/ Adjust title border height on larger screens /
@media (min-width: 61.25em) {
html.is-eoy [data-gu-name=title]:before,
html.is-eoy [data-gu-name=title]:after {
height: 100%;
}
}
/ Style for social and comment meta sections /
html.is-eoy [data-gu-name=meta] .meta__social,
html.is-eoy [data-gu-name=meta] .meta__comment {
border-color: var(–article-border, #dcdcdc);
}
@media (min-width: 61.25em) {
html.is-eoy [data-gu-name=meta] .meta__social,
html.is-eoy [data-gu-name=meta] .meta__comment {
border-color: var(–headerBorder, #4f6280);
}
}
/ Create vertical borders for the meta section on medium screens /
@media (min-width: 46.25em) and (max-width: 61.24em) {
html.is-eoy [data-gu-name=meta]:before,
html.is-eoy [data-gu-name=meta]:after {
content: “”;
position: absolute;
top: 0;
width: 1px;
height: calc(100% + 6px);
background-color: var(–article-border, #dcdcdc);
}
html.is-eoy [data-gu-name=meta]:before { left: -20px; }
html.is-eoy [data-gu-name=meta]:after { right: -20px; }
}
/ Create vertical borders for the main body content /
html.is-eoy [data-gu-name=body] {
position: relative;
}
html.is-eoy [data-gu-name=body]:before,
html.is-eoy [data-gu-name=body]:after {
content: “”;
position: absolute;
top: 0;
width: 1px;
height: 100%;
background-color: var(–article-border, #dcdcdc);
display: none;
}
html.is-eoy [data-gu-name=body]:before { left: -20px; z-index: 1; }
html.is-eoy [data-gu-name=body]:after { right: -20px; }
/ Show the body borders on medium to large screens /
@media (min-width: 46.3125em) and (max-width: 61.24em),
(min-width: 61.3125em) and (max-width: 71.24em),
(min-width: 71.3125em) and (max-width: 81.24em),
(min-width: 81.3125em) {
html.is-eoy [data-gu-name=body]:before,
html.is-eoy [data-gu-name=body]:after {
display: block;
}
}
/ Adjust body border height on larger screens /
@media (min-width: 61.25em) {
html.is-eoy [data-gu-name=body]:before,
html.is-eoy [data-gu-name=body]:after {
height: 100%;
}
}
/ Style for lines/svg elements /
html.is-eoy [data-gu-name=lines] svg {
stroke: var(–article-border, #dcdcdc);
}
/ Styles for the furniture wrapper (likely a header/hero section) /
html.is-eoy .furniture-wrapper:before {
background-color: #001536;
}
html.is-eoy .furniture-wrapper [data-gu-name=title] a,
html.is-eoy .furniture-wrapper [data-gu-name=title] span {
color: #eacca0;
}
html.is-eoy .furniture-wrapper [data-gu-name=title] div>span>a {
display: none;
}
html.is-eoy .furniture-wrapper [data-gu-name=headline] h1 {
color: #fbf6ef;
font-weight: 300;
}
/ Note: The CSS block appears to be cut off here. /
“`The CSS code sets styles for various elements. For example, headlines are bold, and certain text colors change for end-of-year content. Media queries adjust colors for larger screens and dark mode. Some elements are hidden or set to zero height.
50-41
50. The Last of Us (Sky Atlantic/Now)
This standout video game adaptation returned with a devastating character death. While losing a central figure was hard to move past, the show evolved into a poignant exploration of grief, loss, and unspoken love—alongside its mushroom monsters. Our review called it “a gutsy and thoughtful rendering of humans on the edge.”
49. All Her Fault (Sky Atlantic/Now)
Sarah Snook delivers another captivating performance as Marissa, a mother whose son is kidnapped during a supposed playdate. The thriller deepens when the crime is linked to her inner circle. Dakota Fanning also shines as a friend grappling with the guilt of being a working mother. Together, they elevate the story beyond its terrifying premise. We said it was “fantastically well done” and a seamless, gripping narrative.
48. The Last Musician of Auschwitz (BBC Two/iPlayer)
This powerful documentary follows 100-year-old cellist Anita Lasker-Wallfisch, the last surviving member of the Auschwitz women’s orchestra. Through her testimony, archive footage, and music, the film captures the emotional conflict of playing beautiful music in a place of horror, while highlighting small acts of resistance. We praised it as an “incredibly impressive programme” that raises lasting questions about art and humanity.
47. Apple Cider Vinegar (Netflix)
This series expertly dramatizes the true story of Belle Gibson, an Australian “wellness guru” who built a following by falsely claiming to have cured her cancer. It’s a compelling tale of deception, well-told.through dietary tricks and alternative medicine. The truth was simpler: Gibson didn’t have cancer, and her career and persona were built on lies. Kaitlyn Dever’s portrayal of Gibson was admirably nuanced; she’s deeply dishonest but also desperately needy, in denial about the consequences of her actions—especially for her followers, some of whom relied on her falsehoods to fight life-threatening conditions.
What we said: “A fast, drily witty, acutely intelligent, compassionate and furious commentary on greed, need, mass delusion, self-deception, the exploitation of the credulous and the enabling of insidious new forms of all of these by technology.” Read more
46. The Residence
(Netflix) Something terrible has happened at the White House! No, not Donald Trump’s new ballroom extension, but a fictional murder at the heart of American power. This funny, quirky whodunnit starred Uzo Aduba as Cordelia Cupp, an eccentric detective (she’s a keen birder, dresses entirely in brown tweed, and frequently uses her binoculars for work) sent to solve the case. It’s charmingly good fun—essentially a country house murder mystery with added snark and West Wing trappings.
What we said: “A gorgeous, gleeful romp.” Read more
45. Common Side Effects
(Adult Swim/Channel 4) Has Mike Judge ever made a bad show? That’s the question it was hard not to ponder while watching this impeccable animated thriller-comedy. The plot? A fungi expert discovers a mysterious mushroom that seems to cure all illness and ill-advisedly tells his childhood crush Frances—who now works for big pharma. The resulting high-octane deep-state drama was a blackly humorous adventure with real heart, satirizing the state of healthcare in a capitalist society. An absolute triumph of TV-making.
What we said: “Not merely the best thing I’ve seen on TV this year but one of the best shows I’ve seen in my life.” Read more
44. Gaza: Doctors Under Attack
(Channel 4) The film the BBC couldn’t broadcast. Thank goodness, then, for Channel 4 stepping in to air it—this was an essential document of our times. Its unsparing look at the targeting of Palestinian medics showed a pattern that has emerged over the past two years at hospitals across Gaza. First, they are bombed. Then, they are raided, and doctors are detained and tortured. Then, when their workplaces are reduced to rubble, the cycle starts at the next hospital. The testimony by Dr. Khaled Hamouda, whose home was bombed, killing most of his family—before a drone strike moments later hit the supposed safe house his remaining children had escaped to—was unforgettable television that really needed to be aired.
What we said: “In an open letter before its broadcast, Channel 4’s Louisa Compton warned that Doctors Under Attack would ‘make people angry, whichever side they take’. She is right. This is the sort of television that will never leave you.” Read more
43. Am I Being Unreasonable?
(BBC One/iPlayer) This riot of marital, sexual, and social awkwardness (with a side order of murder and betrayal) came courtesy of Daisy May Cooper and Selin Hizli, who have created a worthy successor to Julia Davis’s scabrous 2004 sitcom Nighty Night. Cooper stars as Nic, a woman juggling guilt, trauma, and parenting catastrophe, still finding time for extramarital hijinks, yet somehow remaining deserving of sympathy—mainly because of the cavalcade of monsters around her. A dangerously addictive chamber of horrors.
What we said: “Howlingly funny.” Read more
42. Task
(Sky Atlantic/Now) This crime drama starring Mark Ruffalo as gone-to-seed cop Tom Brandis, assigned a dangerous new case in Philadelphia, certainly wasn’t for the faintIf you could get past the constant sense of looming disaster, it was a sharp, gripping crime drama focused on armed robbers, biker gangs, and the devastating impact of the fentanyl trade. A powerfully bleak ride, in the best way possible.
Our review called it: “A meditation on guilt, sin, and the possibility of redemption.”
The Traitors
Before the celebrity edition brought us Alan Carr, the third season of the civilian version gave us Linda—arguably the worst (or best) traitor ever to walk the castle. Her stunned head-turn when Claudia Winkleman said “traitors” was just one highlight. There was also Charlotte’s fake Welsh accent, Lisa the vicar’s brazen lie about her job, and the shocking return of Alexander! It’s rare for a show to become must-see TV and spark nationwide conversation in 2025. And beyond all that, Claudia’s gothic outfits alone were worth tuning in for.
We described it as: “A captivating study of human behavior—deception, manipulation, self-preservation—and perhaps the best example of social-experiment reality TV, now firmly embedded in the cultural landscape.”
40-31 coming soon
Stay tuned for the next installment.
Frequently Asked Questions
FAQs The Top 50 TV Shows of 2025
Q1 What is this list based on
A This list is based on a composite of critical acclaim audience ratings cultural impact and viewership data from early 2025
Q2 Are these shows all brand new for 2025
A Not necessarily The list includes new 2025 premieres returning seasons of existing shows that aired in late 2024 or early 2025 and limited series that concluded in this period
Q3 Where can I watch these shows
A They are spread across various streaming platforms and traditional networks Each entry in the full list will note its platform
Q4 Why are shows ranked 5041 considered top shows
A Making any Top 50 list in a year with hundreds of releases is a significant achievement These shows are excellent but may have slightly narrower appeal more niche genres or be newer entries still building an audience compared to those in higher slots
Q5 I dont recognize any shows in this bracket Does that mean Im out of touch
A Not at all This section often features hidden gems brilliant international series or genre shows with dedicated fanbases Its a great place to discover something new you might not have found otherwise
Q6 What kind of genres are typically in the 5041 range
A You often find standout genre fare hereexceptional scifi fantasy crime dramas or acclaimed animated seriesas well as critically praised comedies and nonEnglish language shows breaking into the mainstream
Q7 How does a show move up from a previous years list or debut here
A A returning show might move up due to an exceptionally strong new season A new show debuts here based on strong early reviews and viewer buzz with the potential to climb in future rankings
Q8 Is there a common thread or trend among shows 5041 this year
A For 2025 early indicators suggest this bracket features several innovative scifi concepts and characterdriven international thrillers reflecting a trend toward highconcept storytelling and global perspectives