html {
    overflow-y: scroll;
}

*, *:before, *:after {
  -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
 }

body {
	font-size: 15px;
	font-family: 'Open Sans', sans-serif;
	color: #5f5e5e;
}

#main {
	border-left: 1px solid #f1f1f1;
	padding: 10px 40px 120px 40px;

}


#left {
	padding: 10px 10px 120px 10px;
}

#footer {
	background: #505050;
	color: #c9c9c9;
	padding-top: 30px;
}

#footer strong {
	color: #dcdcdc;
}

#footer a {
	color: #b3b4b4;
}

/* ##### TYPOGRAFIE ##### */

p { font-size: 1em; /* 15px */ line-height: 1.6000em; /* 24px */ margin: 0 0 1.6000em 0; }

h1 { font-size: 1.6000em; /* 24px */ line-height: 1.0000em; /* 24px */ margin-top: 1.0000em; margin-bottom: 1.6000em; }

h2 { font-size: 1.4667em; /* 22px */ line-height: 1.0909em; /* 24px */ margin-top: 1.0909em; margin-bottom: 1.6000em; }

h2.ce_headline, #sub_nav h2 {font-family: 'Open Sans Condensed', sans-serif; font-weight: 700; text-transform: uppercase; color: #5f5e5e;}

h3 { font-size: 1.3333em; /* 20px */ line-height: 1.2000em; /* 24px */ margin-top: 1.2000em; margin-bottom: 1.6000em; }

h4 { font-size: 1.2000em; /* 18px */ line-height: 1.3333em; /* 24px */ margin-top: 1.3333em; margin-bottom: 1.6000em; }

h5 { font-size: 1.0667em; /* 16px */ line-height: 1.5000em; /* 24px */ margin-top: 1.5000em; margin-bottom: 1.6000em; }

h6 { font-size: 0.9333em; /* 14px */ line-height: 1.7143em; /* 24px */ margin-top: 1.7143em; margin-bottom: 1.6000em; }

.ce_text a {
	color: #fb3099;
	text-decoration: none;
}

.ce_text a:hover {
	color: #d21a79;
}

.button {
	background: #fb3099;
	display: inline-block;
	border-bottom: 3px solid #fb3099; 
}

.button a {
	padding: 15px 35px 12px 35px;
	display: block;
	color: #fff;
	text-decoration: none;
	font-family: 'Open Sans Condensed', sans-serif;
	text-transform: uppercase;
	font-size: 1.2000em;
}

.button:hover {
	color: #fff;
	border-bottom: 3px solid #d21a79; 
}

.submit {
	background: #fb3099;
	width: 150px;
	display: inline-block;
	border: 0;
	border-bottom: 3px solid #fb3099; 
}

.submit {
	padding: 15px 35px 12px 35px;
	display: block;
	color: #fff;
	text-decoration: none;
	font-family: 'Open Sans Condensed', sans-serif;
	text-transform: uppercase;
	font-size: 1.2000em;
}

.submit:hover {
	color: #fff;
	border-bottom: 3px solid #d21a79; 
	cursor: pointer;
}

.ce_text table td, .ce_text table tr {
	padding: 3px 10px 3px 0;
}

/* ##### FORMULARE ##### */

label {
	display: block;
	line-height: 2em;
	padding-right: 20px;
}

textarea, input, select {
    background-color: #FFFFFF;
    border-color: #ddd;
    border-style: solid;
    border-width: 2px;
    box-shadow: 1px 1px 0 #FFFFFF;
    color: #666666;
    font-family: 'Open Sans',sans-serif;
    padding: 5px;
	width: 100%;
    margin-bottom: 15px;
}

textarea:focus, input:focus, select:focus {
    border-color: #bbb;
}

p.error {
	color: #fb3099; 
	margin-bottom: 5px;
	line-height: 2em;
}

/* ##### LOGO ##### */

#logo {
	margin: 40px 40px 50px 40px;
}

