.wrapper {

  position: relative;

  width: 100%;

}



.outer {

  width: 100%;

  height: calc(100vh - 80px);

}



.inner {

  position: relative;

  width: 100%;

  height: 100%;

}



.homeslider .swiper-slide {

  position: relative;

  overflow: hidden;

}



.homeslider .swiper-slide .bg--banner {

  position: absolute;

  width: 100%;

  height: 100%;

  top: 0;

  left: 0;

}



.homeslider .swiper-slide .bg--banner:before {

  content: "";

  width: 100%;

  background: var(--black);

  height: 100%;

  position: absolute;

  opacity: 0.4;

}



.homeslider .swiper-slide .bg--banner > img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center;

}



.homeslider {

  position: relative;

  height: 100vh;

  width: 100%;

}



.homeslider .swiper-slide .swiper--content {

  z-index: 1;

  position: relative;

  text-align: center;

  max-width: 1300px;

  margin: 0 auto;

  height: 100%;

  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: center;

  padding: 15px;

}



.homeslider .swiper-slide .swiper--content .sub--heading--slider {

  font-size: 20px;

    color: var(--white);

    margin-bottom: 0;

    text-transform: uppercase;

}

.homeslider .swiper-slide .swiper--content .main--heading--slider {

  font-size: 48px;
  font-weight: 600;
  color: var(--white);

  margin-bottom: 20px;

  line-height: 1;

}



.homeslider .swiper-slide .swiper--content .slide--para {

  max-width: 770px;

  padding-bottom: 15px;

  width: 100%;

}



.homeslider .swiper-slide .swiper--content .slide--para p {

  font-size: 18px;

  color: var(--white);

}



.homeslider .swiper-pagination > .swiper-pagination-bullet {

  width: 17px;

  height: 2px;

  border-radius: 0px;

  background: rgb(255 255 255 / 30%);

  transition: 0.3s;

  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 2px) !important;

  opacity: 1;

}



.homeslider

  .swiper-pagination

  > .swiper-pagination-bullet.swiper-pagination-bullet-active {

  width: 43px;

  background: var(--white);

  transition: 0.3s;

}



.homeslider .swiper-pagination {

  bottom: 150px !important;

  z-index: 1;

}



.fade-up-element {

  opacity: 0;

  transform: translateY(40px);

  transition: all 0.8s ease;

  will-change: transform, opacity;

}



.fade-up-element.active-animate {

  opacity: 1;

  transform: translateY(0);

}



/* Delay classes */

.delay-1 {

  transition-delay: 0.1s;

}



.delay-2 {

  transition-delay: 0.2s;

}



.delay-3 {

  transition-delay: 0.4s;

}



.delay-4 {

  transition-delay: 0.6s;

}



/* scroll down */



/* what we do */

.what--we--do--card .what--we--do--item .what--we--thum img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    object-position: center;

}



.what--we--do--card .what--we--do--item .what--we--thum {height: 550px;}



.what--we--do--card .what--we--do--item {

    position: relative;

}



.what--we--do--card .what--we--do--item:before {

    content: '';

    width: 100%;

    height: 100%;

    background: var(--black);

    position: absolute;

    top: 0;

    left: 0;

    opacity: 0.4;

    transition: 0.3s;

}



.what--we--do--card .what--we--do--item:hover:before {

    opacity: 1;

    background: rgba(104, 181, 73, 0.9);

}



.what--we--do--card .what--we--do--item .what--we--content {

    position: absolute;

    top: 0;

    left: 0;

    height: 100%;

    width: 100%;

    padding: 50px;

    display: flex;

    flex-direction: column;

    gap: 10px;

    color: var(--white);

}



.what--we--do--card .what--we--do--item .what--we--content .bottom--content {

    margin-top: auto;

    transition: 0.3s;

}



.what--we--do--card .what--we--do--item .what--we--content .bottom--content .btn-wrap {

    position: absolute;

    left: 50px;

    bottom: 50px;

    opacity: 0;

    transition: 0.3s;

}



