.media-object > div:not(.videowrap) {
	margin: 1em 42px;
}

@media only screen and (max-width: 859px) {
	.media-object .videowrap {
		width: 100%;
		margin: 0;
		height: 56.25vw;
	}

	.media-object .videowrap iframe {
		width: 100%;
		height: 56.25vw;
	}
}


@media only screen and (min-width: 860px) {
	.media-object,
	.media-object.size-windowwidth {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;

		margin: 60px 0;

	}

	.media-object.layout-overlaid {
		display: block;
	}

	.media-object > div:not(.videowrap) {
		-webkit-box-flex: 1;
		-webkit-flex: 1;
		-ms-flex: 1;
		flex: 1;

		margin: 1em 12% 1em 12%;
		/* use top and bottom to balance contained margins */

		width: 35%;


		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		flex-direction: column;
		display: flex;

		align-items: flex-start;

	}

	.media-object.size-contentwidth.right > div:not(.videowrap) {
		margin: 1em 12% 1em 0;
	}
	.media-object.size-contentwidth.left > div:not(.videowrap) {
		margin: 1em 0 1em 12%;
	}

	.media-object img, .media-object .videowrap {
		width: 50%;
		margin: 0;
	}
	.media-object.quarter img, .media-object.quarter .videowrap {
		width: 25%;
	}
	.media-object.small img {
		width: 25%;
	}
	.media-object.medium img {
		width: 33%;
	}
	.media-object.large img {
		width: 50%;
	}
	.media-object.layout-overlaid img, .media-object.layout-overlaid .videowrap {
		width: 100%;
	}

	.media-object.layout-overlaid > div:not(.videowrap) {
		justify-content: center;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		background: rgba(0,0,0,.5);
		margin: 0;
		width: 100%;
		color: white;
		align-items: center;
		box-sizing: border-box;
		padding: 0 20px;
	}

	.media-object.layout-overlaid > div:not(.videowrap) * {
		color: white;
		border-color: white;
		width: auto;
		text-align: center;

		font-size: 3.2em;



	}

	.media-object.layout-overlaid > div:not(.videowrap) a.button {
		font-size: 15px;
	}

	.media-object.layout-overlaid > div:not(.videowrap) h2,
	.media-object.layout-overlaid > div:not(.videowrap) h3 {
		font-size: 4.8em;
		margin: 0 auto;
	}


	.media-object .videowrap iframe {
		width: 100%;
	}

	.media-object.right img, .media-object.right .videowrap {
		-webkit-box-ordinal-group: 2;
		-webkit-order: 2;
		-ms-flex-order: 2;
		order: 2;
	}

	.media-object.right > div:not(.videowrap) {
		margin: 1em 12% 1em 12%;
	}

	.media-object h3 {
		font-size: 2.5em;
		margin-top: 0.4em; /* balance top as flex seems to contain the margins */
		margin-bottom: 0.5em;
	}

	.media-object * + h3 {

		margin-top: 1em;
	}

	.media-object > div:not(.videowrap) > :first-child {
		margin-top: 0;
	}
	.media-object > div:not(.videowrap) > :last-child {
		margin-bottom: 0;
	}
}

.media-object.size-windowwidth {

	width: 100vw;

	position: relative;
	left: 50%;
	transform: translateX(-50%);


	margin-left: 0 !important;
	max-width: 3000px !important;
}

.media-object a {
    border-radius: 22px;
    padding: 9px 15px 10px;
    border: solid #4d4d4d 1px;
    text-decoration: none;
    color: #4d4d4d;
    font-size: 15px;
    transition: all .3s;
    white-space: nowrap;
    display: inline-block;
    margin: 2em 0;
}

.no-touch .media-object a.button:hover {
    background-color: #4d4d4d;
    text-decoration: none;
    color: #fff;
    cursor: pointer;
    border: solid #4d4d4d 1px;
}
