.tt-icon-box {
    position: relative;
    z-index: 0;
    transition: all 0.3s ease-in-out;
    text-align: center;
    border: 100px solid green;
    &.icon--left, &.icon--right {
        display: flex;
        flex-wrap: wrap;

        .tt-icon-box__icon-container {
            margin-bottom: 0;
        }

        .tt-icon-box__content  {
            flex: 2;
        }
    }

    &.icon--left {
        text-align: left;
        .tt-icon-box__icon-container {
            margin-right: 20px;
        }
    }

    &.icon--right {
        text-align: right;

        .tt-icon-box__icon-container {
            order: 2;
            margin-left: 20px;
        }
    }

    &__icon-container {
        margin-bottom: 30px;
        display: inline-flex;
        flex-wrap: wrap-reverse;
        align-items: baseline;
        font-size: 2em;
        color: $color__theme;
        position: relative;
        transition: transform .3s,border .3s,background .3s,color .3s;
        transition: transform .3s,border .3s,background .3s,color .3s,-webkit-transform .3s;
        height: max-content;

        i, svg, img {
            position: relative;
            display: block;
            width: 1em;
            height: 1em;
            fill: currentColor;
        }
    }

    &__content {
        position: relative;
    }

    &__title {
        font-weight: 600;
        margin-bottom: 7px;
        font-size: 20px;
        transition: all 0.3s ease-in-out;

        a {
            color: $color__heading;

            &:hover {
                color: $color__theme;
            }
        }
    }

    &__description {
        margin: 0;
        transition: all 0.3s ease-in-out;
        
        @media(max-width: 1024px) {
            br {
                display: none;
            }
        }
    }

    &__button {
        display: inline-block;
        margin-top: 20px;
        font-size: 15px;

        i {
            font-size: 90%;
        }

        &:not(.tt-btn) {
            color: $color__heading;
            font-weight: 500;

            &:hover {
                color: $color__theme;
            }
        }
    }

    &__badge {
        position: absolute;
        top: 20px;
        right: 20px;
        font-size: 13px;
        font-weight: 500;
        padding: 6px 17px;
        line-height: 1;
        background-color: rgba($color__theme, 0.2);
        color: $color__theme;
        border-radius: 4px;
        width: max-content;
        height: max-content;
    }

    &.style--one {
        background-color: #ffffff;
        box-shadow: 0 0 29px 0 rgba(0, 0, 0, 0.08);
        border-radius: 5px;
        margin-bottom: 0;
        padding: 45px 40px 35px;
        margin-bottom: 30px;

        .tt-icon-box__title {
            margin-bottom: 10px;
        }
    }

    &.style--two {
        text-align: center;
        border: 1px solid #e6e8ef;
        border-radius: 6px;
        padding: 42px 55px;

        .tt-icon-box__icon-container {
            height: 65px;
            width: 65px;
            line-height: 65px;
            border-radius: 50%;
            font-size: 22px;
            text-align: center;
            background: $color__theme;
            color: #fff;
            display: inline-block;
            margin-bottom: 31px;

            i {
                line-height: 65px;
            }
        }

        .tt-icon-box__title {
            font-size: 24px;
            font-weight: 700;
            margin-bottom: 8px;
        }

        &:hover {            
            border-color: $color__theme;
            background-color: $color__theme;

            &:before {
                opacity: 0;
            }

            .tt-icon-box__icon-container {
                background: #fff;
                color: $color__theme;
            }

            .tt-icon-box__title {
                color: #fff;
            }

            p {
                color: #fff;
            }
        }
    }

    &.style--three {
        border-radius: 6px;
        background-color: #fff;
        box-shadow: 0 1px 2px 0 rgba(8, 2, 51, 0.1);
        padding: 50px 35px 40px 35px;

        .tt-icon-box__icon-container {
            font-size: 36px;
            color: $color__theme;
            margin-bottom: 29px;

            img, svg {
                max-height: 54px;
            }
        }

        .tt-icon-box__title {
            font-size: 24px;
            font-weight: 600;
            margin-bottom: 8px;
        }

        .tt-icon-box__description {
            color: rgba(14, 17, 51, 0.8);
        }

        .tt-btn-link {
            margin-top: 20px;
            font-size: 18px;
            font-weight: 500;
            color: $color__heading;
            display: block;

            i {
                font-size: 20px;
                vertical-align: middle;
                transition: all 0.3s ease-in-out;
            }

            &:hover {
                color: $color__theme;

                i {
                    margin-left: 3px;
                    color: $color__theme;
                }
            }
        }

        &:hover {
            box-shadow: 0 30px 50px 0 rgba(1, 4, 45, 0.08);
        }
    }

    .button-text-wrapper {
        display: flex;
        justify-content: center;
        align-items: center;

        .tt-button-icon {
            line-height: 1;
        }

        .elementor-button-text {
            flex-grow: 1;
            display: inline-block;
            order: 1;
        }

        .tt-align-icon-right {
            order: 2;
        }
    }

    &:hover {
        z-index: 2;
    }

}

.tt-shape-circle {
    .tt-icon-box__icon-container {
        border-radius: 50%;
    }
}

.tt-view-stacked, .tt-view-framed {
    .tt-icon-box__icon-container {
        padding: .5em;
        text-align: center;
    }
}

.tt-view-stacked {
    .tt-icon-box__icon-container {
        background-color: $color__theme;
        color: #fff;
    }
}

.tt-view-framed {
    .tt-icon-box__icon-container {
        border: 2px solid $color__theme;
        color: $color__theme;
    }
}

.tt-shape-rounded {
    .tt-icon-box__icon-container {
        border-radius: 6px;
    }
}


.digi-how-works {
    background-color: #f5f7fc;
    border-radius: 10px;
    position: relative;
    padding: 40px 25px;
    overflow: hidden;
    .dig-how-steps {
        ul {
            li {
                background: rgba(255, 255, 255, 0.8);
                box-shadow: 0 110.121px 88.0972px rgb(0 0 0 / 3%);
                backdrop-filter: blur(64px);
                border-radius: 10px;
                padding: 20px;
                position: relative;
                z-index: 6;
            }
        }
        .shape {
            ul {
                li {
                    position: absolute;
                    background: rgba(255, 255, 255, 0.8);
                    box-shadow: 0 110.121px 88.0972px rgb(0 0 0 / 3%);
                    backdrop-filter: blur(64px);
                    border-radius: 10px;
                    padding: 20px;
                    z-index: 6;
                    &:nth-child(1) {
                        width: 250px;
                        height: 250px;
                        border-radius: 50%;
                        background-color: #ffd08a;
                        top: -88px;
                        left: -103px;
                        z-index: 3;
                    }
                    &:nth-child(2) {
                        width: 195px;
                        height: 195px;
                        border-radius: 50%;
                        background: #52f5d8;
                        z-index: 3;
                        left: -100px;
                        bottom: -90px;
                    }
                    &:nth-child(3) {
                        width: 250px;
                        height: 250px;
                        border-radius: 50%;
                        background-color: #888efe;
                        z-index: 3;
                        right: -122px;
                        top: 39%;
                    }
                }
            }
        }
    }
}
