De Peepo! a Middlemarch: 25 Livros Imperdíveis para Ler Antes dos 25 Anos

De Peepo! a Middlemarch: 25 Livros Imperdíveis para Ler Antes dos 25 Anos

Este código CSS define uma família de fontes personalizada chamada "Guardian Headline Full" com múltiplos estilos e pesos. Inclui versões light, regular, medium e semibold, cada uma disponível nos estilos normal e itálico. Os arquivos de fonte estão hospedados online e fornecidos em três formatos: WOFF2, WOFF e TrueType (TTF).

@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 de 620px.

Para figuras com função de loop, as legendas são definidas com um z-index mais alto, e os botões de loop são estilizados com dimensões e alinhamento específicos. Elementos de vídeo auto-hospedados são definidos para largura total, limitados a 620px, e incluem margens superior e inferior. Para layouts de vídeo imersivos, as restrições de largura são removidas e as margens são ajustadas. Em telas mais largas, os vídeos imersivos expandem em largura e deslocam-se para a esquerda.

Variáveis de cor definem estilos para datelines, bordas, legendas e elementos de destaque. No modo escuro, as cores de texto e ícones adaptam-se a um tema escuro. Elementos atômicos dentro de colunas de conteúdo não têm preenchimento. Regras específicas garantem que o primeiro parágrafo após certos elementos ou regras horizontais seja estilizado adequadamente em diferentes seções de conteúdo, como artigos, comentários e destaques.

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 após um elemento inicial, portão de login ou regra horizontal (excluindo a última) dentro de vários corpos de conteúdo, aplique um estilo de letra capitular específico. Isso usa a fonte Guardian headline, é em negrito, 111 pixels de tamanho com 92 pixels de altura de linha. Flutua à esquerda, é em maiúsculas, usa box-sizing border-box, tem uma margem direita de 8 pixels, alinha-se ao topo e usa uma variável de cor personalizada.

Parágrafos imediatamente após uma regra horizontal dentro desses corpos de conteúdo não têm preenchimento superior.

Citações destacadas dentro desses corpos de conteúdo têm uma largura máxima de 620 pixels.

Legendas para elementos de showcase em conteúdo principal e contêineres de artigo são posicionadas estaticamente, ocupando a largura total até 620 pixels.

Elementos imersivos abrangem a largura total da viewport, considerando a barra de rolagem. Em telas maiores (até 71.24em), são limitados a 978 pixels, com o preenchimento da legenda ajustado em diferentes breakpoints. Em telas médias (46.25em a 61.24em), a largura máxima é de 738 pixels. Em telas menores (abaixo de 46.24em), alinham-se à borda esquerda com margens ajustadas e preenchimento de legenda.

Para wrappers de mobiliário em telas grandes (61.25em e acima), um layout de grade é usado com colunas e linhas definidas para posicionar componentes de manchete.

Os estilos CSS definem o layout e a aparência para a seção de cabeçalho de uma página da web, referida como "furniture-wrapper". Define bordas, espaçamento, tipografia e estruturas de grade que se ajustam em diferentes tamanhos de tela.

Para telas maiores (acima de 71.25em), um layout de grade complexo é estabelecido com colunas e linhas específicas para elementos como título, manchete, informações meta, standfirst (subtítulo) e retrato. Elementos visuais como bordas e linhas são ajustados ou removidos em certos breakpoints. O tamanho da fonte da manchete aumenta e sua largura máxima muda em telas maiores. Links dentro do standfirst são estilizados com sublinhados que mudam de cor ao passar o mouse.

Para telas mais largas que 740 pixels, 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 para usar a variável de cor `--headerBorder`.

Em telas mais largas que 740 pixels, remova a margem direita de elementos com o ID `#meta` ou o atributo `[data-gu-name="meta"]` dentro de `.furniture-wrapper`. Para esses elementos meta, defina a cor da borda dos links sociais, seções de comentários e seus spans filhos para `--headerBorder`. Além disso, oculte quaisquer componentes `gu-island` dentro do `.content__meta-container_dcr`.

Para a seção standfirst (selecionada por classe, ID ou `data-gu-name`), aplique uma margem esquerda negativa e preenchimento correspondente, e defina sua posição como relativa. Em telas mais largas (acima de 740px), adicione um pequeno preenchimento superior. Estilize parágrafos dentro do standfirst com peso de fonte 400, tamanho de 20 pixels e preenchimento inferior de 14 pixels.

