@charset "UTF-8";



/* =================================================================================================== */
/* ============================================= IMPORTS ============================================= */
/* =================================================================================================== */


/* ============================== FONTS ============================== */

@font-face {
    font-family: 'Philharmonique';
    src: url('../fonts/Philharmonique-Regular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Philharmonique';
    src: url('../fonts/Philharmonique-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Philharmonique';
    src: url('../fonts/Philharmonique-Bold.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Nantes';
    src: url('../fonts/Nantes-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Nantes';
    src: url('../fonts/Nantes-LightItalic.woff2') format('woff2');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Nantes';
    src: url('../fonts/Nantes-Regular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Nantes';
    src: url('../fonts/Nantes-RegularItalic.woff2') format('woff2');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}
/*
@font-face {
    font-family: 'Nantes Book';
    src: url('../fonts/Nantes-Book.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Nantes Book';
    src: url('../fonts/Nantes-BookItalic.woff2') format('woff2');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}
*/
@font-face {
    font-family: 'Nantes';
    src: url('../fonts/Nantes-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Nantes';
    src: url('../fonts/Nantes-SemiBoldItalic.woff2') format('woff2');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Nantes';
    src: url('../fonts/Nantes-Bold.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Nantes';
    src: url('../fonts/Nantes-BoldItalic.woff2') format('woff2');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'EB Garamond';
    src: url('../fonts/EBGaramond-Regular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'EB Garamond';
    src: url('../fonts/EBGaramond-Italic.woff2') format('woff2');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'EB Garamond';
    src: url('../fonts/EBGaramond-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'EB Garamond';
    src: url('../fonts/EBGaramond-MediumItalic.woff2') format('woff2');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'EB Garamond';
    src: url('../fonts/EBGaramond-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'EB Garamond';
    src: url('../fonts/EBGaramond-SemiBoldItalic.woff2') format('woff2');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'EB Garamond';
    src: url('../fonts/EBGaramond-Bold.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'EB Garamond';
    src: url('../fonts/EBGaramond-BoldItalic.woff2') format('woff2');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'EB Garamond';
    src: url('../fonts/EBGaramond-ExtraBold.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'EB Garamond';
    src: url('../fonts/EBGaramond-ExtraBoldItalic.woff2') format('woff2');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto Condensed';
    src: url('../fonts/RobotoCondensed-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto Condensed';
    src: url('../fonts/RobotoCondensed-LightItalic.woff2') format('woff2');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto Condensed';
    src: url('../fonts/RobotoCondensed-Regular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto Condensed';
    src: url('../fonts/RobotoCondensed-Italic.woff2') format('woff2');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto Condensed';
    src: url('../fonts/RobotoCondensed-Bold.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto Condensed';
    src: url('../fonts/RobotoCondensed-BoldItalic.woff2') format('woff2');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}


/* ============================== ICONS ============================== */

@font-face {
	font-family:'icomoon';
	src:url('../fonts/icomoon.eot');
	src:url('../fonts/icomoon.eot#iefix') format('embedded-opentype'),
	url('../fonts/icomoon.woff') format('woff'),
	url('../fonts/icomoon.ttf') format('truetype'),
	url('../fonts/icomoon.svg#fontello') format('svg');
	font-weight:normal;
	font-style:normal;
}
[class^="icon-"], [class*=" icon-"] {
	font-family:"icomoon";
	font-style:normal;
	font-weight:normal;
	speak:none;
	display:block;
	text-decoration:inherit;
	font-variant:normal;
	text-transform:none;
	width:inherit;
	font-size:inherit;
	line-height:inherit;
	color:inherit;
	text-shadow:none !important;
}



/* ================================================================================================== */
/* ============================================= CONFIG ============================================= */
/* ================================================================================================== */


/* ============================== COLORS ============================== */

:root {
	--bright-rgb: 255, 255, 255;
	--light-rgb: 235, 235, 235;
	--grey-rgb: 225, 225, 225;
	/*
	--*-rgb: 35, 31, 32;
	--*-rgb: 33, 33, 32;
	--*-rgb: 239, 239, 239;
	*/
	--dark-rgb: 0, 0, 0;

	--selection-rgb: 97, 168, 242;

	--red-rgb: 255, 87, 51;
	--green-rgb: 60, 230, 190;
	--blue-rgb: 0, 57, 102;

	--bright-color: rgb(var(--bright-rgb));
	--light-color: rgb(var(--light-rgb));
	--grey-color: rgb(var(--grey-rgb));
	--dark-color: rgb(var(--dark-rgb));

	--selection-color: rgb(var(--selection-rgb));

	--red-color: rgb(var(--red-rgb));
	--green-color: rgb(var(--green-rgb));
	--blue-color: rgb(var(--blue-rgb));
}


/* ============================== HEIGHTS ============================== */

:root {
	--header-height: var(--logo-height);
}
header {
	min-height: var(--logo-height);
}
#primary {
	--logo-height: 5rem;
}
footer {
	--logo-height: 8rem;
}


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

:root {
	--logo-height: 3.5rem;
	--footer-height: 3rem;
}
@media (min-width:1000px) {
	:root { --logo-height: 6rem; }
}


/* ============================== FONTS ============================== */

:root {
	--font-family: 'Nantes', sans-serif;
	--font-family-display: 'Philharmonique', sans-serif;
	--letter-spacing: 0;

	/*--font-family: 'EB Garamond', sans-serif;
	--font-family-display: 'Roboto Condensed', sans-serif;
	--letter-spacing: .125em;*/

	--font-weight-light: 300;
	--font-weight-normal: 400;
	--font-weight-medium: 600;
	--font-weight-bold: 700;
}



/* ================================================================================================= */
/* ============================================= RESET ============================================= */
/* ================================================================================================= */


/* ============================== DEFAULT ============================== */

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
html {
	font-size: 100%;
}
html,
input,
textarea,
select,
button {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, h5, h6, ul, ol, p, a, span, b, strong, blockquote, label, div, table,
input, textarea, button, select {
	margin: 0;
	padding: 0;
}
h1, h2, h3, h4, h5, h6 {
	font-size:inherit;
	font-weight:normal;
	text-transform:uppercase;
}
p {
	font-size:inherit;
	line-height:inherit;
	color:inherit;
	text-shadow:inherit;
}
b, strong, del,
i, em {
	font-size:inherit;
	line-height:inherit;
}
.title {
	text-transform:uppercase;
	display:block;
}
.hidden {
	position:absolute;
	font-size:0 !important;
	padding:0 !important;
}


/* ============================== HR ============================== */

hr {
	width: 100%;
	border: 0;
	border-bottom: solid .025rem var(--dark-color);
}


/* ============================== LIST + INLINE ============================== */

.list,
.inline {
	font-size:0;
}
.list > * {
	display:block;
}
.inline > * {
	display:inline-block;
	vertical-align:middle;
}


/* ============================== JUSTIFY ============================== */

.justify {
	text-align:justify;
	text-justify:distribute;
	font-size:0;
	line-height:0;
}
.justify > * {
	display:inline-block;
	vertical-align:middle;
	line-height:normal;
}
.justify:after {
	content:"";
	display:inline-block;
	width:100%;
}


/* ============================== RESPONSIVE ============================== */

@media (min-width:0px) {
	.mobile-visible { display:block !important; }
	.desktop-visible { display:none !important; }
}
@media (min-width:760px) {
	.desktop-visible { display:block !important; }
	.mobile-visible { display:none !important; }
}


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

@media screen and (max-device-width:320px) {
	body {
		-webkit-text-size-adjust:none;
	}
}



/* ================================================================================================= */
/* ============================================= ICONS ============================================= */
/* ================================================================================================= */


.icon-arrow-left:before {
	content: "\e900";
}
aside .excerpt:before,
body:not(.posts) .slide p.excerpt:before,
body:not(.posts) .slide div.excerpt p:before,
.grid:not(.posts) p.excerpt:before,
.grid:not(.posts) div.excerpt p:before,
ul.arrows li:before,
.icon-arrow-right:before {
	content: "\e901";
}
.icon-blank:before {
	content: "\e902";
}
.icon-bluesky:before {
	content: "\e903";
}
.slider nav a.reduce:after,
nav.filters a.active:after,
.icon-close:before {
	content: "\e904";
}
.icon-down:before {
	content: "\e905";
}
.icon-download:before {
	content: "\e906";
}
.icon-enlarge:before {
	content: "\e907";
}
.icon-expand:before {
	content: "\e908";
}
.icon-expedition:before {
	content: "\e909";
}
.icon-facebook:before {
	content: "\e90a";
}
.icon-googleplus:before {
	content: "\e90b";
}
.icon-instagram:before {
	content: "\e90c";
}
.slider nav a.previous:before,
.icon-left:before {
	content: "\e90d";
}
.icon-less:before {
	content: "\e90e";
}
.icon-location:before {
	content: "\e90f";
}
.icon-mail:before {
	content: "\e910";
}
.icon-more:before {
	content: "\e911";
}
.sc-player.playing .sc-controls a.sc-pause:before,
.icon-pause:before {
	content: "\e912";
}
.sc-player .sc-controls a:before,
.videoplayer .play:before,
.icon-play:before {
	content: "\e913";
}
.slider nav a.next:after,
.icon-right:before {
	content: "\e914";
}
.icon-search:before {
	content: "\e915";
}
.icon-share:before {
	content: "\e916";
}
.icon-soundcloud:before {
	content: "\e917";
}
.icon-tag:before {
	content: "\e918";
}
.icon-up:before {
	content: "\e919";
}
.icon-youtube:before {
	content: "\e91a";
}



/* ================================================================================================= */
/* ============================================= FONTS ============================================= */
/* ================================================================================================= */


/* ============================== FONT FAMILY ============================== */

/*
body,
input,
textarea,
button,
select
*/
body,
input,
textarea {
	/*font-family: 'eb_garamondregular';*/
	font-family: var(--font-family);
	font-weight: var(--font-weight-normal);
}

b, strong, del {
	font-weight: bold;
}
#logo strong,
h1, h2, h3, h4, h5, h6,
#primary a,
.lang-chooser a,
.title,
.date,
.read-more.button {
	/*font-family: 'roboto_condensedbold';*/
	font-family: var(--font-family-display);
	font-weight: var(--font-weight-bold);
	letter-spacing: var(--letter-spacing);
}

/*
input,
textarea,
button,
select,
*/
.description,
.time,
.duration,
.location,
.location > *,
body:not(.posts) .focus .slide .excerpt,
aside .excerpt,
.grid:not(.posts) .item .excerpt {
	/*font-family:'roboto_condensedlight';*/
	font-family: var(--font-family-display);
	letter-spacing: var(--letter-spacing);
}

button,
select,
.button,
.term,
.secondary a,
#extra-expand,
a.share,
a.download,
nav.actions a,
nav.filters a {
	/*font-family:'roboto_condensedregular';*/
	font-family: var(--font-family-display);
	font-weight: var(--font-weight-medium);
	letter-spacing: var(--letter-spacing);
}
.author,
.legend {
	/*font-family: 'eb_garamonditalic';*/
	font-family: var(--font-family);
	font-style: italic;
}


/* ============================== FONT SIZE ============================== */

body,
.list > *,
.inline > *,
.justify > *,
ul.columns li {
	font-size:1.125rem;
}
p {
	line-height:1.5em;
}

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

@media (min-width:0px) {
	h1,
	.title.big {
		font-size:1.25rem;
	}
	h2,
	.excerpt,
	.description {
		font-size:1rem;
	}
}
@media (min-width:1000px) {
	h1,
	.title.big {
		font-size:1.5rem;
	}
	h2,
	.description {
		font-size:1.25rem;
	}
	.excerpt {
		font-size:1.125rem;
	}
}
@media (min-width:1200px) {
	h1,
	.title.big {
		font-size:2rem;
	}
	h2,
	.description {
		font-size:1.5rem;
	}
	.excerpt {
		font-size:1.25rem;
	}
}



/* =========================================================================================================== */
/* ============================================= CONTENT SPACING ============================================= */
/* =========================================================================================================== */


.term + .author,
.title + .description,
.date + .time,
.time + .location,
.slide-content .term + .excerpt,
.grid .item-content .term + .excerpt,
.author + .term {
	padding: 0;
}
.title + .term,
.location + .title,
.description + .term {
	padding: .5rem 0 0 0;
}
h1 + *, h2 + *, h3 + *, h4 + *, h5 + *, h6 + *,
.title + * {
	padding: 1rem 0 0 0;
}
.back + *,
h1.hidden + *,
h2.hidden + * {
	padding: 0;
}
.gallery-viewer + *,
* + .gallery-viewer,
img + *,
.sub-title + *,
.term + *,
.author + *,
.time + *,
.date + *,
.location + *,
.duration + *,
.description + *,
.excerpt + *,
p + *,
.img-header + *,
.portrait + * ,
.alignleft + *,
.alignright + *,
.aligncenter + *,
hr + *,
main * + ul,
main * + ol,
main ul + *,
main ol + *,
.media + *,
.videoplayer + *,
.sc-player + *,
.columns + *,
.button + *,
form + *,
.table + * {
	padding: 1rem 0 0 0;
}
* + nav.filters,
* + nav.actions {
	padding: 1rem 0 0 0;
}
* + .description {
	padding: 0;
}
* + hr,
* + .share,
* + #extra-expand,
* + .cover,
* + .gmap-content,
* + .videoplayer,
* + .slider,
* + .button,
* + .sc-player,
label + *,
input + *,
select + *,
button + *,
* + .input-container,
* + .select-container,
.input-container + *,
.select-container + *,
* + textarea,
textarea + * {
	margin: 1rem 0 0 0;
}
.sc-player + * {
	padding: 1rem 0 0 0;
}
.hidden + .input-container {
	margin: 0;
}
* + .input-container {
	padding: 0 !important;
	margin: 1rem 0 0 0;
}

/* V2 */

* + h1, * + h2, * + h3, * + h4, * + h5, * + h6,
* + .title {
	padding: 1.5rem 0 0 0;
}



/* ================================================================================================== */
/* ============================================= COLORS ============================================= */
/* ================================================================================================== */


/* default */

body {
	color:var(--dark-color);
}

h1,
.title,
.description,
a:hover {
	color: var(--red-color);
	text-shadow: 0 0 0 var(--red-color);
}

/* red */

.dark,
.red,
.red h1,
.red .title,
.red .description {
	color: var(--bright-color);
	text-shadow: 0 0 0 var(--bright-color);
}

/* green */

.green,
aside.green .title,
aside.green .description {
	color: var(--dark-color);
	text-shadow: none;
}
aside.green a:hover,
aside.green a:hover * {
	color: var(--bright-color);
	text-shadow: 0 0 0 var(--bright-color);
}
.posts a:hover,
.posts h1,
.posts .title,
.posts .description {
	color: var(--green-color);
	text-shadow: 0 0 0 var(--green-color);
}
aside.green h1 {
	color:var(--dark-color);
}
.posts .pagination .current,
.posts .pagination a:hover {
	color:var(--dark-color);
	text-shadow:none;
	background:var(--green-color);
}

/* text color */

section.focus .infos,
.red-txt {
	color:var(--red-color);
	text-shadow:0 0 0 var(--red-color);
}
.posts section.focus .infos,
section.focus .infos.green-txt,
.green-txt {
	color:var(--green-color);
	text-shadow:0 0 0 var(--green-color);
}
section.focus .infos.white-txt,
.white-txt {
	color:var(--bright-color);
	text-shadow:0 0 0 var(--bright-color);
}
section.focus .infos.black-txt,
.black-txt {
	color:var(--dark-color);
	text-shadow:none;
}
section.focus .infos .title,
section.focus .infos .description {
	color:inherit;
	text-shadow: inherit;
}
section.focus .infos.red-txt .button {
	color:var(--bright-color);
	text-shadow:0 0 0 var(--bright-color);
	background:var(--red-color);
}
section.focus .infos.red-txt .button:hover {
	color:var(--red-color);
	text-shadow:0 0 0 var(--red-color);
	background:var(--bright-color);
}
section.focus .infos.green-txt .button {
	color:var(--dark-color);
	text-shadow:none;
	background:var(--green-color);
}
section.focus .infos.green-txt .button:hover {
	color:var(--green-color);
	text-shadow:0 0 0 var(--green-color);
	background:var(--bright-color);
}

section.focus .infos.black-txt .button,
section.focus .infos.white-txt .button:hover {
	color:var(--bright-color);
	text-shadow:0 0 0 var(--bright-color);
	background:var(--dark-color);
}

section.focus .infos.white-txt .button,
section.focus .infos.black-txt .button:hover {
	color:var(--dark-color);
	text-shadow:none;
	background:var(--bright-color);
}



/* ================================================================================================== */
/* ============================================= LAYOUT ============================================= */
/* ================================================================================================== */


html, body {
	margin: 0;
	padding:0;
	border:0;
	height:100%;
	width:100%;
}
body,
#wrapper {
	-webkit-overflow-scrolling:touch;
}
#wrapper {
	position:relative;
	padding-bottom: var(--footer-height);
	min-height:100%;
}
body.expanded,
body.overlayed {
	overflow:hidden;
}
header {
	position:fixed;
	z-index:1000;
	top:0;
	left:0;
	width:100%;
	text-align:center;
	color:var(--bright-color);
}
main {
	overflow: hidden;
	padding: var(--logo-height) 0 0 0;
}
footer {
	position: absolute;
	left: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	fill: var(--bright-color);
	background: var(--blue-color);
}

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

@media (min-width:0px) {
	body.expanded {
		overflow:hidden;
	}
}
@media (min-width:1000px) {
	body.expanded {
		overflow:auto;
	}
}



/* ================================================================================================== */
/* ============================================= MEDIAS ============================================= */
/* ================================================================================================== */


/* ============================== IMG ============================== */

img {
	border:0;
	height:auto;
	width:auto; /* IE8 */
	max-width:100%;
}
.img-responsive {
	display:block;
	height:auto;
	max-width:100%;
	margin:0 auto;
}
aside img {
	max-width:100%;
}
.media {
	background-size:cover !important;
}
.img-header {
	position:relative;
	z-index: 10;
	display:block;
	height:0;
	width:100%;
	padding:56.25% 0 0 0;
	overflow:hidden;
}
section.focus .img-header {
	padding:40% 0 0 0;
}
.portrait {
	position:relative;
	display:block;
	height:0;
	width:100%;
	padding:100% 0 0 0;
	overflow:hidden;
}
.portrait img {
	position:absolute;
	top:0;
	left:0;
	width:100%;
}


/* ============================== WP ============================== */

[class^="wp-image-"],
[class*=" wp-image-"] {
	height:auto;
	width:auto; /* IE8 */
	max-width:100%;
}
.alignleft {
	float:left;
	margin:0 1rem 0 0;
}
.alignright {
	float:right;
	margin:0 0 0 1rem;
}
.aligncenter {
	display:block;
	margin:0 auto;
}
.alignleft:after,
.alignright:after,
.aligncenter:after {
	content:"";
	display:block;
	clear:both;
}

@media (max-width:640px) {
	.alignleft,
	.alignright {
		width:100%;
		margin:0 0 1rem 0;
	}
}
@media (min-width:640px) {
	.alignleft,
	.alignright {
		width:50%;
	}
}

.content section .mejs-container {
	width:100% !important;
}


/* ============================== SVG ============================== */

svg {
	transform:translate3d(0,0,0);
	backface-visibility:hidden;
}


/* ============================== BACKGROUND ============================== */

.background {
	position:absolute;
	z-index:-1;
	top:0;
	left:0;
	height:100%;
	width:100%;
	background-size:cover !important;
	background-repeat:no-repeat !important;
	background-position:center center !important;
}
.bg-top-left { background-position: top left !important; }
.bg-top-center { background-position: top center !important; }
.bg-top-right { background-position: top right !important; }
.bg-center-left { background-position: center left !important; }
.bg-center-right { background-position: center right !important; }
.bg-bottom-left { background-position: bottom left !important; }
.bg-bottom-center { background-position: bottom center !important; }
.bg-bottom-right { background-position: bottom right !important; }


/* ============================== IFRAME ============================== */

iframe {
	max-width:100%;
	border:none;
}


/* ============================== VIDEOPLAYER ============================== */

.videoplayer {
	position:relative;
	background-size:cover !important;
	background-position:center center !important;
	min-height:2rem;
	width:100%;
	padding:56.25% 0 0 0 !important;
	background:var(--light-color);
}
.videoplayer iframe {
	position:absolute !important;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
/* if async videoplayer */
.videoplayer.loaded {
	display:block;
	padding:0 !important;
}
.videoplayer.link {
	padding:56.25% 0 0 0;
}
.videoplayer .play {
	position:absolute;
	top:50%;
	left:50%;
	font-size:.75rem;
	line-height:.75rem;
	padding:.75rem;
	color:var(--dark-color);
	background:var(--bright-color);
	cursor:pointer;
	transform:translate3d(-50%,-50%,0);
	border-radius:5rem;
}
.videoplayer .play:hover {
	color:var(--bright-color);
	background:var(--dark-color);
	transform:translate3d(-50%,-50%,0) scale(1.2);
}
.videoplayer .play:before {
	display:block;
	font-family:"icomoon";
	color:inherit;
	font-size:inherit;
	line-height:inherit;
}
video {
	display:block;
	height:auto;
	width:100%;
}
.videoplayer.chrome video::-internal-media-controls-download-button {
	display:none;
}
.videoplayer.chrome video::-webkit-media-controls-enclosure {
	overflow:hidden;
}
.videoplayer.chrome video::-webkit-media-controls-panel {
	width:-webkit-calc(100% + 32px);
	width:calc(100% + 32px);
	margin-left:auto;
}




/* ================================================================================================== */
/* ============================================= CUSTOM ============================================= */
/* ================================================================================================== */


/* ============================== GLOBAL ============================== */

.term,
.description,
.author {
	display:block;
}
.term {
	display:inline-block;
	font-size:.75rem;
	line-height:.75rem;
	text-transform:uppercase;
}
.grid .author {
	text-align:right;
}
.author > * {
	display:inline-block;
}
.credits {
	font-size:.75em;
}
aside .excerpt {
	font-size:1rem;
}
.back {
	position:absolute;
	z-index:10;
}
.centered {
	text-align: center;
}


/* ============================== DATE ============================== */

.date,
.time {
	display:inline-block;
	text-transform:uppercase;
}
.date .date-d + .date-m:before {
	content:"・";
	display:inline-block;
}
.date + .time:before {
	content:"・";
	display:inline-block;
	vertical-align:middle;
}


/* ============================== DURATION ============================== */

.duration {
	display:block;
	font-size:.75rem;
	text-transform:uppercase;
}


/* ============================== LOCATION ============================== */

.location {
	display:block;
	font-size:0;
}
.location > * {
	display:block;
	font-size:.875rem;
}
.city {
	text-transform:uppercase;
}


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

@media (min-width:0px) {
	.back {
		top:1.25rem;
		right:1.25rem;
	}
	.back + section h1 {
		padding-right:2.25rem;
	}
}
@media (min-width:760px) {
	.back {
		top:2rem;
		right:2rem;
	}
	.back + section h1 {
		padding-right:3rem;
	}
}
@media (min-width:1200px) {
	.back + section h1 {
		padding-right:0;
	}
}



/* =================================================================================================== */
/* ============================================= ANCHORS ============================================= */
/* =================================================================================================== */


/* ============================== DEFAULT ============================== */

a {
	font-size:inherit;
	line-height:inherit;
	color:inherit;
	outline:0;
	text-decoration:none;
	border-bottom:solid .0625rem;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
header a,
nav a,
.back,
.read-more,
.overlay .close,
.bx-navigation a {
	display:block;
	border-bottom:0;
}
.enlarge {
	border-bottom:0;
}
:focus {
	outline-color:transparent;
	outline-style:none;
}
a [class^="icon-"],
a[class*=" icon-"] {
	display:block;
}
a span {
	font-family:inherit;
	font-size:inherit;
	line-height:inherit;
	color:inherit;
	text-shadow:inherit;
}
a .label,
button .label {
	position:absolute !important;
	font-size:0 !important;
}
a:hover {
	color:var(--dark-color);
	text-shadow:none;
}
.read-more:hover,
header a:hover,
.scrollUp:hover {
	color:inherit;
}


/* ============================== SELECTION ============================== */

::-moz-selection {
	background:var(--selection-color);
	background:rgba(var(--selection-color), .5);
}

::selection {
	background:var(--selection-color);
	background:rgba(var(--selection-color), .5);
}
::-moz-selection {
	background:var(--selection-color);
	background:rgba(var(--selection-color), .5);
}


/* ============================== TERMS ============================== */

a.term {
	display:inline-block;
	font-size:.75rem;
	line-height:.75rem;
	padding:.5rem;
	border:solid .0625rem;
}


/* ============================== SHARE ============================== */

.download,
.share {
	display:inline-block;
	vertical-align:middle;
	text-align:center;
	text-transform:uppercase;
	border:solid .0625rem;
	padding:.5rem;
	font-size:.75rem;
	line-height:.75rem;
}
.share:hover {
	color:var(--red-color);
}
.posts .share:hover {
	color:var(--green-color);
}
header .share:hover {
	color:var(--red-color) !important;
}


/* ============================== EXTRA-EXPAND ============================== */

#extra-expand {
	display:block;
	text-transform:uppercase;
	text-align:center;
	border:solid .0625rem;
}
#extra-expand:hover {
	color:var(--green-color);
}


/* ============================== BUTTON ============================== */

.button {
	position:relative;
	display:inline-block;
	font-size:.75rem;
	line-height:.75rem;
	text-transform:uppercase;
	padding:.5rem;
	text-align:center;
	border:0;
}
.button.large {
	padding:1rem;
}
.button {
	color:var(--bright-color);
	text-shadow:0 0 0 var(--bright-color);
	background:var(--red-color);
}
.posts .button {
	color:var(--dark-color);
	text-shadow:none;
	background:var(--green-color);
}
section.focus .button:hover {
	color:var(--red-color);
	text-shadow:0 0 0 var(--red-color);
	background:var(--bright-color);
}
.posts section.focus .button:hover {
	color:var(--green-color);
	text-shadow:0 0 0 var(--green-color);
	background:var(--bright-color);
}


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

@media (min-width:0px) {
	#extra-expand {
		font-size:.75rem;
		line-height:.75rem;
		padding:.75rem;
	}
}
@media (min-width:1000px) {
	#extra-expand {
		font-size:1rem;
		line-height:1rem;
		padding:1rem;
	}
}



/* =================================================================================================== */
/* ============================================= UL / OL ============================================= */
/* =================================================================================================== */


/* ============================== DEFAULT ============================== */

ul,
ol {
	list-style-position:inside;
}


/* ============================== UL ============================== */

/* V2 */
ul:not(.columns) li {
	list-style-position:initial;
	padding-left:.5em;
	margin-left:1em;
}


/* ============================== OL ============================== */

ol {
	margin:0;
	padding:0;
	list-style-type:none;
}
ol li {
	position:relative;
	display:block;
	counter-increment:step-counter;
	padding:.5rem 0 .5rem 2.5rem !important;
}
ol li:before {
	position:absolute;
	z-index:10;
	top:50%;
	left:0;
	content:counter(step-counter);
	display:inline-block;
	text-align:center;
	color:var(--bright-color);
	text-shadow:0 0 0 var(--bright-color);
	background:var(--dark-color);
	font-size:.75rem;
	line-height:.75rem;
	height:.75rem;
	width:.75rem;
	padding:.375rem;
	transform:translate3d(0,-50%,0);
	border-radius:5rem;
}


/* ============================== BULLET ============================== */

.bullet li,
.columns .bullet li {
	position:relative;
	display:block;
	width:auto !important;
	padding:.25rem 0 .25rem 1.25rem;
}
.bullet li:before,
.columns .bullet li:before {
	position:absolute;
	top:50%;
	color:var(--dark-color);
	background:var(--dark-color);
	margin:-.25rem 0 0 -1.25rem;
	content:"";
	display:block;
	height:.5rem;
	width:.5rem;
	border-radius:5rem;
}


/* ============================== ARROWS ============================== */

ul.arrows li {
	position: relative;
	list-style-position:initial;
	list-style: none;
	padding-left:1.5em;
	margin-left:0;
}
ul.arrows li:before {
	position:absolute;
	top:50%;
	left:0;
	transform: translateY(-50%);
	font-family: "icomoon";
}



/* =================================================================================================== */
/* ============================================= COLUMNS ============================================= */
/* =================================================================================================== */

/* up to 7 */

/* ============================== DEFAULT ============================== */

ul.columns {
	font-size:0;
}
ul.columns:after {
	content:'';
	display:inline-block;
	width:100%;
}
ul.columns > li {
	vertical-align:top;
}
ul.columns > li > * {
	text-align:left;
}


/* ============================== COLUMNS CONTENT ============================== */

.columns > * > iframe:not(:first-child) {
	margin-top: 2rem;
}
ul.columns ul li {
	text-align:left !important;
	width:auto;
}
ul.columns .list li,
ul.columns ol li {
	display:block !important;
	width:auto !important;
}


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


@media (min-width:0px) {
	ul.columns {
		text-align:center;
	}
	ul.columns > li {
		display:block;
		padding:1rem 0 0 0;
	}
	ul.columns > li:first-child {
		padding:0;
	}
}
@media (min-width:640px) {
	ul.columns {
		text-align:justify;
		text-justify:distribute; /* IE9 */
	}
	ul.columns > li,
	ul.columns > li:first-child {
		display:inline-block;
		padding:0;
	}
	ul.columns > li:first-child:nth-last-child(1) {
		width:100%;
	}
	ul.columns > li:first-child:nth-last-child(2),
	ul.columns > li:first-child:nth-last-child(2) ~ li {
		width:48%;
		width:calc(50% - 1rem);
	}
	ul.columns > li:first-child:nth-last-child(3),
	ul.columns > li:first-child:nth-last-child(3) ~ li {
		width:32.33%;
		width:calc((100% / 3) - 1rem);
	}
	ul.columns > li:first-child:nth-last-child(4),
	ul.columns > li:first-child:nth-last-child(4) ~ li {
		width:23%;
		width:calc(25% - 1rem);
	}
	ul.columns > li:first-child:nth-last-child(5),
	ul.columns > li:first-child:nth-last-child(5) ~ li {
		width:18%;
		width:calc(20% - 1rem);
	}
	ul.columns > li:first-child:nth-last-child(6),
	ul.columns > li:first-child:nth-last-child(6) ~ li {
		width:14.66%;
		width:calc((100% / 6) - 1rem);
	}
	ul.columns > li:first-child:nth-last-child(7),
	ul.columns > li:first-child:nth-last-child(7) ~ li {
		width:12.28%;
		width:calc((100% / 7) - 1rem);
	}
}



/* ====================================================================================================== */
/* ============================================= COLUMNIZER ============================================= */
/* ====================================================================================================== */


.columnizer:after {
	content:"";
	clear:both;
	display:inline-block;
	width:100%;
}
.column {
	text-align:left;
	padding:0 .5rem;
}
.first.column {
	padding:0 .5rem 0 0;
}
.last.column {
	padding:0 0 0 .5rem;
}
.first.last.column {
	padding:0;
}



/* ==================================================================================================== */
/* ============================================= SECTIONS ============================================= */
/* ==================================================================================================== */


/* ============================== DEFAULT ============================== */

section {
	position:relative;
	clear:both;
	width:100%;
	max-width:1200px;
	margin:0 auto;
	background-size:cover !important;
	background-position:center center !important;
}
section.full {
	padding:0 !important;
	max-width:none;
}
section.focus {
	padding:0;
	max-width:none;
	height:1px; /* firefox */
	height:100%;
	overflow:hidden;
}
section:before {
	content:"";
	position:absolute;
	z-index:-1;
	top:0;
	left:-100%;
	right:-100%;
	height:100%;
}


/* ============================== FOCUS ============================== */

section.focus .slide-content {
	height:0;
	padding:40% 0 0 0 !important;
	min-height:20rem;
}
section.focus .infos {
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	max-width:25rem;
}
section.focus .excerpt {
	font-size:1rem;
}
section.focus .background {
	opacity:.75;
}


/* ============================== SECTION CONTENT ============================== */

.content {
	padding:0;
}
/* for agenda */
.content > .content {
	padding: 0;
}
.content * + .grid:not(.list) {
	margin-top:0;
}
.content section {
	display:block;
	width:100%;
}
section .read-more:hover {
	background: var(--bright-color);
}
section .slider .previous,
section .slider .next {
	background: rgba(0,0,0,.5);
	color: var(--dark-color) !important;
	text-shadow: 0 0 0 var(--dark-color) !important;
	background: rgba(var(--bright-rgb), .5);
	border-radius: 0 !important;
}


/* ============================== ASIDE ============================== */

aside {
	position:relative;
	z-index:10;
}
aside section {
	display:block;
	width:100%;
	padding:0;
}
aside section:before {
	display:none;
}
aside form {
	max-width:none;
}


/* ============================== EXTRA ============================== */

#extra {
	display:block;
	overflow:hidden;
	max-height:0;
	opacity:0;
}
#extra.expanded {
	display:table;
	overflow:visible;
	max-height:999rem;
	opacity:1;
}


/* ============================== COLORS ============================== */

aside.grey,
section.full.grey,
section.grey:before {
	background:var(--light-color);
}
aside.dark,
section.full.dark,
section.dark:before {
	background:var(--dark-color);
}
aside.red,
section.full.red,
section.red:before {
	background:var(--red-color);
}
aside.green,
section.full.green,
section.green:before {
	background:var(--green-color);
}


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

@media (min-width:0px) {
	section,
	aside {
		padding:1.25rem;
	}
	.content > h2 {
		padding:1.25rem 1.25rem .25rem 1.25rem;
	}
	aside * + section {
		padding:2rem 0 0 0;
	}
	/* focus */
	section.focus .infos {
		left:0;
		padding:1.25rem; /* bx-navigation */
	}
	section.focus .title,
	section.focus .description {
		font-size:1rem;
	}
	/* extra */
	.content * + #extra.expanded {
		padding:0;
	}
	/* section-img */
	.section-img + .infos {
		padding:2rem 0 0 0;
	}
}
@media (min-width:760px) {
	aside {
		width:30%;
		border-top:0;
		padding:2rem;
	}
	/* has_sidebar */
	.has_sidebar {
		display:table;
	}
	.has_sidebar .content,
	.has_sidebar aside {
		display:table-cell;
		vertical-align:top;
	}
	.has_sidebar .content {
		width:70%;
	}
	.content > h2 {
		padding:2rem 2rem 1rem 2rem;
	}
	.has_sidebar > aside {
		height:calc(100vh - var(--header-height - var(--footer-height))); /* header + footer */
	}
	.has_sidebar:before {
		z-index:10;
		right:auto;
		left:0;
		width:30%;
		background:var(--red-color);
	}
	.artist .has_sidebar::before {
		background:var(--light-color);
	}
	.index .has_sidebar:before,
	.posts .has_sidebar:before {
		left:auto;
		right:.0625rem;
		background:var(--green-color);
	}
	/* has_sidebar fixed */
	.has_sidebar.fixed aside {
		z-index:10;
	}
	.has_sidebar.fixed .content {
		display:block;
		width:auto;
		max-width:none;
		margin:0;
	}
	.has_sidebar.fixed.on > aside {
		position:fixed;
		top:0;
		top:var(--header-height); /* header height */
	}
	.has_sidebar.fixed.on > .content {
		padding:0 0 0 30%;
		margin:0;
	}
	.posts .has_sidebar.fixed.on > .content {
		padding:0 30% 0 0;
	}
	/* section-img */
	.section-img,
	.section-img + .infos {
		display:table-cell;
		vertical-align:top;
	}
	.section-img {
		width:30%;
	}
	.section-img + .infos {
		width:70%;
		padding:0 0 0 2rem;
	}
}
@media (min-width:1000px) {
	section {
		padding:2rem 6rem;
	}
	/* content */
	.content section {
		padding:2rem;
	}
	/* focus */
	section.focus .infos {
		top:50%;
		left:8rem;
		padding:1.25rem 1.25rem 3.125rem 1.25rem; /* bx-navigation */
	}
	section.focus .title,
	section.focus .description {
		font-size:1.5rem;
	}
	/* has_sidebar */
	.has_sidebar > aside {
		height:calc(100vh - 5.25rem); /* header */
	}
	/* has_sidebar fixed */
	.has_sidebar.fixed.on > aside {
		top:var(--header-height); /* header height */
	}
	
	/* section-img */
	.section-img {
		width:40%;
	}
	.section-img + .infos {
		width:60%;
	}
}
@media (min-width:1200px) {
	section {
		padding:4rem 6rem;
	}
	/* content */
	.content section {
		padding:4rem;
	}
	aside {
		padding:4rem 2rem;
	}
}
@media (min-width:1400px) {
	/* content */
	.content section {
		padding:4rem 8rem;
	}
}



/* ====================================================================================================== */
/* ============================================= PAGINATION ============================================= */
/* ====================================================================================================== */


.pagination {
	display:block;
	font-size:0;
	text-align:center;
}
.pagination a {
	display:inline-block;
	vertical-align:middle;
	font-size:.75rem;
	line-height:.75rem;
	padding:.625rem 0;
	height:2rem;
	width:2rem;
	border-radius:10rem;
	background:var(--light-color);
}
.pagination * + * {
	margin:0 0 0 .5rem;
}
.pagination .current,
.pagination a:hover {
	color:var(--bright-color);
	text-shadow:0 0 0 var(--bright-color);
	background:var(--red-color);
}



/* ================================================================================================== */
/* ============================================= SOCIAL ============================================= */
/* ================================================================================================== */


/* ============================== DEFAULT ============================== */

#social {
	font-size:0;
	text-align:right;
}
#social > * {
	display:block;
}
#social form {
	width:22rem;
	max-width:none;
}
.dark #social input {
	color:var(--bright-color);
	border-color:var(--bright-color);
}


/* ============================== SOCIALBAR ============================== */

nav.socialbar {
	display:inline-block;
	font-size:0;
	margin:0;
	padding:1.125rem 0;
}
nav.socialbar a {
	display:inline-block;
	vertical-align:middle;
	font-size:1rem;
	line-height:1rem;
}
nav.socialbar a:hover {
	color:var(--red-color);
}
nav.socialbar a + a {
	margin:0 0 0 1rem;
}


/* ============================== SHAREBAR ============================== */

nav.sharebar {
	display:inline-block;
	font-size:0;
	margin:0;
	padding:1.125rem 0;
}
nav.sharebar a {
	display:inline-block;
	vertical-align:middle;
	font-size:1rem;
	line-height:1rem;
}
nav.sharebar a:hover {
	color:var(--red-color);
}
nav.sharebar a + a {
	margin:0 0 0 1rem;
}


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

@media (min-width:0px) {
	#social {
		display:none;
	}
}
@media (min-width:1000px) {
	#social {
		position:absolute;
		z-index:10;
		top:2rem;
		right:2rem;
		display:block;
	}
}



/* ================================================================================================== */
/* ============================================= HEADER ============================================= */
/* ================================================================================================== */


/* ============================== DEFAULT ============================== */

header:before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	display: block;
	height: 100%;
	width: 100%;
	background: var(--blue-color);
}
header input {
	color: var(--bright-color);
	text-shadow: 0 0 0 var(--bright-color);
	border-color: var(--bright-color);
	width: auto;
}


/* ============================== NAVBAR ============================== */

#navbar {
	display:inline-block;
	font-size:0;
}
#navbar > * {
	display:inline-block;
}


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

