@charset 'utf-8'; 

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ G E N E R A L.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
body.nav-open {
	overflow: hidden;
}
.header {
	position: sticky;
	z-index: 50;
	top: 0;
	width: 100%;
	padding: 1em 0;
	background-color: var(--color-blanc);
}
.header ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-flow: column wrap;
	/*align-items: flex-start;*/
	/*align-content: flex-end;*/
	justify-content: space-between;
}
.main-header{
	padding: 2rem 4rem 1.5rem 4rem;
	background-color: var(--color-blanc);
	box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
	transition: margin 200ms ease-in!important;
}
.home .main-header{
	background-color: rgba(255,255,255,0.60);
}
.main-header.scroll{
	margin-top: 0;
	transition: margin 200ms ease-in!important;
	background-color: var(--color-blanc);
}
.device {
	z-index: -1000;
	display: block;
	visibility: hidden;
	width: 0;
	height: 0;
	pointer-events: none;
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ LOGO */
.logo {
	align-self: flex-start;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ N A V I G A T I O N.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MAIN NAV */
.nav {
	z-index : 99;
	position: fixed;
	overflow: hidden;
	overflow-y: auto;
	width: 100%;
	height: 100%;
	left: 0;
	top: 70px;
	padding: 0 1em;
	background: var(--color-blanc);
	transform: translateX(-100%); 
	will-change: transform;
	pointer-events: none;
	-webkit-overflow-scrolling: touch;
}
.nav-open .nav {
	transform: none;
	pointer-events: auto;
}
.nav-animate .nav {
	transition: transform 130ms ease-in;
}
.nav-open.nav-animate .nav {
	transition: transform 330ms ease-out;
}
.nav > ul > li {
	margin-bottom: 1.5rem;
	width: auto;
} 
.nav a {
	display: inline-block;
	/*padding: .35rem 1rem;*/
	font-size: var(--font-m);
	text-transform: uppercase;
	font-weight: 600;
	text-decoration: none;
	color: var(--color-noir);
	cursor: pointer !important;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUB-MENUS */
.nav .sub-menu {
	overflow: hidden;
	max-height: 0;
	transition: all 300ms ease;
}
.nav .sub-menu.collapsed {
	max-height: 50vh;
	z-index: 99;
	transition: all 300ms ease-out;
}
.nav .sub-menu a {
	font-size: var(--font-m);
	text-transform:none;
	text-align: left;
	display: block;
}
.nav .menu .sub-menu li:last-child {
	padding-bottom: 15px;
}
/*~~~~~~~~~~~~~~~~~~~~~~~~ BURGER BUTTON */
.burger {
	z-index: 101;
	position: absolute;
	left: 10px;
	top: 15px;
}
.burger button {
	position: relative;
	display: block;
	width: 3em;
	height: 3rem;
	margin: 0;
	padding: 0;
	outline: none;
	border: none;
	cursor: pointer;
	background: none;
	box-shadow: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	appearance: none;
	pointer-events: auto;
}
.burger span {
	display: block;
	position: absolute;
	height: 2px;
	width: 50%;
	top: 50%;
	left: 30%;
	border-radius: 1px;
	background: var(--color-noir);
	transform: rotate(0deg);
	transition: all .25s ease-in-out;
}
html:not(.no-touchevents) .burger span:not(:nth-child(3)) {
	/*box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .1);*/
}
.burger span:nth-child(1) {
	margin-top: -8px;
}
.burger span:nth-child(4) {
	margin-top: 8px;
}
/* Opened */
.nav-open .burger span {
	background: var(--color-noir);
	width: 50%;
}
.nav-open .burger span:nth-child(1), .nav-open .burger span:nth-child(4)  {
	width: 0;
	margin-top: 0;
	left: 50%;
	transition: all .25s ease-in-out;
}
.nav-open .burger span:nth-child(2) {
	transform: rotate(45deg);
	transition: all .25s ease-in-out;
}
.nav-open .burger span:nth-child(3) {
	transform: rotate(-45deg);
	transition: all .25s ease-in-out;
}
.nav .current-post-ancestor > a,
.nav .current-category-ancestor > a,
.nav .current-menu-parent > a,
.nav .current-menu-ancestor > a,
.nav .current-menu-item > a{
	color: var(--color-noir)!important;
}

.main-header {
	padding: 2rem 3rem;
}
.nav{
	overflow:scroll;
	padding: 1.5em 2em;
	padding-bottom: 10rem;
	background-color: var(--color-blanc);
}
.nav .menu{
	padding-top: 1em;
	line-height: 3rem;
}
.nav ul.sub-menu{
	flex-wrap: nowrap;
	margin-left: 1em;
}
.nav ul.sub-menu a{
	color: var(--color-noir)!important;
	padding: 0.5em 0;
	line-height: var(--font-m);
}
.nav a {
	font-weight: 600;
	letter-spacing: 0.05rem;
	transition: all .2s ease-in;
	color: var(--color-noir)!important;
}
.nav a br{
	display: none;
}
.nav > ul > li {
	margin-bottom: 1rem;
}
.nav > ul > li > a{
	display: block;
	position: relative;
	padding-bottom: 10px;
}
.nav > ul > li.menu-item-has-children > a::after{
	font-family: 'renoma';
	content: "\e903";
	position: absolute;
	margin-left: 10px;
	font-size: var(--font-s);
	color: var(--color-noir);
	transform: rotate(45deg);
	transition: transform .2s ease;
	
}
.nav > ul > li.menu-item-has-children.active-parent > a::after{
	transform: rotate(135deg);
	transition: transform .2s ease;
}
.nav a:hover,
.nav .current-menu-ancestor > a,
.touchevents .nav .current-menu-item a,
.no-touchevents .nav > ul > li:hover a {
	/*color: var(--color-bleu)!important;*/
}
.no-touchevents .nav > .sub-menu > li a {
	letter-spacing: normal;
}
.touchevents .menu-item-has-children > a,
.touchevents .nav .sub-menu .current-menu-item a,
.touchevents .nav .sub-menu li a:hover {
	color: var(--color-noir)!important;
}
.no-touchevents .nav .sub-menu a:hover {
	color: var(--color-noir)!important;
}
.menu-bottom-mobile{
	display: flex;
	flex-direction: column;
	/*align-items: center;
	text-align: center;*/
}
.menu-bottom-mobile .menu li a{
	display: inline-block;
	border-radius: 30px;
	padding: 0.2em 1em 0.2em 0;
	margin-bottom: 1.5em;
	background-color: var(--color-bleu);
}
.menu-bottom-mobile .top-socials{
	margin-top: 1em;
	gap: 4vw!important;
}
.menu-bottom-mobile .top-socials a{
	font-size: var(--font-m)!important;
}
	
/*~~~~~~~~~~~~~ SMALL DEVICES  ⟾  DESKTOP.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/	
@media only screen and (min-width: 340px) and (max-width: 991px){
}

/*~~~~~~~~~~~~~ P H O N E  —  P O R T R A I T  |  1  ⟾  7 3 6.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
@media only screen and (max-width: 736px) {
	.device {
		content: 'phone-portrait';
	}
	.logo {
		max-width: 145px;
	}
}


/*~~~~~~~ T A B L E T  —  P O R T R A I T  |  7 3 7  ⟾  8 0 0.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
@media only screen and (min-width: 737px) {
	.device {
		content: 'tablet-portrait';
	}
	.logo {
		max-width: 240px;
	}
	.header-list-sites.active{
		height: 3em;
	}
}


/*~~~ T A B L E T  —  L A N D S C A P E  |  8 0 0  ⟾  1 0 2 4.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
@media only screen and (min-width: 801px) {
	.device {
		content: 'tablet-landscape';
	}
}


/*~~~~~~~~~~~~~~~~~~~~~~~~~~~ M O N I T O R  |  1 0 2 5  ⟾  ∞.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MONITOR */
@media only screen and (min-width: 992px) {
	.nav {
	  width: 20%;
	  max-width: 300px;
	  top: 100px;
	}
}

/*~~~~~~~~~~~~~~~~~~~~~~~ MONITOR LAPTOP */

@media only screen and (min-width: 1240px) {
	.device {
		content: 'monitor-laptop-narrow';
	}

}
@media only screen and (min-width: 1340px) {
	.device {
		content: 'monitor-laptop';
	}
}

/*~~~~~~~~~~~~~~~~~~~~~~~~ MONITOR LARGE */
@media only screen and (min-width: 1540px) {
	.device {
		content: 'monitor-large';
	}
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~ MONITOR WIDE */
@media only screen and (min-width: 1860px) {
	.device {
		content: 'monitor-wide';
	}
}

/*~~~~~~~~~~~~~~~~~~~~~~~~ MONITOR GIANT */
@media only screen and (min-width: 2440px) {
	.device {
		content: 'monitor-giant';
	}
}