/*! normalize.css v2.1.0 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary {
	display: block;
}

.ir {
	overflow: hidden;
	border: 0;
	background-color: transparent;
}

.ir:before {
	display: block;
	width: 0;
	height: 150%;
	content: "";
}

.hidden {
	display: none!important;
	visibility: hidden;
}

.visually-hidden {
	position: absolute;
	overflow: hidden;
	clip: rect(0 0 0 0);
	margin: -1px;
	padding: 0;
	width: 1px;
	height: 1px;
	border: 0;
}

.visually-hidden.focusable:active,.visually-hidden.focusable:focus {
	position: static;
	overflow: visible;
	clip: auto;
	margin: 0;
	width: auto;
	height: auto;
}

.invisible {
	visibility: hidden;
}

.clearfix:after,.clearfix:before {
	display: table;
	content: " ";
}

.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;
}

.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) {
	.Demo-headerbox {
		font-size: 104%;
	}
}

@media screen and (min-width:50em) {
	.Demo-headerbox {
		font-size: 108%;
	}
}



code[class*=language-],pre[class*=language-] {
	color: #f8f8f2;
	text-align: left;
	text-shadow: 0 1px rgba(0,0,0,.3);
	white-space: pre;
	word-spacing: normal;
	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;
	font-family: Consolas,Monaco,'Andale Mono',monospace;
	direction: ltr;
	-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.cdata,.token.comment,.token.doctype,.token.prolog {
	color: #708090;
}

.token.punctuation {
	color: #f8f8f2;
}

.namespace {
	opacity: .7;
}

.token.property,.token.tag {
	color: #ff6b6b;
}

.token.boolean,.token.number {
	color: #ae81ff;
}

.token.attr-name,.token.selector,.token.string {
	color: #c7f464;
}

.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url {
	color: #f8f8f2;
}

.token.atrule,.token.attr-value {
	color: #e6db74;
}

.token.keyword {
	color: #4ecdc4;
}

.token.important,.token.regex {
	color: #fd971f;
}

.token.important {
	font-weight: 700;
}

.token.entity {
	cursor: help;
}

.img-feature {
	padding: .75em;
	border: 1px solid #ccc;
	border-radius: .25em;
}

.container {
	margin: 0 auto;
	padding: 0 1.5em;
	max-width: 41em;
}

.container--wide {
	max-width: 51em;
}

.block {
	margin-bottom: 1.5em;
}

.block--mini {
	margin-bottom: .5em;
}

.main {
	margin-top: 1.5em;
}

.grid {
	margin-bottom: 0;
	margin-left: -20px;
	list-style: none;
}

.grid:after,.grid:before {
	display: table;
	content: " ";
}

.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%;
	}
}

code,pre {
	text-align: left;
	white-space: pre;
	word-spacing: normal;
	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;
	font-family: Consolas,Monaco,'Andale Mono',monospace;
	direction: ltr;
	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
}

pre {
	overflow: auto;
	margin: 1.5em 0;
	padding: 1em;
}

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-weight:400;font-style:normal;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');
}

.icon {
	text-transform: none;
	font-weight: 400;
	font-style: normal;
	font-variant: normal;
	font-family: icomoon;
	line-height: 1;
	speak: none;
	-webkit-font-smoothing: antialiased;
}

.icon--twitter:before {
	content: "\e000";
}

.icon--github:before {
	content: "\e001";
}

.icon--download:before {
	content: "\e002";
}

@media print {
	* {
		background: 0 0!important;
		box-shadow: none!important;
		color: #000!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: "";
	}

	blockquote,pre {
		border: 1px solid #999;
		page-break-inside: avoid;
	}

	thead {
		display: table-header-group;
	}

	img,tr {
		page-break-inside: avoid;
	}

	img {
		max-width: 100%!important;
	}

	h2,h3,p {
		orphans: 3;
		widows: 3;
	}

	h2,h3 {
		page-break-after: avoid;
	}

	.hide-from-print {
		display: none;
	}
}

.nav {
	margin-bottom: 0;
	padding: 0;
	list-style: none;
}

.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 {
	margin-left: .5em;
	font-size: .8em;
}

.nav__toggle:focus:after,.nav__toggle:hover: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,.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 {
	display: inline-block;
	margin: 0 0 1em 0;
	padding: .5em 1em;
	border: 1px solid rgba(41,47,54,.2);
	border-radius: .25em;
	background-color: #eee;
	box-shadow: 0 1px 0 rgba(255,255,255,.2) inset,0 1px 2px -1px rgba(41,47,54,.2);
	color: #6f6f6f;
	text-align: center;
	text-decoration: none;
	text-shadow: 1px 1px 1px rgba(255,255,255,.4);
	-webkit-transition: background-color .2s linear;
	-moz-transition: background-color .2s linear;
	-o-transition: background-color .2s linear;
	transition: background-color .2s linear;
}

.btn:focus,.btn:hover,.btn:visited {
	border: 1px solid rgba(41,47,54,.2);
	background-color: #f1ebeb;
	box-shadow: 0 1px 0 rgba(255,255,255,.2) inset,0 1px 2px -1px rgba(41,47,54,.2);
	text-decoration: none;
}

.btn:focus {
	border-color: #292f36;
}

.btn--primary {
	border: 1px solid rgba(41,47,54,.2);
	background-color: #4ecdc4;
	box-shadow: 0 1px 0 rgba(255,255,255,.2) inset,0 1px 2px -1px rgba(41,47,54,.2);
	color: #292f36;
	text-shadow: 1px 1px 1px rgba(255,255,255,.4);
	-webkit-transition: background-color .2s linear;
	-moz-transition: background-color .2s linear;
	-o-transition: background-color .2s linear;
	transition: background-color .2s linear;
}

.btn--primary:focus,.btn--primary:hover,.btn--primary:visited {
	border: 1px solid rgba(41,47,54,.2);
	background-color: #3dded3;
	box-shadow: 0 1px 0 rgba(255,255,255,.2) inset,0 1px 2px -1px rgba(41,47,54,.2);
	text-decoration: none;
}

.btn--primary:focus {
	border-color: #292f36;
}

.btn--secondary {
	border: 1px solid rgba(41,47,54,.2);
	background-color: #ff6b6b;
	box-shadow: 0 1px 0 rgba(255,255,255,.2) inset,0 1px 2px -1px rgba(41,47,54,.2);
	color: #fff;
	text-shadow: 1px 1px 1px rgba(255,255,255,.4);
	text-shadow: 1px 1px 1px rgba(41,47,54,.5);
	-webkit-transition: background-color .2s linear;
	-moz-transition: background-color .2s linear;
	-o-transition: background-color .2s linear;
	transition: background-color .2s linear;
}

.btn--secondary:focus,.btn--secondary:hover,.btn--secondary:visited {
	border: 1px solid rgba(41,47,54,.2);
	background-color: #ff6b6b;
	box-shadow: 0 1px 0 rgba(255,255,255,.2) inset,0 1px 2px -1px rgba(41,47,54,.2);
	text-decoration: none;
}

.btn--secondary:focus {
	border-color: #292f36;
}

.btn:active {
	outline: 0;
	box-shadow: inset 0 1px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);
}

.btn--plain,.btn--plain:active,.btn--plain:focus,.btn--plain:hover,.btn--plain:visited {
	border: 0;
	background: 0;
	box-shadow: none;
}

.btn--plain:hover {
	color: #292f36;
}

.btn--full {
	display: block;
}

.btn--med {
	font-size: 1.125em;
	line-height: 1.25;
}

.btn--large {
	font-weight: 400;
	font-size: 1.25em;
	line-height: 1.25;
}

.article-header {
	border-bottom: 1px dashed #ccc;
}

.lead {
	font-weight: 700;
	font-size: 1.125em;
	line-height: 1.25;
}

.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 {
	display: block;
	color: #fff;
	text-shadow: 1px 1px 1px rgba(0,0,0,.5);
	font-size: 2.5em;
	line-height: 1;
}

.feature-title__subtitle {
	margin: 0;
	color: #292f36;
	font-size: 1.125em;
	line-height: 1.25;
}

.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;
	padding: 1em 0;
	color: #fff;
	text-decoration: none;
	-webkit-font-smoothing: antialiased;
}

.brand__forename {
	color: #4ecdc4;
	font-weight: 700;
}

.brand__surname {
	color: #fff;
	font-weight: 400;
}



.header__link {
	border: 0;
	color: #fff;
	text-decoration: none;
}

.header__link:focus {
	outline: 0;
	background-color: rgba(78,205,196,.1);
}

.header__link:hover .icon {
	color: #4ecdc4;
}

.header--fixed {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 10;
}

.footer {
	border-top: 3px solid #4ecdc4;
	background-color: #292f36;
	box-shadow: 0 2px 2px -1px #292f36 inset;
}

.footer a {
	padding-top: 1em;
	padding-bottom: 1em;
	color: #fff;
	text-decoration: none;
}

.heading {
	margin-bottom: 1em;
	padding-bottom: .25em;
	border-bottom: 3px solid #4ecdc4;
}

.sub-heading {
	border-bottom: 1px solid rgba(41,47,54,.1);
}

.feature {
	padding: 5em 0 2em 0;
	background-color: #4ecdc4;
}

.feature a {
	color: #292f36;
	text-decoration: underline;
}

.feature strong {
	color: #fff;
	text-shadow: 1px 1px 1px #292f36;
	font-weight: 400;
}

.btt {
	position: fixed;
	bottom: 0;
	left: 0;
	display: none;
	font-size: .9em;
	-webkit-transform: translateY(4em);
	transform: translateY(4em);
	-ms-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);
	transform: translateY(0);
	-ms-transform: translateY(0);
}

.slide--up {
	-webkit-transform: translateY(-4em);
	transform: translateY(-4em);
	-ms-transform: translateY(-4em);
}

.slide--down {
	-webkit-transform: translateY(4em);
	transform: translateY(4em);
	-ms-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 {
	display: inline-block;
	width: 1em;
	height: 1em;
	font-size: .9em;
	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 {
	margin-bottom: 1.5em;
	padding: 0;
	border: 0;
}

.question-set__title {
	display: block;
	margin-bottom: .75em;
}

.question-set__input {
	padding: .25em;
	width: 100%;
	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 {
	padding: .3em .2em .1em;
	border-radius: .25em;
	background-color: #d0d5db;
}

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,.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(0);
	}
}

@-moz-keyframes swingInX {
	0% {
		-moz-transform: perspective(400px) rotateX(-90deg);
	}

	100% {
		-moz-transform: perspective(400px) rotateX(0);
	}
}

@-o-keyframes swingInX {
	0% {
		-o-transform: perspective(400px) rotateX(-90deg);
	}

	100% {
		-o-transform: perspective(400px) rotateX(0);
	}
}

@keyframes swingInX {
	0% {
		transform: perspective(400px) rotateX(-90deg);
	}

	100% {
		transform: perspective(400px) rotateX(0);
	}
}

.animated.swingInX {
	-webkit-transform-origin: top;
	-moz-transform-origin: top;
	-o-transform-origin: top;
	transform-origin: top;
	-ie-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(0);
	}

	100% {
		-webkit-transform: perspective(400px) rotateX(-90deg);
	}
}

@-moz-keyframes swingOutX {
	0% {
		-moz-transform: perspective(400px) rotateX(0);
	}

	100% {
		-moz-transform: perspective(400px) rotateX(-90deg);
	}
}

@-o-keyframes swingOutX {
	0% {
		-o-transform: perspective(400px) rotateX(0);
	}

	100% {
		-o-transform: perspective(400px) rotateX(-90deg);
	}
}

@keyframes swingOutX {
	0% {
		transform: perspective(400px) rotateX(0);
	}

	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% {
		opacity: 0;
		-webkit-transform: perspective(400px) rotateX(90deg);
	}

	100% {
		opacity: 1;
		-webkit-transform: perspective(400px) rotateX(0);
	}
}

@-moz-keyframes flipInX {
	0% {
		opacity: 0;
		-moz-transform: perspective(400px) rotateX(90deg);
	}

	100% {
		opacity: 1;
		-moz-transform: perspective(400px) rotateX(0);
	}
}

@-o-keyframes flipInX {
	0% {
		opacity: 0;
		-o-transform: perspective(400px) rotateX(90deg);
	}

	100% {
		opacity: 1;
		-o-transform: perspective(400px) rotateX(0);
	}
}

@keyframes flipInX {
	0% {
		opacity: 0;
		transform: perspective(400px) rotateX(90deg);
	}

	100% {
		opacity: 1;
		transform: perspective(400px) rotateX(0);
	}
}

.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% {
		opacity: 1;
		-webkit-transform: perspective(400px) rotateX(0);
	}

	100% {
		opacity: 0;
		-webkit-transform: perspective(400px) rotateX(90deg);
	}
}

@-moz-keyframes flipOutX {
	0% {
		opacity: 1;
		-moz-transform: perspective(400px) rotateX(0);
	}

	100% {
		opacity: 0;
		-moz-transform: perspective(400px) rotateX(90deg);
	}
}

@-o-keyframes flipOutX {
	0% {
		opacity: 1;
		-o-transform: perspective(400px) rotateX(0);
	}

	100% {
		opacity: 0;
		-o-transform: perspective(400px) rotateX(90deg);
	}
}

@keyframes flipOutX {
	0% {
		opacity: 1;
		transform: perspective(400px) rotateX(0);
	}

	100% {
		opacity: 0;
		transform: perspective(400px) rotateX(90deg);
	}
}

.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;
}