/* Make canvas cover the viewport */
#starry-sky {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: -1; /* behind everything */
}

/* General body styles */
body {
	margin: 0;
	padding: 0;
	color: #ecf0f1;
	background-color: #000;
	font-family: sans-serif;
	/*font-family:monospace, monospace !important;*/
	overflow: hidden;
}

/* Center main content */
main {
	position: absolute;
	height: 100%;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* Title */
.title {
	font-family: monospace;
	font-size: 5rem;
	text-align: center;
	animation: fadeIn 0.5s ease-in 0.2s;
	margin: 0;
	padding: 0;
}

/* Horizontal line container */
.hr-container {
	animation: fadeIn 0.5s ease-in 0.2s;
	display: flex;
	justify-content: center;
}

/* Horizontal line */
.hr {
	border: 0;
	height: 1px;
	width: 100%;
	background: #ffffff;
	margin: 10px 0;
	padding: 0;
	display: inline-block;
}

/* Subtitle */
.sub-title {
	font-size: 2rem;
	text-align: center;
	animation: fadeIn 0.5s ease-in 0.2s;
	margin: 0;
	padding: 0;
}

/* Extra comments */
.comments {
	color: rgba(236, 240, 241, 0.6); /* slightly gray */
	font-size: 1.2rem;
	text-align: center;
	animation: fadeIn 0.5s ease-in 0.2s;
	margin: 25px auto 0 auto;
	padding: 0;
	max-width: 650px;
}

/* Footer copyright */
.copyright {
	font-size: .6rem;
	text-align: center;
	padding: 20px;
	animation: fadeIn 0.5s ease-in 0.2s;
	opacity: 0;
	animation-fill-mode: forwards;
}

footer {
	position: absolute;
	height: 100%;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: end;
}

/* Responsive font sizes */
@media only screen and (max-width: 300px) {
	.title { font-size: 1rem; }
	.sub-title { font-size: 0.2rem; }
	.comments { font-size: 0.4rem; }
	.copyright { font-size: 0.4rem; }
}

@media only screen and (min-width: 300px) {
	.title { font-size: 1.5rem; }
	.sub-title { font-size: 0.7rem; }
	.comments { font-size: 0.8rem; }
	.copyright { font-size: 0.5rem; }
}

@media only screen and (min-width: 600px) {
	.title { font-size: 2rem; }
	.sub-title { font-size: 1rem; }
	.comments { font-size: 1rem; }
	.copyright { font-size: 0.6rem; }
}

@media only screen and (min-width: 768px) {
	.title { font-size: 5rem; }
	.sub-title { font-size: 1.5rem; }
	.comments { font-size: 1.2rem; }
	.copyright { font-size: 1rem; }
}

/* Fade-in animation */
@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(-20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}