@import url(https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Manrope:wght@200..800&display=swap);

.sub-menu .sub-menu-item,
.tf-btn-close i,
a,
svg,
svg path {
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s
}

#menu-mobile li.menu-item-has-children-mobile>a,
.form-comment .item,
.form-contact-us .item,
.input-icon-absolute,
.pricing-item.style-popular,
.project-item .item-content .title-project a,
.range-slider .range-two-val .noUi-connects,
.relative,
.section-about,
.section-about.p-services .left,
.section-company,
.section-project,
.tab-content,
.team-item .top-item,
.tf-container,
.tf-post-grid.style-desc .top,
sub,
sup {
    position: relative
}

.big-text,
.form-newsletter .tf-btn span,
.tf-post-list.style-2 .post-meta a {
    white-space: nowrap
}

.tf-btn.text-underline span,
.tf-post-list.style-2 .title a,
.wg-cta .cta-inner .title span {
    text-decoration-line: underline
}

:root {
    --primary: rgba(155, 92, 251);
    --main-dark: rgba(9, 2, 14);
    --stroke-2: #FFFFFF26;
    --surface: #e4e1f2;
    --white: #FFFFFF;
    --dark-2: rgba(9, 2, 14, 0.8);
    --main-blue-1: #086AD8;
    /* RGB channels for alpha blends (theme-consistent) */
    --primary-rgb: 155, 92, 251;
    --surface-rgb: 228, 225, 242;
    --white-rgb: 255, 255, 255;
    --main-dark-rgb: 9, 2, 14;
    --main-blue-rgb: 8, 106, 216;
    /* Semantic glow / overlay tokens */
    --glow-primary: rgba(var(--primary-rgb), 0.35);
    --glow-primary-image: rgba(var(--primary-rgb), 0.28);
    --glow-primary-soft: rgba(var(--primary-rgb), 0.15);
    --glow-primary-medium: rgba(var(--primary-rgb), 0.22);
    --glow-blue: rgba(var(--main-blue-rgb), 0.28);
    --overlay-white-subtle: rgba(var(--white-rgb), 0.06);
    --overlay-white-frost: rgba(var(--white-rgb), 0.04);
    --overlay-surface-soft: rgba(var(--surface-rgb), 0.12);
    --border-surface-muted: rgba(var(--surface-rgb), 0.45);
    --shadow-hero-image: rgba(var(--main-dark-rgb), 0.35)
}

a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
title html,
tr,
tt,
u,
ul,
var,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font: inherit;
    vertical-align: baseline;
    font-family: inherit;
    font-size: 100%;
    font-style: inherit;
    font-weight: inherit
}

address,
dd,
dl {
    margin: 0 0 20px
}

embed,
hr,
object,
video {
    margin-bottom: 20px
}

.sw-pagination .swiper-pagination-bullet:last-child,
html {
    margin-right: 0 !important
}

embed,
img,
object,
video {
    max-width: 100%;
    vertical-align: middle
}

.block,
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section {
    display: block
}

html {
    font-size: 62.5%;
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%
}

body,
button,
input,
p,
select,
textarea {
    font-weight: 400;
    font-size: 16px;
    line-height: 100%
}

body {
    background: var(--main-dark)
}

blockquote:after,
blockquote:before,
q:after,
q:before {
    content: ""
}

blockquote,
q {
    quotes: none
}

a img {
    border: 0
}

.comment-item.reply .text,
.list-process .process-item:last-child .line,
.tf-container.w-full,
select {
    max-width: 100%
}

body,
button,
input,
select,
textarea {
    font-family: Inter, sans-serif;
    color: var(--white);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    overflow-x: hidden;
    overflow-y: auto
}

img {
    height: auto;
    -ms-interpolation-mode: bicubic
}

small,
sub,
sup {
    font-size: 75%
}

.fw-7,
b,
cite,
dt,
strong {
    font-weight: 700
}

blockquote,
cite,
dfn,
em,
i {
    font-style: italic
}

abbr,
acronym {
    border-bottom: 1px dotted #e0e0e0;
    cursor: help
}

.btn-link:focus,
.btn-link:hover,
ins,
mark {
    text-decoration: none
}

sub,
sup {
    height: 0;
    line-height: 0;
    vertical-align: baseline
}

big {
    font-size: 125%
}

address {
    font-style: italic
}

code,
kbd,
pre,
samp,
tt,
var {
    margin: 20px 0;
    padding: 4px 12px;
    background: #f5f5f5;
    border: 1px solid #e0e0e0;
    overflow-x: auto;
    -webkit-hyphens: none;
    -moz-hyphens: none;
    hyphens: none;
    border-radius: 0;
    height: auto
}

.sub-menu .sub-menu-item,
.tf-btn-close i,
svg,
svg path {
    transition: .3s
}

*,
:after,
:before,
html {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box
}

.sib-form,
.sib-form *,
.sib-form ::after,
.sib-form ::before {
    box-sizing: border-box !important
}

hr {
    border: 1px dashed #ccc
}

.sib-form-block,
.sib-form-message-panel__text,
ol,
ol li,
ul,
ul li {
    padding: 0
}

ul {
    list-style: disc
}

ol {
    list-style: decimal
}

.according-item .according-content .benefit-item:last-child,
.according-item:last-child,
.box-info .info-item:last-child,
.contact-list .contact-item:last-child,
.contact-mobile .content-contact-moblile:last-child,
.footer-content li:last-child,
.pricing-item .benefit-item:last-child,
.section-about.p-services .list-benefit .benefit-item:last-child,
.section-benefit.p-team .benefit-item:last-child,
.sidebar-item.sidebar-categories .item:last-child,
.tf-grid-1 .fl-item2:last-child,
.wg-project-details .details-content .benefit-item:last-child,
.wg-service-details .details-content .desc p:last-child,
.wg-service-details .details-content-2 .list-features .features-item:last-child,
li>ol,
li>ul,
p>embed,
p>iframe,
p>object,
p>video {
    margin-bottom: 0
}

li {
    list-style: none
}

.disable,
del {
    text-decoration: line-through;
    opacity: .5
}

table,
td,
th {
    border: 1px solid #343444
}

td,
th {
    border-width: 0 1px 1px 0
}

table {
    border-spacing: 0;
    border-collapse: separate;
    border-spacing: 0;
    border-width: 1px 0 0 1px;
    margin: 0;
    table-layout: fixed;
    width: 100%
}

caption,
td,
th {
    font-weight: 400;
    text-align: left
}

th {
    font-weight: 700
}

td,
th {
    padding: 8px 12px
}

button,
input {
    line-height: normal
}

button,
input,
select,
textarea {
    font-size: 100%;
    line-height: inherit;
    margin: 0;
    vertical-align: baseline
}

textarea {
    overflow: auto;
    vertical-align: top
}

input[type=checkbox] {
    display: inline
}

button,
input[type=button],
input[type=reset],
input[type=submit] {
    line-height: 1;
    cursor: pointer;
    -webkit-appearance: button;
    border: 0
}

.h1,
.h2,
h1,
h2 {
    font-size: 48px;
    line-height: 56px;
    font-weight: 700
}

input[type=checkbox],
input[type=radio] {
    padding: 0;
    width: 20px;
    height: 20px;
    border-radius: 6px;
    background: #fff0;
    cursor: pointer;
    vertical-align: sub
}

input[type=search] {
    -webkit-appearance: textfield;
    outline: 0
}

input[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0
}

input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #f7f7f7 inset
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
    display: none
}

::-webkit-input-placeholder {
    color: #171412
}

::-moz-placeholder {
    color: #171412;
    opacity: 1
}

.overlay-filter,
.sub-menu,
.tab-content .tab-pane,
.tf-btn-readmore .text,
.tf-fade-top {
    opacity: 0;
    visibility: hidden
}

:-ms-input-placeholder {
    color: #171412
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: Inter, sans-serif;
    color: var(--on-suface-container);
    margin: 0;
    text-rendering: optimizeLegibility
}

.font-family-2,
.sidebar-item h4,
.wg-project-details .tag-social span {
    font-family: "DM Sans", sans-serif
}

.h1,
h1 {
    letter-spacing: -.4px
}

.h2,
h2 {
    letter-spacing: -1.44px
}

.h3,
.h4,
h3,
h4 {
    font-size: 24px
}

.h3,
h3 {
    line-height: 100%;
    font-weight: 700;
    letter-spacing: -.6px
}

.h4,
h4 {
    line-height: 32px;
    font-weight: 700
}

.h5,
.h6,
h5,
h6 {
    font-size: 16px;
    font-weight: 700
}

.h5,
h5 {
    line-height: 24px
}

.body-2,
.h6,
.text-medium,
h6 {
    line-height: 100%
}

.h6,
h6 {
    letter-spacing: -.2px
}

a {
    text-decoration: none;
    color: var(--white);
    cursor: pointer;
    transition: .3s
}

.date span,
.icon-social i,
.tf-btn-newsletter,
a:focus,
a:hover {
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s
}

a:focus,
a:hover {
    color: var(--white);
    outline: 0;
    transition: .3s
}

.tf-container {
    margin-left: auto;
    margin-right: auto;
    padding-right: 15px;
    padding-left: 15px;
    max-width: 1320px;
    width: 100%
}

.tf-container .row {
    margin-left: -15px !important;
    margin-right: -15px !important
}

.tf-container .row>* {
    padding-left: 15px !important;
    padding-right: 15px !important
}

.tf-container.w-1810 {
    max-width: 1810px
}

.tf-container.w-1680 {
    max-width: 1680px
}

.tf-container.w-1650 {
    max-width: 1650px
}

.hidden,
.sib-optin {
    display: none
}

.absolute,
.footer .mask,
.section-blog .mask,
.section-pricing .mask {
    position: absolute
}

.fixed {
    position: fixed !important
}

.position-unset {
    position: unset !important
}

.overflow-x-clip {
    overflow-x: clip
}

.z-5 {
    z-index: 5
}

.cols,
.flex,
.list-agent {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex
}

.line-clamp-2,
.line-clamp-3 {
    -webkit-box-orient: vertical;
    display: -webkit-box !important;
    overflow: hidden
}

.post-social,
.top-bar-item {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex
}

.text-medium {
    font-size: 14px
}

.body-2,
.fs-20,
.fs-22 {
    font-size: 16px
}

.fw-3 {
    font-weight: 300
}

.fw-4 {
    font-weight: 400
}

.fw-5 {
    font-weight: 500
}

.fw-6,
.tf-btn {
    font-weight: 600
}

.ml-11 {
    margin-left: 11px
}

.mt-15 {
    margin-top: 15px
}

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

.mt-70 {
    margin-top: 70px
}

.counter-box .counter .number-counter,
.mb-10 {
    margin-bottom: 10px
}

.mb-15,
.tf-post-grid.style-desc .post-content .title {
    margin-bottom: 15px
}

.mb-17 {
    margin-bottom: 17px
}

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

.contact-social .title,
.mb-21,
.tf-post-list.style-2 .desc {
    margin-bottom: 21px
}

.according-item .according-content .benefit-item,
.form-contact-us.style-bg-dark-2 .sub-title,
.mb-22 {
    margin-bottom: 22px
}

.contact-list .contact-item,
.mb-23 {
    margin-bottom: 23px
}

.mb-25 {
    margin-bottom: 25px !important
}

.according-item .according-content .desc,
.comment .title,
.locations-contact .item .title,
.mb-30 {
    margin-bottom: 30px
}

.mb-35 {
    margin-bottom: 35px
}

.mb-37 {
    margin-bottom: 37px
}

.mb-40 {
    margin-bottom: 40px !important
}

.mb-43 {
    margin-bottom: 43px
}

.mb-45 {
    margin-bottom: 45px
}

.mb-50 {
    margin-bottom: 50px !important
}

.mb-53,
.wg-project-details .image-blog.img-1,
.wg-service-details .details-content {
    margin-bottom: 53px
}

.mb-56 {
    margin-bottom: 56px !important
}

.mb-57 {
    margin-bottom: 57px
}

.mb-60 {
    margin-bottom: 60px
}

.mb-70,
.page-title-home .top-page-title,
.section-about .about-top {
    margin-bottom: 70px
}

.lh-30 {
    line-height: 30px
}

.lh-32 {
    line-height: 32px
}

.lh-35 {
    line-height: 35px
}

.lh-40 {
    line-height: 40px
}

.lh-45 {
    line-height: 45px
}

.lh-75 {
    line-height: 75px
}

.lh-85 {
    line-height: 85px
}

.fs-32,
.lh-100,
.tf-btn i {
    line-height: 100%
}

.fs-26,
.fs-27,
.fs-32 {
    font-size: 24px
}

.fs-65 {
    font-size: 48px
}

.g-10 {
    gap: 10px !important
}

.g-15 {
    gap: 15px
}

.g-16 {
    gap: 16px
}

.g-20 {
    gap: 20px !important
}

.g-25 {
    gap: 25px !important
}

.g-30,
.wg-project-details .list-img {
    gap: 30px
}

.rg-15 {
    row-gap: 15px !important
}

.rg-20 {
    row-gap: 20px !important
}

.rg-30 {
    row-gap: 30px !important
}

.rg-50 {
    row-gap: 50px !important
}

.rg-70 {
    row-gap: 70px !important
}

.rg-75 {
    row-gap: 75px !important
}

.line-clamp-2 {
    -webkit-line-clamp: 2
}

.line-clamp-3 {
    -webkit-line-clamp: 3
}

.sib-form {
    padding: 0;
    font-family: Inter, sans-serif !important
}

#sib-container {
    background-color: unset;
    padding: 0
}

.sib-form .entry__field {
    background-color: unset;
    border: 0;
    box-shadow: none !important;
    margin: 0;
    position: relative
}

.sib-form .entry__field .icon-email {
    position: absolute;
    top: 21px;
    left: 21px
}

.sib-form .sib-form-container .input {
    background-color: var(--main-dark) !important;
    padding: 21px 23px 17px 53px !important;
    color: var(--surface);
    border: 1px solid var(--stroke-2) !important;
    border-radius: 12px;
    height: unset !important;
    font-size: 14px;
    line-height: 16px
}

.entry__label,
.entry__specification,
.sib-form .entry__error,
.sib-form .entry__specification {
    margin: 0 !important
}

.sib-form .entry__error {
    margin-top: 5px !important;
    font-size: 14px;
    line-height: 20px
}

#sib-form {
    position: relative;
    display: flex;
    gap: 30px
}

#sib-form .sib-form-block__button {
    position: relative;
    top: unset;
    right: unset;
    padding: 20px 40px;
    font-size: 16px;
    line-height: 16px;
    min-height: unset;
    width: max-content
}

.sib-form .clickable__icon {
    margin: 0 5px 0 0;
    fill: #fff
}

.sib-form-message-panel {
    border: 0;
    padding: 0;
    border-radius: 0;
    background: #fff0
}

#menu-mobile>li,
.header {
    border-bottom: 1px solid var(--stroke-2)
}

#success-message .sib-form-message-panel__inner-text {
    color: #6bc044
}

#success-message svg path {
    fill: #6BC044
}

#error-message .sib-form-message-panel__text {
    color: #ff4949
}

.top-bar,
.wg-blog-details .img-details {
    padding-left: 15px;
    padding-right: 15px
}

.top-bar .top-bar-inner {
    padding: 18px 0
}

.top-bar .list-topbar-item {
    gap: 43px
}

.top-bar .tf-tb-right {
    gap: 22px
}

.top-bar-item {
    display: flex;
    gap: 10px;
    align-items: center
}

.top-bar-item a {
    font-weight: 500;
    letter-spacing: .05px
}

.form-comment .item .icon-email,
.icon-social .icon-youtube,
.top-bar-item .icon-email {
    font-size: 12px
}

.list-support {
    gap: 31px
}

.post-social {
    display: flex;
    gap: 20px
}

.post-social.style-radius-50 .icon-social {
    display: inline-block;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background-color: var(--main-dark);
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center
}

