.mx_photo_album {
    display: grid;
    overflow: hidden;
    grid-template-columns: repeat(4, 1fr);
    grid-column-gap: 10px;
    grid-row-gap: 10px;
	width: 100%;
	clear: both;
}

.mx_photo_album_subalbum {
	border: 1px #DDD solid;
	display: table;
	padding: 5px;
	float: left;
	margin: 0 10px 10px 0;
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
}

.mx_photo_album_subalbum a {
	display: inline-block;
	width: 100%;
	height: 100%;
	float: left;
}

.mx_photo_album_subalbum img {
	float: left;
	clear: both;
}

.mx_photo_album_subalbum span {
	float: left;
	clear: both;
	width: 100%;
	line-height: 1em;
	margin: 7px 0 2px;
	display: inline-block;
	text-align: center;
	overflow: hidden;
	height: 1em;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.mx_photo_album_image {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #FFFFFF;
    padding: 15px;
    border-radius: 10px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.12);
    margin: 10px;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.mx_photo_album_image:hover {
    box-shadow: 0 10px 28px rgba(0,0,0,0.18);
    transform: translateY(-2px);
}


.mx_photo_album_image img {
	max-width:100%;
	height:auto;
	position: relative;
}

@media screen and (max-width: 860px) {
	
	.mx_photo_album {
		grid-template-columns: repeat(3, 1fr);
	}

} /* end mediaquery */

@media screen and (max-width: 550px) {
	
	.mx_photo_album {
		grid-template-columns: repeat(2, 1fr);
	}

} /* end mediaquery */