body {
    margin: 1em auto;
    padding-left: 1em;
    padding-right: 1em;

    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 11pt;
    line-height: 1.5;
    text-align: left;
}

pre {
    margin-left: 0.25em;
    margin-right: 0.25em;
    margin-top: 2em;
    margin-bottom: 2em;
}

code {
    line-height: 1.25;
    font-size: 0.875rem;
    font-family: Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif;
}

.blog-header .links {
    font-size: 0.75rem;
}

body .blog-header .links A {
    font-size: 0.875rem;
}

blockquote {
    font-size: 0.9rem;
    font-style: italic;
}

A {
    text-decoration-style: dotted;
}

A:visited {
    color: black;
}

A:link {
    color: black;
}

A:hover {
    background: #c0c0c0;
}

A.blog-title {
    text-decoration: none;
}
.query {
    font-style: italic;
}

.tag {
    background: #f0f0f0;
    text-transform: lowercase;
    padding: 0.25em;
    border-radius: 0.5em;
}

.tag.dev {
    background: red;
    color: white;
    margin-left: 3px;
    padding: 3px;
    text-transform: uppercase;
}

.article .sponsor {
    font-size: 0.75rem;
    margin-top: 0.5em;
    font-style: italic;
}

.article .tags .tag {
    margin-left: 0.125em;
    font-size: 0.75em;
}

.article .read-more {
    margin-bottom: 8px;
}

.article h2.title {
    margin-bottom: 0px;
    font-weight: normal;
}

.article-content img {
    display:block;
    margin-left:auto;
    margin-right:auto;
}

.feed-navigation {
    font-style: italic;
    margin-top: 1em;
}

.contents .subtitle {
    font-size: 1.125rem;
    font-weight: bold;
    margin-bottom: 0.5em;
}

.contents .contents-header {
    font-weight: bold;
}

.contents .block:not(:last-child) {
    margin-bottom: 1em;
}

.contents .articles {
    margin-left: 1em;
}

.contents .entry .sponsor {
    background: #f0f0f0;
    margin-left: 0.5em;
    font-size: 0.75em;
    text-transform: lowercase;
    padding: 0.33em;
    border-radius: 0.5em;
}

.date {
    color: #505050;
}

.article {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    font-size: 0.9rem;
}

.article:not(:last-child) {
    margin-bottom: 2.5em;
}

.blog-header {
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}

.blog-header h1 {
    padding: 0;
}

.blog-header .links {
    font-size: 1.25rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.blog-header .links A {
    font-size: 1.5rem;
    padding: 0.25em;
    padding-left: 0.75em;
    padding-right: 0.75em;
    color: #505050;
}

.blog-header .links A:hover {
    color: black;
}

.blog-header h1 {
    display: inline;
    font-size: 1.25rem;
    padding-top: 0.5em;
}

.article h1 {
    font-size: 1.375rem;
    font-weight: bold;
}

.article h2 {
    font-size: 1.25rem;
    font-weight: bold;
}

.article h3 {
    font-size: 1.125rem;
    font-weight: bold;
}

.article h4 {
    font-size: 1rem;
    font-weight: bold;
}

.article li:not(:last-child) {
    margin-bottom: 0.5em;
}

p:first-child {
    margin-top: 0.16em;
}

.blog-footer {
    text-align: center;
    font-size: 0.8rem;
    margin-top: 1em;
    margin-bottom: 1em;
}

.blog-footer .item {
    padding-left: 0.33em;
    padding-right: 0.33em;
}

/* Media selectors */

@media only screen and (min-width: 800px) {
    body {
        width: 800px;
    }

    pre {
        margin-left: 4em;
        margin-right: 6em;
    }

    blockquote {
        margin-right: 6em;
    }
}

@media print {
    .blog-header .links {
        display: none;
    }
}


/* highlight.js */

.hljs {
  display: block;
  overflow-x: auto;
  padding: 0.5em;
  color: #333;
  background: #e7e7e7;
}

.hljs-comment,
.hljs-quote {
  color: #998;
  font-style: italic;
}

.hljs-keyword,
.hljs-selector-tag,
.hljs-subst {
  color: #333;
  font-weight: bold;
}

.hljs-number,
.hljs-literal,
.hljs-variable,
.hljs-template-variable,
.hljs-tag .hljs-attr {
  color: #008080;
}

.hljs-string,
.hljs-doctag {
    color: #0000c0;//#d14;
}

.hljs-title,
.hljs-section,
.hljs-selector-id {
  color: #900;
  font-weight: bold;
}

.hljs-subst {
  font-weight: normal;
}

.hljs-type,
.hljs-class .hljs-title {
  color: #458;
  font-weight: bold;
}

.hljs-tag,
.hljs-name,
.hljs-attribute {
  color: #000080;
  font-weight: normal;
}

.hljs-regexp,
.hljs-link {
  color: #009926;
}

.hljs-symbol,
.hljs-bullet {
  color: #990073;
}

.hljs-built_in,
.hljs-builtin-name {
  color: #0086b3;
}

.hljs-meta {
  color: #d03030;
}

.hljs-meta-keyword {
  color: #d03030;
  font-weight: bold;
}

.hljs-deletion {
  background: #fdd;
}

.hljs-addition {
  background: #dfd;
}

.hljs-emphasis {
  font-style: italic;
}

.hljs-strong {
  font-weight: bold;
}
