:root {

	--unit-box: 8%;

	--anim-width-start: 0;
	--anim-width-end: 100%;

	--typo-xsmall: 0.85rem;
	--line-xsmall: 1.1rem;

	--typo-small: 1.0rem;
	--line-small: 1.3rem;

	--typo-normal: 1.1rem;
	--line-normal: 1.4rem;

	--typo-medium: 1.6rem;
	--line-medium: 1.75rem;

	--typo-large: 2.25rem;
	--line-large: 2.25rem;

	--typo-title: 4.20rem;
	--line-title: 4.0rem;

	--xlreductor: 50px;
	--lreductor: 30px;
	--reductor: 20px;
	--sreductor: 10px;
	--xsreductor: 5px;

	--padd-short: 20px;
	--padd-global: 20px;
	--correction: 7px;

	--global-bottom-margin: 4.5vw;
	--antimargin: -3.5vw;
	--short-bottom-margin: 2vw;
	--lateral: 2vw;

	/* -- If change or Add colors, do not forget INC_listcolor.php & home.js */
	--color-trans: rgba(0, 0, 0, 0);
	--color-black-trans: rgba(0, 0, 0, .8);
	--color-black-trans: #222222;
	--color-white: #ffffff;

	--color-grey-bg: #fafafa;
	--color-grey-bt: #e5e5e5;
	--color-grey-light: #ededed;
	--color-grey-main: #454545;
	--color-grey-hov: #222;
	--color-grey-line: #b0b0b0;
	--color-grey-txt: #808080;
	--color-night: #040404;

	--color-classy: #f5f5f5;
	--color-sand:#ebe6d6;
	--color-brown: #cbab89;
	--color-brown-old:#e4c0a2;
	--color-red:#e57674;
	--color-orange:#fc8d32;
	--color-desert:#fbdc63;
	--color-lemon:#ffff00;
	--color-blue-light:#acd8db;
	--color-blue-jeans:#85b9da;
	--color-blue-dark:#7593e4;
	--color-violet:#b8aada;
	--color-green-apple:#a3d394;
	--color-green-dark:#82A976;
	--color-green-light:#03b089;

	--trans-cubic: cubic-bezier(.45,0,.14,1.03);

}

.color-trans { background-color: transparent !important; }

