body {
  font-family: "Microsoft YaHei", Tahoma, "HelveticaNeue-Light",
    "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;

  margin: 0;
  opacity: 0;
  padding: 0;
  transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);
  width: 100%;
}

body.ready {
  opacity: 1;
}

.nav {
  color: #fff;
  font-size: 24px;
  line-height: 60px;
  text-align: center;

  background-color: #666;
  height: 60px;
  transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);
}

a {
  text-decoration: none;
  color: #fff;
}

.logo {
  width: 150px;
  margin: 50px auto 30px;
}

.logo img {
  width: 150px;
}

.fonts {
  margin: 30px auto 0;
}

.button_download {
  display: block;
  background-color: #666;
  border-radius: 6px;
  transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);

  height: 45px;
  margin: 0 auto;
  width: 200px;
  
  color: #fff;
  font-weight: bold;
  line-height: 45px;
  text-align: center;
}

.method {
  height: 40px;
}

.fm_icon {
  background-color: #666;
  border-radius: 50%;
  float: left;
  transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);

  height: 30px;
  margin: 0 0 0 0;
  width: 30px;

  color: #fff;
  font-weight: 900;
  line-height: 30px;
  text-align: center;
}

.fm_font {
  float: left;
  margin-left: 5px;

  color: #666666;
  font-weight: 600;
  line-height: 30px;
}

.fm_font1 {
  float: left;
  margin-left: 5px;

  color: #ff0000;
  font-weight: 500;
  line-height: 25px;
}

.fm_fonts {
  height: 14px;
  margin: 0 0 0px 31px;

  color: #ef9319;
  font-size: 18px;
  font-weight: 600;
  line-height: 0px;
}

.foot1 {
  color: #ffa000;
  font-weight: 600;
  margin: 5px 0 0 5px;
}

.foot2 {
  color: #666666;
  font-weight: 600;
  margin: 5px 0 0 5px;
}

.ct_font {
  text-align: center;
}

#mobile-qr {
  height: 180px;
  width: 180px;
  margin: auto;
}

#mobile-qr img {
  width: 180px;
}

.mobile-desc {
  margin-top: 20px;
  text-align: center;
}

.mobile-desc #current-domain {
  position: relative;
  display: inline-block;
  background-color: #fff;
  border-radius: 4px;
  box-sizing: border-box;

  margin-top: 10px;
  min-width: 200px;
  padding: 4px 10px 4px 30px;
}

