.hphl {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
	margin: .5em 0 0;
	padding: 0;
}

.hphl li {
	flex: 0 1 350px;
	background: #f7f7f5;
	padding: 0 0 1em;
	margin: .5em;
	/*
	max-width: 350px;
	flex: 0 1 350px;
	max-width: 350px;
	*/
}

.hphl img {
	margin-bottom: 1em;
	min-width: 100%;
}

.hphl h2,
.hphl p {
	margin: 0;
	text-align: center;
}

.hphl p {
	font-size: .9em;
	line-height: 1.6;
	padding: 0 1em;
}

.hphl h2 {
	font-size: 1.2em;
	font-weight: 400;
	padding: 0;
}

/*
.hphl h2 a:not(.noarrow):after {
	color: #999;
	content: "\25B8";
	font-family: Helvetica Neue, Calibri Light, Roboto, sans-serif;
	margin-left: .25em;
}
*/

.hphl p a {
	display: block;
	text-decoration: underline;
}

.hp {
	align-content: center;
	align-items: flex-start;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-around;
	margin: 2em 0 1em;
	padding: 0 1em;
	position: relative;
}

.hp h2 {
	display: inline-block;
	font-size: 1.6em;
	margin: 0;
	text-transform: uppercase;
}

.hp p {
	line-height: 1.8;
	margin: 0 0 1em;
}

.hpbtns {
	min-width: 90%;
}

.hpbtns .m-sub {
	margin: 1em auto;
}

.overlay {
	background-size: cover;
	background-repeat: no-repeat;
	display: flex;
	height: 0;
	padding-bottom: 56.25%;
	position: relative;
}

@media screen and (min-width: 50em) {

	.hphl li {
		/*
		flex-basis: 31%;
		*/
		width: 350px;
	}

	.hpbtns {
		min-width: 350px;
	}

	.wlcm {
		flex: 1;
		max-width: 710px;
		padding: 0 0 0 1em;
	}

	.hphl p span {
		display: block;
	}

}

@media screen and (min-width: 50em) and (max-width: 62.499em) {

	.hp h2 {
		font-size: 1.9em;
	}

}

@media screen and (min-width: 62.5em) {

	.hp h2 {
		font-size: 2.6em;
	}

}
