/* carousel section begins here */
.border-sharp {
  background: linear-gradient(
      to left,
      rgba(0, 0, 0, 0.8) 5%,
      rgb(159 161 165) 50%,
      rgba(0, 0, 0, 0.8) 95%
    )
    left bottom no-repeat;
  background-size: 100% 1px;
}

/* page title / subtitle / settings / notifications */

.page-title {
  padding: var(--common-size) 2rem;
  width: 100%;
}

.page-title h5 {
  margin-bottom: 0;
  margin-top: .5rem;
}
.subtitle {
  font-size: 1.125rem;
  text-transform: capitalize;
}
.subtitle + p {
  margin-bottom: 0;
}

/* common smooth vertical scroll */
.scroll-y {
  overflow-x: hidden;
  overflow-y: auto;
  mask-image: linear-gradient(to top, transparent, black),
    linear-gradient(to left, transparent 4px, black 4px);
  mask-size: 100% 20000px;
  mask-position: left bottom;
  -webkit-mask-image: linear-gradient(to top, transparent, black),
    linear-gradient(to left, transparent 4px, black 4px);
  -webkit-mask-size: 100% 20000px;
  -webkit-mask-position: left bottom;
  transition: mask-position 0.3s, -webkit-mask-position 0.3s;
}
.scroll-y:hover {
  -webkit-mask-position: left top;
  mask-position: left top;
}
.height-500 { max-height: 500px;}
/* ========= overall accounts container ============== */
.funds-container {
  width: 100%;
  gap: 20px;
}

/* four boxes */
.funds-container .four-box {
  padding: var(--common-size);
  border: 1px solid;
  border-color: var(--border-color);
  border-radius: var(--border-radius);
  min-height: 100px;
  background-color: var(--card-bg);
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  position: relative;
  cursor: pointer;
  z-index: 2;
  overflow: hidden;
}

