
#navPanelToggle {
  text-decoration: none;
  -moz-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
  -webkit-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
  -ms-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
  transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
  display: none;
  position: fixed;
  top: 0.75rem;
  right: 0.75rem;
  border: 0;
  color: #ffffff;
  font-family: "Source Sans Pro", Helvetica, sans-serif;
  font-size: 0.9rem;
  font-weight: 900;
  letter-spacing: 0.075em;
  padding: 0.375rem 1.25rem;
  text-transform: uppercase;
  z-index: 10001;
}

  #navPanelToggle:before {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    text-transform: none !important;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
  }

  #navPanelToggle:before {
    content: '\f0c9';
    margin-right: 0.5rem;
  }

  #navPanelToggle.alt {
    background-color: rgba(255, 255, 255, 0.875);
    box-shadow: 0 0.125rem 0.75rem 0 rgba(30, 37, 45, 0.25);
    color: #212931;
  }

    #navPanelToggle.alt:hover {
      background-color: #ffffff;
    }

  @media screen and (max-width: 980px) {

    #navPanelToggle {
      display: block;
    }

  }

  @media screen and (max-width: 736px) {

    #navPanelToggle {
      font-size: 0.8rem;
      padding: 0.25rem 1rem;
    }

  }

#navPanel {
  -moz-transform: translateX(20rem);
  -webkit-transform: translateX(20rem);
  -ms-transform: translateX(20rem);
  transform: translateX(20rem);
  -moz-transition: -moz-transform 0.5s ease, box-shadow 0.5s ease, visibility 0.5s;
  -webkit-transition: -webkit-transform 0.5s ease, box-shadow 0.5s ease, visibility 0.5s;
  -ms-transition: -ms-transform 0.5s ease, box-shadow 0.5s ease, visibility 0.5s;
  transition: transform 0.5s ease, box-shadow 0.5s ease, visibility 0.5s;
  display: none;
  -webkit-overflow-scrolling: touch;
  background: #ffffff;
  box-shadow: none;
  color: #212931;
  height: 100%;
  max-width: 80%;
  overflow-y: auto;
  padding: 3rem 2rem;
  position: fixed;
  right: 0;
  top: 0;
  visibility: hidden;
  width: 20rem;
  z-index: 10002;
}

  #navPanel .links {
    list-style: none;
    padding-left: 0;
  }

    #navPanel .links li {
      border-top: solid 2px #eeeeee;
    }

      #navPanel .links li a {
        border-bottom: 0;
        display: block;
        font-family: "Source Sans Pro", Helvetica, sans-serif;
        font-size: 0.9rem;
        font-size: 0.9rem;
        font-weight: 900;
        letter-spacing: 0.075em;
        padding: 0.75rem 0;
        text-transform: uppercase;
      }

      #navPanel .links li:first-child {
        border-top: 0;
      }

  #navPanel .close {
    text-decoration: none;
    -moz-transition: color 0.2s ease-in-out;
    -webkit-transition: color 0.2s ease-in-out;
    -ms-transition: color 0.2s ease-in-out;
    transition: color 0.2s ease-in-out;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    border: 0;
    color: #909498;
    cursor: pointer;
    display: block;
    height: 3.25rem;
    line-height: 3.25rem;
    padding-right: 1.25rem;
    position: absolute;
    right: 0;
    text-align: right;
    top: 0;
    /* vertical-align: middle; */
    width: 7rem;
  }

    #navPanel .close:before {
      -moz-osx-font-smoothing: grayscale;
      -webkit-font-smoothing: antialiased;
      display: inline-block;
      font-style: normal;
      font-variant: normal;
      text-rendering: auto;
      line-height: 1;
      text-transform: none !important;
      font-family: 'Font Awesome 5 Free';
      font-weight: 900;
    }

    #navPanel .close:before {
      content: '\f00d';
      font-size: 1.25rem;
    }

    #navPanel .close:hover {
      color: #212931;
    }

    @media screen and (max-width: 736px) {

      #navPanel .close {
        height: 4rem;
        line-height: 4rem;
      }

    }

  @media screen and (max-width: 980px) {

    #navPanel {
      display: block;
    }

  }

  @media screen and (max-width: 736px) {

    #navPanel {
      padding: 2.5rem 1.75rem;
    }

  }

@media screen and (max-width: 980px) {

  body.is-navPanel-visible #wrapper {
    opacity: 0.5;
  }

  body.is-navPanel-visible #navPanel {
    -moz-transform: translateX(0);
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
    box-shadow: 0 0 1.5rem 0 rgba(0, 0, 0, 0.2);
    visibility: visible;
  }

}