@charset "UTF-8";
/**
 * Deprecated
 * Fallback for bourbon equivalent
 */
/**
 * Deprecated
 * Vendor prefix no longer required.
 */
/**
 * Deprecated
 * Vendor prefix no longer required.
 */
/**
 * Deprecated
 * Vendor prefix no longer required.
 */
/**
 * Deprecated
 * Vendor prefix no longer required.
 */
/**
 * Deprecated
 * Vendor prefix no longer required.
 */
/**
 * Deprecated
 * Vendor prefix no longer required.
 */
/**
 * Deprecated
 * Vendor prefix no longer required.
 */
/**
 * Deprecated
 * Vendor prefix no longer required.
 */
/**
 * Deprecated
 * Vendor prefix no longer required.
 */
/**
 * Deprecated
 * Vendor prefix no longer required.
 */
/**
 * Deprecated
 * Vendor prefix no longer required.
 */
/**
 * Deprecated
 * Use bourbon mixin instead `@include transform(scale(1.5));`
 */
/**
 * Deprecated
 * Use bourbon mixin instead `@include box-sizing(border-box);`
 */
/**
 * Objects
 */
@font-face {
	font-family: "Uto";
	src: url("../fonts/utopiales_regular.woff2") format("woff2"), url("../fonts/utopiales_regular.woff") format("woff");
}
/* SEMIBOLD - UPPERCASE */
/* BOLD - UPPERCASE */
@keyframes glitch-animation {
	0% {
		clip: rect(31.5789473684px, 9999px, 44.1176470588px, 0);
	}
	5% {
		clip: rect(9.900990099px, 9999px, 55.2147239264px, 0);
	}
	10% {
		clip: rect(38.7931034483px, 9999px, 22.5px, 0);
	}
	15% {
		clip: rect(37.037037037px, 9999px, 72px, 0);
	}
	20% {
		clip: rect(54.2168674699px, 9999px, 21.6346153846px, 0);
	}
	25% {
		clip: rect(30.612244898px, 9999px, 49.4505494505px, 0);
	}
	30% {
		clip: rect(77.5862068966px, 9999px, 63.3802816901px, 0);
	}
	35% {
		clip: rect(18px, 9999px, 18px, 0);
	}
	40% {
		clip: rect(3px, 9999px, 2.25px, 0);
	}
	45% {
		clip: rect(22.5px, 9999px, 59.6026490066px, 0);
	}
	50% {
		clip: rect(51.4285714286px, 9999px, 89.1089108911px, 0);
	}
	55% {
		clip: rect(4.5px, 9999px, 41.4746543779px, 0);
	}
	60% {
		clip: rect(80.3571428571px, 9999px, 27.027027027px, 0);
	}
	65% {
		clip: rect(48.6486486486px, 9999px, 24.3243243243px, 0);
	}
	70% {
		clip: rect(65.2173913043px, 9999px, 90px, 0);
	}
	75% {
		clip: rect(9px, 9999px, 7.5px, 0);
	}
	80% {
		clip: rect(16.2162162162px, 9999px, 72px, 0);
	}
	85% {
		clip: rect(45px, 9999px, 50.8474576271px, 0);
	}
	90% {
		clip: rect(38.7931034483px, 9999px, 44.1176470588px, 0);
	}
	95% {
		clip: rect(29.702970297px, 9999px, 18px, 0);
	}
	100% {
		clip: rect(9px, 9999px, 9px, 0);
	}
}
:root {
	--vertical-spacing-tiny: 3.5em;
	--vertical-spacing-small: 4.5em;
	--vertical-spacing: 5em;
}

html, body {
	width: 100%;
	height: 100%;
	margin: 0;
}

body {
	font-family: "Open Sans";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: #fff;
	background-color: #000;
	overflow-x: hidden;
}
body.menu__open {
	overflow: hidden;
}
@media (max-width: 600px) {
	body {
		font-size: 14px;
	}
}

a {
	color: #fff;
}
a:hover, a:focus {
	text-decoration: underline;
}

h1, h2, h3, h4, h5 {
	margin: 2.2em 0 1em;
	font-family: "Uto";
	font-weight: 400;
}

h1,
.h1 {
	font-size: 7vw;
}
@media (min-width: 600px) {
	h1,
	.h1 {
		font-size: 2.4375em;
	}
}

h2,
.h2 {
	font-size: 1.375em;
}

h3,
.h3 {
	font-size: 1.125em;
}

h4,
.h4 {
	font-size: 0.875em;
}

p {
	letter-spacing: 1px;
}

button {
	cursor: pointer;
}

figure {
	margin: 0;
}

img {
	max-width: 100%;
	height: auto;
}

.app-container {
	max-width: 1220px;
	padding: 0 30px;
	margin: auto;
}

.app-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	padding: 1em 0 2em;
	font-size: 0.75em;
	background-color: transparent;
	z-index: 15;
}
.app-header__dark {
	background-color: #000;
}
.menu__open .app-header {
	height: 100%;
	background-color: #000;
	transition: background-color 0.2s ease;
	box-sizing: border-box;
}
.app-header > .app-container {
	display: flex;
	align-items: center;
	flex-direction: column;
	flex-wrap: nowrap;
	height: 100%;
}
@media (min-width: 1024px) {
	.app-header > .app-container {
		flex-direction: row;
		flex-wrap: wrap;
		height: auto;
	}
}
.app-header__branding {
	width: 100%;
	height: 60px;
	margin: 1em 0 0;
	text-align: center;
}
@media (min-width: 1024px) {
	.app-header__branding {
		flex: auto;
		width: auto;
		height: auto;
		text-align: left;
	}
}
.app-header__navigation {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	flex-grow: 100;
	width: 100%;
	height: 38px;
	margin: 1em 0 0;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	font-weight: 700;
	box-sizing: border-box;
}
.menu__open .app-header__navigation {
	display: block;
}
@media (min-width: 1024px) {
	.app-header__navigation {
		flex: auto;
		width: auto;
		height: auto;
		box-sizing: content-box;
		box-sizing: initial;
	}
}
.app-header__buttons {
	position: absolute;
	top: 4px;
	right: 0;
}
@media (min-width: 1024px) {
	.app-header__buttons {
		position: relative;
		top: 0;
	}
}
.app-header__button {
	display: block;
	text-indent: -9999px;
	position: relative;
	height: 1em;
	width: 1em;
	display: inline-block;
	vertical-align: middle;
	padding: 5px;
	border-radius: 50%;
	font-size: 16px;
	color: #000;
	background-color: #fff;
	border: none;
	margin-right: 1em;
	box-sizing: content-box;
	position: relative;
}
.app-header__button:last-child {
	margin-right: 0;
}
.app-header__button.cart-icon::before {
	font-family: "WooCommerce";
	speak: never;
	font-weight: normal;
	font-feature-settings: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	margin: 0;
	text-indent: 0;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	content: "\e01d";
	line-height: 26px;
}
.app-header__button.user-icon::before {
	font-family: "WooCommerce";
	speak: never;
	font-weight: normal;
	font-feature-settings: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	margin: 0;
	text-indent: 0;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	content: "\e03a";
	line-height: 26px;
}
.app-header__button.icon__toggle__search::before {
	font-family: "WooCommerce";
	speak: never;
	font-weight: normal;
	font-feature-settings: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	margin: 0;
	text-indent: 0;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	content: "\e024";
	line-height: 26px;
}
.app-header__cart-count {
	position: absolute;
	top: 1em;
	left: 1em;
	text-indent: 0;
	color: #000;
	background-color: #fff;
	border: 1px solid #000;
	font-size: 0.75em;
	min-width: 1em;
	line-height: 1.5;
	padding: 0 0.25em;
	border-radius: 1em;
	text-align: center;
}
.app-footer {
	max-width: 1220px;
	margin: 0 auto;
}
.app-footer > .app-container {
	display: block;
	padding: 4.125em 0;
	border-top: 1px solid #fff;
	box-sizing: border-box;
}
@media (min-width: 600px) {
	.app-footer > .app-container {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
}
.app-footer__branding {
	margin: 0 1em 1em 0;
}
.app-footer__navigation {
	margin: 0 1em 1em 0;
}
.app-footer__socials {
	font-size: 1.2em;
}
.app-footer__socials a {
	margin: 0 0 0 0.6em;
}
.app-footer__socials a:first-of-type {
	margin-left: 0;
}
.archive-content {
	margin: 0 0 7.5em;
}

.woocommerce a.button,
.woocommerce a.button.alt,
.woocommerce button.button,
.woocommerce button.button.alt,
.woocommerce button.button.alt.disabled,
.gform_wrapper .gform_footer input.button,
.gform_wrapper .gform_footer input[type=submit],
.is-style-double-border > a,
.button__primary:not(.cn-privacy-policy-link) {
	display: inline-block;
	margin: 1em 0 1em 3px;
	padding: 1em;
	font-size: 0.8125em;
	color: #000;
	text-decoration: none;
	background-color: #fff;
	border: 2px solid #000;
	border-radius: 0;
	outline: 3px solid #fff;
	font-weight: 700;
	text-transform: uppercase;
	transition: border 0.2s ease;
	cursor: pointer;
	-webkit-appearance: none;
	        appearance: none;
}
.woocommerce a.button.cn-button,
.woocommerce a.button.alt.cn-button,
.woocommerce button.button.cn-button,
.woocommerce button.button.alt.cn-button,
.woocommerce button.button.alt.disabled.cn-button,
.gform_wrapper .gform_footer input.button.cn-button,
.gform_wrapper .gform_footer input[type=submit].cn-button,
.is-style-double-border > a.cn-button,
.button__primary:not(.cn-privacy-policy-link).cn-button {
	padding-top: 0.2em;
	padding-bottom: 0.2em;
}
.woocommerce a.button:visited,
.woocommerce a.button.alt:visited,
.woocommerce button.button:visited,
.woocommerce button.button.alt:visited,
.woocommerce button.button.alt.disabled:visited,
.gform_wrapper .gform_footer input.button:visited,
.gform_wrapper .gform_footer input[type=submit]:visited,
.is-style-double-border > a:visited,
.button__primary:not(.cn-privacy-policy-link):visited {
	color: #000;
}
.woocommerce a.button:focus, .woocommerce a.button:hover,
.woocommerce a.button.alt:focus,
.woocommerce a.button.alt:hover,
.woocommerce button.button:focus,
.woocommerce button.button:hover,
.woocommerce button.button.alt:focus,
.woocommerce button.button.alt:hover,
.woocommerce button.button.alt.disabled:focus,
.woocommerce button.button.alt.disabled:hover,
.gform_wrapper .gform_footer input.button:focus,
.gform_wrapper .gform_footer input.button:hover,
.gform_wrapper .gform_footer input[type=submit]:focus,
.gform_wrapper .gform_footer input[type=submit]:hover,
.is-style-double-border > a:focus,
.is-style-double-border > a:hover,
.button__primary:not(.cn-privacy-policy-link):focus,
.button__primary:not(.cn-privacy-policy-link):hover {
	color: #000;
	border-color: #fff;
	background-color: #fff;
	transition: border 0.2s ease;
	text-decoration: none;
}

.woocommerce button.button:disabled[disabled] {
	color: #000;
	padding: 1em;
}

.big-link-target {
	position: relative;
}
.big-link-target .entry__permalink::after,
.big-link-target .big-link::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

.button__back {
	position: absolute;
	display: block;
	width: 20px;
	height: 25px;
	margin: 8em 0 0;
	color: #fff;
	border-top: 1px solid;
	border-bottom: 1px solid;
}
@media (min-width: 1024px) {
	.button__back {
		margin-top: 10em;
	}
}

.button__mobile {
	position: relative;
	display: block;
	width: 40px;
	height: 38px;
	margin: -1px 0 0;
	padding: 0;
	background-color: transparent;
	border: 1px solid #fff;
	border-left: none;
	border-right: 0;
}
.button__mobile:after {
	content: "MENU";
	display: flex;
	align-items: center;
	position: relative;
	left: 100%;
	width: 0px;
	height: 38px;
	margin: -1px 0 0;
	padding: 0 0 0 20px;
	color: #fff;
}
.menu__open .button__mobile:after {
	content: "CLOSE";
}
.button__mobile > span {
	display: block;
	position: absolute;
	top: 50%;
	width: 100%;
	height: 1px;
}
.button__mobile > span:before, .button__mobile > span:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	width: 50%;
	height: 100%;
	background-color: #fff;
	transition: all 0.2s ease;
}
.button__mobile > span:before {
	left: 0;
}
.button__mobile > span:after {
	right: 0;
}
.menu__open .button__mobile > span:before {
	left: 25%;
	transform: rotate(-45deg);
}
.menu__open .button__mobile > span:after {
	right: 25%;
	transform: rotate(45deg);
}
@media (min-width: 1024px) {
	.button__mobile {
		display: none;
	}
}

