@charset "UTF-8";
/*
* Below are the styles developed by WEEWUNGWUNG.
*/
/* ==========================================================================
   Mixin
============================================================================= */
/* ==========================================================================
   Variables
============================================================================= */
@font-face {
  font-family: 'AvenirNext';
  src: url("../fonts/AvenirNext/AvenirNext-Regular.eot");
  src: url("../fonts/AvenirNext/AvenirNext-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/AvenirNext/AvenirNext-Regular.woff") format("woff"), url("../fonts/AvenirNext/AvenirNext-Regular.ttf") format("truetype"), url("../fonts/AvenirNext/AvenirNext-Regular.svg#AvenirNext-Regular") format("svg");
  font-weight: 300;
  font-style: normal; }

@font-face {
  font-family: 'AvenirNext';
  src: url("../fonts/AvenirNext/AvenirNext-Italic.eot");
  src: url("../fonts/AvenirNext/AvenirNext-Italic.eot?#iefix") format("embedded-opentype"), url("../fonts/AvenirNext/AvenirNext-Italic.woff") format("woff"), url("../fonts/AvenirNext/AvenirNext-Italic.ttf") format("truetype"), url("../fonts/AvenirNext/AvenirNext-Italic.svg#AvenirNext-Italic") format("svg");
  font-weight: 300;
  font-style: italic; }

@font-face {
  font-family: 'AvenirNext';
  src: url("../fonts/AvenirNext/AvenirNext-Medium.eot");
  src: url("../fonts/AvenirNext/AvenirNext-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/AvenirNext/AvenirNext-Medium.woff") format("woff"), url("../fonts/AvenirNext/AvenirNext-Medium.ttf") format("truetype"), url("../fonts/AvenirNext/AvenirNext-Medium.svg#AvenirNext-Medium") format("svg");
  font-weight: 400;
  font-style: normal; }

@font-face {
  font-family: 'AvenirNext';
  src: url("../fonts/AvenirNext/AvenirNext-MediumItalic.eot");
  src: url("../fonts/AvenirNext/AvenirNext-MediumItalic.eot?#iefix") format("embedded-opentype"), url("../fonts/AvenirNext/AvenirNext-MediumItalic.woff") format("woff"), url("../fonts/AvenirNext/AvenirNext-MediumItalic.ttf") format("truetype"), url("../fonts/AvenirNext/AvenirNext-MediumItalic.svg#AvenirNext-MediumItalic") format("svg");
  font-weight: 400;
  font-style: italic; }

@font-face {
  font-family: 'AvenirNext';
  src: url("../fonts/AvenirNext/AvenirNext-Bold.eot");
  src: url("../fonts/AvenirNext/AvenirNext-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/AvenirNext/AvenirNext-Bold.woff") format("woff"), url("../fonts/AvenirNext/AvenirNext-Bold.ttf") format("truetype"), url("../fonts/AvenirNext/AvenirNext-Bold.svg#AvenirNext-Bold") format("svg");
  font-weight: 500;
  font-style: normal; }

@font-face {
  font-family: 'AvenirNext';
  src: url("../fonts/AvenirNext/AvenirNext-BoldItalic.eot");
  src: url("../fonts/AvenirNext/AvenirNext-BoldItalic.eot?#iefix") format("embedded-opentype"), url("../fonts/AvenirNext/AvenirNext-BoldItalic.woff") format("woff"), url("../fonts/AvenirNext/AvenirNext-BoldItalic.ttf") format("truetype"), url("../fonts/AvenirNext/AvenirNext-BoldItalic.svg#AvenirNext-BoldItalic") format("svg");
  font-weight: 500;
  font-style: italic; }

@font-face {
  font-family: 'icomoon';
  src: url("../fonts/icon/icomoon.eot?onjd3c");
  src: url("../fonts/icon/icomoon.eot?onjd3c#iefix") format("embedded-opentype"), url("../fonts/icon/icomoon.ttf?onjd3c") format("truetype"), url("../fonts/icon/icomoon.woff?onjd3c") format("woff"), url("../fonts/icon/icomoon.svg?onjd3c#icomoon") format("svg");
  font-weight: normal;
  font-style: normal; }

.icon-font {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-link:before {
  content: "\e908"; }

.icon-slider-next:before {
  content: "\e906";
  color: #fff; }

.icon-slider-prev:before {
  content: "\e907";
  color: #fff; }

.icon-grid:before {
  content: "\e904"; }

.icon-list:before {
  content: "\e905"; }

.icon-arrow-next:before {
  content: "\e900"; }

.icon-arrow-prev:before {
  content: "\e901"; }

.icon-pause:before {
  content: "\e902"; }

.icon-play:before {
  content: "\e903"; }

/* ==========================================================================
   Base styles
============================================================================= */
@-moz-document url-prefix() {
  body {
    font-weight: lighter !important; } }

body, html {
  -webkit-font-smoothing: antialiased;
  background-color: #fff;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.4;
  color: #000;
  position: relative;
  width: 100%;
  overflow-x: hidden;
  font-family: 'AvenirNext', san-serif !important; }
  [lang="zh-hant"] body, [lang="zh-hant"] html {
    font-weight: 500; }
  [lang="zh-hant"] body, [lang="zh-hant"] html {
    font-family: 'AvenirNext', 'source-han-serif-tc', san-serif !important;
    font-weight: 400; }

html {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  font-weight: 400; }
  [lang="zh-hant"] html {
    font-weight: 500; }
  html.noscroll {
    overflow: hidden; }

::selection {
  background: rgba(124, 124, 124, 0.1); }

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  margin: 0;
  font-size: initial;
  font-weight: 400;
  font-family: 'AvenirNext', san-serif !important; }
  [lang="zh-hant"] h1, [lang="zh-hant"] .h1, [lang="zh-hant"] h2, [lang="zh-hant"] .h2, [lang="zh-hant"] h3, [lang="zh-hant"] .h3, [lang="zh-hant"] h4, [lang="zh-hant"] .h4, [lang="zh-hant"] h5, [lang="zh-hant"] .h5, [lang="zh-hant"] h6, [lang="zh-hant"] .h6 {
    font-weight: 500; }
  [lang="zh-hant"] h1, [lang="zh-hant"] .h1, [lang="zh-hant"] h2, [lang="zh-hant"] .h2, [lang="zh-hant"] h3, [lang="zh-hant"] .h3, [lang="zh-hant"] h4, [lang="zh-hant"] .h4, [lang="zh-hant"] h5, [lang="zh-hant"] .h5, [lang="zh-hant"] h6, [lang="zh-hant"] .h6 {
    font-family: 'AvenirNext', 'source-han-serif-tc', san-serif !important;
    font-weight: 400; }

h1 {
  font-size: 60px; }
  @media only screen and (max-width: 768px) {
    h1 {
      font-size: 40px; } }
  @media only screen and (max-width: 650px) {
    h1 {
      font-size: 30px; } }

h2 {
  font-size: 30px; }
  @media only screen and (max-width: 768px) {
    h2 {
      font-size: 26px; } }
  @media only screen and (max-width: 650px) {
    h2 {
      font-size: 20px; } }

h3 {
  font-size: 26px; }

h4 {
  font-size: 20px; }
  @media only screen and (max-width: 768px) {
    h4 {
      font-size: 16px;
      line-height: 24px; } }

h5 {
  font-size: 18px;
  line-height: 26px; }
  @media only screen and (max-width: 768px) {
    h5 {
      font-size: 16px;
      line-height: 24px; } }

p {
  font-size: 15px;
  line-height: 1.6; }
  @media only screen and (max-width: 768px) {
    p {
      font-size: 14px; } }

[lang="zh-hant"] p {
  text-align: justify; }

.light {
  font-weight: 300; }
  [lang="zh-hant"] .light {
    font-weight: 200; }

i {
  font-style: italic; }
  [lang="zh-hant"] i {
    font-style: normal;
    font-weight: 200; }
  [lang="zh-hant"] i.fa,
  [lang="zh-hant"] i.fas {
    font-weight: 900; }

b, strong, .bold {
  font-weight: 500; }
  [lang="zh-hant"] b, [lang="zh-hant"] strong, [lang="zh-hant"] .bold {
    font-weight: 900; }

.medium {
  font-weight: 400; }
  [lang="zh-hant"] .medium {
    font-weight: 500; }

.cap {
  text-transform: uppercase; }

.grey {
  color: #7C7C7C; }

.white {
  color: #fff; }

.black {
  color: #000; }

.yellow {
  color: #FFDE17; }

.grey-l {
  color: #F5F5F5; }

.underline {
  text-decoration: underline; }

ul, ol {
  list-style-type: none; }

a {
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -ms-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out; }
  a.a--text {
    text-decoration: underline; }

a, a:hover, a:focus, button, button:hover, button:focus {
  text-decoration: none;
  outline: none;
  cursor: pointer;
  color: inherit; }

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  color: #000; }

button:hover, button:focus {
  top: 0; }

.mb--5 {
  margin-bottom: 5px; }

.mb--10 {
  margin-bottom: 10px; }

.mb--20 {
  margin-bottom: 20px; }

.mb--30 {
  margin-bottom: 30px; }

.mb--40 {
  margin-bottom: 40px; }

.mt--5 {
  margin-top: 5px; }

.mt--10 {
  margin-top: 10px; }

.mt--20 {
  margin-top: 20px; }

.mt--30 {
  margin-top: 30px; }

.mt--40 {
  margin-top: 40px; }

button {
  border: none;
  padding: 0;
  background-color: transparent;
  box-shadow: none; }

.global-container {
  width: 100%;
  position: relative;
  display: flex;
  min-height: 100vh;
  flex-direction: column;
  padding-top: constant(safe-area-inset-top);
  padding-right: constant(safe-area-inset-right);
  padding-bottom: constant(safe-area-inset-bottom);
  padding-left: constant(safe-area-inset-left); }

.preloader {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #FFDE17;
  z-index: -1;
  opacity: 0;
  visibility: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-transition: 0.6s ease-in-out;
  -moz-transition: 0.6s ease-in-out;
  -ms-transition: 0.6s ease-in-out;
  -o-transition: 0.6s ease-in-out;
  transition: 0.6s ease-in-out; }
  .preloader.active {
    z-index: 30;
    opacity: 1;
    visibility: visible; }
  .preloader img {
    position: absolute;
    -webkit-animation: elastic 1s ease-in-out infinite;
    -moz-animation: elastic 1s ease-in-out infinite;
    -o-animation: elastic 1s ease-in-out infinite;
    animation: elastic 1s ease-in-out infinite; }

@-webkit-keyframes elastic {
  0% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }
  50% {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1); }
  60% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }
  100% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); } }

@-moz-keyframes elastic {
  0% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }
  50% {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1); }
  60% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }
  100% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); } }

@-o-keyframes elastic {
  0% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }
  50% {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1); }
  60% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }
  100% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); } }

@keyframes elastic {
  0% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }
  50% {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1); }
  60% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }
  100% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); } }

.page {
  position: relative; }
  .page--static .container {
    max-width: 1320px; }
  .page--static .container, .page--static .container--sm {
    padding: 50px 20px; }

.container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0; }
  .container--sm, .container .container--sm {
    max-width: 840px;
    margin: 0 auto;
    padding-right: 20px;
    padding-left: 20px; }

.row {
  margin-left: -20px;
  margin-right: -20px; }

