@charset "utf-8";

/* 定義主題顏色變數 */
:root {
    /* 主色系 */
    --primary-color: #15a9a9;
    --primary-color-light: rgba(21, 169, 169, 0.1);
    --primary-color-dark: #127676;

    /* 輔助色系 */
    --secondary-color: #6c757d;
    --success-color: #198754;
    --info-color: #0dcaf0;
    --warning-color: #ffc107;
    --danger-color: #dc3545;

    /* 基礎色系 */
    --dark-color: #212529;
    --light-color: #f8f9fa;
    --white-color: #ffffff;
    --black-color: #000000;

    /* 新聞顏色 */
    --news-color: #D18D96;
    --news-color2: #986783;

    /* 特殊設計色 */
    --theme-purple: #6a39b6;

    /* 字體設定 */
    --font-family: 'Noto Sans TC', sans-serif, Helvetica, Arial, sans-serif, "微軟正黑體", Heiti TC, "メイリオ";
}

/* Bootstrap 變數映射 */
:root {
    --bs-primary: var(--primary-color);
    --bs-secondary: var(--secondary-color);
    --bs-success: var(--success-color);
    --bs-info: var(--info-color);
    --bs-warning: var(--warning-color);
    --bs-danger: var(--danger-color);
    --bs-light: var(--light-color);
    --bs-dark: var(--dark-color);
}

/* 按鈕標記樣式 */
.btn-primary {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: var(--white-color) !important;
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus {
    background-color: var(--primary-color-dark) !important;
    border-color: var(--primary-color-dark) !important;
    color: var(--white-color) !important;
}

/* 文字顏色 */
.text-primary {
    color: var(--primary-color) !important;
}

.text-primary-emphasis {
    color: var(--white-color) !important;
}

.text-secondary {
    color: var(--secondary-color) !important;
}

.text-secondary-emphasis {
    color: var(--dark-color) !important;
}

/*============================================= 全部共用區 ===============================================*/
.clear {
    margin: 0px;
    padding: 0px;
    border: 0;
    clear: both;
}

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

body {
    font-family: var(--font-family);
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    color: var(--dark-color);
}

.section-bg-dark,
.section-bg-dark h2,
.section-bg-dark p
{
  color: #fff !important;
}

/*** 頁面載入動畫 Spinner Start ***/

#spinner {
    opacity: 0;
    visibility: hidden;
    transition: opacity .5s ease-out, visibility 0s linear .5s;
    z-index: 99999;
}

#spinner.show {
    transition: opacity .5s ease-out, visibility 0s linear 0s;
    visibility: visible;
    opacity: 1;
}


/*----------- input placeholder設定 -----------*/
input[type="text"]::-webkit-input-placeholder,
input[type="password"]::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
    color: #58658c;
    opacity: 1;
    -webkit-transition: opacity 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out;
}

input[type="text"]:hover::-webkit-input-placeholder,
input[type="password"]:hover::-webkit-input-placeholder,
textarea:hover::-webkit-input-placeholder {
    color: #3b47ab;
    opacity: 1;
    -webkit-transition: color 0.3s ease-in-out;
    transition: color 0.3s ease-in-out;
}

input[type="text"]:focus::-webkit-input-placeholder,
input[type="password"]:focus::-webkit-input-placeholder,
textarea:focus::-webkit-input-placeholder {
    opacity: 0;
    -webkit-transition: opacity 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out;
}

/* 返回頂層 Back to Top Start */
.back-to-top {
    position: fixed;
    right: 30px;
    bottom: 30px;
    display: flex;
    width: 45px;
    height: 45px;
    align-items: center;
    justify-content: center;
    transition: 0.5s;
    z-index: 99;
}

/*** 按鈕相關 Button Start ***/
.btn {
    font-weight: 600;
    transition: .5s;
}

.btn-square {
    width: 32px;
    height: 32px;
}

.btn-sm-square {
    width: 34px;
    height: 34px;
}

.btn-md-square {
    width: 44px;
    height: 44px;
}

.btn-lg-square {
    width: 56px;
    height: 56px;
}

.btn-square,
.btn-sm-square,
.btn-md-square,
.btn-lg-square {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: normal;
    border-radius: 50%;
}

/* 增加手機版上會員中心及購物車圖標的間距 */
@media (max-width: 767.98px) {
    .navbar .navbar-nav .btn-light.btn-square.border.rounded-circle {
        margin-right: 0.75rem !important;
        /* 增加右側間距，大於 .me-2 (.5rem) */
    }
}

.btn.btn-primary {
    box-shadow: inset 0 0 0 0 var(--primary-color);
    font-weight: normal;
}

.btn.btn-primary:hover {
    box-shadow: inset 300px 0 0 0 var(--bs-light) !important;
    color: var(--primary-color) !important;
    border-color: var(--primary-color);
}

span.btn.btn-primary {
    box-shadow: inset 300px 0 0 0 var(--bs-light) !important;
    color: var(--primary-color) !important;
    border-color: var(--primary-color);
}

.btn.btn-light {
    box-shadow: inset 0 0 0 0 var(--bs-primary);
}

.btn.btn-light:hover {
    box-shadow: inset 300px 0 0 0 var(--bs-primary);
    color: var(--bs-light) !important;
}

.btn-hover {
    transition: 0.5s;
}

.btn-hover:hover {
    color: var(--bs-secondary) !important;
}


/* =================================== 頂欄 ========================== */

/*** 頂欄 Topbar Start ***/
.fixed-top .container {
    transition: 0.5s;
}

.topbar {
    padding: 2px 10px 2px 20px;
    background: var(--bs-primary) !important;
}

.topbar a,
.topbar a i {
    transition: 0.5s;
}

.topbar a:hover,
.topbar a i:hover {
    color: var(--bs-secondary) !important;
}


@media (max-width: 576px) {
    .topbar {
        display: none;
    }
}

@media screen and (min-width: 992px) and (max-width: 1200px) {
    .TopbarHeader {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    .TopbarHeader {
        padding-right: 20px;
        padding-left: 20px;
    }
}


.TopbarHeaderInner {
    display: flex;
    align-items: center;
    /* height: 45px; */
}

.TopbarInnerLeft {
    text-align: center;
    /* 預設文字居中對齊 */
}

.TopbarInnerLeft {
    text-align: center;
    /* 預設文字居中對齊 */
}

@media (min-width: 992px) {
    .TopbarInnerLeft {
        text-align: left;
        /* 大於或等於 992px 時文字左對齊 */
        margin-bottom: 0;
        /* 大於或等於 992px 時移除下外邊距 */
    }

    .TopbarInnerRight {
        text-align: right;
        /* 大於或等於 992px 時文字右對齊 */
    }
}

@media (max-width: 430px) {
    .TopbarInnerLeft {
        display: none;
    }
}


.TopbarInnerRight {
    text-align: center;
    /* 預設文字居中對齊 */
}

.TopbarLeftThing {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 10px;
    margin-top: 10px;
}

.TopbarRightThing {
    display: flex;
    justify-content: flex-end;
}

.TopbarRightThing a {
    margin-bottom: 10px;
    margin-top: 10px;
}

.TopbarRightThing a:first-child {
    margin-right: 16px;
}

.TopbarRightThing a:last-child {
    margin-right: 0;
}

/* =========================== Navbar Start ========================= */

.navbar-light .navbar-nav .nav-link {
    font-family: 'Open Sans', sans-serif;
    position: relative;
    margin-right: 25px;
    padding: 25px 0;
    color: var(--bs-dark) !important;
    font-size: 16px;
    font-weight: 400;
    outline: none;
    transition: .5s;
}

.sticky-top.navbar-light .navbar-nav .nav-link {
    padding: 20px 0;
    color: var(--dark) !important;
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link.active {
    color: var(--bs-primary) !important;
}

.navbar-light .navbar-brand img {
    max-height: 50px;
    transition: .5s;
}

.sticky-top.navbar-light .navbar-brand img {
    max-height: 45px;
}

.navbar .dropdown-toggle::after {
    border: none;
    content: "\f107";
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    vertical-align: middle;
    margin-left: 8px;
}

.dropdown .dropdown-menu a:hover {
    background: var(--bs-primary);
    color: var(--bs-white);
}

.navbar .nav-item:hover .dropdown-menu {
    transform: rotateX(0deg);
    visibility: visible;
    background: var(--bs-light) !important;
    transition: .5s;
    opacity: 1;
}

.navbar .navbar-nav .nav-item.nav-link i,
.navbar .navbar-nav .nav-link i {
    margin-right: 5px;
}

@media (max-width: 1280px) {
    .navbar-light .navbar-nav .nav-link {
        margin-right: 12px;
    }

    .navbar {
        padding-right: 20px !important;
        padding-left: 20px !important;
    }
}

@media (min-width: 1200px) {
    .navbar .nav-item .dropdown-menu {
        display: block;
        visibility: hidden;
        top: 102%;
        transform: rotateX(-75deg);
        transform-origin: 0% 0%;
        border: 0;
        border-radius: 10px;
        transition: .5s;
        opacity: 0;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
    }
}

@media (max-width: 991.98px) {
    .sticky-top.navbar-light {
        position: relative;
        background: var(--bs-white);
    }

    .navbar.navbar-expand-lg .navbar-toggler {
        padding: 10px 20px;
        border: 1px solid var(--bs-primary);
        color: var(--bs-primary);
    }

    .navbar-light .navbar-collapse {
        margin-top: 15px;
        border-top: 1px solid #DDDDDD;
    }

    .navbar-light .navbar-nav .nav-link,
    .sticky-top.navbar-light .navbar-nav .nav-link {
        padding: 10px 0;
        margin-left: 0;
        color: var(--bs-dark) !important;
    }

    .navbar-light .navbar-brand img {
        max-height: 45px;
    }
}

@media (min-width: 992px) {
    .navbar-light {
        position: absolute;
        width: 100%;
        top: 0;
        left: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .1);
        z-index: 999;
    }

    .sticky-top.navbar-light {
        position: fixed;
        background: var(--bs-light) !important;
    }

    .navbar-light .navbar-nav .nav-link::before {
        position: absolute;
        content: "";
        width: 0;
        height: 2px;
        bottom: -1px;
        left: 50%;
        background: var(--bs-primary);
        transition: .5s;
    }

    .navbar-light .navbar-nav .nav-link:hover::before,
    .navbar-light .navbar-nav .nav-link.active::before {
        width: calc(100% + 2px);
        left: -1px;
    }

    .navbar-light .navbar-nav .nav-link.nav-contact::before {
        display: none;
    }
}


.carousel-text-title {
    font-size: 3rem;
    font-weight: 700;
    text-shadow: 0 4px 7px rgba(0, 0, 0, 0.25);
}

@media (max-width: 992px) {
    .carousel-text-title {
        font-size: 40px;
    }
}

@media (max-width: 768px) {
    .carousel-text-title {
        font-size: 34px;
    }
}

@media (max-width: 430px) {
    .carousel-text-title {
        font-size: 28px;
    }
}


.carousel-text-content {
    font-size: 25px;
    font-weight: 400;
    text-shadow: 0 3px 5px rgba(0, 0, 0, 0.25);
}

@media (max-width: 992px) {
    .carousel-text-content {
        width: 80%;
        text-align: center;
        font-size: 20px;
        margin-bottom: 0 !important;
    }
}

@media (max-width: 430px) {
    .carousel-text-content {
        width: 100%;
        font-size: 18px;
        margin-bottom: 0 !important;
    }
}

@media (max-width: 360px) {
    .carousel-text-content {
        width: 90%;
        font-size: 16px;
    }
}

/* ================================================================================== 麵包屑 =================================*/

.bg-breadcrumb {
    padding: 120px 0 50px 0;
}

/*
.bg-breadcrumb h3 {
    font-weight: 400;
}
*/

.breadcrumb-item.active{
    color: var(--bs-white) !important;
}

.bg-breadcrumb .breadcrumb-item a {
    color: var(--bs-white) !important;
}

.breadcrumb-item+.breadcrumb-item::before {
    color: #a3becc;
}

.breadcrumbContent {
    padding: 48px 12px;
}

@media (max-width: 430px) {
    .breadcrumbContent {
        padding: 48px 12px;
    }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    .bg-breadcrumb {
        padding: 60px 0 60px 0;
    }
}

@media screen and (max-width: 767px) {
    .bg-breadcrumb {
        padding: 60px 0 60px 0;
    }
}

/* 網頁標題麵包屑 */
.WebBreadCrumbs {
    font-size: 20px;
    font-weight: 400;
    line-height: 32px;
    text-align: center;
}

@media (max-width: 820px) {
    .WebBreadCrumbs {
        line-height: 28px;
    }
}

@media (max-width: 430px) {
    .WebBreadCrumbs {
        /* 這裡可以放置其他樣式，如有 */
    }
}


/* ===============================================================================================  網頁標題 ============================ */


.section-title {
    max-width: 900px;
    text-align: center;
    margin: 0 auto;
}

.section-title .sub-style {
    position: relative;
    display: inline-block;
    text-transform: uppercase;
    color: #80D0C7;
}

.section-title .sub-style::before {
    content: "";
    width: 70px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    margin-top: 8px;
    margin-left: -70px;
    border: 1px solid var(--primary-color-light) !important;
}

.section-title .sub-style::after {
    content: "";
    width: 50px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    margin-bottom: 5px;
    margin-left: -50px;
    border: 1px solid var(--primary-color-light) !important;
}

.sub-title {
    position: relative;
    display: inline-block;
    text-transform: uppercase;
    color: var(--primary-color);
    padding-right: 16px;
    padding-left: 16px;
    margin-bottom: 0;
}

.sub-title::before {
    content: "";
    width: 70px;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    margin-top: 8px;
    margin-right: -70px;
    border: 1px solid var(--primary-color-light) !important;
}

.sub-title::after {
    content: "";
    width: 50px;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    margin-bottom: 8px;
    margin-right: -50px;
    border: 1px solid var(--primary-color-light) !important;
}

@media screen and (max-width: 767px) {
    .section-title {
        max-width: 70%;
        text-align: center;
        margin: 0 auto;
    }

    .section-title h2 {
        font-size: 22px;
    }

    .section-title .sub-style::before {
        width: 30px;
        left: 10px;
    }

    .section-title .sub-style::after {
        width: 20px;
        left: 0px;
    }

    .sub-title::before {
        width: 30px;
        right: 10px;
    }

    .sub-title::after {
        width: 20px;
        right: 0px;
    }
}


/* Header Start */
.WebIntro {
    font-size: 100px;
    font-weight: 700;
    line-height: 136.2px;
    text-shadow: 0 4px 7px rgba(0, 0, 0, 0.25);
}

@media (max-width: 1440px) {
    .WebIntro {
        font-size: 85px;
        line-height: 100px;
    }
}

@media (max-width: 1280px) {
    .WebIntro {
        font-size: 70px;
        line-height: 80px;
    }
}

@media (max-width: 992px) {
    .WebIntro {
        font-size: 60px;
    }
}

@media (max-width: 820px) {
    .WebIntro {
        font-size: 50px;
    }
}

@media (max-width: 550px) {
    .WebIntro {
        font-size: 40px;
        line-height: 60px;
    }
}

@media (max-width: 430px) {
    .WebIntro {
        font-size: 32px;
        line-height: 40px;
    }
}

.WebIntroSub {
    font-size: 25px;
    font-weight: 400;
    line-height: 34.05px;
    text-shadow: 0 3px 5px rgba(0, 0, 0, 0.25);
}

@media (max-width: 992px) {
    .WebIntroSub {
        width: 80%;
        text-align: center;
    }
}

@media (max-width: 820px) {
    .WebIntroSub {
        width: 100%;
        font-size: 20px;
        line-height: 28px;
    }
}

@media (max-width: 550px) {
    .WebIntroSub {
        width: 80%;
    }
}

@media (max-width: 430px) {
    .WebIntroSub {
        width: 100%;
        margin-bottom: 14px !important;
    }
}

/* 網頁標題 */
.WebBreadTitle {
    /* font-size: 100px; */
    font-size: 60px;
    font-weight: 700;
    text-shadow: 0 4px 7px rgba(0, 0, 0, 0.25);
    margin-bottom: 24px;
}

@media (max-width: 992px) {
    .WebBreadTitle {
        font-size: 40px;
    }
}

@media (max-width: 430px) {
    .WebBreadTitle {
        margin-bottom: 12px;
    }
}

/* 網頁內的大標題 */
.BigTitleMarginBottom {
    margin: 0 auto;
}

@media (max-width: 768px) {
    .BigTitleMarginBottom {
        margin: 40px auto;
    }
}

@media (max-width: 430px) {
    .BigTitleMarginBottom {
        margin: 20px auto;
    }
}



/* ======================================================================================== 輪播 ========================== */

/*** Carousel Hero Header Start ***/
.header-carousel {
    position: relative;
}

.header-carousel .owl-nav .owl-prev {
    position: absolute;
    width: 70px;
    height: 70px;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    border-radius: 50%;
    background: var(--bs-primary);
    color: var(--bs-white);
    font-size: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.5s;
}

.header-carousel .owl-nav .owl-next {
    position: absolute;
    width: 70px;
    height: 70px;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    border-radius: 50%;
    background: var(--bs-primary);
    color: var(--bs-white);
    font-size: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.5s;
}

.header-carousel .owl-nav .owl-prev,
.header-carousel .owl-nav .owl-next {
    transition: 0.5s;

}

.header-carousel .owl-nav .owl-prev:hover,
.header-carousel .owl-nav .owl-next:hover {
    box-shadow: inset 150px 0 0 0 var(--bs-light) !important;
    color: var(--bs-primary) !important;
}

@media (max-width: 576px) {

    .header-carousel .owl-nav .owl-prev,
    .header-carousel .owl-nav .owl-next {
        top: 630px;
        transition: 0.5s;
        display: none;
    }

    .video-carousel .owl-nav .owl-prev,
    .video-carousel .owl-nav .owl-next {
        top: 630px;
        transition: 0.5s;
        display: none;
    }

    .header-carousel .header-carousel-item .carousel-caption .carousel-caption-content {
        width: 95% !important;
    }

}

.header-carousel .header-carousel-item,
.header-carousel .header-carousel-item img {
    position: relative;
    width: 100%;
    max-height: 600px;
    display: block;
    object-fit: cover;
    transition: 0.5s;

}

@media (max-width: 992px) {

    .header-carousel .header-carousel-item,
    .header-carousel .header-carousel-item img {
        margin-top: 0;
        transition: 0.5s;
    }


}

@media (min-width: 992px) {

    .video-carousel .owl-nav .owl-prev,
    .video-carousel .owl-nav .owl-next {
        margin-top: 70px;
    }
}

.header-carousel .header-carousel-item .carousel-caption {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    padding: 100px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, .5);
}

