:root { --font-primary: Arial, sans-serif; --font-secondary: Times, serif; --color-text: #000; --color-bg: #fff; --color-link: #000; --color-link-hover: #000; } * { margin: 0; padding: 0; box-sizing: border-box; font: inherit; } html, body { width: 100%; height: 100%; } html { -ms-overflow-style: none; scrollbar-width: none; &::-webkit-scrollbar { display: none; } } body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } ul, ol, menu { list-style: none; } picture, img, svg, video { display: block; width: 100%; height: auto; } a { text-decoration: none; color: inherit; outline: none; cursor: pointer; &:focus { background: lightgrey; outline: none; &:not(:focus-visible) { background: transparent; } &:focus-visible { background: transparent; outline: 2px solid red; } } } button, input, select, textarea { display: block; border: 0; border-radius: 0; background: 0 0; color: inherit; } button:hover { cursor: pointer; } @media (scripting: enabled) { .loading { &::before, &::after { content: ""; position: fixed; z-index: 10000; } &::before { top: 0; left: 0; width: 100%; height: 100%; background: var(--color-bg); } &::after { top: 50%; left: 50%; width: 100px; height: 1px; margin: 0 0 0 -50px; background: var(--color-link); animation: loaderAnim 1.5s ease-in-out infinite alternate forwards; } } } @keyframes loaderAnim { 0% { transform: scaleX(0); transform-origin: 0% 50%; } 50% { transform: scaleX(1); transform-origin: 0% 50%; } 50.1% { transform: scaleX(1); transform-origin: 100% 50%; } 100% { transform: scaleX(0); transform-origin: 100% 50%; } } .frame { position: fixed; top: 0; left: 0; display: grid; grid-template-areas: "infos sponsor" "tags author"; grid-template-columns: auto auto; grid-template-rows: auto auto; grid-gap: 24px; align-content: space-between; width: 100%; height: 100vh; padding: 24rem; font-size: 14px; line-height: 1.5; pointer-events: none; z-index: 1000; a, button { pointer-events: auto; opacity: 0.4; &:hover { text-decoration: underline; text-underline-offset: 2px; opacity: 1; } } .frame__infos { grid-area: infos; *:not(:last-child) { margin-right: 24px; } h1 { @media (min-width: 768px) { display: inline-block; } } a { display: block; @media (min-width: 768px) { display: inline-block; } } } .frame__archive { grid-area: archive; } .frame__tags { grid-area: tags; display: flex; column-gap: 12px; } .frame__author { grid-area: author; justify-self: flex-end; text-align: right; a { opacity: 1; } } #cdawrap { grid-area: sponsor; justify-self: flex-end; max-width: 360px; text-align: right; strong { font-weight: bold; } } }