
@import url('https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

body {
    font-family: "Barlow", sans-serif !important;
}

/* Prevent the transient horizontal scrollbar on first paint. AOS
   (data-aos="fade-left"/"fade-right") and animate.css ("slideInDown")
   start elements translated off-screen, which overflows the viewport
   until a scroll fires the animations. Clipping the x-axis on the root
   keeps the layout at 100% width from the very first render. */
html,
body {
    overflow-x: hidden;
    max-width: 100%;
}
.custom_text {
    color: #5db90b !important;
}
.navbar .nav-item .dropdown-menu {
    background-color: #000;
}

.dropdown-item {
    color: #fff !important;
    font-size: 15px;
    font-weight: bold;
}

.dropdown-item:hover,
.dropdown-item:focus {
    color: rgb(29.7, 33.3, 36.9);
    background-color: #5db90b;
}

/* Nav links — same values the reference site renders with (its custom.css
   loads after style.css, so these win the cascade there; header.php mirrors
   that order). */
.navbar .navbar-nav .nav-link {
    margin-right: 25px;
    padding: 20px 0;
    color: var(--bs-white);
    font-size: 15px;
    text-transform: capitalize;
    outline: none;
    transition: .5s;
    font-weight: bold;
}

.background_overlay{
    /* background-color: var( --e-global-color-becb7fd ); */
    background-color: #8A88884D;
    background-image: url("../img/lines-abstract-wavy-backgrounds.png");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    opacity: 0.2;
    transition: background 0.3s, border-radius 0.3s, opacity 0.3s;
    background-attachment: fixed;
    inset: 0;
    position: absolute;
}
.page_brearcrumb.page-header {
    padding-top: 100px;
}
.page_brearcrumb h1 {
    text-transform: capitalize;
}
.parent_bg_div {
    /* background-color: #8A88884D; */
    background-color: #000;
}
.aboutus_section, .testimonial_section, .service_section
{
    padding: 6em 0 6em 0;
}
.parent_bg_div .background_overlay {
    background-position: center bottom !important;
}
.aboutus_section .danger_div {
    width: 326px;
    right: -42px;
    left: auto;
    margin: 0;
    bottom: -13%;
    /* background: #FF52529E; */
    background: #5db90b91;
    transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
    border-radius: 10px;
    padding: 2em 2em 2em 2em;
}
.aboutus_section .danger_div p {
    font-size: 1rem !important;
    line-height: 23px;
}
.aboutus_section h1 {
    font-size: 2.8rem;
}
.about_listing li {
    position: relative;
}
.about_listing li::before {
    content: "•";
    position: absolute;
    left: 0;
    /* color: #ff3c3c; */
    color: #5db90b;
    font-size: 18px;
    top: -2px;
    /* margin-right: 10px; */
}
.about_listing li span {
    display: inline-block;
    margin-left: 15px;
    color: #fff;
    font-weight: 600;
}
.why_choose_us_section {
    background-color: #FFFFFF12;
    padding: 6em 0 6em 0;
}
/* .why_choose_us_section > .container {
    max-width: 1000px;
} */
.why_choose_us_section p {
    font-size: 1.4rem;
    line-height: 1.3em;
    font-weight: 600;
}
.why_choose_us_section span {
    font-size: 1.2rem;
    line-height: 1.3em;
    font-weight: 500;
}
.why_icon {
	width: 48px;
	height: 48px;
	background: #93bb7f;
	color: #2f6f3e;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	flex-shrink: 0;
    margin-bottom: 10px;
}
.aboutus_grid .why_icon {
    width: 80px;
    height: 80px;
}
.aboutus_grid .why_icon i {
    font-size: 30px;
}
/*****Mission & Vision Section Start*******/
.mission_vision_section 
{
    background-color: #000;
    padding: 6em 0 6em 0;
}
.mission_vision_section .card {
    position: relative;
    background: none;
    border: 1px solid #fff;
    padding: 20px 20px;
    transition: 0.3s ease;
    min-height: 380px;
}
.mission_vision_section .card:hover {
    border-color: transparent;
}

/* Corner Borders */
.mission_vision_section .card::before,
.mission_vision_section .card::after {
    content: "";
    position: absolute;
    width: 50px;
    height: 50px;
    pointer-events: none;
    transition: 0.3s ease;
    opacity: 0;
}

/* Top Left */
.mission_vision_section .card::before {
    top: 0;
    left: 0;
    border-top: 2px solid #5db90b;
    border-left: 2px solid #5db90b;
}

/* Bottom Right */
.mission_vision_section .card::after {
    bottom: 0;
    right: 0;
    border-bottom: 2px solid #5db90b;
    border-right: 2px solid #5db90b;
}

/* Extra corners using span */
.mission_vision_section .card span {
    position: absolute;
    width: 50px;
    height: 50px;
    pointer-events: none;
    border-color: #5db90b;
    border-style: solid;
    opacity: 0;
    transition: 0.3s ease;
}

.mission_vision_section .card span.top-right {
    top: 0;
    right: 0;
    border-width: 2px 2px 0 0;
}

.mission_vision_section .card span.bottom-left {
    bottom: 0;
    left: 0;
    border-width: 0 0 2px 2px;
}

/* Show corners on hover */
.mission_vision_section .card:hover::before,
.mission_vision_section .card:hover::after,
.mission_vision_section .card:hover span {
    opacity: 1;
}
.mission_vision_icon.why_icon {
    width: 70px;
    height: 70px;
}
.mission_vision_icon.why_icon i {
    font-size: 30px;
}
/******Mission & Vision Section End*******/

/****Testimonial Section Start****/
 .testimonial_section {
    background: #000;
}

.testimonial_section .testimonial-section .testimonial-card {
    background: #2e2e2e;
    border-radius: 18px;
    padding: 40px 30px;
    color: #dcdcdc;
    height: 100%;
}

.testimonial_section .testimonial-section .testimonial-text {
    /* font-style: italic; */
    font-size: 20px;
    line-height: 1.9;
    margin-bottom: 35px;
}

.testimonial_section .testimonial-section .testimonial-user {
    display: flex;
    align-items: center;
    gap: 15px;
}

/* .testimonial_section .testimonial-section .testimonial-user img {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    object-fit: cover;
} */

.testimonial_section .testimonial-section .user-name {
    font-weight: 600;
    color: #fff;
}

.testimonial_section .testimonial-section .user-role {
    font-size: 14px;
    color: #aaa;
}

/* Arrow styling */
.testimonial_section .testimonial-section .swiper-button-next,
.testimonial_section .testimonial-section .swiper-button-prev {
    color: #999;
}

.testimonial_section .testimonial-section .swiper-button-next:hover,
.testimonial_section .testimonial-section .swiper-button-prev:hover {
    color: #000;
}

/* Pagination Dots */
.testimonial_section .testimonial-section .swiper-pagination {
    margin-top: 40px;
    position: relative;
}

.testimonial_section .testimonial-section .swiper-pagination-bullet {
    background: #777;
    opacity: 1;
    width: 10px;
    height: 10px;
    transition: all 0.3s ease;
}

.testimonial_section .testimonial-section .swiper-pagination-bullet-active {
    background: #fff;
    /* width: 25px; */
    border-radius: 10px;
}

/* Smooth card animation */
.testimonial_section .testimonial-section .swiper-slide {
    transition: transform 0.6s ease;
}
.testimonial_section .testimonial-carousel .owl-dots .owl-dot.active 
{
    background: #5db90b;
}
.testimonial_section .testimonial-carousel .owl-dots .owl-dot {
    background: #fff;
}
.testimonial_section .testimonial-carousel .owl-dots {
    /* margin: 0 !important; */
    height: auto;
}
.testimonial_section .testimonial-carousel .owl-dots .owl-dot, 
.testimonial_section .testimonial-carousel .owl-dots .owl-dot.active  
{
    width: 14px !important;
    height: 14px !important;
    margin: 0 5px;
    padding: 10px;
    border-radius: 100px;
    transition: .5s;
}
/****Testimonial Section End****/

/******Service Section******/
.service_section {
    /* background: #000; */
    position: relative;
    overflow: hidden;
}

.service_section h5 {
    font-size: 1.3rem !important;
    font-weight: 600;
    line-height: 1em;
}

.service_section h1 {
    font-size: 3rem;
    line-height: 1.2em;
    font-weight: 500;
}

.service_section .service_card {
    background: #8a88884d;
    border-radius: 15px 15px 15px 15px;

}

.service_section .service_card h4 {
    height: 57px;
}

.service_section .service_card ul {
    height: 235px;
    padding-left: 13px;
}

.service_section .service_card ul li {
    list-style: disc;
    text-align: left;
    font-size: 0.9rem;
    line-height: 1.4em;
    color: #fff;
    /* font-family: "Barlow", sans-serif; */
}
/******Service Section End*******/

/******Why Freed Section Starts*******/
.why_feed_section {
    background: #171717;
    /* transform: none !important; */
}
.why_feed_section .item-line {
    display: block;
    width: 30px;
    height: 3px;
    background: #9ccc8c;
    margin-bottom: 10px;
    border-radius: 10px;
}
.why_feed_section .title-line {
    display: inline-block;
    width: 40px;
    height: 4px;
    background: #9ccc8c;
    border-radius: 10px;
    margin-top: 6px;
}

.why_feed_section .why-item {
    gap: 15px;
}

.why_feed_section .why-icon {
    width: 48px;
    height: 48px;
    background: #93bb7f;
    color: #2f6f3e;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}

.why_feed_section .why-item h5 {
    font-weight: 600;
    margin-bottom: 6px;
    color: #000000;
}

.why_feed_section .why-item p {
    margin-bottom: 0;
    color: #555;
    font-size: 15px;
}

/******Why Freed Section End*******/

/*****FAQ Section starts******/
.faq_section p {
    color: #D3D3D3 !important;
}

.faq_section .accordion-item {
    background: transparent !important;
    /* border: none !important; */
    border-color: #393636 !important;
}

/* Custom + / - icons for accordion (red + when collapsed, black - when open) */
.faq_section .accordion-button::after,
.faq_section .accordion-button:not(.collapsed)::after {
    content: "" !important;
    background: none !important;
}

.faq_section .accordion-button::before {
    background-image: none !important;
    content: '+' !important;
    color: #4edc35;
    font-weight: bold;
    font-size: 2.5rem;
    width: auto;
    height: auto;
    margin: 0 10px;
}

.faq_section .accordion-button:not(.collapsed)::before {
    content: '-' !important;
    color: #ffffff;
}

.faq_section .accordion-button {
    background: transparent !important;
    padding-left: 0;
    padding-right: 0;
    border-bottom: 1px solid #393636 !important;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.3em;
    font-family: "Barlow", sans-serif !important;
}

.faq_section .accordion-button:focus {
    box-shadow: none;
}

.faq_section .accordion-body {
    font-family: "Barlow", sans-serif !important;
    padding: 1.5rem 35px;
    font-size: 1rem;
    line-height: 1.7em;
    color: #D3D3D3 !important;
}

.faq_section .right_faq .position_div {
    bottom: -60px;
    left: 25px;
}
/* <!-- faq section End --> */

/* <!-- Need_Some_Help --> */
.Need_Some_Help {
    background: linear-gradient(180deg, #1c1c1c 0%, #0f0f0f 100%);
    font-family: 'Poppins', sans-serif;
    color: #fff;
    padding: 90px 0;
}

.Need_Some_Help .section-title {
    font-size: 34px;
    font-weight: 600;
    margin-bottom: 60px;
}

.Need_Some_Help .help-card {
    background: #111;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 18px;
    padding: 45px 35px;
    text-align: center;
    height: 100%;
    transition: all 0.35s ease;
    position: relative;
}

.Need_Some_Help .help-card:hover {
    border-color: rgba(255,255,255,0.2);
    transform: translateY(-6px);
}

.Need_Some_Help .help-icon {
    width: 70px;
    height: 70px;
    margin: 0 auto 25px;
    background: rgba(255,255,255,0.05);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    transition: 0.3s ease;
}

.Need_Some_Help .help-card:hover .help-icon 
{
    background: #5db90b;
    color: #fff;
}

.Need_Some_Help .help-card h4 {
    font-weight: 600;
    margin-bottom: 15px;
    font-size: 20px;
}

.Need_Some_Help .help-card p {
    font-size: 14.5px;
    color: #bdbdbd;
    line-height: 1.7;
    margin-bottom: 20px;
}

.Need_Some_Help .help-link {
    color: #fff;
    text-decoration: none;
    font-weight: 500;
    font-size: 15px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: 0.3s ease;
}

.Need_Some_Help .help-link:hover,
.Need_Some_Help .help-link:hover .phone-icon i ,
.Need_Some_Help .help-link:hover .phone-icon h4 ,
.Need_Some_Help .help-card:hover h4
{
    color: #5db90b;
}

.Need_Some_Help .arrow {
    transition: transform 0.3s ease;
}

.Need_Some_Help .help-link:hover .arrow {
    transform: translateX(5px);
}

.Need_Some_Help .phone-number {
    font-size: 18px;
    font-weight: 600;
    margin-top: 10px;
    display: block;
    color: #fff;
}

.Need_Some_Help .phone-icon i {
    display: inline-block; 
    animation: rotatePhone 2s linear infinite;
}

@keyframes rotatePhone {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}
/* Need Some Help End */

/******Contact Us Section Start*******/
/* .contact_section{
    background:#0e0e0e;
    font-family: 'Segoe UI', sans-serif;
} */

/* Main Wrapper */
.contact_section .contact-wrapper{
    max-width: 1100px;
    margin: 80px auto;
    border-radius: 12px;
    overflow: hidden;
}

/* Left Side */
.contact_section .contact-left{
    background: linear-gradient(145deg,#2d2d2d,#3a3a3a);
    color: #fff;
    padding: 50px 40px;
}

.contact_section .contact-left h4{
    color:#5db90b;
    font-weight:600;
    margin-bottom:30px;
}

.contact_section .contact-info{
    margin-bottom:18px;
    display:flex;
    align-items:center;
    gap:15px;
    font-size:15px;
}

.contact_section .contact-info i{
    color:#5db90b;
    font-size:18px;
}

/* Map */
.contact_section .map-box{
    margin-top:30px;
    border-radius:10px;
    overflow:hidden;
}

/* Right Side */
.contact_section .contact-right{
    /* background:#a43737; */
    background: linear-gradient(145deg, #1e3c08, #2f5f0c);
    padding:50px 40px;
}

.contact_section .contact-right h4{
    color:#fff;
    font-weight:600;
    margin-bottom:25px;
}

.contact_section .form-control{
    background:#e5e5e5;
    border:none;
    padding:12px 15px;
    border-radius:6px;
}

.contact_section .form-control:focus{
    box-shadow:none;
    background:#f2f2f2;
}

.contact_section textarea.form-control{
    height:140px;
    resize:none;
}

/* Button */
.contact_section .send-btn{
    background:#fff;
    color:#5db90b;
    border:none;
    padding:14px;
    border-radius:8px;
    font-weight:500;
    width:100%;
    margin-top:15px;
    transition:0.3s;
}

.contact_section .send-btn:hover{
    background:#222;
}
.contact_section .form-control:focus:valid {
    border: 2px solid #5db90b;
}

.contact_section .form-control:focus:invalid {
    border: 2px solid #ff4d4d;
}
/* Responsive */
@media(max-width:991px){
    .contact_section .contact-left,
    .contact_section .contact-right{
        padding:40px 25px;
    }
}

@media(max-width:767px){
    .contact_section .contact-wrapper{
        margin:40px 15px;
    }
}
/*******Contact us End*******/
/******Consultant Modal Start*******/
/* Modal Background */
.consultationModal .consultation-modal{
    background: linear-gradient(135deg,#111111,#1a1a1a);
    border-radius: 12px;
    border: 1px solid rgba(255,193,7,0.2);
    font-family: "Barlow", sans-serif !important;
}

/* Title */
.consultationModal .consultation-title{
    color: #ffffff;
    font-weight: 700;
    font-size: 32px;
    font-family: "Barlow", sans-serif !important;
}

.consultationModal .consultation-subtitle{
    /* color: #f4c95d; */
    color: #5db90b;
    font-size: 15px;
    margin-top: 10px;
    font-family: "Barlow", sans-serif !important;
}

/* Labels */
.consultationModal .form-label{
    color:#ffffff;
    font-weight:500;
}

/* Inputs */
.consultationModal .consultation-input{
    background: #111;
    /* border: 1px solid #f4c95d; */
    border: 1px solid #5db90b;
    color: #fff;
    padding: 12px;
    border-radius: 6px;
}

.consultationModal .consultation-input:focus{
    background:#111;
    color:#fff;
    border-color:#5db90b;
    box-shadow:0 0 0 0.2rem rgba(93,185,11,0.2);
}

/* Button */
.consultationModal .consultation-btn{
    /* background:#c7b26b; */
    background: #5db90b;
    border:none;
    padding:14px;
    font-weight:600;
    border-radius:6px;
    transition:0.3s;
    color: #fff;
}

.consultationModal .consultation-btn:hover{
    /* background:#b49d4f; */
    background: #93bb7f;
}
.consultationModal select {
    appearance: auto;
    background-repeat: no-repeat !important;
}
.consultationModal .btn-close {
    position: absolute;
    right: 20px;
    top: 15px;
    z-index: 10;
    /* filter: invert(73%) sepia(50%) saturate(400%) hue-rotate(10deg);
    opacity: 1; */
}
/* .consultationModal .btn-close:hover {
    opacity: 0.7;
} */
/*******Consultant Modal End********/

/*****Blog Section Start******/
.our_blog {
    /* background: #8a88884d; */
    background: #0d0d0d;
}
/* Title */
.section-title {
    font-weight: 700;
    letter-spacing: 1px;
}

.our_blog .blog-card {
    background: #000;
    border-radius: 20px;
}

.our_blog .blog-card img {
    border-radius: 20px 20px 0 0;
}
/* Blog Card */
.our_blog .blog-card {
    background: #ffffff;
    border: 1px solid #e5e5e5;
    display: flex;
    flex-direction: column;
}

.our_blog .blog-card img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* Content */
.our_blog .blog-content {
    padding: 20px;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.our_blog .blog-content h5 {
    font-weight: 600;
    margin-bottom: 10px;
}

.our_blog .blog-content small {
    color: #777;
    margin-bottom: 10px;
}

.our_blog .blog-content p {
    font-size: 14px;
    color: #aaa7a7;
    flex-grow: 1;
}

/* Button */
.our_blog.btn-read {
    /* color: #fff; */
    color: #5db90b;
    padding: 8px 18px;
    border-radius: 4px;
    text-decoration: none;
    font-size: 14px;
    width: fit-content;
    font-weight: 600;
}

.our_blog .btn-read:hover {
    color: #fff;
}


.our_blog .blog-card {
    background: #000;
    border-radius: 20px;
}

.our_blog .blog-card img {
    border-radius: 20px 20px 0 0;
}
/*****Blog Section End******/

/*****Blogs Page Section Start******/
.blog_card{
    /* background:#000; */
    padding:30px;
    border-radius:6px;
    border: 1px solid #fff;
}

/* Title */
.blog_card .blog-title{
    font-size:22px;
    font-weight:700;
    color:#fff;
    line-height:1.4;
    font-family: Bowler, sans-serif !important;
}

/* Green underline */
.blog_card .title-underline, .blog_section .card.tag-sidebar .title-underline
{
    width:50px;
    height:4px;
    background:#5db90b;
    margin:15px 0 20px;
}

/* Meta Info */
.blog_card .blog-meta{
    font-size:14px;
    /* color:#6c757d; */
    color: #ccc;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:20px;
}

.blog_card .blog-meta i{
    color:#5db90b;
    margin-right:6px;
}

/* Categories */
.blog_card .blog-category{
    font-size:14px;
    margin-top:8px;
    color:#ccc;
}

/* Image Section */
.blog_card .blog-image{
    position:relative;
    margin-top:25px;
}

.blog_card .blog-image img{
    width:100%;
    border-radius:4px;
}

/* Black overlay strip */
.blog_card .image-overlay{
    position:absolute;
    bottom:0;
    width:100%;
    background:rgba(0,0,0,0.85);
    color:#fff;
    padding:15px 20px;
    text-align:center;
}

.blog_card .image-overlay h5{
    margin:0;
    font-style:italic;
    font-weight:500;
}

/* Read More Button */
.blog_card .read-btn{
    margin-top:25px;
}

.blog_card .read-btn a{
    /* background:#000; */
    color:#fff;
    padding:12px 25px;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-weight:500;
    border-radius:4px;
    transition:0.3s;
    border: 1px solid #5db90b;
}

.blog_card .read-btn a:hover{
    background:#5db90b;
    color:#fff;
}
/* Pagination Styling */
.custom-pagination {
    row-gap: 8px; /* breathing room when page numbers wrap to a new line */
}
.custom-pagination .page-link {
    border: none;
    color: #000;
    margin: 0 4px;
    border-radius: 4px;
    padding: 8px 14px;
    background: #f8f9fa;
    transition: 0.3s;
}

.custom-pagination .page-item.active .page-link {
    background: #5db90b;
    color: #fff;
}

.custom-pagination .page-link:hover {
    background: #5db90b;
    color: #fff;
}

.custom-pagination .page-item.disabled .page-link {
    background: #e9ecef;
    color: #adb5bd;
    pointer-events: none;
}

@media (max-width:768px){
    .blog_card .blog-title{
        font-size:22px;
    }
    .blog_card .image-overlay h5{
        font-size:14px;
    }
}
.blog_section  .tag-sidebar h4 {
    font-weight: 600;
}

.blog_section .tag-sidebar .badge {
    padding: 8px 12px;
    border-radius: 20px;
    cursor: pointer;
    transition: 0.3s;
    font-size: 13px;
    background: #5db90b;
}

.blog_section .tag-sidebar .badge:hover {
    background: #000 !important;
    color: #fff !important;
}
.blog_section .card.tag-sidebar {
    border: 1px solid #fff;
}
.blog_card hr {
    border-color: #fff;
    opacity: 1;
}
/*****Blogs Page Section End******/

/*********Calculator section Starts**********/
/* * {
    margin: 0%;
    padding: 0%;
    box-sizing: border-box;
} */
.calculator_section {
    padding: 90px 0;
}
.calculator_section .mortgage-cal {
    border-radius: 10px;
    color: #fff;
    border: 1px solid #fff;
    padding: 40px 20px;
}
.calculator_section .mortgage-cal .cal-box {
    /* background: #fff; */
    /* border: 1px solid #e5e5e5; */
    padding: 30px;
}

/* .calculator_section .mortgage-cal .form-range::-webkit-slider-thumb {
    background: linear-gradient(to right, #0f9b0f, #000000);
}

.calculator_section .mortgage-cal .form-range::-moz-range-thumb {
    background: linear-gradient(to right, #0f9b0f, #000000);
}


.calculator_section .mortgage-cal .apply-btn {
    background: linear-gradient(to right, #0f9b0f, #000000);
    color: #fff;
    padding: 12px 35px;
    border: none;
} */

.calculator_section .mortgage-cal .form-range::-webkit-slider-thumb {
    background: #5db90b !important; /* lighter green solid */
}

.calculator_section .mortgage-cal .form-range::-moz-range-thumb {
    background: #5db90b !important; /* lighter green solid */
}

.calculator_section .mortgage-cal .apply-btn {
    background: #5db90b !important; /* lighter green solid */
    color: #fff;
    padding: 12px 35px;
    border: none;
}


.calculator_section .mortgage-cal .apply-btn:hover {
    opacity: 0.9;
}

.calculator_section .mortgage-cal .amount {
    font-size: 64px;
    font-weight: 700;
}

.calculator_section .mortgage-cal .legend span {
    width: 12px;
    height: 12px;
    display: inline-block;
    border-radius: 50%;
}
/********Calculator Section End********/

/****Footer Section****/
.footer-section {
        background: #000;
        font-size: 14px;
        color: #333;
    }

    .footer-logo {
        max-width: 140px;
    }

    .footer-text {
        color: #020203;
        line-height: 1.7;
    }

    .footer-title {
        color: #5db90b;
        font-weight: 600;
        margin-bottom: 15px;
    }

    .footer-list,
    .footer-links {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .footer-list li {
        margin-bottom: 8px;
        color: #444;
    }

    .footer-links li {
        margin-bottom: 8px;
    }

    .footer-links a {
        text-decoration: none;
        color: #fff;
    }

    .footer-links a:hover {
        color: #5db90b;
    }

    .footer-social a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        margin-right: 8px;
        border-radius: 50%;
        background: #5db90b;
        color: #fff;
        font-size: 14px;
    }

    .footer-social a:hover {
        background: #fff;
        color: #5db90b;
    }

    .footer-bottom {
        border-top: 1px solid #242222;
        font-size: 13px;
        color: #fff;
    }

    .footer-list-Blogs li {
        cursor: pointer;
        transition: color 0.3s ease;
    }

    .footer-list-Blogs li:hover {
        color: #0f9b0f;
    }
/*******Footer Section End********/

.consultationModal #interestedServicesDropdown {
    background-color: #111 !important;
    color: #fff !important;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.consultationModal #interestedServicesDropdown::after {
    content: "\F282";
    font-family: "bootstrap-icons";
    font-size: 14px;
    color: #e8ece6;
    border: none;
    margin-left: auto;
    flex-shrink: 0;
}
/* Dropdown Menu */
.consultationModal .dropdown-menu {
    background: #111;
border:1px  solid #dee2e6 ;
border-radius: 0px !important;
}

.consultationModal .dropdown-menu .form-check-label {
    color: #fff;
}

.consultationModal .dropdown-menu .form-check-input:checked {
    background-color: #5db90b;
    border-color: #5db90b;
}

/* .consultationModal .dropdown-menu li:hover {
    background: #6e6e6e;

} */


#achievementContainer .blog-card img {
  width: 100%;
  height: 300px;        /* pick a consistent height */
}
.our_blog .our-blogs a.btn:hover {
    background-color: #5db90b;
    border-color: #5db90b;
}

/* .testimonial_section .testimonial-carousel .owl-dots .owl-dot {
    border: 0 !important;
} */
/*******Blog Loader*********/
#blogLoader{
    display:none;
}
#blogDetailLoader{
    display:none;
    text-align:center;
    padding:40px 0;
}

.why-icon.handhold_ruppees .fa-stack {
  font-size: 20px;
}

.why-icon.handhold_ruppees .fa-stack .fa-indian-rupee-sign {
  font-size: 12px;
  margin-top: -4px;
}

/********Services page Section**********/
.common_service_section {
    padding: 3rem 0 3rem 0;
}
.common_readmore_btn {
    background-color: #5db90b;
    border-color: #5db90b;
    color: #fff;
    border-radius: 5px;
    padding: 10px 25px;
}
.common_readmore_btn:hover {
    background-color: #171717;
    color: #fff;
}
.common_readmore_btn:focus {
    box-shadow: none;
}

/* Achievement Carousel - Owl Carousel for Index Page */
.achievement-carousel {
    position: relative;
    padding-bottom: 50px;
}
.achievement-carousel .blog-content p {
    /* Fixed text height for every card. Captions vary a lot (some Debt Panel
       entries run long), so clamp to 6 lines with an ellipsis — combined with
       the flex equal-height below this keeps ALL cards identical, so the slider
       animates to one steady height with no jump. */
    min-height: 150px;
    max-height: 150px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    margin-bottom: 0;
}

/* Equal-height achievement cards across the slider, so sliding stays smooth
   with no vertical jump. Owl lays slides out as independent floats sized by an
   inline width, so we make the stage a flex row (cards stretch to the tallest
   visible one) but pin each item with `flex: 0 0 auto` — it keeps the exact
   width Owl assigned (so "3 per view" is preserved) while still stretching to
   equal height. A fixed image height keeps the top edges aligned too. */
.achievement-carousel .owl-stage {
    display: flex;
}
.achievement-carousel .owl-item {
    display: flex;
    flex: 0 0 auto;      /* keep Owl's assigned width; don't grow/shrink */
    height: auto;
}
.achievement-carousel .owl-item .item,
.achievement-carousel .owl-item .blog-card {
    width: 100%;
    height: 100%;
}
.achievement-carousel .blog-card,
.achievement-carousel .blog-card > a {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.achievement-carousel .blog-card .blog-content {
    flex: 1 1 auto;      /* text block fills the leftover space, bottoms align */
}
.achievement-carousel .blog-card img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    flex: 0 0 auto;      /* image never squashes when a card is stretched */
}

.achievement-carousel .owl-nav {
    position: absolute;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    display: flex !important;
    justify-content: space-between;
    z-index: 10;
}

.achievement-carousel .owl-nav button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    background-color: #5db90b !important;
    color: white !important;
    border-radius: 50%;
    border: none !important;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0 !important;
    font-size: 18px !important;
}

.achievement-carousel .owl-nav button:hover {
    background-color: #4a9a0a !important;
    transform: scale(1.1);
}

.achievement-carousel .owl-nav button.owl-next {
    position: absolute;
    right: 10px;
}

.achievement-carousel .owl-nav button.owl-prev {
    position: absolute;
    left: 10px;
}

.achievement-carousel .owl-nav button span {
    font-size: 24px;
    font-weight: bold;
}

.achievement-carousel .owl-dots {
    text-align: center;
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    display: flex !important;
    justify-content: center;
    gap: 10px;
    padding: 0;
    margin: 0;
}

.achievement-carousel .owl-dot {
    width: 10px;
    height: 10px;
    background-color: rgba(93, 185, 11, 0.4) !important;
    border-radius: 50%;
    border: none !important;
    cursor: pointer;
    transition: all 0.3s ease;
    outline: none;
}

.achievement-carousel .owl-dot:focus {
    background-color: #5db90b !important;
    width: 12px;
    height: 12px;
    box-shadow: 0 0 0 3px rgba(93, 185, 11, 0.3);
}

.achievement-carousel .owl-dot:hover {
    background-color: #5db90b !important;
    transform: scale(1.2);
}

.achievement-carousel .owl-dot.active {
    background-color: #5db90b !important;
    width: 12px;
    height: 12px;
    box-shadow: 0 0 0 2px rgba(93, 185, 11, 0.5);
}

/*********************/
.custom_heading_font{
    font-size: 1.3rem !important;
}
.our_blog.bg-black {
    background-color: #000;
}
.aboutus_section #moreContent {
    overflow: hidden;
}

.aboutus_section .collapsing {
    transition: height 0.5s ease-in-out;
}
.aboutus_section .collapse {
    transition: all 0.5s ease-in-out !important;
}
#readMoreBtn {
    padding: 0 15px;
}
#readMoreBtn:hover, #readMoreBtn:focus {
    color: #5db90b;
    border: 1px solid #5db90b;
    background: transparent;
    box-shadow: none;
}
/*******Mobile Navigation*******/
/* The navbar is position:absolute and transparent, so on phones the expanded
   menu used to render straight over the hero image with no backdrop. Give the
   open menu a solid panel, keep it above the page, and size the tap targets. */
