body {
    background: #fff;
    color: #555;
    font-family: "Source Han Sans";
}

body,
p {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased !important;
    line-height: 26px;
    font-size: 14px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: #212121;
    font-weight: 700;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased !important;
}

h1 {
    font-size: 36px;
    line-height: 48px;
}

h2 {
    font-size: 28px;
    line-height: 36px;
    text-transform: uppercase;
    letter-spacing: -1px;
}

h3 {
    font-size: 24px;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: -.5px;
}

h4 {
    font-size: 18px;
    line-height: 28px;
    text-transform: uppercase;
    letter-spacing: -.2px;
}

h5 {
    font-size: 14px;
    line-height: 24px;
}

.alert .icon {
    margin-right: 15px;
}

/* Global styles
================================================== */
html {
    overflow-x: hidden !important;
    width: 100%;
    height: 100%;
    position: relative;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body {
    border: 0;
    margin: 0;
    padding: 0;
}

.body-inner {
    position: relative;
    overflow-x: hidden;
}

.preload {
    position: fixed;
    background: #fff url(../images/preload.gif) center center no-repeat;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 99999;
}

a:link,
a:visited {
    text-decoration: none;
}

a {
    color: inherit;
    transition: .2s ease;
}

a:hover {
    text-decoration: none;
    color: #000;
}

a.read-more {
    color: #0C9074;
    font-weight: 700;
    text-transform: uppercase;
}

a.read-more:hover {
    color: #222;
}

.main-container,
.project-area,
.section-padding {
    padding: 70px 0;
    position: relative;
}

.no-padding {
    padding: 0;
}

.gap-60 {
    clear: both;
    height: 60px;
}

.gap-40 {
    clear: both;
    height: 40px;
}

.gap-30 {
    clear: both;
    height: 30px;
}

.gap-20 {
    clear: both;
    height: 20px;
}

.mrb-30 {
    margin-bottom: 30px;
}

.mrb-80 {
    margin-bottom: -80px;
}

.mrt-0 {
    margin-top: 0 !important;
    margin-bottom: 20px !important;
}

.pab {
    padding-bottom: 0;
}

a:focus {
    outline: 0;
}

.ts-padding {
    padding: 60px;
}

.solid-bg {
    background: #f9f9f9;
}

.dark-bg {
    background: #252525;
    color: #fff;
}

.dark-bg h2,
.dark-bg h3 {
    color: #fff;
}

.solid-row {
    background: #f0f0f0;
}


.bg-overlay {
    position: relative;
}

.bg-overlay .container {
    position: relative;
    z-index: 1;
}

.ellipsis {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.ellipsis-3 {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    word-wrap: break-word;
    white-space: normal;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.bg-overlay:after {
    position: relative;
}

.content-hidden {
    position: absolute;
    height: 1px;
    width: 1px;
    clip: rect(1px, 1px, 1px, 1px);
    border: 0;
    overflow: hidden;
}

/* Dropcap */
.dropcap {
    font-size: 48px;
    line-height: 60px;
    padding: 0 7px;
    display: inline-block;
    font-weight: 700;
    margin: 5px 15px 5px 0;
    position: relative;
    text-transform: uppercase;
}

.dropcap.primary {
    background: #0C9074;
    color: #fff;
}

.dropcap.secondary {
    background: #3a5371;
    color: #fff;
}

/* Title */
.title {
    font-size: 32px;
    line-height: 36px;
    margin-bottom: 20px;
}

/* Title Border */
/* Section title */
.section-title {
    font-size: 18px;
    line-height: 28px;
    margin: 0;
    text-transform: uppercase;
    font-weight: 300;
}

.section-sub-title {
    font-weight: 900;
    font-size: 30px;
    line-height: 46px;
    margin: 0 0 60px;
    color: #212121;
}

.section-sub-title:before {
    content: '';
    display: block;
    position: absolute;
    width: 30px;
    height: 3px;
    bottom: 48px;
    left: 50%;
    margin-left: -15px;
    background: #0C9074;
}

@media (max-width: 575px) {
    .section-sub-title {
        font-size: 28px;
    }
}

/* Column title */
.column-title {
    margin: 0 0 40px;
}

.column-title-small {
    font-size: 20px;
    margin: 0 0 25px;
}

/* Page content title */
.page-content-title.first {
    margin-top: 0;
}

/* Video responsive */
.embed-responsive {
    padding-bottom: 56.25%;
    position: relative;
    display: block;
    height: 0;
    overflow: hidden;
}

.embed-responsive iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* Input form */
.form-control {
    box-shadow: none;
    border: 1px solid #dadada;
    padding: 5px 20px;
    height: 44px;
    background: none;
    color: #959595;
    font-size: 14px;
    border-radius: 0;
}

.form-control:focus {
    box-shadow: none;
    border: 1px solid #0C9074;
}

hr {
    background-color: #e7e7e7;
    border: 0;
    height: 1px;
    margin: 40px 0;
}

.alert hr {
    background: initial;
    margin: initial;
    border-top: 1px solid;
    height: initial;
    margin-bottom: 1rem;
    opacity: .2;
}

.logo {
    padding-right: 15px;
}

blockquote {
    padding: 25px;
    margin: 20px 0;
    background: #f9f9f9;
    position: relative;
    border-left: 3px solid #0C9074;
    padding-left: 40px;
}

blockquote.text-center {
    border-top: 3px solid #0C9074;
    border-left: 0;
    padding-left: 25px;
    padding-top: 50px;
}

blockquote.text-center:before {
    left: 50%;
    top: 10px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

blockquote.text-right {
    border-right: 3px solid #0C9074;
    padding-right: 40px;
    border-left: 0;
    padding-left: 25px;
}

blockquote.text-right:before {
    left: auto;
    right: 5px;
}

blockquote:before {
    content: "\f10d";
    font-family: "Font Awesome 5 Free";
    position: absolute;
    font-size: 28px;
    color: #E5E5E5;
    top: 5px;
    left: 5px;
    font-weight: 700;
    z-index: 0;
}

blockquote p {
    font-size: 14px;
    line-height: 22px;
    position: relative;
    z-index: 1;
    font-style: italic;
    margin-bottom: 0;
}

cite {
    display: block;
    font-size: 14px;
    margin-top: 10px;
}

/* Ul, Ol */
.list-round,
.list-arrow,
.list-check {
    list-style: none;
    margin: 0;
    padding: 0 0 0 15px;
}

.list-round li {
    line-height: 28px;
}

.list-round li:before {
    font-family: "Font Awesome 5 Free";
    content: "\f138";
    margin-right: 10px;
    color: #0C9074;
    font-size: 12px;
}

.list-arrow {
    padding: 0;
}

ul.list-arrow li:before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    margin-right: 10px;
    color: #0C9074;
    font-size: 16px;
    font-weight: bold;
}

ul.list-check li:before {
    font-family: "Font Awesome 5 Free";
    content: "\f00c";
    margin-right: 10px;
    color: #0C9074;
    font-size: 14px;
}

/* Bootstrap */
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:focus,
.nav-tabs > li.active > a:hover,
.nav-tabs > li > a:hover,
.nav-tabs > li > a {
    border: 0;
}

.nav > li > a:focus,
.nav > li > a:hover {
    background: none;
}

.pattern-bg {
    background: #f5f5f5 url(../images/crossword.png);
}

a[href^=tel] {
    color: inherit;
    text-decoration: none;
}

/* Button */
.btn:active, .btn:focus {
    box-shadow: none !important;
}

.btn-primary,
.btn-dark {
    border: 0;
    border-radius: 3px;
    /*padding: 12px 20px 10px;*/
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    transition: 350ms;
    font-size: 14px;
}

@media (max-width: 767px) {
    .btn-primary,
    .btn-dark {
        font-size: 13px;
    }
}

.btn-white.btn-primary {
    background: #fff;
    color: #0C9074;
}

.btn-primary {
    background: #0C9074;
}

.btn-dark {
    background: #23282d;
}

.btn-primary:hover,
.btn-dark:hover,
.btn-white.btn-primary:hover {
    background: #111;
    color: #fff;
}

.btn-primary:hover:active, .btn-primary:hover:focus,
.btn-dark:hover:active,
.btn-dark:hover:focus,
.btn-white.btn-primary:hover:active,
.btn-white.btn-primary:hover:focus {
    color: #fff;
    background-color: #111 !important;
}

.general-btn {
    margin-top: 50px;
}

/* Bootstrap */
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:focus,
.nav-tabs > li.active > a:hover,
.nav-tabs > li > a:hover,
.nav-tabs > li > a {
    border: 0;
}

.nav > li > a:focus,
.nav > li > a:hover {
    background: none;
}

.pattern-bg {
    background: #f5f5f5 url(../images/crossword.png);
}

a[href^=tel] {
    color: inherit;
    text-decoration: none;
}

/* Top Bar
================================================== */
.top-bar {
    padding: 8px 0;
    background: #ebebeb;
    position: relative;
}

/* Top info */
ul.top-info {
    list-style: none;
    margin: 0;
    padding: 0;
}

ul.top-info li {
    position: relative;
    line-height: 10px;
    display: inline-block;
    margin-left: 0;
    padding-right: 15px;
}

ul.top-info li i {
    font-size: 18px;
    position: relative;
    top: 2px;
    margin-right: 5px;
}

ul.top-info li p.info-text {
    margin: 0;
    line-height: normal;
    display: inline-block;
    flex-direction: column;
}

/* Top social */
.top-social ul {
    list-style: none;
    padding: 0;
    margin: 0;
    margin-right: -12px;
}

@media (max-width: 767px) {
    .top-social ul {
        margin-right: 0;
    }
}

.top-social ul li {
    display: inline-block;
    padding: 0;
}

.top-social ul li a {
    color: #2c2c2c;
    font-size: 14px;
    transition: 400ms;
    padding: 9px 12px;
}

.top-social ul li a:hover {
    color: #333;
}

/* Top bar border */
.top-bar-border {
    padding: 8px 20px 8px;
    border-bottom: 1px solid #ddd;
}

.top-bar-border ul.top-info {
    color: #707070;
    font-weight: 400;
}

.top-bar-border .top-social li a {
    color: #7c7c7c;
}

.top-bar-border ul.top-info li i {
    color: #0C9074;
}

/* Header area
================================================== */

.header {
    background: #fff;
    position: relative;
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);
}

.header-one,
.header-one .site-navigation {
    background: #23282d;
}

.header-two .navbar-collapse {
    margin-left: auto;
}

.header-one .navbar-collapse {
    padding-left: 0;
}

@media (max-width: 991px) {
    .navbar-collapse.collapse {
        overflow-y: auto;
    }
}

.header-one ul.navbar-nav > li {
    padding-left: 0;
    padding-right: 30px;
}

@media (max-width: 991px) {
    .header-one ul.navbar-nav > li {
        padding-right: 0;
    }
}

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

.main-content a {
    font-weight: bold;
    text-decoration: underline dotted;
}

.main-content p, .main-content div {
    line-height: 30px;
}

.header-one .logo-area {
    padding: 30px 0;
}

.navbar-fixed {
    z-index: 9999;
    position: fixed;
    width: 100%;
    top: 0;
}

.header-two {
    background: rgba(255,255,255,0.77);
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.15);
    height: 68px;
    position: sticky;
    top: 0;
    z-index: 1000;
}

.header-two .site-navigation {
    height: inherit;
    background-color: inherit;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.08);
    transform: translateZ(0);
    backface-visibility: hidden;
}

.header-two .site-navigation .container {
    height: inherit;
}

ul.navbar-nav > li > a {
    padding: 8px 0 !important;
    color: #fff;
}

@media (max-width: 991px) {
    ul.navbar-nav > li > a {
        padding: 1px 0 !important;
    }

    .navbar-nav {
        margin-bottom: 15px;
    }
}

ul.navbar-nav > li:hover > a,
ul.navbar-nav > li.active > a {
    color: #0C9074 !important;
    border-bottom-color: #0C9074;
}

/*-- Logo --*/
.logo img {
    width: auto;
    height: 35px;
}

.header-two .logo img {
    height: 32px;
}

/* header right */
.header-right {
    float: right;
}

ul.top-info-box {
    list-style: none;
    margin: 0;
    padding: 0;
    float: right;
}

@media (max-width: 767px) {
    ul.top-info-box {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        align-items: center;
    }
}

ul.top-info-box li {
    position: relative;
    float: left;
    margin-left: 0;
    border-right: 1px solid #dedede;
    border-right: 1px solid rgba(0, 0, 0, 0.1);
    padding-right: 25px;
    margin-right: 25px;
}

@media (max-width: 767px) {
    ul.top-info-box li {
        border: 0;
        text-align: center;
        margin: 0;
        flex: 0 0 50%;
        padding: 0;
        margin-top: 10px;
    }
}

@media (max-width: 400px) {
    ul.top-info-box li {
        border: 0;
        text-align: center;
        margin: 0;
        flex: 0 0 100%;
        margin-top: 15px;
    }
}

ul.top-info-box li:last-child {
    margin-right: 0;
    padding-right: 0;
    border-right: 0;
}

ul.top-info-box li.last {
    border-right: 0;
}

ul.top-info-box li .info-box span.info-icon {
    font-size: 20px;
    display: inline-block;
    text-align: center;
    margin: 2px 5px 0 0;
    position: relative;
}

ul.top-info-box li .info-box .info-box-content {
    display: inline-block;
    flex-direction: column;
}

ul.top-info-box li .info-box .info-box-title {
    font-size: 14px;
    margin-bottom: 8px;
    line-height: normal;
}

ul.top-info-box li .info-box .info-box-subtitle {
    margin: 0;
    line-height: normal;
    font-size: 15px;
    font-weight: 700;
    color: #111;
}

/*-- Search start --*/
ul.top-info-box > li.nav-search {
    cursor: pointer;
    padding-left: 30px;
    margin-left: 30px;
}

ul.top-info-box > li.nav-search:before {
    position: absolute;
    content: '';
    background: #ddd;
    left: 0;
    width: 1px;
    height: 40px;
    top: 50%;
    margin-top: -10px;
}

ul.top-info-box > li.nav-search i {
    font-size: 20px;
    top: 10px;
    position: relative;
    cursor: pointer;
    color: #999;
}

/* Main navigation */
.navbar-toggler {
    float: left;
    margin-top: 10px;
    padding: 12px;
}

.navbar {
    border-radius: 0;
    border: 0;
    margin-bottom: 0;
}

.navbar-toggler {
    margin: 10px 0;
    padding: 6px;
    border-radius: 0;
    font-size: 1rem;
    background: #0C9074;
}

.navbar-toggler:focus {
    outline: 0;
}

.navbar-dark .navbar-toggler-icon,
.navbar-light .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

ul.navbar-nav > li:hover > a,
ul.navbar-nav > li.active > a {
    color: #0C9074;
    position: relative;
}

ul.navbar-nav > li {
    padding: 0 68px 0 0;
    position: relative;
}

ul.navbar-nav > li.search {
    padding: 0 32px 0 0;
}

@media (max-width: 1200px) {
    ul.navbar-nav > li {
        padding: 0 9px;
    }

    ul.navbar-nav > li .nav-link {
        font-size: 12px;
    }
}

.header-two .navbar-nav > .header-get-a-quote {
    top: -4px;
}

@media (max-width: 991px) {
    .header-two ul.navbar-nav > li {
        padding: 0;
        width: 100%;
    }
}

ul.navbar-nav > li:last-child {
    padding-right: 0;
}

ul.navbar-nav > li:last-child:after {
    background: none;
}

ul.navbar-nav > li > a:hover,
ul.navbar-nav > li > a:focus {
    background: none;
}

ul.navbar-nav > li > a i {
    font-weight: 700;
}

@media (max-width: 991px) {
    ul.navbar-nav > li > a i {
        float: right;
        background: #222;
        padding: 6px 10px;
        margin-top: 7px;
    }

    .header-two ul.navbar-nav > li > a i {
        color: #fff;
    }

    .header-two ul.navbar-nav > li.active > a i,
    .header-two ul.navbar-nav > li > a.active i {
        color: #0C9074;
    }
}

ul.navbar-nav > li > a:after,
ul.navbar-nav > li > a:after {
    display: none;
}

ul.navbar-nav > li > a {
    color: #fff;
    text-rendering: optimizeLegibility;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: -.2px;
    font-size: 14px;
    margin: 0;
    line-height: 20px;
    padding: 8px 0;
    transition: 350ms;
    border-bottom: 2px solid #FFF;
}

.navbar-light ul.navbar-nav > li > a, .navbar-light .navbar-nav .nav-link {
    color: #2E2E2E;
    font-size: 14px;
}

/*.navbar-light ul.navbar-nav > li.active  > a {*/
/*    */
/*}*/

/* Dropdown */
.dropdown-submenu {
    position: relative;
}

.dropdown-submenu > .dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -2px;
    border-radius: 0;
}

.dropdown-submenu > a:after {
    display: block;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    float: right;
    margin-top: 0;
    margin-right: -5px;
    border: 0;
}

.dropdown-submenu:hover > a:after {
    border-left-color: #fff;
}

.dropdown-menu {
    text-align: left;
    background: #fff;
    z-index: 100;
    min-width: 200px;
    border-radius: 0;
    border: 0;
    border-top: 2px solid #0C9074;
    padding: 0 20px;
    margin: 0;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
}

@media (max-width: 991px) {
    .dropdown-menu {
        box-shadow: 0 6px 12px rgba(0, 0, 0, 0.05);
    }
}

.dropdown-menu-large {
    min-width: 400px;
}

.dropdown-menu-large > li > ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.dropdown-menu-large > li > ul > li > a {
    padding-left: 0;
}

.dropdown-menu-large > li > ul > li.active > a {
    color: #0C9074 !important;
}

.navbar-nav > li > .dropdown-menu a {
    background: none;
}

.dropdown-menu li a {
    display: block;
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 700;
    line-height: normal;
    text-decoration: none;
    padding: 15px 0;
    letter-spacing: .3px;
    border-bottom: 1px solid #e5e5e5;
    color: #333333;
}

@media (max-width: 991px) {
    .dropdown-menu li a {
        padding: 12px 0;
    }
}

.dropdown-menu li:last-child > a {
    border-bottom: 0;
}

.dropdown-menu li a:hover,
.dropdown-menu li a:focus {
    color: #0C9074;
}

@media (min-width: 991px) {
    ul.nav li.dropdown:hover ul.dropdown-menu {
        display: block;
    }
}

@media (min-width: 991px) {
    ul.nav li.dropdown ul.dropdown-menu li.dropdown-submenu .dropdown-menu {
        left: 100%;
        top: 0;
        display: none;
    }

    ul.nav li.dropdown ul.dropdown-menu li.dropdown-submenu:hover .dropdown-menu {
        display: block;
    }
}

.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus,
.dropdown-menu > .active > .dropdown-menu > .active > a {
    background: none;
    color: #0C9074;
}

/*-- Nav Search start --*/
.site-navigation .container,
.search-area {
    position: relative;
}

.search-area {
    min-height: 70px;
    padding-right: 0;
}

.nav-search {
    /*position: absolute;*/
    cursor: pointer;
    /*top: 22px;*/
    /*right: 0;*/
}

@media (max-width: 991px) {
    .nav-search {
        top: 17px;
    }
}

.search-block {
    background-color: #F1F1F1;
    border-radius: 12px;
    padding: 0 16px;
    width: 580px;
    /*box-shadow: 0 2px 5px rgba(255, 255, 255, 0.1);*/
    /*display: none;*/
    /*padding: 10px;*/
    /*position: absolute;*/
    /*right: 15px;*/
    /*top: 100%;*/
    /*width: 300px;*/
    /*z-index: 10;*/
    /*margin-top: 0;*/
}

@media (max-width: 991px) {
    .search-block {
        top: 58px;
    }
}

.search-block .form-control {
    background-color: transparent;
    border: none;
    width: 100%;
    height: 40px;
    padding: 0px;
}

.search-block .search-close {
    position: absolute;
    top: -56px;
    font-size: 32px;
    cursor: pointer;
    background: #ffffff;
    padding: 5px;
}

@media (max-width: 991px) {
    .search-block .search-close {
        top: -46px;
    }
}

.search-area .nav-search {
    top: 23px;
}

.search-area .search-block .search-close {
    top: -50px;
}

.search-area .search-block {
    right: 0;
}

/* Header refresh */
.header-two {
    height: 68px;
    box-shadow: none;
    border-bottom: 1px solid #f0f0f0;
    position: unset;
}

.header-two .site-navigation{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1001;
}

.header-two .navbar {
    align-items: center;
}

.header-two .navbar-collapse {
    align-items: center;
    position: relative;
}

.header-two .logo {
    flex: 0 0 auto;
}

.header-two .logo img {
    height: 36px;
}

.header-nav {
    flex: 1 1 auto;
    justify-content: center;
    margin: 0 24px 0 44px;
    transition: opacity .28s ease, transform .28s ease, visibility .28s ease;
}

.header-two ul.navbar-nav.header-nav > li {
    padding: 0 54px 0 0;
    position: relative;
}

.header-two ul.navbar-nav.header-nav > li:last-child {
    padding-right: 0;
}

.header-two ul.navbar-nav.header-nav > li > a {
    display: inline-flex;
    align-items: center;
    min-height: 68px;
    padding: 0 !important;
    color: #2E2E2E;
    font-weight: 400;
    font-size: 16px;
    line-height: 22px;
    text-transform: none;
    letter-spacing: 0;
    position: relative;
    border-bottom: 0;
}

.header-nav__label {
    position: relative;
    display: inline-block;
}
.dropdown-toggle::after{
    display: none;
}

.header-nav__label:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -10px;
    height: 2px;
    border-radius: 999px;
    background: #0C9074;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .25s ease;
}

.header-two ul.navbar-nav.header-nav > li.active > a,
.header-two ul.navbar-nav.header-nav > li:hover > a {
    color: #0C9074 !important;
}

.header-two ul.navbar-nav.header-nav > li.active > a .header-nav__label:after,
.header-two ul.navbar-nav.header-nav > li:hover > a .header-nav__label:after {
    transform: scaleX(1);
}

.header-two ul.navbar-nav.header-nav > li.dropdown > a > .fa-angle-down {
    margin-left: 8px;
    font-size: 12px;
    color: #9BA3A0;
    transition: transform .25s ease, color .25s ease;
}

.header-two ul.navbar-nav.header-nav > li:hover > a > .fa-angle-down,
.header-two ul.navbar-nav.header-nav > li.active > a > .fa-angle-down {
    color: #0C9074;
}

.header-actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 26px;
    margin-left: 24px;
}

.header-action--search {
    display: flex;
    align-items: center;
}

.header-search-toggle {
    width: 16px;
    height: 16px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #1f252b;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: color .25s ease, transform .25s ease;
}

.header-search-toggle:hover,
.site-navigation.is-search-open .header-search-toggle {
    color: #0C9074;
}

.header-search-toggle i {
    font-size: 16px;
}

.header-search-panel {
    position: absolute;
    left: 50%;
    top: 50%;
    width: min(520px, calc(100vw - 360px));
    max-width: 520px;
    overflow: visible;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 3;
    transform: translate(-50%, calc(-50% + 10px));
    transition: opacity .25s ease, transform .35s ease, visibility .35s ease;
}

.header-search-panel .search-form {
    width: 100%;
    margin: 0;
}

.header-search-panel__field,
.header-mobile-search__field {
    display: flex;
    align-items: center;
    gap: 12px;
    height: 38px;
    margin: 0;
    padding: 0 14px;
    border-radius: 19px;
    background: #F5F5F5;
}

.header-search-panel__icon,
.header-mobile-search__icon {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
}

.header-search-panel .form-control,
.header-mobile-search .form-control {
    height: auto;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    font-size: 14px;
    color: #2E2E2E;
}

.header-search-panel .form-control::placeholder,
.header-mobile-search .form-control::placeholder {
    color: #B1B1B1;
}

.site-navigation.is-search-open .header-search-panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, -50%);
}

.site-navigation.is-search-open .header-nav {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(-18px);
}

.header-lang {
    position: relative;
}

.header-lang__toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    color: #2E2E2E !important;
    font-size: 16px;
    font-weight: 500;
    line-height: 22px;
}

.header-lang__toggle:hover,
.header-lang.show .header-lang__toggle {
    color: #0C9074 !important;
}

.header-lang__toggle .fa-globe-americas {
    font-size: 14px;
}

.header-lang__toggle i {
    float: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin-top: 0 !important;
    color: inherit !important;
}

.header-lang__arrow {
    margin-left: 4px;
    font-size: 12px;
    color: #8A9390;
    transition: transform .25s ease, color .25s ease;
}

