

:root {
    --color-primary: #E6256E;
    --color-light: #FFB3CE;
    --color-dark: #C2235F;
    --color-hover-bg: #FEF1F7;

    --color-bg: #FFFFFF;
    --color-card-bg: #FFFFFF;

    --color-heading-text: #101828;
    --color-text: #101828;
    --color-secondary-text: #344054;
    --color-caption-text: #98A3B3;
    --color-disable-text: #98A3B3;
    --color-button-text: #FFFFFF;

    --vh: 1vh;
}

.dark {
    --color-primary: #E6256E;
    --color-light: #FB6BAC;
    --color-dark: #C2235F;
    --color-hover-bg: #FEF1F7;

    --color-bg: #121212;
    --color-card-bg: #21222E;

    --color-heading-text: #F7F7F7;
    --color-text: #F7F7F7;
    --color-secondary-text: #9B999A;
    --color-caption-text: #616161;
    --color-disable-text: #616161;
    --color-button-text: #FFFFFF;
}

:root {
    --main-color: var(--color-primary);
    --minor-color: var(--color-dark);
    --card-shadow: #90909026;
}

* {
    font-family: "sofia-pro-soft", 'Noto Sans TC', 'themify', 'Line Awesome Free', "Font Awesome 6 Brands", sans-serif !important;
    font-style: normal;
}

body {
    color: var(--color-text);
    background-color: var(--color-bg);
}

h1 {
    color: var(--color-heading-text);
    font-size: 3.5rem;
    font-weight: bold;
}

h2 {
    color: var(--color-heading-text);
    font-size: 3rem;
    font-weight: bold;
}

h3 {
    color: var(--color-heading-text);
    font-size: 2.5rem;
    font-weight: bold;
}

h4 {
    color: var(--color-text);
    font-size: 1.5rem;
}

h5 {
    color: var(--color-text);
    font-size: 1.25rem;
}

a {
    color: var(--color-primary);
}

a:hover, a:active, a:focus {
    color: var(--color-dark);
}

p {
    color: var(--color-secondary-text);
    font-size: 1rem;
}

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

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

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

.pink {
    color: var(--color-primary) !important;
}

.btn {
    padding: 12px 32px;
    font-size: 20px;
    font-weight: bold;
    border-radius: 29px;
}

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

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

.btn.btn-secondary {
    color: var(--color-primary) !important;
    background-color: transparent !important;
    border-color: var(--color-primary) !important;
    font-size: 1rem !important;
    padding: 12px 32px !important;
}

.btn.btn-secondary:hover {
    color: var(--color-dark) !important;
    background-color: transparent !important;
    border-color: var(--color-dark) !important;
}

.card {
    background-color: var(--color-card-bg) !important;
}

.card-title1 {
    font-size: 2rem;
    font-weight: bold;
}

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

.dropdown-menu {
    background-color: var(--color-card-bg) !important;
    border: none;
    padding: 0;
}

.dropdown-menu.show {
    display: none;
}

.dropdown-menu > li > a {
    color: var(--color-text);
    font-size: 1rem;
    text-align: center;
}

.dropdown-menu > li > a:focus,
.dropdown-menu > li > a:hover {
    color: var(--main-color);
    background-color: transparent;
}

.dropdown-item {
    padding: 8px 24px;
}

.modal-content {
    background-color: var(--color-bg) !important;
}
.modal-header,
.modal-footer {
    border-color: var(--color-card-bg) !important;
}

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

.nav-item.searchIcon {
    display: none !important;
}

header .navbar,
header .navbar-nav {
    background-color: var(--color-bg) !important;
}

header .navbar {
    box-shadow: 0 0px 0 rgba(0, 0, 0, 0) !important;
}

header .navbar .navbar-brand .logo {
    width: auto !important;
    max-width: fit-content;
}

header .navbar .navbar-toggler span.icon-bar {
    background-color: var(--color-text) !important;
}

@media screen and (min-width: 992px) {
    header .navbar .navbar-toggler + .navbar-brand {
        display: none !important;
    }
}

header .navbar .navbar-nav .nav-item:nth-child(2) {
    position: absolute;
    left: 20%;
    height: 100%;
    top: 10px;
}

