@charset "UTF-8";

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

/*
navbar height	: based on icons heights (1em) > for --header-height
primary height	: 1.25em + .5em x 2 padding == 2.25em > use for #navigation / for --header-height
*/

@media (min-width:0px) {
	body {
		--navbar-height: -webkit-calc(var(--body-font-size) * 5);
		--navbar-height: -moz-calc(var(--body-font-size) * 5);
		--navbar-height: calc(var(--body-font-size) * 5);
		--primary-height: 0em;
	}
}
@media (min-width:760px) {
	body {
		--navbar-height: -webkit-calc(1.5em + 1em);
		--navbar-height: -moz-calc(1.5em + 1em);
		--navbar-height: calc(1.5em + 1em);
		--primary-height: 2.25em;
	}
}

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

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

nav,
nav a {
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: -moz-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
}
nav a {
	margin: 0;
}

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

nav.full {
	width: 100%;
}
nav.list {
	-webkit-box-orient:vertical;
	-webkit-box-direction:normal;
	-webkit-flex-direction:column;
	   -moz-box-orient:vertical;
	   -moz-box-direction:normal;
	    -ms-flex-direction:column;
	        flex-direction:column;
}
nav.centered {
	-webkit-box-pack:center;
	-webkit-justify-content:center;
	   -moz-box-pack:center;
	    -ms-flex-pack:center;
	        justify-content:center;
}

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

/*
nav.buttons
a.button

buttons > a / span

nav.buttons == short line under (text-decoration)
nav.buttons.large == larger line under (border-bottom)
*/

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

.buttons {
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-box-align: center;
	-webkit-align-items: center;
	   -moz-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	   -moz-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap: 2em;
}
.buttons > *,
.button {
	position:relative;
	z-index:10;
	display:-webkit-inline-box;
	display:-webkit-inline-flex;
	display:-moz-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
	-webkit-box-align:center;
	-webkit-align-items:center;
	   -moz-box-align:center;
	    -ms-flex-align:center;
	        align-items:center;
	-webkit-box-pack:center;
	-webkit-justify-content:center;
	   -moz-box-pack:center;
	    -ms-flex-pack:center;
	        justify-content:center;
	gap:1em;
	font-size:1em;
	line-height:1em;
	text-transform: uppercase;
	border:0;
	background:none;
}
.buttons a:hover,
.button:hover {
	/*color:var(--primary-color);*/
	color:var(--theme-color);
	background:none;
}
.buttons a:after,
.button:after {
	content:"";
	position:absolute;
	bottom:0;
	left:50%;
	height:var(--logo-line-height);
	width:100%;
	-webkit-transform:translate3d(-50%,100%,0);
	   -moz-transform:translate3d(-50%,100%,0);
	        transform:translate3d(-50%,100%,0);
	-webkit-box-shadow:inset 0 0 0 var(--logo-line-height);
	   -moz-box-shadow:inset 0 0 0 var(--logo-line-height);
	        box-shadow:inset 0 0 0 var(--logo-line-height);
}
.buttons a:hover:after,
.button:hover:after {
	width:var(--logo-line-width);
}
.buttons a > *,
.button > * {
	margin:0;
}
.button.centered {
	margin-left:auto;
	margin-right:auto;
}

/********** BUTTONS FLAT **********/
/* no border */

.buttons.flat a:after,
.button.flat:after {
	content:"";
	display:none;
}

/********** MORE-LINK **********/

.more-link {
	position:absolute;
	top:0;
	left:0;
	height:100%;
	width:100%;
	border:none;
}
.more-link:after {
	display:none;
}

/********** READ-MORE **********/
/* in grid */

.read-more {
	margin-right:.5em;
}

/********** LINK BUTTON **********/
/* eg. season download button */

.link {
	position:relative;
	font-size:.875em;
	line-height:1em;
	padding-left:2em !important;
	text-decoration:underline;
	border:0;
}
.link:hover {
	/*color:var(--primary-color);*/
	color:var(--theme-color);
}
.link:before {
	content:'→';
	position:absolute;
	top:50%;
	left:0;
	-webkit-transform:translate3d(50%,-50%,0);
	   -moz-transform:translate3d(50%,-50%,0);
	        transform:translate3d(50%,-50%,0);
}
.link:hover:before {
	-webkit-transform:translate3d(80%,-50%,0);
	   -moz-transform:translate3d(80%,-50%,0);
	        transform:translate3d(80%,-50%,0);
}

/*************************************************************/
/*************************************************************/
/********** SECTION-LINK / GO BACK / GO TOP BUTTONS **********/
/*************************************************************/
/*************************************************************/

/*
section-link == section to section button
go-back == history back button
go-to-the-top == scroll top button
*/

.section-link svg,
.go-back svg,
.go-top svg {
	height:1em;
	width:1em;
}
.section-link:hover .svg-icon-outline,
.go-back:hover .svg-icon-outline,
.go-top:hover .svg-icon-outline {
	/*stroke:var(--primary-color);*/
	stroke:var(--theme-color);
}
/*
body.alt .section-link:hover .svg-icon-outline,
body.alt .go-back:hover .svg-icon-outline,
body.alt .go-top:hover .svg-icon-outline {
	stroke:var(--secondary-color);
}
*/

/********** SECTION-LINK **********/

