body {
    display: flex; /* Enable flexbox for the body */
    justify-content: center; /* Center content horizontally */
    align-items: center; /* Center content vertically */
    min-height: 100vh; /* Ensure the body takes up at least the full viewport height */
    margin: 0; /* Remove default body margin */
  }
  
  section {
    text-align: center; /* Center the text within the section */
  }

/*Utility Classes*/
.animate {
    animation-duration: 1s;
    animation-fill-mode: both;
}

.animate.animate--infinite {
    animation-iteration-count: infinite;
}

.animate.animate--delay-1s {
    animation-delay: 1s;
}

.animate.animate--fast {
    animation-duration: 0.6s;
}

.animate.animate--slow {
    animation-duration: 3s;
}

/*Animations*/
@keyframes slideInLeft {
    from {
        transform: translateX(-300px);
    }

    to {
        transform: translateX(0);
    }
}

.slideInLeft {
    animation-name: slideInLeft;
    animation-timing-function: ease-in;
}

@keyframes slideInRight {
    from {
        transform: translateX(300px);
    }

    to {
        transform: translateX(0);
    }
}

.slideInRight {
    animation-name: slideInRight;
    animation-timing-function: ease-in;
}

@keyframes rotate {
    from {
        transform: rotate(0);
    }

    to {
        transform: rotate(360deg);
    }
}

.rotate {
    animation-name: rotate;
    animation-timing-function: linear;
    transform-origin: top left;
}

@keyframes bounce {
    0%, 
    20%, 
    50%,
    80%,
    100% {
        transform: translateY(0);
    }

    40% {
        transform: translateY(-30px);
    }

    50% {
        transform: translateY(-15px);
    } 

    60% {
        transform: translateY(-30px);
    }
}

.bounce {
    animation-name: bounce;
}