@charset "UTF-8";

/***************************/
/***************************/
/********** DEBUG **********/
/***************************/
/***************************/

pre {
	display: block;
	font-size:.75em;
	white-space: unset;
	margin:0 !important;
}



.collapsible > .mediaplayer-container:last-child {
	padding-bottom: 0 !important;
}
.collapsible > p:last-child:empty {
    margin-top: 0;
}


/***************************/
/***************************/
/********** STYLE **********/
/***************************/
/***************************/

* {
	-webkit-box-sizing:border-box;
	   -moz-box-sizing:border-box;
	        box-sizing:border-box;
}
html {
	font-size:100%;
}
html,
input,
textarea,
select,
button {
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	-webkit-text-size-adjust:100%;
}
h1, h2, h3, h4, h5, h6,
ul, ol,
p, a, span,
blockquote, label, div, table,
input, textarea, button, select {
	margin:0;
	padding:0;
	font-weight:inherit;
}
p {
	font-size:inherit;
	line-height:inherit;
	color:inherit;
	text-shadow:inherit;
}
b, strong, del,
i, em {
	font-size:inherit;
	line-height:inherit;
}
sup {
	line-height: 0;
}

/********** HR **********/

hr {
	width:100%;
	border:0;
	color:inherit;
	border-bottom:solid var(--line-height);
}
hr.blank {
	border:0 !important;
}

/********** LIST + INLINE **********/

/* cf. nav in navigations.css WIP */

.list > * {
	display:block;
}
.inline {
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
}

/********** @MEDIA **********/

@media screen and (max-device-width:320px) {
	body {
		-webkit-text-size-adjust:none;
	}
}

/****************************/
/****************************/
/********** CUSTOM **********/
/****************************/
/****************************/

.hidden {
	position: absolute;
	width: 0 !important;
	height: 0;
	padding: 0;
	overflow: hidden !important;
	border: 0;
	white-space: nowrap;
}
.disabled {
	opacity: .33;
	pointer-events: none;
}
.centered {
	text-align: center;
}
.highlighted {
	font-weight: bold; /* UNUSED */
}
.small {
	font-size: .75em;
}
.message {
	font-size: 2em;
	font-weight: var(--font-weight-bold);
}

/********** IS-LAST **********/

.is-last {
	margin-left:auto !important;
}
.columns .is-last {
	margin-left:auto !important;
	min-width:auto;
	white-space:nowrap;
	-webkit-box-flex:0;
	-webkit-flex-grow:0;
	   -moz-box-flex:0;
	    -ms-flex-positive:0;
	        flex-grow:0;
}

/************************/
/********** WP **********/
/************************/

mark.has-inline-color {
	background: none !important;
}
.has-text-align-center {
	text-align: center;
	-webkit-box-align: center !important;
	-webkit-align-items: center !important;
	   -moz-box-align: center !important;
	    -ms-flex-align: center !important;
	        align-items: center !important; /* main-title */
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	   -moz-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

/**************************/
/********** BOOK **********/
/**************************/

.book-labels {
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: -moz-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	gap: .5em;
}
.book-label {
	display: inline-block;
	text-transform: uppercase;
	font-size: .875em;
	font-weight: var(--font-weight-bold);
	padding: .5em 1.5em;
	background: var(--theme-color);
}

/** not in section => single-book **/

main > .book-labels {
	-webkit-align-self: flex-start;
	    -ms-flex-item-align: start;
	        align-self: flex-start;
	width: auto !important;
}
.book-labels + h1 {
	margin-top: -webkit-calc(var(--global-spacing) / 2);
	margin-top: -moz-calc(var(--global-spacing) / 2);
	margin-top: calc(var(--global-spacing) / 2);
}

/***************************/
/***************************/
/********** LINES **********/
/***************************/
/***************************/

/************************/
/********** HR **********/
/************************/

hr {
	position: relative;
	border: 0;
	height: 100%;
	width: 100%;
	aspect-ratio: var(--line-break-ratio);
}
hr:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: var(--line-break);
	-webkit-background-size: 100% auto;
	   -moz-background-size: 100% auto;
	     -o-background-size: 100% auto;
	        background-size: 100% auto;
	background-position: center !important;
	background-repeat: no-repeat !important;
}
hr.separator-2 {
	aspect-ratio: var(--line-separator-ratio);
	max-height: 2em;
}
hr.separator-2:after {
	background: var(--line-separator-2);
}

