::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-thumb {
    background-color: #aaa;
}

::-webkit-scrollbar-track {
    background-color: #f1f1f1;
}

:root {
    --jump-y: -20px;
    --jump-x: -20px;
    --theme-color: #47af34;
    --dot-bg: #fafafa;
    --theme-color2: #338740;
}

.absolute-footer, html {
    background-color: #fff !important;
}

#wrapper, #main {
    background: #fff !important;
}

ul, li {
    margin-bottom: 0px !important;
}

.row-0 {
    padding: 0px 0px !important;
}

.pd-0 {
    padding: 0px !important;
}

.row-5 {
    padding: 0px 10px !important;
}

.pd-5 {
    padding: 0px 5px 8px 5px !important;
}

.row-20 {
    padding: 0px 0px !important;
}

.pd-20 {
    padding: 0px 20px 20px 20px !important;
}

.pd-35 {
    padding: 0px 35px 20px 35px !important;
}

.row-7 {
    padding: 0px 7px !important;
}

.pd-7 {
    padding: 0px 7px 7px 7px !important;
}

.noPadding {
    padding-bottom: 0px !important;
}

.mr-1 {
    margin-right: 10px !important;
}

.mr-2 {
    margin-right: 20px;
}

.mr-3 {
    margin-right: 30px;
}

.mr-4 {
    margin-right: 40px;
}

.mr-4 {
    margin-right: 50px;
}

.ml-1 {
    margin-left: 10px;
}

.ml-2 {
    margin-left: 20px;
}

.ml-3 {
    margin-left: 30px;
}

.ml-4 {
    margin-left: 40px;
}

.mt-1 {
    margin-top: 10px;
}

.mt-2 {
    margin-top: 20px;
}

.mt-3 {
    margin-top: 30px;
}

.mt-4 {
    margin-top: 40px;
}

.mt-5 {
    margin-top: 50px;
}

.mb-1 {
    margin-bottom: 10px !important;
}

.mb-2 {
    margin-bottom: 20px !important;
}

.mb-3 {
    margin-bottom: 30px;
}

.mb-4 {
    margin-bottom: 40px;
}

.mb-5 {
    margin-bottom: 50px;
}

.button_style {
    border: none !important;
    vertical-align: middle !important;
    display: inline-block !important;
    text-align: center !important;
    background-color: var(--primary-color) !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    line-height: 1 !important;
    padding: 20px 40px !important;
    border-radius: 9999px !important;
    position: relative !important;
    z-index: 1 !important;
    overflow: hidden !important;
    text-transform: capitalize !important;
    margin: 0px !important;
    min-height: unset !important;
    height: unset !important;
}

.button_style:before, .button_style:after {
    content: "";
    position: absolute;
    top: 3px;
    right: 3px;
    bottom: 3px;
    left: 3px;
    background-color: var(--theme-color);
    transform: scale(0);
    z-index: -1;
    border-radius: inherit;
    transform-origin: right bottom;
    transition: opacity ease 0.4s, visibility ease 0.4s, transform ease 0.4s;
}

.button_style:before {
    transform-origin: left top;
}

.button_style:hover {
    color: #fff;
}

.button_style:hover:before, .button_style:hover:after {
    transform: scale(1);
    opacity: 1;
    visibility: visible;
}

/**back to top**/
.progress-wrap {
    position: fixed;
    display: block;
    cursor: pointer;
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear;
}

.progress-wrap.active-progress {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.progress-wrap::after {
    top: 0;
    left: 0;
    z-index: 1;
    display: block;
    text-align: center;
    position: absolute;
    cursor: pointer;
    font-family: 'Font Awesome 6 Pro';
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear;
}

.progress-wrap svg path {
    fill: none;
}

.progress-wrap svg.progress-circle path {
    box-sizing: border-box;
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear;
}

.progress-wrap {
    bottom: 30px;
    height: 46px;
    width: 46px;
    border-radius: 46px;
    background-color: #ffffff;
    box-shadow: inset 0 0 0 2px #cccccc;
}

.progress-wrap.btn-left-side {
    left: 30px;
}

.progress-wrap.btn-right-side {
    right: 30px;
}

.progress-wrap::after {
    width: 46px;
    height: 46px;
    color: #1f2029;
    font-size: 24px;
    content: '\f341';
    line-height: 46px;
}

.progress-wrap:hover::after {
    color: #1f2029;
}

.progress-wrap svg.progress-circle path {
    stroke: #1f2029;
    stroke-width: 2px;
}

/**header**/
div#top-bar {
    min-height: unset;
    height: unset;
}

div#top-bar .top-border-bottom {
    padding: 16px 0;
    border-bottom: 1px solid #DDDDDD;
}

div#top-bar .header-top-text .shape {
    background-color: var(--primary-color);
    width: 12px;
    height: 12px;
    display: inline-block;
    margin-right: 10px;
}

