@charset "utf-8";
html {
	scroll-behavior: smooth;
	overflow-y: scroll;
}

/* CSS Document */
body {
	font-family: "微软雅黑", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
	font-size: 18px;
	color: #333;
	width: 100%;
	*cursor: default;
	background-color: #f8f8f8;
	box-sizing: border-box;
}

div {
	box-sizing: border-box;
}

/* 内外边距通常让各个浏览器样式的表现位置不同 */
body,
ol,
table,
tr,
td,
ul,
li,
dt,
dd,
dl,
h1,
h2,
h3,
h4,
h5,
h6,
form,
input,
select,
textarea,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	font-style: normal;
}

/*input, button, select, textarea{ outline:none}*/
input,
select,
textarea,
button,
option {
	vertical-align: middle;
	font-family: "微软雅黑", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
}

button {
	border: 0 none;
	background-color: transparent;
	cursor: pointer
}

button::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner,
input[type="file"]>input[type="button"]::-moz-focus-inner {
	border: none;
	padding: 0;
}

/* 去掉 table cell 的边距并让其边重合 */
table {
	border-collapse: collapse;
	border-spacing: 0;
}

a,
img {
	color: #333;
	transition: 0.3s;
}

/* ie bug：th 不继承 text-align */
th {
	text-align: inherit;
}

/* 去除默认边框 */
fieldset,
img {
	border: none;
}

/* ie6 7 8(q) bug 显示为行内表现 */
iframe {
	display: block;
}

/* 去掉列表前的标识，li 会继承 */
ol,
ul {
	list-style: none;
}

/* 对齐是排版最重要的因素，别让什么都居中 */
caption,
th {
	text-align: left;
}

/* 来自yahoo，让标题都自定义，适应多个系统应用 */
h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
	font-weight: 500;
}

/* 统一上标和下标 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

/* 让链接在 hover 状态下显示下划线 */
a:hover {
	text-decoration: none;
}

/* 默认不显示下划线，保持页面简洁 */
ins,
a {
	text-decoration: none;

}

/* 去除 ie6 & ie7 焦点点状线 */
a:focus,
*:focus {
	outline: none;
}

/* 清除浮动 */
.clearfix:before,
.clearfix:after {
	content: "";
	display: table;
}

.clearfix:after {
	clear: both;
	overflow: hidden;
}

.clearfix {
	zoom: 1;
	/* for ie6 & ie7 */
}

.clear {
	clear: both;
	display: block;
	font-size: 0;
	height: 0;
	line-height: 0;
	overflow: hidden;
}

/* 设置显示和隐藏，通常用来与 js 配合 */
.hide {
	display: none;
}

.block {
	display: block;
}

/* 设置浮动，减少浮动带来的 bug */
.fl,
.fr {
	display: inline;
}

.fl {
	float: left;
}

.fr {
	float: right;
}

