/*=========================================
Google Font
=========================================*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');


/*=========================================
Root Variables
=========================================*/

:root {

    --primary: #003399;
    --secondary: #1565C0;
    --lightBlue: #EAF4FF;
    --dark: #1F2937;
    --text: #000000;
    --white: #ffffff;
    --border: #e8edf4;

    --shadow: 0 15px 45px rgba(0, 0, 0, .08);
    --shadowHover: 0 20px 60px rgba(13, 71, 161, .18);

    --transition: .4s ease;

}



/*=========================================
Reset
=========================================*/

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {

    font-family: 'Poppins', sans-serif;
    color: var(--dark);
    overflow-x: hidden;
    background: #fff;

}

img {

    max-width: 100%;
    display: block;

}

a {

    text-decoration: none;
    transition: var(--transition);

}

ul {

    list-style: none;
    padding: 0;
    margin: 0;

}

p {
    text-align: justify;
    color: #000000;

}



.container {

    max-width: 1320px;

}

.section-title {
    color: #000000;
    font-weight: 600;
    font-size: 40px;
    margin-bottom: 20px;
    margin-top: 10px;
}

.section-title span {
    color: var(--primary);

}

.section-text{
    color: #000000;
    font-size: 400;
}



/*=========================================
Typography
=========================================*/

section {
    padding: 90px 0;
}

.container {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 20px;
}

@media(max-width:991px) {
    section {
        padding: 70px 0;
    }
}

@media(max-width:767px) {
    section {
        padding: 60px 0;
    }
}

@media(max-width:480px) {
    section {
        padding: 50px 0;
    }

    a {
        font-size: 12px;
    }
}

.testimonial-nav {
    display: flex;
    gap: 15px;
    margin-top: -40px;
    position: relative;
    z-index: 30;
}


.testimonialSwiper .swiper-slide {
    pointer-events: none;
}

.testimonialSwiper .swiper-slide-active {
    pointer-events: auto;
}

/* Prevent slider overflow on small screens */
.serviceSlider,
.servicesSwiper {
    width: 100%;
    overflow: hidden;
}

.serviceSlider .swiper-wrapper,
.servicesSwiper .swiper-wrapper {
    display: flex;
}

.serviceSlider .swiper-slide,
.servicesSwiper .swiper-slide {
    flex-shrink: 0;
}

/*=========================================
Buttons
=========================================*/

.btn-main {

    display: inline-block;
    padding: 16px 40px;
    background: var(--primary);
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    transition: .3s;
    box-shadow: 0 12px 30px rgba(4, 11, 75, 0.644);

}

.btn-main:hover {

    transform: translateY(-4px);

    color: #fff;

    box-shadow: var(--shadowHover);

}



.btn-outline-main {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    padding: 15px 35px;
    background-color: #fff;


    color: var(--primary);

    font-weight: 600;

    margin-left: 15px;

    transition: .4s;

}

.btn-outline-main:hover {

    background: var(--primary);

    color: #fff;

}



/*=========================================
Top Bar
=========================================*/

.top-bar {

    background: #0b2d6d;

    color: #fff;

    padding: 10px 0;

    font-size: 14px;

}

.top-contact {

    display: flex;

    gap: 25px;

}

.top-contact a {

    color: #fff;
    display: inline-flex;
    align-items: center;
    gap: 8px;

}

.top-contact i {

    margin-right: 0;

}



.top-social {

    display: flex;

    justify-content: flex-end;

    gap: 15px;

}

.top-social a {

    width: 35px;

    height: 35px;

    border-radius: 50%;

    background: rgba(255, 255, 255, .12);

    color: #fff;

    display: flex;

    justify-content: center;

    align-items: center;

}

.top-social a:hover {

    background: #fff;

    color: var(--primary);

}



/*=========================================
Navbar
=========================================*/

.custom-navbar {

    background: #fff;

    box-shadow: 0 8px 30px rgba(0, 0, 0, .05);

    padding: 4px 0;



}

.custom-navbar,
.navbar,
.container {
    overflow: visible !important;
}


.navbar-brand img {

    height: 100px;

}

.navbar-nav .nav-link {

    color: var(--dark);

    font-weight: 600;

    margin: 0 12px;
    font-size: 15px;

}

.navbar-nav .nav-link.active {
    color: var(--dark) !important;
}


.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active:hover {
    color: var(--primary) !important;
}

.navbar-nav .nav-link::after {

    content: none !important;
}

.navbar-nav .nav-link:hover::after,
.navbar-nav .nav-link.active::after {
    width: 0 !important;

}

.dropdown-menu {

    border: none;



    padding: 15px 0;

    box-shadow: var(--shadow);

}

.dropdown-item {

    padding: 12px 22px;
    font-size: 15px;
    font-weight: 500;

}

.dropdown-item.active,
.dropdown-item:active {
    background-color: transparent !important;
    color: var(--dark) !important;
}

.dropdown-item:hover,
.dropdown-item.active:hover {

    background: #003399 !important;

    color: #fff !important;

}

.dropdown-toggle::after {
    display: none;
}

.dropdown-toggle i {
    font-size: 12px;
    transition: .3s ease;
    margin-left: -2px !important;
}

@media (min-width:1200px) {
    .dropdown:hover .dropdown-toggle i {
        transform: rotate(180deg);
    }
}

/* Show dropdown on hover for larger screens */
@media (min-width: 900px) {
    .navbar .dropdown {
        position: relative;
    }

    .navbar .dropdown:hover>.dropdown-menu,
    .navbar .dropdown:hover .dropdown-menu,
    .navbar .dropdown.show>.dropdown-menu {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) !important;
    }

    .navbar .dropdown .dropdown-menu {
        position: absolute !important;
        top: 100%;
        left: 0;
        margin-top: 0rem;
        transition: var(--transition);
        z-index: 3000;
        min-width: 220px;
    }
}

/* ===========================
Desktop Dropdown Fix
=========================== */

@media (min-width:1200px) {

    .custom-navbar {
        position: relative;
        z-index: 9999;
        overflow: visible !important;
    }

    .custom-navbar .container {
        overflow: visible !important;
    }

    .custom-navbar .navbar-collapse {
        overflow: visible !important;
    }

    .custom-navbar .navbar-nav {
        overflow: visible !important;
    }

    .custom-navbar .nav-item.dropdown {
        position: relative;
    }

    .custom-navbar .dropdown-menu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        min-width: 260px;
        padding: 15px 0;
        border: none;
        border-radius: 8px;
        background: #fff;
        box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
        z-index: 99999;
    }

    .custom-navbar .nav-item.dropdown:hover>.dropdown-menu {
        display: block;
    }

    .custom-navbar .dropdown-toggle::after {
        vertical-align: middle;
    }

}

.quote-btn {

    background: #003399;

    color: #fff;

    padding: 14px 14px;

    font-size: 13px;

    font-weight: 600;

    margin-left: 75px;
    box-shadow: 0 12px 30px rgba(4, 11, 75, 0.644);

}

.quote-btn:hover {

    color: #fff;

    transform: translateY(-3px);

}

.contact-card p a {
    color: var(--text);
}



/*=========================================
Hero Section
=========================================*/
.hero-section {
    position: relative;
    overflow: hidden;
    padding: 30px 0;

    width: 100%;
    min-height: 80vh;

    background-image: url("../images/hero-bg-img.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

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

/* Dark Overlay */
.hero-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.55);
    /* Darkness */
    z-index: 1;
}

/* Hero Content */
.hero-section .container {
    position: relative;
    z-index: 2;
}

.hero-tag {

    display: inline-block;

    background: transparent;
    border: 2px solid #dcecff;

    color: #fff;

    padding: 8px 16px;

    text-transform: uppercase;

    letter-spacing: 1px;

    font-weight: 600;

    border-radius: 50px;

    margin-bottom: 25px;
    margin-top: -50px;

    font-size: 13px;

}

.hero-section h1 {

    font-size: 56px;

    font-weight: 600;

    line-height: 1.15;

    margin-bottom: 25px;

    max-width: 900px;
    margin: 0 auto 25px auto;
    color: #fff;

}

.hero-section h1 span {

    color: #ffc107;

}



.hero-section p {

    color: #fff;

    font-size: 16px;

    line-height: 1.9;

    margin-bottom: 35px;
    max-width: 900px;
    margin: 0 auto 25px auto;
    text-align: center;

}

.hero-btns {

    display: flex;

    align-items: center;

    justify-content: center;

    flex-wrap: wrap;

    gap: 20px;
    max-width: 900px;
    margin: 0 auto 30px auto;


}

.section-tag {

    display: inline-block;
    color: var(--primary);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 600;
    font-size: 16px;

}







/*=========================================
Floating Cards
=========================================*/

.floating-card {

    position: absolute;

    display: flex;

    align-items: center;

    gap: 15px;

    background: #fff;

    padding: 18px 20px;



    box-shadow: var(--shadow);

    animation: float 4s infinite ease-in-out;

}

.card-one {



    top: 18%;

}

.card-two {

    right: -150px;

    bottom: 18%;

}

.floating-card i {

    width: 60px;

    height: 60px;

    border-radius: 50%;

    background: var(--lightBlue);

    color: var(--primary);

    display: flex;

    justify-content: center;

    align-items: center;

    font-size: 24px;

}








/*=========================================
Animation
=========================================*/

@keyframes float {

    0% {

        transform: translateY(0);

    }

    50% {

        transform: translateY(-12px);

    }

    100% {

        transform: translateY(0);

    }

}

/*==================================================
ABOUT SECTION
==================================================*/

.about-section {
    background: #fff;
    padding: 60px 0;

}

.about-image {
    position: relative;
}

.about-image img {

    box-shadow: var(--shadow);
}

.experience-box {

    position: absolute;
    right: 0px;
    bottom: 40px;

    background: #003399;

    color: #fff;

    width: 120px;
    height: 120px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin-bottom: -50px;
    margin-right: -20px;

    box-shadow: 0 20px 50px rgba(13, 71, 161, .25);

}

.experience-box h2 {
    font-size: 32px;
    font-weight: 700;
    margin: 0;
}

.experience-box p {
    margin: 5px 0 0;
    font-size: 15px;
    text-align: center;
}

.about-card {

    background: #fff;


    padding: 30px;

    margin-bottom: 20px;

    box-shadow: var(--shadow);

    transition: .4s;

}

.about-card:hover {

    transform: translateY(-10px);

    box-shadow: var(--shadowHover);

}

.about-card i {

    width: 70px;
    height: 70px;

    border-radius: 50%;

    background: var(--lightBlue);

    color: var(--primary);

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

    font-size: 28px;

    margin-bottom: 20px;

}

.about-card h5 {

    font-weight: 700;
    margin-bottom: 12px;

}

.about-card p {

    color: var(--text);
    line-height: 1.8;

}

.about-features {

    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;

}

.feature-item {

    display: flex;
    align-items: center;
    gap: 12px;

    font-weight: 600;

}

.feature-item i {

    color: var(--primary);
    font-size: 20px;

}



/*==================================================
SERVICE SECTION
==================================================*/

/*  INTERIOR BTN CSS*/

.all-services-btn {

    display: inline-block;

    padding: 16px 40px;

    background: var(--primary);

    color: #fff;

    text-decoration: none;

    font-weight: 600;

    transition: .3s;



}

.all-services-btn:hover {

    background: var(--primary);

    color: #fff;

    transform: translateY(-4px);

}

.services-section {

    background: #f8fbff;

}

