/* Light - 300 */
@font-face {
  font-family: 'Noto Sans CJK TC';
  src: url('/fonts/NotoSansTC-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

/* Regular - 400 */
@font-face {
  font-family: 'Noto Sans CJK TC';
  src: url('/fonts/NotoSansTC-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Medium - 500 */
@font-face {
  font-family: 'Noto Sans CJK TC';
  src: url('/fonts/NotoSansTC-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* SemiBold - 600 */
@font-face {
  font-family: 'Noto Sans CJK TC';
  src: url('/fonts/NotoSansTC-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* Bold - 700 */
@font-face {
  font-family: 'Noto Sans CJK TC';
  src: url('/fonts/NotoSansTC-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* 全域套用 */
* {
  -webkit-tap-highlight-color: transparent;
  box-sizing: border-box;
  font-family: 'Noto Sans CJK TC', sans-serif !important;
  -moz-osx-font-smoothing: grayscale;
  /* outline: 1px solid #00eaff50; */
}

/* 針對 Chrome, Safari, Edge */
html::-webkit-scrollbar {
  display: none;
}

html {
  font-size: 1vw;
  overflow-x: hidden;
  width: 100%;
  scrollbar-width: none;
  -ms-overflow-style: none;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* ------------------------------------------------------------ */
/* 預設 */
body {
  width: 100%;
  background-color: #000;
  font-weight: 400;
  line-height: 1.3;
  overflow: hidden;
}

a {
  display: inline-block;
  text-decoration: none;
}

span {
  display: inline-block;
}

img {
  width: 100%;
  display: inline-block;
  vertical-align: middle !important;
}

body.menu-opened {
  overflow: hidden;
  position: fixed;
  width: 100%;
}

/* ------------------------------------------------------------ */
/* wrapper */
.wrapper {
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
}

/* ------------------------------------------------------------ */
/* 主內容 共用設定 */
.container {
  position: relative;
  display: block !important;
  width: 100%;
  height: auto;
}

.main {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;

}

.scene {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}

.main-general .scene-max {
  width: 100%;
  padding-left: 10%;
}

#main-content {
  padding-top: 76px;
}

/* ------------------------------------------------------------ */
/* loading */
.loading {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.47);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 900;
}

.lds-dual-ring {
  display: inline-block;
  width: 8rem;
  height: 8rem;
}

.lds-dual-ring:after {
  content: ' ';
  display: block;
  width: 6.4rem;
  height: 6.4rem;
  margin: 0.8rem;
  border-radius: 50%;
  border: 0.6rem solid #d80414;
  border-color: #d80414 transparent #d80414 transparent;
  animation: lds-dual-ring 1.2s linear infinite;
}

@keyframes lds-dual-ring {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/* ------------------------------------------------------------ */
/* popup */
.popup {
  /* display: block; */
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.7);
  z-index: 9999;
  justify-content: center;
  align-items: center;
}

.popup.show {
  display: flex;
}

.popup .popup_wrap {
  width: 50rem;
  min-height: 100%;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

.popup .content .content_bg {
  background: url(/images/popup.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: 47rem;
  height: 30rem;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.popup .content_bg .popup_close_icon {
  width: 2.5rem;
  height: 2.5rem;
  position: absolute;
  top: 2rem;
  right: 2rem;
  cursor: pointer;
}

.popup .popup_header {
  font-size: 4rem;
  font-weight: 500;
  color: #FFF;
  text-align: center;
  letter-spacing: 0.1rem;
  text-indent: 0.1rem;
  margin-top: 9.5rem;
}

.popup .popup_header.register-title {
  text-indent: 1rem;
  margin-top: 4.8rem;
  font-size: 4.5rem;
}

.popup .popup_header.registe-repeat-title,
.popup .popup_header.registe-mistake-title {
  font-size: 4.5rem;
  margin-top: 4.9rem;
}

.popup .popup_header.exchange-title {
  font-size: 3rem;
  margin-top: 6.7rem;
}

.popup .popup_header.exchange-prize-title {
  font-size: 3.3rem;
  margin-top: 7.9rem;
}

.popup .popup_header.exchange-insufficient-title {
  font-size: 4rem;
  margin-top: 10.9rem;
}

.popup .popup_body {
  color: #FFF;
  font-size: 2.5rem;
  text-align: center;
  font-weight: 400;
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
  line-height: 3.2rem;
}

.popup .popup_body.kv-browser {
  font-size: 3rem;
  margin-top: -9.4rem;
  margin-left: -1.2rem;
  letter-spacing: 0.05rem;
  text-indent: 0.05rem;
  line-height: 3.7rem;
}

.popup .popup_body.kv-browser .browser-alert {
  width: 38.5rem;
  height: auto;
  cursor: default;
  position: relative;
  margin: 1.3rem auto 0 auto;
}

.popup .popup_body.points-redeem-body {
  font-size: 1.7rem;
  line-height: 2.3rem;
  margin-top: 0.3rem;
}

.popup .popup_body.register-text {
  font-size: 2.8rem;
  line-height: 3.3rem;
  margin-top: 1rem;
  letter-spacing: 0.1rem;
  text-indent: 0.1rem;
}

.popup .popup_body.points-redeem-body .popup-notice {
  font-size: 1.7rem;
  margin-top: 1rem;
  color: #ffff00;
  letter-spacing: 0.1rem;
  text-indent: 0.1rem;
}

.popup .popup_body.register-text .popup-notice {
  color: #ffff00;
}

.popup .popup_body.exchange-prize-text .popup-notice {
  color: #ffb400;
}

.popup .popup_body span:nth-of-type(4) {
  margin-top: 1rem;
}

.popup .popup_body.exchange-prize-text {
  margin-top: 1rem;
  line-height: 3.4rem;
}

.popup .popup_body.registe-repeat-text,
.popup .popup_body.registe-mistake-text {
  margin-top: 1.8rem;
  font-size: 2.8rem;
  line-height: 3.4rem;
  letter-spacing: 0.1rem;
  text-indent: 0.1rem;
}

/* 按鈕 */
.popup .popup_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 2rem;
}

.popup .popup_btn .btn-copied {
  width: 100%;
  height: 100%;
  background-color: #95080a;
  pointer-events: none;
}

.popup .popup_btn a {
  display: inline-block;
  background: #000;
  color: #FFF;
  font-size: 2.3rem;
  font-weight: 300;
  letter-spacing: 1.2rem;
  text-indent: 1.2rem;
  padding: 0.5rem 2.5rem 0.5rem 2.5rem;
  text-align: center;
  margin: 0 0.5rem;
  text-decoration: none;
  box-shadow:
    0 2px 2px rgba(0, 0, 0, 0.5),
    inset 0px 1px 2px rgba(255, 255, 255, 0.578),
    inset 0px -1px 2px rgba(0, 0, 0, 0.8);
}

.popup .popup_btn.kv-browser-btn {
  margin-top: 1.3rem;
}

.popup .popup_btn.exchange-confirm {
  margin-top: 0.7rem;
}

.popup .popup_btn.exchange-btns {
  margin-top: 4.6rem;
}

.popup .popup_btn.register-btns {
  margin-top: 2.8rem;
}

.popup .popup_btn.registe-repeat {
  margin-top: 2.2rem;
}

.popup .popup_btn.kv-browser-btn a {
  font-size: 2.7rem;
  padding: 0.5rem 3rem 0.5rem 3rem;
  letter-spacing: 0.3rem;
  text-indent: 0.3rem;
}

.popup .popup_btn.registe-repeat a,
.popup .popup_btn.exchange-confirm a {
  letter-spacing: 1.5rem;
  text-indent: 1.5rem;
  padding: 0.5rem 2rem 0.5rem 2rem;
}

.popup .popup_btn.register-btns a {
  font-size: 2.6rem;
  padding: 0rem 1.7rem;
  line-height: 4.5rem;
  margin: 0 0.5rem;
  letter-spacing: 0.3rem;
  text-indent: 0.3rem;
  padding-bottom: 0.2rem;
}

.popup .popup_btn.exchange-confirm a {
  letter-spacing: 1.2rem;
  text-indent: 1.2rem;
  padding: 0rem 2.5rem;
  padding-bottom: 0.1rem;
  line-height: 4rem;
}

.popup .popup_btn.exchange-btns a {
  font-size: 2.3rem;
  padding: 0rem 2.5rem;
  line-height: 4rem;
  margin: 0 1.2rem;
  letter-spacing: 0.2rem;
  text-indent: 0.2rem;
  padding-bottom: 0.1rem;
}





/* ------------------------------------------------------------ */
/* 專門For pc設定 */
@media (min-width: 1025px) and (max-width: 1401px) {
  html {
    font-size: 0.714vw;
  }
}

@media (min-width: 1401px) {
  html {
    font-size: 10px;
  }

  .main-general .scene-max {
    padding-left: clamp(10%, calc(10% + (100vw - 1400px) * 0.2), 20%);
    box-sizing: border-box;
  }
}

/* ------------------------------------------------------------ */
/* 專門For Tablet設定 */
@media (max-width: 1024px) {
  .main-general .scene-max {
    width: 100%;
    padding: 0;
  }

  #main-content {
    padding-top: 10.4rem;
  }

}


/* ------------------------------------------------------------ */
/* 專門For Ｍobile設定 */
@media (max-width: 640px) {
  html {
    font-size: 1.5625vw;
    -webkit-text-size-adjust: 100% !important;
    -moz-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
  }

  #main-content {
    padding-top: 7.6rem;
  }

  .main-general .scene-max {
    padding: 0 2.5rem 2rem 2.5rem;
  }

  .popup .popup_wrap {
    min-height: 100%;
  }

  .popup .content {
    padding: 3rem 4%;
  }

  .popup .content_bg img {
    width: 3.4rem;
    height: 3.4rem;
  }

  .popup .popup_header {
    margin-bottom: 0.6rem;
  }

  .popup .popup_body {
    margin-top: 1.6rem;
  }

  .popup .popup_body .body-content {
    margin: -4rem 0 -1rem 0;
    line-height: 3.5rem;
  }

  .popup .popup_btn a {
    font-size: 2.4rem;
    ;
    letter-spacing: 1rem;
    text-indent: 1rem;
    padding: 0.8rem 2rem 1rem 2rem;
  }

  .popup .popup_body.kv-browser {
    font-size: 17px;
    margin-top: -65px;
    margin-left: -0.2rem;
    letter-spacing: 0.5px;
    text-indent: 0.5px;
    line-height: 24px;
  }
}