/*! normalize.css v2.1.0 | MIT License | git.io/normalize */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
	display: block
}
audio,
canvas,
video {
	display: inline-block
}

audio:not([controls]) {
	display: none;
	height: 0
}

[hidden] {
	display: none
}

html {
	font-family: sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%
}

body {
	margin: 0
}

a:focus {
	outline: thin dotted
}

a:active,
a:hover {
	outline: 0
}

h1 {
	font-size: 2em;
	margin: .67em 0
}

abbr[title] {
	border-bottom: 1px dotted
}

b,
strong {
	font-weight: bold
}

dfn {
	font-style: italic
}

hr {
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	height: 0
}

mark {
	background: #ff0;
	color: #000
}

code,
kbd,
pre,
samp {
	font-family: monospace, serif;
	font-size: 1em
}

pre {
	white-space: pre-wrap
}

q {
	quotes: "\201C" "\201D" "\2018" "\2019"
}

small {
	font-size: 80%
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline
}

sup {
	top: -0.5em
}

sub {
	bottom: -0.25em
}

img {
	border: 0
}

svg:not(:root) {
	overflow: hidden
}

figure {
	margin: 0
}

fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: .35em .625em .75em
}

legend {
	border: 0;
	padding: 0
}

button,
input,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	margin: 0
}

button,
input {
	line-height: normal
}

button,
select {
	text-transform: none
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer
}

button[disabled],
html input[disabled] {
	cursor: default
}

input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	padding: 0
}

input[type="search"] {
	-webkit-appearance: textfield;
	-moz-box-sizing: content-box;
	-webkit-box-sizing: content-box;
	box-sizing: content-box
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0
}

textarea {
	overflow: auto;
	vertical-align: top
}

table {
	border-collapse: collapse;
	border-spacing: 0
}
.ir {
	background-color: transparent;
	border: 0;
	overflow: hidden;
	*text-indent: -9999px
}

.ir:before {
	content: "";
	display: block;
	width: 0;
	height: 150%
}

.hidden {
	display: none!important;
	visibility: hidden
}

.visually-hidden {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px
}

.visually-hidden.focusable:active,
.visually-hidden.focusable:focus {
	clip: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	width: auto
}

.invisible {
	visibility: hidden
}

.clearfix {
	*zoom: 1
}

.clearfix:before,
.clearfix:after {
	content: " ";
	display: table
}

.clearfix:after {
	clear: both
}

.push {
	margin: .5em
}

.push--left {
	margin-left: .5em!important
}

.push--right {
	margin-right: .5em!important
}

.push--top {
	margin-top: .5em!important
}

.push--bottom {
	margin-bottom: .5em!important
}

.push--remove-left {
	margin-left: 0!important
}

.push--remove-right {
	margin-right: 0!important
}

.push--remove-top {
	margin-top: 0!important
}

.push--remove-bottom {
	margin-bottom: 0!important
}

.pad {
	padding: .5em!important
}

.pad--left {
	padding-left: .5em!important
}

.pad--right {
	padding-right: .5em!important
}

.pad--top {
	padding-top: .5em!important
}

.pad--bottom {
	padding-bottom: .5em!important
}

.pad--remove-left {
	padding-left: 0!important
}

.pad--remove-right {
	padding-right: 0!important
}

.pad--remove-top {
	padding-top: 0!important
}

.pad--remove-bottom {
	padding-bottom: 0!important
}

body {
	font-family: Helvetica, Arial, sans-serif;
	line-height: 1.5;
	background-color: #fff;
	color: #292f36
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: Helvetica, Arial, sans-serif;
	font-weight: bold;
	color: #1e2328;
	text-rendering: optimizelegibility
}

h1,
h2,
h3,
h4,
.alpha,
.beta,
.gamma,
.delta {
	line-height: 1.25
}

h1,
.alpha {
	font-size: 2em
}

h2,
.beta {
	font-size: 1.5em
}

h3,
.gamma {
	font-size: 1.25em;
	font-weight: normal
}

h4,
.delta {
	font-size: 1.125em
}

.tera {
	font-size: 4.5em
}

.giga {
	font-size: 3.5em
}

.mega {
	font-size: 2.5em
}

.micro {
	font-size: .9em
}

.nano {
	font-size: .8em
}

.pico {
	font-size: .75em
}

@media screen and (min-width:40em) {
	body {
		font-size: 104%
	}
}

