﻿@charset "UTF-8";
/*==========================================================================
    defualt
 ==========================================================================*/
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+TC:500,700,900");
@import url("plugins.css");
* {
  outline: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

html,
body {
  margin: 0;
  padding: 0;
  height: 100.1%; }

html.disable {
  overflow: hidden; }

body {
  height: 100.1% !important;
  overflow-x: hidden;
  font-family: 'Noto Sans TC', Heiti TC, Microsoft JhengHei, "微軟正黑體", Verdana;
  color: #fff;
  font-size: 30px;
  -webkit-font-smoothing: antialiased;
  -webkit-overflow-scrolling: touch; }
  @media (max-width: 1064px) {
    body {
      font-size: 2.8vw; } }

input, textarea, button, select {
  font-family: 'Noto Sans TC', Heiti TC, Microsoft JhengHei, "微軟正黑體", Verdana; }

button {
  cursor: pointer;
  border: none;
  box-shadow: none; }

select {
  -webkit-appearance: none;
  /*隱藏箭頭*/
  -moz-appearance: none;
  /*Firefox*/ }

/*IE 10 */
select::-ms-expand {
  display: none !important; }

img {
  max-width: 100%; }

.hidden {
  display: none; }

.container {
  max-width: 1064px;
  margin: auto;
  padding: 0 30px; }
  @media (max-width: 1064px) {
    .container {
      padding: 0 2.8vw; } }

.clearfix:after {
  content: '';
  display: block;
  clear: both; }

.wp {
  min-height: 100%;
  min-width: 320px;
  padding-top: 630px;
  position: relative;
  background: #3a145d url("../_img/bg.jpg") center top no-repeat;
  overflow: hidden; }
  @media (max-width: 1064px) {
    .wp {
      padding-top: 59.5vw;
      background-size: 180%; } }

a {
  text-decoration: none;
  transition: color 0.5s; }

p {
  margin: 0; }

/*==========================================================================
    animation
 ==========================================================================*/
.fade-in {
  opacity: 0;
  transition: opacity 1s; }
  .fade-in.show {
    opacity: 1; }

.fade-up {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 1s, transform 1s; }
  .fade-up.show {
    opacity: 1;
    transform: translateY(0); }

.fade-down {
  opacity: 0;
  transform: translateY(-50px);
  transition: opacity 1s, transform 1s; }
  .fade-down.show {
    opacity: 1;
    transform: translateY(0); }

.fade-left {
  opacity: 0;
  transform: translateX(-100px);
  transition: opacity 1s, transform 1s; }
  .fade-left.show {
    opacity: 1;
    transform: translateY(0); }

.fade-right {
  opacity: 0;
  transform: translateX(100px);
  transition: opacity 1s, transform 1s; }
  .fade-right.show {
    opacity: 1;
    transform: translateY(0); }

.fade-zoom {
  opacity: 0 !important;
  transform: scale(0.8);
  transition: opacity 1s, transform 1s; }
  .fade-zoom.show {
    opacity: 1 !important;
    transform: scale(1); }

.fade-rotate {
  opacity: 0 !important;
  transform: rotate(-360deg);
  transition: opacity 1s, transform 1.5s; }
  .fade-rotate.show {
    opacity: 1 !important;
    transform: rotate(0deg); }

/*==========================================================================
    public
 ==========================================================================*/
ul.no-style {
  margin: 0;
  padding: 0; }
  ul.no-style > li {
    list-style: none; }

@media (max-width: 767px) {
  .for-desktop {
    display: none !important; } }

.for-mobile {
  display: none !important; }
  @media (max-width: 767px) {
    .for-mobile {
      display: block !important; } }

.form {
  text-align: center; }
  .form select, .form button {
    display: inline-block;
    vertical-align: middle; }
  .form select {
    width: 343px;
    height: 75px;
    padding: 0 85px 0 30px;
    border: none;
    background: url("../_img/select.png") center no-repeat;
    background-size: contain;
    color: #5c3bcb;
    font-size: 38px;
    cursor: pointer; }
    @media (max-width: 1064px) {
      .form select {
        width: 32.3vw;
        height: 7.1vw;
        padding: 0 8vw 0 2.8vw;
        font-size: 3.6vw; } }
  .form .btn-login {
    width: 272px;
    height: 95px;
    margin: 0 0 5px 20px;
    background: url("../_img/btn-login.png") center no-repeat;
    background-size: contain; }
    @media (max-width: 1064px) {
      .form .btn-login {
        width: 25.6vw;
        height: 9vw;
        margin: 0 0 0.5vw 2vw; } }
    .form .btn-login:hover {
      background-image: url("../_img/btn-login-hover.png"); }

::-webkit-input-placeholder {
  /* WebKit browsers */
  color: #c5c5c5; }

::-moz-placeholder {
  /* Mozilla Firefox 4 to 18 */
  color: #c5c5c5; }

::-o-placeholder {
  /* Mozilla Firefox 19+ */
  color: #c5c5c5; }

::-ms-placeholder {
  /* Internet Explorer 10+ */
  color: #c5c5c5; }

::-ms-input-placeholder {
  /* Internet Explorer 10+ */
  color: #c5c5c5; }

.open-box {
  cursor: pointer; }

.fixed-box {
  width: 100%;
  height: 100%;
  position: fixed;
  left: -100%;
  top: 0;
  z-index: 160;
  opacity: 0;
  visibility: hidden;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: opacity 0.5s, visibility 0.5s, left 0s 0.5s; }
  .fixed-box.show {
    left: 0;
    opacity: 1;
    visibility: visible;
    transition: opacity 0.5s, visibility 0.5s; }
  .fixed-box .mask {
    width: 100%;
    height: 100%;
    position: fixed;
    left: 0;
    top: 0;
    background-color: rgba(0, 0, 0, 0.65); }
  .fixed-box .block {
    display: table;
    width: 100%; }
    .fixed-box .block .middle {
      display: table-cell;
      vertical-align: middle;
      height: 100vh;
      padding: 80px;
      position: relative; }
      @media (max-width: 1064px) {
        .fixed-box .block .middle {
          padding: 7.5vw; } }
  .fixed-box .inner {
    max-width: 890px;
    width: 100%;
    margin: 60px auto;
    padding: 80px;
    position: relative;
    z-index: 2;
    background-color: #b745ff;
    border-radius: 10px;
    color: #ffe900;
    font-size: 48px;
    line-height: 1.3em; }
    @media (max-width: 1064px) {
      .fixed-box .inner {
        padding: 7.5vw;
        font-size: 4.5vw; } }
    .fixed-box .inner:before, .fixed-box .inner:after {
      content: '';
      display: block;
      position: absolute; }
    .fixed-box .inner:before {
      width: -moz-calc(100% - 30px);
      width: -webkit-calc(100% - 30px);
      width: calc(100% - 30px);
      height: -moz-calc(100% - 30px);
      height: -webkit-calc(100% - 30px);
      height: calc(100% - 30px);
      left: 15px;
      top: 15px;
      z-index: 1;
      background-color: #7b00da;
      box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
      border-radius: 10px; }
      @media (max-width: 767px) {
        .fixed-box .inner:before {
          width: -moz-calc(100% - 20px);
          width: -webkit-calc(100% - 20px);
          width: calc(100% - 20px);
          height: -moz-calc(100% - 20px);
          height: -webkit-calc(100% - 20px);
          height: calc(100% - 20px);
          left: 10px;
          top: 10px;
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); } }
    .fixed-box .inner:after {
      width: -moz-calc(100% + 32px);
      width: -webkit-calc(100% + 32px);
      width: calc(100% + 32px);
      height: -moz-calc(100% + 32px);
      height: -webkit-calc(100% + 32px);
      height: calc(100% + 32px);
      left: -16px;
      top: -16px;
      border: 6px solid #fff;
      border-radius: 15px;
      box-shadow: 0 0 15px 5px rgba(252, 0, 255, 0.7), inset 0 0 15px 3px rgba(252, 0, 255, 0.7); }
      @media (max-width: 767px) {
        .fixed-box .inner:after {
          width: -moz-calc(100% + 20px);
          width: -webkit-calc(100% + 20px);
          width: calc(100% + 20px);
          height: -moz-calc(100% + 20px);
          height: -webkit-calc(100% + 20px);
          height: calc(100% + 20px);
          left: -10px;
          top: -10px;
          border-width: 4px; } }
    .fixed-box .inner .text {
      position: relative;
      z-index: 5;
      text-align: center; }
      .fixed-box .inner .text .coin {
        color: #fff; }
    .fixed-box .inner .close-btn {
      width: 103px;
      height: 103px;
      position: absolute;
      right: -60px;
      top: -60px;
      z-index: 10;
      background: url("../_img/X.png") center no-repeat;
      background-size: contain;
      cursor: pointer;
      font-size: 0;
      transition: transform 0.5s; }
      @media (max-width: 1064px) {
        .fixed-box .inner .close-btn {
          width: 9.7vw;
          height: 9.7vw;
          right: -5.5vw;
          top: -5.5vw; } }
      .fixed-box .inner .close-btn:hover {
        transform: scale(1.05) rotate(0.02deg); }
    .fixed-box .inner .btn-download2 {
      display: block;
      width: 100%;
      height: 170px;
      background: url("../_img/btn-download2.png") center no-repeat;
      background-size: contain; }
      @media (max-width: 1064px) {
        .fixed-box .inner .btn-download2 {
          height: 16vw; } }
      .fixed-box .inner .btn-download2:hover {
        background-image: url("../_img/btn-download2-hover.png"); }
    .fixed-box .inner .btn-login {
      display: block;
      width: 272px;
      height: 95px;
      margin: 20px auto 0 auto;
      position: relative;
      z-index: 2;
      background: url("../_img/btn-login2.png") center no-repeat;
      background-size: contain; }
      @media (max-width: 1064px) {
        .fixed-box .inner .btn-login {
          width: 25.6vw;
          height: 9vw;
          margin-top: 2vw; } }
      .fixed-box .inner .btn-login:hover {
        background-image: url("../_img/btn-login2-hover.png"); }

.congratulations .inner {
  margin-top: 270px;
  padding: 40px 80px; }
  @media (max-width: 1064px) {
    .congratulations .inner {
      margin-top: 25.5vw;
      padding: 4vw 7.5vw; } }
  .congratulations .inner .title {
    width: 790px;
    height: 257px;
    margin-left: -430px;
    position: absolute;
    left: 50%;
    top: -210px;
    z-index: 3;
    background: url("../_img/congratulations.png") center no-repeat;
    background-size: contain; }
    @media (max-width: 1064px) {
      .congratulations .inner .title {
        width: 74.3vw;
        height: 24.2vw;
        margin-left: -40.5vw;
        top: -19.8vw; } }
  .congratulations .inner .coins {
    width: 975px;
    height: 615px;
    margin-left: -520px;
    position: absolute;
    left: 50%;
    top: -100px;
    z-index: 3;
    background: url("../_img/congratulations-coins.png") center no-repeat;
    background-size: contain; }
    @media (max-width: 1064px) {
      .congratulations .inner .coins {
        width: 91.7vw;
        height: 57.8vw;
        margin-left: -49vw;
        top: -9.5vw; } }

/* ==========================================================================
* header
 ==========================================================================*/
#header {
  width: 100%;
  min-width: 320px;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 99; }
  #header .container {
    position: relative; }
    @media (max-width: 991px) {
      #header .container {
        padding: 0; } }
  #header .logo {
    float: left;
    display: block;
    width: 450px;
    height: 120px;
    position: absolute;
    left: 155px;
    top: 30px;
    /*background: red;
        opacity: 0.5;*/ }
    @media (max-width: 1064px) {
      #header .logo {
        width: 42.3vw;
        height: 11.3vw;
        left: 14.7vw;
        top: 2.8vw; } }
  #header .follow {
    float: right;
    padding: 10px 30px;
    text-align: center;
    background-color: #31064f;
    border-bottom-left-radius: 30px;
    border-bottom-right-radius: 30px; }
    @media (max-width: 1064px) {
      #header .follow {
        padding: 1vw 2.8vw;
        border-bottom-left-radius: 2.8vw;
        border-bottom-right-radius: 2.8vw; } }
    #header .follow a {
      display: inline-block;
      vertical-align: middle;
      width: 88px;
      height: 88px;
      background: 0 0 no-repeat;
      background-size: contain; }
      @media (max-width: 1064px) {
        #header .follow a {
          width: 8.6vw;
          height: 8.6vw; } }
      #header .follow a.fb {
        background-image: url("../_img/icon-fb.png"); }
        #header .follow a.fb:hover {
          background-image: url("../_img/icon-fb-hover.png"); }
      #header .follow a.youtube {
        background-image: url("../_img/icon-youtube.png"); }
        #header .follow a.youtube:hover {
          background-image: url("../_img/icon-youtube-hover.png"); }
      #header .follow a.line {
        background-image: url("../_img/icon-line.png"); }
        #header .follow a.line:hover {
          background-image: url("../_img/icon-line-hover.png"); }
      #header .follow a.home {
        background-image: url("../_img/icon-home.png"); }
        #header .follow a.home:hover {
          background-image: url("../_img/icon-home-hover.png"); }
  @media (max-width: 991px) {
    #header.active {
      position: fixed;
      background-color: #31064f; }
      #header.active .logo {
        width: 31.2vw;
        height: 10.6vw;
        position: relative;
        left: 0;
        top: 0;
        background: url("../_img/logo.png") center no-repeat;
        background-size: contain; }
      #header.active .follow {
        padding: 1vw 0 0 0; } }

