/**
 * ************************************************************************************************************************
 * ** 样式统一
 * ************************************************************************************************************************
 */
/* 清空元素默认的内外边距，并统一元素的盒子类型 */
*,
::before,
::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/* 统一标题字体 */
h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
	font-weight: 300;
}

/* 统一块级标签 */
article,
aside,
dialog,
figure,
footer,
header,
hgroup,
nav,
section,
blockquote {
	display: block;
}

/* 清除列表符号 */
ul,
ol,
li {
	list-style: none;
}

/* 统一图片样式 */
img {
	border: 0 none;
	vertical-align: top;
	font-size: 0;
}

/* 统一嵌套引用的样式 */
blockquote,
q {
	quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
	content: none;
}

/* 统一表格样式 */
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* 统一加粗标签的样式 */
strong,
em,
i {
	font-style: normal;
	font-weight: inherit;
}

/* 统一插入删除标签的样式 */
ins {
	text-decoration: underline;
}
del {
	text-decoration: line-through;
}

/* 统一记号标签的样式 */
mark {
	background: none;
}

/* 统一输入框样式 */
input::-ms-clear {
	display: none !important;
}

/* 平滑滚动 */
html {
	scroll-behavior: smooth;
	width: 100%;
	overflow-x: hidden;
}

/* 统一全局默认字体 */
body {
	font-size: 0.32rem;
	color: #333333;
	width: 100%;
}

/* 统一链接样式 */
a {
	text-decoration: none;
	color: #333333;
}

/* 让字体图标尺寸默认同父元素尺寸大小 */
.proj-icon,
.proj-icon {
	font-size: inherit;
}

/* v-cloak */
[v-cloak] {
	opacity: 0 !important;
}

/**
 * ************************************************************************************************************************
 * ** 辅助类
 * ************************************************************************************************************************
 */
/* rem */
.hi-rem {
	font-size: calc(100vw * 100 / 1920);
}

/* 色彩 */
/* 主题色 */
.hi-color-theme {
	color: #005fe6;
}

/* 行为效果 */
.hi-disabled,
.hi-hover,
.hi-active {
	transition: 0.2s;
}

/* 禁用 */
.hi-disabled {
	opacity: 0.5;
	pointer-events: none;
}

/* 悬浮 */
.hi-hover:not(.hi-disabled):hover {
	opacity: 0.8;
}

/* 激活 */
.hi-active:not(.hi-disabled):active {
	opacity: 0.7;
}