@media screen and (min-width:50em) {
	body {
		font-size: 108%
	}
}

ul,
ol {
	padding-left: 1em
}

ul {
	list-style-type: square
}

a:hover,
a:focus {
	border-color: #ff6b6b
}

a:target,
a:focus {
	outline: 0
}

code[class*="language-"],
pre[class*="language-"] {
	color: #f8f8f2;
	text-shadow: 0 1px rgba(0, 0, 0, 0.3);
	font-family: Consolas, Monaco, 'Andale Mono', monospace;
	direction: ltr;
	text-align: left;
	white-space: pre;
	word-spacing: normal;
	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;
	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none
}

pre[class*="language-"] {
	border-radius: .3em
}

:not(pre)>code[class*="language-"],
pre[class*="language-"] {
	background: #1e2328
}

:not(pre)>code[class*="language-"] {
	padding: .1em;
	border-radius: .3em
}

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
	color: slategray
}

.token.punctuation {
	color: #f8f8f2
}

.namespace {
	opacity: .7
}

.token.property,
.token.tag {
	color: #ff6b6b
}

.token.boolean,
.token.number {
	color: #ae81ff
}

.token.selector,
.token.attr-name,
.token.string {
	color: #c7f464
}

.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
	color: #f8f8f2
}

.token.atrule,
.token.attr-value {
	color: #e6db74
}

.token.keyword {
	color: #4ecdc4
}

.token.regex,
.token.important {
	color: #fd971f
}

.token.important {
	font-weight: bold
}

.token.entity {
	cursor: help
}

img {
	vertical-align: middle;
	max-width: 100%
}

.img-feature {
	padding: .75em;
	border: 1px solid #ccc;
	border-radius: .25em
}

*,
::after,
::before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
pre,
fieldset,
form,
legend {
	margin-top: 0;
	margin-bottom: 16px;
	margin-bottom: 1rem
}

body {
	margin: 0
}

.container {
	max-width: 41em;
	margin: 0 auto;
	padding: 0 1.5em
}

.container--wide {
	max-width: 51em
}

.block {
	margin-bottom: 1.5em
}

.block--mini {
	margin-bottom: .5em
}

.main {
	margin-top: 1.5em
}

.grid {
	margin-left: -20px;
	margin-bottom: 0;
	*zoom: 1;
	list-style: none
}

.grid:before,
.grid:after {
	content: " ";
	display: table
}

.grid:after {
	clear: both
}

.grid--rev>.grid__item {
	float: right
}

.grid>.grid {
	margin-left: 0
}

.grid__item {
	float: left;
	padding-left: 20px
}

.one-whole {
	width: 100%
}

.one-half {
	width: 50%
}

.one-third {
	width: 33.333%
}

.two-thirds {
	width: 66.666%
}

.one-quarter {
	width: 25%
}

.two-quarters {
	width: 50%
}

.three-quarters {
	width: 75%
}

.one-fifth {
	width: 20%
}

.two-fifths {
	width: 40%
}

.three-fifths {
	width: 60%
}

.four-fifths {
	width: 80%
}

@media screen and (min-width:40em) {
	.lap--one-whole {
		width: 100%
	}
	.lap--one-half {
		width: 50%
	}
	.lap--one-third {
		width: 33.333%
	}
	.lap--two-thirds {
		width: 66.666%
	}
	.lap--one-quarter {
		width: 25%
	}
	.lap--two-quarters {
		width: 50%
	}
	.lap--three-quarters {
		width: 75%
	}
	.lap--one-fifth {
		width: 20%
	}
	.lap--two-fifths {
		width: 40%
	}
	.lap--three-fifths {
		width: 60%
	}
	.lap--four-fifths {
		width: 80%
	}
}

@media screen and (min-width:50em) {
	.desk--one-whole {
		width: 100%
	}
	.desk--one-half {
		width: 50%
	}
	.desk--one-third {
		width: 33.333%
	}
	.desk--two-thirds {
		width: 66.666%
	}
	.desk--one-quarter {
		width: 25%
	}
	.desk--two-quarters {
		width: 50%
	}
	.desk--three-quarters {
		width: 75%
	}
	.desk--one-fifth {
		width: 20%
	}
	.desk--two-fifths {
		width: 40%
	}
	.desk--three-fifths {
		width: 60%
	}
	.desk--four-fifths {
		width: 80%
	}
}

