/* Import CSS */
@import url("https://fonts.googleapis.com/css2?family=Host+Grotesk:ital,wght@0,300..800;1,300..800&family=Noto+Sans+TC:wght@100..900&display=swap");
@import url("https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css");
@import url("https://use.fontawesome.com/releases/v5.5.0/css/all.css");


/*------------------------------*/

html {
  overflow: -moz-scrollbars-vertical;
  overflow-y: scroll;
  scroll-behavior: smooth;
}

body {
  background-color: #e2ded7;
  font-family: "Host Grotesk", "Noto Sans TC", sans-serif;
  font-weight: 500;
  font-size: 18px;
  color: #333333;
  line-height: 1.375;
  letter-spacing: 1px;
}

body::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: url(../images/bg.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  z-index: -9;
}

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

.center {
  text-align: center;
}


.widthX {
  width: 80%;
}

@media (max-width:1366px) {
  .widthX {
    width: 100%;
  }
}

.bgColor3 {
  position: relative;
  background: linear-gradient(162deg, #ffffff66 40%, #221e1f66 100%);
  background-repeat: no-repeat;
  background-size: 100%;
  background-attachment: local;
  background-position: center bottom;
  border: 2px solid #e2ded7;
  border-radius: .5rem;
  box-shadow: 10px 10px 0 #cac7bc66;
}

@media (min-width:992px) {
  .maxSee {
    display: none;
  }
}

@media (max-width:991px) {
  .minSee {
    display: none;
  }
}

.gameTitle {
  text-shadow: 0 -1px 0 #00aaff, -1px 0 0 #00aaff, -1px -1px 0 #00aaff, 0 1px 0 #ec1b23, 1px 0 0 #ec1b23, 1px 1px 0 #ec1b23;
  paint-order: stroke fill;
  -webkit-text-fill-color: #ffffff;
}

.gameTitle1 {
  font-size: 2.5vw;
  line-height: 1.5;
  -webkit-text-stroke: 10px #221e1f;
  letter-spacing: 5px;
}

.gameTitle2 {
  display: block;
  font-size: 1.9vw;
  -webkit-text-stroke: 6px #221e1f;
}

@media (max-width:1200px) {
  .gameTitle1 {
    font-size: 4.5vw;
  }

  .gameTitle2 {
    font-size: 3.3vw;
  }
}

@media (max-width:768px) {
  .gameTitle1 {
    font-size: 6.5vw;
  }

  .gameTitle2 {
    font-size: 5vw;
  }
}

@media (max-width:430px) {

  .gameTitle1,
  .gameTitle2 {
    display: block;
    text-align: center;
    -webkit-text-stroke: 7px #221e1f;
  }

  .gameTitle1 {
    font-size: 6.3vw;
  }

  .gameTitle2 {
    font-size: 6vw;
  }
}

.gameBox {
  text-align: center;
  border-radius: 0.5rem;
  border: 2px solid #e2ded7;
  box-shadow: 10px 10px 0 #cac7bc66;
  padding: 20px;
  margin-bottom: 20px;
  background-color: #ffffff99;
}

.gameBox img {
  width: 80%;
  margin-bottom: 20px;
}

.gameBox p {
  padding: 0;
  margin: 0;
}

/*------------------------------*/

.contbg {
  background-color: #ffffffd3;
  background-image: url(../images/slogan3.svg), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2000 1500'%3E%3Cdefs%3E%3Crect stroke='%23FFFFFF' stroke-width='0.4' width='1' height='1' id='s'/%3E%3Cpattern id='a' width='3' height='3' patternUnits='userSpaceOnUse' patternTransform='scale(13.55) translate(-926.2 -694.65)'%3E%3Cuse fill='%23fcfcfc' href='%23s' y='2'/%3E%3Cuse fill='%23fcfcfc' href='%23s' x='1' y='2'/%3E%3Cuse fill='%23fafafa' href='%23s' x='2' y='2'/%3E%3Cuse fill='%23fafafa' href='%23s'/%3E%3Cuse fill='%23f7f7f7' href='%23s' x='2'/%3E%3Cuse fill='%23f7f7f7' href='%23s' x='1' y='1'/%3E%3C/pattern%3E%3Cpattern id='b' width='7' height='11' patternUnits='userSpaceOnUse' patternTransform='scale(13.55) translate(-926.2 -694.65)'%3E%3Cg fill='%23f5f5f5'%3E%3Cuse href='%23s'/%3E%3Cuse href='%23s' y='5' /%3E%3Cuse href='%23s' x='1' y='10'/%3E%3Cuse href='%23s' x='2' y='1'/%3E%3Cuse href='%23s' x='2' y='4'/%3E%3Cuse href='%23s' x='3' y='8'/%3E%3Cuse href='%23s' x='4' y='3'/%3E%3Cuse href='%23s' x='4' y='7'/%3E%3Cuse href='%23s' x='5' y='2'/%3E%3Cuse href='%23s' x='5' y='6'/%3E%3Cuse href='%23s' x='6' y='9'/%3E%3C/g%3E%3C/pattern%3E%3Cpattern id='h' width='5' height='13' patternUnits='userSpaceOnUse' patternTransform='scale(13.55) translate(-926.2 -694.65)'%3E%3Cg fill='%23f5f5f5'%3E%3Cuse href='%23s' y='5'/%3E%3Cuse href='%23s' y='8'/%3E%3Cuse href='%23s' x='1' y='1'/%3E%3Cuse href='%23s' x='1' y='9'/%3E%3Cuse href='%23s' x='1' y='12'/%3E%3Cuse href='%23s' x='2'/%3E%3Cuse href='%23s' x='2' y='4'/%3E%3Cuse href='%23s' x='3' y='2'/%3E%3Cuse href='%23s' x='3' y='6'/%3E%3Cuse href='%23s' x='3' y='11'/%3E%3Cuse href='%23s' x='4' y='3'/%3E%3Cuse href='%23s' x='4' y='7'/%3E%3Cuse href='%23s' x='4' y='10'/%3E%3C/g%3E%3C/pattern%3E%3Cpattern id='c' width='17' height='13' patternUnits='userSpaceOnUse' patternTransform='scale(13.55) translate(-926.2 -694.65)'%3E%3Cg fill='%23f2f2f2'%3E%3Cuse href='%23s' y='11'/%3E%3Cuse href='%23s' x='2' y='9'/%3E%3Cuse href='%23s' x='5' y='12'/%3E%3Cuse href='%23s' x='9' y='4'/%3E%3Cuse href='%23s' x='12' y='1'/%3E%3Cuse href='%23s' x='16' y='6'/%3E%3C/g%3E%3C/pattern%3E%3Cpattern id='d' width='19' height='17' patternUnits='userSpaceOnUse' patternTransform='scale(13.55) translate(-926.2 -694.65)'%3E%3Cg fill='%23FFFFFF'%3E%3Cuse href='%23s' y='9'/%3E%3Cuse href='%23s' x='16' y='5'/%3E%3Cuse href='%23s' x='14' y='2'/%3E%3Cuse href='%23s' x='11' y='11'/%3E%3Cuse href='%23s' x='6' y='14'/%3E%3C/g%3E%3Cg fill='%23efefef'%3E%3Cuse href='%23s' x='3' y='13'/%3E%3Cuse href='%23s' x='9' y='7'/%3E%3Cuse href='%23s' x='13' y='10'/%3E%3Cuse href='%23s' x='15' y='4'/%3E%3Cuse href='%23s' x='18' y='1'/%3E%3C/g%3E%3C/pattern%3E%3Cpattern id='e' width='47' height='53' patternUnits='userSpaceOnUse' patternTransform='scale(13.55) translate(-926.2 -694.65)'%3E%3Cg fill='%23FFDCAD'%3E%3Cuse href='%23s' x='2' y='5'/%3E%3Cuse href='%23s' x='16' y='38'/%3E%3Cuse href='%23s' x='46' y='42'/%3E%3Cuse href='%23s' x='29' y='20'/%3E%3C/g%3E%3C/pattern%3E%3Cpattern id='f' width='59' height='71' patternUnits='userSpaceOnUse' patternTransform='scale(13.55) translate(-926.2 -694.65)'%3E%3Cg fill='%23FFDCAD'%3E%3Cuse href='%23s' x='33' y='13'/%3E%3Cuse href='%23s' x='27' y='54'/%3E%3Cuse href='%23s' x='55' y='55'/%3E%3C/g%3E%3C/pattern%3E%3Cpattern id='g' width='139' height='97' patternUnits='userSpaceOnUse' patternTransform='scale(13.55) translate(-926.2 -694.65)'%3E%3Cg fill='%23FFDCAD'%3E%3Cuse href='%23s' x='11' y='8'/%3E%3Cuse href='%23s' x='51' y='13'/%3E%3Cuse href='%23s' x='17' y='73'/%3E%3Cuse href='%23s' x='99' y='57'/%3E%3C/g%3E%3C/pattern%3E%3C/defs%3E%3Crect fill='url(%23a)' width='100%25' height='100%25'/%3E%3Crect fill='url(%23b)' width='100%25' height='100%25'/%3E%3Crect fill='url(%23h)' width='100%25' height='100%25'/%3E%3Crect fill='url(%23c)' width='100%25' height='100%25'/%3E%3Crect fill='url(%23d)' width='100%25' height='100%25'/%3E%3Crect fill='url(%23e)' width='100%25' height='100%25'/%3E%3Crect fill='url(%23f)' width='100%25' height='100%25'/%3E%3Crect fill='url(%23g)' width='100%25' height='100%25'/%3E%3C/svg%3E");
  background-attachment: none, fixed;
  background-size: 370px auto, cover;
  background-repeat: no-repeat;
  background-position: right 15px bottom 15px, center center;
  box-shadow: 1px 1px 5px #221e1f11;
  border-radius: .5rem;
  margin-top: 10px;
  padding: 25px;
  font-size: 1.25rem;
}

@media (max-width:768px) {
  .contbg {
    font-size: 1.125rem;
  }
}

#elta {
  position: fixed;
  z-index: 99;
  right: 10px;
  top: 10px;
}

