/* normalize defaults */
html, head, body, 
h1, h2, h3, h4, h5, h6, 
div, span, p, blockquote, code, img, a,
table, caption, tr, thead, th, tbody, td,
ul, ol, li, label, form, fieldset {
  margin: 0;
  padding: 0;
  line-height: 1em;
  font: 100% Arial, Helvetica, sans-serif;	
  font-weight: inherit;
}

.skip {
  position: absolute;
  top: -999px;
  left: -999px;
  clear: both;
}

.clear {
  height: 0;
  clear: both;
}

.col {
  width: 100px;
  float: left;
}

.left {
  display: block;
  float: left;
  text-align: left;
}

.right {
  display: block;
  float: right;
  text-align: right;
}

a:link,
a:visited {
  color: #075F78;
  text-decoration: none;
  font-weight: inherit;
  font-style: inherit;
}

a:hover,
a:active {
  color: #C67E09;
  text-decoration: underline;
  font-weight: inherit;
  font-style: inherit;
}

fieldset {
  border: none;
}


/* layout */

html {
	background: url('/algebra/pics/unikoeln.gif') top left repeat;
	background-color: #fff;
}

body,
body.home {
	width: 792px;
	margin: 0 auto;
}

body #outside {
	width: 900px;
	padding-left: 95px;
	margin-left: -95px;
}

body #wrapper,
body.home #wrapper{
	margin-left: -137px;
	width: auto;
	border: none;
}

body #container,
body.home #container {
	padding-left: 142px;
}

body #navigation,
body.home #navigation {
	padding-top: 10px;
	border-bottom: 1px solid #DCDCDC;
}

body #navigation p,
body.home #navigation p {
	padding-left: 5px;
	padding-right: 5px;
}

.alignleft {
float: left;
}

.alignright {
float: right;
}

body #logo table,
body.home #logo table {
        position: relative;
        left: 250px; 
        width: 500px;
}

body #logo table a,
body.home #logo table a {
        font-size: 1.5em;
	/* line-height: 2.5em; */
}

body #logo img,
body.home #logo img {
	border: none;
}

/* home events */

#events {
	padding-top: 23px;
	width: 845px;
}

#events table {
	border-top: 1px solid #DCDCDC;
	width: 670px;
	padding-bottom: 30px;
}

#events table.normal {
	border-top: 0px;
	width: 670px;
	padding-bottom: 30px;
}

#spotlight table {
	border-top: 1px solid #DCDCDC;
	top: 18px;
	width: 670px;
	padding-top: 15px;
	padding-bottom: 30px;
}

#spotlight table.normal {
	border-top: 0px;
	width: 670px;
	padding-bottom: 30px;
}

#logo table {
	top: 18px;
	width: 670px;
	padding-top: 15px;
	padding-bottom: 30px;
}

logo a {
}

logo tr {
	font-size: 0.9em;
	line-height: 1.16em;
}

.home #events {
	padding-top: 23px;
	width: 411px;
	/* border-right: 1px solid #DCDCDC; */
}

#events h2 {
	padding-left: 10px;
	padding-bottom: 18px;
}

#events h3,
#spotlight h3 {
	font-weight: bold;
	font-size: 0.7em;
	color: #6D121F;
	padding: 0 11px 4px 11px;
}

.home #events table {
	border-top: 1px solid #DCDCDC;
	width: 411px;
	padding-bottom: 3px;
}

.home #spotlight table {
	border-top: 1px solid #DCDCDC;
	position: relative;
	top: 18px;
	width: 366px;
	padding-bottom: 20px;
}

.home #spotlight td.desc {
	width: 206px;
}

#spotlight td.time,
.home #spotlight td.time {
	width: 75px;
}

#spotlight td.loc,
.home #spotlight td.loc {
	width: 60px;
}

#events td.loc
.home #events td.loc {
	width: 35px;
}

#events td.time
.home #events td.time {
	width: 35px;
}

.home #events td.desc {
	width: 415px;
}

#spotlight td.desc,
#events td.desc {
	width: 535px;
}

#events h4 {
	color: #C67E09;
	font-weight: bold;
}

#events td,
#spotlight td {
	line-height: 1.25em;
	color: #404040;
	padding: 2px 11px 8px 11px;
	vertical-align: top;
	font-size: 0.7em;
}

#events a:link,
#events a:visited,
#footer a:link,
#footer a:visited,
#spotlight a:link,
#spotlight a:visited {
	font-weight: bold;
}

#events a:hover,
#events a:active,
#footer a:hover,
#footer a:active,
#spotlight a:hover, 
#spotlight a:active {
	font-weight: bold;
}