.what--we--do--card .what--we--do--item .what--we--content .bottom--content p{

	transition: 0.3s;

	font-weight: 400;

}



.what--we--do--card .what--we--do--item:hover .what--we--content .bottom--content p {

    transform: translateY(-60px);

    text-shadow: 2px 5px 8px rgba(0, 0, 0, 0.25);

}



.what--we--do--card .what--we--do--item:hover .what--we--content .bottom--content .btn-wrap {

    opacity: 1;

}

/* what we do end */



/* who we work */

.who--we--work .logoSwiper .work--item {

    text-align: center;

}



.who--we--work .logoSwiper .work--item img {

    width: 100%;

    max-width: 150px;

    height: 110px;

    object-fit: contain;

}

/* who we work end */



/* counter list */

.counter--values--container {

    position: relative;

    background-image: url('../img/counter-bg.webp');

    background-size: cover;

    background-position: center;

    background-repeat: no-repeat;

}

.counter--items--list {

    display: flex;

    justify-content: space-between;

    gap: 15px;

    min-height: 245px;

    align-items: center;

}



.counter--items--list .counter--item {

    text-align: center;

    color: var(--white);

}



.counter--items--list .counter--item h2 {

    font-weight: 600;

    font-size: 64px;

}



.counter--items--list .counter--item p {

    font-size: 20px;

    font-weight: 500;

}



/* counter list end */



/* Our Clients */



.customer--boxes .customer--box {

  background: var(--white);

  padding: 40px;

  border-radius: 30px;

  border: 1px solid #d4d4d4;

}



.customer--boxes .customer--box .customer--box--inner .review--icon {

  width: 57px;

  height: 33px;

  margin-bottom: 40px;

}



.customer--boxes .customer--box .customer--box--inner .review--icon img {

  width: 100%;

  object-fit: contain;

  height: 100%;

  object-position: left;

}



.customer--boxes

  .customer--box

  .customer--box--inner

  .content--customer--review {

  margin-bottom: 40px;

}



.customer--boxes

  .customer--box

  .customer--box--inner

  .content--customer--review

  p {

  margin-bottom: 0;

  overflow: hidden;

  display: -webkit-box;

  -webkit-line-clamp: 5;

  line-clamp: 5;

  -webkit-box-orient: vertical;

}

.read-more-btn {

  border: none;

  background: none;

  padding: 0;

  margin-top: 12px;

  color: var(--primary);

  font-weight: 700;

  text-decoration: underline;

  cursor: pointer;

}
.read-more-btn:focus,
.read-more-btn:active {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}
.testimonial-modal-close:focus,
.testimonial-modal-close:active {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}

.testimonial-modal-dialog {
    max-width: 920px;
    width: calc(100% - 30px);
}

.testimonial-modal-content {
    position: relative;
    padding: 30px 30px;
    background: #ffffff;
    border: 1px solid #d5d5d5;
    border-radius: 36px;
    box-shadow: none;
}

.testimonial-modal-body {
    padding: 0;
}

.testimonial-modal-close {
    position: absolute;
    top: 18px;
    right: 24px;
    z-index: 2;
    border: 0;
    background: transparent;
    color: #555;
    font-size: 30px;
    font-weight: 300;
    line-height: 1;
    opacity: 0.8;
}

.testimonial-modal-close:hover {
    color: #000;
    opacity: 1;
}

.testimonial-quote {
    margin-bottom: 38px;
    line-height: 0;
}
.testimonial-quote img {
    display: block;
    width: 48px;
    height: auto;
}

.testimonial-modal-text {
    margin-bottom: 14px;
    color: #262626;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.35;
}

.testimonial-read-more {
    display: inline-block;
    margin-bottom: 52px;
    color: #5db947;
    font-size: 18px;
    font-weight: 700;
    text-decoration: underline;
}

.testimonial-read-more:hover {
    color: #438d32;
}

.info--customer {
    margin-top: auto;
}

.customer--name {
    margin: 0 0 8px;
    color: #000;
    font-size: 25px;
    font-weight: 700;
}