#elta img {
  width: 120px;
}

.champions_vip {
  z-index: -2;
  position: fixed;
  left: 1.3vw;
  bottom: 1.3vw;
}

.champions_vip>img {
  width: 100px;
}


.box {
  display: inline-block;
}

@media (max-width:430px) {
  img.slogan2 {
    width: 200vw;
  }
}

@media (max-width:768px) {
  img.slogan {
    width: 60vw;
  }
}

.step {
  background-size: auto 100px;
  background-repeat: no-repeat;
  background-position: left 20px top 10px;
  background-color: #ffffff;
  border: 2px solid #e2ded7;
  padding: 10px;
  padding-left: 100px;
  margin: 10px 0;
  border-radius: 10px;
  box-shadow: 10px 10px 0 #cac7bc66;
}

.step1 {
  background-image: url(../images/1.svg);
}

.step2 {
  background-image: url(../images/2.svg);
}

.step3 {
  background-image: url(../images/3.svg);
}


/*-------------- 大標 ----------------*/

.conttit {
  position: relative;
  font-size: 1.5rem;
  color: #ffffff;
  text-align: center;
  line-height: 1.25;
  vertical-align: middle;
  padding: 9px 5px 5px;
  border-radius: 10px 10px 0 10px;
  background-color: #221e1f;
  border-top: 2px solid #00aaff;
  border-right: 2px solid #ec1b23;
  border-bottom: 2px solid #ec1b23;
  border-left: 2px solid #00aaff;
}