.post-social.style-radius-50 .icon-social i {
    color: var(--white);
    font-size: 11px
}

.counter-item.style-bg-primary,
.post-social.style-bg-white .icon-social:hover,
.post-social.style-radius-50 .icon-social:hover,
.sub-menu .sub-menu-item:hover,
.wg-cta {
    background-color: var(--primary)
}

.mobile-button span,
.sub-menu {
    background-color: var(--white)
}

.post-social.style-radius-50 .icon-social:hover i,
.tf-btn-close:hover i,
.tf-btn.hover-color-main-dark:hover i,
.tf-btn.hover-color-main-dark:hover span,
.tf-btn.style-bg-white i,
.tf-btn.style-bg-white span,
.tf-btn:hover i,
.tf-btn:hover span {
    color: var(--main-dark)
}

.post-social.style-bg-white .icon-social {
    width: 40px;
    height: 40px;
    background-color: var(--white)
}

.post-social.style-bg-white .icon-social i {
    color: var(--dark-2);
    font-size: 16px
}

.arrow-btn i,
.contact-mobile .content-contact-moblile i,
.mobile-nav-wrap .inner-mobile-nav a,
.post-social.style-bg-white .icon-social:hover i,
.sub-menu .sub-menu-item:hover .item-link-2,
.tf-btn.hover-bg-main-dark:hover i,
.tf-btn.hover-bg-main-dark:hover span {
    color: var(--white)
}

.date span,
.icon-social i,
.tf-btn-newsletter {
    color: var(--white);
    transition: .3s
}

.according-item .title-according:hover,
.benefit-item i,
.breadkcum .link-breadkcum:hover,
.breadkcum .page-breadkcum,
.comment-item .date,
.footer-content li a:hover,
.icon-social:hover i,
.menu-primary-menu .item-link:hover,
.mobile-nav-wrap .socials-mobile .socials-icon .socials-item:hover i,
.offcanvasMegamenu .contact-list-mega-menu li a:hover,
.project-item:hover .title-project a,
.services-item:hover .icon i,
.sidebar-item.sidebar-categories .item:hover a,
.sidebar-item.sidebar-categories .item:hover i,
.testimonial-item.style-2 .position,
.tf-btn-newsletter:hover,
.tf-btn.no-bg:hover i,
.tf-btn.no-bg:hover span,
.wg-tab ul li a.active,
.wg-tab ul li:hover a,
.wg-tab.style-2 ul li a.active,
.wg-tab.style-2 ul li:hover a {
    color: var(--white)
}

.menu-primary-menu {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    gap: 32px
}

#menu-mobile>li .sub-menu-mobile li,
.menu-primary-menu .menu-item {
    cursor: pointer
}

.menu-primary-menu .menu-item:not(.menu-item-has-children) {
    padding-right: 0
}

.menu-primary-menu .menu-item.menu-item-has-children .item-link {
    z-index: 2;
    padding-right: 19px;
    position: relative
}

.menu-primary-menu .menu-item.menu-item-has-children .item-link::after {
    content: "\e90b";
    position: absolute;
    top: 50%;
    right: 3px;
    font-size: 6px;
    line-height: 18px;
    font-family: icomoon;
    transform: translateY(-50%);
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
    z-index: 1
}

.menu-primary-menu .menu-item:hover .sub-menu,
.menu-primary-menu .menu-item:hover .sub-menu-home {
    opacity: 1;
    visibility: visible;
    top: 102%;
    pointer-events: all
}

.menu-primary-menu .item-link {
    color: var(--white);
    line-height: 90px;
    position: relative;
    font-weight: 500;
    padding: 0 5px;
    display: inline-block
}

.menu-primary-menu .item-link::before {
    content: "";
    position: absolute;
    bottom: -1px;
    left: auto;
    right: 0;
    width: 0;
    height: 3px;
    background-color: var(--primary);
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s;
    transition: .3s
}

#menu-mobile li.menu-item-has-children-mobile>a:not(.collapsed)::after,
.menu-primary-menu .item-link:hover::after,
.nice-select.open::before {
    transform: translateY(-50%) rotate(180deg)
}

.menu-primary-menu .item-link:hover::before,
.project-item:hover .title-project a::before,
.wg-tab ul li a.active:before,
.wg-tab.style-2 ul li a.active:before {
    left: 0;
    right: auto;
    width: 100%
}

.sub-menu {
    position: absolute;
    width: 233px;
    left: -25px;
    top: 110%;
    z-index: 9999;
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
    pointer-events: none
}

.sub-menu .sub-menu-item .item-link-2 {
    display: inline-block;
    color: var(--main-dark);
    position: relative;
    font-weight: 600;
    width: 100%;
    padding: 10px 24px
}

.header-right,
.mobile-nav-wrap .inner-mobile-nav .top-header-mobi,
.mobile-nav-wrap .socials-mobile .date {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex
}

.header {
    border-top: 1px solid var(--stroke-2)
}

.header .header-content {
    padding-left: 15px;
    padding-right: 0
}

.header .logo-header {
    padding-right: 15px
}

.header .main-menu {
    border-left: 1px solid var(--stroke-2);
    padding-left: 15px
}

.header-right {
    display: flex;
    align-items: center;
    position: relative;
    z-index: 2;
    gap: 15px
}

.mobile-button a {
    display: block;
    width: 24px;
    height: 18px;
    position: relative;
    cursor: pointer
}

.mobile-button span {
    position: absolute;
    display: block;
    width: 24px;
    height: 2px
}

.mobile-button span:first-child {
    top: 0
}

.mobile-button span:nth-child(2) {
    top: 50%;
    transform: translateY(-50%)
}

.mobile-button span:last-child {
    bottom: 0
}

.mobile-nav-wrap {
    max-width: 300px;
    width: 100%
}

.tf-btn,
.wg-tab ul {
    max-width: max-content
}

.mobile-nav-wrap .inner-mobile-nav {
    padding: 20px;
    width: 100%;
    height: 100%;
    background-color: var(--main-dark);
    z-index: 99999;
    overflow-y: auto;
    -webkit-transition: .4s;
    -moz-transition: .4s;
    -ms-transition: .4s;
    -o-transition: .4s;
    transition: .4s
}

.mobile-nav-wrap .inner-mobile-nav .mobile-nav-close {
    background-color: #fff0;
    border-radius: 50%;
    cursor: pointer
}

.mobile-nav-wrap .inner-mobile-nav .mobile-nav-close svg {
    width: 15px;
    height: 15px
}

.mobile-nav-wrap .inner-mobile-nav .top-header-mobi {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.mobile-nav-wrap .logo-mobile {
    max-width: 120px
}

.mobile-nav-wrap .socials-mobile .date {
    display: flex;
    gap: 8px;
    align-items: center;
    padding-bottom: 10px
}

.mobile-nav-wrap .socials-mobile .socials-icon,
.sw-pagination {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center
}

.mobile-nav-wrap .socials-mobile .socials-icon .socials-item {
    width: 40px;
    height: 40px;
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s;
    transition: .3s
}

.mobile-nav-wrap .socials-mobile .socials-icon .socials-item a,
.offcanvasMegamenu .tf-close-btn {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center
}

#menu-mobile,
.contact-mobile .content-contact-moblile,
.mobile-nav-wrap .mobile-main-nav {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex
}

.mobile-nav-wrap .socials-mobile .socials-icon .socials-item:first-child,
.mobile-nav-wrap .socials-mobile .socials-icon .socials-item:nth-child(2),
.mobile-nav-wrap .socials-mobile .socials-icon .socials-item:nth-child(3),
.mobile-nav-wrap .socials-mobile .socials-icon .socials-item:nth-child(4),
.section-services.p-services .services-item:nth-child(4),
.section-services.p-services .services-item:nth-child(5) {
    border-right: 0
}

.mobile-nav-wrap .mobile-main-nav {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 94%
}

#menu-mobile {
    display: flex;
    flex-direction: column;
    padding: 30px 0
}

#menu-mobile>li {
    position: relative;
    cursor: pointer
}

#menu-mobile>li a {
    padding: 15px 0
}

#menu-mobile>li .sub-menu-mobile {
    border-radius: 8px;
    text-align: start;
    -webkit-transition: .2s;
    -moz-transition: .2s;
    -ms-transition: .2s;
    -o-transition: .2s;
    transition: .2s;
    margin-bottom: 5px
}

#menu-mobile li.menu-item-has-children-mobile>a::after,
.tf-btn {
    -webkit-transition: .5s;
    -moz-transition: .5s;
    -ms-transition: .5s;
    -o-transition: .5s
}

#menu-mobile>li .sub-menu-mobile .menu-item a {
    padding: 7px 10px
}

#menu-mobile>li .sub-menu-mobile .menu-item:first-child a {
    padding-top: 0
}

#menu-mobile>li .sub-menu-mobile.show {
    transform: translate(0);
    opacity: 1;
    visibility: visible
}

#menu-mobile>li .sub-menu-mobile li:last-child {
    border: none
}

#menu-mobile li a {
    font-weight: 500;
    width: 100%;
    display: inline-block
}

#menu-mobile li.menu-item-has-children-mobile>a::after {
    content: "\e90b";
    font-family: icomoon;
    position: absolute;
    font-size: 6px;
    right: 0;
    top: 50%;
    line-height: 16px;
    transition: .5s
}

#menu-mobile li.menu-item-has-children-mobile>a.collapsed::after {
    transform: translateY(-50%) rotate(0)
}

.contact-mobile .title-contact-mobile {
    margin-bottom: 15px;
    color: var(--white)
}

.contact-mobile .content-contact-moblile {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px
}

.contact-mobile .content-contact-moblile:first-child {
    align-items: start
}

.contact-mobile .content-contact-moblile:first-child i {
    padding-top: 5px
}

.contact-mobile .content-contact-moblile .icon-location-dot,
.wg-project-details .details-content .benefit-item i {
    font-size: 18px
}

.contact-mobile .content-contact-moblile .icon-location-dot2 {
    font-size: 20px;
    margin-top: 3px
}

.contact-mobile .content-contact-moblile .icon-email {
    font-size: 13px;
    margin-top: 1px
}

.contact-mobile .content-contact-moblile a {
    line-height: 22px
}

.header-sticky {
    position: sticky;
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
    backdrop-filter: blur(5px);
    background: linear-gradient(180deg, rgba(88, 46, 108, .466) 0, rgba(10, 14, 39, .9) 100%);
    z-index: 999
}

.color-primary {
    color: var(--primary) !important
}

.current-menu-item>a,
.current-menu-mobile-item>a {
    color: var(--primary) !important
}

.current-menu-item>a::before {
    left: 0 !important;
    right: auto !important;
    width: 100% !important
}

.current-item {
    background-color: var(--primary) !important
}

.current-item>a {
    color: var(--white) !important
}

