article, aside, div, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, p, ul, ol, li {
	display: block;
	box-sizing: border-box;
}

ul, ol, li {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

.clear {
	clear: both;
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
}

@-ms-viewport {
	width: device-width;
}

body {
	padding: 0;
	margin: 0;
	color: var(--color--foreground-1);
	height: 100%;
	background: var(--color--background-1);
	line-height: 1.4em;
	text-shadow: .1em .1em .5em rgba(0, 0, 0, .2);
	overscroll-behavior: none;
	font-family: var(--font-family--body);
}

header, footer, main, section, aside, article {
	position: relative;
	display: block;
	box-sizing: border-box;
}

h1, h2, h3, h4, ul, ol, li, p {
	font-size: inherit;
	font-weight: normal;
	box-sizing: border-box;
}

h1, h2, h3 {
	letter-spacing: -.03em;
	line-height: 1em;
}

h1 {
	font-family: 'grotesk_bold';
	font-size: 3em;
}

h2 {
	font-family: 'grotesk_extrabold';
	font-size: 2.5em;
}

h3 {
	font-size: 1.5em;
}

nav ul, nav ol, nav li {
	margin: 0;
	padding: 0;
	list-style: none;
}

strong, b {
	font-weight: normal;
}

em, i {
	font-style: normal;
}

a, button {
	color: inherit;
	transition: .2s;
	-webkit-transition: .2s;
	transition-property: color, opacity, transform, filter;
}

button {
	overflow: visible;
	border: 0;
	font: inherit;
	-webkit-font-smoothing: inherit;
	letter-spacing: inherit;
	background: none;
	cursor: pointer;
}

a {
	text-decoration: none;
}

::-moz-focus-inner {
	padding: 0;
	border: 0;
}

img {
	max-width: 100%;
	height: auto;
	height: initial;
	border: 0;
}

fieldset {
	border: 0;
}