@font-face {
    font-family: 'xxx';
    src: url('../fonts/roboto-bold.woff2') format('woff2'),
         url('../fonts/roboto-bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;

}

@font-face {
    font-family: 'xxx';
    src: url('../fonts/roboto-regular.woff2') format('woff2'),
         url('../fonts/roboto-regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;

}

@font-face {
    font-family: 'xxx';
    src: url('../fonts/roboto-light.woff2') format('woff2'),
         url('../fonts/roboto-light.woff') format('woff');
    font-weight: 300;
    font-style: normal;

}

@font-face {
    font-family: 'xxx';
    src: url('../fonts/roboto-thin.woff2') format('woff2'),
         url('../fonts/roboto-thin.woff') format('woff');
    font-weight: 100;
    font-style: normal;

}

* {
	padding:0;
	margin:0;
	font-family:'xxx', arial;
	font-weight:400;
}
a {
	text-decoration:none;
}



/* navigation */
.navigation {
	position:fixed;
	top:0;
	left:0;
	height:100px;
	width:100%;
	background:#fff;
	z-index:100;
	transition:all .15s ease;
	-webkit-transition:all .15s ease;

	-webkit-box-shadow: 0px -28px 25px 25px rgba(0,0,0,.2);
	box-shadow: 0px -28px 25px 25px rgba(0,0,0,.2);
}

.navigation__contact,
.navigation__trigger {
	display: none;
}

.navigation__inner {
	margin:0 auto;
	width: 1400px;
	max-width: 100%;
}

.navigation__line {
	width:100%;
	position:absolute;
	left:0;
	top:0;
	height:4px;
	background:#e2e2e2;
	z-index:5;
}

.navigation .logo {
	float:left;
	width:190px;
	height:190px;
	margin:15px 15px 0 0;
	text-align: center;
	transition:all .15s ease;
	-webkit-transition:all .15s ease;
}
.navigation .logo img {
	width:100%;
	transition:all .15s ease;
	-webkit-transition:all .15s ease;
}

.navigation ul {
	list-style-type:none;
	float:left;
	background:url(../img/nav_line.jpg) no-repeat right top;
	position:relative;
	z-index:10;
}
.navigation ul li {
	float:left;
	overflow: hidden;
	height:100px;
	transition:all .15s ease;
	-webkit-transition:all .15s ease;
}
.navigation ul li a {
	font-weight:700;
	height:100%;
	text-transform:uppercase;
	padding:36px 50px 0;
	letter-spacing: .1em;
	display:block;
	color:#646466;
	background:url(../img/nav_line.jpg) no-repeat left top;
	border-top:solid 4px #e2e2e2;
	transition:all .15s ease;
	-webkit-transition:all .15s ease;
}
.navigation ul li a:hover {
	border-top:solid 4px #ad1c21;
}

/* scrolled navigation */
.scrolled.navigation {
	height:65px;
}

.scrolled.navigation .logo {
	text-align: center;
	height:100px;
}
.scrolled.navigation .logo img {
	width:111px;
}

.scrolled.navigation ul li {
	height:65px;
}
.scrolled.navigation ul li a {
	box-sizing:border-box;
	padding-top: 21px;
	background-size:1px 100%;
}

@media screen and (max-width: 1300px){
	.navigation {
		height: 80px;
	}
	.navigation .logo {
		width: 140px;
		height: 120px;
	}
	.navigation ul li {
		height: 80px;
	}
	.navigation ul li a {
		height: 46px;
		padding: 30px 40px 0;
	}
}
@media screen and (max-width: 1100px){
	.navigation {
		height: 65px;
	}
	.navigation .logo {
		width: 111px;
		height: 95px;
	}
	.navigation ul li {
		height: 65px;
	}
	.navigation ul li a {
		height: 39px;
		padding: 22px 30px 0;
		font-size: 14px;
	}
}
@media screen and (max-width: 900px){
	.navigation {
		height: 60px;
	}
	.scrolled.navigation {
		height:60px;
	}
	.navigation__inner {
		position: relative;
	}
	.navigation .logo {
		width: 110px;
		height: 95px;
		margin: 0 auto;
		display: inline-block;
		position: absolute;
		left: 50%;
		top: 0;
		z-index: 10;
		-webkit-transform: translate(-50%, 10px);
		transform: translate(-50%, 10px);
	}
	.navigation ul {
		border: none;
		background: none;
		float: none;
		padding: 25px 20px;
	}
	.scrolled.navigation ul li,
	.navigation ul li {
		position: relative;
		display: block;
		float: none;
		text-align: right;
		border-bottom: solid 1px rgba(0,0,0,.1);
		height: 68px;
	}
	.navigation ul li:last-child {
		border: none;
	}
	.scrolled.navigation ul li a,
	.navigation ul li a {
		height: 42px;
		padding: 25px 30px 0;
		font-size: 14px;
		background: none;
		border: none;
	}
	.navigation ul li a:hover {
		border: none;
	}


	.navigation__trigger {
		display: block;
		position: absolute;
		right: 10px;
		top: 12px;
		height: 40px;
		width: 40px;
		cursor: pointer;
	}
	.navigation__trigger:after {
		content: '';
		position: absolute;
		height: 2px;
		width: 25px;
		background: #969696;
		left: 50%;
		top: calc(50% - 3px);
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		-webkit-transition: all .3s ease;
		transition: all .3s ease;
	}
	.navigation__trigger:before {
		content: '';
		position: absolute;
		height: 2px;
		width: 25px;
		background: #969696;
		left: 50%;
		top: calc(50% + 3px);
		-webkit-transform: translate(-50%, -50%);
		-webkit-transition: all .3s ease;
		transform: translate(-50%, -50%);
		transition: all .3s ease;
	}

	.navigation__wrapper {
		position: fixed;
		right: -300px;
		top: 60px;
		width: 300px;
		height: calc(100% - 60px);
		background: #f9f9f9;
		z-index: 5;
		transition: all .3s ease;
		-webkit-transition: all .3s ease;
	}
	.navigation__contact {
		display: block;
		position: absolute;
		padding: 20px;
		bottom: 0;
		left: 0;
		width: 100%;
		box-sizing: border-box;
		text-align: right;
	}
	.navigation__contact,
	.navigation__contact a {
		line-height: 22px;
		font-size: 16px;
		color: #969696;
		font-weight: 200;
	}


	.navigation.open .navigation__wrapper {
		right: 0;
	}
	.navigation.open .navigation__trigger:after {
		top: 50%;
		transform: translate(-50%, -50%) rotate(45deg);
		-webkit-transform: translate(-50%, -50%) rotate(45deg);
	}
	.navigation.open .navigation__trigger:before {
		top: 50%;
		transform: translate(-50%, -50%) rotate(-45deg);
		-webkit-transform: translate(-50%, -50%) rotate(-45deg);
	}


}
@media screen and (max-width: 900px) and (min-width: 601px) and (max-height: 590px){
	.navigation__contact {
		display: none;
	}
}
@media screen and (max-width: 600px){
	.navigation__contact a,
	.navigation__contact {
		font-weight: 300;
	}
}
@media screen and (max-width: 600px){
	.navigation {
		height: 50px;
	}
	.scrolled.navigation {
		height: 50px;
	}
	.scrolled.navigation .logo,
	.navigation .logo {
		width: 88px;
		height: 75px;
	}
	.scrolled.navigation .logo img {
		width: 88px;
	}
	.navigation ul {
		padding: 15px 20px;
	}
	.scrolled.navigation ul li,
	.navigation ul li {
		height: 60px;
	}
	.scrolled.navigation ul li a,
	.navigation ul li a {
		height: 38px;
		padding: 21px 30px 0;
	}
	.navigation__trigger {
		right: 8px;
		top: 6px;
	}
	.navigation__wrapper {
		top: 50px;
		height: calc(100% - 50px);
	}
}
@media screen and (max-width: 600px) and (max-height: 520px){
	.navigation__contact {
		display: none;
	}
}
@media screen and (max-width: 600px) and (orientation: landscape){
	.navigation__wrapper {
		width: 100%;
		right: -100%;
	}
	.navigation ul {
		height: calc(100% - 50px);
		padding: 0 25px;
		margin-top: 25px;
	}
	.navigation ul li {
		height: 20%;
		padding: 0;
		position: relative;
	}
	.navigation ul li a {
		position: absolute;
		right: 20px;
		top: 50%;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		padding: 0;
		height: auto;
	}
	.navigation__contact {
		display: none;
	}
}






/* header */
.header {
	width:100%;
	margin-top:100px;
	background:url(../img/header.jpg) no-repeat center center;
	background-size:cover;
	height:700px;
	position:relative;
}
.header__text {
	text-align:center;
	position:absolute;
	width:100%;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}
.header__text h1 {
	font-size:95px;
	line-height:105px;
	color:#fff;
	text-transform: uppercase;
	letter-spacing: 8px;
	font-weight: 700;
	margin-bottom:40px;
}
.header__text p {
	font-weight:300;
	color:#fff;
	font-size:40px;
	line-height: 50px;
}

@media screen and (max-width: 1300px){
	.header {
		margin-top: 80px;
		height: 600px;
	}
	.header__text h1 {
		font-size: 85px;
		line-height: 90px;
		margin-bottom: 30px;
	}
	.header__text p {
		font-size: 35px;
		line-height: 45px;
	}
}
@media screen and (max-width: 1100px){
	.header {
		margin-top: 65px;
		height: 550px;
	}
	.header__text h1 {
		font-size: 80px;
		line-height: 85px;
	}
	.header__text p {
		font-size: 30px;
		line-height: 40px;
	}
}
@media screen and (max-width: 900px){
	.header {
		margin-top: 60px;
		height: 500px;
	}
	.header__text h1 {
		font-size: 70px;
		line-height: 73px;
	}
}
@media screen and (max-width: 600px){
	.header {
		margin-top: 50px;
		height: 450px;
	}
	.header__text h1 {
		margin-left: 5px;
		font-size: 45px;
		line-height: 50px;
	}
	.header__text p {
		font-size: 25px;
		line-height: 35px;
	}
}






/* about */
.about {
	width:100%;
	position: relative;
	padding-top: 70px;
}
.about--grey {
	background: #fcfcfc;
	padding-top: 0px;
	padding-bottom: 70px;
}
.about__img {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	width: 250px;
	height: 250px;
	background: red;
	border-radius: 50%;
	background: url(../img/raimund.jpg);
	background-size: cover;
	background-position: center center;
}
.about__inner {
	width:100%;
	max-width: 1200px;
	margin:0 auto;
	overflow: hidden;
	padding:100px 0;
}
.about__inner .content {
	float:left;
	box-sizing:border-box;
	font-size:18px;
	font-weight: 100;
	letter-spacing: 1px;
	line-height:40px;
	color: #333333;

	width:100%;
	-webkit-column-count: 2;
	-moz-column-count: 2;
	column-count: 2;
    -webkit-column-gap: 50px;
    -moz-column-gap: 50px;
    column-gap: 50px;
}
.about__inner > div strong {
	font-weight:700;
}
.about__inner .left {
	padding-right:3%;
}
.about__inner .right {
	padding-left:3%;
}
.about__inner .h2 {
	color: #ad1c21;
	display: block;
	font-size: 25px;
	line-height: 35px;
	font-weight: 700;
	margin-bottom: 20px;
	text-transform: uppercase;
}

@media screen and (max-width: 1300px){
	.about__inner {
		max-width: none;
		box-sizing: border-box;
		padding: 100px 40px;
	}
	.about__inner .content {
		font-size:17px;
		line-height:37px;
	}
	.about__inner .h2 {
		font-size: 22px;
		line-height: 32px;
	}
}
@media screen and (max-width: 1100px){
	.about__inner {
		padding: 80px 40px 100px;
	}
	#leistungen .about__inner {
		padding-top: 100px;
	}
}
@media screen and (max-width: 900px){
	.about__inner .content {
		column-count: auto;
	}
	#leistungen .about__inner {
		padding-top: 120px;
	}
}
@media screen and (max-width: 767px){
	.about__inner .content {
		font-weight: 300;
	}
}
@media screen and (max-width: 600px){
	.about__inner {
		padding: 50px 20px 100px;
	}
	.about__inner .h2 {
		font-size: 20px;
		line-height: 30px;
	}
	.about__inner .h2 br {
		display: none;
	}
	.about__inner .content {
		font-size:15px;
		line-height:28px;
	}
}



