/*
Author: W3layout
Author URL: http://w3layouts.com
License: Creative Commons Attribution 3.0 Unported
License URL: http://creativecommons.org/licenses/by/3.0/
*/:root {
            --primary: #1CD5B5;
            --primary-dark: #20ab93;
            --secondary: #000;
            --light: #F8F9FA;
            --gray: #6C757D;
        }
h4, h5, h6,
h1, h2, h3 {margin: 0;}
ul, ol, li{margin: 0;padding:0;}
p {margin: 0;}

        :root {
  --system-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", 
                Arial, "Noto Sans", "Liberation Sans", sans-serif, 
                "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", 
                "Noto Color Emoji";
}
body{
	margin:0;
	padding:0;
	font-family: var(--system-font);
}

/*--fonts--*/
/* @font-face{
   font-family: Overlock-Regular;
    src: url(../fonts/Overlock-Regular.ttf) format('truetype');
}
@font-face{
   font-family: OpenSans-Regular;
    src: url(../fonts/OpenSans-Regular.ttf) format('truetype');
} */

.btn-quote,
.btn-explore {
      font-size: 0.92rem;
      padding: 5px 10px;
    }
.text-brand{
    color:#1CD5B5;
}
.text-brand2{
    color:#20ab93;
}

/* review */
.review h2 {    
    text-align: center;
    margin-bottom: 30px;
    font-weight: 700;
    color: #333;
  }

  .review h2::after {
    content: "";
    display: block;
    width: 60px;
    height: 3px;
    background-color: #1cd5b5;
    margin: 10px auto 0;
    border-radius: 2px;
  }

/* choose */
    .strengths-list li {
        background-color: #f8fafd;
        border-radius: 8px;
        box-shadow: 0 0 5px rgba(0, 0, 0, 0.03);
        transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    .strengths-list li:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
    }

/* mission */
    .image-mission{
        height: 300px;
        width:100%;
    }
    .about-right {
    padding: 2.5rem 2rem;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 4px 24px rgba(28, 213, 181, 0.07), 0 2px 10px rgba(0,0,0,0.04);
}

.site-title {
    font-weight: 700;
    font-size: 2.1rem;
    color: #1CD5B5;
    border-left: 5px solid #1CD5B5;
    padding-left: 16px;
    letter-spacing: 0.5px;
    margin-bottom: 1.2rem;
}

.about-text {
    align-items: start;
    font-size: 1.08rem;
    line-height: 1.7;
    background-color: #f8fafd;
    border-radius: 10px;
    padding: 1.15rem 1.5rem;
    margin-bottom: 1.2rem;
    box-shadow: 0 2px 10px rgba(28, 213, 181, 0.04);
    border: 1px solid #e6f7f4;
    transition: all 0.3s cubic-bezier(.4,0,.2,1);
}

.about-text:hover {
    transform: translateY(-3px) scale(1.01);
    box-shadow: 0 6px 20px rgba(28, 213, 181, 0.10);
    background: #fff;
}

.mission-i{
    font-size: 1.4rem;
    margin-right: 12px;
    color: #1CD5B5 !important;
    flex-shrink: 0;
}

.about-text strong {
    /* color: #003366; */
    margin-right: 6px;
}

/* staff */
.staff-img {
    width: 100%;
    max-width: 260px;
    height: 260px;
    object-fit: cover;
    border-radius: 12px;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  /* testimonial */
  .testimonial-section {
    padding: 50px 0;
  }

  .testimonial-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    padding: 25px;
    text-align: center;
    transition: transform 0.3s ease;
    height: 100%;
  }

  .testimonial-card:hover {
    transform: translateY(-5px);
  }

  .testimonial-card img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 50%;
    margin-bottom: 15px;
    border: 3px solid #1cd5b5;
  }

  .testimonial-text {
    font-style: italic;
    font-size: 14px;
    color: #555;
    margin-bottom: 15px;
  }

  .testimonial-name {
    font-weight: 600;
    font-size: 16px;
    color: #333;
    margin-bottom: 4px;
  }

  .testimonial-role {
    font-size: 13px;
    color: #888;
}