.footer {
    overflow: hidden;
    background: linear-gradient(180deg, #00000000 10%, #000 60%);
    position: relative;
    color: #fff
}

.tf-btn,
.wg-tab ul li a::before {
    background-color: var(--primary)
}

.frame-item,
.team-item .social-item .icon-social:hover i {
    color: var(--main-dark) !important
}

.footer .footer-top {
    padding-top: 90px;
    padding-bottom: 91px
}

.footer .line,
.process-item .line {
    width: 100%;
    height: 1px;
    background-color: var(--stroke-2)
}

.footer-go-top::before,
.tf-btn::before {
    position: absolute;
    background-color: var(--white);
    content: ""
}

.footer .footer-go-top {
    margin-top: -35px;
    margin-bottom: -2px
}

.footer .footer-middle {
    margin-bottom: 103px;
    gap: 50px 30px
}

.footer .mask.mask-1 {
    top: 27px;
    right: -31%
}

.footer .mask.mask-2 {
    top: auto;
    bottom: -41%;
    left: -27%
}

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

.footer .locations-contact {
    max-width: 240px;
    width: 100%
}

.footer .list-bottom {
    margin-top: -9px
}

.footer-go-top {
    display: inline-block;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    border: 1px solid var(--stroke-2);
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-left: auto;
    margin-right: auto
}

.footer-go-top::before {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    width: 60px;
    height: 60px
}

.footer-go-top i {
    color: var(--main-dark);
    position: relative
}

.footer-middle .left {
    max-width: 594px;
    width: 100%
}

.footer-middle .text a {
    text-decoration: underline
}

.footer-content .title-mobile {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: center
}

.footer-content .title-mobile i {
    font-size: 7px;
    -webkit-transition: .4s;
    -moz-transition: .4s;
    -ms-transition: .4s;
    -o-transition: .4s;
    transition: .4s
}

.tf-btn-readmore .plus,
.wg-tab ul li a::before {
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s
}

.footer-content ul {
    margin-top: 35px
}

.footer-content li {
    margin-bottom: 24px
}

.footer-content li a {
    color: var(--surface)
}

.footer-content.open .title-mobile i {
    transform: rotate(180deg)
}

.locations-contact .locations-footer .address {
    letter-spacing: .3px
}

.according-item,
.locations-contact .contact-footer .title {
    margin-bottom: 36px
}

.locations-contact .contact-footer a {
    letter-spacing: .3px;
    display: inline-block;
    margin-bottom: 9px
}

.tf-btn,
.wg-tab ul,
.wg-tab ul li a,
.wg-tab.style-2 ul,
.wg-tab.style-2 ul li a {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex
}

.locations-contact .contact-footer h4 a {
    letter-spacing: .75px
}

.footer-bottom ul {
    gap: 46px
}

.wg-tab {
    overflow: auto
}

.wg-tab::-webkit-scrollbar {
    display: none
}

.wg-tab ul {
    display: flex;
    gap: 30px;
    border-bottom: 1px solid var(--white)
}

.wg-tab ul li a {
    display: flex;
    align-items: center;
    gap: 7px;
    padding-right: 14px;
    padding-bottom: 14px;
    position: relative
}

.wg-tab ul li a i {
    font-size: 10px
}

.wg-tab ul li a::before {
    content: "";
    position: absolute;
    bottom: -1px;
    left: auto;
    right: 0;
    height: 1px;
    width: 0;
    transition: .3s
}

.wg-tab.style-2 ul {
    max-width: 100%;
    min-width: max-content;
    display: flex;
    justify-content: center;
    gap: 49px;
    border-bottom: 0
}

.wg-tab.style-2 ul li a {
    display: flex;
    align-items: center;
    padding-right: 0;
    padding-bottom: 20px;
    position: relative
}

.wg-tab.style-2 ul li a::before {
    height: 3px
}

.flat-animate-tab {
    overflow: hidden
}

.tab-content .tab-pane {
    display: block;
    pointer-events: none;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    -webkit-transform: translateY(30px);
    -ms-transform: translateY(30px);
    transform: translateY(30px);
    transition-timing-function: ease-in;
    transition-duration: .2s
}

.tab-content .tab-pane.active {
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
    position: relative;
    z-index: 2;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    transition-timing-function: ease-out;
    transition-duration: .3s;
    transition-delay: 0.3s
}

.tf-btn {
    padding: 20px 40px;
    display: flex;
    align-items: center;
    gap: 7px;
    border-radius: 12px;
    align-items: center;
    position: relative;
    overflow: hidden;
    transition: .5s
}

.tf-btn i,
.tf-btn span {
    position: relative;
    -webkit-transition: .5s;
    -moz-transition: .5s;
    -ms-transition: .5s;
    -o-transition: .5s;
    color: var(--white)
}

.tf-btn span {
    transition: .5s
}

.tf-btn i {
    font-size: 13px;
    transition: .5s
}

.tf-btn::before {
    top: 0;
    left: 0;
    height: 100%;
    width: 0;
    border-radius: 12px;
    -webkit-transition: .5s;
    -moz-transition: .5s;
    -ms-transition: .5s;
    -o-transition: .5s;
    transition: .5s
}

.tf-btn.hover-bg-main-dark:hover,
.tf-btn.no-bg,
.tf-btn:hover {
    background-color: #fff0
}

.counter-item .odometer-value,
.list-process .process-item,
.section-contact .left,
.section-contact .right,
.tf-btn:hover::before,
fieldset {
    width: 100%
}

.tf-btn.w-full {
    max-width: 100%;
    width: 100%
}

.tf-btn.no-bg {
    padding: 0;
    border-radius: 0
}

.fl-item,
.nice-select::after,
.range-slider .range-two-val .noUi-origin .noUi-handle::after,
.range-slider .range-two-val .noUi-origin .noUi-handle::before,
.sidebar-contact .title-content::before,
.tf-btn.no-bg::before,
.tf-grid-1 .fl-item2 {
    display: none
}

.megamenu-btn .burger,
.tf-btn-readmore {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    position: relative
}

.date:hover,
.sw-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active::after,
.tf-btn.style-bg-white {
    background-color: var(--white)
}

.tf-btn.hover-bg-main-dark::before {
    background-color: var(--main-dark) !important
}

.tf-btn.style-border {
    background-color: #fff0;
    border: 1px solid var(--white)
}

.tf-btn.style-border:hover {
    border-color: #fff0
}

.megamenu-btn {
    padding: 35px 36px;
    background-color: var(--white);
    display: block
}

.megamenu-btn .burger {
    width: 25px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: end
}

.megamenu-btn .burger span {
    display: block;
    position: relative;
    height: 3px;
    width: 35px;
    transition: .5s;
    background-color: var(--main-dark)
}

.tf-btn-readmore,
.tf-fade-top {
    -webkit-transition: .5s;
    -moz-transition: .5s;
    -ms-transition: .5s;
    -o-transition: .5s
}

.megamenu-btn .burger span:not(:first-child) {
    margin-top: 6px
}

.megamenu-btn .burger span:first-of-type {
    top: 0;
    transform-origin: left;
    width: 30px
}

.megamenu-btn .burger span:nth-of-type(3) {
    top: 100%;
    transform-origin: right;
    width: 30px
}

.megamenu-btn:hover .burger span:first-of-type {
    transform: scale(.2, 1.7) translateY(5px)
}

.megamenu-btn:hover .burger span:nth-of-type(2) {
    width: 30px;
    transform: scale(.2, 1.7)
}

.megamenu-btn:hover .burger span:nth-of-type(3) {
    transform: scale(.2, 1.7) translateY(-5px)
}

.fillter-btn.style-fixed {
    position: fixed;
    padding: 10px;
    top: 50%;
    right: 0;
    z-index: 999;
    border-radius: 5px 0 0 5px;
    background-color: var(--white)
}

.fillter-btn.style-fixed i {
    font-size: 20px;
    color: var(--main-dark)
}

.tf-btn-newsletter i {
    font-size: 20px
}

.tf-btn-readmore {
    font-family: Manrope, sans-serif;
    font-size: 14px;
    line-height: 30px;
    font-weight: 500;
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius: 17.5px;
    border: 1px solid var(--white);
    padding: 11.5px;
    transition: .5s
}

.tf-btn-readmore .plus {
    font-size: 20px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 11.5px;
    color: var(--white);
    transition: .3s
}

.form-comment input,
.tf-btn-readmore .text {
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s
}

.tf-btn-readmore .text {
    position: absolute;
    transform: translateX(10px);
    white-space: nowrap;
    transition: .3s;
    color: var(--white)
}

.project-item:hover .tf-btn-readmore,
.services-item:hover .tf-btn-readmore,
.tf-btn-readmore.style-open,
.tf-btn-readmore:hover {
    width: 132px
}

.project-item:hover .tf-btn-readmore .plus,
.services-item:hover .tf-btn-readmore .plus,
.tf-btn-readmore.style-open .plus,
.tf-btn-readmore:hover .plus {
    transform: translateY(-50%);
    left: 20px
}

.project-item:hover .tf-btn-readmore .text,
.services-item:hover .tf-btn-readmore .text,
.tf-btn-readmore:hover .text {
    padding-left: 23px;
    position: unset;
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
    transition-delay: 0.2s
}

.tf-btn-readmore.style-open .text {
    padding-left: 20px;
    position: unset;
    transform: translateX(0);
    opacity: 1;
    visibility: visible
}

.arrow-btn:hover,
.tf-btn-readmore.style-open:hover {
    background-color: var(--primary);
    border-color: var(--primary)
}

.arrow-btn {
    width: 45px;
    height: 45px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid var(--stroke-2)
}

.arrow-btn.swiper-button-disabled {
    pointer-events: none;
    opacity: .1 !important
}

.arrow-btn.w-50 {
    width: 50px !important;
    height: 50px !important
}

.range-slider .range-two-val {
    height: 4px;
    box-shadow: none;
    border: 0;
    background: rgb(255 63 37 / .15)
}

.range-slider .range-two-val .noUi-connects .noUi-connect {
    background-color: var(--red);
    height: 3px
}

.range-slider .range-two-val .noUi-origin .noUi-handle {
    position: absolute;
    cursor: pointer;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background-color: var(--red);
    border: none;
    box-shadow: none;
    top: -6px;
    right: -9px
}

.range-slider .range-two-val .noUi-origin .noUi-handle:active {
    right: -10px !important
}

.counter-item .odometer-formatting-mark,
.mapboxgl-ctrl-attrib a,
.mapboxgl-ctrl-attrib.mapboxgl-compact,
.range-slider .range-two-val .noUi-origin .noUi-handle.noUi-handle-lower,
.sidebar-item.sidebar-search .title-content::before,
a.mapboxgl-ctrl-logo {
    display: none !important
}

.range-slider .bottom,
.tf-post-grid {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex
}

.range-slider .bottom {
    margin-top: 21px;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.range-slider .value {
    width: 100%;
    gap: 15px;
    margin-top: 10px
}

.range-slider .value h6 {
    color: var(--color-title)
}

.range-slider .input-container div {
    position: absolute;
    width: max-content;
    padding: 5px;
    margin: 0;
    border: 1px solid var(--Line);
    border-radius: 5px;
    top: 20%;
    background-color: var(--White)
}

.range-slider .input-container div::before {
    position: absolute;
    display: block;
    content: "";
    bottom: -6px;
    left: 50%;
    width: 0;
    height: 0;
    margin-left: -3px;
    overflow: hidden;
    border: 3px solid var(--Line);
    border-top-color: #fff0;
    border-top-color: var(--White)
}

form {
    position: relative;
    z-index: 30
}

form input[type=color],
form input[type=date],
form input[type=datetime-local],
form input[type=datetime],
form input[type=email],
form input[type=month],
form input[type=number],
form input[type=password],
form input[type=search],
form input[type=tel],
form input[type=text],
form input[type=time],
form input[type=url],
form input[type=week],
form textarea {
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    width: 100%;
    border: unset;
    overflow: hidden;
    margin-bottom: 0;
    outline: 0
}

form input:-webkit-autofill {
    background-color: transparent !important;
    box-shadow: transparent !important;
    transition: background-color 5000s ease-in-out
}

form button,
form input[type=button],
form input[type=reset],
form input[type=submit] {
    background-color: #fff0;
    overflow: hidden;
    padding: 0
}

.form-newsletter2,
.form-search-siderbar {
    width: 100%;
    position: relative
}

.form-search-siderbar input {
    width: 100%;
    height: 60px;
    padding: 13px 25px !important;
    border: none !important;
    background-color: var(--main-dark);
    border-radius: 7px;
    outline: 0;
    color: var(--white)
}

.form-comment input,
.form-comment textarea {
    outline: 1px solid var(--stroke-2) !important
}

.form-search-siderbar input::placeholder {
    color: var(--white)
}

.form-search-siderbar .tf-btn-search {
    position: absolute;
    top: 50%;
    right: 24px;
    transform: translateY(-50%)
}

.form-search-siderbar .tf-btn-search i {
    font-size: 18px;
    color: var(--primary)
}

.form-newsletter .input-icon-absolute {
    max-width: 69%
}

.author .name,
.form-newsletter .title {
    margin-bottom: 26px
}

.form-newsletter .title span {
    letter-spacing: 1px;
    font-style: italic
}

.form-newsletter input {
    background-color: var(--main-dark) !important;
    padding: 21px 23px 17px 53px !important;
    color: var(--surface);
    border: 1px solid var(--stroke-2) !important;
    border-radius: 12px;
    font-size: 14px
}

.form-comment input,
.form-comment textarea,
.form-newsletter2 input {
    color: var(--white) !important;
    background-color: var(--main-dark)
}

.form-newsletter input::placeholder {
    color: var(--surface)
}

.form-newsletter .tf-btn {
    max-width: 100% !important;
    justify-content: center
}

.form-newsletter .desc {
    margin-bottom: 61px;
    letter-spacing: .08px;
    max-width: 91%
}

.form-newsletter .text {
    font-family: Manrope, sans-serif;
    color: var(--surface)
}

.form-newsletter .text a {
    color: var(--white)
}

.input-icon-absolute i {
    position: absolute;
    top: 24px;
    left: 25px
}

.contact-item .icon-email,
.form-contact-us .item .icon-email,
.input-icon-absolute .icon-email,
.next-prev-item .link i,
.tf-post-grid .bottom-item .icon-email,
.tf-post-list .post-date .icon-email {
    font-size: 13px
}

.form-newsletter2 input {
    width: 100%;
    height: 55px;
    padding: 0 17px;
    border: 1px solid var(--stroke-2) !important
}

.form-newsletter2 input::placeholder {
    color: var(--white)
}

.form-newsletter2 input:-webkit-autofill {
    -webkit-text-fill-color: var(--white);
    background-color: var(--main-dark)
}

.form-newsletter2 .tf-btn-newsletter {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 10px
}

.form-comment .title,
.form-contact-us .heading-form,
.project-item .item-content .sub-title,
.project-item.project-gird-item .item-content .sub-title {
    margin-bottom: 32px
}

.form-comment .item i {
    position: absolute;
    top: 24px;
    right: 25px
}

.form-comment input {
    padding: 19px 25px !important;
    border-radius: 12px;
    transition: .3s
}

.form-comment textarea,
.sw-pagination .swiper-pagination-bullet {
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s
}

.form-comment input:focus,
.form-comment textarea:focus {
    outline: 1px solid var(--primary) !important
}

.form-comment input::placeholder {
    color: var(--white)
}

.form-comment input:-webkit-autofill {
    -webkit-text-fill-color: var(--white);
    background-color: var(--main-dark)
}

.form-comment textarea {
    height: 125px;
    padding: 22px 29px !important;
    border-radius: 12px;
    transition: .3s
}

.form-contact-us input,
.form-contact-us textarea {
    background-color: var(--white) !important;
    border-radius: 5px
}

.form-comment textarea::placeholder {
    color: var(--white)
}

.form-comment textarea:-webkit-autofill {
    -webkit-text-fill-color: var(--white);
    background-color: var(--main-dark)
}

.form-contact-us {
    padding: 55px 50px 60px;
    background-color: var(--surface)
}

.form-contact-us .title {
    margin-bottom: 11px;
    color: var(--main-dark);
    letter-spacing: .1px
}

.form-contact-us .desc {
    color: var(--main-dark);
    letter-spacing: .05px
}

.form-contact-us .item i {
    position: absolute;
    top: 19px;
    right: 18px;
    z-index: 10;
    color: var(--main-dark)
}

.form-contact-us .error {
    color: var(--main-dark);
    margin-bottom: 10px
}

.form-contact-us textarea {
    height: 125px;
    padding: 20px 21px !important;
    color: var(--main-dark)
}

.form-contact-us textarea::placeholder {
    color: var(--main-dark)
}

.form-contact-us input {
    padding: 17px 42px 17px 21px !important;
    color: var(--main-dark)
}

.form-contact-us input::placeholder {
    color: var(--main-dark)
}

.form-contact-us.sidebar-form {
    background-color: #fff0;
    padding: 0
}

.form-contact-us.sidebar-form textarea {
    height: 100px;
    background-color: var(--main-dark) !important;
    border-radius: 12px;
    padding: 17px 18px !important;
    color: var(--white);
    border: 1px solid var(--stroke-2)
}

.form-contact-us.sidebar-form textarea::placeholder {
    color: var(--white)
}

.form-contact-us.sidebar-form textarea:-webkit-autofill {
    -webkit-text-fill-color: var(--white) !important
}

.form-contact-us.sidebar-form .nice-select {
    background-color: var(--main-dark);
    padding: 9px 18px !important;
    border-radius: 12px !important;
    border: 1px solid var(--stroke-2) !important
}

.form-contact-us.sidebar-form .nice-select span,
.form-contact-us.sidebar-form .nice-select::before {
    color: var(--white)
}

.form-contact-us.sidebar-form input {
    background-color: var(--main-dark) !important;
    border-radius: 12px;
    padding: 14px 17px !important;
    color: var(--white);
    border: 1px solid var(--stroke-2)
}

.form-contact-us.sidebar-form input::placeholder {
    color: var(--white)
}

.form-contact-us.sidebar-form input:-webkit-autofill {
    -webkit-text-fill-color: var(--white) !important
}

.form-contact-us.sidebar-form .error {
    color: var(--white)
}

.form-contact-us.style-bg-dark-2 {
    background-color: var(--dark-2);
    padding: 48px 50px 50px;
    border-radius: 16px
}

.form-contact-us.style-bg-dark-2 .error {
    color: var(--white);
    width: 100%;
    margin-bottom: 10px
}

.form-contact-us.style-bg-dark-2 textarea {
    height: 125px;
    background-color: var(--main-dark) !important;
    border-radius: 12px;
    padding: 22px 29px !important;
    color: var(--white);
    border: 1px solid var(--stroke-2)
}

.form-contact-us.style-bg-dark-2 textarea::placeholder {
    color: var(--white)
}

.form-contact-us.style-bg-dark-2 textarea:-webkit-autofill {
    -webkit-text-fill-color: var(--white) !important
}

.form-contact-us.style-bg-dark-2 .nice-select {
    background-color: var(--main-dark);
    padding: 15px 25px !important;
    border-radius: 12px !important;
    border: 1px solid var(--stroke-2) !important
}

.form-contact-us.style-bg-dark-2 .nice-select span,
.form-contact-us.style-bg-dark-2 .nice-select::before {
    color: var(--white)
}

.form-contact-us.style-bg-dark-2 input {
    background-color: var(--main-dark) !important;
    border-radius: 12px;
    padding: 20px 24px !important;
    color: var(--white);
    border: 1px solid var(--stroke-2)
}

.form-contact-us.style-bg-dark-2 input::placeholder {
    color: var(--white)
}

.form-contact-us.style-bg-dark-2 input:-webkit-autofill {
    -webkit-text-fill-color: var(--white) !important
}

.form-contact-us.style-bg-dark-2 .item i {
    color: var(--white);
    top: 23px;
    right: 24px
}

.form-contact-us.style-bg-dark-2 input[type=number]::-webkit-inner-spin-button,
.form-contact-us.style-bg-dark-2 input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0
}

.form-contact-us.style-bg-dark-2 input[type=number] {
    -moz-appearance: textfield
}

.tf-swiper .swiper-slide {
    height: auto
}

.page-title-home .image,
.project-item.project-gird-item:hover .image::after,
.project-item.style-2:hover .image::after,
.section-company .image-section,
.section-form .image,
.tf-swiper .swiper-slide>div {
    height: 100%
}

.sw-pagination .swiper-pagination-bullet {
    background-color: #fff0;
    opacity: 1;
    width: 10px;
    height: 10px;
    position: relative;
    margin-left: 0 !important;
    margin-right: 15px !important;
    transition: .3s
}

.overlay-filter,
.sw-pagination .swiper-pagination-bullet::after {
    left: 0;
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s;
    top: 0
}

.sw-pagination .swiper-pagination-bullet::after {
    position: absolute;
    background-color: #fff0;
    width: 100%;
    height: 100%;
    content: "";
    z-index: 5;
    border-radius: 50%;
    border: 2px solid var(--white);
    transition: .3s
}

.sw-project {
    margin-right: 15px;
    margin-left: 15px
}

.sw-border,
.sw-testimonial {
    padding: 15px 0;
    margin: -15px 0
}

.offcanvasMegamenu {
    background-color: var(--dark-2);
    max-width: 450px;
    width: 100% !important;
    --bs-offcanvas-height: max-content;
    overflow-y: auto;
    padding: 20px;
    z-index: 999999
}

.offcanvasMegamenu .heading {
    margin-bottom: 30px;
    text-align: end
}

.offcanvasMegamenu .desc {
    color: var(--surface);
    margin-bottom: 40px
}

.offcanvasMegamenu .title-content {
    color: var(--white);
    margin-bottom: 15px
}

.offcanvasMegamenu .contact-list-mega-menu,
.offcanvasMegamenu .megamenu-subscribe {
    margin-bottom: 40px
}

.offcanvasMegamenu .contact-list-mega-menu li {
    padding-top: 3px;
    padding-bottom: 3px
}

.breadkcum a,
.breadkcum span,
.offcanvasMegamenu .contact-list-mega-menu li p,
.pricing-item.style-popular .price span,
.pricing-item.style-popular .sub-title,
.tf-post-list .post-date i,
.tf-post-list .post-date span {
    color: var(--white)
}

.offcanvasMegamenu .contact-list-mega-menu li a {
    color: var(--surface)
}

.offcanvasMegamenu .megamenu-recent .tf-post-list {
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: 1px solid var(--border)
}

.offcanvasMegamenu .megamenu-recent .tf-post-list:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: 0
}

