@import '/media/styles/reset-css.css';
@import '/media/styles/fonts.css';

html, body{
	margin: 0;
	padding: 0;
	font-family: Helvetica, Arial, Verdana, sans-serif;
	font-size: 12px;
	color: #000;
}

html{
    position: relative;
    z-index: 1;
    background: url('/media/images/background.jpg') center center repeat;
}

body.home{
    position: relative;
    z-index: 2;
    background: url('/media/images/home-fond.jpg') top center no-repeat;
}

body.pagemotcle{
    position: relative;
    z-index: 2;
    background: url('/media/images/page-motcle-fond.jpg') top center no-repeat;
}

body.pagebatiment{
    position: relative;
    z-index: 2;
    background: url('/media/images/page-batiment-fond.jpg') top center no-repeat;
}

#fondgrisrayehaut{
    position: absolute;
    width: 100%;
    height: 554px;
    top: 0;
    background: url('/media/images/fond-gris-raye-haut.jpg') top center no-repeat;
}

#fondpagecontenubas{
    position: relative;
    width: 100%;
    height: 756px;
    background: url('/media/images/fond-page-contenu-bas.jpg') top center no-repeat;
}

#fondpagemotclebas{
    position: relative;
    width: 100%;
    height: 505px;
    background: url('/media/images/fond-page-motcle-bas.jpg') top center no-repeat;
}

#page{
    position: relative;
    z-index: 3;
    width: 960px;
    margin: 0 auto;
}

#header #logo{
    position: absolute;
    z-index: 2;
    left: 8px;
}

#header ul#navigation{
    position: absolute;
    z-index: 2;
    float: left;
    left: 410px;
    top: 67px;
}

#header ul#navigation li{
    float: left;
}

#header ul#navigation li a{
    display: block;
    padding-top: 8px;
    padding-bottom: 8px;
    margin-left: 14px;
    cursor: pointer;
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    text-align: center;
}

#header ul#navigation li.actualite a{
    width: 92px;
    border-bottom: 8px solid #0072a5;
}

#header ul#navigation li.presentation a{
    width: 92px;
    border-bottom: 8px solid #004687;
}

#header ul#navigation li.realisation a{
    width: 86px;
    border-bottom: 8px solid #fee700;
}

#header ul#navigation li.partenaire a{
    width: 84px;
    border-bottom: 8px solid #0fc9e3;
}

#header ul#navigation li.contact a{
    width: 84px;
    border-bottom: 8px solid #767778;
}

#header ul#navigation li.actualite:hover a{
    background: url('/media/images/menu-fond-actualite.png') top left repeat;
}

#header ul#navigation li.presentation:hover a{
    background: url('/media/images/menu-fond-presentation.png') top left repeat;
}

#header ul#navigation li.realisation:hover a{
    background: url('/media/images/menu-fond-realisation.png') top left repeat;
}

#header ul#navigation li.partenaire:hover a{
    background: url('/media/images/menu-fond-partenaire.png') top left repeat;
}

#header ul#navigation li.contact:hover a{
    background: url('/media/images/menu-fond-contact.png') top left repeat;
}

#footer{
    position: relative;
    z-index: 4;
    height: 320px;
    margin-top: 10px;
    color: #fff;
    text-align: center;
}

#footer .ligne1{
    display: block;
    margin-bottom: 20px;
    opacity: 0.4;
    filter:alpha(opacity=40);
    -moz-opacity:0.4;
    font-size: 11px;
}

#footer .ligne2{
    font-size: 12px;
}

#footer a{
    color: white;
}

#carousel{
    position: relative;
    z-index: 1;
    width: 960px;
    height: 450px;
    padding-top: 103px;
    margin-bottom: 24px;
}

#carousel #carousel-content{
    width: 960px;
    height: 450px;
}

#carousel #carousel-content ul,
#carousel #carousel-content ul li{
    width: 960px;
    height: 450px;
}

#carousel #carousel-prev{
    position: absolute;
    z-index: 3;
    top: 303px;
    left: -15px;
    background: url('/media/images/carousel-fleche-gauche.png') top left no-repeat;
    width: 30px;
    height: 31px;
    cursor: pointer;
}

#carousel #carousel-next{
    position: absolute;
    z-index: 3;
    top: 303px;
    right: -15px;
    background: url('/media/images/carousel-fleche-droite.png') top left no-repeat;
    width: 30px;
    height: 31px;
    cursor: pointer;
}