@media (max-width: 991.98px) {
    .navbar {
        z-index: 1030; /* above hero carousel / AOS-animated sections */
        max-height: none; /* .customheight caps the bar at 93px; the open menu must grow past it */
    }

    .navbar .navbar-collapse {
        background-color: #000;
        margin: 0 -0.75rem;          /* bleed to the container edges */
        padding: 0 1.25rem 1rem;
        border-radius: 0 0 10px 10px;
        box-shadow: 0 12px 25px rgba(0, 0, 0, 0.55);
        max-height: calc(100vh - 93px); /* never taller than the viewport */
        overflow-y: auto;
    }

    /* Toggler stays visible on light and dark banners alike */
    .navbar .navbar-toggler {
        background-color: rgba(0, 0, 0, 0.45);
        border: 1px solid rgba(255, 255, 255, 0.35);
        padding: 6px 10px;
    }

    .navbar .navbar-toggler:focus {
        box-shadow: 0 0 0 0.15rem rgba(93, 185, 11, 0.5);
    }

    /* Comfortable touch targets */
    .navbar .navbar-nav .nav-link {
        margin-right: 0;
        padding: 12px 0;
        color: #fff;
    }

    .navbar .navbar-nav .dropdown-menu {
        background-color: #111;
        border: 1px solid rgba(255, 255, 255, 0.1);
    }

    .navbar .navbar-nav .dropdown-item {
        padding: 10px 16px;
    }
}