/* box 1 components & custom variables */
.payout-container, .wallet-container {
  background: var(--box-gradient-green);
  border-radius: var(--border-radius-half);
  position: relative;
}
.wallet-container {
  --box-gradient-green: linear-gradient(to right, #111111, #2a2a2a);
  background: var(--box-gradient-green);
}
.payout-container label, .payout-container span, .wallet-container label, .wallet-container span, .trans-view label {
  color: var(--primary-color);
}
.wallet-container:after, .payout-container::after {
    background: url(/img/card_design.svg);
    background-position: right;
    background-size: cover;
    background-repeat: no-repeat;
    content: "";
    position: absolute;
    width: 70px;
    height: 100%;
    top: 0;
    right: 0;
    opacity: 0.2;
}
.payout-container:after {
  transform: rotatex(180deg);
}
.total-value:after {
    background: url(/img/card_design.svg);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    content: "";
    position: absolute;
    width: 50px;
    height: 100%;
    top: 0;
    right: 50px;
    opacity: 0.2;
    transform: scale3d(3, 1, 1);
}
/* icons background colors */
.icon-holder {
  --_bg-color: var(--black-03, pink);
  width: 28px;
  height: 28px;
  background-color: var(--_bg-color);
  border-radius: 4px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
.payout-view .icon-holder, .wallet-view .icon-holder {
  width: 32px;
  height: 32px;
}
.wallet-view .icon-holder {
  --black-03: var(--nav-active);
}
.trans-view .icon-holder {
  --black-03: rgba(57, 50, 94, 0.41);
}
.success .icon-holder {
  --black-03: var(--nav-active);
}
.pending .icon-holder {
  --black-03: rgba(55, 50, 43, 1);
}
.fail .icon-holder {
  --black-03: rgba(52, 41, 41, 0.6);
}
.hold .icon-holder {
  --black-03: var(--hold-blue-half);
}
/* icons colors declaration */
.icon-holder i {
  --_color: var(--primary-color, green);
  color: var(--_color);
}
.wallet-view .icon-holder i {
  --primary-color: var(--theme-teal);
}
.success .icon-holder i {
  --primary-color: var(--success-green);
}
.pending .icon-holder i {
  --primary-color: var(--pending-yellow);
}
.fail .icon-holder i {
  --primary-color: var(--danger-red);
}
.hold .icon-holder i {
  --primary-color: var(--hold-blue);
}
/* box three components / transaction summary */
.four-box .four-box {
  background-color: var(--nav-bg);
  min-height:auto;
  padding: var(--border-radius-half);
}
.trans-view label {
  padding-left: .25rem;
}
span.compare {
  font-size: var(--font-size-12);
  font-weight: var(--fw-400);
  position: relative;
}
span.success span {
  --_color: var(--success-green, green);
  color: var(--_color);
  font-size: var(--font-size-12);
}
span.success.fail span {
  --success-green: var(--danger-red);
}
/* percentage color change / before class */
span.compare:before {
  --_before: var(--success-green, green);
  color: var(--_before);
  font-size: 14px;
  padding-right: .15rem;
}
span.compare.success:before {
  content: "\2197";
}
span.compare.fail:before {
  content: "\2199";
  --success-green: var(--danger-red);
}
img.user-img {
    border-radius: 50%;
    margin-right: .5rem;
}
/*==== Disbursement list ======*/
.disb-list-item {
    padding-top: var(--font-size-12);
    padding-bottom: var(--font-size-12);
    border-bottom: 1px solid var(--border-color);
    padding: var(--common-size);
}
.disb-list-item:hover {
    background-color: var(--table-header);
} 
/* icon default bg */
.disb-list-item .status .icon-holder {
  --_icon-bg: var(--nav-bg, darkgrey);
    background-color: var(--_icon-bg);
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: .5rem;
} /* icon color default */
.disb-list-item .status .icon-holder i {
  --_icon-color: var(--primary-color, teal);
  color: var(--_icon-color);
  font-size: 14px;
  display: none;
} 
.status.success .icon-holder i.bi-check { display: inline-block;font-size: 18px;}
.status.pending .icon-holder i.bi-hourglass {display: inline-block;}
.status.fail .icon-holder i.bi-x-square {display: inline-block;}
/*==== icon bg and icon color begins here====*/
/* icon bg color for success */
.status.success .icon-holder {
  --nav-bg: var(--success-green-half);
} /* icon color for success */
.status.success .icon-holder i {
  --primary-color: var(--theme-teal);
} 
/* icon bg color for pending */
.status.pending .icon-holder {
  --nav-bg: var(--pending-yellow-half);
} /* icon color for pending */
.status.pending .icon-holder i {
  --primary-color: var(--pending-yellow);
} 
/* icon bg color for success */
.status.fail .icon-holder {
  --nav-bg: var(--danger-red-half);
} /* icon color for success */
.status.fail .icon-holder i {
  --primary-color: var(--danger-red);
} 
/* =====status color default==== */
.disb-list-item .status:after {
  --_status-color: var(--nav-bg, grey);
  font-size: var(--font-size-12);
  padding-left: .5rem;
  color: var(--_status-color);
}/* status text for success */
.disb-list-item .success:after {
    content: "Success";
    --nav-bg: var(--success-green);
}
/* status text for pending */
.disb-list-item .pending:after {
    content: "Pending";
    --nav-bg: var(--pending-yellow);
}
/* status text for failed */
.disb-list-item .fail:after {
    content: "Failed";
    --nav-bg: var(--danger-red);
}

.disb-list-item span { padding-left: .25rem;}
.disb-list-item span.user-name { 
  color: var(--primary-color);
  text-transform: capitalize;
}

/* active and inactive badge */
.status-badge {
  --_badge-bg: var(--nav-bg, limegreen);
  --_badge-color:var(--primary-color, green);
  display: inline-block;
  padding: .25rem .5rem;
  border-radius: 8px;
  min-width: 75px;
  text-align: center;
  background-color: var(--_badge-bg);
  color: var(--_badge-color);
}
.status-badge.active { 
  --nav-bg: var(--success-green-half);
  --primary-color: var(--success-green);
}
.status-badge.inactive { 
  --nav-bg: var(--danger-red-half);
  --primary-color: var(--danger-red);
}
.status-badge.pending { 
  --nav-bg: var(--pending-yellow-half);
  --primary-color: var(--pending-yellow);
}
.status-badge.hold { 
  --nav-bg: var(--hold-blue-half);
  --primary-color: var(--hold-blue);
}
/*============ Dashboard ends here ============== */
/* arrow griddle animation */
.ico-circle {
  width: 35px;
  height: 35px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: var(--btn-bg);
  border: 1px solid var(--btn-border);
  border-radius: 50%;
  position: relative;
  overflow: hidden;
}

.ico-circle i {
  display: inline-block;
  position: relative;
  z-index: 1;
  transition: none;
  color: var(--primary-color);
}

.ico-circle:hover i.bi-arrow-up-right {
  animation: arrow-glide 0.4s ease-out 1;
  color: var(--theme-green);
}
/* box two ends here*/
/* row two begins here / theme dark panel (card) style begins here / theme dark accordion */
.btn-outline-secondary {
  background-color: var(--bg-color);
}
.card.bg-dark {
  background-color: var(--card-bg) !important;
  border-color: var(--border-color);
  border-radius: var(--border-radius);
  overflow: hidden;
}
.card.bg-dark.borderless {
  border: none;
}
.card.bg-dark .card-header {
  border-color: var(--border-color);
  border-bottom: none;
}
.card.bg-dark .card-body {
  background-color: var(--card-body-bg);
  border-bottom-left-radius: var(--border-radius);
  border-bottom-right-radius: var(--border-radius);
  min-height: 100px;
}
.card.bg-dark.top-radius .card-body{
  border-top-left-radius: var(--border-radius);
  border-top-right-radius: var(--border-radius);
}
.card.bg-dark .card-body.card-body-none {
    background-color: transparent;
}
.card-header h5 {
  color: var(--primary-color);
  font-size:var(--common-size);
  margin-bottom: 0.25rem;
  font-family: var(--inter);
  font-weight: var(--fw-400);
}

.card-header h5 i {
  color: var(--text-grey);
  font-size: 1.25rem;
  margin-right: 0.5rem;
}

.card-header,
.has-check {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.card-header.has-sub {
  align-items: flex-start !important;
  padding: 0;
  border-bottom: 1px solid var(--border-color) !important;
}

.card.bg-dark.border-radius-0 {
  border-radius: 0;
}

.data-chart-legends {
  background-color: var(--bg-color);
}

.data-chart-legends div {
  color: var(--text-grey);
  padding-top: var(--common-size);
  padding-bottom: var(--common-size);
  flex: 1 1 0%;
  text-align: center;
  border-top: 1px solid var(--border-color);
}

.card-nav .btn {
  background-color: var(--btn-bg);
  color: var(--primary-color);
  border: 1px solid var(--btn-border);
  margin-right: 0.25rem;
}

.card-nav .btn.active {
  background-color: var(--primary-color);
  color: var(--btn-bg);
}
.card-nav .btn:hover { opacity: 0.7;}

.card.bg-dark .btn-close {
  background-color: var(--btn-bg);
  opacity: 1;
  color: var(--primary-color);
  border: 1px solid;
  border-color: var(--btn-border);
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cline%20x1%3D%2218%22%20y1%3D%226%22%20x2%3D%226%22%20y2%3D%2218%22%3E%3C%2Fline%3E%3Cline%20x1%3D%226%22%20y1%3D%226%22%20x2%3D%2218%22%20y2%3D%2218%22%3E%3C%2Fline%3E%3C%2Fsvg%3E);
  background-size: 28px 28px;
}

.panel-plain {
  background-color: var(--card-body-bg);
  border: 1px solid var(--border-light);
  border-radius: var(--common-size);
  padding: 10px var(--common-size);
}
.card.bg-dark .btn-outline-back {
    border-color: var(--border-color);
}
/* HTML legends for line chart */
.data-chart-legends span:before {
  content: "\20B9";
  margin-right: 0.25rem;
}
.data-chart-legends span {
  color: var(--primary-color);
}
.data-chart-legends label:after {
  content: "-";
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.transaction-card .card-body {
  height: 650px;
}
.transaction-card .card-body:hover {
  overflow-y: scroll;
}
/* theme dark accordion begin here*/
.accordion-dark {
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow: hidden;
}

.accordion-dark .accordion-item {
  border: 1px solid var(--bg-color) !important;
}

.accordion-dark .accordion-item .accordion-header .accordion-button {
  background-color: var(--card-bg) !important;
  box-shadow: none;
  color: var(--primary-color);
  display: flex;
}

.accordion-dark .accordion-button::after {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%209l6%206%206-6%22%2F%3E%3C%2Fsvg%3E);
  border: 1px solid var(--btn-border);
  background-size: 25px 25px;
  background-position: center center;
  border-radius: 0.15rem;
  padding: 12px;
  background-color: var(--btn-bg);
}

.accordion-dark .accordion-button p {
  margin-bottom: 0;
  margin-top: 0.25rem;
}

.accordion-dark .accordion-body {
  background-color: var(--card-body-bg);
  color: var(--primary-color);
}

/*row two ends here */
/* pagination begins here */
.pagination-container .pagination li, .pagination-container .pagination li a {
    background-color: transparent;
    border-color: var(--border-color);
    color: var(--primary-color);
}
.pagination-container .pagination li.active a {
    background-color: var(--btn-bg);
}
.pagination-container .pagination li.disabled a {
    color: var(--secondary-color);
}
/* pagination ends here */
select.bg-dark {
    background-color: transparent !important;
}
/*chart section begins here */

div#legend-container div:last-child {
  border-right: none;
}

div#legend-container > div {
  border-right: 1px solid var(--border-color);
}

