* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

#granite-banner {
    background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('../images/granitebg.svg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.first-image {
    position: relative;
    top: 20px;
}

.second-image {
    position: relative;
    top: -20px;
}

.third-image {
    position: relative;
    top: 20px;
}

.fourth-image {
    position: relative;
    top: -20px;
}

@keyframes fadeInZoom {
    0% {
        opacity: 0;
        transform: scale(0.8);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

.animate-fade-in {
    animation: fadeInZoom 1s ease-in-out;
    opacity: 0;
    animation-fill-mode: forwards;
}

/* Delay effect for a cascading animation */
.first-image {
    animation-delay: 0s;
}

.second-image {
    animation-delay: 0.2s;
}

.third-image {
    animation-delay: 0.4s;
}

.fourth-image {
    animation-delay: 0.6s;
}

/* Define the shake animation */
@keyframes shake {
    0% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(-5px);
    }

    50% {
        transform: translateX(5px);
    }

    75% {
        transform: translateX(-5px);
    }

    100% {
        transform: translateX(0);
    }
}

/* Apply the animation on hover */
.premium-card img {
    border-radius: 25px !important;
    transition: all 0.3s ease;
}

.premium-card img:hover {
    transform: translateY(-15px);
    box-shadow: 0 0 10px #000;
}

.granite-card {
    position: relative;
    overflow: hidden;
    transition: all 0.5s ease;
}

.granite-data {
    width: 100%;
    padding: 10px 0;
    position: absolute;
    bottom: 0;
    transform: translateY(150%);
    opacity: 0;
    transition: all 0.5s ease;
}

.granite-card:hover .granite-data {
    transform: translateY(0);
    opacity: 1;
    transition: all 0.5s ease;
}