/*
Theme Name: FRAC v20
Version: 1
Text Domain: frac
*/

/* Webfonts
------------------------------------ */

/* @font-face {
  font-family: 'KlarheitGrotesk';
  src: url('fonts/KlarheitGrotesk-Regular.woff');
  font-weight: 400;
  font-style: normal;
} */
@font-face {
	font-family: 'KlarheitGrotesk';
	src: url('fonts/KlarheitGrotesk-Medium.woff');
	font-weight: 500;
	font-style: normal;
}

@font-face {
	font-family: 'KlarheitGrotesk';
	src: url('fonts/KlarheitGrotesk-MediumItalic.woff');
	font-weight: 500;
	font-style: italic;
}

/* @font-face {
  font-family: 'KlarheitGrotesk';
  src: url('fonts/KlarheitGrotesk-Book.woff');
  font-weight: 600;
  font-style: normal;
} */



/* General
------------------------------------ */
* {
	box-sizing: border-box;
}

:focus {
	outline: none;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

	margin: 0;
	padding: 0;

	font-family: KlarheitGrotesk, Arial;

	letter-spacing: -0.02em;

	font-size: 6.4vw;
	line-height: 1.125em;

	font-weight: 500;

	--white: white;
	--black: black;
	--blue: #0029FF;
	--white-cross: url('images/white-cross.svg');

	--medium-size: 900px;
	--caption-size: 3em;

	background-color: var(--white);
	color: var(--black);
}

body.dark {
	--white: black;
	--black: white;
	--white-cross: url('images/black-cross.svg');
}

body.dark footer {
	--white: white;
	--black: black;
	--white-cross: url('images/white-cross.svg');
}


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

a:hover {}

h1,
h2,
h3 {
	font-size: inherit;
	font-weight: inherit;
}

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

svg {
	display: block;
}

strong {
	font-weight: inherit;
	color: var(--blue);
}

.hidden {
	display: none !important;
}

@media (min-width: 900px) {
	body {
		font-size: 1.6666vw;
		/* font-size: 1.25vw; */
		line-height: 1.125em;
	}
}



/* WP Blocks
------------------------------------ */

@media (min-width: 900px) {
	.wp-block-columns {
		display: flex;
	}

	.wp-block-columns .wp-block-column {
		box-sizing: border-box;
	}
}


/* Strike
------------------------------------ */
/* .strike {
  content: "";
  position: absolute;
  z-index: 23;
  left: 10.35em;
  top: 0;
  height: 100%;
  width: 0;
  border-left: 1px solid black;
  opacity: 0;
  transition: opacity 300ms;
}
@media (min-width: 900px) {
  body.full-header .strike {
    opacity: 1;
    transition: opacity 300ms 300ms;
  }
} */




/* Header
------------------------------------ */

header {
	position: fixed;
	width: 100%;
	border-bottom: 1px solid var(--black);

	overflow: hidden;
	z-index: 20;
	/* background-color: white; */
	background-color: var(--white);
}

header .header-columns {
	display: flex;
	height: 2.2917em;
	transition: height 400ms;
}




header .header-column.left {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	min-width: 0;
}

header h1 {
	font-size: 1.0em;
	line-height: 0.8888em;
	display: flex;
	margin: 0.3em 0.4165em;
	transform-origin: top left;
	transition: transform 250ms 150ms;
	letter-spacing: -0.03em;
}

@media (min-width: 900px) {
	header .header-columns {
		height: 3.75em;
	}

	header h1 {
		font-size: 1.5em;
		line-height: 0.8888em;
		margin: 0.3888em 0.5em;
	}

	body.full-header.expand-header:not(.menu-open) header .header-columns {
		height: 27.2em;
	}

	body.full-header.expand-header:not(.menu-open) header h1 {
		transform: scale(3.8889);
		transition: transform 250ms 0ms;
	}
}


header h1 span {
	/* margin: 0 0.4444em 0 0; */
	width: 4.48em;
}

header .header-content {
	font-size: 2.0833em;
	line-height: 1em;
	margin: 3.33em 0.32em 0;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	min-height: 0;
}

header .header-content p {
	margin: 0;
	flex-grow: 1;
}

header .header-content .wp-block-columns {
	/* margin-top: 4.15em; */
	margin-bottom: 0.2em;
}

header .header-content .wp-block-columns .wp-block-column {
	width: 50%;
}

header .header-column.right {
	/* display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between; */
	cursor: pointer;
	min-width: 0;
	flex-shrink: 0;
}

header a.menu-btn {
	margin: 0.3em 0.4165em 0;
	position: relative;

	transition: color 300ms;
	text-decoration: none;
	display: block;

	line-height: 0.8888em;
	font-size: 1em;
}

header a.menu-btn:hover {
	color: var(--blue);
}

@media (min-width: 900px) {
	header a.menu-btn {
		margin: 0.3em 0.75em 0;
	}
}


header a.menu-btn .close,
header a.menu-btn .open {
	transition: opacity 500ms;
}

header a.menu-btn .close {
	position: absolute;
	top: 0;
	right: 0;
	opacity: 0;
}

header a.menu-btn .close svg {
	width: 2.1em;
	height: auto;
	display: flex;
}

header a.menu-btn .close svg path {
	stroke: var(--black);
	transition: stroke 300ms;
}

header a.menu-btn:hover .close svg path {
	stroke: var(--blue);
}



header a.menu-btn.open .close {
	opacity: 1;
}

header a.menu-btn.open .open {
	opacity: 0;
}

header ul.languages {
	display: none;
}

header ul.languages li {
	display: inline-block;
	text-transform: uppercase;
}

header ul.languages li a {
	font-size: 0.75em;
	transition: color 300ms;
	text-decoration: none;
}

header ul.languages li a:hover,
header ul.languages li.current a {
	color: var(--blue);
}

@media (min-width: 900px) {
	header .header-column.right {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		justify-content: space-between;
		cursor: pointer;
		min-width: 0;
	}

	header a.menu-btn {
		margin: 0.5832em 0.75em 0;
	}

	header a.menu-btn .open {
		font-size: 1.5em;
		line-height: 0.8888em;
	}

	header ul.languages {
		margin: 0 0.75em 0.32em;
		width: 2.1em;
		display: flex;
		justify-content: space-between;
	}
}


/* Menu Popup
------------------------------------ */

.menu-popup {
	position: fixed;
	top: 2.2917em;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 25;
	overflow: auto;
	align-items: flex-end;
	display: none;
}

.menu-popup .menu-slider {
	height: 0;
	/* background-color: white; */
	background-color: var(--white);
	overflow: auto;
	display: flex;
}

.menu-popup .menu-slider .menu-content {
	display: flex;
	flex-direction: column;
}

@media (min-width: 900px) {
	.menu-popup {
		top: 3.75em;
	}
}



/* Menu Language (mobile)
------------------------------------ */
.menu-content ul.languages {
	margin: 1em 0.4165em;
}

.menu-content ul.languages li {
	display: inline-block;
	text-transform: uppercase;
}

.menu-content ul.languages li a {
	font-size: 0.75em;
	transition: color 300ms;
	text-decoration: none;
}

.menu-content ul.languages li a:hover,
.menu-content ul.languages li.current a {
	color: var(--blue);
}

@media (min-width: 900px) {
	.menu-content ul.languages {
		display: none;
	}
}


/* Menu Search
------------------------------------ */

.menu-popup .search {
	/* display: flex;
  align-items: center;
  border: 1px solid var(--black);
  border-radius: 1.125em;
  margin: 0 0.4167em;
  padding: 0 0.25em;
  box-sizing: border-box;
  height: 1.75em;
  flex-shrink: 0; */

	display: flex;
	margin: 0 0.4167em;
}

.menu-popup .search-content {
	display: flex;
	align-items: center;
	border: 1px solid var(--black);
	border-radius: 1.125em;
	padding: 0 0.25em;
	box-sizing: border-box;
	height: 1.75em;
	flex-grow: 1;
}

.menu-popup .search button {
	-webkit-appearance: none;
	appearance: none;
	background-color: transparent;
	border: none;
}

.menu-popup .search input {
	appearance: none;
	border: none;
	background-color: transparent;
	font-family: inherit;
	font-weight: inherit;
	font-size: inherit;
	line-height: 1.15em;
	padding: 0 0.25em;
	width: 100%;
}

.menu-popup .search button.search-button {
	font-size: 1em;
	font-family: inherit;
	font-weight: inherit;
	line-height: 1.3em;
	min-height: 1.5em;
	padding: 0em 0.75em;
	box-sizing: border-box;
	box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
	border-radius: 1.125em;
	border: 1px solid var(--black);
	background-color: var(--black);
	color: var(--white);
	margin-left: 0.4165em;
	cursor: pointer;
}

@media (min-width: 900px) {
	.menu-popup .search {
		margin: 0 0.75em;
		/* padding: 0 0.5em; */
	}

	.menu-popup .search button.search-button {
		display: none;
	}
}

/* Menu nav
------------------------------------ */
nav.menu-nav a:hover {
	color: #0029FF;
}

nav.menu-nav ul.menu {
	display: flex;
	flex-direction: column;
}

nav.menu-nav ul.sub-menu li a::before {
	content: "↳ ";
}

nav.menu-nav ul.sub-menu li a[href="#"]::before {
	content: none;
}

nav.menu-nav ul.sub-menu li a[href="#"]:hover {
	color: inherit !important;
}

nav.menu-nav ul.sub-menu li a[href="#"] {
	cursor: default;
	pointer-events: none;
}

.menu-popup nav.menu-nav {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}

.menu-popup nav.menu-nav ul.menu {
	flex-wrap: wrap;
	padding: 0 0 0;
}

.menu-popup nav.menu-nav ul.menu>li>a {
	font-size: 1em;
	line-height: 0.8285em;
	pointer-events: none;
}

.menu-popup nav.menu-nav ul.menu li {
	padding: 0.4167em 0.4167em;
}

.menu-popup nav.menu-nav ul.menu>li {
	border-bottom: 1px solid var(--black);
}

.menu-popup nav.menu-nav ul.menu li a {
	/* text-decoration: underline; */
	transition: color 300ms;
	text-decoration: none;
}

.menu-popup nav.menu-nav ul.menu li a:hover {
	color: var(--blue);
}

.menu-popup nav.menu-nav ul.programmation-menu {}

.menu-popup nav.menu-nav ul.menu li ul.sub-menu {
	/* line-height: 1.2083em; */
	margin: 0.4167em 0 0;

}

.menu-popup nav.menu-nav ul.menu li ul.sub-menu li {
	padding: 0;
	width: auto;
}

.menu-popup nav.menu-nav ul.menu li ul.sub-menu li a {
	font-size: 0.75em;
	line-height: 0.8285em;
}

@media (min-width: 900px) {
	nav.menu-nav ul.menu {
		flex-direction: row;
	}

	.menu-popup nav.menu-nav {
		flex-direction: row;
	}

	.menu-popup nav.menu-nav ul.menu {
		flex-wrap: wrap;
		padding: 1.5833em 0.375em 0;
	}

	.menu-popup nav.menu-nav ul.menu>li>a {
		font-size: 1.4583em;
		line-height: 0.8285em;
	}

	.menu-popup nav.menu-nav ul.menu li {
		padding: 0 0.375em;
	}

	.menu-popup nav.menu-nav ul.menu>li {
		border-bottom: none;
	}

	.menu-popup nav.menu-nav ul.main-menu li {
		width: 50%;
	}

	.menu-popup nav.menu-nav ul.programmation-menu {
		flex: 0 0 14.25em;
		border-bottom: none;
	}

	.menu-popup nav.menu-nav ul.menu li ul.sub-menu {
		line-height: 1.2083em;
		margin: 1em 0 2em;
	}

	.menu-popup nav.menu-nav ul.menu li ul.sub-menu li a {
		font-size: 1em;
		line-height: 0.8285em;
	}
}







/* Main
------------------------------------ */

main {
	padding-top: 2.2917em;
	transition: padding-top 400ms;

	box-sizing: border-box;
	min-height: 100vh;
}

@media (min-width: 900px) {
	main {
		padding-top: 3.75em;
	}

	body.full-header.expand-header main {
		padding-top: 27.2em;
		;
	}
}


/* Home Events
------------------------------------ */

main .events {
	margin-bottom: 2.3333em;

	display: flex;
	flex-direction: column;

	position: relative;
}



/* Home Events Header
------------------------------------ */

main .events .events-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: var(--blue);
	z-index: 10;

	pointer-events: none;

	transform: translateX(100%);
	transition: transform 300ms;
}

body.filters-open main .events .events-header {
	transform: translateX(0);
	pointer-events: auto;
}

@media (min-width: 900px) {
	body main .events .events-header {
		transform: translateX(0) !important;
		pointer-events: none;

	}
}

main .events .events-header .header-content {
	/* height: 2.5em; */
	display: flex;
	align-items: stretch;
	/* justify-content: space-between; */

	flex-direction: column;

	position: absolute;
	top: 2.2917em;
	bottom: 0;
	width: 100%;
	z-index: 10;

	padding: 0.4167em 0.4167em;

	gap: 0.4167em;


	/* z-index: 2; */
}

main .events .events-header .filters {
	display: flex;
	padding: 0;
	flex-direction: column;
	gap: 0.4167em;
	flex-grow: 1;
}

body.dark main .filters {
	--white: white;
	--black: black;
	--white-cross: url('images/white-cross.svg');
}

main .events .events-header .filters .filter {
	margin: 0;
	display: grid;
	grid-template-columns: 1fr 2em;
	align-items: center;
}