.mobile-desc #current-domain:before {
  position: absolute;
  top: 4px;
  left: 5px;

  background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTguMS4xLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDE1IDE1IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxNSAxNTsiIHhtbDpzcGFjZT0icHJlc2VydmUiIHdpZHRoPSI1MTJweCIgaGVpZ2h0PSI1MTJweCI+CjxnPgoJPHBhdGggZD0iTTE0Ljk4Miw3QzE0LjczNiwzLjI1NiwxMS43NDQsMC4yNjMsOCwwLjAxN1YwSDcuNUg3djAuMDE3QzMuMjU2LDAuMjYzLDAuMjYzLDMuMjU2LDAuMDE3LDdIMHYwLjUgICBWOGgwLjAxN0MwLjI2MywxMS43NDQsMy4yNTYsMTQuNzM2LDcsMTQuOTgyVjE1aDAuNUg4di0wLjAxOGMzLjc0NC0wLjI0Niw2LjczNi0zLjIzOCw2Ljk4Mi02Ljk4MkgxNVY3LjVWN0gxNC45ODJ6IE00LjY5NSwxLjYzNSAgIEM0LjIxMiwyLjI3NywzLjgxMSwzLjA4MiwzLjUxOSw0SDIuMDIxQzIuNjczLDIuOTgzLDMuNTk5LDIuMTYsNC42OTUsMS42MzV6IE0xLjQ5OCw1aDEuNzU4QzMuMTIyLDUuNjMyLDMuMDM3LDYuMzAzLDMuMDEsN0gxLjAxOSAgIEMxLjA3Miw2LjI5NiwxLjIzOCw1LjYyMywxLjQ5OCw1eiBNMS4wMTksOEgzLjAxYzAuMDI3LDAuNjk3LDAuMTEyLDEuMzY4LDAuMjQ2LDJIMS40OThDMS4yMzgsOS4zNzcsMS4wNzIsOC43MDQsMS4wMTksOHogICAgTTIuMDIxLDExaDEuNDk3YzAuMjkyLDAuOTE4LDAuNjkzLDEuNzIzLDEuMTc3LDIuMzY1QzMuNTk5LDEyLjg0LDIuNjczLDEyLjAxOCwyLjAyMSwxMXogTTcsMTMuOTM2ICAgQzUuOTcyLDEzLjY2MSw1LjA4NywxMi41NTcsNC41NSwxMUg3VjEzLjkzNnogTTcsMTBINC4yNjlDNC4xMjgsOS4zNzcsNC4wMzksOC43MDQsNC4wMSw4SDdWMTB6IE03LDdINC4wMSAgIGMwLjAyOS0wLjcwNCwwLjExOC0xLjM3NywwLjI1OS0ySDdWN3ogTTcsNEg0LjU1QzUuMDg3LDIuNDQzLDUuOTcyLDEuMzM5LDcsMS4wNjVWNHogTTEyLjk3OSw0aC0xLjQ5NiAgIGMtMC4yOTMtMC45MTgtMC42OTMtMS43MjMtMS4xNzgtMi4zNjVDMTEuNCwyLjE2LDEyLjMyNywyLjk4MywxMi45NzksNHogTTgsMS4wNjVDOS4wMjcsMS4zMzksOS45MTMsMi40NDMsMTAuNDUsNEg4VjEuMDY1eiBNOCw1ICAgaDIuNzNjMC4xNDIsMC42MjMsMC4yMjksMS4yOTYsMC4yNiwySDhWNXogTTgsOGgyLjk5Yy0wLjAyOSwwLjcwNC0wLjExOCwxLjM3Ny0wLjI2LDJIOFY4eiBNOCwxMy45MzZWMTFoMi40NSAgIEM5LjkxMywxMi41NTcsOS4wMjcsMTMuNjYxLDgsMTMuOTM2eiBNMTAuMzA1LDEzLjM2NWMwLjQ4My0wLjY0MywwLjg4NS0xLjQ0NywxLjE3OC0yLjM2NWgxLjQ5NiAgIEMxMi4zMjcsMTIuMDE4LDExLjQsMTIuODQsMTAuMzA1LDEzLjM2NXogTTEzLjUwMiwxMGgtMS43NThjMC4xMzQtMC42MzIsMC4yMTktMS4zMDMsMC4yNDYtMmgxLjk5ICAgQzEzLjkyOCw4LjcwNCwxMy43NjIsOS4zNzcsMTMuNTAyLDEweiBNMTEuOTksN2MtMC4wMjctMC42OTctMC4xMTItMS4zNjgtMC4yNDYtMmgxLjc1OGMwLjI2LDAuNjIzLDAuNDI2LDEuMjk2LDAuNDc5LDJIMTEuOTl6IiBmaWxsPSIjYThhOGE4Ii8+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+Cg==");
  background-position: center;
  background-size: contain;

  content: "";
  height: 20px;
  width: 20px;
}

.mobile-desc #current-domain:after {
  position: absolute;
  top: -5px;
  left: -5px;
  z-index: -1;

  background-color: #ccc;
  content: "";
  height: calc(100% + 10px);
  width: calc(100% + 10px);
}

.tutorial-wrapper {
  margin: 50px 0;
}

.tutorial {
  left: 0;
  right: 0;
  margin: auto;
  width: 285px;
}

.button-tutorial {
  display: inline-block;
  border-radius: 20px;
  height: 40px;
  width: 140px;

  color: #fff;
  line-height: 40px;
  text-align: center;
}

.button-tutorial.ios {
  background-color: #666;
}

.button-tutorial.android {
  background-color: #666;
}

.button-tutorial.ios:hover {
  background-color: #999;
}

.button-tutorial.android:hover {
  background-color: #999;
}

.overlay {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;

  display: none;
  background: rgba(0, 0, 0, 0.7);
  transition: opacity 500ms;
}

.overlay:target {
  display: block;
}

.popup {
  position: relative;
  background: #fff;
  box-sizing: border-box;

  min-width: 790px;
  width: 790px;
  margin: 70px auto;
  padding: 20px;
  transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);
}

