/**
 * Cascading Stylesheet fuer Screen und Projection
 *
 * @appdef letex        le-tex Website
 * @appdef-letex-theme  CI 2007 (by Marcel Langer)
 * @appdef-letex-used   True
 *
 * @see                 http://www.le-tex.de/
 *
 * @autor               Michael Haschke
 * @link                http://eye48.com/
 *
 *
 * Inhalt:
 *  1. Layout
 *      1.1. Blattschatten
 *      1.2. Buchfalz
 *      1.3. Zierbilder
 *      1.4. Logo im Footer
 *  2. Typographie
 *      2.1. Abbildungen
 *      2.2. Tabellen
 *          2.2.1. Trennstriche
 *          2.2.2. Farbhinterlegungen
 *      2.3. Tableaux (Referenzen)
 *  3. Etcetera
 */


/* 1. LAYOUT */

* { /* RESET!, alle Elemente muessen neu gestyled werden! */
    margin:0;
    padding:0;
    border-style:none;
}

body {
  background:url(background-site.png) repeat-x center top #fff;
  color: #000;
/*   font-family: Arial, Helvetica, sans-serif; */
  font-family: Georgia, Times, serif;
  font-size:10pt;
  text-align: left;
  line-height:1.5;
}

.sitecontainer {
  min-width:830px;
  width:90em;
  max-width:90%;
  margin: 0 auto 30px auto;
  background-color:transparent;
  position: relative;
}

.sitecontent {
  background-color:#fff;
  width:100%;
}

div#head {
    text-align:right;
    padding:30px 5.25% 30px 0;
    margin:0 0 0 8.25%;
    border-bottom:solid 1px #999;
    background-color:#fff;
    position:relative;
}
 
div#langselect {
    position:absolute;
    left:0;
    bottom:0.5em;
    font-size:0.75em;
    color:#666;
    line-height:1;
}
div#langselect a:link, div#langselect a:visited {
    color:#666;
}



div.nav { 
  font-family: Verdana, Arial, sans-serif;
  font-size:0.75em;
  line-height:1;
  margin:0 5.25% 0 0;
  padding-left:8.25%;
  position:relative;
}

div.nav ul, ul.index-part {
  width: 100%;
  position:static;
  list-style:none;
  padding:0;
  margin:0 15em 0 0;
  text-indent: 0;
}

ul.index-part > li { 
	float: left;
	width: 25%;
}


div.nav ul > li:before, ul.index-part  > li:before { 
  content: '';
}

div.mainnav ul {
  font-weight: bold;
}

div.subnav {
  padding-bottom:2.5em;
}

div.nav li {
  float: left;
  text-transform: uppercase;
  white-space:nowrap;
}

div.mainnav li { 
  padding-top:1.5em;
  padding-right: 2.5em;
}

div.subnav li { 
  padding-top:0.75em;
  padding-right: 1.5em;
}

div.subnav li.sep, div.mainnav li.sep {
    position:absolute;
    right:0;
    top:0;
    padding-right:0;
}

div.nav li a:link, div.nav li a:visited {
  text-decoration: none;
  color: #999;
}

div.nav li a:hover, div.nav li a:focus, div.nav li a:active {
  color: #d2032c;
}

.active, div.nav a.active:link, div.nav a.active:visited {
  color: #000;
}

div.nav a.active:hover, div.nav a.active:focus, div.nav a.active:active {
  color: #d2032c;
}



h1 { 
  font-size:2em;
  border-bottom:solid 1px #999;
  color: #000;
  padding: 2em 0 0.5em 8.25%;
  margin: 0 5.25% 0 0;
 }

div.pagecontent {
  margin: 0 5.25% 0 8.25%;
  padding:2.5em 0 3em 0;
  border-top:solid 1px #999;
  clear:both;
}

div#pagecontent-main {
    width:60%;
    float:left;
}


body#index div#pagecontent-main p img {
	float:left;
	padding-top: 1.6ex;
	margin-right: 2em;
}

div#pagecontent-sub { 
    width:35%;
    float:right;
}

div#copyright {
  font-size:0.75em;
  font-family: Verdana, Arial, sans-serif;
  clear:both;
  text-align:right;
  text-transform: uppercase;
  line-height:1;
  padding: 10em 5.25% 2em 8.25%;
  color:#bbb;
}

div#copyright p {
    margin:0;
    padding:0;
    position:relative;
}

div#copyright p a.impressum {
    position:absolute;
    left:0;
    color:#bbb;
}

/* 1.1. BLATTSCHATTEN */