div#top-bar .header-top-text .header-text {
    color: #555555;
    font-size: 16px;
    font-weight: 700;
    margin: 0;
}

div#top-bar .header-location a {
    color: #555555;
    font-size: 16px;
    font-weight: 700;
    margin: 0;
}

div#top-bar .header-location a:hover {
    color: var(--primary-color)
}

/**menu**/
div#mega-menu-wrap-primary {
    width: 100% !important;
}

#mega-menu-wrap-primary #mega-menu-primary {
    display: flex !important;
    justify-content: center;
}

div#mega-menu-wrap-primary ul li a {
    color: #000000 !important;
    font-weight: 600 !important;
    padding: 0 15px !important;
    text-transform: unset !important;
    font-size: 18px !important;
    text-align: center !important;
    display: flex !important;
    align-items: center;
}

div#mega-menu-wrap-primary ul li a:hover {
    color: var(--primary-color) !important;
}

div#mega-menu-wrap-primary ul li.mega-current-menu-item a {
    color: var(--primary-color) !important;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu {
    -webkit-box-shadow: 0 16px 32px rgba(34, 37, 49, 0.24);
    box-shadow: 0 16px 32px rgba(34, 37, 49, 0.24);
    display: block !important;
    border-radius: 8px !important;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
    height: unset !important;
    padding: 0px 10px !important;
    display: block !important;
    -webkit-transition: .4s;
    transition: .4s;
    font-size: 14px !important;
    color: #000000 !important;
    text-transform: unset !important;
    background: #fff !important;
    text-align: left !important;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:hover {
    color: var(--primary-color) !important;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item {
    border-bottom: 1px solid #f2f2f2 !important;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link {
    color: #000 !important;
    font-weight: 700 !important;
    margin-bottom: 10px !important;
    text-align: left !important;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link {
    color: #000 !important;
    text-transform: unset !important;
    font-size: 16px !important;
    text-align: left !important;
}

#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item {
    padding: 0px !important;
    text-align: left !important;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link:hover,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link:hover {
    color: var(--primary-color) !important;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu {
    background: #fff !important;
    box-shadow: 0px 0px 16px rgb(0 0 0 / 10%);
    padding: 15px !important;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link {
    color: var(--primary-color) !important;
    font-weight: 700 !important;
    margin-bottom: 0px !important;
    text-align: left !important;
    padding-bottom: 5px !important;
    padding-left: 0px !important;
    border-bottom: 1px solid #f2f2f2;
}

/**pagination**/
.pagination {
    width: 100%;
    display: inline-block;
}

.pagination ul li a, .pagination ul li span {
    color: #000;
    border: 1px solid #e9e9e9;
    width: 35px;
    height: 35px;
    padding: 0px;
    line-height: 35px;
    font-weight: normal;
    background: #fff;
    border-radius: 99px !important;
}

.pagination ul li a:hover, .pagination ul li span:hover {
    background: var(--primary-color) !important;
    color: #fff;
    font-weight: normal !important;
    border: 1px solid var(--primary-color) !important;
}

.wp-pagenavi {
    width: 100%;
    display: inline-block;
    margin: 20px 0 0 0;
    text-align: center;
}

.wp-pagenavi a, .wp-pagenavi span {
    background: #fff;
    border: 1px solid #e9e9e9;
    width: 35px;
    height: 35px;
    padding: 0px;
    line-height: 35px;
    font-weight: normal;
    display: inline-block;
    border-radius: 99px !important;
}

.wp-pagenavi a:hover, .wp-pagenavi span.current, .pagination span.current {
    background: var(--primary-color) !important;
    color: #fff;
    font-weight: normal !important;
    border: 1px solid var(--primary-color) !important;
}

/**alert**/
.alert {
    position: relative;
    padding: 10px;
    border: 1px solid transparent;
    border-radius: .25rem;
}

.alert-primary {
    color: #084298;
    background-color: #cfe2ff;
    border-color: #b6d4fe;
}

.alert-secondary {
    color: #41464b;
    background-color: #e2e3e5;
    border-color: #d3d6d8;
}

.alert-success {
    color: #0f5132 !important;
    background-color: #d1e7dd !important;;
    border-color: #badbcc !important;;
}

.alert-danger {
    color: #842029 !important;
    background-color: #f8d7da !important;
    border-color: #f5c2c7 !important;
}

.alert-warning {
    color: #664d03;
    background-color: #fff3cd;
    border-color: #ffecb5;
}

.alert-info {
    color: #055160;
    background-color: #cff4fc;
    border-color: #b6effb;
}

.alert-light {
    color: #636464;
    background-color: #fefefe;
    border-color: #fdfdfe;
}

.alert-dark {
    color: #141619;
    background-color: #d3d3d4;
    border-color: #bcbebf;
}

/**slide**/
body .swiper-button-next, body .swiper-button-prev {
    width: 66px;
    height: 66px;
    outline: none;
    border: 2px solid var(--primary-color) !important;
    background-repeat: no-repeat;
    background-position: center;
    -webkit-transition: .3s;
    transition: .3s;
    transform: translateY(-50%) !important;
    top: 50% !important;
    border-radius: 50% !important;
    color: #000;
    font-size: 22px;
}

body .swiper-button-prev.swiper-button-disabled,
body .swiper-button-next.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none;
}

body .swiper-button-next:after, body .swiper-button-prev:after {
    content: '' !important;
    font-size: 15px;
    color: #000;
}

body .swiper-button-next {
    right: -100px;
}

body .swiper-button-prev {
    left: -100px;
}

.swiper-container {
    position: relative;
}

/**category**/
.category-description {
    box-shadow: 0px 4px 45px 0px #0000000D;
    padding: 20px;
    background: #fff;
    border-radius: 15px;
    font-weight: 300;
    font-size: 15px;
}

.category-description a, .entry-content a {
    color: var(--primary-color) !important;
    font-weight: 700;
}

.entry-content {
    padding: 0 !important;
    font-weight: 300;
    font-size: 15px;
}

.category-description p
.category-description ul li,
.category-description ol li,
.entry-content p,
.entry-content ul li,
.entry-content ol li {
    margin: 0 0 10px 0 !important;
}

.category-description ul,
.category-description ol,
.entry-content ul,
.entry-content ol {
    margin-left: 15px !important;
}

.category-description table,
.category-description table tr td,
.entry-content table,
.entry-content tr td {
    border-collapse: collapse;
    border: 1px solid #3333;
}

.category-description table tr td,
.category-description table tr th,
.entry-content tr td,
.entry-content tr th {
    padding: 10px;
    color: #333 !important;
}

/**banner**/
.thumb-hero {
    position: absolute !important;
    top: 0;
    left: 0;
    z-index: -1;
}

.banner_hero_text .banner_hero_heading {
    font-weight: 700;
    font-size: 50px !important;
    line-height: 70px;
}

.banner_hero_text .banner_hero_desc {
    margin: 20px 0;
    font-size: 20px;
    line-height: 28px;
}

/**abouts**/
.abouts .sub-title {
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: #999999;
    margin: -0.2em 0 20px 0;
    text-transform: uppercase;
}

.abouts .abouts-heading {
    color: #000;
    font-size: 48px;
    font-weight: 700;
    line-height: 55px;
}

.abouts .abouts-content {
    margin: 15px 0 0 0;
    color: #666666;
    font-size: 18px;
}

.progress-box {
    position: relative;
    margin-bottom: 39px;
    max-width: 530px;
}

.progress-box__title {
    font-size: 18px;
    line-height: 1;
    margin: 0 0 10px 0;
}

.progress-box__number {
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    color: var(--title-color);
    position: absolute;
    right: 0;
    top: 0;
}

.progress-box__progress {
    height: 20px;
    box-shadow: inset 0 0 0 4px #fafafa;
    border-radius: 9999px;
}

.progress-box__bar {
    background-color: var(--theme-color);
    height: 100%;
    border-radius: inherit;
}

.progress-box.style2 {
    margin-bottom: 49px;
}

.progress-box.style2:last-child {
    margin-bottom: 30px;
}

.progress-style1 {
    display: flex;
    border-bottom: 1px solid #f0f0f0;
    padding-bottom: 21px;
    margin-bottom: 25px;
}

.progress-style1:last-child {
    padding-bottom: 0;
    border-bottom: none;
    margin-bottom: 21px;
}

.progress-style1 .circle-progress {
    position: relative;
    margin-right: 20px;
    line-height: 1;
    width: 110px;
    height: 110px;
}

.progress-style1 .progress-value {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-size: 26px;
    line-height: 1;
    font-weight: 700;
    color: var(--theme-color);
    display: inline-block;
}

.progress-style1 .progress-title {
    margin: 0 0 6px 0;
}

.progress-style1 .progress-text {
    margin: 0;
}

.progress-style1 .media-body {
    align-self: center;
}

/**about**/
.shape-dotted {
    width: 275px;
    height: 175px;
    position: relative;
    z-index: -1;
    --dot-color: var(--theme-color);
    background: radial-gradient(circle, transparent 20%, var(--dot-bg, #fff) 20%, var(--dot-bg, #fff) 80%, transparent), radial-gradient(circle, transparent 20%, var(--dot-bg, #fff) 20%, var(--dot-bg, #fff) 0%, var(--dot-color, red)) var(--dot-size, 5.8px) var(--dot-size, 5.8px);
    background-color: var(--dot-bg, #fff);
    background-size: calc(var(--dot-size, 5.8px) * 2) calc(var(--dot-size, 5.8px) * 2);
}

.jump-reverse-img, .jump-img, .jump-reverse, .jump {
    animation: jumpping var(--duration, 6s) infinite linear;
}

@keyframes jumpping {
    0%, 100% {
        transform: translate3d(0, 0, 0);
    }
    40% {
        transform: translate3d(0, var(--jump-y, 20px), var(--jump-x, 0));
    }
}

.img-shape1 {
    position: absolute;
    left: 90px;
    bottom: 45px;
    width: 450px;
    height: 480px;
    background-color: var(--theme-color);
    z-index: 1;
}

.img-box3 {
    position: relative;
    padding-bottom: 120px;
    z-index: 1;
    margin: 0 -35px 30px 0;
}

.img-box3 .img-1 img, .img-box3 .img-2 img, .img-box3 .img-3 img {
    border: 2px solid transparent;
    transition: all ease 0.4s;
    position: relative;
    z-index: 2;
}

.img-box3 .img-1:hover img, .img-box3 .img-2:hover img, .img-box3 .img-3:hover img {
    border-color: var(--theme-color);
}

.img-box3 .img-1 {
    display: inline-block;
    padding-top: 100px;
}

.img-box3 .img-3 {
    margin-top: -80px;
    float: right;
    width: 100%;
}

.img-box3 .img-2 {
    float: right;
}

/**home title**/
.home-title svg.sec-icon {
    margin: 0 0 23px 0;
}

.home-title svg.sec-icon path {
    fill: var(--primary-color);
}

.home-title .sub-title {
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: #999999;
    margin: -0.2em 0 20px 0;
    text-transform: uppercase;
}

.home-title h3 {
    text-transform: none;
    font-weight: 700;
    line-height: 1.3;
    color: #000;
    font-size: 44px;
    margin: -0.2em 0 0 0;
}

/**service**/
.service-style1 {
    text-align: center;
    background-color: #fff;
    padding: 50px 40px 50px 40px;
    position: relative;
    transition: all ease 0.4s;
    margin: 0 -1px 35px -1px;
    border-left: 1px solid #dddddd;
}

.service-style1 .service-img {
    width: 230px;
    height: 230px;
    margin: 0 auto;
    padding: 7px;
    border: 3px solid var(--primary-color);
    border-radius: 50%;
}

.service-style1 .service-img img {
    width: 100%;
    border-radius: inherit;
}

.service-style1 .service-icon {
    width: 90px;
    height: 90px;
    line-height: 90px;
    text-align: center;
    background-color: #fff;
    border-radius: 50%;
    position: relative;
    z-index: 1;
    margin: -50px auto 15px auto;
    box-shadow: 0.5px 0.87px 27px rgba(35, 31, 32, 0.04);
    transition: all ease 0.4s;
}

.service-style1 .service-icon img {
    transition: all ease 0.4s;
    filter: none;
}

.service-style1 .service-title {
    margin-bottom: 5px;
}

.service-style1 .service-title a {
    color: #000;
    font-size: 24px;
    line-height: 30px;
}

.service-style1 .description-wrapper,
.service-style1 p,
.service-style1 .service-text {
    margin: 0;
    transition: all ease 0.4s;
    color: #666666;
}

.service-style1 .shape-dotted {
    height: 45px;
    position: absolute;
    bottom: 0;
    left: 30px;
    right: 30px;
    transition: all ease 0.4s;
    --dot-bg: #fafafa;
    z-index: -1;
}

.service-style1:hover .description-wrapper,
.service-style1:hover p,
.service-style1:hover .service-text,
.service-style1:hover .service-title a,
.swiper-slide-active .service-style1 a,
.swiper-slide-active .service-style1 .description-wrapper, .swiper-slide-active .service-style1 p {
    color: #fff;
}

.swiper-slide .service-style1 {
    margin-bottom: 60px;
}

.swiper-slide-active .service-style1, .service-style1:hover {
    background-color: var(--theme-color);
    border-color: transparent;
}

.service-style1 .shape-dotted {
    height: 45px;
    position: absolute;
    bottom: 0;
    left: 30px;
    right: 30px;
    transition: all ease 0.4s;
    --dot-bg: #fafafa;
    z-index: -1;
}

.swiper-slide-active .service-style1 .shape-dotted, .service-style1:hover .shape-dotted {
    bottom: -35px;
}

/**abouts**/
.about-media {
    align-items: center;
    border-bottom: 1px solid #e8e8e8;
    padding: 0 60px 30px 0;
    margin: 0 0 30px 0;
}

.about-media .icon-box-img {
    width: var(--icon-size, 118px);
    height: var(--icon-size, 118px);
    border: var(--border-size, 3px) solid var(--theme-color2);
    outline: var(--border-size, 3px) solid var(--theme-color2);
    outline-offset: var(--border-size, 3px);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    margin: calc(var(--border-size, 3px) * 2);
    transition: all ease 0.4s;
}

.about-media .icon-box-img img {
    transition: all ease 0.4s;
}

.about-media h3 {
    font-size: 24px;
    color: #000;
    line-height: 30px;
    margin: 0 0 10px 0;
}

.about-media p {
    font-size: 18px;
    margin: 0 0 -0.15em 0;
    color: #666666;
}

.about-media:hover .icon-box-img {
    background-color: var(--theme-color2) !important;
}

.about-media:hover .icon-box-img img {
    filter: brightness(0) invert(1);
}

.img-box2 .shape-dotted {
    position: absolute;
    right: 0;
    top: 0;
    height: 80px;
    z-index: -1;
}

/**banner**/
.banner-qc .sub_title {
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    margin: -0.2em 0 20px 0;
    text-transform: uppercase;
}

.banner-qc .sub_heading {
    color: #fff;
    font-size: 40px;
    line-height: 50px;
    margin-bottom: 23px;
    font-weight: 700;
}

.cta-img1 {
    position: absolute !important;
    bottom: -10px;
    right: 0 !important;
    max-width: initial;
}

.cta-box1 .shape-dotted {
    position: absolute;
    left: -35px;
    bottom: -38px;
    width: 275px;
    height: 175px;
    z-index: -1;
}

/**post item**/
.post-item {
    width: 100%;
    transition: 0.3s ease-in-out;
}

.post-item .post-thumbnail {
    width: 100%;
    height: 240px;
    overflow: hidden;
    transition: 0.3s ease-in-out;
}

.post-item .post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.3s ease-in-out;
}

.post-item .post-content {
    padding: 15px;
}

.post-item .post-content .post-title {
    font-size: 20px;
    line-height: 30px;
    border: 1px solid #e8e8e8;
    padding: 21px 20px 18px 21px;
    background-color: #fff;
    margin: -25px 0 20px 0;
    position: relative;
    z-index: 1;
    box-shadow: 0.5px 0.87px 27px 0 rgba(35, 31, 32, 0.04);
    transition: all ease 0.4s;
}

.post-item .post-content h4 {
    margin-bottom: 0px;
}

.post-item .post-content h4 a {
    font-size: 20px;
    font-weight: 600;
    line-height: 30px;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    color: #000;
    height: 58px;
    text-align: left;
}

.post-item .post-content .post-meta {
    width: 100%;
    margin: 0 0 10px 0;
}

.post-item .post-content .post-meta span i {
    color: var(--theme-color);
}

.post-item .post-content .post-meta span {
    font-size: 14px;
    text-transform: uppercase;
    padding: 0;
    background-color: transparent;
    color: #000;
    margin-right: 15px;
}

.post-item .post-content .post-desc {
    color: #666666;
    font-size: 14px;
}

.post-item .post-content .title a:hover {
    color: var(--primary-color)
}

.post-item .post-link {
    margin: 10px 0 0 0;
}

.post-item .post-link a {
    font-weight: 600;
    font-size: 16px;
    display: inline-block;
    line-height: 0.8;
    position: relative;
    padding-bottom: 2px;
    margin-bottom: -2px;
    text-transform: capitalize;
    color: #000;
}

.post-item .post-link a:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background-color: #E1E1E1;
    transition: all ease 0.4s;
}

.post-item .post-link a:hover {
    color: var(--primary-color)
}

.post-item .post-link a:hover:before {
    background: var(--primary-color);
}

/**post list**/
.post-list {
    display: flex;
    flex-flow: wrap;
    transition: 0.3s ease-in-out;
}

.post-list:not(:last-child) {
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: 1px solid #dcdbdb;
}

.post-list .post-thumbnail {
    width: 290px;
    height: 175px;
    border-radius: 8px;
}

.post-list .post-thumbnail img {
    -o-object-fit: cover;
    object-fit: cover;
    object-position: 50% 50%;
    -o-object-position: 50% 50%;
    width: 100%;
    height: 100%;
}

.post-list .post-content {
    width: calc(100% - 290px);
    padding-left: 10px;
}

.post-list .post-content .title {
    margin-bottom: 10px;
}

.post-list .post-content .title a {
    font-size: 18px;
    line-height: 1.3;
    color: #333;
    font-weight: 700;
}

.post-list .post-content .post-desc {
    color: hsla(0, 0%, 68%, .95);
    font-size: 15px;
    line-height: 22px;
}

.post-list .post-content .title a:hover {
    color: var(--primary-color)
}

/**widget**/
.widget {
    padding: 15px;
    border-radius: 5px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .15);
    border: 1px solid rgba(0, 0, 0, .15);
    margin-bottom: 25px;
}

.widget-title {
    color: var(--primary-color);
    text-transform: uppercase !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    margin-bottom: 15px;
    position: relative;
    display: block;
}


.widget-category-child ul li {
    list-style: none !important;
    margin: 0px !important;
}

.widget-category-child ul li a {
    display: block;
    background: #ededed;
    padding: 10px !important;
    border-top: 1px solid #ddd;
    color: var(--primary-color);
    font-weight: 700;
    transition: all 0s;
    display: block;
    width: 100%;
}

.widget-post-list {
    width: 100%;
    display: inline-block;
}

.widget-post-list .widget-post-item a {
    display: flex;
    flex-flow: wrap;
}

.widget-post-list .widget-post-item {
    width: 100%;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px dashed #f2f2f2;
    align-items: center;
}

.widget-post-list .widget-post-item a {
    display: flex;
    flex-flow: wrap;
}

.widget-post-list .widget-post-item:last-child {
    margin-bottom: 0px;
    padding-bottom: 0px;
    border-bottom: 0px;
}

.widget-post-list .widget-post-item .widget-post-thumbnail {
    width: 80px;
    height: 60px;
}

.widget-post-list .widget-post-item .widget-post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.widget-post-list .widget-post-item .widget-post-content {
    width: calc(100% - 80px);
    padding: 0 0 0 10px;
}

.widget-post-list .widget-post-item .widget-post-content h3 {
    display: inline-block;
    color: #000;
    font-size: 15px;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-height: 20px;
    text-align: left;
}

.widget-post-list .widget-post-item .widget-post-content h3:hover {
    color: var(--primary-color);
}

.screen-reader-response {
    display: none;
}

span.wpcf7-not-valid-tip {
    font-size: 14px;
    color: #ff3333;
}

.widget-price ins, .widget-price b {
    font-size: 14px;
    color: var(--primary-color);
    font-weight: 700;
}

.widget-price del, .widget-price del span {
    color: gray;
    font-size: 13px;
}

.is-divider.small {
    display: none;
}

.project-style1 {
    position: relative;
    padding-bottom: 100px;
    margin-bottom: 60px;
    z-index: 1;
    transition: all ease 0.4s;
}

.project-style1 .project-img {
    overflow: hidden;
    position: relative;
    z-index: -1;
    width: 100%;
    height: 500px;
}

.project-style1 .project-img img {
    transition: all ease 0.4s;
    height: 100%;
    width: 100%;
    object-fit: cover;
    transform: scale(1.003);
}

.project-style1 .project-content {
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: #fff;
    border: 1px solid #e8e8e8;
    width: 490px;
    margin: 0 20px;
    padding: 32px 40px 32px 40px;
    transition: all ease 0.4s;
}

.project-style1 .project-category {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: underline;
    display: inline-block;
    margin: 0 0 3px 0;
    transition: all ease 0.4s;
    color: #666666;
}

.project-style1 .project-title2,
.project-style1 .project-title {
    margin: 0 0 22px 0;
    transition: all ease 0.4s;
    font-size: 30px;
	line-height:40px;
    color: #000;
}

.project-style1 .shape-dotted {
    position: absolute;
    bottom: -35px;
    left: 50%;
    height: 35px;
    margin-left: -138px;
    z-index: -1;
    transition: all ease 0.4s;
}

.project-style1:hover .project-img:before {
    opacity: 1;
    visibility: visible;
}

.project-style1:hover .project-img img {
    transform: scale(1.1);
}

.project-style1.layout2 .project-content {
    opacity: 0;
    visibility: hidden;
}

.project-style1.layout2 .project-energytotal {
    font-size: 30px;
    font-weight: 700;
}

.project-style2 .quantity, .project-style1 .quantity {
    color: var(--theme-color2);
}

.project-style2 .project-energytext, .project-style1 .project-energytext {
    font-weight: 500;
    color: #555555;
    margin: 0;
    transition: all ease 0.4s;
}

.project-style1.layout2 .project-category,
.project-style1.layout2 .project-title,
.project-style1.layout2 .project-energytotal,
.project-style1.layout2 .project-energytext,
.project-style1.layout2 .shape-dotted {
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
}

.project-style1.layout2 .shape-dotted {
    transform: translateY(-22px);
}

.project-style1 .project-img img {
    width: 100%;
    object-fit: cover;
}

.project-style2 .project-img:before, .project-style1 .project-img:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
    border: 3px solid var(--theme-color2);
    opacity: 0;
    visibility: hidden;
    transition: all ease 0.4s;
}

.swiper-slide-active .project-style1.layout2 .project-content, .swiper-slide-active .project-style1.layout2 .project-category, .swiper-slide-active .project-style1.layout2 .project-title, .swiper-slide-active .project-style1.layout2 .project-energytotal, .swiper-slide-active .project-style1.layout2 .project-energytext, .swiper-slide-active .project-style1.layout2 .shape-dotted {
    transform: translateY(1px);
    opacity: 1;
    visibility: visible;
}

.swiper-slide-active .project-style1.layout2 .project-content, .swiper-slide-active .project-style1.layout2 .project-category, .swiper-slide-active .project-style1.layout2 .project-title, .swiper-slide-active .project-style1.layout2 .project-energytotal, .swiper-slide-active .project-style1.layout2 .project-energytext, .swiper-slide-active .project-style1.layout2 .shape-dotted {
    transform: translateY(1px);
    opacity: 1;
    visibility: visible;
}

.swiper-project-nav {
    display: flex;
    gap: 20px;
    position: absolute;
    bottom: 10px;
    right: 0;
}

.swiper-project-nav .swiper-button-prev, .swiper-project-nav .swiper-button-next {
    position: unset !important;
}

/**partner**/
.partner-item {
    border: 1px solid #DDDDDD;
    height: 140px;
    line-height: 140px;
    text-align: center;
    padding: 0 20px;
    background-color: #fff;
    transition: all ease 0.4s;
    z-index: 1;
}

.partner-item img {
    filter: grayscale(100%);
    transition: all ease 0.4s;
}

.partner-item:hover {
    z-index: 2;
    border-color: var(--theme-color2);
}

.partner-item:hover img {
    filter: none;
}

.sec-register:before, .sec-register:after {
    content: '';
    width: 50%;
    position: absolute;
    top: 0;
    display: block;
    height: 100%;
    background: var(--theme-color);
}

.sec-register:before {
    left: 0;
}

.sec-register:after {
    background: #42a330;
    right: 0;
}

.sec-register .input_register {
    height: 60px !important;
    color: #949494 !important;
    font-weight: 500;
    padding-left: 40px !important;
    padding-right: 30px;
    border: none;
    margin: 0 10px 0 0;
    border-radius: 9999px !important;
    box-shadow: unset !important;
}

.sec-register .register-form p {
    display: flex;
    gap: 20px;
}

.form-register h3, .wp_social h3 {
    font-size: 34px;
    margin: -0.2em 0 20px 0;
    text-transform: capitalize;
    color: #fff;
}

.wp_social_footer a {
    background-color: #FFFFFF00;
    --icon-padding: 1.4em;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: #FFFFFF;
    font-size: var(--icon-size, 20px);
    width: 50px;
    height: 50px;
    display: inline-block;
    border-radius: 50%;
    color: #fff;
    text-align: center;
    line-height: 50px;
    margin: 0 10px 0 0;
}

.wp_social_footer a:hover {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: #fff;
}

/**footer**/
#footer .footer-address p i {
    width: 30px;
    height: 30px;
    text-align: center;
    line-height: 30px;
    background: var(--primary-color);
    border-radius: 50%;
}

#footer .footer-address p {
    font-size: 16px;
    font-weight: 700;
    line-height: 26px;
    color: #fff;
    margin: 0 0 10px 0;
}

#footer .footer-title h3 {
    color: #FFFFFF;
    font-size: 22px;
    font-weight: 600;
    position: relative;
}

