[canvas=container], [off-canvas] {
	margin: 0;
	padding: 0;
}

[canvas] {
	z-index: 1;
}

[canvas=container] {
	width: 100%;
	overflow-y: scroll;
	overflow-x: hidden;
	position: relative;
	background-color: #FFFFFF; /* Basic background color, overwrite this in your own css. */
}

[canvas=container]:before, [canvas=container]:after {
	clear: both;
	content: '';
	display: table;
}

[off-canvas] {
	display: none;
	position: fixed;
}

[off-canvas*=top] {
	width: 100%;
	height: 255px;
	top: 0;
}

[off-canvas*=bottom] {
	width: 100%;
	height: 255px;
	bottom: 0;
}

[off-canvas*=left] {
	top: 0;
	left: 0;
}

[off-canvas*=right] {
	top: 0;
	right: 0;
}


/**
 * Animation
 */

[canvas], [off-canvas] {
	-webkit-backface-visibility: hidden; /* Prevents flickering, may be removed if experiencing problems with fixed background images in Chrome. */
	backface-visibility: hidden;
}

[off-canvas*=shift][off-canvas*=top] {
	-webkit-transform: translate( 0px, 50% );
	        transform: translate( 0px, 50% );
}

[off-canvas*=shift][off-canvas*=right] {
	-webkit-transform: translate( -50%, 0px );
	        transform: translate( -50%, 0px );
}

[off-canvas*=shift][off-canvas*=bottom] {
	-webkit-transform: translate( 0px, -50% );
	        transform: translate( 0px, -50% );
}

[off-canvas*=shift][off-canvas*=left] {
	-webkit-transform: translate( 0px, 0px );
	        transform: translate( 0px, 0px );
}

@media print {
	[off-canvas] {
		display: none !important;
	}
}