:root {
	--unit-box: 8%;
	--anim-width-start: 0;
	--anim-width-end: 100%;
	--typo-xs:0.75rem;
	--line-xs: 1.4;
	--typo-normal:1.00rem;
	--line-normal: 1.6;
	--typo-h6:1.333rem;
	--line-h6: 1.3;
	--typo-h5:1.777rem;
	--line-h5: 1.3;
	--typo-h4:2.369rem;
	--line-h4: 1.3;
	--typo-large:3.157rem;
	--line-large: 1.1;
	--typo-xlarge:4.209rem;
	--line-xlarge: 1.05;
	--typo-title:5.61rem;
	--line-title: 1.1;
	--xlreductor: 50px;
	--lreductor: 30px;
	--reductor: 20px;
	--sreductor: 10px;
	--xsreductor: 5px;
	--padd-short: 1%;
	--padd-global: 10px;
	--correction: 0px;
	--global-bottom-margin: 10px;
	--antimargin: -1.5vw;
	--short-bottom-margin: 1.5vw;
	--lateral: 2%;
	--max-width: 90vw;
	--inner-grid-width: calc(var(--max-width));
	--column: calc( (var(--inner-grid-width) / 12) );
	--reserved: calc( (100% - var(--max-width)) / 2 + (var(--) ));

	/* -- If change or Add colors, do not forget INC_listcolor.php & home.js */
	--reserved: calc( (100% - var(--max-width)) / 2 + (var(-) ));
	--reserved: calc( (100% - var(--max-width)) / 2 + (var() ));
	--reserved: calc( (100% - var(--max-width)) / 2 + );
	--reserved: calc( (100% - var(--max-width)) / 2 +);
	--reserved: calc( (100% - var(--max-width)) / 2 );
	--reserved: calc( (100% - var(--max-width)) / 2 );
	--reserved: calc( (100% - var(--)));
	--reserved: calc( (100% - var(-)));
	--reserved: calc( (100% - var()));
	--reserved: calc( 100% - var());
	--reserved: calc( 100% - var(-));
	--reserved: calc( 100% - var(--));
	--reserved: calc( (100% - var(--max-width) ) /2);
	--color-white: #ffffff;
	--color-black: #282828;
	--color-01: #f4f3ec;
	--color-02: #b7c2c6;
	--color-03: #9eb592;
	--color-04: #e1e2da;
	--color-05: #e3d9cd;
	--color-06: #615652;
	--color-07: #649cb0;
	--color-08: #608b4c;
	--color-highlight: #477281;
	--trans-cubic: cubic-bezier(.45, 0, .14, 1.03);
	--speedy:cubic-bezier(0.65, 0.01, 0.05, 0.99);
}

@font-face {
    font-family: 'Franxurter';
    src: url('./fonts/FranxurterTotallyMedium.woff2') format('woff2'),
        url('./fonts/FranxurterTotallyMedium.woff') format('woff');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

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

.color-black {	background:#282828 !important; }
.color-white { 	background: var(--color-white) !important; }
.color-01 {	background: var(--color-01) !important; }
.color-02 {	background: var(--color-02) !important; }
.color-03 {	background: var(--color-03) !important; }
.color-04 {	background: var(--color-04) !important; }
.color-05 {	background: var(--color-05) !important; }
.color-06 {	background: var(--color-06) !important; }
.color-07 {	background: var(--color-07) !important; }
.color-08 { background: var(--color-08) !important; }

* {	box-sizing: border-box; }

a {	outline: 0; }

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

html {
	font-size: calc(1vw + .1em);
	font-weight: 400;
	font-family: 'Roboto', Arial, sans-serif;
	text-rendering: optimizeLegibility;
	word-wrap: break-word;
}

body {
	margin: 0;
	padding: 0;
	color: var(--color-black);
}

div.msg {
	background: #ff0;
	text-align: center;
	line-height: 30px;
	padding: 0 20px;
	font: 400 .85rem/1.2rem 'Roboto', 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-line);
	left: var(--lateral);
	transform-origin: top left;
	visibility: hidden;
}

.separator.color01 {
	background: var(--color-grey-line) !important;
}

.separator.topper {
	top: 170px;
	display: none;
}

.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: 100px;
	margin-left: var(--lateral);
	/* opacity: 0; */
	z-index: 2;
	color: var(--color-black);
	font-weight: 300;
	display: none;
}

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

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

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 var(--speedy) 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,
h5 {
	margin: 0;
}

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: 100px 0 0;
}

.page,
.list {
	min-height: 100vh;
	background: var(--color-white);
	z-index: 1;
	position: relative;
	overflow-x: hidden;
}

.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; */
}

.content_wrapper {
	flex-shrink: 0;
	z-index: 0;
	width: 100%;
	flex-basis: 100%;
	margin: 0 auto;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	perspective: 2000px;
	background: #fff;
}

.content_wrapper {
	opacity: 0;
}

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

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

.head_title.large {
	overflow: hidden;
	padding: 12vh 0 0;
}

.head_title.large figure,
.head_title.large video {
	object-fit: cover;
	object-position: center;
	position: relative;
	height: 100%;
	width: 100vw;
	visibility: hidden;
}

.title_wrapper {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(12,1fr);
	column-gap: 10px;
	margin: 0 auto;
}

.title_wrapper.classic {
    max-width: var(--max-width);
    margin-top: 15vh;
}

.title_wrapper.large {
	display: flex;
	flex-wrap: wrap;
	height: 100%;
	align-items: center;
	height: 85vh;
	width: 100%;
	overflow: hidden;
	border-radius: 6px;
}

.title_wrapper.large.integral {
	height:auto;
	min-height: 40vh;
}

.title_wrapper.large.light {
	color:white;
	/* text-shadow:black 3px 3px; */
}

.title_wrapper.large .title_pic_wrapper {
	width: 100%;
	min-width: 100%;
	padding: 0;
	height: 100%;
	position: relative;
}

.title_wrapper.large .title_infos:not(.infos_only) {
	width: 100%;
	max-width: var(--max-width);
	position: absolute;
	z-index: 1;
	text-align: center;
	left: 50%;
	padding: 0 calc(var(--max-width) / 12 * 2);
	margin-left: 0;
	margin-right: 0;
	transform: translateX(-50%);
}