main .events .events-header .filters select,
main .events .events-header .filters button {
	-webkit-appearance: none;
	appearance: none;

	/* font-size: inherit; */
	font-size: 1em;
	font-weight: inherit;
	font-family: inherit;
	color: var(--black);
	line-height: 1.3em;
	width: 100%;
	min-height: 1.6666em;
	padding: 0.1875em 2.0em 0.1875em 1em;
	box-sizing: border-box;
	box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
	border-radius: 1.125em;
	border: none;
	grid-area: 1 / 1 / 2 / 3;
}

main .events .events-header .filters select {
	background-color: var(--white);
}


@media (min-width: 900px) {
	main .events .events-header {
		/* top: 0; */
		position: absolute;
		background-color: transparent;
	}

	main .events .events-header .header-content {
		height: 2.5em;
		/* display: flex; */
		align-items: center;
		justify-content: space-between;

		flex-direction: row;

		position: sticky;
		bottom: auto;
		width: auto;
		top: 3.75em;

		padding: 0;
		gap: 0;

		pointer-events: auto;
	}

	main .events .events-header .filters {
		padding: 0 0.375em;
		flex-direction: row;
		gap: 0;
	}

	main .events .events-header .filters .filter {
		margin: 0 0.375em;
		width: 8em;
	}

	main .events .events-header .filters select,
	main .events .events-header .filters button {
		font-size: 0.75em;
		line-height: 1.3em;

	}
}

main .events .events-header .filters .filter .picto {
	display: block;
	background-repeat: no-repeat;
	background-position: center;
	grid-area: 1 / 2 / 2 / 3;
	justify-self: center;
	pointer-events: none;
}

main .events .events-header .filters .filter select+.picto {
	background-image: url('images/chevron-down.svg');
	width: 1em;
	height: 1em;
}

main .events .events-header .filters .filter-item.loading .picto {
	display: block;
	background-image: none;
	width: 0.7em !important;
	height: 0.7em !important;
	border-color: var(--black) transparent var(--black) var(--black);
	border-style: solid;
	border-width: 1px;
	border-radius: 50%;
	animation: spinner 750ms linear infinite;
}

main .events .events-header .filters .filter button+.picto {
	/* background-image: url('images/white-cross.svg'); */
	background-image: var(--white-cross);
	width: 1em;
	height: 1em;
}

main .events .events-header .filters .filter-item.loading button+.picto {
	border-color: var(--white) transparent var(--white) var(--white);
}

main .events .events-header .filters button {
	background-color: var(--black);
	color: var(--white);
	text-align: left;
	padding: 0.1875em 2em 0.1875em 1em;
}

main .events .events-header .filters button div {
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}

main .events .events-header .filters select:focus,
main .events .events-header .filters button:focus {
	outline: none;
}

main .events .events-header .search,
main.search .search-header .search {
	/* border: none;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  border-radius: 1.125em;
  margin: 0;
  flex-shrink: 0;
  background-color: white; */
}

main .events .events-header .search {
	display: flex;
	padding: 0;
	flex-direction: column;
	gap: 0.4167em;
}


@media (max-width: 899px) {
	main.search .search-header .search {
		font-size: 0.75em;
	}
}

main .events .events-header .search .search-content,
main.search .search-header .search .search-content {

	display: flex;
	align-items: center;
	padding: 0 0.25em;
	height: 1.667em;

	box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
	border-radius: 1.125em;
	background-color: white;
}

@media (min-width: 900px) {

	main .events .events-header .search,
	main.search .search-header .search {
		margin: 0 0.75em;
	}

	main .events .events-header .search .search-content,
	main.search .search-header .search .search-content {
		font-size: 0.75em;
		width: 9.5833em;
	}

	main .events .events-header .search .search-button {
		display: none;
	}
}

main .events .events-header .search button,
main.search .search-header .search button {
	appearance: none;
	background-color: transparent;
	border: none;
	font-size: inherit;
}

main .events .events-header .search button svg,
main.search .search-header .search button svg {
	display: block;
	width: 1.0em;
	height: auto;
}

main .events .events-header .search input,
main.search .search-header .search input {
	appearance: none;
	border: none;
	background-color: transparent;
	font-family: inherit;
	font-weight: inherit;
	font-size: inherit;
	line-height: 1.15em;
	padding: 0 0.25em;
	width: 100%;
}


.button.close-filters,
.button.filter-button {
	box-shadow: 0px 4px 4px rgb(0 0 0 / 25%);
	border-radius: 1.125em;
	background-color: var(--white);
	padding: 0.2917em 0.3646em;
	align-self: flex-end;
	cursor: pointer;
}

.button.close-filters:hover,
.button.filter-button:hover {
	background-color: var(--black);
	color: var(--white);
}

.filters .button.close-filters {
	align-self: stretch;
	text-align: center;

	display: none;
}

@media (min-width: 900px) {
	.button.close-filters {
		display: none;
	}
}

.button.filter-button {
	display: inline-block;
	position: fixed;
	z-index: 8;
	bottom: 0.4167em;
	right: 0.3646em;
}

@media (min-width: 900px) {
	.button.filter-button {
		display: none;
	}
}

.button.search-button {
	box-shadow: 0px 4px 4px rgb(0 0 0 / 25%);
	border-radius: 1.125em;
	background-color: var(--white);
	padding: 0.2917em 0.75em;
	cursor: pointer;
}

.button.search-button:hover {
	background-color: var(--black);
	color: var(--white);
}



/* Marquee
------------------------------------ */

.marquee {
	overflow: hidden;
	white-space: nowrap;
	display: flex;
	position: relative;
}

.marquee .marquee-item {
	display: flex;
	padding-right: 2em;
	animation: marquee 30s linear infinite;
}

/* .marquee2 {
  overflow: hidden;
  white-space: nowrap;
  display: flex;
  position: relative;
}
.marquee2 .marquee-content {
  display: flex;
  animation: marquee 15s linear infinite;
} */

@keyframes marquee {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-100%);
	}
}



/* Home Events Body Title (Marquee)
------------------------------------ */

main .events .events-body h2 {
	height: 1.05em;
	font-size: 2.5em;
	line-height: 0.8em;
	margin: 0.2714em 0 0em;
}

main .events .events-body h2 div {
	letter-spacing: -0.03em;
}

@media (min-width: 900px) {
	main .events .events-body h2 {
		height: 1.05em;
		font-size: 5.8333em;
		line-height: 0.8em;
		margin: 0.1em 0 0em;
	}
}





/* Home Events Body
------------------------------------ */

main .events .events-body {
	min-height: 100vh;
	padding-top: 0;
}

main .events.no-results {
	padding: 3em 0.4167em;
}

main .events .events-body .grid {
	margin: 0 0.4167em;
	display: flex;
	flex-direction: column;
	/* gap: 0.4167em; */

}

@media (min-width: 900px) {
	main .events .events-body {
		padding-top: 3.6666em;
	}

	main .events.no-results {
		padding: 5em 0.75em;
	}

	main .events .events-body .grid {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr 1fr;
		grid-auto-rows: calc((100vw - 0.75em*2 - 0.625em*3)/4);

		grid-gap: 0.625em;
		/* -> compat old browsers */
		column-gap: 0.625em;
		row-gap: 0.625em;

		margin: 0 0.75em;
	}
}


main .events .events-body .grid .event {
	display: flex;
}

@media (max-width: 899px) {
	main .events .events-body .grid .event.size-3x2 {
		height: calc(100vh - 4.9702em);
		margin: 0 -0.4165em;
	}

	main .events .events-body .grid .event {
		margin: 0.4167em 0 0;
	}
}

main .events .events-body .grid .event-content {
	display: flex;
	width: 100%;
	height: 100%;
}

main .events .events-body .grid .event a {
	display: flex;
	flex-direction: column;
	width: 100%;
	position: relative;
	/* background-color: white; */
	background-color: var(--white);
	cursor: pointer;
}

main .events .events-body .grid .event.nolink a {
	cursor: default;
}




main .events .events-body .grid .event.white.size-2x2 a,
main .events .events-body .grid .event.white.size-3x2 a {
	color: var(--white);
	background-color: var(--black);
}

main .events .events-body .grid .event a figure {
	/* overflow: hidden; */
	margin: 0;
	min-width: 0;
	min-height: 0;
	flex-grow: 1;
	flex-shrink: 1;
}

main .events .events-body .grid .event.size-1x1 a figure {
	order: 2;
	/* height: 60%; */
}

main .events .events-body .grid .event.size-1x1 a figure,
main .events .events-body .grid .event.size-2x2 a figure,
main .events .events-body .grid .event.size-3x2 a figure {
	height: 100%;
	transition: opacity 300ms;
}

main .events .events-body .grid .event.size-1x1 a:hover figure,
main .events .events-body .grid .event.size-2x2 a:hover figure,
main .events .events-body .grid .event.size-3x2 a:hover figure {
	opacity: 0.8;
}

main .events .events-body .grid .event a figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	/* position: absolute; */
}

main .events .events-body .grid .event a .text {
	line-height: 1.05em;
	padding: 0 0 0.1666em;
	box-sizing: border-box;
	flex-grow: 0;
	flex-shrink: 0;
	min-height: 0;
}

main .events .events-body .grid .event.size-2x2 a .text,
main .events .events-body .grid .event.size-3x2 a .text {
	position: absolute;
	padding: 0.4166em 0.4165em;
}

main .events .events-body .grid .event a .text .type,
main .events .events-body .grid .event a .text .lieu {
	font-size: 0.5em;
	line-height: 1.3333em;
}

main .events .events-body .grid .event a .text .type {
	margin-top: 0.2em;
}

main .events .events-body .grid .event a .text .type u {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

main .events .events-body .grid .event a .text .title {
	font-style: italic;
	font-size: 0.6667em;
	line-height: 1.05em;
}

main .events .events-body .grid .event a .text .date {
	font-size: 0.6667em;
	line-height: 1.05em;
}

@media (min-width: 900px) {
	main .events .events-body .grid .event a .text .title {
		font-size: 1em;
		line-height: 1.05em;
	}

	main .events .events-body .grid .event a .text .date {
		font-size: 1em;
		line-height: 1.05em;
	}
}


/* Home Events Body Type Resource
------------------------------------ */

main .events .events-body .grid .event a.type-resource {
	justify-content: center;
}

main .events .events-body .grid .event a.type-resource h3 {
	/* display: flex;
  align-items: center;
  justify-content: center; */
	font-size: 1em;
	line-height: 1em;
	margin: 0;
	text-align: center;
}

main .events .events-body .grid .event.size-4x1 a.type-resource h3 {
	font-size: 2em;
	line-height: 1em;
	letter-spacing: -0.03em;
}

@media (min-width: 900px) {
	main .events .events-body .grid .event.size-4x1 a.type-resource h3 {
		font-size: 4em;
		line-height: 1em;
		letter-spacing: -0.03em;
	}
}


main .events .events-body .grid .event.size-4x1 a.type-resource {
	transition: color 300ms;
}

main .events .events-body .grid .event.size-4x1 a.type-resource h3 svg path {
	transition: fill 300ms;
}

main .events .events-body .grid .event.size-4x1 a.type-resource:hover {
	color: var(--blue);
}

main .events .events-body .grid .event.size-4x1 a.type-resource:hover h3 svg path {
	fill: var(--blue);
}

main .events .events-body .grid .event a.type-resource .play {

	margin-right: 0.1em;
}

main .events .events-body .grid .event a.type-resource .play svg {
	display: inline;
	width: auto;
	height: 0.72em;
}

main .events .events-body .grid .event a.type-resource.datatype-audio .play {
	display: inline;
	margin: 0 0.2em;
}

main .events .events-body .grid .event a.type-resource .text {
	text-align: center;
	flex-grow: 0;
}

main .events .events-body .grid .event a.type-resource .text u {
	text-underline-offset: 0.2em;
}

main .events .events-body .grid .event a.type-resource:hover .text {
	/* color: var(--blue); */
}

main .events .events-body .grid .event a.type-resource .text .type,
main .events .events-body .grid .event a.type-resource .text .lieu,
main .events .events-body .grid .event a.type-resource .text .date {
	display: inline;
	font-size: inherit;
	line-height: inherit;
	/* margin-right: 0.25em */
}

main .events .events-body .grid .event a.type-resource .text .type::after,
main .events .events-body .grid .event a.type-resource .text .lieu::after {
	content: ", ";
}




/* Home Events Body Type Special
------------------------------------ */
main .events .events-body .grid .event a.type-special .text {
	position: absolute;
	padding: 0.4166em 0.5em;

}

main .events .events-body .grid .event a.type-special figure {
	height: 14.8em;
}

@media (min-width: 900px) {
	main .events .events-body .grid .event a.type-special figure {
		height: 100%;
	}
}


/* Home Events Body Type Special Kids
------------------------------------ */

main .events .events-body .grid .event a.type-special.special-kids {
	overflow: hidden;
	/* height: 14.8em; */
}

main .events .events-body .grid .event a.type-special.special-kids figure img {
	position: absolute;
	animation: spin 8s linear infinite;
	object-fit: contain;
}

main .events .events-body .grid .event a.type-special.special-kids:hover figure img {
	animation-play-state: paused;
}

@keyframes spin {
	100% {
		transform: rotate(360deg);
	}
}






/* Single Programmation
------------------------------------ */

#event-popup {
	--white: white;
	--black: black;

	color: var(--black);
}


#event-popup .event-content.open {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 30;
	/* background-color: white; */
	background-color: var(--white);
	overflow: auto;
}