.header-carousel .header-carousel-item .carousel-caption .carousel-caption-content {
    position: relative;
    width: 75%;
    display: flex;
    flex-direction: column;
    align-items: center;

}

.header-carousel-item .img-fluid {}




/*** Single Page Hero Header End ***/

.service {
    /*
    padding-left: 8px;
    padding-right: 8px;
*/
}

/*** Service Start ***/
.service .service-carousel {
    position: relative;
}

@media (max-width: 430px) {

    .ServiceBTNArea {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(3, 1fr);
        text-align: center;
    }
}

@media (max-width: 360px) {

    .ServiceBTNArea {
        gap: 8px;
    }
}

.service-carousel .owl-dots {
    margin-top: 20px;
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
}

.service-carousel .owl-dots .owl-dot {
    width: 9px;
    height: 9px;
    margin: 5px;
    border-radius: 50%;
    background: #a3becc;
    position: relative;
}

.service-carousel .owl-dots .owl-dot:after {
    position: absolute;
    top: -3px;
    left: -3px;
    right: 0;
    bottom: 0;
    width: 15px;
    height: 15px;
    content: '';
    border: 1px solid #a3becc;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    border-radius: 50%;
}

.service-carousel .owl-dots .owl-dot.active {
    background: var(--primary-color);
}

.service .service-item {
    box-shadow: 0 0 4px rgba(0, 0, 0, .1);
    border-radius: 10px;
}

.service .service-item .service-img {
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.service .service-item .service-img img {
    transition: 0.5s;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.service .service-item .service-img::before {
    width: 100%;
    height: 0;
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;
    transition: 0.5s;
    z-index: 5;

}

.service .service-item:hover .service-img::before {
    height: 100%;
    background: rgba(21, 185, 217, .3);
}

.service .service-item .service-img:hover img {
    transform: scale(1.3);
}

.service .service-item .service-content {
    position: relative;
    z-index: 2;
    padding: 24px;
    height: 257px;
    min-height: 257px;
    display: flex;
    justify-content: space-between;
    flex-direction: column;

    @media (max-width: 430px) {
        padding: 8px;
    }

}

.service .service-item .service-content::before {
    width: 100%;
    height: 8px;
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    background: rgba(21, 169, 169, .5);
    transition: 0.5s;
    z-index: 3;
}

.service .service-item:hover .service-content::before {
    background: rgba(21, 169, 169, .5);
    height: 100%;
}

.service .service-item .service-content .service-content-inner {
    transition: 0.5s;
}

.service .service-item:hover .service-content .service-content-inner {
    position: relative;
    color: var(--bs-white) !important;
    z-index: 9;
}

.service .service-item:hover .service-content .service-content-inner h5 {
    color: var(--bs-secondary);
}

.serviceTitle {
    margin-bottom: 12px;
    font-size: 20px;
    line-height: 28px;
    font-weight: 500;
    color: #5e5ca0;
    word-break: keep-all;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

    @media (max-width: 430px) {
        font-size: 18px;
        margin-bottom: 12px;
    }
}

.serviceBrief {
    margin-bottom: 24px;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    color: #455a64;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    flex-grow: 1;
}

@media (max-width: 430px) {
    .serviceBrief {
        font-size: 16px;
        margin-bottom: 12px;
    }
}


.service .service-item:hover .serviceTitle {
    color: #008080;
}

.service .service-item:hover .serviceBrief {
    color: #fff;

}

.hover-zoom {
    transition: transform 0.5s;
    transform-origin: top;
}

.hover-zoom:hover {
    transform: scale(1.01);
}

.serviveBTN {
    /* 其他樣式如果有的話可以在這裡添加 */
}

@media (max-width: 430px) {
    .serviveBTN {
        width: 100%;
        padding: 8px 0 !important;
    }
}

@media (max-width: 360px) {
    .serviveBTN {
        width: 100%;
        padding: 4px 0 !important;
    }
}

/* =================== 客製化按鈕 ===================== */
/* 客製化上層按鈕 */

.pageLink {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.pageLink a.btn.btn-primary,
.pageLink span.btn.btn-primary {
    font-size: 16px;
    font-weight: 400;
    transition: 0.5s;
}

.MobileTopBTNArea {}

.MobileTopBTN {}

@media screen and (max-width: 767px) {
    .pageLink {
        justify-content: space-around;
    }

    .pageLink a.btn.btn-primary,
    .pageLink span.btn.btn-primary {
        font-size: 14px;
    }

    .MobileTopBTN {
        padding: 8px 16px !important;
        margin: 4px 0 important;
        font-size: 14px !important;
    }

    .MobileTopBTNArea {
        display: flex;
    }
}

/*
@media (max-width: 360px) {
    .MobileTopBTN {
        font-size: 14px !important;
    }
}
*/

@media (max-width: 344px) {
    .MobileTopBTN {
        padding: 2px !important;
        margin: 4px !important;
    }
}


.TopButtonArea {
    padding: 48px 12px;
}

.TopButtonAreaForLab {
    padding-bottom: 48px;
    padding-right: 12px;
    padding-left: 12px;
}


/* =================== 客製化按鈕 ===================== */
/* MoreInfoBTN 客製化按鈕 */
.MoreInFoBTN {}

@media (max-width: 430px) {
    .MoreInFoBTN {
        padding: 12px 24px !important;
        margin-bottom: 20px;
    }
}


.MoreInFoBTN2 {
    margin-bottom: 40px;
}

/*  ================================== 關於我們 ===========================  */
/*** About Start ***/

/* aboutUs 關於我們 */
.AboutConpany {
    padding-right: 16px;
}

.AboutCompanyText {
    width: 90%;
    display: flex;
    flex-direction: column;
}

@media (max-width: 620px) {
    .AboutCompanyText {
        width: 100%;
        padding-left: 8px;
        padding-right: 4px;
    }
}

.about .about-img {
    position: relative;
    overflow: hidden;
    height: 100%;
    border-radius: 10px;
}

.about-img img {
    margin-left: 4px;
}

@media (max-width: 992px) {
    .about-img img {
        margin-left: 0;
    }
}

.about .about-img .about-img-inner {
    position: absolute;
    left: 0;
    bottom: 0;
    border: 10px solid;
    border-color: var(--bs-white) var(--bs-white) var(--bs-white) var(--bs-white);
    border-radius: 50%;

}

.about .about-img .about-experience {
    position: absolute;
    top: 125px;
    left: -125px;
    transform: rotate(-90deg);
    background: transparent;
    color: var(--bs-primary);
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 4px;
}

.display-5 {
    font-weight: 500;
}

.aboutSlogan {
    font-size: 28px;
    line-height: 40px;
    letter-spacing: 6px;
    word-spacing: -20px;
    text-align: center;
    width: 110%;
}

@media (max-width: 1440px) {
    .aboutSlogan {
        font-size: 24px;
        line-height: 30px;
        width: 98%;
    }
}

@media (max-width: 1280px) {
    .aboutSlogan {
        font-size: 22px;
        line-height: 28px;
        width: 105%;
    }
}

@media (max-width: 1024px) {
    .aboutSlogan {
        font-size: 22px;
        line-height: 28px;
        width: 100%;
    }
}

@media (max-width: 992px) {
    .aboutSlogan {
        font-size: 22px;
        line-height: 32px;
        text-align: center;
    }
}

@media (max-width: 550px) {
    .aboutSlogan {
        font-size: 22px;
        line-height: 28px;
        text-align: center !important;
    }
}

@media (max-width: 450px) {
    .aboutSlogan {
        font-size: 18px;
        line-height: 24px;
        text-align: center !important;
        letter-spacing: 1px;
        word-spacing: -1px;
    }
}

@media (max-width: 412px) {
    .aboutSlogan {
        font-size: 17px;
    }
}


.AboutCreate {
    /* 其他樣式如有 */
}

@media (max-width: 992px) {
    .AboutCreate {
        flex-direction: column-reverse;
    }
}

.AboutConpanyTitle {
    font-size: 28px;
    /* 其他樣式如有 */
}

@media (max-width: 430px) {
    .AboutConpanyTitle {
        font-size: 20px;
    }
}

.AboutConpanyText {
    /* 其他樣式如有 */
}

@media (max-width: 430px) {
    .AboutConpanyText {
        margin-top: 20px !important;
    }
}

.aboutUsSubTitle {}

@media (max-width: 430px) {
    .aboutUsSubTitle {
        font-size: 20px;

    }
}

/* ====================================== index.html 首頁 外籍看護協助事項 */
/*** 外籍看護協助事項 ***/
.feature .feature-item {
    position: relative;
    display: flex;
    border: 1px solid var(--bs-primary);
    border-radius: 10px;
    background: var(--bs-light);
    transition: 0.5s;
    text-align: center;
}

@media (max-width: 992px) {
    .feature .feature-item {
        padding: 18px !important;
    }
}

@media (max-width: 430px) {
    .feature .feature-item {
        padding: 14px !important;
    }
}

@media (max-width: 344px) {
    .feature .feature-item {
        padding: 4px !important;
    }
}

.feature .feature-item::before {
    width: 0;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 10px;
    transition: 0.5s;
}

.feature .feature-item:hover::before {
    width: 100%;
    background: var(--bs-primary);
}

.feature .feature-item .feature-icon {
    display: inline-flex;
    border-radius: 10px;
    transition: 0.5s;
}

.feature .feature-item .feature-number {
    display: inline-flex;
    padding: 20px 30px;
    border-radius: 50%;
    background-color: $cyan-700;
    transition: 0.5s;
}

.feature .feature-item:hover .feature-icon,
.feature .feature-item:hover .feature-number {
    position: relative;
    z-index: 2;
}

.feature .feature-item:hover .feature-content {
    position: relative;
    color: var(--bs-white);
    z-index: 2;
}

.feature .feature-item:hover .feature-content h5 {
    color: var(--bs-dark);
}

.feature .feature-content p {
    overflow: hidden;
    /* 隱藏超出部分 */
    display: -webkit-box;
    /* 設定為彈性盒模型 */
    -webkit-line-clamp: 2;
    /* 限制行數 */
    -webkit-box-orient: vertical;
    /* 設定排列方向 */
    font-size: 14px;
}

@media (max-width: 344px) {
    .feature .feature-content p {
        -webkit-line-clamp: none;
    }
}

.featureTitle {
    /* 這裡可以放置其他樣式，如有 */
}

@media (max-width: 430px) {
    .featureTitle {
        font-size: 16px;
        width: 100%;
    }
}


.featureProLicense {
    margin-bottom: 40px !important;
    font-size: 24px !important;

}

.featureIconCustom {
    font-size: 48px;
    color: #5e5ca0;
}

@media (max-width: 992px) {
    .featureIconCustom {
        font-size: 32px;
    }
}

@media (max-width: 430px) {
    .featureIconCustom {
        font-size: 28px;
    }
}

@media (max-width: 360px) {
    .featureIconCustom {
        font-size: 32px;
    }
}




/*** Appointment Start ***/
.appointment {
    background: linear-gradient(rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9)), url(../img/carousel-2.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
}

.appointment .appointment-form {
    background: rgba(239, 162, 134, 0.3);
}

.appointment .appointment-form .btn.btn-primary {
    box-shadow: inset 0 0 0 0 var(--bs-primary);
}

.appointment .appointment-form .btn.btn-primary:hover {
    box-shadow: inset 600px 0 0 0 var(--bs-light) !important;
    color: var(--bs-primary) !important;
}

/*** Youtube Video start ***/
.video {
    position: relative;
    /* padding-right: 12px;
    padding-left: 12px; */
}

.video .btn-play {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    box-sizing: content-box;
    display: block;
    width: 33px;
    height: 44px;
    border-radius: 50%;
    transition: 0.5s;


}

.video .btn-play:before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: 115px;
    height: 115px;
    background: var(--bs-primary);
    border-radius: 50%;
    animation: pulse-border 1500ms ease-out infinite;
    transition: 0.5s;
}

.video .btn-play:after {
    content: "";
    position: absolute;
    z-index: 1;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: 100px;
    height: 100px;
    background: var(--bs-secondary);
    border-radius: 50%;
    transition: all 300ms;
}

.video .btn-play span {
    display: block;
    position: relative;
    z-index: 3;
    width: 0;
    height: 0;
    border-left: 33px solid var(--bs-white);
    border-top: 22px solid transparent;
    border-bottom: 22px solid transparent;
    margin-left: 5px;
}

@keyframes pulse-border {
    0% {
        transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1);
        opacity: 1;
    }

    100% {
        transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1.5);
        opacity: 0;
    }
}

