
.box {
    position:relative;
    /* width:calc(400px - 60px); */
    min-height:calc(300px - 30px);
    
    float:left;
    margin:15px;
    box-sizing:border-box;
    overflow:hidden;
    /* box-shadow:0 5px 10px rgba(0,0,0,.8); */
   box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
    
}
.box:before {
    content:'';
    position:absolute;
    top:10px;
    left:10px;
    right:10px;
    bottom:10px;
    border-top:1px solid #fff;
    border-bottom:1px solid #fff;
    box-sizing:border-box;
    transition:0.5s;
    transform: scaleX(0);
    opacity:0;
}
.box:hover:before {
    transform:scaleX(1);
    opacity:1;
}
.box:after {
    content:'';
    position:absolute;
    top:10px;
    left:10px;
    right:10px;
    bottom:10px;
    border-left:1px solid #fff;
    border-right:1px solid #fff;
    box-sizing:border-box;
    transition:0.5s;
    transform: scaleY(0);
    opacity:0;
}
.box:hover:after {
    transform:scaleY(1);
    opacity:1;
}
.box .imgBox {
    position:relative;
}
.box .imgBox img {
    width:100%;
    transition:0.5s;
}
.box:hover .imgBox img {
    opacity:.2;
    transform:scale(1.2);
}
.box .content {
    position:absolute;
    width:100%;
    top:50%;
    transform:translateY(-50%);
    z-index:2;
    padding:20px;
    box-sizing:border-box;
    text-align:center;
}
.box .content h2 {
    margin: 0 0 10px;
    padding:0;
    color:#fff;
    transition:0.5s;
    transform:translateY(-50px);
    opacity:0;
    visibility:hidden;
}
.box .content p {
    margin:0;
    padding:0;
    color:#fff;
    transform:translateY(50px);
    opacity:0;
    visibility:hidden;
    font-size: .9rem;
}
.box:hover .content h2,
.box:hover .content P {
    opacity:1;
    visibility:visible;
    transform:translateY(0px);
}