@charset "UTF-8";
/*@import url(http://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600);*/

/* source-sans-pro-300 - latin */
@font-face {
	font-family: "Source Sans Pro";
	font-style: normal;
	font-weight: 300;
	src: local(""), url("../fonts/source-sans-pro-v21-latin/source-sans-pro-v21-latin-300.woff2") format("woff2"), url("../fonts/source-sans-pro-v21-latin/source-sans-pro-v21-latin-300.woff") format("woff");
}

/* source-sans-pro-regular - latin */
@font-face {
	font-family: "Source Sans Pro";
	font-style: normal;
	font-weight: 400;
	src: local(""), url("../fonts/source-sans-pro-v21-latin/source-sans-pro-v21-latin-regular.woff2") format("woff2"), url("../fonts/source-sans-pro-v21-latin/source-sans-pro-v21-latin-regular.woff") format("woff");
}

/* source-sans-pro-600 - latin */
@font-face {
	font-family: "Source Sans Pro";
	font-style: normal;
	font-weight: 600;
	src: local(""), url("../fonts/source-sans-pro-v21-latin/source-sans-pro-v21-latin-600.woff2") format("woff2"), url("../fonts/source-sans-pro-v21-latin/source-sans-pro-v21-latin-600.woff") format("woff");
}

/* Basic
---------------------------------------------------------------------------------------------------- */
html {
	overflow-y: scroll;
}

body {
	font: 300 100%/1.5 "Source Sans Pro", Verdana, Geneva, sans-serif;
	padding: 60px 0 0 0;
}

@media (min-width: 992px) {
	body {
		padding: 60px 0 297px 0;
	}
}

.clearfix:after,
.container:after {
	content: "\0020";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	overflow: hidden;
}
.clearfix,
.container {
	display: block;
}

.container {
	position: relative;
	width: 960px;
	margin: 0 auto;
}

a {
	text-decoration: none;
}

/* Farben
---------------------------------------------------------------------------------------------------- */
#footer,
#footernav,
#footernav a,
#footernav a:visited,
button {
	color: rgb(255, 255, 255);
}

body,
#mainnav a,
#mainnav a:visited {
	color: rgb(53, 61, 70);
}

#mainnav ul ul a,
#mainnav ul ul a:visited {
	color: rgb(143, 152, 163);
}

h1,
h2,
strong,
#sidebar h3 {
	color: rgb(176, 0, 97);
}

#mainnav a:focus,
#mainnav a:hover,
#mainnav a:active,
#mainnav .active > a {
	color: rgb(176, 0, 97) !important;
}

.blue,
#sidebar .blue h3 {
	color: rgb(0, 160, 213);
}

.orange {
	color: rgb(255, 131, 0);
}

/* Schriftgrößen / Schnitt
---------------------------------------------------------------------------------------------------- */
#mainnav,
.orange,
#footer {
	font-weight: 400;
}

h1,
strong {
	font-weight: 600;
}

#footernav {
	font-size: 12px;
}

#left .custom,
#sidebar .adress {
	font-size: 15px;
}

body,
#mainnav,
#sidebar h3 {
	font-size: 18px;
}

#footer,
h2 {
	font-size: 20px;
}

h1 {
	font-size: 32px;
}

/* Left
---------------------------------------------------------------------------------------------------- */
#left {
	float: left;
	width: 188px;
	margin: 0 42px 0 30px;
}

/* Content
---------------------------------------------------------------------------------------------------- */
#content {
	float: left;
	width: 700px;
}

#content h1 {
	text-transform: uppercase;
}

#content ul {
	list-style: none;
	padding-left: 15px;
}

#content ul li {
	position: relative;
}

#content ul li:before {
	content: "-";
	position: absolute;
	left: -15px;
}

/* Mainnav
---------------------------------------------------------------------------------------------------- */
#mainnav {
	padding: 50px 0 0 180px;
	background: rgb(255, 255, 255);
}

#mainnav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

#mainnav .nav {
	padding-left: 80px;
	background: url(../images/mainnav_linie.png) no-repeat;
}

#mainnav .nav > li {
	display: inline-block;
	margin-right: 15px;
	padding: 10px 0;
}

#mainnav .nav > li > a {
	text-transform: uppercase;
}

#mainnav .nav ul {
	display: none;
	position: absolute;
	bottom: 40px;
	left: 260px;
	width: 700px;
	padding-bottom: 15px;
	/*background:url(../images/mainnav_sub_hover.png) no-repeat bottom left;*/
}

#mainnav .nav li:hover ul {
	display: inline-block;
}

#mainnav .nav ul li {
	display: inline-block;
	margin-right: 15px;
}

