body > header {
	padding: 0.5em 1em;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	font-size: 1rem;
	z-index: 50;
	transition: all 0.36s cubic-bezier(0.4, 0, 1, 1)}
body > header > .background_header {
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
	background: #fff}
body.outofviewport > header > .background_header {	transition: opacity 0.36s cubic-bezier(0.4, 0, 1, 1)}
body:not(.outofviewport) > header > .background_header {	transition: opacity 0.36s cubic-bezier(0.4, 0, 1, 1)}
body > header.show > .background_header {	transition: opacity 0.09s cubic-bezier(0.4, 0, 1, 1)}
body:not(.outofviewport) > header > .background_header {	opacity: 0}
body.outofviewport > header > .background_header,
body.outofviewport > header.show > .background_header,
body.mentions-legales.scroll > header > .background_header,
body.erreur.scroll > header > .background_header {
	opacity: 1;
	box-shadow: 0 10px 20px rgba(0,0,0,0.025)}
body.mentions-legales > header > .background_header,
body.erreur > header > .background_header {	opacity: 1}
body > header > .center {	max-width: 100%}
body > header > .center > .flex {	padding: 0 1em}
body > header > .flex > .container_flex.small > ul.flex > li {	margin: 0 0.5em}
body > header > .flex > .container_flex.small > ul.flex > li:first-child {	margin-left: 0}
body > header > .flex > .container_flex.small > ul.flex > li:last-child {	margin-right: 0}

/************************************************************************************************************************************************************/
/* LOGO																																						*/
/************************************************************************************************************************************************************/
body > header > .flex > .container_flex.small#logo {
	width: 25%;
	z-index: 5}
body:not(.outofviewport):not(.mentions-legales):not(.erreur) > header > .flex > .container_flex#logo {
	visibility: hidden;
	opacity: 0;
	transition: all 0.36s cubic-bezier(0.77, 0, 0.175, 1)}
body.outofviewport > header > .flex > .container_flex#logo {
	visibility: visible;
	opacity: 1;
	transition: all 0.36s cubic-bezier(0.77, 0, 0.175, 1)}
body > header > .flex > .container_flex#logo > a {
	display: inline-block;
	line-height: 0}
body > header > .flex > .container_flex#logo > a > img {
	max-height: 9em;
	max-width: 100%;
	filter: brightness(1000%);
	transition: all 0.15s linear}
body.mentions-legales > header > .flex > .container_flex#logo > a > img,
body.erreur > header > .flex > .container_flex#logo > a > img {
	max-height: 6em;
	filter: brightness(100%)}
body.scroll > header > .flex > .container_flex#logo > a > img {
	max-height: 4em;
	max-width: 100%;
	filter: brightness(100%);
	transition: all 0.15s linear}

/************************************************************************************************************************************************************/
/* MENU																																						*/
/************************************************************************************************************************************************************/
body > header > .flex > .container_flex.xmedium > .flex.items_stretch > nav,
body > header > .flex > .container_flex.xmedium > .flex.items_stretch > nav > div  {	height: 100%}
body > header > .flex > .container_flex.xmedium .button_menu_container {
	display: inline-block;
	padding: 0 0;
	overflow: hidden;
	position: relative;
	z-index: 11;
	cursor: pointer;
	transition: 0.36s cubic-bezier(0.4, 0, 1, 1) 0s}
body > header > .flex > .container_flex.xmedium .button_menu_container a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	padding: 0.25em 0 0.25em 0.5em;
	text-align: center;
	border-radius: 10px;
	color: #fff}
