mirror of
https://github.com/andrewgioia/blog.git
synced 2024-12-22 18:39:55 +00:00
722 lines
14 KiB
CSS
722 lines
14 KiB
CSS
@charset "UTF-8";
|
|
/*! posts.andrewgioia.com style definitions v1.0.0 */
|
|
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
|
|
/* Document
|
|
========================================================================== */
|
|
/**
|
|
* 1. Correct the line height in all browsers.
|
|
* 2. Prevent adjustments of font size after orientation changes in iOS.
|
|
*/
|
|
html {
|
|
line-height: 1.15;
|
|
/* 1 */
|
|
-webkit-text-size-adjust: 100%;
|
|
/* 2 */
|
|
}
|
|
|
|
/* Sections
|
|
========================================================================== */
|
|
/**
|
|
* Remove the margin in all browsers.
|
|
*/
|
|
body {
|
|
margin: 0;
|
|
}
|
|
|
|
/**
|
|
* Render the `main` element consistently in IE.
|
|
*/
|
|
main {
|
|
display: block;
|
|
}
|
|
|
|
/**
|
|
* Correct the font size and margin on `h1` elements within `section` and
|
|
* `article` contexts in Chrome, Firefox, and Safari.
|
|
*/
|
|
h1 {
|
|
font-size: 2em;
|
|
margin: 0.67em 0;
|
|
}
|
|
|
|
/* Grouping content
|
|
========================================================================== */
|
|
/**
|
|
* 1. Add the correct box sizing in Firefox.
|
|
* 2. Show the overflow in Edge and IE.
|
|
*/
|
|
hr {
|
|
box-sizing: content-box;
|
|
/* 1 */
|
|
height: 0;
|
|
/* 1 */
|
|
overflow: visible;
|
|
/* 2 */
|
|
}
|
|
|
|
/**
|
|
* 1. Correct the inheritance and scaling of font size in all browsers.
|
|
* 2. Correct the odd `em` font sizing in all browsers.
|
|
*/
|
|
pre {
|
|
font-family: monospace, monospace;
|
|
/* 1 */
|
|
font-size: 1em;
|
|
/* 2 */
|
|
}
|
|
|
|
/* Text-level semantics
|
|
========================================================================== */
|
|
/**
|
|
* Remove the gray background on active links in IE 10.
|
|
*/
|
|
a {
|
|
background-color: transparent;
|
|
}
|
|
|
|
/**
|
|
* 1. Remove the bottom border in Chrome 57-
|
|
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
|
|
*/
|
|
abbr[title] {
|
|
border-bottom: none;
|
|
/* 1 */
|
|
text-decoration: underline;
|
|
/* 2 */
|
|
text-decoration: underline dotted;
|
|
/* 2 */
|
|
}
|
|
|
|
/**
|
|
* Add the correct font weight in Chrome, Edge, and Safari.
|
|
*/
|
|
b,
|
|
strong {
|
|
font-weight: bolder;
|
|
}
|
|
|
|
/**
|
|
* 1. Correct the inheritance and scaling of font size in all browsers.
|
|
* 2. Correct the odd `em` font sizing in all browsers.
|
|
*/
|
|
code,
|
|
kbd,
|
|
samp {
|
|
font-family: monospace, monospace;
|
|
/* 1 */
|
|
font-size: 1em;
|
|
/* 2 */
|
|
}
|
|
|
|
/**
|
|
* Add the correct font size in all browsers.
|
|
*/
|
|
small {
|
|
font-size: 80%;
|
|
}
|
|
|
|
/**
|
|
* Prevent `sub` and `sup` elements from affecting the line height in
|
|
* all browsers.
|
|
*/
|
|
sub,
|
|
sup {
|
|
font-size: 75%;
|
|
line-height: 0;
|
|
position: relative;
|
|
vertical-align: baseline;
|
|
}
|
|
|
|
sub {
|
|
bottom: -0.25em;
|
|
}
|
|
|
|
sup {
|
|
top: -0.5em;
|
|
}
|
|
|
|
/* Embedded content
|
|
========================================================================== */
|
|
/**
|
|
* Remove the border on images inside links in IE 10.
|
|
*/
|
|
img {
|
|
border-style: none;
|
|
}
|
|
|
|
/* Forms
|
|
========================================================================== */
|
|
/**
|
|
* 1. Change the font styles in all browsers.
|
|
* 2. Remove the margin in Firefox and Safari.
|
|
*/
|
|
button,
|
|
input,
|
|
optgroup,
|
|
select,
|
|
textarea {
|
|
font-family: inherit;
|
|
/* 1 */
|
|
font-size: 100%;
|
|
/* 1 */
|
|
line-height: 1.15;
|
|
/* 1 */
|
|
margin: 0;
|
|
/* 2 */
|
|
}
|
|
|
|
/**
|
|
* Show the overflow in IE.
|
|
* 1. Show the overflow in Edge.
|
|
*/
|
|
button,
|
|
input {
|
|
/* 1 */
|
|
overflow: visible;
|
|
}
|
|
|
|
/**
|
|
* Remove the inheritance of text transform in Edge, Firefox, and IE.
|
|
* 1. Remove the inheritance of text transform in Firefox.
|
|
*/
|
|
button,
|
|
select {
|
|
/* 1 */
|
|
text-transform: none;
|
|
}
|
|
|
|
/**
|
|
* Correct the inability to style clickable types in iOS and Safari.
|
|
*/
|
|
button,
|
|
[type=button],
|
|
[type=reset],
|
|
[type=submit] {
|
|
-webkit-appearance: button;
|
|
}
|
|
|
|
/**
|
|
* Remove the inner border and padding in Firefox.
|
|
*/
|
|
button::-moz-focus-inner,
|
|
[type=button]::-moz-focus-inner,
|
|
[type=reset]::-moz-focus-inner,
|
|
[type=submit]::-moz-focus-inner {
|
|
border-style: none;
|
|
padding: 0;
|
|
}
|
|
|
|
/**
|
|
* Restore the focus styles unset by the previous rule.
|
|
*/
|
|
button:-moz-focusring,
|
|
[type=button]:-moz-focusring,
|
|
[type=reset]:-moz-focusring,
|
|
[type=submit]:-moz-focusring {
|
|
outline: 1px dotted ButtonText;
|
|
}
|
|
|
|
/**
|
|
* Correct the padding in Firefox.
|
|
*/
|
|
fieldset {
|
|
padding: 0.35em 0.75em 0.625em;
|
|
}
|
|
|
|
/**
|
|
* 1. Correct the text wrapping in Edge and IE.
|
|
* 2. Correct the color inheritance from `fieldset` elements in IE.
|
|
* 3. Remove the padding so developers are not caught out when they zero out
|
|
* `fieldset` elements in all browsers.
|
|
*/
|
|
legend {
|
|
box-sizing: border-box;
|
|
/* 1 */
|
|
color: inherit;
|
|
/* 2 */
|
|
display: table;
|
|
/* 1 */
|
|
max-width: 100%;
|
|
/* 1 */
|
|
padding: 0;
|
|
/* 3 */
|
|
white-space: normal;
|
|
/* 1 */
|
|
}
|
|
|
|
/**
|
|
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
|
|
*/
|
|
progress {
|
|
vertical-align: baseline;
|
|
}
|
|
|
|
/**
|
|
* Remove the default vertical scrollbar in IE 10+.
|
|
*/
|
|
textarea {
|
|
overflow: auto;
|
|
}
|
|
|
|
/**
|
|
* 1. Add the correct box sizing in IE 10.
|
|
* 2. Remove the padding in IE 10.
|
|
*/
|
|
[type=checkbox],
|
|
[type=radio] {
|
|
box-sizing: border-box;
|
|
/* 1 */
|
|
padding: 0;
|
|
/* 2 */
|
|
}
|
|
|
|
/**
|
|
* Correct the cursor style of increment and decrement buttons in Chrome.
|
|
*/
|
|
[type=number]::-webkit-inner-spin-button,
|
|
[type=number]::-webkit-outer-spin-button {
|
|
height: auto;
|
|
}
|
|
|
|
/**
|
|
* 1. Correct the odd appearance in Chrome and Safari.
|
|
* 2. Correct the outline style in Safari.
|
|
*/
|
|
[type=search] {
|
|
-webkit-appearance: textfield;
|
|
/* 1 */
|
|
outline-offset: -2px;
|
|
/* 2 */
|
|
}
|
|
|
|
/**
|
|
* Remove the inner padding in Chrome and Safari on macOS.
|
|
*/
|
|
[type=search]::-webkit-search-decoration {
|
|
-webkit-appearance: none;
|
|
}
|
|
|
|
/**
|
|
* 1. Correct the inability to style clickable types in iOS and Safari.
|
|
* 2. Change font properties to `inherit` in Safari.
|
|
*/
|
|
::-webkit-file-upload-button {
|
|
-webkit-appearance: button;
|
|
/* 1 */
|
|
font: inherit;
|
|
/* 2 */
|
|
}
|
|
|
|
/* Interactive
|
|
========================================================================== */
|
|
/*
|
|
* Add the correct display in Edge, IE 10+, and Firefox.
|
|
*/
|
|
details {
|
|
display: block;
|
|
}
|
|
|
|
/*
|
|
* Add the correct display in all browsers.
|
|
*/
|
|
summary {
|
|
display: list-item;
|
|
}
|
|
|
|
/* Misc
|
|
========================================================================== */
|
|
/**
|
|
* Add the correct display in IE 10+.
|
|
*/
|
|
template {
|
|
display: none;
|
|
}
|
|
|
|
/**
|
|
* Add the correct display in IE 10.
|
|
*/
|
|
[hidden] {
|
|
display: none;
|
|
}
|
|
|
|
:root {
|
|
--bg-normal: #f3f3f1;
|
|
--bg-dark: #21252b;
|
|
--border-normal: #fff;
|
|
--border-dark: #353b45;
|
|
--font-size-base: 18px;
|
|
--link-color-normal: #0069ff;
|
|
--link-color-dark: #29baff;
|
|
--text-normal: #002953;
|
|
--text-normal-hl: #032140;
|
|
--text-dark: #d6d7df;
|
|
--text-dark-hl: #fff;
|
|
--text-title-normal: #736be3;
|
|
--text-title-dark: #9690ea;
|
|
--text-subdued-normal: #bbb;
|
|
--text-subdued-dark: #5a6371;
|
|
--screen-mobile: 640px;
|
|
--screen-tablet: 768px;
|
|
--screen-laptop: 1024px;
|
|
--screen-display: 1280px;
|
|
--screen-full: 1440px;
|
|
}
|
|
|
|
@font-face {
|
|
font-family: "andrew";
|
|
src: url("../icons/andrew.eot?1.0.5");
|
|
src: url("../icons/andrew.eot?1.0.5#iefix") format("embedded-opentype"), url("../icons/andrew.woff2?1.0.5") format("woff2"), url("../icons/andrew.ttf?1.0.5") format("truetype"), url("../icons/andrew.woff?1.0.5") format("woff"), url("../icons/andrew.svg?1.0.5#andrew") format("svg");
|
|
font-weight: normal;
|
|
font-style: normal;
|
|
font-display: block;
|
|
}
|
|
[class^=icon-], [class*=" icon-"] {
|
|
font-family: "andrew" !important;
|
|
speak: never;
|
|
font-style: normal;
|
|
font-weight: normal;
|
|
font-variant: normal;
|
|
text-transform: none;
|
|
line-height: 1;
|
|
-webkit-font-smoothing: antialiased;
|
|
-moz-osx-font-smoothing: grayscale;
|
|
}
|
|
|
|
.icon-arrow:before {
|
|
content: "";
|
|
}
|
|
|
|
.icon-arrow-left:before {
|
|
content: "";
|
|
}
|
|
|
|
.icon-email:before {
|
|
content: "";
|
|
}
|
|
|
|
.icon-github:before {
|
|
content: "";
|
|
}
|
|
|
|
.icon-mastodon:before {
|
|
content: "";
|
|
}
|
|
|
|
html {
|
|
font-size: var(--font-size-base);
|
|
}
|
|
|
|
body {
|
|
align-items: center;
|
|
background: var(--bg-normal);
|
|
color: var(--text-normal);
|
|
display: flex;
|
|
flex-direction: column;
|
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
|
|
justify-content: flex-start;
|
|
}
|
|
|
|
header {
|
|
align-self: stretch;
|
|
border-top: 1vmax solid var(--border-normal);
|
|
padding: 5vmin 6vmin 0;
|
|
}
|
|
header h1 {
|
|
font-size: max(2vmax, 1.25rem);
|
|
margin: 0;
|
|
}
|
|
header h1 a {
|
|
color: var(--text-normal);
|
|
}
|
|
header h1 span {
|
|
color: var(--text-subdued-normal);
|
|
}
|
|
|
|
main {
|
|
display: flex;
|
|
max-width: var(--screen-display);
|
|
padding: max(5vmin, 2rem) 6vmin;
|
|
position: relative;
|
|
}
|
|
main#home {
|
|
padding-top: max(10vmin, 2rem);
|
|
width: 80%;
|
|
}
|
|
main#post {
|
|
flex-direction: column;
|
|
align-items: center;
|
|
}
|
|
main aside {
|
|
margin: 0 7.5vmin max(2vmax, 1rem);
|
|
position: sticky;
|
|
text-align: center;
|
|
top: -1px;
|
|
padding-top: 1px;
|
|
}
|
|
main aside h1 {
|
|
color: var(--text-title-normal);
|
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
|
|
font-size: max(3.75vmax, 2rem);
|
|
font-weight: 800;
|
|
letter-spacing: -0.075rem;
|
|
line-height: 1.1;
|
|
}
|
|
main aside time {
|
|
font-size: max(1.5vmax, 1rem);
|
|
font-weight: 900;
|
|
text-transform: uppercase;
|
|
}
|
|
main aside.stuck {
|
|
position: fixed;
|
|
top: 0;
|
|
height: 100px;
|
|
overflow: hidden;
|
|
min-height: 100px;
|
|
max-height: 100px;
|
|
}
|
|
main article {
|
|
align-items: center;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
main article h2 {
|
|
color: var(--text-normal-hl);
|
|
font-size: max(2.25vmax, 1.5rem);
|
|
font-weight: 800;
|
|
letter-spacing: -0.05rem;
|
|
margin: 2vmax 10vmin 1vmax;
|
|
text-align: center;
|
|
text-transform: uppercase;
|
|
}
|
|
main article p,
|
|
main article ul,
|
|
main article section,
|
|
main article blockquote {
|
|
width: min(50vmax, 100%);
|
|
}
|
|
main article p {
|
|
font-size: max(1.375vmax, 1rem);
|
|
line-height: max(2vmax, 1.5rem);
|
|
margin: max(1vmax, 0.75rem) 0;
|
|
}
|
|
main article p.big {
|
|
font-size: max(1.75vmax, 1.25rem);
|
|
font-weight: 500;
|
|
line-height: max(2.5vmax, 1.75rem);
|
|
}
|
|
main article p.big > strong {
|
|
font-weight: 800;
|
|
}
|
|
main article p.swqm {
|
|
text-indent: min(-0.55vmax, -0.4rem);
|
|
}
|
|
main article ul,
|
|
main article ol {
|
|
margin: max(1vmax, 0.75rem) 0;
|
|
padding: 0;
|
|
}
|
|
main article ul li,
|
|
main article ol li {
|
|
margin-left: max(3vmax, 1rem);
|
|
padding: 0 0 max(2vmax, 1rem) max(1vmax, 0.5rem);
|
|
}
|
|
main article ul li p:first-child,
|
|
main article ol li p:first-child {
|
|
margin-top: max(0.5vmax, 0.5rem);
|
|
}
|
|
main article ul li:first-child p:first-child,
|
|
main article ol li:first-child p:first-child {
|
|
margin-top: 0;
|
|
}
|
|
main article ul li p:last-child,
|
|
main article ol li p:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
main article ul li {
|
|
font-size: max(1.375vmax, 1rem);
|
|
line-height: max(2vmax, 1.5rem);
|
|
}
|
|
main article ul li:last-child {
|
|
padding-bottom: 0;
|
|
}
|
|
main article section ol li,
|
|
main article section ol li p {
|
|
font-size: max(1vmax, 0.75rem);
|
|
line-height: max(1.5vmax, 1.1rem);
|
|
}
|
|
main article figure {
|
|
margin: 2vmax 10vmax 1vmax;
|
|
}
|
|
main article figure img {
|
|
width: 100%;
|
|
}
|
|
main article figure figcaption {
|
|
text-align: center;
|
|
}
|
|
main article blockquote {
|
|
margin: max(0.5vmax, 0.5rem) 0;
|
|
}
|
|
main article blockquote p {
|
|
border-left: 1vmax solid var(--border-normal);
|
|
padding-left: 2vmax;
|
|
}
|
|
|
|
nav#TableOfContents {
|
|
display: none;
|
|
}
|
|
|
|
a {
|
|
color: var(--link-color-normal);
|
|
position: relative;
|
|
text-decoration: none;
|
|
}
|
|
a:not(.arrow):hover {
|
|
border-bottom: 2px solid var(--link-color-normal);
|
|
}
|
|
a.arrow::after {
|
|
color: inherit;
|
|
content: "";
|
|
display: block;
|
|
font-family: "andrew";
|
|
font-size: 100%;
|
|
height: 100%;
|
|
opacity: 0;
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
-webkit-transform: translateY(-0.5rem) translateX(100%);
|
|
-moz-transform: translateY(-0.5rem) translateX(100%);
|
|
transform: translateY(-0.5rem) translateX(100%);
|
|
transition: opacity 150ms ease-in-out, margin-top 150ms ease-in-out;
|
|
}
|
|
a.arrow.back::after {
|
|
content: "";
|
|
left: 0;
|
|
-webkit-transform: translateY(-0.5rem) translateX(-1.5rem);
|
|
-moz-transform: translateY(-0.5rem) translateX(-1.5rem);
|
|
transform: translateY(-0.5rem) translateX(-1.5rem);
|
|
transition: opacity 150ms ease-in-out, margin-top 150ms ease-in-out;
|
|
}
|
|
a.arrow:hover::after {
|
|
display: block;
|
|
margin-top: -3px;
|
|
opacity: 100;
|
|
}
|
|
|
|
header h1 a.back::after {
|
|
-webkit-transform: translateY(-0.5rem) translateX(min(-1.75vmax, -1.25rem));
|
|
-moz-transform: translateY(-0.5rem) translateX(min(-1.75vmax, -1.25rem));
|
|
transform: translateY(-0.5rem) translateX(min(-1.75vmax, -1.25rem));
|
|
}
|
|
|
|
ul.list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
list-style-type: none;
|
|
margin: 0;
|
|
padding: 0;
|
|
width: 100%;
|
|
}
|
|
ul.list li {
|
|
align-items: stretch;
|
|
display: flex;
|
|
flex-direction: row;
|
|
justify-content: space-between;
|
|
padding-bottom: max(2.5vmax, 1.1rem);
|
|
}
|
|
ul.list li div {
|
|
flex: 0 1 auto;
|
|
font-size: max(2.5vmax, 1.1rem);
|
|
font-weight: 600;
|
|
}
|
|
ul.list li time {
|
|
flex: 0 0 auto;
|
|
font-size: max(2vmax, 1rem);
|
|
font-weight: 900;
|
|
padding-top: 0.5vmax;
|
|
padding-left: 1vmax;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
@media (prefers-color-scheme: dark) {
|
|
body {
|
|
background: var(--bg-dark);
|
|
color: var(--text-dark);
|
|
}
|
|
|
|
header {
|
|
border-top-color: var(--border-dark);
|
|
}
|
|
header h1 a {
|
|
color: var(--text-dark-hl);
|
|
}
|
|
header h1 span {
|
|
color: var(--text-subdued-dark);
|
|
}
|
|
|
|
a {
|
|
color: var(--link-color-dark);
|
|
}
|
|
a:not(.arrow):hover {
|
|
border-bottom: 2px solid var(--link-color-dark);
|
|
}
|
|
|
|
main aside h1 {
|
|
background: var(--text-title-dark);
|
|
background: linear-gradient(135deg, #29baff 0%, #9690ea 67%);
|
|
background-clip: text;
|
|
color: transparent;
|
|
}
|
|
main article h2 {
|
|
color: var(--text-dark-hl);
|
|
}
|
|
main article blockquote p {
|
|
border-left-color: var(--border-dark);
|
|
}
|
|
}
|
|
@media only screen and (max-width: 768px) {
|
|
main {
|
|
align-self: stretch;
|
|
overflow-x: hidden;
|
|
width: auto;
|
|
}
|
|
main aside,
|
|
main article h2,
|
|
main article p {
|
|
margin-left: 0;
|
|
margin-right: 0;
|
|
max-width: 100%;
|
|
text-align: left;
|
|
width: 100%;
|
|
}
|
|
main article ul {
|
|
align-self: end;
|
|
padding: 0;
|
|
width: calc(100% - 2.5vmax);
|
|
}
|
|
main article figure {
|
|
margin: 2vmax -6vmin 1vmax;
|
|
}
|
|
|
|
ul.list li {
|
|
flex-direction: column;
|
|
}
|
|
ul.list li time {
|
|
padding: 1vmax 0 0 0;
|
|
}
|
|
}
|
|
@media only screen and (min-width: 1280px) {
|
|
main article h2 {
|
|
margin: 2vmax 7vmin 1vmax;
|
|
}
|
|
|
|
ul.list li time {
|
|
padding-left: 3rem;
|
|
}
|
|
}
|
|
@media only screen and (min-width: 1440px) {
|
|
main article h2 {
|
|
margin: 2vmax 5vmin 1vmax;
|
|
}
|
|
}
|