@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100..900&display=swap");

html {
    font-size: 18px;
}

@media (max-width: 1200px) {
    html {
        font-size: 16px;
    }
}

body {
    font-family: Arial, 'Noto Sans TC', sans-serif;
    background: repeating-linear-gradient(310deg, rgba(249, 241, 240, 0.5), rgba(249, 241, 240, 0.5) 8px, #FFFCF9 0, #FFFCF9 14px);
    color: #4B4847;
    font-weight: 400;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 100vh;
    line-height: 1.6;
}

    body.menu-show {
        overflow: hidden;
        position: fixed;
        height: 100%;
        width: 100%;
    }

[class^="icon-"]:before,
[class*=" icon-"]:before {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.demo-icon {
    display: inline-block;
    line-height: 100%;
}

*::-webkit-scrollbar {
    width: 14px;
    height: 14px;
    background-color: #FAFAFA;
}

*::-webkit-scrollbar-thumb {
    border: 4px solid rgba(0, 0, 0, 0);
    background-clip: padding-box;
    border-radius: 9999px;
    background-color: #C2C2C2;
}

    *::-webkit-scrollbar-thumb:hover {
        background-color: #B7B6B5;
    }

::-webkit-input-placeholder {
    color: #B7B6B5;
    font-weight: 400;
    opacity: 1;
}

:-ms-input-placeholder {
    color: #B7B6B5;
    font-weight: 400;
    opacity: 1;
}

::-ms-input-placeholder {
    color: #B7B6B5;
    font-weight: 400;
    opacity: 1;
}

::placeholder {
    color: #B7B6B5;
    font-weight: 400;
    opacity: 1;
}

a {
    color: inherit;
    text-decoration: none;
}

    a:hover {
        color: inherit;
    }

input[type=file] {
    display: none;
}

ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 90px;
    position: -webkit-sticky;
    position: sticky;
    left: 0;
    top: 0;
    right: 0;
    z-index: 3;
    background: #FFFFFF;
    padding: 0 100px;
}

    .header .logo {
        height: 75px;
    }

@media (max-width: 1200px) {
    .header {
        padding: 0 10px;
        height: 70px;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        overflow: visible;
    }

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

.user_info {
    position: relative;
    font-size: 1.8889rem;
    cursor: pointer;
}

@media (max-width: 1200px) {
    .user_info {
        font-size: 1.6667rem;
    }
}

.user_info .user_menu {
    width: 150px;
    border-radius: 10px;
    background: #FFFFFF;
    -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
    border: none;
    inset: 0px 0px auto auto !important;
}

    .user_info .user_menu .menu_item {
        display: block;
        text-align: center;
        padding: 10px 18px;
        cursor: pointer;
    }

        .user_info .user_menu .menu_item:hover {
            background: rgba(249, 241, 240, 0.5);
        }

.header_ham {
    position: relative;
    display: none;
    font-size: 30px;
    cursor: pointer;
}

@media (max-width: 1200px) {
    .header_ham {
        display: block;
    }
}

.navbar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0 10px;
    border: none;
    min-width: auto;
    cursor: pointer;
}

@media (max-width: 1200px) {
    .navbar {
        display: none;
        width: 150px;
        padding: 0;
        border-radius: 10px;
        background: #FFFFFF;
        -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
        box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
        border: none;
        inset: 0px 0px auto auto !important;
    }

        .navbar .menu_item {
            display: block;
            text-align: center;
            padding: 10px 18px;
            cursor: pointer;
        }

            .navbar .menu_item:hover {
                background: rgba(249, 241, 240, 0.5);
            }
}

.user_login {
    position: relative;
    padding: 12px 35px;
    border-radius: 40px;
    background: #FB7660;
    -webkit-box-shadow: 1px 1px 0px 0px rgba(0, 0, 0, 0.16);
    box-shadow: 1px 1px 0px 0px rgba(0, 0, 0, 0.16);
    font-size: 20px;
    font-weight: 500;
    color: #FFFFFF;
    overflow: hidden;
    cursor: pointer;
}

    .user_login:hover {
        opacity: 0.8;
    }

    .user_login:after {
        background-image: linear-gradient(100deg, rgba(255, 255, 255, 0), #fff);
        content: "";
        height: 100%;
        left: -100px;
        position: absolute;
        top: 0;
        width: 50px;
    }

@media screen and (max-width: 1200px) {
    .user_login {
        padding: 6px 18px;
        font-size: 16px;
    }
}

@-webkit-keyframes shiny_btn {
    0% {
        opacity: 0;
        -webkit-transform: scale(0) rotate(25deg);
        transform: scale(0) rotate(25deg);
    }

    84% {
        opacity: 0;
        -webkit-transform: scale(0) rotate(25deg);
        transform: scale(0) rotate(25deg);
    }

    85% {
        opacity: .9;
        -webkit-transform: scale(1) rotate(25deg);
        transform: scale(1) rotate(25deg);
    }

    100% {
        opacity: 0;
        -webkit-transform: scale(50) rotate(25deg);
        transform: scale(50) rotate(25deg);
    }
}

@keyframes shiny_btn {
    0% {
        opacity: 0;
        -webkit-transform: scale(0) rotate(25deg);
        transform: scale(0) rotate(25deg);
    }

    84% {
        opacity: 0;
        -webkit-transform: scale(0) rotate(25deg);
        transform: scale(0) rotate(25deg);
    }

    85% {
        opacity: .9;
        -webkit-transform: scale(1) rotate(25deg);
        transform: scale(1) rotate(25deg);
    }

    100% {
        opacity: 0;
        -webkit-transform: scale(50) rotate(25deg);
        transform: scale(50) rotate(25deg);
    }
}

.btn_pink70_outline {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 5px 20px;
    border-radius: 10px;
    border: 1px solid #E37174;
    background: #FFFFFF;
    -webkit-box-shadow: 1px 1px 0px 0px rgba(0, 0, 0, 0.16);
    box-shadow: 1px 1px 0px 0px rgba(0, 0, 0, 0.16);
    color: #E37174;
    font-size: 1rem;
    font-weight: 400;
    cursor: pointer;
    -webkit-transition: 0.25s ease;
    transition: 0.25s ease;
}

    .btn_pink70_outline:hover {
        background: rgba(227, 113, 116, 0.2);
    }

    .btn_pink70_outline.min_width {
        min-width: 100px;
    }

.btn_pink70 {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 5px 20px;
    border-radius: 10px;
    background: #E37174;
    -webkit-box-shadow: 1px 1px 0px 0px rgba(0, 0, 0, 0.16);
    box-shadow: 1px 1px 0px 0px rgba(0, 0, 0, 0.16);
    color: #FFFFFF;
    font-size: 1rem;
    font-weight: 400;
    cursor: pointer;
    -webkit-transition: 0.25s ease;
    transition: 0.25s ease;
}

    .btn_pink70:hover {
        opacity: 0.8;
    }

.btn_icon_join {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 5px;
    cursor: pointer;
    -webkit-transition: 0.25s ease;
    transition: 0.25s ease;
}

    .btn_icon_join i {
        font-size: 2rem;
        color: #FB7660;
        -webkit-transition: 0.25s ease;
        transition: 0.25s ease;
    }

    .btn_icon_join div {
        font-size: 1.1112rem;
        white-space: nowrap;
        color: #FFFFFF;
        background: #FB7660;
        padding: 5px 15px;
        border-radius: 10px;
        -webkit-box-shadow: 1px 1px 0px 0px rgba(0, 0, 0, 0.16);
        box-shadow: 1px 1px 0px 0px rgba(0, 0, 0, 0.16);
        -webkit-transition: 0.25s ease;
        transition: 0.25s ease;
    }

    .btn_icon_join:hover {
        opacity: 0.8;
    }

    .btn_icon_join:disabled, .btn_icon_join.disabled {
        opacity: 1;
        cursor: not-allowed;
    }

        .btn_icon_join:disabled i, .btn_icon_join.disabled i {
            color: #C2C2C2;
        }

        .btn_icon_join:disabled div, .btn_icon_join.disabled div {
            background: #C2C2C2;
        }

.btn_join_close {
    padding: 5px 15px;
    border-radius: 10px;
    background: #C2C2C2;
    -webkit-box-shadow: 1px 1px 0px 0px rgba(0, 0, 0, 0.16);
    box-shadow: 1px 1px 0px 0px rgba(0, 0, 0, 0.16);
    font-size: 1.1112rem;
    color: #FFFFFF;
    white-space: nowrap;
    cursor: not-allowed;
    -webkit-transition: 0.25s ease;
    transition: 0.25s ease;
}

.btn_join {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    padding: 10px 30px;
    border-radius: 10px;
    background: #FB7660;
    font-size: 1.6667rem;
    font-weight: 500;
    color: #FFFFFF;
    letter-spacing: 1.5px;
    cursor: pointer;
    -webkit-transition: 0.25s ease;
    transition: 0.25s ease;
}

    .btn_join:hover {
        opacity: 0.8;
    }

.btn_gray80_outline {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    padding: 2px 10px;
    border-radius: 10px;
    border: 1px solid #4B4847;
    background: #FFFFFF;
    color: #4B4847;
    cursor: pointer;
    -webkit-transition: 0.25s ease;
    transition: 0.25s ease;
}

    .btn_gray80_outline:hover {
        color: #6F6D6C;
        border-color: #6F6D6C;
    }

.btn_icon_gray80_outline {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 10px;
    border: 1px solid #4B4847;
    background: #FFFFFF;
    color: #4B4847;
    cursor: pointer;
    -webkit-transition: 0.25s ease;
    transition: 0.25s ease;
}

    .btn_icon_gray80_outline i {
        color: #4B4847;
    }

    .btn_icon_gray80_outline.disabled, .btn_icon_gray80_outlinedisabled {
        cursor: not-allowed;
    }

.btn_icon_search {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    padding: 10px;
    border-radius: 10px;
    border: 1px solid #A45C40;
    background: #A45C40;
    color: #FFFFFF;
    cursor: pointer;
    -webkit-transition: 0.25s ease;
    transition: 0.25s ease;
}

    .btn_icon_search i {
        color: #FFFFFF;
    }

    .btn_icon_search:hover {
        opacity: 0.8;
    }

.btn_link_brown50 {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 5px;
    font-size: 1rem;
    font-weight: 400;
    color: #A45C40;
    -webkit-text-decoration-line: underline;
    text-decoration-line: underline;
    cursor: pointer;
    -webkit-transition: 0.25s ease;
    transition: 0.25s ease;
}

    .btn_link_brown50 i {
        font-size: 20px;
    }

    .btn_link_brown50:hover {
        color: #8F4326;
    }

.btn_link_pink70 {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 5px;
    color: #E37174;
    -webkit-text-decoration-line: underline;
    text-decoration-line: underline;
    cursor: pointer;
    -webkit-transition: 0.25s ease;
    transition: 0.25s ease;
}

    .btn_link_pink70 i {
        font-size: 20px;
    }

    .btn_link_pink70:hover {
        color: #DD4C50;
    }

.week_tag {
    padding: 2px 10px;
    font-size: 0.8888rem;
    font-weight: 500;
    color: #FFFFFF;
    margin-right: 10px;
}

    .week_tag.weekend {
        background: #91C7DE;
    }

    .week_tag.weekday {
        background: #F1B8BA;
    }

    .week_tag.member {
        background: #EEB53D;
    }

.footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 30px 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 0.8888rem;
    background: #FFFFFF;
}

    .footer .logo_content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 40px;
    }

