/* Start of CMSMS style sheet 'Layout: Top menu + 2 columns' */
* {
	margin: 0;
	padding: 0;
}

body {
	text-align: left;
	font-family: Lucida Grande,Lucida Sans Unicode,Helvetica,Arial,Verdana,sans-serif;
	font-size: 75.01%;
	line-height: 1em;
}

div {
	font-size: 1em;
}

img {
	border: 0;
}

a, a:link a:active {
	text-decoration: none;
	background-color: inherit;
	color: #00a6db;
}
a:visited {
	text-decoration: none;
	background-color: inherit;
	color: #00a6db;
}
a:hover {
	text-decoration: underline;
	background-color: inherit;
	color: #109dd5;
}
a.bluelink {
background: url(images/arrow_blue.gif) no-repeat right center;
padding-right: 10px;
}

.img_small {
float: left;
margin-right: 20px;
margin-top: -5px;
}

/*****************basic layout *****************/
body {
	margin: 0;
	padding: 0;
	color: #333;
	background: #f7f7f7 url(images/bg.jpg) repeat-x;
}

body#subpage {
	margin: 0;
	padding: 0;
	color: #333;
	background: #0078b2 url(images/bg_sub.jpg) repeat-x;
}

div#pagebg_bottom{
background: #0076b0 url(images/page_bg_bottom.jpg) no-repeat top center;
min-height: 180px;
overflow: hidden;
}

div#pagebg_sub {
background: url(images/bg_sub_top.jpg) no-repeat top center;
height: 40px;
overflow: hidden;
}

#pagebg_sub_bottom {
background: url(images/bg_sub_bottom.jpg) no-repeat;
}

#pagewrapper,
.pagewrapper {
	width: 993px;
	margin: 0 auto;
	color: #666;
}

.pagewrapper_sub {
	width: 990px;
	margin: 0 auto;
	color: black;
}

div#header {
	height: 75px;
	margin: 0;
	padding: 0;
}

div#header h1 a {
	background: url(images/logo.png) no-repeat left 20px;
	display: block;
	height: 68px;
	text-indent: -999em;
	text-decoration: none;
}


div#header h2 {
	float: right;
	line-height: 1.2em;
	font-size: 1.5em;
	margin: 35px 65px 0px 0px;
	color: #f4f4f4;
}

.topnavigation {
float: right;
margin-top: -40px;
width: 256px;
}

.twitter {
float: left;
width: 56px;
margin-right: 30px;
margin-top: -12px;
}


#moveme {
margin-left: -1px;
}



#banner_home {
margin-top: 30px;
height: 353px;
}

#banner {
height: 353px;
margin-top: 30px;
border-left: 1px solid #E0E0E0;
border-right: 1px solid #E0E0E0;
border-bottom: 1px solid #E0E0E0;
overflow: hidden;
}

#banneroverlay {
top: 143px;
background: url(images/banner_frame.png) no-repeat;
position: absolute;
height: 14px;
width: 993px;
z-index: 3;
}

#banneroverlay.feat {
background: url(images/banner_frame.png) no-repeat;
}

#banner_small {
margin-top: 30px;
border-left: 1px solid #E0E0E0;
border-right: 1px solid #E0E0E0;
border-bottom: 1px solid #E0E0E0;
overflow: hidden;
height: 249px;
}

div.ref_large_img {
border: 1px solid #E0E0E0;
padding: 3px;
}

img.ref_large_img {
border: 1px solid #E0E0E0;
padding: 3px;
}

#products {
overflow: hidden;
height: 100%;
margin-bottom: 0px;
margin-top: 10px;
}

.productblock {
float: left;
width: 207px;
height: 250px;
}

#prod1, #prod2, #prod3 {
margin-right: 40px;
}

.producttext {
padding: 8px 4px 8px 6px;
}

div#content .producttext h3 {
font-size: 16px;
}


#subcontentleft,
#subcontentright {
float: left;
width: 489px;
}

#subcontentright {
width: 504px;
}

#subcontentright img {
margin-left: 10px;
margin-bottom: 6px;
}

#subbanner {
margin: 15px 0px 20px 0px;
padding: 0px;
}


div#search {
	float: right;
	width: 240px;
	text-align: right;
	padding: 0px;
	margin-top: -32px;
}

