﻿.page-banner {
    margin-top: -128px;
    padding: 120px 0 7px;
    background: linear-gradient( 135deg, #051937, #082A5A );
    position: relative;
    overflow: hidden;
}

    /* Glow */

    .page-banner::before {
        content: '';
        position: absolute;
        width: 450px;
        height: 450px;
        border-radius: 50%;
        background: #20C997;
        filter: blur(150px);
        opacity: .15;
        top: -150px;
        right: -100px;
    }

.banner-wrapper {
    display: grid;
    grid-template-columns: 1fr 500px;
    gap: 50px;
    padding: 69px 0 23px 40px;
    align-items: center;
}

.banner-badge {
    display: inline-block;
    padding: 12px 22px;
    border-radius: 50px;
    background: rgba(255,255,255,.08);
    color: #20C997;
    border: 1px solid rgba(255,255,255,.1);
    margin-bottom: 25px;
}

.banner-content h1 {
    color: #fff;
    font-size: 42px;
    line-height: 1.1;
    margin-bottom: 25px;
}

    .banner-content h1 span {
        color: #20C997;
    }

.banner-content p {
    color: #D8E8FF;
    max-width: 550px;
    line-height: 1.8;
    margin-bottom: 35px;
}

.breadcrumb-box {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 14px 25px;
    border-radius: 50px;
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(15px);
}

    .breadcrumb-box a {
        color: #fff;
        text-decoration: none;
    }

    .breadcrumb-box span:last-child {
        color: #20C997;
    }

.banner-image {
    text-align: center;
}

    .banner-image img {
        width: 100%;
        margin-bottom: -20px;
        max-width: 470px;
        animation: floatDoctor 5s ease-in-out infinite;
    }

@keyframes floatDoctor {

    0% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-20px);
    }

    100% {
        transform: translateY(0px);
    }
}

.banner-content {
    animation: slideLeft 1s ease forwards;
}

.banner-image {
    animation: slideRight 1s ease forwards;
}