.wrapper {
  position: relative; }
  .wrapper--date {
    display: flex;
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 10px; }
  .wrapper--flex {
    display: flex;
    flex-wrap: wrap; }
    .wrapper--flex > .left {
      flex-basis: 67%; }
    .wrapper--flex > .right {
      flex-basis: 33%; }

.close-btn {
  cursor: pointer;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center; }
  .close-btn:hover {
    -webkit-animation: bounce 0.3s ease-in-out forwards;
    -moz-animation: bounce 0.3s ease-in-out forwards;
    -o-animation: bounce 0.3s ease-in-out forwards;
    animation: bounce 0.3s ease-in-out forwards; }
  .close-btn > div {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center; }
    .close-btn > div:before, .close-btn > div:after {
      content: '';
      display: block;
      position: absolute;
      width: 25px;
      height: 4px;
      background: #000; }
    .close-btn > div:before {
      -webkit-transform: rotate(45deg);
      -moz-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      -o-transform: rotate(45deg);
      transform: rotate(45deg); }
    .close-btn > div:after {
      -webkit-transform: rotate(-45deg);
      -moz-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      -o-transform: rotate(-45deg);
      transform: rotate(-45deg); }

.banner .wrapper--video {
  z-index: -1;
  opacity: 0;
  visibility: hidden;
  background: #000;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -ms-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out; }
  .banner .wrapper--video.opened {
    z-index: 2;
    opacity: 1;
    visibility: visible; }
  .banner .wrapper--video iframe {
    width: calc(100% - 200px);
    height: 100%;
    margin: 0 auto;
    display: block; }
    @media only screen and (max-width: 992px) {
      .banner .wrapper--video iframe {
        width: calc(100% - 180px); } }
    @media only screen and (max-width: 650px) {
      .banner .wrapper--video iframe {
        width: calc(100% - 140px); } }
  .banner .wrapper--video .close-btn {
    cursor: pointer;
    position: absolute;
    margin: 20px;
    width: 60px;
    height: 60px;
    right: 0;
    top: 0;
    border: 6px solid #fff;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center; }
    .banner .wrapper--video .close-btn:hover {
      -webkit-animation: scale 0.3s ease-in-out forwards;
      -moz-animation: scale 0.3s ease-in-out forwards;
      -o-animation: scale 0.3s ease-in-out forwards;
      animation: scale 0.3s ease-in-out forwards; }
    .banner .wrapper--video .close-btn > div {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center; }
      .banner .wrapper--video .close-btn > div:before, .banner .wrapper--video .close-btn > div:after {
        content: '';
        display: block;
        position: absolute;
        width: 25px;
        height: 4px;
        background: #fff; }
      .banner .wrapper--video .close-btn > div:before {
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        transform: rotate(45deg); }
      .banner .wrapper--video .close-btn > div:after {
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        -o-transform: rotate(-45deg);
        transform: rotate(-45deg); }
    @media only screen and (max-width: 992px) {
      .banner .wrapper--video .close-btn {
        width: 50px;
        height: 50px;
        border: 4px solid #fff; }
        .banner .wrapper--video .close-btn > div:before, .banner .wrapper--video .close-btn > div:after {
          width: 20px;
          height: 3px; } }
    @media only screen and (max-width: 650px) {
      .banner .wrapper--video .close-btn {
        width: 30px;
        height: 30px;
        border: 2px solid #fff; }
        .banner .wrapper--video .close-btn > div:before, .banner .wrapper--video .close-btn > div:after {
          width: 12px;
          height: 2px; } }

.banner .play-btn {
  position: absolute;
  right: 0;
  bottom: 0;
  margin: 20px;
  color: #fff;
  text-align: center;
  cursor: pointer; }
  .banner .play-btn:hover .icon-play {
    -webkit-animation: bounce 0.4s ease-in-out forwards;
    -moz-animation: bounce 0.4s ease-in-out forwards;
    -o-animation: bounce 0.4s ease-in-out forwards;
    animation: bounce 0.4s ease-in-out forwards; }
  .banner .play-btn .icon-play {
    font-size: 100px;
    margin-bottom: 10px;
    -webkit-transition: 0.3 ease-in-out;
    -moz-transition: 0.3 ease-in-out;
    -ms-transition: 0.3 ease-in-out;
    -o-transition: 0.3 ease-in-out;
    transition: 0.3 ease-in-out; }
  @media only screen and (max-width: 768px) {
    .banner .play-btn {
      display: flex;
      align-items: center; }
      .banner .play-btn .icon-play {
        font-size: 40px;
        margin-bottom: 0;
        order: 2;
        margin-left: 10px; }
      .banner .play-btn h4 {
        font-size: 16px; } }
  @media only screen and (max-width: 414px) {
    .banner .play-btn .icon-play {
      font-size: 26px; } }

@-webkit-keyframes bounce {
  0% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }
  50% {
    -webkit-transform: scale(0.9);
    -moz-transform: scale(0.9);
    -ms-transform: scale(0.9);
    -o-transform: scale(0.9);
    transform: scale(0.9); }
  100% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); } }

@-moz-keyframes bounce {
  0% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }
  50% {
    -webkit-transform: scale(0.9);
    -moz-transform: scale(0.9);
    -ms-transform: scale(0.9);
    -o-transform: scale(0.9);
    transform: scale(0.9); }
  100% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); } }

@-o-keyframes bounce {
  0% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }
  50% {
    -webkit-transform: scale(0.9);
    -moz-transform: scale(0.9);
    -ms-transform: scale(0.9);
    -o-transform: scale(0.9);
    transform: scale(0.9); }
  100% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); } }

@keyframes bounce {
  0% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }
  50% {
    -webkit-transform: scale(0.9);
    -moz-transform: scale(0.9);
    -ms-transform: scale(0.9);
    -o-transform: scale(0.9);
    transform: scale(0.9); }
  100% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); } }

.banner-inner {
  position: relative;
  min-height: 360px;
  width: 100%;
  background-position: center;
  background-size: cover;
  background-image: url("../images/pattern-bg_1920x350@2x.jpg"); }
  @media only screen and (max-width: 992px) {
    .banner-inner {
      margin-top: 79px;
      min-height: 330px; } }
  .banner-inner h1 {
    color: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 20px; }

