@use "../base/mixins";


section.flexi-block.block--services-04 {
    .content {
        margin-bottom: 40px;
        max-width: 850px;
        text-align: center;

        h1, h2 {
            font-size: clamp(1.75rem, 4vw, 3rem);
            line-height: 1.125;
            max-width: 995px;
            margin: 0 auto clamp(18px, 4vw, 33px);
        }

        .eyebrow {
            color: var(--c-primary);
            font-size: clamp(.875rem, 4vw, 1.125rem) !important;
            margin-bottom: clamp(8px, 4vw, 12px) !important;
        }
    }

    .cards {
        list-style: none;

        --columns: 1;
        padding: 0;
        margin: 0;
        display: grid;
        gap: var(--site-gutter);
        grid-template-columns: repeat(var(--columns), 1fr);
    }

    .card {
        padding: 0;
        position: relative;
        display: block;
        margin: 0;
        height: 100%;
        width: 100%;

        > a {
            width: 100%;
            height: 100%;
            display: block;
        }

        .card__content {
            padding: 20px;
            position: relative;
            display: flex;
            text-align: center;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            overflow: hidden;
            background-color: rgba(0,0,0,.2);
            color: var(--c-white);
            min-height: 250px;
            height: 100%;
            border-radius: calc(var(--border-radius) * 2);

            .card__icon {
                margin-bottom: 8px;
                z-index: 10;
                position: relative;
                width: 36px;
                height: 36px;
            }

            .card__icon img {
                @include mixins.object-fit;
                object-fit: contain;
                transition: .25s cubic-bezier(.25, 0, .3, 1);
            }

            .card__title {
                margin-bottom: 20px;
                font-size: 1.75rem;
                z-index: 10;
            }

            .card__content__background-image {
                transition: .5s cubic-bezier(.25, 0, .3, 1);

                @include mixins.object-fit;
                z-index: 1;
            }

            .button {
                z-index: 10;
            }

            &::before {
                position: absolute;
                content: "";
                width: 100%;
                height: 100%;
                top: 0;
                left: 0;
                z-index: 5;
                background-color: rgba(0,0,0,.3);
                transition: .5s cubic-bezier(.25, 0, .3, 1);
            }
        }


        &.no-bg {
            .card__content {
                background: var(--c-secondary);
            }
        }

        &:hover {
            .card__content::before {
                background-color: rgba(0,0,0,.2);
            }

            .card__content__background-image, .card__icon img {
                scale: 1.05;
            }
        }
    }

    @include mixins.min-width(600) {
        .cards {
            --columns: 2;
        }
    }

    @include mixins.min-width(900) {
        .cards {
            --columns: 3;
        }
    }
}
