.wrapper {
  display: flex;
}

.content {
  display: flex;
  flex-direction: column;
  width: 100%;
  overflow-x: auto;
}

.content h1 {
  font-size: calc(24rem / 16);
  color: var(--primary-accent);
}

.content h2,
.content h3 {
  font-size: calc(18rem / 16);
  margin-top: calc(24rem / 16);
  margin-bottom: calc(16rem / 16);
}

.nav {
  position: sticky;
  overflow: auto;
  flex-shrink: 0;

  top: calc(20rem / 16);
  margin: calc(8rem / 16) calc(32rem / 16) calc(20rem / 16) 0;
  height: calc(100vh - (44rem / 16));

  color: var(--primary-heading);
  font-weight: 500;
}

.navItem {
  display: flex;
  overflow: hidden;
  white-space: nowrap;
  font-size: calc(14rem / 16);
  border-bottom: calc(1rem / 16) solid var(--primary-accent-light);
  align-items: center;
  height: calc(40rem / 16);
  width: calc(200rem / 16);
  padding: 0 calc(14rem / 16);
  cursor: pointer;
}

.navItem > div {
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

.selected {
  background-color: var(--primary-accent-lightest);
  color: var(--primary-accent);
  font-weight: 700;
}

.readAll {
  font-weight: 700;
}

.marker {
  display: none;
}

.selected .marker {
  display: inline;
  background-color: var(--primary-accent);
  height: calc(24rem / 16);
  width: calc(4rem / 16);
  margin-right: 1rem;
}

.footer {
  margin-top: auto;
  display: flex;
  justify-content: space-between;
}

.previous,
.next {
  flex: 1;
  display: flex;
  cursor: pointer;
  color: var(--primary-heading);
  font-size: calc(12rem / 16);
}

.previous {
  margin-right: calc(8rem / 16);
}

.next {
  justify-content: flex-end;
  text-align: end;
  margin-left: calc(8rem / 16);
}

.arrowHeading {
  color: var(--primary-accent);
  font-size: calc(14rem / 16);
  font-weight: 700;
  border-bottom: calc(2rem / 16) solid var(--primary-accent);
  padding-bottom: calc(4rem / 16);
}

.arrow {
  fill: var(--primary-accent);
  margin-top: calc(27rem / 16);
  flex-shrink: 0;
}

.prevArrow {
  transform: rotate(90deg);
  padding-right: calc(8rem / 16);
}

.nextArrow {
  transform: rotate(270deg);
  padding-left: calc(8rem / 16);
}

.link,
.link:visited {
  color: inherit;
  text-decoration: none;
}

.burger {
  display: none;
}

.mobileNavTitle {
  display: none;
}

@media only screen and (max-width: calc(768rem / 16)) {
  .burger {
    display: flex;
    position: fixed;
    border: none;
    bottom: calc(32rem / 16);
    left: calc(16rem / 16);
    width: calc(62rem / 16);
    height: calc(57rem / 16);
    cursor: pointer;
    z-index: 9;
    background: var(--primary-accent-light);
    border-radius: calc(5rem / 16);
    transition: transform 0.3s ease-in-out;
    transform: translateY(calc(94rem / 16));
    padding: calc(11rem / 16) calc(9rem / 16);
  }

  .burgerVisible {
    transform: translateY(0);
  }

  .burger > svg {
    width: 100%;
    height: 100%;
    stroke: var(--primary-accent);
  }

  .navItem {
    width: auto;
    padding: 0 calc(16rem / 16);
  }

  .content h1 {
    font-size: calc(18rem / 16);
  }

  .content h2,
  .content h3,
  .content h4 {
    font-size: calc(18rem / 16);
    margin-top: calc(24rem / 16);
    margin-bottom: calc(8rem / 16);
  }

  .content ul,
  .content ol {
    padding-left: 1rem;
  }

  .nav {
    position: fixed;

    top: 0;
    left: 0;
    z-index: 30;

    height: 100%;
    margin: 0;
    background: var(--primary-accent-lighter);
    width: calc(288rem / 16);

    transform: translateX(-100vw);
    transition: 0.5s;
  }

  .navMobileBackground {
    position: fixed;
    visibility: hidden;

    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 20;

    background-color: var(--navbar-page-overlay);
    opacity: 0;

    transition: 0.5s;
  }

  .mobileNavOpen {
    transform: translateX(0);
  }

  .mobileNavTitle {
    display: flex;
    font-size: calc(24rem / 16);
    font-weight: 700;
    margin: calc(14rem / 16);
    margin-top: calc(39rem / 16);
  }

  .show.navMobileBackground {
    visibility: visible;
    opacity: 100%;
  }
}