.section-link {
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	margin:auto;
}
.section-link svg {
	-webkit-transform: rotate(-90deg);
	   -moz-transform: rotate(-90deg);
	    -ms-transform: rotate(-90deg);
	     -o-transform: rotate(-90deg);
	        transform: rotate(-90deg);
}
.section-link:hover .icon-arrow-down.animated {
    -webkit-transform: rotate(-90deg) translate3d(-.125em,0,0);
       -moz-transform: rotate(-90deg) translate3d(-.125em,0,0);
            transform: rotate(-90deg) translate3d(-.125em,0,0);
}

/********** ACCESSIBILITY-TOGGLE **********/

/** default **/

.accessibility-toggle {
	display:-webkit-inline-box;
	display:-webkit-inline-flex;
	display:-moz-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
	font-size:1em;
	line-height:1em;
	padding:1em;
	text-transform: none;
}

/** in navbar **/

#navbar .accessibility-toggle {
	position:fixed;
	bottom:1rem;
	left:1rem;
	color:var(--dark-color);
	background:var(--bright-color);
	-webkit-border-radius:50%;
	   -moz-border-radius:50%;
	        border-radius:50%;
}
#navbar .accessibility-toggle:hover {
	color:var(--bright-color) !important;
	background:var(--theme-color);
}

/********** GO BACK **********/

.go-back {
	display:-webkit-inline-box;
	display:-webkit-inline-flex;
	display:-moz-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
	width:1em !important;
	min-width:auto !important; /* for columns */
	line-height:1em;
	margin:0;
}
.go-back:hover {
	color:var(--theme-color);
}

/********** GO TOP **********/

/** default **/

.go-to-the-top {
	display:-webkit-inline-box;
	display:-webkit-inline-flex;
	display:-moz-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
	min-width:auto !important; /* for columns */
	line-height:1em;
	padding:1rem;
	margin:0;
	background:var(--bright-color);
	-webkit-border-radius: 50%;
	   -moz-border-radius: 50%;
	        border-radius: 50%;
}
.go-to-the-top:hover {
	color:var(--bright-color);
	/*background:var(--primary-color);*/
	background:var(--theme-color);
}
.go-to-the-top svg {
	-webkit-transform:rotate(90deg);
	   -moz-transform:rotate(90deg);
	    -ms-transform:rotate(90deg);
	     -o-transform:rotate(90deg);
	        transform:rotate(90deg);
}
/*
body.alt .go-to-the-top:hover {
	background:var(--secondary-color);
}
*/

/** in footer **/

footer .go-to-the-top {
	position:fixed;
	bottom:1rem;
	right:1rem;
	opacity:0;
	visibility: hidden;
	-webkit-transform:translate3d(0,100%,0);
	   -moz-transform:translate3d(0,100%,0);
	        transform:translate3d(0,100%,0);
}
body.scrolled footer .go-to-the-top {
	opacity:1;
	visibility: visible;
	-webkit-transform:translate3d(0,0,0);
	   -moz-transform:translate3d(0,0,0);
	        transform:translate3d(0,0,0);
}


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

.cky-btn-revisit-wrapper {
	position: fixed;
	height: 3em !important;
	width: 3em !important;
	font-size: 1em;
	line-height: 1;
	background: var(--theme-color);
}
.cky-revisit-bottom-left {
	bottom: 5em !important;
	left: 1em !important;
}
.cky-btn-revisit-wrapper .cky-btn-revisit img {
	height:2em !important;
	width:2em !important;
}
body.end .cky-btn-revisit-wrapper {
	-webkit-transform:translate3d(0,-webkit-calc(var(--footer-height) * -1),0);
	   -moz-transform:translate3d(0,-moz-calc(var(--footer-height) * -1),0);
	        transform:translate3d(0,calc(var(--footer-height) * -1),0);
}

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

/** mobile **/
@media (max-width:760px) {
	/* go-back */
	.go-back {
		font-size:2em;
	}
	/* in single event */
	section.focus .go-back {
		margin-top:-1em !important;
		-webkit-transform:translate3d(0,-webkit-calc(100% + var(--gutter-gap) + .375em),0);
		   -moz-transform:translate3d(0,-moz-calc(100% + var(--gutter-gap) + .375em),0);
		        transform:translate3d(0,calc(100% + var(--gutter-gap) + .375em),0);
	}
	/* go-to-the-top */
	.go-to-the-top {
		font-size:1em;
	}
}
/** desktop **/
@media (min-width:760px) {
	body.end #navbar .accessibility-toggle,
	body.end footer .go-to-the-top {
		-webkit-transform:translate3d(0,-webkit-calc(var(--footer-height) * -1),0);
		   -moz-transform:translate3d(0,-moz-calc(var(--footer-height) * -1),0);
		        transform:translate3d(0,calc(var(--footer-height) * -1),0);
	}
	/* go-back */
	.go-back {
		font-size:3em;
	}
	/* in single post */
	.go-back.large {
		margin-top:-1em !important;
		-webkit-transform:translate3d(0,100%,0);
		   -moz-transform:translate3d(0,100%,0);
		        transform:translate3d(0,100%,0);
	}
	.go-back.large + .article {
		width:-webkit-calc(100% - 8em);
		width:-moz-calc(100% - 8em);
		width:calc(100% - 8em);
	}
	/* in single event */
	section.focus .go-back {
		position:absolute;
		z-index:10;
		top:0;
		left:0;
		margin:0 !important;
		-webkit-transform:none;
		   -moz-transform:none;
		    -ms-transform:none;
		     -o-transform:none;
		        transform:none;
	}
	/* go-to-the-top */
	.go-to-the-top {
		font-size:2em;
	}
}

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

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

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

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

