/*!
Theme Name: so-mg
Theme URI: http://www.so-mg.com
Author: Thomas Fourdin
Author URI: http://www.thomas-fourdin.net
Description: Théme dédié au site so-mg.com
Version: 1.0.0
Text Domain: so-mg
*/
@import url('https://fonts.googleapis.com/css?family=Nunito:400,400i,700&display=swap');
/* Identity
Bleu 1 : rgb(20, 117, 144);
Bleu 2 : rgb(49, 137, 161);
Bleu 3 : rgb(71, 180, 191);
Bleu 4 : rgb(65, 169, 197);
Orangé : rgb(224, 73, 39);
Gris : rgb(178, 178, 178);
Jauni : rgb(222, 160, 65);
Gris texte : rgb(88, 88, 88);
*/

/* General */
*, *::before, *::after {
	box-sizing: border-box;
}
body {
	padding: 0;
	margin: 0;
	font-size: 110%;
}

/* Tools */
@media screen and (min-width: 60rem) {
	.mobile-only {
		display: none !important;
	}
}

/* Accessibilté */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}
#content[tabindex="-1"]:focus {
	outline: 0;
}

/* Media */
.aligncenter {
	display: block;
	margin: 0 auto;
}
.wp-caption {
	margin-bottom: 2rem;
}
.wp-caption-text {
	color: #888;
	font-style: italic;
	text-align: center;
}

/* Typography */
body {
	font-family: 'Nunito', Arial, sans-serif;
  color: rgb(88, 88, 88);
  line-height: 1.5;
}
h1 {
	font-weight: normal;
	font-size: 150%;
	color: rgb(20, 117, 144);
	margin: 0 0 2rem;
	line-height: 1.15;
}
@media screen and (min-width: 60rem) {
	h1 {
		font-size: 200%;
	}
}
h2 {
	font-size: 125%;
}
@media screen and (min-width: 60rem) {
	h2 {
		font-size: 150%;
	}
}
.content h2 {
	margin-top: 4rem;
}
a:link, a:visited {
	color: rgb(20, 117, 144);
}
a:focus, a:hover {
	color: rgb(222, 160, 65);
}
input[type=submit], button, .button, .button:visited {
	display: inline-block;
	padding: 0.25rem 0.5rem;
	border-radius: 2px;
	border: 1px solid rgb(222, 160, 65);
	background: transparent;
	color: rgb(222, 160, 65) !important;
	text-decoration: none;
	font-size: 100%;
	font-family: 'Nunito', Arial, sans-serif;	
}
input[type=submit]:hover, input[type=submit]:focus, button:hover, button:focus, .button:hover, .button:focus, a:hover .button, a:focus .button {
	background: rgb(222, 160, 65);
	color: white !important;
	/* box-shadow: 0 5px 4px rgb(222, 160, 65, .55); */
	cursor: pointer;
}
input[type=submit]:focus, button:focus, .button:focus {
	outline: none !important;
}
input[type=submit]::-moz-focus-inner, button::-moz-focus-inner, .button:::-moz-focus-inner {
	border: 0 !important;
}
.button-dark, .button-dark:visited {
	background: white;
	color: rgb(222, 160, 65) !important;
}
.button-dark:hover, .button-dark:focus, a:hover .button, a:focus .button {
	background: rgb(222, 160, 65);
	color: white !important;
}
.button-full, .button-full visited {
	background: rgb(222, 160, 65);
	color: white !important;
}
.link-all {
	text-align: right;
}
.link-back {
	text-align: center;
}
.read-more {
	color: rgb(222, 160, 65);
	text-decoration: underline;
}
blockquote {
	margin: 0 0 1rem;
	padding: 0 1rem;
	color: #666;
}
blockquote p {
	position: relative;
}
blockquote p:first-child {
	margin-top: 0;
}
blockquote > p:first-of-type::before {
	content: "« ";
}
blockquote > p:last-of-type::after {
	content: " »";
}
blockquote footer {
	font-size: 1rem;
	color: rgb(20, 117, 144);
	font-style: italic;
}
blockquote footer p {
	margin: 0;
}

/* Forms */
input[type=text], input[type=email], input[type=tel], input[type=url], input[type=search], input[type=password], textarea {
	max-width: 100%;
	margin-bottom: .25rem;
	padding: 0.25rem 0.5rem;
	border: 1px solid #BBB;
	border-radius: 3px;
	background: #FAFAFA;
	font-size: 100%;
	font-family: 'Nunito', Arial, sans-serif;
}
::placeholder {
	color: #666;
	font-style: italic;
}
fieldset {
	padding: 0;
	border: none;
}
label {
	display: block;
	color: #666;
	font-weight: bold;
}
input[type=checkbox] + label {
	display: inline;
}
.required {
	color: red;
}