/****************************/
/****************************/
/********** TITLES **********/
/****************************/
/****************************/

/**
titles default + exceptions
.main-title = titre principal (largest + regular)
.page-title = titre de la page (large + regular)
**/

/*****************************/
/********** DEFAULT **********/
/*****************************/

h1,
h2,
h3,
h4,
h5,
h6 {
	display: inline-block;
	-webkit-box-align: center;
	-webkit-align-items: center;
	   -moz-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 0 1em;
	text-transform: uppercase;
	width: 100%;
}

/********** CENTERED **********/

.centered h1,
.centered h2,
.centered h3,
.centered h4,
.centered h5,
.centered h6 {
	text-align: center;
}

/********** WITH SMALL **********/

h1 .small,
.page-title .small {
	display: inline-block;
}

/********************************/
/********** BOOK TITLE **********/
/********************************/

.book-title {
	font-size: -webkit-calc(var(--font-size) * 3);
	font-size: -moz-calc(var(--font-size) * 3);
	font-size: calc(var(--font-size) * 3);
	text-transform: unset;
	font-weight: var(--font-weight-bold);
}

/***************************************/
/********** MAIN / PAGE TITLE **********/
/***************************************/
/*
.main-title,
.page-title {
	display: flex;
	flex-direction: column;
}
*/
.main-title {
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	   -moz-box-orient: vertical;
	   -moz-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	   -moz-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	text-transform: uppercase;
}
.page-title .description,
.main-title .description {
	line-height: 1;
}

/********** WITH SVG LINE **********/

.main-title .inline {
	width: 100%;
	-webkit-box-align: center;
	-webkit-align-items: center;
	   -moz-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: .25em;
}
.main-title .slpj-line {	
	height: auto;
	width: 100%;
	max-height: .5em;
	max-width: 2em;
	aspect-ratio: 100/26;
	overflow: hidden;
}

/********** @MEDIA **********/

@media (max-width:760px) {
	.page-title .description,
	.main-title .description {
		font-size: .5em;
	}
}
@media (min-width:760px) {
	.page-title .description,
	.main-title .description {
		font-size: .2875em;
	}
}

/********************************/
/********************************/
/********** BLOCKQUOTE **********/
/********************************/
/********************************/

/**
WIP !!!
**/

blockquote.important {
	font-size:2em;
}
section.focus blockquote.important {
	margin-left:auto;
	margin-right:auto;
}
blockquote > * {
	display:inline;
}
blockquote cite {
	font-size:.875em;
	font-style: normal;
	font-weight: 700;
}
blockquote cite:before {
	content:"— ";
}

/****************************/
/****************************/
/********** MEDIAS **********/
/****************************/
/****************************/

/**
img
svg
<picture> TODO !!!
**/

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

figure {
	display:block;
	height:auto;
	max-width:100%;
	margin:0;
	border:0;
}

/*****************************/
/********** PICTURE **********/
/*****************************/

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

/*************************/
/********** IMG **********/
/*************************/

img {
	display:block;
	height:auto;
	max-width:100%;
	margin:0 auto;
	border:0;
}
figure img {
	width:100%;
}

/******************************/
/********** IMG LAZY **********/
/******************************/

img[loading='lazy'] {
	opacity: 0;
}

/**************************/
/********** FULL **********/
/**************************/

figure.full,
img.full {
	max-width: none;
}

/****************************/
/********** RATIOS **********/
/****************************/

.aspect-ratio-1-1 {
	aspect-ratio:1/1;
}
.aspect-ratio-2-3 {
	aspect-ratio:2/3;
}
.aspect-ratio-16-9 {
	aspect-ratio:16/9;
}

/** containing .aspect-ratio-xxx **/