#videoModal {
    z-index: 99999;
}

#videoModal .modal-dialog {
    position: relative;
    max-width: 800px;
    margin: 60px auto 0 auto;
}

#videoModal .modal-body {
    position: relative;
    padding: 0px;
}

#videoModal .close {
    position: absolute;
    width: 30px;
    height: 30px;
    right: 0px;
    top: -30px;
    z-index: 999;
    font-size: 30px;
    font-weight: normal;
    color: #ffffff;
    background: #000000;
    opacity: 1;
}

/*** Youtube Video End ***/
/*** Appointment End ***/


/*** video Start ***/
.video .video-item {
    position: relative;
    padding: 0 15px 15px 15px;
    border-radius: 10px;
    transition: 0.5s;
    cursor: pointer;
    /* display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%; */
}

@media (max-width: 430px) {
    .video .video-item {
        padding: 0 6px 6px 6px;
    }
}

@media (max-width: 360px) {
    .video .video-item {
        padding: 0;
    }
}

.video-title-text {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 20px 0;
}

@media (max-width: 430px) {
    .video-title-text {
        margin-bottom: 12px;
    }
}


.video .video-item::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    bottom: 0;
    left: 0;
    background: var(--bs-light);
    background: #efefef;
    opacity: 0.7;
    border-radius: 10px;
    transition: 0.5s;
    z-index: -1;
}

.video .video-item:hover::before {
    height: 0;
}

.video .video-item::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 0;
    bottom: 0;
    left: 0;
    border-radius: 10px;
    transition: 0.5s;
    z-index: -1;
}

.video .video-item:hover::after {
    height: 100%;
    background: var(--primary-color);
}

.video .video-item .video-img {
    width: 100%;
    height: 100%;
    border-radius: 100%;
    position: relative;
    margin-top: 50%;
    transform: translateY(-50%);
    margin-bottom: -50%;
    display: flex;
    justify-content: center;
    border: 4px solid var(--bs-primary);
    border-style: dotted;
    padding: 4px;
    background: var(--bs-white);
    transition: 0.5s;
}

.video .video-item:hover .video-img {
    border: 4px solid var(--bs-white);
    border-style: dotted;
    background: 0;
}

.video .video-item .video-img img {
    width: 100%;
    height: 100%;
    border-radius: 100%;
    transition: 0.5s;
    object-fit: cover;
    object-position: center;
    object-fit: contain;
}

.video .video-item .video-title {
    padding: 15px 0 15px 0;
    text-align: center;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 180px;
}

.video .video-item .video-title h4,
.video .video-item .video-title p {
    transition: 0.5s;
}

.video .video-item:hover .video-title h4,
.video .video-item:hover .video-title p,
.video .video-item:hover .video-title i {
    /* color: var(--bs-white); */
    /* color: #FFB6AC; */
}

.video .video-item .video-icon {
    display: flex;
    justify-content: center;
}

.video .video-item .video-icon a {
    transition: 0.5s;
}

.video .video-item:hover .video-icon a {
    color: var(--bs-dark);
    background: var(--bs-white);
}

.video .video-item:hover .video-icon a:hover {
    color: var(--bs-primary);
    background: var(--bs-dark);
}

.video .hover-effect::before {
    content: "";
    position: absolute;
    width: 80%;
    height: 100%;
    top: 0;
    left: 0;
    background: var(--primary-color);
    transition: all 0.3s ease;
    z-index: -1;
}

/*** video End ***/


/*** ========================================================= 專業證照 Certificate Start =================================================***/


.certificate-item {
    margin-bottom: 15px;
}

.certificate-item .certificate-inner {
    display: flex;
    justify-content: center;
    text-align: center;
}

.certificateList {
    font-size: 18px;
    font-weight: 400;
    line-height: 26px;
    color: #455a64;
}

@media screen and (max-width: 767px) {
    .certificateList {
        margin-left: -10px;
        /*        padding-left: 0 !important;*/
    }
}


.certificateList li {
    margin-bottom: 10px;
}

.certificate-carousel .owl-item.center {
    position: relative;
    z-index: 1;
}

.certificate-carousel .owl-dots {
    margin-top: 30px;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
}

.certificate-carousel .owl-dots .owl-dot {
    width: 9px;
    height: 9px;
    margin: 5px;
    border-radius: 50%;
    background: #a3becc;
    position: relative;
}

.certificate-carousel .owl-dots .owl-dot:after {
    position: absolute;
    top: -3px;
    left: -3px;
    right: 0;
    bottom: 0;
    width: 15px;
    height: 15px;
    content: '';
    border: 1px solid #a3becc;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    border-radius: 50%;
}

.certificate-carousel .owl-dots .owl-dot.active {
    background: var(--primary-color);
}

.certificate .certificate-carousel .owl-nav .owl-prev {
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    background: var(--primary-color);
    color: var(--bs-light);
    transition: 0.5s;
}

.certificate .certificate-carousel .owl-nav .owl-next {
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    background: var(--primary-color);
    color: var(--bs-light);
    transition: 0.5s;
}

@media (max-width: 430px) {
    .certificate .certificate-carousel .owl-nav .owl-next {
        right: -20px;
    }

    .certificate .certificate-carousel .owl-nav .owl-prev {
        left: -20px;
    }
}

.certificate .certificate-carousel .owl-nav .owl-prev:hover,
.certificate .certificate-carousel .owl-nav .owl-next:hover {
    box-shadow: inset 100px 0 0 0 var(--bs-white) !important;
    color: var(--primary-color) !important;
    border: 1px solid var(--primary-color);
}

/*** ========================================================= 專業證照 Certificate End =================================================***/


/*** ========================================================= OWL測試用輪播 Testimonial Start ==========================================***/


.testimonial-item {
    background: #e3f0eb;

}

.testimonial-carousel .owl-dots {
    margin-top: 15px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.testimonial-carousel .owl-dot {
    position: relative;
    display: inline-block;
    margin: 0 5px;
    width: 15px;
    height: 15px;
    background: #c1dad0;
    border-radius: 15px;
    transition: .5s;
}

.testimonial-carousel .owl-dot.active {
    width: 30px;
    background: var(--bs-primary);
}

.testimonial-carousel .owl-item.center {
    position: relative;
    z-index: 1;
}

.testimonial-carousel .owl-item .testimonial-item {
    transition: .5s;
}

.testimonial-carousel .owl-item.center .testimonial-item {
    background: #FFFFFF !important;
    box-shadow: 0 0 30px #DDDDDD;
}

/*** ========================================================= OWL測試用輪播 Testimonial End ==========================================***/


/*** ========================================================= 聯絡我們 Contact Start =================================================***/


/*
.contact {
    background: linear-gradient(rgba(21, 185, 217, 0.9), rgba(21, 185, 217, 0.9)), url(../img/carousel-1.jpg); 
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
}
*/
.contact .contact-form .btn.btn-light {
    box-shadow: inset 0 0 0 0 var(--bs-primary);
}

.contact .contact-form .btn.btn-light:hover {
    box-shadow: inset 600px 0 0 0 var(--bs-primary) !important;
    color: var(--bs-white) !important;
}

.contact .contact-form .form-floating input,
.contact .contact-form .form-floating textarea,
.contact .contact-form .form-floating label {
    color: var(--bs-light);
}

.CustomInputBox {
    border-radius: 10px !important;
    box-shadow: 0px 2px 3px rgba(51, 51, 51, 0.5) !important;
    font-size: 18px !important;
    font-weight: 300;

    &:focus {
        background-color: #FAF9FB !important;
        border: 1px solid #FFA726 !important;
    }
}

/* Testimonial Section Title Start */
.contact .section-title {
    max-width: 900px;
    text-align: center;
    margin: 0 auto;
}

.contact .section-title .sub-style {
    position: relative;
    display: inline-block;
    text-transform: uppercase;
    color: var(--bs-primary);
}

.contact .section-title .sub-style::before {
    content: "";
    width: 70px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    margin-top: 8px;
    margin-left: -70px;
    border: 1px solid var(--primary-color) !important;
}

.contact .section-title .sub-style::after {
    content: "";
    width: 50px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    margin-bottom: 5px;
    margin-left: -50px;
    border: 1px solid var(--primary-color-light) !important;
}

.contact .section-title .sub-title {
    position: relative;
    display: inline-block;
    color: var(--primary-color);
    margin-bottom: 0;
}

.contact .section-title .sub-title::before {
    content: "";
    width: 70px;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    margin-top: 8px;
    margin-right: -70px;
    border: 1px solid var(--primary-color) !important;
}

.contact .section-title .sub-title::after {
    content: "";
    width: 50px;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    margin-bottom: 8px;
    margin-right: -50px;
    border: 1px solid var(--primary-color-light) !important;
}

.CustomSubBTN {
    width: 192px;
    height: 56px;
    border-radius: 50px !important;
    padding: 16px 48px !important;
}

.contact .info-item {
    margin-top: 10px;
    padding: 16px;
    height: 190px;
    border-radius: 16px;
    display: flex;
    color: #15233c;
    text-align: center;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.contact .info-item i {
    font-size: 36px;
    line-height: 1.2;
    color: #15233c;
}

.contact .info-item h3 {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
    margin: 10px 0 10px 0;
}

.contact .info-item p {
    padding: 0;
    width: 100%;
    line-height: 1.3;
    font-size: 18px;
    margin-bottom: 0;
    font-weight: 300;
    text-wrap: wrap;
    word-break: break-word;
    word-spacing: normal;
}

.contact a .info-item,
.contact span .info-item {
    color: #15233c;
    background-color: var(--primary-color-light);
    text-decoration: none;
}

@media screen and (min-width: 992px) and (max-width: 1200px) {
    .contact .info-item {
        margin-top: 0;
        height: 220px;
    }
}

@media screen and (max-width: 767px) {
    .contact .info-item {
        margin-top: 0;
        height: 220px;
    }
}

.contact .php-email-form {
    background: color-mix(in srgb, var(--default-color), transparent 96%);
    /* padding: 30px; */
    height: 100%;
}

/* @media (max-width: 375px) {
    .contact .php-email-form {
        padding: 12px;
    }
} */

.contact .php-email-form input[type=text],
.contact .php-email-form input[type=email],
.contact .php-email-form textarea {
    font-size: 14px;
    padding: 10px 15px;
    box-shadow: none;
    border-radius: 0;
    color: var(--default-color);
    background-color: color-mix(in srgb, var(--background-color), transparent 50%);
    border-color: color-mix(in srgb, var(--default-color), transparent 80%);
}

.contact .php-email-form input[type=text]:focus,
.contact .php-email-form input[type=email]:focus,
.contact .php-email-form textarea:focus {
    border-color: var(--accent-color);
}

.contact .php-email-form input[type=text]::placeholder,
.contact .php-email-form input[type=email]::placeholder,
.contact .php-email-form textarea::placeholder {
    color: color-mix(in srgb, var(--default-color), transparent 70%);
}

.contact .php-email-form button[type=submit] {
    background: var(--accent-color);
    color: var(--contrast-color);
    border: 0;
    padding: 10px 30px;
    transition: 0.4s;
    border-radius: 4px;
}

.contact .php-email-form button[type=submit]:hover {
    background: color-mix(in srgb, var(--accent-color), transparent 20%);
}

/* 聯絡我們 */
.fmColW18R1 {
    width: 18%;
    margin-right: 1%;
}

#navItem01 {
    padding-right: 30px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    height: 100px;
}

@media screen and (min-width: 992px) and (max-width: 1200px) {
    #navItem01 {
        padding-right: 12px;
        width: 100%;
        height: 80px;
    }
}

/* 相關連結 */
/*--------------------------------------------------------------
# Contact Section
--------------------------------------------------------------*/

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