.button--reset {
	padding: 0;
	-webkit-appearance: none;
	        appearance: none;
	background-color: transparent;
	color: white;
	border: none;
}
.button--block {
	display: block;
	width: 100%;
	text-align: center;
	box-sizing: border-box;
}
.button--add {
	font-size: 1.8em;
	font-weight: bold;
	line-height: 1;
	color: #fff;
	background-color: transparent;
	border: none;
}
.button--favorite {
	cursor: pointer;
}
.button--favorite[disabled] {
	pointer-events: none;
}
.button--heart, .button--heartfull {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: auto;
	padding: 1.3333333333em;
	font-size: 0.5625em;
	font-weight: 700;
	text-decoration: none;
	color: #fff;
	background-color: #000;
	letter-spacing: 0;
	border: none;
}
.button--heart::before, .button--heartfull::before {
	display: inline-block;
	min-width: 2em;
	width: 2em;
	height: 2em;
	margin-right: 1em;
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	content: "";
}
.button--heart button, .button--heartfull button {
	border: none;
	background-color: inherit;
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
	-webkit-appearance: none;
	        appearance: none;
	cursor: inherit;
}
.button--heart a, .button--heartfull a {
	padding: 0 0.25em;
}
.button--heart button,
.button--heart a,
.button--heart span, .button--heartfull button,
.button--heartfull a,
.button--heartfull span {
	word-wrap: break-word;
	word-break: break-word;
}
.button--heart {
	cursor: pointer;
}
.button--heart::before {
	background-image: url("../svg/icon_heart.svg");
}
.button--heart:hover, .button--heart:focus, .button--heart:active {
	text-decoration: underline;
}
.button--heartfull {
	cursor: default;
}
.button--heartfull::before {
	background-image: url("../svg/icon_heartfull.svg");
}

.cn-close-icon {
	display: none;
}

.card__row:not(:last-of-type) {
	border-bottom: 2px solid #000;
}
.card__event__dark .card__row:not(:last-of-type) {
	border-color: #6F6F6F;
}
.card__event:not(.card__event__dark) {
	color: #000;
	background-color: #fff;
}
.card__event a {
	color: #000;
	text-decoration: none;
}
.card__event table {
	width: 100%;
	height: 100%;
	font-size: 0.8125em;
	border-collapse: collapse;
}
.card__event table thead {
	text-align: center;
}
.card__event table thead tr:first-of-type td {
	padding-bottom: 0;
}
.card__event table thead tr:first-of-type td ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.card__event table tbody span:first-of-type {
	font-family: "Uto";
	font-size: 0.7692307692em;
	letter-spacing: 2px;
}
.card__event table tbody span:last-of-type {
	font-weight: 700;
}
.card__event table th {
	padding: 10px 0 10px 10px;
}
.card__event table td {
	padding: 10px;
}
.card__event table td.no-padding-left {
	padding-left: 0;
}
.card__event__dark {
	margin: 2rem 0 0;
}
.card__event__others {
	margin: 2em 0 0;
}
.card__event__others p {
	font-family: "Uto";
}
.card__event__related {
	width: 100%;
	max-width: 270px;
	margin: 0 0 2rem;
}
@media (min-width: 540px) {
	.card__event__related {
		width: 45%;
	}
}
@media (min-width: 810px) {
	.card__event__related {
		width: 30%;
	}
}
@media (min-width: 810px) and (max-width: 1080px) {
	.card__event__related:nth-child(3n+2) {
		margin-left: 5%;
		margin-right: 5%;
	}
}
@media (min-width: 1080px) {
	.card__event__related {
		width: 21.25%;
	}
	.card__event__related:nth-child(4n-1) {
		margin: 0 5% 2rem 2.5%;
	}
	.card__event__related:nth-child(4n-2) {
		margin: 0 2.5% 2rem 5%;
	}
}
.card__event__related:hover h3 {
	text-decoration: underline;
}
.card__event__grid {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	padding: 10px;
	color: #000;
	background-color: beige;
	border: 2px solid #000;
	overflow: hidden;
	font-size: 1.0909090909em;
	color: #000;
	box-sizing: border-box;
	text-decoration: none;
}
.card__event__grid--title {
	margin: auto;
	font-size: 0.75em;
}
.card__event__grid hr {
	width: 100%;
	border-bottom: 0;
}
.card__event__grid ul {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 0.6666666667em;
}
.card__dedicace {
	width: 80%;
	margin: 0 auto;
	border-collapse: collapse;
}
.card__dedicace th,
.card__dedicace td {
	padding: 10px;
	border: 1px solid #6F6F6F;
}
.card__dedicace th {
	font-family: "Uto";
	font-size: 0.9230769231em;
	letter-spacing: 2px;
	text-align: left;
}
.card__dedicace td {
	font-size: 0.8125em;
}

.cookie-notice-container {
	border-top: 1px solid #fff;
}

