div#columns h1 {
    font-size: 19pt;
    padding: .5em 0;
    margin: 0;
    text-align: left;
    font-weight: normal;
}
div#columns h2 {
    font-size: 16pt;
    padding: .5em 0;
    margin: 0;
    text-align: left;
    font-weight: normal;
}
div#columns h3 {
    font-size: 14pt;
    padding: .5em 0;
    margin: 0;
    text-align: left;
    font-weight: normal;
}
div#content p {
    padding: 0;
    margin: .5em 0;
    /* Have this as a (less weak) default for the main content area. */
    text-align: justify;
}

/* Support RTE alignment and colorification. */
div#content .align-right { text-align: right; }
div#content .align-left { text-align: left; }
div#content .align-center { text-align: center; }
div#content .align-justify { text-align: justify; }
div#content .important { color: #DD0000; }

div#content img {
    padding-top: 1em;
    padding-bottom: 1em;
}
a {
    /* Various browsers treat underline default for links in various ways.
     * Some seem to extend it to contained elements, even blocks.
     * Others seem to cause inheritance by contained elements.
     * To save us the hassles and cover all cases, turn off link underlining
     * in general.
     */
    text-decoration: none;
}
div#content a, div#right a {
    color: #0162B0;
}
div#content a:hover, div#right a:hover {
    color: #0162B0;
    text-decoration: underline;
}
div#left a {
    border: 0 none;
    margin: 0;
    padding: 0;
}
div#left ul {
    border-bottom: 1px solid #C0C0C0;
    list-style-type: none;
    margin: 1em;
    padding: 0;
}
div#left ul li {
    margin: 0;
}
div#left span {
    color: #333333;
    border-top: 1px dotted #C0C0C0;
    display: block;
    margin: 0;
    padding: 4pt;
}
div#left span.current {
    background: #FFFFFF;
}
div#left span.active, div#left span.current {
    font-weight: bold;
    color: #0162B0;
}
div#left span.active:hover, div#left span.inactive:hover {
    background: #CCCCCC;
}
div#left ul li ul {
    border-bottom: 0 none;
    margin: 0;
    padding: 0 0 0 5pt;
}
div#left ul li li {
    font-size: 8pt;
}
div#left {
    /*  Tried several strategies here.
     *  Using position: absolute and top/bottom:0 (with position: relative
     *  for content) would correctly expand left column height (with bg)
     *  to that of content. However, the inverse is not true, left column
     *  gets cut off at the bottom (if overflow: hidden) or overlaps with
     *  footer whenever content height is less.
     *  The best solution still seems to be float: left (all columns)
     *  for positioning and for correct height adaption of div#columns.
     *  To get the menu background correctly filled downwards, I now use
     *  an underlying absolute background-only div#leftunder and a higher
     *  z-index here (which also requires position: relative to work).
     */
    float: left;
    width: 19%;
    position: relative;
    z-index: 100;
    overflow: hidden;
    margin: 0;
    padding: 1em .5%;
    background: #F6F6F6 url('../img/header-darksep.png') repeat-x top;
}
div#leftunder {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 19%;
    margin: 0;
    padding: 1em .5%;
    background: #F6F6F6;
}
div#content {
    float: left;
    width: 55%;
    /* This is crucial to keep it readable. */
    max-width: 54em;
    /* Better to have it visible (even if it overlaps) than to cut it off... */
    overflow: visible;
    margin: 0;
    padding: 1em 2.5%;
    /* Have this as a (weak) default for the main content area. */
    text-align: justify;
}
div#right {
    float: right;
    width: 18%;
    overflow: hidden;
    margin: 1em 1%;
    padding: 0;
}
div#columns {
    /* Must not be static, as we need this as a reference for contained divs. */
    position: relative;
    margin: 0;
    padding: 0;
    min-height: 72px;
    background: url('../img/header-sep.png') repeat-x top;
}
div#header h1 {
    display: none;
    visibility: hidden;
}
div#header h2 {
    position: absolute;
    right: 30px;
    bottom: 10px;
    display: block;
    color: #01419C;
    font-size: 25px;
    padding: 0;
    margin: 0;
}
div#topnav {
    position: absolute;
    left: 1em;
    bottom: 0;
    display: block;
    margin: 0;
    padding: 0;
    font-weight: bold;
    color: #FFFFFF;
}
div#topnav ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}
div#topnav li {
    display: block;
    float: left;
    margin: 0 0 0 1px;
    padding: 0;
}
div#topnav span {
    display: block;
    margin: 0;
    padding: .5em 1em;
    color: #FFFFFF;
}
div#topnav span.current {
    background: #0162B0;
}
div#topnav span.inactive {
    background: #6181B7;
}
div#topnav span.inactive:hover {
    background: #80A0CD;
}
div#search {
    position: absolute;
    right: 1em;
    bottom: .5em;
    padding: 0 0 0 20px;
    background: url('../img/icon-search.png') no-repeat left center;
}
div#search form {
    /* Various browsers have an implicit form margin. Strip it here. */
    margin: 0;
}
div#search input {
    width: 10em;
}
div#fineprint {
    display: inline;
    font-size: 8pt;
}
div#fineprint ul {
    display: inline;
    list-style-type: none;
    margin: 0;
    padding: 0;
}
div#fineprint li {
    display: inline;
    margin: 0;
    padding: 0 1em;
    border-right: 1px solid #666666;
}
div#fineprint li.last {
    border-right: 0px none;
}
div#fineprint span {
    color: #666666;
}
div#fineprint span.inactive:hover {
    text-decoration: underline;
}
div#header {
    position: relative;
    height: 200px;
    margin: 0 0 0 15px;
    padding: 0 0 2em 0;
    background: url('../img/header-bccn2009.png') no-repeat #FFFFFF;
}
div#header img#printlogo {
    display: none;
    visibility: hidden;
}
@media print {
    div#header img#printlogo {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        display: block;
        visibility: visible;
    }
}
div#footsep {
    height: .4em;
    margin: 0;
    padding: 0;
    background: #CCCCCC;
}
div#footer {
    min-height: 20px;
    margin: 0;
    padding: 1em;
    background: #F6F6F6 url('../img/footer-bottom.png') repeat-x bottom;
    color: #666666;
    text-align: center;
    font-size: 8pt;
}
div.banneritem {
    display: inline;
    margin: 0;
    padding: .5em 1.5em;
}
@media print {
    div.banneritem {
        padding: .5em;
    }
}
div.banneritem img {
    border: 0;
}
input, textarea {
    border: 1px solid #CCCCCC;
    background: #FFFFFF;
    font-size: 9pt;
    padding: 1.5pt;
}
input[type="submit"] {
    color: #F6F6F6;
    border: 1px solid #000000;
    background: #666666;
    margin: .25em 0;
    padding: .25em .5em;
}
input[type="submit"]:hover {
    border: 1px solid #000000;
    background: #888888;
    margin: .25em 0;
    padding: .25em .5em;
}
input[type="submit"]:active {
    border: 1px solid #000000;
    background: #AAAAAA;
    margin: .25em 0;
    padding: .25em .5em;
}
select {
    color: #000000;
    border: 1px solid #CCCCCC;
    background: #F6F6F6;
    padding: 0 0 0 .25em;
}
th, td {
    padding: .5em 1em .5em 0;
}
div#content table.contenttable {
    /* Make border look good: inner lines are doubled, so double outer, too. */
    border-right: 1px solid #000000;
    border-bottom: 1px solid #000000;
    /* Alignment should not be 'justify' by default, too small, looks ugly. */
    text-align: left;
    white-space: nowrap;
}
div#content table.contenttable th, div#content table.contenttable td {
    border-top: 1px solid #000000;
    border-left: 1px solid #000000;
    margin: 0;
    padding: 0 .4em;
}
.tx-indexedsearch .tx-indexedsearch-browsebox li {
    display: inline;
    margin-right: 1em;
}
.tx-indexedsearch .tx-indexedsearch-searchbox td { padding: .25em 1em .25em 0; }
.tx-indexedsearch .tx-indexedsearch-searchbox input.tx-indexedsearch-searchbox-sword { width: 25em; }
.tx-indexedsearch .tx-indexedsearch-whatis { margin: 1em 0; }
.tx-indexedsearch .tx-indexedsearch-whatis .tx-indexedsearch-sw { font-weight: bold; font-style: italic; }
.tx-indexedsearch .tx-indexedsearch-noresults { text-align: center; font-weight: bold; }
.tx-indexedsearch .tx-indexedsearch-res td { padding: 0; }
.tx-indexedsearch .tx-indexedsearch-res td.tx-indexedsearch-descr { font-style: normal; }
.tx-indexedsearch .tx-indexedsearch-res .tx-indexedsearch-descr .tx-indexedsearch-redMarkup { color: red; }
.tx-indexedsearch .tx-indexedsearch-res .tx-indexedsearch-info { background: #F6F6F6; }
.tx-indexedsearch .tx-indexedsearch-res .tx-indexedsearch-secHead { margin: .5em 0; }
.tx-indexedsearch .tx-indexedsearch-res .tx-indexedsearch-secHead h2 { margin: 0; }
.tx-indexedsearch .tx-indexedsearch-res .tx-indexedsearch-secHead td { background: #CCCCCC; vertical-align: middle; }
.tx-indexedsearch .tx-indexedsearch-res .noResume { color: #666666; }
.tx-indexedsearch .tx-indexedsearch-category { background: #CCCCCC; font-size: 1em; font-weight: bold; }

/* FIXME: Did not check relevance of this, from original indexed search CSS */
/* Additional styles, needed for the tableless template_css.tmpl (styles don't conflict with the original template) */
.tx-indexedsearch .res-tmpl-css { clear:both; margin-bottom:1em; }
.tx-indexedsearch .searchbox-tmpl-css label { margin-right:1em; width:10em; float:left; }
.tx-indexedsearch .result-count-tmpl-css, .tx-indexedsearch .percent-tmpl-css { letter-spacing:0; font-weight:normal; margin-top:-1.2em; float:right; }
.tx-indexedsearch .info-tmpl-css dt, .tx-indexedsearch dl.info-tmpl-css dd { float:left; }
.tx-indexedsearch .info-tmpl-css dd.item-mtime { float:none; }
.tx-indexedsearch .info-tmpl-css dd.item-path { float:none; }

.tx-ptconference-pi1 th, .tx-ptconference-pi1 td {
    padding: .5em;
}
.tx-ptconference-pi1 table.chart {
    border-right: 1px solid #000000;
    border-bottom: 1px solid #000000;
}
.tx-ptconference-pi1 table.chart th, .tx-ptconference-pi1 table.chart td {
    border-top: 1px solid #000000;
    border-left: 1px solid #000000;
    padding: .5em 1em;
}
.tx-ptconference-pi2 table.chart {
    border-right: 1px solid #000000;
    border-bottom: 1px solid #000000;
}
.tx-ptconference-pi2 table.chart th, .tx-ptconference-pi2 table.chart td {
    border-top: 1px solid #000000;
    border-left: 1px solid #000000;
    padding: .5em 1em;
}
/* Registration overview uses <p> in chart. Overwrite default 'justify'.
 * FIXME: Probably should do this in a general fashion -- tables tend to be
 *        too small for 'justify'.
 */
div#content .tx-ptconference-pi2 table.chart p {
    text-align: left;
}

div.news-latest-item {
    margin: 1em 0;
}
div.news-latest-item h3 {
    line-height: 120%;
}
div.news-latest-item p {
    margin: 0;
    padding: 0;
}
div.news-latest-morelink {
    float: right;
}
div.news-latest-item hr.clearer {
    border: 0 none;
    border-bottom: 1px solid #CCCCCC;
    margin: 0;
    padding: 0;
    clear: both;
}

div.news-list-item {
    margin-bottom: 1em;
}
div.news-latest-item h3 {
    line-height: 120%;
}
div.news-list-item h3 span {
    display: block;
    font-size: 10pt;
    font-weight: bold;
    margin-bottom: 1em;
}
div.news-list-item p {
    margin: 0;
    padding: 0;
}
div.news-list-morelink {
    float: right;
}
div.news-list-item hr.clearer {
    border: 0 none;
    border-bottom: 1px solid #000000;
    margin: 0;
    padding: 0;
    clear: both;
}

div.news-single-item hr.clearer {
    border: 0 none;
    border-bottom: 1px solid #000000;
    margin: 0;
    padding: 0;
}

/* Photo book: Make sure empty thumbnail table cells do not use up space. */
div.tx-gooffotoboek-pi1 td.gfpb_empty {
    margin: 0;
    padding: 0;
    width: 0;
    height: 0;
    display: none;
    visibility: hidden;
}

/* Portrait thumbnails are more narrow, make sure they are centered. */
div.tx-gooffotoboek-pi1 td.gfpb_portret {
    text-align: center;
}

div#payment input[type="submit"] {
    color: #A6FFA6;
    font-weight: bold;
}

body {
    color: #000000;
    background: #FFFFFF;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 9pt;
    line-height: 150%;
    margin: 0;
}