pre,
code {
	font-family: Consolas, Monaco, 'Andale Mono', monospace;
	direction: ltr;
	text-align: left;
	white-space: pre;
	word-spacing: normal;
	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;
	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none
}

pre {
	overflow: auto;
	padding: 1em;
	margin: 1.5em 0
}

code {
	font-size: .9em
}

@media screen and (min-width:50em) {
	code {
		font-size: .8em
	}
}

:not(pre)>code[class*="language-"] {
	white-space: pre-wrap;
	white-space: -moz-pre-wrap;
	white-space: -pre-wrap;
	white-space: -o-pre-wrap;
	word-wrap: break-word
}

@font-face {
	font-family: 'icomoon';
	src: url('fonts/icomoon.eot')
}

@font-face {
	font-family: 'icomoon';
	src: url(data:application/font-woff;charset=utf-8;base64,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) format('woff'), url(data:application/x-font-ttf;charset=utf-8;base64,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) format('truetype');
	font-weight: normal;
	font-style: normal
}

.icon {
	font-family: 'icomoon';
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased
}

.icon--twitter:before {
	content: "\e000"
}

.icon--github:before {
	content: "\e001"
}

.icon--download:before {
	content: "\e002"
}

@media print {
	* {
		background: transparent!important;
		color: #000!important;
		box-shadow: none!important;
		text-shadow: none!important
	}
	a,
	a:visited {
		text-decoration: underline
	}
	a[href]:after {
		content: " (" attr(href) ")"
	}
	abbr[title]:after {
		content: " (" attr(title) ")"
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content: ""
	}
	pre,
	blockquote {
		border: 1px solid #999;
		page-break-inside: avoid
	}
	thead {
		display: table-header-group
	}
	tr,
	img {
		page-break-inside: avoid
	}
	img {
		max-width: 100%!important
	}
	@page {
		margin: .5cm
	}
	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3
	}
	h2,
	h3 {
		page-break-after: avoid
	}
	.hide-from-print {
		display: none
	}
}

.nav {
	list-style: none;
	padding: 0;
	margin-bottom: 0
}

.nav__item {
	display: inline-block
}

@media screen and (min-width:40em) {
	.nav__item {
		display: inline-block
	}
}

.nav__item a {
	display: inline-block;
	padding: 1em;
	border: 0
}

.nav__toggle {
	float: right;
	display: none;
	padding: 1em 0
}

.nav__toggle:after {
	font-size: .8em;
	margin-left: .5em
}

.nav__toggle:hover:after,
.nav__toggle:focus:after {
	color: #4ecdc4
}

.nav__toggle--open:after {
	content: "\25BC"
}

.nav__toggle--close:after {
	content: "\25B2"
}

@media screen and (min-width:40em) {
	.nav__toggle {
		display: none!important
	}
}

.nav--main {
	float: right
}

.nav--main .nav__item:hover {
	background-color: rgba(78, 205, 196, 0.1)
}

.nav--main .nav__item--current a {
	color: #4ecdc4
}

.nav-wrapper .nav__toggle--open {
	display: inline
}

.nav-wrapper .nav__toggle--close {
	display: none
}

.nav-wrapper:target .nav__toggle--open {
	display: none
}

.nav-wrapper:target .nav__toggle--close {
	display: inline
}

.nav--collapsible {
	display: none
}

@media screen and (min-width:40em) {
	.nav--collapsible {
		display: block
	}
}

.nav-wrapper:target .nav--collapsible {
	display: block
}

.nav--divided .nav__item {
	border-top: 1px solid #3f4953;
	border-bottom: 1px solid #131619
}

@media screen and (min-width:40em) {
	.nav--divided .nav__item {
		border: 0
	}
}

.nav--divided li:first-child .nav__item {
	border-top: 0
}

.nav--divided li:last-child .nav__item {
	border-bottom: 0
}

.btn {
	padding: .5em 1em;
	margin: 0 0 1em 0;
	display: inline-block;
	border-radius: .25em;
	text-decoration: none;
	text-align: center;
	-webkit-transition: background-color .2s linear;
	-moz-transition: background-color .2s linear;
	-o-transition: background-color .2s linear;
	transition: background-color .2s linear;
	color: #6f6f6f;
	text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.4);
	border: 1px solid rgba(41, 47, 54, 0.2);
	background-color: #eee;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 1px 2px -1px rgba(41, 47, 54, 0.2)
}