/* Layout */
main {
	min-height: 60vh;
}
.wrap {
	position: relative;
	max-width: 100%;
	margin: 0 1rem;
	overflow: hidden;
}
@media screen and (min-width: 60rem) {
	.wrap {
		width: 100%;
		max-width: 1200px;
		margin: 0 auto;
	}
	.wrap *:first-child {
		margin-top: 0;
	}
	.wrap-columns-2-1, .wrap-columns-1-2 {
		display: table;
	}
	.wrap-columns-2-1 > *:nth-child(1), .wrap-columns-1-2 > *:nth-child(2) {
		display: table-cell;
		vertical-align: middle;
		width: 66.66%;
	}
	.wrap-columns-2-1 > *:nth-child(2), .wrap-columns-1-2 > *:nth-child(1) {
		display: table-cell;
		vertical-align: middle;
		width: 33.33%;
	}
	.wrap-columns-1-2 > *:nth-child(1) {
		padding-right: 1rem;
	}
	.wrap-columns-2-1 > *:nth-child(2) {
		padding-left: 1rem;
	}
}	
.two-columns {
	display: table;
	width: 100%;
}
.two-columns.same-width-columns {
	table-layout: fixed;
}
.two-columns > * {
	display: table-row;
	vertical-align: top;
}
.two-columns > *:first-child {
	padding: 0 0 2rem;
}
@media screen and (min-width: 60rem) {
	.two-columns > * {
		display: table-cell;
	}
	.two-columns > *:first-child {
		padding: 0 2rem 0 0;
	}
}
img {
	max-width: 100%;
	height: auto;
}

/* Header */
.header-site {
	position: sticky;
	top: 0;
	margin-bottom: 2rem;
	background: #FAFAFA;
	color: rgb(20, 117, 144);
	box-shadow: 0 3px 2px -3px rgba(0, 0, 0, 0.15);
	z-index: 100;
}
.page-template-template-home .header-site, .page-template-template-services .header-site, .page-template-template-activities .header-site, .page-template-template-challenges .header-site, .page-template-template-business-cases .header-site {
	margin-bottom: 0;
}
.header-site-secondary {
	display: none;
	background: rgb(20, 117, 144);
}
@media screen and (min-width: 60rem) {
	.header-site {
		margin-bottom: 6rem;
	}
	.header-site-primary {

	}
	.header-site-primary > .wrap {
		display: table;
		overflow: auto;
	}
	.header-site-secondary {
		display: block;
	}
	.header-site.is-stuck .header-site-secondary {
		display: none;
	}
}
.tools {
	margin: 0;
	padding: 0;
	line-height: 2;
	text-align: right;
	list-style: none outside none;
}
.tools li {
	display: inline;
}
.tools a {
	display: inline-block;
	padding: 0 1rem;	
	text-decoration: none;
	color: white;
	font-size: 100%;
}
.current-lang {
	display: none !important;
}
@media screen and (min-width: 60rem) {
	.tools {
		display: block;
	}
	.tools-highlighted a {
		background: rgb(222, 160, 65);
		margin-bottom: -.5rem;
		color: white !important;
	}
}
.logo {
	text-align: left;
}
.logo img {
	display: inline-block;
	margin: 1rem !important;
	max-height: 4rem;
	width: auto;
	transition: max-height .2s ease;
}
@media screen and (min-width: 60rem) {
	.logo img {
		max-height: 100px;
		margin-right: 5rem;
	}
	.header-site.is-stuck .logo img {
		max-height: 60px;
	}
}
.nav-main-toggle {
	position: absolute;
	top: 1.5rem;
	right: 1rem;
	box-shadow: none;
	border: none;
	background: none;
	text-align: center;
	font-size: 100%;
	color: rgb(20, 117, 144);
	cursor: pointer;
}
.nav-main-toggle svg {
  display: block;
  width: 30px;
  height: 30px;
  margin: 0 auto;
  fill: currentColor;
}
.nav-main > ul {
	display: none;
	clear: both;
	margin: 0;
	padding: 0;
	list-style: none outside none;
}
.nav-main.toggled > ul {
  display: table;
  width: 100%;
}
.nav-main .sub-menu {
	display: table;
	width: 100%;
	padding: 0;
	background: transparent;
	text-align: center;
	z-index: 1000;
}
.nav-main li {
	position: relative;
	display: table-row;
	vertical-align: middle;
}
.nav-main li:hover > ul,
.nav-main li.focus > ul {
	left: 0;
	right: 0;
}
.nav-main a {
	display: block;
	position: relative;
	padding: .5rem;
	text-decoration: none;
	color: #333;
	text-align: center;
	font-size: 110%;
	transition: opacity .2s ease;
}
.nav-main .sub-menu a {
	color: #666;
}
.nav-main .sub-menu a::before {
	content: "- ";
}
.nav-main a:hover, .nav-main a:focus {
	color: rgb(20, 117, 144);
	opacity: .5;
}
.current_page_item > a, .current-page-ancestor > a, .current-menu-item > a, .current-menu-parent > a {
	font-weight: bold;
}
@media screen and (min-width: 60rem) {
	.nav-main-toggle {
		display: none;
	}
	.logo, .nav-main {
		display: table-cell;
		vertical-align: middle;
	}
	.nav-main ul {
		display: table;
		width: 100%;
		height: 100%;
	}
	.nav-main > ul > li {
		display: table-cell;
		vertical-align: middle;
	}
	.nav-main .sub-menu {
		position: absolute;
		float: left;
		top: 100%;
		left: -999em;
		padding: 0;
		background: #FAFAFA;
		box-shadow: 0 3px 2px -3px rgba(0, 0, 0, 0.15);
		text-align: center;
		z-index: 1000;
	}	
	.nav-main a {
		padding: .5rem 2rem;
		font-size: 115%;
	}
	.nav-on a::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
	}
	.nav-main .sub-menu a {
		color: #333;
	}
	.nav-main .sub-menu a::before {
		content: none;
	}	
	.nav-main .lang-item {
		display: none;
	}
}

