@charset "UTF-8";

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

/*
nav => default
nav.centered
*/

nav {
	display:-webkit-inline-box;
	display:-webkit-inline-flex;
	display:-moz-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
}
nav.list {
	-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 a {
	display:inline-block;
}

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

nav.centered {
	-webkit-box-pack:center;
	-webkit-justify-content:center;
	   -moz-box-pack:center;
	    -ms-flex-pack:center;
	        justify-content:center;
}

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

nav.secondary {
	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;
	white-space:nowrap;
	gap:1em;
	line-height:1em;
}

/****************************/
/****************************/
/********** SOCIAL **********/
/****************************/
/****************************/

nav.socialbar,
nav.sharebar {
	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;
	white-space:nowrap;
	gap:1em;
	line-height:1em;
}
nav.socialbar > *,
nav.sharebar > * {
	display:inline-block;
	vertical-align:middle;
}
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:hover,
nav.sharebar a:hover {
	opacity:.5;
}

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

/******************************/
/********** EXPANDED **********/
/******************************/

@media (max-width:1000px) {
	body.expanded {
		overflow:hidden;
	}
	body.expanded main {
		pointer-events:none;
		opacity:.25;
	}
	#navigation {
		opacity:0;
		position:fixed;
		z-index:1400;
		top:var(--header-height);
		left:0;
		-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;
		overflow:auto;
		height:-webkit-calc(var(--viewport-height) - var(--header-height));
		height:-moz-calc(var(--viewport-height) - var(--header-height));
		height:calc(var(--viewport-height) - var(--header-height));
		width:100%;
		margin:0;
		padding: 0 4em;
		background:var(--bright-color);
		-webkit-transform:translate3d(0,-100%,0);
		   -moz-transform:translate3d(0,-100%,0);
		        transform:translate3d(0,-100%,0);
		pointer-events: none;
	}
	body.expanded #navigation {
		opacity:1;
		-webkit-transform:translate3d(0,0,0);
		   -moz-transform:translate3d(0,0,0);
		        transform:translate3d(0,0,0);
		pointer-events: all;
	}
}

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

#navigation-expand {
	position:relative;
	z-index:1500;
	display:-webkit-inline-box;
	display:-webkit-inline-flex;
	display:-moz-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
	font-size:1.5rem;
	line-height:1em;
	height:1em;
	width:1em;
	margin:1rem;
}

/* cf. fonts.css */

#navigation-expand .icon {
	padding:0;
	-webkit-border-radius:0;
	   -moz-border-radius:0;
	        border-radius:0;
}
#navigation-expand .icon:before {
	font-family:'icomoon';
}

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

@media (min-width:1000px) {
	#navigation-expand {
		display:none;
	}
}

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

/*
in nav.primary...
.menu
.menu.collapsible (mobile only)
.has-menu > ...
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-box-align: center;
	-webkit-align-items: center;
	   -moz-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	height:100%;
	white-space: nowrap;
}
.menu > * {
	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;
	width: 100%;
	-webkit-flex-basis: 0;
	    -ms-flex-preferred-size: 0;
	        flex-basis: 0;
	position:relative;
	list-style: none;
	margin:0;
}
.menu li {
	padding-left:0;
}
.menu 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;
	-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;
	text-shadow:0 0 0;
	border:0 !important;
}
.menu a:hover,
.menu a.active {
	color:var(--primary-color);
}

/********** HAS MENU **********/

.menu .has-menu > a:not(.collapsible-toggle) {
	pointer-events:none;
}
.menu .has-menu .menu {
	height:auto;
	-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;
}
.menu .has-menu .menu > *,
.menu .has-menu .menu a {
	height:auto;
	width:100%;
}

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

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

/** mobile **/
@media (max-width:1000px) {
	/** default **/
	.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;
		-webkit-box-align:start;
		-webkit-align-items:flex-start;
		   -moz-box-align:start;
		    -ms-flex-align:start;
		        align-items:flex-start;
		gap:0;
		
	}
	.menu a {
		padding:1em 0;
	}
	/** collapsible **/
	.menu a.collapsible-toggle {
		position:absolute;
		top:.25em;
		left:-3em;
		height:3em;
		width:3em;
		padding:1em;
		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;
	}
	.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.collapsible.active {
		opacity:1;
		max-height:10em;
	}
	.menu .has-menu .menu a {
		padding:.5em 0;
	}
}

/** desktop **/

@media (min-width:1000px) {
	.menu > * {
		height: 100%;
	}
	.menu a {
		height: 100%;
		padding:1.25em;
	}
	.menu.collapsible {
		position:absolute;
		top:100%;
		left:0;
		max-height: none;
		background:var(--bright-color);
		opacity:0;
		-webkit-transform:translate3d(0,.25em,0);
		   -moz-transform:translate3d(0,.25em,0);
		        transform:translate3d(0,.25em,0);
	}
	.menu.collapsible > * {
		opacity: 1;
	}
	.menu a.collapsible-toggle {
		display:none;
		visibility:hidden;
	}
	.has-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;
		font-size:.875em;
		margin:0;
		visibility: hidden;
	}
	.has-menu:hover .menu {
		opacity:1;
		-webkit-transform:translate3d(0,0,0);
		   -moz-transform:translate3d(0,0,0);
		        transform:translate3d(0,0,0);
		visibility: visible;
	}
	.has-menu .menu a {
		width: 100%;
	}
	.has-menu .menu a:hover,
	.has-menu .menu a.active {
		color:var(--bright-color);
		background:var(--primary-color);
	}
}

