.nav {
  --bs-nav-link-padding-x: 1rem;
  --bs-nav-link-padding-y: 0.5rem;
  --bs-nav-link-font-weight: ;
  --bs-nav-link-color: var(--bs-link-color);
  --bs-nav-link-hover-color: var(--bs-link-hover-color);
  --bs-nav-link-disabled-color: #6c757d;
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none; }

.nav-link {
  display: block;
  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
  font-size: var(--bs-nav-link-font-size);
  font-weight: var(--bs-nav-link-font-weight);
  color: var(--bs-nav-link-color);
  text-decoration: none;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .nav-link {
      transition: none; } }
  .nav-link:hover, .nav-link:focus {
    color: var(--bs-nav-link-hover-color); }
  .nav-link.disabled {
    color: var(--bs-nav-link-disabled-color);
    pointer-events: none;
    cursor: default; }

.nav-tabs {
  --bs-nav-tabs-border-width: 1px;
  --bs-nav-tabs-border-color: #dee2e6;
  --bs-nav-tabs-border-radius: 0.375rem;
  --bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6;
  --bs-nav-tabs-link-active-color: #495057;
  --bs-nav-tabs-link-active-bg: #fff;
  --bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff;
  border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color); }
  .nav-tabs .nav-link {
    margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
    background: none;
    border: var(--bs-nav-tabs-border-width) solid transparent;
    border-top-left-radius: var(--bs-nav-tabs-border-radius);
    border-top-right-radius: var(--bs-nav-tabs-border-radius); }
    .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
      isolation: isolate;
      border-color: var(--bs-nav-tabs-link-hover-border-color); }
    .nav-tabs .nav-link.disabled, .nav-tabs .nav-link:disabled {
      color: var(--bs-nav-link-disabled-color);
      background-color: transparent;
      border-color: transparent; }
  .nav-tabs .nav-link.active,
  .nav-tabs .nav-item.show .nav-link {
    color: var(--bs-nav-tabs-link-active-color);
    background-color: var(--bs-nav-tabs-link-active-bg);
    border-color: var(--bs-nav-tabs-link-active-border-color); }
  .nav-tabs .dropdown-menu {
    margin-top: calc(-1 * var(--bs-nav-tabs-border-width));
    border-top-left-radius: 0;
    border-top-right-radius: 0; }

.nav-pills {
  --bs-nav-pills-border-radius: 0.375rem;
  --bs-nav-pills-link-active-color: #fff;
  --bs-nav-pills-link-active-bg: #0d6efd; }
  .nav-pills .nav-link {
    background: none;
    border: 0;
    border-radius: var(--bs-nav-pills-border-radius); }
    .nav-pills .nav-link:disabled {
      color: var(--bs-nav-link-disabled-color);
      background-color: transparent;
      border-color: transparent; }
  .nav-pills .nav-link.active,
  .nav-pills .show > .nav-link {
    color: var(--bs-nav-pills-link-active-color);
    background-color: var(--bs-nav-pills-link-active-bg); }

.nav-fill > .nav-link,
.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center; }

.nav-justified > .nav-link,
.nav-justified .nav-item {
  flex-basis: 0;
  flex-grow: 1;
  text-align: center; }

.nav-fill .nav-item .nav-link,
.nav-justified .nav-item .nav-link {
  width: 100%; }

.tab-content > .tab-pane {
  display: none; }

.tab-content > .active {
  display: block; }

/* Added fallbacks to help with CLS, feel free to remove if it doesn't help on your project */
/* Colours */
/* Fluid heading sizes - set your min/max sizes and you're done! */
/* Some device sizes to use with min-width */
/* adjusted breakpoints for above */
/* 100% widths look better than "Snapping" IMO */
/* Utility */
/* Additional Spacers -- don't think you'll need more than 7, but if you do -- maybe just use a custom class  :)  */
.banner {
  position: relative;
  padding: 200px 0 150px 0;
  display: flex; }
  @media (min-width: 769px) {
    .banner {
      padding: 200px 0 150px 0; } }
  .banner .banner-sm {
    display: block !important; }
    @media (min-width: 769px) {
      .banner .banner-sm {
        display: none !important; } }
  .banner .banner-desktop {
    display: none !important; }
    @media (min-width: 769px) {
      .banner .banner-desktop {
        display: block !important; } }
  .banner .bg-img {
    object-position: center bottom;
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover; }
    @media (min-width: 769px) {
      .banner .bg-img {
        object-position: center bottom; } }
  .banner .banner-content-wrap h1 {
    color: #ffffff;
    position: relative;
    padding-bottom: 1rem; }
    .banner .banner-content-wrap h1::before {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      background-color: #83D032;
      width: 80px;
      height: 3px;
      margin: 0 auto; }

