/*======================================
    GOOGLE FONT
=======================================*/

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


/*======================================
    RESET
=======================================*/

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

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Poppins', sans-serif;
    background: #ffffff;
    color: #222;
    overflow-x: hidden;

    position: relative;
}

a {
    text-decoration: none;
}

ul {
    list-style: none;
}

img {
    max-width: 100%;
    display: block;
}


/*======================================
    CONTAINER
=======================================*/

.container {
    width: 90%;
    max-width: 1280px;
    margin: auto;
}


/*======================================
        TOPBAR
=======================================*/

.topbar {

    background: #132d8b;
    color: #fff;
    height: 42px;

}

.topbar-wrapper {

    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 42px;

}


/*======================================
    SOCIAL
=======================================*/

.social {

    display: flex;
    gap: 18px;

}

.social a {

    color: #fff;
    font-size: 15px;
    transition: .35s;

}

.social a:hover {

    color: #ffd000;
    transform: translateY(-2px);

}


/*======================================
    OPENING TIME
=======================================*/

.opening {

    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 500;

}

.opening i {

    font-size: 15px;

}


/*======================================
    BOOK BUTTON
=======================================*/

.book-btn a {

    background: #fff;
    color: #111;
    height: 42px;
    padding: 0 38px;

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

    font-size: 14px;
    font-weight: 600;

    transition: .35s;

}

.book-btn a:hover {

    background: #0a0e47;
    color: #fff;

}


/*======================================
        NAVBAR
=======================================*/

.navbar {

    width: 100%;
    background: #fff;
    border-bottom: 1px solid #ececec;
    position: relative;
    z-index: 999;
    padding: 8px 10px;

}

.nav-wrapper {

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

    height: 92px;

}


/*======================================
        LOGO
=======================================*/

.logo img {

    width: 92px;

}


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

.menu {

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

}

.menu li {

    position: relative;

}

.menu li a {

    color: #222;
    font-size: 15px;
    font-weight: 500;
    transition: .35s;

}


/* underline */

.menu li::after {

    content: "";

    position: absolute;

    left: 0;
    bottom: -8px;

    width: 0%;
    height: 2px;

    background: #132d8b;

    transition: .4s;

}

.menu li:hover::after {

    width: 100%;

}

.menu li:hover a {

    color: #132d8b;

}

/*=============================
    MOBILE TOPBAR INFO
==============================*/

.mobile-topbar-info {
    display: none;
}

.mobile-social {
    display: flex;
    justify-content: center;
    gap: 18px;
    margin-bottom: 20px;
}

.mobile-social a {
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    background: #132d8b !important;
    color: #fff !important;

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

    transition: .3s;
}

.mobile-social a:hover {
    background: #0a1f65;
}

.mobile-opening {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    text-align: center;

    color: #666;
    font-size: 14px;

    margin-bottom: 22px;
}

.mobile-opening i {
    color: #132d8b;
}

.mobile-book-btn a {

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

    width: 100%;
    height: 48px;

    background: #132d8b;
    color: #fff !important;

    border-radius: 8px;

    font-weight: 600;
    letter-spacing: .5px;

    transition: .3s;

}

.mobile-book-btn a:hover {

    background: #0a1f65;

}

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

.nav-right {

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

}




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

.phone-icon {

    width: 34px;
    height: 34px;

    border: 2px solid #132d8b;

    border-radius: 50%;

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

    transition: .35s;

}

.phone-icon i {

    color: #132d8b;
    font-size: 16px;

}

.phone-icon:hover {

    background: #132d8b;

}

.phone-icon:hover i {

    color: #fff;

}


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

.contact {

    display: flex;
    flex-direction: column;

}

.contact small {

    color: #666;
    font-size: 13px;
    margin-bottom: 2px;

}

.contact h4 {

    font-size: 18px;
    font-weight: 700;
    color: #111;
}


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

.mobile-toggle {

    display: none;
    cursor: pointer;

}

.mobile-toggle i {

    font-size: 28px;
    color: #132d8b;

}

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

.has-dropdown {
    position: relative;
}

/* hidden state */
.dropdown {
    position: absolute;
    top: 140%;
    left: 0;

    width: 260px;

    background: #ffffff;
    border-radius: 14px;

    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12);

    padding: 10px;

    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);

    transition: .35s ease;

    z-index: 999;
}

/* show on hover */
.has-dropdown:hover .dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* dropdown items */
.dropdown li {
    list-style: none;
}

.dropdown li a {
    display: block;

    padding: 12px 14px;
    border-radius: 10px;

    font-size: 14px;
    font-weight: 500;

    color: #1a1a1a;

    transition: .25s ease;
}

/* hover effect */
.dropdown li a:hover {
    background: #0f43b8;
    color: #fff;
    padding-left: 18px;
}

/* arrow icon style */
.has-dropdown>a i {
    font-size: 12px;
    margin-left: 6px;
    transition: .3s;
}

.has-dropdown:hover>a i {
    transform: rotate(180deg);
}


/*======================================
        STICKY NAVBAR
=======================================*/

.navbar.sticky {

    position: fixed;
    top: 0;
    left: 0;

    width: 100%;

    animation: sticky .45s ease;

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

}

@keyframes sticky {

    from {

        transform: translateY(-100%);

    }

    to {

        transform: translateY(0);

    }

}


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

.navbar,
.book-btn a,
.phone-icon,
.menu li::after,
.social a {

    transition: .35s;

}


/*======================================
        SECTION TEST
=======================================*/

section {

    padding: 0 0 50px;

}


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

