html,body{
  padding: 0;
  margin: 0;
  line-height: 1;
  font-family: system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Helvetica,Arial,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol;
  font-size: 16px;
  color: #3B455D;
  background: #ffffff;
}
* {
  box-sizing: border-box;
}
button:focus, header:focus{
  outline: none;
}
h1,h2,h3,h4,h5,h6{
  margin: 0;
}
ul,li{
  padding: 0;
  margin: 0;
  list-style: none;
}
.full-w {
  width: 100vw;
}
.full-h {
  height: 100vh;
}
.min-full-w {
  min-width: 100vw;
}
.min-full-h {
  min-height: 100vh;
}
.bg-white {
  background-color: #fff;
}
.color-white {
  color: white;
}

/* position */
.pst-rlt {
  position: relative;
}
.pst-absl {
  position: absolute;
}
.pst-fix {
  position: fixed;
}
.ovfl-hd {
  overflow: hidden;
}
.ovfl-y-auto {
  overflow-y: auto;
}
.ovfl-x-auto {
  overflow-x: auto;
}

.dspl-inbl {
  display: inline-block;
}
.dspl-none {
  display: none;
}
.dspl-block {
  display: block;
}
.vtal-md {
  vertical-align: middle;
}
.vtal-md-parent::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 100%;
  vertical-align: middle;
}
.vtal-bt {
  vertical-align: bottom;
}
.vtal-top {
  vertical-align: top;
}
.fl-right {
  float: right;
}
.fl-left {
  float: left;
}
.mlr-auto {
  margin-left: auto;
  margin-right: auto;
}
.cs-pt {
  cursor: pointer;
}
.text-under-line {
  text-decoration: underline;
}
.text-left {
  text-align: left;
}
.fw-bold{
  font-weight: bold;
}
.text-ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.word-break-all {
  word-break: break-all;
}
.word-wrap {
  white-space: break-spaces;
}
.text-right{
  text-align: right;
}