.conttit::before {
  content: "";
  position: absolute;
  background-image: url(../images/img5.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  width: 20px;
  height: 20px;
  right: -2px;
  bottom: -20px;
  border-right: 2px solid #ec1b23;
}

@media (max-width:1199px) {
  .conttit {
    margin-bottom: 25px;
    margin-top: -15px;
    margin-left: -15px;
    margin-right: -15px;
  }
}

.info {
  display: inline-block;
  font-size: 1rem;
  line-height: 1.3;
  vertical-align: middle;
  margin-bottom: 15px;
  padding: 1rem 10px 0 25px;
  color: red;
}

.info::before {
  content: "※";
  margin-left: -.9375rem;
  margin-right: .25rem;
}

@media (max-width:1199px) {
  .info {
    margin-left: -10px;
    margin-top: -18px;
  }
}

/*-------------- btn ----------------*/

.btn,
a.btn,
input.btn {
  cursor: pointer;
  text-decoration: none;
  cursor: pointer;
  transition: .15s ease;
  border-radius: 4px;
}

.btn-universal,
.btn-universal:hover {
  min-height: 50px;
  font-size: 1.25rem;
  color: #ffffff;
  text-align: center;
  line-height: 2;
  vertical-align: middle;
  padding: 5px 10px;
  border-radius: .5rem;
  width: 8.5rem;
}

.btn.red {
  background-color: #c71f3e;
  border: 2px solid #ffb9c2;
  font-weight: bold;
}

.btn.blue {
  background-color: #003b95;
  border: 2px solid #00aaff;
}

.btn.grey {
  background-color: #858585;
  border: 2px solid #b1b1b1;
}

/*-------------- go top ----------------*/

#gotop,
#gotop:hover {
  position: fixed;
  z-index: 90;
  right: 10px;
  bottom: 1vh;
  display: none;
  width: 50px;
  height: 50px;
  color: #bc0022;
  background: #ffffff;
  line-height: 2.875;
  border-radius: 50%;
  transition: all 0.5s;
  text-align: center;
  box-shadow: 0 2px 5px 0 #221e1f29, 0 2px 10px 0 #221e1f1f;
}

