@charset "UTF-8";
/* derived from */
/* http://meyerweb.com/eric/tools/css/reset/ */
/* v1.0 | 20080212 */
@import url(https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,300,400,700,800);
@import url(https://fonts.googleapis.com/css?family=Inconsolata);
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

/* remember to define focus styles! */
:focus {
  outline: 0; }

/* remember to highlight inserts somehow! */
ins {
  text-decoration: none; }

del {
  text-decoration: line-through; }

/* tables still need 'cellspacing="0"' in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0; }

div.clear {
  clear: both; }

@font-face {
  font-family: 'Marydale';
  src: url("/fonts/marydale/marydale-webfont.eot");
  src: url("/fonts/marydale/marydale-webfont.eot?#iefix") format("embedded-opentype"), url("/fonts/marydale/marydale-webfont.woff") format("woff"), url("/fonts/marydale/marydale-webfont.ttf") format("truetype"), url("/fonts/marydale/marydale-webfont.svg#marydaleregular") format("svg");
  font-weight: normal;
  font-style: normal; }
/*
tw-grey is hsl(145, 5%, 52%)
*/
@font-face {
  font-family: 'FontAwesome';
  src: url("https://netdna.bootstrapcdn.com/font-awesome/4.0.0/fonts/fontawesome-webfont.eot");
  src: url("https://netdna.bootstrapcdn.com/font-awesome/4.0.0/fonts/fontawesome-webfont.eot?#iefix") format("embedded-opentype"), url("https://netdna.bootstrapcdn.com/font-awesome/4.0.0/fonts/fontawesome-webfont.woff") format("woff"), url("https://netdna.bootstrapcdn.com/font-awesome/4.0.0/fonts/fontawesome-webfont.ttf") format("truetype"), url("https://netdna.bootstrapcdn.com/font-awesome/4.0.0/fonts/fontawesome-webfont.svgfontawesomeregular") format("svg");
  font-weight: normal;
  font-style: normal; }
html {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

*, *:before, *:after {
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  box-sizing: inherit; }

@font-face {
  font-family: 'FontAwesome';
  src: url("https://netdna.bootstrapcdn.com/font-awesome/4.0.0/fonts/fontawesome-webfont.eot");
  src: url("https://netdna.bootstrapcdn.com/font-awesome/4.0.0/fonts/fontawesome-webfont.eot?#iefix") format("embedded-opentype"), url("https://netdna.bootstrapcdn.com/font-awesome/4.0.0/fonts/fontawesome-webfont.woff") format("woff"), url("https://netdna.bootstrapcdn.com/font-awesome/4.0.0/fonts/fontawesome-webfont.ttf") format("truetype"), url("https://netdna.bootstrapcdn.com/font-awesome/4.0.0/fonts/fontawesome-webfont.svgfontawesomeregular") format("svg");
  font-weight: normal;
  font-style: normal; }
.icon-twitter:before {
  content: "";
  font-family: FontAwesome;
  font-weight: normal;
  font-style: normal;
  text-decoration: inherit;
  -webkit-font-smoothing: antialiased;
  *margin-right: .3em; }

.icon-rss:before {
  content: "";
  font-family: FontAwesome;
  font-weight: normal;
  font-style: normal;
  text-decoration: inherit;
  -webkit-font-smoothing: antialiased;
  *margin-right: .3em; }

.icon-bars:before {
  content: "";
  font-family: FontAwesome;
  font-weight: normal;
  font-style: normal;
  text-decoration: inherit;
  -webkit-font-smoothing: antialiased;
  *margin-right: .3em; }

.icon-close:before, .navmenu .close:before {
  content: "";
  font-family: FontAwesome;
  font-weight: normal;
  font-style: normal;
  text-decoration: inherit;
  -webkit-font-smoothing: antialiased;
  *margin-right: .3em; }

.help-icon:before {
  content: "";
  font-family: FontAwesome;
  font-weight: normal;
  font-style: normal;
  text-decoration: inherit;
  -webkit-font-smoothing: antialiased;
  *margin-right: .3em; }

.icon-close:before, .navmenu .close:before {
  content: "";
  font-family: FontAwesome;
  font-weight: normal;
  font-style: normal;
  text-decoration: inherit;
  -webkit-font-smoothing: antialiased;
  *margin-right: .3em; }

/* ==== banner ================ */
div#banner {
  background-color: black;
  height: 100px;
  font-family: OpenSans, sans-serif;
  color: white;
  position: relative;
  top: 0; }
  div#banner img.name-logo, div#banner img.ie6-name-logo {
    position: absolute;
    top: 0;
    left: 10px; }
  div#banner img.photo {
    position: absolute; }
  div#banner ul {
    list-style-image: none;
    list-style-position: outside;
    list-style-type: none;
    margin: 0;
    padding: 0; }
  div#banner ul li {
    float: left;
    padding-right: 10px;
    font-family: OpenSans, sans-serif;
    font-size: 14px; }
  div#banner img {
    border: 0; }
  div#banner a {
    color: white;
    text-decoration: none; }
  div#banner .menu-button {
    display: block;
    position: absolute;
    right: 20px;
    top: 5px;
    font-size: 200%; }
  div#banner div.main-navigation, div#banner div.search {
    display: none; }
  @media screen and (min-width: 950px) {
    div#banner div.main-navigation {
      position: absolute;
      bottom: 10px;
      left: 10px;
      display: block; }
      div#banner div.main-navigation p {
        margin: 0;
        padding: 0; }
      div#banner div.main-navigation a:hover {
        color: #ef5ba1;
        text-decoration: underline; }
      div#banner div.main-navigation a.tw {
        color: #b5b935; } }
  @media screen and (min-width: 450px) {
    div#banner div.search {
      display: block;
      position: absolute;
      right: 80px;
      top: 5px;
      background-color: transparent;
      height: 40px;
      width: 173px; }
    div#banner div.search input, div#banner div.search button {
      margin: 10px 0 0 0;
      padding: 0;
      border: 0; }
    div#banner div.search input.field {
      margin: 3px 3px 3px 4px;
      width: 142px; }
    div#banner div.search .button {
      cursor: pointer;
      color: white;
      width: 18px;
      background-color: transparent;
      font-size: 100%; }
      div#banner div.search .button:before {
        content: "";
        font-family: FontAwesome;
        font-weight: normal;
        font-style: normal;
        text-decoration: inherit;
        -webkit-font-smoothing: antialiased;
        *margin-right: .3em; } }

