:root {
    scroll-behavior: smooth;
}

:root {
    --font-default: 'Open Sans', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-primary: 'Source Sans Pro', sans-serif;
    --font-secondary: 'Poppins', sans-serif;
    --color-default: #1a1f24;
    --color-default-rgb: 26, 31, 36;
    --color-links: #3279fc;
    --color-links-hover: #4797ff;
    --color-primary: #3279fc;
    --color-primary-light: #4797ff;
    --color-primary-dark: #1c61e2;
    --color-primary-rgb: 50, 121, 252;
    --color-primary-light-rgb: 71, 151, 255;
    --color-primary-dark-rgb: 28, 97, 226;
    --color-secondary: #5670a0;
    --color-secondary-light: #6e87b6;
    --color-secondary-dark: #3b5380;
    --color-secondary-rgb: 86, 112, 160;
    --color-secondary-light-rgb: 110, 135, 182;
    --color-secondary-dark-rgb: 59, 83, 128;
    --color-secondary-blue-rgb: 23, 97, 167;
    --color-blue: #0d6efd;
    --color-blue-rgb: 13, 110, 253;
    --color-blue001: #255E89;
    --color-blue001-rgb: 37, 94, 173;
    --color-indigo: #6610f2;
    --color-indigo-rgb: 102, 16, 242;
    --color-purple: #6f42c1;
    --color-purple-rgb: 111, 66, 193;
    --color-pink: #f3268c;
    --color-pink-rgb: 243, 38, 140;
    --color-red: #df1529;
    --color-red-rgb: 223, 21, 4;
    --color-red-light: #f6273b;
    --color-orange: #fd7e14;
    --color-orange-light: #fd6114;
    --color-orange-rgb: 253, 126, 20;
    --color-yellow: #ffc107;
    --color-yellow-rgb: 255, 193, 7;
    --color-green: #059652;
    --color-green-light: #06c052;
    --color-green-rgb: 5, 150, 82;
    --color-fb: #385599;
    --color-teal: #20c997;
    --color-teal-rgb: 32, 201, 151;
    --color-cyan: #0dcaf0;
    --color-cyan-rgb: 13, 202, 240;
    --color-cyan-blue: #3481ce;
    --color-cyan-blue-rgb: 52, 129, 206;
    --color-white: #ffffff;
    --color-white-rgb: 255, 255, 255;
    --color-gray: #6c757d;
    --color-gray-light: #f1f1f1;
    --color-gray-light-rgb: 241, 241, 241;
    --color-gray-rgb: 108, 117, 125;
    --color-black: #000000;
    --color-black-rgb: 0, 0, 0;
    --color-footer-blue: #124972;
    --color-footer-blue-light: #18639b;
    --color-blue-light: #e8f6ff
}

body {
    font-family: '微軟正黑體';
}

a {
    color: var(--color-links);
    text-decoration: none;
}

    a:hover {
        color: var(--color-links-hover);
        text-decoration: none;
    }

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-primary);
}

#preloader {
    position: fixed;
    inset: 0;
    z-index: 55;
    overflow: hidden;
    background: var(--color-white);
    transition: all .6s ease-out;
    width: 100%;
    height: 100vh;
}

    #preloader:before, #preloader:after {
        content: "";
        position: absolute;
        border: 4px solid var(--color-primary);
        border-radius: 50%;
        -webkit-animation: animate-preloader 2s cubic-bezier(0, .2, .8, 1)infinite;
        animation: animate-preloader 2s cubic-bezier(0, .2, .8, 1)infinite;
    }

    #preloader:after {
        -webkit-animation-delay: -.5s;
        animation-delay: -.5s;
    }

@-webkit-keyframes animate-preloader {
    0% {
        width: 10px;
        height: 10px;
        top: calc(50% - 5px);
        left: calc(50% - 5px);
        opacity: 1;
    }

    100% {
        width: 72px;
        height: 72px;
        top: calc(50% - 36px);
        left: calc(50% - 36px);
        opacity: 0;
    }
}

@keyframes animate-preloader {
    0% {
        width: 10px;
        height: 10px;
        top: calc(50% - 5px);
        left: calc(50% - 5px);
        opacity: 1;
    }

    100% {
        width: 72px;
        height: 72px;
        top: calc(50% - 36px);
        left: calc(50% - 36px);
        opacity: 0;
    }
}

section {
    padding: 60px 0;
    overflow: hidden;
}

.section-header {
    text-align: center;
    padding-bottom: 40px;
}

    .section-header h2 {
        font-size: 48px;
        font-weight: 300;
        margin-bottom: 20px;
        color: var(--color-secondary);
    }

    .section-header p {
        margin: 0 auto;
        color: var(--color-secondary-light);
    }

@media(min-width:1280px) {
    .section-header p {
        max-width: 80%;
    }
}

.breadcrumbs {
    padding: 15px 0;
    background: rgba(var(--color-secondary-rgb), .05);
    min-height: 40px;
    margin-top: 0px;
}

    .breadcrumbs h1 {
        font-size: 30px;
        font-weight: 600;
        margin: 0;
    }

    .breadcrumbs ol {
        display: flex;
        flex-wrap: wrap;
        list-style: none;
        padding: 0;
        margin: 0;
        font-size: 14px;
    }

        .breadcrumbs ol li + li {
            padding-left: 10px;
        }

            .breadcrumbs ol li + li::before {
                display: inline-block;
                padding-right: 10px;
                color: var(--color-secondary-light);
                content: "/";
            }

@media(max-width:992px) {
    .breadcrumbs .d-flex {
        display: block !important;
    }

    .breadcrumbs h2 {
        margin-bottom: 10px;
        font-size: 24px;
    }

    .breadcrumbs ol {
        display: block;
    }

        .breadcrumbs ol li {
            display: inline-block;
        }
}

.scroll-top {
    position: fixed;
    visibility: hidden;
    opacity: 0;
    right: 15px;
    bottom: 120px;
    z-index: 33;
    background: var(--color-primary);
    width: 40px;
    height: 40px;
    border-radius: 4px;
    transition: all .4s;
}

    .scroll-top i {
        font-size: 24px;
        color: var(--color-white);
        line-height: 0;
    }

    .scroll-top:hover {
        background: rgba(var(--color-primary-rgb), .85);
        color: var(--color-white);
    }

    .scroll-top.active {
        visibility: visible;
        opacity: 1;
    }

@media screen and (max-width:768px) {
    [data-aos-delay] {
        transition-delay: 0 !important;
    }
}

.header {
    padding: 15px 0;
    transition: all .5s;
    z-index: 997;
}

    .header.sticked {
        background: var(--color-white);
        box-shadow: 0 2px 20px rgba(var(--color-secondary-rgb), .1);
    }

    .header .logo img {
        max-height: 40px;
        margin-right: 6px;
    }

    .header .logo h1 {
        font-size: 32px;
        font-weight: 300;
        color: var(--color-secondary);
        font-family: var(--font-secondary);
    }

        .header .logo h1 span {
            color: var(--color-primary);
            font-weight: 500;
        }

    .header .btn-getstarted, .header .btn-getstarted:focus {
        font-size: 16px;
        color: var(--color-white);
        background: var(--color-primary);
        /*padding: 8px 23px;*/
        border-radius: 4px;
        transition: .3s;
        font-family: var(--font-secondary);
    }

        .header .btn-getstarted:hover, .header .btn-getstarted:focus:hover {
            color: var(--color-white);
            background: rgba(var(--color-primary-rgb), .85);
        }

@media(max-width:1279px) {
    .header .btn-getstarted, .header .btn-getstarted:focus {
        margin-right: 5px;
    }

    .header .logo h1 {
        margin-left: 50px;
    }
}