.color-white { background: #ffffff !important; }
.color-classy { background: #f5f5f5 !important; }
.color-brown { background: #cbab89 !important; }
.color-brown-old { background: #e4c0a2 !important; }
.color-red { background: #e57674 !important; }
.color-orange { background: #fc8d32 !important; }
.color-desert { background: #fbdc63 !important; }
.color-lemon { background: #ffff00 !important; }
.color-blue-light { background: #acd8db !important; }
.color-blue-jeans { background: #85b9da !important; }
.color-blue-dark { background: #7593e4 !important; }
.color-violet { background: #b8aada !important; }
.color-green-apple { background: #a3d394 !important; }
.color-green-dark { background: #82A976 !important; }
.color-green-light { background: #03b089 !important; }
.color-sand { background: #ebe6d6 !important; }
.color-night { background: #040404 !important; }

* {
	box-sizing: border-box;
}

a {
	outline: 0;
}

::selection {
	background-color: var(--color-black-trans);
	color: #fff;
}

html {
	font-size: 1vw;
	text-rendering: optimizeLegibility;
}

body {
	background: var(--color-white);
	margin: 0;
	padding: 0;
	font-size: 16px;
	font-weight: 300;
	font-family: 'TypeThree', Arial, sans-serif;
	color: var(--color-black-trans);
	word-wrap: break-word;
}

div.msg {
	background: #ff0;
	text-align: center;
	line-height: 30px;
	padding: 0 20px;
	font: 300 .85rem/1.2rem 'TypeThree', sans-serif;
}

div.in_msg {
	padding: 5px 0 10px;
}

div.in_msg a {
	text-decoration: underline;
	color: #000;
}

.separator {
	width: 96%;
	position: absolute;
	height: 1px;
	background: var(--color-grey-main);
	left: var(--lateral);
	transform-origin:top left;
	visibility:hidden;
}

.separator.topper {
	top: 14vh;
}

.separator-footer {
	position: static;
	margin: 4vw 0;
	grid-column: span 12;
	width: 100%;
}

.separator-relative {
	position:relative;
	left:0;
	top:-16px;
	width:100%
}

.ariane {
	margin-top: 14vh;
	margin-left: var(--lateral);
	position: absolute;
	z-index: 1;
	color: var(--color-grey-main);
	visibility:hidden;
	font-weight:300;
}

.ariane:not(.color01, .color_trans) {
	color: var(--color-black-trans);
}

a.ariane-item {
	font-size: var(--typo-xsmall);
	font-weight:400;
	color: inherit;
	text-decoration: underline transparent;
	transition: text-decoration-color .3s;
}

a.ariane-item:hover {
	text-decoration-color: inherit;
}

.ariane-splitter::after {
	content: '/';
	font-family: "Material Symbols Outlined";
	font-weight:300;
	display: inline-block;
	font-size: var(--typo-normal);
	position: relative;
	color: inherit;
	padding:0 .18rem;
}

.ariane-splitter:last-of-type::after {
	content: ' ';
}

.autoheight {
	height: auto !important;
	min-height: auto !important;
	max-height: none !important;
}

a.burger {
	position: fixed;
	top: 0;
	right: 10px;
	width: 40px;
	height: 40px;
	z-index: 10;
	display: none;
}

span.menu_bar {
	position: absolute;
	width: 30px;
	height: 3px;
	right: 4px;
	transition: all 0.2s ease-in-out 0s;
	background: #000;
}

span.top_menu_bar {
	top: 10px;
}

span.mid_menu_bar {
	top: 17px;
}

span.bot_menu_bar {
	top: 24px;
}

.menuclosed span.top_menu_bar {
	top: 17px;
	transform: rotate(-45deg);
}

.menuclosed span.mid_menu_bar {
	top: 17px;
	transform: translateX(-23px);
	width: 0;
}

.menuclosed span.bot_menu_bar {
	top: 17px;
	transform: rotate(45deg);
}

.appear_static {
	transform: translateY(0);
}

.appear-js {
	opacity: 1;
	transform: translateY(0);
}

h2,
h3,
h4 {
	margin:0;
}

h3 {
	font-weight: bold;
}

h2:empty,
h3:empty,
h4:empty,
figcaption:empty,
span.cat:empty,
div.lat_sub:empty,
.list_cat:empty,
.list_event:empty,
blockquote footer:empty,
.lgd_fs_xl:empty {
	display: none !important;
}

.page {
	min-height: 100%;
	margin: 0 auto;
	padding: 0;
	padding: 0;
}

.page,
.list {
	min-height: 100vh;
}

.list {
	margin-bottom: 10vh;
}

.page_home {
	visibility: hidden;
	margin-top:7vw;
}

.page+.page_home {
	min-height: 0;
	margin-bottom: 0;
	margin-top:0;
}

.cal_content_wrapper {
	margin-bottom: 10vh;
	visibility: hidden;
}

.extra-calendar,
.extra-newser
{
    background: var(--color-classy);
    padding: 2vw 0 2vw;
    margin: 0;
    min-height: auto;
}

.extra-calendar>.cal_content_wrapper {
	margin: 0;
}

.sugg_calendar {
	margin: 0;
}

#view {
	display: flex;
	flex-wrap: wrap;
	visibility:hidden;
	margin-top: var(--global-bottom-margin);
}

.content_wrapper {
	flex-shrink: 0;
	z-index: 0;
    width: 100%;
    flex-basis: 100%;
    margin: 0 0 0 0;
}

/************************************************************** HEAD_TITLE **************************************************************/

.head_title {
	margin:0 auto var(--global-bottom-margin) !important;
	max-width: 100% !important;
	padding: 20vh var(--lateral) 0 var(--lateral);
}

.head_title.fullvideo {
    height: 100vh;
}

.head_title.fullvideo video {
	object-fit: cover;
}

.title_wrapper {
	display: flex;
	position: relative;
	z-index: 1;
}

.title_wrapper.classic .title_pic_wrapper {
	width: calc(8.3333% * 6);
	min-width: calc(8.3333% * 6);
}
.title_wrapper.classic .title_infos {
	width: calc(8.3333% * 6);
	min-width: calc(8.3333% * 6);
}

.title_pic_wrapper {
	visibility:hidden;
	width: calc(8.3333% * 7);
	min-width: calc(8.3333% * 7);
	padding-right:20px;
}

.title_vid_wrapper {
	line-height: 0;
	width: calc(8.3333% * 6);
	min-width: calc(8.3333% * 6);
	padding-right: 20px;
}

.head_title.fullvideo .title_wrapper {
    margin-right: 0;
    padding: 0 calc(8%* 3 + var(--correction)) 0 calc(8%* 3 + var(--correction));
    z-index: 1;
    position: absolute;
    width: 96%;
    transform: translateY(30vh);
}

.dark .head_title.fullvideo {
	color:#fff;
	text-shadow: 0 0 5px black;
}

.head_title.fullvideo .entete {
	display:none;
}

.title_infos {
	order: 1;
	width: calc(8.3333% * 5);
	padding: 0 0 0 20px;
}

.title_wrapper h1 {
	margin: 0;
	overflow:hidden;
	visibility:hidden;
	font-weight: 300;	
}

.title_wrapper h2 {
	margin: 0;
	padding: 0 0 1.15rem 0;
	overflow:hidden;
	visibility:hidden;
	position:relative;
}

.title_infos .date {
    display: block;
    width: 100%;
    padding-left: 2rem;
    margin-bottom: .5rem;
    visibility: hidden;
    font: 300 var(--typo-medium) / var(--line-medium) 'TypeThree', sans-serif;
    position: relative;
}
.title_infos .date:empty {
	display:none;
}
span.date::before {
    content: 'calendar_month';
	font: 300 var(--typo-medium) / var(--line-medium) 'Material Symbols Outlined';
    position: absolute;
    left: 0;
	top: 0.05rem;
}

.title_infos h1 {
	padding: 0 0 1rem 0;
}

.title_infos h2 {
	font: 400 var(--typo-large)/var(--line-large) 'TypeThree', sans-serif;
	padding: 0 0 1.15rem 0;
	margin: 0;
}

.fullvideo .title_vid_wrapper {
	line-height: 0;
	position: absolute;
	left: 0;
	top: 0px;
	width: 100%;
	height: 75vh;
	z-index: 0;
	transform: translateY(-30vh);
}

.title_pic_wrapper figcaption.legende {
    position: relative;
    background: white;
    z-index: 2;
    top: 100%;
}

.fullvideo .title_infos {
	width:100%;
	padding:0;
	z-index: 1;
}

.title_infos.infos_only {
	padding:0;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

.title_infos.infos_only .title_block {
	flex-basis:calc( 8.3333% * 8);
}

.title_infos.infos_only.has_entete .title_block {
	width: calc(8.3333%* 6);
    flex-basis: calc(8.3333%* 6);
    padding-right: calc(8.3333% * .5);
}

.title_wrapper p, .title_infos p.entete {
	font: 300 var(--typo-medium)/var(--line-medium) 'TypeThree', sans-serif;
	visibility:hidden;
	flex-basis: calc( 8.3333% * 6);
	min-height: 100px;
	margin:2vw 0;
}
.title_wrapper p:not(.entete) {
	padding-left:20px;
	margin-top:0;
}

.infos_only p {
	padding-left:10px;
	margin-top:0 !important;
}

.head_title .title_pic,
.head_title figure.large {
	width: 100%;
	padding: 0;
	margin: 0;
}

.head_title figure.fullscreen {
	width: 100%;
}

.title_pic_wrapper figure img {
	max-width: 100%;
	max-height: 100%;
	bottom: 0;
	top: 0;
	left: 0;
	right: 0;
	position: relative;
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%;
}

video.fullvideo {
	height: 75vh;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 59;
	width: 100%;
	object-fit: cover;
}

.slim video.title_vid {
	width: 100%;
}

video {
	visibility:hidden;
}

/************************************************************** LIST_TITLE **************************************************************/

.list div.list_title {
	max-width: 100%;
	padding: 12vw var(--lateral) 5vw var(--lateral);
}

.list_title span.date {
	padding: 0 10px;
}

.list_title h1 {
	min-width:calc(8.3333% * 6);
}

/************************************************************** LIST_MENU **************************************************************/

.list-menu {
	display: flex;
	justify-content: space-between;
	padding: 0 var(--lateral);
	overflow: hidden;
}
.list-menu > div {
	visibility: hidden;
	display:flex;
	flex-wrap: wrap;
}

.list-menu-right {
	justify-content:end;
	min-width:10%;
}

a.filter {
	font-size: var(--typo-small);
	line-height: 2rem;
	border-radius: 2rem;
	padding: 0 1rem;
	text-decoration: none;
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: row;
	align-items: center;
	width: fit-content;
	margin: 0 2px 2px 0;
	transition: background-color 0.3s ease-in-out 0s, color 0.3s ease-in-out 0s;
	background: #f0f0f0;
	height: 2rem;
}

a.filter-icon {
	padding: 0 1rem 0 2.3rem;
}

a.filter::before {
	font-family: "Material Symbols Outlined";
    font-size: 1.25rem;
    transition: all 0.3s ease-out 0s;
    position: absolute;
    font-weight: 300;
    padding: 0 10px 0 0;
    vertical-align: middle;
    left: .5rem;
    top: 0;
}
a.filter::after {
	font-family: "Material Symbols Outlined";
    font-size: 1.25rem;
    transition: all 0.3s ease-out 0s;
    position: absolute;
    font-weight: 300;
    padding: 0 10px 0 0;
    vertical-align: middle;
    left: .5rem;
    top: 2vw;
}

a.filter_school::before,
a.filter_school::after
{
	content: "school";
}

a.filter_year::before,
a.filter_year::after {
	content: "calendar_month";
}

a.filter_sel,
a.filter:hover {
	background: var(--color-black-trans);
	color: var(--color-classy) !important;
}
a.filter:hover::before {
	top:-2vw;
}
a.filter:hover::after {
	top:0;
}

.pagination {
    grid-column: span 12;
    display: flex;
	flex-wrap: wrap;
    justify-content: center;
}

.pagination a {
	padding: .25rem 1rem;
}

.line_break {
    grid-column: span 12;
    height: 0;
    margin: 40px 0 80px;
    width: 100%;
}

.line_break span {
	display: inline-block;
	background: var(--color-white);
	transform: translateY(-62%);
	padding: 0 10px 0 0;
	font-size: var(--typo-medium);
}

.list_wrapper .archive_line {
	border-top: 1px solid var(--color-grey-main);
}

/************************************************************** ELEMENTS **************************************************************/

.ctext,
.cintertitle,
.cdoc,
.ctable,
figure.video,
.caudio,
.cquote,
.cul {
	margin: 0  calc( 8% * 2 + var(--lateral)) var(--global-bottom-margin) calc( 8% * 4 + var(--lateral));
	padding: 0 0 0 var(--correction);
	position: relative;
}

.ccollaps,
.cgallery,
.note_wrapper, 
.notes,
.cresp,
.module_wrapper .module_more,
.meta_end {
	margin: 0 0 0 var(--correction);
	padding: 0;
	min-width: calc(var(--unit-box) * 5);
	position: relative;
}

/************************************************************** CTEXT **************************************************************/

p.ctext {
	font-size: var(--typo-normal);
	line-height: var(--line-normal);
}

.ctext.extended {
    margin-right: calc( 8% * 1 + var(--lateral));
}

.ctext.fullwidth {
	padding-left: 0;
    margin-left: var(--lateral);
    margin-right: var(--lateral);
}

p.exergue,
p.focused {
    background: url('../imgs/noise.webp') repeat;
	color: var(--color-black-trans);
	padding: 30px 40px var(--global-bottom-margin);
}

.ctext.exergue.fullwidth {
	padding-left: 40px;
} 

.ctext.pbig,
.ctext.pbig b,
.ctext.pbig strong {
	font: 300 var(--typo-medium)/var(--line-medium) 'TypeThree', sans-serif;
}

.ctext.pbig {
	margin-bottom: calc(var(--global-bottom-margin) * .5);
}

p.pbig sup {
	font-weight: 300 !important;
}

.popup_content .ctext.exergue,
.popup_content .ctext.focused {
	background: url('../imgs/noise.webp') repeat;
	color: var(--color-black-trans);
	padding: 30px 40px var(--global-bottom-margin);
	margin-left: var(--correction) !important;
}

.ctwocol .ctext,
.cthreecol .ctext,
.cfourcol .ctext
{
	padding-left: 0 !important;
}

.ctwocol .ctext.exergue,
.ctwocol .ctext.focused,
.cthreecol .ctext.exergue,
.cthreecol .ctext.focused,
.cfourcol .ctext.exergue,
.cfourcol .ctext.focused {
	padding-left: 40px !important;
}

.ctwocol .ctext.exergue,
.cthreecol .ctext.exergue,
.fourcol .ctext.exergue
{
	margin-right: 0;
	margin-left: 0 !important;
	padding-left: 40px !important;
}

.ctwocol.lined,
.cthreecol.lined,
.cfourcol.lined,
.ctext.lined
{
    border-top: solid 1px var(--color-grey-line);
    padding-top: 20px !important;
}

.ctext.downed {
	margin-bottom:1vw !important;
}

/************************************************************** CINTERTITLE **************************************************************/

.cintertitle
{
	margin-bottom:var(--short-bottom-margin);
}

h2 {
	font: 400 var(--typo-large)/var(--line-large) 'TypeThree', sans-serif
}

h3 {
	font: 400 var(--typo-medium)/var(--line-medium) 'TypeThree', sans-serif;
}

h4 {
	font: 600 var(--typo-normal)/ var(--line-normal) 'TypeThree', sans-serif;
}

.cintertitle.extended {
    margin-right: calc(var(--unit-box)* 1 + var(--lateral));
}

.cintertitle.fullwidth  {
	padding-left: 0;
    margin-left: var(--lateral);
    margin-right: var(--lateral);
}

.cintertitle.downed {
	margin-bottom: .4rem !important;
}

.popup_content .cintertitle {
    margin-left:0 !important;
    margin-right:0 !important;
}

/************************************************************** CHR **************************************************************/

hr.chr {
	height: var(--global-bottom-margin);
	border: none;
}

.chr.hr_vis.hr_thin {
	margin-bottom: var(--global-bottom-margin);
}

.chr.hr_vis {
	transform-origin: top left;
	border-bottom: 1px solid var(--color-grey-line);
	margin-bottom: var(--global-bottom-margin);
	overflow: visible;
	position: relative;
	margin-left: calc(var(--unit-box)* 4 + var(--correction) + var(--lateral));
}

.chr.default {
    margin-right:calc(var(--unit-box)* 2 + var(--lateral));
}

.chr.extended {
    margin-right:calc(var(--unit-box)* 1 + var(--lateral));
}

.chr.fullwidth {
    margin-left: var(--lateral);
    margin-right: var(--lateral);
}

.chr.hr_thin {
	margin-bottom: 0;
	height: 20px;
}

/************************************************************** CQUOTE **************************************************************/

.page .cquote,
.popup_content .cquote {
	display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    padding: 0;
    border-left: solid 5px var(--color-grey-bt);
}

.cquote {
	margin-left:calc( 8% * 4 + var(--correction) + var(--lateral));
}

.cquote.extended {
	margin-right: calc( var(--unit-box) * 1 + var(--lateral));
}

.cquote p {
	font: 300 var(--typo-medium)/var(--line-medium) 'TypeThree', serif;
	margin: 0 0 calc(var(--global-bottom-margin) * .5) 1.05rem;
	flex-basis: 100%;
}

.cquote footer {
	font-size: var(--typo-normal);
	line-height: var(--line-normal);
	flex-basis: 100%;
	margin-left:40px;
	margin-right: 0;
	background-color: var(--color-trans);
}

.cquote.eminem {
	text-indent: 0;
}

.cquote.eminem p::before,
.cquote.eminem p::after,
.cquote.eminem footer::before {
	display: none;
}

blockquote.eminem p {
	margin-right: 0;
}

.page .cquote p a {
	border: none;
}

/************************************************************** CDOC **************************************************************/

.cdoc {
	position: relative;
	margin-right:calc( 8% * 4 + var(--lateral));
	line-height:0;
}

.elem_6 .cdoc { margin-right: 33.3333% !important; }
.elem_7 .cdoc { margin-right: 33.3333% !important; }
.elem_8 .cdoc { margin-right: 33.3333% !important; }
.elem_9 .cdoc { margin-right: 33.3333% !important; }

.cdoc+.cdoc {
	margin-top: -1rem;
}

a.download {
	display:block;
	padding: 0 0 4px;
}

span.download_lgd {
	cursor: pointer;
	font: 400 var(--typo-normal)/var(--line-normal) 'TypeThree', sans-serif;
	width: fit-content;
	display: inline-block;
	overflow: hidden;
	max-width: 100%;
	text-overflow: ellipsis;
	white-space: nowrap;
	word-break: keep-all;
	padding:.25rem 3rem .25rem 0;
}

.download_fig+span.download_lgd {
	height: auto;
	max-height: 100%;
	border: none;
}

.download_fig+span.download_lgd:hover {
	background-color: rgba(255, 255, 255, 0);
	text-shadow: none;
	box-shadow: none;
}

a.download::before {
	font: 300 1.7rem/.2rem 'Material Symbols Outlined', sans-serif;
	position: absolute;
	content: 'download';
	top: 1rem;
	color: inherit;
	right: 0;
}

a.download:hover::before {
	animation-name:download;
	animation-duration:1s;
	animation-delay:.2s;
}

@keyframes download {
	0%   { opacity: 1; transform:scale(1); }
  	25%  { opacity: 1; transform:scale(.8); }
	50%  { opacity: 1; transform:scale(1); }
}

/************************************************************** FIGURE **************************************************************/

figure {
	display: block;
	position: relative;
	margin: 0 0 var(--global-bottom-margin) 10px;
	line-height: 0;
	overflow: hidden;
}

figure img {
	width: 100%;
	height: auto;
}

figure.full {
	padding-right: 0 !important;
}

figure.float_left {
	display: inline-block;
	z-index: 1;
	margin-top: 10px;
}

figure.float_left.kick,
figure.real_float.kick {
	display: block;
	float: none;
}

figure.real_float {
	float: left;
	width: calc(var(--unit-box)* 3 - 40px);
	margin:0 40px 1.05rem calc(var(--unit-box) *3 + var(--lateral) + var(--correction));
	z-index: 1;
}

figure.ghost {
	display: none;
	height: 0;
	margin: 0;
	padding: 0;
}

figure.full {
    margin-left: var(--lateral);
    width: 96%;
    margin-right: var(--lateral);
}

figure.large {
	width: calc( var(--unit-box) * 8 - var(--correction));
    margin-left: calc(var(--unit-box)* 2 + var(--correction) + var(--lateral));
}

figure.medium {
	width: calc( var(--unit-box) * 6 - var(--correction));
	margin-left: calc(var(--unit-box)* 4 + var(--correction) + var(--lateral));
}

.popup_content figure {
    margin-left:0;
    margin-right:0;
}

.popup_content figure.medium {
	width: 60%;
}

.popup_content figure.large {
	width: 100%;
}

figure.float_left {
	width: calc(var(--unit-box)* 2.5 - var(--correction));
    margin-left: calc(var(--unit-box)* 3 + var(--lateral) + var(--correction));
}

.popup_content figure.float_left {
	width: calc(20% * 2);
}

figure.float_left+p.classic {
    display: inline-block;
    vertical-align: top;
    padding-left: 20px;
    width: calc(var(--unit-box)* 4.5);
    min-width: calc(var(--unit-box)* 4.5);
    margin: 0 calc(var(--unit-box)* 2) var(--global-bottom-margin) 0;
}

figure.float_left+p.classic.extended,
figure.float_left+p.classic.fullwidth {
    width: calc(var(--unit-box)* 5.5);
    min-width: calc(var(--unit-box)* 5.5);
    margin: 0 calc(var(--unit-box)* 1) var(--global-bottom-margin) 0;
}

.popup_content figure.float_left+p.classic {
	width: 60%;
}

figure.real_float+p.infos {
	margin-top: 10px !important;
}

.nocaption figcaption,
figure.nocaption figcaption,
.row div.nocaption figcaption {
	display: none;
}

.looks_two .cthumb.nocaption figure {
	height: 100%;
}

/************************************************************** CGALLERY **************************************************************/

.cgallery {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom:var(--global-bottom-margin);
}

.cthumb figure {
	margin-left: 0;
	margin-bottom: 0;
}

.cthumb.nocaption {
	margin-bottom:20px;
}

/************************************ looks one ************************************/

.cgallery.looks_one {
	justify-content: start;
	margin-right: calc(var(--unit-box) * 2 - 20px + var(--lateral) );
	margin-left: calc(var(--unit-box)* 4 + var(--lateral) + var(--correction));
}

.cgallery.looks_one.extended {
    margin-right:calc(2vw - 20px);
    margin-left: var(--lateral);
}

.cgallery.looks_one .cthumb {
	display: inline-block;
	line-height: 0;
	width: calc(20% - 0px);
	padding: 0 20px 20px 0;
}

.cgallery.looks_one.extended .cthumb {
	width: 10%;
}

.cgallery.looks_one .cthumb figure {
	background: #fff;
}

.cgallery.looks_one .legende {
	display: none;
}

/************************************ looks two ************************************/

.cgallery.looks_two {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-auto-rows: auto;
	grid-auto-flow: dense;
	grid-gap: var(--padd-global);
    margin-left: calc(var(--unit-box) * 4 + var(--correction) + var(--lateral));
    margin-right: var(--lateral);
}
	.extended.cgallery.looks_two {
        margin-left: var(--lateral);
        margin-right: var(--lateral);
	}

.looks_two div {
	overflow: hidden;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.looks_two .smallest {
	grid-column: span 3 / auto;
}

.looks_two .float_left {
	grid-column: span 4 / auto;
}

.looks_two .medium {
	grid-column: span 6 / auto;
}

.looks_two .large {
	grid-column: span 8 / auto;
}

.looks_two .full {
	grid-column: span 12 / auto;
}

.looks_two figure {
	position: relative;
	overflow:visible;
}

.looks_two img {
	max-width: 100%;
	max-height: 100%;
	bottom: 0;
	top: 0;
	left: 0;
	right: 0;
	position: relative;
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%;
}

.looks_two div.forced, .looks_two img.forced {
	height: auto;
	align-self: end;
}

.looks_two div.s_align_start {
	align-self: start;
}

.looks_two .cthumb.nocaption {
	margin-bottom:0;
}


/************************************ looks three ************************************/

.cgallery.looks_three {
    margin-left: calc(8%* 4 + var(--correction) + var(--lateral));
    margin-right: var(--lateral);    
}

.cgallery.looks_three.extended {
    margin-left: var(--lateral);
}

.cgallery.looks_three .medium {
	flex-basis: calc(50% - 10px)
}

.cgallery.looks_three .large {
	width: 100%;
	flex-basis: 100%;
}

/************************************ looks four ************************************/
/* DELETED IN THAT VERSION... */

/************************************ looks five ************************************/
.cgallery.looks_five {
	margin: 0 calc( var(--unit-box) * 2 + var(--lateral)) var(--global-bottom-margin) calc( var(--unit-box) * 4 + var(--lateral) + var(--correction));
	overflow: hidden;
}
.cgallery.looks_five.extended {
	margin: 0 calc( var(--unit-box) * 1) var(--global-bottom-margin) calc( var(--unit-box) * 3 + var(--correction));
}

/************************************ looks six ************************************/

.cgallery.looks_six {
    display: block;
    max-width: 100vw;
    min-height: 50vh;
    cursor: grab;
    overflow: hidden;
    margin-left: 0;
    margin-right: 0;
    padding-top: 4.5vw;
    padding-left: calc(var(--unit-box)* 4 + var(--lateral));
}
.cgallery.looks_six.extended {
    padding-left:var(--lateral);
}

.row {
	width: 300000px;
	position: relative;
	cursor: grab;
	padding-left: 10px;
}

.cgallery.looks_six.extended .row {
    padding-left:0;
}

.row .cthumb {
	display: inline-block;
	vertical-align: top;
}

.row figure {
	margin: 0 40px var(--global-bottom-margin) 0;
	display: table;
}

.row figure img {
	max-height: 38vw;
	width: auto;
	cursor: grab;
}

.row figcaption.legende {
	margin: 0;
	padding-top: 5px;
}

.row img,
.row figcaption.legende {
	display: table-caption;
	caption-side: bottom;
}

.looks_six .tech_local {
	position: absolute;
	top: 0;
	right: auto;
	width: 90%;
	height: 100%;
	flex-direction: row;
	display: flex;
	left: 5%;
	justify-content: space-between;
	align-items: center;
	pointer-events: none;
	z-index: 1;
	opacity: .5;
	display: none;
}

.looks_six .tech_tool {
	width: 50px;
	height: 60px;
	background: var(--color-classy);
}

figcaption.legende {
	padding: 10px 0 20px 0;
	z-index: 1;
	position: relative;
	font-size: var(--typo-xsmall);
	line-height: var(--line-xsmall);
	color: var(--color-grey-line);
}

/************************************************************** CBLOCK **************************************************************/

.cblock {
	grid-column: span 3;
	overflow:hidden;
	min-height:10vw;
	position:relative;
	margin-bottom:20px;
	margin-left:0;
}

.cblock.taller {
	min-height: 20vw;
}

.cblock.cblock_disabled a {
	pointer-events: none;
}

.cblock.cblock_disabled .cblock_arrow {
	display:none;
}

.cblock_arrow {
	transition:all 0.4s var(--trans-cubic) 0s;
}

.content_wrapper > .cblock,
.twocol_elem > .cblock,
.threecol_elem > .cblock,
.fourcol_elem > .cblock,
.panel > .cblock,
.popup_content > .cblock {
	display: block;
}

.cblock a {
	display:flex;
	flex-direction:column;
	background: inherit;
}

.cblock_pad {
	display:block;
	margin-right: 1.5rem;
}

.cblock_content {
	display:flex;
	flex-direction: column;
	width: 100%;
    height: 100%;
	padding: 20px;
    justify-content: space-between;
	order: 1;
	position: absolute;
	transition: all .4s ease-in-out 0s;
}

.cblock_cat {
	display: block;
	font-size: var(--typo-xsmall);
	line-height: var(--line-xsmall);
    letter-spacing: .05rem;
}

.cblock_title {
	display:block;
	font:400 var(--typo-medium)/var(--line-medium) 'TypeThree', sans-serif;
}

.cblock_text {
	font:400 var(--typo-normal)/var(--line-normal) 'TypeThree', sans-serif;
}

.cblock figure,.cblock video {
	margin:0;
	height: 100%;
    width: 100%;
    position: absolute;
	top:0;
	max-width: none;
	transition: all .4s ease-in-out 0s;
}

.cblock figure img {
	max-width: 100%;
    max-height: 100%;
    bottom: 0;
    top: 0;
    left: 0;
    right: 0;
    position: relative;
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
	transition: transform 1s var(--trans-cubic) 0s;
}

.cblock_video {
	object-fit: cover;
}

/***** Looks One *****/

.cblock.looks_one .cblock_content {
	background:inherit;
}

.cblock.looks_one .cblock_figure {
	opacity:0;	
}

.cblock.looks_one a:hover .cblock_content.haspic,
.cblock.looks_one a:hover .cblock_arrow
{
	opacity:0;
}

.cblock.looks_one a:hover .cblock_figure {
	opacity:1;	
}

.cblock.looks_one a:hover .cblock_figure img
{
	transform: scale(1.1);
}

/***** Looks Two *****/

.cblock.looks_two a:hover .cblock_content,
.cblock.looks_two a:hover .cblock_arrow
{
	opacity:1;
}

.cblock.looks_two .cblock_content.haspic,
.cblock.looks_two .cblock_arrow
{
	opacity:0;
	background:inherit;
}

/***** Looks Three *****/

.cblock.looks_three {
    min-height: auto;
    border-top: 1px solid var(--color-grey-line);
    padding-top: .5rem;
}

.cblock.looks_three a {
	flex-direction:row;
}

.cblock.looks_three figure {
    width: 33%;
    opacity: 1;
    display: flex;
    position: relative;
    height: auto;
}
.cblock.looks_three .cblock_content {
	position: static;
	padding:1rem 2.5rem 1rem 1rem;
	margin-top: -1rem;
	width:66%;
}

.cblock.looks_three.taller {
	padding-top:0;
	border-top:none;
}

.cblock.looks_three.taller figure {
	width:45%;
}


.cblock.looks_three.taller .cblock_content {
	position:relative;
	margin-top:0;
	width:55%;
}

.cblock.looks_three .cblock_pad {
	margin-bottom: 0.5rem;
}

.cblock.looks_three a:hover .cblock_figure img{
	transform: scale(1.1);
}

/***** Looks Four *****/

.cblock.looks_four .cblock_content {
	background-color: inherit;
}
.cblock.looks_four .cblock_figure {
	visibility:hidden;
}

.cblock.small {
	grid-column: span 2;
	max-width: calc(8vw * 4 - 20px);
}

.content_wrapper > .cblock.small {
	width: calc(var(--unit-box) * 3 - 13px);
	margin-left: calc(var(--unit-box) * 4 + var(--lateral) + 13px);
}

.cblock.medium {
	grid-column: span 3;
}
.content_wrapper > .cblock.medium {
    width: calc(var(--unit-box)* 4 - var(--correction));
    margin-left: calc(var(--unit-box)* 4 + var(--lateral) + var(--correction));
}

.cblock.large {
	grid-column: span 4;
}
.content_wrapper > .cblock.large {
	width: calc(var(--unit-box)* 6 - var(--correction));
    margin-left: calc(var(--unit-box)* 4 + var(--lateral) + var(--correction));
}

.cblock_arrow::before {
	display: block;
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    font: 300 2rem / 2rem "Material Symbols Outlined";
    content: 'arrow_forward';
    width: 2rem;
    height: 2rem;
    z-index: 1;
	transform: rotate(-45deg);
	transition:all .4s var(--trans-cubic) 0s;
}

.cblock:hover .cblock_arrow::before {
	top: .3rem;
	right: .3rem;
}

/***** Looks Five *****/

.grid_mode {
	display:flex;
}

.content_wrapper > .cblock.looks_five.small {
    width: calc(var(--unit-box)* 2 - 13px);
    margin-left: calc(var(--unit-box)* 4 + var(--lateral) + 13px);
}
.content_wrapper > .cblock.looks_five.medium {
    width: calc(var(--unit-box)* 3 - 13px);
    margin-left: calc(var(--unit-box)* 4 + var(--lateral) + 13px);
}
.content_wrapper > .cblock.looks_five.large {
    width: calc(var(--unit-box)* 4 - 13px);
    margin-left: calc(var(--unit-box)* 4 + var(--lateral) + 13px);
}
.cblock.looks_five.small {
    grid-column: span 2;
    max-width: calc(8vw* 2 - 20px);
}
.cblock.looks_five figure, .cblock.looks_five video {
	position:static;
	aspect-ratio:0.85;
}
.cblock.looks_five a:hover .cblock_figure img{
	transform: scale(1.1);
}
.cblock.looks_five .cblock_content {
	position:static;
	padding: 0;
	margin-top: .5rem;
}
.cblock.looks_five .cblock_pad {
	margin-right: 0;
}
.cblock.looks_five .cblock_title {
	font: 400 var(--typo-normal)/var(--line-normal) 'TypeThree', sans-serif;
	display:inline;
	text-decoration: underline transparent;
    background-image: linear-gradient(transparent calc(100% - 1px), currentColor 1px);
    background-repeat: no-repeat;
    background-size: 0 100%;
    background-position: 0 0;
    transition: background .6s var(--trans-cubic);
}

.cblock.looks_five:hover .cblock_title {
	background-size: 100% 100%;
}

.cblock.looks_five .cblock_text {
	font: 300 var(--typo-normal)/var(--line-normal) 'TypeThree', sans-serif;
}
.cblock.looks_five .cblock_arrow {
	display:none;
}

/***** Looks Six *****/

.cblock.looks_six {
	overflow:visible;
}
.cblock.looks_six figure, .cblock.looks_six video {
	position:static;
}
.cblock.looks_six a:hover .cblock_figure img{
	transform: scale(1.1);
}
.cblock.looks_six .cblock_content {
	position:static;
	padding: 0;
	margin-top: .5rem;
}
.cblock.looks_six .cblock_arrow::before {
	display: none;
}

/************************************************************** CVIDEO **************************************************************/

figure.video, .wrapper_video {
	max-width: 100%;
	padding: 0;
	background-color: rgba(255, 255, 255, 0);
	overflow: hidden;
	margin-left: calc(8%* 4 + var(--lateral) + var(--correction));
    margin-right: calc(8%* 2 + var(--lateral));
}

.wrapper_video {
	margin-bottom:var(--global-bottom-margin);
	pointer-events: all;
}

figure.video.extended,
.wrapper_video.extended
{
    width: calc(var(--unit-box)* 8 - var(--correction));
    margin-left: calc(var(--unit-box)* 2 + var(--lateral) + var(--correction));
}

figure.video.fullwidth,
.wrapper_video.fullwidth
{
    margin-left: var(--lateral);
    margin-right: var(--lateral);
    width: 96%;
}

img.video {
	display: block;
	min-width: 100%;
}

figure.video:hover {
	max-width: 100%;
}

figure.video:hover img.video {
	mix-blend-mode: luminosity;
}

figure.video::after {
	display: inline-block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	text-align: center;
	color: rgb(255, 255, 255);
	font: 300 5em/50px 'Material Symbols Outlined';
	content: "play_circle";
	cursor: pointer;
	opacity: .5;
	transition:all .6s ease-in-out 0s;
}

figure.video:hover::after {
	opacity: 1;
	font-size: 4rem;
}

video {
	width: 100%;
}

/************************************************************** CFEATVIDEO **************************************************************/
.cfeatvideo {
	width: calc( var(--unit-box) * 6 - var(--correction) );
	padding: 0;
	margin-left: calc( var(--unit-box) * 4 + var(--lateral) + var(--correction) );
	margin-bottom: var(--global-bottom-margin);
}
.cfeatvideo.extended {
	width: calc( var(--unit-box) * 8 - var(--correction) );
	margin-left: calc( var(--unit-box) * 2 + var(--lateral) + var(--correction) );
}
.cfeatvideo.fullwidth {
	margin-left: var(--lateral);
	margin-right: var(--lateral);
	width:96%;
}

/************************************************************** CAUDIO **************************************************************/

.caudio {
	padding: 0 0 0 var(--correction);
}

audio {
	width: 100%;
}

span.audio_title {
	display: block;
	padding-bottom: 10px;
}

/************************************************************** CCOLLAPSE **************************************************************/

.ccollaps {
	border: 1px solid var(--color-grey-line);
	padding:0;
    margin: 0 calc(var(--unit-box) * 1 + var(--lateral)) var(--global-bottom-margin) calc(var(--unit-box) * 4 + var(--lateral) + var(--correction));
	pointer-events: auto;
}

.ccollaps.discrete {
	border-left:none;
	border-right:none;
}

.ccollaps.short {
    margin: 0  calc( 16% + var(--lateral)) var(--global-bottom-margin) calc( 32% + var(--lateral) + var(--correction));
}

.ccollaps+.ccollaps,
.popup_content .ccollaps+.ccollaps {
	border-top: none;
	margin-top: calc(var(--global-bottom-margin) * -1) !important;
}

button.accordion {
	color: var(--color-black-trans);
	cursor: pointer;
	padding: .5rem 3rem .5rem 1rem;
	width: 100%;
	border: none;
	text-align: left;
	outline: none;
	font: 400 var(--typo-medium)/var(--line-medium) 'TypeThree', sans-serif;
	background: transparent;
	position: relative;
	opacity:.8;
	transition: color .2s ease-in-out 0s;
}

button.accordion:hover {
	color: #000;
}

button.accordion:hover::after {
	color:#000;
}

.discrete button.accordion {
	font: 400 var(--typo-normal)/var(--line-normal) 'TypeThree', sans-serif;
	padding: 15px 0 7px 0;
}

button.accordion::after {
	content: 'chevron_forward';
	color: var(--color-black-trans);
	transition: transform .3s ease-out 0s;
	transform-origin: center;
	transform: rotate(90deg);
	position: absolute;
	font: 300 2.4rem/0 'Material Symbols Outlined', sans-serif;
	right: 18px;
	top: 50%;
}

button.accordion.active::after {
	transform: rotate(-90deg);
}

button.accordion.accordion-disabled {
	cursor: text;
	user-select: auto;
}

button.accordion.accordion-disabled::after {
	content: '';
}

.discrete button.accordion::after {
	font-size: 35px;
	right: 0;
}

.panel-wrapper {
	height: 0;
	opacity:0;
	overflow: hidden;
	padding: 0 1rem 0 1rem;
	transition: opacity .3s linear 0s;
}

.discrete .panel-wrapper {
	padding: 10px 0 0 0;
}

.panel-wrapper.opened {
	height: auto;
	opacity:1;
	padding: 0 1rem var(--global-bottom-margin) 1rem;
}
.discrete .panel-wrapper.opened {
	padding: 10px 0 var(--global-bottom-margin) 0;
}

.panel {
    padding-top: 1.5rem;
}

/*************** PANEL ELEMENTS ***************/

.panel p {
	padding: 10px 0 20px;
	margin: 0 0 25px 0;
	margin-left:0 !important;
}
.panel p.exergue, .panel p.focused {
	padding:30px 40px var(--global-bottom-margin);
}
.panel figure {
	margin-left:0;
}
.panel figure.real_float {
	width: calc(25% * 1.5);
}
.panel figure.medium {
	width: 50%;
}
.panel figure.large {
	width: 100%;
}
.panel h2,
.panel h3,
.panel h4 {
	width: 100%;
	margin-right: 0;
	margin-left: 0;
	padding-left: 0;
}
.panel blockquote, .panel blockquote.extended {
	margin-left: 0;
	margin-right: 0;
	padding:0;
}
.panel hr.hr_vis {
	margin-left:0;
}

/************************************************************** CUL **************************************************************/

.cul {
	list-style-position: inside;
}
.cul li {
    font-size: var(--typo-normal);
    padding: 0 0 20px var(--lateral);
    position: relative;
}
.cul li::before {
    display: inline-block;
    content: 'trip_origin';
    font: 300 var(--typo-normal) / normal 'Material Symbols Outlined', sans-serif;
    position: absolute;
    left: 0;
    top: .2rem;
}

/************************************************************** CTABLE **************************************************************/

.ctable {
    width: calc(var(--unit-box)* 6 + 40px);
    border-spacing: var(--padd-global);
    margin: 0 calc(8%* 2 + var(--lateral)) var(--global-bottom-margin) calc(8%* 4 + var(--lateral) - 20px);
}
.ctable.extended {
	width: calc(var(--unit-box) * 7 + 40px);
}
.ctable.fullwidth {
	margin-left: var(--lateral);
	margin-right: var(--lateral);
	width:96%;
}
td {
	transform-origin: top left;
	border-top: 1px solid var(--color-grey-line);
	margin-bottom: 2.1rem;
	overflow: visible;
	position: relative;
}
td.left_align {
	text-align: left;
}
td.right_align {
	text-align: right;
}
.ctable td {
	padding: 10px 10px 10px 0;
	vertical-align: top;
	font-size: var(--typo-normal);
	line-height: var(--line-normal);
	width: 25%;
}
td.ctd:empty {
	border-top:none;
}

/************************************************************** CRESP **************************************************************/

.cresp {
	position: relative;
	overflow: hidden;
	padding-top: 33%;
	margin:0 calc(2vw + var(--unit-box) * 2) 0 calc(2vw + var(--unit-box) * 4 + var(--correction));
}

.cresp.extended {
	padding-top: 45%;
	margin:0 calc(2vw + var(--unit-box) * 2) 0 calc(2vw + var(--unit-box) * 2 + var(--correction))
}

.cresp.fullwidth {
	padding-top: 54%;
	margin:0 var(--lateral);
}

.no_toppad,
.no_toppad {
	padding-top: 0;
}

.cresp iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/************************************************************** EMPEROR **************************************************************/

.emperor {
	width: 100%;
	background: var(--color-trans);
	margin: 0 0 5vw 0;
	padding: 16vh var(--lateral) 0 var(--lateral);
	line-height: 0;
	display: flex;
}

.emperor.emperor_beheaded {
	padding-top:2vw;
}

.emperor.dark {
	color:white;
	text-shadow:0 0 5px black;
}

.emperor a {
	display:flex;
	position:relative;
	text-decoration:none;
	color:inherit;
	width:100%;
}

.emperor a:hover span.h_title {
	background-size: 100% 100%;
}

.emperor span.t_infos {
    padding: 0 0 0 40px;
    flex-basis: calc(8.3333% * 6);
	visibility: hidden;
	opacity:0,
}

.emperor.color_trans span.t_infos {
	background: transparent;
}

.emperor span.h_date {
	font-size:var(--typo-medium);
	line-height: var(--line-medium);
	overflow: hidden;
	display:block;
}

.emperor span.h_cat {
    display: block;
    font: 300 var(--typo-small) / var(--line-small) 'TypeThree', sans-serif;
    padding: 0;
    overflow: hidden;
}

.emperor span.h_title {
	font: 400 var(--typo-title)/var(--line-title) 'TypeThree', sans-serif;
	margin: 0 0 1rem;
	overflow: hidden;
	text-decoration: none;
	background-image: linear-gradient(transparent calc(100% - 2px), currentColor 1px);
    background-repeat: no-repeat;
    background-size: 0 100%;
    background-position: 0 -.8rem;
    transition: background .6s var(--trans-cubic);
	font-weight: 300;
}

.emperor a span.h_title .line {
	background-image: linear-gradient(transparent calc(100% - 2px),currentColor 1px);
	background-repeat: no-repeat;
	background-size: 0 100%;
	background-position: 0 0;
	transition: background-size .6s var(--trans-cubic);
}
.emperor a:hover span.h_title .line {
	background-size: 100% 100%;
}

.emperor span.h_subtitle {
	font: 300 var(--typo-large)/var(--line-large) 'TypeThree', sans-serif;
	overflow: hidden;
}

.emperor.no_infos {
	padding-top: 163px;
}

.emperor.no_infos span.t_infos {
	display: none;
}

.emperor.slim video {
	width: calc(8.3333% * 6);
}

.emperor.fullvideo {
    height: 100vh;
    padding-top: 14vh;
}

.emperor.fullvideo video {
	object-fit: cover;
}

.emperor.fullvideo span.t_infos {
    position: absolute;
    z-index: 1;
    top: 40%;
    padding: 0 calc(8% * 2 + var(--correction));
    flex-basis: 96%;
    width: 96%;
    left: var(--lateral);
}

.emperor figure.h_img {
	width: calc(8.3333% * 6);
	visibility:hidden;
}

.emperor figcaption.legende {
	display: none;
}

/************************************************************** HOME_ITEM **************************************************************/

.home_item {
	display: flex;
	margin: 0 0 4vw 0;
	cursor: pointer;
	position: relative;
	align-self: normal;
	min-height: 180px;
	overflow: visible;
	padding: 0 0 0;
	align-content: flex-start;
	justify-content: flex-start;
}

.home_item_nopic figure {
	display:none;
}

figure.h_img {
	margin: 0;
    padding: 0;
    overflow: hidden;
    max-width: 100%;
}
video.h_vid {
	position:relative;
	object-fit:cover;
}

.h_puce {
	display:none;
}

span.t_infos {
	padding: 10px 0 20px;
	flex-wrap: wrap;
	flex-direction: column;
	order: 1;
	background: inherit;
}

.home_item:not(.color-trans) span.t_infos {
	padding-right:20px;
	padding-left:20px;
}

span.h_cat {
	display: block;
	font-size: var(--typo-xsmall);
	letter-spacing: .05rem;
	min-height: 1.3em;
}

span.h_title {
	display:inline;
	text-decoration: underline transparent;
	transition: text-decoration-color .6s;
	background-image: linear-gradient(transparent calc(100% - 1px), currentColor 1px);
    background-repeat: no-repeat;
    background-size: 0 100%;
    background-position: 0 -.25rem;
    transition: background .6s var(--trans-cubic);
}

span.h_subtitle {
	display:block;
	margin-top: .7rem;
	font-weight: 500; /* BVHStefWeb-Regular */ 
}

/***** TZAR *****/

.tzar {
	grid-column: span 12;
}

.tzar figure.h_img,
.tzar video.h_vid
{
	flex-basis: 50%;
	width: 50%;
}

.tzar span.t_infos {
    padding-left: 40px;
    flex-basis: 50%;
	order:0;
}

.tzar span.h_date {
	font: 300 var(--typo-medium)/var(--line-medium) 'TypeThree', sans-serif;
	min-height: 2.2rem;
}

.tzar span.h_title {
	font: 400 var(--typo-title)/var(--line-title) 'TypeThree', sans-serif;
	background-position: 0 -.75rem;
	background-image: linear-gradient(transparent calc(100% - 2px),currentColor 1px);
	font-weight: 300;
}

.tzar span.h_subtitle {
	font: 300 var(--typo-large)/var(--line-large) 'TypeThree', sans-serif;
}

/***** ROYAL *****/

.royal {
	grid-column: span 9;
}

.royal figure.h_img,
.royal video.h_vid
{
    flex-basis: 44.66%;
	width: 44.66%;
}

.royal span.t_infos {
    flex-basis: 55.33%;
    padding-left: 20px;
}

.royal span.h_date {
    font-size: var(--typo-medium);
    min-height: 2.2rem;
}

.royal span.h_title {
    font: 400 var(--typo-large) / var(--line-large) 'TypeThree', sans-serif;
	background-image: linear-gradient(transparent calc(100% - 2px),currentColor 1px);
	padding-bottom: .1rem;
}

.royal span.h_subtitle {
    font: 300 var(--typo-medium) / var(--line-medium) 'TypeThree', sans-serif;
}

/***** PRINCE *****/

.prince {
	grid-column: span 8;
}

.prince figure.h_img,
.prince video.h_vid
{
	flex-basis: 50%;
	width:50%;
}

.prince span.t_infos {
	padding-left: 20px;
}

.prince span.h_date {
	font-size: var(--typo-medium);
	min-height: 2.2rem;
}

.prince span.h_title {
	font: 400 var(--typo-medium)/var(--line-medium) 'TypeThree', sans-serif;
	background-image: linear-gradient(transparent calc(100% - 2px),currentColor 1px);
	padding-bottom: .1rem;
}

.prince span.h_subtitle {
	font: 300 var(--typo-medium)/var(--line-medium) 'TypeThree', sans-serif;
}

/***** SUPERDUC *****/

.superduc {
	grid-column: span 6;
	flex-direction: column;
}

.superduc figure.h_img,
.superduc video.h_vid {
	height: auto;
	aspect-ratio: 16 / 11;
}

.superduc span.h_date {
    font-size: var(--typo-medium);
    min-height: 2.2rem;
}

.superduc span.h_title {
	font: 400 var(--typo-large)/var(--line-large) 'TypeThree', sans-serif;
	background-image: linear-gradient(transparent calc(100% - 2px),currentColor 1px);
}

.superduc span.h_subtitle {
	font: 300 var(--typo-medium)/var(--line-medium) 'TypeThree', sans-serif;
}

/***** PRIVILEGE *****/

.privilege {
	grid-column: span 6;
}

.privilege figure.h_img,
.privilege video.h_vid
{
	flex-basis: 40%;
	width: 40%;
}

.privilege span.t_infos {
	flex-basis: 60%;
	padding-left: 20px;
	padding-right: 20px;
}

.privilege span.h_date {
	font-size: var(--typo-medium);
	min-height: 2.2rem;
}

.privilege span.h_title {
	font: 400 var(--typo-large)/var(--line-large) 'TypeThree', sans-serif;
	background-image: linear-gradient(transparent calc(100% - 2px), currentColor 1px);
}

.privilege span.h_subtitle {
	font: 300 var(--typo-normal)/var(--line-normal) 'TypeThree', sans-serif;
}

/***** PREMIER *****/

.premier {
	grid-column: span 4;
}

.premier figure.h_img,
.premier video.h_vid
{
	flex-basis: 40%;
	width:40%;
	aspect-ratio: 1/1;
}

.premier span.t_infos {
	flex-basis: 60%;
	padding-left: 20px;
}

.premier span.h_date {
	font-size: var(--typo-medium);
	min-height: 2.2rem;
}

.premier span.h_title {
	font: 400 var(--typo-medium)/var(--line-medium) 'TypeThree', sans-serif;
	background-image: linear-gradient(transparent calc(100% - 2px),currentColor 1px);
	padding-bottom:.1rem;
}

.premier span.h_subtitle {
	font: 300 var(--typo-normal)/var(--line-normal) 'TypeThree', sans-serif;
}

/***** DUC *****/

.duc {
	grid-column: span 4;
	flex-direction: column;
}

.duc figure.h_img,
.duc video.h_vid
{
	height: auto;
	aspect-ratio: 16 / 11;
}

.duc span.h_date {
    font-size: var(--typo-normal);
	font-weight: 300;
    min-height: 2.2rem;
}

.duc span.h_title
{
	font: 400 var(--typo-medium)/var(--line-medium) 'TypeThree', sans-serif;
	background-image: linear-gradient(transparent calc(100% - 2px),currentColor 1px);
	padding-bottom: .2rem;
}

.duc span.h_subtitle {
	font: 300 var(--typo-normal)/var(--line-normal) 'TypeThree', sans-serif;
}

/***** TRADITION *****/

.tradition {
	grid-column: span 3;
	flex-direction: column;
}

.tradition figure.h_img,
.tradition video.h_vid
{
	flex-basis: auto;
	aspect-ratio: 16 / 11;
}

.tradition span.t_infos {
	flex-grow: 1;
}

.tradition.home_item_nopic span.t_infos {
	padding:10px 20px;
}

.tradition span.h_date {
	font: 300 var(--typo-normal)/var(--line-normal) 'TypeThree', sans-serif;
}

.tradition span.h_title {
	font: 400 var(--typo-medium)/var(--line-medium) 'TypeThree', sans-serif;
	background-image: linear-gradient(transparent calc(100% - 2px), currentColor 1px);
	padding-bottom: .2rem;
}

.tradition span.h_subtitle {
	font: 300 var(--typo-normal)/var(--line-normal) 'TypeThree', sans-serif;
}

/***** PORTRAIT *****/

.portrait {
	flex-direction: column;
	grid-column: span 2;
}

.portrait figure.h_img,
.portrait video.h_vid
{
	height: auto;
	aspect-ratio: 0.85;
}

.portrait span.h_date, .portrait span.h_cat {
	display: none !important;
}

.portrait span.h_title {
	font: 400 var(--typo-normal)/var(--line-normal) 'TypeThree', sans-serif;
}

.portrait span.h_subtitle {
	font: 300 var(--typo-normal)/var(--line-normal) 'TypeThree', sans-serif;
}

span.h_publi {
	margin-bottom:.5rem;
	font: 100 var(--typo-normal)/var(--line-normal) 'TypeThree', sans-serif;
	color:var(--color-grey-txt);
}

.page p.infos,
.page p.focused,
div.cdoc+div.cdoc
{
	margin-top: var(--antimargin);
}

hr+.ctext.infos,
hr+.ctext.focused
{
	margin-top: 0;
}

.cul + .ctext.classic {
    margin-top: calc(var(--global-bottom-margin)* -.5);
}

.col_meta+p.infos,
h2+p.infos,
h3+p.infos,
h4+p.infos,
.twocol_elem>p.infos:first-child,
.panel>p.infos {
	margin-top: 0 !important;
}

.popup_content p.infos,
.popup_content p.focused,
div.cdoc+div.cdoc {
	margin-top: var(--antimargin);
}

.popup_content hr+p.infos {
	margin-top: 0 !important;
}

.meta-menu {
	z-index: 4;
	position: fixed;
	top: 0;
	width: 50%;
	left: calc(-50%);
	display: flex;
	flex-direction: column;
	height: 100vh;
	overflow-y: auto;
	background: var(--color-white);
}

.meta-menu.deployed {
	left: 0;
}

.meta-menu-content {
	display: flex;
	flex-direction: column;
	padding: 10vh var(--lateral) 5vh calc(8%);
	justify-content: center;
}

.meta-menu-label {
	z-index:3;
	display: flex;
    position: absolute;
    width: auto;
    height: 60px;
    cursor: pointer;
    border-radius: 2rem;
	color:var(--color-classy);
	left: var(--lateral);
	margin-top:-4.0vw;
	transition: color, background-color 1s ease 0s;
	align-items: center;
}

.meta-menu-label-discrete {
	color: var(--color-night);
}

span.meta-menu-flow {
	position: absolute;
    left: 0;
	width:fit-content;
	padding:0 1rem 0 2rem;
	font: 400 var(--typo-small) / 2rem 'TypeThree', sans-serif;
    letter-spacing: -.005rem;
	transition:opacity .5s ease 0s;
	opacity:1;
	background:var(--color-night);
	border-radius:2rem;
}

span.meta-top-title {
	position: absolute;
    left: 0;
    width: fit-content;
	padding:0 1rem 0 2rem;
    font: 400 var(--typo-small) / 2rem 'TypeThree', sans-serif;
	max-width:24vw;
    visibility: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    overflow: hidden;
    white-space: nowrap;
    border-radius: 2rem;
}

.meta-menu-label-discrete span.meta-top-title {
	visibility:visible;
	opacity:1;
	background:var(--color-classy);

}
.meta-menu-label-discrete span.meta-menu-flow {
	opacity:0;
}

.meta-menu-label:hover {
	color: #fff;
}
.meta-menu-label:hover .meta-top-title {
	background: #000;
	color:#fff;
}

.meta-menu-label::before {
	display: block;
    width: 2rem;
    height: 2rem;
    font: 300 var(--typo-medium) / 2rem 'Material Symbols Outlined', sans-serif;
    content: 'add';
    text-align: center;
    transition: all .3s ease-out 0s;
	position: relative;
    z-index: 2;
}

.meta-menu-label-open::before {
	content:'close';
	transform: rotate(90deg);
	background: #000;
    color: #f0f0f0;
	width: 4vw;
    height: 4vw;
	line-height: 4vw;
    font-size: var(--typo-medium);
	opacity:0;
}

.deployed .meta-menu-label::before {
	transform: rotate(180deg);
}

.meta-menu-title {
	display: block;
	font: 400 var(--typo-medium) / var(--line-medium) 'TypeThree', sans-serif;
	user-select: none;
	margin-bottom: 20px;
}

.meta-menu-label:hover .meta-menu-title {
	text-decoration: underline;
}

.meta-menu-closer {
    z-index: 2;
    position: fixed;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: #ffffff75;
    display: flex;
    backdrop-filter: blur(10px);
    cursor: pointer;
}

.meta-menu-closer::after {
	font: 300 4vw/calc(100vh) 'Material Symbols Outlined', sans-serif;
	content: 'close';
	text-align: center;
	left: 50%;
	position: absolute;
	display: flex;
	width: 100%;
	left: 200%;
	height: 100%;
	opacity:0;
	visibility:hidden;
	transition: opacity .4s ease-in-out 0s;
}
.meta-menu-close-visible {
	width:100%;
}

.meta-menu-close-visible::after {
	visibility:visible;
	opacity:1;
	left: 52%;
}

/* Global hyphens small texte */
.page .twocol_elem>* {
	hyphens: auto;
}

/* global user-select: none; */
.anchor_menu.ui-sortable-handle,
.msg_bar,
.twocol_elem_select::before,
label,
span.tooltip,
.article_item,
span.icon_title,
figure img,
span.tag,
.wrapper_fs,
.anchor_menu,
.mainlogo,
ul.main-menu,
.title_number,
.meta_static_img,
.item_fake {
	-webkit-touch-callout: none;
	/* iOS Safari */
	-webkit-user-select: none;
	/* Safari */
	-khtml-user-select: none;
	/* Konqueror HTML */
	-moz-user-select: none;
	/* Firefox */
	-ms-user-select: none;
	/* Internet Explorer/Edge */
	user-select: none;
	/* Non-prefixed version, currently */
}

.page span.meta_static,
.page span.meta_dynamic,
.page .anchor_menu
{
	position: relative;
	display: block;
	margin-bottom: 3vh;
}

.extra_wrapper.article_infos {
    display: flex;
    margin-top: 20px !important;
    margin-bottom: var(--global-bottom-margin) !important;
    flex-wrap: wrap;
    justify-content: center;
}

.page .extra_wrapper .related,
.page .extra_wrapper .cat,
.page .extra_wrapper .tags
{
	display:flex;
	flex-wrap: wrap;
}

.extra_wrapper .dates p {
	font-size: var(--typo-normal);
	line-height: 1.5rem;
	margin:0;
	padding:0;
}

.extra_wrapper .dates.multicol p {
	column-count: 1;
}

.blink_me {
	font-weight: 700;
}

.blink_me::before {
    display: inline-block;
    font-family: "Material Symbols Outlined";
	font-weight:300;
    content: "chevron_right";
    line-height: 0;
    animation: blinker 1s linear infinite;
    position: relative;
    top: 0.18rem;
}

@keyframes blinker {
	50% {
		opacity: 0;
	}
}



h1 {
	font: 400 var(--typo-title)/var(--line-title) 'TypeThree', sans-serif;
}

.title_wrapper span.cat,
.title_wrapper span.tag {
	display: inline-block;
	font: 300 var(--typo-small)/var(--line-small) 'TypeThree', sans-serif;
	color: var(--color-black-trans);
}

.title_wrapper span.cat {
	visibility:hidden;
	display:none;
}



/* global link rules */
.page a,
.list a,
.actu_wrapper a,
span.audio_title a,
.cal_content_wrapper a,
.note_wrapper span.note_text a,
td a,
.popup_content a {
	color: var(--color-black-trans);
	text-decoration: none;
}

b a {
	border-width: 2px;
}

h2 a,
.ctext a:not(.btn, .note),
p a:not(.btn, .note),
.cul a,
span.audio_title a,
.lgd_fs a,
figcaption a,
.note_wrapper span.note_text a,
td a,
a.download
{
	background: linear-gradient(to right, var(--color-grey-line), var(--color-grey-line)), linear-gradient(to right, var(--color-grey-hov), var(--color-grey-hov));
	background-size: 100% 1px, 0 1px;
	background-position: 100% 100%, 0 100%;
	background-repeat: no-repeat;
	transition: background-size .4s;
}


h2 a:hover,
.ctext a:hover,
.cul a:hover,
span.audio_title a:hover,
p a:hover,
.lgd_fs a:hover,
figcaption a:hover,
.note_wrapper span.note_text a:hover,
td a:hover,
.anchor_menu a:hover,
a.download:hover
{
	background-size: 0 1px, 100% 1px;
}

.lgd_fs a {
	color: inherit;
	text-decoration: none;
}

a.intext_doc::before {
	font: 300 1.5rem/1.5rem 'Material Symbols Outlined', sans-serif;
	display: inline;
	content: 'description';
	vertical-align: bottom;
	padding-right: 5px;
}

p:not(.pbig) a.btn {
	font: 300 var(--typo-normal)/var(--line-normal) 'TypeThree', sans-serif;
	margin: 20px 0 0;
	padding:.2rem 1rem 0.4rem;
	border: 1px solid;
	color: var(--color-black-trans);
	width: max-content;
	display: inline-block;
	cursor: pointer;
	overflow: hidden;
	max-width: 80%;
	text-overflow: ellipsis;
	white-space: nowrap;
	word-break: keep-all;
	background-color: transparent;
	border: 1px solid var(--color-black-trans);
	border-radius: 2px;
	vertical-align: middle;
	transition: background-color .3s ease-out 0s;
	border-radius: 1rem;
}

p:not(.pbig) a.arrowed,
table a.arrowed {
	font-weight: 500;
	width: 66.66%;
	display: block;
	cursor: pointer;
	overflow: hidden;
	position: relative;
	text-overflow: ellipsis;
	white-space: nowrap;
	word-break: keep-all;
	padding: .25rem 50px .5rem 0;
	border-bottom: none;
	text-decoration: none;
	margin-bottom: 12px;
	font-weight: normal;
}

.elem_1 a.arrowed,
.elem_2 a.arrowed,
.elem_3 a.arrowed,
.elem_4 a.arrowed,
.elem_5 a.arrowed
{
	width:100% !important;
}

p:not(.pbig) a.arrowed::before,
td a.arrowed::before {
	font-family: "Material Symbols Outlined";
	content: "arrow_forward";
	position: absolute;
	font-size: 1.5rem;
	right: 0;
	font-weight:300;
}

@keyframes arrow {
	0%   { opacity: 1; right:0; }
  	25%  { opacity: 1; right:-2rem; }
 	26%  { opacity: 0; right:1rem; }
	50%  { opacity: 1; right:0; }
}

a.see-categories::before,
a.see-categories::after
{
	content: "\e9b0" !important;
}

a.see-tags::before,
a.see-tags::after
{
	content: "\e892" !important;
}

a.see-agenda::before,
a.see-agenda::after {
	content: "\ebcc" !important;
}

a.see-news::before,
a.see-news::after {
	content: "\efad" !important;
}

a.see-related::before,
a.see-related::after {
	content: "\ef42" !important;
}

p:not(.pbig) a.arrowed:hover::before,
td a.arrowed:hover::before {
	animation-name: arrow;
	animation-duration: 1s;
	animation-delay: .2s;
}

p:not(.pbig) a.arrowed {
	max-width: 100%;
}

.related a,
.tags a {
	white-space: break-spaces;
	word-break: break-word;
	margin: 0;
}

p:not(.pbig) a.btn:hover {
	color: var(--color-classy);
	background-color: var(--color-black-trans);
}

/* !!END!! link */


p.infos,
p.focused
{
	font-size: var(--typo-small);
	line-height: var(--line-small);
}



.tech_fs {
	font: 300 1.2rem/1.85rem 'TypeThree', sans-serif;
}

p.classic + p.classic,
.cdoc + p.classic
{
	margin-top: var(--antimargin);
}

p + .cdoc
{
	margin-top: -20px;
}

b,
strong {
	font-weight: 400;
}

u {
	text-decoration: none;
}

sup,
a.note {
	text-decoration: none;
	border-bottom: none;
	line-height: 0;
	font-size:smaller;
}

a.note {
	font-variant-numeric: diagonal-fractions;
}

b sup {
	font-weight: bold;
}

i sup {
	font-style: italic;
}

/* !!END!! general fonts styles & stuffs */

/* anchor menu */
.page .anchor_menu {
	display: flex;
	margin: 0 0 9vw 0;
	width:100%;
	background-color: var(--color-white);
	justify-content: flex-start;
	align-items:center;
	flex-wrap: nowrap;
	position: sticky;
	top: 60px;
	border-top: solid 1px #b0b0b0;
	height:3vw;
	overflow-y: hidden;
	overflow-x: scroll;
	scrollbar-width: none;
	z-index: 1;
	padding:0 var(--lateral);
	box-shadow: 4px 4px 10px 2px rgba(0,0,0,0.06);
}

.anchor_menu_inset {
	touch-action: pan-y;
    cursor: grab;
	display:flex;
	width:10000%;
}

.anchor_menu a {
    font: 400 var(--typo-small) / 1.8vw 'TypeThree';
    margin: 0 10px 0px 0;
    color: var(--color-grey-main);
    opacity: .6;
    transition: all .2s linear 0s;
    letter-spacing: -.005rem;
    padding: 0 .5vw;
    border-radius: 1vw;
	pointer-events: initial;
	touch-action:pan-y;
    max-width: calc(8% * 2);
    text-overflow: ellipsis;
    word-break: break-word;
    overflow: hidden;
    height: 1.8vw;
    white-space: nowrap;
}

.anchor_menu a.active {
	background:#fff;
	opacity:1;
}

.anchor_menu a:hover {
	color:var(--color-black-trans);
	opacity:1;
}

.page .isAnchorMenu::marker {
	font-size: 29px;
	font-weight: 500;
}

.anchor_menu.multicol {
	column-count: 2;
}

.anchor_menu.multicol a {
	display: block;
}



/* blocs thumb */


figcaption.legende_white,
figcaption.legende_white a {
	color: #fff;
}

figcaption.legende_white a {
	border-color: #fff;
}

figcaption.legende:empty {
	padding-top: 20px;
	padding-bottom: 0px;
}



/* blocs note related tags */
a.note {
	color: red;
	padding: 4px;
	font-size: 1.5rem;
}

.note_n a {
	color: red;
	padding: 4px;
	font-size: 1rem;
}

.page .note_wrapper {
	margin: 0 calc(2vw + var(--unit-box)* 2) 0 calc(2vw + var(--unit-box)* 4 + var(--correction)) !important;
}

.list a.meta-menu_selected.arrowed {
	font-weight: 500;
}

div.note_content {
	display: block;
	padding: 0 0 1.5rem 0;
	font-size: var(--typo-normal);
    line-height: var(--line-normal);
}

span.note_n::after {
	content: ". ";
}


.extra_wrapper {
	padding: 0 0 5vh 0%;
	margin: 0 var(--lateral) 0 var(--lateral) !important;
}
.extra_wrapper.polydate {
	border:none;
	padding-left:calc(var(--unit-box) * 4 + var(--correction));
	padding-right:calc(var(--unit-box) * 4 + var(--correction));
}
.extra_wrapper.polydate:empty {
	display:none;
}

.ctwocol .ccollaps {
	margin-right: 0 !important;
}

div.clear {
	clear: both;
	padding: 0;
	margin: 0 auto;
	visibility: hidden;
}

/* blocs 2 colonnes */

.conecol, .ctwocol, .cthreecol, .cfourcol {
	display: grid;
	grid-template-columns: repeat(12,1fr);
	column-gap: var(--padd-global);
	justify-content: space-between;
	min-height: 150px;
	margin-left: 0;
	padding: 0;
	min-width: calc(var(--unit-box) * 4);
	margin-bottom:var(--global-bottom-margin);
    padding-left: var(--lateral);
    padding-right: var(--lateral);
	pointer-events: none;
}

.proxima {
	margin-bottom:20px;
}

.nogravity {
	margin-top: -10rem;
}

.nomargin {
	margin-bottom:0;
}

.nogap > * {
	padding:40px 0;
}

.nogap > .expanded_w {
	padding-left:0;
	padding-right:0;
}
.nogap > .expanded_h {
	padding-top:0;
	padding-bottom:0;
}

.nogap > .twocol_elem.expanded_w:last-child,
.nogap > .threecol_elem.expanded_w:last-child,
.nogap > .fourcol_elem.expanded_w:last-child
{
	width:calc(100% + var(--lateral));
}

.nogap > .twocol_elem.expanded_w:first-child,
.nogap > .threecol_elem.expanded_w:first-child
.nogap > .fourcol_elem.expanded_w:first-child
{
    margin-left: -2vw;
    width: calc(100% + var(--lateral));
}

.expanded_h {
	padding-top:40px;
	padding-bottom: 40px;
}
.expanded_w {
	padding-left:40px;
	padding-right:40px;
}

.leftpadded {
    padding-right: var(--lateral);
}
.rightpadded {
    padding-left: var(--lateral);
}
.in_flex_mode {
	display:grid;
	grid-gap: var(--padd-global);
	width:100%;
}

.elem_9.in_flex_mode { grid-template-columns: repeat(9, 1fr); }
.elem_8.in_flex_mode { grid-template-columns: repeat(8, 1fr); }
.elem_7.in_flex_mode { grid-template-columns: repeat(7, 1fr); }
.elem_6.in_flex_mode { grid-template-columns: repeat(6, 1fr); }
.elem_5.in_flex_mode { grid-template-columns: repeat(5, 1fr); }
.elem_4.in_flex_mode { grid-template-columns: repeat(4, 1fr); }
.elem_3.in_flex_mode { grid-template-columns: repeat(3, 1fr); }
.elem_2.in_flex_mode { grid-template-columns: repeat(2, 1fr); }
.elem_1.in_flex_mode { grid-template-columns: repeat(1, 1fr); }

.in_flex_mode > .ctext,
.in_flex_mode > .chr,
.in_flex_mode > .cintertitle,
.in_flex_mode > .cquote,
.in_flex_mode > .cpic.large,
.in_flex_mode > .cpic.thumbed,
.in_flex_mode > .cul,
.in_flex_mode > .ctable,
.in_flex_mode > .ccollaps,
.in_flex_mode > .caudio,
.in_flex_mode > .cvideo,
.in_flex_mode > .cfeatvideo
{
	grid-column:inherit;
}

.conecol.type_one {
	grid-template-columns: repeat(9,1fr);
    margin-left: calc(var(--unit-box) * 3 + var(--correction));
}

.splitted {
	column-count: 2;
    column-gap: inherit;
}

.align_t {
	align-items: flex-start;
}

.align_c {
	align-items: center;
}

.align_b {
	align-items: flex-end;
}

.align_n {
	align-items: normal;
}

.onecol_elem, .twocol_elem, .threecol_elem, .fourcol_elem {
	overflow: hidden;
	min-height: 7vh;
	width:100%;
	position:relative;
}

/* blocs twocol */
.type_one .twocol_elem:first-child {
	grid-column: 4 / span 5;
	grid-column-start: 5;
}
.type_two .twocol_elem:first-child {
	grid-column-start: 1;
}

/* blocs threecol */

.type_one .threecol_elem:nth-child(1) {
	grid-column: 4 / span 3;
	grid-column-start: 5;
}
.type_two .threecol_elem:nth-child(1) {
	grid-column-start: 1;
}

.threecol_elem:nth-child(1) > *,
.threecol_elem:nth-child(2) > *,
.threecol_elem:nth-child(3) > *,
.fourcol_elem:nth-child(1) > *,
.fourcol_elem:nth-child(2) > *,
.fourcol_elem:nth-child(3) > *,
.fourcol_elem:nth-child(4) > *
{
    margin-bottom: var(--global-bottom-margin);
    margin-right: 0 !important;
    margin-left: 0;
    padding-left: 0;
}

.twocol_elem figcaption.legende {
	margin-right: 0;
}

.expanded_w:first-child .large figcaption.legende {
	padding-left:var(--lateral);
}
	

.twocol_elem table.ctable {
	width: 100%;
}

.twocol_elem figure.large,
.twocol_elem figure.video,
.threecol_elem figure.large,
.threecol_elem figure.video,
.fourcol_elem figure.large,
.fourcol_elem figure.video,
.twocol_elem .cfeatvideo,
.threecol_elem .cfeatvideo,
.fourcol_elem .cfeatvideo
{
	width: 100%;
}

.twocol_elem .video.extended,
.threecol_elem .video.extended,
.fourcol_elem .video.extended
{
	width: auto;
	margin-right:0;
}

.twocol_elem figure.medium,
.threecol_elem figure.medium,
.fourcol_elem figure.medium
{
	width:66.6666%;
	padding:0;
	margin-left:auto;
	margin-right:auto;
}

.twocol_elem:last-child figure.video {
	padding-left:0;
}

.twocol_elem:first-child>*,
.twocol_elem:last-child>* {
	margin-bottom: var(--global-bottom-margin);
	margin-right: 0;
	margin-left: 0;
	padding-left: 0;
}

.twocol_elem :last-child:not(.btn),
.threecol_elem :last-child:not(.btn),
.fourcol_elem :last-child:not(.btn)
{
	margin-bottom: 0 !important;
}

.twocol_elem>*:first-child,
.threecol_elem>*:first-child,
.fourcol_elem>*:first-child
{
	margin-top:0 !important;
}



.twocol_elem .chr.hr_thin,
.threecol_elem .chr.hr_thin,
.fourcol_elem .chr.hr_thin
{
	margin-bottom:2vw;
}

.twocol_elem .cblock,
.threecol_elem .cblock,
.fourcol_elem .cblock
{
	margin-bottom:20px;
}

/* Popup */
#popup_display {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	z-index: 12;
	overflow: auto;
	background: rgba(255, 255, 255, 0.95);
	width: 100%;
	height: 100vh;
	padding-top: 100px;
	padding-left: calc(8.3333%* 3 + 20px);
    padding-right: calc(8.3333%* 3 + 20px);
	display: none;
}

.popup_content {
	background: #fff;
	padding: 40px;
	margin-bottom: 10vh;
	position: relative;
	z-index: 1;
	box-shadow: rgba(0, 0, 0, 0.1) 0 0 100px;
}

.popup {
	display: none;
	margin:0 calc( var(--unit-box) * 3) 0 0;
}

a.popup_bt {
	display: block;
	width: 100%;
	height: 100vh;
	color: var(--color-black-trans);
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
	background: rgba(0, 0, 0, 0);
	transition: all 0.3s ease 0s;
}

a.popup_bt:hover {
	background: rgba(0, 0, 0, 0.1);
}

a.popup_bt::after {
	font: 300 1rem/60px 'Material Symbols Outlined' !important;
	font-weight:300;
	display: inline-block;
	width: 60px;
	text-align: center;
	vertical-align: middle;
	position: fixed;
	right: 0;
	top: 0;
}


/* Meta data colonne */
div.col_meta {
	display: flex;
	flex-direction: column;
}

div.col_meta_nav p.col_meta {
	width: 100%;
	background: yellow;
}

.col_meta:first-of-type, p.col_meta:first-of-type {
    width: 100%;
    margin: 5vw 0 0 0;
    font-size: var(--typo-normal);
    line-height: var(--line-normal);
    z-index: 1;
    order: 2;
    padding: 2vw var(--lateral) 2vw calc(var(--unit-box)* 4 + var(--lateral) + var(--correction));
	background:linear-gradient(0deg, rgba(245, 245, 245, 1) 0%, rgba(245, 245, 245, 1) 35%, rgba(255, 255, 255, 1) 100%);
}

.meta_dynamic::before {
	content: 'info';
	font: 300 2vw/2vw "Material Symbols Outlined";
	transition: all 0.3s ease-out 0s;
	position: absolute;
	top: -3vw;
	left: -.25rem;
}

.col_meta_pushed {
	top: calc(80px + 3vw) !important;
}

.meta_end {
	display: none;
	padding: 0
}

.page .col_meta+.content_wrapper .col_meta {
	display: none;
}

span.meta_static,
span.meta_dynamic {
	padding-bottom: 1.5rem;
}

.page .meta_dynamic:empty,
.page .meta_hidden .meta_static {
	display: none;
}

.meta_static_img a {
	border: none;
}

.meta_static_img a:hover {
	color: #000;
	opacity: .8;
}

.meta_static_img img {
	max-width: 100%;
}


/* evenements agendable */
.polydate {
	font: 300 var(--typo-normal)/var(--line-normal) 'TypeThree', sans-serif;
}

.dates {
	margin-bottom:4vw;
	position:relative;
} 
.dates::before {
	content: 'calendar_month';
    font: 300 var(--typo-medium) / var(--line-medium) 'Material Symbols Outlined';
    position: absolute;
    left: -2rem;
    top: .2rem;
}

.month {
    display: flex;
    margin-top: .5rem;
    border-top: solid 1px var(--color-grey-line);
    padding: .5rem 0 0;
	justify-content: space-between;
}
.month_name {
   font-weight:600;
}

a.bt_dates:hover {
	text-decoration:underline;
}
a.bt_dates::before {
    display: inline-block;
    font-family: "Material Symbols Outlined";
	font-weight:300;
    line-height: 0;
    margin-left: -20px;
    position: relative;
    top: 0.18rem;
}

p.p_dates {
	display:none;
}
p.p_dates_opened {
	display:block;
}

.date span,
.list_event span,
.date_calendar span {
	font-weight: 300;
}

.item_calendar>.infos_calendar:first-child {
	background: rgba(0, 0, 0, .1);
	height: 100%;
}

/* !!END evenements agendable */


/* Current stuff */
.page .actu_wrapper {
	max-width: 100%;
	padding: 120px 0;
	margin: 0 auto var(--global-bottom-margin);
}

.page_home .actu_wrapper {
	padding-top: 120px;
}

.h_actu_head {
	display: block;
	padding-bottom: 25px;
	padding-left: 10px;
}


.home_calendar_title a,
.home_actu_title {
	font: 500 var(--typo-medium)/var(--line-medium) 'TypeThree', sans-serif;
	color: var(--color-black-trans);
}

a:hover span.home_actu_title,
.home_calendar_title a:hover {
	color: var(--color-black-trans);
	cursor: pointer;
}

.page_home .actu_wrapper span.h_actu_head {
	width: 80%;
	margin: 0 auto;
}

.page+div.actu_wrapper {
	width: 100%;
	padding: 120px 0 0;
}

.page+.actu_wrapper span.h_actu_head {
	width: 60%;
	margin: 0 auto;
}

.col_meta_nav,
.col_meta_nav:hover {
	transition: none;
}

.mobile,
.mobile .col_meta_nav {
	display: none;
}

/* Blog */
.list.blog h1 {
	font: 400 var(--typo-title)/var(--line-title) 'TypeThree', sans-serif;
	padding: 1.4rem 0 0 0;
}

.list.blog .blog_info {
	font: 300 var(--typo-normal)/var(--line-normal)'TypeThree', sans-serif;
	max-width: 80%;
}

.blog_wrapper a.blog_link {
	display: block;
	margin-bottom: var(--global-bottom-margin);
}

.blog_link div.blog_item {
	background-color: rgba(240, 240, 240, 0);
}

.blog_link:hover div.blog_item {
	background-color: var(--color-grey-light);
}

a.blog_link:hover .blog_image_wrapper,
a.blog_link:hover .blog_image_wrapper {
	mix-blend-mode: multiply;
}

.list .blog_item {
	display: flex;
	flex-flow: row wrap;
	padding: 0 !important;
	margin-bottom: 0 !important;
	position: relative;
}

.blog_image_wrapper {
	flex-basis: calc(16.66666% *1.5);
	max-width: calc(16.66666% *1.5);
	padding: 10px 0;
	margin-right: 40px;
}

.blog_item_content {
	flex-basis: calc(16.66666% *4);
	max-width: calc(16.66666% *4);
	padding: 10px;
	display: flex;
	flex-flow: column nowrap;
}

.blog_item figure {
	margin: 0;
	padding: 0;
}

.list_title+span.chapeau {
	padding-top: 20px;
}

.list .blog_wrapper span.date,
.list .blog_wrapper span.auteur {
	font: 300 var(--typo-xsmall)/var(--line-xsmall) 'TypeThree', sans-serif;
}

.list .blog_wrapper span.auteur {
	padding-bottom: 10px;
}

.page .module_wrapper .module_more {
	padding: 0;
}

/*---------- Prod ----------*/
/* Hide IE banner by default */
.ie-notice {
	display: none;
}

/* Show IE banner on IE10/11 */
@media screen and (-ms-high-contrast: active),
screen and (-ms-high-contrast: none) {
	.ie-notice {
		display: block;
		position: fixed;
		bottom: 0;
		z-index: 99999;
		background-color: rgb(255, 255, 179);
		color: rgb(26, 26, 26);
		padding: 40px;
		width: 100%;
		font-size: 1.5rem;
		line-height: 1.8rem;
		text-align: center;
		-ms-user-select: none;
		user-select: none;
		cursor: default;
	}
}

a,
img.pic,
img.thumb_gallery,
figure.video {
	cursor: pointer;
	pointer-events: auto;
}

.excluded img.pic,
.popup_content img {
	cursor: default;
}

a.pic_link img.pic {
	cursor: pointer;
}

/* gallery images & FS */
#Fullscreen {
	height: 100%;
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: #fff;
	width: 100%;
	z-index: 11;
}

.wrapper_fs {
	position: absolute;
	width: calc(100% - 80px);
	left: 0;
	top: 0;
	text-align: center;
	height: 100%;
	right: 0;
	bottom: 0;
	background: url("../imgs/loader.svg") no-repeat center center;
}

.wrapper_fs_xs {
	width: calc(100% - 380px);
}

.wrapper_img {
	position:relative;
	left:0;
	top:0;
	width:100%;
	height:100%;
}

.fs_image {
	vertical-align: middle;
	max-width: 100%;
	max-height: 100%;
	width: auto !important;
	height: auto !important;
	margin: auto;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	position: absolute;
	background: #fff;
}

.lgd_fs {
	position: absolute;
	right: -380px;
	width: 300px;
	padding: 40px 20px;
	color: var(--color-black-trans);
	overflow: hidden;
	height: 100%;
	border-left: 1px solid var(--color-black-trans);
	background: #fff;
}

.lgd_fs_xl {
	right: 80px;
}

.lgd_fs {
	transition: all 0.3s ease 0s;
}

img.fs_image {
	transition: none;
}

.tech_fs {
	position: absolute;
	right: 0;
	top: 0;
	width: 80px;
	height: 100%;
	color: var(--color-black-trans);
	border-left: solid 1px var(--color-black-trans);
	background: #fff;
	display: flex;
	flex-direction: column;
}

.tech_tool {
	display: block;
	width: 100%;
	height: 60px;
}

a.tech_tool {
	color: var(--color-black-trans);
	cursor: pointer;
	transition: all .3s ease-out 0s;
}

a.tech_tool:hover {
	background: #e6e6e6;
}

a.tech_tool::after {
	font: 300 2rem/60px 'Material Symbols Outlined';
	display: inline-block;
	width: 100%;
	text-align: center;
	vertical-align: middle;
	transition: all .3s ease-out 0s;
}

a.tech_tool:hover::after {
	font-size: 2.4rem;
}

a.close::after {
	content: 'close';
}

a.next::after {
	content: '\e5c8';
}

a.prev::after {
	content: '\e5c4';
}

a.lgd::after {
	content: 'info';
}

.count {
	font: 300 var(--typo-small)/55px 'TypeThree', sans-serif;
	text-align: center;
}

/*	!!END!! gallery images */

/* Search */
#search form {
	display: flex;
}

input#keyword {
	border-bottom: solid 3px #5d5b55;
	background: transparent;
	outline: none;
	border-top: none;
	border-left: none;
	border-right: none;
	font:300 var(--typo-medium)/var(--line-medium) 'TypeThree', Arial, sans-serif;
	width:calc(100% - 4vw);
}

input#keyword:focus-visible {
	outline: none;
}

a#gosearch,
a.close_search {
	content: "";
	display: inline-block;
	width: 4vw;
	height: 4vw;
	transition: all 0.3s ease-out 0s;
}

a#gosearch::before {
	opacity: .6;
	content: url("../imgs/icon_search.svg");
}

a.close_search::before {
	content: url("../imgs/icon_close.svg");
	opacity: .6;
}

a#gosearch:hover::before,
a.close_search:hover::before {
	opacity: 1;
}

a.close_search {
    position: fixed;
    left: calc(2vw + var(--unit-box)* 9);
}

span.description {
	display: block;
	margin: 10px 0 0;
}

span.url {
	color: var(--color-grey-line);
	display: inline-block;
	margin: 0 0 1vw;
	font-size:var(--typo-small);
}

#results .ctext {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
}

#results a.title {
    color: inherit;
    font-weight: 600;
    text-decoration: none;
	font-size: var(--typo-normal);
	width: 100%;
}

#did_you_mean,
#common_report,
#result_report {
	margin: 4px 0;
}

#results {
	margin: 20px 0 0;
}

#results .infos:last-of-type {
	margin-bottom: 50vh;
}

.search_closed {
	height: 100%;
    margin: 0;
    transition: all 0.3s ease-out 0s;
    opacity: 0;
    background: var(--color-white);
    width: 100%;
    position: fixed;
    visibility: collapse;
    padding: 20vh calc(2vw + var(--unit-box)* 3) 0;
}

.search_opened {
	opacity: 1;
	transition: all 0.3s ease-out 0s;
	z-index: 4;
	overflow: auto;
	visibility: visible;
}

/* !!END!! search */

/* module */
.module_title_wrapper {
	padding: 0 var(--lateral) var(--global-bottom-margin);
}

a.module_title {
	font: 400 var(--typo-normal)/var(--typo-normal) 'TypeThree', sans-serif;
	text-decoration: underline;
}

/* !!END!! module */

/* page liste */
.list_cat_wrapper {
	text-align: center;
	grid-column: span 3;
	grid-row: span 9;
}

.list_cat_wrapper a {
	display: inline-block;
}

.list_cat_wrapper a:hover .list_cat_text {
	text-decoration: underline;
}

.list_cat_wrapper a:hover .list_cat_number::before {
	width: 10px;
}

.list_cat_text {
	display: inline-block;
	margin: 0;
	font: 600 3vw/3vw 'TypeThree', sans-serif;
	letter-spacing: -.15rem;
}

.list_cat_number {
	font: 300 1.2rem/2rem 'TypeThree', Arial, sans-serif;
	vertical-align: top;
	padding-left: 10px;
}

.sticker {
	font-size: var(--typo-small);
    display: inline-block;
    padding: 2px 7px;
    color: var(--color-black-trans);
    max-width: fit-content;
    position: absolute;
    top: 0;
    z-index: 1;
    right: 0;
    transform: rotate(-90deg) translateY(-100%);
    transform-origin: top right;
}

.soon {
	color:#fff;
	background: #fa5d6d;
}

.now {
	color:#fff;
	background: #0a9444;
}

a.list_link {
	display: flex;
	background-color: rgba(240, 240, 240, 0);
	justify-content: center;
}

.list_image_bg {
	background-color: rgba(255, 255, 255, .5);
}

.list_wrapper {
	padding: 20px 0;
	visibility: hidden;
	display: grid;
	grid-template-columns: repeat(12,1fr);
	grid-gap: var(--padd-global);;
	margin:0 var(--lateral);
}

.more_news {
	grid-template-columns: repeat(12, 1fr);
    padding-top: 2.5vw !important;
	border-top: solid 1px;
}
.more_news div {
	grid-column: span 2;
}
.more_news div h3 {
	padding-bottom: .5rem;
	position:relative;
}

.more_news a {
	display: block;
    width: fit-content;
    padding-bottom: .15rem;
    font-size: var(--typo-normal);
    font-weight: 400;
    letter-spacing: -.02rem;
}


/* Agenda nav */

.title_number {
	justify-content: center;
}

.title_number>* {
	display: inline-block;
	vertical-align: middle;
	padding: 0;
}

.title_number h1 {
	position: relative;
	overflow: hidden;
	padding-right: 0;
	min-width: auto;
}

.cal_btn {
	display: flex;
	flex-flow: row wrap;
	user-select: none;
	max-width: 90%;
	width: 90%;
	margin-bottom: var(--global-bottom-margin);
}

.list .navi_btn {
	margin: 0 20px 0 0;
	padding: 10px;
	text-decoration: underline;
	text-decoration-color: rgba(0, 0, 0, 0);
	text-align: left;
	white-space: nowrap;
}

.navi_btn:hover {
	text-decoration: underline;
	text-decoration-color: var(--color-black-trans);
}

.navi_btn.navi_btn_selected {
	cursor: default;
	pointer-events: none;
	text-decoration: underline;
	text-decoration-color: var(--color-black-trans);
	;
}

/* Agenda navigation*/
a.cal_navi {
	min-width: 8.6666%;
	max-width: 8.6666%;
}

.item_fake figure, .fake figure {

	background: linear-gradient(to top left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) calc(50% - 0.8px), rgba(176, 176, 176, 1) 50%, rgba(0, 0, 0, 0) calc(50% + 0.8px), rgba(0, 0, 0, 0) 50%), linear-gradient(to top right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) calc(50% - 0.8px), rgba(176, 176, 176, 1) 50%, rgba(0, 0, 0, 0) calc(50% + 0.8px), rgba(0, 0, 0, 0) 50%);
	border: 1px solid rgba(176, 176, 176, 1);

}

/* date anim */
.title_number span {
	display: inline-block;
	position: relative;
	transition: transform .5s cubic-bezier(0.5, 0, 0.2, 1);
}

.title_number span::before,
.title_number span::after {
	position: absolute;
	left: 0;
	transition: transform .5s cubic-bezier(0.5, 0, 0.2, 1);
}

.title_number span[data-prev]::before {
	content: attr(data-prev);
	top: 100%;
}

.title_number span[data-next]::after {
	content: attr(data-next);
	bottom: 100%;
}

.title_number:hover h1.prev span {
	transform: translateY(100%);
}

.title_number:hover h1.next span {
	transform: translateY(-100%);
}

a.cal_navi {
	height: 4rem;
	margin-top: .8rem;
	visibility:hidden;
}

a.prev_month,
a.prev_month::after {
	content: 'arrow_back';
	font-family: "Material Symbols Outlined";
	font-size: 3.4rem;
	font-weight: 300;
	line-height: 4rem;
	text-align: center;
}

a.next_month,
a.next_month::after {
	content: 'arrow_forward';
	font-family: "Material Symbols Outlined";
	font-size: 3.4rem;
	font-weight: 300;
	line-height: 4rem;
	text-align: center;
}

a.prev_month:hover {
	transform: translateX(-10px);
}

a.next_month:hover {
	transform: translateX(10px);
}

/* !!END!! Liste exposition big template exposition */

.share_social-list {
	padding: 0;
	margin: 0;
	display: flex;
	flex-flow: row wrap;
	margin-top: 5px;
}

.share_social-list::before {
	content: 'Partager';
	font: 700 1rem/2rem 'TypeThree', Arial, sans-serif;
	display: block;
	width: 100%;
}

html[xml\:lang="en"] .share_social-list::before {
	content: 'Share';
}

li.share_social-item {
	border-right: 1px solid #fff;
	text-decoration: none;
	list-style-type: none;
	position: relative;
}

li.share_social-item:first-child {
	border-left: 1px solid #fff;
}

.share_social-item a {
	width: 40px;
	height: 38px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-bottom: none;
	opacity: .6;
}

.share_social-item a:hover {
	opacity: 1;
}

/*---------- !!END!! Prod ----------*/

/*---------- Home ----------*/
.page_home>div.list_wrapper {
	padding: 0;
}

a.all_actu {
	cursor: pointer;
	background-color: #363636;
	color: #fff;
	padding: 8px 10px 7px;
	border-radius: 2px;
	display: inline-block;
	text-decoration: none;
	margin: auto !important;
}

div.flex_mode {
	display: grid;
	grid-template-columns: repeat(12,1fr);
	width: 96%;
	padding-bottom: 0;
	grid-gap: var(--padd-global);;
}

a.home_item:hover {
	color: inherit;
}

.module_item img.rollover {
	padding-top: 10px;
}

.home_item img,
.item_calendar img {
	object-fit: cover;
	position: relative;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.home_item:hover .h_title {
	background-size: 100% 100%;
}

.home_ghost {
	margin: 0 0 4vw 0;
	align-self: normal;
	background: #fff;
	min-height: 200px;
}

.cal_slash,
.cal_tiret {
	font-weight: 100;
	padding: 0 .25rem;
}

/* Folder */

/* Newser (inpage) */

.page_newser {
    margin-left: calc(var(--unit-box)* 3 + var(--lateral));
    margin-right: var(--lateral);
}

.page_newser.extended {
    margin-left: var(--lateral);
    margin-right: var(--lateral);
}

.page_newser .page_folder_content {
	display: grid;
	grid-template-columns: repeat(9,1fr);
	grid-gap: var(--padd-global);;
	margin-left:10px;
}

.page_newser.extended .page_folder_content {
	grid-template-columns: repeat(12,1fr);
	margin-left:0;
}
.home_folder,
.home_newser {
	grid-column: span 12;
	margin: 0 0 10vh;
	padding: 0;
	position: relative;
	border-top: solid 1px;
	padding-top: .75rem;
}

.home_folder_title {
	display: block;
	font: 400 var(--typo-medium)/var(--line-normal) 'TypeThree', sans-serif;
	margin-bottom: 3rem;
	font-weight: bold;
}

.home_folder_title a {
	text-decoration: none;
}

.home_newser .home_folder_title, .page_newser.extended .home_folder_title {
	margin-left:0;
}
.page_newser .home_folder_title {
	margin-left:10px;
}

.home_folder_content,
.page_folder_content {
	display: grid;
	grid-template-columns: repeat(12,1fr);
	grid-gap: var(--padd-global);;
}

/*---------- !!END!! Home ----------*/

/*---------- Calendar ----------*/
.h_calendar {
	position: relative;
	width: 100%;
	margin: 0 0 10vh 0;
	grid-column: span 12;
	border-top: solid 1px;
	padding-top:.75rem;
}

.h_calendar_head {
	padding: 0 0 25px 10px;
	display: block;
}

.h_calendar_content {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	justify-content: space-between;
}

.item_calendar {
	display: flex;
	align-self: normal;
	background-color: rgba(240, 240, 240, 0);
	width: calc(20% - var(--reductor));
	max-width: calc(20% - var(--reductor));
	min-height: 160px;
	position: relative;
	flex-direction: column;
	margin-bottom:4vw;
}

	.item_calendar a {
		display: flex;
		flex-direction: column;
	}

		.item_calendar a .t_infos {
			background:var(--color-classy);
			flex-basis:auto;
		}

.item_calendar:hover span.title_calendar {
	background-size: 100% 100%;
}

.item_calendar figure.h_img {
	height: auto;
}

.item_calendar img {
	width: 100%;
}

video.video_agenda {
    aspect-ratio: 5 / 7;
    object-fit: cover;
}

span.cat_calendar {
	display: block;
	font-size: var(--typo-xsmall);
	letter-spacing: .05rem;
}

span.date_calendar {
	font-size: var(--typo-medium);
	display: block;
	padding-bottom: .8rem;
	line-height: var(--typo-medium);
	margin-top: 10px;
}

span.title_calendar {
	font:400 var(--typo-medium)/var(--line-medium) 'TypeThree', sans-serif;
	display: inline !important;
	width:fit-content;
	text-decoration: underline transparent;
	transition: text-decoration-color .6s ease-out 0s;
	padding-bottom: .2rem;

	background-image: linear-gradient(transparent calc(100% - 2px), currentColor 1px);
    background-repeat: no-repeat;
    background-size: 0 100%;
    background-position: 0 -.3rem;
    transition: background .6s var(--trans-cubic);
}
span.subtitle_calendar {
	display:block;
	font: 300 var(--typo-normal)/var(--line-normal) 'TypeThree', sans-serif;
}

/* style bouton more */
.cal_more,
.actu_more {
	width: auto;
	position: absolute;
	top: 0.75rem;
	right: 0;
}

.cal_more_link,
.actu_more_link {
	font: 400 var(--typo-normal)/var(--line-normal) 'TypeThree', sans-serif;
	display: inline-block;
	width: 100%;
}

.cal_more a::after,
.actu_more a::after {
	font-family: "Material Symbols Outlined";
	font-weight:300;
	content: "arrow_outward";
	line-height: 0rem;
	vertical-align: middle;
	font-size: var(--typo-medium);
	padding-left: .3rem;
	transition: all 0.3s ease-out 0s;
	display: inline-block;
}

.cal_more a:hover::after,
.actu_more a:hover::after {
	margin: -.2rem -.2rem 0 0;
}

.noresult {
    font: 300 var(--typo-medium)/var(--line-medium) 'TypeThree', sans-serif;
    width: 100%;
    max-width: 100%;
	grid-column: 1 / 13;
	padding:4vw 0;
    text-align:center;
	background: url(../imgs/noise.webp) repeat;
}

/*---------- !!END!! Calendar ----------*/


/********************* MENU ****************************/

.topbar,
#bottom {
	user-select: none;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	z-index: 2;
}

.topbar div.menu-tools {
	position: absolute;
	z-index: 3;
	top: 0;
	right: 0;
	height:60px;
	padding-right: var(--lateral);
	visibility:hidden;
}

a.home {
    width: 50px;
    height: 50px;
    display: inline-block;
    border-radius: 50px;
    position:absolute;
	top:-60px;
	text-decoration: none;
}
a.home::before {
    color: #000;
    font-size: var(--typo-medium);
	font:300 var(--typo-medium) / 50px 'Material Symbols Outlined', sans-serif;
	content:'home';
}

.actions {
	display: flex;
	height:100%;
	align-items: center;
}

.actions span {
	cursor:pointer;
	padding-right:.5rem;
}

.actions span a:hover {
	opacity: 1;
}

.actions #action_search a::before {
	content: 'search';
	font: 300 var(--typo-medium)/normal 'Material Symbols Outlined', sans-serif;
	display: inline-block;
}

.actions #action_c a::before {
	content: 'mail_outline';
	font: 300 var(--typo-medium)/normal 'Material Symbols Outlined', sans-serif;
	line-height: 40px;
}

.actions #action_d a {
	content: url("../imgs/icon_share_f.svg");
}

.actions #action_e a {
	content: url("../imgs/icon_share_i.svg");
}

.actions #action_f a {
	content: url("../imgs/icon_share_t.svg");
}

