body
{
    background-color: #353;
    font-family: georgia, serif;
}

body *
{
    border-color: #370;
    border-style: solid;
    border-width: 0;
}

header, section
{
    margin: 0 auto;
    max-width: 812px;
    overflow: auto;
}

h1, h2
{
    color: #fff;
    cursor: help;
    font-size: 2em;
}

h1 span:first-child::before
{
    color: #ff0;
    content: '• ';
}

h2 em::after
{
    color: #ff0;
    content: '  •';
}

h1:hover span:first-child::before,
h2:hover em::after
{
    color: #f80;
}

h1
{
    border-bottom-left-radius: 6em;
    border-width: 0 0 6px 0;
    float: left;
    margin-bottom: 0;
    text-align: left;
    width: 408px;
}

h1 span
{
    padding: 0 0 0 1em;
}

h2
{
    border-bottom-right-radius: 6em;
    border-width: 0 0 6px 4px;
    float: right;
    margin: 0;
    text-align: right;
    width: 404px;
}

h2 em
{
    padding: 0 1em 0 0;
}

header span.sous-titre
{
    display: none;
}

h1:hover span.sous-titre
{
    display: block;
    font-size: 0.5em;
    padding: 0;
    position: absolute;
    top: 0.5em;
    text-align: center;
    width: 812px;
}

h2:hover span.sous-titre
{
    display: inline;
    font-size: 0.5em;
    padding: 0 1em 0 0;
}

section div
{
    border-width: 0 4px 0 0;
    height: 7300px;
    position: relative;
    top: 0;
    left: 400px;
    width: 4px;
}

ol img, ol span
{
    box-shadow: 0 5px 2px 0 rgba(0,0,0,0.4);
}

ol
{
    list-style: none;
    margin: 0;
    padding: 0;
}

ol li
{
    position: relative;
}

ol li span
{
    background-color: rgba(255, 255, 255, 0.3);
    display: inline-block;
    font-size: 95%;
    text-align: center;
    width: 400px;
}

ol#gauche li span.credit-photo,
ol#droite li span.credit-photo
{
    display: none;
}

ol li:hover img, ol li:hover span
{
    /*border-color: #530;*/
}

ol#gauche
{
    border-width: 0 4px 0 0;
    float: left;
    padding-top:2em;
    width: 404px;
}

ol#gauche img
{
    border-width: 4px;
    border-bottom-left-radius: 6em;
    border-top-right-radius: 6em;
    display: block;
    height: 300px;
    margin: 0;
    width: 400px;
}

ol#gauche span
{
    border-width: 1px 4px 4px 1px;
    border-bottom-left-radius: 6em;
    border-top-right-radius: 6em;
    display: block;
    margin: 0 0 4em 0;
    padding: 1em 0;
}

ol#gauche li:hover span.credit-photo,
ol#droite li:hover span.credit-photo
{
    background-color: rgba(255, 255, 255, 0.6);
    border: none;
    border-radius: 0;
    box-shadow: none;
    display: block;
    margin: 0;
    position: absolute;
    top: 154px;
    left: 4px;
}

ol#droite
{
    border-width: 0 0 0 4px;
    float: left;
    margin-left: -4px;
    padding: 16em 0 0 0;
    width: 404px;
}

ol#droite li
{
    margin-left: -4px;
}

ol#droite img
{
    border-width: 4px;
    border-bottom-right-radius: 6em;
    border-top-left-radius: 6em;
    display: block;
    height: 300px;
    margin: 0;
    width: 400px;
}

ol#droite span
{
    border-width: 1px 1px 4px 4px;
    border-bottom-right-radius: 6em;
    border-top-left-radius: 6em;
    display: block;
    margin-bottom: 4em;
    padding: 1em 0;
}

footer p#auteur
{
    background-color: #370;
    border-width: 0;
    border-radius: 2em 2em 0 0;
    clear: both;
    margin: 0 auto;
    padding: .2em 1em;
    text-align: center;
    width: 812px;
}

p#auteur span
{
    border-bottom: 1px dashed #000;
    cursor: help;
}

footer p#dedicace
{
    background-color: rgba(255, 255, 255, 0.3);
    border-width: 0;
    border-radius: 0 0 2em 2em;
    font-style: italic;
    margin: 0 auto;
    padding: .2em 1em;
    text-align: center;
    width: 812px;
}
