/*************************************************************************
*                                                                        *
*                           The Caml Web Site                            *
*                                                                        *
*           Vincent Simonet, projet Cristal, INRIA Rocquencourt          *
*                                                                        *
*      Copyright 2004 Institut National de Recherche en Informatique     *
*      et en Automatique.  All rights reserved.                          *
*                                                                        *
*************************************************************************/

/* Cette feuille de style est écrite de manière à ce que les pages s'affiche
   *joliement* sur les navigateurs récents (Mozilla 1.x, IE 5 et 6), et
   *lisiblement* sur les navigateurs anciens (Netscape 4).
   J'utilise pour cela le hack suivant:
   les sections @media all { ... } sont prises en compte par les premiers
   navigateurs, mais ignorées par les seconds.

   Couleurs:
     Rouge: #C66
     Bleu:  #66F

   J'utilise '0.8em' à la place de 'small' comme taille de fonte, car
   Internet explorer ne différencie pas 'small' de 'medium' pour les fontes
   sans-serif.  Il faut cependant faire attention, la sémantique n'est pas
   la même avec l'emboitement des éléments.
*/



/*************************************************************************
Présentation générale
*************************************************************************/

/* Corps de la page */
html, body {
  background-color: white;
  color: black;
}

@media all {
  body {
    margin: 24px 0 24px 16px;
    background: url("sand.jpg") repeat-y right;
  }
  body.sidebar {
    margin: 8px;
    background: white;
  }
}

/* Titre de la page */
h1 {
  display: block;
  font: bold x-large sans-serif;
  color: #66F;
  margin: 2em 80px 0 0;
  text-align: center;
}

h1 .subtitle {
  font-size: large;
}

/* Tables */
table {
  border-spacing: 0;
}

td {
  vertical-align: top;
}

table.array {
  text-align: left;
  border-collapse: collapse;
}

table.array td, table.array th {
  border: solid 1px #66F;
  padding: 3px;
}

table.array th {
  background: #66F;
  color: white;
  font-weight: bold;
}



/*************************************************************************
Contenu
*************************************************************************/

#content {
  margin: 0 80px 0 0;
  padding: 3em 0 0 0;
  line-height: 125%;
  text-align: justify;
}

@media all {
  #content.nofloats {
    margin-right: 15em;
  }
}



/* Sous-titres */
h2 {
  display: block;
  font: bold large sans-serif;
  color: #66F;
  text-align: left;
  margin: 1em 0 0.5em 0;
}

h3 {
  font: bold medium serif;
  color: #66F;
  text-align: left;
  margin: 1em 0 0.5em 0;
}

h4 {
  font: bold medium serif;
  color: #68F;
  text-align: left;
  margin-top: 1em;
  margin-left: 0px;
  margin-right: 0px;
  margin-bottom: 3px ;
}

h2 a, h3 a, h4 a{
  color: #66F;
}


/* Blocs */
p {
  display: block;
  margin: 0.5em 0;
}

ul, ol {
  display: block;
  margin: 0.5em 0;
  padding-left: 40px;
}

ul {
  list-style-type: square;
}

ol {
  list-style-type: decimal;
}

li {
  display: list-item;
  margin: 0;
}

dt {
  font-weight: bold;
}

img {
  border: 0px;
}

img.float-left {
  float: left;
  clear: left;
  margin-right: 1em;
  margin-bottom: 1em;
}

img.float-right {
  float: right;
  clear: right;
  margin-left: 1em;
  margin-bottom: 1em;
}

address {
  margin-left: 3em;
}


/* Hyperliens */

a {
  color: #444;
}

a:link, a:visited {
  color: #C66;
  text-decoration: none;
}

h2 a:link, h2 a:visited,
h3 a:link, h3 a:visited {
  color: #66F;
}

a:link[href=''], a:visited[href=''] {
  color: #444;
}

@media all {
  a {
    text-decoration: none;
  }

  a[href]:hover {
    text-decoration: underline;
  }
}

a.email {
  font-family: monospace;
}


/*************************************************************************
Panneaux de navigation
*************************************************************************/

#navigation {
  margin: 3em 0 0 0;
  border: solid;
  background: #FCC;
  width: 100%;
}

@media all {
  #navigation {
    padding: 3em 0 0 0;
    margin: 0 0 1em 2em;
    float: right;
    width: 13em;
    border: none;
    background: transparent;
  }
}

/* Panels */
div.panel {
  margin: 0 0 1.5em 0;
}

div.panel-caption-5 {
  font: bold large sans-serif;
}

