.boldr-cta-section {
    position: relative;
    --boldr-cta-overhang: 60%;
}

.boldr-cta-centered {
    max-width: var(--boldr-columns-12);
    margin: 0 auto;
}

.boldr-cta-image {
    position: relative;
}

.boldr-cta-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.boldr-cta-inner {
    margin: 0 auto;
    color: var(--boldr-text-color);
}

@media (min-width: 650px) {
    .boldr-cta-section {
        --boldr-cta-overhang: var(--boldr-spacing-medium);
    }

    .boldr-cta-centered {
        display: flex;
        align-items: stretch;
    }

    .boldr-cta-full-width .boldr-cta-image {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        z-index: -1;
    }

    .boldr-cta-full-width .boldr-cta-inner {
        max-width: var(--boldr-columns-12);
    }

    .boldr-cta-full-width .boldr-cta-content-wrapper,
    .boldr-cta-centered .boldr-cta-inner {
        max-width: var(--boldr-columns-6);
    }

    .boldr-cta-image img {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0;
    }
}

.boldr-cta-overhang .boldr-cta-image {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: -1;
}
.boldr-cta-overhang .boldr-cta-inner {
    max-width: var(--boldr-columns-12);
}

@media screen and (max-width: 649px) {
    .boldr-cta-overhang .boldr-cta-content-wrapper {
        margin-top: var(--boldr-cta-overhang);
    }
    .boldr-cta-overhang .boldr-cta-image {
        max-height: 100vw;
    }
}


@media screen and (min-width: 650px) {
    .boldr-cta-full-width.boldr-cta-right .boldr-cta-content-wrapper {
        margin-left: auto;
    }

    .boldr-cta-centered .boldr-cta-inner {
        flex: 0 0 var(--boldr-columns-6);
    }

    .boldr-cta-centered .boldr-cta-image {
        flex: 1 1 auto;
    }

    .boldr-cta-centered.boldr-cta-left .boldr-cta-image {
        order: 2;
    }
}

.boldr-cta-overhang .boldr-cta-inner {
    padding-top: var(--boldr-spacing-large);
    z-index: 999;
    position: relative;
}
@media screen and (min-width: 650px) {
    .boldr-cta-overhang .boldr-cta-inner {
        transform: translateY(var(--boldr-cta-overhang));
    }
}

.boldr-cta-content-wrapper {
    height: 100%;
    padding: var(--boldr-spacing-medium);
    background: var(--boldr-content-background);
}

.boldr-cta-heading {
    display: block;
    margin-bottom: var(--boldr-spacing-small);
    font-size: var(--boldr-heading-font-size);
    font-family: var(--boldr-heading-font-family);
    font-weight: var(--boldr-heading-font-weight);
}

.boldr-cta-content {
    line-height: var(--boldr-text-line-height);
}

.boldr-cta-content :first-child {
    margin-top: 0;
}

.boldr-cta-content :last-child {
    margin-bottom: 0;
}

.boldr-cta-links a {
    margin-top: var(--boldr-spacing-medium);
}
