.image {
  opacity: 1;
  display: block;
  width: 100%;
  height: 50%;
  transition: .5s ease;
  backface-visibility: hidden;
  border-radius:20%;
}

.middle {
  transition: .5s ease;
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  text-align: center;
  width:50%;
  padding: 3%;
 
}

.container:hover .image {
  opacity: 0.3;
}

.container:hover .middle {
  opacity: 1;
  border-radius:20px;
}

.text {
  background-color: rgba(0,0,0,0.8);
  color: white;
  font-size: 14px;
  padding: 5px 5px;
}