@font-face {
  font-family: "Montserrat-Regular";
  src: url('../fonts/Montserrat-Regular.ttf');
}
:root{
  --form-label-width: 100px;
  --form-input-width: 340px;
  --white-color: #FFFFFF;
  --blue-color: #2F81FF;
  --blue-color-1: #DEEBFF;
  --black-color: #2C2C2E;
  --black-color-1: #48484A;
  --gray-color: #8E8E93;
  --gray-color-1: #E5E5EA;
  --gray-color-2: #AEAEB2;
  --red-color: #FF453A;
}

body {
  font-family: "Montserrat-Regular";
  background-color: #F8FBFF !important;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
  color: currentColor;
}
a:hover{
  text-decoration: none !important;
  color: currentColor;
}
body {
  line-height: 1;
}
ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}
/* remember to define focus styles! */
:focus {
  outline: 0;
}
/* remember to highlight inserts somehow! */
ins {
  text-decoration: none;
}
del {
  text-decoration: line-through;
}
/* tables still need ‘cellspacing=”0″‘ in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}
label {
  margin-bottom: 0;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
}
input[type="number"]{
  -moz-appearance: textfield;
}

/*滚动条样式重置*/
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track{
  border-radius: 10px;
  background-color: transparent;
}
::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background-color: rgba(0, 0, 0, 0.2);
}
::-webkit-scrollbar-corner{
  background-color: transparent;
}

.mw-75 {
  max-width: 75%;
}
.mr-10 {
  margin-right: 10px;
}
.mr-20 {
  margin-right: 20px;
}
.mb-10 {
  margin-bottom: 10px !important;
}
.mb-20 {
  margin-bottom: 20px;
}
.gap10 {
  gap: 10px;
}

/* 无数据状态显示 */
.no-data {
  width: 200px;
  margin: 0 auto;
  text-align: center;
}

/* 隐藏notice提示 */
#notice-container-topcenter {
  display: none !important;
}

/* 覆盖bootstrap样式 */
.btn-primary {
  background-color: var(--blue-color);
  border-color: var(--blue-color);
}
.btn-primary:hover {
  opacity: .9;
  background-color: var(--blue-color);
  border-color: var(--blue-color);
}
.btn-danger {
  background-color: var(--red-color);
  border-color: var(--red-color);
}
.btn-danger:hover {
  opacity: .9;
  background-color: var(--red-color);
  border-color: var(--red-color);
}
.text-primary {
  color: var(--blue-color) !important;
}
.text-danger {
  color: var(--red-color) !important;
}
.form-control {
  line-height: 38px;
}

/* toast */
.bs-toast {
  position: fixed;
  left: 50%;
  top: 120px;
  transform: translateX(-50%);
  z-index: 999991;
}
.bs-toast__content {
  display: flex;
  min-width: 200px;
  padding: 0 20px;
  background-color: rgba(49, 49, 49, 0.9);
  white-space: nowrap;
  text-align: center;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
  border-radius: 10px;
  font-size: 16px;
  color: #FFFFFF;
}
.bs-toast__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  font-size: 22px;
}
.bs-toast__icon.bi-exclamation-circle {
  font-size: 20px;
}
.bs-toast__tips {
  display: flex;
  align-items: center;
  font-weight: normal;
}