.service-card {

    background: #fff;

    overflow: hidden;

    box-shadow: var(--shadow);

    transition: .45s;

    height: 100%;

}

.service-card:hover {

    transform: translateY(-12px);

    box-shadow: var(--shadowHover);

}

.service-card img {

    width: 100%;
    height: 260px;

    object-fit: cover;

    transition: .5s;

}

.service-card:hover img {

    transform: scale(1.08);

}

.service-content {

    padding: 30px;

}

.service-icon {

    width: 75px;
    height: 75px;

    background: var(--lightBlue);

    color: var(--primary);

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

    font-size: 30px;

    margin-top: -65px;

    position: relative;

    z-index: 5;

    box-shadow: 0 15px 30px rgba(13, 71, 161, .15);

}

.service-content h4 {

    margin-top: 25px;
    margin-bottom: 15px;

    font-size: 24px;
    font-weight: 700;

}

.service-content p {

    color: var(--text);

    line-height: 1.9;

}

.service-content a {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    color: var(--primary);

    font-weight: 600;

    margin-top: 15px;

}

.service-content a:hover {

    letter-spacing: .5px;

}

.serviceSlider {
    position: relative;
}

.serviceSlider .swiper-button-prev {
    font-size: 16px;
}

.serviceSlider .swiper-button-next {
    font-size: 16px;
}

.service-pagination {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    margin-top: 35px !important;
    margin-bottom: 0 !important;
    text-align: center !important;
}

.service-pagination .swiper-pagination-bullet-active {
    background: var(--primary) !important;
    opacity: 1 !important;
}




/*==================================================
CONSTRUCTION SECTION
==================================================*/

.construction-section {

    background: #fff;

}

.construction-section .service-card {

    border: 1px solid #eef3f8;

}

.construction-section .service-card:hover {

    border-color: #1976D2;

}

/*====================================================
        CONSTRUCTION SERVICES 
====================================================*/

.services-section {

    position: relative;

    width: 100%;

    overflow: hidden;

    padding: 100px 0;

    background: url("../images/construction-bg.webp") center center/cover no-repeat;

}

/* Dark Overlay */

.services-overlay {

    position: absolute;

    inset: 0;

    background: linear-gradient(rgba(5, 15, 35, .88), rgba(5, 15, 35, .90));

    z-index: 1;

}

.services-section .container-fluid {

    position: relative;

    z-index: 2;

    padding-left: 5%;

    padding-right: 0;

}

.services-section .row {

    align-items: center;

}

.services-section-interior {
    background-image: url("../images/section-bg.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}


/*====================================================
                LEFT CONTENT
====================================================*/

.services-left {

    max-width: 480px;

    color: #fff;

}

.service-tag {

    display: inline-block;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 20px;

}


.services-left h2 {

    font-size: 40px;

    font-weight: 600;

    line-height: 1.15;

    color: #fff;

    margin-bottom: 35px;

}

.services-left p {

    color: #d8d8d8;

    font-size: 16px;

    line-height: 1.8;

    margin-bottom: 45px;

}

.all-service-btn {

    background: transparent;
    color: #fff;
    border: 1px solid #fff;
    padding: 8px 16px;
    font-weight: 600;
    margin-top: 20px;

}

.all-service-btn i {

    transition: .4s;

}

.all-service-btn:hover {

    background: #fff;

    color: var(--primary);

}

.all-service-btn:hover i {

    transform: translateX(6px);

}


/*====================================================
                SLIDER AREA
====================================================*/

.servicesSwiper {

    position: relative;

    overflow: hidden;

    padding: 25px 0 70px;

}


/*====================================================
                SERVICE CARD
====================================================*/

.service-box {

    position: relative;

    overflow: hidden;

    height: 450px;

    cursor: pointer;

    transition: .45s;

    box-shadow: 0 25px 60px rgba(0, 0, 0, .25);

}

.service-box:hover {

    transform: translateY(-10px);

}

.service-box img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: 1s;
    filter: brightness(55%);





}

.service-box:hover img {

    transform: scale(1.08);

}


/* Number */

.service-number {

    position: absolute;

    top: 20px;

    left: 20px;

    width: 60px;

    height: 60px;

    background: rgba(255, 255, 255, .18);

    backdrop-filter: blur(8px);

    border-radius: 14px;

    color: #fff;

    font-size: 28px;

    font-weight: 700;

    display: flex;

    align-items: center;

    justify-content: center;

    z-index: 3;

}


/* Overlay */

.service-overlay {

    position: absolute;

    left: 0;

    right: 0;

    bottom: 0;

    padding: 30px;


}

/*====================================================
                CARD CONTENT
====================================================*/

.service-overlay h3 {

    font-size: 24px;

    font-weight: 600;

    line-height: 1.3;

    margin-bottom: 30px;

    color: #fff;

}

.service-overlay p {

    color: #fff;


    font-size: 16px;

    line-height: 1.8;

    margin-bottom: 28px;

}


/*====================================================
                VIEW BUTTON
====================================================*/

.view-btn {

    background: transparent;
    color: #fff;
    border: 1px solid #fff;
    padding: 4px 8px;
    font-weight: 600;
    font-size: 13px;


}

.view-btn i {

    transition: .35s;

}

.view-btn:hover {

    background: #fff;

    color: var(--primary);

}

.view-btn:hover i {

    transform: translateX(5px);

}


/*====================================================
                NAVIGATION
====================================================*/

.services-navigation {

    position: absolute;

    top: 457px;
    font-size: 16px;

    right: 450px;

    display: flex;

    gap: 15px;

    z-index: 20;

}

.service-prev,
.service-next {

    width: 30px;

    height: 30px;

    border-radius: 50%;

    border: 2px solid rgba(255, 255, 255, .35);

    color: #fff;

    display: flex;

    align-items: center;

    justify-content: center;

    cursor: pointer;

    transition: .35s;

    background: rgba(255, 255, 255, .05);

    backdrop-filter: blur(10px);

}

.service-prev:hover,
.service-next:hover {

    background: #fff;

    border-color: #fff;

    color: var(--primary);

}


/*====================================================
                PAGINATION
====================================================*/

.services-pagination {

    margin-top: 45px;

    display: flex;

    justify-content: center;

}

.services-pagination .swiper-pagination-bullet {

    width: 35px;

    height: 5px;

    border-radius: 20px;

    background: #ffffff50;

    opacity: 1;

    transition: .35s;

}

.services-pagination .swiper-pagination-bullet-active {

    width: 60px;

    background: #fff;

}


/*====================================================
                SLIDE EFFECT
====================================================*/

.swiper-slide {

    transition: .4s;

}

.swiper-slide-active {

    transform: translateY(-8px);

}


/*====================================================
                RESPONSIVE
====================================================*/

@media(max-width:1200px) {

    .services-left h2 {

        font-size: 42px;

    }

    .service-box {

        height: 390px;

    }

}

@media(max-width:991px) {

    .services-section {

        padding: 80px 0;

    }

    .services-section .container-fluid {

        padding: 0 20px;

    }

    .services-left {

        max-width: 100%;

        margin-bottom: 50px;

    }

    .services-left h2 {

        font-size: 42px;

    }

    .service-box {

        height: 380px;

    }

    .services-navigation {

        position: relative;

        top: 0;

        right: 0;

        justify-content: center;

        margin-bottom: 25px;

    }

}

@media(max-width:768px) {

    .services-left {

        text-align: center;

    }

    .service-tag {

        padding-left: 0;

    }

    .service-tag::before {

        display: none;

    }

    .services-left h2 {

        font-size: 34px;

    }

    .services-left p {

        font-size: 16px;

    }

    .service-box {

        height: 340px;

    }

    .service-overlay {

        padding: 22px;

    }

    .service-overlay h3 {

        font-size: 24px;

    }

    .service-overlay p {

        font-size: 15px;

    }

    .all-service-btn {

        padding: 15px 28px;

    }

}

@media(max-width:576px) {

    .services-section {

        padding: 60px 0;

    }

    .service-box {

        height: 320px;

    }

    .service-number {

        width: 50px;

        height: 50px;

        font-size: 22px;

    }

    .service-overlay h3 {

        font-size: 21px;

    }

    .view-btn {

        padding: 10px 20px;

        font-size: 14px;

    }

}



/*==================================================
WHY CHOOSE US
==================================================*/

.why-us {

    background-image: url("../images/section-bg.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

}

.why-card {

    background: #fff;


    padding: 10px;

    text-align: center;

    transition: .4s;

    box-shadow: var(--shadow);

    height: 100%;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.233);

}

.why-card:hover {

    transform: translateY(-10px);

    box-shadow: var(--shadowHover);

}

.why-icon {

    width: 42px;
    height: 42px;

    border-radius: 50%;

    margin: auto;

    margin-bottom: 20px;
    margin-top: 5px;

    background: #003399;

    color: #fff;

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

    font-size: 18px;

}

.why-card h5 {

    font-weight: 700;
    font-size: 18px;
    margin-bottom: 15px;
    color: #000000;

}

.why-card p {

    color: var(--text);
    font-size: 16px;
    line-height: 1.8;

}

.why-img {
    height: 640px;
}



/*==================================================
COUNTER SECTION
==================================================*/

.counter-section {

    background: var(--primary);

    padding: 0px 0;
    margin-top: -4px;

}

.counter-box {

    color: var(--primary);

}

.counter-box i {

    font-size: 18px;
    margin-top: 15px;
    color: #fff;

    margin-bottom: 20px;

}

.counter-box h2 {

    font-size: 18px;

    font-weight: 700;
    color: #fff;
    margin-bottom: 10px;
    margin-top: 20px;

}

.counter-box p {

    font-size: 13px;
    color: #fff;
    text-align: center;

    opacity: .9;

}

/*=========================================
PROJECTS SECTION
=========================================*/


/*=========================================
GALLERY
=========================================*/

.gallery-section {
    background: #fff;
}

.gallery-filter button {

    border: none;
    background: #fff;
    padding: 12px 30px;
    margin: 8px;
    font-weight: 600;
    box-shadow: 0 15px 40px rgba(31, 22, 85, .25);
    transition: .4s;

}



.gallery-card {

    position: relative;
    overflow: hidden;

}

.gallery-card img {

    width: 100%;
    height: 300px;
    object-fit: cover;
    transition: .5s;
   border: 10px solid #ececec;

}

.gallery-overlay {

    position: absolute;
    inset: 0;

    background: rgba(13, 71, 161, .85);

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    opacity: 0;
    transition: .4s;

}

.gallery-card:hover img {

    transform: scale(1.1);

}

.gallery-card:hover .gallery-overlay {

    opacity: 1;

}

.gallery-overlay h4 {

    color: #fff;
    font-weight: 700;

}

.gallery-overlay p {

    color: #fff;
    margin-bottom: 20px;

}

.gallery-overlay a {

    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #fff;
    color: var(--primary);

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

    font-size: 22px;

}

/*=========================================
        TESTIMONIAL SECTION
=========================================*/

.testimonial-section {
    width: 100%;
    overflow: hidden;
    background: #fff;
    position: relative;
    padding: 0px 0;
}

.testimonial-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
}


/*=========================================
        LEFT IMAGE
=========================================*/

.testimonial-image {
    width: 48%;
    min-height: 520px;
    overflow: hidden;
    position: relative;
}

.testimonial-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 8s linear;
}

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

/*=========================================
        RIGHT SIDE
=========================================*/

.testimonial-right {
    width: 52%;
    background: var(--primary);
    color: #fff;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0px 70px !important;
    min-height: 520px;
}

