.grid {
  padding: 5px 0px 0px 5px;
  max-width: 1300px;
  margin: 0 auto;
  list-style: none;
  text-align: center;
}

.grid li {
  display: inline-block;
  width: 440px;
  margin: 0;
  padding: 20px;
  text-align: left;
  position: relative;
}

.grid figure {
  margin: 0;
  position: relative;
}

.grid figure img {
  max-width: 70%;
  display: block;
  position: relative;
}

.grid figcaption {
  position: absolute;
  top: 0;
  left: 0;
  padding: 20px;
  background: #2c3f52;
  color: #ed4e6e;
}

.grid figcaption h3 {
  margin: 0;
  padding: 0;
  color: #fff;
}

/*
.grid figcaption span:before {
  content: 'by ';
}
*/

.grid figcaption a {
  text-align: center;
  padding: 5px 10px;
  border-radius: 2px;
  display: inline-block;
  background: #ed4e6e;
  color: #fff;
}

.cs-style-4 li {
  perspective: 1700px;
  perspective-origin: 0 50%;
}

.cs-style-4 figure {
  transform-style: preserve-3d;
}

.cs-style-4 figure > div {
  overflow: hidden;
}

.cs-style-4 figure img {
  transition: transform 0.4s;
}

.cs-style-4 figure:hover img,
.cs-style-4 figure.cs-hover img {
  transform: translateX(25%);
}

.cs-style-4 figcaption {
  height: 100%;
  width: 50%;
  opacity: 0;
  backface-visibility: hidden;
  transform-origin: 0 0;
  transform: rotateY(-90deg);
  transition: transform 0.4s, opacity 0.1s 0.3s;
}

.cs-style-4 figure:hover figcaption,
.cs-style-4 figure.cs-hover figcaption {
  opacity: 1;
  transform: rotateY(0deg);
  transition: transform 0.4s, opacity 0.1s;
}

.cs-style-4 figcaption a {
  position: absolute;
  bottom: 20px;
  right: 20px;
}