@media all {
  div.panel-content-1 {
    width: 100%;
    background-color: white;
  }

  div.panel-content-2 {
    background: url("panel-w.gif")  left repeat-y;
    padding: 6px 16px 0 8px;
  }

  div.panel-foot-1 {
    background: url("panel-se.gif") bottom right no-repeat;
    padding-right: 64px;
    height: 24px;
  }
  div.panel-foot-2 {
    height: 24px;
    background: url("panel-s.gif")  bottom repeat-x;
  }
  div.panel-foot-3 {
    height: 24px;
    background: url("panel-sw.gif") bottom left no-repeat;
  }

  div.panel-caption-1 {
    background-color: white;
  }
  div.panel-caption-2 {
    padding-right: 32px;
    background: url("panel-n.gif") top repeat-x;
  }
  div.panel-caption-3 {
    background-color: #6666FF;
  }
  div.panel-caption-4 {
    padding: 0 0 2px 0;
    background: url("panel-caption-se.gif") bottom right no-repeat;
  }

  div.panel-caption-5 {
    padding: 0px 12px 0px 12px;
    background: url("panel-nw.gif") top left no-repeat;
    color: white;
    font: normal medium sans-serif;
  }
}



/* Listes de liens */

@media all {
  #navigation ul {
    font: normal 0.8em sans-serif;
    margin: 0;
    list-style: url("bullet.gif");
    padding-left: 22px;
    color: black;
  }

  #navigation ul.map {
    padding-left: 0;
    list-style: none;
    font-weight: bold;
    color: #C66;
  }

  #navigation ul.map > li {
    padding-bottom: 0.33em;
  }

  #navigation ul ul {
    font-size: inherit;
  }

  #navigation ul a {
    color: black;
  }

  #navigation ul a:hover {
    color: #C66;
  }

  #navigation span.active {
    color: #C66;
    font-weight: bold;
  }
}


/*************************************************************************
Tête de page
*************************************************************************/

@media all{
  #header-1 {
    height: 54px;
    margin: 0 16px 0 0;
    padding: 0 48px 0 0;
    background: url("title-url2.gif") top right no-repeat;
  }

  #header-2 {
    height: 54px;
    background: url("title-middle.gif") top repeat-x;
  }

  #header-3 {
    height: 54px;
    background: url("title-url1.gif") right top no-repeat;
  }

  body.en #header-4 {
    height: 54px;
    background: url("title-en.gif") left top no-repeat;
  }
  body.fr #header-4 {
    height: 54px;
    background: url("title-fr.gif") left top no-repeat;
  }

}

#headlines {
  font: normal 0.8em sans-serif;
  padding: 0;
  margin: 4px 0 1em 48px;
  color: #C66;
}

#headlines > a, #headlines > span {
  white-space: nowrap;
}

#lang {
  font: normal 0.8em sans-serif;
}

@media all {
  #lang {
    float: right;
    margin: 4px 0 0 1em;
    padding: 0 80px 0 0;
  }
}



/*************************************************************************
Pied de page
*************************************************************************/

#footer {
  margin: 3em 80px 0 0;
  padding: 0.5em 0 0 0;
  font: normal 0.8em sans-serif;
}


#footer > a, #footer > span {
  white-space: nowrap;
}

@media all {
  #footer {
    border-top: solid 1px #66F;
    clear: right;
  }
}



/*************************************************************************
Éléments de présentation spécifiques
*************************************************************************/

div.alist {
  font: normal 0.8em sans-serif;
  text-align: right;
}

div.alist a {
  white-space: nowrap;
}

pre.listing {
  color: #444;
  margin: 0.5em 0 0.5em 2em;
  padding-left: 1em;
  border-left: dashed 1px #444;
}

pre.listing span.output {
  color: #c66;
}



/*------------------------------------------------------------------------
  FAQ
*/

/* Index */

#faq-index ul {
  padding: 0;
  margin: 0;
}

#faq-index li.faq-section ul {
  margin-left: 1em;
}

#faq-index li.QA {
  font: normal medium serif;
  color: black;
}

#faq-index li.faq-section {
  font: bold large sans-serif;
  list-style: none;
  margin: 1em 0;
}

#faq-index li.faq-section,
#faq-index li.faq-section a {
  color: #66f;
}

#faq-index li.QA {
  list-style: circle inside;
}

#faq-index li.QA a {
  color: black;
}

#faq-index li li.faq-section {
  font: bold medium serif;
  color: #66f;
}

/* Questions-reponses */

div.QA {
  margin-bottom: 1em;
}

div.Q {
  font-weight: bold;
}

div.A {
  margin-left: 2em;
}


/*------------------------------------------------------------------------
  Bibliographies
*/

table.bib {
  margin: 0.5em 0;
  padding: 0;
  border-spacing: 0;
}

table.bib td, table.bib tr {
  vertical-align: top;
  padding: 0;
  margin: 0;
  border: none;
}