.overlay-filter {
    position: fixed;
    z-index: 2000;
    width: 100vw;
    height: 100vh;
    background-color: var(--main-dark);
    transition: .3s
}

.sidebar-item.sidebar-categories .item i,
.tf-post-list.style-2 .title {
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s
}

.overlay-filter.show {
    visibility: visible;
    opacity: .3
}

.tf-post-grid {
    background-color: var(--dark-2);
    border: 1px solid var(--stroke-2);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%
}

.category-post,
.tf-post-grid .bottom-item {
    align-items: center;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex
}

.tf-post-grid .category-post {
    margin-bottom: 20px
}

.tf-post-grid .image {
    margin: 15px 15px 0
}

.according-item .according-content .image img,
.author .image img,
.page-title-home .image img,
.project-item .image img,
.section-about.p-services .image img,
.section-about.p-services .img-secion-item img,
.section-company .image-section img,
.section-counting .image img,
.section-form .image img,
.services-item .image img,
.team-item .image img,
.tf-post-grid .image img,
.tf-post-list .image img,
.user-details .image-avata img,
.wg-blog-details .image img,
.wg-cta .cta-inner .img-line img,
.wg-service-details .image-blog img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.tf-post-grid .post-content {
    padding: 38.5px 50px 31px
}

.tf-post-grid .post-content .title {
    font-family: "DM Sans", sans-serif;
    letter-spacing: -.4px
}

.tf-post-grid .bottom-item {
    padding: 25px 50px 22px;
    border-top: 1px solid var(--stroke-2);
    display: flex;
    gap: 10px
}

.tf-post-grid.style-desc {
    border: 0;
    background-color: #fff0
}

.tf-post-grid.style-desc .image {
    width: 100%;
    margin: 0
}

.tf-post-grid.style-desc .date {
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 5
}

.tf-post-grid.style-desc .category-post {
    position: absolute;
    bottom: 15px;
    left: 15px;
    z-index: 5;
    margin-bottom: 0
}

.tf-post-grid.style-desc .category-post .item {
    background-color: rgb(255 255 255 / .3215686275)
}

.tf-post-grid.style-desc .category-post .item:hover {
    background-color: var(--primary);
    color: var(--white)
}

.tf-post-grid.style-desc .post-content {
    padding: 40px 0 0
}

.tf-post-grid.style-desc .post-content .sub-title {
    margin-bottom: 25px
}

.category-post {
    display: flex;
    gap: 9px
}

.category-post .item {
    background-color: var(--stroke-2);
    color: var(--white);
    padding: 10px 20px;
    display: inline-block
}

.category-post .item:hover,
.tabs-list .tabs-item:hover {
    background-color: var(--primary);
    color: var(--main-dark)
}

.sidebar-item.bg-dark-2,
.tf-sidebar {
    background-color: var(--dark-2);
    padding: 43px 40px 48px;
    border: 1px solid var(--stroke-2)
}

.tf-sidebar.no-bg {
    background-color: #fff0;
    padding: 0;
    border: 0
}

.sidebar-item {
    border-radius: 7px;
    margin-bottom: 42px
}

.sidebar-item .title-content {
    padding-bottom: 26px;
    margin-bottom: 40px;
    letter-spacing: -.3px;
    position: relative
}

.sidebar-item .title-content::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50px;
    height: 3px;
    background-color: var(--stroke-2)
}

.sidebar-item h4 {
    letter-spacing: .1px !important;
    padding-bottom: 24px !important
}

.sidebar-item.sidebar-search .title-content {
    padding-bottom: 0 !important;
    margin-bottom: 23px
}

.sidebar-item.sidebar-categories .item {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 26.5px
}

.tf-post-list,
.tf-post-list.style-2 .post-content {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    gap: 30px
}

.sidebar-item.sidebar-categories .item i {
    font-size: 10px;
    color: var(--white);
    transition: .3s
}

.sidebar-item.sidebar-categories .item a {
    letter-spacing: .2px;
    color: var(--white)
}

.sidebar-contact {
    padding: 50px 40px 48px !important
}

.sidebar-contact .title-content {
    letter-spacing: .3px;
    padding-bottom: 0
}

.sidebar-banner .title,
.tf-post-list a {
    font-family: "DM Sans", sans-serif;
    letter-spacing: -.2px
}

.sidebar-recent-posts .tf-post-list {
    border-bottom: 1px solid var(--stroke-2);
    padding-bottom: 34px;
    margin-bottom: 35px
}

.sidebar-recent-posts .tf-post-list:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0
}

.tf-post-list {
    display: flex
}

.tf-post-list .image {
    border-radius: 50%;
    overflow: hidden;
    max-width: 65px;
    height: 100%
}

.tf-post-list .post-date {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    gap: 11px;
    margin-bottom: 12px
}

.tf-post-list a {
    line-height: 24px;
    font-size: 16px
}

.tf-post-list .post-content {
    max-width: calc(100% - 95px);
    width: 100%
}

.tf-post-list.style-2 {
    border: 1px solid var(--stroke-2);
    justify-content: space-between;
    gap: 0
}

.tf-post-list.style-2 .image {
    border-radius: 0;
    overflow: hidden;
    margin: 10px 10px 7px;
    max-width: 100%
}

.tf-post-list.style-2 .image img {
    display: block;
    height: auto;
    transform: translateY(0);
    object-fit: cover
}

.tf-post-list.style-2 .post-content {
    padding: 30px 15px;
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

.tabs-list,
.tf-grid-1,
.tf-post-list.style-2 .post-meta {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex
}

.tf-post-list.style-2 .post-meta {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 15px
}

.tf-post-list.style-2 .post-meta .line {
    display: block;
    height: 1px;
    width: 20px;
    background-color: var(--white)
}

.tf-post-list.style-2 .title {
    transition: .3s;
    color: var(--white);
    cursor: pointer
}

.according-item .title-according span,
.date {
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s
}

.tf-post-list.style-2 .title a {
    font-family: Inter, sans-serif;
    letter-spacing: -.3px;
    text-decoration-color: #fff0;
    text-underline-offset: 1px
}

.tf-post-list.style-2 .title a:hover {
    text-decoration-color: var(--white) !important
}

.tf-post-list.style-2:hover .title a {
    text-decoration-color: var(--white)
}

.tabs-list {
    display: flex;
    flex-wrap: wrap;
    gap: 9px
}

.tabs-list .tabs-item {
    padding: 10px 20.3px;
    background-color: var(--stroke-2);
    color: var(--white)
}

.sidebar-banner {
    background-image: url(../image/blog/banner-sidebar-1.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative
}

.sidebar-banner::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: var(--dark-2);
    mix-blend-mode: multiply
}

.sidebar-banner .box-content {
    position: relative;
    padding: 108px 40px 40px
}

.wg-blog-details .category-post,
.wg-blog-details .content,
.wg-blog-details .date-user-post,
.wg-blog-details .desc {
    padding-left: 50px;
    padding-right: 50px
}

.sidebar-banner .sub-title {
    color: var(--primary);
    margin-bottom: 9px
}

.sidebar-banner .title {
    margin-bottom: 31px
}

.list-post-gird .bottom-btn {
    margin-top: 72px
}

.list-post-gird-2 .bottom-btn {
    margin-top: 65px
}

.tf-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px
}

.tf-grid-1 {
    display: flex;
    flex-direction: column;
    row-gap: 60px
}

.date,
.frame-item {
    align-items: center
}

.big-text {
    font-weight: 600;
    font-size: 80px;
    line-height: 100%;
    letter-spacing: -3%
}

.big-text .text-stroke {
    color: var(--stroke-2)
}

.wg-blog-details {
    background-color: var(--dark-2);
    border: 1px solid var(--stroke-2)
}

.date,
.frame-item,
.testimonial-item.style-2 .icon,
.wg-quote .name-quote::before {
    background-color: var(--primary)
}

.author .image,
.comment-item .image,
.user-details .image-avata {
    border-radius: 50%;
    overflow: hidden
}

.wg-blog-details .details-content {
    padding-top: 50px;
    padding-bottom: 54px
}

.wg-blog-details .date-user-post {
    gap: 71px
}

.wg-blog-details .list-img {
    padding-left: 15px;
    padding-right: 15px;
    gap: 20px
}

.wg-blog-details .desc .desc-flex {
    margin-bottom: 8px
}

.wg-blog-details .desc span {
    color: var(--surface);
    letter-spacing: .06px
}

.wg-blog-details .content .title {
    line-height: 120%
}

.wg-blog-details .content .desc {
    padding-left: 0;
    padding-right: 0
}

.wg-blog-details .tag-social {
    padding-top: 20px;
    padding-bottom: 20px;
    border-top: 1px solid var(--stroke-2);
    border-bottom: 1px solid var(--stroke-2);
    margin-left: 50px;
    margin-right: 50px
}

.wg-blog-details .write-review {
    margin-bottom: 70px;
    padding-left: 50px;
    padding-right: 50px
}

.date-post p {
    padding-bottom: 6px
}

.benefit-item.style-desc .top-item span,
.counter-item .title-counter,
.date-post h5 {
    letter-spacing: -.3px
}

.date {
    width: 90px;
    height: 90px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    flex-direction: column;
    transition: .3s
}

.date .day {
    font-weight: 600;
    font-size: 30px;
    line-height: 35px;
    text-align: center
}

.counter-item.style-bg-surface .title-counter,
.counter-item.style-bg-surface span,
.date:hover span,
.nice-select .list li {
    color: var(--main-dark)
}

.desc-flex span {
    max-width: calc(100% - 70px)
}

.frame-item {
    margin-top: 5px;
    display: block;
    width: 50px;
    height: 50px;
    border-radius: 12px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center
}

.author,
.testimonial-item.style-2,
.wg-quote {
    background-color: var(--main-dark)
}

.contact-item,
.user-details,
.wg-quote {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex
}

.contact-item,
.user-details {
    display: flex;
    align-items: center;
    gap: 20px
}

.user-details .image-avata {
    max-width: 55px;
    flex-grow: 1
}

.user-details .user-content {
    max-width: calc(100% - 75px)
}

.counter-item.style-2 .number-counter,
.user-details .user-content p {
    margin-bottom: 4px
}

.according-item h5,
.author .name a,
.user-details .user-content .name-user a {
    letter-spacing: -.4px
}

.wg-quote {
    display: flex;
    border-left: 3px solid var(--primary);
    margin-left: 50px;
    margin-right: 50px;
    padding: 21px 43px;
    gap: 40px
}

.author,
.comment-item {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex
}

.wg-quote .icon {
    margin-top: 11px
}

.wg-quote .icon i {
    font-size: 41px;
    color: var(--primary)
}

.wg-quote .title {
    font-size: 24px;
    line-height: 150%;
    font-weight: 600;
    margin-bottom: 18px
}

.wg-quote .name-quote {
    position: relative;
    padding-left: 70px
}

.wg-quote .name-quote::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 40px;
    height: 2px
}

.author {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
    margin-left: 15px;
    margin-right: 15px;
    padding: 30px 50px
}

.comment,
.recent-news {
    margin-right: 50px;
    margin-left: 50px;
    border-bottom: 1px solid var(--stroke-2)
}

.author .image {
    max-width: 160px;
    width: 100%
}

.author .text {
    margin-bottom: 32px;
    line-height: 112%
}

.author .author-content {
    padding-bottom: 7px
}

.recent-news {
    padding-bottom: 50px;
    margin-bottom: 61px
}

.comment {
    padding-bottom: 70px;
    margin-bottom: 62px
}

.comment-item {
    display: flex;
    align-items: start;
    gap: 35px
}

.comment-item .top,
.testimonial-item.style-2 .icon {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    align-items: center
}

.comment-item .image {
    max-width: 100px
}

.comment-item .top {
    display: flex;
    gap: 22px;
    margin-bottom: 12px
}

.comment-item .text {
    color: var(--surface);
    margin-bottom: 15px;
    letter-spacing: .05px;
    max-width: 95%
}

.comment-item .comment-content {
    max-width: calc(100% - 135px)
}

.comment-item.reply {
    padding-left: 50px;
    padding-right: 62px;
    margin-top: 46px
}

.process-item .top-item,
.testimonial-item .icon {
    margin-bottom: 33px
}

.testimonial-item .icon i {
    color: var(--primary);
    font-size: 55px
}

.testimonial-item .text {
    margin-bottom: 30px;
    max-width: 699px;
    letter-spacing: -.05px
}

.testimonial-item .user-testimonial .name-user {
    display: block;
    margin-bottom: 10px;
    letter-spacing: -.4px
}

.testimonial-item .user-testimonial .position {
    display: block;
    font-family: Manrope, sans-serif
}

.testimonial-item.style-2 {
    border: 1px solid var(--stroke-2);
    text-align: center;
    padding: 50px 15px 47px
}

.testimonial-item.style-2 .icon {
    width: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    border-radius: 50%;
    margin-bottom: 0;
    position: relative
}

.according-item .title-according,
.testimonial-item.style-2 .top-item {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    align-items: center
}

.testimonial-item.style-2 .icon i {
    font-size: 15px;
    color: var(--white)
}

.testimonial-item.style-2 .image-avatar {
    max-width: 85px;
    border-radius: 50%;
    margin-left: -25.5px
}

.testimonial-item.style-2 .image-avatar img {
    width: 75%;
    height: 60px;
    object-fit: cover;
    border-radius: 50%
}

.testimonial-item.style-2 .top-item {
    display: flex;
    justify-content: center;
    margin-bottom: 30px
}

.testimonial-item.style-2 .text {
    max-width: 270px;
    margin-bottom: 24px;
    margin-left: auto;
    margin-right: auto;
    color: var(--surface);
    letter-spacing: .1px
}

.testimonial-item.style-2 .name-user {
    margin-bottom: 11px
}

.according-item .title-according {
    display: flex;
    justify-content: space-between;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--stroke-2);
    color: var(--primary)
}

.according-item .title-according span {
    position: relative;
    width: 12px;
    height: 12px;
    display: block;
    transition: .3s
}

.according-item .title-according span::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 100%;
    height: 2px;
    background-color: var(--white)
}

