﻿@font-face {
    font-family: soupofjustice;
    src: url(../../font/soupofjustice.ttf);
}

@font-face {
    font-family: ChangaOne;
    src: url(../../font/ChangaOne-Regular.ttf);
}

* {
    text-decoration: none;
    list-style: none;
    outline: none;
    margin: 0;
    padding: 0;
}

/* scrollbar */
::-webkit-scrollbar {
    width: 0px;
}

.autoPage {
    width: 100%;
    height: 100%;
}

html,
body,
.main {
    font-family: ChangaOne;
    position: relative;
    height: 100%;
    background-color: #1d2528;
    color: #FFF;
    padding-bottom: env(safe-area-inset-bottom);
}

a {
    width: 100%;
    height: 100%;
    color: #364f4f;
    cursor: pointer;
}

a:active img,
button:active img {
    transform: scale(.95)translateY(3px);
}

button {
    background: none;
    border: 0;
}

.swiper-container {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.swiper-container .swiper-wrapper .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.swiper-container .swiper-wrapper .header,
.swiper-container .swiper-wrapper .footer {
    height: 240px;
}

section {
    background-size: cover !important;
}

.home {
    background: url(../../images/homepage/section1/bg.jpg) no-repeat center top;
}

.news {
    background: url(../../images/homepage/section2/bg.jpg) no-repeat center top;
}

.story {
    background: url(../../images/homepage/section3/bg.jpg) no-repeat center top;
}

.features {
    background: url(../../images/homepage/section4/bg.jpg) no-repeat center top;
}

.video {
    background: url(../../images/homepage/section5/bg.jpg) no-repeat center top;
}

/* HOME */
.main_wrap {
    width: 40%;
    max-width: 480px;
    bottom: 2%;
    padding-bottom: env(safe-area-inset-bottom);
    position: absolute;
}

.logo {
    width: 100%;
    opacity: 0;
}

.download {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.link {
    width: 150px;
    text-align: center;
    display: flex;
    position: absolute;
    flex-direction: row;
    align-items: center;
    justify-content: space-evenly;
    top: 20px;
    right: 20px;
    opacity: 0;
}

.language {
    display: none;
}

.select_language {
    font-family: ChangaOne;
    width: 120px;
    font-size: 18px;
    padding: 15px;
    line-height: 2;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 10px;
    border: 2px solid #859a95;
    position: absolute;
    text-align: center;
    top: 70px;
    right: 115px;
    flex-direction: column;
    align-items: center;
    display: none;
}

.select_language.on {
    display: flex;
}

#zh {
    font-size: 16px;
    font-weight: bold;
}

.select_language a:hover {
    border-radius: 8px;
    background: rgb(182 211 199);
}

/* NEWS */
.news_wrap {
    font-family: ChangaOne;
    max-width: 840px;
    height: 700px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    margin-left: 300px;
}

.download,
.title,
.pagination {
    opacity: 0;
}

.news_container {
    width: 100%;
    min-height: 520px;
    margin-top: 20px;
    opacity: 0;
}

.news_list {
    font-size: 22px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid #53769a;
    padding: 10px 0;
    cursor: pointer;
}

.news_list:hover {
    background: linear-gradient(90deg, rgba(31, 58, 107, 0) 0%, rgba(31, 58, 107, 0.7987570028011204) 20%, rgba(31, 58, 107, 0.7987570028011204) 80%, rgba(31, 58, 107, 0) 100%);
}

.news_title {
    width: 600px;
    margin-left: 5px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
}

.news_title p {
    margin-right: 5px;
    max-width: 500px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.news_list.top .news_title::after {
    content: "";
    width: 50px;
    height: 40px;
    background: url(../../images/homepage/section2/top.png) no-repeat;
}

.news_list.new .news_title::after {
    content: "";
    width: 50px;
    height: 40px;
    background: url(../../images/homepage/section2/new.png) no-repeat;
}

/*頁碼*/
.pagination {

    text-align: center;
    list-style: none;
    margin-top: 20px;
    /* margin-right: 45px; */
    font-size: 16px;
    font-weight: 500;
    font-style: normal;
}

.news .pagination {
    margin-top: 20px;
}

.pagination li {
    display: inline;
    margin: 0 3px;
}

.pagination li a {
    color: #FFF;
}

.pagination .page-link {
    font-size: 20px;
    margin: 0px 6px;
}

.pagination .page-item,
.pagination .page-goto {
    font-size: 15px;
    text-decoration: none;
    cursor: pointer;
}

.pagination .page-item.active,
.pagination .page-goto.active {
    color: #4abfe2;
}

.pagination .page-item.active .page-link,
.pagination .page-goto.active .page-link {
    color: #4abfe2;
}

/* STORY */
.panel {
    width: 1002px;
    height: 601px;
    display: flex;
    background: url(../../images/homepage/section3/panel.png) no-repeat;
    flex-direction: row;
    align-items: center;
    justify-content: space-evenly;
    flex-wrap: wrap;
    opacity: 0;
}

.equip {
    width: 370px;
    transform-origin: 50% 50%;
}

.equip img {
    transition: 0.3s ease-in-out;
    cursor: pointer;
}

.equip:hover img {
    transform: scale(1.05);
}

.equip:nth-child(odd) {
    text-align: left;
}

.equip:nth-child(even) {
    text-align: right;
}

.equip:nth-child(n+3) {
    margin-bottom: -20px;
}

.text {
    font-family: soupofjustice;
    color: #fdebac;
    text-align: center;
    font-size: 22px;
    line-height: 1.4;
    margin-top: 10px;
    text-shadow: 2px 2px 0px #000;
    opacity: 0;
}

/* FEATURES */
.features_wrap {
    width: 90%;
    max-width: 1130px;
    display: flex;
    /* background: url(../../images/homepage/section4/img_bg.png) no-repeat; */
    position: relative;
    justify-content: center;
    align-items: center;
    opacity: 0;
}

.features_container {
    width: 100%;
    position: absolute;
    overflow: hidden;
}

.features_wrap_m {
    display: none;
}

.feature_bottom {
    width: 1280px;
    display: flex;
    position: absolute;
    z-index: 1;
    justify-content: space-between;
}

.feature_pagination {
    display: flex;
    justify-content: center;
    bottom: -10px !important;
    position: absolute;
    z-index: 2;
}

.features .swiper-pagination-bullet {
    width: 22px;
    height: 22px;
    background: #FFF;
    border: 4px solid #000;
    opacity: 1;
}

.features .swiper-pagination-bullet-active {
    background: #fed042;
}

/* VIDEO */
.video_wrap {
    width: 100%;
    max-width: 910px;
    display: flex;
    position: relative;
    justify-content: center;
    align-items: center;
    margin-bottom: 180px;
    opacity: 0;
}

.btn_play {
    width: 20%;
    max-width: 120px;
    z-index: 1;
    position: absolute;
}

.char {
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: 0;
    pointer-events: none;
    opacity: 0;
}

.char01 {
    width: 60%;
    max-width: 920px;
    left: 0;
    bottom: -50px;
    position: absolute;
}

.char02 {
    width: 39%;
    max-width: 599px;
    right: 0;
    bottom: -100px;
    position: absolute;
}

.ladybug {
    top: 260px;
    left: 320px;
    position: absolute;
}

/* FOOTER */
.footer_wrap {
    font-family: arial;
    font-size: 13px;
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
    display: flex;
    position: relative;
    flex-direction: row;
    justify-content: space-between;
    opacity: .7;
}

.company {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

.logos {
    width: 330px;
    display: flex;
    justify-content: space-between;
}

.footer_link {
    margin: 10px 0;
}

.company a {
    color: #FFF;
}

.copyright a:hover {
    color: #8ed5ff;
    text-decoration: underline;
}

.company a:first-child {
    border-right: 1px solid #CCC;
    padding-right: 10px;
}

.company a:last-child {
    margin-left: 10px;
}

.grade {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.grade_text li {
    list-style-type: disc;
    margin-left: 25px;
    padding-left: 0;
    line-height: 1.5;
}

/* 跳窗 */
.disableScroll {
    overflow: hidden;
}

.mask {
    width: 100%;
    height: 100%;
    background: rgb(0 0 0 / 60%);
    backdrop-filter: blur(6px);
    top: 0;
    left: 0;
    z-index: 99;
    position: fixed;
    display: none;
}

.popup-overlay {
    background: rgba(0, 0, 0, .7);
    backdrop-filter: blur(6px);
}

.popup-close {
    cursor: pointer;
}

.pop {
    width: 1000px;
    /* height: 600px; */
    position: fixed;
    top: 43%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 99;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.close {
    top: 10px;
    right: 10px;
    position: fixed;
    cursor: pointer;
    z-index: 9;
}

#popNews {
    width: 1300px;
    height: 710px;
    top: 50%;
    background: url(../../images/homepage/section2/pop_bg.png) no-repeat;
}

.news_bottom {
    width: 320px;
    display: flex;
    flex-direction: row;
    text-align: center;
    justify-content: space-around;
}

#popWeapon,
#popCostume,
#popSkill,
#popPet {
    width: 100%;
    max-width: 1000px;
    background: url(../../images/homepage/section3/pop_bg.png) no-repeat;
}

.popNews_wrap {
    display: flex;
    width: 90%;
    max-width: 820px;
    line-height: 1.5;
    position: relative;
    margin-top: 80px;
    flex-direction: column;
    align-items: center;
}

#popNews .close {
    right: -60px;
    top: -55px;
    position: absolute;
}

.popNews_title {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    padding-bottom: 5px;
    border-bottom: 2px solid #3a4e63;
}

.popNews_title h2 {
    font-weight: normal;
    width: 590px;
}

.popNews_title p {
    font-size: 20px;
}

.popContent {
    font-family: arial;
    height: 520px;
    overflow: auto;
}

.popContent::-webkit-scrollbar {
    width: 5px;
}

.popContent p {
    font-size: 17px;
    margin: 15px 0;
    color: #d3e2ff;
}

.weapon_container,
.costume_container,
.skill_container,
.pet_container {
    width: 820px;
    /* height: 500px; */
    margin-top: 0;
    overflow: hidden;
}

.info {
    width: 100%;
    /* height: 390px; */
    /* padding: 20px 40px; */
    overflow: hidden;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    position: relative;

}

.info_m {
    display: none;
}

.profile {
    position: absolute;
    bottom: 30px;
}

.intro {
    margin-left: 310px;
    width: 450px;
    height: 270px;
    top: 120px;
    position: absolute;
}

#popSkill .intro {
    height: auto;
    top: 100px;
}

.intro h2 {
    font-family: 'soupofjustice';
    font-size: 58px;
    font-weight: normal;
    padding-left: 30px;
    color: #96ffd4;
    text-shadow: 6px 6px 0px black;
}

.intro p {
    font-size: 22px;
    padding-left: 30px;
    line-height: 1.3;
    letter-spacing: 1px;
}

.intro span {
    display: block;
    margin-top: 40px;
    color: #96ffd4;
}

#popPet .intro {
    top: 110px;
}

