html, body, #app {
  height: 100%;
  margin: 0;
  padding: 0;
  color: #333;
  box-sizing: border-box;
}
div {
  box-sizing: border-box;
}

/* 盒子布局常用类 */
.fx {
  display: flex;
}
.fx-c {
  justify-content: center;
}
.fx-end {
  justify-content: end;
}
.fx-sa {
  justify-content: space-around;
}
.fx-sb {
  justify-content: space-between;
}
.fx-fw {
  flex-wrap: wrap;
}
.ai-fs {
  align-items: flex-start;
}
.ai-c {
  align-items: center;
}
.ai-fe {
  align-items: flex-end;
}
.fd-c {
  flex-direction: column;
}
.fd-row-reverse {
  flex-direction: row-reverse;
}
.fx-1 {
  flex: 1;
}
.w-100 {
  width: 100%;
}
.color-white {
  color: #fff;
}
.color-light {
  color: #0197B0;
}

.top {
  position: fixed;
  width: 100%;
  padding: 10px 20px;
  box-sizing: border-box;
  background-color: #4d3148;
  z-index: 999;
}
.top-logo {
  width: 100px;
  height: 40px;
  background: url(../img/logo.png) no-repeat;
  background-size: contain;
}

.menu-panel {
  justify-content: flex-end;
}
.sm-menu-list {
  position: relative;
  margin-left: 20px;
}
.sm-menu-list-overlay {
  display: none;
  position: absolute;
  right: 0;
  top: 64px;
  color: #333;
  border-radius: 5px;
  background-color: #fff;
}
.sm-menu-list-overlay.active {
  display: block;
}
.sm-menu-item {
  width: 30px;
  height: 30px;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
}
.sm-menu-item-line {
  width: 100%;
  height: 4px;
  border-radius: 2px;
  background-color: #ccc;
}
.transparent-bg .sm-menu-item-line {
  background-color: #fff;
}
.transparent-bg .sm-menu-item {
  color: #fff;
  border-color: #fff;
}
.sm-menu-overlay-item {
  min-width: 120px;
  line-height: 24px;
  padding: 5px 10px;
  margin: 5px 0;
}
.menu-list {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 20px;
}
.menu-item {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding: 0 20px;
  font-size: 16px;
  box-sizing: border-box;
  color: #fff;
  cursor: pointer;
}
.menu-item.active {
  color: #409eff;
}
.transparent-bg .menu-item {
  color: #fff;
}

.d-block {
    display: block;
}
.d-flex {
    display: flex;
}
.d-none {
    display: none;
}

.cursor-pointer {
    cursor: pointer;
}
.user-info {
  position: relative;
  padding: 0 20px;
  box-sizing: content-box;
}
.user-login.un-logined {
    color: white;
}
.user-info-nav {
  width: 32px;
  height: 32px;
}
.user-info-nav img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
}
.user-info-overlay {
  display: none;
  position: absolute;
  left: 0;
  top: 64px;
  color: #333;
  border-radius: 5px;
  background-color: #fff;
}
.user-info-overlay.active {
  display: block;
}
.user-info-nick {
    font-weight: bold;
}
.user-info-line {
    width: 100%;
    height: 1px;
    padding: 0 10px;
    background-color: #eee;
}

.lang-list {
  position: relative;
}
.lang-list-overlay {
  display: none;
  position: absolute;
  left: 0;
  top: 64px;
  color: #333;
  border-radius: 5px;
  background-color: #fff;
}
.lang-list-overlay.active {
  display: block;
}
.lang-item {
  min-width: 120px;
  line-height: 24px;
  text-align: center;
  padding: 5px 10px;
  color: #fff;
  border: 1px solid #999;
  border-radius: 5px;
  cursor: pointer;
}
.transparent-bg .lang-item {
  color: #fff;
  border-color: #fff;
}
.lang-overlay-item {
  min-width: 120px;
  line-height: 24px;
  padding: 5px 10px;
  margin: 5px 0;
}

