﻿:root {
    --primary: #8B1E1E; /* Varaha Red */
    --dark: #2C2C2C; /* Infra Black */
    --accent: #D9A441; /* Gold */
    --light: #F5F5F5;
    --text: #333;
}

/* ================= BASE ================= */
body {
    margin: 0;
    font-family: 'Segoe UI', sans-serif;
    color: var(--text);
    padding-top: 120px; /* fixed navbar space */
    overflow-x:hidden;
}

/* ================= NAVBAR ================= */
.navbar {
background:rgba(255,255,255,1);
    border-bottom: solid 1px #ccc;
}

.navbar-brand {
    font-weight: 700;
}

.logo-img {
    max-height: 55px;
    width: auto;
    display: block;
}

/* ================= HERO SLIDER ================= */
.carousel-item {
    height: 100vh;
    background-size: cover;
    background-position: center;
    position: relative;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.6);
}

/* DEFAULT (DESKTOP) */
.hero-text {
    position: absolute;
    top: 50%;
    left: 25%;
    transform: translateY(-50%);
    color: #fff;
    max-width: 600px;
    text-align: left;
}

    .hero-text h1 {
        font-size: 3.2rem;
        font-weight: 700;
    }

    .hero-text h2 {
        font-size: 2.5rem;
        font-weight: 600;
    }

/* ================= MOBILE FIX ================= */
/* ===== HERO TEXT CENTER ONLY FOR MOBILE ===== */
@media (max-width: 768px) {

    .hero-text {
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        text-align: center !important;
        max-width: 90%;
        padding: 0 15px;
    }

        .hero-text h1 {
            font-size: 2rem;
            line-height: 1.3;
        }

        .hero-text h2 {
            font-size: 1.4rem;
        }
}


/* ================= SECTIONS ================= */
.section {
    padding: 90px 0;
}

.bg-light {
    background: var(--light) !important;
}

/* ================= SERVICES ================= */

.service-card {
    background: #fff;
    padding: 40px 35px;
    border-radius: 12px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
    transition: 0.3s;
    transition: transform .3s ease;
    height: 100%;
}

    .service-card i {
        font-size: 42px;
        color: var(--primary);
        margin-bottom: 15px;
    }

    .service-card:hover {
        transform: translateY(-10px);
    }

/* ================= STATS ================= */
.stats {
    background: var(--primary);
    color: #fff;
}

.stat-box {
    padding: 20px 10px;
}

    .stat-box i {
        font-size: 40px;
        color: var(--accent);
        margin-bottom: 10px;
    }

/* ================= PROJECTS ================= */
.project-card {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
}

    .project-card img {
        width: 100%;
        transition: transform .4s ease;
    }

    .project-card:hover img {
        transform: scale(1.1);
    }

.project-info {
    position: absolute;
    bottom: 0;
    width: 100%;
    background: rgba(139,30,30,0.85);
    color: #fff;
    padding: 15px;
}

/* ================= WHY CHOOSE ================= */
.section i.fa {
    margin-bottom: 10px;
}

/* ================= CTA ================= */
.cta {
    background: linear-gradient(90deg, var(--primary), var(--dark));
    color: #fff;
}

/* ================= CONTACT ================= */
#contact {
    background: var(--dark);
    color: #fff;
}

/* ================= FOOTER ================= */
footer {
    background: var(--dark);
    color: #aaa;
    text-align: center;
    padding-bottom: 8px;
}
.ftop{
    margin-bottom:8px;
}
/* ================= RESPONSIVE ================= */
@media (max-width: 768px) {
    body {
        padding-top: 70px;
    }

    .hero-text h1 {
        font-size: 2.1rem;
    }

    .hero-text h2 {
        font-size: 1.7rem;
    }

    .section {
        padding: 60px 0;
    }
}
/* ICON ABOVE TEXT - SEO SAFE */
.nav-icon-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    font-size: 1.2rem;
}
    .nav-icon-link span{
        padding:0px 15px;
        font-weight:bold;

    }
    .nav-icon-link:hover {
        color: #fb0005;
    }
    .nav-icon-link i {
        font-size: 1.3rem;
        line-height: 1;
        color: var(--accent);
    }

/* mobile spacing fix */
@media (max-width: 991px) {
    .nav-icon-link {
        padding: 10px 0;
    }
}
.hero-overlay {
    background: linear-gradient( rgba(0,0,0,0.55), rgba(0,0,0,0.55) );
}

section {
    padding: 60px 0;
}

.why-varaha {
    background: #f7f7f7;
    padding: 70px 0;
}

.section-title {
    font-size: 32px;
    font-weight: 700;
    color: #2b2b2b;
}

    .section-title span {
        color: #b8860b; /* Varaha accent */
    }

.why-card {
    background: #fff;
    padding: 40px 25px;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    transition: 0.3s ease;
    height: 100%;
}

    .why-card:hover {
        transform: translateY(-8px);
    }

