/**
* Body behavior
*/

body {
	padding: 0;
	margin: 0;
	color: #333333;
	background: #333333 url("/images/background.png") top left repeat-x scroll;
	font-family: Helvetica, Arial, sans-serif;
}

/**
* Container behavior (manage the min-width even for internet explorer)
*/

#container {  /* Site container */
	font-size: 12px;	
	min-width: 960px;  /* minimum width of the site (except IE) */
	width: 100%;  /* auto or % */
}

* html #containerMinWidthIE {  /* minimum width of the site for IE */
	padding-left: 960px;  /* minimum width value for IE */
}

* html #containerContainerIE {
	margin-left: -960px;  /* negatif minimum width value for IE */
	position: relative;
}

* html #container_minwidth_IE, * html #containerContainerIE, * html #containerLayoutIE  { /* additional requirement for IE */
	height: 1px;
}

/**
* Header behavior
*/

#header {
	position: relative;
	width: 960px;
	height: 100px;
	color: #FFFFFF;
	margin: 0 auto;
	z-index: 100; 
}

#helpyourself {
	position: absolute;
	width: 174px;
	height: 67px;
	top: 0;
	left: 50%;
	margin: 0 0 0 -237px; /* -174 - (126  / 2) */
}

#logo {
	width: 126px;
	height: 71px;
	text-align: right;
	padding: 0;
	margin: 0 auto;
}

#navigation {
	position: absolute;
	right: 0;
	bottom: -4px;
}

#navigation ul {
	display: block;
	float: right;
	list-style-type: none;
	margin: 0px;
	padding: 0px;
	white-space: nowrap;
	background: url("/images/bgNavigation.png") top right no-repeat scroll;
	padding: 0 1px 0 0;
}

#navigation ul li {
	float: left;
	padding: 0;
	margin: 0;
}

#navigation li a {
	display: block;
	width: 94px;
	height: 32px;
	line-height: 24px;
	cursor: pointer;
	color: #B8B8B8;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 13px;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	margin: 0;
	padding: 0;
	background-image: url("/images/bgButton.png");
	background-position: top left;
}

#navigation li.active a, #navigation li a:hover {
	color: #FFFFFF;
}

#navigation li.active a {
	background-position: bottom left;
}

/**
* Content behavior
*/

#content {
	position: relative;
	width: 100%;
	height: 632px;
	overflow: hidden;
	padding: 100px 0 0; 
	margin: -100px 0 0;
}

#contentShadow {
	position: absolute;
	width: 100%;
	height: 4px;
	top: 0;
	left: 0;
	z-index: 10;
	background: url("/images/hShadow.png") top left no-repeat scroll;
}

#slidingContent {
	position: relative;
	width: 200%;
	height: 100%;
	margin: 0;
	padding: 0;
}

div.realContent {
	width: 50%;
	height: 100%;
	overflow: hidden;
	margin: 0;
	padding: 0;
}

div.verticalSliding {
	position: absolute;
	overflow: hidden;
}

div.horizontalSliding {
	position: relative;
	float: left;
}

#contentTitle {
	position: relative;
	height: 44px;
}

#centeredContent {
	position: relative;
	width: 960px;
	height: 100%;
	margin: 0 auto;
}

#contentLeft {
	position: relative;
	float: left;
	width: 390px;
	padding: 18px 0 0;
}

#contentLeftColTop {
	margin: 0 0 16px;
}

#contentLeftColTop p {
	font-size: 13px;
}

#contentLeftColLeft {
	float: left;
	width: 172px;
	overflow: hidden;
	padding: 0 8px 0 0;
}

#contentLeftColRight {
	float: right;
	width: 210px;
	overflow: hidden;
}

#contentLeftColBottom {
	float: left;
	width: 100%;
	height: 75px;
}

#contentLeftColBottom a {
	display: block;
	width: 228px;
	height: 75px;
}

#contentRight {
	float: left;
	width: 570px;
	padding: 18px 0 0;
}

.contentBody {
	color: #505050;
	margin: 0 0 12px;
}

/**
* Footer behavior
*/

#footer {
	position: relative;
	height: 348px;
	background: #252525 url("/images/bgFooter.png") top left repeat-x scroll;
}

#footerTop {
	position: relative;
	width: 960px;
	height: 307px;
	color: #868686;
	overflow: hidden;
	margin: 0 auto;
	padding: 16px 0 0 0;
}

#footerTop h2 {
	font-size: 22px;
	color: #d3d3d3;
	text-transform: none;
	letter-spacing: 0.05em;
}

