:root {
    --lightbox: rgb(0 0 0 / 0.75);
    --carousel-text: #fff;
}

body {
    margin: 1.5rem 0 3.5rem;
}

@keyframes zoomin {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
    100% {
        transform: scale(1);
    }
}

.gallery-item {
    display: block;
}

.gallery-item img {
    box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.15);
    transition: box-shadow 0.2s;
}

.gallery-item:hover img {
    box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.35);
}

.lightbox-modal .modal-content {
    background-color: var(--lightbox);
}

.lightbox-modal .btn-close {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    font-size: 1.25rem;
    z-index: 10;
    filter: invert(1) grayscale(100);
}

.lightbox-modal .modal-body {
    display: flex;
    align-items: center;
    padding: 0;
}

.lightbox-modal .lightbox-content {
    width: 100%;
}

.lightbox-modal .carousel-indicators {
    margin-bottom: 0;
}

.lightbox-modal .carousel-indicators [data-bs-target] {
    background-color: var(--carousel-text) !important;
}

.lightbox-modal .carousel-inner {
    width: 75%;
}

.lightbox-modal .carousel-inner img {
    animation: zoomin 10s linear infinite;
}

.lightbox-modal .carousel-item .carousel-caption {
    right: 0;
    bottom: 0;
    left: 0;
    padding-bottom: 2rem;
    background-color: var(--lightbox);
    color: var(--carousel-text) !important;
}

.lightbox-modal .carousel-control-prev,
.lightbox-modal .carousel-control-next {
    width: auto;
}

.lightbox-modal .carousel-control-prev {
    left: 1.25rem;
}

.lightbox-modal .carousel-control-next {
    right: 1.25rem;
}

@media (min-width: 1400px) {
    .lightbox-modal .carousel-inner {
        max-width: 60%;
    }
}

[data-bs-theme="dark"] .lightbox-modal .carousel-control-next-icon,
[data-bs-theme="dark"] .lightbox-modal .carousel-control-prev-icon {
    filter: none;
}

.btn-fullscreen-enlarge,
.btn-fullscreen-exit {
    position: absolute;
    top: 1.25rem;
    right: 3.5rem;
    z-index: 10;
    border: 0;
    background: transparent;
    opacity: .6;
    font-size: 1.25rem;
}

.bi {
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: -0.035em;
    fill: currentcolor;
}
.overlay {
    position: relative; 
    bottom: 0; 
    background: rgb(0, 0, 0);
    background: rgba(0, 0, 0, 0.5); /* Black see-through */
    color: #f1f1f1; 
    width: 100%;
    transition: .5s ease;
    opacity:0;
    color: white;
    font-size: 20px;
    padding: 20px;
    text-align: center;
  }
  
  .gallery-item:hover .overlay {
    opacity: 1;
    
  }