/*
Theme Name: Wisearth
Author: PUShAUNE
Author URI: https://www.pushaune.com
Version: 1.0
License: http://creativecommons.org/licenses/by-nc-nd/3.0/
*/

/* =Reset default browser CSS. Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;} body {background: #fff;line-height: 1;}ol, ul {list-style: none;}table {border-collapse: separate;border-spacing: 0;}caption, th, td {font-weight: normal;text-align: left;}blockquote:before, blockquote:after, q:before, q:after {content: "";}blockquote, q {quotes: "" "";}a img {border: 0;}article, aside, details, figcaption, figure,footer, header, hgroup, menu, nav, section {display: block;} a{text-decoration: none;}figure{margin: 0;}

button {
  appearance: none;
  background: transparent;
  /* Other styles */
}
@font-face {
    font-family: 'aestetico';
    src: url('fonts/Aestetico-Light.woff2') format('woff2'),
         url('fonts/Aestetico-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
}
@font-face {
    font-family: 'aestetico';
    src: url('fonts/Aestetico-LightIt.woff2') format('woff2'),
         url('fonts/Aestetico-LightIt.woff') format('woff');
    font-weight: 300;
    font-style: italic;
}
@font-face {
    font-family: 'aestetico';
    src: url('fonts/Aestetico-Regular.woff2') format('woff2'),
         url('fonts/Aestetico-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'aestetico';
    src: url('fonts/Aestetico-RegularIt.woff2') format('woff2'),
         url('fonts/Aestetico-RegularIt.woff') format('woff');
    font-weight: 400;
    font-style: italic;
}
@font-face {
    font-family: 'aestetico';
    src: url('fonts/Aestetico-SemiBold.woff2') format('woff2'),
         url('fonts/Aestetico-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: 'aestetico';
    src: url('fonts/Aestetico-SemiBoldIt.woff2') format('woff2'),
         url('fonts/Aestetico-SemiBoldIt.woff') format('woff');
    font-weight: 600;
    font-style: italic;
}
@font-face {
    font-family: 'aestetico';
    src: url('fonts/Aestetico-Bold.woff2') format('woff2'),
         url('fonts/Aestetico-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: 'aestetico';
    src: url('fonts/Aestetico-BoldIt.woff2') format('woff2'),
         url('fonts/Aestetico-BoldIt.woff') format('woff');
    font-weight: 700;
    font-style: italic;
}
@font-face {
    font-family: 'just-sans';
    src: url('fonts/JUST-Sans-Regular.woff2') format('woff2'),
         url('fonts/JUST-Sans-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'just-sans';
    src: url('fonts/JUST-Sans-Bold.woff2') format('woff2'),
         url('fonts/JUST-Sans-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}

/* = Here it goes!
----------------------------------------------- */
/*  Variables */
:root{
	--main_column: 1200px;
	--gutter: 30px;
	--main_color: #D7DF2A;
	--secondary_color: #4ECDC4;
	--red: #FE5F55;
	--grey: #F4F4F4;
	--main_black: #0C4651;
	/* font size */
	--5px: 0.3125rem;
	--8px: 0.5rem;
	--10px: 0.62rem;
	--12px: 0.75rem;
	--14px: 0.875rem;
	--15px: 0.9375rem;
	--16px: 1rem;
	--18px: 1.125rem;
	--20px: 1.25rem;
	--22px: 1.375rem;
	--24px: 1.5rem;
	--28px: 1.75rem;
	--30px: 1.875rem;
	--32px: 2rem;
	--34px: 2.125rem;
	--36px: 2.25rem;
	--38px: 2.375rem;
	--40px: 2.5rem;
	--44px: 2.75rem;
	--50px: 3.125rem;
	--52px: 3.25rem;
	--58px: 3.625rem;
	--60px: 3.75rem;
	--72px: 4.5rem;
	--80px: 5rem;
	--88px: 5.5rem;
	--92px: 5.75rem;
	--94px: 6rem;
	--100px: 6.25rem;
	--130px: 8.125rem;
	--150px: 9.375rem;
	--170px: 10.625rem;
	--200px: 12.5rem;
	--250px: 15.625rem;
	--350px: 21.875rem;
	--450px: 28.125rem;
}
html, body{
  height: 100%;
  width: 100%;
}
*,
*:after,
*:before{
	box-sizing: border-box;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
::selection {
    background: var(--main_color);
    color:var(--main_black);
}
::-moz-selection {
    background: var(--main_color);
    color:var(--main_black);
}
img{
	max-width: 100%;
	height: auto;
}
.show_menu_mobile{
	display: none;
}
a{
    color: inherit;
}
svg{
    color: inherit;
    display: block;
    fill: currentColor;
}
em, i{
    font-style: italic;
}
b, strong{
    font-weight: bold;
}
hr.clear{
	height: 1px;
	display: block;
	margin: 0;
	padding: 0;
	clear: both;
	width: 100%;
	border: none;
	background: none;
}
/* Infobulles GMaps */
.gm-style-iw h2{
    font-weight: bold;
    margin-bottom: 15px;
}
.gm-style-iw > div{
    width: auto !important;
}
.gm-style-iw p{
    margin-bottom: 5px;
}
.gm-style img{
    max-width: inherit;
}

/* Vidéo responsive */
.video-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px; height: 0; overflow: hidden;
    clear: both;
    padding-bottom: 56.25%;
}
.video-container iframe,
.video-container object,
.video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Accessibilité  */
a.evitement,
a#evitement,
a#contenu_evitement,
a.contenu_evitement{
   display: inline-block;
   color: #555;
   background: #fff;
   padding: .5em;
   position: absolute;
   left: -99999rem;
   z-index: 100;
}
a.evitement:focus,
a#evitement:focus,
a#contenu_evitement:focus,
a.contenu_evitement:focus{
   left: 0;
}

/* = Grille
----------------------------------------------- */
#content{
	padding-top: var(--92px);
}
#content.no-hero{
	padding-top: var(--200px);
}
.center{
	max-width: var(--main_column);
	margin: auto;
	display: block;
}
.container{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: stretch;
}
.container.missing::after {
  content: "";
  flex: auto;
}
.container.missing > *:last-child {
	margin-left: var(--gutter);
}
.container > .all_width {
	margin-left: 0;
}
.container.align_bottom{
	align-items: flex-end;
}
.container.align_top{
	align-items: flex-start;
}
.container.align_center{
	align-items: center;
}
.self_top{
	align-self: start;
}
.all_width{ width: 100%; }
.demi{ width: calc(50% - calc(var(--gutter)/2) ); }
.tiers{ width: calc(calc(100%/3) - calc(var(--gutter)*2/3 )); }
.quart{ width: calc(25% - calc(var(--gutter)*3/4) ); }
.cinquieme{ width: calc(calc(100%/5) - calc(var(--gutter)*3/4) ); }
.sixieme{ width: calc(calc(100%/6) - calc(var(--gutter)*3/4) ); }
.trois-quart{ width: calc(75% - calc(
	calc(var(--gutter)/2 - 
		calc(var(--gutter)/6))
	) ); }
.deux-tiers{ width: calc(calc(100%*calc(2/3)) - calc(
	calc(var(--gutter)/2 - calc(var(--gutter)/6))
	) ); }
.cinq_douzieme{ width: calc(calc(100%*calc(5/12)) - calc(
	calc(var(--gutter)/2 - calc(var(--gutter)/6))
	) ); }
.sept_douzieme{ width: calc(calc(100%*calc(7/12)) - calc(
	calc(var(--gutter)/2 - calc(var(--gutter)/6))
	) ); }

/* Valeures absolues */
.all_width.abs{ width: var(--main_column); }
.demi.abs{ width: calc(calc(var(--main_column)/2) - calc(var(--gutter)/2) ); }
.tiers.abs{ width: calc(calc(var(--main_column)/3) - calc(var(--gutter)*2/3 )); }
.quart.abs{ width: calc(calc(var(--main_column)/4) - calc(var(--gutter)*3/4) ); }
.cinquieme.abs{ width: calc(calc(var(--main_column)/5) - calc(var(--gutter)*3/4) ); }
.sixieme.abs{ width: calc(calc(var(--main_column)/6) - calc(var(--gutter)*3/4) ); }
.trois-quart.abs{ width: calc(var(--main_column)*calc(3/4) - calc(
	calc(var(--gutter)/2 - 
		calc(var(--gutter)/6))
	) ); }
.deux-tiers.abs{ width: calc(calc(var(--main_column)*calc(2/3)) - calc(
	calc(var(--gutter)/2 - calc(var(--gutter)/6))
	) ); }
.cinq_douzieme.abs{ width: calc(calc(var(--main_column)*calc(5/12)) - calc(
	calc(var(--gutter)/2 - calc(var(--gutter)/6))
	) ); }
.sept_douzieme.abs{ width: calc(calc(var(--main_column)*calc(7/12)) - calc(
	calc(var(--gutter)/2 - calc(var(--gutter)/6))
	) ); }

/* Sans marges */
.all_width.sans{ width: 100%; }
.demi.sans{ width: 50%; }
.tiers.sans{ width: calc(100%/3); }
.quart.sans{ width: 25%; }
.cinquieme.sans{ width: calc(100%/5); }
.sixieme.sans{ width: calc(100%/6); }
.trois-quart.sans{ width: 75%; }
.deux-tiers.sans{ width: calc(100%*calc(2/3)); }
.cinq_douzieme.sans{ width: calc(100%*calc(5/12)) }
.sept_douzieme.sans{ width: calc(100%*calc(7/12)); }

/* float */
.container.float{
	display: block;
	justify-content: flex-start;
}
.container.float .all_width,
.container.float .demi,
.container.float .tiers,
.container.float .quart,
.container.float .sixieme,
.container.float .trois-quart,
.container.float .deux-tiers,
.container.float .cinq_douzieme,
.container.float .sept_douzieme{
	margin-right: var(--gutter);
	float: left;
}
.container.float .demi:nth-child(2n),
.container.float .tiers:nth-child(3n),
.container.float .quart:nth-child(4n),
.container.float .quart + .trois-quart,
.container.float .trois-quart + .quart,
.container.float .tiers + .deux-tiers,
.container.float .deux-tiers + .tiers{
	margin-right: 0px !important;
}
.container.float .demi:nth-child(2n+1),
.container.float .tiers:nth-child(3n+1),
.container.float .quart:nth-child(4n+1){
	clear: both;
}
hr.clear{
	height: 1px;
	display: block;
	margin: 0;
	padding: 0;
	clear: both;
	width: 100%;
	border: none;
	background: none;
	float: none;
}
/* Padding and margin */
.padding_right{ padding-right: calc(var(--main_column)/12); }
.padding_left{ padding-left: calc(var(--main_column)/12); }
.margin_right{ margin-right: calc(var(--main_column)/12); }
.margin_left{ margin-left: calc(var(--main_column)/12); }
.padding_right_double{ padding-right: calc(var(--main_column)/6); }
.padding_left_double{ padding-left: calc(var(--main_column)/6); }
.margin_right_double{ margin-right: calc(var(--main_column)/6); }
.margin_left_double{ margin-left: calc(var(--main_column)/6); }


/* Sticky */
.sticky{
	position: -webkit-sticky;
	position: sticky;
	top: var(--92px);
	z-index: 6;
}
.admin-bar .sticky{
	top: calc( var(--92px) + var(--34px));
}

/* Adding margin to center */
.center.margin_right{ 
	margin-right: calc(calc(calc(100% - var(--main_column))/2) + calc(var(--main_column)/12));
	width: auto;
}
.center.margin_left{ 
	margin-left: calc(calc(calc(100% - var(--main_column))/2) + calc(var(--main_column)/12));
	width: auto;
}
.center.margin_right_double{ 
	margin-right: calc(calc(calc(100% - var(--main_column))/2) + calc(var(--main_column)/6));
	width: auto;
}
.center.margin_left_double{ 
	margin-left: calc(calc(calc(100% - var(--main_column))/2) + calc(var(--main_column)/6));
	width: auto;
}

/* = Banner & image cover
----------------------------------------------- */
.banner,
.bloc.banner{
	position: relative;
	padding: var(--250px) 0 var(--150px) 0;
	color: #fff;
}
.banner > img,
.banner > video{
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 1;
	object-fit: cover;
	object-position: center center;
	top: 0;
}
.banner .center{
	position: relative;
	z-index: 5;
	color: #fff;
}
.banner .center > *:last-child{
	margin-bottom: 0;
}
.banner.droite .center{
	text-align: right;
	justify-content: flex-end;
}
.banner.centre .center{
	text-align: center;
	justify-content: center;
}
.image_cover img{
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}
.img_link{
	display: block;
	background-color: var(--main_color);
}
.img_link img{
	display: block;
}
.img_link img:hover,
.img_link img:focus{
	opacity: 0.5;
}

/* = Background and borders
----------------------------------------------- */
.bck-grey{ background-color:var(--grey) }
.bck-blue{ background-color:var(--secondary_color) }
.bck-green{ background-color:var(--main_color) }
.bck-black{ background-color:var(--main_black) }
.bck-red{ background-color:var(--red) }
.border{
	border-right: var(--30px) solid #fff;
	border-left: var(--30px) solid #fff;
}
.has-contact-bottom{
	padding-bottom: var(--200px);
	margin-bottom: calc(var(--130px) * -1);
}


/* = Lightbox
----------------------------------------------- */
#lightbox{
	position: fixed;
	background-color: rgba(0, 0, 0, 0.9);
	display: flex;
	align-items: center;
	top: 0;
	left: 0;
	z-index: 2000000;
	height: 100vh;
	width: 100vw;
	opacity: 0;
	visibility: hidden;
	transition: all 0.4s ease;
}
#lightbox.show{
	opacity: 1;
	visibility: visible;
}
#lightbox img{
	display: block;
	margin: auto;
	max-width: 90%;
	max-height: 90%;
}


/* = Galerie
----------------------------------------------- */
.grid{
	margin-top: var(--30px);
	margin-bottom: var(--30px);
}
.grid-col{
   width: calc(calc(100%/3) - calc(var(--gutter)*2/3 ));
}
/* 2 columns by default, hide columns 2 & 3 */
.grid-col:nth-child(n+3) {
  display: none;
}
@media (min-width: 768px) {
  .grid-col:nth-child(3) {
    display: block;
  }
}
.grid-item{
	margin-bottom: var(--30px);
	display: block;
}
.grid-item:hover{
	opacity: 0.5;
}


/* = Typo
----------------------------------------------- */
body{
    color: var(--main_black);
    font-family: 'aestetico', sans-serif;
    font-size: var(--16px);
}
p{
    line-height: 1.6em;
    margin-bottom: 1.4em;
}
h1,h2,h3,h4,h5,h6{
	font-family:'just-sans', sans-serif;
	font-weight: 300;
}
h1{
	font-size: var(--44px);
	margin-bottom: var(--10px);
	line-height: 1.2em;
}
h2{
	font-size: var(--32px);
	margin-bottom: var(--10px);
	line-height: 1.2em;
}
h3{
  font-weight: 700;
  margin-bottom: var(--5px);
}
.text p ~  h2,
.text ul ~ h2,
.text ol ~ h2{
	margin-top: 45px;
}
.text li{
  line-height: 1.6em;
  font-size: var(--16px);
}
.text ul,
.text ol{
  margin-bottom: 1.2em;
}
.text p ~ ul,
.text p ~ ol{
	margin-top: -1.2em;
}
.text ul li{
	position: relative;
	padding-left: var(--14px);
}
.text ul li:before{
  content: "";
  display: block;
  position: absolute;
  width: var(--8px);
  height: var(--8px);
  background-color: var(--secondary_color);
  border-radius: 50%;
  left: 0;
  top: var(--8px);
}
.text ol{
  counter-reset: repas;
}
.text ol li{
  counter-increment: repas;
}
.text ol li:before{
  content: counter(repas);
  font-weight: bold;
  margin-right: 8px;
}
.text p.wp-caption-text{
	margin-top: 5px;
	font-style: italic;
	line-height: 1.2em;
	font-size: 14px;
	color: #646464;
	margin-bottom: 60px;
	text-align: left;
}
.text p a{
	text-decoration: underline;
	color: var(--secondary_color);
}
.text p a:hover{
	background: var(--secondary_color);
	color: #fff;
	text-decoration: none;
}


/* = Formulaires
----------------------------------------------- */
.btn,
input[type=submit]{
	display: inline-block;
	cursor: pointer;
	border: none;
	text-align: center;
	text-transform: uppercase;
	font-size: var(--14px);
	font-weight: 700;
	background-color: var(--main_black);
	color: #fff;
	border-radius: 0;
	padding: var(--20px) var(--30px);
	box-shadow: none;
}
.btn:hover,
input[type=submit]:hover,
.btn:focus,
input[type=submit]:focus{
	background-color: var(--main_color);
	color: var(--main_black);
}
.btn .icon,
p .icon,
.time .icon{
	display: inline-block;
	margin-right: 5px;
	vertical-align: middle;
	margin-top: -3px;
	width: 24px;
	height: 24px;
}
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="date"],
input[type="search"],
input[type="number"],
textarea{
	display: block;
	background: #ffffff;
	border: 1px solid var(--main_black);
	color: var(--main_black);
	padding: 15px 13px 15px 13px;
	width: 100%;
    font-family: 'aestetico', sans-serif;
	font-size: var(--14px);
	border-radius: 0;
	-webkit-appearance: none;
	height: inherit;
    transition: all 0.4s ease;
}
textarea{
	resize: vertical;
}
input[type="text"]:hover,
textarea:hover,
input[type="tel"]:hover,
input[type="password"]:hover,
input[type="email"]:hover,
input[type="date"]:hover,
input[type="search"]:hover,
input[type="number"]:hover{
	border: 1px solid var(--main_color);
}
input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
input[type="date"]:focus,
input[type="search"]:focus,
input[type="number"]:focus{
	border: 1px solid var(--secondary_color);
}

/* Contact form 7 */
form.wpcf7-form{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: flex-start;
	position: relative;
}
.wpcf7-form-control-wrap{
	display: block;
	margin-bottom: 10px;
	width: 100%;
}
.wpcf7-form-control-wrap[data-name='Nom'],
.wpcf7-form-control-wrap[data-name='Societe'],
.wpcf7-form-control-wrap[data-name='Prenom'],
.wpcf7-form-control-wrap[data-name='Telephone'],
.wpcf7-form-control-wrap[data-name='Age'],
.wpcf7-form-control-wrap[data-name='Nationalite'],
.wpcf7-form-control-wrap[data-name='Email']{
	width: calc(calc(100%/2) - 5px);
}
.wpcf7-form-control-wrap.quizz{
	display: block;
	width: 100%;
}
body .wpcf7 form.invalid .wpcf7-response-output,
body .wpcf7 form.unaccepted .wpcf7-response-output{
	margin: 20px 0 0 0;
	padding: 10px;
	width: 100%;
}
div.wpcf7 .ajax-loader{
	position: absolute;
	bottom: 0;
	right: 0;
}
form.wpcf7-form input[type=submit]{
	width: 100%;
}

.wpcf7-form-control-wrap[data-name='capital-quiz']{
	display: inline-block;
	width: auto;
}
.wpcf7-form-control-wrap[data-name='capital-quiz'] label{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-weight: 400;
	font-size: 14px;
}
.wpcf7-form-control-wrap[data-name='capital-quiz'] label input[type="text"]{
	width: 70px;
	margin-left: 5px;
}

/* = Header
----------------------------------------------- */
#header{
	position: fixed;
	width: 100%;
	z-index: 100;
	background-color: #fff;
}
#logo{
	height: auto;
	display: block;
	margin-right: var(--40px);
}
#logo svg,
#logo img{
	width: 100%;
	height: auto;
	display: block;
}
/* Menu */
#menu_mobile ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
}
#menu_mobile li{
	font-size: var(--14px);
	text-transform: uppercase;
	line-height: 1em;
	font-family: 'just-sans', sans-serif;
}
#menu_mobile li.mobile{
	display: none;
}
#menu_mobile > ul > li > a{
	padding: var(--40px) var(--15px);
}
#menu_mobile a:hover{
	color: var(--main_color);
}
nav#menu_mobile ul li.current-menu-item > a,
nav#menu_mobile ul li.current-post-ancestor > a,
nav#menu_mobile ul li.current-menu-parent > a,
nav#menu_mobile ul li.current-category-ancestor > a,
nav#menu_mobile ul li.current-menu-ancestor > a,
nav#menu_mobile ul li.current-page-ancestor > a{
	color: var(--secondary_color);
	cursor: default;
}
/* Contact */
#menu_mobile li.bouton > a{
	display: inline-block;
	background-color: var(--main_color);
}
#menu_mobile li.bouton > a:hover{
	background-color: var(--secondary_color);
	color: var(--main_black);
}
/* Sous-menu */
#menu_mobile li.menu-item-has-children{
	position: relative;
}
#menu_mobile li.menu-item-has-children > a:after{
	display: inline-block;
	content: '';
	width: var(--20px);
	height: var(--20px);
	background-image: url(images/arrow-menu.svg);
	background-size: var(--20px) var(--20px);
	vertical-align: middle;
	transition: all 0.4s ease;
	margin-top: -2px;
}
#menu_mobile li.menu-item-has-children:hover > a{
	background-color: var(--grey);
}
#menu_mobile li.menu-item-has-children:hover a:after,
#menu_mobile li.menu-item-has-children:hover a:after{
	transform: rotate(90deg);
}
#menu_mobile > ul > li > ul.sub-menu{
	position: absolute;
	width: var(--200px);
	padding: var(--15px);
	display: none;
	background-color: var(--grey);
	margin-top: 10px;
}
#menu_mobile li:hover ul.sub-menu{
	display: block;
}
#menu_mobile > ul > li > ul.sub-menu > li{
	margin: 0 0 var(--10px) 0;
	font-weight: 400;
	text-transform: none;
}
#menu_mobile > ul > li > ul.sub-menu > li:last-child{
	margin-bottom: 0;
}