/* references */
.references {
	overflow: hidden;
}
.references > div {
	float:left;
}
.references__left__inner {
	float:right;
	width:300px;
	padding-top:70px;
	position: relative;
}
.references__left__inner ul {
	list-style-type: none;
	margin-bottom:100px;
}
.references__left__inner ul li a {
	font-weight:700;
	text-transform: uppercase;
	font-size:22px;
	color:#636468;
	margin-bottom: 35px;
	display: inline-block;
	border-bottom:solid 3px #fff;
	letter-spacing: 2px;

	-webkit-transition:all .25s ease;
	transition:all .25s ease;
}
.references__left__inner ul li a.active {
	color:#ad1c21;
	border-bottom:solid 3px #ad1c21;
}

.references__left__detail {
	position: relative;
	clear: both;
	background: #fcfcfc;
	padding:45px 0;
	overflow: hidden;
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
}
.references__left__detail__inner {
	float:right;
	box-sizing:border-box;
	padding-right:40px;
	width:300px;
}
.references__left__detail__inner h3 {
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 2px;
	margin-bottom:15px;
	color:#333333;
}
.references__left__detail__inner p {
	font-weight: 100;
	font-size:16px;
	line-height:25px;
	color: #333333;
}


.references__left__inner .swiper-pagination-wrapper {
	position:absolute;
	bottom:0;
	right:0;
	z-index: 10;
	width:100%;
}
.references__left__inner .swiper-pagination {
	float:left;
	color:#969696;
	width:auto;
	margin-bottom:26px;
	color: #969696;
}
.references__left__inner .swiper-button-prev,
.references__left__inner .swiper-button-next {
	float:right;
	width: auto;
	position: relative;
	top: auto;
	left: auto;
	right: auto;
	height:15px;
	width:15px;
	background: url(../img/arr_left.png) no-repeat center center;
	background-size: contain;
	margin:0 3px 40px;
	padding:0;
	cursor: pointer;
}
.references__left__inner .swiper-button-next {
	background: url(../img/arr_right.png) no-repeat center center;
	background-size: contain;
	margin-right: 40px;
}