.header-lang.show .header-lang__arrow {
    color: #0C9074;
    transform: rotate(180deg);
}

.header-lang__menu {
    left: auto;
    right: -24px;
    min-width: 122px;
    padding: 10px 0;
    margin-top: 18px;
    border: 0;
    border-radius: 14px;
    box-shadow: 0 18px 36px rgba(17, 35, 29, .14);
}

.header-lang__menu li {
    padding: 0 10px;
}

.header-lang__menu li a {
    border: 0;
    padding: 10px 14px;
    border-radius: 10px;
    color: #4A4A4A;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    text-transform: none;
    letter-spacing: 0;
}

.header-lang__menu li.active a,
.header-lang__menu li a:hover {
    background: rgba(12, 144, 116, .08);
    color: #0C9074;
}

.nav-item-product {
    position: static !important;
}

.header-product-dropdown {
    left: 0;
    right: auto;
    width: 100vw;
    min-width: 100vw;
    margin-top: 0;
    margin-left: calc(50% - 50vw - 86px);
    padding: 0;
    border: 1px solid #EEF2F1;
    border-top: 0;
    border-radius: 0;
    box-shadow: 0 26px 44px rgba(16, 36, 29, .12);
    transform: none;
    height: 500px;
    overflow-x: hidden;
    overflow-y: auto;
    background: #FFFFFF;
}

