/*
	PAGES
	Styles for page templates

	SUMMARY
	News
	Search
	Contact
	Join Us
	Studies / Data Solutions
	Newsletter
*/

@media (min-width:640px) {
	.page-content-standard .page-inside {
		padding: 80px;
	}
}

/*-----------------------------------------------------------------------
  == News
----------------------------------------------------------------------- */
@media (max-width:639px) {
	.page-template-news .form-filters .select-field {
		display: block !important;
		margin: 0 auto;
	}
	.page-template-news .form-filters .select-field:not(:last-of-type) {
		margin-bottom: 20px;
	}
}

/*-----------------------------------------------------------------------
  == Search
----------------------------------------------------------------------- */
.search-wrap {
	padding: 200px 35px 0;
}
@media (max-width:639px) {
	.search-wrap {
		padding: 100px 0 0;
	}
}
.search-wrap .grid25, .search-wrap .grid100 {
	padding: 30px;
}
@media (min-width:640px) and (max-width:989px) {
	.search-wrap .grid25 {
		width: 50%;
	}
}
@media (max-width:639px) {
	.search-wrap .grid25 {
		display: block;
		width: auto;
	}
}
.search-title {
	font-size: 20px;
	font-weight: 700;
	text-transform: uppercase;
}
input#search {
	display: block;
	padding: 0;
	width: 100%;
	border: 0;
	font-size: 90px;
	line-height: 1;
	font-weight: 500;
	text-transform: uppercase;
	color: #1d4b84;
}
@media (max-width:639px) {
	input#search {
		font-size: 45px;
	}
}
input#search:focus {
	outline: none;
}
.search-instructions {
	margin-bottom: 35px;
	font-style: italic;
	font-family: 'Droid Serif', serif;
	font-size: 16px;
}
#search-filters {
	padding-bottom: 5px;
	border-bottom: 1px solid #ccc;
}
#search-filters li {
	display: inline-block;
	vertical-align: middle;
	margin-right: 40px;
	padding: 5px 0;
	cursor: pointer;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 16px;
	transition: color .1s ease-out;
}
#search-filters li span {
	color: #006eba;
}
#search-filters li.active, #search-filters li.active span,
#search-filters li:hover, #search-filters li:hover span {
	color: #a2a2a2;
}
#search-results .mix {
	display: none;
}
.search-result-type {
	margin-bottom: 20px;
	padding-bottom: 10px;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 16px;
	line-height: 1;
	border-bottom: 1px solid #ccc;
}
.search-result-title {
	margin-bottom: 15px;
	font-size: 22px;
	font-family: 'Droid Serif', serif;
	font-style: italic;
	font-weight: bold;
	line-height: 1.3;
}
.search-result-title a {
	text-decoration: none;
}
.search-result-title a:hover, .search-result-title a:focus {
	text-decoration: underline;
}

/*-----------------------------------------------------------------------
  == Contact
----------------------------------------------------------------------- */
@media only screen and (max-width:989px) {
	.page-cover-contact {
		position: relative;
		height: 800px;
	}
}
@media only screen and (min-width:990px) {
	.page-cover-contact {
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		width: 50%;
		overflow: hidden;
	}
}
.page-template-about .header-logo {
	display: none;
}
.page-template-about .page-cover {
	background: #F1F1F1;
}
.about-logo {
	display: block;
	margin: 0 auto;
	max-width: 500px;
}
.contact-head {
	background: rgba(255,255,255,.9);
	text-align: center;
}
.contact-head {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 35%;
	z-index: 2;
}
.contact-head .page-title {
	margin-bottom: 30px;
}
.contact-head .social-links {
	padding-top: 20px;
}
.contact-head .social-links:before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -9px;
	width: 18px;
	height: 1px;
	background: #000;
}
.contact-head-content {
	padding-top: 50px;
}
.contact-details {
	margin-bottom: 20px;
}
.contact-details h2 {
	margin-bottom: 10px;
	font-family: 'Droid Serif', serif;
	font-weight: 700;
	font-style: italic;
	font-size: 26px;
	line-height: 1;
}
.contact-details p {
	font-size: 18px;
	font-weight: 300;
}
.contact-main {
	padding: 75px;
}
@media only screen and (max-height:800px) and (min-width:990px) {
	.contact-head .page-title {
		margin-bottom: 20px;
		padding-bottom: 0 !important;
		font-size: 30px;
	}
	.contact-head .page-title:after {
		content: none;
	}
	.contact-details h2 {
		font-size: 20px;
	}
	.contact-head-content {
		padding-top: 80px;
	}
}
@media only screen and (max-width:989px) {
	.contact-main {
		padding: 30px;
	}
}