/*----------- 美化的Select下拉框設定 -----------*/
.nice-select {
    position: relative;
    display: inline-block;
    width: auto;
    padding-left: 10px;
    padding-right: 10px;
    text-align: left !important;
    font-weight: 300;
    /*	font-family:"ITC Avant Garde Gothic","微軟正黑體";*/
    cursor: pointer;
    outline: none;
    white-space: nowrap;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    -webkit-box-shadow: 0px 2px 3px rgba(51, 51, 51, .5);
    box-shadow: 0px 2px 3px rgba(51, 51, 51, .5);
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.nice-select:hover {}

.nice-select:active,
.nice-select.open,
.nice-select:focus {}

.nice-select:after {
    position: absolute;
    display: block;
    /*
    width: 20px;
    height: 47px;
	font-size:24px;
	line-height:45px;
    margin-top: -23px;
    right: 8px;
*/
    top: 50%;
    content: "\f0d7";
    font-family: FontAwesome;
    font-weight: normal;
    text-align: center;
    pointer-events: none;
    -webkit-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.nice-select:hover:after {}

.nice-select.open:after {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}

.nice-select.open .list {
    opacity: 1;
    background-color: #fff;
    pointer-events: auto;
    -webkit-transform: scale(1) translateY(0);
    -ms-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
}

.nice-select.wide {
    width: 100%;
}

.nice-select.wide .list {
    /*
    left: 0 !important;
    right: 0 !important;
*/
}

.nice-select.right {
    float: right;
}

.nice-select.right .list {
    left: auto;
    right: 0;
}

.nice-select .list {
    /*
    top: 100%;
    left: 0;
    margin-top: 0;
*/
    position: absolute;
    padding: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    color: #58658c;
    box-shadow: 0 0 0 1px rgba(68, 68, 68, 0.11);
    box-sizing: border-box;
    -webkit-transform-origin: 50% 0;
    -ms-transform-origin: 50% 0;
    transform-origin: 50% 0;
    -webkit-transform: scale(0.75) translateY(-21px);
    -ms-transform: scale(0.75) translateY(-21px);
    transform: scale(0.75) translateY(-21px);
    -webkit-transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
    -moz-transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
    -ms-transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
    transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
    z-index: 10;
}

.nice-select .list:hover .option:not(:hover) {
    color: #58658c;
    background-color: transparent !important;
}

.nice-select .option {
    min-height: 40px;
    padding-left: 10px;
    padding-right: 10px;
    text-align: left;
    list-style: none;
    line-height: 40px;
    cursor: pointer;
    outline: none;
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    -ms-transition: all 0.2s;
    transition: all 0.2s;
}

.nice-select .option:hover,
.nice-select .option.focus,
.nice-select .option.selected.focus {
    color: #fff;
    background-color: #9374c2;
}

.nice-select .option.selected {
    color: #fff;
    background-color: #9374c2;
}

.nice-select .option.disabled {
    background-color: transparent;
    color: #999;
    cursor: default;
}

.no-csspointerevents .nice-select .list {
    display: none;
}

.no-csspointerevents .nice-select.open .list {
    display: block;
}

.selectIndigo {
    border-radius: 10px;
    height: 47px;
    font-size: 20px;
    line-height: 45px;
    color: #fff;
    border: 1px solid #3b47ab;
    background-color: #3b47ab;
}

.selectPurple {
    border-radius: 10px;
    height: 47px;
    font-size: 20px;
    line-height: 45px;
    color: #fff;
    border: 1px solid #6a39b6;
    background-color: #6a39b6;
}

.selectOne {
    border-radius: 10px;
    height: 47px;
    font-size: 18px;
    line-height: 45px;
    color: #363e59;
    border: 1px solid #455a64;
    background-color: #fff;
}

.selectIndigo.nice-select.wide .list,
.selectPurple.nice-select.wide .list,
.selectOne.nice-select.wide .list {
    left: 0;
    right: 0;
}

.nice-select:hover .selectIndigo {
    color: #fff;
    border: 1px solid #3b47ab;
}

.selectPurple .nice-select:hover {
    color: var(--white-color);
    border: 1px solid var(--theme-purple);
}

.selectOne .nice-select:hover {
    color: #363e59;
    border: 1px solid #455a64;
}

.selectIndigo .nice-select:active,
.nice-select .selectIndigo.open,
.selectIndigo .nice-select:focus {
    color: #fff;
    border: 1px solid #3b47ab;
    background-color: #3b47ab;
}

.selectPurple .nice-select:active,
.selectPurple .nice-select.open,
.selectPurple .nice-select:focus {
    color: #fff;
    border: 1px solid #6a39b6;
    background-color: #6a39b6;
}

.selectOne .nice-select:active,
.selectOne .nice-select.open,
.selectOne .nice-select:focus {
    color: #363e59;
    border: 1px solid #455a64;
    background-color: #fafafa;
}

.selectIndigo .nice-select:after,
.selectIndigo .nice-select:hover:after,
.selectPurple .nice-select:after,
.selectPurple .nice-select:hover:after {
    color: #fff;
}

.selectIndigo.nice-select:after,
.selectPurple.nice-select:after {
    color: #fff;
    width: 20px;
    height: 47px;
    font-size: 24px;
    line-height: 45px;
    margin-top: -23px;
    right: 8px;
}

.selectOne.nice-select:after {
    color: #363e59;
    width: 20px;
    height: 47px;
    font-size: 24px;
    line-height: 45px;
    margin-top: -23px;
    right: 8px;
}

.selectIndigo.nice-select.open:after,
.selectPurple.nice-select.open:after {
    color: #fff;
}

.selectOne.nice-select.open:after {
    color: #363e59;
}

.selectIndigo.nice-select.wide .list {
    top: 100%;
    left: 0;
    margin-top: 0;
    border: 1px solid #5762c2;
    background-color: #fff;
}

.selectPurple.nice-select .list {
    top: 100%;
    left: 0;
    margin-top: 0;
    border: 1px solid #9374c2;
    background-color: #fff;
}

.selectOne.nice-select .list {
    top: 100%;
    left: 0;
    margin-top: 0;
    border: 1px solid #363e59;
    background-color: #fff;
}

.selectIndigo.nice-select .option:hover,
.selectIndigo.nice-select .option.focus,
.selectIndigo.nice-select.option.selected.focus {
    color: #fff;
    background-color: #5762c2;
}

.selectPurple.nice-select .option:hover,
.selectPurple.nice-select .option.focus,
.selectPurple.nice-select .option.selected.focus {
    background-color: #9374c2;
}

.selectOne.nice-select .option:hover,
.selectOne.nice-select .option.focus,
.selectOne.nice-select .option.selected.focus {
    background-color: var(--primary-color);
}

.selectIndigo.nice-select .option.selected {

    background-color: #5762c2;
}

.selectPurple.nice-select .option.selected {
    color: #fff;
    background-color: #9374c2;
}

.selectOne.nice-select .option.selected {
    color: #fff;
    background-color: #58658c;
}

/*----------- 美化的Select下拉框設定 end -----------*/


/*** ========================================= 驗證碼 ==============================================***/

.VerifyCode {
    border-radius: 10px;
    width: 97%;
    margin: 0 auto;
    margin-top: 20px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-around;
}

@media (max-width: 430px) {
    .VerifyCode {
        width: 90%;
        flex-direction: column;
    }
}

@media (max-width: 414px) {
    .VerifyCode {
        width: 94.5%;
    }
}

@media (max-width: 414px) {
    .VerifyCode {
        width: 92%;
        margin-right: 12px;
        margin-left: 12px;
    }
}


.VerifyCodeImgArea {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

@media (max-width: 430px) {

    .VerifyCodeImgArea {
        margin-top: 20px;
    }
}

.VerifyCodeImg {
    border: 1px solid red;
    width: 60%;
}

.verofyCodeInput {
    width: 60%;
    margin-right: 20px;
}

@media (max-width: 430px) {
    .verofyCodeInput {
        width: 100%;
        margin-right: 0;
        margin-bottom: 20px;
    }
}

#reBtn {
    width: 25%;
    padding: 8px !important;
    margin: 0;
}

@media (max-width: 430px) {
    #reBtn {
        width: 30%;
    }
}

@media (max-width: 390px) {
    #reBtn {
        width: 35%;
    }
}


/*** ========================================================= 聯絡我們 Contact End =================================================***/


/*** ========================================================= 頁尾 Footer Start ====================================================***/


.footer {
    background-color: #15233c;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 30px;
    padding-bottom: 30px;
}

@media (max-width: 430px) {
    .footer {
        padding-top: 16px;
        padding-bottom: 16px;
    }
}


.footerInnerDiv {
    padding-top: 12px;
    padding-bottom: 12px;
}

.footer {
    /* 這裡可以放置其他樣式，如有 */
}

.footer .footer-item {
    display: flex;
    flex-direction: column;
}

.footer .footer-item a {
    line-height: 35px;
    /* color: var(--bs-body); */
    color: white;
    transition: 0.5s;
}

.footer .footer-item span {
    line-height: 35px;
    /* color: var(--bs-body); */
    color: white;
    transition: 0.5s;
}

.footer .footer-item a:hover {
    letter-spacing: 2px;
    color: var(--bs-primary);
}

.footer .footer-item h4 {
    margin-bottom: 24px;
}

.footer .footer-item p {
    line-height: 35px;
}

.footer i {
    color: var(--primary-color);
    margin-right: 16px;
}


.footerIcon {
    display: flex;
    align-items: center;
}

.footerIcon i {
    margin-right: 0;
}

.footerIcon a {
    margin: 8px 8px 0;
}

/* border線條 */
.footerborder {
    /* border-top: 1px solid #455a64; */
    padding: 24px 12px;
}

.footerborderSpan span {
    /* 這裡可以放置其他樣式，如有 */
}

@media (min-width: 768px) {
    .footerborderSpan span {
        margin-bottom: 0;
    }
}

.footerIconOrder {
    flex-direction: row-reverse;
    justify-content: start;
}

.iconColor {
    color: #5E5CA0 !important
}


/*** ========================================================= 頁尾 Footer End ====================================================***/


/*** ========================================================= 頁尾權利聲明 copyright Start ========================================***/


.copyright {
    background-color: #15233c;
    /* background: var(--bs-dark) !important; */
}

/*** ========================================================= 頁尾權利聲明 copyright End ========================================***/


/*** ========================================================= 線上影音 video Start ==============================================***/

.hide430 {}

@media (max-width: 430px) {
    .hide430 {
        display: none;
    }
}

.hide430 {}

.VideoOnline {
    margin: 0 auto;
}

.VideoOnlineInner {
    padding-right: 0 !important;
    padding-left: 0 !important;
}

@media (max-width: 430px) {
    .VideoOnlineInner {
        padding-top: 0px !important;
    }
}

.video-title p {
    font-size: 18px;
    font-weight: 400;
    line-height: 20.7px;
    color: var(--primary-color);
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 5px;
}

.video-title p:hover {
    color: #FFB6AC;
}

@media (max-width: 764px) {
    .video-title h5 {
        font-size: 16px;
    }
}

@media (max-width: 430px) {
    .video-title p {
        font-size: 16px;
    }
}

.video-title i {
    color: var(--primary-color);
}

.video-title h5 {
    font-size: 20px;
    font-weight: 400;
    line-height: 23px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    /* 限制顯示兩行 */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
    width: 100%;
    min-height: 46px;
    color: #666;
}

@media (max-width: 540px) {
    .video-title h5 {
        font-size: 16px;
        line-height: 24px;
        min-height: 28px;
        max-height: 46px;
    }
}

@media (max-width: 430px) {
    .video-title h5 {
        font-size: 14px;
    }
}

@media (max-width: 360px) {
    .video-title h5 {
        line-height: 24px;
        min-height: 48px;
        max-height: 0px;
        padding-right: 4px;
        padding-left: 4px;
    }
}


.videoBTN {
    margin-top: 8px;
}

@media (max-width: 430px) {
    .videoBTN {
        padding: 8px 16px !important;
    }
}

@media (max-width: 360px) {
    .videoBTN {
        width: 90%;
        padding: 4px 0 !important;
        margin: 12px auto;
    }
}


.video .video-carousel {
    position: relative;

}

.video .video-carousel a {
    color: #15233c;

}

.video-carousel .owl-dots {
    margin-top: 30px;
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
}

@media (max-width: 430px) {
    .video-carousel .owl-dots {
        gap: 12px;
    }
}

.video-carousel .owl-dots .owl-dot {
    width: 9px;
    height: 9px;
    margin: 5px;
    border-radius: 50%;
    background: #a3becc;
    position: relative;
}

.video-carousel .owl-dots .owl-dot:after {
    position: absolute;
    top: -3px;
    left: -3px;
    right: 0;
    bottom: 0;
    width: 15px;
    height: 15px;
    content: '';
    border: 1px solid #a3becc;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    border-radius: 50%;
}

.video-carousel .owl-dots .owl-dot.active {
    background: var(--primary-color);
}

.video .video-carousel .owl-nav .owl-prev {
    position: absolute;
    /* top: -30%; */
    top: -18%;
    left: 43%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    background: var(--primary-color);
    color: var(--bs-light);
    transition: 0.5s;
}

@media (max-width: 1440px) {
    .video .video-carousel .owl-nav .owl-prev {
        /* top: -35%; */
        top: -22%;
        left: 40%;
    }
}

@media (max-width: 992px) {
    .video .video-carousel .owl-nav .owl-prev {
        /* top: -22%; */
        top: -9%;
        left: 40%;
    }
}

@media (max-width: 780px) {
    .video .video-carousel .owl-nav .owl-prev {
        display: none;
    }
}

.video .video-carousel .owl-nav .owl-next {
    position: absolute;
    /* top: -30%; */
    top: -18%;
    right: 43%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    background: var(--primary-color);
    color: var(--bs-light);
    transition: 0.5s;
}

@media (max-width: 1440px) {
    .video .video-carousel .owl-nav .owl-next {
        /* top: -35%; */
        top: -22%;
        right: 40%;
    }
}

@media (max-width: 992px) {
    .video .video-carousel .owl-nav .owl-next {
        /* top: -22%; */
        top: -9%;
        right: 40%;
    }
}

@media (max-width: 780px) {
    .video .video-carousel .owl-nav .owl-next {
        display: none;
    }
}

.video .video-carousel .owl-nav .owl-prev:hover,
.video .video-carousel .owl-nav .owl-next:hover {
    box-shadow: inset 100px 0 0 0 var(--bs-white) !important;
    color: var(--primary-color) !important;
    border: 1px solid var(--primary-color);
}

@media(max-width: 764px) {

    .video .video-carousel .owl-nav .owl-prev,
    .video .video-carousel .owl-nav .owl-next {
        display: none;
    }
}

/* 線上影音列表 */

.VideoListArea {
    /* 其他樣式如有 */
}

@media (max-width: 1200px) {
    .VideoListArea {
        display: grid;
        grid-template-rows: repeat(4, 1fr);
        grid-template-columns: repeat(2, 1fr);
        align-items: center;
        justify-items: center;
        gap: 12px;
    }
}