.title_wrapper.bg_white video::after, .title_wrapper.bg_white figure::after {
	position:absolute;
	height: 100%;
	width: 100%;
	content: ' ';
	left: 0;
	background: linear-gradient(0deg, #000000c9, #0000003d, transparent);
	top: 0%;
}

.title_wrapper.classic .title_pic_wrapper {
	aspect-ratio: 2;
	order: 0;
	margin-bottom: var(--global-bottom-margin);
	grid-column-start: 4;
	grid-column-end: 10;
}

@supports not (aspect-ratio: 1) {
	.title_wrapper.classic .title_pic_wrapper {
		padding-bottom: 50%; /* 2:1 = 50% */
		height: 0;
		position: relative;
	}
	.title_wrapper.classic .title_pic_wrapper > * {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

.title_wrapper.integral .title_pic_wrapper {
	aspect-ratio: auto;
}

.title_wrapper.classic .title_infos::after {
    content: ' ';
    position: absolute;
    background: var(--color-black);
    height: 3px;
    width: var(--anim-width-start);
}

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

.title_infos {
	z-index: 1;
	order: 1;
	position: relative;
	grid-column-start: 4;
	grid-column-end: 10;
}

.title_wrapper h1 {
	margin: 0;
	overflow: hidden;
	visibility: hidden;
}

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

.title_infos .date {
	display: block;
	width: 100%;
	padding-left: 2rem;
	margin-bottom: .5rem;
	visibility: hidden;
	font: 400 var(--typo-large) / var(--line-large) 'Roboto', sans-serif;
	position: relative;
}

.title_infos .date:empty {
	display: none;
}

span.date::before {
	content: 'calendar_month';
	font: 400 var(--typo-large) / var(--line-large) 'Material Symbols Outlined';
	position: absolute;
	left: 0;
	top: 0.05rem;
}

.title_wrapper.large .title_infos h1 {
	font: 900 var(--typo-title)/var(--line-title) 'Roboto', sans-serif;
	padding: 0 0 1rem 0;
	font-family: 'Roboto';
	letter-spacing: -.2rem;
}
.title_wrapper.classic .title_infos h1 {
	font: 900 var(--typo-xlarge)/var(--line-xlarge) 'Roboto', sans-serif;
}

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

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

.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_block.title-hidden {
	width: calc(var(--max-width) / 12 *8);
}

.title_block.title-hidden h1,
.title_block.title-hidden h2
{
    display: none;
}


.title_wrapper p,
.title_infos p.entete {
	font: 400 var(--typo-large)/var(--line-large) 'Roboto', sans-serif;
	visibility: hidden;
	flex-basis: calc(8.3333% * 6);
	min-height: 100px;
	margin: 2vw 0;
}

.title_infos p.entete:empty {
	display:none;
}

.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 {
	width: 100%;
	padding: 0;
	margin: 0;
	height: 100%;
	background: var(--color-03);
	line-height: 0;
}

.title_wrapper .title_pic_wrapper
{
	background: var(--color-03);
}

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


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

.lineParent {
	overflow: hidden;
	font-kerning: none;
	line-height: inherit;
	padding-bottom: 5px;
	margin-bottom: -5px;
}


/************************************************************** 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-xs);
	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 var(--speedy) 0s, color 0.3s var(--speedy) 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 var(--speedy) 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 var(--speedy) 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);
	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-large);
}

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

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

.ctext,
.cintertitle,
.cdoc,
.ctable,
figure.video,
.caudio,
.cquote,
.cul {
	padding: 0;
	width: calc((var(--max-width) / 12) * 6);
}

.ccollaps,
.cgallery,
.note_wrapper,
.notes,
.cresp,
.module_wrapper .module_more,
.meta_end {
	margin: 0;
	padding: 0;
	width: 100%;
	position: relative;
}

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

.ctext {
	font-size: var(--typo-normal);
	line-height: var(--line-normal);
	margin: 0 0 var(--global-bottom-margin);
}

.ctext.extended {width: calc( (var(--max-width) / 12) * 8);}

.ctext.fullwidth {
	width: var(--max-width);
}

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

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

.ctext.txt-large {
	font: 900 var(--typo-large)/var(--line-large) 'Roboto', sans-serif;
	margin-bottom: calc(var(--global-bottom-margin) * .5);
}

.txt-large a {
    background: transparent !important;
}

.ctext.txt-xlarge {
	font: 900 var(--typo-xlarge)/var(--line-xlarge) 'Roboto', sans-serif;
}

.txt_leftalign {
	text-align: left;
}

.txt_centeralign {
	text-align: center;
}

.txt_rightalign {
	text-align: right;
	align-items: flex-end;
}

.txt_justifyalign {
	text-align: justify;
}

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

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

.struct .ctext.default {
	width: 100%;
	/* padding: 0 1em; */
}
.struct .ctext.extended {
	width: 100%;
}
.struct .ctext.fullwidth {
	width:100%
}

.struct .ctext.exergue {
	margin-right: 0;
	margin-left: 0 !important;
	padding-left: 40px !important;
}

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

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

.ctext.color-trans { color: transparent !important; background-color: transparent !important; }
.ctext.color-black { color: var(--color-black) !important; background-color: transparent !important; }
.ctext.color-white { color: var(--color-white) !important; background-color: transparent !important; }
.ctext.color-01 { color: var(--color-01) !important; background-color: transparent !important; }
.ctext.color-02 {color: #b7c2c6 !important;background-color: transparent !important;}
.ctext.color-03 { color: var(--color-03) !important; background-color: transparent !important; }
.ctext.color-04 { color: var(--color-04) !important; background-color: transparent !important; }
.ctext.color-05 { color: var(--color-05) !important; background-color: transparent !important; }
.ctext.color-06 { color: var(--color-06) !important; background-color: transparent !important; }
.ctext.color-07 { color: var(--color-07) !important; background-color: transparent !important; }
.ctext.color-08 { color: var(--color-08) !important; background-color: transparent !important; }


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

.cintertitle {
	text-transform: uppercase;
	margin-bottom: var(--short-bottom-margin) !important;
}

h2.cintertitle {
	font: 400 var(--typo-large)/var(--line-large) 'Franxurter', sans-serif;
}

h4.cintertitle {
	font: 400 var(--typo-h4)/var(--line-h4) 'Franxurter', sans-serif;
}

h5.cintertitle {
	font: 400 var(--typo-h5)/var(--line-h5) 'Franxurter', sans-serif;
}

.cintertitle.extended {width: calc(var(--column) * 6);}

.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;
	max-width: var(--max-width);
	margin: 0;
}

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

.chr.hr_vis {
	transform-origin: top left;
	border-bottom: 3px solid rgba(0, 0, 0, .8);
	margin-bottom: var(--global-bottom-margin);
	position: relative;
}

.chr.default {
	width: calc(var(--column) * 4);
}

.chr.extended {
	width: calc(100% - var(--lateral) *2);
}

.chr.fullwidth {
	width: 100%;
	max-width: none;
}

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

.chr.hr_vis.color-trans { border-color: transparent; background-color: transparent !important; }
.chr.hr_vis.color-black { border-color: var(--color-black); background-color: transparent !important; }
.chr.hr_vis.color-white { border-color: var(--color-white); background-color: transparent !important; }
.chr.hr_vis.color-01 { border-color: var(--color-01); background-color: transparent !important; }
.chr.hr_vis.color-02 { border-color: var(--color-02); background-color: transparent !important; }
.chr.hr_vis.color-03 { border-color: var(--color-03); background-color: transparent !important; }
.chr.hr_vis.color-04 { border-color: var(--color-04); background-color: transparent !important; }
.chr.hr_vis.color-05 { border-color: var(--color-05); background-color: transparent !important; }
.chr.hr_vis.color-06 { border-color: var(--color-06); background-color: transparent !important; }
.chr.hr_vis.color-07 { border-color: var(--color-07); background-color: transparent !important; }
.chr.hr_vis.color-08 { border-color: var(--color-08); background-color: transparent !important; }

/************************************************************** 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 {
	width: calc(var(--column) * 6);
}

.cquote.extended {
	width: calc(var(--column) * 8);
}

.cquote p {
	font: 400 var(--typo-large)/var(--line-large) 'Roboto', serif;
	margin: 0 0 2rem 1rem;
	flex-basis: 100%;
}

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

.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 {
	width: calc(var(--column) * 6);
}

.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) 'Roboto', 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: 400 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);
	}
}

@keyframes linked {
	0% {
		background-size: 0 1px, 100% 1px;
		background-position-x:0;
	}

	25% {
		opacity: 1;
		background-size: 0 1px, 50% 1px;
		background-position-x:200%;
	}

	25.1% {
		opacity: 1;
		background-size: 0 1px, 10% 1px;
		background-position-x:-100%;
	}
	50% {
		opacity: 1;
		background-size: 0 1px, 100% 1px;
		background-position-x:0;
	}
}

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

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

figure img {
	width: 100%;
	height: auto;
	border-radius: 6px;
}

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

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

figure.real_float {
	width: calc(var(--column) * 2);
}

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

figure.full {
	margin-left: var(--lateral);
	width: calc(100% - (var(--lateral) *2 ));
	margin-right: var(--lateral);
}

figure.large {
	width: calc(var(--column) * 8);
}

figure.medium {
	width: calc(var(--column) * 6);
}

figure.smallest {
	width: calc(var(--column) * 2);
}

.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(--column) * 3);
}

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

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

.struct > figure {
	width: 100% !important; 
}
.struct figure.medium {
	padding: 0 calc(var(--column)*1);
}

.struct figure.float_left {
	padding: 0 calc(var(--column)*1.5);
}


/************************************************************** 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;
	width: calc(var(--column) * 10);
}

.cgallery.looks_one.extended {width: calc(var(--column) * 12);}

.cgallery.looks_one .cthumb {
	display: inline-block;
	line-height: 0;
	width: calc(100% / 10);
	padding: 0 var(--padd-global) var(--padd-global) 0;
}

.cgallery.looks_one.extended .cthumb {
	width: calc(100% / 12);
}

.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);
	width: calc(var(--column) * 10);
}

.extended.cgallery.looks_two {width: calc(var(--column) * 12);}

.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 {
    width: calc(var(--column) * 12);
}

.cgallery.looks_three.extended {width: 100%;padding-left: var(--lateral);padding-right: var(--lateral);}

.cgallery.looks_three .cpic {
	margin-bottom: var(--padd-global);
}

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

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

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

/************************************ looks five ************************************/
.cgallery.looks_five {
	width: calc(var(--column) * 8);
	justify-content: flex-start;
}

.cgallery.looks_five.extended {
	width: calc(var(--column) * 10);
}

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

.cgallery.looks_six {
	display: flex;
	max-width: 100vw;
	min-height: 50vh;
	margin-left: 0;
	margin-right: 0;
	padding-left: var(--lateral);
	flex-wrap:  wrap;
	/* background: yellow; */
	flex-direction: row;
	padding-bottom: 5vh;
}

.row {
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 1;
	display: flex;
	transition-property: transform;
	transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
	box-sizing: content-box;
}

.row .cthumb {
	margin-right: 10px;
	flex-shrink: 0;
}

.row figure {
	margin: 0;
	display: table;
	width: auto;
}

.row .cthumb:last-child {
	margin-right:var(--lateral);
}
/* .row .cthumb:nth-child(odd) {
	padding-top:5vh;
} */

.row figure img {
	max-height: 60vh;
}

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

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

.looks_six .tech_local {
	position: relative;
	width: 100%;
}

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

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

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

.cblock {
	grid-column: span 3;
	overflow: hidden;
	min-height: 10vw;
	position: relative;
	margin-bottom: var(--padd-global);
}

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

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

.cblock_arrow {
	transition: all 0.6s var(--speedy) 0s;
	top: 1.8rem;
	right: 0%;
	height: 2rem;
	width: 2rem;
	position: absolute;
}
.cblock_arrow::after {
	display: block;
	font: 400 2rem / 2rem "Material Symbols Outlined";
	content: 'arrow_forward';
	width: 2rem;
	height: 2rem;
	transition: all .4s var(--speedy) 0s;
	margin-top: .2rem;
}

.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;
	height: 100%;
	width: 100%;
}

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

.cblock_content {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: var(--padd-global);
	order: 1;
	transition: all .5s var(--speedy) .1s;
}

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

.cblock_title {
	/* text-transform: uppercase; */
	display: block;
	font: 600 var(--typo-h5)/var(--line-h5) 'Roboto';
	transition: all .5s var(--speedy) .1s;
}

.cblock figure,
.cblock video {
	margin: 0;
	height: 100%;
	top: 0;
	left: 0;
	max-width: none;
	transition: all .8s var(--speedy) 0s;
	border-radius: 6px;
}

.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 .8s var(--speedy) 0s;
}

