﻿/*========================CUSTOME CSS===========================*/
html, body {
    overflow-x: clip;
}

* {
    font-family: 'SegoeUIWeb';
}
/* ===== Custom Scrollbar Style ===== */
::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background-color: transparent;
}

/* Scrollbar thumb (the circular knob) */
::-webkit-scrollbar-thumb {
    background-color: #ffffff; /* grey knob */
    border-radius: 50%;
    height: 10px; /* gives circular look when scrolling */
    /* red border that appears as the track */
}

    /* Hover effect for the knob */
    ::-webkit-scrollbar-thumb:hover {
        background-color: #ffffff !important; /* darker grey when hovered */
    }


/* Optional – make red line visible even without thumb */
body::-webkit-scrollbar-track {
    background-color: #fcfcfc; /* full red track line */
}

/* Firefox */
* {
    scrollbar-width: thin;
    scrollbar-color: #FF242B #fcfcfc;
}

/* ==================BASE FONT UTILITIES======================== */
.font-xs {
    font-size: 0.75rem;
}
/* 12px */
.font-sm {
    font-size: 0.875rem;
}
/* 14px */
.font-md {
    font-size: 1rem;
}
/* 16px */
.font-lg {
    font-size: 1.125rem;
}

.font-1-lg {
    font-size: 1.175rem;
}
/* 15px */
.font-xl {
    font-size: 1.25rem;
}
/*18px*/
.font-xxl {
    font-size: 1.75rem;
}
/* 20px */
.font-2xl {
    font-size: 1.5rem;
}
/*22.67px*/
.font-3-1xl {
    font-size: 1.417rem;
}
/* 24px */
.font-3xl {
    font-size: 1.875rem;
}

/* 30px */
.font-4xl {
    font-size: 2.25rem;
}
/* 36px */
.font-4-1xl {
    font-size: 2.75rem;
}
/* 44px */
.font-5xl {
    font-size: 3rem;
}
/* 48px */
.font-6xl {
    font-size: 4rem;
}
/* 64px */
.font-xl-larger {
    font-size: 4.5rem;
}

.font-xxl-larger {
    font-size: 7rem;
}
/* 72px */

.line-hgt-2xl {
    line-height: 1.8rem;
}

