@charset "UTF-8";

/*
.grid [default] ==> based on grid movies items
.grid.list
.grid.events
.grid.posts

.grid.table == WIP


.grid.short : desktop 3 per row
*/

/*************************/
/*************************/
/********** WIP **********/
/*************************/
/*************************/

.grid.search .post-title {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: .25em;
}
.grid.search .post-title .post-tag {
	order: initial;
	margin: 0;
}
.grid.search .post-meta {
	justify-content: flex-start;
}
/** temp **/
.grid.seasons .thumbnail.empty {
	opacity: 0 !important;
}

/** end **/





.grid.events .post-meta {
	justify-content: space-between;
}



.grid .post-title {
	
}
.grid .post-tag {
	
	width: auto !important;
	max-width: calc(100% - 2em);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	/*color: var(--yellow-color);*/
	/*mix-blend-mode: screen;*/
}
.grid.list .post-tag {
	order: -1;
	margin: 0 0 .5em 0;
}
.grid:not(.list) .post-tag {
	position: absolute;
	z-index: 30;
	top: -3em;
	left: 1em;
	transform: translate(0%, -100%);
	margin: 1em !important;
	/*top: -1.5em;
	left: calc(50% - 1.5em);
	transform: translate(-50%, -100%);*/
	/*top: 0;
	left: 0;
	margin: 1em !important;*/
	width: auto !important;
	max-width: calc(100% - 2em);
	/*color: var(--yellow-color);*/
	/*mix-blend-mode: screen;*/
}
.grid:not(.list) .post-tags {
	position: absolute;
	z-index: 30;
	top: -3em;
	right: 1em;
	transform: translate(0%, -100%);
	margin: 1em !important;
	width: auto !important;
	max-width: calc(100% - 2em);
}
/*
.grid a.item-content:hover .post-tag {
	color: var(--dark-color);
}
*/
.grid a.item-content:hover {
	background: var(--item-background-color);
}
.grid a.item-content .thumbnail,
.grid a.item-content .infos {
	transition: all var(--duration-fast);
}



/*
.grid a.item-content:hover .thumbnail.empty {
	opacity: 0;
}
*/
.grid a.item-content:hover .infos {
	color: var(--dark-color);
	background: var(--item-background-color);
}


/*
.grid.swiperable .item:hover {
	transform: scale(1.1);
	z-index: 10;
}
*/



/*
.grid.list .infos .post-title {
	font-size: 1.5em;
}
*/

/*
.grid.events.list {
	font-size: var(--font-size);
}
*/




.grid.list.small .thumbnail {
	display: none;
}








/**************************/
/**************************/
/********** VARS **********/
/**************************/
/**************************/

.grid {
	--item-background-color: var(--yellow-color);
}

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

.grid {
	/*--grid-gap: .5rem;*/
	--item-width: calc(100% / var(--items-per-row) - var(--grid-gap) * 2);
	--item-border-radius: 0;
	--items-per-row: 1;
}
.grid.list {
	--grid-gap: .25em;
	--items-per-row: 1 !important;
}
.grid.swiperable {
	--item-width: calc(100% / var(--items-per-row));
}

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

/* grid.posts is default grid */

@media (min-width: 0px) {
	.grid {
		--items-per-row: 1;
		--grid-gap: .5em;
	}
	.grid.seasons {
		--items-per-row: 2;
		--grid-gap: .5em;
	}
}
@media (min-width: 760px) {
	.grid {
		--items-per-row: 2;
		--sticky-item-size: 2;
		--grid-gap: 1em;
	}
	.grid.gallery,
	.grid.seasons {
		--items-per-row: 4;
	}
}
@media (min-width: 1000px) {
	.grid {
		--grid-gap: 1.5em;
		--items-per-row: 3;
	}
	.grid.posts {
		--grid-gap: 1em;
	}
	.grid.events/*,
	.grid.is-festival*/ {
		--items-per-row: 2;
	}
	.grid.short-size {
		--items-per-row: 3;
	}
	.grid.productions {
		--items-per-row: 2;
	}
	.grid.seasons {
		--items-per-row: 8;
	}
}
@media (min-width: 1600px) {
	.grid.posts {
		--items-per-row: 4;
	}
	.grid.short-size {
		--items-per-row: 3;
	}
	.grid.events {
		--items-per-row: 3;
	}
}