#footer .footer-title h3:before, .footer-title h3:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 40px;
    height: 2px;
    background-color: var(--theme-color);
}

#footer .footer-title h3:after {
    left: 45px;
    width: 10px;
    background-color: var(--theme-color2);
}

#footer .footer-menu a {
    color: #fff;
    font-size: 16px;
}

.absolute-footer.dark.medium-text-center.small-text-center {
    background: #111330 !important;
    border-style: solid;
    border-width: 1px 0px 0px 0px;
    border-color: #70707080;
    transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
    padding: 30px 0px 30px 0px;
    color: #fff;
}

/**category**/
.category-entry {
    width: 100%;
    margin: 40px 0;
}

section.category-banner {
    padding: 100px 0;
    background-size: cover !important;
    background-position: center center !important;
}

section.category-banner h1 {
    font-size: 60px;
    color: #fff;
    margin: 0 0 15px 0;
    line-height: 70px;
}

.breadcrumbs, .breadcrumbs a, .breadcrumbs span {
    color: #fff !important;
    font-size: 16px;
}

.breadcrumbs p {
    margin: 0 !important;
    color: #fff !important;
}

/**single**/
header#header-single h1 {
    font-weight: 700;
    font-size: 30px;
    color: #000;
    padding-bottom: 10px;
    margin-bottom: 10px;
    line-height: 40px;
}