/*chart section ends here*/

/* modal and related components begins here */
.modal-backdrop.show {
  opacity: 0.8;
}
/* home dashboard tab section */
.my-custom-tab {
    background-color: var(--nav-bg);
    border-radius: var(--border-radius-8);
    padding: .25rem;
}
.my-custom-tab .nav-link {
    padding: .25rem .75rem;
}
.my-custom-tab .nav-link.active {
    background-color: var(--card-bg);
    border-radius: var(--border-radius-8);
}
.my-custom-tab .nav-link i {
    font-size: 1.25rem;
    color: var(--primary-color);
}
.my-custom-tab .nav-link.active i {
  color: var(--success-green);
}
.border-left {
    width: 1px;
    border-left: 1px solid var(--border-color);
}
/*dashboard ends here*/


/* Toast Customization starts */
.toast-container .toast {
    width: 320px;
}

.toast-container .toast .toast-body .bi-x-lg {
    cursor: pointer;
    padding: var(--border-radius-6) var(--border-radius-8);
    transition: background-color 0.3s ease;
    border-radius: 4px;
}

.toast-container .toast .toast-body .bi-x-lg:hover {
    background-color: var(--btn-border);
}

.toast-container .toast .toast-body .toast-success {
    width: 32px;
    height: 32px;
    background-color: var(--btn-border);
    border-radius: 50%;
}
/* Failed Toast */
.success-toast .toast-body .bi-check-lg {
    background-color: var(--success-green);
    border-radius: 50%;
    width: 20px;
    height: 20px;
}