/* ................................................................ */
/* ==== footer ================ */
#footer {
  position: relative;
  background-color: black;
  color: white;
  min-height: 80px; }
  #footer a {
    color: white;
    text-decoration: none; }
  #footer div.copyright {
    display: block;
    font-size: 80%;
    position: absolute;
    bottom: 5px;
    left: 5px; }
    #footer div.copyright a:hover {
      padding-top: 5px;
      color: #ef5ba1;
      text-decoration: underline; }
  @media screen and (min-width: 600px) {
    #footer {
      min-height: 40px; }
      #footer div.copyright {
        left: auto;
        right: 60px; } }
  #footer .tw-logo {
    position: absolute;
    left: 5px;
    top: 5px; }
    #footer .tw-logo img {
      width: 200px; }
  #footer .menu-button {
    position: absolute;
    right: 10px;
    top: 5px;
    font-size: 200%; }

/* ................................................................ */
.navmenu {
  line-height: 2.5em; }
  .navmenu .group {
    display: block;
    background-color: #f0ba95;
    border-top: thin solid white; }
    .navmenu .group::after {
      clear: both;
      content: "";
      display: table; }
  .navmenu .group-label {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 14.7019570017%;
    padding-left: 5px;
    font-weight: bold; }
    .navmenu .group-label:last-child {
      margin-right: 0; }
  .navmenu .group-contents {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 82.9403914003%;
    background-color: #fee0c9; }
    .navmenu .group-contents:last-child {
      margin-right: 0; }
  .navmenu .top-line {
    background-color: #fee0c9;
    display: block; }
    .navmenu .top-line::after {
      clear: both;
      content: "";
      display: table; }
  .navmenu .link-home {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 6.1721527019%;
    display: block;
    padding-left: 5px; }
    .navmenu .link-home:last-child {
      margin-right: 0; }
  .navmenu .search {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 82.9403914003%;
    display: block; }
    .navmenu .search:last-child {
      margin-right: 0; }
    .navmenu .search .button {
      background-color: transparent;
      border: none;
      cursor: pointer; }
    .navmenu .search .button:before {
      content: "";
      font-family: FontAwesome;
      font-weight: normal;
      font-style: normal;
      text-decoration: inherit;
      -webkit-font-smoothing: antialiased;
      *margin-right: .3em;
      font-size: 150%;
      color: white; }
  @media screen and (max-width: 750px) {
    .navmenu .link-home {
      float: left;
      display: block;
      margin-right: 7.4229703521%;
      width: 19.432772236%; }
      .navmenu .link-home:last-child {
        margin-right: 0; }
    .navmenu .search {
      float: left;
      display: block;
      margin-right: 7.4229703521%;
      width: 46.288514824%; }
      .navmenu .search:last-child {
        margin-right: 0; } }
  .navmenu .close {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 6.1721527019%;
    color: white;
    cursor: pointer;
    padding-right: 0.5em; }
    .navmenu .close:last-child {
      margin-right: 0; }
  .navmenu .icon-close, .navmenu .close {
    font-size: 200%; }
  @media screen and (max-width: 750px) {
    .navmenu .group-label, .navmenu .group-contents {
      width: 100%; } }
  .navmenu .item {
    display: inline;
    padding: 0 1em 0 1em; }
  .navmenu a {
    color: black;
    text-decoration: none; }
  .navmenu a:hover {
    text-decoration: underline; }

/* ==== framing ================ */
body {
  font-size: 16px; }

#content, #banner, #footer, .navmenu {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  margin-left: 5px;
  margin-right: 0; }
  #content::after, #banner::after, #footer::after, .navmenu::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (min-width: 750px) {
    #content, #banner, #footer, .navmenu {
      margin-left: 20px; } }

