/*
Theme Name: The concept stories
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 */
}

/* = Here it goes!
----------------------------------------------- */
@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-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: 'zofiere';
    src: url('fonts/zofiere-regular-webfont.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'zofiere';
    src: url('fonts/zofiere-italic1-webfont.woff2') format('woff2');
    font-weight: 400;
    font-style: italic;
}
/*  Variables */
:root{
	--main_column: 1024px;
	--gutter: 30px;
	--yellow: #FCF6B2;
	--orange: #FF6C1E;
	--blue: #34D1BF;
	--light-blue: #02F2F2;
	--main_black: #34180B;
	/* font size */
	--5px: 0.3125rem;
	--10px: 0.62rem;
	--12px: 0.75rem;
	--14px: 0.875rem;
	--16px: 1rem;
	--18px: 1.125rem;
	--20px: 1.25rem;
	--22px: 1.375rem;
	--24px: 1.5rem;
	--28px: 1.75rem;
	--30px: 1.875rem;
	--34px: 2.125rem;
	--36px: 2.25rem;
	--40px: 2.5rem;
	--44px: 2.75rem;
	--50px: 3.125rem;
	--52px: 3.25rem;
	--58px: 3.625rem;
	--60px: 3.75rem;
	--72px: 4.5rem;
	--88px: 5.5rem;
	--100px: 6.25rem;
	--130px: 8.125rem;
	--150px: 9.375rem;
	--170px: 10.625rem;
	--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(--light-blue);
    color: var(--main_black);
}
::-moz-selection {
    background: var(--light-blue);
    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
----------------------------------------------- */
.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;
}
.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(20% - calc(var(--gutter)*4/5) ); }
.sixieme{ width: calc(calc(100%/6) - calc(var(--gutter)*5/6) ); }
.trois-quart{ width: calc(75% - calc(var(--gutter)*3/4) ); }
.deux-tiers{ width: calc(calc(100%*calc(2/3)) - calc(var(--gutter)*2/3) ); }
.cinq_douzieme{ width: calc(calc(100%*calc(5/12)) - calc(var(--gutter)/2) ); }
.sept_douzieme{ width: calc(calc(100%*calc(7/12)) - calc(var(--gutter)/2) ); }

/* 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)*4/5) ); }
.sixieme.abs{ width: calc(calc(var(--main_column)/6) - calc(var(--gutter)*5/6) ); }
.trois-quart.abs{ width: calc(var(--main_column)*calc(3/4) - calc(var(--gutter)*3/4) ); }
.deux-tiers.abs{ width: calc(calc(var(--main_column)*calc(2/3)) - calc(var(--gutter)*2/3) ); }
.cinq_douzieme.abs{ width: calc(calc(var(--main_column)*calc(5/12)) - calc(var(--gutter)/2) ); }
.sept_douzieme.abs{ width: calc(calc(var(--main_column)*calc(7/12)) - calc(var(--gutter)/2) ); }

/* 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;
}
.container.float > *{
	float: left;
}
.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);
}
.container.float .demi:nth-child(2n),
.container.float .tiers:nth-child(3n),
.container.float .quart:nth-child(4n),
.container.float .sixieme:nth-child(6n),
.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),
.container.float .sixieme:nth-child(6n+1){
	clear: both;
}
hr.clear{
	height: 1px;
	display: block;
	margin: 0;
	padding: 0;
	clear: both;
	width: 100%;
	border: none;
	background: none;
}
/* Padding and margin */
.padding_right{ padding-right: calc( calc(var(--main_column)/12) + calc(var(--gutter)*1/12) ); }
.padding_left{ padding-left: calc( calc(var(--main_column)/12) + calc(var(--gutter)*1/12) ); }
.margin_right{ margin-right: calc( calc(var(--main_column)/12) + calc(var(--gutter)*1/12) ); }
.margin_left{ margin-left: calc( calc(var(--main_column)/12) + calc(var(--gutter)*1/12) ); }
.padding_right_double{ padding-right: calc(calc(var(--main_column)/6) + calc(var(--gutter)*1/6) ); }
.padding_left_double{ padding-left: calc(calc(var(--main_column)/6) + calc(var(--gutter)*1/6) ); }
.margin_right_double{ margin-right: calc(calc(var(--main_column)/6) + calc(var(--gutter)*1/6) ); }
.margin_left_double{ margin-left: calc(calc(var(--main_column)/6) + calc(var(--gutter)*1/6) ); }