#footerTop h3 {
	font-size: 14px;
	color: #cccccc;
	padding: 2px 0 4px 0;
	margin: 0;
}

#footerTop h4 {
	font-size: 12px;
	margin: 4px 0 8px;
	paading: 0;
}

#footerTop a {
	font-size: 11px;
	color: #99CC00;
	font-weight: bold;
}

#footerTop a:hover {
	text-decoration: underline;
}

#footerTopTags a {
	color: #868686;
	font-weight: normal;
}

#footerTopLeft {
	width: 180px;
	padding: 0 8px 0 0;
}

#footerTopMiddle {
	width: 512px;
	padding: 0 8px 0 24px;
}

#footerTopMiddleLeft {
	width: 252px;
	padding: 0 4px 0 0;
}

#footerTopMiddleRight {
	width: 252px;
	padding: 0 0 0 4px;
}

#footerTopRight {
	width: 180px;
	padding: 0 0 0 24px;
}

#footerTopRightTop {
	padding: 0 0 16px;
}

#footerBottom {
	height: 25px;
}

#footerBottom p {
	line-height: 25px;
	text-align: center;
	font-size: 12px;
	color: #FFFFFF;
	padding: 0;
	margin: 0;
}

.footerBlock {
	float: left;
}

.sampleLink {
	display: block;
}

.footerVSeparator {
	float: left;
	width: 7px;
	height: 100%;
	font-size: 1px; /* For IE6*/
	background: url("/images/bgFooterVSeparator.png") top left no-repeat scroll;
}

.footerHSeparator {
	width: 100%;
	height: 5px;
	font-size: 1px; /* For IE6*/
	background: url("/images/bgFooterHSeparator.png") top left no-repeat scroll;
}

.footerHSeparator {
}

/**
* Home behavior
*/

#homeLeft {
	position: absolute;
	width: 35%;
	height: 100%;
	top: 0;
	left: 0;
	background: #000000;
}

#homeLeftBgVideo {
	position: relative;
	width: 100%;
	height: 100%;
}

#bgPlayerAlt {
	width: 100%;
	height: 100%;
}

#homeLastProjects {
	position: absolute;
	top: 18px;
	left: 2%;
	z-index: 200;
}

#homeLastProjectsTitle {
	position: absolute;
	top: -37px;
	left: 1%;
	padding: 0 0 0 15px;
	z-index: 200;
}

.project {
	cursor: pointer;
}

.project h2 {
	color: #333333;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 12px;
	text-transform: none;
	padding: 0 0 3px;
	margin: 0;
}

.project p {
	font-size: 11px;
	margin: 0;
	padding: 0;
}

h2.projectTitle {
	font-family: Helvetica, Arial, sans-serif;
	font-size: 13px;
	font-weight: bold;
	text-transform: none;
	color: #FFFFFF;
	padding: 0 0 4px;
	margin: 0;
}

.homeLastProjectsStickerUp, .homeLastProjectsStickerDown {
	position: relative;
	width: 244px;
	height: 45px;
}

.homeLastProjectsStickerUp {	
	background: url("/images/homeStickerUp.png") top left no-repeat scroll;
	padding: 12px 10px 15px;
}

.homeLastProjectsStickerDown {
	background: url("/images/homeStickerDown.png") top left no-repeat scroll;
	padding: 12px 10px 10px;
}

.homeLastProjectsThumb {
	width: 80px;
	height: 45px;
	padding: 2px;
	margin: 0;
	background: url("/images/bgHomeLastProjectsThumb.png")
}

.homeLastProjectsStickerLeft {
	width: 80px;
}

.homeLastProjectsStickerRight {
	width: 156px;
	padding: 0 0 0 8px;
}

#shadowbox_player {
	width: 640px;
	height: 360px;
}

#shadowbox_legend, .projectFullDescription {
	position: relative;
	width: 628px;
	padding: 6px;
	margin: 0;
	background: #555555;
}

.projectFullDescription {
	position: absolute;
	visibility: hidden;
	top: 0;
	left: 0;
	z-index: -10; 
}

#homeRight {
	position: absolute;
	width: 65%;
	height: 100%;
	top: 0;
	right: 0;
	z-index: 1;
	background: url("/images/bgSlider.png") top left repeat-x scroll;
	margin: 0;
	padding: 0;
}

