/* ===================================
COLOR PALETTE
PRIMARY COLOR
Blue				#00457c
Blue				#0079c2
Dark Gray			#3c3e43

SECONDARY COLOR
color 3 		#FFFFFF
color 4			#FFFFFF
=================================== */

body{
	font-family: 'Source Sans Pro', sans-serif;
	font-size: 15px;
}

h1{
	font-weight: 300;
	font-size: 45px;
	line-height: 50px;
	margin-bottom: 20px;
}
h2{	
	font-weight: 700;
	font-size: 20px;
	margin-bottom: 20px;
	line-height: 30px;
}
h3{
	font-weight: 700;
	font-size: 18px;
	line-height: 24px;
}
p, ul, ol, blockquote{ 
	font-weight: 400;
	font-size: 15px; 
	line-height: 24px;
}
.subtitle{
	font-weight: 300;
	font-size: 30px;
	line-height: 35px;
	margin-bottom: 20px;
	color:#C3C3C3;
}
.white_bck .subtitle{
	color:#7E7E7E;
}
p.intro{
	font-size: 18px;
	line-height: 28px;
}
p.medium-text{
	font-size: 18px;
	line-height: 28px;
}
h3 small{
	font-size: 14px;
	color:inherit;
}
.about-us h3{
	margin-bottom: 5px;
	margin-top: 0;
}

#content.white_bck h1{
	color:#0079c2;
}
#content p a{
	color:#ffffff;
	text-decoration: underline;
}
#content p a:hover{
	color:#BCDEFF;
	text-decoration: underline;
}
h2.title-arrow {
	display: block;
	position: relative;
}
h2.title-arrow span {
	margin-left: -28px;
	font-size: 16px;
	width:23px;
	display: inline-block;
}

.cta{
	padding:15px;
	border:2px solid #ffffff;
	font-size: 18px;
	margin-top: 20px;
	margin-bottom: 20px;
}
.cta a:link, .cta a:visited{
	color: #ffffff;
	text-decoration:underline;
}
.cta a:hover{
	color: #CECECE;
	text-decoration:none;
}
.overlink{
	font-size: 15px;
	margin-bottom: 3px;
	color:#7E7E7E;
	margin-left: 12px;
	font-style: italic;
}
@media screen and (max-width: 480px) {
	h1{
		font-size: 32px;
		line-height: 40px;
		margin-bottom: 10px;
	}
	h2{	
		font-size: 18px;
		margin-bottom: 10px;
		line-height: 36px;
	}
	h3{
		font-size: 16px;
		line-height: 20px;
	}
}
/* SOME BOOTSTRAP OVERWRITE */
.btn{
	border-radius: 3px;
	font-weight: 600;
	min-width: 200px;
	text-align: left;
}
.btn span.text{
	float:left;
	line-height: 20px;
}
.btn span.icon{
	line-height: 20px;
	float:right;
	font-size: 16px;
	margin-top: -0px;
}
.btn.btn-sm span.text{
	float:left;
	line-height: 16px;
}
.btn.btn-sm span.icon{
	line-height: 16px;
	float:right;
	font-size: 13px;
	margin-top: 0;
}
.btn.btn-gray{
	background-color: #A5A6A9;
	color:#ffffff;
	border:1px solid #A5A6A9;
}
.btn.btn-gray:hover{
	background-color: #505152;
	color:#ffffff;
	border:1px solid #505152;
}
.btn.btn-primary{
	background-color: #2B63B4;
	border:1px solid #2B63B4;
	color:#ffffff;
}
.btn.btn-primary:hover{
	background-color: #1E4784;
	border:1px solid #1E4784;
	color:#ffffff;
}

.btn-default{
	background-color: #6A6A6A;
	border:1px solid #6A6A6A;
	color:#ffffff;
}
.btn-default:hover{
	background-color: #4C4C4C;
	border:1px solid #4C4C4C;
	color:#ffffff;
}
.btn-full{
	width:100%;
}
hr{
	margin-top: 7px;
	margin-bottom: 35px;
	border-width: 3px 0px 0px;
}
.mb10{margin-bottom: 10px;}
.mb20{margin-bottom: 20px;}
.mb30{margin-bottom: 30px;}

.content-list{
		margin:0;
		padding: 0;
	}

@media screen and (max-width: 760px) {
	.content-list{
		margin:0;
		padding: 0 0 0 20px;
	}
}
/* BACKGROUND IMAGE FOR THE SECTION =================================== */
.cs.bkg-accueil{
	background-image: url('../images/bg_2000x1300_homepage.jpg');
	/*background-position: top center;*/
    -moz-background-size: cover; /* Firefox 3.6 */
	background-size: cover; /* Chrome, Firefox 4.0+, Safari 4.1+, Opera 10+ and IE9 */
}

