.insight-our-services {
    display: block;

    &.type-icon {
        .col-icon {
            z-index: 97;

            .icon {
                width: 100%;
                min-height: 255px;
                background-color: #fff;
                color: $color__primary;
                font-size: 100px;
                text-align: center;
                -moz-box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.1);
                -webkit-box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.1);
                box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.1);
                margin-top: -50px;
                position: relative;

                i {
                    position: absolute;
                    top: 50%;
                    left: 50%;
                    transform: translate(-50%, -50%);
                }
            }
        }

        .col-text {
            z-index: 96;

            .text {
                background-color: #f6f7f7;
                padding: 40px 70px;
                min-height: 270px;
                position: relative;

                &:before {
                    content: '';
                    display: block;
                    width: 100px;
                    height: 100%;
                    position: absolute;
                    top: 0;
                    left: -100px;
                    background-color: #f6f7f7;
                }

                .title {
                    font-family: $font__third;
                    font-weight: 400;
                    font-size: 24px;
                    color: #333333;
                    @include transit();
                }

                .content {
                    font-family: $font__main;
                    font-size: 15px;
                    color: #696969;
                    line-height: 1.7;
                    display: block;
                    margin-top: 20px;
                }
            }
        }

        &.style-right {
            .col-icon {
                order: 1;

                .icon {
                    margin-top: 50px;
                }
            }

            .col-text {
                .text {
                    padding: 40px 70px 40px 100px;

                    &:before {
                        left: auto;
                        right: -100px;
                    }
                }
            }
        }

        &.color-white {
            .col-icon {
                .icon {
                    background-color: #fff;
                    color: $color__primary;
                }
            }
        }

        &.color-primary {
            .col-icon {
                .icon {
                    background-color: $color__primary;
                    color: #fff;
                }
            }
        }

        &.color-black {
            .col-icon {
                .icon {
                    background-color: #333333;
                    color: $color__primary;
                }
            }
        }

        &:hover {
            .col-text {
                .text {
                    .title {
                        color: $color__primary;
                    }
                }
            }
        }
    }

    &.type-image {
        @include transit();

        .col-image {
            z-index: 96;
            padding-right: 0;

            img {
                width: 100%;
                height: auto;
                @include grayscale(100%);
            }
        }

        .col-text {
            z-index: 97;

            .text {
                background-color: #fff;
                padding: 40px;

                .title {
                    font-family: $font__third;
                    font-weight: 400;
                    font-size: 24px;
                    color: #333333;
                    position: relative;
                    @include transit();

                    &:before {
                        content: '';
                        width: 60px;
                        height: 1px;
                        background-color: $color__primary;
                        display: block;
                        position: absolute;
                        top: 50%;
                        left: -85px;
                    }
                }

                .content {
                    font-family: $font__main;
                    font-size: 15px;
                    color: #696969;
                    line-height: 1.7;
                    display: block;
                    margin-top: 20px;
                }
            }
        }

        &.style-right {
            .col-image {
                order: 1;
                padding-right: 15px;
                padding-left: 0;
            }

            .col-text {
                text-align: right;

                .title {
                    &:before {
                        left: auto;
                        right: -85px;
                    }
                }
            }
        }

        &:hover {
            -moz-box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.1);
            -webkit-box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.1);
            box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.1);

            .col-image {
                img {
                    @include grayscale(0%);
                }
            }

            .col-text {
                .text {
                    .title {
                        color: $color__primary;
                    }
                }
            }
        }
    }
}

@include media-breakpoint-down(sm) {
    .insight-our-services {
        &.type-icon {
            .insight-our-services-inner {
                .col-icon {
                    order: 0;

                    .icon {
                        margin-top: 0;
                    }
                }

                .col-text {
                    .text {
                        padding: 20px 30px;

                        &:before {
                            display: none;
                        }
                    }
                }
            }
        }

        &.type-image {
            .insight-our-services-inner {
                .col-image {
                    order: 0;
                    padding-left: 15px;
                    padding-right: 15px;
                }

                .col-text {
                    text-align: left;

                    .text {
                        padding: 20px 30px;

                        .title {
                            &:before {
                                display: none;
                            }
                        }
                    }
                }
            }
        }
    }
}