@charset "UTF-8";

nav.posts-navigation {
	justify-content: space-between;
	font-size: .5em;
	text-transform: uppercase;
}
nav.posts-navigation .nav-previous {
	margin-right: auto;
}
nav.posts-navigation .nav-next {
	margin-left: auto;
}


nav.pagination {
	font-size: .5em;
	text-transform: uppercase;
}


/*************************/
/*************************/
/********** NAV **********/
/*************************/
/*************************/

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

nav {
	position: relative;
	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;
	-webkit-box-align: center;
	-webkit-align-items: center;
	   -moz-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: var(--nav-gap);
	line-height: 1;
}
nav a {
	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;
	line-height: 1;
	margin: 0;
	text-decoration: none;
}

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

nav.full {
	width: 100%;
}
nav.inline {
	width: 100%;
}
nav.inline > * + * {
	margin-top: 0;
}
nav.vertical {
	-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;
}
nav.centered {
	-webkit-box-pack:center;
	-webkit-justify-content:center;
	   -moz-box-pack:center;
	    -ms-flex-pack:center;
	        justify-content:center;
}

/*****************************/
/*****************************/
/********** BUTTONS **********/
/*****************************/
/*****************************/

/*
nav.buttons
a.button

buttons > a / span
*/

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

.buttons {
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	-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;
	gap: 2em;
}
.buttons > *,
.button,
button,
input[type="submit"] {
	position:relative;
	z-index:10;
	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;
	gap:1em;
	font-size:1.25em;
	line-height:1em;
	padding:.5em;
	text-transform: uppercase;
	border:0;
	text-decoration: none;
	border: 0;
	color:var(--bright-color);
	background:var(--dark-color);
}
.buttons > a:hover,
.button:hover,
button:hover,
input[type="submit"]:hover {
	color:var(--bright-color);
	background:var(--primary-color);
}
.buttons > a > *,
.button > * {
	margin:0;
}

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

.button.centered {
	margin-left:auto;
	margin-right:auto;
}

/*******************************/
/*******************************/
/********** DOWNLOADS **********/
/*******************************/
/*******************************/

/* cf. brochures for event files */

nav.downloads {
	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;
	font-size: .875em;
	gap: -webkit-calc(var(--global-spacing) / 4);
    gap: -moz-calc(var(--global-spacing) / 4);
    gap: calc(var(--global-spacing) / 4);
}
nav.downloads > * + * {
	margin:0;
}
nav.downloads a {
	display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
}
nav.downloads a span + span {
	margin-left:1em;
}
nav.downloads a span.title {
	font-weight: 600;
}
nav.downloads a span:first-child {
	display:inline;
	border-bottom:solid -webkit-calc(var(--line-height) / 2) transparent;
	border-bottom:solid -moz-calc(var(--line-height) / 2) transparent;
	border-bottom:solid calc(var(--line-height) / 2) transparent;
	overflow: hidden;
	-o-text-overflow: ellipsis;
	   text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	line-clamp: 1;
	-webkit-box-orient: vertical;
}
nav.downloads a:hover span:first-child {
	border-bottom:solid -webkit-calc(var(--line-height) / 2);
	border-bottom:solid -moz-calc(var(--line-height) / 2);
	border-bottom:solid calc(var(--line-height) / 2);
}


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

/*
.menu
.menu.collapsible (mobile only)

ul.menu > li > a + ul.menu > li > a
*/

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

.menu {
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-flex-wrap:wrap;
	    -ms-flex-wrap:wrap;
	        flex-wrap:wrap;
	text-transform: uppercase;
}
.menu > * {
	-webkit-box-flex: 1;
	-webkit-flex-grow: 1;
	   -moz-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	-webkit-flex-basis: 0;
	    -ms-flex-preferred-size: 0;
	        flex-basis: 0;
}
.menu .menu {
	-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:.75em;
	font-size:.625em;
	margin:0;
}
.menu > * {
	position:relative;
	list-style: none;
	margin:0;
}
.menu a {
	display:-webkit-inline-box;
	display:-webkit-inline-flex;
	display:-moz-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
	-webkit-box-orient:horizontal;
	-webkit-box-direction:normal;
	-webkit-flex-direction:row;
	   -moz-box-orient:horizontal;
	   -moz-box-direction:normal;
	    -ms-flex-direction:row;
	        flex-direction:row;
	gap:1em;
	color:inherit;
	border:0 !important;
}