.customer--info {
    margin: 0;
    color: #000;
    font-size: 20px;
    font-weight: 400;
}

.testimonial-modal-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid #5db947;
    border-radius: 50%;
    background: #5db947;
    color: #ffffff;
    font-size: 25px;
    font-weight: 400;
    line-height: 1;
    opacity: 1;
}

.testimonial-modal-close:hover {
    border-color: #438d32;
    background: #438d32;
    color: #ffffff;
}



.customer--boxes

  .customer--box

  .customer--box--inner

  .info--customer

  .customer--name {

  font-size: 20px;

  color: var(--black);

  font-weight: 700;

}



.customer--boxes

  .customer--box

  .customer--box--inner

  .info--customer

  .customer--info {

  font-size: 16px;

  color: var(--black);

  margin-bottom: 0;

}



.customer--reviews .swiper-pagination {

  position: relative;

  top: 0 !important;

  padding-top: 50px;

  display: flex;

  align-items: center;

  justify-content: center;

}



.customer--reviews .swiper-pagination .swiper-pagination-bullet {

  width: 16px;

  height: 2px;

  background: rgb(0 0 0 / 16%);

  border-radius: 0px;

  opacity: 1;

}



.customer--reviews

  .swiper-pagination

  .swiper-pagination-bullet.swiper-pagination-bullet-active {

  height: 4px;

  background: var(--primary);

  width: 42px;

}

.bg--icon--place {

    max-width: 460px;

    width: 100%;

    position: absolute;

    bottom: -20%;

    right: 0;

}



.bg--icon--place img {

    width: 100%;

}



.who--we--work {

    position: relative;

}

/* Our Clients end */



/* Partners */

.partners--info {

    display: flex;

    align-items: center;

    gap: 15px;

}



.partners--info .center--col--img {

    max-width: 500px;

    width: 100%;

}



.partners--info .center--col--img img {

    width: 100%;

}



.partners--info .left--col--info, .partners--info .right--col--info {

    flex: 1;

}



.partners--info .right--col--info .info--partner {

    padding-left: 50px;

}



.partners--info .partner--name {

    font-size: 20px;

    color: var(--black);

    font-weight: 700;

}



.partners--info .partner--info {

    font-size: 16px;

    color: var(--black);

    margin-bottom: 20px;

}



.partners--info .left--col--info .info--partner {

    padding-right: 50px;

}



/* Partners end */



/* query form */



.inner--container--query {

    display: flex;

}



.inner--container--query .query--thum, .inner--container--query .query--area {

    width: 50%;

}



.inner--container--query .query--area {

  padding: 50px;

  padding-left: 80px;

  background-color: #F8FFF6;

  position: relative;

  overflow: hidden;

  min-height: 645px;

  display: flex;

  align-items: center;

}

.inner--container--query .query--area:before {

    content: '';

    width: 100%;

    height: 100%;

    background-image: url('../img/bg-big-icon.svg');

    position: absolute;

    bottom: -70px;

    right: 0;

    background-repeat: no-repeat;

    background-position: bottom right;

    background-size: contain;

    max-width: 365px;

}







.inner--container--query .query--thum img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    object-position: center;

}



.inner--container--query .query--area .inner--area--query {

    max-width: 525px;

    width: 100%;

}



.inner--container--query .query--area .inner--area--query .form--area {

    margin-top: 20px;

}



.form--area .inner--form {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 25px;

    margin-bottom: 30px;

}



.form--area .inner--form .form--fields:last-child {

    grid-column: 1 / 3;

}



.form--area .inner--form .form--fields {

    position: relative;

}



.form--area .inner--form .form--fields label {

    position: absolute;

    top: 20px;

    left: 0;

    color: #949494;

    font-size: 14px;

    pointer-events: none;

    transform: translateY(-50%);

    transition: 0.3s;

}



.form--area .inner--form .form--fields input {

    min-height: 45px;

    padding-left: 0;

    color: var(--black);

    font-size: 16px;

}