/*=========================================
        DIAGONAL SHAPE
=========================================*/

.testimonial-right::before {
    content: "";
    position: absolute;
    left: -96px;
    top: 0;
    width: 195px;
    height: 100%;
    background: var(--primary);
    transform: skewX(-12deg);
    z-index: 0;
}


.testimonial-heading {
    position: relative;
    z-index: 2;
    margin-bottom: 30px;
}

.testimonial-heading span {
    color: #8dc5ff;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    display: inline-block;
    margin-bottom: 15px;
}

.testimonial-heading h2 {
    font-size: 40px;
    font-weight: 600;
    line-height: 1.1;
    margin: 0 0 20px;
    color: #fff;
}


.testimonialSwiper {
    width: 100%;
    position: relative;
    z-index: 2;
}


.testimonial-item {
    max-width: 650px;
    position: relative;
    z-index: 2;
}


.quote-icon {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .14);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 5px;
}

.quote-icon i {
    font-size: 13px;
    color: #fff;
}



.testimonial-item p {
    font-size: 16px;
    line-height: 1.8;
    color: #eef5ff;
    margin-bottom: 10px;
}


.testimonial-item h4 {
    font-size: 26px;
    margin-top: 10px;
    margin-bottom: 8px;
    color: #fff;
}

.testimonial-item span {
    color: #9ed0ff;
    font-size: 16px;
}


.testimonial-nav {
    display: flex;
    gap: 15px;
    margin-top: 30px;
    position: relative;
    z-index: 20;
}

.testimonial-prev,
.testimonial-next {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, .25);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: .35s;
}

.testimonial-prev i,
.testimonial-next i {
    color: #fff;
    font-size: 18px;
}

.testimonial-prev:hover,
.testimonial-next:hover {
    background: #fff;
}

.testimonial-prev:hover i,
.testimonial-next:hover i {
    color: #0b4ea2;
}


.swiper-slide-active .testimonial-item {
    animation: fadeUp .8s ease;
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


.testimonial-image::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(0, 0, 0, .08), rgba(0, 0, 0, 0));
    z-index: 1;
}


/* @media(max-width:1199px){
    .testimonial-wrapper{
        flex-wrap:wrap;
    }

    .testimonial-image,
    .testimonial-right{
        width:100%;
    }

    .testimonial-image{
        min-height:420px;
    }

    .testimonial-right{
        padding:60px 40px;
    }

    .testimonial-heading{
        text-align:center;
    }

    .testimonial-heading h2{
        font-size:42px;
    }

    .testimonial-pagination,
    .testimonial-nav{
        justify-content:center;
        width:100%;
    }
} */

/*=========================================
        MOBILE
=========================================*/

@media(max-width:767px) {
    .testimonial-image {
        min-height: 280px;
    }

    .testimonial-right {
        padding: 45px 25px;
    }

    .testimonial-heading h2 {
        font-size: 34px;
    }

    .testimonial-item p {
        font-size: 16px;
        line-height: 1.8;
    }

    .testimonial-item h4 {
        font-size: 22px;
    }

    .testimonial-item span {
        font-size: 14px;

    }

    .testimonial-prev,
    .testimonial-next {
        width: 44px;
        height: 44px;
    }
}

/*=========================================
        SMALL MOBILE
=========================================*/

@media(max-width:480px) {
    .testimonial-image {
        min-height: 220px;
    }

    .testimonial-right {
        padding: 35px 20px;
    }

    .testimonial-heading h2 {
        font-size: 28px;
    }

    .testimonial-item p {
        font-size: 14px;
    }

    .testimonial-prev,
    .testimonial-next {
        width: 30px;
        height: 30px;
        margin-top: -20px;
    }

    .counter-box h2 {
        font-size: 18px;
    }

    .counter-box i {
        font-size: 24px;
    }

    .counter-box p {
        font-size: 13px;
    }

    .why-img {
        display: none;
    }


}

/*=========================================
        ANIMATION
=========================================*/

.swiper-slide-active .testimonial-item {
    animation: fadeUp .8s ease;
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/*=========================================
        HOVER EFFECT
=========================================*/

.testimonial-prev,
.testimonial-next {
    transition: all .35s ease;
}

.testimonial-prev:hover {
    transform: translateX(-5px);
}

.testimonial-next:hover {
    transform: translateX(5px);
}

/*=========================================
        IMAGE OVERLAY
=========================================*/

.testimonial-image::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(0, 0, 0, .08), rgba(0, 0, 0, 0));
    z-index: 1;
}

/*=========================================
        TABLET
=========================================*/

@media(max-width:1199px) {
    .testimonial-wrapper {
        flex-direction: column;
    }


    .testimonial-right {
        width: 100%;
    }

    .testimonial-image {
        display: none;
    }

    .testimonial-right {
        padding: 60px 40px;
    }

    .testimonial-right::before {
        display: none;
    }

    .testimonial-heading {
        text-align: center;
    }

    .testimonial-heading h2 {
        font-size: 42px;
    }

    .testimonial-item {
        max-width: 100%;
    }

    .testimonial-nav,
    .testimonial-pagination {
        justify-content: center;
        width: 100%;
    }
}

/*=========================================
        MOBILE
=========================================*/

@media(max-width:767px) {
    .testimonial-image {
        display: none;
    }

    .testimonial-right {
        padding: 45px 25px;
    }

    .testimonial-heading h2 {
        font-size: 34px;
    }

    .testimonial-item p {
        font-size: 16px;
        line-height: 1.8;
    }

    .testimonial-item h4 {
        font-size: 22px;
    }

    .testimonial-item span {
        font-size: 14px;
    }

    .testimonial-prev,
    .testimonial-next {
        width: 44px;
        height: 44px;
    }
}

/*=========================================
        SMALL MOBILE
=========================================*/

@media(max-width:480px) {
    .testimonial-image {
        display: none;
    }

    .testimonial-right {
        padding: 35px 20px;
    }

    .testimonial-heading h2 {
        font-size: 20px;
    }

    .testimonial-item p {
        font-size: 13px;
    }

    .testimonial-prev,
    .testimonial-next {
        width: 40px;
        height: 40px;
    }
}

/*=========================================
        LARGE DESKTOP
=========================================*/

@media(min-width:1600px) {
    .testimonial-wrapper {
        min-height: 780px;
    }

    .testimonial-right {
        padding: 100px;
    }

    .testimonial-heading h2 {
        font-size: 52px;
    }

    .testimonial-item {
        max-width: 650px;
    }

    .testimonial-item p {
        font-size: 20px;
    }
}




/*=========================================
CTA SECTION
=========================================*/

.cta-section {

    background: var(--primary);
    padding: 40px 0;
}




.btn-light-custom {

    background: #fff;
    color: var(--primary);
    padding: 15px 35px;
    font-weight: 600;


}

.btn-light-custom:hover {

    background: transparent;
    border: 1px solid #fff;
    color: #fff;
}

.btn-whatsapp {

    background: transparent;
    border: 1px solid #fff;
    color: #fff;
    padding: 15px 35px;
    font-weight: 600;
    transition: .3s;

}

.btn-whatsapp:hover {

    color: var(--primary);
    border-color: var(--primary);
    background-color: #fff;
    transform: translateY(-4px);


}

/*=========================================
CONTACT
=========================================*/

.contact-preview {

    background-image: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)),
        url("../images/section-bg.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

}

.contact-card {

    background: #fff;
    padding: 20px 20px;

    text-align: center;

    box-shadow: var(--shadow);

    transition: .4s;

    height: 100%;

}

.contact-card:hover {

    transform: translateY(-10px);

    box-shadow: var(--shadowHover);

}

.contact-icon {

    width: 50px;
    height: 50px;

    background: var(--primary);

    color: #fff;

    border-radius: 50%;

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

    margin: auto;

    margin-bottom: 25px;

    font-size: 20px;

}

.contact-card h4 {

    font-weight: 700;
    font-size: 20px;

    margin-bottom: 15px;

}

.contact-card p {

    color: var(--text);
    text-align: center;

    margin-bottom: 8px;

}

/*=========================================
FOOTER
=========================================*/

.footer {

    background: #081b3c;

    color: #dbe7ff;

    padding-top: 90px;

}

.footer-logo {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    object-fit: cover;
    margin-left: 5px;
}

.footer h4 {

    color: #fff;

    margin-bottom: 25px;

    font-size: 22px;

}


.footer ul li {

    margin-bottom: 15px;

}

.footer ul li a {

    color: #dbe7ff;

    transition: .3s;

}

.footer-p{
    color: #dbe7ff;
}

.footer ul li a:hover {

    color: #fff;

    padding-left: 8px;

}

.footer-contact li {

    display: flex;

    gap: 12px;

    align-items: flex-start;

}

.footer-contact i {

    color: #fff;

    margin-top: 5px;

}

.footer-social {

    display: flex;

    gap: 15px;

}

.footer-social a {

    width: 45px;
    height: 45px;

    border-radius: 50%;

    background: rgba(255, 255, 255, .08);

    color: #fff;

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

    transition: .4s;

}

.footer-social a:hover {

    background: #1976D2;

}

.footer-bottom {

    border-top: 1px solid rgba(255, 255, 255, .08);

    margin-top: 70px;

    padding: 25px 0;

}

.footer-bottom p {

    margin: 0;
    text-align: center;



}








.footer-bottom a {

    color: #dbe7ff;

}

/*=========================================
FLOATING BUTTONS
=========================================*/

.whatsapp-btn {

    position: fixed;

    right: 18px;

    bottom: 30px;

    width: 60px;
    height: 60px;

    border-radius: 50%;

    background: #25D366;

    color: #fff;

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

    font-size: 28px;

    z-index: 999;

    box-shadow: 0 15px 35px rgba(0, 0, 0, .2);

}

#topBtn {

    position: fixed;

    right: 25px;

    bottom: 110px;

    width: 55px;
    height: 55px;

    border: none;

    border-radius: 50%;

    background: #0D47A1;

    color: #fff;

    cursor: pointer;

    display: none;

    z-index: 999;

    transition: .4s;

}

#topBtn:hover {

    background: #1976D2;

}

/*=========================================
COMMON HOVER EFFECT
=========================================*/

.service-card,
.project-card,
.about-card,
.contact-card,
.why-card {

    transition: all .4s ease;

}

.service-card:hover,
.project-card:hover,
.about-card:hover,
.contact-card:hover,
.why-card:hover {

    transform: translateY(-10px);

}

/*=========================================
Large Devices (1200px)
=========================================*/

@media (max-width:1200px) {

    .container {
        max-width: 1140px;
    }

    .hero-section h1 {
        font-size: 56px;
    }

    .section-title {
        font-size: 42px;
    }

    .blue-tag {
        color: var(--primary);
    }



    .navbar-nav .nav-link {
        margin: 0 8px;
    }

    .hero-rating {
        gap: 25px;
    }

}



/*=========================================
Laptop (992px)
=========================================*/

