:root {
  --readable-width: 40em;
}


/*********************
TYPOGRAPHY
*********************/
@font-face {
  font-family: 'Computer Modern Concrete';
  src: url('/fonts/Concrete/cmunorm.eot');
  src: url('/fonts/Concrete/cmunorm.eot?#iefix') format('embedded-opentype'), url('/fonts/Concrete/cmunorm.woff') format('woff'), url('/fonts/Concrete/cmunorm.ttf') format('truetype'), url('/fonts/Concrete/cmunorm.svg#cmunorm') format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Computer Modern Concrete';
  src: url('/fonts/Concrete/cmunobx.eot');
  src: url('/fonts/Concrete/cmunobx.eot?#iefix') format('embedded-opentype'), url('/fonts/Concrete/cmunobx.woff') format('woff'), url('/fonts/Concrete/cmunobx.ttf') format('truetype'), url('/fonts/Concrete/cmunobx.svg#cmunobx') format('svg');
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: 'Computer Modern Concrete';
  src: url('/fonts/Concrete/cmunoti.eot');
  src: url('/fonts/Concrete/cmunoti.eot?#iefix') format('embedded-opentype'), url('/fonts/Concrete/cmunoti.woff') format('woff'), url('/fonts/Concrete/cmunoti.ttf') format('truetype'), url('/fonts/Concrete/cmunoti.svg#cmunoti') format('svg');
  font-weight: normal;
  font-style: italic;
}
@font-face {
  font-family: 'Computer Modern Concrete';
  src: url('/fonts/Concrete/cmunobi.eot');
  src: url('/fonts/Concrete/cmunobi.eot?#iefix') format('embedded-opentype'), url('/fonts/Concrete/cmunobi.woff') format('woff'), url('/fonts/Concrete/cmunobi.ttf') format('truetype'), url('/fonts/Concrete/cmunobi.svg#cmunobi') format('svg');
  font-weight: bold;
  font-style: italic;
}
@font-face {
  font-family: 'Computer Modern Bright';
  src: url('/fonts/Bright/cmunbmr.eot');
  src: url('/fonts/Bright/cmunbmr.eot?#iefix') format('embedded-opentype'), url('/fonts/Bright/cmunbmr.woff') format('woff'), url('/fonts/Bright/cmunbmr.ttf') format('truetype'), url('/fonts/Bright/cmunbmr.svg#cmunbmr') format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Computer Modern Bright';
  src: url('/fonts/Bright/cmunbbx.eot');
  src: url('/fonts/Bright/cmunbbx.eot?#iefix') format('embedded-opentype'), url('/fonts/Bright/cmunbbx.woff') format('woff'), url('/fonts/Bright/cmunbbx.ttf') format('truetype'), url('/fonts/Bright/cmunbbx.svg#cmunbbx') format('svg');
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: 'Computer Modern Bright';
  src: url('/fonts/Bright/cmunbmo.eot');
  src: url('/fonts/Bright/cmunbmo.eot?#iefix') format('embedded-opentype'), url('/fonts/Bright/cmunbmo.woff') format('woff'), url('/fonts/Bright/cmunbmo.ttf') format('truetype'), url('/fonts/Bright/cmunbmo.svg#cmunbmo') format('svg');
  font-weight: normal;
  font-style: italic;
}
@font-face {
  font-family: 'Computer Modern Bright';
  src: url('/fonts/Bright/cmunbxo.eot');
  src: url('/fonts/Bright/cmunbxo.eot?#iefix') format('embedded-opentype'), url('/fonts/Bright/cmunbxo.woff') format('woff'), url('/fonts/Bright/cmunbxo.ttf') format('truetype'), url('/fonts/Bright/cmunbxo.svg#cmunbxo') format('svg');
  font-weight: bold;
  font-style: italic;
}




html {
  font-family: "Computer Modern Bright", sans-serif;
  font-size: clamp(15px,2vw,16px);
  line-height: 1.5;
  color: #000;
}

body {
    display: grid;
    grid-template:
      "header header header header" auto "nav nav nav nav" auto ". main . sidebar" auto "footer footer footer footer" auto / 1fr max-content 1fr 22rem;
    grid-gap: 0 1em;
    justify-content: center;
    justify-items: center;
    margin: 0;
}

body > header {
    grid-area: header;
}

body > nav#site-nav {
    grid-area: nav;
    max-width: 100vw;
}