/* Single Programmation Header
------------------------------------ */

#event-popup .event-header {
	display: flex;
	padding: 0.4165em;
	position: relative;
	width: 100%;
	z-index: 100;
}

#event-popup .event-header nav {
	flex-grow: 1;
}

#event-popup .event-header nav.event-submenu ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.2em;
}

#event-popup .event-header nav.event-submenu ul li {
	margin: 0;
}

#event-popup .event-header nav.event-submenu ul li a {
	display: block;
	line-height: 1.3em;
	padding: 0.25em 1.0em;
	box-sizing: border-box;
	box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
	border-radius: 1.125em;
	border: none;
	/* background-color: white; */
	background-color: var(--white);
	font-size: 0.666em;

	/* transition: background-color 300ms, color 300ms; */
}

@media (min-width: 900px) {
	#event-popup .event-header {
		padding: 0.54166em 0.5em 0;
		position: fixed;
	}

	#event-popup .event-header nav.event-submenu ul {
		gap: 0;
	}

	#event-popup .event-header nav.event-submenu ul li {
		margin: 0 0.25em;
	}

	#event-popup .event-header nav.event-submenu ul li a {
		font-size: 0.75em;
	}
}

#event-popup .event-header nav.event-submenu ul li a:hover {
	background-color: var(--black);
	color: var(--white);
}

#event-popup .event-header nav h1 {
	/* -> index, accessibilite */
	font-size: 4em;
	line-height: 1em;
	margin: 0;
}

#event-popup .event-header .control {
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

@media (min-width: 900px) {
	#event-popup .event-header .control {
		margin: 0 0.25em;
	}
}

#event-popup .event-header .control a.close {
	cursor: pointer;
}

#event-popup .event-header .control a.close svg {
	width: 2.1em;
	height: auto;
}

@media (min-width: 900px) {
	#event-popup .event-header .control a.close svg {
		width: 2.1em;
		height: auto;
	}
}

#event-popup .event-header .control a.close svg path {
	transition: stroke 300ms;
}

#event-popup .event-header .control a.close:hover svg path {
	stroke: var(--blue);
}

#event-popup .event-header .control ul.language {
	display: none;
}

@media (min-width: 900px) {
	#event-popup .event-header .control ul.language {
		margin: 0.1em 0 0;
		display: flex;
		justify-content: space-between;
		text-transform: uppercase;
		width: 2.1em;
	}

	#event-popup .event-header .control ul.language li a {
		font-size: 0.75em;
		line-height: 1em;
		transition: color 300ms;
		text-decoration: none;
	}

	#event-popup .event-header .control ul.language li a:hover,
	#event-popup .event-header .control ul.language li.current a {
		color: var(--blue);
	}
}


/* Single Programmation Body
------------------------------------ */

#event-popup .event-body .title {
	height: 12.5em;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 0 0.4165em;
}

#event-popup .event-body .title h1,
#event-popup .event-body .title h2 {
	margin: 0;
	font-size: 2em;
	line-height: 0.8714em;
	text-align: center;
	letter-spacing: -0.03em;
}

/* #event-popup .event-body a {
  text-decoration: underline;
}
#event-popup .event-body a:hover {
  color: var(--blue);
} */



#event-popup .event-body .title .info {
	display: block;
	font-size: 0.75em;
	line-height: 1.3333em;
	padding: 0 1em;
	text-align: center;
	margin-top: 0.5em;
}

@media (min-width: 900px) {
	#event-popup .event-body .title {
		height: 25em;
		padding: 0 0.75em;
	}

	#event-popup .event-body .title h1,
	#event-popup .event-body .title h2 {
		font-size: 5.8333em;
		line-height: 0.8714em;
	}

	#event-popup .event-body .title .info {
		font-size: 1.5em;
		line-height: 1.3333em;
		padding: 0;
		text-align: left;
	}
}

#event-popup .event-body .title .info div {
	display: inline;
}

#event-popup .event-body .title .info div::after {
	content: ", ";
}

#event-popup .event-body .title .info div:last-child::after {
	content: none;
}

/* Content */


#event-popup .event-body .content {
	line-height: 1.125em;
	margin: 0 0.4165em;
}

@media (min-width: 900px) {
	#event-popup .event-body .content {
		margin: 0 0.75em;
	}
}

#event-popup .event-body .detail .content {
	margin: 0;
}

#event-popup .event-body .content h2,
#event-popup .event-body .content h3 {
	margin: 1em 0.75em;
}

#event-popup .event-body .content p {
	margin-top: 0;

	line-height: 1.125em;
	font-size: 0.75em;
}

#event-popup .event-body .content.accessibilite-content {
	margin: 0 0.4165em;
}

#event-popup .event-body .content ul {
	list-style-type: disc;
	padding: 0 0 0 1.3rem;
}

#event-popup .event-body .content ul li {
	line-height: 1.125em;
	font-size: 0.75em;
}

@media (min-width: 900px) {
	#event-popup .event-body .content.accessibilite-content {
		margin: 0 0.75em;
	}

	#event-popup .event-body .content p {
		line-height: 1.125em;
		font-size: 1em;
	}

	#event-popup .event-body .content ul li {
		line-height: 1.125em;
		font-size: 1em;
	}
}

#event-popup .event-body .edition-column.content-column a,
#event-popup .event-body .content a {
	text-decoration: underline;
	text-underline-offset: 0.1em;
	transition: color 300ms;
}

#event-popup .event-body .edition-column.content-column a:hover,
#event-popup .event-body .content a:hover {
	color: var(--blue);
	text-decoration: none;
}

#event-popup .event-body .content .wp-block-columns {
	margin: 0;
}

#event-popup .event-body .content .wp-block-columns .wp-block-column {
	/* padding: 0 0.4167em; */
}

@media (min-width: 900px) {
	#event-popup .event-body .content .wp-block-columns {
		/* margin: 0 0.375em; */
	}

	#event-popup .event-body .content .wp-block-columns .wp-block-column {
		padding: 0 0.375em;
		flex-basis: 50%;
	}

	#event-popup .event-body .content .wp-block-columns .wp-block-column:first-child {
		padding-left: 0;
	}

	#event-popup .event-body .content .wp-block-columns .wp-block-column:last-child {
		padding-right: 0;
	}
}

#event-popup .event-body .content .wp-block-columns .wp-block-column p {
	padding: 0;
}

/* #event-popup .event-body .content .wp-block-columns .wp-block-column h3 {
  margin: 1em 0 0.5em;
  border-bottom: 1px solid var(--black);
  padding: 0 0 0.5em;
  text-transform: uppercase;
} */
#event-popup .event-body .content h3 {
	margin: 1em 0 0.5em;
	border-bottom: 1px solid var(--black);
	padding: 0 0 0.5em;
	text-transform: uppercase;
}

#event-popup .event-body .content .wp-block-columns .wp-block-column h3::before {
	content: "● ";
}

#event-popup .event-body .content figure {
	margin: 1em 0.4165em 1em;
}

@media (min-width: 900px) {
	#event-popup .event-body .content figure {
		margin: 0 3.5417em 1em;
	}
}

#event-popup .event-body .content .wp-block-columns .wp-block-column figure {
	/* margin: 0 0 1em; */
	margin: 0 0 1em;
}

#event-popup .event-body .content figure img {
	width: 100%;
	height: auto;
	display: block;
}

#event-popup .event-body .content figcaption {
	font-size: 0.5417em;
	line-height: 1.15em;
	text-align: center;
	padding: 0.4em 0 1.3em;
	background-color: white;
}

#event-popup .event-body .content .wp-block-image.size-large {
	margin: 0 0 1em;
}

#event-popup .has-small-font-size {
	font-size: 0.6667em;
	line-height: 1.125em;
}



/* Details */

#event-popup .event-body .detail {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding-bottom: 1em;
}

#event-popup .event-body .detail p {
	margin-top: 0;

	line-height: 1.125em;
	font-size: 0.75em;
}

#event-popup .event-body .detail .detail-column {
	padding: 0 0.375em;
}

#event-popup .event-body .detail .detail-column h3 {
	text-transform: uppercase;
	border-bottom: 1px solid var(--black);
	padding: 0 0 0.5em;
	margin: 1.125em 0 0.5em;

	line-height: 1.125em;
	font-size: 0.75em;
}

#event-popup .event-body .detail ul li {
	line-height: 1.125em;
	font-size: 0.75em;
}

@media (min-width: 900px) {
	#event-popup .event-body .detail {
		flex-direction: row;
		margin: 0 0.375em;
		padding-bottom: 1em;
	}

	#event-popup .event-body .detail p {
		line-height: 1.125em;
		font-size: 1em;
	}

	#event-popup .event-body .detail ul li {
		line-height: 1.125em;
		font-size: 1em;
	}

	#event-popup .event-body .detail .detail-column {
		width: 50%;
		padding: 0 0.375em;
	}

	#event-popup .event-body .detail .detail-column h3 {
		line-height: 1.125em;
		font-size: 1em;
	}
}

#event-popup .event-body .detail .detail-column .info-pratique-columns {
	display: flex;
	margin: 0 -0.375em;
}

#event-popup .event-body .detail .detail-column .info-pratique-columns .info-pratique-column {
	width: 50%;
	padding: 0 0.375em;
}

#event-popup .event-body .detail ul.downloads li a::before {
	content: "↳ ";
}

#event-popup .event-body .placeholder {
	flex-grow: 1;
}

#event-popup .event-body .detail ul li a {
	color: var(--black);
	text-decoration: none;
	/* text-underline-offset: 0.075em; */
}

#event-popup .event-body .detail ul li a:hover {
	color: var(--blue);
	/* text-decoration: none; */
}


/* page sections */
#event-popup .event-body .single-section {}

#event-popup .event-body .single-section .anchor {
	display: block;
	margin-top: -1px;
	height: 1px;
	pointer-events: none;
}

@media (min-width: 900px) {
	#event-popup .event-body .single-section .anchor {
		margin-top: -2.5em;
		height: 2.5em;
	}
}

/* Réservation */

#event-popup .event-body .reservation {
	margin: 0 0.75em;
}

@media (max-width: 899px) {
	#event-popup .event-body .reservation {
		margin: 0 0.4165em;
	}
}

#event-popup .event-body.reservation-body .title h1 {
	font-size: 4em;
	line-height: 0.9em;
}



#event-popup .event-body .detail ul.accessibites {
	display: flex;
}

#event-popup .event-body .detail ul.accessibites li figure {
	margin: 0 0.5em 0 0;
}

#event-popup .event-body .detail ul.accessibites li img {
	height: 2em;
	width: auto;
}



#event-popup .event-body.page-body .title h1 {
	font-size: 2em;
	line-height: 0.9em;
}

@media (min-width: 900px) {
	#event-popup .event-body.page-body .title h1 {
		font-size: 4em;
		line-height: 0.9em;
	}
}




/* Tags */

#event-popup .event-body .tags {
	display: flex;
	padding: 4em 0 0.75em;
	line-height: 1.125em;
	/* border-bottom: 1px solid var(--black); */
}

#event-popup .event-body .tags ul {
	display: block;
	margin: 0 0.4167em;
}

@media (min-width: 900px) {
	#event-popup .event-body .tags ul {
		margin: 0 0.75em;
	}
}

#event-popup .event-body .tags ul li {
	display: inline;
}

#event-popup .event-body .tags ul li:first-child {
	margin-right: 0.4em;
}

#event-popup .event-body .tags ul li::after {
	content: ", ";
}

#event-popup .event-body .tags ul li:first-child::after {
	content: none;
}

#event-popup .event-body .tags ul li:last-child::after {
	content: none;
}

#event-popup .event-body .tags ul li a {
	color: #0029FF;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 0.075em;
	transition: color 400ms;

}

#event-popup .event-body .tags ul li a:hover {
	color: var(--black);
	text-decoration: none;
}

/* Accessibilite relations */
#event-popup .event-body .accessibilites {
	/* border-bottom: 1px solid var(--black); */
	padding-bottom: 1em;
}

#event-popup .event-body .accessibilites .index-content {
	margin: 0 0.75em;
}

#event-popup .event-body .accessibilites ul {
	display: flex;
}

#event-popup .event-body .accessibilites ul li {
	margin-right: 1em;
}

#event-popup .event-body .accessibilites ul li figure {
	margin: 0;
}

#event-popup .event-body .accessibilites ul li img {
	width: 2em;
	height: auto;
	display: block;
}

#event-popup .event-body .accessibilites ul li a {
	color: #0029FF;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 0.075em;
	transition: color 400ms;

}

#event-popup .event-body .accessibilites ul li a:hover {
	color: var(--black);
	text-decoration: none;
}

/* Programmation associée */

#event-popup .event-body .programmation {
	padding-bottom: 1em;
	/* border-bottom: 1px solid var(--black); */
	border-top: 1px solid var(--black);
}

#event-popup .event-body .programmation-content {
	margin: 0 0.4167em;
	display: flex;
	flex-direction: column;
	/* position: relative; */
}

#event-popup .event-body h2 {
	font-size: 1.4583em;
	line-height: 1.04em;
	margin: 0.34em 0 0.1em;
}

#event-popup .event-body .programmation-content .slider-content {
	position: relative;
}

#event-popup .event-body .programmation-content ul {
	display: flex;
	margin: 0 -0.25em;
	overflow: auto;
}

#event-popup .event-body .programmation-content ul li {
	width: 25vw;
	height: 75vw;
	padding: 0.25em 0.25em;
	display: flex;
	flex-direction: column;
	min-width: 75%;
	transition: transform 300ms;
}

