/* Shine */
.shine::after {
  content: "";
  clear: both;
  display: block;
}
.shine div {
  position: relative;
  float: left;
  width: 300px;
  height: 200px;
  margin: 0 0 0 25px;
  padding: 0;
}
.shine div:first-child {
  margin-left: 0;
}

.shine div h5 {
  position: absolute;
  left: 0;
  z-index: -1;
  display: block;
  width: 300px;
  margin: 0;
  padding: 0;
  color: #444;
  font-size: 16px;
  text-decoration: none;
  text-align: center;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  opacity: 0;
  opacity: 1;
  text-transform: capitalize;
}
figure {
  width: 300px;
  height: 200px;
  margin: 0;
  padding: 0;
  background: #ffffff;
  overflow: hidden;
}
.shine figure {
  position: relative;
}
.shine figure::before {
  position: absolute;
  top: 0;
  left: -75%;
  z-index: 2;
  display: block;
  content: "";
  width: 50%;
  height: 100%;
  background: -webkit-linear-gradient(
    left,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.3) 100%
  );
  background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.3) 100%
  );
  -webkit-transform: skewX(-25deg);
  transform: skewX(-25deg);
}
.shine figure:hover::before {
  -webkit-animation: shine 3s;
  animation: shine 3s;
}
@-webkit-keyframes shine {
  100% {
    left: 125%;
  }
}
@keyframes shine {
  100% {
    left: 125%;
  }
}