.references__right {
	height: 800px;
}
.references__right .swiper-slide {
	overflow: hidden;
}
.references__right .swiper-slide .description {
	background: #f3f3f3;
	position: relative;
}
.references__right .swiper-slide .description__inner {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 80px 100px;
	box-sizing: border-box;
}
.references__right .swiper-slide .description h3 {
	color: #333333;
	text-transform: uppercase;
	font-size: 22px;
	letter-spacing: 2px;
	font-weight: 700;
	margin-bottom: 30px;
	line-height: 1.5;
}
.references__right .swiper-slide .description p {
    font-size: 16px;
    font-weight: 100;
    letter-spacing: 1px;
    line-height: 36px;
    color: #333333;
    margin-bottom: 25px;
}
.references__right .swiper-slide .description p:last-child {
	margin-bottom: 0;
}
.references__right .top {
	width:100%;
	height:500px;
	background-size: cover;
	background-position: center center;
}
.references__right .bot_left {
	height:300px;
	width:35%;
	float:left;
	background-size: cover;
	background-position: center center;
}
.references__right .bot_right {
	height:300px;
	width:65%;
	float: left;
	background-size: cover;
	background-position: center center;
}
.references__right .float {
	height:100%;
	width:50%;
	float: left;
	background-size: cover;
	background-position: center center;
}
.references__right .float.float--right {
	float: right;
}
.references__right .left {
	height:100%;
	width:50%;
	float: left;
	background-size: cover;
	background-position: center center;
}
.references__right .left_top,
.references__right .right_top {
	height:50%;
	width:50%;
	float: right;
	background-size: cover;
	background-position: center center;
	clear:right;
}
.references__right .left_top {
	float: left;
	clear: left;
}
.references__right .full {
	height:100%;
	width:100%;
	background-size: cover;
	background-position: center center;
}
.references__right > div {
	background-size:cover;
	background-position: center center;
	background-repeat: no-repeat;
	height: 100%;
}
.references__right > div > div > div,
.references__right > div > div {
	height: 100% !important;
}
.references__right > div img {
	opacity:0;
	width:1px;
	height:1px;
}