@media (max-width: 540px) {
    .VideoListArea {
        display: grid;
        grid-template-rows: repeat(3, 1fr);
        grid-template-columns: repeat(2, 1fr);
        gap: 0;
    }
}

.video .VideoListItem {
    /* 其他樣式如有 */
}

@media (max-width: 1024px) {
    .video .VideoListItem {
        padding: 0 30px 30px 30px;
    }
}

@media (max-width: 820px) {
    .video .VideoListItem {
        padding: 0 12px 12px 12px;
    }
}

@media (max-width: 430px) {
    .video .VideoListItem {
        padding: 0 8px 8px 8px;
    }
}

.VideoListCard {
    /* 其他樣式如有 */
}

@media (max-width: 1200px) {
    .VideoListCard {
        width: 80%;
    }
}

@media (max-width: 992px) {
    .VideoListCard {
        width: 100%;
    }
}

@media (max-width: 430px) {
    .VideoListCard {
        width: 100%;
    }
}

/*** ========================================================= 線上影音 video End ==============================================***/


/*** ========================================================= 最新消息 news Start ==============================================***/


.NewsTab {}

@media (max-width: 430px) {
    .NewsTab {
        font-size: 20px !important;
    }
}

@media (max-width: 390px) {
    .NewsTab {
        font-size: 20px !important;
    }
}

@media (max-width: 344px) {
    .NewsTab {
        font-size: 14px !important;
    }
}

.NewsInfoMobile {
    width: 100%;
}

@media (max-width: 820px) {
    .NewsInfoMobile {
        align-items: start !important;
    }
}

.NewsTabBTN {
    padding: 12px 40px;
    margin: 0 12px;
    font-size: 19px;
    font-weight: 400;
    border-radius: 10px;
}

@media (max-width: 1440px) {
    .NewsTabBTN {
        font-size: 16px;
        padding: 8px 20px;
        margin: 0 20px;
    }
}

@media (max-width: 992px) {
    .NewsTabBTN {
        padding: 8px 10px;
        margin: 0 12px;
    }
}

@media (max-width: 640px) {
    .NewsTabBTN {
        padding: 8px 12px;
        margin: 0 20px;
    }
}

@media (max-width: 430px) {
    .NewsTabBTN {
        padding: 8px 8px;
        margin: 0 12px;
    }
}

.list h6 {
    font-size: 20px !important;
}

@media (max-width: 430px) {
    .list h6 {
        font-size: 16px !important;
        line-height: 24px;
    }
}

.Relconpany h6 {
    /* 其他樣式如有 */
}

@media (max-width: 430px) {
    .Relconpany h6 {
        font-size: 14px !important;
    }
}

.nav-pills .nav-item .active {
    border-bottom: 2px solid #FFA726;
}

.iconfontColor {
    color: #5BC1AC;
}

.tabFront {
    color: #455A64;
}

@media (max-width: 430px) {
    .tabFront {
        font-size: 16px;
    }
}

.tabBack {
    color: #708E9C;
}

@media (max-width: 430px) {
    .tabBack {
        font-size: 20px;
    }
}

@media (max-width: 344px) {
    .tabBack {
        font-size: 16px;
    }
}

.borderStyle {
    border-bottom: 1px dotted #A3BECC;
    padding-bottom: 4px;
}

.calendarcolor {
    color: #ffb6ac;
}

.dateColor {
    color: #E1341E;
}

.newsBGcolor {
    background-color: var(--news-color);
}

a.NewsBox:hover {
    background-color: #fffcf7;
}

.titleColor {
    color: #9168a0;
    font-size: 18px;
    width: 70%;
    white-space: nowrap;
    /* 強制文字在一行內顯示 */
    overflow: hidden;
    /* 隱藏超出容器的部分 */
    text-overflow: ellipsis;
    /* 使用省略號來表示溢出的文本 */
}

@media (max-width: 1440px) {
    .titleColor {
        width: 66%;
    }
}

@media (max-width: 540px) {
    .titleColor {
        width: 80%;
    }
}

@media (max-width: 390px) {
    .titleColor {
        width: 90%;
    }
}

.titleColor2 {
    font-size: 18px;
    color: #5e5ca0;
    width: 70%;
    white-space: nowrap;
    /* 強制文字在一行內顯示 */
    overflow: hidden;
    /* 隱藏超出容器的部分 */
    text-overflow: ellipsis;
    /* 使用省略號來表示溢出的文本 */
}

@media (max-width: 1440px) {
    .titleColor2 {
        width: 66%;
    }
}

@media (max-width: 1280px) {
    .titleColor2 {
        width: 68%;
    }
}

@media (max-width: 912px) {
    .titleColor2 {
        width: 64%;
    }
}

@media (max-width: 540px) {
    .titleColor2 {
        width: 100%;
    }
}

.NewsTitle {
    /* 這裡可以放置其他樣式，如有 */
    margin-left: 12px;
}

@media (max-width: 820px) {
    .NewsTitle {
        margin-top: 8px;
    }
}

@media (max-width: 576px) {
    .NewsTitle {
        margin-top: 12px;
        text-align: left;
        font-size: 20px;
    }
}

@media (max-width: 430px) {
    .NewsTitle {
        font-size: 18px;
        margin-top: 8px;
    }
}

.NewsText {
    /* 這裡可以放置其他樣式，如有 */
}

@media (max-width: 576px) {
    .NewsText {
        font-size: 16px;
        line-height: 22px;
        margin-bottom: 12px;
    }
}

.NewsTime {
    font-size: 20px;
    /* 這裡可以放置其他樣式，如有 */
}

@media (max-width: 1280px) {
    .NewsTime {
        font-size: 18px;
    }
}

@media (max-width: 992px) {
    .NewsTime {
        font-size: 16px;
    }
}


.contentColor {
    color: #708a9c;
    font-size: 16px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media (max-width: 430px) {
    .contentColor {
        font-size: 16px;
    }
}


/* 最新消息 2*/
.calendarcolor2 {
    color: #80d0c7;
}

.dateColor2 {
    color: var(--primary-color);
}

.newsBGcolor2 {
    background-color: #5bc1ac;
}

.newsecondBG {
    background-color: #FaF9FB;
}

.newsecondBG:hover {
    background-color: #fffcf7;
}

/* 最新消息按鈕顏色 */
.newsBtn {
    color: var(--primary-color);
}

/* 最新消息內頁 */
.newsContent h2 {
    color: var(--primary-color);
    line-height: 32px;
}

@media (max-width: 430px) {
    .newsContent h2 {
        font-size: 24px;
        letter-spacing: 1px;
    }
}

.newsContent p {
    font-size: 18px;
    color: #455a64;
}

@media (max-width: 430px) {
    .newsContent p {
        font-size: 16px;
    }
}

.newsContantTime {
    text-align: center;
    color: #000 !important;
    font-size: 18px !important;
}

@media (max-width: 992px) {
    .newsContantTime {
        font-size: 16px !important;
    }
}

.BigNewsTitle {
    font-size: 80px;
    font-weight: bold;
    line-height: 60px;
    color: var(--primary-color) !important;
    text-shadow: 0px 4px 2px rgba(0, 0, 0, 0.5);
}

/* ====== 最新消息內容文字優化 Start ====== */
.newsInnerContent li {
    margin-top: 6px;
    margin-bottom: 6px;
    text-align: justify;
    font-size: 18px;
    line-height: 28px;
    font-weight: 300;
    color: #455a64;
}

.newsInnerContent ol ul,
.service ul ol {
    margin-bottom: 20px;
}

.newsInnerContent p {
    margin-top: 6px;
    margin-bottom: 12px;
    text-align: justify;
    font-size: 18px;
    line-height: 28px;
    font-weight: 300;
    color: #455a64;
}

/* ====== 最新消息內容文字優化 End ====== */


.newsInnerContent img {
    display: block;
    height: auto;
    max-width: 100% !important;
}

/* 新聞內頁 中標題 */
.newsContantMidTitle {
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
    font-size: 24px;
    color: #5e5ca0;
}

@media (max-width: 430px) {
    .newsContantMidTitle {
        font-size: 18px;
    }
}


.newsContantSmallTitle {
    font-size: 20px !important;
    margin-top: 10px !important;
    margin-bottom: 10px !important;
    color: #FF6D00 !important;
}

.articleTitle {
    margin-top: 40px;
    margin-bottom: 40px;
    padding-left: 10px;
    font-size: 24px;
    line-height: 32px;
    border-left: 5px solid #00bcd4;
    color: #15233c;
    font-weight: 400;
}

@media (max-width: 430px) {
    .articleTitle {
        font-size: 20px;
    }
}

.articleTitle2 {
    margin-top: 20px;
    margin-bottom: 20px;
}


/*** ========================================================= 最新消息 news End ==============================================***/


/*** ========================================================= 關係企業連結 Start =============================================***/

.reBorder {
    border-radius: 10px;
    border-style: solid;
    border-width: 2px;
    border-color: #A3BECC;
}

a.companyLink {
    position: relative;
    display: block;
    margin-bottom: 16px;
    padding: 8px 6px 16px;
    text-decoration: none;
    overflow: hidden;
    /* 隐藏超出范围的动画效果 */
    z-index: 1;
    /* 确保文字在上层 */
    border: 2px solid #a3becc;
    border-radius: 10px;
    background-color: #fff;
    box-shadow: 0px 0px 12px 2px rgba(73, 73, 73, 0.24);
}

a.companyLink::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: #80d0c7;
    /* 刷满的颜色 */
    z-index: -1;
    /* 置于文字下层 */
    transition: width 0.5s ease-in-out;
    /* 动画效果 */
}

a:hover.companyLink::before {
    width: 100%;
    /* 鼠标悬停时刷满整个背景 */
}

span.companyLink {
    display: block;
    padding: 8px 6px 16px;
    margin-bottom: 16px;
    border: 2px solid #a3becc;
    border-radius: 10px;
    background-color: #fff;
    box-shadow: 0px 0px 12px 2px rgba(73, 73, 73, 0.24);
}

a.companyLink .companyName,
span.companyLink .companyName {
    font-size: 20px;
    line-height: 24px;
    font-weight: 500;
    text-align: center;
    color: var(--primary-color);
}

a:hover.companyLink .companyName {
    transition: 0.2s;
    color: #fff;
    font-weight: 600;
}

a.companyLink .relatedLogo,
span.companyLink .relatedLogo {
    display: flex;
    justify-content: center;
    height: 120px;
}

a.companyLink .relatedLogo img,
span.companyLink .relatedLogo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

a.unitLink,
span.unitLink {
    display: block;
    margin-bottom: 24px;
}

a.unitLink .relatedLogo {
    position: relative;
    display: block;
    height: 200px;
    padding: 8px 6px;
    text-decoration: none;
    overflow: hidden;
    /* 隐藏超出范围的动画效果 */
    z-index: 1;
    /* 确保文字在上层 */
    border: 2px solid #a3becc;
    border-radius: 10px;
    background-color: #fff;
    box-shadow: 0px 0px 12px 2px rgba(73, 73, 73, 0.24);
}

a.unitLink .relatedLogo::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: #80d0c7;
    /* 刷满的颜色 */
    z-index: -1;
    /* 置于文字下层 */
    transition: width 0.5s ease-in-out;
    /* 动画效果 */
}

a:hover.unitLink .relatedLogo::before {
    width: 100%;
    /* 鼠标悬停时刷满整个背景 */
}

/*
a:hover.unitLink .relatedLogo, a:active.unitLink .relatedLogo {
	color: #549f93;
	border: 1px solid #50c5b7;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); 
}
*/
span.unitLink .relatedLogo {
    display: flex;
    justify-content: center;
    height: 200px;
    padding: 8px 6px;
    border: 2px solid #a3becc;
    border-radius: 10px;
    background-color: #fff;
    box-shadow: 0px 0px 12px 2px rgba(73, 73, 73, 0.24);
}

a.unitLink .relatedLogo img,
span.unitLink .relatedLogo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

a.unitLink .unitName,
span.unitLink .unitName {
    margin-top: 6px;
    font-size: 20px;
    line-height: 28px;
    font-weight: 500;
    text-align: center;
    color: var(--primary-color);
}

.CompanyLinkArea {
    display: inline-flex;
    justify-content: flex-start;
}

@media (max-width: 768px) {
    .CompanyLinkArea {
        justify-content: center;
    }
}

.hover-effect {
    position: relative;
    display: inline-block;
    padding: 10px 20px;
    color: #000;
    /* 链接文字颜色 */
    text-decoration: none;
    overflow: hidden;
    /* 隐藏超出范围的动画效果 */
    z-index: 1;
    /* 确保文字在上层 */
}

.hover-effect::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: #80D0C7;
    /* 刷满的颜色 */
    z-index: -1;
    /* 置于文字下层 */
    transition: width 0.5s ease-in-out;
    /* 动画效果 */
}

.hover-effect:hover::before {
    width: 100%;
    /* 鼠标悬停时刷满整个背景 */
}

.hover-effect:hover .companyName {
    transition: 0.2s;
    color: #fff;
    /* 鼠标悬停时文字变色，可选 */
}

.fontsws h6 {
    font-size: 18px;
    font-weight: 700;
}

/*** ========================================================= 關係企業連結 End =============================================***/


/*** ========================================================= 首頁 六大品質保證 Start ============================================***/


.quality {
    background: #faf9f9 url(../img/bg.png) no-repeat right bottom;
}

.reQuality {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 8px;
    padding: 16px;
    border-radius: 50%;
    border-style: solid;
    border-width: 6px;
    background-color: #fff;
    box-shadow: 0px 0px 12px 2px rgba(73, 73, 73, 0.24);
}

.quality li:nth-child(odd) .reQuality {
    border-color: var(--primary-color);
}

.quality li:nth-child(even) .reQuality {
    border-color: #ffb6ac;
}

.reQuality img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.policyName {
    margin-bottom: 24px;
    font-size: 20px;
    line-height: 24px;
    font-weight: 500;
    text-align: center;
    color: var(--primary-color);
}

/*** ========================================================= 首頁 六大品質保證 End ============================================***/


/*** ========================================================= 首頁 線上影音lightBox-影音圖文介紹設定 Start ======================***/


.modal {
    --bs-modal-width: 650px;
}

.modal-header {
    padding: 5px 0;
    display: flex;
    justify-content: center;
    color: #fff;
    background-color: var(--primary-color);
}

.modal-title {
    width: 90%;
    font-size: 24px;
    font-weight: 400;
    text-align: center;
    /*    background-color: #ccc;*/
}

