
/* ############################################################
	300 - TESTIMONIALS-ÜBERSICHT
############################################################ */

/* Modulbox */
.mdl300-modul-box {
	position: relative;
	width: 100%;
}


/* Foto */
.mdl300-modul-box .picture-wrapper {
	position: relative;
	display: block;
	width: 100%;
	height: 0;
	padding-top: 69%;
	border-radius: 20px;
	overflow: hidden;
}
	.mdl300-modul-box .picture-wrapper img {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}


 /* Text-Boxen */
 .mdl300-modul-box .data-wrapper {
 	display: inline-flex;
	align-items: center;
	margin-top: auto;
}
.mdl300-modul-box .content-wrapper {
 	margin-top: 15px;
	margin-bottom: 17px;
}
@media screen and (min-width: 768px) {
	.mdl300-modul-box .content-wrapper {
		margin-top: 19px;
		margin-bottom: 23px;
	}
}
@media screen and (min-width: 1400px) {
	.mdl300-modul-box .content-wrapper {
		margin-top: 22px;
		margin-bottom: 26px;
	}
}


/* Button: weiterlesen */
.mdl300-modul-box .btn {
	display: inline-block;
	position: relative;
	padding: 6px 14px 7px;
	border-radius: 10px;
	background-color: var(--main-color-2);
	font-size: 0.875rem; /* 14px */
	color: var(--main-color-white);
}
@media screen and (min-width: 768px) {
	.mdl300-modul-box .btn {
		font-size: 1rem; /* 16px */
	}
}
@media screen and (min-width: 992px) {
	.mdl300-modul-box .btn {
		-o-transition: background 300ms var(--cubic-bezier);
		-ms-transition: background 300ms var(--cubic-bezier);
		-moz-transition: background 300ms var(--cubic-bezier);
		-webkit-transition: background 300ms var(--cubic-bezier);
		transition: background 300ms var(--cubic-bezier);
	}
	.mdl300-modul-box .flex-item:hover .btn {
		background-color: var(--main-color-1);
	}
}
@media screen and (min-width: 1400px) {
	.mdl300-modul-box .btn {
		padding: 7px 16px 8px;
		font-size: 1.125rem; /* 18px */
	}
}


/* ############################################################
	RASTER
############################################################ */

/* Rastersystem */
.mdl300-modul-box > .flex-container {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: left;
	width: 100%;
}
	.mdl300-modul-box > .flex-container > .flex-item {
		position: relative;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		flex-wrap: wrap;
		margin: 37px var(--gap) 0 0;
		padding: 0;
		color: var(--main-color-2);
	}
@media screen and (max-width: 767.98px) {
	/* 1/1  - 1 columns per row */
	.mdl300-modul-box > .flex-container > .flex-item {
		width: 100%;
		margin-right: 0;
	}
	/* remove top margin from first row */
	.mdl300-modul-box > .flex-container > .flex-item:nth-child(-n+1) {
		margin-top: 0;
	}
}
@media screen and (min-width: 768px) {
	/* 1/2  - 2 columns per row */
	.mdl300-modul-box > .flex-container > .flex-item {
		width: calc(1/2*100% - (1 - 1/2)*var(--gap));
		margin-top: 50px;
	}
	/* align last row columns to the left */
	.mdl300-modul-box > .flex-container > .flex-item:nth-child(2n),
	.mdl300-modul-box > .flex-container > .flex-item:last-child {
		margin-right: 0;
	}
	/* remove top margin from first row */
	.mdl300-modul-box > .flex-container > .flex-item:nth-child(-n+2) {
		margin-top: 0;
	}
}
@media screen and (min-width: 1400px) {
	.mdl300-modul-box > .flex-container > .flex-item {
		margin-top: 70px;
	}
}