.cblock_video {
	object-fit: cover;
}

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

.cblock.looks_one {
    border-radius: 10px;
}

.cblock.looks_one a {
	flex-direction: row-reverse;
}

.cblock.looks_one .cblock_content {
	background: inherit;
	width: 66.6666%;
	z-index: 0;
	padding-right: 10%;
}

.cblock.looks_one .cblock_figure,
.cblock.looks_one .cblock_video
{
	width: 33.3333%;
	aspect-ratio: 4/3;
	z-index: 1;
	overflow:hidden;
}

/* Fallback for browsers without aspect-ratio support */
@supports not (aspect-ratio: 1) {
	.cblock.looks_one .cblock_figure,
	.cblock.looks_one .cblock_video {
		position: relative;
		padding-bottom: 75%; /* 4/3 ratio = 75% */
		height: 0;
	}
	
	.cblock.looks_one .cblock_figure > *,
	.cblock.looks_one .cblock_video > * {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

.cblock.looks_one .cblock_arrow {
	left: -2rem;
	top: auto;
}

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

.cblock.looks_one a:hover .cblock_title
{
	transform: translateX(1.4rem);
}

.cblock.looks_one a:hover .cblock_arrow {
	transform: translateX(2rem);
}

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

.cblock.looks_two {
	aspect-ratio:4/3;
}

.cblock.looks_two .cblock_arrow {
    left: -2rem;
    top: auto;
}

.cblock.looks_two .cblock_content {
	height: 40%;
}

.cblock.looks_two figure,
.cblock.looks_two video
{
	overflow:hidden;
	aspect-ratio: 4/3;
}

@supports not (aspect-ratio: 1) {
	.cblock.looks_two {
		padding-bottom: 75%; /* 4/3 = 75% */
		height: 0;
		position: relative;
	}
	.cblock.looks_two figure,
	.cblock.looks_two video {
		padding-bottom: 75%;
		height: 0;
		position: relative;
	}
	.cblock.looks_two > *,
	.cblock.looks_two figure > *,
	.cblock.looks_two video > * {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

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

.cblock.looks_two a:hover .cblock_title
{
	transform: translateX(1.4rem);
}

.cblock.looks_two a:hover .cblock_arrow {
	transform: translateX(2rem);
}


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

.cblock.looks_three {
	aspect-ratio: 1;
}

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

.cblock.looks_three figure {
	opacity: 1;
	display: flex;
	position: relative;
	height: auto;
	order: 2;
	aspect-ratio: 1;
}

.cblock.looks_three .cblock_content {
	position: static;
	padding: var(--padd-global);
	aspect-ratio: 1;
}

.cblock.looks_three.medium .cblock_content {
	width: calc(var(--column) * 6);
	aspect-ratio: 2;
	max-width: 66.66666666%;
}

.cblock.looks_three.large .cblock_content {
	width: calc(var(--column) * 9);
	aspect-ratio: 3;
}

@supports not (aspect-ratio: 1) {
	.cblock.looks_three,
	.cblock.looks_three figure,
	.cblock.looks_three .cblock_content {
		padding-bottom: 100%; /* 1:1 = 100% */
		height: 0;
		position: relative;
	}
	.cblock.looks_three.medium .cblock_content {
		padding-bottom: 50%; /* 2:1 = 50% */
	}
	.cblock.looks_three.large .cblock_content {
		padding-bottom: 33.33%; /* 3:1 = 33.33% */
	}
	.cblock.looks_three > *,
	.cblock.looks_three figure > *,
	.cblock.looks_three .cblock_content > * {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}

.struct .cblock {
	max-width:100%;
}

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

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

.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 {
	aspect-ratio: 1.33;
}

@supports not (aspect-ratio: 1) {
	.cblock.looks_four {
		padding-bottom: 75.19%; /* 1.33:1 = 75.19% */
		height: 0;
		position: relative;
	}
	.cblock.looks_four > * {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}

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

.cblock.looks_four .cblock_figure {
	visibility: hidden;
}

.cblock.small {
	width: calc(var(--column) * 6);
}

.content_wrapper>.cblock {
	max-width: calc(var(--max-width) - var(--lateral) *2);
}

.content_wrapper>.cblock.small {
	width: calc(var(--column) * 6);
}

.cblock.medium {
	width: calc(var(--column)*9);
	aspect-ratio: 3;
}

@supports not (aspect-ratio: 1) {
	.cblock.medium {
		padding-bottom: 33.33%; /* 3:1 = 33.33% */
		height: 0;
		position: relative;
	}
	.cblock.medium > * {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}

.content_wrapper>.cblock.medium {
	width: calc(var(--column)* 9 );
}

.cblock.large {
	width: calc(var(--column)*12);
}

.content_wrapper>.cblock.large {
	width: calc(var(--unit-box)* 12);
}

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

.cblock.looks_five {
	aspect-ratio: 1;
}

.cblock.looks_five figure,
.cblock.looks_six video
{
	aspect-ratio: 1;
	height: 100%;
}

@supports not (aspect-ratio: 1) {
	.cblock.looks_five,
	.cblock.looks_five figure,
	.cblock.looks_six video {
		padding-bottom: 100%; /* 1:1 = 100% */
		height: 0;
		position: relative;
	}
	.cblock.looks_five > *,
	.cblock.looks_five figure > *,
	.cblock.looks_six video > * {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

.cblock.looks_five .cblock_content {
	height: 40%;
	top: 60%;
	width: 100%;
	background: inherit;
}

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

.cblock.looks_five a:hover .cblock_content.haspic,
.cblock.looks_five a:hover .cblock_arrow {
	height:20%;
	top: 80%;
}


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

.cblock.looks_six {
	overflow: visible;
}

.cblock.looks_six figure,
.cblock.looks_six video {
	aspect-ratio: 1;
}

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

.cblock.looks_six .cblock_content {
	position: static;
	padding: 0;
	margin-top: .5rem;
	height: auto;
}

.cblock.looks_six .cblock_arrow::before {
	display: none;
}

.cblock.looks_six .cblock_pad {
	margin-right: 0;
}

.cblock.looks_six:not(.color-trans) .cblock_pad {
	padding: 10px;
}

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

figure.video,
.wrapper_video {
	max-width: 100%;
	padding: 0;
	background-color: rgba(255, 255, 255, 0);
	overflow: hidden;
	width: calc(var(--column) * 8);
}

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

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: 400 5em/50px 'Material Symbols Outlined';
	content: "play_circle";
	cursor: pointer;
	opacity: .5;
	transition: all .6s var(--speedy) 0s;
}

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

video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: relative;
}

/************************************************************** CFEATVIDEO **************************************************************/
.cfeatvideo {
	padding: 0;
	/* width: calc(var(--column) * 6); */
}

.cfeatvideo.extended {
	width: calc(var(--column) * 8);
}

.cfeatvideo.fullwidth {
	width: calc(var(--column) * 12);
}

.cfeatvideo::before {
	position:absolute;
	width:100%;
	height:100%;
	content: ' ';
	background-color: yellow;
}

.struct .cfeatvideo.default {
	width: 100%;
	margin: 0;
	height: auto;
}
.struct .cfeatvideo.extended,
.struct .cfeatvideo.fullwidth {
	width: 100%;
	margin: 0;
	height: 100%;
	object-fit: cover;
	object-position: center center
}
/************************************************************** CAUDIO **************************************************************/

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

audio {
	width: 100%;
}

span.audio_title {
	display: block;
	padding-bottom: 10px;
	font-size: var(--typo-normal);
	line-height: var(--line-normal);
}

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

.ccollaps {
	border-top: 3px solid var(--color-black);
	padding: 0;
	border-bottom: 3px solid var(--color-black);
}

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

.ccollaps.short {
	width: calc((var(--max-width) / 12) * 6);
}

.ccollaps.extended {
	width: calc( (var(--max-width) / 12) * 8);
}

.ccollaps.fullwidth {
	width: var(--max-width);
}

.struct .ccollaps.fullwidth {
	width:100%;
}

.ccollaps.splitted {
	column-count:1;
}
.ccollaps.splitted .panel {
	column-count: 2;
}

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

button.accordion {
	color: var(--color-black);
	cursor: pointer;
	padding: 1rem 3rem 1rem 1rem;
	width: 100%;
	border: none;
	text-align: left;
	outline: none;
	font: 600 var(--typo-h6)/var(--line-h6) 'Roboto', sans-serif;
	background: transparent;
	position: relative;
	opacity: .8;
	transition: color .2s var(--speedy) 0s;
}

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

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

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

button.accordion::after {
	content: 'chevron_forward';
	color: var(--color-black);
	transition: transform .3s var(--speedy) 0s;
	transform-origin: center;
	transform: rotate(90deg);
	position: absolute;
	font: 400 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 var(--speedy) 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: .5rem;
}

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

.panel p {
	padding: 10px 0 20px;
	margin: 0 0 25px 0;
	margin-left: 0 !important;
	width: 100%;
}

.panel p.exergue,
.panel p.txt-medium {
	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 {
	padding: 0 0 10px 20px;
	position: relative;
}

.cul li::before {
	display: inline-block;
	content: '○';
	font: 800 var(--typo-normal) / normal 'Roboto', sans-serif;
	position: absolute;
	left: 0;
	top: -4px;
}

.struct .cul {
	width:100%
}

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

.ctable {
	width: calc(var(--column) * 6);
	border-spacing: 0;
}

.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;
}

/************************************************************** CSCROLLER **********************************************************/

.cscroller {
	position:relative;
	display: flex;
	overflow: hidden;
	max-width: 100%;
	justify-content: flex-start;
	flex-direction: column;
	perspective: 1280px;
	perspective-origin: 50% 50%;
	margin: 0 var(--lateral);
	background-size: 120%;
	background-position-y: 10%;
	background-position-x: center;
	background-repeat: no-repeat;
	width: calc(var(--max-width) - var(--lateral) *2);
}

.cscroller.noscroll {
	overflow:visible;
}

.scroll-wrap {
	width: 100%;
	margin: 0 auto;
	overflow: visible;
	display: flex;
	flex-wrap: nowrap;
	align-items: inherit;
	overflow: hidden;
	perspective: inherit;
}

.scroll-row {
    display: flex;
    position: relative;
    align-items: inherit;
    width: 100%;
    flex-wrap: nowrap;
    perspective: inherit;
    padding: 0 var(--reserved);
}
	.noscroll .scroll-wrap {
		cursor:default;
		overflow: visible;
		max-width: var(--max-width);
	}
	.noscroll .scroll-row {
		flex-wrap: wrap;
		display:grid;
		grid-template-columns: repeat(12, 1fr);
		column-gap: var(--padd-global);
		padding-left: 0;
	}
	.noscroll .swiper-button-next, .noscroll .swiper-button-prev {
		display:none;
	}

.scroll-item {
	min-height:20px;
	position:relative;
	display:flex;
	flex-direction:column;
	justify-content: flex-start;
	align-items: flex-start;
	margin-right: var(--padd-global);
}

.scroll-item.elem_1 {width: calc( ((var(--max-width) / 12) * 1) - 7px);}
.scroll-item.elem_2 {width: calc( ((var(--max-width) / 12) * 2) - 7px);}
.scroll-item.elem_3 {width: calc( ((var(--max-width) / 12) * 3) - 7px);}
.scroll-item.elem_4 {width: calc( ((var(--max-width) / 12) * 4) - 7px);}
.scroll-item.elem_5 {width: calc( ((var(--max-width) / 12) * 5) - 7px);}
.scroll-item.elem_6 {width: calc( ((var(--max-width) / 12) * 6) - 7px);}
.scroll-item.elem_7 {width: calc( ((var(--max-width) / 12) * 8) - 7px);}
.scroll-item.elem_9 {width: calc( ((var(--max-width) / 12) * 9) - 7px);}
.scroll-item.elem_10 {width: calc( ((var(--max-width) / 12) * 10) - 7px);}
.scroll-item.elem_11 {width: calc( ((var(--max-width) / 12) * 11) - 7px);}
.scroll-item.elem_12 { min-width : 100%; width : 100%; }

.noscroll .scroll-item {margin-right:0;transform-style: preserve-3d;backface-visibility: hidden;}
.noscroll .scroll-item.elem_1 { width : auto; grid-column-end: span -1 !important; }
.noscroll .scroll-item.elem_2 { width : auto; grid-column-end: span 2 !important; }
.noscroll .scroll-item.elem_3 { width : auto; grid-column-end: span 3 !important; }
.noscroll .scroll-item.elem_4 { width : auto; grid-column-end: span 4 !important; }
.noscroll .scroll-item.elem_5 { width : auto; grid-column-end: span 5 !important; }
.noscroll .scroll-item.elem_6 { width : auto; grid-column-end: span 6 !important; }
.noscroll .scroll-item.elem_7 { width : auto; grid-column-end: span 7 !important; }
.noscroll .scroll-item.elem_8 { width : auto; grid-column-end: span 8 !important; }
.noscroll .scroll-item.elem_9 { width : auto; grid-column-end: span 9 !important; }
.noscroll .scroll-item.elem_10 { width : auto; grid-column-end: span 10 !important; }
.noscroll .scroll-item.elem_11 { width : auto; grid-column-end: span 11 !important; }
.noscroll .scroll-item.elem_12 { width : auto; grid-column-end: span 12 !important; }

.scroll-item > * {
	margin-left:0 !important;
	margin-right:0 !important;
}

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

.cresp {
	position: relative;
	overflow: hidden;
	padding-top: 33%;
	margin: 0 calc(2vw + var(--unit-box) * 3) 0 calc(2vw + var(--unit-box) * 3 + 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);
}

.cresp.downed {
	padding-top: 0;
	margin-bottom: 1rem !important;
}

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

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

.cresp input[type=password], .cresp input[type=text], .cresp select, .cresp textarea {
    width: 100%;
    grid-column: span 12;
    padding: 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
    resize: vertical;
    font-size: var(--typo-normal);
    line-height: var(--line-normal);
    font-family: TypeTwo, Arial, sans-serif;
    font-weight: 300;
}
.cresp textarea {
    min-height: 300px;
}

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

.home_item.emperor {
	grid-column: span 12;
	background: var(--color-trans);
	margin: 0 calc(var(--lateral) * -1) 5vw calc(var(--lateral) * -1);
	padding: 0vw 0 0;
	line-height: 0;
	display: flex;
}

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

.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: 1;
}

.emperor.large span.t_infos {
	position: absolute;
	z-index: 1;
	background: transparent;
	width: 50% !important;
    padding: var(--lateral) !important;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%) !important;
    text-align: center;
    left: 50%;
    border-radius: 1rem;
}

.emperor.large.light span.t_infos {
	color: white;
	text-shadow: black 3px 3px;
}

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

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

.emperor span.h_title {
	font: 900 var(--typo-title)/var(--line-title) 'Roboto', 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);
}

.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: 400 var(--typo-h4)/var(--line-h4) 'Roboto', sans-serif;
	overflow: hidden;
}

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

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

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

.emperor.large video.h_vid,
.emperor.large figure.h_img
{
	object-fit: cover;
	object-position: center;
	position: relative;
	height: 100%;
	width: 100%;
}

.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;
}

span.h_cat {
	display: block;
	font-size: var(--typo-xs);
	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;
}

/***** 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: 400 var(--typo-large)/var(--line-large) 'Roboto', sans-serif;
	min-height: 2.2rem;
}

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

.tzar span.h_subtitle {
	font: 400 var(--typo-h4)/var(--line-h4) 'Roboto', 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: 24.67%;
	padding-left: 20px;
}

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

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

.royal span.h_subtitle {
	font: 400 var(--typo-large) / var(--line-large) 'Roboto', 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-large);
	min-height: 2.2rem;
}

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

.prince span.h_subtitle {
	font: 400 var(--typo-large)/var(--line-large) 'Roboto', 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;
}

@supports not (aspect-ratio: 1) {
	.superduc figure.h_img,
	.superduc video.h_vid {
		padding-bottom: 68.75%; /* 16/11 = 68.75% */
		height: 0;
		position: relative;
	}
	.superduc figure.h_img > *,
	.superduc video.h_vid > * {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

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

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

.superduc span.h_subtitle {
	font: 400 var(--typo-large)/var(--line-large) 'Roboto', 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-large);
	min-height: 2.2rem;
}

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

.privilege span.h_subtitle {
	font: 400 var(--typo-normal)/var(--line-normal) 'Roboto', 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;
}

@supports not (aspect-ratio: 1) {
	.premier figure.h_img,
	.premier video.h_vid {
		padding-bottom: 100%; /* 1/1 = 100% */
		height: 0;
		position: relative;
	}
	.premier figure.h_img > *,
	.premier video.h_vid > * {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

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

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

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

.premier span.h_subtitle {
	font: 400 var(--typo-normal)/var(--line-normal) 'Roboto', 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;
}

@supports not (aspect-ratio: 1) {
	.duc figure.h_img,
	.duc video.h_vid {
		padding-bottom: 68.75%; /* 16/11 = 68.75% */
		height: 0;
		position: relative;
	}
	.duc figure.h_img > *,
	.duc video.h_vid > * {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

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

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

.duc span.h_subtitle {
	font: 400 var(--typo-normal)/var(--line-normal) 'Roboto', 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;
}

@supports not (aspect-ratio: 1) {
	.tradition figure.h_img,
	.tradition video.h_vid {
		padding-bottom: 68.75%; /* 16/11 = 68.75% */
		height: 0;
		position: relative;
	}
	.tradition figure.h_img > *,
	.tradition video.h_vid > * {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

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

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

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

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

.tradition span.h_subtitle {
	font: 400 var(--typo-normal)/var(--line-normal) 'Roboto', 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;
}

@supports not (aspect-ratio: 1) {
	.portrait figure.h_img,
	.portrait video.h_vid {
		padding-bottom: 117.65%; /* 0.85:1 = 117.65% */
		height: 0;
		position: relative;
	}
	.portrait figure.h_img > *,
	.portrait video.h_vid > * {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

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

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

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

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

hr+.ctext.txt-small,
hr+.ctext.txt-medium {
	margin-top: 0;
}

.cul+.ctext.txt-normal {
	margin-top: calc(var(--global-bottom-margin)* -0.5);
}

.ctext.txt-normal+.cul {
	margin-top: calc(var(--global-bottom-margin)* -0.5);
}

.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(var(--column));
	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-white);
	left: var(--lateral);
	margin-top: -4.0vw;
	transition: color, background-color 1s var(--speedy) 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-xs) / 2rem 'Roboto', sans-serif;
	letter-spacing: -.005rem;
	transition: opacity .5s var(--speedy) 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-xs) / 2rem 'Roboto', 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: 400 var(--typo-large) / 2rem 'Material Symbols Outlined', sans-serif;
	content: 'add';
	text-align: center;
	transition: all .3s var(--speedy) 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-large);
	opacity: 0;
}

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

.meta-menu-title {
	display: block;
	font: 400 var(--typo-large) / var(--line-large) 'Roboto', 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;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	cursor: pointer;
}

.meta-menu-closer::after {
	font: 400 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 var(--speedy) 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;
	display: none;
}

.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 var(--speedy) infinite;
	position: relative;
	top: 0.18rem;
}

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

.title_wrapper span.cat,
.title_wrapper span.tag {
	display: inline-block;
	font: 400 var(--typo-xs)/var(--line-xs) 'Roboto', sans-serif;
	color: var(--color-black);
}

.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);
	text-decoration: none;
}

b a {
	border-width: 2px;
}

h2 a,
.ctext a:not(.btn, .btn_light, .note),
p a:not(.btn, .btn_light, .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, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)), linear-gradient(to right, var(--color-black), var(--color-black));
	background-position: 100% 100%, 0 100%;
	background-size: 0 1px, 100% 1px;
	background-repeat: no-repeat;
	/* transition: background-size 2s var(--speedy); */
	color: var(--color-black);
}

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; */
	animation-name: linked;
	animation-duration: 1s;
	animation-delay: 0s;
}

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

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