#mainnav-trans {
	height: 50px;
	background: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(100%, rgba(255, 255, 255, 1)));
	background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
	background: -o-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
	background: -ms-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 );
}

#mainnav .mod-menu__toggle-sub {
	display: none;
}

/* Footer
---------------------------------------------------------------------------------------------------- */
@media (min-width: 992px) {
	.site-footer {
		position: fixed;
		bottom: 0;
		width: 100%;
	}
}

#footer {
	background: rgb(176, 0, 97);
	background: -moz-linear-gradient(top, rgb(176, 0, 97) 0%, rgb(150, 0, 83) 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgb(176, 0, 97)), color-stop(100%, rgb(150, 0, 83)));
	background: -webkit-linear-gradient(top, rgb(176, 0, 97) 0%, rgb(150, 0, 83) 100%);
	background: -o-linear-gradient(top, rgb(176, 0, 97) 0%, rgb(150, 0, 83) 100%);
	background: -ms-linear-gradient(top, rgb(176, 0, 97) 0%, rgb(150, 0, 83) 100%);
	background: linear-gradient(to bottom, rgb(176, 0, 97) 0%, rgb(150, 0, 83) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b00061', endColorstr='#960053',GradientType=0 );
}

#footer .footer-inner {
	display: table-cell;
	vertical-align: middle;
	width: 960px;
	height: 50px;
}

#footer img {
	position: absolute;
	top: -100px;
	left: 0;
}

#footer .middle {
	float: left;
	margin-left: 260px;
}

#footer .right {
	float: right;
}

#footernav {
	height: 100px;
	background: rgb(255, 131, 0);
	text-transform: uppercase;
}

#footernav ul {
	margin: 20px 0 0 0;
	padding: 0;
	float: right;
}

#footernav li {
	display: inline-block;
	padding-left: 5px;
}

/* Sidebar
---------------------------------------------------------------------------------------------------- */
#sidebar {
	display: none;
}

@media (min-width: 992px) {
	#sidebar {
		display: block;
		position: fixed;
		right: 7px;
		top: 12px;
	}

	#sidebar > div {
		position: relative;
		margin-bottom: 10px;
	}

	#sidebar .trigger {
		cursor: pointer;
	}

	#sidebar .inner {
		position: absolute;
		top: 30px;
		right: 0px;
		z-index: 100;
		display: none;
	}

	#sidebar h3 {
		margin: 0;
		text-transform: uppercase;
	}

	#sidebar .adress {
		width: 220px;
		height: 310px;
		padding: 35px 80px 0 65px;
		text-align: center;
		background: url(../images/sidebar_bubble.png) no-repeat 0 0;
	}

	#sidebar .contact {
		width: 200px;
		height: 290px;
		padding: 55px 90px 0 75px;
		background: url(../images/sidebar_bubble.png) no-repeat 0 -345px;
	}

	#sidebar .contact h3 {
		text-align: center;
	}

	#sidebar .bfQuickMode section.bfElemWrap {
		padding: 5px 0;
	}

	#sidebar .contact input,
	#sidebar .contact textarea {
		width: 178px;
	}

	#sidebar .contact button {
		position: absolute;
		bottom: 2px;
		left: 125px;
	}

	.formError .formErrorContent {
		background: rgb(176, 0, 97);
		border: none;
		box-shadow: none;
		border-radius: 0;
		font-family: inherit;
	}

	.formError .formErrorArrow div {
		background: rgb(176, 0, 97);
	}
}

/* Formularelemte
---------------------------------------------------------------------------------------------------- */
input,
textarea {
	border: 1px solid rgb(168, 179, 195);
	padding: 1px 10px;
}

input:focus,
textarea:focus {
	border: 1px solid rgb(92, 104, 119);
	outline: none;
}

button {
	background: rgb(176, 0, 97);
	background: -moz-linear-gradient(top, rgb(176, 0, 97) 0%, rgb(164, 0, 90) 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgb(176, 0, 97)), color-stop(100%, rgb(164, 0, 90)));
	background: -webkit-linear-gradient(top, rgb(176, 0, 97) 0%, rgb(164, 0, 90) 100%);
	background: -o-linear-gradient(top, rgb(176, 0, 97) 0%, rgb(164, 0, 90) 100%);
	background: -ms-linear-gradient(top, rgb(176, 0, 97) 0%, rgb(164, 0, 90) 100%);
	background: linear-gradient(to bottom, rgb(176, 0, 97) 0%, rgb(164, 0, 90) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b00061', endColorstr='#a4005a',GradientType=0 );
	border: none;
	text-transform: uppercase;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	border-radius: 50px;
	padding: 5px 20px;
}