@media screen and (max-width: 1200px) {
    .footer .logo_content {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 15px;
    }
}

.footer .logo_content img {
    max-height: 40px;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    cursor: pointer;
}

.footer .footer_info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 30px;
    padding-top: 10px;
    margin-top: 10px;
    border-top: 1px solid #4B4847;
}

@media screen and (max-width: 1200px) {
    .footer .footer_info {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 10px;
        width: 90%;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
}

.scroll-top {
    position: fixed;
    visibility: hidden;
    opacity: 0;
    right: 20px;
    bottom: 50px;
    z-index: 1001;
    -webkit-filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.16));
    filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.16));
    width: 70px;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
}

    .scroll-top img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
    }

    .scroll-top i {
        font-size: 24px;
        color: #fff;
        line-height: 0;
    }

    .scroll-top:hover {
        -webkit-transform: translateY(-10px);
        transform: translateY(-10px);
    }

    .scroll-top.active {
        visibility: visible;
        opacity: 1;
    }

@media screen and (max-width: 1200px) {
    .scroll-top {
        width: 50px;
        right: 10px;
        bottom: 30px;
    }
}

.main_page {
    position: relative;
    padding: 50px 0 80px;
    margin-bottom: auto;
    min-height: calc(100vh - 90px - 147px);
}

    .main_page .page_container {
        max-width: 1200px;
        margin: 0 auto;
    }