.actions #action_shop a::before {
	content: 'shopping_basket';
	font: 300 var(--typo-medium)/normal 'Material Symbols Outlined', sans-serif;

}

.actions #action_ticket a::before {
	content: 'confirmation_number';
	font: 300 var(--typo-medium)/normal 'Material Symbols Outlined', sans-serif;
	display: inline-block;
	transform: rotate(90deg);
}

.actions #action_aboutus a::before {
	content: 'handshake';
	font: 300 var(--typo-medium)/normal 'Material Symbols Outlined', sans-serif;
}

.actions a {
	text-decoration: none;
	color: var(--color-black-trans);
	text-align: center;
	display: block;
	position: relative;
}

.actions a:hover span.tooltiptext {
	visibility: visible;
	opacity:1;
}

span.tooltiptext {
	transition: all .3s ease-out 0s;
	opacity:0;
	visibility: hidden;
	width: fit-content;
	background-color: var(--color-black-trans);
	color: #f0f0f0;
	text-align: center;
	border-radius: 1rem;
	padding: .5rem 1rem;
	position: absolute;
	z-index: 1;
	top: 130%;
	left: 50%;
	margin-left: -50px;
	font-size: var(--typo-xsmall);
	box-shadow:4px 4px 10px 2px rgba(0,0,0,0.06);
}