/* Footer */
.footer-site {
	clear: both;
}
.footer-legals {
	clear: both;
	margin-top: 4rem;
	padding: 1rem 0;
	font-size: 90%;
	background: rgb(20, 117, 144);
	color: white;
}
.footer-legals ul {
	margin: 0;
	padding: 0;
	list-style: none outside none;
	text-align: center;
}
.footer-legals li {
	display: inline;
}
.footer-legals li:not(:first-child)::before {
	content: " - ";
}
.footer-legals a, .footer-legals a:visited {
	color: white;
	text-decoration: none;
}

/* Content layout */
.content, .sidebar {
	margin-bottom: 2rem;
	clear: both;
}
@media screen and (min-width: 60rem) {
	.content, .sidebar {
		margin-bottom: 6rem;
	}
}
@media screen and (min-width: 60rem) {
	.has-sidebar .content {
		margin: 0;
	  float: left;
	  margin-right: 5%;
	  width: 70%;
	}
	.sidebar {
		position: relative;
		margin: 0;
		clear: none;
		float: right;
		width: 25%;
	}
}

/* Content */
.article-title {
	margin-bottom: 0;
	font-size: 250%;
}
.articles-infos {
	margin: 0 0 1rem;
	padding: 0;
	list-style: none outside none;
}
.articles-infos li {
	display: inline;
	color: #818285;
}
.articles-infos li:not(:last-child)::after {
	content: " - ";
}
.articles-infos a {
	color: #818285;
	text-decoration: none;
}
.articles-infos a:hover, .articles-infos a:focus {
	text-decoration: underline;
}
.article-content {
	line-height: 1.5;
}
.article-content p {
	margin-bottom: 1rem;
}
.article-content strong {
	color: rgb(20, 117, 144);
}

/* Sidebar */
.sidebar h3 {
	color: #888;
}
.last-articles {
	margin: 0 0 2rem;
	padding: 0;
	list-style: none outside none;
}
.last-articles li {
	display: block;
	padding-bottom: .5rem;
	margin-bottom: .5rem;
}
.last-articles li:not(:last-child) {
	border-bottom: 1px dashed #888;
}
.last-articles a {
	font-family: 'Nunito', Arial, sans-serif;
	font-weight: normal;
	font-size: 125%;
	color: #007A97;
	text-decoration: none;
}
.last-articles a:hover, .last-articles a:focus {
	text-decoration: underline;
}
.social-linkedin {
	padding: 2rem;
	text-align: center;
	background: rgb(71, 180, 191);
	color: white;
}
.social-linkedin p {
	margin-top: 0;
}

/* Home page */
.home-section {
	clear: both;
	padding: 2rem 0;
}
@media screen and (min-width: 60rem) {
	.home-section {
		padding: 6rem 0;
	}
}
.home-section h2 {
	text-align: center;
	margin: 0 0 2rem;
}
.home-promise {
	position: relative;
	margin-bottom: 0;
	padding: 0;
}
.promise-background {
	display: block;
	width: 100%;
	height: auto;
	max-width: 1600px;
	margin: 0 auto;
}
.home-promise h1 {
	text-align: center;
	margin-top: 1rem;
}
@media screen and (min-width: 60rem) {
	.home-promise .wrap {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
	}	
	.promise-background {
		-webkit-mask-image: linear-gradient(90deg, transparent 0%, rgb(0, 0, 0) 5%, rgb(0, 0, 0) 95%, transparent 100%);
		mask-image: linear-gradient(90deg, transparent 0%, rgb(0, 0, 0) 5%, rgb(0, 0, 0) 95%, transparent 100%);
	}
	.home-promise h1 {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 5%;
		margin-top: 0;
		top: 2%;
		right: 2%;
		bottom: unset;
		left: unset;
		max-width: 50%;
		text-align: right;
	}
	.home-promise h1 span {
		padding: 2px 5px;
		color: #666;
	}	
}