.line-hgt-4xl {
    line-height: 3rem;
}
.MM-display-3 {
    font-size: clamp(36px, 10vw, 83px);
    line-height:1.2;
}
.MM-display-4 {
    font-size: clamp(32px, 10vw, 72px);
    line-height: 1.2;
}
.MM-display-5 {
    font-size: clamp(28px, 10vw, 62px);
    line-height: 1.2;
}
/*=================FONT STYLES======================*/
/* Light - SegoeUI */
@font-face {
    font-family: 'SegoeUIWeb'; /* unique web name */
    src: url('/fonts/SegoeUI-Light.woff2') format('woff2'), url('/fonts/SegoeUI-Light.woff') format('woff'), url('/fonts/SegoeUI-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

.segoe-light {
    font-family: 'SegoeUIWeb', 'Segoe UI', sans-serif;
    font-weight: 300 !important;
    font-synthesis: none;
}

/* Regular - SegoeUI */
@font-face {
    font-family: 'SegoeUIWeb'; /* unique web name */
    src: url('../fonts/SegoeUI.woff2') format('woff2'), url('../fonts/SegoeUI.woff') format('woff'), url('/fonts/SegoeUI.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

.segoe-regular {
    font-family: 'SegoeUIWeb', 'Segoe UI', sans-serif;
    font-weight: 400 !important;
    font-style: normal;
}

/* SemiBold - SegoeUI */
@font-face {
    font-family: 'SegoeUIWeb'; /* unique web name */
    src: url('/fonts/SegoeUI-Semibold.woff2') format('woff2'), url('/fonts/SegoeUI-Semibold.woff') format('woff'), url('/fonts/SegoeUI-Semibold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

.segoe-semibold {
    font-family: 'SegoeUIWeb', 'Segoe UI', sans-serif;
    font-weight: 600 !important;
}

/* Bold - SegoeUI */
@font-face {
    font-family: 'SegoeUIWeb'; /* unique web name */
    src: url('../fonts/SegoeUI-Bold.woff2') format('woff2'), url('../fonts/SegoeUI-Bold.woff') format('woff'), url('../fonts/SegoeUI-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

.segoe-bold {
    font-family: 'SegoeUIWeb', 'Segoe UI', sans-serif;
    font-weight: 700 !important;
    font-style: normal;
}



@font-face {
    font-family: 'Segoe UI Bold Italic';
    src: url('../fonts/Segoe UI Bold Italic.woff2') format('woff2'), url('../fonts/Segoe UI Bold Italic.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

.segoe-italic {
    font-family: 'Segoe UI Bold Italic';
}

@font-face {
    font-family: 'MyriadPro-Light';
    src: url('../fonts/MyriadPro-Light.woff2') format('woff2'), url('../fonts/MyriadPro-Light.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

.myriadpro-light {
    font-family: 'MyriadPro-Light';
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'MYRIADPRO-REGULAR';
    src: url('../fonts/MYRIADPRO-REGULAR.woff2') format('woff2'), url('../fonts/MYRIADPRO-REGULAR.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

.myriadpro-regular {
    font-family: 'MYRIADPRO-REGULAR';
    font-weight: normal;
    font-style: normal;
}
/*=================THEME COLOURS====================*/
.primary-color {
    color: #FF242B;
}

.grey-color1 {
    color: #bcbdc0;
}

.grey-color2 {
    color: #818285 !important;
}

.grey-color3 {
    color: #a7a9ac;
}

.grey-color4 {
    color: #aaacae
}

.bg-grey-color4 {
    background-color: #aaacae;
    
}

.primaryBGColor {
    background-color: #FF242B;
}
/*============================HOMEPAGE CSS=========================*/
.sticky-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    background-color: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.navbar-toggler:focus,
.navbar-toggler:active {
    outline: none !important;
    box-shadow: none !important;
    border: none !important;
}
.nav-link.active {
    color: #FF242B !important;
}

.banner-img {
    height: 85vh !important;
    object-fit: cover;
}
#banner .carousel-inner {
    height: 600px;
}



#homeBannerCarousel {
    position: relative;
}

.carousel-indicators {
    position: absolute;
    bottom: 25px; /* place it inside the image */
    left: 0;
    right: 0;
    z-index: 10;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2px;
    margin: 0; /* removes default margin */
    padding: 0;
}

    .carousel-indicators [data-bs-target] {
        width: 15px !important;
        height: 15px !important;
        border-radius: 50%;
        background-color: #ffffff !important; /* pure white */
        opacity: 1 !important; /* stops Bootstrap’s dimming effect */
        border: 1px solid #bfbfbf !important;
    }

    .carousel-indicators .active {
        background-color: #FF242B !important; /* red for active */
        border: 1px solid #FF242B !important;
        opacity: 1 !important;
        transform: scale(1.2);
    }

.carousel-item img {
    position: relative;
    z-index: 1;
}

.carousel-indicators {
    z-index: 2 !important;
}

.banner-img-title {
    position: absolute;
    bottom: 40px; /* adjusts vertical placement above indicators */
    left: 4%; /* positions text from left edge */
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    color: #fff;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.6); /* makes text readable on bright images */
}

    .banner-img-title span:first-child {
        font-size: 1.5rem; /* same as fs-4 */
        font-weight: 600;
    }

    .banner-img-title span:nth-child(2) {
        font-size: 1rem;
        opacity: 0.9;
        margin-bottom: 2px;
    }

    .banner-img-title p {
        font-size: 1rem;
        margin: 0;
        opacity: 0.95;
    }

.red-block {
    position: relative;
    background: url("/images/logo/MMC-Halftone.png") right center / auto 100% no-repeat;
    background-color: #FF242B;
}

.red-block-new {
    position: relative;
    background-color: #FF242B;
}

.logoHolder {
    background-color: #000;
    padding:15px;
    position:absolute;
    right:0px;
    top:62%;
    width:200px;
}
.grey-box-new {
    position: relative;
    background-color: #000;
}
.grey-box-new p {
    font-size:18px;
}
.logoHolderGrey {
    background-color: #FF242B;
    padding: 15px;
    position: absolute;
    right: 0px;
    top: 55%;
    width: 220px;
}
.year-highlight {
    font-size: 1.8em; /* makes it 1.8x the surrounding text */
    letter-spacing: 1px; /* optional, adds spacing */
    color: #FF242B;
}

.red-block-logo {
    position: absolute;
    right: 15px;
    bottom: 15px;
    z-index: 10;
    width:180px;
}

.mmc-Halftone {
    position: absolute;
    right: 10px;
    top: 0;
    z-index: 10;
}

.services-name .service-item {
    text-decoration: none;
    transition: color 0.3s ease;
}

    .services-name .service-item:hover {
        color: #FF242B;
    }

.main-text {
    line-height: 1.1;
}

.sub-text {
    display: block;
    font-size: 2.5rem;
    line-height: 1.1;
}

.project-img-title {
    position: absolute;
    top: 30px; /* adjusts vertical placement above indicators */
    left: 30px; /* positions text from left edge */
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    color: #fff;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.6); /* makes text readable on bright images */
}
/*=============================FOOTER==========================*/
.mm-footer {
    background-color: #fff;
    color: #6c757d;
    font-family: 'Myriad Pro', sans-serif;
}

.footer-logo {
    max-width: 180px;
    height: auto;
}

.footer-nav {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* Each link + icon pair */
.footer-link-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    position: relative;
}

/* Footer menu text */
.footer-menu-item {
    text-decoration: none;
    color: #818285 !important;
    font-size: 1.2rem;
    position: relative;
    display: inline-flex;
    align-items: center;
    transition: all 0.3s ease;
}

/* Red arrow icon */
.footer-link{
    text-decoration:none !important;
}
.footer-link-wrap i {
    color: #FF242B;
    font-size: 1rem;
    transition: transform 0.3s ease;
}

/* Hidden dots (initially invisible) */
.footer-menu-item::after {
    content: "···";
    color: #FF242B;
    font-weight: bold;
    font-size: 1.4rem;
    opacity: 0;
    transform: translateX(-6px);
    transition: all 0.3s ease;
    margin-left: 6px;
}

/* Hover effects */
.footer-menu-item:hover {
    color: #FF242B;
    transform: translateX(-6px); /* slide text slightly left */
}

    .footer-menu-item:hover::after {
        opacity: 1;
        transform: translateX(0); /* reveal dots smoothly */
    }

/* Responsive */
@media (max-width: 768px) {
    .footer-nav {
        text-align: left !important;
        margin-top: 15px;
    }
}

/*===================================CONTACT PAGE CSS============================*/
.contact-form label {
    font-weight: 600;
    color: #818285;
    font-size: 1.1rem;
}

.contact-form .form-control {
    background-color: #f0f0f0;
    /*  border: 1px solid #ccc;*/
    padding: 5px 5px;
    transition: 0.3s;
}

    .contact-form .form-control:focus {
        background-color: #fff;
        border-color: #FF242B;
        box-shadow: none !important; /* remove default browser shadow */
        outline: none !important; /* remove blue outline in Chrome/Safari */
    }

.contact-form .contact-btn {
    background-color: #FF242B;
    padding:8px 15px;
    color: #ffffff;
    border: 1px solid #FF242B;
    font-weight: 700;
    font-size:20px;
    border-radius:10px;
}

    .contact-form .contact-btn:hover {
        background-color: #ffffff;
        border: 1px solid #FF242B;
        color: #FF242B;
    }
/*==========================About Page=====================================*/
.black-box {
    background-color: #000000;
    height: 500px;
}

.logo-block {
    background-color: #e6e7e8;
    padding: 0;
    border: 3px solid #fff;
    height: 180px;
    width: 180px !important; /* overrides Bootstrap grid width */
    flex: 0 0 auto; /* ensures fixed width */
    display: flex;
    justify-content: center;
    align-items: center;
}

    .logo-block h4 {
        color: #000;
    }

/*=================================SERVICES PAGE CSS===================*/
/* ---------- TOGGLE BUTTON ---------- */
.toggle-btn {
    background: transparent;
    color: #555;
    transition: 0.3s;
    font-weight: 500;
    padding: 6px 10px;
}

    .toggle-btn:focus,
    .toggle-btn:active,
    .toggle-btn:focus-visible {
        outline: none !important;
        box-shadow: none !important;
    }

/* ============================================================
   GRID VIEW (updated for perfectly square boxes)
   ============================================================ */
#projectContainer.grid-view .row {
    margin: -6px;
    display: flex;
    flex-wrap: wrap;
}

#projectContainer.grid-view .col-md-4,
#projectContainer.grid-view .col-md-8,
#projectContainer.grid-view .col-12 {
    padding: 6px;
}

/* ✅ Make every box a perfect square */
#projectContainer.grid-view .project-box,
#projectContainer.grid-view .first-column {
    position: relative;
    background-color: #f0f0f0;
    border: 1px solid #ddd;
    transition: 0.3s ease;
    width: 100%;
    aspect-ratio: 1 / 1; /* ensures perfect square */
    /* display: flex;
    align-items: center;
    justify-content: center;*/
    overflow: hidden; /* hide overflow when using object-fit cover */
    display: block; /* remove flex centering so img can fill */
}

/* make image fill the container and crop with object-fit */
    #projectContainer.grid-view .project-box img {
        display: block; /* avoid inline spacing issues */
        width: 100% !important; /* override .img-fluid if needed */
        height: 100% !important; /* force full height */
        object-fit: cover; /* crop while preserving aspect */
        transform: scale(1);
        transition: transform .5s ease;
        display: block;
    }

/* Hidden white translucent overlay */
     .project-box .overlay {
        position: absolute;
        inset: 0;
        background: rgba(255, 255, 255, 0.40);
        opacity: 0;
        transition: opacity .3s ease;
        pointer-events: none; /* overlay won't block clicks */
    }

/* Title hidden by default */
.project-box .project-location {
    position: absolute;
    left: 20px;
    /*right: 12px;*/
    bottom: 20px;
    margin: 0;
    color: #000;
    font-weight: 600;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .3s ease, transform .3s ease;
}

/* Optional: keep category hidden or style separately */
.project-box .category {
    display: none;
}
.allWork .project-box .category {
    position: absolute;
    top: 15px;
    left: 20px;
    color: #fff;
    text-shadow:1px 1px 1px black;
    font-weight: 700;
    font-size: 1.2rem;
    max-width: auto;
    display: block !important;
}

/* Hover & keyboard focus (accessibility) */
.project-box:hover .overlay,
.project-box:focus-within .overlay {
    opacity: 1;
}

#projectContainer.grid-view .project-box:hover img,
#projectContainer.grid-view .project-box:focus-within img {
    transform: scale(1.06);
}

.project-box:hover .project-location,
.project-box:focus-within .project-location {
    opacity: 1;
    transform: translateY(0);
}

/* Red first column box */
#projectContainer.grid-view .first-column {
    background-color: #FF242B;
    color: #fff;
    text-align: left;
    display: flex;
    justify-content: end;
    align-items: end;
    padding: 25px;
}

/* Title inside square */
.project-title {
    font-size: 1.25rem;
    color: #333;
    font-weight: 600;
}

/* Category (bottom left) */
.category {
    position: absolute;
    bottom: 15px;
    left: 20px;
    color: #FF242B;
    font-weight: 700;
    font-size: 1.2rem;
    max-width: auto;
    display:none;
}

/* Location (bottom right) */
.project-location {
    position: absolute;
    bottom: 8px;
    left: 20px;
    color: #000;
    font-weight: 700;
    text-align: right;
    font-size: 1.3rem;
}

    .project-location span {
        display: block;
        font-weight: normal;
        font-size: 0.9rem;
    }

/*===============================================================
    List view
  ========================================================*/
/* container */
.list-view {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

    .list-view .list-category-block {
        overflow: hidden;
    }

    /* make row background uniform */
    .list-view .list-project {
        background-color: #f3f3f3;
        position: relative;
        min-height: 140px;
        margin-bottom:10px;
    }

    /* leave space before arrow */
    .list-view .list-project-title,
    .list-view .list-project-tagline {
        padding-right: 140px;
    }

    .list-view .list-project::after {
        content: "\f054"; /* Font Awesome chevron-right */
        font-family: "Font Awesome 6 Free"; /* or "Font Awesome 6 Pro" if Pro */
        font-weight: 900; /* required for solid icons */
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        width: 140px;
        height: 100%;
        background: #ed1c24;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 2.5rem; /* adjust size as needed */
        border-left: 8px solid #fff;
    }


    /* -----------------------
   RIGHT EDGE (Red Arrow)
----------------------- */
    #projectContainer.list-view .project-box::after {
        content: "\203A"; /* arrow › */
        color: #fff;
        background: #FF242B;
        font-size: 5rem;
        width: 120px;
        height: 100%;
        text-align: center;
        line-height: 100px;
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        border-left: 10px solid #fff;
    }

    /* Reset columns for list view */
    #projectContainer.list-view .col-md-4,
    #projectContainer.list-view .col-md-8 {
        width: 100% !important;
        padding: 0;
    }
.list-project-location {
    font-size: 25px;
}
/* ============
   BASE CONTAINER (COMMON)
   ============== */
#projectContainer {
    display: flex;
    flex-direction: column;
    gap: 15px; /* vertical gap between rows */
}

    #projectContainer .row {
        display: flex;
        flex-wrap: nowrap;
    }

    #projectContainer .col-md-4,
    #projectContainer .col-md-8 {
        display: flex;
        flex-direction: column;
    }

.logo-col {
    width: 280px
}

#project-carousel {
    background-color: #fff;
}


.stat-count p {
    line-height: 1;
}

.carousel-img {
    width: 100% !important;
    aspect-ratio: 1 / 1; 
    object-fit: cover;
}
#testimonialsCarousel {
    /*max-width: 800px;*/ /* perfect for square images */
    margin: auto;
}

