@charset "UTF-8";
:root {
  --lh: clamp(2.25rem, 2.083rem + 0.56vw, 2.75rem); /*h1 70 > 50 */
  --pt24: clamp(1.125rem, 1.075rem + 0.25vw, 1.375rem); /* base size 24 > 20 */
}

.blank {
  height: 80vh;
}

#pinSection {
  display: block;
  position: relative;
}

.sample3 {
  height: 1200px;
  background: #fff;
}

body {
  overflow-x: hidden;
}

.box-swiper {
  will-change: height;
}

.ball-control,
.control {
  will-change: transform;
}

#hl.hl-cus #highlight {
  background-color: transparent;
  height: auto;
  position: relative;
  top: 0%;
  width: 100%;
}
.sample2 {
  position: relative;
  height: 100vh;
  max-height: 900px;
  width: 100%;
  overflow: visible;
}
@media (max-width: 991px) {
  .sample2 {
    max-height: 800px;
  }
}
@media (max-width: 769px) {
  .sample2 {
    max-height: 700px;
  }
}

.circle-container {
  max-width: 1700px;
  margin: auto;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: visible;
}
@media (min-width: 1440.98px) {
  .circle-container {
    top: 10%;
  }
}
@media (min-width: 1800.98px) {
  .circle-container {
    top: -3%;
  }
}
@media (max-width: 1400.98px) {
  .circle-container {
    top: -4%;
  }
}
@media (max-width: 1199px) {
  .circle-container {
    top: -3%;
  }
}
@media (max-width: 1025px) {
  .circle-container {
    top: 0%;
  }
}
@media (max-width: 990.98px) {
  .circle-container {
    top: 0%;
  }
}
@media (max-width: 769px) {
  .circle-container {
    top: 11%;
  }
}
@media (max-width: 639.98px) {
  .circle-container {
    top: 32%;
  }
}
@media (max-width: 480.98px) {
  .circle-container {
    top: 27%;
  }
}

.circle-base {
  width: 100%;
  height: 100%;
  position: relative;
  transform-origin: center center;
  position: absolute;
  top: 50%;
  z-index: 1;
}

.ball,
.ball .content,
#circleBase {
  will-change: transform;
  backface-visibility: hidden;
  transform-origin: center center;
}

.ball-wrapper {
  /* 抵消 base 的 rotation */
  transform: rotate(0deg); /* 由 JS 控制 */
}

.ball {
  position: absolute;
  width: 400px;
  height: 400px;
  top: 50%;
  left: 50%;
  z-index: 1;
  will-change: transform;
  /* 移除 background、padding、border-radius 到 ::before */
  /* 只保留定位與 z-index */
  /* 關鍵：外殼用 ::before */
  /* 內容保持原大小 */
}
@media (max-width: 1199.98px) {
  .ball {
    width: 350px;
    height: 350px;
  }
}
@media (max-width: 575.98px) {
  .ball {
    width: 100%;
    max-width: 320px;
    height: auto;
    aspect-ratio: 1/1;
  }
}
.ball.prev-ball {
  opacity: 0.5;
}
.ball.next-ball {
  opacity: 0.5;
}
.ball::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  background-color: var(--c-theme04b);
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(var(--ball-scale, 1))
    rotate(var(--position-angle, 0deg));
  transform-origin: center;
  pointer-events: none;
  z-index: -1;
  transition: none !important; /* 禁用 CSS transition */
}
.ball .content {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  padding: 0px 0rem 50px 0rem;
  color: white;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  transform-origin: center;
  z-index: 2;
  pointer-events: none;
  transform: translate(-50%, -50%);
}
.ball .content div[style="height: 60%"] {
  line-height: var(--lh);
  margin-top: 20px;
}
.ball .content img {
  height: 100%;
  max-width: 160px;
  /*margin-bottom: 8%;*/
  width: auto;
  /*display: flex;
  justify-content: center;
  align-items: center;*/
}

.ball.active {
  z-index: 5;
}

#hl #highlight {
  height: auto;
}

.ball:not(.active, .prev-ball, .next-ball) {
  opacity: 0;
}

.ball.no1.next-ball {
  opacity: 0;
}

#overlap {
  position: relative;
  width: 100%;
}
@media (min-width: 991px) {
  #overlap {
    height: 1642px;
  }
}
@media (max-width: 990px) {
  #overlap {
    top: 40%;
    height: 100vh;
  }
}
@media (max-height: 799.98px) {
  #overlap {
    top: 10%;
  }
}
@media (max-width: 640px) and (max-height: 800px) {
  #overlap {
    top: 40%;
  }
}
@media (min-width: 640px) and (max-width: 990px) and (max-height: 800px) {
  #overlap {
    top: 35%;
  }
}
@media (max-width: 639.98px) {
  #overlap {
    top: 40%;
  }
}
@media (max-width: 400.98px) {
  #overlap {
    top: 35%;
  }
}
@media (min-width: 991px) {
  #overlap .ball-control .srcoll-right {
    height: 1642px;
  }
}

