/* --------------------------------------------------------------------------------------
 * reset
** -------------------------------------------------------------------------------------- */

  /* http://meyerweb.com/eric/tools/css/reset/ 
     v2.0 | 20110126
     License: none (public domain)
  */

  html, body, div, span, applet, object, iframe,
  h1, h2, h3, h4, h5, h6, p, blockquote, pre,
  a, abbr, acronym, address, big, cite, code,
  del, dfn, em, img, ins, kbd, q, s, samp,
  small, strike, strong, sub, sup, tt, var,
  b, u, i, center,
  dl, dt, dd, ol, ul, li,
  fieldset, form, label, legend,
  table, caption, tbody, tfoot, thead, tr, th, td,
  article, aside, canvas, details, embed, 
  figure, figcaption, footer, header, hgroup, 
  menu, nav, output, ruby, section, summary,
  time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
  }
  /* HTML5 display-role reset for older browsers */
  article, aside, details, figcaption, figure, 
  footer, header, hgroup, menu, nav, section {
    display: block;
  }
  /*
  body {
  line-height: 1;
  }
  ol, ul {
  list-style: none;
  }
  */
  blockquote, q {
    quotes: none;
  }
  blockquote:before, blockquote:after,
  q:before, q:after {
    content: '';
    content: none;
  }
  table {
    border-collapse: collapse;
    border-spacing: 0;
  }

/* --------------------------------------------------------------------------------------
 * init
** -------------------------------------------------------------------------------------- */

  html {
    height: 100%;
    overflow-y: scroll; /* always show vertical scrollbar */
  }
  body {
    font-size: 15px;
    font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;
    background: #f0f0f0;
    color: #231f20;
    position: relative;
  }

/* --------------------------------------------------------------------------------------
 * typo
** -------------------------------------------------------------------------------------- */

  /* common */

  h6, h5, h4, h3, h2, h1,
  p,
  li,
  th, td {
    font-size: 1em;
    font-weight: normal;
    line-height: 1.25;
    margin-bottom: 0.5em;
  }
  ul,
  ol {
    margin-bottom: 0.5em;
  }
  li {
    margin-bottom: 0.2em;
    margin-left: 2em;
  }
  table {
  	width: 100%;
  }
  th {
  	xfont-weight: bold;
  	xbackground-color: #e9e9e9;
  	font-weight: bold;
  	background-color: #ddd;
  }
  th, td {
    margin-bottom: 0;
    xborder: solid 1px #ddd;
    border: solid 1px #fff;
  	background-color: #ddd;
    padding: 2px 5px;
  }
  h6, h5, h4, h3, h2, h1 {
    font-weight: bold;
  }

  /* headlines */

  h1,
  .lev1 {
    font-size: 1.8em;
  }
  h2,
  .lev2 {
    font-size: 1.3em;
  }
  h3,
  .lev3 {
    font-size: 1.1em;
  }

  /* links */

  a {
    text-decoration: none;
    color: #ed1c24;
  }
  a:hover,
  a:focus {
    text-decoration: underline;
  }
  a:active {
    outline: none; /* remove dotted borders */
  }
  a:visited {
    color: #ed1c24;
  }
  @media screen {
    a.external {
      background-image: url(../images/icon_external.png);
      background-position: right top;
      background-repeat: no-repeat;
      padding-right: 11px;
    }
  }

	strong {
		font-weight: bold;
	}
	
	blockquote {
		padding-left: 10px;
		font-size: 1.5em;
		border-left: solid 5px #ed1c24;
		font-style: italic;
	}