/********** COLLAPSIBLE **********/

/*
menu.collapsible > li > a.collapsible + .menu
*/

.menu a.collapsible-toggle {
	display:none;
	visibility:hidden;
}

/********** COLORS **********/

.menu a:hover,
.menu a.active,
.has-menu.active > a {
	color:var(--primary-color);
}

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

/** mobile **/
@media (max-width:760px) {
	.menu {
		-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:0;
		font-size:1.25em;
	}
	/* collapsible */
	.menu.collapsible > li > * {
		padding-left:3.25em;
	}
	.menu a.collapsible-toggle {
		position:absolute;
		top:0;
		left:0;
		height:2.5em;
		width:2.5em;
		padding:0 !important;
		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;
		visibility:visible;
		color:var(--dark-color);
	}
	.menu a.collapsible-toggle > * {
		font-size:.75em;
		line-height:1em;
		margin:auto;
	}
	.menu a.collapsible-toggle + .menu {
		-webkit-flex-wrap:nowrap;
		    -ms-flex-wrap:nowrap;
		        flex-wrap:nowrap;
		opacity:0;
		max-height:0;
		overflow:hidden;
		margin:0;
	}
	.menu a.collapsible-toggle + .menu.collapsed {
		opacity:1;
		max-height:10em;
	}
}
/** desktop **/
@media (min-width:760px) {
	.menu {
		-webkit-box-orient:horizontal;
		-webkit-box-direction:normal;
		-webkit-flex-direction:row;
		   -moz-box-orient:horizontal;
		   -moz-box-direction:normal;
		    -ms-flex-direction:row;
		        flex-direction:row;
		gap:2em 1em;
		font-size:1.5em;
	}
	.menu .menu {
		margin-left: .375em;
	}
	/* collapsible */
	.menu.collapsible {
		max-height:none !important;
	}
}




/********************************/
/********************************/
/********** NAVIGATION **********/
/********************************/
/********************************/

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

#navigation {
	position: fixed;
	z-index: 1300;
	top: 0;
	right: 0;
	display:flex;
	align-items: flex-start;
	height: 0;
	width: 100%;
	overflow: hidden;
	visibility: hidden;
	scroll-behavior: smooth;
}

/****************************************/
/********** NAVIGATION CONTENT **********/
/****************************************/

#navigation .navigation-content {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	width: 100%;
	background: var(--bright-color);
}
#navigation .navigation-content > * {
	margin: auto;
	pointer-events: auto;
	opacity: 0;
	visibility: hidden;
	transform: translate3d(0, -3em, 0);
}

/***************************************/
/********** NAVIGATION MOBILE **********/
/***************************************/

#navigation .secondary {
	margin: 0 auto;
}
#navigation .copyright {
	font-size: .625em;
	text-align: center;
	margin: 0;
}

/***************************************/
/********** NAVIGATION-EXPAND **********/
/***************************************/

#navigation-expand {
	position:relative;
	z-index:2100;
	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;
	font-size: 1.25em;
	line-height: 1;
	padding: 1em;
}

/***********************************/
/********** BODY EXPANDED **********/
/***********************************/

body.expanded {
	overflow: hidden;
}
body.expanded #navigation {
	overflow: auto;
	visibility: visible;
	height: 100%;
}
body.expanded #navigation .navigation-content {
	overflow: auto;
}
body.expanded #navigation .navigation-content > * {
	opacity: 1;
	visibility: visible;
	transform: translate3d(0, 0, 0);
}

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