@media screen and (max-width: 1900px){
	.references__right .swiper-slide .description__inner {
		padding: 65px 85px
	}
	.references__right .swiper-slide .description h3 {
		font-size: 20px;
	}
}
@media screen and (max-width: 1300px){
	.references__left {
		width: 100% !important;
	}
	.references__left__inner {
		padding: 0;
		margin: 0;
		float: none;
		width: 100%;
	}
	.references__left__inner ul {
		margin: 0 0 0 40px;
	}
	.references__left__inner ul li {
		display: inline-block;
		margin-right: 40px;
	}
	.references__left__detail {
		display: none;
	}
	.references__left__inner .swiper-pagination-wrapper {
		float: right;
		width: 150px;
	}
	.references__left__inner .swiper-pagination {
		transform: translateY(-2px);
	}
	.references__right {
		width: 100% !important;
		height: 700px;
	}
}
@media screen and (max-width: 1100px){
	.references__right {
		height: 600px;
	}
	.references__right .swiper-slide .description__inner {
		padding: 35px 45px
	}
	.references__right .swiper-slide .description h3 {
		font-size: 18px;
		line-height: 1.6;
	}
	.references__right .swiper-slide .description p {
		font-size: 15px;
		line-height: 30px;
	}
}
@media screen and (max-width: 900px){
	.references__right .swiper-slide .description__inner {
		padding: 35px 30px
	}
	.references__left__inner ul li a {
		font-size: 18px;
		border-bottom:solid 2px #fff;
	}
	.references__left__inner ul li a.active {
		border-bottom:solid 2px #ad1c21;
	}
}
@media screen and (max-width: 767px){
	.references__left__inner ul {
		margin-left: 0;
		text-align: center;
	}
	.references__left__inner ul li:last-child {
		margin-right: 0;
	}
	.references__left__inner .swiper-pagination-wrapper {
		display: none;
	}
	.references__right .swiper-slide .description h3 {
		font-size: 16px;
		line-height: 1.5;
		margin-bottom: 15px;
	}
	.references__right .swiper-slide .description p {
		font-size: 14px;
		line-height: 25px;
		font-weight: 300;
	}
	.references__right > div > div > div,
	.references__right > div > div,
	.references__right > div,
	.references__right {
		height: auto !important;
		display: block;
	}
	.references__right .swiper-slide .description {
		width: 100%;
		height: auto;
		float: none;
	}
	.references__right .swiper-slide .description__inner {
		position: relative;
		bottom: auto;
		left: auto;
	}

	.references__right .left_top,
	.references__right .right_top {
		background: none !important;
		float: none;
		width: 100%;
		height: auto;
	}
	.references__right .float,
	.references__right .left,
	.references__right > div img {
		opacity: 1;
		width: 100%;
		display: block;
		height: auto;
	}
}
@media screen and (max-width: 600px){
	.references__right .swiper-slide .description__inner {
		padding: 30px 20px
	}
	.references__left__inner ul li {
		margin-right: 20px;
	}
	.references__left__inner ul li a {
		font-size: 17px;
		margin-bottom: 30px;
	}
}