.header-product-dropdown__inner {
    width: min(1200px, calc(100vw - 48px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: 164px minmax(0, 1fr);
    min-height: 500px;
    background: #FFFFFF;
}

.header-product-dropdown__nav {
    padding: 18px 0;
    border-right: 1px solid #EEF2F1;
    /*background: #F7FBFA;*/
}

.header-product-dropdown__tab {
    width: 100%;
    padding: 16px 22px;
    border: 0;
    background: transparent;
    text-align: left;
    color: #2E2E2E;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    position: relative;
    transition: color .25s ease;
    cursor: pointer;
}

.header-product-dropdown__tab-label {
    position: relative;
    display: inline-block;
}

.header-product-dropdown__tab-label:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -8px;
    height: 2px;
    border-radius: 999px;
    background: #0C9074;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .25s ease;
}

.header-product-dropdown__tab:hover,
.header-product-dropdown__tab.active,
.header-product-dropdown__tab.is-active {
    color: #0C9074;
    background: transparent;
}

.header-product-dropdown__tab:hover .header-product-dropdown__tab-label:after,
.header-product-dropdown__tab.active .header-product-dropdown__tab-label:after,
.header-product-dropdown__tab.is-active .header-product-dropdown__tab-label:after {
    transform: scaleX(1);
}

.header-product-dropdown__content {
    padding: 24px 24px 28px 26px;
}

.header-product-dropdown__panel {
    display: none;
}

.header-product-dropdown__panel.active,
.header-product-dropdown__panel.is-active {
    display: block;
}

.header-product-dropdown__panel-title {
    margin-bottom: 18px;
    color: #2E2E2E;
    font-size: 16px;
    font-weight: 600;
    line-height: 22px;
}

.header-product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.header-product-card {
    min-width: 0;
    border: 1px solid #EAEAEA;
    background: #FCFCFC;
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.header-product-card:hover {
    background-color: #FFFFFF;
    border-color: rgba(12, 144, 116, .5);
    box-shadow: 0 12px 24px rgba(12, 144, 116, .08);
    transform: translateY(-2px);
}

.header-product-card__image {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 138px;
    /*padding: 18px;*/
    background: #FFFFFF;
    margin-bottom: 15px;
}

.header-product-card__image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.header-product-card__body {
    padding: 0 14px 16px;
}

.header-product-card__title {
    margin: 0 0 8px;
    font-weight: 400;
    font-size: 14px;
    color: #2E2E2E;
    line-height: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap

}

.header-product-card__title a {
    color: #2E2E2E;
}

.header-product-card__desc {
    margin: 0 0 12px;
    color: #5F6664;
    font-size: 12px;
    line-height: 18px;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.header-product-card__more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 32px;
    padding: 0 12px;
    border: 1px solid #D8DEDC;
    border-radius: 999px;
    font-weight: 400;
    font-size: 14px;
    color: #2E2E2E;
    line-height: 20px;
    transition: background .25s ease, border-color .25s ease, color .25s ease;
    margin-top: 16px;
}

.header-product-card__more i {
    width: 16px;
    height: 16px;
    border: 1px solid currentColor;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
}

.header-product-card:hover .header-product-card__more {
    background: #0C9074;
    border-color: #0C9074;
    color: #FFFFFF;
}

.header-mobile-search {
    display: none;
    width: 100%;
    padding-top: 16px;
}

@media (min-width: 992px) {
    .header-two .nav-item-product:hover > .header-product-dropdown,
    .header-two .nav-item-product.show > .header-product-dropdown {
        display: block;
    }

    .header-two .nav-item-product > .nav-link:after {
        display: none;
    }
}

@media (max-width: 1199px) {
    .header-two ul.navbar-nav.header-nav > li {
        padding-right: 28px;
    }

    .header-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .header-two {
        height: auto;
    }

    .header-two .site-navigation,
    .header-two .site-navigation .container {
        height: auto;
    }

    .header-two .navbar {
        align-items: flex-start;
        padding: 12px 0 !important;
    }

    .header-nav {
        margin: 18px 0 0;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        display: block;
    }

    .header-two ul.navbar-nav.header-nav > li {
        padding-right: 0;
    }

    .header-two ul.navbar-nav.header-nav > li > a {
        min-height: 52px;
        width: 100%;
        justify-content: space-between;
        font-size: 15px;
    }

    .header-nav__label:after {
        bottom: -14px;
    }

    .header-actions {
        margin-left: auto;
        gap: 18px;
        padding-top: 8px;
        padding-right: 8px;
    }

    .header-search-panel {
        display: none !important;
    }

    .header-mobile-search {
        display: block;
    }

    .header-lang__menu {
        margin-top: 10px;
    }

    .header-product-dropdown {
        position: static;
        width: 100%;
        min-width: 0;
        margin-left: 0;
        transform: none;
        height: auto;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .header-product-dropdown__inner {
        width: 100%;
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .header-product-dropdown__nav {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        padding: 12px 0;
        border-right: 0;
        border-bottom: 1px solid #EEF2F1;
    }

    .header-product-dropdown__tab {
        width: auto;
        padding: 8px 14px;
        border-radius: 999px;
    }

    .header-product-dropdown__content {
        padding: 16px 0 8px;
    }

    .header-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .header-two .logo img {
        height: 32px;
    }

    .header-actions {
        gap: 14px;
    }

    .header-product-grid {
        grid-template-columns: 1fr;
    }
}

/* Get a quote */
.header-get-a-quote .btn-primary {
    padding: 12px 25px !important;
    font-size: 13px;
    border-radius: 3px;
    line-height: normal;
    text-transform: capitalize;
    color: #fff;
    margin-top: 5px;
}

@media (max-width: 1200px) {
    .header-get-a-quote .btn-primary {
        padding: 12px !important;
    }
}

@media (max-width: 991px) {
    .header-get-a-quote .btn-primary {
        padding: 12px 30px !important;
    }
}

.header-get-a-quote .btn-primary:hover {
    background: #272d33;
    color: #0C9074 !important;
}

ul.navbar-nav > li.header-get-a-quote:hover > a:after {
    position: relative;
    content: no-close-quote;
}

/* Table of Content
==================================================
1.    Slider
2.    Call to action
3.    Features
4.    Facts
5.    Services
6.   Project area
7.   Content area
8.   Testimonial
9.   Subscribe area
10.   News section
11.   Footer
12.   Sub Pages
13.   Contact Us
14.   News Listing
15.   News Single
16.   Sidebar
17.   Error page
*/
/* Slider
================================================== */
/*-- Main slide --*/
.banner-carousel .banner-carousel-item {
    height: 700px;
    color: #fff;
    background-position: 50% 50%;
    background-size: cover;
}

@media (max-width: 991px) {
    .banner-carousel .banner-carousel-item {
        height: 550px;
    }
}

@media (max-width: 575px) {
    .banner-carousel .banner-carousel-item {
        height: 450px;
    }
}

.slider-content {
    position: relative;
    height: 100%;
    width: 100%;
}

.slide-title-box {
    font-size: 16px;
    line-height: 39px;
    background: #0C9074;
    color: #fff;
    display: inline-block;
    padding: 0 15px;
    margin: 0 0 10px;
}

.slide-title {
    font-size: 30px;
    line-height: 36px;
    font-weight: 300;
    color: #fff;
    margin: 20px 0 10px;
}

@media (max-width: 991px) {
    .slide-title {
        font-size: 22px;
    }
}

@media (max-width: 575px) {
    .slide-title {
        font-size: 16px;
    }
}

.slide-sub-title {
    font-style: normal;
    font-size: 60px;
    line-height: 58px;
    margin: 20px 0;
    color: #fff;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -1px;
}

@media (max-width: 991px) {
    .slide-sub-title {
        font-size: 46px;
    }
}

@media (max-width: 575px) {
    .slide-sub-title {
        font-size: 30px;
        line-height: 30px;
    }
}

.slider-text {
    display: table;
    vertical-align: bottom;
    color: #fff;
    padding-left: 40%;
    width: 100%;
    padding-bottom: 0;
    padding-top: 20px;
}

.slider-text .slide-head {
    font-size: 36px;
    color: #0052a5;
    position: relative;
}

.slider-img {
    display: block;
    position: absolute;
    top: -80px;
    left: 20%;
    width: 314px;
    max-height: 100%;
}

.slider-img img {
    display: block;
    position: relative;
    max-height: 100%;
    width: auto;
}

.slider.btn {
    margin: 15px 5px 0;
    border: 2px solid transparent;
}

@media (max-width: 575px) {
    .slider.btn {
        font-size: 12px;
    }
}

.slider.border {
    background: none;
    border: 2px solid #0C9074 !important;
}

.slider.border:hover {
    background: #0C9074;
    border: 2px solid transparent;
}

/* Carousel control */
.banner-carousel .carousel-control {
    position: absolute;
    top: 50%;
    z-index: 5;
    display: inline-block;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background-color: transparent;
    opacity: 0;
    filter: alpha(opacity=0);
    text-shadow: none;
    transition: all .25s ease;
    padding: 0;
    outline: 0;
    border: 0;
}

@media (max-width: 575px) {
    .banner-carousel .carousel-control {
        display: none !important;
    }
}

.banner-carousel .slick-dots {
    opacity: 0;
    filter: alpha(opacity=0);
    bottom: 60px;
}

.slick-dots li button::before {
    font-size: 12px;
}

.slick-dots li button:hover:before, .slick-dots .slick-dots li button:focus:before,
.slick-dots li.slick-active button:before {
    opacity: 1;
    color: #0C9074;
}

.slick-slide {
    outline: 0;
}

.banner-carousel:hover .carousel-control,
.banner-carousel:hover .carousel-control,
.banner-carousel:hover .slick-dots {
    opacity: 1;
    filter: alpha(opacity=100);
}

.banner-carousel .carousel-control.left {
    left: 20px;
}

.banner-carousel .carousel-control.right {
    right: 20px;
}

.banner-carousel .carousel-control i {
    background: rgba(0, 0, 0, 0.3);
    color: #fff;
    line-height: 58px;
    width: 60px;
    height: 60px;
    font-size: 22px;
    border-radius: 0;
    transition: all 500ms ease;
}

.banner-carousel .carousel-control i:hover {
    background: #0C9074;
    color: #fff;
}

/*-- Animation */
.banner-carousel [data-animation-in] {
    opacity: 0;
}

/* slick Box slider */
.box-slider-content {
    top: 50%;
    padding: 0;
    position: absolute;
    width: 100%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media (max-width: 767px) {
    .box-slider-content {
        top: auto;
        -webkit-transform: translateY(0);
        transform: translateY(0);
        left: 20px;
        bottom: 40px;
        width: calc(100% - 40px);
    }
}

.box-slider-text {
    background: #111;
    background: rgba(0, 0, 0, 0.65);
    display: inline-block;
    padding: 20px 30px;
    max-width: 650px;
}

.box-slide-title {
    font-size: 18px;
    font-weight: 300;
    margin: 0;
    color: #fff;
}

@media (max-width: 767px) {
    .box-slide-title {
        font-size: 16px;
    }
}

.box-slide-sub-title {
    font-size: 30px;
    margin: 8px 0 10px;
    color: #fff;
}

@media (max-width: 767px) {
    .box-slide-sub-title {
        font-size: 26px;
    }
}

.box-slide-description {
    color: #fff;
}

@media (max-width: 767px) {
    .box-slide-description {
        font-size: 15px;
    }
}

.box-slider-text .btn {
    padding: 5px 15px;
}

.box-slide.owl-theme .owl-controls {
    margin: -20px;
}

/* Call to action
================================================== */
.call-to-action {
    background-color: #272d33;
    padding: 30px;
}

.call-to-action-title {
    color: #fff;
    margin: 0;
    padding: 25px 0;
    line-height: normal;
    font-size: 22px;
    text-transform: capitalize;
}

/* Action style box */
.call-to-action-box {
    margin-top: -50px;
}

.call-to-action-box .action-style-box {
    background: #0C9074;
    padding: 30px;
}

.action-title {
    color: #fff;
    margin: 0;
    line-height: 36px;
    font-size: 18px;
    text-transform: uppercase;
}

/* Intro
================================================== */
/* Intro */
.ts-intro {
    padding-right: 20px;
}

.into-title {
    font-weight: 300;
    text-transform: uppercase;
    font-size: 18px;
    line-height: normal;
    margin: 0;
}

.into-sub-title {
    font-weight: 900;
    text-transform: uppercase;
    font-size: 32px;
    line-height: normal;
    margin: 10px 0;
}

/*-- Featured Tab --*/
.featured-tab {
    padding-left: 15px;
}

.featured-tab .nav-tabs {
    border: 0;
}

.featured-tab .nav-tabs > li > a {
    background: #272d33;
    color: #fff;
    text-shadow: none;
    font-weight: 700;
    border-radius: 0;
    text-transform: uppercase;
    line-height: 50px;
    margin: 0 1px 20px;
    padding: 0 20px;
    border: 0 !important;
    transition: all 300ms ease;
}

.featured-tab .tab-content {
    border-top: 0;
    padding: 0;
    overflow: hidden;
}

.featured-tab .nav.nav-tabs {
    margin-bottom: 10px;
}

.featured-tab .nav-tabs > li.active > a {
    color: #fff;
    background: #0C9074;
    position: relative;
}

.featured-tab .nav-tabs > li.active > a:after {
    position: absolute;
    content: " ";
    width: auto;
    height: auto;
    bottom: -20px;
    left: 50%;
    border-width: 10px;
    border-style: solid;
    border-color: #0C9074 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.featured-tab .lead {
    font-size: 18px;
    line-height: 28px;
    color: #303030;
    font-weight: 400;
}

.featured-tab .tab-pane img.pull-left {
    margin: 0 30px 10px 0;
}

.featured-tab .tab-pane img.pull-right {
    margin: 0 0 0 30px;
}

.featured-tab .tab-icon i {
    font-size: 230px;
}

.tab-image-content {
    padding-left: 0;
}

.featured-tab .border-title.border-left {
    display: inline-block;
    margin-bottom: 25px;
    font-size: 20px;
}

/* Tab services */
.featured-tab.tab-services .nav-tabs > li > a {
    font-size: 14px;
    padding: 0 21px;
    text-transform: capitalize;
}

.featured-tab.tab-services .nav.nav-tabs {
    margin-bottom: 20px;
}

/* Facts
================================================== */
.facts-wrapper {
    text-align: center;
}

.facts-wrapper .ts-facts {
    color: #fff;
}

.ts-facts .ts-facts-icon i {
    font-size: 42px;
    color: #0C9074;
}

.ts-facts .ts-facts-content .ts-facts-num {
    color: #fff;
    font-size: 44px;
    margin: 30px 0 20px;
}

.ts-facts .ts-facts-content .ts-facts-title {
    font-size: 16px;
    color: #0C9074;
    margin: 0;
}

/* Services
================================================== */
/* Service box */
.ts-service-box .ts-service-icon i {
    font-size: 36px;
    float: left;
    color: #0C9074;
}

.ts-service-box .ts-service-box-content {
    margin-left: 62px;
    margin-bottom: 30px;
}

.tab-content .ts-service-box .ts-service-box-content {
    margin-left: 90px;
}

.ts-service-box .ts-service-box-content h3 {
    font-size: 16px;
    margin-bottom: 10px;
    line-height: 28px;
}

.ts-service-box .ts-service-box-info {
    margin-left: 25px;
    margin-bottom: 40px;
}

.service-box-title {
    font-size: 16px;
    margin: 0 0 10px;
}

.service-box-title a {
    color: #333;
}

.service-box-title a:hover {
    color: #0C9074;
}

/* Service box bg */
.ts-service-box-bg {
    background: #252525;
    color: #fff;
    padding: 30px;
}

.ts-service-box-bg h4,
.ts-service-box-bg h3 {
    color: #fff;
}

/* Icon squre */
.ts-service-icon.icon-round i {
    font-size: 24px;
    color: #fff;
    background: #0C9074;
    text-align: center;
    border-radius: 100%;
    width: 60px;
    height: 60px;
    line-height: 60px;
    margin-bottom: 20px;
    position: relative;
    float: none;
}

/* Icon left */
.ts-service-box.icon-left .ts-service-box-icon {
    float: left;
}

.ts-service-box.icon-left .ts-service-box-icon i {
    background: #0C9074;
    color: #fff;
}

.ts-service-box.icon-left .ts-service-box-info {
    margin-left: 90px;
}

.ts-service-box.icon-left .ts-service-box-info h3 {
    margin-top: 0;
    margin-bottom: 5px;
}

/* Service no box */
.service-no {
    font-size: 48px;
    color: #dbdbdb;
    float: left;
    margin-top: 10px;
}

.ts-service-box-content .ts-service-box-info {
    margin-left: 90px;
}

/* Service Image */
.ts-service-image-wrapper {
    margin-bottom: 30px;
}

.ts-service-icon i {
    font-size: 28px;
    margin-right: 15px;
    margin-top: 2px;
}

.ts-service-info {
    margin-left: 30px;
}

.ts-service-info h3 {
    font-size: 16px;
}

.ts-service-info .learn-more {
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 600;
}

.ts-service-info .learn-more:hover {
    color: #0C9074;
}

/* Service Classic */
.ts-service-classic .ts-service-icon i {
    font-size: 24px;
    float: left;
    color: #fff;
    background: #0C9074;
    border-radius: 100%;
    width: 60px;
    height: 60px;
    line-height: 60px;
    text-align: center;
    transition: all 0.3s;
}

.ts-service-classic .ts-service-box-info {
    margin-left: 80px;
}

.ts-service-classic:hover .ts-service-icon i {
    background: #0C9074;
}

/* Projects area
================================================== */
/* Project filter nav */
.shuffle-btn-group {
    display: inline-block;
    margin: 20px 0 50px;
    width: 100%;
    border-bottom: 3px solid #0C9074;
}

.shuffle-btn-group li {
    display: inline-block;
    color: #212121;
    font-size: 14px;

    font-weight: 700;
    text-transform: uppercase;
    transition: all 0.3s;
    cursor: pointer;
    margin: 0;
}

.shuffle-btn-group li a.active {
    color: #212121;
    background: #0C9074;
}

.shuffle-btn-group li a {
    display: block;
    padding: 6px 25px;
    padding-top: 10px;
}

/* Project shuffle Item */
.shuffle-item {
    padding: 0;
}

.shuffle-item .project-img-container {
    position: relative;
    overflow: hidden;
    height: 300px;
    width: 100%;
}

.project-img-container .item-info-title {
    background: #103230;
    color: #ffffff;
    position: absolute;
    z-index: 99;
    left: 20px;
    top: 20px;
    padding: 3px 10px 2px;
    font-size: 12px;
    line-height: 1.5;
}

.shuffle-item .project-img-container img {
    -webkit-transform: perspective(1px) scale3d(1.1, 1.1, 1);
    transform: perspective(1px) scale3d(1.1, 1.1, 1);
    transition: all 400ms;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.shuffle-item .project-img-container:hover img {
    -webkit-transform: perspective(1px) scale3d(1.15, 1.15, 1);
    transform: perspective(1px) scale3d(1.15, 1.15, 1);
}

.shuffle-item .project-img-container:after {
    opacity: 0;
    position: absolute;
    content: '';
    top: 0;
    right: auto;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100;
    background-color: rgba(0, 0, 0, 0.7);
    transition: all 400ms;
}

.shuffle-item .project-img-container:hover:after {
    opacity: 1;
}

.shuffle-item .project-img-container .gallery-popup .gallery-icon {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 101;
    padding: 5px 12px;
    background: #0C9074;
    color: #fff;
    opacity: 0;
    -webkit-transform: perspective(1px) scale3d(0, 0, 0);
    transform: perspective(1px) scale3d(0, 0, 0);
    transition: all 400ms;
}

.shuffle-item .project-img-container:hover .gallery-popup .gallery-icon {
    opacity: 1;
    -webkit-transform: perspective(1px) scale3d(1, 1, 1);
    transform: perspective(1px) scale3d(1, 1, 1);
}

.shuffle-item .project-img-container .project-item-info {
    position: absolute;
    top: 50%;
    margin-top: -10%;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 0 30px;
    z-index: 101;
}

.shuffle-item .project-img-container .project-item-info-content {
    opacity: 0;
    -webkit-transform: perspective(1px) translate3d(0, 15px, 0);
    transform: perspective(1px) translate3d(0, 15px, 0);
    transition: all 400ms;
}

.shuffle-item .project-img-container .project-item-info-content .project-item-title {
    font-size: 20px;
}

.shuffle-item .project-img-container .project-item-info-content .project-item-title a {
    color: #fff;
}

.shuffle-item .project-img-container .project-item-info-content .project-item-title a:hover {
    color: #0C9074;
}

.shuffle-item .project-img-container .project-item-info-content .project-cat {
    background: #0C9074;
    display: inline-block;
    padding: 2px 8px;
    font-weight: 700;
    color: #000;
    font-size: 10px;
    text-transform: uppercase;
}

.shuffle-item .project-img-container:hover .project-item-info-content {
    opacity: 1;
    -webkit-transform: perspective(1px) translate3d(0, 0, 0);
    transform: perspective(1px) translate3d(0, 0, 0);
}

.general-btn .btn-primary:hover {
    background: #000;
}

/* Project owl */
.owl-theme.project-slide {
    margin-top: 60px;
}

.project-slide .item {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.project-item img {
    width: 100%;
    max-width: auto;
    transition: all 0.6s ease 0s;
}

.project-item:hover img {
    -webkit-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
}

.project-item-content {
    position: absolute;
    bottom: -1px;
    padding: 15px 20px;
    width: 100%;
    background: #0C9074;
}

.owl-theme.project-slide .owl-nav > div {
    position: absolute;
    top: -70px;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.project-slide .owl-nav > div {
    display: inline-block;
    margin: 0 2px;
    font-size: 20px;
    background: #0C9074;
    color: #fff;
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
}

.owl-theme.project-slide .owl-nav > .owl-prev {
    right: 35px;
    left: auto;
}

/* Projects Single page */
.project-title {
    font-size: 30px;
}

.project-info-label {
    color: #303030;
    font-weight: 700;
    font-size: 14px;
}

.project-info-content {
    font-size: 12px;
}

.project-info li {
    margin-bottom: 5px;
}

.project-link {
    margin-top: 15px;
}

/* Content area
================================================== */
/* Accordion */
.accordion-group .card {
    border-radius: 0;
    margin-bottom: 10px;
    border-bottom: 1px solid #dfdfdf !important;
}

.accordion-group .card-body {
    padding: 15px 20px;
}

.accordion-group .card-body img {
    max-width: 100px;
    margin-bottom: 10px;
}

.accordion-group .card-header .btn {
    font-size: 16px;
    text-transform: uppercase;
    font-weight: 700;
    padding: 13px 15px;
    padding-bottom: 10px;
}

.accordion-group .card-header .btn:before {
    font-family: "Font Awesome 5 Free";
    position: absolute;
    z-index: 0;
    font-size: 14px;
    right: 16px;
    padding: 3px 8px 1px;
    text-align: center;
    border-radius: 3px;
    top: 12px;
    content: "\f107";
    font-weight: 700;
    background-color: #333;
    color: #fff;
    transition: .3s;
}

.accordion-group .card-header .btn[aria-expanded="true"] {
    color: #0C9074;
}

.accordion-group .card-header .btn[aria-expanded="true"]::before {
    content: "\f106";
    background-color: #0C9074;
}

.accordion-group.accordion-classic .card-header .btn:before {
    display: none;
}

/* Clients */
.clients-logo {
    margin: 0 0 30px;
    border: 1px solid #dadada;
    min-height: 105px;
    padding: 0 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    align-content: center;
}

.clients-logo img {
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
    -webkit-filter: gray;
    filter: gray;
}

/* Testimonial
================================================== */
.testimonial-area {
    padding: 100px 0;
    background-color: #0C9074;
    background-image: url(../images/parallax2.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    background-position: 50% 50%;
}

.testimonial-area .border-title,
.testimonial-area .border-sub-title {
    color: #fff;
}

.quote-item .quote-text {
    margin: 0 0 10px;
    display: inline-block;
    padding: 0 40px 30px 60px;
    background-color: #fff;
    position: relative;
    font-size: 16px;
    font-style: italic;
}

@media (max-width: 575px) {
    .quote-item .quote-text {
        padding: 0 40px 30px 50px;
    }
}

.quote-item .quote-text:before {
    content: "\f10d";
    font-family: "Font Awesome 5 Free";
    position: absolute;
    font-size: 30px;
    left: 0;
    top: 0;
    font-weight: 700;
    color: #ffc009;
}

.testimonial-slide .slick-dots {
    bottom: -35px;
}

img.testimonial-thumb {
    max-width: 80px;
    float: left;
    margin-right: 20px;
    border-radius: 5px;
}

.quote-item-info {
    padding-top: 15px;
    display: inline-block;
}

.quote-author {
    font-size: 16px;
    line-height: 18px;
    margin: 0 0 2px;
    font-weight: 700;
    display: block;
    color: #0C9074;
}

.quote-item-footer {
    margin-top: 0;
    margin-left: 60px;
}

@media (max-width: 575px) {
    .quote-item-footer {
        margin-left: 0;
    }
}

/* Testimonial Border */
.quote-item.quote-border .quote-text-border {
    border: 1px solid #0C9074;
    padding: 20px;
    position: relative;
    line-height: 28px;
    color: #666;
    font-size: 18px;
    text-align: center;
}

.quote-item.quote-border .quote-text-border:before {
    border: 12px solid;
    border-color: #e1e1e1 transparent transparent;
    border-top-color: #0C9074;
    bottom: -24px;
    position: absolute;
    content: "";
    display: block;
    height: 0;
    width: 0;
    left: 0;
    margin: 0 auto;
    right: 0;
}

.quote-item.quote-border .quote-text-border:after {
    border: 12px solid;
    border-color: #fff transparent transparent;
    bottom: -22px;
    position: absolute;
    content: "";
    display: block;
    height: 0;
    width: 0;
    left: 0;
    margin: 0 auto;
    right: 0;
}

.quote-item.quote-border .quote-item-footer {
    margin-left: 0;
    text-align: center;
    margin-top: 35px;
}

.quote-item.quote-border .quote-item-footer img.testimonial-thumb {
    float: none;
    margin: 0;
}

.quote-item.quote-border .quote-item-footer .quote-item-info {
    display: block;
}

/* Subscribe area
================================================== */
.subscribe {
    background: #0C9074;
    padding: 0;
}

/* Call to action */
.subscribe-call-to-acton {
    min-height: 115px;
    padding: 30px 0 0 30px;
}

@media (max-width: 575px) {
    .subscribe-call-to-acton {
        text-align: center;
        padding: 30px 0;
        min-height: auto;
    }
}

.subscribe-call-to-acton h3 {
    font-size: 18px;
    margin-top: 0;
    margin-bottom: 5px;
}

.subscribe-call-to-acton h4 {
    color: #fff;
    font-size: 24px;
    margin: 0;
}

/* Newsletter */
.ts-newsletter {
    background: #252525;
    position: relative;
    min-height: 115px;
    padding: 15px 0 0 50px;
}

@media (max-width: 767px) {
    .ts-newsletter {
        padding-top: 20px;
        padding-bottom: 10px;
    }
}

@media (max-width: 575px) {
    .ts-newsletter {
        padding: 30px 5px 15px 5px;
        min-height: auto;
        text-align: center;
    }
}

.ts-newsletter:after {
    content: "";
    position: absolute;
    background: #252525;
    display: block;
    width: 100%;
    height: 100%;
    right: -100%;
    top: 0;
}

.newsletter-form input {
    background: none;
    font-size: 12px;
    height: 45px;
    border: 1px solid rgba(255, 255, 255, 0.3);
}

/* News section
================================================== */
.latest-post {
    position: relative;
}

.latest-post .image-angle:before {
    border-bottom: 20px solid #f9f9f9;
}

.latest-post .post-title {
    font-size: 16px;
    line-height: 24px;
    margin: 0;
    font-weight: 600;
}

.latest-post .post-title a {
    color: #303030;
}

.latest-post .post-title a:hover {
    color: #0C9074;
}

.latest-post-meta {
    font-size: 13px;
    text-transform: uppercase;
}

.latest-post .post-body {
    padding: 20px 0 5px;
}

/* Footer
================================================== */
/*- Footer common */
.footer {
    background: #2E2E2E;
    color: rgba(255, 255, 255, .72);
}

.footer-main {
    padding: 56px 0 40px;
}

.footer .widget-title {
    margin: 0 0 11px;
    font-weight: 500;
    font-size: 18px;
    color: #FFFFFF;
    line-height: 25px;
}

.footer-layout {
    display: grid;
    grid-template-columns: 200px repeat(4, minmax(110px, 1fr)) 180px;
    gap: 32px;
    align-items: start;
}

.footer-brand {
    padding-top: 4px;
}

.footer-brand__logo {
    display: inline-flex;
    align-items: center;
}

.footer-logo {
    display: block;
    max-width: 133px;
    max-height: 44px;
    width: auto;
    height: auto;
}

.footer-column {
    min-width: 0;
}

.footer-link-list {
    padding: 0;
    margin: 0;
    list-style: none;
}

.footer-link-list li + li {
    margin-top: 12px;
}

.footer-link-list li a {
    font-weight: 400;
    font-size: 14px;
    color: rgba(255,255,255,0.7);
    line-height: 20px;
    transition: color .25s ease;
}

.footer-link-list li a:hover {
    color: #FFFFFF;
}

.footer-column--follow {
    justify-self: end;
    width: 100%;
    max-width: 160px;
}

.footer-social {
    margin-top: 2px;
}

.footer-social ul {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.footer-social ul li {
    margin: 0;
}

.footer-social ul li a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    /*background: #FFFFFF;*/
    /*color: #2E2E2E;*/
    font-size: 18px;
    transition: transform .25s ease, background .25s ease, color .25s ease;
}

.footer-social ul li a img {
    display: block;
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.footer-social ul li a span {
    display: block;
    max-width: 100%;
    font-size: 12px;
    line-height: 1;
    white-space: nowrap;
}

.footer-social ul li a:hover {
    background: #0C9074;
    color: #FFFFFF;
    transform: translateY(-2px);
}

.footer-qrcode {
    margin-top: 18px;
    text-align: center;
}

.footer-qrcode__image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 116px;
    height: 116px;
    margin: 0 auto 14px;
    padding: 8px;
    background: #FFFFFF;
}

.footer-qrcode__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.footer-qrcode__text {
    font-weight: 400;
    font-size: 14px;
    color: #FFFFFF;
    line-height: 20px;
}

/*-- Copyright --*/
.copyright {
    background: #333333;
    padding: 22px 0;
    position: relative;
    z-index: 1;
    font-weight: 400;
    font-size: 14px;
    color: #FFFFFF;
    line-height: 20px;
}

.footer-bottom {
    display: grid;
    grid-template-columns: 1.4fr auto auto;
    gap: 20px 32px;
    align-items: center;
}

.copyright-info,
.footer-icp,
.footer-menu {
    min-width: 0;
}

.copyright-info span,
.footer-icp a,
.footer-menu ul li a {
    color: rgba(255, 255, 255, .72);
    line-height: 1.8;
}

.footer-icp a:hover,
.footer-menu ul li a:hover,
.copyright-info a:hover {
    color: #fff;
}

.footer-menu ul {
    display: flex;
    align-items: center;
    gap: 12px;
}

.footer-menu ul li {
    position: relative;
    line-height: 1;
}

.footer-menu ul li + li {
    padding-left: 12px;
}

.footer-menu ul li + li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 1px;
    height: 12px;
    background: rgba(255, 255, 255, .3);
    transform: translateY(-50%);
}

#back-to-top {
    right: 40px;
    top: auto;
    z-index: 10;
    display: none;
}

@media (max-width: 1199px) {
    .footer-layout {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 32px 24px;
    }

    .footer-brand {
        grid-column: 1 / -1;
    }

    .footer-column--follow {
        justify-self: start;
    }

    .footer-bottom {
        grid-template-columns: 1fr;
        gap: 10px;
        text-align: center;
    }

    .footer-menu ul {
        justify-content: center;
        flex-wrap: wrap;
    }
}

@media (max-width: 767px) {
    .footer-main {
        padding: 40px 0 28px;
    }

    .footer-layout {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px 18px;
    }

    .footer .widget-title {
        margin-bottom: 16px;
    }

    .footer-link-list li + li {
        margin-top: 10px;
    }

    .footer-link-list li a,
    .footer-qrcode__text {
        font-size: 13px;
    }

    .footer-column--follow {
        max-width: none;
    }

    .footer-qrcode {
        text-align: left;
    }

    .footer-qrcode__image {
        margin-left: 0;
    }

    .copyright {
        padding: 16px 0;
    }

    .footer-menu ul {
        gap: 8px;
    }
}

#back-to-top .btn:focus {
    outline: 0;
    box-shadow: none;
}

@media (max-width: 767px) {
    #back-to-top {
        right: 15px;
    }
}

#back-to-top.position-fixed {
    bottom: 20px;
}

#back-to-top .btn.btn-primary {
    width: 36px;
    height: 36px;
    line-height: 36px;
    background: rgba(0, 0, 0, 0.9);
    border-radius: 3px;
    color: #0C9074;
    font-weight: 700;
    font-size: 16px;
    padding: 0;
}

@media (max-width: 767px) {
    #back-to-top .btn.btn-primary {
        width: 32px;
        height: 32px;
        line-height: 32px;
        font-size: 14px;
    }
}

#back-to-top .btn.btn-primary:hover {
    color: #fff;
}

/* Sub Pages
================================================== */
/*-- Title border --*/
.main-container .border-left {
    margin-bottom: 30px;
}

/*-- Banner --*/
.banner-area {
    position: relative;
    min-height: 382px;
    color: #fff;
    background-position: 50% 50%;
    background-size: cover;
}

.banner-title {
    color: #fff;
    text-transform: uppercase;
    font-weight: 600;
}

@media (max-width: 767px) {
    .banner-title {
        /*font-size: 48px;*/
    }
}

@media (max-width: 575px) {
    .banner-title {
        font-size: 32px;
    }
}

.banner-text {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    max-width: 1170px;
    margin: 0 auto;
    width: 100%;
    z-index: 1;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.banner-heading {
    text-align: left;
    padding-left: 60px;
}

.breadcrumb {
    padding: 0;
    background: none;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 12px;
}

.breadcrumb li a,
.breadcrumb .breadcrumb-item,
.breadcrumb li a:focus,
.breadcrumb li a:hover {
    color: #fff !important;
}

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

/*-- About us page --*/
/* Slider pages */
.page-slider .carousel-control {
    position: absolute;
    top: 50%;
    z-index: 5;
    display: inline-block;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background-color: transparent;
    text-shadow: none;
    transition: all .25s ease;
    padding: 0;
    outline: 0;
    border: 0;
}

.page-slider .carousel-control.left {
    left: 0;
}

.page-slider .carousel-control.right {
    right: 0;
}

.page-slider .carousel-control i {
    background: rgba(0, 0, 0, 0.3);
    color: #fff;
    line-height: 70px;
    width: 40px;
    height: 70px;
    font-size: 22px;
    border-radius: 0;
    transition: all 500ms ease;
}

.page-slider .carousel-control i:hover {
    background: #0C9074;
    color: #fff;
}

.page-slider.small-bg .item {
    min-height: 330px;
    background-size: cover;
}

.page-slider.small-bg .box-slider-content {
    left: 20%;
}

.page-slider.small-bg .box-slider-text {
    background: rgba(0, 0, 0, 0.55);
    padding: 5px 20px;
}

.page-slider.small-bg .box-slide-title {
    font-size: 28px;
    color: #fff;
    font-weight: 900;
}

/*-- Get a quote page --*/
.page-quote-form {
    background: #f2f2f2;
    padding: 30px 50px 50px;
}

.get-a-quote-img {
    margin-bottom: -190px;
}

/*-- Partners --*/
.partner-section {
    padding: 60px 0 51px;
    background-image: url(/static/common/image/partner-bg.png);
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    overflow: hidden;
}

.partner-section__inner {
    position: relative;
}

.partner-section__heading {
    margin-bottom: 87px;
}

.partner-section__title {
    margin: 0;
    font-weight: 600;
    font-size: 40px;
    color: #2E2E2E;
    line-height: 56px;
    text-transform: none;
    letter-spacing: 0;
}

.partner-section__subtitle {
    margin: 10px 0 0;
    font-size: 18px;
    line-height: 1.4;
    color: #8d9198;
}

.partner-marquee {
    position: relative;
    overflow: hidden;
    padding: 14px 0 8px;
}

.partner-marquee:before,
.partner-marquee:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 96px;
    z-index: 2;
    pointer-events: none;
}

.partner-marquee:before {
    left: 0;
    background: linear-gradient(90deg, #fff 18%, rgba(255, 255, 255, 0));
}

.partner-marquee:after {
    right: 0;
    background: linear-gradient(270deg, #fff 18%, rgba(255, 255, 255, 0));
}

.partner-marquee__track {
    display: flex;
    width: max-content;
    animation: partnerMarquee 26s linear infinite;
    will-change: transform;
}

.partner-marquee:hover .partner-marquee__track {
    animation-play-state: paused;
}

.partner-marquee__group {
    display: flex;
    flex-shrink: 0;
}

.partner-card {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 196px;
    height: 94px;
    margin-right: 24px;
    padding: 18px 24px;
    border-radius: 24px;
    border: 1px solid #e6edf4;
    background: #fff;
    /*box-shadow: 0 16px 36px rgba(18, 40, 76, 0.08);*/
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
    overflow: hidden;
}

.partner-card:hover {
    border-color: #d6e2f0;
    box-shadow: 0 18px 30px 0 rgba(12, 144, 116, 0.07);
}

.partner-card img {
    display: block;
    max-width: 100%;
    max-height: 64px;
    width: auto;
    height: auto;
    object-fit: contain;
    transition: transform .35s ease;
}

.partner-card:hover img {
    transform: scale(1.2);
}

@keyframes partnerMarquee {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(-50%, 0, 0);
    }
}

@media (max-width: 991px) {
    .partner-section {
        padding: 72px 0 84px;
        background-size: 760px auto;
    }

    .partner-section__heading {
        margin-bottom: 38px;
    }

    .partner-section__title {
        font-size: 36px;
    }

    .partner-card {
        width: 180px;
        height: 84px;
        margin-right: 18px;
        border-radius: 20px;
    }

    .partner-card img {
        max-height: 48px;
    }
}

@media (max-width: 767px) {
    .partner-section {
        padding: 60px 0 72px;
        background-position: top center;
        background-size: 620px auto;
    }

    .partner-section__heading {
        margin-bottom: 30px;
    }

    .partner-section__title {
        font-size: 30px;
    }

    .partner-section__subtitle {
        font-size: 16px;
    }

    .partner-marquee:before,
    .partner-marquee:after {
        width: 36px;
    }

    .partner-card {
        width: 150px;
        height: 78px;
        margin-right: 14px;
        padding: 14px 18px;
        border-radius: 18px;
    }

    .partner-card img {
        max-height: 40px;
    }
}

/*-- Guestbook --*/
.guestbook-section {
    position: relative;
    overflow: hidden;
    padding: 88px 0 96px;
    background-image: url(/static/common/image/message-bg.png);
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}

/*-- Contact Page --*/
.contact-page{
    background: #f8fbfb;
}

.contact-hero{
    position: relative;
    min-height: 454px;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    overflow: hidden;
}


.contact-hero__inner{
    position: relative;
    z-index: 1;
    min-height: 454px;
    padding: 100px 0 72px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.contact-hero__title{
    margin: 0;
    text-align: center;
    font-weight: 400;
    font-size: 48px;
    color: #FFFFFF;
    line-height: 67px;
}

.contact-hero__panel{
    display: grid;
    grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1.35fr) 1px minmax(0, 1fr);
    align-items: start;
    padding: 34px 48px 30px;
    backdrop-filter: blur(2px);
}

.contact-hero__panel_box{
    background: rgba(16, 25, 34, .28);
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}

.contact-hero__divider{
    align-self: stretch;
    background: rgba(255, 255, 255, .26);
}

.contact-hero__item{
    min-height: 106px;
    padding: 0 28px;
}

.contact-hero__label{
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    font-weight: 400;
    font-size: 20px;
    color: #FFFFFF;
    line-height: 1.3;
}

.contact-hero__label i{
    font-size: 20px;
}

.contact-hero__value{
    font-weight: 400;
    font-size: 16px;
    color: #FFFFFF;
    line-height: 1.8;
}

.contact-hero__value div + div{
    margin-top: 2px;
}

.contact-hero__value--single{
    font-size: 18px;
}

.contact-page .guestbook-section{
    background: linear-gradient(135deg, #f8f8f6 0%, #eef0ec 100%);
}

@media (max-width: 1199px) {
    .contact-hero__title{
        font-size: 54px;
    }

    .contact-hero__panel{
        padding: 30px 28px 26px;
    }

    .contact-hero__item{
        padding: 0 20px;
    }

    .contact-hero__label{
        font-size: 22px;
    }
}

@media (max-width: 991px) {
    .contact-hero{
        min-height: 0;
    }

    .contact-hero__inner{
        min-height: 0;
        padding: 120px 0 54px;
    }

    .contact-hero__title{
        margin-bottom: 38px;
        font-size: 42px;
    }

    .contact-hero__panel{
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 26px 24px;
    }

    .contact-hero__divider{
        height: 1px;
        width: 100%;
    }

    .contact-hero__item{
        min-height: 0;
        padding: 0;
    }
}

@media (max-width: 767px) {
    .contact-hero__inner{
        padding: 98px 0 42px;
    }

    .contact-hero__title{
        font-size: 32px;
        line-height: 1.35;
    }

    .contact-hero__panel{
        padding: 22px 18px;
        gap: 18px;
    }

    .contact-hero__label{
        margin-bottom: 12px;
        font-size: 18px;
    }

    .contact-hero__label i{
        font-size: 18px;
    }

    .contact-hero__value,
    .contact-hero__value--single{
        font-size: 15px;
        line-height: 1.8;
    }
}

.guestbook-panel {
    position: relative;
    z-index: 1;
    max-width: 982px;
    margin: 0 auto;
}

.guestbook-header {
    margin-bottom: 42px;
}

.guestbook-title {
    margin: 0;
    font-size: 44px;
    line-height: 1.2;
    font-weight: 700;
    color: #24272c;
}

.guestbook-subtitle {
    margin-top: 12px;
    font-size: 20px;
    line-height: 1.4;
    color: #8e939b;
}

.guestbook-summary {
    max-width: 760px;
    margin: 22px auto 0;
    font-size: 16px;
    line-height: 1.8;
    color: #61656b;
}

.guestbook-grid {
    display: grid;
    gap: 20px;
    margin-bottom: 20px;
}

.guestbook-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.guestbook-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.guestbook-field {
    margin-bottom: 0;
}

.guestbook-field .form-control,
.guestbook-captcha-input .form-control {
    width: 100%;
    height: 54px;
    padding: 0 18px;
    border: 1px solid #e7ebf0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 6px 20px rgba(33, 41, 52, 0.03);
    font-size: 15px;
    color: #2a2d33;
}

.guestbook-field .form-control::placeholder,
.guestbook-captcha-input .form-control::placeholder {
    color: #b2b6bc;
}

.guestbook-field .form-control:focus,
.guestbook-captcha-input .form-control:focus {
    border-color: #c7d8e8;
    box-shadow: 0 10px 24px rgba(12, 144, 116, 0.08);
}

.guestbook-field--message {
    margin-bottom: 20px;
}

.guestbook-message.form-control {
    height: 128px;
    padding: 16px 18px;
    resize: vertical;
}

.guestbook-captcha-row {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 36px;
}

.guestbook-captcha-input {
    flex: 0 0 266px;
}

.guestbook-captcha-btn {
    display: flex;
    align-items: center;
    min-height: 54px;
}

.guestbook-captcha-btn .btn,
.guestbook-captcha-btn img {
    height: 54px;
    border-radius: 12px;
}

.guestbook-captcha-btn .btn {
    padding: 0 24px;
    line-height: 54px;
    white-space: nowrap;
}

.guestbook-captcha-btn img {
    display: block;
    width: 160px;
    object-fit: cover;
    border: 1px solid #e7ebf0;
    background: #fff;
}

.guestbook-actions {
    display: flex;
    justify-content: flex-start;
}

.guestbook-submit.btn-primary {
    min-width: 134px;
    height: 42px;
    padding: 0 32px;
    border: 0;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 500;
    line-height: 42px;
    background: #0c9074;
    box-shadow: 0 12px 26px rgba(12, 144, 116, 0.2);
}

.guestbook-submit.btn-primary:hover,
.guestbook-submit.btn-primary:focus {
    background: #0a7d65;
}

@media (max-width: 991px) {
    .guestbook-section {
        padding: 72px 0 80px;
    }

    .guestbook-title {
        font-size: 36px;
    }

    .guestbook-grid--2,
    .guestbook-grid--3 {
        grid-template-columns: 1fr;
    }

    .guestbook-captcha-row {
        flex-wrap: wrap;
    }
}

@media (max-width: 767px) {
    .guestbook-section {
        padding: 58px 0 64px;
    }

    .guestbook-title {
        font-size: 30px;
    }

    .guestbook-subtitle {
        font-size: 18px;
    }

    .guestbook-summary {
        margin-top: 18px;
        font-size: 14px;
        line-height: 1.7;
    }

    .guestbook-grid {
        gap: 14px;
        margin-bottom: 14px;
    }

    .guestbook-field--message,
    .guestbook-captcha-row {
        margin-bottom: 20px;
    }

    .guestbook-field .form-control,
    .guestbook-captcha-input .form-control,
    .guestbook-captcha-btn .btn,
    .guestbook-captcha-btn img {
        height: 50px;
    }

    .guestbook-message.form-control {
        height: 120px;
    }

    .guestbook-captcha-input {
        flex: 1 1 100%;
    }

    .guestbook-captcha-btn {
        width: 100%;
    }
}

/*-- Product Category Page --*/
.product-category-page{
    background:
        linear-gradient(180deg, #ffffff 0%, #f7fbfa 42%, #ffffff 100%),
        linear-gradient(135deg, rgba(12, 144, 116, .05) 0, rgba(12, 144, 116, 0) 38%);
}

.product-category-hero{
    position: relative;
    min-height: 382px;
    background-position: 50% 60%;
    background-repeat: no-repeat;
    background-size: cover;
    overflow: hidden;
}


.product-category-hero__inner{
    position: relative;
    z-index: 1;
    min-height: 382px;
    display: flex;
    align-items: center;
}

.product-category-hero__content{
    max-width: 520px;
}

.product-category-hero__image{
    max-width: 680px;
    max-height: 382px;
    margin-left: auto;
}

.product-category-hero__title{
    margin: 0 0 16px;
    font-weight: 700;
    font-size: 36px;
    color: rgba(0,0,0,0.898);
    line-height: 44px;
    letter-spacing: 1px;
}

.product-category-hero__summary{
    font-weight: 400;
    font-size: 16px;
    color: #727272;
    line-height: 22px;
}

.product-intro-band{
    position: relative;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}

.product-intro-band__overlay{
    position: absolute;
    inset: 0;
    background: rgba(9, 29, 38, .72);
}

.product-intro-band__inner{
    position: relative;
    z-index: 1;
    padding: 137px 0 64px;
    text-align: center;
    color: #ffffff;
}

.product-intro-band__title{
    font-weight: 600;
    font-size: 40px;
    color: #FFFFFF;
    line-height: 56px;
}

.product-intro-band__title.en_h2_title{
    font-size: 32px;
}

.product-intro-band__subtitle{
    font-weight: 500;
    font-size: 20px;
    color: #FFFFFF;
    line-height: 28px;
    margin-bottom: 46px;
}

.product-intro-band__text,
.product-intro-band__text p{
    margin: 0;
    font-weight: 400;
    font-size: 16px;
    color: #FFFFFF;
    line-height: 29px;
    text-align: left;
}

.product-cert-section{
    position: relative;
    padding: 74px 0 42px;
    overflow: hidden;
}

.product-cert-section__header{
    margin-bottom: 34px;
}

.product-cert-section__header .context-subtitle{
    max-width: 900px;
    margin: 16px auto 0;
    font-size: 16px;
    line-height: 1.85;
}

.product-cert-intro{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin-top: 48px;
    text-align: left;
}

.product-cert-intro__item{
    position: relative;
    padding: 0 35px;
}

.product-cert-intro__item + .product-cert-intro__item{
}

.product-cert-intro__item:first-child{
    padding-left: 0;
}

.product-cert-intro__item:last-child{
    padding-right: 0;
}

.product-cert-intro__item + .product-cert-intro__item:before{
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 1px;
    height: 42px;
    background: #CACACA;
    transform: translateY(-50%);
}

.product-cert-intro__title{
    margin-bottom: 12px;
    font-weight: 600;
    font-size: 16px;
    color: #202020;
    line-height: 1.5;
}

.product-cert-intro__desc{
    font-weight: 400;
    font-size: 14px;
    color: #4F4F4F;
    line-height: 1.9;
}

.product-cert-slider{
    position: relative;
    padding: 0 58px;
}

.product-cert-card{
    border: 12px solid #E4E4E4;
    margin-bottom: 16px;
    width: 199px;
    height: 271px;
}

.product-cert-card-info{
    font-weight: 500;
    font-size: 16px;
    color: rgba(0,0,0,0.898);
    line-height: 29px;
}

.product-cert-card__image{
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-cert-card__image img{
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.product-cert-slider__arrow{
    position: absolute;
    top: 50%;
    z-index: 3;
    width: 28px;
    height: 28px;
    margin-top: -14px;
    padding: 0;
    border: 0;
    background: transparent;
}

.product-cert-slider__arrow--prev{
    left: 0;
}

.product-cert-slider__arrow--next{
    right: 0;
}

.product-cert-slider__arrow img{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.product-cert-slider__arrow-active{
    display: none;
}

.product-cert-slider__arrow:hover .product-cert-slider__arrow-normal{
    display: none;
}

.product-cert-slider__arrow:hover .product-cert-slider__arrow-active{
    display: block;
}

.product-recommend-section{
    padding: 20px 0 80px;
}

.product-recommend-grid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    padding-top: 36px;
}

.product-recommend-card{
    position: relative;
    min-height: 430px;
    background: #ffffff;
    border: 1px solid #e8efec;
    box-shadow: 0 18px 46px rgba(19, 38, 33, .06);
    overflow: hidden;
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.product-recommend-card:hover,
.product-recommend-card:focus-within{
    /*transform: translateY(-12px);*/
    box-shadow: 0 28px 60px rgba(12, 144, 116, .15);
    border-color: rgba(12, 144, 116, .2);
}

.product-recommend-card__top{
    padding: 14px 24px;
    background: #0c9074;
    color: #ffffff;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.5;
}

.product-recommend-card__image{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 251px;
    padding: 0px;
    box-sizing: border-box;
    background: #F3F3F3;
}

.product-recommend-card__image img{
    max-width: 100%;
    height: 100%;
    object-fit: fill;
}

.product-recommend-card__body{
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-height: 286px;
    padding: 24px 24px 30px;
    background: #ffffff;
    transform: translateY(calc(100% - 120px));
    transition: transform .4s ease;
}

.product-recommend-card:hover .product-recommend-card__body,
.product-recommend-card:focus-within .product-recommend-card__body{
    transform: translateY(-12px);
}

.product-recommend-card__code{
    font-weight: 500;
    font-size: 18px;
    color: #0C9074;
    line-height: 26px;
}
.product-recommend-card__title{
    font-weight: 500;
    font-size: 20px;
    color: rgba(0,0,0,0.898);
    line-height: 26px;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.product-recommend-card__title a{
    color: #202020;
}

.product-recommend-card__desc{
    color: #5c6468;
    font-size: 14px;
    line-height: 1.9;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .28s ease, transform .28s ease;
}

.product-recommend-card__tags,
.product-switcher-panel__tags{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.product-recommend-card__tags span,
.product-switcher-panel__tags span{
    padding: 0 20px;
    background: #FFFFFF;
    border-radius: 8px 8px 8px 8px;
    color: #0c9074;
    font-weight: 400;
    font-size: 14px;
    height: 36px;
    line-height: 36px;
}

.product-recommend-card__tags span{
    padding: 8px 0;
    width: 100%;
}
.product-recommend-card__tags span .fa-check,
.product-switcher-panel__tags span .fa-check{
    margin-right: 8px;
}

.product-recommend-card__tags,
.product-recommend-card__more{
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .28s ease, transform .28s ease;
}



.product-recommend-card:hover .product-recommend-card__desc,
.product-recommend-card:hover .product-recommend-card__tags,
.product-recommend-card:hover .product-recommend-card__more,
.product-recommend-card:focus-within .product-recommend-card__desc,
.product-recommend-card:focus-within .product-recommend-card__tags,
.product-recommend-card:focus-within .product-recommend-card__more{
    opacity: 1;
    transform: translateY(0);
}

.product-recommend-card__more,
.product-switcher-panel__more{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 132px;
    height: 42px;
    padding: 0 20px;
    border-radius: 999px;
    background: #0c9074;
    color: #ffffff;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    margin-top: 40px ;
}



.product-switcher-panel__more:hover{
    color: #0c9074;
}

.product-recommend-card__more{
    margin-top: 0px;
    width: fit-content;
    color: #FFFFFF;
}
.product-recommend-card__more:hover{
    color: #FFFFFF;
}
.product-switcher-panel__more:hover{
    color: #ffffff;
}

.product-recommend-card__more img,
.product-switcher-panel__more img{
    width: 14px;
    height: 14px;
    transition: transform .3s ease-in-out;
}

.product-recommend-card:hover .product-recommend-card__more img,
.product-recommend-card:focus-within .product-recommend-card__more img,
.product-switcher-panel__more:hover img{
    transform: translateX(4px);
}

.product-showcase-section,
.product-solution-section{
    position: relative;
    padding: 0;
    overflow: hidden;
    background-image: url(/static/common/image/joblist-bg.png);
    background-position: center;
    background-size: 100% auto;
    background-repeat: no-repeat;
}

.product-showcase-section:before,
.product-solution-section:before{
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, rgba(12, 144, 116, .05) 0%, rgba(12, 144, 116, 0) 36%),
        linear-gradient(45deg, rgba(18, 78, 64, .04) 0%, rgba(255, 255, 255, 0) 50%);
    pointer-events: none;
}

.product-showcase-section__header{
    position: relative;
    z-index: 1;
    margin-bottom: 28px;
}

.product-switcher-top{
    position: relative;
    z-index: 1;
    background: rgba(255, 255, 255, 0.26);
    padding: 80px 0 16px;
}

.product-switcher-tabs{
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 20px 28px;
    margin-bottom: 16px;
}

.product-switcher-tab{
    position: relative;
    padding: 0 0 8px;
    border: 0;
    background: transparent;
    color: #2E2E2E;
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    transition: color .25s ease;
}

.product-switcher-tab:after{
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: transparent;
    transition: background .25s ease;
}

.product-switcher-tab.is-active,
.product-switcher-tab:hover{
    color: #0c9074;
}

.product-switcher-tab.is-active:after,
.product-switcher-tab:hover:after{
    background: #0c9074;
}

.product-switcher-panels{
    position: relative;
    z-index: 1;
}
.product-switcher-panels-box{
    position: relative;
    z-index: 1;
}

.product-switcher-panel{
    display: none;
    align-items: center;
    gap: 58px;
    padding: 58px 0 69px;
}

.product-switcher-panel--solution{
    padding: 0;
}

.product-switcher-panel.is-active{
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
}

.product-switcher-panel__content{
    min-width: 0;
}

.product-switcher-panel__eyebrow{
    margin-bottom: 8px;
    font-weight: 500;
    font-size: 18px;
    color: #0C9074;
    line-height: 25px;
}

.product-switcher-panel__title{
    margin: 0 0 24px;
    font-weight: 500;
    font-size: 22px;
    color: rgba(0,0,0,0.898);
    line-height: 31px;
}

.product-switcher-panel__desc{
    font-weight: 400;
    font-size: 14px;
    color: #202020;
    line-height: 28px;
    margin-bottom: 16px;
}

.product-switcher-panel__image{
    --panel-image-max-width: 428px;
    --panel-image-max-height: 285px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: var(--panel-image-max-width);
    height: 285px;
    max-height: var(--panel-image-max-height);
    overflow: hidden;
}

.product-switcher-panel__image img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.product-solution-tabs-wrap{
    position: relative;
    z-index: 1;
    display: block;
    margin-bottom: 16px;
}

.product-switcher-tabs--solution{
    margin-bottom: 0;
}

.product-solution-carousel{
    position: relative;
    padding: 0;
}

.product-solution-swiper{
    overflow: hidden;
}

.product-solution-slide{
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    align-items: center;
    gap: 58px;
    min-height: 412px;
    padding: 28px 0 48px;
}

.product-solution-carousel__arrow{
    position: relative;
    position: absolute;
    top: 50%;
    z-index: 3;
    width: 40px;
    height: 40px;
    margin-top: -14px;
    padding: 0;
    border: 0;
    background: transparent;
}

.product-solution-carousel__arrow--prev{
    left: -65px;
}

.product-solution-carousel__arrow--next{
    right: -65px;
}

.product-solution-carousel__arrow img{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.product-solution-carousel__arrow-active{
    display: none;
}

.product-solution-carousel__arrow:hover .product-solution-carousel__arrow-normal{
    display: none;
}

.product-solution-carousel__arrow:hover .product-solution-carousel__arrow-active{
    display: block;
}

.product-switcher-panel--solution.is-active{
    display: block;
}

.product-switcher-panel__image--solution{
    --panel-image-max-width: 372px;
    --panel-image-max-height: 336px;
    height: 336px;
}

.product-empty{
    padding: 36px 24px;
    border: 1px dashed #d7e7e2;
    text-align: center;
    color: #7b8186;
    font-size: 14px;
    line-height: 1.7;
}

@media (max-width: 1199px) {
    .product-category-hero__title{
        font-size: 42px;
    }

    .product-recommend-grid{
        grid-template-columns: 1fr;
    }

    .product-switcher-panel.is-active,
    .product-solution-slide{
        grid-template-columns: 1fr 340px;
        gap: 34px;
    }
}

@media (max-width: 991px) {
    .product-category-hero,
    .product-category-hero__inner{
        min-height: 340px;
    }

    .product-intro-band__inner{
        padding-top: 56px;
        padding-bottom: 54px;
    }

    .product-intro-band__title,
    .product-switcher-panel__title{
        font-size: 30px;
    }

    .product-cert-slider{
        padding-left: 42px;
        padding-right: 42px;
    }

    .product-switcher-panel.is-active,
    .product-solution-slide{
        grid-template-columns: 1fr;
    }

    .product-switcher-panel__image,
    .product-switcher-panel__image--solution{
        order: -1;
        min-height: 280px;
    }
}

@media (max-width: 767px) {
    .product-category-hero,
    .product-category-hero__inner{
        min-height: 260px;
    }

    .product-category-hero__title{
        font-size: 30px;
    }

    .product-category-hero__summary,
    .product-intro-band__text,
    .product-intro-band__text p,
    .product-cert-section__header .context-subtitle,
    .product-cert-intro__desc,
    .product-switcher-panel__desc{
        font-size: 14px;
        line-height: 1.8;
    }

    .product-intro-band__title,
    .product-switcher-panel__title{
        font-size: 24px;
    }

    .product-cert-section,
    .product-showcase-section,
    .product-solution-section{
        padding-top: 0;
    }

    .product-switcher-top{
        padding-top: 56px;
    }

    .product-cert-slider{
        padding-left: 0;
        padding-right: 0;
    }

    .product-cert-intro{
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .product-cert-intro__item{
        padding: 0;
    }

    .product-cert-intro__item + .product-cert-intro__item{
        padding-top: 18px;
        border-top: 1px solid rgba(0, 0, 0, 0.08);
    }

    .product-cert-intro__item + .product-cert-intro__item:before{
        display: none;
    }

    .product-cert-slider__arrow,
    .product-solution-carousel__arrow{
        display: none;
    }

    .product-recommend-card{
        min-height: 500px;
    }

    .product-recommend-card__body{
        min-height: 254px;
        padding: 18px 18px 22px;
        transform: translateY(calc(100% - 114px));
    }

    .product-recommend-card__title{
        font-size: 20px;
    }

    .product-switcher-tabs{
        justify-content: flex-start;
        gap: 16px 18px;
        margin-bottom: 26px;
    }

    .product-solution-tabs-wrap{
        gap: 0;
    }

    .product-switcher-panel__image,
    .product-switcher-panel__image--solution{
        min-height: 220px;
        padding: 18px;
    }

    .product-solution-carousel{
        padding-left: 0;
        padding-right: 0;
    }

    .product-solution-slide{
        grid-template-columns: 1fr;
        gap: 18px;
        min-height: 0;
    }
}

/*-- Search Page --*/
.search-hero {
    position: relative;
    min-height: 358px;
    max-height: 450px;
    padding: 140px 0 92px;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}

.search-hero__inner {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
}

.search-hero__form {
    width: 100%;
    max-width: 960px;
}

.search-hero__field {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 54px;
    padding: 0 22px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 20px 42px rgba(3, 14, 24, 0.12);
    cursor: text;
}

.search-hero__icon {
    width: 20px;
    height: 20px;
    margin-right: 14px;
    object-fit: contain;
}

.search-hero__field .form-control {
    height: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 16px;
    color: #ffffff;
}

.search-hero__field .form-control::placeholder {
    color: rgba(255, 255, 255, 0.88);
}

.search-hero__field .form-control:focus {
    box-shadow: none;
    border: 0;
}

.search-results-section {
    padding: 34px 0 96px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbfa 100%);
}

.search-filter {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 56px;
    padding-bottom: 14px;
    border-bottom: 1px solid #e7eceb;
}

.search-filter__item {
    position: relative;
    padding: 0 4px 12px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .5em;
    color: #4e545c;
}

.search-filter__item:last-child {
    margin-right: -.5em;
}

.search-filter__item:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -14px;
    height: 3px;
    background: transparent;
    transition: background .25s ease;
}

.search-filter__item.active,
.search-filter__item:hover {
    color: #0c9074;
}

.search-filter__item.active:after,
.search-filter__item:hover:after {
    background: #0c9074;
}

.search-results-list {
    margin-top: 28px;
}

.search-card {
    display: grid;
    grid-template-columns: 132px 300px minmax(0, 1fr) 74px;
    align-items: center;
    gap: 34px;
    padding: 42px 36px;
    border-bottom: 1px solid #edf1ef;
    background: transparent;
    transition: background .3s ease, box-shadow .3s ease, transform .3s ease;
}

.search-card:hover {
    background: #ffffff;
    box-shadow: 0 18px 40px rgba(12, 144, 116, 0.08);
    /*transform: translateY(-2px);*/
}

.search-card__meta {
    min-height: 136px;
    padding-right: 18px;
    border-right: 1px solid #e3e7e6;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.search-card__date,
.search-card__meta-title {
    font-weight: 400;
    font-size: 24px;
    color: #000000;
    line-height: 34px;
}

.search-card__year,
.search-card__meta-subtitle {
    margin-top: 10px;
    font-size: 16px;
    line-height: 1.5;
    color: #969ca4;
}

.search-card__meta-title {
    display: -webkit-box;
    overflow: hidden;
    word-break: break-word;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.search-card__media a {
    display: block;
    overflow: hidden;
}

.search-card__media img {
    display: block;
    width: 100%;
    height: 190px;
    object-fit: cover;
    background: #f2f4f3;
    transform: scale(1);
    transition: transform .35s ease;
}

.search-card:hover .search-card__media img {
    transform: scale(1.08);
}

.search-card__title {
    margin: 0 0 18px;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.45;
    color: #24272c;
}

.search-card__title a {
    color: inherit;
}

.search-card__desc {
    margin: 0;
    font-size: 16px;
    line-height: 1.9;
    color: #61656b;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.search-card__arrow {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin-left: auto;
}

.search-card__arrow img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: opacity .25s ease;
}

.search-card__arrow-active {
    opacity: 0;
}

.search-card:hover .search-card__arrow-default {
    opacity: 0;
}

.search-card:hover .search-card__arrow-active {
    opacity: 1;
}

.search-empty {
    padding: 96px 0;
    text-align: center;
    color: #61656b;
}

.search-empty__title {
    font-size: 28px;
    font-weight: 600;
    line-height: 1.4;
    color: #24272c;
}

.search-empty__desc {
    margin: 14px 0 0;
    font-size: 18px;
    color: #8b9198;
}

.search-pagination-wrap {
    margin-top: 42px;
}

@media (max-width: 1199px) {
    .search-card {
        grid-template-columns: 110px 240px minmax(0, 1fr) 58px;
        gap: 24px;
        padding-left: 22px;
        padding-right: 22px;
    }
}

@media (max-width: 991px) {
    .search-hero {
        min-height: 320px;
        padding: 116px 0 72px;
    }

    .search-filter {
        gap: 26px;
        flex-wrap: wrap;
    }

    .search-card {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .search-card__meta {
        min-height: auto;
        padding-right: 0;
        padding-bottom: 16px;
        border-right: 0;
        border-bottom: 1px solid #e3e7e6;
    }

    .search-card__media img {
        height: 220px;
    }

    .search-card__arrow {
        margin-left: 0;
    }
}

@media (max-width: 767px) {
    .search-hero {
        min-height: 260px;
        padding: 104px 0 56px;
    }

    .search-hero__field {
        height: 48px;
        padding: 0 16px;
        border-radius: 12px;
    }

    .search-hero__field .form-control {
        font-size: 14px;
    }

    .search-results-section {
        padding: 24px 0 64px;
    }

    .search-filter {
        gap: 20px;
    }

    .search-filter__item {
        font-size: 14px;
        letter-spacing: .32em;
    }

    .search-filter__item:last-child {
        margin-right: -.32em;
    }

    .search-card {
        padding: 28px 0;
        background: transparent;
        box-shadow: none;
        transform: none;
    }

    .search-card__date,
    .search-card__meta-title {
        font-size: 22px;
    }

    .search-card__year,
    .search-card__meta-subtitle,
    .search-card__desc {
        font-size: 14px;
    }

    .search-card__title {
        font-size: 20px;
        margin-bottom: 14px;
    }

    .search-card__media img {
        height: 180px;
    }
}

/*-- Team page --*/
.team-slide .slick-slide {
    margin-left: 25px;
    padding-bottom: 60px;
}

.team-slide .slick-list {
    margin-left: -25px;
}

.team-slide .carousel-control {
    position: absolute;
    bottom: 0;
    left: 50%;
    border: 0;
    background-color: #ddd;
    height: 37px;
    width: 37px;
    border-radius: 4px;
    transition: .3s;
    z-index: 6;
}

.team-slide .carousel-control:hover {
    background-color: #0C9074;
    color: #fff;
}

.team-slide .carousel-control.left {
    -webkit-transform: translateX(calc(-50% - 25px));
    transform: translateX(calc(-50% - 25px));
}

.team-slide .carousel-control.right {
    -webkit-transform: translateX(calc(-50% + 25px));
    transform: translateX(calc(-50% + 25px));
}

.team-slide .carousel-control.slick-disabled {
    opacity: .4;
}

.team-slide .carousel-control.slick-disabled:hover {
    background-color: #ddd;
    color: #000;
}

.ts-team-wrapper {
    position: relative;
    overflow: hidden;
}

.ts-team-wrapper .ts-team-content {
    position: absolute;
    top: 76%;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 15px 25px;
    margin-top: 0;
    color: #fff;
    background: rgba(0, 0, 0, 0.5);
    transition: 350ms;
}

@media (max-width: 1200px) {
    .ts-team-wrapper .ts-team-content {
        top: 72%;
    }
}

@media (max-width: 575px) {
    .ts-team-wrapper .ts-team-content {
        text-align: center;
    }
}

.ts-team-wrapper .ts-name {
    font-size: 16px;
    margin-top: 0;
    margin-bottom: 3px;
    line-height: normal;
    color: #0C9074;
}

.ts-team-wrapper .ts-designation {
    color: #fff;
    font-size: 14px;
    margin-bottom: 15px;
    font-weight: 700;
}

.ts-team-wrapper .team-social-icons a i {
    color: #fff;
    margin-right: 8px;
    text-align: center;
    transition: 400ms;
}

.ts-team-wrapper .team-social-icons a i:hover {
    color: #0C9074;
}

.ts-team-wrapper:hover .ts-team-content {
    top: 0;
    padding-top: 50px;
}

/* Team Classic */
.ts-team-content-classic {
    margin-top: 15px;
}

.ts-team-content-classic .ts-name {
    font-size: 16px;
    margin-bottom: 5px;
    color: #212121;
}

.ts-team-content-classic .ts-designation {
    color: #888;
    margin-bottom: 5px;
    font-weight: 600;
}

.ts-team-content-classic .team-social-icons a i {
    color: #999;
}

.ts-team-content-classic .team-social-icons a i:hover {
    color: #0C9074;
}

/*-- Pricing table  --*/
.ts-pricing-box {
    margin: 20px 0;
    padding: 0;
    text-align: center;
    background: #f9f9f9;
}

.ts-pricing-box .ts-pricing-header {
    background: #252525;
    color: #fff;
    position: relative;
    padding: 30px 20px;
}

.ts-pricing-box .ts-pricing-name {
    font-size: 18px;
    line-height: normal;
    margin: 0 0 5px 0;
    color: #fff;
}

.ts-pricing-box .ts-pricing-price {
    font-size: 44px;
    color: #fff;
    margin: 15px 0 0;
    display: inline-block;
}

.ts-pricing-box .ts-pricing-price > small {
    font-size: 16px;
    line-height: 16px;
    display: block;
    margin-top: 15px;
    color: #fff;
}

.ts-pricing-box .ts-pricing-features {
    padding: 15px 0;
}

.ts-pricing-box .ts-pricing-features ul {
    padding: 0 20px;
}

.ts-pricing-box .ts-pricing-features ul > li {
    padding: 20px 0;
    border-top: 1px dotted #e5e5e5;
}

.ts-pricing-box .ts-pricing-features ul > li:first-child {
    border-top: 0;
}

.ts-pricing-box .plan-action {
    padding-bottom: 40px;
}

/* Pricing featured */
.ts-pricing-box.ts-pricing-featured .ts-pricing-header {
    background: #ff9800;
}

/* Contact Us
================================================== */
.map {
    height: 450px;
    z-index: 1;
}

.contact-info-box {
    margin-top: 20px;
}

.contact-info-box i {
    float: left;
    font-size: 24px;
    color: #0C9074;
}

.contact-info-box-content {
    padding-left: 40px;
}

.contact-info-box-content h4 {
    font-size: 16px;
    margin-top: 0;
    line-height: normal;
    font-weight: 700;
}

.contact-info-box-content p {
    margin-bottom: 0;
}

label {
    font-weight: 400;
}

/* Contact page 2 */
.ts-service-box.text-center .ts-service-icon.icon-squre i {
    float: none;
    margin-bottom: 20px;
}

.ts-service-box.text-center .ts-service-box-content {
    margin: 0;
}

/* News Listing
================================================== */
.post {
    border-bottom: 1px solid #dadada;
    padding: 0 0 30px;
    margin: 0 0 45px;
}

.post.last {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: 0;
}

.post-body {
    padding: 20px 0;
}

.entry-header .entry-title {
    font-size: 24px;
    margin: 5px 0 15px;
    position: relative;
    line-height: 34px;
    text-transform: capitalize;
}

.entry-header .entry-title a {
    color: #303030;
}

.entry-header .entry-title a:hover {
    color: #0C9074;
}

.post-single .entry-header .entry-title {
    font-size: 28px;
}

/* Meta */
.post-meta {
    padding-bottom: 10px;
}

.post-meta a {
    color: #303030;
}

.post-meta a:hover {
    color: #0C9074;
}

.post-meta span {
    margin-right: 10px;
    padding-right: 10px;
    border-right: 1px solid #dadada;
    line-height: 12px;
    display: inline-block;
}

.post-meta i {
    color: #bbb;
    margin-right: 3px;
}

.post-meta .post-comment {
    border-right: 0;
}

.post-meta .post-comment .comments-link {
    margin-left: 5px;
}

.post-footer .btn.btn-primary {
    font-size: 12px;
    margin-top: 10px;
}

/* 分页组件 */
.pagination-block {
    display: flex;
    justify-content: center;
    margin-bottom: 15px;
}

.pagination {
    margin: 0;
}

.pagination_info {
    margin: 0 10px;
    display: flex;
    align-items: center;
}

.pagination li a, .pagination li span {
    border-radius: 0 !important;
    margin-right: 8px;
    color: #7c7c7c;
    position: relative;
    display: block;
    padding: 0.5rem 0.75rem;
    margin-left: -1px;
    line-height: 1.25;
    background-color: #fff;
    border: 1px solid #dee2e6;
}

.pagination li.disabled span {
    cursor: not-allowed;
}

.pagination > .active > span,
.pagination > .active > span:hover,
.pagination > li > a:hover {
    color: #fff;
    background: #0C9074;
    border: 1px solid transparent;
}

/* News Single
================================================== */
.tags-area {
    margin: 20px 0;
}

.post-tags a {
    border: 1px solid #dadada;
    color: #7c7c7c;
    display: inline-block;
    font-size: 12px;
    padding: 3px 10px;
    margin-left: 3px;
}

.post-tags a:hover {
    background: #0C9074;
    color: #fff;
    border: 1px solid transparent;
}

/* Post social */
.post-social-icons > li {
    display: inline-block;
}

.post-social-icons a i {
    margin-left: 5px;
    font-size: 12px;
    width: 28px;
    height: 26px;
    line-height: 26px;
    color: #fff;
    text-align: center;
}

.post-social-icons a i.fa-qq {
    background: #0085ff;
}

.post-social-icons a i.fa-weixin {
    background: #2aae67;
}

.post-social-icons a i.fa-weibo {
    background: #d52c2b;
}

.post-social-icons a i.fa-star {
    background: #ffbf2a;
}

/* Author box */
.author-box {
    border: 1px solid #dadada;
    padding: 20px 20px 15px;
    margin: 20px 0;
}

.author-img img {
    width: 110px;
    height: 110px;
    margin-right: 30px;
}

.author-info h3 {
    margin-top: 0;
    margin-bottom: 5px;
    font-size: 18px;
    font-weight: 600;
}

.author-info h3 span {
    font-size: 12px;
    color: #999;
    border-left: 1px solid #AFAFAF;
    padding-left: 10px;
    margin-left: 10px;
    font-weight: 500;
}

/* Comments area */
.comments-area {
    margin: 40px 0;
}

.comments-list .comment-content {
    margin: 15px 0;
}

.comments-list .comment-reply {
    color: #303030;
    font-weight: 400;
}

.comments-list .comment-reply:hover {
    color: #0C9074;
}

.comments-counter {
    font-size: 18px;
}

.comments-counter a {
    color: #323232;
}

.comments-list {
    list-style: none;
    margin: 0;
    padding: 20px 0;
}

.comments-list .comment {
    border-bottom: 1px solid #e7e7e7;
    padding-bottom: 20px;
    margin-bottom: 30px;
}

.comments-list .comment.last {
    border-bottom: 0;
    padding-bottom: 0;
    margin-bottom: 0;
}

.comments-list img.comment-avatar {
    width: 84px;
    height: 84px;
    margin-right: 30px;
}

@media (max-width: 575px) {
    .comments-list img.comment-avatar {
        width: 40px;
        height: 40px;
        margin-right: 25px;
    }
}

.comments-list .comment-author {
    margin-bottom: 0;
    margin-top: 0;
    font-weight: 600;
    font-size: 16px;
    color: #303030;
}

.comments-list .comment-date {
    color: #959595;
    margin-bottom: 5px;
    font-size: 12px;
}

@media (max-width: 575px) {
    .comments-list .comment-date {
        float: none !important;
        display: inline-block;
    }
}

.comments-reply {
    list-style: none;
    margin: 0 0 0 70px;
}

@media (max-width: 767px) {
    .comments-reply {
        margin: 0;
        padding: 0;
    }
}

.comments-form {
    margin-bottom: 0;
}

.comments-form .title-normal {
    margin-bottom: 20px;
}

.comments-form .btn.btn-primary {
    margin-top: 20px;
}

/* Sidebar
================================================== */
.sidebar .widget-title {
    font-size: 16px;
    font-weight: 700;
    position: relative;
    margin: 0 0 30px;
    padding-left: 15px;
    text-transform: uppercase;
    border-left: 3px solid #0C9074;
}

/* Widget common */
.sidebar .widget {
    margin-bottom: 40px;
}

.sidebar-left .widget {
    margin-right: 20px;
}

.sidebar-right .widget {
    margin-left: 20px;
}

.sidebar .widget.box {
    padding: 25px;
}

.widget.box.solid {
    background: #f2f2f2;
}

.widget.box.red {
    background: #ec483b;
    color: #fff;
}

.widget.box.red .widget-title {
    color: #fff;
}

.widget ul li {
    line-height: 30px;
}

.sidebar .widget ul li a {
    color: #303030;
}

.sidebar .widget ul li a:hover {
    color: #0C9074;
}

.sidebar .widget ul li i {
    margin-right: 5px;
}

.sidebar .btn {
    font-weight: 700;
    font-size: 12px;
    margin-top: 15px;
    padding: 10px 25px;
}

/* Sidebar nav */
.sidebar ul.nav-tabs {
    border: 0;
}

.sidebar ul.nav-tabs li {
    width: 100%;
}

.sidebar ul.nav-tabs li a {
    color: #303030;
    border-radius: 0;
    padding: 15px 0;
    padding-left: 0;
    font-weight: 400;
    border-bottom: 1px solid #ddd;
    display: block;
    transition: 400ms;
}

.sidebar ul.nav-tabs li.active a,
.sidebar ul.nav-tabs li:hover a {
    color: #0C9074;
}

.sidebar ul.nav-tabs li {
    color: #303030;
    line-height: normal;
}

.sidebar ul.nav-tabs li:last-child a {
    border-bottom: 0;
}

/* Service menu */
.sidebar ul.service-menu li {
    width: 100%;
}

.sidebar ul.service-menu li a {
    background-color: #f4f4f4;
    padding: 15px 20px;
    border: 0;
    margin-bottom: 8px;
    position: relative;
    transition: 400ms;
    display: block;
}

.sidebar ul.service-menu li.active a,
.sidebar ul.service-menu li:hover a {
    background: #0C9074;
    color: #fff;
    cursor: pointer;
}

/* Recent News */
.widget.recent-posts .widget-title {
    margin-bottom: 35px;
}

.widget.recent-posts ul li {
    border-bottom: 1px solid #dadada;
    padding-bottom: 15px;
    margin-bottom: 17px;
}

.widget.recent-posts ul li:last-child {
    border: 0;
    padding-bottom: 0;
    margin-bottom: 0;
}

.widget.recent-posts .posts-thumb img {
    margin-right: 15px;
    width: 90px;
    height: 70px;
}

.widget.recent-posts .post-info .entry-title {
    font-size: 13px;
    font-weight: 600;
    line-height: 20px;
    margin: 0;
}

.widget.recent-posts .post-info .entry-title a {
    color: #303030;
    display: inline-block;
}

.widget.recent-posts .post-info .entry-title a:hover {
    color: #0C9074;
}

.widget.recent-posts .post-date {
    font-weight: 400;
    color: #999;
    text-transform: capitalize;
}

/* Widget tags */
.widget-tags ul > li {
    float: left;
    margin: 3px;
}

.sidebar .widget-tags ul > li a {
    border: 1px solid #dadada;
    color: #303030;
    display: block;
    font-size: 14px;
    padding: 3px 15px;
    transition: all 0.3s ease 0s;
}

.sidebar .widget-tags ul > li a:hover {
    background: #0C9074;
    color: #fff;
    border: 1px solid transparent;
}

/* Error page
================================================== */
.error-page .error-code h2 {
    display: block;
    font-size: 200px;
    line-height: 200px;
    color: #303030;
    margin-bottom: 20px;
}

.error-page .error-body .btn {
    margin-top: 30px;
    font-weight: 700;
}

/* 首页轮播图 */
html.home-fullpage-active,
body.home-fullpage-active {
    overflow-x: hidden;
    scrollbar-width: none;
}

html.home-fullpage-active:not(.home-fullpage-footer-ready),
body.home-fullpage-active:not(.home-fullpage-footer-ready) {
    height: 100vh;
    height: 100svh;
    overflow: hidden;
}

body.home-fullpage-active:not(.home-fullpage-footer-ready) .body-inner {
    height: 100vh;
    height: 100svh;
    overflow: hidden;
}

html.home-fullpage-active::-webkit-scrollbar,
body.home-fullpage-active::-webkit-scrollbar {
    width: 0;
    height: 0;
}

body.home-fullpage-active .header-two {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    box-shadow: none;
    transform: translateZ(0);
    backface-visibility: hidden;
}

.home-fullpage-swiper,
.home-fullpage-slide {
    width: 100%;
    height: 100vh;
    height: 100svh;
}

.home-fullpage-slide {
    display: flex;
    align-items: center;
    overflow: hidden;
}

.home-fullpage-banner-slide {
    display: block;
}

.home-fullpage-banner-slide .home-banner.swiper-container {
    width: 100%;
    flex: 0 0 100%;
}

.home-fullpage-slide.project-area {
    padding: 88px 0 48px;
}

.home-fullpage-slide > .container {
    max-height: 100%;
}

.home-fullpage-pagination {
    position: fixed;
    top: 50%;
    right: 30px !important;
    z-index: 120;
    display: flex;
    flex-direction: column;
    gap: 13px;
    transform: translateY(-50%);
}

.home-fullpage-pagination .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    background: rgba(12, 144, 116, 0.37);
    border: 1px solid rgba(12, 144, 116, 0.37);
}

.home-fullpage-pagination .swiper-pagination-bullet-active {
    background: #FFFFFF;
    border-color: #0C9074;
    transform: scale(1.25);
}

.home-fullpage-pagination .swiper-pagination-bullet-active:after {
    content: '';
    background: #0C9074;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    position: absolute;
    inset: 0;
    margin: auto;
}


.home-fullpage-slide .section-sub-title {
    margin-bottom: 28px;
}

.home-fullpage-slide .section-sub-title:before {
    bottom: 28px;
}

.home-fullpage-slide .home-company {
    height: min(380px, 54vh);
}

.home-fullpage-slide .property-item {
    margin-bottom: 18px;
}

.home-fullpage-slide .property-item .pi-pic {
    height: min(220px, 25vh);
    margin-bottom: 14px;
}

.home-fullpage-slide .property-item .pi-text h5 a {
    font-size: 17px;
}

.home-fullpage-slide .property-item .desc {
    height: 48px;
}

.home-fullpage-slide .shuffle-btn-group {
    margin-bottom: 24px;
}

.home-fullpage-slide .project-img-container img {
    height: min(220px, 25vh);
    object-fit: cover;
}

.home-fullpage-slide .home-news li.item {
    padding-top: 10px;
    padding-bottom: 10px;
}

.home-showcase-swiper .home-fullpage-slide {
    position: relative;
}

.home-showcase-slide {
    position: relative;
    padding: 88px 0 42px;
}

.home-showcase-container {
    width: 100%;
    max-height: calc(100vh - 130px);
    max-height: calc(100svh - 130px);
}

.home-section-heading {
    margin-bottom: 53px;
}

.home-section-heading--light{
    margin-bottom: 82px;
}

.home-section-heading--light .home-section-heading__title,
.home-section-heading--light .home-section-heading__subtitle,
.home-section-heading--light .home-section-heading__desc {
    color: #FFFFFF;
}

.home-section-heading__title {
    margin: 0;
    font-weight: 600;
    font-size: 40px;
    color: #2E2E2E;
    line-height: 56px;
}

.home-section-heading__title.en_h2_title{
    font-size: 32px;
}

.home-section-heading__subtitle {
    margin-top: 4px;
    font-weight: 500;
    font-size: 20px;
    color: #868686;
    line-height: 28px;
}

.home-section-heading__desc {
    max-width: 760px;
    margin: 20px auto 0;
    font-weight: 400;
    font-size: 16px;
    color: #202020;
    line-height: 22px;
}

.home-banner--enhanced,
.home-banner--enhanced .swiper-wrapper,
.home-banner--enhanced .swiper-slide {
    height: 100%;
}

.home-banner__slide {
    position: relative;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}

.home-banner__overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(12, 36, 53, .72) 0%, rgba(12, 36, 53, .4) 48%, rgba(12, 36, 53, .2) 100%),
        linear-gradient(180deg, rgba(12, 36, 53, .12) 0%, rgba(12, 36, 53, .25) 100%);
}

.home-banner__inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    height: 100%;
}

.home-banner__content {
    max-width: 750px;
    color: #FFFFFF;
}

[data-home-banner-piece] {
    opacity: 0;
    transform: translate3d(0, 44px, 0);
    filter: blur(8px);
    transition:
        transform .88s cubic-bezier(.22, 1, .36, 1),
        opacity .88s ease,
        filter .88s ease;
    transition-delay: var(--home-banner-delay, 0ms);
    will-change: transform, opacity, filter;
}

.home-banner__slide.is-current [data-home-banner-piece] {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
}

.home-banner__eyebrow {
    margin-bottom: 14px;
    color: #22d0b0;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.35;
    text-transform: uppercase;
}

.home-banner__title {
    margin: 0 0 62px;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 48px;
    line-height: 59px;
    white-space: pre-line;
}
.home-banner__title.en_h2_title{
    font-size: 40px;
}

.home-banner__desc {
    font-weight: 400;
    font-size: 14px;
    color: #FFFFFF;
    line-height: 28px;
    white-space: pre-line;
}

.home-banner__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 46px;
    margin-top: 24px;
    padding: 0 28px;
    border-radius: 999px;
    background: #0C9074;
    color: #FFFFFF;
    font-weight: 400;
    font-size: 16px;
    line-height: 22px;
}
.home-banner__button img{
    margin-left: 10px;
    transition: transform .3s ease-in-out;
}
.home-banner__button:hover{
    color: #FFFFFF;
}

.home-banner__button:hover img{
    transform: translateX(4px);
}

.home-banner__pagination {
    left: 50% !important;
    bottom: 42px !important;
    width: auto !important;
    display: inline-flex;
    align-items: center;
    gap: 16px;
    transform: translateX(-50%);
}

.home-banner__pagination .swiper-pagination-bullet {
    width: 44px;
    height: 5px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .28);
    opacity: 1;
    transition: background .25s ease, opacity .25s ease, transform .25s ease;
}

.home-banner__pagination .swiper-pagination-bullet-active {
    background: #FFFFFF;
    transform: scaleX(1.08);
}

.home-banner--single .home-banner__pagination {
    display: none;
}

.home-about-slide {
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}


.home-about-slide .home-showcase-container {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.home-about-slide__content,
.home-about-slide__content p {
    margin: 0;
    color: rgba(255, 255, 255, .92);
    font-size: 15px;
    line-height: 2;
    text-align: center;
}

.home-about-advantages {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 34px;
    padding: 25px 0;
}

.home-about-advantages__item {
    position: relative;
    padding: 0 32px;
    text-align: left;
}

.home-about-advantages__item + .home-about-advantages__item:before {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    width: 1px;
    height: 58px;
    background: rgba(255, 255, 255, .28);
}

.home-about-advantages__label {
    margin-bottom: 10px;
    font-weight: 500;
    font-size: 20px;
    color: #FFFFFF;
    line-height: 28px;
}

.home-about-advantages__value {
    font-weight: 400;
    font-size: 12px;
    color: #FFFFFF;
    line-height: 22px;
}

.home-about-actions {
    display: flex;
    justify-content: center;
    gap: 24px;
    margin-top: 88px;
}

.home-about-actions__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 46px;
    padding: 0 28px;
    border-radius: 999px;
    background: #0C9074;
    color: #FFFFFF;
    font-weight: 400;
    font-size: 16px;
}
.home-about-actions__button img{
    margin-left: 10px;
    transition: transform .3s ease-in-out;
}
.home-about-actions__button--ghost img{
    transition: transform .3s ease-in-out;
}
.home-about-actions__button:hover{
    color: #FFFFFF;
}

.home-about-actions__button--ghost {
    background: #FFFFFF;
    color: #0C9074;
}
.home-about-actions__button--ghost:hover {
    color: #0C9074;
}

.home-about-actions__button:hover img{
    transform: translateX(4px);
}
.home-about-actions__button--ghost:hover img{
    transform: translateX(4px);
}

.home-product-center-slide {
    background-image: url(/static/common/image/home-product-center-bg.png);
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    overflow: hidden;
}

.home-product-center-slide .home-showcase-container {
    position: relative;
    z-index: 1;
}

.home-product-center-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 21px;
}

.home-product-card {
    position: relative;
    display: block;
    min-height: 430px;
    overflow: hidden;
}

.home-product-card__bg {
    position: absolute;
    inset: 0;
    background-image: var(--home-product-card-bg);
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    transform: scale(1);
    transform-origin: center;
    transition: transform .45s ease-in-out;
}

.home-product-card__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    height: 100%;
    padding: 38px 28px 80px;
    text-align: center;
    color: #FFFFFF;
}

.home-product-card__icon {
    margin-bottom: 24px;
}

.home-product-card__icon img {
    width: 72px;
    height: 72px;
}

.home-product-card__icon-active {
    display: none;
}

.home-product-card__title {
    margin: 0 0 8px;
    color: #FFFFFF;
    font-weight: 500;
    font-size: 24px;
    line-height: 34px;
    min-height: 60px;
}

.home-product-card__subtitle {
    font-weight: 400;
    font-size: 16px;
    color: #FFFFFF;
    line-height: 22px;
}

.home-product-card__more {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 46px;
    margin-top: 15px;
    padding: 0 28px;
    border-radius: 999px;
    background: #AAAAAA;
    font-weight: 350;
    font-size: 16px;
    color: #FFFFFF;
    gap: 10px;
    transition: background .25s ease, color .25s ease;
}

.home-product-card__more img{
    width: 14px;
    height: 14px;
    transition: all .3s ease-in-out;
}

.home-product-card:hover .home-product-card__more img{
    transform: translateX(4px);
}

.home-product-card:hover .home-product-card__overlay {
    background: linear-gradient(180deg, rgba(11, 35, 49, .14) 0%, rgba(11, 35, 49, .68) 100%);
}

.home-product-card:hover .home-product-card__bg {
    transform: scale(1.1);
}

.home-product-card:hover .home-product-card__icon-normal {
    display: none;
}

.home-product-card:hover .home-product-card__icon-active {
    display: inline-block;
}

.home-product-card:hover .home-product-card__more {
    background: #0C9074;
}

.home-case-slide {
    background-repeat: no-repeat;
    background-size: 100% 45%;
    background-position: center top;
    background-color: #E7F0F0;
}

.home-case-slide__overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(12, 32, 44, .74) 0%, rgba(12, 32, 44, .56) 100%);
}