.success-toast::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -6%;
    transform: translateY(-50%);
    background: radial-gradient(50% 50% at 50% 50%, rgba(0, 237, 81, 0.12) 0%, rgba(0, 237, 123, 0) 100%);
    width: 100px;
    height: 100px;
    border-radius: 50%;
}
/* Failed Toast */
.failed-toast .toast-body .bi-check-lg {
    background-color: var( --danger-red);
    border-radius: 50%;
    width: 20px;
    height: 20px;
}

.failed-toast::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -6%;
    transform: translateY(-50%);
   background: radial-gradient(50% 50% at 50% 50%, rgba(240, 66, 72, 0.13) 0%, rgba(240, 66, 72, 0) 100%);
    width: 100px;
    height: 100px;
    border-radius: 50%;
}
/* Toast Customization ends */

/* Cards Background starts */
.payouts_headCards .payouts_cards {
    border-radius: var(--border-radius-8);
    background-color: #111 !important;
}

.payouts_cards {
    flex: 1 0 0;
    position: relative;
    background-color: #111 ;
}

.payouts_cards::after {
    background: url(/img/card_design.svg);
    background-position: right;
    background-size: cover;
    background-repeat: no-repeat;
    content: "";
    position: absolute;
    width: 60px;
    height: 100%;
    top: 0;
    right: 0;
    opacity: 0.3;
}
/* Cards Background ends */
/* Common Table filter starts */

