/* Utilities */
.object-fit-cover {
    object-fit: cover;
}

.ls-2 {
    letter-spacing: 2px;
}

.ls-3 {
    letter-spacing: 3px;
}

/* 5 Columns Utility */
.col-md-2dot4 {
    flex: 0 0 auto;
    width: 20%;
}

@media (max-width: 768px) {
    .col-md-2dot4 {
        width: 50%;
    }
}

/* Animations & Hover Effects */
.hover-up:hover {
    transform: translateY(-5px);
    transition: transform 0.3s ease;
}

.group-hover-zoom:hover img {
    transform: scale(1.1);
}

.transition-transform {
    transition: transform 0.6s ease;
}

.group-hover-visible {
    opacity: 1 !important;
    transition: opacity 0.3s ease 0.1s;
}

.bg-gradient-dark {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
}

.animate-bounce {
    animation: bounce 2s infinite;
}

@keyframes bounce {

    0%,
    20%,
    50%,
    80%,
    100% {
        transform: translateY(0) translateX(-50%);
    }

    40% {
        transform: translateY(-10px) translateX(-50%);
    }

    60% {
        transform: translateY(-5px) translateX(-50%);
    }
}

/* Sections */
/* Sections */
.hero-section {
    height: calc(100vh - 180px);
    min-height: 500px;
    width: 100%;
    position: relative;
    /* Remove negative margins to prevent header overlap */
    margin-top: 0;
    padding-top: 0;
}

.hero-section h1,
.hero-section h5,
.hero-section p,
.hero-section i {
    color: #ffffff !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.banner-strip {
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    background-repeat: no-repeat;
}

.banner-strip h2,
.banner-strip p {
    color: #ffffff !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

/* Swiper Equal Height */
.swiper-slide {
    height: auto;
}

.swiper-slide .card {
    height: 100%;
}