#popPet .intro span {
    font-size: 18px;
    margin-top: 20px;
    padding-left: 24px;
    line-height: 1.1;
}

.star {
    height: 24px;
    left: 30px;
    margin-top: -2px;
    position: absolute;
}

.line {
    width: 450px;
    height: 30px;
    background: url(../../images/homepage/section3/line.png) no-repeat;
}

.tab_btn {
    width: 95%;
    height: 60px;
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    top: 0;
    bottom: 0;
    margin: auto;
    position: absolute;
    z-index: 9;
}

.thumbs {
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.thumbs .swiper-pagination-bullet {
    width: 190px;
    height: 190px;
    opacity: 1;
}

#popWeapon .thumbs .swiper-pagination-bullet:nth-child(1) {
    background: url(../../images/homepage/section3/tab_weapon01.png) no-repeat;
}

#popWeapon .thumbs .swiper-pagination-bullet:nth-child(2) {
    background: url(../../images/homepage/section3/tab_weapon02.png) no-repeat;
}

#popWeapon .thumbs .swiper-pagination-bullet:nth-child(3) {
    background: url(../../images/homepage/section3/tab_weapon03.png) no-repeat;
}

#popCostume .thumbs .swiper-pagination-bullet:nth-child(1) {
    background: url(../../images/homepage/section3/tab_costume01.png) no-repeat;
}

