html, body, div, span, applet, object,
iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, abbr, acronym, address, big, cite,
code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b,
u, i, center, dl, dt, dd, ol, ul, li, fieldset,
form, label, legend, table, caption, tbody,
tfoot, thead, tr, th, td, article, aside,
canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;}

body {
	line-height: 1;
}

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

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

body {
	-webkit-text-size-adjust: none;
}

mark {
	background-color: transparent;
	color: inherit;
}

/* Basic */

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

	body {
		-ms-overflow-style: scrollbar;
	}

	@media screen and (max-width: 480px) {

		html, body {
			min-width: 320px;
		}

	}

	html {
		box-sizing: border-box;
	}

	*, *:before, *:after {
		box-sizing: inherit;
	}

	html, body {
		height: 100%;
		overflow-x: hidden;
		width: 100%;
	}

		@media screen and (max-height: 640px) {

			html, body {
				height: auto;
				min-height: 100%;
			}

		}

	body {
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-moz-flex-direction: column;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-moz-justify-content: center;
		-webkit-justify-content: center;
		-ms-justify-content: center;
		justify-content: center;
		background-color: #000;
		padding: 6em 4em 4em 4em;
	}

		body.is-preload *, body.is-preload *:before, body.is-preload *:after {
			-moz-animation: none !important;
			-webkit-animation: none !important;
			-ms-animation: none !important;
			animation: none !important;
			-moz-transition: none !important;
			-webkit-transition: none !important;
			-ms-transition: none !important;
			transition: none !important;
		}

		body > * {
			position: relative;
			z-index: 2;
		}

		@media screen and (max-width: 1680px) {

			body {
				padding: 6em 3.5em 3.5em 3.5em;
			}

		}

		@media screen and (max-width: 736px) {

			body {
				padding: 5em 2em 2em 2em;
			}

		}

		@media screen and (max-width: 360px) {

			body {
				padding: 5em 1.25em 1.25em 1.25em;
			}

		}

/* BG */

	#bg {
		-moz-transition: opacity 2s ease-in-out;
		-webkit-transition: opacity 2s ease-in-out;
		-ms-transition: opacity 2s ease-in-out;
		transition: opacity 2s ease-in-out;
		height: 100%;
		left: 0;
		opacity: 0.25;
		position: fixed;
		top: 0;
		width: 100%;
		z-index: 1;
	}

		#bg div {
			-moz-transition: opacity 3s ease, visibility 3s;
			-webkit-transition: opacity 3s ease, visibility 3s;
			-ms-transition: opacity 3s ease, visibility 3s;
			transition: opacity 3s ease, visibility 3s;
			background-size: cover;
			height: 100%;
			left: 0;
			opacity: 0;
			position: absolute;
			top: 0;
			visibility: hidden;
			width: 150%;
		}

			#bg div.visible {
				-moz-animation: bg 45s linear infinite;
				-webkit-animation: bg 45s linear infinite;
				-ms-animation: bg 45s linear infinite;
				animation: bg 45s linear infinite;
				opacity: 1;
				visibility: visible;
				z-index: 1;
			}

				#bg div.visible.top {
					z-index: 2;
				}

				@media screen and (max-width: 1280px) {

					#bg div.visible {
						-moz-animation: bg 29.25s linear infinite;
						-webkit-animation: bg 29.25s linear infinite;
						-ms-animation: bg 29.25s linear infinite;
						animation: bg 29.25s linear infinite;
					}

				}

				@media screen and (max-width: 736px) {

					#bg div.visible {
						-moz-animation: bg 18s linear infinite;
						-webkit-animation: bg 18s linear infinite;
						-ms-animation: bg 18s linear infinite;
						animation: bg 18s linear infinite;
					}

				}

			#bg div:only-child {
				-moz-animation-direction: alternate !important;
				-webkit-animation-direction: alternate !important;
				-ms-animation-direction: alternate !important;
				animation-direction: alternate !important;
			}

		body.is-preload #bg {
			opacity: 0;
		}

	@-moz-keyframes bg {
		0% {
			-moz-transform: translateX(0);
			-webkit-transform: translateX(0);
			-ms-transform: translateX(0);
			transform: translateX(0);
		}

		100% {
			-moz-transform: translateX(-25%);
			-webkit-transform: translateX(-25%);
			-ms-transform: translateX(-25%);
			transform: translateX(-25%);
		}
	}

	@-webkit-keyframes bg {
		0% {
			-moz-transform: translateX(0);
			-webkit-transform: translateX(0);
			-ms-transform: translateX(0);
			transform: translateX(0);
		}

		100% {
			-moz-transform: translateX(-25%);
			-webkit-transform: translateX(-25%);
			-ms-transform: translateX(-25%);
			transform: translateX(-25%);
		}
	}

	@-ms-keyframes bg {
		0% {
			-moz-transform: translateX(0);
			-webkit-transform: translateX(0);
			-ms-transform: translateX(0);
			transform: translateX(0);
		}

		100% {
			-moz-transform: translateX(-25%);
			-webkit-transform: translateX(-25%);
			-ms-transform: translateX(-25%);
			transform: translateX(-25%);
		}
	}

	@keyframes bg {
		0% {
			-moz-transform: translateX(0);
			-webkit-transform: translateX(0);
			-ms-transform: translateX(0);
			transform: translateX(0);
		}

		100% {
			-moz-transform: translateX(-25%);
			-webkit-transform: translateX(-25%);
			-ms-transform: translateX(-25%);
			transform: translateX(-25%);
		}
	}