@media (min-width:0px) {
	#navbar {
		display:none;
	}
}
@media (min-width:1000px) {
	#navbar {
		display:inline-block;
		padding:1rem 2rem 1rem 0;
	}
	#navbar > * + * {
		margin:0 0 0 1rem;
	}
	nav.socialbar {
		padding:1rem 0;
	}
}
@media (min-width:1200px) {
	#navbar {
		padding:1rem 2rem;
	}
	#navbar > * + * {
		margin:0 0 0 2rem;
	}
	nav.socialbar {
		padding:1.125rem 0;
	}
}



/* ================================================================================================ */
/* ============================================= LOGO ============================================= */
/* ================================================================================================ */

/*
#logo == in header
.logo == in footer
*/

/* ============================== DEFAULT ============================== */

.logo {
	display:inline-flex;
	flex-direction: column;
	justify-content: center;
	/*
	text-transform:uppercase;
	line-height:1;
	padding: 1rem 2rem;
	*/
	padding: 1.25rem;
	height: var(--logo-height);
}
.logo svg {
	display:block;
	height: 100%;
	fill:var(--bright-color);
}


/* ============================== HEADER ============================== */

#logo {
	padding: 0;
}


/* ============================== WRAPPER ============================== */

.logos {
	display: flex;
	justify-content: center;
}
.logos .logo:first-child { padding-right: 0; }
.logos .logo + .logo { padding-left: 0; }


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