div.shadowleft {
    background:url(shadow-left.png) repeat-y left top transparent;
    padding-left:18px;
}

div.shadowright {
    background:url(shadow-right.png) repeat-y right top transparent;
    padding-right:18px;
}

div.shadowtop, div.shadowbottom {
    height:15px;
    width:100%;
    background-color:transparent;
    position:relative;
}

div.shadowcornerleft {
    height:15px;
    width:50px;
    background:url(shadow-left-top.png) no-repeat 4px bottom transparent;
    position:absolute;
    left:0;
    top:0;
}
div.shadowcornerright {
    height:15px;
    width:50px;
    background:url(shadow-right-top.png) no-repeat -4px bottom transparent;
    position:absolute;
    right:0;
    top:0;
}
div.shadowcenter {
    height:15px;
    margin: 0 50px 0 50px;
    background:url(shadow-top.png) repeat-x center bottom transparent;
}

div.shadowbottom div.shadowcornerleft {
    background:url(shadow-left-bottom.png) no-repeat 4px top transparent;
}
div.shadowbottom div.shadowcornerright {
    background:url(shadow-right-bottom.png) no-repeat -4px top transparent;
}
div.shadowbottom div.shadowcenter {
    background:url(shadow-bottom.png) repeat-x center top transparent;
}

/* 1.2. BUCHFALZ links oben */

div.bookfold-bottom, div.bookfold-top {
    width:auto;
    padding-left:20px;
    background:url(bookfold.png) repeat-y left bottom #fff;
}

div.bookfold-top {
    background-position:left top;
}

div.bookfold-bottom div#head {
    margin-left:6%;
}

div.bookfold-bottom h1, div.bookfold-top div.nav {
    padding-left:6%;
}

/* 1.3. CONTENT BACKGROUNDS, Zierbilder */

    /* Zierbilder sollten sich im Directory des CSS-Files befinden*/

body#company div.pagecontent {
    background:url(background-company.png) no-repeat right 2.75em #fff;
    padding-right:380px;
    min-height:630px;
}

body#services div.pagecontent {
    background:url(background-company.png) no-repeat right 2.75em #fff;    /* url(Zierbildname.png) */
    padding-right:380px;    /* Bild sollte ca. 300px breit sein */
    min-height:630px;       /* entweder alle Bilder ca. 630px hoch, oder hier und zusaetzlich in ie6-fixes.css Hoehe angeben */
}

body#technology div.pagecontent {
    background:url(background-company.png) no-repeat right 2.75em #fff;
    padding-right:380px;
    min-height:630px;
}

body#index p.spacer {
	height: 3.4em;
}

body#index ul.index-part p.spacer {
	height: 1.5em;
	padding: 0.1em;
	width: 100%;
	border-left: solid 1px #999;
	border-top: solid 1px #999;
}

body#index div.pagecontent {
  border-top-style: none;
  margin-top: -2em;
  padding: 0;
}


/* 1.4. LOGO FOOTER */

span#footerlogo {
    display:block;
    width:100%;
    height:58px;
    background:url(footerlogo-letex.png) no-repeat center top #fff;
	  text-align:right;
    padding-bottom: 4em;
}

/* 2. TYPOGRAPHIE */

h1, h2 { 
/*   font-family: Georgia, Times, serif; */
/*   font-family: Palatino, Minion, Times, serif; */
  font-weight: normal;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  line-height:1;
}

h2 { 
  font-size:1.6em;
  margin-bottom: 0.75em;
}

p, ul, ol, blockquote {
  margin-bottom:0.5em;
/*   text-align: justify; */
}

h3, h4 { 
  margin-bottom:0.7em;
}

p.singleline {  
  margin-bottom:0em;
}

h3, h4 {
/*   font-family: Verdana, Arial, Helvetica, sans-serif; */
}

h3 {
  font-size:1.25em;
  margin-top:1em;
}

div#pagecontent-sub h3 {
  font-size:0.85em;
}

div > h3:first-child { 
  margin-top: 0em;
}

h4 {
  font-size:1em;
  margin-top:0.75em;
}

span.companyname { 
  font-family: Verdana, Arial, Helvetica, sans-serif;
  font-weight: bold;
}

span.tex sub {
  vertical-align: -0.5ex;
  margin-left: -0.1667em;
  margin-right: -0.125em;
  text-transform: uppercase;
  font-size: 1em;
}

div.pagecontent h2:first-child { 
  margin-top: 0;
}

li {
  margin-bottom:0.25em;
}

p + ul { 
  margin-top: 0em;
}