.btn:hover,
.btn:focus,
.btn:visited {
	border: 1px solid rgba(41, 47, 54, 0.2);
	background-color: #f1ebeb;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 1px 2px -1px rgba(41, 47, 54, 0.2);
	text-decoration: none
}

.btn:focus {
	border-color: #292f36
}

.btn--primary {
	-webkit-transition: background-color .2s linear;
	-moz-transition: background-color .2s linear;
	-o-transition: background-color .2s linear;
	transition: background-color .2s linear;
	color: #292f36;
	text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.4);
	border: 1px solid rgba(41, 47, 54, 0.2);
	background-color: #4ecdc4;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 1px 2px -1px rgba(41, 47, 54, 0.2)
}

.btn--primary:hover,
.btn--primary:focus,
.btn--primary:visited {
	border: 1px solid rgba(41, 47, 54, 0.2);
	background-color: #3dded3;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 1px 2px -1px rgba(41, 47, 54, 0.2);
	text-decoration: none
}

.btn--primary:focus {
	border-color: #292f36
}

.btn--secondary {
	-webkit-transition: background-color .2s linear;
	-moz-transition: background-color .2s linear;
	-o-transition: background-color .2s linear;
	transition: background-color .2s linear;
	color: #fff;
	text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.4);
	border: 1px solid rgba(41, 47, 54, 0.2);
	background-color: #ff6b6b;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 1px 2px -1px rgba(41, 47, 54, 0.2);
	text-shadow: 1px 1px 1px rgba(41, 47, 54, 0.5)
}

.btn--secondary:hover,
.btn--secondary:focus,
.btn--secondary:visited {
	border: 1px solid rgba(41, 47, 54, 0.2);
	background-color: #ff6b6b;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 1px 2px -1px rgba(41, 47, 54, 0.2);
	text-decoration: none
}

.btn--secondary:focus {
	border-color: #292f36
}

.btn:active {
	box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
	outline: 0
}

.btn--plain,
.btn--plain:hover,
.btn--plain:active,
.btn--plain:focus,
.btn--plain:visited {
	background: 0;
	border: 0;
	box-shadow: none
}

.btn--plain:hover {
	color: #292f36
}

.btn--full {
	display: block
}

.btn--med {
	line-height: 1.25;
	font-size: 1.125em
}

.btn--large {
	line-height: 1.25;
	font-size: 1.25em;
	font-weight: normal
}

.article-header {
	border-bottom: 1px dashed #ccc
}

.lead {
	line-height: 1.25;
	font-size: 1.125em;
	font-weight: bold
}

.feature-title {
	text-align: center
}

@media screen and (min-width:40em) {
	.feature-title {
		font-size: 112.5%
	}
}

@media screen and (min-width:50em) {
	.feature-title {
		font-size: 125%
	}
}

.feature-title__title {
	font-size: 2.5em;
	color: #fff;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
	line-height: 1;
	display: block
}

.feature-title__subtitle {
	line-height: 1.25;
	font-size: 1.125em;
	color: #292f36;
	margin: 0
}

.post {
	position: relative;
	margin-bottom: 2.5em
}

.post__title {
	margin-bottom: .1em
}

.post__title a {
	border: 0
}

.post__date {
	display: block;
	margin-bottom: .5em;
	color: #798899
}

.brand {
	display: inline-block;
	text-decoration: none;
	padding: 1em 0;
	color: #fff;
	-webkit-font-smoothing: antialiased
}

.brand__forename {
	font-weight: bold;
	color: #4ecdc4
}

.brand__surname {
	font-weight: normal;
	color: #fff
}

.header {
	background-color: #292f36
}

.header__link {
	color: #fff;
	text-decoration: none;
	border: 0
}

.header__link:focus {
	outline: 0;
	background-color: rgba(78, 205, 196, 0.1)
}

.header__link:hover .icon {
	color: #4ecdc4
}

.header--fixed {
	position: fixed;
	z-index: 10;
	right: 0;
	left: 0;
	top: 0
}

.footer {
	background-color: #292f36;
	border-top: 3px solid #4ecdc4;
	box-shadow: 0 2px 2px -1px #292f36 inset
}

.footer a {
	color: #fff;
	text-decoration: none;
	padding-top: 1em;
	padding-bottom: 1em
}

.heading {
	border-bottom: 3px solid #4ecdc4;
	margin-bottom: 1em;
	padding-bottom: .25em
}