@media (max-width:1000px) {
	#navigation .navigation-content {
		gap: 0;
		padding: var(--header-height) calc(var(--gutter-gap) * 2);
	}
}
/** desktop **/
@media (min-width:1000px) {
	#navigation-expand {
		display: none;
	}
	#navigation .navigation-content {
		gap:var(--gutter-gap);
	}
	#navigation nav.secondary {
		display: none;
	}
}

/*****************************/
/*****************************/
/********** SITEMAP **********/
/*****************************/
/*****************************/

/* based on .menu */

#sitemap {
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	margin:0 auto;
	white-space:nowrap;
}

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

#sitemap .menu a {
	padding:.5em; /* for focus-visible */
	visibility: hidden;
}
body.expanded #sitemap .menu a {
	visibility: visible;
}
#sitemap .menu a em {
	font-style: normal;
}

/********** SUB MENU **********/

#sitemap .menu .menu {
	gap:0;
}
#sitemap .menu .menu a {
	padding:.25em;
}

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

/** mobile **/
@media (max-width:760px) {
	#sitemap > .menu a {
		margin-left:2em;
	}
	#sitemap > .menu a.collapsible-toggle,
	#sitemap > .menu .menu a {
		margin-left:0;
	}
}
/** desktop **/
@media (min-width:760px) {
	#sitemap > .menu {
		width:100%;
	}
}
@media (min-width:1000px) {
	#sitemap {
		font-size:1.25em;
	}
}
@media (min-width:1200px) {
	#sitemap {
		font-size:1.5em;
	}
}

/*****************************/
/*****************************/
/********** PRIMARY **********/
/*****************************/
/*****************************/

nav.primary {
	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;
	-webkit-box-pack:center;
	-webkit-justify-content:center;
	   -moz-box-pack:center;
	    -ms-flex-pack:center;
	        justify-content:center;
	max-width:var(--content-maxwidth);
	gap: 0;
	margin:0 auto;
	text-align:center;
	white-space:nowrap;
	/*font-size:1.25em;*/
	font-size: var(--primary-font-size);
	line-height:1;
	text-transform: uppercase;
}
nav.primary a {
	-webkit-box-flex:1;
	-webkit-flex-grow:1;
	   -moz-box-flex:1;
	    -ms-flex-positive:1;
	        flex-grow:1;
	-webkit-flex-basis:0;
	    -ms-flex-preferred-size:0;
	        flex-basis:0;
	position:relative;
	display:-webkit-inline-box;
	display:-webkit-inline-flex;
	display:-moz-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	   -moz-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	pointer-events:none;
	font-size:inherit;
	line-height:inherit;
	margin:0;
}
nav.primary a > * {
	-webkit-box-flex:1;
	-webkit-flex-grow:1;
	   -moz-box-flex:1;
	    -ms-flex-positive:1;
	        flex-grow:1;
	-webkit-flex-basis:0;
	    -ms-flex-preferred-size:0;
	        flex-basis:0;
	font-size:inherit;
	line-height:inherit;
	pointer-events:auto;
}
nav.primary a span {
	padding: 1em;
}
nav.primary a:hover span,
nav.primary a.active span {
	color:var(--primary-color);
}
nav.primary a.active {
	pointer-events:none;
}

/*****************************************/
/********** NAVIGATION EXPANDED **********/
/*****************************************/

body.expanded nav.primary {
	opacity:0;
	visibility: hidden;
	-webkit-transform: translate3d(0,-100%,0);
	   -moz-transform: translate3d(0,-100%,0);
	        transform: translate3d(0,-100%,0);
}

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

@media (max-width: 1000px) {
	header > nav.primary {
		display: none;
		opacity: 0;
		visibility: hidden;
	}
	#navigation nav.primary {
		flex-direction: column;
	}
}

/*******************************/
/*******************************/
/********** SECONDARY **********/
/*******************************/
/*******************************/
/* ok */

nav.secondary {
	position:relative;
	-webkit-flex-wrap:wrap;
	    -ms-flex-wrap:wrap;
	        flex-wrap:wrap; /* for mobile */
	line-height:1em;
	text-align:center;
}
nav.secondary a {
	margin:0;
}

/********************************/
/********** NAVIGATION **********/
/********************************/