.breadcrumb {
  background: #FFDE17;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0; }
  .breadcrumb p {
    display: inline-flex;
    align-items: center; }
    @media only screen and (max-width: 650px) {
      .breadcrumb p {
        font-size: 11px; } }
    .breadcrumb p span {
      display: inline-flex;
      align-items: center; }
  .breadcrumb span:not(:first-child):before {
    content: '';
    display: inline-block;
    margin: 0 10px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 0 4px 6px;
    border-color: transparent transparent transparent #000000; }
    @media only screen and (max-width: 650px) {
      .breadcrumb span:not(:first-child):before {
        border-width: 3px 0 3px 5px; } }
  .breadcrumb a:hover {
    text-decoration: underline; }

.title--cap {
  text-transform: uppercase;
  font-weight: 500;
  margin-bottom: 10px; }
  [lang="zh-hant"] .title--cap {
    font-weight: 900; }

.title--prgm {
  font-style: italic; }
  [lang="zh-hant"] .title--prgm {
    font-style: normal;
    font-weight: 200; }

.remark {
  font-size: 13px; }

.lightbox {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 11;
  background: rgba(0, 0, 0, 0.95); }

.mobile {
  visibility: hidden; }

.opacity {
  opacity: 0; }

.social {
  display: flex; }
  .social a {
    margin: 0 10px;
    display: flex; }
    .social a .fab {
      font-size: 20px; }
    .social a:hover .fab {
      -webkit-animation: bounce 0.3s ease-in-out forwards;
      -moz-animation: bounce 0.3s ease-in-out forwards;
      -o-animation: bounce 0.3s ease-in-out forwards;
      animation: bounce 0.3s ease-in-out forwards; }
    .social a .fab.fa-link {
      font-weight: 900;
      font-family: 'Font Awesome 5 Free'; }

.module {
  width: 100%;
  position: relative; }
  .module--blackbg {
    padding: 30px 20px;
    background: #000;
    color: #fff; }
  .module--yellowbg {
    background: #FFDE17;
    color: #000;
    padding: 30px 20px; }
    .module--yellowbg .title--cap {
      margin-bottom: 30px; }
    .module--yellowbg.module--3col {
      padding: 30px 20px; }
  .module--greybg {
    padding: 30px 20px;
    background: #F5F5F5;
    color: #000; }
    .module--greybg .carousel, .module--greybg .slider {
      margin: 0; }
  .module--carousel {
    position: relative;
    padding-bottom: 30px; }
    .module--carousel.module--greybg {
      padding: 30px 0 20px 0; }
    .module--carousel .title--cap {
      padding: 0 20px; }
  .module--slider .wrapper {
    position: relative; }
    .module--slider .wrapper--caption {
      display: flex;
      flex-wrap: nowrap;
      align-items: baseline; }
  .module--slider .slider--arrow .item img {
    width: 100%; }
  .module--slider .slider--arrow .slick-dots {
    display: none !important; }
  .module--slider .arrow {
    display: flex;
    justify-content: center;
    align-items: center; }
    .module--slider .arrow--next, .module--slider .arrow--prev {
      position: absolute;
      height: 100%;
      width: 50px;
      top: 0;
      cursor: pointer;
      opacity: 1;
      -webkit-transition: 0.3s ease-in-out;
      -moz-transition: 0.3s ease-in-out;
      -ms-transition: 0.3s ease-in-out;
      -o-transition: 0.3s ease-in-out;
      transition: 0.3s ease-in-out; }
      .module--slider .arrow--next:hover, .module--slider .arrow--prev:hover {
        opacity: 0.5; }
    .module--slider .arrow--next {
      right: 0; }
    .module--slider .arrow--prev {
      left: 0; }
    .module--slider .arrow.slick-disabled {
      opacity: 0; }
  .module--slider .pagination {
    margin-right: 15px;
    font-size: 15px;
    padding: 0;
    color: #7C7C7C; }
  .module--slider .caption {
    padding: 10px 0;
    display: flex;
    flex-wrap: nowrap;
    align-items: baseline;
    color: #7C7C7C; }
  .module--square {
    padding: 30px 0; }
    .module--square > .container {
      max-width: 960px;
      margin: 0 auto; }
      .module--square > .container .thumbnail {
        position: relative;
        padding: 0;
        border: 1px solid #fff; }
        .module--square > .container .thumbnail a {
          position: absolute;
          width: 100%;
          height: 100%;
          left: 0;
          top: 0; }
  .module--programme {
    padding: 30px 0; }
    .module--programme .item {
      margin-bottom: 40px; }
      .module--programme .item .thumbnail__content-wrap > h5 {
        padding-right: 90px; }
  .module--3col {
    padding: 30px 20px; }
    @media only screen and (max-width: 992px) {
      .module--3col .item {
        margin-bottom: 40px; } }
    .module--3col .thumbnail__content-wrap {
      margin: 0; }
  .module--col2 .slider .content-wrap .excerpt {
    position: relative;
    max-height: calc(15px * 1.6 * 5);
    margin-bottom: 30px;
    overflow: hidden; }
    @media only screen and (max-width: 768px) {
      .module--col2 .slider .content-wrap .excerpt {
        max-height: calc(14px * 1.6 * 5); } }
    .module--col2 .slider .content-wrap .excerpt:before {
      content: '...';
      position: absolute;
      left: 0;
      bottom: -6px; }
    .module--col2 .slider .content-wrap .excerpt p {
      max-height: calc(15px * 1.6 * 5);
      overflow: hidden; }
      @media only screen and (max-width: 768px) {
        .module--col2 .slider .content-wrap .excerpt p {
          max-height: calc(14px * 1.6 * 5); } }
      .module--col2 .slider .content-wrap .excerpt p br {
        content: ' '; }
        .module--col2 .slider .content-wrap .excerpt p br:after {
          content: ' '; }
  .module--video {
    position: relative;
    cursor: pointer; }
    .module--video .thumbnail:hover .thumbnail__img {
      -webkit-transform: scale(1.1);
      -moz-transform: scale(1.1);
      -ms-transform: scale(1.1);
      -o-transform: scale(1.1);
      transform: scale(1.1); }
    .module--video .icon-play {
      color: #fff;
      position: absolute;
      right: 0;
      bottom: 0;
      margin: 20px;
      font-size: 77px; }
    .module--video iframe {
      position: absolute;
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      display: none; }
  .module--img-caption img {
    width: 100%; }
  .module--img-caption .caption {
    margin: 10px 0; }
  .module--accordion .card {
    border: 0; }
    .module--accordion .card-header {
      border-color: #000;
      padding: 0; }
      .module--accordion .card-header button {
        background-color: transparent;
        text-decoration: none;
        border: 0;
        color: #000;
        padding: 15px 20px;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between; }
        .module--accordion .card-header button .icon-collapse {
          width: 43px;
          height: 43px;
          border: 2px solid #000;
          border-radius: 50%;
          -webkit-border-radius: 50%;
          -moz-border-radius: 50%;
          display: flex;
          align-items: center;
          justify-content: center; }
          .module--accordion .card-header button .icon-collapse > div {
            position: relative; }
            .module--accordion .card-header button .icon-collapse > div:before, .module--accordion .card-header button .icon-collapse > div:after {
              content: '';
              display: block;
              width: 17px;
              height: 2px;
              background: #000;
              position: absolute;
              left: 50%;
              -webkit-transform: translate(-50%, -50%);
              -moz-transform: translate(-50%, -50%);
              -ms-transform: translate(-50%, -50%);
              -o-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
              -webkit-transition: 0.3s ease-in-out;
              -moz-transition: 0.3s ease-in-out;
              -ms-transition: 0.3s ease-in-out;
              -o-transition: 0.3s ease-in-out;
              transition: 0.3s ease-in-out; }
            .module--accordion .card-header button .icon-collapse > div:after {
              -webkit-transform: translate(-50%, -50%) rotate(90deg);
              -moz-transform: translate(-50%, -50%) rotate(90deg);
              -ms-transform: translate(-50%, -50%) rotate(90deg);
              -o-transform: translate(-50%, -50%) rotate(90deg);
              transform: translate(-50%, -50%) rotate(90deg); }
        .module--accordion .card-header button[aria-expanded="true"] .icon-collapse > div:after {
          -webkit-transform: translate(-50%, -50%) rotate(0deg);
          -moz-transform: translate(-50%, -50%) rotate(0deg);
          -ms-transform: translate(-50%, -50%) rotate(0deg);
          -o-transform: translate(-50%, -50%) rotate(0deg);
          transform: translate(-50%, -50%) rotate(0deg); }
        .module--accordion .card-header button:hover {
          text-decoration: none;
          background-color: transparent;
          border-radius: 0;
          -webkit-border-radius: 0;
          -moz-border-radius: 0; }
      .module--accordion .card-header + div:active, .module--accordion .card-header + div:focus {
        outline: none; }
    .module--accordion .card-body {
      background: #F5F5F5;
      color: #7C7C7C;
      border-top: 1px solid #000; }
      .module--accordion .card-body > ul {
        display: flex;
        flex-wrap: wrap; }
        .module--accordion .card-body > ul > li {
          flex-basis: 25%;
          font-size: 15px; }
          @media only screen and (max-width: 992px) {
            .module--accordion .card-body > ul > li {
              flex-basis: 33.3%; } }
          @media only screen and (max-width: 650px) {
            .module--accordion .card-body > ul > li {
              flex-basis: 50%; } }
          @media only screen and (max-width: 414px) {
            .module--accordion .card-body > ul > li {
              flex-basis: 100%; } }
  .module--news-list .news-title {
    margin: 5px 0; }
  .module--news-list li {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #7C7C7C; }
    .module--news-list li:last-child {
      border: 0; }
    .module--news-list li a:hover {
      text-decoration: underline; }
  .module--support {
    margin-bottom: 40px; }
  .module--logo .wrapper {
    margin-bottom: 40px; }
    .module--logo .wrapper .logo-wrapper {
      padding: 10px; }
      .module--logo .wrapper .logo-wrapper > img {
        width: 100%; }
  .module--publication .wrapper--flex {
    flex-wrap: nowrap;
    margin-bottom: 50px; }
    .module--publication .wrapper--flex .cat-icon > img {
      width: 60px;
      margin-right: 10px;
      max-width: unset; }
  .module--publication .content-wrap a:hover {
    color: #FFDE17; }
  .module--publication .content-wrap h5 {
    margin-bottom: 10px; }
  .module--publication .content-wrap .icon-link {
    font-size: 15px; }

.page .module--publication .wrapper--flex {
  margin-bottom: 50px;
  margin-left: 0;
  margin-right: 0; }

.item {
  outline: none; }
  .item:focus, .item:active {
    outline: none; }
  .item .filter__tag {
    margin-top: 20px; }
  .item:hover .thumbnail__img {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1); }

.carousel .item {
  position: relative; }
  .carousel .item .thumbnail {
    margin-left: 20px;
    border: 1px solid #000; }
  .carousel .item :not(div.share) a {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0; }

.carousel ~ .arrow {
  position: absolute;
  top: 0px;
  background: rgba(245, 245, 245, 0.6);
  opacity: 1;
  cursor: pointer;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -ms-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out; }
  .carousel ~ .arrow:before {
    content: '';
    display: block;
    width: 100%; }
  .carousel ~ .arrow:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    top: 50%; }
  .carousel ~ .arrow--next {
    left: calc(100% - 50px); }
    .carousel ~ .arrow--next:after {
      border-width: 9px 0 9px 15px;
      border-color: transparent transparent transparent #ffffff;
      left: 25px;
      -webkit-transform: translate(-50%, -50%);
      -moz-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      -o-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }
  .carousel ~ .arrow--prev {
    right: calc(100% - 50px); }
    .carousel ~ .arrow--prev:after {
      border-width: 9px 15px 9px 0;
      border-color: transparent #ffffff transparent transparent;
      right: 25px;
      -webkit-transform: translate(50%, -50%);
      -moz-transform: translate(50%, -50%);
      -ms-transform: translate(50%, -50%);
      -o-transform: translate(50%, -50%);
      transform: translate(50%, -50%); }
  .carousel ~ .arrow.slick-disabled {
    opacity: 0; }

.carousel--3n .item {
  width: calc(33.3vw - 48px); }
  @media only screen and (max-width: 992px) {
    .carousel--3n .item {
      width: calc(50vw - 48px); } }
  @media only screen and (max-width: 650px) {
    .carousel--3n .item {
      width: calc(100vw - 48px); } }

.carousel--3n ~ .arrow {
  width: calc(33.3vw - 68px); }
  @media only screen and (max-width: 992px) {
    .carousel--3n ~ .arrow {
      width: calc(50vw - 48px); } }
  @media only screen and (max-width: 650px) {
    .carousel--3n ~ .arrow {
      width: calc(100vw - 48px); } }
  .carousel--3n ~ .arrow:before {
    padding-top: 62.85%; }

.slider .item {
  position: relative;
  outline: none; }

.slider .thumbnail {
  width: 100%; }

.slider--black .slick-dots li button:before {
  color: #000; }

.slider--white .slick-dots li button:before {
  color: #fff; }

.slider--tr-dots + .slick-dots {
  top: 0;
  bottom: unset;
  text-align: right;
  right: 0;
  width: auto;
  margin-right: 20px; }

.thumbnail {
  position: relative;
  background-position: center;
  background-size: 100%;
  overflow: hidden;
  background-position: center;
  background-size: cover; }
  .thumbnail:before {
    content: '';
    display: block;
    width: 100%; }
  .thumbnail--reg:before {
    padding-top: 62.85%; }
  .thumbnail--screen:before {
    padding-top: 56.25%; }
  .thumbnail--sq:before {
    padding-top: 100%; }
  .thumbnail > .tag {
    position: absolute;
    margin: 10px;
    font-size: 12px;
    right: 0;
    bottom: 0; }
    @media only screen and (min-width: 1281px) {
      .thumbnail > .tag {
        font-size: 14px; } }
  .thumbnail__img {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-position: center;
    background-size: cover;
    -webkit-transition: 0.6s ease-in-out;
    -moz-transition: 0.6s ease-in-out;
    -ms-transition: 0.6s ease-in-out;
    -o-transition: 0.6s ease-in-out;
    transition: 0.6s ease-in-out;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }
  .thumbnail__content-wrap {
    position: relative;
    margin: 0 0 0 20px;
    padding: 13px 0; }
    .thumbnail__content-wrap span {
      font-size: 14px;
      display: block; }
    .thumbnail__content-wrap > * {
      margin-bottom: 3px; }
    .thumbnail__content-wrap > a {
      position: absolute;
      width: 100%;
      height: 100%;
      left: 0;
      top: 0; }
    .thumbnail__content-wrap > h5 {
      padding-right: 90px; }
  .thumbnail a {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0; }

.tag {
  padding: 3px 7px;
  font-size: 14px; }
  .tag--outline {
    background: none;
    font-weight: 400;
    border: 1px solid #000; }
    [lang="zh-hant"] .tag--outline {
      font-weight: 500; }
  .tag--solid {
    text-transform: uppercase;
    font-weight: 500;
    background: #fff; }
    [lang="zh-hant"] .tag--solid {
      font-weight: 900; }
  .tag--date {
    font-size: 14px;
    line-height: 15px;
    border: 1px solid #7C7C7C;
    background: #000;
    width: 42px;
    height: 42px;
    color: #fff;
    text-align: center;
    padding: 6px 0;
    text-transform: uppercase;
    font-weight: 500;
    margin-left: 5px; }
    [lang="zh-hant"] .tag--date {
      font-weight: 900; }
    .tag--date.plain-text {
      width: auto;
      padding: 0 10px;
      line-height: 42px; }
      .tag--date.plain-text span.dash {
        display: inline-block;
        vertical-align: middle;
        width: 20px;
        height: 2px;
        background-color: white;
        margin: 0 3px;
        position: relative;
        top: -2px; }

.component--col-hz {
  margin-bottom: 40px; }
  @media only screen and (max-width: 992px) {
    .component--col-hz .content-wrap {
      padding: 20px 0; }
      .component--col-hz .content-wrap > a {
        display: none; } }
  .component--col-hz h5 {
    margin-bottom: 10px; }
  .component--col-hz.component--vid .icon-play {
    margin-bottom: 10px; }
  @media only screen and (max-width: 992px) {
    .component--col-hz.component--vid .icon-play {
      display: inline-block;
      vertical-align: top; }
      .component--col-hz.component--vid .icon-play + h5 {
        display: inline-block;
        width: calc(100% - 55px);
        padding-left: 5px;
        vertical-align: top; }
        .component--col-hz.component--vid .icon-play + h5 + a {
          display: none; } }
  .component--col-hz .slider .slick-dots {
    text-align: left; }
  .component--col-hz > .a--text {
    display: inline-block;
    margin-top: 25px; }

.component--vid .icon-play {
  font-size: 48px; }

.component--vid .wrapper--flex {
  justify-content: space-between;
  width: 100%;
  flex-wrap: nowrap; }

.filter__tag {
  display: flex;
  flex-wrap: wrap;
  padding-right: 80px; }
  @media only screen and (max-width: 768px) {
    .filter__tag {
      font-size: 14px; } }
  .filter__tag > div {
    padding: 3px 5px;
    margin: 0 10px 10px 0; }
    .filter__tag > div:last-of-type {
      margin-right: 0; }

.share {
  cursor: pointer;
  z-index: 1;
  position: absolute;
  right: 0;
  top: 0;
  margin: 13px 0;
  border: 1px solid #7C7C7C;
  padding: 4px 8px;
  display: flex;
  align-items: center;
  color: #7C7C7C;
  overflow: hidden;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -ms-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  width: 72px;
  background: #fff; }
  .share span {
    font-size: 14px; }
  .share > * {
    margin-right: 15px; }
  .share > div {
    display: flex;
    align-items: center; }
    .share > div i {
      margin-right: 5px;
      font-size: 13px;
      font-weight: 900; }
  .share a {
    opacity: 0;
    filter: alpha(opacity=0); }
  .share:hover {
    width: 170px;
    cursor: default; }
    .share:hover a {
      opacity: 1;
      filter: alpha(opacity=100); }
    .share:hover a:hover > i {
      -webkit-animation: bounce 0.3s ease-in-out forwards;
      -moz-animation: bounce 0.3s ease-in-out forwards;
      -o-animation: bounce 0.3s ease-in-out forwards;
      animation: bounce 0.3s ease-in-out forwards; }

.module--greybg .share {
  background: #F5F5F5; }

.module--yellowbg .share {
  background: #FFDE17; }

.pagination {
  padding: 0 20px 30px;
  font-size: 40px;
  font-weight: 500; }
  [lang="zh-hant"] .pagination {
    font-weight: 900; }
  .pagination > a {
    margin-right: 30px; }

[lang="zh-hant"] .quote {
  font-size: 22px; }

.quote {
  position: relative;
  color: #7C7C7C;
  padding-left: 40px;
  margin: 40px 0; }
  .quote > img {
    position: absolute;
    left: 0;
    top: 0; }
  .quote > h3 {
    line-height: 34px;
    margin-bottom: 10px; }
    @media only screen and (max-width: 768px) {
      .quote > h3 {
        font-size: 20px;
        line-height: 24px; } }
    @media only screen and (max-width: 650px) {
      .quote > h3 {
        font-size: 18px; } }

.caption {
  color: #7C7C7C; }

.btn--enter {
  background: #000;
  padding: 13px 18px;
  color: #fff;
  display: flex;
  align-items: center; }
  .btn--enter .icon-font {
    font-size: 10px; }

.list--num {
  list-style-type: decimal;
  font-size: 15px;
  padding-left: 15px; }
  .list--num p {
    padding-left: 5px; }

.list--bullet > li {
  display: flex; }
  .list--bullet > li .icon-font:before {
    color: #000;
    font-size: 10px;
    margin-right: 10px; }

.search form {
  width: 100%;
  display: flex;
  align-items: center; }
  .search form input[type="text"] {
    border: 0;
    border-bottom: 1px solid #000;
    background: transparent;
    color: #000;
    width: calc(100% - 35px);
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    padding: 0; }
    .search form input[type="text"]::placeholder {
      color: #000; }
  .search form .submit-btn {
    width: 30px;
    height: 30px;
    color: #000;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    background: transparent; }
    .search form .submit-btn:before {
      content: '\f002';
      display: block;
      font-size: 21px; }
    .search form .submit-btn:hover {
      -webkit-animation: bounce 0.3s ease-in-out forwards;
      -moz-animation: bounce 0.3s ease-in-out forwards;
      -o-animation: bounce 0.3s ease-in-out forwards;
      animation: bounce 0.3s ease-in-out forwards;
      background: transparent;
      border: 0; }
    .search form .submit-btn:active, .search form .submit-btn:focus {
      background: transparent;
      outline: none;
      border: 0; }

[lang="zh-hant"] p {
  font-size: 18px;
  line-height: 1.8;
  text-align: justify; }

[lang="zh-hant"] .module--programme .thumbnail__content-wrap .medium {
  font-weight: 400; }

[lang="zh-hant"] .module--carousel .thumbnail__content-wrap .medium {
  font-weight: 700; }

[lang="zh-hant"] .popup .content-wrap li {
  font-size: 18px; }

input, textarea {
  background: none;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  outline: none;
  border: 0;
  font-family: 'AvenirNext', san-serif !important;
  font-size: 14px;
  font-weight: 500; }
  [lang="zh-hant"] input, [lang="zh-hant"] textarea {
    font-family: 'AvenirNext', 'source-han-serif-tc', san-serif !important;
    font-weight: 400; }
  [lang="zh-hant"] input, [lang="zh-hant"] textarea {
    font-weight: 900; }

#subscriber_form > .row {
  width: 100%; }

#subscriber_form input[type="text"] {
  background: none;
  border: 0;
  border-bottom: 1px solid #fff;
  padding: 0;
  width: 100%;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  color: #fff; }
  #subscriber_form input[type="text"]::placeholder {
    color: rgba(255, 255, 255, 0.5); }

#subscriber_form button {
  background: #fff;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  width: 24px;
  height: 24px;
  color: #000;
  border: 0;
  padding: 0;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -ms-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out; }
  #subscriber_form button:focus, #subscriber_form button:active {
    box-shadow: none; }
  #subscriber_form button:hover {
    background: #FFDE17;
    color: #000; }

#subscriber_form > .row > .col-sm-5 {
  padding-left: 0;
  margin-bottom: 20px; }

#subscriber_form > .row > .col-1 {
  padding-left: 0; }

#subscriber_notice {
  font-size: 15px;
  color: #FFDE17; }

.wpcf7-form input[type="text"], .wpcf7-form input[type="email"] {
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  background: #fff;
  border: 1px solid #ddd;
  color: #000; }

.wpcf7-form textarea {
  border: 1px solid #ddd;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  color: #000; }

.wpcf7-form input[type="submit"] {
  background: #000;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  color: #fff;
  padding: 8px 20px;
  border: 0;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -ms-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  font-weight: 500;
  min-width: 100px; }
  [lang="zh-hant"] .wpcf7-form input[type="submit"] {
    font-weight: 900; }
  .wpcf7-form input[type="submit"]:hover {
    background: #FFDE17;
    color: #000; }

.wpcf7-form div.wpcf7-validation-errors, .wpcf7-form div.wpcf7-acceptance-missing {
  font-size: 14px;
  border-color: #FFDE17;
  margin-left: 0;
  margin-right: 0; }

.header {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  padding: 20px;
  display: flex;
  z-index: 1;
  justify-content: space-between;
  font-size: 16px; }
  .header .right {
    display: flex;
    align-items: center; }
  .header__search {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 10;
    height: 80px;
    background: #FFDE17;
    width: 800px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 20px;
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -o-transform: translateY(-100%);
    transform: translateY(-100%);
    -webkit-transition: transform 0.3s ease-in-out;
    -moz-transition: transform 0.3s ease-in-out;
    -ms-transition: transform 0.3s ease-in-out;
    -o-transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out; }
    .header__search.active {
      -webkit-transform: translateY(0%);
      -moz-transform: translateY(0%);
      -ms-transform: translateY(0%);
      -o-transform: translateY(0%);
      transform: translateY(0%); }
    .header__search .close-btn {
      margin-left: 20px; }
    @media only screen and (max-width: 992px) {
      .header__search {
        background: #fff;
        top: unset;
        bottom: 0;
        width: 100%;
        -webkit-transform: translateY(100%);
        -moz-transform: translateY(100%);
        -ms-transform: translateY(100%);
        -o-transform: translateY(100%);
        transform: translateY(100%); } }
  .header__logo > img {
    position: absolute; }
  .header__menu {
    display: flex;
    text-transform: uppercase;
    font-weight: 500;
    list-style-type: none; }
    [lang="zh-hant"] .header__menu {
      font-weight: 900; }
    .header__menu .nav__parent {
      margin: 0 15px;
      position: relative; }
      .header__menu .nav__parent:hover .nav__sub {
        opacity: 1;
        z-index: 1;
        visibility: visible; }
      .header__menu .nav__parent.current > a {
        text-decoration: underline; }
      .header__menu .nav__parent > a:hover {
        text-decoration: underline; }
      .header__menu .nav__parent .nav__sub {
        position: absolute;
        top: 100%;
        width: 295px;
        text-transform: none;
        font-weight: 400;
        opacity: 0;
        visibility: hidden;
        color: #fff;
        padding: 5px 0 0 0;
        z-index: -1;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -ms-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out; }
        [lang="zh-hant"] .header__menu .nav__parent .nav__sub {
          font-weight: 500; }
        .header__menu .nav__parent .nav__sub > li {
          border-bottom: 1px solid #fff;
          background: #000;
          position: relative;
          left: 0;
          -webkit-transition: left 0.3s ease-in-out;
          -moz-transition: left 0.3s ease-in-out;
          -ms-transition: left 0.3s ease-in-out;
          -o-transition: left 0.3s ease-in-out;
          transition: left 0.3s ease-in-out; }
          .header__menu .nav__parent .nav__sub > li:hover {
            left: 10px;
            color: #FFDE17; }
          .header__menu .nav__parent .nav__sub > li > a {
            width: 100%;
            padding: 5px 10px;
            display: block; }
      .header__menu .nav__parent:last-child .nav__sub {
        right: 0; }
  .header.black .header__logo .logo--w {
    opacity: 0; }
  .header.black .header__func .lang {
    color: #000;
    border-color: #000; }
    .header.black .header__func .lang:hover {
      background: #000;
      color: #fff; }
  .header.white {
    color: #fff; }
    .header.white .header__logo .logo--b {
      opacity: 0; }
    .header.white .header__func .lang {
      color: #fff;
      border-color: #fff; }
      .header.white .header__func .lang:hover {
        background: #fff;
        color: #000; }
    .header.white .nav__parent > a:hover {
      text-decoration: underline;
      color: #FFDE17; }
    .header.white .nav__parent.current > a {
      text-decoration: underline;
      color: #FFDE17; }
  .header--top {
    opacity: 1;
    visibility: visible;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -ms-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out; }
    @media only screen and (max-width: 992px) {
      .header--top {
        display: none; } }
    .header--top.hide {
      opacity: 0;
      visibility: hidden; }
  .header--sticky {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9;
    background: #FFDE17;
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -ms-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -o-transform: translateY(-100%);
    transform: translateY(-100%); }
    .header--sticky.scroll {
      -webkit-transform: translateY(0);
      -moz-transform: translateY(0);
      -ms-transform: translateY(0);
      -o-transform: translateY(0);
      transform: translateY(0); }
    .header--sticky .header__logo > img {
      position: relative; }
    .header--sticky > .right.res {
      display: none; }
      .header--sticky > .right.res .menu-icon {
        display: flex;
        align-items: center;
        height: 22px;
        width: 33px;
        position: relative;
        cursor: pointer; }
        .header--sticky > .right.res .menu-icon:hover > div {
          width: 23px; }
        .header--sticky > .right.res .menu-icon > div {
          display: block;
          margin: 0 auto;
          width: 33px;
          height: 4px;
          background: #000;
          -webkit-transition: all 0.3s ease-in-out;
          -moz-transition: all 0.3s ease-in-out;
          -ms-transition: all 0.3s ease-in-out;
          -o-transition: all 0.3s ease-in-out;
          transition: all 0.3s ease-in-out; }
          .header--sticky > .right.res .menu-icon > div:before, .header--sticky > .right.res .menu-icon > div:after {
            content: '';
            display: block;
            position: absolute;
            width: 33px;
            height: 4px;
            background: #000;
            left: 0; }
          .header--sticky > .right.res .menu-icon > div:before {
            top: 0; }
          .header--sticky > .right.res .menu-icon > div:after {
            bottom: 0; }
        .header--sticky > .right.res .menu-icon.active > div {
          background: transparent; }
          .header--sticky > .right.res .menu-icon.active > div:before {
            -webkit-animation: transform-down 0.6s ease-in-out forwards;
            -moz-animation: transform-down 0.6s ease-in-out forwards;
            -o-animation: transform-down 0.6s ease-in-out forwards;
            animation: transform-down 0.6s ease-in-out forwards; }
          .header--sticky > .right.res .menu-icon.active > div:after {
            -webkit-animation: transform-up 0.6s ease-in-out forwards;
            -moz-animation: transform-up 0.6s ease-in-out forwards;
            -o-animation: transform-up 0.6s ease-in-out forwards;
            animation: transform-up 0.6s ease-in-out forwards; }
        .header--sticky > .right.res .menu-icon.active:hover {
          -webkit-animation: bounce 0.3s ease-in-out forwards;
          -moz-animation: bounce 0.3s ease-in-out forwards;
          -o-animation: bounce 0.3s ease-in-out forwards;
          animation: bounce 0.3s ease-in-out forwards; }
        .header--sticky > .right.res .menu-icon.transit > div {
          -webkit-transition-delay: 0.3s;
          -moz-transition-delay: 0.3s;
          -ms-transition-delay: 0.3s;
          -o-transition-delay: 0.3s;
          transition-delay: 0.3s; }
          .header--sticky > .right.res .menu-icon.transit > div:before {
            -webkit-animation: transform-down-r 0.6s ease-in-out forwards;
            -moz-animation: transform-down-r 0.6s ease-in-out forwards;
            -o-animation: transform-down-r 0.6s ease-in-out forwards;
            animation: transform-down-r 0.6s ease-in-out forwards; }
          .header--sticky > .right.res .menu-icon.transit > div:after {
            -webkit-animation: transform-up-r 0.6s ease-in-out forwards;
            -moz-animation: transform-up-r 0.6s ease-in-out forwards;
            -o-animation: transform-up-r 0.6s ease-in-out forwards;
            animation: transform-up-r 0.6s ease-in-out forwards; }
    @media only screen and (max-width: 992px) {
      .header--sticky > .right.desktop {
        display: none; }
      .header--sticky > .right.res {
        display: flex; } }
    .header--sticky .lang {
      color: #000;
      border-color: #000; }
      .header--sticky .lang:hover {
        background: #000;
        color: #fff; }

@-webkit-keyframes transform-down {
  0% {
    top: 0; }
  50% {
    top: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  60% {
    top: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    top: 9px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg); } }

@-moz-keyframes transform-down {
  0% {
    top: 0; }
  50% {
    top: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  60% {
    top: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    top: 9px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg); } }

@-o-keyframes transform-down {
  0% {
    top: 0; }
  50% {
    top: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  60% {
    top: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    top: 9px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg); } }

@keyframes transform-down {
  0% {
    top: 0; }
  50% {
    top: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  60% {
    top: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    top: 9px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg); } }

@-webkit-keyframes transform-up {
  0% {
    bottom: 0; }
  50% {
    bottom: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  60% {
    bottom: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    bottom: 9px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg); } }

@-moz-keyframes transform-up {
  0% {
    bottom: 0; }
  50% {
    bottom: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  60% {
    bottom: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    bottom: 9px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg); } }

@-o-keyframes transform-up {
  0% {
    bottom: 0; }
  50% {
    bottom: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  60% {
    bottom: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    bottom: 9px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg); } }

@keyframes transform-up {
  0% {
    bottom: 0; }
  50% {
    bottom: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  60% {
    bottom: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    bottom: 9px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg); } }

@-webkit-keyframes transform-down-r {
  0% {
    top: 9px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg); }
  50% {
    top: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  60% {
    top: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    top: 0; } }

@-moz-keyframes transform-down-r {
  0% {
    top: 9px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg); }
  50% {
    top: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  60% {
    top: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    top: 0; } }

@-o-keyframes transform-down-r {
  0% {
    top: 9px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg); }
  50% {
    top: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  60% {
    top: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    top: 0; } }

@keyframes transform-down-r {
  0% {
    top: 9px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg); }
  50% {
    top: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  60% {
    top: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    top: 0; } }

@-webkit-keyframes transform-up-r {
  0% {
    bottom: 9px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg); }
  50% {
    bottom: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  60% {
    bottom: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    bottom: 0; } }

@-moz-keyframes transform-up-r {
  0% {
    bottom: 9px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg); }
  50% {
    bottom: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  60% {
    bottom: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    bottom: 0; } }

@-o-keyframes transform-up-r {
  0% {
    bottom: 9px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg); }
  50% {
    bottom: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  60% {
    bottom: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    bottom: 0; } }

@keyframes transform-up-r {
  0% {
    bottom: 9px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg); }
  50% {
    bottom: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  60% {
    bottom: 9px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    bottom: 0; } }
  .header__func {
    display: flex;
    align-items: center; }
    .header__func .lang {
      margin: 0 10px; }

.search-icon {
  cursor: pointer;
  margin-left: 10px; }
  .search-icon:hover {
    -webkit-animation: bounce 0.3s ease-in-out forwards;
    -moz-animation: bounce 0.3s ease-in-out forwards;
    -o-animation: bounce 0.3s ease-in-out forwards;
    animation: bounce 0.3s ease-in-out forwards; }
  .search-icon .fas {
    font-weight: 900; }

.menu--res {
  position: fixed;
  width: 100%;
  height: 100%;
  background: #FFDE17;
  color: #000;
  top: -100%;
  left: 0;
  display: none;
  z-index: 8;
  padding-top: 100px;
  overflow: auto;
  flex-direction: column;
  justify-content: space-between;
  -webkit-transition: 0.6s ease-in-out;
  -moz-transition: 0.6s ease-in-out;
  -ms-transition: 0.6s ease-in-out;
  -o-transition: 0.6s ease-in-out;
  transition: 0.6s ease-in-out; }
  @media only screen and (max-width: 992px) {
    .menu--res {
      display: flex; } }
  .menu--res.active {
    top: 0; }
  .menu--res .accordion .card {
    background: none;
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0; }
    .menu--res .accordion .card-header {
      background: none;
      border: 0; }
      .menu--res .accordion .card-header button {
        padding: 7px 20px;
        font-size: 20px;
        justify-content: flex-start; }
        .menu--res .accordion .card-header button:focus, .menu--res .accordion .card-header button:active, .menu--res .accordion .card-header button:hover {
          text-decoration: none; }
        .menu--res .accordion .card-header button .icon-collapse {
          border: 0; }
          .menu--res .accordion .card-header button .icon-collapse > div:before, .menu--res .accordion .card-header button .icon-collapse > div:after {
            width: 13px;
            background: #fff; }
    .menu--res .accordion .card-body {
      border: 0;
      padding: 0; }
      .menu--res .accordion .card-body h5 {
        padding: 10px 20px;
        border: 1px solid #000;
        border-left: 0;
        border-right: 0;
        background: #000;
        color: #fff;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -ms-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out; }
      .menu--res .accordion .card-body a:hover h5 {
        background: #FFDE17;
        color: #000; }
  .menu--res__bottom {
    background: #fff;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    .menu--res__bottom .social a {
      margin-left: 0;
      margin-right: 20px;
      display: flex; }
    .menu--res__bottom .right {
      display: flex;
      align-items: center; }
      .menu--res__bottom .right > * {
        margin-left: 20px; }
      .menu--res__bottom .right .lang {
        color: #000;
        border-color: #000; }
        .menu--res__bottom .right .lang:hover {
          background: #000;
          color: #fff; }
      .menu--res__bottom .right .search-icon {
        display: flex; }

.lang {
  border: 2px solid #fff;
  width: 25px;
  height: 25px;
  border-radius: 6px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  color: #fff;
  align-items: center;
  justify-content: center;
  display: inline-flex;
  font-size: 13px;
  font-weight: 500; }
  [lang="zh-hant"] .lang {
    font-weight: 900; }
  .lang:hover {
    background: #fff;
    color: #000; }

.popup {
  position: fixed;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  top: 0;
  left: 0;
  z-index: 10; }
  .popup .wrapper {
    border-top: 40px solid #fff;
    border-left: 20px solid #fff;
    border-right: 20px solid #fff;
    border-bottom: 20px solid #fff;
    position: absolute;
    max-width: calc(100% - 40px);
    width: 900px;
    height: 80vh;
    top: 50%;
    left: 50%;
    background: #fff;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
    .popup .wrapper img {
      width: 100%;
      height: auto;
      margin-bottom: 20px; }
    .popup .wrapper .close-btn {
      position: absolute;
      right: -10px;
      top: -40px; }
    .popup .wrapper .content-wrap {
      overflow: auto;
      height: 100%; }
      .popup .wrapper .content-wrap ul, .popup .wrapper .content-wrap ol {
        padding-left: 0; }
        .popup .wrapper .content-wrap ul li, .popup .wrapper .content-wrap ol li {
          margin-bottom: 10px; }

.footer {
  position: relative;
  width: 100%; }
  .footer .container h5 {
    margin-bottom: 10px; }
  .footer .module--blackbg {
    padding: 30px 20px; }
    @media only screen and (max-width: 768px) {
      .footer .module--blackbg .row .left {
        margin-bottom: 40px; } }
    .footer .module--blackbg .row .left form {
      color: #fff; }
      .footer .module--blackbg .row .left form .column input[type="text"] {
        border-bottom: 1px solid #fff;
        color: #fff;
        padding: 0 30px 0 0; }
      .footer .module--blackbg .row .left form .column input[type="submit"] {
        width: 24px;
        height: 24px;
        border-radius: 50%;
        -webkit-border-radius: 50%;
        -moz-border-radius: 50%;
        background: #fff; }
    .footer .module--blackbg .row .right {
      display: flex;
      align-items: flex-start; }
      .footer .module--blackbg .row .right .content-wrap {
        margin-left: 20px; }
        .footer .module--blackbg .row .right .content-wrap a {
          font-size: 15px; }
          .footer .module--blackbg .row .right .content-wrap a:hover {
            text-decoration: underline; }
        @media only screen and (max-width: 768px) {
          .footer .module--blackbg .row .right .content-wrap > h4 {
            display: none; } }
    .footer .module--blackbg .row > h4 {
      display: none;
      padding: 10px 20px; }
      @media only screen and (max-width: 768px) {
        .footer .module--blackbg .row > h4 {
          display: block; } }
  .footer .sitemap {
    padding: 30px 20px; }
    .footer .sitemap .container {
      display: flex;
      flex-wrap: wrap; }
    .footer .sitemap__column {
      flex-basis: 20%;
      padding-right: 20px;
      margin-bottom: 30px; }
      @media only screen and (max-width: 992px) {
        .footer .sitemap__column {
          flex-basis: 33.3%; } }
      @media only screen and (max-width: 650px) {
        .footer .sitemap__column {
          flex-basis: 50%; } }
      @media only screen and (max-width: 414px) {
        .footer .sitemap__column {
          flex-basis: 100%; } }
      .footer .sitemap__column > ul li {
        font-size: 15px;
        margin-bottom: 5px; }
        .footer .sitemap__column > ul li a:hover {
          text-decoration: underline; }
  .footer .info {
    padding: 30px 20px; }
    .footer .info .container {
      display: flex;
      flex-wrap: wrap; }
    .footer .info__column {
      flex-basis: 50%;
      padding-right: 20px;
      margin-bottom: 40px; }
      .footer .info__column:nth-of-type(1) {
        flex-basis: 33%; }
        .footer .info__column:nth-of-type(1) img {
          max-width: 233px;
          width: 100%; }
      .footer .info__column:nth-of-type(2) img {
        max-width: 380px;
        width: 100%; }
      .footer .info__column:nth-of-type(3) {
        flex-basis: 100%; }
      @media only screen and (min-width: 1080px) {
        .footer .info__column:nth-of-type(1) {
          flex-basis: 25%; }
        .footer .info__column:nth-of-type(2) {
          flex-basis: 35%; }
        .footer .info__column:nth-of-type(3) {
          flex-basis: 40%; } }
      @media only screen and (max-width: 768px) {
        .footer .info__column {
          flex-basis: 100% !important; }
          .footer .info__column:nth-of-type(3) {
            order: 1; }
          .footer .info__column:nth-of-type(1) {
            order: 2; }
          .footer .info__column:nth-of-type(2) {
            order: 3; } }
      .footer .info__column .content-wrap p {
        margin-bottom: 10px; }
      .footer .info__column .content-wrap a {
        text-decoration: underline; }
      .footer .info__column .social a {
        margin: 0 20px 0 0; }
        .footer .info__column .social a .fab {
          font-size: 25px; }
  .footer .copyright {
    padding: 20px; }
    .footer .copyright p {
      margin: 0 auto;
      max-width: 1280px; }

@media only screen and (max-width: 992px) {
  .page--home {
    padding-top: 78px; } }

.page--home .hm-banner {
  position: relative;
  width: 100%;
  height: 48vw;
  margin-bottom: 30px; }
  @media only screen and (min-width: 1281px) {
    .page--home .hm-banner {
      height: 32vw; } }
  .page--home .hm-banner__img {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-position: center;
    background-size: cover;
    display: block; }
    @media only screen and (min-width: 1281px) {
      .page--home .hm-banner__img {
        display: none; } }
    .page--home .hm-banner__img--1920 {
      display: none; }
      @media only screen and (min-width: 1281px) {
        .page--home .hm-banner__img--1920 {
          display: block; } }

.page--home .module--square .thumbnail {
  position: relative; }
  .page--home .module--square .thumbnail h3 {
    position: absolute;
    top: 50%;
    text-align: center;
    width: 100%;
    padding: 10px;
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    transform: translate(0, -50%); }
  .page--home .module--square .thumbnail .btn--enter {
    position: absolute;
    margin: 10px;
    bottom: 0;
    right: 0;
    font-size: 10px; }
  .page--home .module--square .thumbnail.to-booking-guide {
    background: #FFDE17;
    color: #000; }
  .page--home .module--square .thumbnail.to-ads {
    position: relative; }
    .page--home .module--square .thumbnail.to-ads .slider {
      position: absolute;
      width: 100%;
      height: 100%;
      left: 0;
      top: 0; }
      .page--home .module--square .thumbnail.to-ads .slider img {
        width: 100%; }
      .page--home .module--square .thumbnail.to-ads .slider .slick-dots {
        bottom: 0;
        text-align: left;
        padding: 10px; }

@media only screen and (max-width: 650px) {
  .page--home .module--square > .container > div:nth-child(1) {
    order: 2;
    max-width: 50%;
    flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    padding-right: 5px; }
  .page--home .module--square > .container > div:nth-child(2) {
    order: 3;
    max-width: 50%;
    flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    padding-left: 5px; }
  .page--home .module--square > .container > div:nth-child(3) {
    order: 1;
    max-width: 100%;
    flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    margin-bottom: 10px; }
  .page--home .module--square > .container > div h3 {
    font-size: 18px;
    text-align: left;
    top: 0;
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); } }

.page--programme .filter {
  display: block;
  padding: 30px 20px; }
  @media only screen and (max-width: 768px) {
    .page--programme .filter .row > div {
      margin-bottom: 30px; }
      .page--programme .filter .row > div:last-of-type {
        margin-bottom: 0; } }
  .page--programme .filter__type {
    position: relative; }
    .page--programme .filter__type > ul > li {
      cursor: pointer; }
    .page--programme .filter__type .selected {
      border: 1px solid #000;
      padding: 5px 15px;
      width: 100%;
      position: relative; }
      .page--programme .filter__type .selected:after {
        content: '';
        display: block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 6px 4px 0 4px;
        border-color: #000000 transparent transparent transparent;
        position: absolute;
        right: 0;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%);
        margin: 0 10px; }
    .page--programme .filter__type .option {
      display: none;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      border: 1px solid #000; }
      .page--programme .filter__type .option > li {
        background: #F5F5F5;
        padding: 5px 15px;
        position: relative;
        z-index: 1;
        overflow: hidden; }
        .page--programme .filter__type .option > li:hover {
          font-weight: 500; }
          [lang="zh-hant"] .page--programme .filter__type .option > li:hover {
            font-weight: 900; }
        .page--programme .filter__type .option > li:before {
          content: '';
          display: block;
          position: absolute;
          width: 100%;
          height: 100%;
          left: 0;
          top: 0;
          z-index: -1; }
      .page--programme .filter__type .option.opened {
        display: block; }
  .page--programme .filter .filter__tag .tag--outline {
    cursor: pointer;
    padding: 5px 15px;
    margin: 0 15px 15px 0;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -ms-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out; }
    .page--programme .filter .filter__tag .tag--outline:hover, .page--programme .filter .filter__tag .tag--outline.active {
      border-color: #000;
      color: #fff;
      background: #000; }
  @media only screen and (max-width: 992px) {
    .page--programme .filter {
      display: none; } }

.page--programme .filter-trigger {
  cursor: pointer;
  padding: 20px;
  background: #F5F5F5;
  display: none;
  justify-content: space-between;
  align-items: center;
  display: none; }
  @media only screen and (max-width: 992px) {
    .page--programme .filter-trigger {
      display: flex; } }
  .page--programme .filter-trigger .icon-collapse {
    width: 25px;
    height: 25px;
    border: 2px solid #000;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center; }
    .page--programme .filter-trigger .icon-collapse > div {
      position: relative; }
      .page--programme .filter-trigger .icon-collapse > div:before, .page--programme .filter-trigger .icon-collapse > div:after {
        content: '';
        display: block;
        width: 10px;
        height: 2px;
        background: #000;
        position: absolute;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        -o-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -ms-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out; }
      .page--programme .filter-trigger .icon-collapse > div:after {
        -webkit-transform: translate(-50%, -50%) rotate(90deg);
        -moz-transform: translate(-50%, -50%) rotate(90deg);
        -ms-transform: translate(-50%, -50%) rotate(90deg);
        -o-transform: translate(-50%, -50%) rotate(90deg);
        transform: translate(-50%, -50%) rotate(90deg); }
  .page--programme .filter-trigger.active .icon-collapse > div:after {
    -webkit-transform: translate(-50%, -50%) rotate(0deg);
    -moz-transform: translate(-50%, -50%) rotate(0deg);
    -ms-transform: translate(-50%, -50%) rotate(0deg);
    -o-transform: translate(-50%, -50%) rotate(0deg);
    transform: translate(-50%, -50%) rotate(0deg); }

.page--programme .programme-list {
  padding: 30px 0; }
  .page--programme .programme-list .func {
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    .page--programme .programme-list .func > div {
      display: flex; }
      @media only screen and (max-width: 992px) {
        .page--programme .programme-list .func > div {
          display: none; } }
      .page--programme .programme-list .func > div .icon-font {
        cursor: pointer;
        color: #7C7C7C;
        margin: 0 10px; }
        .page--programme .programme-list .func > div .icon-font.active {
          color: #000; }
  .page--programme .programme-list .module--programme {
    padding: 30px 0; }
  .page--programme .programme-list .thumbnail__content-wrap .intro {
    display: none; }
  .page--programme .programme-list.list-view .item {
    max-width: 100%;
    flex: 100%;
    display: flex;
    align-items: flex-start;
    padding: 0 0 40px 0;
    border-bottom: 2px solid #000;
    margin: 0 20px 40px; }
    .page--programme .programme-list.list-view .item .thumbnail {
      width: 100%;
      max-width: 390px; }
    .page--programme .programme-list.list-view .item .thumbnail__content-wrap {
      padding: 0;
      padding-left: 30px;
      width: calc(100% - 390px); }
      .page--programme .programme-list.list-view .item .thumbnail__content-wrap .share {
        position: relative; }
      .page--programme .programme-list.list-view .item .thumbnail__content-wrap .intro {
        max-width: 820px;
        display: block; }

.page--programme-detail .banner {
  position: relative;
  width: 100%;
  height: 48vw;
  min-height: auto; }
  @media only screen and (min-width: 1281px) {
    .page--programme-detail .banner {
      height: 32vw; } }
  .page--programme-detail .banner__img {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-position: center;
    background-size: cover;
    display: block; }
    @media only screen and (min-width: 1281px) {
      .page--programme-detail .banner__img {
        display: none; } }
    .page--programme-detail .banner__img--1920 {
      display: none; }
      @media only screen and (min-width: 1281px) {
        .page--programme-detail .banner__img--1920 {
          display: block; } }

.page--programme-detail .wrapper--flex {
  max-width: 1200px;
  margin: 0 auto; }
  .page--programme-detail .wrapper--flex .prgm-intro {
    position: relative;
    padding: 20px;
    min-height: 0;
    min-width: 0; }
    @media only screen and (max-width: 992px) {
      .page--programme-detail .wrapper--flex .prgm-intro {
        flex-basis: 100%; } }
    .page--programme-detail .wrapper--flex .prgm-intro > .wrapper {
      max-width: 700px;
      width: 100%; }
    .page--programme-detail .wrapper--flex .prgm-intro .share {
      right: 20px; }
  .page--programme-detail .wrapper--flex .prgm-info {
    display: flex;
    flex-direction: column; }
    .page--programme-detail .wrapper--flex .prgm-info > h4 {
      padding-bottom: 30px; }
    .page--programme-detail .wrapper--flex .prgm-info .module--greybg {
      padding: 20px; }
      @media only screen and (max-width: 992px) {
        .page--programme-detail .wrapper--flex .prgm-info .module--greybg {
          order: 2; } }
    .page--programme-detail .wrapper--flex .prgm-info .module--venue {
      margin: 25px 0;
      padding-bottom: 25px;
      border-bottom: 1px solid #000; }
      .page--programme-detail .wrapper--flex .prgm-info .module--venue > h2 {
        margin: 20px 0 10px; }
      .page--programme-detail .wrapper--flex .prgm-info .module--venue > h5 {
        text-decoration: underline;
        margin-bottom: 5px; }
      .page--programme-detail .wrapper--flex .prgm-info .module--venue .component--schedule {
        margin-bottom: 10px; }
    .page--programme-detail .wrapper--flex .prgm-info a.btn {
      background: #000;
      color: #fff;
      width: 100%;
      border-radius: 0;
      -webkit-border-radius: 0;
      -moz-border-radius: 0;
      margin-bottom: 25px; }
    .page--programme-detail .wrapper--flex .prgm-info .to-artist {
      background-position: center;
      background-size: contain;
      background-repeat: no-repeat;
      height: 200px;
      margin: 40px 0; }
      @media only screen and (max-width: 992px) {
        .page--programme-detail .wrapper--flex .prgm-info .to-artist {
          order: 1; } }
    .page--programme-detail .wrapper--flex .prgm-info .module--programme {
      padding: 20px; }
      .page--programme-detail .wrapper--flex .prgm-info .module--programme > h5 {
        margin-bottom: 30px; }
      .page--programme-detail .wrapper--flex .prgm-info .module--programme .thumbnail__content-wrap {
        margin: 0; }
      @media only screen and (max-width: 992px) {
        .page--programme-detail .wrapper--flex .prgm-info .module--programme {
          order: 3; } }
    @media only screen and (max-width: 992px) {
      .page--programme-detail .wrapper--flex .prgm-info {
        flex-basis: 100%; } }

.page--programme-detail .module--news-list {
  padding: 30px 20px; }
  .page--programme-detail .module--news-list li {
    margin-bottom: 15px;
    padding-bottom: 15px; }

.page--programme-detail .module--programme.module--3col {
  padding: 30px 0; }
  .page--programme-detail .module--programme.module--3col > h4 {
    padding: 0 20px; }

@media only screen and (max-width: 992px) {
  .page--programme-detail .module--yellowbg.module--3col > ul > * {
    margin-bottom: 30px; }
    .page--programme-detail .module--yellowbg.module--3col > ul > * > h5 {
      margin-bottom: 15px; } }

@media only screen and (max-width: 414px) {
  .page--programme-detail .module--yellowbg.module--3col > ul > * > h5 {
    font-size: 14px; }
  .page--programme-detail .module--yellowbg.module--3col > ul > * .thumbnail__content-wrap h5 {
    font-size: 16px; } }

.page--programme-detail .tickercontainer {
  height: auto !important; }

.page--programme-detail .marquee {
  position: absolute !important;
  bottom: 0;
  width: 100%;
  color: #fff;
  text-transform: uppercase;
  font-size: 30px !important;
  font-weight: 500 !important;
  font-family: 'AvenirNext', san-serif !important;
  overflow: hidden;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  padding: 16px 0 !important;
  background: #7C7C7C; }
  [lang="zh-hant"] .page--programme-detail .marquee {
    font-family: 'AvenirNext', 'source-han-serif-tc', san-serif !important;
    font-weight: 400; }
  .page--programme-detail .marquee li {
    padding: 0 50px !important; }

.page--artist {
  visibility: visible; }
  .page--artist .bg-video {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    overflow: hidden; }
    .page--artist .bg-video video {
      position: absolute;
      top: 50%;
      -webkit-transform: translate(0, -50%);
      -moz-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
      -o-transform: translate(0, -50%);
      transform: translate(0, -50%);
      transform: translate(0, -50%);
      width: 100%; }
  .page--artist .banner-inner {
    height: 41vw;
    position: relative;
    min-height: 1px; }
  .page--artist .banner__img {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-position: center;
    background-size: cover;
    display: block; }
    @media only screen and (min-width: 1281px) {
      .page--artist .banner__img {
        display: none; } }
    .page--artist .banner__img--1920 {
      display: none; }
      @media only screen and (min-width: 1281px) {
        .page--artist .banner__img--1920 {
          display: block; } }
  .page--artist .container {
    max-width: 1320px;
    padding: 50px 20px; }
    .page--artist .container > h2 {
      width: 100%;
      margin-bottom: 40px; }
    .page--artist .container .module--artist {
      margin: 0; }
      .page--artist .container .module--artist .thumbnail {
        background: #000; }
      .page--artist .container .module--artist .name {
        position: relative;
        color: #FFDE17;
        text-align: center;
        padding: 0;
        background: #000; }
        .page--artist .container .module--artist .name .name-block {
          position: relative;
          display: flex;
          align-items: center;
          justify-content: center;
          flex-direction: column;
          width: 100%;
          -webkit-transition: 0.3s ease-in-out;
          -moz-transition: 0.3s ease-in-out;
          -ms-transition: 0.3s ease-in-out;
          -o-transition: 0.3s ease-in-out;
          transition: 0.3s ease-in-out;
          opacity: 1; }
          .page--artist .container .module--artist .name .name-block h2 {
            font-weight: 500; }
            [lang="zh-hant"] .page--artist .container .module--artist .name .name-block h2 {
              font-weight: 900; }
            .page--artist .container .module--artist .name .name-block h2:not(:first-of-type):before {
              content: '✕';
              display: block;
              font-weight: 300;
              margin: 10px 0; }
              [lang="zh-hant"] .page--artist .container .module--artist .name .name-block h2:not(:first-of-type):before {
                font-weight: 200; }
        .page--artist .container .module--artist .name a {
          position: absolute;
          width: 100%;
          height: 100%;
          left: 0;
          top: 0; }
      .page--artist .container .module--artist-a .thumbnail {
        min-height: 300px; }
      .page--artist .container .module--artist-a .name-block {
        min-height: 150px;
        padding: 20px 10px; }
        .page--artist .container .module--artist-a .name-block:first-of-type {
          border-bottom: 1px solid #fff; }
      .page--artist .container .module--artist-b .name {
        min-height: 300px;
        display: flex;
        align-items: center; }
        .page--artist .container .module--artist-b .name .name-block {
          padding: 20px 10px;
          height: 100%; }
      .page--artist .container .module--artist .block {
        opacity: 1;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -ms-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out; }
        .page--artist .container .module--artist .block.opacity {
          opacity: 0.5; }
        .page--artist .container .module--artist .block.thumbnail.opacity {
          opacity: 1; }
          .page--artist .container .module--artist .block.thumbnail.opacity > * {
            opacity: 0.5; }
        .page--artist .container .module--artist .block.thumbnail.active .thumbnail__img {
          -webkit-transform: scale(1.1);
          -moz-transform: scale(1.1);
          -ms-transform: scale(1.1);
          -o-transform: scale(1.1);
          transform: scale(1.1); }
  .page--artist .container.mobile {
    visibility: visible;
    padding: 50px 0px; }
    .page--artist .container.mobile > h2 {
      padding: 0 20px; }
    .page--artist .container.mobile .module--artist .block {
      position: relative;
      margin-top: 40px; }
      .page--artist .container.mobile .module--artist .block > a {
        position: absolute;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0; }
      .page--artist .container.mobile .module--artist .block:hover .thumbnail__img {
        -webkit-transform: scale(1.1);
        -moz-transform: scale(1.1);
        -ms-transform: scale(1.1);
        -o-transform: scale(1.1);
        transform: scale(1.1); }
      .page--artist .container.mobile .module--artist .block.opacity {
        opacity: 1; }
        .page--artist .container.mobile .module--artist .block.opacity .thumbnail__img, .page--artist .container.mobile .module--artist .block.opacity .name-block {
          opacity: 0.5; }
    .page--artist .container.mobile .module--artist .thumbnail:before {
      content: '';
      display: block;
      padding-top: 75%; }
    .page--artist .container.mobile .module--artist .name {
      padding: 20px;
      margin-top: -1px; }
      .page--artist .container.mobile .module--artist .name .name-block {
        flex-direction: row;
        flex-wrap: wrap; }
        .page--artist .container.mobile .module--artist .name .name-block h2:not(:first-of-type):before {
          display: unset;
          margin: 0 15px; }

.page--artist-detail .bg-video {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  overflow: hidden; }
  .page--artist-detail .bg-video video {
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    transform: translate(0, -50%);
    transform: translate(0, -50%);
    width: 100%; }

.page--artist-detail .banner-inner {
  height: 41vw;
  position: relative;
  min-height: 1px; }

.page--artist-detail .banner__img {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-position: center;
  background-size: cover;
  display: block; }
  @media only screen and (min-width: 1281px) {
    .page--artist-detail .banner__img {
      display: none; } }
  .page--artist-detail .banner__img--1920 {
    display: none; }
    @media only screen and (min-width: 1281px) {
      .page--artist-detail .banner__img--1920 {
        display: block; } }

.page--artist-detail .artist-desc {
  padding: 40px 20px; }
  .page--artist-detail .artist-desc > .container {
    position: relative; }
    .page--artist-detail .artist-desc > .container > h1 {
      margin-bottom: 20px; }
    @media only screen and (max-width: 992px) {
      .page--artist-detail .artist-desc > .container .wrapper--flex > * {
        flex-basis: 100%; } }
  .page--artist-detail .artist-desc__intro {
    padding-right: 30px; }
    .page--artist-detail .artist-desc__intro.bb_content {
      width: 67%; }
  .page--artist-detail .artist-desc__logo {
    height: 200px;
    background-position: left center;
    background-size: contain;
    background-repeat: no-repeat; }
    @media only screen and (max-width: 992px) {
      .page--artist-detail .artist-desc__logo {
        margin: 30px 0; } }
  .page--artist-detail .artist-desc .social {
    margin-top: 5px; }
    .page--artist-detail .artist-desc .social a {
      margin-right: 20px; }

.page--artist-detail .module--yellowbg > h5 {
  margin-bottom: 20px; }

.page--artist-detail .module--blackbg .container > h5 {
  color: #fff;
  margin-bottom: 20px; }

.page--artist-detail .module--blackbg .container .col-md-7 {
  margin-top: 10px; }

.page--artist-detail .share {
  position: relative;
  margin-bottom: 40px; }

.page--further-read .container {
  max-width: 1320px;
  padding: 50px 0px; }
  .page--further-read .container > h2 {
    padding: 30px 20px 40px; }
  .page--further-read .container .module--slider {
    overflow: hidden; }
    .page--further-read .container .module--slider .thumbnail__content-wrap {
      background: #F5F5F5;
      padding: 30px 20px 60px;
      margin: 0; }
      .page--further-read .container .module--slider .thumbnail__content-wrap .wrapper {
        max-width: 800px;
        margin: 0 auto; }
    .page--further-read .container .module--slider > .arrow {
      position: absolute;
      width: 100%;
      height: unset; }
      .page--further-read .container .module--slider > .arrow:before {
        content: '';
        display: block;
        top: 0;
        padding-top: 56.25%;
        width: 100%; }
      .page--further-read .container .module--slider > .arrow--next {
        left: calc(100% - 50px);
        right: unset; }
        .page--further-read .container .module--slider > .arrow--next .icon-font {
          position: absolute;
          top: 50%;
          left: 0; }
      .page--further-read .container .module--slider > .arrow--prev {
        right: calc(100% - 50px);
        left: unset; }
        .page--further-read .container .module--slider > .arrow--prev .icon-font {
          position: absolute;
          top: 50%;
          right: 0; }
    .page--further-read .container .module--slider .slick-dots {
      display: block !important;
      bottom: 30px; }
  .page--further-read .container .module--2col {
    padding: 40px 20px; }
    .page--further-read .container .module--2col .row {
      margin-bottom: 40px; }
      @media only screen and (max-width: 768px) {
        .page--further-read .container .module--2col .row > .col-md-7 {
          margin-top: 15px; } }

.page--further-read-detail .container > * {
  margin-bottom: 30px; }

.page--further-read-detail .container > h1 {
  margin: 20px 0; }

.page--further-read-detail .container > img {
  width: 100%; }

.page--further-read-detail .module {
  padding: 30px 20px; }
  .page--further-read-detail .module.reading-article {
    padding: 30px 0; }
  .page--further-read-detail .module--greybg.prgm-info {
    padding: 30px 0; }
    .page--further-read-detail .module--greybg.prgm-info .btn--enter {
      display: inline-flex;
      margin-top: 30px;
      padding: 5px 15px; }
      .page--further-read-detail .module--greybg.prgm-info .btn--enter h5 {
        margin-right: 15px;
        font-weight: 400; }
        [lang="zh-hant"] .page--further-read-detail .module--greybg.prgm-info .btn--enter h5 {
          font-weight: 500; }
    .page--further-read-detail .module--greybg.prgm-info .content-wrap a {
      display: block; }
  .page--further-read-detail .module.related-artist {
    padding: 30px 0; }

.page--news .container {
  padding: 50px 20px; }

.page--past-edition .container {
  padding: 50px 20px; }
  .page--past-edition .container > ul > li {
    margin-bottom: 40px; }
    .page--past-edition .container > ul > li > h2 {
      margin-top: 15px; }
      .page--past-edition .container > ul > li > h2 > a {
        display: inline-flex;
        align-items: center; }

.page--past-edition .btn--enter {
  color: #000;
  background: none; }

@media only screen and (max-width: 768px) {
  .page--about.page--static .col-12 {
    margin-bottom: 20px; }
    .page--about.page--static .col-12:last-of-type {
      margin-bottom: 0; } }

.page--about.page--static img.about-logo {
  display: block;
  width: 175px;
  margin-bottom: 40px; }

.page--about .container {
  padding: 50px 20px; }

@media only screen and (max-width: 992px) {
  .module--support .col-lg-4, .module--logo .col-lg-4 {
    margin-bottom: 30px; } }

.fl-full-width .container.page--partner {
  padding: 50px 0;
  max-width: 100%;
  margin: 0 auto; }
  .fl-full-width .container.page--partner .col-12 {
    padding-bottom: 70px; }
  .fl-full-width .container.page--partner .col-12:first-of-type img {
    width: 100%;
    max-width: 282px;
    margin-top: 30px; }
  .fl-full-width .container.page--partner .col-12:last-of-type img {
    width: 100%;
    max-width: 402px;
    margin-top: 30px; }
  .fl-full-width .container.page--partner .col-6 {
    padding: 20px; }
  .fl-full-width .container.page--partner-lg {
    padding-bottom: 100px; }

.page--publication .container {
  padding: 50px 20px; }

.page--publication .module--publication {
  margin-bottom: 40px; }
  .page--publication .module--publication > ul {
    padding: 0 10px; }
    .page--publication .module--publication > ul > li {
      padding: 0 10px; }
  .page--publication .module--publication .wrapper--flex {
    padding: 20px;
    border: 1px solid;
    min-height: 150px;
    position: relative;
    margin-bottom: 20px; }
    .page--publication .module--publication .wrapper--flex a {
      position: absolute;
      width: 100%;
      height: 100%;
      left: 0;
      top: 0; }
  .page--publication .module--publication-yllw > h5 {
    margin-bottom: 15px; }
  .page--publication .module--publication-yllw .wrapper--flex {
    background: #FFDE17;
    border-color: #7C7C7C; }
  .page--publication .module--publication-blk .wrapper--flex {
    background: #000;
    color: #fff;
    border-color: #fff; }

.page--press-release .container {
  padding: 50px 20px; }

.page--press-release .left {
  padding-right: 40px; }
  @media only screen and (max-width: 992px) {
    .page--press-release .left {
      flex-basis: 100%; } }
  .page--press-release .left > ul > li {
    margin-bottom: 40px; }

.page--press-release .right {
  padding-left: 40px; }
  @media only screen and (max-width: 992px) {
    .page--press-release .right {
      flex-basis: 100%;
      margin-top: 30px;
      padding-left: 0; } }

.page--press-media .share {
  position: relative;
  margin-bottom: 40px; }

.page--press-media .container {
  max-width: 1320px;
  padding: 50px 20px; }
  .page--press-media .container > h1 {
    margin-bottom: 15px; }
  .page--press-media .container .module--3col {
    padding: 30px 0; }
    .page--press-media .container .module--3col > h5 {
      margin-bottom: 30px; }
    .page--press-media .container .module--3col .item {
      margin-bottom: 40px; }
      .page--press-media .container .module--3col .item .thumbnail__content-wrap > h5 {
        padding-right: 20px; }
      .page--press-media .container .module--3col .item .thumbnail__content-wrap .icon-play {
        font-size: 30px; }

.page--press-video .wrapper--vid {
  position: relative;
  width: 100%;
  max-width: 800px; }
  .page--press-video .wrapper--vid:before {
    content: '';
    display: block;
    padding-top: 56%; }
  .page--press-video .wrapper--vid iframe {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0; }

.page--press-album .container > .wrapper--flex .module--slider {
  width: 60%; }
  @media only screen and (max-width: 992px) {
    .page--press-album .container > .wrapper--flex .module--slider {
      width: 100%; } }

.page--press-album .container > .wrapper--flex .slider-thumbnail {
  width: 40%;
  padding-left: 20px; }
  @media only screen and (max-width: 992px) {
    .page--press-album .container > .wrapper--flex .slider-thumbnail {
      width: 100%;
      padding-left: 0; } }
  .page--press-album .container > .wrapper--flex .slider-thumbnail > .wrapper--flex {
    justify-content: left; }
    @media only screen and (max-width: 992px) {
      .page--press-album .container > .wrapper--flex .slider-thumbnail > .wrapper--flex {
        justify-content: center; } }
    @media only screen and (max-width: 650px) {
      .page--press-album .container > .wrapper--flex .slider-thumbnail > .wrapper--flex {
        justify-content: flex-start; } }
    .page--press-album .container > .wrapper--flex .slider-thumbnail > .wrapper--flex .item {
      cursor: pointer;
      padding: 5px;
      width: 100px; }
      @media only screen and (max-width: 650px) {
        .page--press-album .container > .wrapper--flex .slider-thumbnail > .wrapper--flex .item {
          width: 33.3%; } }
      .page--press-album .container > .wrapper--flex .slider-thumbnail > .wrapper--flex .item .thumbnail {
        background-color: #000; }
        .page--press-album .container > .wrapper--flex .slider-thumbnail > .wrapper--flex .item .thumbnail:before {
          padding-top: 70%; }
      .page--press-album .container > .wrapper--flex .slider-thumbnail > .wrapper--flex .item.active .thumbnail__img {
        opacity: 0.5; }

.page--press-album .container > .wrapper--flex .slider--media .item img {
  width: 100%; }

.page--contact .container {
  padding: 50px 20px; }
  .page--contact .container .right .social a {
    margin-left: 0; }

.page--static .container a, .page--static .container--sm a {
  text-decoration: underline; }

.page--static .container h5, .page--static .container h4, .page--static .container h3, .page--static .container--sm h5, .page--static .container--sm h4, .page--static .container--sm h3 {
  margin: 40px 0 20px; }

.page--static .container p, .page--static .container--sm p {
  margin-bottom: 0; }

.page--static .container span, .page--static .container--sm span {
  padding-bottom: 20px;
  display: block; }

.page--static .container .module--yellowbg, .page--static .container .module--greybg, .page--static .container--sm .module--yellowbg, .page--static .container--sm .module--greybg {
  margin-bottom: 30px; }

.page--static .container .module > *:first-of-type, .page--static .container--sm .module > *:first-of-type {
  margin-top: 0; }

.page--static .container ol, .page--static .container ul, .page--static .container--sm ol, .page--static .container--sm ul {
  font-size: 15px;
  margin-bottom: 40px; }
  .page--static .container ol > li, .page--static .container ul > li, .page--static .container--sm ol > li, .page--static .container--sm ul > li {
    margin-bottom: 1rem; }

.page--static .container ol, .page--static .container--sm ol {
  list-style-type: decimal;
  padding-left: 15px; }
  .page--static .container ol > li, .page--static .container--sm ol > li {
    padding-left: 5px; }

.page--static .container ul > li:before, .page--static .container--sm ul > li:before {
  font-family: "icomoon", san-serif;
  content: '\e906';
  font-size: 10px;
  padding-top: 3px;
  margin-right: 10px; }

.page--404 .container--sm {
  text-align: center; }
  .page--404 .container--sm h1 {
    font-size: 100px; }
  .page--404 .container--sm h4 {
    margin: 20px 0; }
  .page--404 .container--sm .search {
    margin: 50px auto;
    max-width: 600px;
    width: 100%; }

.venue-info ul {
  list-style: none;
  padding: 0;
  margin: 0; }
  .venue-info ul li {
    font-size: 15px;
    line-height: 1.5;
    padding: 20px 0;
    border-bottom: 1px solid black; }
    .venue-info ul li:last-child {
      border: none; }
    .venue-info ul li:before {
      content: '';
      display: inline-block;
      width: 16px;
      height: 23px;
      background-image: url("../images/icon-map-location@2x.png");
      background-size: contain;
      background-repeat: no-repeat;
      vertical-align: top;
      margin-left: 10px;
      margin-right: 10px;
      position: relative;
      top: 2px; }
    .venue-info ul li.focus {
      background-color: rgba(255, 222, 23, 0.5); }
    .venue-info ul li .venue-item {
      position: relative;
      display: inline-block;
      width: calc(100% - 40px);
      cursor: pointer; }
      .venue-info ul li .venue-item__name {
        font-weight: 800;
        margin-bottom: 5px; }

#venue-map {
  position: relative;
  width: 100%;
  height: 550px; }
  @media only screen and (max-width: 650px) {
    #venue-map {
      height: 250px;
      margin-bottom: 20px; } }

.page--search .container {
  padding: 50px 20px; }
  .page--search .container ul {
    padding-left: 0; }
    .page--search .container ul > li {
      margin-bottom: 40px;
      padding-bottom: 20px;
      border-bottom: 1px solid #7C7C7C; }
      .page--search .container ul > li p {
        text-overflow: ellipsis;
        overflow: hidden;
        white-space: nowrap;
        max-width: 600px;
        width: 100%; }
  .page--search .container .search form input[type="text"] {
    max-width: 600px; }
  .page--search .container.no-result {
    padding: 100px 20px; }
