.textimageoverlap-module {
    grid-template-columns: repeat(12, 1fr);
}

.textimageoverlap-module .image-wrapper {
    grid-column: 1 / 9;
    grid-row: 1;
    z-index: 1;
}

.textimageoverlap-module .text-wrapper {
    grid-column: 7 / end;
    grid-row: 1;
    z-index: 2;
}

.textimageoverlap-module.grid-row-reverse .image-wrapper {
    grid-column: 5 / end;
}
.textimageoverlap-module.grid-row-reverse .text-wrapper {
    grid-column: 1 / 7;
}

.textimageoverlap-module.grid-row-reverse .text-wrapper * {
    text-align: right;
}

.text-width-w25 {
    width: 25%;
}
.text-width-w33 {
    width: 33%;
}
.text-width-w50 {
    width: 50%;
}
.text-width-w66 {
     width: 66%;
 }
.text-width-w75 {
    width: 75%;
}
.text-width-w100 {
    width: 100%;
}

/* Default alignment: left for all except w100 */
.textimageoverlap-module .text-module-body > .text-width-w25,
.textimageoverlap-module .text-module-body > .text-width-w33,
.textimageoverlap-module .text-module-body > .text-width-w50,
.textimageoverlap-module .text-module-body > .text-width-w66,
.textimageoverlap-module .text-module-body > .text-width-w75 {
    margin-left: 0;
    margin-right: auto;
}

/* Alignment override for reverse layout: shift to right */
.textimageoverlap-module.grid-row-reverse .text-module-body > .text-width-w25,
.textimageoverlap-module.grid-row-reverse .text-module-body > .text-width-w33,
.textimageoverlap-module.grid-row-reverse .text-module-body > .text-width-w50,
.textimageoverlap-module.grid-row-reverse .text-module-body > .text-width-w66,
.textimageoverlap-module.grid-row-reverse .text-module-body > .text-width-w75 {
    margin-left: auto;
    margin-right: 0;
}

@media(max-width: 991.95px) {
    .textimageoverlap-module {
        grid-template-columns: 1fr;
    }

    .textimageoverlap-module .image-wrapper,
    .textimageoverlap-module.grid-row-reverse .image-wrapper {
        grid-column: 1;
        grid-row: 1;
    }

    .textimageoverlap-module .text-wrapper,
    .textimageoverlap-module.grid-row-reverse .text-wrapper{
        grid-column: 1;
        grid-row: 2;
    }

    .textimageoverlap-module .text-wrapper *,
    .textimageoverlap-module.grid-row-reverse .text-wrapper *{
        text-align: center;
    }
    .text-width-w25,
    .text-width-w33,
    .text-width-w50,
    .text-width-w66,
    .text-width-w75,
    .text-width-w100 {
        width: 100%;
    }
}