html,
body {
  width: 100%;
  min-height: 100vh;
}

body {
  font-family: "Noto Sans TC", "Work Sans", sans-serif;
  line-height: 1.5;
  letter-spacing: 2px;
  background-color: #efefef;
}

:root {
  --main-orange: #f4aa14;
  --main-green: #0b8d97;
}

.page__bg {
  /* min-height: 100%; */
  background: right 1% / auto 200px no-repeat url(../../img/aboutus/bg_right.svg),
    90% 28% / auto 200px no-repeat url(../../img/aboutus/bg_right-3.svg),
    right 60% / auto 200px no-repeat url(../../img/aboutus/bg_right-4.svg),
    right 100% / auto 200px no-repeat url(../../img/aboutus/bg_right-2.svg),
    left 1% / auto 200px no-repeat url(../../img/aboutus/bg_left.svg),
    7% 70% / auto 200px no-repeat url(../../img/aboutus/bg_left-2.svg),
    left 100% / auto 200px no-repeat url(../../img/aboutus/bg_left-3.svg);
}

/* new */
.banner {
  height: 480px;
  position: relative;
  background-image: url(../../img/product/banner.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: right;
}

.banner__textbox {
  width: 50%;
  height: 100%;
  background: linear-gradient(90deg, #ffffff 60%, rgba(255, 255, 255, 0) 100%);
}

.banner__title {
  color: var(--main-green);
  font-weight: 700;
  font-size: 4.5em;
  margin-top: 80px;
}

.banner__sub {
  color: var(--main-orange);
  font-size: 1.3em;
  /* font-size: 1.2vw; */
}

.sectionai {
  padding: 60px;
}

.tool__row-2 {
  padding: 76px 0 76px 0;
}

/* .tool__row-2:hover {
 background: 95% 10% / auto 180px no-repeat url(../../img/product/y_monster.png);
} */

.sectionai__title,
.sectionai__title-2 {
  font-weight: 700;
  display: block;
}

.sectionai__title {
  color: #0b8d97;
}

.sectionai__title {
  font-size: 2rem;
}

.sectionai__title-2 {
  color: white;
  font-size: 2.75rem;
}

.sectionai__sub {
  color: #7f7f7f;
  font-size: 1rem;
  text-align: justify;
  text-justify: inter-ideograph;
  font-weight: 400;
  line-height: 1.6rem;
}

.tag__btn {
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  padding: 8px 20px;
  border-radius: 50px;
  margin: 8px 16px 8px 0;
  background-color: #0b8d97;
}

.tag__btn:hover {
  background-color: #087a84;
  color: rgb(242, 242, 242);
  text-decoration: none;
}

.partner__section {
  margin-top: 48px;
  /* height: 480px; */
  position: relative;
}

.partner__section__container {
  z-index: 1;
  display: block;
}

.partner__section__text {
  font-size: 16px;
  font-weight: 400;
  color: white;
}

a.partner__section__item {
  border-radius: 16px;
  padding: 16px;
  box-shadow: 16px 16px #004576;
  color: #005689;
  font-weight: 700;
  font-size: 1.5rem;
}

a.partner__section__item:hover {
  text-decoration: none;
  color: #004576;
}

.bg__out {
  background-color: #003969;
  height: 100%;
  width: 100%;
  display: block;
  padding-bottom: 90px;
}

.bg__mid,
.bg__in {
  height: 100%;
  width: 100%;
  position: absolute;
  right: 1rem;
  top: -1rem;
  display: block;
}

.bg__mid {
  background-color: #004576;
}

.bg__in {
  background: right 10px / auto 80px no-repeat url(../../img/platform/bg_p.png),
    #005689;
}

/* tooltip */
.saytext {
  position: relative;
  background-color: #f4aa14;
  padding: 8px 24px;
  border-radius: 32px;
  font-size: 1.5rem;
  font-weight: 500;
  color: white;
  width: 100%;
  left: 5rem;
}

.saytext:before {
  border-color: #f4aa14 transparent transparent;
  border-style: solid solid solid;
  border-width: 16px 24px 24px 0px;
  top: 100%;
  content: "";
  left: 25%;
  position: absolute;
}

.btn__section {
  padding-top: 48px;
}

.shop__btn {
  position: relative;
  text-align: center;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 500;
  padding: 12px 24px;
  width: 10.5rem;
  border-radius: 50px;
  background-color: #f4aa14;
  height: 100%;
  animation: ;
}

.shop__btn:after {
  content: "";
  position: absolute;
  bottom: -40%;
  left: 65%;
  margin-top: -5px;
  border-width: 0px 16px 16px 16px;
  border-style: solid;
  border-color: transparent transparent transparent #f4aa14;
  transform: rotate(80deg);
}

.shop__btn:hover {
  color: rgb(242, 242, 242);
  text-decoration: none;
}

.bounce2 {
  animation: bounce2 2s ease infinite;
}

@keyframes bounce2 {

  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateY(0);
  }

  40% {
    transform: translateY(-30px);
  }

  60% {
    transform: translateY(-15px);
  }
}

/* RWD */
@media (max-width: 575.99px) {
  .page__bg {
    background: initial;
  }

  a.partner__section__item {
    margin-top: 16px;
    font-size: 1rem;
    box-shadow: 8px 8px #004576;
    border-radius: 8px;
    padding: 8px;
  }

  .sectionai {
    padding: 20px;
  }

  .tool__row-2 {
    flex-direction: column-reverse;
    padding: 38px 0 38px 0;
  }

  .saytext {
    font-size: 1rem;
    padding: 8px 16px;
    left: 6rem;
  }

  .saytext:before {
    border-width: 16px 16px 24px 0px;
  }

  .sectionai__boxright,
  .sectionai__box {
    padding-top: 1.5rem;
  }

  .btn__content {
    flex-direction: column;
  }

  .btn__content__img {
    max-width: 200px;
  }

  .tag__btn {
    margin: 4px 4px;
  }

  .sectionai__title-2 {
    font-size: 2rem;
  }

  .overflow__text {
    text-overflow: ellipsis;
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
  }

  .bg__out {
    padding: 0 15px 80px 15px;
  }

  .bg__in {
    background: right 0% / auto 10% no-repeat url(../../img/home/bg-right-3.png),
      #005689;
  }

  .img__shadow {
    border-radius: 8px;
    padding: 0 8px 8px 0;
  }

}

@media (max-width: 767px) {

  /* banner */
  .banner {
    margin-top: 48px;
    height: 200px;
  }

  .banner__title {
    font-size: 2em;
    margin-top: 0;
  }

  .banner__textbox {
    width: 100%;
    background: linear-gradient(90deg,
        rgba(255, 255, 255, 0.8) 100%,
        rgba(255, 255, 255, 0) 100%);
  }

}

@media (max-width: 900px) {
  header .menu a {
    color: white;
  }
}

@media (max-width: 991px) {

  .sectionai__boxright,
  .sectionai__box {
    padding-top: 2rem;
    max-width: 520px;
    margin: auto;
  }

  .btn__box {
    justify-content: center;
  }

  .tool__row-2 {
    flex-direction: column-reverse;
  }

  .partner__section__col {
    margin-top: 16px;
  }
}

@media (min-width: 960px) {
  .overflow__text {
    text-overflow: ellipsis;
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
  }

  .tool__row-2:hover {
    background: 95% 10% / auto 160px no-repeat url(../../img/product/y_monster.png);
  }
}

@media (min-width: 768px) and (max-width: 991.99px) {
  .banner__textbox {
    top: 50%;
    left: 25%;
  }

  .banner__title {
    font-size: 3.5em;
  }
}

@media (max-width: 1440px) {
  .banner {
    background-size: cover;
  }
}