/* ==========================================================================
* main
 ==========================================================================*/
.btn-download {
  display: block;
  width: 895px;
  height: 230px;
  margin: auto;
  position: relative;
  z-index: 3;
  background: url("../_img/btn-download.png") center no-repeat;
  background-size: 100%;
  animation: btn-download 1s steps(2) infinite; }
  @media (max-width: 1064px) {
    .btn-download {
      width: 84.2vw;
      height: 21.62vw;
      animation-name: btn-download2; } }
  .btn-download:hover {
    background-image: url("../_img/btn-download-hover.png");
    animation: none; }

.content {
  padding-top: 10px;
  padding-bottom: 50px; }
  @media (max-width: 1064px) {
    .content {
      padding-top: 1vw;
      padding-bottom: 5vw; } }
  .content .block {
    margin-top: 20px; }
    @media (max-width: 1064px) {
      .content .block {
        margin-top: 2vw; } }

.for-menber {
  display: none;
  margin-top: -15px; }
  @media (max-width: 1064px) {
    .for-menber {
      margin-top: -1.5vw; } }

.counting {
  width: 760px;
  height: 135px;
  margin: 30px auto;
  position: relative;
  z-index: 6;
  background: url("../_img/counting.png") center no-repeat;
  background-size: contain;
  color: #fff;
  font-size: 57px; }
  @media (max-width: 1064px) {
    .counting {
      width: 71.5vw;
      height: 12.7vw;
      margin: 2.8vw auto;
      font-size: 5.3vw; } }
  .counting .have, .counting .already {
    width: 62px;
    position: absolute;
    top: 42px;
    text-align: center;
    line-height: 58px; }
    @media (max-width: 1064px) {
      .counting .have, .counting .already {
        width: 6vw;
        top: 4vw;
        line-height: 5.5vw; } }
  .counting .have {
    left: 296px;
    color: #f4ea2d; }
    @media (max-width: 1064px) {
      .counting .have {
        left: 27.7vw; } }
  .counting .already {
    right: 57px; }
    @media (max-width: 1064px) {
      .counting .already {
        right: 5.3vw; } }
  .counting .have-notice, .counting .already-notice {
    max-width: 660px;
    min-width: 520px;
    padding: 20px 30px;
    position: absolute;
    top: 180px;
    z-index: 3;
    border: 5px solid #fff;
    border-radius: 30px;
    background-color: #ff0072;
    box-shadow: 10px 10px 0 #ae005e;
    color: #fff400;
    font-size: 45px;
    line-height: 1.3em;
    text-align: justify; }
    @media (max-width: 1064px) {
      .counting .have-notice, .counting .already-notice {
        max-width: 62.1vw;
        min-width: 49vw;
        padding: 2vw 2.8vw;
        top: 17vw;
        border-radius: 2.8vw;
        box-shadow: 1vw 1vw 0 #ae005e;
        font-size: 4.2vw; } }
    @media (max-width: 767px) {
      .counting .have-notice, .counting .already-notice {
        border-width: 3px; } }
    @media (max-width: 480px) {
      .counting .have-notice, .counting .already-notice {
        border-width: 2px; } }
    .counting .have-notice:before, .counting .already-notice:before {
      content: '';
      display: block;
      width: 78px;
      height: 60px;
      position: absolute;
      top: -51px;
      z-index: 2;
      background: url("../_img/notice-tri.png") center no-repeat;
      background-size: contain; }
      @media (max-width: 767px) {
        .counting .have-notice:before, .counting .already-notice:before {
          width: 53px;
          height: 40px;
          top: -34px; } }
      @media (max-width: 480px) {
        .counting .have-notice:before, .counting .already-notice:before {
          width: 33px;
          height: 25px;
          top: -21px; } }
  .counting .have-notice {
    left: 280px; }
    @media (max-width: 1064px) {
      .counting .have-notice {
        left: 26vw; } }
    .counting .have-notice:before {
      left: 50px;
      transform: rotateY(180deg); }
      @media (max-width: 1064px) {
        .counting .have-notice:before {
          left: 5vw; } }
  .counting .already-notice {
    right: 30px; }
    @media (max-width: 1064px) {
      .counting .already-notice {
        right: 2.8vw; } }
    .counting .already-notice:before {
      right: 50px; }
      @media (max-width: 1064px) {
        .counting .already-notice:before {
          right: 5vw; } }

.roulette {
  margin-top: 80px;
  padding-bottom: 200px;
  position: relative; }
  @media (max-width: 1064px) {
    .roulette {
      margin-top: 7.5vw;
      padding-bottom: 19vw; } }
  .roulette .bg {
    width: 1170px;
    height: 935px;
    margin-left: -630px;
    position: absolute;
    left: 50%;
    bottom: 0;
    z-index: 1;
    background: url("../_img/wheel-bg.png") center no-repeat;
    background-size: contain; }
    @media (max-width: 1064px) {
      .roulette .bg {
        width: 110vw;
        height: 88vw;
        margin-left: -59.5vw; } }
  .roulette .pointer {
    width: 90px;
    height: 160px;
    margin-left: -45px;
    position: absolute;
    left: 50%;
    top: -60px;
    z-index: 5;
    background: url("../_img/wheel-pointer.png") center no-repeat;
    background-size: contain; }
    @media (max-width: 1064px) {
      .roulette .pointer {
        width: 8.5vw;
        height: 15.1vw;
        margin-left: -4vw;
        top: -5.5vw; } }
  .roulette .btn-spin {
    width: 230px;
    height: 230px;
    margin-left: -115px;
    position: absolute;
    left: 50%;
    top: 270px;
    z-index: 5;
    background: url("../_img/btn-spin.png") center no-repeat;
    background-size: contain;
    font-size: 0; }
    @media (max-width: 1064px) {
      .roulette .btn-spin {
        width: 21.6vw;
        height: 21.6vw;
        margin-left: -10.8vw;
        top: 25.5vw; } }
    .roulette .btn-spin:hover {
      background-image: url("../_img/btn-spin-hover.png"); }
    .roulette .btn-spin[disabled="disabled"] {
      background-image: url("../_img/btn-spin2.png"); }
  .roulette .btn-join {
    width: 100%;
    height: 475px;
    position: absolute;
    left: 0;
    top: 145px;
    z-index: 6;
    background: url("../_img/btn-join.png") center no-repeat;
    background-size: contain;
    font-size: 0; }
    @media (max-width: 1064px) {
      .roulette .btn-join {
        height: 44.7vw;
        top: 13.5vw; } }
    .roulette .btn-join:hover {
      background-image: url("../_img/btn-join-hover.png"); }
  .roulette .wheel {
    width: 766px;
    height: 766px;
    margin: auto;
    position: relative;
    z-index: 2;
    background: url("../_img/wheel.png") center no-repeat;
    background-size: contain;
    animation: wheel 0.5s steps(2) infinite alternate; }
    @media (max-width: 1064px) {
      .roulette .wheel {
        width: 72vw;
        height: 72vw; } }
  .roulette .award {
    width: 100%;
    height: 766px;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 3;
    background: url("../_img/wheel-award.png") center no-repeat;
    background-size: contain; }
    @media (max-width: 1064px) {
      .roulette .award {
        height: 72vw; } }
    .roulette .award div {
      display: none;
      width: 100%;
      height: 766px;
      position: absolute;
      left: 0;
      top: 0;
      z-index: 4;
      background: url("../_img/wheel-mask.png") center no-repeat;
      background-size: contain;
      font-size: 0; }
      @media (max-width: 1064px) {
        .roulette .award div {
          height: 72vw; } }
      .roulette .award div.case_1 {
        transform: rotate(-51.5deg); }
      .roulette .award div.case_2 {
        transform: rotate(-103deg); }
      .roulette .award div.case_3 {
        transform: rotate(-154.5deg); }
      .roulette .award div.case_4 {
        transform: rotate(154.5deg); }
      .roulette .award div.case_5 {
        transform: rotate(103deg); }
      .roulette .award div.case_6 {
        transform: rotate(51.5deg); }

.preload {
  display: none; }

@keyframes wheel {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(15deg); } }

