.resp-menu{
  font-size: 40px;
  position: relative;
  width: 1em;
  height: .65em;
}
.resp-menu__button{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1em;
  cursor: pointer;
}
.resp-menu__button__line{
  display: block;
  width: 100%;
  /* box-shadow: 0 .02em .2em 0 rgba(0,0,0,0.3); */
  border-radius: .1em;
  height: .1em;
  background: #000;
  transition: all .3s;
  position: relative;
}

.resp-menu__button__line--middle,
.resp-menu__button__line--bottom{
  margin-top: .175em;
}

.resp-menu__button--not-active .resp-menu__button__line--top{
  animation: ease .7s top-2 forwards;
}
.resp-menu__button--active .resp-menu__button__line--top{
  animation: ease .7s top forwards;
}

.resp-menu__button--not-active .resp-menu__button__line--middle{
  animation: ease .7s scaled-2 forwards;
}
.resp-menu__button--active .resp-menu__button__line--middle{
  animation: ease .7s scaled forwards;
}

.resp-menu__button--not-active .resp-menu__button__line--bottom{
  animation: ease .7s bottom-2 forwards;
}
.resp-menu__button--active .resp-menu__button__line--bottom{
  animation: ease .7s bottom forwards;
}

@keyframes top {
  0% {
    top: 0;
    transform: rotate(0);
  }
  50% {
    top: .275em;
    transform: rotate(0);
  }
  100% {
    top: .275em;
    transform: rotate(45deg);
  }
}

@keyframes top-2 {
  0% {
    top: .275em;
    transform: rotate(45deg);
  }
  50% {
    top: .275em;
    transform: rotate(0deg);
  }
  100% {
    top: 0;
    transform: rotate(0deg);
  }
}

@keyframes bottom {
  0% {
    bottom: 0;
    transform: rotate(0);
  }
  50% {
    bottom: .275em;
    transform: rotate(0);
  }
  100% {
    bottom: .275em;
    transform: rotate(135deg);
  }
}

@keyframes bottom-2 {
  0% {
    bottom: .275em;
    transform: rotate(135deg);
  }
  50% {
    bottom: .275em;
    transform: rotate(0);
  }
  100% {
    bottom: 0;
    transform: rotate(0);
  }
}

@keyframes scaled {
  50% {
    transform: scale(0);
  }
  100% {
    transform: scale(0);
  }
}

@keyframes scaled-2 {
  0% {
    transform: scale(0);
  }
  50% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