.topbar {
	position: fixed;
	width: 100%;
	z-index: 2;
}

.topbar .menu_removed {
	top: -98px;
}

.logo {
	position: absolute;
	z-index: 5;
	top: 0;
	margin-left: var(--lateral);
	height: 100%;
}

.mainlogo {
	overflow: hidden;
	line-height: 0;
	padding-top: 27px;
	margin-top: 0;
}

.stretched .mainlogo {
	max-height:60px;
}

.logosvg,
.logo img {
	height: 9vh;
	max-height: 9vh;
	padding-left: 2px;
}

svg#blog {
	max-height:40px;
}

.topbar {
	background-color: transparent;
}

.topbar.stretched {
	background: var(--color-white);
	box-shadow: 4px 4px 10px 2px rgba(0,0,0,0.06);
}

.flat .main-menu {
	box-shadow: unset;
}

.stretched .logocite {
	fill: #000;
}

ul,
li {
	list-style: none;
	padding: 0;
	margin: 0;
}

.main-menu-wrapper {
	padding: 0;
	visibility:hidden;
}

ul.main-menu {
	display: flex;
	flex-flow: row nowrap;
	width: 100%;
	margin: 0;
	padding: 0 14% 0 var(--lateral);
	height:60px;
	background-color: rgba(255,255,255,0);
	flex-wrap: wrap;
	justify-content: flex-end;
}