div#search input.field {
        float: left;
        background: url(images/bg_searchfield.jpg) no-repeat center center;
        border: none;
        padding: 5px 10px 5px 20px;
        color: #666;
}

input.search-button {
        float: left;
	border: none;
	width: 47px;
        height: 24px;
	margin-right: 12px;

	padding: 8px 2px 2px 0px;
	cursor: pointer;
        text-indent: -999em;
	background: url(images/btn_go.jpg) no-repeat center center;
}

input.search-button:hover {
	background: url(images/btn_go_hover.jpg) no-repeat center center;
}


ul#searchresults {
}

ul#searchresults li {
margin: 10px 0px 10px 0px;
font-size: 12px;
}



#contenttop,
.contenttop  {
    background: url(images/bg_page_top.jpg) no-repeat;
    height: 9px;
    margin-top: 30px;
}


#contentbottom,
.contentbottom {
    background: url(images/bg_page_bottom.jpg) no-repeat;
height: 15px;
margin-bottom: 20px;
}

div#content,
.content  {
	margin: 0em auto 0em 0;
        padding: 20px;
        border-left: 1px solid #e0e0e0;
        border-right: 1px solid #e0e0e0;
        background: #FFF;
        height: 100%;
        overflow: hidden;
}

.content .left {
float: left;
width: 450px;
}

.reasonimages {
float: left;
margin-right: 10px;
}

.content .right {
float: right;
width: 450px;
}

div#content.front {
	margin: 0em auto 0em 0;
        padding: 20px;
        border-left: 1px solid #e0e0e0;
        border-right: 1px solid #e0e0e0;
        background: #FFF url(images/bg_products_home.jpg) no-repeat;
}

.contentblock_intro {
border-bottom: 1px solid #e0e0e0;
padding: 0px 0px 20px 0px;
margin: 20px 30px 20px 30px;
}

.contentblock_main {
margin: 30px 30px 15px 30px;
border-bottom: 1px solid #e0e0e0;
padding: 0px 0px 20px 0px;
height: 100%;
overflow: hidden;
}

div#main {
padding: 10px 15px;
clear: both;
}


div#footer {
        overflow: hidden;
        height: 100%;
        margin-top: 30px;
        margin-bottom: 30px;
	padding: 0px 0px 0px 10px;
	color: #f7f7f7;
}

div#footer.sub {
        overflow: hidden;
        height: 100%;
        margin-top: 0px;
        margin-bottom: 30px;
	padding: 30px 0px 0px 10px;
	color: #f7f7f7;
}

.footerblock1,
.footerblock2,
.footerblock3,
.footerblock4,
.footerblock5 {
        width: 180px;
        height: 120px;
        float: left;
        background: url(images/spacer.png) repeat-y top right;
}


.footerblock2,
.footerblock3,
.footerblock4,
.footerblock5 {
        padding-left: 20px;
}

.footerblock5 {
        background: none;
}


div#footer p {
	font-size: 1em;
	padding: 0px 0px 10px 0px;
	text-align: left;
	margin: 0;
        color: #dee5e9;
}

div#footer p a {
	color: #dee5e9;
}

div#socialmarks {
        background: url(images/bg_footer_socials.png) no-repeat;
        height: 70px;
        margin-left: -30px;
        width: 1200px;
        padding-top: 15px;
}

.socialholder {
margin-left: 200px;
background: #FFF;
width: 280px;
height: 20px;
padding: 5px;
}

div.hr {
	height: 1px;
	padding: 1em;
	border-bottom: 1px dotted black;
	margin: 1em;
}

/* relational links under content */
div.left49 {
/* combined percentages of left+right equaling 100%  might lead to rounding error on some browser */
	width: 70%;
}
div.right49 {
	float: right;
	width: 29%;
/* set right to keep text on right */
	text-align: right;
}
/********************CONTENT STYLING*********************/

div.contentimages {
float: left;
margin-right: 20px;
margin-bottom: 10px;
}

img.contentimages {
float: left;
margin-right: 60px;
margin-bottom: 10px;
}

div.contentimages_right {
float: right;
margin-left: 20px;
margin-bottom: 10px;
}

img.contentimages_right {
float: right;
margin-left: 60px;
margin-bottom: 10px;
}

