.menu {
  width: 70px;
  background: #1c1c1a;
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 2;
}

#menu-space {
  width: 100%;
  height: 70px;
  min-height: 70px;
  background: white;
  transition: all 0.1s;
}

.menu-items {
  flex-grow: 1;
  display: flex;
  flex-direction: column-reverse;
  justify-content: center;
}

.menu-item {
  color: white;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 0px;
  text-transform: uppercase;
  user-select: none;
  cursor: pointer;
  font-size: 10px;
  text-decoration: unset;
}

.menu-item:hover {
  background: white;
  color: #1c1c1a;
  transition: background 0.2s;
}

.menu-item-active {
  background: white !important;
  color: #1c1c1a !important;
}

/* MOBILE */
.menu-mobile {
  display: none;
  flex-direction: column;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
}

.menu-mobile-show {
  transform: translateY(-100%);
}

.menu-mobile-header {
  background: #1c1c1a;
  height: 50px;
  width: 100%;
  display: flex;
}

.menu-mobile-header-close {
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
}

.mobile-menu-image {
  height: 30px;
}

.menu-mobile-items {
  display: flex;
  flex-direction: column;
  background: #1c1c1a;
}

.menu-mobile-shadow {
  background: rgba(0, 0, 0, 0.5);
  flex-grow: 1;
}

.menu-mobile-item {
  width: 100%;
  height: 50px;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  user-select: none;
  cursor: pointer;
  text-decoration: unset;
}

.menu-mobile-item:hover {
  background: white;
  color: #1c1c1a;
  transition: background 0.2s;
}

@media only screen and (max-width: 1100px) {
  .menu {
    width: 50px;
  }

  #menu-space {
    height: 50px;
    min-height: 50px;
  }
}

@media only screen and (max-width: 750px) {
  .menu {
    display: none;
  }

  .menu-mobile {
    display: flex;
    transform: translateX(-100%) !important;
  }

  .menu-mobile-show {
    transform: translateX(0px) !important;
  }
}

@supports not (-ms-high-contrast: none) {
  .menu-item {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-size: inherit;
  }
}