* {
  margin: 0;
  padding: 0;
  line-height: 160%; }

a {
  text-decoration: none;
  color: #2e9bfb;
  word-break: break-all; }

a:hover {
  text-decoration: underline; }

a:visited {
  color: #2a4461; }

nav a {
  text-decoration: underline; }

p {
  margin-bottom: 1em;
  word-break: break-all;
  line-height: 180%; }
  p a {
    text-decoration: underline; }

ul, ol {
  margin-left: 2em;
  margin-bottom: 1em; }

.unlist {
  list-style: none;
  margin-left: 0; }
  .unlist li {
    margin-right: 1em;
    display: inline-block; }
    .unlist li:last-child {
      margin-right: 0; }

@font-face {
  font-family: "Tektur";
  src: url("https://fonts.gstatic.com/s/tektur/v1/XoHN2YHtS7q969kXCjzlV0aSkS_o8OacmTe0TYlYFot8TryuUrtJacI.woff2"); }

.logo {
  font-family: "Tektur" !important; }

table {
  margin-bottom: 1em;
  border: 1px solid #78bff6;
  border-collapse: collapse; }

thead {
  background-color: #2a7bca;
  color: #ecf6fc; }

td, th {
  padding: 8px 4px;
  border: 1px solid #78bff6; }

.main-contents h1 {
  font-family: "Tektur" !important;
  /* border: 1px solid; */
  background: #2a7bca;
  color: #fdfefe;
  padding: 0 4px;
  margin-bottom: 8px; }

.main-contents h2, .main-contents h3, .main-contents h4, .main-contents h5, .main-contents h6 {
  padding: 0 4px; }

.main-contents p {
  padding: 0 4px; }

@media screen and (max-width: 480px) {
  .main-contents {
    padding: 0 4px;
    /*padding: 0 1em;*/ } }

.stories {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  margin: 0 auto;
  width: 100%; }
  .stories article {
    padding: 0 8px;
    margin-bottom: 1em; }

.site-footer, .about {
  clear: both; }

@media screen and (max-width: 480px) {
  .stories {
    padding: 0;
    width: 100%;
    grid-template-columns: 1fr; }
    .stories article {
      padding: 0; } }

.home article header {
  border-top: 1px solid #2a7bca; }

.page article header h2 {
  font-size: 200%; }

article header h2 a {
  word-break: normal;
  font-family: "Tektur" !important; }

article footer {
  margin-bottom: 0.5em; }

.article-navigation .nav-title {
  display: inline-block; }

.article-navigation a {
  text-decoration: underline; }

body.page .hero img {
  width: 900px; }

body.page .main-container {
  width: 900px;
  padding: 0 10px;
  border: 1px solid #2e9bfb;
  margin: 0 auto; }

body.page h2, h3, h4, h5, h6 {
  color: #2a4461; }

@media screen and (max-width: 480px) {
  body.page .hero img {
    width: 100%; }
  body.page .main-container {
    width: 100%;
    padding: 0;
    margin: 0;
    border: none; } }

img.half {
  width: 50%; }

img.render-image {
  max-height: 600px;
  margin: 0; }

.figure {
  border: 1px solid #ddd;
  padding: 4px;
  background: #fafafa;
  margin-bottom: 8px;
  width: fit-content; }

.figure .caption {
  font-weight: bold;
  display: block; }

@media screen and (min-width: 980px) {
  .grid .figure {
    width: 48%; } }

.site-footer {
  border-top: 1px solid #78bff6;
  color: #78bff6; }
  .site-footer a {
    color: #78bff6; }

.grid {
  display: flex;
  flex-wrap: wrap; }

.grid p {
  padding: 0;
  margin: 0; }

.site-header {
  text-align: center; }
  .site-header h1 {
    font-family: "Tektur" !important; }
  .site-header .navigation ol {
    list-style: none;
    margin-left: 0; }
    .site-header .navigation ol li {
      margin-right: 1em;
      display: inline-block; }
      .site-header .navigation ol li:last-child {
        margin-right: 0; }
  .site-header .navigation li {
    list-style: none; }

.site-footer {
  text-align: center; }

body {
  color: #37220e;
  background: #fffdfb;
  padding: 0 8px; }

.tumblr-timeline {
  width: 300px;
  height: 100vh; }

.hero img {
  width: 100%; }

img {
  max-width: 100%; }

.summary .read-more {
  text-align: center;
  border: 1px solid #2a7bca;
  color: #2a7bca;
  margin: 0 auto;
  width: 10em;
  margin-bottom: 1em; }
  .summary .read-more a {
    color: #2a7bca; }
  .summary .read-more a:hover {
    text-decoration: underline; }

image-gallery {
  --border: 1px solid;
  --border-color: #2e9bfb;
  --active-border-color: #2a7bca; }

.gallery {
  margin-bottom: 2em; }

@media screen and (max-width: 480px) {
  body {
    padding: 0; }
  p, h2, pre {
    word-wrap: break-word; }
  .post-body img {
    width: 100%; }
  #micro-nav {
    display: block; }
  .site-header h1 {
    display: block; }
  .main-container {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0; }
  .summary {
    width: 100%; }
  pre {
    white-space: pre;
    overflow: scroll; } }
