/* ===== 字型 ====== */
@import url('https://cdn.jsdelivr.net/gh/vp-tw/taipei-sans-tc@main/packages/core/dist/Regular/TaipeiSansTCBeta-Regular.css');
@import url('https://cdn.jsdelivr.net/gh/vp-tw/taipei-sans-tc@main/packages/core/dist/Bold/TaipeiSansTCBeta-Bold.css');

:root {
    --dw: 1280;
    --dw-cap: min(100vw, calc(var(--dw) * 1px));

    --font-fallback: "Taipei Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
}

body,
p,
span,
a {
    font-family: "Taipei Sans TC", var(--font-fallback);
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 2.05;
    letter-spacing: 0;
}

p {
    overflow-wrap: break-word;
    text-wrap: pretty;
}

strong {
    font-weight: 700;
}

@media (max-width: 743px) {

    body,
    p,
    span,
    a {
        font-size: 12px;
    }
}

@media (min-width: 744px) and (max-width: 1024px) {

    body,
    p,
    span,
    a {
        font-size: 12px;
    }
}

/* ===== 基本動畫 ===== */

* {
    transition: all 0.3s ease;
}

.fade,
.fade-delay {
    display: block;
    opacity: 0;
    translate: 0 30px;
}

.fade.fade-in,
.fade-delay.fade-in {
    opacity: 1;
    translate: 0 0;
}

/* ===== 進站 Loading 遮罩 ===== */

.loading-screen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 243, 215, 1);
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
    transform: translateY(0);
    transition: transform 0.4s ease-out;
}

.loading-screen.slide-up {
    transform: translateY(-100%);
}

.loading-screen .loading-container {
    width: 300px;
}

@media (max-width: 743px) {
    .loading-screen .loading-container {
        width: 300px;
    }
}

@media (min-width: 744px) and (max-width: 1024px) {
    .loading-screen .loading-container {
        width: 300px;
    }
}

/* ===== 頁面錨點 ===== */
html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

#download {
    scroll-margin-top: 85px;
}

#wallpaper {
    scroll-margin-top: 200px;
    ;
}

@media (max-width: 743px) {
    #download {
        scroll-margin-top: 70px;
    }

    #wallpaper {
        scroll-margin-top: 110px;
    }
}

@media (min-width: 744px) and (max-width: 1024px) {
    #download {
        scroll-margin-top: 70px;
    }

    #wallpaper {
        scroll-margin-top: 110px;
    }
}

/* ===== 連結效果 ===== */

a {
    display: inline-block;
}

header li a:hover {
    scale: 1.1;
}

a:hover {
    transform: translateY(-2px);
}

a:has(div):hover {
    transform: unset;
}

/* ===== 其他全域 ====== */
img {
    width: 100%;
    height: auto;
}

.desktop {
    display: block;
}

@media (max-width: 743px) {
    .desktop {
        display: none;
    }
}

@media (min-width: 744px) and (max-width: 1024px) {
    .desktop {
        display: none;
    }
}

.mobile {
    display: none;
}

@media (max-width: 743px) {
    .mobile {
        display: block;
    }
}

@media (min-width: 744px) and (max-width: 1024px) {
    .mobile {
        display: block;
    }
}

.desktop-pad {
    display: inline;
}

.only-mobile {
    display: none;
}

span.nowrap {
    display: inline-flex;
}

@media (max-width: 743px) {
    .desktop-pad {
        display: none;
    }

    .only-mobile {
        display: inline-block;
    }
}

/* ===== 共用按鈕樣式 ====== */
.btns {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.btn-filled {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 2px solid transparent;
}

.btn-filled p {
    color: #fff;
    font-weight: 400;
    font-size: 18px;
    text-align: center;
    position: relative;
    line-height: 1.1;
}

.btn-filled.red {
    background-color: rgba(255, 60, 118, 1);
}

a .btn-filled.red:hover {
    background-color: #fff;
    border: 2px solid rgba(255, 60, 118, 1);
}

a .btn-filled.red:hover p {
    color: rgba(255, 60, 118, 1);
}

.btn-filled.green {
    background-color: rgba(25, 202, 122, 1);
}

a .btn-filled.green:hover {
    background-color: #fff;
    border: 2px solid rgba(25, 202, 122, 1);
}

a .btn-filled.green:hover p {
    color: rgba(25, 202, 122, 1);
}

.btn-filled.sky-blue {
    background-color: rgba(91, 195, 213, 1);
}

a .btn-filled.sky-blue:hover {
    background-color: #fff;
    border: 2px solid rgba(91, 195, 213, 1);
}

a .btn-filled.sky-blue:hover p {
    color: rgba(91, 195, 213, 1);
}

.btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 30.5px;
    border-width: 2px;
    border-style: solid;
    background-color: #fff;
}

.btn-outline p {
    font-weight: 400;
    font-size: 18px;
    text-align: center;
    position: relative;
    line-height: 1.1;
}

.btn-outline.green {
    border-color: rgba(25, 202, 122, 1);
}

.btn-outline.green p {
    color: rgba(25, 202, 122, 1);
}

a .btn-outline.green:hover {
    background-color: rgba(25, 202, 122, 1);
}

a .btn-outline.green:hover p {
    color: #fff;
}

.btn-outline.red {
    border-color: rgba(255, 60, 118, 1);
}

.btn-outline.red p {
    color: rgba(255, 60, 118, 1);
}

a .btn-outline.red:hover {
    background-color: rgba(255, 60, 118, 1);
}

a .btn-outline.red:hover p {
    color: #fff;
}

.btn-outline::before,
.btn-filled::before {
    content: "";
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.btn-outline.green-pdf::before,
.btn-outline.red-pdf::before {
    height: 20px;
    aspect-ratio: 30 / 38;
    object-fit: cover;
    margin-right: 10px;
}

.btn-outline.green-pdf::before {
    background-image: image-set(url("../../src/images/common/common-pdf-icon-green.png") 1x,
            url("../../src/images/common/common-pdf-icon-green-2x.png") 2x);
}

.btn-outline.red-pdf::before {
    background-image: image-set(url("../../src/images/common/common-pdf-icon-red.png") 1x,
            url("../../src/images/common/common-pdf-icon-red-2x.png") 2x);
}

a .btn-outline.green-pdf:hover::before,
a .btn-outline.red-pdf:hover::before {
    background-image: image-set(url("../../src/images/common/common-pdf-icon-white.png") 1x,
            url("../../src/images/common/common-pdf-icon-white-2x.png") 2x);
}

.btn-outline.green-register::before {
    width: 20px;
    aspect-ratio: 58 / 38;
    object-fit: cover;
    margin-right: 9px;
}

.btn-outline.green-register::before {
    background-image: image-set(url("../../src/images/common/common-register-icon-green.png") 1x,
            url("../../src/images/common/common-register-icon-green-2x.png") 2x);
}

a .btn-outline.green-register:hover::before {
    background-image: image-set(url("../../src/images/common/common-register-icon-white.png") 1x,
            url("../../src/images/common/common-register-icon-white-2x.png") 2x);
}

@media (max-width: 743px) {
    .btn-outline {
        border-width: 2px;
        border-radius: 30.5px;
    }

    .btn-outline.green-pdf::before,
    .btn-outline.red-pdf::before {
        width: 15px;
        height: 19px;
        margin-right: 10.49px;
    }

    .btn-outline.green-register::before {
        width: 19.33px;
        height: 12.67px;
        margin-right: 9px;
    }
}

@media (min-width: 744px) and (max-width: 1024px) {
    .btn-outline {
        border-width: 2px;
        border-radius: 30.5px;
    }

    .btn-outline.green-pdf::before,
    .btn-outline.red-pdf::before {
        width: 15px;
        height: 19px;
        margin-right: 10.49px;
    }

    .btn-outline.green-register::before {
        width: 19.33px;
        height: 12.67px;
        margin-right: 9px;
    }
}

/* ===== 斷點變數 ===== */
/* Desktop 設計稿 1280px / Mobile 設計稿 390px，單一斷點切版 */

.content {
    max-width: 1280px;
    margin: 0 auto;
}

@media (max-width: 743px) {
    .content {
        max-width: 100%;
    }
}

@media (min-width: 744px) and (max-width: 1024px) {
    .content {
        max-width: 100%;
    }
}

/* ===== Sections（背景滿版，內容由 .content 限寬） ===== */

body {
    background-color: rgba(255, 243, 215, 1);
}

body.loading-lock {
    overflow: hidden;
}

/* ===== 導覽列 ===== */

.header {
    position: sticky;
    top: 0;
    z-index: 999;
    background-color: rgba(255, 243, 215, 1);
    border-bottom: solid 2px rgb(35, 60, 62, 0.1);
    height: 85px;
}

.header .content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-left: 50px;
    padding-right: 50px;
    height: 100%;
}

