@import url("https://fonts.googleapis.com/css?family=Roboto:300,900");
html,
body {
  background: #ffffff;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
html *,
body * {
  box-sizing: border-box;
}

.cards {
  width: calc(100% - 2em);
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 1fr 1fr 1fr;
  grid-gap: 1em;
  grid-template-areas: "a" "b" "c" "d";
  width: 100%;
}

.card {
  width: 100%;
  position: relative;
  transition: all 0.25s ease;
  cursor: pointer;
  font-family: "Roboto", sans-serif;
  font-weight: 300;
}
.card:last-child {
  margin-bottom: 0;
}
.card:before {
  height: 0;
  content: "";
  display: block;
  padding-bottom: 57.36%;
}
.card.content:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 70%;
  content: "";
  
}
.card:nth-child(1) {
  grid-area: a;
}
.card:nth-child(2) {
  grid-area: b;
}
.card:nth-child(3) {
  grid-area: c;
}
.card:nth-child(4) {
  grid-area: d;
}
.card-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.card-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.card-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: fill;
     object-fit: fill;
}
.card-label {
  position: absolute;
  top: 3.50rem;
  left: 0.15rem;
  background: #000000;
  text-transform: uppercase;
  font-weight: 300;
  font-size: 2.5em;
  color: white;
  padding: 0.5em;
}
.card-title {
  position: absolute;
  left: 30em;
  bottom: -0.5em;
  color: #000000;
  z-index: 5;
  font-size: 2.1em;
}
.card.form {
  position: relative;
}
.card.form:before {
  
}
.card.form:after {
  position: absolute;
  top: 0.5em;
  left: 0.5em;
  width: calc(100% - 1em);
  height: calc(100% - 1em);
  content: "";
  background: #ffffff;
}
.card.form .form-title {
  position: absolute;
  top: 1rem;
  left: 1rem;
  font-size: 7vw;
  font-weight: 900;
  z-index: 5;

}
.card.form .form-title:before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  content: "Sign Up";
  opacity: 0.5;
  filter: blur(10px);
  transition: all 0.25s ease;
  z-index: 2;
}
.card:nth-child(2) .card-label {
  background: #f5074a;
}
.card:nth-child(3) .card-label {
  background: #1098ad;
}
.card:nth-child(4) .card-label {
  background: #f6ff00;
}