@import url("https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@300;400;500;600;700&display=swap");
@import url('https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100..900;1,100..900&display=swap');
html {
  font-size: 14px;
  position: relative;
  min-height: 100%;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}
:root {
    --bs-info: #45B7E9; /* OVERWRITING THE INFO COLOR FROM THE BOOTSTRAP */
    --bs-info-rgb: 69, 183, 233;
    --bs-primary: #1f6e91; /* #0dcaf0 */
    --bs-primary-rgb: 31, 110, 145;
    --primary: #45B7E9;
    --gradient-start: #0a1a2a;
    --gradient-end: #0d3a4f;
    --card-bg: rgba(33, 37, 41, 0.7);
}

.btn-test:focus {
    outline: none;
    outline-color: transparent ;
    box-shadow: none;
    background-color: none;
    border-color: transparent;
}

.main-body {
    background: linear-gradient( 135deg, var(--gradient-start), var(--gradient-end) );
    overflow-x: hidden;
}


.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.btn-hover {
    color: #ffffff;
}
    .btn-hover:hover {
        color: #45B7E9;
    }
    .btn-hover:focus {
        color: #45B7E9;
    }

body {
  margin: 0;
}

.bg-gradient-dark {
  background: rgb(0, 0, 0);
  background: linear-gradient(
    127deg,
    rgba(0, 0, 0, 1) 0%,
    rgba(75, 75, 75, 1) 85%,
    rgba(106, 106, 106, 1) 100%
  );
}
.bg-gray {
    background-color: #C0C0C0;
}

.bg-other-gray {
    background-color: #C0C0C0;
}
.bg-dark-gray {
    background-color: #C0C0C0;
}
.border-gray {
    border-color: #C0C0C0;
}
.table-row:hover {
  background-color: #dcdcdc;
}
@media (max-width: 770px) {
  .mobile-view {
    display: none;
  }
}

.raleway {
    font-family: "Raleway", sans-serif;
    font-weight: 300;
    font-style: normal;
}