@media (max-width:991px) {

    section {
        padding: 80px 0;
    }

    .top-bar {
        display: none;
    }

    .custom-navbar {
        padding: 6px 0;
    }

    .navbar-brand img {
        height: 65px;
    }

    .navbar-collapse {

        background: #fff;

        margin-top: 20px;

        padding: 20px;

        box-shadow: 0 10px 30px rgba(0, 0, 0, .08);

    }

    .quote-btn {

        display: inline-block;

        margin-top: 15px;

    }

    .hero-section {

        text-align: center;

        padding: 80px 0;

    }

    .hero-section h1 {

        font-size: 46px;

    }

    .hero-btns {

        justify-content: center;

    }

    .hero-rating {

        justify-content: center;

        flex-wrap: wrap;

    }

    .hero-image {

        margin-top: 60px;

    }

    .card-one {

        left: 10px;

        top: 20px;

    }

    .card-two {

        right: 10px;

        bottom: 20px;

    }

    .about-image {

        margin-bottom: 50px;

    }

    .experience-box {

        right: 15px;

        bottom: 15px;

        width: 150px;

        height: 150px;

    }

    .about-features {

        grid-template-columns: 1fr;

    }

    .service-card img {

        height: 240px;

    }

    .project-image img {

        height: 260px;

    }

    .contact-card {

        margin-bottom: 25px;

    }

    .footer {

        text-align: center;

    }

    .footer-social {

        justify-content: center;

    }

    .footer-contact li {

        justify-content: center;

    }

    .footer-bottom {

        text-align: center;

    }

    .footer-bottom .text-md-end {

        text-align: center !important;

        margin-top: 15px;

    }

}



/*=========================================
Tablet (768px)
=========================================*/

@media (max-width:768px) {

    .hero-section h1 {

        font-size: 38px;

    }

    .section-title {

        font-size: 34px;

    }

    .hero-section p {

        font-size: 16px;

    }

    .hero-btns {

        flex-direction: column;

    }

    .btn-main,
    .btn-outline-main {

        width: 100%;

        justify-content: center;

        margin: 0;

    }

    .hero-rating {

        gap: 30px;

    }

    .hero-rating h3 {

        font-size: 28px;

    }

    .floating-card {

        display: none;

    }

    .gallery-filter {

        display: flex;

        flex-wrap: wrap;

        justify-content: center;

    }

    .gallery-filter button {

        margin: 5px;

        padding: 10px 20px;

    }

    .testimonial-card {

        padding: 35px 25px;

    }

    .cta-section {

        text-align: center;

    }

    .btn-light-custom,
    .btn-whatsapp {

        display: block;

        width: 100%;

        margin-bottom: 15px;

    }

}



/*=========================================
Mobile (576px)
=========================================*/

@media (max-width:576px) {

    section {

        padding: 70px 0;

    }

    .navbar-brand img {

        height: 70px;

    }

    .hero-section {

        padding: 40px 0;

    }

    .hero-section h1 {

        font-size: 32px;

        line-height: 1.3;

    }

    .section-title {

        font-size: 28px;

    }

    .section-text {

        font-size: 15px;
        

    }

    .hero-rating {

        display: grid;

        grid-template-columns: 1fr;

        gap: 20px;

    }

    .about-card,
    .service-card,
    project-card,
    why-card,
    contact-card {

        margin-bottom: 20px;

    }

    .service-card img {

        height: 220px;

    }

    .project-image img {

        height: 220px;

    }

    .gallery-card img {

        height: 240px;

    }

    .contact-card {

        padding: 35px 25px;

    }

    .footer {

        padding-top: 60px;

    }

    .footer-logo {

        height: 60px;
        width: 60px;

    }

    .footer h4 {

        margin-top: 30px;

    }

    .whatsapp-btn {

        width: 55px;

        height: 55px;

        font-size: 24px;

        right: 15px;

        bottom: 15px;

    }

    #topBtn {

        width: 48px;

        height: 48px;

        right: 15px;

        bottom: 80px;

    }

}



/*=========================================
Extra Small (400px)
=========================================*/

@media (max-width:400px) {

    .hero-section h1 {

        font-size: 28px;

    }

    .section-title {

        font-size: 24px;

    }

    .hero-tag {

        font-size: 13px;

    }

    .btn-main,
    .btn-outline-main {

        padding: 13px 22px;

        font-size: 15px;

    }

    .testimonial-card {

        padding: 25px 18px;

    }

    .experience-box {

        width: 80px;

        height: 80px;

    }

    .experience-box h2 {

        font-size: 20px;

    }

    .experience-box p {

        font-size: 12px;

    }

}



/*=========================================
Landscape Mobile
=========================================*/

@media (max-height:500px) {

    .hero-section {

        padding: 80px 0;

    }

}

/*=========================================
Responsive improvements for all screen sizes
=========================================*/

html,
body {
    overflow-x: hidden;
}

img,
svg,
video {
    display: block;
    max-width: 100%;
    height: auto;
}

.container {
    width: min(100% - 40px, 1320px);
    max-width: 1320px;
    padding-left: 20px;
    padding-right: 20px;
}

section {
    padding: clamp(70px, 8vw, 90px) 0;
}

.section-title {
    font-size: clamp(1.7rem, 3.1vw, 2.5rem);
    line-height: 1.2;
}

.hero-tag {
    font-size: clamp(0.78rem, 1.2vw, 0.95rem);
    padding: 8px 14px;
}

.hero-section {
    min-height: clamp(560px, 80vh, 860px);
    padding: clamp(90px, 10vw, 140px) 0;
}

.hero-section h1 {
    font-size: clamp(2rem, 4.1vw, 3.5rem);
    line-height: 1.1;
}

.hero-section p {
    font-size: clamp(0.95rem, 1.2vw, 1.05rem);
    line-height: 1.8;
}

.hero-btns {
    flex-wrap: wrap;
    gap: 14px;
}

.btn-main,
.btn-outline-main {
    white-space: nowrap;
}

.top-bar {
    padding: 10px 0;
}

.top-contact {
    flex-wrap: wrap;
    gap: 12px;
}

.top-social {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.navbar-brand img {
    height: clamp(60px, 8vw, 100px);
}

.custom-navbar .navbar-toggler {
    border: 0;
}

.custom-navbar .navbar-collapse {
    max-height: 75vh;
    overflow-y: auto;
}

.custom-navbar .navbar-nav .nav-link {
    padding: 12px 4px;
}

.navbar-nav {
    margin-left: 95px;
}

.quote-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 16px;
}

.counter-box {
    padding: 10px 10px;
}

.counter-box h2 {
    font-size: clamp(1.15rem, 2.2vw, 1.55rem);
}

.counter-box p {
    font-size: clamp(0.8rem, 1.2vw, 0.95rem);
}

.about-image img {
    width: 100%;
    height: auto;
    border: 10px solid #bbcef5;
}

.about-features {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.feature-item {
    align-items: flex-start;
}

.feature-item span {
    display: block;
}

.service-card {
    height: 100%;
    display: flex;
    flex-direction: column;
}

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

.service-content {
    flex: 1;
    padding: 24px;
}

.service-content h4 {
    font-size: clamp(1.1rem, 2vw, 1.45rem);
}

.service-content p {
    font-size: clamp(0.92rem, 1.1vw, 1rem);
}

.gallery-filter {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.gallery-filter button {
    margin: 0;
    padding: 10px 20px;
}

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

.testimonial-right {
    padding: clamp(2rem, 4vw, 4rem) !important;
}

.testimonial-heading h2 {
    font-size: clamp(1.7rem, 3.1vw, 2.5rem);
}

.testimonial-item p {
    font-size: clamp(0.95rem, 1.2vw, 1rem);
}

.contact-card {
    padding: 22px 18px;
}

.contact-card p {
    font-size: clamp(0.9rem, 1.15vw, 1rem);
}

.footer {
    padding-top: 70px;
}

.footer-social {
    flex-wrap: wrap;
    gap: 10px;
}

.whatsapp-btn {
    width: 56px;
    height: 56px;
    right: 16px;
    bottom: 20px;
}

#topBtn {
    width: 50px;
    height: 50px;
    right: 16px;
    bottom: 90px;
}

@media (max-width: 1400px) {
    .hero-section h1 {
        font-size: clamp(2.2rem, 3.8vw, 3rem);
    }

    .services-section .container-fluid {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media (max-width: 1200px) {
    .top-bar {
        display: none;
    }

    .hero-section {
        min-height: 70vh;
        padding: 100px 0;
    }

    .testimonial-wrapper {
        flex-direction: column;
    }

    .testimonial-image {
        display: none;
    }

    .testimonial-right {
        width: 100%;
    }

    .testimonial-right::before {
        display: none;
    }
}

@media (max-width: 992px) {
    .navbar-collapse {
        background: #fff;
        margin-top: 1rem;
        padding: 1rem 1.2rem;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    }

    .hero-section {
        padding: 90px 0 80px;
    }

    .hero-btns {
        flex-direction: column;
        align-items: center;
    }

    .btn-main,
    .btn-outline-main {
        width: min(100%, 280px);
        justify-content: center;
        margin: 0;
    }

    .counter-section .row>div {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .about-section .row>div {
        margin-bottom: 1.5rem;
    }

    .service-card img {
        height: 220px;
    }

    .footer .row>div {
        margin-bottom: 1.25rem;
    }
}

@media (max-width: 768px) {
    section {
        padding: 70px 0;
    }

    .hero-section {
        min-height: auto;
        padding: 80px 0 70px;
    }

    .hero-section h1 {
        font-size: clamp(1.9rem, 6.4vw, 2.8rem);
    }

    .hero-section p {
        font-size: 0.98rem;
    }

    .about-features {
        grid-template-columns: 1fr;
    }

    .service-card img {
        height: 200px;
    }

    .gallery-filter button {
        width: 100%;
    }

    .cta-section .row {
        gap: 1rem;
    }

    .footer {
        padding-top: 60px;
        text-align: center;
    }

    .footer-social {
        justify-content: center;
    }

    .footer-contact li {
        justify-content: center;
    }
}

@media (max-width: 576px) {
    .container {
        width: min(100% - 32px, 1320px);
        padding-left: 16px;
        padding-right: 16px;
    }

    .section-title {
        font-size: clamp(1.55rem, 6vw, 2.1rem);
    }

    .hero-tag {
        font-size: 0.75rem;
    }

    .hero-section h1 {
        font-size: clamp(1.7rem, 7vw, 2.35rem);
    }

    .hero-section p {
        font-size: 0.92rem;
    }

    .counter-section .row>div {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .service-card img {
        height: 190px;
    }

    .gallery-card img {
        height: 240px;
    }

    .whatsapp-btn {
        width: 52px;
        height: 52px;
        font-size: 24px;
        right: 12px;
        bottom: 14px;
    }

    #topBtn {
        width: 48px;
        height: 48px;
        right: 12px;
        bottom: 76px;
    }
}

@media (max-width: 480px) {
    .hero-section {
        padding: 70px 0 60px;
    }

    .btn-main,
    .btn-outline-main {
        padding: 13px 20px;
        font-size: 0.95rem;
    }

    .contact-card {
        padding: 18px 14px;
    }

    .navbar-nav {
        margin-left: 2px;
    }
}

@media (max-width: 390px) {
    .section-title {
        font-size: 1.45rem;
    }

    .hero-section h1 {
        font-size: 1.55rem;
    }

    .hero-section p {
        font-size: 0.9rem;
    }

    .experience-box {
        width: 80px;
        height: 80px;
    }

    .experience-box h2 {
        font-size: 1.2rem;
    }

    .experience-box p {
        font-size: 0.72rem;
    }
}

@media (max-width: 320px) {
    .container {
        width: min(100% - 24px, 1320px);
        padding-left: 12px;
        padding-right: 12px;
    }

    .hero-tag {
        font-size: 0.7rem;
        padding: 7px 10px;
    }

    .btn-main,
    .btn-outline-main {
        padding: 12px 16px;
        font-size: 0.9rem;
    }
}

/*==================================
Inner Hero
==================================*/

.inner-hero {

    position: relative;

    min-height: 300px;


    align-items: center;

    overflow: hidden;

}

.hero-image {

    position: absolute;

    inset: 0;

}

.hero-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    object-position: center;

}

.hero-overlay {

    position: absolute;

    inset: 0;

    background: linear-gradient(85deg, rgba(0, 0, 0, .78) 0%, rgba(0, 0, 0, .55) 40%, rgba(0, 0, 0, .12) 100%);

}



.hero-content {

    position: relative;

    z-index: 2;

    max-width: 520px;

    color: #fff;

}




.hero-content h2 {

    font-size: 48px;

    font-weight: 400;

    margin-bottom: 20px;

    line-height: 1.1;

    font: 36px;

}

.hero-content p {

    font-size: 20px;

    line-height: 1.7;

    margin-bottom: 35px;

    color: rgba(255, 255, 255, .9);

}

.breadcrumb-box {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    background: #fff;

    padding: 6px 16px;

    border-radius: 12px;

    font-weight: 600;

    margin-top: 10px;
    font-size: 11px;

}

.breadcrumb-box a {

    color: black;

    text-decoration: none;

}

.breadcrumb-box i {

    margin-right: 8px;

}

.breadcrumb-box .active {

    color: #0b2d6d;

}

.breadcrumb-box span {

    color: #0b2d6d;

}


/*=====================
Responsive
=====================*/

@media(max-width:992px) {

    .inner-hero {

        min-height: 360px;

    }

    .hero-content h2 {

        font-size: 32px;

    }



}

@media(max-width:768px) {

    .inner-hero {

        min-height: 200px;

    }

    .hero-content {

        max-width: 100%;
        margin-top: 52px;

    }

    .hero-content h2 {

        font-size: 34px;

    }

    .hero-content p {

        display: none;

    }

    .hero-subtitle {

        font-size: 14px;

    }

    .breadcrumb-box {

        padding: 4px 18px;

        gap: 10px;

        font-size: 14px;

    }

}

@media(max-width:480px) {

    .inner-hero {

        min-height: 250px;

    }

    .hero-content h2 {

        font-size: 28px;


    }

    .hero-subtitle {
        margin-bottom: 15px;

    }

    .breadcrumb-box {

        font-size: 10px;
        padding: 2px 10px;
    }

    .breadcrumb-box a {
        font-size: 10px;
    }

    .inner-hero {
        margin-top: -80px;
    }

}

/*=========================================
ABOUT US PAGE
=========================================*/

.about-home {
    position: relative;
    overflow: hidden;
    background: #fff;
    padding: 60px 0;
}

.about-images {
    position: relative;
    max-width: 560px;
    margin: auto;
    min-height: 640px;
}

/* Main Image */

.about-video{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border: 10px solid #bbcef5;
   
}

.about-image-main {
    position: absolute;
    top: 0;
    right: 0;
    width: 72%;
    height: 540px;
    overflow: hidden;
    z-index: 2;
}

.about-image-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .5s;
    border: 10px solid #bbcef5;
}

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

/* Small Image */

.about-image-small {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 48%;
    height: 250px;
    border: 10px solid #fff;
    overflow: hidden;
    z-index: 3;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .12);
}

.about-image-small img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .5s;
}

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


