@charset "UTF-8";
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: inherit;
    font-size: 100%;
    vertical-align: baseline
}

html {
    line-height: 1
}

ol, ul {
    list-style: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

caption, th, td {
    text-align: left;
    font-weight: normal;
    vertical-align: middle
}

q, blockquote {
    quotes: none
}

q:before, q:after, blockquote:before, blockquote:after {
    content: "";
    content: none
}

a img {
    border: none
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
    display: block
}

html, body {
    height: 100%
}

body {
    color: #000;
    font-family: Arial, Verdana, sans-serif;
    font-size: 12px;
    line-height: 16px
}

h1 {
    font-size: 21px;
    line-height: 16px;
    text-transform: uppercase;
    position: relative
}

h1 a {
    background: url(/images/logo.png) no-repeat;
    display: block;
    height: 17px;
    text-indent: -999em;
    width: 409px
}

a {
    text-decoration: none
}

a, a:visited {
    color: #000
}

a:hover, a:active, a.loud, a.url {
    color: #9f0b0f;
    text-decoration: underline
}

p {
    margin-bottom: 18px
}

p a {
    text-decoration: underline
}

strong {
    font-weight: bold
}

.thumb, .thumb img {
    display: block;
    width: 128px
}

.thumb .caption {
    color: #fff;
    display: block
}

.thumb.wide, .thumb.wide img {
    width: 274px
}

.caption {
    color: #939598;
    font-size: 9px;
    line-height: 1.2;
    text-align: right
}

#page {
    margin: 0 auto
}

#page .wrap {
    margin: 0 auto;
    position: relative
}

#menu {
    font-weight: bold;
    line-height: 13px;
    text-transform: uppercase
}

#menu a.current, #menu a:hover {
    color: #9f0b0f
}

#sub_menu {
    font-weight: bold;
    text-transform: uppercase
}

body.content {
    background: #eeeeee;
    height: 101%
}

body.content h1, body.content h1 a, body.content h1 a:visited {
    color: #9f0b0f
}

body.content h2, body.content h3 {
    font-weight: bold
}

body.content #cv {
    line-height: 23px
}

body.content #cv th, body.content #cv td {
    vertical-align: baseline
}

body.content #cv td {
    padding-right: 5px
}

body.content #cv td.since {
    text-align: right
}

body.content #cv td:nth-child(4), body.content #cv td.data {
    padding-left: 10px
}

body.content #page {
    background: white;
    min-height: 100%;
    width: 960px
}

body.content #page .wrap {
    width: 858px
}

body.content #header {
    padding-top: 100px;
    position: relative;
    overflow: hidden;
    *zoom: 1
}

body.content #menu {
    bottom: -2px;
    position: absolute;
    right: 0
}

body.content #menu li {
    float: left;
    margin-left: 36px
}

body.content #banner {
    margin: 18px 0;
    min-height: 96px;
    background: #414042;
    padding-top: 36px
}

body.content #banner, body.content #banner a {
    color: #fff
}

body.content #banner a:hover {
    color: #9f0b0f
}

body.content #banner h2, body.content #banner h3 {
    display: none
}

body.content #sub_menu {
    bottom: 18px;
    position: absolute;
    right: 0
}

body.content #sub_menu a {
    color: #939598
}

body.content #sub_menu a:hover {
    color: #9f0b0f
}

body.content #title {
    margin: -16px auto 0;
    position: relative;
    *zoom: 1
}

body.content #title:after {
    content: "";
    display: table;
    clear: both
}

body.content #title h2, body.content #title h3 {
    display: block;
    font-size: 16px
}

body.content #title .thumb {
    float: left;
    margin: 16px 18px 0 -146px;
    width: 274px
}

body.content #title .thumb img {
    float: right
}

body.content #title .thumb .caption {
    clear: both
}

body.content #title.no-thumb {
    padding-bottom: 18px;
    padding-left: 146px
}

body.content #employees {
    height: 128px
}

body.content #employees, body.content #employees a {
    color: #000
}

body.content #employees li {
    float: left;
    width: 128px
}

body.content #employees li img {
    display: block
}

body.content #employees li .data {
    margin-top: 18px;
    position: absolute
}

body.content #body {
    margin: 18px auto 0;
    padding: 0 232px 18px 0;
    width: 626px;
    *zoom: 1
}

body.content #body:after {
    content: "";
    display: table;
    clear: both
}

body.content #content {
    float: right;
    width: 480px
}

body.content #sidebar {
    float: right;
    margin-right: 18px;
    width: 274px
}

