a.callout {
  display: block;
  background-size: cover;
  background-position: center;
}
a.callout h2 {
  color: white;
}
a.callout .square {
  padding-top: 100%;
  position: relative;
}
a.callout .square div {
  position: absolute;
  text-align: center;
  color: white;
  overflow: hidden;
  padding: 1em 1em 0;
}
a.callout .square .label {
  opacity: 1;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: -webkit-linear-gradient(rgba(102, 102, 102, 0), rgba(102, 102, 102, 0.85) 25px);
  background-image: linear-gradient(rgba(102, 102, 102, 0), rgba(102, 102, 102, 0.85) 25px);
  -webkit-transition: opacity .25s;
  transition: opacity .25s;
  padding-top: 25px;
  text-transform: uppercase;
}
a.callout .square .content {
  opacity: 0;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(61, 88, 143, 0.75);
  -webkit-transition: opacity .25s;
  transition: opacity .25s;
  line-height: 1.4;
}
a.callout .square .content .read-more {
  border-top: 1px solid white;
  padding-top: 1em;
  text-transform: uppercase;
}
a.callout:hover .square .label {
  opacity: 0;
}
a.callout:hover .square .content {
  opacity: 1;
}