/**************************************************
		Content
 **************************************************

	00. General
	01. Collection process
	02. Collection app
	03. Collection feature: consumers and clients


/**************************************************
	00. General
 **************************************************/

.fade-in > * {
	opacity: 0;
	transform: translateX(6rem);
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.fade-in > *.has-faded-in {
	opacity: 1;
	transform: translateX(0);
}





/**************************************************
	01. Collection process
 **************************************************/

.module-collectionprocess {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

.module-collectionprocess .module-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-direction: column;
	overflow: hidden;
	width: 100%;
	margin: 3rem 0 3.5rem;
}

.module-collectionprocess .collection-item {
	width: 18rem;
}

.module-collectionprocess .collection-item-bubble {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 5.5rem;
	height: 5.5rem;
	margin: 0 auto 1.5rem;
	border-radius: 50%;
	background-color: var(--gray13);
}

.module-collectionprocess .collection-item-title {
	text-align: center;
	font-weight: 500;
}

.module-collectionprocess .collection-item-arrow {
	position: relative;
	width: 22px;
	height: 20px;
	margin: 3rem 0;
	transform: translateX(6rem) rotate(90deg);
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url("data:image/svg+xml,%3Csvg width='19' height='18' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='%23000' stroke-width='3' fill='none' fill-rule='evenodd'%3E%3Cpath d='M12 17l5-7.84L12 1M17 9H0'/%3E%3C/g%3E%3C/svg%3E");
}

.module-collectionprocess .collection-item-arrow.has-faded-in,
.module-collectionprocess .no-js .collection-item-arrow {
	transform: translateX(0) rotate(90deg);
}

@media (min-width: 800px) {
	.module-collectionprocess .module-inner {
		align-items: flex-start;
		flex-direction: row;
	}

	.module-collectionprocess .collection-item-arrow {
		margin: 0;
		top: 2rem;
		transform: translateX(6rem);
	}

	.module-collectionprocess .collection-item-arrow.has-faded-in,
	.module-collectionprocess .no-js .collection-item-arrow {
		transform: translateX(0);
	}
}



/**************************************************
	02. Collection app
 **************************************************/

.module-collectionapp {
	padding: 2.8rem 0 8rem;
}

.is-consumers .module-collectionapp {
	padding-top: 0;
}

.module-collectionapp .module-inner {
	display: flex;
}

.module-collectionapp .left {
	width: 100%;
	padding: 5rem 2.5rem;
	background-color: var(--gray20);
}

.is-consumers .module-collectionapp .left {
	background-color: var(--green3);
}

.module-collectionapp .module-top {
	display: flex;
	justify-content: center;
	margin-bottom: -2rem;
}

.module-collectionapp .collection-item {
	width: 135px;
}

.module-collectionapp .collection-item-arrow {
	display: none;
}

.module-collectionapp .app-section {
	display: flex;
	justify-content: center;
	flex-direction: column;
	text-align: center;	
}

.module-collectionapp .app-section-video {
	display: flex;
	justify-content: center;
}

.module-collectionapp .app-section-video-desktop {
	position: relative;
	width: calc(100% + 5rem);
	left: -2.5rem;
}

.module-collectionapp video {
	position: static;
	margin: 4rem auto 2rem;
}

.module-collectionapp .app-section-video-mobile video {
	width: auto;
	height: 157.5%;
	max-height: calc(65 * var(--vh));
}

.module-collectionapp .app-section-video-desktop video {
	width: 100%;
	height: 57.6%;
}

.module-collectionapp .app-section-title {
	font-size: 39px;
	line-height: 47px;
}

.module-collectionapp .app-section-description {
	margin-top: 3rem;
	hyphens: none;
}

.app-section-icons {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	margin: 3.5rem 0 0 -0.9rem;
	width: calc(100% + 1.8rem);
}

.app-section-icons img {
	width: auto;
	height: 1.8rem;
	margin: 0 0.5rem 1.4rem;
}

.app-section-icons .logo-sepa { height: 1.2rem; }
.app-section-icons .logo-sofort { height: 1.6rem; }
.app-section-icons .logo-applepay { height: 1.3rem; }
.app-section-icons .logo-googlepay { height: 1.3rem; }

#app-section-5 .app-section-icons * { transition: opacity 1.0s ease; }
#app-section-5 .app-section-icons .logo-ratenzahlung { transition: transform 1.0s ease; transform-origin: center center; }
#app-section-5.active .app-section-icons * {  opacity: 0.3; }
#app-section-5.active .app-section-icons .logo-ratenzahlung { transform: scale(1.7); opacity: 1; }

.app-section-list {
	display: none;
}

.module-collectionapp .right {
	display: none;
}

@media (min-width: 950px) {
	.js .module-collectionapp .left {
		width: 50%;
		padding: 0 4rem 0 2.5rem;
		background-color: var(--white);
	}

	.js .module-collectionapp .module-top {
		justify-content: flex-start;
		margin-bottom: 6rem;
	}

	.js .module-collectionapp .collection-item-arrow {
		display: block;
	}

	.js .module-collectionapp .app-section {
		height: calc(150 * var(--vh) - 3.8125rem);
		text-align: left;
	}

	.js .module-collectionapp .app-section-video {
		display: none;
	}

	.js .module-collectionapp .app-section-title {
		font-size: 53px;
	}

	.app-section-icons {
		justify-content: space-between;
	}

	.js .app-section-list {
		display: block;
		margin-top: 3.5rem;
		counter-reset: dimensionsCounter;
	}

	.js .app-section-list li {
		position: relative;
		display: flex;
		white-space: pre;
		width: 100%;
		max-width: 300px;
		line-height: 2.27;
	}

	.js .app-section-list li:before {
		content: counter(dimensionsCounter);
		counter-increment: dimensionsCounter;
		margin-right: 1rem;
	}

	.js .app-section.active .app-section-list li:nth-child(1):after,
	.js .app-section.active .app-section-list li:nth-child(5):after {
		content: '';
		position: relative;
		left: 2rem;
		top: 1.2em;

		display: block;
		width: 100%;
		height: 2px;
		background-color: var(--black);
		transform: scaleX(0);
		transform-origin: 0 0;

		animation: sectionListBar 13.0s ease infinite;
	}

	.js .app-section.active .app-section-list li:nth-child(1):after { animation-delay: 0s; }
	.js .app-section.active .app-section-list li:nth-child(5):after { animation-delay: 6.5s; }

	@keyframes sectionListBar {
	  	  0% { transform: scaleX(0); }
	  	  4% { transform: scaleX(1); }
		 48% { transform: scaleX(1); }
		 52% { transform: scaleX(0); }
		100% { transform: scaleX(0); }
	}

	.js .module-collectionapp .right {
		position: relative;
		display: block;
		width: 50%;
		padding: 0 2.5rem;
		background-color: var(--lightgray);
	}

	/* Webkit handles colors differently */

	.js .is-webkit .module-collectionapp .right {
		background-color: var(--gray20);
	}

	.js .is-consumers .module-collectionapp .right {
		background-color: var(--green2);
	}

	.js .is-consumers.is-webkit .module-collectionapp .right {
		background-color: var(--green3);
	}

	.js .module-collectionapp .video-container {
		position: absolute;
		width: 100%;
		height: 500px;
		left: 50%;
		top: calc(50 * var(--vh) - 1.90625rem);
		margin: 0;
		transform: translate(-50%, -50%);
	}

	.js .module-collectionapp .video-container.is-fixed {
		position: fixed;
		width: calc(50% - 5rem);
		transform: translate(0, -50%);
		left: calc(50% + 2.5rem);
		top: calc(50% + 1.4rem);
	}

	.js .module-collectionapp .video-container.is-at-bottom {
		bottom: calc(-14 * var(--vh));
		top: auto;
	}

	.js .module-collectionapp video {
		position: absolute;
		width: 100%;
		height: 100%;
		transition: opacity 0.1s ease;
		margin: 0;
	}

	.js .module-collectionapp video.switch-video {
		opacity: 0;
	}

	.js .module-collectionapp .video-frame {
		position: absolute;
		left: 50%;
		top: 50%;
		width: 57.6666%;
		height: 0;
		padding-bottom: 104.106074%;
		border-radius: 26px;

		background-color: var(--white);
		box-shadow: 2px 2px 30px rgba(0, 0, 0, 0.07);

		z-index: -1;

		transform: translate(-50%, -50%);
		
		transition: width 0.1s ease, padding-bottom 0.1s ease, border-radius 0.1s ease, box-shadow 0.1s ease;
		will-change: width padding-bottom, border-radius, box-shadow;
	}

	.js .module-collectionapp .video-container.mobile .video-frame {
		top: 50%;
		width: 228px;
		padding-bottom: 407px;
		border-radius: 26px;
		box-shadow: 2px 2px 30px rgba(0, 0, 0, 0.07);
	}

	.js .module-collectionapp .video-container.desktop .video-frame {
		top: 50%;
		width: 89.9%;
		padding-bottom: 56.1818182%;
		border-radius: 16px;
		box-shadow: 2px 2px 30px rgba(0, 0, 0, 0.07);
	}
}

@media (min-width: 1280px) {
	.js .module-collectionapp .left {
		padding: 0 6rem 0 7.5rem;
	}

	.js .module-collectionapp .video-container,
	.js .module-collectionapp .video-container.is-fixed {
		width: 560px;
	}

	.js .module-collectionapp .video-container.is-fixed {
		left: calc(75 * var(--vw));
		transform: translate(-50%, -50%);
	}

	.js .module-collectionapp .video-container.mobile .video-frame {
		width: 227px;
		padding-bottom: 408px;
	}

	.js .module-collectionapp .video-container.desktop .video-frame {
		width: 504px;
		padding-bottom: 314px;
	}
}


@media (min-width: 1441px) {
	.js .module-collectionapp .left {
		padding-left: calc(50% - 720px + 7.5rem);
	}

	.js .module-collectionapp .right {
		padding-right: calc(50% - 720px + 2.5rem);
	}
}





/**************************************************
	03. Collection feature: consumers and clients
 **************************************************/

.module-collectionfeatures .collection-feature-item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	margin: 2.8rem 0;
	width: fit-content;
	max-width: 100%;
}