@media (max-width:1200px) {

    .container {

        width: 95%;

    }

    .menu {

        gap: 28px;

    }



}


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

@media (max-width:1024px) {

    .logo img {

        width: 75px;

    }

    .menu {

        gap: 22px;

    }

    .menu li a {

        font-size: 14px;

    }

    .phone-icon {

        width: 42px;
        height: 42px;

    }



}


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

@media (max-width:991px) {

    .contact h4 {

        font-size: 16px;

    }

    .nav-wrapper {

        height: 80px;

    }

    .menu {

        position: fixed;

        top: 80px;
        right: -100%;

        width: 320px;
        height: 100vh;

        background: #fff;

        display: flex;
        flex-direction: column;
        align-items: flex-start;

        padding: 40px;

        gap: 28px;

        transition: .4s ease;

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

        z-index: 999;

    }

    .menu.active {

        right: 0;

    }

    .menu li {

        width: 100%;

    }

    .menu li a {

        display: block;
        width: 100%;

        font-size: 17px;

    }

    .nav-right {

        display: none;

    }

    .mobile-toggle {

        display: block;

    }

    .dropdown {
        position: static;
        width: 100%;
        box-shadow: none;
        padding: 0;
        margin-top: 10px;

        opacity: 1;
        visibility: visible;
        transform: none;

        display: none;
    }

    .has-dropdown.open .dropdown {
        display: block;
    }

    .dropdown li a {
        padding: 10px 0;
        padding-left: 15px;
        background: transparent;
    }


}


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

@media (max-width:768px) {

    .logo img {

        width: 65px;

    }

    .menu {

        width: 280px;

    }

}


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

@media (max-width:576px) {

    .topbar {

        display: none;

    }

    .mobile-topbar-info {

        display: block;

        width: 100%;

        margin-top: 35px;
        padding-top: 30px;

        border-top: 1px solid #e8e8e8;

    }

    .container {

        width: 92%;

    }

    .nav-wrapper {

        height: 70px;

    }

    .menu {

        top: 70px;

        width: 260px;

        padding: 30px;

    }

    .logo img {

        width: 58px;

    }

    .mobile-toggle i {

        font-size: 24px;

    }

}


/*=========================================
        Extra Small
=========================================*/

@media (max-width:400px) {

    .menu {

        width: 100%;

    }

    .logo img {

        width: 52px;

    }

}


/* Hero Section */

/*=====================================================
            HERO SECTION
=====================================================*/

.hero {
    position: relative;
    width: 100%;
    overflow: visible;
    margin-bottom: 120px;
}

/*=====================================================
            SWIPER
=====================================================*/

.heroSwiper {
    width: 100%;
    height: 760px;
}

.heroSwiper .swiper-slide {
    position: relative;
    overflow: hidden;
}

.heroSwiper .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: scale(1);
    transition: transform 8s linear;
}

.heroSwiper .swiper-slide-active img {
    transform: scale(1.08);
}

/*=====================================================
            DARK OVERLAY
=====================================================*/

.heroSwiper .overlay {
    position: absolute;
    inset: 0;
    /* background: linear-gradient(90deg,
            rgba(0, 0, 0, .70) 0%,
            rgba(0, 0, 0, .55) 35%,
            rgba(0, 0, 0, .30) 65%,
            rgba(0, 0, 0, .15) 100%); */
    background: #0a0a0a4f;
    z-index: 2;
}

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

.hero-content {
    position: absolute;
    top: 15%;
    left: 8%;
    transform: translateY(-50%);

    width: 90%;
    max-width: 1280px;

    display: flex;
    flex-direction: column;
    align-items: flex-start;

    z-index: 20;
    color: #fff;
}

.hero-content span {
    display: inline-block;
    background: #3478f6;
    padding: 10px 24px;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 20px;
}

.hero-content h1 {
    width: 720px;
    font-size: 42px;
    line-height: 1.05;
    font-weight: 800;
    margin-bottom: 25px;
}

.hero-content p {
    width: 520px;
    font-size: 18px;
    line-height: 1.4;
    color: #eee;
    margin-bottom: 35px;
}

.hero-controls {

    position: absolute;
    right: 60px;
    bottom: 250px;

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

    z-index: 50;
}

.slide-prev,
.slide-next {

    width: 58px;
    height: 58px;

    border: none;
    border-radius: 50%;

    backdrop-filter: blur(18px);

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

    color: #fff;

    cursor: pointer;

    transition: .35s;
}

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

    background: #0f43b8;
    transform: translateY(-4px);
}

.slide-counter {

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

    color: #fff;
}

.progress-line {
    width: 80px;
    height: 4px;
    background: rgba(255, 255, 255, 0.3);
    border-radius: 10px;
    position: relative;
    overflow: hidden;
}

.progress-line span {
    display: block;
    height: 100%;
    width: 0%;
    background: #3478f6;
    transition: width 0.3s linear;
}


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

.heroSwiper .swiper-pagination {

    bottom: 140px;

}

.heroSwiper .swiper-pagination-bullet {

    width: 12px;
    height: 12px;

    background: #fff;

    opacity: .5;

}

.heroSwiper .swiper-pagination-bullet-active {

    width: 35px;

    border-radius: 50px;

    background: #3478f6;

    opacity: 1;

}

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

.heroSwiper .swiper-slide-active img {

    animation: heroZoom 8s linear forwards;

}

@keyframes heroZoom {

    from {

        transform: scale(1);

    }

    to {

        transform: scale(1.08);

    }

}

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

@media(max-width:1200px) {

    .heroSwiper {

        height: 700px;

    }

    .hero-content h1 {

        font-size: 40px;

    }

}