.modal-body {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding: 24px;
}

.modalPic {
    background-color: #ccc;
}

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

.modalInfo {
    padding-left: 20px;
}

.modalBnBname {
    font-size: 20px;
    line-height: 32px;
    color: #6a39b6;
    font-weight: 400;
    word-break: keep-all;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.modalBnBtel {
    font-size: 18px;
    line-height: 32px;
    color: #424242;
    font-weight: 300;
    word-break: keep-all;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.modalBnBaddress {
    font-size: 18px;
    line-height: 32px;
    color: #424242;
    font-weight: 300;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.modalBnBwebsite {
    font-size: 18px;
    line-height: 32px;
    color: #424242;
    font-weight: 300;
}

.modalBnBwebsite a {
    text-decoration: underline;
    color: #007d99;
}

.modalBnBwebsite a:hover {
    text-decoration: none;
    color: #d96c89;
}

.modalBrief {
    margin-top: 20px;
    font-size: 18px;
    line-height: 28px;
    color: #424242;
    font-weight: 300;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
}

.modal-footer {
    justify-content: center;
    padding-top: 0;
    border-top: none;
}

.modal {
    --bs-modal-width: 768px;
}

.modal-header {
    padding: 5px 0;
}

.modal-title {
    width: 90%;
}

.modalInfo {
    padding-left: 0;
}

.modalBnBname {
    font-size: 18px;
    line-height: 28px;
}

.modalBnBtel {
    font-size: 16px;
    line-height: 28px;
}

.modalBnBaddress {
    font-size: 16px;
    line-height: 28px;
}

.modalBnBwebsite {
    font-size: 16px;
    line-height: 28px;
}

.modalBrief {
    margin-top: 10px;
    font-size: 16px;
    line-height: 24px;
}

@media screen and (max-width: 767px) {
    .modal {
        --bs-modal-width: 360px;
    }

    .modal-header {
        padding: 5px 0;
    }

    .modal-title {
        width: 90%;
    }

    .modalInfo {
        padding-left: 0;
    }

    .modalBnBname {
        font-size: 18px;
        line-height: 28px;
    }

    .modalBnBtel {
        font-size: 16px;
        line-height: 28px;
    }

    .modalBnBaddress {
        font-size: 16px;
        line-height: 28px;
    }

    .modalBnBwebsite {
        font-size: 16px;
        line-height: 28px;
    }

    .modalBrief {
        margin-top: 10px;
        font-size: 16px;
        line-height: 24px;
    }
}

.closeBtn {
    padding: 0 20px 2px;
    text-align: center;
    font-size: 20px;
    line-height: 40px;
    color: #fff;
    border-radius: 10px;
    background: var(--primary-gradient);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    border-top: 1px solid #28b3b3;
    border-right: 2px solid var(--primary-color);
    border-bottom: 2px solid var(--primary-color);
    border-left: 1px solid var(--primary-color);
    box-shadow: 2px 2px 3px rgba(51, 51, 51, 0.7);
}

.closeBtn:hover,
.closeBtn:active,
.closeBtn:focus {
    color: #fff;
    border-radius: 10px;
    background: linear-gradient(to bottom, #cc526a 0%, #d96c89 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    border-top: 1px solid #db8597;
    border-right: 2px solid #9c3e52;
    border-bottom: 2px solid #9e465c;
    border-left: 1px solid #d77388;
    box-shadow: 2px 2px 3px rgba(51, 51, 51, 0.7);
}

a.xClose01 {
    width: 10%;
    text-align: center;
    display: block;
    text-decoration: none;
    color: #fff;
    /*    background-color: #000;*/
}

a.xClose01 i {
    font-size: 36px;
}


/*** ========================================================= 首頁 線上影音lightBox-影音圖文介紹設定 End ======================***/


/* 公司介紹 */
.comHistoryWrap {
    padding-top: 40px;
    padding-bottom: 40px;
}

.bg-light {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
}

.TeamText {
    font-size: 18px;
    line-height: 24px;
}

@media (max-width: 430px) {
    .TeamText {
        font-size: 16px;
    }
}


.TeamLayout {
    flex-direction: column;
    align-items: center;
}

.TeamLayoutImg {
    width: 50%;
    margin-top: 0 !important;
}

@media (max-width: 540px) {
    .TeamLayoutImg {
        width: 80%;
    }
}

@media (max-width: 430px) {
    .TeamLayoutImg {
        width: 90%;
    }
}

.TeamTitleArea {
    /* 其他樣式如有 */
}

@media (max-width: 430px) {
    .TeamTitleArea {
        padding-left: 4px !important;
    }
}

.TeamTitleAreaForLabor {
    /* 其他樣式如有 */
}

@media (max-width: 430px) {
    .TeamTitleAreaForLabor {
        padding-left: 8px !important;
    }
}


.TeamTitle h6 {
    /* 其他樣式如有 */
}

@media (max-width: 540px) {
    .TeamTitle h6 {
        font-size: 18px !important;
    }
}

@media (max-width: 430px) {
    .TeamTitle h6 {
        font-size: 20px !important;
    }
}

@media (max-width: 390px) {
    .TeamTitle h6 {
        font-size: 18px !important;
    }
}

@media (max-width: 344px) {
    .TeamTitle h6 {
        font-size: 16px !important;
    }
}

.TeamTitleSub {
    /* 其他樣式如有 */
}

@media (max-width: 430px) {
    .TeamTitleSub {
        font-size: 20px !important;
    }
}

@media (max-width: 390px) {
    .TeamTitleSub {
        font-size: 18px !important;
    }
}

@media (max-width: 344px) {
    .TeamTitleSub {
        font-size: 16px !important;
    }
}


.TeamTitleFor3BTN h6 {
    justify-content: center;
}

@media (max-width: 540px) {
    .TeamTitleFor3BTN h6 {
        font-size: 18px !important;
    }
}

@media (max-width: 430px) {
    .TeamTitleFor3BTN h6 {
        font-size: 14px !important;
    }
}

@media (max-width: 360px) {
    .TeamTitleFor3BTN h6 {
        font-size: 12px !important;
    }
}

.TeamTitleSubFor3BTN {
    /* 其他樣式如有 */
}

@media (max-width: 430px) {
    .TeamTitleSubFor3BTN {
        font-size: 14px !important;
    }
}

@media (max-width: 360px) {
    .TeamTitleSubFor3BTN {
        font-size: 12px !important;
    }
}

.TeamTitle2 {
    justify-content: center;
}

@media (max-width: 540px) {
    .TeamTitle2 {
        width: 80%;
    }
}

@media (max-width: 430px) {
    .TeamTitle2 {
        width: 100%;
    }
}



.TeamTitleForLabor h6 {
    /* 其他樣式如有 */
}

@media (max-width: 540px) {
    .TeamTitleForLabor h6 {
        font-size: 18px !important;
    }
}

@media (max-width: 430px) {
    .TeamTitleForLabor h6 {
        font-size: 16px !important;
    }
}

.TeamMobile {
    /* 其他樣式如有 */
}

@media (max-width: 430px) {
    .TeamMobile {
        margin-right: 6px !important;
        margin-left: 6px !important;
    }
}

@media (max-width: 412px) {
    .TeamMobile {
        margin-right: 0px !important;
        margin-left: 0px !important;
    }
}


.TeamContant {
    padding-right: 6px !important;
    padding-left: 6px !important;
}

.TeamInfoIcon {
    /* 其他樣式如有 */
}

@media (max-width: 430px) {
    .TeamInfoIcon {
        font-size: 18px;
    }
}

@media (max-width: 376px) {
    .TeamInfoIcon {
        font-size: 28px;
    }
}

@media (max-width: 360px) {
    .TeamInfoIcon {
        font-size: 18px;
    }
}


.TeamSmallText {
    font-size: 20px !important;
}

@media (max-width: 430px) {
    .TeamSmallText {
        font-size: 14px !important;
    }
}

.TeamSmallIcon {
    /* 其他樣式如有 */
}


@media (max-width: 430px) {
    .TeamSmallIcon {
        font-size: 40px;
    }
}

.CustomIcon5050 {
    width: 50px;
    height: 50px;
}

.TeamClearMargin {
    /* 其他樣式如有 */
}


.ClearPanddingLeft {
    /* 其他樣式如有 */
}


.TeamContactUsText p {
    font-size: 20px;
    text-align: center;
    margin-bottom: 0;
}

@media (max-width: 430px) {
    .TeamContactUsText {
        font-size: 18px;
        text-align: center;
    }

    .TeamContactUsText p {
        font-size: 18px;
    }

    .ClearPanddingLeft {
        padding-left: 0px;
    }

    .TeamClearMargin {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}


/*** ================================================================== 公司沿革 Start ============================================================***/


.roadmap-carousel {
    position: relative;
}

/*虛線*/
.roadmap-carousel::before {
    position: absolute;
    content: "";
    height: 0;
    width: 100%;
    top: 20px;
    left: 0;
    border-top: 2px dashed #455A64;
}

/*菱形外框*/
.roadmap-carousel .roadmap-item .roadmap-point {
    position: absolute;
    width: 30px;
    height: 30px;
    top: 6px;
    left: 50%;
    margin-left: -15px;
    background: #FFFFFF;
    border: 2px solid var(--primary-color);
    transform: rotate(45deg);
    display: flex;
    align-items: center;
    justify-content: center;
}

/*菱形內部*/
.roadmap-carousel .roadmap-item .roadmap-point span {
    display: block;
    width: 18px;
    height: 18px;
    background: var(--primary-color);
}

.roadmap-carousel .roadmap-item {
    position: relative;
    padding-top: 150px;
    text-align: left;
    line-height: 1.8rem;
}

.roadmap-item h5 {
    text-align: center;
}

/*菱形下方虛線*/
.roadmap-carousel .roadmap-item::before {
    position: absolute;
    content: "";
    width: 0;
    height: 115px;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    border-right: 2px dashed #455A64;
}

.roadmap-carousel .roadmap-item::after {
    position: absolute;
    content: "";
    width: 14px;
    height: 14px;
    top: 111px;
    left: 50%;
    margin-left: -7px;
    transform: rotate(45deg);
    background: var(--primary-color);
}

.roadmap-carousel .owl-nav {
    margin-top: 40px;
    display: flex;
    justify-content: center;
}

@media (max-width: 430px) {
    .roadmap-carousel .owl-nav {
        margin-top: 0;
    }
}


.roadmap-carousel .owl-nav .owl-prev,
.roadmap-carousel .owl-nav .owl-next {
    margin: 0 32px;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50px;
    font-size: 22px;
    color: #fff;
    background: var(--primary-color);
    transition: .5s;
}

@media screen and (max-width: 992px) {

    .roadmap-carousel .owl-nav .owl-prev,
    .roadmap-carousel .owl-nav .owl-next {
        margin: 0 60px;
    }
}

@media screen and (max-width: 430px) {

    .roadmap-carousel .owl-nav .owl-prev,
    .roadmap-carousel .owl-nav .owl-next {
        margin: 0 40px;
    }
}

@media screen and (max-width: 344px) {
    .roadmap-carousel .owl-nav .owl-prev {
        margin-right: 60px;
        margin-left: 0;
    }

    .roadmap-carousel .owl-nav .owl-next {
        margin-right: 0;
        margin-left: 60px;
    }
}

.roadmap-carousel .owl-nav .owl-prev:hover,
.roadmap-carousel .owl-nav .owl-next:hover {
    color: #0e5be9;
    background: var(--primary-color);
}

.RoadmapBigEvent {
    margin-bottom: 40px !important;
    font-weight: 500;
}

.RoadmapContent {
    padding-top: 0 !important;
}

/* 直式時間線(數量多中間連接的線就接不上，而且數量一多連接線也不會變色) */
.timeline-section {
    width: 100%;
    height: 100%;
    background-color: #5398f3;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
}

.timeline-container .vertical-scrollable-timeline {
    list-style-type: none;
    position: relative;
    padding-left: 0;
}

.timeline-container .vertical-scrollable-timeline .list-progress {
    width: 8px;
    height: 87%;
    background-color: #05829b;
    /*進度條變色*/
    position: absolute;
    left: 52px;
    top: 0;
    overflow: hidden;
}

.timeline-container .vertical-scrollable-timeline .list-progress .inner {
    position: absolute;
    right: 0;
    bottom: 0;
    height: 100%;
    background-color: var(--primary-color);
    /*變色前顏色*/
    width: 100%;
}

.timeline-container .vertical-scrollable-timeline li {
    position: relative;
    padding: 20px 0px 65px 145px;
}

.timeline-container .vertical-scrollable-timeline li:last-child {
    padding-bottom: 0;
}

.timeline-container .vertical-scrollable-timeline li p {
    line-height: 40px;
}

.timeline-container .vertical-scrollable-timeline li p:last-child {
    margin-bottom: 0;
}

.timeline-container .vertical-scrollable-timeline li .icon-holder {
    position: absolute;
    left: 0;
    top: 0;
    width: 104px;
    height: 104px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--primary-color);
    /*變色前外框*/
    border-radius: 50%;
    z-index: 1;
    transition: 0.4s all;
}

.timeline-container .vertical-scrollable-timeline li .icon-holder::before {
    content: "";
    width: 80px;
    height: 80px;
    border: 4px solid #fff;
    position: absolute;
    background-color: var(--primary-color);
    /*變色前內框*/
    border-radius: 50%;
    z-index: -1;
    transition: 0.4s all;
}

.timeline-container .vertical-scrollable-timeline li .icon-holder i {
    font-size: 25px;
    color: #fff;
    /*圈圈內圖案顏色*/
}

.timeline-container .vertical-scrollable-timeline li::before {
    content: "";
    position: absolute;
    height: 100%;
    width: 8px;
    background-color: transparent;
    left: 52px;
    z-index: 0;
}

.timeline-container .vertical-scrollable-timeline li.active .icon-holder {
    background-color: #05829b;
    /*滑過後改變內框顏色*/
}

.timeline-container .vertical-scrollable-timeline li.active .icon-holder::before {
    background-color: #05829b;
    /*滑過後改變外框顏色*/
}

@media screen and (max-width: 991px) {
    .timeline-container .vertical-scrollable-timeline .list-progress {
        height: 75%;
    }

    .timeline-container .vertical-scrollable-timeline li {
        padding-left: 135px;
    }
}

/*** ================================================================== 公司沿革 End ============================================================***/


/*** ================================================================== 服務項目 家庭類看護工 Start ==============================================***/
.CutomTable {}

@media (max-width: 430px) {
    .CutomTable {
        width: 94%;
    }
}

.service ul {
    margin-left: -5px;
    list-style: disc;
}

.service li {
    margin-top: 6px;
    margin-bottom: 6px;
    text-align: justify;
    font-size: 18px;
    line-height: 24px;
    font-weight: 300;
    color: #15233c;
}

.service ol {
    margin-left: -5px;
    list-style: decimal;
}

.service ol ul,
.service ul ol {
    margin-bottom: 20px;
}

.service p {
    margin-bottom: 16px;
    text-align: justify;
    font-size: 18px;
    line-height: 24px;
    font-weight: 300;
    color: #15233c;
}

@media (max-width: 764px) {
    /*
    .service ul {
        margin-left: 10px;
    }
*/

    .sbtn {
        width: 242px;
    }
}

@media (max-width: 430px) {
    .sbtn {
        width: 90%;
    }
}

@media (max-width: 360px) {
    .sbtn {
        font-size: 14px !important;
        width: 100%;
    }
}


.service h4 {
    color: var(--primary-color);
}


.TDStyle {
    /* 其他樣式如有 */
}

.TDStyle b {
    font-size: 20px;
}

@media (max-width: 430px) {
    .TDStyle b {
        font-size: 16px;
        font-weight: 500;
    }
}


.TDULStyle {}

.TDTitle {
    font-size: 20px;
}

@media (max-width: 430px) {
    .TDTitle {
        font-size: 18px;
    }
}


/* 專業訓練 */
.train h4 {
    color: #15233c;
    font-weight: 400;
}

.train p {
    margin-top: 8px;
    margin-bottom: 16px;
    text-align: justify;
    font-size: 18px;
    line-height: 24px;
    font-weight: 300;
    color: #15233c;
}

@media(max-width:764px) {
    .traindiv {
        width: 194px;
    }
}

/* 家庭類幫傭 */
.serviceHomeCare {
    display: flex;
    align-items: center;
    justify-content: center;
}

.serviceHomeCareImg {
    /* 其他樣式如有 */
}

.serviceHomeCareImg img {
    object-fit: cover;
    display: block;
    height: auto;
}


.serviceSmallTitle {
    /* 其他樣式如有 */
}

@media (max-width: 430px) {
    .serviceSmallTitle {
        font-size: 18px;
        line-height: 24px;
    }
}

.serviceJobWorkerArea01 {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

@media (max-width: 1000px) {
    .serviceJobWorkerArea01 {
        flex-direction: column;
        align-items: start;
    }
}

/*** ================================================================== 服務項目 家庭類看護工 End ==============================================***/


/*** ================================================================== jobProcess 選工流程  Start ============================================***/


.jobProcess .jobProcess-item {
    position: relative;
    padding-top: 40px;
}

.jobProcess .jobProcess-item:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: color-mix(in srgb, var(--default-color), transparent 90%);
}

.jobProcess .jobProcess-item::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 2px;
    background: var(--accent-color);
    border-right: 5px solid var(--background-color);
}

.jobProcess .jobProcess-item .icon {
    width: 48px;
    height: 48px;
    position: relative;
    margin-right: 50px;
    line-height: 0;
}

.jobProcess .jobProcess-item .icon i {
    color: color-mix(in srgb, var(--default-color), transparent 30%);
    font-size: 56px;
    transition: ease-in-out 0.3s;
    z-index: 2;
    position: relative;
}

.jobProcess .jobProcess-item .icon:before {
    position: absolute;
    content: "";
    height: 30px;
    width: 30px;
    background: color-mix(in srgb, var(--accent-color), transparent 70%);
    border-radius: 50px;
    z-index: 1;
    bottom: -15px;
    right: -15px;
    transition: 0.3s;
}

.jobProcess .jobProcess-item .title {
    font-weight: 700;
    margin-bottom: 15px;
    font-size: 18px;
}

.jobProcess .jobProcess-item .title a {
    color: var(--heading-color);
}

.jobProcess .jobProcess-item .title a:hover {
    color: var(--accent-color);
}

.jobProcess .jobProcess-item .description {
    line-height: 24px;
    font-size: 14px;
}

/*--------------------------------------------------------------
# jobProcess Details Section
--------------------------------------------------------------*/
.jobProcess-details .jobProcess-box {
    background-color: var(--surface-color);
    padding: 20px;
    box-shadow: 0px 2px 20px rgba(0, 0, 0, 0.1);
}

.jobProcess-details .jobProcess-box+.jobProcess-box {
    margin-top: 30px;
}

.jobProcess-details .jobProcess-box h4 {
    font-size: 20px;
    font-weight: 700;
    border-bottom: 2px solid color-mix(in srgb, var(--default-color), transparent 92%);
    padding-bottom: 15px;
    margin-bottom: 15px;
}

.jobProcess-details .jobProcess-list {
    background-color: var(--surface-color);
}

.jobProcess-details .jobProcess-list a {
    color: color-mix(in srgb, var(--default-color), transparent 20%);
    background-color: color-mix(in srgb, var(--default-color), transparent 96%);
    display: flex;
    align-items: center;
    padding: 12px 15px;
    margin-top: 15px;
    transition: 0.3s;
}

.jobProcess-details .jobProcess-list a:first-child {
    margin-top: 0;
}

.jobProcess-details .jobProcess-list a i {
    font-size: 16px;
    margin-right: 8px;
    color: var(--accent-color);
}

.jobProcess-details .jobProcess-list a.active {
    color: var(--contrast-color);
    background-color: var(--accent-color);
}

.jobProcess-details .jobProcess-list a.active i {
    color: var(--contrast-color);
}

.jobProcess-details .jobProcess-list a:hover {
    background-color: color-mix(in srgb, var(--accent-color), transparent 95%);
    color: var(--accent-color);
}

.jobProcess-details .download-catalog a {
    color: var(--default-color);
    display: flex;
    align-items: center;
    padding: 10px 0;
    transition: 0.3s;
    border-top: 1px solid color-mix(in srgb, var(--default-color), transparent 90%);
}

.jobProcess-details .download-catalog a:first-child {
    border-top: 0;
    padding-top: 0;
}

.jobProcess-details .download-catalog a:last-child {
    padding-bottom: 0;
}

.jobProcess-details .download-catalog a i {
    font-size: 24px;
    margin-right: 8px;
    color: var(--accent-color);
}

.jobProcess-details .download-catalog a:hover {
    color: var(--accent-color);
}

.jobProcess-details .help-box {
    background-color: var(--accent-color);
    color: var(--contrast-color);
    margin-top: 30px;
    padding: 30px 15px;
}

.jobProcess-details .help-box .help-icon {
    font-size: 48px;
}

.jobProcess-details .help-box h4,
.jobProcess-details .help-box a {
    color: var(--contrast-color);
}

.jobProcess-details .jobProcess-img {
    margin-bottom: 20px;
}

.jobProcess-details h3 {
    font-size: 26px;
    font-weight: 700;
}

.jobProcess-details p {
    font-size: 15px;
}

.jobProcess-details ul {
    list-style: none;
    padding: 0;
    font-size: 15px;
}

.jobProcess-details ul li {
    padding: 5px 0;
    display: flex;
    align-items: center;
}

.jobProcess-details ul i {
    font-size: 20px;
    margin-right: 8px;
    color: var(--accent-color);
}

.jobProcessBorder {
    border: 1px solid var(--primary-color);
    border-radius: 10px;
}

.JobProcessCard {
    display: flex;
    align-items: center;
    width: 70%;
    justify-content: space-around;
}

@media (max-width: 430px) {
    .JobProcessCard {
        width: 100%;
    }
}

.JobProcessBox {
    padding: 12px !important;
    font-size: 48px;
}

@media (max-width: 992px) {
    .JobProcessBox {
        padding: 8px !important;
        font-size: 32px;
    }
}

@media (max-width: 430px) {
    .JobProcessBox {
        padding: 4px !important;
        font-size: 24px;
    }
}


/*** ================================================================== 各國勞工特色 Start ========================================***/


/* 勞工特色 */
.laborBGcolor {
    background-color: var(--primary-color);
}

.laborFeatures p {
    text-align: left;
    font-size: 16px !important
}

.laborFeatures h3 {
    color: var(--primary-color);
}

.laborCountry {
    width: 200px;
    height: 200px;
}

@media(max-width:764px) {
    .laborblock {
        width: 150px;
        height: 150px !important
    }

    .laborCountry {
        width: 150px;
        height: 150px;

    }
}


/*** ================================================================== 各國勞工特色 laborFeatures.html   End ========================================***/


/*** ================================================================== 常見問題 faqList.html.html  Start ============================================***/



.QA {
    width: 195px;
}

/*--------------------------------------------------------------
# Faq Section
--------------------------------------------------------------*/
.faq .faq .content-subtitle {
    font-size: 15px;
    margin-bottom: 10px;
    display: block;
    color: var(--default-color);
}

.faq .content-title {
    color: var(--heading-color);
    font-size: 22px;
    margin-bottom: 30px;
}

.faq p {
    line-height: 1.7;
    color: var(--default-color);
}

.faq .accordion-body ul {
    margin-left: -5px;
    list-style: disc;
}

.faq .accordion-body li {
    margin-top: 6px;
    margin-bottom: 6px;
    text-align: justify;
    font-size: 18px;
    line-height: 24px;
    font-weight: 300;
    color: #455a64;
}

.faq .accordion-body ol {
    margin-left: -5px;
    list-style: decimal;
}

.faq .accordion-body ol ul,
.faq .accordion-body ul ol {
    margin-bottom: 20px;
}

.faq .accordion-body p {
    margin-bottom: 16px;
    text-align: justify;
    font-size: 18px;
    line-height: 24px;
    font-weight: 300;
    color: #455a64;
}

.faq .custom-accordion .accordion-item {
    background-color: var(--surface-color);
    margin-bottom: 0px;
    position: relative;
    border-radius: 0px;
    overflow: hidden;
}

.faq .custom-accordion .accordion-item .btn-link {
    display: block;
    width: 100%;
    padding: 15px 0;
    text-decoration: none;
    text-align: left;
    color: #15233c;
    border: none;
    padding-left: 40px;
    border-radius: 0;
    position: relative;
    background-color: color-mix(in srgb, var(--default-color), transparent 94%);
}

@media (max-width: 430px) {
    .faq .custom-accordion .accordion-item .btn-link {
        padding-left: 32px;
    }
}

@media (max-width: 376px) {
    .faq .custom-accordion .accordion-item .btn-link {
        padding-left: 40px;
    }
}

.faq .custom-accordion .accordion-item .btn-link:before {
    content: "\f282";
    display: inline-block;
    font-family: "bootstrap-icons" !important;
    font-style: normal;
    font-weight: normal !important;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    vertical-align: -0.125em;
    -webkit-font-smoothing: antialiased;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 15px;
}

@media (max-width: 430px) {
    .faq .custom-accordion .accordion-item .btn-link:before {
        left: 2%;
        top: 50%;
    }
}

@media (max-width: 360px) {
    .faq .custom-accordion .accordion-item .btn-link:before {
        left: 3px;
        top: 40%;
    }
}


.faq .custom-accordion .accordion-item .btn-link[aria-expanded=true] {
    color: var(--accent-color);
    font-size: 20px;
}

@media (max-width: 430px) {
    .faq .custom-accordion .accordion-item .btn-link[aria-expanded=true] {
        font-size: 16px;
    }
}


.faq .custom-accordion .accordion-item .btn-link[aria-expanded=true]:before {
    font-family: "bootstrap-icons" !important;
    content: "\f286";
    position: absolute;
    color: var(--accent-color);
    top: 50%;
    transform: translateY(-50%);
}

.faq .custom-accordion .accordion-item .accordion-body {
    padding: 0 20px 10px;
    text-align: justify;
    font-size: 18px;
    line-height: 24px;
    font-weight: 300;
    color: #455a64;
}

@media screen and (max-width: 767px) {
    .faq .custom-accordion .accordion-item .accordion-body {
        padding: 0px 12px 12px 12px;
        font-size: 16px;
    }

    .faq .accordion-body li {
        font-size: 16px;
    }

    .faq .accordion-body p {
        font-size: 16px;
    }
}

.faq .section .accordion-body ul {
    list-style: disc;
}

.faq .section .accordion-body li {
    text-align: justify;
    font-size: 16px;
    line-height: 32px;
    color: #15233c;
}

.faq .section .accordion-body ol {
    list-style: decimal;
}

/*** ================================================================== 常見問題 faqList.html.html  End ============================================***/


/*** ================================================================== 下載專區 downloadArea.html.html  Start =====================================***/


.download ul li a {
    color: #15233c;
}

.download h4 {
    font-size: 18px !important;
    text-align: left !important;
    line-height: 24px;
}

.download-a {
    font-size: 18px;
    line-height: 50px;
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    border-radius: 10px;
    border-style: solid;
    border-width: 1px;
    color: #fff !important;
    width: 120px;
    height: 50px;
    text-align: center;
    margin-left: 15px;
    margin-bottom: 5px;
    text-decoration: none;
}

.download ul li {
    list-style: none;
}

.download ul li {
    border-bottom: 1px solid #A3BECC;
}

.download li:last-child {
    border-bottom: 0px;
}

@media(max-width:764px) {
    .download-a {
        margin: 20px 0px;
        display: inline-block;
        width: 60% !important;
        height: 40px !important;
        line-height: 40px;
        margin-left: 0px;
        font-size: 20px;
    }

    .downloadareadiv {
        width: 100%;
    }
}

@media(max-width:430px) {
    .download-a {
        width: 85% !important;
        margin-top: 8px;
    }
}

.download-a:hover {
    background-color: var(--primary-color);
    color: #fff !important;
    border-color: var(--primary-color);
}

.download ul li a:hover {
    color: #5e5ca0;
}


/*** ================================================================== 下載專區 downloadArea.html.html  End =====================================***/

/* 4排文字少量類型TAB選單 */
.TabFor4TabLayout {
    /* 其他樣式如有 */
}

@media (max-width: 430px) {
    .TabFor4TabLayout {
        font-size: 16px !important;
    }
}

@media (max-width: 390px) {
    .TabFor4TabLayout {
        font-size: 16px !important;
    }
}

@media (max-width: 344px) {
    .TabFor4TabLayout {
        font-size: 14px !important;
    }
}

.TabFor4TabType h6 {}

@media (max-width: 430px) {
    .TabFor4TabType h6 {
        font-size: 20px !important;
    }
}


@media (max-width: 344px) {
    .TabFor4TabType h6 {
        font-size: 14px !important;
    }
}

.TabBTN h6 {
    /* 其他樣式如有 */
}

@media (max-width: 430px) {
    .TabBTN h6 {
        font-size: 16px !important;
    }
}

/*** ======================================================================= 容器設定 ===============================================***/
.ContainPaddingY {
    padding-top: 80px;
    padding-bottom: 80px;
}

@media (max-width: 992px) {
    .ContainPaddingY {
        padding-top: 40px;
        padding-bottom: 40px;
    }
}

/* 內層容器設定 */
.ContainInnerPaddingY {
    padding: 48px 12px;
}

@media (max-width: 992px) {
    .ContainInnerPaddingY {
        padding: 24px 6px;
    }
}

.ContainPaddingX {
    padding-right: 0;
    padding-left: 0;
}

.ContainPaddingX12 {
    padding-right: 12px;
    padding-left: 12px;
}

.ContainPaddingX4 {
    padding-right: 4px;
    padding-left: 4px;
}

.ContainPddingR0 {
    padding-right: 0;
}

.ContainPddingT40 {
    padding-top: 40px;
}

.ContainPddingT80 {
    padding-top: 80px;
}

.ContainPaddingD40 {
    padding-bottom: 40px;
}

.ContainMarginX0 {
    margin-right: 0;
    margin-left: 0;
}

.ContainMarginX12 {
    margin-right: 12px;
    margin-left: 12px;
}

.ContainMarginOnlyD40 {
    margin-bottom: 40px;
}

.ContainMarginOnlyD64 {
    margin-bottom: 64px;
}

.ContainMarginOnlyD32 {
    margin-bottom: 32px;
}

.ContainMarginOnlyD24 {
    margin-bottom: 24px;
}

.ContainMarginOnlyD0 {
    margin-bottom: 0px;
}

.ContainMarginOnlyL0 {
    margin-left: 0 !important;
}

.ContainMarginOnlyT24 {
    margin-top: 24px;
}

.ContainMarginOnlyT20 {
    margin-top: 20px;
}

.ContainMarginOnlyT32 {
    margin-top: 32px;
}

.ContainMarginOnlyT40 {
    margin-top: 40px;
}

@media (max-width: 430px) {
    .ContaitMarginX430RWD4 {
        margin-left: 4px;
    }
}

@media (max-width: 430px) {
    .JustContainCenter430 {
        justify-content: center !important;
    }
}

.blank30 {
    height: 30px;
}

.blank50 {
    height: 50px;
}

.blank60 {
    height: 60px;
}

.blank70 {
    height: 70px;
}

.blank80 {
    height: 80px;
}

.pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding-left: 0;
    margin: 1.5rem 0 0;
}

.pagination > li {
    list-style: none;
}

.pagination .page-link,
.pagination a,
.pagination span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    padding: 0 0.9rem;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 999px;
    background-color: #fff;
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 600;
    transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s;
}

.pagination a:hover,
.pagination .page-link:hover {
    background-color: var(--primary-color-light);
    border-color: var(--primary-color);
    color: var(--primary-color);
}

.pagination .active > a,
.pagination .active > span,
.pagination .page-item.active .page-link {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: #fff;
}

.pagination .disabled > a,
.pagination .disabled > span,
.pagination .page-item.disabled .page-link {
    background-color: var(--light-color);
    border-color: rgba(0, 0, 0, 0.1);
    color: #adb5bd;
    pointer-events: none;
}

.pagination a:focus,
.pagination .page-link:focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(21, 169, 169, 0.25);
}