/* Sticky */
.sticky{
	position: -webkit-sticky;
	position: sticky;
	top: 180px;
	z-index: 6;
}

/* 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;
	display: block;
	overflow: hidden;
	padding: 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;
	left: 0;
}
.banner > .center,
.banner > .demi{
	position: relative;
	z-index: 5;
	color: #fff;
}
.banner .center > *:last-child,
.banner .demi > *: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%;
}


/* = Typo
----------------------------------------------- */
body{
    color: var(--main_black);
    font-family: 'aestetico', sans-serif;
    font-size: var(--16px);
}
p{
    line-height: 1.4em;
    margin-bottom: 1.2em;
}
h1, h2{
	font-family: 'zofiere', serif;
    font-weight: 400;
}
h1{
	font-size: var(--44px);
}
h2{
	font-size: var(--34px);
	margin-top: var(--72px);
	margin-bottom: var(--20px);
}
.chapeau{
	font-size: var(--20px);
	font-weight: 700;
	font-style: italic;
}
.text h3{
	font-family: 'zofiere', serif;
    font-weight: 400;
    font-size: var(--20px);
	margin-bottom: var(--20px);
	margin-top: var(--40px);
}
.text li{
  line-height: 1.4em;
  font-size: var(--16px);
  position: relative;
  padding-left: var(--12px);
}

.text ul li:before{
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 9px;
  border-radius: 50%;
  background-color: var(--orange);
  width: 6px;
  height: 6px;
}
.text ul,
.text ol{
    margin-bottom: 1.2em;
}
.text p ~ ul,
.text p ~ ol{
	margin-top: -1em;
}
.text ol{
  counter-reset: repas;
}
.text ol li{
  counter-increment: repas;
  padding-left: var(--20px);
}
.text ol li:before{
  content: counter(repas);
  font-weight: bold;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  color: var(--orange);
}
.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: none;
	color: var(--blue);
}
.text p a:hover{
	background: var(--blue);
	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: 400;
	background-color: var(--main_black) !important;
	color: #fff !important;
	padding: 20px 30px;
	text-decoration: none !important;
}
.btn:hover,
input[type=submit]:hover{
	background-color: var(--orange) !important;
}
.btn.border{
	background-color: transparent !important;
	border: 2px solid var(--main_black) !important;
	color: var(--main_black) !important;
}
.btn.border:hover{
	background-color: var(--orange) !important;
	color: #fff !important;
	border: 2px solid var(--orange) !important;
}
.btn .icon,
p .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 #eee;
	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_black);
}
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(--blue);
}

/* 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='Subject'],
.wpcf7-form-control-wrap[data-name='Nom'],
.wpcf7-form-control-wrap[data-name='Name'],
.wpcf7-form-control-wrap[data-name='Societe'],
.wpcf7-form-control-wrap[data-name='Prenom'],
.wpcf7-form-control-wrap[data-name='Surname'],
.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);
}
form .wpcf7-list-item{
	margin:0 ;
}
.wpcf7-form-control-wrap[data-name='Subject']{
  position: relative;
}
.wpcf7-form-control-wrap[data-name='Subject'] select {
	appearance: none;
	width: 100%;
	font-size: var(--14px);
	padding: 15px 13px 15px 13px;
	background-color: #fff;
	border: 1px solid #eee;
	border-radius: 0;
	color: var(--main_black);
	cursor: pointer;
}
.wpcf7-form-control-wrap[data-name='Subject']::before,
.wpcf7-form-control-wrap[data-name='Subject']::after {
  --size: 0.3rem;
  position: absolute;
  content: "";
  right: 1rem;
  pointer-events: none;
}

.wpcf7-form-control-wrap[data-name='Subject']::before {
  border-left: var(--size) solid transparent;
  border-right: var(--size) solid transparent;
  border-bottom: var(--size) solid black;
  top: 40%;
}

.wpcf7-form-control-wrap[data-name='Subject']::after {
  border-left: var(--size) solid transparent;
  border-right: var(--size) solid transparent;
  border-top: var(--size) solid black;
  top: 55%;
}

/* Style the arrow inside the select element: */
.select-selected:after {
  position: absolute;
  content: "";
  top: 14px;
  right: 10px;
  width: 0;
  height: 0;
  border: 6px solid transparent;
  border-color: #fff transparent transparent transparent;
}