.v {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.h {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.vh {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.fix-h {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
}

.fix-v {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
}

.fix-vh {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.fw-bold {
  font-weight:bold;
}

.m-0-auto {
  margin: 0 auto;
}

/* 字符省略 */
.text-ellipsis-2,
.text-ellipsis-3,
.text-ellipsis-4{
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.text-ellipsis-3{
  -webkit-line-clamp: 3;
}
.text-ellipsis-4{
  -webkit-line-clamp: 4;
}

.ovfl-scroll {
  overflow: scroll;
  -webkit-overflow-scrolling: touch;
}
.ovfl-x-hd {
  overflow-x: hidden;
}
.ovfl-x-scroll {
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
}
.ovfl-y-hd {
  overflow-y: hidden;
}
.ovfl-y-auto {
  overflow-y: auto;
}
.flex {
  display: flex;
}
.flex-row {
  flex-direction: row;
}
.flex-row-reverse {
  flex-direction: row-reverse;
}
.flex-column {
  flex-direction: column;
}
.flex-around {
  justify-content: space-around;
}
.flex-center {
  justify-content: center;
}
.flex-left {
  justify-content: flex-start;
}
.flex-right {
  justify-content: flex-end;
}
.flex-between {
  justify-content: space-between;
}
.flex-middle {
  align-items: center;
}
.flex-start {
  align-items: flex-start;
}
.flex-nowrap {
  flex-wrap: nowrap;
}
.flex-wrap {
  flex-wrap: wrap;
}
.flex-inline {
  display: inline-flex;
}
.flex-1 {
  flex: 1;
}
.flex-grow {
  flex-grow: 1;
}

/* flex item 不缩放 */
.flex-shrink-0 {
  flex-shrink: 0;
}

.dspl-inbl{
  display: inline-block;
}
.dspl-block{
  display: block;
}
.dspl-table{
  display: table;
}
.m-auto{
  margin-left: auto;
  margin-right: auto;
}
.text-center {
  text-align: center;
}
.bs-bd {
  box-sizing: border-box;
}

.clear-both{
  clear: both;
}

/* 工具类颜色 */
.bg-green {
  background-color: green;
}
.bg-red {
  background-color: red;
}
.bg-blue {
  background-color: #00f;
}
.bg-split-line {
  background: #f5f7fa;
  /* 因为容器外层 有 padding: 10px; */
  /* margin-left: -10px;
  margin-right: -10px; */
}

/* reset input css */
input {
  border: 0;
  padding: 0;
  margin: 0;
}

.img-contain {
  max-width: 100%;
  max-height: 100%;
}

/* 可以设置不同的进入和离开动画 */
/* 设置持续时间和动画函数 */

/* transiation */
.slide-up-enter-active {
  transition: all .3s ease;
}
.slide-up-leave-active {
  transition: all .3s ease;
}
.slide-up-enter, .slide-up-leave-to
/* .slide-up-leave-active for below version 2.1.8 */ {
  transform: translateY(100%);
  opacity: 0;
}

.fade-enter-active {
  transition: all .1s ease;
}
.fade-leave-active {
  transition: all .1s ease;
}
.fade-enter, .fade-leave-to
/* .fade-leave-active for below version 2.1.8 */ {
  opacity: 0;
}
.fade-delay-enter-active {
  transition: all .1s ease;
  transition-delay: .28s;
}
.fade-delay-leave-active {
  transition: all 0s ease;
}
.fade-delay-enter, .fade-delay-leave-to
/* .fade-leave-active for below version 2.1.8 */ {
  opacity: 0;
}
/* slide-left-delay */
.slide-left-delay-enter-active {
  transition: all .2s ease-in-out;
  transition-delay: .5s;
}
.slide-left-delay-leave-active {
  transition: all .2s ease-in-out;
  transition-delay: .5s;
}
.slide-left-delay-enter, .slide-left-delay-leave-to {
  transform: translateX(100%);
}

.move-right-enter-active, .move-right-leave-active {
  transition: all .2s linear;
  transform: translateX(0)
}
.move-right-enter, .move-right-leave {
  transform: translateX(100%);
}
.move-right-leave-to{
  transform: translateX(100%);
}



.h-auto {
  height: auto;
}

.gh-http-tip {
  z-index: 9999 !important;
}

/* animation */
@keyframes breath {
  0%{
    transform: scale(0.99)
  }
  50% {
    transform: scale(1.002)
  }
  100%{
    transform: scale(0.99)
  }
}
.animate-breath{
  animation:breath 1s ease-out;
  -webkit-animation:breath 1s ease-out;
  animation-fill-mode:backwards;
  -webkit-animation-fill-mode:backwards;
  animation-iteration-count:infinite;
  -webkit-animation-iteration-count:infinite;
}

.animate-shake {
  animation: shake 2s linear infinite;
}
@keyframes shake {
  0%,
  100% {
    transform: rotate(0deg) scale(1);
  }
  10% {
    transform: rotate(2deg);
    transform: scale(1);
  }
  15%,
  25%,
  35% {
    transform: rotate(-4deg);
  }
  20%,
  30%,
  40% {
    transform: rotate(4deg);
  }
  45% {
    transform: rotate(-2deg);
  }
  50% {
    transform: rotate(2deg);
  }
  55%,
  90% {
    transform: rotate(0deg);
  }
}

/* theme - 按钮颜色 */
.btn-theme{
  background:linear-gradient(0deg,rgba(255,93,28,1) 0%,rgba(255,132,0,1) 100%);
  border-radius:50px;
  color: white;
}

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #999999;
}

/* input:disabled {
  background-color: #fff;
} */

/* 禁止用户选择文字 */
.un-selectable {
  -moz-user-select:none; /*火狐*/
  -webkit-user-select:none; /*webkit浏览器*/
  -ms-user-select:none; /*IE10*/
  -khtml-user-select:none; /*早期浏览器*/
  user-select:none;
}

/* font-family */
/* 常规字体 */
.f-regular{
  font-family: PingFangSC-Regular, sans-serif;
}
/* 极细体 */
.f-light {
  font-family: PingFangSC-Ultralight, sans-serif;
}
/* 纤细体 */
.f-thin {
  font-family: PingFangSC-Thin, sans-serif;
}
/* 中黑体 */
.f-medium {
  font-family: PingFangSC-Medium, sans-serif;
}
/* 中粗体 */
.f-medium {
  font-family: PingFangSC-Semibold, sans-serif;
}

/* 微信中，图片识别 */
.img-callout {
  -webkit-touch-callout: none;
}

.bd-b-1grep {
  border-bottom: 1px solid grey;
}
.color-red {
  color: red;
}
.color-orange {
  color: #FAA500;
}

/* 常见border集合 */
.b-right{
  border-right: 1px solid #E0E6ED;
}
.b-bottom{
  border-bottom: 1px solid #E0E6ED;
}
.b-left{
  border-left: 1px solid #E0E6ED;
}
.b-top{
  border-top: 1px solid #E0E6ED;
}

input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px white inset;
  -webkit-text-fill-color: #333;
}
input[type=text]:focus, input[type=password]:focus, textarea:focus {
  -webkit-box-shadow: 0 0 0 1000px white inset;
}

.color-333{
  color: #333;
}

.color-666{
  color: #666;
}

.color-999{
  color: #999;
}

.bg-contain {
  background: no-repeat;
  background-position: center;
  background-size: contain;
}

.select-none {
  -moz-user-select: -moz-none;
  -moz-user-select: none;
  -o-user-select:none;
  -khtml-user-select:none;
  -webkit-user-select:none;
  -ms-user-select:none;
  user-select:none;
}

.filter-gray {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
  filter: gray;
}

/* 设置滚动条的样式 */
::-webkit-scrollbar,
scrollbar {
  width: 8px;
  height: 8px;
}
  /* 滚动槽 */
::-webkit-scrollbar-track,
scrollbar-track {
  -webkit-box-shadow:inset 0 0 6px rgba(0,0,0,0.1);
  border-radius: 10px;
}
  /* 滚动条滑块 */
::-webkit-scrollbar-thumb,
scrollbar-thumb {
  border-radius: 10px;
  background: rgba(0,0,0,0.1);
  -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
}
  /* ::-webkit-scrollbar-thumb:window-inactive {
  background:rgba(255,0,0,0.4);
  } */


.theme-color {
  color: var(--theme-color);
}

.theme-bg-color {
  background-color: var(--theme-color);
}

.theme-br-color {
  border-color: var(--theme-color);
}
.theme-hover:hover{
  color: var(--theme-color-hover);
}

.h-layout-content>.el-scrollbar__wrap {
  margin-right: -19px!important;
}