@keyframes slideLeft {

    from {
        opacity: 0;
        transform: translateX(-60px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideRight {

    from {
        opacity: 0;
        transform: translateX(60px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}
/* Responsive */

@media(max-width:991px) {

    .banner-wrapper {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .banner-content p {
        margin: auto auto 35px;
    }

    .banner-content h1 {
        font-size: 52px;
    }

    .banner-image {
        margin-top: 30px;
    }
}

@media(max-width:576px) {

    .page-banner {
        padding: 150px 0 60px;
    }

    .banner-content h1 {
        font-size: 38px;
    }
}

.banner-grid {
    position: absolute;
    inset: 0;
    background-image: linear-gradient( rgba(255,255,255,.03) 1px, transparent 1px ), linear-gradient( 90deg, rgba(255,255,255,.03) 1px, transparent 1px );
    background-size: 60px 60px;
    animation: gridMove 12s linear infinite;
    pointer-events: none;
}

@keyframes gridMove {

    from {
        transform: translateY(0);
    }

    to {
        transform: translateY(60px);
    }
}

.glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(120px);
    opacity: .25;
    animation: floatGlow 8s ease-in-out infinite;
}

.glow-1 {
    width: 300px;
    height: 300px;
    background: #20C997;
    top: 10%;
    left: -100px;
}

.glow-2 {
    width: 350px;
    height: 350px;
    background: #0D6EFD;
    right: -100px;
    top: 20%;
    animation-delay: 2s;
}

.glow-3 {
    width: 250px;
    height: 250px;
    background: #22D3EE;
    bottom: -80px;
    left: 40%;
    animation-delay: 4s;
}

@keyframes floatGlow {

    0% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-40px);
    }

    100% {
        transform: translateY(0px);
    }
}



/*====================================================
        WEBSITE DEVELOPMENT SECTION
====================================================*/

.dx-dev-studio {
    position: relative;
    padding: 60px 0;
    background: #f8fbff;
    overflow: hidden;
}

    .dx-dev-studio::before {
        content: "";
        position: absolute;
        width: 520px;
        height: 520px;
        left: -220px;
        top: -220px;
        border-radius: 50%;
        filter: blur(90px);
    }

    .dx-dev-studio::after {
        content: "";
        position: absolute;
        width: 420px;
        height: 420px;
        right: -180px;
        bottom: -180px;
        border-radius: 50%;
        background: rgba(32,201,151,.08);
        filter: blur(90px);
    }

/*================ Heading ================*/

.dx-dev-heading {
    max-width: 760px;
    margin: auto;
    text-align: center;
    margin-bottom: 90px;
}

.dx-dev-tag {
    display: inline-block;
    padding: 10px 24px;
    border-radius: 40px;
    background: rgba(13,110,253,.08);
    color: #0D6EFD;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 20px;
}

.dx-dev-heading h2 {
    font-size: 58px;
    line-height: 1.1;
    margin-bottom: 20px;
    color: #081B3D;
    font-weight: 800;
}

.dx-dev-heading span {
    display: block;
    background: linear-gradient(90deg,#0D6EFD,#20C997);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.dx-dev-heading p {
    color: #64748B;
    line-height: 30px;
    font-size: 17px;
}

/*================ Layout ================*/

.dx-dev-wrapper {
    display: grid;
    grid-template-columns: 1fr 520px;
    gap: 80px;
    align-items: center;
}

/*================ Left ================*/

.dx-dev-left {
    position: relative;
}

.dx-dev-main {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 620px;
}

    .dx-dev-main img {
        width: 100%;
        max-width: 560px;
        position: relative;
        z-index: 2;
        animation: devFloat 6s ease-in-out infinite;
    }

/*================ Floating Windows ================*/

.dx-floating-window {
    position: absolute;
    width: 240px;
    background: #ffffffa3;
    border-radius: 20px;
    padding: 18px;
    border: 1px solid #edf3fb;
    box-shadow: 0 20px 50px rgba(13,110,253,.10);
    backdrop-filter: blur(10px);
    z-index: 3;
    transition: .4s;
}

    .dx-floating-window:hover {
        transform: translateY(-8px);
    }

.window-one {
    left: 0;
    top: 40px;
}

.window-two {
    right: 0;
    bottom: 70px;
}

.window-head {
    display: flex;
    gap: 8px;
    margin-bottom: 15px;
}

    .window-head span {
        width: 12px;
        height: 12px;
        border-radius: 50%;
    }

        .window-head span:nth-child(1) {
            background: #ff5f56;
        }

        .window-head span:nth-child(2) {
            background: #ffbd2e;
        }

        .window-head span:nth-child(3) {
            background: #27c93f;
        }

.dx-floating-window h4 {
    color: #081B3D;
    margin-bottom: 6px;
    font-size: 18px;
}

.dx-floating-window small {
    color: #64748B;
    font-size: 14px;
}

/*================ Cards ================*/

.dx-dev-right {
    display: flex;
    flex-direction: column;
    gap: 26px;
}

.dx-dev-card {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    padding: 30px;
    border-radius: 26px;
    background: #fff;
    border: 1px solid #edf3fb;
    box-shadow: 0 18px 45px rgba(13,110,253,.07);
    transition: .45s;
    position: relative;
    overflow: hidden;
}

    .dx-dev-card::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient( 90deg, rgba(13,110,253,.05), rgba(32,201,151,.05) );
        opacity: 0;
        transition: .4s;
    }

    .dx-dev-card:hover {
        transform: translateX(12px);
        border-color: #20C997;
        box-shadow: 0 25px 60px rgba(13,110,253,.15);
    }

        .dx-dev-card:hover::before {
            opacity: 1;
        }

.dx-card-icon {
    min-width: 74px;
    width: 74px;
    height: 74px;
    border-radius: 22px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: linear-gradient(90deg,#0D6EFD,#20C997);
    color: #fff;
    font-size: 28px;
    position: relative;
    z-index: 2;
    transition: .4s;
}

.dx-dev-card:hover .dx-card-icon {
    transform: rotate(-10deg) scale(1.08);
}

.dx-dev-card h3 {
    font-size: 26px;
    color: #081B3D;
    margin-bottom: 12px;
    position: relative;
    z-index: 2;
}

.dx-dev-card p {
    color: #64748B;
    line-height: 28px;
    position: relative;
    z-index: 2;
}

/*================ Animation ================*/

@keyframes devFloat {

    0%,100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-15px);
    }
}

/*=========================================
        RESPONSIVE
=========================================*/

@media (max-width:1200px) {

    .dx-dev-wrapper {
        grid-template-columns: 1fr 460px;
        gap: 50px;
    }

    .dx-dev-main {
        min-height: 520px;
    }

        .dx-dev-main img {
            max-width: 470px;
        }

    .dx-floating-window {
        width: 210px;
    }

    .dx-dev-heading h2 {
        font-size: 48px;
    }

    .dx-dev-card {
        padding: 26px;
    }

        .dx-dev-card h3 {
            font-size: 23px;
        }
}


/*===========================*/

@media(max-width:991px) {

    .dx-dev-studio {
        padding: 90px 0;
    }

    .dx-dev-wrapper {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .dx-dev-left {
        order: 1;
    }

    .dx-dev-right {
        order: 2;
    }

    .dx-dev-main {
        min-height: 430px;
    }

        .dx-dev-main img {
            max-width: 360px;
        }

    .window-one {
        left: 30px;
        top: 20px;
    }

    .window-two {
        right: 30px;
        bottom: 20px;
    }

    .dx-dev-heading {
        margin-bottom: 60px;
    }

        .dx-dev-heading h2 {
            font-size: 42px;
        }
}


/*===========================*/

@media(max-width:767px) {

    .dx-dev-studio {
        padding: 70px 0;
    }

    .dx-dev-heading {
        margin-bottom: 45px;
    }

        .dx-dev-heading h2 {
            font-size: 34px;
        }

        .dx-dev-heading p {
            font-size: 15px;
            line-height: 26px;
        }

    .dx-dev-main {
        min-height: 320px;
    }

        .dx-dev-main img {
            max-width: 260px;
        }

    .dx-floating-window {
        width: 170px;
        padding: 14px;
        border-radius: 16px;
    }

    .window-one {
        left: 0;
        top: 0;
    }

    .window-two {
        right: 0;
        bottom: 10px;
    }

    .window-head span {
        width: 10px;
        height: 10px;
    }

    .dx-floating-window h4 {
        font-size: 15px;
    }

    .dx-floating-window small {
        font-size: 12px;
    }

    .dx-dev-card {
        padding: 22px;
        gap: 18px;
        border-radius: 20px;
    }

    .dx-card-icon {
        width: 58px;
        height: 58px;
        min-width: 58px;
        font-size: 22px;
        border-radius: 16px;
    }

    .dx-dev-card h3 {
        font-size: 20px;
    }

    .dx-dev-card p {
        font-size: 14px;
        line-height: 24px;
    }
}


/*===========================*/

@media(max-width:480px) {

    .dx-dev-heading h2 {
        font-size: 28px;
    }

    .dx-dev-tag {
        font-size: 12px;
        padding: 8px 18px;
    }

    .dx-dev-main {
        min-height: 260px;
    }

        .dx-dev-main img {
            max-width: 200px;
        }

    .dx-floating-window {
        position: absolute;
        width: 140px;
        padding: 12px;
    }

    .window-one {
        top: -5px;
        left: -5px;
    }

    .window-two {
        right: -5px;
        bottom: -5px;
    }

    .dx-floating-window h4 {
        font-size: 13px;
    }

    .dx-floating-window small {
        font-size: 11px;
    }

    .dx-dev-card {
        padding: 18px;
        gap: 15px;
    }

    .dx-card-icon {
        width: 50px;
        height: 50px;
        min-width: 50px;
        font-size: 18px;
    }

    .dx-dev-card h3 {
        font-size: 17px;
        margin-bottom: 8px;
    }

    .dx-dev-card p {
        font-size: 13px;
        line-height: 22px;
    }
}


/*=========================================
      WEBSITE FLOW
=========================================*/

.dx-webflow-section {
    padding: 60px 0;
    position: relative;
    overflow: hidden;
    background: #fff;
}

    .dx-webflow-section::before {
        content: "";
        position: absolute;
        width: 420px;
        height: 420px;
        left: -180px;
        top: -180px;
        border-radius: 50%;
        /* background: rgba(13,110,253,.07);*/
        filter: blur(70px);
    }

    .dx-webflow-section::after {
        content: "";
        position: absolute;
        width: 350px;
        height: 350px;
        right: -120px;
        bottom: -120px;
        border-radius: 50%;
        background: rgba(32,201,151,.08);
        filter: blur(70px);
    }

/*========================*/

.dx-webflow-heading {
    max-width: 1320px;
    margin: auto;
    text-align: center;
    margin-bottom: 40px;
}

.dx-webflow-tag {
    display: inline-block;
    padding: 11px 24px;
    border-radius: 50px;
    background: #eaf8f6;
    color: #18b7aa;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .8px;
    margin-bottom: 20px;
}

.dx-webflow-heading h2 {
    font-size: 56px;
    color: #081B3D;
    margin-bottom: 18px;
    font-weight: 800;
}

    .dx-webflow-heading h2 span {
        background: linear-gradient(90deg,#0D6EFD,#20C997);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

.dx-webflow-heading p {
    color: #64748B;
    line-height: 30px;
}

/*========================*/

.dx-webflow {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 35px;
}

.dx-flow-line {
    position: absolute;
    left: 12%;
    right: 12%;
    top: 80px;
    height: 4px;
    background: linear-gradient(90deg,#0D6EFD,#20C997);
    border-radius: 50px;
    z-index: 0;
}

/*========================*/

.dx-flow-card {
    position: relative;
    z-index: 2;
    background: #fff;
    padding: 45px 30px;
    border-radius: 28px;
    text-align: center;
    border: 1px solid #EDF3FB;
    box-shadow: 0 18px 45px rgba(13,110,253,.08);
    transition: .45s;
}

    .dx-flow-card::before {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: 28px;
        padding: 2px;
        background: linear-gradient(90deg,#0D6EFD,#20C997);
        -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
        -webkit-mask-composite: xor;
        opacity: 0;
        transition: .4s;
    }

    .dx-flow-card:hover {
        transform: translateY(-12px);
    }

        .dx-flow-card:hover::before,
        .dx-flow-card.active::before {
            opacity: 1;
        }

/*========================*/

.dx-flow-number {
    width: 70px;
    height: 70px;
    margin: auto;
    margin-top: -75px;
    margin-bottom: 22px;
    border-radius: 50%;
    background: linear-gradient(90deg,#0D6EFD,#20C997);
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-weight: 700;
    font-size: 20px;
    box-shadow: 0 12px 30px rgba(13,110,253,.25);
}

/*========================*/

.dx-flow-icon {
    width: 85px;
    height: 85px;
    margin: auto;
    border-radius: 22px;
    background: linear-gradient(90deg,#0D6EFD,#20C997);
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 34px;
    margin-bottom: 28px;
    transition: .4s;
}

.dx-flow-card:hover .dx-flow-icon {
    transform: rotate(-8deg) scale(1.08);
}

/*========================*/

.dx-flow-card h3 {
    font-size: 28px;
    color: #081B3D;
    margin-bottom: 15px;
}

.dx-flow-card p {
    color: #64748B;
    line-height: 28px;
}

/*========================*/

@media(max-width:991px) {

    .dx-webflow {
        grid-template-columns: 1fr;
        gap: 70px;
    }

    .dx-flow-line {
        display: none;
    }

    .dx-flow-number {
        margin-top: -60px;
    }
}

@media(max-width:767px) {

    .dx-webflow-heading h2 {
        font-size: 34px;
    }

    .dx-flow-card {
        padding: 35px 22px;
    }

    .dx-flow-icon {
        width: 70px;
        height: 70px;
        font-size: 28px;
    }

    .dx-flow-card h3 {
        font-size: 22px;
    }
}




/*=========================================================
        API SECURITY SECTION
=========================================================*/

.api-security-section {
    position: relative;
    padding: 101px 0;
    background: #fff;
    overflow: hidden;
}

    .api-security-section::before {
        content: "";
        position: absolute;
        width: 520px;
        height: 520px;
        left: -220px;
        top: -220px;
        border-radius: 50%;
        background: rgba(13,110,253,.06);
        filter: blur(80px);
    }

    .api-security-section::after {
        content: "";
        position: absolute;
        width: 460px;
        height: 460px;
        right: -180px;
        bottom: -180px;
        border-radius: 50%;
        background: rgba(32,201,151,.08);
        filter: blur(80px);
    }

/*==========================*/

.api-security-heading {
    max-width: 850px;
    margin: auto;
    text-align: center;
    margin-bottom: 90px;
    position: relative;
    z-index: 5;
}

.api-security-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 28px;
    border-radius: 60px;
    background: rgba(13,110,253,.08);
    color: #0D6EFD;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 18px;
}

.api-security-heading h2 {
    font-size: 58px;
    color: #081B3D;
    line-height: 1.1;
    font-weight: 800;
    margin-bottom: 22px;
}

    .api-security-heading h2 span {
        display: block;
        background: linear-gradient(90deg,#0D6EFD,#20C997);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

.api-security-heading p {
    max-width: 760px;
    margin: auto;
    font-size: 17px;
    line-height: 31px;
    color: #64748B;
}

/*=========================================================
        NETWORK WRAPPER
=========================================================*/

.api-network-wrapper {
    position: relative;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    min-height: 900px;
}

/*=========================================================
        CENTER SECURITY
=========================================================*/

.api-network-center {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 270px;
    height: 270px;
    border-radius: 50%;
}

/*==========================*/

.network-core {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    border: 2px solid rgba(13,110,253,.08);
    box-shadow: 0 25px 60px rgba(13,110,253,.10);
}

    /*==========================*/

    .network-core::before {
        content: "";
        position: absolute;
        inset: -18px;
        border-radius: 50%;
        border: 2px dashed rgba(13,110,253,.18);
        animation: rotateCircle 18s linear infinite;
    }

    .network-core::after {
        content: "";
        position: absolute;
        inset: -42px;
        border-radius: 50%;
        border: 2px dashed rgba(32,201,151,.16);
        animation: rotateCircleReverse 25s linear infinite;
    }

/*==========================*/

.network-core-icon {
    width: 82px;
    height: 82px;
    border-radius: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: linear-gradient(90deg,#0D6EFD,#20C997);
    color: #fff;
    font-size: 34px;
    margin-bottom: 18px;
    box-shadow: 0 20px 45px rgba(13,110,253,.22);
}

.network-core h3 {
    font-size: 28px;
    color: #081B3D;
    margin-bottom: 10px;
    font-weight: 700;
}

.network-core p {
    color: #64748B;
    font-size: 15px;
}

/*=========================================================
        COMMON NODE
=========================================================*/

.network-node {
    position: absolute;
    width: 190px;
    background: #fff;
    border-radius: 22px;
    padding: 22px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-shadow: 0 20px 50px rgba(13,110,253,.08);
    border: 1px solid #edf3fb;
    transition: .45s;
    z-index: 5;
}

    .network-node:hover {
        transform: translateY(-10px);
        background: linear-gradient(90deg,#0D6EFD,#20C997);
    }

        .network-node:hover h4 {
            color: #fff;
        }

        .network-node:hover .node-icon {
            background: #fff;
            color: #0D6EFD;
        }

/*==========================*/

.node-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: linear-gradient(90deg,#0D6EFD,#20C997);
    color: #fff;
    font-size: 24px;
    margin-bottom: 16px;
    transition: .4s;
}

.network-node h4 {
    color: #081B3D;
    font-size: 17px;
    font-weight: 700;
    transition: .35s;
}

/*=========================================================
        NODE POSITION
=========================================================*/

.node-top {
    left: 50%;
    top: -180px;
    transform: translateX(-50%);
}

.node-left {
    left: -260px;
    top: 50%;
    transform: translateY(-50%);
}

.node-right {
    right: -260px;
    top: 50%;
    transform: translateY(-50%);
}

.node-bottom {
    left: 50%;
    bottom: -190px;
    transform: translateX(-50%);
}

.node-callback {
    left: 50%;
    bottom: -400px;
    transform: translateX(-50%);
}

/*==================================================
        FEATURE FLOATING CARDS
==================================================*/

.api-feature-card {
    position: absolute;
    width: 220px;
    padding: 22px;
    border-radius: 22px;
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(18px);
    border: 1px solid #edf3fb;
    display: flex;
    align-items: center;
    gap: 16px;
    transition: .45s;
    box-shadow: 0 20px 45px rgba(13,110,253,.08);
    z-index: 6;
}

    .api-feature-card::before {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: 22px;
        background: linear-gradient( 90deg, rgba(13,110,253,.05), rgba(32,201,151,.05) );
        opacity: 0;
        transition: .4s;
    }

    .api-feature-card:hover {
        transform: translateY(-10px) scale(1.03);
        border-color: #20C997;
        box-shadow: 0 30px 65px rgba(13,110,253,.16);
    }

        .api-feature-card:hover::before {
            opacity: 1;
        }

    /*============================*/

    .api-feature-card i {
        width: 56px;
        height: 56px;
        border-radius: 18px;
        display: flex;
        justify-content: center;
        align-items: center;
        background: linear-gradient(90deg,#0D6EFD,#20C997);
        color: #fff;
        font-size: 23px;
        flex-shrink: 0;
        transition: .4s;
    }

    .api-feature-card:hover i {
        transform: rotate(-10deg);
    }

    /*============================*/

    .api-feature-card span {
        position: relative;
        z-index: 2;
        color: #081B3D;
        font-size: 16px;
        font-weight: 700;
    }

/*==================================================
        FEATURE POSITION
==================================================*/

.feature-one {
    left: -60px;
    top: 0;
}

.feature-two {
    right: -60px;
    top: 20px;
}

.feature-three {
    left: -120px;
    top: 280px;
}

.feature-four {
    right: -120px;
    top: 300px;
}

.feature-five {
    left: -30px;
    bottom: 100px;
}

.feature-six {
    right: -40px;
    bottom: 90px;
}

/*==================================================
        CONNECTION LINES
==================================================*/

.line {
    position: absolute;
    display: block;
    background: linear-gradient( 180deg, #0D6EFD, #20C997 );
    z-index: 1;
}

/*============================*/

.line-top {
    width: 3px;
    height: 130px;
    left: 50%;
    top: -130px;
    transform: translateX(-50%);
}

.line-bottom {
    width: 3px;
    height: 145px;
    left: 50%;
    bottom: -145px;
    transform: translateX(-50%);
}

.line-callback {
    width: 3px;
    height: 145px;
    left: 50%;
    bottom: -355px;
    transform: translateX(-50%);
}

.line-left {
    height: 3px;
    width: 170px;
    left: -170px;
    top: 50%;
    transform: translateY(-50%);
}

.line-right {
    height: 3px;
    width: 170px;
    right: -170px;
    top: 50%;
    transform: translateY(-50%);
}

/*==================================================
        PULSE DOT
==================================================*/

.line::after {
    content: "";
    position: absolute;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #20C997;
    box-shadow: 0 0 20px #20C997;
    animation: pulseDot 2s infinite;
}

/*============================*/

.line-top::after {
    left: -6px;
    bottom: -7px;
}

.line-bottom::after {
    left: -6px;
    top: -7px;
}

.line-callback::after {
    left: -6px;
    top: -7px;
}

.line-left::after {
    right: -7px;
    top: -6px;
}

.line-right::after {
    left: -7px;
    top: -6px;
}

/*==================================================
        FLOW ANIMATION
==================================================*/

.line {
    background-size: 100% 220%;
    animation: flowLine 3s linear infinite;
}

@keyframes flowLine {

    0% {
        background-position: 0 0;
    }

    100% {
        background-position: 0 220%;
    }
}

@keyframes pulseDot {

    0% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.4);
        opacity: .45;
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

/*==================================================
        FLOAT
==================================================*/

.api-feature-card {
    animation: featureFloat 5s ease-in-out infinite;
}

.feature-two {
    animation-delay: .6s;
}

.feature-three {
    animation-delay: 1.2s;
}

.feature-four {
    animation-delay: 1.8s;
}

.feature-five {
    animation-delay: 2.4s;
}

.feature-six {
    animation-delay: 3s;
}

@keyframes featureFloat {

    0%,100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-12px);
    }
}
/*=========================================================
            RESPONSIVE
=========================================================*/

@media(max-width:1400px){

.api-network-wrapper{

max-width:1000px;

}

.feature-one{

left:-20px;

}

.feature-two{

right:-20px;

}

.feature-three{

left:-70px;

}

.feature-four{

right:-70px;

}

.feature-five{

left:10px;

}

.feature-six{

right:10px;

}

.node-left{

left:-210px;

}

.node-right{

right:-210px;

}

}

/*==============================*/

@media(max-width:1200px){

.api-security-heading h2{

font-size:48px;

}

.api-network-wrapper{

max-width:900px;

min-height:850px;

}

.network-core{

transform:scale(.90);

}

.api-feature-card{

width:190px;

padding:18px;

}

.api-feature-card span{

font-size:15px;

}

.node-left{

left:-180px;

}

.node-right{

right:-180px;

}

}

/*==============================*/

@media(max-width:991px){

.api-security-section{

padding:90px 0;

}

.api-security-heading{

margin-bottom:70px;

}

.api-security-heading h2{

font-size:38px;

}

.api-security-heading p{

font-size:15px;

line-height:28px;

}

.api-network-wrapper{

display:flex;

flex-direction:column;

align-items:center;

min-height:auto;

gap:30px;

}

/* remove absolute layout */

.api-network-center{

position:relative;

left:auto;

top:auto;

transform:none;

margin:50px 0;

width:240px;

height:240px;

order:2;

}

.network-core::after{

display:none;

}

/* nodes */

.network-node{

position:relative;

left:auto !important;

right:auto !important;

top:auto !important;

bottom:auto !important;

transform:none !important;

width:220px;

margin:12px auto;

}

/* hide lines */

.line{

display:none;

}

/* features */

.api-feature-card{

position:relative;

left:auto !important;

right:auto !important;

top:auto !important;

bottom:auto !important;

width:100%;

max-width:360px;

margin:0 auto 18px;

animation:none;

}

}

/*==============================*/

@media(max-width:767px){

.api-security-section{

padding:70px 0;

}

.api-security-heading{

margin-bottom:45px;

}

.api-security-tag{

font-size:12px;

padding:8px 18px;

}

.api-security-heading h2{

font-size:30px;

}

.api-network-center{

width:190px;

height:190px;

}

.network-core::before{

inset:-12px;

}

.network-core-icon{

width:60px;

height:60px;

font-size:24px;

margin-bottom:12px;

}

.network-core h3{

font-size:22px;

}

.network-core p{

font-size:13px;

}

.network-node{

width:100%;

max-width:280px;

padding:18px;

}

.node-icon{

width:50px;

height:50px;

font-size:20px;

margin-bottom:12px;

}

.network-node h4{

font-size:15px;

}

.api-feature-card{

padding:16px;

}

.api-feature-card i{

width:48px;

height:48px;

font-size:20px;

}

.api-feature-card span{

font-size:14px;

}

}

/*==============================*/

@media(max-width:480px){

.api-security-heading h2{

font-size:26px;

}

.api-security-heading p{

font-size:14px;

line-height:24px;

}

.api-network-center{

width:170px;

height:170px;

}

.network-core-icon{

width:54px;

height:54px;

font-size:20px;

}

.network-core h3{

font-size:19px;

}

.network-core p{

font-size:12px;

}

.api-feature-card{

gap:12px;

}

.api-feature-card span{

font-size:13px;

}

}


/*=========================================================
            EXTRA GLOW
=========================================================*/

.network-core{

animation:corePulse 4s ease-in-out infinite;

}

@keyframes corePulse{

0%,100%{

box-shadow:

0 20px 50px rgba(13,110,253,.12);

}

50%{

box-shadow:

0 25px 70px rgba(13,110,253,.28);

}

}


/*=========================================================
        MOUSE PARALLAX
=========================================================*/

.api-network-wrapper{

perspective:1200px;

}

.api-network-center,

.api-feature-card,

.network-node{

transition:

transform .25s linear;

will-change:transform;

}






/*==========================================
        API FINAL CTA
==========================================*/

.api-final-section {
    padding: 120px 0;
    background: #fff;
}

.api-final-card {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr 480px;
    gap: 80px;
    align-items: center;
    border-radius: 35px;
    padding: 70px;
    background: #081B3D;
    box-shadow: 0 35px 90px rgba(8,27,61,.18);
}

    .api-final-card::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(135deg, rgba(13,110,253,.12), rgba(32,201,151,.08));
    }

.api-final-left,
.api-final-right {
    position: relative;
    z-index: 2;
}

.api-final-tag {
    display: inline-block;
    padding: 10px 22px;
    border-radius: 40px;
    background: rgba(255,255,255,.08);
    color: #8ED7FF;
    font-size: 13px;
    font-weight: 700;
}

.api-final-left h2 {
    margin: 28px 0 20px;
    color: #fff;
    font-size: 56px;
    line-height: 1.1;
}

    .api-final-left h2 span {
        display: block;
        background: linear-gradient(90deg,#0D6EFD,#20C997);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

.api-final-left p {
    color: #d6e4f3;
    line-height: 32px;
    margin-bottom: 35px;
    font-size: 17px;
}

.api-feature-list {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 18px;
    margin-bottom: 40px;
}

.api-feature {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #fff;
}

    .api-feature i {
        color: #20C997;
    }

.api-btn-group {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
}

.api-btn-primary {
    padding: 16px 34px;
    border-radius: 50px;
    text-decoration: none;
    color: #fff;
    background: linear-gradient(90deg,#0D6EFD,#20C997);
    font-weight: 600;
}

.api-btn-outline {
    padding: 16px 34px;
    border-radius: 50px;
    text-decoration: none;
    color: #fff;
    border: 1px solid rgba(255,255,255,.18);
}

.api-dashboard {
    position: relative;
    background: #fff;
    border-radius: 28px;
    padding: 28px;
    box-shadow: 0 30px 60px rgba(0,0,0,.18);
}

.api-window-bar {
    display: flex;
    gap: 8px;
    margin-bottom: 25px;
}

    .api-window-bar span {
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background: #ddd;
    }

.api-code-box {
    background: #081B3D;
    color: #6EF2C5;
    border-radius: 18px;
    padding: 25px;
    font-size: 14px;
    overflow: auto;
}

.api-status-card {
    position: absolute;
    background: #fff;
    padding: 15px 20px;
    border-radius: 18px;
    box-shadow: 0 15px 35px rgba(0,0,0,.12);
}

.success {
    right: -20px;
    top: 40px;
}

.uptime {
    left: -20px;
    bottom: 40px;
    text-align: center;
}

    .uptime h3 {
        margin: 0;
        font-size: 34px;
        color: #0D6EFD;
    }

@media(max-width:991px) {

    .api-final-card {
        grid-template-columns: 1fr;
        padding: 45px;
        gap: 50px;
    }

    .api-final-left h2 {
        font-size: 42px;
    }
}

@media(max-width:767px) {

    .api-final-section {
        padding: 80px 0;
    }

    .api-final-card {
        padding: 30px;
    }

    .api-final-left h2 {
        font-size: 32px;
    }

    .api-feature-list {
        grid-template-columns: 1fr;
    }

    .api-dashboard {
        padding: 20px;
    }

    .success,
    .uptime {
        position: relative;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        margin-top: 20px;
    }
}
/*=========================================
        PREMIUM PAYIN FLOW
=========================================*/

.payin-flow{

    position:relative;

    max-width:1100px;

    margin:auto;

    padding:40px 0;

}

.payin-flow::before{

    content:"";

    position:absolute;

    left:50%;

    top:0;

    bottom:0;

    width:6px;

    transform:translateX(-50%);

    border-radius:50px;

    background:linear-gradient(
    to bottom,
    #0D6EFD,
    #20C997);

    box-shadow:
    0 0 25px rgba(13,110,253,.25);

}

/*=============================*/

.payin-step{

    position:relative;

    width:50%;

    margin-bottom:90px;

}

.payin-step:last-child{

    margin-bottom:0;

}

/*=============================*/

.payin-step.left{

    padding-right:90px;

    text-align:right;

}

.payin-step.right{

    margin-left:50%;

    padding-left:90px;

}

/*=============================*/

.payin-step::before{

    content:"";

    position:absolute;

    top:28px;

    width:26px;

    height:26px;

    border-radius:50%;

    background:#fff;

    border:6px solid #20C997;

    box-shadow:

    0 0 0 10px rgba(13,110,253,.08),

    0 0 35px rgba(32,201,151,.45);

    z-index:5;

}

.payin-step.left::before{

    right:-13px;

}

.payin-step.right::before{

    left:-13px;

}

/*=============================*/

.payin-step::after{

    content:"";

    position:absolute;

    top:40px;

    width:70px;

    height:2px;

    background:linear-gradient(
    90deg,
    #0D6EFD,
    #20C997);

}

.payin-step.left::after{

    right:0;

}

.payin-step.right::after{

    left:0;

}

/*=============================*/

.step-content{

    position:relative;

}

.step-content span{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:58px;

    height:58px;

    border-radius:50%;

    background:linear-gradient(
    90deg,
    #0D6EFD,
    #20C997);

    color:#fff;

    font-size:18px;

    font-weight:700;

    margin-bottom:20px;

    box-shadow:

    0 20px 45px rgba(13,110,253,.20);

}

.step-content h3{

    font-size:32px;

    font-weight:800;

    color:#081B3D;

    margin-bottom:18px;

    transition:.35s;

}

.step-content p{

    font-size:17px;

    line-height:32px;

    color:#64748B;

    max-width:430px;

}

.payin-step.left .step-content p{

    margin-left:auto;

}

/*=============================*/

.payin-step:hover h3{

    color:#0D6EFD;

}

.payin-step:hover span{

    transform:rotate(-8deg) scale(1.08);

}

.payin-step:hover::before{

    transform:scale(1.15);

}

.payin-step:hover::after{

    width:95px;

}

/*=============================*/

.payin-step{

    transition:.4s;

}

.payin-step:hover{

    transform:translateY(-8px);

}

/*=============================*/

.payin-flow::after{

    content:"";

    position:absolute;

    width:420px;

    height:420px;

    border-radius:50%;

    background:

    radial-gradient(
    rgba(13,110,253,.08),
    transparent 70%);

    left:50%;

    top:50%;

    transform:translate(-50%,-50%);

    z-index:-1;

}
/*=========================================
        PREMIUM PAYIN FLOW
=========================================*/

.payin-flow {
    position: relative;
    max-width: 1100px;
    margin: auto;
    padding: 40px 0;
}

    .payin-flow::before {
        content: "";
        position: absolute;
        left: 50%;
        top: 0;
        bottom: 0;
        width: 6px;
        transform: translateX(-50%);
        border-radius: 50px;
        background: linear-gradient( to bottom, #0D6EFD, #20C997);
        box-shadow: 0 0 25px rgba(13,110,253,.25);
    }

/*=============================*/

.payin-step {
    position: relative;
    width: 50%;
    margin-bottom: 90px;
}

    .payin-step:last-child {
        margin-bottom: 0;
    }

    /*=============================*/

    .payin-step.left {
        padding-right: 90px;
        text-align: right;
    }

    .payin-step.right {
        margin-left: 50%;
        padding-left: 90px;
    }

    /*=============================*/

    .payin-step::before {
        content: "";
        position: absolute;
        top: 28px;
        width: 26px;
        height: 26px;
        border-radius: 50%;
        background: #fff;
        border: 6px solid #20C997;
        box-shadow: 0 0 0 10px rgba(13,110,253,.08), 0 0 35px rgba(32,201,151,.45);
        z-index: 5;
    }

    .payin-step.left::before {
        right: -13px;
    }

    .payin-step.right::before {
        left: -13px;
    }

    /*=============================*/

    .payin-step::after {
        content: "";
        position: absolute;
        top: 40px;
        width: 70px;
        height: 2px;
        background: linear-gradient( 90deg, #0D6EFD, #20C997);
    }

    .payin-step.left::after {
        right: 0;
    }

    .payin-step.right::after {
        left: 0;
    }

/*=============================*/

.step-content {
    position: relative;
}

    .step-content span {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 58px;
        height: 58px;
        border-radius: 50%;
        background: linear-gradient( 90deg, #0D6EFD, #20C997);
        color: #fff;
        font-size: 18px;
        font-weight: 700;
        margin-bottom: 20px;
        box-shadow: 0 20px 45px rgba(13,110,253,.20);
    }

    .step-content h3 {
        font-size: 32px;
        font-weight: 800;
        color: #081B3D;
        margin-bottom: 18px;
        transition: .35s;
    }

    .step-content p {
        font-size: 17px;
        line-height: 32px;
        color: #64748B;
        max-width: 430px;
    }

.payin-step.left .step-content p {
    margin-left: auto;
}

/*=============================*/

.payin-step:hover h3 {
    color: #0D6EFD;
}

.payin-step:hover span {
    transform: rotate(-8deg) scale(1.08);
}

.payin-step:hover::before {
    transform: scale(1.15);
}

.payin-step:hover::after {
    width: 95px;
}

/*=============================*/

.payin-step {
    transition: .4s;
}

    .payin-step:hover {
        transform: translateY(-8px);
    }

/*=============================*/

.payin-flow::after {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: radial-gradient( rgba(13,110,253,.08), transparent 70%);
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    z-index: -1;
}

/*=========================================
        1200px
=========================================*/

@media (max-width:1200px) {

    .payin-flow {
        max-width: 950px;
    }

    .step-content h3 {
        font-size: 28px;
    }

    .step-content p {
        font-size: 16px;
        line-height: 30px;
    }

    .payin-step.left {
        padding-right: 70px;
    }

    .payin-step.right {
        padding-left: 70px;
    }

    .payin-step::after {
        width: 50px;
    }

    .payin-step:hover::after {
        width: 70px;
    }
}

/*=========================================
        TABLET
=========================================*/

@media (max-width:991px) {

    .payin-flow {
        padding: 20px 0;
    }

        .payin-flow::before {
            left: 28px;
            transform: none;
            width: 4px;
        }

        .payin-flow::after {
            display: none;
        }

    .payin-step {
        width: 100%;
        margin-left: 0 !important;
        padding-left: 85px !important;
        padding-right: 0 !important;
        text-align: left !important;
        margin-bottom: 60px;
    }

        .payin-step:last-child {
            margin-bottom: 0;
        }

        .payin-step::before {
            left: 15px !important;
            right: auto !important;
            width: 22px;
            height: 22px;
            top: 28px;
        }

        .payin-step::after {
            left: 28px !important;
            right: auto !important;
            width: 40px;
            top: 38px;
        }

    .step-content {
        width: 100%;
    }

        .step-content span {
            width: 52px;
            height: 52px;
            font-size: 16px;
        }

        .step-content h3 {
            font-size: 26px;
        }

        .step-content p {
            max-width: 100%;
            margin-left: 0 !important;
            font-size: 15px;
            line-height: 28px;
        }
}

/*=========================================
        MOBILE
=========================================*/

@media (max-width:767px) {

    .payin-flow-section {
        padding: 80px 0;
    }

    .payin-flow-heading {
        margin-bottom: 50px;
    }

        .payin-flow-heading h2 {
            font-size: 34px;
            line-height: 1.2;
        }

        .payin-flow-heading p {
            font-size: 15px;
            line-height: 28px;
        }

    .payin-flow {
        padding: 10px 0;
    }

        .payin-flow::before {
            left: 22px;
        }

    .payin-step {
        padding-left: 70px !important;
        margin-bottom: 45px;
    }

        .payin-step::before {
            left: 11px !important;
            width: 20px;
            height: 20px;
            border-width: 5px;
        }

        .payin-step::after {
            left: 21px !important;
            width: 28px;
        }

    .step-content span {
        width: 46px;
        height: 46px;
        font-size: 15px;
        margin-bottom: 16px;
    }

    .step-content h3 {
        font-size: 22px;
        margin-bottom: 12px;
    }

    .step-content p {
        font-size: 14px;
        line-height: 26px;
    }
}

/*=========================================
        SMALL MOBILE
=========================================*/

@media (max-width:480px) {

    .payin-flow-section {
        padding: 65px 0;
    }

    .payin-flow-heading {
        margin-bottom: 40px;
    }

    .payin-tag {
        font-size: 12px;
        padding: 8px 18px;
    }

    .payin-flow-heading h2 {
        font-size: 28px;
    }

    .payin-flow-heading p {
        font-size: 14px;
        line-height: 24px;
    }

    .payin-flow::before {
        left: 18px;
    }

    .payin-step {
        padding-left: 55px !important;
        margin-bottom: 40px;
    }

        .payin-step::before {
            left: 8px !important;
            width: 18px;
            height: 18px;
            border-width: 4px;
        }

        .payin-step::after {
            left: 18px !important;
            width: 20px;
            top: 36px;
        }

    .step-content span {
        width: 40px;
        height: 40px;
        font-size: 13px;
        margin-bottom: 12px;
    }

    .step-content h3 {
        font-size: 19px;
        line-height: 1.35;
    }

    .step-content p {
        font-size: 13px;
        line-height: 22px;
    }
}

/*=========================================
        EXTRA SMALL
=========================================*/

@media (max-width:360px) {

    .payin-step {
        padding-left: 48px !important;
    }

    .step-content h3 {
        font-size: 17px;
    }

    .step-content p {
        font-size: 12px;
    }
}