/* --------------------------------------------------------------------------------------
 * misc/tools
** -------------------------------------------------------------------------------------- */

  /* margin bottoms */

  .mb1 {
    overflow: hidden;
    margin-bottom: 1em;
  }
  .mb2 {
    overflow: hidden;
    margin-bottom: 2em;
  }
  .mb3 {
    overflow: hidden;
    margin-bottom: 3em;
  }

  /* clearing
  * usage: <div class="clear"></div>
  **/

  .clear {
    overflow: hidden;
    clear: both;
    display: table;
    height: 0;
    zoom: 1;
  }

  /* media classes
     .reader    = screen reader only         (eg skip links)
     .print     = print only                 (eg contact infos, references)
     .nonprint  = don't print                (eg navigation)
     .nonreader = hide from screen readers   (eg screen meta info)
     .nonjs     = show if JS is deactivated
  */

  .reader {
    position: absolute; left: -990em;
    height: 1em; width: 1em;
    overflow: hidden;
  }
  .reader:focus {
    top: 10px; left: 10px;
    width: auto; height: auto;
  }
  .print {
    display: none;
    visibility: hidden;
  }
  @media print {
    .print {
      display: auto;
      visibility: visible;
    }
    .nonprint {
      display: none;
    }
  }
  @media aural {
    .nonreader {
      display: none;
      visibility: hidden;
    }
  }
  html.js .nonjs {
    display: none;
    visibility: hidden;
  }

  html.nojs .js {
    display: none !important;
  }

  /* DECAF */

  #decafmedia {
    position: absolute; left: 8px; bottom: 0;
    width: 12px; height: 64px;
    overflow: hidden;
    background: transparent url(../images/decafmedia3.gif) 0 0 no-repeat !important;
    text-indent: 999px !important;
    text-decoration: none !important;
    border: none !important;
  }

  /* maintenance */

  #maintenance,
  #browser {
    background: #222;
    border-top: 2px solid red;
    border-bottom: 2px solid #fff;
    margin-bottom: 2px;
  }
  #maintenance p,
  #browser p {
    font-size: 12px;
    display: block;
    line-height: 1;
    text-align: center;
    color: #fff;
    padding: 0.2em 5px 0.3em 5px;
    margin: 0;
  }

/* --------------------------------------------------------------------------------------
 * d--image
** -------------------------------------------------------------------------------------- */

/* HTML:

  <dl class="d--image [d--image-align-left|d--image-align-right] [d--image-noborders]">
    <dt>
      <a href="…" rel="lightbox" title="…">
        <span class="d--image-wrp">
          <img src="…" width="…" height="…" alt="…" title="…" />
          <span class="d--zoom">+</span>
        </span>
      </a>
    </dt>
    <dd>
      <span class="d--image-caption">
        …
      </span>
    </dd>
  </dl>
*/

  .d--image {
    display: inline-block;
    position: relative;
    margin: 3px 0 10px 0;
    border: 1px solid #ddd;
    padding: 1px;
  }
  .d--image-noborders {
    border: 0;
    padding: 2px;
  }
  .d--image-align-left {
    float: left;
    margin-right: 20px;             
  }
  .d--image-align-right {
    float: right;
    margin-right: 10px;
    margin-left: 15px;
  }
  .d--image-align-center {
    display: table;
    margin-left: auto;
    margin-right: auto;
  }
  .d--image dt {
    position: relative;
    margin: -2px;
  }
  .d--image dt a {
    display: block;
    border: 1px solid transparent;
    position: relative;
    cursor: pointer;
  }
  .ie6-7 .d--image dt a {
    display: inline-block;
  }
  .ie6 .d--image dt a {
    border-color: #ddd;
  }
  .d--image dt a:hover,
  .d--image dt a:focus {
    border-color: #ed1c24;
    background-color: #ed1c24;
  }
  .d--image dt .d--image-wrp {
    display: block;
    border: 2px solid transparent;
    overflow: hidden;
    position: relative;
  }
  .d--image dt a .d--image-wrp {
    border-width: 1px;
  }
  .d--image-noborders dt .d--image-wrp {
    overflow: visible !important;
  }
  .ie6-7 .d--image dt .d--image-wrp {
    display: inline-block;
  }
  .ie6 .d--image dt .d--image-wrp {
    border-color: #fff;
  }
  .d--image dt img {
    display: block;
    margin: -2px;
  }
  .d--image dd {
    font-size: 12px; line-height: 1.2;
    margin: 1px -2px 0 -2px;
  }
  .d--image-caption {
    display: block;
    margin: 0 2px;
    padding: 5px;     
    background: #ddd;
    word-wrap: break-word;
  }

