.button-row * {
	box-sizing: border-box;
}
.button-row .button-flex {
	display: flex;
	flex-wrap: wrap;
	margin: -10px 0 0 0;
} 
    /* add a corresponding positive top margin to all flex items (all direct children of the flex container) */
.button-row .button-flex > * {
    margin-top: 10px;
}

.button-row .button-flex .button{
	flex: 1 0;
	margin: 5px;
	position:relative;
	overflow: hidden;
	border-radius: 0px;
	height: auto;
	max-height: 100%;
}
.button-row .button-flex .rounded {
	border-radius: 15px;
}
.button-row .button-flex .round {
	border-radius: 50%;
}
.button-row .button-flex .button:before {
    content:'';
    float:left;
	display: block;
    padding-top:100%;
}

.button-row .button-flex .button .button-content {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	width: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 50% 50%;
	position:relative;
    -webkit-transition: all .5s;
    -moz-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;	
}

.button-row .button-flex .button.zoom:hover .button-content  {
    -ms-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
}

.button-row .button-flex .button .button-content p {
	font-size: 3vw;
	font-size: 130%;
	color: #fff;
	/* text-shadow: 2px 2px 3px #000; */
}


.button-row .button-flex .button .button-link {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1;
}

/* colors */

.blue {	background-color: blue !important; }
.red {	background-color: red !important; }