/* Google Map */
#gmap {
	width: 100%;
	height: 100%;
}
#gmap .infoBox > img {
	z-index: 999; /* Make the close button reachable */
}
.gmap-infobox {
    background: #1d4b84;
    color: #fff;
    font-family: "futura-pt", sans-serif;
    font-size: 18px;
    text-align: center;
    box-shadow: 5px 0 0 rgba(0,0,0,.2);
}
.gmap-infobox div {
	position: relative;
	padding: 8px 10px;
}
.gmap-infobox div:after {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -9px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 12px 9px 0 9px;
	border-color: #1d4b84 transparent transparent transparent;
}

/* Directory search */
#directory-form {
	padding-bottom: 20px;
}
#directory-form input[type=text] {
	display: inline-block;
	vertical-align: top;
	max-width: 100%;
	padding: 8px 8px 7px;
	border: 1px solid #000;
	background: #fff;
	font-size: 15px;
	transition: background-color .1s ease-out;
}
#directory-form input[type=text]:focus {
	outline: none;
	background: #f9f9fb;
}
.contact-select-service {
	width: 230px;
	display: inline-block;
	vertical-align: top;
	padding: 0 5px;
}
.contact-select-service select {
	max-width: 100%;
	cursor: pointer;
}

/* Directory listing */
.directory-table {
	width: 100% !important;
	font-size: 14px;
	line-height: 1.3
}
.directory-service {
	background: #fff;
	color: #1d4b84;
	text-transform: uppercase;
	font-size: 16px;
	font-weight: 500;
}
.directory-service > td {
	padding: 65px 3px 2px 3px;
}
.directory-service:first-of-type > td {
	padding-top: 0;
}
.directory-labels {
	background: #1d4b84;
	color: #fff;
}
.directory-labels > td {
	padding: 3px;
	line-height: 1;
}
.directory-labels > .cell-name {
	width: 28%;
}
.directory-labels > .cell-job {
	width: 26%;
}
.directory-labels > .cell-nb{
	width: 16%;
}
.directory-labels > .cell-email {
	width: 30%;
}
.directory-contact > td {
	padding: 8px 3px;
}
.directory-contact:nth-of-type(even) > td {
	background: #f9f9fb;
}
@media (max-width:1200px) {
	.directory-table, .directory-table tbody, .directory-table tr, .directory-table td {
		display: block;
	}
	.directory-table tr.directory-labels {
		display: none;
	}
	.directory-contact > td {
		padding: 5px;
	}
}

/*-----------------------------------------------------------------------
  == Join Us
----------------------------------------------------------------------- */

/* Join us page
------------------------- */
.joinus-bgfull {
	height: auto;
	min-height: 100%;
	max-width: none;
	width: 100%;
}
.joinus-cover-content {
	padding-bottom: 200px;
}
@media only screen and (min-width:640px) {
	.joinus-cover-content .page-title br {
		display: none;
	}
}
.joinus-title {
	margin-bottom: 50px;
	font-style: italic;
	font-weight: bold;
	text-align: center;
	font-family: 'Droid Serif', serif;
	font-size: 26px;
	line-height: 1.3;
}
@media only screen and (max-width:639px) {
	.joinus-title {
		font-size: 20px;
	}
}
.joinus-apply-title {
	margin-bottom: 20px;
}
.joinus-apply-content p {
	margin-bottom: 20px;
}
.joinus-apply-content p:last-child {
	margin-bottom: 0;
}
.page-template-join-us .grid100, .page-template-join-us .grid50 {
	padding: 40px;
}
@media only screen and (max-width:639px) {
	.page-template-join-us .grid100, .page-template-join-us .grid50 {
		padding: 40px 0;
	}
}
.lastJobs-title {
	max-width: 200px;
	margin-bottom: 25px;
	padding: 5px 0;
	background: #000;
	color: #fff;
	text-transform: uppercase;
	text-align: center;
	line-height: 1;
	font-size: 14px;
}
.lastJob-item {
	max-width: 200px;
	margin-bottom: 50px;
}
.lastJob-item:last-of-type {
	margin-bottom: 0;
}
.lastJob-title {
	margin-bottom: 5px;
}
.lastJob-data {
	color: #1d4b84;
}
.lastJob-more {
	text-transform: uppercase;
	text-decoration: none;
	color: #000;
	font-size: 13px;
	font-weight: 500;
}
.lastJob-more:hover span {
	text-decoration: underline;
}
.lastJob-more:before {
	content: '>';
	display: inline-block;
	margin-right: 5px;
}