[class*="aspect-ratio-"] > *,
[class*="aspect-ratio-"] img {
	display:block;
	height:100%;
	width:100%;
	-o-object-fit: cover;
	   object-fit: cover;
	aspect-ratio: inherit;
}

/*************************************/
/********** IMG WITHIN TEXT **********/
/*************************************/

.alignleft {
	float: left;
	margin-right: var(--global-spacing);
}
.alignright {
	float: right;
	margin-left: var(--global-spacing);
}
.aligncenter {
	margin-left: auto;
	margin-right: auto;
}
.alignleft:after,
.alignright:after {
	content: "";
    display: block;
    clear: both;
}

/*************************/
/********** SVG **********/
/*************************/

svg {
	display:block;
	-webkit-transform:translate3d(0,0,0);
	   -moz-transform:translate3d(0,0,0);
	        transform:translate3d(0,0,0);
	-webkit-backface-visibility:hidden;
	   -moz-backface-visibility:hidden;
	        backface-visibility:hidden;
}
figure > svg {
	display:block;
	height:100%;
	width:100%;
	margin:0 auto;
}

/********************************/
/********************************/
/********** BACKGROUND **********/
/********************************/
/********************************/

.background-container {
	position:absolute;
	z-index:-1;
	top:0;
	left:-100%;
	right:-100%;
	height:100%;
	width:auto;
	overflow:hidden;
	padding:0 !important;
	margin:0 !important;
}
.background {
	position:absolute;
	z-index:-1;
	top:0;
	left:0;
	height:100%;
	width:100%;
	margin:0 !important;
	padding:0 !important;
	max-width:none;
	-webkit-background-size:cover !important;
	   -moz-background-size:cover !important;
	     -o-background-size:cover !important;
	        background-size:cover !important;
	background-repeat:no-repeat !important;
	background-position:center center !important;
}
.background.contain {
	-webkit-background-size:contain !important;
	   -moz-background-size:contain !important;
	     -o-background-size:contain !important;
	        background-size:contain !important;
	background-position:left !important;
}

/********** BACKGROUND CONTENT **********/

.background > *,
.background img {
	height:100%;
	width:100%;
	-o-object-fit: cover;
	   object-fit: cover;
}
.background.contain > *,
.background.contain img {
	-o-object-fit: contain;
	   object-fit: contain;
}

/********** BACKGROUND POSITIONS **********/

.bg-top-left {
	background-position:top left !important;
}
.bg-top-center {
	background-position:top center !important;
}
.bg-top-right {
	background-position:top right !important;
}
.bg-center-left {
	background-position:center left !important;
}
.bg-center-right {
	background-position:center right !important;
}
.bg-bottom-left {
	background-position:bottom left !important;
}
.bg-bottom-center {
	background-position:bottom center !important;
}
.bg-bottom-right {
	background-position:bottom right !important;
}

/*******************************/
/*******************************/
/********** THUMBNAIL **********/
/*******************************/
/*******************************/

/*
ratio 7/10 : 100% / 70% (default)
ratio 1/1 : 100% / 100% (focus, event) == default
ratio 2/3 : 100% / 150% (portrait)
ratio 16/9 : 160 / 90 (block front)
*/

.thumbnail {
	position:relative;
	width:100%;
	background:var(--light-color);
	aspect-ratio:32/23;
}
.thumbnail video,
.thumbnail img {
	display:block;
	height:100%;
	width:100%;
	-o-object-fit: cover;
	   object-fit: cover;
	aspect-ratio: inherit;
}
.thumbnail.full {
	max-width: none;
}
.thumbnail.media {
	max-width: none;
	-webkit-border-radius: 1em;
	   -moz-border-radius: 1em;
	        border-radius: 1em;
	overflow: hidden;
	aspect-ratio: 16/9;
}
.thumbnail.avatar {
	aspect-ratio: 1/1;
}

/********** POSITIONS **********/