/* Decorative Shape */

.shape-one {
    position: absolute;
    width: 170px;
    height: 170px;
    border: 2px solid rgba(11, 45, 109, .18);
    transform: rotate(45deg);
    top: 70px;
    left: 35px;
    z-index: 1;
}


/* Decorative Lines */

.shape-two {
    position: absolute;
    width: 90px;
    height: 90px;
    right: 120px;
    bottom: 10px;
    background:
        repeating-linear-gradient(45deg,
            #0b2d6d,
            #0b2d6d 2px,
            transparent 2px,
            transparent 8px);
    opacity: .18;
}



/* Content */

.about-content {
    padding-left: 30px;
}



.about-content p {
    color: #000000;
    font-size: 17px;
    line-height: 1.9;
    margin-bottom: 22px;
}



/*=========================================
About Feature Cards
=========================================*/

.about-features {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin: 35px 0;
}

.feature-box {
    background: #fff;
    padding: 11px 22px;
    border: 1px solid #e9eef5;
    border-radius: 12px;
    transition: all .35s ease;
    position: relative;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0, 0, 0, .05);
}

.feature-box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: #003399;
    transition: .35s;
}


.feature-box h5 {
    font-size: 20px;
    font-weight: 700;
    color: #000;
    margin-bottom: 10px;
}

.feature-box p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: #000000;
}

/* Hover */

.feature-box:hover {
    transform: translateY(-8px);
    box-shadow: 0 18px 45px rgba(0, 0, 0, .12);
}

.feature-box:hover::before {
    width: 100%;
    opacity: .06;
}




/*=========================
Tablet
=========================*/

@media(max-width:991px) {

    .about-features {
        grid-template-columns: repeat(2, 1fr);
    }

}

/*=========================
Mobile
=========================*/

@media(max-width:767px) {

    .about-features {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .feature-box {
        padding: 22px;
    }

    .feature-box h5 {
        font-size: 18px;
    }

    .feature-box p {
        font-size: 14px;
    }



}





/*=========================
Large Laptop
=========================*/

@media(max-width:1200px) {

    .about-content h2 {
        font-size: 42px;
    }

    .about-images {
        min-height: 600px;
    }

    .about-image-main {
        height: 500px;
    }

}



/*=========================
Tablet
=========================*/

@media(max-width:991px) {

    .about-images {
        max-width: 520px;
        min-height: 560px;
        margin-bottom: 60px;
    }

    .about-content {
        padding-left: 0;
    }

    .about-content h2 {
        font-size: 40px;
    }

    .about-highlights {
        grid-template-columns: 1fr 1fr;
    }

}



/*=========================
Mobile
=========================*/

@media(max-width:767px) {

    .about-images {
        min-height: auto;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .about-image-main,
    .about-image-small {
        position: relative;
        width: 100%;
        height: auto;
        top: auto;
        right: auto;
        left: auto;
        bottom: auto;
        border: none;
    }

    .about-image-main img {
        height: 420px;
    }

    .about-image-small img {
        height: 240px;
    }

    .shape-one,
    .shape-two {
        display: none;
    }

     .about-content {
        text-align: center;
        margin-top: -60px;
    }

    .about-content h2 {
        font-size: 34px;
    }

    .about-highlights {
        grid-template-columns: 1fr;
        text-align: left;
    }

    .about-btn {
        text-align: center;
    }

}



/*=========================
Small Mobile
=========================*/

@media(max-width:480px) {

    .about-content h2 {
        font-size: 30px;
    }

    .about-content p {
        font-size: 15px;
    }

    .about-image-main img {
     display: none;
    }

    .about-image-small img {
        height: 200px;
    }


}

/*==============================
        OUR MISSION
==============================*/

.mission-section {
    padding: 60px 0;
    background: #f7f7f7;
    overflow: hidden;
}


/*==============================
        ROW
==============================*/

.mission-wrapper {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    position: relative;
    gap: 50px;

}

/*==============================
        CARD
==============================*/

.mission-card {
    width: 340px;
    height: 325px;
    background: #fff;
    position: relative;
    text-align: center;
    padding: 45px 25px 45px;
    border: 2px solid #bbcef5;
    box-shadow:
        inset 0 0 0 6px #6d6c6c38,
        0 12px 35px rgba(0, 0, 0, .06);
    border: 10px solid #fafafa;
}

.mission-icon {
    font-size: 40px;
    margin-top: -10px;
    color: #003399;
}

.mission-label {
    font-size: 18px;
    font-weight: 700;
    color: #000;
    margin-bottom: 15px;
}



/*==============================
        RESPONSIVE
==============================*/

@media(max-width:991px) {

    .mission-wrapper {
        flex-direction: column;
        align-items: center;
        gap: 70px;
    }

    .mission-card {
        width: 320px;
        height: 320px;
    }

}



/*==========================================
        HOVER EFFECT
==========================================*/

.mission-card {
    transition: .35s ease;
}

.mission-card:hover {
    transform: translateY(-8px);
}



/*==========================================
        MOBILE
==========================================*/

@media(max-width:991px) {

    .circle-line {
        display: none;
    }

}


/*=====================================
        TEAM SECTION
======================================*/

.team-section {
    padding: 60px 0;
    background: #ffffff;
}

.team-heading {
    text-align: center;
    margin-bottom: 70px;
}

.team-heading h6 {
    font-size: 42px;
    font-weight: 700;
    color: #0b1736;
    text-transform: uppercase;
    margin-bottom: 15px;
    letter-spacing: 1px;
}

.heading-line {
    width: 65px;
    height: 4px;
    background: #003399;
    display: block;
    margin: 0 auto 25px;
    border-radius: 20px;
}



/*=====================================
        TEAM CARD
======================================*/

.team-card {
    background: #fff;
    border: 10px solid #ececec;
    padding: 25px 35px 25px;
    text-align: center;
    height: 100%;
    transition: .35s;
    box-shadow: 0 8px 25px rgba(0, 0, 0, .06);
    margin-top: -10px;
}

.team-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .12);
}

/*=====================================
        IMAGE
======================================*/

.team-image {
    margin-bottom: 28px;
}

.team-image img {
    width: 170px;
    height: 170px;
    object-fit: cover;
    border-radius: 50%;
    border: 8px solid #f5f7fb;
    transition: .4s;
    display: block;
    margin: 0 auto;
}

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

/*=====================================
        CONTENT
======================================*/

.team-content h3 {
    font-size: 24px;
    color: #0b1736;
    font-weight: 700;
    margin-bottom: 10px;
}

.team-content span {
    display: block;
    color: #003399;
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 15px;
}

/* Divider */

.divider {
    width: 313px;
    height: 3px;
    background: #dddddd;
    margin: 0 auto 30px;
    border-radius: 30px;
}

/*=====================================
        PHONE BOX
======================================*/

.phone-box {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-top: -5px;
}

.phone-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.phone-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #eef4ff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: .35s;
}

.phone-icon i {
    color: #003399;
    font-size: 18px;
}

.phone-text {
    font-size: 18px;
    color: #222;
    font-weight: 500;
    letter-spacing: .3px;
}

.team-card:hover .phone-icon {
    background: #003399;
}

.team-card:hover .phone-icon i {
    color: #fff;
}



/*=====================================
        CARD HOVER
======================================*/

.team-card,
.team-image img,
.phone-icon,
.team-content h3,
.team-content span {
    transition: all .35s ease;
}

.team-card:hover h3 {
    color: #003399;
}

.team-card:hover span {
    letter-spacing: .3px;
}

/*=====================================
        TABLET
======================================*/

@media (max-width:991px) {

    .team-section {
        padding: 80px 0;
    }

    .team-heading {
        margin-bottom: 55px;
    }

    .team-heading h6 {
        font-size: 36px;
    }

    .team-heading h2 {
        font-size: 20px;
        line-height: 32px;
    }

    .team-card {
        padding: 40px 25px 30px;
    }

    .team-image img {
        width: 155px;
        height: 155px;
    }

    .team-content h3 {
        font-size: 28px;
    }

    .team-content span {
        font-size: 19px;
    }

    .phone-text {
        font-size: 17px;
    }

}

/*=====================================
        MOBILE
======================================*/