.popup .close {
  position: absolute;
  right: 20px;
  top: 12px;
  transition: all 200ms;
  z-index: 1;

  color: #333;
  font-size: 30px;
  font-weight: bold;
  text-decoration: none;
}

.popup .close:hover {
  color: #999999;
}

.popup .app-icon {
  position: absolute;
}

.popup .app-icon:before {
  position: absolute;
  z-index: 1;

  display: block;
  background: url("../img/logo512.png") center / contain no-repeat;
  content: "";
  height: 100%;
  width: 100%;
  transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);
}

.popup .app-icon:after {
  content: attr(data-appname);
  position: absolute;
}

/* iOS App Icon Placement*/
.popup .app-icon.ios-1 {
  left: 40px;
  top: 165px;
  height: 38px;
  width: 38px;
  opacity: 0.7;
  font-size: 0;
}

.popup .app-icon.ios-1:after {
  display: flex;
  align-items: center;
  justify-content: center;

  left: 0;
  right: 0;
  top: 40px;
  width: 100%;

  color: #fff;
  font-size: 8px;
  text-align: center;
  white-space: nowrap;
}

.popup .app-icon.ios-2 {
  right: 206px;
  top: 291px;
  height: 19px;
  width: 19px;
  font-size: 0;
}

.popup .app-icon.ios-2:after {
  left: 28px;
  top: 50%;
  transform: translateY(-50%);

  font-size: 10px;
  white-space: nowrap;
}

.popup [data-cert] {
  position: absolute;
  font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, sans-serif;
  user-select: none;
}

.popup .app-cert-1 {
  font-size: 9px;
  left: 75px;
  top: 320px;
  width: 135px;
}

.popup .app-cert-2 {
  overflow: hidden;
  left: 310px;
  top: 498px;
  width: 170px;

  font-size: 10px;
  font-weight: bold;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.popup .app-cert-3 {
  left: 516px;
  top: 149px;
  height: 63px;
  width: 226px;
  padding: 18px 13px 0;
  box-sizing: border-box;
  overflow: hidden;

  color: #75747a;
  font-size: 9px;
  text-align: left;
}

.popup .app-cert-3:before {
  position: absolute;
  right: -42px;
  top: -42px;

  height: 85px;
  width: 85px;
  transform: rotate(45deg);

  background: #ff0000;
  content: "";
}

.popup .app-cert-3:after {
  position: absolute;
  top: 2px;
  right: 7px;

  color: #fff;
  content: "4";
  font-size: 30px;
  font-weight: 300;
}

.popup .app-cert-4 {
  overflow: hidden;
  left: 528px;
  top: 222px;
  width: 200px;

  color: #027bff;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.popup .app-cert-5 {
  left: 528px;
  top: 262px;
  width: 200px;

  color: #75747a;
  font-size: 9px;
  text-align: left;
}

.popup .app-cert-6 {
  left: 535px;
  top: 395px;
  width: 188px;

  font-size: 12px;
  font-weight: bold;
}

/*Android App Icon Placement*/
.popup .app-icon.android-1 {
  left: 60px;
  top: 198px;
  height: 22px;
  width: 22px;
  font-size: 0;
}

.popup .app-icon.android-1:before {
  opacity: 0.5;
}

.popup .app-icon.android-1:after {
  left: 30px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  z-index: 1;

  color: #000;
  white-space: nowrap;
  font-size: 12px;
}

.popup .app-icon.android-2 {
  font-size: 0;
  height: 22px;
  width: 22px;
  right: 217px;
  top: 198px;
}

.popup .app-icon.android-2:after {
  left: 30px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  z-index: 1;

  color: #000;
  white-space: nowrap;
  font-size: 12px;
}

.popup .content {
  text-align: center;
  position: relative;
}

.popup img {
  width: 768px;
}

.instruction-overlay {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;

  background: rgba(0, 0, 0, 0.5);
  height: 100%;
  width: 100%;
  opacity: 0;
  transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);
  visibility: hidden;
  -webkit-backdrop-filter: blur(10px);
}

.instruction-overlay.show {
  opacity: 1;
  visibility: visible;
}

.instruction {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;

  background: #fff;
  height: 100%;
  width: 100%;
  opacity: 0;
  overflow: auto;
  transform: translateY(100%);
  transition: all 400ms cubic-bezier(0.4, 0, 0.2, 1);
}