.thumbnail.top-left img {
	-o-object-position: top left;
	   object-position: top left;
}
.thumbnail.top-center img {
	-o-object-position: top center;
	   object-position: top center;
}
.thumbnail.top-right img {
	-o-object-position: top right;
	   object-position: top right;
}
.thumbnail.center-left img {
	-o-object-position: center left;
	   object-position: center left;
}
.thumbnail.center-center img {
	-o-object-position: center center;
	   object-position: center center;
}
.thumbnail.center-right img {
	-o-object-position: center right;
	   object-position: center right;
}
.thumbnail.bottom-left img {
	-o-object-position: bottom left;
	   object-position: bottom left;
}
.thumbnail.bottom-center img {
	-o-object-position: bottom center;
	   object-position: bottom center;
}
.thumbnail.bottom-right img {
	-o-object-position: bottom right;
	   object-position: bottom right;
}

/********** EMPTY **********/

.thumbnail.empty img {
	visibility: hidden;
}

/*
.thumbnail.empty:after {
	content:"";
	position:absolute;
	top:50%;
	left:50%;
	-webkit-transform:translate3d(-50%,-50%,0);
	   -moz-transform:translate3d(-50%,-50%,0);
	        transform:translate3d(-50%,-50%,0);
	font-size:1em;
	line-height:1em;
	height:2em;
	width:2em;
	opacity:.5;
}
*/
/********** SIZES **********/

.thumbnail.small {
	max-height:3rem;
	max-width:3rem;
}

/***************************/
/***************************/
/********** COVER **********/
/***************************/
/***************************/

/*
aspect-ratio is html defined
*/

.cover {
	height: 100%;
	width: 100%;
	background: var(--light-color);
}
.cover img {
	height: 100%;
	-o-object-fit: contain;
	   object-fit: contain;
}

/*****************************/
/*****************************/
/********** GALLERY **********/
/*****************************/
/*****************************/

/* TODO !!! */

.gallery {
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	   -moz-box-orient: vertical;
	   -moz-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap:2em;
}
.gallery img {
	width:100%;
	max-width:none;
}
.gallery figcaption {
	font-size:.875em;
}
.gallery-toggle:hover img {
	opacity:.5;
}

/* cf. grid.css */

/***************************/
/***************************/
/********** ICONS **********/
/***************************/
/***************************/

.icon {
	display:-webkit-inline-box;
	display:-webkit-inline-flex;
	display:-moz-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
	width:100%;
	max-width:16rem;
	font-size:1em;
	line-height:1em;
	text-align:center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	   -moz-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	margin:auto;
}
.icon.large {
	font-size:3em;
}
.icon svg {
	height:1em;
	width:1em;
}

/**************************/
/**************************/
/********** LOGO **********/
/**************************/
/**************************/

/* dark as default */

.logo {
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	max-width:25rem;
	overflow:visible;
	margin:auto;
	fill:inherit;
}
.logo svg {
	height:100%;
	width:100%;
	fill:inherit;
}
.logo .logo-circles {
	fill:var(--dark-color);
}

/*************************/
/*************************/
/********** ADS **********/
/*************************/
/*************************/

figure.ad {
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	   -moz-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	aspect-ratio: 1/1;
	max-width: none;
	width: 100%;
	background: var(--light-color);
}

/****************************/
/****************************/
/********** IFRAME **********/
/****************************/
/****************************/