/* Type */

	body, input, select, textarea {
		color: #fff;
		font-family: "Roboto", sans-serif;
		font-weight: 400;
		letter-spacing: -0.01em;
		line-height: 1.65em;
	}

		@media screen and (max-width: 1680px) {

			body, input, select, textarea {
				font-size: 12pt;
			}

		}

		@media screen and (max-width: 1280px) {

			body, input, select, textarea {
				font-size: 11pt;
			}

		}

		@media screen and (max-width: 980px) {

			body, input, select, textarea {
				font-size: 12pt;
			}

		}

		@media screen and (max-width: 736px) {

			body, input, select, textarea {
				font-size: 12pt;
			}

		}

		@media screen and (max-width: 480px) {

			body, input, select, textarea {
				font-size: 12pt;
			}

		}


	strong, b {
		color: #fff;
		font-weight: 700;
	}

	em, i {
		font-style: italic;
	}


	h1, h2, h3, h4, h5, h6 {
		color: #fff !important;
		font-weight: 700;
		line-height: 1em;
		margin: 0 0 1em 0;
	}

		h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
			color: inherit;
			text-decoration: none;
		}

	h1 {
		font-size: 2.5em;
		line-height: 1.25em;
	}

	h2 {
		font-size: 1.75em;
		line-height: 1.5em;
	}

	h3 {
		font-size: 1.35em;
		line-height: 1.5em;
	}

	h4 {
		font-size: 1.1em;
		line-height: 1.5em;
	}

	h5 {
		font-size: 0.9em;
		line-height: 1.5em;
	}

	h6 {
		font-size: 0.7em;
		line-height: 1.5em;
	}

	sub {
		font-size: 0.8em;
		position: relative;
		top: 0.5em;
	}

	sup {
		font-size: 0.8em;
		position: relative;
		top: -0.5em;
	}

	blockquote {
		border-left: solid 8px rgba(255, 255, 255, 0.35);
		font-style: italic;
		margin: 0 0 2em 0;
		padding: 0.5em 0 0.5em 2em;
	}

	code {
		background: rgba(255, 255, 255, 0.125);
		border-radius: 6px;
		border: solid 2px rgba(255, 255, 255, 0.35);
		font-family: "Courier New", monospace;
		font-size: 0.9em;
		margin: 0 0.25em;
		padding: 0.25em 0.65em;
	}

	pre {
		-webkit-overflow-scrolling: touch;
		font-family: "Courier New", monospace;
		font-size: 0.9em;
		margin: 0 0 2em 0;
	}

		pre code {
			display: block;
			line-height: 1.75em;
			padding: 1em 1.5em;
			overflow-x: auto;
		}

	hr {
		border: 0;
		border-bottom: solid 2px rgba(255, 255, 255, 0.35);
		margin: 2em 0;
	}

		hr.major {
			margin: 3em 0;
		}

/* Section/Article */


	@media screen and (max-width: 980px) {

		header br {
			display: none;
		}

	}

	@media screen and (max-width: 736px) {

		header br {
			display: inline;
		}

	}

	@media screen and (max-width: 480px) {

		header br {
			display: none;
		}

	}
