h1 {
  font-family: "Indie Flower";
}

p {
  text-indent: 30px;
}

h1 {
  font-weight: 200;
}

body {
  margin: 0px;
}

.container {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

.heart {
  position: absolute;
  left: 50%;
  top: 50%;
  text-align: center;
  transform: translate(-50%, -50%);
  transiton: transform 2s;
  z-index: 1;
}

.heart > img {
  width: 50px;
  height: auto;
}

.message {
  padding: 20px;
  font-family: "Nanum Pen Script";
  background-color: #eee;
  width: 300px;
  height: 30%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
  overflow: hidden;
  animation-name: openmsg;
  animation-duration: 2s;
  animation-timing-function: linear;
  animation-play-state: paused;
  animation-fill-mode: forwards;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
  border-radius: 5px;
}

.heart > img:hover {
  animation-name: beat;
  animation-duration: 2s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-play-state: running;
}

#messageState {
}

@keyframes beat {
  0% {
    width: 50px;
  }
  25% {
    width: 58px;
  }
  30% {
    width: 50px;
  }
  50% {
    width: 45px;
  }
  60% {
    width: 50px;
  }
  75% {
    width: 58px;
  }
  100% {
    width: 50px;
  }
}

@keyframes openmsg {
  0% {
    height: 0px;
    padding: 0px 20px;
  }
  100% {
    height: 30%;
    padding: 20px 20px;
  }
}

@keyframes heartMove {
  0% {
    top: 50%;
  }
  100% {
    top: 65%;
    transform: translate(-50%, 0);
  }
}

.openNor {
  animation-direction: normal;
  animation-play-state: running;
}

.closeNor {
  animation-direction: reverse;
  animation-play-state: running;
}

.no-anim {
  animation: none;
}

.closed {
  height: 0px;
  padding: 0px 20px;
}

.bottom {
  bottom: 5px;
}

.openHer {
  animation-name: heartMove;
  animation-duration: 2s;
  animation-timing-function: linear;
  animation-play-state: running;
  animation-fill-mode: forwards;
}

.closeHer {
  animation-name: heartMove;
  animation-duration: 2s;
  animation-timing-function: linear;
  animation-play-state: running;
  animation-direction: reverse;
  animation-fill-mode: forwards;
}

.beating > img {
  animation-name: beat;
  animation-duration: 2s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-play-state: running;
}

.openedHer {
  top: 65%;
  transform: translate(-50%, 0);
}
