.sky { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; }
body, html { text-align: center; background-color: black; margin: 0 auto; width: 100%; overflow: hidden; user-select: none; }
        
.menu {
  filter: url("#shadowed-goo");
  -moz-filter: url("#shadowed-goo");
}

.menu-item, .menu-open-button {
    border-radius: 100%;
    width: 40px;
    height: 40px;
    margin-left: -20px;
    position: absolute;
    color: white;
    text-align: center;
    line-height: 40px;
    transform: translate3d(0, 0, 0);
    transition: transform ease-out 200ms;
}

.circle {
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    transform: scale(0);
    transition: all 450ms ease 0ms;
    z-index: -1;
}

.menu-open {
  display: none;
}

/*
.menu-open:checked + .menu-open-button > img {
  -webkit-animation: pulse 5s infinite;
          animation: pulse 5s infinite;
}

@-webkit-keyframes pulse {
  0% {
    transform: scale(1.0);
  }
  50% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1.0);
  }
}

@keyframes pulse {
  0% {
    transform: scale(1.0);
  }
  50% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1.0);
  }
}
*/

.menu {
  position: absolute;
  bottom: -60px;
  left: 50%;
  width: 100px;
  height: 120px;
  box-sizing: border-box;
  font-size: 20px;
  text-align: left;
}

.menu-item {
    background: #e6767a;
    opacity: 0;
    bottom: 80px;
}

.menu-item:hover {
  background: white;
  color: #e6767a;
}
.menu-item:nth-child(3) {
  transition-duration: 70ms;
}
.menu-item:nth-child(4) {
  transition-duration: 130ms;
}
.menu-item:nth-child(5) {
  transition-duration: 190ms;
}

.menu-open-button {
  z-index: 2;
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition-duration: 400ms;
  transform: scale(1.1, 1.1) translate3d(0, 0, 0);
  cursor: pointer;
}

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

label.menu-open-button:hover > div.circle {
    background: #e6767a;
    transform: scale(1);
    transition: all 450ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
}

.menu-open:checked + .menu-open-button {
  transition-timing-function: linear;
  transition-duration: 200ms;
  transform: scale(2.0, 2.0) translate3d(0, -6px, 0);
  background: #e6767a;
  z-index:22;
}

.menu-open:checked ~ .menu-item {
  transition-timing-function: cubic-bezier(0.57, 0, 0.29, 1.21);
  opacity: 1.0;
    width: 60px;
    height: 60px;
    margin-left: -30px;
    line-height: 60px;
    z-index:20;
}
.menu-open:checked ~ .menu-item:nth-child(4) {
  transition-duration: 240ms;
  transform: translate3d(-70.53039px, -9.38434px, 0);
}
.menu-open:checked ~ .menu-item:nth-child(5) {
  transition-duration: 320ms;
  transform: translate3d(-0.07485px, -70.53039px, 0);
}
.menu-open:checked ~ .menu-item:nth-child(6) {
  transition-duration: 400ms;
  transform: translate3d(70.53039px, -9.53329px, 0);
}

.kofi-tip {
    position: absolute;
    right: 0.5rem;
    bottom: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