/* quote */
.quote {
	position:relative;
	width:100%;
	text-align: center;
	padding:100px 0;
}
.quote__text {
	color:#636468;
	font-weight: 100;
	font-size:45px;
	display: block;
	margin-bottom:35px;
}
.quote__text br {
	display: none;
}
.quote__line {
	border-bottom:solid 3px #ad1c21;
	display: inline-block;
	width:35px;
	margin-bottom:30px;
}
.quote__name {
	display: block;
	color: #646466;
	font-weight: 700;
	letter-spacing: .1em;
}

@media screen and (max-width: 1500px){
	.quote__text br {
		display: block;
	}
}
@media screen and (max-width: 900px){
	.quote {
		box-sizing: border-box;
		padding: 65px 20px;
	}
	.quote__text {
		font-size: 33px;
	}
}
@media screen and (max-width: 600px){
	.quote {
		padding: 55px 20px;
	}
	.quote__text br {
		display: none;
	}
	.quote__text {
		font-size: 29px;
		line-height: 1.3;
	}
	.quote__line {
		border-bottom:solid 2px #ad1c21;
		width:30px;
	}
}




/* maps */
.maps {
	position: relative;
}
.maps #map {
	height:600px;
	width:100%;
	z-index: 5;
	position: relative;
	background: url(../img/gmap.jpg);
	background-size: cover;
	background-position: right;
}
.maps #map .map_info {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 500px;
}
@media screen and (max-width: 500px){
	.maps #map .map_info {
		width: 100%;
		height: auto;
	}	
}
.maps #map .map_marker {
	position: absolute;
	right: 26%;
	top: 52%;
	width: 80px;
}
@media screen and (max-width: 1660px){
	.maps #map .map_marker {
		right: 420px;
	}	
}
@media screen and (max-width: 900px){
	.maps #map .map_marker {
		right: 420px;
		width: 65px;
		top: 380px;
		right: 520px;
	}	
}
@media screen and (max-width: 600px){
	.maps #map {
		background-position: calc(100% + 170px);
	}
	.maps #map .map_marker {
		right: 350px;
	}	
}
@media screen and (max-width: 480px){
	.maps #map {
		background-position: calc(100% + 300px);
	}
	.maps #map .map_marker {
		right: 220px;
	}	
}