@media screen and (max-width: 1200px) {
    .main_page .page_container {
        max-width: 90%;
    }
}

.main_page .admin_container {
    max-width: 1380px;
    margin: 0 auto;
}

@media screen and (max-width: 1200px) {
    .main_page .admin_container {
        max-width: 90%;
    }
}

.main_page .admin_container .admin_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
}

    .main_page .admin_container .admin_content .tab_menu {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        font-size: 1.2223rem;
        font-weight: 500;
        margin: 0 auto 10px;
    }

        .main_page .admin_container .admin_content .tab_menu .tab_item {
            position: relative;
            padding: 15px 30px 5px 30px;
            color: #E37174;
            opacity: .6;
        }

            .main_page .admin_container .admin_content .tab_menu .tab_item a {
                position: relative;
                display: inline-block;
                text-decoration: none;
            }

                .main_page .admin_container .admin_content .tab_menu .tab_item a:after {
                    position: absolute;
                    top: -10px;
                    left: 50%;
                    -webkit-transform: translateX(-50%);
                    transform: translateX(-50%);
                    content: '\E804';
                    font-family: "fontello";
                    font-size: 0.8888rem;
                    opacity: 0;
                    visibility: hidden;
                    -webkit-transition: .3s;
                    transition: .3s;
                }

            .main_page .admin_container .admin_content .tab_menu .tab_item:hover, .main_page .admin_container .admin_content .tab_menu .tab_item.active {
                opacity: 1;
            }

                .main_page .admin_container .admin_content .tab_menu .tab_item:hover a::after, .main_page .admin_container .admin_content .tab_menu .tab_item.active a::after {
                    opacity: 1;
                    visibility: visible;
                    top: -20px;
                }