/* loading */
.bs-loading {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 99999;
  width: 100%;
  height: 100%;
}
.bs-loading__mask {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.1);
}
.bs-loading__loader {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 120px;
  height: 120px;
  border-radius: 12px;
  background-color: #fff;
  margin-top: -80px;
  margin-left: -60px;
}
.bs-loading__loader-item {
  position: relative;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  margin: 45% auto;
  font-size: 14px;
  text-indent: -9999em;
  animation: loading 1.3s infinite linear;
}
.bs-loading__loader-item:after {
  content: "";
  position: absolute;
  top: 0;
}
@keyframes loading {
  0%, 100% {
    box-shadow: 0em -3em 0em 0.2em #0099FF, 2em -2em 0 0em #0099FF, 3em 0em 0 -0.5em #0099FF, 2em 2em 0 -0.5em #0099FF, 0em 3em 0 -0.5em #0099FF, -2em 2em 0 -0.5em #0099FF, -3em 0em 0 -0.5em #0099FF, -2em -2em 0 0em #0099FF;
  }
  12.5% {
    box-shadow: 0em -3em 0em 0em #0099FF, 2em -2em 0 0.2em #0099FF, 3em 0em 0 0em #0099FF, 2em 2em 0 -0.5em #0099FF, 0em 3em 0 -0.5em #0099FF, -2em 2em 0 -0.5em #0099FF, -3em 0em 0 -0.5em #0099FF, -2em -2em 0 -0.5em #0099FF;
  }
  25% {
    box-shadow: 0em -3em 0em -0.5em #0099FF, 2em -2em 0 0em #0099FF, 3em 0em 0 0.2em #0099FF, 2em 2em 0 0em #0099FF, 0em 3em 0 -0.5em #0099FF, -2em 2em 0 -0.5em #0099FF, -3em 0em 0 -0.5em #0099FF, -2em -2em 0 -0.5em #0099FF;
  }
  37.5% {
    box-shadow: 0em -3em 0em -0.5em #0099FF, 2em -2em 0 -0.5em #0099FF, 3em 0em 0 0em #0099FF, 2em 2em 0 0.2em #0099FF, 0em 3em 0 0em #0099FF, -2em 2em 0 -0.5em #0099FF, -3em 0em 0 -0.5em #0099FF, -2em -2em 0 -0.5em #0099FF;
  }
  50% {
    box-shadow: 0em -3em 0em -0.5em #0099FF, 2em -2em 0 -0.5em #0099FF, 3em 0em 0 -0.5em #0099FF, 2em 2em 0 0em #0099FF, 0em 3em 0 0.2em #0099FF, -2em 2em 0 0em #0099FF, -3em 0em 0 -0.5em #0099FF, -2em -2em 0 -0.5em #0099FF;
  }
  62.5% {
    box-shadow: 0em -3em 0em -0.5em #0099FF, 2em -2em 0 -0.5em #0099FF, 3em 0em 0 -0.5em #0099FF, 2em 2em 0 -0.5em #0099FF, 0em 3em 0 0em #0099FF, -2em 2em 0 0.2em #0099FF, -3em 0em 0 0em #0099FF, -2em -2em 0 -0.5em #0099FF;
  }
  75% {
    box-shadow: 0em -3em 0em -0.5em #0099FF, 2em -2em 0 -0.5em #0099FF, 3em 0em 0 -0.5em #0099FF, 2em 2em 0 -0.5em #0099FF, 0em 3em 0 -0.5em #0099FF, -2em 2em 0 0em #0099FF, -3em 0em 0 0.2em #0099FF, -2em -2em 0 0em #0099FF;
  }
  87.5% {
    box-shadow: 0em -3em 0em 0em #0099FF, 2em -2em 0 -0.5em #0099FF, 3em 0em 0 -0.5em #0099FF, 2em 2em 0 -0.5em #0099FF, 0em 3em 0 -0.5em #0099FF, -2em 2em 0 0em #0099FF, -3em 0em 0 0em #0099FF, -2em -2em 0 0.2em #0099FF;
  }
}

.hidden{
  display: none !important;
}
.main__wrapper{
  padding-top: 70px;
  min-height: 100vh;
}
.page__wrapper{
  display: flex;
  width: 100%;
  min-height: calc(100vh - 70px);
  /*background-color: #F8FBFF;*/
}
.page__main{
  flex: 1;
}
.content {
  height: calc(100vh - 70px);
  margin-left: 235px;
  /*padding: 0 15px;*/
  /*overflow-y: auto;*/
  /*background-color: var(--white-color);*/
}
.home .page__wrapper{
  padding: 0;
  display: block;
  background-color: #fff;
}
.home .page__main{
  width: 100%;
  min-height: calc(100vh - 70px);
}
.page__input{
  width: 100%;
  height: 48px;
  line-height: 48px;
  border-radius: 10px;
  padding: 0 16px;
  transition: all .3s;
  color: var(--black-color-1);
  border: 1px solid var(--gray-color-1);
}
.page__input::placeholder{
  font-size: 14px;
  color: var(--gray-color-2);
}
.page__input:focus,
.page__input:hover{
  border-color: #b8e3ff;
}
.page__input.page__input--prefix{
  padding-left: 50px;
}
.page__input.page__input--suffix{
  padding-right: 35px;
}
.input__icon{
  position: absolute;
  width: 24px;
  height: 24px;
  line-height: 24px;
  z-index: 10;
}
.input__icon i{
  font-size: 24px;
  color: #bababa;
}
.input--prefix{
  left: 16px;
}
.input--suffix{
  right: 10px;
  cursor: pointer;
}