.maps__info {
	background: #fff;
	padding:30px 35px;
	z-index: 10;
	position: absolute;
	top:50%;
	left:50%;
	margin-left: -600px;
	font-weight: 100;
	color: #333333;
	font-size: 18px;
	line-height:28px;
	letter-spacing: 1px;

	-webkit-transform:translateY(-50%);
	transform:translateY(-50%);
}
.maps__info span {
	text-transform: uppercase;
	color:#ad1c21;
	font-weight: 700;
	font-size: 20px;
}
.maps__info a {
	color: #333333;
	font-weight: 200;
}
.maps__info a:hover {
	color: #ad1c21;
}
.maps__info span.fa {
	font-weight: normal;
	color:#aaa;
	display: inline-block;
	margin-right:10px;
	width:20px;
}
.maps__link {
	position: absolute;
	top: 0;
	left: 0;
	background: transparent;
	width: 100%;
	height: 100%;
	z-index: 9;
	cursor: pointer;
}

@media screen and (max-width: 1300px){
	.maps__info {
		top:50%;
		left:50px;
		margin: 0;

		-webkit-transform:translateY(-50%);
		transform:translateY(-50%);
	}	
}
@media screen and (max-width: 900px){
	.maps #map {
		height: 700px;
	}
	.maps__info {
		top: 30px;
		left: 50%;
		width: 330px;
		box-sizing: border-box;

		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}	
}
@media screen and (max-width: 767px){
	.maps__info {
		font-weight: 300;
	}	
}
@media screen and (max-width: 600px){
	.maps__info {
		top: 25px;
		width: 300px;
		font-size: 16px;
	}
	.maps__info span.fa {
		font-size: 15px;
		margin-right: 7px;
	}
}