@media(min-width:1280px) {
    .navbar {
        padding: 0;
        position: relative;
    }

        .navbar ul {
            margin: 0;
            padding: 0;
            display: flex;
            list-style: none;
        }

        .navbar li {
            position: relative;
        }

        .navbar > ul > li {
            white-space: nowrap;
        }

        .navbar h5 {
            padding: 10px 20px;
            color: rgba(var(--color-secondary-blue-rgb), 1);
            font-size: 20px;
            font-weight: 600;
            border-bottom: 1px #0857a1 solid;
        }

        .navbar a, .navbar a:focus {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 14px 20px;
            font-family: var(--font-secondary);
            font-size: 20px;
            font-weight: 600;
            color: rgba(var(--color-secondary-blue-rgb), 1);
            white-space: nowrap;
            transition: .3s;
            position: relative;
        }

            .navbar a i, .navbar a:focus i {
                font-size: 12px;
                line-height: 0;
                margin-left: 5px;
            }

        .navbar > ul > li > a:before {
            content: "";
            position: absolute;
            width: 100%;
            height: 2px;
            bottom: 0;
            left: 0;
            background-color: var(--color-primary);
            visibility: hidden;
            transition: all .3s ease-in-out 0s;
            transform: scaleX(0);
            transition: all .3s ease-in-out 0s;
        }

        .navbar a:hover:before, .navbar li:hover > a:before, .navbar .active:before {
            visibility: visible;
            transform: scaleX(.7);
        }

        .navbar a:hover, .navbar .active, .navbar .active:focus, .navbar li:hover > a {
            color: var(--color-primary);
        }

        .navbar .dropdown a:hover:before, .navbar .dropdown:hover > a:before, .navbar .dropdown .active:before {
            visibility: hidden;
        }

        .navbar .dropdown a:hover, .navbar .dropdown .active, .navbar .dropdown .active:focus, .navbar .dropdown:hover > a {
            color: var(--color-blue);
            background: var(--color-blue-light);
        }

        .navbar .dropdown ul {
            display: block;
            position: absolute;
            left: 0;
            top: 100%;
            margin: 0;
            padding: 0 0 10px;
            z-index: 99;
            opacity: 0;
            visibility: hidden;
            background: var(--color-blue-light);
        }

            .navbar .dropdown ul li {
                min-width: 137px;
            }

            .navbar .dropdown ul a {
                padding: 10px 20px;
                font-size: 16px;
                text-transform: none;
                font-weight: 900;
                color: rgba(var(--color-secondary-dark-rgb), 1);
            }

                .navbar .dropdown ul a i {
                    font-size: 12px
                }

                .navbar .dropdown ul a:hover, .navbar .dropdown ul .active, .navbar .dropdown ul .active:hover, .navbar .dropdown ul li:hover > a {
                    color: var(--color-white);
                    background: var(--color-primary);
                }

        .navbar .dropdown:hover > ul {
            opacity: 1;
            visibility: visible;
        }

        .navbar .megamenu {
            position: static;
        }

            .navbar .megamenu ul {
                right: 0;
                padding: 10px;
                width: 800px;
                display: flex;
            }

        .navbar .megamenu2 ul {
            right: 0;
            padding: 10px;
            width: 400px;
            display: flex;
        }

            .navbar .megamenu ul li, .navbar .megamenu2 ul li {
                flex: 1;
            }

                .navbar .megamenu ul li a, .navbar .megamenu ul li:hover > a, .navbar .megamenu2 ul li a, .navbar .megamenu2 ul li:hover > a {
                    color: rgba(var(--color-secondary-dark-rgb), 1);
                    background: 0 0;
                }

                    .navbar .megamenu ul li a:hover, .navbar .megamenu ul li .active, .navbar .megamenu ul li .active:hover, .navbar .megamenu2 ul li a:hover, .navbar .megamenu2 ul li .active, .navbar .megamenu2 ul li .active:hover {
                        color: var(--color-white);
                        background: var(--color-primary);
                    }

        .navbar .dropdown .dropdown ul {
            top: 0;
            left: calc(100% - 30px);
            visibility: hidden;
        }

        .navbar .dropdown .dropdown:hover > ul {
            opacity: 1;
            top: 0;
            left: 100%;
            visibility: visible;
        }

    .bottom_navbar {
        display: none;
    }
}

@media(min-width:1280px) and (max-width:1366px) {
    .navbar .dropdown .dropdown ul {
        left: -90%;
    }

    .navbar .dropdown .dropdown:hover > ul {
        left: -100%;
    }
}

