
/* ############################################################
	220 - EINFACHES PERSONEN-TOOL
############################################################ */

/* Liste */
.mdl220-list {
	position: relative;
	display: block;
	width: 100%;
}


/* Foto */
.mdl220-foto-box {
	position: relative;
	overflow: hidden;
	width: calc(100% + 40px);
	margin-left: -20px;
}
.mdl220-foto-box::before {
	content: "";
	display: block;
	width: 100%;
	padding-bottom: calc(100% / (1 / 1));
}
	.mdl220-foto-box > img {
		display: inline-block;
	}
	.mdl220-foto-box > .mdl220-image {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		-ms-object-fit: cover;
		-moz-object-fit: cover;
		-webkit-object-fit: cover;
		object-fit: cover;
		-webkit-transform-origin: 50% 50%;
		transform-origin: 50% 50%;
	}
@media (min-width: 760px) {
	.mdl220-foto-box {
		width: 100%;
		margin-left: 0;
	}
}


/* Personendaten */
.mdl220-content-box {
	padding-top: 36px;
}
	.mdl220-content-box > h3 {
		font-weight: 400;
		font-size: 1.375rem; /* 22px */
		line-height: 1.5rem; /* 24px */
	}
	.mdl220-content-box > h3 + p.mdl220-funktion {
		margin-top: 10px;
	}
	.mdl220-content-box > h3 + a.mdl220-mail,
	.mdl220-content-box > p.mdl220-funktion + a.mdl220-mail {
		margin-top: 32px;
	}
@media (min-width: 760px) {
	.mdl220-content-box {
		padding-left: 20px;
		padding-right: 10px;
	}
}
@media (min-width: 1020px) {
	.mdl220-content-box {
		padding-left: 28px;
		padding-right: 10px;
	}
}
@media (min-width: 1440px) {
	.mdl220-content-box > h3 {
		font-size: 1.75rem; /* 28px */
		line-height: 1.875rem; /* 30px */
	}
}


/* ############################################################
	RASTER
############################################################ */

/* Variablen setzen */
:root {
	--gap: 10px;
}
@media (min-width: 760px) {
	:root {
		--gap: 50px;
	}
}

/* Rastersystem */
.mdl220-list > .flex-container {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: left;
	width: 100%;
}
	.mdl220-list > .flex-container > .flex-item {
		margin: 80px var(--gap) 0 0;
	}
@media (max-width: 759.98px) {
	/* 1/1  - 1 columns per row */
	.mdl220-list > .flex-container > .flex-item {
		width: 100%;
		margin-right: 0;
	}
	/* remove top margin from first row */
	.mdl220-list > .flex-container > .flex-item:nth-child(-n+1) {
		margin-top: 0;
	}
}
@media (min-width: 760px) and (max-width: 1019.98px) {
	/* 1/2  - 2 columns per row */
	.mdl220-list > .flex-container > .flex-item {
		width: calc(1/2*100% - (1 - 1/2)*var(--gap));
	}
	/* align last row columns to the left */
	.mdl220-list > .flex-container > .flex-item:nth-child(2n),
	.mdl220-list > .flex-container > .flex-item:last-child {
		margin-right: 0;
	}
	/* remove top margin from first row */
	.flex-container > .flex-item:nth-child(-n+2) {
		margin-top: 0;
	}
}
@media (min-width: 1020px) and (max-width: 1439.98px) {
	/* 1/3  - 3 columns per row */
	.mdl220-list > .flex-container > .flex-item {
		width: calc(1/3*100% - (1 - 1/3)*var(--gap));
		margin-top: 95px;
	}
	/* align last row columns to the left */
	.mdl220-list > .flex-container > .flex-item:nth-child(3n),
	.mdl220-list > .flex-container > .flex-item:last-child {
		margin-right: 0;
	}
	/* remove top margin from first row */
	.mdl220-list > .flex-container > .flex-item:nth-child(-n+3) {
		margin-top: 0;
	}
}
@media (min-width: 1440px) {
	/* 1/4  - 4 columns per row */
	.mdl220-list > .flex-container > .flex-item {
		width: calc(1/4*100% - (1 - 1/4)*var(--gap));
		margin-top: 95px;
	}
	/* align last row columns to the left */
	.mdl220-list > .flex-container > .flex-item:nth-child(4n),
	.mdl220-list > .flex-container > .flex-item:last-child {
		margin-right: 0;
	}
	/* remove top margin from first row */
	.mdl220-list > .flex-container > .flex-item:nth-child(-n+4) {
		margin-top: 0;
	}
}