@media(max-width:992px) {

    .heroSwiper {

        height: 620px;

    }

    .hero-content {

        max-width: 100%;

    }

    .hero-controls {
        display: none;
    }

    .hero {
        margin-bottom: 0px;
    }


}

@media(max-width:768px) {

    .heroSwiper {

        height: 560px;

    }

    .hero-content {

        left: 20px;
        right: 20px;
        width: auto;

        transform: translateY(-50%);

        align-items: center;
        text-align: center;

    }

    .hero-content h1 {

        width: 100%;
        max-width: 380px;
        margin: 15px auto;

        font-size: 32px;
        line-height: 1.2;

    }

    .hero-content p {

        width: 100%;
        max-width: 320px;
        margin: 20px auto 0;
        line-height: 1.2;

    }

    .hero-content span {

        margin: 0 auto;
    }

}

@media(max-width:576px) {

    .heroSwiper {

        height: 500px;

    }

    .hero-content span {

        font-size: 12px;

    }

    .hero-content {

        left: 15px;
        right: 15px;

    }

    .hero-content h1 {

        width: 100%;
        /* max-width: 280px; */
        font-size: 30px;
        line-height: 1.25;

    }

    .hero-content p {

        display: none;

    }





}

/*=====================================================
            HERO BUTTON
=====================================================*/


/*=====================================================
            HERO TEXT ANIMATION READY
=====================================================*/

.hero-content span,
.hero-content h1,
.hero-content p {

    opacity: 0;

}

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

.heroSwiper .swiper-slide-active .hero-content {

    animation: heroContentFade .8s ease forwards;

}

@keyframes heroContentFade {

    from {

        opacity: 0;

        transform: translateY(30px);

    }

    to {

        opacity: 1;

        transform: translateY(0);

    }

}


/*==========================================================
                FLOATING ESTIMATE FORM
==========================================================*/

.estimate-box {

    position: absolute;

    left: 50%;
    bottom: -90px;

    transform: translateX(-50%);

    width: 90%;
    max-width: 1280px;

    background: #0f43b8;

    border-radius: 8px;

    padding: 40px;

    z-index: 50;

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

}

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

.estimate-box h3 {

    color: #fff;

    font-size: 34px;

    font-weight: 700;

    margin-bottom: 28px;

}

/*==========================================================
                    FORM
==========================================================*/

.estimate-box form {

    display: grid;

    grid-template-columns:

        repeat(4, 1fr);

    gap: 20px;

    align-items: center;

}


/*==========================================================
                    INPUT
==========================================================*/

.estimate-box input,
.estimate-box select {

    width: 100%;

    height: 65px;

    border: none;

    outline: none;

    background: #fff;

    border-radius: 5px;

    padding: 0 22px;

    font-size: 15px;

    color: #222;

    transition: .35s;

}

.estimate-box input:focus,
.estimate-box select:focus {

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

}

/*==========================================================
                PLACEHOLDER
==========================================================*/

.estimate-box input::placeholder {

    color: #777;

}

/*==========================================================
                SELECT
==========================================================*/

.estimate-box select {

    appearance: none;

    cursor: pointer;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='%23555' viewBox='0 0 16 16'%3E%3Cpath d='M1.5 5l6.5 6 6.5-6'/%3E%3C/svg%3E");

    background-repeat: no-repeat;

    background-position: right 20px center;

}

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

.estimate-box button {

    width: 100%;

    height: 65px;

    border: none;

    cursor: pointer;

    background: #111;

    color: #fff;

    font-size: 16px;

    font-weight: 600;

    border-radius: 5px;

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 12px;

    transition: .35s;

}

.estimate-box button:hover {

    background: #fff;

    color: #0f43b8;

}

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

.estimate-box button i {

    transition: .35s;

}

.estimate-box button:hover i {

    transform: translateX(6px);

}

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

@media(max-width:1200px) {

    .estimate-box {

        width: 94%;

    }
}

@media(max-width:992px) {

    .hero {
        position: relative;
        overflow: visible;
    }

    .estimate-box {

        position: relative;

        left: auto;
        bottom: auto;

        transform: none;

        width: 100%;

        margin-top: -70px;

        /* Important */
        will-change: auto;

    }


    .estimate-box form {

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

    }

    .about-section {

        padding-top: 80px;

    }

}

@media(max-width:768px) {

    .estimate-box {

        padding: 30px;

    }

    .estimate-box h3 {

        font-size: 28px;

    }

    .estimate-box form {

        grid-template-columns: 1fr;

    }

}

@media(max-width:576px) {

    .estimate-box {

        position: relative !important;

        left: auto !important;
        right: auto !important;
        bottom: auto !important;

        transform: none !important;

        width: 100% !important;

        margin-top: -70px;

        padding: 22px;

        border-radius: 6px;

    }

    .estimate-box h3 {

        font-size: 24px;

    }

    .estimate-box input,
    .estimate-box select,
    .estimate-box button {

        height: 58px;
        position: relative;

        transform: translateZ(0);
    }

}

/*====================================================
        HERO HOVER & ANIMATION POLISH
====================================================*/

.heroSwiper .swiper-slide {
    overflow: hidden;
}

.heroSwiper .swiper-slide img {
    transition: transform 8s ease;
}

.heroSwiper .swiper-slide-active img {
    transform: scale(1.08);
}

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

.hero-content>* {

    transition: .6s;

}

.hero-content span {

    animation: fadeUp .8s .2s both;

}

.hero-content h1 {

    animation: fadeUp .8s .4s both;

}

