.menu {
  -webkit-filter: url("#shadowed-goo");
          filter: url("#shadowed-goo");
}

.menu-item, .menu-open-button {
  background: #64c7cf;
  border-radius: 100%;
  width: 70px;
  height: 70px;
  position: absolute;
  top: 0px;
  left: 0px;
  color: #173842;
  text-align: center;
  line-height: 70px;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-transition: -webkit-transform ease-out 200ms;
          transition: -webkit-transform ease-out 200ms;
          transition: transform ease-out 200ms;
          transition: transform ease-out 200ms, -webkit-transform ease-out 200ms;
}

.menu-open {
  display: none;
}

.hamburger {
  width: 25px;
  height: 3px;
  background: white;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -12.5px;
  margin-top: -1.5px;
  -webkit-transition: -webkit-transform 200ms;
          transition: -webkit-transform 200ms;
          transition: transform 200ms;
          transition: transform 200ms, -webkit-transform 200ms;
}

.hamburger-1 {
  -webkit-transform: translate3d(0, -8px, 0);
          transform: translate3d(0, -8px, 0);
}
.hamburger-2 {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
.hamburger-3 {
  -webkit-transform: translate3d(0, 8px, 0);
          transform: translate3d(0, 8px, 0);
}

.menu-open:checked + .menu-open-button .hamburger-1 {
  -webkit-transform: translate3d(0, 0, 0) rotate(45deg);
          transform: translate3d(0, 0, 0) rotate(45deg);
}
.menu-open:checked + .menu-open-button .hamburger-2 {
  -webkit-transform: translate3d(0, 0, 0) scale(0.1, 1);
          transform: translate3d(0, 0, 0) scale(0.1, 1);
}
.menu-open:checked + .menu-open-button .hamburger-3 {
  -webkit-transform: translate3d(0, 0, 0) rotate(-45deg);
          transform: translate3d(0, 0, 0) rotate(-45deg);
}

.menu {
  position: absolute;
  width: 75px;
  height: 75px;
  box-sizing: border-box;
  font-size: 20px;
  text-align: left;
}

.menu-item:hover {
  background: #cbeaed;
}

.menu-item:nth-child(3) {
  -webkit-transition-duration: 180ms;
          transition-duration: 180ms;
}
.menu-item:nth-child(4) {
  -webkit-transition-duration: 180ms;
          transition-duration: 180ms;
}
.menu-item:nth-child(5) {
  -webkit-transition-duration: 180ms;
          transition-duration: 180ms;
}
.menu-item:nth-child(6) {
  -webkit-transition-duration: 180ms;
          transition-duration: 180ms;
}
.menu-item:nth-child(7) {
  -webkit-transition-duration: 180ms;
          transition-duration: 180ms;
}
.menu-item:nth-child(8) {
  -webkit-transition-duration: 180ms;
          transition-duration: 180ms;
}

.menu-open-button {
  z-index: 2004;
  cursor: pointer;
  -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
          transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  -webkit-transition-duration: 400ms;
          transition-duration: 400ms;
}

.menu-item {
  z-index: 2003;
}

.menu-open:checked + .menu-open-button {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transition-duration: 200ms;
          transition-duration: 200ms;
  -webkit-transform: scale(0.7, 0.7) translate3d(0, 0, 0);
          transform: scale(0.7, 0.7) translate3d(0, 0, 0);
}

.menu-open:checked + .menu-open-button:hover {
  -webkit-transform: scale(0.9, 0.9) translate3d(0, 0, 0);
          transform: scale(0.9, 0.9) translate3d(0, 0, 0);
}

.menu-open-button:hover {
  -webkit-transform: scale(1.2, 1.2) translate3d(0, 0, 0);
          transform: scale(1.2, 1.2) translate3d(0, 0, 0);
}

.menu-open:checked ~ .menu-item {
  -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
          transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}
.menu-open:checked ~ .menu-item:nth-child(3) {
  -webkit-transition-duration: 170ms;
          transition-duration: 170ms;
  -webkit-transform: translate3d(0, 70px, 0);
          transform: translate3d(0, 70px, 0);
}
.menu-open:checked ~ .menu-item:nth-child(3):hover {
  -webkit-transition-duration: 170ms;
          transition-duration: 170ms;
  -webkit-transform: scale(1.1, 1.1) translate3d(0, 66px, 0);
          transform: scale(1.1, 1.1) translate3d(0, 66px, 0);
}
.menu-open:checked ~ .menu-item:nth-child(4) {
  -webkit-transition-duration: 250ms;
          transition-duration: 250ms;
  -webkit-transform: translate3d(0, 151px, 0);
          transform: translate3d(0, 151px, 0);
}
.menu-open:checked ~ .menu-item:nth-child(4):hover {
  -webkit-transition-duration: 250ms;
          transition-duration: 250ms;
  -webkit-transform: scale(1.1, 1.1) translate3d(0, 137px, 0);
          transform: scale(1.1, 1.1) translate3d(0, 137px, 0);
}
.menu-open:checked ~ .menu-item:nth-child(5) {
  -webkit-transition-duration: 330ms;
          transition-duration: 330ms;
  -webkit-transform: translate3d(0, 232px, 0);
          transform: translate3d(0, 232px, 0);
}
.menu-open:checked ~ .menu-item:nth-child(5):hover {
  -webkit-transition-duration: 330ms;
          transition-duration: 330ms;
  -webkit-transform: scale(1.1, 1.1) translate3d(0, 212px, 0);
          transform: scale(1.1, 1.1) translate3d(0, 212px, 0);
}
.menu-open:checked ~ .menu-item:nth-child(6) {
  -webkit-transition-duration: 410ms;
          transition-duration: 410ms;
  -webkit-transform: translate3d(0, 313px, 0);
          transform: translate3d(0, 313px, 0);
}
.menu-open:checked ~ .menu-item:nth-child(6):hover {
  -webkit-transition-duration: 410ms;
          transition-duration: 410ms;
  -webkit-transform: scale(1.1, 1.1) translate3d(0, 285px, 0);
          transform: scale(1.1, 1.1) translate3d(0, 285px, 0);
}
.menu-open:checked ~ .menu-item:nth-child(7) {
  -webkit-transition-duration: 410ms;
          transition-duration: 410ms;
  -webkit-transform: translate3d(0, 394px, 0);
          transform: translate3d(0, 394px, 0);
}
.menu-open:checked ~ .menu-item:nth-child(7):hover {
  -webkit-transition-duration: 410ms;
          transition-duration: 410ms;
  -webkit-transform: scale(1.1, 1.1) translate3d(0, 359px, 0);
          transform: scale(1.1, 1.1) translate3d(0, 359px, 0);
}
.menu-open:checked ~ .menu-item:nth-child(8) {
  -webkit-transition-duration: 410ms;
          transition-duration: 410ms;
  -webkit-transform: translate3d(0, 475px, 0);
          transform: translate3d(0, 475px, 0);
}
.menu-open:checked ~ .menu-item:nth-child(8):hover {
  -webkit-transition-duration: 410ms;
          transition-duration: 410ms;
  -webkit-transform: scale(1.1, 1.1) translate3d(0, 430px, 0);
          transform: scale(1.1, 1.1) translate3d(0, 430px, 0);
}

