/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */

:root {
  --hamburger-layer-width: 1.9rem;
  --hamburger-scale: calc(var(--hamburger-layer-width)/40);

  --hamburger-padding-x: calc(15 * var(--hamburger-scale));
  --hamburger-padding-y: calc(15 * var(--hamburger-scale));
  --hamburger-layer-height: calc(4 * var(--hamburger-scale));
  --hamburger-layer-spacing: calc(6 * var(--hamburger-scale));
  --hamburger-border-radius: calc(4 * var(--hamburger-scale));
  --hamburger-y-offset: calc(var(--hamburger-layer-height) + var(--hamburger-layer-spacing))
}

.hamburger {
  /* padding: var(--hamburger-padding-x) var(--hamburger-padding-y); */
  padding: 0;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
}

.hamburger:hover {
  opacity: 0.7;
}

.hamburger.is-active:hover {
  opacity: 0.7;
}

.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
  background-color: #000;
}

.hamburger-box {
  width: var(--hamburger-layer-width);
  height: calc(3*var(--hamburger-layer-height) + 2*var(--hamburger-layer-spacing));
  display: inline-block;
  position: relative;
}

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: calc(-1 * (var(--hamburger-layer-height) / 2));
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
  width: var(--hamburger-layer-width);
  height: var(--hamburger-layer-height);
  background-color: #000;
  border-radius: var(--hamburger-border-radius);
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}

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

.hamburger-inner::before {
  top: calc(-1 * (var(--hamburger-layer-spacing) + var(--hamburger-layer-height)));
}

.hamburger-inner::after {
  bottom: calc(-1 * (var(--hamburger-layer-spacing) + var(--hamburger-layer-height)));
}

/*
* Slider
*/
.hamburger--slider .hamburger-inner {
  top: calc(var(--hamburger-layer-height) / 2);
}

.hamburger--slider .hamburger-inner::before {
  top: calc(var(--hamburger-layer-height) + var(--hamburger-layer-spacing));
  transition-property: transform, opacity;
  transition-timing-function: ease;
  transition-duration: 0.15s;
}

.hamburger--slider .hamburger-inner::after {
  top: calc(2*var(--hamburger-layer-height) + 2*var(--hamburger-layer-spacing));
}

.hamburger--slider.is-active .hamburger-inner {
  transform: translate3d(0, var(--hamburger-y-offset), 0) rotate(45deg);
}

.hamburger--slider.is-active .hamburger-inner::before {
  transform: rotate(-45deg) translate3d(calc(var(--hamburger-layer-width) / -7), calc(-1 * var(--hamburger-layer-spacing)), 0);
  opacity: 0;
}

.hamburger--slider.is-active .hamburger-inner::after {
  transform: translate3d(0, calc(-2* var(--hamburger-y-offset)), 0) rotate(-90deg);
}