.image-with-text {
    background-color: var(--background-color);

    .image-with-text__container {
        display: flex;
        flex-direction: var(--mobile-layout);
        gap: var(--mobile-gap);
        flex-wrap: nowrap;
        align-items: center;
        justify-content: center;
        padding-top: var(--padding-top);
        padding-bottom: var(--padding-bottom);

        @media screen and (min-width: 768px) {
            flex-direction: var(--desktop-layout);
            gap: var(--desktop-gap);
        }

        .image-with-text__image-container {
            width: 100%;

            @media screen and (min-width: 768px) {
                width: 50%;
            }

            &.image-with-text__image-container--stretch {
                @media screen and (min-width: 768px) {
                    align-self: stretch;
                    margin-right: -1.25rem;
                }
            }

            &.image-with-text__image-container--vertical {
                @media screen and (min-width: 768px) {
                    padding: 40px 0;
                }
            }

            &.image-with-text__image-container--framed {
                @media screen and (min-width: 768px) {
                    padding: 40px;
                }
            }
        }

        .image-with-text__image {
            height: 100%;
            width: 100%;
            object-fit: cover;
        }
    }

    .image-with-text__content {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding: 16px 0;

        @media screen and (min-width: 768px) {
            width: 50%;
            padding: 32px 0 32px 1.25rem;
        }

        div:first-child {
            margin-top: 0;
        }

        .image-with-text__heading-container {
            display: flex;
            align-items: flex-end;
            gap: 8px;
            margin-top: 16px;

            @media screen and (min-width: 768px) {
                margin-top: 8px;
            }

            .image-with-text__heading {
                display: flex;
                align-items: center;
                gap: 8px;
                margin-bottom: 16px;
                font-size: 32px;
                font-weight: 600;
                color: var(--text-primary);
                margin: 0;

                @media screen and (min-width: 768px) {
                    font-size: 42px;
                    line-height: 58px;
                }
            }

            .image-with-text__heading-icon-container {
                height: auto;
                width: 32px;
                object-fit: contain;

                @media screen and (min-width: 768px) {
                    width: 64px;
                    height: auto;
                }

                .image-with-text__heading-icon {
                    height: 100%;
                    width: 100%;
                    object-fit: contain;
                }
            }
        }

        .image-with-text__subheading-container {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-top: 8px;

            @media screen and (min-width: 768px) {
                margin-top: 16px;
            }

            .image-with-text__subheading-icon {
                height: 40px;
                width: 40px;
                object-fit: contain;
            }

            .image-with-text__subheading {
                font-size: 12px;
                font-weight: 500;
                color: var(--brand-primary);
                margin: 0;
                line-height: normal;

                @media screen and (min-width: 768px) {
                    font-size: 14px;
                }
            }

            .image-with-text__subheading-line {
                display: block !important;
                height: 1px;
                width: 20px;
                background-color: var(--brand-primary);
            }
        }

        .image-with-text__subtitle {
            margin-top: 16px;
            font-size: 14px;
            font-weight: 500;
            margin: 8px 0 0 0;
            line-height: normal;

            @media screen and (min-width: 768px) {
                margin-top: 24px;
                font-size: 16px;
                margin: 16px 0 0 0;
            }
        }

        .image-with-text__text {
            margin-top: 8px;
            font-size: 14px;
            font-weight: 400;
            color: var(--text-secondary);

            @media screen and (min-width: 768px) {
                margin-top: 16px;
                font-size: 16px;
                font-weight: 400;
            }

            p {
                margin: 0;
                color: var(--text-secondary);
            }
        }

        .image-with-text__pitch {
            padding: 16px;
            border-left: 3px solid var(--brand-primary);
            background-color: var(--white);
            margin-top: 16px;

            @media screen and (min-width: 768px) {
                margin-top: 36px;
                padding: 36px;
            }

            .image-with-text__pitch-heading {
                font-size: 10px;
                font-weight: 600;
                color: var(--text-primary);
                margin: 0;
                text-transform: uppercase;
                line-height: normal;
                letter-spacing: 2px;

                @media screen and (min-width: 768px) {
                    font-size: 12px;
                }
            }

            .image-with-text__pitch-text {
                margin-top: 8px;
                font-size: 10px;
                font-weight: 400;
                color: var(--text-secondary);

                @media screen and (min-width: 768px) {
                    margin-top: 16px;
                    font-size: 12px;
                    font-weight: 400;
                }

                p {
                    margin: 0;
                    color: var(--text-primary);
                }
            }
        }

        .image-with-text__seperator {
            height: 2px;
            width: 36px;
            background-color: var(--brand-secondary);
            margin-top: var(--margin-top);
            margin-bottom: var(--margin-bottom);
        }

        .image-with-text__list {
            padding: 16px;
            background-color: var(--background-primary);
            width: 100%;

            @media screen and (min-width: 768px) {
                padding: 32px;
            }

            .image-with-text__list-heading {
                font-size: 14px;
                font-weight: 600;
                color: var(--brand-text);
                line-height: normal;
                margin: 0;

                @media screen and (min-width: 768px) {
                    font-size: 16px;
                }
            }

            .image-with-text__list-text {
                margin-top: 8px;
                font-size: 14px;
                font-weight: 400;
                color: var(--text-primary);

                @media screen and (min-width: 768px) {
                    margin-top: 16px;
                    font-size: 16px;
                    font-weight: 400;
                    margin-bottom: 0;
                }
            }

            .image-with-text__list-items {
                ul {
                    margin: 0;
                    list-style: none;
                    padding: 0;

                    li {
                        display: flex;
                        flex-direction: row;
                        border-bottom: 1px solid var(--background-secondary);
                        padding: 8px 0;
                        color: var(--text-secondary);
                        line-height: normal;

                        @media screen and (min-width: 768px) {
                            padding: 16px 0;
                        }

                        &:before {
                            content: '\2192';
                            color: var(--brand-primary);
                            margin-right: 8px;
                            font-size: 14px;
                            font-weight: 900;
                        }

                        &:last-child {
                            border-bottom: none;
                            padding-bottom: 0;
                        }
                    }
                }
            }
        }

        .image-with-text__pro-contra {
            margin-top: 18px;

            .image-with-text__pro-contra-heading {
                font-size: 12px;
                font-weight: 600;
                color: var(--text-primary);
                line-height: normal;
                margin: 0;
                text-transform: uppercase;

                @media screen and (min-width: 768px) {
                    font-size: 14px;
                }
            }

            .image-with-text__pro-contra-content {
                display: flex;
                flex-direction: column;
                gap: 6px;
                margin-top: 8px;

                @media screen and (min-width: 768px) {
                    flex-direction: row;
                    gap: 12px;
                    margin-top: 10px;
                }

                .image-with-text__pro-contra-pro,
                .image-with-text__pro-contra-contra {
                    display: flex;
                    flex-direction: column;
                    gap: 8px;
                    padding: 8px;

                    @media screen and (min-width: 768px) {
                        padding: 16px;
                    }

                    .image-with-text__pro-contra-heading-container {
                        display: flex;
                        align-items: center;
                        gap: 6px;

                        .image-with-text__pro-contra__pro-icon-container,
                        .image-with-text__pro-contra__contra-icon-container {
                            height: 20px;
                            width: 20px;
                            object-fit: contain;

                            @media screen and (min-width: 768px) {
                                height: 24px;
                                width: 24px;
                            }

                            .image-with-text__pro-contra-icon {
                                height: 100%;
                                width: 100%;
                                object-fit: contain;
                            }
                        }

                        .image-with-text__pro-contra-heading {
                            font-size: 12px;
                            font-weight: 600;
                            margin: 0;
                            text-transform: uppercase;
                            line-height: normal;

                            @media screen and (min-width: 768px) {
                                font-size: 14px;
                            }
                        }
                    }

                    .image-with-text__pro-contra-text {
                        p {
                            margin: 0;
                            font-size: 12px;
                            font-weight: 400;
                            color: var(--text-secondary);
                            line-height: 1.8;

                            @media screen and (min-width: 768px) {
                                font-size: 14px;
                                font-weight: 400;
                            }
                        }
                    }
                }

                .image-with-text__pro-contra-pro {
                    background-color: var(--brand-background);
                    border-left: 2px solid var(--brand-primary);

                    .image-with-text__pro-contra-heading {
                        color: var(--brand-text);
                    }
                }

                .image-with-text__pro-contra-contra {
                    background-color: var(--background-red);
                    border-left: 2px solid var(--text-red);

                    .image-with-text__pro-contra-heading {
                        color: var(--text-red);
                    }
                }
            }
        }
    }
}