/* Point the arrow upwards when the select box is open (active): */
.select-selected.select-arrow-active:after {
  border-color: transparent transparent #fff transparent;
  top: 7px;
}

/* style the items (options), including the selected item: */
.select-items div,.select-selected {
  color: #ffffff;
  padding: 8px 16px;
  border: 1px solid transparent;
  border-color: transparent transparent rgba(0, 0, 0, 0.1) transparent;
  cursor: pointer;
}

/* Style items (options): */
.select-items {
  position: absolute;
  background-color: DodgerBlue;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 99;
}

/* Hide the items when the select box is closed: */
.select-hide {
  display: none;
}

.select-items div:hover, .same-as-selected {
  background-color: rgba(0, 0, 0, 0.1);
}





.wpcf7-form-control-wrap.quizz{
	display: inline-block;
	width: auto;
}
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%;
	padding: var(--40px) 0 var(--40px) 0;
	color: #fff;
	z-index: 50;
}
#header.white{
	background-color: #fff;
	color: var(--main_black);
}
#header.middle{
	padding: var(--20px) 0 var(--20px) 0;
	background-color: #fff;
	color: var(--main_black);
}
#logo,
#logo svg,
#logo img{
	width: 167px;
	height: auto;
}
#header.middle #logo,
#header.middle #logo svg,
#header.middle #logo img{
	width: 120px;
}
#menu_mobile li{
	font-weight: 400;
	font-size: var(--16px);
	padding-bottom: var(--10px);
	display: inline-block;
	margin-left: var(--20px);
}
#menu_mobile li.mobile{
	display: none;
}
#menu_mobile > ul > li a:hover{
	color: var(--light-blue);
}
nav#menu_mobile ul li.current-menu-item,
nav#menu_mobile ul li.current-post-ancestor,
nav#menu_mobile ul li.current-menu-parent,
nav#menu_mobile ul li.current-category-ancestor,
nav#menu_mobile ul li.current-menu-ancestor,
nav#menu_mobile ul li.current-page-ancestor{
	color: var(--blue);
	cursor: default;
}
#menu_mobile li.menu-item-has-children:after{
	content: "";
	display: inline-block;
	width: var(--20px);
	height: var(--20px);
	background-image: url(images/arrow-drop-down-line-wt.svg);
	background-size: var(--20px) var(--20px);
	vertical-align: middle;
	margin-left: -5px;
}
#header.white #menu_mobile li.menu-item-has-children:after,
#header.middle #menu_mobile li.menu-item-has-children:after{
	background-image: url(images/arrow-drop-down-line.svg);
}
#menu_mobile li.menu-item-has-children:hover:after{
	transform: rotate(90deg);
}
#menu_mobile > ul > li > ul{
	display: none;
	position: absolute;
	z-index: 505;
	background-color: #fff;
	padding: var(--10px);
	width: 200px;
	margin-top: var(--5px);
	margin-left: calc(var(--10px) * -1);
	color: var(--main_black);
}
#menu_mobile > ul > li:hover > ul{
	display: block;
}
#menu_mobile > ul > li > ul > li{
	text-transform: none;
	width: 100%;
	margin-left: 0;
}
#menu_mobile > ul > li > ul > li a:hover{
	opacity: 0.75;
}
#menu_mobile > ul > li > ul > li:last-child{
	margin-bottom: 0;
}


/* = Footer
----------------------------------------------- */
#footer{
	padding-top: var(--50px);
}
#logo-footer{
	display: block;
	width: 167px;
	height: 107px;
	margin-bottom: var(--20px);
}
#footer a:hover{
	color: var(--blue);
}
#footer h3{
	font-weight: 700;
	text-transform: uppercase;
	font-size: var(--14px);
	margin-bottom: var(--20px);
}
#footer li{
	font-size: var(--14px);
	line-height: 1.6em;
}
/* RS */
ul.social{
	justify-content: center;
	width: 167px;
}
ul.social .social-item{
	width: var(--20px);
	height: auto;
	margin-right: var(--5px);
	margin-left: var(--5px);
}
ul.social .social-item svg,
ul.social .social-item img{
	width: 20px;
	height: auto;
}
#footer .legal{
	font-size: var(--14px);
	padding-bottom: var(--50px);
	padding-top: var(--30px);
	padding-left: calc(25% + calc(var(--gutter)*1/4) );
}