.home-case-slide .home-showcase-container {
    position: relative;
    z-index: 1;
}

.home-case-slider {
    position: relative;
    padding: 0 44px;
}

.home-case-swiper{
    /*margin-top: -20px;*/
}

.home-case-slider__arrow {
    position: absolute;
    top: 50%;
    z-index: 3;
    width: 28px;
    height: 28px;
    margin-top: -14px;
    padding: 0;
    border: 0;
    background: transparent;
}

.home-case-slider__arrow--prev {
    left: 0;
}

.home-case-slider__arrow--next {
    right: 0;
}

.home-case-slider__arrow img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.home-case-slider__arrow-active {
    display: none;
}

.home-case-slider__arrow:hover .home-case-slider__arrow-normal {
    display: none;
}

.home-case-slider__arrow:hover .home-case-slider__arrow-active {
    display: block;
}

.home-case-card {
    display: block;
    background: #FFFFFF;
    transition: transform .3s ease, box-shadow .3s ease;
    position: relative;
}
.home-case-card .flag_icon_image{
    width: 54px;
    height: 36px;
    position: absolute;
    top: 0;
    left: 0;
}

.home-case-card__image {
    height: 194px;
    overflow: hidden;
}

.home-case-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.home-case-card__body {
    height: 300px;
    padding: 27px 24px 22px;
    background: #FFFFFF;
    transition: background .3s ease, color .3s ease;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: rgba(12, 144, 116, 0.22) transparent;
}