@media (min-width: 900px) {
	#event-popup .event-body .programmation-content {
		margin: 0 0.75em;
	}

	#event-popup .event-body h2 {
		font-size: 2.0833em;
		line-height: 1.04em;
		margin: 0.34em 0 0.1em;
	}

	#event-popup .event-body .programmation-content ul {
		overflow: hidden;
	}

	#event-popup .event-body .programmation-content ul li {
		height: 25vw;
		min-width: 25%;
	}
}

#event-popup .event-body .programmation-content ul li a {
	display: flex;
	flex-direction: column;
	min-height: 0;
	flex-grow: 1;
}

#event-popup .event-body .programmation .info {
	line-height: 1em;

}

#event-popup .event-body .programmation .info .date,
#event-popup .event-body .programmation .info .programmation-title {
	font-size: 0.75em;
	line-height: 1.1em;
}

@media (min-width: 900px) {

	#event-popup .event-body .programmation .info .date,
	#event-popup .event-body .programmation .info .programmation-title {
		font-size: 1em;
		line-height: inherit;
	}
}

#event-popup .event-body .programmation .info .type,
#event-popup .event-body .programmation .info .lieu {
	font-size: 0.5em;
	line-height: 1.1428em;
}

#event-popup .event-body .programmation figure {
	margin: 0.1666em 0 0;
	/* height: 60%; */
	overflow: hidden;
	flex-grow: 1;
}

#event-popup .event-body .programmation a figure {
	transition: opacity 300ms;
}

#event-popup .event-body .programmation a:hover figure {
	opacity: 0.8;
}

#event-popup .event-body .programmation figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

@media (min-width: 900px) {

	#event-popup .event-body .slider .nav-left,
	#event-popup .event-body .slider .nav-right {
		position: absolute;
		width: 3em;
		height: 3em;
		display: flex;
		align-items: center;
		justify-content: center;
		bottom: 3.3333em;
		cursor: pointer;
	}

	#event-popup .event-body .slider .nav-left {
		left: 0.9167em;
	}

	#event-popup .event-body .slider .nav-right {
		right: 0.9167em;
	}

	#event-popup .event-body .slider .nav-left .arrow,
	#event-popup .event-body .slider .nav-right .arrow {
		width: 2.0833em;
		height: 2.0833em;
		border-top: 1px solid black;
		border-right: 1px solid black;
	}

	#event-popup .event-body .slider .nav-left:hover .arrow,
	#event-popup .event-body .slider .nav-right:hover .arrow {
		border-top-color: var(--white);
		border-right-color: var(--white);
	}

	#event-popup .event-body .slider .nav-left .arrow {
		transform: rotate(-135deg);
	}

	#event-popup .event-body .slider .nav-right .arrow {
		transform: rotate(45deg);
	}
}


/* Index liées */
#event-popup .event-body .relations.index-section {
	padding-bottom: 1em;
	/* border-bottom: 1px solid var(--black); */
	border-top: 1px solid var(--black);
}

#event-popup .event-body .relations .index-content {
	margin: 0 0.4167em;
}

#event-popup .event-body .relations .index-content ul li {
	display: inline;
}

#event-popup .event-body .relations .index-content ul li:not(:last-child)::after {
	content: ", ";
}

#event-popup .event-body .relations .index-content ul li a {
	color: var(--blue);
}

#event-popup .event-body .relations .index-content ul li a:hover {
	color: var(--black);
}

@media (min-width: 900px) {
	#event-popup .event-body .relations .index-content {
		margin: 0 0.75em;
	}
}




/* Ressources liées */

#event-popup .event-body .resource {
	padding-bottom: 1em;
	/* border-bottom: 1px solid var(--black); */
	border-top: 1px solid var(--black);
}

#event-popup .event-body .resource-content {
	margin: 0 0.4165em;
	display: flex;
	flex-direction: column;
}

#event-popup .event-body .resource-content ul {
	display: flex;
	margin: 0 -0.25em;
	overflow: auto;
}

#event-popup .event-body .resource-content ul li {
	width: 75%;
	min-width: 75%;
	min-height: 75vw;
	min-height: 48vw;
	padding: 0.25em 0.25em;
	display: flex;
}

@media (min-width: 900px) {
	#event-popup .event-body .resource-content {
		margin: 0 0.75em;
	}

	#event-popup .event-body .resource-content ul li {
		width: 25%;
		/* height: 25vw; */
		height: 16vw;
		min-height: 0;
		min-width: 0;
	}

	#event-popup .event-body .resource-content ul {
		overflow: visible;
		flex-wrap: wrap;
	}
}

#event-popup .event-body .resource-content .frame {
	border: 1px solid var(--black);

	padding: 0 0.75em;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	transition: color 300ms;
}

#event-popup .event-body .resource-content a:hover {
	color: var(--blue);
}

#event-popup .event-body .resource-content h3 {
	margin: 0;
	/* font-size: 1.5em;
  line-height: 1.04em; */
	font-size: 1.0em;
	line-height: 1.125em;
	display: flex;
}

@media (min-width: 900px) {
	#event-popup .event-body .resource-content h3 {
		/* font-size: 2.0833em;
    line-height: 1.04em; */

		font-size: 1.0em;
		line-height: 1.125em;
	}
}

#event-popup .event-body .resource-content .frame .text {
	font-size: 0.5em;
	line-height: 1.1em;
	margin-top: 0.5em;
}

#event-popup .event-body .resource-content h3 img {
	display: block;
	width: 1.4em;
	height: auto;
}

#event-popup .event-body .resource-content h3 div {
	text-align: center;
	/* width: 80%; */
	/* padding: 0 0.75em; */
}


/* Presse */

#event-popup .event-body .press {
	padding-bottom: 1em;
	/* border-bottom: 1px solid var(--black); */
	border-top: 1px solid var(--black);
}

#event-popup .event-body .press-content {
	margin: 0 0.4165em;
	display: flex;
	flex-direction: column;
}

#event-popup .event-body .press-content ul {
	display: flex;
	margin: 0 -0.25em;
	overflow: auto;
}

#event-popup .event-body .press-content ul li {
	width: 33.3333%;
	min-width: 75%;
	padding: 0.25em 0.25em;
	display: flex;
	flex-direction: column;
}

#event-popup .event-body .press-content .slider-content {
	position: relative;
}

#event-popup .event-body .press-content .slider-content ul li {
	transition: transform 300ms;
}

@media (min-width: 900px) {
	#event-popup .event-body .press-content {
		margin: 0 0.75em;
	}

	#event-popup .event-body .press-content ul {}

	#event-popup .event-body .press-content ul li {
		width: 25%;
		min-width: 25%;
		padding: 0.25em 0.25em;
		display: flex;
		flex-direction: column;
	}
}

#event-popup .event-body .press-content .date {
	font-size: 0.5833em;
	line-height: 1.7142em;
}

#event-popup .event-body .press-content .description {
	margin-bottom: 0.5em;
	flex-grow: 1;
}

#event-popup .event-body .press-content a {
	display: inline-block;
	align-self: flex-start;
	line-height: 1.3em;
	font-size: 0.75em;
	padding: 0.25em 0.5em;
	box-sizing: border-box;
	border-radius: 1.125em;
	border: 1px solid var(--black);
	background-color: var(--black);
	color: var(--white);
}

#event-popup .event-body .press-content a:hover {
	background-color: var(--white);
	color: var(--black);
}


/* Editions */

#event-popup .event-body .edition {
	padding-bottom: 1em;
	/* border-bottom: 1px solid var(--black); */
	border-top: 1px solid var(--black);
}

#event-popup .event-body .edition-content {
	margin: 0 0.4167em;
	display: flex;
	flex-direction: column;
}

#event-popup .event-body .edition-content ul {
	display: flex;
	margin: 0 -0.25em;
}

@media (max-width: 899px) {
	#event-popup .event-body .edition-content ul {
		overflow: auto;
	}
}

#event-popup .event-body .edition-content ul li {
	width: 75%;
	padding: 0.25em 0.25em;
	display: flex;
	flex-direction: column;
	min-width: 0;
	flex-shrink: 0;
}

@media (min-width: 900px) {
	#event-popup .event-body .edition-content {
		margin: 0 0.75em;
	}

	#event-popup .event-body .edition-content ul {
		overflow: auto;
		flex-wrap: wrap;
	}

	#event-popup .event-body .edition-content ul li {
		width: 25%;
	}
}

#event-popup .event-body .edition-content figure {
	margin: 0 0 0.25em;
	padding-bottom: 100%;
	position: relative;
	background-color: #C4C4C4;
	opacity: 1;
	transition: opacity 300ms;
}

#event-popup .event-body .edition-content a:hover figure {
	opacity: 0.8;
}

#event-popup .event-body .edition-content figure img {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	padding: 1em;
}

#event-popup .event-body .edition-content .edition-title {
	font-style: italic;
	line-height: 1.125em;
}

#event-popup .event-body .edition-content .author {
	line-height: 1.125em;
}

#event-popup .event-body .edition-content .edition-title,
#event-popup .event-body .edition-content .author {
	transition: color 300ms;
}

#event-popup .event-body .edition-content a:hover .edition-title,
#event-popup .event-body .edition-content a:hover .author {
	color: var(--blue);
}

#event-popup .event-body .edition-content .description {
	font-size: 0.5833em;
	line-height: 1.2em;
	margin-top: 1.5em;
}

@media (min-width: 900px) {
	#event-popup .event-body .edition-content .description {
		font-size: 0.5833em;
		line-height: 1.2em;
	}
}

#event-popup .event-body .edition-content .edition-info {
	display: flex;
	justify-content: space-between;
	margin-top: 1em;
}

#event-popup .event-body .edition-content .edition-info .edition-info-column {}

#event-popup .event-body .edition-content .edition-info .link,
#event-popup .event-body .edition-content .edition-info .autre-info {
	display: block;
	font-size: 0.5833em;
	line-height: 1.0em;
}

#event-popup .event-body .edition-content .edition-info .plus {
	display: block;
	width: 1.75em;
	height: 1.75em;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--black);
	border-radius: 50%;
}


/* Index */

#event-popup .event-body .title.index-title {
	height: auto;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	padding: 0.4165em 0.4165em 0;
}

@media (min-width: 900px) {
	#event-popup .event-body .title.index-title {
		padding: 0.75em 0.75em 0;
	}
}

#event-popup .index-body .lien {
	padding: 0.5em 0.75em 2.5em;
}

#event-popup .index-body .lien a {
	text-decoration: underline;
	text-underline-offset: 0.075em;
	word-break: break-word;
	transition: color 300ms;
}

@media (max-width: 899px) {
	#event-popup .index-body .lien a {
		font-size: 0.75em;
		line-height: 1.1em;

	}
}

#event-popup .index-body .lien a:hover {
	color: var(--blue);
}

/* #event-popup .index-body figure.media-container {
  height: 20.8333em;
  display: flex;
  justify-content: center;
} */
/* #event-popup .index-body figure.media-container img {
  height: 100%;
  width: auto;
  display: block;
} */

#event-popup .media {
	display: flex;
	flex-direction: column;
	align-items: center;
	/* justify-content: center; */

	/* border-bottom: 1px solid black; */
	padding-bottom: 2em;

}

#event-popup .media .media-container {
	margin: 0;
	flex-grow: 1;
	display: flex;
	justify-content: center;
	width: 100%;
	max-width: 52.5em;
	/* 1260px */
}

#event-popup .media .caption {
	font-size: 0.5833em;
	line-height: 1.1667em;
	max-width: 60em;
	padding: 0.2em 0.75em;
}

@media (max-width: 899px) {
	#event-popup .media .caption {
		padding: 0.2em 0.714em;
	}
}


#event-popup .media-container figure {
	margin: 0;
}

#event-popup .media-container .slideshow {
	position: relative;
	width: 100%;
	/* -> slideshow page index (https://www.fraclorraine.org/nouveausite2021/en/index/ouassila-arras/) */
}

#event-popup .media-container .slideshow figure {
	background-color: var(--white);
}

#event-popup .media-container figure img {
	display: block;
	width: 100%;
	height: 20em;
	object-fit: contain;
	object-position: center;
}

#event-popup .media-container figure.slideshow,
#event-popup .media-container figure.slideshow img {
	height: 20em;
}

#event-popup .media-container figure.slideshow.portrait,
#event-popup .media-container figure.slideshow.portrait img {
	height: 20em;
}

@media (max-width: 899px) {
	#event-popup .media-container figure {
		padding: 0 0.4165em;
	}

	#event-popup .media-container figure img {
		height: 12em;
	}

	#event-popup .media-container figure img.panorama {
		object-fit: cover;
	}

	#event-popup .media-container figure.slideshow,
	#event-popup .media-container figure.slideshow img {
		height: 12em;
	}

	#event-popup .media-container figure.slideshow.portrait,
	#event-popup .media-container figure.slideshow.portrait img {
		height: 14em;
	}
}



#event-popup .index-body .title h1 {
	font-size: 2em;
	line-height: 0.9em;
}

@media (min-width: 900px) {
	#event-popup .index-body .title h1 {
		font-size: 4em;
		line-height: 0.9em;
	}
}






/* Single Kids
------------------------------------ */

#event-popup .event-body .kids section {

	padding: 0.75em 0;
	margin: 0;
	/* border-bottom: 1px solid var(--black); */
	/* border-top: 1px solid var(--black); */
}

#event-popup .event-body .kids section:not(:first-child) {
	border-top: 1px solid var(--black);
}