.project-img-title {
    position: absolute;
    bottom: 20px;
    left: 25px;
    z-index: 5;
}

    .project-img-title span:first-child {
        font-size: 1.25rem;
        font-weight: 600;
    }

    .project-img-title span:nth-child(2) {
        font-size: 0.9rem;
    }

    .project-img-title p {
        margin: 4px 0 0;
        font-size: 0.9rem;
        opacity: 0.9;
    }


/* Controls */
.carousel-control-prev-icon,
.carousel-control-next-icon {
    background-color: rgba(0,0,0,0.4);
    border-radius: 50%;
    padding: 12px;
}

/* /* Responsive Adjustments */
/* media (max-width: 991px) {
        .stat-count {
            align-items: center !important;
            text-align: center;
            margin-bottom: 20px;
        }

        .testimonial-box {
            margin-top: 25px;
        }
    } */
.quoteMark {
    display: inline-block;
    width: 32px;
    height: 32px;
    background: url('../images/quote-mark.png') no-repeat center center;
}

.quoteMarkLine {
    position: relative;
    padding-left: 40px; /* room for the leading mark */
    line-height: 1.3;
}

    .quoteMarkLine::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0; /* adjust as needed */
        width: 32px;
        height: 32px;
        background: url('../images/quote-mark.png') no-repeat center center;
        background-size: contain;
    }

    /* KEY: no absolute positioning here */
    .quoteMarkLine::after {
        content: "";
        display: inline-block;
        width: 32px;
        height: 32px;
        margin-left: 8px; /* space from the last word */
        vertical-align: 0em; /* nudge to align with text baseline */
        background: url('../images/quote-mark.png') no-repeat center center;
        background-size: contain;
    }

    /*-----------*/