.function_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 1.1112rem;
    font-weight: 500;
    padding: 20px 30px;
    border-radius: 20px;
    background: #FFFFFF;
    -webkit-box-shadow: 2px 4px 2px 0px rgba(0, 0, 0, 0.1);
    box-shadow: 2px 4px 2px 0px rgba(0, 0, 0, 0.1);
}

    .function_content i {
        font-size: 1.4445rem;
        margin-left: auto;
        cursor: pointer;
    }

.table_content {
    padding: 20px 30px;
    border-radius: 20px;
    background: #FFFFFF;
    -webkit-box-shadow: 2px 4px 2px 0px rgba(0, 0, 0, 0.1);
    box-shadow: 2px 4px 2px 0px rgba(0, 0, 0, 0.1);
    gap: 20px;
}

@media screen and (max-width: 1200px) {
    .table_content {
        padding: 20px;
    }
}

.filter_row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 15px 0;
    gap: 10px;
}

    .filter_row .search {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 10px;
    }

    .filter_row .function_group {
        margin-left: auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 15px;
    }

.filter_table {
    width: 100%;
    overflow-x: auto;
}

    .filter_table .td_function {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        gap: 10px;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }

    .filter_table .item_status {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }

        .filter_table .item_status .signup_date {
            font-size: 0.8888rem;
            color: #A5A4A3;
        }

        .filter_table .item_status .cancel_reason {
            font-size: 0.8888rem;
            color: #E37174;
        }

table {
    width: 100%;
    background: #FFFFFF;
}

    table th {
        font-size: 0.8888rem;
        color: #939191;
        font-weight: 400;
        padding: 8px 10px;
    }

    table td {
        font-size: 1rem;
        color: #4B4847;
        font-weight: 400;
        padding: 10px;
    }

        table td.left {
            text-align: left;
        }

        table td.center {
            text-align: center;
        }

        table td.right {
            text-align: right;
        }

    table tr {
        border-bottom: 1px dashed #B7B6B5;
    }

    table tbody tr:hover {
        background: rgba(249, 241, 240, 0.5);
    }

.pageData ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 20px 0;
}

    .pageData ul li {
        display: inline;
    }

        .pageData ul li div {
            font-size: 1.1112rem;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            justify-content: center;
            border-radius: 50%;
            width: 40px;
            height: 40px;
            padding: 3px 11px;
            margin: 0 2px;
            cursor: pointer;
            -webkit-transition: 0.2s ease;
            transition: 0.2s ease;
        }

            .pageData ul li div:hover {
                background: rgba(227, 113, 116, 0.2);
            }

            .pageData ul li div.active {
                background: rgba(227, 113, 116, 0.2);
                cursor: default;
            }

            .pageData ul li div.disabled, .pageData ul li div.separator {
                background: transparent;
                color: #939191;
                cursor: default;
            }