#event-popup .event-body .kids section h2 {
	display: block;
	font-size: 1em;
	line-height: 1.04em;
	margin: 0 0 0em;
	padding: 0 0 0.7em;
}

@media (min-width: 900px) {
	#event-popup .event-body .kids section h2 {
		font-size: 2.0833em;
		padding: 0;
	}
}

#event-popup .event-body .kids section .date {
	margin: 0 0 0.5em;
}

#event-popup .event-body .kids section p {
	padding: 0;
	/* reset */
}

#event-popup .event-body .kids h3::before {
	content: "● ";
}

#event-popup .event-body .kids section figure {
	display: block;
	margin: 0;
}

#event-popup .event-body .kids section figure img {
	display: block;
	width: 100%;
	height: auto;
}


/* Single Edition
------------------------------------ */

#event-popup .event-body .edition-header {
	/* height: 15em; */
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 0 0 0.4165em;
}

@media (min-width: 900px) {
	#event-popup .event-body .edition-header {
		/* height: 28em; */
		padding: 4em 0;
	}
}

#event-popup .event-body .edition-header-media {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	width: 100%;
	min-width: 0;
	min-height: 0;
}

#event-popup .event-body .edition-header-media .media-container {
	flex-grow: 1;
}

#event-popup .event-body .edition-header-media .caption {
	font-size: 0.5833em;
	line-height: 1.1667em;
	max-width: 60em;
	padding: 0.2em 0.75em;
	align-self: center;
}


/* #event-popup .event-body .edition-header figure {
  margin: 0;
  height: 100%;
  width: 100%;
  display: flex;
  justify-content: center;
  background-color: white;
} */
/* #event-popup .event-body .edition-header figure.slideshow {
  padding-bottom: 0 !important;
}
#event-popup .event-body .edition-header figure img {
  display: block;
  height: auto !important;
  width: 100% !important;
  min-height: 0;
  object-fit: contain !important;
} */
#event-popup .event-body .edition-columns {
	display: flex;
	flex-direction: column;
	margin: 0;
}

#event-popup .event-body .edition-columns .edition-column {
	padding: 0 0.4165em;
}

#event-popup .event-body .edition-columns .edition-column.detail-column {
	line-height: 1.125em;
}

@media (min-width: 900px) {
	#event-popup .event-body .edition-columns {
		flex-direction: row;
		margin: 0 0.375em;
	}

	#event-popup .event-body .edition-columns .edition-column {
		padding: 0 0.375em;
	}

	#event-popup .event-body .edition-columns .edition-column.detail-column {
		width: 25%;
	}
}

/* #event-popup .event-body .edition-columns .edition-column.detail-column .editeur {
  margin-top: 1em;
} */
#event-popup .event-body .edition-columns .edition-column.detail-column .edition-title {
	font-style: italic;
}

#event-popup .event-body .edition-columns .edition-column.detail-column .lien {
	margin-top: 1em;
}

#event-popup .event-body .commander {
	margin-bottom: 1em;
	display: inline-block;
	line-height: 1.3em;
	padding: 0.25em 1.5em;
	box-sizing: border-box;
	border-radius: 1.125em;
	border: none;
	background-color: var(--black);
	color: var(--white);
	cursor: pointer;
	border: 1px solid var(--black);

	align-self: flex-start;
}

#event-popup .event-body .edition-columns .edition-column.detail-column .autre {
	margin-bottom: 1em;
}

#event-popup .event-body .commander.disabled {
	background-color: var(--white);
	color: var(--black);
	cursor: default;
}

#event-popup .event-body .commander:hover {
	background-color: var(--white);
	color: var(--black);
}

#event-popup .event-body .edition-columns .edition-column.content-column {
	line-height: 1.125em;
}

#event-popup .event-body .edition-columns .edition-column.content-column p {
	margin-top: 0;
	font-size: 0.75em;
	line-height: 1.125em;
}

#event-popup .event-body .edition-columns .edition-column.content-column ul li {
	font-size: 0.75em;
	line-height: 1.125em;
}

#event-popup .event-body .edition-columns .edition-column.detail-column .edition-title,
#event-popup .event-body .edition-columns .edition-column.detail-column .author,
#event-popup .event-body .edition-columns .edition-column.detail-column .lien,
#event-popup .event-body .edition-columns .edition-column.detail-column .autre,
#event-popup .event-body .edition-columns .edition-column.detail-column .autre {
	font-size: 0.75em;
	line-height: 1.125em;
}

@media (min-width: 900px) {
	#event-popup .event-body .edition-columns .edition-column.content-column {
		width: 75%;
	}

	#event-popup .event-body .edition-columns .edition-column.detail-column .edition-title,
	#event-popup .event-body .edition-columns .edition-column.detail-column .author,
	#event-popup .event-body .edition-columns .edition-column.detail-column .lien,
	#event-popup .event-body .edition-columns .edition-column.detail-column .autre {
		font-size: 1em;
		line-height: 1.125em;
	}

	#event-popup .event-body .edition-columns .edition-column.content-column p {
		font-size: 1em;
		line-height: 1.125em;
	}

	#event-popup .event-body .edition-columns .edition-column.content-column ul li {
		font-size: 1em;
		line-height: 1.125em;
	}
}

/* Single Popup
------------------------------------ */


#event-popup .page-body .title.index-title h1 {
	text-align: left;
}

@media (min-width: 900px) {
	#event-popup .page-body .title.index-title {
		margin-right: 5em;
	}
}


/* Single Accessibilite
------------------------------------ */

.accessibilite-content {
	padding: 1em 0;
}





/* Archive
------------------------------------ */

.archives .archives-body {
	position: relative;
}

.archives .archive-saison {
	margin: 1em 0.4165em 2em;
}

.archives .archive-saison:last-child {
	margin: 1em 0.4165em 0.4165em;
}

main .archives .archive-saison h2 {
	line-height: 0.9em;
	font-size: 1em;
	height: auto;
	letter-spacing: -0.03em;
	margin-bottom: 0.1em;
}

.archives .archive-saison .archive-header {
	display: none;
}

@media (min-width: 900px) {
	.archives .archive-saison {
		margin: 0 0.75em 3em;
	}

	.archives .archive-saison:last-child {
		margin: 0 0.75em 0.75em;
	}

	main .archives .archive-saison h2 {
		line-height: 0.9em;
		font-size: 4em;
	}

	.archives .archive-saison .archive-header {
		display: flex;
		align-items: center;
		height: 1.75em;
		border-bottom: 1px solid black;
	}

	.archives .archive-saison .type {
		width: 8.8333em;
	}

	.archives .archive-saison .date {
		width: 12.25em;
	}

	.archives .archive-saison .title {
		flex-grow: 1;
	}

	.archives .archive-saison .lieu {
		width: 8.8333em;
	}
}

.archives .archive-saison .type,
.archives .archive-saison .date,
.archives .archive-saison .lieu {
	flex-shrink: 0;
}

.archives .archive-saison .type,
.archives .archive-saison .date,
.archives .archive-saison .title,
.archives .archive-saison .lieu {
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;

	font-size: 0.75em;
	line-height: 1.125em;
}

.archives .archive-saison .type,
.archives .archive-saison .date,
.archives .archive-saison .title {
	padding-right: 0.75em;
}

.archives .archive-saison ul li a {
	display: flex;
	flex-direction: column;
}

.archives .archive-saison ul li a:hover {
	color: var(--blue);
}

.archives .archive-saison ul li:not(:last-child) ul {
	padding-bottom: 1.75em;
	border-bottom: 1px solid black;
}

.archives .archive-saison ul li ul li {
	border-bottom: 1px solid black;
	margin: 0;
	padding: 0.25em 0;
}

@media (min-width: 900px) {

	.archives .archive-saison .type,
	.archives .archive-saison .date,
	.archives .archive-saison .title,
	.archives .archive-saison .lieu {
		font-size: inherit;
		line-height: 1.25em;
	}

	.archives .archive-saison ul li a {
		display: flex;
		flex-direction: row;
		align-items: center;
		height: 1.75em;
	}

	.archives .archive-saison ul li ul li {
		margin: 0;
		padding: 0;
	}
}




/* Archive nav
------------------------------------ */

.archive-nav {
	border-top: 1px solid var(--black);
	border-bottom: 1px solid var(--black);
	font-size: 2.0833em;
	line-height: 1em;
}

.archive-nav ul {
	display: flex;
	align-items: center;
	height: 1.98em;
}

.archive-nav ul li {
	margin: 0 0.36em;
}

.archive-nav ul li:first-child {
	flex-grow: 1;
}








/* Blog
------------------------------------ */

body.blog header {}

main.blog-content {
	display: grid;
	/* flex-direction: column; */
	grid-template-rows: 7.25em 10em 1fr;
	grid-template-columns: 100%;


	height: 100vh;
	min-height: 38em;
	overflow: hidden;
}

main.blog-content section.resource {
	/* flex: 0 1 25%; */
	display: flex;
}

main.blog-content section.resource figure {
	/* display: flex;
  margin: 0;
  padding: 0.5em 0; */
}

main.blog-content section.resource figure img {
	/* display: flex;
  height: 100%;
  width: auto; */
}

main.blog-content section.resource .marquee {
	/* font-size: 10vw;
  line-height: 1em; */
	overflow: visible;
}

main.blog-content section.resource .marquee .marquee-item {
	padding-right: 1em;
	display: flex;
}

main.blog-content section.resource .marquee .marquee-item figure {
	display: flex;
	/* height: calc(25vh - 0.9375em); */
	padding: 0.5em 0 0;


	margin: 0;
	/* height: 83%; */
}

main.blog-content section.resource .marquee .marquee-item figure img {
	height: 6.5em;
	width: auto;
	border: 10px solid var(--black);
}

main.blog-content section.resource .marquee .marquee-item .title {
	font-size: 7em;
	line-height: 1em;
}


main.blog-content section.collection {
	/* flex: 0 1 25%; */
	display: flex;
}

main.blog-content section.collection .collection-container {
	display: flex;
	overflow: hidden;
}

main.blog-content section.collection .collection-slideshow {
	display: flex;
	/* height: calc(25vh - 0.9375em); */
	padding: 0.5em 0;
	position: relative;
	overflow: hidden;

	user-select: none;
}

main.blog-content section.collection .collection-slideshow ul {
	display: flex;
}

main.blog-content section.collection .collection-slideshow ul li {
	display: flex;
}

main.blog-content section.collection .collection-slideshow ul li figure {
	display: flex;
	margin: 0;
}

main.blog-content section.collection .collection-slideshow ul li figure img {
	/* height: 100%; */
	height: 9em;
	width: auto;
	display: flex;

}

main.blog-content section.collection .collection-slideshow ul li figure figcaption {
	font-size: 0.5833em;
	line-height: 1em;

	width: 15em;
	white-space: break-spaces;
	padding: 0 0.5em;
	/* overflow: hidden; */

	display: flex;
	flex-direction: column;
}




main.blog-content section.collection .collection-slideshow ul li figure figcaption .title {
	max-height: 2.0em;
	overflow: hidden;
	text-overflow: ellipsis;
}

main.blog-content section.collection .collection-slideshow ul li figure figcaption .auteur,
main.blog-content section.collection .collection-slideshow ul li figure figcaption .birth_death,
main.blog-content section.collection .collection-slideshow ul li figure figcaption .title,
main.blog-content section.collection .collection-slideshow ul li figure figcaption .date,
main.blog-content section.collection .collection-slideshow ul li figure figcaption .domain {
	margin-bottom: 1em;
}

main.blog-content section.collection .collection-slideshow ul li figure figcaption .domain {
	flex-grow: 1;
}


main.blog-content section.collection .collection-slideshow ul li figure figcaption a.plus {
	border: 1px solid var(--black);
	display: flex;
	width: 2em;
	height: 2em;
	border-radius: 100%;
	align-items: center;
	justify-content: center;
	margin-top: 0.5em;
	flex-shrink: 0;
}

#cursor {
	position: absolute;
	top: 0;
	left: 0;
	width: 2em;
	height: 2em;
	z-index: 99999;
	pointer-events: none;
}

#cursor svg {
	display: block;
	width: 100%;
	height: 100%;
	transform: translate(-1em, -1em);
}

.modif-cursor,
.modif-cursor a {
	cursor: none;
}



main.blog-content section.footer {
	/* flex: 0 1 50%; */
	display: flex;
}

main.blog-content section.footer .article {
	width: 40%;
	display: flex;
	flex-direction: column;
}

main.blog-content section.footer .article figure {
	/* height: 10vh; */
	margin: 0;
	display: flex;
	padding: 0 0.5em 0;
}

main.blog-content section.footer .article figure img {
	display: block;
	width: 33.333%;
	height: auto;
	object-fit: cover;
	object-position: center;
}

main.blog-content section.footer .article .description,
main.blog-content section.footer .article .object {
	padding: 0.5em;
}

main.blog-content section.footer .article .title {
	padding: 0.5em 0.5em 0;
}

main.blog-content section.footer .article .info {
	padding: 0 0.5em;
}

main.blog-content section.footer .article .info span {
	font-size: 0.75em;
	line-height: 1.2em;
}



main.blog-content section.footer .image {
	width: 60%;
	display: flex;
	position: relative;
}

main.blog-content section.footer .image figure {
	margin: 0;
	width: 100%;
	display: flex;
	position: relative;
}

main.blog-content section.footer .image figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

main.blog-content section.footer .image figure iframe {
	width: 100%;
	height: 100%;

	border: 0;
	padding: 0;
}

main.blog-content section.footer .image figure .overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