.icon-box {
    width: 70px;
    height: 70px;
    background: #1f7a3f; /* green accent */
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    font-size: 28px;
}

.why-card h5 {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 10px;
}

.why-card p {
    font-size: 14.5px;
    color: #555;
    line-height: 1.6;
}
.ftop a{
    display:block;
    clear:both;
    margin-bottom:8px;
    color:#fff;
    text-decoration:none;
}
.ftop a:before
{
    content: '>>';
   padding:0px 5px;
}


.breadcrumbse {
    
    background: url('../images/hero.jpg');
    color:#fff;
    padding:0px;
   
}
.overLay {
    padding: 50px 0px;
    background:rgba(255,255,255,0.8);
    color:#000;
    text-align:center;
}
.text-just{
    text-align:justify;
}
.ptitle
{
    margin:5px;
    display:block;
    clear:both;
    box-shadow:3px 3px 3px #000;
    text-align:center;
    padding:5px;
    text-align:center;
    border:solid 1px #ccc;
    font-weight:bold;
    line-height:40px;
    margin-bottom:10px;}
.projectImgDiv, .director-img-box {
    width: 81%;
    height: 80%;
    border: 1px solid #ddd;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 7% auto;
    background: #f8f9fa;
}
    .director-img-box
    {
        flex-direction:column;
    }

    .director-img-box img {
        display: block;
    }
    .project-tabs .nav-link {
        font-weight: 600;
        color: #333;
    }
/* Card Hover */
.director-card {
    border-radius: 14px;
    transition: .3s;
}

    .director-card:hover {
        transform: translateY(-6px);
    }




/* Label Overlay */


    .project-tabs .nav-link.active {
        background: var(--accent);
        color: #000;
        border: none;
    }
/* Section Title */
.section-title {
    letter-spacing: .5px;
}

.title-line {
    width: 80px;
    height: 4px;
    background: #f5c000;
    margin: 10px auto 0;
    border-radius: 10px;
}



/* Summary Card */
.project-summary {
    border-radius: 14px;
    padding: 10px;
}

    .project-summary th {
        color: #555;
        font-weight: 600;
    }



/* Image Box */
.project-img-box {
    padding: 10px;
    text-align: center;
}



/* Content */
.project-content {
    background: #f9f9f9;
    padding: 20px;
    border-radius: 12px;
    line-height: 1.7;
}



/* Strategic Highlight */
.strategic-box {
    background: linear-gradient(135deg,#000,#2b2b2b);
    color: #fff;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 6px 16px rgba(0,0,0,.25);
}
/* ===== CATEGORY BUTTONS ===== */

.project-categories img {
    border-radius: 12px;
    transition: 0.3s;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

    .project-categories img:hover {
        transform: scale(1.05);
    }


/* ===== LOGO STRIP ===== */

.logo-strip img {
    height: 70px;
    margin: 10px 18px;
    filter: grayscale(100%);
    transition: 0.3s;
}

    .logo-strip img:hover {
        filter: grayscale(0%);
        transform: scale(1.1);
    }


/* ===== SECTION TITLE ===== */

.section-title {
    font-size: 2rem;
    font-weight: 700;
    margin: 50px 0 25px;
    text-align: center;
    color: var(--accent);
    text-transform: uppercase;
}


/* ===== PROJECT CARD ===== */

.project-card {
    background: #ffffff;
    border-radius: 14px;
    padding: 20px 22px;
    margin-bottom: 25px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.08);
    transition: 0.3s;
    border-left: 6px solid var(--accent);
}

    .project-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 10px 24px rgba(0,0,0,0.18);
    }


/* ===== TITLE ===== */

.project-title {
    font-size: 1.3rem;
    font-weight: 700;
    color: #222;
    margin-bottom: 12px;
}


/* ===== ROWS ===== */

.project-row {
    font-size: 1rem;
    margin-bottom: 6px;
    color: #444;
}

    .project-row span {
        font-weight: 600;
        color: var(--accent);
    }


/* ===== DESCRIPTION ===== */

.project-desc {
    margin-top: 12px;
    font-size: 1rem;
    color: #555;
    line-height: 1.7;
}


/* ===== MOBILE ===== */

@media (max-width:768px) {

    .logo-strip img {
        height: 50px;
        margin: 8px;
    }

    .section-title {
        font-size: 20px;
    }
}
.logo-strip img {
    height: 70px;
    margin: 10px 18px;
    filter: grayscale(100%);
    transition: transform 0.3s;
    /* Continuous animation */
    animation: logoColorChange 4s ease-in-out infinite;
}

    /* Hover zoom optional */
    .logo-strip img:hover {
        transform: scale(1.1);
    }

@keyframes logoColorChange {

    0% {
        filter: grayscale(100%);
    }

    50% {
        filter: grayscale(0%);
    }

    100% {
        filter: grayscale(100%);
    }
}



/* ===== Section BG ===== */

.head-office {
    background: #f9fafc;
}


/* ===== Title Line ===== */