.home-case-card__body::-webkit-scrollbar {
    width: 4px;
}

.home-case-card__body::-webkit-scrollbar-track {
    background: transparent;
}

.home-case-card__body::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(12, 144, 116, 0.18);
}

.home-case-card__body:hover::-webkit-scrollbar-thumb {
    background: rgba(12, 144, 116, 0.34);
}

.home-case-card__title {
    margin: 0 0 16px;
    font-weight: 600;
    font-size: 20px;
    color: #2E2E2E;
    line-height: 26px;
    transition: color .3s ease;
}

.home-case-card__meta {
    margin: 0;
    padding: 0;
    list-style: none;
}

.home-case-card__meta li {
    font-weight: 400;
    font-size: 14px;
    color: #6F6F6F;
    line-height: 26px;
    display: block;
}

.home-case-card__meta li:not(:last-child){
    /*margin-bottom: 10px;*/
}

.home-case-card__meta li span {
    color: #4B5054;
    flex: 0 0 auto;
}

.home-case-card:hover {
    /*transform: translateY(-6px);*/
    box-shadow: 0 20px 48px rgba(12, 144, 116, .16);
}

.home-case-card:hover .home-case-card__image img {
    transform: scale(1.06);
}

.home-case-card:hover .home-case-card__body {
    background: #0C9074;
    scrollbar-color: rgba(255, 255, 255, 0.26) transparent;
}

.home-case-card:hover .home-case-card__body::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.22);
}

.home-case-card:hover .home-case-card__body:hover::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.4);
}

.home-case-card:hover .home-case-card__title,
.home-case-card:hover .home-case-card__meta li,
.home-case-card:hover .home-case-card__meta li span {
    color: #FFFFFF;
}

.home-clients-slide {
    background: #F2F4F4;
}

.home-clients-layout {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 24px;
    align-items: center;
}

.home-clients-region-list {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.home-clients-region {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 8px;
    width: 280px;
    height: 112px;
    padding: 20px;
    box-sizing: border-box;
    border: 0px solid #EDF1EF;
    border-radius: 16px;
    background: #FFFFFF;
    text-align: left;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: rgba(12, 144, 116, 0.22) transparent;
    /*box-shadow: 0 12px 34px rgba(12, 144, 116, .06);*/
    transition: background .28s ease, border-color .28s ease, transform .28s ease, box-shadow .28s ease;
}

.home-clients-region::-webkit-scrollbar {
    width: 4px;
}

.home-clients-region::-webkit-scrollbar-track {
    background: transparent;
}

.home-clients-region::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(12, 144, 116, 0.18);
}

.home-clients-region:hover::-webkit-scrollbar-thumb {
    background: rgba(12, 144, 116, 0.34);
}

.home-clients-region__title {
    color: #2B2B2B;
    font-size: 20px;
    font-weight: 700;
    line-height: 24px;
    transition: color .3s ease;
}

.home-clients-region__text {
    color: rgba(0, 0, 0, .898);
    font-size: 14px;
    line-height: 20px;
    transition: color .3s ease;
}

.home-clients-region.is-active,
.home-clients-region:hover {
    background: #0C9074;
    border-color: #0C9074;
    box-shadow: 0 18px 40px rgba(12, 144, 116, .16);
    scrollbar-color: rgba(255, 255, 255, 0.26) transparent;
    transform: translateY(-4px);
}

.home-clients-region.is-active::-webkit-scrollbar-thumb,
.home-clients-region:hover::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.22);
}

.home-clients-region.is-active:hover::-webkit-scrollbar-thumb,
.home-clients-region:hover:hover::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.4);
}

.home-clients-region.is-active .home-clients-region__title,
.home-clients-region.is-active .home-clients-region__text,
.home-clients-region:hover .home-clients-region__title,
.home-clients-region:hover .home-clients-region__text {
    color: #FFFFFF;
}

.home-clients-map {
    min-width: 0;
}

.home-clients-map__board {
    position: relative;
    min-height: 540px;
    overflow: hidden;
    background: transparent;
}

.home-clients-map__image {
    position: absolute;
    inset: 0;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: contain;
}

.home-clients-map__lines {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}

.home-clients-map__lines svg {
    width: 100%;
    height: 100%;
}

.home-clients-map__lines path {
    fill: none;
    stroke: rgba(12, 144, 116, .24);
    stroke-width: .26;
    stroke-linecap: round;
    stroke-dasharray: 1.3 1.2;
}

