/* Default */
*, *:before, *:after { position: relative; margin: 0; border: none; border-style: solid; border-width: 0; border-color: rgba(0, 0, 0, 0.2); padding: 0; vertical-align: top; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
.cbox, .cbox * { -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; }
a, a:hover, a:visited { text-decoration: none; color: #000; }
*:active, *:focus { outline: none; }
*:before { vertical-align: top; }

/* Body & Html */
html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; -ms-touch-action: pan-x; }
body { font-family: 'Open Sans', Arial, sans-serif; font-size: 0; line-height: 0; overflow-x: hidden;
	-webkit-touch-callout: none;
	-webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;
	-webkit-highlight: none;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	-webkit-tap-highlight-color: transparent;
	-ms-touch-action: pan-y;
	-ms-content-zooming: none;
	}

/* Form & Others */
ul { list-style: none; }
.center { text-align: center; }
.hidden { display: none; }
.clear { clear: both; }
.right { float: right; }
.isfixed { visibility: hidden; }
* a.touch { z-index: 10; position: absolute; top: 0; left: 0; right: 0; bottom: 0; }

/* Fonts */
@font-face {
	font-family: 'Vectra';
	src: url('/fonts/vectra.woff2') format('woff2'),
		 url('/fonts/vectra.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	}

/* Fonts */
h2, h3, .title, div.menu li a, ul.right li a, a.button										{ font-family: 'Roboto Condensed', Arial, sans-serif; font-weight: normal; }
h1, .menu ul.menu li a:before, .menu ul.menu li a:after, a.button:before, a.button:after	{ font-family: 'Vectra', Arial, sans-serif; font-weight: normal; }

/* Transitions */
header, div.content, a.icon:before,
a.button, a.button:before, a.button:after,
div.menu, .menu a, .menu a:before, .menu a:after, ul.right a,
.tableau h2, .tableau ul, .tableau a.touch, .tableau img.photo,
.tableau div.background:before {
	-webkit-transition-property: all;
	-ms-transition-property: all;
	transition-property: all;
	-webkit-transition-duration: 200ms;
	-ms-transition-duration: 200ms;
	transition-duration: 200ms;
	}

.tableau div.background {
	-webkit-transition-property: all;
	-ms-transition-property: all;
	transition-property: all;
	-webkit-transition-duration: 2000ms;
	-ms-transition-duration: 2000ms;
	transition-duration: 2000ms;
	}

/* Blur */
.blur {
	-webkit-filter: blur(10px) grayscale(0.30);
	-moz-filter: blur(10px) grayscale(0.30);
	-ms-filter: blur(10px) grayscale(0.30);
	-o-filter: blur(10px) grayscale(0.30);
	filter: blur(10px) grayscale(0.30);
	}

/* Theme */
body, input, textarea, select, option																		{ color: #000; }
body, div.wcontent, div.popup, div.search, div.filters,
section.article, section.article div.infosaaa, div.selections a												{ background-color: #fff; }

.menu *, ul.right *																							{ border-color: rgba(255, 255, 255, 0.1) !important; }

/* Position */
div.wcontent:after { content: ''; display: table; clear: both; }
div.wrap { margin: 0 auto; width: 1200px; }
.sticky { z-index: 10; position: -webkit-sticky; position: sticky; }
.allwidth { display: block; margin-left: calc((100vw - 100%) / -2); width: 100vw; }

/* Scroll */
.scroll { font-size: 12px; overflow: hidden; overflow-y: auto; }
.scroller { position: absolute; top: 0; left: 0; right: 0; bottom: 0; }
.scroller.scroll { overflow-y: scroll; }
.overflow { overflow: hidden; }
.innerscroll { font-size: 0; }

/* Default */
.loadcontent { min-height: 25px; }
.img { background-position: 50% 50%; background-size: cover; border-radius: 50%; border-width: 1px; }
div.text, p.text { word-wrap: break-word; }
textarea { font-family: 'Open Sans', Arial, sans-serif; resize: none; }
input.hiddensubmit { z-index: -1; position: absolute; width: 0; height: 0; overflow: hidden; }
.ellipsis, .contentheader h1, .item.event p, .itemoninput span.name, .itemoninput span.text, .groupfield label strong { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
.hidden { display: none; }

/* Button */
a.button { display: inline-block; padding: 0 50px; height: 50px; font-size: 14px; line-height: 50px; font-weight: normal; text-align: center; color: #fff; background: #3e3e3e; white-space: nowrap; border: 0; border-radius: 3px; overflow: hidden; }
a.button:hover, a.button.active { color: rgba(255, 255, 255, 0); }
a.button:before, a.button:after { content: attr(data-text); position: absolute; top: 0; left: 0; right: 0; opacity: 0; font-size: 22px; line-height: 54px; font-weight: normal; color: #fff; text-rendering: optimizeLegibility; }
a.button:hover:before, a.button:hover:after { opacity: 1; }
a.button.hidden { display: none; }

/* Error */
.error:not(.button) { border-color: #e84c3d !important; color: #e84c3d !important; }
input.error + h3.label { color: #e84c3d !important; }
a.button.error { background: #e84c3d !important; }

/* Select */
#content, div.popup { -webkit-user-select: text; -moz-user-select: text; -ms-user-select: text; user-select: text; }

/* Popup */
div.popup { z-index: 95; }
div.popupcontent { position: absolute; top: 0; left: 0; right: 0; bottom: 0; overflow: hidden; overflow-y: auto; }

/* Overlay */
div.overlay { z-index: 200; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.2); }

/* Content */
div.content, div.popup { position: fixed; top: 0; left: 300px; right: 80px; bottom: 0; }
div.content * { border-color: rgba(0, 0, 0, 0.7); }
div.wcontent { position: absolute; top: 0; left: 0; right: 0; bottom: 0; }
body:not(.home) div.wcontent div.innerscroll { padding: 30px; }

.wcontent h1 { margin: 0 0 0.2em; padding: 0.2em 0 0; font-size: 50px; line-height: 0.8em; border-width: 0 0 1px; pointer-events: none; }
.wcontent h1 strong { display: none; }
.wcontent h2 { margin: 0 0 0.4em; padding: 1.2em 0 0; font-size: 22px; line-height: 1.2em; }
.wcontent p { padding: 1.2em 0 0 0; font-size: 14px; line-height: 1.8em; text-align: justify; }
.wcontent p.center { text-align: center; }

/* Listing */
ul.listing { }
ul.listing li { padding: 0 150px 0 50px; font-size: 14px; line-height: 1.8em; }
ul.listing li span { position: absolute; top: 1px; right: 0; font-size: 12px; opacity: 0.7; }

ul.listing li[data-year] { margin-top: 0.4em; }
ul.listing li[data-year]:before { position: absolute; content: attr(data-year); left: 0; }


/* Header */
header { display: none; z-index: 200; position: fixed; top: 0; left: 0; height: 70px; }
header div.loader { display: none; position: absolute; top: 0; left: 0; right: 0; height: 2px; }
header .loader div.progress { position: absolute; top: 0; left: 0; bottom: 0; width: 100%; }

header a.menu { z-index: 5; position: absolute; top: 0; left: 5px; width: 60px; height: 100%; background-position: -11px 15px; background-size: 50px auto; border-radius: 0; }
header a.logo { position: absolute; top: 0; left: 58px; width: 220px; height: 100%; background: url('/img/logo-large.png') no-repeat 50% calc(50% + 5px); background-size: 90% auto; }
header a.logo strong { display: none; }

/* Icons */
a.icon:before { z-index: 1; content: ''; position: absolute; top: 50%; left: 50%; width: 50px; height: 50px; background: url('/img/icons.png?v1') no-repeat 0 0; background-size: 50px auto; -webkit-transform: translate(-50%, calc(-50% - 8px)); transform: translate(-50%, calc(-50% - 8px)); opacity: 0.6; }
a.icon:hover:before { opacity: 0.8; }
a.icon.viewmenu:before { background-position: 0 0; }
a.icon.close:before { background-position: 0 -50px; }
a.icon.filters:before { background-position: 0 -100px; }
a.icon.share:before { background-position: 0 -150px; }
a.icon.search:before { background-position: 0 -200px; }
a.icon.contact:before { background-position: 0 -250px; }
a.icon.facebook:before { background-position: 0 -300px; }
a.icon.instagram:before { background-position: 0 -350px; }
a.icon.print:before { background-position: 0 -400px; }
a.icon.sound:before { background-position: 0 -450px; }

/* Fields */
.fields { margin: 15px 0 0; }
.fields label { display: inline-block; margin: 6px 0; padding: 0; width: 100%; }
.fields label em { z-index: 2; position: absolute; top: 4px; left: 9px; font-size: 12px; line-height: 20px; font-style: normal; opacity: 0.5; pointer-events: none; }
.fields label strong, .fields label input, .fields label select, .fields label textarea { padding: 18px 0 0 8px; width: 100%; height: 50px; font-size: 14px; line-height: 20px; background: #fff; border-width: 1px; border-color: rgba(0, 0, 0, 0.3); border-radius: 3px; }
.fields label textarea { padding-top: 23px; min-height: 300px; }
.fields label input:focus, .fields label select:focus, .fields label textarea:focus { border-color: rgba(0, 0, 0, 0.7); }
.fields label select { background-position: calc(100% - 10px) 50%; }
.fields label[data-width="35"] { width: calc(35% - 10px); }
.fields label[data-width="65"] { width: calc(65% - 10px); }
.fields label[data-width="50"] { width: calc(50% - 10px); }

.fields label.error em { opacity: 1; }
.fields label input.error, .fields label select.error { border-color: #e84c3d; }

.fields p { margin: 0; text-align: center; }

/* Menu */
div.menu { z-index: 250; position: fixed; top: 0; left: 0; width: 300px; min-height: 100vh; color: #fff; background: #3e3e3e; box-shadow: 0 0 10px rgba(0, 0, 0, 0.6); }
.menu a, .menu a:hover, .menu a:visited { color: #fff; }

.menu a.closemenu { z-index: 10; display: none; position: absolute; top: 10px; right: -20px; width: 50px; height: 50px; background: #3e3e3e; border-width: 1px; opacity: 0; pointer-events: none; }
.menu a.logo { display: block; width: 100%; height: 265px; background: url('/img/logo.png') no-repeat 50% calc(50% - 5px); background-size: 80% auto; }
.menu a.logo strong { display: none; }
.menu a.logo span { position: absolute; bottom: 20px; left: 0; right: 0; font-size: 11px; line-height: 20px; text-align: center; opacity: 0.7; }

.menu ul.menu { display: block; border-width: 1px 0 0; }
.menu ul.menu li { display: block; border-width: 0 0 1px; }
.menu ul.menu li a { display: block; height: 50px; font-size: 14px; line-height: 50px; font-weight: normal; text-align: center; overflow: hidden; }

.menu ul.menu li a, ul.right li a { background-color: rgba(255, 255, 255, 0.02); }
.menu ul.menu li a:hover, .menu ul.menu li a.active, ul.right li a:hover { background-color: rgba(255, 255, 255, 0.05); }

.menu ul.menu li a:hover, .menu ul.menu li a.active { color: rgba(255, 255, 255, 0); }
.menu ul.menu li a:before, .menu ul.menu li a:after { content: attr(data-text); position: absolute; top: 0; left: 0; right: 0; opacity: 0; font-size: 22px; line-height: 54px; font-weight: normal; color: #fff; text-rendering: optimizeLegibility; }
.menu ul.menu li a:hover:before, .menu ul.menu li a.active:before, .menu ul.menu li a:hover:after, .menu ul.menu li a.active:after { opacity: 1; }

.menu section { display: block; padding: 20px 25px; border-width: 0 0 1px; }
.menu section p { padding: 0; font-size: 11px; line-height: 20px; text-align: justify; opacity: 0.7; }

.menu section a.bio { z-index: 2; float: left; margin: 5px 12px 0 0; width: 87px; height: 87px; border-width: 1px; margin: 5px 15px 0 0; background: url('/img/bio.jpg') no-repeat 50% 50%; background-size: cover; }
.menu section a.more { opacity: 0.7; }

/* Right */
ul.right { z-index: 90; position: fixed; top: 0; right: 0; width: 80px; min-height: 100vh; color: #fff; background: #3e3e3e; box-shadow: 0 0 10px rgba(0, 0, 0, 0.6); }
ul.right li { display: block; border-width: 0 0 1px; }
ul.right li a { display: block; padding-top: 50px; width: 80px; height: 80px; font-size: 12px; line-height: 18px; text-align: center; color: rgba(255, 255, 255, 0.5); }
ul.right li a:hover { color: rgba(255, 255, 255, 0.7); }

ul.right li.bottom { position: absolute; bottom: 0; border-width: 0; }
ul.right li.bottom li { border-width: 1px 0 0; }

/* Tableaux */
section.tableau { display: inline-block; margin: 0; width: calc(100% / 4); border-width: 0 1px 1px 0; overflow: hidden; cursor: zoom-in; }
section.tableau:after { content: ''; display: block; padding-bottom: 95%; }

div.tableaux { margin: 0 -1px 0 0; }
div.tableau { position: absolute; top: 0; left: 0; right: 0; bottom: 0; overflow: hidden; }
div.tableauright { z-index: 5; left: auto; width: 40%; box-shadow: 0 0 10px rgba(0, 0, 0, 0.6); }
div.tableauright + div.wcontent { right: 40%; }

.tableau div.background { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-size: cover; background-position: 50% 50%; background-repeat: no-repeat; }
.tableau div.background:before { z-index: 2; content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0); }

.tableau h2 { z-index: 5; position: absolute; top: 0; left: 0; right: 0; padding: 20px 20px 0; height: 50px; font-size: 16px; line-height: 20px; text-align: center; background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5) 0, transparent 100%); opacity: 0; }
.tableau h2, .tableau h2 a { color: #fff; }

.tableau ul { z-index: 5; position: absolute; bottom: 0; left: 0; right: 0; height: 50px; text-align: center; background: linear-gradient(to top, rgba(0, 0, 0, 0.5) 0, transparent 100%); opacity: 0; }
.tableau ul li { display: inline-block; margin: 15px 5px 0; font-size: 11px; line-height: 18px; color: #fff; opacity: 0.7; }
.tableau ul li:first-of-type { opacity: 1; }

.tableau img.photo { z-index: 1; position: absolute; top: 50%; left: 50%; max-width: calc(100% - 40px); max-height: calc(100% - 100px); -webkit-transform: translate(-50%, calc(-50% + 5px)); transform: translate(-50%, calc(-50% + 5px)); box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); opacity: 0; }

section.tableau:hover h2, div.tableau h2 { top: 0; opacity: 1; }
section.tableau:hover ul, div.tableau ul { bottom: 0; opacity: 1; }
section.tableau:hover img.photo, div.tableau img.photo { opacity: 1; }
section.tableau:hover div.background, div.tableau:not(.tableauright) div.background { top: -5%; left: -5%; right: -5%; bottom: -5%;
	-webkit-filter: blur(10px) grayscale(0.30);
	-moz-filter: blur(10px) grayscale(0.30);
	-ms-filter: blur(10px) grayscale(0.30);
	-o-filter: blur(10px) grayscale(0.30);
	filter: blur(10px) grayscale(0.30);
	}
section.tableau:hover div.background:before, div.tableau:not(.tableauright) div.background:before { background-color: rgba(0, 0, 0, 0.2); }
div.tableauright:hover div.background { top: -5%; left: -5%; right: -5%; bottom: -5%; }



















/* Bottom */
footer { margin-top: 20px; text-align: center; background: #3b3c3c url('/img/back-footer.png') repeat 50% 50%; }
footer a.logo { display: inline-block; margin: 0 70px 20px 0; width: 350px; height: 150px; background: url('/img/logo-white.png') no-repeat 50% 50%; background-size: contain; vertical-align: middle; }
footer ul { display: inline-block; margin: 40px 0; padding: 0 50px; border-width: 0 0 0 1px; border-color: rgba(255, 255, 255, 0.2); vertical-align: middle; }
footer ul li { padding: 10px 0; font-size: 14px; line-height: 22px; text-align: center; }
footer ul li strong { display: block; }











/* Scrollbars */
.scrollrail { z-index: 200; position: absolute; top: 2px; right: 3px; bottom: 2px; width: 5px; border-radius: 3px; pointer-events: none; }
.scrollbar { position: absolute; top: 0; width: 100%; height: 50%; background-color: #333f49; border-radius: 3px; opacity: 0; }
.scrollbar.active { opacity: 0.7; }
div.menu .scrollbar, div.usermenu .scrollbar { background-color: #fcfcfd; }
div.menu .scrollbar.active, div.usermenu .scrollbar.active { opacity: 0.3; }
.scrollrail, .scrollbar {
	-webkit-transition: opacity 0.2s linear;
	-moz-transition: opacity 0.2s linear;
	-o-transition: opacity 0.2s linear;
	-ms-transition: opacity 0.2s linear;
	transition: opacity 0.2s linear;
	}
.scrollbar.delay {
	-webkit-transition-delay: 1s;
	transition-delay: 1s;
	}

/* Responsive 1500px */
@media only screen and (max-width: 1500px){

	/* Tableaux */
	section.tableau { width: calc(100% / 3); }
	div.tableauright { width: 35%; }
	div.tableauright + div.wcontent { right: 35%; }
	}

/* Responsive 1350px */
@media only screen and (max-width: 1350px){

	/* Icons */
	a.icon:before { -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }

	/* Menu */
	span.morebio { display: none; }

	/* Right */
	ul.right li a, ul.right li a:hover { color: rgba(255, 255, 255, 0); }

	/* Tableaux */
	div.tableauright { width: 30%; }
	div.tableauright + div.wcontent { right: 30%; }
	}

/* Responsive 1250px */
@media only screen and (max-width: 1350px){

	/* Menu */
	div.menu { width: 250px; }

	/* Content */
	div.content, div.popup { left: 250px; right: 70px; }

	/* Right */
	ul.right { width: 70px; }
	ul.right li a { width: 70px; height: 70px; }
	}

/* Responsive 1150px */
@media only screen and (max-width: 1150px){

	/* Tableaux */
	section.tableau { width: calc(100% / 2); }
	div.tableauright { width: 20%; }
	div.tableauright + div.wcontent { right: 20%; }
	}

/* Responsive 1000px */
@media only screen and (max-width: 1000px){

	/* Tableaux */
	div.tableauright { width: 70px; }
	div.tableauright + div.wcontent { right: 70px; }
	}

/* Responsive 900px */
@media only screen and (max-width: 900px){

	/* Tableaux */
	div.tableauright { display: none; }
	div.wcontent { right: 0 !important; }
	body:not(.home) div.wcontent { top: 15%; }
	}

/* Responsive 850px */
@media only screen and (max-width: 850px){

	/* Header */
	header { display: block; }

	/* Menu */
	div.menu { left: -300px; width: 300px; max-width: calc(100% - 30px); }
	div.menu:not(.active) { box-shadow: 0 0 10px rgba(0, 0, 0, 0); }
	div.menu.active { left: 0; }

	.menu a.closemenu { display: block; }
	.menu.active a.closemenu { opacity: 1; pointer-events: auto; }

	/* Content */
	div.content, div.popup { top: 70px; left: 0; right: 0; }
	body:not(.home) div.dcontent { position: relative; bottom: auto; overflow-y: visible; }
	body:not(.home) div.dwcontent { position: relative; height: auto; min-height: auto; }
	body:not(.home) div.dwcontent .scroller { position: relative; }

	/* Right */
	ul.right { display: flex; left: 0; padding-right: 5px; width: 100%; height: 70px; min-height: auto; flex-direction: row-reverse; }
	ul.right li { display: inline-block; margin: 15px 0; border-width: 0 0 0 1px; }
	ul.right li a { margin: -5px 0; width: 60px; height: 50px; background: transparent !important; }
	ul.right li.bottom { display: none; }

	/* Tableaux */
	div.tableauright { position: relative; display: block; top: 0; left: 0; right: 0; bottom: auto; width: auto; height: 15%; }
	}

/* Responsive 500px */
@media only screen and (max-width: 500px){

	/* Header */
	header a.logo { left: 65px; width: 110px; background: url('/img/logo.png') no-repeat 50% calc(50% + 1px); background-size: 90% auto; }

	/* Tableaux */
	section.tableau { width: 100%; }
	}

/* Responsive Height 780px */
@media only screen and (max-height: 780px) and (min-width: 1350px){

	/* Menu */
	.menu section.bio span.morebio { display: none; }
	}

/* Responsive Height 760px */
@media only screen and (max-height: 720px) and (min-width: 1350px){

	/* Menu */
	.menu section.bio { display: none; }
	}

/* Responsive Height 760px */
@media only screen and (max-height: 760px) and (max-width: 1350px) and (min-width: 900px){

	/* Menu */
	.menu section.bio { display: none; }
	}

/* Responsive Height 720px */
@media only screen and (max-height: 720px) and (max-width: 900px){

	/* Menu */
	.menu section.bio { display: none; }
	}

/* Responsive Height 550px */
@media only screen and (max-height: 550px){

	/* Menu */
	.menu a.logo { height: 210px; background-position: 50% calc(50% - 10px); background-size: 75% auto; }
	}

/* Responsive Height 490px */
@media only screen and (max-height: 490px){

	/* Menu */
	.menu a.logo { height: 180px; background-position: 50% calc(50% - 10px); background-size: 65% auto; }
	}

/* Smooth Scroll */
@media (-moz-touch-enabled: 1), (pointer: coarse){
	.scroll { -webkit-overflow-scrolling: touch; }
	.scroll .innerscroll { -webkit-transform: translate3d(0,0,0); }
	}