/* RESET */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
img {
	vertical-align: bottom;
}
iframe {
	border: none;
}
a img {
	border:none;
}
html, body {
	width: 100%;
	height: 100%;
}

::selection {
    background-color: #ffffff;
    color: #000000;
}
a::selection {
    background-color: #c5a100;
    color: #000000;
}
input::selection,
textarea::selection {
    background-color: #c5a100;
    color: #000000;
}

/* BODY */
body {
	color:#ffffff;
	background-color:#000000;
	font-family: var(--font-family-primary), Arial, sans-serif;
	overflow: auto;
	font-size:20px;
	line-height: 1.65em;
	text-wrap: pretty;
}
@media only screen and (max-width: 690px) {
	body { font-size:16px; }
}

/* HEADINGS / PARAGRAPH */
h1 {font-size: 52px;line-height: 1.25em;}
h2 { font-size: 39px; line-height: 1.25em; }
h3 { font-size: 26px; line-height: 1.25em; }
h4 { font-size: 24px; line-height: 1.25em; }
p { font-size: 20px; line-height: 1.65em; max-width: 650px; }
p:not(:last-child) {margin-bottom: 40px;}
h1, h2, h3, h4 {
	font-family: var(--font-family-secondary);
}
h1.empty-heading:after, h2.empty-heading:after, h3.empty-heading:after, h4.empty-heading:after {
	content: '\00A0';
	display: block;
}
@media only screen and (max-width: 1124px) {
	h1.empty-heading:after, h2.empty-heading:after, h3.empty-heading:after, h4.empty-heading:after {
		content: '';
	}
}
@media only screen and (max-width: 690px) {
    h1 {font-size: 44px;}
	h2 { font-size: 33px; }
	h3 { font-size: 22px; }
	h4 { font-size: 20px; }
	p { font-size: 16px; }
}

/* HYPERLINKS */
a, a:visited {
	color:#c5a100;
	text-decoration:none;
	outline:none;
	transition: color 0.25s ease-out;
}
a:hover {
	color:rgb(243, 220, 120);
	text-decoration: underline;
}

noscript {
    position: fixed;
	color: #fff;
    background-color: #000;
    top: 80px;
    left: 50%;
    width: 800px;
    margin-left: -400px;
    height: auto;
    overflow: hidden;
    padding: 12px;
    border: 4px solid #c5a100;
    text-align: center;
    font-size: 1.2em;
    z-index: 999;
}
@media only screen and (max-width: 999px) {
	noscript {
		width: 600px;
    	margin-left: -300px;
	}
}
@media only screen and (max-width: 690px) {
    noscript {
		width: 300px;
    	margin-left: -150px;
	}
}

/* FIGURE (LINK + IMAGE + CAPTION) */
figure a {
	display: block;
	width: 100%;
	height: 100%;
}
figcaption {
	font-size: 16px;
	line-height: 1.5;
	opacity: 0.8;
	padding-top: 5px;
}

/* LANGUAGE SWITCHER */
h1[data-lang],
h2[data-lang],
h3[data-lang],
h4[data-lang],
div[data-lang],
span[data-lang],
img[data-lang],
video[data-lang],
a[data-lang],
figure[data-lang] {
	display: none;
}
body[data-lang="en"] h1[data-lang="en"],
body[data-lang="en"] h2[data-lang="en"],
body[data-lang="en"] h3[data-lang="en"],
body[data-lang="en"] h4[data-lang="en"],
body[data-lang="en"] div[data-lang="en"],
body[data-lang="en"] span[data-lang="en"],
body[data-lang="en"] img[data-lang="en"],
body[data-lang="en"] video[data-lang="en"],
body[data-lang="en"] a[data-lang="en"],
body[data-lang="en"] figure[data-lang="en"],
body[data-lang="fr"] h1[data-lang="fr"],
body[data-lang="fr"] h2[data-lang="fr"],
body[data-lang="fr"] h3[data-lang="fr"],
body[data-lang="fr"] h4[data-lang="fr"],
body[data-lang="fr"] div[data-lang="fr"],
body[data-lang="fr"] span[data-lang="fr"],
body[data-lang="fr"] img[data-lang="fr"],
body[data-lang="fr"] video[data-lang="fr"],
body[data-lang="fr"] a[data-lang="fr"],
body[data-lang="fr"] figure[data-lang="fr"] {
	display: block;
}