a.unitLink,
span.unitLink {
    display: block;
    margin-bottom: 16px;
}

a.unitLink .relatedLogo {
    position: relative;
    display: flex;
    justify-content: center;
}

.contact .info-item {
    height: 220px;
}

@media screen and (min-width: 992px) and (max-width: 1200px) {
    .contact .info-item {
        margin-top: 0;
        padding: 6px;
        height: 260px;
    }
}

@media screen and (max-width: 767px) {
    .contact .info-item {
        margin-top: 0;
        padding: 8px;
        height: 240px;
    }
}

/* 首頁區塊 */
.home_section a {
    color: var(--primary-color);
}

/* 加入購物車 */
.add-to-cart-btn {
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 5px;
}

.add-to-cart-btn i {
    color: #6c757d;
    transition: color 0.3s;
}

.add-to-cart-btn:hover i {
    color: #198754;
}

/* 產品卡片樣式 */
.product-item {
    transition: all 0.3s ease;
    margin-bottom: 20px;
    background-color: #fff;
}

.hover-shadow:hover {
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
    transform: translateY(-5px);
}

.transition-300 {
    transition: all 0.3s ease;
}

.product-image {
    aspect-ratio: 1/1;
    /* 使用1:1的長寬比例 */
    object-fit: cover;
    width: 100%;
}