body > main {
    grid-area: main;
    width: calc(1.5 * var(--readable-width));
    padding: 0 1em;
    max-width: calc(100vw - 28rem);
}

body > #sidebar-footer {
    grid-area: sidebar;
}

body > footer {
    grid-area: footer;
    border-top: 0.5em solid hsl(243.2, 43.9%, 42%);
    padding: 1em;
	width: 100%;
	background-image: url(../images/banner.svg);
	background-size: cover;
}

body > footer > p {
    max-width: var(--readable-width);
    margin: 1em auto;
    background: hsla(243.2, 43.9%, 42%,0.8);
    color: white;
    padding: 1em;
}



a,
a:visited {
  color: hsl(210.2, 64%, 37.1%);
  text-decoration: none;
}
a:hover,
a:visited:hover,
a:focus,
a:visited:focus {
  color: hsla(210.2, 64%, 37.1%, 0.8);
  text-decoration: underline;
}
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5 {
  font-family: "Computer Modern Concrete", Helvetica, Arial, sans-serif;
  text-rendering: optimizelegibility;
  font-weight: 400;
}
h1 a,
.h1 a,
h2 a,
.h2 a,
h3 a,
.h3 a,
h4 a,
.h4 a,
h5 a,
.h5 a {
  text-decoration: none;
}
h1,
.h1 {
  font-size: 2.5em;
  line-height: 1.333em;
}
h2,
.h2 {
  font-size: 1.75em;
  line-height: 1.4em;
  margin-bottom: 0.375em;
}
h3,
.h3 {
  font-size: 1.35em;
}
h4,
.h4 {
  font-size: 1.1em;
}
h5,
.h5 {
  font-size: 0.846em;
  line-height: 2.09em;
}
.wrap {
  width: 96%;
  margin: 0 auto;
}
.clearfix {
  zoom: 1;
}
.clearfix:before,
.clearfix:after {
  content: "";
  display: table;
}
.clearfix:after {
  clear: both;
}
* {
  box-sizing: border-box;
}
.image-replacement {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
p {
  hyphens: auto;
}
.commentlist,
.about-the-authors {
  list-style: none;
  padding: 0;
}
@media only screen and (min-width: 1030px) {
  table {
    width: auto;
    margin: 1em auto;
  }
  table th,td {
    padding: 0.1em 0.5em;
  }
}
.button,
.button:visited {
    font-size: 1em;
    border: none;
    padding: 0.25em 0.75em;
    color: #ffffff;
    display: inline-block;
    text-decoration: none;
    margin-bottom: 1.25rem;
    line-height: 1.25em;
    background-color: #e40f42;
}
body > header {
  width: 100vw;
  height: 25vh;
  border-bottom: 0.5em solid hsl(243.2, 43.9%, 42%);
  background-image: url(../images/banner.svg);
  background-position: center 5%;
  background-size: cover;
  background-color: hsl(245.8, 43.8%, 46.1%);
  display: grid;
  align-content: end;
  justify-content: end;
  padding: 1rem;
}
body > header h1 {
  margin: 0;
  text-decoration: none;
  color: white;
  font-weight: bold;
  word-break: break-word;
  line-height: 1em;
  font-size: max(1rem,10vmin);
  background: hsla(243.2, 43.9%, 42%,0.5);
  padding: 0.1em;
  padding-left: 1em;
  /*! text-align: right; */
  display: flex;
  gap: 1rem;
  justify-content: flex-end;
  align-items: center;
}
body > header h1 .logo {
    height: 1.5em;
}
.header a:hover {
  text-decoration: none;
}
#site-nav > ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    grid-gap: 0.5em 1em;
    padding: 0 1em;
}
#site-nav > ul > li {
    flex-basis: 10em;
    flex-grow: 1;
    text-align: center;
    flex-shrink: 1;
    align-self: center;
    padding: 0.5rem 0;
}
#site-nav {
    margin-bottom: 4rem;
    border-bottom: 0.5em solid hsl(243.2, 43.9%, 42%);
    padding-top: 0;
    padding-bottom: 0em;
    font-size: 1.2rem;
    width: 100%;
    background-color: hsl(138.8, 49.8%, 55.9%);
    background-image: url(../images/banner.svg);
    background-size: cover;
    background-blend-mode: saturation;
}
#site-nav a, #site-nav a:visited {
    color: black;
}
#site-nav li.feed {
    text-align: right;
}
#site-nav li.search {
    flex-grow: 10;
    justify-self: end;
}
#site-nav #searchform {
  display: grid;
  grid-template-columns: auto min-content;
  align-content: center;
  justify-content: start;
  height: 100%;
}
#site-nav #searchform #searchsubmit {
    background: hsl(345.6, 87.7%, 90.6%);
    color: black;
}
button:hover, button label:hover {
    cursor: pointer;
}
#site-nav #searchform input#s {
	flex-grow: 1;
	padding: 0 0.2em;
	border: none;
	font-size: 1em;
    max-width: 20em;
	width: 100%;
}
nav ul,
nav ol {
  list-style: none;
  list-style-image: none;
}
nav li > a,
nav li > form {
  text-decoration: none;
  padding: 0;
}
nav li .button {
  margin-bottom: 0;
  padding: 0 0.5em;
  font-size: 1em;
}
/*********************
12. SIDEBARS & ASIDES
*********************/
#sidebar-footer ul {
    padding-right: 0;
}
#sidebar-footer .widget .wp-block-heading {
  border-top: 0.5rem solid #2e5eb7;
  margin-bottom: 0.2em;
  margin-top: 0;
  font-size: 2rem;
}
#sidebar-footer .widget {
  padding: 0 1em;
  margin: 0 0 3em 1em;
  flex-grow: 1;
  flex-basis: 100%;
  border-left: 0.5rem solid hsl(139, 59.8%, 44.9%);
}
.wp-block-categories-list {
    padding-left: 0;
}
.wp-block-categories-list ul.children {
    padding-left: 1em;
}
.blog article > header {
  text-align: left;
  margin-bottom: 1rem;
}
.blog article.format-aside > header {
    margin-bottom: 0;
}
article > header .categories,
.archive-title {
  text-align: right;
  font-size: 2.5rem;
}
.archive-title {
  margin-bottom: 2rem;
  margin-top: 0;
}
article {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
article > header .categories {
  text-align: left;
  font-size: 1.5rem;
  font-family: 'Computer Modern Concrete';
}
.youre-reading {
  font-size: 1rem;
  font-family: 'Computer Modern Bright', sans-serif;
  vertical-align: top;
  color: rgba(0, 0, 0, 0.7);
}
.categories a {
  color: #00257b;
}
.blog .entry-title,
.blog .page-title {
  font-size: 2rem;
  font-weight: bold;
}
.entry-title,
.page-title {
  margin-bottom: 0.2em;
  margin-top: 0;
  border-top: 0.5rem solid hsl(19, 59.8%, 44.9%);
}
article > header .entry-title a {
  color: black;
}
.byline {
  margin-top: 0;
}
.entry-content {
  padding-bottom: 5em;
}
.entry-content .size-main-post-image {
  max-width: 100%;
}
.entry-content .MathJax_Display {
  margin-top: 2em;
  margin-bottom: 2em;
}
.entry-content .sidenote {
  color: #444;
  font-size: 0.8rem;
  background: #f7f7f7;
  padding: 0.5em;
  width: 90%;
  margin: 1em auto;
}
body.single article {
  margin: 0 0.5em;
}
@media only screen and (min-width: 768px) {
  body.single article {
    margin: 0 auto;
  }
  .entry-content {
    margin-left: 2em;
    width: 65%;
  }
  .entry-content .sidenote {
    width: 40%;
    float: right;
    clear: right;
    margin-right: -47%;
    margin-top: 0;
  }
  .entry-content > p {
    max-width: var(--readable-width);
  }
}
.sidenote :first-child {
  margin-top: 0;
}
.sidenote .wp-caption {
  background: none;
}
.sidenote .wp-caption p.wp-caption-text {
  font-size: 1em;
}
.entry-content dd {
  margin-left: 0;
  color: #787878;
  margin-bottom: 1.5em;
}
.entry-content img {
  margin: 0;
  max-width: 100%;
  height: auto;
}
.entry-content video,
.entry-content object {
  max-width: 100%;
  height: auto;
  max-height: 50vh;
}
.entry-content pre {
  background: #eee;
  border: 1px solid #cecece;
  padding: 0.5em;
  white-space: pre-wrap;
}
.entry-content pre.code {
  max-height: 30em;
  overflow-y: auto;
  font-size: 0.7em;
}
/* end .entry-content */

.home.blog .post.format-aside {
    margin-bottom: 2rem;
}

.home.blog .post.format-aside > header, .home.blog .post.format-aside > .entry-content {
    background: hsla(240, 0%, 95%, 1);
    padding: 0.5rem 1rem;
}

.home.blog .post.format-aside p {
    margin: 0.3em 0;
}

.home.blog .post.format-aside article > header  {
    margin-bottom: 0;
}
.home.blog .post.format-aside .entry-content {
    margin-left: 0;
    padding: 0 2rem;
}
.home.blog .post.format-aside .byline {
    margin-bottom: 0;
    font-size: 0.8rem;
}
.home.blog .post.format-aside .entry-title {
    font-size: 1.2rem;
}
.home.blog .post.format-aside .categories {
    font-size: 1rem;
}


figcaption {
  font-style: italic;
}
.wp-block-image .aligncenter > figcaption, .wp-block-image .alignleft > figcaption, .wp-block-image .alignright > figcaption {
    display: block;
}
figure {
  padding: 0.5em;
}
blockquote {
  color: hsl(0,0%,20%);
}

.wp-block-separator {
    clear: both;
    border: 0.2em solid #ad9457;
    margin: 2em 10%;
}

.wp-caption {
  max-width: 100%;
  background: #eee;
  padding: 0.25em;
  border-radius: 0.25em;
  margin 1em 0;
  /* images inside wp-caption */
}
.wp-caption img {
  max-width: 100%;
  margin-bottom: 0;
  width: 100%;
  background: #fcfcfc;
}
.wp-caption p.wp-caption-text {
  font-size: 0.85em;
  margin: 0.25em 0 0.5em;
  text-align: center;
}
/* end .wp-caption */
/* image gallery styles */
.gallery {
  text-align: center;
}
.gallery-item {
  margin: 0;
  float: left;
}
.gallery-columns-1 .gallery-item {
  width: 100%;
}
.gallery-columns-2 .gallery-item {
  width: 50%;
}
.gallery-columns-3 .gallery-item {
  width: 33%;
}
.gallery-columns-4 .gallery-item {
  width: 25%;
}
.gallery-columns-5 .gallery-item {
  width: 20%;
}
.gallery-columns-6 .gallery-item {
  width: 16.5%;
}
.gallery-columns-7 .gallery-item {
  width: 14%;
}
.gallery-caption {
  text-align: left;
  padding: 0 1em;
}
@media only screen and (min-width: 768px) {
  .embed-youtube,
  .embed-vimeo {
    max-width: initial;
    width: 130%;
  }
}
code {
  background: #f4f4f4;
}
@media only screen and (min-width: 481px) {
  /* entry content */
  .entry-content {
  }
  .entry-content .alignleft,
  .entry-content img.alignleft {
    margin-right: 1.5em;
    display: inline;
    float: left;
    margin-bottom: 1em;
  }
  .entry-content .alignright,
  .entry-content img.alignright {
    margin-left: 1.5em;
    display: inline;
    float: right;
    margin-bottom: 1em;
  }
  .entry-content .aligncenter,
  .entry-content img.aligncenter {
    margin-right: auto;
    margin-left: auto;
    display: block;
    clear: both;
	text-align: center;
  }
  .entry-content figure.aligncenter {
      display: table;
  }
}
.single .article-footer {
  border-top: 0.25em solid #ffc640;
}
#comment-form-elements {
  padding: 0;
}
.commentlist {
  /* general comment classes */
  /* vcard */
  /* end .commentlist .vcard */
  /* comment meta */
  /* comment content */
  /* end .commentlist .comment_content */
  /* comment reply link */
  /* end .commentlist .comment-reply-link */
}
.commentlist li.comment {
  position: relative;
  clear: both;
  overflow: hidden;
  list-style-type: none;
  margin-bottom: 1.5em;
  padding: 0.75em 0.5em;
  /* end .commentlist li ul.children */
}
.commentlist li.comment:last-child {
  margin-bottom: 0;
}
.commentlist li.comment ul.children {
  margin: 0;
  /* variations */
  /* change number for different depth */
}
.commentlist li.comment[class*=depth-] {
  margin-top: 1.1em;
}
.commentlist li.comment.depth-1 {
  margin-left: 0;
  margin-top: 0;
}
.commentlist li.comment:not(.depth-1) {
  margin-right: -0.5em;
  margin-left: -0.5em;
  margin-top: 0;
  padding-bottom: 0;
}
.comment {
  background: #fefefe;
}
.commentlist .vcard {
  margin-left: 3em;
}
.commentlist .vcard cite.fn {
  font-weight: 700;
  font-style: normal;
}
.commentlist .vcard time {
  float: right;
}
.commentlist .vcard time a {
  text-decoration: none;
}
.commentlist .vcard time a:hover {
  text-decoration: underline;
}
.commentlist .vcard img.avatar {
  position: absolute;
  left: 0.5em;
  padding: 2px;
  border: 1px solid #cecece;
  background: #fff;
}
.commentlist .comment_content {
  margin-left: 3em;
}
.commentlist .comment_content p {
  margin: 0.7335em 0 1.5em;
  font-size: 1em;
  line-height: 1.5em;
}
.commentlist .comment-reply-link {
  text-decoration: none;
  float: right;
  background: hsl(197.8, 46.5%, 30.2%);
  padding: 0.25em;
  color: #fff;
  margin-bottom: 0.5em;
  font-weight: bold;
}
.commentlist .comment-reply-link:hover,
.commentlist .comment-reply-link:focus {
  opacity: 1;
}
.commentlist li.comment.pingback {
  margin: 0;
}
.ping-type {
  font-weight: bold;
}
/* end .commentlist */
/******************************************************************
11. COMMENT FORM STYLES
******************************************************************/
.respond-form {
  margin: 1.5em 0.5em;
  padding-bottom: 2.2em;
}
.respond-form form {
  margin: 0.75em 0;
  display: grid;
  grid-template-columns: max-content 1fr;
  grid-gap: 1em;
}
.respond-form form :is(label) {
    grid-column: 1;
}
.respond-form form :is(input,textarea,small,button) {
    grid-column: 2;
}
.respond-form form button {
    justify-self: start;
}
.respond-form form .alert {
  grid-column: span 2;
}
.respond-form form li {
  list-style-type: none;
  clear: both;
  margin-bottom: 0.7335em;
}
.respond-form form input[type=text],
.respond-form form input[type=email],
.respond-form form input[type=url],
.respond-form form textarea {
  padding: 0.25em 0.5em;
  background: #efefef;
  border: 2px solid #cecece;
  line-height: 1.5em;
  /* form validation */
}
.respond-form form input[type=text]:focus,
.respond-form form input[type=email]:focus,
.respond-form form input[type=url]:focus,
.respond-form form textarea:focus {
  background: #fff;
}
.respond-form form input[type=text]:invalid,
.respond-form form input[type=email]:invalid,
.respond-form form input[type=url]:invalid,
.respond-form form textarea:invalid {
  outline: none;
  border-color: #fbc2c4;
  background-color: #f6e7eb;
  box-shadow: none;
}
.respond-form form textarea {
  resize: vertical;
  width: 100%;
  height: 10em;
}
/* comment submit button */
/* comment form title */
#comment-form-title {
  margin: 0;
}
.page-navigation,
.wp-prev-next {
  margin: 1em 0;
}
.wp-prev-next > ul {
    display: flex;
    justify-content: space-between;
}
/* fallback previous & next links */
.wp-prev-next .prev-link {
  float: right;
}
.wp-prev-next .next-link {
  float: left;
}
/* end .wp-prev-next */
/*********************
13. FOOTER STYLES
*********************/
.footer {
  clear: both;
}
.about-author:not(:last-child) {
  margin-bottom: 1em;
}
.about-author {
  background-color: #eee;
}
.about-author .avatar {
  float: left;
  margin-right: 1em;
}
.about-author .name {
  margin: 0 0 0.5em;
}
.about-author .links {
  font-size: 1em;
  margin-top: 0.4em;
}
.advent-calendar {
  margin: 2em 0;
  display: grid;
  grid-template-columns: repeat(auto-fit,210px);
  grid-gap: 1rem;
  justify-content: center;
}
.advent-window {
  width: 210px;
  height: 210px;
  border: 5px solid red;
  padding: 10px;
  margin: 0 auto;
  box-shadow: yellow 0px 0px 20px 5px;
}
.advent-number {
  text-align: center;
}
.advent-number img {
  max-height: 90px;
  width: auto;
  margin: 0 5px;
}
.advent-window.unopened {
  background: red;
  box-shadow: red 0px 0px 3px 2px;
}
.advent-window.unopened .advent-number {
  color: white;
  font-size: 30px;
  text-align: right;
}
.snow-text {
  background: black;
  background-size: 500px 500px, 400px 400px, 300px 300px;
  background-image: url('../images/snow1.png'), url('../images/snow2.png'), url('../images/snow3.png');
  display: inline-block;
  text-align: center;
  padding: 1em;
  color: #a5f2f3;
  z-index: 1;
  animation: snow 20s linear infinite;
  box-shadow: 0 0 10px black;
  border-radius: 50%;
  margin: 1em 0;
}
.wp-block-image {
	text-align: center;
}
.wp-block-image.bimo-competitor-pic + p + * {
  clear: both;
  display: block;
}
.wp-block-video {
	max-width: var(--readable-width);
}
.wp-block-christianp-interactive-element {
    border: 0.5em solid #a1a1c8;
}
.side-by-side {
	display: inline-block;
	width: 40%;
}
@keyframes snow {
  0% {
    background-position: 0px 0px, 0px 0px, 0px 0px;
  }
  100% {
    background-position: 0px 5000px, -800px 1600px, 1200px 600px;
  }
}

