a {
  text-decoration: none;
}

.std-space {
    padding: 5px 2px;
}

.bd-placeholder-img {
    font-size: 1.125rem;
    text-anchor: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

.image-artist {
    font-size: .7em;
    color: #6c757d;
    text-align: center;
}

@media (min-width: 768px) {
    .bd-placeholder-img-lg {
    font-size: 3.5rem;
    }
}

.b-example-divider {
    width: 100%;
    height: 3rem;
    background-color: rgba(0, 0, 0, .1);
    border: solid rgba(0, 0, 0, .15);
    border-width: 1px 0;
    box-shadow: inset 0 .5em 1.5em rgba(0, 0, 0, .1), inset 0 .125em .5em rgba(0, 0, 0, .15);
}

.b-example-vr {
    flex-shrink: 0;
    width: 1.5rem;
    height: 100vh;
}

.bi {
    vertical-align: -.125em;
    fill: currentColor;
}

.nav-scroller {
    position: relative;
    z-index: 2;
    height: 2.75rem;
    overflow-y: hidden;
}

.navbar-brand {
    width: 150px;
}

.navbar-brand > img {
    width: 100px;
}

.nav-scroller .nav {
    display: flex;
    flex-wrap: nowrap;
    padding-bottom: 1rem;
    margin-top: -1px;
    overflow-x: auto;
    text-align: center;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
}

.btn-bd-primary {
    --bd-violet-bg: #712cf9;
    --bd-violet-rgb: 112.520718, 44.062154, 249.437846;

    --bs-btn-font-weight: 600;
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: var(--bd-violet-bg);
    --bs-btn-border-color: var(--bd-violet-bg);
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-bg: #6528e0;
    --bs-btn-hover-border-color: #6528e0;
    --bs-btn-focus-shadow-rgb: var(--bd-violet-rgb);
    --bs-btn-active-color: var(--bs-btn-hover-color);
    --bs-btn-active-bg: #5a23c8;
    --bs-btn-active-border-color: #5a23c8;
}

.bd-mode-toggle {
    z-index: 1500;
}

.bd-mode-toggle .dropdown-menu .active .bi {
    display: block !important;
}

main > .container {
    padding: 60px 15px 0;
}

/* Custom CSS for footer */
.footer {
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 1000; /* Ensure footer stays above other content */
}

/* Adjust main content to account for fixed header and footer */
main {
    padding-top: 56px; /* Height of the fixed navbar */
    padding-bottom: 56px; /* Height of the fixed footer */
    flex-grow: 1;
}

/* Ensure the card uses full height and distributes space properly */
.card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.card-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Distribute space between image, text, and buttons */
    overflow: hidden; /* Prevent overflow */
}

.image-container {
    flex: 1; /* Image takes up remaining space */
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden; /* Ensure the image doesn't overflow */
}

.image-container img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain; /* Ensure the image fits within the container */
}

.buttons-container {
    flex-shrink: 0; /* Prevent buttons from shrinking */
}

/* Add 15px padding above and below the card */
.card-padding {
    padding-top: 15px;
    padding-bottom: 15px;
    height: calc(100% - 30px); /* Adjust height to account for padding */
}

/* Styling for the number div */
.number-display {
    font-family: Verdana, sans-serif;; /* Attractive font */
    font-size: 1.5em; /* Twice the size of body text */

    color: #333; /* Dark gray color */
    text-align: center;
    /*margin-bottom: 5px; Space between the number and the image */
}

/* Style the processing container for datatables */
div.dataTables_processing {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: auto;
    height: auto;
    background: rgba(255, 255, 255, 0.9);
    padding: 1rem 2rem;
    border-radius: 0.5rem;
    z-index: 1050;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}
