/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */
@keyframes pulse {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.05);
    }

    100% {
        transform: scale(1);
    }
}

@keyframes my-fade-in {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animated-button {
    animation: pulse 2s infinite ease-in-out;
}

.animate-me {
    animation-name: my-fade-in;
    animation-duration: 1.5s;
    animation-fill-mode: both;
    /* Ensures the element stays in its final state */
}

h1.top_header {
    font-size: 4.2vw !important;
}

#more-search-filters:focus-within {
    outline: .125rem solid var(--primary);
    border-radius: .5rem !important
}

.event-image-container {
    width: 100%;
    aspect-ratio: 16 / 9;
    background-color: var(--surface);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.event-image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Final focus styles: robust and thematic */
/* Including :focus for mouse clicks and :focus-visible for keyboard */
body :focus,
body :focus-visible,
body a:focus,
body a:focus-visible,
a:focus,
a:focus-visible {
    outline: 2px solid var(--primary) !important;
    outline-offset: 2px !important;
    /* Adding a subtle shadow for better depth and visibility */
    box-shadow: 0 0 0 4px rgba(0, 100, 255, 0.1) !important;
}