@mixin responsive-banner
{
    .image-block .bubble
    {
        display: none;
        opacity: 0;
    }

    @include for-at-most-tablets
    {
        padding-top: 0;
        display: flex;
        flex-direction: column-reverse;

        .content
        {
            padding-bottom: steps(4);
            width: 100%;
        }

        .text-block, .image-block
        {
            min-height: 300px;
            position: relative;
        }

        .image-block
        {
            .bubble {
                display: flex;
                position: absolute;
                left: 60%;
                top: -30px;
                z-index: 1;
                opacity: 1;
            }
        }

        .text-block
        {
            p.subheading
            {
                margin-top: steps(1);
            }

            p.action a.button
            {
                margin-top: steps(3);
            }
        }

        .heading-block {
            .bubble-wrapper {
                display: none;
            }
        }
    }

    @include for-phones
    {
        .text-block, .image-block
        {
            min-height: 185px;
        }

        .text-block
        {
            .heading-block
            {
                margin-top: steps(3);

                .heading
                {
                    padding-top: 0;
                    font-size: 18px;
                    line-height: 24px;
                }
            }

            p.text, p.subheading
            {
                font-size: 11px;
                line-height: 13px;
            }

            .heading-block .heading, p.text, p.action
            {
                padding-top: steps(2);
                margin: 0;
            }

            p.action a.button
            {
                min-height: 35px;
                padding: 9px 25px;
                margin: 0;
                font-size: 12px;
                line-height: 17px;
            }
        }
    }
}