/* = Newsletter
----------------------------------------------- */
h2.border:after,
h1.border:after,
#newsletter_blog h3:after{
	content: "";
	display: block;
	height: 1px;
	width: calc(calc(var(--main_column)/12) - calc(var(--gutter)*11/12) );
	background-color: var(--main_black);
	margin-top: var(--20px);
}
.banner h1.border:after,
.banner h2.border:after,
#newsletter_blog h3:after{
	background-color: #fff;
}



/* = Hero section
----------------------------------------------- */
#hero{
	height: 70vh;
	padding: 0;
}
#hero.banner:before{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.4);
	z-index: 2;
}
#hero h1{
	margin-bottom: var(--20px);
}
/* Sans portrait */
#hero.single-banner{
	display: flex;
}
#hero.single-banner .center{
	padding-top: var(--88px);
	text-align: center;
}
#hero.single-banner .meta{
	position: absolute;
	left: 0;
	margin-left: calc(50vw - calc(var(--main_column)/2));
	bottom: 0;
	z-index: 5;
}
.meta{
	font-size: var(--14px);
	line-height: 1.2em;
	font-weight: 300;
}
.meta p{
	line-height: 1.1em;
	margin-bottom: 1.1em;
}
.meta span{
	font-weight: 700;
	font-style: normal;
}
/* Avec portrait */
#hero.portrait-banner{
	overflow: visible;
	margin-bottom: var(--100px);
}
#hero.portrait-banner .center{
	height: 100%;
}
#hero.portrait-banner .center .deux-tiers{
	padding-top: var(--88px);
	text-align: center;
}
#hero.portrait-banner .center .tiers{
	align-self: flex-end;
	margin-bottom: -70px;
}
#hero.portrait-banner article.portrait.simple{
	margin-bottom: 0;
	position: relative;
}
#hero.portrait-banner article.portrait.simple .texte{
	position: absolute;
	bottom: 0;
	transform: translateX(calc(100% + var(--30px)));
	right: 0;
	color: var(--main_black);
}
#hero.portrait-banner article.portrait.simple .texte .all-arrow-link svg{
	fill: var(--main_black);
}
#hero.portrait-banner article.portrait.simple .texte .all-arrow-link{
	display: block;
}
#hero.portrait-banner article.portrait.simple .texte .all-arrow-link:hover svg{
	transform: translateX(10px);
}


/* = Page builder
----------------------------------------------- */
#builder{
	padding-top: var(--72px);
	padding-bottom: var(--72px);
}
.bloc.image img{
	display: block;
	width: 100%;
	margin-bottom: var(--gutter);
}
.bloc.newsletter{
	margin-bottom: var(--gutter);
}


/* = Citation
----------------------------------------------- */
#builder blockquote{
	background-color: var(--yellow);
	padding: var(--30px) 0;
	margin-top: var(--40px);
	margin-bottom: var(--40px);
}
#builder blockquote p{
	margin-bottom: 0;
	font-style: italic;
	position: relative;
}
#builder blockquote p:before{
	content: "";
	display: block;
	background-image: url(images/quote.svg);
	background-size: 75px 60px;
	position: absolute;
	left: 0;
	margin-left: calc( calc(var(--main_column)/10) + calc(var(--gutter)*1/12) );;
	width: 75px;
	height: 60px;
	top: 0;
	transform: translateY(-80%);
}