iframe {
	max-width:100%;
	border:none;
}
iframe.full {
	width:100%;
}
.iframe-container {
	position:relative;
	-webkit-background-size:cover !important;
	   -moz-background-size:cover !important;
	     -o-background-size:cover !important;
	        background-size:cover !important;
	background-position:center center !important;
	min-height:2rem;
	width:100%;
	padding:56.25% 0 0 0 !important;
	background:var(--light-color);
}
.iframe-container iframe {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

/*********************************/
/*********************************/
/********** MEDIAPLAYER **********/
/*********************************/
/*********************************/

/**
.mediaplayer == default
.mediaplayer.youtube == for youtube video
> data-background == for background image / if none youtube default
> id == video id
.mediaplayer-container == for overlay max-width 1024px
**/

/*********************************/
/********** MEDIAPLAYER **********/
/*********************************/

.mediaplayer {
	position:relative;
	-webkit-background-size:cover !important;
	   -moz-background-size:cover !important;
	     -o-background-size:cover !important;
	        background-size:cover !important;
	background-position:center center !important;
	height:100%;
	width:100%;
}
.mediaplayer:after {
	content:"";
	position:absolute;
	top:0;
	left:0;
	height:100%;
	width:100%;
	background:var(--light-color);
	opacity:.5;
}
.mediaplayer iframe {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

/*******************************************/
/********** MEDIAPLAYER-CONTAINER **********/
/*******************************************/

.mediaplayer-container {
	position:relative;
	display:block;
	height:100%;
	width:100%;
	-webkit-border-radius: .5em;
	   -moz-border-radius: .5em;
	        border-radius: .5em;
	overflow: hidden;
}
.mediaplayer-container.aligncenter,
.mediaplayer-container.centered {
	margin-right:auto;
	margin-left:auto;
}

/********** VISIBLE EMBED **********/

.mediaplayer-container .visible-embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	border: none;
	opacity: 1;
}

/********************************************/
/********** MEDIAPLAYER BACKGROUND **********/
/********************************************/

.mediaplayer-background {
	position:absolute;
	top: 0;
	left: 0;
	width:100%;
	height:100%;
	overflow: hidden;
	border: none;
	opacity: .5;
}
.mediaplayer-container.is-loaded.is-playing  .mediaplayer-background {
	opacity: 0;
}

/****************************************/
/********** MEDIAPLAYER BUTTON **********/
/****************************************/

.mediaplayer-container .play-button {
	position: absolute;
	z-index: 30;
	inset: 0;
	display:-webkit-inline-box;
	display:-webkit-inline-flex;
	display:-moz-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	   -moz-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	   -moz-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	cursor:pointer;
	line-height: 1;
	opacity:0;
}
.mediaplayer-container .play-button .icon-play {
	margin-left:.125em;
}
.mediaplayer-container .play-button:before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 50%;
	left: 50%;
	display: block;
	background: var(--bright-color);
	-webkit-border-radius: 50%;
	   -moz-border-radius: 50%;
	        border-radius: 50%;
	height: 2.5em;
	width: 2.5em;
	-webkit-transform: translate(-50%, -50%);
	   -moz-transform: translate(-50%, -50%);
	    -ms-transform: translate(-50%, -50%);
	     -o-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
}
.mediaplayer-container .play-button:after {
	content:"";
	position:absolute;
	z-index:-1;
	inset:0;
	height: 100%;
	width: 100%;
}
.mediaplayer-container:not(.is-playing) .play-button:after {
	height: -webkit-calc(100% - var(--vlite-controlBarHeight));
	height: -moz-calc(100% - var(--vlite-controlBarHeight));
	height: calc(100% - var(--vlite-controlBarHeight));
}
.mediaplayer-container .play-button:hover:before {
	-webkit-transform: translate(-50%, -50%), scale(1.2);
	   -moz-transform: translate(-50%, -50%), scale(1.2);
	    -ms-transform: translate(-50%, -50%), scale(1.2);
	     -o-transform: translate(-50%, -50%), scale(1.2);
	        transform: translate(-50%, -50%), scale(1.2);
}
.mediaplayer-container .play-button:focus-visible,
.mediaplayer-container.is-ready .play-button,
.mediaplayer-container.is-paused .play-button,
.mediaplayer-container.is-loaded .play-button:hover {
	opacity:1;
}
.mediaplayer-container.is-playing .play-button:not(.visible) {
	opacity:0;
}

/********** @MEDIA **********/

/** mobile **/
@media (max-width:1000px) {
	.mediaplayer-container .play-button {
		font-size: 1em;
	}
}
/** desktop **/
@media (min-width:1000px) {
	.mediaplayer-container .play-button {
		font-size: 2em;
	}
}

/*********************************/
/********** HTML5 VIDEO **********/
/*********************************/