#carousel #carousel-content li{
    float: left;
    list-style: none;
    position: relative;
}

#homecasque{
    position: absolute;
    z-index: 3;
    top: 385px;
    left: 42px;
    height: 210px;
    overflow: hidden;
}

#pictocategorie{
    position: relative;
}

#pictocategorie img{
    float: left;
}

#homemotcle{
    position: relative;
    float: left;
    margin-left: 28px;
    margin-top: 20px;
    width: 307px;
}

#motcle ul li.fond,
#homemotcle ul li.fond{
    background: url('/media/images/home-motcle-fond.png') top left no-repeat;
    height: 55px;
    width: 307px;
}

#motcle ul li a,
#homemotcle ul li a{
    display: block;
    height: 55px;
    line-height: 80px;
    color: #004687;
    font-size: 17px;
    text-decoration: none;
    font-weight: bold;
    padding-left: 10px;
    width: 297px;
}

#homeactualite{
    position: relative;
    float: left;
    margin-left: 7px;
    width: 618px;
    margin-top: 31px;
}

#homeactualite #homme{
    position: absolute;
    z-index: 4;
    width: 184px;
    height: 285px;
    background: url('/media/images/home-actualite-homme.png') top left no-repeat;
    top: -53px;
    right: 0;
}

#homeactualite .actualite{
    display: block;
    position: relative;
    width: 618px;
    height: 232px;
    background: url('/media/images/home-actualite-fond.jpg') bottom left no-repeat;
}

#homeactualite .actualite .picto{
    position: absolute;
    z-index: 4;
    width: 63px;
    height: 24px;
    background: url('/media/images/home-picto-actualite.png') top left no-repeat;
    top: 40px;
    left: 10px;
}

#homeactualite .actualite .image{
    display: block;
    float: left;
    background: url('/media/images/home-actualite-image-fond.png') top left no-repeat;
    width: 190px;
    height: 187px;
    margin-top: 26px;
    margin-left: 20px;
}

#homeactualite .actualite .texte{
    display: block;
    float: left;
    width: 220px;
    margin-left: 8px;
    margin-top: 23px;
    line-height: 20px;
    font-size: 12px;
    color: #6f6f6f;
}

#homeactualite .actualite .texte a{
    color: #1a171b;
    font-size: 11px;
}

#homeactualite .actualite h1{
    color: #00407c;
    font-size: 18px;
    margin-bottom: 16px;
}

#homeactualite .actualite .image img{
    margin-top: 26px;
    margin-left: 20px;
}

#actualite .actualite{
    display: block;
    position: relative;
    overflow: hidden;
    width: 900px;
    padding-bottom: 10px;
    background: url('/media/images/actualite-liste-ombre.png') bottom left no-repeat;
}

#actualite .actualite .picto{
    position: absolute;
    z-index: 6;
    width: 63px;
    height: 24px;
    background: url('/media/images/home-picto-actualite.png') top left no-repeat;
    top: 30px;
    left: 4px;
}

#actualite .actualite .fondraye{
    position: absolute;
    z-index: 4;
    background: url('/media/images/home-actualite-image-fond.png') top left no-repeat;
    width: 190px;
    height: 187px;
    top: 12px;
    left: 12px;
}

#actualite .actualite .image{
    display: block;
    position: relative;
    float: left;
    /*background: url('/media/images/home-actualite-image-fond.png') top left no-repeat;*/
    background: url('/media/images/actualite-liste-fond-blanc-image.png') top left no-repeat;
    width: 214px;
    height: 212px;
    margin-left: 20px;
    margin-top: 20px;
}

#actualite .actualite .texte{
    display: block;
    float: left;
    width: 620px;
    margin-left: 8px;
    margin-top: 23px;
    line-height: 20px;
    font-size: 13px;
    /*color: #6f6f6f;*/
    color: #000;
}

#actualite .actualite .texte a{
    color: #1a171b;
    font-size: 11px;
}

#actualite .actualite h2{
    color: #00407c;
    font-size: 18px;
    margin-bottom: 16px;
}

#actualite .actualite .image img{
    position: relative;
    z-index: 5;
    margin-top: 36px;
    margin-left: 32px;
}

#separationtopcontenu{
    position: relative;
    width: 960px;
    height: 103px;
}

#presentation{
    width: 960px;
    min-height: 677px;
    background: #fff /*url('/media/images/fond-presentation.png') top left repeat-x*/;
    padding-top: 86px;
    padding-left: 24px;
    line-height: 20px;
}

