
joflexrow {
	.flex;
	width: 100%;
}

joflexrow > * {
	.flexible;
	margin-right: 0;
	position: relative;
}

joflexrow > *:last-child {
	margin-right: 10px;
}

joflexcol {
	.flex;
	height: 100%;
	width: 100%;

	-webkit-box-orient: vertical;
	-webkit-box-align: stretch;
	-moz-box-orient: vertical;
	-moz-box-align: stretch;
	-o-box-orient: vertical;
	-o-box-align: stretch;
	box-orient: vertical;
	box-align: stretch;

	margin: 0;
}

joflexcol > * {
	.flexible;
}

jotitle + joflexcol, jotitle + joflexrow {
	margin-top: 10px;
}


jostack {
	height: 100%;
	-webkit-perspective: 400px;
	-moz-perspective: 400px;
	-o-perspective: 400px;
	-ms-perspective: 400px;
	-webkit-transition: opacity .3s ease-out;
	-moz-transition: opacity .3s ease-out;
	-o-transition: opacity .3s ease-out;
	-ms-transition: opacity .3s ease-out;
}

jostack > * {
	-webkit-animation-fill-mode: forwards;

	-webkit-transform-origin: 50% 100% 0;
	-webkit-transform: rotateZ(0) translateZ(0) translateX(0) translateY(0);
	-webkit-transition: -webkit-transform .3s ease-out, z-index .3s ease-out, height 0s ease, overflow 0s ease;

	-moz-transform-origin: 50% 100% 0;
	-moz-transform: rotateZ(0) translateZ(0);
	-moz-transition: -moz-transform .3s ease-out, z-index .3s ease-out, height 0s ease, overflow 0s ease;
	
	z-index: 0;

	-o-transform-origin: 50% 100% 0;
	-o-transform: rotateZ(0);
	-o-transition: -o-transform .3s ease-out;

	-ms-transform-origin: 50% 100% 0;
	-ms-transform: rotateZ(0);
	-ms-transition: -ms-transform .3s ease-out;
	
	
	position: absolute;
/*
	display: block;
	height: 100%;
	width: 100%;
	overflow: hidden;
	padding: 0;
	margin: 0;
*/
}

jostack > .next {
	z-index: -1;

	-webkit-transform: rotateZ(45deg) translateY(-10%) translateX(100%);
	-moz-transform: rotateZ(45deg);
	-o-transform: rotateZ(45deg);
	-ms-transform: rotateZ(45deg);

	height: 100%;
	overflow: hidden;
}

jostack > .prev {
	z-index: 1;

	-webkit-transform: rotateZ(-45deg) translateY(10%) translateX(-100%);
	-moz-transform: rotateZ(-45deg);
	-o-transform: rotateZ(-45deg);
	-ms-transform: rotateZ(-45deg);
	
	height: 100%;
	overflow: hidden;
}

* {
   -webkit-tap-highlight-color: rgba(0,0,0,0);
}

jobutton {
	background-repeat: repeat-x;
}

jocard {
	width: 100%;
	min-height: 100%;
	display: -webkit-box;
	display: -moz-box;
	display: -o-box;
	display: box;
	padding: 0;
	margin: 0;
	-webkit-box-orient: vertical;
	-webkit-box-align: stretch;
	-moz-box-orient: vertical;
	-moz-box-align: stretch;
	-o-box-orient: vertical;
	-o-box-align: stretch;
	box-orient: vertical;
	box-align: stretch;
	background: @card-color;
}

jocard > * {
/*	display: block; */
}

jocard>*:last-child {
	margin-bottom: 10px;
}

joscroller {
	position: absolute;
	display: block;
	height: 100%;
	width: 100%;
	overflow: hidden;
	padding: 0;
	margin: 0;
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translateY(0);
	-o-transform: translate(0, 0);
	-ms-transform: translate(0, 0);
}
joscroller > * {
	position: absolute;
	top: 0;
	-webkit-animation-fill-mode: forwards;
	-webkit-transition: -webkit-transform 0s ease;
	
	-moz-animation-fill-mode: forwards;
	-moz-transition: -moz-transform 0s ease;
	
	-o-animation-fill-mode: forwards;
	-o-transition: -o-transform 0s ease;
	
	-ms-animation-fill-mode: forwards;
	-ms-transition: -ms-transform 0s ease;
}

.flick {
	-webkit-transition: -webkit-transform 1.8s cubic-bezier(0, .2, 0, 1);
	-moz-transition: -moz-transform 1.8s cubic-bezier(0, .2, 0, 1);
	-o-transition: -o-transform 1.8s cubic-bezier(0, .2, 0, 1);
	-ms-transition: -ms-transform 1.8s cubic-bezier(0, .2, 0, 1);
}

.flickback {
	-webkit-transition: -webkit-transform .2s cubic-bezier(0, 0, 0.4, 1);
	-moz-transition: -moz-transform .2s cubic-bezier(0, 0, 0.4, 1);
	-o-transition: -o-transform .2s cubic-bezier(0, 0, 0.4, 1);
	-ms-transition: -o-transform .2s cubic-bezier(0, 0, 0.4, 1);
}