/* = Footer
----------------------------------------------- */
#footer{
	margin-top: var(--100px);
	font-size: var(--14px);
	line-height: 1.4rem;
	padding-bottom: var(--50px);
}
#logo_footer{
	margin-bottom: var(--40px);
	display: block;
	height: auto;
}
#footer p{
	margin-bottom: 0;
	line-height: 1.4rem;
}
#footer h3{
	text-transform: none;
	font-size: var(--14px);
	margin-bottom: var(--5px);
	font-weight: 700;
}
/* RS */
ul.social{
	justify-content: flex-start;
}
ul.social .social-item{
	width: var(--20px);
	height: auto;
	margin-right: var(--10px);
}
ul.social .social-item svg,
ul.social .social-item img{
	width: 20px;
	height: auto;
}
ul.social .social-item svg:hover,
ul.social .social-item svg:focus{
	fill: var(--main_color);
}
#footer a:hover,
#footer a:focus{
	color: var(--main_color);
}



/* = Single actualité
----------------------------------------------- */
#content.single-blog .main_article .main_thumb{
	display: block;
	width: 100%;
	height: auto;
	margin-bottom: var(--30px);
}
.time{
	font-weight: 300;
	opacity: 0.5;
	display: block;
}
#content.single-blog .main_article .time{
	margin-bottom: var(--30px);
}
#content.single-blog .main_article{
	margin-bottom: var(--50px);
}
/* Aside */
#content.single-blog aside img{
	display: block;
}
#content.single-blog aside .bck-black{
	padding: var(--16px) var(--10px);
	margin-bottom: var(--5px);
	color: #fff;
}
#content.single-blog aside .bck-black > *:last-child{
	margin-bottom: 0;
}
#content.single-blog aside .btn{
	display: block;
}
/* Related */
#related{
	padding-top: var(--50px);
}
#related h2{
	margin-bottom: var(--30px);
}
/* Module contact */
#module_contact{
	position: relative;
	padding: var(--80px) var(--44px) var(--100px) var(--44px);
	color: #fff;
}
#module_contact:before{
	content: '';
	display: block;
	position: absolute;
	z-index: 3;
	width: 100%;
	height: 100%;
	right: 0;
	top: 0;
	background: RGBA(12, 70, 81, 0.56);
	background: linear-gradient(48deg,rgba(12, 70, 81, 0.56) 0%, rgba(230, 255, 42, 0.56) 100%);
}
#module_contact > img{
	position: absolute;
	z-index: 1;
	right: 0;
	top: 0;
}
#module_contact > *:not(img){
	position: relative;
	z-index: 5;
}
#module_contact > p{
	max-width: 33%;
}
a.big_btn{
	position: relative;
	display: inline-block;
	cursor: pointer;
	border: none;
	text-align: center;
	text-transform: uppercase;
	font-size: var(--14px);
	font-weight: 700;
	background-color: var(--main_color);
	color: var(--main_black);
	border-radius: 0;
	padding: var(--20px) var(--30px);
	box-shadow: none;
	margin-left: calc(var(--30px) * -1);
}
a.big_btn:hover,
a.big_btn:focus{
	background-color: var(--main_black);
	color: var(--main_color);
}
a.big_btn:before{
	content: "";
	display: block;
	position: absolute;
	width: calc(
		calc(
			50vw - calc(
				var(--main_column)/2)
			) + var(--8px)

	);
	left: 0;
	top: 0;
	height: 100%;
	background-color: var(--main_color);
	transform: translateX(-100%);
}
a.big_btn:hover:before,
a.big_btn:focus:before{
	background-color: var(--main_black);
}