header .navbar .navbar-nav .nav-item:nth-child(2) a {
    width: auto;
    height: auto;
    margin-top: 0 !important;
    padding: 0;
}

header .navbar .navbar-nav .nav-item.dropdown.show {
    flex-direction: column;
    align-items: flex-start;
}

header .navbar .navbar-nav .nav-item.dropdown.show.active .dropdown-menu {
    display: block;
}

header .navbar .navbar-nav .nav-item.dropdown.show.active .dropdown-toggle::after {
    transform: rotate(180deg);
}

header .navbar .navbar-nav .nav-item .nav-link {
    color: var(--color-text) !important;
}

footer {
    border-top: none !important;
}

.site-footer {
    background: var(--color-primary) !important;
}

.site-footer .link-widget ul a {
    color: #ffffff;
    opacity: 0.6;
}

.site-footer .link-widget ul a:hover {
    color: #ffffff60;
    opacity: 1;
}

.site-footer .upper-footer,
.site-footer .lower-footer {
    display: none;
}

.site-footer .copyright {
    color: #E4E7EC !important;
    opacity: .5;
}

.icon_right .icon,
.icon_right i {
    display: none !important;
}

.about-section {
    padding-bottom: 30px;
}

.block_area,
.content_block {
    margin-top: -20px !important;
}

.section-padding {
    padding: 30px 0;
}

.section-title, .section-title-s2, .section-title-s3 {
    margin-bottom: 0px !important;
}

.member-pic {
    text-align: center;
}

.cta-s2-section::before {
    opacity: .8 !important;
}

.cta-s2-section .container {
    padding: 50px 0;
}

.hero-style-1 .slide-caption .slide-subtitle p, .hero-style-2 .slide-caption .slide-subtitle p, .hero-style-3 .slide-caption .slide-subtitle p {
    line-height: 1.5em;
}

.testimonials-contact-section .contact-area span {
    font-weight: inherit;
}

.offcanvas-collapse .nav-link span {
    background: var(--color-primary);
    border-radius: 100px;
    height: 8px;
    width: 8px !important;
    position: absolute;
    left: 50%;
    margin: 0 auto;
    opacity: 0;
    bottom: 8px;
}

.hero-style-1 .slide-caption h2, .hero-style-2 .slide-caption h2, .hero-style-3 .slide-caption h2 {
    font-weight: bold;
}

.hero-style-1 .slide-caption h2, .hero-style-2 .slide-caption h2, .hero-style-3 .slide-caption h2 {
    font-size: 4rem;
}

.bloglist .blog_post {
    transition: all .5s ease !important;
}

.bloglist .blog_post:hover {
    transform: translateY(-5px);
    position: relative;
    transition: all .5s ease !important;
}

.bloglist .blog_post .blog_info .title {
    -webkit-line-clamp: 2 !important;
}

.bloglist .blog_post .blog_info .category {
    border: 1px solid var(--minor-color);
    color: var(--minor-color);
    opacity: .7;
}

.bloglist .blog_post .blog_info .date {
    color: var(--minor-color);
    opacity: .7;
}

.scrollNavLogo img {
    position: relative;
    bottom: 15px;
}

.account {
    display: none !important;
}

.right_info .lang {
    display: none !important;
}

.testimonials-contact-section .contact-area p, .testimonials-contact-section-s2 .contact-area p, .testimonials-section-page .contact-area p {
    display: none;
}

.bg-overlay:before {
    background-color: rgba(37, 54, 77, 0);
}

.contact-pg-section .contact-info {
    padding: 60px 15px;
}

.contact-pg-section .contact-info > div {
    padding: 0 2.25rem;
}

.service-section .service-grids .grid {
    margin-bottom: 30px;
    background: #FFFFFF 0% 0% no-repeat padding-box;
    box-shadow: 0px 3px 18px #8D1A4533;
    border-radius: 24px;
}

.service-section .grid .icon {
    max-width: 48px;
    max-height: 48px;
    width: auto;
    height: auto;
}


.bloglist .mt-5 {
    margin-top: 0rem !important;
}

.cta-s2-section::before {
    background-color: var(--minor-color) !important;
}