.sub-heading {
	border-bottom: 1px solid rgba(41, 47, 54, 0.1)
}

.feature {
	background-color: #4ecdc4;
	padding: 5em 0 2em 0
}

.feature a {
	text-decoration: underline;
	color: #292f36
}

.feature strong {
	color: #fff;
	font-weight: normal;
	text-shadow: 1px 1px 1px #292f36
}

.btt {
	display: none;
	position: fixed;
	left: 0;
	bottom: 0;
	font-size: .9em;
	-webkit-transform: translateY(4em);
	-ms-transform: translateY(4em);
	transform: translateY(4em)
}

@media screen and (min-width:50em) {
	.btt {
		display: block
	}
}

@media screen and (min-width:65em) {
	.btt {
		left: .5em
	}
}

.slide {
	-webkit-transition: all .5s linear;
	-moz-transition: all .5s linear;
	-o-transition: all .5s linear;
	transition: all .5s linear
}

.slide--reset {
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0)
}

.slide--up {
	-webkit-transform: translateY(-4em);
	-ms-transform: translateY(-4em);
	transform: translateY(-4em)
}

.slide--down {
	-webkit-transform: translateY(4em);
	-ms-transform: translateY(4em);
	transform: translateY(4em)
}

.headroom-title {
	font-size: 2.5em
}

@media(min-width:30em) {
	.headroom-title {
		font-size: 3.5em
	}
}

@media screen and (min-width:40em) {
	.headroom-title {
		font-size: 4.5em
	}
}

.icon:before {
	font-size: .9em;
	display: inline-block;
	height: 1em;
	width: 1em;
	line-height: 1
}

.icon--up:before {
	content: "\25B2"
}

.sharing {
	margin-top: 2em
}

.sharing__button {
	font-size: .8em
}

@media screen and (min-width:40em) {
	.sharing__button {
		font-size: .9em
	}
}

@media screen and (min-width:50em) {
	.sharing__button {
		font-size: 1em
	}
}

.form {
	margin-top: 1.5em;
	margin-bottom: 1.5em;
	padding: 1em;
	border-radius: .3em;
	background-color: #dee2e6
}

.question-set {
	border: 0;
	padding: 0;
	margin-bottom: 1.5em
}

.question-set__title {
	display: block;
	margin-bottom: .75em
}

.question-set__input {
	width: 100%;
	padding: .25em;
	border: 1px solid #a4afba
}

.question-set__input:focus {
	outline: 0;
	box-shadow: #4ecdc4 0 0 3px 0
}

.question-set__label {
	display: inline-block;
	margin-bottom: .25em
}

.question-set__label--block {
	display: block
}

.question-set__label input[type=radio] {
	margin-right: .75em
}

:not(pre)>code {
	background-color: #d0d5db;
	padding: .3em .2em .1em;
	border-radius: .25em
}

p+h2,
p+h3 {
	margin-top: 1.5em
}

.complimentary {
	display: none
}

@media screen and (min-width:40em) {
	.complimentary {
		display: inline
	}
}

.subdued {
	color: rgba(255, 255, 255, 0.6);
	text-shadow: none
}

a.subdued:hover {
	color: #fff
}

.animated {
	-webkit-animation-duration: .5s;
	-moz-animation-duration: .5s;
	-o-animation-duration: .5s;
	animation-duration: .5s;
	-webkit-animation-fill-mode: both;
	-moz-animation-fill-mode: both;
	-o-animation-fill-mode: both;
	animation-fill-mode: both
}

@-webkit-keyframes slideDown {
	0% {
		-webkit-transform: translateY(-4em)
	}
	100% {
		-webkit-transform: translateY(0)
	}
}

@-moz-keyframes slideDown {
	0% {
		-moz-transform: translateY(-4em)
	}
	100% {
		-moz-transform: translateY(0)
	}
}

@-o-keyframes slideDown {
	0% {
		-o-transform: translateY(-4em)
	}
	100% {
		-o-transform: translateY(0)
	}
}

@keyframes slideDown {
	0% {
		transform: translateY(-4em)
	}
	100% {
		transform: translateY(0)
	}
}

.animated.slideDown {
	-webkit-animation-name: slideDown;
	-moz-animation-name: slideDown;
	-o-animation-name: slideDown;
	animation-name: slideDown
}