/* 背景图裁剪模式 */
.hi-bg-cover {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.hi-bg-contain {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}

/* 边框 */
/* 默认实线1px边框 */
.hi-border {
	border-width: 1px;
	border-color: #f2f6fc;
	border-style: solid;
}
/* 虚线 */
.hi-border-dashed {
	border-style: dashed;
}
/* 点线 */
.hi-border-dotted {
	border-style: dotted;
}
/* 一级加深 */
.hi-border-deep {
	border-color: #ebeef5;
}
/* 二级加深 */
.hi-border-deeper {
	border-color: #ebeef5;
}
/* 三级加深 */
.hi-border-deepest {
	border-color: #dcdfe6;
}
/* 只有上边框 */
.hi-border-top {
	border-left: none;
	border-right: none;
	border-bottom: none;
}
/* 只有右边框 */
.hi-border-right {
	border-left: none;
	border-top: none;
	border-bottom: none;
}
/* 只有下边框 */
.hi-border-bottom {
	border-left: none;
	border-right: none;
	border-top: none;
}
/* 只有左边框 */
.hi-border-left {
	border-top: none;
	border-right: none;
	border-bottom: none;
}

/* 文字加粗 */
.hi-bold {
	font-weight: 700;
}

/* 文本对齐方式 */
.hi-text-left {
	text-align: left;
}
.hi-text-center {
	text-align: center;
}
.hi-text-right {
	text-align: right;
}
.hi-text-justify {
	text-align: justify;
}

/* 垂直对齐方式 */
.hi-vertical-top {
	vertical-align: top;
}
.hi-vertical-middle {
	vertical-align: middle;
}
.hi-vertical-bottom {
	vertical-align: bottom;
}

/* 行高 */
/* 默认 */
.hi-line-height {
	/* 根据设计规范,通常将行高设置为字体大小+8px */
	line-height: calc(1em + 8px);
}

/* 无 */
.hi-line-height-none {
	line-height: 1;
}

/* 紧凑 */
.hi-line-height-compact {
	line-height: 1.25;
}

/* 宽松 */
.hi-line-height-easy {
	line-height: 1.75;
}

/* 文本装饰效果 */
/* 下划线 */
.hi-underline {
	text-decoration: underline;
}
/* 上划线 */
.hi-overline {
	text-decoration: overline;
}
/* 删除线 */
.hi-deleteline {
	text-decoration: line-through;
}

/* 元素定位类型 */
.hi-static {
	position: static;
}
.hi-relative {
	position: relative;
}
.hi-absolute {
	position: absolute;
}
.hi-fixed {
	position: fixed;
}
.hi-sticky {
	position: -webkit-sticky;
	position: sticky;
}

/* 圆角 */
/* 默认 */
.hi-radius {
	border-radius: 10px;
}
/* 小 */
.hi-radius-sm {
	border-radius: 5px;
}
/* 大 */
.hi-radius-lg {
	border-radius: 15px;
}
/* 圆 */
.hi-radius-circle {
	border-radius: 50%;
}

/* 溢出方式 */
.hi-hidden {
	overflow: hidden;
}
.hi-hidden-x {
	overflow-x: hidden;
}
.hi-hidden-y {
	overflow-y: hidden;
}

/* 元素类型 */
.hi-inline {
	display: inline;
}
.hi-block {
	display: block;
}
.hi-inline-block {
	display: inline-block;
}
.hi-inline-flex {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
}

/* 阴影 */
.hi-shadow {
	box-shadow: 0px 20px 20px rgba(0, 0, 0, 0.1);
}

/* 布局 - 主内容区域 */
.hi-layout {
	max-width: 1400px;
	margin: 0 auto;
}
@media screen and (max-width: 1400px) {
	.hi-layout {
		padding-left: 15px;
		padding-right: 15px;
	}
}

/* List */
.hi-list {
	width: 100%;
	overflow: hidden;
}
.hi-list .hi-list-wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: calc(100% + 16px);
	margin: -8px;
}
.hi-list .hi-list-item {
	padding: 8px;
}
.hi-list-2-column .hi-list-item {
	width: 50%;
}
.hi-list-3-column .hi-list-item {
	width: 33.33333333%;
}
.hi-list-4-column .hi-list-item {
	width: 25%;
}
.hi-list-5-column .hi-list-item {
	width: 20%;
}
.hi-list-6-column .hi-list-item {
	width: 16.66666666%;
}

