@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;
}

* {
  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;
}

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.5rem 3rem;
}
.site__header .header__wrapper .logo img {
  height: 2.5rem;
}
.site__header .header__wrapper .functions {
  color: #d9d9d9;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.site__header .header__wrapper .functions a {
  color: #d9d9d9;
}
.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;
}
.site__header .header__wrapper .functions a img:hover,
.site__header .header__wrapper .functions a svg:hover {
  stroke: #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;
}
.site__header .header__wrapper .functions a.vip:hover {
  background-color: #ffd46f;
}

.site__main {
  padding: 3.5rem 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;
}
.site__footer .footer__wrapper .footer__nav h3 {
  font-size: 1.25rem;
  line-height: 1.75;
  color: #ffffff;
  padding: 0.5rem;
}
.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 .copy-right {
  width: min(100%, 90rem);
  margin-inline: auto;
  color: #ffffff;
  background-color: #105DAC;
  text-align: center;
  padding: 0.75rem;
}
.site__footer .copy-right-en {
  width: min(100%, 90rem);
  margin-inline: auto;
  text-align: center;
  color: #ffffff;
  padding: 0.75rem;
}

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;
  transition: 0.3s;
}
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 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;
}

.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;
}
.page__index .sec__banner .banner__wrapper .swiper__banner {
  --swiper-theme-color: #ffffff;
  --swiper-navigation-sides-offset: max(2vw, .75rem);
  padding: 2vw 3vw 4vw;
}
.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;
}
.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;
}
.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);
}
.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%;
}
.page__index .sec__banner .banner__wrapper .swiper__banner .swiper-wrapper .swiper-slide .slide__wrapper .img > * {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
  -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);
}
.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;
}
.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;
}
.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);
}
.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 0;
  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: 1.25rem 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 0.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: 1rem;
  right: 1rem;
  font-size: 2rem;
  color: #D9D9D9;
  background: none;
}
.page__index .sec__notification .notification__wrapper .bulletinboard__post button:hover {
  color: #ffffff;
}
.page__index .sec__video-list {
  padding: 2rem 3rem 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 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 .swiper-slide {
  background-size: cover;
  background-position: center;
  width: 18rem;
}
.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 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 .txt {
  align-content: center;
  color: white;
  display: grid;
  gap: 1.5rem;
}
.page__index .sec__video-list .swiper__video .swiper-wrapper .swiper-slide .slide__wrapper .txt .name {
  font-size: 2rem;
  line-height: 1.75;
  font-weight: 700;
}
.page__index .sec__video-list .swiper__video .swiper-wrapper .swiper-slide .slide__wrapper .txt .desc,
.page__index .sec__video-list .swiper__video .swiper-wrapper .swiper-slide .slide__wrapper .txt .intro {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75;
  white-space: pre-line;
}
.page__index .sec__video-list .swiper__video .swiper-wrapper .swiper-slide .slide__wrapper .txt .actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.page__index .sec__video-list .swiper__video .swiper-wrapper .swiper-slide .slide__wrapper .txt .actions button.play {
  display: flex;
  align-items: center;
}
.page__index .sec__video-list .swiper__video .swiper-wrapper .swiper-slide .slide__wrapper .txt .actions button.play svg {
  height: 1rem;
  width: 1rem;
}
.page__index .sec__video-list .swiper__video .swiper-wrapper .swiper-slide .slide__wrapper .txt .actions button.play svg path {
  fill: #2D2E30;
}
.page__index .sec__video-list .swiper__video .swiper-wrapper .swiper-slide .slide__wrapper .shadow {
  grid-column: 2/3;
  grid-row: 1/2;
  background-image: linear-gradient(82deg, var(--bg) 25%, rgba(0, 0, 0, 0) 80%);
}

.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__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__settings .page__wrapper .page__main {
  width: min(100%, 70rem);
  margin-inline: auto;
  padding: 1rem 1rem;
}
.page__settings .page__wrapper .page__main h2 {
  color: #fff;
}

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] {
  -webkit-clip-path: inset(50%);
          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__transactions .page__wrapper .page__main {
  width: min(100%, 70rem);
  margin-inline: auto;
  padding: 1rem 1rem;
}
.page__transactions .page__wrapper .page__main .orders__list {
  color: #fff;
}
.page__transactions .page__wrapper .page__main .order__msg {
  padding: 4rem 1rem;
  margin-block-end: 1rem;
}
.page__transactions .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;
}

.page__member .page__wrapper .page__header {
  background-image: url(/img/tang-bg.png);
  background-size: cover;
  background-position: center;
}
.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;
}
.page__member .page__wrapper .page__header .header__wrapper .member__info {
  display: flex;
  gap: 1rem;
  align-items: center;
}
.page__member .page__wrapper .page__header .header__wrapper .member__info .avatar {
  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 .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.18775rem;
  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 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;
}
.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 ul {
  list-style-type: none;
  padding: 0;
  display: flex;
  color: #fff;
}
.page__member .page__wrapper .page__header .header__wrapper .member__menu ul li {
  padding: 0.75rem 2rem;
  font-size: 1.125rem;
  font-weight: 500;
  cursor: pointer;
}
.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__popup-samples .page__wrapper {
  padding: 4rem 1rem;
  width: min(100%, 90rem);
  margin-inline: auto;
  display: grid;
  gap: 2rem;
  place-items: center;
}