/* HEADINGS */
div#content h1 {
	font-size: 2em;
	line-height: 1em;
	margin: 0;
}

div#content h2,
div#subcontent h2,
div#subcontentleft h2,
.content h2 {
        color:#000000;
        font-family:"Myriad Pro","Lucida Grande","Lucida Sans Unicode",Helvetica,Arial,Verdana,sans-serif;
        font-size:18px;
        font-weight:600;
        line-height:21px;
}

.content h2 {
margin-bottom: 20px;
}

div#content .contentblock_main h2,
div#content .contentblock_blog h2 {
        color:#000000;
        font-family:"Myriad Pro","Lucida Grande","Lucida Sans Unicode",Helvetica,Arial,Verdana,sans-serif;
        font-size:30px;
        font-weight:600;
        line-height:30px;
        padding-bottom: 15px;
}

div#content h3,
div#subcontent h3,
div#subcontentleft h3,
.content h3 {
	color: #333;
	font-size: 12px;
	text-align: left;
	padding-left: 0em;
	padding-bottom: 1px;
	line-height: 1.5em;
	margin: 0;
}

.content h3 {
font-size: 14px;
 font-weight: normal;
}

div#content .contentblock_intro h3 {
color:#333333;
font-size:18px;
line-height:22px;
margin:0 295px 0 0;
font-weight: 400;
}

div#content .contentblock_main h3 {
      color:#333333;
font-size:18px;
line-height:22px;
font-weight: 400;
}

div#content h4 {
	color: #294B5F;
	font-size: 1.2em;
	line-height: 1.3em;
	margin: 0 0 0.25em 0;
}
div#content h5 {
	color: #294B5F;
	font-size: 1.1em;
	line-height: 1.3em;
	margin: 0 0 0.25em 0;
}
h6 {
	color: #294B5F;
	font-size: 1em;
	line-height: 1.3em;
	margin: 0 0 0.25em 0;
}
/* END HEADINGS */
/* TEXT */


div#content .contentblock_main p,
div#content .contentblock_blog p, 
div#content .contentblock_blogsidebar p,
.serviceback p {
	font-size: 14px;
	margin: 0 0px 15px 0px;
	line-height: 1.4em;
	padding: 0;
        color:#333333;
}

.producttext p {
	font-size: 12px;
	margin: 0 0px 15px 0px;
	line-height: 1.4em;
	padding: 0;
        color:#333333;
}

p {
	font-size: 11px;
	margin: 0 0 1.5em 0;
	line-height: 1.4em;
	padding: 0;
}
blockquote {
	border-left: 10px solid #ddd;
	margin-left: 10px;
}
strong, b {
/* explicit setting for these */
	font-weight: bold;
}
em, i {
/* explicit setting for these */
	font-style: italic;
}
/* Wrapping text in <code> tags. Makes CSS not validate */
code, pre {
/* css-3 */
	white-space: pre-wrap;
/* Mozilla, since 1999 */
	white-space: -moz-pre-wrap;
/* Opera 4-6 */
	white-space: -pre-wrap;
/* Opera 7 */
	white-space: -o-pre-wrap;
/* Internet Explorer 5.5+ */
	word-wrap: break-word;
	font-family: "Courier New", Courier, monospace;
	font-size: 1em;
}
pre {
/* black border for pre blocks */
	border: 1px solid #000;
/* set different from surroundings to stand out */
	background-color: #ddd;
	margin: 0 1em 1em 1em;
	padding: 0.5em;
	line-height: 1.5em;
	font-size: 90%;
}
/* Separating the divs on the template explanation page */
div.templatecode {
	margin: 0 0 2.5em;
}
/* END TEXT */
/* LISTS */
/* lists in content need some margins to look nice */
div#main ul,
div#main ol,
div#main dl {
	font-size: 1.0em;
	line-height: 1.4em;
	margin: 0 0 1.5em 0;
}
div#main ul li,
div#main ol li {
	margin: 0 0 0.25em 3em;
}
/* definition lists topics on bold */
div#main dl {
	margin-bottom: 2em;
	padding-bottom: 1em;
	border-bottom: 1px solid #c0c0c0;
}
div#main dl dt {
	font-weight: bold;
	margin: 0 0 0 1em;
}
div#main dl dd {
	margin: 0 0 1em 1em;
}
/* END LISTS */