.table_filter .refresh_btn {
    width: 32px;
    height: 32px;
}

.table_filter .export_btn {
    height: 32px;
    font-size: var(--font-size-14);
}

.table_filter .refresh_btn i {
    font-size: var(--font-size-18);
}

.table_filter .table_search .bi-search {
    position: absolute;
    top: 5px;
    left: 10px;
    color: var(--primary-color);
}

.table_filter .table_search .btn {
    position: absolute;
    top: 0px;
    right: 7px;
    color: var(--primary-color);
    height: 32px;
    padding: 0;
}

.table_filter .table_search input {
    height: 32px;
    width: 272px;
    padding: 0 20px 0 35px;
    font-size: var(--font-size-14);
    background-color: var(--nav-active) !important;
    border-radius: var(--border-radius-6);
}

.table_filter .datepicker {
    padding: 0.188rem 25px 0.188rem 0.75rem;
}

.table_filter .datepicker::after {
    content: "";
    position: absolute;
    top: 9px;
    right: 0;
    background-image: url(../img/chevron-down.png);
    background-repeat: no-repeat;
    width: 18px;
    height: 18px;
}

.table_filter .datepicker .daterange-value {
    font-size: var(--font-size-12);
}

.table_filter .border-end {
    height: 32px;
}
/* Table filter ends */


/* =========================================== */
/* Login starts */
.login-wrapper {
  height: 100vh;
  gap: 20px;
  width: 1400px;
  margin: auto;
}

.login-body {
  width: 600px;
  margin: 0 auto;
  background-color: var(--card-bg);
  padding: 45px;
  gap: 20px;
}

.login-body h4 {
  font-size: var(--font-size-24);
  text-transform: none;
}

.login-subhead {
  font-size: var(--font-size-20);
}

.login-wrapper .login-body {
  border-radius: var(--font-size-20);
  background-color: var(--login-bg) !important;
}

.login-form label {
  font-size: var(--font-size-14);
}

/* .login-form button {
  font-size: var(--font-size-20);
} */

.login-form .backtologin {
  text-decoration: none;
  display: block;
  text-align: center;
  color: var(--datepicker-active);
  font-size: var(--common-size);
}

.corner-radius {
  border-radius: 4px;
}

.btn-google-signup {
  background-color: var(--google-sigin-btn);
  color: var(--primary-color);
  transition: opacity 0.3s ease;
  padding: 7px 0;
  font-size: var(--font-size-20);
}

.btn-google-signup:hover {
  background-color: var(--google-sigin-btn);
  color: var(--primary-color);
  opacity: 0.7;
}

.btn-green {
  background-color: var(--border-green);
  color: var(--primary-color);
}