/* footer */
.footer {
	background:#fff;
	border-bottom:solid 4px #ad1c21;
}
.footer__inner {
	width:1200px;
	margin:0 auto;
	padding:95px 0 60px;
	overflow: hidden;
	color: #969696;
}
.footer__inner .left {
	float:left;
	width:30%;
	font-weight: 100;
	font-size:14px;
	line-height:25px;
}
.footer__inner .left .copyright {
	font-weight: 400;
	display: block;
	font-size: 14px;
}
.footer__inner .left .imprint {
	float: left;
	margin-bottom: 80px;
	margin-right: 10px;
	font-weight: 100;
}

.footer__inner .right {
	float:left;
	width:70%;
	font-weight: 100;
	font-size:14px;
	line-height:25px;
}

@media screen and (max-width: 1300px){
	.footer__inner {
		box-sizing: border-box;
		width: 100%;
		padding: 75px 40px 55px;
	}
	.footer__inner .left {
		width: 300px;
	}
	.footer__inner .right {
		width: calc(100% - 300px);
	}	
}
@media screen and (max-width: 1100px){
	.footer__inner {
		padding: 60px 40px 45px;
	}
}
@media screen and (max-width: 900px){
	.footer__inner {
		padding: 50px 30px 35px;
	}
	.footer__inner .left {
		width: 100%;
		margin-bottom: 25px;
	}
	.footer__inner .right {
		width: 100%;
	}	
}
@media screen and (max-width: 767px){
	.footer__inner .left,
	.footer__inner .left .imprint,
	.footer__inner .right {
		font-weight: 300;
	}	
}
@media screen and (max-width: 600px){
	.footer__inner {
		padding: 40px 20px 35px;
	}
}


.flyin {
	position: fixed;
	right: 0;
	top: 25%;
	z-index: 800;
	background: white;
	padding: 15px 25px 15px 35px;
	-webkit-box-shadow: 0 0 8px 3px rgba(0,0,0, .15);
	box-shadow: 0 0 8px 3px rgba(0,0,0, .15);
	font-family: 'xxx';
	color: #646466;
	font-size: 17px;
	font-weight: 400;
	line-height: 1.5;
	border-top-left-radius: 8px;
	border-bottom-left-radius: 8px;
	transition: all .3s ease;
	transform: translateX(0%);
}
.flyin.closed {
	transform: translateX(100%);
}
.flyin a {
	color: #646466;
	font-weight: 400;
}
.flyin span {
	color: #ad1c21;
	margin-right: 10px;
	display: inline-block;
	width: 20px;
}
.flyin__close {
	width: 15px;
	height: 15px;
	position: absolute;
	left: 10px;
	top: 16px;
	cursor: pointer;
}
.flyin__close:before,
.flyin__close:after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
	width: 14px;
	height: 2px;
	background: #aaa;
}
.flyin__close:after {
	transform: translate(-50%, -50%) rotate(-45deg);
}
.flyin h3 {
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 14px;
}

.flyin__opener {
	position: fixed;
	right: 0;
	top: 25%;
	z-index: 801;
	width: 60px;
	height: 60px;
	background: white;
	border-top-left-radius: 8px;
	border-bottom-left-radius: 8px;
	-webkit-box-shadow: 0 0 8px 3px rgba(0,0,0, .15);
	box-shadow: 0 0 8px 3px rgba(0,0,0, .15);
	transform: translateX(0%);
	transition: all .3s ease;
	cursor: pointer;
	color: #aaa;
}
.flyin__opener span {
	font-size: 30px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.flyin__opener.closed {
	transform: translateX(100%);
}


@media screen and (max-width: 768px){
	.flyin__opener,
	.flyin {
		top: auto;
		bottom: 50px;
	}
}