$corp-color: #a25678;
$base-font-color: black;
$article-width: 660px;
$h2-bg-color: #eee;
$pre-fonts: "DejaVu Sans Mono", "Droid Sans Mono", "Lucida Console", Consolas, Monaco, monospace;

body {
  background-color: white;
  max-width: $article-width;
  font-family: sans-serif;
  color: $base-font-color;
  margin: auto;
  padding: 0 1em;
  line-height: 160%;
  margin-bottom: 100px;
}
h1 {
  text-align: center;
  font-size: 2.2em;
  line-height: 170%;
  padding: 1em auto;
  margin-bottom: 0.4em;
}
h2 {
  font-size: 1.7em;
  line-height: 150%;
  margin-top: 1.3em;
  margin-bottom: 1em;
  border-left: solid 15px $corp-color;
  padding-top: .3em;
  padding-bottom: .3em;
  padding-left: 15px;
  background-color: $h2-bg-color;
}
h3 {
  font-size: 1.4em;
  padding-bottom: .2em;
  padding-left: 8px;
  margin-top: 1.5em;
  border-bottom: solid 2px $corp-color;
}
h4 {
  font-size: 1.3em;
  padding-left: 8px;
  padding-bottom: .2em;
  border-bottom: solid 2px #ddd;
  margin-top: 20px;
  margin-bottom: 15px;
  margin-left: 10px;
  width: 40%;
}
h5,
h6 {
  font-size: 1em;
  padding-left: 8px;
}
p {
  padding: .5em 8px;
  margin: 0 2px;
}
a:visited {
  color: purple;
}
img {
  max-width: 100%;
  display: block;
  margin: 10px auto;
}
tt,
code {
  font-family: $pre-fonts;
}
pre {
  font-family: $pre-fonts;
  font-size: 13px;
  overflow-x: auto;
  max-width: 100%;
  margin: 15px 10px;
  padding: 5px;
  color: #333;
  word-break: break-all;
  word-wrap: break-word;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border-radius: 4px;

  code {
    display: block;
    padding: 0 8px;
  }
}
table {
  border-collapse: collapse;
  margin: .8em auto;
  padding-left: 15px;
  padding-right: 15px;
  font-size: 0.9em;
}
thead {
  background-color: #fcc;
}
th,
td {
  border: solid 1px;
  padding: 7px;
}
ul,
ol {
  margin-top: 15px;
  margin-bottom: 15px;
  margin-left: 25px;
  padding-left: 20px;
}
li {
  > {
    ul,
    ol {
      margin-left: 5px;
      padding-left: 10px;
    }
  }
  line-height: 150%;
  padding: 0;
  margin: 0;
  margin-bottom: 5px;
}
blockquote {
  color: #666;
  border-left: .5em #eee solid;
  padding: 7px;
  margin: 10px 2em;

  p {
    font-size: 1.1em;
    font-style: italic;
    font-size: 14px;
    padding: 0;
    margin: 0;
  }
}
hr {
  height: 0;
  border-bottom: none;
  border-top-width: thin;
  border-top-style: dotted;
  border-top-color: #999;
}
.math {
  text-align: center;
}
* > :first-child {
  margin-top: 0 !important;
}
.includeYT {
  margin: 20px auto;
  padding-top: 56.25%;
  width: 95%;
  position: relative;
  background-color: #fefefe;
  box-shadow: 1px 1px 2px #bbb;

  iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }
}
details {
  margin: 15px 15px 25px 15px;

  > {
    summary {
      padding: 10px 14px 5px 28px;
      background-color: #fefee0;
      border: 0;
      box-shadow: 1px 1px 2px #bbb;
      cursor: pointer;

      .summary-label {
        font-weight: 700;
      }
    }
    section {
      background-color: #fefefe;
      padding: 18px;
      margin: 0;
      box-shadow: 1px 1px 2px #bbb;
    }
  }
}