#popCostume .thumbs .swiper-pagination-bullet:nth-child(2) {
    background: url(../../images/homepage/section3/tab_costume02.png) no-repeat;
}

#popCostume .thumbs .swiper-pagination-bullet:nth-child(3) {
    background: url(../../images/homepage/section3/tab_costume03.png) no-repeat;
}

#popSkill .thumbs .swiper-pagination-bullet:nth-child(1) {
    background: url(../../images/homepage/section3/tab_skill01.png) no-repeat;
}

#popSkill .thumbs .swiper-pagination-bullet:nth-child(2) {
    background: url(../../images/homepage/section3/tab_skill02.png) no-repeat;
}

#popSkill .thumbs .swiper-pagination-bullet:nth-child(3) {
    background: url(../../images/homepage/section3/tab_skill03.png) no-repeat;
}

#popPet .thumbs .swiper-pagination-bullet:nth-child(1) {
    background: url(../../images/homepage/section3/tab_pet01.png) no-repeat;
}

#popPet .thumbs .swiper-pagination-bullet:nth-child(2) {
    background: url(../../images/homepage/section3/tab_pet02.png) no-repeat;
}

#popPet .thumbs .swiper-pagination-bullet:nth-child(3) {
    background: url(../../images/homepage/section3/tab_pet03.png) no-repeat;
}