.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 button {
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
  padding: 0.5rem 1.25rem;
  border: 1px solid #fff;
  border-radius: 0.3125rem;
  background-color: #3c434c;
  color: #fff;
  font-size: 1rem;
  cursor: pointer;
}
.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: grid;
  gap: 0.25rem;
}
.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 0.25rem;
  border-radius: 1rem;
}
.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__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__video {
  --bg: #3c434c;
  margin-inline: auto;
  background-color: var(--bg);
}
.page__video .video__main {
  width: min(90%, 80rem);
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr 18rem;
  gap: 2rem;
  padding: 2rem 1rem;
  background-color: var(--bg);
  border-radius: 0.25rem;
}
.page__video .video__main .content__video .video__wrapper {
  border: 1px solid #fff;
}
.page__video .video__main .content__video .video__title {
  font-size: 2rem;
  line-height: 2;
  letter-spacing: 0.125rem;
  color: #fff;
  padding: 0.25rem 0;
}
.page__video .video__main .content__video .video__functions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
.page__video .video__main .content__video .video__functions .video__program {
  display: flex;
  gap: 1.25rem;
  align-items: center;
}
.page__video .video__main .content__video .video__functions .video__program img {
  width: 4rem;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}
.page__video .video__main .content__video .video__functions .video__program h2 {
  font-size: 1.25rem;
  line-height: 1.75;
  letter-spacing: 0.125rem;
  color: #fff;
}
.page__video .video__main .content__video .video__functions .video__actions {
  display: flex;
  gap: 0.25rem;
}
.page__video .video__main .content__video .video__functions .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 .video__functions .video__actions button.hover-stroke:hover svg path {
  stroke: #FFC438;
}
.page__video .video__main .content__video .video__functions .video__actions button.hover-fill:hover svg path {
  fill: #FFC438;
}
.page__video .video__main .content__video .video__functions .video__actions button:hover svg {
  border-color: #FFC438;
}
.page__video .video__main .content__video .video__functions .video__actions button img,
.page__video .video__main .content__video .video__functions .video__actions button svg {
  display: inline-block;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  padding: 0.5rem;
  border: 2px solid #fff;
}
.page__video .video__main .content__video .video__info {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1.5rem 0;
}
.page__video .video__main .content__video .video__info .video__meta {
  display: grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 4rem;
       column-gap: 4rem;
  row-gap: 0.5rem;
}
.page__video .video__main .content__video .video__info .video__meta .meta-info {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}
.page__video .video__main .content__video .video__info .video__meta .meta-info.col-2 {
  grid-column: span 2;
}
.page__video .video__main .content__video .video__info .video__meta .meta-info h4 {
  font-size: 1.125rem;
  line-height: 2;
  font-weight: 400;
  color: #d9d9d9;
}
.page__video .video__main .content__video .video__info .video__meta .meta-info p {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
}
.page__video .video__main .content__video .video__info .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 .video__info .video__meta .meta-info p button.active {
  background-color: #FFC438;
  color: var(--bg);
}
.page__video .video__main .content__video .video__info .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 .video__info .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 .video__info .video__meta .meta-info p a.active {
  color: #FFC438;
}
.page__video .video__main .content__video .video__info .video__stats {
  display: flex;
  gap: 1.5rem;
  align-items: center;
}
.page__video .video__main .content__video .video__info .video__stats span {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  color: #fff;
}
.page__video .video__main .content__video .video__info .video__stats span svg {
  width: 1.5rem;
  height: 1.5rem;
  fill: #FFC438;
}
.page__video .video__main .content__video .video__description p {
  font-size: 1.125rem;
  line-height: 1.5;
  color: #d9d9d9;
}
.page__video .video__main .content__may-like .may-like__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 0 0.5rem;
}
.page__video .video__main .content__may-like .may-like__header h3 {
  font-size: 1.375rem;
  line-height: 1.5;
  color: #fff;
}
.page__video .video__main .content__may-like .may-like__header a {
  color: #fff;
}
.page__video .related-videos .sec__wrapper {
  width: min(90%, 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: 0.5rem;
  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: 0.5rem;
}

.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;
}
.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.5rem;
  bottom: 1.5rem;
  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: 1rem;
  line-height: 1;
  font-weight: 400;
  color: #f5f5f5;
  padding: 0.5rem 0.75rem;
  border-radius: 100vw;
}
.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 .popular {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #e24a4a;
  border-radius: 50%;
  padding: 0.5rem;
  width: 2.5rem;
  height: 2.5rem;
  display: grid;
  place-items: center;
}
.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;
}
.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;
}
.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;
}
.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 .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;
}

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