﻿@charset "UTF-8";
/*==========================================================================
    defualt
 ==========================================================================*/
* {
  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: 1000px) {
    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;
    background: #fff url("../_img/select-tri.png") center right 25px no-repeat;
    @include max-lg() {
        background-position: center right 2.5vw;
        background-size: 5%;
    }
}*/
/*IE 10 
select::-ms-expand {
    display: none !important;
}*/
img {
  max-width: 100%; }

.hidden {
  display: none; }

.container {
  max-width: 1000px;
  margin: auto; }

.clearfix:after {
  content: '';
  display: block;
  clear: both; }

.wp {
  min-height: 100%;
  min-width: 320px;
  padding-top: 98px;
  position: relative;
  background: #fff url("../_img/bg.jpg") top center no-repeat;
  overflow: hidden; }
  @media (max-width: 1000px) {
    .wp {
      padding-top: 9.8vw;
      background-size: 192%; } }

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; } }

@-webkit-keyframes autofill {
  to {
    color: #2e2f5e;
    background: transparent; } }

input:-webkit-autofill {
  -webkit-animation-name: autofill;
  -webkit-animation-fill-mode: both; }

.form {
  margin: 20px 0;
  text-align: center; }
  .form input, .form select {
    width: 940px;
    height: 140px;
    margin: 30px auto;
    padding: 0 50px;
    border-radius: 140px;
    border: 6px solid #2e2f5e;
    box-shadow: inset 0 5px 5px rgba(0, 0, 0, 0.75);
    color: #000;
    font-size: 48px;
    text-align: center; }
    @media (max-width: 1000px) {
      .form input, .form select {
        width: 94%;
        height: 14vw;
        margin: 2.8vw auto;
        padding: 0 4.5vw;
        border-radius: 14vw;
        font-size: 4.8vw; } }
    @media (max-width: 767px) {
      .form input, .form select {
        box-shadow: inset 0 3px 3px rgba(0, 0, 0, 0.75); } }
  .form .inputPhoneNumber {
    width: 950px;
    height: 150px;
    margin: auto;
    position: relative;
    background: url("../_img/input.png") center no-repeat;
    background-size: contain; }
    @media (max-width: 1000px) {
      .form .inputPhoneNumber {
        width: 95vw;
        height: 15vw; } }
    .form .inputPhoneNumber input {
      display: block;
      width: 670px;
      margin: 0 0 0 auto;
      border: none;
      background: none;
      box-shadow: none;
      color: #2e2f5e;
      font-size: 48px;
      text-align: left; }
      @media (max-width: 1000px) {
        .form .inputPhoneNumber input {
          width: 67vw;
          font-size: 4.8vw; } }
  .form select {
    padding-right: 90px; }
    @media (max-width: 1000px) {
      .form select {
        padding-right: 8.5vw; } }
  .form .agree {
    margin-bottom: 20px;
    color: #008aff;
    font-size: 48px;
    text-decoration: underline; }
    @media (max-width: 1000px) {
      .form .agree {
        margin-bottom: 2vw;
        font-size: 4.8vw; } }