body.outofviewport > header > .flex > .container_flex.xmedium .button_menu_container a,
body.mentions-legales > header > .flex > .container_flex.xmedium .button_menu_container a,
body.erreur > header > .flex > .container_flex.xmedium .button_menu_container a {	color: #3a2e24}
body.hasSlider:not(.scroll) > header > .flex > .container_flex.xmedium .button_menu_container a:not(.show) {
	color: #fff;
	transition: background 0s linear 0s}
body > header > .flex > .container_flex.xmedium .button_menu_container a > span {
	font-family: 'Libre Baskerville', 'Helvetica', sans serif;
	text-transform: uppercase;
	transition: 0.36s linear 0.36s}
body > header > .flex > .container_flex.xmedium .button_menu_container a > span.menu {
	font-size: 0.8rem;
	margin-left: 0.5em;
	transition: all 0.36s linear 0s}
body > header > .flex > .container_flex.xmedium .button_menu_container a > span.open {
	display: inline-block;
	overflow: hidden;
	color: #fff;
	transition: all 0.72s cubic-bezier(.19,1,.22,1) 0s}
body > header > .flex > .container_flex.xmedium .button_menu_container a > span.open {
	top: -1px;
	position: relative}
body > header > .flex > .container_flex.xmedium .button_menu_container a.show span.open {	transform: rotate(45deg)}
body > header > .flex > .container_flex.xmedium .button_menu_container a span > .line {
	display: block;
	height: 2px;
	width: 15px;
	background: #fff;
	border: 1px solid transparent;
	border-radius: 10px;
	margin: 0 auto 3px;
	transform: translateX(0%);
	transition: all 0.72s cubic-bezier(.19,1,.22,1) 0s}
body > header > .flex > .container_flex.xmedium .button_menu_container a span > .line:last-child {	margin: 0 auto 0}
body > header > .flex > .container_flex.xmedium .button_menu_container a:not(.show) span > .line {	background: #fff}
body.hasSlider:not(.scroll) > header > .flex > .container_flex.xmedium .button_menu_container a:not(.show) span > .line {	background: #fff}
body.outofviewport > header > .flex > .container_flex.xmedium .button_menu_container a span > .line,
body.mentions-legales > header > .flex > .container_flex.xmedium .button_menu_container a span > .line,
body.erreur > header > .flex > .container_flex.xmedium .button_menu_container a span > .line {	background: #3a2e24}
body > header > .flex > .container_flex.xmedium .button_menu_container a.show span > .line:nth-child(1),
body > header > .flex > .container_flex.xmedium .button_menu_container a.show span > .line:nth-child(3) {	transition: all 0.72s cubic-bezier(.19,1,.22,1) 0s}
body > header > .flex > .container_flex.xmedium .button_menu_container a.show span > .line:nth-child(1) {
	transform: rotate(90deg) translateX(40%) scale(1.01);
	transform-origin: 50%}
body > header > .flex > .container_flex.xmedium .button_menu_container a.show span > .line:nth-child(2) {	width: 13px}
body > header > .flex > .container_flex.xmedium .button_menu_container a.show span > .line:nth-child(3) {
	opacity: 0;
	transform: translateY(-8px)}
body > header > .flex > .container_flex.xmedium nav > div > ul#menu {
	font-size: 0.75rem;
	text-transform: uppercase;
	text-align: right}
body > header > .flex > .container_flex.xmedium nav > div > ul#menu > li {
	padding: 0 0.5em 0;
	margin: 0 0.5em;
	line-height: 1.5em}
body > header > .flex > .container_flex.xmedium nav > div > ul#menu > li:first-child {	margin-left: 0}
body > header > .flex > .container_flex.xmedium nav > div > ul#menu > li:last-child {	margin-right: 0}
body:not(.outofviewport):not(.mentions-legales):not(.erreur) > header > .flex > .container_flex.xmedium nav > div > ul#menu > li a,
body:not(.outofviewport):not(.mentions-legales):not(.erreur) > header > .flex > .container_flex.xmedium nav > div > ul#menu > li span {	color: #fff}
body > header > .flex > .container_flex.xmedium nav > div > ul#menu > li#active a,
body > header > .flex > .container_flex.xmedium nav > div > ul#menu > li#active span,
body > header > .flex > .container_flex.xmedium nav > div > ul#menu > li.active a,
body > header > .flex > .container_flex.xmedium nav > div > ul#menu > li.active span {	color: #ba6f40}
body > header > .flex > .container_flex.xmedium nav > div > ul#menu > li > ul > li#active a,
body > header > .flex > .container_flex.xmedium nav > div > ul#menu > li > ul > li#active span {  color: #ba6f40}
body > header > .flex > .container_flex.xmedium nav > div > ul#menu > li > .hasMenu {  cursor: pointer}
body > header > .flex > .container_flex.xmedium nav > div > ul#menu > li > ul {	
	max-height: 0;
	min-width: calc(100% + 0.6em);	
	top: 100%;
	left: 0;
	overflow: hidden;
	position: absolute;
	text-align: left;
	white-space: nowrap;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	transition: max-height 0.3s linear 0.15s, padding 0s linear 0.45s, border 0s linear 0.45s, background 0.36s cubic-bezier(0.4, 0, 1, 1)}	
body > header > .flex > .container_flex.xmedium nav > div > ul#menu > li > ul.show {	
	max-height: 66vh;
	padding: 0.3em;	
	padding-left: 1em;
	transition: max-height 0.3s linear 0.15s, padding 0s linear 0.15s}
body:not(.scroll) > header > .flex > .container_flex.xmedium nav > div > ul#menu > li > ul {
	background: transparent;
	box-shadow: none}
