body {
  margin: 0;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}
html {
  scroll-behavior: smooth;
}

@media (min-width: 1400px) {
  .main_title {
    font-size: 44px !important;
    font-weight: 700;
    line-height: 55px;
    color: #292d34;
  }
}

@media (max-width: 1399px) {
  .main_title {
    font-size: 38px !important;
    font-weight: 700;
    line-height: 44px !important;
    color: #292d34;
  }
}
@media (max-width: 460px) {
  .banner .main_title {
    font-size: 32px !important;
    line-height: 40px !important;
  }
}
.bg-soft-green {
  background-color: #f5faf5;
}
.bg-soft-ash {
  background-color: #303640;
}
.bg-white-smoke {
  background-color: #fbfbfb;
}
.rounded-20 {
  border-radius: 20px;
}
.news-hero-bg {
  background: linear-gradient(180deg, #ffffff 0%, #f4fff4 100%);
}

.fs-16 {
  font-size: 16px;
}

.fs-18 {
  font-size: 18px;
}

.lh_34 {
  line-height: 34px;
}

@media (min-width: 700px) {
  .py_100 {
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .py_140 {
    padding-top: 140px;
    padding-bottom: 140px;
  }
}

@media (max-width: 699px) {
  .py_100 {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }

  .py_140 {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
  }
}

.fw-medium {
  font-weight: 500 !important;
}

.fw-semibold {
  font-weight: 600 !important;
}

.max_wd420 {
  max-width: 420px;
}

.max_wd500 {
  max-width: 500px;
}

.max_wd570 {
  max-width: 570px;
}

.max_wd635 {
  max-width: 635px;
}
.w-27 {
  width: 27px;
}
.h-27 {
  height: 27px;
}

.text-black {
  color: #000;
}

.text_kellyGreen {
  color: #30b22e;
}

.text-ash {
  color: #616161;
}

.text_Zambezi {
  color: #5e5e5e;
}

.text_tangaroa {
  color: #122437;
}
.bg_kellyGreen {
  background-color: #44c642;
}
.bg_aliceBlue {
  background: #f3f5f7;
}

.bg_half {
  background: #f3f5f7;
  height: 50%;
}
.bg-soft-gradient {
  background: linear-gradient(109.98deg, #ffffff 9.32%, #dbf0db 134.22%);
}

@media (max-width: 767px) {
  .sec_title {
    color: #122437;
    font-size: 32px;
    font-weight: 700;
    line-height: 42px;
  }
}
@media (min-width: 768px) {
  .sec_title {
    color: #122437;
    font-size: 40px;
    font-weight: 700;
    line-height: 55px;
  }
}

.sub_text {
  font-size: 16px;
  line-height: 30px;
}

.sub_text2 {
  font-size: 16px;
  line-height: 26px;
}

.btn_getTouch {
  border-radius: 5px;
  background-image: linear-gradient(to right, #2bce70, #3de587 64%, #2cce72);
}
.btn_getTouch:focus,
.btn_getTouch:hover {
  background-color: #0a0a0a;
}
.btn_viewDemo {
  border-radius: 5px;
  border: 1px solid #dd8b00;
  background-color: #dd8b00;
  color: #fff;
}
.btn_viewDemo:focus,
.btn_viewDemo:hover {
  border: 1px solid #dd8b00;
  background-color: #dd8b00;
  color: #fff;
}

.badge_rotated {
  background: #122437;
  padding: 5px 25px;
  width: 200px;
  top: 16px;
  left: -70px;
  line-height: 22px;
  letter-spacing: 0.01em;
  font-size: 11px;
  font-weight: 700;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

/* Imperative features tabs CSS ==========
==================================*/
.solutions_pills .link_tabs {
  border-radius: 20px;
  border: 0px solid #dfdfdf;
  text-align: left;
  width: calc(100% - 12px);
  color: #0e0c0c;
  box-shadow: rgb(0 0 0 / 13%) 1px 1px 1rem !important;
}

.solutions_pills .link_tabs:focus,
.solutions_pills .link_tabs:hover {
  background: #313640;
  color: #fff;
}

.solutions_pills .link_tabs.active {
  background: #313640;
  color: #fff;
}

.featuresList li {
  font-size: 18px;
  line-height: 30px;
}

.tab_title {
  font-size: 20px;
  line-height: 30px;
}

/* Addons CSS ==========
==================================*/
.addons_area {
  padding: 110px 0px;
}

.addons_area .title_addons {
  margin-bottom: 60px;
}

.sec_title p,
.title_addons p {
  font-size: 18px;
  line-height: 26px;
  margin-top: 25px;
}

.purchase_btn_two {
  font-size: 16px;
  line-height: 26px;
  color: #ffffff;
  border-radius: 3px;
  display: inline-block;
  padding: 10px 25px;
  text-align: center;
  font-weight: 600;
  transition: all 0.3s linear;
  position: relative;
  z-index: 1;
  width: 100%;
  text-decoration: none;
}

/*========= Testimonial CSS
==================================*/

.review_text {
  min-height: 120px;
}

.owl-carousel.testimonial-carousel .owl-nav .owl-next,
.owl-carousel.testimonial-carousel .owl-nav .owl-prev {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 26px;
}

@media (min-width: 660px) {
  .owl-carousel.testimonial-carousel .owl-nav .owl-prev {
    left: -50px;
  }
  .owl-carousel.testimonial-carousel .owl-nav .owl-next {
    right: -50px;
  }
}
@media (max-width: 599px) {
  .owl-carousel.testimonial-carousel .owl-nav .owl-prev {
    left: 6px;
    font-size: 14px;
  }
  .owl-carousel.testimonial-carousel .owl-nav .owl-next {
    right: 6px;
    font-size: 14px;
  }
}
/*========= FAQ CSS
==================================*/

.faq .accordion-button:not(.collapsed) {
  color: #000000;
  background-color: transparent;
}

.faq .accordion-button {
  padding: 22px 28px;
  font-size: 17px;
  font-weight: 500;
}

.faq .accordion-button:focus {
  box-shadow: none;
}

.faq .accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  transform: rotate(-180deg);
}

.faq .accordion-item {
  margin-bottom: 10px;
}

.license .contact-details {
  padding: 30px;
}

.btn-success {
  color: #fff;
  background-color: #35a000;
  border-color: #35a000;
}

.text-justify {
  text-align: justify;
}
.faq_bg {
  background: linear-gradient(180deg, rgb(255 248 249) 40%, rgba(255, 255, 255, 1) 65%);
}

.bg_1 {
  background-image: linear-gradient(140deg, #fff 0%, #dfe8fc 100%);
  background-color: transparent;
}

.h_75 {
  height: 75px;
}
.inner_shadow {
  -webkit-box-shadow: 0 2px 50px rgb(0 0 0 / 8%);
  box-shadow: 0 2px 50px rgb(0 0 0 / 8%);
}
.imgTranslateOnHover img,
.translateOnHover {
  transition-duration: 0.4s;
}
.translateOnHover:hover {
  transform: translateY(-10px);
}
.translateOnHover {
  transition-duration: 0.4s;
}
.translateOnHover:hover {
  transform: translateY(-10px);
}
.shadow_black::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  border-radius: 15px;
  background: rgb(0 0 0 / 65%);
}
.radious_15 {
  border-radius: 15px;
}
.ts_bg {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  opacity: 0.2;
}
@media (min-width: 600px) and (max-width: 991px) {
  .mt_300 {
    margin-top: -170px;
  }
  .pb-130 {
    padding-bottom: 60px;
  }
}
@media (max-width: 599px) {
  .mt_300 {
    margin-top: -90px;
  }
  .pb-130 {
    padding-bottom: 30px;
  }
}
@media (min-width: 992px) {
  .mt_300 {
    margin-top: -215px;
  }
  .pb-130 {
    padding-bottom: 130px;
  }
}
.banner_wrapper .addon {
  width: 300px;
  padding: 20px;
  bottom: 44px;
  right: -80px;
  font-size: 20px;
}
.banner_wrapper .addon,
.apps_feature_inner .addon {
  background: #122437;
  line-height: 22px;
  letter-spacing: 0.01em;
  font-size: 11px;
  font-weight: 700;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
.bg_bluish {
  background-color: #d4e2f6 !important;
}

.for_hover::before {
  content: "";
  background: rgb(45 205 114 / 87%);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60px;
  transition-duration: 0.4s;
}

.for_hover:hover::before {
  height: 100%;
}

.hover_content {
  top: calc(100% + -20px);
  align-content: center;
  height: auto;
  transition-duration: 0.4s;
  transform: translateY(0);
}

.for_hover:hover .hover_content {
  transform: translateY(-50%);
  top: 50%;
}
.key-features:focus,
.key-features:hover {
  box-shadow: 0 0 12px rgb(0 0 0 / 10%);
}

.key-features:focus img,
.key-features:hover img {
  transform: translateY(-8px);
}
.transition {
  transition-duration: 0.3s;
}

/*===============================
===========Package Css===========
=================================*/

.package-remove {
  opacity: 0.5;
}
.badge_all .addon {
  background: #627afe;
  padding: 20px 15px;
  top: -22px;
  right: -20px;
  width: 80px;
  height: 80px;
  line-height: 19px;
}
.blog-bg {
  background: linear-gradient(180deg, rgb(243 245 247) 40%, rgba(255, 255, 255, 1) 65%);
}
.shadow_1 {
  box-shadow: rgb(0 0 0 / 13%) 1px 1px 1rem !important;
}
.btn-success {
  color: #fff;
  background-color: #30b22e;
  border-color: #30b22e;
}
.btn-success:hover {
  background-color: #2bce70;
  border-color: #2bce70;
}
.btn-outline-success {
  color: #30b22e;
  border-color: #30b22e;
}
.btn-outline-success:hover {
  background-color: #30b22e;
  border-color: #30b22e;
  color: #fff;
}
.times-img {
  height: 215px;
  width: max-content;
}

.shadow_2 {
  box-shadow: 0px 0px 14px 0px #00000017;
}
.shadow_3 {
  box-shadow: 0px 4px 4px 0px #00000040;
}
.h-90 {
  height: 90px;
}
.faq .accordion-item {
  border-radius: 20px;
  background: #ffffff;
}
.faq .accordion-item .accordion-button {
  border-radius: 20px;
  font-weight: 600;
  width: 100%;
  text-align: start;
  padding: 20px 75px 20px 40px;
  display: flex;
  align-items: center;
  background: #ffffff;
}
.faq .accordion-item:first-of-type button {
  border-top-left-radius: 20px !important;
  border-top-right-radius: 20px !important;
}
.faq .accordion-item:first-of-type {
  border-top-left-radius: 20px !important;
  border-top-right-radius: 20px !important;
}
.faq .accordion-item:last-of-type .accordion-button.collapsed {
  border-bottom-left-radius: 20px !important;
  border-bottom-right-radius: 20px !important;
}
.faq .accordion-item:last-of-type {
  border-bottom-right-radius: 20px;
  border-bottom-left-radius: 20px;
}
.faq .accordion-button::after {
  margin-left: auto;
  background-color: #44c642;
  padding: 20px 20px;
  content: "";
  right: 25px;
  position: absolute;
  background-image: url(img/faq.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.4rem;
  transition: transform 0.2s ease-in-out;
  border-radius: 20px;
}
.faq .accordion-button:not(.collapsed)::after {
  background-image: url(img/faq-not.png) !important;
  transform: rotate(1deg);
  background-size: 0.7rem;
}
.faq .accordion-button:not(.collapsed) {
  color: #000000;
  font-weight: 500;
  background-color: transparent;
  box-shadow: none;
}

.faq .accordion-button:focus {
  box-shadow: none;
}
.faq .accordion-body {
  padding: 15px 40px;
}
.estimation_accordion .accordion-button:focus {
  box-shadow: none;
}
.estimation_accordion .accordion-button:not(.collapsed) {
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.125);
}
.estimation_accordion .accordion-body {
  padding: 15px 0px;
}

.hover1 {
  transition: all 0.3s linear;
}

.hover1:hover {
  box-shadow: rgb(21 80 10 / 18%) 0px 6px 14px 0px;
  transition: all 0.3s linear;
  background-color: white;
  transform: translateY(-5px);
}

.hover2 {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  transform: translateY(0);
  transition: all 0.3s ease;
}

.hover2:hover {
  transform: translateY(-0.4rem);
  box-shadow: 0 0.25rem 1.25rem rgba(52, 63, 82, 0.1);
}
.hover3 {
  transition: all 0.3s linear;
}

.hover3:hover {
  box-shadow: rgb(0 0 0 / 12%) 0px 20px 50px 0px;
  transition: all 0.3s linear;
  background-color: white;
}
.btn:hover {
  transform: translateY(-0.15rem);
  box-shadow: 0 0.25rem 0.75rem rgba(30, 34, 40, 0.15);
}
.btn {
  transform: translateY(0);
  transition: all 0.2s ease-in-out;
}

.cost-bg {
  background-image: url("img/Save-Overflow-of-Construction-Cost-new.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
.cost-bg::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  /*background: linear-gradient(90deg, rgb(15 15 15) 28%, rgb(13 13 13 / 29%) 70%);*/
  bottom: 0;
  height: 100%;
  z-index: 0;
}
@media (max-width: 1199px) {
  .cost-bg::before {
  background: linear-gradient(90deg, rgb(15 15 15) 28%, rgb(13 13 13 / 29%) 70%);
}  
}
.text_cost {
  background-image: linear-gradient(60deg, #11e265, #e5bd22);
  background-clip: text;
  color: transparent;
}

.grad-btn {
  cursor: pointer;
  border: none;
  color: white;
  font-size: 18px;
  font-weight: 500;
  background-color: #00c734;
  background-image: linear-gradient(247deg, #00c734 0%, #a79400 74%);
  transition: 500ms;
  position: relative;
}

.grad-btn:before,
.grad-btn:after {
  z-index: -1;
  content: "";
  position: absolute;
  left: 58px;
  width: 150px;
  height: 0px;
  background: #b9afaf00;
  transition: 500ms;
}

.grad-btn:before {
  transform: translateX(-50px) translateY(27px);
  box-shadow: 5px 5px 16px #a79400;
}

.grad-btn:after {
  transform: translateX(-25px) translateY(27px);
  box-shadow: -5px 5px 16px #25bc29;
}

.grad-btn:hover:before,
.grad-btn:hover:after {
  height: 5px;
}

.grad-btn:hover {
  box-shadow: inset 0px 5px 10px rgba(255, 255, 255, 0.4);
  color: #fff;
}

.grad-btn:focus {
  outline: none;
}

.grad-btn-outline {
  color: #ffffff;
  transition: 0.5s;
  font-size: 18px;
  border: 2px solid #8dff8b;
  font-weight: 500;
}

.grad-btn-outline:hover {
  background-color: #30b22e;
  border-color: #30b22e;
  transition: all 0.5s ease;
  color: #fff;
}

.cta-btn {
  cursor: pointer;
  border: none;
  color: white;
  font-size: 18px;
  font-weight: 500;
  border: 1px solid #ffffff;
  background-color: #a98116;
  transition: 500ms;
  position: relative;
  box-shadow: inset 0px 5px 10px rgba(255, 255, 255, 0.4);
}
.cta-btn:hover {
  transform: translateX(0px) translateY(-7px);
  color: white;
  box-shadow: inset 0px 5px 10px rgba(255, 255, 255, 0.4);
}

.feature-card {
  display: block;
  position: relative;
  border-radius: 10px;
  padding: 25px 25px;
  text-decoration: none;
  width: 100%;
  color: #282828;
  text-align: center;
  height: 100%;
  overflow: hidden;
  background-color: #fff;
  border: 1px solid #f0ffe9;
  transition: 0.5s;
  box-shadow: 1px 1px 8px 0px rgb(0 0 0 / 8%);
}
.feature-card .go-corner {
  background-color: #33d039;
  height: 100%;
  width: 20px;
  padding-right: 9px;
  border-radius: 0;
  transform: skew(6deg);
  margin-right: -36px;
  align-items: start;
  background-image: linear-gradient(-45deg, #98b74d 1%, #33d039 100%);
}
.feature-card .go-arrow {
  transform: skew(-6deg);
  margin-left: -2px;
  margin-top: 9px;
  opacity: 0;
}
.feature-card:hover {
  border: 1px solid #33d039;
  transition: all 0.5s ease;
  color: #282828;
  transform: translateY(-10px);
}

.feature-card:hover .go-corner {
  margin-right: -12px;
  transition: all 0.5s ease;
}
.feature-card:hover .go-arrow {
  opacity: 1;
  transition: all 0.5s ease;
}

.go-corner {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  width: 32px;
  height: 32px;
  overflow: hidden;
  top: 0;
  right: 0;
  background-color: #00838d;
  border-radius: 0 4px 0 32px;
  transition: 0.5s;
}

.go-arrow {
  margin-top: -4px;
  margin-right: -4px;
  color: white;
  font-family: courier, sans;
  transition: 0.5s;
}
.cta-section-one {
  position: relative;
  overflow: hidden;
  padding-top: 90px;
  padding-bottom: 90px;
  background-image: url("img/Get-Access-to-the-NirmaKo-Cost-Estimation-App.webp");
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
}
.cta-section-one::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  background: linear-gradient(90deg, rgb(13 13 13 / 72%) 28%, rgb(13 13 13 / 74%) 70%);
  bottom: 0;
  height: 100%;
  z-index: 0;
}

.floating-item.cta-v2-01 {
  left: 0%;
  top: 0%;
  right: auto;
  bottom: auto;
  z-index: 0;
}
.floating-item.cta-v2-02 {
  left: auto;
  top: auto;
  right: -1%;
  bottom: 0%;
}
.floating-item {
  position: absolute;
}
.marquee {
  overflow: hidden;
  position: relative;
  width: 100%;
}

.marquee-content {
  display: flex;
  gap: 5rem;
  animation: scroll-left 50s linear infinite;
  width: max-content;
}

.marquee:hover .marquee-content {
  animation-play-state: paused;
}

@keyframes scroll-left {
  from {
    transform: translateX(1%);
  }
  to {
    transform: translateX(-100%);
  }
}
.moduals-left {
  z-index: -1;
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.moduals-left:after {
  content: "";
  height: 100%;
  width: 100%;
  background: #ffffff;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  box-shadow: 1px 1px 10px 6px #b1b9aa3b;
  z-index: -1;
  border-radius: 15px;
}

.moduals {
  height: 100%;
  background: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-shadow: 0 0 6px 0 rgb(0 0 0 / 25%);
  border-radius: 15px;
  transition: all 0.3s linear;
}
.moduals p {
  text-align: justify;
}

.moduals:hover {
  /* box-shadow: rgb(0 0 0 / 12%) 0px 20px 50px 0px; */
  /* box-shadow: rgb(135 163 28 / 12%) 1px 1px 18px 7px; */
  box-shadow: rgb(34 60 68 / 12%) 1px 1px 18px 7px;
  transition: all 0.3s linear;
  transform: scale(1.01);
}
.solutions-bg {
  background-color:#f6fbff;
}
.apps_feature_inner {
  box-shadow: 0 0 10px rgb(70 82 228 / 15%);
  padding: 25px 35px;
}

.parallax-window::before {
  background: rgb(13 13 13 / 68%) 70%;
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  z-index: 0;
}
.parallax-window {
  /*min-height: 430px;*/
  background: transparent;
  position: relative;
}
@media (min-width: 1280px) {
  .col-xl-5_5 {
    width: 20%;
  }
}
.construction-cost {
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
  position: absolute;
  visibility: hidden;
  left: 0;
  top: 0;
}
.construction-cost.construction-show {
  opacity: 1;
  visibility: visible;
}
.accurate-cost {
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
  position: absolute;
  visibility: hidden;
  right: 0;
  top: 0;
}
.accurate-cost.accurate-show {
  opacity: 1;
  visibility: visible;
}
.zoomer-container {
  width: 100%;
  height: 370px;
  overflow: hidden;
}
.more {
  font-weight: 700;
  letter-spacing: -0.01rem;
  display: inline-block;
  text-decoration: none;
  position: relative;
  color: rgb(68 198 66);
}
.hidden {
  display: none;
}
.more::before {
  position: absolute;
  width: 100%;
  height: 1px;
  background: rgb(68 198 66);
  top: 100%;
  left: 0;
  pointer-events: none;
  content: "";
  transform-origin: 100% 50%;
  transform: scale3d(0, 1, 1);
  transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
}
.more:hover {
  color: rgb(68 198 66);
}
.more:hover::before {
  transform-origin: 0 50%;
  transform: scale3d(1, 1, 1);
  transition-timing-function: cubic-bezier(0.4, 1, 0.8, 1);
}
.hover_1 {
  transition: 0.3s;
}
.hover_1:hover {
  transform: translateY(-10px);
  transition: 0.3s;
}
.hover_2 {
  transition: all 0.3s linear;
}
.hover_2:hover {
  transform: scale(1.03);
  transition: all 0.3s linear;
}
.custom-shadow {
  box-shadow: 1px 1px 14px 4px rgb(0 0 0 / 9%) !important;
}
@media (max-width:991px) {
.h-400{
  height: 400px;
}
.h-360{
  height: 360px;
}
}

.marquee-app {
  overflow: hidden;
  position: relative;
  width: 100%;
}

.marquee-app-content {
  display: flex;

  animation: scroll-left 130s linear infinite;
  width: max-content;
}

.marquee-app:hover .marquee-app-content {
  /*animation-play-state: paused;*/
}

@keyframes scroll-left {
  from {
    transform: translateX(1%);
  }
  to {
    transform: translateX(-100%);
  }
}