.noData {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 80px 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 1.1112rem;
    width: 100%;
}

#ftco-loader {
    position: fixed;
    margin: auto;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-box-shadow: 0px 24px 64px rgba(0, 0, 0, 0.24);
    box-shadow: 0px 24px 64px rgba(0, 0, 0, 0.24);
    border-radius: 16px;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity .2s ease-out, visibility 0s linear .2s;
    transition: opacity .2s ease-out, visibility 0s linear .2s;
    z-index: 1000;
}

    #ftco-loader.fullscreen {
        padding: 0;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        -webkit-transform: none;
        transform: none;
        background-color: #F9F1F0;
        border-radius: 0;
        -webkit-box-shadow: none;
        box-shadow: none;
    }

    #ftco-loader.show {
        -webkit-transition: opacity .4s ease-out, visibility 0s linear 0s;
        transition: opacity .4s ease-out, visibility 0s linear 0s;
        visibility: visible;
        opacity: 1;
    }

    #ftco-loader .heart {
        position: absolute;
        left: calc(50% - 40px);
        top: calc(50% - 40px);
    }

        #ftco-loader .heart:nth-child(1) svg {
            opacity: 0;
            -webkit-animation: heartUp 1.4s infinite ease-in;
            animation: heartUp 1.4s infinite ease-in;
        }

        #ftco-loader .heart:nth-child(2) svg {
            position: absolute;
            left: 1rem;
            opacity: 0;
            -webkit-animation: heartUp 1.4s 0.3s infinite ease-in;
            animation: heartUp 1.4s 0.3s infinite ease-in;
        }

        #ftco-loader .heart:nth-child(3) svg {
            position: absolute;
            left: 0.5rem;
            opacity: 0;
            -webkit-animation: heartUp 1.4s 0.6s infinite ease-in;
            animation: heartUp 1.4s 0.6s infinite ease-in;
        }

    #ftco-loader svg {
        fill: #f58d9c;
    }

@-webkit-keyframes heartUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 0, 0) rotate(10deg);
        transform: translate3d(0, 0, 0) rotate(10deg);
    }

    50% {
        opacity: 1;
    }

    65% {
        opacity: 1;
    }

    90% {
        opacity: 0;
        -webkit-transform: translate3d(0, -35vh, 0) scale(1.2) rotate(-10deg);
        transform: translate3d(0, -35vh, 0) scale(1.2) rotate(-10deg);
    }

    100% {
        opacity: 0;
    }
}

@keyframes heartUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 0, 0) rotate(10deg);
        transform: translate3d(0, 0, 0) rotate(10deg);
    }

    50% {
        opacity: 1;
    }

    65% {
        opacity: 1;
    }

    90% {
        opacity: 0;
        -webkit-transform: translate3d(0, -35vh, 0) scale(1.2) rotate(-10deg);
        transform: translate3d(0, -35vh, 0) scale(1.2) rotate(-10deg);
    }

    100% {
        opacity: 0;
    }
}

.modal-content {
    max-height: 100%;
    border-radius: 20px;
    overflow: hidden;
}

    .modal-content .modal-header {
        padding: 12px 30px;
    }

    .modal-content .modal-body {
        padding: 30px 40px 50px;
        overflow-y: auto;
    }

@media screen and (max-width: 1200px) {
    .modal-content .modal-body {
        padding: 30px 20px 50px 20px;
    }
}

.modal-content .modal-footer {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 12px 30px;
}

.modal-dialog {
    height: calc(100vh - 3.5rem);
    margin: 1.75rem auto;
}

@media screen and (max-width: 1200px) {
    .modal-dialog {
        margin: 0 auto;
        height: 100vh;
    }
}

.min_height .modal-content {
    height: 100%;
}

.modal_1140 {
    max-width: 1140px;
}

@media screen and (max-width: 1200px) {
    .modal_1140 {
        max-width: 100vw;
    }
}

.modal_800 {
    max-width: 800px;
}

@media screen and (max-width: 1200px) {
    .modal_800 {
        max-width: 100vw;
    }
}

.modal_check .modal-body, .modal_hint .modal-body {
    padding: 60px 50px;
    text-align: center;
}

    .modal_check .modal-body .title, .modal_hint .modal-body .title {
        width: 100%;
        font-size: 1.1112rem;
        display: block;
    }