.middle {
  width: 100%;
  height: 900px;
}
@media (min-width: 991px) {
  .middle {
    height: 800px;
  }
}

.main-content {
  z-index: 1;
}

@media (max-width: 1399px) {
  #hl .main-content {
    margin-top: 5%;
  }
}
@media (max-width: 1299px) {
  #hl .main-content {
    margin-top: 10%;
  }
}

@media (max-width: 769px) {
  #landingMag .rootball {
    width: 1800px;
    height: 1800px;
  }
}
@media (max-width: 575px) {
  #landingMag .rootball {
    width: 1500px;
    height: 1500px;
  }
}
@media (max-width: 400px) {
  #landingMag .rootball {
    width: 2000px;
    height: 2000px;
  }
}

.progressdot.highlight {
  display: block;
  bottom: 42%;
}
@media (max-width: 1800.98px) {
  .progressdot.highlight {
    bottom: 35%;
  }
}
@media (max-width: 1399.98px) {
  .progressdot.highlight {
    bottom: 35%;
  }
}
@media (max-width: 1199.98px) {
  .progressdot.highlight {
    bottom: 39%;
  }
}
@media (max-width: 1024px) {
  .progressdot.highlight {
    bottom: 34%;
  }
}
@media (max-width: 769.98px) {
  .progressdot.highlight {
    bottom: 29%;
  }
}
@media (max-width: 639.98px) {
  .progressdot.highlight {
    bottom: 26%;
  }
}
@media (max-width: 480.98px) {
  .progressdot.highlight {
    bottom: 32%;
  }
}
.progressdot.highlight .number {
  width: 20px;
  height: 20px;
}
.progressdot.highlight .number * {
  opacity: 1;
}
.progressdot.highlight .number:not(.active) {
  background-color: #fff;
}
.progressdot.highlight .number .active {
  border: 1px solid white;
}
.progressdot.highlight .number:has(.active) {
  background-color: transparent;
}

.btn-pngrp {
  position: absolute;
  top: 32%;
  left: 50%;
  width: 100%;
  transform: translateX(-50%);
  height: 50px;
  z-index: 20;
}
@media (max-width: 769px) {
  .btn-pngrp {
    top: 40%;
  }
}
@media (max-width: 654px) {
  .btn-pngrp {
    top: 18%;
  }
}
.btn-pngrp .prevBtn {
  width: 65px;
  left: 30%;
  position: absolute;
  bottom: 0%;
  border: 0;
  background: none;
}
@media (min-width: 1400px) {
  .btn-pngrp .prevBtn {
    left: 25%;
  }
}
@media (min-width: 1800px) {
  .btn-pngrp .prevBtn {
    left: 30%;
  }
}
@media (max-width: 1399px) {
  .btn-pngrp .prevBtn {
    left: 22%;
  }
}
@media (max-width: 1024px) {
  .btn-pngrp .prevBtn {
    left: 18%;
  }
}
@media (max-width: 992px) {
  .btn-pngrp .prevBtn {
    left: 16%;
  }
}
@media (max-width: 769px) {
  .btn-pngrp .prevBtn {
    left: 8%;
  }
}
.btn-pngrp .nextBtn {
  width: 65px;
  right: 30%;
  position: absolute;
  bottom: 0%;
  border: 0;
  background: none;
}
@media (min-width: 1400px) {
  .btn-pngrp .nextBtn {
    right: 25%;
  }
}
@media (min-width: 1800px) {
  .btn-pngrp .nextBtn {
    right: 30%;
  }
}
@media (max-width: 1399px) {
  .btn-pngrp .nextBtn {
    right: 22%;
  }
}
@media (max-width: 1024px) {
  .btn-pngrp .nextBtn {
    right: 18%;
  }
}
@media (max-width: 992px) {
  .btn-pngrp .nextBtn {
    right: 16%;
  }
}
@media (max-width: 769px) {
  .btn-pngrp .nextBtn {
    right: 8%;
  }
}