nav.yellow {
	background-color: #FAFF00;
	position: fixed;
	display: block;
	border-radius: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 7em;
	height: 7em;
	right: 1em;
	bottom: 1em;
}

nav.yellow a {
	text-align: center;
}

nav.collection-nav {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 1em;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin: 0 calc(0.75em - 0.3em);
}

nav.collection-nav ul {
	display: flex;
	justify-content: center;
	align-items: center;
	/* flex-grow; ?? */
}

nav.collection-nav ul li {
	margin: 0 0.3em;
}

nav.collection-nav ul li a {
	display: flex;
	font-size: 1em;
	line-height: 1em;
	background-color: #FFFFFF;
	box-shadow: 8px 8px 8px rgba(0, 0, 0, 0.48);
	border-radius: 2em;
	padding: 0.3em 1em;
	/* margin: 0 0.15em; */
	cursor: pointer;

}

/* nav.collection-nav a.button.smaller { */
nav.collection-nav ul li.small a {
	font-size: 1.5em;
	line-height: 1em;
}

nav.collection-nav ul li.nowrap a {
	white-space: nowrap;
}

/* nav.collection-nav a.button:hover { */
nav.collection-nav ul li a:hover {
	background-color: var(--black);
	color: var(--white);
}

@media (max-width: 899px) {
	#cursor {
		display: none !important;
	}

	.modif-cursor {
		cursor: default !important;
	}

	.modif-cursor a {
		cursor: pointer !important;
	}

	main.blog-content {
		display: flex;
		flex-direction: column;
		height: auto;
		min-height: 0;
		overflow: visible;
	}

	main.blog-content section.resource {
		margin: 0 0.4165em;
	}

	main.blog-content section.resource .marquee {
		overflow: visible;
		white-space: normal;

		font-size: 1em;
		line-height: 1em;
	}

	main.blog-content section.resource .marquee .marquee-item {
		animation: none;
		flex-direction: column;
		align-items: flex-start;
		padding-right: 0;
	}

	main.blog-content section.resource .marquee .marquee-item:not(:first-child) {
		display: none;
	}

	main.blog-content section.resource .marquee .marquee-item figure {
		order: 2;
		/* border: none; */
		margin: 0;
		padding: 0;
		height: auto;
	}

	main.blog-content section.resource .marquee .marquee-item figure img {
		height: auto;
		width: 100%;
		border: none;
	}

	main.blog-content section.resource .marquee .marquee-item .title {
		font-size: 1.5em;
		line-height: 0.98em;
		margin: 0.2em 0;
	}

	main.blog-content section.resource {
		order: 1;
	}



	main.blog-content section.collection {
		order: 3;

	}

	main.blog-content section.collection .collection-slideshow {
		/* height: 8em; */
	}

	main.blog-content section.collection .collection-slideshow ul {
		overflow: auto;
		padding: 0 0.2165em;
	}

	main.blog-content section.collection .collection-slideshow ul li {
		margin: 0 0.2em;
	}

	main.blog-content section.collection .collection-slideshow ul li figure {
		flex-direction: column;
		align-items: flex-start;
	}

	main.blog-content section.collection .collection-slideshow ul li figure img {
		height: 7em;
	}

	main.blog-content section.collection .collection-slideshow ul li figure figcaption {
		width: auto;
		padding: 0.2em 0;
		min-width: 12em;
	}


	main.blog-content section.footer {
		flex-direction: column;
		display: none;
	}

	main.blog-content section.footer .article {
		width: auto;
	}

	main.blog-content section.footer .article figure {
		padding: 0.4165em 0.4165em 0;
	}

	main.blog-content section.footer .article .title {
		padding: 0.2165em 0.4165em 1em;
	}

	main.blog-content section.footer .image {
		width: auto;
		padding: 0 0.4165em;
	}

	main.blog-content section.footer .article figure img {
		width: 100%;
		height: auto;
		object-fit: none;
	}

	main.blog-content section.footer .article figure img:not(:first-child) {
		display: none;
	}

	main.blog-content section.footer .image figure img {
		width: 100%;
		height: auto;
		object-fit: none;
	}

	main.blog-content section.footer {
		order: 2;
	}


	nav.yellow {
		position: static;
		margin: 0.4165em;
	}


	nav.collection-nav {
		position: static;
		margin: 0 0.4165em;
		padding: 0 0 0.4165em;
	}

	nav.collection-nav ul {
		flex-grow: 1;
		flex-direction: column;
		justify-content: stretch;
		align-items: stretch;
		gap: 0.2em;
	}

	nav.collection-nav ul li {
		margin: 0;
	}

	nav.collection-nav ul li a {
		font-size: 1em;
	}

	main.blog-content section.footer .image nav {
		display: none;
	}
}





/* Index Collection
------------------------------------ */
.collection-section {
	border-top: 1px solid black;
}

.collection-section .collection-content {
	padding: 0 0.75em 1em;
}

.collection-section .collection-container {
	display: flex;
	overflow: hidden;
}

.collection-section .collection-slideshow {
	position: relative;

}

.collection-section .collection-slideshow .viewer {
	display: flex;
	overflow: hidden;
}

.collection-section .collection-slideshow ul {
	display: flex;
	padding-right: 100vw;
}

.collection-section .collection-slideshow ul li {
	display: flex;
}

.collection-section .collection-slideshow ul li figure {
	display: flex;
	margin: 0;
}

.collection-section .collection-slideshow ul li figure img {
	/* height: 100%; */
	height: 9em;
	width: auto;
	display: flex;

}

.collection-section .collection-slideshow ul li figure figcaption {
	font-size: 0.5833em;
	line-height: 1em;

	width: 15em;
	white-space: break-spaces;
	padding: 0 0.5em;
	/* overflow: hidden; */

	display: flex;
	flex-direction: column;
}

.collection-section .collection-slideshow ul li figure figcaption .collection-title {
	max-height: 2.0em;
	overflow: hidden;
	text-overflow: ellipsis;
}

.collection-section .collection-slideshow ul li figure figcaption .auteur,
.collection-section .collection-slideshow ul li figure figcaption .birth_death,
.collection-section .collection-slideshow ul li figure figcaption .collection-title,
.collection-section .collection-slideshow ul li figure figcaption .date,
.collection-section .collection-slideshow ul li figure figcaption .domain {
	margin-bottom: 1em;
}

.collection-section .collection-slideshow ul li figure figcaption .domain {
	flex-grow: 1;
}

.collection-section .collection-slideshow ul li figure figcaption a.plus {
	border: 1px solid var(--black);
	display: flex;
	width: 2em;
	height: 2em;
	border-radius: 100%;
	align-items: center;
	justify-content: center;
	margin-top: 0.5em;
	flex-shrink: 0;
	cursor: pointer;
}

.collection-section .collection-slideshow ul li figure figcaption a.plus:hover {
	background-color: var(--black);
	color: var(--white);
}

@media (max-width: 899px) {
	.collection-section .collection-content {
		padding: 0 0.4165em 1em;
	}

	.collection-section .collection-slideshow ul {
		overflow: auto;
		padding: 0;
		margin: 0 -0.2165em;
	}

	.collection-section .collection-slideshow ul li {
		margin: 0 0.2em;
	}

	.collection-section .collection-slideshow ul li figure {
		flex-direction: column;
		align-items: flex-start;
	}

	.collection-section .collection-slideshow ul li figure img {
		height: 7em;
	}

	.collection-section .collection-slideshow ul li figure figcaption {
		width: auto;
		padding: 0.2em 0;
		min-width: 12em;
	}

}













/* Navigart
------------------------------------ */

body.navigart main iframe {
	padding: 0;
	border: none;
	width: 100%;
	height: calc(100vh - 3.75em);
	display: block;
}


/* Search Page
------------------------------------ */

.search-header {
	/* height: 3.8333em; */
	padding: 0.6875em 0 0.6875em 0.75em;
	display: flex;
	align-items: center;
	position: fixed;
	width: 100%;
	z-index: 4;
}

.search-header .search-results {
	display: flex;
	align-items: center;
	flex-grow: 1;
}

.search-header .search-results label {
	margin-right: 1em;
}

.search-header .search-results button,
.search-header input {
	appearance: none;
	-webkit-appearance: none;
	font-size: inherit;
	font-family: inherit;
	font-weight: inherit;
	line-height: inherit;
	border: none;
}

.search-header .search-results input {
	margin-right: 1em;
	width: auto;
	color: #0029FF;
	text-decoration: underline;
	text-underline-offset: 0.075em;
}

.search-header .search-results a {
	display: block;
	margin-right: 1em;
	color: #0029FF;
	text-decoration: underline;
	text-underline-offset: 0.075em;
	flex-grow: 1;
}

.search-header .search-results button {
	border-radius: 1.125em;
	padding: 0.3125em 1.8em;
	background-color: var(--black);
	color: var(--white);
	cursor: pointer;
	font-size: 0.75em;
	line-height: 1.05em;
}

@media (max-width: 899px) {
	.search-header {
		position: absolute;
		padding: 0.6875em 0.4165em 0.6875em 0.4165em;
		gap: 0.4165em;
	}

	.search-header .search-results label,
	.search-header .search-results a {
		display: none;
	}
}

main.search ul.results {
	padding: 2.75em 0.75em 7.6667em;
}

@media (max-width: 899px) {
	main.search ul.results {
		padding: 2.75em 0.4165em 7.6667em;
	}
}

main.search ul.results li {
	padding: 1em 0;
}

@media (max-width: 899px) {
	main.search ul.results li {
		padding: 0.4165em 0;
	}
}

main.search ul.results li:not(:first-child) {
	border-top: 1px solid var(--black);
}

main.search ul.results li a {
	display: flex;
	height: 14.5em;
}

@media (max-width: 899px) {
	main.search ul.results li a {
		flex-direction: column;
		height: auto;
	}
}

main.search ul.results li a figure img {
	opacity: 1;
	transition: opacity 300ms;
}

main.search ul.results li a:hover figure img {
	opacity: 0.8;
}

main.search ul.results li figure {
	margin: 0;
	flex: 0 0 33.333%;
}

main.search ul.results li figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

main.search ul.results li .item-content {
	flex: 1 1 0;
	padding: 0 0 0 0.3em;
	display: flex;
	flex-direction: column;
}

@media (max-width: 899px) {
	main.search ul.results li .item-content {
		padding: 0.2em 0;
	}
}

main.search ul.results li .item-content .date,
main.search ul.results li .item-content .object,
main.search ul.results li .item-content .description,
main.search ul.results li .item-content .title {
	font-size: 1.4583em;
	line-height: 1.08em;
}

main.search ul.results li .item-content .type,
main.search ul.results li .item-content .lieu {
	font-size: 0.5833em;
	line-height: 1.15em;
}

main.search ul.results li .item-content .lieu {
	flex-grow: 1;
}

@media (max-width: 899px) {

	main.search ul.results li .item-content .type,
	main.search ul.results li .item-content .lieu,
	main.search ul.results li .item-content .content {
		/* font-size: 0.75em;
    line-height: 1.2em; */
		font-size: 0.5em;
		line-height: 1.3333em;

	}

	main.search ul.results li .item-content .date,
	main.search ul.results li .item-content .object,
	main.search ul.results li .item-content .title {
		font-size: 0.6667em;
		line-height: 1.05em;
	}
}

main.search ul.results li .item-content a.plus {
	display: flex;
	width: 1.75em;
	height: 1.75em;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--black);
	border-radius: 100%;
	align-self: flex-end;
	cursor: pointer;
	flex-shrink: 0;
}

main.search ul.results li .item-content a.plus:hover,
main.search ul.results li.hover .item-content a.plus {
	background-color: var(--black);
	color: var(--white);
}

main.search ul.results li u {
	text-underline-offset: 0.2em;
}



main.search .pagination-container {
	padding: 0 0.75em;
}

main.search .pagination-container .pagination {
	border-top: 1px solid var(--black);
	display: flex;
	align-items: center;
}

main.search .pagination-container .pagination h4 {
	margin: 0;
	font-size: 2em;
	line-height: 1.08em;
}

main.search .pagination-container .pagination h4 {
	margin: 0;
	font-size: 2em;
	line-height: 2em;
}

main.search .pagination-container .pagination ul {
	display: flex;
	justify-content: flex-end;
	flex-grow: 1;
	margin: 0 -0.3em;
}

main.search .pagination-container .pagination ul li {
	font-size: 2em;
	line-height: 2em;
	margin: 0 0.3em;
}

main.search .pagination-container .pagination ul li a {
	color: rgba(0, 0, 0, 0.5);
	cursor: pointer;
}

main.search .pagination-container .pagination ul li.active a,
main.search .pagination-container .pagination ul li a:hover {
	color: var(--black);
}

main.search .pagination-container .pagination a.next {
	margin-left: 1em;
	width: 1em;
	cursor: pointer;
}

main.search .pagination-container .pagination a.next svg {
	width: 100%;
	height: auto;
}

main.search .pagination-container .pagination a.next svg path {
	stroke: rgba(0, 0, 0, 0.5);
}

main.search .pagination-container .pagination a.next:hover svg path {
	stroke: var(--black);
}

main.search .pagination-container .pagination a.next.disabled {
	cursor: default;
	pointer-events: none;
}



/* Archives
------------------------------------ */
main.archive .archive-body {
	min-height: 100vh;
	padding-top: 3.6666em;
}

main.archive .archive-body .saison {
	padding: 1em 0.75em;

	border-bottom: 1px solid var(--black);
}

main.archive .archive-body .saison h2 {
	margin: 0;
	font-size: 4em;
	line-height: 1em;
}

