@charset "UTF-8";
/* 導入字體 */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC&family=Noto+Serif+JP&display=swap");
@font-face {
  font-family: "meco";
  /* 字體名稱 */
  src: url("../assets/font-family_meco/FontsFree-Net-Arlon-UltraBold.ttf") format("truetype");
  /* 指向TTF文件的路径 */
}
html,
body {
  margin: 0;
  padding: 0;
  color: white;
  font-family: "meco";
}

body {
  transition: background 0.3s;
}

ul {
  list-style-type: none;
  padding: 0;
  margin-bottom: 0;
}

a {
  text-decoration: none !important;
  color: black;
}

section {
  overflow: hidden;
}

button:focus {
  outline: none;
}

::-webkit-scrollbar {
  width: 6px;
}

::-webkit-scrollbar-thumb {
  background-color: #a8a8a8;
  /* 拇指颜色 */
}

::-webkit-scrollbar-track {
  background: white;
  /*轨道颜色 */
}

:root {
  --T1-color: rgb(165, 41, 96);
  --T2-color: rgb(202, 88, 104);
  --T3-color: rgb(123, 139, 111);
  --T4-color: rgb(134, 150, 167);
  --T5-color: rgb(122, 114, 129);
  --T6-color: rgb(209, 94, 52);
  --T7-color: rgb(240, 192, 89);
  --T8-color: rgb(57, 60, 92);
  --navbar-height: 108px;
  --arrow-base: 50px;
  --arrow-weight: 5px;
  --font-size-main: 108px;
  --font-size-minor: 48px;
  --font-size-intro: 36px;
  --font-size-info: 30px;
  --font-family-en: "meco", "Noto Sans TC";
  --font-family-zh: "Noto Sans TC", sans-serif;
  --percent-bar-height: 48px;
}

.font-main {
  font-size: var(--font-size-main);
}

.font-minor {
  font-size: var(--font-size-minor);
}
.font-intro {
  font-size: var(--font-size-intro);
}
.font-info {
  font-size: var(--font-size-info);
}

.page-height {
  height: calc(100vh - var(--navbar-height));
}
@media(min-width:1199.98px) {
  .page-height {
    min-height: 980px;
  }
}
@media(max-width:1199.98px) {
  .page-height {
    height: auto;
  }
}
.model-box {
  height: 100vh;
  width: 100%;
  background-color: var(--T1-color);
  overflow: hidden;
}
.model-box .container {
  max-width: 1920px !important;
  height: calc(100% - var(--percent-bar-height) * 1.75);
  padding-top: var(--navbar-height);
}
.model-box .container .model-previous {
  cursor: pointer;
}
.model-box .container .model-previous .arrow-previous {
  background: #a6a1a7;
  width: var(--arrow-base);
  height: calc(var(--arrow-base) * 2);
  cursor: pointer;
  transition: transform 0.3s;
  clip-path: polygon(var(--arrow-base) 0, var(--arrow-base) var(--arrow-weight), var(--arrow-weight) var(--arrow-base), var(--arrow-base) calc(var(--arrow-base) * 2 - var(--arrow-weight)), var(--arrow-base) calc(var(--arrow-base) * 2), 0 var(--arrow-base));
}

