Este código CSS define uma família de fontes personalizada chamada "Guardian Headline Full" com múltiplos pesos e estilos de fonte. Inclui pesos light, regular, medium e semibold, cada um em versões normal e itálico. As fontes são carregadas dos servidores do Guardian nos formatos WOFF2, WOFF e TrueType para garantir compatibilidade entre diferentes navegadores.
@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;
}
@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) {
}
Para colunas de conteúdo interativo, uma borda esquerda é adicionada com posicionamento e z-index específicos. Em telas maiores, a posição esquerda da borda ajusta-se ligeiramente. Dentro dessas colunas, elementos atômicos não têm margens superior ou inferior, mas incluem preenchimento. Quando parágrafos precedem elementos atômicos, o preenchimento é removido e as margens são adicionadas em seu lugar. Elementos inline são limitados a uma largura máxima.
Para figuras inline em telas médias e acima, uma largura máxima é definida. Em seções de mídia contendo figuras em loop, as legendas são sobrepostas acima, e os botões de loop são estilizados com dimensões e alinhamento específicos. Os botões de legenda são posicionados no topo.
Na seção do corpo, ilhas de vídeo auto-hospedadas ocupam a largura total até um máximo, com margens centralizadas. Figuras em loop e vídeos dentro dessas ilhas também ocupam a largura total. Para elementos de vídeo imersivos, as restrições de largura são removidas e as margens são ajustadas. Em telas maiores, os vídeos imersivos expandem em largura e deslocam-se para a esquerda, com legendas recuadas de acordo.
Variáveis de cor definem vários elementos da interface do usuário, como datas, bordas, legendas e cores de destaque, com cores de pilar influenciando subtítulos, citações destacadas e blocos de citação. No modo escuro, essas cores se adaptam ao tema escuro.
Elementos atômicos dentro de colunas de conteúdo não têm preenchimento. Regras específicas ajustam os primeiros parágrafos após certos elementos ou regras horizontais em diferentes áreas de conteúdo, como artigos, conteúdo interativo, comentários e destaques, garantindo espaçamento e layout adequados.
O primeiro parágrafo após um portão de login ou uma regra horizontal (exceto a última) tem um preenchimento superior de 14 pixels.
Para a primeira letra do primeiro parágrafo que segue elementos específicos, como um átomo, portão de login ou uma regra horizontal (não a última) em várias áreas de conteúdo (corpo do artigo, conteúdo interativo, comentários, destaques ou elementos com um `data-gu-name` de "body"), aplique um estilo especial de letra capitular. Este estilo usa fontes de manchete específicas, define o tamanho da fonte para 111px com uma altura de linha de 92px, flutua para a esquerda, coloca em maiúsculas, adiciona uma margem direita de 8px, alinha ao topo do texto e a colore com uma variável personalizada para letras capitulares.
Parágrafos imediatamente após uma regra horizontal nessas áreas de conteúdo não devem ter preenchimento superior.
Citações destacadas dentro dessas áreas de conteúdo são limitadas a uma largura máxima de 620 pixels.
Legendas para elementos de exibição em conteúdo principal, artigos de destaque, artigos padrão e seções de comentários são posicionadas estaticamente, ocupando a largura total até um máximo de 620 pixels.
Elementos imersivos abrangem a largura total da viewport, considerando a barra de rolagem. Em telas maiores (até 71.24em), sua largura máxima é de 978px, com o preenchimento da legenda ajustado em diferentes pontos de interrupção. Em telas médias (entre 46.25em e 61.24em), a largura máxima é de 738px. Em telas menores (abaixo de 46.24em), os elementos imersivos se alinham à borda esquerda com margens ajustadas e preenchimento de legenda.
Para telas mais largas (acima de 61.25em), o wrapper de mobiliário usa um layout CSS Grid com colunas e linhas definidas para posicionar elementos como o título, manchete, metadados, standfirst e área de retrato.
Os estilos CSS definem um wrapper de layout para componentes de artigo. As manchetes têm uma borda superior e ajustam o tamanho de 32px para 50px em telas maiores, com uma largura máxima que também muda. As informações de meta incluem uma linha decorativa superior em telas largas. A seção standfirst apresenta links sublinhados com uma cor personalizada que muda ao passar o mouse, e seu primeiro parágrafo tem uma borda superior em telas menores que é removida em telas maiores. Uma linha separadora vertical aparece no standfirst em telas largas.
Grades de layout são definidas para telas de 71.25em e mais largas, e novamente para 81.25em e mais largas, especificando modelos de coluna e linha para posicionar elementos como as áreas de título, manchete, meta, standfirst e retrato. Figuras têm margens e larguras máximas específicas. No geral, os estilos controlam a apresentação responsiva dos cabeçalhos de artigo e conteúdo introdutório.
Para telas mais largas que 740px, oculte elementos com a classe `.keyline-4` ou o atributo `[data-gu-name="lines"]`. Dentro do `.furniture-wrapper`, estilize os traços SVG dentro desses elementos com uma variável de cor personalizada.
Em telas médias e maiores, remova a margem direita de elementos com o ID `#meta` ou o atributo `[data-gu-name="meta"]`.
Dentro da seção de meta, defina a cor da borda para links sociais, elementos de comentário e seus spans filhos para uma variável personalizada. Além disso, oculte quaisquer elementos `gu-island` dentro de um contêiner específico.
Para a seção standfirst, ajuste seu posicionamento e preenchimento, adicionando um deslocamento à esquerda. Em telas médias, adicione um pequeno preenchimento superior. Estilize o parágrafo interno com um peso de fonte regular, um tamanho de 20px e preenchimento inferior.
A área principal de mídia é posicionada relativamente, colocada na área de grade 'portrait' e recebe margens específicas. Certifique-se de que suas divs internas ocupem a largura total. Em telas maiores, remova a margem inferior. Em telas menores, ajuste a largura e a margem esquerda, com um ajuste adicional para telas médio-pequenas.
Estilize legendas de figuras para aparecerem na parte inferior com um fundo e cor de texto personalizados, substituindo a largura e margens padrão. Oculte o primeiro span interno e exiba o segundo, limitando sua largura. Em telas médias, ajuste o preenchimento da legenda. Um estado oculto torna a legenda transparente.
Um botão de legenda é posicionado na parte inferior direita, estilizado com um fundo circular e ícone em escala, com sua posição ajustada em telas médias.
Para colunas de artigo interativo em telas muito grandes, ajuste a posição e altura de um pseudo-elemento. Além disso, limite a largura dos cabeçalhos de nível 2.
No iOS ou Android, defina um conjunto de variáveis de cor para o tema escuro. No modo escuro, ajuste a variável de cor primária.
Para dispositivos iOS, direcione o primeiro parágrafo após elementos específicos em diferentes contêineres de artigo e estilize sua primeira letra.
A primeira letra do primeiro parágrafo que segue um portão de login, ou o primeiro parágrafo após um elemento átomo em vários contêineres de artigo no iOS e Android, deve ser colorida usando a variável de pilar secundária (padrão para preto).
Tanto no iOS quanto no Android, a altura do cabeçalho do artigo em contêineres de artigo de destaque, padrão e de comentários deve ser definida como zero.
O wrapper de mobiliário dentro desses contêineres de artigo em ambas as plataformas deve ter um preenchimento superior de 4 pixels e preenchimento horizontal de 10 pixels.
Rótulos dentro do wrapper de mobiliário devem ser em negrito, usar a pilha de fontes especificada, obter sua cor da nova variável de pilar e ser capitalizados.
Manchetes (h1) dentro do wrapper de mobiliário devem ter 32 pixels de tamanho, negrito, 12 pixels de preenchimento inferior e ser coloridas com #121212.
Figuras de imagem dentro do wrapper de mobiliário devem ser posicionadas relativamente, ter uma margem superior de 14 pixels, uma margem esquerda de -10 pixels, uma largura calculada como a largura da viewport menos a largura da barra de rolagem e uma altura automática.
Para artigos de destaque no iOS, o elemento de figura interno, imagem e link dentro dessas figuras de imagem também devem seguir essas regras de estilo.
Para dispositivos iOS e Android, aplicam-se as seguintes regras CSS:
Para imagens dentro de contêineres de artigo:
- Defina o fundo como transparente.
- Faça a largura igual à largura total da viewport menos a largura da barra de rolagem.
- Certifique-se de que a altura se ajuste automaticamente.
Para a seção standfirst do artigo:
- Adicione 4px de preenchimento na parte superior e 24px na parte inferior.
- Aplique uma margem direita negativa de 10px.
Para parágrafos dentro do standfirst:
- Use as famílias de fontes Guardian headline e serif.
Para links dentro do standfirst:
- Defina a cor para uma variável específica.
- Remova qualquer imagem de fundo.
- Aplique um sublinhado com um deslocamento de 6px e uma cor de borda específica.
- Remova qualquer borda inferior.
Para efeitos de hover nesses links:
- Aplique a mesma estilização acima.
Para dispositivos Android, ao passar o mouse sobre links dentro da seção standfirst de artigos de comentários, a cor do sublinhado do texto deve corresponder à nova cor do pilar.
Em dispositivos iOS e Android, para artigos de destaque, padrão e de comentários, a seção de meta não deve ter margem. Dentro desta seção de meta, o byline, nome do autor e links relacionados devem ser exibidos na nova cor do pilar.
Além disso, a área de meta diversa não deve ter preenchimento, e quaisquer ícones SVG dentro dela devem usar a nova cor do pilar para seu traço.
Para elementos de exibição em artigos de destaque, padrão e de comentários no iOS e Android, o botão de legenda deve ser exibido como um contêiner flex. Deve ser centralizado com 5px de preenchimento, ter dimensões de 28px por