section.banner {
    img {
        aspect-ratio: 21/10;
        object-fit: cover;
        object-position: top center;
    }
}

section.header {
    text-align: center;

    h1 {
        font-family: 'Indie Flower';
        font-size: 3rem;
        text-align: center;
        gap: 22px;
    }

    @media (max-width: 800px) {
        flex-direction: column;

        h1 {
            font-size: 2rem;
        }
    }
}

section.events {
    display: flex;
    flex-direction: column;
    gap: 40px;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;

    article {
        display: flex;
        filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, 0.25));

        &:has(div.decorated.right) {
            flex-direction: row-reverse;
        }

        @media (max-width: 800px) {
            --decoratorPosition: top;
            flex-direction: column;

            div.decorated {
                max-width: unset !important;

                img {
                    width: 100% !important;
                    max-height: unset !important;
                    aspect-ratio: 16/9 !important;
                    object-position: top;
                }
            }   
        }

        div.content {
            background-color: white;
            padding: 22px;
            flex: 1;
            display: flex;
            flex-direction: column;

            p.date {
                font-weight: bold;
            }

            p.description {
                margin-top: 22px;
                flex: 1;
            }

            div.button-row {
                margin-top: 22px;
                display: flex;
                gap: 9px;
                flex-wrap: wrap;
                align-items: center;

                &:has(select) {
                    gap: 0;
                    p {
                        width: 100%;
                        font-weight: bold;
                    }
                }

                select {
                    padding: 12px 18px;
                    box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.25);
                    border: solid 1px black !important;
                    height: 50px;
                }
            }
        }

        div.decorated {
            display: flex;
            flex-shrink: 0;

            img {
                width: 300px;
                object-fit: cover;
                aspect-ratio: 1/1;
            }
        }
    }
}