*{
  box-sizing: border-box;
}

body {
  background: ; 
  background-color: ;
  font-family: 'Montserrat', sans-serif;
  border-radius: 20px;
}

.card-1,
.card-2 {
  width: 400px;
  position: relative;
  margin: 20px auto;
  border-radius: 20px;
  overflow: hidden;
}

img {
  width: 100%;
  position: relative;
  top: 0;
  left: 0;
}

.content{
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 1;
  transform: translateY(100px);
  opacity: 0;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
  transition-delay: 0.3s;
  padding: 0 2rem;
  text-align: center;
}

h3{
  font-size: 2rem;
  color: #efa007;
  margin-bottom: .7rem;
}

h4{
  font-size: 1.3rem;
  color: #fff;
  margin-bottom: 1.5rem;
  line-height: 1.3;
}

.btn{
  text-decoration: none;
  color: #202733;
  background: #fff;
  padding: 15px 25px;
  border-radius: 31px;
  font-weight: 400;
}

.overlay {
  position: absolute;
  width: 0px;
  height: 0px;
  transform-origin: 50% 50%;
  mix-blend-mode: multiply;
  border-radius: 50%;
  transition: all 0.4s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.card-1 .red {
  width: 800px;
  height: 800px;
  background-color:topacity 0.5 ;
  left: calc(0% - 800px);
  top: calc(50% - 800px);
}

.card-1 .blue {
  width: 800px;
  height: 800px;
  background-color: #2196f3;
  left: calc(100%);
  top: calc(50% - 400px);
}

.card-2 .red {
  background-color: #f44336;
  left: calc(0%);
  top: calc(50%);
}

.card-2 .blue {
  background-color: #2196f3;
  left: calc(100%);
  top: calc(50%);
}

.card-1:hover .red,
.card-2:hover .red {
  width: 800px;
  height: 800px;
  left: calc(0% - 400px);
  top: calc(50% - 400px);
}

.card-1:hover .blue,
.card-2:hover .blue {
  width: 800px;
  height: 800px;
  left: calc(100% - 400px);
  top: calc(50% - 400px);
}

.card-1:hover .content, .card-2:hover .content{
  transform: translateY(0);
  opacity: 1;
}