video {
	display:block;
	height:auto;
	width:100%;
}
.mediaplayer.chrome video::-internal-media-controls-download-button {
	display:none;
}
.mediaplayer.chrome video::-webkit-media-controls-enclosure {
	overflow:hidden;
}
.mediaplayer.chrome video::-webkit-media-controls-panel {
	width:-webkit-calc(100% + 32px);
	width:calc(100% + 32px);
	margin-left:auto;
}

/***************************/
/********** VLITE **********/
/***************************/

/**
--vlite-colorPrimary	#ff7f15	Primary color
--vlite-transition	0.25s ease	Transition
--vlite-controlBarHeight	50px	Control bar height
--vlite-controlBarHorizontalPadding	10px	Control bar horizontal padding
--vlite-controlBarBackground	linear-gradient(to top, #000 -50%, transparent)	Control bar background
--vlite-controlsColor	#fff|#000	Controls color (video|audio)
--vlite-controlsOpacity	0.9	Controls opacity
--vlite-progressBarHeight	5px	Progress bar height
--vlite-progressBarBackground	rgba(0 0 0 / 25%)	Progress bar background
**/

.v-vlite.v-video {
	aspect-ratio:initial !important;
}
.mediaplayer-container iframe,
.mediaplayer-container.is-loaded iframe {
	opacity:0;
}
.mediaplayer-container.is-loaded.is-playing iframe {
	opacity:1;
}
.mediaplayer-container .v-controlBar {
	z-index:40;
	background:none !important;
}
.mediaplayer-container .v-controlBar:after {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	background: -webkit-gradient(linear, left bottom, left top, from(var(--dark-color)), to(transparent)) !important;
	background: -webkit-linear-gradient(bottom, var(--dark-color), transparent) !important;
	background: -moz-linear-gradient(bottom, var(--dark-color), transparent) !important;
	background: -o-linear-gradient(bottom, var(--dark-color), transparent) !important;
	background: linear-gradient(0deg, var(--dark-color), transparent) !important;
}
.mediaplayer-container.is-loaded.is-paused .v-controlBar {
	opacity: 0;
}
.mediaplayer-container.is-loaded .v-controlBar {
	background: var(--dark-color) !important;
	background: -webkit-gradient(linear, left bottom, left top, from(var(--dark-color)), to(transparent)) !important;
	background: -webkit-linear-gradient(bottom, var(--dark-color), transparent) !important;
	background: -moz-linear-gradient(bottom, var(--dark-color), transparent) !important;
	background: -o-linear-gradient(bottom, var(--dark-color), transparent) !important;
	background: linear-gradient(0deg, var(--dark-color), transparent) !important;
}
.mediaplayer-container.is-loaded.is-playing .v-controlBar {
	background:-webkit-gradient(linear,left bottom, left top,from(var(--dark-color)),to(transparent)) !important;
	background:-webkit-linear-gradient(bottom,var(--dark-color),transparent) !important;
	background:-moz-linear-gradient(bottom,var(--dark-color),transparent) !important;
	background:-o-linear-gradient(bottom,var(--dark-color),transparent) !important;
	background:linear-gradient(0deg,var(--dark-color),transparent) !important;
}
.mediaplayer-container.is-loaded .v-poster {
	opacity:.25 !important;
	pointer-events:none;
}
.mediaplayer-container.is-ready .v-controlBar {
	opacity:0 !important;
	pointer-events:none;
}
.v-vlite.v-video {
	background:var(--dark-color) !important;
}
.v-iconPressed {
	margin:0;
}
.v-vlite {
	--vlite-colorPrimary: var(--bright-color) !important;
	--vlite-progressBarBackground: var(--dark-color) !important;
}

/* prevent from theme css */

