*,
*::before,
*::after {
  box-sizing: inherit; }

:root {
  --primary-font: "Roboto", sans-serif;
  --primary-font-color: #e8eef2;
  --primary-bg-color: #49505c;
  --primary-darkbg-color: #3b3e48;
  --highlight-color: #018574; }

body {
  background-color: var(--primary-bg-color);
  font-family: var(--primary-font);
  color: var(--primary-font-color);
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-size: 1.25rem;
  line-height: 1.4;
  font-weight: 400; }

img {
  max-width: 100%;
  height: auto;
  display: block; }

.wrapper {
  margin-inline: auto;
  max-width: 55ch; }
  .wrapper > * + * {
    margin: 1.5em 0 0; }

.page-header {
  position: fixed;
  bottom: 0;
  width: 100%;
  padding: 1rem;
  text-align: center;
  background-color: var(--primary-darkbg-color);
  box-shadow: -1px -2px 3px rgba(0, 0, 0, 0.45);
  display: flex;
  justify-content: space-between; }
  .page-header a {
    color: var(--primary-font-color);
    text-decoration: none;
    transition: color 0.2s ease-in-out; }
    .page-header a:hover {
      color: var(--primary-bg-color); }
  .page-header [role="navigation"] ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: flex-start;
    gap: 1rem;
    height: 100%;
    align-items: center; }
  .page-header .legal-navigation {
    font-size: 1rem; }

.content-block figure {
  margin: 0;
  padding: 0;
  text-align: center; }
  .content-block figure figcaption h4 {
    margin: 0;
    font-weight: 300;
    color: var(--primary-font-color);
    opacity: 0.8; }

.content-block a {
  color: var(--primary-font-color);
  text-decoration: none;
  transition: color 0.2s ease-in-out;
  position: relative; }
  .content-block a::before {
    position: absolute;
    content: "";
    display: block;
    left: 0;
    bottom: 0px;
    width: calc(100% + 4px);
    height: 4px;
    background-color: var(--highlight-color);
    z-index: -1;
    margin: 0 -2px; }
  .content-block a::after {
    position: absolute;
    content: "";
    display: block;
    left: 50%;
    bottom: 0;
    width: 0;
    height: 2px;
    background-color: var(--primary-font-color);
    transition: all 0.2s ease-in-out;
    transform: translateX(calc(-50% + 3px));
    z-index: -1;
    margin: 0 -3px; }
  .content-block a:hover {
    color: var(--highlight-color); }
    .content-block a:hover:after {
      width: calc(100% + 6px);
      height: 100%; }

.posts,
.single-post {
  margin: 20vh 1rem; }

.post-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 1rem; }

.block-link {
  display: block; }

.home-screen {
  padding: 1rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100vh; }

.home-screen-navigation {
  padding: 4rem 0; }
  .home-screen-navigation ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: flex-start;
    gap: 1rem;
    height: 100%;
    align-items: center; }
