body {
    /* Define the rainbow gradient background */
    background: linear-gradient(to right, red, orange, yellow, green, blue, indigo, violet);
    /* Ensure the gradient is large enough to move smoothly */
    background-size: 400% 100%;
    /* Set height of the body to fill the entire viewport */
    height: 100vh;
    /* Center the content */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: white; /* For better text visibility */
    font-family: sans-serif;
    /* Apply the animation */
    animation: rainbow_animation 15s ease-in-out infinite;
}

/* Define the animation keyframes */
@keyframes rainbow_animation {
    /* Start position of the background */
    0%, 100% {
        background-position: 0 0;
    }
    /* Midpoint position of the background (moves right) */
    50% {
        background-position: 100% 0;
    }
    /* The animation will then naturally move back to 0 0 */
}

/* Optional: Style the text for better readability */
h1, p {
    background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent background for text */
    padding: 10px;
    border-radius: 5px;
}