/* BUTTONS */
.generic-button {
	display: inline-block;
	vertical-align: middle;
}
.generic-button + .generic-button {
	margin-left: 20px;
}
.generic-button a {
	min-width: 220px;
	text-align: center;
	padding: 18px 24px;
	font-size: 26px;
	font-weight: 700;
	line-height: 1em;
	color: #453015;
	background-color: #c5a100;
	border-radius: 40px;
	box-shadow: 0 2px 4px #453015;
}
.generic-button a:hover {
	background-color: #e6c947;
	text-decoration: none;
}
.generic-button.generic-button-small a {
	min-width: 160px;
	padding: 14px 20px;
	font-size: 20px;
}
@media only screen and (max-width: 690px) {
	.generic-button {
		display: block;
		margin: 20px auto 0 !important;
	}
}

/* HEADER */
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100px;
	color: #fff;
	z-index: 10;
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 0 40px;
	box-sizing: border-box;
	pointer-events: none;
}
body[data-scroll="true"] header {
	background: rgba(0, 0, 0, 1);
}
body[data-unity-is-ready="false"] header {
	display: none;
}
@media only screen and (max-width: 999px) {
	header {
		height: 60px;
		padding: 0 30px;
	}
}
@media only screen and (max-width: 690px) {
    header {
		height: 60px;
		padding: 0 20px;
		gap: 16px;
	}
}
header > div {
	display: flex;
	gap: 20px;
	align-items: center;
}
@media only screen and (max-width: 999px) {
	header > div {
		gap: 0px;
	}
}

/* NAVIGATION */
header .header-menu {
	width: 50px;
	height: 75px;
}
/* Menu open */
header .header-menu .header-menu-open-button {
	cursor: pointer;
	pointer-events: all;
	background: none;
	outline: none;
	border: none;
	padding-top: 16px;
}
header .header-menu .header-menu-open-button > div {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 40px;
	height: 30px;
}
header .header-menu .header-menu-open-button > div > span {
	width: 100%;
	height: 3px;
	background-color: #ffffff;
	display: block;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
}
@media only screen and (max-width: 999px) {
	header .header-menu .header-menu-open-button > div {
		width: 30px;
		height: 25px;
		padding: 8px 8px 8px 0;
	}
}
@media only screen and (max-width: 690px) {
    header .header-menu .header-menu-open-button > div {
		width: 26px;
		height: 20px;
		padding: 10px 6px 6px 0;
	}
}
/* Menu close */
header .header-menu .header-menu-close-button {
	position: relative;
	width: 50px;
	height: 50px;
	cursor: pointer;
	background: none;
	outline: none;
	border: none;
}
header .header-menu .header-menu-close-button::before,
header .header-menu .header-menu-close-button::after {
	content: '';
	display: block;
	width: 50px;
	height: 3px;
	background-color: #c5a100;
	position: absolute;
	top: 50%;
	left: 0;
	transform-origin: 50% 50%;
}
header .header-menu .header-menu-close-button::before {
	transform: rotate(-45deg);
}
header .header-menu .header-menu-close-button::after {
	transform: rotate(45deg);
}
/* Menu list */
header .header-menu .header-menu-list {
	position: fixed;
	top: 0;
	left: 0;
	width: 300px;
	height: 100%;
	background: rgb(46, 46, 46);
	transform: translateX(-300px);
	transition: transform 0.25s ease-out;
	pointer-events: all;
	z-index: 30;
	box-sizing: border-box;
	padding: 16px 10px 0px 27px;
}
header .header-menu[data-opened="true"] .header-menu-list {
	transform: translateX(0px);
}
body[data-jsenabled="false"] header .header-menu-open-button:hover ~ .header-menu-list,
body[data-jsenabled="false"] header .header-menu-open-button:focus-visible ~ .header-menu-list,
body[data-jsenabled="false"] header .header-menu-list:hover,
body[data-jsenabled="false"] header .header-menu-list:focus-within {
	transform: translateX(0px);
}
header .header-menu-list ul {
	padding: 12px 12px;
}
header .header-menu-list ul > li {
	padding: 12px 0;
}
header .header-menu-list ul > li a {
	color: #c5a100;
	text-decoration: none;
	outline: none;
	transition: color 0.25s ease-out;
}
header .header-menu-list ul > li a:hover,
header .header-menu-list ul > li a:focus {
	color:rgb(243, 220, 120);
	text-decoration: underline;
}
header .header-menu-copyright {
	position: absolute;
	bottom: 0px;
	left: 0px;
	padding: 12px 12px;
	font-size: 12px;
	color: #b2b2b2;
}

