* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: "Nunito Sans", sans-serif;
}

.wrapper {
    display: flex;
    width: 100%;
}


/* left side bar vstart */
.sidebar {
    height: 100vh;
    position: sticky;
    top: 0;
    width: 240px;
    padding: 20px;
    transition: all 0.3s;
    overflow: hidden;
    box-shadow: 2px 0 5px rgba(0, 0, 0, 0.1); /* Add box shadow only on the right */
    z-index: 2;
    background-color: #ffffff;
}



.logo{
    margin-bottom: 30px;
}



.sidebar.collapsed {
    width: 100px;
}

.sidebar .menu-item {
    display: flex;
    align-items: center;
    white-space: nowrap;
    overflow: hidden;
}

.sidebar.collapsed .menu-text {
    display: none;
}






.profile-dropdown {
    padding: 5px 0 5px 5px;
    margin-bottom: 30px;
}

.profile-pic {
    width: 25px;
    height: 25px;
    border-radius: 5px;
    margin-right: 5px;
    margin-right: 10px;
}


.profile-dropdown h6 {
    font-size: 13px;
    font-weight: 700;

}

.profile-dropdown small {
    font-size: 10px;
}

.profile-info{
    margin-right: 20px;
}
.fa-caret-down{
    font-size: 13px;
    cursor: pointer;
}


.menu-item{
    text-decoration: none;
    padding:10px 0px;
    margin-bottom: 5px;
}

.menu-item:hover{
    background-color: #F4FCF6;
    color:#44814E;
    border-left: 3px solid #FFAA2B;
    padding:10px 6px;
}



.main-menu-text{
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 15px;
}
.menu-item img{
    width: 23px;
}
.menu-item .menu-text{
    margin-left: 12px;
    font-size: 14px;
    color: #717579;
}


.menu-item:hover .menu-text{
    color:#44814E;
}

.trx-badge{
    height: 27px;
    width: 27px;
    background-color: #FFAA2B;
    margin-left: 10px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff!important;
}
.msg-text{
    color: #ffffff!important;
}

.footer p{
    font-size: 12px;
}







/* top navbar */

.top-navbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.1); /* Subtle shadow */
    padding: 13px 20px;
}

.top-navbar .navbar-title {
    font-size: 23px;
    font-weight: 800;
    color: #171B1E;
}

.top-navbar .nav-icons {
    display: flex;
    align-items: center;
}

.nav-icons .icon {
    position: relative;
}

.nav-icons .icon .badge {
    position: absolute;
    top: -5px;
    right: 0px;
    background-color: #FFAA2B;
    color: rgb(255, 255, 255);
}

.nav-icons .icon .badge2 {
    background-color: #44814E;
}

.nav-icons .btn {
    margin-left: 20px;
}


.top-navbar button img{
    width: 25px;
}
.top-navbar button:focus{
    box-shadow: none;
}
.searchGroupwithBTn{
    border: 1px solid #e9e9e987;
    border-radius: 10px;
    padding: 5px;
}
.searchInput{
    border: none;
    padding-left: 10px;
}
.searchInput:focus{
    border: none;
    outline: none;
}
/* top navbar */




/* body content */

.content {
    flex-grow: 1;
}






/* dashboard body */

.mainContentSection{
    background-color: #fbfbfb;
    padding: 25px;
}

/* main balance */
.mainBalanceSection {
    background-color: #ffffff;
    padding: 10px;
    border-radius: 10px;
    box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.1); /* Subtle shadow */
}

.mainBalanceSection p{
    font-size: 13px;
    color: #717579;
    font-weight: 500;
}

.mainBalanceSection h1{
    font-size: 25px;
    font-weight: 800;
}

.mainBalanceSection h6{
    font-weight: 700;
}

.cardNo{
    display: flex;
    align-items: center;
}
.progress {
    background-color: #e9ecef;
    border-radius: 10px;
    height: 20px;
    margin: 20px 0;
}

.progress-bar {
    background: linear-gradient(90deg, #3CA64D 0%, #3EE75A 100%);
    border-radius: 5px;
    height: 100%;
}

/* main balance */




/* wallet */
.walletRapper{
    padding-left: 40px;

}

.blueWrapper{
    border-radius: 20px;
}
.walletBalance{
    background-image: url("../images/wallet-balance.jpg");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    border-radius: 20px;
    padding: 40px;
}

.walletBalance img{
    width: 20%;
}
.walletBalance h2{
    font-size: 32px;
    font-weight: 700;
    color:#ffffff;
    margin: 20px 0;
}
.walletBalance-p1{
    font-size: 18px;
    color: #ffffff;
}
.walletBalance-p2{
    font-size: 14px;
    color: #ffffff;
}

.sendBtn{
    width: 125px;
    border-right: 1px solid #dadada;
}
.transferBtn{
    width: 90px;
}




/* investment */
.card-group {
    margin-top: 20px;
}

.card {
    border-radius: 15px;
    border: none;
    padding: 10px;
    background-color: #ffffff;
}

.chart-circle {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    position: relative;
    margin: 0 auto 10px;
}

.donut::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 70%;
    height: 70%;
    background-color: #fff;
    border-radius: 50%;
    z-index: 1;
}