.hero-content p {

    animation: fadeUp .8s .6s both;

}

.hero-btn {

    animation: fadeUp .8s .8s both;

}

@keyframes fadeUp {

    from {

        opacity: 0;

        transform: translateY(40px);

    }

    to {

        opacity: 1;

        transform: translateY(0);

    }

}

/*==============================
        BUTTON EFFECT
==============================*/

/*==============================
        ESTIMATE FORM
==============================*/

.estimate-box {

    transition: .4s;

}

.estimate-box:hover {

    transform: translateX(-50%) translateY(-8px);

    box-shadow: 0 30px 80px rgba(0, 0, 0, .22);

}

.estimate-box input,
.estimate-box select {

    transition: .35s;

}

.estimate-box input:hover,
.estimate-box select:hover {

    border-color: #3478f6;

}

.estimate-box input:focus,
.estimate-box select:focus {

    transform: translateY(-2px);

}

.estimate-box button {

    transition: .35s;

}

.estimate-box button:hover {

    transform: translateY(-3px);

}

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

.overlay {

    transition: .4s;

}

/* .heroSwiper:hover .overlay {

    background: linear-gradient(90deg,

            rgba(0, 0, 0, .75),

            rgba(0, 0, 0, .55),

            rgba(0, 0, 0, .28));

} */

html {

    scroll-behavior: smooth;

}

.hero * {

    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;

}




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

.service-section {

    padding: 120px 0;
    background: #fff;
    position: relative;
    overflow: hidden;

}

.service-section::before {

    content: "✦";

    position: absolute;

    right: 80px;
    top: 120px;

    font-size: 180px;

    color: #eef2fb;

    transform: rotate(18deg);

}

.service-section::after {

    content: "✦";

    position: absolute;

    right: 120px;
    bottom: 80px;

    font-size: 150px;

    color: #f3f5fc;

    transform: rotate(-20deg);

}

/*==============================*/

.service-wrapper {

    display: grid;

    grid-template-columns: 1fr 1fr;

    align-items: center;

    gap: 90px;

}

/*==============================*/

.image-box {

    position: relative;

    border-radius: 14px;

    overflow: hidden;

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

    transform: skew(-8deg);

}

.image-box img {

    width: 100%;
    height: 620px;

    object-fit: cover;

    display: block;

    transform: scale(1.12) skew(8deg);

    transition: .6s;

}

.image-box:hover img {

    transform: scale(1.18) skew(8deg);

}

/*==============================*/

.service-content {

    position: relative;

    z-index: 5;

}

.sub-title {

    display: inline-block;

    color: #2e6cff;

    font-weight: 700;

    letter-spacing: 2px;

    margin-bottom: 18px;

    font-size: 14px;

}

.service-content h2 {

    font-size: 52px;

    line-height: 1.18;

    color: #1b2559;

    margin-bottom: 28px;

    font-weight: 300;

}

.service-content h2 strong {

    font-weight: 700;

}

.service-content p {

    color: #6b7280;

    line-height: 1.9;

    font-size: 17px;

    margin-bottom: 35px;

}

/*==============================*/

.service-content ul {

    margin-bottom: 40px;

}

.service-content ul li {

    display: flex;

    align-items: center;

    gap: 14px;

    margin-bottom: 18px;

    color: #404040;

    font-size: 16px;

    font-weight: 500;

}

.service-content ul li i {

    width: 26px;
    height: 26px;

    border-radius: 50%;

    background: #eef5ff;

    color: #2e6cff;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 13px;

}

/*==============================*/

.service-btn {

    display: inline-flex;

    align-items: center;

    gap: 14px;

    background: #213a8f;

    color: #fff;

    padding: 18px 34px;

    border-radius: 8px;

    font-weight: 600;

    transition: .35s;

    box-shadow:

        0 15px 35px rgba(33, 58, 143, .28);

}

.service-btn:hover {

    background: #2e6cff;

    transform: translateY(-5px);

}

.service-btn i {

    transition: .35s;

}

.service-btn:hover i {

    transform: translateX(6px);

}

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

@media(max-width:1200px) {

    .service-content h2 {

        font-size: 44px;

    }

    .image-box img {

        height: 560px;

    }

}

@media(max-width:992px) {

    .service-wrapper {

        grid-template-columns: 1fr;

        gap: 60px;

    }

    .image-box {

        max-width: 650px;

        margin: auto;

    }

    .service-content {

        text-align: center;

    }

    .service-content ul li {

        justify-content: center;

    }

}

@media(max-width:768px) {

    .service-section {

        padding: 80px 0;

    }

    .service-content h2 {

        font-size: 36px;

    }

    .image-box img {

        height: 460px;

    }

}

@media(max-width:576px) {

    .service-section {
        padding-top: 20px;
    }

    .service-content h2 {

        font-size: 30px;

    }

    .service-content p {

        font-size: 15px;

    }

    .image-box {

        transform: none;

    }

    .image-box img {

        transform: none;

        height: 360px;

    }

    .image-box:hover img {

        transform: scale(1.08);

    }

}

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

.services {

    background: #f7f9fd;

    padding: 60px 0;

    overflow: hidden;

}

.service-top {

    display: flex;

    justify-content: space-between;

    align-items: flex-start;

    gap: 80px;

    margin-bottom: 50px;

}

.service-top span {

    color: #2b73ff;

    font-size: 14px;

    font-weight: 700;

    letter-spacing: 2px;

}

.service-top h2 {

    font-size: 42px;

    color: #162d7d;

    margin-top: 15px;

    line-height: 1;

    font-weight: 700;

}