#top-navmenu {
  display: none; }

#bottom-navmenu {
  display: block; }

.navmenu-button {
  cursor: pointer; }

/* ................................................................ */
/* 

==== global ================

  need to refactor this as global is really just for articles etc 
  in particular refactor this so the guide pages can use a useful common
  subset of styles
*/
body {
  font-size: 16px;
  font-family: OpenSans, sans-serif;
  line-height: 1.2;
  color: #303633; }

#content {
  background-color: white;
  min-height: 500px;
  margin-left: 5px;
  margin-right: 0; }
  #content h1, #content h2, #content h3, #content h4, #content h5 {
    color: #5b2858;
    font-weight: bold; }
    #content h1 a:link, #content h1 a:visited, #content h2 a:link, #content h2 a:visited, #content h3 a:link, #content h3 a:visited, #content h4 a:link, #content h4 a:visited, #content h5 a:link, #content h5 a:visited {
      color: #5b2858; }
  #content h1 {
    font-size: 200%; }
  #content h2 {
    font-size: 150%; }
  #content h3 {
    font-size: 120%; }
  #content p, #content h1, #content h2, #content h3, #content h4, #content h5 ul {
    margin: 1em 0; }
  #content dd {
    margin-left: 2em; }
  #content a:link, #content a:visited {
    color: #94388e;
    text-decoration: none; }
  #content a:hover {
    text-decoration: underline; }
  #content ul {
    list-style: square;
    margin-left: 1.5em; }
  #content ol {
    list-style: decimal;
    margin-left: 1.5em; }
  #content pre {
    font-size: 90%;
    font-family: Inconsolata, monospace; }
  #content code {
    font-family: Inconsolata, monospace; }
  #content span.credit {
    color: #808080;
    font-size: 80%; }
  #content hr {
    border-style: dotted none none none;
    border-top-width: thin;
    margin: 10px 15px; }
  #content blockquote {
    /* margin-left: 3em; */
    border-left: 2px solid grey;
    padding-left: 1em;
    font-style: italic;
    color: #5b2858; }
  #content .shares .label {
    margin-right: 1em;
    color: #11aa58; }
  #content .shares .icons {
    float: left;
    width: 40%; }
  #content .shares .comment {
    font-size: 80%;
    color: #11aa58;
    float: left;
    width: 60%;
    margin-top: 0; }
  #content .shares img {
    height: 16px;
    margin-right: 10px; }
  @media screen and (min-width: 750px) {
    #content {
      margin-left: 20px; } }

