:root {
--primary-dark: #000;
--accent-gold: #ffb703; 
--text-muted: #a0aab2;
}
body,
html {height: 100%; font-family: "Inter", sans-serif; font-size: 15px; background-color: #fff; line-height: 1.2; font-weight: 400 !important;}


/*---------------Font Start---------------*/
.fs-7 { font-size: 0.875rem; }
.fs-8 { font-size: 0.8rem; }
.fs-9 { font-size: 0.75rem; }

.leter1{letter-spacing:1px;}
.shadow-sm{box-shadow:0 .125rem 1.25rem rgba(0,0,0,.075)!important;}
.rounded{border-radius:.60rem!important;}

[type="button"]:not(:disabled){outline:none!important;}
[type="reset"]:not(:disabled){outline:none!important;}
[type="submit"]:not(:disabled){outline:none!important;}
button:not(:disabled){outline:none!important;}

/*---------------Text Color Start---------------*/
.text-dark{color:#000000 !important;}
.text-muted{color:#3B3B33 !important;}
.text-warning {color: #ffb703 !important;}
.text-white-75 {color: rgba(255, 255, 255, 0.8);}
/*---------------BG button Start---------------*/
.btn.focus{outline:0!important;box-shadow:none!important;}
.btn:focus{outline:0!important;box-shadow:none!important;}

.btn-primary{background-color:#0D6EFD;border-color:#0D6EFD;}
.btn-primary:hover{background-color:#fff;border-color:#0D6EFD; color:#0D6EFD;}
.btn-primary:focus{background-color:#fff;border-color:#0D6EFD; color:#0D6EFD;}
.btn-check:focus+.btn-primary{background-color:#fff;border-color:#0D6EFD; color:#0D6EFD;}

/*---------------BG Background Start---------------*/
.bg-light{background-color:#F8F8F8 !important;}
.bg-dark {background-color: #000 !important;}
.bg-gray{background-color:#f8fafc !important;}
.bg-warning{background-color:#ffb703 !important;}

.navbar-toggler:focus{box-shadow:none;}

@media (min-width: 1400px) {
  .container {max-width: 1250px; }
}

.homepad {padding-top: 5rem; padding-bottom: 5rem;}
.menupad {padding-right: 0 !important;}
/*--------------------------header-------------------*/

/*------------------menu section -----------------------*/
.navbar-nav .nav-link { color: #ffffff !important; font-size: 13px; font-weight: 500; padding: 8px 10px !important; position: relative; transition: color 0.3s ease, transform 0.2s ease; }
.navbar-nav .nav-link:hover, .navbar-nav .nav-link.active { color: #4892ff !important; }
.navbar-nav .nav-link.active { font-weight: 700; }
@media (min-width: 992px) { .navbar-nav .nav-link::after { content: ''; position: absolute; width: 0; height: 2px; bottom: 2px; left: 50%; background-color: #0066cc; transition: all 0.3s ease-in-out; transform: translateX(-50%); } .navbar-nav .nav-link:hover::after, .navbar-nav .nav-link.active::after { width: 80%; } }

.custom-call-btn { transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) !important; text-decoration: none !important; border: 1px solid transparent; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); }
.custom-call-btn:hover { background-color: #0052a3 !important; border-color: #0066cc !important; transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0, 102, 204, 0.4) !important; color: #ffffff !important; }
.custom-call-btn:active { transform: translateY(0); box-shadow: none; }
.custom-call-btn .custom-call-icon { transition: transform 0.3s ease; }
.custom-call-btn:hover .custom-call-icon { transform: rotate(15deg) scale(1.15); }

.custom-toggler { background-color: rgba(255, 255, 255, 0.08) !important; border: 1px solid rgba(255, 255, 255, 0.2) !important; border-radius: 6px; transition: all 0.3s ease !important; outline: none !important; }
.custom-toggler:hover, .custom-toggler:focus { background-color: #0066cc !important; border-color: #0066cc !important; box-shadow: 0 0 12px rgba(0, 102, 204, 0.5) !important; transform: scale(1.05); }
.custom-toggler:focus { box-shadow: 0 0 0 0.25rem rgba(0, 102, 204, 0.3) !important; }

@media (max-width: 991.98px) { .offcanvas-end { width: 280px !important; background-color: #121921 !important; } .offcanvas-header { border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important; } .offcanvas-body .navbar-nav { align-items: flex-start !important; gap: 12px; } .navbar-nav .nav-link { width: 100%; padding: 8px 12px !important; border-radius: 4px; } .navbar-nav .nav-link:hover, .navbar-nav .nav-link.active { background-color: rgba(0, 102, 204, 0.15); padding-left: 18px !important; } .offcanvas-body .custom-call-btn { width: 100%; justify-content: center; } }
.navbar-brand .logo-img {width: auto; object-fit: contain; transition: all 0.3s ease; max-width: 101px;}
.logo-text { font-family: 'Alfa Slab One', cursive; font-size: 18px; line-height: 1.09; font-weight: 400; color: #fff; margin-top: -20px; text-align: left;
}
.navbar-brand{position : absolute; top: 4px;}



/*------------------ Hero Section -----------------------*/
.hero-section { background-position: center !important; background-size: cover !important; overflow: hidden; }
.hero-section .hero-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(90deg, #000000 0%, rgba(0, 0, 0, 0.4) 40%, rgba(0, 0, 0, 0) 100%); }
@keyframes bluePulse { 0%, 100% { text-shadow: 0 0 10px rgba(0, 102, 204, 0.3); } 50% { text-shadow: 0 0 20px rgba(0, 102, 204, 0.8); } }
.hero-section h1 .text-primary-blue { display: inline-block; animation: bluePulse 3s infinite ease-in-out; }
.hero-section .badge-feature { transition: transform 0.3s ease, background-color 0.3s ease, border-color 0.3s ease; display: inline-flex; align-items: center; padding: 6px 12px; background: rgba(255, 255, 255, 0.08); border-radius: 4px; border: 1px solid rgba(255, 255, 255, 0.15); }
.hero-section .badge-feature:hover { transform: translateY(-3px); background: rgba(255, 255, 255, 0.18); border-color: #0066cc; }
.hero-section .btn-primary { transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) !important; box-shadow: 0 4px 15px rgba(0, 102, 204, 0.3); }
.hero-section .btn-primary:hover { transform: translateY(-3px); background-color: #0052a3 !important; border-color: #0052a3 !important; box-shadow: 0 8px 25px rgba(0, 102, 204, 0.5) !important; color: #fff !important; }
.hero-section .btn-outline-light { transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) !important; }
.hero-section .btn-outline-light:hover { transform: translateY(-3px); background-color: #ffffff !important; color: #000000 !important; box-shadow: 0 8px 20px rgba(255, 255, 255, 0.3) !important; }

/*------------------ Checkatrade Section -----------------------*/
.checkatrade-section { background-color: #f8f9fa; padding: 15px 0; }
.checkatrade-card {top: -40px; background-color: #ffffff; padding: 1rem 1.5rem; border-bottom: 1px solid #dee2e6; border-radius: 6px; box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); position: relative; transition: transform 0.3s ease, box-shadow 0.3s ease; }
.checkatrade-card:hover { transform: translateY(-4px); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); }
.checkatrade-brand-title { font-weight: 700; color: #dc3545; font-size: 1.25rem; margin-bottom: 0; }
.checkatrade-rating-number, .checkatrade-review-count, .checkatrade-photo-count { font-weight: 700; font-size: 1.75rem; color: #212529; }
.checkatrade-subtitle { color: #6c757d; display: block; font-size: 0.875rem; }
.checkatrade-stars { color: #ffc107; font-size: 0.875rem; }
.checkatrade-photo-count i { color: #0066cc; margin-right: 0.5rem; display: inline-block; transition: transform 0.3s ease; }
.checkatrade-col { transition: transform 0.3s ease; }
.checkatrade-col:hover { transform: translateY(-2px); }
.checkatrade-stars i { display: inline-block; transition: transform 0.2s ease; }
.checkatrade-col:hover .checkatrade-stars i { animation: checkatradePulse 0.4s ease infinite alternate; }
.checkatrade-col:hover .checkatrade-photo-count i { transform: scale(1.2) rotate(-8deg); }
@keyframes checkatradePulse { 0% { transform: scale(1); } 100% { transform: scale(1.15); } }
.checkatrade-logo img {max-width: 80%;}

/*------------------ About Section -----------------------*/
.about img { transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);}
.home-about-img{min-width: 500px; height: 440px;}
.about .position-relative:hover img { transform: scale(1.05); }
.about .badge-experience { transition: all 0.3s ease-in-out; border: 2px solid rgba(255, 255, 255, 0.2); }
.about .position-relative:hover .badge-experience { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0, 102, 204, 0.4) !important; }
.about .hardworking-row .hardworking-box { transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); cursor: pointer; position: relative; overflow: hidden; z-index: 1; }
.about .hardworking-row .hardworking-box i { transition: transform 0.4s ease, color 0.3s ease; display: inline-block; }
.about .hardworking-row .hardworking-box:hover { transform: translateY(-6px); border-color: #0066cc !important; box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08) !important; background-color: #f8faff !important; }
.about .hardworking-row .hardworking-box:hover i { transform: scale(1.2) rotate(5deg); color: #0052a3 !important; }
.about .hardworking-row .hardworking-box:hover h6 { color: #0066cc; transition: color 0.3s ease; }

/*------------------ Services Section -----------------------*/
.services-section .card { position: relative; transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1); overflow: hidden; cursor: pointer; border-radius: 8px !important; z-index: 1; }
.services-section .card::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 3px; background-color: #0066cc; transform: scaleX(0); transform-origin: left; transition: transform 0.3s ease-in-out; }
.services-section .card i { transition: transform 0.4s ease, color 0.3s ease; display: inline-block; }
.services-section .card h3 { transition: color 0.3s ease; }
.services-section .card:hover { transform: translateY(-8px); background-color: #ffffff !important; box-shadow: 0 12px 24px rgba(0, 102, 204, 0.12) !important; }
.services-section .card:hover::after { transform: scaleX(1); }
.services-section .card:hover i { transform: scale(1.15) translateY(-2px); color: #0052a3 !important; }
.services-section .card:hover h3 { color: #0066cc; }
@media (max-width: 991.98px) { .services-section .card:hover { transform: translateY(-4px); } }

/*------------------ Our Work Section -----------------------*/
.ourwork-section .projects-carousel .card { transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.4s ease, border-color 0.3s ease; border: 1px solid rgba(0, 0, 0, 0.08) !important; cursor: pointer; }
.ourwork-section .projects-carousel .card:hover img{ transform: translateY(-6px); box-shadow: 0 12px 25px rgba(0, 102, 204, 0.15) !important; border-color: rgba(0, 102, 204, 0.3) !important; }
.ourwork-section .projects-carousel .project-img { transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1); }
.ourwork-section .projects-carousel .card:hover .project-img { transform: scale(1.08); }
.ourwork-section .projects-carousel .card h3 { transition: color 0.3s ease; }
.ourwork-section .projects-carousel .card:hover h3 { color: #0066cc !important; }
.ourwork-section .btn-outline-primary { transition: all 0.3s ease; }
.ourwork-section .btn-outline-primary:hover { transform: translateY(-2px); box-shadow: 0 5px 15px rgba(0, 102, 204, 0.25); }
.ourwork-section .project-img {height: 190px; object-fit: cover; transition: transform 0.3s ease;}

/*------------------ Team On The Road Section -----------------------*/
.team-road-section { transition: background-position 0.5s ease; background-size: cover !important;}
.team-road-section ul.list-unstyled li { transition: transform 0.3s ease, color 0.3s ease; cursor: pointer; }
.team-road-section ul.list-unstyled li:hover { transform: translateX(8px); }
.team-road-section ul.list-unstyled li .fa-circle-check { transition: transform 0.3s ease; display: inline-block; }
.team-road-section ul.list-unstyled li:hover .fa-circle-check { transform: scale(1.3) rotate(360deg); }
.team-road-section .van-card { transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.4s ease, border-color 0.3s ease; border: 1px solid rgba(255, 255, 255, 0.1); background: rgba(255, 255, 255, 0.05); backdrop-filter: blur(5px); }
.team-road-section .van-card:hover { transform: translateY(-10px); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.4) !important; border-color: rgba(0, 102, 204, 0.5); }
.team-road-section .van-card .img-fluid { transition: transform 0.5s ease; }
.team-road-section .van-card:hover .img-fluid { transform: scale(1.08); }
.team-road-section .van-card small { transition: color 0.3s ease; }
.team-road-section .van-card .fa-circle-check { transition: transform 0.3s ease; display: inline-block; }
.team-road-section .van-card:hover .fa-circle-check { transform: scale(1.25); }

.team-road-section .road-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(90deg, #000000 0%, rgba(0, 0, 0, 0.4) 70%, rgba(0, 0, 0, 0) 100%);
}
.team-sec{position: absolute;
    right: 0;
    bottom: -20px;}

/*------------------ Brands & Materials Section -----------------------*/
.brands-section .brand-logo { max-height: 55px; width: auto !important; margin: 0 auto; filter: grayscale(100%); opacity: 0.65; transition: filter 0.4s ease, opacity 0.4s ease, transform 0.4s ease; cursor: pointer; }
.brands-section .brand-logo:hover { filter: grayscale(0%); opacity: 1; transform: scale(1.1); }

/*------------------ Reviews & Coverage Section -----------------------*/
.reviews-section .review-card, .reviews-section .info-card { transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.4s ease, border-color 0.3s ease; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); }
.reviews-section .review-card:hover, .reviews-section .info-card:hover { transform: translateY(-8px); box-shadow: 0 12px 25px rgba(0, 102, 204, 0.15); border-color: rgba(0, 102, 204, 0.3) !important; }
.reviews-section .review-card .fa-star, .reviews-section .info-card .fa-star { transition: transform 0.3s ease, color 0.3s ease; display: inline-block; }
.reviews-section .review-card:hover .fa-star, .reviews-section .info-card:hover .fa-star { transform: scale(1.2) rotate(6deg); color: #ffc107 !important; }
.reviews-section .area-item { cursor: pointer; transition: transform 0.2s ease; padding: 2px 4px; }
.reviews-section .area-item:hover { transform: translateX(5px); }
.reviews-section .area-item .fa-circle-check { transition: transform 0.3s ease; display: inline-block; }
.reviews-section .area-item:hover .fa-circle-check { transform: scale(1.25); color: #0052a3 !important; }
.reviews-section .map-card iframe { transition: transform 0.5s ease; }
.reviews-section .map-card:hover iframe { transform: scale(1.08); }

/*------------------ Footer Section -----------------------*/
.footer-logo{position: relative; top: 0;}
.custom-footer .custom-footer-link { transition: all 0.3s ease; display: inline-block; }
.custom-footer .custom-footer-link:hover { color: #4b94ff !important; transform: translateX(5px); }
.custom-footer .custom-social-icon { transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1); width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; }
.custom-footer .custom-social-icon:hover { background-color: #0066cc !important; border-color: #0066cc !important; color: #ffffff !important; transform: translateY(-4px) scale(1.1); box-shadow: 0 6px 15px rgba(0, 102, 204, 0.4); }
.custom-footer .custom-footer-info { transition: color 0.3s ease; cursor: pointer; }
.custom-footer .custom-footer-info:hover { color: #ffffff !important; }
.custom-footer .custom-footer-info i { transition: transform 0.3s ease; display: inline-block; }
.custom-footer .custom-footer-info:hover i { transform: scale(1.2); }
.custom-footer .custom-submit-btn { transition: all 0.3s ease; }
.custom-footer .custom-submit-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0, 102, 204, 0.4); }
.custom-footer .custom-bottom-link { transition: color 0.3s ease; }
.custom-footer .custom-bottom-link:hover { color: #0066cc !important; }

/*---------------inner pages--------------------*/
.page-title-banner{background-position: center !important; background-size: cover !important;}
.page-title-banner .hero-overlay {position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(90deg, #000000 0%, rgba(0, 0, 0, 0.4) 70%, rgba(0, 0, 0, 0) 100%);}

.tracking-wider {letter-spacing: 1px;}
.mission-card {background-color: #dbeaff !important; transition: transform 0.3s ease, box-shadow 0.3s ease;}
.mission-icon-box {width: 64px; height: 64px; background-color: #0066ff; color: #ffffff;}
.vision-card {background-color: #3b82f6 !important; transition: transform 0.3s ease, box-shadow 0.3s ease;}
.vision-icon-box {width: 64px; height: 64px; background-color: #ffffff; color: #000000;}
.text-white-80 {color: rgba(255, 255, 255, 0.9) !important;}
.mission-card:hover, .vision-card:hover {transform: translateY(-5px); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.12) !important;}

.projectscompleted{background-position: center !important; background-size: cover !important;}
.projectscompleted .hero-overlay {position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(90deg, #000000 0%, rgba(0, 0, 0, 0.4) 70%, rgba(0, 0, 0, 0) 100%);}

.support-portal-card .card-media-wrapper img{height: 250px;}

.technicalexcellence-img img {height: 400px; object-fit: cover; transition: transform 0.3s ease; width: 100%;}

.service-card-v2{border:none;border-radius:12px;overflow:hidden;transition:all .35s cubic-bezier(.165,.84,.44,1);background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.06)}.service-card-v2:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,.15)}.service-img-wrap{position:relative;height:240px;overflow:hidden}.service-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.service-card-v2:hover .service-img-wrap img{transform:scale(1.1)}.service-badge{position:absolute;top:15px;right:15px;background:#0d6efd;color:#fff;font-size:.75rem;font-weight:700;padding:6px 14px;border-radius:30px;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 10px rgba(13,110,253,.4);z-index:2}

.nav-pills-custom .nav-link { color:#495057; font-weight:600; padding:12px 24px; border-radius:8px; background:#f8f9fa; border:1px solid #e9ecef; transition:all .3s ease; }
.nav-pills-custom .nav-link.active { background-color:#0d6efd; color:#fff; border-color:#0d6efd; box-shadow:0 5px 15px rgba(13,110,253,.25); }
.spec-box { background:#fff; border-left:4px solid #0d6efd; border-radius:0 8px 8px 0; padding:20px; box-shadow:0 4px 15px rgba(0,0,0,.03); }
.manufacturers-section { background:linear-gradient(135deg,#0b1320 0%,#1a2332 100%); position:relative; overflow:hidden; }
.manufacturers-section::before { content:''; position:absolute; top:0; left:0; right:0; bottom:0; background:radial-gradient(circle at 50% 50%,rgba(13,110,253,.08) 0%,transparent 70%); pointer-events:none; }
.brand-card-premium { background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08); border-radius:16px; padding:28px 24px; text-align:center; transition:all .4s ease; backdrop-filter:blur(10px); position:relative; z-index:1; }
.brand-card-premium:hover { transform:translateY(-8px); background:rgba(255,255,255,.07); border-color:rgba(13,110,253,.5); box-shadow:0 15px 35px rgba(0,0,0,.3),0 0 20px rgba(13,110,253,.2); }
.brand-icon-wrap { width:50px; height:50px; background:rgba(13,110,253,.15); color:#0d6efd; border-radius:12px; display:flex; align-items:center; justify-content:center; margin:0 auto 15px; font-size:1.25rem; transition:all .3s ease; }
.brand-card-premium:hover .brand-icon-wrap { background:#0d6efd; color:#fff; transform:scale(1.1); }
.brand-title { color:#fff; font-weight:800; letter-spacing:1px; font-size:1.15rem; margin-bottom:6px; }
.brand-tag { color:rgba(255,255,255,.6); font-size:.78rem; font-weight:500; margin:0; display:flex; align-items:center; justify-content:center; gap:6px; }
.badge-verified { display:inline-flex; align-items:center; gap:6px; background:rgba(13,110,253,.15); color:#38bdf8; border:1px solid rgba(56,189,248,.3); padding:6px 16px; border-radius:30px; font-size:.8rem; font-weight:600; letter-spacing:.5px; text-transform:uppercase; }

/* wordpress */
.projects-carousel p{margin-bottom: 0;}
.pagination-row .pagination-col{width: 30px;height: 30px;border: 1px solid #0d6efd;}
.pagination-row .pagination-col:hover{background: #0d6efd;}
.pagination-row .pagination-col .page-numbers{text-decoration: none;}
.pagination-row .pagination-col:hover .page-numbers{color: #fff;}
.pagination-row .pagination-col .page-numbers.current{color: #fff;}
.pagination-row .pagination-col .page-numbers.current{background: #0d6efd;width: 100%;height: 100%;display: flex;justify-content: center;align-items: center;}

/* Header */
.custom-submit-btn { transition: all 0.3s ease;}
.custom-submit-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0, 102, 204, 0.4);}
.hidden-fields-container p{ margin-top: 0 !important; margin-bottom: 0.3rem !important;}

.navbar-nav {display: flex; align-items: center; gap: 10px;}
.navbar-nav .nav-link { display: inline-block; color: #ffffff !important; font-size: 13px; font-weight: 500; padding: 8px 10px 12px !important; position: relative; text-decoration: none !important; transition: color 0.3s ease, transform 0.2s ease;}
.navbar-nav .nav-link:hover { color: #4892ff !important;}

.navbar-nav .current-menu-item > .nav-link,
.navbar-nav .current_page_item > .nav-link,
.navbar-nav .current-menu-ancestor > .nav-link,

.navbar-nav .nav-link.active { color: #4892ff !important; font-weight: 700;}

.footer-bottom p{margin-top: 0 !important;margin-bottom: 0.3rem !important;}
.custom-btn-glow p{margin-bottom: 0;}
.custom-btn-glow .wpcf7-form-control.wpcf7-submit.has-spinner{background: transparent;border: none;color: #fff;font-weight: 700;}
.custom-btn-glow:hover .wpcf7-form-control.wpcf7-submit.has-spinner{color: #0D6EFD;}
.wpcf7-spinner{display: none !important;}
        

@media (min-width: 992px) {
.navbar-nav .nav-link::after { content: ''; position: absolute; width: 0; height: 2px; left: 50%; bottom: 2px; background-color: #0066cc; transform: translateX(-50%); transition: width 0.3s ease-in-out;}
.navbar-nav .nav-link:hover::after,
.navbar-nav .current-menu-item > .nav-link::after,
.navbar-nav .current_page_item > .nav-link::after,
.navbar-nav .current-menu-ancestor > .nav-link::after,
.navbar-nav .nav-link.active::after { width: 80%;}
.process-title { font-size: 28px;}
.process-arrow { right: -12px;}
}



.rendering-process { background: #e4eefc;  overflow: hidden;}
.process-title { font-size: 32px; font-weight: 700; color: #111; line-height: 1.2;}
.process-subtitle { font-size: 16px; color: #555; font-weight: 400; }
.process-icon { width: 60px; height: 60px; background: #0878e8; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    		margin: 0 auto 10px; color: #fff; font-size: 27px;}
.process-step { font-size: 17px; font-weight: 700;  color: #111; margin-bottom: 4px;}
.process-description { font-size: 15px; line-height: 1.35; color: #555; margin-bottom: 0;}
.process-arrow { position: absolute; top: 30px; right: -8px; color: #0878e8; font-size: 28px; transform: translateY(-50%);}
.process-item { position: relative;}
.process-arrow { position: absolute; top: 30px; right: -10px; color: #0878e8; font-size: 28px; transform: translateY(-50%); z-index: 2;}
.process-item:last-child .process-arrow { display: none;}


.recent-projects { padding: 60px 0; }
  .recent-projects .section-title { font-weight: 700; font-size: 1.75rem; margin-bottom: 4px; }
  .recent-projects .section-sub { color: #6c757d; font-size: 0.95rem; }
  .recent-projects .view-more { color: #0d6efd; font-weight: 600; text-decoration: none; font-size: 0.95rem; }

.project-thumb {
    cursor: pointer;
    overflow: hidden;
    border-radius: 8px;
}

.project-thumb img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.project-thumb:hover img {
    transform: scale(1.03);
}

.project-lightbox {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.9);
    z-index: 99999;

    display: none;
    align-items: center;
    justify-content: center;
}

.project-lightbox.active {
    display: flex;
}

.lightbox-content {
    max-width: 90%;
    max-height: 90%;
    text-align: center;
}

#lightboxImage {
    max-width: 100%;
    max-height: 85vh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 5px;
}


.lightbox-close {
    position: absolute;
    top: 20px;
    right: 290px;

    background: none;
    border: 0;
    color: #fff;

    font-size: 40px;
    line-height: 1;
    cursor: pointer;
}

.lightbox-prev {
    left: 25px;
}

.lightbox-next {
    right: 25px;
}

.lightbox-prev:hover,
.lightbox-next:hover,
.lightbox-close:hover {
    opacity: 0.7;
}


@media (max-width: 575px) {

    .project-thumb img {
        height: 220px;
    }

    .lightbox-prev {
        left: 10px;
    }

    .lightbox-next {
        right: 10px;
    }

    .lightbox-close {
        top: 15px;
        right: 15px;
        font-size: 35px;
    }

    #lightboxImage {
        max-width: 85%;
    }
}

 
.service-row {
    position: relative;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    overflow: hidden;
    cursor: pointer;
    border-radius: 8px !important;
    z-index: 1;
	 transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.10);
}

/* Bottom blue line */
.service-row::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #0066cc;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease-in-out;
}

.service-row:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.10);
}

.service-row:hover::after {
    transform: scaleX(1);
}
 
.service-img-wrap {
    cursor: pointer;
}

.service-img-wrap img {
    cursor: zoom-in;
}


/* Lightbox */
.service-lightbox {
    position: fixed;
    inset: 0;
    z-index: 99999;

    display: none;
    align-items: center;
    justify-content: center;

    background: rgba(0, 0, 0, 0.9);
    padding: 30px;
}

.service-lightbox.active {
    display: flex;
}

.service-lightbox-content {
    max-width: 90%;
    max-height: 90%;
}

#serviceLightboxImage {
    display: block;
    max-width: 100%;
    max-height: 85vh;
    width: auto;
    height: auto;
    object-fit: contain;
}


/* Close button */
.service-lightbox-close {
    position: absolute;
    top: 15px;
    right: 25px;

    border: 0;
    background: transparent;
    color: #fff;

    font-size: 42px;
    line-height: 1;
    cursor: pointer;
    z-index: 2;
}



/* Scoped pagination style - only affects .blog-pagination */
.blog-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 10px;
    border: 1px solid #0d6efd;
    color: #0d6efd;
    background-color: #fff;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}

.blog-pagination .page-numbers:hover {
    background-color: #e7f1ff;
    text-decoration: none;
}

.blog-pagination .page-numbers.current {
    background-color: #0d6efd;
    border-color: #0d6efd;
    color: #fff;
}

.blog-pagination .page-numbers.dots {
    border: none;
    background: transparent;
}

.blog-pagination .next.page-numbers,
.blog-pagination .prev.page-numbers {
    color: #0d6efd;
    border-color: #0d6efd;
}


.hero-section .badge-features-wrap {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 40px;
}

.hero-section .badge-feature2 {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 12px;
  position: relative;
  transition: transform 0.3s ease;
}

.hero-section .badge-feature2:not(:last-child)::after {
  content: '';
  position: absolute;
  right: -10px;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 20px;
  background: rgba(255, 255, 255, 0.3);
}

.hero-section .badge-feature2 .icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #0D6EFD;
  margin-right: 6px;
}

.hero-section .badge-feature2 .icon i {
  color: #ffffff;
  font-size: 14px;
}

.hero-section .badge-feature2 span,
.hero-section .badge-feature2 {
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}


.tile-icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}

.tile-icon-wrap i {
  font-size: 34px;
  color: #0D6EFD;
}

.quote-form-card {
  background: #fff;
  border-radius: 20px;
  padding: 20px 40px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.06);
  margin: 0 auto;
}

.quote-form-card .form-control,
.quote-form-card .form-select {
  background: #fff;
  border: 1px solid #e2e5ea;
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 14px !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.quote-form-card .form-control:focus,
.quote-form-card .form-select:focus {
  border-color: #0D6EFD;
  box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.1);
  outline: none;
}

.quote-form-card .form-control::placeholder {
  color: #adb5bd;
  font-weight: 400;
}

.quote-form-card .form-label {
  margin-bottom: 6px;
  font-size: 13px;
}

.quote-form-card textarea.form-control {
  resize: vertical;
  min-height: 100px;
}

.quote-submit-wrap input[type="submit"],
.quote-submit-btn {
  width: 100%;
  background: #0D6EFD;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.5px;
  padding: 14px 24px;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}

.quote-submit-wrap input[type="submit"]:hover,
.quote-submit-btn:hover {
  background: #0b5ed7;
  transform: translateY(-1px);
}

.quote-form-card h3 {
  font-size: 28px;
}

.custom-select-wrap {
  position: relative;
}

.custom-select-wrap .form-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: #fff;
  border: 1px solid #e2e5ea;
  border-radius: 8px;
  padding: 12px 40px 12px 16px; /* extra right padding for the icon */
  font-size: 14px !important;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;

  /* custom chevron icon as background SVG */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23343a40' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px 8px;
}

.custom-select-wrap .form-select:focus {
  border-color: #0D6EFD;
  box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.1);
  outline: none;

  /* chevron turns blue on focus, matching the border */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%230D6EFD' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.custom-btn-glow{border-radius:15px !important;}