@keyframes btn-download {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 0 -460px; } }

@keyframes btn-download2 {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 0 -43.24vw; } }

/* ==========================================================================
* footer
 ==========================================================================*/
#footer {
  padding: 20px 0;
  background-color: #2b0058;
  text-align: center; }
  @media (max-width: 1064px) {
    #footer {
      padding: 2vw 0; } }
  #footer .wanin, #footer .level {
    display: inline-block;
    vertical-align: sub; }
  #footer .wanin {
    width: 342px;
    height: 112px;
    background: url("../_img/wanin.png") center no-repeat;
    background-size: contain; }
    @media (max-width: 1064px) {
      #footer .wanin {
        width: 31.6vw;
        height: 10.4vw; } }
  #footer .level {
    width: 72px;
    margin-left: 10px; }
    @media (max-width: 1064px) {
      #footer .level {
        width: 6.7vw;
        margin-left: 1vw; } }
    #footer .level img {
      width: 100%; }

/* header-text 獲獎跑馬燈 */
.header-text {
  width: 100%;
  /*padding: 15px;*/
  position: fixed;
  left: 0;
  top: -100%;
  z-index: 150;
  background-color: rgba(0, 0, 0, 0.8);
  color: #fff;
  font-size: 48px;
  text-align: center;
  font-weight: bold;
  line-height: 1.5em;
  transition: top 1s; }
  @media (max-width: 1064px) {
    .header-text {
      font-size: 4.5vw; } }
  @media (max-width: 991px) {
    .header-text {
      z-index: 50; } }
  .header-text .ah-headline {
    font-family: "微軟正黑體", Heiti TC, Microsoft JhengHei, Verdana;
    overflow: hidden;
    display: inline; }
    .header-text .ah-headline.slide .ah-words-wrapper {
      vertical-align: middle; }
  .header-text .ah-words-wrapper {
    width: 100% !important;
    text-align: center !important; }
  .header-text.active {
    top: 0; }
    @media (max-width: 991px) {
      .header-text.active {
        top: 10.6vw; } }
  .header-text .gift {
    padding: 0 10px !important; }
  .header-text .phone-num, .header-text .gift {
    color: #fdf400; }
    @media (max-width: 767px) {
      .header-text .phone-num, .header-text .gift {
        padding: 0 5px !important; } }
