* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Segoe UI', 'Microsoft YaHei', sans-serif;
}

html {
  scroll-behavior: smooth;
}

body {
  line-height: 1.6;
  color: var(--dark-color);
  background-color: var(--light-color);
}

a {
  text-decoration: none;
  color: inherit;
}

ul {
  list-style: none;
}

img {
  max-width: 100%;
}

p {
  margin: 0;
  padding: 0;
}

/*文字排版*/
.f10 {
  font-size: 10px
}

.f12 {
  font-size: 12px
}

.f13 {
  font-size: 13px
}

.f14 {
  font-size: 14px
}

.f16 {
  font-size: 16px
}

.f18 {
  font-size: 18px
}

.f20 {
  font-size: 20px
}

.f25 {
  font-size: 25px
}

.f26 {
  font-size: 26px
}

.f30 {
  font-size: 30px
}

.f50 {
  font-size: 50px
}

.fb {
  font-weight: bold
}

.fn {
  font-weight: normal
}

.t2 {
  text-indent: 2em
}

.lh150 {
  line-height: 150%
}

.lh180 {
  line-height: 180%
}

.lh200 {
  line-height: 200%
}

.unl {
  text-decoration: underline;
}

.no_unl {
  text-decoration: none;
}

/*定位*/
.tl {
  text-align: left
}

.tc {
  text-align: center
}

.tr {
  text-align: right
}

.bc {
  margin-left: auto;
  margin-right: auto;
}

.fl {
  float: left;
  display: inline
}

.fr {
  float: right;
  display: inline
}

.cb {
  clear: both
}

.cl {
  clear: left
}

.cr {
  clear: right
}

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden
}

.clearfix {
  display: inline-block
}

* html .clearfix {
  height: 1%
}

.clearfix {
  display: block
}

.vm {
  vertical-align: middle
}

.pr {
  position: relative
}

.pa {
  position: absolute
}

.overflow-a {
  overflow: auto;
}

.overflow-h {
  overflow: hidden;
}

.cursor {
  cursor: pointer;
}

.abs-right {
  position: absolute;
  right: 0
}

.zoom {
  zoom: 1
}

.hidden {
  visibility: hidden
}

.none {
  display: none
}

.bdr {
  border-radius: 50%;
}

.ma {
  margin: auto;
}

/*字体颜色*/
.f-brand {
  color: #409EFF
}

.f-success {
  color: #67C23A
}

.f-warning {
  color: #E6A23C
}

.f-danger {
  color: #F56C6C
}

.f-info {
  color: #909399
}

.f-purple {
  color: #ae88c3
}

.f-green {
  color: #94ff8c
}

.c3 {
  color: #333333
}


.c6 {
  color: #666666
}

/*背景颜色*/
.b-brand {
  background-color: #409EFF !important
}

.b-success {
  background-color: #67C23A !important
}

.b-warning {
  background-color: #E6A23C !important
}

.b-danger {
  background-color: #F56C6C !important
}

.b-info {
  background-color: #909399 !important
}

/*长度高度*/
.w10 {
  width: 10px
}

.w20 {
  width: 20px
}

.w30 {
  width: 30px
}

.w40 {
  width: 40px
}

.w50 {
  width: 50px
}

.w60 {
  width: 60px
}

.w70 {
  width: 70px
}

.w80 {
  width: 80px
}

.w90 {
  width: 90px
}

.w100 {
  width: 100px
}

.w150 {
  width: 150px
}

.w180 {
  width: 180px
}

.w200 {
  width: 200px
}

.w250 {
  width: 250px !important
}

.w300 {
  width: 300px !important
}

.w400 {
  width: 400px
}

.w500 {
  width: 500px
}

.w600 {
  width: 600px
}

.w700 {
  width: 700px
}

.w800 {
  width: 800px
}

.w {
  width: 100% !important;
}

.h20 {
  height: 20px
}

.h30 {
  height: 30px
}

.h40 {
  height: 40px
}

.h50 {
  height: 50px
}

.h60 {
  height: 60px
}

.h80 {
  height: 80px
}

.h100 {
  height: 100px
}

.h150 {
  height: 150px
}

.h200 {
  height: 200px
}