/***************************/
/********** FLUID **********/
/***************************/

@media (max-width: 760px) {
	:root {
		--grid-fluid-height: 10rem;
	}
}
@media (min-width: 760px) {
	:root {
		--grid-fluid-height: 15rem;
	}
}
@media (min-width: 1000px) {
	:root {
		--grid-fluid-height: 20rem;
	}
}

/********************************/
/********************************/
/********** ANIMATIONS **********/
/********************************/
/********************************/

.results-item,
.grid .item {
	transition:
	opacity var(--duration-normal) var(--ease),
	transform var(--duration-normal) var(--ease);
}
.results-title,
.grid .item.off {
	transition:
	opacity var(--duration-fast) var(--ease),
	transform var(--duration-fast) var(--ease);
}

/***************************/
/***************************/
/********** GRIDS **********/
/***************************/
/***************************/

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

.grid {
	position: relative;
	width: 100%;
	font-size: calc(var(--font-size) * 1.25);
}

/***************************/
/********** ITEMS **********/
/***************************/

.grid .items {
	position: relative;
	display: grid;
	grid-auto-flow: dense;
}
.grid .items * + * {
	margin-top: 0;
}

/**************************/
/********** ITEM **********/
/**************************/

.grid .item {
	position: relative;
	display: flex;
	margin: 0;
	height: 100%;
	width: 100%;
	overflow: hidden;
	border-radius: var(--item-border-radius);
}

/**********************************/
/********** ITEM CONTENT **********/
/**********************************/

.grid .item-content {
	position: relative;
	display: flex;
	flex-direction: column;
	-webkit-box-align: center;
	align-items: center;
	height: 100%;
	width: 100%;
	margin: 0;
	padding: 0;
	background: var(--bright-color);
}
.grid .item-content > * {
	margin: 0;
}

/****************************/
/********** STATUS **********/
/****************************/

.grid .item.empty,
/*.grid.archive .item.archived,*/
.grid.types .item.archived .poster,
.grid.archive .item.archived .poster {
	opacity: .33;
}
.grid .item.not {
	opacity: .5;
}

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

.grid:not(.list) .item.sticky {
	/*order: -1;*/
	grid-column: span var(--sticky-item-size);
	grid-row: span var(--sticky-item-size);
}

/********************************/
/********** ANIMATIONS **********/
/********************************/

.grid-container.is-loading:before,
.grid.is-loading:before {
	position: fixed;
	z-index: 100;
	top: 50%;
	left: 50%;
	-webkit-transform: translate3d(-50%, -50%, 0);
	   -moz-transform: translate3d(-50%, -50%, 0);
	        transform: translate3d(-50%, -50%, 0);
}
.grid-container.is-loading .results-title,
.grid-container.is-loading .item,
.grid.is-loading .item {
	opacity: 0;
}

/****************************/
/****************************/
/********** IMAGES **********/
/****************************/
/****************************/

.grid .images {
	position: relative;
	height: 100%;
	width: 100%;
}
/********************************/
/********** THUMBNAILS **********/
/********************************/

.grid .thumbnails {
	position: absolute;
	z-index: 10;
	inset: 0;
	width: 100%;
	aspect-ratio: 16/9;
	opacity: 0;
	pointer-events: none;
}
.grid.list .thumbnails {
	height: 100%;
}
.grid a.item-content:hover .thumbnails {
	opacity: 1;
}
/*
.grid .thumbnails .thumbnail img {
	transform: scale(1.1);
}
*/
/***************************/
/***************************/
/********** INFOS **********/
/***************************/
/***************************/

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

.grid .infos {
	position: relative;
	z-index: 10;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	font-size: .75em;
	padding: 1.5em;
	margin: 0;
	width: 100%;
	/*
	color: var(--bright-color);
	background: var(--dark-color);
	*/
}
/*
.grid:not(.list) .infos {
	color: var(--bright-color);
	background: var(--dark-color);
}
*/


.grid .infos > * {
	margin: 0;
	/*padding: 0;*/
}
.grid .infos > .inline {
	justify-content: center;
}
.grid.events .infos > * {
	width: 100%;
}
.grid .infos > * + * {
	margin-top: .25em;
}
/*
.grid .infos .event-title {
	font-size: .875em;
}

.grid.events .infos .event-title + * {
	margin-top: .5em;
}
*/

/*********************************/
/********** DESCRIPTION **********/
/*********************************/