a.btn {
	font: 600 var(--typo-normal)/var(--line-normal) 'Roboto', sans-serif;
	padding: .2rem 1rem;
	color: white;
	width: max-content;
	display: inline-block;
	cursor: pointer;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	word-break: keep-all;
	background-color: var(--color-highlight);
	border: 2px solid var(--color-highlight);
	vertical-align: middle;
	transition: background-color .3s var(--speedy) 0s;
	border-radius: 2rem;
	margin-bottom: .4rem;
}

a.btn_light {
	font: 600 var(--typo-normal)/var(--line-normal) 'Roboto', sans-serif;
	padding: .2rem 1rem;
	color: #000;
	width: max-content;
	display: inline-block;
	cursor: pointer;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	word-break: keep-all;
	background-color: #fff;
	border: 2px solid var(--color-black);
	vertical-align: middle;
	transition: all.3s var(--speedy) 0s;
	border-radius: 2rem;
	margin-bottom: .4rem;
	position: relative;
}

a.btn_light::after {
	display: inline-block;
	position:absolute;
	font-family: "Material Symbols Outlined";
	content: 'arrow_forward';
	font-size:1.5rem;
	width: 2rem;
	top: -.2rem;
	right: 1rem;
	opacity: 0;
	transition: none;
}

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: .4rem;
}

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;
}

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