.menu {
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-flex-wrap:wrap;
	    -ms-flex-wrap:wrap;
	        flex-wrap:wrap;
	line-height:1em;
}
.menu .menu {
	-webkit-box-orient:vertical;
	-webkit-box-direction:normal;
	-webkit-flex-direction:column;
	   -moz-box-orient:vertical;
	   -moz-box-direction:normal;
	    -ms-flex-direction:column;
	        flex-direction:column;
	gap:.75em;
	font-size:.625em;
	margin:0;
}
.menu > * {
	position:relative;
	list-style: none;
	margin:0;
}
.menu a {
	display:-webkit-inline-box;
	display:-webkit-inline-flex;
	display:-moz-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
	-webkit-box-orient:horizontal;
	-webkit-box-direction:normal;
	-webkit-flex-direction:row;
	   -moz-box-orient:horizontal;
	   -moz-box-direction:normal;
	    -ms-flex-direction:row;
	        flex-direction:row;
	gap:1em;
	color:inherit;
	border:0 !important;
}

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

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

.menu a.collapse-toggle {
	display:none;
	visibility:hidden;
}
body.alt .menu a.collapse-toggle {
	color:var(--secondary-color);
}

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

.menu a:hover,
.menu a.active {
	/*color:var(--primary-color);*/
	color:var(--theme-color);
}
/*
body.alt .menu a:hover,
body.alt .menu a.active {
	color:var(--secondary-color);
}
*/
.menu a.alt {
	/*color:var(--primary-color);*/
	color:var(--theme-color);
}
.menu a.alt:hover,
.menu a.alt.active {
	color:var(--dark-color);
}
/*
body.alt .menu a.alt {
	color:var(--secondary-color);
}
.menu a.alt:hover,
.menu a.alt.active,
body.alt .menu a.alt:hover,
body.alt .menu a.alt.active {
	color:var(--dark-color);
}
*/

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

/** mobile **/
@media (max-width:760px) {
	.menu {
		-webkit-box-orient:vertical;
		-webkit-box-direction:normal;
		-webkit-flex-direction:column;
		   -moz-box-orient:vertical;
		   -moz-box-direction:normal;
		    -ms-flex-direction:column;
		        flex-direction:column;
		gap:1em;
		font-size:1.25em;
	}
	/* collapsible */
	.menu.collapsible > li > * {
		padding-left:3.25em;
	}
	.menu a.collapse-toggle {
		position:absolute;
		top:0;
		left:0;
		height:2em;
		width:2em;
		padding:0 !important;
		display:-webkit-inline-box;
		display:-webkit-inline-flex;
		display:-moz-inline-box;
		display:-ms-inline-flexbox;
		display:inline-flex;
		-webkit-box-align: center;
		-webkit-align-items: center;
		   -moz-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-box-pack: center;
		-webkit-justify-content: center;
		   -moz-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		visibility:visible;
		/*color:var(--primary-color);*/
		color:var(--theme-color);
	}
	.menu a.collapse-toggle > * {
		font-size:.75em;
		line-height:1em;
		margin:auto;
	}
	.menu a.collapse-toggle + .menu {
		-webkit-flex-wrap:nowrap;
		    -ms-flex-wrap:nowrap;
		        flex-wrap:nowrap;
		opacity:0;
		max-height:0;
		overflow:hidden;
		margin:0;
	}
	.menu a.collapse-toggle + .menu.collapsed {
		opacity:1;
		max-height:10em;
	}
}
/** desktop **/
@media (min-width:760px) {
	.menu {
		-webkit-box-orient:horizontal;
		-webkit-box-direction:normal;
		-webkit-flex-direction:row;
		   -moz-box-orient:horizontal;
		   -moz-box-direction:normal;
		    -ms-flex-direction:row;
		        flex-direction:row;
		gap:2em 1em;
		font-size:1.5em;
	}
	.menu .menu {
		margin-left: .375em;
	}
	/* collapsible */
	.menu.collapsible {
		max-height:none !important;
	}
}

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

#navbar {
	position:relative;
	z-index:20;
	display:-webkit-inline-box;
	display:-webkit-inline-flex;
	display:-moz-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
	-webkit-box-align: stretch;
	-webkit-align-items: stretch;
	   -moz-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	   -moz-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	text-transform: uppercase;
	white-space: nowrap;
	width:100%;
	pointer-events:none;
}
#navbar > * {
	position:relative;
	z-index:10;
	display:-webkit-inline-box;
	display:-webkit-inline-flex;
	display:-moz-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
	-webkit-box-align:center;
	-webkit-align-items:center;
	   -moz-box-align:center;
	    -ms-flex-align:center;
	        align-items:center;
	margin:0;
	pointer-events:auto;
}
#navbar a:hover,
#navbar a.active {
	/*color:var(--primary-color);*/
	color:var(--theme-color);
}
#navbar [class^="icon-"] {
	font-size:1.5em;
	line-height:1em;
	margin:.5em;
}
/*
body.alt #navbar a:hover {
	color:var(--secondary-color);
}
*/
/********** @MEDIA **********/

