@import url('https://fonts.googleapis.com/css2?family=Alan+Sans:wght@300..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Luckiest+Guy&display=swap');

body {
	margin: 0;
	font-family: "Alan Sans", sans-serif;
	font-style: normal;
}
header {
	text-align: center;
	padding: 20px;
	/*background-image: url('img/bois.webp');*/
	border-bottom: solid black 3px;
}
header h1 {
	font-family: "Luckiest Guy", sans-serif;
	font-size: 4em;
	/*color: white;*/
	margin: 0;
	margin-top: 0.1em;
	margin-bottom: -0.2em;
}
footer {
	/*color: white;*/
	text-align: center;
	padding: 30px;
	/*background-image: url('img/bois.webp');*/
	border-top: solid black 3px;
}

div.corps {
	text-align: center;
	margin: 20px;
}
div.bookend {
	height: 200px;
}
div.bookend img {
	width: 96px;
	height: 96px;
	position: relative;
	image-rendering: pixelated;
}
div.cadre {
	margin: auto;
	width: 500px;
	border-style: solid;
	border-width: 3px;
	border-color: black;
	border-radius: 30px;
	transition: 0.3s;
}
div.cadre:hover {
	background-color: #ffc39d;
	transition: 0.3s;
}
div.cadre a {
	color: black;
	text-decoration: none;
	display: inline-block;
	width: 100%;
	height: 100%;
}
div.cadre h2 {
	margin: 10px 0;
}
div.cadre img {
	margin-bottom: 10px;
	width: 30%;
}
p.cadre {
	margin-top: 0;
	font-size: 0.7em;
}
p.cadre a {
	color: black;
	font-weight: bold;
}
.modele3d {
	margin: auto;
	width: 500px;
	height: 500px;
}
#lazy-load-poster {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-image: url("img/poster.webp");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
#button-load {
	background-color: #fff;
	color: black;
	cursor: pointer;
	border-radius: 6px;
	display: inline-block;
	padding: 7px 10px;
	font-weight: 500;
	box-shadow: 0 0 8px rgba(0, 0, 0, .2), 0 0 4px rgba(0, 0, 0, .25);
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 100;
	transition: 0.3s;
}
#button-load:hover {
	background-color: #f0f;
	transition: 0.3s;
}
.controls {
	position: absolute;
	display: flex;
	flex-direction: column;
	align-items: left;
	bottom: 8px;
	left: 8px;
}
.hotspot {
	display: block;
	width: 20px;
	height: 20px;
	border-radius: 10px;
	border: none;
	background: #00000000;
	box-sizing: border-box;
	cursor: pointer;
	--min-hotspot-opacity: 0;
}
.hotspot img {
	width: 32px;
	height: 32px;
	position: absolute;
	left: -6px;
	top: -6px;
}
.annotation {
	background: rgb(255, 255, 255);
	border-radius: 4px;
	box-shadow: rgba(0, 0, 0, 0.25) 0px 2px 4px;
	color: rgba(0, 0, 0, 0.8);
	display: block;
	font-family: "Alan Sans", sans-serif;
	font-size: 18px;
	font-weight: 700;
	left: calc(100% + 1em);
	max-width: 128px;
	overflow-wrap: break-word;
	padding: 0.5em 1em;
	position: absolute;
	top: 50%;
	width: max-content;
}
:not(:defined)>* {
	display: none;
}

@media only screen and (max-device-width: 480px)
{
	header h1 {
		font-size: 7em;
	}
	div.corps h2 {
		font-size: 3em;
	}
	footer h2 {
		font-size: 1em;
	}
	footer h3 {
		font-size: 1em;
	}

	div.corps > img {
		width: 100%;
	}
	div.bookend > img {
		width:96px;
		height:96px;
	}
	div.cadre {
		width: 60%;
	}
	p.cadre {
		font-size: 0.8em;
	}
	.modele3d {
		width: 100%;
		height: 800px;
	}
	#button-load {
		font-size: 2.2em;
		border-radius: 18px;
		padding: 0.5em 0.8em;
	}
	.hotspot img {
		width: 96px;
		height: 96px;
		left: -28px;
		top: -28px;
	}
	.annotation {
		font-size: 32px;
		max-width: 256px;
		left: calc(100% + 2em);
		top: -50%;
	}
}

@media (prefers-color-scheme: dark) {
	body {
		color: #fef3eb;
		background-color: #0e151b;
	}
	header {
		border-bottom: solid #fef3eb 3px;
	}
	footer {
		border-top: solid #fef3eb 3px;
	}

	div.cadre {
		border-color: #fef3eb;
	}
	div.cadre:hover {
		background-color: #4f332d;
	}
	div.cadre a {
		color: #fef3eb;
	}
	p.cadre a {
		color: #fef3eb;
	}
	#button-load {
		background-color: #2d3034;
		color: #fef3eb;
	}
	#button-load:hover {
		background-color: #4f332d;
	}
	.annotation {
		background-color: #2d3034;
		color: #fef3eb;
	}
}