A área de mídia principal (selecionada por ID ou `data-gu-name`) é posicionada relativamente, não tem margem superior, uma pequena margem inferior e é colocada na área de grade "portrait". Certifique-se de que suas divs internas ocupem a largura total e não tenham margem horizontal. Em telas muito largas (acima de 980px), remova a margem inferior. Em telas menores (abaixo de 740px), defina sua largura para a largura total da viewport menos qualquer barra de rolagem e aplique uma margem esquerda negativa. Para telas entre 480px e 740px, aumente essa margem esquerda negativa para -20px.

Estilize legendas de figura para serem posicionadas absolutamente na parte inferior, com preenchimento específico e cores de fundo/texto de variáveis CSS. Defina sua largura como 100% sem largura máxima, remova a margem inferior e defina uma altura mínima. Colore spans dentro da legenda usando `--headerBorder` e preencha seus SVGs com a mesma cor. Oculte o primeiro span e exiba o segundo span como um elemento de bloco, limitando sua largura a 90%. Em telas mais largas que 480px, aumente o preenchimento horizontal da legenda. Uma classe `.hidden` na legenda define sua opacidade como 0.

O botão de legenda é exibido como um bloco, posicionado absolutamente perto da parte inferior direita, com um z-index alto. Tem um fundo circular, sem borda e preenchimento específico. Reduza ligeiramente o ícone SVG. Em telas mais largas que 480px, ajuste sua posição direita. Para telas muito largas (acima de 1140px), ajuste a parte superior e a altura do pseudo-elemento `.content__main-column--interactive`. Além disso, limite a largura máxima dos títulos h2 dentro desta coluna a 620 pixels.

Para o elemento raiz quando o corpo tem uma classe `.ios` ou `.android`, defina um conjunto de variáveis de cor do modo escuro. Em uma preferência de esquema de cores escuras, atualize a variável `--new-pillar-colour` de acordo.

Em dispositivos iOS, direcione o primeiro parágrafo após elementos iniciais específicos em vários contêineres de artigo e estilize sua primeira letra. Isso também se aplica se um elemento de portão de login aparecer entre esse primeiro elemento e o parágrafo.

A primeira letra do primeiro parágrafo após um portão de login, ou após um elemento atômico seguido por um portão de login, deve ser colorida usando a variável de pilar secundário. Isso se aplica a contêineres de artigo de destaque, padrão e comentário em iOS e Android.

Em iOS e Android, a altura do cabeçalho do artigo deve ser definida como zero em contêineres de artigo de destaque, padrão e comentário.

O furniture wrapper nesses contêineres deve ter preenchimento superior de 4 pixels e preenchimento horizontal de 10 pixels. Os rótulos de conteúdo dentro devem usar uma família de fontes serifadas em negrito, ser coloridos com a nova variável de pilar e ter o texto em maiúsculas.

Manchetes dentro do furniture wrapper devem ter 32 pixels de tamanho, negrito, ter um preenchimento inferior de 12 pixels e usar a cor #121212.

Elementos de imagem dentro do furniture wrapper devem ser posicionados 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. Isso se aplica à figura interna, imagem e elementos de link dentro de contêineres de artigo de destaque em iOS.

Para dispositivos iOS e Android, imagens dentro de contêineres de artigo são definidas para ter um fundo transparente, com uma largura igual à largura total da viewport menos a largura da barra de rolagem e uma altura automática.

A seção standfirst nesses contêineres tem um preenchimento superior de 4 pixels, um preenchimento inferior de 24 pixels e uma margem direita de -10 pixels.

Parágrafos dentro do standfirst usam a família de fontes Guardian Headline.

Links dentro do standfirst são estilizados com uma cor específica, um sublinhado posicionado a 6 pixels do texto e uma cor de linha decorativa, sem borda.

Para dispositivos Android, ao passar o mouse sobre links na seção standfirst do artigo de comentário, a cor do sublinhado deve corresponder à nova cor do pilar.

Para dispositivos iOS e Android, em destaque, padrão e artigos de comentário, a seção meta não deve ter margem. Dentro desta seção meta, o byline, nome do autor e links relacionados devem ser exibidos na nova cor do pilar.

Além disso, a seção meta misc 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 showcase em destaque, padrão e artigos de comentário em iOS e Android, o botão de legenda deve ser exibido como um contêiner flex. Deve ser centralizado com 5px de preenchimento, medir 28px por 28px e alinhar seu conteúdo à direita.

Em dispositivos iOS e Android, o corpo do artigo em seções de destaque, padrão e comentário não tem preench