/** mobile **/
@media (max-width:760px) {
	#navbar {
		position: absolute;
		top:0;
		left:0;
		padding:1em;
	}
}

/**********************************/
/**********************************/
/********** ALIAS / USER **********/
/**********************************/
/**********************************/

/*
calendar is visible as an icon in mobile NOT in alias
calendar is NOT visible in navbar
*/

nav.alias {
	display:-webkit-inline-box;
	display:-webkit-inline-flex;
	display:-moz-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
	-webkit-flex-wrap:wrap;
	    -ms-flex-wrap:wrap;
	        flex-wrap:wrap;
	line-height:1em;
}

/********** IN NAVBAR **********/

#navbar nav.alias {
	margin:0 auto 0 0;
}
#navbar nav.alias.user {
	margin:0 0 0 auto;
}

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

/** mobile **/
@media (max-width:760px) {
	nav.alias {
		font-size:1em;
	}
	nav.alias a {
		padding:1em .5em;
	}
	/* in navbar */
	#navbar nav.alias {
		display:none;
		visibility: hidden;
	}
	/* in navigation */
	#navigation nav.alias {
		-webkit-box-pack:center;
		-webkit-justify-content:center;
		   -moz-box-pack:center;
		    -ms-flex-pack:center;
		        justify-content:center;
		font-size:.75em;
		margin:0 !important;
	}
}
/** desktop **/
@media (min-width:760px) {
	nav.alias {
		font-size:.75em;
	}
	nav.alias a {
		padding:1em;
	}
	/* in navigation */
	#navigation nav.alias {
		display:none;
		visibility: hidden;
	}
}

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

#primary {
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:center;
	-webkit-align-items:center;
	   -moz-box-align:center;
	    -ms-flex-align:center;
	        align-items:center;
	-webkit-box-pack:justify;
	-webkit-justify-content:space-between;
	   -moz-box-pack:justify;
	    -ms-flex-pack:justify;
	        justify-content:space-between;
	width:100%;
	max-width:var(--content-maxwidth);
	margin:0 auto;
	text-align:center;
	white-space:nowrap;
	font-size:1.25em;
	line-height:1em;
}
#primary a {
	-webkit-box-flex:1;
	-webkit-flex-grow:1;
	   -moz-box-flex:1;
	    -ms-flex-positive:1;
	        flex-grow:1;
	-webkit-flex-basis:0;
	    -ms-flex-preferred-size:0;
	        flex-basis:0;
	position:relative;
	display:-webkit-inline-box;
	display:-webkit-inline-flex;
	display:-moz-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	   -moz-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	pointer-events:none;
	font-size:inherit;
	line-height:inherit;
	margin:0;
}
#primary a > * {
	-webkit-box-flex:1;
	-webkit-flex-grow:1;
	   -moz-box-flex:1;
	    -ms-flex-positive:1;
	        flex-grow:1;
	-webkit-flex-basis:0;
	    -ms-flex-preferred-size:0;
	        flex-basis:0;
	font-size:inherit;
	line-height:inherit;
	pointer-events:auto;
}
#primary a span {
	padding:.5em;
	margin:0 1em; /* for focus-visible */
}
#primary a:hover span,
#primary a.active span {
	/*color:var(--primary-color);*/
	color:var(--theme-color);
}
#primary a.active {
	pointer-events:none;
}

/********** SEPARATIONS **********/

#primary a > *,
#primary a:before,
#primary a:after {
	-webkit-box-flex:1;
	-webkit-flex-grow:1;
	   -moz-box-flex:1;
	    -ms-flex-positive:1;
	        flex-grow:1;
	-webkit-flex-basis:0;
	    -ms-flex-preferred-size:0;
	        flex-basis:0;
}
#primary a:first-child:before,
#primary a:after {
	content:"";
	position:relative;
	display:inline-block;
	-webkit-box-flex:1;
	-webkit-flex-grow:1;
	   -moz-box-flex:1;
	    -ms-flex-positive:1;
	        flex-grow:1;
	-webkit-flex-basis:0;
	    -ms-flex-preferred-size:0;
	        flex-basis:0;
	max-width:var(--logo-line-width);
	margin:auto;
	pointer-events:none;
}
#primary a:not(:last-child):after {
	border-top:solid var(--logo-line-height);
}
#primary a:nth-child(2):after {
	visibility: hidden;
}

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

body.expanded #primary {
	opacity:0;
	visibility: hidden;
}

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

/** mobile **/
@media (max-width:760px) {
	#primary {
		display:none;
		visibility:hidden;
	}
}

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

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

#navigation {
	position:fixed;
	z-index:1300;
	left:0;
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	height:0;
	width:100%;
	overflow:hidden;
	visibility:hidden;
	top:-webkit-calc(var(--header-height) - var(--primary-height));
	top:-moz-calc(var(--header-height) - var(--primary-height));
	top:calc(var(--header-height) - var(--primary-height));

	scroll-behavior: smooth;
}
body.expanded #navigation {
	overflow:auto;
	visibility:visible;
	height:-webkit-calc(var(--viewport-height) - var(--header-height) + var(--primary-height));
	height:-moz-calc(var(--viewport-height) - var(--header-height) + var(--primary-height));
	height:calc(var(--viewport-height) - var(--header-height) + var(--primary-height));
}

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

