.nxt-icon-teaser-element {
    --max-width: 375px;

    --icon-wrapper-size: 120px;
    --icon-space-top: 60px;
    --icon-size: 64px;
    --icon-background: #FF2E08;

    --text-color: #FFFFFF;
    --text-item-title-color: #FF2E08;

    --card-content-pt: 90px;
    --card-content-px: 20px;
    --card-content-pb: 30px;

    --section-section-inner-spc-1x: 16px;

    --typography-headings-h3-font-size: 32px;
    --text-heading-heading-font-weight: 600;
    --typography-headings-h3-line-height: 32.5px;

    --typography-headings-h4-font-size: 24px;
    --typography-headings-h4-line-height: 26.4px;

    --typography-text-text-small-font-size: 16px;
    --typography-text-text-small-line-height: 24px;

    --buttons-actions-margin-top: 40px;

    --typography-headings-h4-mb-small: 12px;
}


@media (max-width: 1024px) {
    .nxt-icon-teaser-element {
        --max-width: 300px;
        --typography-headings-h3-font-size: 28px;
        --typography-headings-h3-line-height: 30.8px;

        --typography-headings-h4-font-size: 20px;
        --typography-headings-h4-line-height: 22px;
    }
}

@media (max-width: 768px) {
    .nxt-icon-teaser-element {
        --max-width: 100%;
        --typography-headings-h3-font-size: 26px;
        --typography-headings-h3-line-height: 28.6px;

        --typography-headings-h4-font-size: 18px;
        --typography-headings-h4-line-height: 19.6px;
    }

    .fusion_builder_column_1_2 .nxt-icon-teaser-element {
        align-self: auto !important;
    }
}

@media (max-width: 550px) {
    .nxt-icon-teaser-element {
        --typography-headings-h3-font-size: 24px;
        --typography-headings-h3-line-height: 26.4px;

        --typography-headings-h4-font-size: 16px;
        --typography-headings-h4-line-height: 17.6px;
    }
}

.fusion_builder_column_1_2 .nxt-icon-teaser-element {
    align-self: end;
}


.fusion_builder_column_1_2 + .fusion_builder_column_1_2 .nxt-icon-teaser-element {
    align-self: start;
}

.nxt-icon-teaser-element {
    position: relative;
    color: var(--text-color);
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: var(--section-section-inner-spc-1x);
    max-width: var(--max-width);
}

.nxt-icon-teaser-element .inner {
    background: var(--background-image);
    padding: var(--card-content-pb) var(--card-content-px) var(--card-content-pb) var(--card-content-px, 20px);
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    gap: var(--section-section-inner-spc-1x);
}


.nxt-icon-teaser-element.has-icon {
    padding-top: var(--icon-space-top);
}

.nxt-icon-teaser-element.has-icon .inner {
    padding: var(--card-content-pt) var(--card-content-px) var(--card-content-pb) var(--card-content-px, 20px);
}

.nxt-icon-teaser-element .icon-wrapper {
    height: var(--icon-wrapper-size);
    width: var(--icon-wrapper-size);
    background: var(--icon-background);
    border-radius: 50%;
    overflow: hidden;

    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);

    display: flex;
    align-items: center;
    justify-content: center;
}

.nxt-icon-teaser-element .icon {
    height: var(--icon-size);
    width: var(--icon-size);
    object-fit: contain;
}

.nxt-icon-teaser-element .inner .title {
    color: var(--text-color);
    text-align: center;

    font-size: var(--typography-headings-h3-font-size) !important;
    font-weight: var(--text-heading-heading-font-weight);
    line-height: var(--typography-headings-h3-line-height) !important;
    margin: 0;
    padding-bottom: var(--typography-headings-h4-mb-small);
}

.nxt-icon-teaser-element .items {
    display: flex;
    flex-direction: column;
    gap: var(--section-section-inner-spc-1x)
}

.nxt-icon-teaser-element .items .item {
    display: flex;
    flex-direction: column;
    text-align: center;
}

.nxt-icon-teaser-element .items .item .item-title {
    color: var(--text-item-title-color);

    font-size: var(--typography-headings-h4-font-size);
    font-style: normal;
    font-weight: 700;
    line-height: var(--typography-headings-h4-line-height);
    margin-bottom: 10px;
}

.nxt-icon-teaser-element .items .item .item-text {
    font-size: var(--typography-text-text-small-font-size);
    font-style: normal;
    font-weight: 400;
    line-height: var(--typography-text-text-small-line-height);
    hyphens: auto;
}

.nxt-icon-teaser-element .button-wrapper {
    margin-top: auto;
}

.nxt-icon-teaser-element .nxt-button-small {
    margin-top: var(--buttons-actions-margin-top);
}