@media (min-width:0px) {
	.logo { padding:.75em; }
	.logo.fit { padding: 0; }
}
@media (min-width:1200px) {
	.logo { padding: 2rem; }
	.logo.fit { padding: .75rem; }
}
@media (max-width:1000px) {
	footer .logo { display: none; }
}



/* =================================================================================================== */
/* ============================================= PRIMARY ============================================= */
/* =================================================================================================== */


/* ============================== DEFAULT ============================== */

#primary {
	display:inline-block;
	vertical-align:middle;
}
#primary.expanded {
	-webkit-overflow-scrolling:touch;
}
#primary > a {
	color:var(--bright-color);
	text-shadow:0 0 0 var(--bright-color);
	text-transform:uppercase;
}
#primary > a:hover,
#primary > a.active {
	color:var(--red-color);
	text-shadow:none;
}
#primary > a.green:hover,
#primary > a.green.active {
	color:var(--green-color);
}
#primary > a.inverted,
#primary > a.inverted.active,
#primary > a.inverted.active:hover {
	color:var(--red-color);
	text-shadow:none;
}
#primary > a.inverted:hover {
	color:var(--bright-color);
	text-shadow:0 0 0 var(--bright-color);
}
#primary form {
	max-width:none;
}


/* ============================== PRIMARY-EXPAND ============================== */