ul.main-menu a {
	color: var(--color-black-trans);
}

li.bottom-menu {
	position: relative;
    display: flex;
    z-index: 0;
    width: 100%;
	opacity: 0;
    visibility: hidden;
    right: -12vw;
    padding: 1rem 0;
    justify-content: flex-end;
	align-self:end;
}
li.bottom-menu ul li {
	font:400 var(--typo-normal)/var(--line-normal) 'TypeThree', sans-serif;
}

li.menu-item {
	padding: 0 2.5vw 0 0;
	height:60px;
	z-index: 1;
}

.stretched li.menu-item {
	padding: 0 2.5vw 0 0;
	
}

a.menu-bt {
	border-bottom: 2px solid transparent;
	display: inline;
	font-size: var(--typo-normal);
	font-weight:400;
	letter-spacing: -.02rem;
	text-decoration: none;
	position: relative;
	height:60px;
	line-height:60px;
	background-image: linear-gradient(transparent calc(100% - 2px), currentColor 1px);
    background-repeat: no-repeat;
	background-size: 0 100%;
    background-position: 0 0;
    transition: background .6s var(--trans-cubic);
}

.stretched a.menu-bt {
	padding: 0;
}

li.menu-item:hover a.menu-bt,
a.menu-bt:hover,
a.menu-bt.dock_a_sel
{
	background-size: 100% 100%;
}