#homeRightShadow {
	position: absolute;
	width: 5px;
	height: 100%;
	top: 0;
	left: -5px;
	z-index: 10;
	background: url("/images/vShadow.png") top left no-repeat scroll;
}

#homeRightSlider {
	position: relative;
	width: 640px;
	height: 408px;
	overflow: hidden;
	background: url("/images/bgSliderContent.png") top left repeat-x scroll;
	margin: 0 auto;
	padding: 0;
}

#homeRightInfo {
	position: relative;
	float: left;
	width: 100%;
}

.homeInfoBig, .homeInfoSmall {
	position: relative;
	float: left;
}

.homeInfoBig {
	width: 35%;
	overflow: hidden;
}

.homeInfoSmall {
	width: 15%;
	overflow: hidden;
}

.homeInfoItemFirst, .homeInfoItem {
	height: 206px;
	padding: 18px 18px 0 18px;
}

.homeInfoItem {
	border-left: 1px solid #666666;
}

.homeInfoFlag {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

#homeInfoNews, #homeInfoClients {
	position: relative;
	width: 204px;
	height: 205px;
	margin: 0 auto;
}

#homeInfoNews {
	background: url("/images/bgHomeNews.png") top left no-repeat scroll;
}

#homeInfoNewsDetails {
	position: relative;
	padding: 8px 4px 60px; 
}

#homeInfoNewsNav {
	padding: 0 7px;
}

#homeInfoNewsNav ul {
	position: relative;
	display: block;
	position: relative;
	list-style-type: none;
	margin: 0px auto;
	padding: 0px;
	white-space: nowrap;
	padding: 0 1px 0 0;
}

#homeInfoNewsNav li {
	float: left;
	padding: 0;
	margin: 0 6px;
}

a.homeInfoNewDate {
	display: block;
	width: 33px;
	height: 32px;
	background-image: url("/images/bgHomeNewsDate.png");
	background-position: top left;
	background-repeat: no-repeat;
}

a.homeInfoNewDate:hover,  a.homeInfoNewActiveDate {
	background-position: bottom left;
}

span.homeInfoNewMonth, span.homeInfoNewDay {
	display: block;
	width: 100%;
	color: #FFFFFF;
	text-align: center;
}

span.homeInfoNewMonth {
	height: 14px;
	line-height: 14px;
	font-size: 11px;
}

span.homeInfoNewDay {
	height: 16px;
	line-height: 16px;
	font-size: 12px;
}

#homeInfoNewsContent {
	position: relative;
	margin: 12px 4px 0;
}

.homeInfoNewTitle, .homeInfoNewTitle a {
	position: relative;
	color: #0597BC;
	font-weight: bold;
	font-size: 11px;
	text-transform: uppercase;
	padding: 0;
	margin: 2px 0;
}

.homeInfoNewText, .homeInfoNewText a {
	position: relative;
	font-weight: normal;
	font-size: 11px;
	padding: 0;
	margin: 0;
}

#homeInfoClients {
	background: url("/images/bgHomeClients.png") top left no-repeat scroll;
}

#homeInfoClients table {
	width: 100%;
	height: 159px;
}

#homeInfoClients table td {
	width: 68px;
	height: 53px;
}

#homeInfoLabs, #homeInfoBlog {
	position: relative;
	width: 75px;
	height: 209px;
	margin: 0 auto;
}

#homeInfoLabs {
	background: url("/images/bgHomeLabs.png") top left no-repeat scroll;
}

#homeInfoBlog {
	background: url("/images/bgHomeBlog.png") top left no-repeat scroll;
}

/**
* Slider behavior
*/

#slideShowContainer {
	position: relative;
	display: block;
	width: 620px;
	margin: 30px auto 10px;
	padding: 0px 10px 0px;
}
/* create custom forward-backward buttons for this container */
#slideShowContainer .slideShowBackward { 
	display: block; 
	position: absolute; 
	cursor: pointer; 
	width: 32px; 
	height: 32px; 
	bottom: 0px; 
	background-position: top left;
	margin: 139px 0;  
}

#slideShowContainer .slideShowForward:hover,
#slideShowContainer .slideShowBackward:hover {
	background-position: bottom left;
}

#slideShowContainer .slideShowForward {
	right: 5px;
	background-image: url(../images/btnSlideForward.png);
}
#slideShowContainer .slideShowBackward { 
	left: 5px; 
	background: url(../images/btnSlideBackward.png) no-repeat top;  
}

/* Navigation for the slideshow */
#slideShowNavigation {
	position: relative;
	height: 20px;
	padding: 0 0 10px;
	margin: 0;
}