main.archive .archive-body .saison-events {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -0.25em;
	padding: 2em 0 0;

}

main.archive .archive-body .saison-events a.archive-event {
	display: block;
	flex: 0 0 25%;
	height: 15.2em;
	display: flex;
	flex-direction: column;
	padding: 0.25em;
	overflow: hidden;
	cursor: pointer;
}

main.archive .archive-body .saison-events a.archive-event .archive-event-header {
	flex-grow: 1;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;

}

main.archive .archive-body .saison-events a.archive-event .date,
main.archive .archive-body .saison-events a.archive-event .object,
main.archive .archive-body .saison-events a.archive-event .description,
main.archive .archive-body .saison-events a.archive-event .title {
	/* white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden; */
}

main.archive .archive-body .saison-events a.archive-event:hover .description {
	color: blue;
}

main.archive .archive-body .saison-events a.archive-event .title {}

main.archive .archive-body .saison-events a.archive-event .type,
main.archive .archive-body .saison-events a.archive-event .lieu {
	font-size: 0.5em;
	line-height: 1.1667em;
}

main.archive .archive-body .saison-events a.archive-event figure {
	margin: 0;
	width: 100%;
	/* height: 8.25em; */
	position: relative;
	height: 0;
	padding-bottom: 62.76%;
}

main.archive .archive-body .saison-events a.archive-event figure img {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	opacity: 0.5;
}

main.archive .archive-body .saison-events a.archive-event:hover figure img {
	opacity: 1;
}



/* Footer nav
------------------------------------ */

footer nav.menu-nav {
	font-size: 0.75em;
	line-height: 1.1111em;
	margin: 0;
	min-height: 15.5555em;
	/* border-top: 1px solid black; */
	padding-top: 1em;
}

@media (min-width: 900px) {
	footer nav.menu-nav {
		display: flex;
	}
}

footer nav.menu-nav ul.menu {
	display: flex;
}

footer nav.menu-nav ul.menu.programmation-menu {
	width: 14em;
}

footer nav.menu-nav ul.menu li {
	margin: 0 0.5553em;
}

footer nav.menu-nav ul.menu.main-menu>li {
	flex: 1 1 0;
}

footer nav.menu-nav ul.menu>li>a {
	/* max-width: 9em; */
	display: inline-block;
}

footer nav.menu-nav ul.sub-menu {
	margin: 1.1111em 0;
}

@media (min-width) {
	footer nav.menu-nav ul.sub-menu {
		margin: 1.1111em 0 0;
	}
}

footer nav.menu-nav ul.menu li ul.sub-menu li {
	margin: 0;
}

@media (min-width: 900px) {
	footer nav.menu-nav ul.menu li {
		margin: 0 1em;
	}
}

@media (max-width: 899px) {
	footer nav.menu-nav {
		display: none;
	}
}


/* Default Page Navigation
------------------------------------ */

main.page nav.page-navigation {
	display: flex;
	padding: 0.54166em 0.4165em;
	flex-wrap: wrap;

	gap: 0.2em;

	width: 100%;
	z-index: 2;
}

.navigation-group {
	display: flex;
	align-items: flex-start;
}

main.page nav.page-navigation a {
	display: block;
	/* margin: 0.3em 0.1875em; */
	margin: 0;
	background-color: #FFFFFF;
	box-shadow: 0px 4px 4px rgb(0 0 0 / 25%);
	border-radius: 1.125em;
	padding: 0.25em 1em;
	font-size: 0.6666em;
	line-height: 1.3em;
}

main.page nav.page-navigation a:hover {
	background-color: var(--black);
	color: var(--white);
}

@media (min-width: 900px) {
	main.page nav.page-navigation {
		padding: 0.54166em calc(0.75em - 0.1875em);
		position: fixed;
		gap: 0;
	}

	main.page nav.page-navigation a {
		margin: 0 0.25em;
		font-size: 0.75em;
		line-height: 1.3em;
	}
}


/* Default Page
------------------------------------ */
main.page .main-content {
	padding-top: 0em;
	/* border-bottom: 1px solid black; */
}

main.page section {
	padding: 0.5em 0.4165em;

}

@media (min-width: 900px) {
	main.page .main-content {
		padding-top: 3em;

	}

	main.page section {
		padding: 0.5em 0.75em;
	}
}

/* main.page section a.anchor {
  display: block;
  margin-top: -6em;
  margin-bottom: 6em;
} */
main.page section a.anchor {
	display: block;
	margin-top: -2.7em;
	height: 2.7em;
	pointer-events: none;
}

@media (min-width: 900px) {
	main.page section a.anchor {
		margin-top: -6.5em;
		height: 6.5em;
	}
}

main.page h1 {
	font-size: 2em;
	line-height: 1.08em;
	font-weight: inherit;
	margin: 0 0 0.125em;
	letter-spacing: -0.03em;
}

@media (min-width: 900px) {
	main.page h1 {
		font-size: 4em;
		line-height: 1.08em;
	}
}

main.page h2 {
	font-size: 1em;
	line-height: 1.2em;
	font-weight: inherit;
	margin: 0 0 0.75em;
}

@media (min-width: 900px) {
	main.page h2 {
		font-size: 1.5em;
		line-height: 1.08em;
	}
}

main.page h3 {
	font-size: inherit;
	line-height: inherit;
	margin: 1em 0 0.5em;
	font-weight: inherit;
	font-size: 0.75em;

	border-bottom: 1px solid var(--black);
	padding-bottom: 0.2em;
	/* margin-bottom: 0.5em; */
	text-transform: uppercase;
}

main.pagination-title h3::before {
	content: "● ";
}

main.page p {
	margin: 0 0 1em;
	font-size: 0.75em;
	line-height: 1.25em;
}

main.page ul {
	list-style-type: disc;
	padding: 0 0 0 1.3rem;
}

main.page ul li {
	font-size: 0.75em;
	line-height: 1.25em;
	margin: 0 0 0.25em;
}

/*main.page ul li::before {
	content: "↳ ";
}*/

main.page ul li ul li {
	font-size: inherit;
	line-height: 1.25em;
}

main.page table td {
	font-size: 0.75em;
	line-height: 1.25em;
}

main.page .main-content a {
	color: rgba(0, 0, 0, 0.5);
}

body.dark main.page .main-content a {
	color: rgba(255, 255, 255, 0.5);
}

main.page .main-content a:hover,
body.dark main.page .main-content a:hover {
	color: #0029FF;
}

main.page section hr {
	border: none;
	border-bottom: 1px solid var(--black);
}

main.page section:nth-child(even) {
	/* background-color: white; */
	background-color: var(--white);
}

main.page .wp-block-buttons {
	flex-direction: column;
	align-items: flex-start;
}

main.page .wp-block-button {
	margin: 1em 0;
}

main.page .wp-block-buttons .wp-block-button {
	margin: 0 0 0.25em;
}

main.page .wp-block-button a {
	display: inline-block;
	background-color: var(--black);
	color: var(--white);
	padding: 0.3em 1em;
	border-radius: 1.5em;
	cursor: pointer;
	font-size: 1em;
	line-height: 1.2em;
}

main.page .wp-block-button a:hover {
	background-color: var(--white);
	color: var(--black);
}

@media (min-width: 900px) {
	main.page .wp-block-button a {
		font-size: 1.5em;
		line-height: 1.2em;
	}
}

main.page .wp-block-columns {
	/* margin: 0 -1.1667em; */
}

main.page .wp-block-columns .wp-block-column {
	flex: 1 0 0;
	padding: 0 1.1667em;
}

main.page .wp-block-columns .wp-block-column:first-child {
	padding-left: 0;
}

main.page .wp-block-columns .wp-block-column:last-child {
	padding-right: 0;
}

@media (max-width: 899px) {
	main.page .wp-block-columns .wp-block-column {
		padding: 0;
	}
}

/* main.page .wp-block-columns .wp-block-column h3 {
  font-size: inherit;
  line-height: inherit;
  font-weight: 500;
  margin: 1em 0 0;
  border-bottom: 1px solid black;
  padding-bottom: 0.2em;
  margin-bottom: 0.5em;
} */
main.page .wp-block-columns .wp-block-column h3 {
	/* border-bottom: 1px solid var(--black);
  padding-bottom: 0.2em;
  margin-bottom: 0.5em;
  text-transform: uppercase; */
}

main.page .wp-block-columns .wp-block-column h3:first-child {
	margin-top: 0;
}

main.page figure {
	margin: 0;
}

main.page figure img {
	width: 100%;
	height: auto;
	display: block;
}

main.page figure table {
	width: 100%;
	border-spacing: 0;
}

main.page figure table tr td {
	border-bottom: 1px solid var(--black);
	padding: 0.5em 0;
}

main.page figure table tr td:not(:first-child) {
	text-align: right;
}

main.page figure table tr:first-child td {
	border-top: 1px solid var(--black);
}

main.page figure table tr td a::before,
main.page a[href$=".pdf"]::before {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	background-image: url('images/download.svg');
	background-repeat: no-repeat;
	background-size: cover;
	margin-right: 0.25em;
	vertical-align: bottom;
}

main.page a[href$=".pdf"] {
	color: black;
}


main.page figure figcaption {
	font-size: 0.5417em;
	line-height: 1.15em;
	text-align: center;
	margin: 0.4em 0;
}


/* Residence Page
------------------------------------ */

nav .navigation-group.page-residence-navigation {
	flex-grow: 1;
}

nav .navigation-group.page-residence-menu ul {
	display: flex;
	align-items: flex-start;
}

main.page .residence-types .residence-type {
	padding: 1em 0.4165em 0;
}

main.page .residence-types .residence-type:nth-child(even) {
	/* background-color: white; */
	background-color: var(--white);
}

main.page .residence-types .residence-description {
	/* padding: 1em 0; */
}

main.page .residence-types h2 {
	font-size: 2em;
	line-height: 0.8698;
	margin: 0 0 0.25em;
}

@media (min-width: 900px) {
	main.page .residence-types .residence-type {
		padding: 1em 0.75em 0;
	}

	main.page .residence-types h2 {
		font-size: 4em;
		line-height: 0.8698;
	}
}

main.page .residence-types ul {
	/* border-bottom: 1px solid black; */
}

main.page .residence-types ul li {
	border-top: 1px solid var(--black);
	display: flex;
	padding: 0.5em 0;
	margin: 0;
}

main.page .residence-types ul li a {
	/* display: flex;
  height: 2em;
  align-items: center; */

	color: var(--black);
}

main.page .residence-types ul li .year {
	width: 4.8333em;
	flex-shrink: 0;
}

main.page .residence-types ul li ul li {
	border: none;
	padding: 0;
	display: block;
}

main.page .residence-type a.anchor {
	display: block;
	margin-top: -2.7em;
	height: 2.7em;
	pointer-events: none;
}

@media (min-width: 900px) {
	main.page .residence-type a.anchor {
		margin-top: -6.5em;
		height: 6.5em;
	}
}


/* Publication Page
------------------------------------ */

.publications-body {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	padding: 3.6666em 0 1em;
}

.publications-body .publication {
	width: 50%;
	padding: 0.4165em;
	display: flex;
	flex-direction: column;
}

@media (min-width: 900px) {
	.publications-body .publication {
		width: 25%;
		padding: 0.75em;
	}
}

.publications-body .publication .frame {
	position: relative;
	height: 0;
	padding-bottom: 100%;
}

.publications-body .publication .frame figure {
	margin: 0;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #C4C4C4;
	padding: 1em;
}

.publications-body .publication a .frame figure {
	opacity: 1;
	transition: opacity 300ms;
}

.publications-body .publication a:hover .frame figure {
	opacity: 0.8;
}

