$i_c: rgba(#000, 0.3);
$i_w: 42px;
$i_h: 42px;
$c_succ: #4a7;
$c_warn: #cc0;
$c_error: #d10;
$c_info: #07d;
@mixin bs1 {
	box-shadow: 0 1px 3px 0 rgba(#000, 0.12);
}
@mixin bs2 {
	box-shadow: 0 2px 6px 0 rgba(#000, 0.18);
}
@mixin bs3 {
	box-shadow: 0 1px 3px 0 rgba(#000, 0.23);
}
@keyframes vicp_progress {
	0% {
		background-position-y: 0;
	}

	100% {
		background-position-y: 40px;
	}
}
@keyframes vicp {
	0% {
		opacity: 0;
		transform: scale(0) translatey(-60px);
	}

	100% {
		opacity: 1;
		transform: scale(1) translatey(0);
	}
}

.vue-image-crop-upload {
	position: fixed;
	display: block;
	box-sizing: border-box;
	z-index: 10000;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(#000, 0.65);
	-webkit-tap-highlight-color: transparent;
	-moz-tap-highlight-color: transparent;

	.vicp-wrap {
		@include bs3;
		position: fixed;
		display: block;
		box-sizing: border-box;
		z-index: 10000;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		width: 600px;
		height: 330px;
		padding: 25px;
		background-color: #fff;
		border-radius: 2px;
		animation: vicp 0.12s ease-in;

		.vicp-close {
			position: absolute;
			right: -30px;
			top: -30px;

			.vicp-icon4 {
				position: relative;
				display: block;
				width: 30px;
				height: 30px;
				cursor: pointer;
				transition: transform 0.18s;
				transform: rotate(0);

				&::after,
				&::before {
					@include bs3;
					content: '';
					position: absolute;
					top: 12px;
					left: 4px;
					width: 20px;
					height: 3px;
					transform: rotate(45deg);
					background-color: #fff;
				}

				&::after {
					transform: rotate(-45deg);
				}

				&:hover {
					transform: rotate(90deg);
				}
			}
		}

		.vicp-step1 {
			.vicp-drop-area {
				position: relative;
				box-sizing: border-box;
				padding: 35px;
				height: 170px;
				background-color: rgba(0, 0, 0, 0.03);
				text-align: center;
				border: 1px dashed rgba(0, 0, 0, 0.08);
				overflow: hidden;

				// 上传图标
				.vicp-icon1 {
					display: block;
					margin: 0 auto 6px;
					width: $i_w;
					height: $i_h;
					overflow: hidden;

					.vicp-icon1-arrow {
						display: block;
						margin: 0 auto;
						width: 0;
						height: 0;
						border-bottom: $i_h * 0.35 solid $i_c;
						border-left: $i_h * 0.35 solid transparent;
						border-right: $i_h * 0.35 solid transparent;
					}

					.vicp-icon1-body {
						display: block;
						width: $i_w * 0.3;
						height: $i_h * 0.35;
						margin: 0 auto;
						background-color: $i_c;
					}

					.vicp-icon1-bottom {
						box-sizing: border-box;
						display: block;
						height: $i_h * 0.3;
						border: 6px solid $i_c;
						border-top: none;
					}
				}

				.vicp-hint {
					display: block;
					padding: 15px;
					font-size: 14px;
					color: #666;
					line-height: 30px;
				}

				.vicp-no-supported-hint {
					display: block;
					position: absolute;
					top: 0;
					left: 0;
					padding: 30px;
					width: 100%;
					height: 60px;
					line-height: 30px;
					background-color: #eee;
					text-align: center;
					color: #666;
					font-size: 14px;
				}

				&:hover {
					cursor: pointer;
					border-color: rgba(0, 0, 0, 0.1);
					background-color: rgba(0, 0, 0, 0.05);
				}
			}
		}

		.vicp-step2 {
			.vicp-crop {
				overflow: hidden;

				.vicp-crop-left {
					float: left;

					.vicp-img-container {
						position: relative;
						display: block;
						width: 240px;
						height: 180px;
						background-color: #e5e5e0;
						overflow: hidden;

						.vicp-img {
							position: absolute;
							display: block;
							cursor: move;
							user-select: none;
						}

						.vicp-img-shade {
							@include bs2;
							position: absolute;
							background-color: rgba(#f1f2f3, 0.8);

							&.vicp-img-shade-1 {
								top: 0;
								left: 0;
							}

							&.vicp-img-shade-2 {
								bottom: 0;
								right: 0;
							}
						}
					}

					.vicp-rotate {
						position: relative;
						width: 240px;
						height: 18px;

						i {
							display: block;
							width: 18px;
							height: 18px;
							border-radius: 100%;
							line-height: 18px;
							text-align: center;
							font-size: 12px;
							font-weight: bold;
							background-color: rgba(#000, 0.08);
							color: #fff;
							overflow: hidden;

							&:hover {
								@include bs1;
								cursor: pointer;
								background-color: rgba(#000, 0.14);
							}

							&:first-child {
								float: left;
							}

							&:last-child {
								float: right;
							}
						}
					}

					.vicp-range {
						position: relative;
						margin: 30px 0 10px 0;
						width: 240px;
						height: 18px;

						.vicp-icon5,
						.vicp-icon6 {
							position: absolute;
							top: 0;
							width: 18px;
							height: 18px;
							border-radius: 100%;
							background-color: rgba(#000, 0.08);

							&:hover {
								@include bs1;
								cursor: pointer;
								background-color: rgba(#000, 0.14);
							}
						}

						// 减号
						.vicp-icon5 {
							left: 0;

							&::before {
								position: absolute;
								content: '';
								display: block;
								left: 3px;
								top: 8px;
								width: 12px;
								height: 2px;
								background-color: #fff;
							}
						}
						// 加号
						.vicp-icon6 {
							right: 0;

							&::before {
								position: absolute;
								content: '';
								display: block;
								left: 3px;
								top: 8px;
								width: 12px;
								height: 2px;
								background-color: #fff;
							}

							&::after {
								position: absolute;
								content: '';
								display: block;
								top: 3px;
								left: 8px;
								width: 2px;
								height: 12px;
								background-color: #fff;
							}
						}

						input[type=range] {
							display: block;
							padding-top: 5px;
							margin: 0 auto;
							width: 180px;
							height: 8px;
							vertical-align: top;
							background: transparent;
							appearance: none;
							cursor: pointer;

							&:focus {
								outline: none;
							}

							/* 滑块
							 ---------------------------------------------------------------*/
							&::-webkit-slider-thumb {
								@include bs2;
								appearance: none;
								margin-top: -3px;
								width: 12px;
								height: 12px;
								background-color: lighten($c_succ, 10);
								border-radius: 100%;
								border: none;
								transition: 0.2s;
							}

							&::-moz-range-thumb {
								@include bs2;
								appearance: none;
								width: 12px;
								height: 12px;
								background-color: lighten($c_succ, 10);
								border-radius: 100%;
								border: none;
								transition: 0.2s;
							}

							&::-ms-thumb {
								@include bs2;
								appearance: none;
								width: 12px;
								height: 12px;
								background-color: lighten($c_succ, 10);
								border: none;
								border-radius: 100%;
								transition: 0.2s;
							}

							&:active {
								&::-moz-range-thumb {
									@include bs3;
									width: 14px;
									height: 14px;
								}

								&::-ms-thumb {
									@include bs3;
									width: 14px;
									height: 14px;
								}

								&::-webkit-slider-thumb {
									@include bs3;
									margin-top: -4px;
									width: 14px;
									height: 14px;
								}
							}

							/* 轨道
							 ---------------------------------------------------------------*/
							&::-webkit-slider-runnable-track {
								@include bs1;
								width: 100%;
								height: 6px;
								cursor: pointer;
								border-radius: 2px;
								border: none;
								background-color: rgba($c_succ, 0.3);
							}

							&::-moz-range-track {
								@include bs1;
								width: 100%;
								height: 6px;
								cursor: pointer;
								border-radius: 2px;
								border: none;
								background-color: rgba($c_succ, 0.3);
							}

							&::-ms-track {
								@include bs1;
								width: 100%;
								cursor: pointer;
								background: transparent;
								border-color: transparent;
								color: transparent;
								height: 6px;
								border-radius: 2px;
								border: none;
							}

							&::-ms-fill-lower {
								background-color: rgba($c_succ, 0.3);
							}

							&::-ms-fill-upper {
								background-color: rgba($c_succ, 0.15);
							}

							&:focus {
								&::-webkit-slider-runnable-track {
									background-color: rgba($c_succ, 0.5);
								}

								&::-moz-range-track {
									background-color: rgba($c_succ, 0.5);
								}

								&::-ms-fill-lower {
									background-color: rgba($c_succ, 0.45);
								}

								&::-ms-fill-upper {
									background-color: rgba($c_succ, 0.25);
								}
							}
						}
					}
				}

				.vicp-crop-right {
					float: right;

					.vicp-preview {
						height: 150px;
						overflow: hidden;

						.vicp-preview-item {
							position: relative;
							padding: 5px;
							width: 100px;
							height: 100px;
							float: left;
							margin-right: 16px;

							span {
								position: absolute;
								bottom: -30px;
								width: 100%;
								font-size: 14px;
								color: #bbb;
								display: block;
								text-align: center;
							}

							img {
								position: absolute;
								display: block;
								top: 0;
								bottom: 0;
								left: 0;
								right: 0;
								margin: auto;
								padding: 3px;
								background-color: #fff;
								border: 1px solid rgba(#000, 0.15);
								overflow: hidden;
								user-select: none;
							}

							&.vicp-preview-item-circle {
								margin-right: 0;

								img {
									border-radius: 100%;
								}
							}
						}
					}
				}
			}
		}

		.vicp-step3 {
			.vicp-upload {
				position: relative;
				box-sizing: border-box;
				padding: 35px;
				height: 170px;
				background-color: rgba(0, 0, 0, 0.03);
				text-align: center;
				border: 1px dashed #ddd;

				.vicp-loading {
					display: block;
					padding: 15px;
					font-size: 16px;
					color: #999;
					line-height: 30px;
				}

				.vicp-progress-wrap {
					margin-top: 12px;
					background-color: rgba(#000, 0.08);
					border-radius: 3px;

					.vicp-progress {
						position: relative;
						display: block;
						height: 5px;
						border-radius: 3px;
						background-color: $c_succ;
						box-shadow: 0 2px 6px 0 rgba($c_succ, 0.3);
						transition: width 0.15s linear;
						background-image: linear-gradient(-45deg, rgba(#fff, 0.2) 25%, transparent 25%, transparent 50%, rgba(#fff, 0.2) 50%, rgba(#fff, 0.2) 75%, transparent 75%, transparent);
						background-size: 40px 40px;
						animation: vicp_progress 0.5s linear infinite;

						&::after {
							content: '';
							position: absolute;
							display: block;
							top: -3px;
							right: -3px;
							width: 9px;
							height: 9px;
							border: 1px solid rgba(#f5f6f7, 0.7);
							box-shadow: 0 1px 4px 0 rgba($c_succ, 0.7);
							border-radius: 100%;
							background-color: $c_succ;
						}
					}
				}

				.vicp-error,
				.vicp-success {
					height: 100px;
					line-height: 100px;
				}
			}
		}

		.vicp-operate {
			position: absolute;
			right: 20px;
			bottom: 20px;

			a {
				position: relative;
				float: left;
				display: block;
				margin-left: 10px;
				width: 100px;
				height: 36px;
				line-height: 36px;
				text-align: center;
				cursor: pointer;
				font-size: 14px;
				color: $c_succ;
				border-radius: 2px;
				overflow: hidden;
				user-select: none;

				&:hover {
					background-color: rgba(#000, 0.03);
				}
			}
		}

		.vicp-error,
		.vicp-success {
			display: block;
			font-size: 14px;
			line-height: 24px;
			height: 24px;
			color: $c_error;
			text-align: center;
			vertical-align: top;
		}

		.vicp-success {
			color: $c_succ;
		}

		// 成功图标
		.vicp-icon3 {
			position: relative;
			display: inline-block;
			width: 20px;
			height: 20px;
			top: 4px;

			&::after {
				position: absolute;
				top: 3px;
				left: 6px;
				width: 6px;
				height: 10px;
				border-width: 0 2px 2px 0;
				border-color: $c_succ;
				border-style: solid;
				transform: rotate(45deg);
				content: '';
			}
		}

		// 错误图标
		.vicp-icon2 {
			position: relative;
			display: inline-block;
			width: 20px;
			height: 20px;
			top: 4px;

			&::after,
			&::before {
				content: '';
				position: absolute;
				top: 9px;
				left: 4px;
				width: 13px;
				height: 2px;
				background-color: $c_error;
				transform: rotate(45deg);
			}

			&::after {
				transform: rotate(-45deg);
			}
		}
	}
}

// 波纹效果
.e-ripple {
	position: absolute;
	border-radius: 100%;
	background-color: rgba(0, 0, 0, 0.15);
	background-clip: padding-box;
	pointer-events: none;
	user-select: none;
	transform: scale(0);
	opacity: 1;

	&.z-active {
		opacity: 0;
		transform: scale(2);
		transition: opacity 1.2s ease-out, transform 0.6s ease-out;
	}
}
