.visualisation-section {
	padding: 0 !important;
	position: relative;
	overflow: hidden;
}
.visualisation-section .section-title {
	margin-top: 35px;
}
.visualisation-section > .container {
	padding: 0 !important;
}
.visualisation-section > .container:before {
	background: none !important;
}
.visualisation-section:before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	z-index: -1;
	display: block;
	filter:progid:DXImageTransform.Microsoft.Blur(PixelRadius='10');
	background-image: url('./img/visualisierung.png');
	background-size:cover;
	width: 100%;
	height: 100%;
	-webkit-filter: blur(10px);
	-moz-filter: blur(10px);
	-o-filter: blur(10px);
	-ms-filter: blur(10px);
	filter: blur(10px);
	
	opacity: 0.7;
}
#apartment_visualisation {
	background: url('./img/visualisierung.png');
	background-repeat: no-repeat;
	background-size: contain;
	position: relative;
}
#apartment_visualisation svg {
	max-width: 100%;
	height: auto;
	z-index: 10;
	position: relative;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
	#apartment_visualisation svg {
		height: 780px;
		width: 100% !important;
	}
	.visualisation-section:before {
		opacity: 0.3;
		filter:progid:DXImageTransform.Microsoft.Blur(PixelRadius='10') !important;
	}
}
.visualisation,
.visualisation-plan-g0,
.visualisation-plan-g1,
.visualisation-plan-g2,
.visualisation-plan-g3 {
	fill: transparent;
	transition: all 0.3s;
}
.visualisation-plan-g0,
.visualisation-plan-g1,
.visualisation-plan-g2,
.visualisation-plan-g3 {
	stroke: #FEFD7D;
	stroke-width: 5px;
}
.visualisation-plan-g0,
.visualisation-plan-g1,
.visualisation-plan-g2,
.visualisation-plan-g3 {
	display: none;
}
#apartment_visualisation.hover-g0 .visualisation-plan-g0,
#apartment_visualisation.hover-g1 .visualisation-plan-g1,
#apartment_visualisation.hover-g2 .visualisation-plan-g2,
#apartment_visualisation.hover-g3 .visualisation-plan-g3 {
	display: block;
}
#apartment_visualisation:not(.hover) .visualisation,
#apartment_visualisation.hover-g0 .visualisation-plan-g0,
#apartment_visualisation.hover-g1 .visualisation-plan-g1,
#apartment_visualisation.hover-g2 .visualisation-plan-g2,
#apartment_visualisation.hover-g3 .visualisation-plan-g3 {
	cursor: pointer;
}
#apartment_visualisation:not(.hover) .visualisation:hover,
#apartment_visualisation.hover-g0 .visualisation-plan-g0:hover,
#apartment_visualisation.hover-g1 .visualisation-plan-g1:hover,
#apartment_visualisation.hover-g2 .visualisation-plan-g2:hover,
#apartment_visualisation.hover-g3 .visualisation-plan-g3:hover {
	fill: rgba(254,253,125,0.5);
}
#apartment_visualisation.hover .visualisation {
	fill: transparent;
}
#apartment_visualisation .info {
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	padding: 20px;
	z-index: 5;
}
#apartment_visualisation .info h1 {
	display: inline-block;
	padding: 0px 10px;
	text-transform: uppercase;
	color: #FFFFFF;
	background: #02204B;
	margin-bottom: 10px;
	font-size: 1em;
	margin-right: 10px;
	float: left;
	line-height: 54px;
}
#apartment_visualisation .info h2 {
	display: inline-block;
	padding: 0px 10px;
	color: #02204B;
	background: rgba(254,253,125,0.5);
	font-size: 0.8em;
	line-height: 54px;
}
#apartment_visualisation .info h2 .step2 {
	display: none;
}
#apartment_visualisation_bg_g0,
#apartment_visualisation_bg_g1,
#apartment_visualisation_bg_g2,
#apartment_visualisation_bg_g3 {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: contain !important;
	background-repeat: no-repeat !important;
	opacity: 0;
	transition: all 0.5s;
}
#apartment_visualisation_bg_g0.visible,
#apartment_visualisation_bg_g1.visible,
#apartment_visualisation_bg_g2.visible,
#apartment_visualisation_bg_g3.visible {
	opacity: 1;
}
#apartment_visualisation_bg_g0 {
	background: url('./img/visualisierung_g0_blur.png');
}
#apartment_visualisation_bg_g1 {
	background: url('./img/visualisierung_g1_blur.png');
}
#apartment_visualisation_bg_g2 {
	background: url('./img/visualisierung_g2_blur.png');
}
#apartment_visualisation_bg_g3 {
	background: url('./img/visualisierung_g3_blur.png');
}
.info-back {
	position: absolute;
	z-index: 15;
	top: 74px;
	left: 20px;
}
.visualisation-back {
	margin-top: 10px;
	font-size: 0.9em;
	cursor: pointer;
	display: inline-block;
	padding: 5px 10px;
	background: #02204B;
	color: #FFFFFF;
	z-index: 15;
	position: relative;
	display: none;
}
.visualisation-back .fa {
	margin-right: 5px;
}
.visualisation-back:hover {
	background: rgba(254,253,125,0.5);
	color: #02204B;
}
#apartment_visualisation .info-top {
	/*position: absolute;
	left: 30px;
	bottom: 30px;
	z-index: 100;*/
	position: absolute;
	z-index: 2;
	top: 120px;
	left: 20px;
}
#apartment_visualisation .info-top > div {
	padding: 10px 20px;
	color: #02204B;
	background: rgba(254,253,125,0.5);
	display: none;
	position: absolute;
	left: 0px;
	top: 10px;
	white-space: nowrap;
	font-size: 0.9em;
}
@media all and (max-width: 920px) {
	#apartment_visualisation .info h1 {
		font-size: 0.8em;
	}
	#apartment_visualisation .info h2 {
		font-size: 0.6em;
	}
}
@media all and (max-width: 880px) {
	#apartment_visualisation .info h2 {
		font-size: 0.6em;
	}
	.visualisation-back {
		font-size: 0.8em;
	}
}
@media all and (max-width: 650px) {
	.info-back, .info-top {
		font-size: 0.8em;
	}
	#apartment_visualisation .info h2 {
		line-height: inherit !important;
		padding-top: 10px;
		padding-bottom: 10px;
	}
	.info-back {
		top: 122px;
	}
	#apartment_visualisation .info-top {
		top: 162px;
	}
}
@media all and (max-width: 600px) {
	#apartment_visualisation .info h2 {
		font-size: 0.6em;
	}
}
@media all and (max-width: 550px) {
	.visualisation-section .section-title {
		margin-bottom: 0;
	}
	#apartment_visualisation {
		margin-top: 200px;
	}
	#apartment_visualisation .info {
		top: -230px;
	}
	.info-back {
		top: 30px;
	}
	#apartment_visualisation .info-top {
		top: 70px;
	}
}
@media all and (max-width: 400px) {
	#apartment_visualisation .info {
		padding: 15px;
		font-size: 0.8em;
		top: -185px;
	}
	#apartment_visualisation {
		margin-top: 160px;
	}
	.info-back {
		top: 15px;
		left: 15px;
	}
	#apartment_visualisation .info-top {
		top: 55px;
		left: 15px;
	}
	#apartment_visualisation .info h2 {
		font-size: 0.9em;
	}
}