/***************************************************************************
 ** General definitions                                                   **
 ***************************************************************************/

.clearer {
  padding: 0;
  margin: 0;
  height: 0px;
  display: none;
}
.fixme {
  color: red;
  font-weight: bold;
}
img {
  border: none;
}
a:active {
  outline: none;
}
a:link, a:visited {
  color: black;
  text-decoration: none;
  font-weight: bold;
}
a:focus {
  outline: none;
}
a:hover {
  text-decoration: underline;
}
div, span {
  margin: 0;
  padding: 0;
}
hr.pfsep {
  border: none;
  border-bottom: 1px dashed lightgray;
  width: 85%;
  margin-top:0;
  margin-bottom: 10px;
}
h1 {
  font-size: 150%;
  padding: 0;
  margin: 0;
  margin-bottom: 1em;
}

h2 {
  padding: 0;
  font-size: 120%;
  margin: 0;
  margin-bottom: 1em;
}

h3 {
  padding: 0;
  font-size: 100%;
  margin: 0;
  margin-bottom: 1em;
}

p {
  padding: 0;
  margin: 0;
  margin-bottom: 1em;
}

dd {
  margin-bottom: 1em;
}

span.langchoice {
  color: gray;
}

form.langchoice {
  display: inline;
  padding: 0;
  margin: 0;
  border: none;
}

/* span.langchoicedisabled { */
/*   width: 100px; */
/*   color: gray; */
/*   padding: 1px; */
/*   border: 1px solid gray; */
/* } */

form.langchoice input.lang {
  display: inline;
  font-size: inherit;
  font-family: inherit;
  background: inherit;
  margin: 0;
  padding: 0;
  border: none;
  vertical-align: top;
}

/***************************************************************************
 ** Main definitions                                                      **
 ***************************************************************************/

html {
  margin: 0;
  padding: 0;
  background: white;
}
body {
  margin: 0;
  padding: 0;
  border: none;
  color: black;
  font: 12px Arial, sans-serif;
  text-align: center;
}
.body, .bodypart, .bodypartlast {
  margin: 0 auto;
  padding: 0 .5em;
  width: 55em;
  min-width: 620px;
  text-align: center;
}
.body, .bodypartlast {
  margin-bottom: 1em;
}
.body {
  min-height: 100%;
}
#inside, .insidepart, .insidepartfirst, .insidepartlast {
  margin: 0;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
  display: block;
  overflow: visible;
  text-align: left;
}
#inside, .insidepartfirst {
 margin-top: 0;
}
#inside, .insidepartlast {
  padding: 0;
  padding-bottom: .1px;
}

/***************************************************************************
 ** Header definitions                                                    **
 ***************************************************************************/

#head {
  margin: 0;
  padding: 0;
}
#title {
  border: none;
  text-align: center;
  margin: 0;
  padding: 0;
  display: table;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 7px;
  margin-bottom: 7px;
}
#mainlogoout {
  margin: 0;
  padding: 0;
  display: table-cell;
  vertical-align: top;
  text-align: left;
}
#mapommeout {
  text-align: right;
  vertical-align: bottom;
  display: table-cell;
}
#mapommeout a {
  background: red;
  border: none;
  padding: 0;
  margin: 0;
}
#mainlogo, #mapomme {
  vertical-align: bottom;
  border: none;
  padding: 0;
  margin: 0;
}
#menubar {
  font-size: 80%;
  display: table;
  width: 100%;
  table-layout: auto;
  text-align: center;
  border-top: 2px solid black;
  margin: 0;
  margin-bottom: 2em;
  padding: 0;
  padding-top: 3px;
}
#menubar .left, #menubar .middle, #menubar .right {
  font-weight: bold;
  display: table-cell;
  margin: 0;
  padding: 0;
  vertical-align: middle;
}
#menubar .left {
  width: 8%;
  text-align: left;
}
#menubar .middle {
  text-align: center;
}
#menubar .right {
  width: 11%;
  text-align: right;
}
#menu_code {
  width: 11%;
}
#menu_links {
  width: 11%;
}
#menubar a {
  font-size: inherit;
  display: inline-block;
  padding-top: 3px;
}
#password {
  border: none;
  width: 15em;
  background: #efefef;
  margin: 0;
}
#passwordsend {
  border: none;
  background: white;
  text-align: right;
  padding: 0;
  margin: 0;
}

/***************************************************************************
 ** Home page definitions                                                 **
 ***************************************************************************/