/* --------------------------------------------------------------------------------------
 * d--gallery
** -------------------------------------------------------------------------------------- */

/* HTML:

  <div class="d--gallery">
    <ul><!--
      --><li>
        <a href="…" rel="lightbox" title="…">
          <span class="d--gallery-wrp">
            <img src="…" width="…" height="…" alt="…" title="…" />
            <span class="d--zoom">+</span>
          </span>
        </a>
      </li><!--
      …
    --></ul>
    <div class="clear"></div>
  </div>
*/

  .d--gallery {
    margin-bottom: 5px;
  }
  .d--gallery ul {
    list-style: none;
    margin: 0 -10px 0 0;
    padding: 0;
  }
  .d--gallery li {
    margin: 0 10px 10px 0;
    padding: 0;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    position: relative;
  }
  .d--gallery li a {
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    border: 1px solid #ddd;
    overflow: hidden;
  }
  .d--gallery li a:hover,
  .d--gallery li a:focus {
    border-color: #ed1c24;
    background-color: #ed1c24;
  }
  .d--gallery li .d--gallery-wrp {
    display: block;
    border: 1px solid transparent;
    overflow: hidden;
    position: relative;
  }
  .d--gallery li img {
    display: block;
    margin: -2px;
  }
  .ie6 .d--gallery li .d--gallery-wrp {
    border-color: #fff;
  }
  .ie6 .d--gallery li a {
    vertical-align: top;
  }
  .ie6-7 .d--gallery li,
  .ie6-7 .d--gallery li a,
  .ie6-7 .d--gallery li .d--gallery-wrp {
    display: inline;
    zoom: 1;
  }

/* --------------------------------------------------------------------------------------
 * d--zoom
 * used for d--image and d--gallery
** -------------------------------------------------------------------------------------- */

  .d--zoom {
    /* zoom */
    font-size: 0;
    width: 9px; height: 9px;
    position: absolute; right: 8px; bottom: 8px;
    background-image: url(../images/icon_zoom.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-color: #999;
    background-color: rgba(153, 153, 153, 0.5);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#80999999',EndColorStr='#80999999');
    -moz-box-shadow: 1px 1px 0px rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: 1px 1px 0px rgba(0, 0, 0, 0.5);
    box-shadow: 1px 1px 0px rgba(0, 0, 0, 0.5);
  }
  a:hover .d--zoom,
  a:focus .d--zoom {
    background-color: #ed1c24;
    -moz-box-shadow: 2px 2px 0px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 2px 2px 0px rgba(0, 0, 0, 0.3);
    box-shadow: 2px 2px 0px rgba(0, 0, 0, 0.3);
  }

/* --------------------------------------------------------------------------------------
 * layout
** -------------------------------------------------------------------------------------- */
	
	#page {
    margin: 0 auto;
    width: 960px;
    background-color: #fff;
    margin-bottom: 20px;
	}

  #header {
		height: 160px;
		background-image: url(../images/header_top.png);
		background-repeat: no-repeat;
		background-position: 190px 0;
		position: relative;
		margin-bottom: 10px;
	}

  #navigation {
		width: 760px;
		position: absolute;
		bottom: 0;
		left: 0;
		background-color: #ed1c24;
		padding: 2px 0;
		height: 1.1em;
    padding-left: 200px;
	}
	
	#navigation a {
		color: #fff;
		text-transform: uppercase;
		text-decoration: none;
		font-weight: bold;
	}
	
	#navigation ul.mainnavi {
		list-style-type: none;
		display: inline;
		margin-left: 170px;
	}

	#navigation ul.mainnavi li {
		float: left;
		margin-bottom: 0;
		margin-left: 0;
	}

	.mainnavi li {
    display: block;
    overflow: hidden;
    height: 20px;
    top: 2px;
    margin-right: 20px;
	}

	.mainnavi li.active a,
	.mainnavi a:hover {
		color: #000 !important;
	}

	.mainnavi li a {
    cursor: pointer;
    display: block;
    height: 100%;
    overflow: hidden
	}
	
	.mainnavi li a {
		height: 100%;
	}

	/* home */
	#mainnavi-1 {
    position: absolute;
    left: 15px;
	}
	/* search */
	#link-search {
    position: absolute;
    right: -5px;
    width: 205px;
	}

  .left {
		width: 165px;
		float: left;
    overflow: hidden;
	}

  #subnavigation {
		margin-left: 15px;
		margin-right: 10px;
	}
	.ie6 #subnavigation {
		margin-left: 5px;
	}

  #subnavigation > ul {
		min-height: 400px;
	}

	.main {
    width: 520px;
		float: left;
    overflow: auto;
	}
	.ie6 .main {
    overflow: hidden;
	}
  #content {
    min-height: 600px;
    padding-left: 10px;
    padding-right: 10px;
    background-image: url(../images/line.png);
    background-repeat: repeat-y;
    margin-bottom: 10px;
  }
  #content p {
  	line-height: 1.4em;
  }

	.right {
		width: 205px;
		float: left;
	}
  #sidebar {
		margin-left: 10px;
		margin-right: 15px;
	}
	.ie6 #sidebar {
		margin-right: 5px;
	}

  #footer {
		height: 20px;
		background-color: #ccc;
		padding-top: 5px;
		xborder-bottom: solid 10px #fff;
	}
  #footer .left {
		width: 190px;
	}
  #footer .main li {
		float: right !important;
		border-left: solid 1px #231F20;
		margin-left: 0;
	}
  #footer .main li.first {
		padding-right: 0;
		border-left: none;
	}
  #footer .main li.last {
		padding-right: 0;
	}
  #footer .main li a {
		color: #231F20;
		padding-left: 5px;
		padding-right: 5px;
	}
  #footer .right {
		margin-left: 10px;
		margin-right: 15px;
	}
  #footer .right li {
  	margin-right: 5px;
		margin-left: 0;
  }
  #footer .right li a {
  	opacity: 0.5;
  }
  #footer .right li a:hover {
  	opacity: 1;
  }

