
.applicationarea {
	position: relative;
}

.applicationarea-header {
	position: absolute;
	bottom: 2rem;
	left: 2rem;
	max-width: 80%;
	padding: 0 1rem;
	color: var(--acotheme-color);
	background: #fff;
	z-index: 10;
}

.applicationarea-header--withlink {
	padding: 0;
}
.applicationarea-header--withlink .header {
	margin: 0;
}

.applicationarea-header--withlink a {
	display: block;
	position: relative;
	padding: 0.5em 1em;
	border-right: 1.5em solid var(--bs-primary);
}
.applicationarea-header--withlink a::before {
	position: absolute;
	font-family: aco;
	font-style: normal;
	font-variant: normal;
	font-weight: 400;
	display: block;
	content: "\e605";
	font-size: 1em;
	color: #fff;
	right: -1em;
	line-height: 1em;
	top: 50%;
	margin-top: -0.5em;
}

.applicationarea-detailscontainer {
	margin-top: 1em;
	position: relative;
	visibility: hidden;
}
.applicationarea-detailscontainer.active {
	visibility: visible;
}

.applicationarea-detailscontainer button {
	background: none;
	border: 0;
}

.applicationarea-detailscontainer-point {
	text-align: center;
	display: none;
}

.applicationarea-detailscontainer-point.active {
	display: block;
}

.applicationarea-animcontainer {
	position: relative;
	font-size: 14px;
}


.acoAnim_btn_outer,
.applicationarea-animwrapper:not(.mobile)
.acoAnim_btn.selected .acoAnim_btn_inner {
	background-color: var(--bs-primary);
}

.applicationarea-animwrapper {
	width: 100%;
	position: relative;
	left: 0;
	right: 0;
	margin: 0;
	margin: auto;
	padding: 0;
	overflow: hidden;
}

.applicationarea-imagecontainer {
	position: relative;
	transition-duration: 1s;
	transform-origin: 50% 50%;
}

.applicationarea-imagecontainer figure {
	max-width: unset;
}

.applicationarea-animwrapper .applicationarea-imagecontainer figure {
	height: 100%;
}

.applicationarea-animwrapper.loaded .applicationarea-imagecontainer {
	-webkit-transform: scale(1.05);
	transform: scale(1.05);
	transform-origin: 50% 50%;
}


.acoAnim_img {
	width: 100%;
	height: auto;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	padding: 0;
	display: block;
	opacity: 0;
	transition: opacity 0.8s ease-in-out;
}

.acoAnim_img img {
	width: 100%;
	height: auto;
	display: block;
}

.acoAnim_img.active {
	opacity: 1;
	z-index: 5;
}

.acoAnim_img_start {
	opacity: 1;
	position: relative;
}

.applicationarea-interactionlayer {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	z-index: 10;
	overflow: hidden;
}

.mobile .applicationarea-interactionlayer {
	pointer-events: none;
}

.applicationarea-animwrapper:not(.mobile) .acoAnim_btn {
	-webkit-transform: scale(0.1);
	transform: scale(0.1);
	opacity: 0;
}

@-webkit-keyframes acoAnim_popInAnim {
	0% {
		-webkit-transform: scale(0.1);
		opacity: 0;
	}
	50% {
		-webkit-transform: scale(1.5);
		opacity: 1;
	}
	100% {
		-webkit-transform: scale(1);
		opacity: 1;
	}
}

@keyframes acoAnim_popInAnim {
	0% {
		transform: scale(0.1);
		opacity: 0;
	}
	50% {
		transform: scale(1.5);
		opacity: 1;
	}
	100% {
		transform: scale(1);
		opacity: 1;
	}
}

.acoAnim_btn {
	position: absolute;
	width: 2.5vw;
	min-width: 2rem;
	height: 2.5vw;
	min-height: 2rem;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
}

.applicationarea-animwrapper.loaded:not(.mobile) .acoAnim_btn {
	-webkit-animation: acoAnim_popInAnim 0.5s ease-in-out 0.6s forwards 1;
	animation: acoAnim_popInAnim 0.5s ease-in-out 0.6s forwards 1;
}

.acoAnim_btn_inner, .acoAnim_btn_outer {
	position: absolute;
	display: block;
	width: 50%;
	height: 50%;
	border-radius: 50%;
	pointer-events: none;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}

.acoAnim_btn_inner {
	background-color: white;
}

.acoAnim_btn_outer {
	display: flex;
	justify-content: center;
	align-items: center;
}

.mobile .acoAnim_btn_outer, .mobile .acoAnim_interactiveArea {
	display: none;
}

.acoAnim_interactiveArea {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	border-radius: 50%;
}

.acoAnim_btn.active .acoAnim_btn_inner {
	width: 60%;
	height: 60%;
}

.acoAnim_btn.active .acoAnim_btn_outer {
	width: 60%;
	height: 60%;
}

.acoAnim_btn_inner, .acoAnim_btn_outer {
	-webkit-transition-duration: 0.2s;
	transition-duration: 0.2s;
	box-sizing: border-box;
}

.applicationarea-animwrapper:not(.mobile) .acoAnim_btn.selected .acoAnim_btn_inner {
	width: 180%;
	height: 180%;
	left: -40%;
	opacity: 0.5;
	-webkit-animation: acoAnim_selectedAnim 1s infinite ease-in-out;
	animation: acoAnim_selectedAnim 1s infinite ease-in-out;
}

@-webkit-keyframes acoAnim_selectedAnim {
	0% {
		-webkit-transform: scale(1)
	}
	50% {
		-webkit-transform: scale(1.2)
	}
	100% {
		-webkit-transform: scale(1)
	}
}

