/*
 * HTML5 Boilerplate
 *
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html,
button,
input,
select,
textarea {
    color: #222;
}

body {
    font-size: 1em;
    line-height: 1.4;
}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

/*
 * Remove the gap between images and the bottom of their containers: h5bp.com/i/440
 */

img {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0;
	font-size: 16px;
	text-transform: uppercase;
}

address {
	font-style: normal;
}

ul {
	list-style-type: square;
	margin: 0 0 30px;
	padding: 0 0 0 20px;
}

p {
	margin: 0 0 25px;
	padding: 0;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */
html, body {
	background: url(../images/bodybg.png) repeat-x #bbb;
	color: #3c3c3c;
	font-family: Helvetica, Arial, sans-serif;
	font-weight: normal;
	text-align: left;
	font-size: 13px;
	line-height: 24px;
}

#wrapper {
	width: 990px;
	margin: 0 auto 50px;
	position: relative;
}


/* ==========================================================================
  Head
   ========================================================================== */
#head {
	width: 100%;
	height: 63px;
	margin-top: 35px;
	margin-bottom: 35px;
	position: relative;
	z-index: 100;
}

#head a#logo {
	width: 275px;
	height: 78px;
	margin-right: 10px;
	display: block;
	float: left;
}

#head #navigation {
	position: relative;
	z-index: 200;
}

#head #navigation ul {
	float: left;
	padding: 0;
	margin-top: 48px;
}

#head #navigation ul li {
	background: #6d6f6d;
	float: left;
	margin-right: 1px;
}

#head #navigation ul li:last-child,
#head #navigation ul li.last {
	margin-right: 0;
}

#head #navigation ul li a {
	min-width: 145px;
	display: inline-block;
	padding: 3px 15px;
	
	color: #fff;
	font-size: 13px;
	text-transform: uppercase;
	text-decoration: none;
}

.ie7 #head #navigation ul li a,
.ie8 #head #navigation ul li a {
	min-width: 145px !important;
}

#head #navigation ul li:hover,
#head #navigation ul li a.active {
	background: #4e7d9c;
}


/* ==========================================================================
   Content & Sidebar
   ========================================================================== */
#content {
	width: 700px;
	min-height: 500px;
	margin-right: 20px;
	float: left;
	
	font-size: 15px;
	letter-spacing: 0.5px;
}

#content .title {
	background: #4c7c9d;
	width: 650px;
	height: 30px;
	padding: 5px 25px;
	
	color: #fff;
	font-size: 14px !important;
	line-height: 30px;
	
	position: absolute;
	top: 0;
	left: 0;
}

#content .top-article {
	background: #4c7c9d;
	color: #fff;
	padding: 40px 25px 25px;
	margin-bottom: 25px;
	position: relative;
}

#content .top-article img {
	margin: 0 0 25px -25px;
	max-width: 700px;
	position: relative;
	height: auto;
}

#content .article {
	background: #fff;
	padding: 65px 25px 25px;
	margin-bottom: 25px;
	position: relative;
}

#content .article img {
	max-width: 650px;
}

#content ul.gallery {
	overflow: hidden;
	padding: 0;
	list-style-type: none;
}

#content ul.gallery li {
	float: left;
	margin-right: 10px;
}

/* Family Tree */
#content .family-tree ul.parents {
	background: url(../images/parent-lines.png) no-repeat 69px 1px;
	width: 300px;
	height: 555px;
	padding: 0;
	margin: 32px 0 0;
	list-style-type: none;
	float: left;
	overflow: hidden;
}

#content .family-tree ul.parents li {
	text-align: center;
	width: 170px;
}

#content .family-tree ul.parents li.first {
	margin-bottom: 116px;
}

#content .family-tree ul.parents li a {
	margin-top: 5px;
}

#content .family-tree ul.parents li a img {
	display: block;
	margin: 0 auto;
	filter: alpha(opacity = 100);
	opacity: 1.0;
}

#content .family-tree ul.parents li a span {
	display: block;
	color: #3c3c3c;
}

#content .family-tree ul.parents li a:hover {
	text-decoration: underline;
}

#content .family-tree ul.parents li a:hover span {
	text-decoration: none;
}

#content .family-tree ul.parents li a:hover img {
	filter: alpha(opacity = 80);
	opacity: 0.8;
}

#content .family-tree ul.childs {
	width: 315px;
	list-style-type: none;
	float: left;
	padding: 0;
	margin: 0;
	overflow: hidden;
}

#content .family-tree ul.childs li {
	background: url(../images/child-lines.png) no-repeat left top;
	width: 270px;
	height: 82px;
	padding-left: 50px;
	position: relative;
}