/*----- 超出省略号///-----*/
.toe {
	word-break: keep-all;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.flex {
	display: flex;
}

.flex-sub {
	flex: 1;
}

.flex-twice {
	flex: 2;
}

.flex-treble {
	flex: 3;
}

.align-start {
	align-items: flex-start;
}

.align-end {
	align-items: flex-end;
}

.align-center {
	align-items: center;
}

.justify-start {
	justify-content: flex-start;
}

.justify-end {
	justify-content: flex-end;
}

.justify-center {
	justify-content: center;
}

.justify-between {
	justify-content: space-between;
}

.justify-around {
	justify-content: space-around;
}

.grid {
	display: flex;
	flex-wrap: wrap;
}

.grid.col-1>div {
	width: 100%;
}

.grid.col-2>div {
	width: 50%;
}

.grid.col-3>div {
	width: 33.33%;
}

.grid.col-4>div {
	width: 25%;
}

.grid.col-5>div {
	width: 20%;
}

.margin-0 {
	margin: 0;
}

.margin-xs {
	margin: 10px;
}

.margin-sm {
	margin: 20px;
}

.margin {
	margin: 30px;
}

.margin-lg {
	margin: 40px;
}

.margin-xl {
	margin: 50px;
}

.margin-top-xs {
	margin-top: 10px;
}

.margin-top-sm {
	margin-top: 20px;
}

.margin-top {
	margin-top: 30px;
}

.margin-top-lg {
	margin-top: 40px;
}

.margin-top-xl {
	margin-top: 50px;
}

.margin-right-xs {
	margin-right: 10px;
}

.margin-right-sm {
	margin-right: 20px;
}

.margin-right {
	margin-right: 30px;
}

.margin-right-lg {
	margin-right: 40px;
}

.margin-right-xl {
	margin-right: 50px;
}

.margin-bottom-xs {
	margin-bottom: 10px;
}

.margin-bottom-sm {
	margin-bottom: 20px;
}

.margin-bottom {
	margin-bottom: 30px;
}

.margin-bottom-lg {
	margin-bottom: 40px;
}

.margin-bottom-xl {
	margin-bottom: 50px;
}

.margin-left-xs {
	margin-left: 10px;
}

.margin-left-sm {
	margin-left: 20px;
}

.margin-left {
	margin-left: 30px;
}

.margin-left-lg {
	margin-left: 40px;
}

.margin-left-xl {
	margin-left: 50px;
}

.margin-lr-xs {
	margin-left: 10px;
	margin-right: 10px;
}

.margin-lr-sm {
	margin-left: 20px;
	margin-right: 20px;
}

.margin-lr {
	margin-left: 30px;
	margin-right: 30px;
}

.margin-lr-lg {
	margin-left: 40px;
	margin-right: 40px;
}

.margin-lr-xl {
	margin-left: 50px;
	margin-right: 50px;
}

.margin-tb-xs {
	margin-top: 10px;
	margin-bottom: 10px;
}

.margin-tb-sm {
	margin-top: 20px;
	margin-bottom: 20px;
}

.margin-tb {
	margin-top: 30px;
	margin-bottom: 30px;
}

.margin-tb-lg {
	margin-top: 40px;
	margin-bottom: 40px;
}

.margin-tb-xl {
	margin-top: 50px;
	margin-bottom: 50px;
}

.padding-0 {
	padding: 0;
}

.padding-xs {
	padding: 10px;
}

.padding-sm {
	padding: 20px;
}

.padding {
	padding: 30px;
}

.padding-lg {
	padding: 40px;
}

.padding-xl {
	padding: 50px;
}

.padding-top-xs {
	padding-top: 10px;
}

.padding-top-sm {
	padding-top: 20px;
}

.padding-top {
	padding-top: 30px;
}

.padding-top-lg {
	padding-top: 40px;
}

.padding-top-xl {
	padding-top: 50px;
}

.padding-right-xs {
	padding-right: 10px;
}

.padding-right-sm {
	padding-right: 20px;
}

.padding-right {
	padding-right: 30px;
}

.padding-right-lg {
	padding-right: 40px;
}

.padding-right-xl {
	padding-right: 50px;
}

.padding-bottom-xs {
	padding-bottom: 10px;
}

.padding-bottom-sm {
	padding-bottom: 20px;
}

.padding-bottom {
	padding-bottom: 30px;
}

.padding-bottom-lg {
	padding-bottom: 40px;
}

.padding-bottom-xl {
	padding-bottom: 50px;
}

.padding-left-xs {
	padding-left: 10px;
}

.padding-left-sm {
	padding-left: 20px;
}

.padding-left {
	padding-left: 30px;
}

.padding-left-lg {
	padding-left: 40px;
}

.padding-left-xl {
	padding-left: 50px;
}

.padding-lr-xs {
	padding-left: 10px;
	padding-right: 10px;
}

.padding-lr-sm {
	padding-left: 20px;
	padding-right: 20px;
}

.padding-lr {
	padding-left: 30px;
	padding-right: 30px;
}

.padding-lr-lg {
	padding-left: 40px;
	padding-right: 40px;
}

.padding-lr-xl {
	padding-left: 50px;
	padding-right: 50px;
}

.padding-tb-xs {
	padding-top: 10px;
	padding-bottom: 10px;
}

.padding-tb-sm {
	padding-top: 20px;
	padding-bottom: 20px;
}

.padding-tb {
	padding-top: 30px;
	padding-bottom: 30px;
}

.padding-tb-lg {
	padding-top: 40px;
	padding-bottom: 40px;
}

.padding-tb-xl {
	padding-top: 50px;
	padding-bottom: 50px;
}

.flex {
	display: flex;
}

.flex-sub {
	flex: 1;
}

.flex-twice {
	flex: 2;
}

.flex-treble {
	flex: 3;
}

.flex-direction {
	flex-direction: column;
}

.flex-wrap {
	flex-wrap: wrap;
}

.align-start {
	align-items: flex-start;
}

.align-end {
	align-items: flex-end;
}

.align-center {
	align-items: center;
}

.justify-start {
	justify-content: flex-start;
}

.justify-end {
	justify-content: flex-end;
}

.justify-center {
	justify-content: center;
}

.justify-between {
	justify-content: space-between;
}

.justify-around {
	justify-content: space-around;
}

.text-bold {
	font-weight: bold;
}

.text-center {
	text-align: center;
}

.text-right {
	text-align: right;
}

.text-xs {
	font-size: 14px;
}

.text-sm {
	font-size: 16px;
}

.text-df {
	font-size: 18px;
}

.text-lg {
	font-size: 20px;
}

.text-xl {
	font-size: 22px;
}

.text-xxl {
	font-size: 24px;
}

.radius-sm {
	border-radius: 10px;
}

.inline {
	display: inline-block;
}

.w33 {
	width: 33.3%;
}

.border {
	border: 1px solid #e2e2e2;
}

.border-bottom {
	border-bottom: 1px solid #e2e2e2;
}

.text-indent {
	text-indent: 2em;
}

.bg-white {
	background-color: #fff;
}

.bg-purple {
	background-color: #8280cc;
}

.bg-pink {
	background-color: #ff8ad6;
}

.bg-gray-light {
	background-color: #f8f8f8;
}

.text-white {
	color: #fff;
}

.text-gray {
	color: #999;
}

.text-pink {
	color: #fc8caa;
}