@media (max-width:767px) {

    .team-section {
        padding: 70px 0;
    }

    .team-heading {
        margin-bottom: 45px;
    }

    .team-heading h6 {
        font-size: 30px;
    }

    .heading-line {
        width: 55px;
    }

    .team-heading h2 {
        font-size: 18px;
        line-height: 30px;
        padding: 0 10px;
    }

    .team-card {
        padding: 35px 22px 30px;
    }

    .team-image {
        margin-bottom: 22px;
    }

    .team-image img {
        width: 145px;
        height: 145px;
    }

    .team-content h3 {
        font-size: 24px;
    }

    .team-content span {
        font-size: 17px;
    }

    .phone-box {
       
        gap: 12px;
    }
    .divider
 {
    width: 220px;
 }

    .phone-text {
        font-size: 16px;
    }

}

/*=====================================
        SMALL MOBILE
======================================*/

@media (max-width:575px) {

    .team-section {
        padding: 60px 0;
    }

    .team-heading h6 {
        font-size: 26px;
    }

    .team-heading h2 {
        font-size: 16px;
        line-height: 28px;
    }

    .team-card {
        padding: 30px 20px;
    }

    .team-image img {
        width: 130px;
        height: 130px;
    }

    .team-content h3 {
        font-size: 22px;
    }

    .team-content span {
        font-size: 16px;
    }

    .phone-icon {
        width: 44px;
        height: 44px;
    }

    .phone-icon i {
        font-size: 16px;
    }

    .phone-text {
        font-size: 15px;
    }

}

/*=====================================
        OPTIONAL ANIMATION
======================================*/

.team-card {
    animation: teamFade .8s ease;
}

@keyframes teamFade {

    0% {
        opacity: 0;
        transform: translateY(40px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }

}
/*=====================================
       PROJECT SECTION
======================================*/

.projects-section{
    padding:60px 0;
    
      /* background-image: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)),
        url("../images/section-bg.webp"); */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* Heading */

.section-desc{
    max-width:650px;
    margin:18px auto 0;
    color:#000000;
    line-height:1.8;
}

/* Project Item */

.project-item{
    border-bottom:1px solid #0000004f;
    padding:34px 0;
    transition:.35s ease;
}
.project-item-2{
    border-bottom:1px solid #0000004f;
    padding:34px 0;
    transition:.35s ease;
    background: #f5f5f7;
}

.project-item:last-child{
    border-bottom:none;
}

.project-item:hover{
    background:#fafafa;
}

/* Image */

.project-img{
    width:80px;
    height:80px;
    overflow:hidden;
}

.project-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.5s;
     border: 6px solid #ececec;
}

.project-item:hover .project-img img{
    transform:scale(1.08);
}

/* Content */

.project-content h4{
    font-size:22px;
    font-weight:700;
    text-transform:uppercase;
    margin-bottom:12px;
    color:#222;
    transition:.3s;
    line-height:1.3;
}

.project-content p{
    margin:0;
    color:#6c757d;
    line-height:1.9;
    font-size:16px;
}

/* Category */

.project-category{
    color:#003399;
    font-size:16px;
    font-weight:600;
    letter-spacing:1px;
    text-transform:capitalize;
    transition:.3s;
}

.project-item:hover .project-category{
    color:#003399;
}
.project-item-2:hover .project-category{
    color:#003399;
}

.project-category{
    font-size: 20px;
}
/* Hover */

.project-item:hover .project-content h4{
    color:#003399;
}
.project-item-2:hover .project-content h4{
    color:#003399;
}

/* Alignment */

.project-item .row{
    align-items:center;
}

/* Remove bootstrap gutter issue */

.project-item .col-lg-1,
.project-item .col-lg-9,
.project-item .col-lg-2{
    display:flex;
    align-items:center;
}

/* Smooth */

.project-content,
.project-category,
.project-img img{
    transition:.35s ease;
}

/* ===========================
   RESPONSIVE
=========================== */

@media (max-width:991px){

.project-item,
.project-item-2{
    padding:28px 0;
}

.project-item .row,
.project-item-2 .row{
    flex-wrap: wrap;
    align-items: flex-start;
}

.project-content h4{
    font-size:22px;
}

.project-content p{
    font-size:15px;
}

.project-category{
    font-size:15px;
}

}


@media (max-width:767px){

.projects-section{
    padding:70px 0;
}

.project-item,
.project-item-2{
    padding:25px 0;
}

.project-item .row,
.project-item-2 .row{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}

.project-item .col-lg-1,
.project-item .col-lg-9,
.project-item .col-lg-2,
.project-item .col-md-2,
.project-item .col-3,
.project-item .col-7,
.project-item .col-2,
.project-item-2 .col-lg-1,
.project-item-2 .col-lg-9,
.project-item-2 .col-lg-2,
.project-item-2 .col-md-2,
.project-item-2 .col-3,
.project-item-2 .col-7,
.project-item-2 .col-2{
    width:100% !important;
    max-width:100% !important;
    flex:0 0 100% !important;
}

.project-img{
    width:80px;
    height:80px;
    margin-bottom:15px;
}

.project-content{
    margin-top:10px;
}

.project-content h4{
    font-size:16px;
    margin-bottom:8px;
    word-break: break-word;
}

.project-content p{
    font-size:13px;
    line-height:1.7;
    word-break: break-word;
}

.project-category{
    display:inline-block;
    margin-top:15px;
    font-size:14px;
    text-align:left;
}

.project-item .text-end,
.project-item-2 .text-end{
    text-align:left !important;
}

.project-item:hover,
.project-item-2:hover{
    padding-left:0;
}

}


/* ===========================
      PREMIUM HOVER
=========================== */

.project-item{
    position:relative;
    overflow:hidden;
}

.project-item::before{

    content:"";
    position:absolute;
    left:0;
    top:0;

    width:0;
    height:100%;

    background:#003399;

    transition:.45s;

}

.project-item:hover::before{

    width:5px;

}

.project-item-2:hover::before{

    width:5px;

}

.project-item:hover{

    padding-left:18px;

}
.project-item-2:hover{

    padding-left:18px;

}


/* image zoom */

.project-item:hover img{

    transform:scale(1.12);

}
.project-item-2:hover img{

    transform:scale(1.12);

}

/* title */

.project-item:hover h4{

    color:#003399;

}
.project-item-2:hover h4{

    color:#003399;

}


/* description */

.project-item:hover p{

    color:#444;

}
.project-item-2:hover p{

    color:#444;

}


/* category */

.project-item:hover .project-category{

    color:#003399;
    letter-spacing:2px;

}
.project-item-2:hover .project-category{

    color:#003399;
    letter-spacing:2px;

}


/* shadow */

.project-item:hover{

    box-shadow:0 8px 25px rgba(0,0,0,.04);

}
.project-item-2:hover{

    box-shadow:0 8px 25px rgba(0,0,0,.04);

}



/* smooth */

.project-item,
.project-item::before,
.project-item img,
.project-item h4,
.project-item p,
.project-category{

transition:.35s ease;

}

/* CONTACT US */

.contact-section {

    background: #f7f6f5;
    padding: 60px 0;
}

.contact-tag {

    color: #c89a63;
    letter-spacing: 2px;
    font-weight: 700;
    font-size: 15px;
}

.contact-title {

    font-size: 58px;
    font-weight: 700;
    line-height: 1.08;
    color: #1d252c;
    margin-top: 18px;
}

.contact-info {

    display: flex;
    gap: 18px;
    padding: 22px 0;
    border-bottom: 1px solid #e8e8e8;
    margin-bottom: 9px;
}

.contact-info .icon {

    font-size: 28px;
    color: #003399;
    min-width: 32px;
}

.contact-info div:last-child {

    color: #fff;
    font-weight: 400;
    line-height: 1.9;
    font-size: 18px;
}

.contact-info a {
   color: #fff;
    font-weight: 400;
    line-height: 1.9;
    font-size: 18px;
}

.contact-left {
    background: linear-gradient(rgb(0 0 0 / 70%), rgb(0 0 0 / 70%)), url(../images/home-why-choose-img.png) center center / cover no-repeat;

    padding: 47px 60px;
    
    color: #fff;
}

.contact-form {

    background: #fff;
    padding: 45px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, .05);
    margin-top: 15px;
}

.contact-form .form-control {

    height: 55px;
    margin-bottom: 5px;
    border-radius: 0;
    border: 1px solid #e4e4e4;
    font-size: 16px;
    box-shadow: none;
}

.contact-form textarea {

    height: 137px !important;
    resize: none;
    padding-top: 18px;
}

.contact-form .form-control:focus {

    border-color: #b8bfce;
    box-shadow: none;
}

.send-btn {

    background: #b8bfce;
    color: #fff;
    border: none;
    padding: 16px 40px;
    font-weight: 700;
    transition: .3s;
}

.send-btn:hover {

    background: #1d252c;
}

@media(max-width:991px) {

    .contact-title {

        font-size: 42px;

    }

    .contact-form {

        margin-top: 40px;

    }

    .hours-card {

        margin-top: 35px;

    }

}

@media(max-width:767px) {

    .contact-section {

        padding: 70px 0;

    }

    .contact-title {

        font-size: 34px;

    }

    .contact-form {

        padding: 25px;

    }

    .hours-card {

        padding: 30px;

    }

    .contact-info {

        padding: 18px 0;

    }

    .hours {

        font-size: 15px;

    }

    .contact-info div:last-child {

    font-size: 13px;
}

.contact-info a {
   
    font-size: 13px;
}
.contact-left{
    padding: 47px 15px;
}

.contact-info .icon {
    font-size: 18px;
    color: #003399;
    min-width: 16px;
}
    .contact-form {
        margin-top: -16px;
    }

}
/*==================================================
            SERVICE DETAILS
==================================================*/

.service-details{
    padding:100px 0;
    background:#fff;
}

.service-sidebar-col{
    align-self:flex-start;
}

/*==================================================
            STICKY SIDEBAR
==================================================*/

.service-sidebar{

    position:sticky;
    position:-webkit-sticky;

    top:110px;

    z-index:99;

}

.service-sidebar{
    position: sticky;
    position: -webkit-sticky;
    top: 110px;
    z-index: 99;
}

/* Tablet & Mobile */
@media (max-width: 991.98px){
    .service-sidebar{
        position: static;
        top: auto;
    }
}

/*==================================================
            SERVICE MENU BOX
==================================================*/

.service-menu-box{

    background:#fff;


    overflow:hidden;

    border:1px solid #ececec;

    box-shadow:0 10px 35px rgba(0,0,0,.08);

}

/*==================================================
            SIDEBAR TITLE
==================================================*/

.sidebar-title{

    background:#081b3c;

    color:#fff;

    margin:0;

    padding:20px 25px;

    font-size:22px;

    font-weight:600;

}

/*==================================================
            MENU
==================================================*/

.service-menu{

    margin:0;

    padding:0;

    list-style:none;

}

.service-menu li{

    border-bottom:1px solid #efefef;

}

.service-menu li:last-child{

    border-bottom:none;

}

.service-menu li a{

    display:flex;

    justify-content:space-between;

    align-items:center;

    text-decoration:none;

    color:#222;

    font-weight:600;

    padding:18px 25px;

    transition:.35s;

}

.service-menu li a::after{

    content:"\f105";

    font-family:"Font Awesome 6 Free";

    font-weight:900;

    transition:.35s;

}

.service-menu li:hover a{

    background:#003399;

    color:#fff;

    padding-left:32px;

}