body.scroll > header > .flex > .container_flex.xmedium nav > div > ul#menu > li > ul {
	background: #fff;
	box-shadow: 0 2px 2px rgba(0,0,0,0.1)}
body > header > .flex > .container_flex.xmedium nav > div > ul#menu > li > ul > li {	position: relative}
body > header > .flex > .container_flex.xmedium nav > div > ul#menu > li > ul > li::before {
	content: '↳';
	position: absolute;
	left: -0.75em}
body > header > .flex > .container_flex.xmedium nav > div > ul#menu > li#active > ul > li::before,
body > header > .flex > .container_flex.xmedium nav > div > ul#menu > li.active > ul > li::before {  color: #d60b52}
body > header > .flex > .container_flex.xmedium nav > div > ul#menu > li > ul > li#active::before {  color: #2897d5}
	
/************************************************************************************************************************************************************/
/* TÉLÉPHONE ET RÉSEAUX																																		*/
/************************************************************************************************************************************************************/
body > header > .flex > .container_flex.xmedium > .flex {	margin: 0 0 0.75em}
body > header > .flex > .container_flex.xmedium > .flex:last-child {	margin: 0 0 0}
body > header > .flex > .container_flex.xmedium > .flex > .flex.social-icons {	margin: 0 0 0 2em}
body > header > .flex > .container_flex.xmedium > .flex > .flex.social-icons > li {	margin: 0 0.15em}
body > header > .flex > .container_flex.xmedium > .flex > .flex.social-icons > li:first-child {	margin-left: 0}
body > header > .flex > .container_flex.xmedium > .flex > .flex.social-icons > li:last-child {	margin-right: 0}
body > header > .flex > .container_flex.xmedium > .flex > .flex:not(.social-icons) > li > a {
	display: block;
	padding: 0.25em 0 0.25em 0.5em;
	text-align: center;
	color: #fff}
body:not(.outofviewport) > header > .flex > .container_flex.xmedium > .flex  > .flex:not(.social-icons) > li > a {	color: #fff}
body.outofviewport > header > .flex > .container_flex.xmedium > .flex  > .flex:not(.social-icons) > li > a,
body.mentions-legales > header > .flex > .container_flex.xmedium > .flex  > .flex:not(.social-icons) > li > a,
body.erreur > header > .flex > .container_flex.xmedium > .flex  > .flex:not(.social-icons) > li > a {	color: #3a2e24}
body > header > .flex > .container_flex.xmedium > .flex > .flex.social-icons > li > a,
body > header > .flex > .container_flex.xmedium > .flex > .flex:not(.social-icons) > li > a > span.svg {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 1.7em;
	height: 1.7em;
	text-align: center;
	border-radius: 50%}
body > header > .flex > .container_flex.xmedium > .flex > .flex:not(.social-icons) > li > a > span.svg {
	display: inline-flex;
	position: relative;
	margin-right: 0.25em}
body:not(.outofviewport) > header > .flex > .container_flex.xmedium > .flex  > .flex.social-icons > li > a,
body:not(.outofviewport) > header > .flex > .container_flex.xmedium > .flex  > .flex:not(.social-icons) > li > a > span.svg {
	background: #fff;
	color: #3a2e24}
body.outofviewport > header > .flex > .container_flex.xmedium > .flex  > .flex.social-icons > li > a,
body.outofviewport > header > .flex > .container_flex.xmedium > .flex  > .flex:not(.social-icons) > li > a > span.svg,
body.mentions-legales > header > .flex > .container_flex.xmedium > .flex  > .flex.social-icons > li > a,
body.mentions-legales > header > .flex > .container_flex.xmedium > .flex  > .flex:not(.social-icons) > li > a > span.svg,
body.erreur > header > .flex > .container_flex.xmedium > .flex  > .flex.social-icons > li > a,
body.erreur > header > .flex > .container_flex.xmedium > .flex  > .flex:not(.social-icons) > li > a > span.svg {
	background: #3a2e24;
	color: #fff}
body > header > .flex > .container_flex.xmedium > .flex > .flex:not(.social-icons) > li > a > span.svg > svg {
	width: 0.9em;
	height: 0.9em}
body > header > .flex > .container_flex.xmedium > .flex > .flex:not(.social-icons) > li > a > span:not(.svg) {
	position: relative;
	top: -1px}
body > header > .flex > .container_flex.xmedium > .flex > .flex.social-icons > li > a > svg {
	width: 0.9em;
	height: 0.9em}
body.outofviewport > header > .flex > .container_flex.xmedium > .flex  > .flex:not(.social-icons) > li > a {	font-size: 1rem}

/************************************************************************************************************************************************************/
/* ADAPTATION TAILLE ÉCRAN																																	*/
/************************************************************************************************************************************************************/
@media screen and (max-width: 1024px) {
		body > header > .flex > .container_flex.small {	width: 33% !important}
		body > header > .flex > .container_flex.xmedium {	width: 63% !important}
}
@media screen and (min-width: 901px) {
	body > header > .flex > .container_flex.xmedium .button_menu_container {	display: none}
}
@media screen and (max-width: 900px) {
	body > header > .flex > .container_flex.xmedium {	position: relative}
	body > header > .center > .flex > .container_flex.small .button_menu_container {	display: inline-block}
	body > header > .flex > .container_flex.xmedium nav > div > ul#menu {
		position: absolute;
		top: 100%;
		right: -1em;
		transform: translateY(-2em);
		opacity: 0;
		z-index: -1;
		visibility: hidden;
		text-align: right}
	body.outofviewport > header > .flex > .container_flex.xmedium nav > div > ul#menu {
		background: #fff;
		box-shadow: 0 10px 20px rgba(0,0,0,0.025)}
	body > header > .flex > .container_flex.xmedium nav > div > ul#menu.show {
		padding: 1em;
		opacity: 1;
		visibility: visible;
		z-index: 2;
		transform: none;
		transition: top 0.36s cubic-bezier(0.4, 0, 1, 1), transform 0.36s cubic-bezier(0.4, 0, 1, 1), opacity 0.18s cubic-bezier(0.4, 0, 1, 1) 0s}
	body > header > .flex > .container_flex.xmedium nav > div > ul#menu > li {
		padding: 0 0 0;
		margin: 0 0.5em;
		text-align: center}
	body > header > .flex > .container_flex.xmedium nav > div > ul#menu > li:first-child {	margin-left: 0}
	body > header > .flex > .container_flex.xmedium nav > div > ul#menu > li:last-child {	margin-right: 0}
}
@media screen and (max-width: 768px) {
		body > header > .flex > .container_flex.small {	margin: 0 2% 0 0 !important}
		body > header > .flex > .container_flex.xmedium {	margin: 0 0 0 2% !important}
}
@media screen and (max-width: 540px) {
	body > header > .flex > .container_flex.xmedium nav > div > ul#menu {
		display: block;
		position: fixed;
		top: auto;
		right: 0.5em;
		padding: 2em 2em;
		transform: translateY(-2em);
		opacity: 0;
		z-index: -1;
		visibility: hidden;
		text-align: right}
	body.outofviewport > header > .flex > .container_flex.xmedium nav > div > ul#menu {	background: #fff}
	body > header > .flex > .container_flex.xmedium nav > div > ul#menu.show {
		padding: 2em 2em;
		opacity: 1;
		visibility: visible;
		z-index: 2;
		transform: none;
		transition: top 0.36s cubic-bezier(0.4, 0, 1, 1), transform 0.36s cubic-bezier(0.4, 0, 1, 1), opacity 0.18s cubic-bezier(0.4, 0, 1, 1) 0s}
	body > header > .flex > .container_flex.xmedium nav > div > ul#menu > li {
		width: 100%;
		margin: 0 0 0.5em;
		text-align: right}
	body > header > .flex > .container_flex.xmedium nav > div > ul#menu > li:last-child {	margin-bottom: 0}
}
@media screen and (max-width: 540px) {
	body.scroll > header {
		transform: translateY(-2.5em)}
	body.scroll > header > .flex > .container_flex.small {	padding-top: 2.5em}
	body > header > .flex > .container_flex.xmedium > .flex > .flex {	width: 100%}
	body > header > .flex > .container_flex.xmedium > .flex > .flex:not(.social-icons) {
		margin-top: 0.75em;
		order: 2}
	body > header > .flex > .container_flex.xmedium > .flex > .flex.social-icons {
		margin: 0 0 0 0;
		order: 1}
	body > header > .flex > .container_flex.xmedium .button_menu_container a {	padding: 0.25em 0 0 0.5em}
}
@media screen and (max-width: 280px) {
	body > header > .flex > .container_flex.xmedium > .flex > ul.flex:not(.social-icons) > li > a {
		padding: 0 0 0 0;
		width: 1.7em;
		height: 1.7em;
		overflow: hidden}
	body > header > .flex > .container_flex.xmedium > .flex > ul.flex:not(.social-icons) > li > a > span.svg {	margin-right: 0}
}