#center {
  margin: 0;
  padding: 0;
  background-image: url("../images/main_back.jpg");
  background-repeat: no-repeat;
  height: 730px;
}
#right {
  float: right;
  width: 20em;
  background-image: url("../images/vertical.png");
  background-repeat: no-repeat;
  font-size: 85%;
  padding: 0;
  padding-bottom: 10px;
  margin-left: 1em;
  vertical-align: top;
  height: 730px;
}
#righttitle {
  margin: 0;
  padding: 10px;
  padding-bottom: 5px;
  padding-top: 0;
  font-size: 120%;
  font-weight: bold;
  border-bottom: 2px solid black;
  margin-bottom: 10px;
}
#right p {
  padding: 0;
  margin: 0;
  margin-left: 10px;
  margin-right: 10px;
margin-bottom: 1em;
}
#right h1 {
  font-size: 110%;
  margin-left: 10px;
}

/***************************************************************************
 ** Portfolio definitions                                                 **
 ***************************************************************************/

.portfoliotop, .portfoliobulk, .portfoliobottom, .portfolio {
  display: table;
  table-layout: auto;
  text-align: center;
  margin: 0px auto;
  margin-bottom: 10px;
}
.portfoliotop, .portfoliobulk {
  margin-bottom: 0;
  padding-bottom: 0;
}
.portfoliobottom, .portfoliobulk {
  margin-top: 0;
  padding-top: 0;
}
.pfrow {
  display: table-row;
}
.pfrow span {
  display: table-cell;
  padding: 10px;
}
.pfrow span a {
  display: block;
  border: none;
}
.pfrow span a img {
  vertical-align: middle;
  border: none;
}

/***************************************************************************
 ** Picture view definitions                                              **
 ***************************************************************************/

.prev, .next, .up {
  font-weight: bold;
  padding: .5em;
}
.prev a, .next a, .up a {
}
.prev {
  float: left;
}
.up {
  text-align: center;
}
.next {
  float: right;
}
.pic {
  text-align:center;
  padding: 0;
  margin: auto;
}
.pic img {
  border: 30px solid black;
  vertical-align: top;
  margin: 0px;
  padding: 0;
  background: black;
}

#picholder {
  display: table;
  #position: relative;
  overflow: hidden;
  margin: 0px auto;
  background: black;
}

#picholderchild {
  #position: absolute;
  #top: 50%;
  display: table-cell;
  vertical-align: middle;
}

#picholdergrandchild {
  #position: relative;
  #top: -50%;
  #left: -50%;
  color: gray;
  text-align: center;
}

#instructions {
  display: none;
  position: absolute;
  color: black;
  font-size: 10px;
  text-align: center;
  cursor: default;
}

#creditswrapper {
  height: 0px;
  #height: 1px;
  overflow: visible;
}

#credits {
  font-size: 10px;
  color: gray;
  margin-left: auto;
  margin-right: auto;
  padding-right: 1em;
  position: relative;
  top: -22px;
  text-align: right;
}

#addcommentsopt {
  margin-top: 1em;
  margin-bottom: 1em;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  font-variant: normal;
  color: gray;
}
#sizetoggle {
  float: right;
}
#addcommentsopt a:link, #addcommentsopt a:visited,
#sizetoggle a:link, #sizetoggle a:visited {
  color: gray;
  font-weight: normal;
  font-style: italic;
}
#addcomments {
  margin-top: 1em;
  padding-bottom: 1em;
  padding-top: 1em;
  border-top: 2px solid black;
}
.comments {
  display: table;
  margin-top: 1em;
  font-size: 100%;
}
.comment {
  padding-top: 1em;
  display: table-row;
  vertical-align: top;
}
.commentnick, .commentnickfirst {
  display: table-cell;
  color: red;
  padding-right: 1.5em;
  padding-top: 1em;
}
.commentnickfirst {
  padding-top: 0em;
}
.commentbody {
  display: table-cell;
}
#addcomment {
  table-layout: auto;
  width: 100%;
  padding: 0;
  margin: 0;
}
#addcomment tr {
  padding: 0;
}
#addcomment td {
  vertical-align: middle;
  text-align: left;
}
#addcomment td.label {
  padding: 0;
  margin: 0;
}
#addcomment td.submit {
  text-align: right;
}
#addcomment label {
  padding-left: 0;
  padding-right: 0;
  margin: 0;
}
#addcommentnick, #addcommentcode, .modcommentnick {
  border: none;
  background-color: #efefef;
  #border: 1px solid gray;
  margin: 0;
  font: 100% monospace;
  width: 15em;
}
#addcommentcode {
  width: 6ex;
}
#addcommentbody, .modcommentbody {
  border: none;
  background: #efefef;
  #border: 1px solid gray;
  width: 100%;
  margin: 0;
  margin-top: 5px;
  font: 100% monospace;
}
#addcommentadd {
  border: none;
  background: white;
  text-align: right;
  padding: 0;
  margin: 0;
}
#modcomments {
  width: 100%;
}
#modcomments label, #modcomments input {
  vertical-align: middle;
}
#modcomments td.submit {
  text-align: right;
}
#modcomments td {
  vertical-align: baseline;
}
#modcomments tr.top td {
  padding-top: 1em;
}
#modcomments tr {
  vertical-align: middle;
}
.modcommentdel {
  text-align: right;
  vertical-align: bottom;
  padding-bottom: 5px;
}
.modcommentcommit {
  text-align: right;
  margin-top: 1em;
  padding: 0;
  background: white;
  border: none;
}

