@keyframes cartBounce {
  0% { transform: scale(1); opacity: 0.75; }
  50% { transform: scale(1.25); opacity: 1; }
  100% { transform: scale(1); opacity: 0.75; }
}

#Nav {
  align-items: center;
  display: flex;
  height: var(--nav-height);
  left: 0;
  padding: 0 10px;
  position: fixed;
  text-align: center;
  top: 0;
  transform: translateX(0);
  transition: background-color 0.75s, top 0.5s;
  width: 100%;
  z-index: 21;
  &.background {
    background-color: var(--dark);
    &.menu {
      background-color: var(--black);
    }
  }
  & .menu-btn {
    cursor: pointer;
    display: none;
    left: 0;
    padding: 10px 10px 9px;
    position: absolute;
    top: 1px;
    z-index: 22;
    @media (max-width: 768px) {
      display: block;
    }
  }
  & .left-buttons {
    align-items: center;
    display: flex;
    flex: 1 1 100%;
    justify-content: flex-start;
    min-width: 0;
    & .home-btn {
      box-sizing: content-box;
      flex: none;
      height: 19px;
      padding: 3px 7px;
      & img {
        height: 19px;
        width: 76px;
      }
      @media (max-width: 768px) {
        padding-left: 30px;
        &:not(:last-child) {
          display: none;
        }
      }
    }
    & .nav-subtitle {
      color: var(--red);
      display: inline-block;
      flex: 1 1 100%;
      font-family: "Pathway Gothic One", sans-serif;
      font-size: 24px;
      line-height: 19px;
      margin-bottom: -5px;
      overflow-x: hidden;
      padding: 0 0 6px;
      text-align: left;
      text-overflow: ellipsis;
      white-space: nowrap;
      vertical-align: middle;
      @media (max-width: 768px) {
        padding-left: 30px;
      }
    }
  }
  & .right-buttons {
    align-items: center;
    display: flex;
    flex: none;
    & .right-links {
      display: flex;
      margin: 0;
      list-style: none;
      padding: 0;
      & li {
        & a {
          color: var(--white);
          font-family: "Pathway Gothic One", sans-serif;
          font-size: 17px;
          font-weight: 400;
          line-height: 20px;
          letter-spacing: 0.03em;
          padding: 10px 20px;
          text-transform: uppercase;
          white-space: nowrap;
        }
      }
      @media (max-width: 768px) {
        display: none;
      }
    }
    & .cart-icon {
      align-items: center;
      color: white;
      display: flex;
      font-family: "Palanquin", sans-serif;
      font-size: 13px;
      font-weight: 800;
      line-height: 20px;
      opacity: 0.75;
      margin: 10px;
      transform: scale(1);
      transition: opacity 0.2s;
      &:hover {
        opacity: 1;
        text-decoration: none;
      }
      & .isvg {
        flex: none;
        height: 19px;
        width: 21px;
        &.filled svg path {
          fill: var(--red);
        }
      }
      @for $i from 1 to 5 {
        &.cart-size-$i {
          animation-name: cartBounce;
          animation-duration: 0.5s;
          animation-iteration-count: 1;
        }
      }
    }
  }
}

.cart-nav-controls {
  max-width: 260px;
  min-width: 260px;
  padding: 12px;
  width: 260px;
  & .title {
    color: var(--dark);
    font-family: "Palanquin", sans-serif;
    font-size: 13px;
    font-weight: bold;
    letter-spacing: 0.6px;
    text-transform: uppercase;
  }
  & .sub {
    color: #949494;
    font-family: "Palanquin", sans-serif;
    font-size: 11px;
    font-weight: 400;
    margin-bottom: 7px;
    margin-top: 5px;
  }
  & .body {
    color: var(--black);
    font-family: "Palanquin", sans-serif;
    font-size: 11px;
    font-weight: 400;
    margin-bottom: 7px;
    margin-top: 5px;
  }
  & .dataset {
    align-items: center;
    display: flex;
    margin-bottom: 10px;
    width: 100%;
    & .title {
      color: #949494;
      flex: 1;
      font-family: "Palanquin", sans-serif;
      font-size: 13px;
      font-weight: 600;
      line-height: 15px;
      letter-spacing: 0;
      padding-right: 20px;
      text-transform: none;
    }
    & .remove {
      display: block;
      height: 10px;
      margin-top: 4px;
      opacity: 0.75;
      transition: opacity 0.1s;
      width: 10px;
      &:hover {
        cursor: pointer;
        opacity: 1;
      }
    }
  }
  & .bp3-button {
    background: none !important;
    border: 1px solid var(--red);
    border-radius: 0;
    box-shadow: none !important;
    color: var(--red) !important;
    font-size: 13px;
    font-weight: 600;
    margin-top: 10px;
    text-align: center;
    transition: background 0.1s, color 0.1s;
    &:before {
      color: var(--red) !important;
      font-size: 13px;
      transition: color 0.1s;
    }
    &:hover {
      background: var(--red) !important;
      color: white !important;
      &:before {
        color: white !important;
      }
    }
  }
}

.bp3-dialog.nav-menu {
  background-color: var(--black) !important;
  height: 100vh;
  left: 0;
  margin: 0;
  padding: 0;
  position: fixed !important;
  /* necessary for overriding blueprint */
  transform: translateX(0);
  transition: transform 0.25s;
  width: 300px;
  will-change: transform;
  & .menu-content {
    box-sizing: border-box;
    height: 100vh;
    margin: 0;
    & ul {
      list-style: none;
      margin: 0;
      padding: var(--nav-height) 35px;
      & li {
        font-family: "Palanquin", sans-serif;
        font-size: 16px;
        font-weight: 600;
        letter-spacing: 0.1em;
        line-height: 1.3;
        padding: 7px 0;
        text-transform: uppercase;
        vertical-align: middle;
        & a {
          color: white;
          &:hover {
            color: var(--purple);
            text-decoration: none;
          }
          &.new:after {
            color: var(--red);
            content: "new";
            font-size: 60%;
            font-weight: 800;
            margin-left: 3px;
            text-transform: uppercase;
            vertical-align: super;
          }
        }
        & ul {
          padding: 5px 15px 5px;
          & li {
            font-size: 14px;
          }
        }
      }
    }
    & .menu-close {
      outline: none;
      position: absolute;
      right: 10px;
      top: 10px;
    }
  }
}

.bp3-dialog-container {
  outline: 0;
  transform: translateX(0);
  transition: transform 0.25s ease-in-out;
  will-change: transform;
  &.slide-enter, &.slide-exit.slide-exit-active {
    transform: translateX(-300px);
  }
  &.slide-enter.slide-enter-active, &.slide-exit {
    transform: translateX(0);
  }
}

.bp3-overlay-backdrop {
  opacity: 1;
  transition: opacity 0.25s ease-in-out;
  &.slide-enter, &.slide-exit.slide-exit-active {
    opacity: 0;
  }
  &.slide-enter.slide-enter-active, &.slide-exit {
    opacity: 1;
  }
}