.header .content .logo {
    height: 60px;
}

.header .content .logo a,
.header .content .logo a img {
    height: 100%;
    width: auto;
}

.header .content .navigate {
    display: flex;
    align-items: center;
    gap: 32px;
}

.header .content .navigate ul {
    display: flex;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 32px;
}

.header .content .navigate ul li a {
    color: #233C3E;
    font-weight: 700;
    font-size: 18px;
}

.header .content .navigate .lang-zh {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54.2px;
    height: 43.8px;
    background-color: #233C3E;
    border-radius: 999px;
    color: #fff;
    font-weight: 700;
    font-size: 13.44px
}

/* ===== 手機版漢堡選單 ===== */

.header .content .navigate .menu-btn {
    display: none;
    position: relative;
    width: 30px;
    height: 30px;
    cursor: pointer;
}

.header .content .navigate .menu-btn span,
.header .content .navigate .menu-btn::before,
.header .content .navigate .menu-btn::after {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    width: 24px;
    height: 3px;
    border-radius: 2px;
    background-color: #233C3E;
    transform: translateX(-50%);
}

.header .content .navigate .menu-btn::before {
    top: 6px;
}

.header .content .navigate .menu-btn span {
    top: 50%;
    transform: translate(-50%, -50%);
}

.header .content .navigate .menu-btn::after {
    bottom: 6px;
}

.mobile-menu-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 998;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.mobile-menu-overlay.active {
    display: block;
    opacity: 1;
    visibility: visible;
}

.mobile-menu {
    position: fixed;
    top: 0;
    right: -280px;
    width: 280px;
    height: 100%;
    background-color: rgba(255, 243, 215, 1);
    z-index: 1000;
    box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
    transition: right 0.3s ease;
}

.mobile-menu.active {
    right: 0;
}

.mobile-menu .mobile-menu-header {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 16px 20px;
}

.mobile-menu .mobile-menu-header .close-btn {
    font-size: 28px;
    color: #233C3E;
    background: none;
    border: none;
    cursor: pointer;
    line-height: 1;
}

.mobile-menu .mobile-menu-content {
    display: flex;
    flex-direction: column;
}

.mobile-menu .mobile-menu-content .mobile-menu-item {
    padding: 16px 24px;
    font-size: 16px;
    font-weight: 700;
    color: #233C3E;
    border-bottom: 1px solid rgba(35, 60, 62, 0.1);
}

.mobile-menu .mobile-menu-content .mobile-menu-item:hover {
    background-color: rgba(35, 60, 62, 0.05);
}

@media (max-width: 743px) {
    .header {
        border-bottom: unset;
        height: 74px;
    }

    .header .content {
        padding-left: 18px;
        padding-right: 27px;
    }

    .header .content .logo {
        height: 37px;
    }

    .header .content .navigate .lang-zh {
        width: 49.2px;
        height: 23px;
        margin-top: 7px;
        margin-right: 10px;
        font-size: 10px;
    }

    .header .content .navigate ul {
        display: none;
    }

    .header .content .navigate .menu-btn {
        display: block;
        margin-top: 5px;
    }
}

@media (min-width: 744px) and (max-width: 1024px) {
    .header {
        border-bottom: unset;
        height: 74px;
    }

    .header .content {
        padding-left: 18px;
        padding-right: 27px;
    }

    .header .content .logo {
        height: 37px;
    }

    .header .content .navigate .lang-zh {
        width: 49.2px;
        height: 23px;
        margin-top: 7px;
        margin-right: 10px;
        font-size: 10px;
    }

    .header .content .navigate ul {
        display: none;
    }

    .header .content .navigate .menu-btn {
        display: block;
        margin-top: 5px;
    }
}

/* ===== 主視覺 ===== */

.hero {
    position: relative;
    width: 100%;
}

.hero .decoration {
    position: absolute;
    transform: rotate(9.5deg);
    width: calc((290 / 1280) * 100vw);
    right: calc((30 / 1280) * 100vw);
    top: calc((520 / 1280) * 100vw);
    z-index: 1;
}

@media (max-width: 743px) {
    .hero {
        margin-top: 0;
        overflow-x: clip;
    }

    .hero picture img {
        width: 100%;
        height: auto;
    }

    .hero .decoration {
        width: calc((140 / 390) * 60vw);
        height: auto;
        left: calc(85vw - (calc((140 / 390) * 20vw)));
        top: 80vw;
    }
}

@media (min-width: 744px) and (max-width: 1024px) {
    .hero {
        margin-top: 0;
        overflow-x: clip;
    }

    .hero picture img {
        width: 100%;
        height: auto;
    }

    .hero .decoration {
        width: calc((140 / 390) * 60vw);
        height: auto;
        left: calc(85vw - (calc((140 / 390) * 20vw)));
        top: 80vw;
    }
}

/* ===== 活動介紹 ===== */

.intro .top {
    position: relative;
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    background-image: -webkit-image-set(url(../images/intro/intro-bg-top.png) 1x, url(../images/intro/intro-bg-top-2x.png) 2x);
    background-color: #fff;
    padding-top: 90px;
    margin-top: 30px;
}

.intro .top .content {
    display: flex;
    position: relative;
    z-index: 2;
}

.intro .top .left {
    display: flex;
    flex: 0 0 40%;
    flex-direction: column;
    align-items: end;
    justify-content: end;
}

.intro .top .left .img-outer {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: calc(100% - 60px);
}

.intro .top .right {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: end;
    align-items: center;
    padding-right: 50px;
    padding-left: 20px;
}

.intro .top::after {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    aspect-ratio: 2560 / 667;
    transform: translateY(-45%);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: image-set(url('../images/intro/intro-bg-middle.png') 1x,
            url('../images/intro/intro-bg-middle-2x.png') 2x);
    z-index: 1;
}