.single-post-meta {
    background-color: #f9f9f9;
    padding: 5px 10px;
    border-radius: 3px;
    margin-bottom: 15px;
    margin-right: 0;
    margin-left: 0;
}

header#header-single .single-post-meta .author-info {
    display: flex;
    align-items: center;
    gap: 15px;
}

header#header-single .single-post-meta .author-info .avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
}

header#header-single .single-post-meta .author-info .avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

header#header-single .single-post-meta .review-title {
    margin-bottom: 0;
    font-size: 12px;
    line-height: 1;
}

.review .kk-star-ratings .kksr-legend {
    margin: 0 !important;
}


.d-flex {
    display: -ms-flexbox !important;
    display: flex !important;
}

.align-items-center {
    -ms-flex-align: center !important;
    align-items: center !important;
}

.single-post-meta .comment-count, .single-post-meta .update-time {
    margin-left: 5px;
    font-size: 13px;
    color: #888;
}

.single-post-meta-bottom a.social {
    position: relative;
    display: inline-block;
    margin: .333rem .25rem;
    border-radius: 100px;
    color: #fff;
    text-decoration: none;
    text-align: center;
    line-height: 32px;
    width: 32px;
    height: 32px;
    transition: color .333s;
}

.single-post-meta a.social.social-twitter, .single-post-meta a.social[href^="https://twitter"] {
    background-color: #00aced;
}