a.arrowed {
	max-width: 100%;
}

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

a.btn:hover {
	color: var(--color-highlight);
	background-color: white;
}

a.btn_light:hover {
	color: #fff;
	background-color: #000;
	padding-right: 2.5rem;
}
a.btn_light:hover::after {
	opacity:1;
	right:-.2rem;
	transition: all .6s var(--speedy) 0s;
}

/* !!END!! link */


p.txt-small {
	font-size: var(--typo-xs);
	line-height: var(--line-xs);
}

p.txt-infos {
	font-size: var(--typo-h6);
	line-height: var(--line-h6);
}

p.txt-medium {
	font-size: var(--typo-h5);
	line-height: var(--line-h5);
}

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

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

b,
strong {
	font-weight: 600;
}

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 4vw 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-xs) / 1.8vw 'Roboto';
	margin: 0 10px 0px 0;
	color: var(--color-grey-main);
	opacity: .6;
	transition: all .2s var(--speedy) 0s;
	letter-spacing: -.005rem;
	padding: 0 .5vw;
	border-radius: 1vw;
	pointer-events: initial;
	touch-action: pan-y;
	max-width: calc(var(--column) * 2);
	text-overflow: ellipsis;
	word-break: break-word;
	overflow: hidden;
	height: 1.8vw;
	white-space: nowrap;
}

