/*-------------------------
    Section Title
-------------------------*/
.section-title-wrapper {
    margin-bottom: 58px;

    .subtitle {
        font-family: var(--body-font);
        font-size: 16px;
        line-height: 20px;
        font-weight: 600;
        color: var(--main-color-one);
        text-transform: uppercase;
        margin-bottom: 18px;
    }

    .section-title {
        font-family: var(--heading-font);
        font-size: 45px;
        line-height: 50px;
        font-weight: 600;
        color: var(--heading-color);
        text-transform: initial;
        margin-bottom: 0;
    }

    .description {
        font-family: var(--body-font);
        font-size: 16px;
        line-height: 38px;
        font-weight: 400;
        color: var(--paragraph-color);
        text-transform: initial;
        margin-top: 18px;
        margin-bottom: 0;

        &.color-02 {
            color: #6B6B6B;
        }
    }

}

.theme-section-title {
    margin-bottom: 70px;

    &.white {
        .subtitle {
            color: var(--main-color-one);
        }

        .title {
            color: $white;
        }

        p {
            color: rgba($white, .7);
        }
    }

    &.black {
        .subtitle {
            color: var(--heading-color);
        }

        .title {
            color: var(--heading-color);
        }

        p {
            color: var(--heading-color);
        }
    }

    .subtitle {
        font-size: 16px;
        line-height: 1.25;
        font-weight: 600;
        text-transform: uppercase;
        display: inline-block;
        margin-bottom: 15px;
        color: var(--main-color-one);
    }

    .title {
        font-size: 45px;
        line-height: 1.34;
        font-weight: 600;
        margin-bottom: 14px;
        position: relative;
        z-index: 0;
        margin-bottom: 0;
    }

    p {
        font-size: 16px;
        line-height: 1.63;
        font-weight: 400;
        margin-bottom: 0;

        &.style-01 {
            margin-bottom: 30px;
        }

        &.max-width {
            max-width: 547px;
        }
    }

    &[style="text-align:left"] {
        .subtitle {
            &.shape {
                justify-content: initial;
            }
        }
    }
}

@keyframes moveInleft {
    0% {
        opacity: 0;
        transform: translateX(-100px);
    }

    80% {
        transform: translateX(10px);
    }

    100% {
        opacity: 1;
        transform: translate(0);
    }
}

@keyframes moveInRight {
    0% {
        opacity: 0;
        transform: translateX(100px);
    }

    80% {
        transform: translateX(-10px);
    }

    100% {
        opacity: 1;
        transform: translate(0);
    }
}

@keyframes dash {
    0% {
        stroke-dashoffset: 1000;
    }

    100% {
        stroke-dashoffset: 0;
    }
}

@keyframes dash {
    0% {
        stroke-dashoffset: 1000;
    }

    100% {
        stroke-dashoffset: 0;
    }
}

.title-shape {
    position: absolute;
    z-index: -1;
    bottom: 0;
    right: 475px;
    object-fit: contain;

    &.style-01 {
        width: 35%;
        right: 155px;
    }

    &.style-02 {
        width: 41%;
        right: 140px;
    }

    &.style-03 {
        bottom: 56px;
        right: 315px;
    }
}

.title-shape.active .path {
    stroke-dasharray: 1000;
    stroke-dashoffset: 0;
    animation: dash 2.5s linear forwards;
}