#navigation .navigation-content {
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-orient:vertical;
	-webkit-box-direction:normal;
	-webkit-flex-direction:column;
	   -moz-box-orient:vertical;
	   -moz-box-direction:normal;
	    -ms-flex-direction:column;
	        flex-direction:column;
	width:100%;
	padding:var(--gutter-gap) -webkit-calc(var(--gutter-gap) * 2);
	padding:var(--gutter-gap) -moz-calc(var(--gutter-gap) * 2);
	padding:var(--gutter-gap) calc(var(--gutter-gap) * 2);
	background:var(--light-color);
}
#navigation .navigation-content > * {
	pointer-events:auto;
	opacity:0;
	margin:auto;
	-webkit-transform:translate3d(0,-3em,0);
	   -moz-transform:translate3d(0,-3em,0);
	        transform:translate3d(0,-3em,0);
}

/** mobile **/
@media (max-width:760px) {
	#navigation .navigation-content {
		gap:0;
	}
}
/** desktop **/
@media (min-width:760px) {
	#navigation .navigation-content {
		gap:var(--gutter-gap);
	}
}

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

body.expanded #navigation .navigation-content {
	overflow:auto;
}
body.expanded #navigation .navigation-content > * {
	opacity:1;
	-webkit-transform:translate3d(0,0,0);
	   -moz-transform:translate3d(0,0,0);
	        transform:translate3d(0,0,0);
}

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

/* based on .menu */

#sitemap {
	width:100%;
}
#sitemap .menu {
	gap:0;
}
#sitemap .menu a {
	padding:.5em; /* for focus-visible */
	visibility: hidden;
}
#sitemap .menu a em {
	font-style: normal;
}

body.expanded #sitemap .menu a {
	visibility: visible;
}

/** mobile **/
@media (max-width:760px) {
	#sitemap > .menu a {
		margin-left:2em;
	}
	#sitemap > .menu a.collapse-toggle,
	#sitemap > .menu .menu a {
		margin-left:0;
	}
}
/** desktop **/
@media (min-width:760px) {
	#sitemap > .menu {
		width:100%;
		display:-ms-grid;
		display:grid;
		-ms-grid-columns: 1fr 1em 1fr 1em 1fr 1em 1fr;
		grid-template-columns: repeat(4, 1fr);
		grid-gap:.5em 1em;
		grid-auto-flow: row;
	}
}

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

#navigation-expand {
	position:relative;
	z-index:2100;
	display:-webkit-inline-box;
	display:-webkit-inline-flex;
	display:-moz-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
	-webkit-box-align:center;
	-webkit-align-items:center;
	   -moz-box-align:center;
	    -ms-flex-align:center;
	        align-items:center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	   -moz-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

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

body.expanded {
	overflow:hidden;
}

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

.secondary {
	position:relative;
	-webkit-flex-wrap:wrap;
	    -ms-flex-wrap:wrap;
	        flex-wrap:wrap; /* for mobile */
	line-height:1em;
	text-align:center;
}
.secondary a {
	margin:0;
}
.secondary a:after {
	content:"";
	position:absolute;
	bottom:0;
	left:1em;
	height:var(--logo-line-height);
	width:0;
	-webkit-box-shadow:inset 0 0 0 1em;
	   -moz-box-shadow:inset 0 0 0 1em;
	        box-shadow:inset 0 0 0 1em;
}
.secondary a:hover:after {
	width:-webkit-calc(100% - 2em);
	width:-moz-calc(100% - 2em);
	width:calc(100% - 2em);
}

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

/** mobile **/
@media (max-width:760px) {
	.secondary a {
		padding:1em .5em;
	}
	footer .secondary {
		display:none;
	}
}
/** desktop **/
@media (min-width:760px) {
	.secondary a {
		padding:1em;
	}
	header .secondary {
		display:none;
	}
}

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

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

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

/** mobile **/
@media (max-width:760px) {
	.socialbar a span {
		display:none;
	}
	.socialbar a [class^="icon-"] {
		display:block;
	}
}
/** desktop **/
@media (min-width:760px) {
	.socialbar a [class^="icon-"] {
		display:none;
	}
}

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

/* 1em == anchor padding */

nav.contextual,
#contextual {
	position:-webkit-sticky;
	position:sticky;
	z-index:1210;
	top:var(--header-height);
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:center;
	-webkit-align-items:center;
	   -moz-box-align:center;
	    -ms-flex-align:center;
	        align-items:center;
	-webkit-flex-wrap:nowrap;
	    -ms-flex-wrap:nowrap;
	        flex-wrap:nowrap;
	font-size:var(--body-font-size);
	line-height:1em;
	text-transform: lowercase;
	white-space:nowrap;
	color:var(--dark-color);
	background:var(--bright-color);
	width:100%;
	max-width:none;
	margin:0;
}

nav.grid-filters + nav.contextual {
	top: 0;
	margin-top: 0 !important;
}

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

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

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

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

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

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

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

