#reveal {
  width: 80px;
  height: 80px;
  background-color: #25aae1;
  border-radius: 50%;
  margin-left: 0;
  text-align: center;
  cursor: pointer;
  transition: height 0.3s ease-in-out, width 0.3s ease-in-out,
    border-radius 0.3s ease-in-out, margin 0.3s ease-in-out;
}

#reveal > img {
  width: 50px;
  margin: 15px 0;
}

.reveal-content {
  width: 240px;
  height: 240px;
  padding: 10px;
  background-color: #fff;
  opacity: 0;
  text-align: center;
  pointer-events: none;
  transition: opacity 0.01s ease-in-out;
  margin: 5px;
}

.reveal-content img {
  width: 120px;
  opacity: 0;
  transition: width 0.01s ease-in-out, opacity 0.01s ease-in-out;
}

.reveal-content p {
  margin: 10px 0;
  color: #2d2d2d;
  margin-top: -20px;
  opacity: 0;
  transition: margin 0.01s ease-in-out, opacity 0.01s ease-in-out;
}

#reveal:hover {
  width: 250px;
  height: 333px;
  border-radius: 5px;
  margin-left: -50px;
}

#reveal:hover .reveal-content {
  opacity: 1;
  pointer-events: all;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  transition: opacity 0.3s ease-in-out 0.3s;
}

#reveal:hover .reveal-content img {
  width: 175px;
  opacity: 1;
  transition: width 0.3s ease-in-out 0.4s, opacity 0.3s ease-in-out 0.4s;
}

#reveal:hover .reveal-content p {
  margin-top: 10px;
  opacity: 1;
  transition: margin 0.3s ease-in-out 0.6s, opacity 0.3s ease-in-out 0.6s;
}