.thumbs .swiper-pagination-bullet-active:after {
    content: "";
    width: 190px;
    height: 190px;
    background: url(../../images/homepage/section3/tab_hover.png) no-repeat;
    position: absolute;
    z-index: -1;
}


/* Animation */
.home.swiper-slide-active .logo {
    animation: bounceIn 1s ease-in-out;
    animation-fill-mode: forwards;
    animation-delay: 0.5s;
}

.home.swiper-slide-active .download {
    animation: bounceInLeft 1s ease-in-out;
    animation-fill-mode: forwards;
    animation-delay: 0.5s;
}

.home.swiper-slide-active .link {
    animation: fadeInDown .8s ease-in-out;
    animation-fill-mode: forwards;
    animation-delay: .8s;
}

.news.swiper-slide-active .title {
    animation: fadeInLeft .5s ease-in-out;
    animation-fill-mode: forwards;
    animation-delay: 0.5s;
}

.news.swiper-slide-active .news_container,
.news.swiper-slide-active .pagination {
    animation: fadeInRight .5s ease-in-out;
    animation-fill-mode: forwards;
    animation-delay: 0.5s;
}

.story.swiper-slide-active .title {
    animation: fadeInUp .8s ease-in-out;
    animation-fill-mode: forwards;
    animation-delay: 0.5s;
}

.story.swiper-slide-active .panel,
.story.swiper-slide-active .text {
    animation: fadeInDown .8s ease-in-out;
    animation-fill-mode: forwards;
    animation-delay: 0.5s;
}

.features.swiper-slide-active .title,
.features.swiper-slide-active .features_wrap,
.features.swiper-slide-active .features_wrap_m {
    animation: fadeInUp .8s ease-in-out;
    animation-fill-mode: forwards;
    animation-delay: 0.5s;
}

.video.swiper-slide-active .title,
.video.swiper-slide-active .video_wrap {
    animation: fadeInUp .8s ease-in-out;
    animation-fill-mode: forwards;
    animation-delay: 0.5s;
}

.video.swiper-slide-active .char {
    animation: fadeIn 1s ease-in-out;
    animation-fill-mode: forwards;
    animation-delay: 0.5s;
}








/****Animate****/
@keyframes bounceIn {

    0%,
    20%,
    40%,
    60%,
    80%,
    to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }

    0% {
        opacity: 0;
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3)
    }

    20% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1)
    }

    40% {
        -webkit-transform: scale3d(.9, .9, .9);
        transform: scale3d(.9, .9, .9)
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(1.03, 1.03, 1.03);
        transform: scale3d(1.03, 1.03, 1.03)
    }

    80% {
        -webkit-transform: scale3d(.97, .97, .97);
        transform: scale3d(.97, .97, .97)
    }

    to {
        opacity: 1;
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
}

@keyframes bounceInLeft {

    0%,
    60%,
    75%,
    90%,
    to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }

    0% {
        opacity: 0;
        -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
        transform: translate3d(-3000px, 0, 0) scaleX(3)
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
        transform: translate3d(25px, 0, 0) scaleX(1)
    }

    75% {
        -webkit-transform: translate3d(-10px, 0, 0) scaleX(.98);
        transform: translate3d(-10px, 0, 0) scaleX(.98)
    }

    90% {
        -webkit-transform: translate3d(5px, 0, 0) scaleX(.995);
        transform: translate3d(5px, 0, 0) scaleX(.995)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes bounceInDown {

    0%,
    60%,
    75%,
    90%,
    to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }

    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
        transform: translate3d(0, -3000px, 0) scaleY(3)
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(0, 25px, 0) scaleY(.9);
        transform: translate3d(0, 25px, 0) scaleY(.9)
    }

    75% {
        -webkit-transform: translate3d(0, -10px, 0) scaleY(.95);
        transform: translate3d(0, -10px, 0) scaleY(.95)
    }

    90% {
        -webkit-transform: translate3d(0, 5px, 0) scaleY(.985);
        transform: translate3d(0, 5px, 0) scaleY(.985)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes fadeInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-20px, 0, 0);
        transform: translate3d(-20px, 0, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInRight {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(20px, 0, 0);
        transform: translate3d(20px, 0, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInDown {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}