
.team_member .entry-header,
.team_member .entry-header img {
	display: block;
	margin-bottom: 0;
}
.team_member .entry-header img {
	max-width: 30rem;
}

/********************************************************************************/
/* list layout */

.team-member-list-block-list {
	.team_member {
		margin-bottom: clamp(3em, 5vw, 5em);
	}
	
	@media screen and (min-width: 48.875em) {
		.custom-s-team-member-card-wrap {
			display: flex;
			grid-gap: 2em;

			.entry-header,
			.entry-content {
				flex: 0 1 50%;
			}

			.entry-title {
				font-weight: bold;
				margin-top: 0;
				line-height: 1;
			}
		}

		/* alternate left right on wider screens */
		.team_member:nth-child(even) .custom-s-team-member-card-wrap .entry-content {
			order: -1;
		}

		/* keep image next to text if it's smaller than the column */
		.team_member:nth-child(odd) .custom-s-team-member-card-wrap .entry-header {
			display: flex;
			justify-content: flex-end;
			align-items: flex-start;
		}
	}
}

/********************************************************************************/
/* card grid layout */
.custom-s-team-member-card-wrap {
	position: relative;
	height: 100%;
	display: grid;
	grid-template-columns:  1fr;
	justify-items: stretch;

	.entry-header {
		flex: 0 1 content;
		display: block;

		& img {
			display: block;
			width: 100%;
			aspect-ratio: 1 / 1;
			object-fit: cover;
			object-position: top center;
		}
	}

	.entry-content {
		margin: 0;
		padding: 1em 1.5em;
	}

	.entry-title,
	.custom-s-team-member-creds {
		display: block;
		font-style: normal;
		font-weight: var(--custom-s--font--primary-bold, bold);
		line-height: 1.2;
		margin: .5em 0 0 0;
	}

	.custom-s-team-member-creds {
		font-size: .875em;
	}

	.custom-s-team-member-job-title {
		font-size: .875em;
		display: block;
		margin: 0;
		font-style: italic;
	}
}


/* list grid layout */
.team-member-list-block-grid {
	.team-list-grid {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
		grid-gap: 1.5em;
	}

	.custom-s-team-member-card-wrap {
		background-color: var(--custom-s--color--bg-light);
		color: var(--custom-s--color--text-dark);

		.team-read-more-wrap {
			margin-top: auto;
			text-align: right;
		}

		.team-read-more {
			display: block;
			height: 0;
			text-align: left;
			text-indent: -9999em;
			margin: auto 0 0 0;

			/* read more arrow */
			&::before {
				content: '';
				display: block;
				position: absolute;
				bottom: 1.5em;
				right: 1.5em;
				height: 1.5em;
				width: 1.5em;
				border-right: solid 2px var(--custom-s--color--secondary);
				border-bottom: solid 2px var(--custom-s--color--secondary);
				transform: rotate(-45deg);
				transition: var(--custom-s--time--trans-dur) ease;
			}

			&:active,
			&:focus,
			&:hover {
				&::before {
					right: .75em;
				}
			}

			/* cover whole card with clickable area */
			&::after {
				content: '';
				display: block;
				position: absolute;
				top: 0;
				left: 0;
				height: 100%;
				width: 100%;
				z-index: 2;
			}
		}
	}
}