table.bib td.number {
  width: 2em;
  text-align: right;
  padding-right: 0.5em;
}

table.bib span.title {
  color: #66F;
}

table.bib span.ref {
  font-style: italic;
}

table.bib div.desc {
  margin: 0.5em 0 0 2em;
  font-size: medium;
  font-style: italic;
  color: #444444;
}

table.bib div.alist {
  text-align: left;
}

img.bib {
   margin: 0 0 3em 3em;
}

a.file img {
  vertical-align: text-top;
}

a.file:hover {
  text-decoration: none;
}

a.file:hover span {
  text-decoration: underline;
}




/*------------------------------------------------------------------------
  Rubriques sur la page d'accueil
*/

div.home-topic {
  margin: 1em 0;
}

div.home-topic div.caption {
  font: bold medium sans-serif;
  color: #66F;
}

div.home-topic div.content {
  padding: 0 0 0 2em;
}

div.home-topic div.alist {
  padding: 0.5em 0 0 2em;
}

div.home-topic div.links a {
  white-space: nowrap;
}



/*------------------------------------------------------------------------
  Boîtes avec une icône à gauche
*/

img.left-icon {
  float: left;
}

div.left-icon {
  padding-left: 32px;
  margin: 0 0 1em 0;
}

/* Boites de téléchargment */

div.download,
div.contact {
  margin: 1.5em 12.5%;
  padding: 7px;
  border: dashed 1px #444;
  width: 75%;
}

div.download {
  text-align: left;
}

div.download h3, div.download li, div.download ul,
div.contact h3 {
  margin: 0;
}

/* Boites avec titre à gauche */

table.contact {
  margin: 1.5em 12.5%;
  width: 75%;
  border-collapse: collapse;
  border-spacing: 0;
}

table.contact td {
  border: dashed 1px #444;
  padding: 7px;
}

table.contact td:first-child {
  border-right: none;
  text-align: right;
}

table.contact td + td {
  border-left: none;
}

table.contact tr.sep {
  height: 1.5em;
}

table.contact tr.sep td {
  border: none;
}

table.contact h3 {
  margin-top: 0;
}


/*------------------------------------------------------------------------
  Nouvelles
*/

span.news-date {
  padding-right: 0.3em;
  font-weight: normal;
  color: #CC6666;
}

li.news-links {
  font: normal x-small sans-serif;
  text-align: right;
  padding: 0.5em 0 0 2em;
}

#navigation li.news-links a {
  color: #C66;
  white-space: nowrap;
}

dl.news-archives {
  margin: 0 2em;
}

dl.news-archives dt {
  font: bold medium sans-serif;
}

dl.news-archives dd {
  margin-bottom: 1em;
}

dl.news-archives dd a {
  color: black;
}

ul.news {
  list-style-type: none;
  padding: 0;
  font-weight: bold;
  color: #66F;
}

ul.news > li {
  margin: 2em 0 0 0;
  border-top: solid 1px #66F;
}

ul.news ul {
  font-weight: normal;
  margin: 0;
  list-style: url("bullet.gif");
  padding-left: 22px;
  padding-top: 0.5em;
}

ul.news ul, ul.news ul a {
  color: black;
}

/*------------------------------------------------------------------------
  Formulaire de recherche
*/
button {
  background-color: #FFFFFF;
  color: #66F;
  font-weight: bold;
  border-color: #66F;
}

form#quick-search {
  text-align: right;
}

form#quick-search input {
  width: 85%;
}

form#quick-search button {
  padding: 0;
}


form#search {
  text-align: center;
}

form#search label {
  padding: 0 0.5em;
  color: #66F;
}

form#search button {
  height: 2em;
  padding: 0;
  margin-left: 1em;
}

form#search input {
  width: 20em;
}

form#search option.search-1 {
  color: #66F;
  font-weight: bold;
}

form#search option.search-2 {
  margin-left: 1em;
}


/*------------------------------------------------------------------------
  Résultats de recherche
*/

div.search-info {
  font: medium sans-serif;
  color: #66F;
  margin-bottom: 2em;
}

div.search-info span.query {
}

div.search-rank {
  float: left;
  width: 25px;
  height: 1em;
  vertical-align: baseline;
}

div.search-rank img {
  padding: 0;
  margin: 0;
  height: 6px;
}

div.search-result {
  margin: 0 0 1.5em 0;
  padding-left: 32px;
}

div.search-result div.title {
  font-weight: bold;
}

div.search-result div.desc {
  font-size: 0.8em;
  line-height: 1;
  margin-top: 0.2em;
  color: #666;
}

div.search-result div.ref {
  font-size: 0.8em;
  line-height: 1;
  margin-top: 0.2em;
}



