.photo-item {
    width: 25%;
    padding: 10px 5px 0 5px;
}

.photo-item .photo-pic {
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    background-size: cover;
}

.photo-item .photo-title {
    margin-top: 5px;
    font-size:  1em;
    line-height: 1.42em;
    height: 2.85em;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

@media screen and (max-width: 768px) {
    .photo-item {
        width: 100%;
    }
}

@media screen and (min-width: 768px) and (max-width: 992px) {
    .photo-item {
        width: calc(100% / 2);
    }
}

@media screen and (min-width: 992px) and (max-width: 1200px) {
    .photo-item {
        width: calc(100% / 3);
    }
}

@media screen and (min-width: 1200px) {

}