.reveal-one-at-a-time > li {
    visibility: hidden;
    opacity: 0;
}
.reveal-one-at-a-time > li.revealed {
    visibility: visible;
    opacity: 1;
    transition: opacity 1s;
}
.reveal-one-at-a-time > .reveal-button {
    background: hsl(120,50%,80%);
    border: none;
    margin-left: -1.5em;
    margin-top: 0.5em;
    padding: 0.2em 0.5em;
    border-radius: 0.1em;
}
.reveal-one-at-a-time > .reveal-button:hover {
    background-color: hsl(120,100%,80%);
}
.reveal-one-at-a-time > .reveal-button:disabled {
    cursor: not-allowed;
    opacity: 0.2;
}

@media print {
  * {
    background: transparent !important;
    color: black !important;
    text-shadow: none !important;
    filter: none !important;
  }
  a,
  a:visited {
    color: #444 !important;
    text-decoration: underline;
  }
  a:after,
  a:visited:after {
    content: " (" attr(href) ")";
  }
  a abbr[title]:after,
  a:visited abbr[title]:after {
    content: " (" attr(title) ")";
  }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .sidebar,
  .page-navigation,
  .wp-prev-next,
  .respond-form,
  nav {
    display: none;
  }
}

.page-navigation {
  flex-basis:100%;
}
body.home .entry-title {
  font-size: 2em;
  border-top: 0.25em solid #2d5eb6;
  padding-top: 0.2em;
}