.single-post-meta a.social.social-facebook, .single-post-meta a.social[href^="https://www.facebook"] {
    background-color: #3b5998;
}

.single-post-meta a.social.social-linkedin, .single-post-meta a.social[href^="https://www.linkedin"] {
    background-color: #007bb6;
}

.single-post-meta a.social.social-pintrest, .single-post-meta a.social[href^="https://pinterest"] {
    background-color: #cb2027;
}

.related-post, .comment {
    margin-top: 30px;
}

.action-desktop {
    width: 0;
    position: absolute;
    left: -65px;
    top: 0;
    bottom: 0;
}

.social-share-button {
    padding: 0;
    position: sticky;
    top: 150px;
    z-index: 3
}

.social-share-button .social {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    margin-bottom: 0;
    margin-bottom: 10px;
    border-radius: 100px;
    color: #fff !important;
    text-decoration: none;
    width: 40px;
    height: 40px;
    font-size: 0;
    transition: color .333s;
    overflow: hidden;
    background: #ccc
}

.social-share-button .social i {
    font-size: 18px
}

.social-share-button .sc-home {
    background: var(--primary-color)
}

.social-share-button .sc-facebook {
    background-color: #3b5998
}

.social-share-button .sc-comments {
    background: #3184ac;
    position: relative
}