/* = Infos
----------------------------------------------- */
#intro_centre{
	background-color: var(--yellow);
	position: relative;
}
#intro_centre:before{
	content: "";
	display: block;
	width: 100%;
	height: 170px;
	position: absolute;
	z-index: 1;
	transform: translateY(0%);
	top: 0;
	background: #fff;
}
#intro_centre:after{
	content: "";
	display: block;
	width: 100%;
	height: 30px;
	position: absolute;
	z-index: 1;
	transform: translateY(0%);
	bottom: 0;
	background: #fff;
}
#intro_centre .demi.text{
	padding-top: 230px;
	padding-bottom: 130px;
}
.iframe iframe{
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 5;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
}
p.contact,
p.info_pratique{
	position: relative;
	padding-left: 35px;
	font-weight: 700;
	margin-bottom: var(--30px);
}
p.contact .icon,
p.info_pratique .icon{
	position: absolute;
	left: 0;
	top: 3px;
}
p.horaires span.jour,
p.info_pratique span.titre{
	width: 100px;
	font-weight: 400;
}
p.horaires span,
p.info_pratique span{
	display: inline-block;
	vertical-align: top;
}
#infos_pratiques{
	padding-top: var(--50px);
	padding-bottom: var(--20px);
}
#infos_pratiques h3{
	font-weight: 600;
	margin-bottom: var(--40px);
}


/* = 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(25% - calc(var(--gutter)*3/4) );
}
/* 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;
  }
}
@media (min-width: 1200px) {
  .grid-col:nth-child(4) {
    display: block;
  }
}
.grid-item{
	margin-bottom: var(--30px);
	display: block;
}
.grid-item:hover{
	opacity: 0.5;
}

/* = Featured - Stores
----------------------------------------------- */
h2.small{
	text-transform: uppercase;
    font-family: 'aestetico', sans-serif;
    font-size: var(--14px);
    font-weight: 700;
    margin-bottom: var(--50px);
}
article.featured.store{
	margin-bottom: var(--50px);
}
article.featured.store .title{
	font-family: 'zofiere', serif;
    font-weight: 400;
    font-size: var(--24px);
    margin-bottom: var(--10px);
}
article.featured.store .title a:hover{
	color: var(--blue);
}
article.featured.store img.attachment-store_thumb{
	display: block;
	width: 100%;
}
.image-link img{
	display: block;
}
.image-link:hover img{
	opacity: 0.75;
}
.image-link{
	background-color: var(--blue);
	margin-bottom: var(--5px);
	display: block;
}
.arrow-link,
.arrow-link svg,
.arrow-link img,
.all-arrow-link svg,
.all-arrow-link img{
	display: block;
	width: var(--16px);
	height: var(--12px);
	fill: var(--blue);
}
.arrow-link:hover{
	transform: translateX(10px);
}

/* = Categories
----------------------------------------------- */
#content.no-hero{
	padding-top: var(--250px);
}
#intro-cat{
	margin-bottom: var(--50px);
}
#intro-cat p{
	font-size: var(--14px);
}
#intro-cat h1{
	font-size: var(--72px);
	margin-bottom: var(--30px);
}
#intro-cat nav ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: stretch;
}
#intro-cat nav ul li{
	width: calc(calc(100%/3) - calc(var(--gutter)*2/3 ));
	font-weight: 300;
	font-size: var(--14px);
	margin-bottom: var(--10px);
}
#intro-cat nav ul li a:hover{
	color: var(--blue);
}

/* = Pagination
----------------------------------------------- */
.pagination{
	display: block;
	width: 100%;
	clear: both;
	float: none;
	text-align: center;
	margin-top: var(--50px);
	margin-bottom: var(--50px);
}
.pagination span,
.pagination a{
	width: var(--40px);
	display: inline-block;
	height: var(--40px);
	border-radius: 50%;
	margin: 0 var(--5px);
	padding: 13px 0;
	text-align: center;
	line-height: 1em;
}
.pagination span{
	background-color: var(--main_black);
	color: #fff;
}
.pagination a{
	background-color: transparent;
	color: var(--main_black);
}
.pagination a:hover{
	background-color: var(--light-blue);
}


/* = Portrait
----------------------------------------------- */
#hero-portrait h1{
	font-size: var(--72px);
}
#hero-portrait h1:after{
	margin-bottom: var(--20px);
}
#hero-portrait p.chapeau{
	margin-bottom: 0;
}
article.portrait.simple{
	margin-bottom: var(--50px);
}
article.portrait.simple .title{
	font-weight: 700;
	font-size: var(--16px);
	margin-top: 0;
	margin-bottom: 0;
    font-family: 'aestetico', sans-serif;
}
article.portrait.simple p{
	font-weight: 300;
	font-style: italic;
	font-size: var(--14px);
	margin-bottom: var(--5px);
}
#builder article.bigone{
	margin-bottom: var(--52px);
}