.v-volumeArea {
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	   -moz-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.v-volumeBar {
	width: 6em;
}
.v-controlBar button {
	background: none !important;
}
.v-progressBar {
	min-height:auto;
	padding: 0;
}

/********************************/
/********************************/
/********** RESPONSIVE **********/
/********************************/
/********************************/

/**
760px ?
**/

@media (min-width:1000px) {
	.only-mobile {
		visibility:hidden;
		display:none !important;
	}
}
@media (max-width:1000px) {
	.only-desktop {
		visibility:hidden;
		display:none !important;
	}
}

/*****************************/
/*****************************/
/********** ANCHORS **********/
/*****************************/
/*****************************/

/********** DEFAULT INLINE **********/

a {
	position:relative;
	font-size:inherit;
	line-height:inherit;
	color:inherit;
	text-shadow:inherit;
	outline:0;
	text-decoration:none;
}
p a,
li a {
	cursor:pointer;
	padding-bottom: var(--line-height);
    text-shadow: none;
    -webkit-text-decoration-line: underline;
       -moz-text-decoration-line: underline;
            text-decoration-line: underline;
    -webkit-text-decoration-color: currentColor;
       -moz-text-decoration-color: currentColor;
            text-decoration-color: currentColor;
    text-decoration-thickness: -webkit-calc(var(--line-height) / 2);
    text-decoration-thickness: -moz-calc(var(--line-height) / 2);
    text-decoration-thickness: calc(var(--line-height) / 2);
    text-underline-position: from-font;
}
p a:hover,
li a:hover {
	-webkit-text-decoration-color: transparent;
	   -moz-text-decoration-color: transparent;
	        text-decoration-color: transparent;
}

/********** WITH ICONS **********/

a [class^="icon-"] + span,
a [class*=" icon-"] + span {
	margin:0 0 0 .5rem;
}
a span {
	display:-webkit-inline-box;
	display:-webkit-inline-flex;
	display:-moz-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	   -moz-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	font-family:inherit;
	font-size:inherit;
	line-height:inherit;
	color:inherit;
	text-shadow:inherit;
}

/********** WITH LABELS **********/

a .label,
button .label {
	position: absolute;
	width: 0;
	height: 0;
	padding: 0;
	overflow: hidden;
	border: 0;
	white-space: nowrap; /* Prevent text wrap */
}

/********** INACTIVE **********/

a.inactive {
	pointer-events: none;
}

/********** BEHAVIOURS **********/

:focus {
	outline-color:transparent;
	outline-style:none;
}

/* cf. navigation.css > accessibility for focus-visible */

/********************************/
/********************************/
/********** COLUMNIZER **********/
/********************************/
/********************************/

/*
data-columns == 2 / 3 / 4
2 == default

cf. grid.css for mixing with grid
*/

/********** BEHAVIOURS **********/

.columnizer .break {
	-webkit-column-break-before:always;
	-moz-column-break-before:always;
	break-before:always;
	padding-top:0;
}

/********** SPACING **********/

.columnizer > * + * {
	padding:0;
	margin:0;
}
.columnizer > *:not(:last-child) {
	margin-bottom:var(--global-spacing);
}
.columnizer > li:not(:last-child),
.columnizer > ul li:not(:last-child),
.columnizer > ol li:not(:last-child) {
	margin:0;
}

/********** @MEDIA **********/

@media (min-width:760px) {
	.columnizer {
		-webkit-column-count:2;
		   -moz-column-count:2;
		        column-count:2;
		-webkit-column-gap:var(--gutter-gap);
		   -moz-column-gap:var(--gutter-gap);
		        column-gap:var(--gutter-gap);
	}
}
@media (min-width:1000px) {
	.columnizer[data-columns="3"] {
		-webkit-column-count:3;
		   -moz-column-count:3;
		        column-count:3;
	}
	.columnizer[data-columns="4"] {
		-webkit-column-count:4;
		   -moz-column-count:4;
		        column-count:4;
	}
}

/*****************************/
/*****************************/
/********** UL / OL **********/
/*****************************/
/*****************************/

ul,
ol {
	list-style-position: inside;
}
main ul,
main ol,
#overlays ul,
#overlays ol {
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	   -moz-box-orient: vertical;
	   -moz-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: .5em 0;
}

/********** UL **********/

ul li {
	list-style: disc;
	margin-left:1em;
	padding-left: .5em;
}
ul.list li {
	list-style: none;
	margin-left:0;
	padding-left: 0;
}

/********** OL **********/