.publications-body .publication .frame figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.publications-body .publication .text {
	padding: 0.25em 0;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.publications-body .publication h3 {
	margin: 0 0 0.5em;
	font-size: 1em;
	line-height: 1.0em;
	text-overflow: ellipsis;
	overflow: hidden;
}

.publications-body .publication a .auteur,
.publications-body .publication a h3 {
	transition: color 300ms;
}

.publications-body .publication a:hover .auteur,
.publications-body .publication a:hover h3 {
	color: var(--blue);
}

.publications-body .publication .link {
	display: block;
}

.publications-body .publication .description {
	padding-bottom: 1em;
	flex-grow: 1;
}

.publications-body .publication .description,
.publications-body .publication .link,
.publications-body .publication .autre-info {
	font-size: 0.5833em;
	line-height: 1.25em;
}

@media (min-width: 900px) {

	.publications-body .publication .description,
	.publications-body .publication .link,
	.publications-body .publication .autre-info {
		font-size: 0.5833em;
		line-height: 1.1667em;
	}
}

.publications-body .publication .publication-columns {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.publications-body .publication .more {
	border: 1px solid var(--black);
	color: var(--black);
	display: flex;
	width: 1.75em;
	height: 1.75em;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
}

.publications-body .publication .more:hover {
	background-color: var(--black);
	color: var(--white);
}

/* pagination (publications)
------------------------------------ */

.publications-footer {
	position: relative;
	/* display: flex;
  flex-direction: column; */
	/* align-items: center; */
	/* border-top: 1px solid var(--black);
  padding: 0.75em 0.75em 1em; */

	/* border-bottom: 1px solid var(--black); */
}

.publications-footer .archive-pagination {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	border-bottom: 1px solid var(--black);
	padding: 0 0.4165em 0.4165em;
}

.publications-footer .pagination-title {
	flex-grow: 1;
	padding: 0.75em 0.4165em;

}

.publications-footer .pagination-title a {
	font-size: 1em;
	line-height: 1.2em;

	padding: 0.25em 1.5em;
	box-sizing: border-box;
	box-shadow: 0px 4px 4px rgb(0 0 0 / 25%);
	border-radius: 1.125em;
	border: none;
	/* background-color: white; */
	background-color: var(--black);
	color: var(--white);
	cursor: pointer;
}

.publications-footer .pagination-title a:hover {
	color: var(--black);
	background-color: var(--white);
}

.publications-footer ul {
	display: flex;
}

.publications-footer ul li {
	margin: 0 0.5em;
}

.publications-footer ul li a {
	font-size: 1em;
	line-height: 1.2em;
	color: #B0B0B0;
}

@media (min-width: 900px) {
	.publications-footer .archive-pagination {
		padding: 0 0.75em 0.75em;
	}

	.publications-footer .pagination-title {
		padding: 1.15em 0.75em;
	}

	.publications-footer .pagination-title a {
		font-size: 1.5em;
		line-height: 1.2em;
	}

	.publications-footer ul li a {
		font-size: 2.0833em;
		line-height: 1.2em;
	}
}

.publications-footer ul li.active a,
.publications-footer ul li a:hover {
	color: var(--black);
}

.publications-footer .next {
	padding-right: 0.4em;
}

.publications-footer .next a {
	display: block;
	width: 0.816em;
	height: .816em;
	cursor: pointer;
}

.publications-footer .next a .arrow {
	transform: rotate(45deg);
	width: 100%;
	height: 100%;
	border-top: 1px solid #B0B0B0;
	border-right: 1px solid #B0B0B0;
}

.publications-footer .next a:hover .arrow {
	border-color: var(--black);
}

@media (min-width: 900px) {
	.publications-footer .next a {
		width: 1.6667em;
		height: 1.6667em;
	}
}


/* Index Page
------------------------------------ */

body.page-index main.page .main-content {
	padding-top: 0;
}

section.index {
	display: flex;
}

section.index .index-main {
	flex-grow: 1;
}

section.index .index-nav {
	display: none;
	font-size: 1.5em;
	line-height: 1.0em;
	margin-top: -3.6em;
}

section.index .index-nav ul li {
	text-align: center;
	font-size: 1.0em;
	line-height: 1.0em;
	margin: 0;
}

section.index .index-nav ul li a {
	color: var(--black);
}

section.index .index-main h2 {
	font-size: 2em;
	margin: 0;
	line-height: 1.0em;
}

@media (min-width: 900px) {
	section.index .index-main h2 {
		font-size: 4em;
		line-height: 1.0em;
	}
}

section.index .index-main ul li a {
	font-size: 1.3333em;
	line-height: 1.1667em;
	color: black;
}

section.index .index-main .index-letter {
	margin-top: -3.75em;
	padding-top: 3.75em;
	padding-bottom: 1em;
}

@media (min-width: 900px) {
	section.index .index-nav {
		display: block;
	}

	section.index .index-main ul {
		column-count: 3;
		column-gap: 1em;
	}

	section.index .index-main ul li a {
		font-size: 1.5em;
		line-height: 1.1667em;
	}
}





/* Slideshow
------------------------------------ */
.wp-block-gallery {

	/* overflow: hidden; */
	/* box-sizing: content-box; */
	/* height: var(--caption-size); */
}

.wp-block-gallery.slideshow {
	position: relative;
	height: 33em;
}

.wp-block-gallery.slideshow.portrait {
	height: 33em;
}

.wp-block-columns .wp-block-column .wp-block-gallery.slideshow.panorama {
	height: 20em;
}

#event-popup .event-body .content figure.wp-block-gallery.slideshow {
	margin: 0.1em 0.75em 3em;
}

#event-popup .event-body .content .wp-block-gallery.slideshow figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

#event-popup .event-body .content .wp-block-columns .wp-block-column .wp-block-gallery.slideshow.panorama figure img {
	object-fit: cover;
}

.slideshow figure {
	margin: 0 !important;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: white;
	transition: opacity 1ms 500ms;
	opacity: 0;
	z-index: 1;
}

.slideshow.single figure {
	opacity: 1;
}

.slideshow figure.current {
	transition: opacity 500ms;

	opacity: 1;
	z-index: 2;
}


/* .wp-block-gallery figure img,
.slideshow figure img {
  display: block;
  width: 100%;
  height: calc(100% - var(--caption-size)) !important;
  object-fit: cover;
  object-position: center;
} */

/* .wp-block-gallery figure figcaption {
  position: absolute;
  width: 100%;
  background-color: var(--white);
  bottom: 0;
  min-height: var(--caption-size);
} */

/* @media (min-width: 900px) { */
.slideshow .controls .nav-left,
.slideshow .controls .nav-right {
	position: absolute;
	width: 3em;
	height: 3em;
	display: flex;
	align-items: center;
	justify-content: center;
	bottom: 0;
	top: 0;
	margin: auto 0;
	cursor: pointer;
	z-index: 99999;
}

.slideshow .controls .nav-left {
	left: 0.9167em;
}

.slideshow .controls .nav-right {
	right: 0.9167em;
}

.slideshow .controls .nav-left .arrow,
.slideshow .controls .nav-right .arrow {
	width: 2.0833em;
	height: 2.0833em;
	border-top: 1px solid black;
	border-right: 1px solid black;
}

.slideshow .controls .nav-left:hover .arrow,
.slideshow .controls .nav-right:hover .arrow {
	border-top-color: var(--white);
	border-right-color: var(--white);
}

.slideshow .controls .nav-left .arrow {
	transform: rotate(-135deg);
}

.slideshow .controls .nav-right .arrow {
	transform: rotate(45deg);
}

/* } */


@media (max-width: 899px) {
	#event-popup .event-body .content figure.wp-block-gallery.slideshow {
		margin: 0.1em 0 3em;
	}

	#event-popup .event-body .content .wp-block-columns .wp-block-column .wp-block-gallery.slideshow {
		margin: 0.1em 0 3em;
	}

	.wp-block-gallery.slideshow,
	.wp-block-columns .wp-block-column .wp-block-gallery.slideshow.panorama {
		height: 10em;
	}

	.wp-block-columns .wp-block-column .wp-block-gallery.slideshow.portrait {
		height: 16em;
	}

	#event-popup .event-body .content .wp-block-gallery.slideshow.panorama figure img {
		object-fit: cover;
	}
}





/* Réservation
------------------------------------ */

.reservation-form {
	max-width: 39em;
	margin: 0 auto;
	padding: 1em 0 1em;
}

@media (min-width: 900px) {
	.reservation-form {
		padding: 5.4167em 0 3em;
	}
}

.reservation-form ul.inputs li {
	height: 2.625em;
}

.reservation-form input.text-input {
	-webkit-appearance: none;
	appearance: none;
	font-family: inherit;
	font-weight: inherit;
	font-size: inherit;
	line-height: inherit;
	padding: 0;
	margin: 0;
	border: none;
	border-bottom: 1px solid var(--black);
	width: 100%;
	height: 100%;
}

.reservation-form textarea {
	-webkit-appearance: none;
	appearance: none;
	font-family: inherit;
	font-weight: inherit;
	font-size: inherit;
	line-height: inherit;
	padding: 0.875em 0.625em;
	margin: 2.3958em 0 0;
	border: 1px solid var(--black);
	width: 100%;
	height: 9em;
	display: block;
}

@media (min-width: 900px) {
	.reservation-form textarea {
		height: 18.0417em;
	}
}

.reservation-form .button {
	text-decoration: none;
	margin-top: 1em;
	display: inline-block;
	line-height: 1.3em;
	padding: 0.25em 1.5em;
	box-sizing: border-box;
	border-radius: 1.125em;
	border: none;
	background-color: var(--black);
	color: var(--white);
	cursor: pointer;
	border: 1px solid var(--black);
}

.reservation-form .button.disabled {
	/* background-color: var(--white);
  color: var(--black);
  cursor: default; */
}

.reservation-form .button:hover {
	background-color: var(--white);
	color: var(--black);
}

.reservation-form.success .button {
	display: none;
}

#event-popup .reservation-form .reservation-notice p {
	margin: 0;
	padding: 1em 0 0;
}

#event-popup .reservation-form .reservation-description p {
	margin: 0;
	padding: 0;
}


/* Footer
------------------------------------ */
footer {
	color: var(--black);
	background-color: var(--white);

	border-top: 1px solid var(--black);
}


/* Footer social
------------------------------------ */

.footer-social {
	display: flex;
	flex-direction: column;
	padding: 0.4167em 0;
	border-bottom: 1px solid var(--black);
}

.footer-social .right-column {}

.footer-social ul.social-networks {
	display: flex;
	padding: 0 0.4167em;
	box-sizing: border-box;
}

.footer-social ul.social-networks li {
	margin: 0 0.2em 0 0;
}

.footer-social ul.social-networks svg {
	height: 1.25em;
	width: auto;
}

.footer-social ul.menu {
	display: flex;
}

.footer-social ul.menu li {
	margin: 0 0.375em;
}

.footer-social ul.menu li a {
	font-size: 0.5em;
	line-height: 1.2em;
}

.footer-social ul.menu li a:hover {
	color: var(--blue);
}

@media (min-width: 900px) {
	.footer-social {
		display: flex;
		align-items: flex-end;
		flex-direction: row;
		padding: 0 0.375em 0.8333em;
		border-bottom: 1px solid var(--black);
	}

	.footer-social .right-column {
		width: 50%;
		padding: 0 0.375em;
	}

	.footer-social ul.social-networks {
		padding: 0;
	}

	.footer-social .newsletter-form {
		width: 50%;
	}

	.footer-social ul.menu {
		margin: 0 -0.375em -0.15em;
	}

	.footer-social ul.menu li {
		margin: 0 0.375em;
	}

	.footer-social ul.menu li a {}

	.footer-social ul.menu li a:hover {
		color: var(--blue);
	}
}


.newsletter-columns {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.4167em;
}

.newsletter-columns .newsletter-column {
	width: auto;
	padding: 0 0.375em;
	box-sizing: border-box;
}

.newsletter-columns .newsletter-column:first-child {
	flex-grow: 1;
}

.newsletter label {
	line-height: 1.4583em;
}

.newsletter input {
	appearance: none;
	border: 1px solid var(--black);
	font-family: inherit;
	font-weight: inherit;
	font-size: 1.4583em;
	line-height: 1.15em;
	padding: 0 0.1862em;
	box-sizing: border-box;
	width: 100%;
	border-radius: 0;
}

.newsletter button {
	appearance: none;
	font-size: inherit;
	font-family: inherit;
	font-weight: inherit;
	line-height: 1.3em;
	width: 100%;
	padding: 0.25em 1.5em;
	box-sizing: border-box;
	box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
	border-radius: 1.125em;
	border: none;
	/* background-color: white; */
	background-color: var(--black);
	color: var(--white);
	cursor: pointer;

}

.newsletter button:hover {
	background-color: var(--white);
	color: var(--black);
}

@media (min-width: 900px) {
	.newsletter-columns {
		display: flex;
		flex-direction: row;
		align-items: flex-end;
		gap: 0;
	}
}

main.page .main-content .newsletter-form {
	/* embed */
	margin: 0 -0.375em 1em;
}

main.page .main-content .newsletter-form .newsletter {
	font-size: 0.75em;
	line-height: 1.25em;
}

main.page .main-content .newsletter-form .newsletter input {
	background-color: transparent;
}



/* Footer Content
--------------------------------------*/

.footer-content {
	font-size: 0.75em;
	line-height: 1.1111em;
	padding: 0;
	box-sizing: border-box;
	display: flex;
	align-items: flex-end;
}

footer .footer-content {
	/* min-height: 9.5em; */
}

.footer-content .wp-block-columns {
	flex-grow: 1;
}

.footer-content .wp-block-columns .wp-block-column {
	padding: 0 0.5em;
}

.footer-content .wp-block-columns .wp-block-column .wp-block-columns {
	margin: 0 -0.25em;
}

.footer-content .wp-block-columns .wp-block-column .wp-block-columns .wp-block-column {
	padding: 0 0.25em;
	width: auto;
}

@media (min-width: 900px) {
	.footer-content {
		font-size: 0.75em;
		line-height: 1.1111em;
		padding: 0 0.5em;
	}

	.footer-content .wp-block-columns .wp-block-column {
		width: 50%;
	}

	.footer-content .wp-block-columns .wp-block-column .wp-block-columns .wp-block-column {
		padding: 0 0.375em;
	}
}

@media (max-width: 899px) {
	.footer-content {
		padding: 0.4165em 0;
		/* min-height: 0; */
	}

	.footer-content p {
		font-size: 0.8889em;
		line-height: 1.1111em;
		margin-top: 0;
	}
}

/* Spinner
--------------------------------------*/

@keyframes spinner {
	100% {
		transform: rotate(1turn);
	}
}





/* Transitions
------------------------------------ */

main .events .events-body .grid .event a {
	transition: transform 400ms, opacity 400ms;
}

main .events .events-body .grid .event a.hold {
	transform: translateY(10em);
	opacity: 0;
}

main .events .events-body .grid .event.x-1 a {
	transition: transform 400ms 50ms, opacity 400ms 50ms;
}

main .events .events-body .grid .event.x-2 a {
	transition: transform 400ms 100ms, opacity 400ms 100ms;
}

main .events .events-body .grid .event.x-3 a {
	transition: transform 400ms 150ms, opacity 400ms 150ms;
}


/* --------------------------------- */