/***************************************************************************
 ** Research definitions                                                  **
 ***************************************************************************/

.papers, .papersie {
  padding: 0;
  margin: 0;
  list-style-type: square;
  margin-left: 1em;
}

.papersie {
  margin-left: 1.5em;
}

.papers li, .papersie li {
  padding: 0;
  margin-bottom: 1em;
}

/***************************************************************************
 ** Picture and links categories definitions                              **
 ***************************************************************************/

.picsdir {
  clear: left;
  padding: 0;
  _height: 120px;
  min-height: 120px;
}
.picsdir img {
  float: left;
  margin-right: 1em;
  margin-bottom: 1em;
  vertical-align: top;
}
.picsdir .picslink {
  padding-bottom: 1em;
}
.picsdir a:hover {
  text-decoration: underline;
}
.picssection table {
 /* table-layout: fixed; */
  /* width: 42em; */
  font-size: 80%;
  border-collapse: collapse;
}
.picssection table tr {
}
.picssection table td, .picssection table th {
}
.picssection table a {
}
.picssection td.left, .picssection td.middle {
}
.picssection col.right, .picssection col.middle {
}
.picssection th.left, .picssection th.middle,
.picssection td.left, .picssection td.middle {
  border-right: 1px dotted black;
  padding-right: .5em;
}
.picssections th.right, .picssections td.right {
  border-right: none;
}
.picssection th {
  font-weight: normal;
  text-align: left;
  border-bottom: 1px dotted black;
}
.picssection tr.top td {
  padding-top: .5em;
}
.picssection th.right, .picssection th.middle,
.picssection td.right, .picssection td.middle {
  border-left: 1px dotted black;
  padding-left: .5em;
}
.picssection th.right, .picssection td.right {
/*  width: 2.5em;*/
}
.linksection,
.picssection, .qlinks {
  clear: both;
  background: #efefef;
  margin: 0;
  margin-top: 1em;
  margin-bottom: 1em;
  padding: 1em;
}
.linksection p, .linksection h2, .linksection dl,
.picssection p, .picssection h2, .picssection h3, .picssection .picsdir {
  margin: 0;
  padding: 0;
}
.linksection p, .linksection h2, .linksection dl,
.picssection p, .picssection h2, .picssection h3 {
  margin-bottom: 1em;
}
.linksection h2 {
  padding-left: 5px;
  height: 1.5em;
  border-bottom: 1px dashed gray;
}
.linksection dt:before {
  content: "\00E006  ";
}
.linksection dt {
  margin-left: 0em;
}
.linksection dl {
  margin-left: 2em;
}
.picsdir .qpiclinks {
  font-size: 80%;
  font-weight: normal;
  display: inline-block;
  vertical-align: top;
}
.picsdir .qpiclinks a {
  margin-left: 0;
}
.picsdir .qpiclinks a:before {
  content: "\002022  ";
}
.credits {
  width: 100%;
  text-align: right;
  font-size: 70%;
}

/***************************************************************************
 ** Site map definitions                                                  **
 ***************************************************************************/

.sitemap li {
  list-style: none;
  padding-left: 0;
  margin-top: .5em;
}
.sitemap li.first, .sitemap li.firstdown,
.sitemap li.firstprivate, .sitemap li.firstdownprivate {
  margin-top: 0;
}
.sitemap li:before {
  content: "\0025B8  ";
}
.sitemap li.down:before, .sitemap li.firstdown:before {
  content: "\0025BE  ";
}
.sitemap li.private:before, .sitemap li.firstprivate:before {
  color: gray;
  content: "\0025B8  ";
}
.sitemap li.downprivate:before, .sitemap li.firstdownprivate:before {
  color: gray;
  content: "\0025BE  ";
}
.sitemap ul {
  padding: .5em;
  margin: .5em;
}
.sitemap ul.first {
  margin-left: 0;
  margin-right: 0;
}

/***************************************************************************
 ** HD viewing                                                            **
 ***************************************************************************/

html.black {
  background-color: black;
  height: 100%;
  padding: 0px;
  overflow: visible;
}

html.black body {
  position: relative;
  /* top: 50%; */
  padding: 0px;
  /* overflow: hidden; */
}

img#picturehd {
  position: fixed;
  display: block;
  margin-left: auto;
  margin-right: auto;
  border: none;
  padding: 0px;
}