.according-item .title-according span::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    left: 0;
    width: 100%;
    height: 2px;
    background-color: var(--white);
    opacity: 0;
    visibility: hidden;
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s;
    transition: .3s
}

.according-item .title-according.collapsed {
    border-bottom-color: var(--white);
    color: var(--white)
}

.according-item .title-according.collapsed span,
.according-item.style-2 .title-according:not(.collapsed) i {
    transform: rotate(90deg)
}

.according-item .title-according.collapsed span::after {
    opacity: 1;
    visibility: visible
}

.according-item .according-content {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    margin-top: 42px
}

.according-item .according-content .image {
    max-width: 190px;
    width: 100%
}

.according-item .according-content .right {
    padding-left: 51px;
    padding-top: 8.5px;
    padding-bottom: 8.5px
}

.according-item.style-2 {
    padding: 0 30px;
    background-color: var(--dark-2);
    margin-bottom: 10px
}

.according-item.style-2 .title-according {
    border-bottom: 0;
    letter-spacing: .1px;
    padding: 21.5px 0;
    gap: 20px
}

.according-item.style-2 .title-according i {
    font-size: 13px;
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s;
    transition: .3s
}

.nice-select::before,
.services-item .icon {
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s
}

.according-item.style-2 .title-according:not(.collapsed) {
    padding-top: 29px;
    padding-bottom: 0
}

.according-item.style-2 .according-content {
    margin-top: 18px;
    padding-right: 20px;
    padding-bottom: 24px
}

.according-item.style-2 .according-content p,
.features-item .item-content p {
    letter-spacing: .06px
}

.map {
    max-width: 100%;
    height: 600px;
    overflow: hidden
}

.nice-select {
    border-color: transparent !important;
    border-radius: 5px;
    position: relative
}

.nice-select::before {
    content: "\e90b";
    font-family: icomoon;
    position: absolute;
    right: 20px;
    top: 55%;
    transform: translateY(-50%);
    font-size: 8px;
    transition: .3s;
    color: var(--main-dark)
}

.nice-select>span {
    font-weight: 400;
    font-size: 16px;
    line-height: 30px;
    color: var(--main-dark)
}

.nice-select.open {
    z-index: 50
}

.tf-fade-top {
    transform: translateY(20px);
    transition: .5s
}

.tf-fade-left,
.tf-fade-right {
    opacity: 0;
    visibility: hidden;
    -webkit-transition: .5s;
    -moz-transition: .5s;
    -ms-transition: .5s;
    -o-transition: .5s
}

.tf-fade-left {
    transform: translateX(-20px);
    transition: .5s
}

.tf-fade-right {
    transform: translateX(20px);
    transition: .5s
}

.tf-fade-bottom,
.tf-fade-bottom-left {
    -webkit-transition: .5s;
    -moz-transition: .5s;
    -ms-transition: .5s;
    -o-transition: .5s;
    opacity: 0;
    visibility: hidden
}

.tf-fade-bottom {
    transform: translateY(-20px);
    transition: .5s
}

.tf-fade-bottom-left {
    transform: translate(20px, -20px);
    transition: .5s
}

.tf-fade-top-right {
    transform: translate(-20px, -20px);
    opacity: 0;
    visibility: hidden;
    -webkit-transition: .5s;
    -moz-transition: .5s;
    -ms-transition: .5s;
    -o-transition: .5s;
    transition: .5s
}

.tf-animate-1 {
    clip-path: inset(0 100% 0 0);
    opacity: 0;
    -webkit-transition: 1s cubic-bezier(.63, .25, .25, 1);
    -khtml-transition: 1s cubic-bezier(.63, .25, .25, 1);
    -moz-transition: 1s cubic-bezier(.63, .25, .25, 1);
    -ms-transition: 1s cubic-bezier(.63, .25, .25, 1);
    -o-transition: 1s cubic-bezier(.63, .25, .25, 1);
    transition: 1s cubic-bezier(.63, .25, .25, 1)
}

.tf-animate-1.active-animate,
.tf-animate-2.active-animate,
.tf-animate-3.active-animate,
.tf-animate-4.active-animate {
    clip-path: inset(0 0 0 0);
    opacity: 1;
    transform: translateX(0)
}

.tf-animate-1.transition-1s,
.tf-animate-2.transition-1s,
.tf-animate-3.transition-1s,
.tf-animate-4.transition-1s {
    -webkit-transition: 1.5s cubic-bezier(.63, .25, .25, 1);
    -khtml-transition: 1.5s cubic-bezier(.63, .25, .25, 1);
    -moz-transition: 1.5s cubic-bezier(.63, .25, .25, 1);
    -ms-transition: 1.5s cubic-bezier(.63, .25, .25, 1);
    -o-transition: 1.5s cubic-bezier(.63, .25, .25, 1);
    transition: 1.5s cubic-bezier(.63, .25, .25, 1)
}

.tf-animate-2,
.tf-animate-3 {
    -webkit-transition: 1s cubic-bezier(.63, .25, .25, 1);
    -khtml-transition: 1s cubic-bezier(.63, .25, .25, 1);
    -moz-transition: 1s cubic-bezier(.63, .25, .25, 1);
    -ms-transition: 1s cubic-bezier(.63, .25, .25, 1);
    -o-transition: 1s cubic-bezier(.63, .25, .25, 1);
    opacity: 0
}

.tf-animate-2 {
    clip-path: inset(0 0 100% 0);
    transition: 1s cubic-bezier(.63, .25, .25, 1)
}

.tf-animate-3 {
    clip-path: inset(100% 0 0 0);
    transition: 1s cubic-bezier(.63, .25, .25, 1)
}

.tf-animate-4 {
    clip-path: inset(0 0 0 100%);
    opacity: 0;
    -webkit-transition: 1s cubic-bezier(.63, .25, .25, 1);
    -khtml-transition: 1s cubic-bezier(.63, .25, .25, 1);
    -moz-transition: 1s cubic-bezier(.63, .25, .25, 1);
    -ms-transition: 1s cubic-bezier(.63, .25, .25, 1);
    -o-transition: 1s cubic-bezier(.63, .25, .25, 1);
    transition: 1s cubic-bezier(.63, .25, .25, 1)
}

@keyframes infiniteScroll {
    0% {
        transform: translateX(0)
    }

    100% {
        transform: translateX(-100%)
    }
}

@keyframes ripple {
    0% {
        width: 100%;
        height: 100%;
        opacity: .9
    }

    100% {
        width: 150%;
        height: 150%;
        opacity: 0
    }
}

.text-flip {
    display: grid;
    transform-style: preserve-3d;
    transform-origin: center center;
    position: relative
}

.text-face {
    grid-area: 1/1;
    backface-visibility: hidden
}

.text-front {
    transform: rotateX(0)
}

.text-back {
    transform: rotateX(180deg)
}

@keyframes rotate {
    0% {
        transform: rotate(0)
    }

    100% {
        transform: rotate(360deg)
    }
}

@keyframes spin {
    0% {
        transform: rotate(0);
        box-shadow: 0 2px 0 var(--primary)
    }

    50% {
        transform: rotate(180deg);
        box-shadow: 0 2px 0 var(--primary)
    }

    100% {
        transform: rotate(360deg);
        box-shadow: 0 2px 0 var(--primary)
    }
}

.hover-image .image {
    display: inline-block;
    position: relative;
    overflow: hidden
}

.tf-marquee,
.tf-marquee .marquee-wrapper,
.tf-marquee .marquee-wrapper .initial-child-container {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex
}

.hover-image .image:after {
    content: "";
    position: absolute;
    width: 200%;
    height: 0%;
    left: 50%;
    top: 50%;
    background-color: rgb(255 255 255 / .3);
    transform: translate(-50%, -50%) rotate(-45deg);
    z-index: 1
}

.hover-image .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 1s
}

.hover-image:hover .image:after {
    height: 250%;
    transition: .6s linear;
    background-color: #fff0
}

.hover-image:hover .image img {
    transform: scale(1.1)
}

.mask {
    position: absolute;
    animation: 14s linear infinite rotate
}

.mask.mask-1 {
    top: 200px;
    right: -15.3%
}

.mask.mask-1.p-about {
    right: -18.3%
}

.mask.mask-2 {
    top: 571px;
    left: -27%
}

.mask.mask-2.p-about {
    top: 10.3%;
    left: -27%
}

.mask.mask-3 {
    top: 1627px;
    right: -19%
}

.mask.mask-service-1 {
    top: 5.6%;
    right: -295px
}

.mask.mask-service-2 {
    top: 12.8%;
    left: -27%
}

.mask.mask-service-3 {
    top: 33.5%;
    right: -369px
}

.mask.mask-service-4 {
    bottom: -19%;
    left: -531px
}

.tf-marquee {
    display: flex;
    overflow: hidden;
    width: 100%
}

.tf-marquee .marquee-wrapper {
    display: flex;
    animation: 420s linear infinite infiniteScroll;
    align-items: center;
    transition: animation-duration .3s
}

.tf-marquee .marquee-wrapper .initial-child-container {
    flex: 0 0 auto;
    display: flex;
    min-width: auto;
    flex-direction: row;
    align-items: center;
    gap: 30px
}

.counter-item.style-2 .icon,
.wg-curve-text {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    align-items: center;
    border-radius: 50%
}

.tf-marquee .marquee-wrapper .initial-child-container .marquee-child-item {
    display: inline-flex
}

.tf-marquee .marquee-wrapper:hover {
    animation-play-state: paused
}

.counter-item .number-counter.fs-65 {
    font-size: 48px;
    line-height: 100%
}

.counter-item .number-counter span {
    font-family: Inter, sans-serif !important;
    line-height: 100% !important
}

.counter-item.style-2 {
    padding: 40px 45px 31px;
    max-width: 300px;
    width: 100%
}

.counter-item.style-2 .icon {
    width: 50px;
    height: 50px;
    background-color: var(--white);
    margin-bottom: 37px;
    display: flex;
    justify-content: center
}

.counter-item.style-2 .icon i {
    color: var(--dark-2)
}

.counter-item.style-bg-surface {
    background-color: var(--surface)
}

.text-rotate {
    animation: 10s linear infinite rotate
}

.text-rotate svg {
    width: 180px;
    height: 180px
}

.text-rotate svg text {
    font-size: 25px;
    fill: var(--white);
    font-family: Inter, sans-serif
}

.wg-curve-text {
    position: relative;
    width: 210px;
    height: 210px;
    display: flex;
    justify-content: center;
    border: 1px dashed var(--white)
}

.box-logo,
.wg-curve-text .icon {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    align-items: center
}

.wg-curve-text .icon {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background-color: #fff0;
    border: 1px solid var(--white);
    display: flex;
    justify-content: center
}

.box-logo,
.services-item .image {
    background-color: var(--main-dark)
}

.wg-curve-text .icon i {
    color: var(--white);
    font-size: 27px;
    transform: rotate(45deg);
    font-weight: 400
}

.box-logo {
    width: 156px;
    height: 126px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding-top: 9px
}

.benefit-item,
.team-item .social-item {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex
}

.box-logo img {
    max-width: 45px;
    width: 100%;
    height: auto;
    object-fit: cover
}

.box-logo .title {
    margin-top: 2px
}

.box-avatar {
    padding: 31px 35px 38px;
    background-color: var(--primary)
}

.pricing-item,
.project-item {
    background-color: var(--dark-2)
}

.box-avatar .text {
    padding-bottom: 21px
}

.box-avatar .text p {
    line-height: 23px;
    margin-bottom: 11px;
    letter-spacing: -.4px
}

.box-avatar .text img {
    max-width: 132px;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.list-agent .agent {
    margin-right: -10px;
    border-radius: 50%;
    width: 45px;
    height: 45px
}

.team-item .plus-icon,
.team-item .social-item {
    left: 50%;
    transform: translateX(-50%);
    height: 55px
}

.list-agent .agent img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%
}

.list-agent .agent.style-border:last-child,
.list-agent .agent:last-child {
    margin-right: 0
}

.list-agent .agent.agent-plus {
    width: 45px;
    height: 45px;
    background-color: var(--white);
    border-radius: 50%;
    position: relative
}

.services-item,
.team-item {
    border: 1px solid var(--stroke-2)
}

.list-agent .agent.agent-plus span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 22px;
    color: var(--primary);
    line-height: 22px;
    font-family: Manrope, sans-serif
}

.list-agent .agent.style-border {
    border: 2px solid var(--white);
    width: 35px;
    height: 35px;
    margin-right: -5px
}

.benefit-item {
    display: flex;
    gap: 13px;
    align-items: center
}

.benefit-item.style-big {
    gap: 18px
}

.benefit-item.style-big i {
    font-size: 28px
}

.benefit-item.style-big span,
.box-info .info-item .title-info {
    letter-spacing: -.2px
}

.benefit-item.style-desc {
    flex-direction: column;
    align-items: start;
    gap: 12px
}

.benefit-item.style-desc i {
    font-size: 23px
}

.benefit-item.style-desc .desc,
.heading-section .desc {
    letter-spacing: .05px
}

.services-item {
    padding: 50px
}

.services-item .icon {
    width: max-content;
    margin-bottom: 32px;
    transition: .3s
}

.services-item .icon i {
    font-size: 55px;
    color: var(--white);
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s;
    transition: .3s
}

.services-item h6 {
    margin-bottom: 9px;
    letter-spacing: -.4px
}

.services-item .desc {
    margin-bottom: 30px;
    max-width: 97%
}

.services-item .image {
    margin-bottom: 40px
}

.services-item.no-img {
    border-left: 1px solid var(--stroke-2);
    padding: 50px 50px 50px 70px
}

.services-item.no-img h5 {
    letter-spacing: -.6px;
    margin-bottom: 15px
}

.services-item:hover .icon {
    transform: rotateY(180deg)
}

.wg-cta .cta-inner {
    align-items: center;
    justify-content: center;
    padding: 17px 15px 15px 0;
    position: relative;
    gap: 20px 60px
}

.wg-cta .cta-inner .tf-btn-close {
    position: absolute;
    top: 20px;
    right: 0
}

.wg-cta .cta-inner .icon,
.wg-cta .cta-inner .title {
    margin-right: 20px
}

.wg-cta .cta-inner .icon i {
    font-size: 35px
}

.wg-cta .cta-inner .title span {
    font-style: italic;
    letter-spacing: -.3px
}

.wg-cta .cta-inner .list-agent {
    padding-right: 20px
}

.wg-cta .cta-inner .img-line {
    max-width: 124px;
    margin-top: -8px
}

.wg-cta .cta-inner .tf-btn-close i {
    font-size: 30px
}

.team-item .image {
    margin: 10px 9.5px 0;
    display: block
}

.team-item .plus-icon {
    position: absolute;
    bottom: -27px;
    display: inline-block;
    width: 55px;
    border-radius: 50%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--surface);
    border: 3px solid var(--main-dark)
}

.project-item .item-content .title-project a::before,
.team-item .social-item {
    background-color: var(--primary);
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s;
    position: absolute
}

.team-item .plus-icon span {
    color: var(--main-dark);
    font-size: 23px
}

.team-item .social-item {
    bottom: -10px;
    z-index: 10;
    max-width: 161px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: .3s
}

.project-item,
.project-item .item-content {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex
}

.list-process,
.project-item {
    justify-content: space-between
}

.team-item .social-item .post-social {
    gap: 17px
}

.team-item .social-item .icon-social i {
    font-size: 17px
}

.team-item .item-content {
    text-align: center;
    padding: 49px 15px 32px
}

.team-item .item-content .title {
    margin-bottom: 10px;
    letter-spacing: -.5px
}

.team-item:hover .social-item {
    bottom: -27px;
    opacity: 1;
    visibility: visible
}

.project-item {
    display: flex;
    width: 100%;
    border: 1px solid var(--stroke-2)
}

.project-item .item-content {
    padding: 40px 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    row-gap: 50px
}

.project-item .item-content .title-project {
    margin-bottom: 26px;
    letter-spacing: .2px
}