#signet{
	width: 68px;
	height: 66px;
	background: url('./img/signet.png') no-repeat 0 0;
}

#logo h1 {
	font-size: 22px;
	text-transform: uppercase;
	margin: -66px 0 0 85px;
	line-height: 22px;
	letter-spacing: -1px;
}

#logo h2 {
	margin: 5px 0 0 85px;
	font-size: 16px;
}

#kontaktdetails {
	position: absolute;
	right: 0;
	top: 0;
	text-align: right;
}

/* ##### HAUPTNAVIGATION ##### */

#main_nav {
	background: transparent;
}


/* ##### TEASERBILD ##### */

#teaser {
	width: 100%;
	height: 370px;
	background: #e1e1e1;
	border-bottom: 6px solid #505050;
	background: url("./img/teaser_img.jpg") no-repeat center center;
}

/* ##### CALL-TO-ACTION ##### */

#call-to-action {
	border-bottom: 1px solid #e7e7e7;
	text-align: center;
	padding: 0 0 48px 0;
}

#call-to-action blockquote p {
	font-size: 2.9333em; /* 44px */ line-height: 1.0909em; /* 48px */ margin-top: 1.1000em; margin-bottom: 1.1000em; font-family: 'Open Sans Condensed', sans-serif; color: #828282; font-weight: normal; font-style: italic;
}

/* ##### SEITENSPALTE ##### */

#sub_nav ul {
	list-style-type: square;
	color: #fb3099;
	padding-left: 30px;
}

#sub_nav li {
	padding-left: 10px;
}

#sub_nav a, #sub_nav span {
	color: #5f5e5e;
	text-decoration: none;
	display: block;
	line-height: 1.5000em; /* 24px */ margin: 0 0 15px 0;
}

#sub_nav li.active span {
	line-height: 1.5000em; /* 24px */ margin: 0 0 15px 0;
	display: block;
}

/* ##### CONTENT ##### */

img.img_profile {
	margin-right: 20px;
}

.profile {
	margin-bottom: 30px;
}

#rechtsanwaelte .grid3 {
	width: 193px;
}

#rechtsanwaelte .caption {
	text-align: center;
	line-height: 2.2em;
}

.clear_mb30 {
	clear: both;
	margin-bottom: 30px;
}

#rechtsgebiete h3 {
	margin-bottom: 0.7em;
}

#rechtsgebiete .grid4 {
	width: 273px;
}

#rechtsgebiete .grid4 p {
	margin: 0;
	line-height: 0;
}


#rechtsgebiete .grid4 a {
	text-align: center;
	background: #fb3099;
	padding: 15px 35px 12px 35px;
	display: block;
	color: #fff;
	text-decoration: none;
	font-family: 'Open Sans Condensed', sans-serif;
	text-transform: uppercase;
	font-size: 1.2000em;
	line-height: 1.4em;
	border-bottom: 3px solid #fb3099; 
}



#rechtsgebiete .grid4 a:hover {
	color: #fff;
	border-bottom: 3px solid #d21a79; 
}

.ce_text ul {
	list-style-type: circle !important;
	padding-left: 20px;
	margin-bottom: 30px;
}

.ce_text ul.list li {
	line-height: 1.5000em;
	padding-left: 10px;
}

.ce_image.portrait {
	float: right;
	max-width: 200px;
}

.ce_image.portrait img, img.portrait {
	padding: 5px;
	border: 1px solid #f1f1f1;
}

.ce_image.gruppenfoto img {
	padding: 5px;
	border: 1px solid #f1f1f1;
}

img.portrait {
	margin-right: 10px;
}

.ce_image .caption {
	font-size: .8em;
	margin: 5px 0 20px 0;
	padding: 0 10px;
	line-height: 1.5em;
	
}

.person .ce_text {
	overflow: visible;
}

/* # Kontaktformular # */

#kontakt .headline p {
	margin-bottom: 15px;
}

#kontakt #ctrl_11 {
	margin-bottom: 30px;
}