::-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: 99;
  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.5); }
  .fixed-box .block {
    display: table;
    width: 100%; }
    .fixed-box .block .middle {
      display: table-cell;
      vertical-align: middle;
      height: 100vh;
      padding: 80px 0;
      position: relative; }
  .fixed-box .inner {
    width: 960px;
    margin: 60px auto;
    padding: 50px 20px;
    position: relative;
    z-index: 2;
    background-color: #2e2f5e;
    border: 8px solid #5990ff;
    border-radius: 20px;
    box-shadow: inset -3px 5px 3px #151934;
    color: #00ffea;
    font-size: 60px;
    font-weight: 300;
    text-align: center; }
    @media (max-width: 1000px) {
      .fixed-box .inner {
        width: 90%;
        margin: 6vw auto;
        padding: 5vw 2vw;
        font-size: 6vw; } }
    @media (max-width: 767px) {
      .fixed-box .inner {
        border-width: 5px; } }
    @media (max-width: 480px) {
      .fixed-box .inner {
        border-width: 3px; } }
    .fixed-box .inner .title {
      color: #fff;
      font-size: 72px;
      font-weight: 500;
      line-height: 90px; }
      @media (max-width: 1000px) {
        .fixed-box .inner .title {
          font-size: 7.2vw;
          line-height: 9vw; } }
      .fixed-box .inner .title span {
        color: yellow; }
    .fixed-box .inner .close-btn {
      width: 110px;
      height: 110px;
      position: absolute;
      right: -30px;
      top: -30px;
      z-index: 3;
      background: url("../_img/X.png") center no-repeat;
      cursor: pointer;
      background-size: contain;
      font-size: 0;
      transition: transform 0.5s; }
      @media (max-width: 1000px) {
        .fixed-box .inner .close-btn {
          width: 10.5vw;
          height: 10.5vw;
          right: -3vw;
          top: -3vw; } }
      .fixed-box .inner .close-btn:hover {
        transform: scale(1.1); }
    .fixed-box .inner .form input, .fixed-box .inner .form select {
      width: 94%;
      margin: 0; }
    .fixed-box .inner .text {
      margin-top: 20px;
      padding: 30px;
      background-color: #fff;
      box-shadow: 0 -5px 0 #a8a8a8;
      border-radius: 10px;
      color: #2e2e2e;
      font-size: 40px;
      line-height: 60px;
      text-align: justify;
      font-weight: lighter; }
      @media (max-width: 1000px) {
        .fixed-box .inner .text {
          margin-top: 2vw;
          padding: 3vw;
          border-radius: 1vw;
          font-size: 4vw;
          line-height: 6vw; } }
      @media (max-width: 767px) {
        .fixed-box .inner .text {
          box-shadow: 0 -3px 0 #a8a8a8; } }

/* 翻好禮 */
.play-game .inner {
  font-size: 50px; }
  @media (max-width: 1000px) {
    .play-game .inner {
      font-size: 4.5vw; } }
  .play-game .inner .cards {
    font-size: 0; }
    .play-game .inner .cards .card {
      display: inline-block;
      vertical-align: middle;
      width: 433px;
      height: 453px;
      margin: 8px;
      position: relative;
      cursor: pointer; }
      @media (max-width: 1000px) {
        .play-game .inner .cards .card {
          width: 47%;
          height: 39vw;
          margin: 0.8vw; } }
      .play-game .inner .cards .card .fornt {
        width: 100%;
        height: 100%;
        border: 16px solid #fff;
        border-radius: 10px;
        box-shadow: 5px 10px 20px rgba(0, 0, 0, 0.5);
        background: url("../_img/card.png") center no-repeat;
        transition: transform 0.3s 0.3s, box-shadow 0.5s; }
        @media (max-width: 1000px) {
          .play-game .inner .cards .card .fornt {
            border-width: 1.6vw;
            border-radius: 1vw;
            background-size: 101%; } }
      .play-game .inner .cards .card .back {
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
        border: 16px solid #fff;
        border-radius: 10px;
        box-shadow: 5px 10px 20px rgba(0, 0, 0, 0.5);
        background: center no-repeat;
        transform: rotateY(-90deg);
        transition: transform 0.3s, box-shadow 0.5s; }
        @media (max-width: 1000px) {
          .play-game .inner .cards .card .back {
            border-width: 1.6vw;
            border-radius: 1vw;
            background-size: 101%; } }
        .play-game .inner .cards .card .back.coin20w {
          background-image: url("../_img/card-20w.png"); }
        .play-game .inner .cards .card .back.coin50w {
          background-image: url("../_img/card-50w.png"); }
        .play-game .inner .cards .card .back.dyson {
          background-image: url("../_img/card-dyson.png"); }
        .play-game .inner .cards .card .back.philips {
          background-image: url("../_img/card-philips.png"); }
      .play-game .inner .cards .card:hover .fornt, .play-game .inner .cards .card:hover .back {
        box-shadow: 0 0 30px #fff; }
      .play-game .inner .cards .card.show .fornt {
        transform: rotateY(90deg);
        transition: transform 0.3s, box-shadow 0.5s; }
      .play-game .inner .cards .card.show .back {
        transform: rotateY(0deg);
        transition: transform 0.3s 0.3s, box-shadow 0.5s; }
      .play-game .inner .cards .card.active .back {
        border-color: yellow; }

/* 同意個人資料使用 */
.agree-use .inner .title {
  font-size: 48px; }
  @media (max-width: 1000px) {
    .agree-use .inner .title {
      font-size: 4.8vw; } }

/* 恭喜獲獎 */
.congratulations .inner {
  padding-bottom: 340px;
  background-image: url("../_img/starbaby-happy.png");
  background-position: bottom center;
  background-repeat: no-repeat; }
  @media (max-width: 1000px) {
    .congratulations .inner {
      padding-bottom: 34vw;
      background-size: 101%; } }

/* 訊息視窗 */
.system-notice .inner {
  padding-bottom: 380px;
  background-image: url("../_img/starbaby-error.png");
  background-position: bottom -45px center;
  background-repeat: no-repeat; }
  @media (max-width: 1000px) {
    .system-notice .inner {
      padding-bottom: 38vw;
      background-position: bottom -4.5vw center;
      background-size: 44.5%; } }

/* 輸入手機驗證碼 */
.code-number .inner {
  padding-bottom: 20px;
  color: yellow;
  font-size: 40px; }
  @media (max-width: 1000px) {
    .code-number .inner {
      padding-bottom: 2vw;
      font-size: 4vw; } }
  .code-number .inner .form input {
    display: inline-block;
    margin-bottom: 20px; }
    @media (max-width: 1000px) {
      .code-number .inner .form input {
        margin-bottom: 2vw; } }
  .code-number .inner .form .error {
    margin-top: -20px; }
    @media (max-width: 1000px) {
      .code-number .inner .form .error {
        margin-top: -2vw; } }

/* 導活動 */
.go-event .inner {
  padding-bottom: 20px;
  color: yellow;
  font-size: 48px; }
  @media (max-width: 1000px) {
    .go-event .inner {
      padding-bottom: 2vw;
      font-size: 4.5vw; } }
  .go-event .inner p {
    margin-bottom: 10px;
    letter-spacing: -2px; }
    @media (max-width: 1000px) {
      .go-event .inner p {
        margin-bottom: 1vw;
        letter-spacing: -0.2vw; } }
  .go-event .inner img {
    display: block;
    width: 100%; }

/* ==========================================================================
* header
 ==========================================================================*/
#header {
  width: 100%;
  padding: 0 15px;
  min-width: 320px;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 99;
  transition: background 0.5s; }
  @media (max-width: 480px) {
    #header {
      padding: 0 5px; } }
  #header .logo {
    float: left;
    display: block;
    width: 332px;
    height: 79px;
    margin: 15px 13px;
    background: url("../_img/logo.png") center no-repeat;
    background-size: contain; }
    @media (max-width: 1000px) {
      #header .logo {
        width: 33.2vw;
        height: 7.9vw;
        margin: 1.5vw 1.3vw; } }
  #header .follow {
    float: right;
    padding-top: 10px;
    text-align: center; }
    @media (max-width: 991px) {
      #header .follow {
        padding-top: 1vw; } }
    #header .follow a {
      display: inline-block;
      vertical-align: middle;
      width: 88px;
      height: 88px;
      margin-right: 5px;
      background: 0 0 no-repeat;
      background-size: contain; }
      @media (max-width: 1000px) {
        #header .follow a {
          width: 8.6vw;
          height: 8.6vw;
          margin-right: 0.5vw; } }
      #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"); }
  #header.active {
    background: #ff3030;
    background: -moz-linear-gradient(left, #ff3030 0%, #ff7238 100%);
    background: -webkit-linear-gradient(left, #ff3030 0%, #ff7238 100%);
    background: linear-gradient(to right, #ff3030 0%, #ff7238 100%);
    box-shadow: 0 3px 5px rgba(141, 0, 0, 0.7); }

/* ==========================================================================
* main
 ==========================================================================*/
.main {
  text-align: center; }
  .main .container {
    position: relative; }
  .main .slogan {
    width: 1030px;
    height: 545px;
    margin-left: -14px;
    position: relative;
    z-index: 5;
    background: url("../_img/slogan.png") center no-repeat;
    background-size: contain; }
    @media (max-width: 1000px) {
      .main .slogan {
        width: 103vw;
        height: 54.5vw;
        margin-left: -1.4vw; } }
  .main .download-btn {
    display: block;
    width: 921px;
    height: 223px;
    margin: -43px auto 0 auto;
    position: relative;
    z-index: 3;
    background: url("../_img/download-btn.png") center no-repeat;
    background-size: 100%;
    animation: download-btn 1s steps(2) infinite; }
    @media (max-width: 1000px) {
      .main .download-btn {
        width: 92.1vw;
        height: 22.3vw;
        margin-top: -4.3vw;
        animation-name: download-btn2; } }
    .main .download-btn:hover {
      background-image: url("../_img/download-btn-hover.png");
      animation: none; }
  .main .block {
    min-height: 1663px;
    margin-top: -368px;
    padding-top: 367px;
    background: url("../_img/block-bg.png") center no-repeat; }
    @media (max-width: 1000px) {
      .main .block {
        min-height: 166.3vw;
        margin-top: -35.8vw;
        padding-top: 36.7vw;
        background-size: contain; } }
    .main .block .info {
      margin-top: 10px; }
      @media (max-width: 1000px) {
        .main .block .info {
          margin-top: 1vw; } }
    .main .block .gifts {
      margin-top: 25px; }
      @media (max-width: 1000px) {
        .main .block .gifts {
          margin-top: 2.5vw; } }
  .main .notice {
    margin-bottom: 30px; }
    @media (max-width: 1000px) {
      .main .notice {
        margin-bottom: 3vw; } }

.preload {
  display: none; }

@keyframes download-btn {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 0 -446px; } }

@keyframes download-btn2 {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 0 -44.6vw; } }

