
/* Styles généraux */
.quiet { color: #666; }
.top { margin-top: 0; }
.small { font-size: 85%; }
hr.space { visibility: hidden; }

::selection { background: #f7837b; color: #fff; text-shadow: none; }
::-moz-selection { background:#f7837b }

.alpha90 { background: url(/images/bg-white-alpha90.png) repeat; }
.alpha80 { background: url(/images/bg-white-alpha80.png) repeat; }
.alpha70 { background: url(/images/bg-white-alpha70.png) repeat; }
.alpha60 { background: url(/images/bg-white-alpha60.png) repeat; }
.alpha50 { background: url(/images/bg-white-alpha50.png) repeat; }

.bb { border-bottom: 1px solid #ccc !important; }
.bt { border-top: 1px solid #ccc !important; }
.bl { border-left: 1px solid #ccc; }
.br { border-right: 1px solid #ccc; }

.darkgray { color: #444; }

/* Styles des boutons */
.button { display: inline-block; border-radius: 5px; padding: 8px 20px; color: #fff; background-color: #333; }
.button-large { font-size: 18px; }
.button:hover { color: #fff; }
.button-blue { background-color: #78a6d4; }
.button-orange { background-color: #f4b12c; }
.button-green { background-color: #4db252; }


.section { padding: 30px 0; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; background-color: #fff; }
.section-grey  { border-top: 1px solid #fff; border-bottom: 1px solid #fff; background-color: #f5f4f0 }
.section-white { border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; }
.section .container { position: relative; padding: 40px 0 100px 0; }

.references-view h1,
.service-view h1 { font-weight: normal; }

h2 { font-weight: normal; font-size: 25px; color: #444; text-shadow: 1px 1px #fff; }
h2 a { color: #444; text-decoration: none; }
h2 a:hover { color: #444; }
h3 { font-weight: normal; font-size: 18px; color: #666; text-shadow: 1px 1px #fff; }

/* Animation des badges */
p.pin { position: absolute; width: 100%; top: -97px; }
p.pin img { -webkit-transition: all 0.5s ease-in-out; transition: all 0.5s ease-in-out; }
p.pin img:hover, p.pin img.active { -webkit-transform: rotate(720deg); transform: rotate(720deg); }


#header { position: relative; z-index: 200; background-color: #f5f4f0; height: 40px; }
#header p { color: #555; text-shadow: 1px 1px #fff; }
#header p.contact { padding-top: 10px; }
#header p a { color: #555; }

/* #header p.contact { position: relative; top: 32px; } */

#intro { background: url(/images/bg-intro.jpg) center; border-bottom: 7px solid #fff; }
#intro .shade-1 { background: url(/images/intro-shade-1.png) repeat-x; }
#intro .content { height: 230px; padding-top: 90px; }
#intro h1 { color: #f5f4f0; text-shadow: 0 0 10px #555; line-height: 45px; font-size: 30px; }
/* #intro h1 span { font-size: 55px; margin-bottom: 15px; display: block; } */

body.references #intro .content,
body.service #intro .content { height: 120px }
body.references-view #intro .content,
body.service-view #intro .content { height: 180px; }

#services article { position: relative; }
#services p.pin { top: -141px; }
#services p.description { padding: 0 20px; }


#projects .item { border: 4px solid #fff; box-shadow: 0 0 3px #555; border-radius: 3px; position: relative; width: 302px;  }
#projects .item img { width: 302px; height: 142px; }
#projects .item a.overlay { display: none; position: absolute; left: 0; bottom: 0; width: 100%; padding: 51px 0; color: #fff; text-decoration: none; background: rgba(30,30,30,0.8) }
#projects .item a.overlay strong { text-transform: uppercase; }

.project-details { list-style:none; margin-left:0; border-top: 1px dashed #ccc; }
.project-details li { padding: 5px 0; border-bottom: 1px dashed #ccc; }

#staff h3 { color: #333; font-weight: bold; }
#staff h4 { color: #555; font-weight: normal; }
#staff .thumb { display:inline-block; border: 5px solid #fff; border-radius: 5px; box-shadow: 0 0 3px #555; background-color: #ccc; }
#staff p.description { padding: 0 20px; }

#contact { border-bottom: 1px solid #ccc; }

#map-container { margin: 10px 0 0 0; border: 7px solid #fff; border-radius: 5px; box-shadow: 0 0 3px #555; position: relative; }
#map { height: 400px; background-color: #ccc; }
#map img { max-width: inherit; }
#map_type_control { position: absolute; top: 15px; right: 10px; list-style: none; border-radius: 5px; margin: 0; }
#map_type_control li { padding: 5px 10px; cursor: pointer; font-weight: bold; }
#map_type_control li.active { /* font-weight: bold; */ color: #C94939; }

#modSelect .btn img { position: relative; top: -1px; }


#content { padding-bottom: 49px; position: relative; z-index: 100; }

#footer { position: fixed; z-index: 0; bottom: 0; width: 100%; background-color: #222; border-top: 7px solid #fff; padding: 12px 0 10px 0; color: #fff; font-size: 12px; }
#footer a { color: #fff; text-decoration: underline; }


#ref-nav { /* text-transform: uppercase; */ }
#ref-nav ul { list-style: none; margin: 0; border-top: 1px solid #ccc; }
#ref-nav ul li a { display: block; padding: 5px; border-bottom: 1px solid #ccc; color: #333; text-decoration: none; }
#ref-nav ul li a:hover { background-color: #fff; }
#ref-nav ul li a.active { background-color: #fff; font-weight: bold; }

/* img.reference { border: 10px solid #fff; border-radius: 5px; box-shadow: 0 0 3px #555; } */
p.ref { border: 5px solid #fff; border-radius: 3px; box-shadow: 0 0 3px #555; margin-bottom: 20px; }


/* Slideshow */
img.thumbnail { cursor: pointer; }
.slideshow { border: 10px solid #fff; border-radius: 5px; box-shadow: 0 0 3px #555; }
.slideshow .slideshow-content { position:relative; background-color: #ccc; }
.slideshow .slideshow-image { border: 1px solid #888; }
.slideshow .overlay { position: absolute; bottom: 0; left: 0; padding: 0 0 10px 0; background-color: #333; height: 100px; bottom: -110px; width: 100%; color: #fff; opacity:0.9; border-radius: 0 0 3px 3px; }
.slideshow .overlay ul { margin: 0; padding: 10px 1.5em; }
.slideshow .overlay ul li { display: inline-block; float: left; border: 2px solid #fff; background-color: #fff; width: 137px; height: 88px; cursor: pointer; border-radius: 3px; }
.slideshow .overlay ul li.active { border-color: yellow; }


body.references-view .bloc-content,
body.service-view .bloc-content { padding-bottom: 40px; }
body.references-view h1 strong,
body.service-view h1 strong { text-transform: uppercase; }



#demo-map { height: 500px; position:relative; border: 5px solid #fff; box-shadow: 0 0 3px #555; border-radius: 3px; background-color: #ccc; }
#demo-map #map-header { position: absolute; top: 0; left: 0; width: 100%; background-color: #444; font-size: 40px; }
#map-header ul { margin: 0 0 0 10px; padding: 0; list-style: none; }
#map-header ul li { display: inline; float: left; line-height: 40px; position: relative; }
#map-header ul li a { display: inline-block; padding: 5px 10px; color: #fff; }
#map-header ul li:hover a { background-color: #333; background-color: #B2392B; }
#map-header ul li a.active { background-color: #B2392B; }
/* #map-header ul li.level-1:hover ul { display: block; } */
#map-header ul li .iconic { position: relative; top: -2px; }
#map-header ul ul { position: absolute; z-index: 10000; font-size: 13px; background-color: #333; background-color: #B2392B; padding: 3px 0; margin: 0; }
#map-header ul ul li { line-height: normal; }
#map-header ul ul li a { width: 200px; padding: 10px; text-decoration: none; }
#map-header ul ul li a:hover { background-color: #fff; color: #444; }
#map-header ul ul li a.active { background-color: #fff; color: #444; font-weight: bold; }
#map-header ul ul li a.active:hover { cursor: default; }

#map { background-color: #bbb; width: 100%;}


@media only screen and (min-width: 768px) and (max-width: 979px)
{
	#header p.contact { display: none; }
	#header p.span6 { width: 100%; }
	#projects .ref-list { width: 630px; margin: 0 auto; }
/* 	#projects .item a.overlay { padding: 34px 0; } */

	.slideshow .overlay { height: 86px; bottom: -96px; }
	.slideshow .overlay ul li { width: 112px; height: 71px; }

}

@media only screen and ( max-width: 767px )
{
	#header p.contact { display: none; }

	body { padding: 0; }

	h3 { color: #555; }

	.inner { padding-left: 10px; padding-right: 10px; }

	#intro .content { height: 180px; padding-top: 70px; padding-left: 5px; padding-right: 5px; }
	#intro h1 { font-size: 19px; line-height: 35px; margin-top: 10px; }
	#intro h1 span { font-size: 40px; }

	#services { padding-bottom: 10px; }
	#services article { border-bottom: 1px solid #ccc; padding-bottom: 25px; }
	#services article.last-child { border-bottom: none; }
	#services article.not-first { margin-top: 165px; }

	#projects .ref-list { width: 310px; margin: 0 auto; }

	p.ref { border-width: 5px; margin-bottom: 30px; }

	.slideshow { border: 5px solid #fff; }

	#staff article { border-bottom: 1px solid #ccc; padding: 45px 0 25px 0; }
	#staff article.first-child { padding-top: 0; }
	#staff article.last-child { border-bottom: none; padding-bottom: 0; }

	#footer { padding: 12px 10px 10px 10px; }
}