/*! elementor - v3.28.0 - 01-04-2025 */

.elementor-widget-icon-box {
    .elementor-icon-box-wrapper {
        display: block;
        text-align: center;
    }

    .elementor-icon-box-icon {
        margin-bottom: var(--icon-box-icon-margin, 15px);
        margin-left: auto;
        margin-right: auto;
    }

    &.elementor-position-left .elementor-icon-box-wrapper,
    &.elementor-position-right .elementor-icon-box-wrapper {
        display: flex;
    }

    &.elementor-position-left .elementor-icon-box-icon {
        display: inline-flex;
        flex: 0 0 auto;
    }

    &.elementor-position-right {
        .elementor-icon-box-icon {
            display: inline-flex;
            flex: 0 0 auto;
        }

        .elementor-icon-box-wrapper {
            flex-direction: row-reverse;
            text-align: end;
        }

        .elementor-icon-box-icon {
            margin-bottom: unset;
            margin-left: var(--icon-box-icon-margin, 15px);
            margin-right: 0;
        }
    }

    &.elementor-position-left {
        .elementor-icon-box-wrapper {
            flex-direction: row;
            text-align: start;
        }

        .elementor-icon-box-icon {
            margin-bottom: unset;
            margin-left: 0;
            margin-right: var(--icon-box-icon-margin, 15px);
        }
    }

    &.elementor-position-top {
        .elementor-icon-box-wrapper {
            display: block;
            flex-direction: unset;
            text-align: center;
        }

        .elementor-icon-box-icon {
            margin-bottom: var(--icon-box-icon-margin, 15px);
            margin-left: auto;
            margin-right: auto;
        }
    }

    .elementor-icon-box-title a {
        color: inherit;
    }

    .elementor-icon-box-content {
        flex-grow: 1;
    }

    .elementor-icon-box-description {
        margin: 0;
    }
}

@media (min-width: 768px) {
    .elementor-widget-icon-box {
        &.elementor-vertical-align-top .elementor-icon-box-wrapper {
            align-items: flex-start;
        }

        &.elementor-vertical-align-middle .elementor-icon-box-wrapper {
            align-items: center;
        }

        &.elementor-vertical-align-bottom .elementor-icon-box-wrapper {
            align-items: flex-end;
        }
    }
}

@media (min-width: -1) {
    .elementor-widget-icon-box {

        &.elementor-widescreen-position-left .elementor-icon-box-wrapper,
        &.elementor-widescreen-position-right .elementor-icon-box-wrapper {
            display: flex;
        }

        &.elementor-widescreen-position-left .elementor-icon-box-icon {
            display: inline-flex;
            flex: 0 0 auto;
        }

        &.elementor-widescreen-position-right {
            .elementor-icon-box-icon {
                display: inline-flex;
                flex: 0 0 auto;
            }

            .elementor-icon-box-wrapper {
                flex-direction: row-reverse;
                text-align: end;
            }

            .elementor-icon-box-icon {
                margin-bottom: unset;
                margin-left: var(--icon-box-icon-margin, 15px);
                margin-right: 0;
            }
        }

        &.elementor-widescreen-position-left {
            .elementor-icon-box-wrapper {
                flex-direction: row;
                text-align: start;
            }

            .elementor-icon-box-icon {
                margin-bottom: unset;
                margin-left: 0;
                margin-right: var(--icon-box-icon-margin, 15px);
            }
        }

        &.elementor-widescreen-position-top {
            .elementor-icon-box-wrapper {
                display: block;
                flex-direction: unset;
                text-align: center;
            }

            .elementor-icon-box-icon {
                margin-bottom: var(--icon-box-icon-margin, 15px);
                margin-left: auto;
                margin-right: auto;
            }
        }
    }
}

@media (max-width: -1) {
    .elementor-widget-icon-box {

        &.elementor-laptop-position-left .elementor-icon-box-wrapper,
        &.elementor-laptop-position-right .elementor-icon-box-wrapper {
            display: flex;
        }

        &.elementor-laptop-position-left .elementor-icon-box-icon {
            display: inline-flex;
            flex: 0 0 auto;
        }

        &.elementor-laptop-position-right {
            .elementor-icon-box-icon {
                display: inline-flex;
                flex: 0 0 auto;
            }

            .elementor-icon-box-wrapper {
                flex-direction: row-reverse;
                text-align: end;
            }

            .elementor-icon-box-icon {
                margin-bottom: unset;
                margin-left: var(--icon-box-icon-margin, 15px);
                margin-right: 0;
            }
        }

        &.elementor-laptop-position-left {
            .elementor-icon-box-wrapper {
                flex-direction: row;
                text-align: start;
            }

            .elementor-icon-box-icon {
                margin-bottom: unset;
                margin-left: 0;
                margin-right: var(--icon-box-icon-margin, 15px);
            }
        }

        &.elementor-laptop-position-top {
            .elementor-icon-box-wrapper {
                display: block;
                flex-direction: unset;
                text-align: center;
            }

            .elementor-icon-box-icon {
                margin-bottom: var(--icon-box-icon-margin, 15px);
                margin-left: auto;
                margin-right: auto;
            }
        }

        &.elementor-tablet_extra-position-left .elementor-icon-box-wrapper,
        &.elementor-tablet_extra-position-right .elementor-icon-box-wrapper {
            display: flex;
        }

        &.elementor-tablet_extra-position-left .elementor-icon-box-icon {
            display: inline-flex;
            flex: 0 0 auto;
        }

        &.elementor-tablet_extra-position-right {
            .elementor-icon-box-icon {
                display: inline-flex;
                flex: 0 0 auto;
            }

            .elementor-icon-box-wrapper {
                flex-direction: row-reverse;
                text-align: end;
            }

            .elementor-icon-box-icon {
                margin-bottom: unset;
                margin-left: var(--icon-box-icon-margin, 15px);
                margin-right: 0;
            }
        }

        &.elementor-tablet_extra-position-left {
            .elementor-icon-box-wrapper {
                flex-direction: row;
                text-align: start;
            }

            .elementor-icon-box-icon {
                margin-bottom: unset;
                margin-left: 0;
                margin-right: var(--icon-box-icon-margin, 15px);
            }
        }

        &.elementor-tablet_extra-position-top {
            .elementor-icon-box-wrapper {
                display: block;
                flex-direction: unset;
                text-align: center;
            }

            .elementor-icon-box-icon {
                margin-bottom: var(--icon-box-icon-margin, 15px);
                margin-left: auto;
                margin-right: auto;
            }
        }
    }
}