.modal_img {
    max-width: 90%;
    min-width: 70%;
    height: auto;
}

.modal_warning .modal-header {
    color: #FFFFFF;
    background: #E37174;
}

    .modal_warning .modal-header i {
        color: #FFFFFF;
    }

        .modal_warning .modal-header i:hover {
            background: rgba(0, 0, 0, 0.2);
        }

.modal_warning .modal-body {
    padding: 50px 40px 80px;
    background: #F9F1F0;
    font-size: 1.1112rem;
}

.success_toasts {
    width: 500px;
    border-radius: 20px;
    position: fixed;
    bottom: 1.75rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 1100;
    padding: 20px 30px;
    text-align: center;
    font-size: 1.1112rem;
    color: #FFFFFF;
    background: #E37174;
}

.miss_form .miss_hint {
    padding: 10px;
    background: rgba(227, 113, 116, 0.1);
    font-size: 1rem;
    margin: 15px 0;
}

.signUp_form {
    margin: auto;
    width: 900px;
}

@media screen and (max-width: 1200px) {
    .signUp_form {
        width: 100%;
    }
}

.signUp_form .content_title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 15px 0 10px;
    font-size: 1.1112rem;
    font-weight: 500;
    border-bottom: 1px solid #C2C2C2;
}

.signUp_form .btn_IDadd {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    aspect-ratio: 16 / 9;
    background: #FAFAFA;
    font-size: 0.8888rem;
    color: #A5A4A3;
    border-radius: 10px;
    border: 1px dashed rgba(51, 51, 51, 0.2);
    cursor: pointer;
    -webkit-transition: 0.25s ease;
    transition: 0.25s ease;
}

    .signUp_form .btn_IDadd:hover {
        background: #F2F2F2;
    }

    .signUp_form .btn_IDadd:active {
        background: #ECECEC;
    }

    .signUp_form .btn_IDadd i {
        font-size: 1.1112rem;
        margin-right: 5px;
    }

.signUp_form .file_error {
    border: 2px solid #E37174;
}

    .signUp_form .file_error .error_msg {
        color: #E37174;
        font-size: 0.8888rem;
        padding: 0;
        margin: 0;
    }

.plan_form {
    margin: auto;
    width: 900px;
}

@media screen and (max-width: 1200px) {
    .plan_form {
        width: 100%;
    }
}

.plan_form .plan_item_select {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 30px;
    border-radius: 30px;
    background: #FFFFFF;
    height: 100%;
    -webkit-box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.1);
    cursor: pointer;
}

    .plan_form .plan_item_select .item_info ._title {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        font-size: 1.2223rem;
        font-weight: 500;
    }

        .plan_form .plan_item_select .item_info ._title i {
            font-size: 2.2222rem;
            margin-right: 5px;
        }

    .plan_form .plan_item_select .item_info ._pricing {
        font-size: 1.6667rem;
        font-weight: 600;
    }

    .plan_form .plan_item_select .item_info ._expiration_date {
        font-size: 1.1112rem;
        font-weight: 500;
        color: #E37174;
    }

    .plan_form .plan_item_select .item_info ._discount_list {
        margin-top: 10px;
    }

        .plan_form .plan_item_select .item_info ._discount_list i {
            font-size: 1.1112rem;
            margin-right: 5px;
        }

    .plan_form .plan_item_select::after {
        content: '\E800';
        font-family: "fontello";
        position: absolute;
        font-size: 2.7777rem;
        color: rgba(227, 113, 116, 0.9);
        top: 20px;
        right: 20px;
        z-index: 1;
        opacity: 0;
    }

    .plan_form .plan_item_select.active {
        background: -webkit-gradient(linear, left bottom, left top, from(rgba(225, 103, 126, 0.1)), to(rgba(225, 103, 126, 0.1))), #FFF;
        background: linear-gradient(0deg, rgba(225, 103, 126, 0.1) 0%, rgba(225, 103, 126, 0.1) 100%), #FFF;
        -webkit-box-shadow: 0px 2px 10px 0px rgba(222, 135, 167, 0.4);
        box-shadow: 0px 2px 10px 0px rgba(222, 135, 167, 0.4);
    }

        .plan_form .plan_item_select.active::after {
            opacity: 1;
        }

