body {
  font-family: 'Lato';
  font-size: 22px;
  line-height: 1.6;
  letter-spacing: -0.02em
  color: #222;
}
nav {
  color: #8E1D3A;
}
.postdate {
  font-size: 14px;
}
.logofont {
  font-family: 'Bad Script', cursive;
  font-size: 1.4em;
  font-weight: bold;
}
a:not(.image_anc) {
  color: #00e;
  /* Fancy underlining */
  text-decoration: none;
  background-image:
      linear-gradient(to bottom,rgba(0,0,0,0) 50%,rgba(0,0,0,.6) 50%);
  background-repeat: repeat-x;
  background-size: 2px 2px;
  background-position: 0 24px;
}
a.image_anc {
  text-decoration: none;
}
#logolink {
  color: #8E1D3A;
  text-decoration: none;
  background-image: none;
}
h3.posttitle {
  margin-top: 0px;
}
h3.posttitle>a {
  background-position: 0 28px;
}
a:visited {
  color: #551a8b;
}
img {
  border: 0;
  max-width: 100%;
  height: auto;
}
img.floatright {
  clear: right;
  float: right;
  margin-right: 0;
  margin-left: 30px;
}
h1,h2,h3,h4 {
  margin-top: 8px;
  margin-bottom: 8px;
}
h2.subtitle { font-weight: normal; font-style: italic; margin-top: -0.5em; }
@media only screen and (max-width: 800px) {
  body {
    font-size: 18px;
    line-height: 1.4;
  }
  .layoutSingleColumn {
    margin: 0 auto;
    width: 95%;
  }
  h1 {
    font-size:1.3em;
  }
  img.floatleft {
    display: block;
    margin: auto;
    max-width: 100%;
    height: auto;
  }
  figure.floatleft {
    display: block;
    margin: auto;
    max-width: 100%;
    height: auto;
    text-align: center;  /* for captions */
    padding: 0.5em;
  }
  figure.floatright {
    display: block;
    margin: auto;
    max-width: 100%;
    height: auto;
    text-align: center;  /* for captions */
    padding: 0.5em;
  }
}

@media (min-width: 800px) {
  .layoutSingleColumn {
    margin: 0 auto;
    width: 800px;
  }
  img.floatleft {
    clear: left;
    float: left;
    margin-left: 0;
    margin-right: 30px;
  }
  figure.floatleft {
    float: left;
    width: 30%;
    text-align: center;  /* for captions */
    margin: 0.5em;
    padding: 0.5em;
  }
  figure.floatright {
    float: right;
    width: 30%;
    text-align: center;  /* for captions */
    margin: 0.5em;
    padding: 0.5em;
  }
}
.centeredImage {
  display: block;
  margin: auto;
  max-width: 100%;
  height: auto;
}
.smallImage {
  max-width: 500px;
}
hr {
  clear: both;
  border: 0;
  text-align: center;
  line-height: 1px;
  height: 1px;
  margin: 20px 10px;
  box-sizing: content-box;
  background: linear-gradient(90deg, #FFF, #888, #FFF);
  color: #8E1D3A;
}
nav hr {
  background: linear-gradient(90deg, #FFF, #8E1D3A, #FFF);
}
#footer {
  height: 200px;
}
.fixedwidth {
  font-family: Courier, monospace;
}
.clearfix:after {
  clear: both;
  display: table;
  content: "";
}
.left-two-thirds {
  width: 65%;
  float: left;
}
.right-one-third {
  width: 32%;
  float: right;
}
figure {
  margin: 0;
}
/* Nice drop shadow on images in posts. */
figure img:not(.noshadow) {
  box-shadow: 0px 0px 8px rgba(0,0,0,1);
}
.caption,figcaption {
  margin-top: 0px;
  font-size: 18px;
  text-align: center;
  color: #444;
}
ol.posts>li {
  list-style-type: none
}
ol.posts>li>span.postdate {
  float: right;
  color: #666;
  font-size: 0.9em;
  margin-left: 30px; /* Don't crowd the date */
  vertical-align: text-top;
}
p.justify {
  text-align: justify;
}
table {
  border-collapse: collapse;
}
td {
  border: 1px solid #000;
  padding: 5px;
  text-align: right;
}
td.colg {
  border-right: 3px solid #000;
}
code {
  font-family: Courier, monospace;
  font-weight: 100;
  color: #555;
  letter-spacing: -1px;
}
pre {
  display: block;
  font-family: Courier, monospace;
  white-space: pre;
  word-wrap: break-word;
  overflow-x: auto;
}
pre.wide {
  font-size: 75%;
}
img.centerline {
  vertical-align: middle;
}
span.nowrap {
  white-space: nowrap;
}
img.lightbox {
  cursor: zoom-in;
}
/* HTML markdown colors */
.pl-ent { color: #22863a; }
.pl-e { color: #6f42c1; }
.pl-s { color: #032f62; }

.carousel {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  gap: 0.5em;
}
.carousel-slide {
  flex: 0 0 100%;
  scroll-snap-align: center;
}
.carousel-slide img {
  width: 100%;
  height: auto;
  display: block;
}
.carousel + p.caption {
  text-align: center;
  font-style: italic;
  margin-top: 0.25em;
}

video, iframe {
  max-width: 100%;
  height: auto;
  display: block;
}