ol {
	margin:0;
	list-style:none;
}
ol li {
	position:relative;
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:center;
	-webkit-align-items:center;
	   -moz-box-align:center;
	    -ms-flex-align:center;
	        align-items:center;
	counter-increment:step-counter;
	text-align:left !important;
}
ol li + li {
	margin-top:.25em;
}
ol li:before {
	content:counter(step-counter);
	display:inline-block;
	text-align:center;
	font-size:.75em;
	line-height:1em;
	height:1em;
	width:1em;
	min-width:1em;
	padding:.5em;
	margin: 0 1em 0 0;
	-webkit-border-radius:50%;
	   -moz-border-radius:50%;
	        border-radius:50%;
	color:var(--bright-color);
	background: var(--dark-color);
}

/******************************/
/******************************/
/********** FLIPBOOK **********/
/******************************/
/******************************/

.flipbook-container {
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	   -moz-box-orient: vertical;
	   -moz-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	min-height:60svh;
}
.flipbook-iframe {
	-webkit-box-flex: 1;
	-webkit-flex-grow: 1;
	   -moz-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
}
body.iframed {
	height: -webkit-fit-content;
	height: -moz-fit-content;
	height: fit-content;
}
body.iframed main {
	-webkit-box-flex: unset;
	-webkit-flex-grow: unset;
	   -moz-box-flex: unset;
	    -ms-flex-positive: unset;
	        flex-grow: unset;
}
.flipbook-container,
.flipbook-iframe {
	position:relative;
	z-index:5;
	margin: 0 auto;
	height: 100%;
	width:100%;
	max-height: 60svh;
}

/******************************/
/******************************/
/********** SEE ALSO **********/
/******************************/
/******************************/

/**
for archives in single
**/

.see-also {
	position: relative;
	padding-top: -webkit-calc(var(--global-spacing) * 1.5);
	padding-top: -moz-calc(var(--global-spacing) * 1.5);
	padding-top: calc(var(--global-spacing) * 1.5);
	padding-bottom: -webkit-calc(var(--global-spacing) * 1.5);
	padding-bottom: -moz-calc(var(--global-spacing) * 1.5);
	padding-bottom: calc(var(--global-spacing) * 1.5);
}
.see-also:before,
.see-also:after {
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
	aspect-ratio: var(--line-break-ratio);
	background: var(--line-break);
	-webkit-background-size: 100% auto;
	   -moz-background-size: 100% auto;
	     -o-background-size: 100% auto;
	        background-size: 100% auto;
	background-position: center;
	background-repeat: no-repeat;
}
.see-also:before {
	top: 0;
}
.see-also:after {
	bottom: 0;
}
.see-also .hidden + * {
	margin-top: 0;
}
.see-also a {
	display: block;
}

/****************************/
/********** @MEDIA **********/
/****************************/

@media (max-width:760px) {
	.see-also {
		position: relative;
		font-size: -webkit-calc(var(--font-size) * 1.25);
		font-size: -moz-calc(var(--font-size) * 1.25);
		font-size: calc(var(--font-size) * 1.25);
	}
}
@media (min-width:760px) {
	.see-also {
		position: relative;
		font-size: -webkit-calc(var(--font-size) * 1.5);
		font-size: -moz-calc(var(--font-size) * 1.5);
		font-size: calc(var(--font-size) * 1.5);
	}
}

/*******************************/
/*******************************/
/********** COOKIEYES **********/
/*******************************/
/*******************************/

/********** MAINTENANCE **********/
/** hide cookieyes **/

body.maintenance .cky-consent-container {
	display: none;
}

/********** HACK **********/

.cky-preference-title,
.cky-accordion-btn {
	text-transform: uppercase !important;
	font-weight: var(--font-weight-medium) !important;
}
.cky-btn {
	font-weight: var(--font-weight-bold);
	border-radius: 2em !important;
}
.cky-btn:hover {
	color: #000 !important;
	border-color: #ff81b2 !important;
	background-color: #ff81b2	!important;
	opacity: 1 !important;
}
.cky-switch input[type="checkbox"]::before {
	top: auto;
	left: 2px;
	bottom: 2px;
	opacity: 1;
	transform: none;
}