@-webkit-keyframes slideUp {
	0% {
		-webkit-transform: translateY(0)
	}
	100% {
		-webkit-transform: translateY(-4em)
	}
}

@-moz-keyframes slideUp {
	0% {
		-moz-transform: translateY(0)
	}
	100% {
		-moz-transform: translateY(-4em)
	}
}

@-o-keyframes slideUp {
	0% {
		-o-transform: translateY(0)
	}
	100% {
		-o-transform: translateY(-4em)
	}
}

@keyframes slideUp {
	0% {
		transform: translateY(0)
	}
	100% {
		transform: translateY(-4em)
	}
}

.animated.slideUp {
	-webkit-animation-name: slideUp;
	-moz-animation-name: slideUp;
	-o-animation-name: slideUp;
	animation-name: slideUp
}

@-webkit-keyframes swingInX {
	0% {
		-webkit-transform: perspective(400px) rotateX(-90deg)
	}
	100% {
		-webkit-transform: perspective(400px) rotateX(0deg)
	}
}

@-moz-keyframes swingInX {
	0% {
		-moz-transform: perspective(400px) rotateX(-90deg)
	}
	100% {
		-moz-transform: perspective(400px) rotateX(0deg)
	}
}

@-o-keyframes swingInX {
	0% {
		-o-transform: perspective(400px) rotateX(-90deg)
	}
	100% {
		-o-transform: perspective(400px) rotateX(0deg)
	}
}

@keyframes swingInX {
	0% {
		transform: perspective(400px) rotateX(-90deg)
	}
	100% {
		transform: perspective(400px) rotateX(0deg)
	}
}

.animated.swingInX {
	-webkit-transform-origin: top;
	-moz-transform-origin: top;
	-ie-transform-origin: top;
	-o-transform-origin: top;
	transform-origin: top;
	-webkit-backface-visibility: visible!important;
	-webkit-animation-name: swingInX;
	-moz-backface-visibility: visible!important;
	-moz-animation-name: swingInX;
	-o-backface-visibility: visible!important;
	-o-animation-name: swingInX;
	backface-visibility: visible!important;
	animation-name: swingInX
}

@-webkit-keyframes swingOutX {
	0% {
		-webkit-transform: perspective(400px) rotateX(0deg)
	}
	100% {
		-webkit-transform: perspective(400px) rotateX(-90deg)
	}
}

@-moz-keyframes swingOutX {
	0% {
		-moz-transform: perspective(400px) rotateX(0deg)
	}
	100% {
		-moz-transform: perspective(400px) rotateX(-90deg)
	}
}

@-o-keyframes swingOutX {
	0% {
		-o-transform: perspective(400px) rotateX(0deg)
	}
	100% {
		-o-transform: perspective(400px) rotateX(-90deg)
	}
}

@keyframes swingOutX {
	0% {
		transform: perspective(400px) rotateX(0deg)
	}
	100% {
		transform: perspective(400px) rotateX(-90deg)
	}
}

.animated.swingOutX {
	-webkit-transform-origin: top;
	-webkit-animation-name: swingOutX;
	-webkit-backface-visibility: visible!important;
	-moz-animation-name: swingOutX;
	-moz-backface-visibility: visible!important;
	-o-animation-name: swingOutX;
	-o-backface-visibility: visible!important;
	animation-name: swingOutX;
	backface-visibility: visible!important
}

@-webkit-keyframes flipInX {
	0% {
		-webkit-transform: perspective(400px) rotateX(90deg);
		opacity: 0
	}
	100% {
		-webkit-transform: perspective(400px) rotateX(0deg);
		opacity: 1
	}
}

@-moz-keyframes flipInX {
	0% {
		-moz-transform: perspective(400px) rotateX(90deg);
		opacity: 0
	}
	100% {
		-moz-transform: perspective(400px) rotateX(0deg);
		opacity: 1
	}
}

@-o-keyframes flipInX {
	0% {
		-o-transform: perspective(400px) rotateX(90deg);
		opacity: 0
	}
	100% {
		-o-transform: perspective(400px) rotateX(0deg);
		opacity: 1
	}
}

@keyframes flipInX {
	0% {
		transform: perspective(400px) rotateX(90deg);
		opacity: 0
	}
	100% {
		transform: perspective(400px) rotateX(0deg);
		opacity: 1
	}
}