#navigation nav.secondary a {
	font-size:.75em;
	padding:1em;
}

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

footer nav.secondary a {
	padding:1.5em;
}

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

/** mobile **/
@media (max-width:1000px) {
	footer nav.secondary {
		display:none;
		visibility: hidden;
	}
}
/** desktop **/
@media (min-width:1000px) {
	header nav.secondary {
		display:none;
		visibility: hidden;
	}
}

/****************************/
/****************************/
/********** NAVBAR **********/
/****************************/
/****************************/

#navbar {
	position:relative;
	z-index:1310;
	display:-webkit-inline-box;
	display:-webkit-inline-flex;
	display:-moz-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
	-webkit-box-align: stretch;
	-webkit-align-items: stretch;
	   -moz-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	-webkit-box-pack: end;
	-webkit-justify-content: flex-end;
	   -moz-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	text-transform: uppercase;
	white-space: nowrap;
	pointer-events:none;
	font-size:1.25em;
	line-height: 1em;
	padding:.25em;
}
#navbar > * {
	position:relative;
	z-index:10;
	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;
	margin:0;
	pointer-events:auto;
}
#navbar > a {
	padding:.75em;
}
#navbar a:hover,
#navbar a.active {
	color:var(--primary-color);
}
#navbar span {
	font-size:.75em;
}
#navbar [class^="icon-"] {
	font-size:1em;
	line-height:1em;
}

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

@media (min-width:1000px) {
	#navbar .season-link {
		display:none;
		visibility: hidden;
	}
}

/****************************/
/****************************/
/********** SOCIAL **********/
/****************************/
/****************************/
/*
socialbar > in #navigation / footer
*/

nav.socialbar,
nav.sharebar {
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-flex-wrap:wrap;
	    -ms-flex-wrap:wrap;
	        flex-wrap:wrap; /* for mobile */
	-webkit-box-align:center;
	-webkit-align-items:center;
	   -moz-box-align:center;
	    -ms-flex-align:center;
	        align-items:center;
	white-space:nowrap;
	line-height:1em;
}
nav.socialbar > *,
nav.sharebar > * {
	display:inline-block;
	vertical-align:middle;
	padding:1em;
}
nav.socialbar > *:not(a),
nav.sharebar > *:not(a) {
	font-size:.75em;
}
nav.socialbar a > *
nav.sharebar a > * {
	display:block;
	height:1em;
	width:1em;
}
nav.socialbar a span {
	display:none;
}
nav.socialbar a [class^="icon-"] {
	display:block;
	font-size:1.25em;
	line-height: 1em;	
}

/********************************/
/********************************/
/********** CONTEXTUAL **********/
/********************************/
/********************************/

/* 1em == anchor padding */

#contextual {
	position:-webkit-sticky;
	position:sticky;
	z-index:100;
	top:var(--header-height);
	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;
	-webkit-flex-wrap:nowrap;
	    -ms-flex-wrap:nowrap;
	        flex-wrap:nowrap;
	line-height:1em;
	text-transform: uppercase;
	white-space:nowrap;
	color:var(--dark-color);
	background:var(--bright-color);
	width:100%;
	max-width:none;
	margin:0;
}

/********** FX **********/

#contextual .swiperable {
	position:relative;
	padding:0 var(--global-spacing);
}
#contextual .swiperable:before {
	content:"";
	position:absolute;
	z-index:20;
	top:0;
	right:0;
	bottom:0;
	left:0;
	pointer-events:none;
	background: rgb(255,255,255);
	background: -webkit-linear-gradient(left, rgba(255,255,255,1) 0%, rgba(255,255,255,0) var(--global-spacing), rgba(255,255,255,0) -webkit-calc(100% - var(--global-spacing)), rgba(255,255,255,1) 100%);
	background: -moz-linear-gradient(left, rgba(255,255,255,1) 0%, rgba(255,255,255,0) var(--global-spacing), rgba(255,255,255,0) -moz-calc(100% - var(--global-spacing)), rgba(255,255,255,1) 100%);
	background: -webkit-gradient(linear, left top, right top, from(rgba(255,255,255,1)), color-stop(rgba(255,255,255,0)), color-stop(rgba(255,255,255,0)), to(rgba(255,255,255,1)));
	background: -o-linear-gradient(left, rgba(255,255,255,1) 0%, rgba(255,255,255,0) var(--global-spacing), rgba(255,255,255,0) calc(100% - var(--global-spacing)), rgba(255,255,255,1) 100%);
	background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) var(--global-spacing), rgba(255,255,255,0) calc(100% - var(--global-spacing)), rgba(255,255,255,1) 100%);
}