nav.contextual a:first-child,
nav.contextual nav a:first-child,
#contextual a:first-child,
#contextual nav a:first-child {
	margin-left:auto;
}
nav.contextual a:last-child,
nav.contextual nav a:last-child,
#contextual a:last-child,
#contextual nav a:last-child {
	margin-right:auto;
}
nav.contextual a,
#contextual a {
	color:inherit;
}
nav.contextual a:hover,
nav.contextual a.active,
#contextual a:hover,
#contextual a.active {
	/*color:var(--primary-color);;*/
	color:var(--theme-color);
	opacity:1;
}

/********** COLORS **********/
/*
body.alt nav.contextual a:hover,
body.alt nav.contextual a.active,
body.alt #contextual a:hover,
body.alt #contextual a.active {
	color:var(--secondary-color);
}
*/
/********** @MEDIA **********/

/* in main */

main > section nav.contextual,
main > section #contextual {
	margin-top:-webkit-calc(var(--gutter-gap) * -1) !important;
	margin-top:-moz-calc(var(--gutter-gap) * -1) !important;
	margin-top:calc(var(--gutter-gap) * -1) !important;
	-webkit-transform:translateX(-webkit-calc(var(--gutter-gap) * -2));
	   -moz-transform:translateX(-moz-calc(var(--gutter-gap) * -2));
	    -ms-transform:translateX(calc(var(--gutter-gap) * -2));
	     -o-transform:translateX(calc(var(--gutter-gap) * -2));
	        transform:translateX(calc(var(--gutter-gap) * -2));
	width:-webkit-calc(100% + var(--gutter-gap) * 4);
	width:-moz-calc(100% + var(--gutter-gap) * 4);
	width:calc(100% + var(--gutter-gap) * 4);
}

@media (min-width:0px) {
	nav.contextual a,
	#contextual a {
		padding:1em .5em;
	}
}
@media (min-width:760px) {
	nav.contextual a,
	#contextual a {
		padding:1em;
	}
}
@media (min-width:1000px) {
	nav.contextual a,
	#contextual a {
		padding:1em 1.5em;
	}
}

/**************************************/
/**************************************/
/********** NAV GRID FILTERS **********/
/**************************************/
/**************************************/

/*
.grid-filters
.grid-mode
*/

/********** GRID FILTERS **********/

nav.grid-filters {
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:center;
	-webkit-align-items:center;
	   -moz-box-align:center;
	    -ms-flex-align:center;
	        align-items:center;
	-webkit-box-pack:start;
	-webkit-justify-content:flex-start;
	   -moz-box-pack:start;
	    -ms-flex-pack:start;
	        justify-content:flex-start;
	width:100%;
	margin:0;
	line-height:1em;
}
nav.grid-filters > * {
	margin:0;
}
/********** TITLE **********/

nav.grid-filters .title {
	white-space: nowrap;
}
nav.grid-filters .title:hover,
nav.grid-filters .title.active {
	/*color:var(--primary-color);*/
	color:var(--theme-color);
}

/********** LINK **********/

nav.grid-filters .link {
	margin-left:auto;
}

/********** GRID MODE **********/

nav.grid-mode {
	display:-webkit-inline-box;
	display:-webkit-inline-flex;
	display:-moz-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
	-webkit-box-align:center;
	-webkit-align-items:center;
	   -moz-box-align:center;
	    -ms-flex-align:center;
	        align-items:center;
	gap:.5em;
	font-size:1.5em;
}
nav.grid-mode a:hover,
nav.grid-mode a.active {
	/*color:var(--primary-color);*/
	color:var(--theme-color);
}

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

@media (min-width:0px) {
	nav.grid-filters {
		font-size:1em;
		gap:1em;
	}
	nav.grid-filters .title {
		font-size:1em;
	}
}
@media (min-width:1000px) {
	nav.grid-filters {
		gap:2em;
	}
	nav.grid-filters .title {
		font-size:1.5em;
	}
}

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

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

nav.pagination,
nav.pagination .nav-links {
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:center;
	-webkit-align-items:center;
	   -moz-box-align:center;
	    -ms-flex-align:center;
	        align-items:center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	   -moz-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap:.5em;
	width:100%;
	font-size:.875em;
	line-height:1em;
	text-transform:uppercase;
}
nav.pagination a,
nav.pagination .page-numbers {
	display:inline-flex;
	font-size:inherit;
	font-weight:inherit;
	text-transform:inherit;
	text-align: center;
	padding:.5em;
	margin:0;
}
nav.pagination .current,
nav.pagination a.active,
nav.pagination a:hover {
	/*color:var(--primary-color);*/
	color:var(--theme-color);
}
/*
body.alt nav.pagination .current,
body.alt nav.pagination a.active,
body.alt nav.pagination a:hover {
	color:var(--secondary-color);
}
*/

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

nav.pagination .prev,
nav.pagination .next {
	display:-webkit-inline-box;
	display:-webkit-inline-flex;
	display:-moz-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
	-webkit-box-align:center;
	-webkit-align-items:center;
	   -moz-box-align:center;
	    -ms-flex-align:center;
	        align-items:center;
	gap:1em;
}

/* cf. fonts.css */

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


/********** DOTS **********/

/* conflict with .dots fx */

nav.pagination .page-numbers.dots {
	position: relative;
	top:auto;
	left:auto;
	height:auto;
	width: auto;
}

/**************************/
/**************************/
/********** TABS **********/
/**************************/
/**************************/

