.cb-tilecolumns {
    .row {
        --bs-gutter-x: 1.5rem;

        .tile {
            margin-top: var(--bs-gutter-x);
            .tile-link {
                position: relative;
                display: flex;
                width: 100%;
                padding-top: 60%;
                @media (min-width: 576px) {
                    padding-top: 76%;
                }
                @media (min-width: 992px) {
                    padding-top: 60%;
                }
                color: var(--color-white);
                border-radius: var(--border-radius);
                overflow: hidden;
                .tile-image {
                    height: 100%;
                    left: 0;
                    overflow: hidden;
                    position: absolute;
                    top: 0;
                    width: 100%;
                    z-index: 0;
                    img {
                        object-fit: cover;
                        width: 100%;
                        height: 100%;
                        transform: scale(1);
                        transition: transform 0.3s ease-in-out;
                    }
                }
                .tile-overlay {
                    background: linear-gradient(0deg, #222, transparent, transparent);
                    bottom: 0;
                    height: 100%;
                    left: 0;
                    opacity: 0.8;
                    position: absolute;
                    transition: opacity 0.3s ease-in-out;
                    width: 100%;
                }
                .tile-content {
                    position: absolute;
                    bottom: 0;
                    left: 0;
                    z-index: 1;
                    padding: 1.5rem;
                    @media (min-width: 576px) {
                        padding: 1rem;
                    }
                    @media (min-width: 992px) {
                        padding: 1.5rem;
                    }
                    > * {
                        &:last-child {
                            margin-bottom: 0;
                        }   
                    }
                }
                &:hover {
                    .tile-image {
                        img {
                            transform: scale(1.035);
                        }
                    }
                    .tile-overlay {
                        opacity: 1;
                    }
                }
            }
        }

        &.cols-3 {
            .tile {
                .tile-link {
                    padding-top: 60%;
                    .tile-content {
                        padding: 1.5rem;
                    }
                }
            }
        }

        &.cols-4 {
             .tile {
                .tile-link {
                    @media (min-width: 1200px) {
                        padding-top: 76%;
                    }
                    .tile-content {
                        @media (min-width: 1200px) {
                            padding: 1rem;
                        }
                    }
                }
            }
        }

    }
}