#kontakt textarea.message {
	min-height: 120px;
	max-width: 100%;
	min-width: 100%;
}

#kontakt .captcha {
	width: 50px !important;
	text-align: center;
}

#kontakt .captcha_text {
	margin-left: 7px;
}

#kontakt span.mandatory {
	padding-left: 3px;
	color: #fb3099;
}

#kontakt .submit {
	background: #fb3099;
	width: 150px;
	display: inline-block;
	border: 0;
	border-bottom: 3px solid #fb3099; 
}

#kontakt .submit {
	padding: 15px 35px 12px 35px;
	display: block;
	color: #fff;
	text-decoration: none;
	font-family: 'Open Sans Condensed', sans-serif;
	text-transform: uppercase;
	font-size: 1.2000em;
}

#kontakt .submit:hover {
	color: #fff;
	border-bottom: 3px solid #d21a79; 
	cursor: pointer;
}


/* ##### FOOTER ##### */

#footer_nav a.login {
	color: #3D3D3D;
}

#article-footer p { font-size: 0.8667em; /* 15px */ line-height: 1.5000em; /* 24px */ margin: 0 0 1.6000em 0; }

#article-footer h3 { font-size: 0.8667em; /* 15px */ line-height: 1.5000em; /* 24px */ margin: 0 0 1.6000em 0; text-transform: uppercase; color: #fff; font-weight: bold;}

#article-footer .grid4 {
	padding: 0 30px;
}

#footer_nav {
	background: #3d3d3d;
	margin: 30px 0 0 0;
	padding: 0 40px 40px 40px;
}

#footer_nav a {
   -moz-transition: color 0.2s linear;
   -webkit-transition: color 0.2s linear;
   -o-transition: color 0.2s linear;
	transition: color 0.2s linear;
	color: #B3B4B4;
	font-size: 0.8667em;
	text-decoration: none;
	float: left;
	margin-right: 20px;
	line-height: 4em;
}

#footer_nav a:hover {
	color: #e0e0e0;
}

#footer_nav a.vollmacht {
	background: transparent no-repeat right 30px;
   -moz-transition: all 0.2s linear;
   -webkit-transition: all 0.2s linear;
   -o-transition: all 0.2s linear;
	transition: all 0.2s linear;
	padding-right: 22px;
}

#footer_nav a.vollmacht:hover {
	opacity: 1;
	background: url("./img/document_pdf.png") no-repeat center right;
}

@media screen and (min-width: 768px) and (max-width: 979px) {
	#container {padding-left: 186px;}
	#left {width: 186px;right: 186px;}	
	#sub_nav ul {
		padding-left: 15px;
	}
	
	#sub_nav li {
		padding-left: 5px;
	}
	#rechtsgebiete .grid4 {
	width: 214px;
}
	#main {
		padding: 10px 20px 80px 20px;
	}

	.single_col #main {
		border-left: 0;
	}
	
	
	.single_col #container {
		padding-left: 0;
	}
}

@media screen and (min-width: 768px) {
#logo {
		width: 542px;
}	
	
	#main_nav {
		height: 50px;
		background: #fb3099;
		padding: 0 15px;
	}
	
	.js .nav-collapse a {
	    float: left;
	    display: block;
	    margin-right: 20px;
	    color: #fff;
	    text-decoration: none;
		padding: 0 10px;
	    line-height: 50px;
	    text-transform: uppercase; 
	}
	
	.js .nav-collapse a:hover {
		line-height: 44px;
		border-top: 3px solid #d21a79; 
	}
	
	.js .nav-collapse a:active, .js .nav-collapse a:focus {
		margin-top: 1px;
	}
	
}

@media screen and (max-width: 767px) {
	#main_nav {
		background: #505050;
			}
	#main {
		padding: 10px 40px 30px 40px;
	}
	
	#left {
		padding-left:50px;
	} 
	
#logo {
	margin: 20px auto;
	margin-bottom: 40px;

}

