html,
body {
  min-height: 100%;
}

html {
  font-size: var(--font-size-normal);
}

body {
  font-family: var(--font-stack-primary);
  line-height: var(--line-height-normal);
  background: var(--color-background);
  color: var(--color-text);
}

a {
  color: var(--color-link);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
  text-decoration-color: var(--color-link-border);
}

a:active {
  color: var(--color-link-active);
  text-decoration-color: currentcolor;
}

ol {
  list-style-position: inside;
  padding-left: 0;
  font-style: italic;
}

.site-header {
  padding: var(--spacing-vertical) var(--spacing-horizontal);
  border-bottom: var(--border-normal);
}

.site-footer {
  padding: var(--spacing-vertical) var(--spacing-horizontal) var(--spacing-vertical-large);
  border-top: var(--border-normal);
  font-size: var(--font-size-small);
}


.text-wrapper {
  padding: var(--spacing-vertical-large-2) var(--spacing-horizontal-large-2);
}

.main-nav {
  margin: 0 calc(var(--spacing-vertical-small-2) * -1);
}

.main-nav-item {
  margin: 0 var(--spacing-vertical-small-2);
}

.page-header {
  padding: var(--spacing-vertical-large-2) var(--spacing-horizontal-large-2);
}

.page-main {
  display: grid;
  margin: var(--spacing-vertical) var(--spacing-horizontal) var(--spacing-vertical-large-2) var(--spacing-horizontal);
  gap: var(--grid-gap);
}


/* Special styles for text rendered from the block editor */
/* Although we try to avoid implicit styling via cascading */
/* in this case we do allow it */
/* Special selector to target every child node directly following a child node */
/* equivalent to > *:not(:first-child) */
.portable-text > * + * {
  margin-top: var(--spacing-vertical-small);
}

.portable-text-figure > * + * {
  margin-top: var(--spacing-vertical-small-2);
}

.portable-text__small {
  font-size: var(--font-size-small);
  line-height: var(--line-height-normal);
}

.portable-text__heading--level-1 {
  font-size: var(--font-size-large-2);
}

.portable-text__heading--level-2 {
  font-size: var(--font-size-large);
}

.portable-text__heading--level-3,
.portable-text__heading--level-4,
.portable-text__heading--level-5,
.portable-text__heading--level-6 {
  font-size: var(--font-size-normal);
  font-weight: bold;
}

.article {
}

.logo a {
  display: inline-block;
  opacity: 0.8;
}

.logo img {
  display: block;
  filter: brightness(0) invert(1);
}