/* Activities */
.home-activities {
	background: rgb(20, 117, 144);
	color: white;
}
.home-activities-bis {
	color: rgb(20, 117, 144);
}
.home-activities p {
	text-align: center;
}
.home-activities-bis p {
	text-align: left;
}
.activities-list {
	display: flex;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
	justify-content: space-evenly;
	list-style: none outside none;
	text-align: center;
}
.activities-list a {
	position: relative;
	flex-grow: 1;
	padding: 2rem .5rem;
	max-width: 18rem;
	text-decoration: none;
	color: white;
}
.home-activities-bis .activities-list a {
	color: rgb(20, 117, 144);
}
.activities-list a::after, .activities-list a::after {
	content: "";
	position: absolute;
	height: 6px;
	border-radius: 3px;
	bottom: 2rem;
	left: 4rem;
	right: 4rem;
	background: transparent;
}
.activities-list .icon-container, .activity-detail .icon-container {
	position: relative;
	width: 8rem;
	height: 8rem;
	margin: 0 auto;
	padding: 1rem;
	background: transparent;
	border-radius: 8rem;
	border: 3px solid currentColor;
}
.activities-list .icon-container {
	opacity: .8;
}
.activity-detail .icon-container {
	float: right;
	border-color: currentColor;
	margin: 0 0 1rem 1rem;
}
.activities-list a:focus, .activities-list a:hover {
	/* color: rgb(178, 178, 178); */
}
.activities-list a:focus::after, .activities-list a:hover::after {
	background: currentColor;
}
.activities-list a:focus .icon-container, .activities-list a:hover .icon-container {
	/* border-color: rgb(178, 178, 178); */
	padding: .75rem;
}
.home-video {
	background: rgb(20, 117, 144);
}
.home-video blockquote, .home-video blockquote footer {
	color: white;
}
@media screen and (min-width: 60rem) {
	.home-video blockquote {
		font-size: 150%;
	}
}

