#page-split {
  display: grid;
}

.side-menu {
  box-sizing: border-box;
  background-color: var(--darker-blue);
  border-radius: 20px;
  padding: 20px;
}

.side-menu a {
  color: var(--light-cyan);
  display: block;
  padding: 7px 0;
  transition-duration: 300ms;
}

.side-menu a:hover,
.side-menu a.active {
  color: var(--green);
  font-size: 16px;
}

.side-menu a::before {
  content: "";
  background-image: url("../svg/bracket_right_green.svg");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
  display: inline-block;
  height: 10px;
  width: 0;
  opacity: 0;
  transition-duration: 500ms;
}

.side-menu a:hover::before,
.side-menu a.active::before {
  width: 16px;
  opacity: 1;
}

.side-menu a.sub {
  margin-left: 10px;
}

.side-menu a.sub::before {
  background-image: url("../svg/bracket_right.svg");
  height: 8px;
  opacity: 1;
  width: 14px;
}

.side-menu a.sub:hover::before {
  background-image: url("../svg/bracket_right_green.svg");
}

@media (max-width: 700px) {
  .side-menu-wrapper {
    grid-row-start: 2;
  }

  .side-menu {
    font-size: 12px;
  }

  .side-menu a.active {
    font-size: 12px;
  }

  .side-menu a.active::before {
    height: 8px;
    width: 14px;
  }
}

@media (min-width: 701px) {
  #page-split {
    grid-template-columns: 33% auto;
    column-gap: 15px;
    margin-top: 70px;
  }

  .side-menu-wrapper {
    grid-row-end: span 2;
  }

  .side-menu {
    position: sticky;
    top: 205px;
    width: calc(min(var(--page-width), 100vw) * 0.33 - 18px);
    padding: 20px 36px;
  }

  .side-menu a {
    padding: 15px 0;
  }
}