/* = Content actualité
----------------------------------------------- */
article.post{
	margin-bottom: var(--gutter);
	background-color: #fff;
	position: relative;
	padding-bottom: var(--50px);
}
article.post .title{
	font-size: var(--18px);
	color: var(--main_black);
	font-weight: 700;
	padding: var(--10px) var(--10px) 0 var(--10px);
	line-height: 1.2em;
}
article.post .title:hover,
article.post .title:focus{
	color: var(--main_color);
}
article.post .time{
	padding: 0 var(--10px);
}
article.post p{
	padding: 0 var(--10px);
}
article.post .btn{
	display: block;
	width: 100%;
	position: absolute;
	bottom: 0;
}
article.post .time{
	margin-bottom: var(--20px);
}


/* = Catégorie actualité
----------------------------------------------- */
#content.category #blog-loop{
	position: relative;
}
#content.category #blog-loop:before{
	content: "";
	display: block;
	background: #fff;
	width: 100%;
	height: var(--80px);
	top: 0;
	left: 0;
	position: absolute;
	z-index: 2;
}
#content.category #blog-loop .container{
	position: relative;
	z-index: 10;
}



/* = Contact
----------------------------------------------- */
#content.contact > .container .text p{
	padding-right: calc(var(--main_column)/12);
}
#content.contact .zone{
	position: relative;
}
#content.contact .zone:before{
	content: "";
	display: block;
	width: var(--24px);
	height: var(--24px);
	background-image: url(images/map-pin-2-line.svg);
	background-size: var(--24px) var(--24px);
	top: 0;
	left: 0;
	transform: translateX(-30px);
	position: absolute;
}
/* FAQ */
#faq{
	padding-top: var(--130px);
	padding-bottom: var(--130px);
}
.title_qr{
	background-color: var(--secondary_color);
	padding: var(--16px);
	font-size: var(--18px);
	margin-bottom: 5px;
	cursor: pointer;
	font-weight: 500;
}
.title_qr .icon{
	width: var(--24px);
	height: var(--24px);
	display: inline-block;
	vertical-align: middle;
	margin-top: -2px;
	transition: all 0.4s ease;
}
.title_qr:hover .icon,
.title_qr:focus .icon{
	transform: rotate(90deg);
}
.title_qr.show{
	margin-bottom: 0;
	color: var(--main_black);
	background-color: var(--grey);
}
.title_qr.show .icon{
	fill: var(--red);
	transform: rotate(90deg);
}
.container_qr{
	display: none;
	padding: 0 var(--16px) var(--16px) var(--40px);
	background-color: #fff;
	margin-bottom: var(--5px);
	background-color: var(--grey);
	margin-bottom: 5px;
}
.container_qr.show{
	display: block;
}