.error {
  background-color: rgba(253, 147, 151, 0.34); }

.todo {
  background-color: rgba(255, 255, 0, 0.3); }

.draft-notice {
  border: thin solid red;
  font-family: sans-serif;
  margin: 1em 10%;
  padding: 0.5em;
  text-align: center; }
  .draft-notice h1 {
    font-size: 120%;
    color: black; }
  .draft-notice p {
    color: red; }

.clickable {
  text-decoration: underline;
  cursor: pointer; }

/* ................................................................ */
#content h2 {
  color: #11aa58;
  margin: 1em 0 0 0; }
#content h3 {
  color: #11aa58;
  margin: 0; }
#content a:hover, #content a:link, #content a:visited {
  color: #0d8545; }
#content .abstract {
  clear: both;
  font-style: italic; }
#content .expandable {
  display: none; }
#content .expand-button {
  color: #505853;
  font-family: OpenSans, sans-serif;
  font-style: normal;
  font-weight: bold;
  font-size: 14px;
  padding: 5px;
  border-radius: 5px;
  margin: 2px;
  white-space: nowrap;
  background: linear-gradient(#eceeed, #9ca5a0);
  cursor: pointer;
  border: thin solid black;
  background: #11aa58;
  color: white;
  border: none; }
  #content .expand-button:hover {
    background: #eceeed; }
#content .expand-button:hover {
  background: #b5b935; }
#content .main {
  width: 620px;
  float: left; }
#content .side {
  float: left;
  margin-left: 120px;
  width: 220px; }
  #content .side img {
    float: right;
    display: block;
    margin-bottom: 4em;
    max-width: 200px; }
  #content .side .twitter {
    clear: both;
    margin-top: 2em;
    font-size: 90%; }
#content .title h1 {
  font-weight: bold;
  color: #11aa58;
  font-size: 200%;
  margin: 0; }
#content .announce {
  background-color: rgba(254, 224, 201, 0.5);
  padding: 25px;
  margin: 1em 4em 2em 2em;
  color: #11aa58;
  font-weight: bold; }
  #content .announce a {
    color: #b5b935; }
  #content .announce a:hover {
    color: black; }
#content .video {
  border-top: 4px solid #11aa58;
  margin-top: 2em; }
  #content .video .date {
    min-width: 100px; }
  #content .video .date, #content .video .video-link, #content .video .audio-link, #content .video .video-later {
    float: left; }
  #content .video .video-link a, #content .video .audio-link a {
    font-weight: bold;
    color: white;
    padding: 3px 10px;
    border-radius: 5px; }
  #content .video .video-link a {
    background-color: #ee312d;
    margin-left: 100px; }
  #content .video .video-later {
    font-size: 80%;
    margin-left: 3em;
    margin-top: 1.3em; }
  #content .video .audio-link a {
    background-color: #26bdcf;
    margin-left: 20px; }
  #content .video .pre-reading {
    font-size: 90%; }
  #content .video .more-placeholder {
    margin-left: 1em;
    font-size: 80%; }
  #content .video .further-reading p {
    list-style: circle;
    display: list-item; }