.anchor_menu a::before {
    content: 'â€¢';
    padding-right: .3rem;
}

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

.anchor_menu a:hover {
	color: var(--color-black);
	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: inherit;
	padding: .2rem 0 .2rem .2rem;
	font-size: var(--typo-xs);
	font-weight: 1000;
	vertical-align: super;
}

.note_n a {
	color: inherit;
	padding: 0.2rem;
	font-size: var(--typo-xs);
	font-weight: 1000;
}

.page .note_wrapper {
	margin: 0 calc(var(--column) * 3 + var(--lateral)) var(--global-bottom-margin) calc(var(--column) * 3 + var(--lateral));
	border-top: 1px solid;
	padding: 1rem 0 3rem;
}

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

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

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,
.cthreecol .ccollaps,
.cfourcol .ccollaps {
	margin-right: 0 !important;
}

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

/************************************************************** CCOLWRAP **************************************************************/

.hauto {
	min-height: var(--padd-global);
}
.h5 {
	min-height: 5vh;
}
.h10 {
	min-height: 10vh;
}
.h25 {
	min-height: 25vh;
}
.h33 {
	min-height: 33vh;
}
.h50 {
	min-height: 50vh;
}
.h66 {
	min-height: 66.6666vh;
}
.h100 {
	min-height: 100vh;
}

.proxima {
	margin-bottom: 20px;
}

.nomargin {
	margin-bottom: 0;
}

.nogap {padding: 0 var(--lateral);width: 100%;}

.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 {
	margin-top: 40px;
	margin-bottom: 40px;
}

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

.toppadded {
	padding-top: var(--lateral);
}

.rightpadded {
	padding-right: calc(var(--max-width) / 12 * .5);
}

.bottompadded {
	padding-bottom: var(--lateral);
}

.leftpadded {
	padding-left: calc(var(--max-width) / 12 * .5);
}

.in_flex_mode {
	display: grid;
	grid-gap: var(--padd-global);
	width: 100%;
}

.struct {
	display:flex;
	flex-direction: column;
}

.struct.fa-start {
	justify-content: flex-start;
}

.struct.fa-end {
	justify-content: flex-end;
}

.struct.fa-center {
	justify-content: center;
}

.struct.fa-even {
	justify-content: space-evenly;
}

.struct.fa-between {
	justify-content: space-between;
}

.struct.in_flex_mode {
	display: grid;
	gap: 10px;
	grid-template-columns: 1fr 2fr;
	grid-column: auto / span 6;
}

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

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

.align_c {
	align-items: center;
	justify-content: center;
}

.align_b {
	align-items: flex-end;
	justify-content: flex-end;

}

.align_n {
	align-items: normal;
}

.decal-top {
	transform: translateY(-15vh);
}
.decal-right {
	transform:translateX(var(--column));
}
.decal-bottom {
	transform: translateY(15vh);
}
.decal-left {
	transform:translateX(calc( var(--column) * -1));
}
.decal-top.decal-left {
	transform:translate3d(calc( var(--column) * -1), calc( var(--column) * -1), 0);
}
.decal-top.decal-right {
	transform:translate3d(var(--column), calc( var(--column) * -1), 0);
}
.decal-bottom.decal-left {
	transform:translate3d(calc( var(--column) * -1), var(--column), 0);
}
.decal-bottom.decal-right {
	transform:translate3d(var(--column), var(--column), 0);
}

.struct:empty {
	min-height: 10vh;
}

.struct > .chr,
.struct > .cul,
.struct > .cintertitle
{
	width:100%;
}