body.content #projects .project {
    margin-bottom: 18px;
    *zoom: 1
}

body.content #projects .project:after {
    content: "";
    display: table;
    clear: both
}

body.content #projects .project img {
    float: left;
    margin: 16px 18px 0 -146px;
    position: relative
}

body.content #projects .summary .awards {
    color: #9f0b0f;
    font-weight: bold;
    margin-top: 1em
}

body.content #facts {
    margin-bottom: 18px
}

body.content #facts th, body.content #facts td {
    padding-bottom: 18px;
    vertical-align: baseline
}

body.content #facts th {
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
    padding-right: 18px;
    width: 90px
}

body.content #description {
    text-align: justify
}

body.content #description p {
    margin-bottom: 0
}

body.content #awards {
    color: #9f0b0f;
    font-weight: bold;
    margin-top: 3em
}

body.content #gallery {
    *zoom: 1
}

body.content #gallery:after {
    content: "";
    display: table;
    clear: both
}

body.content #gallery .thumb {
    float: right;
    margin-left: 18px;
    margin-bottom: 18px
}

body.content #gallery .thumb.first {
    clear: both;
    float: left;
    margin-left: 0
}

body.content #gallery .thumb.wide {
    margin-left: 0
}

body.content .vcard .fn, body.content .vcard .numbers {
    margin-bottom: 12px
}

body.content .vcard .fn {
    text-transform: uppercase
}

body.content #siblings {
    float: right;
    margin-top: 4em;
    width: 480px;
    *zoom: 1
}

body.content #siblings:after {
    content: "";
    display: table;
    clear: both
}

body.content #siblings .previous {
    float: left
}

body.content #siblings .previous:before {
    content: "« "
}

body.content #siblings .next {
    float: right
}

body.content #siblings .next:after {
    content: " »"
}

body.narrow #title {
    width: 550px
}

body.narrow #content {
    width: 326px
}

body.narrow #siblings {
    position: relative;
    height: 18px;
    width: 326px
}

body.narrow #siblings a {
    position: absolute;
    white-space: nowrap
}

body.narrow #siblings .previous {
    right: 55%
}

body.narrow #siblings .next {
    left: 55%
}

body.employee #body {
    padding: 0 58px 18px 0;
    width: 800px
}

body.employee #body #content {
    width: 654px
}

body.employee #body #siblings {
    width: 654px
}

body.contact .key-value {
    overflow: hidden;
    *zoom: 1;
    display: block
}

body.contact .key-value .key {
    margin-right: 2em
}

body.contact #title h2 {
    display: none
}

body.contact #art {
    float: left;
    margin-top: -114px;
    margin-left: -258px;
    width: 240px
}

body.contact #imprint {
    color: #939598;
    margin-top: 12em
}

body.contact #imprint h3 {
    text-transform: uppercase;
    margin-bottom: 1em
}

body.frontpage {
    background: #414042
}

body.frontpage, body.frontpage a {
    color: #939598
}

body.frontpage h1 {
    *zoom: 1
}

body.frontpage h1:after {
    content: "";
    display: table;
    clear: both
}

body.frontpage h1 a {
    background-image: url(/images/logo_frontpage.png);
    float: right;
    margin-right: 420px;
    color: #939598
}

body.frontpage #page {
    padding-top: 15%;
    width: 621px
}

body.frontpage #header {
    margin: 18px 0 36px;
    position: relative;
    height: 158px
}

body.frontpage #images {
    overflow: hidden;
    *zoom: 1
}

body.frontpage #images img {
    float: left
}

body.frontpage #menu {
    bottom: 0;
    left: 639px;
    position: absolute
}

body.frontpage #menu, body.frontpage #menu a {
    color: #fff
}

body.frontpage #menu a:hover {
    color: #9f0b0f
}

body.frontpage #menu li {
    margin-top: 18px
}

body.frontpage #intro {
    left: 50%;
    margin-left: -110px;
    position: absolute;
    text-transform: uppercase
}

body.certificate #banner {
    height: 96px
}

.jobs h3 {
    padding-bottom: 10px;
}

.jobs li {
    list-style-type: square;
}

.jobs li::marker {
    color: #9f0b0f;
}

.jobs hr {
    margin: 20px 0;
    border: none;
    border-bottom: 1px solid #9f0b0f;
}

.jobs dl {
    display: grid;
    grid-template-columns: max-content auto;
}

.jobs dt {
    grid-column-start: 1;
    padding-right: 10px;
}

.jobs dd {
    grid-column-start: 2;
}