.kontaktleft {
float: left;
width: 400px;
}

.kontaktright {
float: right;
width: 400px;
}

.kontaktbox {
                -moz-border-radius: 5px;
		-webkit-border-radius: 5px;
		border: 1px solid #cdcdcd;
		padding: 10px 10px 10px 0px;
		margin-bottom: 20px;
		background: #fafafa;
}

.kontaktboximg {
float: left;
margin: 0px 20px 30px 10px;

}

#referenz_holder {
margin-left: -27px;
}

.boxgrid{ 
width: 271px; 
height: 199px; 
margin-left:27px;
margin-bottom:30px; 
float:left; 
background:#FFF url(images/bg_referenzen.jpg) no-repeat center; 
border: solid 1px #CCC; 
padding: 3px;
overflow: hidden; 
position: relative; 
}



div#content .contentblock_main .boxgrid h3 { 
color: #FFF;
font-weight: normal;
font-size: 20px;
text-shadow: 0px -1px 0px #1b6986;
margin-bottom: 15px;
}

div#content .contentblock_main .boxgrid p.small { 
color: #066c90;
font-weight: normal;
font-size: 9px;
margin: 0px 0px 5px 0px;
padding: 0px;
line-height: 9px;
border-bottom: 1px dotted #066c90;
}

.boxgrid_content {
padding: 10px;
}

div#content .contentblock_main .boxgrid a {
color: #FFF;
}

div#content .contentblock_main .boxgrid a:hover {
color: #aae5ff;
}

.boxgrid img { 
position: absolute; 
top: 3; 
left: 3; 
border: 0; 
}

.boxgrid p,
 .boxgrid p a { 
padding: 0; 
color:#99cce3; 
font-weight:bold; 
font:10pt "Lucida Grande", Arial, sans-serif; 
text-decoration: none;
}

.boxgrid p a:hover { 
color:#000; 
}

				
.boxcaption{ 
float: left; 
position: absolute; 
background: #000; 
height: 100px; 
width: 100%; 
opacity: .8; 
/* For IE 5-7 */
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
/* For IE 8 */
-MS-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
}
.captionfull .boxcaption {
top: 260;
left: 0;
}
.caption .boxcaption {
top: 220;
left: 0;
}

/* Start button effects */

.homebutton {
	float: left;
	width:47px;
	height:38px;
	display:block;
	background-image:url(images/navigation.png);
	background-position: top left;
        background-color: none;
        display: none;
        cursor: pointer;
}

.homebutton span.hover{
	position: absolute;
	display: block;
	width:47px;
	height:38px;
	background-position: bottom left;
        background-color: none;
	background-image:url(images/navigation.png);
}

/* Next button effects */

.servicebutton {
	float: left;
	width:89px;
	height:38px;
	display:block;
	background-image:url(images/navigation.png);
	background-position: -136px 0px;
        cursor: pointer;
}
.servicebutton span.hover{
	position: absolute;
	display: block;
	width:89px;
	height:38px;
	background-position: -136px 38px;
	background-image:url(images/navigation.png);
}

/* Next button effects */

.supportbutton {
	float: left;
	width:75px;
	height:28px;
	display:block;
	background-image:url(images/bg_topnav.png);
	background-position: top left;
        cursor: pointer;
}
.supportbutton span.hover{
	position: absolute;
	display: block;
	width:75px;
	height:27px;
	background-position: bottom left;
	background-image:url(images/bg_topnav.png);
        background-color: #f9f9f9;
}

/* Next button effects */

.loginbutton {
	float: left;
	width:95px;
	height:28px;
	display:block;
	background-image:url(images/bg_topnav.png);
	background-position: top right;
        cursor: pointer;
}
.loginbutton span.hover{
	position: absolute;
	display: block;
	width:95px;
	height:27px;
	background-position: bottom right;
	background-image:url(images/bg_topnav.png);
        background-color: #f9f9f9;
}

/* End button effects */

#menuwrapper {
background: url(images/bg_menuwrapper.png) top right ;
height: 38px; 
}

ul#primary-nav li {
       float: left;
 list-style-type: none;

}

/* Next button effects */

