:root {
	--background: #111;
	--text-color: #fff;
}
/**
 * Clean-up
 */
* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

body {
    margin: 0;
    padding: 0;
    width: 100vw !important;
    height: 100vh !important;
	font-family: 'Dyson Futura Book';
	-webkit-font-smoothing: antialiased;
	background: var(--background);
	color: var(--text-color);
    box-sizing: border-box;
    overflow: hidden;
}

img { width: 100%; }
div { display: block; box-sizing: border-box; }
ul, ol { list-style: none; }
h1, h2, h3, h4 { color: var(--text-color); }
p { margin: 0.5rem 0; color: var(--text-color) }
a { color: var(--text-color); text-decoration: none; }

:-webkit-full-screen { background-color: var(--background) }
:-moz-full-screen { background-color:var(--background) }
:-ms-fullscreen { background-color: var(--background) }
:fullscreen { background-color: var(--background) }

canvas {
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

/**
 * Helpers
 */
.hide {
    display: none;
}

.show {
    display: block;
}

/**
 *
 */
span.icon {
 padding: 0 .2rem;
 font-size: 1.3rem;
}

/**
 * Buttons
 */
button {
    display: inline-block;
	color: var(--text-color);
	background-color: var(--background);
	padding: 0.4rem 1.3rem;
	font-size: 1rem;
	text-align: center;
	border: none;
	cursor: pointer;
	margin-right: 0.5rem;
	transition: opacity 0.2s ease-in;
	outline: none;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.45);
	border-radius: 2px;
}

button:hover {
	opacity: 0.9;
}

button .rounded {
	border-radius: 5px;
}

button .xlarge {
	font-size: 2rem;
	padding: 1.5rem 2.1rem;
	text-transform: uppercase;
}

button .large {
	font-size: 1rem;
	padding: 0.8rem 1.3rem;
	text-transform: uppercase;
}

button .icon {
	margin-left: 1rem;
}