/*
.nav-tabs > span
.nav-tabs.large
ul.tabs > .tab
data-tabs == #tabs
*/

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

.nav-tabs {
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:center;
	-webkit-align-items:center;
	   -moz-box-align:center;
	    -ms-flex-align:center;
	        align-items:center;
	gap:.5em;
}
.nav-tabs a {
	text-transform:uppercase;
	white-space:nowrap;
}

/********** NAV TABS TITLES **********/

.nav-tabs.section-title:before {
	padding-right:0;
}

/********** TABS **********/

.tabs {
	display:block;
	overflow:hidden;
}
.tabs:after {
	content:"";
	display:block;
	clear:both;
}
.tabs > * {
	display:block;
	float:left;
	width:100%;
	margin-left:-9999rem;
	height:0;
	opacity:0;
	visibility: hidden;
}
.tabs > .active {
	margin-left:0;
	height:100%;
	opacity:1;
	visibility:visible;
}
.tabs > li + li {
	margin:0;
}

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

.tabs.is-loading:before {
	position:fixed;
	z-index:100;
	top:50%;
	left:50%;
	-webkit-transform:translate3d(-50%,-50%,0);
	   -moz-transform:translate3d(-50%,-50%,0);
	        transform:translate3d(-50%,-50%,0);
}
.tabs.is-loading .tab {
	opacity:0;
}

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

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

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

max-height: in JS
*/

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

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

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

.collapsible-container {
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	   -moz-box-orient: vertical;
	   -moz-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
}

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

a.collapse-toggle {
	display:-webkit-inline-box;
	display:-webkit-inline-flex;
	display:-moz-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	   -moz-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack:start;
	-webkit-justify-content:flex-start;
	   -moz-box-pack:start;
	    -ms-flex-pack:start;
	        justify-content:flex-start;
	gap:1em;
	width:100%;
	padding:.75em;
}
a.collapse-toggle:after {
	display:none;
}
a.collapse-toggle > * {
	margin:0;
}
a.collapse-toggle > [class^="icon-"] {
	margin-left: auto;
}
a.collapse-toggle.active > [class^="icon-"] {
	-webkit-transform:rotate(45deg);
	   -moz-transform:rotate(45deg);
	    -ms-transform:rotate(45deg);
	     -o-transform:rotate(45deg);
	        transform:rotate(45deg);
}

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

/*********************************/
/********** ALTERATIONS **********/
/*********************************/

/*
body.zoomed == font-size changed (JS)
body.contrasted == colors changed (JS)
*/

/********** PREVENT **********/

/*
not zoomable list == fixed font-size
eg. => font-size:min(max(var(--body-font-size), 4em), 6.25rem); the fixed value ==> @media

section.banner .content .title
*/

body.contrasted a.active,
body.contrasted a:hover {
	text-decoration: underline;
	text-decoration-thickness: .0625rem;
	-webkit-text-decoration-color: inherit;
	   -moz-text-decoration-color: inherit;
	        text-decoration-color: inherit;
}
body.contrasted #primary a.active span,
body.contrasted #primary a:hover span {
	text-decoration: underline;
	-webkit-text-decoration-color: inherit;
	   -moz-text-decoration-color: inherit;
	        text-decoration-color: inherit;
	text-decoration-thickness: .0625rem;
}

body.contrasted #primary a,
body.contrasted a.accessibility-toggle,
body.contrasted a.switcher,
body.contrasted nav.buttons a,
body.contrasted a.button {
	text-decoration: none !important;
}

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

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

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

button:focus-visible,
a:focus-visible {
	outline:solid;
	outline-width: var(--logo-line-height);
	outline-offset: -webkit-calc(var(--logo-line-height) * -1);
	outline-offset: -moz-calc(var(--logo-line-height) * -1);
	outline-offset: calc(var(--logo-line-height) * -1);
}

p > a:focus-visible,
.read-more:focus-visible,
.link:focus-visible {
	outline-offset: -webkit-calc(var(--logo-line-height) * 2);
	outline-offset: -moz-calc(var(--logo-line-height) * 2);
	outline-offset: calc(var(--logo-line-height) * 2);
}

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

.buttons a:focus-visible,
.button:focus-visible,
.section-link:focus-visible {
	outline-offset: -webkit-calc(var(--logo-line-height) * 4);
	outline-offset: -moz-calc(var(--logo-line-height) * 4);
	outline-offset: calc(var(--logo-line-height) * 4);
}

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

#navbar a:focus-visible {
	outline-offset:0;
}

/********** GRID FILTERS **********/

nav.grid-filters a {
	outline-offset: -webkit-calc(var(--logo-line-height) * 2);
	outline-offset: -moz-calc(var(--logo-line-height) * 2);
	outline-offset: calc(var(--logo-line-height) * 2);
}

/********** #LOGO **********/

#logo:focus-visible {
	outline-offset: -webkit-calc(var(--logo-line-height) * 3);
	outline-offset: -moz-calc(var(--logo-line-height) * 3);
	outline-offset: calc(var(--logo-line-height) * 3);
}

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

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

/********** NAV MODE **********/

