/** {
  outline: 1px solid red !important;
}
*/
body,
h1,
h2,
h3,
h4,
h5,
h6,
p {
    font-family: 'Noto Sans TC', sans-serif;
}

a:hover {
    color: #079828;
}

.text-G079828 {
    color: #079828;
}

.bg-G079828 {
    background-color: #079828;
}

.w-100 {
    width: 100%;
}

.p-3 {
    padding: 15px;
    /* Bootstrap 3 的 base spacing 是 15px */
}


/*====================================*/
/*  box-img
/*====================================*/
.content img {
    height: unset !important;
}

/*box-img 1x1*/
.box-img {
    overflow: hidden;
    width: 100%;
    padding-top: 100%;
    position: relative;
}

.box-img img {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*box-img 16x9*/
.box-img-16-9 {
    overflow: hidden;
    width: 100%;
    padding-top: calc(9 / 16 * 5%);
    position: relative;
}

.box-img-16-9 img {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    max-width: unset;
    width: 100%;
    height: auto;
    object-fit: cover;
}



/*box-img 5x4*/
.box-img-5-4 {
    overflow: hidden;
    width: 100%;
    padding-top: calc(4 / 5 * 100%);
    position: relative;
}

.box-img-5-4 img {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*box-img 4x5 直式*/
.box-img-4-5 {
    overflow: hidden;
    width: 100%;
    padding-top: calc(5 / 4 * 100%);
    position: relative;
}

.box-img-4-5 img {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*====================================*/
/*  編輯器 container1
/*====================================*/

.content-txt .video-container1 {
    width: 1000px;
    height: 563px;
    margin-left: 0px;
}

.video-container1 iframe,
.video-container1 object,
.content-txt .video-container1 embed {
    width: 100%;
    height: 100%;
}

@media (max-width: 767px) {
    .content-txt .video-container1 {
        position: relative;
        padding-bottom: 56.25%;
        height: 0;
        overflow: hidden;
        max-width: 100%;
        margin-left: 0px;
    }

    .content-txt .video-container1 iframe,
    .content-txt .video-container1 object,
    .content-txt .video-container1 embed {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}

.postContent img {

    max-width: 1000px;
    height: auto !important;

}

@media (max-width:768px) {
    .postContent img {

        max-width: 100%;
        height: auto !important;

    }

}

/*====================================*/
/*  首頁
/*====================================*/

.service-section .service-item .service-item-content .title {
    border-left: none;
    border-right: none;
    color: #079828;
    font-weight: 500;
    font-size: 1.8rem;
}

.title i.fa-solid {
    color: #079828;
}

.service-section .service-photo img {
    border-radius: 90px 12px 90px;
}

.procedure-content .title {
    font-size: 2rem;
    color: #079828;
    margin-top: 20px;
    font-family: 'Noto Sans TC', sans-serif;
}

.procedure-section .procedure-item .procedure-content p {
    margin: 10px 0 20px;
    font-size: 1.47rem;
}

.about-content .title-img {
    padding: 0;
}

.about-content h5 {
    color: #079828;
    width: 100%;
    display: inline-grid;
    justify-content: center;
    margin-bottom: 0;
}

.service-section .title-img img,
.procedure-section .title-img img,
.about-content .title-img img,
.cases-section .title-img img {
    width: 260px;
}

.about-motto .motto-content {
    margin: 20px auto;
}

.about-motto .motto-content p {
    display: inline-grid;
}

.motto-content h5 {
    display: inline-flex;
    align-items: center;
    float: left;
}

.motto-numberTag {
    float: left;
    width: 35px;
    height: auto;
    margin-right: 10px;
}

.motto-textLabel {
    float: left;
    color: #079828;
    font-size: 2rem;
    letter-spacing: 1px;
    font-weight: 500;
}

.connect-section .connect-content .connect-btns {
    margin: 20px 0;
}

.grd-Green {
    background: linear-gradient(to right, #079828 0%, #78c944 50%, #afd446 100%);
}

.text-white {
    color: #fff !important;
}

.btn-Green {
    color: #079828;
    background-color: #fff;
    border-color: #fff;
}

.text-Green {
    color: #079828;
    font-size: 2rem;
    font-weight: 500;
}

.connect-section p {
    font-size: 1.85rem;
    letter-spacing: 2px;
    color: #000;
    line-height: 1.5;
}

.connect-section .connect-content .connect-btns .link-btn {
    border-radius: 50px;
}

.bg-f7f9f1 {
    background-color: #f7f9f1;
}

.bg-079828 {
    background-color: #079828;
}

nav.navbar.bootsnav ul.nav>li>a:hover {
    color: #079828;
}

.cases-section .owl-carousel .owl-dots.disabled,
.cases-section .owl-carousel .owl-nav.disabled {
    display: block !important;
}

.cases-section .owl-carousel .owl-nav .owl-prev,
.cases-section .owl-carousel .owl-nav .owl-next {
    color: #333;
    line-height: 20px !important;
    border: 2px solid #aaa !important;
}

.owl-carousel .owl-nav .owl-prev:hover,
.owl-carousel .owl-nav .owl-next:hover {
    background-color: #079828;
    color: #fff;
}

.owl-theme .owl-nav .disabled {
    opacity: 1;
}

button.owl-prev.disabled,
button.owl-next.disabled {
    border: 2px solid #aaa !important;
}



.service-section .service-item .service-item-content p {
    font-size: 1.45rem;
    color: #333;
    line-height: 20px;
    margin: 10px 0 0;
}

.service-section .service-item .service-item-content p.text-ab {
    color: #ababab;
}


.service-section .service-item .service-item-content {
    text-align: left;
    padding: 8px 0;
    height: 110px;
    margin-bottom: 20px;
}

.procedure-section .procedure-item .procedure-content img {
    width: min(100%, 200px);
}



/*====================================*/
/*  about
/*====================================*/

.head-banner img {

    height: 100px;
}

.head-banner .banner-text {

    margin-top: 0 !important;
}


.head-banner .banner-text h1 {
    color: #333;
    font-weight: 600;
}

.contact-items ul li {
    padding: 10px 0;
}

.no-mt {
    margin-top: 0 !important;
}

.no-pt {
    padding-top: 0 !important;
}

.display-inline-grid {
    display: inline-grid;
    justify-items: center;
}


/*====================================*/
/*  NEWS
/*====================================*/

.section-padding-04 {
    padding-top: 60px;
    padding-bottom: 60px;
}

.blog-sidebar .col-12 {
    flex: 0 0 auto;
    width: 100%;
}

.blog-sidebar .row {
    --bs-gutter-x: 30px;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.blog-sidebar .row>* {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-top: var(--bs-gutter-y);
}


.blog-post-two__content {
    padding-top: 10px;
    display: inline-table;
}


.blog-post-two {
    margin-bottom: 30px;
    display: grid;
}

.blog-post-two__meta {
    text-align: left;
}

h3.blog-post-two__title {
    font-size: 1.8rem;
    margin-top: 5px;
    text-align: left;
}

.blog-post-two__content a.blog-post-two__btn {
    float: right;
}

.blog-post-two_thumb {
    margin-bottom: 10px;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.blog-post-two:hover .blog-post-two_thumb img {
    transform: scale(2.05);
    transition: 0.4s;
}

.pagination>li>a,
.pagination>li>span {
    color: #079828;
}

.pagination>li>a:focus,
.pagination>li>a:hover,
.pagination>li>span:focus,
.pagination>li>span:hover {
    z-index: 2;
    color: #fff;
    background-color: #079828;
    border-color: #079828;
}

.pagination-m ul li a.active,
.pagination-m ul li a:hover:not(.active) {
    background-color: #079828;
    margin-right: 3px;
    margin-left: 3px;
}

nav.navbar.bootsnav ul.nav>li.active>a,
.type-item:hover {
    color: #079828;
}

.portfolio-area .pf-info hr {
    border-bottom: 2px solid #079828;
}


/*====================================*/
/*  footer
/*====================================*/

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

.logo-default {
    display: inline-grid;
    align-items: center;
}

.footer-logoImg {
    width: 100% !important;
}

.footer-bottom {
    border-top: 1px solid #079828;
}

.footer-img {
    background-image: url('../images/bg-footer.png');
    background-position: bottom center;
    background-repeat: no-repeat;
    background-size: contain;
    min-height: 300px;
    height: auto;
    width: 100%;
    position: relative;
    bottom: -1px;
}

.footer-contacts ul li {
    display: flex;
    align-items: center;
}

.footer-contacts ul li i {
    color: #079828;
    margin-right: 8px;
    /* 控制 icon 與文字間距 */
    font-size: 2rem;
}

p.copyright-text {
    font-size: 1.8rem;
}

/*====================================*/
/*  media
/*====================================*/

@media (min-width: 576px) {

    .service-section .title-img img,
    .procedure-section .title-img img,
    .about-content .title-img img,
    .cases-section .title-img img {
        width: 280px;
    }

    .blog-sidebar .row-cols-sm-2>* {
        flex: 0 0 auto;
        width: 50%;
        max-width: 100%;
        padding-right: calc(var(--bs-gutter-x) * .5);
        padding-left: calc(var(--bs-gutter-x) * .5);
        margin-top: var(--bs-gutter-y);
    }
}

@media (max-width: 767px) {
    .footer-img {
        background-size: contain;
        background-position: bottom center;
    }

    .footer-img {
        background-size: contain;
        background-position: bottom center;
    }

    .footer-logoImg {
        padding-bottom: 20px;
    }

    p.copyright-text {
        font-size: 1.3rem;
        margin-top: 5px;
    }

    .service-section .service-item .service-item-content {
        height: auto;
    }

    h2.single-blog-title {
        font-size: 2rem;
        text-align: left;
        line-height: 1.5;
    }

    .single-blog h3 {
        font-size: 1.7rem;
    }

}


@media (min-width: 768px) {
    .blog-sidebar .row-cols-md-2>* {
        flex: 0 0 auto;
        width: 50%;
    }
}

@media (max-width: 991px) and (min-width: 768px) {
    .md-height400 {
        height: 400px;
    }
}

@media (max-width: 991px) {
    .navbar-brand>img {
        height: 55px !important;
    }

    .default-padding {
        padding-bottom: 50px;
    }

    .footer-bottom {
        padding: 0 0 20px;
    }

    .footer-logoImg {
        width: 80% !important;
        margin: auto;
    }

    .md-display-inline-grid {
        display: inline-grid !important;
    }

    .about-content {
        margin-top: 30px;
    }

    .md-no-pt {
        padding-bottom: 0px;
    }

}

@media (min-width: 992px) {
    .blog-sidebar .row-cols-lg-3>* {
        flex: 0 0 auto;
        width: 33.3333333333%;
    }

    .blog-sidebar .g-lg-5,
    .blog-sidebar .gx-lg-5 {
        --bs-gutter-x: 1.625rem;
    }

    .blog-post-two__content {
        height: 140px;
    }
}

@media (min-width: 1200px) {
    .connect-section .connect-content .connect-btns {
        flex-direction: row;
        margin: 40px 0;
    }

    .head-banner img {
        height: 150px;
    }

    .head-banner .banner-text {
        margin-top: 0 !important;
    }

}

@media (min-width: 1600px) {

    .blog-sidebar .g-xxl-12,
    .blog-sidebar .gx-xxl-12 {
        --bs-gutter-x: 3.75rem;
    }
}