.hind-siliguri-light {
  font-family: "Hind Siliguri", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.hind-siliguri-regular {
  font-family: "Hind Siliguri", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.hind-siliguri-medium {
  font-family: "Hind Siliguri", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.hind-siliguri-semibold {
  font-family: "Hind Siliguri", sans-serif;
  font-weight: 600;
  font-style: normal;
}

.hind-siliguri-bold {
  font-family: "Hind Siliguri", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.card-rounded {
  border-radius: 0.75rem;
}
.card-header-rounded {
  border-radius: 0.75rem 0.75rem 0px 0px;
}

.text-blue {
  color: #0094b8;
}

.bg-light-red {
  background-color: #ffcccc;
}

/* LOADING ANIMATION  */
.load-wrapp {
  float: left;
  width: 100px;
  height: 100px;
  margin: 0 10px 10px 0;
  padding: 20px 20px 20px;
  border-radius: 5px;
  text-align: center;
  background-color: #d8d8d8;
}

.load-wrapp p {
  padding: 0 0 20px;
}

.load-wrapp:last-child {
  margin-right: 0;
}
.line {
  display: inline-block;
  width: 15px;
  height: 15px;
  border-radius: 15px;
  background-color: #0dcaf0;
}
.load-3 .line:nth-last-child(1) {
  animation: loadingC 0.6s 0.1s linear infinite;
}

.load-3 .line:nth-last-child(2) {
  animation: loadingC 0.6s 0.2s linear infinite;
}

.load-3 .line:nth-last-child(3) {
  animation: loadingC 0.6s 0.3s linear infinite;
}

@keyframes loadingC {
  0% {
    transform: translate(0, 0);
  }

  50% {
    transform: translate(0, 15px);
  }

  100% {
    transform: translate(0, 0);
  }
}

.modal {
  z-index: 9999;
}

/*
.modal-backdrop {
    z-index: 1040; 
}
*/


/* Transaction credit card modal CSS. Made by Tony */

/* Credit Card Styles */
.credit-card-container {
  display: block;
  
}

.credit-card {
  min-width: 300px;
  max-width: 70%;
  height: 18rem;
  max-height: 280px;
  position: relative;
  margin: 0 auto;
}

.card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: left;
  transition: transform 0.6s;
  transform-style: preserve-3d;
}

.credit-card:hover .card-inner {
  transform: rotateY(180deg);
}

.mini-credit-card:hover .card-inner {
    transform: rotateY(180deg);
}

.card-image-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: -1;
  border-radius: 15px;
}

.card-background-image {
  position: absolute;
  width: fit-content;
  height: 100%;
  object-fit: cover;
  opacity: 0.25;
}

.card-front,
.card-back {
  backface-visibility: hidden;
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 15px;
  color: white;
  padding: 20px;
  box-sizing: border-box;
  z-index: -2;
}

.card-back {
  transform: rotateY(180deg);
}

.card-payment-type {
  position: absolute;
  
  bottom: 8.5%;
  right: 7%;
}

.card-additional-details {
  padding-top: 10px;
  padding-bottom: 10px;
}

/* Card backgrounds */
.card-visa img {
  width: 150px;
  height: auto;
  object-fit: cover;
}

.card-visa .card-front,
.card-visa .card-back {
  background: rgb(153, 153, 153);
  background: linear-gradient(
    149deg,
    rgba(153, 153, 153, 1) 0%,
    rgba(204, 204, 204, 1) 66%
  );
}

.card-mastercard .card-front,
.card-mastercard .card-back {
  background: linear-gradient(135deg, #ff5f00, #f79e1b);
}

.card-amex .card-front {
  background: rgb(202, 221, 233);
  background: radial-gradient(
    circle at 42% center,
    rgba(202, 221, 233, 1) 0%,
    rgba(7, 56, 133, 1) 60%
  );
}

.card-amex .card-background-image {
  left: 5%;
  top: -10%;
  height: 120%;
}

.card-amex .card-back {
  background: rgba(7, 56, 133, 1) 65%;
}

.card-discover .card-front,
.card-discover .card-back {
    background: linear-gradient(125deg, #f58220, #ffc899);
}

.card-default .card-front,
.card-default .card-back {
  background: linear-gradient(135deg, #333333, #777777);
}

/* Card elements styling */
.card-logo {
  position: absolute;
  top: 6%;
  right: 20px;
}

.card-chip img {
  display: flex;
  justify-content: center; /* Horizontally center */
  align-items: center; /* Vertically center */
  position: absolute; /* Ensure it doesn't affect sibling elements */
  top: 50%; /* Center vertically */
  left: 20%; /* Center horizontally */
  transform: translate(-50%, -50%);
  width: 5rem;
}

.card-name {
    position: absolute;
    letter-spacing: 2px;
    font-size: 1.3rem;
    bottom: 20%;
    left: 10%;
}

.card-number {
    position: absolute;
    letter-spacing: 2px;
    font-size: 1.2rem;
    bottom: 9%;
    left: 10%;
}

.card-holder,
.card-expires {
  display: inline-block;
  width: 45%;
}

.card-holder span,
.card-expires span {
  display: block;
}

.magnetic-strip {
  background: black;
  height: 40px;
  margin-top: 10px;
}

.signature {
  background: #fff;
  color: #000;
  padding: 5px;
  margin-top: 10px;
}

.cvv {
  position: absolute;
  top: 40%;
  right: 20px;
}

.card-logo-back {
  position: absolute;
  bottom: 20px;
  right: 20px;
}

@media (max-width: 500px) {

    .credit-card {
        height: 15rem;
    }

    .card-logo img {
        position: absolute;
        top: 6%;
        right: 00px;
        max-width: 40px;
    }
    /** HC HERE */
    .magnetic-strip {
        background: black;
        max-height: 15px;
        margin-top: 10px;
    }

    .signature {
        max-height: 15px;
    }

    .card-name {
        font-size: 1rem;
    }
}


/* Auth animations */
.animate-fade-in-scale {
  opacity: 0;
  transform: scale(0.95);
  animation: fadeInScale 0.5s ease-out forwards;
}

@keyframes fadeInScale {
  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* Select unit form */
/* Gradient Background */
.bg-gradient {
  background: linear-gradient(to bottom, #212529, #343a40);
}

/* Logo Animation */
.logo-animation {
  animation: fade-in 1s ease-in-out;
}

/* Title Animation */
.animate-title {
  animation: slide-down 1s ease-in-out;
}

/* Search Animation */
.search-animation {
  animation: fade-in 0.8s ease-in-out;
}

/* Fade-in Animation for Cards */
.fade-in-animation {
  animation: fade-in 1.2s ease-in-out;
}

/* Glow on Hover */
.glow-on-hover {
  transition: all 0.3s ease-in-out;
}
.glow-on-hover:hover {
  box-shadow: 0 0 15px rgba(72, 239, 239, 0.8);
  transform: scale(1.05);
}

/* Unit Card Hover */
.bg-dark-hover:hover {
  background-color: #495057;
  transition: background-color 0.3s ease-in-out;
}

/* Unit Card Hover */
.bg-hover:hover {
    background-color: #dbdbdb;
    transition: background-color 0.3s ease-in-out;
}

/* Keyframe Animations */
@keyframes fade-in {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slide-down {
  from {
    transform: translateY(-50px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

/* Style the scrollbar track */
div::-webkit-scrollbar {
    width: 15px; /* Set the width of the vertical scrollbar */
    height: 15px; /* Set the height of the horizontal scrollbar */
    margin: 20px 15px;
}

/* Style the scrollbar track (background of the scrollbar) */
div::-webkit-scrollbar-track {
    background: #f1f1f1; /* Light gray background */
    border-radius: 10px; /* Rounded corners */
    margin: 20px 15px;
}

/* Style the scrollbar thumb (the draggable part of the scrollbar) */
div::-webkit-scrollbar-thumb {
    background: #888; /* Darker color for the thumb */
    border-radius: 10px; /* Rounded corners for the thumb */
    border: 3px solid #f1f1f1; /* Adds a border to the thumb */
    margin: 20px 15px;
}

/* Style the scrollbar thumb when hovering */
div::-webkit-scrollbar-thumb:hover {
    background: #555; /* Change color on hover */
}

/* Optional: style the corner where vertical and horizontal scrollbars meet */
div::-webkit-scrollbar-corner {
    background: #f1f1f1;
}

#transactionsTable_filter:only-child {
    display: inline-flex;
}

.transactionsTable_filter div label input {
    display: flex;
    gap: 5rem;
}
#transactionsTable_wrapper .row {
    padding: 0rem 0rem;
}
#transactionsTable_wrapper:first-child {
    padding: 0rem 2rem;
}

@media (max-width: 600px){
    #transactionsTable_length {
        display: flex;
        justify-content: center;
    }
    #transactionsTable_paginate{
        display: flex; 
        justify-content: center;
    }
    #transactionsTable_info {
        display: flex;
        justify-content: center;
    }
    #transactionsTable_filter {
        width: 100%;
        margin-top: .5rem;
        display: flex;
        justify-content: center;
    }

}

#transactionsTable_info {
    margin: .5rem 0;
    padding: 0 1rem;
}

#transactionsTable_paginate {
    margin: .5rem 0;
}

#transactionsTable_length {
    padding: 0 1rem;
}

#transactionsTable_filter {
    padding: 0 1rem;
}