.blog .entry--type-post {
	position: relative;
	width: 100%;
	margin: 0 auto 2rem;
	/*&:nth-of-type(even){
		align-self: flex-end;
	}*/
}
.blog .entry--type-post:last-of-type {
	margin-bottom: 0;
}
@media (min-width: 782px) {
	.blog .entry--type-post {
		width: 58%;
	}
}
@media (min-width: 1024px) {
	.blog .entry--type-post {
		width: 48%;
		margin-left: 0;
		margin-right: 0;
	}
}
.archive-exposition .entry--type-exposition {
	position: relative;
	width: 100%;
	margin: 0 0 2rem;
}
.archive-exposition .entry--type-exposition:nth-of-type(even) {
	align-self: flex-end;
}
@media (min-width: 782px) {
	.archive-exposition .entry--type-exposition {
		width: 58%;
	}
}
@media (min-width: 1024px) {
	.archive-exposition .entry--type-exposition {
		width: 48%;
		margin-left: 0;
		margin-right: 0;
	}
}
.entry--type-guest {
	width: 100%;
	max-width: 350px;
	margin: 0 0 2rem;
}
@media (min-width: 700px) {
	.entry--type-guest {
		flex: 1;
		min-width: 40%;
		max-width: 40%;
		margin-left: 5%;
		margin-right: 5%;
	}
}
@media (min-width: 1050px) {
	.entry--type-guest {
		min-width: 30%;
		max-width: 30%;
		margin-left: 0;
		margin-right: 0;
	}
	.entry--type-guest:nth-child(3n+2) {
		margin-left: 5%;
		margin-right: 5%;
	}
}
.entry--type-member {
	width: 100%;
	max-width: 300px;
	margin: 0 0 3rem;
}
@media (min-width: 600px) {
	.entry--type-member {
		flex: 1;
		min-width: 40%;
		max-width: 40%;
		margin-left: 5%;
		margin-right: 5%;
	}
}
@media (min-width: 700px) {
	.entry--type-member {
		min-width: 30%;
		max-width: 30%;
		margin-left: 0;
		margin-right: 0;
	}
	.entry--type-member:nth-child(3n+2) {
		margin-left: 5%;
		margin-right: 5%;
	}
}
@media (min-width: 1050px) {
	.entry--type-member {
		min-width: 21%;
		max-width: 21%;
		margin-left: 0;
		margin-right: 0;
	}
	.entry--type-member:nth-child(3n+2) {
		margin-left: 0;
		margin-right: 0;
	}
	.entry--type-member:nth-child(4n+2) {
		margin-left: 5.25%;
		margin-right: 2.75%;
	}
	.entry--type-member:nth-child(4n+3) {
		margin-left: 2.75%;
		margin-right: 5.25%;
	}
}
.entry__figure {
	position: relative;
	width: 100%;
}
.entry__figure:after {
	content: "";
}
.entry__thumbnail {
	position: relative;
	overflow: hidden;
}
.entry__thumbnail:before {
	content: "";
	display: block;
	padding-top: 90%;
}
.entry--type-post .entry__thumbnail:before, .entry--type-exposition .entry__thumbnail:before {
	padding-top: 45%;
}
.entry__copy {
	font-size: 0.8125em;
	font-style: italic;
}
.entry__image {
	position: absolute;
	top: 50%;
	bottom: 0;
	left: 50%;
	right: 0;
	width: 100%;
	height: auto;
	transform: translate(-50%, -50%);
	filter: grayscale(1);
}
.is-style-uto-member-color .entry__image {
	filter: none;
}
.entry__overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	background-image: linear-gradient(45deg, rgba(226, 60, 99, 0.4), rgba(145, 58, 252, 0.4), rgba(16, 11, 192, 0.4));
	transform: translate3d(0, 0, 0);
	will-change: transform;
	transition: transform 0.2s ease;
}
.entry__header {
	position: relative;
	height: 25vh;
}
.entry__header__default, .has-post-thumbnail .entry__header {
	height: 40vh;
	min-height: 300px;
}
.entry__header__default__default, .has-post-thumbnail .entry__header__default {
	height: 75vh;
}
.home .entry__header {
	height: 100vh;
}
@media (min-width: 782px) {
	.entry__header {
		height: 15em;
	}
	.entry__header__default, .has-post-thumbnail .entry__header {
		height: 25em;
		/*&__default{
			height: 44em;
		}*/
	}
	.home .entry__header {
		height: 44em;
		margin-bottom: 80px;
	}
}
.entry__header__cover {
	position: absolute;
	top: 0;
	left: 50%;
	width: 100vw;
	height: 25vh;
	background-size: cover;
	background-position: center;
	transform: translateX(-50%);
}
.entry__header__default .entry__header__cover, .has-post-thumbnail .entry__header__cover {
	height: 40vh;
	min-height: 300px;
}
.has-post-thumbnail .entry__header__default .entry__header__cover, .home .entry__header__cover {
	height: 100vh;
}
@media (min-width: 782px) {
	.entry__header__cover {
		height: 15em;
	}
	.has-post-thumbnail .entry__header__default .entry__header__cover, .has-post-thumbnail .entry__header__cover {
		height: 25em;
		/*.entry__header__default &{
			height: 44em;
		}*/
	}
	.home .entry__header__cover {
		height: 44em;
	}
}
.entry__header__cover.entry__header__overlay:after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-image: linear-gradient(transparent, #000);
}
.entry__header__content {
	position: relative;
	top: 40%;
	text-align: center;
	transform: translateY(-50%);
	z-index: 1;
}
.home .entry__header__content {
	text-align: left;
	max-width: 600px;
}
.entry__header__default .entry__header__content {
	top: 60%;
}
@media (min-width: 782px) {
	.entry__header__default .entry__header__content {
		top: 50%;
	}
}
.has-post-thumbnail .entry__header__content {
	top: 50%;
}
.entry__header__metas {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	max-height: 100vh;
}
.entry__sup-title {
	margin-top: 0;
	font-family: "Uto";
}
.entry__pretitle {
	text-transform: uppercase;
	margin: 0 0 5px;
}
.entry__title {
	margin: 0.8em 0;
}
.entry__header__default .entry__title {
	margin: 0;
}
.home .entry__title {
	margin: 0.5em 0;
}
.entry__title + p {
	margin: 0;
}
.entry__subtitle {
	margin: 1em 0;
}
.entry__permalink {
	text-decoration: none;
}
.entry__permalink:hover .entry__overlay {
	transform: translate3d(10px, 10px, 0);
}
.entry__container {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 5em;
	margin: 0 0 var(--vertical-spacing);
}
@media (min-width: 700px) {
	.entry__container {
		flex-wrap: nowrap;
	}
}
.entry__content {
	width: 100%;
	/*@media ( min-width: break('figurex2') ) {
		width: auto;
		max-width: 45%;
	}
	@media ( min-width: break('figurex3') ) {
		max-width: none;
	}*/
}
.entry__content__default {
	position: relative;
	margin: 0;
	z-index: 10;
	margin: 0 0 5em;
	margin: 0 0 var(--vertical-spacing);
}
.has-post-thumbnail .entry__content__default {
	margin-top: -5rem;
}
.entry__aside {
	width: 350px;
	max-width: 100%;
	margin: 0 3.125em 2rem 0;
}
.reversed .entry__aside {
	width: 100%;
	margin: 5em 0 2rem;
}
@media (min-width: 700px) {
	.reversed .entry__aside {
		width: 350px;
		margin-top: 0;
		margin-left: 3.125em;
	}
}
@media (min-width: 1050px) {
	.single-guest .entry__aside {
		min-width: 350px;
	}
}
@media (min-width: 700px) {
	.entry--type-guest .entry__aside {
		width: 350px;
		max-width: 45%;
	}
}
@media (min-width: 1050px) {
	.entry--type-guest .entry__aside {
		min-width: 350px;
	}
}
.entry__summary {
	position: relative;
	margin: -1rem 0 0;
	text-align: center;
	z-index: 1;
}
.entry__summary h2,
.entry__summary h3 {
	margin-top: 0;
}
.entry__summary p {
	margin: 0 1em;
	font-size: 0.8125em;
}
.entry__metas {
	font-weight: 700;
}
.entry__metas__specs {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	list-style: none;
}
.entry__metas__spec {
	margin: 0 1em 0 0;
}
.entry__related {
	margin: 0 0 5em;
	margin: 0 0 var(--vertical-spacing);
}
.entry__related > header {
	margin: 0 0 5em;
	text-align: center;
}
.entry__related > header p {
	text-transform: uppercase;
	font-size: 0.8125em;
}
.entry__notif {
	text-align: center;
	font-style: italic;
}
.entry__notif--isolated {
	margin: 15em 0;
}
.entry__notif--featured {
	text-align: left;
	margin: 2em 0;
	padding: 1em;
	color: #000;
	background: #fff;
}
.entry__notif--featured a {
	color: #000;
}
.entry__boxes {
	display: inline-block;
	width: 18px;
	height: 18px;
	margin: 0 10px 0 0;
	background-color: #fff;
}
.entry__boxes__container {
	display: flex;
	margin: 0 0 2rem;
}
.entry__box {
	position: absolute;
	width: 36px;
	height: 36px;
	z-index: 10;
}
.entry__box[data-dir=left][data-pos="10"] {
	left: -18px;
	top: 10%;
}
.entry__box[data-dir=left][data-pos="20"] {
	left: -18px;
	top: 20%;
}
.entry__box[data-dir=left][data-pos="80"] {
	left: -18px;
	bottom: 20%;
}
.entry__box[data-dir=left][data-pos="90"] {
	left: -18px;
	bottom: 10%;
}
.entry__box[data-dir=top][data-pos="10"] {
	top: -18px;
	left: 10%;
}
.entry__box[data-dir=top][data-pos="20"] {
	top: -18px;
	left: 20%;
}
.entry__box[data-dir=top][data-pos="80"] {
	top: -18px;
	right: 20%;
}
.entry__box[data-dir=top][data-pos="90"] {
	top: -18px;
	right: 10%;
}
.entry__box[data-dir=right][data-pos="10"] {
	right: -18px;
	top: 10%;
}
.entry__box[data-dir=right][data-pos="20"] {
	right: -18px;
	top: 20%;
}
.entry__box[data-dir=right][data-pos="80"] {
	right: -18px;
	bottom: 20%;
}
.entry__box[data-dir=right][data-pos="90"] {
	right: -18px;
	bottom: 10%;
}
.entry--error {
	margin: 10em 0 7.5em;
	text-align: center;
}
.entry__socials {
	position: relative;
	top: 85%;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1;
}
@media (min-width: 782px) {
	.entry__socials {
		justify-content: flex-end;
	}
}
.entry__socials > .social-media-link {
	display: flex;
	align-items: center;
	font-size: 1.4em;
}
.entry__socials > .social-media-link > a {
	display: inline-flex;
}
.entry__socials a {
	margin: 0 0 0 0.8em;
}
.entry__socials__label {
	margin: 0 1.375em 0 0;
	font-size: 0.875em;
	font-weight: 700;
	text-transform: uppercase;
}
.entry__shortfilm {
	display: flex;
	flex-wrap: wrap;
	margin-top: 3em;
	padding-top: 1em;
	border-top: 1px solid #fff;
}
@media (min-width: 480px) {
	.entry__shortfilm {
		flex-wrap: nowrap;
	}
}
.entry__shortfilm__details {
	margin-left: 1em;
}

.glitch {
	display: inline-block;
	position: relative;
	margin: 0;
	white-space: nowrap;
	font-size: 90px;
	font-weight: 600;
	color: #fff;
}
.glitch:before, .glitch:after {
	content: attr(data-text);
	position: absolute;
	top: 0;
	clip: rect(0, 9999px, 0, 0);
	color: #fff;
	background-color: #000;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
	overflow: hidden;
}
.glitch:before {
	left: 4.5px;
	text-shadow: 2.25px 0 #00ffea;
	animation: glitch-animation 5s infinite linear;
}
.glitch:after {
	left: 1.8px;
	text-shadow: -2.25px 0 #fe3a7f;
	animation: glitch-animation 4s infinite linear;
}

/* EVOLUTION 2022 */ /**
 * Les variables CSS sont calculées en PHP
 * (-> voir [functions-grid-data.php] et [functions-grid-render.php])
 * et injectées avec du style CSS inline, directement dans le code HTML
 **/
@media screen and (min-width: 1081px) {
	.grid__content {
		display: grid;
		grid-template-columns: 80px repeat(var(--total-columns), 72px);
		grid-gap: 0 12px;
		overflow-x: scroll;
		overflow-y: hidden;
		border: 1px solid #6F6F6F;
		position: relative;
		cursor: grab;
		overflow-x: auto;
	}
	.grid__content.is-loading, .grid__content.is-empty {
		min-height: 400px;
	}
	.grid__content .grid-event {
		transition: all 0.2s ease-out;
		will-change: transform;
	}
	.grid__content.active .grid-event {
		transform: scale(1.02);
	}
	.grid__cell {
		grid-row: var(--row);
		grid-column-start: var(--column-start);
		grid-column-end: var(--column-end);
	}
	.grid-event,
	.grid-place {
		margin-top: 6px;
		margin-bottom: 6px;
	}
}
.grid__content {
	margin-bottom: 70px;
}
@media screen and (max-width: 1080px) {
	.grid__content {
		margin-left: auto;
		margin-right: auto;
		max-width: 680px;
	}
}
.grid__content.is-empty {
	display: block;
	overflow: unset;
}
.grid__content.is-empty .grid-empty {
	display: block;
}
.grid__content.is-empty .grid-hour {
	display: none;
}

.grid__scroll-nav .is-hidden,
.grid__content .is-hidden {
	display: none;
}

.grid-empty {
	display: none;
	width: -moz-fit-content;
	width: fit-content;
	margin: auto;
}
@media (max-width: 782px) {
	.grid-empty .entry__notif--isolated {
		margin: 5em auto;
	}
}

