@font-face {
  font-family:'Roboto';
  font-style:normal;
  font-weight:400;
  src:local('Roboto'), local('Roboto-Regular'), url(fonts/Roboto-Regular.woff) format('woff');
}

/********************/
/* Globale Elemente */
/********************/

html, body {
	margin:0px;
	font-family:'Roboto',sans-serif;
	font-size:15px;
	font-weight:300;
	line-height:150%;
	background-color:#ffffff;
	color:#333333;
}

* {
	box-sizing:border-box;
}

a {
	color:#337ab7;
	text-decoration:none;
	outline:0;
}
a:hover {
	color:#23527c;
	text-decoration:underline;
}

a.block {
	display:block;
	width:100%;
	height:100%;
}

.content_width {
	position:relative;
	margin:0px auto;
	max-width:1150px;
	min-height:100%;
	padding-left:10px;
	padding-right:10px;
}
strong {
	font-weight:bold;
}

table.inline {
	border-collapse:collapse;
	margin:0;
}
table.inline td {
	padding:0;
	padding-right:20px;
}
#map {
	width:100%;
	height:400px;
	border:1px solid #484848;
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
	text-align:center;
}
#map .gmaploader {
	cursor:pointer;
}
img.keepsize {
	width:auto !important;
}
hr {
	height:1px;
	background-color:#999999;
	border:0;
	margin-top:20px;
}

/**********/
/* Header */
/**********/

.header_container {
	position:relative;
	height:400px;
}
.header_container .content_width {
	z-index:2;
}
.header_img {
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	z-index:0;
	background-image:url(images/header/home_01.jpg);
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center;
}
.app_logo {
	position:absolute;
	left:0;
	top:0;
	width:110px;
	height:146px;
	z-index:1;
	background-image:url(images/logo.png);
	background-repeat:no-repeat;
	background-size:cover;
}
.header_container .contact {
	position:absolute;
	right:0px;
	bottom:2px;
	z-index:2;
}
.header_container .contact a {
	display:inline-block;
	background-color:#009fe3;
	height:40px;
	line-height:40px;
	color:#ffffff;
	font-size:18px;
	margin-left:7px;
	vertical-align:bottom;
	background-repeat:no-repeat;
	background-size:auto 65%;
	background-position:center;
	padding:0px 20px;
	text-decoration:none;
}
.header_container .contact a:hover {
	text-decoration:underline;
}
.header_container .contact .mail {
	background-image:url(images/mail.png);
	width:50px;
}
.header_container .contact .tel {
	background-image:url(images/phone.png);
	background-position:left 10px center;
	padding-left:50px;
}

/***********/
/* Topmenu */
/***********/

