@import 'https://fonts.googleapis.com/css?family=Open+Sans';

html { font-size: 15px; }

body { width: 87.5%;
       margin-left: auto;
       margin-right: auto;
       padding-left: 12.5%;
       font-family: -apple-system, BlinkMacSystemFont, 'Open Sans', sans-serif;
       background-color: #fff;
       color: #111;
       counter-reset: sidenote-counter; }

h1 { font-weight: 200;
     margin-top: 4rem;
     margin-bottom: 1.5rem;
     font-size: 2.4rem;
     line-height: 1; }

h2 { font-weight: 200;
     margin-top: 2.1rem;
     margin-bottom: 0;
     font-size: 1.8rem;
     line-height: 1; }

h3 { font-weight: 200;
     font-size: 1.3rem;
     margin-top: 1.5rem;
     margin-bottom: 0;
     line-height: 1.5; }

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

table { width: 98%;
        text-align: right;
        font-size: 1.2rem;
        line-height: 1.4;
        margin: 1.4rem 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; }

span.table-label { padding-top: 8px; } /* to maintain height relative to table header row */

table.booktabs { width: auto;
                 margin: 0 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: 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; }

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

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

p, ol, ul { font-size: 1.3rem; }

p { 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; }

ul { list-style-type: none; }

li { padding: 0.5rem 0; }

.small-list li {
  font-size: 1.1rem;
}

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: #003300;
    text-decoration: underline;
    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; }

.table-caption { float:right;
                 clear:right;
                 margin-right: -60%;
                 width: 50%;
                 margin-top: 0;
                 margin-bottom: 0;
                 font-size: 1.0rem;
                 line-height: 1.6; }

.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.5rem;
                         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, div.table-wrapper { width: 55%; }

@media screen and (max-width: 760px) { 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%; }

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

input.margin-toggle { display: none; }

label.sidenote-number { display: inline; }

label.margin-toggle:not(.sidenote-number) { display: none; }

@media(max-width: 760px) { label.margin-toggle:not(.sidenote-number) { display: inline; }
                           .sidenote, .marginnote { display: none; }
                           .margin-toggle:checked + .sidenote, 
                           .margin-toggle:checked + .marginnote { display: block;
                                                                  float: left;
                                                                  left: 1rem;
                                                                  clear: both;
                                                                  width: 95%;
                                                                  margin: 1rem 2.5%;
                                                                  vertical-align: baseline;
                                                                  position: relative; }
                           label { cursor: pointer; }
                           pre.code { padding: 0; }
                           .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; }
                           table, table.booktabs { width: 85%; }
                           img { width: 100%; } }

@media(min-width: 1200px) {
  .drawer-responsive.drawer-left .drawer-overlay {
      margin-left: 150px !important;
      padding-left: 80px !important;
  }
}

@media(min-width: 760px) {
  .drawer-responsive.drawer-left .drawer-overlay {
      margin-left: 80px;
      padding-left: 40px;
  }

  .drawer-responsive .drawer-overlay {
    background-color: #fff;
  }
}

.drawer-default .drawer-brand {
  color: #222;
  padding-left: 10px;
}

.drawer-default .drawer-brand a {
  display: inline-block;
  border-bottom: 0px;
  padding: 20px 5px 20px 5px;
  font-weight: 200;
  line-height: 1;
  font-size: 1.4rem;
}
 .drawer-menu-item {
  font-size: 14px;
 }
