/* 工具类和格式化样式 */

*{
  padding: 0px;
  margin: 0px;
  box-sizing: border-box;
  font-family: 微软雅黑;
}

a,img,.nav{
user-select: none;
}

ul,
li {
  list-style: none;
}
a:link,
a:visited,
a:visited,
a:hover,
a:active {
  text-decoration: none;
  color: inherit;
}
input,
select,
option,
textarea {
  outline: none;
  resize: none;
  -webkit-appearance: none;
}

.clr::after {
  content: '';
  display: block;
  clear: both;
}
.fl {
  float: left;
}
.fr {
  float: right;
}

.position-relative {
  position: relative
}

.position-absolute {
  position: absolute
}

.shadow-sm {
  box-shadow: 0 2px 4px rgba(0,0,0,.075)
}

.overflow-auto {
  overflow: auto
}

.overflow-hidden {
  overflow: hidden
}

.rounded {
  border-radius: 3px
}

.rounded-circle {
  border-radius: 50%
}

.rounded-5 {
  border-radius: 5px
}

.rounded-8 {
  border-radius: 8px
}

.rounded-10 {
  border-radius: 10px
}

.text-center {
  text-align: center
}

.text-end {
  text-align: end
}

.text-nowrap {
  white-space: nowrap
}

.fs-28 {
  font-size: 28px
}

.fs-18 {
  font-size: 18px
}

.fs-16 {
  font-size: 16px
}

.fs-14 {
  font-size: 14px
}

.fs-12 {
  font-size: 12px
}

.fw-bolder {
  font-weight: bolder
}

.fw-normal {
  font-weight: 400
}

.p-0 {
  padding: 0
}

.pt-0 {
  padding-top: 0
}

.pb-0 {
  padding-bottom: 0
}

.pl-0 {
  padding-left: 0
}

.pr-0 {
  padding-right: 0
}

.w-0 {
  width: 0
}

.h-0 {
  height: 0
}

.p-2 {
  padding: 2px
}

.pt-2 {
  padding-top: 2px
}

.pb-2 {
  padding-bottom: 2px
}

.pl-2 {
  padding-left: 2px
}

.pr-2 {
  padding-right: 2px
}

.ptb-2 {
  padding: 2px 0
}

.plr-2 {
  padding: 0 2px
}

.p-3 {
  padding: 3px
}

.pt-3 {
  padding-top: 3px
}

.pb-3 {
  padding-bottom: 3px
}

.pl-3 {
  padding-left: 3px
}

.pr-3 {
  padding-right: 3px
}

.ptb-3 {
  padding: 3px 0
}

.plr-3 {
  padding: 0 3px
}

.p-4 {
  padding: 4px
}

.pt-4 {
  padding-top: 4px
}

.pb-4 {
  padding-bottom: 4px
}

.pl-4 {
  padding-left: 4px
}

.pr-4 {
  padding-right: 4px
}

.ptb-4 {
  padding: 4px 0
}

.plr-4 {
  padding: 0 4px
}

.p-5 {
  padding: 5px
}

.pt-5 {
  padding-top: 5px
}

.pb-5 {
  padding-bottom: 5px
}

.pl-5 {
  padding-left: 5px
}

.pr-5 {
  padding-right: 5px
}

.ptb-5 {
  padding: 5px 0
}

.plr-5 {
  padding: 0 5px
}

.p-8 {
  padding: 8px
}

.pt-8 {
  padding-top: 8px
}

.pb-8 {
  padding-bottom: 8px
}

.pl-8 {
  padding-left: 8px
}

.pr-8 {
  padding-right: 8px
}

.ptb-8 {
  padding: 8px 0
}

.plr-8 {
  padding: 0 8px
}

.p-10 {
  padding: 10px
}

.pt-10 {
  padding-top: 10px
}

.pb-10 {
  padding-bottom: 10px
}

.pl-10 {
  padding-left: 10px
}

.pr-10 {
  padding-right: 10px
}

.ptb-10 {
  padding: 10px 0
}

.plr-10 {
  padding: 0 10px
}

.p-12 {
  padding: 12px
}

.pt-12 {
  padding-top: 12px
}

.pb-12 {
  padding-bottom: 12px
}

.pl-12 {
  padding-left: 12px
}

.pr-12 {
  padding-right: 12px
}

.ptb-12 {
  padding: 12px 0
}

.plr-12 {
  padding: 0 12px
}

.p-15 {
  padding: 15px
}

.pt-15 {
  padding-top: 15px
}

.pb-15 {
  padding-bottom: 15px
}

.pl-15 {
  padding-left: 15px
}

.pr-15 {
  padding-right: 15px
}

.ptb-15 {
  padding: 15px 0
}

.plr-15 {
  padding: 0 15px
}

.p-20 {
  padding: 20px
}