/* ==========================================================================
* footer
 ==========================================================================*/
#footer {
  padding: 30px 0;
  background-color: #fff;
  text-align: center; }
  @media (max-width: 1000px) {
    #footer {
      padding: 3vw 0; } }
  #footer .wanin, #footer .yoecard, #footer .level {
    display: inline-block;
    vertical-align: text-bottom; }
  #footer .wanin {
    width: 358px;
    height: 120px;
    background: url("../_img/wanin.png") center no-repeat;
    background-size: contain; }
    @media (max-width: 1000px) {
      #footer .wanin {
        width: 35.8vw;
        height: 12vw; } }
  #footer .yoecard {
    width: 212px;
    height: 107px;
    margin: 0 20px;
    background: url("../_img/yoecard.png") center no-repeat;
    background-size: contain; }
    @media (max-width: 1000px) {
      #footer .yoecard {
        width: 21.2vw;
        height: 10.7vw;
        margin: 0 2vw; } }
  #footer .level {
    width: 81px;
    margin-bottom: 5px;
    margin-left: 10px; }
    @media (max-width: 1000px) {
      #footer .level {
        width: 8.1vw;
        margin-bottom: 0.5vw;
        margin-left: 1vw; } }
    #footer .level img {
      display: block;
      width: 100%; }