/* = Projets
----------------------------------------------- */
#content.projets .zones{
	padding-top: var(--100px);
}
.single-zone{
	margin-bottom: var(--gutter);
}
.single-zone .demi p:last-child{
	margin-bottom: 0;
}
.single-zone h3{
	color: var(--secondary_color);
}


/* = Hub solutions
----------------------------------------------- */
#content.solutions h1{
	margin-bottom: var(--40px);
}
#content.solutions .intro p{
	max-width: calc(calc(100%*calc(2/3)) - calc(
	calc(var(--gutter)/2 - calc(var(--gutter)/6))
	) );
}
.single-hub{
	position: relative;
}
.single-hub > img,
.single-hub > video{
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 1;
	object-fit: cover;
	object-position: center center;
	top: 0;
}
.single-hub .text{
	position: relative;
	z-index: 5;
	color: #fff;
	padding-bottom: calc(var(--main_column)/12);
	padding-top: calc(var(--main_column)/6);
}
.single-hub .text .logo{
	display: block;
	height: auto;
	margin-bottom: var(--30px);
}
.single-hub .text h2{
	font-weight: 700;
	font-size: var(--16px);
}
#technology.single-hub .text{
	padding-left: calc(var(--main_column)/12);
	padding-right: calc(50vw - calc(var(--main_column)/2));
}
#drilling.single-hub .text{
	padding-right: calc(var(--main_column)/12);
	padding-left: calc(50vw - calc(var(--main_column)/2));
}
#technology.single-hub .btn{
	background-color: var(--secondary_color);
}
#drilling.single-hub .btn{
	background-color: var(--red);
}
#technology.single-hub .btn:hover,
#technology.single-hub .btn:focus,
#drilling.single-hub .btn:hover,
#drilling.single-hub .btn:focus{
	background-color: #fff;
	color: var(--main_black);
}
#technology.single-hub:before{
	content: "";
	display: block;
	position: absolute;
	z-index: 2;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-size: 100% 100%;
	background-position: 0px 0px;
	background-image: linear-gradient(90deg, #00000059 0%, #073AFF00 100%);
}
#drilling.single-hub:before{
	content: "";
	display: block;
	position: absolute;
	z-index: 2;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-size: 100% 100%;
	background-position: 0px 0px;
	background-image: linear-gradient(90deg, #00000000 0%, #00000075 100%);
}
#content.solutions .big{
	text-align: center;
	font-size: var(--32px);
	padding-top: var(--40px);
	padding-bottom: var(--40px);
	padding-right: calc(calc(var(--main_column)/3) - calc(var(--gutter)*2/3 ));
	padding-left: calc(calc(var(--main_column)/3) - calc(var(--gutter)*2/3 ));
}
#content.solutions .big p{
	margin-bottom: 0;
	line-height: 1.1em;
}