.plan_content {
    margin-top: 80px;
}

    .plan_content .title {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        position: relative;
        font-size: 1.6667rem;
        font-weight: 600;
        letter-spacing: 4.5px;
    }

        .plan_content .title .divider {
            margin-top: 10px;
            width: 430px;
        }

@media screen and (max-width: 1200px) {
    .plan_content .title .divider {
        width: 100%;
    }
}

.plan_content .plan_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 30px;
    border-radius: 30px;
    background: #FFFFFF;
    height: 100%;
    -webkit-box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.1);
}

    .plan_content .plan_item .item_info ._title {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        font-size: 1.2223rem;
        font-weight: 500;
    }

        .plan_content .plan_item .item_info ._title i {
            font-size: 2.2222rem;
            margin-right: 5px;
        }

    .plan_content .plan_item .item_info ._pricing {
        font-size: 1.6667rem;
        font-weight: 600;
    }

    .plan_content .plan_item .item_info ._expiration_date {
        font-size: 1rem;
        font-weight: 500;
        color: #E37174;
    }

    .plan_content .plan_item .item_info ._discount_list {
        font-size: 0.8888rem;
        margin-top: 10px;
    }

        .plan_content .plan_item .item_info ._discount_list i {
            font-size: 1.1112rem;
            margin-right: 5px;
        }

    .plan_content .plan_item .btn_buy {
        margin-top: 20px;
        text-align: center;
    }

.form_content {
    width: 450px;
    margin: auto;
}

@media screen and (max-width: 768px) {
    .form_content {
        width: 100%;
    }
}

.form_group {
    margin-top: 15px;
}

    .form_group.horizontal {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .form_group .hint {
        color: #E37174;
    }

.form_title {
    font-size: 1rem;
    color: #4B4847;
}

    .form_title .info {
        color: #E37174;
    }

.form_input, .form_select {
    padding: 8px 10px;
    border-radius: 10px;
    border: 1px solid #B7B6B5;
    background: #FFFFFF;
    outline: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    width: 100%;
}

    .form_input:active, .form_input:focus, .form_select:active, .form_select:focus {
        border: 1px solid #4B4847;
    }

    .form_input:disabled, .form_input.disabled, .form_select:disabled, .form_select.disabled {
        border: 1px solid #B7B6B5;
        background: #F6F6F6;
        cursor: not-allowed;
    }

.form_radio, .form_checkbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 8px 10px;
    border-radius: 10px;
    border: 1px solid #B7B6B5;
    background: #FFFFFF;
    outline: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    width: 100%;
}

.input {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 10px 15px;
    border-radius: 10px;
    border: 1px solid #B7B6B5;
    background: #FFFFFF;
    outline: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    width: 100%;
}

    .input.switch {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

        .input.switch span {
            color: #4B4847;
        }

        .input.switch .toggle {
            position: relative;
            display: inline-block;
            width: 52px;
            height: 26px;
        }

            .input.switch .toggle input {
                display: none;
            }

            .input.switch .toggle .slider {
                position: absolute;
                cursor: pointer;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                background-color: #C2C2C2;
                -webkit-transition: .3s;
                transition: .3s;
                border-radius: 15px;
            }

                .input.switch .toggle .slider:before {
                    position: absolute;
                    content: '';
                    height: 22px;
                    width: 22px;
                    left: 2px;
                    bottom: 2px;
                    background-color: #FFFFFF;
                    -webkit-transition: .3s;
                    transition: .3s;
                    border-radius: 50%;
                }

        .input.switch input:checked + .slider:before {
            -webkit-transform: translateX(26px);
            transform: translateX(26px);
        }

        .input.switch .toggle.disabled {
            opacity: 0.4;
        }

.form_select {
    padding-left: 15px;
    padding-right: 35px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url(../image/arrow-down.svg);
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 20px 20px;
}

.error-border {
    border: 1px solid #E37174 !important;
}

.filter_select {
    padding: 5px 35px 5px 15px;
    border-radius: 10px;
    border: 1px solid #B7B6B5;
    background: #FFFFFF;
    outline: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    font-size: 1rem;
    font-weight: 400;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url(../image/arrow-down.svg);
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 20px 20px;
}

    .filter_select:active, .filter_select:focus {
        border: 1px solid #4B4847;
    }

.filter_input {
    padding: 5px 35px 5px 15px;
    border-radius: 10px;
    border: 1px solid #B7B6B5;
    background: #FFFFFF;
    outline: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    font-size: 1rem;
    font-weight: 400;
}

    .filter_input:active, .filter_input:focus {
        border: 1px solid #4B4847;
    }

.btn_close {
    padding: 3px;
    border-radius: 50%;
    color: #B7B6B5;
    -webkit-transition: 0.25s ease;
    transition: 0.25s ease;
    cursor: pointer;
}

    .btn_close:hover {
        background: #ECECEC;
    }

    .btn_close._l {
        font-size: 46px;
    }

    .btn_close._m {
        font-size: 36px;
    }

    .btn_close._s {
        font-size: 20px;
    }

.login_modal .login_close {
    position: absolute;
    top: 14px;
    right: 30px;
    cursor: pointer;
    z-index: 1;
}

.login_modal .login_form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin: 140px auto 160px;
    width: 400px;
}

