/* Fade-in animation for hero section */
.fade-in {
    animation: fadeIn 1.5s ease-in-out;
}

@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Hover animation for buttons */
.btn-animated {
    transition: all 0.3s ease-in-out;
}

.btn-animated:hover {
    transform: scale(1.1);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

/* Card hover effect */
.card-hover {
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

.card-hover:hover {
    transform: translateY(-10px);
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15);
}

/* Image bounce effect */
.image-bounce {
    animation: bounce 2s infinite;
}

@keyframes bounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}

/* Enlarge image on hover */
.image-hover {
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

.image-hover:hover {
    transform: scale(1.1);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

/* Scroll animation */
.scroll-animation {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.8s ease-out;
}

.scroll-animation.visible {
    opacity: 1;
    transform: translateY(0);
}

.carousel {
    height: 100vh;
}

.carousel-inner {
    height: 100%;
}

.carousel-item {
    height: 100%;
}

/* Ensure images fit within the carousel */
.carousel-item img {
    object-fit: cover; /* Maintain aspect ratio and fill container */
    height: 100%;      /* Fill height of the item */
    width: 100%;       /* Fill width of the item */
}

/* Optional: Center content within the carousel */
.carousel-caption {
    bottom: 20%;
}

.transparent-background {
    background-color: rgba(0, 0, 0, 0.6); /* Black with 50% transparency */
    padding: 20px;
    border-radius: 8px;
    text-align: center;
}