h1, h2, h3, h4, h5, h6 {
    --pico-font-family: Avenir, Montserrat, Corbel, 'URW Gothic', source-sans-pro, sans-serif;
}

h1 {
    text-align: center;

    > img {
        height: var(--pico-font-size);
    }
}

.hidden {
    display: none !important;
}

.heading-filter {
    @media(min-width: 768px) {
        display: flex;
        align-items: center;
        justify-content: space-between;

        form {
            max-width: 33%;
        }
    }
}

.modules.grid {
    grid-template-columns: 1fr;

    @media (min-width: 768px) {
        grid-template-columns: 1fr 1fr;
    }

    @media (min-width: 1280px) {
        grid-template-columns: 1fr 1fr 1fr;
    }

    article {
        height: fit-content;
        display: flex;
        flex-direction: column;
    }
}

.modules article {
    --module-header-height: 6rem;

    > header {
        height: var(--module-header-height);
        background-color: #ff7600;
        background-size: cover;

        > .logo {
            float: right;
            height: 100%;
        }
    }

    > a {
        --pico-text-decoration: none;

        /* Stretch link over the full card body and header */
        margin: 
            calc(-1 * var(--pico-block-spacing-vertical) - var(--module-header-height)) 
            calc(-1 * var(--pico-block-spacing-horizontal))
            calc(-1 * var(--pico-block-spacing-vertical));
        padding: 
            calc(var(--pico-block-spacing-vertical) + var(--module-header-height))
            var(--pico-block-spacing-horizontal)
            var(--pico-block-spacing-vertical);
    }

    h3 {
        --pico-font-size: 1.25rem;
    }

    > footer {
        margin-top: auto;

        details {
            margin-bottom: 0;
        }
    }
}