.cta-s2-section::before {
    opacity: .8 !important !important;
}

.upper-footer a {
    color: #ffffff;
}

.theme-btn-s2, .theme-btn-s4, .section-title h2:before, .team-section .grid .info {
    border-radius: 100px;
}

.service-section .service-grids .grid, .member-pic img {
    border-radius: 20px;
}

.list .download {
    color: var(--minor-color);
}

.list:hover .download {
    background-color: var(--minor-color);
}

.blog-pg-section .blog-content .post {
    border-bottom: 5px solid blue;
}

.bloglist .blog_post.grid3 {
    border-radius: 24px;
    background: #FFFFFF 0% 0% no-repeat padding-box;
    box-shadow: 0px 4px 18px #8D1A4533;
    padding-bottom: 1.5rem;
    overflow: hidden;
}

.bloglist .blog_post .blog_info {
    padding: 0 1.5rem;
}

.bloglist .col-lg-3:nth-child(4) {
    display: none;
}

.bloglist .more {
    min-width: 76px;
    display: inline-block;
    margin-bottom: 0;
    line-height: 1.42857143;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    background-image: none;
    border: 1px solid transparent;
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    padding: 12px 32px;
    font-size: 20px;
    font-weight: bold;
    border-radius: 29px;
    color: #fff;
    box-shadow: 0 6px 18px rgba(117, 1, 28, .18);
}

.testimonials-contact-section {
    background: #fff;
}

.testimonials-contact-section .contact-row {
    background: #FFFFFF 0% 0% no-repeat padding-box;
    box-shadow: 0px 4px 18px #8D1A4533;
    border-radius: 24px;
    padding: 4rem 50px;
    margin: 0 4rem;
}

.testimonials-contact-section .contact-row {
    text-align: center;
}

.testimonials-contact-section .contact-area span, .testimonials-contact-section .contact-area ul, .btn-reset {
    display: none;
}

.testimonials-contact-section .contact-row .content_form .form-group {
    display: grid;
}

.testimonials-contact-section .contact-row .content_form .col-md-10 .row .justify-content-end {
    -webkit-box-pack: center !important;
    -ms-flex-pack: end !important;
    justify-content: center !important;
}

.testimonials-contact-section .contact-row > .col-md-6 {
    width: 100%;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
}

.testimonials-contact-section .contact-row .content_form .form-group .col-sm-2, .testimonials-contact-section .contact-row .content_form .form-group .col-sm-10 {
    width: 100%;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    text-align: left;
}

.form-control {
    height: 50px;
    padding: 13px 16px;
    color: var(--color-text) !important;
    background-color: transparent !important;
    border: 1px solid #DEE2E6;
    border-radius: 6px;
}

label {
    color: #343A40;
    font-weight: normal;
}

.testimonials-contact-section .contact-area h3, .testimonials-contact-section-s2 .contact-area h3, .testimonials-section-page .contact-area h3 {
    padding-right: 0px;
}

div.vertical-line {
    width: 1px;
    background-color: #4D4D4D;
    height: 24px;
    margin: 0 28px;
}

.contact-pg-section .contact-info > div:not(:last-child) {
    border-right: 0px solid #DCDCDC;
    border-bottom: 0px solid #DCDCDC;
}

.blog {
    margin-bottom: 3rem;
    background: #FFFFFF 0% 0% no-repeat padding-box;
    box-shadow: 0px 3px 18px #8D1A4533;
    border-radius: 16px;
    overflow: hidden;
}

.blog .blog_img {
    margin-bottom: 0px;
}

.blog .blog_info {
    padding: 24px;
}

a.base {
    color: var(--color-primary);
}

.blog .blog_info .title {
    font-size: 1.5rem;
}

.dropdown-item:hover {
    background-color: transparent;
    color: var(--color-primary);
}

.dropdown-menu > li > a:hover {
    color: var(--color-primary);
}

.page-item .page-link {
    color: var(--color-secondary-text) !important;
    border-color: #D0D5DD !important;
    border-radius: 0.25rem !important;
    margin-right: 0.5rem !important;
    box-shadow: none !important;
}

