.apiz-wrapper {
	overflow: hidden;
	position: relative;
	font-size: 30px;
	width: 100%;
	height: 100%;
	}

.apiz-wrapper,
.apiz-wrapper * {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	     -o-user-select: none;
	        user-select: none;
	}

	.apiz-wrapper > img:first-child {
		position: absolute;
		z-index: 5;
		left: 50%;
		top: 50%;
		-webkit-transform-origin: 0 0 0;
		   -moz-transform-origin: 0 0 0;
		    -ms-transform-origin: 0 0 0;
		     -o-transform-origin: 0 0 0;
		        transform-origin: 0 0 0;
		}

	.apiz-wrapper > .apiz-overlay {
		position: absolute;
		z-index: 10;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		/* you studid, studid IE... */
		/* http://stackoverflow.com/questions/9109911/ie-z-index-trouble-on-element-with-transparent-background */
		background: transparent url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBR‌​AA7");
		}

	.apiz-enabled > .apiz-overlay {
		cursor: move;
		cursor: grab;
		cursor: url('lib/css/openhand.cur'), move; /* for IE */
		cursor: url(openhand.cur) 4 4, move;
		cursor: -moz-grab;
		}

	.apiz-enabled.apiz-dragging > .apiz-overlay {
		cursor: move;
		cursor: grab;
		cursor: url('lib/css/closedhand.cur'), move; /* for IE */
		cursor: url(closedhand.cur) 4 4, move;
		cursor: -moz-grabbing;
		}

	.apiz-loading > .apiz-overlay {
		cursor: progress;
		}

	.apiz-disabled > .apiz-overlay {
		cursor: default;
		}

	.apiz-wrapper .apiz-error-message {
		color: #e0e0e0;
		font-size: 80px;
		line-height: 100px;
		text-align: center;
		margin: 40px 0 0 0;
		}

	.apiz-wrapper .apiz-loading-animation-text {
		position: absolute;
		z-index: 1;
		width: 100%;
		text-align: center;
		top: 49%;
		}

	.apiz-wrapper .apiz-loading-animation-image {
		position: relative;
		z-index: 1;
		width: 100%;
		height: 100%;
		background-position: center center;
		background-color: transparent;
		background-repeat: no-repeat;
		}

	/* Throbber animation inspired by http://codepen.io/argyleink/pen/goyiI */

	.apiz-wrapper .apiz-throbber {
		position: absolute;
		z-index: 1;
		top: 50%;
		left: 50%;
		margin: -90px 0 0 -90px;
		}

		.apiz-wrapper .apiz-throbber > .apiz-circle {
			/* absolute position with 3d animation = render layer */
			position: absolute;

			border: 3px solid transparent;
			border-top: 3px solid #5f5c5c;
			border-radius: 50%;
			}

		.apiz-wrapper .apiz-throbber > .apiz-circle.apiz-circle-one {
			height: 50px;
			width: 50px;
			left: 50px;
			top: 50px;
			-webkit-animation: 1.0s throbberRotateOne linear infinite;
			   -moz-animation: 1.0s throbberRotateOne linear infinite;
			    -ms-animation: 1.0s throbberRotateOne linear infinite;
			     -o-animation: 1.0s throbberRotateOne linear infinite;
			        animation: 1.0s throbberRotateOne linear infinite;
			}

		.apiz-wrapper .apiz-throbber > .apiz-circle.apiz-circle-two {
			height: 75px;
			width: 75px;
			top: 38px;
			left: 38px;
			-webkit-animation: 1.05s throbberRotateTwo linear infinite;
			   -moz-animation: 1.05s throbberRotateTwo linear infinite;
			    -ms-animation: 1.05s throbberRotateTwo linear infinite;
			     -o-animation: 1.05s throbberRotateTwo linear infinite;
			        animation: 1.05s throbberRotateTwo linear infinite;
			}

		.apiz-wrapper .apiz-throbber > .apiz-circle.apiz-circle-three {
			height: 100px;
			width: 100px;
			top: 25px;
			left: 25px;
			-webkit-animation: 1.1s throbberRotateThree linear infinite;
			   -moz-animation: 1.1s throbberRotateThree linear infinite;
			    -ms-animation: 1.1s throbberRotateThree linear infinite;
			     -o-animation: 1.1s throbberRotateThree linear infinite;
			        animation: 1.1s throbberRotateThree linear infinite;
			}

		/* Ring one */

		@-webkit-keyframes throbberRotateOne {
			from { transform: rotateZ(280deg); }
			to { transform: rotateZ(-80deg); }
			}

		@-moz-keyframes throbberRotateOne {
			from { transform: rotateZ(280deg); }
			to { transform: rotateZ(-80deg); }
			}

		@-ms-keyframes throbberRotateOne {
			from { transform: rotateZ(280deg); }
			to { transform: rotateZ(-80deg); }
			}

		@-o-keyframes throbberRotateOne {
			from { transform: rotateZ(280deg); }
			to { transform: rotateZ(-80deg); }
			}

		@keyframes throbberRotateOne {
			from { transform: rotateZ(280deg); }
			to { transform: rotateZ(-80deg); }
			}

		/* Ring two */

		@-webkit-keyframes throbberRotateTwo {
			from { transform: rotateZ(320deg); }
			to { transform: rotateZ(-20deg); }
			}

		@-moz-keyframes throbberRotateTwo {
			from { transform: rotateZ(320deg); }
			to { transform: rotateZ(-20deg); }
			}

		@-ms-keyframes throbberRotateTwo {
			from { transform: rotateZ(320deg); }
			to { transform: rotateZ(-20deg); }
			}

		@-o-keyframes throbberRotateTwo {
			from { transform: rotateZ(320deg); }
			to { transform: rotateZ(-20deg); }
			}

		@keyframes throbberRotateTwo {
			from { transform: rotateZ(320deg); }
			to { transform: rotateZ(-20deg); }
			}

		/* Ring three */

		@-webkit-keyframes throbberRotateThree {
			from { transform: rotateZ(360deg); }
			to { transform: rotateZ(0deg); }
			}

		@-moz-keyframes throbberRotateThree {
			from { transform: rotateZ(360deg); }
			to { transform: rotateZ(0deg); }
			}

		@-ms-keyframes throbberRotateThree {
			from { transform: rotateZ(360deg); }
			to { transform: rotateZ(0deg); }
			}

		@-o-keyframes throbberRotateThree {
			from { transform: rotateZ(360deg); }
			to { transform: rotateZ(0deg); }
			}

		@keyframes throbberRotateThree {
			from { transform: rotateZ(360deg); }
			to { transform: rotateZ(0deg); }
			}