ul.sub-menu {
	content: "";
	display: flex;
	position: absolute;
	opacity: 0;
	overflow: hidden;
	flex-flow: column wrap;
	transition: opacity 0.3s ease-out 0s, transform 0.3s ease-in-out 0s;
	transform:translateY(1.0vw);
	pointer-events: none;
}

li.menu-item.opened ul.sub-menu {
	height: auto;
	overflow: visible;
	opacity: 1;
	transform:translateY(0);
	pointer-events: initial;
}

li.mobile_only {
	visibility: hidden;
	margin-top: -2rem;
}

li.sub-menu-item:first-child {
	padding-top: 1rem;
}

li.sub-menu-item:last-child {
	padding-bottom: 2rem;
}

li.sub-menu-item {
	cursor:pointer;
}

li.sub-menu-item a
{
	color: var(--color-grey-main);
	display: block;
	font-size:var(--typo-normal);
	letter-spacing: -.02rem;
	font-weight:400;
	height: 100%;
	padding: .1rem 0;
	text-decoration: none;
	transition: all .2s ease;
	position: relative;
    opacity:.5;
	pointer-events: none;
}

li.bottom-menu a {
	color: var(--color-grey-main);
	font-size: var(--typo-small);
	font-weight: 400;
	padding: 0;
	text-decoration: none;
	transition: all .2s ease-out 0s;
	position: relative;
	opacity: 1;
	background-image: linear-gradient(transparent calc(100% - 2px), currentColor 1px);
    background-repeat: no-repeat;
    background-size: 0% 100%;
    background-position: 0 0;
    transition: background .6s var(--trans-cubic);
}

