:root { /** * Palette * Gruvbox dark, medium * Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox) */ --base00: #282828; /* ---- */ --base01: #3c3836; /* --- */ --base02: #504945; /* -- */ --base03: #665c54; /* - */ --base04: #bdae93; /* + */ --base05: #d5c4a1; /* ++ */ --base06: #ebdbb2; /* +++ */ --base07: #fbf1c7; /* ++++ */ --base08: #fb4934; /* red */ --base09: #fe8019; /* orange */ --base0A: #fabd2f; /* yellow */ --base0B: #b8bb26; /* green */ --base0C: #8ec07c; /* aqua/cyan */ --base0D: #83a598; /* blue */ --base0E: #d3869b; /* purple */ --base0F: #d65d0e; /* brown */ /** * Typograph */ --font-family-default: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; --font-size-L: 3.6rem; --font-size-m: 2.2rem; --font-size-s: 1.8rem; --font-size-scaler: 62.5%; /* 1rem = 10px */ --line-height-body: 1.4; --line-height-heading: 1.2; /** * Components */ --body-color: var(--base04); --body-bg: var(--base00); --body-padding: 32px 24px; --body-stack-gap: 32px; --accordion-content-hover-rail-color: var(--base04); --accordion-content-rail-color: var(--base03); --accordion-marker-color: var(--article-title-color); --accordion-marker-expanded-color: var(--base03); --accordion-marker-hover-color: var(--accordion-marker-color); --accordion-marker-expanded-hover-color: var(--accordion-marker-color); --accordion-rail-indent: 7px; --article-image-border-color: var(--base03); --article-image-radius: 6px; --article-image-shadow: none; --article-reading-time-color: var(--base04); --article-stack-gap: 16px; --article-summary-color: var(--base05); --article-summary-hover-color: var(--base07); --article-title-color: var(--base0E); --article-title-expanded-color: var(--base0E); --card-bg: var(--base01); --card-border-color: var(--base03); --card-padding: 16px; --card-radius: 8px; --card-shadow: none; --card-stack-gap: 24px; --daily-heading-color: var(--base03); --daily-heading-hover-color: var(--base04); --footer-color: var(--base03); --footer-link-hover-color: var(--base04); --source-link-color: var(--base04); --source-link-hover-color: var(--base07); --source-name-color: var(--base0A); --source-name-hover-color: var(--base07); } /** * Internals below * * If you can't create a specific look and feel with the configuration above, * you might have reached the customization limit of the template. * * Options: * 1. File an issue with the template. * 2. Target specific elements and write your own CSS. A future change in HTML may break your style. * 3. (Coming soon...) Write your own template with Template Extensibility API. */ /** RESETS */ * { box-sizing: border-box; } *:focus:not(:focus-visible) { outline: none; } /** GENERIC */ html { font-size: var(--font-size-scaler); } body { background-color: var(--body-bg); font-family: var(--font-family-default); line-height: var(--line-height-body); color: var(--body-color); margin: 0; gap: var(--body-stack-gap); padding: var(--body-padding); display: grid; } /** COMPONENTS */ .article-expander { padding: 4px 0; } .article-expander__title { color: var(--article-title-color); font-size: var(--font-size-m); line-height: var(--line-height-heading); font-weight: 600; user-select: none; display: -webkit-box; cursor: pointer; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; } .article-expander[open] .article-expander__title { display: block; color: var(--article-title-expanded-color); } .article-expander__title::before { content: "•"; color: var(--accordion-marker-color); display: inline-flex; justify-content: center; width: 16px; font-weight: 700; margin-right: 6px; font-family: monospace; } .article-expander__title::-webkit-details-marker { display: none; /* remove triangle from Safair */ } .article-expander[open] .article-expander__title::before { color: var(--accordion-marker-expanded-color); } .article-expander .article-expander__title:hover::before { content: "+"; color: var(--accordion-marker-hover-color); } .article-expander[open] .article-expander__title:hover::before { content: "-"; color: var(--accordion-marker-expanded-hover-color); } .article-image { display: none; border-radius: var(--article-image-radius); border: 1px solid var(--article-image-border-color); box-shadow: var(--article-image-shadow); } .article-expander[open] .article-image { display: block; } .article-summary-link { color: var(--article-summary-color); font-size: var(--font-size-m); text-decoration: none; } .article-summary-link:hover { color: var(--article-summary-hover-color); --accordion-content-rail-color: var(--accordion-content-hover-rail-color); } .article-summary-box-outer { display: block; padding: 6px var(--accordion-rail-indent) var(--article-stack-gap) var(--accordion-rail-indent); } .article-summary-box-inner { padding-left: 14px; border-left: 1px solid var(--accordion-content-rail-color); font-size: var(--font-size-s); overflow-wrap: anywhere; word-break: break-word; /* same as above, for Safari compatitiliby */ } .article-reading-time { font-weight: 400; color: var(--article-reading-time-color); font-size: var(--font-size-s); white-space: nowrap; } .card { border-radius: var(--card-radius); box-shadow: var(--card-shadow); background: var(--card-border-color); border: 1px solid var(--card-border-color); overflow: hidden; } .card__section { display: grid; padding: var(--card-padding); background: var(--card-bg); } .daily-heading { display: grid; font-size: var(--font-size-L); font-weight: 700; margin: 0 0 4px 0; } .daily-heading-toggle { font: inherit; display: flex; align-items: baseline; flex-wrap: wrap; gap: 16px; border: none; background: none; padding: 0 var(--card-padding); text-align: start; cursor: pointer; color: var(--daily-heading-color); text-transform: uppercase; } .daily-heading-toggle:hover { color: var(--daily-heading-hover-color); } .daily-heading-toggle__date { font-size: var(--font-size-m); } footer { color: var(--footer-color); font-size: var(--font-size-s); display: flex; padding: 0 16px; justify-content: space-between; } .footer-link { color: var(--footer-link-text); text-decoration: none; } .footer-link:hover { color: var(--footer-link-hover-color); text-decoration: underline; } .media-object { display: grid; gap: 16px; } .media-object__media { aspect-ratio: 16/9; object-fit: cover; width: 100%; } @media screen and (min-width: 40rem) { .media-object { grid-template: "text media" auto / 1fr auto; } .media-object__text { grid-area: text; } .media-object__media { height: 100px; width: auto; grid-area: media; margin-bottom: var(--article-stack-gap); } } .sources { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px; } .source-heading { display: flex; gap: 16px; flex-wrap: wrap; font-size: var(--font-size-s); margin: 0 0 8px 0; padding-right: var(--accordion-rail-indent); } .source-heading__name { font: inherit; font-size: var(--font-size-s); font-weight: 400; text-align: start; border: none; background: none; padding: 0; cursor: pointer; color: var(--source-name-color); flex-grow: 1; } .source-heading__name:hover { color: var(--source-name-hover-color); } .source-heading__link { color: var(--source-link-color); font-weight: 400; text-decoration: none; } .source-heading__link:hover { color: var(--source-link-hover-color); text-decoration: underline; } .z-stack { display: grid; } .z-stack__layer { grid-area: 1/1/-1/-1; }