.hamburger {
  background-color: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  display: inline-block;
  font: inherit;
  margin: 0;
  overflow: visible;
  padding: 6px 2px;
  text-transform: none;
  transition-duration: .15s;
  transition-property: opacity, filter;
  transition-timing-function: linear;

  &.is-active .hamburger-inner,
  &.is-active .hamburger-inner::before,
  &.is-active .hamburger-inner::after {
    background-color: var(--color-neutral-gray-53);
  }
}

.hamburger-box {
  display: inline-block;
  height: 24px;
  position: relative;
  width: 40px;
}

.hamburger-inner {
  display: block;
  margin-top: 2px;
  top: 50%;
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
  background-color: var(--color-hamburger);
  border-radius: 4px;
  height: 4px;
  position: absolute;
  transition-duration: .15s;
  transition-property: transform;
  transition-timing-function: ease;
  width: 40px;
}

.hamburger-inner::before,
.hamburger-inner::after {
  content: '';
  display: block;
}

.hamburger-inner::before {
  top: -12px;
}

.hamburger-inner::after {
  bottom: -12px;
}

 /* Animation */
.hamburger--squeeze .hamburger-inner {
  transition-duration: .075s;
  transition-timing-function: cubic-bezier(.55, .055, .675, .19);
}

.hamburger--squeeze .hamburger-inner::before {
  transition: top .075s .12s ease, opacity .075s ease;
}

.hamburger--squeeze .hamburger-inner::after {
  transition: bottom .075s .12s ease,
    transform .075s cubic-bezier(.55, .055, .675, .19);
}

.hamburger--squeeze.is-active .hamburger-inner {
  transform: rotate(45deg);
  transition-delay: .12s;
  transition-timing-function: cubic-bezier(.215, .61, .355, 1);
}

.hamburger--squeeze.is-active .hamburger-inner::before {
  opacity: 0;
  top: 0;
  transition: top .075s ease, opacity .075s .12s ease;
}

.hamburger--squeeze.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom .075s ease,
    transform .075s .12s cubic-bezier(.215, .61, .355, 1);
}