li.bottom-menu a:hover {
	background-size:100% 100%;
}

li.menu-item.opened li.sub-menu-item a {
	pointer-events: initial;
}

li.sub-menu-item:hover a,
.dark li.sub-menu-item:hover a,
li.sub-menu-item a.ss_rubrique_sel,
li.bottom-menu a:hover
{
	color: var(--color-grey-hov);
    opacity:1;
}

.meta-menu a.open_in_new {
	padding-left: 0 !important;
}

.open_in_new::after {
	content: '\e89e';
	font-family: "Material Symbols Outlined";
	font-weight:300;
	display: inline-block;
	font-size: var(--typo-normal);
	position: absolute;
	color: inherit;
	line-height: 1.7rem;
	padding-left:.5rem;
}

.meta-menu a.open_in_new::after {
	content: '\e89e';
	font-family: "Material Symbols Outlined";
	font-weight:300;
	display: inline-block;
	font-size: 1.1rem;
	color: inherit;
	padding-left: 0.5rem;
}

a.langue {
	display: inline-block;
	font-size: var(--typo-small);
	font-weight: 400;
}

/* menu switch */

ul.menu_sous_rubrique:empty {
	display: none;
}

ul.menu_sous_rubrique {
	visibility: hidden;
	opacity: 0;
	position: fixed;
	top: 100px;
	width: 100%;
	box-shadow: 0 15px 10px -15px var(--color-black-trans);
	left: 50%;
	transform: translateX(-50%);
	padding: 2rem 10% 10rem 30%;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	background-color: inherit;
	justify-content: left;
	align-items: flex-start;
	align-content: start;
}

