.checklist {
    ul {
        padding-left: 0;
        list-style: none;
        text-align: left;
        margin-bottom: 0;
    }

    li {
        position: relative;
        color: $body-color;
        font-family: $body-font;
        font-size: 18px;
        font-weight: 400;
        line-height: 28px;
        padding-left: 40px;


        &:before {
            content: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17 3.33782C15.5291 2.48697 13.8214 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 11.3151 21.9311 10.6462 21.8 10' stroke='%231CA8CB' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M8 12.5C8 12.5 9.5 12.5 11.5 16C11.5 16 17.0588 6.83333 22 5' stroke='%231CA8CB' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
            font-family: $icon-font;
            position: absolute;
            left: 0;
            top: 0px;
            font-size: 32px;
            font-weight: 600;
            color: $theme-color;
            margin-right: 10px;
        }

        &:not(:last-child) {
            margin-bottom: 10px;
        }
    }

    &.mb-45 {
        @include lg {
            margin-bottom: 40px;
        }
    }

    &.style4 {
        ul {
            li {
                &:before {
                    content: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17 3.33782C15.5291 2.48697 13.8214 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 11.3151 21.9311 10.6462 21.8 10' stroke='%2327AE60' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M8 12.5C8 12.5 9.5 12.5 11.5 16C11.5 16 17.0588 6.83333 22 5' stroke='%2327AE60' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
                }
            }
        }
    }

    &.style5 {
        ul {
            li {
                &:before {
                    content: url("data:image/svg+xml,%3Csvg width='25' height='24' viewBox='0 0 25 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.5 1.5C6.65 1.5 2 6.15 2 12C2 17.85 6.65 22.5 12.5 22.5C18.35 22.5 23 17.85 23 12C23 6.15 18.35 1.5 12.5 1.5ZM12.5 21C7.55 21 3.5 16.95 3.5 12C3.5 7.05 7.55 3 12.5 3C17.45 3 21.5 7.05 21.5 12C21.5 16.95 17.45 21 12.5 21Z' fill='%23EB5757'/%3E%3Cpath d='M16.55 17.25L12.5 13.2L8.45 17.25L7.25 16.05L11.3 12L7.25 7.95L8.45 6.75L12.5 10.8L16.55 6.75L17.75 7.95L13.7 12L17.75 16.05L16.55 17.25Z' fill='%23EB5757'/%3E%3C/svg%3E%0A");
                }
            }
        }
    }
}

.mega-hover {
    position: relative;
    overflow: hidden;
    z-index: 2;

    &:after,
    &:before {
        content: "";
        position: absolute;
        pointer-events: none;
        opacity: 1;
        z-index: -1;
    }

    &:before {
        top: 0;
        right: 51%;
        bottom: 0;
        left: 50%;
        background: rgba(255, 255, 255, 0.2);
    }

    &:after {
        top: 50%;
        right: 0;
        bottom: 50%;
        left: 0;
        background: rgba(255, 255, 255, 0.3);
    }

    &:hover {
        &:before {
            left: 0;
            right: 0;
            opacity: 0;
            transition: all 900ms linear;
        }

        &:after {
            top: 0;
            bottom: 0;
            opacity: 0;
            transition: all 900ms linear;
        }
    }
}

.bg-img {
    position: absolute;
    inset: 0;
    height: 100%;
    width: 100%;

    img {
        width: 100%;
        height: 100%;
    }
}

.th-video {
    position: relative;
    border-radius: 10px;

    img {
        border-radius: inherit;
    }

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

.rounded-10 {
    border-radius: 10px;
}

.rounded-20 {
    border-radius: 20px;

    @include sm {
        border-radius: 10px;
    }
}

.btn-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px 30px;
}