#events p {
	padding: 4px 11px;
	margin-bottom: 0;
	font-size: .7em;
}

#events td p {
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 0;
	font-size: 1em;
}

#events p.empty {
	padding-bottom: 50px;
}

/*
#events .sep {
	padding: 0 3px;
	color: #ccc;
	font-weight: bold;
}

#events .arrows {
	width: 200px;
}

#events img {
	border: none;
}
	*/


/* top navigation */

#topnav {
  overflow: hidden;
  width: 792px;
  height: 28px;
  margin-top: 1px;
  margin-bottom: 0;
}

.home #topnav {
  height: 179px;
  margin-top: 1px;
}

#topnav li {
  font-size: 1em;
  height: 28px;
  padding-right: 6px;
  padding-left: 0px;
  float: left;
  list-style-type: none;
  white-space: nowrap;
}

.home #topnav li {
  padding-right: 6px;
  padding-left: 0px;
}

#topnav li.last {
  padding-right: 0;
}

#topnav li a {
  display: block;
  height: 16px;
  background-color: #2092B7;
  margin-top: 6px;
  margin-bottom: 0;
  padding: 6px 9px 0 9px;
  font-weight: bold;
  font-size: 0.75em;
  line-height: 1em;
  color: #fff;
}

#topnav li a:hover,
#topnav li a:active,
#topnav li.sel a {
  margin-top: 0;
  border-top: 6px solid #404040;
  text-decoration: none;
}

.teaching,
.teaching ul,
.members,
.members ul,
.networks,
.networks ul {
  width: 133px;
}

.publications,
.publications ul,
.misc,
.misc ul,
.research,
.research ul,
.dates,
.dates ul {
  width: 98px;
}

.seminars,
.seminars ul {
  width: 167px;
}

#topnav li.publications a,
#topnav li.misc a,
#topnav li.research a,
#topnav li.seminars a,
#topnav li.dates a {
  background-color: #075F78;
}

#topnav li ul {
  display: none;
  margin-bottom: 0;
}

.home #topnav li ul,
#topnav li.over ul,
#topnav li:hover ul {
  display: block;
}

#wrapper #topnav li ul {
  position: absolute;
  background-color: #F5F5F5;
  height: 147px;
  margin: 0;
  padding: 5px 0 0 0;
}

#wrapper #topnav li ul li {
  float: none;
  display: block;
  margin: 0;
  padding: 0px 6px;
  height: 18px;
  line-height: 1em;
  border: none;
}

#topnav li.teaching li a,
#topnav li.members li a,
#topnav li.networks li a {
  background-color: transparent;
  line-height: 1em;
}

#topnav li li a:link,
#topnav li li a:visited,
#topnav li li a:hover,
#topnav li li a:active {
  display: block;
  border: none;
  line-height: 1em;
  color: #075F78;
  font-weight: normal;
  font-size: 0.7em;
  margin: 0;
  padding: 0;
}

#topnav li li a:hover,
#topnav li li a:active,
#subnav li a:hover,
#subnav li a:active,
#subnav li.sel a:hover,
#subnav li.sel a:active {
  color: #C67E09;
  text-decoration: underline;
}


/* side navigation */

#subnav {
	width: 150px;
	float: left;
	padding: 20px 10px 20px 15px;
}

#subnav li ul {
	padding-left: 10px;
	padding-top: 2px;
}

#subnav li ul li ul {
	padding-left: 6px;
}

#subnav li {
	list-style-type: none;
	background: url('images/bg-dotted.gif') top left repeat-x;
	font-weight: bold;
	font-size: 0.75em;
	line-height: 1.25em;
	margin: 0;
	padding: 7px 6px 4px 0;
}

#subnav li li.sel {
	background: url('images/bg-subnav-sel.gif') 0 6px no-repeat;
	font-weight: bold;
}

#subnav li li li.sel {
	background-position: 0px 5px;
}

#subnav li li {
	font-size: 0.93em;
	font-weight: normal;
	background-image: none;
	padding: 4px 3px 3px 8px;
}

#subnav li li li {
	font-size: 0.94em;
	background: url('images/bg-fourthlevel.gif') 0px 4px no-repeat;
	padding-left: 10px;	
}

#subnav li a {
	background: url('images/arrow-2nd-level.gif') top left no-repeat;
	margin: 0;
	padding: 0;
	padding-left: 17px;
	color: #075F78;
	line-height: 1.25em;
}

#subnav li.sel a {
	color: #404040;
	background: url('images/arrow-2nd-level-sel.gif') top left no-repeat;
}

#subnav li li li.sel a,
#subnav li li.sel a {
	background-image: none;
}