.page-item:last-child .page-link {
    margin-right: 0rem !important;
}

.page-item.active .page-link {
    color: #FFFFFF !important;
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
}

.page-item.disabled .page-link {
    color: var(--color-disable-text) !important;
    border-color: #D0D5DD !important;
}

#blog .blog_block .category_filter {
    margin-bottom: 0 !important;
}

#article .banner .title_block h1 {
    color: var(--color-heading-text) !important;
    font-size: 2.5rem;
    font-weight: bold;
}

#article .banner .title_block h2 {
    color: var(--color-heading-text) !important;
    font-size: 2rem;
    font-weight: bold;
}

#article .banner .title_block .category {
    display: inline-block;
    padding-right: 11.5px;
    color: rgba(37, 37, 55, .6);
    border-right: 1px solid rgba(37, 37, 55, .4);
    line-height: 22px;
}

#article .banner .title_block .date {
    display: inline-block;
    padding-left: 11.5px;
    padding-right: 11.5px;
    color: rgba(37, 37, 55, .6);
    border-right: 1px solid rgba(37, 37, 55, .4);
    line-height: 22px;
}

#article .banner .title_block .author {
    display: inline-block;
    padding-left: 11.5px;
    color: rgba(37, 37, 55, .6);
    line-height: 22px;
}

#article .banner .title_block .tags a {
    display: inline-block;
    margin-right: 8px;
    font-size: 20px;
    font-weight: 500;
    line-height: 28px;
}

#article .banner .title_block .category,
#article .banner .title_block .date,
#article .banner .title_block .author,
#article .socialmedia_m {
    color: var(--color-caption-text) !important;
    border-color: var(--color-caption-text) !important;
}

#article .socialmedia {
    padding-top: 50px;
    bottom: 0;
}

#article .socialmedia .socialmedia-content {
    position: sticky;
    top: calc(64px + 100px);
}

#article .relate .relate_title {
    justify-content: left;
}

.swiper-container-cards .swiper-button-next, .swiper-container-cards .swiper-button-prev {
    opacity: 1 !important;
}

.swiper-container .swiper-button-next {
    right: -4rem;
}

.swiper-container .swiper-button-prev {
    left: -4rem;
}

.swiper-container .fas {
    font-family: "Font Awesome 6 Free" !important;
}

.swiper-container .swiper-button-next i, .swiper-container .swiper-button-prev i {
    background-color: transparent;
    color: var(--color-primary);
    box-shadow: none;
}

.swiper-container .swiper-pagination-bullet {
    height: 12px !important;
    width: 12px !important;
    border-radius: 999px !important;
    background-color: #CCCCCC;
    border: #CCCCCC 2px solid;

}

.swiper-container .swiper-pagination-bullets {
    bottom: 20px;
}

.swiper-container .swiper-pagination-bullet.swiper-pagination-bullet-active {
    height: 12px !important;
}

.swiper-container-cards .card2 img {
    border-radius: 24px !important;
    overflow: hidden;
}

.swiper-container-cards .swiper-slide {
    opacity: 0;
}

.swiper-container-cards .swiper-slide-visible {
    opacity: 1 !important;
}

.service-section .grid h3 a {
    cursor: default;
}

.service-section .grid h3 a:hover {
    color: #505050;
}

.opacity-50 {
    opacity: 50%;
}

.back-to-top {
    border-color: var(--color-light) !important;
}

.back-to-top:hover {
    background-color: #FFFFFF !important;
    border-color: var(--color-primary) !important;
}

.back-to-top:hover i {
    color: var(--color-primary) !important;
}

@media (max-width: 575.98px) {
    h1 {
        font-size: 2.5rem;
    }

    h2 {
        font-size: 1.6rem;
    }

    h3 {
        font-size: 1.3rem;
    }

    h4 {
        font-size: 1.4rem;
    }

    .card-title1 {
        font-size: 1.5rem;
        font-weight: bold;
    }

    div.vertical-line {
        width: 30%;
        height: 1px;
        margin: 16px 0;
        left: 35%;
        position: relative;
    }

}