.slideShowNavigationItem {
	float: left;
	width: 35px;
	height: 10px;
	cursor: pointer;
	margin: 0 3px 0 0;
}

.slideShowNavigationActiveItem {
	height: 20px
}

#slideShowNavigationItem1 {
	background-color: #00CCFF;
}

#slideShowNavigationItem2 {
	background-color: #FFCC00;
}

#slideShowNavigationItem3 {
	background-color: #FF3399;
}

#slideShowNavigationItem4 {
	background-color: #99CC00;
}

/* the width is set to show the number of thumbnails that will be visible */
#slideShowInner{ 
	position:relative ; 
	overflow:hidden ; 
	width: 620px ; /* set a display width to make the slider look good in case js is disabled */
	margin: 0px auto 0px;
	padding: 10px 0px 10px;
}
/* the thumbnails container; set a width on it so everything will be fine */
#slideShowItems { 
	display:block; 
	position:relative; 
}
/* single element design */
#slideShowItems div.slideShowElement { 
	display: block; 
	position: relative; 
	float: left; 
	font-size: 11px; 
	width: 620px; 
	text-align: center; 
	color: #FFFFFF;
}


/**
* Agency behavior
*/
#agencySpecialContent {
	position: relative;
	width: 198px;
	height: 144px;
	overflow: hidden;
	background: url("/images/bgAgencySpecialContent.png") top left no-repeat scroll;
	padding: 112px 6px 10px;
}

#agencySpecialContent h2 {
	color: #333333;
}

#agencySpecialContent p {
	color: #333333;
}

/**
* Images gallery behavior
*/

#agencyImagesGallery, #servicesImagesGallery {
	position: relative;
	float: right;
	width: 524px;
	overflow: hidden; 
}

#agencyImagesGalleryView, #servicesImagesGalleryView {
	position: relative;
	width: 512px;
	height: 288px;
	padding: 6px;
	background:	url("/images/bgGalleryView.png") top left no-repeat scroll;
}

#agencyImagesGalleryViewFront, #agencyImagesGalleryViewBack, #servicesImagesGalleryViewFront, #servicesImagesGalleryViewBack {
	position: absolute;
	width: 512px;
	height: 288px;
	top: 6px;
	left: 6px;
	overflow: hidden;
}
#agencyImagesGalleryViewFront, #servicesImagesGalleryViewFront {
	z-index: 1;
}

#agencyImagesGalleryViewBack, #servicesImagesGalleryViewBack {
	padding: 6px;
	z-index: 0;
}


#agencyImagesGalleryThumbs, #servicesImagesGalleryThumbs {
	position: relative;
	float: left;
	width: 531px;
	padding: 6px 0 0 3px;
}

div.imagesGalleryThumbWarp, div.imagesGalleryThumbWarpLast {
	position: relative;
	float: left;
	width: 160px;
	height: 182px; /* 90px height image + 90 height relect*/
	padding: 3px 3px 0;
	background: url("/images/bgGalleryThumb.png") top left no-repeat scroll;
}

div.imagesGalleryThumbWarp {
	margin: 0 10px 0 0;
}

.imagesGalleryThumb {
	display: block;
	padding: 0;
	margin: 0;
}

/**
* Services behavior
*/

.samples {
	position: relative;
	width: 390px;
}

.samplesTop {
	position: relative;
	height: 5px;
	font-size: 1px; /* for IE6*/
	background: url("/images/bgSamplesTop.png") top left no-repeat scroll;
}

.samplesMiddle {
	position: relative;
	background: url("/images/bgSamplesMiddle.png") top left repeat-y scroll;
	padding: 5px 15px;
	margin: 0;
}

.samplesBottom {
	position: relative;
	height: 5px;
	font-size: 1px; /* for IE6*/
	background: url("/images/bgSamplesBottom.png") top left no-repeat scroll;
}

.samples a {
	color: #505050;
}

.samples a:hover {
	color: #000000;
}

.samples ul {
	position: relative;
	float: left;
	list-style: none;  
	padding: 0;
	margin: 0;
}

.samples li {
	display: block;
	float: left;
	width: 159px;
	/*text-indent: 16px;*/
	margin: 2px 0;
	padding: 0 0 0 16px;
	background: url("/images/bulletSamples.png") center left no-repeat scroll;
}
/**
* Portfolio behavior
*/

#referencesYears {
	position: relative;
	width: 100%;
	height: 58px;
	padding: 0 0 8px;
}