ul {
  margin-left: 0.5em; 
  margin-top: 0.5em;
  padding-left: 1em;
  list-style-type: none;
  text-indent: -1.7em;
  overflow: visible;
}

ul > li { 
  display: list-item;
}

ul.index-chapter > li { 
  display: block;
}

body#index ul { 
  margin-left: 0; 
  padding-left: 0;
  text-indent: 0;
  list-style:none;
}

body#index ul > li:before { 
  content: '';
  width: 0;
  padding-left: 0;
}

ul.index-part p { 
  font-weight: normal;
  text-transform: uppercase;
  line-height:1;
  font-size:1.4em;
  margin-bottom: 0.5em;
}

ul.index-part a, ul.index-chapter a {
	color:#999;
	text-transform: uppercase;
}


ul > li:before { 
  content: '\2013\a0';
  color: #666;
  width: 1em;
  margin-right: 0.3em;
}


a { 
  text-decoration: none;
  color: #d2032c;
}

a:hover {
  text-decoration: underline;
  color: #d2032c !important;
}

a.button:hover {
  text-decoration: underline;
  color: #fff !important;
}


a:focus, a:active {
  text-decoration: underline;
  color: #d2032c;
}

a:visited { 
  color: #c66;
}

/* 2.1. ABBILDUNGEN */

div.figure {
    clear:both;
    font-size:0.75em;
    position:relative;
}

p.figureimage {
    clear:both;
    width:120px;
    float:left;
    margin:0;
    padding:0;
    margin-bottom:2em;
}

dl.figurecaption {
    margin-left:130px;
    margin-bottom:2em;
}

dl.figurecaption dd {
    margin-bottom:0.5em;
}

/* 2.2. TABELLEN */

table {
    background-color:transparent;
    width:99%;
    margin-top:1em;
    margin-bottom:1em;
    border-collapse:collapse;
    border-spacing:0;
    empty-cells:show;
    caption-side:top;
    table-layout:auto;
    font-size:80%;
}

table.questionnaire td { 
  vertical-align: top;
  padding-bottom: 1em;
}


textarea, input[type=text], input[type=submit], input[type=reset], select {
  border: solid 1px #666;
  background-color: #f0f0f0;
}

th, td {
    padding:0.2em 0.4em;
    text-align:left;
    border-style:none;
    border-width:0;
}

th a {
    text-decoration:underline; /* da einfaches rot sonst nur wie gefaerbte Kopfzeile aussieht */
}

th a:visited {
  color: #ccc !important;
}


th {font-weight:bold;}
td {font-weight:normal;}

table thead th.empty { /* .empty verhindert Faerbungen oder Rahmen fuer leere Kopfzellen im Tabellenkopf */
    color:#333 !important;
    background-color:transparent !important;
    border-top:none !important;
}

table caption {
    margin-top:0.25em;
    font-size:1em;
    font-weight:bold;
    color:#333;
    text-align:left;
}

table tfoot {
    font-size:0.9em;
}

/* .centered bewirkt ein horizontale Zentrierung aller normaler Zellen (nicht Kopf-)
   im Tabellenkoerper und der Kopfzellen im Tabellenkopf */
table.centered-cells td,
table.centered-cells thead th {
    text-align:center;
}

table.centered-cells tfoot td {
    text-align:left;
}

/* .nowrap-head verhindert einen automatischen Zeilenumbruch im Tabellenkopf */
table.nowrap-head thead th {
    white-space:nowrap;
}

table tfoot td dl dt,
table tfoot td dl dd {
    display:inline;
}
table tfoot td dl dt {
/*     font-weight:bold; */
}
table tfoot td dl dd {
    margin-right:1em;
}

/* 2.2.1. Separations */

/* .separated-vertical bewirkt eine Trennung der Tabellenreihen (-zeilen)
   durch einen horizontalen Strich */
table.separated-vertical thead {
    border-bottom:solid 1px #333;
}

table.separated-vertical tbody {
    border-bottom:solid 1px #333;
}

table.separated-vertical thead th {
    border-top:solid 1px #999;
}

table.separated-vertical td,
table.separated-vertical tbody th {
    border-top:solid 1px #ddd;
    border-bottom:none;
}
table.separated-vertical tr:first-child  td {
    border-top:none;
}
table.separated-vertical tbody tr:first-child td,
table.separated-vertical tbody tr:first-child th {
    border-top:solid 1px #333;
}
table.separated-vertical tbody:first-child tr:first-child td,
table.separated-vertical caption + tbody tr:first-child td,
table.separated-vertical thead + tbody tr:first-child td,
table.separated-vertical colgroup + tbody tr:first-child td {
    border-top:none;
}