.home-clients-map__points {
    position: absolute;
    inset: 0;
    z-index: 2;
}

.home-clients-point {
    position: absolute;
    width: 0;
    height: 0;
    transform: none;
    --home-clients-point-color: #CACACA;
    --home-clients-point-shadow: rgba(202, 202, 202, .18);
    --home-clients-point-ring: rgba(202, 202, 202, .5);
}

.home-clients-point__dot {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    transform: translate(-50%, -50%);
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--home-clients-point-color);
    box-shadow: 0 0 0 8px var(--home-clients-point-shadow);
    transition: background .24s ease, box-shadow .24s ease;
}

.home-clients-point__dot::before,
.home-clients-point__dot::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 1px solid var(--home-clients-point-ring);
    opacity: 0;
    transform: scale(1);
    animation: homeClientsPointPulse 2.4s ease-out infinite;
    transition: border-color .24s ease;
}

.home-clients-point__dot::after {
    animation-delay: 1.2s;
}

.home-clients-point:not(.is-base):hover,
.home-clients-point:not(.is-base):focus-within {
    --home-clients-point-color: #0C9074;
    --home-clients-point-shadow: rgba(12, 144, 116, .08);
    --home-clients-point-ring: rgba(12, 144, 116, .36);
}

.home-clients-map__points.is-region-active .home-clients-point:not(.is-base) {
    --home-clients-point-color: #0C9074;
    --home-clients-point-shadow: rgba(12, 144, 116, .08);
    --home-clients-point-ring: rgba(12, 144, 116, .36);
}

.home-clients-point.is-base img {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    transform: translate(-50%, -100%);
    width: 42px;
    height: 52px;
}

.home-clients-point__label {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 3;
    transform: translate(-50%, 16px);
    padding: 8px 16px;
    border-radius: 14px;
    background: #FFFFFF;
    color: #202020;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
    box-shadow: 0 8px 20px rgba(12, 144, 116, .12);
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .2s ease, visibility .2s ease;
}

.home-clients-point:not(.is-base):hover .home-clients-point__label,
.home-clients-point:not(.is-base):focus-within .home-clients-point__label {
    opacity: 1;
    visibility: visible;
}

.home-clients-point.is-base .home-clients-point__label {
    opacity: 1;
    visibility: visible;
}

@keyframes homeClientsPointPulse {
    0% {
        opacity: .68;
        transform: scale(1);
    }

    70% {
        opacity: 0;
        transform: scale(3.6);
    }

    100% {
        opacity: 0;
        transform: scale(3.6);
    }
}

.home-clients-map__mobile {
    display: none;
}

.home-clients-mobile__title {
    margin-bottom: 8px;
    color: #0C9074;
    font-size: 18px;
    font-weight: 700;
}

.home-clients-mobile__list {
    color: #555E64;
    font-size: 14px;
    line-height: 1.8;
}

.home-partner-stack {
    background: #FFFFFF;
}

.home-banner.swiper-container {
    height: 100vh;
    height: 100svh;
}

[data-home-slide-piece] {
    opacity: 0;
    transform: translate3d(0, 32px, 0);
    transition:
        transform .72s cubic-bezier(.22, 1, .36, 1),
        opacity .72s ease;
    transition-delay: var(--home-text-delay, 0ms);
    will-change: transform, opacity;
}