/* = Page builder
----------------------------------------------- */
/* Hero */
#hero.banner h1{
	max-width: 50%;
	margin-bottom: var(--30px);
}
#hero.banner p{
	width: calc(calc(100%*calc(5/12)) - calc(
	calc(var(--gutter)/2 - calc(var(--gutter)/6))
	) );
}
#hero.banner:before{
	content: "";
	display: block;
	position: absolute;
	z-index: 2;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-size: 100% 100%;
	background-position: 0px 0px;
	background-image: linear-gradient(90deg, #00000059 0%, #073AFF00 100%);
}
/* Contenu */
.bloc h2{
	margin-bottom: var(--30px);
}
.margin_30{
	margin-bottom: var(--30px);
}
.margin_100{
	margin-bottom: var(--100px);
}
.bloc.bck-black{
	color: #fff;
}
.bloc.bck-grey + .bloc.bck-black,
.bloc.bck-white + .bloc.bck-black,
.bloc.bck-black + .bloc.bck-grey,
.bloc.bck-white + .bloc.bck-grey{
	padding-top: var(--58px);
}
.bloc.bck-black:has(+ .bck-grey),
.bloc.bck-black:has(+ .bck-white),
.bloc.bck-grey:has(+ .bck-white),
.bloc.bck-grey:has(+ .bck-black){
	padding-bottom: var(--58px);
}
.bloc.bck-grey:has(+ #module_contact),
.bloc.bck-black:has(+ #module_contact){
	padding-bottom: var(--200px);
	margin-bottom: calc(var(--130px) * -1);
}
.builder .bloc svg{
	margin-bottom: var(--5px);
}

/* = Page technologie
----------------------------------------------- */
#content.technology #intro p{
	font-size: var(--20px);
}
#content.technology #schema,
#textes_schemas .text{
	padding-top: var(--58px);
	color: #fff;
}
#content.technology #schema #schemas{
	width: calc(calc(100%*calc(7/12)) - calc(calc(var(--gutter)/2 - calc(var(--gutter)/6))) );
}
#content.technology #schema #schemas img{
	display: none;
	width: 100%;
}
#content.technology #schema #schemas img.show{
	display: block;
}
#content.technology #schema #textes_schemas{
	width: calc(calc(100%*calc(5/12)) - calc(calc(var(--gutter)/2 - calc(var(--gutter)/6))) );
	padding-right: calc(50vw - calc(var(--main_column)/2));
}
#content.technology #schema #textes_schemas h3{
	color: var(--main_color);
}
#content.technology #schema #textes_schemas .text{
	opacity: 0.5;
}
#content.technology #schema #textes_schemas .text.show{
	opacity: 1;
}
#content.technology #contenu h2{
	margin-bottom: var(--30px);
}
#content.technology #contenu .container:nth-child(2n+1){
	flex-direction: row-reverse;
}
#content.technology .valeur .icon{
	display: block;
	width: var(--24px);
	height: var(--24px);
	fill: var(--secondary_color);
	margin-bottom: var(--5px);
}
#content.technology #soutient{
	padding-top: var(--58px);
}
#logos{
	display: flex;
	justify-content: space-between;
}
#logos .logo_wrapper{
	max-width: var(--200px);
	max-height: var(--88px);
	display: flex;
	justify-content: center;
	align-items: center;
	margin-right: var(--15px);
	margin-left: var(--15px);
}
#logos .logo_wrapper:first-child{
	margin-left: 0;
}
#logos .logo_wrapper:last-child{
	margin-right: 0;
}
#logos .logo_wrapper img{
	max-height: 100%;
}