.purple {
    background: conic-gradient(#800080 25%, #f0f0f0 25%);
}

.green {
    background: conic-gradient(#008000 75%, #f0f0f0 75%);
}

.blue {
    background: conic-gradient(#0000FF 50%, #f0f0f0 50%);
}

.card-title {
    font-weight: bold;
    margin-bottom: 5px;
}

.btn-block {
    width: 100%;
    height: 100%;
    border-radius: 15px;
    font-size: 16px;
}

/* investment */




/* history */
.payment-history-card {
    background-color: #ffffff;
    border-radius: 15px;
    padding: 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-top: 20px;
}

.header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.header h2 {
    margin: 0;
    font-size: 24px;
    font-weight: bold;
}

.header p {
    margin: 0;
    color: #777;
}

.toggle-buttons button {
    margin-left: 10px;
}

.payment-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.payment-item {
    border-bottom: 1px solid #e0e0e0;
    padding: 15px 0;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.payment-item.expanded {
    background-color: #e0f0e9; /* Background for expanded item */
}

.payment-item:last-child {
    border-bottom: none;
}

.payment-overview {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.user-info {
    display: flex;
    align-items: center;
}

.user-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    margin-right: 10px;
    background-color: #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.pending-status {
    background-color: #f0f0f0;
    padding: 5px 15px;
    border-radius: 15px;
    color: #ff6600;
    font-weight: bold;
}

.completed-status {
    background-color: #d4edda;
    padding: 5px 15px;
    border-radius: 15px;
    color: #28a745;
    font-weight: bold;
}

.canceled-status {
    background-color: #f8d7da;
    padding: 5px 15px;
    border-radius: 15px;
    color: #dc3545;
    font-weight: bold;
}

.amount, .method, .status, .arrow-icon {
    text-align: right;
}

.arrow-icon {
    font-size: 20px;
    margin-left: 10px;
}

.payment-details {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #e0e0e0;
}

.detail-row {
    display: flex;
    justify-content: space-between;
    padding: 5px 0;
}

.label {
    font-weight: bold;
    color: #777;
}

.value {
    color: #333;
}

.name {
    margin: 0;
    font-weight: bold;
}

.date {
    margin: 0;
    color: #777;
}

/* history */



/* invoice sent */
.invoice-sent-card {
    background: #fff;
    border-radius: 15px;
    padding: 20px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
}

.invoice-sent-card .header {
    text-align: left;
    margin-bottom: 15px;
}

.invoice-sent-card .header h3 {
    font-size: 18px;
    font-weight: bold;
    margin: 0;
}

.invoice-sent-card .header p {
    font-size: 12px;
    color: #888;
    margin: 0;
    margin-top: 5px;
}

.invoice-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.invoice-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid #eaeaea;
}

.invoice-item .user-icon {
    width: 40px;
    height: 40px;
    background-color: #ccc;
    border-radius: 50%;
    margin-right: 10px;
}

.invoice-item .user-info {
    flex-grow: 1;
}

.invoice-item .user-info .name {
    font-size: 14px;
    font-weight: bold;
    margin: 0;
}

.invoice-item .user-info .time {
    font-size: 12px;
    color: #888;
    margin: 0;
}

.invoice-item .amount {
    font-size: 14px;
    font-weight: bold;
    color: #28a745;
}

.view-more {
    text-align: center;
    margin-top: 10px;
}

.view-more .btn {
    width: 100%;
    padding: 10px;
    font-size: 14px;
    border-radius: 25px;
}















@media (max-width: 768px) {
    .sidebar {
        position: absolute;
        z-index: 1000;
        left: -240px;
    }

    .sidebar.show {
        left: 0;
    }

    .content {
        padding-top: 0px;
    }


    /* top bar */
    .top-navbar {
        flex-direction: column;
        align-items: stretch;
        padding: 8px 15px;
    }
    
    .top-navbar .top-part {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 8px;
    }

    .top-navbar .middle-part {
        display: flex;
        justify-content: space-around;
        margin-bottom: 8px;
    }
    
    .top-navbar .bottom-part {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    .top-navbar .navbar-title {
        font-size: 18px;
        text-align: center;
        margin-bottom: 8px;
    }

    .nav-icons {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
    }

    .nav-icons .btn {
        margin-left: 0;
        margin-bottom: 10px;
        width: auto;
        padding: 5px;
    }

    .searchGroupwithBTn {
        display: flex;
        flex-grow: 1;
        margin: 0 10px 10px 0;
        width: 70%;
    }

    .searchInput {
        width: 80%;
        padding-left: 10px;
    }

    .searchGroupwithBTn .btn {
        flex-grow: 1;
        width: 20%;
        padding-left: 5px;
    }
    
    .top-navbar button img {
        width: 20px;
    }
    
    .nav-icons .icon .badge {
        top: -3px;
        right: -3px;
        font-size: 10px;
        padding: 2px 5px;
    }
    
    .btn.btn-success {
        width: 100%;
        padding: 10px;
        font-size: 16px;
        text-align: center;
    }
    


    /* main body */
    .amount{
        margin-bottom: 10px;
    }
    /* main body */


    .walletRapper{
        padding-left: 10px;
        margin-top: 20px;
    }


    /* investment */
    .card-group .card,
    .btn-block {
        margin-bottom: 15px;
    }


    /* payment history */
    .payment-overview {
        flex-direction: column;
        align-items: flex-start;
    }

    .amount, .method, .status, .arrow-icon {
        text-align: left;
        margin-top: 10px;
    }

    .arrow-icon {
        margin-left: 0;
    }

}



@media (max-width: 768px) {
    
}
