body {
  padding-top: 6rem;
}

@media screen and (min-width: 60rem) {
  body {
    padding-top: 9rem;
  }
}

/* Fix anchor scrolling for the fixed header above */
* {
  scroll-margin-top: 2.5rem;
}

@media screen and (min-width: 60rem) {
  * {
    scroll-margin-top: 3.25rem;
  }
}

.height-minus-header {
  height: calc(100vh - 6rem);
}

@media screen and (min-width: 60rem) {
  .height-minus-header {
    height: calc(100vh - 9rem);
  }
}

.height-minus-shrunken-header {
  height: calc(100vh - 2.5rem);
}

@media screen and (min-width: 60rem) {
  .height-minus-shrunken-header {
    height: calc(100vh - 3.25rem);
  }
}

body > header {
  position: fixed;
  top: 0;
  width: 100%;
  height: 6rem;
  z-index: 1000000;
  background-color: White;
  box-shadow: 0 0.2rem 0.2rem rgba(0, 0, 0, 0.25);
  transition: height 400ms;
}

body > header #logo,
body > header #simple-logo {
  position: absolute;
  left: 0.5rem;
  top: 0.5rem;
  list-style-type: none;
  transition: opacity 400ms;
}

body > header #logo img,
body > header #simple-logo img {
  max-width: 100%;
  height: 5rem;
  min-height: 1.5rem;
  transition: height 400ms;
}

body > header #simple-logo {
  opacity: 0;
}

body > header.narrow {
  height: 2.5rem;
}

body > header.narrow #logo {
  opacity: 0;
}

body > header.narrow #simple-logo {
  opacity: 100%;
}

body > header.narrow #logo img,
body > header.narrow #simple-logo img {
  height: 1.5rem;
}

@media screen and (min-width: 60rem) {
  body > header {
    height: 9rem;
  }

  body > header #logo img,
  body > header #simple-logo img {
    height: 8rem;
  }

  body > header.narrow {
    height: 3.25rem;
  }

  body > header.narrow #logo img,
  body > header.narrow #simple-logo img {
    height: 2.25rem;
  }
}