a {
  color: #fff;
  text-decoration: none;
}
.app-name {
  font-size: 16px;
  margin-left: 12px;
}
.app-desc {
  font-size: 14px;
  margin-left: 12px;
  opacity: 0.6;
}
.top-download {
  width: 24px;
  height: 24px;
  background: url(../img/cloud-arrow-down@2x.png) no-repeat;
  background-size: cover;
}
.content {
  overflow-y: auto;
  position: relative;
}
img {
  display: block;
  max-width: 100%;
  max-height: 100%;
}
.bg-cover-center {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.notice-overlay {
    width: 100vw;
    height: 100vh;
    position: fixed;
    display: none;
    justify-content: center;
    align-items: center;
    background-color: rgba(0, 0, 0, 0.2);
}
.notice-overlay.active {
    display: flex;
}
.notice-overlay-inner {
    width: 80%;
    max-width: 360px;
    min-height: 200px;
    padding: 20px;
    border-radius: 5px;
    color: #333;
    background-color: #eee;
    box-shadow: 1px 3px 3px 0px #ccc;
}
.notice-overlay-inner .head {
    font-size: 24px;
}
.overlay-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 40px;
    padding: 0 20px;
    border-radius: 5px;
    font-size: 18px;
    box-sizing: border-box;
    cursor: pointer;
    color: #fff;
}
.overlay-btn.default {
    background-color: #666;
    box-shadow: inset -1px 3px 6px 0px #eee;
}
.overlay-btn.primary {
    background-color: #281723;
    box-shadow: inset -1px 3px 6px 0px #614859;
}

.picture-bottom {
  height: 8rem;
  background-image: url("../img/picture-bottom.png");
}
.bottom-list {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  min-height: 21.75rem;
  color: #fff;
  background-color: #4d3148;
  background-image: url("../img/bottom-right.png");
  background-repeat: no-repeat;
  background-position: right bottom;
}
.bottom-left {
  padding: 1rem;
  width: 5.625rem;
  min-height: 19.8rem;
}
.bottom-list-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.bottom-list-item-title {
  font-size: 1.25rem;
  font-weight: bold;
  margin-top: 2rem;
}
.bottom-icon {
  width: 36px;
  height: 36px;
  margin: 1rem 0;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.bottom-contact {
  background-image: url("../img/bottom-contact.png");
}
.bottom-info {
  background-image: url("../img/bottom-info.png");
}
.bottom-android {
  background-image: url("../img/bottom-android.png");
}
.bottom-apple {
  background-image: url("../img/bottom-apple.png");
}
.icon-email {
  width: 14px;
  height: 14px;
  background-image: url("../img/icon-email.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.icon-tel {
  width: 14px;
  height: 14px;
  background-image: url("../img/icon-tel.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.info-nav {
  background-color: #281723;
  margin: .5rem;
  width: 9.625rem;
  font-size: 1.25rem;
  text-align: center;
  line-height: 2.25rem;
  border-radius: 40px;
  border: 2px solid rgb(255, 255, 255);
}
.bottom-download-text {
  width: 9rem;
  height: 2rem;
  background-color: #D49073;
  border-radius: 40px;
  border: 1px solid rgb(255, 255, 255);
}
.bottom-copy {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 9.12rem;
  padding-bottom: 2rem;
  font-size: 12px;
  color: #fff;
  background-color: #33202f;
}

@media only screen and (max-width: 767px) {
  .hidden-xs-only {
    display:none!important
  }
  .bottom-list {
    flex-direction: column;
  }
  .content-width {
    width: 340px;
  }
}

@media only screen and (min-width: 768px) {
  .hidden-sm-and-up {
    display:none!important
  }
}

@media only screen and (min-width: 768px) and (max-width:991px) {
  .hidden-sm-only {
    display:none!important
  }
  .content-width {
    width: 540px;
  }
}

@media only screen and (max-width: 991px) {
  .hidden-sm-and-down {
    display:none!important
  }
}

@media only screen and (min-width: 992px) {
  .hidden-md-and-up {
    display:none!important
  }
}

@media only screen and (min-width: 992px) and (max-width:1199px) {
  .hidden-md-only {
    display:none!important
  }
  .content-width {
    width: 800px;
  }
}

@media only screen and (max-width: 1199px) {
  .hidden-md-and-down {
    display:none!important
  }
}

@media only screen and (min-width: 1200px) {
  .hidden-lg-and-up {
    display:none!important
  }
}

@media only screen and (min-width: 1200px) and (max-width:1919px) {
  .hidden-lg-only {
    display:none!important
  }
  .content-width {
    width: 1000px;
  }
}

@media only screen and (max-width: 1919px) {
  .hidden-lg-and-down {
    display:none!important
  }
}

@media only screen and (min-width: 1920px) {
  .hidden-xl-only {
    display:none!important
  }
  .content-width {
    width: 1400px;
  }
}
