body { 
	color: black;
	margin: 0;
}

@font-face {
	font-family: Montserrat;
	src: url(/font/Montserrat-VariableFont_wght.ttf);
}

#threejs-container {
	position: absolute;
	width: 100%;
	height: 100%;
	cursor: grab;
}

#text-content {
	position: absolute;
	font: 1.2em "Montserrat";
	color: black;
	text-align: center;
	text-shadow: 	0 0 8px rgba(0, 0, 0, 1);
	left: 50%;
	top: 85%;
	opacity: 0;
	transform: translate(-50%, -50%);
	-webkit-transition: opacity 1s, top 1s;
	-moz-transition: opacity 1s, top 1s;
	transition: opacity 1s, top 1s;
}

#slider-container {
	position: absolute;
	right: 0%;
	top:50%;
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	height: 20em;
	width: 2em;
}

#slider-bar {
	position: absolute;
	height: 100%;
	width: 2px;
	left:50%;
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: rgba(45, 45, 45, .2);
}

#slider-steps-container {
	position: absolute;
	height: 100%;
	width: 1em;
	left:50%;
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}

.slider-step-style {
	position: absolute;
	height: 1em;
	width: 1em;
	border-radius: 0.5em;
	background-color: rgba(45, 45, 45);
	transform: scale(0.3);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-transition: transform 0.3s;
	-moz-transition: transform 0.3s;
	transition: transform 0.3s;
}

.slider-step-helper-style {
	width: 15em;
	font: .8em "Montserrat";
	user-select: none;
	pointer-events: none;
	text-shadow: 	0 0 8px rgba(0, 0, 0, 1);
	position: absolute;
	text-align: right;
	opacity: 0;
	-ms-transform: translateX(-110%) translateY(-50%);
	transform: translateX(-110%) translateY(-50%);
	-webkit-transition: opacity 0.3s;
	-moz-transition: opacity 0.3s;
}

.slider-step-selector-style {
	width: 2em;
	height: 2em;
	cursor: pointer;
	-ms-transform: translateX(-25%) translateY(-50%);
	transform: translateX(-25%) translateY(-50%);
	position: absolute;
}

#menu-container {
	position: absolute;
	bottom: 1em;
	left: 50%;
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}

.menu-element {
	position: relative;
	user-select: none;
	display: inline;
	margin-right: 1em;
	font: 1.2em "Montserrat";
	font-weight: 500;
	color: black;
	text-align: center;
	text-shadow: 	0 0 8px rgba(0, 0, 0, 1);
	cursor: pointer;
}

.menu-element::after {
	content: '';
	position: absolute;
	width: 100%;
	height: 2px;
	bottom: 0;
	left: 0;
	background-color: black;
	transform-origin: center;
	transition: transform 0.25s ease-out;
	transform: scaleX(0);
}

.menu-element:hover::after { 
	transform: scaleX(1);
	transform-origin: center;
}

#title {
	font: 1.5em "Montserrat";
	position: absolute;
	top: 1em;
	left: 50%;
	text-shadow: 	0 0 8px rgba(0, 0, 0, 1);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}
#subtitle {
	font: 1.2em "Montserrat";
	position: absolute;
	top: 3em;
	left: 50%;
	text-shadow: 	0 0 8px rgba(0, 0, 0, 1);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}