.social-share-button .sc-comments .number {
    content: "";
    display: block;
    position: absolute;
    color: #fff;
    font-size: 9px;
    top: 5px;
    right: 5px;
    background: #eb2929;
    padding: 3px 4px;
    text-align: center;
    line-height: 8px;
    border-radius: 2px;
    margin: 0
}

.social-share-button .btn-top {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ddb054;
    width: 40px;
    height: 40px;
    font-size: 0;
    cursor: pointer;
    border-radius: 100px
}

.mrTop .social-share-button {
    top: 125px;
}

.comment-section-title {
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 15px;
    color: var(--primary-color);
    text-transform: uppercase;
}

.shop-page-title.category-page-title.page-title {
    display: none;
}

/**product**/
.product-item {
    border: 3px solid #f2f7ff;
    background-color: #fff;
    transition: all ease 0.4s;
}

.product-item .product-thumbnail {
    width: 100%;
    height: 240px;
    background-color: #f2f7ff;
    position: relative;
    transition: all ease 0.4s;
}

.product-item .product-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-item:hover {
    background-color: var(--theme-color);
    border-color: transparent;
}

.product-item .product-content {
    padding: 15px;
}

.product-item .product-content .product-title a {
    font-size: 20px;
    font-weight: 600;
    line-height: 30px;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    color: #000;
    height: 58px;
    text-align: center;
}