#landingMag {
  height: 100%;
  padding: 555px 0px 0px 0px;
  position: relative;
  overflow: visible !important;
  width: 100%;
  z-index: 1;
  /*.br-mobile {
      display: none;

      @media screen and (max-width: 768px) {
          display: block;
      }
  }*/
}
@media (max-width: 1199.98px) {
  #landingMag {
    padding: 255px 0 0 0;
  }
}
@media (max-width: 639.98px) {
  #landingMag {
    padding: 300px 0 0 0;
  }
}
#landingMag .box-swiper {
  left: 50%;
  height: 1170px;
  position: absolute;
  top: 54%;
  width: 100vw;
  transform: translateX(-50%) translateY(calc(-50% + 277.5px));
}
#landingMag .ball1,
#landingMag .ball2,
#landingMag .ball3,
#landingMag .ball4,
#landingMag .ball5 {
  position: relative;
  width: 100%;
  height: 1170px;
}
@media screen and (min-width: 990px) {
  #landingMag .ball1,
  #landingMag .ball2,
  #landingMag .ball3,
  #landingMag .ball4,
  #landingMag .ball5 {
    position: relative;
    width: 1642px;
    min-width: 1642px;
    height: 1170px;
  }
}
@media screen and (max-width: 990px) {
  #landingMag .ball1,
  #landingMag .ball2,
  #landingMag .ball3,
  #landingMag .ball4,
  #landingMag .ball5 {
    position: relative;
    width: 100vw;
    height: 1300px;
  }
}
@media screen and (max-width: 768px) {
  #landingMag .ball1,
  #landingMag .ball2,
  #landingMag .ball3,
  #landingMag .ball4,
  #landingMag .ball5 {
    position: relative;
    width: 100vw;
    height: 1200px;
  }
}
@media screen and (max-width: 567px) {
  #landingMag .ball1,
  #landingMag .ball2,
  #landingMag .ball3,
  #landingMag .ball4,
  #landingMag .ball5 {
    position: relative;
    width: 100vw;
    height: 1200px;
  }
}
#landingMag .themeball {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background-repeat: no-repeat, no-repeat;
  background-position: top left, bottom right;
  background-size: 50%, 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 990px) {
  #landingMag .themeball {
    width: 1642px;
    height: 1642px;
  }
}
@media screen and (max-width: 990px) {
  #landingMag .themeball {
    width: 1200px;
    height: 1200px;
  }
}
@media screen and (max-width: 768px) {
  #landingMag .themeball {
    width: 1000px;
    height: 1000px;
  }
}
@media screen and (max-width: 576px) {
  #landingMag .themeball {
    width: 1000px;
    height: 1000px;
  }
}
#landingMag .ball-content {
  position: relative;
  background-color: #ffffff;
  background-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><svg id="b" data-name="圖層 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1067.09 1067.09"><defs><style> .d { stroke-miterlimit: 10; stroke-width: 2.8px; } .d, .e { fill: none; stroke: %2300b536; stroke-linecap: round; } .f { opacity: .3; } .g { opacity: .1; } .e { stroke-miterlimit: 10; stroke-width: 3px; } </style></defs><g id="c" data-name="txt"><g><g class="g"><circle class="d" cx="533.54" cy="533.54" r="290.35"/></g><g class="f"><circle class="e" cx="533.54" cy="533.54" r="532.04"/></g></g></g></svg>');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 87.428101%;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 170px 80px;
  text-align: center;
  z-index: 2;
}
@media screen and (min-width: 990px) {
  #landingMag .ball-content {
    width: 1217px;
    height: 1217px;
  }
}
@media screen and (max-width: 1299.98px) {
  #landingMag .ball-content {
    padding: 130px 80px;
  }
}
@media screen and (max-width: 991.98px) {
  #landingMag .ball-content {
    width: 85%;
    height: 85%;
    padding: 100px 30px 50px 30px;
  }
}
@media screen and (max-width: 639.98px) {
  #landingMag .ball-content {
    padding: 120px 20px;
  }
}
#landingMag .ball-content h2 {
  position: relative;
  font-weight: bold;
  margin-bottom: 30px;
  /*padding-left: 60px;
  display: inline-flex;*/
  align-items: center;
  width: 75%;
  text-align: center;
}
#landingMag .ball-content h2::before {
  content: "";
  position: absolute;
  left: 0px; /*-134px;*/
  top: 50%;
  transform: translateY(-50%);
  width: 114px;
  height: 114px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media screen and (max-width: 1299.98px) {
  #landingMag .ball-content h2 {
    width: 65%;
  }
}
@media screen and (max-width: 991.98px) {
  #landingMag .ball-content h2::before {
    /*left: -50px;*/
    width: 80px;
    height: 80px;
  }
}
@media screen and (max-width: 768px) {
  #landingMag .ball-content h2 {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 567.98px) {
  #landingMag .ball-content h2 {
    padding-left: 0px;
  }
  #landingMag .ball-content h2::before {
    left: 50%;
    top: -125px;
    width: 80px;
    height: 80px;
    transform: translate(-50%, 50%);
  }
}
@media screen and (max-width: 480px) {
  #landingMag .ball-content h2 {
    padding-left: 0px;
    margin-bottom: 15px;
  }
}
#landingMag .ball-content > p {
  font-size: 1rem;
  line-height: 1.6;
  color: #333;
  margin-bottom: 0px;
  max-width: 600px;
}
@media screen and (max-width: 768px) {
  #landingMag .ball-content > p {
    font-size: 0.9rem;
    margin-bottom: 20px;
  }
}
@media (max-width: 640px) {
  #landingMag .ball-content > p {
    max-width: 100%;
    padding: 0 11rem;
  }
}
@media (max-width: 480px) {
  #landingMag .ball-content > p {
    max-width: 320px;
    padding: 0 1rem;
  }
}
@media screen and (max-width: 480px) {
  #landingMag .ball-content > p {
    font-size: 0.85rem;
    margin-bottom: 15px;
  }
}
#landingMag .ball-content .highlight-image {
  max-width: 200px;
  max-height: 200px;
  margin: 30px 0;
  width: 100%;
}
#landingMag .ball-content .highlight-image img {
  aspect-ratio: 1/1;
}
@media screen and (max-width: 768px) {
  #landingMag .ball-content .highlight-image {
    max-width: 200px;
    margin: 20px 0;
  }
}
@media screen and (max-width: 480px) {
  #landingMag .ball-content .highlight-image {
    max-width: 150px;
    margin: 15px 0;
  }
}
#landingMag .ball-content .highlight-text {
  font-size: 1.1rem;
  line-height: 1.6;
  margin-bottom: 30px;
  max-width: 600px;
}
@media screen and (max-width: 768px) {
  #landingMag .ball-content .highlight-text {
    font-size: 0.95rem;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 480px) {
  #landingMag .ball-content .highlight-text {
    font-size: 0.9rem;
    margin-bottom: 15px;
  }
}