.filter-menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
    text-align: center;
    margin-top: -20px;
    margin-bottom: 60px;

    @include lg {
        margin-bottom: 50px;
    }

    @include md {
        margin-top: -10px;
        margin-bottom: 45px;
        gap: 6px;
    }

    .tab-btn {
        background-color: $smoke-color;
        border: none;
        border-radius: 8px;
        padding: 5px 20px;
        font-family: $body-font;
        font-weight: 400;
        font-size: 14px;
        color: $title-color;
        transition: all 0.4s ease-in-out;

        &:hover,
        &.active {  
            background-color: $theme-color; 
            color: $white-color;
        }
    }

    .th-btn {
        border-radius: 8px;
        padding: 15px 30px;
        background-color: $smoke-color;
        color: $body-color;
        min-width: auto;

        &:before {
            background-color: $theme-color;
        }

        &:hover,
        &.active {
            border-color: $theme-color;
            color: $white-color;

            &:before {
                border-radius: 3px;
            }
        }

        @include md {
            padding: 13px 20px;
        }
    }
}

@include lg {
    p {
        &.mb-40 {
            margin-bottom: 35px;
        }

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


.global-image {
    position: relative;
    overflow: hidden;
    border-radius: 40px;

    &:before {
        content: '';
        z-index: 1;
        position: absolute;
        background: $theme-color;
        display: block;
        width: 100%;
        height: 100%;
        border-radius: 40px;
        transform-origin: 100% 50%;
        transform: scaleX(0) translateX(0);
        animation: 1s overlay ease-in-out forwards;
    }

    img {
        width: 100%;
        height: 100%;
        border-radius: 40px;
        animation: 1s .5s loaded cubic-bezier(.49, 0, .5, 1) forwards;
        transform: scale(0.8);
        opacity: 0;
        display: block;
    }
}


@keyframes loaded {
    from {
        transform: scale(0.8);
        opacity: 0;
    }

    to {
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes overlay {
    0% {
        transform: scaleX(0);
    }

    55% {
        transform: scaleX(1);
    }

    100% {
        transform: translateX(-100%);
    }
}

.call-btn {
    display: flex;
    align-items: center;
    gap: 20px;

    .btn-title {
        font-size: 16px;
        color: $white-color;
        font-weight: 500;
    }
}


.mouse-pointer {
    position: fixed;
    top: 50%;
    left: -100px;
    transform: translate(-50%, -50%);
    width: 25px;
    height: 25px;
    pointer-events: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 9999;
    transition-duration: .9s;
    transition-timing-function: cubic-bezier(.19, .94, .336, 1);
    border-radius: 50%;
    background: $theme-color;
    overflow: hidden;

    &:before {
        content: "";
        inset: 3px;
        position: absolute;
        background: $white-color;
        border-radius: inherit;
        border: 1px solid $theme-color;
    }

    .icon {
        color: #fff;
        font-size: 14px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-100%, -50%);
        opacity: 0;
        transition: .4s cubic-bezier(.225, 1, .316, .99);

        i {
            margin: 0px 3px;
        }
    }
}

/* custom-mouse-pointer */



.mouse-pointer.large {
    display: none;
}

.mouse-pointer.small {
    width: 25px;
    height: 25px;
}

.mouse-pointer.right {
    width: 50px;
    height: 50px;
}

.mouse-pointer.right.large .icon {
    opacity: 0;
}

.mouse-pointer.right.large {
    background: transparent !important;
}

.mouse-pointer.zoom,
.mouse-pointer.open {
    width: 80px;
    height: 80px;
}


.mouse-pointer .icon i {
    margin: 0px 3px;
}

.mouse-pointer.right .icon {
    opacity: 1;
    transition-delay: .2s;
}


.touch .mouse-pointer {
    display: none;
}

.mouse-pointer.transparent {
    display: none;
    transition: all 500ms ease;
}

/* custom-mouse-pointer-end */


// .cursor {
//     width: 25px;
//     height: 25px;
//     border-radius: 100%;
//     border: 1px solid $theme-color;
//     transition: all 200ms ease-out;
//     position: fixed;
//     pointer-events: none;
//     left: 0;
//     top: 0;
//     z-index: 999999;
//     transform: translate(calc(-50% + 15px), -50%);

//     &.hover {
//         display: none;
//     }

// }

// .cursor2 {
//     width: 10px;
//     height: 10px;
//     border-radius: 100%;
//     background-color: $theme-color;
//     opacity: .3;
//     position: fixed;
//     transform: translate(-50%, -50%);
//     pointer-events: none;
//     z-index: 999999;
//     transition: width .3s, height .3s, opacity .3s;

//     &.hover {
//         display: none;
//     }
// }