#content div.author {
  border-top: 4px solid #11aa58;
  padding-top: 2em;
  margin: 2em 0 0 0.3em; }
  #content div.author img {
    max-width: 80px;
    float: left;
    margin: 0 1em 1em 0; }
  #content div.author p {
    margin-left: 0;
    font-size: 90%; }
  #content div.author p.name {
    font-weight: bold;
    font-size: 100%;
    margin: 0 0; }
  #content div.author a:link, #content div.author a:visited, #content div.author a:hover {
    color: #11aa58; }

body {
  overflow-x: hidden !important; }

#content .title h1 {
  font-weight: 800;
  color: #11aa58;
  font-size: 300%; }
#content .title p {
  font-style: italic;
  font-size: 120%; }

body .contents.dropdown-container {
  display: none; }
@media screen and (max-width: 864px) {
  body .contents.dropdown-container {
    display: inherit;
    width: 100%;
    height: 2em;
    margin: 0; }
    body .contents.dropdown-container button {
      width: 100%;
      height: 100%; }
      body .contents.dropdown-container button h2 {
        height: 1em;
        margin: auto; }
  body .fixed-container {
    position: fixed;
    top: 0; }
  body button.dropdown-button {
    background-color: #f9f9f9;
    background-color: rgba(249, 249, 249, 0.8);
    border: none; }
  body .hidden {
    display: none; }
  body .dropdown-links {
    display: block;
    visibility: visible;
    position: absolute;
    background-color: #f9f9f9;
    width: 100%;
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
    z-index: 3;
    height: 75vh;
    overflow-y: auto;
    padding-bottom: 1.5em; }
    body .dropdown-links a {
      color: black;
      padding: 12px 16px;
      text-decoration: none;
      display: block; }
      body .dropdown-links a :hover {
        background-color: #f1f1f1; }
    body .dropdown-links ul {
      padding-left: 1.5em; }
    body .dropdown-links h3 {
      padding-left: 12px; }
      body .dropdown-links h3 a {
        padding: 0;
        color: #303633; } }

@media screen and (max-width: 864px) {
  body {
    font-size: 19px; }

  .no-scroll {
    overflow-y: hidden; }

  #banner, #footer, .navmenu {
    margin: 0px; }

  #content {
    max-width: 100%;
    overflow-x: hidden !important;
    margin: auto;
    padding: 0 10px; }
    #content div.frontMatter div.frontRight {
      display: none; }
    #content div.frontMatter div.frontLeft {
      float: none;
      width: 100%; }
    #content blockquote.aside {
      clear: both;
      float: none; }
    #content .photo {
      float: none;
      margin: auto; }
    #content pre {
      overflow-x: auto;
      padding-bottom: 1.5em; }
    #content table {
      display: block;
      overflow-x: auto;
      padding-bottom: 0.5em;
      border: none; }
    #content .paperBody .end-box, #content .end-box {
      margin: auto; }
    #content div.sidebar {
      float: none;
      margin: 1em 2em 1em 2em;
      width: inherit; }
      #content div.sidebar p {
        width: 99%; }
    #content div.book-sidebar {
      float: none;
      margin: auto; }
    #content img.full-size {
      max-width: 100%; }
    #content .tweet-sidebar {
      float: none;
      margin: 1em 2em 1em 2em;
      width: inherit; }
      #content .tweet-sidebar p {
        width: 99%; } }
@media screen and (max-width: 864px) {
  #content {
    padding: 5px;
    width: 100%;
    overflow-x: hidden !important; }
    #content .main {
      width: auto; }
    #content .side {
      width: auto;
      float: none;
      margin: 1.5em; }
      #content .side .photo {
        display: none; } }