#realisation{
    width: 960px;
    min-height: 677px;
    background: url('/media/images/fond-realisation.png') top left repeat-x;
    padding-top: 86px;
    padding-left: 24px;
    line-height: 20px;
}

#actualite{
    width: 960px;
    min-height: 677px;
    background: url('/media/images/fond-actualite.png') top left repeat-x;
    padding-top: 86px;
    padding-left: 24px;
    line-height: 20px;
}

#partenaire{
    width: 960px;
    
    background: url('/media/images/fond-partenaire.png') top left repeat-x;
    padding-top: 86px;
    padding-left: 24px;
    line-height: 20px;
}

#contact,
#mention{
    width: 960px;
    min-height: 677px;
    background: url('/media/images/fond-contact.png') top left repeat-x;
    padding-top: 86px;
    padding-left: 24px;
    line-height: 20px;
}

#contact h1,
#mention h1,
#actualite h1,
#partenaire h1,
#motcle h1,
#realisation h1,
#presentation h1{
    color: #99b1c7;
    font-size: 58px;
    margin-bottom: 42px;
}

#motcle h1{
    font-size: 50px;
    width: 530px;
}

#partenaire td{
    padding-left: 40px;
    padding-right: 40px;
    padding-bottom: 40px;
}

#partenaire a{
    color: #000;
    text-decoration: none;
}

#partenaire .image{
    background: url('/media/images/fond-logo-partenaire.png') top left no-repeat;
    padding-top: 5px;
    padding-left: 5px;
    width: 214px;
    height: 188px;
}

#partenaire .texte{
    display: block;
    margin-left: 5px;
    width: 214px;
}

#contact .texte,
#presentation .texte{
    display: block;
    float: left;
    width: 370px;
    margin-right: 20px;
}

#mention .texte{
    display: block;
    float: left;
    width: 900px;
    margin-right: 20px;
}

#presentation .texte.withoutimage{
    width: 880px;
}

#contact .imageliste,
#presentation .imageliste{
    display: block;
    float: left;
    width: 510px;
}

#contact .imageliste .image,
#presentation .imageliste .image{
    background: url('/media/images/presentation-image-fond.png') top left no-repeat;
    padding-top: 5px;
    padding-left: 5px;
    margin-bottom: 30px;
}

#contact p,
#presentation p{
    padding-bottom: 20px;
}

.hide{
    display: none;
}

#realisation .texte{
    display: block;
    width: 600px;
    margin: auto;
    margin-top: 20px;
    padding-bottom: 20px;
}

#realisation #carousel-realisation{
    position: relative;
    z-index: 1;
    width: 876px;
    height: 720px;
    margin-left: 30px;
    background: url('/media/images/realisation-galerie-fond.png') top left no-repeat;
}

#realisation #carousel-realisation #carousel-content-realisation{
    width: 871px;
    height: 715px;
    padding-top: 5px;
    padding-left: 5px;
}

#realisation #carousel-realisation #carousel-content-realisation ul,
#realisation #carousel-realisation #carousel-content-realisation ul li{
    width: 876px;
    height: 750px;
}

#realisation #carousel-realisation #carousel-prev-realisation{
    position: absolute;
    z-index: 3;
    top: 220px;
    left: -70px;
    background: url('/media/images/carousel-fleche-gauche.png') top left no-repeat;
    width: 30px;
    height: 31px;
    cursor: pointer;
}

#realisation #carousel-realisation #carousel-next-realisation{
    position: absolute;
    z-index: 3;
    top: 220px;
    right: -70px;
    background: url('/media/images/carousel-fleche-droite.png') top left no-repeat;
    width: 30px;
    height: 31px;
    cursor: pointer;
}

#realisation #carousel-realisation #carousel-content-realisation li{
    float: left;
    list-style: none;
    position: relative;
}

#motcle{
    padding-top: 160px;
    min-height: 960px;
    margin-left: 30px;
    position: relative;
}

#motcle #motclenavigation{
    float: left;
    width: 310px;
    margin-right: 70px;
}

#motcle #motcledescription{
    float: left;
    width: 550px;
    position: relative;
    z-index: 4;
}

#motcle #motcledescription .texte{
    display: block;
    float: left;
    width: 240px;
    margin-right: 60px;
}

#motcle #motcledescription .imageliste{
    display: block;
    float: left;
    width: 210px;
}

#motcle #motcledescription .imageliste .image{
    background: url('/media/images/motcle-image-fond.png') top left no-repeat;
    padding-top: 5px;
    padding-left: 5px;
    margin-bottom: 30px;
}