.service-menu li:hover a::after{

    transform:translateX(8px);

}

.service-menu li.active a{

    background:#003399;

    color:#fff;

}

.service-menu li.active a::after{

    color:#fff;

}

/*==================================================
            BROCHURE
==================================================*/

.brochure-box{

    margin-top:18px;

    background:#111;

    color:#fff;

    padding:35px;

    position:relative;

    overflow:hidden;

    box-shadow:0 10px 35px rgba(0,0,0,.10);

}



.brochure-box h5{

    font-size:28px;

    margin-bottom:20px;

    font-weight:700;

    position:relative;

}






/*==================================================
            CONTENT IMAGE
==================================================*/

.service-image{

    margin:40px 0;

    overflow:hidden;

border: 10px solid #f5f5f7;

}

.service-image img{

    width:100%;

    height:400px !important;

    object-fit:cover;

    transition:.5s;

}

.service-image:hover img{

    transform:scale(1.05);

}

/*==================================================
            DESCRIPTION
==================================================*/

.service-description{

    margin-top:15px;

}

.service-description p{

    line-height:1.9;

    margin-bottom:18px;

}

/*==================================================
            FEATURE CARD
==================================================*/

.feature-card{

    background:#fff;

    padding:35px;

    height:100%;

    border-radius:10px;

    border:1px solid #eee;

    box-shadow:0 10px 35px rgba(0, 0, 0, 0.24);

    transition:.35s;

}

.feature-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 45px rgba(0,0,0,.12);

}

.feature-icon{

    width:42px;

    height:42px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:#003399;

    margin-bottom:22px;

}

.feature-icon i{

    color:#fff;

    font-size:18px;

}

.feature-card h4{

    margin-bottom:15px;

    font-size:22px;

    font-weight:700;

    color:#000000;

    

}

.feature-card p{

    margin:0;

    line-height:1.8;

}

.service-sidebar.fixed{

    position: fixed;

    top: 20px;

    width: 408px !important;

    z-index: 999;

}

.service-sidebar.absolute{

    position: absolute;

    bottom: 0;

}


/*==================================================
                SECTION SPACING
==================================================*/

.service-description,
.service-features
{

    margin-top:70px;

}

/*==================================================
            LARGE DESKTOP
==================================================*/

@media(min-width:1600px){

.service-details{

    padding:120px 0;

}

.service-image img{

    height:650px;

}



.service-sidebar{

    top:140px;

}

}

/*==================================================
                DESKTOP
==================================================*/

@media(max-width:1399px){

.service-image img{

    height:500px;

}



}

/*==================================================
                LAPTOP
==================================================*/

@media(max-width:1199px){

.service-sidebar{

    top:90px;

}

.service-image img{

    height:420px;

}

.feature-card{

    padding:28px;

}

.feature-card h4{

    font-size:20px;

}



}

/*==================================================
                TABLET
==================================================*/

@media(max-width:991px){

.service-details{

    padding:80px 0;

}

.service-sidebar{

    position:relative;

    top:0;

    margin-bottom:50px;

}

.service-menu-box{

    margin-bottom:30px;

}

.service-image img{

    height:360px;

}


.feature-card{

    padding:25px;

}

.sidebar-title{

    font-size:20px;

}

}

/*==================================================
                MOBILE
==================================================*/

@media(max-width:767px){

.service-details{

    padding:70px 0;

}

.service-menu li a{

    padding:16px 18px;

    font-size:15px;

}

.brochure-box{

    padding:25px;

}

.brochure-box h5{

    font-size:24px;

}

.brochure-box a{

    width:100%;

    justify-content:center;

}

.service-image{

    margin:30px 0;

}

.service-image img{

    height:260px;

}

.feature-card{

    padding:22px;

}

.feature-icon{

    width:50px;

    height:50px;

}

.feature-icon i{

    font-size:18px;

}

.feature-card h4{

    font-size:18px;

}



}

/*==================================================
            SMALL MOBILE
==================================================*/

@media(max-width:575px){

.service-details{

    padding:60px 0;

}

.sidebar-title{

    font-size:18px;

}

.service-menu li a{

    padding:15px;

    font-size:14px;

}

.service-image img{

    height:220px;

}



.feature-card{

    padding:20px;

}

.brochure-box{

    padding:22px;

}

}

/*==================================================
            EXTRA SMALL
==================================================*/

@media(max-width:380px){

.service-image img{

    height:180px;

}



.service-menu li a{

    font-size:13px;

}

}

/*==================================================
            ANIMATIONS
==================================================*/

.service-menu li a,
.feature-card,
.service-image img,
.brochure-box,
.brochure-box a{

transition:all .35s ease;

}
/*=====================================
            FAQ
=====================================*/

.service-faq{
    margin-top:80px;
}

.faq-item{

    background:#fff;

    margin-bottom:18px;

    box-shadow:0 10px 30px rgba(0, 0, 0, 0.11);

    overflow:hidden;

}

.faq-question{

    padding:22px 25px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    cursor:pointer;

    transition:.35s;

}

.faq-question h5{

    margin:0;

    font-size:19px;

    font-weight:600;

    color:#222;

}

.faq-icon{

    width:36px;

    height:36px;

    border-radius:50%;

    background:#003399;

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:24px;

    transition:.35s;

}

.faq-answer{

    max-height:0;

    overflow:hidden;

    transition:max-height .4s ease;

    background:#fff;

}

.faq-answer p{

    padding:0 25px 25px;

    margin:0;

    line-height:1.9;

    color:#666;

}

.faq-item.active .faq-answer{

    max-height:300px;

}

.faq-item.active .faq-question{

    background:#003399;

}

.faq-item.active .faq-question h5{

    color:#fff;

}

.faq-item.active .faq-icon{

    background:#fff;

    color:#003399;

}

@media(max-width:767px){

.faq-question{

    padding:18px;

}

.faq-question h5{

    font-size:13px;

}

.faq-answer p{

    padding:0 18px 18px;

}

}

/*=========================================
    CONSTRUCTION SERVICES NAVIGATION
=========================================*/

.construction-services-nav{
    padding:10px 0;
}

.construction-nav-wrapper{

    background:#fff;

    border-radius:18px;

    padding:22px;

    display:flex;

    flex-wrap:wrap;

    align-items:center;

    justify-content:space-between;

    gap:25px;

    box-shadow:0 12px 40px rgba(0,0,0,.08);

    border:1px solid #edf0f5;

}


/*=========================================
    SERVICES LIST
=========================================*/

.construction-nav-scroll{

    flex:1;

    min-width:0;

    width:100%;

    overflow-x:auto;

    scrollbar-width:none;

    -ms-overflow-style:none;

}

.construction-nav-scroll::-webkit-scrollbar{

    display:none;

}

.construction-service-list{

    margin:0;

    padding:0;

    list-style:none;

    display:flex;

    align-items:stretch;

    gap:15px;

    min-width:max-content;

}

.construction-service-list li{

    flex:0 0 auto;

}


/*=========================================
    SERVICE ITEM
=========================================*/

.construction-service-list li a {
    width: 121px;
    min-height: 109px;
    padding: 12px 15px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    text-decoration: none;
    border: 1px solid #e8ebf1;
    border-radius: 14px;
    background: #fff;
    
}

.construction-service-list li a i{

    font-size:18px;

    color:#003399;

    margin-bottom:14px;

    transition:.35s;

}

.construction-service-list li a span{

    font-size:13px;

    line-height:1.6;

    font-weight:600;

    color:#222;

    transition:.35s;

}


/*=========================================
    HOVER
=========================================*/

.construction-service-list li a:hover{


    border-color:#003399;

    box-shadow:0 15px 35px rgba(0,51,153,.18);

}

.construction-service-list li a:hover i{

    transform:scale(1.15);

}

.construction-service-list li a:hover span{

    color:#003399;

}


/*=========================================
    ACTIVE
=========================================*/

.construction-service-list li.active a{

    background:#003399;

    border-color:#003399;

    box-shadow:0 18px 40px rgba(0,51,153,.28);

}

.construction-service-list li.active a i,

.construction-service-list li.active a span{

    color:#fff;

}

/*=========================================
      DOWNLOAD BROCHURE
=========================================*/

.construction-download{

    flex-shrink:0;

}

.construction-download .btn-main{

    min-width:220px;

    height:64px;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    font-size:16px;

    font-weight:600;

    border-radius:12px;

    white-space:nowrap;

}

.construction-download .btn-main i{

    font-size:20px;

}


/*=========================================
      STICKY NAVIGATION
=========================================*/

.construction-services-nav.sticky{

    position:sticky;

    top:90px;

    z-index:99;

}






/*=========================================
      SMOOTH TRANSITION
=========================================*/

.construction-service-list li a,
.construction-service-list li a i,
.construction-service-list li a span,
.construction-download .btn-main{

    transition:all .35s ease;

}

/*=========================================
    CONSTRUCTION SERVICE CONTENT
=========================================*/

.construction-service-content{
    padding:0px 0;
    background:#fff;
}

/*=========================================
        IMAGE
=========================================*/

.construction-image{
    position:relative;
    overflow:hidden;
    box-shadow:0 18px 45px rgba(0,0,0,.12);
    border: 10px solid #f5f5f7;
        height: 520px;
}

.construction-image img{
    width:100%;
    height:650px;
    object-fit:cover;
    transition:.6s;
}

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

/*=========================================
        CONTENT
=========================================*/

.construction-service-content .section-title{
    margin-bottom:25px;
}

.construction-service-content .section-text{
    margin-bottom:18px;
    line-height:1.9;
}

/*=========================================
        INFO GRID
=========================================*/

.construction-info{
    margin-top:40px;

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:22px;
}

/*=========================================
        INFO CARD
=========================================*/

.construction-info-box{

    background:#fff;


    padding:25px;

    display:flex;

    align-items:flex-start;

    gap:18px;

    border:1px solid #ececec;

    box-shadow:0 10px 30px rgba(0,0,0,.06);

    transition:.35s;

}

.construction-info-box:hover{

    transform:translateY(-8px);

    border-color:#003399;

    box-shadow:0 18px 45px rgba(0,51,153,.14);

}

/*=========================================
        ICON
=========================================*/

.construction-info-box i{

    width:42px;

    height:42px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#003399;

    color:#fff;

    font-size:18px;

    flex-shrink:0;

}

/*=========================================
        TEXT
=========================================*/

.construction-info-box h5{

    font-size:20px;

    margin-bottom:10px;

    font-weight:700;

    color:#111;

}

.construction-info-box p{

    margin:0;

    color:#666;

    line-height:1.7;

}

/*=========================================
        RESPONSIVE
=========================================*/
@media(max-width:480px){


.construction-image {
        margin-bottom: 0px;
        margin-top: -100px;
    }


    .service-content{
        padding: 0px 0px;
    }
}

@media(max-width:1199px){

.construction-image img{
    height:560px;
}
.construction-nav-wrapper{
    margin-bottom: -30px;
}

}

@media(max-width:991px){

.construction-service-content{
    padding:80px 0;
}

.construction-image{
    margin-bottom:45px;
}

.construction-image img{
    height:480px;
}

}

@media(max-width:767px){

.construction-service-content{
    padding:70px 0;
}

.construction-image img{
    height:350px;
}

.construction-info{

    grid-template-columns:1fr;

    gap:18px;

}

.construction-info-box{

    padding:22px;

}

.construction-info-box i{

    width:54px;

    height:54px;

    font-size:20px;

}
.construction-nav-wrapper{
    margin-bottom: 0px;
}

}