.is-loading .loading-placeholder-container {
	background-color: #222222;
	transition: background-color 0.2s linear;
	pointer-events: none;
}
.is-loading .loading-placeholder {
	border-color: transparent !important;
	border-radius: rem(4);
	color: transparent !important;
	background: linear-gradient(-45deg, #f0f0f0, #d1d1d1);
	background-size: 400% 400%;
	background-clip: content-box;
	transition: all 0.2s linear;
	animation: gradient 2s ease infinite;
}

.no-touch-events {
	cursor: wait;
	pointer-events: none;
	touch-action: none;
}
.no-touch-events * {
	cursor: wait;
}

@keyframes gradient {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}
/*====== Specific cases ========*/
.is-loading .button--heart::before,
.is-loading .uto__place__outside,
.is-loading .grid-event__lsf {
	opacity: 0;
}

/* Sur desktop, la grille est plus large que le container .app-container */
.grid__container {
	position: relative;
	z-index: auto;
}
@media (min-width: 1280px) {
	.grid__container {
		width: calc( 100vw - 160px);
		transform: translate(calc( 690px - 50vw), 0);
	}
}

.grid__scroll-button {
	background: red;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 48px;
	height: 48px;
	color: #000;
	background-color: #fff;
	border: none;
	-webkit-appearance: none;
	        appearance: none;
	cursor: pointer;
	outline: 1px solid transparent;
	outline-offset: 2px;
	transition: outline-color 0.2 linear, background-color 0.2 linear;
}
.grid__scroll-button::before {
	display: block;
	width: 100%;
	height: 100%;
	transform-origin: 50% 50%;
	background-image: url("../svg/small_arrow.svg");
	background-position: center center;
	background-repeat: no-repeat;
	content: "";
}
.grid__scroll-button[data-direction=right]::before {
	transform: rotate(90deg);
}
.grid__scroll-button[data-direction=left]::before {
	transform: rotate(-90deg);
}
.grid__scroll-button:disabled,
.grid__scroll-button [disabled] {
	background-color: #191919;
	cursor: not-allowed;
	pointer-events: none;
}
.grid__scroll-button:hover, .grid__scroll-button:focus {
	outline-color: #fff;
}

.grid__scroll-button[data-direction=top] {
	position: fixed;
	bottom: 10px;
	right: 10px;
}
@media screen and (min-width: 1081px) {
	.grid__scroll-button[data-direction=top] {
		bottom: 16px;
		right: 16px;
	}
}

.grid__scroll-nav {
	display: flex;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
}
.grid__scroll-nav > *:first-child {
	margin-right: 1px;
}
@media (max-width: 1080px) {
	.grid__scroll-nav {
		display: none;
	}
}

.grid__content,
.grid__container {
	scroll-behavior: smooth;
}

.grid-header {
	margin-top: 140px;
	margin-bottom: 26px;
	padding-top: min(10vw, 60px);
	text-align: center;
	/* Desktop : menu height is smaller */
}
@media (min-width: 1165px) {
	.grid-header {
		margin-top: 80px;
	}
}
.grid-header__title {
	margin: auto;
	max-width: 32ch;
}
.grid-header__introduction {
	margin: auto;
	margin-top: 30px;
	max-width: 80ch;
}
.grid-header__introduction > :first-child {
	margin-top: 0;
}
.grid-header__introduction > :last-child {
	margin-bottom: 0;
}
.grid-header__button {
	margin: auto;
	margin-top: 36px;
}

.page-content {
	margin: 36px auto;
}

.grid__filters {
	display: flex;
	flex-flow: column;
	border: none;
	margin: 0;
	padding: 0;
	-webkit-appearance: none;
	        appearance: none;
}
@media (max-width: 480px) {
	.grid__filters .grid__select,
	.grid__filters .grid__checkbox {
		max-width: max(160px, 50vw);
		margin-bottom: 20px;
	}
	.grid__filters .grid__reset {
		width: -moz-fit-content;
		width: fit-content;
		min-height: 48px;
		margin-right: auto;
	}
}
@media (min-width: 480px) and (max-width: 819px) {
	.grid__filters {
		width: 100%;
		flex-flow: row wrap;
		justify-content: space-between;
	}
	.grid__filters .grid__select,
	.grid__filters .grid__checkbox {
		flex: 0 0 calc(33% - 15px);
	}
	.grid__filters .grid__reset {
		margin-top: 10px;
		min-height: 48px;
	}
}
@media (min-width: 820px) {
	.grid__filters {
		flex-flow: row nowrap;
		justify-content: flex-start;
		padding-right: 20px;
	}
	.grid__filters .grid__select,
	.grid__filters .grid__checkbox {
		flex: 0 1 160px;
		margin-right: 20px;
	}
	.grid__filters .grid__select--with-icon,
	.grid__filters .grid__checkbox--with-icon {
		flex-basis: 190px;
	}
	.grid__filters .grid__reset {
		flex: 0 0 fit-content;
	}
}
.grid__filters legend {
	font-size: 0.75em;
	text-transform: uppercase;
	font-weight: bold;
	margin-bottom: 10px;
}

.grid__checkbox {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: auto;
	width: 100%;
	min-height: 48px;
	flex: 1;
	margin-right: 20px;
	padding: 0.5em;
	color: #000;
	background-color: #fff;
	border: none;
	font-size: 0.75em;
	transition: color 0.2s linear, background-color 0.2s linear;
	font-weight: 700;
	text-transform: uppercase;
	cursor: pointer;
	box-sizing: border-box;
}
.grid__checkbox--with-icon > label {
	display: flex;
	align-items: center;
}
.grid__checkbox * {
	cursor: pointer;
}
.grid__checkbox input {
	height: 24px;
	width: 24px;
	margin-left: 10px;
	outline-offset: 2px;
	accent-color: #000;
}

.grid__select {
	position: relative;
	z-index: auto;
}
.grid__select select,
.grid__select .select,
.grid__select .option {
	width: 100%;
	height: 48px;
	padding: 0.5em;
	color: #000;
	background-color: #fff;
	border: none;
	font-size: 0.75em;
	cursor: pointer;
	outline-offset: 2px;
	text-align: center;
	font-weight: 700;
	text-transform: uppercase;
}
.grid__select .select {
	display: flex;
	align-items: center;
	justify-content: center;
}
.grid__select .select::after {
	display: block;
	width: 12px;
	height: 12px;
	margin-left: 10px;
	transform-origin: 50% 50%;
	background-image: url("../svg/small_arrow.svg");
	background-position: center center;
	background-repeat: no-repeat;
	content: "";
	transition: transform 0.2s linear;
}
.grid__select .select:hover {
	text-decoration: underline;
}
.grid__select .select.is-active {
	z-index: 2;
}
.grid__select .select.is-active::after {
	transform: rotate(-180deg);
}
.grid__select select {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
.grid__select select:focus, .grid__select select[focus-within] {
	z-index: 10;
}
.grid__select select:focus, .grid__select select:focus-within {
	z-index: 10;
}
.grid__select .option {
	text-align: left;
	width: 100%;
	border-top: 1px solid #000;
}
.grid__select .option:hover, .grid__select .option:active {
	text-decoration: underline;
}
.grid__select .option.selected {
	background: black;
	color: white;
}
.grid__select__options {
	position: absolute;
	top: 48px;
	left: 0px;
	width: calc(100% - 2px);
	display: block;
	opacity: 0;
	z-index: -1;
	transition: none;
	touch-action: none;
	pointer-events: none;
	border: 1px solid white;
}
.grid__select__options.is-open {
	opacity: 1;
	z-index: 3;
	touch-action: initial;
	pointer-events: initial;
	transition: opacity 0.1s linear;
}

.grid__reset {
	margin: 0;
	padding: 0.5em 1em;
	color: #fff;
	background: #000;
	border: 1px solid #000;
	font-size: 0.75em;
	text-decoration: underline;
	-webkit-appearance: none;
	        appearance: none;
	cursor: pointer;
	transition: border-color 0.2s linear;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1;
}
.grid__reset:hover {
	border-color: #fff;
}

.grid__metas {
	position: relative;
	z-index: 1;
	display: flex;
	flex-flow: column;
	margin-bottom: 20px;
}
@media (min-width: 860px) {
	.grid__metas {
		flex-flow: row wrap;
		justify-content: space-between;
	}
	.grid__metas form {
		flex: 1 0 auto;
	}
}

.grid__legends {
	display: flex;
	flex-flow: row wrap;
	padding-top: 24px;
}

.grid__legend {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-size: 0.6875em;
	font-style: italic;
	text-transform: uppercase;
}
.grid__legend + .grid__legend {
	margin-left: 30px;
}
.grid__legend__image {
	margin-right: 10px;
}

.grid-event {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 0;
	padding: 20px 24px;
	text-align: center;
	color: #000;
}
.grid-event > * {
	margin: 0 auto 6px;
}
.grid-event hr {
	width: 100%;
	height: 0.5px;
	max-width: 226px;
	border: none;
	border-bottom: 1px solid #000;
}
.grid-event__poles {
	order: -1;
}
.grid-event__poles, .grid-event__guests {
	font-size: inherit;
	font-size: 0.75em;
	letter-spacing: 0;
}
.grid-event__link {
	color: inherit;
	text-decoration: none;
	/*
		Grid event easy click trick:
		Link pseudo-element::before fills all the card.
		Click on before -> click on link.
		Button .grid-event__cta is above ::before
	*/
}
.grid-event__title {
	margin: 0 auto;
	text-transform: uppercase;
	font-family: "Open Sans";
	font-size: 0.875em;
	font-weight: 700;
}
.grid-event__cta {
	position: relative;
	min-width: 100%;
	z-index: 3;
	margin: 0;
	margin-top: auto;
	padding-top: 14px;
	box-sizing: border-box;
}

@media screen and (max-width: 1080px) {
	.grid-event {
		margin-bottom: 24px;
	}
}
.grid-place {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
	text-align: center;
	padding: 20px;
	background-color: black;
}
.grid-place__title {
	font-size: 1em;
	font-family: "Open Sans";
	font-size: 0.875em;
	text-transform: uppercase;
	font-style: italic;
	margin: 0;
}
@media screen and (max-width: 1080px) {
	.grid-place__title {
		font-size: 1.0625em;
	}
}
@media screen and (max-width: 1080px) {
	.grid-place {
		padding: 0 10px;
		margin-top: 50px;
		margin-bottom: 16px;
	}
}
@media screen and (min-width: 1081px) {
	.grid-place::after {
		display: inline-block;
		position: absolute;
		left: 0;
		top: -6px;
		width: calc(calc( var(--total-columns) * 84px) + 44px);
		height: 1px;
		background: #6F6F6F;
		content: "";
	}
}

.uto__place__outside {
	line-height: 0;
}
.uto__place__outside figcaption {
	font-size: 0.6875em;
	font-family: "Open Sans";
	font-style: italic;
	margin: 0;
	line-height: 1;
}

.grid-hour {
	position: relative;
	text-align: center;
}
.grid-hour__time {
	margin: auto;
	line-height: 1;
	font-size: 1em;
	font-weight: bold;
	text-transform: uppercase;
}
.grid-hour__mobile {
	display: none;
	font-size: 1.0625em;
	margin-top: 30px;
	margin-bottom: 20px;
}
.grid-place + .grid-hour__mobile {
	margin-top: 16px;
}
@media screen and (max-width: 1080px) {
	.grid-hour__mobile {
		display: block;
	}
}
.grid-hour__desktop {
	display: none;
	height: 48px;
	max-height: 48px;
	padding: 16px 10px;
	font-size: 0.6875em;
	box-sizing: border-box;
}
@media screen and (min-width: 1081px) {
	.grid-hour__desktop {
		display: block;
	}
	.grid-hour__desktop::before {
		position: absolute;
		left: -6px;
		top: 0;
		display: inline-block;
		height: 1000vh;
		width: 1px;
		background: #6F6F6F;
		content: "";
	}
	.grid-hour__desktop.--last::after {
		position: absolute;
		right: -6px;
		top: 0;
		display: inline-block;
		height: 1000vh;
		width: 1px;
		background: #6F6F6F;
		content: "";
	}
}

.--hidden {
	display: none;
}

@media (max-width: 600px) {
	.grid__days {
		width: 100%;
	}
}
@media (min-width: 600px) {
	.grid__days {
		display: flex;
		flex-flow: row wrap;
		align-items: stretch;
		justify-content: center;
	}
}
@media screen and (min-width: 1081px) {
	.grid__days {
		padding-bottom: 8px;
		border-bottom: 3px solid #fff;
	}
	.grid__days .grid__day.active::before {
		opacity: 1;
	}
}

.grid__day {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	height: 70px;
	flex: 1;
	margin-right: 20px;
	margin-bottom: 10px;
	padding: 0.5em;
	border: 1px solid #fff;
	color: #fff;
	background-color: #000;
	font-size: 0.75em;
	transition: color 0.2s linear, background-color 0.2s linear;
	font-weight: 700;
	text-transform: uppercase;
}
.grid__day:last-child {
	margin-right: 0;
}
.grid__day:hover, .grid__day:focus {
	text-decoration: underline;
}
.grid__day::before {
	display: inline-block;
	position: absolute;
	bottom: -19px;
	left: 50%;
	margin-left: -2px;
	width: 0;
	height: 0;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-bottom: 6px solid white;
	opacity: 0;
	transition: opacity 0.2s linear;
	content: "";
}
.grid__day.active {
	color: #000;
	background-color: #fff;
	pointer-events: none;
}
@media (max-width: 600px) {
	.grid__day {
		min-width: 100%;
	}
}

.header__filters {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	margin: 10.5em 0 3.5em;
	margin: 10.5em 0 var(--vertical-spacing-tiny);
}
.entry__header__content .header__filters {
	margin: 0;
}
.header__filters__title {
	margin: 0 1em 1em 0;
}
.icon {
	width: 1em;
	height: 1em;
	stroke-width: 0;
	stroke: currentColor;
	fill: currentColor;
}
.icon__search, .icon__account {
	width: 1.25em;
	height: 1.25em;
}
.icon__back {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.icon__user {
	width: 1.1875em;
	height: 1.5625em;
}
.icon__calendar {
	width: 1.75em;
	height: 1.75em;
}
.icon__time {
	width: 1.75em;
	height: 1.75em;
}
.icon__place {
	width: 1.125em;
	height: 1.625em;
}
.icon__room {
	width: 1.75em;
	height: 1.1875em;
}

.list__news {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	margin: 0 0 5em;
	margin: 0 0 var(--vertical-spacing);
}
@media (min-width: 782px) {
	.list__news {
		justify-content: space-between;
	}
}
.list__guests {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}
@media (min-width: 700px) {
	.list__guests {
		justify-content: flex-start;
	}
}
.list__members {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}
@media (min-width: 600px) {
	.list__members {
		justify-content: flex-start;
	}
}
.list__expositions {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	margin: 0 0 5em;
	margin: 0 0 var(--vertical-spacing);
}
@media (min-width: 1024px) {
	.list__expositions {
		justify-content: space-between;
	}
}
.list__events {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: stretch;
	margin: 0 0 5em;
	margin: 0 0 var(--vertical-spacing);
}
@media (min-width: 810px) {
	.list__events {
		justify-content: flex-start;
	}
}
.list__oeuvres {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: stretch;
	list-style: none;
	margin: 0;
	padding: 0;
}
@media (min-width: 480px) {
	.list__oeuvres {
		justify-content: flex-start;
	}
}
.list__oeuvres__description {
	margin: 0 0 2em;
}
.list__oeuvres__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 20%;
	min-width: 150px;
	margin: 0 0 1em;
	text-align: center;
}
.list__oeuvres__item--details {
	margin-top: 0;
	font-size: 0.75em;
	font-weight: 600;
	text-align: center;
}
.list__sessions {
	padding: 0 0 0 2em;
}
.list__session__title {
	padding-bottom: 0.5em;
	font-style: italic;
	border-bottom: 1px solid #6F6F6F;
}
.list__dedicaces {
	width: 100%;
	margin: 0 0 5em;
	border: 1px solid #6F6F6F;
	border-collapse: collapse;
}
.list__dedicaces__container {
	max-width: 800px;
	margin: 0 auto 7.5em;
}
.list__dedicaces__days {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	list-style: none;
	font-size: 0.6875em;
}
.list__dedicaces__day {
	padding: 10px;
	border: 1px solid #6F6F6F;
}
.list__dedicaces__day:hover, .list__dedicaces__day--current {
	background-color: #fff;
}
.list__dedicaces__day:hover a, .list__dedicaces__day--current a {
	color: #000;
}
.list__dedicaces__day a {
	display: block;
	text-decoration: none;
	text-transform: uppercase;
	font-weight: 700;
	cursor: pointer;
}
.list__dedicaces th,
.list__dedicaces td {
	padding: 1em;
	border: 1px solid #6F6F6F;
}
.list__dedicaces th {
	font-family: "Uto";
	font-weight: normal;
}
.list__dedicaces td {
	font-size: 0.875em;
}

.menu--primary {
	display: none;
}
.menu__open .menu--primary {
	display: block;
	height: calc(100% - 64px);
	overflow-y: auto;
}
@media (min-width: 1024px) {
	.menu--primary {
		display: block;
	}
}
.menu__items {
	display: flex;
	text-transform: uppercase;
	list-style: none;
	margin: 0;
	padding: 0;
}
.menu--primary .menu__items {
	margin-top: 1em;
}
.menu--primary .menu__items > :first-child {
	padding-left: 0;
}
@media (min-width: 1024px) {
	.menu--primary .menu__items {
		margin-top: 0;
	}
}
.menu--secondary .menu__items {
	display: block;
}
@media (min-width: 600px) {
	.menu--secondary .menu__items {
		column-count: 3;
	}
}
.menu__open .menu__items {
	display: block;
}
.menu__item {
	position: relative;
	margin: 0 1em 0 0;
	padding: 1em;
}
.menu__open .menu__item {
	margin-bottom: 1em;
	padding-left: 0;
}
.menu--secondary .menu__item {
	padding: 0 0 1em;
	font-size: 0.875em;
	font-weight: 600;
}
.menu__item:hover .menu__sub-menu {
	opacity: 1;
	pointer-events: initial;
}
.menu__link {
	text-decoration: none;
}
@media (max-width: 1024px) {
	.menu--primary .menu__sub-menu .menu__sub-menu {
		margin-top: 1em;
	}
	.menu--primary .menu__sub-menu .menu__sub-menu .menu__item {
		margin-bottom: 0;
		font-style: italic;
	}
}
@media (min-width: 1024px) {
	.menu--primary .menu__sub-menu {
		position: absolute;
		top: 100%;
		opacity: 0;
		pointer-events: none;
		list-style: none;
		margin: 0;
		padding: 0;
		background-color: #fff;
	}
	.menu--primary .menu__sub-menu .menu__sub-menu {
		position: relative;
		left: 0;
		min-width: 100%;
		margin: 1em 0 0;
		padding: 0 0 0 2em;
		box-sizing: border-box;
	}
	.menu--primary .menu__sub-menu .menu__sub-menu .menu__item {
		padding: 0.7em;
		font-size: 0.6875em;
		border-top: 1px dotted #000;
	}
	.menu--primary .menu__sub-menu .menu__sub-menu .menu__item:not(:last-of-type) {
		border-bottom: none;
	}
	.menu--primary .menu__sub-menu .menu__item {
		margin: 0;
		white-space: nowrap;
	}
	.menu--primary .menu__sub-menu .menu__item:not(:last-of-type) {
		border-bottom: 1px solid #000;
	}
	.menu--primary .menu__sub-menu a {
		color: #000;
	}
}

.pagination__items {
	display: table;
	margin: 5em auto 7.5em;
	padding: 0;
	white-space: nowrap;
	font-size: 0.625em;
	border-collapse: collapse;
	font-weight: 700;
	text-transform: uppercase;
}
.pagination__item {
	display: table-cell;
	border: 1px solid;
}
.pagination__item:hover, .pagination__item--current {
	background-color: #fff;
}
.pagination__anchor {
	display: block;
	padding: 10px;
	line-height: 1;
}
.pagination__anchor--link {
	text-decoration: none;
}
.pagination__anchor:hover, .pagination__anchor--current {
	color: #000;
}
.overlay {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding: 1em;
	background-image: linear-gradient(transparent, #000);
}

.scroll-to-bottom {
	position: relative;
	top: 94%;
	text-align: center;
	font-size: 2em;
	z-index: 1;
	animation: jumpInfinite 1.5s infinite;
}
.scroll-to-bottom__icon {
	width: 1em;
	height: 1em;
	transform: rotate(-90deg);
}
.scroll-to-bottom__icon path {
	fill: #fff;
}

@keyframes jumpInfinite {
	0% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(10px);
	}
	100% {
		transform: translateY(0);
	}
}
#full-screen-search {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	transition: opacity 0.5s linear;
	visibility: hidden;
	opacity: 0;
	z-index: 10;
	pointer-events: none;
	/*&__close{
	    position: absolute;
	    top: 1em;
	    right: 1em;
	    font-size: 5em;
	    color: color( white );
	    background-color: color( black );
	}*/
}
#full-screen-search.open {
	position: fixed;
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}
#full-screen-search__form {
	position: relative;
	top: 50%;
	width: 80%;
	margin: auto;
	transform: translateY(-50%);
}
#full-screen-search__input {
	width: 100%;
	padding: 1em;
	text-align: center;
	font-size: 2em;
	color: #fff;
	background-color: transparent;
	border: 0;
	box-sizing: border-box;
}
#full-screen-search__input::-webkit-input-placeholder { /* Chrome/Opera/Safari */
	color: #fff;
}
#full-screen-search__input::-moz-placeholder { /* Firefox 19+ */
	color: #fff;
}
#full-screen-search__input:-ms-input-placeholder { /* IE 10+ */
	color: #fff;
}
#full-screen-search__input:-moz-placeholder { /* Firefox 18- */
	color: #fff;
}
#full-screen-search__label {
	float: right;
	font-style: italic;
	margin: 1em 0 0;
}