.flickfast {
	-webkit-transition: -webkit-transform .6s cubic-bezier(0, .2, 0, 1);
	-moz-transition: -moz-transform .6s cubic-bezier(0, .2, 0, 1);
	-o-transition: -o-transform .6s cubic-bezier(0, .2, 0, 1);
}

jocontainer {
	margin: 0;
	display: block;
	position: relative;
}

jogroup {
	margin: 10px;
	padding: 10px 0;
	.border-radius(10px);
	background: @card-color + #222;
}
jogroup > *.last-child {
	margin-bottom: 0;
}

jofooter {
	display: block;
	display: -webkit-box;
	display: -moz-box;
	display: box;
	
	width: 100%;

	-webkit-box-flex: 1;
	-webkit-box-orient: vertical;
	-webkit-box-align: stretch;
	-webkit-box-pack: end;

	-moz-box-flex: 1;
	-moz-box-orient: vertical;
	-moz-box-align: stretch;
	-moz-box-pack: end;

	box-flex: 1;
	box-orient: vertical;
	box-align: stretch;
	box-pack: end;

	margin: 0;
}

jofooter > * {
	-webkit-box-align: end;
	-moz-box-align: end;
	-o-box-align: end;
	box-align: end;
}

joshim {
	opacity: 0;
	overflow: hidden;
	position: absolute;
	z-index: 100;

	top: 0; left: 0; right: 0; bottom: 0;

	display: none;

	background: rgba(0, 0, 0, .6);
	opacity: 0;
	
	-webkit-transition: opacity .2s ease;
	-moz-transition: opacity .2s ease;
	-o-transition: opacity .2s ease;
	-ms-transition: opacity .2s ease;
}
joshim.show {
	display: block;
	opacity: 1;
}

jotoolbar {
	border-top: 1px solid rgba(0, 0, 0, .8);
	padding: 10px 0;
	.matte;
	background-color: rgba(0, 0, 0, .8);
	z-index: 1;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	text-align: center;
}

jotoolbar jobutton {
	.border-radius(0);
}

jopopup {
	.noflex;
	font-size: 15px;
	display: block;
	overflow: hidden;

	margin: 0 auto;
	border: 2px solid #fff;
	.box-shadow(20px);
	.border-radius(20px);
	background-color: #34c;
	color: #fff;

	background-image: url(shiny.png);
	background-repeat: repeat-x;
	background-position: top left;
	background-size: 100% 20px;

	-webkit-transition: -webkit-transform .4s ease-in, opacity .4s ease-in;
	-moz-transition: -moz-transform .4s ease-in, opacity .4s ease-in;
	-o-transition: -o-transform .4s ease-in, opacity .4s ease-in;
	-ms-transition: -m-transform .4s ease-in, opacity .4s ease-in;
	
	-webkit-transform: scale(.5);
	-moz-transform: scale(.5);
	-o-transform: scale(.5);
	-ms-transform: scale(.5);

	max-width: 280px;
	margin: 0 auto;
	opacity: 0;
}
jopopup > jolist > *.select:first-child
jopopup > jomenu > *.select:first-child
{
	border-top: none;
	.round-top(20px);
}
jopopup > jolist > *:last-child.select
jopopup > jomenu > *:first-child.select
{
	border-bottom: none;
	.round-bottom(20px);
}

jopopup.show {
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-o-transform: scale(1);
	-ms-transform: scale(1);
	opacity: 1;
}

jopopup > joscroller {
	width: 100%;
}

jonavbar {
	.imagebg(url(shiny-split.png));
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
	color: #fff;
	border-top: none;
	border-right: none;
	border-left: none;
	text-align: center;
	.noflex;
	background-color: #333;
	cursor: default;
}

jonavbar > joview {
	display: block;
	text-align: center;
	padding: 10px 0;
}

jonavbar > joflexrow {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

jobackbutton {
	background: transparent url(back-mini.png) 10px center no-repeat;
	border: 1px solid rgba(0, 0, 0, .3);
	border-bottom-color: rgba(255, 255, 255, .3);
	padding: 5px 10px 5px 20px;
	margin: 5px 10px;
	.border-radius(5px);
	.box-inset(1px, rgba(255, 255, 255, .6));
	display: none;
	color: #ddd;
}

jobackbutton.focus, jobackbutton.selected {
	background-color: rgba(0, 0, 0, .5);
}

jobackbutton.active {
	display: block;
}

jonavbar > joflexrow > * {
	.flexible;
}
	
jonavbar > joflexrow > jobackbutton {
	.noflex;
	max-width: 4em;
}

jopopup > jotitle {
	color: #fff;
	.round-top(20px);
	background: transparent;
}

jopopup > jobutton {
	background-color: rgba(255, 255, 255, .4);
}

jocontainer {
}

joflexcol {
	height: 100%;
	width: 100%;
}

body > jocontainer, body > jocard, body > joview, body > joflexcol, body > joscroller, body > jostack {
	position: absolute;
	top: 0; left: 0; bottom: 0; right: 0;
}
