.block-content-with-media .col-image {
    position       : relative;
    justify-content: center;
    min-height: 300px;
}

.block-content-with-media .image-container {
    justify-content: center;
}

.block-content-with-media .image-container,
.block-content-with-media .image-container a {
    display: flex;
    height : 100%;
    align-items: center;
}

.block-content-with-media .col-content {
    padding-inline: 1em;
}

.block-content-with-media .image-placement-left-bottom .image-container,
.block-content-with-media .image-placement-left-bottom .image-container a,
.block-content-with-media .image-placement-right-bottom .image-container,
.block-content-with-media .image-placement-right-bottom .image-container a {
    align-items: end;
}

.block-content-with-media .col-image img {
    max-width   : 100%;
    height      : auto;
    margin-left : auto;
    margin-right: auto;
    max-height  : 300px;
    min-height  : 300px;
    width       : auto;
    object-fit: contain;
}

.block-content-with-media .image-placement-left .col-content,
.block-content-with-media .image-placement-right .col-content {
    margin-bottom: 0 !important;
}

.block-content-with-media .image-placement-left .col-image,
.block-content-with-media .image-placement-left-bottom .col-image {
    order: -1;
}

.block-content-with-media:has(.image-placement-right-bottom),
.block-content-with-media:has(.image-placement-left-bottom) {
    padding-bottom: 0;
}

.block-content-with-media .block-inner:has(.image-placement-edge) {
    max-width: none;
}

.block-content-with-media:has(.image-placement-right-bottom, .image-placement-right):has(.image-placement-edge) {
    padding-right: 0 !important;
}

.block-content-with-media:has(.image-placement-right-bottom, .image-placement-right):has(.image-placement-edge) .col-content {
    padding-right: 2em;
}

.block-content-with-media:has(.image-placement-left-bottom, .image-placement-left):has(.image-placement-edge) {
    padding-left: 0 !important;
}

.block-content-with-media:has(.image-placement-left-bottom, .image-placement-left):has(.image-placement-edge) .col-content {
    padding-left: 2em;
}

.block-content-with-media .image-placement-edge:is(.image-placement-left-bottom, .image-placement-left) .image-container,
.block-content-with-media .image-placement-edge:is(.image-placement-left-bottom, .image-placement-left) .col-image {
    justify-content: start;
}

.block-content-with-media .image-placement-edge:is(.image-placement-right-bottom, .image-placement-right) .image-container,
.block-content-with-media .image-placement-edge:is(.image-placement-right-bottom, .image-placement-right) .col-image {
    justify-content: end;
}


@media screen and (min-width: 52em) {

    .block-content-with-media .block-inner {
        padding-inline: 5em;
    }

    .block-content-with-media .image-container {
        position: absolute;
        inset: 0;
    }

    .block-content-with-media .image-container img {
        max-height: 100%;
    }

    .block-content-with-media .image-placement-top .image-container img {
        max-height: calc(100% + 6.5em);
    }

    .block-content-with-media .image-placement-top:is(.image-placement-left, .image-placement-right) .image-container img {
        margin-top: -6.5em;
    }

    .block-content-with-media:has(.image-placement-left-bottom, .image-placement-right-bottom) .col-image {
        align-items: end;
    }

    .block-content-with-media:has(.image-placement-left, .image-placement-left-bottom) .image-container {
        left       : 0;
        margin-left: 0;
    }

    .block-content-with-media:has(.image-placement-right, .image-placement-right-bottom) .image-container {
        right       : 0;
        margin-right: 0;
    }

    .block-content-with-media:has(.image-placement-right-bottom, .image-placement-right):has(.image-placement-edge) .block-inner {
        padding-right: 0 !important;
    }

    .block-content-with-media:has(.image-placement-left-bottom, .image-placement-left):has(.image-placement-edge) .block-inner {
        padding-left: 0 !important;
    }
}