.menu-item:hover>ul.menu_sous_rubrique {
	visibility: visible;
	opacity: 1;
}

/************************************************************** FOOTER **************************************************************/

footer {
	background-color:#f0f0f0;
}

#bottombar {
	display: grid;
	grid-template-columns: repeat(12,1fr);
	line-height: var(--line-small);
	color: var(--color-black-trans);
	font-size: var(--typo-small);
	column-gap: 40px;
	margin: 0 var(--lateral) 2vw;
    padding-top: 2vw;
}

.footer-infos {
	padding: 15px 0 0 0;
	grid-column: span 3;
}

.footer-social {
	grid-column: span 6;
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	padding: 15px 0 0 0;
}

.menu-footer {
	grid-column: span 3;
	align-content: start;
	display: flex;
	flex-flow: row wrap;
	padding: 15px 0 0 0;
}

.title-icon {
	margin-bottom: 1.4rem;
	font-size: var(--typo-normal);
}

.title-icon::after {
	font-family: "Material Symbols Outlined";
	font-weight:300;
	position: absolute;
	font-size: 1.2rem;
	transition: all 0.3s ease-out 0s;
	top: .1rem;
	background: #fff;
	padding-left: .4rem;
}

.sub_menu ul.main-menu {
	flex-wrap: wrap;
	display: flex;
	flex-direction: column;
}

#bottombar .menu-item {
	padding: 0;
	height: auto;
}

#bottombar li {
	margin: 0;
}

.menu-footer-col {
	margin: 0;
	padding: 0;
	width: 50%;
}

.footer-grey {
	line-height: 1.3rem;
}

.footer-infos a {
	color: inherit;
}

.footer-infos a:hover {
	color: var(--color-grey-hov);
}

#bottombar a {
	color: var(--color-grey-main);
	margin: 0 0 .2rem;
	font: inherit;
	transition: all .3s ease-out 0s;
	text-decoration: none;
	height:auto;
	border: none;
	opacity:.7 !important;
	display:inline-block;
}

#bottombar a:hover {
	color: var(--color-grey-hov);
}

#bottombar .menu-item a::after {
	display: none;
}

#bottombar a:hover {
	opacity:1 !important;
}

#bottombar a.menu-bt.dock_a_sel {
	border: none;
}

.footer-social-list {
	flex-basis: 33.3333%;
}

.footer-title-top {
	padding-bottom: .25rem;
	font-weight: 400;
	width: 100%;
}

.footer-social-title {
	font-weight: 400;
	margin: 0 0 10px;
}

.footer-social-item {
	margin-right: 4px;
}

.footer-social-item a {
	display: flex;
}

/* GRID STUFF */
#grid {
	display: none;
}

.grid_line {
	border-left: 1px dashed rgba(0, 0, 0, .9);
	height: 100%;
	position: fixed;
	top: 0;
	left:-100px;
	color: rgba(0, 0, 0, .5);
	font-weight: bold;
	font-size: 11px;
	pointer-events: none;
	user-select: none;
}

.grid_line.zero {
	left: 2vw;
}

.grid_line.one {
	left: 10%;
}

.grid_line.two {
	left: 18%;
}

.grid_line.three {
	left: 26%;
}

.grid_line.four {
	left: 34%;
}

.grid_line.five {
	left: 42vw;
}

.grid_line.six {
	left: 50%;
}

.grid_line.seven {
	left: 58%;
}

.grid_line.eight {
	left: 66%;
}

.grid_line.nine {
	left: 74%;
}

.grid_line.ten {
	left: 82vw;
}

.grid_line.eleven {
    left: 90%;
}

.grid_line.twelve {
	left: 98%;
}

.grid_line.red-beg {
	left: 26%;
	border-color: red;
	color: red;
}

.grid_line.red-end {
	left: 98%;
	border-color: red;
	color: red;
}

	.sub_menu ul.main-menu {
		flex-basis: 60%;
		min-width: 60%;
	}

	.page>div,
	.page>span,
	#search {
		max-width: 100%;
	}

	.blog_wrapper {
		max-width: 80%;
		padding-left: calc(10% * 2);
		margin: auto;
	}

	.popup_content .popup_content .cintertitle,
	.popup_content .ctext,
	.popup_content .video,
	.popup_content .cdoc,
	.popup_content .chr,
	.popup_content .ccollaps,
	.popup_content .cul,
	.popup_content .cquote,
	.popup_content .cresp {
		margin: 0 0 var(--global-bottom-margin) 0;
		width: 100%;
	}

	.popup_content table.ctable {
		min-width: 100%;
		margin-right: 0;
	}

	.head_title figure.full {
		width: calc(20% * 5);
	}

	div.content_wrapper>figure.full:first-child,
	div.content_wrapper>.anchor_menu+figure.full {
		padding-top: 0;
	}


	/* Meta data colonne */
	.col_meta.col_meta_nav p.col_meta {
		padding-right: 0;
		padding-left: 0;
	}

	div.col_meta_nav p.col_meta:first-of-type {
		width: 100%;
	}

	.page p:not(.meta_hidden) span.meta_dynamic {
		padding-top: 0;
	}

	/*!!END!! Meta data colonne */


	/*---------- Prod ----------*/
	span.list_image_wrapper,
	span.list_infos_wrapper {
		flex-basis: 10%;
		max-width: 10%;
	}

	span.actu_image_wrapper {
		flex-basis: 20%;
		max-width: 20%;
	}

	.page_folder_content span.list_image_wrapper {
		flex-basis: 30%;
		max-width: 30%;
	}

	span.list_content_wrapper {
		flex-basis: calc(10% * 6);
		max-width: calc(10% * 6);
	}

	.page_folder_content span.list_content_wrapper {
		flex-basis: 70%;
		max-width: 70%;
	}

	span.actu_content_wrapper {
		flex-basis: calc(10% * 6);
		max-width: calc(10% * 6);
	}

	span.list_title {
		max-width: calc(16.6666% * 4);
	}

	span.list_subtitle {
		max-width: calc(16.6666% * 4);
	}

	/*----------- Actu -----------*/
	span.actu_title,
	span.actu_sub_title {
		text-overflow: ellipsis;
		word-break: keep-all;
		overflow: hidden;
		max-width: 84%;
	}
	/*---------- !!END!! Prod ----------*/

	/*---------- Home ----------*/
	.page_home>div,
	.page_home>span {
		max-width: 100%;
		margin: 0 auto;
	}

	/*---------- !!END!! Home ----------*/

	/*---------- Calendar ----------*/
	.page_home .cal_content_wrapper,
	.cal_content_wrapper {
		max-width: 100%;
		padding: 10px var(--lateral) 0 var(--lateral);
	}

	.list .cal_content_wrapper {
		padding: 20px var(--lateral) 0 var(--lateral);
	}

	/*---------- !!END!! Calendar ----------*/

	/* module */

	span.module_image_wrapper {
		flex-basis: 20%;
		max-width: 20%;
	}

	span.module_content_wrapper {
		flex-basis: 70%;
		max-width: 70%;
	}

	span.module_event,
	span.module_item_title,
	span.module_item_subtitle,
	p.module_item_chapeau {
		max-width: calc(16.6666% *5);
	}

	/* !!END!! module */


/* Logos partenaires */
.logos_wrapper {
	display: flex;
    margin: 10vw 0 0;
    justify-content: space-between;
    padding: 0 var(--lateral);
}

.partner_logo {
	width: calc(100% / 12);
	opacity: .7;
	transition: opacity .4s ease-in-out 0s;
}
.partner_logo:hover {
	opacity:1;
}

.logos_wrapper figure {
	margin: 0;
	padding: 0;
}

.lat_sub_vis {
	display: block;
	padding: .25rem 0 1rem 0;
}

/* Meta menu */
.meta-menu a {
	font-size: var(--typo-normal);
	font-weight: 400;
	display: inline-block;
	padding: .25rem 0;
	color: var(--color-grey-main);
	position: relative;
	overflow: hidden;
	white-space: nowrap;
	max-width: 100%;
	text-overflow: ellipsis;
	user-select: none;
	line-height: var(--line-normal);
	opacity:.8;
	transition: all .2s ease;
}
.meta-menu a.meta_menu_selected {
	opacity: 1 ;
}

.lat_sub a::before {
	display: none;
}

.meta-menu .lat_sub>a {
	font: 300 var(--typo-small)/var(--line-small) 'TypeThree', sans-serif;
	padding: 0 0 .2rem 1rem;
	border-bottom: none;
	display: block;
}

.meta-menu a.meta-menu_selected,
.title_wrapper a.arrowed.meta-menu_selected {
	color: var(--color-grey-hov);
	opacity:1;
}

.meta-menu a:hover {
	color: var(--color-grey-hov);
	opacity:1;
}

.meta-menu a:hover::before,
.meta-menu a.meta-menu_selected::before {
	background: var(--color-grey-hov);
	width: 100%;
}

.lat_sub .meta-menu_selected {
	text-decoration: underline var(--color-grey-hov);
}

.no-result {
	margin-bottom: 10vh;
	width: 100%;
	text-align: center;
	font: 400 var(--typo-medium)/1.1rem 'TypeThree', sans-serif
}

.doc_img {
	display: block;
	padding: 0;
	margin-bottom: var(--global-bottom-margin);
	margin-right:calc( 8% * 2 + var(--lateral));
	overflow: hidden;
}

.doc_img a.download {
	display: flex;
	border-top: 1px solid var(--color-grey-line);
	background:none;
}

.doc_img a.download::before {
	font: 300 2rem / 2rem 'Material Symbols Outlined', sans-serif;
	top:auto;
    bottom: .2rem;
    right: 0.2rem;
}

.doc_img a.download figure.download_fig {
	width:33%;
	margin: 10px 0 0;
}

.doc_img span.download_lgd {
	padding: 10px 10px 10px 20px;
    width: 66%;
    white-space: normal;
}

/*-------------------------------------------*/
/* responsive design rules */
/*--------------------------------------------*/

@media print {

	.burger,
	#search_wrapper,
	#bottombar .main-menu,
	.meta_static_img,
	.share_social-list,
	.footer-social-list,
	.extra_wrapper,
	.module_list,
	.cal_content_wrapper,
	.newser_content_wrapper,
	.footer-social-list,
	.menu-footer,
	.logos_wrapper {
		display: none !important;
	}

	html {
		font-size: 62vw;
	}

	.page .top_section_wrapper,
	div,
	span,
	p,
	h1,
	h2,
	h3,
	h4,
	h5,
	h6,
	.title_wrapper,
	.anchor_menu,
	.ctext,
	.cdoc,
	.cintertitle,
	.cquote,
	figure.video,
	.caudio,
	.ccollaps,
	.ctable,
	.cul,
	.ctwocol,
	.cgallery,
	.chr,
	.note_wrapper,
	.page .notes,
	.cresp,
	.blog_item,
	.module_wrapper .module_more {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		margin-top: 0 !important;
		margin-bottom: 20px !important;
	}

	.doc_img span.download_lgd::before,
	.meta_static::before,
	.meta_dynamic::before,
	.anchor_menu::before,
	.list_infos_wrapper::before,
	.meta-menu::before,
	.blog_info::before,
	.actu_content_wrapper::before {
		display: none !important;
	}

	* {
		margin: 0;
		padding: 0;
	}
}

.elem_1 {
	grid-column-end: span 1 !important;
}
.elem_2 {
	grid-column-end: span 2 !important;
}
.elem_3 {
	grid-column-end: span 3 !important;
}
.elem_4 {
	grid-column-end: span 4 !important;
}
.elem_5 {
	grid-column-end: span 5 !important;
}
.elem_6 {
	grid-column-end: span 6 !important;
}
.elem_7 {
	grid-column-end: span 7 !important;
}
.elem_8 {
	grid-column-end: span 8 !important;
}
.elem_9 {
	grid-column-end: span 9 !important;
}

.blurry {
	filter: blur(10px);
	opacity:.8;
}

.line {
	width:fit-content;
	max-width: 100%;
}

.exp {
	grid-column: span 8;
}

.page-transition {
    z-index: 20;
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    pointer-events: none;
    transition-property: opacity;
    transition-duration: .2s;
}

.page-transition.closed {
    pointer-events: none;
    opacity: 0 !important;
}

.page-transition.opened {
    opacity: 1;
}

.page-transition.show {
    opacity: 1 !important;
    pointer-events: initial;
}

.ctext + .cdoc {
    margin-top: calc(var(--global-bottom-margin)* -1 + 12px);
}

.cintertitle.downed + .ctext {
	margin-top: 2vw;
}

div.strip {
	bottom:0;
	background:var(--color-blue-light);
	width:100%;
	padding:var(--lateral);
	z-index:1;
	display: grid;
    grid-template-columns: repeat(12, 1fr);
    line-height: var(--line-large);
    color: var(--color-black-trans);
}
div.pinned {
	position:fixed;
	box-shadow: -4px -4px 10px 2px rgba(0, 0, 0, 0.06);
}
	.strip_box {
		grid-column: span 6;
		font-size: var(--typo-medium);
		font-weight: 400;
		margin-left: calc(100% / 6);
		font-weight: 500; /* BVHStefWeb-Regular */ 
		font-size: 22px;
	}
	.pinned .strip_one {
		border-bottom: solid 3px;
    	padding-bottom: 1rem;
	}
	a.circular_bt {
		color: white !important;
		background: black;
		text-align: center;
		display: inline-block;
		padding: .2rem 2rem;
		border-radius: 2rem;
		font-family: 'TypeThree';
		font-size: var(--typo-normal);
		font-weight: 600;
		text-decoration: underline transparent !important;
		transition: all 0.3s ease-in-out 0s;
		border:solid 2px black;
	}
	a.circular_bt:hover {
		color:black !important;
		background:transparent;
		padding: .25rem 2rem;
	}