.intro .bottom {
    position: relative;
    background: linear-gradient(#fff 10%, #15D582 10%);
    padding-bottom: 40px;
}

.intro .bottom .content {
    z-index: 2;
    position: relative;
}

.intro .bottom .img-outer {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.intro .title {
    width: 433px;
    left: 50px;
    top: 260px;
}

.intro .decoration-1 {
    position: relative;
    width: 350px;
    top: -60px;
}

.intro .decoration-2 {
    position: relative;
    width: 520px;
}

.intro .decoration-3 {
    position: relative;
    width: 155px;
    left: 70px;
    transform: rotate(-14.35deg);
}

.intro .decoration-4 {
    position: relative;
    width: 140px;
    right: 120px;
    top: 30px;
    transform: rotate(31.66deg);
}

.intro .description {
    text-align: center;
    color: rgba(14, 61, 79, 1);
    width: 100%;
}

.intro .description .highlight-1 {
    font-weight: 700;
    color: rgba(25, 202, 122, 1);
}

.intro .description .highlight-2 {
    font-weight: 700;
    color: rgba(255, 60, 118, 1);
}

.intro .description p {
    width: 100%;
}

.intro .video {
    position: relative;
    transform: translateX(-50%);
    left: 50%;
    top: 40px;
    width: 880px;
    height: 495px;
    cursor: pointer;
}

.intro .video img.preview {
    border: 15px solid #FFF3D7;
    border-radius: 80px;
}

.intro .video img.play {
    position: absolute;
    width: 85px;
    height: 85px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.intro .video:hover img.play {
    width: 100px;
    height: 100px;
}

.video-popup {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.85);
    z-index: 9999;
    justify-content: center;
    align-items: center;
}

.lightbox-content {
    position: relative;
    width: 80%;
    max-width: 1280px;
}

.video-container {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    height: 0;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
}

.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.lightbox-close {
    position: absolute;
    top: -45px;
    right: 0;
    font-size: 40px;
    color: #fff;
    background: none;
    border: none;
    cursor: pointer;
    line-height: 1;
}

.lightbox-close:hover {
    color: #ff3333;
}

@media (max-width: 743px) {
    .intro .top {
        background-image:
            -webkit-image-set(url('../images/intro/intro-bg-top-mobile.png') 1x, url('../images/intro/intro-bg-top-mobile.png') 2x);
        background-repeat: no-repeat;
        background-size: 100% auto;
        background-position: top center;
        margin-top: 0;
        padding-top: 80px;
    }

    .intro .top::after {
        background-image: image-set(url(../images/intro/intro-bg-middle-mobile.png) 1x, url(../images/intro/intro-bg-middle-mobile-2x.png) 2x);
        aspect-ratio: 390 / 251;
    }

    .intro .top .content {
        flex-direction: column;
    }

    .intro .top .left {
        flex: 0 0 100%;
        justify-content: center;
        align-items: center;
    }

    .intro .top .right {
        padding-left: 0;
        padding-right: 0;
    }

    .intro .top .right .img-outer {
        display: flex;
        align-items: end;
        justify-content: center;
        margin-top: 20px;
        width: 100%;
    }

    .intro .bottom {
        margin-top: 0;
        background-color: #15D582;
    }

    .intro .title {
        width: 260px;
        left: 65px;
        top: 78px;
    }

    .intro .decoration-1 {
        flex: 0 0 160px;
        top: 0;
        z-index: 1;
    }

    .intro .decoration-2 {
        flex: 0 0 230px;
        z-index: 0;
        margin-left: -30px;
        margin-bottom: 30px;
    }

    .intro .decoration-3 {
        width: 100px;
        left: 20px;
        top: 30px;
    }

    .intro .decoration-4 {
        width: 120px;
        right: 20px;
        top: 30px;
    }

    .intro .description {
        margin-top: 30px;
        padding: 0 15px;
    }

    .intro .description p,
    .intro .description p span {
        line-height: 1.69;
    }

    .intro .video {
        top: 20px;
        width: 80%;
        height: auto;
        aspect-ratio: 880 / 495;
        object-fit: cover;
        cursor: pointer;
    }

    .intro .video img.preview {
        border-radius: 25px;
    }

    .intro .video img.play {
        width: 50px;
        height: 50px;
    }

    .intro .video:hover img.play {
        width: 60px;
        height: 60px;
    }

    .lightbox-close {
        top: -45px;
    }
}

@media (min-width: 744px) and (max-width: 1024px) {
    .intro .top {
        background-image:
            -webkit-image-set(url('../images/intro/intro-bg-top-mobile.png') 1x, url('../images/intro/intro-bg-top-mobile.png') 2x);
        background-repeat: no-repeat;
        background-size: 100% auto;
        background-position: top center;
        margin-top: 0;
        padding-top: 80px;
    }

    .intro .top::after {
        background-image: image-set(url(../images/intro/intro-bg-middle-mobile.png) 1x, url(../images/intro/intro-bg-middle-mobile-2x.png) 2x);
        aspect-ratio: 390 / 251;
    }

    .intro .top .content {
        flex-direction: column;
    }

    .intro .top .left {
        flex: 0 0 100%;
        justify-content: center;
        align-items: center;
    }

    .intro .top .right {
        padding-left: 0;
        padding-right: 0;
    }

    .intro .top .right .img-outer {
        display: flex;
        align-items: end;
        justify-content: center;
        margin-top: 20px;
        width: 100%;
    }

    .intro .bottom {
        margin-top: 0;
        background-color: #15D582;
    }

    .intro .title {
        width: 260px;
        left: 65px;
        top: 78px;
    }

    .intro .decoration-1 {
        flex: 0 0 160px;
        top: 0;
        z-index: 1;
    }

    .intro .decoration-2 {
        flex: 0 0 230px;
        z-index: 0;
        margin-left: -30px;
        margin-bottom: 30px;
    }

    .intro .decoration-3 {
        width: 122.09px;
        left: 10px;
        top: 10px;
    }

    .intro .decoration-4 {
        width: 140.11px;
        right: 15px;
        top: 20px;
    }

    .intro .description {
        margin-top: 30px;
        padding: 0 60px;
    }

    .intro .description p,
    .intro .description p span {
        line-height: 1.69;
    }

    .intro .video {
        top: 20px;
        width: 80%;
        height: auto;
        aspect-ratio: 880 / 495;
        object-fit: cover;
        cursor: pointer;
    }

    .intro .video img.preview {
        border-radius: 25px;
    }

    .intro .video img.play {
        width: 50px;
        height: 50px;
    }

    .intro .video:hover img.play {
        width: 60px;
        height: 60px;
    }

    .lightbox-close {
        top: -45px;
    }
}

/* ===== 善款用途 ===== */

.donation-use {
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 100% auto;
    background-image: -webkit-image-set(url('../images/donation-use/donation-use-bg.png') 1x, url('../images/donation-use/donation-use-bg-2x.png') 2x);
    overflow: hidden;
}

.donation-use .content {
    position: relative;
}

.donation-use .content .title {
    position: relative;
    margin-top: 80px;
    text-align: center;
}

.donation-use .content .title img {
    height: 100px;
    width: auto;
    margin: auto;
}

.donation-use .description-outer {
    position: relative;
    display: flex;
    flex-direction: row;
}

.donation-use .content .bird-1 {
    position: absolute;
    width: 250px;
    transform: translate(0%, -70%);
}

.donation-use .content .bird-2 {
    position: absolute;
    width: 210px;
    right: 0;
    bottom: 0;
    transform: translate(0, 75%);
}

.donation-use .content .description {
    position: relative;
    width: 840px;
    left: 50%;
    transform: translateX(-50%);
    margin-top: 65px;
}

.donation-use .content .description p {
    color: rgba(14, 61, 79, 1);
    text-align: center;
}

.donation-use .content .card-container {
    position: relative;
    margin-top: 120px;
    padding-bottom: 30px;
    width: 100%;
    padding-left: 50px;
    padding-right: 50px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px 30px;
}

.donation-use .content .card-container .card-outer {
    width: 370px;
    align-self: center;
}

.donation-use .content .card-container .card-item {
    position: relative;

    background-color: #FFFAF0;
    border: 3px solid #F66E9B;
    border-radius: 20px;
    margin-right: 10px;
    margin-bottom: 10px;
    box-shadow: 10px 10px 0 0 #F66E9B;
    padding: 15px;
}

.donation-use .content .card-container .card-item .card-inner {
    position: relative;
    display: flex;
    justify-content: center;
}

.donation-use .content .card-container .card-item .card-inner .card-img {
    border-radius: 20px;
}

.donation-use .content .card-container .card-outer:nth-child(1) .card-item {
    transform: rotate(-1.5deg);
}

.donation-use .content .card-container .card-outer:nth-child(2) .card-item {
    transform: rotate(1.4deg);
}

.donation-use .content .card-container .card-outer:nth-child(3) .card-item {
    transform: rotate(-1deg);
}

.donation-use .content .card-container .card-outer:nth-child(4) .card-item {
    transform: rotate(1.3deg);
}

.donation-use .content .card-container .card-outer:nth-child(5) .card-item {
    transform: rotate(-1.3deg);
}

.donation-use .content .card-container .card-outer:nth-child(6) .card-item {
    transform: rotate(1deg);
}

.donation-use .content .card-container .card-item .card-inner .card-title {
    position: absolute;
    width: auto;
    bottom: -1px;
    margin: 0 10px;
    background-color: rgba(255, 250, 240, 1);
    border-top-left-radius: 9px;
    border-top-right-radius: 9px;
    padding-left: 10px;
    padding-right: 10px;
}

.donation-use .content .card-container .card-item .card-inner .card-title p {
    font-weight: 700;
    font-size: 18px;
    line-height: 1.2;
    padding: 5px;
    color: rgba(255, 60, 118, 1);
    text-align: center;
    text-wrap: nowrap;
}

.donation-use .content .card-container .card-item .card-inner .card-info {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 100%;
    padding: 10px;
}

.donation-use .content .card-container .card-item .card-inner .card-info .inner-title {
    font-weight: 400;
    font-size: 15px;
    line-height: 1.2;
    color: #fff;
    text-align: center;
    text-wrap: auto;
}

.donation-use .content .card-container .card-item .card-inner .card-info .inner-description {
    font-weight: 400;
    font-size: 11px;
    line-height: 1.5;
    color: #fff;
    text-align: center;
    text-wrap: pretty;
}

.donation-use .content .card-container .card-item .card-inner .card-info .btns {
    bottom: 0;
    gap: 10px;
}

.donation-use .content .card-container .card-item .card-inner .card-info .btns .btn.btn-filled {
    width: 112px;
    height: 34px;
}

.donation-use .content .card-container .card-item .card-inner .card-img {
    filter: brightness(100%);
}

.donation-use .content .card-container .card-item .card-inner .card-title {
    opacity: 1;
}

.donation-use .content .card-container .card-item .card-inner .card-info {
    opacity: 0;
    pointer-events: none;
}

.donation-use .content .card-container .card-item .card-inner:hover .card-img {
    filter: brightness(30%);
}

.donation-use .content .card-container .card-item .card-inner:hover .card-title {
    opacity: 0;
}

.donation-use .content .card-container .card-item .card-inner:hover .card-info {
    opacity: 1;
    pointer-events: auto;
}

.donation-use .content .card-container .card-item .card-inner .card-info .btns .btn.btn-filled p {
    font-size: 12px;
}

@media (max-width: 743px) {
    .donation-use {
        background-image: -webkit-image-set(url('../images/donation-use/donation-use-bg-mobile.png') 1x, url('../images/donation-use/donation-use-bg-mobile-2x.png') 2x);
        padding-bottom: 120px;
        overflow: hidden;
    }

    .donation-use .content .title {
        margin-top: 40px;
    }

    .donation-use .content .title img {
        height: 70px;
        width: auto;
    }

    .donation-use .content .bird-1 {
        width: 95px;
        transform: translate(10%, -135%);
    }

    .donation-use .content .bird-2 {
        width: 102px;
        transform: translate(-10%, 100%);
    }

    .donation-use .content .description {
        width: 100%;
        padding: 0 10px;
        margin-top: 20px;
        left: 50%;
        transform: translateX(-50%);
    }

    .donation-use .content .description p {
        margin-top: unset;
        line-height: 2.1;
    }

    .donation-use .content .card-container {
        padding-left: 0;
        padding-right: 0;
        padding-top: 30px;
        overflow: hidden;
        margin-top: 80px;
    }

    .donation-use .content .card-container .card-item .card-inner .card-info .btns .btn.btn-filled p {
        padding-top: 2px;
    }
}

@media (min-width: 744px) and (max-width: 1024px) {
    .donation-use {
        background-image: -webkit-image-set(url('../images/donation-use/donation-use-bg-mobile.png') 1x, url('../images/donation-use/donation-use-bg-mobile-2x.png') 2x);
        padding-bottom: 120px;
    }

    .donation-use .content .title {
        margin-top: 40px;
    }

    .donation-use .content .bird-2 {
        width: 102px;
        transform: translate(0, 100%);
        right: 60px;
    }

    .donation-use .content .description {
        width: 100%;
        padding: 0 60px;
        margin-top: 20px;
        left: 50%;
        transform: translateX(-50%);
    }

    .donation-use .content .description p {
        margin-top: unset;
        line-height: 2.1;
    }

    .donation-use .content .card-container {
        padding-left: 0;
        padding-right: 0;
        padding-top: 30px;
        overflow: hidden;
        gap: 10px 10px;
        margin-top: 70px;
    }
}

@media (min-width: 500px) and (max-width: 768px) {
    .donation-use .content .bird-1 {
        transform: translate(10%, -110%);
    }
}

@media (min-width: 744px) and (max-width: 900px) {
    .donation-use .content .bird-1 {
        width: 111px;
        transform: translate(80%, -140%);
    }
}

@media (min-width: 901px) and (max-width: 1024px) {
    .donation-use .content .bird-1 {
        width: 111px;
        transform: translate(150%, -150%);
    }
}

/* ===== 善款處理 ===== */

.donation-method .title {
    position: relative;
    background-color: #6AC092;
    border-top: 25px solid #FFDD55;
    height: 175px;
    display: flex;
    align-items: center;
}

.donation-method .title img {
    width: auto;
    height: 100px;
}

.donation-method .method-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 50px 50px;
    padding: 50px 100px;
}

.donation-method .method-container .method-item {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    width: 100%;
}

.donation-method .sub-title {
    min-height: 88px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #43C7F8;
    border-top-left-radius: 40px;
    border-top-right-radius: 40px;
}

.donation-method .sub-title p {
    font-weight: 700;
    font-size: 26px;
    line-height: 1;
    color: #fff;
    padding: 20px 60px;
    width: 100%;
    text-align: center;
}

.donation-method .description {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    border: 5px solid #43C7F8;
    border-bottom-left-radius: 50px;
    border-bottom-right-radius: 50px;
    background-color: #fff;
    padding: 30px;
}

.donation-method .description p {
    color: rgba(14, 61, 79, 1);
    text-align: center;
}

.donation-method .method-container .method-item {
    position: relative;
}

.donation-method .method-container .method-item:nth-child(1),
.donation-method .method-container .method-item:nth-child(2),
.donation-method .method-container .method-item:nth-child(3),
.donation-method .method-container .method-item:nth-child(4) {
    flex: 0 0 calc((100% - 50px) / 2);
}

.donation-method .method-container .method-item::before {
    position: absolute;
    width: 100%;
    height: 100px;
    transform: translate(-40px, -40px);
    z-index: 1;
}

.donation-method .method-container .method-item:nth-child(1):before {
    content: -webkit-image-set(url('../images/donation-method/donation-method-mark-1.png') 1x, url('../images/donation-method/donation-method-mark-1-2x.png') 2x);
}

.donation-method .method-container .method-item:nth-child(2)::before {
    content: -webkit-image-set(url('../images/donation-method/donation-method-mark-2.png') 1x, url('../images/donation-method/donation-method-mark-2-2x.png') 2x);
}

.donation-method .method-container .method-item:nth-child(3)::before {
    content: -webkit-image-set(url('../images/donation-method/donation-method-mark-3.png') 1x, url('../images/donation-method/donation-method-mark-3-2x.png') 2x);
}

.donation-method .method-container .method-item:nth-child(4)::before {
    content: -webkit-image-set(url('../images/donation-method/donation-method-mark-4.png') 1x, url('../images/donation-method/donation-method-mark-4-2x.png') 2x);
}

.donation-method .method-container .method-item:nth-child(3) .description,
.donation-method .method-container .method-item:nth-child(4) .description {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
}

.donation-method .method-container .method-item:nth-child(3) .description .content,
.donation-method .method-container .method-item:nth-child(4) .description .content {
    flex: 1;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.donation-method .method-container .method-item:nth-child(3) .description .content a,
.donation-method .method-container .method-item:nth-child(4) .description .content a {
    font-weight: 700;
    color: rgba(27, 97, 167, 1);
}

.donation-method .method-container .method-item:nth-child(3) .description .qrcode,
.donation-method .method-container .method-item:nth-child(4) .description .qrcode {
    flex: 0 0 185px;
    display: flex;
    justify-content: center;
}

.donation-method .method-container .method-item:nth-child(3) .description .notice,
.donation-method .method-container .method-item:nth-child(4) .description .notice {
    width: 100%;
    padding: 0 20px;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.donation-method .method-container .method-item:nth-child(3) .description .notice p,
.donation-method .method-container .method-item:nth-child(4) .description .notice p {
    font-size: 16px;
}

.donation-method .method-notice p {
    margin-top: 15px;
    text-align: center;
    color: rgba(106, 192, 146, 1);
    font-size: 18px;
}

.donation-method .method-rule {
    position: relative;
    background-color: #6AC092;
    border-bottom: 25px solid #FFDD55;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
}

.donation-method .method-rule p {
    width: 100%;
    text-align: center;
    color: rgba(255, 243, 215, 1);
}

.donation-method .method-rule p span {
    display: inline-flex;
    line-height: 1;
}

.donation-method .method-rule p .btn-filled {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    padding: 4px 7px;
    margin: 4px;
    background-color: rgba(14, 61, 79, 1);
}

.donation-method .method-rule p .btn-filled::before {
    content: none;
}

.donation-method .method-rule p a.btn-filled {
    background-color: rgba(255, 60, 118, 1);
}

.donation-method .method-rule p strong {
    color: #FFDC55;
}

@media (max-width: 743px) {
    .donation-method .title {
        height: auto;
        padding: 25px 0;
    }

    .donation-method .title img {
        height: 70px;
        width: auto;
    }

    .donation-method .sub-title p {
        text-align: center;
        font-size: 26px;
    }

    .donation-method .method-notice p,
    .donation-method .method-container .method-item:nth-child(3) .description .notice p,
    .donation-method .method-container .method-item:nth-child(4) .description .notice p {
        font-size: 12px;
    }

    .donation-method .method-container {
        padding: 50px 50px;
    }

    .donation-method .method-container .method-item:nth-child(1),
    .donation-method .method-container .method-item:nth-child(2),
    .donation-method .method-container .method-item:nth-child(3),
    .donation-method .method-container .method-item:nth-child(4) {
        flex: 0 0 100%;
    }

    .donation-method .description {
        padding: 30px 10px;
    }
}

@media (min-width: 744px) and (max-width: 1024px) {
    .donation-method .method-container {
        padding: 50px;
    }

    .donation-method .description {
        padding: 30px 15px;
    }

    .donation-method .sub-title p {
        text-align: center;
        font-size: 26px;
    }

    .donation-method .method-notice p,
    .donation-method .method-container .method-item:nth-child(3) .description .notice p,
    .donation-method .method-container .method-item:nth-child(4) .description .notice p {
        font-size: 12px;
    }

    .donation-method .method-rule {
        padding: 30px 60px;
    }
}

/* ===== 有獎遊戲 ===== */

.lucky-draw .top {
    position: relative;
    background-image: -webkit-image-set(url(../images/lucky-draw/lucky-draw-bg-front.png) 1x, url(../images/lucky-draw/lucky-draw-bg-front-2x.png) 2x), -webkit-image-set(url(../images/lucky-draw/lucky-draw-bg-back.png) 1x, url(../images/lucky-draw/lucky-draw-bg-back-2x.png) 2x);
    background-size: 100% auto, 100% auto;
    background-position: bottom center, top center;
    background-repeat: no-repeat, repeat;
    padding-top: 60px;
    padding-bottom: 120px;
}

.lucky-draw .top .content {
    display: flex;
    justify-content: center;
}

.lucky-draw .top .top-outer {
    position: relative;
    border-radius: 135px;
    border: 20px solid #BC1B8B;
    background-color: #F96EA7;
    max-width: 80%;
}

.lucky-draw .top .top-inner {
    background-color: #FFFFFF;
    border-radius: 85px;
    margin-top: 40px;
    margin-right: 40px;
    margin-left: 40px;
}

.lucky-draw .top .title {
    padding-top: 70px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.lucky-draw .top img.en {
    width: 685px;
}

.lucky-draw .top .title p {
    color: #19CA7A;
    font-size: 40px;
    font-weight: 700;
}

.lucky-draw .top .description {
    margin: 50px;
    text-align: center;
}

.lucky-draw .top .prizes {
    display: flex;
    flex-direction: row;
    padding: 0 50px 50px;
    gap: 50px;
}

.lucky-draw .top .prizes div {
    flex-grow: 1;
}

.lucky-draw .top .btns-img {
    margin-right: 50px;
    margin-left: 50px;
    margin-bottom: 40px;
}

.lucky-draw .top .btns-img p {
    text-align: center;
    color: #FCE4A8;
}

.lucky-draw .top .decoration-1 {
    position: absolute;
    width: 240px;
    bottom: -80px;
    left: -180px;
}

.lucky-draw .top .decoration-2 {
    position: absolute;
    width: 210px;
    bottom: -100px;
    right: -120px;
}

.lucky-draw .bottom {
    position: relative;
    margin-bottom: 150px;
}

.lucky-draw .bottom .description {
    margin-right: auto;
    margin-left: auto;
    width: 800px;
    text-align: center;
}

.lucky-draw .bottom .winners {
    display: flex;
    justify-content: center;
    margin-top: 32px;
}

.lucky-draw .bottom .winners .btn-outline {
    width: 216px;
    height: 61px;
}

.lucky-draw .bottom .description:nth-child(2 of .description) {
    margin-top: 33px;
}

.lucky-draw .bottom .btns {
    margin-top: 45px;
    display: flex;
    width: 950px;
    justify-content: center;
    align-items: center;
    gap: 24px;
    margin-left: auto;
    margin-right: auto;
}

.lucky-draw .bottom .btns .btn-filled {
    padding: 20px 0;
    width: 300px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex: 1 0 0;
    text-align: center;
}

.lucky-draw .bottom .btns .btn-filled::before {
    content: none;
}

@media (max-width: 1024px) {
    .lucky-draw .bottom .btns {
        flex-direction: column;
        width: 100%;
    }
}

.lucky-draw .description {
    margin-top: 50px;
}

.lucky-draw .description p,
.lucky-draw .description p span {
    color: rgba(14, 61, 79, 1);
    text-wrap: auto;
}

.lucky-draw .top .description p span.highlight-1 {
    color: rgba(25, 202, 122, 1);
}

.lucky-draw .top .description p span.highlight-2,
.lucky-draw .bottom .description p span.highlight {
    color: rgba(255, 60, 118, 1);
}

.lucky-draw .bottom .description p span.highlight {
    font-weight: 700;
}

.lucky-draw .description p span.rule {
    color: rgba(35, 60, 62, 1);
    font-weight: 700;
    text-decoration: underline;
}

.lucky-draw .description p a {
    font-weight: 700;
    color: rgba(27, 97, 167, 1);
}

.terms-popup {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.85);
    z-index: 9999;
    justify-content: center;
    align-items: center;
}

.terms-popup .lightbox-content {
    width: 90%;
    max-width: 1280px;
    max-height: 80vh;
    background-color: #fff;
    border-radius: 20px;
    padding: 40px;
    overflow-y: auto;
}

.terms-popup .lightbox-content h2 {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 20px;
    color: rgba(35, 60, 62, 1);
    line-height: 1.6;
}

.terms-popup .lightbox-content p {
    color: rgba(35, 60, 62, 1);
}

.terms-popup .lightbox-content ol {
    padding-left: 20px;
}

.terms-popup .lightbox-content li {
    color: rgba(35, 60, 62, 1);
    margin-bottom: 12px;
}

.terms-popup .lightbox-content li a {
    color: rgba(27, 97, 167, 1);
    text-decoration: underline;
}

.terms-popup .lightbox-close {
    color: rgba(35, 60, 62, 1);
    top: 10px;
    right: 10px;
}

.terms-popup .lightbox-close:hover {
    color: #ff3333;
}

@media (max-width: 743px) {
    .lucky-draw .top {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .lucky-draw .top .top-outer {
        border-radius: 50px;
        border: 10px solid #BC1B8B;
        max-width: 98%;
    }

    .lucky-draw .top .top-inner {
        border-radius: 25px;
        margin-top: 20px;
        margin-right: 20px;
        margin-left: 20px;
    }

    .lucky-draw .top .title {
        padding-top: 40px;
    }

    .lucky-draw .top img.en {
        width: calc((260 / 390) * 100vw);
    }

    .lucky-draw .top .title p {
        font-size: min(calc((40 / 390) * 100vw), 40px);
    }

    .lucky-draw .top .description {
        margin: 30px 20px;
    }

    .lucky-draw .top .prizes {
        padding: 0 20px 20px;
        gap: 10px;
        flex-direction: column;
    }

    .lucky-draw .top .prizes div {
        flex-grow: 1;
        width: 80%;
        margin-left: auto;
        margin-right: auto;
    }

    .lucky-draw .top .btns-img {
        margin-right: 30px;
        margin-left: 30px;
        margin-bottom: 30px;
    }

    .lucky-draw .bottom {
        margin-bottom: 80px;
    }

    .lucky-draw .bottom .description {
        width: unset;
        margin-left: 30px;
        margin-right: 30px;
    }

    .terms-popup .lightbox-content {
        max-width: 390px;
        border-radius: 20px;
        padding: 40px;
    }

    .terms-popup .lightbox-content h2 {
        margin-bottom: 20px;
        font-size: 16px;
    }

    .terms-popup .lightbox-content ol {
        padding-left: 20px;
    }

    .terms-popup .lightbox-content li {
        margin-bottom: 12px;
    }

    .terms-popup .lightbox-close {
        top: 10px;
        right: 10px;
    }
}

@media (min-width: 744px) and (max-width: 1024px) {
    .lucky-draw .top {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .lucky-draw .top .top-outer {
        border-radius: 50px;
        border: 10px solid #BC1B8B;
        max-width: 90%;
    }

    .lucky-draw .top .top-inner {
        border-radius: 25px;
        margin-top: 20px;
        margin-right: 20px;
        margin-left: 20px;
    }

    .lucky-draw .top .title {
        padding-top: 40px;
    }

    .lucky-draw .top img.en {
        width: 500px;
    }

    .lucky-draw .top .title p {
        font-size: 40px;
    }

    .lucky-draw .top .description {
        margin: 30px 20px;
    }

    .lucky-draw .top .prizes {
        padding: 0 20px 20px;
        gap: 10px;
    }

    .lucky-draw .top .btns-img {
        margin-right: 30px;
        margin-left: 30px;
        margin-bottom: 30px;
    }

    .lucky-draw .bottom {
        margin-bottom: 80px;
    }

    .lucky-draw .bottom .description {
        width: unset;
        margin-left: 60px;
        margin-right: 60px;
    }

    .terms-popup .lightbox-content {
        border-radius: 20px;
        padding: 40px;
    }

    .terms-popup .lightbox-content h2 {
        margin-bottom: 20px;
    }

    .terms-popup .lightbox-content ol {
        padding-left: 20px;
    }

    .terms-popup .lightbox-content li {
        margin-bottom: 12px;
    }

    .terms-popup .lightbox-close {
        top: 10px;
        right: 10px;
    }
}

/* ===== 主題下載 ===== */

.wallpaper {
    position: relative;
    background-size: 100% auto;
    background-position: bottom center;
    background-image: -webkit-image-set(url('../images/wallpaper/wallpaper-bg.png') 1x, url('../images/wallpaper/wallpaper-bg-2x.png') 2x);
    background-color: #D4F3FF;
    background-repeat: no-repeat;
}

.wallpaper .content .title {
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
}

.wallpaper .content .title p {
    font-size: 40px;
    font-weight: 700;
    text-align: center;
    background-color: rgba(14, 61, 79, 1);
    color: #fff;
    border-radius: 9999px;
    padding: 0 40px;
}

.wallpaper .content .description {
    position: relative;
    padding-top: 60px;
    width: 820px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.wallpaper .content .description p {
    color: rgba(14, 61, 79, 1);
    text-wrap: unset;
}

.wallpaper .content .download-btn {
    text-align: center;
}

.wallpaper .content .download-btn .btn {
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
    width: 200px;
    height: 55px;
}

.wallpaper .content .download-btn .btn p {
    font-size: 18px;
}

.wallpaper .content .preview {
    padding: 30px;
}

.wallpaper-popup {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.85);
    z-index: 9999;
    justify-content: center;
    align-items: center;
}

.wallpaper-popup .lightbox-content {
    width: 90%;
    max-width: 650px;
    max-height: 80vh;
    background-color: #fff;
    border-radius: 20px;
    padding: 40px;
    overflow-y: auto;
}

.wallpaper-popup .lightbox-content h2 {
    font-size: 24px;
    font-weight: 700;
    color: rgba(35, 60, 62, 1);
    text-align: center;
}

.wallpaper-popup .wallpaper-btns {
    display: grid;
    justify-items: center;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.wallpaper-popup .wallpaper-btns .btn {
    width: 270px;
    height: 60px;
}

.wallpaper-popup .lightbox-close {
    color: rgba(35, 60, 62, 1);
    top: 10px;
    right: 10px;
}

.wallpaper-popup .lightbox-close:hover {
    color: #ff3333;
}

@media (max-width: 743px) {
    .wallpaper .content .title {
        top: -40px;
    }

    .wallpaper .content .description {
        width: unset;
        margin-right: 30px;
        margin-left: 30px;
    }

    .wallpaper .content .download-btn .btn {
        width: 200px;
        height: 50px;
    }

    .wallpaper-popup .lightbox-content {
        max-width: 390px;
        border-radius: 20px;
        padding: 40px;
    }

    .wallpaper-popup .lightbox-content h2 {
        margin-bottom: 24px;
    }

    .wallpaper-popup .wallpaper-btns {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .wallpaper-popup .wallpaper-btns .btn {
        height: 60px;
    }

    .wallpaper-popup .lightbox-close {
        top: 10px;
        right: 10px;
    }
}

@media (min-width: 744px) and (max-width: 1024px) {
    .wallpaper .content .title {
        top: -40px;
    }

    .wallpaper .content .description {
        width: unset;
        margin-right: 60px;
        margin-left: 60px;
    }

    .wallpaper .content .download-btn .btn {
        width: 200px;
        height: 50px;
    }

    .wallpaper-popup .lightbox-content {
        border-radius: 20px;
        padding: 40px;
    }

    .wallpaper-popup .lightbox-content h2 {
        margin-bottom: 24px;
    }

    .wallpaper-popup .wallpaper-btns {
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }

    .wallpaper-popup .wallpaper-btns .btn {
        height: 60px;
    }

    .wallpaper-popup .lightbox-close {
        top: 10px;
        right: 10px;
    }
}

/* ===== 網上報名 ===== */

.register-download {
    position: relative;
    background-image:
        -webkit-image-set(url('../images/register-download/register-download-bg-grass.png') 1x, url('../images/register-download/register-download-bg-grass-2x.png') 2x),
        -webkit-image-set(url('../images/register-download/register-download-bg-notepaper.png') 1x, url('../images/register-download/register-download-bg-notepaper-2x.png') 2x);
    background-size: 100% auto, min(100%, 1015px) auto;
    background-repeat: no-repeat, no-repeat;
    background-position: bottom center, top center;
    margin-top: 70px;
}

.register-download .content {
    padding-top: 140px;
    padding-left: 140px;
    padding-right: 140px;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.register-download .content .title {
    position: relative;
    padding: 20px 30px;
    background-color: #43C7F8;
}

.register-download .content .title img {
    height: 100px;
    width: auto;
}

.register-download .content .sub-title {
    height: 45px;
}

.register-download .content .sub-title img {
    height: 45px;
    width: auto;
    background-color: #43C7F8;
    display: inline-block;
    padding: 10px 40px;
}

.register-download .content .btns .btn p {
    font-size: 15px;
    line-height: 1.5;
}

.register-download .content .register {
    display: flex;
    flex-direction: column;
    margin-top: 30px;
    width: max(calc(100% - 240px), 850px);
}

.register-download .content .register .btns {
    display: flex;
    flex-direction: row;
    padding: 56px 0;
    gap: 12px;
    border: 3px solid #43C7F8;
    background-color: #fff;
}

.register-download .content .register .btn {
    width: 240px;
    height: 60px;
    border-radius: 45.5px;
}

.register-download .content .download {
    display: flex;
    flex-direction: column;
    margin-top: 30px;
    width: max(calc(100% - 240px), 850px);
}

.register-download .content .download .btns {
    display: flex;
    flex-direction: row;
    padding: 56px 0;
    gap: 12px;
    border: 3px solid #43C7F8;
    background-color: #fff;
}

.register-download .content .download .btn {
    width: 250px;
    height: 60px;
    border-radius: 45.69px;
    padding: 0 15px;
}

.register-download .content .download .btn::before {
    display: flex;
}

.register-download .content .download .btns .btn p {
    display: flex;
    flex: 1 0 0;
    justify-content: center;
    text-wrap: auto;
}

.register-download .content .decoration {
    width: 800px;
    margin-top: 55px;
    position: relative;
    bottom: -40px;
}

@media (max-width: 743px) {
    .register-download {
        background-image:
            -webkit-image-set(url('../images/register-download/register-download-bg-grass.png') 1x, url('../images/register-download/register-download-bg-grass-2x.png') 2x),
            -webkit-image-set(url('../images/register-download/register-download-bg-notepaper-mobile.png') 1x, url('../images/register-download/register-download-bg-notepaper-mobile-2x.png') 2x);
        margin-top: 30px;
    }

    .register-download .content {
        padding-top: 100px;
        padding-left: 0;
        padding-right: 0;
    }

    .register-download .content .title {
        padding: 10px 15px;
    }

    .register-download .content .title img {
        height: 70px;
        width: auto;
    }

    .register-download .content .sub-title {
        height: 40px;
    }

    .register-download .content .sub-title img {
        height: 40px;
        padding: 10px;
    }

    .register-download .content .register,
    .register-download .content .download {
        width: 70%;
    }

    .register-download .content .register .btns,
    .register-download .content .download .btns {
        flex-direction: column;
        padding: 20px 16px;
        gap: 14px;
    }

    .register-download .content .register .btn,
    .register-download .content .download .btn {
        width: 220px;
        height: 45px;
        border-radius: 45.5px;
    }

    .register-download .content .btns .btn p {
        font-size: 13px;
    }

    .register-download .content .download .btns .btn p span.small {
        font-size: 10px;
    }

    .register-download .content .download .btns .btn-outline.red-pdf::before {
        width: 11px;
        height: 13px;
    }

    .register-download .content .decoration {
        width: 310px;
        margin-top: 0;
    }
}

@media (min-width: 744px) and (max-width: 1024px) {
    .register-download {
        background-image:
            -webkit-image-set(url('../images/register-download/register-download-bg-grass.png') 1x, url('../images/register-download/register-download-bg-grass-2x.png') 2x),
            -webkit-image-set(url('../images/register-download/register-download-bg-notepaper-mobile.png') 1x, url('../images/register-download/register-download-bg-notepaper-mobile-2x.png') 2x);
        margin-top: 30px;
    }

    .register-download .content {
        padding-top: 130px;
        padding-left: 0;
        padding-right: 0;
    }

    .register-download .content .title {
        padding: 10px 15px;
    }

    .register-download .content .sub-title {
        height: 40px;
    }

    .register-download .content .sub-title p {
        height: 40px;
    }

    .register-download .content .register,
    .register-download .content .download {
        width: 70%;
    }

    .register-download .content .register .btns,
    .register-download .content .download .btns {
        padding: 20px 16px;
        gap: 14px;
    }

    .register-download .content .register .btn,
    .register-download .content .download .btn {
        width: 220px;
        height: 45px;
        border-radius: 45.5px;
    }

    .register-download .content .btns .btn p {
        font-size: 13px;
    }

    .register-download .content .download .btns .btn p span.small {
        font-size: 10px;
    }

    .register-download .content .download .btns .btn-outline.red-pdf::before {
        width: 11px;
        height: 13px;
    }

    .register-download .content .decoration {
        width: 310px;
        margin-top: 0;
    }
}

/* ===== Footer ===== */

.footer .top {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #fff;
    padding-top: 50px;
}

.footer .top .sponsor_laptop {
    display: flex;
    padding: 48px 0 40px 0;
    flex-direction: column;
    align-items: center;
    background: #fff;
    width: 100%
}

@media (max-width:1024px) {
    .footer .top .sponsor_laptop {
        display: none
    }

}

.footer .top .sponsor_laptop .organiser, .footer .top .sponsor_laptop .middle, .footer .top .sponsor_laptop .top {
    display: flex;
    padding: 32px 0;
    width: 950px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start
}

@media (max-width:1024px) {
    .footer .top .sponsor_laptop .organiser, .footer .top .sponsor_laptop .middle, .footer .top .sponsor_laptop .top {
        width: 740px;
        align-items: center
    }

}

.footer .top .sponsor_laptop .organiser .wrap, .footer .top .sponsor_laptop .middle .wrap, .footer .top .sponsor_laptop .top .wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px
}

.footer .top .sponsor_laptop .organiser .wrap .title, .footer .top .sponsor_laptop .middle .wrap .title, .footer .top .sponsor_laptop .top .wrap .title {
    color: rgba(115, 107, 102, 1)
}

.footer .top .sponsor_laptop .top {
    flex-direction: row;
    justify-content: start;
    align-items: stretch
}

.footer .top .sponsor_laptop .top .img {
    display: flex;
    align-items: center;
    gap: 56px;
}

.footer .top .sponsor_laptop .top .img img {
    width: 245px
}

.footer .top .sponsor_laptop .top .left {
    position: relative;
    padding-right: 48px;
}

.footer .top .sponsor_laptop .top .left::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 1px;
    height: 110px;
    background-color: rgba(115, 107, 102, 1);
}

@media (max-width:1024px) {
    .footer .top .sponsor_laptop .top .left {
        border-right: none;
        padding: 0 0 24px 0
    }

}

.footer .top .sponsor_laptop .top .right {
    padding-left: 48px;
    gap: 16px;
    justify-content: space-between;
}

.footer .top .sponsor_laptop .top .right .img img {
    height: 78px;
    width: 78px
}

.footer .top .sponsor_laptop .top .right .logo-goldpeak img {
    width: 120px;
    height: auto;
}

.footer .top .sponsor_laptop .middle {
    flex-direction: row;
    justify-content: start
}

@media (max-width:1024px) {
    .footer .top .sponsor_laptop .middle {
        flex-direction: column
    }

}

.footer .top .sponsor_laptop .middle .img {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 43px
}

.footer .top .sponsor_laptop .middle .img img {
    width: auto;
    height: 40px
}

.footer .top .sponsor_laptop .middle .img img.hollywood {
    width: auto;
    height: 43px
}

.footer .top .sponsor_laptop .middle .left {
    position: relative;
    padding-right: 48px;
}

.footer .top .sponsor_laptop .middle .left::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 1px;
    height: 110px;
    background-color: rgba(115, 107, 102, 1);
}

.footer .top .sponsor_laptop .middle .right {
    padding-left: 48px
}

.footer .top .sponsor_laptop .organiser .img {
    display: flex;
    align-items: center;
    gap: 56px
}

.footer .top .sponsor_laptop .organiser .img img.chest {
    width: auto;
    height: 60px
}

.footer .top .sponsor_laptop .organiser .img img.horse {
    width: auto;
    height: 63px
}

.footer .top .sponsor_laptop .organiser p {
    color: rgba(115, 107, 102, 1);
    padding: 32px 0;
    font-size: 16px;
    font-style: normal;
    line-height: 30px
}

.footer .top .sponsor_mobile {
    display: none;
    padding: 48px 20px 40px 20px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #fff;
    width: 100%
}

@media (max-width:1024px) {
    .footer .top .sponsor_mobile {
        display: flex
    }

}

@media (max-width:768px) {
    .footer .top .sponsor_mobile {
        padding: 36px 15px 32px 15px
    }

}

@media (max-width:576px) {
    .footer .top .sponsor_mobile {
        padding: 32px 10px 28px 10px
    }

}

@media (max-width:414px) {
    .footer .top .sponsor_mobile {
        padding: 28px 10px 24px 10px
    }

}

@media (max-width:360px) {
    .footer .top .sponsor_mobile {
        padding: 24px 10px 20px 10px
    }

}

.footer .top .sponsor_mobile .wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 32px;
    padding: 32px 0;
    border-bottom: 1px solid rgba(115, 107, 102, 1);
    width: 750px
}

@media (max-width:768px) {
    .footer .top .sponsor_mobile .wrap {
        width: 90%;
        max-width: 600px;
        gap: 28px;
        padding: 28px 0
    }

}

@media (max-width:576px) {
    .footer .top .sponsor_mobile .wrap {
        width: 95%;
        gap: 24px;
        padding: 24px 0
    }

}

@media (max-width:414px) {
    .footer .top .sponsor_mobile .wrap {
        width: 100%;
        padding: 20px 0;
        box-sizing: border-box;
        gap: 20px
    }

}

@media (max-width:360px) {
    .footer .top .sponsor_mobile .wrap {
        padding: 16px 0;
        gap: 16px
    }

}

.footer .top .sponsor_mobile .wrap .title {
    color: rgba(115, 107, 102, 1);
    text-align: center
}

@media (max-width:576px) {
    .footer .top .sponsor_mobile .wrap .title {
        font-size: 14px
    }

}

@media (max-width:414px) {
    .footer .top .sponsor_mobile .wrap .title {
        font-size: 13px
    }

}

@media (max-width:360px) {
    .footer .top .sponsor_mobile .wrap .title {
        font-size: 12px
    }

}

.footer .top .sponsor_mobile .wrap .img {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 48px;
    flex-wrap: wrap
}

@media (max-width:768px) {
    .footer .top .sponsor_mobile .wrap .img {
        gap: 36px
    }

}

@media (max-width:576px) {
    .footer .top .sponsor_mobile .wrap .img {
        gap: 32px
    }

}

@media (max-width:414px) {
    .footer .top .sponsor_mobile .wrap .img {
        gap: 28px
    }

}

@media (max-width:360px) {
    .footer .top .sponsor_mobile .wrap .img {
        gap: 20px
    }

}

.footer .top .sponsor_mobile .wrap .img img {
    width: auto;
    height: 32px
}

.footer .top .sponsor_mobile .wrap .img img.hangseng{
    width: auto;
    height: 46.4px
}

.footer .top .sponsor_mobile .wrap .img img.hollywood{
    width: auto;
    height: 35px
}

.footer .top .sponsor_mobile .wrap .img .hang_bank {
    height: auto;
    width: 190px
}

.footer .top .sponsor_mobile .wrap .img .nameson {
    height: auto;
    width: 190px
}


.footer .top .sponsor_mobile .wrap .img .goldpeak_logo {
    width: auto;
    height: 46.5px
}

.footer .top .sponsor_mobile .wrap .img .chest {
    width: auto;
    height: 46.5px
}

.footer .top .sponsor_mobile .wrap .img .horse {
    width: auto;
    height: 49.1px
}

.footer .top .sponsor_mobile .wrap p {
    color: #754725;
    padding: 16px 0 32px;
    font-size: 16px;
    font-style: normal;
    line-height: 30px;
    text-align: center;
    text-wrap: auto
}

@media (max-width:768px) {
    .footer .top .sponsor_mobile .wrap p {
        font-size: 15px;
        line-height: 26px;
        padding: 14px 0 28px
    }

}

@media (max-width:576px) {
    .footer .top .sponsor_mobile .wrap p {
        font-size: 13px;
        line-height: 24px;
        padding: 12px 0 24px
    }

}

@media (max-width:414px) {
    .footer .top .sponsor_mobile .wrap p {
        font-size: 13px;
        line-height: 22px;
        padding: 10px 32px 20px
    }

}

@media (max-width:360px) {
    .footer .top .sponsor_mobile .wrap p {
        font-size: 12px;
        line-height: 20px;
        padding: 8px 16px 16px
    }

}

.footer .top .sponsor_mobile .media_partner {
    gap: 20px
}

@media (max-width:576px) {
    .footer .top .sponsor_mobile .media_partner {
        gap: 16px
    }

}

@media (max-width:414px) {
    .footer .top .sponsor_mobile .media_partner {
        gap: 12px
    }

}

@media (max-width:360px) {
    .footer .top .sponsor_mobile .media_partner {
        gap: 10px
    }

}

.footer .top .sponsor_mobile .organiser {
    border: none
}

@media (max-width:1024px) {
    .footer .top .sponsor_mobile {
        display: flex
    }

}

.footer .bottom {
    background-color: rgba(106, 192, 146, 1);
}

.footer .bottom .content {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
}

.footer .bottom .logo {
    flex: 0 0 calc(40% - 3.5px);
    display: flex;
    justify-content: center;
}

.footer .bottom .logo img {
    width: 300px;
}

.footer .bottom .divider {
    flex: 0 0 7px;
    height: 275px;
    background-color: rgba(255, 250, 240, 1);
    border-radius: 999px;
}

.footer .bottom .info {
    position: relative;
    flex: 0 0 calc(60% - 3.5px);
    display: flex;
    justify-content: center;
    padding: 0 20px;
}

.footer .bottom .info p {
    font-weight: 400;
    font-size: 18px;
    line-height: 1;
    color: rgba(255, 255, 255, 1);
}

.footer .bottom .info .lines {
    padding-top: 80px;
    padding-bottom: 80px;
}

.footer .bottom .info .line:first-child p {
    font-size: 18px;
    margin-left: unset !important;
}

.footer .bottom .info .line,
.footer .bottom .info .line div {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.footer .bottom .info .line>div:first-child {
    width: 275px;
}

.footer .bottom .info .line:has(div) {
    gap: 15px;
}

.footer .bottom .info .line:nth-child(1 of .line) {
    margin-bottom: 30px;
}

.footer .bottom .info .line:nth-child(1 of .line) p {
    margin-left: 5px;
}

.footer .bottom .info .line:nth-child(2 of .line) {
    margin-bottom: 30px;
}

.footer .bottom .info .line:nth-child(3 of .line) {
    margin-bottom: 30px;
}

.footer .bottom .info .line:nth-child(4 of .line) {
    margin-bottom: 30px;
}

.footer .bottom .info .line img {
    width: auto;
    height: 40px;
}

.footer .bottom .info .line a:not(:last-child) img {
    margin-right: 32px;
}

.footer .bottom .info .line:not(:last-child) img {
    width: 30px;
    height: auto;
    margin-right: 25px;
}

@media (max-width: 743px) {
    .footer .bottom .content {
        flex-direction: column;
    }

    .footer .bottom .logo {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .footer .bottom .logo img {
        width: 230px;
    }

    .footer .bottom .divider {
        width: 350px;
        height: 3px;
        flex: unset;
    }

    .footer .bottom .info .lines {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .footer .bottom .info .line p {
        font-size: 12px;
        line-height: 1.3;
        word-break: normal;
        text-wrap: unset;
    }

    .footer .bottom .info .line {
        justify-content: center;
    }

    .footer .bottom .info .line div,
    .footer .bottom .info .line:not(:first-child) {
        width: 270px !important;
    }

    .footer .bottom .info .line:first-child p {
        font-size: 15px;
    }

    .footer .bottom .info .line:has(div) {
        flex-direction: column;
        gap: 15px;
    }

    .footer .bottom .info .line:nth-child(2 of .line),
    .footer .bottom .info .line:nth-child(3 of .line) {
        margin-bottom: 15px;
    }

    .footer .bottom .info .line:not(:last-child) img {
        margin-right: 5px;
    }

    .footer .bottom .info .line:nth-child(1 of .line) {
        width: 260px;
        text-align: center;
    }
}

@media (min-width: 744px) and (max-width: 1024px) {
    .footer .bottom .content {
        flex-direction: column;
    }

    .footer .bottom .logo {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .footer .bottom .logo img {
        width: 230px;
    }

    .footer .bottom .divider {
        width: 350px;
        height: 3px;
        flex: unset;
    }

    .footer .bottom .info .lines {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .footer .bottom .info .line p {
        font-size: 12px;
        line-height: 1.3;
        word-break: normal;
        text-wrap: unset;
    }

    .footer .bottom .info .line {
        justify-content: center;
    }

    .footer .bottom .info .line div,
    .footer .bottom .info .line:not(:first-child) {
        width: 270px !important;
    }

    .footer .bottom .info .line:first-child p {
        font-size: 15px;
    }

    .footer .bottom .info .line:has(div) {
        flex-direction: column;
        gap: 15px;
    }

    .footer .bottom .info .line:nth-child(2 of .line),
    .footer .bottom .info .line:nth-child(3 of .line) {
        margin-bottom: 15px;
    }

    .footer .bottom .info .line:not(:last-child) img {
        margin-right: 5px;
    }

    .footer .bottom .info .line:nth-child(1 of .line) {
        width: 240px;
        text-align: center;
    }
}