#referencesCurrentYear {
	float: left;
	width: 146px;
	height: 58px;
	padding: 0 6px 0 0;
}

#referencesYearsNav {
	float: left;
	padding: 2px 0;
}

#referencesYearsNav p {
	padding: 0;
}

#referencesYearsNav a {
	color: #666666;
}

#referencesYearsNav a:hover {
	color: #000000;
}

#referencesPages {
	position: relative;
	padding: 0 0 6px;
}

#references {
	position: relative;
	height: 400px;
}

h2.referenceTitle {
	cursor: pointer;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 12px;
	font-weight: normal;
	text-transform: none;
	margin: 6px 0 0px;
	padding: 0;
}

h2.referenceTitle a:hover {
	color: #F33192;
}

div.referenceDetails {
	position: relative;
	width: 364px;
}

div.referenceTop {
	position: relative;
	height: 10px;
	font-size: 1px;
	background: url("/images/bgReferencesTop.png") top left no-repeat scroll;
}

div.referenceMiddle {
	position: relative;
	background: url("/images/bgReferencesMiddle.png") top left repeat-y scroll;
	padding: 4px 12px 0;
}

.referencesDescription {
	color: #FFFFFF;
}

.referenceJob {
	padding: 0 4px 0 0;
}

.referenceJobInfo p {
	font-size: 12px;
	margin: 0;
	padding: 0;
}

p.referencesDescriptionContent {
	font-size: 12px;
	padding: 4px 0 0;
	margin: 0;
}

div.referenceBottom {
	position: relative;
	height: 10px;
	font-size: 1px;
	background: url("/images/bgReferencesBottom.png") top left no-repeat scroll;
}

#referencesNav {
	width: 340px;
	text-align: right;
	padding: 0 12px;
}

#portfolioVideoWarp {
	position: relative;
	float: right;
	width: 512px;
	height: 326px;
	margin: 92px auto 0;
	padding: 6px 6px 0; 
	background: url("/images/bgPortfolioVideo.png") top left no-repeat scroll;
}

#portfolioVideo {
	position: relative;
	width: 512px;
	height: 288px;
}

#playerAlt {
	width: 100%;
	height: 100%;
	background: #000000;
}

/**
* Pagination behavior
*/

div.pagination a, div.pagination span {
	color: #666666;
}

div.pagination a:hover {
	color: #000000;
}

div.pagination span.paginationCurrentPage {
	font-weight: bold;
	color: #000000;
}

/**
* Contact behavior
*/
#contactTitle {
	padding: 0 0 8px;
}

#contactInfo {
	position: relative;
	width: 375px;
	height: 97px;
	background: url("/images/bgContactInfo.png") top left no-repeat scroll;
	padding: 3px 2px 2px;
}

#contactInfoMail {
	height: 25px;
	padding: 10px 8px 6px;
}

#contactInfoPhone {
	height: 25px;
	margin: 8px 0 0;
	padding: 10px 8px 6px;
}

#contactRight {
	float: right;
}

#contactMapWarp {
	position: relative;
	width: 512px;
	height: 288px;
	overflow: hidden;
	padding: 5px 5px 10px 5px;
	background: url("/images/bgContactMap.png") top left no-repeat scroll;
}

#contactMap {
	width: 512px;
	height: 288px;
	background: #E5E3DF;
}

#contactMailbox {
	padding: 0 12px 0 0;
}

#contactAddress {
	margin: 12px 0 0;
}

#contactAddress address {
	font-size: 12px;
	font-style: normal;
	padding: 2px 0 4px;
}

/**
* Validation behavior
*/

#validationBody {
	position: relative;
	width: 524px;
	padding: 40px 0 0;
	margin: 0 auto;
}

#validationVideoWarp {
	position: relative;
	width: 512px;
	height: 326px;
	padding: 6px 6px 0; 
	background: url("/images/bgPortfolioVideo.png") top left no-repeat scroll;
}

/**
* Error behavior
*/

#errorBody {
	position: relative;
	padding: 12px 0 0;
}

/**
* Common behavior
*/

.noflash {
	text-align: center;
	color: #ffffff;
	padding: 20px;
}

.noflash a {
	font-weight: bold;
	color: #F33192;
}

.noflash a:hover {
	text-decoration: underline;
}

.imageLink {
	font-size: 1px; /* For IE 6 */
	text-decoration: none;
	border: none;
}

.clear {
	font-size: 1px;
	clear: both;
}