.project-item .item-content .title-project a::before {
    content: "";
    bottom: 0;
    left: auto;
    right: 0;
    width: 0;
    height: 3px;
    transition: .3s
}

.project-item .image {
    margin: 10px 10px 10px 0;
    width: 100%
}

.project-item.style-2 {
    border: 0;
    background-color: #fff0;
    justify-content: end
}

.project-item.style-2 .image {
    margin: 0;
    max-width: calc(50% - 15px);
    position: relative
}

.project-item.project-gird-item .image::after,
.project-item.style-2 .image::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
    background: linear-gradient(180deg, #fff0 42.89%, #43baff 100%)
}

.project-item.style-2 .item-content {
    max-width: 50%;
    padding: 30px
}

.heading-section .title,
.project-item.style-2 .desc,
.wg-project-details .details-content .benefit-item span {
    letter-spacing: .1px
}

.project-item.style-reverse {
    flex-direction: row-reverse;
    justify-content: start
}

.project-item.project-gird-item {
    flex-direction: column;
    border: 0;
    background-color: #fff0
}

.page-title-home .desc,
.pricing-item .top-item,
.wg-project-details .tag-social {
    border-bottom: 1px solid var(--stroke-2)
}

.project-item.project-gird-item .image {
    margin: 0 0 38px !important;
    position: relative
}

.project-item.project-gird-item .item-content {
    padding: 0 !important;
    display: block
}

.features-item,
.features-item .number-features,
.pricing-item.style-popular .tab-popular {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex
}

.project-item.project-gird-item .item-content .title-project {
    margin-bottom: 5px
}

.pricing-item {
    padding: 48px 50px
}

.box-info,
.counter-box {
    background-color: var(--primary)
}

.pricing-item .sub-title {
    margin-bottom: 6px;
    color: var(--primary)
}

.pricing-item .title {
    margin-bottom: 24px;
    letter-spacing: -.7px
}

.pricing-item .top-item {
    padding-bottom: 41px;
    margin-bottom: 43px
}

.pricing-item .list-benefit,
.wg-project-details .details-content.content-2 {
    margin-bottom: 41px
}

.pricing-item .price span {
    color: var(--primary);
    letter-spacing: 2px
}

.pricing-item .benefit-item {
    margin-bottom: 25px;
    gap: 9px
}

.pricing-item .tf-btn {
    max-width: 98%
}

.pricing-item.style-popular .tab-popular {
    position: absolute;
    top: 0;
    right: 0;
    background-color: #ff8c22;
    height: 36px;
    width: 158px;
    padding-left: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    clip-path: polygon(100% 0, 0 0, 5% 50%, 0 100%, 100% 100%)
}

.wg-service-details .image-blog.img-1 {
    margin-bottom: 73px
}

.wg-service-details .image-blog.img-2 {
    position: relative;
    margin-bottom: 61px
}

.wg-service-details .image-blog.img-2 .counter-box {
    position: absolute;
    bottom: 0;
    right: 0
}

.wg-service-details .details-content .title {
    letter-spacing: .2px;
    margin-bottom: 34px
}

.wg-service-details .details-content .desc p {
    letter-spacing: .07px;
    margin-bottom: 21px;
    width: 95%
}

.wg-service-details .details-content-2 {
    margin-bottom: 61px
}

.wg-service-details .details-content-2 .title {
    font-family: "DM Sans", sans-serif;
    letter-spacing: -.15px;
    margin-bottom: 12px
}

.wg-service-details .details-content-2 .desc {
    letter-spacing: .07px;
    margin-bottom: 28px
}

.wg-service-details .details-content-2 .list-features .features-item {
    margin-bottom: 29px
}

.features-item {
    display: flex;
    gap: 35px
}

.features-item .number-features {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: var(--white);
    background-color: var(--dark-2)
}

.features-item .item-content {
    max-width: calc(100% - 80px)
}

.features-item .item-content a {
    display: inline-block;
    margin-bottom: 13px;
    letter-spacing: .13px
}

.counter-box {
    max-width: 270px;
    width: 100%;
    height: 206px;
    padding: 30px 52px
}

.process-item .step-number {
    color: var(--surface);
    margin-bottom: 5px
}

.process-item .icon {
    position: relative;
    z-index: 5;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background-color: var(--dark-2);
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center
}

.process-item .icon i {
    font-size: 10px;
    color: var(--white)
}

.process-item .midder-item {
    position: relative;
    margin-bottom: 13px
}

.process-item .midder-item .line {
    position: absolute;
    top: 50%;
    transform: translateY(-50%)
}

.list-process .process-item:last-child,
.process-item .text {
    max-width: 228px
}

.list-process {
    width: 100%
}

.list-process .process-item .line {
    max-width: calc(100% + 85px)
}

.next-prev-item .link {
    color: var(--primary);
    display: inline-block;
    margin-bottom: 22px
}

.next-prev-item .title {
    letter-spacing: -.1px;
    margin-bottom: 40px;
    font-family: "DM Sans", sans-serif
}

.next-prev-item.next-details {
    text-align: end
}

.wg-project-details .details-content {
    margin-bottom: 47px
}

.wg-project-details .details-content .title {
    letter-spacing: .1px;
    margin-bottom: 28px
}

.wg-project-details .details-content .desc-flex {
    margin-block: 6px
}

.wg-project-details .details-content .desc-flex span,
.wg-project-details .details-content p {
    letter-spacing: .07px
}

.wg-project-details .details-content .desc {
    margin-bottom: 46px
}

.wg-project-details .details-content .cols {
    gap: 20px 30px;
    justify-content: space-between;
    flex-wrap: wrap
}

.wg-project-details .details-content .benefit-item {
    gap: 10px 18px;
    margin-bottom: 20px
}

.wg-project-details .details-content.content-2 .desc {
    margin-bottom: 0;
    max-width: 97%
}

.wg-project-details .list-img .image {
    max-width: calc(33.3333333333% - 20px)
}

.wg-project-details .tag-social {
    padding: 19px 0 18px;
    border-top: 1px solid var(--stroke-2)
}

.box-info {
    padding: 46px 61px 41px 60px;
    border-radius: 12px;
    position: relative
}

.box-info .info-item {
    margin-bottom: 41px;
    position: relative;
    z-index: 5
}

.box-info .info-item .sub-title {
    margin-bottom: 6px
}

.box-info::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../image/section/bg-info-box.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    opacity: 11%
}

.box-info::after {
    content: "";
    position: absolute;
    top: 5px;
    right: 7px;
    width: 100%;
    height: 100%;
    border: 1px solid var(--stroke-2);
    background-color: #fff0;
    border-radius: 12px
}

.progress-wrap,
.progress-wrap::after {
    height: 40px;
    width: 40px;
    cursor: pointer;
    display: block
}

.contact-list .title,
.section-about.p-services .list-benefit .benefit-item {
    margin-bottom: 27px
}

.contact-item i {
    font-size: 16px;
    color: var(--primary)
}

.contact-item.location-item i {
    padding-top: 8px;
    font-size: 22px
}

.alert {
    padding: 0 !important;
    border: 0 !important
}

.animationtext .item-text {
    -webkit-text-fill-color: unset !important;
    -webkit-text-stroke: unset !important;
    background-image: unset !important
}

.progress-wrap {
    position: fixed;
    bottom: 40px;
    right: 20px;
    border-radius: 50%;
    -webkit-box-shadow: inset 0 0 0 2px rgb(130 130 130 / .2);
    box-shadow: inset 0 0 0 2px rgb(130 130 130 / .2);
    z-index: 99999;
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translateX(20px);
    -webkit-transition: .3s linear;
    -o-transition: .3s linear;
    transition: .3s linear;
    background: var(--dark-2)
}

#loading #loading-center,
.breadkcum,
.section-company .section-company-inner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex
}

.progress-wrap::after {
    position: absolute;
    content: "\e909";
    font-family: icomoon;
    text-align: center;
    line-height: 40px;
    font-size: 10px;
    color: var(--white);
    left: 0;
    top: 0;
    z-index: 1;
    -webkit-transition: .4s linear;
    -o-transition: .4s linear;
    transition: .4s linear
}

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

.progress-wrap svg path {
    fill: none
}

.progress-wrap svg.progress-circle path {
    box-sizing: border-box;
    stroke: var(--white);
    stroke-width: 5;
    transition-property: all;
    transition-duration: .4s;
    transition-timing-function: linear
}

#loading {
    background-color: #080013;
    height: 100%;
    width: 100%;
    position: fixed;
    margin-top: 0;
    top: 0;
    left: 0;
    bottom: 0;
    overflow: hidden;
    right: 0;
    z-index: 999999
}

#loading #loading-center {
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center
}

#loading #loading-center .loader-container {
    display: flex;
    justify-content: center;
    align-items: center
}

#loading #loading-center .loader-container .wrap-loader {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center
}

#loading #loading-center .loader-container .wrap-loader .icon {
    position: absolute;
    max-width: 80px
}

#loading #loading-center .loader-container .loader {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    animation: 1s linear infinite spin
}

#loading .icon {
    width: 42px;
    height: 42px
}

.tf-spacing-1 {
    padding-top: 120px;
    padding-bottom: 120px
}

.tf-spacing-2 {
    margin-top: 0;
    margin-bottom: 120px
}

.tf-spacing-3 {
    margin-top: 0;
    margin-bottom: 92px
}

.tf-spacing-4 {
    margin-top: 0;
    margin-bottom: 117px
}

.tf-spacing-5 {
    margin-top: 0;
    margin-bottom: 106px
}

.tf-spacing-6 {
    margin-top: 0;
    margin-bottom: 115px
}

.tf-spacing-7 {
    margin-top: 0;
    margin-bottom: 113px
}

.tf-spacing-8 {
    margin-top: 0;
    margin-bottom: 86px
}

.tf-spacing-9 {
    margin-top: 0;
    margin-bottom: 190px
}

.tf-spacing-10 {
    margin-top: 0;
    margin-bottom: 134px
}

.tf-spacing-11 {
    margin-top: 0;
    margin-bottom: 101px
}

.tf-spacing-12 {
    margin-top: 0;
    margin-bottom: 104px
}

.page-title .page-title-content {
    padding-top: 104px;
    padding-bottom: 126px
}

.page-title .page-title-content .title {
    color: var(--white);
    margin-bottom: 42px
}

.page-title.p-pricing .page-title-content {
    padding-top: 86px;
    padding-bottom: 110px
}

.dot {
    width: 5px;
    height: 5px;
    background-color: var(--white);
    border-radius: 50%
}

.breadkcum {
    display: flex;
    gap: 17px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap
}

.page-title-home {
    padding-top: 70px;
    padding-bottom: 70px;
    overflow: hidden;
    position: relative
}

.page-title-home .mask.mask-home-1 {
    top: 12%;
    right: -295px
}

.page-title-home .mask.mask-home-2 {
    bottom: -9.4%;
    left: -27%
}

.page-title-home .top-page-title .sub-title {
    margin-bottom: 17px;
    letter-spacing: -.4px;
    color: var(--surface)
}

.page-title-home .top-page-title .title {
    letter-spacing: .2px
}

.page-title-home .desc {
    letter-spacing: .2px;
    padding-bottom: 20px;
    margin-bottom: 20px
}

.page-title-home .wg-counter {
    margin-bottom: 20px;
    max-width: 388px
}

.highlight {
    background-color: var(--surface);
    color: var(--main-dark);
    padding-left: 4px;
    padding-right: 4px;
    letter-spacing: .4px
}

.heading-section .sub-title {
    letter-spacing: .1px;
    color: var(--surface)
}

.heading-section .title span {
    letter-spacing: .85px
}

.section-about .about-inner {
    justify-content: space-between;
    align-items: center
}

.section-about .section-content .desc {
    letter-spacing: .04px
}

.section-about .img-item {
    position: absolute;
    bottom: -86%;
    left: 0
}

.section-about.p-services .image {
    max-width: 520px;
    padding-bottom: 86px
}

.section-about.p-services .img-secion-item {
    max-width: 342px;
    position: absolute;
    bottom: 0;
    right: 0
}

.section-about.p-services .list-benefit {
    margin-bottom: 50px
}

.section-blog,
.section-counting,
.section-pricing,
.section-services,
.section-team,
.section-testimonial {
    position: relative;
    overflow-x: clip
}

.section-counting .mask {
    right: -19%;
    top: -62%
}

.section-counting .image {
    width: 100%;
    height: 100%
}

.section-counting .left {
    position: relative;
    width: 100%
}

.section-counting .left .box-avatar {
    position: absolute;
    bottom: 0;
    left: 0
}

.section-counting .left .box-logo {
    position: absolute;
    bottom: 208px;
    left: 220px
}

.section-counting .right {
    width: 100%;
    padding-left: 30px;
    padding-top: 61px;
    padding-bottom: 61px
}

.section-company .section-company-inner {
    display: flex;
    justify-content: end
}

.section-company .section-company-inner .left-section {
    padding-right: 30px;
    padding-top: 43px;
    padding-bottom: 47px;
    width: 100%
}

.section-services .mask {
    top: auto;
    bottom: 0;
    left: -27%;
    right: auto
}

.section-services .tf-marquee {
    padding-bottom: 132px
}

.section-services.p-services .tf-marquee {
    padding-bottom: 134px
}

.section-services.p-services .services-item {
    flex: 1 1 auto;
    max-width: 33.3333333333%
}

.section-services.p-services .services-item:first-child,
.section-services.p-services .services-item:nth-child(2) {
    border-bottom: 0;
    border-right: 0
}

.section-services.p-services .services-item:nth-child(3) {
    border-bottom: 0
}

.section-project .heading-section {
    margin-left: 68px
}

.section-project.p-about .mask.mask-1 {
    top: -375px;
    right: auto;
    left: -23%
}

.section-testimonial .mask {
    top: auto;
    bottom: -62%;
    left: -27.5%;
    right: auto
}

.section-testimonial .list-image {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    gap: 28px 30px
}

.section-testimonial .img-section {
    flex: 1 1 auto;
    max-width: calc(50% - 15px);
    border-radius: 15%;
    width: 100%
}

.section-testimonial .img-section img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 15%
}

.section-testimonial .img-section.img-elip,
.section-testimonial .img-section.img-elip img {
    border-radius: 999px
}

.section-testimonial.p-services .section-testimonials-inner {
    padding: 120px 40px;
    background-color: var(--dark-2);
    gap: 70px 20px
}

.section-testimonial.p-services .left {
    margin-top: -2px;
    max-width: 370px
}

.section-testimonial.p-services .left .desc {
    max-width: 97%
}

.section-testimonial.p-services .sw-testimonials {
    max-width: 850px !important;
    width: 100% !important
}

.section-form .left {
    position: relative;
    max-width: 50%
}

.section-form .section-form-content {
    position: absolute;
    bottom: 0;
    right: 0;
    background-color: var(--primary);
    padding: 50px 70px;
    max-width: 612px;
    z-index: 5
}

.section-form .section-form-content .title {
    margin-bottom: 37px;
    letter-spacing: .1px
}

.section-form .right {
    padding: 30px 15px 30px 30px
}

.section-pricing .heading-section .right .desc {
    margin-bottom: 19px;
    letter-spacing: .08px
}

.section-pricing .mask.mask-s-pricing-1 {
    bottom: -9%;
    right: -18%
}

.section-pricing .mask.mask-s-pricing-2 {
    bottom: -41%;
    left: -17.3%
}

.section-blog .mask.mask-1 {
    top: -79%;
    right: -15%
}

.section-blog .mask.mask-s-blog-1 {
    top: -29%;
    right: -22.5%
}

.section-blog .mask.mask-s-blog-2 {
    top: -47%;
    left: -26.2%;
    z-index: -1
}

.section-benefit.p-team .list-benefit {
    padding-top: 4px
}

.section-benefit.p-team .benefit-item {
    margin-bottom: 42px
}

