@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@200..900&family=Noto+Sans+TC:wght@200..900&display=swap");
:root {
  --color-body-bg: #252525;
  --color-gray-dark: #3C434C;
  --color-yellow: #FFC438;
  --color-red: #d25252;
  --color-blue: #105DAC;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

a {
  text-decoration: none;
}

button,
.btn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  border: none;
  padding: 0.375rem 0.5rem;
  border-radius: 0.25rem;
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
}
button.btn-primary,
.btn.btn-primary {
  background-color: #FFC438;
  color: #2D2E30;
}
button.btn-primary:hover,
.btn.btn-primary:hover {
  background-color: #FFD46F;
}
button.btn-primary:active,
.btn.btn-primary:active {
  background-color: transparent;
  color: #FFC438;
}
button.btn-secondary,
.btn.btn-secondary {
  background-color: rgba(156, 156, 166, 0.36);
  color: #EBEDF0;
}
button.btn-secondary:hover,
.btn.btn-secondary:hover {
  background-color: #777777;
}
button.btn-secondary:active,
.btn.btn-secondary:active {
  background-color: transparent;
  color: #2D2E30;
}
button.btn-no-bg,
.btn.btn-no-bg {
  background: none;
}
button.btn-rounded,
.btn.btn-rounded {
  padding: 0.375rem 1.55rem;
  border-radius: 100vw;
}

a {
  color: #fff;
}

body {
  font-family: "Noto Sans TC", sans-serif;
  background-color: var(--color-body-bg);
  min-height: 100dvh;
  display: grid;
  grid-template-rows: 1fr auto;
}
body > * {
  min-width: 0;
}

.site__header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background-color: #105DAC;
}
.site__header .header__wrapper {
  width: min(100%, 90rem);
  margin-inline: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 3rem;
}
@media (max-width: 60rem) {
  .site__header .header__wrapper {
    padding: 0 1rem;
  }
}
.site__header .header__wrapper .logo {
  padding: 0.5rem 0;
}
.site__header .header__wrapper .logo img {
  height: 2.5rem;
}
@media (max-width: 60rem) {
  .site__header .header__wrapper .logo img {
    height: 1.125rem;
  }
}
.site__header .header__wrapper .functions {
  color: #d9d9d9;
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media (max-width: 60rem) {
  .site__header .header__wrapper .functions {
    gap: 0.25rem;
  }
}
.site__header .header__wrapper .functions a {
  color: #d9d9d9;
}
.site__header .header__wrapper .functions a:hover {
  color: #ffc438;
}
.site__header .header__wrapper .functions a .icon {
  height: 1.25rem;
}
.site__header .header__wrapper .functions a .icon:hover path {
  stroke: #ffc438;
  fill: #ffc438;
}
.site__header .header__wrapper .functions a img,
.site__header .header__wrapper .functions a svg {
  height: 1.5rem;
  vertical-align: middle;
}
@media (max-width: 60rem) {
  .site__header .header__wrapper .functions a img,
  .site__header .header__wrapper .functions a svg {
    height: 1.125rem;
  }
}
.site__header .header__wrapper .functions a img:hover,
.site__header .header__wrapper .functions a svg:hover {
  stroke: #ffc438;
  fill: #ffc438;
}
.site__header .header__wrapper .functions a.vip {
  background-color: #ffc438;
  color: #000000;
  font-size: 1.125rem;
  line-height: 1;
  font-weight: 700;
  padding: 0.5rem 1.75rem 0.625rem;
  border-radius: 100vw;
  white-space: nowrap;
}
@media (max-width: 60rem) {
  .site__header .header__wrapper .functions a.vip {
    font-size: 0.75rem;
    padding: 0.375rem 0.5rem 0.375rem;
  }
}
.site__header .header__wrapper .functions a.vip:hover {
  background-color: #ffd46f;
}
.site__header .header__wrapper .functions .login__info {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0;
}
.site__header .header__wrapper .functions .login__info:hover .member__actions {
  display: grid;
}
.site__header .header__wrapper .functions .login__info .member__name {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}
.site__header .header__wrapper .functions .login__info .member__name .icon__member-vip {
  width: 2rem;
  height: 2rem;
}
@media (max-width: 60rem) {
  .site__header .header__wrapper .functions .login__info .member__name .name {
    display: none;
  }
}
.site__header .header__wrapper .functions .login__info .member__actions {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  background-color: #252525;
  padding: 0.5rem 0.75rem;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.25);
  border-radius: 0.25rem;
}
.site__header .header__wrapper .functions .login__info .member__actions a {
  white-space: nowrap;
  padding: 0.75rem 2.5rem;
  font-size: 1.125rem;
  color: #d9d9d9;
  border-radius: 0.25rem;
}
.site__header .header__wrapper .functions .login__info .member__actions a:hover {
  color: #fff;
  background-color: #373737;
}
.site__header .header__wrapper .functions .login__info .member__actions form {
  width: 100%;
  border-top: 1px solid #fff;
  margin-block-start: 0.375rem;
  padding-block-start: 0.375rem;
}
.site__header .header__wrapper .functions .login__info .member__actions form button {
  display: block;
  width: 100%;
  background: none;
  color: #d9d9d9;
  font-size: 1.125rem;
  text-align: center;
  padding: 0.75rem 2.5rem;
}
.site__header .header__wrapper .functions .login__info .member__actions form button:hover {
  color: #fff;
  background-color: #373737;
}
.site__header .header__wrapper .functions .login {
  white-space: nowrap;
}
@media (max-width: 60rem) {
  .site__header .header__wrapper .functions .login {
    padding: 0.125rem 0;
    font-size: 0.875rem;
  }
}
.site__header .header__wrapper .functions .register {
  white-space: nowrap;
}
@media (max-width: 60rem) {
  .site__header .header__wrapper .functions .register {
    padding: 0.125rem 0;
    font-size: 0.875rem;
  }
}
.site__header .header__wrapper .functions .register span {
  font-size: 1rem;
}
@media (max-width: 60rem) {
  .site__header .header__wrapper .functions .register span {
    display: none;
  }
}

.site__main {
  padding: 3.5rem 0 0;
}
@media (max-width: 60rem) {
  .site__main {
    padding: 3.25rem 0 0;
  }
}

.site__footer {
  margin-block-start: 8rem;
  background-color: #105DAC;
}
.site__footer .footer__wrapper {
  width: min(100%, 90rem);
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr auto auto auto;
  gap: 4rem;
  justify-content: space-between;
  align-items: flex-start;
  padding: 3rem 6rem;
}
@media (max-width: 60rem) {
  .site__footer .footer__wrapper {
    gap: 2rem;
    grid-template-columns: 1fr 1fr 1fr;
    padding: 2rem 1rem;
  }
}
@media (max-width: 60rem) {
  .site__footer .footer__wrapper .logo {
    grid-column: 1/-1;
  }
}
.site__footer .footer__wrapper .footer__nav h3 {
  font-size: 1.25rem;
  line-height: 1.75;
  color: #ffffff;
  padding: 0.5rem;
}
@media (max-width: 60rem) {
  .site__footer .footer__wrapper .footer__nav h3 {
    font-size: 1.125rem;
  }
}
.site__footer .footer__wrapper .footer__nav ul {
  padding: 0.5rem 0 1rem;
  list-style-type: none;
}
.site__footer .footer__wrapper .footer__nav ul li {
  padding: 0.5rem;
}
.site__footer .footer__wrapper .footer__nav ul li a {
  color: #ffffff;
}
.site__footer .contact-info {
  width: min(100%, 90rem);
  margin-inline: auto;
  color: #ffffff;
  text-align: center;
}
@media (max-width: 60rem) {
  .site__footer .contact-info {
    padding: 1rem 0;
  }
}
.site__footer .contact-info p {
  margin: 0.25rem 0;
  font-size: 1.125rem;
}
@media (max-width: 60rem) {
  .site__footer .contact-info p {
    font-size: 0.875rem;
  }
}
.site__footer .copy-right {
  width: min(100%, 90rem);
  margin-inline: auto;
  color: #ffffff;
  background-color: #105DAC;
  text-align: center;
  padding: 0.75rem 0.5rem 0.25rem;
}
.site__footer .copy-right-en {
  width: min(100%, 90rem);
  margin-inline: auto;
  text-align: center;
  color: #ffffff;
  padding: 0.25rem 0 1.5rem;
}

body {
  font-size: 16px;
  /*font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;*/
  font-family: "Noto Sans TC", sans-serif;
  background-color: #252525;
}

custom-popup [slot=trigger] {
  padding: 1rem 3.5rem;
  background-color: #105DAC;
  color: #fff;
  font-size: 1.375rem;
  font-weight: 700;
  border-radius: 0.5rem;
  cursor: pointer;
}
custom-popup [slot=trigger]:hover {
  filter: brightness(1.1);
}
custom-popup [slot=trigger]:disabled {
  background-color: #747474;
  cursor: not-allowed;
}
custom-popup [slot=trigger]:disabled:hover {
  filter: brightness(1.1);
}
custom-popup [slot=trigger][blue] {
  background-color: #105dac;
  color: #d9d9d9;
}
custom-popup [slot=trigger][blue]:hover {
  filter: brightness(1);
  background-color: #105dac;
  color: var(--color-yellow);
}
custom-popup [slot=trigger][small] {
  font-size: 1rem;
  font-weight: 400;
  padding: 0.5rem 0.5rem;
}
custom-popup header {
  background-color: #105DAC;
  padding: 1rem 4rem;
  display: grid;
  justify-content: center;
}
custom-popup header img {
  height: 2rem;
}
custom-popup main {
  background-image: url(/img/member-bg.jpg);
  background-size: cover;
  padding: 2rem;
  display: grid;
  gap: 1.5rem;
  justify-items: center;
}
custom-popup .content__wrapper {
  border: 1px solid #747474;
  border-radius: 0.75rem;
  overflow: hidden;
}
custom-popup .content__wrapper main a {
  color: #fff;
  background-color: #105dac;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1;
  padding: 0.625rem 3rem 0.75rem;
  border-radius: 100vw;
}
custom-popup.popup-sample-1 .content__wrapper main {
  display: grid;
  gap: 1.5rem;
}
custom-popup.popup-sample-1 .content__wrapper main p {
  color: #35597e;
  font-size: 1.25rem;
  letter-spacing: 0.1rem;
  line-height: 1.5;
  font-weight: 700;
  font-family: "Noto Serif TC", serif;
}
custom-popup.popup-sample-1 .content__wrapper main h2 {
  color: #105dac;
  font-size: 5rem;
  line-height: 1.125;
  font-weight: 700;
  letter-spacing: 0.2rem;
}
custom-popup.popup-sample-1 .content__wrapper main h2 span {
  display: inline-block;
  transform: scale(1.25);
}
custom-popup.popup-sample-2 .content__wrapper main {
  background-image: none;
  background-color: #fff;
  padding: 0.5rem 0.75rem 1.5rem;
  display: grid;
  gap: 1rem;
}
custom-popup.popup-sample-2 .content__wrapper main h3 {
  color: #105dac;
  font-size: 2.5rem;
  line-height: 1.125;
  font-weight: 700;
  letter-spacing: 0.2rem;
}
custom-popup.popup-sample-2 .content__wrapper main p {
  color: #105dac;
  font-size: 1.25rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.2rem;
  transform: translateY(-0.375rem);
}
custom-popup.popup-sample-2 .content__wrapper main h2 {
  color: #105dac;
  font-size: 2.25rem;
  letter-spacing: 0.1rem;
  line-height: 1;
  font-weight: 700;
  text-align: center;
}
custom-popup.popup-sample-2 .content__wrapper main h2 small {
  font-size: 1.25rem;
  line-height: 1.25rem;
}
custom-popup.popup-sample-2 .content__wrapper main .discount {
  position: relative;
  padding: 0.5rem 8rem;
  border: 1px solid #105dac;
}
custom-popup.popup-sample-2 .content__wrapper main .discount h2 {
  color: #105dac;
  font-size: 5rem;
  line-height: 1.125;
  font-weight: 700;
  letter-spacing: 0.2rem;
}
custom-popup.popup-sample-2 .content__wrapper main .discount h2 span {
  display: inline-block;
  transform: scale(1.375);
  font-weight: 900;
}
custom-popup.popup-sample-2 .content__wrapper main .discount .discount-en {
  position: absolute;
  top: -2.5rem;
  right: -0.5rem;
  background-color: #105DAC;
  color: #fff;
  border-radius: 50%;
  width: 7rem;
  aspect-ratio: 1/1;
  display: grid;
  place-items: center;
  font-size: 2rem;
  line-height: 1;
  font-weight: 700;
  outline: 0.0625rem solid #fff;
  outline-offset: -0.3125rem;
  transform: rotate(10deg);
}
custom-popup.popup-sample-2 .content__wrapper main .discount .discount-en::before {
  position: absolute;
  top: -0.75rem;
  right: 2.75rem;
  content: "";
  display: block;
  width: 0.5rem;
  aspect-ratio: 1/1;
  background-color: #105DAC;
  border-radius: 50%;
}
custom-popup.popup-sample-2 .content__wrapper main .discount .discount-en::after {
  position: absolute;
  bottom: 0.5rem;
  right: 0.5rem;
  content: "";
  display: block;
  width: 1rem;
  aspect-ratio: 1/1;
  background-color: #dc5464;
  border-radius: 50%;
}
custom-popup.popup-sample-2 .content__wrapper main h4 {
  color: #dc5464;
  font-size: 2.5rem;
  line-height: 1.125;
  font-weight: 700;
  letter-spacing: 0.2rem;
}
custom-popup.popup-sample-2 .content__wrapper main h4 span {
  display: inline-block;
  transform: scale(1.25);
}
custom-popup.popup-sample-2 .content__wrapper main a {
  background-color: #dc5464;
}
custom-popup.popup-sample-3 .content__wrapper main {
  display: grid;
  gap: 2rem;
  padding: 6rem;
}
custom-popup.popup-sample-3 .content__wrapper main p {
  color: #35597e;
  font-size: 1.25rem;
  letter-spacing: 0.1rem;
  line-height: 1.5;
  font-weight: 700;
  font-family: "Noto Serif TC", serif;
  display: grid;
}
custom-popup.popup-sample-3 .content__wrapper main p span {
  display: inline-block;
}
custom-popup.popup-sample-3 .content__wrapper main p span:nth-child(odd) {
  justify-self: start;
  padding-right: 3rem;
}
custom-popup.popup-sample-3 .content__wrapper main p span:nth-child(even) {
  justify-self: end;
  padding-left: 3rem;
}
custom-popup.popup-sample-3 .content__wrapper main h2 {
  color: #105dac;
  font-size: 2.5rem;
  line-height: 1.125;
  font-weight: 700;
  letter-spacing: 0.2rem;
}
custom-popup.popup-sample-3 .content__wrapper main h2 span {
  display: inline-block;
  transform: scale(1.25);
}
custom-popup.popup-sample-3 .content__wrapper main a {
  justify-self: end;
  font-size: 1.125rem;
  padding: 0.5rem 2rem 0.75rem;
}
custom-popup.popup-sample-4 .content__wrapper main {
  display: grid;
  gap: 2rem;
  padding: 4rem;
}
custom-popup.popup-sample-4 .content__wrapper main h2 {
  color: #105dac;
  font-size: 5rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.2rem;
}
custom-popup.popup-sample-4 .content__wrapper main p {
  color: #105dac;
  font-size: 1.25rem;
  letter-spacing: 0.1rem;
  line-height: 1.375;
  font-weight: 700;
  font-family: "Noto Serif TC", serif;
  display: grid;
  text-align: center;
}
custom-popup.popup-sample-4 .content__wrapper main .actions {
  background-color: #105DAC;
  padding: 0.625rem 2rem 0.75rem;
  border-radius: 100vw;
  color: #fff;
}
custom-popup.popup-sample-4 .content__wrapper main .actions a {
  font-size: 1.125rem;
  padding: 0;
  border-radius: 0;
  transition: 0.3s;
}
custom-popup.popup-sample-4 .content__wrapper main .actions a:hover {
  color: #FFC438;
}
custom-popup.warning [slot=trigger] {
  white-space: nowrap;
}
@media (max-width: 60rem) {
  custom-popup.warning [slot=trigger] {
    padding: 0;
    font-size: 0.875rem;
    line-height: 1;
  }
}
custom-popup.warning .popup__content {
  background-color: #252525;
  padding: 3rem 5rem 1.5rem;
  border-radius: 0.375rem;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5);
  color: #fff;
  width: 100%;
  max-width: 50rem;
}
@media (max-width: 60rem) {
  custom-popup.warning .popup__content {
    padding: 1rem 1rem 1.5rem;
    width: 100%;
  }
}
custom-popup.warning .popup__content .msg h3 {
  color: #fff;
  font-size: 1.375rem;
  font-weight: 700;
}
custom-popup.warning .popup__content .msg .term__title {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 1rem;
}
custom-popup.warning .popup__content .msg .term__content {
  color: #fff;
  font-size: 1rem;
  line-height: 2;
  margin-bottom: 1rem;
  white-space: pre-line;
  max-height: min(80dvh, 30rem);
  overflow-y: auto;
  padding: 0.25rem 1rem;
}
custom-popup.warning .popup__content .msg .term__content::-webkit-scrollbar {
  width: 0.5rem;
  background-color: #3c434c;
}
custom-popup.warning .popup__content .msg .term__content::-webkit-scrollbar-thumb {
  background-color: #fff;
  border-radius: 1rem;
}
custom-popup.warning .popup__content .msg .term__content::-webkit-scrollbar-thumb:hover {
  background-color: #FFC438;
}
custom-popup.warning .popup__content .msg .term__content::-webkit-scrollbar-track {
  background-color: #3c434c;
}
custom-popup.warning .popup__content .actions {
  display: flex;
  justify-content: center;
  gap: 1rem;
  padding: 1rem;
}
custom-popup.warning .popup__content .actions a,
custom-popup.warning .popup__content .actions button {
  font-size: 1.125rem;
  padding: 0.5rem 2rem 0.625rem;
  border-radius: 0.25rem;
  background-color: #747474;
  color: #fff;
}
custom-popup.warning .popup__content .actions a:hover,
custom-popup.warning .popup__content .actions button:hover {
  background-color: #585858;
  color: #fff;
}
custom-popup.warning .popup__content .actions a[primary],
custom-popup.warning .popup__content .actions button[primary] {
  background-color: var(--color-red);
}
custom-popup.warning .popup__content .actions a[primary]:hover,
custom-popup.warning .popup__content .actions button[primary]:hover {
  background-color: var(--color-blue);
}