/*******About Us — mobile layout fixes*******/
/* Below the lg breakpoint the two-column About layout stacks, which exposed two
   issues on phones/tablets:
     1. The quote box (.danger_div) is position:absolute with bottom:-13% and a
        fixed 326px width pushed off the right edge — once stacked it overlapped
        the text underneath at the top of the section.
     2. The 6em section padding and g-5 row gutters left huge vertical gaps
        between stacked rows.
   Fixes are scoped to <=991.98px so the desktop layout is untouched. */
@media (max-width: 991.98px) {
    /* 1 — let the quote box flow normally under the image instead of overlapping.
       !important is required because Bootstrap's .position-absolute / .ms-5
       utility classes on the element set position/margin with !important. */
    .aboutus_section .danger_div {
        position: static !important;
        width: auto !important;
        right: auto !important;
        left: auto !important;
        bottom: auto !important;
        margin: 1rem 0 0 !important;
        padding: 1.5em;
    }
    /* trim the inner spacing of the quote so it reads compact on mobile */
    .aboutus_section .danger_div p.mb-4 {
        margin-bottom: .5rem !important;
    }
    /* the image column no longer needs right padding for the overlay */
    .aboutus_section .col-lg-6.pe-5,
    .mission_vision_section .col-lg-6.pe-5 {
        padding-right: var(--bs-gutter-x, .75rem) !important;
    }

    /* 2 — tighten the oversized vertical rhythm on mobile */
    .aboutus_section,
    .testimonial_section,
    .service_section,
    .why_choose_us_section,
    .mission_vision_section {
        padding: 2.5em 0;
    }
    /* smaller gutters between stacked columns */
    .aboutus_section .row.g-5,
    .mission_vision_section .row.g-5 {
        --bs-gutter-y: 1.5rem;
    }
    /* the long bio paragraph had a big mt-5 that doubled the gap once stacked */
    .aboutus_section .col-lg-12 .mt-5 {
        margin-top: 1rem !important;
    }
    /* tighten the gap between the bio paragraphs on mobile */
    .aboutus_section p {
        margin-bottom: .75rem;
    }
    .aboutus_section .col-lg-12 p.mb-4 {
        margin-bottom: .75rem !important;
    }
    .aboutus_section h1 {
        font-size: 2rem;
    }
}

/* Real mobile browsers (iOS Safari, most Android) don't support
   `background-attachment: fixed` properly — they blow the layer up to the full
   document height, which makes the overlay mis-paint over the content. It looks
   fine in desktop devtools "responsive mode" because that still uses the desktop
   engine, which is why this only shows up on an actual phone. Fall back to
   scroll attachment on touch-sized screens. */
@media (max-width: 991.98px) {
    .background_overlay {
        background-attachment: scroll;
    }
}

/* Extra-small phones (Android/iPhone ~≤430px): trim the hero so the breadcrumb
   heading clears the fixed logo/navbar and doesn't crowd the content below. */
@media (max-width: 575.98px) {
    .page_brearcrumb.page-header {
        padding-top: 90px;
    }
    .page_brearcrumb .container.py-5 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
    }
    .page_brearcrumb h1.display-4 {
        font-size: 2rem;
    }
}