/*-------------- 活動資訊 ----------------*/

.contentBox {
  animation-name: easeIn;
  animation-duration: 1.25s;
  animation-timing-function: ease-in-out;
}

.contentBox .event {
  background-color: #e2ded7;
  border-left: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  margin-bottom: 20px;
  padding: 10px;
  border-radius: 10px;
  background-image: url(../images/bg2.svg);
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: auto 60%, 100%;
}

.contentBox .event1 {
  background-image: url(../images/icon5.png), url(../images/bg2.svg);
}

.contentBox .event2 {
  background-image: url(../images/icon6.png), url(../images/bg2.svg);
}

.contentBox .event3 {
  background-image: url(../images/icon7.png), url(../images/bg2.svg);
}

.contentBox .event4 {
  background-image: url(../images/icon8.png), url(../images/bg2.svg);
}

@media (max-width:768px) {
  .contentBox .event {
    width: calc(100% - 20px);
    margin-left: 10px;
  }
}

.contentBox .event p {
  font-size: 2vw;
}

@media (max-width:1200px) {
  .contentBox .event p {
    font-size: 2.5vw;
  }
}

@media (max-width:992px) {
  .contentBox .event p {
    font-size: 3.5vw;
  }
}

@media (max-width:768px) {
  .contentBox .event p {
    font-size: 4vw;
  }
}

@media (max-width:430px) {
  .contentBox .event p {
    font-size: 5.5vw;
  }
}

.contentBox .event .barBox {
  text-align: center;
  font-size: 1.5rem;
  color: #ffffff;
  background-color: #221e1f;
  margin: -10px -10px 10px -10px;
  padding: 10px;
  border-radius: 10px 10px 0 10px;
  border-top: 2px solid #00aaff;
  border-bottom: 2px solid #ec1b23;
  border-right: 2px solid #ec1b23;
  border-left: 2px solid #00aaff;
  line-height: 1.5;
  vertical-align: middle;
}