@keyframes acoAnim_selectedAnim {
	0% {
		transform: scale(1)
	}
	50% {
		transform: scale(1.2)
	}
	100% {
		transform: scale(1)
	}
}

.applicationarea-animwrapper:not(.mobile) .acoAnim_btn.selected .acoAnim_btn_outer {
	width: 30%;
	height: 30%;
}


@media only screen and (min-width: 1400px) {
	.acoAnim_btn {
		width: 48px;
		height: 48px;
	}
}

.acoAnim_imgAnim, .acoAnim_imgAnim img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}



.applicationarea-preloader {
	background-color: var(--aco-button-background);
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 999;
	-webkit-transition-duration: 0s;
	transition-duration: 0s;
	opacity: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}

.mobile .applicationarea-preloader {
	height: 100vw;
}

.applicationarea-animwrapper.loaded .applicationarea-preloader {
	-webkit-transition-duration: 0.8s;
	transition-duration: 0.8s;
	opacity: 0;
	pointer-events: none;
}

.acoAnim_loadingIndicator {
	position: absolute;
	width: 10vw;
	max-width: 10%;
	border: 5px solid var(--bs-primary);
	border-radius: 50%;
	border-right-color: transparent;
	-webkit-animation: acoAnim_loadingAnim 2s infinite linear;
	animation: acoAnim_loadingAnim 2s infinite linear;
}

.mobile .acoAnim_loadingIndicator {
	border-width: 1vw;
}

@-webkit-keyframes acoAnim_loadingAnim {
	0% {
		-webkit-transform: rotate(0deg)
	}
	100% {
		-webkit-transform: rotate(360deg)
	}
}

@keyframes acoAnim_loadingAnim {
	0% {
		transform: rotate(0deg)
	}
	100% {
		transform: rotate(360deg)
	}
}

.acoAnim_loadingIndicator:after {
	content: "";
	display: block;
	padding-bottom: 100%;
}

.applicationarea-animwrapper.mobile {
	height: 100vw;
	overflow: visible;
}

.applicationarea-animwrapper.mobile.lineBreak {
	padding-bottom: 68px;
}

.mobile .applicationarea-imagecontainerwrapper {
	width: 100%;
	height: 100vw;
	overflow: hidden;
	left: 0;
	top: 0;
	position: absolute;
}



.mobile .acoAnim_img {
	height: 100%;
}

.mobile .acoAnim_img_start {
	width: auto;
	height: 100vw;
}

.mobile .acoAnim_img img {
	width: auto;
	height: 100%;
	display: block;
}

.applicationarea-animwrapper.mobile.loaded .applicationarea-imagecontainer {
	left: 0;
	margin-top: 0;
}

.mobile .acoAnim_interactiveArea {
	position: absolute;
	width: 400%;
	height: 400%;
	top: -150%;
	left: -150%;
	width: 400%;
	height: 400%;
	top: -150%;
	left: -150%;
	border-radius: 50%;
}

.applicationarea-dotscontainer {
	display: none;
}

.mobile .applicationarea-dotscontainer {
	position: absolute;
	width: 70%;
	height: 5vw;
	top: 5%;
	left: 0;
	right: 0;
	margin: auto;
	display: flex;
	justify-content: center;
	align-items: center;
}

.acoAnim_dot {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 55px;
	height: 4px;
	height: 100%;
	margin: 0 5px;
	pointer-events: all;
	cursor: pointer;
	z-index: 50;
}



.acoAnim_dotElem {
	background-color: var(--aco-button-background);
	width: 25px;
	height: 4px;
}
.acoAnim_dot.active .acoAnim_dotElem {
	background-color: var(--bs-primary);
}


.applicationarea-animwrapper.mobile .acoAnim_btn {
	pointer-events: none;
}

.applicationarea-animwrapper.mobile .acoAnim_btn.active {
	pointer-events: all;
}

.applicationarea-animwrapper.mobile .acoAnim_btn {
	display: none;
}

.applicationarea-animwrapper.loaded.mobile .acoAnim_btn.active {
	-webkit-transition-delay: 0.5s;
	transition-delay: 0.5s;
	left: 0%;
	opacity: 1;
}


.applicationarea-animwrapper.mobile.resizing .acoAnim_btn {
	-webkit-transition-duration: 0s !important;
	transition-duration: 0s !important;
	-webkit-transition-delay: 0s !important;
	transition-delay: 0s !important;
}

.applicationarea-animwrapper:not(.loaded) .acoAnim_hidden {
	display: none;
}

.applicationarea-animwrapper:not(.mobile) .applicationarea-swipecontainer {
	display: none;
}

.applicationarea-swipecontainer {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	pointer-events: all;
	touch-action: pan-y;
	user-select: none;
}

.acoAnim_btn .acoAnim_btn_outer {
	-webkit-animation: acoAnim_buttonBlinkAnim 2s ease-in-out forwards infinite;
	animation: acoAnim_buttonBlinkAnim 2s ease-in-out forwards infinite;
}

@-webkit-keyframes acoAnim_buttonBlinkAnim {
	0% {
		transform: scale(1);
	}
	40% {
		transform: scale(1.2);
	}
	80% {
		transform: scale(1);
	}
	100% {
		transform: scale(1);
	}
}

@keyframes acoAnim_buttonBlinkAnim {
	0% {
		transform: scale(1);
	}
	40% {
		transform: scale(1.2);
	}
	80% {
		transform: scale(1);
	}
	100% {
		transform: scale(1);
	}
}

.applicationarea-interactionlayer, .acoAnim_btn, .acoAnim_btn a {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.applicationarea-interactionlayer, .applicationarea-dotscontainer {
	-webkit-tap-highlight-color: transparent;
}