/* Single job/internship
------------------------- */
.single-job .small-title, .single-internship .small-title {
	margin-bottom: 20px;
}
.single-job .grid100, .single-internship .grid100,
.single-job .grid50, .single-internship .grid50 {
	padding: 40px;
}
@media only screen and (max-width:639px) {
	.single-job .grid100, .single-internship .grid100,
	.single-job .grid50, .single-internship .grid50 {
		padding: 40px 0;
	}
}
@media print {
	.single-job .grid100, .single-internship .grid100,
	.single-job .grid50, .single-internship .grid50 {
		padding: 0;
	}
}

/*-----------------------------------------------------------------------
  == Studies & Data Solutions
----------------------------------------------------------------------- */

/* All studies / solutions
------------------------- */

/* Cover column */
.studies-cover-content .page-title, .data-cover-content .page-title {
	margin-bottom: 30px;
}
.studies-details, .data-details {
	padding: 0 20%;
	font-weight: 500;
}
@media (max-width:639px) {
	.studies-details, .data-details {
		padding: 0 10%;
	}
}
.data-details {
	color: #fff;
}
.studies-details h2, .data-details h2 {
	margin-bottom: 10px;
	font-family: 'Droid Serif', serif;
	font-weight: 700;
	font-style: italic;
	font-size: 26px;
	line-height: 1;
}

/* Main missions */
#missions {
	margin-bottom: 60px;
}
.main-mission {
	margin-bottom: 30px;
	text-align: center;
}
.main-mission-content {
	margin-bottom: 20px;
}
.main-mission-inside {
	padding: 60px 60px 0;
}
.main-mission-nb {
	display: block;
	font-family: 'Droid Serif', serif;
	font-size: 38px;
	line-height: 1;
}
.main-mission-title {
	margin-bottom: 10px;
	font-weight: 700;
	font-size: 20px;
	text-transform: uppercase;
}
.main-mission-btn {
	display: block;
	margin: 0 auto;
	width: 250px;
	position: relative;
	border: 0;
	background: transparent;
	text-transform: uppercase;
	font-size: 15px;
	font-weight: 500;
	z-index: 3;
	cursor: pointer;
}
@media (max-width:639px) {
	.main-mission-inside {
		padding: 60px 20px 0;
	}
	.main-mission-btn {
		width: 100%;
	}
}
.main-mission-btn:focus {
	outline: none;
}
.main-mission-btn:before {
	content: '+';
	position: absolute;
	bottom: -18px;
	left: 0;
	right: 0;
	color: #fff;
	line-height: 1;
	font-size: 13px;
	z-index: 5;
}
.main-mission-btn.is-open:before {
	content: '–';
}
.main-mission-btn:after {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	z-index: 4;
	margin-left: -30px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 30px 30px 0 30px;
	border-color: #000000 transparent transparent transparent;
}

/* Sub missions */
.sub-missions {
	text-align: center;
}
.sub-mission {
	position: relative;
	text-align: center;
}
.sub-mission-content, .solution-content {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 0 30px 18px;
	z-index: 2;
}
.solution-content {
	padding: 0 5px 18px;
}
@media (max-width:639px) {
	.sub-mission-content .btn {
		padding: 10px;
	}
	.sub-mission-content .btn:after {
		margin-left: 10px;
	}
}
.solution-content {
	padding-bottom: 25px;
}
.sub-mission-img, .solution-img {
	display: block;
}
.sub-mission-desc {
	position: absolute;
	top: 18px;
	left: 10px;
	right: 10px;
	padding-bottom: 10px;
	color: #fff;
	text-transform: uppercase;
	font-weight: 700;
	line-height: 1.2
}
.sub-mission-title {
	margin-bottom: 20px;
	font-family: 'Droid Serif', serif;
	font-weight: bold;
	font-style: italic;
	font-size: 30px;
	line-height: 1.1;
	color: #fff;
}
.solution-title {
	padding: 10px 0;
	position: relative;
	color: #fff;
	text-transform: uppercase;
	font-weight: 700;
	line-height: 1.2;
	-webkit-transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	-ms-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
}
.solution-title:before, .solution-title:after {
	content: '';
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    width: 18px;
    height: 1px;
    background: #FFF;
	opacity: 0;
	-webkit-transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	-ms-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
}
.solution-title:before {
    top: 0;
	opacity: 0;
}
.solution-title:after {
    bottom: 0;
	opacity: 1;
}
.solution a:hover .solution-title {
	padding-bottom: 0;
}
.solution a:hover .solution-title:before {
	opacity: 1;
}
.solution a:hover .solution-title:after {
	opacity: 0;
}