/* = Drilling
----------------------------------------------- */
#content.drilling #intro{
	margin-bottom: var(--58px);
}
#content.drilling #intro .text,
#content.drilling #intro .text li{
	font-size: var(--20px);
}
span.chiffre {
	color: var(--secondary_color);
	display: block;
	font-size: var(--34px);
	margin-bottom: var(--10px);
	text-transform: uppercase;
	font-weight: 300;
}
#explications{
	background-image: url(images/bck-02.svg);
	background-size: 978px 939px;
	background-position: calc(0% - 227px) calc(0% - 50px);
	background-repeat: no-repeat;
}
#explications .image img{
	display: block;
	margin-top: -80px;
	margin-bottom: var(--58px);
}
#explications .demi.text{
	padding-top: var(--58px);
}
#explications{
	color: #fff;
}
.bck-black .big_btn:hover,
.bck-black .big_btn:hover:focus,
.bck-black .big_btn:hover::before,
.bck-black .big_btn:hover:focus::before{
	background-color: var(--grey);
	color: var(--main_black);
}
#explications .text h2{
	margin-bottom: var(--30px);
}
#content.drilling #etapes .quart{
	position: relative;
	z-index: 5;
}
#content.drilling #etapes .bck-grey::before {
  content: "";
  display: block;
  background: #fff;
  width: 100%;
  height: var(--80px);
  top: 0;
  left: 0;
  position: absolute;
  z-index: 2;
}
#content.drilling #etapes .bck-grey{
	padding-bottom: var(--58px);
	position: relative;
}
#content.drilling #etapes .quart img{
	display: block;
	margin-bottom: var(--15px);
}
#equipement{
	padding-top: var(--58px);
	color: #fff;
	background-image: url(images/bck-01.svg);
	background-size: 459px 780px;
	background-position: calc(100% - 50px) calc(0% + 60px);
	background-repeat: no-repeat;
}


