/* 
   Tufte CSS with custom athena modifications
   Tufte CSS available at: https://edwardtufte.github.io/tufte-css/
*/

@font-face { font-family: ETBembo;
             /*src: url("ETBembo-RomanLF.ttf"); }*/
             src: url("etbembo-romanlf-webfont.woff") format("woff"),
                  url("etbembo-romanlf-webfont.woff2") format("woff2");
                }
@font-face { font-family: ETBembo;
             src: url("etbembo-displayitalic-webfont.woff") format("woff"),
                  url("etbembo-displayitalic-webfont.woff") format("woff2");
             font-weight: normal;
             font-style: italic; }
@font-face {
  font-family: Menlo Regular;
  src: url("menlo-regular.woff") format("woff"),
      url("menlo-regular.woff2") format("woff2");
}

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: 2.5rem;
     margin-bottom: 1.5rem;
     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: 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: 5rem 0rem; }

article h1 {
  /*margin-top: 20px;*/
  margin-top: 4rem;
  width: 60%;
  font-size: 2rem;
}

article h2 {
  font-size: 1.8rem;
}

article h3 {
  font-size: 1.5rem;
}

article p {
  font-size: 1.2rem;
}

article hr {
  width: 10rem;
  padding: 0;
  border: none;
  border-top: medium double #333;
  color: #333;
  text-align: center;
  margin-left: 22%;
  margin-top: 3rem;
  margin-bottom: 1rem;
}

article hr:after {
  content: "§";
  display: inline-block;
  position: relative;
  top: -0.7em;
  font-size: 1.5em;
  padding: 0 0.25em;
  background: #fffff8;
}

@media screen and (max-width: 760px) {
  article h1 {
    width: 100%;
  }
}

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

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

ul {
  font-size: 1.2rem;
}

ol {
  font-size: 1.2rem;
}

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

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

blockquote {
  border-left: 1px solid #ccc;
  padding-left: 1em;
}

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

ul { list-style-type: none; }

li { padding: 0.5rem 0; }

img.mached {
  width: 41px;
  height: 54px;
  padding-right: 1em;
}

figure { padding: 0;
         border: 0;
         font-size: 100%;
         font: inherit;
         vertical-align: baseline;
         max-width: 55%;
         -webkit-margin-start: 0;
         -webkit-margin-end: 0;
         margin: 0 0 3em 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%; margin-left: auto; margin-right: auto; display: block; }

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

#blogdesc {
  font-size: 1rem;
  color: #5D5B5B;
}

#blogdesc a {
  color: #5D5B5B;
}

#blogdesc a:hover {
  color: #333;
}

.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, div.sourceCode, table.table-wrapper, table, ol, ul,
div.figure, div footnotes {width: 55%; }

div.sourceCode pre {width: auto;}

.footnotes p {width: 100%;}

@media screen and (max-width: 760px) { p, footer, pre, pre.code, table,
                                        div.sourceCode, ol, ul,
                                      div.figure, .footnotes p { width:
                                       90%; }
                                       blockquote p, blockquote footer { width: 90%; }
                                       table.table-wrapper { width: 90%; }
                                       figure { max-width: 90%; }}

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

code { font-family: Menlo Regular;
        color: #505050;
        font-size: .9rem;
        font-weight: 500;
        background: #f7f7f7;
        border-radius: 3px;
        padding: 2px;
   }

code a {
  border-bottom: 0px;
}

.code { font-family: Menlo Regular, 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.4em; }

span.boldnewthought {
  font-variant: small-caps;
  font-size: 1.3em;
  font-weight: bold;
}

img.hed {
  display: block;
  float: left;
  margin-right: 10px;
  /*margin-bottom: -10px;*/
  padding-top: 8px;
  max-width: 80px;
}

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; }
                           figure .marginnote, .figure .marginnote { display: inline; }
                           .sidenote, .marginnote { display: none; }
                           .marginnote { float: none; }
                           img.mached { width: 41px; height: 54px;}
                           #blogdesc { width: 90%; display: block;}
                           .thefooter { width: 90% !important; }
                           .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%; }
                           p { overflow: hidden; }}

/* amendments */

.header {
  padding-top: 20px;
  /*margin-top: 20px;*/
  margin-top: 4rem;
  /*border-bottom: solid 1px #ddd;*/
  width: 50%;
  margin-bottom: 3rem;
}

@media screen and (max-width: 760px) {
  .header {
    width: 90%;
  }

  img.mached { width: 41px; height: 54px; }

  .content h1 {
    width: 85% !important;
  }
}

.splash p {
  width: 100%;
  font-size: 1.2rem;
}

.content {
  margin-bottom: 6rem;
}

.content h1 {
  font-size: 1.4rem;
  line-height: 2.8rem;
  width: 60%;
  margin-bottom: -.5rem;
}

.navigation {
  display: block;
  text-align: left;
}

.navigation-list {
  padding-left: 0px;
  margin-top: -5px;
  font-size: 1.2rem;
}

.navigation li {
  list-style-image: none;
  list-style-type: none;
  display: inline-block;
}

.navigation li.active a {
  color: #000;
}

.navigation a, .navigation a:visited {
  color: #aaa;
  text-decoration: none;
}

.navigation a:hover {
  color: #333;
}

.thefooter {
  margin-top: 30px;
  width: 60%;
  border-top: solid 1px #ddd;
  color: #777;
}

.thefooter a {
  color: #777;
}

.thefooter p {
  line-height: 1rem;
  font-size: 1rem;
}

.loop-date {
  font-size: 1.2rem;
}

.sub-date {
  padding-bottom: 20px;
  font-size: 1.3rem;
}