.instruction.show {
  opacity: 1;
  transform: translateY(0);
}

.instruction .header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;

  display: flex;
  align-items: center;
  height: 45px;
  width: 100%;
  padding: 0 20px;

  background-color: rgba(255, 255, 255, 0.8);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  box-sizing: border-box;

  color: #666;
  font-size: 14px;
  font-weight: bold;
}

.instruction .header .close-instruction {
  color: #666;
  font-size: 28px;
  margin-left: auto;
}

.instruction .content {
  box-sizing: border-box;
  overflow: scroll;

  height: calc(100% - 45px - 60px);
  margin-bottom: 60px;
  margin-top: 45px;
  padding: 20px;

  -webkit-overflow-scrolling: touch;
}

.instruction .content-image-wrapper {
  position: relative;
}

.instruction .content.ios [data-cert] {
  position: absolute;
}

.instruction .content.ios .app-cert-1 {
  left: 31.5%;
  top: 14%;
  width: 46%;

  font-size: 2.2vw;
  text-align: center;
}

.instruction .content.ios .app-cert-2 {
  overflow: hidden;
  left: 36.5%;
  top: 45.8%;
  width: 46%;

  font-size: 3vw;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.instruction .content.ios .app-cert-4 {
  overflow: hidden;
  left: 23.5%;
  top: 59.3%;
  width: 57%;

  color: #027bff;
  font-size: 2.8vw;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  
}

.instruction .content.ios .app-cert-5 {
  left: 23.5%;
  top: 63%;
  width: 57%;

  color: #75747a;
  font-size: 1.8vw;
}

.instruction .content.ios .app-cert-6 {
  left: 33.5%;
  top: 83.5%;
  width: 38%;

  font-size: 2.2vw;
  font-weight: bold;
  text-align: center;
}

.instruction .content.ios .app-icon {
  position: absolute;
  left: 23.5%;
  top: 66.7%;

  font-size: 0;
  height: 2.5%;
  width: 5.5%;
}

.instruction .content.ios .app-icon:before {
  position: absolute;
  z-index: 1;

  display: block;
  background: url("../img/logo512.png") center / contain no-repeat;
  content: "";
  transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);

  height: 100%;
  width: 100%;
}

.instruction .content.ios .app-icon:after {
  position: absolute;
  left: 120%;
  top: 50%;

  content: attr(data-appname);
  font-size: 2.2vw;
  transform: translateY(-50%);
  white-space: nowrap;
}

.instruction .info {
  position: relative;
  margin: 0 0 8px;
  padding: 6px;

  border-radius: 6px;
  border: 1px solid #ff0000;
  box-sizing: border-box;

  color: #ff0000;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
}

.instruction .info:before {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  z-index: -1;

  animation: fadeIn 800ms infinite alternate;
  background-color: #ffebf1;
  border-radius: 6px;
  box-shadow: 0 0 12px #ffebf1;
  content: "";
}

.instruction .content.android {
  height: calc(100% - 45px);
  margin-bottom: 0;
}

.instruction .content img {
  width: 100%;
}

.instruction .footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;

  display: flex;
  align-items: center;

  background-color: #666;
  box-sizing: border-box;
  height: 60px;
  width: 100%;
  padding: 0 20px;
}

.instruction .footer .icon {
  background: url(../img/logo512.png) center / contain no-repeat;
  border-radius: 4px;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);

  height: 40px;
  width: 40px;
  margin-right: 16px;
}

.instruction .footer .label {
  color: #fff;
  font-size: 14px;
  font-weight: bold;
}

.instruction .footer .profile-download {
  display: flex;
  align-items: center;
  justify-content: center;

  background-color: #fff;
  border-radius: 40px;
  height: 40px;
  margin-left: auto;
  padding: 0 16px;

  color: #666;
  font-size: 14px;
  font-weight: bold;
}

.instruction .footer .profile-download .arrow {
  animation: arrow 1s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

@keyframes arrow {
  0% {
    transform: translateX(-2px);
    opacity: 0;
  }
  50% {
    transform: translateX(0);
    opacity: 1;
  }
  100% {
    transform: translateX(2px);
    opacity: 0;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@media (max-width: 768px) {
  .fonts {
    width: 310px;
  }
}