/* = Insights
----------------------------------------------- */
article.post{
	margin-bottom: var(--58px);
}
article.post p.number{
	margin-bottom: 0;
	font-size: var(--14px);
	font-weight: 300;
}
article.post .title{
	font-size: var(--24px);
	margin-top: var(--10px);
	margin-bottom: var(--10px);
}
article.post .title:after{
	margin-bottom: var(--10px);
	margin-top: var(--10px);
}
article.post .image-link{
	background-color: var(--orange);
}
article.post .arrow-link svg{
	fill: var(--orange);
}
article.post .title a:hover{
	color: var(--orange);
}
#content article.post.single-insight h1{
	font-size: var(--40px);
}
article.post.single-insight .grid-col {
	width: calc(calc(100% / 3) - calc(var(--gutter)*2/3) );
}
.insight-meta{
	font-style: italic;
}
.insight-meta a{
	text-decoration: underline;
}
.insight-meta a:hover{
	color: var(--orange);
}
article.post.single-insight .attachment-post-thumbnail{
	display: block;
	margin-bottom: var(--30px);
}
article.post.single-insight .text blockquote{
	font-style: italic;
	position: relative;
	padding: var(--30px) 0 var(--50px) 0;
	margin: var(--50px) 0;
}
article.post.single-insight .text blockquote:before{
	content: "";
	display: block;
	background-image: url(images/quote.svg);
	background-size: 75px 60px;
	position: absolute;
	left: 0;
	width: 75px;
	height: 60px;
	top: 0;
	transform: translate(-50%, -30%);
	z-index: 0;
}
article.post.single-insight .text blockquote:after{
	content: "";
	display: block;
	height: 100%;
	width: 100vw;
	background-color: var(--yellow);
	z-index: -1;
	top: 0;
	left: 0;
	margin-left: calc(calc(50vw - calc(var(--main_column)/2))* -1);
	position: absolute;
}
article.post.single-insight .text blockquote > *:last-child,
#newsletter_blog > *:last-child{
	margin-bottom: 0;
}
article.post.single-insight .text blockquote > *{
	position: relative;
	z-index: 2;
}
#newsletter_blog{
	padding: var(--72px) var(--30px) var(--30px) var(--30px);
}
#newsletter_blog h3,
#newsletter_blog p,
#newsletter_blog form{
	position: relative;
	z-index: 5;
}
#newsletter_blog h3{
	font-family: 'zofiere', serif;
    font-weight: 400;
    font-size: var(--24px);
    margin-bottom: var(--10px);
}
#ad{
	margin-top: var(--30px);
	display: block;
}


/* = HP
----------------------------------------------- */
/* Hero */
#hero .btn.border{
	background-color: transparent !important;
	border: 1px solid #fff !important;
	color: #fff !important;
}
#hero .btn.border:hover{
	background-color: #fff !important;
	border: 1px solid #fff !important;
	color: var(--main_black) !important;
}
/* Big stores */
#hero_hp_title{
	font-family: 'zofiere', serif;
    font-weight: 400;
	font-size: var(--72px);
	text-align: center;
	margin-bottom: var(--88px);
}
article.bigone .title,
article.bigtwo .title{
	font-family: 'zofiere', serif;
    font-weight: 400;
    font-size: var(--40px);
    margin-bottom: var(--10px);
}
article.bigone .title:after,
article.bigtwo .title:after,
#content.about h1:after{
	content: "";
	display: block;
	height: 1px;
	width: calc(calc(var(--main_column)/12) - calc(var(--gutter)*11/12) );
	background-color: var(--main_black);
	margin-top: var(--20px);
	margin-bottom: var(--20px);
}
article.bigtwo .title:after{
	display: inline-block;
}
article.bigone .meta.container{
	justify-content: flex-start;
}
.home article.bigone .meta.container{
	justify-content: space-between;
}
article.bigtwo{
	text-align: right;
}
article.bigtwo .texte.demi{
	padding-top: var(--72px);
	padding-bottom: var(--72px);
}
article.bigtwo .arrow-link{
	display: inline-block;
	margin-bottom: var(--30px);
}
.center-CTA{
	text-align: center;
	padding-top: var(--50px);
	padding-bottom: var(--88px);
}
#cities_hp{
	background-color: var(--yellow);
	padding: var(--72px) 0;
}
#cities_hp h2{
	margin-top: 0;
}
#cities_hp p{
	width: 33%;
}
.item_city{
	font-weight: 300;
}
.item_city:hover,
.item_city:focus{
	text-decoration: underline;
}
#about{
	margin-top: var(--50px);
	margin-bottom: -50px;
}
#about img{
	display: block;
	position: relative;
	z-index: 2;
}
#about .align_bottom{
	margin-bottom: var(--gutter);
}
#about .text > *:last-child{
	margin-bottom: 0;
}
/* Ads */
#sponso_1{
	padding-bottom: var(--250px);
	margin-bottom: -190px;
	margin-top: -134px;
}
#sponso_1 > img,
#sponso_2 > img{
	z-index: -1;
}
#sponso_2{
	padding-bottom: 400px;
	margin-bottom: -300px;
}