@media(max-width:1279px) {
    .navbar {
        position: fixed;
        top: 0;
        right: -100%;
        width: calc(100% - 70px);
        bottom: 0;
        transition: .3s;
        z-index: 9997;
    }

        .navbar ul {
            position: absolute;
            inset: 0;
            padding: 10px 0;
            margin: 0;
            background: rgba(var(--color-secondary-dark-rgb), .8);
            overflow-y: auto;
            transition: .3s;
            z-index: 9998;
        }

        .navbar a, .navbar a:focus {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 12px 20px;
            font-size: 16px;
            font-weight: 500;
            color: rgba(var(--color-white-rgb), 1);
            white-space: nowrap;
            transition: .3s;
        }

            .navbar a i, .navbar a:focus i {
                font-size: 12px;
                line-height: 0;
                margin-left: 5px;
            }

            .navbar a:hover, .navbar .active, .navbar .active:focus, .navbar li:hover > a {
                color: var(--color-white);
            }

        .navbar .dropdown ul, .navbar .dropdown .dropdown ul {
            position: static;
            display: none;
            padding: 10px 0;
            margin: 10px 20px;
            transition: all .5s ease-in-out;
            border: 1px solid rgba(var(--color-secondary-light-rgb), .9);
        }

            .navbar .dropdown ul h5 {
                color: var(--color-white);
                font-weight: 900;
                padding: 15px 0 0 10px;
            }

        .navbar .dropdown > .dropdown-active, .navbar .dropdown .dropdown > .dropdown-active {
            display: block;
        }

    .mobile-nav-toggle {
        display: block !important;
        color: var(--color-secondary);
        font-size: 28px;
        cursor: pointer;
        line-height: 0;
        transition: .5s;
        position: fixed;
        top: 40px;
        z-index: 9999;
        left: 20px;
    }

        .mobile-nav-toggle.bi-x {
            color: var(--color-white);
        }

    .mobile-nav-active {
        overflow: hidden;
        z-index: 9995;
        position: relative;
    }

        .mobile-nav-active .navbar {
            right: 0;
        }

            .mobile-nav-active .navbar:before {
                content: "";
                position: fixed;
                inset: 0;
                background: rgba(var(--color-secondary-blue-rgb), .3);
                z-index: 9996;
            }

    .bottom_navbar {
        background: linear-gradient(to bottom, #fff 0%, #f6f6f6 47%, #ededed 100%);
        box-shadow: rgba(0, 0, 0, 0.5) 0px 2px 8px;
        overflow: hidden;
        position: fixed;
        bottom: 0;
        width: 100%;
    }

        .bottom_navbar a {
            float: left;
            display: block;
            color: var(--color-gray);
            text-align: center;
            padding: 5px 0 5px 0;
            text-decoration: none;
            font-size: 12px;
        }

            .bottom_navbar a:hover {
                color: var(--color-footer-blue-light);
            }

            .bottom_navbar a.active {
                background-color: var(--color-primary-dark);
                color: var(--color-white);
            }

        .bottom_navbar svg {
            width: 18px;
            height: 18px;
        }

        .bottom_navbar .my-edit-icon {
            fill: var(--color-white);
            transition: fill .2s linear;
        }
}

.tfmi-animated {
    width: 100%;
    min-height: 50vh;
    background: url(../img/tfmi-bg.webp) 50%;
    background-size: cover;
    position: relative;
}

    .tfmi-animated h2 {
        margin: 0 0 10px;
        font-size: 48px;
        font-weight: 300;
        color: var(--color-secondary);
        font-family: var(--font-secondary);
    }

        .tfmi-animated h2 span {
            color: var(--color-primary);
        }

    .tfmi-animated p {
        color: rgba(var(--color-secondary-rgb), .8);
        margin: 0 0 30px;
        font-size: 20px;
        font-weight: 400;
    }

    .tfmi-animated .animated {
        margin-bottom: 60px;
        animation: up-down 2s ease-in-out infinite alternate-reverse both;
    }

@media(min-width:992px) {
    .tfmi-animated .animated {
        max-width: 45%;
    }
}

@media(max-width:991px) {
    .tfmi-animated .animated {
        max-width: 60%;
    }
}

@media(max-width:575px) {
    .tfmi-animated .animated {
        max-width: 80%;
    }
}

.tfmi-animated .btn-get-started {
    font-size: 16px;
    font-weight: 400;
    display: inline-block;
    padding: 10px 28px;
    border-radius: 4px;
    transition: .5s;
    color: var(--color-white);
    background: var(--color-primary);
    font-family: var(--font-secondary);
}

    .tfmi-animated .btn-get-started:hover {
        background: rgba(var(--color-primary-rgb), .8);
    }

.tfmi-animated .btn-watch-video {
    font-size: 16px;
    transition: .5s;
    margin-left: 25px;
    font-family: var(--font-secondary);
    color: var(--color-secondary);
    font-weight: 600;
}

    .tfmi-animated .btn-watch-video i {
        color: var(--color-primary);
        font-size: 32px;
        transition: .3s;
        line-height: 0;
        margin-right: 8px;
    }

    .tfmi-animated .btn-watch-video:hover {
        color: var(--color-primary);
    }

        .tfmi-animated .btn-watch-video:hover i {
            color: rgba(var(--color-primary-rgb), .8);
        }

@media(max-width:640px) {
    .tfmi-animated h2 {
        font-size: 32px;
    }

    .tfmi-animated p {
        font-size: 18px;
        margin-bottom: 30px;
    }

    .tfmi-animated .btn-get-started, .tfmi-animated .btn-watch-video {
        font-size: 14px;
    }
}

@-webkit-keyframes up-down {
    0% {
        transform: translateY(10px);
    }

    100% {
        transform: translateY(-10px);
    }
}

@keyframes up-down {
    0% {
        transform: translateY(10px);
    }

    100% {
        transform: translateY(-10px);
    }
}

.tfmi {
    width: 100%;
    /*background: url(../img/tfmi-bg.webp) 50%;*/
    background-size: cover;
    background-position: 50%;
    background-repeat: no-repeat;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 90px 0 0;
}

    .tfmi .carousel-item {
        overflow: hidden;
    }

    .tfmi .container-fluid {
        padding: 0;
    }

    .tfmi h2 {
        color: var(--color-secondary);
        margin-bottom: 25px;
        font-size: 48px;
        font-weight: 600;
        -webkit-animation: fadeInDown 1s both .2s;
        animation: fadeInDown 1s both .2s;
    }

@media(max-width:768px) {
    .tfmi h2 {
        font-size: 30px;
    }

    .tfmi {
        padding: 80px 0 0;
    }
}

.tfmi p {
    color: var(--color-secondary-light);
    -webkit-animation: fadeInDown 1s both .4s;
    animation: fadeInDown 1s both .4s;
    font-weight: 500;
    text-align: justify;
    margin-bottom: 30px;
}

.tfmi .img {
    margin-bottom: 10px;
    -webkit-animation: fadeInRightLite 1s both;
    animation: fadeInRightLite 1s both;
}

.tfmi .btn-get-started {
    font-family: var(--font-secondary);
    font-weight: 400;
    font-size: 16px;
    letter-spacing: 1px;
    display: inline-block;
    padding: 8px 32px;
    border-radius: 5px;
    transition: .5s;
    -webkit-animation: fadeInUp 1s both .6s;
    animation: fadeInUp 1s both .6s;
    color: var(--color-primary);
    border: 2px solid var(--color-primary);
}

    .tfmi .btn-get-started:hover {
        background: var(--color-primary);
        color: var(--color-white);
    }

.tfmi .carousel-control-prev {
    justify-content: start;
}

@media(min-width:640px) {
    .tfmi .carousel-control-prev {
        padding-left: 15px;
    }
}

.tfmi .carousel-control-next {
    justify-content: end;
}

@media(min-width:640px) {
    .tfmi .carousel-control-next {
        padding-right: 15px;
    }
}

.tfmi .carousel-control-next-icon, .tfmi .carousel-control-prev-icon {
    background: 0 0;
    font-size: 26px;
    line-height: 0;
    background: rgba(var(--color-blue-rgb), 1);
    color: rgba(var(--color-white-rgb), .98);
    border-radius: 50px;
    width: 54px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media(max-width:640px) {
    .tfmi .carousel-control-next-icon, .tfmi .carousel-control-prev-icon {
        font-size: 16px;
        line-height: 0;
        background: rgba(var(--color-blue-rgb), 1);
        color: rgba(var(--color-white-rgb), .98);
        border-radius: 50px;
        width: 32px;
        height: 32px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .tfmi .carousel-control-next {
        padding-right: 15px;
    }

    .tfmi .carousel-control-prev {
        padding-left: 15px;
    }
}

.tfmi .carousel-control-next-icon {
    padding-left: 3px;
}

.tfmi .carousel-control-prev-icon {
    padding-right: 3px;
}

.tfmi .carousel-control-prev, .tfmi .carousel-control-next {
    opacity: .2;
    transition: .3s;
}

    .tfmi .carousel-control-prev:focus, .tfmi .carousel-control-next:focus {
        opacity: .2;
    }

    .tfmi .carousel-control-prev:hover, .tfmi .carousel-control-next:hover {
        opacity: .9;
    }

.tfmi .carousel-indicators {
    bottom: 0;
}

    .tfmi .carousel-indicators li {
        cursor: pointer;
        background: rgba(var(--color-secondary-rgb), .5);
        overflow: hidden;
        border: 0;
        width: 12px;
        height: 12px;
        border-radius: 50px;
        opacity: .6;
        transition: .3s;
    }

        .tfmi .carousel-indicators li.active {
            opacity: 1;
            background: var(--color-primary);
        }

@-webkit-keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@-webkit-keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, 100%, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, 100%, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@-webkit-keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translate3d(0, -100%, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translate3d(0, -100%, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@-webkit-keyframes fadeInDownLite {
    from {
        opacity: 0;
        transform: translate3d(0, -10%, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInDownLite {
    from {
        opacity: 0;
        transform: translate3d(0, -10%, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.tfmi-fullscreen {
    width: 100%;
    min-height: 100vh;
    background: url(../img/tfmi-fullscreen-bg.jpg)50%;
    background-size: cover;
    position: relative;
    padding: 120px 0 60px;
}

    .tfmi-fullscreen:before {
        content: "";
        background: rgba(var(--color-white-rgb), .85);
        position: absolute;
        inset: 0;
    }

@media(min-width:1365px) {
    .tfmi-fullscreen {
        background-attachment: fixed;
    }
}

.tfmi-fullscreen h2 {
    margin: 0 0 10px;
    font-size: 48px;
    font-weight: 300;
    color: var(--color-secondary);
    font-family: var(--font-secondary);
}

    .tfmi-fullscreen h2 span {
        color: var(--color-primary);
    }

.tfmi-fullscreen p {
    color: rgba(var(--color-secondary-rgb), .8);
    margin: 0 0 30px;
    font-size: 20px;
    font-weight: 400;
}

.tfmi-fullscreen .btn-get-started {
    font-size: 16px;
    font-weight: 400;
    display: inline-block;
    padding: 10px 28px;
    border-radius: 4px;
    transition: .5s;
    color: var(--color-white);
    background: var(--color-primary);
    font-family: var(--font-secondary);
}

    .tfmi-fullscreen .btn-get-started:hover {
        background: rgba(var(--color-primary-rgb), .8);
    }

.tfmi-fullscreen .btn-watch-video {
    font-size: 16px;
    transition: .5s;
    margin-left: 25px;
    font-family: var(--font-secondary);
    color: var(--color-secondary);
    font-weight: 600;
}

    .tfmi-fullscreen .btn-watch-video i {
        color: var(--color-primary);
        font-size: 32px;
        transition: .3s;
        line-height: 0;
        margin-right: 8px;
    }

    .tfmi-fullscreen .btn-watch-video:hover {
        color: var(--color-primary);
    }

        .tfmi-fullscreen .btn-watch-video:hover i {
            color: rgba(var(--color-primary-rgb), .8);
        }

@media(max-width:640px) {
    .tfmi-fullscreen h2 {
        font-size: 32px;
    }

    .tfmi-fullscreen p {
        font-size: 18px;
        margin-bottom: 30px;
    }

    .tfmi-fullscreen .btn-get-started, .tfmi-fullscreen .btn-watch-video {
        font-size: 14px;
    }
}

.tfmi-static {
    width: 100%;
    min-height: 50vh;
    background: url(../img/tfmi-bg.webp)50%;
    background-size: cover;
    position: relative;
    padding: 120px 0 60px;
}

    .tfmi-static h2 {
        margin: 0 0 10px;
        font-size: 48px;
        font-weight: 300;
        color: var(--color-secondary);
        font-family: var(--font-secondary);
    }

        .tfmi-static h2 span {
            color: var(--color-primary);
        }

    .tfmi-static p {
        color: rgba(var(--color-secondary-rgb), .8);
        margin: 0 0 30px;
        font-size: 20px;
        font-weight: 400;
    }

    .tfmi-static .btn-get-started {
        font-size: 16px;
        font-weight: 400;
        display: inline-block;
        padding: 10px 28px;
        border-radius: 4px;
        transition: .5s;
        color: var(--color-white);
        background: var(--color-primary);
        font-family: var(--font-secondary);
    }

        .tfmi-static .btn-get-started:hover {
            background: rgba(var(--color-primary-rgb), .8);
        }

    .tfmi-static .btn-watch-video {
        font-size: 16px;
        transition: .5s;
        margin-left: 25px;
        font-family: var(--font-secondary);
        color: var(--color-secondary);
        font-weight: 600;
    }

        .tfmi-static .btn-watch-video i {
            color: var(--color-primary);
            font-size: 32px;
            transition: .3s;
            line-height: 0;
            margin-right: 8px;
        }

        .tfmi-static .btn-watch-video:hover {
            color: var(--color-primary);
        }

            .tfmi-static .btn-watch-video:hover i {
                color: rgba(var(--color-primary-rgb), .8);
            }

@media(max-width:640px) {
    .tfmi-static h2 {
        font-size: 32px;
    }

    .tfmi-static p {
        font-size: 18px;
        margin-bottom: 30px;
    }

    .tfmi-static .btn-get-started, .tfmi-static .btn-watch-video {
        font-size: 14px;
    }
}

#TFMI_BLOG {
    max-width: 1200px;
}

.blog h2 {
    font-size: 36px;
    font-weight: 900;
    color: var(--color-black);
    text-align: center;
}

.blog p {
    font-size: 20px;
    color: var(--color-gray);
    text-align: center;
}

.blog .more {
    text-align: center;
}

.blog .btn-get-started {
    font-family: var(--font-secondary);
    font-weight: 400;
    font-size: 16px;
    letter-spacing: 1px;
    display: inline-block;
    padding: 8px 32px;
    border-radius: 5px;
    transition: .5s;
    -webkit-animation: fadeInUp 1s both .6s;
    animation: fadeInUp 1s both .6s;
    color: var(--color-primary);
    border: 2px solid var(--color-primary);
}

    .blog .btn-get-started:hover {
        background: var(--color-primary);
        color: var(--color-white);
    }

.ourteam {
    background-color: #f8f9fb;
}

    .ourteam h2 {
        font-size: 36px;
        font-weight: 900;
        color: var(--color-black);
        text-align: center;
    }

    .ourteam p {
        font-size: 20px;
        color: var(--color-gray);
        text-align: center;
    }

    .ourteam .more {
        text-align: center;
    }

    .ourteam .btn-get-started {
        font-family: var(--font-secondary);
        font-weight: 400;
        font-size: 16px;
        letter-spacing: 1px;
        display: inline-block;
        padding: 8px 32px;
        border-radius: 5px;
        transition: .5s;
        -webkit-animation: fadeInUp 1s both .6s;
        animation: fadeInUp 1s both .6s;
        color: var(--color-primary);
        border: 2px solid var(--color-primary);
    }

        .ourteam .btn-get-started:hover {
            background: var(--color-primary);
            color: var(--color-white);
            border-radius: 10px;
        }

.post-slide9 {
    margin: 0 15px;
    position: relative;
    text-align: center;
}

    .post-slide9 img {
        background: #fff !important;
        border-radius: 5px;
        box-shadow: 0 1px 2px rgba(43, 59, 93, .3);
    }

.ourteam .owl-controls .owl-buttons {
    margin-top: 20px;
    position: relative;
}

.ourteam .owl-controls .owl-prev {
    position: absolute;
    left: -30px;
    bottom: 150px;
    padding: 8px 16px;
    background: rgba(var(--color-blue-rgb), .5);
    transition: background .5s ease;
    border-radius: 50px;
}

.ourteam .owl-controls .owl-next {
    position: absolute;
    right: -30px;
    bottom: 150px;
    padding: 8px 16px;
    background: rgba(var(--color-blue-rgb), .5);
    transition: background .5s ease;
    border-radius: 50px;
}

    .ourteam .owl-controls .owl-next:after, .ourteam .owl-controls .owl-prev:after {
        content: "\f104";
        font-family: FontAwesome;
        color: #d3d3d3;
        font-size: 16px;
    }

    .ourteam .owl-controls .owl-next:after {
        content: "\f105";
    }

    .ourteam .owl-controls .owl-next:hover, .ourteam .owl-controls .owl-prev:hover {
        background: rgba(var(--color-blue-rgb), 1);
    }

@media only screen and (max-width:990px) {
    .post-slide9 {
        margin: 0 20px;
    }

    .ourteam .owl-controls .owl-buttons .owl-prev {
        left: -20px;
        padding: 5px 12px;
    }

    .ourteam .owl-controls .owl-buttons .owl-next {
        right: -20px;
        padding: 5px 12px;
    }
}

@media only screen and (max-width:767px) {
    .ourteam .owl-controls .owl-buttons .owl-prev {
        left: 0;
        bottom: 190px;
    }

    .ourteam .owl-controls .owl-buttons .owl-next {
        right: 0;
        bottom: 190px;
    }
}

@media only screen and (max-width:990px) {
    .our-team {
        margin-bottom: 20px;
    }
}

.bg-icon {
    background: url(../img/features-bg.webp)no-repeat 50% 0;
}

.features {
    margin-bottom: 50px;
}

    .features h2 {
        font-size: 36px;
        font-weight: 900;
        color: var(--color-black);
        text-align: center;
    }

    .features p {
        font-size: 20px;
        color: var(--color-gray);
        text-align: center;
    }

    .features .nav-tabs {
        border: 0;
    }

    .features .nav-link {
        border: 0;
        padding: 25px 20px;
        color: var(--color-secondary);
        border-radius: 5px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        transition: 0s;
        cursor: pointer;
        height: 100%;
        background-color: var(--color-white);
    }

        .features .nav-link i {
            font-size: 32px;
            line-height: 0;
        }

        .features .nav-link h4 {
            font-size: 22px;
            font-weight: 600;
            margin: 10px 0 0;
            color: var(--color-secondary);
        }

        .features .nav-link:hover {
            color: var(--color-primary);
        }

@media only screen and (max-width:767px) {
    .features .nav-link h4 {
        font-size: 14px;
    }
}

.features .nav-link.active {
    transition: .3s;
    background: var(--color-secondary)linear-gradient(rgba(var(--color-primary-rgb), .95), rgba(var(--color-primary-rgb), .6));
    border-color: var(--color-primary);
}

    .features .nav-link.active h4 {
        color: var(--color-white);
    }

    .features .nav-link.active i {
        color: var(--color-white) !important;
    }

.features .tab-content {
    margin-top: 30px;
}

.features .tab-pane.active {
    -webkit-animation: fadeIn .5s ease-out;
    animation: fadeIn .5s ease-out;
}

.features .tab-pane h3 {
    font-weight: 600;
    font-size: 36px;
    color: var(--color-secondary);
}

.features .tab-pane ul {
    list-style: none;
    padding: 0;
}

    .features .tab-pane ul li {
        padding-bottom: 10px;
    }

    .features .tab-pane ul i {
        font-size: 24px;
        margin-right: 4px;
        color: var(--color-primary);
    }

.features .tab-pane p:last-child {
    margin-bottom: 0;
}

.features .fst-normal {
    font-weight: 500;
    font-size: 26px;
    color: var(--color-gray);
}

.features .btn-get-started {
    font-family: var(--font-secondary);
    font-weight: 400;
    font-size: 16px;
    letter-spacing: 1px;
    display: inline-block;
    padding: 8px 32px;
    border-radius: 5px;
    transition: .5s;
    -webkit-animation: fadeInUp 1s both .6s;
    animation: fadeInUp 1s both .6s;
    color: var(--color-primary);
    border: 2px solid var(--color-primary);
}

    .features .btn-get-started:hover {
        background: var(--color-primary);
        color: var(--color-white);
    }

.features svg {
    width: 35px;
    height: 35px;
}

.my-edit-icon {
    fill: var(--color-cyan-blue);
    transition: fill .2s linear;
}

.features .nav-link.active .my-edit-icon {
    fill: var(--color-white) !important;
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.services {
    background-color: #f8f9fb;
}

    .services h2 {
        font-size: 36px;
        font-weight: 900;
        color: var(--color-black);
        text-align: center;
    }

    .services p {
        font-size: 20px;
        color: var(--color-gray);
        text-align: center;
    }

    .services .img {
        border-radius: 8px;
        overflow: hidden;
    }

        .services .img img {
            transition: .6s;
        }

    .services .details {
        padding: 50px 30px;
        margin: -100px 30px 0;
        transition: all ease-in-out .3s;
        background: var(--color-white);
        position: relative;
        background: rgba(var(--color-white-rgb), .9);
        text-align: center;
        border-radius: 8px;
        box-shadow: 0 0 25px rgba(var(--color-black-rgb), .1);
    }

    .services .cta-btn {
        color: var(--color-white);
        font-weight: 500;
        font-size: 16px;
        display: inline-block;
        padding: 12px 40px;
        border-radius: 5px;
        transition: .5s;
        margin-top: 10px;
        background: rgba(var(--color-primary-dark-rgb), .9);
    }

        .services .cta-btn:hover {
            background: var(--color-primary);
        }

    .services .details .icon {
        margin: 0;
        width: 72px;
        height: 72px;
        background: var(--color-primary);
        border-radius: 50px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 20px;
        color: var(--color-white);
        font-size: 28px;
        transition: ease-in-out .3s;
        position: absolute;
        top: -36px;
        left: calc(50% - 36px);
        border: 6px solid var(--color-white);
    }

    .services .details h3 {
        color: var(--color-default);
        font-weight: 900;
        margin: 10px 0 15px;
        font-size: 26px;
        transition: ease-in-out .3s;
    }

    .services .details p {
        line-height: 24px;
        font-size: 16px;
        margin-bottom: 0;
    }

    .services .service-item:hover .details h3 {
        color: var(--color-primary);
    }

    .services .service-item:hover .details .icon {
        background: var(--color-white);
        border: 2px solid var(--color-primary);
    }

        .services .service-item:hover .details .icon i {
            color: var(--color-primary);
        }

    .services .service-item:hover .img img {
        transform: scale(1.2);
    }

.carousel-3D-swiper-section {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    color: #000;
    margin: 0 auto;
    padding: 0;
    max-width: 1280px;
    overflow: hidden;
    min-height: 200px;
    padding-bottom: 50px;
}

.carousel-3D-swiper-title {
    text-align: center;
    font-size: 3rem;
    color: #ff4500;
}

.carousel-3D-swiper .swiper-slide {
    position: relative;
}

.carousel-3D-swiper .image-wrapper {
    overflow: hidden;
    max-height: 225px;
}

    .carousel-3D-swiper .image-wrapper img {
        display: block;
        width: 100%;
        height: 100%;
        max-height: 225px;
        -o-object-fit: cover;
        object-fit: cover;
        border-radius: 8px;
        -webkit-box-reflect: below 5px -webkit-linear-gradient(bottom, rgba(255, 0, 0, .1) 0%, transparent 32px, transparent 100%);
    }

.details {
    padding: 25px 20px;
    font-weight: 600;
    text-align: center;
    background-color: #fff;
}

    .details span {
        display: block;
        font-size: 16px;
        color: #f44336;
    }

    .details h3 {
        margin: 0;
        font-weight: 700;
        font-size: 24px;
        line-height: 1.1;
    }

    .details p {
        margin: 8px 0 0;
        opacity: .65;
        font-size: 14px;
        font-weight: 500;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
    }

.carousel-3D-swiper-section .swiper-pagination-bullet {
    margin: 0 4px;
    width: 12px;
    height: 12px;
    z-index: 50;
}

.carousel-3D-swiper-section .swiper-pagination-bullet-active {
    opacity: 1;
    background: var(--color-blue);
}

.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
    left: 10px;
    color: var(--color-white);
}

.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
    right: 10px;
    color: var(--color-white);
}

.footer {
    color: var(--color-white);
    font-size: 14px;
}

    .footer .footer-content {
        background: var(--color-footer-blue-light);
        padding: 60px 0 30px;
    }

        .footer .footer-content .footer-info {
            margin-bottom: 30px;
        }

            .footer .footer-content .footer-info h3 {
                font-size: 28px;
                margin: 0 0 20px;
                padding: 2px 0;
                line-height: 1;
                font-weight: 700;
                text-transform: uppercase;
            }

                .footer .footer-content .footer-info h3 span {
                    color: var(--color-primary);
                }

            .footer .footer-content .footer-info p {
                font-size: 14px;
                line-height: 24px;
                margin-bottom: 0;
                font-family: var(--font-primary);
                color: var(--color-white);
            }

            .footer .footer-content .footer-info a {
                color: var(--color-white);
            }

                .footer .footer-content .footer-info a:hover {
                    color: var(--color-cyan);
                }

        .footer .footer-content h4 {
            font-size: 16px;
            font-weight: 600;
            color: var(--color-white);
            position: relative;
            padding-bottom: 12px;
            margin-bottom: 15px;
        }

            .footer .footer-content h4::after {
                content: "";
                position: absolute;
                display: block;
                width: 20px;
                height: 2px;
                background: var(--color-primary);
                bottom: 0;
                left: 0;
            }

        .footer .footer-content .footer-links {
            margin-bottom: 30px;
        }

            .footer .footer-content .footer-links ul {
                list-style: none;
                padding: 0;
                margin: 0;
            }

                .footer .footer-content .footer-links ul i {
                    padding-right: 2px;
                    color: var(--color-white);
                    font-size: 12px;
                    line-height: 1;
                }

                .footer .footer-content .footer-links ul li {
                    padding: 10px 0;
                    display: flex;
                    align-items: center;
                }

                    .footer .footer-content .footer-links ul li:first-child {
                        padding-top: 0;
                    }

                .footer .footer-content .footer-links ul a {
                    color: rgba(var(--color-white-rgb), .7);
                    transition: .3s;
                    display: inline-block;
                    line-height: 1;
                }

                    .footer .footer-content .footer-links ul a:hover {
                        color: var(--color-white);
                    }

        .footer .footer-content .footer-newsletter form {
            margin-top: 30px;
            background: var(--color-white);
            padding: 6px 10px;
            position: relative;
            border-radius: 4px;
        }

            .footer .footer-content .footer-newsletter form input[type=search] {
                border: 0;
                padding: 4px;
                width: calc(100% - 110px);
            }

                .footer .footer-content .footer-newsletter form input[type=search]:focus-visible {
                    outline: none;
                }

            .footer .footer-content .footer-newsletter form input[type=submit] {
                position: absolute;
                top: 0;
                right: -2px;
                bottom: 0;
                border: 0;
                background: 0 0;
                font-size: 16px;
                padding: 0 20px;
                background: var(--color-primary);
                color: var(--color-white);
                transition: .3s;
                border-radius: 0 4px 4px 0;
            }

                .footer .footer-content .footer-newsletter form input[type=submit]:hover {
                    background: rgba(var(--color-primary-rgb), .85);
                }

    .footer .footer-legal {
        padding: 30px 0;
        background: var(--color-footer-blue);
    }

@media(max-width:1279px) {
    .footer {
        margin-bottom: 60px;
    }
}

.footer .footer-legal .credits {
    padding-top: 4px;
    font-size: 13px;
    color: var(--color-white);
}

    .footer .footer-legal .credits a {
        color: var(--color-primary-light);
    }

.footer .footer-newsletter .social-links a {
    font-size: 22px;
    display: inline-block;
    color: var(--color-white);
    line-height: 1;
    padding: 8px 0;
    margin-right: 4px;
    border-radius: 4px;
    text-align: center;
    width: 40px;
    height: 40px;
    transition: .3s;
}

.footer .footer-newsletter .social-links .fb {
    background: var(--color-fb);
}

.footer .footer-newsletter .social-links .line {
    background: var(--color-green);
}

.footer .footer-newsletter .social-links .blog {
    background: var(--color-orange);
}

.footer .footer-newsletter .social-links .youtube {
    background: var(--color-red);
}

.footer .footer-newsletter .social-links a.fb:hover {
    background: var(--color-primary);
    text-decoration: none;
}

.footer .footer-newsletter .social-links a.line:hover {
    background: var(--color-green-light);
    text-decoration: none;
}

.footer .footer-newsletter .social-links a.blog:hover {
    background: var(--color-orange-light);
    text-decoration: none;
}

.footer .footer-newsletter .social-links a.youtube:hover {
    background: var(--color-red-light);
    text-decoration: none;
}

.footer .footer-legal .social-links a {
    font-size: 18px;
    display: inline-block;
    background: rgba(var(--color-white-rgb), .1);
    color: var(--color-white);
    line-height: 1;
    padding: 8px 0;
    margin-right: 4px;
    border-radius: 4px;
    text-align: center;
    width: 36px;
    height: 36px;
    transition: .3s;
}

    .footer .footer-legal .social-links a:hover {
        background: var(--color-primary);
        text-decoration: none;
    }
/*--------------------------------------------------------------
# Static Hero Section
--------------------------------------------------------------*/
.hero-static {
    width: 100%;
    min-height: 50vh;
    background: url("../img/hero-bg.png") center center;
    background-size: cover;
    position: relative;
    padding: 120px 0 60px;
}

    .hero-static h2 {
        margin: 0 0 10px 0;
        font-size: 48px;
        font-weight: 300;
        color: var(--color-secondary);
        font-family: var(--font-secondary);
    }

        .hero-static h2 span {
            color: var(--color-primary);
        }

    .hero-static p {
        color: rgba(var(--color-secondary-rgb), 0.8);
        margin: 0 0 30px 0;
        font-size: 20px;
        font-weight: 400;
    }

    .hero-static .btn-get-started {
        font-size: 16px;
        font-weight: 400;
        display: inline-block;
        padding: 10px 28px;
        border-radius: 4px;
        transition: 0.5s;
        color: var(--color-white);
        background: var(--color-primary);
        font-family: var(--font-secondary);
    }

        .hero-static .btn-get-started:hover {
            background: rgba(var(--color-primary-rgb), 0.8);
        }

    .hero-static .btn-watch-video {
        font-size: 16px;
        transition: 0.5s;
        margin-left: 25px;
        font-family: var(--font-secondary);
        color: var(--color-secondary);
        font-weight: 600;
    }

        .hero-static .btn-watch-video i {
            color: var(--color-primary);
            font-size: 32px;
            transition: 0.3s;
            line-height: 0;
            margin-right: 8px;
        }

        .hero-static .btn-watch-video:hover {
            color: var(--color-primary);
        }

            .hero-static .btn-watch-video:hover i {
                color: rgba(var(--color-primary-rgb), 0.8);
            }

@media (max-width: 640px) {
    .hero-static h2 {
        font-size: 32px;
    }

    .hero-static p {
        font-size: 18px;
        margin-bottom: 30px;
    }

    .hero-static .btn-get-started, .hero-static .btn-watch-video {
        font-size: 14px;
    }
}
/*--------------------------------------------------------------
# Featured Services Section
--------------------------------------------------------------*/
.featured-services .section-header h2 {
    font-weight: 600;
    font-size: 30px;
    text-align: left;
    color: var(--color-black);
    border-left: 10px solid #0458a1;
    padding-left: 10px;
}

@media(max-width:992px) {
    .featured-services .section-header h2 {
        font-size: 24px;
    }
}

.featured-services .service-item {
    padding: 30px;
    transition: all ease-in-out 0.4s;
    background: var(--color-white);
    height: 100%;
}

    .featured-services .service-item .icon {
        margin-bottom: 10px;
    }

        .featured-services .service-item .icon i {
            color: var(--color-primary);
            font-size: 36px;
            transition: 0.3s;
        }

    .featured-services .service-item h4 {
        font-weight: 600;
        margin-bottom: 15px;
        font-size: 24px;
    }

        .featured-services .service-item h4 a {
            color: var(--color-secondary);
            transition: ease-in-out 0.3s;
        }

    .featured-services .service-item p {
        line-height: 24px;
        font-size: 14px;
        margin-bottom: 0;
    }

    .featured-services .service-item:hover {
        transform: translateY(-10px);
        box-shadow: 0px 0 60px 0 rgba(var(--color-secondary-rgb), 0.1);
    }

        .featured-services .service-item:hover h4 a {
            color: var(--color-primary);
        }

.owl-carousel .owl-wrapper:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0
}

.owl-carousel {
    display: none;
    position: relative;
    width: 100%;
    -ms-touch-action: pan-y
}

    .owl-carousel .owl-wrapper {
        display: none;
        position: relative;
        -webkit-transform: translate3d(0, 0, 0)
    }

    .owl-carousel .owl-wrapper-outer {
        overflow: hidden;
        position: relative;
        width: 100%
    }

        .owl-carousel .owl-wrapper-outer.autoHeight {
            -webkit-transition: height 500ms ease-in-out;
            -moz-transition: height 500ms ease-in-out;
            -ms-transition: height 500ms ease-in-out;
            -o-transition: height 500ms ease-in-out;
            transition: height 500ms ease-in-out
        }

    .owl-carousel .owl-item {
        float: left
    }

.owl-controls .owl-page, .owl-controls .owl-buttons div {
    cursor: pointer
}

.owl-controls {
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.grabbing {
    cursor: url(grabbing.png) 8 8, move
}

.owl-carousel .owl-wrapper, .owl-carousel .owl-item {
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0)
}
/*--------------------------------------------------------------
# ECAR top img（EC）
--------------------------------------------------------------*/
.ECAR, .HC, .HF {
    width: 100%;
    /*background: url(../img/tfmi-bg.webp) 50%;*/
    background-size: cover;
    background-position: 50%;
    background-repeat: no-repeat;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 90px 0 0;
}

    .ECAR .carousel-item, .HC .carousel-item, .HF .carousel-item {
        overflow: hidden;
    }

    .ECAR .container-fluid, .HC .container-fluid, .HF .container-fluid {
        padding: 0;
    }

    .ECAR h2, .HC h2, .HF h2 {
        color: var(--color-secondary);
        margin-bottom: 25px;
        font-size: 48px;
        font-weight: 600;
        -webkit-animation: fadeInDown 1s both .2s;
        animation: fadeInDown 1s both .2s;
    }

@media(max-width:768px) {
    .ECAR h2, .HC h2, .HF h2 {
        font-size: 30px;
    }
}

.ECAR p, .HC p, .HF p {
    color: var(--color-secondary-light);
    -webkit-animation: fadeInDown 1s both .4s;
    animation: fadeInDown 1s both .4s;
    font-weight: 500;
    text-align: justify;
    margin-bottom: 30px;
}

.ECAR .img, .HC .img, .HF .img {
    margin-bottom: 10px;
    -webkit-animation: fadeInRightLite 1s both;
    animation: fadeInRightLite 1s both;
}

#ECAR_MENU .section-header {
    margin-top: -20px;
}
/*--------------------------------------------------------------
# Pricing Section（EC）
--------------------------------------------------------------*/
.pricing {
    padding-top: 100px;
}

    .pricing .pricing-item {
        padding: 60px 40px;
        box-shadow: 0 3px 20px -2px rgba(108, 117, 125, 0.15);
        background: #fff;
        height: 100%;
        border-top: 4px solid #fff;
        border-radius: 5px;
        margin-bottom: -40px;
    }

    .pricing .sectitle {
        font-weight: 600;
        margin-bottom: 15px;
        font-size: 26px;
        color: var(--color-default);
    }

    .pricing h3 {
        font-weight: 600;
        margin-bottom: 15px;
        font-size: 20px;
        color: #ffffff;
        margin-top: -85px;
        padding: 10px;
        background-color: var(--color-primary);
        border-radius: 50px;
    }

    .pricing h2 {
        font-size: 36px;
        font-weight: 600;
        color: var(--color-blue001);
    }

    .pricing h4 {
        font-size: 48px;
        color: var(--color-primary);
        font-weight: 400;
        font-family: var(--font-primary);
        margin-bottom: 25px;
    }

        .pricing h4 sup {
            font-size: 28px;
        }

        .pricing h4 span {
            color: var(--color-default);
            font-size: 18px;
        }

    .pricing h5 {
        font-weight: 600;
        margin-bottom: 15px;
        font-size: 20px;
        color: #ffffff;
        padding: 10px;
        background-color: var(--color-yellow);
        border-radius: 50px;
    }

    .pricing p {
        color: var(--color-default);
        font-size: 18px;
        line-height: 25px;
    }

        .pricing p small {
            font-size: 10px;
        }

    .pricing ul {
        padding: 20px 30px;
        list-style: none;
        color: var(--color-blue);
        text-align: left;
        font-size: 20px;
        line-height: 30px;
        border-top: 1px solid #0d6efd;
    }

        .pricing ul li {
            padding: 10px 0;
            display: flex;
            align-items: center;
        }

        .pricing ul i {
            color: #059652;
            font-size: 24px;
            padding-right: 3px;
        }

        .pricing ul .na {
            color: rgba(108, 117, 125, 0.5);
        }

            .pricing ul .na i {
                color: rgba(108, 117, 125, 0.5);
            }

            .pricing ul .na span {
                text-decoration: line-through;
            }

    .pricing .buy-btn {
        display: inline-block;
        width: 250px;
        padding: 12px 35px;
        border-radius: 4px;
        color: #fff;
        transition: none;
        font-size: 20px;
        font-weight: 600;
        font-family: var(--font-primary);
        transition: 0.3s;
        background: var(--color-primary);
        border: 1px solid var(--color-primary);
    }

        .pricing .buy-btn:hover {
            background: var(--color-primary-dark);
        }

    .pricing .featured {
        border-top-color: var(--color-primary);
    }

        .pricing .featured .buy-btn {
            background: var(--color-primary);
            color: #fff;
        }

@media (max-width: 992px) {
    .pricing .box {
        max-width: 60%;
        margin: 0 auto 30px auto;
    }
}

@media (max-width: 767px) {
    .pricing .box {
        max-width: 80%;
        margin: 0 auto 30px auto;
    }
}

@media (max-width: 420px) {
    .pricing .box {
        max-width: 100%;
        margin: 0 auto 30px auto;
    }
}

.content-current {
    padding-top: 100px;
}

    .content-current .pricing-item {
        padding: 60px 40px;
        box-shadow: 0 3px 20px -2px rgba(108, 117, 125, 0.15);
        background: #fff;
        height: 100%;
        border-top: 4px solid #fff;
        border-radius: 5px;
    }

    .content-current .featured {
        border-top-color: var(--color-primary);
    }

    .content-current .sectitle {
        font-weight: 600;
        margin-bottom: 15px;
        font-size: 26px;
        color: var(--color-default);
    }

    .content-current h2 {
        font-size: 36px;
        font-weight: 600;
        color: var(--color-blue001);
    }

    .content-current h3 {
        font-weight: 600;
        font-size: 20px;
        color: #ffffff;
        padding: 6px;
        width: 250px;
        background-color: var(--color-primary);
        border-radius: 50px;
        margin: -85px auto 15px auto;
    }

    .content-current ul {
        padding: 20px 0;
        list-style: none;
        color: var(--color-default);
        font-size: 20px;
        font-weight: 600;
        text-align: left;
        line-height: 30px;
    }

        .content-current ul li {
            padding: 10px 0;
            align-items: center;
            border-bottom: 1px solid #3279fc;
        }

        .content-current ul i {
            color: darkorange;
            padding-right: 10px;
        }

        .content-current ul li strong {
            color: var(--color-blue);
        }

/*--------------------------------------------------------------
# About Section(EC)
--------------------------------------------------------------*/
.about {
    padding-top: 100px;
}

    .about .about-img {
        position: relative;
        margin: 60px 0 0 60px;
    }

        .about .about-img:before {
            position: absolute;
            inset: -60px 0 0 -60px;
            z-index: -1;
            content: "";
            background: url("../../Content/ElectricCar/img/about-bg.png") top left;
            background-repeat: no-repeat;
        }

    .about h2 {
        font-size: 36px;
        font-weight: 600;
        color: var(--color-blue001);
    }

    .about p {
        color: var(--color-default);
        font-size: 18px;
        line-height: 25px;
        text-align: left;
    }

    .about .sectitle {
        font-weight: 600;
        margin-bottom: 15px;
        font-size: 26px;
        color: var(--color-default);
    }

    .about ol {
        font-size: 20px;
        list-style: none;
        line-height: 30px;
    }

    .about ul {
        font-size: 16px;
        line-height: 24px;
    }

    .about .buy-btn {
        display: inline-block;
        width: 250px;
        padding: 12px 35px;
        border-radius: 4px;
        color: #fff;
        transition: none;
        font-size: 20px;
        font-weight: 600;
        font-family: var(--font-primary);
        transition: 0.3s;
        background: var(--color-primary);
        border: 1px solid var(--color-primary);
    }

        .about .buy-btn:hover {
            background: var(--color-primary-dark);
        }

@media (max-width: 575px) {
    .about .about-img {
        margin: 30px 0 0 30px;
    }

        .about .about-img:before {
            inset: -30px 0 0 -30px;
        }
}

.about h3 {
    color: var(--color-secondary);
    font-family: var(--font-secondary);
    font-weight: 600;
    font-size: 32px;
    margin-bottom: 20px;
}

@media (max-width: 768px) {
    .about h3 {
        font-size: 28px;
    }
}
/*--------------------------------------------------------------
# Call To Action Section(EC)
--------------------------------------------------------------*/
.cta {
    padding: 0;
    margin-bottom: 60px;
}

    .cta .container {
        padding: 80px;
        background: rgba(var(--color-secondary-rgb), 0.1);
        border-radius: 15px;
    }

@media (max-width: 992px) {
    .cta .container {
        padding: 60px;
    }
}

.cta .content h3 {
    color: var(--color-secondary);
    font-size: 36px;
    font-weight: 700;
}

    .cta .content h3 em {
        font-style: normal;
        position: relative;
    }

        .cta .content h3 em:after {
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            bottom: 10px;
            height: 5px;
            background: rgba(var(--color-green-rgb), 0.5);
            z-index: -1;
        }

.cta .content p {
    color: var(--color-secondary);
    font-weight: 600;
    font-size: 18px;
}

.cta .content .cta-btn {
    color: var(--color-white);
    font-weight: 500;
    font-size: 16px;
    display: inline-block;
    padding: 12px 40px;
    border-radius: 5px;
    transition: 0.5s;
    margin-top: 10px;
    background: rgba(var(--color-primary-dark-rgb), 0.9);
}

    .cta .content .cta-btn:hover {
        background: var(--color-primary);
    }

.cta .img {
    position: relative;
}

    .cta .img:before {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(var(--color-white-rgb), 0.5);
        border-radius: 15px;
        transform: rotate(12deg);
    }

    .cta .img:after {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(var(--color-white-rgb), 0.9);
        border-radius: 15px;
        transform: rotate(6deg);
    }

    .cta .img img {
        position: relative;
        z-index: 3;
        border-radius: 15px;
    }
/*--------------------------------------------------------------
# RoadAssist Section(EC)
--------------------------------------------------------------*/
.roadassist {
    padding-top: 100px;
}

    .roadassist h2 {
        font-size: 36px;
        font-weight: 600;
        color: var(--color-blue001);
    }

    .roadassist .sectitle {
        font-weight: 600;
        margin-bottom: 15px;
        font-size: 26px;
        color: var(--color-default);
    }

    .roadassist h3 {
        color: var(--color-secondary);
        font-family: var(--font-secondary);
        font-weight: 600;
        font-size: 32px;
        margin-bottom: 20px;
    }

    .roadassist p {
        font-size: 20px;
    }

    .roadassist .buy-btn {
        display: inline-block;
        width: 250px;
        padding: 12px 35px;
        border-radius: 4px;
        color: #fff;
        transition: none;
        font-size: 20px;
        font-weight: 600;
        font-family: var(--font-primary);
        transition: 0.3s;
        background: var(--color-primary);
        border: 1px solid var(--color-primary);
    }

        .roadassist .buy-btn:hover {
            background: var(--color-primary-dark);
        }

@media (max-width: 768px) {
    .roadassist h3 {
        font-size: 28px;
    }
}
/*--------------------------------------------------------------
# F.A.Q Section(EC)
--------------------------------------------------------------*/
@media (max-width: 991px) {
    .EC_faq, .HC_faq {
        padding: 0;
    }
}

.EC_faq h2, .HC_faq h2 {
    font-size: 36px;
    font-weight: 600;
    color: var(--color-blue001);
}

.EC_faq .accordion-item, .HC_faq .accordion-item {
    border: 0;
    margin-top: 15px;
    box-shadow: 0px 5px 25px 0px rgba(var(--color-black-rgb), 0.06);
}

.EC_faq .accordion-collapse, .HC_faq .accordion-collapse {
    border: 0;
}

.EC_faq .accordion-button, .HC_faq .accordion-button {
    padding: 15px 40px 20px 60px;
    font-weight: 600;
    border: 0;
    font-size: 18px;
    color: var(--color-default);
    text-align: left;
    background: var(--color-white);
    box-shadow: none;
    border-radius: 5px;
}

    .EC_faq .accordion-button:not(.collapsed), .HC_faq .accordion-button:not(.collapsed) {
        color: var(--color-primary);
        border-bottom: 0;
        box-shadow: none;
    }

.EC_faq .question-icon, .HC_faq .question-icon {
    position: absolute;
    top: 14px;
    left: 25px;
    font-size: 20px;
    color: var(--color-primary);
}

.EC_faq .accordion-button:after, .HC_faq .accordion-button:after {
    position: absolute;
    right: 15px;
    top: 15px;
    color: var(--color-primary);
}

.EC_faq .accordion-body, .HC_faq .accordion-body {
    padding: 0 30px 40px 60px;
    border: 0;
    border-radius: 5px;
    background: var(--color-white);
    box-shadow: none;
}

/*--------------------------------------------------------------
Bootstrap 5
--------------------------------------------------------------*/

/* btn-Info 按鈕 115/04/16 */
/* 1. 平時狀態 */
.btn-info {
    background-color: #0ea5e9;
    color: #ffffff;
    border: none !important;
    transition: background-color .15s ease-in-out;
}

    /* 2. 懸停狀態 (稍微調淺一點點) */
    .btn-info:hover {
        background-color: #38bdf8;
    }

    /* 3. 點擊中狀態 (通常比平時深一點，增加按壓感) */
    .btn-info:active,
    .btn-info.active,
    .btn-info:active:focus {
        background-color: #5cafdb !important;
    }

    /* 4. 焦點狀態 (修正 BS5 原生外圈殘留) */
    .btn-info:focus,
    .btn-info.focus {
        background-color: #38bdf8 !important;
    }

/* checkbox 放大+動畫效果 115/05/13 */
.label-checkbox {
    font-size: 18px; /* 放大文字 */

    display: flex;
    align-items: center; /* 文字跟 checkbox 垂直置中 */
    gap: 5px; /* checkbox 與文字間距 */
}

    .label-checkbox input[type="checkbox"] {
        width: 22px; /* 放大 checkbox */
        height: 22px;
    }
        /* 點擊時縮小一點，放開回彈 */
        .label-checkbox input[type="checkbox"]:active {
            transform: scale(0.9);
        }


/* 聲明事項 字體大小 */
#statement h4 {
    font-size: 16px;
}

#statement h3 {
    font-size: 24px;
}


/* --- 卡片外框、head 樣式 115/05/19新增 --- */
/* --- 危險卡片樣式 (Danger Style) --- */
.card.card-danger {
    border-color: color-mix(in srgb, var(--bs-danger) 50%, transparent) !important; /* Bootstrap danger 加上 25% 透明度 */
}

    .card.card-danger > .card-header {
        background-color: color-mix(in srgb, var(--bs-danger) 50%, transparent) !important; /* 50% 透明度 */
        color: #a94442;
    }

/* --- 資訊卡片樣式 (Info) --- */
.card.card-info {
    border-color: color-mix(in srgb, var(--bs-info) 50%, transparent) !important; /* Bootstrap info  */
}

    .card.card-info > .card-header {
        background-color: color-mix(in srgb, var(--bs-info) 18%, transparent) !important;
        color: #31708f;
    }


/* ---  Primary 樣式 --- */
.card.card-primary {
    /* 複製 border-primary border-opacity-25 */
    border-color: color-mix(in srgb, var(--bs-primary) 50%, transparent) !important;
}

    .card.card-primary > .card-header {
        /* 複製 bg-primary bg-opacity-25 */
        background-color: color-mix(in srgb, var(--bs-primary) 10%, transparent) !important;
        color: #31708f !important;
    }

/* --- 2. Success 樣式 --- */
.card.card-success {
    /* 複製 border-success border-opacity-25 */
    border-color: color-mix(in srgb, var(--bs-success) 50%, transparent) !important;
}

    .card.card-success > .card-header {
        /* 複製 bg-success bg-opacity-10 */
        background-color: color-mix(in srgb, var(--bs-success) 10%, transparent) !important;
        color: #3c763d !important;
    }

/* --- 3. Warn 樣式  --- */
.card.card-warning {
    border-color: color-mix(in srgb, var(--bs-warning) 50%, transparent) !important;
}

    .card.card-warning > .card-header {
        background-color: color-mix(in srgb, var(--bs-warning) 10%, transparent) !important;
        color: #856404 !important;
    }

.card-header > .card-title {
    font-size: 20px;
    margin-bottom: 0px !important;
}

.form-control {
    margin-bottom: 0px !important;
}

.text-white {
    color: #fff !important;
}

.text-primary {
    color: #424f63 !important;
}

.text-info {
    color: #6bafbd !important;
}

.text-success {
    color: #65cea7 !important;
}

.text-warning {
    color: #8a6d3b !important;
}

.text-danger {
    color: #fc8675 !important;
}

/* ---  table 文字、保額左右排列  --- */
.row-flex-ratio {
    display: flex !important;
    flex-wrap: wrap;       /* 當寬度不足時，允許右側文字換行 */
    align-items: center;   /* 上下居中 */
    justify-content: space-between; /* 兩端對齊 */
    width: 100%;
    gap: 0.5rem;           /* 左右間距，若換行時也會成為上下間距 */
}

/* 左側文字：會自動填滿剩餘空間。若文字太長，會在區域內換行，不會擠壓右側 */
.row-flex-ratio .ratio-text {
    flex: 1 1 0%;          /* 基礎寬度設為 0%，根據剩餘空間自由伸縮 */
    min-width: 120px;      /* 設定左側最低限度寬度 */
    word-break: break-all; /* 防止英文或數字太長時不換行 */
    white-space: normal;   /* 確保允許正常換行 */
}

/* 右側控制項：寬度由選單文字決定，且不被壓縮 */
.row-flex-ratio .ratio-control {
    flex: 0 0 auto;        /* 0 0 表示不放大也不收縮，保證選單完整性 */
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

/* 讓下拉選單與輸入框根據內容自然撐開 */
.row-flex-ratio .ratio-control .form-select,
.row-flex-ratio .ratio-control .form-control {
    width: auto !important;  /* 寬度自適應選單文字長度 */
    min-width: 80px;         /* 基本防空值寬度 */
    max-width: 100%;
    margin-bottom: 0 !important;
}

/* RWD 車險保額/倍數欄位專用公用樣式 */
.rwd-insurance-group {
    display: flex;
    flex-direction: column; /* 1. 預設（手機版）：上下垂直排列 */
    align-items: flex-end; /* 2. 預設（手機版）：水平方向往右靠齊 */
    gap: 0.25rem; /* 3. 預設（手機版）：上下間距 4px (相當於 gap-1) */
}

/* 當螢幕寬度達到 768px 以上（桌機/平版） */
@media (min-width: 768px) {
    .rwd-insurance-group {
        flex-direction: row; /* 1. 轉為橫向左右並排 */
        align-items: center; /* 2. 垂直方向中線置中對齊 */
        justify-content: flex-end; /* 3. 整體內容靠儲存格最右側 */
        gap: 0.5rem; /* 4. 左右元件間距改為 8px (相當於 gap-2) */
    }
}
/*#main-container {
    position: relative;
    min-height: 800px;
    padding-top: 45px;*/
    /*margin-left: 194px*/
/*}

@media (max-width:550px) {
    #main-container {
        min-width: 471px
    }
}

@media (min-width:551px) and (max-width:600px) {
    #main-container {
        min-width: 541px
    }
}

@media (min-width:601px) and (max-width:670px) {
    #main-container {
        min-width: 591px
    }
}

@media (max-width:767px) {
    #main-container {
        left: 0;
        margin-left: 0
    }
}

@media (max-width:767px) {
    .col-sm-8 {
        width: auto;
    }
}

@media (min-width:481px) {
    .col-sm-8 {
        min-width: 471px;
    }
}*/