.topmenu {
	position:absolute;
	top:3px;
	right:0px;
	padding-left:120px;
	text-align:right;
}
.topmenu .item {
	text-align:left;
	width:120px;
	height:40px;
	line-height:40px;
	display:inline-block;
	color:#ffffff;
	background-color:#283271;
	padding-left:10px;
	text-decoration:none;
	margin-left:3px;
	margin-bottom:3px;
}
.topmenu .item:hover, .topmenu>a.active {
	font-weight:bold;
	background: #009fe3; /* Old browsers */
	background: -moz-linear-gradient(top, #009fe3 0%, #283271 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #009fe3 0%, #283271 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #009fe3 0%, #283271 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#009fe3', endColorstr='#283271', GradientType=0 ); /* IE6-9 */
}
.submenu {
	text-align:left;
	position:absolute;
	background:url(images/drop_bg.png) left 3px repeat-x;
	z-index:999;
	display:none;
}
.submenu a {
	display:block;
	color:#ffffff;
	padding:2px 10px;
	font-size:13px;
	height:26px;
	line-height:26px;
	padding-top:2px;
	width:250px;
}
.submenu a:hover, .submenu a.active, .submenu a.focus {
	text-decoration:none;
	font-weight:bold;
}

/* Burgermenu */
.burgermenu {
	cursor:pointer;
	position:fixed;
	z-index:9999;
	width:60px;
	height:40px;
	background-color:#283271;
	border:1px solid #ffffff;
	top:5px;
	right:0px;
	background-image:url(images/burgermenu.png);
	background-size:40%;
	background-position:center;
	background-repeat:no-repeat;
	margin-right:5px;
	display:none;
}
.mobilemenu {
	position:fixed;
	z-index:9999;
	top:0;
	bottom:0;
	width:80%;
	right:-80%;
	background-color:#283271;
	overflow:auto;
	box-shadow:.3px 0px 3px rgba(0, 0, 0, 0.3);
	border-left:1px solid #ffffff;
}
.mobilemenu a {
	display:block;
	color:#FFFFFF;
	text-decoration:none;
	white-space:nowrap;
	font-size:18px;
	padding:10px;
	padding-left:30px;
}
.mobilemenu .main {
	background: #009fe3; /* Old browsers */
	background: -moz-linear-gradient(top, #009fe3 0%, #283271 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #009fe3 0%, #283271 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #009fe3 0%, #283271 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#009fe3', endColorstr='#283271', GradientType=0 ); /* IE6-9 */
}
.mobilemenu .active {
	font-weight:bold;
}
.mobilemenu a.sub {
	font-size:16px;
	padding:5px;
	padding-left:50px;
}
.menucloser {
	cursor:pointer;
	display:none;
	position:fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	z-index:9998;
}

@media screen and (max-width: 700px) {
	.burgermenu {
		display:block;
	}
	.topmenu {
		display:none;
	}
}

/**********/
/* Footer */
/**********/

.footer {
	background:#ffffff url(images//bg.png) repeat-x;
	text-align:center;
	min-height:200px;
	font-size:10px;
}
.footer .menuitem {
	display:inline-block;
	padding:5px 10px;
	background-color:#ffffff;
	font-size:14px;
	color:rgba(0, 0, 0, 0.4);
	box-shadow:0px 4px 3px 3px rgba(204, 204, 204, 0.3);
	width:120px;
	text-align:left;
	margin-left:3px;
	margin-bottom:3px;
}

/**************/
/* Breadcrumb */
/**************/

.breadcrumb {
	background-color:#dddddd;
	display:inline-block;
	font-size:11px;
}

/***********/
/* Content */
/***********/

.content_container {
	background:#ffffff url(images//bg.png) repeat-x;
	padding-top:30px;
	min-height:200px;
	padding-bottom:100px;
}
.content_container::after {
	display:block;
	content:'';
	clear:both;
}

.content_container .left {
	float:left;
	width:calc(100% - 280px);
}
.content_container .right {
	width:260px;
	float:right;
	padding-top:35px;
}
@media screen and (max-width: 900px) {
	.content_container .left, .content_container .right {
		float:none;
		width:100%;
	}
}

h1 {
	color:#232c77;
	font-size:34pt;
	margin:0;
	padding:30px 0;
	font-weight:300;
	line-height:1.1;
}
h2 {
	font-weight:300;
	color:#009fe3;
	font-size:30px;
	padding-bottom:20px;
	line-height:150%;
	margin-top:20px;
	margin-bottom:10px;
}
h3 {
	font-weight:300;
	color:#009fe3;
	font-size:22px;
	margin-top:20px;
	margin-bottom:10px;
	line-height:1.1;
}
h4 {
	font-weight:bold;
	font-size:15px;
	margin-top:20px;
	margin-bottom:10px;
}
.highlight {
	color:#009fe3;
	font-weight:bold;
}
.more {
	display:inline-block;
	background:#b1b2b2;
	width:100px;
	color:white;
	padding:0 10px;
	font-size:12px;
	margin-top:10px;
	font-weight:bold;
}
.more a, .more a:hover, .more:hover {
	color:#FFFFFF;
	text-decoration:none;
}
.more:hover {
	background:#009fe3;
}

.grid {
	padding-top:50px;
	font-size:0;
}
.grid a:hover {
	text-decoration:none;
}
.grid>div {
	position:relative;
	display:inline-block;
	width:calc(33% - 8px);
	margin-right:8px;
	margin-bottom:30px;
	vertical-align:top;
	font-size:15px;
}
@media screen and (max-width: 900px) {
	.grid>div {
		width:calc(50% - 8px);
	}
}
@media screen and (max-width: 600px) {
	.grid>div {
		width:100%;
		margin-right:0px;
	}
}
.grid>div img {
	width:100%;
	height:auto;
	vertical-align:top;
}
.content_container .right>div {
	width:100%;
	margin-right:0px;
}
@media screen and (max-width: 900px) {
	.content_container .right>div {
		width:calc(50% - 8px);
		margin-right:8px;
	}
}
@media screen and (max-width: 600px) {
	.content_container .right>div {
		width:100%;
		margin-right:0px;
	}
}

/* doublecolum */
.doublecolum>div {
	position:relative;
	display:inline-block;
	width:calc(50% - 15px);
	margin-bottom:50px;
	vertical-align:top;
}
.doublecolum>div:nth-child(even) {
	float:right;
	margin-right:0;
}
@media screen and (max-width: 800px) {
	.doublecolum>div {
		width:100%;
		float:none;
		margin-right:0;
	}
}
.doublecolum a:hover {
	text-decoration:none;
}
.doublecolum>div img {
	width:100%;
	height:auto;
}
.clearhr {
	clear:both;
	margin-top:-30px;
	margin-bottom:30px;
	height:1px;
	background-color:#999999;
}

/********/
/* Team */
/********/

.teamgrid>div {
	position:relative;
	display:inline-block;
	border-bottom:#b1b2b2 1px solid;
	height:180px;
	width:calc(50% - 15px);
	margin-right:8px;
	margin-bottom:50px;
	vertical-align:top;
}
.teamgrid>div:nth-child(even) {
	float:right;
	margin-right:0;
}
@media screen and (max-width: 900px) {
	.teamgrid>div {
		width:100%;
		float:none;
		margin-right:0;
	}
}
.teamgrid>div a:hover {
	text-decoration:none;
}
.teamgrid>div img {
	height:180px;
	float:right;
}
.teamgrid>div .more {
	position:absolute;
	left:0;
	bottom:0;
}
.teamgrid>div h3 {
	margin-top:0;
}

.teamcolumn {
	width:50% !important;
	margin-top:30px;
	padding-top:0 !important;
}
@media screen and (max-width: 900px) {
	.teamcolumn {
		width:100% !important;
		float:none !important;
	}
}
.teamcolumn h3 {
	margin-top:0;
}
.teamcolumn img {
	width:100%;
	height:auto;
}
.teamcolumn table {
	margin:0;
	padding:0;
	border-collapse:collapse;
	border-spacing:0;
}
.teamcolumn td {
	padding-right:20px;
	padding-left:0;
	vertical-align:top;
}
.teamcolumn tr td:first-child {
	white-space:nowrap;
}

/* mandantenbrief */
table.mandantenbrief a:hover {
	text-decoration:none;
}
table.mandantenbrief tr>td:last-child {
	padding-top:12px;
	padding-left:50px;
}

/*************/
/* Formulare */
/*************/
.formular_list {
	text-align:center;
}
.formular_list a {
	display:inline-block;
	margin-bottom:20px;
	margin-left:5px;
	margin-right:5px;
	border:1px solid #cccccc;
	padding:3px;
	width:220px;
}
.formular_list a img {
	width:100%;
}
.formular_list a:hover {
	text-decoration:none;
}

/********/
/* Form */
/********/

form {
	margin-top:50px;
}
form .line {
	white-space:nowrap;
	width:400px;
	margin-bottom:10px;
	vertical-align:top;
	font-size:0;
}
form label {
	text-align:right;
	font-weight:bold;
	width:160px;
	display:inline-block;
	margin-right:10px;
	vertical-align:top;
	height:36px;
	line-height:36px;
	font-size:15px;
}
form .line input, form .line textarea {
	font-family:'Roboto',sans-serif;
	width:400px;
	display:inline-block;
	height:34px;
	padding:6px 12px;
	font-size:14px;
	line-height:1.43;
	color:#555555;
	background-color:#ffffff;
	border:1px solid #cccccc;
	-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);
	box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
form .line textarea {
	height:150px;
}
form hr {
	margin:20px 0;
	height:1px;
	border:0;
	background-color:#eeeeee;
}
form input[type="submit"] {
	color: #ffffff;
	background-color:#337ab7;
	border-color:#2e6da4;
	width:auto;
}
form input[type="submit"]:hover {
	background-color:#286090;
	border-color:#204d74;
}

.form-group label {
	width:auto;
}