.uto__terms__static {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 0.8125em;
}
.uto__terms__dynamic {
	display: table;
	border-collapse: collapse;
	margin: 0;
	white-space: nowrap;
	font-size: 0.625em;
	font-weight: 700;
	text-transform: uppercase;
}
@media (max-width: 600px) {
	.uto__terms__dynamic {
		width: 100%;
	}
}
.uto__terms__dynamic a {
	display: block;
	padding: 10px;
	text-decoration: none;
	cursor: pointer;
}
.uto__terms__dynamic li {
	display: block;
	line-height: 1;
	border: 1px solid;
	position: relative;
	/*
		Ergonomie : le pseudo-élément du lien <a> remplit toute la surface de l'élément <li>
		-> quand clique sur <li>, on clique sur <a>
	*/
}
.uto__terms__dynamic li a::before {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
}
.uto__terms__dynamic li:hover, .uto__terms__dynamic li.current {
	background-color: #fff;
}
.uto__terms__dynamic li:hover a, .uto__terms__dynamic li.current a {
	color: #000;
}
@media (max-width: 600px) {
	.uto__terms__dynamic li:not(:last-child) {
		border-bottom: 0;
	}
}
@media (min-width: 600px) {
	.uto__terms__dynamic li {
		display: table-cell;
	}
}