.struct > figure.full {
	width:100%;
	height:100%;
	margin:0;
}

.struct > figure.full img {
	object-fit:cover;
	height: 100%;
	width: 100%;
}

.nogravity {z-index: 1000;}

figure.bg_figure {
	position: absolute;
	z-index: -1;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
}
figure.bg_figure img {
	object-fit: cover;
	bottom: 0;
	position: relative;
	height: 120%;
}




/* 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);
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
	background: rgba(0, 0, 0, 0);
	transition: all 0.3s var(--speedy) 0s;
}

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

a.popup_bt::after {
	font: 400 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)* 3 + var(--lateral) + var(--correction));
	display: none;
}

.meta_dynamic::before {
	content: 'info';
	font: 400 2vw/2vw "Material Symbols Outlined";
	transition: all 0.3s var(--speedy) 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: 400 var(--typo-normal)/var(--line-normal) 'Roboto', sans-serif;
}

.dates {
	margin-bottom: 4vw;
	position: relative;
}

.dates::before {
	content: 'calendar_month';
	font: 400 var(--typo-large) / var(--line-large) '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-large)/var(--line-large) 'Roboto', sans-serif;
	color: var(--color-black);
}

a:hover span.home_actu_title,
.home_calendar_title a:hover {
	color: var(--color-black);
	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: 900 var(--typo-title)/var(--line-title) 'Roboto', sans-serif;
	padding: 1.4rem 0 0 0;
}

.list.blog .blog_info {
	font: 400 var(--typo-normal)/var(--line-normal)'Roboto', 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: 400 var(--typo-xs)/var(--line-xs) 'Roboto', 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);
	overflow: hidden;
	height: 100%;
	border-left: 1px solid var(--color-black);
	background: #fff;
}

.lgd_fs_xl {
	right: 80px;
}

.lgd_fs {
	transition: all 0.3s var(--speedy) 0s;
}

img.fs_image {
	transition: none;
}

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

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

a.tech_tool {
	color: var(--color-white);
	cursor: pointer;
	transition: all .3s var(--speedy) 0s;
	display: none;
}

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

a.tech_tool::after {
	font: 400 2rem/60px 'Material Symbols Outlined';
	display: inline-block;
	width: 100%;
	text-align: center;
	vertical-align: middle;
	transition: all .3s var(--speedy) 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: 400 var(--typo-xs)/55px 'Roboto', 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: 400 var(--typo-large)/var(--line-large) 'Roboto', 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 var(--speedy) 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-xs);
}

#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 var(--speedy) 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 var(--speedy) 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) 'Roboto', 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 'Roboto', sans-serif;
	letter-spacing: -.15rem;
}

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

.sticker {
	font-size: var(--typo-xs);
	display: inline-block;
	padding: 2px 7px;
	color: var(--color-black);
	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);
}

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

/* 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 'Roboto', 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: 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(12, 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,
.page_home .page_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-large)/var(--line-normal) 'Roboto', sans-serif;
	margin-bottom: 3rem;
}

.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;
}

@supports not (aspect-ratio: 1) {
	video.video_agenda {
		padding-bottom: 140%; /* 5/7 = 140% */
		height: 0;
		position: relative;
	}
}

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

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

span.title_calendar {
	font: 400 var(--typo-large)/var(--line-large) 'Roboto', sans-serif;
	display: inline !important;
	width: fit-content;
	text-decoration: underline transparent;
	transition: text-decoration-color .6s var(--speedy) 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: 400 var(--typo-normal)/var(--line-normal) 'Roboto', 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) 'Roboto', 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-large);
	padding-left: .3rem;
	transition: all 0.3s var(--speedy) 0s;
	display: inline-block;
}

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

.noresult {
	font: 400 var(--typo-large)/var(--line-large) 'Roboto', 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;
}

.logo-main {
	width: calc(var(--max-width) / 12 *2);
	display: flex;
	align-items: center;
}
.logo-main a {
	width:100%;
	height: 100%;
}
.logo-main a svg {
	width:100%;
	height: 100%;
}

.logo-main a svg path,
.logo-discrete a svg path
{
	fill:var(--color-black);
}

.head_title svg path {
	fill:var(--color-white);
}

.head_title svg {
    max-width: calc(var(--max-width) / 12 * 5);
    margin: 0 auto;
}

.logo-discrete {
	width: 100%;
	height: 60px;
	overflow: hidden;
	position: absolute;
	transform: translateY(200%);
}

a.home {
	display: flex;
	text-decoration: none;
	text-align: center;
	height: 100%;
}

a.home::after {
	content: ' ';
	display:block;
	height: 100%;
	width: 200px;
}

.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: 400 var(--typo-large)/normal 'Material Symbols Outlined', sans-serif;
	display: inline-block;
}

.actions #action_c a::before {
	content: 'mail_outline';
	font: 400 var(--typo-large)/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: 400 var(--typo-large)/normal 'Material Symbols Outlined', sans-serif;

}

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

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

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

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

span.tooltiptext {
	transition: all .3s var(--speedy) 0s;
	opacity: 0;
	visibility: hidden;
	width: fit-content;
	background-color: var(--color-black);
	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-xs);
	box-shadow: 4px 4px 10px 2px rgba(0, 0, 0, 0.06);
}

.topbar {
	position: fixed;
	width: 100%;
	z-index: 3;
	height: 100px;
	/* background: pink; */
}

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

.topbar-bg {
	background: white;
	position: absolute;
	top: 0;
	width: 100%;
	height: 60px;
}

.logo {
	position: absolute;
	z-index: 5;
	top: 0;
	height: 100px;
	display: flex;
	left: var(--lateral);
	overflow: hidden;
	padding: 20px 0;
}

.stretched .logo {
    height: 60px;
}

.mainlogo {
	overflow: hidden;
	line-height: 0;
	height: 100%;
	margin-top: 0;
}

.logosvg,
.logo img {
	height: 100%;
}

path {
	fill: #683b01;
	stroke: #fff;
}

.sun {
	fill: #F7ECB5;
}

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

.topbar.stretched {
	height: 60px;
}

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

.stretched .logocite {
	fill: #000;
}

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

.main-menu-wrapper {
	padding: 0;
	background: inherit;
	position: relative;
	z-index: 1;
}

ul.main-menu {
	display: flex;
	height: 60px;
	margin: 0 auto;
	padding: 0 var(--lateral) 0 50%;
	background: inherit;
	justify-content: space-between;
}

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) 'Roboto', sans-serif;
}

li.menu-item {
	padding: 0;
	height: 60px;
}

li.menu-item:last-of-type {
	margin-right:0;
}

a.menu-bt {
	text-decoration: none;
	position: relative;
	line-height: 60px;
	padding: 0 0 0 30px;
	border-radius: 4px;
	color: inherit;
	z-index: 1;
}

a.menu-bt.menu-bt-selected {
    font-weight: 600;
}

.main-menu a.menu-bt::before {
	content: ' ';
	display: inline-block;
	width: .4rem;
	height: .4rem;
	border: solid 2px;
	border-radius: 100%;
	transition: background .8s var(--speedy);
	transform: translateX(-10px);
}

.main-menu a.menu-bt-selected::before,
.main-menu a.menu-bt:hover::before
{
	background: #000;
}

ul.sub-menu {
	content: "";
	display: flex;
	position: absolute;
	opacity: 0;
	overflow: hidden;
	flex-flow: column wrap;
	transition: opacity 0.5s var(--speedy) 0s, transform 0.5s var(--speedy) 0s, visibility 0s 0.5s;
	transform: translateY(-10px);
	pointer-events: none;
	visibility: hidden;
	border-radius: 10px;
	background: white;
	border: solid 1px;
	padding-top: 60px;
	margin-top: -60px;
	z-index: 0;
}