.animated.flipInX {
	-webkit-backface-visibility: visible!important;
	-webkit-animation-name: flipInX;
	-moz-backface-visibility: visible!important;
	-moz-animation-name: flipInX;
	-o-backface-visibility: visible!important;
	-o-animation-name: flipInX;
	backface-visibility: visible!important;
	animation-name: flipInX
}

@-webkit-keyframes flipOutX {
	0% {
		-webkit-transform: perspective(400px) rotateX(0deg);
		opacity: 1
	}
	100% {
		-webkit-transform: perspective(400px) rotateX(90deg);
		opacity: 0
	}
}

@-moz-keyframes flipOutX {
	0% {
		-moz-transform: perspective(400px) rotateX(0deg);
		opacity: 1
	}
	100% {
		-moz-transform: perspective(400px) rotateX(90deg);
		opacity: 0
	}
}

@-o-keyframes flipOutX {
	0% {
		-o-transform: perspective(400px) rotateX(0deg);
		opacity: 1
	}
	100% {
		-o-transform: perspective(400px) rotateX(90deg);
		opacity: 0
	}
}

@keyframes flipOutX {
	0% {
		transform: perspective(400px) rotateX(0deg);
		opacity: 1
	}
	100% {
		transform: perspective(400px) rotateX(90deg);
		opacity: 0
	}
}

.animated.flipOutX {
	-webkit-animation-name: flipOutX;
	-webkit-backface-visibility: visible!important;
	-moz-animation-name: flipOutX;
	-moz-backface-visibility: visible!important;
	-o-animation-name: flipOutX;
	-o-backface-visibility: visible!important;
	animation-name: flipOutX;
	backface-visibility: visible!important
}

@-webkit-keyframes bounceInDown {
	0% {
		opacity: 0;
		-webkit-transform: translateY(-200px)
	}
	60% {
		opacity: 1;
		-webkit-transform: translateY(30px)
	}
	80% {
		-webkit-transform: translateY(-10px)
	}
	100% {
		-webkit-transform: translateY(0)
	}
}

@-moz-keyframes bounceInDown {
	0% {
		opacity: 0;
		-moz-transform: translateY(-200px)
	}
	60% {
		opacity: 1;
		-moz-transform: translateY(30px)
	}
	80% {
		-moz-transform: translateY(-10px)
	}
	100% {
		-moz-transform: translateY(0)
	}
}

@-o-keyframes bounceInDown {
	0% {
		opacity: 0;
		-o-transform: translateY(-200px)
	}
	60% {
		opacity: 1;
		-o-transform: translateY(30px)
	}
	80% {
		-o-transform: translateY(-10px)
	}
	100% {
		-o-transform: translateY(0)
	}
}

@keyframes bounceInDown {
	0% {
		opacity: 0;
		transform: translateY(-200px)
	}
	60% {
		opacity: 1;
		transform: translateY(30px)
	}
	80% {
		transform: translateY(-10px)
	}
	100% {
		transform: translateY(0)
	}
}

.animated.bounceInDown {
	-webkit-animation-name: bounceInDown;
	-moz-animation-name: bounceInDown;
	-o-animation-name: bounceInDown;
	animation-name: bounceInDown
}

@-webkit-keyframes bounceOutUp {
	0% {
		-webkit-transform: translateY(0)
	}
	30% {
		opacity: 1;
		-webkit-transform: translateY(20px)
	}
	100% {
		opacity: 0;
		-webkit-transform: translateY(-200px)
	}
}

@-moz-keyframes bounceOutUp {
	0% {
		-moz-transform: translateY(0)
	}
	30% {
		opacity: 1;
		-moz-transform: translateY(20px)
	}
	100% {
		opacity: 0;
		-moz-transform: translateY(-200px)
	}
}

@-o-keyframes bounceOutUp {
	0% {
		-o-transform: translateY(0)
	}
	30% {
		opacity: 1;
		-o-transform: translateY(20px)
	}
	100% {
		opacity: 0;
		-o-transform: translateY(-200px)
	}
}

@keyframes bounceOutUp {
	0% {
		transform: translateY(0)
	}
	30% {
		opacity: 1;
		transform: translateY(20px)
	}
	100% {
		opacity: 0;
		transform: translateY(-200px)
	}
}

.animated.bounceOutUp {
	-webkit-animation-name: bounceOutUp;
	-moz-animation-name: bounceOutUp;
	-o-animation-name: bounceOutUp;
	animation-name: bounceOutUp
}
