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

.ha-hamburger {
  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;
}

/* .ha-hamburger:hover {
  opacity: 0.7;
}

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

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

.ha-hamburger-box {
  width: 2.9em;
  height: 1.8em;
  display: inline-block;
  position: relative;
}

.ha-hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -0.15em;
}

.ha-hamburger-inner,
.ha-hamburger-inner::before,
.ha-hamburger-inner::after {
  width: 2.9em;
  height: 0.3em;
  background-color: #000;
  border-radius: 4px;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}

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

.ha-hamburger-inner::before {
  top: -0.75em;
}

.ha-hamburger-inner::after {
  bottom: -0.75em;
}

/*
   * 3DX
   */

.ha-hamburger--3dx .ha-hamburger-box {
  perspective: 80px;
}

.ha-hamburger--3dx .ha-hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.ha-hamburger--3dx .ha-hamburger-inner::before,
.ha-hamburger--3dx .ha-hamburger-inner::after {
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.ha-hamburger--3dx.ha-is-active .ha-hamburger-inner {
  background-color: transparent !important;
  transform: rotateY(180deg);
}

.ha-hamburger--3dx.ha-is-active .ha-hamburger-inner::before {
  transform: translate3d(0, 10px, 0) rotate(45deg);
}

.ha-hamburger--3dx.ha-is-active .ha-hamburger-inner::after {
  transform: translate3d(0, -10px, 0) rotate(-45deg);
}

/*
   * 3DX Reverse
   */

.ha-hamburger--3dx-r .ha-hamburger-box {
  perspective: 80px;
}

.ha-hamburger--3dx-r .ha-hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.ha-hamburger--3dx-r .ha-hamburger-inner::before,
.ha-hamburger--3dx-r .ha-hamburger-inner::after {
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.ha-hamburger--3dx-r.ha-is-active .ha-hamburger-inner {
  background-color: transparent !important;
  transform: rotateY(-180deg);
}

.ha-hamburger--3dx-r.ha-is-active .ha-hamburger-inner::before {
  transform: translate3d(0, 10px, 0) rotate(45deg);
}

.ha-hamburger--3dx-r.ha-is-active .ha-hamburger-inner::after {
  transform: translate3d(0, -10px, 0) rotate(-45deg);
}

/*
   * 3DY
   */

.ha-hamburger--3dy .ha-hamburger-box {
  perspective: 80px;
}

.ha-hamburger--3dy .ha-hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.ha-hamburger--3dy .ha-hamburger-inner::before,
.ha-hamburger--3dy .ha-hamburger-inner::after {
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.ha-hamburger--3dy.ha-is-active .ha-hamburger-inner {
  background-color: transparent !important;
  transform: rotateX(-180deg);
}

.ha-hamburger--3dy.ha-is-active .ha-hamburger-inner::before {
  transform: translate3d(0, 10px, 0) rotate(45deg);
}

.ha-hamburger--3dy.ha-is-active .ha-hamburger-inner::after {
  transform: translate3d(0, -10px, 0) rotate(-45deg);
}

/*
   * 3DY Reverse
   */

.ha-hamburger--3dy-r .ha-hamburger-box {
  perspective: 80px;
}

.ha-hamburger--3dy-r .ha-hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.ha-hamburger--3dy-r .ha-hamburger-inner::before,
.ha-hamburger--3dy-r .ha-hamburger-inner::after {
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.ha-hamburger--3dy-r.ha-is-active .ha-hamburger-inner {
  background-color: transparent !important;
  transform: rotateX(180deg);
}

.ha-hamburger--3dy-r.ha-is-active .ha-hamburger-inner::before {
  transform: translate3d(0, 10px, 0) rotate(45deg);
}

.ha-hamburger--3dy-r.ha-is-active .ha-hamburger-inner::after {
  transform: translate3d(0, -10px, 0) rotate(-45deg);
}

/*
   * 3DXY
   */

.ha-hamburger--3dxy .ha-hamburger-box {
  perspective: 80px;
}

.ha-hamburger--3dxy .ha-hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.ha-hamburger--3dxy .ha-hamburger-inner::before,
.ha-hamburger--3dxy .ha-hamburger-inner::after {
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.ha-hamburger--3dxy.ha-is-active .ha-hamburger-inner {
  background-color: transparent !important;
  transform: rotateX(180deg) rotateY(180deg);
}

.ha-hamburger--3dxy.ha-is-active .ha-hamburger-inner::before {
  transform: translate3d(0, 10px, 0) rotate(45deg);
}

.ha-hamburger--3dxy.ha-is-active .ha-hamburger-inner::after {
  transform: translate3d(0, -10px, 0) rotate(-45deg);
}

/*
   * 3DXY Reverse
   */

.ha-hamburger--3dxy-r .ha-hamburger-box {
  perspective: 80px;
}

.ha-hamburger--3dxy-r .ha-hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.ha-hamburger--3dxy-r .ha-hamburger-inner::before,
.ha-hamburger--3dxy-r .ha-hamburger-inner::after {
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.ha-hamburger--3dxy-r.ha-is-active .ha-hamburger-inner {
  background-color: transparent !important;
  transform: rotateX(180deg) rotateY(180deg) rotateZ(-180deg);
}

.ha-hamburger--3dxy-r.ha-is-active .ha-hamburger-inner::before {
  transform: translate3d(0, 10px, 0) rotate(45deg);
}

.ha-hamburger--3dxy-r.ha-is-active .ha-hamburger-inner::after {
  transform: translate3d(0, -10px, 0) rotate(-45deg);
}

/*
   * Arrow
   */

.ha-hamburger--arrow.ha-is-active .ha-hamburger-inner::before {
  transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1);
}

.ha-hamburger--arrow.ha-is-active .ha-hamburger-inner::after {
  transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1);
}

/*
   * Arrow Right
   */

.ha-hamburger--arrow-r.ha-is-active .ha-hamburger-inner::before {
  transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1);
}

.ha-hamburger--arrow-r.ha-is-active .ha-hamburger-inner::after {
  transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1);
}

/*
   * Arrow Alt
   */

.ha-hamburger--arrowalt .ha-hamburger-inner::before {
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.ha-hamburger--arrowalt .ha-hamburger-inner::after {
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.ha-hamburger--arrowalt.ha-is-active .ha-hamburger-inner::before {
  top: 0;
  transform: translate3d(-8px, -10px, 0) rotate(-45deg) scale(0.7, 1);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

.ha-hamburger--arrowalt.ha-is-active .ha-hamburger-inner::after {
  bottom: 0;
  transform: translate3d(-8px, 10px, 0) rotate(45deg) scale(0.7, 1);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

/*
   * Arrow Alt Right
   */

.ha-hamburger--arrowalt-r .ha-hamburger-inner::before {
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.ha-hamburger--arrowalt-r .ha-hamburger-inner::after {
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.ha-hamburger--arrowalt-r.ha-is-active .ha-hamburger-inner::before {
  top: 0;
  transform: translate3d(8px, -10px, 0) rotate(45deg) scale(0.7, 1);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

.ha-hamburger--arrowalt-r.ha-is-active .ha-hamburger-inner::after {
  bottom: 0;
  transform: translate3d(8px, 10px, 0) rotate(-45deg) scale(0.7, 1);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

/*
   * Arrow Turn
   */

.ha-hamburger--arrowturn.ha-is-active .ha-hamburger-inner {
  transform: rotate(-180deg);
}

.ha-hamburger--arrowturn.ha-is-active .ha-hamburger-inner::before {
  transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1);
}

.ha-hamburger--arrowturn.ha-is-active .ha-hamburger-inner::after {
  transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1);
}

/*
   * Arrow Turn Right
   */

.ha-hamburger--arrowturn-r.ha-is-active .ha-hamburger-inner {
  transform: rotate(-180deg);
}

.ha-hamburger--arrowturn-r.ha-is-active .ha-hamburger-inner::before {
  transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1);
}

.ha-hamburger--arrowturn-r.ha-is-active .ha-hamburger-inner::after {
  transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1);
}

/*
   * Boring
   */

.ha-hamburger--boring .ha-hamburger-inner,
.ha-hamburger--boring .ha-hamburger-inner::before,
.ha-hamburger--boring .ha-hamburger-inner::after {
  transition-property: none;
}

.ha-hamburger--boring.ha-is-active .ha-hamburger-inner {
  transform: rotate(45deg);
}

.ha-hamburger--boring.ha-is-active .ha-hamburger-inner::before {
  top: 0;
  opacity: 0;
}

.ha-hamburger--boring.ha-is-active .ha-hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
}

/*
   * Collapse
   */

.ha-hamburger--collapse .ha-hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0.13s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.ha-hamburger--collapse .ha-hamburger-inner::after {
  top: -20px;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
}

.ha-hamburger--collapse .ha-hamburger-inner::before {
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.ha-hamburger--collapse.ha-is-active .ha-hamburger-inner {
  transform: translate3d(0, -10px, 0) rotate(-45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.ha-hamburger--collapse.ha-is-active .ha-hamburger-inner::after {
  top: 0;
  opacity: 0;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;
}

.ha-hamburger--collapse.ha-is-active .ha-hamburger-inner::before {
  top: 0;
  transform: rotate(-90deg);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
   * Collapse Reverse
   */

.ha-hamburger--collapse-r .ha-hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0.13s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.ha-hamburger--collapse-r .ha-hamburger-inner::after {
  top: -20px;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
}

.ha-hamburger--collapse-r .ha-hamburger-inner::before {
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.ha-hamburger--collapse-r.ha-is-active .ha-hamburger-inner {
  transform: translate3d(0, -10px, 0) rotate(45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.ha-hamburger--collapse-r.ha-is-active .ha-hamburger-inner::after {
  top: 0;
  opacity: 0;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;
}

.ha-hamburger--collapse-r.ha-is-active .ha-hamburger-inner::before {
  top: 0;
  transform: rotate(90deg);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
   * Elastic
   */

.ha-hamburger--elastic .ha-hamburger-inner {
  top: 2px;
  transition-duration: 0.275s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.ha-hamburger--elastic .ha-hamburger-inner::before {
  top: 10px;
  transition: opacity 0.125s 0.275s ease;
}

.ha-hamburger--elastic .ha-hamburger-inner::after {
  top: 20px;
  transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.ha-hamburger--elastic.ha-is-active .ha-hamburger-inner {
  transform: translate3d(0, 10px, 0) rotate(135deg);
  transition-delay: 0.075s;
}

.ha-hamburger--elastic.ha-is-active .ha-hamburger-inner::before {
  transition-delay: 0s;
  opacity: 0;
}

.ha-hamburger--elastic.ha-is-active .ha-hamburger-inner::after {
  transform: translate3d(0, -20px, 0) rotate(-270deg);
  transition-delay: 0.075s;
}

/*
   * Elastic Reverse
   */

.ha-hamburger--elastic-r .ha-hamburger-inner {
  top: 2px;
  transition-duration: 0.275s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.ha-hamburger--elastic-r .ha-hamburger-inner::before {
  top: 10px;
  transition: opacity 0.125s 0.275s ease;
}

.ha-hamburger--elastic-r .ha-hamburger-inner::after {
  top: 20px;
  transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.ha-hamburger--elastic-r.ha-is-active .ha-hamburger-inner {
  transform: translate3d(0, 10px, 0) rotate(-135deg);
  transition-delay: 0.075s;
}

.ha-hamburger--elastic-r.ha-is-active .ha-hamburger-inner::before {
  transition-delay: 0s;
  opacity: 0;
}

.ha-hamburger--elastic-r.ha-is-active .ha-hamburger-inner::after {
  transform: translate3d(0, -20px, 0) rotate(270deg);
  transition-delay: 0.075s;
}

/*
   * Emphatic
   */

.ha-hamburger--emphatic {
  overflow: hidden;
}

.ha-hamburger--emphatic .ha-hamburger-inner {
  transition: background-color 0.125s 0.175s ease-in;
}

.ha-hamburger--emphatic .ha-hamburger-inner::before {
  left: 0;
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in;
}

.ha-hamburger--emphatic .ha-hamburger-inner::after {
  top: 10px;
  right: 0;
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in;
}

.ha-hamburger--emphatic.ha-is-active .ha-hamburger-inner {
  transition-delay: 0s;
  transition-timing-function: ease-out;
  background-color: transparent !important;
}

.ha-hamburger--emphatic.ha-is-active .ha-hamburger-inner::before {
  left: -80px;
  top: -80px;
  transform: translate3d(80px, 80px, 0) rotate(45deg);
  transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.ha-hamburger--emphatic.ha-is-active .ha-hamburger-inner::after {
  right: -80px;
  top: -80px;
  transform: translate3d(-80px, 80px, 0) rotate(-45deg);
  transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}

/*
   * Emphatic Reverse
   */

.ha-hamburger--emphatic-r {
  overflow: hidden;
}

.ha-hamburger--emphatic-r .ha-hamburger-inner {
  transition: background-color 0.125s 0.175s ease-in;
}

.ha-hamburger--emphatic-r .ha-hamburger-inner::before {
  left: 0;
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in;
}

.ha-hamburger--emphatic-r .ha-hamburger-inner::after {
  top: 10px;
  right: 0;
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in;
}

.ha-hamburger--emphatic-r.ha-is-active .ha-hamburger-inner {
  transition-delay: 0s;
  transition-timing-function: ease-out;
  background-color: transparent !important;
}

.ha-hamburger--emphatic-r.ha-is-active .ha-hamburger-inner::before {
  left: -80px;
  top: 80px;
  transform: translate3d(80px, -80px, 0) rotate(-45deg);
  transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.ha-hamburger--emphatic-r.ha-is-active .ha-hamburger-inner::after {
  right: -80px;
  top: 80px;
  transform: translate3d(-80px, -80px, 0) rotate(45deg);
  transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}

/*
   * Minus
   */

.ha-hamburger--minus .ha-hamburger-inner::before,
.ha-hamburger--minus .ha-hamburger-inner::after {
  transition: bottom 0.08s 0s ease-out, top 0.08s 0s ease-out, opacity 0s linear;
}

.ha-hamburger--minus.ha-is-active .ha-hamburger-inner::before,
.ha-hamburger--minus.ha-is-active .ha-hamburger-inner::after {
  opacity: 0;
  transition: bottom 0.08s ease-out, top 0.08s ease-out, opacity 0s 0.08s linear;
}

.ha-hamburger--minus.ha-is-active .ha-hamburger-inner::before {
  top: 0;
}

.ha-hamburger--minus.ha-is-active .ha-hamburger-inner::after {
  bottom: 0;
}

/*
   * Slider
   */

.ha-hamburger--slider .ha-hamburger-inner {
  top: 2px;
}

.ha-hamburger--slider .ha-hamburger-inner::before {
  top: 10px;
  transition-property: transform, opacity;
  transition-timing-function: ease;
  transition-duration: 0.15s;
}

.ha-hamburger--slider .ha-hamburger-inner::after {
  top: 20px;
}

.ha-hamburger--slider.ha-is-active .ha-hamburger-inner {
  transform: translate3d(0, 10px, 0) rotate(45deg);
}

.ha-hamburger--slider.ha-is-active .ha-hamburger-inner::before {
  transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0);
  opacity: 0;
}

.ha-hamburger--slider.ha-is-active .ha-hamburger-inner::after {
  transform: translate3d(0, -20px, 0) rotate(-90deg);
}

/*
   * Slider Reverse
   */

.ha-hamburger--slider-r .ha-hamburger-inner {
  top: 2px;
}

.ha-hamburger--slider-r .ha-hamburger-inner::before {
  top: 10px;
  transition-property: transform, opacity;
  transition-timing-function: ease;
  transition-duration: 0.15s;
}

.ha-hamburger--slider-r .ha-hamburger-inner::after {
  top: 20px;
}

.ha-hamburger--slider-r.ha-is-active .ha-hamburger-inner {
  transform: translate3d(0, 10px, 0) rotate(-45deg);
}

.ha-hamburger--slider-r.ha-is-active .ha-hamburger-inner::before {
  transform: rotate(45deg) translate3d(5.71429px, -6px, 0);
  opacity: 0;
}

.ha-hamburger--slider-r.ha-is-active .ha-hamburger-inner::after {
  transform: translate3d(0, -20px, 0) rotate(90deg);
}

/*
   * Spin
   */

.ha-hamburger--spin .ha-hamburger-inner {
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.ha-hamburger--spin .ha-hamburger-inner::before {
  transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
}

.ha-hamburger--spin .ha-hamburger-inner::after {
  transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.ha-hamburger--spin.ha-is-active .ha-hamburger-inner {
  transform: rotate(225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.ha-hamburger--spin.ha-is-active .ha-hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
}

.ha-hamburger--spin.ha-is-active .ha-hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
   * Spin Reverse
   */

.ha-hamburger--spin-r .ha-hamburger-inner {
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.ha-hamburger--spin-r .ha-hamburger-inner::before {
  transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
}

.ha-hamburger--spin-r .ha-hamburger-inner::after {
  transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.ha-hamburger--spin-r.ha-is-active .ha-hamburger-inner {
  transform: rotate(-225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.ha-hamburger--spin-r.ha-is-active .ha-hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
}

.ha-hamburger--spin-r.ha-is-active .ha-hamburger-inner::after {
  bottom: 0;
  transform: rotate(90deg);
  transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
   * Spring
   */

.ha-hamburger--spring .ha-hamburger-inner {
  top: 2px;
  transition: background-color 0s 0.13s linear;
}

.ha-hamburger--spring .ha-hamburger-inner::before {
  top: 10px;
  transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.ha-hamburger--spring .ha-hamburger-inner::after {
  top: 20px;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.ha-hamburger--spring.ha-is-active .ha-hamburger-inner {
  transition-delay: 0.22s;
  background-color: transparent !important;
}

.ha-hamburger--spring.ha-is-active .ha-hamburger-inner::before {
  top: 0;
  transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: translate3d(0, 10px, 0) rotate(45deg);
}

.ha-hamburger--spring.ha-is-active .ha-hamburger-inner::after {
  top: 0;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: translate3d(0, 10px, 0) rotate(-45deg);
}

/*
   * Spring Reverse
   */

.ha-hamburger--spring-r .ha-hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.ha-hamburger--spring-r .ha-hamburger-inner::after {
  top: -20px;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0s linear;
}

.ha-hamburger--spring-r .ha-hamburger-inner::before {
  transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.ha-hamburger--spring-r.ha-is-active .ha-hamburger-inner {
  transform: translate3d(0, -10px, 0) rotate(-45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.ha-hamburger--spring-r.ha-is-active .ha-hamburger-inner::after {
  top: 0;
  opacity: 0;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0s 0.22s linear;
}

.ha-hamburger--spring-r.ha-is-active .ha-hamburger-inner::before {
  top: 0;
  transform: rotate(90deg);
  transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
   * Stand
   */

.ha-hamburger--stand .ha-hamburger-inner {
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear;
}

.ha-hamburger--stand .ha-hamburger-inner::before {
  transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.ha-hamburger--stand .ha-hamburger-inner::after {
  transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.ha-hamburger--stand.ha-is-active .ha-hamburger-inner {
  transform: rotate(90deg);
  background-color: transparent !important;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear;
}

.ha-hamburger--stand.ha-is-active .ha-hamburger-inner::before {
  top: 0;
  transform: rotate(-45deg);
  transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.ha-hamburger--stand.ha-is-active .ha-hamburger-inner::after {
  bottom: 0;
  transform: rotate(45deg);
  transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
   * Stand Reverse
   */

.ha-hamburger--stand-r .ha-hamburger-inner {
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear;
}

.ha-hamburger--stand-r .ha-hamburger-inner::before {
  transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.ha-hamburger--stand-r .ha-hamburger-inner::after {
  transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.ha-hamburger--stand-r.ha-is-active .ha-hamburger-inner {
  transform: rotate(-90deg);
  background-color: transparent !important;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear;
}

.ha-hamburger--stand-r.ha-is-active .ha-hamburger-inner::before {
  top: 0;
  transform: rotate(-45deg);
  transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.ha-hamburger--stand-r.ha-is-active .ha-hamburger-inner::after {
  bottom: 0;
  transform: rotate(45deg);
  transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
   * Squeeze
   */

.ha-hamburger--squeeze .ha-hamburger-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.ha-hamburger--squeeze .ha-hamburger-inner::before {
  transition: top 0.075s 0.12s ease, opacity 0.075s ease;
}

.ha-hamburger--squeeze .ha-hamburger-inner::after {
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.ha-hamburger--squeeze.ha-is-active .ha-hamburger-inner {
  transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.ha-hamburger--squeeze.ha-is-active .ha-hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.075s ease, opacity 0.075s 0.12s ease;
}

.ha-hamburger--squeeze.ha-is-active .ha-hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
   * Vortex
   */

.ha-hamburger--vortex .ha-hamburger-inner {
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.ha-hamburger--vortex .ha-hamburger-inner::before,
.ha-hamburger--vortex .ha-hamburger-inner::after {
  transition-duration: 0s;
  transition-delay: 0.1s;
  transition-timing-function: linear;
}

.ha-hamburger--vortex .ha-hamburger-inner::before {
  transition-property: top, opacity;
}

.ha-hamburger--vortex .ha-hamburger-inner::after {
  transition-property: bottom, transform;
}

.ha-hamburger--vortex.ha-is-active .ha-hamburger-inner {
  transform: rotate(765deg);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.ha-hamburger--vortex.ha-is-active .ha-hamburger-inner::before,
.ha-hamburger--vortex.ha-is-active .ha-hamburger-inner::after {
  transition-delay: 0s;
}

.ha-hamburger--vortex.ha-is-active .ha-hamburger-inner::before {
  top: 0;
  opacity: 0;
}

.ha-hamburger--vortex.ha-is-active .ha-hamburger-inner::after {
  bottom: 0;
  transform: rotate(90deg);
}

/*
   * Vortex Reverse
   */

.ha-hamburger--vortex-r .ha-hamburger-inner {
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.ha-hamburger--vortex-r .ha-hamburger-inner::before,
.ha-hamburger--vortex-r .ha-hamburger-inner::after {
  transition-duration: 0s;
  transition-delay: 0.1s;
  transition-timing-function: linear;
}

.ha-hamburger--vortex-r .ha-hamburger-inner::before {
  transition-property: top, opacity;
}

.ha-hamburger--vortex-r .ha-hamburger-inner::after {
  transition-property: bottom, transform;
}

.ha-hamburger--vortex-r.ha-is-active .ha-hamburger-inner {
  transform: rotate(-765deg);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.ha-hamburger--vortex-r.ha-is-active .ha-hamburger-inner::before,
.ha-hamburger--vortex-r.ha-is-active .ha-hamburger-inner::after {
  transition-delay: 0s;
}

.ha-hamburger--vortex-r.ha-is-active .ha-hamburger-inner::before {
  top: 0;
  opacity: 0;
}

.ha-hamburger--vortex-r.ha-is-active .ha-hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
}