.section-contact .section-contact-inner {
    gap: 70px 30px
}

.section-team .mask {
    bottom: -122%;
    right: -23%
}

@media (min-width:551px) {
    .sw-border .swiper-slide .services-item {
        border-left: 0
    }

    .sw-border .swiper-slide:first-child .services-item {
        border-left: 1px solid var(--stroke-2)
    }

    .wg-project-details .cols {
        gap: 103px !important;
        justify-content: start !important;
        flex-wrap: nowrap
    }

    .footer-content .title-mobile i {
        display: none
    }
}

@media (min-width:992px) {
    .counter-item.style-2 .title-counter {
        padding-top: 4px
    }

    .section-about.p-services .right {
        margin-top: -2px;
        padding-left: 40px
    }

    .section-contact .left {
        max-width: 28.7%;
        padding-top: 35px
    }

    .section-contact .right {
        max-width: 65.9%
    }

    .wg-project-details .details-content .left {
        max-width: 808px
    }

    .wg-project-details .tag-social {
        padding: 19px 40px 18px
    }

    .box-info {
        width: 350px;
        margin-top: -3px
    }

    .section-pricing .heading-section .right {
        padding-top: 9px;
        padding-left: 8px;
        padding-right: 8px
    }

    .section-about .about-top {
        margin-bottom: 101px
    }

    .section-about .about-inner {
        padding-left: 110px;
        padding-right: 146px
    }

    .section-about .about-inner .right {
        max-width: 593px;
        width: 100%
    }

    .section-about .section-content {
        padding-left: 79px
    }

    .page-title-home {
        padding-top: 120px;
        padding-bottom: 107px;
        overflow: hidden
    }

    .page-title-home .top-page-title {
        padding-top: 32px;
        margin-left: -4px;
        margin-bottom: 140px
    }

    .page-title-home .desc {
        padding-bottom: 57px;
        margin-bottom: 58px
    }

    .page-title-home .content-left {
        padding-top: 65px
    }

    .page-title-home .wg-counter {
        margin-bottom: 62px;
        margin-right: 22px
    }

    .page-title-home .image {
        margin-right: -33%
    }
}

@media (min-width:1201px) {
    .wg-tab.style-2 {
        margin-top: -2px
    }

    .tf-post-list.style-2 .image {
        max-width: 270px
    }

    .tf-post-list.style-2 .post-content {
        max-width: 297px;
        padding-top: 61px;
        padding-bottom: 70px;
        padding-left: 50px
    }

    .wg-cta {
        background-color: var(--primary)
    }

    .wg-cta .cta-inner {
        align-items: center
    }

    .wg-cta .cta-inner .icon {
        margin-right: 20px
    }

    .wg-cta .cta-inner .icon i {
        font-size: 35px
    }

    .wg-cta .cta-inner .title {
        margin-right: 60px
    }

    .wg-cta .cta-inner .title span {
        font-style: italic;
        letter-spacing: -.3px;
        text-decoration-line: underline
    }

    .wg-cta .cta-inner .list-agent {
        padding-right: 20px
    }

    .wg-cta .cta-inner .img-line {
        max-width: 124px;
        margin-top: -8px
    }

    .wg-cta .cta-inner .img-line img {
        width: 100%;
        height: 100%;
        object-fit: cover
    }

    .sw-project {
        margin-right: 0;
        margin-left: auto;
        padding-left: 15px;
        padding-right: 15px;
        max-width: 1865px
    }

    .project-item .item-content {
        padding: 67px 100px 70px 80px;
        max-width: 550px
    }

    .project-item .item-content .desc {
        max-width: 93%
    }

    .project-item .image {
        max-width: 730px
    }

    .project-item.style-2 .item-content {
        padding: 58px 100px 59px;
        max-width: 570px
    }

    .project-item.style-2 .desc {
        max-width: 95%
    }

    .project-item.style-2:first-child .item-content {
        padding: 36px 100px 38px !important
    }

    .project-item.project-gird-item .item-content {
        max-width: 100%
    }
}

@media (min-width:1501px) {
    .section-testimonial.p-services .section-testimonials-inner {
        padding: 120px 165px
    }

    .section-testimonial.p-faq .section-testimonials-inner {
        padding: 124px 165px 119px !important
    }

    .section-form .left {
        position: relative;
        max-width: 54.88%
    }

    .section-form .right {
        padding-left: 100px;
        padding-top: 75px;
        padding-bottom: 74px
    }

    .section-form .right .form-contact-us {
        max-width: 630px
    }

    .section-company .section-company-inner .left-section {
        padding-right: 140px;
        max-width: 770px
    }

    .section-company .image-section {
        max-width: 765px
    }

    .section-counting .image {
        max-width: 985px
    }

    .section-counting .left {
        max-width: 55.3%
    }

    .section-counting .right {
        max-width: 44.7%;
        padding-left: 100px;
        padding-top: 61px;
        padding-bottom: 65px
    }

    .header .main-menu,
    .top-bar {
        padding-left: 70px
    }

    .top-bar {
        padding-right: 70px
    }

    .header .header-content {
        padding-left: 70px;
        padding-right: 0
    }

    .header .logo-header {
        padding-right: 91px
    }

    .header .header-right {
        gap: 51px
    }
}

@media (max-width:1500px) {
    .menu-primary-menu {
        gap: 17px
    }
}

@media (max-width:1200px) {

    .section-counting .section-counting-inner,
    .section-testimonial.p-services .section-testimonials-inner {
        flex-direction: column
    }

    .section-testimonial.p-services .left,
    .section-testimonial.p-services .sw-testimonials {
        max-width: 100% !important
    }

    .section-form .section-inner {
        flex-direction: column;
        row-gap: 50px
    }

    .footer .footer-middle .left,
    .section-form .left {
        max-width: 100%
    }

    .section-form .right {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        padding-left: 15px !important
    }

    .wg-cta .cta-inner {
        flex-wrap: wrap;
        row-gap: 30px
    }

    .wg-cta .left,
    .wg-cta .right {
        flex-wrap: wrap;
        row-gap: 15px
    }

    .section-counting .right {
        padding-left: 0;
        padding-bottom: 0
    }

    .sidebar-filter {
        position: fixed;
        bottom: 0;
        z-index: 3000;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        flex-direction: column;
        background-clip: padding-box;
        outline: 0;
        background-color: var(--dark-2) !important;
        padding: 15px !important;
        -webkit-transition: .3s;
        -moz-transition: .3s;
        -ms-transition: .3s;
        -o-transition: .3s;
        transition: .3s;
        overflow: auto;
        max-width: 400px
    }

    .sidebar-filter.left {
        top: 0;
        left: 0;
        transform: translateX(-100%)
    }

    .sidebar-filter.right {
        top: 0;
        right: 0;
        transform: translateX(100%)
    }

    .sidebar-filter.show {
        transform: none
    }

    .footer .footer-middle {
        flex-wrap: wrap;
        gap: 50px 0
    }

    .footer .footer-middle .footer-content,
    .footer .footer-middle .locations-contact {
        max-width: 50%;
        width: 100%
    }

    .px-xl-15 {
        padding-left: 15px !important;
        padding-right: 15px !important
    }

    .mx-xl-15 {
        margin-left: 15px !important;
        margin-right: 15px !important
    }

    .header .main-menu,
    .header .nav-megamenu,
    .top-bar .tf-tb-left {
        display: none
    }

    .top-bar .tf-tb-right {
        justify-content: space-between;
        width: 100%
    }

    .top-bar .tf-tb-right .list-support,
    .top-bar .tf-tb-right .post-social {
        gap: 13px
    }

    .header .header-content {
        padding-top: 15px;
        padding-bottom: 15px;
        padding-right: 15px
    }

    .header .logo-header {
        max-width: 120px
    }
}

@media (max-width:767px) {
    .mask svg {
        width: 500px;
        height: 500px
    }

    .mask svg circle {
        cx: 250;
        cy: 250;
        r: 220;
        stroke-width: 50
    }

    .footer .mask.mask-1,
    .mask.mask-1,
    .mask.mask-3 {
        right: -300px
    }

    .mask.mask-2,
    .mask.mask-2.p-about,
    .section-project.p-about .mask.mask-1 {
        left: -300px
    }

    .section-pricing .mask {
        position: absolute
    }

    .section-pricing .mask.mask-s-pricing-1 {
        bottom: 0;
        right: -250px
    }

    .section-pricing .mask.mask-s-pricing-2 {
        bottom: -200px;
        left: -250px
    }

    .section-blog .mask.mask-1 {
        top: 0;
        right: -300px
    }

    .section-blog .mask.mask-s-blog-1 {
        top: -200px;
        right: -300px
    }

    .section-testimonial .mask {
        top: 0;
        bottom: auto;
        left: -300px
    }

    .wg-project-details .list-img .image,
    .wg-service-details .list-process .process-item,
    .wg-service-details .list-process .process-item .text {
        max-width: 100%
    }

    .wg-service-details .list-process {
        flex-direction: column;
        row-gap: 40px
    }

    .section-team .mask {
        right: -350px;
        bottom: -50%
    }

    .section-services .mask {
        left: -50%
    }

    .section-services.p-services .services-item {
        flex: 1 1 auto;
        max-width: 50%
    }

    .section-services.p-services .services-item:first-child,
    .section-services.p-services .services-item:nth-child(3) {
        border-bottom: 0;
        border-right: 0
    }

    .section-services.p-services .services-item:nth-child(2) {
        border-right: 1px solid var(--stroke-2)
    }

    .section-services.p-services .services-item:nth-child(4) {
        border-right: 1px solid var(--stroke-2);
        border-bottom: 0
    }

    .section-services.p-services .services-item:nth-child(5) {
        border-right: 0
    }

    .services-item.style-1 {
        padding-top: 30px;
        padding-bottom: 30px
    }

    .services-item.style-1 .desc,
    .services-item.style-1 .icon,
    .services-item.style-1 .image {
        margin-bottom: 20px
    }

    .services-item.style-1 .icon i {
        font-size: 40px
    }

    .according-item .according-content .right {
        padding-left: 15px
    }

    .section-counting .mask {
        right: -40%;
        top: -30%
    }

    .section-about .left,
    .section-counting .box-logo {
        display: none
    }

    .section-counting .box-avatar {
        padding: 15px !important
    }

    .wg-quote .title {
        font-size: 20px
    }

    .form-comment .cols {
        flex-direction: column
    }

    .author {
        flex-direction: column;
        align-items: start;
        row-gap: 30px
    }

    .comment-item.reply {
        padding-left: 20px;
        padding-right: 20px
    }

    .px-md-15 {
        padding-left: 15px !important;
        padding-right: 15px !important
    }

    .mx-md-15 {
        margin-left: 15px !important;
        margin-right: 15px !important
    }

    .footer .mask.mask-2 {
        bottom: -300px;
        left: -300px
    }

    .footer .footer-bottom .list-bottom {
        justify-content: center
    }

    .wg-cta .cta-inner {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        gap: 20px 0;
        padding: 20px 15px 15px;
    }

    .wg-cta .cta-inner .left,
    .wg-cta .cta-inner .right {
        width: 100%;
        justify-content: center;
    }

    .wg-cta .cta-inner .icon,
    .wg-cta .cta-inner .title,
    .wg-cta .cta-inner .list-agent,
    .wg-cta .cta-inner .img-line {
        margin-right: 0;
        padding-right: 0;
    }

    .wg-cta .cta-inner .title {
        margin-right: 0;
    }

    .wg-cta .cta-inner .img-line {
        margin-top: 0;
        max-width: 100%;
    }
}

@media (max-width:550px) {
    .tf-post-grid.style-desc .image {
        height: 287px
    }

    .section-services.p-services .services-item {
        max-width: 100%;
        border-right: 1px solid var(--stroke-2) !important;
        border-bottom: 0 !important
    }

    .section-services.p-services .services-item:last-child {
        border-bottom: 1px solid var(--stroke-2) !important
    }

    .tf-post-list.style-2 .image {
        height: 400px !important
    }

    .wg-service-details .image-blog.img-2 {
        height: 336px
    }

    .wg-service-details .image-blog .counter-box {
        max-width: 270px;
        height: auto;
        padding: 30px 15px
    }

    .according-item .according-content,
    .comment-item,
    .features-item,
    .form-contact-us .cols,
    .project-item,
    .project-item.style-2,
    .section-counting .wg-counter,
    .tf-post-list.style-2 {
        flex-direction: column
    }

    .features-item .item-content,
    .form-contact-us .cols .item,
    .section-counting .wg-counter .counter-item {
        max-width: 100% !important
    }

    .section-form .image {
        height: 375.23px
    }

    .project-item .image {
        margin: 0 10px 10px !important;
        width: auto !important
    }

    .project-item .sub-title,
    .project-item .title-project {
        margin-bottom: 20px !important
    }

    .project-item .item-content {
        row-gap: 20px !important
    }

    .project-item.style-2 .image {
        max-width: 100% !important;
        margin: 0 !important
    }

    .project-item.style-2 .item-content {
        max-width: 100% !important;
        padding-left: 0;
        padding-right: 0;
        padding-top: 0
    }

    .according-item .according-content .right {
        padding-left: 0 !important
    }

    .section-counting .image {
        height: 316px
    }

    .wg-blog-details .list-img {
        flex-direction: column !important
    }

    .wg-quote {
        flex-direction: column;
        gap: 20px
    }

    .comment-item .comment-content {
        max-width: 100%;
        width: 100%
    }

    .comment-item .top {
        flex-wrap: wrap;
        row-gap: 10px
    }

    .comment-item .top .dot {
        display: none
    }

    .tf-grid-2 {
        grid-template-columns: repeat(1, 1fr)
    }

    .footer .footer-middle {
        gap: 40px 0
    }

    .footer .footer-middle .footer-content,
    .footer .footer-middle .locations-contact {
        max-width: 100%
    }

    .px-sm-15 {
        padding-left: 15px !important;
        padding-right: 15px !important
    }

    .mx-sm-15 {
        margin-left: 15px !important;
        margin-right: 15px !important
    }
}

.ratio-3x2 {
    --bs-aspect-ratio: 66.6667%
}

::selection {
    background: #000;
    color: #fff
}

::-moz-selection {
    background: #000;
    color: #fff
}

.header .logo-header img {
    max-height: 90px;
    width: auto;
    display: block;
    transition: transform .3s
}

.header .logo-header img:hover {
    transform: translateY(-1px)
}

.header-sticky {
    background-color: transparent !important
}