.product-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.4);
    opacity: 0;
    transition: all 0.3s ease;
}

.product-item:hover .product-overlay {
    opacity: 1;
}

.product-overlay a {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    transform: translateY(20px);
}

.product-item:hover .product-overlay a {
    transform: translateY(0);
}

.product-item .product-info {
    border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.product-item .product-name {
    font-size: 18px;
    color: var(--dark-color);
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    min-height: 48px;
}

.product-item .product-name:hover {
    color: var(--primary-color);
}

/* 產品標題樣式 */
.product-title,
.service-item.text-center .product-title,
.product-card .product-title {
    text-align: left !important;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    min-height: 4.2em;
    line-height: 1.4;
    font-size: 15px;
}

/* 產品排序區域樣式 */
.form-select {
    border-radius: 5px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    background-color: #fff;
    padding: 8px 12px;
    font-size: 14px;
    box-shadow: none;
}

/* 響應式調整 */
@media (max-width: 768px) {
    .product-image {
        height: 200px;
    }
}

@media (max-width: 576px) {
    .product-image {
        height: 180px;
    }
}

/* 產品列表頁面樣式 - 參考 theme3 和 theme4 的設計 */
.product-item {
    transition: all 0.3s;
    margin-bottom: 30px;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #eee;
    height: 100%;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.product-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
}

.product-img-container {
    overflow: hidden;
    position: relative;
    height: 250px;
}

.product-image {
    height: 100%;
    object-fit: cover;
    width: 100%;
    transition: all 0.5s ease;
}

.product-item:hover .product-image {
    transform: scale(1.05);
}

.product-info {
    padding: 20px;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    height: calc(100% - 250px);
}

.product-title {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 10px;
    color: #333;
    height: 4.2em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    line-height: 1.4;
}

.product-title a {
    text-decoration: none;
    color: inherit;
    transition: color 0.3s ease;
}

.product-title a:hover {
    color: var(--primary-color);
}

.product-description {
    font-size: 14px;
    color: #666;
    margin-bottom: 15px;
    height: 60px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    flex-grow: 1;
}

.product-price {
    font-size: 18px;
    font-weight: 700;
    color: var(--primary-color);
    margin-bottom: 15px;
}

.product-price del {
    font-size: 14px;
    color: #999;
    margin-left: 8px;
    font-weight: 400;
}

.contact-us-text {
    font-size: 16px;
    color: #6c757d;
    font-style: italic;
    margin-bottom: 15px;
}

.product-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 2;
}

.product-badge .badge {
    margin-bottom: 5px;
    display: block;
}

/* 分類標籤樣式 - 參考 theme2 news list */
.product-categories .nav-pills {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.product-categories .nav-link {
    color: #6c757d;
    background-color: #f8f9fa;
    border-radius: 5px;
    padding: 10px 20px;
    font-weight: 500;
    transition: all 0.3s ease;
    text-decoration: none;
}

.product-categories .nav-link:hover {
    background-color: #e9ecef;
}

.product-categories .nav-link.active {
    background-color: #f8f9fa;
    color: var(--primary-color);
    font-weight: bold;
    border: 2px solid var(--primary-color);
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}

/* 產品操作按鈕 */
.product-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-top: auto;
}

.btn-view-details {
    transition: all 0.3s;
}

.btn-view-details:hover {
    background-color: var(--primary-color);
    color: #fff;
    border-color: var(--primary-color);
}

/* 排序選項樣式 */
.sort-options {
    margin-bottom: 30px;
}

.sort-options .form-select {
    border-radius: 20px;
    border: 1px solid #dee2e6;
    padding: 8px 16px;
}

/* 動畫效果 */
.fade-in {
    animation: fadeIn 0.5s ease-in-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 響應式設計 */
@media (max-width: 768px) {
    .product-categories .nav-pills {
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 10px;
    }

    .product-categories .nav-link {
        white-space: nowrap;
        margin-bottom: 5px;
    }

    .sort-options {
        text-align: center;
    }
}

.product-card .card-title {
    display: -webkit-box;
    display: box;
    -webkit-line-clamp: 3;
    /* 限制在三行文字 */
    line-clamp: 3;
    /* 標準屬性，增加相容性 */
    -webkit-box-orient: vertical;
    box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    /* 文字溢出顯示省略號 */
    line-height: 1.5;
    height: 4.5em;
    /* 3 行的高度 = 3 * 1.5em */
    margin-bottom: 0.5rem;
    font-weight: 500;
    font-size: 15px;
    color: var(--text-color);
}

/* 產品描述固定四行，文字多餘顯示省略號 */
.product-card .card-text {
    display: -webkit-box;
    display: box;
    -webkit-line-clamp: 4;
    /* 限制在四行文字 */
    line-clamp: 4;
    /* 標準屬性，增加相容性 */
    -webkit-box-orient: vertical;
    box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    /* 文字溢出顯示省略號 */
    line-height: 1.5;
    height: 6em;
    /* 4 行的高度 = 4 * 1.5em */
}

/* 手機版導航滑動樣式（僅 nav 橫向捲動，不影響 tab-content） */
@media (max-width: 767.98px) {
    .tab-class .tab-nav-scroll {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
        padding: 0 15px;
    }

    .tab-class .tab-nav-scroll::-webkit-scrollbar {
        display: none;
    }

    .tab-class .tab-nav-scroll .nav {
        flex-wrap: nowrap !important;
        white-space: nowrap;
        padding-bottom: 10px;
        justify-content: flex-start !important;
    }

    .tab-class .tab-nav-scroll .nav-item {
        flex-shrink: 0;
    }

    .tab-class .tab-nav-scroll .nav-item:first-child a {
        margin-left: 0 !important;
    }

    .tab-class .tab-nav-scroll .nav-item a {
        white-space: nowrap;
        min-width: auto;
        padding: 0.4rem 0.75rem;
        margin-right: 0.5rem;
        margin-left: 0 !important;
        border-radius: 10px;
        font-size: 0.85rem;
    }

    /* TabFor4TabType 手機版更緊湊：縮小圖標、內距 */
    .tab-class .tab-nav-scroll .TabFor4TabType .nav-item a {
        padding: 0.35rem 0.65rem;
        font-size: 0.8rem;
    }

    .tab-class .tab-nav-scroll .TabFor4TabType .nav-item a i {
        font-size: 0.9rem !important;
        margin-right: 0.35rem !important;
    }

    .tab-class .tab-nav-scroll .TabFor4TabType .nav-item a .ps-3 {
        padding-left: 0.35rem !important;
    }

    .tab-class .tab-nav-scroll .TabFor4TabType .nav-item a h6,
    .tab-class .tab-nav-scroll .TabFor4TabType .nav-item a .TabFor4TabLayout {
        font-size: 0.85rem !important;
    }

    .tab-class .tab-nav-scroll .nav-item:last-child a {
        margin-right: 15px;
        /* 最後一個項目添加右邊距，確保能滑動到底 */
    }
}

/* 部落格列表樣式 - 卡片方式 */
.blog-list {
    margin-bottom: 30px;
}

.blog-card {
    height: 100%;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.blog-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
}

.blog-card .card-img-top {
    height: 200px;
    object-fit: cover;
}

.blog-card .card-body {
    padding: 1.25rem;
}

.blog-card .card-title {
    color: #333;
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 0.75rem;
    transition: color 0.3s ease;
    /* 標題固定2行 */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.4;
    height: calc(1.4em * 2);
}

.blog-card .card-text {
    color: #6c757d;
    font-size: 0.9rem;
    line-height: 1.5;
    margin-bottom: 1rem;
    /* 內容固定4行 */
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    height: calc(1.5em * 4);
}

.blog-card .card-footer {
    background-color: #fff;
    border-top: 1px solid rgba(0, 0, 0, .05);
    padding: 1rem 1.25rem;
}

.blog-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    font-size: 0.8rem;
    color: #6c757d;
}

.blog-meta .meta-item {
    display: flex;
    align-items: center;
    margin-right: 1rem;
}

.blog-meta .meta-item i {
    margin-right: 0.25rem;
}

.blog-tags {
    margin-top: 0.5rem;
}

/* 導航標籤樣式 */
.categories .nav-pills {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-bottom: 30px;
}

.categories .nav-link {
    color: #6c757d;
    background-color: #f8f9fa;
    border-radius: 5px;
    padding: 10px 20px;
    font-weight: 500;
    transition: all 0.3s ease;
    text-decoration: none;
}

.categories .nav-link:hover {
    background-color: #e9ecef;
}

.categories .nav-link.active {
    background-color: #f8f9fa;
    color: var(--primary-color);
    font-weight: bold;
    border: 2px solid var(--primary-color);
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}

/* 會員中心菜單卡片 */
.menu-card {
    background: white;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
    margin-bottom: 30px;
}

.menu-card-header {
    padding: 15px 20px;
    border-bottom: 1px solid #eee;
}

.menu-card-title {
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 0;
}

.menu-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.menu-item {
    border-bottom: 1px solid #eee;
}

.menu-item:last-child {
    border-bottom: none;
}

.menu-link {
    display: block;
    padding: 15px 20px;
    color: #333;
    text-decoration: none;
    transition: all 0.2s ease;
}

.menu-link:hover {
    background-color: #f8f9fa;
    color: var(--primary-color);
}

.menu-link.active {
    background-color: var(--primary-color);
    color: white;
}

.menu-link i {
    margin-right: 10px;
    width: 20px;
    text-align: center;
}

/* Override Bootstrap btn-outline-primary with theme color */
.btn-outline-primary {
    color: var(--primary-color);
    border-color: var(--primary-color);
}

.btn-outline-primary:hover {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: #fff;
}

/* Also override btn-primary just in case */
.btn-primary {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

.btn-primary:hover {
    background-color: var(--custom-btn-bg-hover-color);
    border-color: var(--custom-btn-bg-hover-color);
}