.title-line {
    width: 80px;
    height: 4px;
    background: #ffc107;
    margin: 10px auto 0;
    border-radius: 10px;
}


/* ===== Left Icon Circle ===== */

.office-icon {
    width: 130px;
    height: 130px;
    background: linear-gradient(135deg, #0d6efd, #0dcaf0);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto;
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}

    .office-icon i {
        font-size: 50px;
        color: #fff;
    }


/* ===== Card ===== */

.office-card {
    background: #fff;
    padding: 30px;
    border-radius: 15px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
    line-height: 1.8;
}


/* ===== Note Box ===== */

.office-note {
    background: #fff3f3;
    border-left: 4px solid red;
    padding: 12px 15px;
    color: #b30000;
    border-radius: 8px;
    font-size: 14px;
}


/* ===== Timing ===== */

.office-timing {
    background: #f1f5ff;
    padding: 12px 15px;
    border-radius: 8px;
    border-left: 4px solid #0d6efd;
}
/* ===== Title Line ===== */

.title-line {
    width: 80px;
    height: 4px;
    background: #ffc107;
    margin: 10px auto 0;
    border-radius: 10px;
}


/* ===== Map Card ===== */

.map-card {
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}


/* ===== Branch Section BG ===== */

.branch-office {
    background: #f8f9fa;
}


/* ===== Branch Cards ===== */

.branch-card {
    background: #fff;
    padding: 25px;
    border-radius: 15px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
    transition: 0.3s;
    height: 100%;
}

    .branch-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 15px 35px rgba(0,0,0,0.15);
    }

    .branch-card h5 {
        font-weight: 600;
        margin-bottom: 12px;
    }

    .branch-card p {
        margin-bottom: 8px;
        color: #555;
    }


/* ===== Gallery Card ===== */

.gallery-card {
    background: #fff;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
    transition: 0.3s;
    text-align: center;
}

    .gallery-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 15px 35px rgba(0,0,0,0.15);
    }

/* ===== Image ===== */

.gallery-img {
    overflow: hidden;
}

    .gallery-img img {
        width: 100%;
        height: 250px;
        object-fit: cover;
        transition: 0.4s;
    }

.gallery-card:hover img {
    transform: scale(1.1);
}

/* ===== Title ===== */

.gallery-title {
    padding: 15px;
    font-weight: 600;
    font-size: 16px;
    color: #333;
}


/* ===== Main Title ===== */

.gallery-title-main {
    font-weight: 700;
    font-size: 28px;
}

.title-line {
    width: 80px;
    height: 4px;
    background: #ffc107;
    margin: 10px auto 0;
    border-radius: 10px;
}

/* ===== Gallery Card ===== */

.gallery-card {
    background: #fff;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
    transition: 0.3s;
    text-align: center;
}

    .gallery-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 15px 35px rgba(0,0,0,0.15);
    }

/* ===== Image ===== */

.gallery-img {
    overflow: hidden;
}

    .gallery-img img {
        width: 100%;
        height: 260px;
        object-fit: cover;
        transition: 0.4s;
    }

.gallery-card:hover img {
    transform: scale(1.1);
}

/* ===== Caption ===== */

.gallery-caption {
    padding: 12px;
    font-size: 14px;
    color: #555;
}

/* ===== Title ===== */

.infra-title {
    font-weight: 700;
    font-size: 28px;
}

.title-line {
    width: 80px;
    height: 4px;
    background: #ffc107;
    margin: 10px auto 0;
    border-radius: 10px;
}

/* ===== Description ===== */

.infra-desc {
    font-size: 15px;
    color: #555;
    line-height: 1.7;
}

/* ===== Card ===== */

.infra-card {
    background: #ffffff;
    border-radius: 15px;
    padding: 25px 20px;
    text-align: center;
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
    transition: 0.3s ease;
    height: 100%;
}

    .infra-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 15px 35px rgba(0,0,0,0.15);
    }

/* ===== Icon ===== */

.infra-icon {
    font-size: 32px;
    color: #ffc107;
    margin-bottom: 12px;
}

/* ===== Name ===== */

.infra-name {
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 10px;
}

/* ===== Units Badge ===== */

.infra-units {
    display: inline-block;
    padding: 6px 12px;
    background: #f8f9fa;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 500;
}

/* ===== Highlight Box ===== */

.infra-highlight {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 10px;
    font-size: 15px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

.contact-card {
    background: #fff;
    padding: 35px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}
.getTouch
{
    background:url('../images/bg.png');
    background-size:cover;
    background-attachment:fixed;
    padding:0px;
    position:relative;
}
.overLaying{
    background:rgba(255,255,255,0.9);
    padding:60px;
}
.vans
{
    position:absolute;
    right:0;
    bottom:0;

}
    .vans img {
        animation: test 10s ease-in-out infinite alternate;
    }
@keyframes test
{
    from {
        transform: translateX(-40px);
    }

    to {
        transform: translateX(80px);
    }
}