html {
  height: 100%;
  overflow-y: scroll;
}
body {
  margin: 0;
  background-attachment: fixed;
  color: #ffffcc; /**/
  background-color: hsl(219,79%,20%); 
}
#header, #footer {
  color: #ff9900; /**/
}
img { border-width: 0; }
sup, sub { line-height: 0; }
hr {
  border: none;
  height: 1px;
  background-color: black;
  margin-top: 1em;
  margin-bottom: 1em;
}
hr.upper { width: 100%; margin: 2px 0; background-color: #ffff66; }
hr.lower { width: 100%; margin: 2px 0; background-color: #ff9900; }
i { padding-right: 0.1em; }
h1 { text-align: center; margin: .5em auto;}
h2 { text-align: center; margin: .5em auto;}
#banner { margin: .7em 0 .5em 0; }
#main { margin: auto; max-width: 60em; width: 100%; }
#menu, #page, #subpage { padding: 1em 1em 2em 1em; vertical-align: top; }
#menu {
  border-right: 1px solid white;
  width: 0%; height: 100%;
}
#page    { width: 100%; }
#subpage { width: 100%; border-left: 1px solid blue; }
#lastupd {
  font-size: smaller;
  text-align: center;
  font-style: italic;
  padding: 1em;
}
a { text-decoration: none; }
a:link    { color: #4090f9; text-shadow: white; }
a:visited { color: #4090f9; text-shadow: white; }
#header a:link    { color: #ff9900; }
#header a:visited { color: #ff9900; }
#header a:focus   { color: #ff9900; }
#header a:hover   { color: #ff9900; }
#header a:active  { color: #ff9900; }
#menu a:link    { color: white; }
#menu a:visited { color: white; }
#menu a:focus   { color: black; }
#menu a:hover   { color: blue; }
#menu a:active  { color: blue; }
a.illu:link    { color: #5BAAF9; }
a.illu:visited { color: #5BAAF9; }
a.illu:focus   { color: black; }
a.illu:hover   { color: blue; }
a.illu:active  { color: blue; }
a.illu2:link    { color: #dd00ff; }
a.illu2:visited { color: #dd00ff; }
a.illu2:focus   { color: black; }
a.illu2:hover   { color: blue; }
a.illu2:active  { color: blue; }
.publ a:link    { color: #00cccc; }
.publ a:visited { color: #00cccc; }
.publ a:focus   { color: #00cccc; }
.publ a:hover   { color: blue; }
.publ a:active  { color: blue; }
.nobreak { white-space: nowrap; }
.nav   { text-align: center; margin: 1em; }
.nav a { padding: 0 1em; }
.floatend::after {
  content: "";
  clear: both;
  display: block;
}
.indented { padding-left: 4rem; }
.indented h2 { margin-top: 3em; text-indent: -4rem; }
.center { text-align: center; }
.centerblock { display: block; text-align: center; margin-left: auto; margin-right: auto; }
.short { width: 10em; margin: 2em auto; background-color: blue; }
.authors { font-size: smaller; color: blue; }
.active { color: blue; }
.indexquad {
  margin: 1em;
  background-color: #000000; 
  border: 1px solid #ff9900;
  border-radius: 10em;
  padding: 3em;
  box-shadow: 0 0 2em #ffff66;
  height: 8em;
  width: 8em;
  text-align: center;
}
.indexquad:hover { box-shadow: 0 0 2em #ff9900; }
.indexquad div {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.indexpic {
  margin: 1em;
  background-color: #000000; 
  border: 1px solid #ff9900;
  border-radius: 10em;
  padding: 1em;
  box-shadow: 0 0 3em #ffff66;
  height: 200px;
  width: 200px;
}
.indexpic:hover { box-shadow: 0 0 3em #ff9900; }
.leftpic {
  float: left;
  clear: both;
  max-height: 20em;
  max-width: 30em;
  margin: .2em 2em 1em 0;
  background-color: #60b0ff;
  border: 1px solid white;
  border-radius: 1em;
  padding: 1em;
}
.rightpic {
  float: right;
  clear: both;
  max-height: 20em;
  max-width: 30em;
  margin: .2em 0 1em 2em;
  background-color: #60b0ff;
  border: 1px solid white;
  border-radius: 1em;
  padding: 1em;
}
.backpic {
  float: right;
  max-height: 4em;
  max-width: 4em;
  border-radius: 4em;
}
.backpic:hover { box-shadow: 0 0 2em hsl(219,79%,20%); }
.grouppic {
  float: right;
  clear: both;
  height: 25em;
  margin: .2em 0 1em 2em;
  background-color: #60b0ff;
  border: 1px solid white;
  border-radius: 1em;
  padding: 1em;
}
.centerpic {
  display: block;
  height: 20em;
  margin: 1em auto 1em auto;
  background-color: #60b0ff;
  border: 1px solid white;
  border-radius: 1em;
  padding: 1em;
}
.blobpic {
  margin: 1em;
  padding: 2em;
  height: 200px;
  width: 200px;
}
.minipic {
  float: right;
  clear: right;
  width: 10em;
  margin: 1em;
  background-color: #0d3072; /* hsl(219,79%,25%) */
  border: 1px solid white;
  border-radius: 1em;
  padding: 1em;
  box-shadow: 0 0 2em #0a265b; /* hsl(219,79%,20%) */
}

.math {
  white-space: nowrap;
}
.whatsnew { font-size: 150%; margin-top: 2em; }
table#liste { border-collapse: separate; }
table#liste th,
table#liste td { border: none; padding: .5em 1em; vertical-align: top; border-radius: 1em; }
table#liste th { background-color: #000000; color: #ffcc00; }
table#liste td { background-color: #000000; color: #ffffcc; }
table#liste td.date,
table#liste td.nolec { background-color: #000000; color: #4090f9; }