/* = HP
----------------------------------------------- */
.home #intro{
	position: relative;
	z-index: 5;
}
.home #presentation{
	margin-top: var(--200px);
}
.home #presentation .tiers,
.home #drilling,
.home #technology{
	position: relative;
	z-index: 5;
}
.home #presentation .bck-black{
	color: #fff;
	padding-top: var(--30px);
}
.home #presentation .bck-black .center{
	padding-bottom: var(--100px);
}
#grosse-illu{
	position: absolute;
	z-index: 2;
	width: 100%;
	height: 1000px;
	transform: translateY(-450px);
}
#grosse-illu img{
	object-fit: cover;
	object-position: center center;
	width: auto;
	height: 100%;
}
.home #drilling,
.home #technology{
	margin-top: var(--150px);
}
.home #drilling .deux-tiers,
.home #technology .deux-tiers{
	padding-right: 34%;
}
#technology-illu{
	position: absolute;
	right: 117px;
	bottom: -70px;
	width: 25%;
	height: auto;
	opacity: 0.5;
}
.home #intro h2,
#engagements h2,
#soutient h2{
	margin-bottom: var(--30px);
}
#engagements .tiers img{
	display: block;
	margin-bottom: var(--20px);
}
.home #soutient .text{
	text-align: center;
}