.h300 {
  height: 300px !important
}

.h500 {
  height: 500px !important
}

.h700 {
  height: 700px !important
}

.h {
  height: 100%
}

/*边距*/
.m5 {
  margin: 5px
}

.m10 {
  margin: 10px
}

.m15 {
  margin: 15px
}

.m30 {
  margin: 30px
}

.mt5 {
  margin-top: 5px
}

.mt10 {
  margin-top: 10px
}

.mt15 {
  margin-top: 15px
}

.mt20 {
  margin-top: 20px
}

.mt30 {
  margin-top: 30px
}

.mt35 {
  margin-top: 35px
}

.mt40 {
  margin-top: 40px
}

.mt50 {
  margin-top: 50px
}

.mt100 {
  margin-top: 100px
}

.mb5 {
  margin-bottom: 5px
}

.mb10 {
  margin-bottom: 10px
}

.mb15 {
  margin-bottom: 15px
}

.mb20 {
  margin-bottom: 20px
}

.mb30 {
  margin-bottom: 30px
}

.mb50 {
  margin-bottom: 50px
}

.mb100 {
  margin-bottom: 100px
}

.ml5 {
  margin-left: 5px
}

.ml10 {
  margin-left: 10px !important
}

.ml15 {
  margin-left: 15px
}

.ml20 {
  margin-left: 20px !important
}

.ml30 {
  margin-left: 30px
}

.ml50 {
  margin-left: 50px
}

.ml100 {
  margin-left: 100px
}

.mr5 {
  margin-right: 5px !important
}

.mr10 {
  margin-right: 10px
}

.mr15 {
  margin-right: 15px
}

.mr20 {
  margin-right: 20px
}

.mr30 {
  margin-right: 30px
}

.mr50 {
  margin-right: 50px
}

.mr100 {
  margin-right: 100px
}

.p0 {
  padding: 0 !important;
}

.p3 {
  padding: 3px !important;
}

.p5 {
  padding: 5px !important;
}

.p10 {
  padding: 10px;
}

.p15 {
  padding: 15px !important;
}

.p20 {
  padding: 20px;
}

.p30 {
  padding: 30px;
}

.p50 {
  padding: 50px;
}

.p100 {
  padding: 100px;
}

.pt5 {
  padding-top: 5px
}

.pt10 {
  padding-top: 10px
}

.pt15 {
  padding-top: 15px
}

.pt20 {
  padding-top: 20px
}

.pt30 {
  padding-top: 30px
}

.pt50 {
  padding-top: 50px
}

.pb5 {
  padding-bottom: 5px
}

.pb10 {
  padding-bottom: 10px
}

.pb15 {
  padding-bottom: 15px
}

.pb20 {
  padding-bottom: 20px
}

.pb30 {
  padding-bottom: 30px
}

.pb50 {
  padding-bottom: 50px
}

.pb100 {
  padding-bottom: 100px
}

.pl5 {
  padding-left: 5px
}

.pl10 {
  padding-left: 10px
}

.pl15 {
  padding-left: 15px
}

.pl20 {
  padding-left: 20px
}

.pl30 {
  padding-left: 30px
}

.pl50 {
  padding-left: 50px
}

.pl100 {
  padding-left: 100px
}

.pr5 {
  padding-right: 5px
}

.pr10 {
  padding-right: 10px
}

.pr15 {
  padding-right: 15px
}

.pr20 {
  padding-right: 20px
}

.pr30 {
  padding-right: 30px
}

.pr50 {
  padding-right: 50px
}

.pr100 {
  padding-right: 100px
}

/* flex 布局 */
.flex {
  display: flex;
  flex-direction: row;
}

.flex-middle {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.flex-heart {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

.flex-wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.flex-center {
  display: flex;
  flex-direction: row;
  justify-content: center;
}

.flex-end {
  display: flex;
  flex-direction: row;
  justify-content: flex-end
}

.flex-between {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between
}

.flex-around {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  gap: 20px;
}

.gap-20 {
  gap: 20px;
}

.gap-30 {
  gap: 30px;
}

.gap-40 {
  gap: 40px;
}

.flex-auto {
  flex: auto
}

.flex-1 {
  flex: 1
}