/**
 * Content + Media — a heading, description and link beside a circular photo.
 *
 * Both columns pin to row 1: the photo follows the copy in the DOM, and without the pin the
 * auto-placer drops the copy onto a second row whenever the photo takes the first columns.
 */

/*** Module: Content + Media ***/

.module.content-media .container {
	align-items: center;
}

.module.content-media .container > .content {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	grid-column: 1 / span 7;
	grid-row: 1;
	margin-right: calc(var(--gap) * -1);
}

.module.content-media .container > .content > * + * {
	margin-top: var(--text-spacing-small);
}

.module.content-media .container > .content > .btn:not(:first-child) {
	margin-top: var(--text-spacing-medium);
}

.module.content-media .large-text,
.module.content-media .large-text p {
	font-weight: 400;
}

.module.content-media .large-text :is(strong, b) {
	font-weight: 500;
}

.module.content-media .large-text > :first-child {
	margin-top: 0;
}

.module.content-media .large-text > :last-child {
	margin-bottom: 0;
}

.module.content-media .container > .media {
	grid-column: 9 / span 4;
	grid-row: 1;
	margin-left: calc(var(--gap) * -1);
	margin-right: max(var(--container-breakout), calc(var(--gap) * -1));
}

/** Layout: image-left **/

.module.content-media.layout-image-left .container > .content {
	grid-column: 6 / span 7;
	margin-left: calc(var(--gap) * -1);
	margin-right: 0;
}

.module.content-media.layout-image-left .container > .media {
	grid-column: 1 / span 4;
	margin-left: max(var(--container-breakout), calc(var(--gap) * -1));
	margin-right: calc(var(--gap) * -1);
}

/***************************************************************************************************************************************************************************************/
/* MQ MAX-WIDTH 950 - Tablet Sizes */
/***************************************************************************************************************************************************************************************/

@media only screen and (max-width: calc(950rem / 16)) {

	.module.content-media:is(.layout-image-left, .layout-image-right) .container > .content {
		grid-column: 1 / -1;
		grid-row: 2;
		margin-left: 0;
		margin-right: 0;
	}

	.module.content-media:is(.layout-image-left, .layout-image-right) .container > .media {
		grid-column: 4 / -4;
		grid-row: 1;
		margin-left: 0;
		margin-right: 0;
	}

}

/***************************************************************************************************************************************************************************************/
/* MQ MAX-WIDTH 650 - Mobile Sizes */
/***************************************************************************************************************************************************************************************/

@media only screen and (max-width: calc(650rem / 16)) {

	.module.content-media:is(.layout-image-left, .layout-image-right) .container > .media {
		grid-column: 1 / -1;
		justify-self: start;
		width: min(100%, calc(280rem / 16));
	}

}