/* home shifting */
.home-shifting-section {
    padding: 50px 0;
    background-color: #f9f9f9;
  }

  .service-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    padding: 20px;
    text-align: center;
    transition: 0.3s ease;
    height: 100%;
  }

  .service-card img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 10px;
    margin-bottom: 15px;
  }

  .service-card h5 {
    font-weight: 700;
    color: #333;
    margin-bottom: 10px;
  }

  .service-card p {
    font-size: 14px;
    color: #555;
    margin: 0;
  }

  /* our services */
  .majority {
    padding: 40px 0;
  }

  .majority h3 {    
    text-align: center;
    margin-bottom: 30px;
    font-weight: 700;
    color: #333;
  }

  .majority h3::after {
    content: "";
    display: block;
    width: 60px;
    height: 3px;
    background-color: #1cd5b5;
    margin: 10px auto 0;
    border-radius: 2px;
  }

  .service-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    height: 100%;
    transition: box-shadow 0.3s ease;
  }
  .service-card:hover {
  box-shadow: 0 6px 24px rgba(28, 213, 181, 0.18), 0 2px 10px rgba(0,0,0,0.10);
  transform: translateY(-4px) scale(1.03);
  transition: 0.5s ease;
}

  .service-card img {
    width: 100%;
    height: 180px;
    object-fit: cover;
  }

  .service-content {
    padding: 15px;
  }

  .service-content p {
    font-size: 14px;
    color: #555;
    margin: 0;
  }

  .service-title {
    font-size: 16px;
    font-weight: 600;
    color: #20ab93;
    margin: 10px 0 5px;
  }
  /* about us */
   @keyframes rotate-ring {
                    0% {
                        transform: rotate(0deg);
                    }

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

                .rotate-animation {
                    animation: rotate-ring 5s linear infinite;
                }
/* moving process */
/* Heading underline */
.process-underline {
  width: 60px;
  height: 4px;
  background-color: #1cd5b5;
  border-radius: 2px;
}

/* Card base */
.process-card {
  border-radius: 1rem;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
  cursor: pointer;
  background-color: #fff;
}

/* Hover / focus lift */
.process-card:hover,
.process-card:focus {
  transform: translateY(-6px);
  box-shadow:
    rgba(28, 213, 181, 0.25) 0px 10px 30px,
    rgba(0, 0, 0, 0.08) 0px 4px 10px;
  outline: none;
}

/* Icon styling & animation */
.icon-wrapper {
  font-size: 2.5rem;
  color: #1cd5b5;
  transition: transform 0.4s ease;
}

.process-card:hover .icon-wrapper,
.process-card:focus .icon-wrapper {
  transform: rotateY(180deg);
}

/* Typography adjustments */
.process-card .card-title {
  color: #333;
  margin-bottom: 0.5rem;
}

.process-card .card-text {
  font-size: 0.95rem;
  color: #555;
  line-height: 1.4;
}

/* Accessibility: reduced motion */
@media (prefers-reduced-motion: reduce) {
  .process-card,
  .icon-wrapper {
    transition: none;
  }
}

/* major cities */
 .majorityCities h3 {
    text-align: center;
    margin-bottom: 30px;
    font-weight: 700;
    color: #333;
  }
  .majorityCities h3::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background-color: #1cd5b5; /* matching the theme color */
  margin: 10px auto 0;
  border-radius: 2px;
}
.majorityCities .city-card {
  background-color: #20ab93;
  border-radius: 10px;
  box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
  transition: 0.3s ease;
  height: 100%;
  padding: 15px;
  text-align: center;
  position: relative;
  overflow: hidden;
  color: #fff;
}

.majorityCities .city-card:hover {
  color: #fff;
  transform: translateY(-5px);
  box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px;
}

.majorityCities .city-card .image {
  height: 180px;
  overflow: hidden;
  border-radius: 8px;
  margin-bottom: 15px;
}

.majorityCities .city-card img {
  object-fit: cover;
  height: 100%;
  width: 100%;
  border-radius: 8px;
}

.majorityCities .title {
  font-size: 1.1rem;
  font-weight: bold;
  margin-bottom: 10px;
  position: relative;
}

.majorityCities .title::after {
  content: "";
  display: block;
  width: 40%;
  height: 2px;
  background-color: #20ab93;
  margin: 0 auto;
  margin-top: 5px;
  border-radius: 5px;
}

.majorityCities .city-card:hover .title::after {
  background-color: #fff;
}

.majorityCities .desc {
  font-size: 0.9rem;
  list-style: none;
}

.majorityCities .city-card:hover .desc {
  color: #fff;
}

