body { -webkit-font-smoothings: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; } code { padding: 2px 4px; font-size: 90%; background-color: #eeeeee; hyphens: none; /* reset changes from

*/ -webkit-hyphens: none; -ms-hyphens: none; word-wrap: break-word; /* border-radius: 4px; */ } /* Reset these values when there's code inside a pre. Pre handles the styling then.*/ pre code { background-color: transparent; padding: 0; } pre { display: block; padding: 9.5px; margin: 0 0 10px; line-height: 1.4; word-wrap: break-word; border: 1px solid #ccc; box-shadow: 0 5px 5px -5px #777777; max-width: 100%; /* These two copied from chroma theme (syntax.css) */ color: #4d4d4c; background-color: #ffffff; } pre, code { font-family: monocode, monospace; -webkit-font-smoothings: antialiased; -moz-osx-font-smoothing: grayscale; } h1,h2,h3,h4,h5,h6 { font-family: 'Lora', serif; } h1#title { /*Some UA stylesheets put h1 to 1.5em when in an article, so we reset it back for our title here.*/ font-size: 2em; } body { font-family: -apple-system,BlinkMacSystemFont,avenir next,avenir,helvetica neue,helvetica,ubuntu,roboto,noto,segoe ui,arial,sans-serif; } .content-container { padding-left: 1em; padding-right: 1em; } .content-container-narrow-pad { padding: 0.5em; } .v-center { align-items: center; } .look-sheet-bkg { background-color: white; } @media(min-width: 720px) { /* Make everything 10% smaller! */ html { font-size: 14.4px; } .content-container { /* ACHTUNG: Images are scaled in the fitfigure shortcode with an assumption that the page is 652px wide. If you change this value, remeasure and change the value there too. */ width: 45rem; padding-left: 2em; padding-right: 2em; margin: 0 auto; } .content-container-narrow-pad { padding-left: 0.5em; padding-right: 0.5em; width: 45rem; margin: 0 auto; } .bottom-links { border: 1px solid #ccc; border-bottom: 0px; } .look-sheet { border: 1px solid #ccc; box-shadow: 0 5px 5px -5px #777777; margin-top: 1em; margin-bottom: 1em; min-height: 0px; background-color: white; } .look-sheet-bkg { background-color: #fffdf7; } } figure.smaller { max-width: 67%; } .look-sheet-border { border: 1px solid #ccc; box-shadow: 0 5px 5px -5px #777777; margin-top: 1em; margin-bottom: 1em; min-height: 0px; } .article-pad-v { padding-top: 1em; padding-bottom: 1em; } blockquote { border-left: #777 0.25em solid; padding: 0 1.25em; margin: 2em 0 2em 1em; } .nav-bkg { color: white; box-shadow: 0 5px 5px -5px #777777; background: #00223E; /* fallback for old browsers */ background: -webkit-linear-gradient(135deg, #00223E 80%, #FFA17F 80%); /* Chrome 10-25, Safari 5.1-6 */ background: linear-gradient(135deg, #00223E 80%, #FFA17F 80%); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */ } .nav-bkg-50 { color: white; box-shadow: 0 5px 5px -5px #777777; background: #00223E; /* fallback for old browsers */ background: -webkit-linear-gradient(135deg, #00223E 50%, #FFA17F 50%); /* Chrome 10-25, Safari 5.1-6 */ background: linear-gradient(135deg, #00223E 50%, #FFA17F 50%); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */ } .nav-bkg a { text-decoration: underline; } .pagewide-bar-padding { padding: 0.5em 1em; } nav a, nav a:hover, nav a:visited { color: white; } .post-date { color: #777; } .post-tags, .post-tags a, .post-tags a:hover, .post-tags a:visited { color: #777; } .margin-top-2em { margin-top: 2em; } .article-body h2,.article-body h3 { margin-top: 2em; margin-bottom: 0.5em; } kbd { background-color: #333; color: #fff; padding: 2px 4px; border-radius: 4px; font-size: 95%; white-space: nowrap; } figure { margin: 2em auto; display: table; } figure:not(.no-border) video, figure:not(.no-border) img, figure:not(.no-border) object, figure:not(.no-border).style-tables table { border: 1px solid #ccc; box-shadow: 0 5px 5px -5px #777777; max-width: 100%; background-color: white; max-height: 85vh; } hr { padding: 0; border: none; border-top: 1px solid #AAA; margin: 2.5em 3em; } body { background-color: #fffdf7; } figcaption { margin-top: 0.75em; font-style: italic; text-align: center; font-size: 0.75em; color: #5e5e5e; } /* The figure is handling the margin here, its last child doesn't need to. This is a side-effect of using display: table on figure. This is gross and will have side-effects if you have multiple nested elements under the figcaption I think. */ figure figcaption :last-child { margin-bottom: 0; } .footnotes { margin-top: 4em; font-size: 85%; } .footnotes hr { margin-bottom: 1em; } .footnotes li { margin: 0 0 12px; } twitter-widget { /* Have to use important here because the twitter oembed puts the styles in the style attribute. */ margin: 2em auto !important; } .list-unstyled { padding-left: 0; margin-bottom: 0; list-style: none; } .flex-row { display: flex; justify-content: space-between; } a.no-underline:hover { text-decoration: none; } a.no-underline:hover .re-underline { text-decoration: underline; } .list-of-titles .post-title { color: black; font-size: 1.5em; } .list-of-titles li a { text-decoration: none; display: block; padding: 1em; border-bottom: 1px solid #ccc; /* hacks so that the text doesn't move unintentionally */ border-left: 1px solid transparent; border-right: 1px solid transparent; } .list-of-titles li a:hover { background-color: white; border-left: 1px solid #ccc; border-right: 1px solid #ccc; box-shadow: 0 5px 5px -5px #777777; } .list-of-titles li a:hover .post-title { text-decoration: underline; } .list-of-titles li:first-child a { border-top: 1px solid #ccc; } .list-of-titles .post-meta { font-size: 0.875em; color: #777; } ul.right-links { display: none; float: right; } ul.right-links li { display: inline-block; margin-right: 1em; } @media(min-width: 440px) { ul.right-links { display: block; } } .embed.rich, img { max-width: 100%; } p { hyphens: auto; -webkit-hyphens: auto; -ms-hyphens: auto; } .look-sheet-bkg.draft, .list-of-titles li.draft a:hover { background: repeating-linear-gradient( 135deg, white, white 10px, #ffd4a3 12px, #ffd4a3 12px ); } .list-of-titles li.draft { background: repeating-linear-gradient( 135deg, #fffdf7, #fffdf7 10px, #ffd4a3 12px, #ffd4a3 12px ); } .post-meta.draft { font-weight: bold; } .text-1p5 { font-size: 1.5em; } .text-0p75 { font-size: 0.75em; } aside.article-aside { background-color: #fffdf7; padding: 0 1em; margin-top: 3em; } aside.article-aside > p:first-child { margin-top: 1rem; } aside.content-warning { font-style: italic; margin-bottom: 2rem; color: #777; border-top: solid 1px #777; border-bottom: solid 1px #777; padding-left: 1em; padding-right: 1em; padding-top: 0.25em; padding-bottom: 0.25em; display: inline-block; } aside.content-warning > p:last-child { margin-bottom: 0; } /* TODO: understand CSS so I don't need to do this insane thing. The idea here is that if an `aside` appears immediately after a heading, it should have close spacing, but if it appears after other content it should have sufficient spacing to make it look like a new section. I think we should theoretically be able to do that with margins, but I don't understand how they work enough yet. */ h2+aside.article-aside, h3+aside.article-aside, h4+aside.article-aside, h5+aside.article-aside { margin-top: 0.5em; } /* If we've nested this inside something, we probably don't want to have the huge margin */ h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child { margin-top: 0.5em; } .expander { background-color: #fffdf7; padding: 0 1em; position: relative; /* anchor for the buttons */ } .expander h2:first-child { margin-top: 0.5em; margin-bottom: 0.5em; } .expander .button { display: inline-block; font-weight: 400; text-align: center; vertical-align: middle; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-color: transparent; line-height: 1.5; border-radius: .25rem; font-family: -apple-system,BlinkMacSystemFont,avenir next,avenir,helvetica neue,helvetica,ubuntu,roboto,noto,segoe ui,arial,sans-serif; padding: .25rem .75rem; font-size: .875rem; color: white; box-shadow: 0 5px 5px -5px #777777; background: #00223E; /* fallback for old browsers */ background: -webkit-linear-gradient(135deg, #00223E 85%, #FFA17F 85%); /* Chrome 10-25, Safari 5.1-6 */ background: linear-gradient(135deg, #00223E 85%, #FFA17F 85%); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */ } .expander .button { position: absolute; top: 0; right: 0; margin-right: 1em; margin-top: 1em; } .hidden { display: none; } .expander input.show:checked ~ .inner { display:block; } .expander input.hide:checked ~ .inner { display: none; } .expander input.show:checked ~ .button-show { display: none; } .expander input.hide:checked ~ .button-hide { display: none; } /* This cursed incantation works around a display bug in Firefox, where writing an emoji with default Emoji Presentation (e.g. 🐻) followed by a non-default emoji character (e.g. ↩) results in the latter being rendered with emoji presentation as well. This is only a problem on the newer Goldmark renderer, which I'm not using yet. */ a.footnote-backref::before { content: ' '; } /* all this stuff is for header links */ .header-link { text-decoration: none; position: absolute; right: 0; top: 0; background: linear-gradient(90deg, rgba(0,0,0,0) 0%, white 20%); color: grey; fill: grey; } aside .header-link { background: linear-gradient(90deg, rgba(0,0,0,0) 0%, #fffdf7 20%); } .header-link:hover { text-decoration: none; } /* Keep the selectors here in sync with site.js */ h2, h3, h4 { position: relative; } h2:not(:hover) .header-link, h3:not(:hover) .header-link, h4:not(:hover) .header-link { display: none; } .header-link svg { height: 0.65em; margin-bottom: 0.225em; /* make these links easier to tap */ margin-left: 0.6em; margin-right: 0.6em; } /* end header links */ /* this goes on the parent */ #content { position: relative; } .floating-footnotes { width: 25em; margin-top: 0; position: absolute; top: 0; /* The entire main article content, + the margins */ left: calc(100% + 2em); } .floating-footnotes hr { display: none; } .floating-footnotes li[role=doc-endnote] p:last-child { margin-bottom: 0; } a.timestamp { border: solid 1px #007bff; background: rgb(0,123,255); background: linear-gradient(145deg, rgba(0,123,255,1) 60%, rgba(0,86,179,1) 100%); color: white; border-radius: 4px; padding: 2px; font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; } figure audio { /* Ok, you can't use 100% for this -- both Chrome and Firefox do _weird things_ if you try that. So we hardcode a pixel value manually based on the page width. */ width: 580px; max-width: 100%; } article table { margin: 2.5em auto; } article table td:not(:first-child), article table th:not(:first-child) { padding-left: 2em; } article table thead tr { border-bottom: 1px solid #00223E; } article table { border-bottom: 1px solid #00223E; } article table thead th { padding-bottom: 0.5em; font-family: 'Lora', serif;; } article table tbody tr:first-child td { padding-top: 0.75em; } article table tbody tr:last-child td { padding-bottom: 0.75em; } article table td, article table th { padding-left: 0.5em; padding-right: 0.5em; padding-top: 0.25em; padding-bottom: 0.25em; vertical-align: top; }