$width: 56px;
$animateExpand: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);

.verticalMenu {
  width: $width;
  min-width: $width;
  height: 100vh;
  background-color: #27394c;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;

  &.animating {
    transition: $animateExpand;
  }

  &Header {
    display: flex;
    align-items: center;
    padding: 12px 0;
    background-color: #37495c;
    padding: 12px ($width / 2 - 16px);

    &Logo {
      min-width: 32px;
      // TODO: solve the cascading issue in the tools which is forcing us to use !important flag
      width: 32px !important;
      height: 32px !important;
      margin-right: 12px;
    }

    &Text {
      position: relative;
      display: none;
      font-size: 14px;
      color: #fff;
      white-space: nowrap;
      opacity: 1;
      transition: 0.2s ease-out;
      font-family: "Roboto";
      top: 1px;
      flex: 1;
      font-weight: 600;
    }
  }

  &Items {
    margin: 0;
    padding: 0;
  }

  &Item {
    margin: 0;
    line-height: 0;
    position: relative;
    display: flex;
    align-items: center;
    padding: 12px ($width / 2 - 10px);
    cursor: pointer;
    transition: 0.2s ease-out;
    width: auto;

    &:hover {
      background-color: lighten(#27394c, 5);
    }

    &.active {
      background-color: lighten(#27394c, 10);
      .verticalMenuItemIcon {
        opacity: 1;
      }

      .verticalMenuItemText {
        color: #fff;
        flex: 1;
      }
    }

    &Icon {
      min-width: 20px;
      width: 20px;
      height: 20px;
      margin-right: 8px;
      svg:not(:global(.platformSupport-svg)) {
        width: 100%;
        height: 100%;
        & * {
          stroke: white;
          fill: none;
        }
      }
    }

    &Text {
      position: relative;
      display: none;
      font-size: 12px;
      color: #eee;
      white-space: nowrap;
      opacity: 0;
      transition: 0.2s ease-out;
      font-family: "Roboto";
      top: 1px;
      flex: 1;
      font-weight: 300;
    }
  }

  &Footer {
    margin-top: auto;
    margin-bottom: 0;

    &Expand {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      background-color: lighten(#27394c, 5);
      padding: 8px;
      height: auto;
      box-sizing: border-box;
      svg {
        width: 16px;
        height: 16px;
        transition: 0.4s ease-out;
      }
    }
  }

  .platformSupport {
    position: absolute;
    z-index: 999999;
    bottom: 14px;
    margin-left: 70px;
    transition: $animateExpand;
  }
  &.expanded {
    .beamer_icon.active {
      right: 1px !important;
    }
    .platformSupport {
      margin-left: 214px;
    }
    .verticalMenuHeader,
    .verticalMenuItem {
      &Text {
        display: block;
        opacity: 1;
      }
    }
    .verticalMenuItem {
      width: auto;
    }

    .verticalMenuFooter {
      .toggle svg {
        transform: rotate(180deg);
      }
    }
  }
}
