info o-grid12
<div class="o-grid12">
	<div class="o-grid12__column o-grid12__column--1">
		<a href="#" target="_self" class="o-grid12__inner">
			<div class="o-grid12__image">
				<img src="https://placehold.it/710x380/" width="710" height="380" loading="lazy" alt="Preview">
			</div>
			<div class="o-grid12__content">
				<p class="o-grid12__title">
					<strong> Title 01 </strong>
				</p>
			</div>
		</a>
	</div>
	<div class="o-grid12__column o-grid12__column--2">
		<a href="#" target="_self" class="o-grid12__inner">
			<div class="o-grid12__image">
				<img src="https://placehold.it/370x370/" loading="lazy" width="370" height="370" alt="Preview">
			</div>
			<div class="o-grid12__content">
				<p class="o-grid12__title">
					<strong> Title 02 </strong>
				</p>
			</div>
		</a>
	</div>
	<div class="o-grid12__column o-grid12__column--3">
		<a href="#" target="_self" class="o-grid12__inner">
			<div class="o-grid12__image">
				<img src="https://placehold.it/370x370/" loading="lazy" width="370" height="370" alt="Preview">
			</div>
			<div class="o-grid12__content">
				<p class="o-grid12__title">
					<strong> Title 03 </strong>
				</p>
			</div>
		</a>
	</div>
	<div class="o-grid12__column o-grid12__column--4">
		<a href="#" target="_self" class="o-grid12__inner">
			<div class="o-grid12__image">
				<img src="https://placehold.it/370x370/" loading="lazy" width="370" height="370" alt="Preview">
			</div>
			<div class="o-grid12__content">
				<p class="o-grid12__title">
					<strong> Title 04 </strong>
				</p>
			</div>
		</a>
	</div>
	<div class="o-grid12__column o-grid12__column--5">
		<a href="#" target="_self" class="o-grid12__inner">
			<div class="o-grid12__image">
				<img src="https://placehold.it/370x370/" loading="lazy" width="370" height="370" alt="Preview">
			</div>
			<div class="o-grid12__content">
				<p class="o-grid12__title">
					<strong> Title 05 </strong>
				</p>
			</div>
		</a>
	</div>
</div>
@import "atoms/background/index";

@import "atoms/button/index";

.o-grid12 {

    $self: &;

    display: grid;
    grid-gap: $grid-gutter-width;
    grid-template-columns: 1fr;
    grid-template-rows: auto;

    @media (min-width: 430px) {

        grid-template-columns: 1fr 1fr;

        &__column {

            &--1 {

                grid-column: 1/ span 2;
                grid-row: 1;

            }

            &--2 {

                grid-column: 1;
                grid-row: 2;

            }

            &--3 {

                grid-column: 2;
                grid-row: 2;

            }

            &--4 {

                grid-column: 1;
                grid-row: 3;

            }

            &--5 {

                grid-column: 2;
                grid-row: 3;

            }

        }

    }

    @media (min-width: breakpoint-min(md)) {

        grid-template-columns: repeat(3, 1fr);

        &__column {

            &--1 {

                grid-column: 1/ span 2;
                grid-row: 1;

            }

            &--2 {

                grid-column: 3;
                grid-row: 1;

            }

            &--3 {

                grid-column: 1;
                grid-row: 2;

            }

            &--4 {

                grid-column: 2;
                grid-row: 2;

            }

            &--5 {

                grid-column: 3;
                grid-row: 2;

            }

        }

    }

    @media (min-width: breakpoint-min(xl)) {

        grid-template-columns: repeat(5, 1fr);

        &__column {

            &--1 {

                grid-column: 2/ span 3;
                grid-row: 1/ span 2;

            }

            &--2 {

                grid-column: 1;
                grid-row: 1;

            }

            &--3 {

                grid-column: 1;
                grid-row: 2;

            }

            &--4 {

                grid-column: 5;
                grid-row: 1;

            }

            &--5 {

                grid-column: 5;
                grid-row: 2;

            }

        }

    }

    &__column {

        display: flex;

    }

    &__inner {

        background: color('white');
        display: flex;
        flex-direction: column;
        flex: 1 0 100%;
        max-width: 100%;

        &:link {

            @include text-underline(none);

        }

        > * {

            flex: 0 0 auto;

        }

    }

    &__content {

        padding: space(2);

    }

    &__title {

        margin: 0;

        + #{$self}__perex {

            margin-top: space(1);

        }

    }

    &__perex {

        margin: 0;

    }

    &__image {

        background-color: color('gray');
        flex-grow: 1;
        position: relative;

        &:before {

            content: '';
            display: block;
            padding-bottom: 65%;

        }

        img {

            font-family: "object-fit: cover; object-position: 50% 50%";
            height: 100%;
            left: 0;
            object-fit: cover;
            object-position: 50%;
            position: absolute;
            top: 0;
            width: 100%;

        }

    }

}

Menu