/* --------------------------------------------------------------------------------------
 * content
** -------------------------------------------------------------------------------------- */

  /* box shadow */

	#page.box-shadow {
	  -moz-box-shadow: 0 0 10px #666; /* Firefox */
	  -webkit-box-shadow: 0 0 10px #666; /* Safari, Chrome */
	  box-shadow: 0 0 10px #666; /* CSS3 */
	}

	.ie6-7 #page.box-shadow,
	.ie8 #page.box-shadow {
	  behavior: url(ie-css3.htc); /* IE */
	}

  /* logo */
	
	#logo {
		position: absolute;
		top: 26px;
		right: 10px;
		text-decoration: none;
	}

	#logo span {
		display: none;
		position: absolute;
		top: 75px;
		left: 0;
		background-color: #fff;
		height: 20px;
		width: 100%;
		text-align: center;
		color: #231f20;
	}

	#logo:hover span {
		display: block;
	}
		
  /* search form */

  #searchform {
    display: inline-block;
    background: #ccc;
    border: 1px solid #ccc;
    margin-bottom: 20px;
  }
  .ie6-7 #searchform {
    display: inline;
    zoom: 1;
    xborder-top: 0 !important;
    xborder-bottom: 0 !important;
  }
  #searchform input {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -ms-box-sizing: border-box;
    font-size: 13px;
    border: 0;
    background: none;
    color: #666;
    margin: 0;
  }
  #searchform input.text {
    width: 180px;
    background: #fff url(../images/bgr_searchfield.png) 165px center no-repeat;
    padding: 3px 20px 3px 5px;
  }
  .ie6-7 #searchform input.text {
    width: 155px;
  }
  #searchform input.button {
    width: 9%;
    color: #fff;
    cursor: pointer;
    display: none;
  }

  /* language */

	#language-hint {
		background-color: #eee;
		border: solid 1px #ccc;
		padding: 5px;
		margin-bottom: 1em;
	}
	
	#google_sectional_element {
		display: block;
		text-align: right;
	}

	.goog-te-sectional-gadget-all	{
		margin-top: 10px;
	}
	/* navigation */	
	.rex-navi1,
	.rex-navi2 {
		list-style-type: none;
	}

	.level1,
	.level2 {
		margin-left: 0;
	}

	.rex-navi2 {
		border-top: solid 0.2em #fff;
		border-left: solid 10px #fff;
	}
	
	.level1 a {
		background-color: #ccc;
	}

	#subnavigation .level1 a:hover {
		background-color: #d9d9d9;
	}

	.level2 a {
		background-color: #ddd;
	}

	#subnavigation .level2 a:hover {
		background-color: #e9e9e9;
	}
		
	.level1 a,
	.level2 a {
		display: block;
		padding: 8px 5px 5px 5px;
		font-weight: bold;
		color: #231f20;
		text-decoration: none;
	}
	
	.rex-navi1 .rex-normal {
	}
	
	.rex-navi1 .rex-active,
	.rex-navi1 .rex-current {
		color: #ed1c24;
	}
	
	.rex-navi2 .rex-normal {
	}
	
	.rex-navi2 .rex-current {
		color: #ed1c24;
	}
	
	/* footer */
	#footer {
		font-size: 0.8em;
	}

	#footer .main {
		margin-left: 10px;
		margin-right: 10px;
	}
	
	#footer .main ul,
	#footer .right ul {
		list-style-type: none;
	}	
	
	#footer .main ul li,
	#footer .right ul li {
		float: left;
		margin-left: 0;
	}
	
	#footer .main,
	#footer .left {
		white-space: nowrap;
		text-align: right;
	}

	#sidebar .address {
		padding-top: 30px;
	}
	
	.headerimage {
		padding-bottom: 10px;
	}
	
	.contact {
		margin-bottom: 10px;
	}
	
	.contact-image {
		float: left;
		margin-right: 20px;
		padding: 1px;
		border: solid 1px #ddd;
		line-height: 0;
	}
	
	.contact-details-name {
		font-weight: bold;
	}
	
	.rex-breadcrumb li {
		float: left;
		margin: 0 5px 0 0;
		padding: 0;
		list-style-type: none;
	}
	.rex-breadcrumb li .sep {
		padding-right: 5px;
	}
	
	.rex-breadcrumb .rex-lvl1 .sep{
		display: none;
	}
	
	.news-wrapper {
		min-height: 200px;
	}

	.news-sidebar {
		background-color: #ddd;
		padding: 10px 5px;
	}

	.news-sidebar-link {
		font-weight: bold;
	}

	.news-sidebar-item {
		padding-top: 10px;
	}

	.news-sidebar-item-title {
		font-weight: bold;		
	}
	
	.cat-37 h1 {
		margin-bottom: 0;
	}

	.news {
		margin-bottom: 0.5em;
	}
	
	div.messages {
		padding: 10px;
		margin-bottom: 1em;
	}
	
	div.messages.error {
		color: #ed1c24;
		border: solid 1px #ed1c24;
	}

	div.messages.error p {
		color: #ed1c24 !important;
	}

	div.messages.success {
		border: solid 1px #148910;
	}

	div.messages.success,
	div.messages.success a {
		color: #148910 !important;
	}
	
	div.messages .message {
		font-weight: bold;
	}

	div.messages ul {
		margin-top: 10px;
	}

	div.messages p {
		color: #231f20 !important;
		margin-top: 0.5em;
		margin-bottom: 0;
	}

	fieldset {
		border: solid 1px #ddd;
		padding: 5px;
	}
	
	legend {
		background-color: #fff;
		padding: 0 5px;
	}
	
	.form table td {
		border: none;
		vertical-align: top;
		background-color: #fff;
	}
	
	.form input,
	.form textarea {
		width: 99%;
		border: solid 1px #ddd;
		padding: 2px;
	}

	.form input.checkbox,
	.form select {
		width: auto;
	}

	.form .label {
		width: 10%;
	}

	.form .nowrap {
		white-space: nowrap;
	}
	
	.form input.submit {
		width: auto;
		margin-top: 10px;
		padding-left: 10px;
		padding-right: 10px;
		background-color: #ddd;
		border: solid 1px #ccc;
	}
	
	.form input:focus,
	.form textarea:focus {
		background-color: #e9e9e9;
	}
	
	.form .error input,
	.form .error textarea {
		border: solid 1px #ed1c24 !important;
	}

	.form .error label {
		color: #ed1c24 !important;
	}

	.form .mandatory label {
		font-weight: bold;
	}
	
	.form label span {
		display: none;
		padding-left: 5px;
	}
	
	.form .mandatory label span {
		display: inline !important;
	}
	
	.form span.mandatory {
		display: inline !important;
		font-size: 0.8em;
	}
	
	.news-overview-archive {
		margin-bottom: 10px;
	}

	.news-overview ul {
		list-style-type: none;
	}
		
	.news-overview-item {
		margin: 0 0 10px 0;
		background-color: #ddd;
		padding: 5px;
	}

	.news-overview-item:hover {
		background-color: #e9e9e9;
	}
	
	.news-overview-item-teaser {
		font-weight: bold;
	}
	
	.news-overview-item-more {
		display: block;
	}
	
	.news-image {
		float: right;
	}

	.downloads {
		display: block;
	}	

	.downloads ul {
		list-style-type: none;
	}

	.downloads ul li {
		background-color: #ddd;
		margin: 0 0 5px 0;
		padding: 5px;
	}

	.downloads ul li:hover {
		background-color: #e9e9e9;
	}

	.downloads ul li a {
		display: block;
	}
		
	.downloads-icon {
		float: left;
		width: 32px;
		height: 32px;
		margin-right: 10px;
	}
	
	.video {
		margin-bottom: 10px;
	}

	.searchform {
		margin-bottom: 1em;
	}
	
	.searchform input {
		display: inline;
		width: 100px;
	}

	.searchform .rexsearch {
		width: 300px;
	}
	
	.searchresults {
		list-style-type: none;
	}
	
	.searchresults li {
		margin-left: 0;
		margin-bottom: 1em;
	}

	.searchresults p {
		margin-bottom: 0;
	}

	.searchresults h4 {
		margin-bottom: 0;
	}

	.searchresults .url a {
		color: #ddd !important;
	}

	.pagination {
		list-style-type: none;
		margin-top: 10px;
		margin-bottom: 10px;
	}

	.pagination li {
		float:left;
		margin-bottom: 0.5em;
		margin-left: 0.5em;
		padding: 2px 5px;
		border: solid 1px #fff;
	}	

	.pagination li:hover {
		border: solid 1px #ddd !important;
		cursor: pointer;
	}
	
	.pagination li.active {
		border: solid 1px #ddd !important;
		cursor: auto;
	}

	.pagination li a {
		text-decoration: none;
	}
	
	.pagination li a {
		display: block;
	}

	.left .loginform {
		margin-top: 1em;
		margin-bottom: 1em;
		background-color: #ddd;
	}

	.left .loginform th {
		background-color: #ddd;
		text-align: left;
	}

	.left .loginform input {
		width: 145px;
	}

	.left .loginform .error {
		color: #ed1c24;
	}	
	
	.left .loginform .center {
		text-align: center;
	}
	
	.left .loginform a {
		color: #666;
	}
	
	#id_zip {
		width: 100px !important;
	}
	
	.loginform .submit {
		width: auto !important;
	}
	
	.nowrpa {
		white-space: nowrap;
	}
	
	.referenceform {
		margin-bottom: 10px;
	}
	
	.reference-results .power {
		text-align: right;
	}

	.reference-results td {
		vertical-align: middle;
	}

	.reference-results td img {
		line-height: 0;
	}

	.reference-results td.preview {
		text-align: center;
		width: 1%;
	}
	
	#id_power {
		width: 100px;
	}

	.left .loginform table th,
	.left .loginform table td {
		border: solid 1px #ddd;
		background-color: #ddd;
	}
	
	.checkbox {
		border: solid 1px #fff !important;
	}

  .news-overview-item-image {
    float: right;
    padding-left: 5px;
    padding-bottom: 5px;
  }

  .news-overview-item-year {
    margin-left: 0;
  }
	