/* Global loading */
.ply-global-loading {
	top: 50%;
	left: 50%;
	padding: 30px;
	width: 60px;
	height: 60px;
	margin: -100px 0 0 -60px;
	z-index: 100000;
	position: fixed;
	border-radius: 10%;
	background-color: rgba(255,255,255,.5);
	box-shadow: 0 1px 2px rgba(0,0,0,.2);
}

.ply-loading-spinner {
    width: 100%;
    height: 100%;
    opacity: .9;
	background: #fff;
	border-radius: 100%;
	overflow: hidden;
	position: relative;
	box-shadow: 0 1px 3px rgba(0,0,0,.6);
}

.ply-loading-spinner::before {
	content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #333;
    max-height: 0;
    -webkit-animation: loading 3s normal infinite;
    animation: loading 3s normal infinite;
}

@keyframes loading {
  0%   { max-height: 0; }
  50%  { max-height: 100%; top: 0; }
  100% { max-height: 0; top: 120%; }
}

@-webkit-keyframes loading {
  0%   { max-height: 0; }
  50%  { max-height: 100%; top: 0; }
  100% { max-height: 0; top: 120%; }
}


/* Layer */
.ply-layer {
	color: #333;
	min-width: 280px;
	box-shadow: 0 0 3px rgba(0,0,0,.3);
	background-color: #fff;
	border-radius: 2px;
	font-size: 16px;
	font-family: "Arial", Helvetica;
}
	.ply-layer.alert .ply-content,
	.ply-layer.confirm .ply-content {
		padding: 20px 0 15px;
		text-align: center;
	}

	.ply-layer.base .ply-footer,
	.ply-layer.alert .ply-footer,
	.ply-layer.confirm .ply-footer,
	.ply-layer.prompt .ply-footer {
		margin-top: 20px;
		text-align: center;
	}

.ply-inside {
	padding: 20px;
}

.ply-header {
	margin: -20px -20px 20px;
	padding: 10px 20px;
	font-size: 18px;
	background-color: #f1f1f1;
	border-radius: 2px 2px 0 0;
}

.ply-content {
}

.ply-footer {
}
	.ply-footer .ply-ctrl {
		margin-left: 20px;
	}
	.ply-footer .ply-ctrl:first-child {
		margin-left: 0;
	}


/* Controls */
.ply-x {
	top: 12px;
	right: 5px;
	cursor: pointer;
	padding: 5px;
	z-index: 1000;
	position: absolute;
	font-size: 20px;
	line-height: 0;
}

.ply-ok,
.ply-cancel {
	color: #fff;
	cursor: pointer;
	border: 0;
	outline: 0;
	padding: 5px 20px;
	box-shadow: 0 1px 1px rgba(0,0,0,.2);
	background-color: #39C082;
	border-radius: 3px;
	font-size: 18px;
}

.ply-ok {
	width: 100px;
}

.ply-cancel {
	background-color: #b2b2b2;
}
	.ply-ok:focus,
	.ply-cancel:focus {
		box-shadow: 0 0 1px 2px rgba(255, 180, 0, .6);
		border: 2px solid rgb(255, 210, 102)\9;
	}

.ply-ok::-moz-focus-inner,
.ply-cancel::-moz-focus-inner {
	border: 0;
}



/* Forms */
.ply-input {
	width: 100%;
	border: 2px solid #ccc;
	outline: 0;
	padding: 5px 10px;
	margin-top: 15px;
	font-size: 16px;
	font-family: "Arial", Helvetica;
	box-sizing: border-box;
}
	.ply-input:first-child {
		margin-top: 0;
	}

	.ply-input:focus {
		border-color: #39C082;
	}



/* Global modifiers */
.ply-invalid .ply-input {
	border-color: #c00;
}

.ply-loading:before {
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: block;
	content: '';
	position: absolute;
}

.ply-loading .ply-ok {
	color: rgba(255,255,255,.7);
	-webkit-animation: ply-ok-loading 1s linear infinite;
	   -moz-animation: ply-ok-loading 1s linear infinite;
	        animation: ply-ok-loading 1s linear infinite;
	-webkit-background-size: 30px 30px;
       -moz-background-size: 30px 30px;
	        background-size: 30px 30px;
	background-image: -webkit-gradient(linear, left top, right bottom,
						color-stop(.25, rgba(255, 255, 255, .15)), color-stop(.25, transparent),
						color-stop(.5, transparent), color-stop(.5, rgba(255, 255, 255, .15)),
						color-stop(.75, rgba(255, 255, 255, .15)), color-stop(.75, transparent),
						to(transparent));
	background-image: -webkit-linear-gradient(135deg, rgba(255, 255, 255, .15) 25%, transparent 25%,
						transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%,
						transparent 75%, transparent);
	background-image: -moz-linear-gradient(135deg, rgba(255, 255, 255, .15) 25%, transparent 25%,
						transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%,
						transparent 75%, transparent);
	background-image: -ms-linear-gradient(135deg, rgba(255, 255, 255, .15) 25%, transparent 25%,
						transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%,
						transparent 75%, transparent);
	background-image: -o-linear-gradient(135deg, rgba(255, 255, 255, .15) 25%, transparent 25%,
						transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%,
						transparent 75%, transparent);
	background-image: linear-gradient(135deg, rgba(255, 255, 255, .15) 25%, transparent 25%,
						transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%,
						transparent 75%, transparent);
}

@-webkit-keyframes ply-ok-loading {
	to { background-position: 60px; }
}

@-moz-keyframes ply-ok-loading {
	to { background-position: 60px; }
}

@keyframes ply-ok-loading {
	to { background-position: 60px; }
}