.cs.bkg-about{
	background-image: url('../images/bg_2000x1300_about.jpg');
	/*background-position: top center;*/
	-moz-background-size: cover; /* Firefox 3.6 */
	background-size: cover; /* Chrome, Firefox 4.0+, Safari 4.1+, Opera 10+ and IE9 */
}
.cs.bkg-contact{
	background-image: url('../images/bg_2000x1300_contact.jpg');
	/*background-position: top center;*/
	-moz-background-size: cover; /* Firefox 3.6 */
	background-size: cover; /* Chrome, Firefox 4.0+, Safari 4.1+, Opera 10+ and IE9 */
}
.cs.bkg-services{
	background-image: url('../images/bg_2000x1300_services.jpg');
	/*background-position: top center;*/
	-moz-background-size: cover; /* Firefox 3.6 */
	background-size: cover; /* Chrome, Firefox 4.0+, Safari 4.1+, Opera 10+ and IE9 */
}
.cs.bkg-our-work{
	background-image: url('../images/bg_2000x1300_ourwork.jpg');
	/*background-position: top center;*/
	-moz-background-size: cover; /* Firefox 3.6 */
	background-size: cover; /* Chrome, Firefox 4.0+, Safari 4.1+, Opera 10+ and IE9 */
}

/* BASIC SKELETTON OF THE SITE =================================== */
#content{
	background-color: #282828;
	background-color: rgba(35, 35, 35, 0.85);
	padding-top: 40px;
	padding-bottom: 30px;
	padding-right: 30px;
	padding-left: 70px;
	color:#EFEFEF;
}
#content.white_bck{
	background-color: #ffffff;
	background-color: rgba(255, 255, 255, 0.97);
	color:#3c3e43;
}
.container-fluid{
	max-width: 1170px;
}
.cs{
	background-position: bottom;
	position:fixed;
	top:0;
	bottom:0;
	right:20px;
	left:20px;
}

#top-white{
	position:fixed;
	top:0;
	left:0;
	right:0;
	z-index: 4;
	height: 35px;
	background-color: #ffffff;
}
#header-fix{
	position:fixed;
	top:0;
	left:0;
	right:0;
	z-index: 5;
}
#content-fix{
	position:absolute;
	top:100px;
	left:0;
	right:0;
	z-index: 1;
}


/* LOGO FOR THE HEADER */
#header{
	/*background-color: rgba(255, 255, 255, 0.9);*/
	height:65px;
	margin-top: 35px;
}
#header .logo{
	margin-top: -35px;
	height:100px;
	background-color: #ffffff;
	background-color: rgb(255, 255, 255);
}
#header .logo img{
	max-width: 100%;
	max-height: auto;
}


#header .main-nav{
	text-align: center;
	height: 65px;
	background-color: #ffffff;
	background-color: rgba(255, 255, 255, 0.9);
}
#header .main-nav ul, 
#header .social-nav ul{
	margin: 0 auto;
	padding: 0;
	font-size: 16px;
}
#header .main-nav ul li{
	display: inline-block;
}
#header .social-nav ul li{
	/*display: inline-block;*/
	float:right;
	list-style: none;
}
#header .main-nav ul li a{
	display: block;
	padding:0 10px;
	height: 65px;
	line-height: 65px;
	color:#3c3e43;
}

#header .social-nav .lang{margin-right: 10px;}
#header .social-nav i.demo-icon{
	font-size: 24px;
	margin-right: 0;
	margin-bottom: -5px;
}
#header .social-nav i.demo-icon:before{
	margin-right: 0;
}
#header .social-nav{
	height: 65px;
	text-align: right;
	background-color: #ffffff;
	background-color: rgba(255, 255, 255, 0.9);
}
#header .social-nav ul li a{
	display: block;
	padding:0;
	height: 65px;
	color:#3c3e43;
	line-height: 65px;
	margin-right: 0;
}


#header .main-nav ul li a:hover,
#header .social-nav ul li a:hover{
	color:#00457c;
}
@media screen and (min-width: 998px) {
	#header .main-nav{
		display: block!important;
	}
	#header .logo{
		text-align: center;
	}
	#header .logo img{
		max-height:65px;
		margin:15px auto 0 auto;
	}


	/* HOME ===================================== */
	.home #header .logo{
		background-color: #ffffff;
		background-color: rgb(255, 255, 255);
		margin-top: 0;	
		min-height:290px;
		height:290px;
	}
	.home #header .main-nav{
		background-color: #282828;
		background-color: rgba(10, 10, 10, 0.9);
		color:#ffffff;
	}
	.home #header .social-nav{
		background-color: #282828;
		background-color: rgba(10, 10, 10, 0.9);
		color:#ffffff;
	}
	.home #header .social-nav ul li a{
		color:#ffffff;
	}
	.home #header .main-nav ul li a:hover,
	.home #header .social-nav ul li a:hover{
		color:#ffffff;
	}
	.home #header .main-nav ul li a{
		color:#ffffff;
	}

	.home #header .logo img {
	    max-height: 65px;
	    margin: 110px auto 0px;
	}
	.home #content {
	    padding: 5px 30px 10px 100px;
		min-height:225px;

	}
	.home #content h1 {
	    padding: 0;
	    margin:10px 0 0 0;
	    line-height: 40px;
	    margin-bottom: 10px;

	}
}
@media screen and (max-width: 1180px) {
	#header .main-nav ul li a:hover, #header .social-nav ul li a:hover{text-decoration:none;}
	#header .main-nav ul li a{
		padding:0 5px;
	}
	#header .social-nav ul li a{
		padding:0 3px;
	}
	.cs{
		right:0;
		left:0;
	}
}
@media screen and (max-width: 997px) {
	#header, #header .logo{
		height:65px;
		margin-top: 0;
	}
	#header .logo img{
		max-height:65px;
	}
	#header .social-nav{
		height: 65px;
		margin-top:0;
		font-size: 17px;
	}
	#header .social-nav img{
		height: 30px;
		width: 30px;
	}
	#top-white{
		display: none;
	}
	#header-fix{
		left:40px;
	}
	#content-fix{
		left:40px;
		top:65px;
	}
	#header .main-nav{
		display: none;
		height: auto;
		padding-top: 20px;
		background-color: #282828;
		background-color: rgba(21, 67, 126, 0.9);
		padding-bottom: 20px;
		position: fixed;
		top:65px;
		bottom:0;
		right:0;
		left:40px;
	}
	#header .main-nav ul{
		padding:0;
		margin:0;
	}
	#header .main-nav ul li{
		display: block;
	}
	#header .main-nav ul li a{
		display: block;
		padding:10px 10px;
		height: inherit;
		line-height: inherit;
		font-size: 20px;
		color:#F0F0F0;
	}
	#header .main-nav ul li a:hover{
		color:#F0F0F0;
	}
	#header .logo img{
		max-height:50px;
		margin-top: 7px;
	}
}

