html, body {
 	height: 100%;
}
body {
	padding: 0;
	margin: 0;
	position: relative;
}

canvas {
	position: fixed;
	z-index: -1;
	opacity: 0.2;
}

h1, h2 {
	font-family: 'Fredoka One', sans-serif;
	margin-bottom: 5px;
}

h1 {
	font-size: 70px;
	text-shadow:
	3px 3px 0 white,
	3px -3px 0 white,
	-3px 3px 0 white,
	-3px -3px 0 white;
}

h1 span {
	display: inline-block;
}

h2 {
	font-size: 40px;
	text-shadow:
	2px 2px 0 white,
	2px -2px 0 white,
	-2px 2px 0 white,
	-2px -2px 0 white;
	margin: 20px;
}

h2 a {
	display: inline-block;
}

p {
	font-family: 'Dosis', sans-serif;
	font-size: 20px;
	margin-top: 30px;
	margin-bottom: 40px;
	text-shadow:
	0px 0px 10px white,
	0px 0px 10px white;
}

a {
	text-decoration: none;
}

a:link, a:visited {
	color: #3F51B5;
}

a:hover {
	text-decoration: underline;
}

.games a:link, .games a:visited {
	color: #e91e63;
}

.articles a:link, .articles a:visited {
	color: rgb(240, 183, 13);
}

.code-art a:link, .code-art a:visited {
	color: #3F51B5;
}

.twitter:link, .twitter:visited {
	color: #809aaf;
}

.twitter:hover {
	text-decoration: underline;
}

.bluesky:link, .bluesky:visited {
	color: #2196f3;
}

.github a:link, .github a:visited {
	color: #444444;
}

.pop-link {
	transition: transform 0.3s cubic-bezier(.36,2.5,.28,.87);
}

.pop-link:hover {
	transform: scale(1.1);
}

.eh-link {
	transition: transform 0.2s ease-out;
}

.eh-link:hover {
	transition: transform 1s ease-out;
	transform: translate(-20px, 8px) rotate(-10deg) scale(0.95);
}

.divider {
	height: 1px;
}

.hello {
	color: #ff9800;
}

.hello span {
	display: inline-block;
	animation: moveUpDown 3s cubic-bezier(.8,0,.2,1) infinite;
}

.hello span:nth-child(1) {
	animation-delay: 0s;
}
.hello span:nth-child(2) {
	animation-delay: 0.1s;
}
.hello span:nth-child(3) {
	animation-delay: 0.2s;
}
.hello span:nth-child(4) {
	animation-delay: 0.3s;
}
.hello span:nth-child(5) {
	animation-delay: 0.4s;
}
.hello span:nth-child(6) {
	animation-delay: 0.5s;
}

@keyframes moveUpDown {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-10px);
	}
}

.vertical-align {
    position: absolute;
    top: 50%;
    width: 100%;
    max-height: 100%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.horizontal-align {
	text-align: center;
}

.background {
	border-width: 0;
    width: 100%;
    height: 100%;
    opacity: 0.2;
    position: fixed;
    z-index: -1;
}
