/* Borrowed from MD SharedStyles. */
body {
  font-family: Roboto, 'Helvetica Neue', Helvetica, Arial;
  -webkit-font-smoothing: antialiased;
}

p {
  margin: 0;
}
p + p {
  margin-top: 1em;
}

* {
  box-sizing: border-box;
}

a {
  text-decoration: none;
  color: #4285f4;
}

.noselect {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Custom to this site. */
body {
  display: flex;
  flex-direction: column;
  font-size: 16px;
  height: 100%;
  margin: 0;
  padding: 0;
  width: 100%;
}

.hidden {
  display: none;
}

.site-header {
  align-items: center;
  background-color: #c53929;
  display: flex;
  flex-shrink: 0;
  height: 48px;
}
.site-header a {
  color: #fff;
  margin: 0 16px;
}
.site-header a.selected {
  font-weight: bold;
}

.site-body {
  overflow-x: hidden;
  overflow-y: auto;
}
.site-hero {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 100px 0;
}
.site-hero img {
  border: none;
}
.site-hero h1 {
  font-size: 112px;
  font-weight: 300;
}
.site-hero h3 {
  font-size: 45px;
  font-weight: normal;
  margin: 1em 0 0 16px;
}

.site-punch {
  background-color: #db4437;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.site-punch-item {
  color: #fff;
  font-size: 16px;
  margin: 32px 16px;
  width: 300px;
}

.site-body h3 {
  color: #db4437;
  font-weight: normal;
  font-size: 24px;
  margin-top: 2em;
  margin-left: 16px;
}
.site-punch-item h3 {
  color: #fff;
  margin-top: 0;
}

.site-punch-item a {
  color: #1de9b6;
}

.site-body p {
  line-height: 20px;
  margin: 16px;
}

.site-body ul {
  margin: 8px 0;
}

.site-background {
  padding: 8px;
}

.site-sample-bottom {
  display: flex;
  margin: 16px;
}
.site-sample-features {
  background-color: #db4437;
  color: #fff;
  flex: 3;
  max-width: 300px;
}
.site-sample-features .dao-selected {
  background-color: #c53929;
}

.site-sample-right {
  flex: 7;
}

.site-sample-code {
  border: 1px solid #e0e0e0;
  margin: 16px;
}

.site-sample-commentary {
  align-items: center;
  background-color: #db4437;
  color: #fff;
  display: flex;
  height: 70px;
  padding: 16px;
  width: 100%;
}

.site-sample-commentary div {
  display: none;
}

.site-sample-output p {
  margin: 16px;
}
.site-sample-output pre {
  margin: 1em;
}


/* For posts, including the tutorial. */
.post {
  max-width: 800px;
  /* margin: 0 auto; */
}

.post h1, .post h2, .post h3, .post h4 {
  color: #db4437;
  font-weight: normal;
  margin-top: 1em;
  margin-left: 16px;
}

.post h1 {
  font-size: 45px;
}
.post h2 {
  font-size: 34px;
}
.post h3 {
  font-size: 24px;
}
.post h4 {
  font-size: 20px;
}

/* Special headings for the combined-heading things in the tutorials. */
.combined-heading h2 {
  font-size: 20px;
  margin-bottom: 0;
}
.combined-heading h1 {
  margin-top: 0;
}

.post li {
  line-height: 24px;
  margin: 8px 0;

}

/* For code styles. */
.post pre,
.post code {
  border: 1px solid #d5d5e9;
  background-color: #eef;
  padding: 8px 12px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  font-size: 15px;
}

.post pre {
  margin: 16px;
}

.post code { padding: 1px 5px; }

.post pre code { border: none; padding: 1px 0px; }

/* terminal */
.post pre.terminal {
  border: 1px solid #000;
  background-color: #333;
  color: #FFF;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}

.post pre.terminal code { background-color: #333; }

/* Syntax highlighting styles */

.highlight  { background: #ffffff; }
.highlight .c { color: #999988; font-style: italic } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { font-weight: bold } /* Keyword */
.highlight .o { font-weight: bold } /* Operator */
.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */
.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #999999 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #aaaaaa } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { font-weight: bold } /* Keyword.Constant */
.highlight .kd { font-weight: bold } /* Keyword.Declaration */
.highlight .kp { font-weight: bold } /* Keyword.Pseudo */
.highlight .kr { font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #009999 } /* Literal.Number */
.highlight .s { color: #d14 } /* Literal.String */
.highlight .na { color: #008080 } /* Name.Attribute */
.highlight .nb { color: #0086B3 } /* Name.Builtin */
.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
.highlight .no { color: #008080 } /* Name.Constant */
.highlight .ni { color: #800080 } /* Name.Entity */
.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
.highlight .nn { color: #555555 } /* Name.Namespace */
.highlight .nt { color: #000080 } /* Name.Tag */
.highlight .nv { color: #008080 } /* Name.Variable */
.highlight .ow { font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mf { color: #009999 } /* Literal.Number.Float */
.highlight .mh { color: #009999 } /* Literal.Number.Hex */
.highlight .mi { color: #009999 } /* Literal.Number.Integer */
.highlight .mo { color: #009999 } /* Literal.Number.Oct */
.highlight .sb { color: #d14 } /* Literal.String.Backtick */
.highlight .sc { color: #d14 } /* Literal.String.Char */
.highlight .sd { color: #d14 } /* Literal.String.Doc */
.highlight .s2 { color: #d14 } /* Literal.String.Double */
.highlight .se { color: #d14 } /* Literal.String.Escape */
.highlight .sh { color: #d14 } /* Literal.String.Heredoc */
.highlight .si { color: #d14 } /* Literal.String.Interpol */
.highlight .sx { color: #d14 } /* Literal.String.Other */
.highlight .sr { color: #009926 } /* Literal.String.Regex */
.highlight .s1 { color: #d14 } /* Literal.String.Single */
.highlight .ss { color: #990073 } /* Literal.String.Symbol */
.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
.highlight .vc { color: #008080 } /* Name.Variable.Class */
.highlight .vg { color: #008080 } /* Name.Variable.Global */
.highlight .vi { color: #008080 } /* Name.Variable.Instance */
.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */

/* Custom bits, toc and images. */
img {
  border: 1px solid #eee;
}

.toc {
  background-color: #db4437;
  display: inline-block;
  font-size: 80%;
  margin: 0 16px;
}

.toc-item {
  color: #fff;
  cursor: pointer;
  display: block;
  padding: 8px 16px;
}

.toc-item-selected {
  background-color: #c53929;
}