.model-box .container .model-previous:hover .arrow-previous {
  transform: scale(1.1);
}
.model-box .container .model-previous:active .arrow-previous {
  transform: scale(1);
}
.model-box .container .model-next {
  cursor: pointer;
}
.model-box .container .model-next .arrow-next {
  background: #a6a1a7;
  width: var(--arrow-base);
  height: calc(var(--arrow-base) * 2);
  cursor: pointer;
  transition: transform 0.3s;
  clip-path: polygon(0 0, var(--arrow-base) var(--arrow-base), 0 calc(var(--arrow-base) * 2), 0 calc(var(--arrow-base) * 2 - var(--arrow-weight)), calc(var(--arrow-base) - var(--arrow-weight)) var(--arrow-base), 0 var(--arrow-weight));
}
.model-box .container .model-next:hover .arrow-next {
  transform: scale(1.1);
}
.model-box .container .model-next:active .arrow-next {
  transform: scale(1);
}
@media(max-width:991.98px) {
  .model-box .container .model-previous .arrow-previous {
    --arrow-base: 30px
  }
  .model-box .container .model-next .arrow-next {
    --arrow-base: 30px
  }
}
.model-box .container model-viewer {
  height: 100%;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.model-box .container model-viewer::part(default-progress-bar) {
  display: none !important;
}
.model-box .container model-viewer::part(default-ar-button) {
  display: none !important;
}
.model-box .container .percent-bar {
  height: var(--percent-bar-height);
  font-size: 32px;
  font-weight: 700;
}
.model-box .container .percent-bar .percent-bar-l {
  width: 25%;
  background: white;
  transition: color 0.3s;
}

.model-box .container .percent-bar .percent {
  width: 120px;
  background-color: var(--T1-color);
}
.model-box .container .percent-bar .percent-bar-r {
  height: 100%;
  width: calc(75% - 120px);
  background: white;
}
@media(max-width:1199.98px) {
  .model-box .container .percent-bar .percent-bar-l {
    width: 60%;
  }
  .model-box .container .percent-bar .percent-bar-r {
    width: calc(40% - 120px);
  }
}

header.container {
  max-width: 100% !important;
  height: var(--navbar-height);
  font-family: "meco";
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  border-bottom: 2px solid #cecbce;
  transition: background 0.3s;
}
header.container .menu button {
  border-radius: 5px;
  background-color: #2a2f39;
}

header.container .menu ul {
  height: 100%;
}
header.container .menu ul li {
  width: fit-content;
}
header.container .menu ul li a {
  font-weight: 700;
  font-size: var(--font-size-info);
  color: white;
}
header.container .menu ul li a.active {
  border-bottom: 2px solid white;
}
header.container .menu ul li a:hover {
  border-bottom: 2px solid white;
}

header.container .social-media-link ul {
  height: 100%;
  min-height: 66px;
}
header.container .social-media-link ul li {
  cursor: pointer;
}
header.container .social-media-link button {
  border: none;
  background-color: transparent;
}
header.container .social-media-link img {
  max-width: 48px;
  max-height: 48px;
}

.modal-dialog .modal-content {
  color: white;
  height: 100vh;
  max-width: 100%;
  margin: 0;
}
.modal-dialog .modal-content .modal-header .translate {
  border: none;
  background-color: transparent;
}

@media (min-width: 576px) {
  .modal-dialog {
    max-width: 100%;
    height: 100vh;
    margin: 0;
  }
  .modal-dialog .modal-content {
    height: 100%;
  }
}
.modal-body ul li.nav {
  margin-right: auto;
  margin-left: auto;
}

.modal-body ul li.nav a {
  color: white;
  font-weight: 700;
  font-size: 24px;
}

.modal-body button {
  border: none;
  background-color: transparent;
}

.modal-body ul {
  border-bottom: 2px solid white;
}
.modal-body ul li ul li a img {
  width: 48px;
}

.justify {
  height: 66px;
}

.translate {
  position: relative;
  z-index: 99999;
}

.translate button {
  border: none;
  background-color: transparent;
}

.modal-body .lan {
  color: white;
}

.modal-body .lan:hover {
  color: red;
}

.logo img {
  max-height: 66px;
}

.about-meco {
  background: #b98650;
  padding-top: var(--navbar-height);
}
.about-meco .container {
  max-width: 1920px !important;
  width: 100%;
}
.about-meco .font-intro {
  font-size: 20px;
  font-family: var(--font-family-zh);
  height: 90%;
  margin-top: 5%;
}
.about-meco .font-intro li {
  padding-bottom: 8%;
}
.about-meco .about-detail {
  font-size: 26px;
  font-family: var(--font-family-zh);
  margin-bottom: 0;
}
@media(min-width:1199.98px) {
  .about-meco .container {
    height: calc(100vh - var(--navbar-height));
    min-height: 1080px;
  }
  .about-meco .font-intro {
    margin-top: 0;
    overflow-y: auto;
  }
}
@media(max-width:1199.98px) {
  .about-meco .font-main {
    font-size: var(--font-size-minor);
  }
  .about-meco .font-intro {
    margin-top: 0;
  }
  .about-meco .container {
    min-height: calc(100vh - var(--navbar-height));
    max-width: 1920px !important;
    width: 100%;
  }
}
@media(max-width:991.98px) {
  .about-meco .about-detail {
    font-size: 18px;
  }
}
.team-meco {
  background: #627989;
  padding-top: var(--navbar-height);
}
.team-meco .container {
  max-width: 1920px !important;
  width: 100%;
}
.team-meco .team-group {
  height: 90%;
  margin-top: 5%;
}
.team-meco .team-group .team-member {
  display: inline-block;
  width: calc(50% - 2px);
}
.team-meco .team-group .team-member .team-member-image {
  width: 45%;
  aspect-ratio: 1/1;
  border-radius: 20px;
}
.team-meco .team-group .team-member .team-member-image img {
  max-width: 100%;
  border-radius: 20px;
}
.team-meco .team-group .team-member .team-member-intro {
  width: 53%;
  padding-right: 1%;
  padding-left: 1%;
}
.team-meco .team-group .team-member .team-member-intro .member-name {
  font-size: var(--font-size-intro);
  font-weight: 700;
}
.team-meco .team-group .team-member .team-member-intro .member-role {
  font-size: var(--font-size-info);
  font-family: var(--font-family-zh);
  font-weight: 400;
}
.team-meco .team-group .team-member .team-member-intro .member-intro {
  font-family: var(--font-family-zh);
}
@media(min-width:1199.98px) {
  .team-meco .container {
    height: calc(100vh - var(--navbar-height));
    max-height: 1080px;
    min-height: 840px;
  }
}
@media(max-width:1199.98px) {
  .team-meco .font-main {
    font-size: var(--font-size-minor);
  }
  .team-meco .container {
    min-height: calc(100vh - var(--navbar-height));
  }
  .team-meco .team-group .team-member  {
    width: 100%;
    margin-bottom: 10px;
  }

}
.road-map {
  background: #89675c;
  padding-top: var(--navbar-height);
  padding-right: 5%;
  padding-left: 5%
}
.road-map .container {
  max-width: 1920px !important;
  width: 100%;
}
.road-map .container .road-map-title {
  height: 30%;
}
.road-map .container .road-map-content {
  height: 60%;
  margin-top: 5%;
  overflow-y: auto;
}
.road-map .container .road-map-content .font-minor {
  width: fit-content;
  height: 50px;
  line-height: 48px;
  padding-top: 5px;
  padding-right: 15px;
  padding-left: 15px;
  color: #89675c;
  background-color: white;
  border-radius: 15px;
}
.road-map .container .road-map-content .road-map-list {
  list-style-type: none;
  font-family: var(--font-family-zh);
  font-size: var(--font-size-info);
}
.road-map .container .road-map-content .road-map-list li::before {
  content: ">";
  color: white;
  margin-right: 10px;
  font-size: var(--font-size-info);
  font-family: var(--font-family-zh);
}
.road-map .container .road-map-content .arrow-next-box {
  right: 10px;
  z-index: 10;
  cursor: pointer;
}
@media(min-width:1199.98px) {
  .road-map .container {
    height: calc(100vh - var(--navbar-height));
    max-height: 1080px;
    min-height: 760px;
  }
}
@media(max-width:1199.98px) {
  .road-map {
    padding-right: 5px;
    padding-left: 5px
  }
  .road-map .container {
    min-height: calc(100vh - var(--navbar-height));
  }
  .road-map .container .road-map-content {
    height: 85%;
    margin-top: 0;
  }
  .road-map .container .road-map-title {
    height: fit-content;
  }
  .road-map .font-main {
    font-size: var(--font-size-minor);
  }
  .road-map .font-minor {
    font-size: var(--font-size-intro);
  }
}
.nft-show-room {
  background: #404041;
  padding-top: var(--navbar-height);
  font-family: var(--font-family-zh);
}
.nft-show-room .container {
  max-width: 1920px !important;
  width: 100%;
}
.nft-show-room .container .nft-images-group {
  text-align: center;
}
.nft-show-room .container .nft-images-group .nft-image {
  width: 150px;
  min-width: calc(100% / 7 - 20px);
  text-align: center;
  margin: 5px;
}
.nft-show-room .container .nft-images-group .nft-image img {
  width: 100%;
  max-height: 100%;
  aspect-ratio: 1/1;
  border-radius: 15px;
}
@media(min-width:1199.98px) {
  .nft-show-room .container {
    height: calc(100vh - var(--navbar-height));
    max-height: 1080px;
    min-height: 760px;
  }
}
@media(max-width:1199.98px) {
  .nft-show-room .container {
    min-height: calc(100vh - var(--navbar-height));
  }
  .nft-show-room .container .nft-room {
    overflow-y: auto;
  }
  .nft-show-room .container .nft-images-group .nft-image {
    min-width: calc(100% / 5 - 20px);
  }
  .road-map .container .road-map-content .font-minor {
    height: 32px;
    padding-top: 0px;
    border-radius: 10px;
    line-height: 32px;
  }
}
@media(max-width:991.98px) {
  .nft-show-room .container .nft-images-group .nft-image {
    min-width: calc(100% / 4 - 20px);
  }
}
@media(max-width:767.98px) {
  .nft-show-room .container .nft-images-group .nft-image {
    min-width: calc(100% / 3 - 20px);
  }
}
@media(max-width:575.98px) {
  .nft-show-room .container .nft-images-group .nft-image {
    min-width: calc(100% / 2 - 20px);
  }
}

@media(max-width:1786.98px) {
  :root {
    --font-size-main: 100px;
    --font-size-intro: 32px;
    --font-size-info: 28px;
  }
}
@media(max-width:1658.98px) {
  :root {
    --font-size-main: 96px;
    --font-size-info: 24px;
  }
}
@media(max-width:1595.98px) {
  :root {
    --font-size-main: 92px;
    --font-size-intro: 30px;
  }
  .team-meco .team-group .team-member .team-member-intro .member-intro {
    font-size: 14px;
  }
}
@media(max-width:1531.98px) {
  :root {
    --font-size-main: 88px;
    --font-size-intro: 28px;
    --font-size-info: 20px;
  }
}
@media(max-width:1467.98px) {
  :root {
    --font-size-main: 84px;
  }
}
@media(max-width:1404.98px) {
  :root {
    --font-size-main: 80px;
    --font-size-intro: 26px;
  }
  .team-meco .team-group .team-member .team-member-intro .member-intro {
    font-size: 12px;
  }
}
@media(max-width:1340.98px) {
  :root {
    --font-size-main: 76px;
    --font-size-info: 18px;
    --font-size-intro: 24px;
  }
  header.container .social-media-link img {
    max-width: 36px;
    max-height: 36px;
  }
  .modal .modal-dialog .modal-content .modal-header .translate img {
    max-width: 36px;
    max-height: 36px;
  }
}
@media(max-width:1276.98px) {
  :root {
    --font-size-main: 72px;
  }
}
@media(max-width:1199.98px) {
  .about-meco, .team-meco {
    padding-right: 5px;
    padding-left: 5px;
  }
  .team-meco .team-group .team-member {
    max-height: 250px;
  }
  .team-meco .team-group .team-member .team-member-intro .member-role {
    font-size: 32px;
  }
  .team-meco .team-group .team-member .team-member-intro .member-name {
    font-size: 48px;
  }
  .team-meco .team-group .team-member .team-member-intro .member-intro {
    font-size: 20px;
  }
  .team-meco .team-group .team-member .team-member-image img {
    max-width: 250px;
  }
  :root {
    --navbar-height: 76px;
  }
}
@media(max-width:823.98px) {
  .team-meco .team-group .team-member .team-member-intro .member-role {
    font-size: 28px;
  }
  .team-meco .team-group .team-member .team-member-intro .member-name {
    font-size: 44px;
  }
  :root {
    --font-size-main: 56px
  }
}
@media(max-width:757.98px) {
  .team-meco .team-group .team-member .team-member-intro .member-role {
    font-size: 24px;
  }
  .team-meco .team-group .team-member .team-member-intro .member-name {
    font-size: 40px;
  }
  .team-meco .team-group .team-member .team-member-intro .member-intro {
    font-size: 18px;
  }
}
@media(max-width:625.98px) {
  .team-meco .team-group .team-member .team-member-intro .member-name {
    font-size: 36px;
  }
  .team-meco .team-group .team-member .team-member-image img {
    max-width: 200px;
  }
  .team-meco .team-group .team-member .team-member-intro .member-intro {
    font-size: 16px;
  }
  :root {
    --font-size-main: 48px
  }
}
@media(max-width:566.98px) {
  .team-meco .team-group .team-member .team-member-intro .member-name {
    font-size: 28px;
  }
  .team-meco .team-group .team-member .team-member-image img {
    max-width: 200px;
  }
  .footer-copyright {
    white-space: nowrap;
    font-size: 12px;
  }
}
@media(max-width:507.98px) {
  .team-meco .team-group .team-member .team-member-intro .member-name {
    font-size: 28px;
  }
  .team-meco .team-group .team-member .team-member-image img {
    max-width: 180px;
  }
  .team-meco .team-group .team-member .team-member-intro .member-intro {
    font-size: 12px;
  }
  :root {
    --font-size-main: 44px
  }
}
@media(max-width:492.98px) {
  .team-meco .team-group .team-member .team-member-intro .member-role {
    font-size: 18px;
  }
  .team-meco .team-group .team-member .team-member-intro .member-name {
    font-size: 24px;
  }
  .team-meco .team-group .team-member .team-member-intro .member-intro {
    font-size: 12px;
  }
  .team-meco .team-group .team-member .team-member-image img {
    max-width: 150px;
  }
}