/* 按钮 */
.hi-button {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-size: 16px;
	padding: 0.6em 1.5em;
	cursor: pointer;
	border: none;
	outline: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	color: #363636;
	background-color: #fff;
	border-radius: 4px;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
.hi-button:not(.disabled):hover,
.hi-button:not(.hi-button__disabled)::after {
	opacity: 0.9;
}
.hi-button__icon {
	font-size: inherit;
	margin-right: 0.3em;
	color: inherit;
}
.hi-button__disabled {
	pointer-events: none;
	opacity: 0.5;
}
.hi-button__round {
	border-radius: 10em;
}
.hi-button__bigger {
	padding: 0.8em 1.8em;
}
.hi-button__biggest {
	padding: 1em 2.2em;
}
.hi-button__smaller {
	padding: 0.4em 1.2em;
}
.hi-button__smallest {
	padding: 0.2em 0.8em;
}
.hi-button__block {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.hi-button__right-icon .hi-button__icon {
	margin-left: 0.3em;
	margin-right: 0;
}

/* 省略号 */
.hi-line-1 {
	text-overflow: -o-ellipsis-lastline;
	text-overflow: ellipsis;
	overflow: hidden;
	word-break: break-all;
	display: block;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	white-space: nowrap;
}
.hi-line-2 {
	text-overflow: -o-ellipsis-lastline;
	text-overflow: ellipsis;
	overflow: hidden;
	word-break: break-all;
	display: block;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
}
.hi-line-3 {
	text-overflow: -o-ellipsis-lastline;
	text-overflow: ellipsis;
	overflow: hidden;
	word-break: break-all;
	display: block;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
}
.hi-line-4 {
	text-overflow: -o-ellipsis-lastline;
	text-overflow: ellipsis;
	overflow: hidden;
	word-break: break-all;
	display: block;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	line-clamp: 4;
}
.hi-line-5 {
	text-overflow: -o-ellipsis-lastline;
	text-overflow: ellipsis;
	overflow: hidden;
	word-break: break-all;
	display: block;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
	line-clamp: 5;
}
.hi-line-6 {
	text-overflow: -o-ellipsis-lastline;
	text-overflow: ellipsis;
	overflow: hidden;
	word-break: break-all;
	display: block;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
	line-clamp: 6;
}
.hi-line-7 {
	text-overflow: -o-ellipsis-lastline;
	text-overflow: ellipsis;
	overflow: hidden;
	word-break: break-all;
	display: block;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 7;
	line-clamp: 7;
}
.hi-line-8 {
	text-overflow: -o-ellipsis-lastline;
	text-overflow: ellipsis;
	overflow: hidden;
	word-break: break-all;
	display: block;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 8;
	line-clamp: 8;
}
.hi-line-9 {
	text-overflow: -o-ellipsis-lastline;
	text-overflow: ellipsis;
	overflow: hidden;
	word-break: break-all;
	display: block;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 9;
	line-clamp: 9;
}
.hi-line-10 {
	text-overflow: -o-ellipsis-lastline;
	text-overflow: ellipsis;
	overflow: hidden;
	word-break: break-all;
	display: block;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 10;
	line-clamp: 10;
}

/* flex */
.hi-flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.hi-flex-row {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
}
.hi-flex-row-reverse {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
.hi-flex-column {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
.hi-flex-column-reverse {
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	-ms-flex-direction: column-reverse;
	flex-direction: column-reverse;
}
.hi-flex-nowrap {
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
}
.hi-flex-wrap {
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.hi-flex-wrap-reverse {
	-ms-flex-wrap: wrap-reverse;
	flex-wrap: wrap-reverse;
}
.hi-flex-center {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.hi-flex-align-items-center {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.hi-flex-align-items-start {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.hi-flex-align-items-end {
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
}
.hi-flex-align-items-baseline {
	-webkit-box-align: baseline;
	-ms-flex-align: baseline;
	align-items: baseline;
}
.hi-flex-align-content-center {
	-ms-flex-line-pack: center;
	align-content: center;
}
.hi-flex-align-content-start {
	-ms-flex-line-pack: start;
	align-content: flex-start;
}
.hi-flex-align-content-end {
	-ms-flex-line-pack: end;
	align-content: flex-end;
}
.hi-flex-align-content-between {
	-ms-flex-line-pack: justify;
	align-content: space-between;
}
.hi-flex-align-content-around {
	-ms-flex-line-pack: distribute;
	align-content: space-around;
}
.hi-flex-align-self-stretch {
	-ms-flex-item-align: stretch;
	-ms-grid-row-align: stretch;
	align-self: stretch;
}
.hi-flex-align-self-center {
	-ms-flex-item-align: center;
	-ms-grid-row-align: center;
	align-self: center;
}
.hi-flex-align-self-start {
	-ms-flex-item-align: start;
	align-self: flex-start;
}
.hi-flex-align-self-end {
	-ms-flex-item-align: end;
	align-self: flex-end;
}
.hi-flex-align-self-baseline {
	-ms-flex-item-align: baseline;
	align-self: baseline;
}
.hi-flex-justify-content-center {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.hi-flex-justify-content-start {
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}
.hi-flex-justify-content-end {
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}
.hi-flex-justify-content-between {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.hi-flex-justify-content-around {
	-ms-flex-pack: distribute;
	justify-content: space-around;
}
.hi-flex-justify-content-evenly {
	-webkit-box-pack: space-evenly;
	-ms-flex-pack: space-evenly;
	justify-content: space-evenly;
}
.hi-flex-grow-0 {
	-webkit-box-flex: 0;
	-ms-flex-positive: 0;
	flex-grow: 0;
}
.hi-flex-grow-1 {
	-webkit-box-flex: 1;
	-ms-flex-positive: 1;
	flex-grow: 1;
}
.hi-flex-grow-2 {
	-webkit-box-flex: 2;
	-ms-flex-positive: 2;
	flex-grow: 2;
}
.hi-flex-grow-3 {
	-webkit-box-flex: 3;
	-ms-flex-positive: 3;
	flex-grow: 3;
}
.hi-flex-grow-4 {
	-webkit-box-flex: 4;
	-ms-flex-positive: 4;
	flex-grow: 4;
}
.hi-flex-grow-5 {
	-webkit-box-flex: 5;
	-ms-flex-positive: 5;
	flex-grow: 5;
}
.hi-flex-grow-6 {
	-webkit-box-flex: 6;
	-ms-flex-positive: 6;
	flex-grow: 6;
}
.hi-flex-grow-7 {
	-webkit-box-flex: 7;
	-ms-flex-positive: 7;
	flex-grow: 7;
}
.hi-flex-grow-8 {
	-webkit-box-flex: 8;
	-ms-flex-positive: 8;
	flex-grow: 8;
}
.hi-flex-grow-9 {
	-webkit-box-flex: 9;
	-ms-flex-positive: 9;
	flex-grow: 9;
}
.hi-flex-grow-10 {
	-webkit-box-flex: 10;
	-ms-flex-positive: 10;
	flex-grow: 10;
}
.hi-flex-grow-11 {
	-webkit-box-flex: 11;
	-ms-flex-positive: 11;
	flex-grow: 11;
}
.hi-flex-grow-12 {
	-webkit-box-flex: 12;
	-ms-flex-positive: 12;
	flex-grow: 12;
}
.hi-flex-shrink-0 {
	-ms-flex-negative: 0;
	flex-shrink: 0;
}
.hi-flex-shrink-1 {
	-ms-flex-negative: 1;
	flex-shrink: 1;
}
.hi-flex-shrink-2 {
	-ms-flex-negative: 2;
	flex-shrink: 2;
}
.hi-flex-shrink-3 {
	-ms-flex-negative: 3;
	flex-shrink: 3;
}
.hi-flex-shrink-4 {
	-ms-flex-negative: 4;
	flex-shrink: 4;
}
.hi-flex-shrink-5 {
	-ms-flex-negative: 5;
	flex-shrink: 5;
}
.hi-flex-shrink-6 {
	-ms-flex-negative: 6;
	flex-shrink: 6;
}
.hi-flex-shrink-7 {
	-ms-flex-negative: 7;
	flex-shrink: 7;
}
.hi-flex-shrink-8 {
	-ms-flex-negative: 8;
	flex-shrink: 8;
}
.hi-flex-shrink-9 {
	-ms-flex-negative: 9;
	flex-shrink: 9;
}
.hi-flex-shrink-10 {
	-ms-flex-negative: 10;
	flex-shrink: 10;
}
.hi-flex-shrink-11 {
	-ms-flex-negative: 11;
	flex-shrink: 11;
}
.hi-flex-shrink-12 {
	-ms-flex-negative: 12;
	flex-shrink: 12;
}
.hi-flex-order-0 {
	-ms-flex-negative: 0;
	flex-shrink: 0;
}
.hi-flex-order-1 {
	-ms-flex-negative: 1;
	flex-shrink: 1;
}
.hi-flex-order-2 {
	-ms-flex-negative: 2;
	flex-shrink: 2;
}
.hi-flex-order-3 {
	-ms-flex-negative: 3;
	flex-shrink: 3;
}
.hi-flex-order-4 {
	-ms-flex-negative: 4;
	flex-shrink: 4;
}
.hi-flex-order-5 {
	-ms-flex-negative: 5;
	flex-shrink: 5;
}
.hi-flex-order-6 {
	-ms-flex-negative: 6;
	flex-shrink: 6;
}
.hi-flex-order-7 {
	-ms-flex-negative: 7;
	flex-shrink: 7;
}
.hi-flex-order-8 {
	-ms-flex-negative: 8;
	flex-shrink: 8;
}
.hi-flex-order-9 {
	-ms-flex-negative: 9;
	flex-shrink: 9;
}
.hi-flex-order-10 {
	-ms-flex-negative: 10;
	flex-shrink: 10;
}
.hi-flex-order-11 {
	-ms-flex-negative: 11;
	flex-shrink: 11;
}
.hi-flex-order-12 {
	-ms-flex-negative: 12;
	flex-shrink: 12;
}

/**
 * ************************************************************************************************************************
 * ** 动画集
 * ************************************************************************************************************************
 */
/* 旋转动画 */
@-webkit-keyframes hiAniSpin {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
@keyframes hiAniSpin {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