#primary-expand {
	position:fixed;
	z-index:1000;
	top:0;
	right:0;
	display:block;
}


/* ============================== EXPAND ============================== */

.expand {
	position:relative;
	display:inline-block;
}
.expand .icon {
	position:relative !important;
}
.expand .icon:before,
.expand .icon:after {
	position: absolute;
	content:'';
}
.expand .icon,
.expand .icon:before,
.expand .icon:after {
	display:block;
	height:.0625rem;
	background:var(--bright-color);
}
.expand.expanded .icon {
	background-color:rgba(0,0,0,0.0);
}
.expand.expanded .icon:before {
	margin-top:0;
	transform:rotate(45deg) scale(1.35);
}
.expand.expanded .icon:after {
	margin-top:0;
	transform: rotate(-45deg) scale(1.35);
}
.expand:hover {
	transform:scale(1.1);
}


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

@media (min-width:0px) {
	#primary {
		position:fixed;
		z-index:100;
		top:-200%;
		left:0;
		height:100%;
		width:100%;
		text-align:right;
		padding:4.75rem 1.25rem 1.25rem 1.25rem;
		opacity:0;
		/*background:rgba(0,0,0,.95);*/
		background: var(--blue-color);
	}
	#primary.expanded {
		z-index:200;
		top:0;
		opacity:1;
	}
	#primary > a {
		font-size:1.25rem;
		line-height:1.25rem;
	}
	#primary > a + a {
		margin:1rem 0 0 0;
	}
	/* primary min */
	#primary .min {
		margin:2rem 0 0 0;
	}
	#primary .socialbar a:before {
		display:none;
	}
	#primary .lang-chooser li a {
		font-size:.875rem;
		line-height:.875rem;
		padding:0;
	}
	/* primary-expand */
	#primary-expand {
		padding:1.25rem;
	}
	.expand .icon {
		margin:.469rem auto /* 7.5px */
	}
	.expand .icon,
	.expand .icon:before,
	.expand .icon:after {
		width:1rem;
	}
	.expand .icon:before {
		margin-top:-.375rem;
	}
	.expand .icon:after {
		margin-top:.375rem;
	}
}
@media (min-width:1000px) {
	#primary .min,
	#primary:after,
	#primary.expanded:after {
		display:none;
	}
	#primary.expanded,
	#primary {
		position:relative;
		z-index:10;
		top:auto;
		left:auto;
		height:auto;
		width:auto;
		padding:0;
		opacity:1;
		overflow:visible;
		background:none;
	}
	/* menu */
	#primary > a {
		display:inline-block;
		vertical-align:middle;
		font-size:.875rem;
		line-height:.875rem;
		padding:2rem .5rem;
	}
	#primary > a + a {
		margin:0;
	}
	/* primary-expand */
	#primary-expand {
		display:none;
	}
}
@media (min-width:1200px) {
	/* menu */
	#primary > a {
		font-size:1rem;
		line-height:1rem;
		padding:2rem 1rem;
	}
}