#logo h1 {
	padding: 0 60px;
	margin: 20px 0 0 0;
	text-align: center;
}

#signet {
	margin: 0 auto;
}

#logo h2 {
	margin: 5px 0 0 0;
	text-align: center;
}
.js .nav-collapse li a, a.nav-toggle {
	    display: block;
	    color: #fff;
	    text-decoration: none;
		padding: 0 20px;
	    line-height: 50px;
	    text-transform: uppercase; 
	    text-align: center;
	}
	
	.js .nav-collapse li a {
	    border-bottom: 1px solid white;
	}
	
	#teaser {
		display: none;
	}
	
	#sub_nav ul {
		padding: 0;
		list-style-type: none;
	}
	
	#sub_nav ul li {
		float: left;
		padding: 0 6px 0 0;
	}
	
	#sub_nav ul li span:after {
		content: ',';
	}
	
	#sub_nav ul li.last span:after {
		content: '';
	}
	
	}
	
	
	@media only screen and (min-width : 320px) and (max-width : 480px) {
#main {
		padding: 10px 5px 20px 5px;
	}
	#article-footer .grid4 {
	padding: 0 5px;
}
#footer_nav {
	padding: 0 15px 20px 15px;
}

	#left {
		padding-left:15px;
	} 


}
	
	
	
	
	
	
	
	
	
	
	

/* ================ The Timeline ================ */

.timeline {
  position: relative;
  
  margin: 0 auto;
  margin-top: 20px;
  padding: 1em 0;
  list-style-type: none;
}

.timeline:before {
  position: absolute;
  left: 10px;
  top: 0;
  content: ' ';
  display: block;
  width: 6px;
  height: 100%;
  margin-left: -3px;
  background: rgb(241,241,241);
  background: -moz-linear-gradient(top, rgba(241,241,241,0) 0%, rgb(241,241,241) 8%, rgb(241,241,241) 92%, rgba(241,241,241,0) 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(30,87,153,1)), color-stop(100%,rgba(125,185,232,1)));
  background: -webkit-linear-gradient(top, rgba(241,241,241,0) 0%, rgb(241,241,241) 8%, rgb(241,241,241) 92%, rgba(241,241,241,0) 100%);
  background: -o-linear-gradient(top, rgba(241,241,241,0) 0%, rgb(241,241,241) 8%, rgb(241,241,241) 92%, rgba(241,241,241,0) 100%);
  background: -ms-linear-gradient(top, rgba(241,241,241,0) 0%, rgb(241,241,241) 8%, rgb(241,241,241) 92%, rgba(241,241,241,0) 100%);
  background: linear-gradient(to bottom, rgba(241,241,241,0) 0%, rgb(241,241,241) 8%, rgb(241,241,241) 92%, rgba(241,241,241,0) 100%);
  z-index: 5;
}

.timeline li {
  padding: 1em 0;
}

.timeline li:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  margin-bottom: 20px;
}

.direction-l {
  position: relative;
  width: 300px;
  float: left;
  text-align: right;
}

.direction-r {
  position: relative;
  margin-left: 34px;
  float: left;
}

.flag-wrapper {
  position: relative;
  display: inline-block;
  
  text-align: center;
}

.flag {
  position: relative;
  display: inline;
  background: rgb(248,248,248);
  padding: 6px 10px;
  
  color: #5F5E5E;
font-family: 'Open Sans Condensed',sans-serif;
font-weight: 700;
text-transform: uppercase;
  text-align: left;
}

.direction-l .flag {
  -webkit-box-shadow: -1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
  -moz-box-shadow: -1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
  box-shadow: -1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
}

.direction-r .flag {
  -webkit-box-shadow: 1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
  -moz-box-shadow: 1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
  box-shadow: 1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
}

.direction-r .flag:before {
  position: absolute;
  top: 50%;
  left: -30px;
  content: ' ';
  display: block;
  width: 12px;
  height: 12px;
  margin-top: -5px;
  background: #fb3099;
  border-radius: 10px;
  z-index: 10;
}


