a,
img {
	-webkit-touch-callout: none;
}

html,
body {
	overflow: hidden;
	height: 100%;
}

body {
	position: relative;
	-webkit-user-select: none;
	user-select: none;
	-ms-touch-action: none;
}

.overhidden {
	overflow: hidden !important;
}

/*页面loading*/
.mask {
	z-index: 10;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	position: absolute;
	background: rgba(0, 0, 0, .35);
	opacity: 1;
	-webkit-animation-duration: 225ms;
	-webkit-animation-name: fadein;
	animation-duration: 225ms;
	animation-name: fadein;
}

.mask-loading {
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	position: absolute;
	margin: auto;
	display: block;
	width: 100px;
	height: 60px;
	line-height: 60px;
	text-align: center;
	border-radius: 10px;
	background: rgba(0, 0, 0, .9);
	font-style: normal;
}

.mask-loading:before {
	content: "Loading...";
	color: #fff;
	font-size: 14px;
}

.ani {
	-webkit-animation: .3s ease-in-out;
	-webkit-animation-fill-mode: both;
	animation: .3s ease-in-out;
	animation-fill-mode: both;
}

/* BEGIN: 页面基础状态只表达“可见/不可见”，不内置任何具体动画方向 */
.page-view {
	top: 0;
	left: 0;
	position: absolute;
	width: 100%;
	height: 100%;
	overflow: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
}

.page-view.in {
	visibility: visible;
}

.page-view.out {
	pointer-events: none;
}

.page-view.out:not(.ani) {
	visibility: hidden;
}

.page-view.route-view-hidden {
	visibility: hidden !important;
}

/* END: 页面基础状态 */
.page-view.on-out .mask {
	visibility: hidden !important;
}

@-webkit-keyframes fadein {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes fadein {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}