/* ===================================================================================================== */
/* ============================================= SECONDARY ============================================= */
/* ===================================================================================================== */


/* ============================== DEFAULT ============================== */

.secondary {
	position: relative;
	z-index: 100;
	display: block;
	width: 100%;
	font-size: 0;
	text-align: center;
	background: var(--blue-color);
}
.secondary a {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	font-weight: var(--font-weight-medium);
	text-transform: uppercase;
	line-height: 1rem;
	color: var(--bright-color);
	text-shadow: 0 0 0 var(--bright-color);
	padding: 1rem .5rem;
}

.secondary a:before {
	content: "";
	position: absolute;
	top: 0;
	left: .5rem;
	right: .5rem;
	height: .125rem;
	background: transparent;
}
.secondary a:hover:before {
	background: var(--bright-color);
}


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

@media (min-width:0px) {
	.secondary a { font-size: .75rem; }
}
@media (min-width:1000px) {
	footer nav.secondary {
		width: auto;
		margin-inline: auto;
	}
	.secondary a { font-size: .875rem; }
}



/* =============================================================================================== */
/* ============================================= NAV ============================================= */
/* =============================================================================================== */


/* ============================== DEFAULT ============================== */

nav.filters,
nav.actions {
	font-size:0;
	margin:-.25rem; /* caution ? */
}
nav.filters a,
nav.actions a {
	display:inline-block;
	font-size:.75rem;
	line-height:.75rem;
	text-align:center;
	text-transform:uppercase;
	margin:.25rem;
	border:solid .0625rem;
}
nav.filters a > *,
nav.actions a > * {
	display:inline-block;
	vertical-align:middle;
	font-size:.75rem;
	line-height:.75rem;
	width:auto;
}
nav.filters a:hover,
nav.actions a:hover {
	background:none;
}
nav.actions a:hover,
nav.actions a.active {
	color:var(--red-color);
	text-shadow:0 0 0 var(--red-color);
}
.green nav.filters a:hover,
.green nav.filters a.active,
.green nav.actions a:hover,
.green nav.actions a.active {
	color:var(--bright-color);
	text-shadow:0 0 0 var(--bright-color);
	border-color:var(--bright-color);
}
.red nav.filters a:hover,
.red nav.filters a.active,
.red nav.actions a:hover,
.red nav.actions a.active {
	color:var(--dark-color);
	text-shadow:none;
	border-color:var(--dark-color);
}
.grey nav.filters a:hover,
.grey nav.filters a.active,
.grey nav.actions a:hover,
.grey nav.actions a.active {
	color:var(--red-color);
	text-shadow:0 0 0 var(--red-color);
	border-color:var(--red-color);
}
.posts .grey nav.filters a:hover,
.posts .grey nav.actions a:hover {
	color:var(--green-color);
	text-shadow:0 0 0 var(--green-color);
	border-color:var(--green-color);
}
.posts nav.actions a:hover {
	color:var(--dark-color);
	text-shadow:none;
	background:var(--green-color);
	border-color:var(--green-color);
}


/* ============================== ACTIONS ============================== */

nav.actions a {
	white-space:nowrap;
	width:calc(100% - .563rem);
	padding:.75rem;
}


/* ============================== FILTERS ============================== */

nav.filters a {
	position:relative;
	padding:.5rem;
}
nav.filters a.active {
	padding-right:1.5rem;
}
nav.filters a.active:after {
	font-family:'icomoon';
	position:absolute;
	top:50%;
	right:.5rem;
	display:block;
	font-size:.5rem;
	line-height:.5rem;
	transform:translateY(-50%);
}



/* ==================================================================================================== */
/* ============================================= LANGUAGE ============================================= */
/* ==================================================================================================== */


.select-container.lang-chooser {
	width:5rem;
}
.lang-chooser {
	font-size:0;
}
.lang-chooser li {
	display:inline-block;
	vertical-align:middle;
}
.lang-chooser li + li {
	margin:0 0 0 1rem;
}
.lang-chooser li a {
	font-size:.875rem;
	line-height:.875rem;
	color:var(--bright-color);
	text-shadow:0 0 0 var(--bright-color);
}
.lang-chooser li a:hover,
.lang-chooser li.active a {
	color:var(--red-color);
	text-shadow:0 0 0 var(--red-color);
}
#primary .lang-chooser {
	position:absolute;
	top:1.25rem;
	left:1.25rem;
	padding:0;
}



/* ===================================================================================================== */
/* ============================================= SCROLL UP ============================================= */
/* ===================================================================================================== */


.scrollUp {
	position:fixed;
	z-index:1000;
	bottom:0;
	left:0;
	text-align:center;
	border:0;
	opacity:0;
	transform:translateX(-100%);
}
body.scrolled .scrollUp {
	opacity:1;
	transform:translateX(0);
}
body.scrolled .scrollUp:hover {
	transform:translateX(0) scale(2);
}
body.end .scrollUp {
	bottom: var(--footer-height);
	/*bottom:2.875rem;*/ /* footer height */
}


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

@media (min-width:0px) {
	.scrollUp {
		padding:1rem;
	}
}
@media (min-width:480px) {
	.scrollUp {
		padding:2rem;
	}
}



/* ================================================================================================= */
/* ============================================= GRIDS ============================================= */
/* ================================================================================================= */


/* ============================== DEFAULT ============================== */

.grid {
	font-size:0;
}
.grid:after {
	content:'';
	display:block;
	width:100%;
	clear:both;
}
.grid .item {
	position:relative;
	display:inline-block;
	overflow:hidden;
}
.grid .item.red {
	background:var(--red-color);
}


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

.grid .item-content {
	display:table;
	font-size:.875rem;
	text-align:left;
	height:100%;
	width:100%;
	border:0;
}
.grid:not(.list) .item-content:hover {
	color:inherit;
	text-shadow:inherit;
	background:var(--light-color);
}
.dark .grid:not(.list) .item-content:hover {
	background:rgba(var(--bright-rgb), .25);
}
.grid .item.sticky .item-content {
	background:var(--light-color);
}
.grid .item.sticky .item-content:hover {
	color:var(--bright-color);
	text-shadow:0 0 0 var(--bright-color);
	background:var(--red-color);
}
.grid.posts .item.sticky .item-content:hover {
	color:var(--dark-color);
	text-shadow:none;
	background:var(--green-color);
}
.grid .item.sticky .item-content:hover .title,
.grid .item.sticky .item-content:hover .description {
	color:var(--dark-color);
	text-shadow:none;
}


/* ============================== OFF ============================== */

.grid:not(.archived) .item.off .item-content {
	color:var(--dark-color);
	text-shadow:none;
	background:var(--grey-color);
}
.grid:not(.archived) .item.off .item-content:hover {
	background:var(--grey-color);
}
.grid:not(.archived) .item.off .item-content .title,
.grid:not(.archived) .item.off .item-content .description {
	color:var(--dark-color);
	text-shadow:none;
}
.grid:not(.archived) .item.off .item-content:hover .title,
.grid:not(.archived) .item.off .item-content:hover .description {
	color:var(--dark-color);
	text-shadow:none;
	color:var(--red-color);
	text-shadow:0 0 0 var(--red-color);
}


/* ============================== INFOS ============================== */

.slide .excerpt,
.grid .excerpt {
	font-size:inherit;
}
aside .excerpt:before,
body:not(.posts) .slide p.excerpt:before,
body:not(.posts) .slide div.excerpt p:before,
.grid:not(.posts) p.excerpt:before,
.grid:not(.posts) div.excerpt p:before {
	font-family:"icomoon";
	display:inline-block;
	vertical-align:middle;
	padding:0 .25rem 0 0;
}
.grid img {
	max-width: none;
	width: 100%;
	display:block;
}
.grid .item-bg {
	position:absolute;
	top:50%;
	left:0;
	z-index:0;
	height:100%;
	width:100%;
	transform:translateY(-50%);
	background-size:cover !important;
	background-position:center center !important;
	background-repeat:no-repeat !important;
	transform-origin:center center !important;
}
.grid .item-bg:after {
	content:"";
	position:absolute;
	z-index:-1;
	top:0;
	left:0;
	z-index:0;
	height:100%;
	width:100%;
	background:var(--dark-color); /* default */
	opacity:.25;
}

/* for boulez-100 */
.grid .item .description.alt {
	display: inline-block;
	font-weight: 600;
	line-height: 1;
	color: var(--dark-color);
	background:var(--bright-color);
	padding: 0.5rem;
	margin-top: .5rem;
}


/* ============================== ITEM THUMBNAIL ============================== */

.grid .item-thumbnail {
	background-size:cover !important;
	background-position:center center !important;
	background-repeat:no-repeat !important;
	transform-origin:center center !important;
}
.grid img.item-thumbnail {
	display:block;
	width:100%;
}
.grid img.item-thumbnail + * {
	padding:1rem 0 0 0;
}


/* ============================== LIST ============================== */

.grid.list .item-content {
	padding:0;
}
.grid.list .item + .item {
	margin:1rem 0 0 0;
}
.grid.list li {
	border-top:solid .0625rem;
	padding:1rem 0 0 0;
	margin:0;
}
.grid.list li:last-child {
	padding:1rem 0;
	border-bottom:solid .0625rem;
}
.grid.list .infos {
	position:relative;
}


/* ============================== PRO ============================== */

.grid.pro .item {
	border:none;
	padding:0;
}
.grid.pro .item + .item {
	margin:0;
}
.grid.pro .item-content {
	display:table;
	padding:2rem;
}
.grid.pro .item-content > * {
	display:table-cell;
	vertical-align:middle;
}
.grid.pro .item-thumbnail {
	height:0;
	padding:20% 0 0 0;
	width:20%;
}
.grid.pro .item-thumbnail + * {
	padding:0 0 0 2rem;
}
.grid.pro .item:nth-child(even) {
	background:var(--light-color);
}


/* ============================== BLOCKS ============================== */

.grid.blocks .item-content {
	width: calc(100% + .0625rem); /* hack percentage isotope */
}
.grid.blocks .infos {
	display: table-cell;
	vertical-align: top;
}
.grid .title,
.grid .description {
	font-size: 1rem;
}


/* ============================== TEAM ============================== */

.grid.team .item {
	height:0;
	margin:.5rem;
}
.grid.team .item-content {
	position:absolute;
	z-index:10;
	top:0;
	left:0;
	right:0;
	bottom:0;
	height:100%;
}
.grid.team .infos {
	display: table-cell;
	vertical-align:middle;
	text-align:center;
	opacity:0;
}
.grid.team .item-content:hover {
	background:var(--dark-color);
}
.grid.team .item-content:hover .infos {
	opacity:1;
}
.grid.team .item-content:hover .background {
	opacity:.5;
}


/* ============================== MEDIAS ============================== */

.grid.medias {
	margin:-.5rem;
}
.grid.medias .item {
	margin:.5rem;
}
.grid.medias .item-content {
	padding:0;
}
.grid.medias.videos .item-content > .videoplayer {
	position:absolute;
	top:0;
	padding:0;
}
.grid.medias.gallery .item-bg:after {
	opacity: 0;
}


