<button>hover me</button>
<div class="check"></div>
* {
  margin: 0;
  box-sizing: border-box;
}

body {
    background: linear-gradient(to right, #642b73, #c6426e);
  min-height: 100vh;
}

button {
  position: fixed;
  left: 15px;
  top: 15px;
  border: solid 1px #c6426e;
  color: #c6426e;
  background: transparent;
  padding: 10px;
  font-size: 20px;
  display: inline-block;
  transition: all .3s ease;
  cursor: pointer;
}

button:hover,
button:focus {
  background-color: #c6426e;
  text-decoration: none;
  color: #642b73;
}

/* Here... */
.check {
  position: fixed;
  left: calc(50% - 30px);
  top: calc(50% + 30px);
  border: solid 30px gold;
  width: 200px;
  height: 100px;
  margin: -50px 0 0 -100px;
  border-top: none;
  border-right: none;
  transform: rotate(-45deg);
  transform-origin: top left;
  box-shadow: -5px 5px 0 0 rgba(0,0,0,.5);
}

button:hover + .check {
  animation: start 2s ease infinite both;
  /* Override default play state paused of codepen iframe */
  animation-play-state: running!important;
}

@keyframes start {
  0% {
    opacity: 0;
    width: 0;
    height: 0;
  }
  
  50% {
    opacity: 1;
    width: 0;
    height: 100px;
  }
  100% {
    width: 200px;
  }
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.