@import url("https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@300;400;500;600;700&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: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;
}

body {
  margin: 0;
}
@keyframes pulse {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.05);
    }

    100% {
        transform: scale(1);
    }
}
.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: gray;
}

.bg-other-gray {
  background-color: #7f7f7f;
}
.bg-dark-gray {
  background-color: #d8d8d8;
}
.border-gray {
  border-color: gray;
}
.table-row:hover {
  background-color: #dcdcdc;
}
@media (max-width: 770px) {
  .mobile-view {
    display: none;
  }
}

.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; 
}
*/

/* DATATABLE STYLES -------- */
.dt-input select {
  background-color: #fff; /* Background color */
  color: #000; /* Text color */
  border: 1px solid #ccc; /* Border style */
  padding: 5px; /* Padding for the select box */
  border-radius: 4px; /* Rounded corners */
}

.dt-input select option {
  background-color: #fff;
  color: #000;
}

.dt-input select option:hover {
  background-color: #f0f0f0;
}

.dt-input {
  background-color: #fff;
}

#dt-search-0 {
  margin-left: 15px;
  border-radius: 0.2rem;
  background-color: white;
  color: black;
}

#dt-length-0 {
  margin-right: 15px;
  border-radius: 0.2rem;
  background-color: white;
  color: black;
  text-transform: uppercase;
}
label[for="dt-length-0"] {
  color: black;
  font-weight: bold;
  text-transform: capitalize;
}
label[for="dt-search-0"] {
  color: black;
  font-weight: bold;
  text-transform: capitalize;
}

#dt-length-0 label {
  text-transform: uppercase;
  font-size: 2rem;
}
dt-layout-row .dt-layout-cell {
  width: auto;
}

.dt-layout-row:first-of-type {
  margin: 0px;
  padding: 0rem 1rem;
}

.dt-layout-row:last-of-type {
  margin: 0px;
  padding: 0rem 1rem;
}

.dt-layout-table {
  margin-top: 0px;
}

#div-table {
  background-color: #d8d8d8;
  color: black;
  padding: 1rem 0rem;
  border-radius: 0.2rem 0.2rem 0.2rem 0.2rem;
}
#transactionsTable colgroup col:last-child {
  background-color: black;
}

@media only screen and (max-width: 600px) {
  .dt-layout-cell {
    text-align: start;
    margin: 0px;
  }
  .dt-length {
    margin: 0px;
    display: flex;
    justify-content: start;
    align-items: center;
  }
  .dt-search {
    margin: 0px;
    display: flex;
    gap: 0.6rem;
    justify-content: start;
    align-items: center;
  }
  .dt-search label {
    /* display: none;*/
    order: 0;
  }
  #dt-search-0 {
    margin-left: 0px;
  }
}

/* Transaction credit card modal CSS. Made by Tony */

/* Credit Card Styles */
.credit-card-container {
  perspective: 1000px;
  display: inline-block;
  margin: 20px;
  width: 100%;
}

.credit-card {
  width: 100%;
  max-width: 80%;
  height: 350px;
  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);
}

.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;
  font-size: 1.5em;
  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(135deg, #34495e, #a9acb0);
}

.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: 45%; /* Center vertically */
  left: 15%; /* Center horizontally */
  transform: translate(-50%, -50%);

  width: 80px;
}

.card-number {
  position: absolute;
  font-size: 1.4em;
  letter-spacing: 2px;
  bottom: 7%;
  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: 85px;
  right: 20px;
}

.card-logo-back {
  position: absolute;
  bottom: 20px;
  right: 20px;
}

/* 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;
}

/* 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;
  }
}

.heartbeat {
    -webkit-animation: heartbeat 2s ease-in-out 4s infinite both;
    animation: heartbeat 2s ease-in-out 4s infinite both;
}

/* ----------------------------------------------
 * Generated by Animista on 2024-12-9 16:50:14
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation heartbeat
 * ----------------------------------------
 */
@-webkit-keyframes heartbeat {
    from {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transform-origin: center center;
        transform-origin: center center;
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    10% {
        -webkit-transform: scale(0.91);
        transform: scale(0.91);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    17% {
        -webkit-transform: scale(0.98);
        transform: scale(0.98);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    33% {
        -webkit-transform: scale(0.87);
        transform: scale(0.87);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    45% {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }
}

@keyframes heartbeat {
    from {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transform-origin: center center;
        transform-origin: center center;
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    10% {
        -webkit-transform: scale(0.91);
        transform: scale(0.91);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    17% {
        -webkit-transform: scale(0.98);
        transform: scale(0.98);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    33% {
        -webkit-transform: scale(0.87);
        transform: scale(0.87);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    45% {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }
}


.slide-right {
    -webkit-animation: slide-right 3s cubic-bezier(0.250, 0.460, 0.450, 0.940) infinite both;
    animation: slide-right 3s cubic-bezier(0.250, 0.460, 0.450, 0.940) infinite both;
}
/* ----------------------------------------------
 * Generated by Animista on 2025-1-24 14:22:5
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation slide-right
 * ----------------------------------------
 */
@-webkit-keyframes slide-right {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    100% {
        -webkit-transform: translateX(100px);
        transform: translateX(100px);
    }
}

@keyframes slide-right {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    100% {
        -webkit-transform: translateX(100px);
        transform: translateX(100px);
    }
}

.slide-left {
    -webkit-animation: slide-left 3s cubic-bezier(0.250, 0.460, 0.450, 0.940) infinite both;
    animation: slide-left 3s cubic-bezier(0.250, 0.460, 0.450, 0.940) infinite both;
}
/* ----------------------------------------------
 * Generated by Animista on 2025-1-24 14:22:37
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation slide-left
 * ----------------------------------------
 */
@-webkit-keyframes slide-left {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    100% {
        -webkit-transform: translateX(-100px);
        transform: translateX(-100px);
    }
}

@keyframes slide-left {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    100% {
        -webkit-transform: translateX(-100px);
        transform: translateX(-100px);
    }
}


@media (min-width: 1400px) {
    .summary-cards {
        grid-column: 3;
    }
}