/* #Media Queries
================================================== */
/* Smaller than standard 960 (devices and browsers) */
@media only screen and (max-width: 1260px ) {
	.center{
		width: 100%;
		padding-right: var(--30px);
		padding-left: var(--30px);
	}
	a.big_btn::before{
		width: var(--30px);
	}
	#presentation h2{
		padding-left: var(--30px);
	}
	#technology-illu{
		width: 230px;
		bottom: 0;
		right: calc(50% - 421px);
	}
	.home #drilling{
		margin-top: var(--100px);
	}
	.home #technology{
		margin-top: var(--30px);
	}
	.home #drilling .tiers,
	.home #technology .tiers{
		padding-left: 0;
		text-align: right;
	}
	.home #drilling .tiers svg,
	.home #technology .tiers svg{
		display: inline-block;
	}
	#presentation .intro{
		width: 50%;
	}
	#drilling.single-hub .text,
	#technology.single-hub .text{
		padding-left: var(--30px);
		padding-right: var(--30px);
	}
	#content.solutions .big{
		padding-right: calc(var(--main_column)/12);
		padding-right: calc(var(--main_column)/12);
	}
	#expertise .demi.margin_100{
		margin-bottom: var(--30px);
	}
	#expertise .demi.margin_30 h2{
		margin-top: var(--58px);
	}
	#etapes .center .demi{
		padding-left: var(--30px);
	}
	#content.technology #schema #textes_schemas{
		padding-right: var(--30px);
	}
	.container.single-zone{
		align-items: flex-start;
		margin-bottom: var(--58px);
	}
	.bloc.bck-white.border{
		border: none;
	}
	.category #intro{
		padding-left: var(--30px);
	}
	aside.quart{
		width: calc(calc(100%/3) - calc(var(--gutter)*2/3 ));
	}

}
@media only screen and (max-width: 1024px ) {
	.home #intro > .demi{
		padding-left: 0;
		width: 100%;
	}
	#module_contact > p{
		max-width: 50%;
	}
	#content.solutions .big{
		padding-left: var(--30px);
		padding-right: var(--30px);
	}
	#explications .demi.text{
		padding-right: 0;
	}
	#content.drilling #etapes .quart{
		width: calc(50% - calc(var(--gutter)/2) );
	}
	#hero.banner h1{
		max-width: 100%;
	}
	#hero.banner p{
		width: 75%;
	}
	#content.technology #schema #textes_schemas{
		width: 100%;
		padding-right: var(--30px);
		padding-left: var(--30px);
	}
	#content.technology #schema #schemas{
		width: 100%;
	}
	#content.technology #intro{
		margin-bottom: 0;
	}
	#content.technology #contenu > .demi{
		width: 100%;
	}
	#content.contact > .container .text p{
		padding-right: 0;
	}
}
/* All Mobile Sizes (devices and browser) */
@media only screen and (max-width: 767px) {	
	#content{
		padding-top: 0;
	}
	#content.no-hero {
		padding-top: var(--50px);
	}
	.border{
		border: none;
	}
	/* Icon burger menu */
	.show_menu_mobile{
		align-items: center;
		position: fixed;
		left: var(--20px);
		bottom: var(--20px);
		height: var(--72px);
		width: var(--72px);
		border-radius: 50%;
		background: var(--secondary_color);
		z-index: 100;
		border: 2px solid #fff;
		display: flex;
	}
	.show_menu_mobile .icon{
		margin: auto;
		display: block;
		fill: #fff;
		width: var(--34px);
	}
	.show_menu_mobile .icon .lines{
		height: 4px;
		background: #fff;
		width: 100%;
		position: relative;
		display: block;
	}
	.show_menu_mobile .icon .lines:after,
	.show_menu_mobile .icon .lines:before{
		position: absolute;
		height: 4px;
		background: #fff;
		width: 100%;
		content: "";
		display: block;
		transform-origin: center center;
	}
	.show_menu_mobile .icon .lines:after{
		bottom: 0;
		margin-bottom: -10px;
	}
	.show_menu_mobile .icon .lines:before{
		top: 0;
		margin-top: -10px;
	}
	.show_menu_mobile .icon.close .lines{
		background: var(--secondary_color);
	}
	.show_menu_mobile .icon.close .lines:after{
		transform: rotate(-45deg);
		margin-bottom: 0px;
		margin-top: var(--30px);
	}
	.show_menu_mobile .icon.close .lines:before{
		transform: rotate(45deg);
		margin-top: 0px;
		margin-bottom: var(--30px);
	}

	/* Menu */
	header#header nav#menu_mobile{
		display: flex;
		align-items: center;
		width: 100%;
		float: none;
		position: fixed;
		left: 0;
	    top: 0;
	    bottom: 0;
	    right: 0;
	    background: #fff;
		padding: 0;
		font-size: var(--16px);
		margin-left: -100%;
		z-index: 100;
	}
	header#header nav#menu_mobile.show{
    	margin-left: -0;
	}
	header#header nav#menu_mobile ul{
		margin: auto;
		display: block;
	}
	header#header nav#menu_mobile ul li{
		display: block;
		text-align: center;
		padding: 0;
		margin: 20px 0;
		float: none;
	}
	header#header nav#menu_mobile ul li a,
	#menu_mobile > ul > li > a{
		color: var(--main_black);
		padding: 0;
	}
	header#header nav#menu_mobile ul li.current-menu-item a,
	header#header nav#menu_mobile ul li.current-post-ancestor a,
	header#header nav#menu_mobile ul li.current-menu-parent a,
	header#header nav#menu_mobile ul li.current-category-ancestor a,
	header#header nav#menu_mobile ul li.current-menu-ancestor a,
	header#header nav#menu_mobile ul li.current-page-ancestor a{
		color: var(--secondary_color);
	}
	#menu_mobile > ul > li > ul.sub-menu{
		display: block;
		position: relative;
		background-color: #fff;
		padding: 0 0 1px 0;
	}
	#menu_mobile li.bouton > a:hover,
	#menu_mobile li.bouton > a:focus,
	#menu_mobile li.bouton > a{
		background-color: transparent;
	}
	/* Header */
	.admin-bar header#header {
	    top: 0px;
	}
	header#header{
		position: relative;
		height: auto;
		display: block;
		z-index: 50;
		padding-top: var(--30px);
		padding-bottom: var(--30px);
	}
	/* Grille */
	.demi,
	.tiers,
	.quart,
	.trois-quart,
	.deux-tiers,
	.cinq_douzieme,
	.sept_douzieme{
		float: none;
		width: 100%;
		margin-right: 0px;
	} 
	/* Footer */
	#footer .quart,
	#footer .sixieme{
		width: calc(50% - calc(var(--gutter)/2) );
		margin-bottom: var(--30px);
	}
	#footer{
		padding-bottom: var(--100px);
	}
	/* FAQ */
	.container_qr{
		padding-left: var(--16px);
	}
	#faq h3.quart{
		margin-bottom: var(--30px);
		margin-top: var(--30px);
	}
	#faq{
		padding-bottom: 0;
	}
	/* Module contact */
	#module_contact > p,
	#content.solutions .intro p{
		max-width: 100%;
	}
	aside.quart,
	#hero.banner p,
	#content.drilling #etapes .quart{
		width: 100%;
	}
	/* Projets */
	.single-zone img.demi{
		margin-bottom: var(--10px);
	}
	/* Solutions */
	#drilling.single-hub .text, #technology.single-hub .text{
		padding-top: var(--58px);
	}
	.banner, .bloc.banner {
	  padding: var(--100px) 0 var(--100px) 0;
	}
	#logos .logo_wrapper {
	  max-width: calc(30% - 30px);
	  max-height: 58px;
	}
	#logos {
	  flex-wrap: wrap;
	}
	#explications .image img{
		margin-top: 0;
	}
	#etapes .center .demi{
		padding-left: 0;
	}
	/* HP */
	#grosse-illu {
	  height: 730px;
	  transform: translateY(-230px);
	}
	.home #presentation {
	  margin-top: var(--100px);
	}
	#presentation .intro {
	   width: 100%;
	   margin-top: 100px;
	}
	#presentation h2{
		margin-bottom: 50px;
		padding-left: 0;
	}
	.home #drilling .tiers, .home #technology .tiers{
		text-align: left;
	}
	.home #drilling .deux-tiers, .home #technology .deux-tiers{
		padding-right: 0;
	}
	#technology-illu{
		display: none;
	}
	#drilling svg,
	#technology svg{
		margin-bottom: var(--30px);
	}
	.intro-illu{
		padding-right: var(--30px);
	}
	.home #technology {
		margin-top: var(--58px);
	}
	#logos .logo_wrapper:first-child{
		margin-left: var(--15px);
	}
	#logos .logo_wrapper:last-child{
		margin-right: var(--15px);
	}
	.home #soutient .text {
	  text-align: left;
	}
}

/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
@media only screen and (min-width: 480px) and (max-width: 767px) {}
 
/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
@media only screen and (max-width: 479px) {}