/* reset */
* {
    margin:         0;
    padding:        0;
    border:         0;
}

html {
    background:     #50afeb;
}
body {
    background:     url(/image/body_bg.png) repeat-x;
}

#page {
    margin:         0 auto;
    width:          955px;
    background:     #fffdfc url(/image/page_bg.png) repeat-x 0 156px;
}

#header {
    position:       relative;
    height:         190px;
    background:     url(/image/header_bg.png) no-repeat;
}
#header a#logo {
    position:       absolute;
    top:            0;
    left:           26px;
}
#header a#logo img {
    width:          151px;
    height:         127px;
}
#header div#login {
    position:       absolute;
    left:           35px;
    top:            138px;
}
#header div#login span {
    text-transform: uppercase;
}
#header div#login span,
#header div#login a {
    font-weight:    bold;
    color:          white;
}
#header div#login form {
    margin-bottom:  .3em;
}
#header div#login form input[type=image] {
    margin-left:    .5em;
    vertical-align: middle;
}

#header #nav {
    position:       absolute;
    left:           185px;
    top:            34px;
}
#header #nav li {
    padding-left:   .5em;
}
#header #nav li:before {
    content:        "|";
}
#header #nav li:first-child {
    padding-left:   0;
}
#header #nav li:first-child:before {
    content:        "";
}
#header #nav li.nav {
    float:          left;
    height:         18px;
    color:          white;
    padding-top:    6px;
}
#header #nav li.nav.active {
    padding-top:    5px;
    border-top:     solid 1px white;
}
#header #nav a {
    color:          white;
    font-weight:    bold;
    text-decoration:none;
}
#header #nav ul.snav {
    display:        none;
    z-index:        1000;
    padding-left:   1px;
    width:          748px;
    position:       absolute;
    left:           0;
    top:            100%;
    background:     #123d64;
}
#header #nav ul.snav li {
    float:          left;
    padding:        2px 0 2px .5em;
}
#header #nav ul.snav li a {
    padding-left:   .4em;
    font-size:      .9em;
}
#header #nav li:hover ul.snav {
    display:        block;
}

#main {
    /* IE6 HACK not working in conditionnal IE-hacked CSS */
    min-height:     1em;
    /* END */
    margin:         0 22px 0 25px;
    background:     white;
    border-left:    solid 1px #cdcdcc;
    border-right:   solid 1px #cdcdcc;
}
#main #c1,
#main #c2,
#main #c3,
#main #c12 {
    float:          left;
}

#main #c1 {
    padding-bottom: 180px;
    margin-left:    10px;
    width:          191px;
    background:     url(/image/c1_bg.png) no-repeat bottom;
}
#main #c1 #c1_top {
    padding:        25px 5px 0 65px;
    min-height:     60px;
    font-size:      1.3em;
    color:          #be0707;
    background:     url(/image/c1_top_bg.png) no-repeat;
}
#main #c1 ul {
    margin-left:    1px;
    width:          185px;
    background:     #f8f4d7;
    border-top:     dashed 1px #ddd9bc;
}
#main #c1 ul li {
    padding:        6px 0;
    border-bottom:  dashed 1px #ddd9bc;
}
#main #c1 ul li a:before {
    content:        "■ ";
}
#main #c1 ul li.active {
    background:     white;
}
#main #c1 ul li a {
    margin-left:    1em;
    font-weight:    bold;
    color:          #247ac7;
    display:        block;
    text-decoration:none;
}
#main #c1 ul li.active a {
    color:          #123d64;
}

#main #c2 {
    margin-left:    18px;
    width:          495px;
}

/* #c12 is used for 2 column layout (at least for the home) */
#main #c12 {
    margin-left:    10px;
    width:          704px;
}

#main #c3 {
    margin-left:    22px;
    width:          162px;
}
#main #c3 #search {
    margin-bottom:  1em;
}
#main #c3 #search p.center {
    margin-bottom:  .5em;
}
#main #c3 #search #search_search {
    width:          115px;
}
#main #c3 ul li {
    padding:        4px 0;
    border-bottom:  dashed 1px #cbc3c3;
}
#main #c3 ul li:last-child {
    border-bottom:  none;
}
#main #c3 div.file {
    margin-bottom:  .5em;
    padding:        14px 0 0 45px;
    height:         24px;
    font-size:      1.05em;
    font-weight:    bold;
    background:     url(/image/element/div_file_bg.png) no-repeat;
}
#main #c3 div.rounded {
    margin-bottom:  1.5em;
    background:     url(/image/element/div_rounded_bg.png) no-repeat;
}
#main #c3 div.rounded_content {
    padding:        5px 5px 0 5px;
}
#main #c3 div.rounded_bottom {
    height:         5px;
    background:     url(/image/element/div_rounded_bottom_bg.png) no-repeat bottom;
}

#main #rails {
    font-size:      .9em;
    text-align:     right;
}
#main #rails a {
    color:          black;
}
#main #rails span.active {
    color:          #123d64;
    text-decoration:underline;
}

#footer {
    position:       relative;
    height:         51px;
    color:          #dfdbbe;
    background:     url(/image/footer_bg.png) no-repeat;
}
#footer a {
    font-size:      .9em;
    color:          #dfdbbe;
}
#footer ul,
#footer a#footer_cgpme,
#footer a#footer_cyberl {
    position:       absolute;
    left:           60px;
    top:            30px;
}
#footer ul {
    left:           60px;
}
#footer ul li {
    display:        inline;
}
#footer ul li:before {
    content:        " |  ";
}
#footer ul li:first-child:before {
    content:        "";
}
#footer a#footer_cgpme {
    left:           565px;
    border-bottom:  dashed 1px #dfdbbe;
}
#footer a#footer_cyberl {
    left:           790px;
}

#content {
    padding-top:    2em;
    text-align:     justify;
}

/* layout specific */
#c12 #content {
    padding-top:    4em;
    min-height:     315px;
    background:     url(/image/home/content_bg.png) no-repeat;
}

/* page specific */
