/* $Id: lecture.css,v 1.21 2012/01/23 11:43:45 uwe Exp $ */

body {
  background-color:#ffffff;
  font-family:Helvetica,Arial,sans-serif;
}

h1, h2, h3 {
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
  padding-left:0.3em;
  padding-right:0.3em;
  padding-top:0.3ex;
  padding-bottom:0.3ex;
}

h1:hover, h2:hover, h3:hover {
  color:#c80000;
  background-color:#f8fcc8;
  border-width:1px ;
  border-style:solid ;
  border-color:#c80000;
}

h1.title:hover {
  color:#000000;
  background-color:#ffffff;
  border-width:1px ;
  border-style:solid ;
  border-color:transparent;
}

em { 
  color: #c80000 ;
  font-style: normal;
}

/* images */

img {
  border-width:0px ;
  border-style:solid ;
  border-color:red;
}

/* rulers */

hr {
  border-width:0px ;
  border-style:solid ;
  border-color:red;
  background-color:#bbbbbb;
  color:#bbbbbb;
  width:100%;
  height:2px;
}

hr.hr30 {
  width:30%;
  text-align:left;
  margin-left:0px;
  margin-right:70%;
}


/* hypertext links */

a:link {
  color:#c80000;
  text-decoration:none;
}
a:visited {
  color:#900000;
  text-decoration:none;
}
a:hover {
  color:#c80000;
  text-decoration:underline;
}
a:active {
  color:#ff0000;
  text-decoration:underline;
}

a.address {
  color:#1C2764;
  text-decoration:none;
}

/* navigaion links */

a.navigate {
  border-width:0px ;
  border-style:solid ;
  border-color:#ffffff;
  padding:0px;
  margin:0px;
  text-align:center;
  vertical-align:middle;
}

a.navigate img {
  border-width: 1px;
  border-style: solid;
  border-color: #ffffff;
}

a.navigate:hover img {
  border-width: 1px;
  border-style: solid;
  border-color: #c80000;
  background-color: #c80000;
}


/* general layout and alignment classes */

.fullwidth		{ width:100%; }

.left			{ text-align:left; }
.right			{ text-align:right; }
.center			{ text-align:center; }

.left-top		{ text-align:left;  vertical-align:top; }
.right-top		{ text-align:right; vertical-align:top; }
.left-bottom		{ text-align:left;  vertical-align:bottom; }
.right-bottom		{ text-align:right; vertical-align:bottom; }

/* alignment of tables */

div.left table, div.left table caption {
  margin-left:0;
  margin-right:auto;
}

div.center table, div.center table caption {
  margin-left:auto;
  margin-right:auto;
}

div.right table, div.right table caption {
  margin-left:auto;
  margin-right:0;
}

/* general color classes */