.custom-carousel {
    position: relative;
    width: 100%;
    height: 420px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.custom-carousel {
    height: 60vh; /* 60% of viewport height */
/*    max-height: 420px;
*/}

.carousel-card {
    position: absolute;
    width: 420px;
    height: 420px;
    transition: all 0.5s ease;
/*    overflow: hidden;
*/}

    .carousel-card img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

/* CENTER CARD */
.active-center {
    z-index: 3;
    transform: scale(1) translateX(0);
}

/* LEFT CARD */
.left {
    z-index: 2;
    transform: scale(0.8) translateX(-500px);
    opacity: 0.3;
}

/* RIGHT CARD */
.right {
    z-index: 2;
    transform: scale(0.8) translateX(500px);
    opacity: 0.3;
}

/* Buttons */
.carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: #bcbdc0;
    border: none;
    color: white;
    font-size: 20px;
    padding: 10px 18px;
    border-radius: 50%;
    cursor: pointer;
    z-index: 5;
}

.prev-btn {
    left: 10px;
}

.next-btn {
    right: 10px;
}
.hidden {
    opacity: 0;
    pointer-events: none;
    transform: scale(0) translateX(0);
    z-index: 0;
    transition: opacity 0.5s ease;
}

.carousel-overlay-name {
    position: relative;
    top: 10px;
    z-index:1;
    left: 0;
    right: 0;
    text-align: center;
    color: #1b1b1b;
    font-size: 22px;
    font-weight: 600;
/*    text-shadow: 0 0 5px rgba(0, 0, 0, 0.9), 0 0 4px rgba(0, 0, 0, 0.7), 0 0 6px rgba(0, 0, 0, 0.5);
*/}