/* = City single
----------------------------------------------- */
#main_loop_city h2 .city{
	font-size: var(--72px);
}
#main_loop_city .container{
	margin-top: var(--72px);
}


/* = Cities page
----------------------------------------------- */
#cities_list{
	text-align: center;
	margin-top: var(--88px);
}
#cities_list .demi{
	margin: auto;
}
.single_city.banner:before{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.6);
	z-index: 2;
}
.single_city.banner:hover:before{
	background-color: rgba(52, 209, 191, 0.9);
}
.single_city.banner:hover,
.single_city.banner:hover .center{
	color: var(--main_black);
}


/* = About
----------------------------------------------- */
#content.about .deux-tiers{
	transform: translateY(var(--88px));
}
#content.about .tiers.image img{
	margin-bottom: var(--gutter);
	display: block;
}
#content.about p.signature{
	font-family: 'zofiere', serif;
    font-weight: 400;
    font-size: var(--40px);
    margin-bottom: var(--88px);
    margin-top: var(--88px);
    margin-left: calc(50% - calc(var(--gutter)/2) );
}


/* = Contact
----------------------------------------------- */
#content.contact{
	padding-bottom: var(--88px);
}


/* #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);
	}
	/* Valeures absolues */
	.all_width.abs{ width: 100%; }
	.demi.abs{ width: calc(calc(100%/2) - calc(var(--gutter)/2) ); }
	.tiers.abs{ width: calc(calc(100%/3) - calc(var(--gutter)*2/3 )); }
	.quart.abs{ width: calc(calc(100%/4) - calc(var(--gutter)*3/4) ); }
	.cinquieme.abs{ width: calc(calc(100%/5) - calc(var(--gutter)*4/5) ); }
	.sixieme.abs{ width: calc(calc(100%/6) - calc(var(--gutter)*5/6) ); }
	.trois-quart.abs{ width: calc(100%*calc(3/4) - calc(var(--gutter)*3/4) ); }
	.deux-tiers.abs{ width: calc(calc(100%*calc(2/3)) - calc(var(--gutter)*2/3) ); }
	.cinq_douzieme.abs{ width: calc(calc(100%*calc(5/12)) - calc(var(--gutter)/2) ); }
	.sept_douzieme.abs{ width: calc(calc(100%*calc(7/12)) - calc(var(--gutter)/2) ); }
	#header{
		padding: var(--20px) 0 var(--20px) 0;
	}
	#logo, #logo svg, #logo img{
		width: 120px;
	}
	#hero .meta{
		display: none;
	}
	h1,
	article.bigone .title,
	article.bigtwo .title{
	  font-size: var(--30px);
	}
	article.bigone .title .title{
		margin-top: var(--30px);
	}
	.bigone .padding_right{
		padding-right: 0;
	}
	article.bigone .title::after, article.bigtwo .title::after, #content.about h1::after {
		margin-top: var(--10px);
		margin-bottom: var(--10px);
	}
	#about{
		margin-bottom: var(--30px);
	}
	#about h2{
		margin-top: var(--30px);
	}
	#about .padding_right_double{
		padding-right: 0;
	}
	#about .quart.text,
	#about .cinq_douzieme.text{
		width: calc(calc(100%/3) - calc(var(--gutter)*2/3 ));
	}
	.bigtwo.padding_left_double{
		padding-left: calc( calc(var(--main_column)/12) + calc(var(--gutter)*1/12) );
	}
	.center-CTA{
		padding-top:var(--10px);
	}
	.grid-col{
		width: calc(calc(100%/3) - calc(var(--gutter)*2/3 ));
	}
	#intro-cat .tiers,
	#cities_hero .tiers{
		width: 50%;
	}
	#about .quart.text{
		margin-bottom: var(--30px);
	}
}
 