@media (max-width: 1024px) {
    .elementor-widget-icon-box {

        &.elementor-tablet-position-left .elementor-icon-box-wrapper,
        &.elementor-tablet-position-right .elementor-icon-box-wrapper {
            display: flex;
        }

        &.elementor-tablet-position-left .elementor-icon-box-icon {
            display: inline-flex;
            flex: 0 0 auto;
        }

        &.elementor-tablet-position-right {
            .elementor-icon-box-icon {
                display: inline-flex;
                flex: 0 0 auto;
            }

            .elementor-icon-box-wrapper {
                flex-direction: row-reverse;
                text-align: end;
            }

            .elementor-icon-box-icon {
                margin-bottom: unset;
                margin-left: var(--icon-box-icon-margin, 15px);
                margin-right: 0;
            }
        }

        &.elementor-tablet-position-left {
            .elementor-icon-box-wrapper {
                flex-direction: row;
                text-align: start;
            }

            .elementor-icon-box-icon {
                margin-bottom: unset;
                margin-left: 0;
                margin-right: var(--icon-box-icon-margin, 15px);
            }
        }

        &.elementor-tablet-position-top {
            .elementor-icon-box-wrapper {
                display: block;
                flex-direction: unset;
                text-align: center;
            }

            .elementor-icon-box-icon {
                margin-bottom: var(--icon-box-icon-margin, 15px);
                margin-left: auto;
                margin-right: auto;
            }
        }
    }
}

@media (max-width: -1) {
    .elementor-widget-icon-box {

        &.elementor-mobile_extra-position-left .elementor-icon-box-wrapper,
        &.elementor-mobile_extra-position-right .elementor-icon-box-wrapper {
            display: flex;
        }

        &.elementor-mobile_extra-position-left .elementor-icon-box-icon {
            display: inline-flex;
            flex: 0 0 auto;
        }

        &.elementor-mobile_extra-position-right {
            .elementor-icon-box-icon {
                display: inline-flex;
                flex: 0 0 auto;
            }

            .elementor-icon-box-wrapper {
                flex-direction: row-reverse;
                text-align: end;
            }

            .elementor-icon-box-icon {
                margin-bottom: unset;
                margin-left: var(--icon-box-icon-margin, 15px);
                margin-right: 0;
            }
        }

        &.elementor-mobile_extra-position-left {
            .elementor-icon-box-wrapper {
                flex-direction: row;
                text-align: start;
            }

            .elementor-icon-box-icon {
                margin-bottom: unset;
                margin-left: 0;
                margin-right: var(--icon-box-icon-margin, 15px);
            }
        }

        &.elementor-mobile_extra-position-top {
            .elementor-icon-box-wrapper {
                display: block;
                flex-direction: unset;
                text-align: center;
            }

            .elementor-icon-box-icon {
                margin-bottom: var(--icon-box-icon-margin, 15px);
                margin-left: auto;
                margin-right: auto;
            }
        }
    }
}

@media (max-width: 767px) {
    .elementor-widget-icon-box {

        &.elementor-mobile-position-left .elementor-icon-box-wrapper,
        &.elementor-mobile-position-right .elementor-icon-box-wrapper {
            display: flex;
        }

        &.elementor-mobile-position-left .elementor-icon-box-icon {
            display: inline-flex;
            flex: 0 0 auto;
        }

        &.elementor-mobile-position-right {
            .elementor-icon-box-icon {
                display: inline-flex;
                flex: 0 0 auto;
            }

            .elementor-icon-box-wrapper {
                flex-direction: row-reverse;
                text-align: end;
            }

            .elementor-icon-box-icon {
                margin-bottom: unset;
                margin-left: var(--icon-box-icon-margin, 15px);
                margin-right: 0;
            }
        }

        &.elementor-mobile-position-left {
            .elementor-icon-box-wrapper {
                flex-direction: row;
                text-align: start;
            }

            .elementor-icon-box-icon {
                margin-bottom: unset;
                margin-left: 0;
                margin-right: var(--icon-box-icon-margin, 15px);
            }
        }

        &.elementor-mobile-position-top {
            .elementor-icon-box-wrapper {
                display: block;
                flex-direction: unset;
                text-align: center;
            }

            .elementor-icon-box-icon {
                margin-bottom: var(--icon-box-icon-margin, 15px);
                margin-left: auto;
                margin-right: auto;
            }
        }

        &.elementor-position-left .elementor-icon-box-icon,
        &.elementor-position-right .elementor-icon-box-icon {
            display: block;
            flex: unset;
        }
    }
}