.module-collectionfeatures .collection-feature-item:last-child {
	margin-bottom: 0;
}

.module-collectionfeatures .collection-feature-items:first-child .collection-feature-item:first-child {
	margin-top: 0;
}

.module-collectionfeatures .collection-feature-item:nth-child(even) {
	flex-direction: row-reverse;
}

.module-collectionfeatures .collection-feature-disclaimer {
	margin: 12rem 0  5.3125rem;
	width: fit-content;
}

.module-collectionfeatures .collection-feature-disclaimer-bubble {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 5.5rem;
	height: 5.5rem;
	margin: 0 0 1rem;
	border-radius: 50%;
	background-color: var(--gray13);
}

.module-collectionfeatures .collection-feature-disclaimer-bubble img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.module-collectionfeatures .collection-feature-disclaimer-title {
	font-weight: 500;
	text-align: center;
}

.module-collectionfeatures .collection-feature-info {
	width: 100%;
}

.module-collectionfeatures .collection-feature-info h3 {
	margin-bottom: 2.5rem;
}

.module-collectionfeatures .collection-feature-info img {
	margin-top: 2rem;
	max-width: 100%;
	height: auto;
}

.module-collectionfeatures .collection-feature-list {
	margin: 1.5rem 0 0;
	word-break: break-all;
	line-height: 30px;
}