.home-fullpage-slide.is-current [data-home-slide-piece] {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.scroll-reveal {
    opacity: 0;
    transform: translate3d(0, 48px, 0);
    transition:
        transform .72s cubic-bezier(.22, 1, .36, 1),
        opacity .72s ease;
    transition-delay: var(--reveal-delay, 0ms);
    will-change: transform, opacity;
    backface-visibility: hidden;
}

.scroll-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
    .scroll-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

.swiper-button-next, .swiper-button-prev {
    background: rgba(0, 0, 0, 0.3);
    color: #ececec;
    font-size: 28px;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: none;
}

/*清除自带的左右箭头*/
.swiper-button-prev:after, .swiper-container-rtl .swiper-button-next:after {
    content: '';
}

.swiper-button-next:after, .swiper-container-rtl .swiper-button-prev:after {
    content: '';
}

.swiper-container:hover .swiper-button-next, .swiper-container:hover .swiper-button-prev {
    display: flex;
}

.swiper-pagination-bullet-active {
    background: #ffffff;
}

.navbar-mobile {
    display: none;
}

.swiper-outside-prev, .swiper-outside-next {
    background: none;
    display: flex;
    color: #999;
}

.swiper-outside-next {
    right: -50px;
    left: auto;
}

.swiper-outside-prev {
    left: -50px;
    right: auto;
}

@media (max-width: 991px) {
    .navbar-pc {
        display: none;
    }

    .navbar-mobile {
        display: block;
    }
}

@media (max-width: 767px) {
    .banner-area {
        min-height: 200px;
    }

    .home-fullpage-pagination {
        right: 12px;
        gap: 10px;
    }

    .home-fullpage-slide {
        overflow-y: auto;
    }

    .home-fullpage-slide.project-area {
        padding: 76px 0 32px;
    }

    .home-fullpage-slide .section-sub-title {
        margin-bottom: 20px;
    }

    .home-fullpage-slide .home-company {
        height: auto;
    }

    .home-showcase-slide {
        padding-top: 76px;
    }

    .home-showcase-container {
        max-height: none;
    }

    .home-section-heading {
        margin-bottom: 24px;
    }

    .home-section-heading__title {
        font-size: 34px;
    }

    .home-section-heading__subtitle {
        font-size: 16px;
    }

    .home-banner__eyebrow {
        font-size: 14px;
    }

    .home-banner__title {
        font-size: 36px;
    }

    .home-banner__desc {
        font-size: 14px;
        line-height: 1.8;
    }

    [data-home-banner-piece] {
        transform: translate3d(0, 28px, 0);
    }

    .home-about-advantages,
    .home-product-center-grid,
    .home-clients-layout {
        grid-template-columns: 1fr;
    }

    .home-clients-layout {
        gap: 30px;
    }

    .home-clients-region {
        width: 100%;
        height: 112px;
    }

    .home-about-advantages {
        gap: 18px;
        margin-top: 26px;
    }

    .home-about-advantages__item {
        padding: 0;
    }

    .home-about-advantages__item + .home-about-advantages__item:before {
        display: none;
    }

    .home-about-actions {
        flex-wrap: wrap;
    }

    .home-product-card {
        min-height: 320px;
    }

    .home-case-slider {
        padding-left: 0;
        padding-right: 0;
    }

    .home-case-slider__arrow {
        display: none;
    }

    .home-clients-map__board {
        min-height: 380px;
    }

    [data-home-slide-piece] {
        transform: translate3d(0, 24px, 0);
    }

    .scroll-reveal {
        transform: translate3d(0, 24px, 0);
    }
}

@media (max-width: 575px) {
    .home-banner__inner {
        padding-top: 44px;
    }

    .home-banner__title {
        font-size: 30px;
    }

    .home-section-heading__title {
        font-size: 28px;
    }

    .home-about-slide__content,
    .home-about-slide__content p,
    .home-product-card__subtitle,
    .home-clients-region__text,
    .home-case-card__meta li,
    .home-section-heading__desc {
        font-size: 13px;
        line-height: 1.75;
    }

    .home-product-card__title,
    .home-case-card__title,
    .home-clients-region__title {
        font-size: 20px;
    }

    .home-product-card__icon img {
        width: 60px;
        height: 60px;
    }

    .home-clients-map__board {
        display: none;
    }

    .home-clients-map__mobile {
        display: block;
        margin-top: 18px;
        padding: 18px 20px;
        border-radius: 16px;
        background: #F5FBF9;
    }

    .home-clients-region {
        height: 124px;
        padding: 24px 20px;
        border-radius: 18px;
    }

    .home-clients-region__text {
        font-size: 14px;
        line-height: 1.8;
    }
}

/* 首页轮播结束 */

/*首页关于我们面板  start*/
.home-company {
    background-color: #ffffff;
    box-shadow: 0 0 15px 0 rgb(0 0 0 / 5%);
    height: 380px;
    overflow: hidden;
    border-radius: 4px;
}

.home-company .txt {
    padding: 30px 40px 40px 40px;
    line-height: 28px;
}

.home-company .txt .content {
    margin-bottom: 20px;
    height: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    line-height: 30px;
}

.home-company .txt .content p {
    line-height: 30px;
}

.home-company .txt h2 {
    font-size: 24px;
    margin-bottom: 28px;
}

.home-company .img {
    padding: 0;
    height: 100%;
    object-fit: cover;
}

.home-company .img img {
    width: 100%;
    height: 380px;
    object-fit: cover
}

@media (max-width: 767px) {
    .home-company {
        overflow: auto;
        height: auto;
    }

    .home-company .img img {
        height: 250px;
    }

    .home-company .txt h2 {
        margin-bottom: 20px;
    }
}

/*首页关于我们面板  结束*/

/* 首页产品 开始 */
.home-product .section-title {
    margin-bottom: 40px;
}

.home-product .section-title h4 {
    color: #111111;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    position: relative;
    padding-left: 20px;
}

.home-product .section-title h4:after {
    position: absolute;
    left: 0;
    top: -9px;
    width: 5px;
    height: 46px;
    background: #0C9074;
    content: "";
}

.property-controls ul li {
    list-style: none;
    display: inline-block;
    font-size: 14px;
    color: #666666;
    font-weight: 500;
    margin-right: 35px;
    position: relative;
    cursor: pointer;
}

.property-controls {
    text-align: right;
}

.property-controls ul li:after {
    position: absolute;
    right: -22px;
    top: -1px;
    content: "|";
    color: #b1b0b0;
}

.property-controls ul li:last-child:after {
    content: none;
}

.property-controls ul li:last-child {
    margin-right: 0;
}

.property-controls .nav {
    display: block;
}

.property-controls .nav-tabs {
    border: 0;
}

.property-controls .nav-tabs a.active {
    color: #0C9074;
}

.property-item {
    margin-bottom: 40px;
    border-bottom: 1px solid #e1e1e1;
}

.property-item .pi-pic {
    height: 350px;
    position: relative;
    margin-bottom: 25px;
}

.set-bg {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
}

.property-item .pi-text {
    position: relative;
}

.property-item .pi-text .pt-price {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 10px;
}

.property-item .pi-pic .label {
    font-size: 12px;
    line-height: 1.5;
    font-weight: 600;
    text-transform: uppercase;
    padding: 3px 10px 2px;
    display: inline-block;
    background: #0166D0;
    color: #ffffff;
    position: absolute;
    left: 20px;
    top: 20px;
}

.property-item .pi-pic .label.c-red {
    background: #D41800;
}

.property-item .pi-pic .label.c-magenta {
    background: #103230;
}

.property-item .pi-text h5 a {
    font-size: 20px;
    font-weight: 700;
}

.property-item .pi-text .heart-icon {
    position: absolute;
    right: 0;
    top: 0;
    content: "";
    font-size: 14px;
    color: #0C9074;
}

.property-item .desc {
    line-height: 26px;
    font-size: 14px;
    margin-bottom: 1rem;
    height: 55px;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
}

@media only screen and (max-width: 767px) {
    .property-controls {
        text-align: left;
    }

    .property-controls ul li {
        margin-right: 24px;
        margin-bottom: 20px;
    }

    .property-controls ul li:after {
        right: -17px;
    }
}

/* 首页产品 结束 */

/* 首页案例 */
.nomore {
    width: 100%;
    text-align: center;
    padding: 20px 0;
    color: #a0a0a0;
}

/* 首页案例 结束 */

/*首页新闻*/
.home-news {
    box-shadow: 0 0 15px 0 rgb(0 0 0 / 5%);
    background-color: #fff;
}

.home-news h3 {
    font-size: 16px;
    padding: 15px 0;
    border-bottom: 1px solid #e1e1e1;
}

.home-news h3 em {
    float: right;
    font-size: 12px;
    margin-top: 4px;
    font-style: normal;

}

.home-news h3 em a {
    color: #666666;
}

.home-news ul {
    list-style: none;
    padding: 0;
}

.home-news .imggroup {
    display: flex;
    border-bottom: 1px solid #EEEEEE;
}

.home-news .imggroup .imggroup-img {
    padding-right: 15px;
}

.home-news .imggroup .imggroup-img img {
    width: 110px;
    height: 80px;
    object-fit: cover;
}

.home-news .imggroup .imggroup-text .title {
    font-size: 16px;
    margin-bottom: 5px;
    line-height: 1.5;
}

.home-news .imggroup .imggroup-text .title a {
    color: #303030;
    line-height: 1.5;
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    height: 22px;
    -webkit-line-clamp: 1;
}

.home-news .imggroup .imggroup-text .title a:hover {
    color: #0C9074;
}

.home-news .imggroup .imggroup-text .desc {
    line-height: 24px;
    font-size: 14px;
    margin-bottom: 15px;
    height: 52px;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
}

.home-news li.item {
    padding: 15px 70px 15px 0;
    position: relative;
    border-bottom: 1px solid #EEEEEE;
}

.home-news li.item .date {
    position: absolute;
    right: 0;
    font-size: 13px;
}

/*首页新闻 结束*/

/*列表页*/
.blog-item.large-blog {
    padding-bottom: 25px;
}

.blog-item {
    overflow: hidden;
    padding-bottom: 30px;
    border-bottom: 1px solid #e1e1e1;
    margin-bottom: 30px;
}

.blog-item.large-blog .bi-pic {
    float: none;
    margin-bottom: 25px;
    margin-left: 0;
}

.blog-item.large-blog .bi-pic img {
    min-width: 100%;
    height: 370px;
    object-fit: cover;
}

.blog-item .bi-pic {
    float: right;
    margin-left: 30px;
}

.blog-item .bi-pic img {
    width: 230px;
    height: 220px;
    object-fit: cover;
}

.blog-item .bi-text {
    overflow: hidden;
}

.blog-item .bi-text h4 a {
    line-height: 31px;
}

.blog-item .bi-text h4 a:hover {
    color: #0C9074;
}

.blog-item .bi-text ul {
    padding: 0;
    margin-bottom: 16px;
}

.blog-item .bi-text ul li {
    list-style: none;
    display: inline-block;
    position: relative;
    font-size: 12px;
    color: #999999;
    font-weight: 500;
    margin-right: 32px;
}

.blog-item .bi-text .desc {
    font-family: "Montserrat", sans-serif;
    color: #666666;
    font-weight: 400;
    line-height: 24px;
    margin: 0 0 15px 0;
}

.blog-item .bi-text .read-more {
    font-size: 14px;
    font-weight: 600;
}

@media only screen and (max-width: 767px) {
    .blog-item.large-blog .bi-pic img {
        height: 200px;
    }

    .blog-item .bi-pic {
        float: none;
        margin-left: 0;
        margin-bottom: 20px;
    }

    .blog-item .bi-pic img {
        width: 100%;
        height: 200px;
    }
}

/*列表页结束*/

/*新闻详情页*/
.bc-related-post {
    background: #f5f5f5;
    padding: 15px 20px 12px;
    margin-bottom: 65px;
}

.bc-related-post .previous-post, .bc-related-post .next-post {
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 700;
}

.bc-related-post .next-post {
    float: right;
}

.bc-related-post .previous-post:hover, .bc-related-post .next-post:hover {
    color: #0C9074;
}

/*新闻详情页结束*/

.filter {
    margin-bottom: 30px;
    padding: 0 15px 15px 15px;
}

.filter .option {
    padding-top: 15px;
}

.filter .option .option-title {
    min-width: 80px;
    float: left;
    font-weight: bold;
}

.filter ul {
    list-style: none;
    padding-left: 0;
    margin: 0 0 0 90px;
}

.filter ul li {
    float: left;
}

.filter ul li a {
    display: block;
    padding: 2px 10px 2px 10px;
}

.filter ul li a.active {
    color: #0C9074;
}

/*产品详情页*/
.product__details__text .product__details__rating {
    margin-bottom: 12px;
    font-size: 12px;
}

.product__details__text .product__details__price {
    font-size: 30px;
    color: #dd2222;
    font-weight: 600;
    margin-bottom: 15px;
}

.product__details__text ul {
    border-top: 1px solid #ebebeb;
    padding-top: 40px;
    margin-top: 50px;
    padding-left: 0;
}

.product__details__text ul li {
    list-style: none;
    line-height: 36px;
}

.product__details__text ul li b {
    font-weight: 700;
    width: 170px;
    display: inline-block;
}

.product__details__tab .nav-tabs li a {
    font-size: 16px;
    color: #999999;
    font-weight: 700;
    border: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    padding: 0;
}

.product__details__tab .nav-tabs li {
    margin-bottom: 0;
}

.product__details__tab .nav-tabs {
    border-bottom: none;
    justify-content: center;
    position: relative;
    padding: 0;
    margin: 0;
}

.product__details__tab {
    padding-top: 60px;
}

.product__details__tab .nav-tabs:before {
    position: absolute;
    left: 0;
    top: 12px;
    height: 1px;
    width: 370px;
    background: #ebebeb;
    content: "";
}

.product__details__tab .nav-tabs:after {
    position: absolute;
    right: 0;
    top: 12px;
    height: 1px;
    width: 370px;
    background: #ebebeb;
    content: "";
}

.product__details__tab .product__details__tab__desc {
    padding-top: 44px;
}

.product__details__text ul li .share {
    display: inline-block;
}

.product__details__text ul li .share a {
    display: inline-block;
    font-size: 15px;
    color: #1c1c1c;
    margin-right: 25px;
}

/*招聘页面样式*/
.job-list-hero{
    position: relative;
    min-height: 382px;
    max-height: 450px;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}

.job-list-hero__inner{
    position: relative;
    z-index: 1;
    min-height: 382px;
    max-height: 450px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #FFFFFF;
}

.job-list-hero__title{
    margin: 0 0 28px;
    max-width: 820px;
    font-size: 36px;
    font-weight: 600;
    line-height: 1.35;
    color: #FFFFFF;
}

.job-list-hero__desc{
    max-width: 760px;
    font-size: 14px;
    line-height: 2;
    color: rgba(255, 255, 255, .88);
}

.job-list-page{
    background: #FFFFFF;
}

.job-list-section{
    padding: 58px 0 0;
    background-color: #FFFFFF;
    background-image: url(/static/common/image/joblist-bg.png);
    background-position: 50% 0;
    background-repeat: repeat-y;
    background-size: 100% auto;
}

.job-list-section__header{
    padding: 0 0 48px;
    text-align: center;
}

.job-list-section__title{
    margin: 0;
    color: #2E2E2E;
    font-size: 36px;
    font-weight: 600;
    line-height: 1.3;
}

.job-listings{
    display: flex;
    flex-direction: column;
    gap: 0;
}

.job-list-card{
    width: 100%;
}

.job-list-card:nth-child(odd){
    background: #F3F3F3;
}

.job-list-card:nth-child(even){
    background: transparent;
}

.job-list-card__inner{
    display: grid;
    grid-template-columns: minmax(0, 1fr) 1px 180px;
    column-gap: 48px;
    align-items: center;
    min-height: 112px;
    padding: 28px 0;
}

.job-list-card__main{
    min-width: 0;
}

.job-list-card__title{
    margin: 0 0 12px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
}

.job-list-card__title a{
    color: #1F1F1F;
}

.job-list-card__meta{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
    color: #5B5B5B;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
}

.job-list-card__meta span{
    position: relative;
}

.job-list-card__meta span + span{
    padding-left: 12px;
}

.job-list-card__meta span + span:before{
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 1px;
    height: 12px;
    background: #B7B7B7;
    transform: translateY(-50%);
}

.job-list-card__desc{
    margin: 0;
    color: #525252;
    font-size: 13px;
    line-height: 1.9;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.job-list-card__action{
    display: flex;
    justify-content: flex-end;

}

.job-list-card__divider{
    width: 1px;
    height: 68px;
    background: #D8D8D8;
}

.job-list-card__button{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 128px;
    height: 40px;
    padding: 0 22px;
    border: 1px solid #1CC3A2;
    border-radius: 999px;
    color: #1CC3A2;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    background-color: #FFFFFF;
    transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
}

.job-list-card__button img{
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    transition: transform .3s ease-in-out;
}
.job-list-card__button img.on-icon{
    display: none;
}

.job-list-card__button:hover{
    background: #0C9074;
    border-color: #0C9074;
    color: #FFFFFF;
    transform: translateY(-1px);
}
.job-list-card__button:hover img:not(.on-icon){
    display: none;
}
.job-list-card__button:hover img.on-icon{
    display: block;
    transform: translateX(4px);
}
.job-list-card__button:hover img:not(.on-icon){
    transform: translateX(4px);
}


.job-list-pagination{
    margin-top: 42px;
    padding-bottom: 54px;
}

.job-idea-section{
    padding: 52px 0 58px;
    background: #FFFFFF;
}

.job-idea-grid{
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

.job-idea-card{
    text-align: center;
}

.job-idea-card__image{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 178px;
    padding: 16px;
    border: 1px solid #E8ECEB;
    border-radius: 16px;
    background: #FFFFFF;
    margin-bottom: 14px;
}

.job-idea-card__image img{
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.job-idea-card__title{
    color: #4B4B4B;
    font-size: 14px;
    line-height: 1.7;
}

@media (max-width: 1199px) {
    .job-list-card__inner{
        grid-template-columns: minmax(0, 1fr) 1px 140px;
    }

    .job-idea-grid{
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .job-list-hero,
    .job-list-hero__inner{
        min-height: 280px;
    }

    .job-list-card__inner{
        grid-template-columns: 1fr;
        gap: 16px;
        padding-top: 22px;
        padding-bottom: 22px;
    }

    .job-list-card__divider{
        display: none;
    }

    .job-list-card__action{
        justify-content: flex-start;
    }
}

@media (max-width: 767px) {
    .job-list-hero{
        min-height: 240px;
    }

    .job-list-hero__inner{
        min-height: 240px;
    }

    .job-list-hero__title{
        margin-bottom: 18px;
        font-size: 28px;
    }

    .job-list-hero__desc{
        font-size: 13px;
        line-height: 1.85;
    }

    .job-list-section{
        padding-top: 40px;
    }

    .job-list-section__header{
        padding-bottom: 30px;
    }

    .job-list-section__title{
        font-size: 28px;
    }

    .job-list-card__inner{
        gap: 14px;
        min-height: 0;
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .job-idea-grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px 12px;
    }

    .job-idea-card__image{
        height: 148px;
        margin-bottom: 10px;
    }
}

/*招聘页面样式结束*/

/** 关于我们 start **/
.about-context-header{
    margin-bottom: 48px;
}
.about-context-grid{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 32px;
}
.about-context-title-box{
    grid-gap: 12px;
    margin-bottom: 24px;
    display: flex;
    flex-direction: column;
}
.about-context-title{
    font-weight: 600;
    font-size: 20px;
    color: #FFFFFF;
    line-height: 28px;
}
.about-context-text-info{
    font-size: 16px;
    color: #202020;
    line-height: 34px;
    p{
        font-size: inherit;
        line-height: inherit;
    }
}

.lang-en .about-context-text-info,
.lang-en .about-context-text-info p{
    line-height: normal;
}
.about-context-botton{
    height: 46px;
    line-height: 46px;
    background: #0C9074;
    border-radius: 46px;
    padding: 0 28px;
    font-weight: 400;
    font-size: 16px;
    color: #FFFFFF;
    img{
        margin-left: 16px;
        transition: transform .3s ease-in-out;
    }
    width: fit-content;
    cursor: pointer;
    margin-top: 64px;
}

.about-context-botton:hover img{
    transform: translateX(4px);
}
.context-title{
    font-weight: 600;
    font-size: 40px;
    color: #2E2E2E;
    line-height: 56px;
    margin-bottom: 0px;
}

.context-title.en_h2_title{
    font-size: 32px;
}
.context-subtitle{
    font-weight: 500;
    font-size: 20px;
    color: #868686;
    line-height: 28px;
}
.context-summary{
    font-weight: 400;
    font-size: 16px;
    color: #202020;
    line-height: 22px;
    margin-top: 20px;
}
.about-context-image{
    height: 350px;
    position: relative;
    #aboutVideo{
        height: 350px;
        width: 100%;
        object-fit: fill;
    }
}

.about-video-play{
    position: absolute;
    left: 20px;
    bottom: 20px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    transition: opacity .25s ease, transform .25s ease, background .25s ease;
}

.about-video-play img{
    width: 100%;
    height: 100%;
}

.about-video-play:hover{
    transform: scale(1.2);
}

.about-video-play.is-hidden{
    opacity: 0;
    pointer-events: none;
}

.about-context-bottom{
    background-color: #FFFFFF;
    box-shadow: 0px 18px 30px 0px rgba(12,144,116,0.1);
    border-radius: 0px 0px 0px 0px;
    border: 1px solid #F3F3F3;
    padding: 15px 24px;
    display: flex;
    grid-gap: 50px;
    margin-top: 40px;
}

.about-item{
    flex: 1;
}

.about-item-label{
    font-weight: 500;
    font-size: 20px;
    color: #0C9074;
    line-height: 28px;
}
.about-item-value{
    font-weight: 400;
    font-size: 12px;
    color: #353535;
    line-height: 22px;
}

.about-item-gap{
    background-color:#EBEBEB;
    width: 1px;
    height: 50px;
    margin-top: 23px;
}

.about-context-bottom .about-item-gap:last-child{
    display: none;
}

.qiyewenhua-box{
    position: relative;
    height: 424px;
    color: #fff;
    background-position: 50% 50%;
    background-size: cover;
}

.about-context-text.wenhua{
    padding: 84px 0;
}

.wenhua .about-context-text-info{
    color: #FFFFFF;
}

.hexinyoushi-container .about-context-bottom{
    border-radius: 0;
    box-shadow: unset;
    border: unset;
    color: #FAFDFC;
    margin-top: unset;
    background-color: transparent;
    padding: 38px 0 31px;
}

.ys-bottom{
    background: #0C9074;
}


.ys-bottom  .about-item-label{
    font-weight: 500;
    font-size: 18px;
    color: #FAFDFC;
    line-height: 25px;
}
.ys-bottom  .about-item-value{
    color: #FAFDFC;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.ys-bottom .about-item-value-primary{
    font-size: 18px;
    font-weight: 500;
    line-height: 25px;
}
.ys-bottom .about-item-value-secondary{
    font-size: 12px;
    font-weight: 400;
    line-height: 22px;
}
.ys-bottom  .about-item-gap{
    height: 76px;
    margin-top: 8px;
    background-color: #FAFDFC;
}
/** 优势 **/
.hexinyoushi-container{
    padding-top: 80px;
}
.youshi-grid{
    display: grid;
    grid-gap: 12px;
    grid-template-columns: repeat(3,1fr);
}

.ys-grid-item{
    position: relative;
    height: 580px;
    color: #fff;
    background-position: 50% 50%;
    background-size: cover;
    overflow: hidden;

    padding: 0px 50px 120px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
    cursor: pointer;
}
.ys-icon{
    width: 80px;
    height: 80px;
    margin-bottom: 30px;
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition: opacity .45s ease, transform .45s ease;
    will-change: opacity, transform;
}

.ys-title{
    font-weight: 400;
    font-size: 24px;
    line-height: 26px;
}
.ys-subtitle{
    font-weight: 400;
    font-size: 18px;
    line-height: 25px;
}

.ys-desc{
    font-weight: 400;
    font-size: 14px;
    line-height: 22px;
    display: block;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    text-align: left;
    transform: translate3d(0, 24px, 0);
    transition: opacity .45s ease, transform .45s ease, max-height .45s ease;
    will-change: opacity, transform, max-height;
}

.ys-desc.en-desc{
    /*flex: 1;*/
    /*height: 0;*/
    overflow-y: auto;
}

.ys-desc::-webkit-scrollbar {
    width: 4px;
}

.ys-desc::-webkit-scrollbar-track {
    background: transparent;
}

.ys-desc::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(12, 144, 116, 0.18);
}

.ys-desc:hover::-webkit-scrollbar-thumb {
    background: rgba(12, 144, 116, 0.34);
}

.more-icon{
    width: 30px;
    height: 30px;
    margin: auto;
    position: absolute;
    bottom: 80px;
    left: 0;
    right: 0;
}
.more-icon.on{
    display: none;
}

.ys-grid-item:hover .more-icon.on{
    display: block;
}

.ys-grid-item:hover .ys-desc{
    max-height: 300px;
    opacity: 1;
    transform: translate3d(0, -8px, 0);
}
.ys-grid-item:focus-within .ys-desc{
    max-height: 280px;
    opacity: 1;
    transform: translate3d(0, -8px, 0);
}
.ys-grid-item:hover .ys-icon{
    opacity: 0;
    transform: translate3d(0, -86px, 0);
    margin-bottom: 0;
}
.ys-grid-item:focus-within .ys-icon{
    opacity: 0;
    transform: translate3d(0, -86px, 0);
    margin-bottom: 0;
}

.funeng-container{
    padding: 80px 0;
}

.fn-switcher{
    position: relative;
}

.fn-switcher-track{
    display: flex;
    gap: 18px;
    overflow: hidden;
    scroll-behavior: smooth;
}

.fn-switcher-track::-webkit-scrollbar{
    display: none;
}

.fn-switcher-card{
    flex: 0 0 calc(50% - 9px);
    border: 0;
    padding: 0;
    text-align: left;
    cursor: pointer;
    background-color: transparent;
    appearance: none;
    transition: background-size .45s ease;
}

.fn-switcher-card:only-child{
    flex-basis: 100%;
}

.fn-switcher-card:after{
    content: '';
    position: absolute;
    inset: 18px;
    border: 1px solid transparent;
    transition: border-color 0.3s ease, opacity 0.3s ease;
    opacity: 0;
    pointer-events: none;
}

.fn-switcher-card.is-active:after{
    /*border-color: rgba(255,255,255,0.88);*/
    opacity: 1;
}

.fn-switcher-card.is-active:before{
    height: 112px;
    background: linear-gradient(180deg, rgba(0,0,0,0.08) 0%, rgba(0,0,0,0.54) 100%);
}

.fn-switcher-card:hover,
.fn-switcher-card:focus-visible,
.fn-switcher-card.is-active{
    background-size: 110%;
}

.fn-switcher-arrow{
    position: absolute;
    top: 50%;
    z-index: 2;
    display: none;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 0;
    background: transparent;
    transform: translateY(-50%);
    cursor: pointer;
}

.fn-switcher.has-nav .fn-switcher-arrow{
    display: block;
}

.fn-switcher-prev{
    left: -72px;
}

.fn-switcher-next{
    right: -72px;
}

.fn-switcher-arrow img{
    display: block;
    width: 100%;
    height: 100%;
}

.fn-switcher-arrow .fn-arrow-on{
    display: none !important;
}

.fn-switcher-arrow:hover .fn-arrow-normal{
    display: none;
}

.fn-switcher-arrow:hover .fn-arrow-on{
    display: block !important;
}

.fn-switcher-arrow:disabled{
    cursor: default;
    opacity: 0.35;
}

.fn-switcher-arrow:disabled .fn-arrow-on{
    display: none !important;
}

.fn-switcher-arrow:disabled:hover .fn-arrow-normal{
    display: block;
}

.fn-switcher-panels{
    margin-top: 18px;
}

.fn-switcher-panel{
    display: none;
}

.fn-switcher-panel.is-active{
    display: block;
}

.fn-panel-list{
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.fn-grid--content{
    grid-template-columns: repeat(10, 1fr);
}

.fn-grid{
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    gap: 18px;
}

.fn-grid-item{
    position: relative;
    min-height: 193px;
    overflow: hidden;
}

.fn-grid-item.card-image{
    grid-column: span 5;
    min-height: 263px;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}

.fn-grid-item.card-image:before{
    content: '';
    position: absolute;
    height: 74px;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0,0,0,0.4);
    transition: height .35s ease, background .35s ease;
}

.fn-grid-item.is-active.card-image:before{
    height: 104px;
}

.fn-grid-item.card-image .fn-grid-item-info{
    position: absolute;
    left: 26px;
    bottom: 22px;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    color: #FFFFFF;
}

.fn-switcher-card .fn-title{
    margin-bottom: 0;
    transition: margin-bottom .3s ease;
}

.fn-switcher-card .fn-subtitle{
    max-height: 0;
    margin-top: 0;
    opacity: 0;
    overflow: hidden;
    transform: translate3d(0, 10px, 0);
    transition: max-height .35s ease, margin-top .35s ease, opacity .25s ease, transform .35s ease;
}

.fn-switcher-card.is-active .fn-title{
    margin-bottom: 0;
}

.fn-switcher-card.is-active .fn-subtitle{
    max-height: 44px;
    margin-top: 8px;
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.fn-grid-item.card-content{
    grid-column: span 7;
    display: flex;
    align-items: center;
    min-height: 193px;
    padding: 38px 44px;
    background: #0C9074;
    color: #FFFFFF;
}

.fn-grid-item.card-image-side{
    grid-column: span 3;
    min-height: 193px;
}

.fn-grid-item.card-image-side:before{
    display: none;
}

.fn-title{
    margin-bottom: 12px;
    font-weight: 500;
    font-size: 20px;
    line-height: 28px;
}

.fn-subtitle{
    font-weight: 400;
    font-size: 14px;
    line-height: 22px;
}

.fn-subtitle.fn-content{
    height: 90px;
    overflow-y: auto;
    padding-right: 6px;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.22) transparent;
    overscroll-behavior: contain;
}

.fn-subtitle.fn-content::-webkit-scrollbar{
    width: 4px;
}

.fn-subtitle.fn-content::-webkit-scrollbar-track{
    background: transparent;
}

.fn-subtitle.fn-content::-webkit-scrollbar-thumb{
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
}

.fn-subtitle.fn-content:hover::-webkit-scrollbar-thumb{
    background: rgba(255, 255, 255, 0.34);
}

.fn-content,
.fn-content p,
.fn-content *{
    margin-bottom: 0;
    color: #FFFFFF !important;
    line-height: 22px;
}

@media (max-width: 991px) {
    .fn-switcher-track{
        overflow-x: auto;
        scroll-snap-type: x mandatory;
    }

    .fn-switcher-card{
        scroll-snap-align: start;
    }

    .fn-switcher-prev{
        left: -24px;
    }

    .fn-switcher-next{
        right: -24px;
    }

    .fn-grid{
        grid-template-columns: repeat(2, 1fr);
    }

    .fn-grid-item.card-image,
    .fn-grid-item.card-content,
    .fn-grid-item.card-image-side{
        grid-column: span 1;
    }
}

@media (max-width: 767px) {
    .funeng-container{
        padding: 56px 0;
    }

    .fn-switcher-track{
        gap: 14px;
        overflow-x: auto;
    }

    .fn-switcher-card{
        flex-basis: 100%;
    }

    .fn-switcher.has-nav .fn-switcher-arrow{
        display: none;
    }

    .fn-switcher-panels{
        margin-top: 14px;
    }

    .fn-panel-list{
        gap: 14px;
    }

    .fn-grid{
        grid-template-columns: 1fr;
    }

    .fn-grid-item.card-image,
    .fn-grid-item.card-content,
    .fn-grid-item.card-image-side{
        grid-column: span 1;
        min-height: 220px;
    }

    .fn-grid-item.card-content{
        padding: 28px 24px;
    }
}

.fazhanlicheng-container{
    padding: 80px 0 80px;
    background-image: url("/static/common/image/fazhanlicheng.png");
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    overflow: hidden;
}

.fz-history-box{
    position: relative;
    box-sizing: border-box;
    width: 100%;
}

.fz-history-box-inner{
    position: relative;
    box-sizing: border-box;
    width: 100%;
    padding-top: 26px;
}

.fz-history-box:before{
    content: '';
    position: absolute;
    top: 86px;
    left: 0;
    right: 0;
    height: 1px;
    background: rgba(210, 210, 210, .86);
}

.fz-history-track{
    position: relative;
    display: flex;
    gap: 72px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 0 8px;
    scroll-behavior: smooth;
    scrollbar-width: none;
}

.fz-history-track::-webkit-scrollbar{
    display: none;
}

.fz-history-item{
    position: relative;
    z-index: 1;
    flex: 0 0 230px;
    min-height: 278px;
    padding: 18px 14px 22px;
    color: #3A3A3A;
    cursor: default;
    transition: background .25s ease, color .25s ease, box-shadow .25s ease;
}

.fz-history-title{
    margin-bottom: 13px;
    font-weight: 600;
    font-size: 18px;
    line-height: 25px;
    white-space: pre;
}

.fz-history-dot{
    width: 10px;
    height: 10px;
    margin-bottom: 20px;
    border-radius: 50%;
    background: #D9D9D9;
}

.fz-history-year{
    margin-bottom: 18px;
    font-weight: 400;
    font-size: 20px;
    line-height: 28px;
}

.fz-history-content{
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-height: 180px;
    overflow-y: auto;
    padding-right: 6px;
    scrollbar-width: thin;
    scrollbar-color: rgba(12, 144, 116, 0.22) transparent;
    overscroll-behavior: contain;
}

.fz-history-content::-webkit-scrollbar{
    width: 4px;
}

.fz-history-content::-webkit-scrollbar-track{
    background: transparent;
}

.fz-history-content::-webkit-scrollbar-thumb{
    border-radius: 999px;
    background: rgba(12, 144, 116, 0.18);
}

.fz-history-content:hover::-webkit-scrollbar-thumb{
    background: rgba(12, 144, 116, 0.34);
}

.fz-history-item.is-active .fz-history-content{
    scrollbar-color: rgba(255, 255, 255, 0.26) transparent;
}

.fz-history-item.is-active .fz-history-content::-webkit-scrollbar-thumb{
    background: rgba(255, 255, 255, 0.22);
}

.fz-history-item.is-active .fz-history-content:hover::-webkit-scrollbar-thumb{
    background: rgba(255, 255, 255, 0.4);
}

.fz-history-content,
.fz-history-content-item,
.fz-history-content p{
    margin-bottom: 0;
    font-weight: 400;
    font-size: 14px;
    line-height: 22px;
    color: inherit;
}

.fz-history-content-item{
    display: grid;
    grid-template-columns: 34px 1fr;
    column-gap: 10px;
}

.fz-history-item.is-active{
    flex-basis: 230px;
    background: #0C9074;
    color: #FFFFFF;
    box-shadow: 0 20px 40px rgba(12, 144, 116, .16);
}

.fz-history-item.is-active .fz-history-title{
    margin-bottom: 12px;
}

.fz-history-item.is-active .fz-history-dot{
    background: #FFFFFF;
}

.fz-history-arrow{
    position: absolute;
    top: 148px;
    z-index: 5;
    width: 26px;
    height: 26px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
}

.fz-history-prev{
    left: 60px;
}

.fz-history-next{
    right: 60px;
}

.fz-history-arrow img{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.fz-arrow-on{
    display: none;
}

.fz-history-box:not(.is-start) .fz-history-prev .fz-arrow-normal,
.fz-history-box:not(.is-end) .fz-history-next .fz-arrow-normal{
    display: none;
}

.fz-history-box:not(.is-start) .fz-history-prev .fz-arrow-on{
    display: block;
}

.fz-history-box:not(.is-end) .fz-history-next .fz-arrow-on{
    display: block;
}

@media (max-width: 991px) {
    .fz-history-track{
        gap: 28px;
    }
}

@media (max-width: 767px) {
    .fazhanlicheng-container{
        padding: 56px 0 64px;
    }

    .fz-history-item,
    .fz-history-item.is-active{
        flex-basis: 220px;
    }

    .fz-history-arrow{
        top: 146px;
    }

    .fz-history-prev{
        left: 8px;
    }

    .fz-history-next{
        right: 8px;
    }
}

.rongyuzizhi-container{
    padding: 80px 0 74px;
    /*background: linear-gradient(180deg, #FFFFFF 0%, #F3FFFC 100%);*/
}

.ry-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.ry-grid-item{
    background: #FFFFFF;
    box-shadow: 0px 0px 15px 0px rgba(12, 144, 116, 0.1);
}

.ry-card-image{
    height: 271px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 34px;
    overflow: hidden;
    background-color: #FFF;
}

.ry-card-image img{
    width: 100%;
    min-height: 100%;
    object-fit: contain;
    transform: scale(1);
    transform-origin: center;
    transition: transform .25s ease;
}

.ry-card-image:hover img{
    transform: scale(1.25);
}

.ry-card-body{
    min-height: 150px;
    padding: 18px 20px 24px;
    border-top: 1px solid #EDEDED;
}

.ry-card-title{
    margin-bottom: 14px;
    font-weight: 600;
    font-size: 16px;
    color: #0C9074;
    line-height: 22px;
}

.ry-card-desc,
.ry-card-desc p{
    margin-bottom: 0;
    font-weight: 400;
    font-size: 13px;
    color: #303030;
    line-height: 26px;
    white-space: pre-line;
}

.ry-renzheng{
    display: flex;
    align-items: center;
    margin-top: 21px;
    min-height: 96px;
    padding: 16px 30px 16px 60px;
    background: #0C9074;
    color: #FFFFFF;
}

.ry-renzheng-name{
    flex: 0 0 154px;
    margin-right: 20px;
    border-right: 1px solid rgba(255, 255, 255, .22);
    font-weight: 400;
    font-size: 16px;
    /*line-height: 62px;*/
}

.ry-renzheng-icons{
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.ry-renzheng-icon{
    width: 78px;
    height: 78px;
    border-radius: 50%;
    display: flex;
    flex: 0 0 78px;
    align-items: center;
    justify-content: center;
    background: #FFFFFF;
    transition: transform .25s ease;
}

.ry-renzheng-icon img{
    max-width: 48px;
    max-height: 48px;
    object-fit: contain;
}

@media (max-width: 991px) {
    .ry-grid{
        grid-template-columns: 1fr;
    }

    .ry-renzheng{
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
        padding: 24px;
    }

    .ry-renzheng-name{
        flex: none;
        width: 100%;
        margin-right: 0;
        padding-bottom: 16px;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .22);
        /*line-height: 24px;*/
    }

    .ry-renzheng-icons{
        flex-wrap: wrap;
        justify-content: flex-start;
    }
}

@media (max-width: 767px) {
    .rongyuzizhi-container{
        padding: 56px 0;
    }

    .ry-card-image{
        height: 190px;
    }
}

@media (max-width: 991px) {
    .context-title{
        font-size: 32px;
        line-height: 1.3;
    }

    .context-subtitle{
        font-size: 18px;
        line-height: 1.5;
    }

    .context-summary{
        font-size: 15px;
        line-height: 1.8;
        margin-top: 16px;
    }

    .about-context-header{
        margin-bottom: 34px;
    }

    .about-context-grid{
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .about-context-text-info,
    .about-context-text-info p{
        font-size: 15px;
        line-height: 1.95;
    }

    .about-context-botton{
        margin-top: 36px;
    }

    .about-context-image{
        height: auto;
    }

    .about-context-image #aboutVideo{
        display: block;
        width: 100%;
        height: auto;
        max-height: 420px;
        object-fit: cover;
    }

    .about-context-bottom{
        flex-wrap: wrap;
        gap: 20px 0;
        padding: 22px 20px;
    }

    .about-item{
        flex: 0 0 50%;
        min-width: 0;
        padding-right: 16px;
    }

    .about-item-gap{
        display: none;
    }

    .qiyewenhua-box{
        height: auto;
        min-height: 0;
    }

    .about-context-text.wenhua{
        padding: 64px 0;
    }

    .hexinyoushi-container{
        padding-top: 64px;
    }

    .youshi-grid{
        grid-template-columns: 1fr;
    }

    .ys-grid-item{
        height: auto;
        min-height: 420px;
        padding: 64px 36px;
    }

    .more-icon{
        bottom: 48px;
    }

    .hexinyoushi-container .about-context-bottom{
        padding: 24px 0 8px;
    }

    .fazhanlicheng-container{
        padding: 64px 0 72px;
    }

    .fz-history-box:before{
        top: 84px;
    }

    .fz-history-track{
        gap: 28px;
    }

    .fz-history-item,
    .fz-history-item.is-active{
        flex-basis: 240px;
        min-height: 250px;
    }

    .ry-grid{
        gap: 18px;
    }
}

@media (max-width: 767px) {
    .main-container,
    .project-area,
    .section-padding{
        padding-top: 56px;
        padding-bottom: 56px;
    }

    .context-title{
        font-size: 26px;
    }

    .context-subtitle{
        font-size: 15px;
    }

    .context-summary{
        font-size: 14px;
        line-height: 1.7;
    }

    .about-context-header{
        margin-bottom: 26px;
    }

    .about-context-text-info,
    .about-context-text-info p{
        font-size: 14px;
        line-height: 1.85;
    }

    .about-context-botton{
        width: 100%;
        justify-content: center;
        display: inline-flex;
        align-items: center;
        padding: 0 20px;
        font-size: 15px;
        margin-top: 28px;
    }

    .about-item{
        flex-basis: 100%;
        padding-right: 0;
    }

    .about-item-label{
        font-size: 18px;
        line-height: 1.4;
    }

    .qiyewenhua-box{
        background-position: 58% 50%;
    }

    .about-context-text.wenhua{
        padding: 48px 0;
    }

    .about-context-title{
        font-size: 18px;
        line-height: 1.5;
    }

    .hexinyoushi-container{
        padding-top: 56px;
    }

    .ys-grid-item{
        min-height: 360px;
        padding: 48px 24px;
        gap: 16px;
    }

    .ys-icon{
        width: 64px;
        height: 64px;
        margin-bottom: 16px;
    }

    .ys-title{
        font-size: 22px;
        line-height: 1.35;
        text-align: center;
    }

    .ys-subtitle{
        font-size: 16px;
        line-height: 1.5;
        text-align: center;
    }

    .ys-desc{
        font-size: 13px;
        line-height: 1.8;
    }

    .ys-bottom .about-context-bottom{
        padding-top: 12px;
        padding-bottom: 4px;
    }

    .funeng-container{
        padding: 56px 0;
    }

    .fn-switcher-track{
        gap: 14px;
    }

    .fn-grid{
        gap: 14px;
    }

    .fn-grid-item.card-image,
    .fn-grid-item.card-content,
    .fn-grid-item.card-image-side{
        min-height: 200px;
    }

    .fn-grid-item.card-image .fn-grid-item-info{
        left: 18px;
        right: 18px;
        bottom: 16px;
    }

    .fn-grid-item.card-content{
        padding: 24px 18px;
    }

    .fn-title{
        margin-bottom: 10px;
        font-size: 18px;
        line-height: 1.45;
    }

    .fn-subtitle,
    .fn-content,
    .fn-content p,
    .fn-content *{
        font-size: 13px;
        line-height: 1.8;
        color: #FFFFFF !important;
    }

    .fazhanlicheng-container{
        padding: 56px 0 64px;
    }

    .fz-history-box:before{
        top: 78px;
    }

    .fz-history-track{
        gap: 18px;
        padding-bottom: 4px;
    }

    .fz-history-item,
    .fz-history-item.is-active{
        flex-basis: 200px;
        min-height: 236px;
        padding: 16px 12px 20px;
    }

    .fz-history-title{
        font-size: 16px;
        line-height: 1.45;
    }

    .fz-history-year{
        margin-bottom: 14px;
        font-size: 18px;
        line-height: 1.4;
    }

    .fz-history-content,
    .fz-history-content-item,
    .fz-history-content p{
        font-size: 13px;
        line-height: 1.7;
    }

    .fz-history-content-item{
        grid-template-columns: 30px 1fr;
        column-gap: 8px;
    }

    .fz-history-arrow{
        display: none;
    }

    .rongyuzizhi-container{
        padding: 56px 0;
    }

    .ry-card-image{
        height: 190px;
        padding: 20px;
    }

    .ry-card-body{
        min-height: 0;
        padding: 16px 16px 20px;
    }

    .ry-renzheng{
        margin-top: 16px;
        padding: 20px 16px;
        gap: 14px;
    }

    .ry-renzheng-icons{
        gap: 12px;
    }

    .ry-renzheng-icon{
        width: 64px;
        height: 64px;
        flex-basis: 64px;
    }

    .ry-renzheng-icon img{
        max-width: 38px;
        max-height: 30px;
    }
}
/** 关于我们 end **/

/** 文章详情 start **/
.article-detail-page{
    padding: 44px 0 92px;
    background: #FFFFFF;
}

.article-detail-breadcrumb{
    margin-bottom: 26px;
    color: #8F8F8F;
    font-size: 14px;
    line-height: 22px;
}

.article-detail-breadcrumb a{
    color: #8F8F8F;
    transition: color .25s ease;
}

.article-detail-breadcrumb a:hover{
    color: #0C9074;
}

.article-detail-card{
    padding: 48px 73px 30px;
    border: 1px solid #E7E7E7;
    border-radius: 12px;
    background: #FFFFFF;
    /*box-shadow: 0 18px 48px rgba(19, 40, 56, .05);*/
}

.article-detail-header{
    padding-bottom: 28px;
    margin-bottom: 34px;
    border-bottom: 1px solid #EFEFEF;
    text-align: center;
}

.article-detail-title{
    margin: 0;
    font-weight: 600;
    font-size: 24px;
    color: #090909;
    line-height: 30px;
}

.article-detail-meta{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px 0;
    margin-top: 22px;
    font-weight: 400;
    font-size: 14px;
    color: #464646;
    line-height: 30px;
}

.article-detail-meta span{
    position: relative;
    padding: 0 18px;
}

.article-detail-meta span + span:before{
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 1px;
    height: 14px;
    background: #D9D9D9;
    transform: translateY(-50%);
}

.article-detail-content{
    color: #3D3D3D;
    font-size: 17px;
    line-height: 2.05;
    word-break: break-word;
}

.article-detail-content img{
    display: block;
    max-width: 100%;
    height: auto !important;
    margin: 26px auto 18px;
    border-radius: 8px;
}

.article-detail-content figure,
.article-detail-content .wp-caption{
    max-width: 100%;
    margin: 30px auto;
    text-align: center;
}

.article-detail-content figcaption,
.article-detail-content .wp-caption-text,
.article-detail-content .img-desc{
    margin-top: 14px;
    color: #4A4A4A;
    font-size: 16px;
    line-height: 1.75;
    text-align: center;
}

.article-detail-content h1,
.article-detail-content h2,
.article-detail-content h3,
.article-detail-content h4,
.article-detail-content h5,
.article-detail-content h6{
    margin: 36px 0 18px;
    color: #222222;
    line-height: 1.5;
}

.article-detail-content ul,
.article-detail-content ol{
    padding-left: 22px;
    margin-bottom: 24px;
}

.article-detail-content table{
    width: 100% !important;
    margin: 28px 0;
    border-collapse: collapse;
}

.article-detail-content table td,
.article-detail-content table th{
    padding: 12px 14px;
    border: 1px solid #EAEAEA;
}

.article-detail-pagebar{
    margin-top: 36px;
    padding-top: 18px;
}

.article-detail-pagebar .pagination{
    justify-content: center;
    margin-bottom: 0;
}

.article-detail-pagebar .pagination li a,
.article-detail-pagebar .pagination li span{
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border-radius: 999px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.article-detail-nav{
    margin-top: 24px;
}

.article-detail-nav__item{
    display: block;
    font-weight: 400;
    font-size: 18px;
    color: #757575;
    line-height: 30px;
    transition: color .25s ease;
}

.article-detail-nav__item + .article-detail-nav__item{
    margin-top: 6px;
}

.article-detail-nav__item:hover{
    color: #0C9074;
}

.article-detail-nav__item--next{
    /*color: #0C9074;*/
}

.article-detail-nav__label{
    font-weight: 400;
}

.article-detail-nav__text{
    font-weight: 500;
}

.article-detail-nav__item.is-disabled{
    color: #B3B3B3;
    pointer-events: none;
}

@media (max-width: 1199px) {
    .article-detail-card{
        padding: 32px 36px 42px;
    }

    .article-detail-title{
        font-size: 34px;
    }

    .article-detail-nav__item{
        font-size: 20px;
    }
}

@media (max-width: 767px) {
    .article-detail-page{
        padding: 28px 0 56px;
    }

    .article-detail-breadcrumb{
        margin-bottom: 18px;
        font-size: 13px;
    }

    .article-detail-card{
        padding: 24px 18px 28px;
        border-radius: 14px;
    }

    .article-detail-header{
        padding-bottom: 20px;
        margin-bottom: 24px;
    }

    .article-detail-title{
        font-size: 24px;
    }

    .article-detail-meta{
        margin-top: 16px;
        justify-content: flex-start;
        font-size: 13px;
    }

    .article-detail-meta span{
        padding: 0 12px 0 0;
    }

    .article-detail-meta span + span:before{
        display: none;
    }

    .article-detail-content{
        font-size: 15px;
        line-height: 1.9;
    }

    .article-detail-content img{
        margin: 20px auto 14px;
    }

    .article-detail-content figcaption,
    .article-detail-content .wp-caption-text,
    .article-detail-content .img-desc{
        font-size: 14px;
    }

    .article-detail-nav{
        margin-top: 18px;
    }

    .article-detail-nav__item{
        font-size: 16px;
        line-height: 1.7;
    }
}
/** 文章详情 end **/

/** 协议页面 start **/
.protocol-page{
    background: #FFFFFF;
}

.protocol-hero{
    position: relative;
    min-height: 320px;
    max-height: 450px;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}

.protocol-hero__overlay{
    position: absolute;
    inset: 0;
    background: rgba(15, 35, 52, .74);
}

.protocol-hero__inner{
    position: relative;
    z-index: 1;
    min-height: 320px;
    max-height: 450px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.protocol-hero__subtitle{
    max-width: 960px;
    color: #FFFFFF;
    font-size: 34px;
    font-weight: 500;
    line-height: 1.35;
    text-transform: uppercase;
    word-break: break-word;
}

.protocol-section{
    padding: 56px 0 96px;
    background: #FFFFFF;
}

.protocol-card{
    padding: 0 56px;
}

.protocol-card__header{
    padding-bottom: 24px;
    margin-bottom: 24px;
    border-bottom: 1px solid #DCDCDC;
    text-align: center;
}

.protocol-card__title{
    margin: 0;
    color: #202020;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.35;
}

.protocol-card__meta{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 0;
    margin-top: 16px;
    color: #808080;
    font-size: 13px;
    line-height: 22px;
}

.protocol-card__meta span{
    position: relative;
    padding: 0 16px;
}

.protocol-card__meta span + span:before{
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 1px;
    height: 12px;
    background: #CFCFCF;
    transform: translateY(-50%);
}

.protocol-card__content{
    color: #2E2E2E;
    font-size: 14px;
    line-height: 2.15;
    word-break: break-word;
}

.protocol-card__content p{
    margin: 0 0 22px;
}

.protocol-card__content img{
    display: block;
    max-width: 100%;
    height: auto !important;
    margin: 24px auto 16px;
}

.protocol-card__content h1,
.protocol-card__content h2,
.protocol-card__content h3,
.protocol-card__content h4,
.protocol-card__content h5,
.protocol-card__content h6{
    margin: 28px 0 14px;
    color: #222222;
    line-height: 1.5;
}

.protocol-card__content ul,
.protocol-card__content ol{
    margin: 0 0 22px;
    padding-left: 20px;
}

.protocol-card__content table{
    width: 100% !important;
    margin: 24px 0;
    border-collapse: collapse;
}

.protocol-card__content table td,
.protocol-card__content table th{
    padding: 10px 12px;
    border: 1px solid #E7E7E7;
}

@media (max-width: 1199px) {
    .protocol-card{
        padding-left: 24px;
        padding-right: 24px;
    }
}

@media (max-width: 767px) {
    .protocol-hero,
    .protocol-hero__inner{
        min-height: 220px;
    }

    .protocol-hero__subtitle{
        font-size: 24px;
    }

    .protocol-section{
        padding: 34px 0 56px;
    }

    .protocol-card{
        padding-left: 0;
        padding-right: 0;
    }

    .protocol-card__header{
        padding-bottom: 18px;
        margin-bottom: 18px;
    }

    .protocol-card__title{
        font-size: 28px;
    }

    .protocol-card__meta{
        margin-top: 12px;
        font-size: 12px;
        justify-content: flex-start;
    }

    .protocol-card__meta span{
        padding: 0 12px 0 0;
    }

    .protocol-card__meta span + span:before{
        display: none;
    }

    .protocol-card__content{
        font-size: 13px;
        line-height: 2;
    }
}
/** 协议页面 end **/

/** 新闻中心 start **/
.news-center-hero{
    position: relative;
    min-height: 382px;
    max-height: 450px;
    overflow: hidden;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}

.news-center-hero__inner{
    position: relative;
    z-index: 1;
    min-height: 382px;
    max-height: 450px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.news-center-hero__title{
    margin: 0;
    color: #FFFFFF;
    font-weight: 600;
    font-size: 48px;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
}

.news-center-page{
    padding: 28px 0 88px;
    background: linear-gradient(180deg, #FFFFFF 0%, #FBFDFC 100%);
}

.news-spotlight{
    margin-bottom: 32px;
}

.news-spotlight-swiper{
    overflow: hidden;
}

.news-spotlight-card{
    display: grid;
    grid-template-columns: minmax(0, 460px) minmax(0, 1fr);
    align-items: stretch;
    background: #F7F9F8;
}

.news-spotlight-card__media{
    display: block;
    overflow: hidden;
}

.news-spotlight-card__media img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    background: #EEF2F0;
    transform: scale(1);
    transition: transform .35s ease;
}

.news-spotlight-card:hover .news-spotlight-card__media img {
    transform: scale(1.08);
}

.news-spotlight-card__body{
    padding: 34px 38px 30px;
    height: 320px;
}

.news-spotlight-card__date{
    color: #3A3A3A;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
}

.news-spotlight-card__title{
    margin: 14px 0 22px;
    color: #21252A;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.45;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.news-spotlight-card__title a{
    color: inherit;
}

.news-spotlight-card__desc{
    margin: 0;
    color: #535A62;
    font-size: 16px;
    line-height: 1.95;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
}

.news-spotlight-pagination{
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 16px;
    position: absolute;
    left: 502px !important;
    z-index: 100;
}

.news-spotlight-pagination .swiper-pagination-bullet{
    width: 16px;
    height: 4px;
    border-radius: 999px;
    margin: 0 !important;
    background: #D9DDDB;
    opacity: 1;
    transition: width .25s ease, background .25s ease;
}

.news-spotlight-pagination .swiper-pagination-bullet-active{
    width: 18px;
    background: #0C9074;
}

.news-center-toolbar{
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    border-bottom: 1px solid #E9EFEC;
}

.news-center-tabs{
    display: flex;
    align-items: center;
    gap: 34px;
    /*min-height: 50px;*/
}

.news-center-tabs__item{
    position: relative;
    padding-bottom: 14px;
    color: #7A8380;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
    transition: color .25s ease;
}

.news-center-tabs__item:after{
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background: #0C9074;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .25s ease;
}

.news-center-tabs__item.active,
.news-center-tabs__item:hover{
    color: #0C9074;
}

.news-center-tabs__item.active:after,
.news-center-tabs__item:hover:after{
    transform: scaleX(1);
}

.news-center-search{
    width: 100%;
    max-width: 312px;
    margin-bottom: 8px;
}

.news-center-search__field{
    height: 44px;
    margin: 0;
    padding: 0 16px;
    border: 1px solid #DBE3DF;
    border-radius: 10px;
    background: #FFFFFF;
    display: flex;
    align-items: center;
    gap: 10px;
}

.news-center-search__icon{
    width: 16px;
    height: 16px;
    opacity: .7;
}

.news-center-search__field .form-control{
    height: auto;
    padding: 0;
    border: 0;
    box-shadow: none;
    background: transparent;
    color: #4C5552;
    font-size: 14px;
}

.news-center-search__field .form-control::placeholder{
    color: #9DA5A2;
}

.news-center-search__field .form-control:focus{
    box-shadow: none;
}

.news-center-results{
    background: transparent;
}

.news-center-card{
    background: transparent;
}

.news-center-card + .news-center-card{
    margin-top: 2px;
}

.news-center-card .search-card__media img{
    height: 180px;
}

.news-center-card .search-card__title{
    margin-bottom: 16px;
    font-size: 22px;
}

.news-center-card .search-card__desc{
    -webkit-line-clamp: 3;
}

.news-center-pagination{
    margin-top: 34px;
}

.news-center-tabs.is-loading{
    pointer-events: none;
    opacity: .72;
}

.news-center-panel{
    position: relative;
    transition: opacity .2s ease;
}

.news-center-panel.is-loading{
    pointer-events: none;
    opacity: .55;
}

@media (max-width: 1199px) {
    .news-center-hero,
    .news-center-hero__inner{
        min-height: 380px;
    }

    .news-center-hero__title{
        font-size: 58px;
    }

    .news-spotlight-card{
        grid-template-columns: minmax(0, 380px) minmax(0, 1fr);
    }

    .news-spotlight-card__media img{
        height: 250px;
    }

    .news-spotlight-card__body{
        padding: 28px 28px 24px;
    }
}

@media (max-width: 991px) {
    .news-center-toolbar{
        flex-direction: column;
        align-items: stretch;
    }

    .news-center-tabs{
        gap: 22px;
        flex-wrap: wrap;
    }

    .news-center-search{
        max-width: none;
    }

    .news-spotlight-card{
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .news-center-hero,
    .news-center-hero__inner{
        min-height: 240px;
    }

    .news-center-hero__title{
        font-size: 36px;
    }

    .news-center-page{
        padding: 20px 0 60px;
    }

    .news-center-card:first-child{
        box-shadow: none;
    }

    .news-spotlight{
        margin-bottom: 24px;
    }

    .news-spotlight-card__media img{
        height: 220px;
    }

    .news-spotlight-card__body{
        padding: 20px 18px 18px;
    }

    .news-spotlight-card__date{
        font-size: 15px;
    }

    .news-spotlight-card__title{
        margin: 12px 0 14px;
        font-size: 20px;
    }

    .news-spotlight-card__desc{
        font-size: 14px;
        line-height: 1.8;
    }

    .news-center-tabs{
        gap: 18px;
        min-height: 0;
    }

    .news-center-tabs__item{
        padding-bottom: 10px;
        font-size: 14px;
    }
}
/** 新闻中心 end **/

/** 产品详情 start **/
.product-detail-page{
    background: #f7fafb;
}

.product-detail-hero{
    position: relative;
    overflow: hidden;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}

.product-detail-hero__inner{
    position: relative;
    z-index: 1;
    min-height: 454px;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    align-items: center;
    gap: 56px;
}

.product-detail-hero__visual{
    position: relative;
}

.product-detail-hero__stage{
    position: relative;
    min-height: 410px;
    display: block;
}

.product-detail-hero__carousel-shell{
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 490px;
    margin: 0 auto 10px;
    padding: 0;
}

.product-detail-hero__carousel{
    overflow: hidden;
}

.product-detail-hero__pagination{
    position: relative;
    z-index: 1;
    width: 100%;
    margin: 0 auto 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
}

.product-detail-hero__pagination .swiper-pagination-bullet{
    width: 44px;
    height: 5px;
    margin: 0 !important;
    border-radius: 999px;
    background: rgba(255, 255, 255, .28);
    opacity: 1;
    transition: background .25s ease, opacity .25s ease, transform .25s ease;
}

.product-detail-hero__pagination .swiper-pagination-bullet-active{
    background: #FFFFFF;
    transform: scaleX(1.08);
}

.product-detail-hero__slide{
    height: 275px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.product-detail-hero__slide img{
    display: block;
    width: auto;
    max-width: 370px;
    max-height: 247px;
    object-fit: contain;
    filter: drop-shadow(0 26px 40px rgba(103, 132, 148, .18));
}

.tray-bottom{
    position: absolute;
    bottom: 40px;
    left: 50%;
    z-index: 0;
    width: 490px;
    height: 115px;
    transform: translateX(-50%);
    object-fit: contain;
    pointer-events: none;
}


.product-detail-hero__stage-base,
.product-detail-hero__stage-shadow{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 999px;
}

.product-detail-hero__stage-base{
    bottom: 0;
    width: 476px;
    height: 26px;
    background: radial-gradient(circle at 50% 40%, rgba(210, 224, 235, .95), rgba(210, 224, 235, .4) 62%, rgba(210, 224, 235, 0) 100%);
}

.product-detail-hero__stage-shadow{
    bottom: 92px;
    width: 420px;
    height: 34px;
    background: radial-gradient(circle, rgba(143, 168, 185, .28) 0%, rgba(143, 168, 185, 0) 74%);
}

.product-detail-hero__content{
    max-width: 520px;
}

.product-detail-hero__model{
    margin-bottom: 16px;
    color: #4f606c;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.2;
}

.product-detail-hero__title{
    margin: 0 0 20px;
    color: #202020;
    font-size: 38px;
    font-weight: 700;
    line-height: 1.34;
}

.product-detail-hero__title.en_h2_title{
    font-size: 32px;
}

.product-detail-hero__intro{
    --product-detail-intro-font-size: 16px;
    --product-detail-intro-line-height: 1.95;
    --product-detail-intro-lines: 4;
    color: #6a7178;
    font-size: var(--product-detail-intro-font-size);
    line-height: var(--product-detail-intro-line-height);
    max-height: calc(var(--product-detail-intro-font-size) * var(--product-detail-intro-line-height) * var(--product-detail-intro-lines));
    overflow-y: auto;
    padding-right: 6px;
    scrollbar-width: thin;
    scrollbar-color: rgba(12, 144, 116, 0.22) transparent;
    overscroll-behavior: contain;
}

.product-detail-hero__intro::-webkit-scrollbar{
    width: 4px;
}

.product-detail-hero__intro::-webkit-scrollbar-track{
    background: transparent;
}

.product-detail-hero__intro::-webkit-scrollbar-thumb{
    border-radius: 999px;
    background: rgba(12, 144, 116, 0.18);
}

.product-detail-hero__intro:hover::-webkit-scrollbar-thumb{
    background: rgba(12, 144, 116, 0.34);
}

.product-detail-hero__intro p{
    margin-bottom: 0;
    line-height: inherit;
}

.product-detail-hero__intro.en_desc{
    --product-detail-intro-line-height: 1.5;
}

.product-detail-hero__actions{
    margin-top: 32px;
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
}

.product-detail-hero__button{
    min-width: 172px;
    padding: 0 28px;
    height: 48px;
    border: 1px solid #10987a;
    border-radius: 999px;
    background: #10987a;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #ffffff;
    font-size: 15px;
    font-weight: 500;
    transition: all .25s ease;
}

.product-detail-hero__button:hover{
    background: #0d866d;
    border-color: #0d866d;
    color: #ffffff;
}

.product-detail-hero__button--ghost{
    background: transparent;
    color: #10987a;
}

.product-detail-hero__button--ghost:hover{
    color: #ffffff;
}

.product-detail-hero__button-icon{
    display: block;
    flex: 0 0 auto;
}

.product-detail-hero__button-icon--download{
    width: 12px;
    height: 14px;
}

.product-detail-hero__button-icon-stack{
    position: relative;
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
}

.product-detail-hero__button-icon--video{
    position: absolute;
    inset: 0;
    width: 14px;
    height: 14px;
    transition: opacity .25s ease;
}

.product-detail-hero__button-icon--video-hover{
    opacity: 0;
}

.product-detail-hero__button:hover .product-detail-hero__button-icon--video-default{
    opacity: 0;
}

.product-detail-hero__button:hover .product-detail-hero__button-icon--video-hover{
    opacity: 1;
}

.product-video-modal-open{
    overflow: hidden;
}

.product-video-modal{
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
}

.product-video-modal.is-active{
    display: block;
}

.product-video-modal__backdrop{
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, .62);
    backdrop-filter: blur(4px);
}

.product-video-modal__dialog{
    position: relative;
    z-index: 1;
    width: min(960px, calc(100% - 32px));
    margin: 56px auto;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(242,247,246,.98) 100%);
    box-shadow: 0 28px 80px rgba(15, 23, 42, .26);
}

.product-video-modal__close{
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 2;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 50%;
    background: rgba(16, 152, 122, .12);
    color: #10987a;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    transition: background .25s ease, color .25s ease;
    display: flex;
    justify-content: center;
    align-items: center;
}

.product-video-modal__close:hover{
    background: #10987a;
    color: #ffffff;
}

.product-video-modal__body{
    padding: 26px 26px 30px;
}

.product-video-modal__header{
    padding-right: 52px;
    margin-bottom: 18px;
}

.product-video-modal__title{
    color: #1f2937;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
}

.product-video-modal__player{
    overflow: hidden;
    border-radius: 18px;
    background: #0f172a;
}

.product-video-modal__player video{
    display: block;
    width: 100%;
    max-height: 72vh;
    background: #000000;
}

.product-adv-section{
    position: relative;
    padding: 82px 0 88px;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}

.product-detail-heading{
    margin-bottom: 42px;
}

.product-adv-grid{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.product-adv-card{
    min-height: 328px;
    padding: 40px 26px 30px;
    background: #ffffff url(/static/common/image/p-adv-item-bg.svg) center top/cover no-repeat;
    box-shadow: 0 18px 40px rgba(12, 144, 116, .08);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: transform .25s ease, box-shadow .25s ease;
}

.product-adv-card:hover{
    transform: translateY(-8px);
    box-shadow: 0 24px 48px rgba(12, 144, 116, .14);
}

.product-adv-card__icon{
    width: 80px;
    height: 80px;
    margin-bottom: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-adv-card__icon img{
    width: 80px;
    height: 80px;
    object-fit: contain;
}

.product-adv-card__title{
    margin: 0 0 18px;
    color: #10987a;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.35;
}

.product-adv-card__desc{
    color: #5f666d;
    font-size: 14px;
    line-height: 1.9;
    white-space: pre-line;
}

.product-detail-content-section{
    padding: 82px 0 86px;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}

.product-detail-content{
    max-width: 1080px;
    margin: 0 auto;
    color: #4e555c;
    font-size: 15px;
    line-height: 2.1;
}

.product-detail-content,
.product-detail-content p{
    color: #4e555c;
    font-size: 15px;
    line-height: 2.1;
}

.product-detail-content p{
    margin-bottom: 18px;
}

.product-detail-graphic-section{
    padding: 82px 0 0;
    background: #ffffff;
}

.product-detail-graphic-section--last{
    padding-bottom: 30px;
}

.product-detail-graphic-card{
    padding: 8px 0 0;
    text-align: center;
}

.product-detail-graphic-card--plain{
    padding-top: 2px;
}

.product-detail-graphic-card img{
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

@media (max-width: 1199px) {
    .product-detail-hero__inner{
        min-height: 520px;
        gap: 34px;
    }

    .product-detail-hero__title{
        font-size: 32px;
    }

    .product-adv-grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .product-detail-hero__inner{
        min-height: 0;
        padding: 72px 0 64px;
        grid-template-columns: 1fr;
    }

    .product-detail-hero__content{
        max-width: none;
        text-align: center;
    }

    .product-detail-hero__actions{
        justify-content: center;
    }

    .product-detail-hero__stage{
        min-height: 360px;
    }

    .product-detail-hero__carousel-shell{
        max-width: 440px;
        margin-bottom: 34px;
    }

    .product-detail-hero__pagination{
        margin-bottom: 16px;
    }

    .product-detail-hero__slide{
        height: 246px;
    }

    .product-detail-hero__slide img{
        max-width: 320px;
        max-height: 214px;
    }

    .tray-bottom{
        width: 420px;
        height: 99px;
    }

    .product-adv-section,
    .product-detail-content-section,
    .product-detail-graphic-section{
        padding-top: 64px;
    }

    .product-detail-graphic-section--last{
        padding-bottom: 12px;
    }
}

@media (max-width: 767px) {
    .product-detail-hero__inner{
        padding: 56px 0 52px;
    }

    .product-detail-hero__stage{
        min-height: 280px;
    }

    .product-detail-hero__carousel-shell{
        max-width: 100%;
        margin-bottom: 26px;
    }

    .product-detail-hero__pagination{
        margin-bottom: 12px;
        gap: 12px;
    }

    .product-detail-hero__slide{
        height: 220px;
    }

    .product-detail-hero__slide img{
        max-width: min(100%, 280px);
        max-height: 188px;
    }

    .tray-bottom{
        width: min(100%, 340px);
        height: auto;
    }

    .product-detail-hero__model{
        margin-bottom: 12px;
        font-size: 17px;
    }

    .product-detail-hero__title{
        font-size: 26px;
    }

    .product-detail-hero__intro,
    .product-detail-content,
    .product-detail-content p,
    .product-adv-card__desc{
        font-size: 14px;
    }

    .product-detail-hero__intro{
        --product-detail-intro-font-size: 14px;
    }

    .product-detail-hero__button{
        width: 100%;
        min-width: 0;
    }

    .product-video-modal__dialog{
        width: calc(100% - 24px);
        margin: 24px auto;
        border-radius: 20px;
    }

    .product-video-modal__body{
        padding: 20px 20px 24px;
    }

    .product-video-modal__title{
        font-size: 20px;
    }

    .product-adv-grid{
        grid-template-columns: 1fr;
    }

    .product-adv-card{
        min-height: 0;
        padding: 34px 22px 28px;
    }

    .product-adv-card__title{
        font-size: 20px;
    }

    .product-adv-section,
    .product-detail-content-section,
    .product-detail-graphic-section{
        padding-top: 52px;
    }

    .product-detail-heading{
        margin-bottom: 28px;
    }
}
/** 产品详情 end **/