#batiment{
    padding-top: 188px;
    min-height: 960px;
}

#batiment p{
    padding-bottom: 20px;
    line-height: 18px;
}

#batiment .texte{
    display: block;
    margin-left: 100px;
    width: 750px;
}

#batiment h1{
    color: #99b1c7;
    font-size: 58px;
    margin-top: 10px;
    margin-left: 24px;
    margin-bottom: 42px;
}

#batiment .flecheposition1,
#batiment .flecheposition2,
#batiment .flecheposition3,
#batiment .flecheposition4{
    margin-top: 10px;
}

#batiment .flecheposition1{
    margin-left: 100px;
}

#batiment .flecheposition2{
    margin-left: 340px;
}

#batiment .flecheposition3{
    margin-left: 580px;
}

#batiment .flecheposition4{
    margin-left: 820px;
}

#batiment .image1{
    background: url('/media/images/batiment-image-fond1.png') top left no-repeat;
    padding-top: 5px;
    padding-left: 5px;
    margin-bottom: 20px;
}

#batiment .positionImage{
    position: relative;
    float: left;
}

#batiment #visionneuseimage{
    float: left;
    width: 870px;
    overflow: hidden;
}

#batiment .image2,
#batiment .image4,
#batiment .image6{
    background: url('/media/images/batiment-image-fond2.png') top left no-repeat;
    padding-top: 5px;
    padding-left: 5px;
    margin-bottom: 20px;
    width: 307px;
    height: 127px;
}

#batiment .image3,
#batiment .image5,
#batiment .image7{
    background: url('/media/images/batiment-image-fond3.png') top left no-repeat;
    padding-top: 5px;
    padding-left: 5px;
    margin-bottom: 20px;
    width: 179px;
    height: 127px;
}

#batiment #telechargement{
    float: left;
    margin-left: 20px;
}

#batiment .image2,
#batiment .image3,
#batiment .image4,
#batiment .image5,
#batiment .image6,
#batiment .image7{
    display: block;
    float: left;
    margin-left: 20px;
}

#baspagecontenu{
    position: relative;
    width: 960px;
    margin: 0 auto;
    padding-top: 51px;
    margin-bottom: 180px;
}

#baspagemotcle{
    position: relative;
    width: 960px;
    margin: 0 auto;
    padding-top: 170px;
}

#fondpagecontenubas #pagecontenubashomme{
    position: absolute;
    top: 190px;
    right: 0;
    width: 138px;
    height: 213px;
    z-index: 5;
    background: url('/media/images/page-bas-contenu-homme.png') top left no-repeat;
}

#fondpagemotclebas #pagemotclebashomme{
    position: absolute;
    top: -61px;
    right: 0;
    width: 138px;
    height: 213px;
    z-index: 5;
    background: url('/media/images/page-bas-contenu-homme.png') top left no-repeat;
}

#fondpagemotclebas #pagemotclebashommecharpentier{
    position: absolute;
    top: -61px;
    right: 0;
    width: 600px;
    height: 213px;
    z-index: 5;
    background: url('/media/images/page-bas-contenu-homme-charpentier.png') top left no-repeat;
}

#formcontact h2{
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 10px;
    margin-top: 20px;
}

#formcontact p{
    padding-bottom: 4px;
    overflow: hidden;
}

#formcontact label{
    float: left;
    display: block;
    width: 100px;
}

#formcontact textarea,
#formcontact input{
    padding: 4px;
    border: 1px solid #000;
    width: 180px;
}

#formcontact #submit{
    display: block;
    cursor: pointer;
    margin: 0 auto;
    margin-top: 20px;
    margin-bottom: 20px;
    width: 150px;
}

.clearBoth{
    clear: both;
}

.bleufonce{
    color: #00407c;
}

.size13{
    font-size: 13px;
}

.size14{
    font-size: 14px;
}

.size15{
    font-size: 15px;
}

.size16{
    font-size: 16px;
}

.size17{
    font-size: 17px;
}

.size18{
    font-size: 18px;
}

.size21{
    font-size: 21px;
}

.size33{
    font-size: 33px;
}

.blanc{
    color: white;
}

.rouge{
    color: red;
}

.erreur{
    background: #fff;
    border: 1px dotted red;
    color: red;
    padding: 4px;
}

.valid{
    background: #fff;
    border: 1px dotted green;
    color: green;
    padding: 4px;
}