.line-through-text {
  display: flex;
  align-items: center;
  text-align: center;
}

.line-through-text::before,
.line-through-text::after {
  content: "";
  flex: 1;
  border-bottom: 1px solid var(--border-light);
  opacity: 0.5;
}

.line-through-text span {
  padding: 0 10px;
  font-size: var(--font-size-14);
}

.navigate-signin {
  text-decoration: none;
  color: var(--border-green);
}

.login-wrapper.card {
  border-radius: 8px !important;
}

.login-main-wrapper .login-body {
  margin: auto;
}

.login-main-wrapper .login-header .btn-success {
  width: 120px;
  background-color: var(--bg-color);
  color: var(--border-green);
}

.login-main-wrapper .login-header .btn-success:hover {
  background-color: var(--border-green);
  color: var(--primary-color);
}

.login-bg::before {
  background: url(/img/bg-login.png);
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0.5;
}

.login-footer span,
.login-footer span a {
  font-size: var(--font-size-20);
}

.forgotpassword-navigator {
  position: absolute;
  top: 5px;
  right: 0;
  text-decoration: none;
   color: var(--datepicker-active);
   transition: opacity 0.3s ease;
}
.forgotpassword-navigator:hover{
   color: var(--datepicker-active);
   opacity: 0.7;
}
.login-form .form-control{
    height: 42px;
}
.login-form button{
    height: 42px;
}
.fielderror-validation{
  background-color: var(--danger-red-half);
  padding: var(--font-size-12);
  border-radius: var(--border-radius-6);
}
.fielderror-validation .bi-exclamation-circle-fill{
  color: var(--danger-red);
  font-size: var(--common-size);
}
.fielderror-validation span{
  color:#FF8888;
}
/* Login ends */

/* setpassword by(john) starts*/
.password-criteria {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 10px;
}

.criteria-item {
  background-color: #444;
  color: #aaa;
  padding: 4px 10px;
  border-radius: 20px;
  font-size: 0.85rem;
  display: flex;
  align-items: center;
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* When criteria are met: green */
.criteria-item.text-success {
  background-color: var(--success-green);
  /* Green background */
  color: #375721 !important;
  /* Light green text */
}

.criteria-item i {
  margin-right: 5px;
}

.show-toggle {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  cursor: pointer;
  font-size: 1.2rem;
  color: #aaa;
  z-index: 10;
}

.was-validated .form-control:valid,
.form-control.is-valid,
.was-validated .form-control:invalid,
.form-control.is-invalid {
  background-image: none !important;
  padding-right: 0.75rem;
  background-repeat: no-repeat;
}

.reset-description {
  font-size: var(--common-size);
  color: var(--text-grey);
}
.backtologin{
  display: block;
  text-align: center;
}

.havntReceived{
  color:var(--text-grey);
  display: block;
  font-size: var(--font-size-14);
}
.havntReceived a{
  font-size: var(--font-size-14);
  color: var(--datepicker-active);
}
/* setpassword  by(john) ends  */
/* otp-verification box containers starts here... */

.otp-box .input-group .form-control {
  height: 48px;
  /* border: 1px solid #444; */
  padding: 6px var(--border-radius-8);
  background-color: #111;
  color: #fff;
  box-sizing: border-box;
  outline: none;
  transition: border 0.2s ease-in-out;
  border-radius: var(--border-radius-8) !important;
}

.arrow-icon {
  font-size: 20px;
  width: 20px;
  height: 20px;
  display: inline-block;
}
.otp-input {
  width: 62.5px;
  height: 48px;
  font-size: 1.25rem;
  border-radius: 8px;
  text-align: center;
}
/* 
.otp-input:focus {
  border-color: #02a283;
  box-shadow: none;
  background-color: #1a1a1a;
}
.otp-help-text {
  display: block;
  width: 470px;
  height: 24px;
  line-height: 24px;
  text-align: left;
} */

/* otp-verification box containers starts here... */