.product-item .product-price {
    text-align: center;
}

.product-item .product-price ins span, .product-item .product-price b {
    color: var(--theme-color);
    font-size: 16px;
}

.product-item .product-price del {
    margin-left: 5px;
}

.product-item .product-price del, .product-item .product-price del span {
    color: #666666;
    font-size: 15px;
}

.product-item:hover .product-title a {
    color: #fff;
}

.product-item:hover .product-price ins span, .product-item:hover .product-price b {
    color: #fff !important;
}

.product-info .price-wrapper {
    margin: 30px 0;
}

.product-info .price-wrapper ins span, .product-info .price-wrapper b {
    color: var(--theme-color);
    font-size: 20px;
}

.product-info .price-wrapper del {
    margin-left: 5px;
}

.product-info .price-wrapper del, .product-info .price-wrapper del span {
    color: #666666;
    font-size: 18px;
}

span.woocommerce-Price-currencySymbol {
    vertical-align: unset !important;
}

.contact_address h4 {
    color: var(--primary-color);
    font-size: 1.5rem;
    font-weight: 700;
}

.tab-address ul {
    border-bottom: 1px solid #cccccc;
    margin: 0 !important;
}

.contact_address ul li {
    color: #76787f;
    list-style-type: none;
    margin-left: -18px;
    margin-top: -10px;
    padding: 0px 0 8px 26px !important;
    vertical-align: middle;
    line-height: 24px;
}

.input_contact {
    height: 45px !important;
    margin: 0 0 30px 0;
}

.textarea_contact {
    margin: 0 0 30px 0;
}

.input_contact, .textarea_contact {
    color: #7E7E7E;
    box-shadow: unset !important;
    border-radius: 5px !important;
    border: 1px solid #8D8D8D !important;
}

.button_contact {
    border-radius: 5px !important;
    margin: 0 !important;
    background: transparent !important;
    border-color: var(--primary-color) !important;
    color: var(--primary-color) !important;
}