body > main > .posts {
  display: flex;
  grid-gap: 8em;
  flex-wrap: wrap;
  align-content: start;
  justify-content: space-between;
  list-style: none;
  padding: 0;
  flex-direction: column;
}
body.home article .entry-content {
  overflow-y: hidden;
  width: auto;
  margin: 0;
  padding-bottom: 0;
  margin-bottom: 2em;
}
body.home article .main-image {
    display: block;
    margin: 0 auto;
}
body.home article > header {
    width: auto;
}
body.home article > header .categories {
  font-size: 1em;
}
body.home .entry-title {
  font-size: 1.5em;
}
body.home .byline {
  font-size: 1em;
}

body.home .alignright, body.home .alignleft {
  float: none;
  display: block;
  margin: 1em auto;
}
body.home .entry-content img {
  max-height: 50vh;
  width: 100%;
  object-fit: contain;
}
a.excerpt-read-more {
    margin-top: 1em;
    display: block;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  color: inherit;
  position: initial;
  background: none;
}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption a {
  color: #225e9b;
}
.wp-block-gallery {
  width: 80vw;
  margin: auto;
  max-width: var(--readable-width);
}


.wp-block-latest-posts.wp-block-latest-posts__list li ~ li {
    margin-top: 1em;
}

#wpstats {
    display: none;
}

@media screen and (max-width: 65rem) {
  body {
    grid-template:
      "header" auto "main" auto "sidebar" auto "nav" auto "footer" auto / 1fr;
  }
  body > header h1 {
      font-size: max(1rem, 8vmin);
  }
  body > main {
    max-width: 100vw;
    margin-top: 2rem;
  }

  body > #sidebar-footer {
    border-top: 0.5em solid hsl(139, 59.8%, 44.9%);
    padding-top: 2rem;
    margin-top: 5rem;
  }

  body > nav#site-nav > ul {
      padding: 1em;
  }
  body > nav#site-nav {
    margin-top: 5rem;
    border-top: 0.5em solid hsl(243.2, 43.9%, 42%);
  }
}