/* ============================== LOGOS ============================== */

.grid.logos {
	margin:-.5rem;
}
.grid.logos .item {
	margin:.5rem;
}
.grid.logos img {
	background-size:contain !important;
}
.grid.logos .item-bg {
	background-size:contain !important;
}
.grid.logos .item-bg:after {
	display:none;
}


/* ============================== POSTS ============================== */

.grid.posts {
	display:table; /* fallback */
	display:flex;
	flex-flow:wrap;
}


/* ============================== DONATION ============================== */

.grid.donation .item {
	height:0;
	margin:.5rem;
}
.grid.donation .item-content {
	position:absolute;
	z-index:10;
	top:0;
	left:0;
	right:0;
	bottom:0;
	height:100%;
}
.grid.donation .infos {
	display: table-cell;
	vertical-align:middle;
	text-align:center;
}
.grid.donation .title + .description {
	padding-top:1rem;
}
.grid.donation .description {
	text-align:left;
	font-size:.875rem;
	color:var(--bright-color);
	text-shadow:0 0 0 var(--bright-color);
}
.grid.donation .item-content:hover {
	background:var(--dark-color);
}

/* PUBLICS */

.grid.donation:not(.projects) .description {
	color:var(--dark-color);
	text-shadow:none;
}
.grid.donation:not(.projects) .item-content:hover .description {
	color:var(--bright-color);
	text-shadow:0 0 0 var(--bright-color);
}
.grid.donation:not(.projects) .item-content {
	background:var(--bright-color);
}

/* PROJECTS */

.grid.donation.projects .infos {
	opacity:0;
}
.grid.donation.projects .item-content:hover .infos {
	opacity:1;
}
.grid.donation.projects .item-content:hover .background {
	opacity:.5;
}


/* ============================== ACTIONS ============================== */

.grid.actions .item {
	height:0;
	margin:.5rem;
}


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

@media (min-width:0px) {
	/* default */
	.grid .item {
		width:100%;
	}
	.grid .item-content {
		padding:1.25rem;
	}
	/* list */
	.grid.list .item {
		width:100%;
	}
	.grid.list * + .actions {
		padding-top:1rem;
	}
	.grid.list .actions {
		display:flex;
	}
	.grid.list.events > .item:nth-child(3) ~ .item {
		display:none; /* hide after 3 items */
	}
	/* team */
	.grid.team .item {
		padding:100% 0 0 0;
		width:100%
	}
	/* logos */
	.grid.logos .item {
		width:calc(100% / 6 - 1rem);
	}
	.grid.medias.logos .item {
		padding:calc(100% / 6 - 1rem) 0 0 0;
		width:calc(100% / 6 - 1rem);
	}
	/* medias */
	.grid.medias.gallery .item {
		max-width: calc(100% - 1rem);
		aspect-ratio: 1/1;
	}
	/* donation */
	.grid.donation .item {
		padding:100% 0 0 0;
		width:100%
	}
}
@media (min-width:640px) {
	/* default */
	.grid .item {
		width:calc(100% / 2);
	}
	/* blocks */
	.grid.blocks .item {
		height:0;
		padding:calc(100% / 4) 0 0 0;
		min-height:11rem;
		width:calc(100% / 2);
	}
	.grid.blocks .item-content {
		position:absolute;
		z-index:10;
		inset:0;
		height:calc(100% + .0625rem); /* hack percentage isotope */
	}
	/* medias */
	.grid.medias .item {
		padding:calc(100% / 3 - 1rem) 0 0 0;
		width:calc(100% / 3 - 1rem);
	}
	.grid.medias.videos .item {
		padding:calc(56.25% / 2 - 1rem) 0 0 0;
		width:calc(100% / 2 - 1rem);
	}
	/* team */
	.grid.team {
		margin:-.5rem;
	}
	.grid.team .item {
		padding:calc(100% / 2 - 1rem) 0 0 0;
		width:calc(100% / 2 - 1rem);
	}
	/* donation */
	.grid.donation {
		margin:-.5rem;
	}
	.grid.donation .item {
		padding:calc(100% / 2 - 1rem) 0 0 0;
		width:calc(100% / 2 - 1rem);
	}
}
@media (min-width:760px) {
	/* blocks */
	.grid.blocks .item {
		height:0;
		padding:calc(100% / 3) 0 0 0;
		min-height:14rem;
		width:calc(100% / 2);
	}
	/* list */
	.grid.list.events > .item:nth-child(3) ~ .item {
		display:inline-block; /* unset hidden after 3 items */
	}
}
@media (min-width:1000px) {
	/* default */
	.grid .item {
		width:calc(100% / 3);
	}
	.grid .item-content {
		padding:2rem;
	}
	/* posts */
	.grid.posts .item {
		width:calc(100% / 2);
	}
	/* medias */
	.grid.medias .item {
		padding:calc(100% / 3 - 1rem) 0 0 0;
		width:calc(100% / 3 - 1rem);
	}
	.grid.medias.videos .item {
		padding:calc(56.25% / 2 - 1rem) 0 0 0;
		width:calc(100% / 2 - 1rem);
	}
	/* blocks */
	.grid.blocks .item {
		height:0;
		padding:calc(100% / 3) 0 0 0;
		width:calc(100% / 3);
	}
	/* list */
	.grid.list .infos {
		display:table-cell;
		vertical-align:middle;
		width:100%;
	}
	.grid.list .actions {
		display:table-cell;
		vertical-align:middle;
		padding:0;
	}
	/* team */
	.grid.team .item {
		padding:calc(100% / 3 - 1rem) 0 0 0;
		width:calc(100% / 3 - 1rem);
	}
	/* donation */
	.grid.donation.projects .item {
		padding:calc(100% / 3 - 1rem) 0 0 0;
		width:calc(100% / 3 - 1rem);
	}
	/* actions */
	.grid.donation.actions .item {
		padding:calc(100% / 2 - 1rem) 0 0 0;
		width:calc(100% / 2 - 1rem);
	}
}
@media (min-width:1200px) {
	/* blocks */
	.grid.blocks .item {
		height:0;
		padding:calc(100% / 4) 0 0 0;
		min-height:15rem;
		width:calc(100% / 3);
	}
	/* gallery */
	.grid.medias.gallery .item {
		padding:calc(100% / 4 - 1rem) 0 0 0;
		width:calc(100% / 4 - 1rem);
	}
	.grid.medias.gallery.large .item {
		padding:calc(100% / 3 - 1rem) 0 0 0;
		width:calc(100% / 3 - 1rem);
	}
	/* team */
	.grid.team .item {
		padding:calc(100% / 3 - 1rem) 0 0 0;
		width:calc(100% / 3 - 1rem);
	}
	/* actions */
	.grid.donation.actions .item {
		padding:calc(100% / 4 - 1rem) 0 0 0;
		width:calc(100% / 4 - 1rem);
	}
}
@media (min-width:1400px) {
	/* blocks */
	.grid.blocks .item {
		height:0;
		padding:calc(100% / 5) 0 0 0;
		min-height:15rem;
		width:calc(100% / 4);
	}
}



/* ===================================================================================================== */
/* ============================================= ACCORDION ============================================= */
/* ===================================================================================================== */


.panelON:before {
	transition:transform .15s cubic-bezier(.75,0,.25,1);
}
.panel {
	transition:all .15s cubic-bezier(.75,0,.25,1) .25s, opacity .15s cubic-bezier(.75,0,.25,1);
}
.panelON.active + .panel {
	transition:all .15s cubic-bezier(.75,0,.25,1), opacity .15s cubic-bezier(.75,0,.25,1) .25s;
}
.panelON {
	position:relative;
	display:block;
	border:0;
}
.panelON > * {
	display:inline-block;
	vertical-align:middle;
}
.panelON:before {
	content:"";
	display:inline-block;
	vertical-align:middle;
	height:0;
	width:0;
	border-style:solid;
	border-width:.25rem .25rem 0 .25rem;
	border-color: var(--dark-color) transparent transparent transparent;
}
.panelON.active:before {
	transform:rotate(180deg);
}
.panel {
	overflow:hidden;
	font-size:0;
	opacity:0;
	max-height:0;
}
.panelON.active + .panel {
	font-size:inherit;
	opacity:1;
	max-height:999rem;
	padding:1rem 0 0 0;
}



/* ==================================================================================================== */
/* ============================================= OVERLAYS ============================================= */
/* ==================================================================================================== */


/* ============================== DEFAULT ============================== */

#overlays { 
	position: relative;
	z-index: 10000;
	transform: none !important;
	margin: 0 !important;
	pointer-events: none;
}
.overlay {
	position:fixed;
	z-index:99998;
	z-index:-1\9; /* IE */
	inset:0;
	display: flex;
	align-items: center;
	width:100%;
	padding:0;
	opacity:0;
	-webkit-overflow-scrolling:touch;
	overflow:hidden;
	pointer-events:none;
	transform:translate3d(0,-101%,0);
}
.overlay.loading:before {
	content:"";
	position:absolute;
	z-index:10;
	top:50%;
	left:50%;
	height:1rem;
	width:1rem;
	margin:-.5rem;
	background:url(../images/ajax-loader.gif) no-repeat;
}
.overlay:after {
	content:"";
	position:absolute;
	z-index:-1;
	top:0;
	left:0;
	height:100%;
	width:100%;
	background:var(--bright-color); /* default */
}
.side.overlay {
	overflow:visible;
}
.overlay.active,
.side.overlay.active {
	opacity:1;
	transform:translate3d(0,0,0);
}


/* ============================== OVERLAY CLICKOUTSIDE ============================== */

.clickoutside {
	position:fixed;
	z-index:-1;
	z-index:-1\9; /* IE */
	top:0;
	left:0;
	height:100%;
	width:100%;
	cursor:pointer;
	opacity:0;
	background:var(--dark-color);
	pointer-events:none;
}
body.expanded .clickoutside.active,
body.overlayed .clickoutside.active {
	opacity:.75;
	pointer-events:auto;
}
body.overlayed .clickoutside.active {
	z-index:9000;
}
body.expanded .clickoutside.active {
	z-index:900;
}


/* ============================== OVERLAY CLOSE ============================== */

.overlay .close {
	position:absolute;
	z-index:100;
	top:0;
	right:0;
	font-size:1rem;
	line-height:1rem;
	padding:1rem;
	transform:translate3d(0,0,0); /* IOS */
}
.overlay .close:hover {
	transform:scale(1.2);
}
.overlay .close [class^="icon-"],
.overlay .close [class*=" icon-"] {
	display:block;
}


/* ============================== OVERLAY CONTENT ============================== */

.overlay-content {
	position: relative;
	z-index:99998;
	height: auto;
	width:100%;
	text-align:center;
	margin:auto;
}
.overlay.active .overlay-content {
	pointer-events:auto;
}
.overlay-content > * {
	text-align:left;
}
.overlay-content .title {
	font-size:1.25rem;
	line-height:1.25rem;
}
.overlay-content form {
	max-width:none;
}


/* ============================== POPUP ============================== */

.overlay.popup {
	transform:translate3d(0,0,0);
}
.overlay.popup.active {
	z-index:99998;
	overflow:auto;
}
.overlay.popup:after {
	display:none;
}
.overlay.popup .overlay-content {
	max-width:50rem;
	background:var(--bright-color);
}