.grid .post-description {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	text-overflow: ellipsis;
	overflow: hidden;
	margin-top: 1em;
	height: 3em;
	width: 100%;
	font-size: .875em;
	line-height: 1;
	text-align: left !important;
}




.grid .thumbnail {

}


.grid .post-time {
	display: flex;
	gap: 0 1em;
}
.grid .infos .post-time > * {
	flex-basis: 0;
}
.grid .post-location {
	text-align: center;
}

.grid.events:not(.list) .post-time {
	justify-content: space-between;
}

.grid.events:not(.list) .post-location {
	flex-basis: 100%;
}


/***************************/
/***************************/
/********** SIZES **********/
/***************************/
/***************************/

/******************************/
/********** IN GRIDS **********/
/******************************/

.grid .items {
	grid-template-columns: repeat(auto-fill, minmax(var(--item-width), 1fr));
	gap: var(--grid-gap);
}
/*.grid.list .items {
	grid-template-columns: 1fr;
}*/

/***************************/
/********** SHORT **********/
/***************************/

/*
.grid.short .item {
	width: var(--item-width);
}
*/
/*****************************/
/*****************************/
/********** ACTIONS **********/
/*****************************/
/*****************************/

.grid.actions {
	/*--item-border-radius: var(--grid-gap);*/
	--item-border-radius: .5em;
}
.grid.actions .infos {
	text-align: center;
}

/****************************/
/****************************/
/********** EVENTS **********/
/****************************/
/****************************/

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

.grid.events .post-title {
	font-size: var(--grid-event-title);
}
.grid.events .infos {
	color: var(--bright-color);
	background: var(--dark-color);
}

/**************************/
/********** LIST **********/
/**************************/

.grid.list.events .item-content {
	flex-direction: row;
	align-items: stretch;
}
.grid.list.events .images {
	position: relative;
}
.grid.list.events .infos {
	flex-direction: row;
	align-items: center;
	color:currentColor;
	background: none;
}

.grid.list.events .thumbnail {
	/*height: 100%;
	width: auto;*/
	/*max-width: 10%;*/
	/*flex-basis: 15%;*/
}
.grid.list.events .post-tag {
	color: var(--dark-color);
	border-color: var(--yellow-color);
	background: var(--yellow-color);
}
.grid.list.events a.item-content:hover .post-tag {
	color: var(--yellow-color);
	border-color: var(--dark-color);
	background: var(--dark-color);
}

.grid.list.events .is-festival .post-tag {
	color: var(--yellow-color);
	border-color: var(--edition-primary-color);
	background: var(--edition-primary-color);
}
.grid.list.events .is-festival a.item-content:hover .post-tag {
	color: var(--edition-primary-color);
	border-color: var(--yellow-color);
	background: var(--yellow-color);
}
.grid.list.events .post-meta {
	justify-content: flex-start;
}




.grid.list.events .post-date.large {
	padding: 1.5em;
}



.grid.list.events .thumbnail + .infos {
	/*flex-basis: 85%;*/
}

/******************************/
/********** FESTIVAL **********/
/******************************/

.grid.is-festival,
.grid .item.is-festival {
	--item-background-color: var(--edition-secondary-color);
}
.grid.is-festival .items .infos,
.grid .items .item.is-festival .infos {
	color: var(--edition-secondary-color) ;
	background: var(--bright-color);
}

.grid.is-festival .post-title {
	font-weight: var(--font-weight-bold);
}
.grid.is-festival a.item-content:hover .infos {
	color: var(--yellow-color);
	background: var(--edition-primary-color);
}

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


@media (max-width: 760px) {
	.grid.list.events .images {
		display: none;
	}
}
@media (min-width: 0px) {
	.grid.events {
		--grid-event-title: 1.25em;
	}
	.grid.events.list .thumbnail {
		
	}
}
@media (min-width: 1000px) {
	.grid.events {
		--grid-event-title: 1.5em;
	}
	.grid.events.list .images {
		width: 20%;
	}
	.grid.events.list .infos {
		width: 80%;
	}
	.grid.events.list .post-date.large {
		width: 5%;
	}
	.grid.events.list .post-date.large + .infos {
		width: 75%;
	}
}

/*****************************/
/*****************************/
/********** SEASONS **********/
/*****************************/
/*****************************/