.pt-20 {
  padding-top: 20px
}

.pb-20 {
  padding-bottom: 20px
}

.pl-20 {
  padding-left: 20px
}

.pr-20 {
  padding-right: 20px
}

.ptb-20 {
  padding: 20px 0
}

.plr-20 {
  padding: 0 20px
}

.p-25 {
  padding: 25px
}

.pt-25 {
  padding-top: 25px
}

.pb-25 {
  padding-bottom: 25px
}

.pl-25 {
  padding-left: 25px
}

.pr-25 {
  padding-right: 25px
}

.ptb-25 {
  padding: 25px 0
}

.plr-25 {
  padding: 0 25px
}

.p-30 {
  padding: 30px
}

.pt-30 {
  padding-top: 30px
}

.pb-30 {
  padding-bottom: 30px
}

.pl-30 {
  padding-left: 30px
}

.pr-30 {
  padding-right: 30px
}

.ptb-30 {
  padding: 30px 0
}

.plr-30 {
  padding: 0 30px
}

.p-35 {
  padding: 35px
}

.pt-35 {
  padding-top: 35px
}

.pb-35 {
  padding-bottom: 35px
}

.pl-35 {
  padding-left: 35px
}

.pr-35 {
  padding-right: 35px
}

.ptb-35 {
  padding: 35px 0
}

.plr-35 {
  padding: 0 35px
}

.p-40 {
  padding: 40px
}

.pt-40 {
  padding-top: 40px
}

.pb-40 {
  padding-bottom: 40px
}

.pl-40 {
  padding-left: 40px
}

.pr-40 {
  padding-right: 40px
}

.ptb-40 {
  padding: 40px 0
}

.plr-40 {
  padding: 0 40px
}

.p-45 {
  padding: 45px
}

.pt-45 {
  padding-top: 45px
}

.pb-45 {
  padding-bottom: 45px
}

.pl-45 {
  padding-left: 45px
}

.pr-45 {
  padding-right: 45px
}

.ptb-45 {
  padding: 45px 0
}

.plr-45 {
  padding: 0 45px
}

.w-45 {
  width: 45%
}

.h-45 {
  height: 45%
}

.p-50 {
  padding: 50px
}

.pt-50 {
  padding-top: 50px
}

.pb-50 {
  padding-bottom: 50px
}

.pl-50 {
  padding-left: 50px
}

.pr-50 {
  padding-right: 50px
}

.ptb-50 {
  padding: 50px 0
}

.plr-50 {
  padding: 0 50px
}

.w-50 {
  width: 50%
}

.h-50 {
  height: 50%
}

.w-100 {
  width: 100%
}

.h-100 {
  height: 100%
}

.m-0 {
  margin: 0
}

.mt-0 {
  margin-top: 0
}

.mb-0 {
  margin-bottom: 0
}

.ml-0 {
  margin-left: 0
}

.mr-0 {
  margin-right: 0
}

.m-2 {
  margin: 2px
}

.mt-2 {
  margin-top: 2px
}

.mb-2 {
  margin-bottom: 2px
}

.ml-2 {
  margin-left: 2px
}

.mr-2 {
  margin-right: 2px
}

.mtb-2 {
  margin: 2px 0
}

.mlr-2 {
  margin: 0 2px
}

.m-3 {
  margin: 3px
}

.mt-3 {
  margin-top: 3px
}

.mb-3 {
  margin-bottom: 3px
}

.ml-3 {
  margin-left: 3px
}

.mr-3 {
  margin-right: 3px
}

.mtb-3 {
  margin: 3px 0
}

.mlr-3 {
  margin: 0 3px
}

.m-4 {
  margin: 4px
}

.mt-4 {
  margin-top: 4px
}

.mb-4 {
  margin-bottom: 4px
}

.ml-4 {
  margin-left: 4px
}

.mr-4 {
  margin-right: 4px
}

.mtb-4 {
  margin: 4px 0
}

.mlr-4 {
  margin: 0 4px
}

.m-5 {
  margin: 5px
}

.mt-5 {
  margin-top: 5px
}

.mb-5 {
  margin-bottom: 5px
}

.ml-5 {
  margin-left: 5px
}

.mr-5 {
  margin-right: 5px
}

.mtb-5 {
  margin: 5px 0
}

.mlr-5 {
  margin: 0 5px
}

.m-8 {
  margin: 8px
}

.mt-8 {
  margin-top: 8px
}

.mb-8 {
  margin-bottom: 8px
}

.ml-8 {
  margin-left: 8px
}

.mr-8 {
  margin-right: 8px
}

.mtb-8 {
  margin: 8px 0
}

.mlr-8 {
  margin: 0 8px
}

.m-10 {
  margin: 10px
}

.mt-10 {
  margin-top: 10px
}

.mb-10 {
  margin-bottom: 10px
}

