.is-style-wave-border {
    margin-top: -75px !important;
    mask-image: url('../images/wave_mask_top.png'), url('../images/wave_mask_bottom.png'), url('../images/wave_mask_body.png');
    mask-position: top left, bottom left, center;
    mask-size: 100% 10vw, 100% 10vw, 100% calc(100% - 15vw);
    mask-repeat: no-repeat, no-repeat, no-repeat;
    mask-origin: border-box, border-box, border-box;
    -webkit-mask-origin: border, border, border;
}

.is-style-wave-border-reverse {
    margin-top: -75px !important;
    mask-image: url('../images/wave_mask_top_reverse.png'), url('../images/wave_mask_bottom_reverse.png'), url('../images/wave_mask_body.png');
    mask-position: top left, bottom left, center;
    mask-size: 100% 10vw, 100% 10vw, 100% calc(100% - 15vw);
    mask-repeat: no-repeat, no-repeat, no-repeat;
    mask-origin: border-box, border-box, border-box;
    -webkit-mask-origin: border, border, border;
}

.is-style-wave-border-opposed {
    margin-top: -75px !important;
    mask-image: url('../images/wave_mask_top.png'), url('../images/wave_mask_bottom_reverse.png'), url('../images/wave_mask_body.png');
    mask-position: top left, bottom left, center;
    mask-size: 100% 10vw, 100% 10vw, 100% calc(100% - 15vw);
    mask-repeat: no-repeat, no-repeat, no-repeat;
    mask-origin: border-box, border-box, border-box;
    -webkit-mask-origin: border, border, border;
}

.is-style-wave-border-opposed-reverse {
    margin-top: -75px !important;
    mask-image: url('../images/wave_mask_top_reverse.png'), url('../images/wave_mask_bottom.png'), url('../images/wave_mask_body.png');
    mask-position: top left, bottom left, center;
    mask-size: 100% 10vw, 100% 10vw, 100% calc(100% - 15vw);
    mask-repeat: no-repeat, no-repeat, no-repeat;
    mask-origin: border-box, border-box, border-box;
    -webkit-mask-origin: border, border, border;
}

.is-style-wave-border-bottom {
    margin-top: 0 !important;
    mask-image: url('../images/wave_mask_bottom.png'), url('../images/wave_mask_body.png');
    mask-position: bottom left, top;
    mask-size: 100% 10vw, 100% calc(100% - 7.5vw);
    mask-repeat: no-repeat, no-repeat;
    mask-origin: border-box, border-box;
    -webkit-mask-origin: border, border;
}

.is-style-wave-border-bottom-reverse {
    margin-top: 0 !important;
    mask-image: url('../images/wave_mask_bottom_reverse.png'), url('../images/wave_mask_body.png');
    mask-position: bottom left, top;
    mask-size: 100% 10vw, 100% calc(100% - 7.5vw);
    mask-repeat: no-repeat, no-repeat;
    mask-origin: border-box, border-box;
    -webkit-mask-origin: border, border;
}

.is-style-wave-border-top {
    margin-top: -75px !important;
    mask-image: url('../images/wave_mask_top.png'), url('../images/wave_mask_body.png');
    mask-position: top left, bottom;
    mask-size: 100% 10vw, 100% calc(100% - 7.5vw);
    mask-repeat: no-repeat, no-repeat;
    mask-origin: border-box, border-box;
    -webkit-mask-origin: border, border;
}

.is-style-wave-border-top-reverse {
    margin-top: -75px !important;
    mask-image: url('../images/wave_mask_top_reverse.png'), url('../images/wave_mask_body.png');
    mask-position: top left, bottom;
    mask-size: 100% 10vw, 100% calc(100% - 7.5vw);
    mask-repeat: no-repeat, no-repeat;
    mask-origin: border-box, border-box;
    -webkit-mask-origin: border, border;
}

.is-style-text-on-image {
    @media (min-width: 1024px) {
        margin-right: 100px;
    }
    @media (max-width: 1024px) {
        margin-bottom: 100px !important;
        margin-block-end: 100px !important;
    }

    figure {
        position: relative;
        margin: 0 !important;
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        
        @media (min-width: 1024px) {
            width: calc(100% - 100px);
        }
    }

    & > div {
        position: absolute;
        top: 50%;
        right: 0;
        background-color: rgba(205, 205, 205, 0.7);
        padding: 1.5rem;
        box-sizing: border-box;
        margin-top: 0;
        border-radius: .5rem;
        transform: translateY(-50%);
        
        @media (max-width: 1024px) {
            top: 100px;
            right: 50%;
            transform: translateX(50%);
        }
    }

    @media (max-width: 1024px) {
        margin-right: 0;
    }
}