/* gallery sections */
.majorityGallery {
        padding: 40px 0;
    }

    .majorityGallery h3 {
        text-align: center;
        margin-bottom: 30px;
        font-weight: 700;
        color: #333;
    }

    .majorityGallery h3::after {
        content: "";
        display: block;
        width: 60px;
        height: 3px;
        background-color: #1cd5b5;
        /* matching the theme color */
        margin: 10px auto 0;
        border-radius: 2px;
    }

    .gallery-img {
        cursor: pointer;
        transition: transform 0.3s ease;
        border-radius: 10px;
    }

    .gallery-img:hover {
        transform: scale(1.05);
    }

    .modal-img {
        width: 100%;
        border-radius: 8px;
    }

    .btn-close {
        position: absolute;
        top: 15px;
        right: 20px;
        background-color: white;
        padding: 5px;
        border-radius: 50%;
    }

    /* states */
    .border-custom {
        border: 1px solid #1CD5B5; /* your brand color */
        border-radius: 8px;
        }
        .image-wrapper {
        height: 200px;
        }

        .image-wrapper img {
        object-fit: cover;
        height: 100%;
        transition: transform 0.3s ease;
        }

        .image-wrapper:hover img {
        transform: scale(1.05);
        }

        .custom-badge {
        background-color: rgba(28, 213, 181, 0.1);
        color: #1CD5B5;
        }

        /* gallery */
        .gallery-img {
        cursor: pointer;
    }

    #gallery img {
        width: 100%;
        height: 200px;
        object-fit: cover;
        display: block;
    }
	.full-views{
		z-index: 999;
	}

    .full-view-modal {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.8);
        justify-content: center;
        align-items: center;
    }

    .full-view-image {
        max-width: 90%;
        max-height: 90%;
    }

    .close-btn {
        position: absolute;
        top: 20px;
        right: 30px;
        font-size: 30px;
        color: white;
        cursor: pointer;
    }

    @media (max-width: 768px) {
        .col-sm-6 {
            flex: 0 0 50%;
            max-width: 50%;
        }
    }
           
    
    /* city page */
    .city-img{
            height:300px;
        }
.services-table {
  border-radius: 10px;
  overflow: hidden;
}

.charges h2 {
        text-align: center;
        margin-bottom: 30px;
        font-weight: 700;
        color: #333;
    }

    .charges h2::after {
        content: "";
        display: block;
        width: 60px;
        height: 3px;
        background-color: #1cd5b5;
        /* matching the theme color */
        margin: 10px auto 0;
        border-radius: 2px;
    }

.service-pricing-table {
  border-radius: 10px;
  overflow: hidden;
  font-size: 0.95rem;
}

.service-pricing-table thead {
  background-color: #f5f7fa;
  font-weight: 600;
}

.service-pricing-table tbody tr:hover {
  background-color: rgba(28, 213, 181, 0.08);
  transition: background-color 0.25s ease;
}

.service-pricing-table td,
.service-pricing-table th {
  padding: 1rem 0.75rem;
  vertical-align: middle;
}

.service-pricing-table i {
  font-size: 1.1rem;
}

.faq-underline {
  width: 80px;
  height: 4px;
  background: linear-gradient(90deg, #1cd5b5, #1cd5b5);
  border-radius: 2px;
}

.accordion-item {
  border: none;
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.accordion-item .accordion-button {
  font-size: 1rem;
  padding: 1rem 1.25rem;
  border-radius: 0.75rem;
  background-color: #f9f9fb;
  color: #1f3540;
  position: relative;
  box-shadow: inset 0 0 0 0 rgba(28, 213, 181, 0);
  transition: background-color 0.2s ease;
}

.accordion-button:not(.collapsed) {
  background-color: #e8f7f2;
}

.accordion-button:focus {
  box-shadow: 0 0 0 3px rgba(28, 213, 181, 0.5);
}

.accordion-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(28, 213, 181, 0.15);
}

.accordion-body {
  background: #fff;
  padding: 1rem 1.5rem;
  font-size: 0.95rem;
  color: #4a4f57;
  border-top: 1px solid #e6e9ef;
}


.accordion-button i {
  font-size: 1.1rem;
}


@media (prefers-reduced-motion: reduce) {
  .accordion-item,
  .accordion-button,
  .accordion-item:hover {
    transition: none;
    transform: none;
  }
}

@media(max-width: 575px){
  .rotate-animation{
    max-width: 40%;
  }
}