/********** SWIPERABLE **********/

#contextual .swiperable .swiper-slide,
#contextual .swiperable a {
	width:auto;
}

/********** NAV **********/

#contextual .swiperable {
	overflow:hidden;
}
#contextual nav {
	margin:0 auto;
	width:auto;
}

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

#contextual a:first-child,
#contextual nav a:first-child {
	margin-left:auto;
}
#contextual a:last-child,
#contextual nav a:last-child {
	margin-right:auto;
}
#contextual a {
	font-size:.875em;
	color:inherit;
}
#contextual a:hover,
#contextual a.active {
	color:var(--primary-color);
}

/********** STICKY **********/

#contextual .sticky {
	position:relative;
	z-index: 100;
	margin:0;
}
#contextual .sticky > * {
	margin:0;
}
#contextual .sticky span {
	font-size:.875em;
	padding:1em;
	color:inherit;
}

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

@media (min-width:0px) {
	#contextual {
		font-size:-webkit-calc(var(--font-size) * .875);
		font-size:-moz-calc(var(--font-size) * .875);
		font-size:calc(var(--font-size) * .875);
	}
	#contextual a {
		padding:1em .5em;
	}
	#contextual .sticky {
		padding-left:var(--global-spacing);
		display:none;
	}
}
@media (min-width:760px) {
	#contextual {
		font-size:var(--font-size);
	}
	#contextual a {
		padding:1em;
	}
	#contextual .sticky {
		display:block;
		padding-left:-webkit-calc(var(--global-spacing) / 2);
		padding-left:-moz-calc(var(--global-spacing) / 2);
		padding-left:calc(var(--global-spacing) / 2);
	}
}

/*********************************/
/*********************************/
/********** COLLAPSIBLE **********/
/*********************************/
/*********************************/

/*
.collapsible
.collapsible-toggle
.collapsible-toggle.button / .collapsible-toggle.button.small
.collapsible-toggle.simple

cf. single director : list films
cf. single film : generic

max-height: in JS
*/

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

div.collapsible {
	display:block;
	overflow:hidden;
	max-height:0;
}
div.collapsible > * {
	opacity:0;
}
div.collapsible.collapsed {
	max-height:100rem;
	margin-bottom:-webkit-calc(var(--global-spacing) * -1);
	margin-bottom:-moz-calc(var(--global-spacing) * -1);
	margin-bottom:calc(var(--global-spacing) * -1);
	padding-bottom:var(--global-spacing);
}
div.collapsible.collapsed > * {
	opacity:1;
}
div.collapsible:not(.collapsed) {
	margin-top:0 !important;
}

/********** COLLAPSIBLE-CONTAINER **********/
/* FAQ mode */

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

/********** TOGGLE BUTTON **********/
/* cf. FAQ */

a.collapsible-toggle {
	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:start;
	-webkit-justify-content:flex-start;
	   -moz-box-pack:start;
	    -ms-flex-pack:start;
	        justify-content:flex-start;
	gap:1em;
	width:100%;
	padding:.75em;
}
a.collapsible-toggle:after {
	display:none;
}
a.collapsible-toggle > * {
	margin:0;
}
a.collapsible-toggle > [class^="icon-"] {
	margin-left: auto;
}
a.collapsible-toggle.active > [class^="icon-"] {
	-webkit-transform:rotate(45deg);
	   -moz-transform:rotate(45deg);
	    -ms-transform:rotate(45deg);
	     -o-transform:rotate(45deg);
	        transform:rotate(45deg);
}