#smaple2 {
  width: 100%;
  position: relative;
  padding: 100px 0px;
}
#smaple2 .control {
  display: flex;
  flex-direction: row;
  width: 100%;
}
#smaple2 .swiper-slide.active .ball .inner {
  flex: 0 0 400px;
  width: 400px;
  height: 400px;
  background-color: var(--c-theme03);
}
#smaple2 .ball {
  display: flex;
  justify-content: center;
}
#smaple2 .ball .inner {
  background-color: var(--c-theme02, #ccc);
  border-radius: 100%;
  aspect-ratio: 1/1;
  width: 250px;
}

#smaple3 {
  margin: 80px 0px;
  height: 100%;
  min-height: 1700px;
  max-height: calc(100vh + 100px);
  overflow: hidden;
  /*background-color: var(--c-theme04);*/
}

@media (max-width: 639.98px) {
  #overlap .ball-control .control {
    width: 100%;
    height: 100%;
    display: block;
    /* align-items: center; */
  }
}

.progressdot.vertical {
  display: none;
}

.progressdot {
  display: none;
}

@media (max-width: 1199.98px) {
  #landingMag .rootball .box-msg {
    top: -80px;
  }
}
@media (max-width: 769.98px) {
  #landingMag .rootball .box-msg {
    top: -190px;
  }
}
@media (max-width: 639.98px) {
  #landingMag .rootball .box-msg {
    top: -260px !important;
  }
}

footer {
  margin-top: -1px;
}

@media (max-width: 480.98px) {
  #hl .main-content {
    margin-top: 17%;
  }
}

#landingMag {
  will-change: transform;
}

html[lang="zh-hk"] #landingMag p,
html[lang="zh-cn"] #landingMag p {
  font-size: inherit;
}
html[lang="zh-hk"] #landingMag p.highlight-text,
html[lang="zh-cn"] #landingMag p.highlight-text {
  font-size: 1.1em !important;
}
html[lang="zh-hk"] #landingMag .ball-content > p,
html[lang="zh-cn"] #landingMag .ball-content > p {
  font-size: inherit;
}
@media screen and (max-width: 640px) {
  html[lang="zh-hk"] #landingMag .ball-content > p.highlight-text,
  html[lang="zh-cn"] #landingMag .ball-content > p.highlight-text {
    padding: 0 8rem;
  }
}

.abc {
  position: relative;
  overflow: hidden;
}

#landingCS .tempswiper {
  width: 100%;
  overflow-x: visible;
}

.sdg-logo-grp {
  display: flex;
  flex-direction: row;
  -moz-column-gap: 10px;
  column-gap: 10px;
}
.sdg-logo-grp > div > div {
  font-size: 0.8rem;
}

.sdg7 {
  color: #fbc412;
}

.sdg11 {
  color: #f89d2a;
}

.sdg12 {
  color: #bf8d2c;
}

.sdg13 {
  color: #407f46;
}

.sdg3 {
  color: #4ca146;
}

.sdg4 {
  color: #c5192d;
}

.sdg8 {
  color: #a31c44;
}

.sdg9 {
  color: #f26a2d;
}

#hl main {
  height: 100%;
  overflow: hidden;
} /*# sourceMappingURL=circle.css.map */
