@font-face { font-family: "Fira Sans"; font-weight: normal; src: local("Fira Sans"), local("Fira Sans Regular"), url(/fonts/FiraSans-Regular.otf) format("opentype"), url(/fonts/FiraSans-Regular.woff2) format("woff2"), url(/fonts/FiraSans-Regular.woff) format("woff"), url(/fonts/FiraSans-Regular.svg) format("svg"); } @font-face { font-family: "Fira Sans"; font-weight: bold; src: local("Fira Sans"), local("Fira Sans Bold"), url(/fonts/FiraSans-Bold.otf) format("opentype"), url(/fonts/FiraSans-Bold.woff2) format("woff2"), url(/fonts/FiraSans-Bold.woff) format("woff"), url(/fonts/FiraSans-Bold.svg) format("svg"); } body { font-family: "Fira Sans", sans-serif; color: #333; background-color: #eee; margin: 0; padding: 0; text-rendering: optimizeLegibility; } @media (min-width: 500px) { body { font-size: 150%; } } @media (min-width: 1000px) { body { font-size: 200%; } } h1 { text-align: center; } h1 a { color: inherit; text-decoration: none; display: block; } main { max-width: 800px; margin: 0 auto; padding: 0.5em; } blockquote { position: relative; margin: 0 0.2em 2em 1em; padding: 1em 1em 0.9em 1.7em; background-color: #f8f8f8; box-shadow: 0 0.5em 1em rgba(0, 0, 0, 0.05); transition: box-shadow 0.2s, background-color 0.2s; } blockquote .quote { white-space: pre-wrap; overflow-wrap: anywhere; hyphens: auto; } blockquote .quote p { margin: 0 0 0.3em; } blockquote .quote a { color: inherit; text-decoration: none; } blockquote .quote a:hover { text-decoration: underline; } blockquote:target, blockquote:hover { background-color: #fefeff; box-shadow: 0 0.5em 1em rgba(0, 0, 0, 0.1); } blockquote::before { content: "“"; font-size: 600%; position: absolute; color: #ccc; top: -0.1em; left: -0.2em; z-index: 1; } blockquote .attribution { display: block; position: relative; margin-top: 0.7em; color: #777; vertical-align: middle; } blockquote .attribution .quoted-by { color: #aaa; display: block; font-size: 10pt; text-align: right; } @media (min-width: 500px) { blockquote .attribution { display: flex; font-size: 75%; } blockquote .attribution > span { display: block; flex-grow: 1; } blockquote .attribution .author-time { align-self: flex-start; } blockquote .attribution .quoted-by { align-self: flex-end; } } blockquote .attribution a { color: inherit; font-weight: bold; font-size: 90%; text-decoration: none; } blockquote .attribution a.time { font-weight: normal; font-size: 75%; } blockquote .attribution a:hover { text-decoration: underline; } blockquote .attribution time { white-space: nowrap; } blockquote .attribution a[role=author] { color: #444; } blockquote .attribution span[role=author] { color: #222; } footer { text-align: center; border-top: 1px solid #ddd; background-color: #e5e5e5; color: #555; font-size: 1rem; padding: 3vh 1em 3vh; }