.service-top p {

    color: #666;

    font-size: 16px;

    line-height: 1.4;

    max-width: 520px;

}

/*========================*/

.service-card {

    background: #fff;

    border-radius: 18px;

    padding: 30px 25px;

    text-align: center;

    transition: .45s;

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

    border: 1px solid rgba(15, 90, 255, .05);

}

.service-card:hover {

    transform: translateY(-12px);

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

}

.service-card .icon {

    width: 105px;

    height: 105px;

    background: #2d7cff;

    border-radius: 50%;

    display: flex;

    justify-content: center;

    align-items: center;

    margin: 30px auto;

    transition: .4s;

}

.service-card:hover .icon {

    transform: rotateY(180deg);

    background: #163d97;

}

.service-card .icon i {

    color: #fff;

    font-size: 40px;

}

.service-card h3 {

    font-size: 26px;

    color: #1d2f6f;

    margin-bottom: 14px;

}

.service-card p {

    color: #777;

    line-height: 1.4;

    margin-bottom: 25px;

}

.service-card a {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    color: #777;

    font-size: 15px;

    font-weight: 600;

}

.service-card a i {

    width: 28px;

    height: 28px;

    background: #2d7cff;

    color: #fff;

    border-radius: 50%;

    display: flex;

    justify-content: center;

    align-items: center;

    font-size: 12px;

}

/*======================*/

.service-pagination {

    position: relative;

    margin-top: 60px;

}

.service-pagination .swiper-pagination-bullet {

    width: 12px;

    height: 12px;

    background: #d8dfea;

    opacity: 1;

}

.service-pagination .swiper-pagination-bullet-active {

    width: 35px;

    border-radius: 30px;

    background: #2d7cff;

}

/*========================*/

@media(max-width:991px) {

    .service-top {

        flex-direction: column;

        gap: 25px;

    }

    .service-top h2 {

        font-size: 38px;

    }

}

@media(max-width:768px) {

    .service-top h2 {

        font-size: 30px;

    }

    .service-card {

        padding: 45px 25px;

    }

}



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

.cta {

    position: relative;

    padding: 140px 0;

    overflow: hidden;

    background-position: center;

    background-repeat: no-repeat;

    background-size: cover;

}

.cta-overlay {

    position: absolute;

    inset: 0;

    background: linear-gradient(rgba(19, 45, 139, 0.582),
            rgba(19, 45, 139, 0.651));

    z-index: 1;

}

.cta .container {

    position: relative;

    z-index: 2;

}

.cta-content {

    text-align: center;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

}

.cta-content h2 {

    color: #fff;

    font-size: 42px;

    font-weight: 600;

    line-height: 1.2;

    margin-bottom: 35px;

}

.cta-btn {

    display: inline-flex;

    align-items: center;

    gap: 12px;

    padding: 18px 42px;

    background: #2f7fffcc;

    color: #fff;

    border-radius: 8px;

    font-weight: 600;

    transition: .4s;

    box-shadow: 0 15px 40px rgba(47, 128, 255, .35);

}

.cta-btn:hover {

    background: #fff;

    color: #132d8b;

    transform: translateY(-5px);

}

.cta-btn i {

    transition: .35s;

}

.cta-btn:hover i {

    transform: translateX(5px);

}

/* Responsive */

@media(max-width:991px) {

    .cta {

        padding: 110px 0;

    }

    .cta-content h2 {

        font-size: 40px;

    }

}

@media(max-width:768px) {

    .cta {

        padding: 90px 20px;

    }

    .cta-content h2 {

        font-size: 30px;

    }

}

@media(max-width:480px) {

    .cta-content h2 {

        font-size: 24px;

        line-height: 1.5;

    }

}


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

.why-choose {

    padding: 80px 0;
    background: #fff;
    position: relative;
    overflow: hidden;

}

.why-choose::before {

    content: "";

    position: absolute;

    right: -150px;
    top: -120px;

    width: 500px;
    height: 500px;

    background: #f6f8fc;

    border-radius: 50%;

    z-index: 0;

}

.why-wrapper {

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 80px;

    position: relative;
    z-index: 2;

}

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

.why-content {

    width: 48%;

}

.why-subtitle {

    color: #2f6df6;

    font-size: 15px;

    font-weight: 700;

    margin-bottom: 18px;

    display: inline-block;

}

.why-content h2 {

    font-size: 42px;

    line-height: 1.1;

    color: #112f7a;

    font-weight: 700;

    margin-bottom: 25px;

}

.why-text {

    color: #666;

    line-height: 1.4;

    margin-bottom: 50px;

    width: 90%;

}

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

.why-item {

    display: flex;

    align-items: flex-start;

    gap: 22px;

    margin-bottom: 25px;

}

.why-icon {

    width: 42px;
    height: 42px;

    border: 2px solid #2f6df6;

    border-radius: 50%;

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

    flex-shrink: 0;

}

.why-icon i {

    color: #2f6df6;

    font-size: 15px;

}

.why-item h4 {

    font-size: 28px;

    font-weight: 700;

    color: #16307d;

    margin-bottom: 10px;

}

.why-item p {

    color: #666;

    line-height: 1.4;

}

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

.why-images {

    width: 52%;

    position: relative;

    height: 650px;

}

/* Large */

.img-one {

    position: absolute;

    right: 120px;

    top: 0;

    width: 340px;
    height: 390px;

    overflow: hidden;

    border-radius: 180px 180px 40px 40px;

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

}

.img-one img {

    width: 100%;
    height: 100%;
    object-fit: cover;

}

/* Bottom Left */