.ml-10 {
  margin-left: 10px
}

.mr-10 {
  margin-right: 10px
}

.mtb-10 {
  margin: 10px 0
}

.mlr-10 {
  margin: 0 10px
}

.m-12 {
  margin: 12px
}

.mt-12 {
  margin-top: 12px
}

.mb-12 {
  margin-bottom: 12px
}

.ml-12 {
  margin-left: 12px
}

.mr-12 {
  margin-right: 12px
}

.mtb-12 {
  margin: 12px 0
}

.mlr-12 {
  margin: 0 12px
}

.m-15 {
  margin: 15px
}

.mt-15 {
  margin-top: 15px
}

.mb-15 {
  margin-bottom: 15px
}

.ml-15 {
  margin-left: 15px
}

.mr-15 {
  margin-right: 15px
}

.mtb-15 {
  margin: 15px 0
}

.mlr-15 {
  margin: 0 15px
}

.m-20 {
  margin: 20px
}

.mt-20 {
  margin-top: 20px
}

.mb-20 {
  margin-bottom: 20px
}

.ml-20 {
  margin-left: 20px
}

.mr-20 {
  margin-right: 20px
}

.mtb-20 {
  margin: 20px 0
}

.mlr-20 {
  margin: 0 20px
}

.m-25 {
  margin: 25px
}

.mt-25 {
  margin-top: 25px
}

.mb-25 {
  margin-bottom: 25px
}

.ml-25 {
  margin-left: 25px
}

.mr-25 {
  margin-right: 25px
}

.mtb-25 {
  margin: 25px 0
}

.mlr-25 {
  margin: 0 25px
}

.m-30 {
  margin: 30px
}

.mt-30 {
  margin-top: 30px
}

.mb-30 {
  margin-bottom: 30px
}

.ml-30 {
  margin-left: 30px
}

.mr-30 {
  margin-right: 30px
}

.mtb-30 {
  margin: 30px 0
}

.mlr-30 {
  margin: 0 30px
}

.m-35 {
  margin: 35px
}

.mt-35 {
  margin-top: 35px
}

.mb-35 {
  margin-bottom: 35px
}

.ml-35 {
  margin-left: 35px
}

.mr-35 {
  margin-right: 35px
}

.mtb-35 {
  margin: 35px 0
}

.mlr-35 {
  margin: 0 35px
}

.m-40 {
  margin: 40px
}

.mt-40 {
  margin-top: 40px
}

.mb-40 {
  margin-bottom: 40px
}

.ml-40 {
  margin-left: 40px
}

.mr-40 {
  margin-right: 40px
}

.mtb-40 {
  margin: 40px 0
}

.mlr-40 {
  margin: 0 40px
}

.m-45 {
  margin: 45px
}

.mt-45 {
  margin-top: 45px
}

.mb-45 {
  margin-bottom: 45px
}

.ml-45 {
  margin-left: 45px
}

.mr-45 {
  margin-right: 45px
}

.mtb-45 {
  margin: 45px 0
}

.mlr-45 {
  margin: 0 45px
}

.m-50 {
  margin: 50px
}

.mt-50 {
  margin-top: 50px
}

.mb-50 {
  margin-bottom: 50px
}

.ml-50 {
  margin-left: 50px
}

.mr-50 {
  margin-right: 50px
}

.mtb-50 {
  margin: 50px 0
}

.mlr-50 {
  margin: 0 50px
}

.opacity-0 {
  opacity: 0
}

.opacity-5 {
  opacity: .05
}

.opacity-10 {
  opacity: .1
}

.opacity-15 {
  opacity: .15
}

.opacity-20 {
  opacity: .2
}

.opacity-25 {
  opacity: .25
}

.opacity-30 {
  opacity: .3
}

.opacity-35 {
  opacity: .35
}

.opacity-40 {
  opacity: .4
}

.opacity-45 {
  opacity: .45
}

.opacity-50 {
  opacity: .5
}

.opacity-55 {
  opacity: .55
}

.opacity-60 {
  opacity: .6
}

.opacity-65 {
  opacity: .65
}

.opacity-70 {
  opacity: .7
}

.opacity-75 {
  opacity: .75
}

.opacity-80 {
  opacity: .8
}

.opacity-85 {
  opacity: .85
}

.opacity-90 {
  opacity: .9
}

.opacity-95 {
  opacity: .95
}

.opacity-100 {
  opacity: 1
}

.scrollX {
  -webkit-overflow-scrolling: touch;
  overflow-x: auto;
  white-space: nowrap;
  width: 100%
}

.noScrollBar {
  -ms-overflow-style: none;
  overflow: -moz-scrollbars-none
}

.noScrollBar::-webkit-scrollbar {
  height: 0;
  opacity: 0;
  width: 0
}

.line-1 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap
}

.line-2 {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden
}