.grid.seasons .items:hover .item {
	filter: grayscale(1);
}
.grid.seasons .items:hover .item:hover {
	filter: grayscale(0);
}

.grid.seasons .item-content {
	background: var(--yellow-color);
}
.grid.seasons.is-festival .item-content {
	background: var(--edition-primary-color);
}

.grid.seasons .infos {
	position: absolute !important;
	z-index: 10;
	inset: 0;
	display: flex;
	justify-content: center;
	text-align: center;
	color: var(--dark-color) !important;
	background: none !important;
}





/********************************/
/********************************/
/********** GRID TABLE **********/
/********************************/
/********************************/

.grid.table .items .item {
	flex-grow: 1;
}
.grid.table .items .item .item-content {
	padding: 1.25rem;
}
.grid.table .items .item .item-content > * {
	padding:0;
}
.grid.table .items .item .item-content figure {
	max-width:6rem;
	padding-bottom:1.25rem;
}
.grid.table .items .item .item-content .infos {
	text-align:center;
}


/*************************************/
/*************************************/
/********** GRID SWIPERABLE **********/
/*************************************/
/*************************************/

/********** @MEDIA **********/
/*
@media (max-width:640px) {
	.grid.events.swiperable .items {
		flex-wrap: nowrap;
	}
}
*/
/********************************/
/********************************/
/********** GRID POSTS **********/
/********************************/
/********************************/

.grid.posts .infos {
	text-align: center;
}
.grid.posts .thumbnail {
	height: 100%;
}

/*
.grid.posts .item:hover .infos .post-description {
	display: block;
}
*/



/*
.grid.posts .post-type {
	position: absolute;
	top: 0;
	right: 0;
	font-size: var(--font-size);
	color: var(--bright-color);
	background: var(--dark-color);
	padding: 1em;
	margin: 1em;
}
*/

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

/*
.grid.gallery figure {
	position: relative;
	display: block;
	width: 100%;
	background: var(--bright-color);
}
.grid.gallery figure img {
	position:relative;
	z-index:10;
	display:block;
	height:auto;
	width:100%;
	margin:0;
}
*/
/*
.grid.gallery figure img {
	padding: var(--gallery-margin);
}
.grid.gallery figure:after {
	margin: var(--gallery-margin);
}
*/
/********** @MEDIA **********/
/*
@media (min-width:0px) {
	:root {
		--gallery-margin: .5rem;
	}
}
@media (min-width:760px) {
	:root {
		--gallery-margin: .625rem;
	}
}
*/

/*****************************/
/*****************************/
/********** RESULTS **********/
/*****************************/
/*****************************/

/**
.results > .results-items > .results-item > .results-item-content
**/

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

.results {
	display: flex;
	flex-direction: column;
	gap: calc(var(--content-spacing) * 2);
}
.results + .results {
	margin-top: var(--content-spacing);
}
.results > .results-items {
	display: flex;
	flex-direction: column;
	gap: calc(var(--content-spacing) * 2);
}
.results-item {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
}
.results-item-content {
	display: flex;
	flex-direction: column;
	gap: 0.5em;
	margin: 0;
}
.results-title {
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: baseline;
	-webkit-align-items: baseline;
	   -moz-box-align: baseline;
	    -ms-flex-align: baseline;
	        align-items: baseline;
}
.results-title > * {
	margin: 0;
}
.results-title + * {
	margin-top: 0 !important;
}
body.is-loading .results-title {
	opacity: 0;
}
.results.unavailable .results-title {
	color: var(--grey-color);
}
.results-description {
	max-width: -webkit-calc(var(--content-maxwidth) * 2 / 3);
	max-width: -moz-calc(var(--content-maxwidth) * 2 / 3);
	max-width: calc(var(--content-maxwidth) * 2 / 3);
}

/*************************/
/********** MIN **********/
/*************************/

/** cf. signatures overlay **/

.results.min {
	gap: var(--global-spacing);
}

/****************************/
/********** SWIPER **********/
/****************************/

.results.swiper-container .swiper-slide {
	opacity: 0;
}
.results.swiper-container .swiper-slide-active {
	opacity: 1;
}

/****************************/
/********** @MEDIA **********/
/****************************/
/* based on .important */

@media (min-width:0px) {
	.results-description {
		font-size: 1.125em;
	}
}
@media (min-width:1000px) {
	.results-description {
		font-size:1.25em;
	}
}