table.separated-vertical tfoot td {
    border:none;
}

/* .separated-horizontal bewirkt eine Trennung der Tabellenspalten durch einen
    vertikalen Strich
    ACHTUNG: Probleme im MSIE < 7 */
table.separated-horizontal th,
table.separated-horizontal td {
    border-left:solid 1px #ddd;
}
table.separated-horizontal tr th:first-child,
table.separated-horizontal tr td:first-child {
    border-left:none;
}

/* .spaced-[horizontal|vertical] bewirkt einen Abstand zwischen den Tabellenzellen
   - kann nicht zusammen mit .separated-* eingesetzt werden
   - macht eigentlich nur Sinn zusammen mit .colored-headings und .colored-cells */
table.spaced-vertical th,
table.spaced-vertical td {
    border-top:solid 1px #fff;
}
table.spaced-horizontal th,
table.spaced-horizontal td {
    border-right:solid 1px #fff;
}

/* .no-body-separation verhindert Trennungslinien im Tabellenkoerper */
table.no-body-separation tbody th,
table.no-body-separation tbody td {
    border-style:none !important;
}

/* 2.2.2. Farbhinterlegungen */

/* .colored-headings bewirkt eine farbliche Hinterlegung (LE-TeX rot) der Kopfzellen
   einsetzbar fuer:
    - alle Kopfzellen: table.colored-headings
    - Kopfzellen im Tabellenkopf: thead.colored-headings
   wird auch angewendet fuer hervorgehobene Kopfzeilen im Tabellenkopf (thead > tr.hl > th) */
table.colored-headings th,
table.colored-headings th a,
table thead.colored-headings th,
table thead.colored-headings th a,
table thead tr.hl th,
table thead tr.hl th a
{
    background-color:#d2032c;
    color:#fff;
}
table.colored-headings th a,
table thead.colored-headings th a,
table thead tr.hl th a
{
    background-color:transparent;
}

table.colored-cells tbody td {
    background-color:#f8f8f8;
}

    /* Highlighting */

tr.hl th, tr.hl td, th.hl, td.hl {
    background-color:#f8f8f8;
}

tr.hl th.hl, tr.hl td.hl {
    background-color:#f0f0f0;
}

table.colored-headings tr.hl th,
table thead.colored-headings th.hl,
table.colored-headings tr th.hl,
table.colored-headings tr.hl th.hl,
table thead tr.hl th.hl
{
    background-color:#c00807;
}

table.colored-cells tr.hl td,
table.colored-cells td.hl {
    background-color:#f0f0f0;
}

table.colored-cells tr.hl td.hl {
    background-color:#e8e8e8;
}

/* 2.3. Tableaux (Referenzen) */

div.reference { 
	display: inline-block;
  margin-right: 2em;
  margin-bottom: 2em;
	min-width: 20%;
	text-align:center;
}


/* 3. ETC */

.bold {
    font-weight:bold;
}

.clearall {
    display:block;
    clear:both;
    float:none;
}

.onlyAural {
  display: none;
}

a.imagelink {
    padding-bottom:3px;
    border-bottom:solid 1px #fff;
}
a.imagelink:hover, a.imagelink:focus, a.imagelink:active {
    border-bottom:solid 1px #d2032c;
}

img.infoicon {
    height:1em;
}


ul.minitoc { 
  border-top:solid 1px #999;
  border-bottom:solid 1px #999;
  text-transform: uppercase;
  background-color: #f8f8f8;
  padding: 0.7em 0.5em 0.7em 2em;
  margin: 0em 0em 4em 0em;
  line-height: 1.2;
  font-size: 0.75em;
  font-family: Verdana, Arial, sans-serif;
}

div.news { 
  border:solid 1px #d2032c;
  background-color: #fff8f8;
  padding: 0.7em 0.5em 0.7em 2em;
  margin: 0em 0em 4em 0em;
}


div#pagecontent-sub > div.news {
	margin-bottom:2em;
}

div#pagecontent-sub > div.news p, div#pagecontent-sub > div.news dl {
  font-size: 75%;
}

div#pagecontent-sub > div.news dd { 
	padding-left: 1.25em;
	margin-bottom: 0.25em;
 }


/* 3.1. JUMER LINKS FOR ACCESSIBILITY */

a.accesslink, span.accesslink {
  display: none;
}

a.accesslink:focus, a.accesslink:active {
    left:0;
    top:1em;
}

