---
|
|
# this ensures Jekyll reads the file to be transformed into CSS later
|
|
# only Main files contain this front matter, not partials.
|
|
nav_exclude: true
|
|
---
|
|
/*****************************************************************************/
|
|
/* Tufte Jekyll blog theme
|
|
/* - source: https://github.com/clayh53/tufte-jekyll
|
|
/* - based on Tufte CSS by Dave Liepmann ( https://github.com/edwardtufte/tufte-css )
|
|
/*****************************************************************************/
|
|
|
|
// Imports to create final
|
|
|
|
@import "../_sass/fonts";
|
|
@import "../_sass/settings";
|
|
@import "../_sass/syntax-highlighting";
|
|
|
|
/* Changes from original tufte.css
|
|
|
|
- use border-box instead of content-box for box-sizing
|
|
- change font size as browser width expands or contracts
|
|
- add MathJax styling
|
|
- removes underline from <a> links and sets their color to $constrast-color, except for links that are inside <p>
|
|
- uses marginnote for maincolumn figure caption
|
|
|
|
*/
|
|
|
|
img[src$="centerme"] {
|
|
display:block;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
// global resets
|
|
*, *:before, *:after {
|
|
margin: 0;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
html, body { height: 100%; }
|
|
|
|
/* clearfix hack after Cederholm (group class name) */
|
|
.group:after {
|
|
content: "";
|
|
display: table;
|
|
clear: both;
|
|
}
|
|
|
|
// MathJax styling
|
|
.mathblock, .MJXc-display {
|
|
font-size: 1.5rem !important;
|
|
clear: left;
|
|
}
|
|
|
|
// variable font size
|
|
html {
|
|
font-size: 11px;
|
|
-webkit-font-smoothing: antialiased;
|
|
-moz-osx-font-smoothing: grayscale;
|
|
}
|
|
@media screen and (min-width: 800px){ html{ font-size: 12px; } }
|
|
@media screen and (min-width: 900px){ html{ font-size: 13px; } }
|
|
@media screen and (min-width: 1000px){ html{ font-size: 14px; } }
|
|
@media screen and (min-width: 1100px){ html{ font-size: 15px; } }
|
|
|
|
body {
|
|
width: 100%;
|
|
padding-left: 12.5%;
|
|
max-width: calc(12.5% + 1400px); // max-width of content box = 1400px
|
|
margin: 0 auto;
|
|
font-family: $body-font;
|
|
background-color: $bg-color;
|
|
color: $text-color;
|
|
counter-reset: sidenote-counter;
|
|
}
|
|
|
|
// changed
|
|
h1 {
|
|
font-weight: 400;
|
|
margin-top: 1.568rem;
|
|
margin-bottom: 1.568rem;
|
|
font-size: 2.5rem;
|
|
line-height: 0.784;
|
|
}
|
|
|
|
h2 {
|
|
font-style: italic;
|
|
font-weight: 400;
|
|
margin-top: 4rem; /* 2.1rem */
|
|
margin-bottom: 1.4rem;
|
|
font-size: 2.2rem;
|
|
line-height: 1;
|
|
}
|
|
|
|
h3 {
|
|
font-style: italic;
|
|
font-weight: 400;
|
|
font-size: 1.7rem;
|
|
margin-top: 2rem;
|
|
margin-bottom: 1.4rem;
|
|
line-height: 1;
|
|
}
|
|
|
|
p.subtitle {
|
|
font-style: italic;
|
|
margin-top: 1rem;
|
|
margin-bottom: 1rem;
|
|
font-size: 1.8rem;
|
|
display: block;
|
|
line-height: 1;
|
|
}
|
|
|
|
article {
|
|
width: 55%;
|
|
padding: 5rem 0;
|
|
}
|
|
|
|
/* ==============================
|
|
* Main Body Text
|
|
* ============================== */
|
|
|
|
p, ol, ul {
|
|
font-size: 1.4rem;
|
|
line-height: 2rem;
|
|
margin: 1.4rem 0;
|
|
}
|
|
|
|
p {
|
|
padding-right: 0;
|
|
vertical-align: baseline;
|
|
}
|
|
|
|
li { margin-bottom: 0.5em; }
|
|
|
|
blockquote p, pre { padding-right: 0 10%; }
|
|
|
|
blockquote * { font-size: 1.1rem; }
|
|
blockquote p { line-height: 1.75rem; }
|
|
blockquote footer { text-align: right; }
|
|
|
|
/* ==============================
|
|
* Figures and Margins
|
|
* ============================== */
|
|
|
|
// the caption of a figure.maincolumn is never hidden
|
|
figure.maincolumn { margin-bottom: 3em; }
|
|
figure.maincolumn > figcaption { display: block !important; }
|
|
|
|
figure.fullwidth figcaption {
|
|
float: left;
|
|
margin-right: 0%;
|
|
margin-left: 36%;
|
|
}
|
|
|
|
img { max-width: 100%; }
|
|
|
|
.sidenote, .marginnote {
|
|
// goal: width = 50% of <p> (= 27.5% of 87.5% <body>)
|
|
// - vw for constant width regardless of container
|
|
// - 336.875px = 24.0625% of 1400px (max-width of <body>)
|
|
width: 24.0625vw;
|
|
max-width: 336.875px;
|
|
|
|
// goal: 5.5vw of spacing between main column and sidebar
|
|
// - assuming container has width of <article>, then
|
|
// 10% (spacing) + 50% (width) = 60%
|
|
margin-right: -60%;
|
|
|
|
float: right;
|
|
clear: right;
|
|
font-size: 1rem;
|
|
|
|
margin-top: 0;
|
|
margin-bottom: 1.4rem;
|
|
line-height: 1.4;
|
|
vertical-align: baseline;
|
|
position: relative;
|
|
}
|
|
|
|
.sidenote-number { counter-increment: sidenote-counter; }
|
|
.sidenote-number:after, .sidenote:before {
|
|
font-family: et-book-roman-old-style;
|
|
color: $contrast-color; // added
|
|
position: relative;
|
|
vertical-align: baseline;
|
|
}
|
|
.sidenote-number:after {
|
|
content: counter(sidenote-counter);
|
|
font-size: 1rem;
|
|
top: -0.5rem; // use top instead of vertical-align to avoid affecting line-height
|
|
left: 0.1rem;
|
|
}
|
|
.sidenote:before {
|
|
// unicode for a non-breaking space
|
|
content: counter(sidenote-counter) ".\000a0";
|
|
}
|
|
|
|
// account for indentation of list items and blockquotes
|
|
blockquote .sidenote, blockquote .marginnote {
|
|
margin-right: -82.35%; // =70%/85%
|
|
}
|
|
li .sidenote, li .marginnote {
|
|
margin-right: -63.29%; // not quite right yet
|
|
}
|
|
|
|
// margin toggle
|
|
// - hide if screen is wide enough
|
|
input.margin-toggle,
|
|
label.margin-toggle:not(.sidenote-number) {
|
|
display: none;
|
|
}
|
|
|
|
/* ==============================
|
|
* Links
|
|
* ============================== */
|
|
|
|
// new link behavior
|
|
a {
|
|
color: $contrast-color;
|
|
text-decoration: none;
|
|
}
|
|
|
|
/* Links: replicate underline that clears descenders */
|
|
p > a:link, p > a:visited { color: inherit; }
|
|
|
|
p > a:link {
|
|
background: -webkit-linear-gradient(#fffff8, #fffff8), -webkit-linear-gradient(#fffff8, #fffff8), -webkit-linear-gradient(currentColor, currentColor);
|
|
background: linear-gradient(#fffff8, #fffff8), linear-gradient(#fffff8, #fffff8), linear-gradient(currentColor, currentColor);
|
|
-webkit-background-size: 0.05em 1px, 0.05em 1px, 1px 1px;
|
|
-moz-background-size: 0.05em 1px, 0.05em 1px, 1px 1px;
|
|
background-size: 0.05em 1px, 0.05em 1px, 1px 1px;
|
|
background-repeat: no-repeat, no-repeat, repeat-x;
|
|
text-shadow: 0.03em 0 #fffff8, -0.03em 0 #fffff8, 0 0.03em #fffff8, 0 -0.03em #fffff8, 0.06em 0 #fffff8, -0.06em 0 #fffff8, 0.09em 0 #fffff8, -0.09em 0 #fffff8, 0.12em 0 #fffff8, -0.12em 0 #fffff8, 0.15em 0 #fffff8, -0.15em 0 #fffff8;
|
|
background-position: 0% 93%, 100% 93%, 0% 93%;
|
|
}
|
|
|
|
@media screen and (-webkit-min-device-pixel-ratio: 0) {
|
|
p > a:link {
|
|
background-position-y: 87%, 87%, 87%;
|
|
}
|
|
}
|
|
|
|
p > a:link::selection,
|
|
p > a:link::-moz-selection {
|
|
text-shadow: 0.03em 0 #b4d5fe, -0.03em 0 #b4d5fe, 0 0.03em #b4d5fe, 0 -0.03em #b4d5fe, 0.06em 0 #b4d5fe, -0.06em 0 #b4d5fe, 0.09em 0 #b4d5fe, -0.09em 0 #b4d5fe, 0.12em 0 #b4d5fe, -0.12em 0 #b4d5fe, 0.15em 0 #b4d5fe, -0.15em 0 #b4d5fe;
|
|
background: #b4d5fe;
|
|
}
|
|
|
|
/* ==============================
|
|
* Code
|
|
* ============================== */
|
|
|
|
// Markdown code blocks (```, ~~~, or indented blocks) are always <pre><code></code></pre>
|
|
// Markdown code spans (`, ``) are always <p><code></code></p>
|
|
|
|
pre, code {
|
|
font-family: $code-font;
|
|
font-size: 1rem;
|
|
line-height: 1.42;
|
|
margin-top: 1.42rem;
|
|
-webkit-text-size-adjust: 100%; /* Prevent adjustments of font size after orientation changes in iOS. See https://github.com/edwardtufte/tufte-css/issues/81#issuecomment-261953409 */ }
|
|
pre { overflow-x: auto; }
|
|
|
|
/* ==============================
|
|
* Miscellaneous
|
|
* ============================== */
|
|
|
|
.sans {
|
|
font-family: $sans-font;
|
|
letter-spacing: .03em;
|
|
}
|
|
|
|
.fullwidth { max-width: 90%; }
|
|
|
|
.full-width {
|
|
.sidenote, .sidenote-number, .marginnote {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
span.newthought {
|
|
font-variant: small-caps;
|
|
font-size: 1.2em;
|
|
letter-spacing: 0.05rem;
|
|
} // added
|
|
|
|
// helper classes
|
|
.contrast { color: $contrast-color; }
|
|
|
|
.smaller { font-size: 80%; }
|
|
|
|
hr.slender {
|
|
border: 0;
|
|
height: 1px;
|
|
margin-top: 1.4rem;
|
|
margin-bottom:1.4rem;
|
|
background-image: -webkit-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
|
|
background-image: -moz-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
|
|
background-image: -ms-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
|
|
background-image: -o-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
|
|
}
|
|
|
|
/* ==============================
|
|
* Tables
|
|
* ============================== */
|
|
|
|
// Use booktabs style as default for all tables, including Markdown tables
|
|
table, table.booktabs {
|
|
width: auto;
|
|
margin: 0 auto;
|
|
border-spacing: 0px;
|
|
border-top: 2px solid $border-color;
|
|
border-bottom: 2px solid $border-color;
|
|
}
|
|
|
|
th, .booktabs th {
|
|
border-bottom: 1px solid $border-color;
|
|
padding: 0.65ex 0.5em 0.4ex 0.5em;
|
|
font-weight: normal;
|
|
text-align: center;
|
|
}
|
|
|
|
th, td {
|
|
font-size: 1.2rem;
|
|
line-height: 1.71428571;
|
|
}
|
|
|
|
th, .booktabs th.cmid {
|
|
border-bottom: 1px solid lighten($border-color, 25%);
|
|
}
|
|
|
|
.booktabs th.nocmid {
|
|
border-bottom: none;
|
|
}
|
|
|
|
// add space between thead row and tbody
|
|
tr:first-child td, .booktabs tbody tr:first-child td {
|
|
padding-top: 0.65ex;
|
|
}
|
|
|
|
td, .booktabs td {
|
|
padding-left: 0.5em;
|
|
padding-right: 0.5em;
|
|
text-align: left;
|
|
}
|
|
|
|
caption, .booktabs caption {
|
|
font-size: 90%;
|
|
text-align: left;
|
|
width: auto;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
margin-top: 1ex;
|
|
caption-side: top;
|
|
}
|
|
|
|
.booktabs tbody tr td.l { text-align: left !important; }
|
|
.booktabs tbody tr td.c { text-align: center !important; }
|
|
.booktabs tbody tr td.r { text-align: right !important; }
|
|
|
|
.table-caption {
|
|
float: right;
|
|
clear: right;
|
|
margin-right: -60%;
|
|
width: 50%;
|
|
margin-top: 0;
|
|
margin-bottom: 0;
|
|
font-size: 1.0rem;
|
|
line-height: 1.96;
|
|
}
|
|
|
|
/* ==============================
|
|
* Small Screens
|
|
* ============================== */
|
|
|
|
@media (max-width: 760px) {
|
|
article {
|
|
width: 90%;
|
|
}
|
|
|
|
figure {
|
|
max-width: 90%;
|
|
}
|
|
|
|
figcaption, figure.fullwidth figcaption {
|
|
margin-right: 0%;
|
|
max-width: none;
|
|
}
|
|
|
|
blockquote p, blockquote footer {
|
|
padding-right: 10%;
|
|
}
|
|
|
|
label.margin-toggle:not(.sidenote-number) {
|
|
display: inline;
|
|
color: $contrast-color;
|
|
}
|
|
|
|
blockquote .sidenote,
|
|
blockquote .marginnote,
|
|
li .sidenote,
|
|
li .marginnote,
|
|
.sidenote,
|
|
.marginnote {
|
|
// treat as-if inline
|
|
width: 100%;
|
|
max-width: 100%;
|
|
|
|
display: none;
|
|
float: left;
|
|
padding: 0 5%;
|
|
margin: 1rem 0;
|
|
vertical-align: baseline;
|
|
}
|
|
|
|
.margin-toggle:checked + .sidenote,
|
|
.margin-toggle:checked + .marginnote {
|
|
display: block;
|
|
}
|
|
|
|
label {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.table-caption {
|
|
display: block;
|
|
float: right;
|
|
clear: both;
|
|
width: 98%;
|
|
margin-top: 1rem;
|
|
margin-bottom: 0.5rem;
|
|
margin-left: 1%;
|
|
margin-right: 1%;
|
|
vertical-align: baseline;
|
|
position: relative;
|
|
}
|
|
|
|
div.table-wrapper,
|
|
table,
|
|
table.booktabs {
|
|
width: 85%;
|
|
}
|
|
}
|
|
|
|
/* ==============================
|
|
* Nav and Footer Styling
|
|
* ============================== */
|
|
|
|
header > nav.group, body footer {
|
|
width: 95%;
|
|
padding-top: 2rem;
|
|
}
|
|
|
|
// escaped unicode for the carats and then a space on active menu links
|
|
nav.group a.active:before{
|
|
content:"\0003c\000a0";
|
|
}
|
|
nav.group a.active:after{
|
|
content:"\000a0\0003e";
|
|
}
|
|
|
|
header > nav a {
|
|
font-size: 1.2rem;
|
|
font-family: $sans-font;
|
|
letter-spacing: 0.15em;
|
|
text-transform: uppercase;
|
|
color: $contrast-color;
|
|
padding-top: 1.5rem;
|
|
display: inline-block;
|
|
float: left;
|
|
margin-top: 0;
|
|
margin-bottom: 0;
|
|
padding-right: 2rem;
|
|
vertical-align: baseline;
|
|
}
|
|
|
|
ul.footer-links, .credits {
|
|
list-style: none;
|
|
text-align: center;
|
|
margin: 0 auto;
|
|
}
|
|
ul.footer-links li {
|
|
display: inline;
|
|
padding: 0.5rem 0.25rem;
|
|
}
|
|
.credits {
|
|
padding: 1rem 0rem;
|
|
}
|
|
|
|
// change font color for credit links in footer
|
|
.credits{
|
|
font-family: $sans-font;
|
|
& a {
|
|
color: $contrast-color;
|
|
}
|
|
}
|
|
|
|
/* ==============================
|
|
* Full-width page styling
|
|
* ============================== */
|
|
|
|
body.full-width {
|
|
width: 90%;
|
|
padding: 0 5%;
|
|
}
|
|
|
|
.full-width article p {
|
|
width: 90%;
|
|
}
|
|
|
|
/* ==============================
|
|
* @media print / screen
|
|
* ============================== */
|
|
|
|
// do not display a print-footer for screen display
|
|
@media screen {
|
|
.print-footer{ display: none; }
|
|
}
|
|
|
|
@media print {
|
|
*, *:before, *:after {
|
|
background: transparent !important;
|
|
color: #000 !important; // Black prints faster
|
|
box-shadow: none !important;
|
|
text-shadow: none !important;
|
|
}
|
|
|
|
@page {
|
|
margin: 0.75in 0.5in 0.75in 0.5in;
|
|
orphans: 4;
|
|
widows: 2;
|
|
}
|
|
|
|
body {
|
|
font-size: 12pt;
|
|
padding-left: 5%;
|
|
max-width: calc(5% + 1400px); // max-width of content box = 1400px
|
|
}
|
|
|
|
article {
|
|
padding: 0;
|
|
}
|
|
|
|
/* this only applies when @media width > 760px */
|
|
.sidenote, .marginnote {
|
|
// goal: width = 50% of <p> (= 27.5% of 95% <body>)
|
|
// - vw for constant width regardless of container
|
|
// - 365.75px = 26.125% of 1400px (max-width of <body>)
|
|
width: 26.125vw;
|
|
max-width: 365.75px;
|
|
}
|
|
|
|
html body span.print-footer {
|
|
font-family: $sans-font;
|
|
font-size: 9pt;
|
|
margin-top: 22.4pt;
|
|
padding-top: 4pt;
|
|
border-top: 1px solid #000;
|
|
}
|
|
|
|
thead {
|
|
display: table-header-group;
|
|
}
|
|
|
|
tr,
|
|
img {
|
|
break-inside: avoid;
|
|
}
|
|
|
|
article h2, article h2 h3, article h3, article h3 h4, article h4, article h4 h5 {
|
|
break-after: avoid;
|
|
}
|
|
|
|
body header, body footer {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
@media print and (max-width: 760px) {
|
|
blockquote .sidenote,
|
|
blockquote .marginnote,
|
|
li .sidenote,
|
|
li .marginnote,
|
|
.sidenote,
|
|
.marginnote {
|
|
// treat as-if inline
|
|
width: 100%;
|
|
max-width: 100%;
|
|
display: block;
|
|
}
|
|
}
|