.sec-title {
    margin-bottom: calc(var(--section-title-space) - 10px);
    margin-top: -0.32em;
    text-transform: capitalize;

    &.sec-title2 {
        span {
            display: inline-block;
            position: relative;
            color: $theme-color;

            &:after {
                content: "";
                height: 14px;
                width: 100%;
                background-image: url("data:image/svg+xml,%3Csvg width='135' height='18' viewBox='0 0 135 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 16C25 3 79 -7 133 16' stroke='%23F93E5E' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E%0A");
                background-size: cover;
                background-repeat: repeat-x;
                background-position: left center;
                position: absolute;
                bottom: -7px;
                left: 0px;
                animation: titleFill 3s linear infinite;
            }
        }
    }
}

.sub-title {
    position: relative;
    font-weight: 500;
    font-size: 16px;
    line-height: 26px;
    font-family: $title-font;
    color: $theme-color;
    margin-bottom: 30px;
    text-transform: capitalize;
    border-radius: 30px;
    padding: 3px 20px;
    display: inline-block;
    margin-top: 0;

    &.style1 {
        background: $theme-color;
        color: $white-color;
    }

    &:before {
        content: "";
        position: absolute;
        inset: 0;
        background: $theme-color;
        opacity: 0.1;
        border-radius: 30px;
        z-index: -1;
    }

    &:has(img) {
        margin-top: 0;
    }

    &.sub-title2 {
        padding: 0;
        display: block;
        color: $title-color;
        margin-top: -0.34em;
        padding-left: 20px;

        &::before,
        &:after {
            content: "";
            position: absolute;
            inset: unset;
            top: 30%;
            height: 10px;
            width: 10px;
            border-radius: 50%;
            background: $theme-color;
            opacity: 1;
        }

        &:before {
            margin-left: -1.2rem;
        }

        &:after {
            margin-left: 7px;
        }
    }

    &.sub-title3 {
        display: inline-block;
        padding: 0 20px;
        color: $title-color;

        &:before,
        &:after {
            position: absolute;
            content: "";
            mask-image: url("../img/icon/dot.svg");
            background-color: $theme-color;
            position: absolute;
            top: 6px;
            left: 0px;
            width: 12px;
            height: 12px;
            opacity: 1;

        }

        &:before {
            border-radius: 0;
        }

        &:after {
            left: unset;
            right: 0px;
        }

        &.style1 {
            padding-right: 0;
            background: transparent;

            &:after {
                display: none;
            }
        }
    }

    &.sub-title4 {
        position: relative;
        font-family: $title-font;
        font-weight: 500;
        font-size: 16px;
        text-transform: capitalize;
        color: $title-color;
        margin-bottom: 25px;

        &.style1 {
            background: transparent;
            padding-left: 65px;

            @include xs {
                padding-left: 40px;
            }

            @media(max-width:450px) {
                padding-left: 0;
            }

            &:before {
                margin-left: 0rem;

                @include vxs {
                    display: none;
                }
            }

            &:after {
                display: none;
            }
        }

        &::before,
        &:after {
            content: "";
            position: absolute;
            top: 48%;
            height: 1px;
            width: 50px;
            opacity: 1;

            @include xs {
                width: 30px;
            }

            @media(max-width:450px) {
                display: none;
            }
        }

        &::before {
            background-color: $theme-color;
            margin-left: -2.5rem;

            @include xs {
                margin-left: -1.3rem;
            }
        }

        &::after {
            background-color: $theme-color;
            margin-left: 10px;
        }
    }


    &.sub-title5 {
        display: inline-block;
        padding: 0 20px;
        color: $title-color;
        text-transform: uppercase;

        &:before,
        &:after {
            position: absolute;
            content: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='11' height='11' stroke='%2370D715'/%3E%3Crect x='3' y='3' width='6' height='6' fill='%2370D715'/%3E%3C/svg%3E%0A");
            background-color: transparent;
            position: absolute;
            top: 0px;
            left: 0px;
            width: 12px;
            height: 12px;
            opacity: 1;

        }

        &:before {
            border-radius: 0;
        }

        &:after {
            left: unset;
            right: 0px;
        }

        &.style1 {
            padding-right: 0;
            background: transparent;

            &:after {
                display: none;
            }
        }
    }

    &.sub-title6 {
        position: relative;
        font-family: $title-font;
        font-weight: 500;
        font-size: 20px;
        margin-bottom: 25px;
        color: $white-color;

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

.box-title {
    font-size: 24px;
    line-height: 1.417;
    font-weight: 600;
    margin-top: -0.32em;

    a {
        color: inherit;

        &:hover {
            color: $theme-color;
        }
    }
}


.sec-text {
    max-width: 623px;
    display: block;
    margin: auto;
}

.sec-text2 {
    font-family: $title-font;
    font-weight: 500;
    max-width: 522px;

    @include lg {
        max-width: 100%;
    }
}

.title-area {
    margin-bottom: calc(var(--section-title-space) - 10px);
    position: relative;
    z-index: 2;

    &.style2 {
        margin-top: -8px;
    }

    .sec-title {
        margin-bottom: 15px;
    }

    .th-btn {
        margin-top: 20px;
        margin-bottom: 10px;
    }
}

hr.title-line {
    margin-top: 0;
    background-color: $border-color;
    opacity: 1;
}

.sec-btn,
.title-line {
    margin-bottom: var(--section-title-space);
}

.shadow-title {
    font-family: $title-font;
    font-size: 74px;
    font-weight: 900;
    line-height: 1;
    background-image: linear-gradient(180deg, rgba(226, 232, 250, 0.7) 0%, rgba(226, 232, 250, 0) 88.54%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
    margin: -0.55em 0 -0.45em -0.25em;

    &.color2 {
        background-image: linear-gradient(180deg, #232C47 0%, rgba(20, 29, 56, 0) 91.15%);
    }

    &.color3 {
        background-image: linear-gradient(180deg, #E0E0E0 0%, rgba(220, 214, 214, 0) 93.75%);
    }
}


@include lg {
    .sub-title {
        margin-bottom: 20px;
    }

    .shadow-title {
        font-size: 64px;
    }

    .title-area,
    .sec-title {
        --section-title-space: 60px;

        &.mb-45 {
            margin-bottom: 36px;
        }

        &.mb-50 {
            margin-bottom: 40px;
        }
    }

    .sec-btn,
    .title-line {
        --section-title-space: 55px;
    }
}

@include md {
    .shadow-title {
        font-size: 60px;
    }

    .title-area,
    .sec-title {
        --section-title-space: 50px;

        &.mb-45 {
            margin-bottom: 35px;
        }
    }

    .sec-btn,
    .title-line {
        --section-title-space: 50px;
    }
}

@include xs {
    .shadow-title {
        font-size: 52px;
    }
}

@include vxs {
    .shadow-title {
        font-size: 40px;
    }
}