.img-two {

    position: absolute;

    left: 10px;

    bottom: 30px;

    width: 290px;
    height: 290px;

    border-radius: 50%;

    overflow: hidden;

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

}

.img-two img {

    width: 100%;
    height: 100%;
    object-fit: cover;

}

/* Bottom Right */

.img-three {

    position: absolute;

    right: 0;

    bottom: 0;

    width: 310px;
    height: 310px;

    border-radius: 50%;

    overflow: hidden;

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

}

.img-three img {

    width: 100%;
    height: 100%;
    object-fit: cover;

}

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

.img-one,
.img-two,
.img-three {

    transition: .45s;

}

.img-one:hover,
.img-two:hover,
.img-three:hover {

    transform: translateY(-10px);

}

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

@media(max-width:1100px) {

    .why-wrapper {

        flex-direction: column;

    }

    .why-content,
    .why-images {

        width: 100%;

    }

}

@media(max-width:768px) {

    .why-content h2 {

        font-size: 36px;

    }

    .why-images {

        height: 560px;

    }

    .img-one {

        width: 260px;
        height: 320px;

        right: 70px;

    }

    .img-two {

        width: 220px;
        height: 220px;

    }

    .img-three {

        width: 230px;
        height: 230px;

    }

}

@media(max-width:576px) {

    .why-images {

        height: 500px;

    }

    .img-one {

        right: 20px;

        width: 220px;
        height: 280px;

    }

    .img-two {

        width: 170px;
        height: 170px;

    }

    .img-three {

        width: 180px;
        height: 180px;

    }

    .why-item h4 {

        font-size: 22px;

    }

}

/* -----------trusted ------------ */

.trusted-premium {

    position: relative;

    padding: 120px 0;

    background-size: cover;

    background-position: center;

}

.trusted-premium .overlay {

    position: absolute;

    inset: 0;

    background: linear-gradient(90deg,

            rgba(0, 0, 0, .72),

            rgba(0, 0, 0, .45));

}

.trusted-premium .container {

    position: relative;

    z-index: 2;

    display: grid;

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

    max-width: 1250px;

    margin: auto;

    gap: 30px;

}

.card {

    padding: 45px 25px;

    text-align: center;

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

    border: 1px solid rgba(255, 255, 255, .15);

    backdrop-filter: blur(15px);

    border-radius: 20px;

    transition: .45s;

    box-shadow:

        0 15px 40px rgba(0, 0, 0, .18);

}

.card:hover {

    transform: translateY(-10px);

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

    border-color: #2ab8ff;

    box-shadow:

        0 20px 60px rgba(42, 184, 255, .25);

}

.icon {

    font-size: 52px;

    color: #2ab8ff;

    margin-bottom: 20px;

}

.card h2 {

    font-size: 56px;

    color: #fff;

    margin: 0;

    font-weight: 700;

}

.card span {

    display: block;

    margin-top: 14px;

    color: #ddd;

    font-size: 20px;

    letter-spacing: .4px;

}

/* ==========================
   Large Laptop
========================== */
@media (max-width:1200px) {

    .trusted-premium .container {
        max-width: 95%;
        gap: 20px;
    }

    .card {
        padding: 35px 20px;
    }

    .card h2 {
        font-size: 48px;
    }

    .card span {
        font-size: 18px;
    }

    .icon {
        font-size: 46px;
    }

}


/* ==========================
   Tablet
========================== */
@media (max-width:992px) {

    .trusted-premium {
        padding: 90px 20px;
        background-attachment: scroll;
        /* Mobile/Tablet compatibility */
    }

    .trusted-premium .container {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }

    .card {
        padding: 35px 20px;
    }

    .card h2 {
        font-size: 42px;
    }

    .card span {
        font-size: 17px;
    }

    .icon {
        font-size: 42px;
        margin-bottom: 15px;
    }

}