/*sm：橫向手機，768以下*/
@media (max-width: 767.98px) {
    #article .relate .relate_title {
        justify-content: center;
    }

    .testimonials-contact-section .contact-row {
        padding: 2rem 10px;
        margin: 0 1rem;
    }

    .contact-pg-section .contact-info > div {
        padding: 20px 20px !important;
    }
}

/*md：直向平板，992以下*/
@media (max-width: 991.98px) {
    .navbar-brand {
        padding: 0;
        height: auto;
    }

    header .navbar {
        padding: 1.5rem 1rem;
    }

    header .navbar .navbar-nav .nav-item .nav-link {
        padding: 30px 30px 8px 30px;
        color: var(--color-primary) !important;
        font-size: 1rem;
    }

    .dropdown-menu {
        box-shadow: 0 6px 12px rgba(0, 0, 0, 0);
    }

    .dropdown-menu > li > a {
        font-size: 1rem;
        text-align: left;
    }

    .offcanvas-collapse {
        background-color: var(--color-bg) !important;
    }

    .offcanvas-collapse.open {
        right: 0vw;
        width: 100vw;
        height: calc(100vh - 100%);
        height: calc(var(--vh) * 100 - 100%);
    }

    .offcanvas-collapse .nav-link {
        display: flex;
        align-items: center;
    }
}

/*lg：橫向平板，1200以下*/
@media (max-width: 1199.98px) {
}

@media (min-width: 768px) {
    .w-md-60 {
        width: 60% !important;
    }
}

@media screen and (min-width: 992px) {
    .mobile_nav > a.navbar-brand > img {
        display: none;
    }

    header .navbar .navbar-nav {
        box-shadow: rgba(0, 0, 0, 0.0) 0px 0px 0px !important;
    }

    .dropdown-menu {
        border: 0px solid rgba(0, 0, 0, .15) !important;
        box-shadow: 0px 0px 6px #FFCEDF67;
        border-radius: 8px;
    }

    .navbar-nav > li > .dropdown-menu {
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        left: 50%;
        transform: translate(-50%, 0%);
    }

    header .navbar .mobile_nav {
        align-items: center;
        flex-direction: column;
    }

    header .navbar .navbar-nav .nav-item .nav-link {
        position: relative;
    }

    .col-12.col-xl-12.mobile_nav > .navbar-brand {
        position: inherit !important;
        height: 34px;
        padding: 10px;
        left: 0 !important;
        transform: translateX(0%) !important;
    }

    header .navbar .navbar-nav .nav-item:nth-child(2) {
        left: 10%;
    }

    .nav-item.dropdown {
        cursor: pointer;
    }

    .nav-item.dropdown:hover .dropdown-menu {
        display: block;
    }

    .nav-item:hover .nav-link span {
        opacity: 1;
    }

    header .navbar .navbar-nav .nav-item.dropdown {
        flex-direction: row;
    }

    .dropdown-menu {
        border: 1px solid rgba(0, 0, 0, .15);
    }

    .blog-pg-section .container .row .col {
        max-width: 50%;
    }

    .bloglist .col-lg-3 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 33%;
        flex: 0 0 33.333%;
        max-width: 33.333%;
        width: 33.33333333%;
    }

    header .navbar .navbar-nav {
        position: fixed !important;
    }

    header .navbar .navbar-brand {
        display: block !important;
    }

    .navbar-nav.right_info.d-none.d-lg-flex {
        right: 25px;
        left: inherit;
        width: auto;
    }
}

@media screen and (min-width: 1200px) {
    .bloglist {
        width: 1170px;
    }

    header .navbar .navbar-nav .nav-item:nth-child(2) {
        left: 13%;
    }

    .hero.hero-slider-wrapper.hero-style-1 .slide.slick-slide .container .row {
        justify-content: center;
    }

    .slide .col-lg-5 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 66.666667%;
        flex: 0 0 66.666667%;
        max-width: 66.666667%;
    }

    #article .blog_content .container {
        width: auto;
    }

    .relate .container-fluid .col-lg-3, .relate .container-fluid .col-sm-6 {
        width: 33%;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }

    #article .relate .container-fluid {
        width: 1170px;
        max-width: 1140px;
    }

    header .navbar {
        margin-bottom: 30px;
    }
}
