.subnav {
  background-color: var(--color-grey-lightest);
  padding: var(--space);
  width: 100%;
  margin: 0 0 var(--space-triple) 0;
}

@media only screen and (min-width: 769px) {
  .subnav {
    width: 25%;
    margin: 0 var(--space-triple) 0 0;
  }
}

.subnav .side-nav-title {
  text-align: left;
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
  font-family: var(--font-heading);
}

@media only screen and (min-width: 769px) {
  .subnav .side-nav-title {
    text-align: center;
  }
}

.subnav .side-nav-title button {
  font-weight: bold;
  font-size: 1.5rem;
  border: 0;
  padding: 0;
  cursor: pointer;
}

@media only screen and (min-width: 769px) {
  .subnav .side-nav-title button {
    font-weight: normal;
    font-size: 1rem;
    cursor: initial;
  }
}

@media only screen and (max-width: 769px) {
  .subnav .side-nav-title button::before {
    font-weight: normal;
    font-family: var(--font-awesome);
    content: '\f078';
    margin: 0 10px 0 0;
    display: inline-block;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .5s;
    -moz-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
  }

  .subnav .side-nav-title button.rotate::before {
    display: inline-block;
    -webkit-transform: rotate(540deg);
    -moz-transform: rotate(540deg);
    -o-transform: rotate(540deg);
    -ms-transform: rotate(540deg);
    transform: rotate(540deg);
    -webkit-transition: .75s;
    -moz-transition: .75s;
    -o-transition: .75s;
    transition: .75s;
  }
}

.subnav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.subnav ul li {
  margin: var(--space) 0 var(--space) var(--space);
}

.subnav ul li a {
  font-size: 1rem;
  color: var(--color-grey-darkest);
}

.subnav ul li a.is-active {
  font-weight: bold;
}

@media only screen and (max-width: 769px) {
  .subnav > ul.menu:first-of-type {
    margin: -10px 0 10px 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s ease-out;
  }

  .subnav > ul.menu:first-of-type.open {
    height: auto;
    max-height: 1500px;
    /* important flag preserved verbatim from the Sass source. */
    transition: max-height .5s ease-in !important;
  }
}
