html,
body {
    height: 100%;
}

body {
    display: flex;
    flex-direction: column;
}

footer {
    margin-top: auto;
}

/* Gradient and Shadow Utility */
.gradient-primary {
    background: linear-gradient(to right, rgb(5, 150, 105), rgb(34, 197, 94), rgb(163, 230, 53));
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

/* Accordion Chevron Icon */
.accordion-chevron {
    width: 1rem;
    height: 1rem;
    transition-duration: 200ms;
    transition-timing-function: ease-out;
}