.uto__parcours__list {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: flex-start;
	height: -moz-fit-content;
	height: fit-content;
	margin: 0;
	padding: 0;
}
.uto__parcours__list li {
	margin-right: 30px;
	list-style: none;
}
.uto__parcours__item {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-size: 12px;
}
.uto__parcours__caption {
	font-size: 12px;
	font-weight: bold;
	text-transform: uppercase;
}
.uto__parcours__image {
	width: 100%;
	height: 100%;
	max-width: 30px;
	max-height: 30px;
	object-fit: cover;
	object-position: center;
	margin-right: 10px;
}

.uto__event-intro {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: flex-start;
	padding: 0;
}
.uto__event-intro > *:not(:only-child) {
	margin-bottom: 10px;
}
.uto__event-intro > *:not(:last-child) {
	margin-right: 60px;
}

.toggle__block {
	margin: 0 0 3.125em;
}
.toggle__block:not(.toggle__open) > section {
	max-height: 0;
	transition: all 0.25s ease-in;
}
.toggle__block > section {
	max-height: auto;
	transform-origin: top;
	transition: all 0.25s ease-in;
}
.toggle__header {
	position: relative;
	border-bottom: 1px solid;
	cursor: pointer;
}
.toggle__header:after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	width: 10px;
	height: 10px;
	margin: auto 0;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(-45deg);
	transform-origin: 0% 100%;
	transition: transform 0.2s ease;
}
.toggle__header h1, .toggle__header h2, .toggle__header h3, .toggle__header h4, .toggle__header h5 {
	margin: 0.8em 0;
}
.toggle__open .toggle__header:after {
	transform: rotate(45deg);
	transform-origin: 100% 50%;
}
.toggle__section {
	overflow: hidden;
}
.toggle__section > div {
	padding: 2em 0;
}
.toggle__section__content:not(:last-of-type) {
	margin: 0 0 3.125em;
}

.my-program {
	width: 100%;
	margin-bottom: 3em;
	border-collapse: collapse;
	border: 1px solid;
}
@media (max-width: 768px) {
	.my-program {
		margin-top: 3em;
	}
}
.my-program-wrapper {
	position: relative;
	overflow: auto;
}
.my-program tr {
	vertical-align: text-top;
	border-bottom: 1px dotted;
}
.my-program td, .my-program th {
	border-left: 1px solid #fff;
	padding: 0.5em;
}
.my-program td:first-child, .my-program th:first-child {
	border-left: 0;
}
.my-program th {
	border-bottom: 3px solid;
}

.wp-block-columns {
	margin: 0 0 5em;
	margin: 0 0 var(--vertical-spacing);
}

@media (max-width: 782px) {
	.entry__content__default .wp-block-column {
		flex-basis: 40%;
		margin: 0 auto 2rem;
	}
}
@media (max-width: 600px) {
	.entry__content__default .wp-block-column {
		flex-basis: 100%;
		margin: 0 0 2rem;
	}
}

.is-style-columns-auto {
	max-width: 80%;
	margin-left: auto;
	margin-right: auto;
}
.is-style-columns-auto .wp-block-column {
	flex: auto;
}

.is-style-typo-uto {
	font-family: "Uto";
}

.wp-block-quote {
	padding: 3.75em 0;
	text-align: center;
	margin: 5em 0;
	margin: var(--vertical-spacing) 0;
	border-top: 4px double #fff;
	border-bottom: 4px double #fff;
}
.wp-block-quote p {
	margin-top: 0;
	font-size: 1.25em;
}
.wp-block-quote cite {
	font-size: 1em;
	font-style: normal;
}

.uto-block-section {
	text-align: center;
	margin: 0 0 5em;
	margin: 0 0 var(--vertical-spacing);
}
.uto-block-section__label {
	font-size: 0.875em;
	text-transform: uppercase;
}
.uto-block-section__title {
	margin: 0 0 1.5384615385em;
}
.uto-block-section__title.margin-bottom-light {
	margin-bottom: 1.4102564103em;
}
.uto-block-section__button {
	margin-top: 3.125em;
}

@media (min-width: 782px) {
	.uto-block__news {
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		margin: 0 0 3.5em;
		margin: 0 0 var(--vertical-spacing-tiny);
	}
}
.uto-block__new {
	position: relative;
	margin: 0 0 2rem;
}
.uto-block__new .wp-post-image {
	display: block;
}
.uto-block__new__overlay {
	font-family: "Uto";
	margin: 8px 0 0;
	border: 1px solid #fff;
}
.uto-block__new__overlay > a {
	text-decoration: none;
}
@media (min-width: 600px) and (max-width: 782px) {
	.uto-block__new {
		width: 75%;
		margin: 0 auto 2rem;
	}
}
@media (min-width: 782px) {
	.uto-block__new {
		margin: 0;
	}
	.uto-block__new__featured {
		width: 64%;
	}
	.uto-block__new-tiny-wrapper {
		width: 31%;
	}
	.uto-block__new__overlay {
		display: flex;
		align-items: flex-end;
		justify-content: center;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: 0;
		padding: 1em;
		background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.6));
	}
}

.is-style-heading-section {
	margin: 3em 0 1em;
	padding: 0 0 0.5em;
	font-size: 7vw;
	border-bottom: 1px solid #6F6F6F;
}
@media (min-width: 600px) {
	.is-style-heading-section {
		font-size: 1.75em;
	}
}

.is-style-heading-bigger-section {
	margin: 3em 0 1em;
	padding: 0 0 0.5em;
	font-size: 7vw;
}
@media (min-width: 600px) {
	.is-style-heading-bigger-section {
		font-size: 1.75em;
	}
}

@media (min-width: 1024px) {
	.wp-block-utopiales-poles {
		display: flex;
		justify-content: space-between;
	}
	.wp-block-utopiales-poles .wp-block-utopiales-poles-text-wrapper {
		text-align: left;
		width: 25%;
	}
	.wp-block-utopiales-poles .wp-block-utopiales-poles-text-wrapper .uto-block-section__title {
		margin: 0 0 0.5em;
	}
	.wp-block-utopiales-poles .wp-block-utopiales-poles-wrapper {
		width: 71%;
	}
}

.wp-block-utopiales-poles-wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.wp-block-utopiales-pole-page {
	color: #000;
	border: 2px solid #000;
	position: relative;
	margin: 4px 4px calc(4px + 1em);
	width: calc(50% - 0.5em - 8px);
	box-sizing: border-box;
	padding: 2em 1em 1em;
	display: flex;
	flex-direction: column;
}
.wp-block-utopiales-pole-page::after {
	content: "";
	position: absolute;
	top: -6px;
	bottom: -6px;
	left: -6px;
	right: -6px;
	background-color: inherit;
	z-index: -1;
}
.wp-block-utopiales-pole-page h3 {
	font-size: 0.8125em;
	line-height: 2;
	font-family: "Open Sans";
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.wp-block-utopiales-pole-page a {
	color: #000;
}
.wp-block-utopiales-pole-page a::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}
.wp-block-utopiales-pole-page a:hover, .wp-block-utopiales-pole-page a:focus {
	text-decoration: underline;
}
@media (min-width: 782px) {
	.wp-block-utopiales-pole-page {
		width: calc(25% - 0.5em - 8px);
	}
}

.wp-block-utopiales-background-image {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	color: #fff;
	background-size: cover;
	background-position: 50%;
}
.wp-block-utopiales-background-image::before {
	background-color: inherit;
}
.wp-block-utopiales-background-image.has-background-dim::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}
.wp-block-utopiales-background-image .container {
	max-width: 1220px;
	position: relative;
	z-index: 1;
}
.wp-block-utopiales-background-image.has-background-dim.has-background-dim-10::before {
	opacity: 0.1;
}
.wp-block-utopiales-background-image.has-background-dim.has-background-dim-20::before {
	opacity: 0.2;
}
.wp-block-utopiales-background-image.has-background-dim.has-background-dim-30::before {
	opacity: 0.3;
}
.wp-block-utopiales-background-image.has-background-dim.has-background-dim-40::before {
	opacity: 0.4;
}
.wp-block-utopiales-background-image.has-background-dim.has-background-dim-50::before {
	opacity: 0.5;
}
.wp-block-utopiales-background-image.has-background-dim.has-background-dim-60::before {
	opacity: 0.6;
}
.wp-block-utopiales-background-image.has-background-dim.has-background-dim-70::before {
	opacity: 0.7;
}
.wp-block-utopiales-background-image.has-background-dim.has-background-dim-80::before {
	opacity: 0.8;
}
.wp-block-utopiales-background-image.has-background-dim.has-background-dim-90::before {
	opacity: 0.9;
}
.wp-block-utopiales-background-image.has-background-dim.has-background-dim-100::before {
	opacity: 1;
}

