.ws-callouts {
  display: grid;
  grid-gap: 30px;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  margin-bottom: 30px;
}
.ws-callouts > a {
  display: block;
  background-color: white;
  text-decoration: none;
  color: inherit;
  -webkit-box-shadow: 0 0 30px hsla(0, 0%, 0%, 0.05);
          box-shadow: 0 0 30px hsla(0, 0%, 0%, 0.05);
  border: 1px solid hsla(0, 0%, 0%, 0.05);
}
.ws-callouts > a .image {
  -webkit-box-shadow: 0 0 3em hsla(0, 0%, 0%, 0.3) inset;
          box-shadow: 0 0 3em hsla(0, 0%, 0%, 0.3) inset;
  padding-top: 56.25%;
  background-size: cover;
  background-position: center;
}
.ws-callouts > a .text {
  padding: 1em;
}
.ws-callouts > a .text h2 {
  font-size: 1.2em;
  text-align: center;
}
.ws-callouts > a .text p {
  font-size: 0.9em;
  line-height: 1.5;
  margin: 0;
}
.ws-callouts > a:hover {
  text-decoration: none;
}
.ws-callouts > a:hover .image {
  -webkit-box-shadow: none;
          box-shadow: none;
}
.ws-callouts > a:hover .image::before {
  background-color: transparent;
}