:root {
    --color1: #2b4c67;
    --color2: #272e39;
    --color3: #f2c549;
    --color4: #e8edf2;
    --color5: #245a8f;
    --color6: #29a8df;
}
html {
    scroll-behavior: smooth;
    text-size-adjust: 100%;
    /* 標準屬性 */
    -webkit-text-size-adjust: 100%;
    /* Safari/Chrome */
    -moz-text-size-adjust: 100%;
    /* Firefox Android */
    -ms-text-size-adjust: 100%;
    /* 舊 IE/Edge */
}
html,
body {
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
    /* iOS、Android 禁止自動字體縮放 */
}
/* 側邊欄 */
.th-menu-wrapper .mobile-logo img{
    max-width: 250px;
}
.th-mobile-menu ul li a {
    color: #272e39;
}
.th-mobile-menu ul li.th-active > a ,.th-mobile-menu ul .menu-item-has-children > a .th-mean-expand{
    color: #245a8f;
}
.th-menu-wrapper .th-menu-toggle {
    background-color: #245a8f;
    border: 1px solid #245a8f;
}
.th-menu-wrapper .th-menu-area {
    border-right-color: #245a8f;
}
.th-header .th-menu-toggle:hover {
    background: #245a8f;
    border-color: #fff;
}
.th-header .th-menu-toggle:hover i {
    color: #fff;
}
/* 導覽列 */
.header-top {
    background-color: #2b4c67;
}
.header-top::after {
    background-color: #272e39;
}
.header-default .menu-area .container-fulid {
    max-width: 1840px;
}
.header-links li {
    font-size: 16px;
}
.header-links a:hover {
    color: #f2c549;
}
.header-links li img {
    max-width: 16px;
    margin-right: 10px;
}
.social-links {
    color: #fff;
    font-weight: normal;
}
.header-logo {
    padding-left: 5%;
    padding-top: 18%;
}
.header-logo img {
    max-width: 200px;
}
.th-btn:before {
    background: #2b4c67;
}
.th-btn.style6 {
    font-weight: normal;
    min-width: 300px;
}
.th-btn.style6:hover {
    color: #000;
}
.th-btn.style6:hover::before {
    background: #f2c549;
}
.th-btn.style6:hover img {
    content: url(../images/icon/phone.png);
}
.header-default .main-menu > ul > li > a {
    color: #333;
}
.header-default .main-menu > ul > li > a:hover ,
.header-default .main-menu > ul > li.active > a ,
.header-default .main-menu > ul > li > a:hover::after ,
.header-default .sticky-wrapper.sticky .main-menu > ul > li > a:hover,
.header-default .sticky-wrapper.sticky .main-menu > ul > li.active > a,
.header-default .sticky-wrapper.sticky .main-menu > ul > li > a:hover::after{
    color: #245a8f;
}
.main-menu ul.sub-menu li {
    margin-bottom: 5px;
}
.main-menu ul.sub-menu li a:hover ,.main-menu ul.sub-menu li a::before{
    color: #245a8f;
}
.header-default .sticky-wrapper.sticky {
    background-color: #fff;
}
.header-default .sticky-wrapper.sticky .main-menu > ul > li > a {
    color: #333;
}
.main-menu ul.sub-menu {
    border-bottom-color: #245a8f;
}
@media (min-width:1500px) {
    .header-logo {
        padding-left: 15%;
    }
    .header-logo img {
        max-width: 280px;
    }
}
@media (min-width:1700px) {
    .header-logo {
        padding-left: 20%;
    }
}
@media (max-width:991px) {
    .header-top {
        background-color: #fff;
    }
    .social-links {
        color: #061f3d;
    }
    .header-default .menu-area {
        background-color: #245a8f;
    }
    .icon-btn {
        background-color: #fff;
    }
    .icon-btn i {
        color: #2b4c67;
    }
    .header-logo {
        padding: 15px 0;
    }
    .header-logo img {
        content: url(../images/logo-w.png);
        max-width: 250px;
    }
    .th-mobile-menu > ul > li.active > a {
        color: #245a8f;
    }
}
/* 大圖 */
.hero-1 .swiper-slide::after {
    background: none;
}
.sub-title.style5 {
    background: #245a8f;
    color: #fff;
    line-height: 2;
    font-size: 16px;
}
.hero-title {
    font-weight: 500;
    font-size: 24px;
    line-height: 1.7;
}
.hero-style1 {
    min-height: 850px;
}
.hero-style1 .hero-text {
    color: #245a8f;
    line-height: 1.5;
    font-weight: 400;
    font-size: 18px;
}
.btn-group .th-btn {
    color: #000;
    transition: 0.4s;
}
.btn-group .th-btn:before {
    background: #f2c549;
    transition: 0.4s;
}
.btn-group .th-btn::after {
    background-image: url(../images/icon/right-arrow-y.png);
    width: 15px;
    height: 15px;
    transition: 0.4s;
}
.btn-group:hover .th-btn {
    color: #fff;
}
.btn-group:hover .th-btn::before {
    background: #245a8f;
}
.btn-group:hover .th-btn::after {
    background-image: url(../images/icon/right-arrow-b.png);
}
.th-btn .after-bg {
    background: #fff;
}
.slider-arrow.style2 {
    color: #272e39;
}
.slider-arrow.style2 {
    color: #245a8f;
}
.slider-arrow.style2:hover {
    background: #245a8f;
}
@media (max-width:767px) {
    .hero-style1 {
        min-height: 650px;
    }
    .hero-1 .swiper-slide::after {
        background: -webkit-gradient(linear, right top, left top, color-stop(1%, rgba(255, 255, 255, 0)), to(#fff));
        background: linear-gradient(270deg, rgba(255, 255, 255, 0.2) 1%, #fff 100%);
    }
    .sub-title.style5 {
        font-size: 14px;
    }
    .hero-title {
        font-size: 22px;
    }
    .hero-style1 .hero-text {
        font-size: 18px;
    }
}
/* About Us */
.sec-title.style2 {
    font-size: 20px;
    color: #245a8f;
    font-weight: normal;
}
.sub-title {
    color: #607482;
    border-color: #607482;
}
.img-box1 .circle-tag {
    border-color: #f7f7f7;
}
.img-box1 .box-number img{
    max-width: 20px;
}
.img-box1 .circle-title-anime >*{
    color: #607482;
    font-weight: 400;
}
.img-box1 .circle-title-anime span {
  --rotate-letter: 10.58deg;
}
@media (min-width:768px) {
    .sec-title.style2 {
        font-size: 24px;
    }
}
.about-wrap p {
    color: #000;
}
.about-wrap p span {
    color: #245a8f;
}
.checklist li {
    font-size: 16px;
    font-weight: normal;
}
.checklist li:last-of-type {
    color: #245a8f;
}
.checklist li:before {
    background: #245a8f;
}
@media (min-width:992px) {
    .about-wrap p ,.checklist li {
        font-size: 18px;
    }
}
/* OUR SERVICES */
.bg-blue-color {
    background: #e8edf2;
}
.service-bg-shape1-1 {
    -webkit-transform: translate(0%, 0);
    transform: translate(0%, 0);
}
.sec-title.style3 {
    font-size: 20px;
    color: #245a8f;
    font-weight: normal;
}
.sec-title.style3 span {
    color: #245a8f;
}
.title-area.style2 p {
    color: #000;
}
.title-area.style2 br ~ p {
    color: #245a8f;
}
.title-area.style2::before {
    background: #758793;
    width: 2px;
}
.title-area.style2::before {
    right: 55%;
}
.service-card.style2 .box-icon  {
    width: 80px;
    display: flex;
    align-items: center;
}
.service-card.style2 .box-icon img {
    object-fit: contain;
}
.service-card.style2:hover {
    background: #245a8f;
}
.service-card.style2:hover .box-icon .color-masking img {
    -webkit-filter: none;
    filter: none;
}
.service-card .circle-tag {
    background: #f7f7f7;
}
.service-card:hover .circle-tag {
    background: #fff;
}
.service-card .circle-title-anime >*{
    color: #607482;
    font-weight: 400;
}
.circle-tag .icon img{
    max-width: 16px;
}
.service-card .box-title {
    font-weight: normal;
    font-size: 20px;
}
.service-card:hover .box-title {
    color: #fff;
}
.box-text-group {
    min-height: 155px;
}
.service-card.style2 .box-text {
    color: #666;
}
@media (min-width:768px) {
    .sec-title.style3 {
        font-size: 24px;
    }
    .title-area.style2 p {
        font-size: 18px;
    }
}
@media (min-width:992px) {
    .title-area.style2 .title-area-right {
        max-width: 550px;
    }
} 
@media (min-width:1600px) {
    .box-text-group {
        min-height: 120px;
    }
}

/* 照片牆 */
.project-card .box-img:after {
    background: none;
}
/* WHY CHOOSE US */
.bg-blue-color2 {
    background-color: #061f3d;
}
.sub-title.border-theme2 {
    border-color: #fff;
}
.process-card .box-text {
    color: #fff;
}
.process-card .box-title {
    font-size: 20px;
    font-weight: normal;
}
.process-card .box-thumb img{
    width: auto;
    max-height: 50px;
}
.process-card::before {
    background: #2f6faf;
}

/* 大圖 */
.video-area-1  {
    margin-top: -180px;
}
@media (min-width:1200px){
    .video-area-1  {
        margin-top: -300px;
    }
}
/* testimonials */
.testi-area-1 {
    padding-bottom: 120px;
}
.testi-area-1 .sec-title{
    line-height: 1.7;
}
.testi-area-1 .sec-title2 {
    margin-bottom: 20px;
}
.testi-area-1 .sec-text {
    color: #000;
}
.testi-card .testi-card_review {
    border-color: #000;
}
.testi-card_review i{
    color: #245a8f;
}
.testi-card .box-text {
    color: #000;
    font-weight: normal;
    max-width: 450px;
}
.testi-card .box-desig {
    color: #607482;
}
.slider-arrow.style3:hover {
    background: #245a8f;
}
.testi-thumb1-1 .quote-icon {
    background: #f1f3f5;
}
@media (min-width:1300px) {
    .testi-area-1 .sec-title2 ,.testi-area-1 .sec-text {
        margin-left: 10%;
    }
    .testi-card .box-text {
        font-size: 20px;
    }
    .testi-card .box-desig {
        font-size: 18px;
    }
}
/* Blog */
.blog-card:hover .blog-img img {
    -webkit-transform: translate(-50%,-50%) scale(1.3);
    transform: translate(-50%,-50%) scale(1.3);
}
.blog-card .blog-date span {
    color: #000;
}
.blog-card .box-title {
    font-weight: normal;
    font-size: 18px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}
.blog-content .link-btn {
    color: #245a8f;
    min-width: 170px;
}
.blog-content .link-btn::before {
    border-color: #245a8f;
    width: calc( 100% - 45px);
}
.blog-content .link-btn::after {
    background-image: url(../images/icon/right-arrow-w.png);
    width: 14px;
    height: 14px;
    left: 15%;
}
.blog-content .link-btn .after-bg {
    background: #245a8f;
    width: 45px;
    border-radius: 0 50px 50px 0;
    border: 1px solid #245a8f;
}
.blog-card:hover .link-btn {
    color: #fff;
}
.blog-card:hover .link-btn::before {
    background: #245a8f;
}
.blog-card:hover .link-btn .after-bg{
    background: transparent;
}
.blog-card:hover .link-btn::after {
    background-image: url(../images/icon/right-arrow-b.png);
}
@media (min-width:768px) {
    .blog-card .box-title {
        font-size: 20px;
    }
}
/* footer */
.footer-default {
    background: #061f3d;
}
.footer-wrapper {
    border: none;
}
.footer-wrapper .widget-area .container {
    border-bottom: 1px solid #fff;
}
.th-widget-about .about-logo img {
    max-width: 250px;
}
.th-widget-about .about-text {
    color: #fff;
}
.footer-widget .widget_title {
    font-weight: normal;
}
.footer-widget.widget_nav_menu li {
    color: #fff;
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}
.footer-icon {
    width: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.footer-icon img{
    max-width: 16px;
    max-height: 20px;
}
.footer-widget.widget_nav_menu a {
    color: #fff;
    margin-bottom: 0;
}
.footer-widget.widget_nav_menu a:hover {
    color: #29a8df;
}
.line-qrcode img{
    max-width: 230px;
}
.copyright-wrap {
    border: none;
    padding-top: 10px;
}
.copyright-wrap .copyright-text i {
    color: #fff;
}
@media (min-width: 992px) {
    .footer-counter {
        padding-right: 6%;
    }
    .footer-icon {
        width: 26px;
    }
}
@media (min-width: 1200px) {
    .footer-wrapper .row .col-md-6:nth-of-type(1) {
        padding-right: 25px;
    }
    .footer-wrapper .row .col-md-6:nth-of-type(2) {
        padding-left: 5%;
    }
}
@media (min-width: 1600px) {
    .footer-wrapper .row .col-md-6:nth-of-type(4) {
        padding-left: 3%;
    }
}

/*==================== scroll-to-top ====================*/
.scroll-icon {
    position: fixed;
    bottom: 115px;
    right: 8px;
    z-index: 99;
    text-align: center;
    cursor: pointer;
    transition: 1s;
}
.scroll-icon a {
    display: block;
}
.scroll-icon img {
    width: 40px;
    height: 40px;
    margin: 5px 0;
}

.scroll-top {
    right: 8px;
    bottom: 70px;
    width: 40px;
    height: 40px;
}
.scroll-top::after {
    border-color: #245a8f;
    color: #245a8f;
    width: 40px;
    height: 40px;
    line-height: 2;
}
.scroll-top svg {
    color: #245a8f;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.scroll-top .progress-circle path {
    stroke: #245a8f;
}

@media (min-width: 768px) {
    .scroll-icon {
        width: 50px;
        line-height: 1.5;
        bottom: 120px;
        right: 25px;
    }
    .scroll-top {
        right: 25px;
        width: 50px;
        height: 50px;
        bottom: 60px;
    }
    .scroll-top:after {
        width: 50px;
        height: 50px;
        line-height: 50px;
    }
    .scroll-icon img {
        width: 50px;
        height: 50px;
    }
}
/* 側邊滾輪 */
body::-webkit-scrollbar-thumb {
    background-color: #245a8f;
    background-image: none;
}
/* Breadcumb */
.breadcumb-title {
    color: #061f3d;
    font-size: 26px;
    font-weight: 500;
}
.breadcumb-menu li ,.breadcumb-menu li a ,.breadcumb-menu li:last-child ,.breadcumb-menu li::after {
    color: #061f3d;
    font-weight: normal;
}
.breadcumb-menu a:hover {
    color: #245a8f;
}
.breadcumb-wrapper .breadcumb-content {
    padding-left: 5%;
}
.breadcumb-wrapper:after {
    background: transparent;
}
@media (min-width: 768px) {
    .breadcumb-title {
        font-size: 30px;
    }
}
@media (max-width:767px) {
    .breadcumb-wrapper {
        background-position: 80% top;
    }
    body .th-header.header-default:has(.header-top) ~ .breadcumb-wrapper .breadcumb-content{
        padding-bottom: 120px;
    }
}
@media (max-width:1399px) {
    body .th-header.header-default:has(.header-top) ~ .breadcumb-wrapper .breadcumb-content {
        padding-left: 5%;
    }
}
/* 常見問題 */
.sub-title2.style3:before {
    background-image: url(../images/icon/right-arrow-b.png);
    width: 12px;
    height: 10px;
}
.title-area.mb-0 .sec-title {
    font-size: 22px;
    font-weight: normal;
}
.sub-title2.style3 {
    font-size: 16px;
    background: #f3f9ff;
}
.accordion-card.style5 {
    background: #f3f9ff;
}
.accordion-card.style4 .accordion-button::before {
    font-family: var(--icon-font);
    content: "\e1e3";
    background-image: none;
    color: #245a8f;
}
.accordion-card .faq-text {
    color: #666;
}
@media (min-width: 768px) {
    .title-area.mb-0 .sec-title {
        font-size: 28px;
    }
    .accordion-card .faq-text {
        font-size: 18px;
    }
}
/* 服務項目 */
.servicePage .container {
    max-width: 1700px;
}
.common-style-for-title > div > div:nth-of-type(1) {
    width: 40%;
}
.common-style-for-title > div > div:nth-of-type(2) {
    width: 60%;
}
.servicePage .title-area.style2::before {
    right: 52%;
}
.sec-title.style7 br {
    display: block;
}
@media (max-width: 991px) {
    .common-style-for-title > div > div:nth-of-type(1) {
        width: 100%;
    }
    .common-style-for-title > div > div:nth-of-type(2){
        width: 100%;
    }
}
/* 文章設定 */
.article_content p{
    color: #333;
    margin-bottom: 0;
    line-height: 1.8;
}
.article_content img {
    width: 100% !important;
    height: auto !important;
    display: block;
}
.article_content iframe {
    width: 100% !important;
    height: 100% !important;
}
@media (min-width: 992px){
    .article_content img {
        max-width: 900px !important;
        max-height: 100% !important;
    }
    .article_content iframe {
        width: 100% !important;
        height: 100% !important;
    }
}
/* 服務項目/冷氣安裝 */
.widget_categories a::after {
    background-image: url(../images/icon/right-arrow-b.png);
    height: 12px;
}
.widget_categories a:hover::after {
    background-image: url(../images/icon/right-arrow-w.png);
}
.widget_categories a:hover {
    background: #245a8f;
}
.page-single h4 {
    font-weight: normal;
}
.page-single p {
    margin-bottom: 8px;
}
.widget_title {
    font-weight: normal;
}
@media (min-width: 768px) {
    .page-single h4 {
        font-size: 24px;
    }
}
/* 知識專欄 */
.th-blog-wrapper .col-xl-8{
    margin: 0 auto;
}
.th-pagination a:has(.arrow) {
    line-height: 50px;
}
.th-pagination a:hover,.th-pagination a.active {
    background-color: #245a8f;
}
.th-pagination a img {
    width: 14px;
    height: 12px;
}
.sidebar-area.sidebar-sticky img {
    width: 100%;
}
@media (max-width:767px) {
    .th-pagination a:has(.arrow) {
        line-height: 40px;
    }
    .th-pagination a img {
        width: 12px;
        height: 10px;
    }
}
/* 聯絡我們 */
.contact-info.style4 {
    background: #e8edf2;
}
.contact-info .box-icon img {
    max-width: 25px;
    max-height: 25px;
}
.contact-info.style4 .box-text {
    margin-top: 5px;
    margin-bottom: 0;
}
.contact-info.style4 a.box-text:hover {
    color: #29a8df;
}
.contact-info.style4 .box-icon {
    background: #fff;
}
.contact-thumb1-1-shape::before {
    background: transparent;
}
.contact-area-1 .title-area .sec-title {
    font-size: 20px;
    font-weight: normal;
    color: #061f3d;
}
.captcha-box {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}
.captcha-box .captcha-container {
  flex-shrink: 0;
  /* 防止圖片被壓縮 */
}
.captcha-box .captcha-container .captcha-img {
  height: 40px;
}
.th-btn.style5:before {
    background: #f2c549;
}
.th-btn::after {
    background-image: url(../images/icon/right-arrow.png);
    width: 14px;
    height: 12px;
}
.th-btn.style5:hover:before {
    background: #061f3d;
}
.th-btn.style5:hover:after {
    background-image: url(../images/icon/right-arrow-db.png);
}
/* 關於芳修 */
.feature-area-1 {
    padding-top: 120px;
    max-width: 1840px;
    margin: 0 auto;
}
.feature-area-1::before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    width: 100%;
    height: 100%;
    background: #061f3d;
    border-radius: 24px;
    
    z-index: -1;
}
.title-left h3{
    font-weight: 500;
    font-size: 24px;
    margin-bottom: 30px;
    color: #fff;
}
.feature-card .feature-card-details {
    margin-top: 0;
    padding-top: 10px;
}
.feature-card .box-icon {
    background: #245a8f;
}
.feature-card .box-title {
    font-weight: 500;
    font-size: 22px;
    color: #fff;
}
.feature-card .box-text {
    color: #fff;
}
@media (min-width:768px) {
    .feature-card .box-text {
        font-size: 18px;
    }
}
@media (max-width: 575px) {
    .feature-area-1::before {
        border-radius: 0;
    }
}
.process3 .process-card .box-bg-shape {
    background: #061f3de8;
}
.process3 .process-card .box-bg-shape img {
    display: block;
    opacity: 0;
}
.process3 .process-card:hover .box-bg-shape img {
    opacity: 1;
}
.process3 .process-card::after {
    background: #f2c549;
}
.process3 .process-card .box-text {
    min-height: 112px;
}
.counter-card2 .box-number {
    font-size: 50px;
    color: #fff;
}
.counter-card2 .box-number:has(.counter-number) {
    color: #f2c549;
}
.counter-card2 .media-body {
    transform: none!important;
}
.counter-area-2::before {
    background: #061f3d;
}
@media (min-width:768px) {
    .counter-card2 .box-text {
        min-height: 95px;
    }
}
.work-card2 .box-number span {
    color: #245a8f;
}
.work-card2 .box-title {
    font-size: 20px;
}
@media (min-width:768px)  {
    .work-card2 .box-title {
        font-size: 24px;
        margin-top: 8%;
    }
    .work-card2 .box-text {
        padding-bottom: 0;
    }
}