.page__form-item{
  width: 100%;
  height: max-content;
  position: relative;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
}
.page__form-item:last-child{
  margin-bottom: 0;
}
.page__form-item--label{
  width: var(--form-label-width);
  font-size: 14px;
  color: var(--black-color);
  text-align: right;
  margin-right: 20px;
}
.page__form-item.required .page__form-item--label::before{
  content: '*';
  color: #ff4d4f;
}
.page__form-item--error-message{
  display: none;
}
.page__form-item.error .page__form-item--error-message {
  display: flex;
  position: absolute;
  top: 0;
  left: 530px;
  z-index: 10;
  width: max-content;
  font-size: 12px;
  color: var(--red-color);
  line-height: 1.2;
  margin: 0;
}
.page__form-item.error .page__input{
  border-color: var(--red-color);
}
.page__form-item--content{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.page__form-item--tips{
  font-size: 14px;
  color: #bababa;
  line-height: 1.5;
  width: 59%;
}
.page__form-item--input{
  /*height: 40px;*/
  width: var(--form-input-width);
}
.page__form-item--main{
  display: flex;
  align-items: center;
  position:relative;
}
.form-control:focus{
 box-shadow: none !important;
}

/* header */
header{
  height: 70px;
  width: 100%;
  background-color: #2F81FF;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 40px;
  overflow: visible;
}
.header__logo-wrapper {
  display: flex;
  align-items: center;
  gap: 20px;
  color: var(--white-color);
  font-size: 20px;
}
.header__logo-wrapper:hover span {
  color: var(--white-color);
}
.header__system-logo{
  width: 170px;
}
.header__nav-list{
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 0;
}
.header__nav-item a{
  font-size: 16px;
  color: var(--white-color);
  padding: 8px 20px;
  border-radius: 20px;
  transition: all .3s;
  cursor: pointer;
  font-weight: 500;
  line-height: 1;
}
.header__nav-item.is-active a,
.header__nav-item:hover a{
  background-color: #fff;
  color: #2F81FF;
}
.header__account-wrapper{
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.header__account-box{
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  position: relative;
  cursor: pointer;
}
.header__account-box:hover .header__account-menu {
  display: block;
}

.header__account-avatar{
  height: 40px;
  width: 40px;
  border-radius: 50%;
  background: url("/static/assets/images/defaultImage.png") no-repeat center center;
  background-size: contain
}
.header__account-name{
  font-size: 16px;
  color: #fff;
}
.header__account-icon {
  color: var(--white-color);
  transform-origin: center center;
  transition: transform .4s ease;
}
.header__account-box:hover .header__account-icon {
  transform: rotate(-180deg);
}
.header__account-menu{
  position: absolute;
  display: none;
  width: 180px;
  top: calc(100% - 0px);
  left: 0;
  background-color: #fff;
  box-shadow: 0 0 5px rgba(100,100,100,.3);
  border-radius: 10px;
}
.header__account-menu-list{
  width: 100%;
  padding: 10px;
  margin-bottom: 0;
}
.header__account-menu-item{
  height: 40px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: #5f5f5f;
  font-weight: 500;
  cursor: pointer;
  border-radius: 10px;
  transition: all .3s;
}
.header__account-menu-item:hover{
  background-color: #E4F4FE;
  color: #2F81FF;
}
.header__login-box{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
.header__btn{
  height: 35px;
  width: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: #fff;
  border-radius: 6px;
  cursor: pointer;
}
.header__btn.register{
  border: 1px solid #fff;
}
.header__btn.login{
  background-color: #ffc53d
}
.header__btn.register:hover,
.header__btn.login:hover {
  color: var(--white-color);
  opacity: .95;
}


/* 侧边栏菜单 */
.side-left{
  position: fixed;
  top: 70px;
  left: 0;
  bottom: 0;
  height: inherit;
  width: 220px;
  padding: 30px 16px;
  background-color: var(--white-color);
}
.aside-list__item {
  cursor: pointer;
}
.aside-list__item-title {
  display: flex;
  align-items: center;
  position: relative;
  z-index: 1;
  padding: 12px 14px;
  font-size: 16px;
  color: var(--black-color-1);
  border-radius: 16px;
}
.aside-list__item-title:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: 0;
  height: 100%;
  border-radius: 12px;
  background-color: rgba(222, 235, 255, .4);
  /*transition: width .49s ease;*/
}
.aside-list__item-icon {
  font-size: 20px;
  color: var(--gray-color);
  margin-right: 10px;
}
.aside-list__item.is-active .aside-list__item-title:after {
  width: 100%;
}
.aside-list__item.is-active .aside-list__item-title {
  color: var(--blue-color);
  font-weight: bold;
}
.aside-list__item.is-active .aside-list__item-icon {
  color: var(--blue-color);
}
.aside-list__item:hover .aside-list__item-title,
.aside-list__item:hover .aside-list__item-icon {
  color: var(--blue-color);
}