/*****************************/
/*****************************/
/********** BUTTONS **********/
/*****************************/
/*****************************/
/*
text + background (:after == for hovering filter)
dark bg / light bg as default
*/

.buttons {
	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;
	-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:.5em;
}

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

.buttons a,
.button {
	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:inherit;
	font-size:.875em;
	line-height:1em;
	padding:1.5em 2em;
	text-decoration:none;
	text-transform: uppercase;
	white-space:nowrap;
	color:var(--bright-color);
	text-shadow:0 0 0;
	-webkit-border-radius: .25em;
	   -moz-border-radius: .25em;
	        border-radius: .25em;
}
.buttons a:hover,
.button:hover,
.buttons a.active,
.button.active {
	color:var(--dark-color);
	text-shadow:0 0 0;
}
.buttons a > *,
.button > * {
	margin:0;
}
.buttons a:after,
.button:after {
	content:"";
	position:absolute;
	z-index:-1;
	top:0;
	left:0;
	height:100%;
	width:100%;
	display:block;
	background:var(--primary-color);
	-webkit-border-radius: inherit;
	   -moz-border-radius: inherit;
	        border-radius: inherit;
}
.buttons a:hover:after,
.button:hover:after,
.buttons a.active:after,
.button.active:after {
	-webkit-filter:brightness(var(--lighter-brightness));
	        filter:brightness(var(--lighter-brightness));
}

/********** VARIATIONS **********/

.buttons.full {
	-webkit-flex-wrap:wrap;
	    -ms-flex-wrap:wrap;
	        flex-wrap:wrap;
}
.buttons.full a,
.button.full {
	width:100%;
	-webkit-box-flex:1;
	-webkit-flex-grow:1;
	   -moz-box-flex:1;
	    -ms-flex-positive:1;
	        flex-grow:1;
}
.button.centered {
	margin-left:auto;
	margin-right:auto;
}
.buttons.fit {
	gap:0;
}
.buttons.alt a:after,
.buttons a.alt:after,
.button.alt:after {
	background:var(--secondary-color);
}

/********** SIZES **********/
/* small / large */

.buttons.small a,
.button.small {
	font-size:.625em;
}
.buttons.large a,
.button.large {
	font-size:1em;
}

/********** IN TEXT **********/

p.button > a {
	text-decoration:none;
	border:0;
}

/********** CTA **********/

.button.cta {
	position:-webkit-sticky;
	position:sticky;
	z-index: 1000;
	left:0;
	bottom:0;
	width:100%;
	margin:0;
	-webkit-border-radius: 0;
	   -moz-border-radius: 0;
	        border-radius: 0;
}
.button.cta:after {
	background:var(--secondary-color);
}

/********************************/
/********************************/
/********** PAGINATION **********/
/********************************/
/********************************/

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

nav.pagination {
	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;
	gap:.5em;
	width:100%;
	font-size:.75em;
	line-height:1em;
	text-transform:uppercase;
}
nav.pagination .page-numbers {
	display:-webkit-inline-box;
	display:-webkit-inline-flex;
	display:-moz-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
	font-size:inherit;
	font-weight:inherit;
	text-transform:inherit;
	text-align: center;
	padding:1em;
	margin:0;
	color:inherit;
	text-shadow:0 0 0;
	-webkit-border-radius: var(--border-radius);
	   -moz-border-radius: var(--border-radius);
	        border-radius: var(--border-radius);
}
nav.pagination .page-numbers span {
	-webkit-transition: none !important;
	-o-transition: none !important;
	-moz-transition: none !important;
	transition: none !important;
}
nav.pagination .current,
nav.pagination a.active,
nav.pagination a:hover {
	color:var(--bright-color);
	background:var(--primary-color);
}

/********** PREVIOUS / NEXT **********/

nav.pagination .prev,
nav.pagination .next {
	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;
	gap:1em;
	background:var(--light-color);
}

/* cf. fonts.css */

nav.pagination .prev:before,
nav.pagination .next:after {
	font-family:'icomoon';
}
nav.pagination .prev:hover:before {
	-webkit-transform:translateX(-.25em);
	   -moz-transform:translateX(-.25em);
	    -ms-transform:translateX(-.25em);
	     -o-transform:translateX(-.25em);
	        transform:translateX(-.25em);
}
nav.pagination .next:hover:after {
	-webkit-transform:translateX(.25em);
	   -moz-transform:translateX(.25em);
	    -ms-transform:translateX(.25em);
	     -o-transform:translateX(.25em);
	        transform:translateX(.25em);
}

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