.menuButton {
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 8px 10px;
}

.menuButton:not(:hover) {
  background-color: transparent;
}

/* VerticalNavBar */
.verticalNavBar.expanded {
  /* only visible on mobile when expanded */
  display: flex;
  width: 100vw;
}
@media screen and (min-width: 768px) {
  .verticalNavBar {
    border-right: 1px solid var(--border);
  }
}

@media screen and (min-width: 768px) {
  /* desktop only: horizontal expand/collapse transition */
  .verticalNavBar {
    --width: 72px;
    --transition: ease-out;
    width: calc(var(--width) + 1px);
    transition: width 0.1s var(--transition);
  }

  .verticalNavBar:hover {
    --width: 224px;
    --transition: ease-in;
  }
}

@media screen and (min-width: 768px) {
  /* desktop only: shadow on the right */
  .verticalNavBar:hover {
    box-shadow: 0 0 100px 50px rgba(0, 0, 0, 0.02);
  }
}

/* level 1 */
.navLevel1 {
  --list-padding-y: 13px;
  --label-weight: 600;
  --label-color: var(--platform-navigation-foreground);
}

.navLevel1 .navListItem > * {
  padding-left: 4px;
}

@media screen and (min-width: 768px) {
  .navLevel1 .navListItem > * {
    padding: 13px 14px;
  }
}

@media screen and (min-width: 768px) {
  /* On desktop, show highlight on hovered level 1 item */
  .navLevel1 .navListItem:hover {
    background-color: var(--platform-navigation-hover);
    border-radius: 4px;
  }
}

/* level 2 */
.navLevel2 {
  /* vertical expand/collapse transition */
  /* transition: max-height 0.3s ease; */
  max-height: 0;
  position: relative;
  overflow: hidden;

  /* variables */
  --list-padding-y: 9px;
  --label-weight: 400;
}
.navLevel2 {
  padding-left: 12px;
}
@media screen and (min-width: 768px) {
  .navLevel2 {
    padding-left: 24px;
  }
}
.navLevel2 {
  max-height: 100%;
}

.verticalNavBar .navLevel2 {
  display: none;
}
.navLevel2.expanded,
.verticalNavBar:hover .navLevel2.expanded {
  /* Only display level 2 hat level is expanded */
  display: flex;
}

.navLevel2 .navListItem:hover .label,
.navLevel2:not(:hover) .active .label {
  font-weight: 500;
  color: var(--platform-navigation-active-foreground);
}

@media screen and (min-width: 768px) {
  /* On desktop, show highlight on hovered level 2 item */
  .navLevel2 .navListItem:hover {
    background-color: unset;
  }

  .navLevel2 .navListItem {
    position: relative;
    display: flex;
    align-items: center;
  }

  .verticalNavBar .navLevel2 a {
    height: 48px;
  }

  .verticalNavBar .navLevel2 a div {
    width: var(--width);
    transition: width 0.1s var(--transition);
  }

  .verticalNavBar:not(:hover) .navLevel2 a div {
    --width: 0;
  }
}

.navLevel3 {
  --list-padding-y: 8px;
}

/* nav list */
.navList {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.navListItem > * {
  /* Allow item contents whole area to be clickable */
  width: 100%;
  padding: var(--list-padding-y) 0;
}

.navListItem .label {
  /* default label styles */
  font-size: 14px;
  line-height: 22px;
  color: var(--label-color);
  font-weight: var(--label-weight);
}