.wp-block-arnaudban-simple-map {
	margin: 0 0 5em;
	margin: 0 0 var(--vertical-spacing);
}

.wp-block-utopiales-shop .wp-block-utopiales-background-image {
	text-align: left;
	padding: 5em 30px;
}
.wp-block-utopiales-shop .wp-block-utopiales-background-image .container {
	width: 100%;
}
.wp-block-utopiales-shop .wp-block-utopiales-background-image .container > * {
	max-width: 610px;
}

.is-style-table-grid {
	width: 100%;
	margin: 0 0 1em;
	border-collapse: collapse;
}
.is-style-table-grid tr:first-of-type td {
	font-weight: 700;
	text-transform: uppercase;
}
.is-style-table-grid tr:first-of-type td:first-of-type {
	border-top: 0;
	border-left: 0;
}
.is-style-table-grid td {
	padding: 10px;
	text-align: center;
	border: 1px solid #6F6F6F;
}
.is-style-table-grid td:first-of-type {
	text-align: left;
	font-weight: 700;
	text-transform: uppercase;
}

.n-event__header {
	display: flex;
	flex-direction: column;
	max-width: 480px;
	margin: auto;
}
.n-event__title {
	font-size: 2.25em;
	margin: 0;
	margin-bottom: 26px;
}
.n-event__intro {
	font-size: 0.875em;
	letter-spacing: 0;
	text-transform: uppercase;
	margin: 0;
	margin-bottom: 23px;
	order: -1;
}
.n-event__desc {
	font-size: 0.875em;
	line-height: 1.8;
}
.n-event__cta {
	margin-top: 26px;
}
.n-event__cta.n-card__button {
	font-size: 0.75em;
	padding-left: 26px;
	padding-right: 26px;
	font-weight: normal;
	text-transform: uppercase;
	width: -moz-fit-content;
	width: fit-content;
}
.n-event__planning {
	margin: 60px auto;
}
.n-event__list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.n-event__item {
	margin-top: 10px;
}
@media (min-width: 1024px) {
	.n-event {
		display: flex;
		flex-flow: row nowrap;
		justify-content: flex-start;
		align-content: space-between;
	}
	.n-event__header {
		padding-right: 60px;
		max-width: 320px;
		margin-bottom: 60px;
	}
}
.n-event.is-hidden {
	display: none;
}

.n-card {
	position: relative;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
}
.n-card:hover .will-underline, .n-card:focus .will-underline {
	text-decoration: underline;
}
.n-card > * {
	margin: 4px;
}
.n-card__link {
	text-decoration: none;
	flex: 1 1 calc(100% - 240px);
}
.n-card__link::after {
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
	content: "";
}
.n-card__title {
	margin: 0;
	text-transform: unset;
}
.n-card__title, .n-card__time, .n-card__place {
	font-family: "Open Sans";
	font-size: 1em;
	font-weight: normal;
	line-height: 1;
	letter-spacing: 0;
	margin: 4px;
}
.n-card__metas {
	text-align: center;
}
.n-card__poles {
	order: -1;
	min-width: 120px;
	flex-basis: 120px;
	text-decoration: none;
}
.n-card__poles.n-card__button:hover, .n-card__poles.n-card__button:focus {
	text-decoration: none;
}
.n-card__button {
	--bg-color: white;
	display: flex;
	align-items: center;
	justify-content: center;
	height: -moz-fit-content;
	height: fit-content;
	min-height: 52px;
	position: relative;
	padding: 14px;
	text-align: center;
	letter-spacing: 0;
	font-size: 0.875em;
	line-height: 1;
	color: #000;
	background-color: var(--bg-color);
	text-decoration: none;
	box-sizing: border-box;
}
.n-card__button:hover, .n-card__button:focus {
	text-decoration: underline;
}
.n-card__button::after {
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: calc(100% - 12px);
	height: calc(100% - 12px);
	border: 1px solid #000;
	outline: inherit;
	transform: translate(-50%, -50%);
	content: "";
}
@media (max-width: 782px) {
	.n-card {
		font-size: 14px;
	}
	.n-card__metas {
		font-size: 12px;
	}
}
@media (max-width: 480px) {
	.n-card__poles {
		min-width: 80px;
		flex-basis: 80px;
	}
	.n-card__metas {
		display: flex;
		flex-flow: column;
		justify-content: space-evenly;
		align-items: center;
	}
}

@media (min-width: 782px) {
	.n-card__poles {
		min-width: 180px;
		flex-basis: 180px;
	}
	.n-card__link {
		min-width: calc(100% - 440px);
		flex-basis: calc(100% - 440px);
	}
	.n-card__metas {
		display: flex;
		flex-flow: row nowrap;
		justify-content: space-evenly;
		align-items: center;
		text-align: center;
		flex-grow: 1;
		flex-shrink: 0;
		min-width: 220px;
		flex-basis: 220px;
	}
}
/**
 * ACF block : video
 */
.block-video {
	--video-width: 750px;
	width: 100vw;
	max-width: 100%;
	height: 56.25vw;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 5em;
	margin-bottom: var(--vertical-spacing);
	border: 1px solid;
}
@media (min-width: 782px) {
	.block-video {
		max-width: var(--video-width);
		height: 422.1153846154px;
	}
}
.block-video__open {
	display: flex;
	position: relative;
	width: 100%;
	height: 100%;
	margin: auto;
	padding: 0;
	border: none;
	border-radius: 0;
	box-shadow: none;
}
.block-video__open:not(:disabled) {
	outline-color: blue;
}
.block-video__open:hover .block-video__fake-player, .block-video__open:focus .block-video__fake-player {
	transform: scale(1.1);
}
.block-video__fake-player {
	display: flex;
	position: absolute;
	top: 50%;
	left: 50%;
	width: calc(7.25em * 1.25);
	height: 7.25em;
	margin-top: calc(7.25em * -0.5);
	margin-left: calc(calc(7.25em * 1.25) * -0.5);
	border: 1px solid #fff;
	border-radius: 9px;
	transform-origin: center center;
	transition: transform 0.2s ease-out;
}
.block-video__fake-player-arrow {
	margin: auto;
	font-size: 7.25em;
}
.block-video__fake-player-arrow > svg {
	width: 1em;
	height: 1em;
}
.block-video__thumbnail {
	width: 100%;
}
.block-video__thumbnail img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.block-video__modal {
	--container-width: 75em;
	align-items: center;
}
.block-video__modal__content {
	margin: auto;
	text-align: right;
}
.block-video__modal__content > * {
	text-align: revert;
}
.block-video__modal iframe {
	min-width: 100%;
	max-width: min(70vw, 75em);
	height: auto;
	max-height: min(70vh, 42.1875em);
	aspect-ratio: 16/9;
	object-fit: contain;
}
.block-video__modal div.youtube-player-js {
	display: inline-block;
	width: 100%;
	aspect-ratio: 16/9;
}
.block-video__close.button__primary {
	margin-bottom: 1.25em;
	margin-left: auto;
	margin-right: 3px;
}

[data-opacity=invisible] {
	opacity: 0;
}

[data-opacity=visible] {
	opacity: 1;
	opacity: initial;
}

.sib_signup_form {
	max-width: 600px;
	margin: 0 auto;
}
.sib_signup_form .inputs-wrapper {
	display: flex;
}
.sib_signup_form .sib-email-area {
	flex-grow: 1;
	display: flex;
	margin: 0 1em 0 0;
	border-bottom: 1px solid #fff;
}
.sib_signup_form .sib-email-area__label {
	margin-right: 1em;
}
.sib_signup_form .sib-email-area__input {
	flex-grow: 1;
	background-color: transparent;
	border: 0;
	color: #fff;
	font-size: 1rem;
}
.sib_signup_form .sib-email-area__input:focus {
	outline: none;
}
.sib_signup_form .sib-email-area__label,
.sib_signup_form .sib-default-btn {
	text-transform: uppercase;
	font-weight: 700;
	font-size: 0.8125em;
	background-color: transparent;
	border: 0;
	color: #fff;
	line-height: 2.3076923077em;
}
.sib_signup_form .sib-default-btn {
	border-bottom: 1px solid #fff;
	border-top: 1px solid #fff;
}