#content .family-tree ul.childs li.first {
	background: url(../images/child-line-first.png) no-repeat 0 3px;
	height: 81px;
}

#content .family-tree ul.childs li.last {
	background: url(../images/child-line-last.png) no-repeat 0 2px;
	height: 82px;
}

#content .family-tree ul.childs li a {
	display: block;
	
	position: absolute;
	top: 7px;
	left: 50px;
}

#content .family-tree ul.childs li a img {
	margin-right: 15px;
	filter: alpha(opacity = 100);
	opacity: 1.0;
}

#content .family-tree ul.childs li a span {
	color: #3c3c3c;
	font-weight: normal;
}

#content .family-tree ul.childs li a:hover {
	text-decoration: underline;
}

#content .family-tree ul.childs li a:hover span {
	text-decoration: none;
}

#content .family-tree ul.childs li a:hover img {
	filter: alpha(opacity = 80);
	opacity: 0.8;
}

/* Firmengeschichte */
.history-01 {
	background: url(../images/history-01.jpg) no-repeat center top;
	width: 250px;
	height: 360px;
	margin: 0 auto;
	position: relative;
}

.history-02 {
	background: url(../images/history-02.jpg) no-repeat center top;
	width: 700px;
	height: 527px;
	margin-left: -25px;
	position: relative;
}

.history-03 {
	background: url(../images/history-03.jpg) no-repeat center top;
	width: 700px;
	height: 390px;
	margin-left: -25px;
	position: relative;
}

.history-01 a,
.history-02 a,
.history-03 a {
	width: 135px;
	display: block;
	
	font-size: 11px;
	line-height: 14px;
	text-align: center;
}

.history-01 a span,
.history-02 a span,
.history-03 a span {
	color: #333;
	display: block;
}

a.h1 { position: absolute; top: 88px; left: 59px; }
a.h2 { width: 150px; position: absolute; top: 273px; left: 51px; }

a.h3 { position: absolute; top: 100px; left: -15px; }
a.h4 { position: absolute; top: 100px; left: 87px; }
a.h5 { position: absolute; top: 100px; left: 228px; }
a.h6 { position: absolute; top: 100px; left: 430px; }
a.h7 { position: absolute; top: 100px; left: 580px; }

a.h8  { width: 120px; position: absolute; top: 285px; left: -15px; }
a.h9  { position: absolute; top: 285px; left: 82px; }
a.h10 { width: 125px; position: absolute; top: 285px; left: 182px; }
a.h11 { position: absolute; top: 285px; left: 282px; }
a.h12 { width: 100px; position: absolute; top: 285px; left: 400px; }
a.h13 { position: absolute; top: 285px; left: 484px; }
a.h14 { width: 95px; position: absolute; top: 285px; left: 604px; }
a.h15 { position: absolute; top: 470px; left: 383px; }
a.h16 { width: 91px; position: absolute; top: 470px; left: 507px; }
a.h17 { position: absolute; top: 470px; left: 135px; }
a.h18 { width: 91px; position: absolute; top: 470px; left: 258px; }

a.h19 { position: absolute; top: 130px; left: 383px; }
a.h20 { width: 90px; position: absolute; top: 315px; left: 407px; }
a.h21 { position: absolute; top: 130px; left: 235px; }
a.h22 { width: 90px; position: absolute; top: 315px; left: 255px; }


/* ==========================================================================
   Sidebar
   ========================================================================== */
#sidebar {
	width: 270px;
	float: left;
}

#sidebar .widget {
	background: #6d6f6d;
	padding: 12px;
	margin-bottom: 10px;
	color: #dddedd;
	line-height: 20px;
}

#sidebar .widget h3 {
	font-size: 16px;
	text-transform: uppercase;
	margin-bottom: 5px;
}

#sidebar .widget p {
	margin-bottom: 0;
}

#sidebar .widget a {
	color: #fff;
}

#sidebar .widget.search {
	padding: 5px;
	margin-bottom: 10px;
	color: #fff;
}

#sidebar .widget.search input {
	background: #8f9290;
	width: 236px;
}

#sidebar .widget .news {
	margin-bottom: 25px;
	line-height: 18px;
}

#sidebar .widget .news a {
	color: #dddedd;
}


#sidebar .widget .news .title {
	display: block;
	font-weight: bold;
}

#sidebar .widget .formfield {
	margin-bottom: 5px;
}

#sidebar .widget .formfield label {
	width: 85px;
	display: block;
	margin-right: 10px;
	float: left;
	line-height: 30px;
}

#sidebar .widget .formfield input[type="text"],
#sidebar .widget .formfield input[type="email"] {
	width: 127px;
	float: left;
}

#sidebar .widget input[type="submit"] {
	float: right;
	margin-top: 5px;
}

