@font-face { font-family: ETBembo;
             src: url("ETBembo-RomanLF.ttf"); }
@font-face { font-family: ETBembo;
             src: url("ETBembo-DisplayItalic.ttf");
             font-weight: normal;
             font-style: italic; }

html { font-size: 15px; }

body { width: 87.5%;
       margin-left: auto;
       margin-right: auto;
       padding-left: 12.5%;
       font-family: ETBembo, Palatino, "Palatino Linotype", "Palatino LT STD", "Book Antiqua", Georgia, serif;
       background-color: #fffff8;
       color: #111;
       max-width: 1400px;
       counter-reset: sidenote-counter; }

h1 { font-weight: 400;
     margin-top: 4rem;
     margin-bottom: 1.5rem;
     /* font-family: "Old Standard TT"; */
     font-size: 3.2rem;
     line-height: 1; }

h2 { font-style: italic;
     font-weight: 400;
     margin-top: 2.1rem;
     margin-bottom: 0;
     font-size: 2.2rem;
     line-height: 1; }

h3 { font-style: italic;
     font-weight: 400;
     font-size: 1.7rem;
     margin-top: 2rem;
     margin-bottom: 0;
     line-height: 1; }

subtitle { font-style: italic;
           margin-top: 1rem;
           margin-bottom: 1rem;
           font-size: 1.8rem;
           display: block;
           line-height: 1; }

table { width: 53%;
        text-align: right;
        font-size: 1.2rem;
        line-height: 1.4;
        margin-top: 1.4rem;
        margin-bottom: 1.4rem;
        margin-left: 1%;
        margin-right: 1%;
        border-collapse: separate;
        border-spacing: 0 5px;
        -webkit-font-feature-settings: 'tnum'; /* This is technically redundant */
        -moz-font-feature-settings: 'tnum';
        -ms-font-feature-settings: 'tnum'; }

thead th { border-bottom: 1px solid #AAAAAA;
           font-weight: 400;
           border-collapse: separate;
           border-spacing: 5px 5px; }

td.text { text-align: left; }

table.booktabs { width: auto;
                 max-width: 53%;
                 margin-left: auto;  /* center the table */
                 margin-right: auto;
                 border-spacing: 0px;
                 border-top: 2px solid #333333;
                 border-bottom: 2px solid #333333; }

.booktabs th { border-bottom: 1px solid #333333;
               padding: 0.65ex 0.5em 0.4ex 0.5em;
               font-weight: normal;
               text-align: center; }

.booktabs th.cmid { border-bottom: 1px solid #666666; }

.booktabs th.nocmid { border-bottom: none; }

.booktabs tbody tr:first-child td { padding-top: 0.65ex; } /* add space between thead row and tbody */ 

.booktabs td { padding-left: 0.5em;
               padding-right: 0.5em;
               text-align: left; }

.booktabs caption { font-size: 90%;
                    text-align: left;
                    width: auto;
                    margin-left: auto;
                    margin-right: auto;
                    margin-top: 1ex;
                    caption-side: bottom; }

.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; }

article { position: relative;
          padding: 5rem 0rem; }

section { padding-top: 1rem;
          padding-bottom: 1rem; }

p { font-size: 1.4rem;
    line-height: 2rem;
    margin-top: 1.4rem;
    margin-bottom: 1.4rem;
    padding-right: 0;
    vertical-align: baseline; }

blockquote p { font-size: 1.1rem;
               width: 50%; }

blockquote footer { width: 50%;
                    text-align: right; }

figure { -webkit-margin-start: 0;
         -webkit-margin-end: 0; }

figcaption { float: right;
             clear: right;
             margin-right: 18.5%;
             margin-top: 0;
             margin-bottom: 0;
             font-size: 1.0rem;
             line-height: 1.6;
             vertical-align: baseline;
             position: relative; }

figure.fullwidth figcaption { margin-right: 24%; }

a { color: #222;
    text-decoration: none;
    border-bottom: 1px solid #777;
    padding-bottom: 1px; }

img { max-width: 100%; }

.sidenote, .marginnote { float: right;
                         clear: right;
                         margin-right: -60%;
                         width: 50%;
                         margin-top: 0;
                         margin-bottom: 0;
                         font-size: 1.0rem;
                         line-height: 1.6;
                         vertical-align: baseline;
                         position: relative; }

.sidenote-number { counter-increment: sidenote-counter; }

.sidenote-number:after, .sidenote:before { content: counter(sidenote-counter) " ";
                                           position: relative;
                                           vertical-align: baseline;
                                           color: #f00000; }

.sidenote-number:after { content: counter(sidenote-counter); 
                         font-size: 0.9rem;
                         top: -0.4rem; }

.sidenote-number:after { left: 0.1rem; }

.sidenote:before { content: counter(sidenote-counter) ". ";
                   position: absolute;
                   /* 100% refers to the computed width of the number, so this transform
                    * shifts the number just outside the left edge of the sidenote box,
                    * with a buffer of 0.25rem, no matter how many digits the number has. */
                   -webkit-transform: translateX(-100%) translateX(-0.25rem);
                   -ms-transform: translateX(-100%) translateX(-0.25rem);
                   transform: translateX(-100%) translateX(-0.25rem); }

p, footer, pre.code { width: 55%; }

@media screen and (max-width: 600px) { p, footer, pre.code { width: 65%; }
                                       blockquote p, blockquote footer { width: 60%; }}
@media screen and (max-width: 400px) { p, footer, pre.code { width: 90%; }
                                       blockquote p, blockquote footer { width: 90%; }}

.sans { font-family: "Gill Sans", "Gill Sans MT", Calibri, sans-serif; }

.code { font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
        color: #222;
        font-size: 1.125rem;
        line-height: 1.6; }

h1 .code, h2 .code, h3 .code { font-size: 0.80em; }

.marginnote .code, .sidenote .code { font-size: 1rem; }

pre.code { padding: 0 0 0 2em;
           overflow-x: scroll; }

.fullwidth { max-width: 95%; }

@media screen and (max-width: 600px) { .sidenote, .marginnote { width: 35%;
                                                                margin-right: -45%; }}
@media screen and (max-width: 400px) { pre.code { padding: 0; }
                                       .sidenote-number:after { display: none; }
                                       .sidenote, .marginnote { width: 50%;
                                                                margin: 0.5em 0 0.5em 1.6em; }}
@media screen and (max-width: 300px) { .sidenote, .marginnote { margin-right: 0; }}


span.newthought { font-variant: small-caps;
                  font-size: 1.2em; }