@media screen and (max-width: 768px) {
    .login_modal .login_form {
        width: 90%;
    }
}

.login_modal .login_form .typeContainer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-bottom: 1px solid #939191;
    width: 100%;
}

    .login_modal .login_form .typeContainer .loginType {
        padding: 10px 30px;
        border-radius: 10px 10px 0px 0px;
        background: #fff;
        color: #939191;
        cursor: pointer;
        width: 100%;
        text-align: center;
        margin-top: 30px;
    }

        .login_modal .login_form .typeContainer .loginType:hover {
            color: #4B4847;
        }

        .login_modal .login_form .typeContainer .loginType.focus {
            color: #4B4847;
        }

.radio {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    line-height: 28px;
    margin-right: 10px;
    position: relative;
}

input[type='radio'] {
    display: none;
}

    input[type='radio']:checked + .radio_radio:before {
        background-color: #4B4847;
        border-color: #4B4847;
    }

    input[type='radio']:checked + .radio_radio::after {
        border-color: #fff;
    }

.radio_radio {
    margin-right: 4px;
}

    .radio_radio:before {
        content: '';
        background-color: #fff;
        border: 1px solid #ccc;
        border-radius: 50%;
        display: block;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 20px;
        flex: 0 0 20px;
        height: 20px;
        width: 20px;
    }

    .radio_radio:after {
        content: '';
        border-color: #ccc;
        border-style: solid;
        border-width: 0 2px 2px 0;
        display: block;
        height: 10px;
        top: 8px;
        left: 7px;
        position: absolute;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        width: 6px;
    }

.checkbox {
    position: relative;
    line-height: 28px;
    margin-right: 10px;
}

    .checkbox label {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

input[type='checkbox'] {
    display: none;
}

    input[type='checkbox'] + label:before {
        content: '\E810';
        font-family: "fontello";
        border: 2px solid #A5A4A3;
        border-radius: 6px;
        display: inline-block;
        width: 22px;
        height: 22px;
        padding-left: 1px;
        line-height: 20px;
        margin: 2px 4px 0 0;
        vertical-align: top;
        color: transparent;
        -webkit-transition: 0.1s;
        transition: 0.1s;
        font-size: 17px;
    }

    input[type='checkbox']:checked + label:before {
        background-color: #4B4847;
        border-color: transparent;
        color: #FFFFFF;
    }

.upload-box {
    aspect-ratio: 16 / 9;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    cursor: pointer;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
    overflow: hidden;
    border: 1px dashed #C2C2C2;
    /* 預設有框 */
    background-color: #FAFAFA;
    border-radius: 10px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

    .upload-box:hover {
        background-color: rgba(236, 236, 236, 0.7);
    }

    .upload-box.has-image {
        border: none;
        /* 有圖片時就移除虛線框 */
        background-color: transparent;
    }

.upload-text {
    font-size: 0.8888rem;
    color: #B7B6B5;
    text-align: center;
}

/* 遮罩預設隱藏，只有圖片存在時才加上 'has-image' 這個 class */
.upload-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background: #E37174;
    -webkit-box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.3);
    box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.3);
    color: #FFFFFF;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 1rem;
    padding: 10px 30px;
    border-radius: 30px;
    opacity: 0;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
    pointer-events: none;
    /* 預設不阻擋點擊 */
}

.upload-box.has-image:hover .upload-overlay {
    opacity: 1;
    pointer-events: auto;
    /* 有圖片時才啟用遮罩 */
}
/*# sourceMappingURL=main.css.map */