/***********************************/
/***********************************/
/********** ACCESSIBILITY **********/
/***********************************/
/***********************************/

/********************************/
/********** COOKIE YES **********/
/********************************/

.cky-box-bottom-right {
	bottom: -webkit-calc(var(--global-spacing)/2 + var(--footer-height)) !important;
	bottom: -moz-calc(var(--global-spacing)/2 + var(--footer-height)) !important;
	bottom: calc(var(--global-spacing)/2 + var(--footer-height)) !important;
	right: -webkit-calc(var(--global-spacing)/2) !important;
	right: -moz-calc(var(--global-spacing)/2) !important;
	right: calc(var(--global-spacing)/2) !important;
}
.cky-btn-revisit-wrapper {
	z-index: 1200 !important;
	height:3em !important;
	width:3em !important;
	font-size:1em;
	line-height:1em;
	background:var(--primary-color);
}
.cky-revisit-bottom-left {
	bottom: -webkit-calc(var(--global-spacing)/2 + var(--footer-height)) !important;
	bottom: -moz-calc(var(--global-spacing)/2 + var(--footer-height)) !important;
	bottom: calc(var(--global-spacing)/2 + var(--footer-height)) !important;
	left: -webkit-calc(var(--global-spacing)/2) !important;
	left: -moz-calc(var(--global-spacing)/2) !important;
	left: calc(var(--global-spacing)/2) !important;
}
.cky-revisit-bottom-right {
	bottom: -webkit-calc(var(--global-spacing)/2 + var(--footer-height)) !important;
	bottom: -moz-calc(var(--global-spacing)/2 + var(--footer-height)) !important;
	bottom: calc(var(--global-spacing)/2 + var(--footer-height)) !important;
	right: -webkit-calc(var(--global-spacing)/2) !important;
	right: -moz-calc(var(--global-spacing)/2) !important;
	right: calc(var(--global-spacing)/2) !important;
}
.cky-btn-revisit-wrapper .cky-btn-revisit img {
	height:2em !important;
	width:2em !important;
}

/***********************************/
/********** FOCUS-VISIBLE **********/
/***********************************/

/*
:focus == hover and keyboard
:focus-visible == tab key only
tabindex = -1 == no keyboard
*/

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

a:focus-visible {
	outline:solid;
	outline-width: var(--line-height);
	outline-offset: 0;
}
p > a:focus-visible {
	outline-offset: -webkit-calc(var(--line-height) * 2);
	outline-offset: -moz-calc(var(--line-height) * 2);
	outline-offset: calc(var(--line-height) * 2);
}

/********** BUTTONS **********/

button:focus-visible,
nav.buttons a:focus-visible,
.button:focus-visible {
	outline:none;
	background: var(--primary-color);
}

/********** PRIMARY **********/

nav.primary a:focus-visible {
	outline:none;
}
nav.primary a:focus-visible span {
	outline:solid;
	outline-width: var(--line-height);
	outline-color:var(--dark-color);
}
body.introduced nav.primary a:focus-visible span {
	outline-color:var(--bright-color);
}

/********** SECONDARY **********/

nav.secondary a:focus-visible {
	outline-offset: -webkit-calc(var(--line-height) * -1);
	outline-offset: -moz-calc(var(--line-height) * -1);
	outline-offset: calc(var(--line-height) * -1);
}
/********** CONTEXTUAL **********/

#contextual a {
	outline-offset: -webkit-calc(var(--line-height) * -1);
	outline-offset: -moz-calc(var(--line-height) * -1);
	outline-offset: calc(var(--line-height) * -1);
}

/********** GRID **********/

.grid a.event-link:focus-visible {
	outline-color: var(--primary-color);
}

/********** BANNER **********/

section.banner .swiper-slide a.infos:focus-visible {
	outline:none;
}
section.banner .swiper-slide a.infos:focus-visible .event-description span {
	-webkit-text-decoration-color: inherit;
	   -moz-text-decoration-color: inherit;
	        text-decoration-color: inherit;
}