#subnav li li a {
	padding: 0;
	background-image: none;
}

#subnav li li a,
#subnav li.sel li a {
	color: #075F78;
	background-image: none;
}

#subnav li li li a,
#subnav li li.sel li a {
	color: #6D121F;
	background-image: none;
}


/* home page spotlight */

.home #spotlight {
	padding-top: 23px;	
	width: 366px;
	border-left: 1px solid #DCDCDC;
}

#spotlight {
	padding-top: 23px;	
	width: 845px;
	/* border-left: 1px solid #DCDCDC; */
}

#spotlight h2 {
	padding-left: 10px;
	padding-bottom: 18px;
}

#spotlight p {
	font-size: 0.9em;
	line-height: 1.16em;
}


/* sub pages styles */
#main {
	float: left;
	width: 752px;
	padding: 12px 26px 22px 16px;
	background-color: transparent;
}

#content {
	border: none;
	width: 845px;
	margin-top: 10px;
}

.home #content {
	border-top: none;
	float: none;
	margin: 0;
	padding-top: 6px;
	padding-left: 5px;
}

.pagetitle {
	font-size: 1.32em;
	font-weight: bold;
	color: #404040;
	margin-bottom: 0.25em;
	clear: both;
}

.header {
	font-size: 0.95em;
	color: #6D121F;
	font-weight: bold;
	margin: 1.25em 0 3px 0;
}

.subheader {
	font-size: 0.88em;
	font-weight: bold;
	color: #404040;
	margin-top: 0.25em;
	line-height: 1.25em;
}

.italheader {	
	font-weight: bold;
	color: #404040;
	margin-bottom: 0.25em;
	font-size: 0.75em;
	line-height: 1.25em;
	font-style: italic;
}

.italheader em {
	font-style: normal;
}

.lineheader {
	color: #6D121F;
	font-weight: bold;
	font-size: 0.93em;
	border-top: 1px solid #E7E7E7;
	margin: 1em 0 0.75em;
	padding-top: 2px;
}

.persontitle {
	font-style: italic;
	font-size: 0.75em;
	line-height: 1.25em;
	color: #404040;
	margin-bottom: 1.25em;
}

.barheader {
	color: #6D121F;
	font-size: 0.75em;
	font-weight: bold;
	background-color: #E3E3E3;
	padding: 6px 7px;
	clear: both;
}

.smheader {
	font-size: 0.75em;
	line-height: 1.25em;
	font-weight: bold;
	color: #075F78;
	margin-top: 0.25em;
}

.dotheader {
	background: url('images/bg-dotted.gif') bottom left repeat-x;
	padding: 6px 0;
}

td, 
th, 
p, 
label, 
li, 
blockquote,
code,
.content {
	font-size: 0.75em;
	line-height: 1.25em;
	margin-bottom: 0.5em;
	color: #404040;
}

.sep {
	padding: 0 20px;
}

#main ul,
#main ol,
#main blockquote,
#main code {
	margin-left: 23px;
	margin-bottom: 0.5em;
	margin-top: 0.5em;
}

#main #pictures {
	float:	right;
	margin-top:	35px;
}

#main #tables {
	width:	552px;
	float:	left;
}

#main img {
	border:		0;
}


select {
	font: 0.75em Arial, Helvetica, sans-serif;
}

code {
	display: block;
	margin-top: 0.5em;
}

.bioimage {
	width: 130px;
	display: block;
	float: right;
}

.bioimage img {
	display: block;
	padding-bottom: 12px;
}

.bioimage p {
	font-size: 0.7em;
}

.biodetails {
	float: left;
	display: block;
	width: 395px;
}

.back {
	padding-left: 17px;
	background: url('images/arrow-orange.gif') top left no-repeat;
	margin-bottom: 1em;
}

.dateline {
	font-size: 0.75em;
	color: gray;
	padding: 0 0 1em;
}

.sidebar {
	float: right;
	padding: 0 0 15px 20px;
}

.sidebar a img {
	border: none;
}

.sidebar p {
	margin-top: 0.75em;
	font-size: 0.75em;
	line-height: 1.25em;
	width: 125px;
}


/* sort form elements */

fieldset.sort {
	background-color: #E3E3E3;
	display: block;
	float: left;
	width: 387px;
	height: 92px;
	padding: 10px 10px 0 10px;
	margin-bottom: 1em;
}

fieldset.med {
	width: 375px;
	margin-right: 10px;
}

fieldset.small {
	width: 115px;
	margin-right: 10px;
}

fieldset.sort p {
	font-weight: bold;
}

fieldset.sort label {
	padding: 0 4px;
}