/*------------------------------------------------------------------------
  auto-index
*/

#autoindex table {
  table-layout: auto;
}

#autoindex th {
  text-align: left;
  font: bold medium sans-serif;
}

#autoindex tr > td:first-child + td + td,
#autoindex tr > td:first-child + td + td + td {
  font-family:  monospace;
}

#autoindex th, #autoindex td {
  padding-right: 1.5em;
}

#autoindex tr > th:first-child, #autoindex td:first-child {
  padding-right: 8px;
}

#autoindex hr {
  border: none;
}

#autoindex tr:first-child + tr hr {
  border: none;
  border-top: solid 1px #66F;
}



/*----------------------------------------------------------------------
  ML archives
*/

#content.ml-archives {
  text-align: left;
}

div.mlarc-message-thread {
  float: left ! important;
  width: 18em ! important;
}

#mlarc-body {
  margin-left: 16em ! important;
  padding-left: 0;
}

#mlarc-body pre {
  color: black;
  margin: 2em 0 0 0;
  padding-left: 0;
  border-left: none;
}






/*************************************************************************
Site Map
*************************************************************************/
/* TEMPORARY Cette section n'a pas été adaptée en CSS-1 */

div.sitemap span.desc {
  color: #444;
  font: italic normal medium serif;
  display: block;
}

div.sitemap span.desc a {
  color: #C66;
  font: italic normal medium serif;
}

div.sitemap ul {
  text-align: left;
  margin: 0.33em 0 0.66em 0;
  padding: 0;
  list-style: none;
}

div.sitemap ul li {
  margin-bottom: 2em;
}

div.sitemap ul ul li {
  margin-bottom: 0.5em;
}

div.sitemap ul, div.sitemap ul a {
  font: bold large sans-serif;
  color: #66F;
}

div.sitemap ul ul {
  margin-left: 2em;
  list-style: square;
}

div.sitemap ul ul, div.sitemap ul ul a {
  font: bold medium serif;
  color: #C66;
}

div.sitemap ul ul ul, div.sitemap ul ul ul a {
  color: black;
}



/*************************************************************************
Hump
*************************************************************************/
/* TEMPORARY Cette section n'a pas été adaptée en CSS-1 */

/* Menu */

table.hump-menu2 {
  width: 100%;
  border-collapse: collapse;
}

col.N1 {
  width: 50%;
  border-right: 1px solid #66f;
}

col.N2 {
  width: 50%;
}

table.hump-menu2 tr {
  vertical-align: top;
}

table.hump-menu2 td.N1 {
  padding-right: 5px;
}

table.hump-menu2 td.N2 {
  padding-left: 5px;
}


table.hump-menu2 span.title {
  font: bold medium sans-serif;
  color: #66f;
}

table.hump-menu2 ul.al li {
  padding-bottom: 0;
}



/* Affichage des résultats */

img.hump-item {
  float: left;
}

div.hump-item {
  margin: 0 0 1em 32px;
  text-align: left;
}

div.hump-item div.title {
  font: bold medium serif;
}

div.hump-item div.title span.info {
  font: 0.8em serif;
  color: #66f;
}

div.hump-item div.desc {
}

div.hump-item div.authors {
  font: 0.8em serif;
}

div.hump-item div.authors span {
  font-style: italic;
}

div.hump-item div.authors a {
  font-weight: normal;
}



/* Details d'une contrib */

div.hump-details-desc {
  font-style: italic;
}

table.hump-details {
  margin-top: 1.5em;
}

table.hump-details tr > td:first-child {
  padding-right: 1em;
  font-weight: bold;
  color: #66F;
  text-align: right;
}

/* Administration */

table.elements th {
  background: url("sand.jpg") center center repeat;
  color: #0022cc ;
  padding-left: 3px ;
  padding-right: 3px;
}

table.elements tr.row0 {
  background-color: #BBCCBB ;
}

table.elements tr.row1 {
  background-color: #BBCCAA ;
}

table.element td {
  padding-left: 3px ;
  padding-right: 3px;
}

div.conn_info {
  text-align: right ;
  font-size: 0.8em ;
  font-style: italic ;
  padding: 0;
  margin: 0 80px 0 0;
}

span.button a, a.button {
  margin: 0 4px;
  border: outset 1px black;
  font-size: 0.8em ;
  padding: 1px;
  cursor: default;
}

span.button a:hover, a.button:hover {
  text-decoration: none;
}


span.button a:active, a.button:active {
  border-style: inset;
}

div.prop_tree {
  padding-left: 1.5em ;
}



/************************************************************
  Errors
************************************************************/

div.error {
  color: #FF0000 ;
}