.contentBox .event .barBox.boxTitle {
  text-shadow: 0 -1px 0 #00aaff, -1px 0 0 #00aaff, -1px -1px 0 #00aaff, 0 1px 0 #ec1b23, 1px 0 0 #ec1b23, 1px 1px 0 #ec1b23;
  paint-order: stroke fill;
  -webkit-text-fill-color: #ffffff;
  letter-spacing: 5px;
  font-size: 2.25vw;
}

.contentBox .barBox .icon {
  width: 3vw;
  margin-top: -8px;
  margin-right: 10px;
}

@media (max-width:1200px) {
  .contentBox .event .barBox.boxTitle {
    font-size: 3.5vw;
  }

  .contentBox .barBox .icon {
    width: 4.5vw;
    margin-top: -8px;
    margin-right: 10px;
  }
}

@media (max-width:992px) {
  .contentBox .event .barBox.boxTitle {
    font-size: 3.5vw;
  }

  .contentBox .barBox .icon {
    width: 5vw;
    margin-top: -8px;
    margin-right: 10px;
  }
}

@media (max-width:768px) {
  .contentBox .event .barBox.boxTitle {
    font-size: 5vw;
  }

  .contentBox .barBox .icon {
    width: 7vw;
    margin-top: -8px;
    margin-right: 10px;
  }
}

@media (max-width:430px) {
  .contentBox .event .barBox.boxTitle {
    font-size: 6.5vw;
  }

  .contentBox .barBox .icon {
    width: 10vw;
    margin-top: -8px;
    margin-right: 10px;
  }
}

/*-------------- popup ----------------*/

.popup-wrap {
  z-index: 9999;
  width: 100%;
  height: 100%;
  display: none;
  position: fixed;
  top: 0px;
  left: 0px;
  background: #221e1fcc;
  padding: 0;
}

.popup-box {
  width: 100%;
  max-width: 380px;
  transform: translate(-50%, -50%);
  position: absolute;
  top: 50%;
  left: 50%;
  box-shadow: 0px 2px 16px #221e1f80;
  background: #ffffff;
  text-align: center;
  border-radius: 1rem;
  border-top: 2px solid #00aaff;
  border-left: 2px solid #00aaff;
  border-right: 2px solid #bc0022;
  border-bottom: 2px solid #bc0022;
}

.popup-box h3 {
  color: #ffffff;
  background-color: #221e1f;
  border-radius: .875rem .875rem 0 0;
  margin: 0;
  padding: 10px;
  display: block;
}

.popup-box p {
  text-align: left;
  font-size: 1.125rem;
  padding: 15px;
}

/*-------------- swiper ----------------*/


.autoplay-progress {
  position: absolute;
  right: 16px;
  bottom: 16px;
  z-index: 10;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  color: var(--swiper-theme-color);
}

.autoplay-progress svg {
  --progress: 0;
  position: absolute;
  left: 0;
  top: 0px;
  z-index: 10;
  width: 100%;
  height: 100%;
  stroke-width: 4px;
  stroke: var(--swiper-theme-color);
  fill: none;
  stroke-dashoffset: calc(125.6px * (1 - var(--progress)));
  stroke-dasharray: 125.6;
  transform: rotate(-90deg);
}

.swiper-button-next::after,
.swiper-button-prev::after {
  color: #ffffff;
}

@media (max-width:768px) {

  .swiper-button-next::after,
  .swiper-button-prev::after {
    font-size: 1.5rem !important;
  }

  .swiper-button-next {
    right: -5px !important;
  }

  .swiper-button-prev {
    left: -5px !important;
  }
}

.swiper-pagination-bullet,
.swiper-pagination-bullet-active {
  background: #ffffff !important;
}