/* All Mobile Sizes (devices and browser) */
@media only screen and (max-width: 767px) {	

	/* Icon burger menu */
	.show_menu_mobile{
		align-items: center;
		position: fixed;
		left: 20px;
		bottom: 20px;
		height: 75px;
		width: 75px;
		border-radius: 50%;
		background: var(--main_black);
		z-index: 100;
		border: 2px solid #fff;
		display: flex;
	}
	.show_menu_mobile .icon{
		margin: auto;
		display: block;
		fill: #fff;
		width: 35px;
	}
	.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(--main_black);
	}
	.show_menu_mobile .icon.close .lines:after{
		transform: rotate(-45deg);
		margin-bottom: 0px;
		margin-top: 30px;
	}
	.show_menu_mobile .icon.close .lines:before{
		transform: rotate(45deg);
		margin-top: 0px;
		margin-bottom: 30px;
	}
	#menu_mobile > ul > li > ul,
	#menu_mobile > ul > li:hover > ul,
	#menu_mobile li.menu-item-has-children::after{
		display: none;
	}

	/* Menu */
	#header{
		color: var(--main_black);
	}
	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: #eee;
		padding: 0;
		font-size: 16px;
		margin-left: -100%;
		z-index: 100;
	}
	header#header nav#menu_mobile.show{
    	margin-left: -0;
	}
	header#header nav#menu_mobile ul{
		margin: auto;
	}
	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{
		color: var(--main_black);
	}
	#menu_mobile li.mobile{
		display: block;
	}
	/* Header */
	.admin-bar header#header {
	    top: 0px;
	}
	header#header{
		position: relative;
		height: auto;
		display: block;
		z-index: 50;
	}
	/* Grille */
	.demi,
	.tiers,
	.quart,
	.trois-quart,
	.deux-tiers,
	#about .quart.text,
	#about .cinq_douzieme.text,
	#intro-cat .tiers,
	#cities_hero .tiers,
	.sixieme,
	.cinq_douzieme,
	.sept_douzieme,
	.all_width.abs,
	.demi.abs,
	.tiers.abs,
	.quart.abs,
	.cinquieme.abs,
	.sixieme.abs,
	.trois-quart.abs,
	.deux-tiers.abs,
	.cinq_douzieme.abs,
	.sept_douzieme.abs{
		float: none;
		width: 100%;
	}
	.padding_right,
	.padding_right_double{
		padding-right: 0;
	}
	.padding_left,
	.padding_left_double,
	.bigtwo.padding_left_double{
		padding-left: 0;
	}
	article.bigtwo{
		text-align: left;
	}
	#footer .sixieme {
		width: calc(50% - calc(var(--gutter)/2) );
		margin-bottom: var(--40px);
	}
	#content.about .deux-tiers{
		transform: translateY(0);
	}
	.grid-col{
		width: calc(50% - calc(var(--gutter)/2 ));
	}
	#content.no-hero {
	  padding-top: var(--50px);
	}
	.banner, .bloc.banner{
		padding-top: var(--50px);
		padding-bottom: var(--50px);
	}
	ul.social{
		margin-bottom: var(--50px);
		justify-content: flex-start;
		width: 100%;
	}
	#footer .legal{
		padding-bottom: var(--20px);
	}
	#hero_hp_title{
		font-size: var(--30px);
	}
	.meta p.tiers,
	.bigtwo .meta p{
		width: calc(50% - calc(var(--gutter)/2) );
	}
	#cities_hp p{
		width: 100%;
	}
	.container.float > *{
		float: none;
		width: 100%;
		display: block;
	}
}

/* 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) {}