/* Challenges */
.challenges-list {
	display: flex;
	padding: 0;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: space-evenly;
	list-style: none outside none;
	text-align: center;
}
.challenges-list a {
	display: block;
	flex: 1;
	width: 100%;
	margin-bottom: 1rem;
	padding: 1rem;
	text-decoration: none;
	background: rgb(178, 178, 178, .15);
	color: rgb(88, 88, 88);
}
.challenges-list a:last-child {
	margin-bottom: 0;
}
.challenges-list a:focus, .challenges-list a:hover {
	background: rgb(178, 178, 178, .25);
}
.challenges-list h3 {
	margin: 0 0 .25rem;
}
.content.has-picture {
	margin-top: -2rem;
}
.challenges-picture-container {
	position: relative;
}
.challenge-picture-container, .business-case-picture-container {
	position: relative;
	margin: 0 -1rem 1rem;
}
.challenge-picture-container img, .business-case-picture-container img {
	display: block;
	width: 100%;
	height: auto;
}
.challenges-picture {
	position: absolute;
	display: block;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.challenge-diagnostic, .business-case-summary {
	position: relative;
	padding: 1rem 0;
	background: rgb(235, 235, 235);
}
.challenge-approach, .business-case-solutions-results {
	position: relative;
	padding: 1rem 0;
}
.challenge-diagnostic .icon-container, .challenge-approach .icon-container {
	display: none;
	text-align: center;
}
.challenge-diagnostic h2:first-child, .challenge-approach h2:first-child {
	margin-top: 0;
}
.challenge-diagnostic ol, .challenge-approach ol {
	padding: 0;
	list-style-position: inside;
}
.challenge-diagnostic li, .challenge-approach li {
	margin-bottom: 1rem;
}
.challenge-diagnostic li li, .challenge-approach li li {
	margin-bottom: 0;
	font-weight: normal;
	font-size: 90%;
}
@media screen and (min-width: 60rem) {
	.challenges-list {
		margin: -1rem 0;
	}
	.content.has-picture {
		margin-top: -6rem;
	}
	.challenge-picture-container, .business-case-picture-container {
		float: right;
		width: 100%;
		margin: 0;
	}
	.challenge-picture-container img, .business-case-picture-container img {
		max-height: 400px;
		object-fit: cover;
		object-position: center center;
	}
	.has-picture .challenge-intro h1, .has-picture .business-case-intro h1 {
		display: inline-block;
		position: absolute;
		bottom: 2rem;
		max-width: 75%;
		margin: 0;
		padding: .25rem .5rem;		
		background: white;
	}
	.challenge-diagnostic, .business-case-summary {
		position: relative;
		padding: 4rem;
	}
	.challenge-approach, .business-case-solutions-results {
		position: relative;
		padding: 4rem 0 0;
	}
	/* .challenge-diagnostic::before,*/ .challenge-diagnostic::after, /*.business-case-summary::before,*/ .business-case-summary::after {
		content: "V";
		position: absolute;
		display: block;
		width: 4rem;
		height: 4rem;
		top: -2rem;
		left: calc(50% - 2rem);
		border-radius: 2rem;
		text-align: center;
		font-weight: bold;
		line-height: 4rem;
		font-size: 30pt;
		color: white;
		background: rgb(235, 235, 235);
	}
	.challenge-diagnostic::after, .business-case-summary::after {
		top: unset;
		bottom: -2rem;
	}
	.challenge-approach {
		/* border-image-source: linear-gradient(180deg, rgba(224, 73, 39, 1), rgba(224, 73, 39, .25)); */
		margin-bottom: 6rem;
	}
	/*	
	.challenge-diagnostic .icon-container, .challenge-approach .icon-container {
		position: absolute;
		top: 0;
		left: -4.25rem;
		background: white;
	}
	.challenge-detail {
		background: url(images/fond-cas-client.jpg);
		background-size: cover;
		margin-bottom: 0;
	}
	.challenge-detail .wrap {
		background: white;
		padding: 2rem;
	}
	*/
}


/* business cases */
/*
.business-cases-list {
	display: grid;
	grid-template-columns: 100%;
  grid-gap: 4rem;
	list-style: none outside none;
}
.business-cases-list a {
	position: relative;
	display: block;
	height: 10rem;
	padding: 2rem;
	text-decoration: none;
	background: linear-gradient(45deg, transparent 7rem, rgb(178, 178, 178, .25) 7rem);
	color: rgb(88, 88, 88);
}
.business-case-thumbnail {
	position: absolute;
	left: 1rem;
	bottom: .5rem;
	max-width: 8rem;
	max-height: 8rem;
}
.business-cases-list h3 {
	padding-left: 10rem;
	text-align: right;
}
.business-cases-list a:focus, .business-cases-list a:hover {
	background: rgb(178, 178, 178, .35);
}
@media screen and (min-width: 60rem) {
	.business-cases-list {
		grid-template-columns: 50% 50%;
	}
}
*/
.business-cases-list {
	display: flex;
	margin: -1rem 0;
	padding: 0;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: space-evenly;
	list-style: none outside none;
	text-align: center;
}
.business-cases-list a {
	display: block;
	flex: 1;
	width: 100%;
	margin-bottom: 1rem;
	padding: 1rem;
	text-decoration: none;
	background: rgb(178, 178, 178, .15);
	color: rgb(88, 88, 88);
}
.business-cases-list a:last-child {
	margin-bottom: 0;
}
.business-cases-list a:focus, .business-cases-list a:hover {
	background: rgb(178, 178, 178, .25);
}
.business-cases-list h3 {
	margin: 0 0 .25rem;
}
.business-cases-picture-container {
	position: relative;
}
.business-cases-picture {
	position: absolute;
	display: block;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* News */
.home-news {
	background: rgb(20, 117, 144) url(images/filigrane-so-mg.png) no-repeat;
	background-size: auto 90%;
	background-position: 2rem bottom;
	color: white;
}
.home-news h2 {
	text-align: left;
}
.news-item {
	display: block;
	text-decoration: none;
	margin-bottom: 4rem;
	color: rgb(88, 88, 88);
}
.archive .news-item h3, .blog .news-item h3 {
	color: rgb(20, 117, 144);
}
.archive .news-item p, .blog .news-item p {
	color: rgb(88, 88, 88);
}
.home-news .news-item {
	margin-bottom: 1rem;
}
.home-news h3, .home-news ul {
	margin-bottom: .5rem;
}
.home-news .articles-infos li {
	color: white;
	opacity: .8;
}
.home-news p {
	display: none;
}
.home-news p.link-all {
	display: block;
}
.home-news a.news-item, .home-news a.news-item:visited, .home-news a.news-item:hover, .home-news a.news-item:focus {
	color: white;
}
.nav-links {
	position: relative;
	margin: 4rem 0;
	padding-top: 2rem;
	overflow: hidden;
}
.nav-links::before {
	content: "";
	position: absolute;
	display: block;
	height: 1px;
	top: 0;
	left: 33%;
	right: 33%;
	background: #CCC;
}
.page-template-template-activity .nav-links::before, .page-template-template-challenge .nav-links::before, .page-template-template-business-case .nav-links::before {
	content: none;
}
.nav-previous, .nav-next, .link-back-container {
	margin-bottom: .5rem;
}
.nav-previous a::before {
	content: "\00ab  ";
	color: rgb(88, 88, 88);
	text-decoration: none;
}
.nav-next {
	text-align: right;
}
.nav-next a::after {
	content: " \00bb";
	color: rgb(88, 88, 88);
	text-decoration: none;
}
@media screen and (min-width: 60rem) {
	.nav-links {
		display: table;
		table-layout: fixed;
		width: 100%;
	}
	.nav-previous, .nav-next, .link-back-container {
		display: table-cell;
		margin: 0;
		vertical-align: top;
		width: 50%;
	}
	.nav-links-3 .nav-previous, .nav-links-3 .nav-next, .nav-links-3 .link-back-container {
		width: 33%;
	}
	.nav-links .link-back {
		margin: 0;
	}
}

/* Activities page */
.activity-detail {
	margin-top: 6rem;
}
@media screen and (min-width: 60rem) {
	.activity-detail .icon {
		float: right;
	}
}

/* Equipe */
.team-list {
	display: flex;
	margin: 0 -1rem;
	padding: 0;
	flex-wrap: wrap;
	justify-content: space-evenly;
	list-style: none outside none;
}
.team-item {
	position: relative;
	width: 100%;
	max-width: 18rem;
	margin: 0 .5rem 1rem;
}
a.team-item {
	color: white;
	text-decoration: none;	
}
.team-thumbnail {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	object-position: top center;
}
.team-thumbnail-recto {
	
}
.team-thumbnail-verso {
	display: none;
}
.team-item:focus .team-thumbnail-verso, .team-item:hover .team-thumbnail-verso, .team-photo-container:focus .team-thumbnail-verso, .team-photo-container:hover .team-thumbnail-verso {
	display: block;
}
.team-item:focus .team-thumbnail-recto, .team-item:hover .team-thumbnail-recto, .team-photo-container:focus .team-thumbnail-recto, .team-photo-container:hover .team-thumbnail-recto {
	display: none;
}
.team-photo-container {
	width: 25%
}
.team-photo {
	width: 100%;
	height: auto;
}
.team-preview {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 1rem 1rem;
	text-align: center;
}
.team-preview h3 {
	display: block;
	background: rgb(0,0,0,.5);
	margin-bottom: 0;
}
.team-summary {
	background: rgb(0,0,0,.5);
	margin-bottom: 0;
}
.team-item .button {
	margin: 1rem auto 0;
}
@media screen and (min-width: 60rem) {
	.team-summary {
		display: none;
	}
	.team-item {
		width: calc(25% - 1rem);
		max-width: none;
	}
	.team-item:focus .team-summary, .team-item:hover .team-summary {
		display: block;
	}
}
.careers-item {
	position: relative;
	flex: 1;
	min-width: 18rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
	margin: 0 .5rem 1rem;
	background: #EEE;
	text-align: center;
	min-height: 33%;
}
.careers-picture {
	display: block;
	width: 100%;
}
.careers-text {
	width: 100%;
	padding: .25rem 1rem;
	text-align: center;
	background: rgb(0,0,0,.75);
	color: white;
}
.careers-text a {
	color: white;
}
.careers-text p {
	margin: 0;
}
@media screen and (min-width: 60rem) {
	.careers-text {
		line-height: 2rem;
	}
}
/* Timeline : OLD */
/* .timeline {
	display: flex;
	margin-bottom: 2rem;
	padding: 0;
	flex-direction: column;
	flex-wrap: no-wrap;
	justify-content: space-between;
	list-style: none outside none;
}
.timeline li {
	position: relative;
	flex: 1;
	text-align: left;
}
.timeline-date {
	display: block;
	float: left;
	width: 25%;
	padding-right: 1rem;
	text-align: right;
	color: rgb(20, 117, 144);
	font-size: 150%;
	font-weight: bold;
}
.timeline-event {
	position: relative;
	display: block;
	float: right;
	width: 75%;
	padding: 0 1rem 1rem 1rem;
	border-left: 1px solid rgb(20, 117, 144);	
}
.timeline-event::after {
	content: "";
	position: absolute;
	top: .75rem;
	left: -3px;
	width: 6px;
	height: 6px;
	border-radius: 3px;
	border: 1px solid rgb(20, 117, 144);
	background: rgb(20, 117, 144);	
	z-index: 10;
}	
@media screen and (min-width: 60rem) {
	.timeline {
		flex-direction: row;
		margin-bottom: 8rem;
	}
	.timeline li {
		position: relative;
		flex: 1;
		text-align: center;
		height: 10rem;
		margin: 0;
	}
	.timeline li::before {
		content: "";
		position: absolute;
		height: 1px;
		top: 50%;
		left: 0;
		right: 0;
		background: rgba(20, 117, 144, .5);
	}
	.timeline li::after {
		content: "";
		position: absolute;
		top: calc(50% - 3px);
		left: calc(50% - 3px);
		width: 6px;
		height: 6px;
		border-radius: 3px;
		border: 1px solid rgb(20, 117, 144);
		background: rgb(20, 117, 144);
	}
	.timeline-date {
		position: absolute;
		display: block;
		top: 2.5rem;
		left: 0;
		right: 0;
		width: 100%;
		text-align: center;
	}
	li:nth-child(even) .timeline-date {
		top: auto;
		bottom: 2.5rem;
	}
	.timeline-event {
		position: absolute;
		display: none;
		width: auto;
		top: 6rem;
		right: 0;
		left: 0;
		margin: 0 1rem;
		padding: .5rem 1rem;
		background: rgb(224, 73, 39);
		color: white;
		text-align: center;
		border: none;
	}
	.timeline-event::after {
		content: none;
	}	
	li:nth-child(even) .timeline-event {
		top: auto;
		bottom: 6rem;
	}
	.timeline li:hover {
		flex: 2;
		cursor: pointer;
	}
	.timeline li:hover::after {
		background-color: rgb(224, 73, 39);
		border-color: rgb(224, 73, 39);
	}
	.timeline li:hover .timeline-date {
		color: rgb(224, 73, 39);
	}
	.timeline li:hover .timeline-event {
		display: block;
		width: auto;
	}
}*/

.timeline {
	display: flex;
	margin-bottom: 2rem;
	padding: 0;
	flex-direction: column;
	flex-wrap: no-wrap;
	justify-content: space-between;
	list-style: none outside none;
}
.timeline li {
	position: relative;
	flex: 1;
	margin-bottom: 2rem;
	text-align: center;
}
.timeline-date {
	display: block;
	font-weight: bold;
}
.timeline-event {
	display: block;
	line-height: 1.25;
}
.timeline-icon-container {
	display: block;
	width: 50px;
	height: 50px;
	margin: 10px auto;
	padding: 5px;
	border-radius: 25px;
	background: #DDD;
}
.timeline-icon-highlighted {
	background: rgb(222, 160, 65);
}
@media screen and (min-width: 60rem) {
	.timeline {
		display: flex;
		height: 21rem;
		flex-direction: row;
		margin: 0 3rem 5rem;
	}
	.timeline::before {
		content: "";
		position: absolute;
		display: block;
		width: 100%;
		height: 1rem;
		margin: 10rem -3rem 0;
		background: rgb(20, 117, 144);
	}
	.timeline li {
		position: relative;
		display: flex;
		flex-direction: column;
		flex: 1;
		text-align: center;
		height: 10rem;
		margin: 0 -3rem;
	}
	.timeline li:nth-child(even) {
		position: relative;
		top: 13rem;
	}
	.timeline li:nth-child(odd) .timeline-icon-container {
		order: 1;
	}
	.timeline-event {
		height: 3.75rem;
		display: flex;
		flex-direction: column;
		justify-content: space-around;
		font-size: 90%;
	}
}

/*  Témoignages */
.testimonies-list {
	background: rgb(178, 178, 178, .25);
	margin-bottom: 2rem;
}
.testimony-item {
	position: relative;
	display: table;
	width: 100%;
	margin-bottom: 1rem;
	padding: 1rem;
	background: rgb(178, 178, 178, .25);
}
.testimony-thumbnail, .testimony-text {
	display: table-row;
	vertical-align: top;
}
.testimony-thumbnail img {
	display: block;
	margin: 0 auto 1rem;
	max-width: 280px;
	height: auto;
}
.testimony-text blockquote {
	margin: 0;
	padding: 0;
	color: black;
}
.testimony-text blockquote footer {
	color: black;
	font-weight: bold;
}
.testimony-text h4 {
	margin: 0 0 1rem;
	color: black;
	font-weight: normal;
	text-align: center;
}
.testimony-sector {
	display: block;
	margin-bottom: 1rem;
	text-align: center;
	font-weight: bold;
	color: black;
}
.sector-tag {
	position: absolute;
	top: 0;
	right: 0;
	padding: .25rem .5rem;
	background: rgb(20, 117, 144);
	color: white;
}
@media screen and (min-width: 60rem) {
	.testimonies-list {
		background: rgb(178, 178, 178, .25);
	}	
	.testimony-item {
		padding: 2rem;
		margin-bottom: 0;
		background: transparent;
	}
	.testimony-text {
		height: 25rem;
	}
	.testimony-text blockquote {
		padding: 0 2rem;
	}
	.testimony-thumbnail, .testimony-text {
		display: table-cell;
	}
	.testimony-thumbnail {
		width: 25%;
		vertical-align: middle;
	}
	.testimony-thumbnail img {
		margin-bottom: 0;
	}
}

/* Partenaires */
.page-template-template-references .gallery {
	display: flex;
	justify-content: space-evenly;
	align-items: center;
	flex-wrap: wrap;
}
.page-template-template-references .gallery-item img {
	max-width: 250px;
	max-height: 150px;
	margin: 1rem;
}

.seemore-link {
	text-align: center;
}

/* Contact */
/* Action block for activity page, challenge page,  */
.action-container {
	margin-bottom: 6rem;
	padding: 1rem;
	table-layout: fixed;
	background: rgb(20, 117, 144) url(images/filigrane-so-mg.png) no-repeat;
	background-size: auto 90%;
	background-position: 2rem bottom;
	color: white;
}
.action-container a, .action-container a:visited {
	color: white;
}
.action-container h2 {
	color: white;
	border-bottom: 1px dashed white;
}
.action-container .contact-container {
	border-top: 1px dashed white;
	text-align: center;
}
.action-container .contact-container p:first-child {
	margin-top: 0;
}
.action-container .contact-callback-form {
	padding: 0;
	background: transparent;
}
.action-text *:first-child {
	margin-top: 0;
}
@media screen and (min-width: 60rem) {
	.action-container {
		table-layout: auto;
		padding: 4rem 0;
	}
	.action-container .contact-container {
		width: 33%;
		padding-left: 1.5rem;
		border-top: none;
		border-left: solid 1px white;
	}
}
.wpcf7-form-control-wrap {
	margin-bottom: 2rem;
}
.wpcf7-recaptcha > div {
	margin: 0 auto;
}
.page-contact .map-container {
	display: table-caption;
	caption-side: bottom;
}
@media screen and (min-width: 60rem) {
	.page-contact .map-container {
		display: table-cell;
	}
}
.map-container .map {
	display: block;
	margin: 0 auto;
}
.map-container iframe {
	max-width: 100%;
	margin: 0 auto;
	height: auto;
}
.page-contact h2 {
	margin-top: 3rem;
}
.contact-data {
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
}
.contact-data svg {
	height: 1em;
	width: auto;
	margin-right: .25em;
	fill: currentColor;
}
.address-ouroffice *:first-child::before {
	content: "";
	display: block;
	float: left;
	width: 27px;
	height: 44px;
	margin-right: .5rem;
	background-image: url(images/icon-maps-marker-a.png);
}
.contact-callback-form {
	padding: 1rem;
	background: rgb(20, 117, 144);
	text-align: center;
	color: white;
}
.contact-callback-form p {
	margin: 0 0 .5rem;
}
.contact-callback-form label {
	color: white;
}
.footer-contact {
	text-align: center;
}

/* Video */
.video-wrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 25px;
	height: 0;
}
.video-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* SVG */
.icon-stroke-primary, .icon-stroke-secondary {
	fill: none;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke: currentColor;
}
a:focus .icon-stroke-primary, a:hover .icon-stroke-primary, a:focus .icon-stroke-secondary, a:hover .icon-stroke-secondary {
	/* stroke: rgb(178, 178, 178); */
}
.activity-detail .icon-stroke-primary, .activity-detail .icon-stroke-secondary {
	stroke: currentColor;
}
.icon-shadow {
	display: none;
}
a:focus .icon-shadow, a:hover .icon-shadow {
	display: none;
}

/* Commentaires */
.comments-area {
	position: relative;
	margin-top: 4rem;
	padding-top: 2rem;
}
.comments-area::before {
	content: "";
	position: absolute;
	display: block;
	height: 1px;
	top: 0;
	left: 33%;
	right: 33%;
	background: #CCC;
}

/* Widgets */
.widget {
	margin-bottom: 2rem;
}
.widget-title {
	color: #888;
	font-size: 125%;
}
.widget ul {
	margin: 0 0 2rem;
	padding: 0;
	list-style: none outside none;
}
.widget li {
	display: block;
	padding-bottom: .5rem;
	margin-bottom: .5rem;	
}
.widget li:not(:last-child) {
    border-bottom: 1px dashed #888;
}
.widget a {
  color: #007A97;
  text-decoration: none;
}
.widget a:hover, .widget a:focus {
    text-decoration: underline;
}

/* Cookie banner */
.cookie-banner {
	display: none;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	padding: .5rem;
	line-height: 1rem;
	background: #23282d;	
	color: #ccc;
	font-size: 90%;
	z-index: 666;
}
.cookie-banner.active {
  display: block;
}
.cookie-banner a {
	color: #ccc;
}
.cookie-banner button {
	padding: 2px;
}

/* Slider */
.slider-prev, .slider-next {
	display: none;
}
@media screen and (max-width: 59.99rem) {
	.slider-slides {
		display: block !important;
	}
}
@media screen and (min-width: 60rem) {
	.slider-container {
	  position: relative;
		padding-left: 2rem;
		padding-right: 2rem;
	}
	.slider-slides img {
	  object-fit: cover;
	  width: 100%;
	  height: 300px;
	}
	.slider-prev, .slider-next {
		display: inline-block;
	  position: absolute;
	  cursor: pointer;
	  top: 50%;
	  width: auto;
	  margin-top: -22px;
	}
	.slider-prev {
	  left: .5rem;
	}
	.slider-next {
	  right: .5rem;
	}
	.slides-fade {
	  animation-name: slidesfade;
	  animation-duration: 1.5s;
	}
	@keyframes slidesfade {
	  from {
	    opacity: .4
	  }
	  to {
	    opacity: 1
	  }
	}
}


/* Videos */
.youtube-container {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}
.youtube-container iframe,  
.youtube-container object,  
.youtube-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}