@media screen and (max-width: 770px) {
	#content{
		padding-top: 30px;
		padding-bottom: 30px;
		padding-right: 20px;
		padding-left: 60px;
	}
	#header .logo img{
		max-height:50px;
		margin-top: 7px;
	}

}
@media screen and (max-width: 480px) {
	#header, #header .logo{
		height:50px;
	}
	#header .logo img{
		max-height:37px;
		margin-top: 7px;
	}
	#header .social-nav{
		height: 50px;
		margin-top:0;
		padding-left: 0px;
	}
	#header .social-nav ul li a{
		padding:0 1px;
		height: 50px;
		line-height: 50px;
	}
	#content-fix{
		top:50px;
	}
	#content{
		padding-top: 30px;
		padding-bottom: 30px;
		padding-right: 20px;
		padding-left: 20px;
	}
	#header .social-nav img{
		height: 26px;
		width: 26px;
	}
	#header .main-nav{
		top:50px;
	}
}



/* SERVICES ===================================== */
.bloc-services{
	padding-right: 35px;
}
.bloc-services h2{
	margin-bottom: 3px;
}
.bloc-services .btn{
	min-width: auto;
}

@media screen and (max-width: 480px) {
	.bloc-services{
		padding-left: 40px;
		padding-right: 20px;
	}
}
/* ABOUT US ================================= */
.user-profile{
	display: block;
	clear:both;
	margin-bottom: 20px;
}

/* PROJECT GALLERY ========================== */
.project{
	position: relative;
	display: block;
	line-height: 150px;
	margin-bottom: 30px;
	cursor: pointer;
}
.project .project_overlay{
	position: absolute;
	top:0;
	bottom:0;
	right:0;
	left: 0;
	background-color: rgba(0, 121, 195, 0.8);
	z-index: 10;
	text-align: center;
	opacity:0;
}
.project:hover .project_overlay{
	opacity: 1;
}

@media screen and (max-width: 1180px) {
	.project:hover .project_overlay{
		opacity: 0;
	}
}

a.project .project_overlay span{
	font-size:40px;
	color:#ffffff;
}
.project .project_thumb{
}
.mfp-iframe-holder .mfp-close, .mfp-image-holder .mfp-close {
    color: #FFF;
    right: -6px;
    text-align: right;
    padding-right: 6px;
    width: 30px;
}
.mfp-close {
    width: 30px;
    height: 30px;
    line-height: 30px;
    position: absolute;
    right: 10px;
    top: 10px;
    text-decoration: none;
    text-align: center;
    opacity: 0.9;
    padding: 0px;
    color: #343434;
    background-color: transparent !important;
    border-radius: 15px;
    font-style: normal;
    font-size: 28px;
    font-family: Arial,Baskerville,monospace;
}
.mfp-arrow-left, .mfp-arrow-right {
    text-align: center;
    height: 36px;
    width: 36px;
    border-radius: 18px;
    color: #DBDBDB;
    font-size: 20px;
    line-height: 36px;
    background-color: #616161;
    display: block;
}
.mfp-arrow-right {
    right: 10px;
}
.mfp-image-holder .mfp-content {
    max-width: 1170px;
}

/* CONTACT US ======================================== */
#inscript{
	font-size: 15px;
}
.form_subject{
	min-height:30px;
	line-height: 30px;
	font-size: 18px;
	display: block;
	margin-bottom: 10px;

}
.form_subject .radio-inline{
	min-height:30px;
	line-height: 30px;
	font-size: 16px;
	margin-left: 10px;

}
.form_subject .radio-inline input[type="checkbox"], input[type="radio"] {
    margin: 9px 0px 0px;
    line-height: normal;
}
.form-control{
	font-size: 15px;
}