.home,
.menuactive_home {
	float: left;
	width:48px;
	height:38px;
	display:block;
	background-image:url(images/bg_mainnav.png);
	background-position: 0px -39px;
        cursor: pointer;
}

.home span.hover {
	float: left;
	width:48px;
	height:38px;
	display:block;
	background-image:url(images/bg_mainnav.png);
        background-position: 0px -39px;
        background-color: #d9d9d9;
}

/* Next button effects */

.services,
.menuactive_services {
	float: left;
	width:89px;
	height:38px;
	display:block;
	background-image:url(images/bg_mainnav.png);
	background-position: -48px 0px;
        cursor: pointer;
}

.services span.hover {
	position: absolute;
	display: block;
	width:89px;
	height:38px;
	background-position: -48px -39px;
	background-image:url(images/bg_mainnav.png);
        background-color: #d9d9d9;
}

/* Next button effects */

.portfolio,
.menuactive_portfolio {
	float: left;
	width:91px;
	height:38px;
	display:block;
	background-image:url(images/bg_mainnav.png);
	background-position: -137px 0px;
        cursor: pointer;
}

.portfolio span.hover{
	position: absolute;
	display: block;
	width:91px;
	height:38px;
	background-position: -137px -39px;
	background-image:url(images/bg_mainnav.png);
        background-color: #d9d9d9;
}

/* Next button effects */

.ueber-uns,
.menuactive_ueber-uns {
	float: left;
	width:90px;
	height:38px;
	display:block;
	background-image:url(images/bg_mainnav.png);
	background-position: -228px 0px;
        cursor: pointer;
}

.ueber-uns span.hover{
	position: absolute;
	display: block;
	width:90px;
	height:38px;
	background-position: -228px -39px;
	background-image:url(images/bg_mainnav.png);
        background-color: #d9d9d9;
}

/* Next button effects */

.blog,
.menuactive_blog {
	float: left;
	width:59px;
	height:38px;
	display:block;
	background-image:url(images/bg_mainnav.png);
	background-position: -318px 0px;
        cursor: pointer;
}

.blog span.hover{
	position: absolute;
	display: block;
	width:59px;
	height:38px;
	background-position: -318px -39px;
	background-image:url(images/bg_mainnav.png);
        background-color: #d9d9d9;
}

/* Next button effects */

.kontakt,
.menuactive_kontakt {
	float: left;
	width:23px;
	height:38px;
	display:block;
	background-image:url(images/bg_mainnav.png);
	background-position: -577px 0px;
        
}



/* service subnavigation */

.servicenav {
height: 20px;
margin: 0px 30px 0px 30px;
border-bottom:1px solid #E0E0E0;
}

.serviceback {
margin: 0px 30px 0px 30px;
}

.servicenav ul,
.serviceback ul {
list-style: none;
float: right;
}

.servicenav ul li,
.serviceback ul li{
float: left;
font-size:14px;
line-height:1.4em;
}

.servicenav ul li.currentpage
.serviceback ul li.currentpage {
color: #000;
}

/* Next button effects */

.moreinfo_button {
	float: left;
	width:106px;
	height:28px;
	display:block;
	background-image:url(images/weitereinfos_button.jpg);
	background-position: 0px 0px;
        cursor: pointer;
}


.moreinfo_button span.hover{
	position: absolute;
	display: block;
	width:106px;
	height:29px;
	background-position: 0px -29px;
	background-image:url(images/weitereinfos_button.jpg);
}

#newsletter_signup {
background: url(images/newsletter_bg.jpg) no-repeat;
height: 57px;
margin-bottom: 20px;
}

#newsletter_signup input {
background: url(images/newsletter_input.jpg) no-repeat;
border: none;
padding: 10px;
width: 220px;
margin-left: 630px;
margin-top: 10px;
font-size: 12px;
}

.newsletter_button {
	float: left;
	width:75px;
	height:30px;
	display:block;
	background-image:url(images/newsletter_btn_signup.jpg);
	background-position: 0px 0px;
        text-indent: -999em;
        margin-top: 7px;
        margin-left: 20px;
}

.newsletter_button span.hover{
	position: absolute;
	display: block;
	width:75px;
	height:30px;
	background-position: -75px 0px;
	background-image:url(images/newsletter_btn_signup.jpg);
}
/* End of 'Layout: Top menu + 2 columns' */