fieldset p.formset {
	font-weight: normal;
	float: left;
	width: 125px;
}


/* data table styles */

table.data {
	clear: both;
	width: 100%;
	margin: 0 0 2em 0;
}

table.data caption,
table td.mnavbkgnd {
	background-color: #D9E7EB;
	/* background: transparent; */
	font-size: 0.75em;
	font-weight: bold;
	color: #404040;
	text-align: left;
	padding: 3px 4px;
	margin: 1em 0 0 0;
}

table.data th,
table.data td {
	margin: 0;
	padding-left: 7px;
	padding-right: 7px;
	padding-top: 6px;
}

table.data th,
table td.month1bkgnd {
	/* background-color: #fff; */
	background: transparent;
	color: #6D121F;
	text-align: left;
	font-weight: bold;
	padding-bottom: 5px;
	border-bottom: 2px solid #CFCFCF;
}

table.data th.small {
	width: 90px;
}

table.data tbody td {
	font-size: 0.7em;
}

table.data td,
td.month3 {
	vertical-align: top;
	padding-bottom: 4px;
	border-top: 1px solid #EEF1F2;
}

table.data tr.alt td,
td.month2 {
	/* background-color: #ECF6FB; */
	background: transparent;
	border-top: 2px solid #DEE3E5;
}

table.data tr.altrow td {
	background-color: #ECF6FB;
}

table.data tr.top td {
	border-top: 2px solid #DEE3E5;
}

table.data tr.altrow td.hide {
	color: #ECF6FB;
}

table.data tr td.hide {
	color: #FFF;
}

table.data tr.desc td {
	border-top: none;
	background-image: url('images/bg-dotted.gif');
	background-position: top left;
	background-repeat: repeat-x;
}

table.data td.email {
	color: #075F78;
}


/* events calendar */

table td.month1bkgnd {
	padding-top: 5px;
}

.mnavtext {
	color: #404040;
	padding-right: 5px;
}

.month1textmonth, 
.month1texttoday {
	color: inherit;
	font-size: inherit;
}

td.month3 {
}

td.month4 {
	background-color: #fff;
	height: 60px;
	border: 1px solid #EEF1F2;

}

td.month4 a:link,
td.month4 a:visited,
td.month4 a:hover,
td.month4 a:active {
	color: inherit;
}

.event4bkgnd {
	background-color: #fff;
}

.event1textdetail {
	font-family: inherit;
	font-size: inherit;
}


/* photo gallery styles */

.gallery {
	width: 95px;
	padding: 26px 7px 2px 7px;
}

.gallery p {
	color: #075F78;
	font-size: 0.75em;
	line-height: 1.25em;
	font-weight: bold;
	padding-top: 0.7em;
	text-align: center;
}
/* This section introduces a drop-shadow, constrains gallery pic sizes (which will stretch/shrink them if formatted differently),
and styles the "picture missing" alt text*/
.gallery img {
	background: url('images/dropshadow.gif') left top no-repeat;
	display: table-cell;
	width: 95px;
	height: 114px;
	padding: 0 2px 2px 0;
	font-size: 1em;
	font-weight: bold;
	color: #075F78;
	text-align: center;
	vertical-align: middle;
}

/* footer */

div.n {
	padding-top: 1em;
}

#footer,
.home #footer {
	clear: both;
	padding: 15px 0 22px 0px;
	border-top: 1px solid #DCDCDC;
}

#footer p {
	display: block;
	float: left;
	font-size: 0.7em;
	line-height: 1.15em;
	color: #333;
	padding: 0px 0px 0px 10px;
}

#footer a:link,
#footer a:visited,
#footer a:hover,
#footer a:active,
#spotlight a:link,
#spotlight a:visited,
#spotlight a:hover,
#spotlight a:active {
	font-weight: normal;
}

ul.toc li {
	line-height: 1.25em;
	list-style-type: none;
}

ul.toc li a {
	font-weight: bold;
}

table.puzzle, table.puzzle td table {
	border-collapse: collapse;
	empty-cells: show;
	margin: auto;
}

table.puzzle td {
	border: 2.4px;
}

table.puzzle td.int {
	border: solid black;
}

table.puzzle td.ext {
	border: none;
}

table.puzzle.example td table td {
	font-size: 1em;
}
table.puzzle td table td {
	height: 1.9em;
	width: 1.9em;
	text-align: center;
	font-size: 2em;
}

table.puzzle td.int table td {
	border: solid black 1.2px;
}

table.puzzle td table td.empty {
	background: black;
}

table.puzzle caption {
	font-size: 0.75em;
	background-color: #2092B7;
}

