.basic_2cols {
    overflow: hidden;

    .basic_2cols__content {
        display: flex;
        position: relative;
        gap: 60px;

        @media (max-width: 991px) {
            flex-direction: column;

            &.reverse {
                flex-direction: column-reverse;
            }
        }

        @media (min-width: 992px) {
            flex-direction: row;

            &.reverse {
                flex-direction: row-reverse;
            }
        }

        &+.basic_2cols__content {
            margin-top: 80px;
        }

        &:has(.basic_2cols__media.cover) {
            align-items: stretch;

            .basic_2cols__para {
                height: fit-content;

                @media (min-width: 992px) {
                    max-width: 50%;
                }
            }

            .basic_2cols__media {
                flex: 0 0 auto;

                @media (min-width: 992px) {
                    max-width: 48%;
                }

                &.cover {
                    img {
                        -o-object-fit: cover;
                        object-fit: cover;
                    }
                }

                &:not(.cover) {
                    height: 100%;
                }

                img {
                    display: block;
                    -o-object-fit: contain;
                    object-fit: contain;
                    -o-object-position: center;
                    object-position: center;
                    width: 100%;
                }
            }
        }

        .basic_2cols__para {
            position: relative;
            z-index: 3;
            flex: 1;

            >*:first-child {
                margin-top: 0;
            }

            h2,
            h3,
            h4 {
                margin: 16px 0 10px 0;
            }

            p:last-child {
                margin-bottom: 0;
            }

            .section__btn {
                margin: 0px;
            }

            .cta {
                margin-top: 0px !important;
            }
        }

.basic_2cols__media {
            position: relative;
            margin-top: 16px;
            flex: 1;
            display: flex;

            @media (min-width: 768px) {
                margin-top: 0;
            }

            img {
                display: block;
                height: 100%;
                object-fit: contain;
                object-position: center;
                width: 100%;
                border-radius: var(--border-radius);

                @media (max-width: 991px) {
                    max-height: 400px;
                }
            }

            p {
                position: absolute;
                bottom: 0;
                background: var(--grey);
                left: 50%;
                transform: translate(-50%);
                font-family: var(--title-font);
                color: var(--light-blue);
                min-width: 80%;
                border-radius: var(--border-radius) var(--border-radius) 0 0;
                margin: 0;
                font-size: 16px;
                line-height: normal;
                padding: 20px 20px 0 20px;

                @media (min-width: 992px) {
                    font-size: 24px;
                    line-height: 32px;
                    padding: 40px 40px 0 40px;
                }
            }
        }
    }
}