.hover_icon {
    position: relative;
    display: block;
}

.hover_icon:before {
    font-size: 3rem;
    color: #ffffff;
    text-shadow: -4px 3px 0px rgba(0, 0, 0, 0.2);
    cursor: pointer;
    position: absolute;
    z-index: 10;
    left: 50%;
    top: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    opacity: 0;
    filter: alpha(opacity=0);
    margin-top: 100px;
    -webkit-transition: all ease .3s;
    -moz-transition: all ease .3s;
    -ms-transition: all ease .3s;
    -o-transition: all ease .3s;
    transition: all ease .3s;
}

.hover_icon:hover:before {
    opacity: 1;
    filter: alpha(opacity=100);
    margin-top: 0;
}

.hover_icon:after {
    content: ' ';
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: url("images/magnifier.png") no-repeat center rgba(24, 24, 24, 0.3);
    _background-color: rgba(0, 0, 0, 0.3);
    opacity: 0;
    -webkit-transition: opacity ease .3s;
    -moz-transition: opacity ease .3s;
    -ms-transition: opacity ease .3s;
    -o-transition: opacity ease .3s;
    transition: opacity ease .3s;
}

.hover_icon:hover:after {
    opacity: 1;
}


/* Mansonary Grid */

.grid {
    background: #EEE;
    max-width: 1200px;
}


/* clearfix */

.grid:after {
    content: '';
    display: block;
    clear: both;
}


/* ---- grid-item ---- */

.grid-item {
    width: 160px;
    height: 120px;
    float: left;
    background: #D26;
    border: 2px solid #333;
    border-color: hsla(0, 0%, 0%, 0.5);
    border-radius: 5px;
}

.grid-item--width2 {
    width: 320px;
}

.grid-item--width3 {
    width: 480px;
}

.grid-item--width4 {
    width: 640px;
}

.grid-item--height2 {
    height: 200px;
}

.grid-item--height3 {
    height: 260px;
}

.grid-item--height4 {
    height: 360px;
}