/* ============================== OVERLAY SIDE ============================== */

.overlay.side {
	left:auto;
	right:0;
	transform:translate3d(101%,0,0);
}
.overlay.side .overlay-content {
	overflow:auto;
}


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

@media (min-width:0px) {
	.overlay-content {
		padding:3.5rem;
	}
	/* side overlay */
	.overlay.side .overlay-content {
		padding:3rem;
	}
	/* popup */
	.overlay.popup .overlay-content {
		width:90%;
	}
}
@media (min-width:640px) {
	/* side overlay */
	.overlay.side {
		width:75%;
	}
}
@media (min-width:1000px) {
	/* side overlay */
	.overlay.side {
		width:50%;
	}
	/* popup */
	.overlay.popup .overlay-content {
		width:70%;
	}
}



/* ================================================================================================== */
/* ============================================= SLIDER ============================================= */
/* ================================================================================================== */


/* ============================== SLIDER DEFAULT ============================== */

.slider {
	position: relative;
}
.slider img {
	display: block;
	height: auto;
	width: 100%;
}
.slider .slide {
	width: 100%;
}
.slider .slide + .slide {
	position: absolute;
}

.bx-wrapper {
	position: relative;
	z-index: 1;
}
/* SAFARI BUG CLONE FIX */
.bx-viewport .slide {
	min-height: 1px;
	min-width: 1px;
}
.bxslider:not(.fade),
.bx-wrapper,
.bx-viewport {
	height: 100% !important;
}
.bxslider .slide,
.bxslider iframe {
	display: block;
	height: 100%;
	width: 100%;
	margin: 0 auto;
}
.bxslider.fade .slide {
	height: auto;
}
.bxslider.mobile {
	width: 100% !important;
}


/* ============================== SLIDER FULL ============================== */

.slider.full {
	height:100%;
	overflow:hidden;
}
.slider.full .bxslider,
.slider.full .bx-wrapper,
.slider.full .bx-viewport {
	overflow:visible !important;
}
.slider.full .bx-navigation a {
	position:absolute;
	z-index:10;
	top:50%;
}
body.onload .slider.full .bx-navigation .prev {
	left:-5rem;
	opacity:0;
}
body.onload .slider.full .bx-navigation .next {
	right:-5rem;
	opacity:0;
}
.slider.full .bx-controls {
	position:absolute;
	z-index:10;
	bottom:1rem;
	width:100%;
	text-align:center;
}
.bx-controls {
	position:absolute;
	z-index:10;
	bottom:1rem;
	width:100%;
	text-align:center;
}


/* ============================== SLIDER ENLARGED ============================== */

.slider.zoom {
	height: 0;
	width: 100%;
	padding: 56.25% 0 0 0;
}
.slider.zoom .bxslider,
.slider.zoom .bx-wrapper,
.slider.zoom .bx-viewport {
	position: absolute;
	top: 0;
	left: 0;
}
.slider.zoom .bx-wrapper {
	width: 100%;
}
.slider.zoom .slide {
	background: var(--bright-color);
}
.slider.zoom .slide-content {
	background-size: contain !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
}
.slider.zoom .slide-content {
	height: 100%;
	width: 100%;
}
.slider.zoom.expanded {
	margin: 0;
}
.slider.zoom.expanded .slide {
	padding: 4rem;
}
.slider.zoom.expanded .slide-content {
	background-size: contain !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
}
.slider.expanded.zoom {
	height: 100%;
	width: 100%;
}
.slider.expanded {
	position: fixed;
	z-index: 9999;
	inset: 0;
	padding: 4rem;
}
.slider.expanded:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: var(--dark-color);
	opacity: .85;
}
.slider.expanded .enlarge {
	top: -2rem;
	right: 0;
	margin: 0;
}
.slider .reduce {
	position: fixed;
	z-index: 9999;
	top: -2rem;
	right: 1rem;
	background: none;
}
.slider.expanded .reduce {
	top: 2rem;
	right: 1rem;
}


/* ============================== SLIDER NAVIGATION ============================== */

.bx-navigation {
	position:absolute;
	top:0;
	left:0;
	height:100%;
	width:100%;
}
.bx-navigation a {
	font-family: "icomoon";
	content: "\e913"; /* icon-right */
	position: absolute;
	z-index: 10;
	top: 50%;
	display: inline-block;
	color: var(--bright-color);
	text-shadow:0 0 0 var(--bright-color);
	transform:translate3d(0, -50%, 0);
	border-radius: 5rem;
}
.bx-navigation a:hover {
	transform: translate3d(0, -50%, 0);
	color: var(--bright-color);
	text-shadow: 0 0 0 var(--bright-color);
}
.bx-navigation a span {
	display: block;
}


/* ============================== SLIDER PAGER ============================== */

.bx-pager {
	text-align: center;
}
.bx-pager-item {
	display: inline-block;
	margin: 0 .375rem;
}
.bx-pager-link {
	display: block;
	height: .5rem;
	width: .5rem;
	font-size: 0;
	background: var(--bright-color);
	border: 0;
	border-radius: 2rem;
}
.bx-pager-link:hover,
.bx-pager-link.active {
	background: var(--red-color);
}
.posts .bx-pager-link:hover,
.posts .bx-pager-link.active {
	background: var(--green-color);
}


/* ============================== SLIDER COUNTER ============================== */

/* default */
.bx-default-pager {
	font-size: .875rem;
	line-height: 1;
}
/* custom */
.bx-counter {
	color: var(--bright-color);
	text-align: right;
}
.bx-counter span {
	vertical-align: middle;
	font-size: .875rem;
	line-height: 1;
}
.bx-counter .total:before {
	content: '/';
	display: inline-block;
	padding: 0 .25rem 0 0;
}


/* ============================== SLIDER LEGEND ============================== */

.slide {
	overflow: hidden;
}
.slide .legend {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: .5rem;
	color: var(--bright-color);
	text-shadow: 0 0 0 var(--bright-color);
	/*background:rgba(35,31,32,.5);*/
	background: rgba(var(--dark-rgb), .5);
}


/* ============================== SLIDER FIGURE ============================== */

.slider figure {
	display: flex;
	flex-direction: column;
	height:100%;
	width:100%;
}
.slider figure img {
	height:100%;
	max-height: calc(100% - 2rem);
	object-fit: contain;
}
.slider figure .legend {
	position: relative;
	font-size: 1rem;
	line-height: 1;
	max-height: 2rem;
	padding: 0;
	color:var(--dark-color);
	text-shadow: none;
	background: none;
}


/* ============================== SLIDER GALLERY ============================== */

.slider.gallery .slide {
	background-size: contain !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
}
section .slider.gallery {
	height:60svh;
}


/* ============================== SLIDER NAV ============================== */

.slider nav a.reduce,
.slider nav a.previous,
.slider nav a.next {
	position: absolute;
	font-size: 0;
	color: var(--bright-color);
	text-shadow: 0 0 0 var(--bright-color);
	transform: none;
}
.slider nav a.reduce {
	top: 0;
	right: 0;
}
.slider nav a.previous {
	top: 50%;
	left: 0;
}
.slider nav a.next {
	top: 50%;
	right: 0;
}
.slider nav a.reduce:after,
.slider nav a.previous:before,
.slider nav a.next:after {
	font-family: 'icomoon';
	display: inline-block;
	font-size: .75rem;
	line-height: 1;
	padding: 1em;
}
.slider .bx-counter {
	position: fixed;
	z-index: 9999;
	bottom: 1.125rem;
	right: 1.125rem;
}


/* ============================== VIEWER ============================== */

.instant-slide {
	transition: 0.001s ease !important;
}
body.enlarged {
	overflow: hidden;
}
body.enlarged header {
	z-index: 0;
}
.viewer {
	position: fixed !important;
	z-index: -1;
	opacity: 0;
	inset: 0;
	padding: 4rem;
	margin: 0;
	/*background:rgba(33,33,32,.75);*/
	background: rgba(var(--dark-rgb), .75);
}
.viewer.hasLegend .slide {
	margin-bottom: 4rem;
}
.viewer.active {
	z-index: 9999;
	opacity: 1;
}
.viewer:after {
	content: '';
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	/*background:rgb(35,31,32);*/
	background: var(--dark-color);
	opacity: .95;
}
.viewer .slide {
	background-size:contain !important;
	background-repeat:no-repeat !important;
	background-position:center center !important;
}


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

@media (min-width:0px) {
	/* bx-navigation */
	.bx-navigation a {
		font-size: 1rem;
		line-height: 1;
		padding: 1rem;
	}
	.bx-navigation .prev {
		left:0;
	}
	.bx-navigation .next {
		right:0;
	}
}
@media (min-width:1000px) {
	/* bx-navigation */
	.bx-navigation a {
		font-size: 2rem;
	}
	.bx-navigation .prev {
		left: 2rem;
	}
	.bx-navigation .next {
		right: 2rem;
	}
}



/* ================================================================================================= */
/* ============================================= FORMS ============================================= */
/* ================================================================================================= */


/* ============================== DEFAULT ============================== */

fieldset {
	border:none;
	margin:0;
	padding:0;
}
form {
	max-width:20rem;
	margin:0 auto;
}
form.full {
	max-width:none;
}
input,
textarea,
button,
select {
	display:inline-block;
	vertical-align:middle;
	height:2.5rem;
	width:100%;
	padding:.5rem 1rem;
	font-size:.875rem;
	line-height:1rem;
	color:var(--dark-color);
	text-shadow:none;
	background:none;
	border:solid .0625rem var(--dark-color);
	-webkit-border-radius:0;
	-moz-border-radius:0;
	border-radius:0;
}
textarea {
	resize:none;
	min-height:6rem;
	padding:1rem !important;
}
select,
input[type=submit],
button {
	cursor:pointer;
}
label {
	display:inline-block;
}


/* ============================== COLORS ============================== */

.red input,
.red textarea,
.red button,
.red select {
	color:var(--bright-color);
	text-shadow:0 0 0 var(--bright-color);
	border:solid .0625rem var(--bright-color);
}


/* ============================== BROWSERS ============================== */

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
::-webkit-input-placeholder {
	color:inherit;
	opacity:.5;
}
:-moz-placeholder {
	color:inherit;
	opacity:.5;
}
::-moz-placeholder {
	color:inherit;
	opacity:.5;
}
:-ms-input-placeholder {
	color:inherit;
	opacity:.5;
}
input,
textarea,
button,
select {
	-webkit-appearance:none;
	-moz-appearance:none;
}
/* chrome change yellow autofill */
input:-webkit-autofill {
	-webkit-box-shadow:0 0 0px 1000px var(--light-color) inset;
}
.green input:-webkit-autofill {
	-webkit-box-shadow:0 0 0px 1000px var(--green-color) inset;
}


/* ============================== PRETTY CHECKBOXES ============================== */

input[type="radio"],
input[type="checkbox"] {
	display:none;
}
input[type="radio"] + label,
input[type="checkbox"] + label {
	display:inline-block;
	cursor:pointer;
	position:relative;
}
input[type="radio"] + label:before,
input[type="checkbox"] + label:before {
	content:"";
	display: inline-block;
	vertical-align:middle;
	height:.75rem;
	width:.75rem;
	margin-right:.5rem;
	color:var(--dark-color);
	border:solid .0625rem var(--dark-color);
	background:var(--bright-color);
}
input[type="radio"] + label:before {
	border-radius:10rem;
}
input[type="radio"] + label:hover:before,
input[type="checkbox"] + label:hover:before,
input[type="radio"]:checked + label:before,
input[type="checkbox"]:checked + label:before {
	background:var(--dark-color); /* default */
}