@media(max-width:480px){
    .construction-image{
        height: auto;
    }

}

@media(max-width:575px){

.construction-image img{
    height:280px;
}

.construction-info-box{

    padding:20px;

}

.construction-info-box h5{

    font-size:18px;

}

.construction-info-box p{

    font-size:14px;

}

.construction-nav-wrapper{
    margin-bottom: 0px;
}

}

.construction-nav-scroll{

    overflow-x: scroll;
    overflow-y: hidden;

    scrollbar-width: thin;
    scrollbar-color: #003399 #e9ecef;

}

/* Chrome, Edge, Safari */

.construction-nav-scroll::-webkit-scrollbar{

    height: 8px;

}

.construction-nav-scroll::-webkit-scrollbar-track{

    background: #ececec;
    border-radius: 10px;

}

.construction-nav-scroll::-webkit-scrollbar-thumb{

    background: #003399;
    border-radius: 10px;

}

.construction-nav-scroll::-webkit-scrollbar-thumb:hover{

    background: #002266;

}

/*=========================================
        NAVIGATION WRAPPER
=========================================*/

.construction-nav-wrapper{

    position:relative;

    display:flex;

    align-items:center;

    gap:15px;

    margin-bottom:60px;

}

/*=========================================
        SCROLL AREA
=========================================*/

.construction-nav-scroll{

    flex:1;

    min-width:0;

    width:100%;

    overflow-x:auto;

    overflow-y:hidden;

    scroll-behavior:smooth;

    -webkit-overflow-scrolling:touch;

    scrollbar-width:none;

    -ms-overflow-style:none;

}

.construction-nav-scroll::-webkit-scrollbar{

    display:none;

}

/*=========================================
        SERVICE LIST
=========================================*/

.construction-service-list{

    display:flex;

    flex-wrap:nowrap;

    gap:38px;

    width:max-content;

    list-style:none;

    margin:0;

    padding:0;

}

/*=========================================
        SCROLL BUTTONS
=========================================*/

.scroll-btn{

    width:52px;

    height:52px;

    border:none;

    border-radius:50%;

    background:#003399;

    color:#fff;

    cursor:pointer;

    display:flex;

    align-items:center;

    justify-content:center;

    flex-shrink:0;

    box-shadow:0 10px 30px rgba(0,0,0,.18);

    transition:.35s;

}

.scroll-btn i{

    font-size:18px;

}

.scroll-btn:hover{

    background:#081b3c;

    transform:translateY(-3px);

    box-shadow:0 15px 35px rgba(0,0,0,.25);

}

.scroll-btn:active{

    transform:scale(.95);

}

/*=========================================
        RESPONSIVE
=========================================*/

@media(max-width:991px){

.scroll-btn{

    display:none;

}

.construction-nav-wrapper{

    gap:0;

    padding:18px;

}

.construction-nav-scroll{

    overflow-x:auto;

    -webkit-overflow-scrolling:touch;

    width:100%;

}

.construction-service-list{

    gap:18px;

}

.construction-service-list li a{

    min-width:110px;

    padding:12px 14px;

}

}

.construction-feature{
    padding: 10px 0;
      background-image: url("../images/section-bg.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

}

/*========================================
      CONSTRUCTION PROCESS CSS
========================================*/

.construction-process{
    padding:100px 0;
    background:#fff;
    overflow:hidden;
}

.construction-process .section-title{
    text-align:center;
    margin-bottom:70px;
}

.construction-process .section-title h2{
    font-size:48px;
    font-weight:800;
    color:#222;
    text-transform:uppercase;
    margin-bottom:18px;
    letter-spacing:1px;
}

.construction-process .section-title h2 span{
    color:#0b3b82;
}

.title-line{
    width:120px;
    height:4px;
    background:#0b3b82;
    margin:18px auto;
    border-radius:20px;
}

.construction-process .section-title p{
    color:#666;
    font-size:19px;
    margin:0;
}

/*==== PROCESS SECTION =============*/

.construction-process{
     padding: 60px 0;
      background-image: url("../images/section-bg.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.process-wrapper{

    position:relative;

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    gap:25px;

}


.process-line{

    position:absolute;

    left:0;

    right:0;

    top:12px;

    height:3px;
    background:#003399;

    z-index:0;

}


.process-item{

    width:16.66%;

    text-align:center;

    position:relative;

    z-index:2;
    margin-top: -15px;

}


.step-number{

    width:52px;

    height:52px;

    background:#003399;

    color:#fff;

    border-radius:50%;

    margin:auto;

    font-size:22px;

    font-weight:700;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:-18px;

    position:relative;

    z-index:5;

}


.process-circle{

    width:180px;

    height:180px;

    margin:auto;

    border-radius:50%;

    background:#fff;

    position:relative;

    box-shadow:0 10px 35px rgba(0,0,0,.12);

    display:flex;

    justify-content:center;

    align-items:center;

    overflow:hidden;

}


.process-circle i{

    font-size:62px;

    color:#0b3b82;

    z-index:3;

}






.dot::before{

    content:"";

    width:2px;

    height:42px;

    background:#003399;

    position:absolute;

    top:-42px;

    left:50%;

    transform:translateX(-50%);

}



.process-item h4 {
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 14px;
    color: #000000;
    margin-top: 35px;
}



.process-item p{

    line-height:1.8;

    font-size:15px;

    padding:0 10px;

    text-align: center;

}


/*=========================
        Hover
==========================*/



.process-item:hover .step-number{

    background:#003399;

    transition:.4s;

}

.process-item:hover i{

    transform:scale(1.08);

    transition:.4s;

}


/*=========================
      Tablet
==========================*/

@media(max-width:1199px){

.process-wrapper{

    flex-wrap:wrap;

    row-gap:60px;

}

.process-item{

    width:33.333%;

}

.process-line{

    display:none;

}

}



/*=========================
        Mobile
==========================*/

@media(max-width:767px){

.construction-process{

    padding:70px 0;

}

.construction-process .section-title h2{

    font-size:34px;

}

.construction-process .section-title p{

    font-size:16px;

}

.process-wrapper{

    flex-direction:column;

    align-items:center;

}

.process-item{

    width:100%;

    max-width:320px;

}



.process-item h4{

    font-size:18px;

}

.process-item p{

    font-size:15px;

}

}

/*=========================================
Get A Quote Modal Styling
=========================================*/
.quote-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(10, 15, 30, 0.65);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.quote-modal-overlay.active {
    opacity: 1;
    visibility: visible;
}

.quote-modal-card {
    background: #ffffff;
    width: 100%;
    max-width: 680px;
    border-radius: 12px;
    padding: 35px 35px 35px 35px;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.25);
    position: relative;
    transform: translateY(20px) scale(0.96);
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.quote-modal-overlay.active .quote-modal-card {
    transform: translateY(0) scale(1);
}

/* Modal Header */
.quote-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 25px;
}

.quote-modal-header h3 {
    font-size: 24px;
    font-weight: 700;
    color: var(--dark, #1F2937);
    margin: 0;
    font-family: 'Poppins', sans-serif;
}

.quote-modal-header p {
    font-size: 13.5px;
    color: #6b7280;
    margin-top: 4px;
    margin-bottom: 0;
}

.quote-modal-close {
    background: #f3f4f6;
    border: none;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    font-size: 20px;
    color: #4b5563;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    outline: none;
}

.quote-modal-close:hover {
    background: #e5e7eb;
    color: #111827;
    transform: rotate(90deg);
}

/* Form Fields */
.quote-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

@media (max-width: 576px) {
    .quote-form-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    .quote-modal-card {
        padding: 25px 20px;
    }
}

.quote-form-group {
    display: flex;
    flex-direction: column;
}

.quote-form-group.full-width {
    margin-bottom: 25px;
}

.quote-input,
.quote-textarea {
    width: 100%;
    padding: 14px 18px;
    font-size: 15px;
    font-family: 'Poppins', sans-serif;
    color: #1f2937;
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.quote-input::placeholder,
.quote-textarea::placeholder {
    color: #6c757d;
    font-size: 15px;
    font-family: 'Poppins', sans-serif;
}

.quote-input:focus,
.quote-textarea:focus {
    border-color: #003399;
    box-shadow: 0 0 0 3px rgba(0, 51, 153, 0.12);
}

.quote-textarea {
    resize: vertical;
    min-height: 120px;
}

/* Submit Button */
.quote-submit-btn {
    background-color: #003399;
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    font-family: 'Poppins', sans-serif;
    padding: 14px 38px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    box-shadow: 0 14px 30px rgba(0, 51, 153, 0.5);
    transition: all 0.3s ease;
    display: inline-block;
}

.quote-submit-btn:hover {
    background-color: #002277;
    transform: translateY(-2px);
    box-shadow: 0 18px 36px rgba(0, 51, 153, 0.6);
}

.quote-submit-btn:active {
    transform: translateY(0);
    box-shadow: 0 8px 18px rgba(0, 51, 153, 0.4);
}

/* Success Message Alert */
.quote-success-msg {
    display: none;
    background: #dcfce7;
    border: 1px solid #86efac;
    color: #166534;
    padding: 14px 18px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 20px;
}

/*=========================================
Gallery Card & Hover Overlay
=========================================*/
.gallery-card {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    height: 280px;
    background: #f8f9fa;
}

.gallery-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

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

.gallery-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 51, 153, 0.82);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.35s ease;
    padding: 20px;
}

.gallery-card:hover .gallery-overlay {
    opacity: 1;
    visibility: visible;
}

.gallery-overlay-content {
    text-align: center;
    color: #ffffff;
    transform: translateY(15px);
    transition: transform 0.35s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.gallery-card:hover .gallery-overlay-content {
    transform: translateY(0);
}

.gallery-overlay p,
.gallery-title {
    color: #ffffff;
    font-size: 18px;
    font-weight: 600;
    margin: 0;
    font-family: 'Poppins', sans-serif;
}

.gallery-zoom-icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #ffffff;
    color: #003399;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.2);
    transition: all 0.3s ease;
}

.gallery-zoom-icon:hover {
    background: #002277;
    color: #ffffff;
    transform: scale(1.15);
}

/*=========================================
Gallery Lightbox Modal (Same Size Images)
=========================================*/
.gallery-lightbox-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.88);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.gallery-lightbox-overlay.active {
    opacity: 1;
    visibility: visible;
}

.gallery-lightbox-card {
    background: #111827;
    width: 90vw;
    max-width: 850px;
    height: 580px;
    max-height: 82vh;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.5);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transform: scale(0.92);
    transition: transform 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.gallery-lightbox-overlay.active .gallery-lightbox-card {
    transform: scale(1);
}

.gallery-lightbox-close {
    position: absolute;
    top: 15px;
    right: 15px;
    background: rgba(255, 255, 255, 0.25);
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: #ffffff;
    font-size: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: all 0.25s ease;
    backdrop-filter: blur(4px);
    line-height: 1;
}

.gallery-lightbox-close:hover {
    background: #ef4444;
    color: #ffffff;
    transform: rotate(90deg) scale(1.1);
}

.gallery-lightbox-img-wrapper {
    width: 100%;
    height: calc(100% - 60px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: #000000;
}

.gallery-lightbox-img-wrapper img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 4px;
}

.gallery-lightbox-caption {
    width: 100%;
    height: 60px;
    background: #1f2937;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    font-weight: 600;
    font-family: 'Poppins', sans-serif;
    padding: 0 20px;
    text-align: center;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}