/* Show submenu only when hovering its parent li.menu-item (desktop) */
li.menu-item:hover > ul.sub-menu {
    height: auto;
    overflow: visible;
    opacity: 1;
    transform: translateY(10px);
    pointer-events: initial;
    visibility: visible;
    transition: opacity 0.5s var(--speedy) 0s, transform 0.5s var(--speedy) 0s, visibility 0s 0s;
}

/* Disable submenu hover in footer */
.menu-footer-col li.menu-item:hover > ul.sub-menu {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* Remove JS-driven visibility; keep CSS :hover as the only trigger on desktop */

li.mobile_only {
	visibility: hidden;
	height: 0 !important;
	margin: 0 !important;
}

li.sub-menu-item {
	cursor: pointer;
	height: 40px;
	display: flex;
	margin: 4px;
}

li.sub-menu-item a {
	display: inline-block;
	font-size: var(--typo-normal);
	text-decoration: none;
	position: relative;
	line-height: 40px;
	padding: 0 0 0 30px;
	border-radius: 4px;
	color: inherit;
	width: 100%;
}
li.sub-menu-item a:hover {
	background:var(--color-black);
	color:var(--color-white);
}


li.bottom-menu a {
	color: var(--color-grey-main);
	font-size: var(--typo-xs);
	font-weight: 400;
	padding: 0;
	text-decoration: none;
	transition: all .2s var(--speedy) 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;
}

.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-xs);
	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);
	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: var(--color-black);
	margin-top: calc(var(--global-bottom-margin) * -1);
	position: sticky;
	bottom: 0;
	z-index: 0;
	overflow: hidden;
}

#bottombar {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	line-height: var(--line-normal);
	color: var(--color-white);
	font-size: var(--typo-normal);
	column-gap: var(--padd-global);
	padding: 11vh 0 5vh;
	min-height: 60vh;
	max-width: var(
	--max-width);
	margin: 0 auto;
}

.footer-infos {
	padding-bottom: 2vh;
	text-align: center;
	grid-column: span 12;
}

.footer-infos svg {
	max-width: calc(8.3333% * 5);
}

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

.col-footer {
	align-content: start;
	display: flex;
	flex-flow: row wrap;
	padding: 15px 0 0 0;
	border-top: solid 1px;
}
	.col-footer-small {
		grid-column-start: 2 span;
	}
	.col-footer-medium {
		grid-column-start: 4 span;
	}
	

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

#bottombar li {
	margin: 0;
	height: auto;
}

#bottombar li::before {
	display:none;
}

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

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

.footer-infos a {
	color: inherit;
}

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

#bottombar a, #bottombar a.menu-bt {
	color: var(--color-white) !important;
	margin: 0 0 .2rem;
	font: inherit;
	transition: all .3s var(--speedy) 0s;
	display: inline-block;
	background: transparent;
	text-decoration: underline;
	padding: 4px 0;
}

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

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

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

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

.footer-title-top {
	font-weight: 400;
	width: 100%;
	position:relative;
	padding-left: 1.5rem;
}

.footer-title-top::before {
	content: '○';
	position:absolute;
	left: 0;
	background:transparent;
	top: -.1rem;
}

.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-wrapper {
	display:none;
	position:fixed;
	top: 0;
	left: 0;
	width: 100%;
	height:100%;
	pointer-events: none;
	user-select: none;
	z-index: 3;
	padding-left: var(--lateral);
	padding-right: var(--lateral);
}

#grid {
	display: grid;
	max-width: var(--max-width);
	margin: 0 auto;
	background: #ffc0cb55;
	height: 100%;
	position: relative;
	grid-template-columns: repeat(12,1fr);
	column-gap: var(--padd-global);
}

.grid_line {
	border-left: 1px dashed rgba(0, 0, 0, .9);
	height: 100vh;
	top: 0;
	left: 0;
	color: rgba(0, 0, 0, .5);
	font-weight: bold;
	font-size: 11px;
}

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

.page>div,
.page>span,
#search {
	max-width: 100%;
	width: 100%;
	/* transform: scale(.4); */
}

.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;
}

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 var(--speedy) 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 var(--speedy);
}

.meta-menu a.meta_menu_selected {
	opacity: 1;
}

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

.meta-menu .lat_sub>a {
	font: 400 var(--typo-xs)/var(--line-xs) 'Roboto', 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-large)/1.1rem 'Roboto', sans-serif
}

.doc_img {
	display: block;
	padding: 0;
	margin-bottom: var(--global-bottom-margin);
	margin-right: calc(var(--column) * 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: 400 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;
}

.elem_10 {
	grid-column-end: span 10 !important;
}

.elem_11 {
	grid-column-end: span 11 !important;
}

.elem_12 {
	grid-column-end: span 12 !important;
}

.decal_1 {
    grid-column-start: 1 !important;
}
.decal_2 {
    grid-column-start: 2 !important;
}
.decal_3 {
    grid-column-start: 3 !important;
}
.decal_4 {
    grid-column-start: 4 !important;
}
.decal_5 {
    grid-column-start: 5 !important;
}
.decal_6 {
    grid-column-start: 6 !important;
}
.decal_7 {
    grid-column-start: 7 !important;
}
.decal_8 {
    grid-column-start: 8 !important;
}
.decal_9 {
    grid-column-start: 9 !important;
}
.decal_10 {
    grid-column-start: 10 !important;
}

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

.line {
	max-width: 100%;
	overflow:clip;
	padding-bottom: .9rem;
	margin-bottom: -0.9rem;
}

.exp {
	grid-column: span 8;
}

.page-transition {
	z-index: 999999;
	background: #9eb592;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 1;
	pointer-events: all;
	transition-property: all;
	transition-duration: .5s;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Lock scrolling and interactions while navigating to avoid jumps/flicker */
html.is-navigating, body.is-navigating {
	/* overflow: hidden; */
	overscroll-behavior: contain;
}

.page-transition::after {
	content: '';
	width: 50px;
	height: 50px;
	border: 5px solid rgba(0, 0, 0, 0.1);
	border-top-color: var(--color-01);
	border-radius: 50%;
	animation: page-transition-spin 0.8s linear infinite;
	opacity: 0;
	transition: opacity 0.3s;
}

.page-transition.opened::after,
.page-transition.show::after {
	opacity: 1;
}

@keyframes page-transition-spin {
	to {
		transform: rotate(360deg);
	}
}

.page-transition.closed {
	pointer-events: none;
	/*opacity: 0 !important;*/
	transform:translateY(100%);
}

.page-transition.opened {
	opacity: 1;
}

.page-transition.show {
	opacity: 1 !important;
	pointer-events: initial;
	/* instant show to avoid any flash before overlay appears */
	transition-duration: .3s;
}

.ctext+.cdoc {
	margin-top: calc(var(--global-bottom-margin)* -1 + 12px);
}

.cintertitle.downed+.ctext {
	margin-top: 2vw;
}

/**
 * Glass Distortion Plugin CSS
 * Styles pour l'effet de distorsion verre
 */

/* Plugin Styles */
.glass-distortion-wrapper {
    position: relative;
    display: inline-block;
    max-width: 100%;
}

.glass-distortion-wrapper canvas {
    display: block;
    width: 100%;
    height: auto;
    cursor: crosshair;
    transition: transform 0.3s ease;
}

.glass-distortion-wrapper canvas:hover {
    transform: scale(1.02);
}

.glass-distortion-wrapper img {
    display: none;
}