.direction-l .flag:after {
  content: "";
  position: absolute;
  left: 100%;
  top: 50%;
  height: 0;
  width: 0;
  margin-top: -8px;
  border: solid transparent;
  border-left-color: rgb(248,248,248);
  border-width: 8px;
  pointer-events: none;
}

.direction-r .flag:after {
  content: "";
  position: absolute;
  right: 100%;
  top: 50%;
  height: 0;
  width: 0;
  margin-top: -8px;
  border: solid transparent;
  border-right-color: rgb(248,248,248);
  border-width: 8px;
  pointer-events: none;
}

.time-wrapper {
  display: inline;
  line-height: 1em;
  font-size: 0.66666em;
  color: #FB3099;
  vertical-align: middle;
}

.direction-l .time-wrapper {
  float: left;
}

.direction-r .time-wrapper {
  float: right;
}

.time {
  display: inline-block;
  padding: 4px 6px;
  background: rgb(248,248,248);
}

.desc {
  margin: 1em 0.75em 0 0;

  line-height: 1.5em;
}

.direction-r .desc {
  margin: 1em 0 0 0.75em;
}

/* ================ Timeline Media Queries ================ */

@media screen and (max-width: 768px) {

.timeline {
 	width: 100%;
	padding: 4em 0 1em 0;
}

.timeline:before {
 
  left: 50%;
}

.timeline li {
	padding: 2em 0;
}

.direction-l,
.direction-r {
	float: none;
	width: 100%;
	margin-left: 0;
	text-align: center;
}

.flag-wrapper {
	text-align: center;
}

.flag {
	background: rgb(255,255,255);
	z-index: 15;
}

.direction-l .flag:before,
.direction-r .flag:before {
  position: absolute;
  top: -30px;
	left: 50%;
	content: ' ';
	display: block;
	width: 12px;
	height: 12px;
	margin-left: -9px;
	background: #fff;
	border-radius: 10px;
	z-index: 10;
}

.direction-l .flag:after,
.direction-r .flag:after {
	content: "";
	position: absolute;
	left: 50%;
	top: -8px;
	height: 0;
	width: 0;
	margin-left: -8px;
	border: solid transparent;
	border-bottom-color: rgb(255,255,255);
	border-width: 8px;
	pointer-events: none;
}

.time-wrapper {
	display: block;
	position: relative;
	margin: 10px 0 0 0;
	z-index: 14;
}

.direction-l .time-wrapper {
	float: none;
}

.direction-r .time-wrapper {
	float: none;
}

.desc {
	position: relative;
	margin: 0;
	padding: 1em;
	background: rgb(245,245,245);
	-webkit-box-shadow: 0 0 1px rgba(0,0,0,0.20);
	-moz-box-shadow: 0 0 1px rgba(0,0,0,0.20);
	box-shadow: 0 0 1px rgba(0,0,0,0.20);
	
  z-index: 15;
}

.direction-l .desc,
.direction-r .desc {
	position: relative;
	margin: 1em 1em 0 1em;
	padding: 1em;
	
  z-index: 15;
}

}

	
	
	
/* ================ EXPLORER ================ */


.ie8 #logo {
		width: 542px;
}	
	
	.ie8 #main_nav {
		height: 50px;
		background: #fb3099;
		padding: 0 15px;
	}
	
	.ie8 .nav-collapse a {
	    float: left;
	    display: block;
	    margin-right: 20px;
	    color: #fff;
	    text-decoration: none;
		padding: 0 10px;
	    line-height: 50px;
	    text-transform: uppercase; 
	}
	
	.ie8 .nav-collapse a:hover {
		line-height: 44px;
		border-top: 3px solid #d21a79; 
	}
	
	.ie8 .nav-collapse a:active, .ie8 .nav-collapse a:focus {
		margin-top: 1px;
	}
	


