#sidebar .widget.footer {
	background: #4c7c9d;
	color: #fff;
}

#sidebar .widget.footer ul {
	padding: 0;
	margin: 0;
	list-style-type: none;
}

#sidebar .widget.footer ul li a {
	color: #fff;
	text-transform: uppercase;
	font-size: 13px;
}

#sidebar .csc-mailform ol {
	list-style-type: none;
	margin-top: 20px;
}

#sidebar .csc-mailform ol li {
	margin-bottom: 5px;
}

#sidebar .csc-mailform form label {
	float: none;
	width: 85px;
	display: block;
	margin-right: 10px;
	float: left;
	line-height: 30px;
}

#sidebar .csc-mailform form input[type="text"],
#sidebar .csc-mailform form input[type="email"] {
	width: 127px;
	float: left;
}


/* ==========================================================================
   Form classes
   ========================================================================== */
input[type="text"],
input[type="password"],
input[type="url"],
input[type="email"] {
	background: #8f9290;
	border: none;
	padding: 7px 12px;
	outline: none;
	
	font-size: 14px;
	font-weight: 100;
	color: #fff;
}

input[type="text"]:hover,
input[type="password"]:hover,
input[type="url"]:hover,
input[type="email"]:hover,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="url"]:focus,
input[type="email"]:focus {
	
}

input[type="submit"],
button[type="submit"] {
	background: #8f9290;
	padding: 7px 12px;
	outline: none;
	border: none;
	
	font-size: 13px;
	font-weight: 300;
	color: #dddedd;
}

input[type="submit"]:hover,
button[type="submit"]:hover {
	background: #a4a7a5;
	border: none;
}


@media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
	
	#logo {
	   background-image:url(../images/logo@2x.png);
	   background-size: 275px 78px;
	}
	
}



/* ==========================================================================
   Helper classes
   ========================================================================== */

.left 		{ float: left; }
.right 		{ float: right; }
.pointer	{ cursor: pointer;}

a {
	color: #4a7b9e;
	text-decoration: none;
	
	-moz-transition: all 0.3s ease 0s; 
	-webkit-transition: all 0.3s ease 0s; 
	transition: all 0.3s ease 0s; 
}

a:hover	{ 
	text-decoration: underline; 
}

a:focus	{ 
	background: none; 
}

a:link	{ 
	-webkit-tap-highlight-color: none; 
}

.hidden {
    display: none !important;
    visibility: hidden;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
    *clear: both;
}

::-webkit-input-placeholder { 
	color: #fff;
}

:-moz-placeholder {
   color: #fff;  
}

::-moz-placeholder {  /* Firefox 19+ */
   color: #fff;  
}

:-ms-input-placeholder {  
   color: #fff;  
}


/* tt_content */
.top-article div.csc-textpic .csc-textpic-imagewrap .csc-textpic-image { margin-bottom: 0; }
.top-article div.csc-textpic-center .csc-textpic-center-inner { 
	float: none;
    position: relative;
    right: 0;
}

.top-article div.csc-textpic-center .csc-textpic-center-outer { 
	float: none;
    position: relative;
    right: 0;
}

.top-article div.csc-textpic,
.top-article div.csc-textpic div.csc-textpic-imagerow,
.top-article ul.csc-uploads li,
.top-article div.csc-textpic-center .csc-textpic-imagewrap,
.top-article div.csc-textpic-center figure.csc-textpic-imagewrap {
	overflow: inherit;
}

.backbutton a {
	background: #FFFFFF;
	display: block;
	height: 40px;
	line-height: 43px;
	padding: 0 35px;
	width: 49px;
}

.backbutton a:hover {
	background: #f1f1f1;
	text-decoration: none;
}

#tx_indexedsearch legend {
	display: none;
}

#tx_indexedsearch .tx-indexedsearch-search-submit {
	float: right;
}

.item-path {
	display: inline;
}

dd.item-path {
	margin: 0 0 0 10px;
}

div.ttneewsdate {
	color: #FFFFFF;
	position: absolute;
	right: 15px;
	top: 10px;
}

section#content table.contenttable tbody tr td {
	padding: 0 40px 0px 0;
}

div#wrapper section#content article.article ul.csc-uploads.csc-uploads-2 li a img {
	border: 1px solid #4C7C9D;
	margin: 0 20px 20px 0;
	padding: 0;
}

#sidebar .widget.black {
	background: #313131;
	color: #BFBFBF;
}

div.news-list-item {
	position: relative;
}

div.news-list-item span.news-list-date {
	position: absolute;
	top: 0;
	right: 0;
}

div.news-list-item h2 {
	margin: 0 0 10px 0;
}

div.news-list-item img {
	margin: 20px 0;
}