/* Single study
------------------------- */
#studies-carousel-wrap {
	 width: 100%;
}
.studyBox {
	position: relative;
	padding: 0 !important;
}
.studyBox-img {
	display: block;
}
.studyBox-content {
	position: absolute;
	bottom: 15px;
	left: 0;
	right: 0;
	text-align: center;
}
.studyBox-date {
	display: block;
	margin-bottom: 10%;
	font-family: 'Droid Serif', serif;
	font-weight: bold;
	font-style: italic;
	font-size: 30px;
	line-height: 1.1;
	color: #fff;
}

/*-----------------------------------------------------------------------
  == Newsletter
----------------------------------------------------------------------- */
.page-title-newsletter {
	margin-bottom: 30px;
	text-align: center;
}
.newsletter-intro {
	margin-bottom: 50px;
	font-style: italic;
	font-weight: bold;
	text-align: center;
	font-family: 'Droid Serif', serif;
	font-size: 26px;
	line-height: 1.3;
}
.newsletter-form {
	margin: 30px auto;
	max-width: 550px;
}
.newsletter-form input[type=text], .newsletter-form input[type=email] {
	width: 100% !important;
}
.newsletter-form .gfield_checkbox {
	margin-top: 50px !important;
}
.newsletter-form .gfield_checkbox li {
	display: inline-block;
	margin-right: 30px !important;
}

/*-----------------------------------------------------------------------
  == Skills
----------------------------------------------------------------------- */
.skills-cover-title {
	margin-bottom: 10px;
	font-size: 26px;
	line-height: 1;
	text-transform: uppercase;
	font-weight: 400;
	color: #fff;
}
.skills-details {
	padding: 0 20%;
	color: #fff;
}
@media (max-width:639px) {
	.skills-details {
		padding: 0 10%;
	}
}
.skill-item {
	display: block;
	position: relative;
	padding: 30px;
	text-align: center;
	text-decoration: none;
	color: #000;
}
@media (max-width:989px), (min-width:1300px) {
	.skills .grid33:nth-child(odd) .skill-item {
		background: #f8f8f8;
	}
}
@media (min-width:990px) and (max-width:1299px) {
	.page-template-skills .grid33 {
		width: 50%;
	}
	.skills .grid33:nth-child(4n) .skill-item, .skills .grid33:nth-child(4n+1) .skill-item {
		background: #f8f8f8;
	}
}
.skill-picto {
	position: relative;
	height: 120px;
	margin-bottom: 15px;
}
.skill-picto-img {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
}
.skill-picto-img img {
	display: block;
	margin: 0 auto;
}
.skill-name {
	margin-bottom: 10px;
	padding-bottom: 10px;
	text-transform: uppercase;
	font-size: 18px;
	line-height: 1;
	font-weight: 400;
}
.skill-link {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 30px 30px;
	border-color: transparent transparent #000000 transparent;
	transition: .1s all ease-in-out;
}
.skill-item::after {
	content: '+';
	color: #fff;
	position: absolute;
	bottom: 0;
	right: 3px;
	line-height: 1;
	z-index: 2;
	transition: .1s all ease-in-out;
}
.skill-item:hover .skill-link {
	border-width: 0 0 40px 40px;
	border-color: transparent transparent #1d4b84 transparent;
}
.skill-item:hover::after {
	bottom: 3px;
	right: 6px;
}

/*-----------------------------------------------------------------------
  == Maintenance page
----------------------------------------------------------------------- */
/* Pre-prod */
.page-id-3950 .header-logo, .page-id-3950 #menu-btn, .page-id-3950 #close-btn, .page-id-3950 #mobile-menu, .page-id-3950 #search-btn, .page-id-3950 .page-cover {
	display: none;
}
.page-id-3950 .page-content {
	padding-left: 0;
}
/* Prod */
.page-id-4266 .header-logo, .page-id-4266 #menu-btn, .page-id-4266 #close-btn, .page-id-4266 #mobile-menu, .page-id-4266 #search-btn, .page-id-4266 .page-cover {
	display: none;
}
.page-id-4266 .page-content {
	padding-left: 0;
}