.woocommerce {
	/*.app-main.app-container{
	         margin-top: 8em;
	   }*/
}
.woocommerce nav.woocommerce-pagination ul li a {
	padding: 10px;
	font-size: 0.625em;
	font-weight: 700;
	text-transform: uppercase;
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
	color: #000;
	background-color: #fff;
}
.woocommerce nav.woocommerce-pagination ul li span {
	padding: 10px;
	font-size: 0.625em;
	font-weight: 700;
	text-transform: uppercase;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
	color: #000;
	background-color: #fff;
}
.woocommerce form .form-row {
	margin-bottom: 3em;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
	color: #fff;
	font-size: 1em;
	padding: 0.5em 0;
	background-color: transparent;
	border: 0;
	border-bottom: 1px solid #fff;
}
.woocommerce-error::before {
	color: #ff6b6b;
}
.woocommerce-info::before {
	color: #ffe66d;
}
.woocommerce-message::before {
	color: #7bc8a4;
}
.woocommerce-info, .woocommerce-error, .woocommerce-message {
	background-color: transparent;
	color: #fff;
	display: flex;
	flex-direction: column-reverse;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid #fff;
	border-top: 1px solid #fff;
}
.woocommerce-info::before, .woocommerce-error::before, .woocommerce-message::before {
	top: 50%;
	margin-top: -0.5em;
}
.woocommerce-info::after, .woocommerce-error::after, .woocommerce-message::after {
	display: none;
}
.woocommerce-info a, .woocommerce-error a, .woocommerce-message a {
	margin: 1em 0;
}
@media (min-width: 600px) {
	.woocommerce-info, .woocommerce-error, .woocommerce-message {
		flex-direction: row-reverse;
		margin: 0;
	}
}
.woocommerce ul.products {
	display: flex;
	justify-content: space-around;
	align-items: stretch;
	flex-wrap: wrap;
}
@media (min-width: 700px) {
	.woocommerce ul.products {
		justify-content: flex-start;
	}
}
.woocommerce ul.products.columns-3:before, .woocommerce ul.products.columns-3:after {
	display: none;
}
.woocommerce ul.products.columns-3 li.product {
	float: none;
	width: 100%;
	max-width: 350px;
	margin: 0 0 7.5em;
}
@media (min-width: 700px) {
	.woocommerce ul.products.columns-3 li.product {
		flex: 1;
		min-width: 40%;
		max-width: 40%;
		margin-left: 5%;
		margin-right: 5%;
	}
}
@media (min-width: 1050px) {
	.woocommerce ul.products.columns-3 li.product {
		min-width: 30%;
		max-width: 30%;
		margin-left: 0;
		margin-right: 0;
	}
	.woocommerce ul.products.columns-3 li.product:nth-child(3n+2) {
		margin-left: 5%;
		margin-right: 5%;
	}
}
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
	text-align: center;
}
.woocommerce ul.products li.product:before, .woocommerce-page ul.products li.product:before {
	content: "";
	display: block;
	padding-bottom: 100%;
}
.woocommerce ul.products li.product a, .woocommerce-page ul.products li.product a {
	display: block;
	position: absolute;
	top: 0;
	height: 100%;
	width: 100%;
	bottom: 0;
}
.woocommerce ul.products li.product a::after, .woocommerce-page ul.products li.product a::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 0;
	padding-bottom: 100%;
	background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.6));
	z-index: 2;
}
.woocommerce ul.products li.product a .woocommerce-placeholder, .woocommerce-page ul.products li.product a .woocommerce-placeholder {
	border: 0;
}
.woocommerce ul.products li.product a img, .woocommerce-page ul.products li.product a img {
	width: auto;
	height: 100%;
	margin: 0 auto;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce-page ul.products li.product .woocommerce-loop-product__title {
	padding: 0;
	transform: translateY(-50%);
	position: relative;
	z-index: 3;
}
.woocommerce ul.products li.product .price, .woocommerce-page ul.products li.product .price {
	color: #fff;
}
.woocommerce div.product div.images img {
	width: auto;
}
.woocommerce div.product div.images img.emoji {
	display: inline;
}
.woocommerce div.product .entry-summary {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.woocommerce div.product .entry-summary .product_title {
	flex-basis: 70%;
	font-size: 1.375em;
}
.woocommerce div.product .entry-summary .product_meta {
	flex-basis: 100%;
}
.woocommerce div.product .entry-summary .cart {
	flex-basis: 100%;
}
.woocommerce div.product .entry-summary .sku_wrapper {
	display: none;
}
.woocommerce div.product .stock,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: #fff;
}
.woocommerce div.product p.price {
	flex-basis: 30%;
	margin: 0;
	text-align: right;
	font-size: 1.375em;
}
.woocommerce div.product form.cart:not(.variations_form):not(.grouped_form) {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
}
.woocommerce div.product form.cart {
	margin-top: 2em;
}
.woocommerce div.product form.cart div.quantity {
	margin-right: 2em;
}
.woocommerce div.product form.cart div.quantity .qty {
	height: calc(100% + 6px);
	margin-top: -3px;
	padding: 0.5em;
	font-size: 1em;
	border: 0;
	box-sizing: border-box;
}
.woocommerce div.product form.cart .button {
	margin: 0;
}
.woocommerce div.product .woocommerce-variation-add-to-cart {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	border-radius: 0;
	border-color: #fff;
	background-color: transparent;
	margin: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	color: #fff;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: #000;
}
.woocommerce .products.related {
	clear: both;
}
.woocommerce table.cart td.actions .coupon {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
}
.woocommerce table.cart td.actions .coupon .input-text {
	margin-top: -3px;
	margin-bottom: -3px;
	font-size: 1em;
	border: 0;
	padding: 0.5em;
}
.woocommerce table.cart td.actions .coupon .button {
	margin: 0;
}
.woocommerce table.shop_table td {
	border-top: 1px solid #fff;
}
.woocommerce table.shop_attributes th {
	text-align: left;
}
.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0 0 1em;
	padding: 0;
}
.woocommerce-MyAccount-navigation-link {
	margin-bottom: 0.5em;
	text-transform: uppercase;
}
.woocommerce-MyAccount-navigation-link a {
	text-decoration: none;
}
.woocommerce-MyAccount-navigation-link.is-active a, .woocommerce-MyAccount-navigation-link:hover, .woocommerce-MyAccount-navigation-link:focus {
	text-decoration: underline;
}
.woocommerce #add_payment_method #payment,
.woocommerce .woocommerce-cart #payment,
.woocommerce .woocommerce-checkout #payment {
	background-color: transparent;
}

.select2-container--default .select2-selection--single {
	color: #fff;
	font-size: 1em;
	background-color: transparent;
	border: 0;
	border-bottom: 1px solid #fff;
	border-radius: 0;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #fff;
	padding-left: 0;
}

.select2-container--open .select2-dropdown--below {
	background-color: #000;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
	color: #fff;
	font-size: 1em;
	background-color: transparent;
}

div.gform_wrapper {
	max-width: 800px;
	margin: 5em auto;
}
div.gform_wrapper input::-webkit-input-placeholder { /* Chrome/Opera/Safari */
	color: #fff;
}
div.gform_wrapper input::-moz-placeholder { /* Firefox 19+ */
	color: #fff;
}
div.gform_wrapper input:-ms-input-placeholder { /* IE 10+ */
	color: #fff;
}
div.gform_wrapper input:-moz-placeholder { /* Firefox 18- */
	color: #fff;
}
div.gform_wrapper .gform_fields div.ginput_container {
	margin: 0 !important;
}
div.gform_wrapper .gform_fields .gfield {
	margin: 0 0 3em;
	/*&_label{
		position: absolute;
		visibility: hidden;
		z-index: -1;
	}*/
}
div.gform_wrapper .field_sublabel_above .ginput_complex.ginput_container label,
div.gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label {
	margin-top: 10px;
	margin-bottom: 2px;
	font-style: italic;
}
div.gform_wrapper textarea,
div.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {
	font-size: 1em;
	color: #fff;
	background: transparent;
	border: 0;
	border-bottom: 1px solid #fff;
}
div.gform_wrapper textarea {
	border-left: 1px solid #fff;
}
div.gform_wrapper .gfield_radio > li {
	display: inline-block;
	margin-right: 1em;
}
div.gform_wrapper .ginput_container_fileupload input {
	padding: 1em 1em 1em 0;
	font-style: italic;
	cursor: pointer;
}
div.gform_wrapper div.validation_error {
	color: #ff6b6b;
	border-color: currentColor;
}
div.gform_wrapper li.gfield_error.gfield_error,
div.gform_wrapper li.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
div.gform_wrapper li.gfield_error textarea {
	margin-bottom: 3em;
	border-color: #ff6b6b;
	background-color: transparent;
}
div.gform_wrapper li.gfield_error .validation_message,
div.gform_wrapper li.gfield_error .gfield_label {
	color: #ff6b6b;
}

/**
 * A11y-dialog library
 * @doc : https://a11y-dialog.netlify.app/
 * @sandbox : https://codesandbox.io/s/a11y-dialog-v7-pnwqu
 */
/* Dialog element ---------------------------- */
.a11y-dialog {
	display: flex;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 101;
}
.a11y-dialog[aria-hidden=true] {
	display: none;
}

/* Dialog overlay ---------------------------- */
.a11y-dialog-overlay {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(43, 46, 56, 0.9);
	animation: fade-in 200ms both;
}

/* Dialog content ---------------------------- */
.a11y-dialog-content {
	position: relative;
	z-index: 2;
	height: -moz-fit-content;
	height: fit-content;
	max-height: 90vh;
	overflow-y: auto;
	margin: 20px auto;
	animation: fade-in 400ms 200ms both, slide-up 400ms 200ms both;
	width: min(100% - 40px, 1200px);
	margin-left: auto;
	margin-right: auto;
}

@keyframes fade-in {
	from {
		opacity: 0;
	}
}
@keyframes slide-up {
	from {
		transform: translateY(10%);
	}
}
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(50%);
	        clip-path: inset(50%);
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	word-wrap: normal;
	border: none;
}
.screen-reader-text:active, .screen-reader-text:focus {
	clip: auto;
	-webkit-clip-path: none;
	        clip-path: none;
	display: block;
	height: auto;
	width: auto;
	z-index: 100000;
	text-decoration: none;
}

@media (min-width: 375px) {
	.alignleft {
		float: left;
		margin: 0 1.5rem 1.5rem 0;
		max-width: 50%;
	}
}

@media (min-width: 375px) {
	.alignright {
		float: left;
		margin: 0 0 1.5rem 1.5rem;
		max-width: 50%;
	}
}

.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	clear: both;
}

.alignfull,
.alignwide {
	margin-left: calc(-50vw + 50%);
	margin-right: calc(-50vw + 50%);
	width: auto;
	max-width: 100vw;
}

@media (min-width: 750px) {
	.alignwide {
		margin-left: -25%;
		margin-right: -25%;
		max-width: calc( 750px + 50% );
	}
}
.has-white-color {
	color: #fff;
}

.has-white-background-color {
	background-color: #fff;
}
.has-white-background-color.wp-block-utopiales-program::before {
	background-color: #fff;
}

.has-black-color {
	color: #000;
}

.has-black-background-color {
	background-color: #000;
}
.has-black-background-color.wp-block-utopiales-program::before {
	background-color: #000;
}

.has-green-color {
	color: #7bc8a4;
}

.has-green-background-color {
	background-color: #7bc8a4;
}
.has-green-background-color.wp-block-utopiales-program::before {
	background-color: #7bc8a4;
}

.has-red-color {
	color: #ff6b6b;
}

.has-red-background-color {
	background-color: #ff6b6b;
}
.has-red-background-color.wp-block-utopiales-program::before {
	background-color: #ff6b6b;
}

.has-yellow-color {
	color: #ffe66d;
}

.has-yellow-background-color {
	background-color: #ffe66d;
}
.has-yellow-background-color.wp-block-utopiales-program::before {
	background-color: #ffe66d;
}

.has-small-font-size {
	font-size: 12px;
}

.has-medium-font-size {
	font-size: 14px;
}

.has-regular-font-size {
	font-size: 16px;
}

.has-large-font-size {
	font-size: 36px;
}

.has-larger-font-size {
	font-size: 48px;
}

.has-big-font-size {
	font-size: 90px;
}

img.wp-smiley,
img.emoji {
	display: inline;
	width: 1em;
	height: 1em;
	margin: 0 0.07em;
	padding: 0;
	vertical-align: -0.1em;
	background: none;
	border: none;
	box-shadow: none;
}
