/* ===== base ===== */

body, html {
    font-family: "PingFang TC", "Microsoft JhengHei", Arial, Helvetica, sans-serif;
    font-size: 12px;
    min-height: 100%;
}

a {
    text-decoration: none;
    color: inherit;
}

* {
    -webkit-tap-highlight-color: rgba(0,0,0,0) !important;
}

.hide-text {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-indent: 200%;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    margin: 0;
}

.outer {
    display: block;
    width: 100%;
    overflow: hidden;
    min-width: 960px;
    padding-bottom: 290px;
    position: relative;
}

.inner {
    overflow: hidden;
    max-width: 1120px;
    margin: 0 auto;
    width: 100%;
    position: relative;
    z-index: 1;
}

/* ===== header ===== */

.header {
    display: block;
    width: 100%;
    height: 243px;
    overflow: hidden;
    position: relative;
    background-color: #cbebf7;
    background-image: url(../images/head-bg.png);
    background-repeat: repeat-x;
    background-size: auto 100%;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.header * {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.header:before {
    content: "";
    display: block;
    width: 1316px;
    height: 164px;
    background-image: url(../images/head-obj.png);
    background-size: 100% 100%;
    background-position: center center;
    position: absolute;
    z-index: 1;
    bottom: 34px;
    left: 50%;
    margin-left: -658px;
}

.header .header__title {
    background-image: url(../images/head-title.png);
    width: 298px;
    height: 71px;
    display: block;
    float: left;
    margin-top: 20px;
}

.header .inner {
    height: 100%;
}

.header .sun {
    display: block;
    position: absolute;
    z-index: 0;
    background-size: 100% 100%;
    top: 90px;
    left: 50%;
    margin-left: -195px;
    width: 53px;
    height: 51px;
    background-image: url(../images/sun.png);
}

.header .cloud {
    display: block;
    position: absolute;
    z-index: 0;
    background-size: 100% 100%;
    -webkit-animation: float 140s infinite linear;
    animation: float 140s infinite linear;
}

.header .cloud--a { background-image: url(../images/cloud-2.png); width: 60px; height: 45px; top: 50px;  left: 110%; -webkit-animation-delay: -138.6s; animation-delay: -138.6s; }
.header .cloud--b { background-image: url(../images/cloud-1.png); width: 63px; height: 34px; top: 106px; left: 110%; -webkit-animation-delay: -111.6s; animation-delay: -111.6s; }
.header .cloud--c { background-image: url(../images/cloud-1.png); width: 63px; height: 34px; top: 64px;  left: 110%; -webkit-animation-delay: -83.3s;  animation-delay: -83.3s;  }
.header .cloud--d { background-image: url(../images/cloud-2.png); width: 60px; height: 45px; top: 96px;  left: 110%; -webkit-animation-delay: -53.9s;  animation-delay: -53.9s;  }
.header .cloud--e { background-image: url(../images/cloud-1.png); width: 63px; height: 34px; top: 48px;  left: 110%; -webkit-animation-delay: -16.5s;  animation-delay: -16.5s;  }

@-webkit-keyframes float {
    0%  { left: 100%; }
    to  { left: -10%; }
}
@keyframes float {
    0%  { left: 100%; }
    to  { left: -10%; }
}

/* ===== footer ===== */

.footer {
    display: block;
    overflow: hidden;
    width: 100%;
    position: absolute;
    height: 288px;
    bottom: 0;
}

.footer:before {
    content: "";
    display: block;
    width: 1999px;
    height: 57px;
    background-image: url(../images/foot-bg.png);
    background-size: 100% 100%;
    background-position: center center;
    position: absolute;
    z-index: 0;
    bottom: 126px;
    left: 50%;
    margin-left: -943.5px;
}

.footer .footer__bg {
    display: block;
    width: 1555px;
    height: 164px;
    background-image: url(../images/foot-obj.png);
    background-size: 100% 100%;
    background-position: center center;
    position: absolute;
    z-index: 1;
    bottom: 124px;
    left: 50%;
    margin-left: -777.5px;
}

.footer .cloud {
    display: block;
    position: absolute;
    z-index: 0;
    background-size: 100% 100%;
    -webkit-animation: float 140s infinite linear;
    animation: float 140s infinite linear;
}

.footer .cloud--a { background-image: url(../images/cloud-2b.png); width: 60px; height: 45px; top: 15px; left: 110%; -webkit-animation-delay: -138.5s; animation-delay: -138.5s; }
.footer .cloud--b { background-image: url(../images/cloud-1b.png); width: 63px; height: 34px; top: 41px; left: 110%; -webkit-animation-delay: -103.8s; animation-delay: -103.8s; }
.footer .cloud--c { background-image: url(../images/cloud-1b.png); width: 63px; height: 34px; top: 14px; left: 110%; -webkit-animation-delay: -56s;     animation-delay: -56s;     }
.footer .cloud--d { background-image: url(../images/cloud-2b.png); width: 60px; height: 45px; top: 62px; left: 110%; -webkit-animation-delay: -34.4s;   animation-delay: -34.4s;   }
.footer .cloud--e { background-image: url(../images/cloud-1b.png); width: 63px; height: 34px; top: 0;    left: 110%; -webkit-animation-delay: -18.3s;   animation-delay: -18.3s;   }

.footer__info {
    width: 100%;
    position: relative;
    z-index: 3;
    height: 126px;
    margin-top: 162px;
    background-color: #22B573;
}

.footer__info .inner {
    padding: 20px 0 0 0;
}

.footer__link {
    display: block;
    overflow: hidden;
    text-align: center;
}

.footer__link-list {
    display: block;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}

.footer__link-item {
    display: inline-block;
    font-size: 1.66666667em;
    color: white;
    line-height: 1.2em;
    margin-bottom: 5px;
    padding-left: 25px;
    position: relative;
}

.footer__link-item + .footer__link-item {
    margin-left: 25px;
    border-left: 1px solid white;
}

.footer__link-item:nth-child(3n+1) {
    border-left: none;
}

.footer__link-item--copy i {
    margin-right: 5px;
}

/* ===== content ===== */

.content {
    padding: 30px 0;
}

/* ===== 遷移提示區塊 ===== */

.migrated-box {
    margin: 20px auto;
    max-width: 560px;
    text-align: center;
    background: #fff;
    border: 2px solid #22B573;
    border-radius: 12px;
    padding: 30px 32px 28px;
    box-shadow: 0 4px 24px rgba(0, 78, 41, 0.10);
}

.migrated-icon {
    font-size: 64px;
    color: #22B573;
    margin-bottom: 18px;
    line-height: 1;
}

.migrated-title {
    font-size: 2.4em;
    font-weight: bold;
    color: #004E29;
    margin: 0 0 12px;
}

.migrated-desc {
    font-size: 1.5em;
    color: #444;
    line-height: 1.7;
    margin: 0 0 22px;
}

.migrated-desc strong {
    color: #004E29;
}

.migrated-btn {
    display: inline-block;
    background-color: #22B573;
    color: #fff;
    font-size: 1.8em;
    font-weight: bold;
    padding: 12px 36px;
    border-radius: 8px;
    transition: background-color 0.2s;
    margin-bottom: 24px;
}

.migrated-btn:hover {
    background-color: #004E29;
    color: #fff;
}

.migrated-url {
    font-size: 1.4em;
    color: #888;
    margin: 0;
    word-break: break-all;
}

.migrated-url a {
    color: #00A99D;
    text-decoration: underline;
}

.migrated-url a:hover {
    color: #004E29;
}

/* ===== RWD (max-width: 780px) ===== */

@media (max-width: 780px) {
    .outer {
        width: 100%;
        overflow-x: hidden;
        min-width: 320px;
        padding-bottom: 0;
    }

    .inner {
        display: block;
        overflow: visible;
        margin: 0;
        width: auto;
        position: relative;
        z-index: 1;
    }

    .header {
        display: block;
        width: 100%;
        height: 100%;
        overflow: visible;
        position: relative;
        background-image: unset;
        background-color: rgba(169, 221, 243, 0.6);
        z-index: 999;
    }

    .header:before {
        display: none;
    }

    .header .header__title {
        width: 42.5vw;
        height: 60px;
        float: none;
        position: relative;
        top: 0; left: 0; bottom: 0; right: 0;
        margin: auto;
    }

    .header .inner {
        height: 100%;
    }

    .header .sun,
    .header .cloud {
        display: none;
    }

    .content {
        padding: 4.6875vw 0;
    }

    .footer {
        display: block;
        overflow: hidden;
        width: 100%;
        height: auto;
        position: relative;
        padding-top: 18.75vw;
    }

    .footer:before {
        display: none;
    }

    .footer .footer__bg {
        display: block;
        width: 100vw;
        height: 10.54662379vw;
        background-image: url(../images/foot-obj.png);
        background-size: 112% auto;
        background-position: 80% bottom;
        position: absolute;
        z-index: 1;
        bottom: auto;
        top: 18.90625vw;
        margin-top: -10.54662379vw;
        left: 0;
        margin-left: 0;
    }

    .footer .cloud {
        display: block;
        position: absolute;
        z-index: 0;
        background-size: 100% 100%;
        animation: float 140s infinite linear;
    }

    .footer .cloud--a { width: 7.8125vw;  height: 5.859375vw;    top: 0vw;      left: 110%; animation-delay: -89.25s;    }
    .footer .cloud--b { width: 8.203125vw; height: 4.42708333vw;  top: 1.875vw;  left: 110%; animation-delay: -129.9375s; }
    .footer .cloud--c { width: 8.203125vw; height: 4.42708333vw;  top: 4.0625vw; left: 110%; animation-delay: -56.4375s;  }
    .footer .cloud--d { display: none; }
    .footer .cloud--e { background-image: url(../images/cloud-1b.png); width: 8.203125vw; height: 4.42708333vw; top: 0vw; left: 110%; animation-delay: -13.5625s; }

    .footer__info {
        width: 100%;
        position: relative;
        z-index: 3;
        height: auto;
        margin-top: 0;
        overflow: hidden;
    }

    .footer__info .inner {
        padding: 0;
    }

    .footer__link {
        display: block;
        float: none;
        width: 100%;
        overflow: hidden;
    }

    .footer__link-list {
        display: block;
        padding: 0;
        margin: 0;
        list-style: none;
        text-align: center;
        margin-bottom: 3.125vw;
    }

    .footer__link-item {
        display: inline-block;
        font-size: 3.75vw;
        line-height: 4.0625vw;
        margin-bottom: 2.34375vw;
        padding: 0 3.125vw;
        position: relative;
    }

    .footer__link-item + .footer__link-item {
        margin-left: 0;
        border-left: 1px solid white;
    }

    .footer__link-item:nth-child(3n+1) {
        border-left: none;
    }

    .footer__link-item--copy i {
        margin-right: .5em;
    }

    .migrated-box {
        margin: 6.25vw auto;
        padding: 6.25vw 5vw;
    }

    .migrated-title {
        font-size: 5.5vw;
    }

    .migrated-desc {
        font-size: 3.75vw;
    }

    .migrated-btn {
        font-size: 4.5vw;
        padding: 3vw 8vw;
    }

    .migrated-url {
        font-size: 3.25vw;
    }
}