.module-collectionfeatures .collection-feature-list span {
	display: inline-flex;
}

.module-collectionfeatures .collection-feature-list span:not(:last-child):after {
	content: '•';
	margin: 0 0.3em;
}

.module-collectionfeatures .collection-feature-icons {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.875rem 2.1875rem;
	margin: 3.5rem 0 0 0;
	width: 100%;
}

.module-collectionfeatures .collection-feature-icons img {
	margin-top: 0;
	max-width: 100px;
}

.module-collectionfeatures .collection-feature-img {
	width: 100%;
	margin-top: 2rem;
}

.module-collectionfeatures .collection-feature-img img {
	width: 100%;
	height: auto;
}

@media (min-width: 800px) {
	.module-collectionfeatures .collection-feature-item {
		flex-wrap: nowrap;
		justify-content: space-between;
		margin: 5.3125rem 0 2.8rem;
	}

	.module-collectionfeatures .collection-feature-info {
		width: calc(50% - 2.5rem);
	}

	.module-collectionfeatures .collection-feature-info h3 {
		font-size: 3.3125rem;
	}

	.module-collectionfeatures .collection-feature-icons {
		margin: 3.5rem 0 0 -0.6rem;
		width: calc(100% + 0.6rem);
	}

	.module-collectionfeatures .collection-feature-img {
		width: calc(50% - 0.7rem);
		margin-top: 0;
	}

	.module-collectionfeatures .collection-feature-img img {
		max-width: 100%;
	}
}