@media (max-width:991px) {

    h1,
    h2,
    h3 {
        letter-spacing: -.1px
    }

    .heading-section .list-btn,
    .page-title-home br,
    .section-blog .mask-s-blog-2 {
        display: none
    }

    .highlight {
        display: block;
        width: max-content
    }

    .fs-32 {
        font-size: 27px !important
    }

    .map {
        height: 300px
    }

    .form-footer .input-form,
    .section-company .section-company-inner,
    .wg-project-details .details-content {
        flex-direction: column
    }

    .section-testimonial.p-services .section-testimonials-inner {
        padding: 70px 15px;
        gap: 0
    }

    .pricing-item {
        padding-top: 40px;
        padding-bottom: 40px
    }

    .heading-section .desc,
    .heading-section .sub-title,
    .heading-section .title,
    .pricing-item .title,
    .section-content .desc {
        margin-bottom: 15px !important
    }

    .pricing-item .top-item {
        margin-bottom: 30px;
        padding-bottom: 30px
    }

    .footer .locations-contact .item .title,
    .footer-bottom .footer-go-top,
    .pricing-item .benefit-item {
        margin-bottom: 15px
    }

    .heading-section .desc:last-child,
    .pricing-item .benefit-item:last-child {
        margin-bottom: 0
    }

    .pricing-item .list-benefit {
        margin-bottom: 30px !important
    }

    .form-footer .input-form .input-icon-absolute,
    .testimonial-item .text,
    .tf-post-list.style-2 .post-content {
        max-width: 100%
    }

    .section-form .section-form-content {
        padding: 30px 15px;
        max-width: 350px
    }

    .section-testimonial .mt-50 {
        margin-top: 30px !important
    }

    .section-services .tf-marquee {
        padding-bottom: 70px
    }

    .testimonial-item .icon i {
        font-size: 35px
    }

    .testimonial-item .text.fs-27,
    h3 {
        font-size: 24px
    }

    .testimonial-item .text.lh-35 {
        line-height: 30px
    }

    .section-project .heading-section {
        margin-left: 0
    }

    .section-project .sw-pagination.mt-70 {
        margin-top: 15px
    }

    .according-item h5,
    h4 {
        font-size: 16px;
        line-height: 24px
    }

    .section-company .section-company-inner .left-section {
        padding-top: 0;
        padding-right: 0;
        padding-bottom: 70px
    }

    .counter-item .fs-65 {
        font-size: 24px !important
    }

    .heading-section {
        margin-bottom: 40px !important
    }

    .heading-section .title:last-child {
        margin-bottom: 0 !important
    }

    .page-title-home .title.lh-85 {
        line-height: 53px !important
    }

    h1 {
        font-size: 32px;
        line-height: 40px
    }

    h2 {
        font-size: 28px;
        line-height: 36px
    }

    .page-title .page-title-content,
    .tf-spacing-1 {
        padding-top: 70px;
        padding-bottom: 70px
    }

    .tf-spacing-10,
    .tf-spacing-11,
    .tf-spacing-12,
    .tf-spacing-2,
    .tf-spacing-3,
    .tf-spacing-4,
    .tf-spacing-5,
    .tf-spacing-6,
    .tf-spacing-7,
    .tf-spacing-8,
    .tf-spacing-9 {
        margin-top: 0;
        margin-bottom: 70px
    }

    .list-post-gird .bottom-btn {
        margin-top: 40px
    }

    .big-text {
        font-size: 60px
    }

    .tf-post-grid .title {
        font-size: 16px !important;
        line-height: 24px !important
    }

    .px-lg-15 {
        padding-left: 15px !important;
        padding-right: 15px !important
    }

    .mx-lg-15 {
        margin-left: 15px !important;
        margin-right: 15px !important
    }

    .footer .footer-top {
        padding-left: 15px;
        padding-top: 40px;
        padding-bottom: 40px
    }

    .footer .footer-middle {
        margin-bottom: 60px
    }

    .footer .form-footer .desc,
    .footer .form-footer .mb-23,
    .footer .form-footer .title {
        margin-bottom: 20px
    }

    .footer-bottom ul {
        gap: 29px
    }

    .form-footer .desc {
        max-width: 100%;
        margin-bottom: 40px
    }

    .header .logo-header img {
        max-height: 78px
    }

    .header .nav-btn .tf-btn {
        padding: 14px 24px;
        font-size: .95rem
    }
}

/* Make portfolio filter form display in a single row on wider screens,
   and stack on small screens for better responsiveness. */
@media (min-width:768px) {
    .form-contact-us .row.g-4.align-items-end {
        flex-wrap: nowrap;
        align-items: center;
        gap: 1rem;
    }

    .form-contact-us .row.g-4.align-items-end > [class*="col-"] {
        flex: 0 0 auto;
        width: auto;
    }

    .form-contact-us .row.g-4.align-items-end #filter-keyword {
        min-width: 200px;
    }

    .form-contact-us .row.g-4.align-items-end .tf-btn {
        white-space: nowrap;
    }
}

@media (max-width:767px) {
    .form-contact-us .row.g-4.align-items-end {
        flex-wrap: wrap;
    }

    .form-contact-us .row.g-4.align-items-end > [class*="col-"] {
        width: 100%;
        flex: 1 1 100%;
    }
}

@media (max-width:575px) {
    #sib-form {
        flex-direction: column
    }

    #sib-form .sib-form-block__button {
        width: 100%;
        max-width: 100%;
        justify-content: center
    }

    .header .logo-header img {
        max-height: 64px
    }

    .header .nav-btn {
        display: flex;
        justify-content: center;
        width: 100%
    }

    .header .nav-btn .tf-btn {
        max-width: 220px;
        width: 100%;
        padding: 12px 18px;
        font-size: .9rem
    }
}

/* Dashboard hero */
.dashboard-hero {
    --hero-accent: #8b8cf0;
    --hero-accent-hover: #7475df;
    --hero-text: #fff;
    --hero-muted: rgba(255, 255, 255, .76);
    position: relative;
    overflow: hidden;
    min-height: 720px;
    padding: 5vh 0 clamp(70px, 8vw, 110px);
    color: var(--hero-text);
    background: transparent
}

.dashboard-hero>.tf-container {
    position: relative
}

.dashboard-hero__row {
    --bs-gutter-x: 16px;
    min-height: 520px;
    row-gap: 48px
}

.dashboard-hero__content {
    position: relative;
    z-index: 2;
    max-width: 600px;
    margin-left: clamp(44px, 5.5vw, 76px)
}

.dashboard-hero__title {
    width: 100%;
    max-width: 100%;
    margin: 0;
    color: var(--hero-text);
    font-size: clamp(36px, 3.6vw, 50px);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -.045em;
    text-wrap: balance
}

.dashboard-hero__title .fw-3 {
    font-weight: 300;
    letter-spacing: -.02em
}

.dashboard-hero__title .highlight {
    display: inline;
    width: auto;
    padding: .08em .2em;
    vertical-align: baseline
}

.dashboard-hero__lead {
    width: 100%;
    max-width: 100%;
    margin: 28px 0 0;
    color: var(--hero-muted);
    font-size: clamp(15px, 1.2vw, 17px);
    line-height: 1.65
}

.dashboard-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px
}

.dashboard-hero__button {
    display: inline-flex;
    min-width: 138px;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 12px 25px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition: color .25s ease, background-color .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease
}

.dashboard-hero__button:hover,
.dashboard-hero__button:focus-visible {
    transform: translateY(-2px);
    text-decoration: none
}

.dashboard-hero__button:focus-visible {
    outline: 3px solid rgba(139, 140, 240, .35);
    outline-offset: 3px
}

.dashboard-hero__button--primary {
    color: #fff;
    background: var(--hero-accent);
    box-shadow: 0 12px 30px rgba(139, 140, 240, .3)
}

.dashboard-hero__button--primary:hover,
.dashboard-hero__button--primary:focus-visible {
    color: #fff;
    background: var(--hero-accent-hover);
    box-shadow: 0 16px 36px rgba(139, 140, 240, .4)
}

.dashboard-hero__button--outline {
    color: var(--hero-text);
    border-color: rgba(255, 255, 255, .7);
    background: transparent
}

.dashboard-hero__button--outline:hover,
.dashboard-hero__button--outline:focus-visible {
    color: #171722;
    border-color: #fff;
    background: #fff
}

.dashboard-hero__metrics {
    display: flex;
    gap: clamp(28px, 4vw, 56px);
    margin: clamp(52px, 7vw, 78px) 0 0;
    padding: 0;
    list-style: none
}

.dashboard-hero__metrics li {
    display: flex;
    min-width: 80px;
    flex-direction: column
}

.dashboard-hero__metrics strong {
    color: var(--hero-text);
    font-size: clamp(27px, 3vw, 38px);
    font-weight: 700;
    line-height: 1
}

.dashboard-hero__metrics span {
    max-width: 76px;
    margin-top: 10px;
    color: var(--hero-muted);
    font-size: 13px;
    line-height: 1.35
}

.dashboard-hero__visual {
    position: relative;
    display: flex;
    min-height: 540px;
    align-items: flex-end;
    justify-content: center;
    margin: 0 0 0 -104px;
    isolation: isolate
}

.dashboard-hero__visual::before {
    position: absolute;
    z-index: -1;
    width: min(92%, 570px);
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(178, 211, 255, .4) 0%, rgba(139, 140, 240, .2) 44%, transparent 72%);
    content: "";
    filter: blur(4px);
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%)
}

.dashboard-hero__visual::after {
    position: absolute;
    z-index: -1;
    width: min(84%, 500px);
    aspect-ratio: 1;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 50%;
    content: "";
    inset: 51% auto auto 50%;
    transform: translate(-50%, -50%)
}

.dashboard-hero__image {
    display: block;
    width: min(100%, 540px);
    height: min(620px, 72vh);
    object-fit: contain;
    object-position: center bottom;
    background: transparent;
    will-change: transform;
    animation: dashboard-hero-float 7.5s ease-in-out infinite
}

.dashboard-hero__badges {
    position: absolute;
    inset: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    pointer-events: none
}

.dashboard-hero__badge {
    position: absolute;
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    gap: 10px;
    padding: 8px 18px 8px 8px;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 999px;
    color: #171722;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 16px 34px rgba(7, 9, 23, .18);
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    backdrop-filter: blur(10px)
}

.dashboard-hero__badge::before {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    border-radius: 50%;
    background-color: #45dbc5;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 16px;
    content: ""
}

.dashboard-hero__badge--one {
    top: 15%;
    right: 10%
}

.dashboard-hero__badge--one::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23171722' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M4 17l6-6 4 4 6-8'/%3E%3C/svg%3E")
}

.dashboard-hero__badge--two {
    top: 43%;
    right: 4%
}

.dashboard-hero__badge--two::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23171722' stroke-width='2'%3E%3Crect x='7' y='3' width='10' height='18' rx='2'/%3E%3Cpath d='M10 17h4'/%3E%3C/svg%3E")
}

.dashboard-hero__badge--three {
    right: 12%;
    bottom: 17%
}

.dashboard-hero__badge--three::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23171722' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9.5 17h5M12 3v1m7 8h1M4 12H3m14-5l1-1M6 6l1 1m1.5 8.5a5 5 0 117 0l-1 1V19h-5v-2.5l-1-1z'/%3E%3C/svg%3E")
}

.dashboard-hero__scroll {
    position: absolute;
    z-index: 4;
    bottom: 32px;
    left: 50%;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    padding: 6px 12px;
    color: rgba(255, 255, 255, .7);
    text-decoration: none;
    transform: translateX(-50%);
    transition: color .25s ease
}

.dashboard-hero__scroll:hover,
.dashboard-hero__scroll:focus-visible {
    color: #fff;
    text-decoration: none
}

.dashboard-hero__scroll:focus-visible {
    border-radius: 8px;
    outline: 2px solid var(--hero-accent);
    outline-offset: 3px
}

.dashboard-hero__mouse {
    position: relative;
    display: block;
    width: 25px;
    height: 40px;
    border: 2px solid currentColor;
    border-radius: 16px;
    animation: dashboard-hero-mouse 2s ease-in-out infinite
}

.dashboard-hero__wheel {
    position: absolute;
    top: 7px;
    left: 50%;
    width: 3px;
    height: 8px;
    border-radius: 3px;
    background: var(--hero-accent);
    transform: translateX(-50%);
    animation: dashboard-hero-wheel 2s ease-in-out infinite
}

.dashboard-hero__scroll-text {
    font-size: 10px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .14em;
    text-transform: uppercase;
    white-space: nowrap
}

.dashboard-hero+#main-content {
    scroll-margin-top: 80px
}

@keyframes dashboard-hero-mouse {
    0%,
    100% {
        transform: translateY(0)
    }

    50% {
        transform: translateY(5px)
    }
}

@keyframes dashboard-hero-wheel {
    0% {
        opacity: 1;
        transform: translate(-50%, 0)
    }

    70%,
    100% {
        opacity: 0;
        transform: translate(-50%, 13px)
    }
}

@keyframes dashboard-hero-float {
    0%,
    100% {
        transform: translate(0, 0)
    }

    25% {
        transform: translate(8px, -10px)
    }

    50% {
        transform: translate(-6px, -16px)
    }

    75% {
        transform: translate(-10px, -6px)
    }
}

@media (min-width:992px) {
    .dashboard-hero__row>.col-lg-6 {
        margin-top: -28px;
        padding-top: 0
    }

    .dashboard-hero__row>.col-lg-6:first-child {
        flex: 0 0 60%;
        max-width: 60%
    }

    .dashboard-hero__row>.col-lg-6:last-child {
        flex: 0 0 40%;
        max-width: 40%
    }

    .dashboard-hero__title,
    .dashboard-hero__lead {
        width: 100%;
        max-width: 100%
    }
}

@media (max-width:1199.98px) {
    .dashboard-hero {
        min-height: 650px
    }

    .dashboard-hero__visual {
        min-height: 480px
    }

    .dashboard-hero__image {
        height: min(540px, 65vh)
    }

    .dashboard-hero__badge {
        font-size: 12px
    }
}

@media (max-width:991.98px) {
    .dashboard-hero {
        min-height: auto;
        padding: 5vh 0 88px
    }

    .dashboard-hero__content {
        max-width: 720px;
        margin-inline: auto;
        text-align: center
    }

    .dashboard-hero__title {
        margin-inline: auto;
        text-align: center;
        line-height: 1.18
    }

    .dashboard-hero__title .highlight {
        display: inline;
        width: auto
    }

    .dashboard-hero__title .fw-3 {
        display: inline;
        white-space: nowrap
    }

    .dashboard-hero__lead {
        margin-inline: auto
    }

    .dashboard-hero__actions,
    .dashboard-hero__metrics {
        justify-content: center
    }

    .dashboard-hero__metrics li {
        align-items: center;
        text-align: center
    }

    .dashboard-hero__visual {
        min-height: 500px;
        width: 100%;
        max-width: 620px;
        margin-inline: auto
    }
}

@media (max-width:575.98px) {
    .dashboard-hero {
        padding: 5vh 0 82px
    }

    .dashboard-hero__row {
        row-gap: 36px
    }

    .dashboard-hero__title {
        font-size: clamp(26px, 7vw, 34px);
        text-align: center;
        letter-spacing: -.03em;
        line-height: 1.22
    }

    .dashboard-hero__title .fw-3 {
        font-size: .72em;
        white-space: nowrap
    }

    .dashboard-hero__lead {
        margin-top: 22px;
        font-size: 15px
    }

    .dashboard-hero__actions {
        margin-top: 28px
    }

    .dashboard-hero__button {
        width: 100%
    }

    .dashboard-hero__metrics {
        justify-content: space-between;
        gap: 12px;
        margin-top: 46px
    }

    .dashboard-hero__metrics li {
        min-width: 0;
        flex: 1
    }

    .dashboard-hero__visual {
        min-height: 390px
    }

    .dashboard-hero__image {
        width: min(100%, 430px);
        height: 420px
    }

    .dashboard-hero__badge {
        min-height: 38px;
        padding: 6px 12px 6px 6px;
        font-size: 11px
    }

    .dashboard-hero__badge::before {
        width: 25px;
        height: 25px;
        flex-basis: 25px;
        background-size: 13px
    }

    .dashboard-hero__badge--one {
        top: 12%;
        right: 0
    }

    .dashboard-hero__badge--two {
        top: 45%;
        right: 0
    }

    .dashboard-hero__badge--three {
        right: 2%;
        bottom: 13%
    }

    .dashboard-hero__scroll {
        bottom: 24px
    }
}

@media (prefers-reduced-motion:reduce) {
    .dashboard-hero__button,
    .dashboard-hero__image,
    .dashboard-hero__mouse,
    .dashboard-hero__wheel {
        animation: none;
        transition: none
    }
}

@media (prefers-reduced-motion:no-preference) {
    .swiper-scroll-enabled {
        min-height: 100vh
    }

    .swiper-scroll-enabled .tf-swiper {
        overflow: hidden;
        touch-action: pan-y
    }
}

@media (max-width:991.98px) and (prefers-reduced-motion:no-preference) {
    /* Avoid extra 100vh fighting pinSpacing on mobile (causes scroll jitter) */
    .swiper-scroll-enabled.is-mobile-pin {
        min-height: 0
    }
}