#transactionsTable_length label {
    display: inline-flex;
    gap: 1rem;
    align-items: center;
    text-transform: uppercase;
}
#transactionsTable_filter label {
    display: inline-flex;
    gap: 1rem;
    align-items: center;
    text-transform: uppercase;
}

#transactionsTable_info {

}

.pulsating-text {
    display: inline-block;
    animation: pulse 1.5s infinite ease-in-out;
}

@keyframes pulse {
    0% {
        opacity: 1;
        transform: scale(1);
    }

    50% {
        opacity: 0.5;
        transform: scale(1.1);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

.loaded {
    display: none;
}


/* Styling for the receipt container */
.receipt {
    max-width: 300px;
    width: 100%;
    background-color: #fff;
    border: 1px solid #ddd;
    padding: 20px;
    font-family: 'Courier New', Courier, monospace;
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    opacity: 0;
    animation: print 3s forwards;
}

/* The animation for the receipt appearing like it's being printed */
@keyframes print {
    0% {
        opacity: 0;
        transform: translateY(-100%);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Simple styling for receipt content */
.receipt-header {
    text-align: center;
    font-size: 16px;
    font-weight: bold;
}

.receipt-item {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    margin: 10px 0;
}

.receipt-total {
    font-size: 16px;
    font-weight: bold;
    margin-top: 20px;
    text-align: right;
}

.receipt-footer {
    text-align: center;
    font-size: 12px;
    color: #666;
    margin-top: 20px;
}

#transactionsTable_wrapper .row {
    margin-left: 0;
    margin-right: 0;
}
#transactionsTable_wrapper .row {
    margin-left: 0;
    margin-right: 0;
}

#transactionsTable_wrapper .col-sm-12 {
    padding-left: 0;
    padding-right: 0;
}