/* header language switcher */
header .header-lang {
	cursor: pointer;
}
header .header-lang a {
	pointer-events: all;
	min-width: 100px;
	text-align: center;
	color: #000;
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
}

/* header fullscreen */
header .header-fullscreen {
	cursor: pointer;
	pointer-events: all;
	background: none;
	outline: none;
	border: none;
}
header .header-fullscreen svg {
	width: 30px;
}

header .header-fullscreen svg path {
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.4));
}
@media only screen and (max-width: 999px) {
	header .header-fullscreen svg {
		width: 26px;
	}
}

/* header partners */
header .header-partners {
	margin-left: auto;
}
header .header-partners > li {
	width: 120px;
	display: inline-block;
	vertical-align: middle;
}
header .header-partners > li > a {
	pointer-events: all;
}
header .header-partners > li > a > img {
	width: 100%;
	height: auto;
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.4));
}
@media only screen and (max-width: 999px) {
	header .header-partners > li {
		width: 100px;
	}
}
@media only screen and (max-width: 690px) {
	header .header-partners {
		margin-left: 10px;
		width: 100%;
		display: flex;
		justify-content: space-around;
		align-items: center;
	}
    header .header-partners > li {
		width: 60px;
	}
}

/* header muted - no more used */
/*
header .header-muted {
	cursor: pointer;
	pointer-events: all;
}
header .header-muted svg {
	width: 30px;
}
body.page-experience header .header-partners > div {
	display: none;
}
body:not(.page-experience) header .header-muted {
	display: none;
}
*/

/* MAIN CONTENT */
#main-content {
	width: 100%;
	height: 100%;
}

/* SWITCH LANGUAGE MESSAGE */
.switch-language-message {
	left: -999px;
    position: absolute;
    top: 12px;
    width: 1px;
    height: 1px;
    overflow: hidden;
    z-index: -999;
}
.switch-language-message[data-revealed="true"] {
	color: #fff;
    background-color: #000;
    left: 50%;
    width: 400px;
    margin-left: -200px;
    height: auto;
    padding: 8px;
    border: 12px solid #c5a100;
    text-align: center;
    font-size: 1.2em;
    z-index: 999;
}
.switch-language-message a {
	padding: 12px 8px;
}
@media only screen and (max-width: 690px) {
    .switch-language-message[data-revealed="true"] {
		width: 300px;
    	margin-left: -150px;
	}
}

/* TAB - SKIP TO CONTENT */
.skip-main {
    left: -999px;
    position: absolute;
    top: 12px;
    width: 1px;
    height: 1px;
    overflow: hidden;
    z-index: -999;
}
.skip-main:active,
.skip-main:focus {
    color: #fff;
    background-color: #000;
    left: 50%;
    width: 800px;
    margin-left: -400px;
    height: auto;
    padding: 12px;
    border: 4px solid #c5a100;
    text-align: center;
    font-size: 1.2em;
    z-index: 1000;
}
@media only screen and (max-width: 999px) {
	.skip-main:active,
	.skip-main:focus {
		width: 600px;
    	margin-left: -300px;
	}
}
@media only screen and (max-width: 690px) {
    .skip-main:active,
	.skip-main:focus {
		width: 300px;
    	margin-left: -150px;
	}
}

/* TAB - FOCUS */
a:focus-visible {
	color: #fff;
    background-color: #000;
    border: 4px solid #c5a100;
}
.generic-button a:focus-visible {
	color: #fff;
    background-color: #000;
    border: 4px solid #c5a100;
}
header a:focus-visible > img {
    border: 4px solid #c5a100;
}
header .header-menu .header-menu-open-button:focus-visible,
header .header-menu .header-menu-close-button:focus-visible,
header .header-fullscreen:focus-visible {
   border: 4px solid #c5a100;
   outline: none;
   background-color: #000;
}
#main-content:focus-visible .views .view > div,
#main-content:focus-visible,
.lite-version-introduction:focus-visible,
.lite-version-about:focus-visible,
.scenes .scene:focus-visible,
.scenes .scene .scene-description:focus-visible,
.scenes .scene .scene-poi:focus-visible,
.scenes .scene .scene-poi .scene-poi-infos:focus-visible,
.scenes .scene .scene-poi .scene-poi-infos > div:focus-visible,
.scenes .scene .scene-quiz:focus-visible {
	border: 4px solid #c5a100;
	outline: none;
}