/* ==========================
   Mobile
========================== */
@media (max-width:576px) {

    .trusted-premium {
        padding: 70px 15px;
        background-attachment: scroll;
    }

    .trusted-premium .container {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .card {
        padding: 30px 20px;
        border-radius: 16px;
    }

    .card:hover {
        transform: none;
    }

    .icon {
        font-size: 38px;
        margin-bottom: 15px;
    }

    .card h2 {
        font-size: 36px;
        line-height: 1.2;
    }

    .card span {
        margin-top: 10px;
        font-size: 16px;
        line-height: 1.5;
    }

}

/*==============================
    WORKING PROCESS
==============================*/

.process {
    padding: 120px 0;
    background: #fff;
    position: relative;
}

.process-head {
    text-align: center;
    margin-bottom: 90px;
}

.process-head span {
    color: #3478f6;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1px;
}

.process-head h2 {
    font-size: 46px;
    color: #132d8b;
    margin: 12px 0 18px;
    font-weight: 800;
}

.process-head p {
    max-width: 560px;
    margin: auto;
    color: #666;
    line-height: 1.8;
}

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

.process-wrapper {

    position: relative;

    display: flex;
    justify-content: space-between;
    align-items: flex-start;

    padding-top: 100px;
    padding-bottom: 50px;

}

/* Your S line */

.process-line {

    position: absolute;

    left: 0;
    top: 100px;

    width: 100%;

    z-index: 0;

    pointer-events: none;

}

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

.process-item {

    position: relative;

    width: 30%;

    text-align: center;

    z-index: 5;

}

/* reference alignment */

.process-item:nth-child(2) {

    margin-top: -10px;

}

.process-item:nth-child(3) {

    margin-top: 25px;

}

.process-item:nth-child(4) {

    margin-top: 20px;

}

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

.process-card {

    width: 125px;
    height: 125px;

    margin: auto;

    background: #3478f6;

    border-radius: 4px;

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

    transform: rotate(8deg);

    box-shadow: 0 18px 40px rgba(52, 120, 246, .22);

    /* transition: .35s; */
    transition: all .45s ease;
}

.process-card i {

    font-size: 42px;
    color: #fff;

    transform: rotate(-8deg);

    transition: all .45s ease;

}

.process-card:hover {

    background: #ffffff;

    transform: rotate(0deg) translateY(-12px) scale(1.05);

    box-shadow: 0 22px 45px rgba(0, 0, 0, .18);

}

.process-card:hover i {

    color: #132d8b;

    transform: rotate(0deg);

}

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

.process-item h3 {

    margin-top: 35px;

    font-size: 20px;

    color: #132d8b;

    font-weight: 600;
    transition: .35s;

}

.process-item p {

    margin-top: 10px;

    color: #666;
    font-size: 14px;
    line-height: 1.2;

    width: 85%;
    margin-left: auto;
    margin-right: auto;

    transition: .35s;

}

.process-item:hover h3 {

    color: #3478f6;

}

.process-item:hover p {

    color: #333;

}


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

@media (max-width:991px) {

    .process {

        padding: 90px 0;

    }

    .process-head {

        margin-bottom: 60px;

    }

    .process-head h2 {

        font-size: 38px;

    }

    .process-wrapper {

        gap: 30px;

    }

    .process-card {

        width: 110px;
        height: 110px;

    }

    .process-card i {

        font-size: 38px;

    }

}


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

@media (max-width:768px) {

    /* Hide S Line */

    .process-line {

        display: none;

    }

    .process {

        padding: 70px 0;

    }

    .process-head {

        margin-bottom: 45px;

    }

    .process-head h2 {

        font-size: 32px;
        line-height: 1.25;

    }

    .process-head p {

        font-size: 15px;
        line-height: 1.7;

        width: 95%;

    }

    .process-wrapper {

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

        gap: 45px;

        padding-top: 0;

    }

    .process-item {

        width: 100%;

        max-width: 340px;

        margin: 0 !important;

    }

    .process-card {

        width: 110px;
        height: 110px;

    }

    .process-card i {

        font-size: 38px;

    }

    .process-item h3 {

        margin-top: 28px;

        font-size: 22px;

    }

    .process-item p {

        width: 100%;

        line-height: 1.7;

    }

}


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

@media (max-width:576px) {

    .process {

        padding: 60px 0;

    }

    .process-head h2 {

        font-size: 28px;

    }

    .process-head p {

        font-size: 14px;

    }

    .process-card {

        width: 100px;
        height: 100px;

    }

    .process-card i {

        font-size: 34px;

    }

    .process-item h3 {

        font-size: 20px;

    }

}


/*======================================
        RECENT PROJECTS
=======================================*/

.projects {

    padding: 90px 0 0;
    background: #fff;

}

.project-top {

    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 45px;
    gap: 80px;

}

.project-top .left {

    flex: 1;

}

.project-top .right {

    flex: 1;

}

.project-top h2 {

    font-size: 44px;
    font-weight: 700;
    color: #18368d;
    line-height: 1.2;

}

.project-top p {

    color: #666;
    line-height: 1.9;
    font-size: 15px;

}


/* swiper */

.projectSwiper {

    width: 100%;

}

.projectSwiper .swiper-slide {

    position: relative;
    overflow: hidden;

}

.projectSwiper img {

    width: 100%;
    height: 420px;
    object-fit: cover;
    transition: .5s;

}


.projectSwiper .swiper-slide img {

    width: 100%;
    height: 420px;
    object-fit: cover;
    transition: .5s ease;

}


.project-overlay {

    position: absolute;
    inset: 0;

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

    background: rgba(16, 40, 130, .78);

    opacity: 0;

    transition: .45s ease;

}


.projectSwiper .swiper-slide:hover img {

    transform: scale(1.08);

}

.projectSwiper .swiper-slide:hover .project-overlay {

    opacity: 1;

}

.projectSwiper .swiper-slide:hover .project-content {

    transform: translateY(0);

}

.projectSwiper .swiper-slide:hover .project-btn {

    bottom: 0;

}


.project-content {

    text-align: center;

    color: #fff;

    transform: translateY(35px);

    transition: .45s ease;

}

.project-content h3 {

    font-size: 34px;
    font-weight: 700;
    margin-bottom: 10px;

}

.project-content span {

    font-size: 17px;
    opacity: .95;

}


/* Button */

.project-btn {

    position: absolute;

    right: 0;
    bottom: -80px;

    background: #ffffff;

    color: #111;

    padding: 18px 28px;

    font-weight: 600;

    text-decoration: none;

    transition: .45s ease;

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

}

.project-btn i {

    transition: .3s;

}

.project-btn:hover i {

    transform: translateX(5px);

}


/* Responsive */

@media(max-width:991px) {

    .project-top {

        flex-direction: column;
        gap: 20px;

    }

    .project-top h2 {

        font-size: 36px;

    }

    .projectSwiper img {

        height: 330px;

    }

}

@media(max-width:768px) {

    .projectSwiper img {

        height: 270px;

    }

    .project-top h2 {

        font-size: 30px;

    }

    .projectSwiper .swiper-slide img {

        height: 300px;

    }

    .project-content h3 {

        font-size: 24px;

    }

    .project-content span {

        font-size: 15px;

    }

    .project-btn {

        padding: 14px 20px;
        font-size: 14px;

    }

}


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

.testimonial {

    background: #21348f;

    padding: 60px 0;

    position: relative;

    overflow: hidden;


}



.testimonial-shape {

    position: absolute;
    opacity: .07;
    pointer-events: none;

}

.shape-1 {

    width: 260px;
    left: -60px;
    bottom: 20px;
    transform: rotate(-20deg);

}

.shape-2 {

    width: 300px;
    right: -80px;
    top: 20px;
    transform: rotate(20deg);

}

.testimonial-shape svg {

    width: 100%;
    height: 100%;
    fill: none;
    stroke: #5d74d7;
    stroke-width: 3;

}

.testimonial-title {

    text-align: center;

    margin-bottom: 50px;

}

.testimonial-title h2 {

    color: #fff;

    font-size: 40px;

    font-weight: 700;

    line-height: 1.3;

}

.testimonialSwiper {

    padding-top: 40px;
    padding-bottom: 55px;

}

.testimonial-card {

    background: #fff;

    border-radius: 5px;

    padding: 65px 40px 40px;

    text-align: center;

    position: relative;

    min-height: 290px;

}

.client-img {

    width: 72px;

    height: 72px;

    border-radius: 50%;

    overflow: hidden;

    border: 5px solid #fff;

    position: absolute;

    left: 50%;

    top: -36px;

    transform: translateX(-50%);

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

}

.client-img img {

    width: 100%;
    height: 100%;
    object-fit: cover;

}

.stars {

    color: #ff9800;

    margin-bottom: 20px;

}

.stars i {

    margin: 0 2px;

}

.testimonial-card p {

    color: #666;

    font-size: 14px;

    line-height: 1.8;

    margin-bottom: 22px;

}

.testimonial-card h3 {

    color: #18368d;

    font-size: 22px;

    font-weight: 700;

}

.testimonial-card span {

    display: block;

    color: #777;

    font-size: 14px;

}

.quote {

    position: absolute;

    right: 25px;

    bottom: 15px;

    font-size: 70px;

    color: #ececec;

}

.testimonial-pagination {

    margin-top: 25px;

    text-align: center;

}

.testimonial-pagination .swiper-pagination-bullet {

    width: 12px;

    height: 12px;

    background: #fff;

    opacity: .4;

}

.testimonial-pagination .swiper-pagination-bullet-active {

    opacity: 1;

    background: #43a4ff;

}



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

.footer {

    background: #21348f;
    position: relative;
    overflow: hidden;
    padding: 90px 0 30px;

}

.footer-shape {

    position: absolute;
    left: -120px;
    top: -20px;
    width: 260px;
    height: 260px;
    border: 3px solid rgba(255, 255, 255, .06);
    border-radius: 45%;
    transform: rotate(45deg);

}

.footer-wrapper {

    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr 1fr;
    gap: 70px;

}

.footer-about img {

    width: 90px;
    margin-bottom: 25px;

}

.footer-about p {

    color: #d7ddff;
    line-height: 1.8;
    font-size: 14px;
    margin-bottom: 28px;

}

.footer-social {

    display: flex;
    gap: 12px;

}

.footer-social a {

    width: 38px;
    height: 38px;
    background: rgba(255, 255, 255, .08);
    color: #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: .3s;

}

.footer-social a:hover {

    background: #fff;
    color: #21348f;

}

.footer h3 {

    color: #fff;
    font-size: 22px;
    margin-bottom: 30px;

}

.footer ul {

    list-style: none;
    padding: 0;

}

.footer ul li {

    margin-bottom: 16px;
    color: #d7ddff;
    font-size: 15px;

}

.footer-links a {

    color: #d7ddff;
    text-decoration: none;
    transition: .3s;

}

.footer-links a::before {

    content: "›";
    margin-right: 8px;

}

.footer-links a:hover {

    color: #fff;
    padding-left: 5px;

}

.footer-contact li {

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

}

.footer-contact i {

    color: #fff;
    margin-top: 3px;

}

.footer-awards {

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

    margin-top: 30px;

}

.footer-awards img {

    width: 90px;
    height: auto;
    transition: .3s;

}


.footer-bottom {

    margin-top: 70px;
    border-top: 1px solid rgba(255, 255, 255, .12);
    padding-top: 25px;

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

}

.footer-bottom p {

    color: #cfd6ff;
    font-size: 14px;

}

.footer-bottom a {

    color: #cfd6ff;
    text-decoration: none;
    font-size: 14px;
    transition: .3s;

}

.footer-bottom a:hover {

    color: #fff;

}

.footer-bottom span {

    color: #fff;
    margin: 0 10px;

}

/* Scroll */

.scroll-top {

    position: absolute;
    right: 25px;
    bottom: 25px;

    width: 52px;
    height: 52px;

    background: #bcc64b;

    border-radius: 50%;

    color: #21348f;

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

    text-decoration: none;

    font-size: 18px;

    transition: .3s;

}

.scroll-top:hover {

    transform: translateY(-5px);

}

.footer-bottom-link {
    display: flex;
    align-items: center;
    gap: 5px;
}

.footer-bottom-link  a {
    color: #2ab8ff;
    cursor: pointer;
}

/* Responsive */

@media(max-width:991px) {

    .footer-wrapper {

        grid-template-columns: 1fr 1fr;

    }

}

@media(max-width:768px) {

    .footer-wrapper {

        grid-template-columns: 1fr;
        gap: 45px;

    }

    .footer-bottom {

        flex-direction: column;
        gap: 15px;
        text-align: center;

    }

    .footer-awards {

        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 15px;

    }

    .footer-awards img {

        width: 60px;

    }

}