nav.mode .nav-tabs a:focus-visible {
	outline:0;
}
nav.mode .nav-tabs a:focus-visible:before {
	content:"";
	position:absolute;
	top:50%;
	left:50%;
	height:100%;
	width:100%;
	padding:-webkit-calc(var(--logo-line-height) * 2);
	padding:-moz-calc(var(--logo-line-height) * 2);
	padding:calc(var(--logo-line-height) * 2);
	-webkit-transform:translate(-50%,-50%);
	   -moz-transform:translate(-50%,-50%);
	    -ms-transform:translate(-50%,-50%);
	     -o-transform:translate(-50%,-50%);
	        transform:translate(-50%,-50%);
	-webkit-box-shadow:inset 0 0 0 var(--logo-line-height);
	   -moz-box-shadow:inset 0 0 0 var(--logo-line-height);
	        box-shadow:inset 0 0 0 var(--logo-line-height);
}

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

.grid .event-link:focus-visible {
	outline:0;
}
.grid .event-link:focus-visible:before {
	content:"";
	position:absolute;
	top:50%;
	left:50%;
	height:100%;
	width:100%;
	padding:.5em;
	padding:-webkit-calc(var(--logo-line-height) * 4);
	padding:-moz-calc(var(--logo-line-height) * 4);
	padding:calc(var(--logo-line-height) * 4);
	-webkit-transform:translate(-50%,-50%);
	   -moz-transform:translate(-50%,-50%);
	    -ms-transform:translate(-50%,-50%);
	     -o-transform:translate(-50%,-50%);
	        transform:translate(-50%,-50%);
	-webkit-box-shadow:inset 0 0 0 var(--logo-line-height);
	   -moz-box-shadow:inset 0 0 0 var(--logo-line-height);
	        box-shadow:inset 0 0 0 var(--logo-line-height);
}

/*******************************************/
/********** ACCESSIBILITY OPTIONS **********/
/*******************************************/

.accessibility-options {
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-flex-wrap:wrap;
	    -ms-flex-wrap:wrap;
	        flex-wrap:wrap;
	-webkit-box-align: center;
	-webkit-align-items: center;
	   -moz-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	   -moz-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap:1em;
	font-size:1em;
	line-height:1em;
}
.accessibility-options > * {
	margin:0;
	-webkit-box-flex: 1;
	-webkit-flex-grow: 1;
	   -moz-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	-webkit-flex-basis:0;
	    -ms-flex-preferred-size:0;
	        flex-basis:0;
}
.fontSize-buttons {
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	   -moz-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	   -moz-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	gap:.5em;
	white-space: nowrap;
	-webkit-box-shadow:inset 0 0 0 var(--logo-line-height);
	   -moz-box-shadow:inset 0 0 0 var(--logo-line-height);
	        box-shadow:inset 0 0 0 var(--logo-line-height);
}
.accessibility-options .fontSize {
	display:-webkit-inline-box;
	display:-webkit-inline-flex;
	display:-moz-inline-box;
	display:-ms-inline-flexbox;
	display:inline-flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	   -moz-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	   -moz-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	padding: 1em;
	aspect-ratio:1/1;
}
.accessibility-options .fontSize:hover {
	color:var(--bright-color);
	background:var(--dark-color);
} 

/********** BUTTON SWITCHER **********/
/* ex. accessibility contrast button */

a.switcher {
	position:relative;
	z-index:10;
	color:var(--dark-color);
	-webkit-box-shadow:inset 0 0 0 var(--logo-line-height);
	   -moz-box-shadow:inset 0 0 0 var(--logo-line-height);
	        box-shadow:inset 0 0 0 var(--logo-line-height);
	padding:1em 1em 1em 4em;
}
a.switcher:before,
a.switcher:after {
	content:"";
	position:absolute;
	top:50%;
	left:0;
	-webkit-transform:translate3d(0,-50%,0);
	   -moz-transform:translate3d(0,-50%,0);
	        transform:translate3d(0,-50%,0);
	display:-webkit-box;
	display:-webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	   -moz-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	   -moz-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
a.switcher:before {
	content:"OFF";
	font-size: .75em;
	height:100%;
	aspect-ratio:1/1;
	color:var(--bright-color);
}
a.switcher:after {
	content:"";
	z-index:-1;
	height:3em;
	width:3em;
	background:var(--dark-color);
}
a.switcher.active {
	color:var(--bright-color);
	padding:1em 4em 1em 1em;
	-webkit-box-shadow:inset 0 0 0 var(--logo-line-height) var(--dark-color);
	   -moz-box-shadow:inset 0 0 0 var(--logo-line-height) var(--dark-color);
	        box-shadow:inset 0 0 0 var(--logo-line-height) var(--dark-color);
}
a.switcher.active:before {
	content:"ON";
	left:100%;
	-webkit-transform:translate3d(-100%,-50%,0);
	   -moz-transform:translate3d(-100%,-50%,0);
	        transform:translate3d(-100%,-50%,0);
}
a.switcher.active:after {
	width:100%;
}

/********** @HOVER **********/

@media (hover: hover) {
	a.switcher:hover:before {
		left:1em;
	}
	a.switcher:hover:after {
		width:4em;
	}
	a.switcher.active:hover:before {
		left:-webkit-calc(100% - 1em);
		left:-moz-calc(100% - 1em);
		left:calc(100% - 1em);
	}
	a.switcher.active:hover:after {
		width:-webkit-calc(100% - 1em);
		width:-moz-calc(100% - 1em);
		width:calc(100% - 1em);
	}
}