/* ============================== SUBMIT ============================== */

input[type=submit],
button {
	color:var(--bright-color);
	text-shadow:0 0 0 var(--bright-color);
	border-color:var(--dark-color);
	background:var(--dark-color);
}
.green input[type-submit],
.green button {
	color:var(--dark-color);
	text-shadow:none;
}
.red input[type=submit],
.red button {
	border-color:var(--bright-color);
	background:var(--bright-color);
}
input[type=submit]:hover,
button:hover {
	border-color:var(--red-color);
	background:var(--red-color);
}
.posts input[type=submit]:hover,
.posts button:hover {
	border-color:var(--green-color);
	background:var(--green-color);
}


/* ============================== INPUT CONTAINER ============================== */

.input-container {
	position:relative;
	width:100%;
	overflow:hidden;
}
.input-container input {
	margin:0;
	max-width:100%;
	width:100%;
	padding:.5rem 2.5rem .5rem 1rem;
}
.input-container button {
	position:absolute;
	top:0;
	right:0;
	font-size:.875rem;
	line-height:.875rem;
	width:2.5rem;
	padding:.5rem 0;
	text-align:center;
	margin:0;
	border:0;
	background:none !important;
}
.input-container button [class^="icon-"],
.input-container button [class*=" icon-"] {
	display:block;
}
.input-container .infobutton {
	position:absolute;
	z-index:10;
	top:50%;
	right:.5rem;
	margin:-.75rem 0 0 0;
}
.input-container button:hover {
	transform:scale(1.2);
}


/* ============================== SELECT CONTAINER ============================== */

.select-container {
	position:relative;
	width:100%;
}
.select-container select {
	padding:.5rem 2.5rem .5rem 1rem;
}
.select-container:after {
	content:'';
	position:absolute;
	z-index:10;
	top:0;
	right:0;
	height:0;
	width:0;
	pointer-events:none;
	border-top:.25rem solid var(--dark-color);
	border-right:.25rem solid transparent;
	border-left:.25rem solid transparent;
	border-bottom:0 dotted;
	margin:1.125rem 1rem;
}
.select-container:hover:after {
	transform:rotate(-180deg);
}
.select-container.select2:after {
	display:none;
}



/* =================================================================================================== */
/* ============================================= SELECT2 ============================================= */
/* =================================================================================================== */


.select2-container {
	margin: 0;
	position: relative;
	display: inline-block;
	vertical-align: middle;
	width: 100%;
	min-height: 2.5rem;
	font-size: .875rem;
	line-height: 1rem;
	color: var(--dark-color);
	background: var(--bright-color);
}
.select2-container .select2-choice {
	display:block;
	overflow:hidden;
	white-space:nowrap;
	text-decoration:none;
	-webkit-touch-callout:none;
	-webkit-user-select:none;
	-moz-user-select:none;
	-ms-user-select:none;
	user-select:none;
	padding:.375rem 2.375rem .375rem .875rem;
	border:solid .0625rem var(--dark-color);
	color:var(--dark-color) !important;
	text-shadow:none;
}
.select2-container .select2-choice > .select2-chosen {
	display:block;
	overflow:hidden;
	white-space:nowrap;
	-o-text-overflow:ellipsis;
	   text-overflow:ellipsis;
	width:auto;
	padding:.313rem 0;
}
.select2-container .select2-choice abbr {
	display:none;
}
.select2-drop-mask {
	border:0;
	margin:0;
	padding:0;
	position:fixed;
	left:0;
	top:0;
	min-height:100%;
	min-width:100%;
	height:auto;
	width:auto;
	z-index:9998;
	opacity:0;
	filter:alpha(opacity=0);
}
.select2-drop {
	width:100%;
	position:absolute;
	z-index:9999;
	top:100%;
}
.select2-drop-auto-width {
	width:auto;
}
.select2-container .select2-choice .select2-arrow {
	position:absolute;
	z-index:10;
	top: 50%;
	right:1rem;
	height:0;
	width:0;
	pointer-events:none;
	border-top:.25rem solid var(--dark-color);
	border-right:.25rem solid transparent;
	border-left:.25rem solid transparent;
	border-bottom:0 dotted;
	-webkit-transform:translate3d(0,-50%,0);
	-moz-transform:translate3d(0,-50%,0);
	-o-transform:translate3d(0,-50%,0);
	-ms-transform:translate3d(0,-50%,0);
	transform:translate3d(0,-50%,0);
}
.select2-container .select2-choice:hover .select2-arrow,
.select2-container.select2-dropdown-open .select2-choice .select2-arrow {
	-webkit-transform:translate3d(0,-50%,0) rotate(-180deg);
	-moz-transform:translate3d(0,-50%,0) rotate(-180deg);
	-o-transform:translate3d(0,-50%,0) rotate(-180deg);
	-ms-transform:translate3d(0,-50%,0) rotate(-180deg);
	transform:translate3d(0,-50%,0) rotate(-180deg);
}
/* results */
.select2-results {
	max-height:16rem;
	position:relative;
	overflow-x:hidden;
	overflow-y:auto;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	border:solid .0625rem var(--dark-color);
	border-top:0;
}
.select2-results li {
	list-style:none;
	display:list-item;
	background-image:none;
}
.select2-results .select2-result-label {
	padding:.5rem 1rem;
	margin:0;
	cursor:pointer;
	min-height:1rem;
	-webkit-touch-callout:none;
	-webkit-user-select:none;
	-moz-user-select:none;
	-ms-user-select:none;
	user-select:none;
	color:var(--dark-color);
	background:var(--bright-color);
}
.select2-results .select2-highlighted .select2-result-label {
	color:var(--bright-color);
	text-shadow:0 0 0 var(--bright-color);
	background:var(--dark-color);
}
/* disabled look for disabled choices in the results dropdown */
.select2-results .select2-selected {
	display: none;
}
/* disabled styles */
.select2-container.select2-container-disabled .select2-choice abbr {
	display: none;
}
/* disabled styles */
.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close {
	display: none;
	background: none;
}
/* end multiselect */
.select2-offscreen, .select2-offscreen:focus {
	clip: rect(0 0 0 0) !important;
	width: 1px !important;
	height: 1px !important;
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	position: absolute !important;
	outline: 0 !important;
	left: 0px !important;
	top: 0px !important;
}
.select2-hidden-accessible,
.select2-display-none {
	display: none;
}



/* ====================================================================================================== */
/* ============================================= SOUNDCLOUD ============================================= */
/* ====================================================================================================== */


/* ============================== DEFAULT ============================== */

.sc-player {
	position: relative;
	display: block;
	width: 100%;
	padding: 0;
}
.sc-player .hidden {
	display: none;
}
.sc-player a {
	border: 0;
}


/* ============================== SCRUBBER ============================== */

.sc-scrubber {
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:2rem;
	height:2rem;
}
.sc-waveform-container {
	height: 2rem;
	/*background:rgb(239,239,239);*/
	background: var(--light-color);
}
.sc-time-span img {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	height: 1rem;
	margin: .5rem 0;
	width: 100%;
	background-color: var(--dark-color);
}
.sc-time-indicators {
	font-size: .75rem;
	line-height: 1;
	padding: .75rem 0 0 0;
	float: right;
}
.sc-position {
	color: var(--red-color);
}


/* ============================== ARTWORKS ============================== */

.sc-player .sc-artwork-list {
	display: none;
}
.sc-player .sc-artwork-list li {
	list-style-type: none;
	display: none;
}
.sc-player .sc-artwork-list li.active {
	list-style-type: none;
	display: block;
}
.sc-player .sc-artwork-list li img,
.sc-player .sc-artwork-list li div {
	list-style-type: none;
	width: 100%;
	height: 100%;
}
.sc-scrubber .sc-buffer, .sc-scrubber .sc-played {
	position: absolute;
	top: 0;
	height: 2rem;
	width: 0;
	cursor: pointer;
}
.sc-scrubber .sc-buffer, .sc-scrubber .sc-played {
	background: var(--bright-color);
	opacity: .5;
}
.sc-scrubber .sc-played {
	background: var(--dark-color);
	opacity: .5;
}


/* ============================== CONTROLS ============================== */

.sc-player .sc-controls {
	position: absolute;
	top: 0;
	left: 0;
	padding: 0;
}
.sc-player .sc-controls a {
	position: relative;
	display: block;
	font-size: .75rem;
	line-height: 1;
	height: 2rem;
	width: 2rem;
	padding: .75rem;
	color: var(--bright-color);
	text-shadow: 0 0 0 var(--bright-color);
	border: 0;
	background: var(--dark-color);
}
.sc-player .sc-controls a > * {
	display: block;
}
.sc-player .sc-controls a.sc-play,
.sc-player .sc-controls a.sc-pause {
	text-indent: -3000px;
}
.sc-player .sc-controls a:before {
	font-family: 'icomoon';
	text-indent: 0;
	position: absolute;
	top: 50%;
	left: 50%;
	font-size:.75rem;
	line-height: 1;
	transform: translate(-50%, -50%);
}
.sc-player .sc-controls a.sc-pause,
.sc-player.playing .sc-controls a.sc-play {
	display: none;
}
.sc-player.playing .sc-controls a.sc-pause {
	display: block;
}


/* ============================== INFO ============================== */

.sc-info {
	padding: 2.75rem 0 0 0;
	text-align: left;
}
.sc-info > * {
	display: none;
}
.sc-info h3 {
	display: block;
	text-transform: none;
	padding: 0 4rem 0 0;
}
.sc-info a {
	cursor: default;
}
.sc-info-toggle {
	display: none;
}


/* ============================== TRACKS ============================== */

.sc-trackslist {
	display: none;
}


/* ============================== SHORT ============================== */

.sc-player.short {
	height: 2rem;
	width: 2rem;
}
.sc-player.short .sc-artwork-list,
.sc-player.short .sc-info,
.sc-player.short .sc-scrubber,
.sc-player.short .sc-trackslist,
.sc-player.short .sc-info-toggle,
.sc-player.short .sc-player .hidden {
	display: none;
}
.sc-player.short .sc-controls a {
	-webkit-border-radius:20rem;
	-moz-border-radius:20rem;
	border-radius:20rem;
}
.sc-player.short .sc-controls a:after {
	content: "";
	position: absolute;
	z-index: -1;
	top: 50%;
	left: 50%;
	height: calc(100% - .25rem);
	width: calc(100% - .25rem);
	border: solid .125rem var(--dark-color);
	transform: translateX(-50%) translateY(-50%);
	border-radius: 20rem;
}


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

@media (min-width:0px) {
	.sc-info h3 {
		font-size: .75rem;
		line-height: 1;
	}
}
@media (min-width:760px) {
	.sc-info h3 {
		font-size: 1rem;
	}
}



/* ========================================================================================================= */
/* ============================================= TARTEAUCITRON ============================================= */
/* ========================================================================================================= */


#tarteaucitronClosePanel { z-index: 10; }
div#tarteaucitronServices { margin-top: 0 !important; }
#tarteaucitronRoot button {
	width: auto;
	margin: 0;
}
#tarteaucitronBack { width: 100% !important; }