.red			{ color: #ff0000; }
.red1			{ color: #c80000; }
.red2			{ color: #900000; }
.red3			{ color: #600000; }

.orange			{ color: #ffa500; }
.orange1		{ color: #ff8c00; }
.orange2		{ color: #a05000; }

.grey			{ color: #909090; }
.green2			{ color: #008800; }

.linenr	{
  color: #909090;
  padding-right: 2em;
}

/* grey background boxes */

div.grey-background, span.grey-background, pre.grey-background, code.grey-background {
  background-color: #dddddd;
}

div.grey-background, span.grey-background, pre.grey-background {
  border-width: 3px;
  border-style: solid;
  border-color: #bbbbbb;
  padding: 1em;
}

div.grey-background {
  margin-top:1ex;
  margin-bottom:1ex;
  margin-right:7%;
}

div.grey-background:hover {
  background-color: #f8fcc8;
  border-width: 3px;
  border-style: solid;
  border-color: #c80000;
}

pre.grey-background {
  margin-right:10%;
}

code.grey-background {
  font-weight:bold;
}

/* code blocks */

div.codeblock, td.codeblock {
  background-color: #dddddd;
  border-width: 3px;
  border-style: solid;
  border-color: #bbbbbb;
  padding: 1em;
  margin-top:1ex;
  margin-bottom:1ex;
  margin-right:7%;
}

div.codeblock:hover, td.codeblock:hover {
  background-color: #f8fcc8;
  border-width: 3px;
  border-style: solid;
  border-color: #c80000;
}

/* merke sections */

div.merke {
  margin-left:5%;
  width:95%;
  text-align:left;
}

div.merke table {
  width:100%;
}

div.merke table tr th {
  vertical-align: top;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-right: 10px;
  padding-left: 0px;
}

div.merke table tr td {
  vertical-align: top;
  text-align: left;
  padding-left:   0.3em;
  padding-right:  0.3em;
  padding-top:    0.3ex;
  padding-bottom: 0.3ex;
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
}

div.merke table tr td.highlight {
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
}

div.merke table tr td.highlight:hover {
  color:            #c80000;
  background-color: #f8fcc8;
  border-width: 1px;
  border-style: solid;
  border-color: #c80000;
}

/* topic and descrpar sections */

h3.topic, h3.descrpar {
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
  padding-left:   0.3em;
  padding-right:  0.3em;
  padding-top:    0.3ex;
  padding-bottom: 0.3ex;
}

h3.topic:hover, h3.descrpar:hover {
  color:#c80000;
  background-color: #f8fcc8;
  border-width:1px ;
  border-style:solid ;
  border-color: #c80000;
}

table.topic, table.descrpar {
  margin-left: 5%;
  width: 95%;
}

p.descrpar {
  text-align:right;
}

/* description lists */

dt.dlist {
  color:#c80000;
  font-weight:bold;
}


table.descr {
  border-width: 0px;
  border-style: solid;
  border-color: blue;
  margin-left: auto;
  margin-right: 0;
  width: 100%;
  text-align:right;
}

table.descr tr th {
  border-width:0px ;
  border-style:solid ;
  border-color:red;
  text-align:left;
  vertical-align:top;
  width:30%;
  color:#c80000;
  font-weight:bold;
}

table.descr tr th div {
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
  padding-left:0.3em;
  padding-right:0.3em;
  padding-top:0.3ex;
  padding-bottom:0.3ex;
}

table.descr tr th:hover div {
  border-width:1px ;
  border-style:solid ;
  border-color:#c80000;
  background-color:#f8fcc8;
}

table.descr tr td, p.highlight, div.highlight, img.highlight {
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
  padding-left:0.3em;
  padding-right:0.3em;
  padding-top:0.3ex;
  padding-bottom:0.3ex;
  text-align:left;
  vertical-align:top;
}

img.highlight {
  border-width:1px ;
  border-style:solid ;
  border-color:#bbbbbb;
  padding-left:0.3em;
  padding-right:0.3em;
  padding-top:0.5ex;
  padding-bottom:0.5ex;
}

table.descr tr td[colspan="2"] {
  text-align:center;
  vertical-align:top;
}

/*
table.descr tr td.highlight, p.highlight {
  border-width:1px ;
  border-style:solid ;
  border-color:tansparent;
  padding-left:0.3em;
  padding-right:0.3em;
  padding-top:0.3ex;
  padding-bottom:0.3ex;
  text-align:left;
  vertical-align:top;
}
*/

table.descr tr td.highlight:hover, p.highlight:hover, div.highlight:hover, img.highlight:hover {
  border-width:1px ;
  border-style:solid ;
  border-color:#c80000;
  color:#c80000;
  background-color:#f8fcc8;
}


/* remember sections */

table.remember {
  margin:5px;
}
table.remember tr td	{
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
  text-align:center;
  vertical-align:top;
  padding-right: 1em;
}

table.remember tr td.remember {
  text-align:left;
  padding-left:0.3em;
  padding-right:0.3em;
  padding-top:0.3ex;
  padding-bottom:0.3ex;
}

table.remember tr td.remember:hover {
  border-width:1px ;
  border-style:solid ;
  border-color:#c80000;
  color:#c80000;
  background-color:#f8fcc8;
}

/* grey tables */

table.ctable {
  width:80%;
  margin-left:0pt;
  margin-right:0pt;
  margin-top:1ex;
  margin-bottom:1ex;
  padding:0px;
  border-width: 3px;
  border-style: solid;
  border-color: #bbbbbb;
}

table.ctable:hover {
  background-color:#f8fcc8;
  border-width: 3px;
  border-style: solid;
  border-color: #c80000;
}

table.ctable tr th, th.ctable tr td {
  padding-left:0.5em;
  padding-right:0.5em;
  padding-top:0.5ex;
  padding-bottom:0.5ex;
  text-align:left;
}

table.ctable tr th {
  background-color:#bbbbbb;
}

table.ctable tr td {
  background-color:#dddddd;
}

table.ctable tr th:hover, table.ctable tr td:hover {
  background-color:#f8fcc8;
  color:#c80000;
}

table.ctable tr td code {
  font-weight:bold;
}

/* proof tables */

table.proof {
  background-color:#dddddd;
  border-width: 3px;
  border-style: solid;
  border-color: #bbbbbb;
}

table.proof:hover {
  border-width: 3px;
  border-style: solid;
  border-color: #c80000;
}

table.proof tr td {
  padding-left:0.3em;
  padding-right:0.3em;
  padding-top:0.3ex;
  padding-bottom:0.3ex;
}

table.proof tr td.proof11 {
  color:#c80000;
  padding-left:1em;
  padding-right:1em;
}

table.proof tr td.proof12 {
  color:#404040;
  padding-left:3em;
  padding-right:1em;
}

table.proof tr td:hover {
  background-color:#f8fcc8;
  color:#c80000;
}

/* color highlighting for source code */

.typename		{ color: #00008b; font-family:monospace; }
.varname		{ color: #000000; font-family:monospace; }
.globalname		{ color: #c80000; font-family:monospace; }
.instancename		{ color: #c80000; font-family:monospace; }
.opname			{ color: #770000; font-family:monospace; }
.operator		{ color: #770000; font-family:monospace; /* font-weight:bold; */ }
.keyglyph               { color: #3070A0; font-family:monospace; /* font-weight:bold; */ }
.par                    {  }

.keyword		{ color: #800000; font-family:monospace; /* font-weight:bold; */ }
.typekeyword		{ color: #3070A0; font-family:monospace; /* font-weight:bold; */ }
.strconst		{ color: #227722; font-family:monospace; }
.charconst		{ color: #227722; font-family:monospace; }
.labelname		{ color: #FF00FF; font-family:monospace; font-weight:bold; }
.cppcommand		{ color: #007000; font-family:monospace; }
.specialword		{ color: #c80000; font-family:monospace; }
.classname		{ color: #8B2323; font-family:monospace; }
.comment		{ color: #775555; font-family:monospace; }
.bnfnt			{ color: #00008b; font-family:monospace; /* font-weight:bold; */ }
.bnfmeta		{ color: #ff0000; font-family:monospace; /* font-weight:bold; */ }
.bnfterminal		{ color: #800000; font-family:monospace; /* font-weight:bold; */ }
.tclproc		{ color: #FF6000; font-family:monospace; }
.tclvar			{ color: #0000CD; font-family:monospace; }
.tclcomment		{ color: #c80000; font-family:monospace; }

.redcode		{ color: #c80000; font-family:monospace; /* font-weight:bold; */ }
.bluecode		{ color: #3070A0; font-family:monospace; /* font-weight:bold; */ }
.keycode		{ color: #3070A0; font-family:monospace; /* font-weight:bold; */ }


/* navigation classes */

div.inhalt {
  margin-left:5%;
  width:95%;
  text-align:left;
}

table.inhalt {
  width:100%;
}

table.inhalt tr th {
  vertical-align:middle;
  padding:0px;
}

table.inhalt tr td {
  vertical-align:top;
  text-align:left;
  padding-left:0em;
  font-size:x-large;
  padding-left:0.3em;
  padding-right:0.3em;
  padding-top:0.3ex;
  padding-bottom:0.3ex;
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
}

table.inhalt tr td:hover {
  border-width: 1px;
  border-style: solid;
  border-color: #c80000;
  background-color: #f8fcc8;
}

div.navigate {
  border-width: 0px;
  border-style: solid;
  border-color: red;
  width:           100%;
  padding:          0px;
  margin:           0px;
  text-align:     right;
}

table.navigate {
  border-width: 1px;
  border-style: solid;
  border-color: #ffffff;
  margin-left:         auto;
  margin-right:           0;
}

table.navigate:hover {
  border-width: 1px;
  border-style: solid;
  border-color: #c80000;
  background-color: #f8fcc8;
}

td.navigate {
  border-width:0px ;
  border-style:solid ;
  border-color:green;
  padding:0px;
  margin:0px;
}

/* konqueror does not understand float:none
   hack: align="right" and extra empty div with clear:all
   this would be better

table.navigate {
  border-width:1px ;
  border-style:solid ;
  border-color:blue;
  display:inline;
  float:none;
}
*/

/* haskell code */

span.haskell {
  font-family: monospace;
  margin-left:0.3em;
  margin-right:0.3em;
  padding-left:0.3em;
  padding-right:0.3em;
  padding-top:0.2ex;
  padding-bottom:0.2ex;
  border-width: 1px;
  border-style: solid;
  border-color: #bbbbbb;
  background-color:#dddddd;
}

span.bottom {
  font-family: monospace;
  text-decoration: underline;
  color:#c80000;
}

/* literatur */

dt.buch {
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
  padding-left:0.3em;
  padding-right:0.3em;
  padding-top:0.3ex;
  padding-bottom:0.3ex;
}

dt.buch:hover {
  border-width: 1px;
  border-style: solid;
  border-color: #c80000;
  color:            #c80000;
  background-color: #f8fcc8;
}

img.cover {
  max-width:    200px;
  margin-left:   10px;
  margin-right:  30px;
  margin-top:    10px;
  margin-bottom: 30px;
}

/* unix */

table.re-table {
  border-width: 3px;
  border-style: solid;
  border-color: #bbbbbb;
}

table.re-table th, table.re-table td {
  text-align: center;
  margin:        3px;
  padding:      10px;
}

table.re-table th {
  background-color: #bbbbbb;
}

table.re-table td {
  background-color: #dddddd;
}

table.re-table tr th:hover, table.re-table tr td:hover {
  background-color:#f8fcc8;
  color:#c80000;
}

/* program listings */

div.pre, div.codeline, td.codeline{
  font-family: monospace;
  width: 100%;
  white-space: pre;
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
  padding-left: 0.3em;
}

div.pre:hover, div.codeline:hover, td.codeline:hover {
  background-color:#ddddff;
  color:#c80000;
  border-width: 1px;
  border-style: solid;
  border-color: #c80000;
}

/* program listings */

div.lines {
  /* font-family: monospace; */
  width: 100%;
  white-space: pre;
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
  padding-left: 0.3em;
}

div.lines:hover {
  background-color:#ddddff;
  color:#c80000;
  border-width: 1px;
  border-style: solid;
  border-color: #c80000;
}

/* compiler */

table.ctable tr th.state-transition	{
  text-align: left;
}

table.ctable tr td.state-transition	{
  text-align: center;
}

table.ctable tr th.state-transition2	{
  text-align: center;
  vertical-align: top
}

table.ctable tr td.state-transition2	{
  text-align: center;
  vertical-align: top
}

table.grammar, table.parsetable {
  border-width: 3px;
  border-style: solid;
  border-color: #ffffff;
  border-spacing: 2px;
}

table.grammar:hover, table.parsetable:hover {
  border-width: 3px;
  border-style: solid;
  border-color: #c80000;
  /* background-color:#f8fcc8; */
}

th.grammar, td.grammar {
  text-align: left;
  vertical-align: top;
  padding: 6px;
}

th.grammar {
  background-color: #bbbbbb;
}

td.grammar {
  background-color: #dddddd;
}

th.grammar:hover, td.grammar:hover, th.parsetable:hover, th.parsetable2:hover, td.parsetable:hover, td.parsetable2:hover, td.parsetable3:hover {
  background-color:#f8fcc8;
  color:#c80000;
}

th.parsetable, th.parsetable2, td.parsetable, td.parsetable2, td.parsetable3 {
  vertical-align: top;
  padding: 0.4ex;
}

th.parsetable {
  text-align: left;
  background-color: #bbbbbb;
}

th.parsetable2 {
  text-align: center;
  background-color: #bbbbbb;
}

td.parsetable {
  text-align: left;
  background-color: #dddddd;
}

td.parsetable2 {
  text-align: center;
  background-color: #dddddd;
}

td.parsetable3 {
  text-align: right;
  background-color: #dddddd;
}

div.roadmap {
  margin-left: 3em;
}