.icon__member-vip {
  width: 1.375rem;
  height: 1.375rem;
  display: inline-block;
  background-image: url("/img/icons/member-vip.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.icon__member-basic {
  width: 1.375rem;
  height: 1.375rem;
  display: inline-block;
  background-image: url("/img/icons/member-basic.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.loader {
  border: 0.5rem solid #f3f3f3;
  border-top: 0.5rem solid #105dac;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  animation: spin 1s linear infinite;
  margin: 100px auto;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.load-more {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 2rem auto;
  padding: 1rem;
  background-color: #f3f3f3;
  border-radius: 0.375rem;
  cursor: pointer;
  color: #105dac;
  font-size: 1.125rem;
}
.load-more:hover {
  background-color: #e0e0e0;
}

.no-more {
  text-align: center;
  font-size: 1.125rem;
  color: #888;
  margin: 2rem auto;
}

.ua-notification {
  border: 2px solid var(--color-yellow);
  padding: 1rem;
  border-radius: 0.375rem;
  background-color: var(--color-gray-dark);
  color: var(--color-yellow);
}
.ua-notification a {
  display: inline-block;
  margin: 1rem 0 0.5rem;
}

.custom-toastify {
  box-sizing: border-box;
  color: #000;
  background-color: var(--color-yellow);
  width: -moz-fit-content;
  width: fit-content;
}
.custom-toastify button {
  display: inline-block;
}

.page__announcement .announcement__wrapper {
  width: min(100%, 70rem);
  margin-inline: auto;
  padding: 4rem 0;
  color: #fff;
  display: grid;
  grid-template-columns: 12rem 1fr;
  align-items: start;
  gap: 4rem;
}
.page__announcement .announcement__wrapper .announcement__nav {
  display: grid;
  gap: 1rem;
  margin-block-end: 2rem;
  justify-content: center;
}
.page__announcement .announcement__wrapper .announcement__nav h2 {
  font-size: 1.5rem;
  line-height: 1.5;
}
.page__announcement .announcement__wrapper .announcement__nav ul {
  list-style-type: none;
  padding: 1rem 1rem 2rem 1.5rem;
  display: grid;
  gap: 0.75rem;
}
.page__announcement .announcement__wrapper .announcement__nav ul li a {
  font-size: 1.25rem;
  line-height: 1.5;
  font-weight: 500;
  text-decoration: none;
  color: #fff;
}
.page__announcement .announcement__wrapper .announcement__nav ul li a.active, .page__announcement .announcement__wrapper .announcement__nav ul li a:hover {
  color: var(--color-yellow);
}
.page__announcement .announcement__wrapper .announcement__main {
  display: grid;
  gap: 1rem;
  font-size: 1rem;
  line-height: 2;
  color: #fff;
}
.page__announcement .announcement__wrapper .announcement__main h1 {
  font-size: 1.5rem;
  line-height: 1.5;
  margin-block-end: 1.375rem;
}
.page__announcement .announcement__wrapper .announcement__main h1 a {
  color: #fff;
  text-decoration: none;
}
.page__announcement .announcement__wrapper .announcement__main .announcement__content h2 {
  font-size: 1.75rem;
  line-height: 1.5;
  margin-block-end: 1.375rem;
}
.page__announcement .announcement__wrapper .announcement__main .announcement__content .content {
  white-space: pre-line;
  font-size: 1rem;
  line-height: 2;
}
.page__announcement .announcement__wrapper .announcement__main .announcement__list {
  display: grid;
  gap: 0.75rem;
}
.page__announcement .announcement__wrapper .announcement__main .announcement__list article {
  background-color: #373737;
  padding: 0.75rem 1.5rem;
  border-radius: 0.25rem;
  transition: 0.3s;
}
.page__announcement .announcement__wrapper .announcement__main .announcement__list article:hover {
  background-color: #444;
}
.page__announcement .announcement__wrapper .announcement__main .announcement__list article a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #fff;
}
.page__announcement .announcement__wrapper .announcement__main .announcement__list article a h3 {
  font-size: 1.125rem;
  line-height: 1.5;
  font-weight: 500;
}
.page__announcement .announcement__wrapper .announcement__main .announcement__list article a .time {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
  color: #eee;
  background-image: url(/img/icons/clock-white.svg);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 1.25rem;
  padding-left: 1.5rem;
}

.page__index {
  --bg: #3c434c;
  --bg-transparent: #3c434c66;
  width: min(100%, 160rem);
  margin-inline: auto;
}
.page__index .sec__banner .banner__wrapper {
  width: min(100%, 160rem);
  margin-inline: auto;
  padding: 2rem 0 0;
}
@media (max-width: 60rem) {
  .page__index .sec__banner .banner__wrapper {
    padding: 0 0 2rem;
  }
}
.page__index .sec__banner .banner__wrapper .swiper__banner {
  --swiper-theme-color: #ffffff;
  --swiper-navigation-sides-offset: max(2vw, .75rem);
  padding: 2vw 3vw 4vw;
}
@media (max-width: 60rem) {
  .page__index .sec__banner .banner__wrapper .swiper__banner {
    padding: 0 0 2rem;
  }
}
.page__index .sec__banner .banner__wrapper .swiper__banner .swiper-wrapper .swiper-slide {
  width: min(75vw, 80rem);
  background-size: cover;
  background-position: center;
  filter: brightness(0.75);
  transform: scale(0.88);
  z-index: 1;
  transition: 0.3s;
}
@media (max-width: 60rem) {
  .page__index .sec__banner .banner__wrapper .swiper__banner .swiper-wrapper .swiper-slide {
    width: 100%;
  }
}
.page__index .sec__banner .banner__wrapper .swiper__banner .swiper-wrapper .swiper-slide.swiper-slide-active {
  filter: brightness(1);
  transform: scale(1.15);
  z-index: 2;
}
@media (max-width: 60rem) {
  .page__index .sec__banner .banner__wrapper .swiper__banner .swiper-wrapper .swiper-slide.swiper-slide-active {
    transform: scale(1);
  }
}
.page__index .sec__banner .banner__wrapper .swiper__banner .swiper-wrapper .swiper-slide .slide__wrapper {
  position: relative;
  display: grid;
  grid-template-columns: min(50%, 30rem) 1fr;
  border: 1px solid #777777;
  border-radius: 0.75rem;
  overflow: clip;
  background-color: var(--bg);
}
@media (max-width: 60rem) {
  .page__index .sec__banner .banner__wrapper .swiper__banner .swiper-wrapper .swiper-slide .slide__wrapper {
    grid-template-columns: 1fr;
    border: none;
    background-color: transparent;
    border-radius: 0;
  }
}
.page__index .sec__banner .banner__wrapper .swiper__banner .swiper-wrapper .swiper-slide .slide__wrapper .img {
  position: relative;
  z-index: 0;
  border-radius: 0.75rem;
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
}
@media (max-width: 60rem) {
  .page__index .sec__banner .banner__wrapper .swiper__banner .swiper-wrapper .swiper-slide .slide__wrapper .img {
    order: -1;
    border-radius: 0;
  }
}
.page__index .sec__banner .banner__wrapper .swiper__banner .swiper-wrapper .swiper-slide .slide__wrapper .img .img__wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.page__index .sec__banner .banner__wrapper .swiper__banner .swiper-wrapper .swiper-slide .slide__wrapper .img .img__wrapper > * {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page__index .sec__banner .banner__wrapper .swiper__banner .swiper-wrapper .swiper-slide .slide__wrapper .img .shadow {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(82deg, var(--bg) 10%, var(--bg-transparent) 25%, rgba(0, 0, 0, 0) 80%);
  z-index: 2;
  transform: translateX(-0.125rem);
}
@media (max-width: 60rem) {
  .page__index .sec__banner .banner__wrapper .swiper__banner .swiper-wrapper .swiper-slide .slide__wrapper .img .shadow {
    display: none;
  }
}
.page__index .sec__banner .banner__wrapper .swiper__banner .swiper-wrapper .swiper-slide .slide__wrapper .txt {
  position: relative;
  background-color: var(--bg);
  align-content: center;
  color: white;
  display: grid;
  gap: 1vw;
  padding: 1vw 2vw 1vw 4vw;
  z-index: 1;
}
@media (max-width: 60rem) {
  .page__index .sec__banner .banner__wrapper .swiper__banner .swiper-wrapper .swiper-slide .slide__wrapper .txt {
    background-color: transparent;
    padding: 1rem;
    gap: 0.75rem;
  }
}
.page__index .sec__banner .banner__wrapper .swiper__banner .swiper-wrapper .swiper-slide .slide__wrapper .txt .name h3 {
  font-size: clamp(1.5rem, 2vw, 2.5rem);
  line-height: 1.5;
  font-weight: 700;
  color: #fff;
}
.page__index .sec__banner .banner__wrapper .swiper__banner .swiper-wrapper .swiper-slide .slide__wrapper .txt .desc,
.page__index .sec__banner .banner__wrapper .swiper__banner .swiper-wrapper .swiper-slide .slide__wrapper .txt .intro {
  font-size: clamp(1rem, 1.0625vw, 1.125rem);
  font-weight: 400;
  line-height: 1.5;
  white-space: pre-line;
}
.page__index .sec__banner .banner__wrapper .swiper__banner .swiper-wrapper .swiper-slide .slide__wrapper .txt .actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.page__index .sec__banner .banner__wrapper .swiper__banner .swiper-wrapper .swiper-slide .slide__wrapper .txt .actions button.play {
  display: flex;
  align-items: center;
}
.page__index .sec__banner .banner__wrapper .swiper__banner .swiper-wrapper .swiper-slide .slide__wrapper .txt .actions button.play svg {
  height: 1rem;
  width: 1rem;
}
.page__index .sec__banner .banner__wrapper .swiper__banner .swiper-wrapper .swiper-slide .slide__wrapper .txt .actions button.play svg path {
  fill: #2D2E30;
}
.page__index .sec__banner .banner__wrapper .swiper__banner .swiper-wrapper .swiper-slide .slide__wrapper .txt .actions button.favorite {
  display: flex;
  align-items: center;
}
.page__index .sec__banner .banner__wrapper .swiper__banner .swiper-wrapper .swiper-slide .slide__wrapper .txt .actions button.favorite svg {
  height: 1rem;
  width: 1rem;
}
.page__index .sec__banner .banner__wrapper .swiper__banner .swiper-wrapper .swiper-slide .slide__wrapper .txt .actions button.favorite svg path {
  fill: #2D2E30;
}
.page__index .sec__banner .banner__wrapper .swiper__banner .swiper-wrapper .swiper-slide .slide__wrapper .txt .actions button.sound {
  display: flex;
  align-items: center;
}
.page__index .sec__banner .banner__wrapper .swiper__banner .swiper-wrapper .swiper-slide .slide__wrapper .txt .actions button.sound svg {
  width: 1.375rem;
  height: 1.375rem;
}
.page__index .sec__banner .banner__wrapper .swiper__banner .swiper-wrapper .swiper-slide .slide__wrapper .txt .actions button.sound svg path {
  fill: #2D2E30;
}
@media (max-width: 60rem) {
  .page__index .sec__banner .banner__wrapper .swiper__banner .swiper-button-nav {
    display: none;
  }
}
.page__index .sec__banner .banner__wrapper .swiper__banner .swiper-pagination {
  --swiper-pagination-bullet-size: .875rem;
  --swiper-pagination-bullet-horizontal-gap: .625rem;
  --swiper-pagination-bullet-inactive-color: var(--bg);
  display: none;
}
@media (max-width: 60rem) {
  .page__index .sec__banner .banner__wrapper .swiper__banner .swiper-pagination {
    display: block;
  }
}
.page__index .sec__banner .banner__wrapper .swiper__banner .swiper-pagination .swiper-pagination-bullet {
  opacity: 0.8;
  border: 2px solid #ffffff;
}
.page__index .sec__nav {
  background-color: var(--bg);
  width: min(100%, 90rem);
  margin-inline: auto;
}
.page__index .sec__nav .nav__wrapper {
  padding: 1.25rem 4rem;
  display: flex;
  align-items: center;
  gap: 4rem;
}
.page__index .sec__nav .nav__wrapper .nav__item {
  font-size: 1.25rem;
  line-height: 1.75;
  font-weight: 400;
  color: #d9d9d9;
  transition: 0.3s;
}
.page__index .sec__nav .nav__wrapper .nav__item:hover, .page__index .sec__nav .nav__wrapper .nav__item.active {
  color: #ffffff;
  border-bottom: 0.25rem solid #ffffff;
  transform: scale(1.2);
}
.page__index .sec__notification {
  width: min(100%, 70rem);
  padding: 1rem;
  margin-inline: auto;
}
.page__index .sec__notification .notification__wrapper {
  display: grid;
  gap: 1rem;
}
.page__index .sec__notification .notification__wrapper .bulletinboard__post {
  position: relative;
  background-color: var(--bg);
  padding: 0.75rem 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 0.75rem;
}
@media (max-width: 60rem) {
  .page__index .sec__notification .notification__wrapper .bulletinboard__post {
    padding: 1rem 2.5rem 1rem 1.75rem;
  }
}
.page__index .sec__notification .notification__wrapper .bulletinboard__post p {
  font-size: 1.25rem;
  line-height: 1.75;
  font-weight: 400;
  color: #D9D9D9;
}
.page__index .sec__notification .notification__wrapper .bulletinboard__post button {
  position: absolute;
  top: 0.375rem;
  right: 1rem;
  font-size: 2rem;
  color: #D9D9D9;
  background: none;
}
@media (max-width: 60rem) {
  .page__index .sec__notification .notification__wrapper .bulletinboard__post button {
    top: 0.75rem;
    right: 0.375rem;
  }
}
.page__index .sec__notification .notification__wrapper .bulletinboard__post button:hover {
  color: #ffffff;
}
.page__index .sec__video-list {
  padding: 2rem 0rem 1rem;
  width: min(100%, 90rem);
  margin-inline: auto;
}
.page__index .sec__video-list .sec__header {
  display: flex;
  justify-content: space-between;
  color: #ffffff;
  padding: 0.5rem 1rem;
}
.page__index .sec__video-list .sec__header a {
  color: #ffffff;
  font-size: 1.25rem;
  line-height: 1.75;
}
.page__index .sec__video-list .sec__header a[href]:hover {
  color: var(--color-yellow);
}
.page__index .sec__video-list .sec__header a h2 {
  font-size: 1.25rem;
  line-height: 1.75;
}
.page__index .sec__video-list .swiper__video {
  --swiper-theme-color: #ffffff;
  --swiper-navigation-sides-offset: 2.5rem;
}
.page__index .sec__video-list .swiper__video .swiper-wrapper {
  padding: 0 4rem;
}
.page__index .sec__video-list .swiper__video .swiper-wrapper .swiper-slide {
  background-size: cover;
  background-position: center;
  width: 18rem;
}
@media (max-width: 60rem) {
  .page__index .sec__video-list .swiper__video .swiper-wrapper .swiper-slide {
    width: 16rem;
  }
}
.page__index .sec__video-list .swiper__video .swiper-wrapper .swiper-slide .slide__wrapper {
  display: grid;
  border: 1px solid #777777;
  border-radius: 0.75rem;
  overflow: clip;
}
.page__index .sec__video-list .swiper__video .swiper-wrapper .swiper-slide .slide__wrapper .img {
  position: relative;
}
.page__index .sec__video-list .swiper__video .swiper-wrapper .swiper-slide .slide__wrapper .img img {
  width: 100%;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
}
.page__index .sec__video-list .swiper__video .swiper-wrapper .swiper-slide .slide__wrapper .img .tags {
  position: absolute;
  left: 0.25rem;
  bottom: 0.25rem;
  display: flex;
  gap: 0.375rem;
}
.page__index .sec__video-list .swiper__video .swiper-wrapper .swiper-slide .slide__wrapper .img .tags:empty {
  display: none;
}
.page__index .sec__video-list .swiper__video .swiper-wrapper .swiper-slide .slide__wrapper .img .tags span {
  white-space: nowrap;
  font-size: 0.75rem;
  line-height: 1;
  font-weight: 400;
  color: #f5f5f5;
  padding: 0.5rem 0.75rem;
  border-radius: 100vw;
  opacity: 0.95;
}
.page__index .sec__video-list .swiper__video .swiper-wrapper .swiper-slide .slide__wrapper .img .tags span.exclusive {
  background-color: #e24a4a;
}
.page__index .sec__video-list .swiper__video .swiper-wrapper .swiper-slide .slide__wrapper .img .tags span.partially-free {
  background-color: #1863df;
}
.page__index .sec__video-list .swiper__video .swiper-wrapper .swiper-slide .slide__wrapper .img .tags span.vip {
  background-color: var(--color-yellow);
  color: #2D2E30;
  font-weight: 700;
}
.page__index .sec__video-list .swiper__video .swiper-wrapper .swiper-slide .slide__wrapper .img .popular {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #e24a4a;
  border-radius: 50%;
  padding: 0.5rem;
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  opacity: 0.95;
}
.page__index .sec__video-list .swiper__video .swiper-wrapper .swiper-slide .slide__wrapper .img .popular svg {
  display: block;
  width: 100%;
  height: 100%;
}
.page__index .sec__video-list .swiper__video .swiper-button-prev {
  left: 1rem;
}
.page__index .sec__video-list .swiper__video .swiper-button-next {
  right: 1rem;
}

.page__period-return-url .message {
  white-space: pre-line;
  font-size: 1.5rem;
  line-height: 2;
  text-align: center;
  padding: 1rem;
  border-radius: 0.3125rem;
  margin-block-end: 1rem;
  background-color: #3c434c;
  color: #fff;
}

.page__faq .faq__wrapper {
  width: min(100%, 70rem);
  margin-inline: auto;
  padding: 4rem 0;
  color: #fff;
  display: grid;
  grid-template-columns: 12rem 1fr;
  align-items: start;
  gap: 4rem;
}
.page__faq .faq__wrapper .faq__nav {
  display: grid;
  gap: 1rem;
  margin-block-end: 2rem;
  justify-content: center;
}
.page__faq .faq__wrapper .faq__nav h2 {
  font-size: 1.5rem;
  line-height: 1.5;
}
.page__faq .faq__wrapper .faq__nav ul {
  list-style-type: none;
  padding: 1rem 1rem 2rem 1.5rem;
  display: grid;
  gap: 0.75rem;
}
.page__faq .faq__wrapper .faq__nav ul li a {
  font-size: 1.25rem;
  line-height: 1.5;
  font-weight: 500;
  text-decoration: none;
  color: #fff;
}
.page__faq .faq__wrapper .faq__nav ul li a.active, .page__faq .faq__wrapper .faq__nav ul li a:hover {
  color: var(--color-yellow);
}
.page__faq .faq__wrapper .faq__main {
  display: grid;
  gap: 1rem;
  font-size: 1rem;
  line-height: 2;
  color: #fff;
}
.page__faq .faq__wrapper .faq__main h1 {
  font-size: 1.5rem;
  line-height: 1.5;
  margin-block-end: 1.375rem;
}
.page__faq .faq__wrapper .faq__main .faq__list {
  display: grid;
  gap: 0.75rem;
}
.page__faq .faq__wrapper .faq__main .faq__list article.open h3 {
  background-color: #585858;
}
.page__faq .faq__wrapper .faq__main .faq__list article.open h3::after {
  content: "－";
}
.page__faq .faq__wrapper .faq__main .faq__list article.open h3 + .item__content {
  grid-template-rows: 1fr;
}
.page__faq .faq__wrapper .faq__main .faq__list article:hover h3 {
  background-color: #585858;
}
.page__faq .faq__wrapper .faq__main .faq__list article h3 {
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  background-color: #373737;
  padding: 0.75rem 1.5rem;
  border-radius: 0.25rem;
}
.page__faq .faq__wrapper .faq__main .faq__list article h3:hover {
  background-color: #585858;
}
.page__faq .faq__wrapper .faq__main .faq__list article h3::after {
  content: "＋";
  font-size: 1.5rem;
  line-height: 1.5;
  font-weight: 500;
  color: #fff;
  margin-inline-start: auto;
}
.page__faq .faq__wrapper .faq__main .faq__list article .item__content {
  display: grid;
  grid-template-rows: 0fr;
  transition: 0.3s;
}
.page__faq .faq__wrapper .faq__main .faq__list article .item__content .content {
  overflow: hidden;
}
.page__faq .faq__wrapper .faq__main .faq__list article .item__content .content .content__wrapper {
  padding: 2rem;
}

.page__member-login,
.page__member-register {
  display: grid;
  place-items: center;
  min-height: 100dvh;
  width: 100%;
  background-image: url(/img/tang-bg.png);
  background-size: cover;
  background-position: center;
  color: #fff;
}
.page__member-login .member-form__wrapper,
.page__member-register .member-form__wrapper {
  display: grid;
  gap: 1rem;
  width: min(100%, 25rem);
  margin-inline: auto;
  padding: 2rem;
  text-align: center;
}
.page__member-login .member-form__wrapper .logo,
.page__member-register .member-form__wrapper .logo {
  display: block;
  height: 2.5rem;
  margin-block-end: 3rem;
}
.page__member-login .member-form__wrapper > h1,
.page__member-register .member-form__wrapper > h1 {
  font-size: 1.5rem;
  margin-block-end: 1rem;
}
.page__member-login .member-form__wrapper > h2,
.page__member-register .member-form__wrapper > h2 {
  font-size: 1.25rem;
  margin-block-end: 1rem;
}
.page__member-login .member-form__wrapper p a,
.page__member-register .member-form__wrapper p a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 0.25rem;
}
.page__member-login .member-form__wrapper p a:hover,
.page__member-register .member-form__wrapper p a:hover {
  color: #FFC438;
}
.page__member-login .member-form__wrapper p.external-login a,
.page__member-register .member-form__wrapper p.external-login a {
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  line-height: 1;
  font-weight: 500;
  background-color: #fff;
  padding: 0.75rem 3rem;
  border-radius: 0.375rem;
  color: #000;
}
.page__member-login .member-form__wrapper p.external-login a img,
.page__member-register .member-form__wrapper p.external-login a img {
  height: 1.375rem;
}
.page__member-login .member-form__wrapper p.external-login a img.logo-google,
.page__member-register .member-form__wrapper p.external-login a img.logo-google {
  transform: scale(1.5);
}
.page__member-login .member-form__wrapper p.backline,
.page__member-register .member-form__wrapper p.backline {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 0.75rem;
}
.page__member-login .member-form__wrapper p.backline::before,
.page__member-register .member-form__wrapper p.backline::before {
  content: "";
  display: block;
  height: 1px;
  background-color: #fff;
}
.page__member-login .member-form__wrapper p.backline::after,
.page__member-register .member-form__wrapper p.backline::after {
  content: "";
  display: block;
  height: 1px;
  background-color: #fff;
}
.page__member-login .member-form__wrapper p.note,
.page__member-register .member-form__wrapper p.note {
  font-size: 1rem;
  line-height: 1.75;
  font-weight: 500;
  color: #fff;
}
.page__member-login .member-form__wrapper p.note span,
.page__member-register .member-form__wrapper p.note span {
  padding-inline: 0.25rem;
}
.page__member-login .member-form__wrapper form,
.page__member-register .member-form__wrapper form {
  display: grid;
  grid-template-columns: auto 1fr;
}
.page__member-login .member-form__wrapper form > *,
.page__member-register .member-form__wrapper form > * {
  min-width: 0;
}
.page__member-login .member-form__wrapper form label,
.page__member-register .member-form__wrapper form label {
  grid-column: 1;
  padding: 0.625rem 0.5rem 0.5rem 0;
}
.page__member-login .member-form__wrapper form input,
.page__member-login .member-form__wrapper form textarea,
.page__member-login .member-form__wrapper form select,
.page__member-register .member-form__wrapper form input,
.page__member-register .member-form__wrapper form textarea,
.page__member-register .member-form__wrapper form select {
  grid-column: 2;
  font-size: 1rem;
}
.page__member-login .member-form__wrapper form :not(label, input, textarea, select),
.page__member-register .member-form__wrapper form :not(label, input, textarea, select) {
  grid-column: span 2;
}
.page__member-login .member-form__wrapper form input,
.page__member-register .member-form__wrapper form input {
  width: 100%;
  padding: 0.875rem 1rem;
  border: 2px solid #aaa;
  background-color: rgba(0, 0, 0, 0.3);
  color: #fff;
  margin-block-end: 1rem;
}
.page__member-login .member-form__wrapper form input::-moz-placeholder, .page__member-register .member-form__wrapper form input::-moz-placeholder {
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
}
.page__member-login .member-form__wrapper form input::placeholder,
.page__member-register .member-form__wrapper form input::placeholder {
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
}
.page__member-login .member-form__wrapper form input:focus,
.page__member-register .member-form__wrapper form input:focus {
  outline: none;
  border-color: #fff;
}
.page__member-login .member-form__wrapper form input.white,
.page__member-register .member-form__wrapper form input.white {
  background-color: #fff;
  color: #000;
}
.page__member-login .member-form__wrapper form input.white::-moz-placeholder, .page__member-register .member-form__wrapper form input.white::-moz-placeholder {
  color: #777;
}
.page__member-login .member-form__wrapper form input.white::placeholder,
.page__member-register .member-form__wrapper form input.white::placeholder {
  color: #777;
}
.page__member-login .member-form__wrapper form input.placeholder-center,
.page__member-register .member-form__wrapper form input.placeholder-center {
  text-align: center;
}
.page__member-login .member-form__wrapper form select,
.page__member-register .member-form__wrapper form select {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 2px solid #aaa;
  background-color: rgba(0, 0, 0, 0.3);
  color: #fff;
  margin-block-end: 1rem;
}
.page__member-login .member-form__wrapper form button[type=submit],
.page__member-register .member-form__wrapper form button[type=submit] {
  display: block;
  width: 100%;
  border: 2px solid rgba(255, 255, 255, 0.5333333333);
  border-radius: 0.375rem;
  background-color: rgba(0, 0, 0, 0.2);
  color: #fff;
  font-weight: 500;
  text-align: center;
  padding: 0.75rem 1rem;
  margin-block: 2rem 1rem;
  cursor: pointer;
}
.page__member-login .member-form__wrapper form p.backline,
.page__member-register .member-form__wrapper form p.backline {
  margin-block: 0 1rem;
}
.page__member-login .member-form__wrapper form.account-form input,
.page__member-login .member-form__wrapper form.account-form textarea,
.page__member-login .member-form__wrapper form.account-form select,
.page__member-register .member-form__wrapper form.account-form input,
.page__member-register .member-form__wrapper form.account-form textarea,
.page__member-register .member-form__wrapper form.account-form select {
  background-color: #fff;
  color: #000;
  border: none;
  border-bottom: 1px solid #aaa;
  padding: 0.875rem 1rem 0.75rem;
}
.page__member-login .member-form__wrapper form.account-form input::-moz-placeholder, .page__member-login .member-form__wrapper form.account-form textarea::-moz-placeholder, .page__member-login .member-form__wrapper form.account-form select::-moz-placeholder, .page__member-register .member-form__wrapper form.account-form input::-moz-placeholder, .page__member-register .member-form__wrapper form.account-form textarea::-moz-placeholder, .page__member-register .member-form__wrapper form.account-form select::-moz-placeholder {
  color: #999;
  font-weight: 700;
}
.page__member-login .member-form__wrapper form.account-form input::placeholder,
.page__member-login .member-form__wrapper form.account-form textarea::placeholder,
.page__member-login .member-form__wrapper form.account-form select::placeholder,
.page__member-register .member-form__wrapper form.account-form input::placeholder,
.page__member-register .member-form__wrapper form.account-form textarea::placeholder,
.page__member-register .member-form__wrapper form.account-form select::placeholder {
  color: #999;
  font-weight: 700;
}
.page__member-login .member-form__wrapper form .validation-summary-errors,
.page__member-register .member-form__wrapper form .validation-summary-errors {
  width: -moz-fit-content;
  width: fit-content;
  display: grid;
  gap: 0.5rem;
  margin: 0 auto;
  color: var(--color-yellow);
}

.page__change-plan {
  color: #fff;
}
.page__change-plan .page__wrapper header {
  width: min(100%, 70rem);
  margin-inline: auto;
  padding: 2rem 0;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
}
.page__change-plan .page__wrapper header a {
  color: #fff;
  text-decoration: none;
  padding: 0.5rem 1rem;
  transition: border-color 0.25s;
  cursor: pointer;
}
.page__change-plan .page__wrapper header a:hover {
  text-decoration: underline;
  color: var(--color-yellow);
}
.page__change-plan .page__wrapper header h1 {
  font-size: 2rem;
  line-height: 1.5;
}
.page__change-plan .page__wrapper main {
  width: min(100%, 60rem);
  margin-inline: auto;
  display: grid;
  gap: 1rem;
}
.page__change-plan .page__wrapper main > p {
  font-size: 1.25rem;
  line-height: 1.75;
}
.page__change-plan .page__wrapper main .plan__list {
  width: min(100%, 56.5rem);
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto auto 1fr auto;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 0.5rem;
  padding: 2rem 0 0;
}
@media (max-width: 60rem) {
  .page__change-plan .page__wrapper main .plan__list {
    grid-template-columns: 1fr;
  }
}
.page__change-plan .page__wrapper main .plan__list .plan__item {
  background-color: #fff;
  grid-row: span 3;
  position: relative;
  width: 100%;
  border: 0.0625rem solid #777;
  display: grid;
  grid-template-rows: subgrid;
  color: #626e7c;
  padding: 1rem;
  text-align: center;
  border: 3px solid transparent;
}
.page__change-plan .page__wrapper main .plan__list .plan__item.plan__current {
  border: 3px solid var(--color-yellow);
}
.page__change-plan .page__wrapper main .plan__list .plan__item .plan__badge,
.page__change-plan .page__wrapper main .plan__list .plan__item .plan__badge-current {
  position: absolute;
  top: -2.625rem;
  left: 0;
  width: 100%;
  height: 2.5rem;
  text-align: center;
  font-size: 1.25rem;
  line-height: 1;
  font-weight: 700;
  padding: 0.5rem 0;
}
.page__change-plan .page__wrapper main .plan__list .plan__item .plan__badge-current {
  background-color: var(--color-yellow);
  color: #3C434C;
}
.page__change-plan .page__wrapper main .plan__list .plan__item.hovered:not(.plan__current) {
  border-color: #105dac;
}
.page__change-plan .page__wrapper main .plan__list .plan__item.hovered:not(.plan__current) .plan__badge {
  background-color: #105dac;
  color: #fff;
}
@media (max-width: 60rem) {
  .page__change-plan .page__wrapper main .plan__list .plan__item {
    margin-block: 2rem;
    grid-row: span 3;
  }
}
.page__change-plan .page__wrapper main .plan__list .plan__item > h3 {
  font-size: 1.5rem;
  border-bottom: 1px solid #626e7c;
  padding-block-end: 0.75rem;
}
.page__change-plan .page__wrapper main .plan__list .plan__item .price {
  width: -moz-fit-content;
  width: fit-content;
  justify-self: center;
}
.page__change-plan .page__wrapper main .plan__list .plan__item .price h4 {
  font-size: 1.875rem;
  padding-block-end: 0.5rem;
  font-weight: 900;
  line-height: 1;
}
.page__change-plan .page__wrapper main .plan__list .plan__item .price h4 em {
  font-style: normal;
  font-size: 4.5rem;
}
.page__change-plan .page__wrapper main .plan__list .plan__item .price p {
  font-size: 1.0625rem;
  padding-block-end: 1rem;
  justify-self: end;
}
.page__change-plan .page__wrapper main .plan__list .plan__item .price p em {
  font-style: normal;
  font-size: 1.125rem;
  font-weight: 500;
  background-color: #FFC438;
  color: #000;
  border-radius: 100vw;
  padding: 0.25rem 0.75rem;
  margin-inline-end: 0.5rem;
}
.page__change-plan .page__wrapper main .plan__list .plan__item .action {
  justify-self: center;
  display: grid;
  align-items: end;
  justify-items: center;
}
.page__change-plan .page__wrapper main .plan__list .plan__item .action p {
  font-size: 1.375rem;
  font-weight: 500;
  letter-spacing: 0.0625rem;
  padding-block-end: 0.5rem;
}
.page__change-plan .page__wrapper main .plan__list .plan__item .action button {
  font-size: 1.375rem;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.0625rem;
  padding: 1rem 2.25rem 0.875rem;
  border-radius: 100vw;
  background: #626e7c;
  color: #fff;
  transition: 0.3s;
}
.page__change-plan .page__wrapper main .plan__list .plan__item .action button:hover {
  background-color: #105dac;
}
.page__change-plan .page__wrapper main .plan__list .plan__item .action button:disabled {
  background-color: #777;
  cursor: not-allowed;
}
.page__change-plan .page__wrapper main custom-popup {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.page__change-plan .page__wrapper main .plan-details {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  text-decoration: underline;
  color: #fff;
  text-align: center;
  margin-block-end: 4rem;
  background-color: transparent;
  font-size: 1.125rem;
  font-weight: 400;
  padding: 0;
}

.page__manage .page__wrapper .manage__main {
  width: min(100%, 70rem);
  margin-inline: auto;
  padding: 1rem 0.75rem;
  display: grid;
  gap: 0.75rem;
}
.page__manage .page__wrapper .manage__main h2 {
  color: #fff;
}
.page__manage .page__wrapper .manage__main > a {
  color: #fff;
  background-color: #333333;
  border-radius: 0.25rem;
  padding: 1rem 2rem;
}
.page__manage .page__wrapper .manage__main > a:hover {
  background-color: #444444;
}
@media (max-width: 60rem) {
  .page__manage .page__wrapper .manage__main > a {
    padding: 0.5rem 1.5rem;
  }
}

.page__my-account .my-account__main {
  width: min(100%, 70rem);
  margin-inline: auto;
  padding: 1rem 0.75rem;
  color: white;
  display: grid;
  gap: 0.75rem;
}
.page__my-account .my-account__main .vip__subscription {
  background-color: #333333;
  border-radius: 0.25rem;
  padding: 1rem 2rem;
  display: grid;
  gap: 0.5rem;
}
@media (max-width: 60rem) {
  .page__my-account .my-account__main .vip__subscription {
    padding: 0.5rem 1.5rem;
  }
}
.page__my-account .my-account__main .vip__subscription h2 {
  font-size: 1.25rem;
  line-height: 1.5;
  font-weight: 500;
  color: #fff;
}
@media (max-width: 60rem) {
  .page__my-account .my-account__main .vip__subscription h2 {
    font-size: 1.125rem;
  }
}
.page__my-account .my-account__main .vip__subscription h3 {
  font-size: 1.125rem;
  line-height: 1.5;
  font-weight: 400;
  color: #fff;
}
@media (max-width: 60rem) {
  .page__my-account .my-account__main .vip__subscription h3 {
    font-size: 1rem;
  }
}
.page__my-account .my-account__main .vip__subscription p {
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  gap: 0.5rem;
  align-items: center;
  font-size: 1.125rem;
  line-height: 1;
  font-weight: 700;
  color: #000;
  text-decoration: none;
  padding: 0.25rem 1rem;
  border-radius: 100vw;
  background-color: var(--color-yellow);
  transition: background-color 0.25s;
}
.page__my-account .my-account__main > a {
  color: #fff;
  background-color: #333333;
  border-radius: 0.25rem;
  padding: 1rem 2rem;
}
.page__my-account .my-account__main > a:hover {
  background-color: #444444;
}
@media (max-width: 60rem) {
  .page__my-account .my-account__main > a {
    padding: 0.5rem 1.5rem;
  }
}
.page__my-account .my-account__main .newsletter {
  color: #fff;
  background-color: #333333;
  border-radius: 0.25rem;
  padding: 1rem 2rem;
}
.page__my-account .my-account__main .newsletter label {
  display: flex;
  align-items: center;
  gap: 1rem;
  accent-color: var(--color-yellow);
  cursor: pointer;
}
.page__my-account .my-account__main .newsletter label input[type=checkbox] {
  width: 1.25rem;
  height: 1.25rem;
}
.page__my-account .my-account__main .profile .profile__header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 0;
}
.page__my-account .my-account__main .profile .profile__header h3 {
  font-size: 1.25rem;
  line-height: 1.5;
  font-weight: 700;
  margin-block: 0.5rem;
}
@media (max-width: 60rem) {
  .page__my-account .my-account__main .profile .profile__header h3 {
    font-size: 1.125rem;
  }
}
.page__my-account .my-account__main .profile .profile__header button {
  background-color: transparent;
  border-radius: 0.25rem;
  padding: 0.5rem;
  color: #fff;
  line-height: 1.5;
  font-weight: 700;
}
.page__my-account .my-account__main .profile .profile__header button:hover {
  background-color: #333333;
}
.page__my-account .my-account__main .profile .profile__header button:hover svg path {
  stroke: var(--color-yellow);
}
.page__my-account .my-account__main .profile .profile__header button:hover svg g fill {
  color: var(--color-yellow);
}
.page__my-account .my-account__main .profile .profile__header button svg,
.page__my-account .my-account__main .profile .profile__header button img {
  width: 1.5rem;
  height: 1.5rem;
}
.page__my-account .my-account__main .profile .profile__header h4 {
  font-size: 1.125rem;
  line-height: 1.75;
  font-weight: 400;
  color: var(--color-yellow);
}
.page__my-account .my-account__main .profile .profile-form {
  display: grid;
  grid-template-columns: 6rem 1fr;
  gap: 0.5rem;
}
.page__my-account .my-account__main .profile .profile-form .form__item {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: subgrid;
  background-color: #333333;
  border-radius: 0.25rem;
  padding: 0.5rem 1.5rem;
  align-items: center;
}
@media (max-width: 60rem) {
  .page__my-account .my-account__main .profile .profile-form .form__item {
    padding: 0.5rem 1rem;
  }
}
.page__my-account .my-account__main .profile .profile-form .form__item label {
  font-size: 1rem;
  line-height: 1.5;
  text-align: center;
}
.page__my-account .my-account__main .profile .profile-form .form__item select,
.page__my-account .my-account__main .profile .profile-form .form__item input {
  padding: 0.5rem 0.75rem;
  font-size: 1rem;
}
.page__my-account .my-account__main .profile .profile-form .form__item input:-moz-read-only {
  background-color: #333333;
  color: #fff;
  border-color: transparent;
}
.page__my-account .my-account__main .profile .profile-form .form__item input:read-only,
.page__my-account .my-account__main .profile .profile-form .form__item select:disabled {
  background-color: #333333;
  color: #fff;
  border-color: transparent;
}
.page__my-account .my-account__main .profile .profile-form .form__item input:-moz-read-only option {
  color: #fff;
}
.page__my-account .my-account__main .profile .profile-form .form__item input:read-only option,
.page__my-account .my-account__main .profile .profile-form .form__item select:disabled option {
  color: #fff;
}
.page__my-account .my-account__main .profile .profile-form .form__item input[type=number] {
  width: -moz-fit-content;
  width: fit-content;
}
.page__my-account .my-account__main .profile .profile-form .form__item .birth__items {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.page__my-account .my-account__main .profile .profile-form .form__item .country__label {
  font-size: 1rem;
  line-height: 1.5;
  text-align: center;
}
@media (max-width: 60rem) {
  .page__my-account .my-account__main .profile .profile-form .form__item .country__label {
    display: none;
  }
}
.page__my-account .my-account__main .profile .profile-form .form__item .country__wrapper {
  width: 100%;
}
.page__my-account .my-account__main .profile .profile-form .form__item .country__wrapper select {
  width: 100%;
}
.page__my-account .my-account__main .profile .edit__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 0;
}
.page__my-account .my-account__main .profile .edit__actions h4 {
  font-size: 1.125rem;
  line-height: 1.75;
  font-weight: 400;
  color: var(--color-yellow);
}
.page__my-account .my-account__main .profile .edit__actions button {
  background-color: transparent;
  border-radius: 0.25rem;
  padding: 0.5rem;
  color: #fff;
  line-height: 1.5;
  font-weight: 700;
}
.page__my-account .my-account__main .profile .edit__actions button:hover {
  background-color: #333333;
}
.page__my-account .my-account__main .profile .edit__actions button:hover svg path {
  stroke: var(--color-yellow);
}
.page__my-account .my-account__main .profile .edit__actions button:hover svg g fill {
  color: var(--color-yellow);
}
.page__my-account .my-account__main .profile .edit__actions button svg,
.page__my-account .my-account__main .profile .edit__actions button img {
  width: 1.5rem;
  height: 1.5rem;
}

.page__my-watchlist .page__wrapper .page__main {
  width: min(100%, 70rem);
  margin-inline: auto;
}
.page__my-watchlist .page__wrapper .page__main .watchlist__tabs {
  display: flex;
  align-items: flex-end;
  gap: 1.5rem;
  color: #fff;
  border-bottom: 1px solid #fff;
  padding: 1rem 0 0;
  margin-block-end: 1rem;
}
.page__my-watchlist .page__wrapper .page__main .watchlist__tabs .tab {
  padding: 1rem;
  font-size: 1.125rem;
  color: #d9d9d9;
  display: flex;
  gap: 0.5rem;
  align-items: center;
  cursor: pointer;
}
.page__my-watchlist .page__wrapper .page__main .watchlist__tabs .tab.active {
  color: #fff;
  font-weight: 700;
  transform: scale(1.1);
}
.page__my-watchlist .page__wrapper .page__main .watchlist__tabs .tab img {
  display: inline-block;
  width: 1rem;
}

.page__notifications {
  padding: 1rem 1rem 4rem;
}
.page__notifications .page__wrapper {
  width: min(100%, 70rem);
  margin-inline: auto;
  display: grid;
  gap: 1.5rem;
}
.page__notifications .page__wrapper .page__title {
  display: flex;
  gap: 1rem;
  align-items: center;
  padding: 1.5rem 0;
  border-bottom: 1px solid #fff;
}
.page__notifications .page__wrapper .page__title img {
  width: 2.25rem;
  height: 2.25rem;
}
.page__notifications .page__wrapper .page__title h1 {
  font-size: 1.75rem;
  color: #fff;
}
.page__notifications .page__wrapper .notification__desc {
  font-size: 1.25rem;
  color: #fff;
  padding: 4rem 1rem 2rem;
  text-align: center;
}
.page__notifications .page__wrapper .notification__desc .icon {
  position: relative;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  padding: 1rem 0 2rem;
  margin-inline: auto;
}
.page__notifications .page__wrapper .notification__desc .icon::before {
  position: absolute;
  display: inline-block;
  content: "";
  top: 0;
  right: 0;
  width: 1.25rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: var(--color-yellow);
}
.page__notifications .page__wrapper .notification__desc .icon img {
  width: 6rem;
}
.page__notifications .page__wrapper .notification__desc h2 {
  font-size: 1.625rem;
  line-height: 2;
  color: #fff;
}
.page__notifications .page__wrapper .notification__desc p {
  font-size: 1.25rem;
  color: #fff;
}
.page__notifications .page__wrapper .notification__list {
  display: grid;
  grid-template-columns: auto 1fr 10rem 8rem;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.page__notifications .page__wrapper .notification__list .item {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: subgrid;
}
.page__notifications .page__wrapper .notification__list .item .item__wrapper {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: subgrid;
  align-items: center;
  padding: 1rem;
  border-bottom: 2px solid #373737;
}
.page__notifications .page__wrapper .notification__list .item .item__wrapper .program__img a img {
  width: 6rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
}
.page__notifications .page__wrapper .notification__list .item .item__wrapper .video__info a {
  color: #fff;
}
.page__notifications .page__wrapper .notification__list .item .item__wrapper .video__info a h3 {
  display: flex;
  gap: 2rem;
  font-size: 1.25rem;
  line-height: 1.5;
  font-weight: 700;
}
.page__notifications .page__wrapper .notification__list .item .item__wrapper .video__info a h3 span.experts {
  color: var(--color-yellow);
}
.page__notifications .page__wrapper .notification__list .item .item__wrapper .video__info a h4 {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
  color: #fff;
}
.page__notifications .page__wrapper .notification__list .item .item__wrapper .video__info a h4:has(+ p) {
  margin-bottom: 0.5rem;
}
.page__notifications .page__wrapper .notification__list .item .item__wrapper .video__info a p {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
  color: #fff;
}
.page__notifications .page__wrapper .notification__list .item .item__wrapper .video__thumbnail {
  border: 1px solid #777;
  border-radius: 0.75rem;
  overflow: hidden;
  transition: 0.3s;
}
.page__notifications .page__wrapper .notification__list .item .item__wrapper .video__thumbnail:hover {
  border-color: #FFC438;
}
.page__notifications .page__wrapper .notification__list .item .item__wrapper .video__thumbnail img {
  width: 100%;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
}
.page__notifications .page__wrapper .notification__list .item .item__wrapper .action {
  justify-items: center;
}
.page__notifications .page__wrapper .notification__list .item .item__wrapper .action button {
  padding: 0.25rem;
  background-color: #ababab;
}
.page__notifications .page__wrapper .notification__list .item .item__wrapper .action button.active {
  background-color: var(--color-yellow);
}
.page__notifications .page__wrapper .notification__list .item .item__wrapper .action button img {
  width: 1.5rem;
  aspect-ratio: 1/1;
  border-radius: 0.125rem;
}

.page__member-register {
  display: grid;
  place-items: center;
  min-height: 100dvh;
  width: 100%;
  background-image: url(/img/tang-bg.png);
  background-size: cover;
  background-position: center;
}

.page__serialno-redemption {
  color: #fff;
}
.page__serialno-redemption .page__wrapper header {
  width: min(100%, 70rem);
  margin-inline: auto;
  padding: 2rem 0;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
}
.page__serialno-redemption .page__wrapper main {
  width: min(100%, 40rem);
  margin-inline: auto;
  display: grid;
  gap: 1rem;
}
.page__serialno-redemption .page__wrapper main > p {
  font-size: 1.25rem;
  line-height: 1.75;
}
.page__serialno-redemption .page__wrapper main form {
  display: grid;
  gap: 0.5rem;
}
.page__serialno-redemption .page__wrapper main form input {
  width: 100%;
  padding: 0.5rem 1rem;
  font-size: 1.125rem;
  line-height: 1.5;
  border-radius: 0.25rem;
  background-color: #fff;
  color: #333;
  border: none;
  outline: none;
}
.page__serialno-redemption .page__wrapper main form input[readonly] {
  background-color: #333333;
  color: #fff;
}
.page__serialno-redemption .page__wrapper main form .msg {
  font-size: 1.125rem;
  line-height: 1.5;
  color: var(--color-yellow);
  margin-top: 1rem;
}
.page__serialno-redemption .page__wrapper main form .actions {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: 1rem;
}
.page__serialno-redemption .page__wrapper main form .actions button {
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.5rem 1rem;
  font-size: 1.125rem;
  line-height: 1.5;
  border-radius: 0.25rem;
  background-color: #4D4D4D;
  color: #fff;
  border: none;
  outline: none;
  cursor: pointer;
  transition: background-color 0.25s;
}
.page__serialno-redemption .page__wrapper main form .actions button:disabled {
  background-color: #333333;
  cursor: not-allowed;
}
.page__serialno-redemption .page__wrapper main form .actions button:hover {
  background-color: #444444;
}
.page__serialno-redemption .page__wrapper main .note {
  padding: 6rem 0;
}
.page__serialno-redemption .page__wrapper main .note h2 {
  font-size: 1.125rem;
  line-height: 1.75;
}
.page__serialno-redemption .page__wrapper main .note p {
  font-size: 1rem;
  line-height: 1.75;
  color: #fff;
}

.page__settings .page__wrapper .settings__main {
  width: min(100%, 70rem);
  margin-inline: auto;
  padding: 1rem 0.75rem;
  display: grid;
  gap: 0.75rem;
}
.page__settings .page__wrapper .settings__main h2 {
  color: #fff;
}
.page__settings .page__wrapper .settings__main > a {
  color: #fff;
  background-color: #333333;
  border-radius: 0.25rem;
  padding: 1rem 2rem;
}
.page__settings .page__wrapper .settings__main > a:hover {
  background-color: #444444;
}
@media (max-width: 60rem) {
  .page__settings .page__wrapper .settings__main > a {
    padding: 0.5rem 1.5rem;
  }
}

body:has(.page__member-subscribe) {
  background-color: #2e60c5;
}

.page__member-subscribe {
  display: grid;
  place-items: center;
  min-height: 100dvh;
  background: url(/img/tang-bg.png) no-repeat center center fixed;
  background-size: cover;
}
.page__member-subscribe .member-form__wrapper {
  width: min(100%, 32rem);
  margin-inline: auto;
  padding: 1rem;
}
.page__member-subscribe .member-form__wrapper .plan__wrapper {
  display: grid;
  gap: 0.5rem;
  color: #fff;
}
.page__member-subscribe .member-form__wrapper .plan__wrapper .logo {
  text-align: center;
}
.page__member-subscribe .member-form__wrapper .plan__wrapper h1 {
  font-size: 1.5rem;
  text-align: center;
}
.page__member-subscribe .member-form__wrapper .plan__wrapper .plan__info {
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  padding: 0.75rem 0;
}
.page__member-subscribe .member-form__wrapper .plan__wrapper .plan__info h2 {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  font-size: 1.25rem;
  line-height: 1;
}
.page__member-subscribe .member-form__wrapper .plan__wrapper .plan__info h2 span {
  font-weight: 500;
}
.page__member-subscribe .member-form__wrapper .plan__wrapper .plan__info h2 em {
  font-size: 3rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.125rem;
}
.page__member-subscribe .member-form__wrapper .plan__wrapper .plan__info p {
  font-size: 1.25rem;
  line-height: 1.75;
  justify-self: flex-end;
}
.page__member-subscribe .member-form__wrapper .subscribe-form .form__wrapper {
  background-color: #fafafa;
  padding: 0.75rem;
  display: grid;
  color: #777;
}
.page__member-subscribe .member-form__wrapper .subscribe-form .form__wrapper label {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 500;
}
.page__member-subscribe .member-form__wrapper .subscribe-form .form__wrapper input {
  padding: 0.5rem 0.75rem;
  border: 1px solid #333;
  border-radius: 0.25rem;
  font-size: 1rem;
  line-height: 1.5;
}
.page__member-subscribe .member-form__wrapper .subscribe-form .form__wrapper .payer-email__wrapper {
  display: grid;
  gap: 0.25rem;
}
.page__member-subscribe .member-form__wrapper .subscribe-form .form__wrapper h3 {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 1rem 0 0.25rem;
}
.page__member-subscribe .member-form__wrapper .subscribe-form .form__wrapper .invoice__info .input__wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  row-gap: 0.5rem;
}
.page__member-subscribe .member-form__wrapper .subscribe-form .form__wrapper .invoice__info .input__wrapper.color-deep {
  padding: 0.5rem 0.75rem;
  background-color: #d7d7d7;
  border-bottom: 1px solid #333;
}
.page__member-subscribe .member-form__wrapper .subscribe-form .form__wrapper .invoice__info .input__wrapper .w-50 {
  width: 50%;
}
.page__member-subscribe .member-form__wrapper .subscribe-form .form__wrapper .invoice__info .input__wrapper .w-75 {
  width: 75%;
}
.page__member-subscribe .member-form__wrapper .subscribe-form .form__wrapper .invoice__info .input__wrapper label {
  white-space: nowrap;
}
.page__member-subscribe .member-form__wrapper .subscribe-form .form__wrapper .invoice__info .input__wrapper input {
  width: min(100%, 12rem);
  padding: 0.25rem 1rem;
  border: 1px solid #333;
  border-radius: 0.25rem;
  font-size: 1rem;
  line-height: 1.5;
}
.page__member-subscribe .member-form__wrapper .subscribe-form .form__wrapper .invoice__info .invoiceType__wrapper {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.page__member-subscribe .member-form__wrapper .subscribe-form .form__wrapper .invoice__info .invoiceType__wrapper input[type=radio] {
  clip-path: inset(50%);
  width: 1px;
  height: 1px;
  overflow: hidden;
  white-space: nowrap;
}
.page__member-subscribe .member-form__wrapper .subscribe-form .form__wrapper .invoice__info .invoiceType__wrapper input[type=radio]:checked + label {
  background-color: #58616f;
  color: #fff;
}
.page__member-subscribe .member-form__wrapper .subscribe-form .form__wrapper .invoice__info .invoiceType__wrapper label {
  display: inline-block;
  padding: 0.25rem 0.75rem 0.375rem;
  border: 1px solid #333;
  border-radius: 0.25rem;
  font-size: 1rem;
  line-height: 1.5;
  cursor: pointer;
  background-color: #fff;
}
.page__member-subscribe .member-form__wrapper .subscribe-form .form__wrapper .invoice__info .recipient__wrapper {
  padding: 0.75rem;
  background-color: #ececec;
  display: grid;
  gap: 0.5rem;
}
.page__member-subscribe .member-form__wrapper .subscribe-form .form__wrapper .invoice__info .agree__wrapper {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.75rem;
}
.page__member-subscribe .member-form__wrapper .subscribe-form .form__wrapper .invoice__info .agree__wrapper input[type=checkbox] {
  accent-color: #52637d;
  width: 1.375rem;
  height: 1.375rem;
  transform: translateY(0.25rem);
}
.page__member-subscribe .member-form__wrapper .subscribe-form .form__wrapper .invoice__info .agree__wrapper label {
  cursor: pointer;
}
.page__member-subscribe .member-form__wrapper .subscribe-form .form__wrapper .invoice__info .agree__wrapper label:hover {
  text-decoration: underline;
}
.page__member-subscribe .member-form__wrapper .subscribe-form .form__wrapper .invoice__info .agree__wrapper label a {
  color: #777;
}
.page__member-subscribe .member-form__wrapper .subscribe-form .form__wrapper > ul {
  display: grid;
  gap: 0.5rem;
  padding: 0.75rem 0.75rem 0.75rem 1.5rem;
  border-radius: 0.25rem;
}
.page__member-subscribe .member-form__wrapper .subscribe-form .form__wrapper > ul li {
  font-size: 0.875rem;
}
.page__member-subscribe .member-form__wrapper .subscribe-form .form__wrapper button[type=submit] {
  padding: 0.75rem 1rem;
  border: 1px solid #d25252;
  border-radius: 0.25rem;
  font-size: 1.25rem;
  line-height: 1;
  font-weight: 700;
  background-color: #d25252;
  color: #fff;
  display: grid;
  cursor: pointer;
}

.page__subscriptions .page__wrapper .page__main {
  width: min(100%, 70rem);
  margin-inline: auto;
  padding: 1rem 1rem;
}
.page__subscriptions .page__wrapper .page__main .orders__list {
  color: #fff;
  display: grid;
  grid-template-columns: 8rem 1fr 15rem 5rem 5rem;
  align-content: center;
  gap: 0.5rem;
}
@media (max-width: 60rem) {
  .page__subscriptions .page__wrapper .page__main .orders__list {
    grid-template-columns: 1fr auto;
    grid-template-areas: "date ." "plan amount" "method invoice";
  }
}
.page__subscriptions .page__wrapper .page__main .orders__list .header,
.page__subscriptions .page__wrapper .page__main .orders__list .item {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: subgrid;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  padding: 0.5rem 1.5rem;
  align-items: center;
}
@media (max-width: 60rem) {
  .page__subscriptions .page__wrapper .page__main .orders__list .header,
  .page__subscriptions .page__wrapper .page__main .orders__list .item {
    padding: 0.25rem 1rem;
  }
}
.page__subscriptions .page__wrapper .page__main .orders__list .header {
  font-size: 1rem;
  font-weight: 500;
  color: #fff;
}
@media (max-width: 60rem) {
  .page__subscriptions .page__wrapper .page__main .orders__list .header {
    display: none;
  }
}
.page__subscriptions .page__wrapper .page__main .orders__list .item {
  font-size: 1rem;
  font-weight: 400;
  color: #fff;
  background-color: #333333;
  border-radius: 0.25rem;
}
@media (max-width: 60rem) {
  .page__subscriptions .page__wrapper .page__main .orders__list .item {
    font-size: 0.875rem;
  }
}
@media (max-width: 60rem) {
  .page__subscriptions .page__wrapper .page__main .orders__list .item .date {
    grid-area: date;
  }
}
@media (max-width: 60rem) {
  .page__subscriptions .page__wrapper .page__main .orders__list .item .plan {
    grid-area: plan;
  }
}
@media (max-width: 60rem) {
  .page__subscriptions .page__wrapper .page__main .orders__list .item .method {
    grid-area: method;
  }
}
@media (max-width: 60rem) {
  .page__subscriptions .page__wrapper .page__main .orders__list .item .invoice {
    grid-area: invoice;
  }
}
.page__subscriptions .page__wrapper .page__main .orders__list .item .invoice button {
  border: none;
  background: none;
  color: #fff;
  white-space: nowrap;
  padding: 0;
  display: flex;
  align-items: center;
}
.page__subscriptions .page__wrapper .page__main .orders__list .item .invoice button svg {
  width: 1.5rem;
}
@media (max-width: 60rem) {
  .page__subscriptions .page__wrapper .page__main .orders__list .item .invoice button span:first-child {
    display: none;
  }
}
.page__subscriptions .page__wrapper .page__main .orders__list .item .invoice button span:nth-child(2) {
  display: none;
}
@media (max-width: 60rem) {
  .page__subscriptions .page__wrapper .page__main .orders__list .item .invoice button span:nth-child(2) {
    display: inline-block;
    margin-inline-start: 0.5rem;
  }
}
@media (max-width: 60rem) {
  .page__subscriptions .page__wrapper .page__main .orders__list .item .amount {
    grid-area: amount;
    justify-self: end;
  }
}
.page__subscriptions .page__wrapper .page__main .order__msg {
  padding: 4rem 1rem;
  margin-block-end: 1rem;
}
.page__subscriptions .page__wrapper .page__main .order__msg p {
  background-color: #3c434c;
  color: #fff;
  font-size: 1.5rem;
  text-align: center;
  padding: 1rem;
  border-radius: 0.3125rem;
}

.invoice-popup__content .content__wrapper {
  display: grid;
  gap: 1rem;
  padding: 1rem;
  align-items: start;
  font-family: "Noto Serif TC", serif;
}
.invoice-popup__content .content__wrapper .title {
  text-align: center;
}
.invoice-popup__content .content__wrapper .title h1 {
  font-size: 1rem;
  line-height: 1.125;
  font-weight: 400;
}
.invoice-popup__content .content__wrapper .title hr {
  width: 10rem;
  margin: 0.5rem auto 0;
  border-top: 3px double #000;
}
.invoice-popup__content .content__wrapper .title p {
  font-size: 1rem;
}
.invoice-popup__content .content__wrapper .info {
  display: flex;
  justify-content: space-between;
}
.invoice-popup__content .content__wrapper .info ul {
  list-style: none;
  padding: 0;
}
.invoice-popup__content .content__wrapper .info ul li {
  text-align: start;
  display: grid;
  grid-template-columns: 6rem 1fr;
  gap: 0.5rem;
}
.invoice-popup__content .content__wrapper .info ul li div:first-of-type {
  display: flex;
  justify-content: space-between;
}
.invoice-popup__content .content__wrapper .info ul li div:first-of-type::after {
  content: ":";
}
.invoice-popup__content .content__wrapper .info ul li div span {
  font-size: 1rem;
}
.invoice-popup__content .content__wrapper table {
  width: 100%;
  border-collapse: collapse;
  margin-block: 0.5rem;
}
.invoice-popup__content .content__wrapper table th,
.invoice-popup__content .content__wrapper table td {
  font-size: 1rem;
  padding: 0.5rem;
  text-align: left;
  border: 1px solid #ddd;
}
.invoice-popup__content .content__wrapper table .remark {
  height: 10rem;
}
.invoice-popup__content .content__wrapper table th {
  font-weight: 400;
  text-align: center;
}
.invoice-popup__content .content__wrapper table td {
  vertical-align: top;
}
.invoice-popup__content .content__wrapper table td[center] {
  text-align: center;
}
.invoice-popup__content .content__wrapper table td[end] {
  text-align: end;
}
.invoice-popup__content .content__wrapper table td[v-center] {
  vertical-align: middle;
}
.invoice-popup__content .content__wrapper table td.td__chinese-amount .amount__wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.invoice-popup__content .content__wrapper table td.td__chinese-amount .amount__wrapper span.chinese-amount {
  padding: 0 1rem;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.625rem;
}
.invoice-popup__content .content__wrapper .note {
  font-size: 0.875rem;
  color: #666;
  text-align: start;
}
.invoice-popup__content .content__wrapper .note p {
  margin: 0;
}

.page__unsubscribe {
  color: #fff;
}
.page__unsubscribe .page__wrapper header {
  width: min(100%, 70rem);
  margin-inline: auto;
  padding: 2rem 0;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
}
.page__unsubscribe .page__wrapper header a {
  color: #fff;
  text-decoration: none;
  padding: 0.5rem 1rem;
  transition: border-color 0.25s;
  cursor: pointer;
}
.page__unsubscribe .page__wrapper header a:hover {
  text-decoration: underline;
  color: var(--color-yellow);
}
.page__unsubscribe .page__wrapper header h1 {
  font-size: 2rem;
  line-height: 1.5;
}
.page__unsubscribe .page__wrapper main {
  width: min(100%, 40rem);
  margin-inline: auto;
  padding: 1rem 0.75rem;
  display: grid;
  gap: 0.75rem;
}
.page__unsubscribe .page__wrapper main h2 {
  color: #fff;
}
.page__unsubscribe .page__wrapper main > a {
  color: #fff;
  background-color: #333333;
  border-radius: 0.25rem;
  padding: 1rem 2rem;
}
.page__unsubscribe .page__wrapper main > a:hover {
  background-color: #444444;
}
@media (max-width: 60rem) {
  .page__unsubscribe .page__wrapper main > a {
    padding: 0.5rem 1.5rem;
  }
}
.page__unsubscribe .page__wrapper main form {
  display: grid;
  gap: 0.5rem;
}
.page__unsubscribe .page__wrapper main form input {
  width: 100%;
  padding: 0.5rem 1rem;
  font-size: 1.125rem;
  line-height: 1.5;
  border-radius: 0.25rem;
  background-color: #fff;
  color: #333;
  border: none;
  outline: none;
}
.page__unsubscribe .page__wrapper main form input[readonly] {
  background-color: #333333;
  color: #fff;
}
.page__unsubscribe .page__wrapper main form .msg {
  font-size: 1.125rem;
  line-height: 1.5;
  color: var(--color-yellow);
  margin-top: 1rem;
}
.page__unsubscribe .page__wrapper main form .actions {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: 1rem;
}
.page__unsubscribe .page__wrapper main form .actions button {
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.5rem 1rem;
  font-size: 1.125rem;
  line-height: 1.5;
  border-radius: 0.25rem;
  background-color: #4D4D4D;
  color: #fff;
  border: none;
  outline: none;
  cursor: pointer;
  transition: background-color 0.25s;
}
.page__unsubscribe .page__wrapper main form .actions button:disabled {
  background-color: #333333;
  cursor: not-allowed;
}
.page__unsubscribe .page__wrapper main form .actions button:hover {
  background-color: #444444;
}
.page__unsubscribe .page__wrapper main .note {
  padding: 8rem 0;
}
.page__unsubscribe .page__wrapper main .note h2 {
  font-size: 1.125rem;
  line-height: 1.75;
  color: var(--color-yellow);
}
.page__unsubscribe .page__wrapper main .note p {
  font-size: 1rem;
  line-height: 1.75;
}

.page__member .page__wrapper .page__header {
  background-image: url(/img/tang-bg.png);
  background-size: cover;
  background-position: center;
}
@media (max-width: 60rem) {
  .page__member .page__wrapper .page__header {
    background-image: none;
  }
}
.page__member .page__wrapper .page__header .header__wrapper {
  width: min(100%, 70rem);
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1.5rem;
  padding: 2rem 0 0;
  align-items: center;
}
@media (max-width: 60rem) {
  .page__member .page__wrapper .page__header .header__wrapper {
    grid-template-columns: 1fr;
    padding: 0;
    gap: 0;
  }
}
.page__member .page__wrapper .page__header .header__wrapper .member__info {
  display: flex;
  gap: 1rem;
  align-items: center;
  padding: 1rem;
}
@media (max-width: 60rem) {
  .page__member .page__wrapper .page__header .header__wrapper .member__info {
    background-image: url(/img/tang-bg.png);
    background-size: cover;
    background-position: center;
  }
}
.page__member .page__wrapper .page__header .header__wrapper .member__info .avatar {
  position: relative;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background-color: #5b6977;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 2.375rem;
  line-height: 1;
  font-weight: 500;
  border: 0.125rem solid #fff;
}
.page__member .page__wrapper .page__header .header__wrapper .member__info .avatar.is-vip {
  background-color: #2D2E30;
  color: var(--color-yellow);
  border-color: var(--color-yellow);
}
.page__member .page__wrapper .page__header .header__wrapper .member__info .info {
  display: grid;
  gap: 0.25rem;
}
.page__member .page__wrapper .page__header .header__wrapper .member__info .info .name {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: #fff;
}
.page__member .page__wrapper .page__header .header__wrapper .member__info .info .name span {
  display: inline-block;
  padding: 0.125rem 1rem 0.25rem;
  font-size: 1rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.125rem;
  color: #000;
  background-color: var(--color-yellow);
  border-radius: 1rem;
}
.page__member .page__wrapper .page__header .header__wrapper .member__info .info .name span.category-basic {
  color: #fff;
  background-color: #303030;
}
.page__member .page__wrapper .page__header .header__wrapper .member__info .info .name h3 {
  font-size: 1.25rem;
  line-height: 1.5;
  font-weight: 500;
}
.page__member .page__wrapper .page__header .header__wrapper .member__info .info .name button {
  background: none;
  font-size: 1.25rem;
  color: #fff;
  padding: 0;
}
.page__member .page__wrapper .page__header .header__wrapper .member__info .info .name button img {
  width: 1.25rem;
}
.page__member .page__wrapper .page__header .header__wrapper .member__info .info .email {
  font-size: 1rem;
  color: #fff;
}
@media (max-width: 60rem) {
  .page__member .page__wrapper .page__header .header__wrapper .member__offers {
    display: none;
  }
}
.page__member .page__wrapper .page__header .header__wrapper .member__offers a {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  font-size: 1.125rem;
  font-weight: 700;
  color: #000;
  text-decoration: none;
  padding: 0.5rem 2.5rem;
  border-radius: 100vw;
  background-color: var(--color-yellow);
  transition: background-color 0.25s;
}
.page__member .page__wrapper .page__header .header__wrapper .member__offers a img {
  width: 1.25rem;
}
.page__member .page__wrapper .page__header .header__wrapper .member__offers a:hover {
  background-color: #FFD700;
}
.page__member .page__wrapper .page__header .header__wrapper .member__menu {
  padding: 0.75rem 0.75rem 0;
}
.page__member .page__wrapper .page__header .header__wrapper .member__menu ul {
  list-style-type: none;
  padding: 0;
  display: flex;
  color: #fff;
}
@media (max-width: 60rem) {
  .page__member .page__wrapper .page__header .header__wrapper .member__menu ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    width: 100%;
  }
}
.page__member .page__wrapper .page__header .header__wrapper .member__menu ul li {
  cursor: pointer;
  display: grid;
  padding: 0.75rem 2rem;
  border-bottom: 2px solid transparent;
}
@media (max-width: 60rem) {
  .page__member .page__wrapper .page__header .header__wrapper .member__menu ul li {
    padding: 0.5rem 0.25rem;
  }
}
.page__member .page__wrapper .page__header .header__wrapper .member__menu ul li.active, .page__member .page__wrapper .page__header .header__wrapper .member__menu ul li:hover {
  border-bottom: 2px solid #fff;
}
.page__member .page__wrapper .page__header .header__wrapper .member__menu ul li img {
  display: none;
}
@media (max-width: 60rem) {
  .page__member .page__wrapper .page__header .header__wrapper .member__menu ul li img {
    display: grid;
    justify-self: center;
    margin-block-end: 0.5rem;
  }
}
.page__member .page__wrapper .page__header .header__wrapper .member__menu ul li span {
  font-size: 1.125rem;
  font-weight: 500;
}
@media (max-width: 60rem) {
  .page__member .page__wrapper .page__header .header__wrapper .member__menu ul li span {
    font-size: 0.8125rem;
    justify-self: center;
  }
}

.page__newsletter-unsubscribe {
  padding: 4rem 1rem;
}
.page__newsletter-unsubscribe .page__wrapper {
  width: min(100%, 65rem);
  margin-inline: auto;
  display: grid;
  gap: 1.5rem;
  color: white;
}
.page__newsletter-unsubscribe .page__wrapper h1 {
  text-align: center;
  margin-block-end: 1rem;
}
.page__newsletter-unsubscribe .page__wrapper p {
  text-align: center;
  font-size: 1.25rem;
  line-height: 2;
}
.page__newsletter-unsubscribe .page__wrapper p a {
  color: var(--color-yellow);
  text-decoration: underline;
  font-weight: 600;
}
.page__newsletter-unsubscribe .page__wrapper p a:hover {
  color: var(--color-blue);
}

.page__popup-samples .page__wrapper {
  padding: 4rem 1rem;
  width: min(100%, 90rem);
  margin-inline: auto;
  display: grid;
  gap: 2rem;
  place-items: center;
}

.page__program .program__banner {
  text-align: center;
}
.page__program .program__header {
  background-color: #3c434c;
  padding: 0 2rem 2rem;
}
.page__program .program__header .program__header__info {
  width: min(100%, 75rem);
  margin: 0 auto;
  padding: 1.25rem 0;
  display: flex;
  gap: 1.25rem;
  align-items: center;
  border-block-end: 1px solid #D9D9D9;
}
.page__program .program__header .program__header__info .logo {
  width: 4rem;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}
.page__program .program__header .program__header__info h1 {
  font-size: 1.25rem;
  line-height: 1.75;
  letter-spacing: 0.125rem;
  color: #fff;
}
.page__program .program__header p {
  font-size: 1.125rem;
  line-height: 1.75;
  width: min(100%, 75rem);
  margin-inline: auto;
  padding: 1rem 1rem 0;
  color: #d9d9d9;
}
.page__program .program__videos .sec__wrapper {
  width: min(100%, 75rem);
  margin: 0 auto;
}
.page__program .program__videos .sec__wrapper .category__tabs {
  list-style-type: none;
  padding: 0;
  display: flex;
  color: #fff;
}
.page__program .program__videos .sec__wrapper .category__tabs li {
  padding: 0.75rem 2rem;
  font-size: 1.125rem;
  font-weight: 500;
  cursor: pointer;
}
.page__program .program__videos .sec__wrapper .category__tabs li.active, .page__program .program__videos .sec__wrapper .category__tabs li:hover {
  border-bottom: 0.25rem solid #fff;
}
.page__program .program__videos .sec__wrapper .videos__wrapper {
  padding: 1.5rem 0;
}
.page__program .program__videos .sec__wrapper .videos__wrapper .video__list {
  grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
}

.page__search {
  padding: 2rem 1rem 4rem;
}
.page__search .page__wrapper {
  width: min(100%, 65rem);
  margin-inline: auto;
  display: grid;
  gap: 1.5rem;
}
.page__search .page__wrapper .link__back {
  position: relative;
  display: inline-block;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 1rem 0 2.25rem;
  color: #8f8f8f;
  font-size: 1.255rem;
}
.page__search .page__wrapper .link__back::before {
  display: inline-block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 2rem;
  height: 2rem;
  background-image: url("/img/icons/chevron-left-white.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
.page__search .page__wrapper .search__wrapper {
  width: 100%;
  position: relative;
  padding: 0 0.5rem;
}
.page__search .page__wrapper .search__wrapper::before {
  display: inline-block;
  content: "";
  position: absolute;
  top: 0.75rem;
  left: 1.5rem;
  width: 1.375rem;
  height: 1.375rem;
  background-image: url("/img/icons/search.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
.page__search .page__wrapper .search__wrapper .keyword__input {
  width: 100%;
  padding: 0.875rem 5.75rem 0.875rem 3rem;
  border: 1px solid #b5b5b5;
  font-size: 1rem;
  background-color: #3c434c;
  color: #fff;
}
.page__search .page__wrapper .search__wrapper .buttons__wrapper {
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
  display: flex;
  gap: 0.5rem;
  justify-content: center;
  align-items: center;
}
.page__search .page__wrapper .search__wrapper .buttons__wrapper button {
  padding: 0.5rem 0.75rem;
  border: 1px solid #fff;
  border-radius: 0.3125rem;
  background-color: #3c434c;
  color: #fff;
  font-size: 1rem;
  cursor: pointer;
  transition: 0.3s;
}
.page__search .page__wrapper .search__wrapper .buttons__wrapper button:hover {
  background-color: #fff;
  color: #3c434c;
}
.page__search .page__wrapper .search__keywords {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  background-image: linear-gradient(to right, transparent 50%, #fff 50%, #fff calc(50% + 1px), transparent calc(50% + 1px));
  background-repeat: no-repeat;
}
.page__search .page__wrapper .search__keywords .keywords__hot {
  padding: 0 2rem 1.5rem 3rem;
}
.page__search .page__wrapper .search__keywords .keywords__hot h3 {
  font-size: 1.25rem;
  line-height: 1.5;
  color: #fff;
  margin-block-end: 0.5rem;
}
.page__search .page__wrapper .search__keywords .keywords__hot ul {
  list-style-type: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.page__search .page__wrapper .search__keywords .keywords__hot ul li {
  min-width: 5.5rem;
  text-align: center;
  font-size: 1.0625rem;
  line-height: 1;
  color: #fff;
  padding: 0.25rem 0.5rem 0.375rem;
  border: 1px solid #fff;
  border-radius: 1rem;
  cursor: pointer;
}
.page__search .page__wrapper .search__keywords .keywords__hot ul li.hot {
  color: #FFC438;
  border-color: #FFC438;
}
.page__search .page__wrapper .search__keywords .keywords__history {
  padding: 0 2rem 1.5rem 3rem;
}
.page__search .page__wrapper .search__keywords .keywords__history h3 {
  font-size: 1.25rem;
  line-height: 1.5;
  color: #fff;
  margin-block-end: 0.5rem;
}
.page__search .page__wrapper .search__keywords .keywords__history ul {
  list-style-type: none;
  padding: 0;
  display: block;
  gap: 0.25rem;
  max-height: 12rem;
  overflow-y: auto;
}
.page__search .page__wrapper .search__keywords .keywords__history ul::-webkit-scrollbar {
  width: 0.5rem;
  background-color: #3c434c;
}
.page__search .page__wrapper .search__keywords .keywords__history ul::-webkit-scrollbar-thumb {
  background-color: #fff;
  border-radius: 1rem;
}
.page__search .page__wrapper .search__keywords .keywords__history ul::-webkit-scrollbar-thumb:hover {
  background-color: #FFC438;
}
.page__search .page__wrapper .search__keywords .keywords__history ul::-webkit-scrollbar-track {
  background-color: #3c434c;
}
.page__search .page__wrapper .search__keywords .keywords__history ul li {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  font-size: 1.0625rem;
  line-height: 1;
  color: #fff;
  padding: 0.125rem 0.5rem 0.25rem;
}
.page__search .page__wrapper .search__keywords .keywords__history ul li:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.page__search .page__wrapper .search__keywords .keywords__history ul li::before {
  display: inline-block;
  content: "";
  width: 2rem;
  height: 1.25rem;
  background-image: url("/img/icons/clock-white.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
.page__search .page__wrapper .search__keywords .keywords__history ul li span {
  cursor: pointer;
}
.page__search .page__wrapper .search__keywords .keywords__history ul li button {
  background: none;
  font-size: 2rem;
  color: #fff;
  padding: 0;
}
.page__search .page__wrapper .search__keywords .keywords__history ul li button:hover {
  color: #FFC438;
}
.page__search .page__wrapper .search__results .results__title {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid #fff;
}
.page__search .page__wrapper .search__results .results__title h2 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #fff;
}
.page__search .page__wrapper .search__results .results__title p {
  font-size: 1.25rem;
  font-weight: 400;
  color: #fff;
}
.page__search .page__wrapper .search__results .video__list {
  display: grid;
  gap: 1rem;
  padding: 1rem 0;
}

.page__term {
  color: #fff;
}
.page__term .term__wrapper {
  width: min(100%, 70rem);
  margin-inline: auto;
  padding: 4rem 0;
}
.page__term .term__wrapper h1 {
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 500;
  color: #fff;
  text-align: center;
  margin-block-end: 3rem;
}
.page__term .term__wrapper .content {
  white-space: pre-line;
  font-size: 1rem;
  line-height: 2;
}

.page__video {
  --bg: #3c434c;
  margin-inline: auto;
  background-color: var(--bg);
}
.page__video .video__main {
  width: min(100%, 80rem);
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr 16rem;
  gap: 3rem;
  padding: 2rem 1rem;
  background-color: var(--bg);
  border-radius: 0.25rem;
}
@media (max-width: 60rem) {
  .page__video .video__main {
    grid-template-columns: 1fr;
    padding: 0;
  }
}
.page__video .video__main .content__video .video__wrapper {
  border: 1px solid #fff;
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
}
.page__video .video__main .content__video .video__wrapper > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.page__video .video__main .content__video .video__wrapper .notification {
  display: grid;
  place-items: center;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.8);
}
.page__video .video__main .content__video .video__wrapper .notification p {
  text-align: center;
  font-size: 1.5rem;
  line-height: 1.75;
}
@media (max-width: 60rem) {
  .page__video .video__main .content__video .video__wrapper .notification p {
    font-size: 1.125rem;
  }
}
.page__video .video__main .content__video .video__wrapper .notification p em {
  font-size: 5rem;
  font-style: normal;
  font-weight: 700;
}
@media (max-width: 60rem) {
  .page__video .video__main .content__video .video__wrapper .notification p em {
    font-size: 3rem;
  }
}
.page__video .video__main .content__video .video__wrapper .notification p a {
  display: inline-block;
  color: #FFC438;
  font-weight: 700;
  text-decoration: underline;
}
.page__video .video__main .content__video .video__wrapper .notification p .btn {
  text-decoration: none;
  color: #000;
  background-color: #FFC438;
  padding: 0.5rem 1rem;
  border-radius: 0.25rem;
  font-weight: 700;
  margin-top: 1rem;
}
.page__video .video__main .content__video .content__wrapper {
  display: grid;
  grid-template-columns: 1fr auto;
  padding: 0.5rem 1rem;
}
.page__video .video__main .content__video .content__wrapper .video__title {
  grid-column: 1/-1;
  font-size: 1.75rem;
  line-height: 1.35;
  color: #fff;
  padding: 0.25rem 0;
}
@media (max-width: 60rem) {
  .page__video .video__main .content__video .content__wrapper .video__title {
    font-size: 1.3125rem;
    line-height: 1.35;
  }
}
.page__video .video__main .content__video .content__wrapper .video__program {
  display: flex;
  gap: 1.25rem;
  align-items: center;
  border-top: 1px solid #d9d9d9;
  border-bottom: 1px solid #d9d9d9;
  padding: 1rem 0;
}
.page__video .video__main .content__video .content__wrapper .video__program img {
  width: 4rem;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}
@media (max-width: 60rem) {
  .page__video .video__main .content__video .content__wrapper .video__program img {
    width: 2.75rem;
  }
}
.page__video .video__main .content__video .content__wrapper .video__program h2 {
  font-size: 1.25rem;
  line-height: 1.75;
  color: #fff;
}
.page__video .video__main .content__video .content__wrapper .video__actions {
  display: flex;
  gap: 0.25rem;
  border-top: 1px solid #d9d9d9;
  border-bottom: 1px solid #d9d9d9;
  justify-content: end;
}
.page__video .video__main .content__video .content__wrapper .video__actions button {
  padding: 0.5rem 0.5rem;
  border: none;
  border-radius: 0.25rem;
  background-color: transparent;
  color: var(--bg);
  font-size: 1rem;
  cursor: pointer;
}
.page__video .video__main .content__video .content__wrapper .video__actions button.hover-stroke:hover svg path {
  stroke: #FFC438;
}
.page__video .video__main .content__video .content__wrapper .video__actions button.hover-fill:hover svg path {
  fill: #FFC438;
}
.page__video .video__main .content__video .content__wrapper .video__actions button:hover svg {
  border-color: #FFC438;
}
.page__video .video__main .content__video .content__wrapper .video__actions button img,
.page__video .video__main .content__video .content__wrapper .video__actions button svg {
  display: inline-block;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  padding: 0.5rem;
  border: 2px solid #fff;
}
@media (max-width: 60rem) {
  .page__video .video__main .content__video .content__wrapper .video__actions button img,
  .page__video .video__main .content__video .content__wrapper .video__actions button svg {
    width: 2.25rem;
    height: 2.25rem;
  }
}
.page__video .video__main .content__video .content__wrapper .video__meta {
  display: grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 4rem;
       column-gap: 4rem;
  row-gap: 0.5rem;
  padding: 1rem 0;
}
@media (max-width: 60rem) {
  .page__video .video__main .content__video .content__wrapper .video__meta {
    grid-template-columns: 1fr;
  }
}
.page__video .video__main .content__video .content__wrapper .video__meta .meta-info {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}
.page__video .video__main .content__video .content__wrapper .video__meta .meta-info.full-width {
  grid-column: 1/-1;
}
.page__video .video__main .content__video .content__wrapper .video__meta .meta-info h4 {
  font-size: 1.125rem;
  line-height: 2;
  font-weight: 400;
  color: #d9d9d9;
}
.page__video .video__main .content__video .content__wrapper .video__meta .meta-info p {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
}
.page__video .video__main .content__video .content__wrapper .video__meta .meta-info p button {
  padding: 0.25rem 0.25rem;
  border: 1px solid #FFC438;
  border-radius: 0.25rem;
  background-color: #FFC438;
  color: #000;
  font-size: 0.75rem;
  cursor: pointer;
  margin: 0.25rem 0.25rem 0 0;
}
.page__video .video__main .content__video .content__wrapper .video__meta .meta-info p button.active {
  background-color: #FFC438;
  color: var(--bg);
}
.page__video .video__main .content__video .content__wrapper .video__meta .meta-info p a {
  font-size: 1.375rem;
  line-height: 1.5;
  font-weight: 500;
  color: #f5f5f5;
  cursor: pointer;
}
.page__video .video__main .content__video .content__wrapper .video__meta .meta-info p a:has(+ a)::after {
  display: inline-block;
  content: "/";
  font-size: 1rem;
  margin-inline: 0.625rem;
  transform: translateY(-0.125rem);
}
.page__video .video__main .content__video .content__wrapper .video__meta .meta-info p a.active {
  color: #FFC438;
}
.page__video .video__main .content__video .content__wrapper .video__stats {
  display: flex;
  gap: 1.5rem;
  align-items: center;
}
.page__video .video__main .content__video .content__wrapper .video__stats span {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  color: #fff;
}
.page__video .video__main .content__video .content__wrapper .video__stats span svg {
  width: 1.5rem;
  height: 1.5rem;
  fill: #FFC438;
}
.page__video .video__main .content__video .content__wrapper .video__description {
  grid-column: 1/-1;
}
.page__video .video__main .content__video .content__wrapper .video__description p {
  width: min(90%, 80rem);
  font-size: 1.125rem;
  line-height: 1.5;
  color: #d9d9d9;
  text-align: justify;
}
@media (max-width: 60rem) {
  .page__video .video__main .content__video .content__wrapper .video__description p {
    width: 100%;
  }
}
.page__video .video__main .content__may-like .may-like__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 0.5rem;
}
@media (max-width: 60rem) {
  .page__video .video__main .content__may-like .may-like__header {
    padding: 1rem 1.5rem;
  }
}
.page__video .video__main .content__may-like .may-like__header h3 {
  font-size: 1.25rem;
  line-height: 1.5;
  color: #fff;
}
.page__video .video__main .content__may-like .may-like__header a {
  color: #fff;
}
.page__video .video__main .content__may-like .video__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
  gap: 1rem;
}
@media (max-width: 60rem) {
  .page__video .video__main .content__may-like .video__list {
    grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
    padding: 0 1rem;
  }
}
.page__video .related-videos .sec__wrapper {
  width: min(100%, 80rem);
  margin-inline: auto;
  padding: 2rem 1rem;
}
.page__video .related-videos .sec__wrapper .category__tabs {
  display: flex;
  gap: 2rem;
  padding: 0.25rem 0 0;
  margin-block-end: 1rem;
  border-bottom: 1px solid #d9d9d9;
}
.page__video .related-videos .sec__wrapper .category__tabs button {
  padding: 0.5rem 0;
  background-color: transparent;
  color: #d9d9d9;
  border-radius: 0;
  font-size: 1rem;
  cursor: pointer;
}
.page__video .related-videos .sec__wrapper .category__tabs button.active {
  font-size: 1.5rem;
  font-weight: 700;
  border-block-end: 0.25rem solid #d9d9d9;
  color: #f5f5f5;
}
.page__video .related-videos .sec__wrapper .videos__wrapper .video__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
  gap: 1rem;
}

.video__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, 14rem);
  gap: 1rem;
}
.video__list.video__col-3 {
  grid-template-columns: repeat(3, 1fr);
}
.video__list .video__item {
  position: relative;
  display: grid;
}
.video__list .video__item a {
  border: 1px solid #777;
  border-radius: 0.75rem;
  overflow: hidden;
  transition: 0.3s;
  color: #fff;
}
.video__list .video__item a:hover {
  border-color: #FFC438;
}
.video__list .video__item a img {
  width: 100%;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
}
.video__list .video__item a .tags {
  position: absolute;
  left: 0.25rem;
  bottom: 0.25rem;
  display: flex;
  gap: 0.375rem;
}
.video__list .video__item a .tags:empty {
  display: none;
}
.video__list .video__item a .tags span {
  white-space: nowrap;
  font-size: 0.75rem;
  line-height: 1;
  font-weight: 400;
  color: #f5f5f5;
  padding: 0.5rem 0.75rem;
  border-radius: 100vw;
  opacity: 0.95;
}
.video__list .video__item a .tags span.exclusive {
  background-color: #e24a4a;
}
.video__list .video__item a .tags span.partially-free {
  background-color: #1863df;
}
.video__list .video__item a .tags span.vip {
  background-color: var(--color-yellow);
  color: #2D2E30;
}
.video__list .video__item a .popular {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #e24a4a;
  border-radius: 50%;
  padding: 0.5rem;
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  opacity: 0.95;
}
.video__list .video__item a .popular svg {
  display: block;
  width: 100%;
  height: 100%;
}

.page__vip .sec__wrapper {
  padding: 4rem 1rem;
}
.page__vip .sec__wrapper h1 {
  font-size: 2.25rem;
  color: #fff;
  text-align: center;
  margin-block-end: 2rem;
}
.page__vip .sec__wrapper h1 em {
  font-style: normal;
  color: #FFC438;
}
.page__vip .sec__wrapper h2 {
  font-size: 2rem;
  color: #fff;
  text-align: center;
  margin-block-end: 2rem;
}
.page__vip .sec__wrapper .service__list {
  width: min(100%, 56.5rem);
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  justify-content: center;
  gap: 1rem;
  margin-block-end: 3rem;
}
@media (max-width: 60rem) {
  .page__vip .sec__wrapper .service__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.page__vip .sec__wrapper .service__list .service__item {
  width: 100%;
  aspect-ratio: 1;
  background-color: #2d2e30;
  border: 0.25rem solid #494949;
  border-radius: 0.75rem;
  display: grid;
  place-items: center;
  align-content: center;
}
.page__vip .sec__wrapper .service__list .service__item::before {
  content: "";
  width: 100%;
  height: 4rem;
  display: block;
  background-image: url(/img/icons/check-circle-active.svg);
  background-repeat: no-repeat;
  background-size: 2.75rem auto;
  background-position: center;
}
.page__vip .sec__wrapper .service__list .service__item h3 {
  font-size: 1.25rem;
  font-weight: 500;
  color: #fff;
  white-space: nowrap;
}
.page__vip .sec__wrapper .plan__list {
  width: min(100%, 56.5rem);
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto 1fr auto;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 0.5rem;
  padding: 2rem 0 1rem;
}
@media (max-width: 60rem) {
  .page__vip .sec__wrapper .plan__list {
    grid-template-columns: 1fr;
  }
}
.page__vip .sec__wrapper .plan__list .plan__item {
  grid-row: 1/-1;
  position: relative;
  width: 100%;
  background-color: #fff;
  border: 0.0625rem solid #777;
  display: grid;
  grid-template-rows: subgrid;
  color: #626e7c;
  padding: 1rem;
  text-align: center;
}
@media (max-width: 60rem) {
  .page__vip .sec__wrapper .plan__list .plan__item {
    margin-block: 2rem;
    grid-row: span 3;
  }
}
.page__vip .sec__wrapper .plan__list .plan__item.plan-limited .price h3 {
  font-size: 1.25rem;
  color: #c75050;
}
.page__vip .sec__wrapper .plan__list .plan__item.plan-limited .price h4 {
  color: #c75050;
}
.page__vip .sec__wrapper .plan__list .plan__item.plan-limited .price p {
  text-decoration: line-through;
  text-decoration-color: #c75050;
  text-decoration-thickness: 0.125rem;
  padding-inline-end: 1rem;
}
.page__vip .sec__wrapper .plan__list .plan__item.plan-limited .action button {
  background-color: #c75050;
}
.page__vip .sec__wrapper .plan__list .plan__item.plan-limited .action button:hover {
  background-color: #FFC438;
}
.page__vip .sec__wrapper .plan__list .plan__item.plan-best-offer .price p em {
  text-decoration: none;
  text-decoration-thickness: 0.125rem;
  padding-inline-end: 1rem;
}
.page__vip .sec__wrapper .plan__list .plan__item.plan-best-offer .price p span {
  text-decoration: line-through;
  text-decoration-color: #FFC438;
  text-decoration-thickness: 0.125rem;
  padding-inline-end: 1rem;
}
.page__vip .sec__wrapper .plan__list .plan__item.plan-best-offer .action button {
  background-color: #FFC438;
}
.page__vip .sec__wrapper .plan__list .plan__item.plan-best-offer .action button:hover {
  background-color: #105dac;
}
.page__vip .sec__wrapper .plan__list .plan__item .discount {
  position: absolute;
  top: 0;
  left: 5%;
  width: 90%;
  transform: translateY(-100%);
  background-color: #c75050;
  color: #fff;
  text-align: center;
  font-size: 1.625rem;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.125rem;
  padding: 0.375rem 1rem 0.5rem;
  border-radius: 0.375rem 0.375rem 0 0;
}
.page__vip .sec__wrapper .plan__list .plan__item .best-offer {
  position: absolute;
  top: 0;
  left: 50%;
  width: -moz-fit-content;
  width: fit-content;
  transform: translate(-50%, -75%);
  background-color: #FFC438;
  color: #000;
  text-align: center;
  font-size: 1.375rem;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.125rem;
  padding: 0.375rem 0.75rem 0.5rem 1rem;
}
.page__vip .sec__wrapper .plan__list .plan__item > h3 {
  font-size: 1.5rem;
  border-bottom: 1px solid #626e7c;
  padding-block-end: 0.75rem;
}
.page__vip .sec__wrapper .plan__list .plan__item .price {
  width: -moz-fit-content;
  width: fit-content;
  justify-self: center;
}
.page__vip .sec__wrapper .plan__list .plan__item .price h4 {
  font-size: 2rem;
  padding-block-end: 0.5rem;
  font-weight: 900;
  line-height: 1;
}
.page__vip .sec__wrapper .plan__list .plan__item .price h4 em {
  font-style: normal;
  font-size: 4.5rem;
}
.page__vip .sec__wrapper .plan__list .plan__item .price p {
  font-size: 1.0625rem;
  padding-block-end: 1rem;
  justify-self: end;
}
.page__vip .sec__wrapper .plan__list .plan__item .price p em {
  font-style: normal;
  font-size: 1.125rem;
  font-weight: 500;
  background-color: #FFC438;
  color: #000;
  border-radius: 100vw;
  padding: 0.25rem 0.75rem;
  margin-inline-end: 0.5rem;
}
.page__vip .sec__wrapper .plan__list .plan__item .action {
  justify-self: center;
  display: grid;
  align-items: end;
  justify-items: center;
}
.page__vip .sec__wrapper .plan__list .plan__item .action p {
  font-size: 1.375rem;
  font-weight: 500;
  letter-spacing: 0.0625rem;
  padding-block-end: 0.5rem;
}
.page__vip .sec__wrapper .plan__list .plan__item .action button {
  font-size: 1.375rem;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.0625rem;
  padding: 1rem 2.25rem 0.875rem;
  border-radius: 100vw;
  background: #626e7c;
  color: #fff;
  transition: 0.3s;
}
.page__vip .sec__wrapper .plan__list .plan__item .action button:hover {
  background-color: #105dac;
}
.page__vip .sec__wrapper custom-popup {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.page__vip .sec__wrapper .plan-details {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  text-decoration: underline;
  color: #fff;
  text-align: center;
  margin-block-end: 4rem;
  background-color: transparent;
  font-size: 1.125rem;
  font-weight: 400;
  padding: 0;
}

.page__main {
  width: min(100%, 90rem);
  margin-inline: auto;
}/*# sourceMappingURL=style.css.map */