.intro {
  padding-top: 20px;
  padding-bottom: 40px; }
  @media (min-width: 641px) {
    .intro {
      padding-top: 20px;
      padding-bottom: 60px; } }
  @media (min-width: 1025px) {
    .intro {
      padding-top: 43px;
      padding-bottom: 138px; } }
  .intro .img-box {
    position: relative; }
    .intro .img-box .img {
      border-radius: 5px; }

.services {
  padding: 60px 0;
  background-color: #f7f7f7; }
  @media (min-width: 641px) {
    .services {
      padding: 80px 0 65px 0; } }
  @media (min-width: 1025px) {
    .services {
      padding: 110px 0 75px 0; } }
  .services .service-tabs .tabs-header {
    margin-bottom: 1rem; }
    @media (min-width: 641px) {
      .services .service-tabs .tabs-header {
        margin-bottom: 1.5rem; } }
    @media (min-width: 1025px) {
      .services .service-tabs .tabs-header {
        margin-bottom: 1.75rem; } }
  .services .service-tabs .nav-item {
    margin-bottom: 0.5rem;
    padding-left: 0;
    flex: 1 1 297px; }
    @media (min-width: 769px) {
      .services .service-tabs .nav-item {
        min-width: 318px; } }
    @media (min-width: 1025px) {
      .services .service-tabs .nav-item {
        min-width: 357px; } }
    @media (min-width: 1329px) {
      .services .service-tabs .nav-item {
        min-width: 297px; } }
  .services .service-tabs .nav-tabs {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding-left: 0;
    justify-content: center;
    border: none;
    gap: 1rem; }
  .services .service-tabs .nav-link {
    background-color: #ffffff;
    color: #2d2d2d;
    border-radius: 5px;
    padding: 16px 24px;
    transition: all 0.3s ease;
    text-decoration: none;
    white-space: nowrap;
    font-size: 18px; }
    @media (min-width: 641px) {
      .services .service-tabs .nav-link {
        padding: 20px 32px;
        font-size: 20px; } }
    @media (min-width: 1025px) {
      .services .service-tabs .nav-link {
        padding: 24px 42px;
        font-size: 24px; } }
    .services .service-tabs .nav-link:hover {
      background-color: #83D032;
      border-color: #83D032;
      color: #ffffff; }
    .services .service-tabs .nav-link.active {
      background-color: #83D032;
      color: #ffffff; }
  .services .service-tabs .tab-content {
    background-color: #ffffff;
    padding: 24px 20px;
    border-radius: 5px;
    margin: 0 auto; }
    @media (min-width: 641px) {
      .services .service-tabs .tab-content {
        padding: 36px 30px; } }
    @media (min-width: 1025px) {
      .services .service-tabs .tab-content {
        padding: 48px 42px 48px 53px;
        max-width: 1320px; } }
  .services .service-tabs .img-box {
    position: relative; }
    .services .service-tabs .img-box .img {
      border-radius: 5px; }
  .services .top h2 {
    position: relative;
    padding-bottom: 1.5rem;
    max-width: 882px; }
    @media (min-width: 641px) {
      .services .top h2 {
        padding-bottom: 1.75rem; } }
    @media (min-width: 1025px) {
      .services .top h2 {
        padding-bottom: 2rem; } }
    .services .top h2::before {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      background-color: #83D032;
      width: 60px;
      height: 3px;
      margin: 0 auto; }
      @media (min-width: 1025px) {
        .services .top h2::before {
          width: 80px; } }
  .services .top p {
    font-size: 18px;
    max-width: 1025px; }

.gallery {
  padding: 64px 0 75px 0;
  background: linear-gradient(to bottom, #f7f7f7 0%, #f7f7f7 67%, transparent 67%, transparent 100%); }
  @media (min-width: 1025px) {
    .gallery {
      padding: 104px 0 100px 0; } }
  .gallery .top h2 {
    position: relative;
    padding-bottom: 2rem; }
    .gallery .top h2::before {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      background-color: #83D032;
      width: 80px;
      height: 3px;
      margin: 0 auto; }
  .gallery .top p {
    font-size: 18px; }
  .gallery .gallery-slider .owl-stage {
    display: flex; }
  .gallery .gallery-slider .item {
    position: relative;
    height: 100%; }
    .gallery .gallery-slider .item .img {
      border-radius: 5px;
      width: 100% !important;
      max-width: 100% !important;
      height: 100% !important;
      max-height: 100% !important;
      object-fit: cover;
      z-index: 1; }
    .gallery .gallery-slider .item .content-wrap {
      border-radius: 5px;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      z-index: 9;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 75px 45px;
      height: 100%;
      background: rgba(45, 45, 45, 0.7);
      transition: all ease-in-out 300ms;
      cursor: pointer; }
      @media (min-width: 769px) {
        .gallery .gallery-slider .item .content-wrap {
          padding: 100px 45px;
          opacity: 0; } }
      .gallery .gallery-slider .item .content-wrap h2 {
        font-weight: 700;
        margin-bottom: 1rem;
        color: #ffffff; }
      .gallery .gallery-slider .item .content-wrap p {
        color: #ffffff; }
      .gallery .gallery-slider .item .content-wrap i {
        height: 44px;
        width: 44px;
        border: 1px solid #ffffff;
        border-radius: 50%;
        color: #ffffff;
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0 auto; }
      .gallery .gallery-slider .item .content-wrap:hover {
        opacity: 1; }
  .gallery .gallery-slider .owl-dots {
    margin-top: 2rem; }
    .gallery .gallery-slider .owl-dots button span {
      background: #e9ebf1;
      height: 26px;
      width: 26px;
      margin: 5px !important; }
    .gallery .gallery-slider .owl-dots button:hover span, .gallery .gallery-slider .owl-dots button.active span {
      background: #83D032; }
  .gallery .gallery-slider-wrap {
    position: relative; }
    .gallery .gallery-slider-wrap #gallery-nav-container {
      position: absolute;
      top: calc(50% - 32px);
      left: 0;
      right: 0;
      width: 100%;
      display: flex;
      justify-content: space-between;
      margin: 0 auto;
      z-index: 2; }
      @media (min-width: 1329px) {
        .gallery .gallery-slider-wrap #gallery-nav-container {
          max-width: 1480px; } }
      .gallery .gallery-slider-wrap #gallery-nav-container button {
        border: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #e9ebf1;
        height: 44px;
        width: 44px;
        border-radius: 50%; }
        @media (min-width: 1025px) {
          .gallery .gallery-slider-wrap #gallery-nav-container button {
            height: 65px;
            width: 65px; } }
        .gallery .gallery-slider-wrap #gallery-nav-container button:first-of-type {
          margin-right: 1rem; }
        .gallery .gallery-slider-wrap #gallery-nav-container button i {
          transform-origin: center;
          transform: rotate(90deg);
          font-size: 16px;
          color: #2d2d2d; }
        .gallery .gallery-slider-wrap #gallery-nav-container button.disabled i {
          color: #b1b1b1; }
    .gallery .gallery-slider-wrap.disabled {
      display: none; }

.why-choose-us .top h2 {
  position: relative;
  padding-bottom: 20px;
  margin-bottom: 0.8em; }
  @media (min-width: 641px) {
    .why-choose-us .top h2 {
      padding-bottom: 24px;
      margin-bottom: 0.93em; } }
  @media (min-width: 1025px) {
    .why-choose-us .top h2 {
      padding-bottom: 28px;
      margin-bottom: 1.06em; } }
  .why-choose-us .top h2::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background-color: #83D032;
    width: 60px;
    height: 3px; }
    @media (min-width: 1025px) {
      .why-choose-us .top h2::after {
        width: 80px; } }

.why-choose-us .top p {
  font-size: 18px; }

.why-choose-us .why-choose-us-row .why-choose-us-card-wrap {
  position: relative; }
  @media (min-width: 1025px) {
    .why-choose-us .why-choose-us-row .why-choose-us-card-wrap {
      padding: 1rem 0.85rem; } }
  .why-choose-us .why-choose-us-row .why-choose-us-card-wrap i {
    margin: 0 auto;
    height: 80px;
    width: 80px;
    border-radius: 50%;
    font-size: 50px;
    background-color: #83D032;
    color: #ffffff;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9;
    position: absolute;
    top: -35px;
    left: 0;
    right: 0; }
    @media (min-width: 641px) {
      .why-choose-us .why-choose-us-row .why-choose-us-card-wrap i {
        height: 87px;
        width: 87px;
        top: -38px;
        font-size: 63px; } }
    @media (min-width: 1025px) {
      .why-choose-us .why-choose-us-row .why-choose-us-card-wrap i {
        height: 145px;
        width: 145px;
        top: -65px;
        font-size: 95px; } }
  .why-choose-us .why-choose-us-row .why-choose-us-card-wrap .icon-prompt-service:before {
    position: relative;
    right: 5px;
    bottom: 3px; }
  .why-choose-us .why-choose-us-row .why-choose-us-card-wrap .icon-dependable-support:before {
    position: relative;
    bottom: 6px;
    left: 5px; }
  .why-choose-us .why-choose-us-row .why-choose-us-card-wrap .icon-cost-effective:before {
    position: relative;
    left: 6px;
    font-size: 103px;
    bottom: 3px; }
  .why-choose-us .why-choose-us-row .why-choose-us-card-wrap .why-choose-us-card {
    padding: 5rem 1.5rem 1.5rem 1.5rem;
    background-color: #f8f8f8;
    height: 100%; }
    @media (min-width: 641px) {
      .why-choose-us .why-choose-us-row .why-choose-us-card-wrap .why-choose-us-card {
        padding: 6rem 2.25rem 1.75rem 2.25rem; } }
    @media (min-width: 1025px) {
      .why-choose-us .why-choose-us-row .why-choose-us-card-wrap .why-choose-us-card {
        padding: 7rem 1.5rem 4.6rem; } }
    .why-choose-us .why-choose-us-row .why-choose-us-card-wrap .why-choose-us-card h3 {
      font-weight: normal; }
    .why-choose-us .why-choose-us-row .why-choose-us-card-wrap .why-choose-us-card p {
      font-size: 16px; }
      @media (min-width: 641px) {
        .why-choose-us .why-choose-us-row .why-choose-us-card-wrap .why-choose-us-card p {
          font-size: 17px; } }
      @media (min-width: 1025px) {
        .why-choose-us .why-choose-us-row .why-choose-us-card-wrap .why-choose-us-card p {
          font-size: 18px; } }

.quality,
.bottom-section {
  position: relative;
  padding: 24px 0 40px 0; }
  @media (min-width: 641px) {
    .quality,
    .bottom-section {
      padding: 24px 0 100px 0; } }
  @media (min-width: 1025px) {
    .quality,
    .bottom-section {
      padding: 24px 0 150px 0; } }
  .quality .box-container .box,
  .bottom-section .box-container .box {
    background-color: #83D032; }
    .quality .box-container .box .content,
    .bottom-section .box-container .box .content {
      display: flex;
      flex-direction: column;
      justify-content: center; }
      .quality .box-container .box .content p,
      .quality .box-container .box .content h2,
      .bottom-section .box-container .box .content p,
      .bottom-section .box-container .box .content h2 {
        color: #ffffff; }
      .quality .box-container .box .content h2 a,
      .bottom-section .box-container .box .content h2 a {
        color: #ffffff; }
        .quality .box-container .box .content h2 a:hover,
        .bottom-section .box-container .box .content h2 a:hover {
          color: #08B5E7; }
    .quality .box-container .box .img,
    .bottom-section .box-container .box .img {
      height: 100% !important;
      max-height: 100% !important;
      width: 100% !important;
      max-width: 100% !important;
      object-fit: cover; }

.sections-50-50 .img-box {
  position: relative; }
  .sections-50-50 .img-box .img {
    border-radius: 5px; }