.form--area .inner--form .form--fields input, .form--area .inner--form .form--fields textarea {

    background: transparent;

    border: none;

    border-bottom: 1px solid #949494;

    border-radius: 0px;

}

.form--area .inner--form .form--fields textarea{

	padding-left: 0px;

	resize: none;

  overflow: hidden;

  min-height: 40px;

}



.form--area .inner--form .form--fields input:focus + label,

.form--area .inner--form .form--fields textarea:focus + label,

.form--area .inner--form .form--fields input:not(:placeholder-shown) + label,

.form--area .inner--form .form--fields textarea:not(:placeholder-shown) + label {

  top: -4px;

    font-size: 13px;

}



.form--area .inner--form .form--fields input:focus,

.form--area .inner--form .form--fields textarea:focus{

	box-shadow: none;

}

/* query form end */





/* media quries */

@media (max-width: 1024px) {

  .homeslider .swiper-slide .swiper--content .slide--para p {

    font-size: 15px;

  }

  .homeslider .swiper-slide .swiper--content .sub--heading--slider,

  .homeslider .swiper-slide .swiper--content .main--heading--slider {

    margin-bottom: 8px;

  }



  .partners--info {

      display: flex;

      align-items: center;

      gap: 15px;

  }



}



@media(max-width:991px){

  .partners--info {

      flex-direction: column;

      row-gap: 40px;

  }



  .partners--info .right--col--info .info--partner {

      padding-left: 0;

  }

  .partners--info .left--col--info .info--partner {

      padding-right: 0px;

  }



  .inner--container--query {

      flex-direction: column;

  }



  .inner--container--query .query--thum, .inner--container--query .query--area {

      width: 100%;

  }



  .inner--container--query .query--area {

      padding: 40px 15px;

      min-height: auto;

  }



  .form--area .inner--form {

      display: flex;

      flex-direction: column;

      gap: 15px;

  }

}



@media(max-width:768px){

  .homeslider .swiper-slide .swiper--content .main--heading--slider {

      font-size: 32px;

  }

  .counter--items--list{

    flex-direction: column;

    padding: 30px 0px;

  }

  .what--we--do--card .what--we--do--item .what--we--content {

      padding: 20px;

  }



  .what--we--do--card .what--we--do--item .what--we--thum {

      height: 300px;

  }



  .what--we--do--card .what--we--do--item .what--we--content .top--heading h2 {

      font-size: 24px;

  }



  .what--we--do--card .what--we--do--item .what--we--content .bottom--content .btn-wrap {

      left: 20px;

      bottom: 40px;

  }

  .counter--items--list .counter--item h2 {

      font-size: 40px;

  }

  .counter--items--list .counter--item p{

    font-size: 16px;

  }

  .customer--boxes .customer--box {

      padding: 30px 20px;

  }



  .customer--boxes .customer--box .customer--box--inner .content--customer--review {

      margin-bottom: 20px;

  }



  .customer--boxes .customer--box .customer--box--inner .review--icon {

      margin-bottom: 20px;

      width: 47px;

      height: 23px;

  }



  .customer--boxes .customer--box .customer--box--inner .info--customer .customer--name {

      font-size: 18px;

  }



  .customer--boxes .customer--box .customer--box--inner .info--customer .customer--info {

      font-size: 14px;

  }

  .customer--reviews .swiper-pagination {

      padding-top: 20px;

  }
.testimonial-modal-content {
        min-height: auto;
        padding: 20px 15px;
        border-radius: 28px;
    }

  .testimonial-quote{
  	 margin-bottom: 20px;
    line-height: 0;
  }
  .testimonial-quote img {
    display: block;
    width: 30px;
    height: auto;
}
.testimonial-modal-close{
	    width: 30px;
    height: 30px;
}
    .testimonial-modal-text {
        font-size: 15px;
    }

    .customer--name {
        font-size: 22px;
    }

    .customer--info {
        font-size: 18px;
    }
    .testimonial-modal-dialog {
    max-width: 920px;
    width: calc(100% - 30px);
    margin-bottom: 20px;
}
}

